VVC之编码结构

news2025/6/13 18:23:50

VVC之编码结构(新一代通用视频编码的读书笔记)

  • 缩写
  • 概述
  • EncApp
  • main函数解读

缩写

缩写含义
CVSCoded Video Sequence, 编码视频序列
IRAPIntra Random Access Point, 帧内随机接入点
GDRGradual Decoding Refresh, 逐渐解码刷新
AUAccess Unit, 访问单元
PUPicture Unit, 图像单元
CLVSCoded Layer Video Sequence, 编码视频序列层
CTUCoding Tree Unit, 树形编码单元
CTBCoding Tree Block, 树形编码块
VPSVideo Parameter Set, 视频参数集
SPSSequence Parameter Set, 序列参数集
PPSPicture Parameter Set, 图像参数集
PHPicture Header, 图像头
APSAdaptation Parameter Set, 自适应参数集
DCIDecoding Capability Information, 解码能力信息
SEISupplemental Enhancement Information, 附加增强信息
PTLProfile, Tier and Level
ALF子适应环路滤波
LMCS亮度映射与色度缩放

概述

每个PU包含且仅包含一幅完整图像的编码数据。
当一个AU包含多个PU时,每个PU可以是特定质量或分辨率(可分级视频流)图像,也可以是多视点视频的某一视点,以及深度、反射率等属性信息。因此,AU中的不同PU被归属为不同的层(Layer)。
在这里插入图片描述
参数集是一个独立的数据单位,它包含视频不同层级编码单元的共用信息。

  • VPS:PU间相互依赖关系,哪些PU解码图像可以输出之类的。主要用来支持分层编码。
  • SPS:一个CVS中所有图像共用的信息,如档次级别,编码工具开关标志等。
  • PPS:一幅图像所有Slice的共用信息。
  • APS:包含类似图像头信息或者Slice头信息,会被一幅图像的多个Slice或不同图像的Slice使用。
  • DCI:包含PTL信息,用于编码流的会话协商。
  • SEI:视频内容的附加信息,不影响解码过程。

在这里插入图片描述
Tile:一幅图像可以划分为若干个Tile,即从水平方向和垂直方向将一幅图像分割成若干个矩形区域,一个矩形区域就是一个Tile。每个Tile包含整数个CTU,可以独立解码。划分Tile的主要目的是在增强并行处理能力的同时又不引入新的错误扩散。

Tile提供比CTB更大程度的并行,在使用期间无须进行复杂的线程同步(这个没看懂)。

EncApp

主体编码代码模块,定义了编码时的输入输出和编码器。
成员函数:创建编码器,初始化,销毁编码器,文件写入写出及一些在编码时需要用的功能函数。
在这里插入图片描述

main函数解读

在这里插入图片描述
创建EncoderApp类,EncoderApp中定义了输入输出编码器等。
在这里插入图片描述
创建编码器。

poc:“Picture Order Count”,即图像序列编号或图片的序号。在视频编码(如H.266/VVC)中,POC通常用于表示每个图像帧(或场)在图像序列中的顺序编号,同时也可以作为参考图像(Reference Picture)的选择依据。

在这里插入图片描述
和EncApp.cpp中👇
在这里插入图片描述
和Enclib.cpp中👇
在这里插入图片描述

开始编码视频序列

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/412227.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

5.3 定积分的换元积分法和分部积分法

学习目标: 学习定积分的换元积分法和分部积分法,我会采取以下步骤: 熟悉基本概念和公式:首先,要对定积分、换元积分法和分部积分法有基本的理解,并掌握它们的基本公式和性质。 学习经典例题:找…

OSPF(开放式最短路径优先协议)简介

一.OSPF协议原理简介 二.OSPF协议特点 三.OSPF区域 1.OSPF区域划分作用 2.OSPF 区域划分方式:基于接口(链路)划分区域 3.OSPF 区域标识: 最终归结为32个二进制 4.区域分类: 便于区域设计 5.OSPF 路由器角色: 四.OSPF简单配…

Spring项目创建与 Spring Bean 的存储与读取

目录 一、创建Spring项目 1.1 创建Maven项目 1.2 添加 Spring 框架依赖 1.3 添加启动类 二、Bean对象的创建与存储 2.1 创建Bean 2.2 将Bean注册到容器 2.3 获取并使用Bean对象 2.3.1 创建Spring上下文 2.3.2 从Spring容器中获取Bean对象​编辑 延申(多种…

开放式耳机新巅峰!南卡OE Pro兼备澎湃音质、舒适佩戴、创新设计

众所周知,当初苹果带来TWS耳机新时代以后,后面有许多的蓝牙耳机相继跟随和模仿,但NANK南卡却独辟蹊径,将在近日重磅推出首款0压无感全开放无线耳机——南卡OE Pro,走向开放式TWS耳机的新时代。 31度黄金倾斜受力面&…

BGP策略实验

实验要求: 1、使用PreVa1策略,确保R4通过R2到达192.168.10.0/24 2、使用AS_Path策略,确保R4通过R3到达192.168.11.0/24 3、配置MED策略,确保R4通过R3到达192.168.12.0/24 4、使用Local Preference策略,确保R1通过R2到…

有人靠ChatGPT 狂赚200W !有人到现在,连账号都没开通......

作者| Mr.K 编辑| Emma来源| 技术领导力(ID:jishulingdaoli)互联网风水轮流转,当初元宇宙盛极一时之际,在一些知识付费平台上,任何一个关于元宇宙的课程或培训,都很热销,有一定号召力的博主,登…

【JS】1651- 10 个 JS 中 try...catch 使用技巧

作为一位 Web 前端工程师,JavaScript 中的 try...catch 是我们常用的特性之一。本文我将分享 10 个有用的 try...catch 使用技巧,让你在处理异常时更加得心应手。1. 捕获所有异常如果你想捕获代码中所有可能的异常,可以使用一个不带参数的 ca…

对标ChatGPT的开源中文方案

目录 前言 一、Meta发布大语言模型LLaMA 二、斯坦福基于 Meta 的 LLaMA 7B 模型微调出Alpaca 三、基于TencentPretrain训练中文LLaMA大规模语言模型 四、基于斯坦福Alpaca训练中文对话大模型BELLE 五、 清华开源项目ChatGLM中文对话模型 六、基于LLaMA的开源中文语言模型…

SpringBoot整合xxl-job详细教程

SrpingBoot整合xxl-job,实现任务调度说明调度中心执行器调试整合SpringBoot说明 Xxl-Job是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。Xxl-Job有…

三菱PLC GX Work2学习笔记

Programmable Logic Controller 1 指令集 1.1 触点指令 指令名称指令示例图示常开触点LDLD X01常闭触点LDILDI X12输出线圈OUTOUT Y03或常开触点OROR X33或常闭触点ORIORI X33置位SETSET Y03复位RSTRST Y03区域复位ZRSTZRST Y0 Y53上升沿LDPLDP X03下降沿LDFLDF X13结果上升…

vue项目使用electron打包成桌面应用

学习关键语句 使用electron打包vue项目 electron制作桌面应用 写在前面 很想使用 electron 制作一个桌面应用,但是真的上手使用的时候才发现 electron 的坑实在是太多了 先将遇到的坑记录在这里,遇到一个记录一个 使用 9 以上版本的 vue-i18n 的项目打…

有哪些适合学生党或打工人的AI工具?

以下是一些适合学生党或打工人使用的AI工具: 1. Grammarly:用于检查语法和拼写错误的AI写作助手。 2. Duolingo:一款免费的AI语言学习应用程序,适合学习不同语言。 3. Quizlet:一种在线学习工具,用于创建、…

FE_CSS 复合选择器 元素显示模式 CSS背景

1 CSS 的复合选择器 1.1 后代选择器 后代选择器又称为包含选择器,可以选择父元素里面子元素。其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。 元素1 元素2 {…

MyBatis多表查询+动态sql

文章目录MyBatis多表查询1. 多表一对一查询2. 多表一对多动态SQL1.\<if\>标签2.\<trim\>标签3. \<where\>标签4.\<set\>标签5. \<foreach\>标签MyBatis多表查询 在全局配置文件中中设置MyBatis执行日志 mybatis:configuration:log-impl: org.a…

如何使用手机远程锁定电脑?

​“有时我已经到家了&#xff0c;却忘记锁上我的公司的电脑。每次我都害怕我电脑上的数据丢失。我可以在手机上远程锁定我的Windows计算机以避免这个问题吗&#xff1f;” 答案是肯定的&#xff01;很多人可能会遇到同样的下班不锁电脑的问题&#xff0c;有的人可能尝…

AOP执行顺序

AOP执行顺序 下面是个人的一点总结&#xff01;理解可能存在欠缺欢迎批评指正 1.AOP相关概念 Aspect&#xff1a;切面&#xff0c;由连接点和增强组成的。Aspect注解进行标识。Join point&#xff1a;连接点。代表一次方法的执行。Advice&#xff1a;增强。在连接点执行的操作。…

微服务+springcloud+springcloud alibaba学习笔记【Eureka服务注册中心】(3/9)

Eureka服务注册中心 3/91、服务注册与发现1.1 什么是服务治理&#xff1a;1.2 什么是服务注册与发现&#xff1a;1.3 Eureka服务注册与发现2、单机版eureka2.1 创建module2.2改pom依赖2.3写yml配置文件:2.4主启动类2.5 修改服务提供者 cloud-provider-payment8001 模块&#xf…

软件测试工作主要做什么

随着信息技术的发展和普及&#xff0c;人们对软件的使用越来越普及。但是在软件的使用过程中&#xff0c;软件的效果却不尽如人意。为了确保软件的质量&#xff0c;整个软件业界已经逐渐意识到测试的重要性&#xff0c;也有越来越多的小伙伴加入了软件测试这个行业中来。软件测…

微积分——极值定理的证明

1. 提出问题 极值定理(The Extreme Value Theorem)最初是由捷克数学家波尔查诺(Bernard Bolzano(1781年10月5号-1848年11月18号), 他是一位意大利血统的波希米亚数学家、逻辑学家、哲学家、神学家和天主教神父&#xff0c;也以其自由主义观点而闻名)证明&#xff0c;在1830年代…

基于t-SNE的Digits数据集降维与可视化

基于t-SNE的Digits数据集降维与可视化 描述 t-SNE(t-分布随机邻域嵌入)是一种基于流形学习的非线性降维算法&#xff0c;非常适用于将高维数据降维到2维或者3维&#xff0c;进行可视化观察。t-SNE被认为是效果最好的数据降维算法之一&#xff0c;缺点是计算复杂度高、占用内存…