当前位置: 首页 > news >正文

VVC之编码结构

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中👇
在这里插入图片描述

开始编码视频序列

相关文章:

VVC之编码结构

VVC之编码结构(新一代通用视频编码的读书笔记) 缩写概述EncAppmain函数解读 缩写 缩写含义CVSCoded Video Sequence, 编码视频序列IRAPIntra Random Access Point, 帧内随机接入点GDRGradual Decoding Refresh, 逐渐解码刷新AUAccess Unit, 访问单元PUP…...

FPGA基于SFP光口实现10G万兆网UDP通信 10G Ethernet Subsystem替代网络PHY芯片 提供工程源码和技术支持

目录 1、前言2、我这里已有的UDP方案3、详细设计方案4、vivado工程详解5、上板调试验证并演示6、福利:工程代码的获取 1、前言 目前网上的fpga实现udp基本生态如下: 1:verilog编写的udp收发器,但不带ping功能,这样的代…...

Linux Redis主从复制 | 哨兵监控模式 | 集群搭建 | 超详细

Linux Redis主从复制 | 哨兵监控模式 | 集群搭建 | 超详细 一 Redis的主从复制二 主从复制的作用三 主从复制的流程四 主从复制实验4.1 环境部署4.2 安装Redis(主从服务器)4.3 修改Master节点Redis配置文件 (192.168.163.100)4.4 修改Slave节点Redis配置…...

整柜海运到美国的规格和收费标准是什么

整柜海运是指将所有货物安装在一个整箱内,由发货人和收货人共同操作,而目的港的收货人一般只有一个,方便操作。整柜海运到美国的主要流程有以下几个步骤:订舱、装柜、报关、海运、清关、提柜和送货。实际上,国际物流出…...

Session和Cookie区别介绍+面试题

Session 会话: 对应的英文单词:session用户打开浏览器,进行一系列操作,然后关闭浏览器。整个过程叫做一次会话一个会话包含多次请求 session机制属于B/S结构的一部分,主要的作用就是为了保存会话状态。(用户登录成功后…...

easyx

普通的画线图什么的 首先我们需要安装一个easyx的图形库&#xff0c;然后把头文件搞出来 #include <stdio.h> #include <easyx.h>//easyx画线啥啥的图形库 #include <graphics.h> #include <math.h> #include <conio.h>//键盘操作的头文件 设…...

记一次科学

华为云与Centos8 华为云99元Hongkong的服务器&#xff1a;1M&#xff0c;1C&#xff0c;2G&#xff0c;40G&#xff0c;自带不可更改的Centos 8.2 64bit 华为yum源不可以&#xff0c;网上找了可用的CentOS8 官方源不支持后配置yum源 # 备份 mv /etc/yum.repos.d/CentOS-Base…...

亚马逊被人差评了怎么办?

第一种&#xff1a; 也是最简单的做法就是通过电话或者邮件联系留差评的买家&#xff0c;大致意思就是按照货值的2-3倍作为赔偿&#xff0c;能不能把差评给删了 赔偿一个普通产品2-3倍的价格比起找服务商删一个差评几百到一千不等可以说是绰绰有余了&#xff0c;碰到那种愿意…...

【目标检测】YOLOv5:修改自己的网络结构

前言 YOLOv5就像一座金矿&#xff0c;里面有无数可以学习的东西。之前的博文一直将YOLOv5当作一个黑盒使用&#xff0c;只考虑模型的输入和输出&#xff0c;以此来对模型进行二次开发。 本篇博文将更近一层&#xff0c;深入到“金矿”内部&#xff0c;来尝试对模型结构进行替换…...

spring boot 工程整合mongodb,遇到的坑

首先说一下背景&#xff0c;因为其他的一个web工程有使用mongo&#xff0c;我想着给另外一个工程把mongo也加过来吧。也是最近做一个发送 丘比特信 的需求&#xff0c;觉得这个信应该是存到 mongodb。结果拿过来遇到了很大的坑&#xff0c;也是对版本对原理不了解吧。 下面介…...

防抖函数(最全 最干净 最好理解)

1.应用场景 1.input输入框 输入远程查询 2.邮箱&#xff0c;手机号验证&#xff0c;用户名验证 3.resize等高评率场景 2.解决问题 高频场景带来的重复渲染 等问题 多次操作 只在操作结束后再执行操作函数 3.具体实现 3.1this问题&#xff08;因为settimeout是window的对…...

王小川,才是深「爱」李彦宏的那个人?

在推出中国首个类ChatGPT产品「文心一言」后&#xff0c;李彦宏在接受专访时断言&#xff0c;中国基本不会再出一个OpenAI了&#xff0c;「创业公司重新做一个ChatGPT其实没有多大意义&#xff0c;基于大语言模型开发应用机会很大&#xff0c;没有必要再重新发明一遍轮子。」 听…...

南京邮电大学通达学院2023《电子装配实习》报告

南京邮电大学通达学院2023《电子装配实习》报告 一 声明二 题目/实习报告提示三 例答 红笺寄 休遣玉人知 ——赠nmy 一 声明 南京邮电大学通达学院2023《电子装配实习》报告 答案更新时间:2023.04.10&#xff0c;已更新完成&#xff0c;如无错误不在更新 由于作者解答能力有限…...

Linux--tty

Linux 终端(TTY) TTY 是 Teletype 或 Teletypewriter 的缩写&#xff0c;原来是指电传打字机&#xff0c;后来这种设备逐渐键盘和显示器取代。不管是电传打字机还是键盘显示器&#xff0c;都是作为计算机的终端设备存在的&#xff0c;所以 TTY 也泛指计算机的终端(terminal)设…...

一位女程序员的自述:我是如何成为前端工程师的

今天&#xff0c;我想和大家分享一下我的职场经历&#xff1a;我是如何成为一名前端工程师的&#xff0c;以及我为什么会选择这个职业。此外&#xff0c;大家比较关心的是我们为什么要出国工作呢&#xff1f;也是想给自己的职业生涯做一个阶段性的总结&#xff0c;尤其是作为一…...

C++命名空间详解

1.什么是命名空间 在c中&#xff0c;名称&#xff08;name&#xff09;可以是符号常量、变量、函数、结构、枚举、类和对象等等。工程越大&#xff0c;名称互相冲突性的可能性越大。另外使用多个厂商的类库时&#xff0c;也可能导致名称冲突。为了避免&#xff0c;在大规模程序…...

HDMI EDID概念梳理

EDID概念梳理&#xff1a; EDID数据格式&#xff1a; EDID包含两个部分&#xff0c;基本的EDID只有128个字节&#xff0c;还有128字节的扩展EDID&#xff0c;扩展部分不是必须有的。那通常电视都有扩展EDID。那EDID的详细定义在规范里面都可以找到&#xff0c;主要有以下几部分…...

Android端推送消息之极光推送

推送方式 轮询 --实现方式: 周期性主动获取网络中的数据; --缺点: 费电, 费流量; SMS --实现方式: 服务器端向手机端发送短信, 手机监听短信广播, 将拦截的短信信息进行显示; --优点: 省电, 省流量, 在没有网络的偏远地点也能接收到推送消息; --缺点: 费钱, 一毛钱一条;…...

2023测试工程师全新技术栈,吃透这些,起薪就15k

相信每个准备软件测试面试的同学&#xff0c;不管你是大学刚毕业&#xff0c;满心憧憬着进入公司实习、非计算机行业转行软件测试、自学测试就业还是培训后就业&#xff0c;都会面临着众多的疑问和不解&#xff0c;那就是该怎么走出着第一步&#xff0c;今天本文一次性告诉你&a…...

十、CNN卷积神经网络实战

一、确定输入样本特征和输出特征 输入样本通道数4、期待输出样本通道数2、卷积核大小33 具体卷积层的构建可参考博文&#xff1a;八、卷积层 设定卷积层 torch.nn.Conv2d(in_channelsin_channel,out_channelsout_channel,kernel_sizekernel_size,padding1,stride1) 必要参数&a…...

《热江手游》千人跨服战 + 自由交易,老玩家直呼真香!

《热江手游》手游来袭&#xff0c;正版授权 1:1 复刻经典&#xff0c;剥离冗余氪金系统&#xff0c;回归 MMO 最本真的乐趣 —— 无 VIP 碾压、无强制付费&#xff0c;所有极品道具全靠打&#xff0c;零氪玩家也能凭实力登顶江湖&#xff01;​ 无论是泫勃派、南林等标志性地图…...

低成本DIY智能小车核心模块:用STM32和TB6612实现带编码器的定速巡航功能

低成本DIY智能小车核心模块&#xff1a;用STM32和TB6612实现带编码器的定速巡航功能 周末在工作室调试新做的智能小车时&#xff0c;突然意识到一个有趣的现象&#xff1a;当我们给电机设定固定转速后&#xff0c;实际速度总会因为电池电压波动、负载变化等因素产生偏差。这让…...

乳腺癌治疗新思路:除了ER/PR/HER2,你的单细胞数据里还藏着哪些靶点?(附PLK1抑制剂案例)

乳腺癌精准治疗新靶点&#xff1a;单细胞数据驱动的PLK1抑制剂开发路径 当临床医生面对三阴性乳腺癌患者时&#xff0c;传统分子分型往往无法提供足够的治疗指引。最新单细胞测序技术揭示&#xff0c;在ER/PR/HER2这些经典标志物之外&#xff0c;肿瘤微环境中还隐藏着更具临床价…...

实测Claude Opus 4.6:编码全流程适配,研发效率提升25%的实操技巧

实测Claude Opus 4.6&#xff1a;编码全流程适配&#xff0c;研发效率提升25%的实操技巧 一、Claude Opus 4.6核心能力定位与实测背景 Claude Opus是Anthropic推出的旗舰级大模型&#xff0c;4.6版本在长文本理解、代码逻辑推理、多语言兼容性三个维度做了针对性升级。本次实测…...

飞书文档全流程备份终极方案:从手动操作到自动化管理的完美转型

飞书文档全流程备份终极方案&#xff1a;从手动操作到自动化管理的完美转型 【免费下载链接】feishu-doc-export 项目地址: https://gitcode.com/gh_mirrors/fe/feishu-doc-export 价值定位&#xff1a;破解企业文档管理的三大核心痛点 &#x1f4ca; 在数字化办公日益…...

CosyVoice CPU运行效率优化实战:从原理到性能调优

最近在做一个实时语音处理的项目&#xff0c;用到了CosyVoice这个框架。项目上线初期&#xff0c;发现服务在CPU上的表现不太理想&#xff0c;尤其是在处理并发语音流时&#xff0c;CPU占用率经常飙高&#xff0c;处理延迟也时高时低&#xff0c;很不稳定。经过一番排查和优化&…...

从One-Hot到Embedding:一文读懂NLP中的词向量进化史

从One-Hot到Embedding&#xff1a;一文读懂NLP中的词向量进化史 在自然语言处理&#xff08;NLP&#xff09;的发展历程中&#xff0c;如何有效地表示单词一直是核心挑战之一。早期的计算机科学家们发现&#xff0c;要让机器理解人类语言&#xff0c;首先需要解决"词如何数…...

SDMatte镜像轻量化:去除冗余依赖、多阶段构建、镜像体积压缩至3.2GB

SDMatte镜像轻量化&#xff1a;去除冗余依赖、多阶段构建、镜像体积压缩至3.2GB 1. 项目背景与挑战 SDMatte是一款面向高质量图像抠图的AI模型&#xff0c;特别擅长处理复杂边缘和半透明物体的抠图任务。在电商、设计、内容创作等领域有着广泛的应用场景。然而&#xff0c;原…...

JSONModel终极指南:iOS开发者的自动数据映射神器

JSONModel终极指南&#xff1a;iOS开发者的自动数据映射神器 【免费下载链接】jsonmodel 项目地址: https://gitcode.com/gh_mirrors/jso/jsonmodel JSONModel是一个强大的iOS数据建模框架&#xff0c;能够快速创建智能数据模型并自动映射JSON数据。作为iOS开发者的终极…...

lvgl有哪些布局?

LVGL 提供了多种布局方式&#xff0c;帮助你高效组织界面元素&#xff0c;避免手动计算坐标。在 v8.2.0 中&#xff0c;主要有以下几种布局方法&#xff1a;1. 绝对定位&#xff08;手动设置坐标&#xff09; 最基础的方式&#xff0c;通过 lv_obj_set_pos(obj, x, y) 直接指定…...