H264详解
H264详解

h.264详解:什么是H.264编码H.264是什么格式2009-04-24 12:53一、H.264与其他标准的比较1.1在画质上H.264概述随着市场的需求,在尽可能低的存储情况下获得好的图像质量和低带宽图像快速传输已成为视频压缩的两大难题。
为此IEO/IEC/和ITU-T两大国际标准化组织联手制定了新一代视频压缩标准H.264。
1.2在编码上H.264和以前的标准一样,也是DPCM加变换编码的混合编码模式。
但它采用“回归基本”的简洁设计,不用众多的选项,获得比MEPG-4好得多的压缩性能;H.264加强了对各种信道的适应能力,采用“网络友好”的结构和语法,有利于对误友和丢包的处理;H.264应用目标范围较宽,可以满足不同速率、不同解析度以及不同传输(存储)场合的需求。
1.3在技术上H.264标准中有多个闪光之处,如统一的VLC符号编码,高精度、多模式的位移估计,基于4块的整数变换、分层的编码语法等。
这些措施使得H.264得算法具有很高的编码效率,在相同的重建图像质量下,能够比H.263节约50%左右的码率。
H.264的码流结构网络适应性强,增加了差错恢复能力,能够很好地适应IP和无线网络的应用。
1.4在传输上H.264能以较低的数据速率传送基于联网协议(IP)的视频流,在视频质量、压缩效率和数据包恢复丢失等方面,超越了现有的MPEG-2、MPEG-4和H.26x视频通讯标准,更适合窄带传输。
1.5在算法上MPEG-1标准视频编码部分的基本得法与H.261/H.263相似,也采用运动补偿的帧间预测、二维DCT、VLC游程编码等措施。
此外还引入了帧内帧(I)、预测帧(P)、双向预测帧(B)和直流帧(D)等概念,进一步提高了编码效率。
在MPEG-1的基础上,MPEG-2标准在提高图像分辨率、兼容数字电视等方面做了一些改进,例如它的运动适量的精度为半像素;在编码运算中(如运动估计和DCT)区分“帧”和“场”;引入了编码的可分级性技术,如空间可分级性、时间可分级性和信噪比可分级性等。
H264编解码协议详解

H264编解码协议详解H.264编解码协议,也被称为AVC(Advanced Video Coding),是一种广泛应用于视频压缩的标准。
它是一种基于帧的压缩算法,可以将高质量的视频数据以较低的比特率传输和存储。
以下是H.264编解码协议的详细解释:1.压缩结构H.264使用了多种技术来实现高效率的视频压缩。
它使用了预测编码、变换编码和熵编码等多种技术。
预测编码通过利用帧间和帧内的冗余性,对视频进行空间和时间上的预测。
变换编码则通过对预测误差进行离散余弦变换(DCT),在频域上进行编码。
最后,熵编码使用了熵编码表将变换后的数据进行进一步的压缩。
2.帧结构H264将视频数据划分为一系列的帧,每个帧包含了许多宏块(macroblock)。
其中,关键帧(I帧)是完全独立的帧,它包含了视频的全局信息。
预测帧(P帧)和双向预测帧(B帧)则通过对前一帧和前后一帧进行预测来进行编码。
P帧只依赖前一帧,而B帧则依赖前后两帧。
这种结构可以进一步提高视频压缩的效率。
3.量化参数H.264使用量化参数对预测误差进行编码。
量化参数决定了每个预测误差值的精度,较大的量化参数会导致更高的压缩率,但也会导致较大的失真。
编码器和解码器可以通过动态调整量化参数来平衡压缩率和失真。
4.帧间预测帧间预测是H.264压缩的核心技术之一、它通过对前后帧的像素进行比较,预测当前帧的像素值。
如果在帧间没有大的运动,那么预测误差就会较小,从而达到更好的压缩效果。
帧间预测有多种模式,包括帧间直接模式(inter-direct mode)、帧间双向模式(inter-bidirect mode)和帧间skip模式(inter-skip mode)等。
5.熵编码H.264使用了基于上下文的自适应变长编码(CAVLC)和基于上下文的自适应二进制算术编码(CABAC)两种熵编码技术。
CAVLC主要用于编码量化系数和运动矢量等数据,而CABAC主要用于编码预测模式和其他语法元素。
H264编码详细说明

序列、图像(存储单元)、宏块、像素一个序列的第一个图像叫做IDR 图像(立即刷新图像),IDR 图像都是I 帧图像。
H.264 引入IDR 图像是为了解码的重同步,当解码器解码到IDR 图像时,立即将参考帧队列清空,将已解码的数据全部输出或抛弃,重新查找参数集,开始一个新的序列。
●I帧(帧内编码帧)是一种自带全部信息的独立帧,无需参考其它图像便可独立进行解码。
视频序列中的第一个帧始终都是I帧。
I帧可以用来实现快进、快退以及其它随机访问功能。
如果新的客户端将参与查看视频流,编码器将以相同的时间间隔或者根据要求自动插入I帧。
I帧的缺点在于它们会占用更多的数据位,但I帧不会产生可觉察的模糊现象。
●P帧(帧间预测编码帧)需要参考前面的I帧和/或P帧的不同部分才能进行编码。
与I帧相比,P帧通常占用更少的数据位,但其缺点是,由于P帧对前面的P和I参考帧有着复杂的依赖性,因此对传输错误非常敏感。
●B帧(双向预测编码帧)需要同时以前面的帧和后面的帧作为参考帧。
不是参考帧,不会造成解码错误的扩散。
运算比较复杂,CPU占用较高。
I、B、P各帧是根据压缩算法的需要人为定义的,它们都是实实在在的物理帧。
一般来说,I帧的压缩率是7(跟JPG差不多),P帧是20,B帧可以达到50。
网络打包、网络抽象层单元(NALU)、片NALU的网络打包:(1) 额外开销要少,使MTU尺寸在100~64k字节范围都可以;(2) 不用对包内的数据解码就可以判别该包的重要性;(3) 载荷规范应当保证不用解码就可识别由于其他的比特丢失而造成的包不可解码;(4) 支持将NALU分割成多个RTP包;(5) 支持将多个NALU汇集在一个RTP包中。
●灵活宏块次序(FMO) 可以通过设置宏块次序映射表(MBAmap)来任意地指配宏块到不同的片组,FMO模式打乱了原宏块顺序,降低了编码效率,增加了时延,但增强了抗误码性能。
划分图像的模式各种各样,主要的有棋盘模式、矩形模式等。
H264编码原理详解

H264编码原理详解前言•在日常生活中我们知道,电脑中的视频文件先要通过视频采集设备对物体进行采集,然后通过编码核心部件得到mp4,rmvb等格式进行保存。
有没有可能不经过上述核心编码部件采集之后直接进行显示呢?答案是可以的。
那为什么还要进行编码呢?答案是原始采集到的视频数据为YUV格式,这种格式不经过处理的话特别大,对于网络传输和永久保存非常不利,为了解决这个问题,就需要对原原始的视频数据进行压缩处理。
而H264则是目前一种流传广泛,成熟的视频压缩算法。
•先来看一个例子在学习H.264编码之前,我们先了解一下在手机相机拍摄视频的过程,如果Camera采集的YUV图像不做任何处理进行传输,那么每秒钟需要传输的数据量是多少?Camera采集的YUV图像通常为YUV420,根据YUV420的采样结构,YUV图像中的一个像素中Y、U、V分量所占比例为1:1/4:1/4,而一个Y分量占1个字节,也就是说对于YUV图像,它的一个像素的大小为(1+1/4+1/4)Y=3/2个字节。
如果直播时的帧率设置为30fps,当分辨率为1280x720,那么每秒需要传输的数据量为1280720(像素)30(帧)3/2(字节)=39.5MB;当分辨率为1920x720,那么每秒需要传输的数据量接近60MB,这对于手机的存储空间有很大考验,因此,我们就必须在拍摄形成视频文件保存在本地之前对采集的视频数据进行压缩编码。
H26X简介H261•目前国际上制定视频编解码技术的组织有两个,一个是“国际电联(ITU-T)”,它制定的标准有H.261、H.263、H.263+等,另一个是“国际标准化组织(ISO)”它制定的标准有MPEG-1、MPEG-2、MPEG-4等。
•H.261是1990年ITU-T制定的一个视频编码标准,属于视频编解码器。
设计的目的是能够在带宽为64kbps的倍数的综合业务数字网(ISDN forIntegrated Services Digital Network)上质量可接受的视频信号。
h264芯片

h264芯片H.264芯片,也被称为AVC(Advanced Video Coding),是一种视频压缩标准,被广泛应用于视频编码和解码设备中。
以下是关于H.264芯片的1000字介绍:第一部分:H.264芯片的背景和概述(200字)H.264是一种视频压缩标准,由国际电信联盟(ITU)和国际标准化组织(ISO)共同开发。
它被认为是当前最先进的视频压缩技术之一,具有卓越的压缩性能和视频质量。
H.264芯片是实现H.264视频编码和解码功能的专用芯片,其设计和优化旨在提高视频传输和存储的效率。
第二部分:H.264芯片的工作原理(300字)H.264芯片通过采用一系列算法和技术,将视频信号压缩为更小的比特流,以减少数据量并提高传输效率。
在视频编码方面,H.264芯片使用了多种技术,包括运动补偿、变换和量化等。
运动补偿技术通过在连续的视频帧之间检测和预测移动物体的位置,从而减少重复信息的传输。
变换技术将视频信号从时域转换为频域表示,以便更好地进行压缩。
量化技术通过减少视频信号的精度和细节,以减少比特流的大小。
在视频解码方面,H.264芯片将接收到的压缩比特流转换为可视的视频帧。
它通过反向过程解压缩比特流,恢复出原始视频信号。
解码过程主要包括解码器的控制、解码过程和图像恢复等步骤。
H.264芯片通常会集成在视频编码和解码设备中,如数字摄像机、视频会议系统和流媒体服务器等。
第三部分:H.264芯片的应用领域(300字)H.264芯片被广泛应用于多个领域,其中包括数字媒体领域、通信领域和安全领域。
在数字媒体领域,H.264芯片常用于数字摄像机和网络摄像机等设备,用于实时视频传输和存储。
它可以提供高质量的视频效果,并减少存储空间和带宽消耗。
在通信领域,H.264芯片被广泛应用于视频会议系统、手机和IP电话等设备,用于实时视频通信。
它可以提供更流畅和清晰的视频通话体验。
在安全领域,H.264芯片还可以用于视频监控系统和安防设备,实现高效的视频压缩和存储。
H.264详解

H.264详解H.264,同时也是MPEG-4第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。
H.264基本概况随着HDTV的兴起,H.264这个规范频频出现在我们眼前,HD-DVD和蓝光均计划采用这一标准进行节目制作。
而且自2005年下半年以来,无论是NVIDIA还是ATI都把支持H.264硬件解码加速作为自己最值得夸耀的视频技术。
H.264到底是何方“神圣”呢?H.264是一种高性能的视频编解码技术。
目前国际上制定视频编解码技术的组织有两个,一个是“国际电联(ITU-T)”,它制定的标准有H.261、H.263、H.263+等,另一个是“国际标准化组织(ISO)”它制定的标准有MPEG-1、MPEG-2、MPEG-4等。
而H.264则是由两个组织联合组建的联合视频组(JVT)共同制定的新数字视频编码标准,所以它既是ITU-T的H.264,又是ISO/IEC的MPEG-4高级视频编码(Advanced Video Coding,AVC),而且它将成为MPEG-4标准的第10部分。
因此,不论是MPEG-4 AVC、MPEG-4 Part 10,还是ISO/IEC 14496-10,都是指H.264。
H.264最大的优势是具有很高的数据压缩比率,在同等图像质量的条件下,H.264的压缩比是MPEG-2的2倍以上,是MPEG-4的1.5~2倍。
举个例子,原始文件的大小如果为88GB,采用MPEG-2压缩标准压缩后变成3.5GB,压缩比为25∶1,而采用H.264压缩标准压缩后变为879MB,从88GB到879MB,H.264的压缩比达到惊人的102∶1!H.264为什么有那么高的压缩比?低码率(Low Bit Rate)起了重要的作用,和MPEG-2和MPEG-4 ASP等压缩技术相比,H.264压缩技术将大大节省用户的下载时间和数据流量收费。
H264标准详解

H264标准详解H.264 标准详解JVT(Joint Video T eam,视频联合工作组)于2001 年12 月在泰国Pattaya 成立。
它由ITU-T和ISO 两个国际标准化组织的有关视频编码的专家联合组成。
JVT 的工作目标是制定一个新的视频编码标准,以实现视频的高压缩比、高图像质量、良好的网络适应性等目标。
目前JVT 的工作已被ITU-T 接纳,新的视频压缩编码标准称为H.264 标准,该标准也被ISO 接纳,称为A VC(Advanced Video Coding)标准,是MPEG-4 的第10 部分。
H.264 标准可分为三档:基本档次(其简单版本,应用面广);主要档次(采用了多项提高图像质量和增加压缩比的技术措施,可用于SDTV、HDTV 和DVD 等);扩展档次(可用于各种网络的视频流传输)。
H.264 不仅比H.263 和MPEG-4 节约了50%的码率,而且对网络传输具有更好的支持功能。
它引入了面向IP 包的编码机制,有利于网络中的分组传输,支持网络中视频的流媒体传输。
H.264 具有较强的抗误码特性,可适应丢包率高、干扰严重的无线信道中的视频传输。
H.264 支持不同网络资源下的分级编码传输,从而获得平稳的图像质量。
H.264 能适应于不同网络中的视频传输,网络亲和性好。
一、H.264 视频压缩系统H.264 标准压缩系统由视频编码层(VCL)和网络提取层(Network Abstraction Layer,NAL)两部分组成。
VCL 中包括VCL 编码器与VCL 解码器,主要功能是视频数据压缩编码和解码,它包括运动补偿、变换编码、熵编码等压缩单元。
NAL 则用于为VCL 提供一个与网络无关的统一接口,它负责对视频数据进行封装打包后使其在网络中传送,它采用统一的数据格式,包括单个字节的包头信息、多个字节的视频数据与组帧、逻辑信道信令、定时信息、序列结束信号等。
包头中包含存储标志和类型标志。
H264媒体和数据传输介绍

H264媒体简单说明一、H264简介H264分层结构由五层组成:序列参数集(sps)图像参数集(pps)片(slice)宏块、子块其中后面层应用前面层(或则说从属关系);其中序列的第一个帧叫做IDR帧,用于清空参考帧队列,避免错误累积。
H264 nalu包RTP传输一般分为三种情况:单一nalu模式,一般nalu<mtu组合封包模式,多个nalu组成一个RTP包分片封包模式,一般nalu>mtu依据不同帧的情况来实现不同打包,代码可参考NALU打包demo二、H264的文件存储和传输区别H264的文件存储:每一个NALU包前都会多一个00 00 01 or 00 00 00 01的起始头,作为NALU包之间的分隔标识;并通过给非起始头的00 00后插入0x03来避免标识冲突。
取数据后,起始头需要丢掉,0x03数据也需要去除。
H264的文件传输:NALU包属于传输包的自然分割,不需要加起始头。
包格式一般是:x串+h264nalu头+h264data比如RTP传输,x串往往就是RTP头(一般12字节)三、H264和MP4关系是ITU-T与ISO/IEC两个组织联合进行开发的视频编解码方案。
ITU-T命名为H264ISO/IEC命名为MPEG-4 A VC是MPEG-4标准的第10部分其中标准H264格式的文件存储不是国际标准格式相关传输协议简单说明(本次使用到)一、RTP/RTCP、RTSP、SIP等RTP/RTCP是传输层的传输和控制协议,是一个传输子层,运行在TCP/UDP之上RTSP/SIP是更上一层的传输协议SIP运行在RTP之上RTSP直接在TCP/UDP上运行二、RTP包头音频和视频采用不同端口,初期先考虑仅H264视频三、RTCP在RTP会话期间,各参与者周期性地传送RTCP包,包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料。
分为五类:200 SR 发送端报告主要考虑201 RR 接收端报告202 SDES 源点描述203 BYE 结束传输204 APP 特定应用SR主要包括:相应的RTP流的SSRC(丢失率、累计丢包数、接收抖动、上次SR以来的延时等)、RTP流中最新产生的RTP分组时间戳和NTP、RTP流包含的分组数、字节数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.引言H.264的主要目标:1.高的视频压缩比2.良好的网络亲和性解决方案:VCL video coding layer 视频编码层NAL network abstraction layer 网络提取层VCL:核心算法引擎,块,宏块及片的语法级别的定义NAL:片级以上的语法级别(如序列参数集和图像参数集),同时支持以下功能:独立片解码,起始码唯一保证,SEI以及流格式编码数据传送VCL设计目标:尽可能地独立于网络的情况下进行高效的编解码NAL设计目标:根据不同的网络把数据打包成相应的格式,将VCL产生的比特字符串适配到各种各样的网络和多元环境中。
NALU头结构:NALU类型(5bit)、重要性指示位(2bit)、禁止位(1bit)。
NALU类型:1~12由H.264使用,24~31由H.264以外的应用使用。
重要性指示:标志该NAL单元用于重建时的重要性,值越大,越重要。
禁止位:网络发现NAL单元有比特错误时可设置该比特为1,以便接收方丢掉该单元。
2.NAL语法语义NAL层句法:在编码器输出的码流中,数据的基本单元是句法元素。
句法表征句法元素的组织结构。
语义阐述句法元素的具体含义。
分组都有头部,解码器可以很方便的检测出NAL的分界,依次取出NAL进行解码。
但为了节省码流,H.264没有另外在NAL的头部设立表示起始位置的句法元素。
如果编码数据是存储在介质上的,由于NAL是依次紧密相连的,解码器就无法在数据流中分辨出每个NAL的起始位置和终止位置。
解决方案:在每个NAL前添加起始码:0X000001在某些类型的介质上,为了寻址的方便,要求数据流在长度上对齐,或某个常数的整数倍。
所以在起始码前添加若干字节的0来填充。
检测NAL的开始:0X000001和0X000000我们必须考虑当NAL内部出现了0X000001和0X000000解决方案:H.264提出了“防止竞争”机制:0X000000——0X000003000X000001——0X000003010X000002——0X000003020X000003——0X00000303为此,我们可以知道:在NAL单元中,下面的三字节序列不应在任何字节对齐的位置出现0X0000000X0000010X000002Forbidden_zero_bit =0;Nal_ref_idc:表示NAL的优先级。
0~3,取值越大,表示当前NAL越重要,需要优先受到保护。
如果当前NAL是属于参考帧的片,或是序列参数集,或是图像参数集这些重要的单位时,本句法元素必需大于0。
Nal_unit_type:当前NAL 单元的类型3.H.264的NAL层处理结构示意图:NAL以NALU(NAL unit)为单元来支持编码数据在基于分组交换技术网络中传输。
它定义了符合传输层或存储介质要求的数据格式,同时给出头信息,从而提供了视频编码和外部世界的接口。
NALU:定义了可用于基于分组和基于比特流系统的基本格式RTP封装:只针对基于NAL单元的本地NAL接口。
三种不同的数据形式:SODB 数据比特串-->最原始的编码数据RBSP 原始字节序列载荷-->在SODB的后面填加了结尾比特(RBSP trailing bits 一个bit“1”)若干比特“0”,以便字节对齐EBSP 扩展字节序列载荷-->在RBSP基础上填加了仿校验字节(0X03)它的原因是:在NALU加到Annexb上时,需要添加每组NALU之前的开始码StartCodePrefix,如果该NALU对应的slice为一帧的开始则用4位字节表示,ox00000001,否则用3 位字节表示ox000001.为了使NALU主体中不包括与开始码相冲突的,在编码时,每遇到两个字节连续为0,就插入一个字节的0x03。
解码时将 0x03去掉。
也称为脱壳操作处理过程:1.将VCL层输出的SODB封装成nal_unit, Nal_unit是一个通用封装格式,可以适用于有序字节流方式和IP包交换方式。
2.针对不同的传送网络(电路交换|包交换),将nal_unit 封装成针对不同网络的封装格式。
第一步的具体过程:VCL层输出的比特流SODB(String Of Data Bits),到nal_unit之间,经过了以下三步处理:1.SODB字节对齐处理后封装成RBSP(Raw Byte Sequence Payload)。
2.为防止RBSP的字节流与有序字节流传送方式下的SCP(start_code_prefix_one_3bytes,0x000001)出现字节竞争情形,循环检测RBSP前三个字节,在出现字节竞争时在第三字节前加入emulation_prevention_three_byte (0x03),具体方法:nal_unit( NumBytesInNALunit ) {forbidden_zero_bitnal_ref_idcnal_unit_typeNumBytesInRBSP = 0for( i = 1; i < NumBytesInNALunit; i++ ) {if( i + 2 < NumBytesInNALunit && next_bits( 24 ) = = 0x000003 ) {rbsp_byte[ NumBytesInRBSP++ ]rbsp_byte[ NumBytesInRBSP++ ]i += 2emulation_prevention_three_byte /* equal to 0x03 */} elserbsp_byte[ NumBytesInRBSP++ ]}}3. 防字节竞争处理后的RBSP再加一个字节的header(forbidden_zero_bit+ nal_ref_idc+ nal_unit_type),封装成nal_unit.第二步的具体过程:case1:有序字节流的封装byte_stream_nal_unit( NumBytesInNALunit ) {while( next_bits( 24 ) != 0x000001 )zero_byte /* equal to 0x00 */if( more_data_in_byte_stream( ) ) {start_code_prefix_one_3bytes /* equal to 0x000001 */nal_unit( NumBytesInNALunit )}}类似H.320和MPEG-2/H.222.0等传输系统,传输NAL作为有序连续字节或比特流,同时要依靠数据本身识别NAL单元边界。
在这样的应用系统中,H.264/AVC 规范定义了字节流格式,每个NAL单元前面增加3个字节的前缀,即同步字节。
在比特流应用中,每个图像需要增加一个附加字节作为边界定位。
还有一种可选特性,在字节流中增加附加数据,用做扩充发送数据量,能实现快速边界定位,恢复同步Case2:IP网络的RTP打包封装分组打包的规则(1)额外开销要少,使MTU尺寸在100~64k字节范围都可以;(2)不用对分组内的数据解码就可以判别该分组的重要性;(3)载荷规范应当保证不用解码就可识别由于其他的比特丢失而造成的分组不可解码;(4)支持将NALU分割成多个RTP分组;(5)支持将多个NALU汇集在一个RTP分组中。
RTP的头标可以是NALU的头标,并可以实现以上的打包规则。
一个RTP分组里放入一个NALU,将NALU(包括同时作为载荷头标的NALU 头)放入RTP的载荷中,设置RTP头标值。
为了避免IP层对大分组的再一次分割,片分组的大小一般都要小于MTU尺寸。
由于包传送的路径不同,解码端要重新对片分组排序,RTP包含的次序信息可以用来解决这一问题。
NALU分割对于预先已经编码的内容,NALU可能大于MTU尺寸的限制。
虽然IP层的分割可以使数据块小于64千字节,但无法在应用层实现保护,从而降低了非等重保护方案的效果。
由于UDP数据包小于64千字节,而且一个片的长度对某些应用场合来说太小,所以应用层打包是RTP打包方案的一部分。
新的讨论方案(IETF)应当符合以下特征:(1)NALU的分块以按RTP次序号升序传输;(2)能够标记第一个和最后一个NALU分块;(3)可以检测丢失的分块。
NALU合并一些NALU如SEI、参数集等非常小,将它们合并在一起有利于减少头标开销。
已有两种集合分组:(1)单一时间集合分组(STAP),按时间戳进行组合;(2)多时间集合分组(MTAP),不同时间戳也可以组合。
NAL规范视频数据的格式,主要是提供头部信息,以适合各种媒体的传输和存储。
NAL支持各种网络,包括:1.任何使用RTP/IP协议的实时有线和无线Internet 服务2.作为MP4文件存储和多媒体信息文件服务3.MPEG-2系统4.其它网NAL规定一种通用的格式,既适合面向包传输,也适合流传送。
实际上,包传输和流传输的方式是相同的,不同之处是传输前面增加了一个起始码前缀在类似Internet/RTP面向包传送协议系统中,包结构中包含包边界识别字节,在这种情况下,不需要同步字节。
NAL单元分为VCL和非VCL两种VCL NAL单元包含视频图像采样信息,非VCL包含各种有关的附加信息,例如参数集(头部信息,应用到大量的VCL NAL 单元)、提高性能的附加信息、定时信息等参数集:参数集是很少变化的信息,用于大量VCL NAL单元的解码,分为两种类型:1.序列参数集,作用于一串连续的视频图像,即视频序列。
两个IDR图像之间为序列参数集。
IDR和I帧的区别见下面。
2.图像参数集,作用于视频序列中的一个或多个个别的图像序列和图像参数集机制,减少了重复参数的传送,每个VCL NAL单元包含一个标识,指向有关的图像参数集,每个图像参数集包含一个标识,指向有关的序列参数集的内容因此,只用少数的指针信息,引用大量的参数,大大减少每个VCL NAL单元重复传送的信息。
序列和图像参数集可以在发送VCL NAL单元以前发送,并且重复传送,大大提高纠错能力。
序列和图像参数集可以在“带内”,也可以用更为可靠的其他“带外”通道传送。
存储单元:一组指定格式的NAL单元称为存储单元,每个存储单元对应一个图像。
每个存储单元包含一组VCL NAL单元,组成一个主编码图像,VCL NAL单元由表示视频图像采样的像条所组成。
存储单元前面可以加一个前缀,分界存储单元,附加增强信息(SEI)(如图像定时信息)也可以放在主编码图像的前面。
主编码图像后附加的VCL NAL单元,包含同一图像的冗余表示,称为冗余编码图像,当主编码图像数据丢失或损坏时,可用冗余编码图像解码。