H264 编码标准常见术语解释

H264 编码标准

H.264编码标准,也被称作MPEG-4 AVC(Advanced Video Coding),是一种被广泛使用的数字视频压缩标准,由国际电信联盟(ITU-T)和国际标准化组织(ISO)共同开发。这个标准旨在提供比以往视频编解码技术更高的数据压缩率,同时保持或提升视频质量。

H.264的主要特点包括:

  • 高压缩率:H.264能够在保持高质量的视频输出的同时,显著减少所需的数据量。

  • 多种编解码工具:包括帧内预测、帧间预测、变换编码、量化和熵编码等。

  • 灵活性:支持多种分辨率和帧率,适用于不同的网络条件和应用场景。

  • 网络友好性:设计时考虑了网络传输,具有良好的网络亲和性。

  • 分层结构:H.264的码流结构分为视频编码层(VCL)和网络抽象层(NAL),其中VCL负责视频内容的核心压缩,NAL负责数据的封装和传输。

  • 错误恢复机制:提供了解决网络传输中丢包等问题的工具。

  • 可扩展性:通过使用不同的配置文件和级别,H.264可以适应不同的应用需求。

  • 广泛应用:适用于视频会议、流媒体、数字电视、视频点播等多种应用。

  • 多视图视频编码(MVC):H.264的一个扩展,支持3D视频编码。

  • 约束基线配置文件:专为资源受限的环境设计,如移动设备。

H.264的应用:

  • 视频流媒体服务:如YouTube、Netflix等。
  • 视频监控系统:提供高质量的实时视频传输。
  • 数字电视和广播:包括卫星电视和有线电视。
  • 视频会议系统:支持高质量的视频通信。
  • 移动设备:用于录制和播放视频。

H.264的局限性:

  • 尽管H.264是一个强大的标准,但它也有一些局限性,特别是在处理高分辨率视频时。随着4K和8K视频的普及,H.264的后继标准HEVC(H.265)被开发出来,以提供更高的压缩效率

H264编码标准框架

在这里插入图片描述

H264编码标准中常见术语

术语解释
帧frame 和 场field一帧包含一个亮度矩阵采样点和两个对应的色度矩阵采样点,一帧包含两个场,即顶场top field 和底场 bottom field
条带组 slice group图像中宏块或宏块对的子集
条带slice特定条带组内部按照光栅扫描顺序排列的整数个宏块或宏块对
宏块MB,macroblock一个16x16的亮度采样点和相应的两个色度采样点
I帧/P帧/B帧编码帧类型,I帧帧内参考,P帧单向参考,B帧双向参考
比特流bitstream码流,表示编码图像及其相关数据
语法元素syntax element比特流中表示数据的元素
图像picture场或帧的通称
图像序号POC,Picture Order Count一个变量,随着图像位置在输出顺序上的递增具有非递减的值,对解码非常有用
AC/DC系数DC为 频率索引均为0的变换系数,即一个系数矩阵中坐标为(0, 0)处的系数,其余都为AC系数
编码图像缓存区CPB,Coded Picture Buffer保存编码图像队列缓存区
解码图像缓存区DPB,Decoded Picture Buffer保存解码图像的队列缓存区
List0/List1List0为前向参考帧列表,List1为后向参考帧列表
跳过的宏块skiped marcroblock宏块类型,表明宏块除了以“跳过”方式解码外没有任何数据被编码的宏块
宏块位置宏块在图像中的二维位置,以(x,y)表示,图像中左上角位置的宏块,其位置(x,y)等于(0, 0)
运动估计运动估计是视频编码中的一项关键技术,特别是在基于块的混合编码框架中,如H.264/AVC标准。它利用视频序列中连续帧之间的时间冗余来进行压缩
运动矢量MV是一个二维向量,表示在连续两帧中,某个像素块从一帧移动到另一帧的位置变化
变换从像素域转到频域
量化一种减少数据量的重要技术,它通过减少表示图像或视频帧的数据的精度来实现压缩
CAVLC熵编码的一种,基于上下文的自适应可变长编码
CABAC熵编码的一种,基于上下文的自适应二进制算术编码
RDO,Rate Distortion Optimization率失真优化
FMO,flexible macroblock ordering灵活宏块重排
网络抽象层,NAL,Network Abstraction Layer一个语法结构,包含编码后续数据的类型指示和所包含的字节数,数据以RBSP形式出现
原始字节序列载荷,RBSP,Raw Byte Sequence Payload语法结构,包含整个封装于NAL单元中的字节
数据比特串,SODB,String of Data Bit表示语法元素的若干比特位的序列
图像参数集,PPS,picture parameter set语法结构,包含应用于0个或多个编码图像的语法元素
序列参数集,SPS,sequence parameter set语法结构,包含应用与0个或多个完整编码视频序列的语法元素
码率控制编码过程中码率控制方法
码率编码过程中每秒产生的比特数
帧率fps每秒的图像数量
GOP,Group of Pictures是视频流中一段连续的帧的集合,这些帧可以独立于视频流的其他部分进行解码
zigzag扫描在DCT之后,为了进一步压缩数据,变换后的系数通常会按照特定的模式重新排列,这种模式就是所谓的“zigzag扫描”或“zigzag排列”。Zigzag扫描的基本思想是将DCT系数按照从低频到高频的顺序重新组织,从而使得人类视觉系统不敏感的高频系数集中在一起,便于后续的量化和熵编码。
亚像素,Sub-pixel指小于一个像素单位的精度。在H.264/AVC等视频压缩标准中,亚像素技术用于提高运动估计和补偿的精度,从而提高编码效率和视频质量

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

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

相关文章

如何确定IP地址的地理位置

IP地址的地理位置确定是一个复杂而精细的过程,它结合了多种技术与方法来推断或确定设备在网络中的大致物理位置。以下是对IP地址地理位置确定过程的详细解释: 首先,我们要理解IP地址本身并不能直接反映物理位置信息。IP地址主要是用于在网络中…

vscode将本地服务转发到外网地址访问

示例中将本地的5500端口,用vscode进行端口转发,在外网地址访问服务 要转发的端口 转发端口 点击转发端口 输入要转发的端口,按下回车 Enter 点击允许,弹出确认界面后点击打开 转发端口已经成功配置上,右键可见性…

栈和队列-介绍与实现(超级!!!详解-C语言)

目录 栈 栈的介绍 栈的概念 栈的结构 栈的实现 初始化栈 StackInit 销毁栈 StackDestroy 入栈 StackPush 出栈 StackPop 获取栈顶元素 StackTop 检查栈是否为空 StackEmpty 获取栈中有效元素个数 StackSize 队列 队列的介绍 队列的概念 队列的结构 队列的应用 队列的实现 …

建议收藏!网络安全入门知识汇总,自学必看!

计算机网络的广泛应用,为人们的生产、生活、工作、娱乐带来了方便,同时由于技术原因和人为因素,也为人们带来诸多安全隐患。这催发出一个新的职业——网络安全工程师。 目前网络安全工程师变得越来越重要,很多人也开始对网络安全…

jsp实验11 JavaBean

二、实验项目内容(实验题目) 编写代码,掌握javabean的用法。【参考课本 上机实验 5.5.2 】 三、源代码以及执行结果截图: 源代码: Memory.java package sea.water; import java.util.ArrayList; import java.util…

280 Stylized Desert Beach Textures - Sand Cracked Sand Water More v1.1.0

280多种风格化的沙子、破裂的沙子、土壤、沙质岩石和其他沙质纹理的集合,用于沙漠和海滩风格化/幻想/rpg风格的游戏环境。 这款由game Buffs设计的280多种风格化沙漠和海滩纹理系列,为您的游戏锦上添花! 在这个系列中,你会在风格化/幻想/rpg风格的游戏中找到大量适合沙漠、…

python与上位机开发day02

1.常见运算符 1.1 赋值运算符 赋值运算符主要用来对变量进行赋值,包括如下这些: 运算符描述赋值加等于-减等于*乘等于/除等于//整除等于%模等于**幂等于 实例如下: a 10 a 5 # 等价于 a a5 a *2 # 等价于 a a*21.2 比较运算符 比较运算符主要用来比较两个数据的大小…

golang 下的内存泄漏等问题汇总

Memory Leaking Scenarios -Go 101 文中提到的substring和string公用底层的结构。但是如果我们之间打印substring和string的指针地址,会发现其实两者并不一样。 其实原因是string在golang的实际实现是reflect.StringHeader。同理slice的实际实现是*reflect.SliceH…

树莓派驱动开发----iic驱动oled屏幕篇

水一期吧,上效果 有点模糊,我直接说吧,修改设备树,iic1,地址0x3c,然后编写驱动文件,app文件,挂载驱动模块后在终端输入 /*******************************************************…

【TensorFlow深度学习】TensorFlow数据类型详解与数值精度影响

TensorFlow数据类型详解与数值精度影响 一、TensorFlow中的数据类型1. 数值类型2. 字符串类型3. 布尔类型 二、数值精度1. 精度类型2. 精度的影响 三、创建张量1. 从Python List或Numpy数组创建2. 创建全0或全1张量3. 创建自定义数值张量4. 创建已知分布的张量 四、张量的索引与…

Ventus(承影):基于RISC V的开源GPGPU

Ventus(承影):基于RVV的开源GPGPU 清华大学集成电路学院dsp-lab的承影RVV GPGPU设计文档。 整体目标 提供一个开源的基于RVV的GPGPU实现方案,并给出软件映射方案、指令集(支持的指令及特性、添加的自定义指令&#xf…

面试 Python 基础八股文十问十答第六期

面试 Python 基础八股文十问十答第六期 作者:程序员小白条,个人博客 相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新! ⭐点赞⭐收藏⭐不迷路!⭐ 1) Python支持什么数据类型&#x…

经典的目标检测算法有哪些?

一、经典的目标检测算法有哪些? 目标检测算法根据其处理流程可以分为两大类:One-Stage(单阶段)算法和Two-Stage(两阶段)算法。以下是一些经典的目标检测算法: 单阶段算法: YOLO (You Only Loo…

iOS ------代理 分类 拓展

代理协议 一,概念: 代理,又称委托代理(delegate),是iOS中常用的一种设计模式。顾名思义,它是把某个对象要做的事委托给别的对象去做。那么别的对象就是这个对象的代理,代替它来打理…

考研数学精选题目014

题目 lim ⁡ n → ∞ n ∫ 0 1 x n 1 x d x \mathop {\lim }\limits_{n \to \infty } n\int_0^1 {{{{x^n}} \over {1 x}}dx} n→∞lim​n∫01​1xxn​dx 来源 题目和答案均来自网络 证明 lim ⁡ n → ∞ n ∫ 0 1 x n 1 x d x lim ⁡ n → ∞ n n 1 ∫ 0 1 1 1 x d x n …

Oracle特殊恢复:异常掉电导致的ORA-600 [kfrValAcd30]故障处理

一、 问题描述 现象:硬件掉电后,oracle集群无法启动。 [rootrac2 ~]# crsctl stat res -t CRS-4535: Cannot communicate with Cluster Ready Services CRS-4000: Command Status failed, or completed with errors. [rootrac2 ~]# crsctl start crs C…

多路径网格问题的解决策略:比较五种不同算法【python力扣62题】

题目描述 一个机器人位于一个 m x n 网格的左上角(起始点在下图标记为 “Start” )。机器人每次只能向下或向右移动一步。机器人试图达到网格的右下角(在下图标记为 “Finish”)。问总共有多少条不同的路径? 输入格式…

MySQL生成日期序列与表关联的 SQL 查询

1、内部日期序列生成 首先,让我们看一下内部日期序列的生成部分。这部分的作用是创建从 2024 年 4 月 1 日开始的日期序列,直到 2024 年 12 月 31 日。SQL 使用 DATE_ADD 函数和一个嵌套的子查询来生成这个日期序列。 SELECT DATE_ADD(2024-04-01, INT…

图书租赁系统-借阅图书

图中展示了所有可以借阅的图书&#xff0c;点击“借阅”按钮便可以借阅图书。 借阅成功后&#xff0c;可以到bookorder菜单中阅读该书。 阅读功能待开发。 add.html借阅图书页面 <!DOCTYPE html> <html lang"zh" xmlns:th"http://www.thymeleaf.org…

学习经验分享【33】YOLOv5 / YOLOv7 / YOLOv8 / YOLOv9 / RTDETR 基于 Pyside6 的图形化界面

大论文可以写两章关于算法创新模型&#xff0c;最后一章可以写对前两章提出方法进行封装&#xff0c;利用PyQT5搭建YOLOv5可视化界面&#xff0c;并打包成exe程序&#xff0c;构建检测平台实现简单的应用。用来凑大论文的字数和工作量&#xff0c;是简单又快速的方法&#xff0…