H264熵编码具体算法

上传人:工**** 文档编号:591365514 上传时间:2024-09-17 格式:PPT 页数:78 大小:1.41MB
返回 下载 相关 举报
H264熵编码具体算法_第1页
第1页 / 共78页
H264熵编码具体算法_第2页
第2页 / 共78页
H264熵编码具体算法_第3页
第3页 / 共78页
H264熵编码具体算法_第4页
第4页 / 共78页
H264熵编码具体算法_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《H264熵编码具体算法》由会员分享,可在线阅读,更多相关《H264熵编码具体算法(78页珍藏版)》请在金锄头文库上搜索。

1、第第6章章第第6章章u6.8 CAVLC(基于上下文自适应的可变长编码)u6.9 CABAC(基于上下文的自适应二进制算术熵编码)u6.10 码率控制u6.11 去方块滤波 u6.12 其余特征 6.8CAVLC(基于上下文自适应的可基于上下文自适应的可变长编码变长编码) CAVLC即基于上下文的自适应变长编码。CAVLC的本质是变长编码,它的特性主要体现在自适应能力上,CAVLC可以根据已编码句法元素的情况动态的选择编码中动态的选择编码中使用的码表使用的码表,并且随时更新拖尾系数后缀的长度,从而获得极高的压缩比。H.264标准中使用了CAVLC对4*4模块的亮度和色度残差数据进行编码。2.C

2、AVLC 2.CAVLC 的基本原理的基本原理 CAVLC用于亮度和色度残差数据残差数据的编码。残差经过变换量化后的数据表现出如下特性:l4*4块数据经过预测、变换、量化后,非零系数主要集中在低频部分,而高频系数大部分是零;l量化后的数据经过zig-zag扫描,DC系数附近的非零系数值较大,而高频位置上的非零系数值大部分是+1和-1 ;l相邻的4*4块的非零系数的数目是相关的。 CAVLC充分利用残差经过整数变换、量化后数据的特性进行压缩,进一步减少数据中的冗余信息,为H.264卓越的编码效率奠定了基础。3.CAVLC 3.CAVLC 的上下文模型的上下文模型 利用相邻已编码符号所提供的相关性

3、,为所要编码的符号选择合适的上下文模型。利用合适的上下文模型,就可以大大降低符号间的冗余度。 4.CAVLC 4.CAVLC 的编码过程的编码过程4.1 4.1 重排序重排序 在编码器中,16*16帧内模式编码的宏块里,每个已量化变换系数的4*4亮度块的DC系数首先以图1所示的顺序扫描。剩余的15个AC系数从第二个位置开始扫描。类似的,色度的2*2DC系数以光栅顺序首先扫描,剩余的15个AC系数从从第二个位置开始扫描。 图 1例:设有一个4*4块数据(假定NC=0)数据重排列: 0,3,0,1,-1,-1,0,1,0,0,0,0,0,0,0,04.2 4.2 编码非零系数的数目编码非零系数的数

4、目(TotalCoeffs)(TotalCoeffs)以及拖尾系以及拖尾系数的数目数的数目(TrailingOnes)(TrailingOnes) 非零系数数目的范围是从0到16,拖尾系数数目的范围是从0到3。如果如果11的个数大于的个数大于3 3个,只个,只有最后有最后3 3个被视为拖尾系数,其余的被视为普通的个被视为拖尾系数,其余的被视为普通的非零系数非零系数。 例:设有一个4*4块数据(假定NC=0) 非零系数的数目(TotalCoeffs) = 5; 拖尾系数的数目(TrailingOnes)= 3; 最后一个非零系数前零的数目(Total_zeros)=3; 对非零系数数目和拖尾系数

5、数目的编码是通过查表的方式,共有4个变长表格和1个定长表格可供选择。表格的选择是根据变量NC(Number Current,当前块值)的值来选择的,在求变量NC值的过程中,体现了基于上下文的思想。BAnA和和nB分别为在当前宏块左侧和分别为在当前宏块左侧和上侧的变换系数幅值上侧的变换系数幅值blkA和和blkB中中的非的非0变换系数幅值数量变换系数幅值数量(由由TotalCoeff(coeff_token)给出)给出) 例:设有一个4*4块数据(假定NC=0) 非零系数的数目(TotalCoeffs) = 5; 拖尾系数的数目(TrailingOnes)= 3; NC=0 经查表可知码流为00

6、00100 code=00001004.3 4.3 编码每个拖尾系数的符号编码每个拖尾系数的符号 对于每个拖尾系数(1)只需要指明其符号, 其符号用一个比特表示(0表示+ ,1表示-)。编 码的顺序是按照反向扫描反向扫描的顺序,从高频数据从高频数据 开始开始。例:设有一个4*4块数据(假定NC=0)逆序编码,三个拖尾系数的符号依次是,;码流为011code=0000100 0114.4 4.4 编码除了拖尾系数之外的非零系数的幅编码除了拖尾系数之外的非零系数的幅值值(Levels)(Levels) 非零系数的幅值(Levels)按照反向扫描顺序反向扫描顺序进行编码,即从高频向低频顺序编码。l非

7、零系数的幅值(Levels)的组成分为两个部分,前缀(level_prefix)和后缀(level_suffix)。l变量suffixLength 是基于上下文模式自适应更新的,suffixLength 的更新与当前的suffixLength 的值以及已经解码好的非零系数的值(Level)有关。suffixLength数值的初始化以及更新过程如下所示: 普通情况下suffixLength初始化为0 ,但是当块中有多于10个非零系数并且其中拖尾系数的数目少于3个,suffixLength 初始化为 1 。 编码在最高频率位置上的非零系数。 如果当前已经解码好的非零系数值大于预先定义好的阈值,变量

8、suffixLength加1 。 第一个阈值是第一个阈值是0 0 ,表示在第一个非零系数被编码,表示在第一个非零系数被编码后,后,suffixLengthsuffixLength的值总是增加的值总是增加1 1 。 编码过程如下:编码过程如下: 将有符号的Leveli转换成无符号的levelCode; 如果Leveli是正的, levelCode=(Leveli1)2; 如果Leveli是负的, levelCode=-(Leveli1)1; 计算level_prefix: level_prefix =levelCode/(1suffixLength); 计算level_suffix:level_

9、suffix = levelCode %(10levelCode=(Level11)2=0初始化suffixLength=0 level_prefix =levelCode/(1suffixLength)=0 level_suffix =levelCode %(1suffixLength)=0根据suffixLength的值来确定后缀的长度后缀长度为0 level_prefix =0查表可得 码流为1(前缀) 同理可得按照 Level0=3 levelCode = 4 level_prefix = 2; 查表得bit string =001 level_suffix = 0 suffixLen

10、gth = 1;故码流为001(前缀)0(后缀);code=0000100 011 1 00104.5 4.5 编码最后一个非零系数前零的数目编码最后一个非零系数前零的数目(TotalZeros)(TotalZeros) TotalZeros指的是在最后一个非零系数前零的数目,此非零系数指的是按照正向扫描的最后此非零系数指的是按照正向扫描的最后一个非零系数一个非零系数。例:设有一个4*4块数据(假定NC=0)TotalZeros=3又TotalCoeffs(非零系数的数目)=5查表可得码流为111code=0000100 011 1 0010 1114.6 4.6 编码每个非零系数前零的个数(

11、编码每个非零系数前零的个数(RunBeforeRunBefore) 每个非零系数前零每个非零系数前零的个数(RunBefore)是按照按照反序来进行编码反序来进行编码的,从最高频的非零系数开始从最高频的非零系数开始。 RunBefore在以下两种情况下是不需要编码的: 最后一个非零系数(在低频位置上)前零的个数。 如果没有剩余的零需要编码时,没有必要再进行 RunBefore的编码。 在CAVLC中,对每个非零系数前零的个数的编码是依赖于ZerosLeft的值,ZerosLeftZerosLeft表示当前非零系数左边的所有零所有零的个数,ZerosLeft的初始值等于TotalZeros,在每

12、个非零系数的RunBefore 值编码后进行更新。 例:设有一个4*4块数据(假定NC=0)按照逆序编码,查表可得code=0000100 011 1 0010 111 101110编码完毕! CAVLC CAVLC 编码流程图编码流程图5.CAVLC 5.CAVLC 解码过程解码过程 解码程序流程图解码程序流程图例: 解码过程解码完毕输出序列:0,3,0,1,-1,-1,0,1.解析除拖尾系数外的非零系数的幅值(解析除拖尾系数外的非零系数的幅值(level)(1)确定后缀长度确定后缀长度SuffixLength(2)根据码流查表根据码流查表9-6得到前缀得到前缀LevelPrefix(3)根

13、据前缀和后缀,得到根据前缀和后缀,得到LevelCode=(levelprefix=0的无符号整数值,由x个”1”和一个终结符合”0”组成。舍位一元(TU)二值化过程:对于小于cMax的语法元素值(无符号整数),调用规定的(U)二值化过程。对于等于cMax的语法元素值,二进制码串的全都码字为1,长度为cMax。串联的一元/k阶顺序哥伦布指数(UEGk)二值化过程:由一个前缀和一个后缀码字串接而成。固定长度(FL)二值化过程 :该方法需要假设相应得语法元素的值x为有限,即 0=x4) +n) if( preCtxState = 63 ) = 63 - preCtxState = 0 else =

14、 preCtxState - 64 = 1 式中,函数Clip3(a,b,c) 表示将 c 的值限制在a,b 。preCtxState 是一个中间变量。 CABAC中内建了由大量实验统计而得到的概率模型。在编码过程中,CABAC 根据当前所要编码的内容以及先前已编码好内容,动态地选择概率模型来进行编码动态地选择概率模型来进行编码,并实时实时更新相对应的概率模型更新相对应的概率模型。并且,CABAC在计算量和编码速度上进行了优化,用了量化查表、移位、逻辑运算等方法代替复杂的概率估计和乘法运算。在实际应用中,CABAC 与其它主流的熵编码方式相比有更高的编码效率有更高的编码效率图 6.59描述了图

15、象质量在各信噪比时CABAC 节省码率的性能。 用一组质量用一组质量在在2840dB的视频图像的视频图像做测试,应做测试,应用用CABAC可可使比特率进使比特率进一步提高一步提高9%14%第第6章章u6.8 CAVLC(基于上下文自适应的可变长编码)u6.9 CABAC(基于上下文的自适应二进制算术熵编码)u6.10 码率控制u6.11 去方块滤波 u6.12 其余特征 6.10码率控制码率控制 由于视频序列中的图像内容随着空间与时间的不同而变化很大,需要为图像的不同部分选择需要为图像的不同部分选择不同的编码参数进行压缩编码不同的编码参数进行压缩编码,而编码控制的目的就是确定一组编码参数。H.

16、264 编码器采用基于 Lagrangian 优化算法的率失真优化模型实现视频编码的控制,其实现简单而且效率高。1.1.基于基于Lagrangian Lagrangian 优化算法的优化算法的H.264H.264编码控制模型编码控制模型1.1 Lagrangian1.1 Lagrangian优化算法优化算法 考虑K个信源样本值的集合 ,其中 可以是矢量或标量。每一个样本值每一个样本值 可以通过选取编码模式集 中的某些编编码模式码模式 进行压缩编码。因此对应于样本值集合S存在相应的编码模式集合 。在给定的限定码率 下,对于给定信源样本序列所选的编码模式,应使编码后的失真度最小,如(6.42)式所

17、示。 (6.42) D(S,I):输出比特流的失真度 R(S,I):输出比特流的码率 其中,比特流由采用编码模式比特流由采用编码模式I I对样本对样本S S进行编码进行编码并进行量化后输出并进行量化后输出。在实际应用中,通常采用下式来选取编码模式: 是Lagrange 参数。对于样本S及其选定的编码模式I ,当其编码后得到的比特率和失真度的线当其编码后得到的比特率和失真度的线性组合性组合J(S,I|)(LagrangianJ(S,I|)(Lagrangian代价函数代价函数) )最小时,最小时,此时的编码模式是最优的此时的编码模式是最优的。 考虑某一样本 ,可认为其编码后的比特率和失真度仅与相

18、应的编码模式 有关,因此,只要分别对每一个样本 选择最优的编码模式选择最优的编码模式,便可以很容易的得到J(S,I|)的最小值,从而实现相应的编码控制。1.2 1.2 编码控制模型编码控制模型 假设图像序列s被分割为K个不同的块 ,相应的像素用 表示。在对图像序列s进行基于块的混合视频编码时,对于每块 所选定的编码模式应当使编码后的Lagrangian代价函数J(S,I|)达到最小,当且仅当此时认为基于块的混合视频编码器达到最优化。 在Lagrange参数 与量化参数Q选定后,H.264 H.264 的编码器通过最小化的编码器通过最小化LagrangianLagrangian代价函数代价函数实

19、现对每一个宏块的编码模式的选定实现对每一个宏块的编码模式的选定。宏块 的Lagrangian代价函数如(6.46)式所示。 为相应宏块的编码模式。其中, 在不同编码模式下,编码后比特流的比特率 与失真度 的计算并不完全相同。 在帧内模式下 为熵编码后比特流的比特率,失真度 则由宏块的原始像素和重建像素决定,且共有2种计算方式,分别如下式所示。 (6.47) (6.48) SSD:差值平方和 SAD:绝对误差和 S:原始宏块 S:重建宏块 A:当前的宏块在帧间模式下 由于采用了基于块的运动估计,Lagrangian 代价函数的计算比较于帧内模式要复杂。对于采用帧间编码模式的AB大小的块,在给定的

20、Lagrange参数 和参考图像s的情况下,通过最小化Lagrangian代价函数来实现块 的运动估计,如式(6.49)所示。 (6.49) M:可能的编码模式的集合 :为传输运动矢量 所需的比特数 失真度 由式(6.50)或式(6.51)得到。 (6.50) (6.51) 在运动估计时水平与垂直方向的搜索范围为搜索范围为3232个整像素个整像素,并采用一帧或多帧参考图像。 为寻找满足式(6.49)要求的运动矢量 ,最终选定使得Lagrangian代价函数最小的运动矢量具有14像素精度。 同帧内模式相同,在帧间模式下比特率 为熵编码后比特流的比特率,失真度 则由宏块的原始像素和重建像素决定。对

21、于差值平方和SSD来说 对于绝对误差和SAD来说 基于基于 Lagrangian Lagrangian 优化算法的编码控制模型优化算法的编码控制模型 在在H.264 H.264 中,中, 通常通过速率通常通过速率 控制相关算法控制相关算法 选择合适的量选择合适的量 化参数,并通化参数,并通 过相应的过相应的 Lagrange Lagrange参数参数 进行视频编码进行视频编码 控制。控制。2.2.实验结果和性能分析实验结果和性能分析 视频会议与流媒体应用的主要区别在于,视视频会议频会议需要满足低时延低时延和实时实时的要求,而流媒体流媒体的相关应用则侧重于图像细节的处理侧重于图像细节的处理。因此

22、基于H.264 编码标准的视频会议与流媒体应用所实现的编码器的构成区别很大。2.1 2.1 流媒体应用中的实验结果和性能分析流媒体应用中的实验结果和性能分析 针对于流媒体应用, 基于H.264 测试模型JM-61e所 实现的主档次(MP)编码器 的构成特性如表6.18 所示, 并在此基础上实现了基于 Lagrangian优化算法的编码控 制模型。 输入帧频为30fs, 长度为 8.33秒。该 视频序列具有复杂 的运动和较高的空间 色彩细节,适于测试 流媒体应用中编码器 的性能。 2.2 2.2 视频会议应用中的实验结果和性能分析视频会议应用中的实验结果和性能分析 针对于视频会议应用,基于H.2

23、64 测试模型JM-61e所实现的基本档次(Baseline)编码器的构成特性如表6.20 所示,并在此基础上实现了基于Lagrangian 优化算法的编码控制模型。输入帧频为30f/s,长度为10秒。该视频序列中的物体几乎处于静止状态,适于测试视频会议应用中编码器的性能。 以上两个实验结果证实:实现了基于Lagrangian优化算法的编码控制模型的 H.264 编码器,其编码性能相较于以往的所有编码标准有了重大提高,并在流媒体及视频会议等视频应用中显示出了巨大潜力。第第6章章u6.8 CAVLC(基于上下文自适应的可变长编码)u6.9 CABAC(基于上下文的自适应二进制算术熵编码)u6.1

24、0 码率控制u6.11 去方块滤波 u6.12 其余特征 6.11去方块滤波去方块滤波 H.264/MPEG-4 AVC 视频编码标准中,在编解码器反变换量化后图像会出现方块效应。 其产生的原因有两个:l 最重要的一个原因是基于块的帧内和帧间预测残差的基于块的帧内和帧间预测残差的DCT变换变换。变换系数的量化过程相对粗糙,因而反量化过程恢复的变换系数带有误差,会造成在图像块边界上的视觉不连续。l 第二个原因来自于运动补偿预测。 (a) (b) 显然,去方块滤波器的作用是去除H.264编解码算法带来的方块效应。在滤波方块效应时,应该先判断该边界是应该先判断该边界是图像真实边界还是方块效应所形成的

25、边界(假边界)图像真实边界还是方块效应所形成的边界(假边界)。对真实边界不进行滤波处理,而对假边界则要根据周围图像块的性质和编码方法采用不同强度的滤波采用不同强度的滤波。图中在图中在DCT变变换边界换边界上有明上有明显的痕显的痕迹,呈迹,呈现出方现出方块形状块形状2.1 4*42.1 4*4方块的误差分析方块的误差分析 当对残差用方块变换进行编码时,方块边界方块边界比内部的编码误差大比内部的编码误差大。对这个现象的合理解释是内部点的重建是对周围点进行加权平均得到。而边界点所用到的加权平均点较少,所以重建效果较差。这个误差分布不均匀的后果是需要方块边界滤波以提高图像客观质量。 2.2 2.2 自

26、适应边界级滤波器自适应边界级滤波器 边界强度(Bs)决定去方块滤波器选择滤波参数,控制去除方块效应的程度。对所有4*4亮度块间的边界,边边界强度参数值在界强度参数值在0 0到到4 4之间之间,它与边界的性质有关。表6.22 说明Bs与相邻图像块的模式及编码条件的关系。表中的条件是从表的上部至下部进行判断从表的上部至下部进行判断的,直到某一条件满足,给Bs相应赋值。 色度块边界滤波的Bs值不另外单独计算,而是从相应亮度块边界的Bs值复制而来。2.3 2.3 自适应样点级滤波器自适应样点级滤波器 在去方块滤波中,非常重要的是要区分图像中的真实区分图像中的真实边界和由边界和由DCT DCT 变换系数

27、量化而造成的假边界变换系数量化而造成的假边界。为了保持图像的逼真度,应该尽量滤除假边界以不致被看出的同时保持图像真实边界不被滤波。 为了区分这两种情况,要分析每个需要被滤波的边界两边的样点值。这里,定义两个相邻4*4块中一条直线上的样点为 ,实际的图像边界在 之间 ,如图6.64所示。 如上小节所述,当Bs值为0时,滤波器对边界不起作用。对于Bs值为非0的边界,为区分上述真假两种边界,定义一对与量化有关的参数,为和,用来检查图像内容,以决定每个样本点集是否要被滤波。只有下述三个条件同时满足,直线上的样点才被滤波: (6.55) (6.56) (6.57) 和值根据边界两边的平均量化参数查表得到

28、。表示块间门限,表示块间门限,表示块内的边表示块内的边界门限界门限3.3.滤波过程滤波过程 3.1 3.1 滤波运算概述滤波运算概述 滤波应该在适当位置上进行,这样边界两边直线上修改过的样点值作为后续运算的输入值而不引入的误差。 滤波是基于宏块基础上的,先对垂直边界进行水平滤波,再对水平边界进行垂直滤波。对宏块的两个方向滤波都完成后才能进行后面宏块的滤波。对图像中宏块的滤波按raster扫描方式进行。对于每个宏块以及每个分量,先滤波对于每个宏块以及每个分量,先滤波纵向的边缘,从宏块的左侧的边缘开纵向的边缘,从宏块的左侧的边缘开始,按照几何学的顺序向宏块的右侧始,按照几何学的顺序向宏块的右侧边缘

29、处理,然后滤波横向边缘,从宏边缘处理,然后滤波横向边缘,从宏块的上部边缘开始,按照几何学的顺块的上部边缘开始,按照几何学的顺序向宏块的下部方向进行处理。序向宏块的下部方向进行处理。样点集的Bs值选择两种滤波方式:l特定滤波方式:针对Bs为4的强滤波l普通滤波方式:应用于其它情况(Bs1,2 ,3) 对每种方式,用阈值估计另外两个空间变化条件,以决定亮度点的滤波范围以决定亮度点的滤波范围。 (6.62) (6.63) 3.2 Bs3.2 Bs值从值从1 1到到3 3的边界滤波的边界滤波 (1)(1)基本滤波运算基本滤波运算 先讨论对亮度点的滤波。对这种模式的滤波,滤波后的 值按下式计算: (6.

30、64) (6.65) 其中 分两步计算,先计算它的初始值 ,再对这个初始值进行限幅后代入上式。 初始值 根据边界两边的样点值计算: (6.66) 只有式(6.62) 或(6.63)成立,才修正对应 值。如果即如果式(6.62)成立,滤波后的 值按下式计算: (6.67) 同样,如果式(6.63) 成立,滤波后的 值按下式计算: (6.68)可滤波可滤波可修正可修正对 的初始值按下式计算: (6.69) 按同样的关系式计算,用(2)(2)限幅限幅 如果上述初始值 直接应用在滤波计算中,则可能导致滤波频率过低,出现图像模糊。自适应滤波器的一个重要部分是限制的值。这个过程称为限幅。对于对于内部和边界

31、上的样点,限幅过程不同内部和边界上的样点,限幅过程不同。l 对于内部样点 用于滤波的值被限制在 范围内,IndexA和Bs越大,则c1也越大,允许更强的滤波。最终对p1和q1滤波的限幅值为: l对于滤波边界p0和q0样点,先将它的限幅值先将它的限幅值c0c0定为定为c1c1。 如果式(6.62)或(6.63)都成立,说明边界两边内部的变化强度小于阈值,需要对边界进行更强的滤波(同时如上述需要对p1和/或q1样点进行修正),c0c0将增加将增加1 1 。这样对边界样点的修正值为: 对色度点滤波,只对色度点滤波,只p0p0和和q0q0才被修正。滤波方法与亮度才被修正。滤波方法与亮度点一样,只是限幅

32、值点一样,只是限幅值c0c0为为c1c1加加1 1。i3.3 Bs3.3 Bs值为值为4 4的边界滤波的边界滤波 对亮度滤波,根据图像内容判断选择较强的4拍或5拍滤波器,还是较弱的3拍滤波器。4拍或5拍滤波器对边界两边的边界点及两个内部点进行修正。只有下面的跨边界差异的约束条件成立才使用较强的滤波器:第第6章章u6.8 CAVLC(基于上下文自适应的可变长编码)u6.9 CABAC(基于上下文的自适应二进制算术熵编码)u6.10 码率控制u6.11 去方块滤波 u6.12 其余特征 6.12其余特征其余特征 H.264 中,已编码图像存储在编码器和解码器的参考缓冲区(DPB ,解码图像缓冲区)

33、。当一幅图像在编码器被编码重建或在解码器被解码时,它存放在DPB并标定为以下中的一种:“非参考非参考” ” ,不用于进一步的预测;,不用于进一步的预测;短期参考图像;短期参考图像;长期参考图像;长期参考图像;直接输出显示。直接输出显示。 效率高的隔行视频编码工具应该能优化场宏块的压缩。H.264 采用宏块自适应帧场编码(MB-AFF)模式中,帧场编码的选择在宏块级中指定。且当前片通常是当前片通常是1616亮度像素亮度像素宽和宽和3232亮度像素高的单元组成亮度像素高的单元组成,并以宏块对的形式编码,如图6.67所示。编码器可按两个帧宏块或者两个场宏块来编码每个宏块对,也可根据图像每个区域选择最

34、佳编码模式。图6.67 所示的重排序扫描也须按图 6.68 所示的顺序进行。 组成片的编码数据存放在3个独立的DP(数据分割,A、B 、C)中,各自包含一个编码片的子集。分割包含片头和片中每个宏块头数据。分割包含帧内和 SI 片宏块的编码残差数据。分割C包含帧间宏块的编码残差数据。每个分割可放在独立的NAL单元并独立传输。4.H.2644.H.264传输传输 H.264 的功能分为两层,即视频编码层(VCL)和网络提取层(NAL)。VCL 数据即编码处理的输出,它表示被压缩编码后的视频数据序列。在 VCL 数据传输或存储之前,这些编码的 VCL 数据,先被映射或封装进 NAL 单元中。 每个

35、NAL 单元包括一个原始字节序列负荷(RBSP)、一组对应于视频编码数据的 NAL 头信息。NAL 单元序列的结构如下: H.264的编码视频序列包括一系列的 NAL单元,每个NAL单元包含一个RBSP。 典型的 RBSP 单元序列如图6.69 所示。每个单元都按独立的 NAL单元传送。NAL单元的头信息(一个字节)定义了RBSP 单元的类型,NAL单元的其余部分则为RBSP 数据。 参数集机制将一些重要的、改变少的序列参数和图像参数与编码片分离,并在编码片之前传送至解码端,或者通过其他机制传输。 SPS:序列序列参数集参数集,包含的是针包含的是针对一连续编对一连续编码视频序列码视频序列的参数的参数PPS:图像图像参数集参数集,对对应的是一个应的是一个序列中某一序列中某一幅图幅图像或者某几像或者某几幅图像幅图像谢谢观赏谢谢观赏

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号