便携式移动电视接收系统浅析(下)
时间:07-05
来源:
点击:
二、手机电视的信源压缩编码标准
是ITU-T视频编码专家组(VCEG)和ISO/IEC活动图像编码专家组(MPEG)的联合视频组(JVT)开发的一个新的数字视频编码标准,它既是ITU-T的,又是ISO/IEC的MPEG-4的第10部分。在技术上,标准中有多个亮点,如:统一的VLC符号编码;高精度、多模式的位移估计;基于4×4块的整数变换;分层的编码语法等。这些技术亮点使得它具备更好的压缩性能,同时也增强了对各种信道的适应能力,采用"网络友好"的结构和语法,有利于对误码和丢包的处理;应用范围较宽,以满足不同速率、不同解析度及不同传输(存储)场合的需求;这些使得算法具有很高的编码效率, 它的压缩率比MPEG-2高2~3倍,1Mb/s速率的图像效果接近MPEG-2中DVD的图像质量,同样,码流结构的网络适应性也很强,这增强了它的差错恢复能力,能够很好地适应IP和无线网络应用。是目前手机电视中最为理想的信源压缩编码标准。
1、的技术特点:
(1) 就改善图像质量有以下特点
运动补偿中的块大小可变,最小的亮度补偿块可以小到4×4。
采用了1/4采样精度的运动补偿,大大减少了内插处理的复杂度。
中运动矢量不再限制在已编码参考图像的内部。
中使用了高级图像选择技术,可以用已编过码且保留在缓冲区的图像进行预测。
消除了参考图像的顺序必须依赖显示图像顺序的这种相关性。
消除了参考图像与图像表示方式的限制,使B帧图像在很多情况下也能作为参考帧预测图像。
采用了加权预测,允许一定的加权补偿预测和偏移,在淡入淡出中可大大的提高编码效率。
改变了在以前的标准中,预测编码图像的"跳过"区不能有运动的限制。对"跳过"区的运动采用推测方法。对双预测的B帧图像,采用高级运动预测方法,称为"直接"运动补偿,进一步改善编码效率。
采用帧内编码的直接空间预测,将编码图像边沿进行外推应用到当前帧内编码图像的预测。
采用了循环去块效应滤波器,此消除基于块的视频编码在图像中存在块效应,改善视频的主观和客观质量。
(2) 就善预测方法来改善编码效率有以下特点:
①以前的标准变换的块都是8×8,主要使用4×4块变换,使编码器表示信号局部适应性更好,更适合预测编码,减少"铃"效应。另外图像边界需要小块变换。
②通常使用小块变换,但有些信号包含足够的相关性,要求以大块表示,这就是分级块变换。有两种方式实现。低频色度信号可用8×8,;对帧内编码,可使用特别的编码类型,低频亮度信号可用16×16块。
③所有以前标准使用的变换要求32位运算,C只使用16位运算的短字长变换。
④以前标准反变换和变换之间存在一定容限的误差,每个解码器输出视频信号都不相同,产生小的漂移,最终影响图像的质量,实现了完全匹配。
⑤使用两种熵编码方法,CAVLC(上下文自适应的可变长编码)和CABAC(上下文自适应二进制算术编码),两种都是基于上下文的熵编码技术。
(3)具有强大的纠错功能和各种网络环境操作灵活性,主要特性如下:
①的参数集结构设计了强大、有效的传输头部信息具有较强的抗误码特性,采用了很灵活、特殊的方式,分开处理关键信息,可以在各种环境下可靠传送。
②中的每一个语法结构放置在称为NAL网络抽象层的单元中,改变了以前标准中都要采用强制性特定位流接口的情况,能适应不同网络中的视频传输,有较好的网络亲和性。
③在可采用非常灵活的像条大小。
④可以将图像划分为像条组,每个像条可以独立解码。灵活宏块排序(FMO)通过管理图像区之间的关系,具有很强的抗数据丢失能力。
⑤支持任意的像条排序,每个像条几乎可以独立解码,所以像条可以按任意顺序发送和接收。在实时应用中,可以改善端到端的延时特性。
⑥为提高抗数据丢失的能力,允许编码器发送图像区的冗余表示,当图像区的主表示丢失时仍可以正确解码。
⑦可以根据每个像条语法元素的范畴,将像条语法划分为3部分,分开传送。
下面就的几个重要特性进行详细介绍:
1、帧内预测
对I帧的编码是利用空间相关性而非时间相关性而实现的。以前的标准只利用了一个宏块内部的相关性,而忽视了宏块之间的相关性,所以编码后的数据量较大。为了进一步利用空间相关性,引入了帧内预测以提高压缩效率。简单地说,帧内预测编码就是用周围邻近的象素值来预测当前的象素值,然后对预测误差进行编码。这种预测是基于块的,对于亮度分量,块的大小可以在16×16和4×4之间选择,16×16块有4种预测模式16×16 、 16×8 、 8×16 和 8×8,4×4块有9种。
预测模式;对于色度分量,预测是对整个8×8块进行的,有4种预测模式。除了DC预测外,其他每种预测模式对应不同方向上的预测。
2、帧间预测
(1)预测时所用块的大小可变
假设基于块的运动模型块内所有象素都做了相同的平移,在运动比较剧烈时或者在运动物体的边缘处,这一假设会与实际出入较大,导致较大的预测误差,这时减小块的大小可以使假设在小的块中依然成立。同时,小的块所造成的块效应相对也小,从而提高预测的效果。
一共采用了7种方式对一个宏块进行分割,每种方式下块的大小和形状都不相同,这就使编码器可以根据图像的内容选择最好的预测模式以提高预测效果。与仅使用16×16块进行预测相比,使用不同大小和形状的块可以使码率降低15%以上。
(2)更精细的预测精度
在中,亮度分量的运动矢量使用1/4象素精度。色度分量的运动矢量由亮度运动矢量导出,由于色度分量的分辨率是亮度分量的一半(对4∶2∶0),所以其运动矢量精度将为1/8。既一个单位的色度分量的运动矢量所代表的位移仅为色度分量取样点间距离的1/8。如此精细的预测精度,比整数精度可使码率降低20%以上。
(3)多参考帧
支持多参考帧预测,即可以有多于一个(最多5个)在当前帧之前的解码帧作为参考帧,产生对当前帧的预测。这适用于视频序列中含有周期性运动的情况。这种技术,可以改善运动估计的性能,提高解码器的错误恢复能力;但它也增加了缓存的容量,加大了编解码器的复杂性。与只使用一个参考帧相比,使用5个参考帧可以使码率降低5~10%。
(4)去块效应滤波器
它的作用是消除经反量化和反变换后重建图像中由于预测误差产生的块效应,即消除块边缘处的象素值跳变,从而改善图像的主观质量,并减小预测误差。中的去块效应滤波器还可以根据图像内容做出判断,只对由于块效应产生的象素值跳变进行平滑,而对图像中物体边缘处的象素值不连续给予保留,以免造成边缘模糊。与以往的去块效应滤波器同的是,经过滤波后的图像将根据需要放在缓存中用于帧间预测,而不是仅仅在输出重建图像时用来改善主观质量。对于帧内预测,使用的是未经过滤波的重建图像。
3、整数变换
对帧内或帧间预测的残差进行DCT编码。为了避免舍入误差造成的编码器和解码器之间不匹配的问题,对DCT的定义做了修改,使得变换仅用整数加减法和移位操作即可实现,这样在不考虑量化影响的情况下,解码端的输出可以准确地恢复编码端的输入。当然,这样做的代价是压缩性能略微下降。此外,该变换是针对4×4块进行的,这也有助于减小块效应。
为了进一步利用图像的空间相关性,在对色度分量的预测残差和16×16帧内预测的预测残差进行上述整数DCT之后,标准还将每个4×4变换系数块中的DC系数组成2×2或4×4大小的块,进一步做哈达玛(Hadamard)变换。
4、熵编码
对于Slice层以上的数据,采用Exp-Golomb码,这是一种没有自适应能力的VLC。而对于Slice层(含)以下的数据,如果是残差,有两种熵编码方式:基于上下文的自适应变长码(CAVLC)和基于上下文的自适应二进制算术编码(CABAC);如果不是残差,采用Exp-Golomb码或CABAC编码,视编码器的设置而定。
(1) CAVLC
VLC的基本思想就是对出现频率高的符号使用较短的码字,而对出现频率低的符号采用较长的码字。这样可以使得平均码长最小。
在CAVLC中,采用若干VLC码表,不同的码表对应不同的概率模型。编码器能够根据上下文,如周围块的非零系数或系数的绝对值大小,在这些码表中自动地选择,尽可能地与当前数据的概率模型匹配,从而实现上下文自适应的功能。
(2)CABAC
算术编码是一种高效的熵编码方案,其每个符号所对应的码长被认为是分数。由于对每一个符号的编码都与以前编码的结果有关,所以它考虑的是信源符号序列整体的概率特性,而不是单个符号的概率特性,从而能够更大程度地逼近信源的极限熵,降低码率。
中的CABAC实现了绕开算术编码中无限精度小数的表示问题和对信源符号概率进行估计的问题。在CABAC中,每编码一个二进制符号,编码器就会自动调整对信源概率模型(用一个"状态"来表示)的估计,随后的二进制符号就在这个新的概率模型基础上进行编码。这样的编码器不需要信源统计特性的先验知识,而是在编码过程中自适应地估计。这使得CABAC有更大的灵活性,可以获得更好的编码性能-码率降低大约10%。
5、SP Slice
SP Slice的主要目的是用于不同码流的切换,也可用于码流的随机访问、快进/快退和错误恢复。这里指的不同码流,是指在不同比特率限制下对同一信源进行编码所产生的码流。设切换前传输码流中最后一帧为Al,切换后的目标码流第一帧为B2(假设是P帧),由于B2的参考帧不存在,直接切换显然会导致严重失真,而且这种失真会向后传递。简单的解决方法就是传输帧内编码的B2,但是一般I帧的数据量很大,这种方法会造成传输码率陡然增大。根据前面的假设,由于是对同一信源进行编码,尽管比特率不同,但切换前后的两帧必然有相当大的相关性,所以编码器可以将Al作为B2的参考帧,对B2进行帧间预测,预测误差就是SP Slice,然后通过传递SP Slice完成码流的切换。与常规P帧不同的是,生成SP Slice所进行的预测是在Al和B2的变换域中进行的。SP Slice要求切换后B2的图像和直接传送目标码流时一样。当然,如果切换的目标是毫不相关的另一码流,SP Slice就不适用了。
6、灵活的宏块排序
灵活的宏块排序(FMO),是指将一幅图像中的宏块分成几个组,分别独立编码,某一个组中的宏块不一定是在常规扫描顺序下前后连续,而可能是随机地分散在图像中各个不同的位置。这样,在传输时,如果发生错误,某个组中的某些宏块不能正确解码时,解码器仍然可以根据图像的空间相关性,依靠其周围正确译码的象素,对其进行恢复。
这些特点使得它的应用场合相当广泛,包括可视电话(固定或移动)、实时视频会议系统、视频监控系统及因特网视频传输、多媒体信息存储等。
是ITU-T视频编码专家组(VCEG)和ISO/IEC活动图像编码专家组(MPEG)的联合视频组(JVT)开发的一个新的数字视频编码标准,它既是ITU-T的,又是ISO/IEC的MPEG-4的第10部分。在技术上,标准中有多个亮点,如:统一的VLC符号编码;高精度、多模式的位移估计;基于4×4块的整数变换;分层的编码语法等。这些技术亮点使得它具备更好的压缩性能,同时也增强了对各种信道的适应能力,采用"网络友好"的结构和语法,有利于对误码和丢包的处理;应用范围较宽,以满足不同速率、不同解析度及不同传输(存储)场合的需求;这些使得算法具有很高的编码效率, 它的压缩率比MPEG-2高2~3倍,1Mb/s速率的图像效果接近MPEG-2中DVD的图像质量,同样,码流结构的网络适应性也很强,这增强了它的差错恢复能力,能够很好地适应IP和无线网络应用。是目前手机电视中最为理想的信源压缩编码标准。
1、的技术特点:
(1) 就改善图像质量有以下特点
运动补偿中的块大小可变,最小的亮度补偿块可以小到4×4。
采用了1/4采样精度的运动补偿,大大减少了内插处理的复杂度。
中运动矢量不再限制在已编码参考图像的内部。
中使用了高级图像选择技术,可以用已编过码且保留在缓冲区的图像进行预测。
消除了参考图像的顺序必须依赖显示图像顺序的这种相关性。
消除了参考图像与图像表示方式的限制,使B帧图像在很多情况下也能作为参考帧预测图像。
采用了加权预测,允许一定的加权补偿预测和偏移,在淡入淡出中可大大的提高编码效率。
改变了在以前的标准中,预测编码图像的"跳过"区不能有运动的限制。对"跳过"区的运动采用推测方法。对双预测的B帧图像,采用高级运动预测方法,称为"直接"运动补偿,进一步改善编码效率。
采用帧内编码的直接空间预测,将编码图像边沿进行外推应用到当前帧内编码图像的预测。
采用了循环去块效应滤波器,此消除基于块的视频编码在图像中存在块效应,改善视频的主观和客观质量。
(2) 就善预测方法来改善编码效率有以下特点:
①以前的标准变换的块都是8×8,主要使用4×4块变换,使编码器表示信号局部适应性更好,更适合预测编码,减少"铃"效应。另外图像边界需要小块变换。
②通常使用小块变换,但有些信号包含足够的相关性,要求以大块表示,这就是分级块变换。有两种方式实现。低频色度信号可用8×8,;对帧内编码,可使用特别的编码类型,低频亮度信号可用16×16块。
③所有以前标准使用的变换要求32位运算,C只使用16位运算的短字长变换。
④以前标准反变换和变换之间存在一定容限的误差,每个解码器输出视频信号都不相同,产生小的漂移,最终影响图像的质量,实现了完全匹配。
⑤使用两种熵编码方法,CAVLC(上下文自适应的可变长编码)和CABAC(上下文自适应二进制算术编码),两种都是基于上下文的熵编码技术。
(3)具有强大的纠错功能和各种网络环境操作灵活性,主要特性如下:
①的参数集结构设计了强大、有效的传输头部信息具有较强的抗误码特性,采用了很灵活、特殊的方式,分开处理关键信息,可以在各种环境下可靠传送。
②中的每一个语法结构放置在称为NAL网络抽象层的单元中,改变了以前标准中都要采用强制性特定位流接口的情况,能适应不同网络中的视频传输,有较好的网络亲和性。
③在可采用非常灵活的像条大小。
④可以将图像划分为像条组,每个像条可以独立解码。灵活宏块排序(FMO)通过管理图像区之间的关系,具有很强的抗数据丢失能力。
⑤支持任意的像条排序,每个像条几乎可以独立解码,所以像条可以按任意顺序发送和接收。在实时应用中,可以改善端到端的延时特性。
⑥为提高抗数据丢失的能力,允许编码器发送图像区的冗余表示,当图像区的主表示丢失时仍可以正确解码。
⑦可以根据每个像条语法元素的范畴,将像条语法划分为3部分,分开传送。
下面就的几个重要特性进行详细介绍:
1、帧内预测
对I帧的编码是利用空间相关性而非时间相关性而实现的。以前的标准只利用了一个宏块内部的相关性,而忽视了宏块之间的相关性,所以编码后的数据量较大。为了进一步利用空间相关性,引入了帧内预测以提高压缩效率。简单地说,帧内预测编码就是用周围邻近的象素值来预测当前的象素值,然后对预测误差进行编码。这种预测是基于块的,对于亮度分量,块的大小可以在16×16和4×4之间选择,16×16块有4种预测模式16×16 、 16×8 、 8×16 和 8×8,4×4块有9种。
预测模式;对于色度分量,预测是对整个8×8块进行的,有4种预测模式。除了DC预测外,其他每种预测模式对应不同方向上的预测。
2、帧间预测
(1)预测时所用块的大小可变
假设基于块的运动模型块内所有象素都做了相同的平移,在运动比较剧烈时或者在运动物体的边缘处,这一假设会与实际出入较大,导致较大的预测误差,这时减小块的大小可以使假设在小的块中依然成立。同时,小的块所造成的块效应相对也小,从而提高预测的效果。
一共采用了7种方式对一个宏块进行分割,每种方式下块的大小和形状都不相同,这就使编码器可以根据图像的内容选择最好的预测模式以提高预测效果。与仅使用16×16块进行预测相比,使用不同大小和形状的块可以使码率降低15%以上。
(2)更精细的预测精度
在中,亮度分量的运动矢量使用1/4象素精度。色度分量的运动矢量由亮度运动矢量导出,由于色度分量的分辨率是亮度分量的一半(对4∶2∶0),所以其运动矢量精度将为1/8。既一个单位的色度分量的运动矢量所代表的位移仅为色度分量取样点间距离的1/8。如此精细的预测精度,比整数精度可使码率降低20%以上。
(3)多参考帧
支持多参考帧预测,即可以有多于一个(最多5个)在当前帧之前的解码帧作为参考帧,产生对当前帧的预测。这适用于视频序列中含有周期性运动的情况。这种技术,可以改善运动估计的性能,提高解码器的错误恢复能力;但它也增加了缓存的容量,加大了编解码器的复杂性。与只使用一个参考帧相比,使用5个参考帧可以使码率降低5~10%。
(4)去块效应滤波器
它的作用是消除经反量化和反变换后重建图像中由于预测误差产生的块效应,即消除块边缘处的象素值跳变,从而改善图像的主观质量,并减小预测误差。中的去块效应滤波器还可以根据图像内容做出判断,只对由于块效应产生的象素值跳变进行平滑,而对图像中物体边缘处的象素值不连续给予保留,以免造成边缘模糊。与以往的去块效应滤波器同的是,经过滤波后的图像将根据需要放在缓存中用于帧间预测,而不是仅仅在输出重建图像时用来改善主观质量。对于帧内预测,使用的是未经过滤波的重建图像。
3、整数变换
对帧内或帧间预测的残差进行DCT编码。为了避免舍入误差造成的编码器和解码器之间不匹配的问题,对DCT的定义做了修改,使得变换仅用整数加减法和移位操作即可实现,这样在不考虑量化影响的情况下,解码端的输出可以准确地恢复编码端的输入。当然,这样做的代价是压缩性能略微下降。此外,该变换是针对4×4块进行的,这也有助于减小块效应。
为了进一步利用图像的空间相关性,在对色度分量的预测残差和16×16帧内预测的预测残差进行上述整数DCT之后,标准还将每个4×4变换系数块中的DC系数组成2×2或4×4大小的块,进一步做哈达玛(Hadamard)变换。
4、熵编码
对于Slice层以上的数据,采用Exp-Golomb码,这是一种没有自适应能力的VLC。而对于Slice层(含)以下的数据,如果是残差,有两种熵编码方式:基于上下文的自适应变长码(CAVLC)和基于上下文的自适应二进制算术编码(CABAC);如果不是残差,采用Exp-Golomb码或CABAC编码,视编码器的设置而定。
(1) CAVLC
VLC的基本思想就是对出现频率高的符号使用较短的码字,而对出现频率低的符号采用较长的码字。这样可以使得平均码长最小。
在CAVLC中,采用若干VLC码表,不同的码表对应不同的概率模型。编码器能够根据上下文,如周围块的非零系数或系数的绝对值大小,在这些码表中自动地选择,尽可能地与当前数据的概率模型匹配,从而实现上下文自适应的功能。
(2)CABAC
算术编码是一种高效的熵编码方案,其每个符号所对应的码长被认为是分数。由于对每一个符号的编码都与以前编码的结果有关,所以它考虑的是信源符号序列整体的概率特性,而不是单个符号的概率特性,从而能够更大程度地逼近信源的极限熵,降低码率。
中的CABAC实现了绕开算术编码中无限精度小数的表示问题和对信源符号概率进行估计的问题。在CABAC中,每编码一个二进制符号,编码器就会自动调整对信源概率模型(用一个"状态"来表示)的估计,随后的二进制符号就在这个新的概率模型基础上进行编码。这样的编码器不需要信源统计特性的先验知识,而是在编码过程中自适应地估计。这使得CABAC有更大的灵活性,可以获得更好的编码性能-码率降低大约10%。
5、SP Slice
SP Slice的主要目的是用于不同码流的切换,也可用于码流的随机访问、快进/快退和错误恢复。这里指的不同码流,是指在不同比特率限制下对同一信源进行编码所产生的码流。设切换前传输码流中最后一帧为Al,切换后的目标码流第一帧为B2(假设是P帧),由于B2的参考帧不存在,直接切换显然会导致严重失真,而且这种失真会向后传递。简单的解决方法就是传输帧内编码的B2,但是一般I帧的数据量很大,这种方法会造成传输码率陡然增大。根据前面的假设,由于是对同一信源进行编码,尽管比特率不同,但切换前后的两帧必然有相当大的相关性,所以编码器可以将Al作为B2的参考帧,对B2进行帧间预测,预测误差就是SP Slice,然后通过传递SP Slice完成码流的切换。与常规P帧不同的是,生成SP Slice所进行的预测是在Al和B2的变换域中进行的。SP Slice要求切换后B2的图像和直接传送目标码流时一样。当然,如果切换的目标是毫不相关的另一码流,SP Slice就不适用了。
6、灵活的宏块排序
灵活的宏块排序(FMO),是指将一幅图像中的宏块分成几个组,分别独立编码,某一个组中的宏块不一定是在常规扫描顺序下前后连续,而可能是随机地分散在图像中各个不同的位置。这样,在传输时,如果发生错误,某个组中的某些宏块不能正确解码时,解码器仍然可以根据图像的空间相关性,依靠其周围正确译码的象素,对其进行恢复。
这些特点使得它的应用场合相当广泛,包括可视电话(固定或移动)、实时视频会议系统、视频监控系统及因特网视频传输、多媒体信息存储等。
- 大规模IPTV点播系统解决方案(08-18)
- 数字音视频编解码技术标准AVS(08-19)
- MPEG压缩软件测试(08-19)
- 数字电视与数字电视编码技术的发展简介(08-19)
- H.264 FRExt技术及其应用(08-28)
- IPTV编解码标准综述(08-26)