一种低码率信源压缩编码方法
技术领域
本发明涉及数字电视图像压缩编码技术领域,尤其涉及一种低码率信源压缩编码方法。
背景技术
目前国内外的数字电视相关领域,都处于高速发展的时期。各种信源编码技术已经发展到了用户量巨大、相关基础(算法)技术比较成熟的阶段,但应用于特定适用环境的技术标准并不完善(如厂商主导的演播室/视频素材格式已存在许多特定标准,但适用于机顶盒终端的特定视频格式约束较少被提及),特别是针对轮换播发静态图像序列,尚无特定格式约束(因为目前在机顶盒上实现幻灯形态业务的主要技术方式是通过数据轮播图片文件的方式,而非采用传输视频流的方式,且此类形态的业务在多业务运营商开展的各类业务中一直是辅助型业务,因此少有厂商/多业务运营商研究以视频流方式实现静态图像轮换展现的技术规范)。
针对轮换播发静态图像序列,现在主要有两种处理方法。
一种是非MPEG体系的典型压缩图像编码格式(没采用时间域的预测分析),在传统广播电视专业领域最典型的代表是传统数字录像机采用的均是Digital-S/DVCPRO/DVCCAM/P2HD这4中图像编码格式,这4种格式主要都是由日本的JVC和松下提出的,都属于M-JPEG标准的帧内压缩场编码的方式,前3种都适用于SDTV节目制作/存储,后1种适于HDTV节目制作/存储。
M-JPEG把运动的视频序列作为连续的静止图像来处理(即每帧图像都按JPEG标准进行处理)。JPEG(详见ITU-T81或ISO/IEC 10918)包含两种基本压缩方法:第一种是有损压缩,它是以离散余弦变换(Discrete CosineTransform,DCT)为基础的压缩方法;第二种为无损压缩,又称预测压缩方法。M-JPEG使用的是第一种,即DCT压缩方法,其关键技术处理过程包括变换编码、量化、差分编码、运动补偿、霍夫曼编码和可变长游程编码等,这种压缩方式单独完整地压缩每一帧。
这种处理方法存在以下缺点:
(1)压缩效率低,占用资源大,存储/传输资源利用率低。因为M-JPEG的核心编码体系是针对单帧的没有关联的图像压缩设计的,所以对于原始图像序列只在各帧内的空间冗余进行压缩,而不对帧间的时间冗余进行压缩(在压缩时没有帧间预测),对于图像内容变化周期在秒级的原始静态图像序列,编码的冗余数据量十分庞大(超过90%)。
(2)不能被多数机顶盒的硬件解码芯片支持。因为M-JPEG发明至今一直被定位于应用于专业视频制作/非线性编辑领域,在民用的消费类电子产品领域几乎没有(历史上只被电子游戏机支持过)被设备提供商支持过。
(3)不支持三维立体节目格式。
另一种是针对视频图像序列连续压缩编码,现有的MPEG类(包括AVS/RMVB/MOV/WMV等包含时间域预测的有损压缩技术)节目流传输方式的实际应用技术方案主要都是针对传统动态连续视频而设计信源压缩编码方案,其实现主要分为两部分,一部分为主要与空间相关的帧内压缩编码,另一部分为主要与时间相关的帧间(包括像素条间的)压缩编码,分别说明如下(详细标准细节可参考ISO13818-2/ISO14496-10/GB/T 20090.2):
典型的空间域内视频数据压缩编码机制是原始未压缩的某一完整画面采用帧内压缩编码形成的图像称为I帧,在PAL制式下每个I帧包含40毫秒的画面信息数据,在NTSC制式下每个I帧通常包含33.67毫秒的画面信息数据,解码时不需要其它额外的信息。与其它画面类型作比较,I帧数据包的信息量最大,所以只是在需要时才发送I画面。I帧画面主要由变换系数组成,不含矢量。它允许解码设备进行跳转(包括解码起始)。MPEG-2定义的视频ES结构可分为6层(帧内压缩编码的数据层层嵌套了3~6层的数据):
<1>视频序列层。定义整个视频序列的结构,是节目的随机进入点。
<2>图像画面组(Group of Pictures,GOP)层。支持图象解码过程中的随机存取功能,GOP是视频编辑的随机进入点。
<3>图像层。包含一幅图象(帧)的所有编码信息,是编码处理的单位。
<4>象条层。在反DCT变换时提供同步的功能。
<5>宏块层。宏块是运动补偿处理的单位。由亮度块和色度块组成,包含P帧B帧的运动矢量。
<6>象块层。象块层是DCT变换的单位,提供DCT系数。
典型的时间域内的压缩编码机制是帧间编码依赖于压缩连续画面的相似之处。编码器在有了一个帧内(I帧)画面数据的基础上,下一个画面通过仅仅发送画面差异数据来创建(B帧或P帧数据)。当物体移动时,画面差异会增加,但由于移动物体在画面之间一般不大改变其外形,所以画面差异的大小可以通过运动补偿来抵销、如果运动可以被度量,那么可以通过将前面画面中的部分内容移动到新位置上的方法来创建当前画面中的近似值。这个移动处理过程由通过传送到解码器中的矢量来控制。矢量传送比发送画面差异数据所需的数据要小得多,同时采用帧内及帧间压缩编码形成的图像称为B帧和P帧。P帧为前向预测帧,每个P是以前一个时刻的I帧或P帧为预测参考对象进行编码的,P画面数据由在前面画面中描述的从每个宏块的矢量所组成,而不是由描述必须加到宏块上的校正或差异数据的变换系数所组成,P画面生成的数据大约是其参考I画面的一半。在I帧和P帧中间可以插入若干个B帧,B帧是从相邻的最近的I帧或P帧作双向预测进行编码的。形成P帧时参考帧帧存只要求存储一帧图象,而形成B帧时,参考帧需存储前后两帧图象,B画面数据由描述在前面或后面的画面数据中从哪里提取的矢量所组成。B画面包含变换系数,用于校正。由于双向预见非常有效,所以校正数据是最小的。B画面需要的数据大约是I画面的四分之一。
根据MPEG的编码思想,连续的视频信息是通过GOP拼接而成的,编码每个GOP由I画面数据开头,然后P画面间隔排列,余下的画面是B画面。一个GOP的结束被定义为下一个I画面前的最后一个画面。GOP的长度是很灵活的。但普通的值是12或15幅画面(考虑解码器的参考模型,为保证VBV不溢出而通常缓存半秒的图像信息)。在MPEG-2 Main ProfileMain Level的语法框架中,每个GOP至少包含一个I帧画面数据和一个预测帧数据(B或P),但是GOP的总长度和其中B或P帧的数量没有严格约束,因此在实际系统生成的视频流中,通常每个完整视频段落文件采用同一GOP格式(如IBBPBBI…)的编码方式,P画面数据在B画面数据之前发送。GOP中最后的B画面在下一个GOP的I画面出现之前不能被发送,这是因为需要该数据进行双向解码。为了使画面返回到其正确的顺序,每个画面均包含一个时间性参考值。由于画面率也被周期性地放在数据流的头部,所以MPEG文件可在解码器上按正确的顺序和时间时标显示。不按顺序发送画面数据越长就越需要额外占用编码器和解码器的缓存,同时也会造成更长时间的延迟。帧内预见或向前预见画面间的双向编码画面数量在实际应用中必须受到限制,以降低成本和减少延迟。对于给定质量而言,仅仅发送I画面所需的数据率是IBBP序列的两倍。当编辑功能很重要时,IB序列是一种有用的折衷办法。
现有MPEG-2视频标准的技术规范集包括6类(profile)4级(level)组成,并采用分级编码。所谓级是指MPEG-2的输入格式,标识从有限清晰度的VHS质量图象到HDTV图象,每一种输入格式编码后都有一个相应的范围。主级ML(Main Level):图象输入格式符合ITU-R Rec.BT 601格式,即720*480*30或720*576*25。相应编码的最大输出码率为15Mbps,高级类20Mbps。
所谓类是指MPEG-2的不同处理方法,每一类都包括压缩和处理方法的一个集合。不同的类意味着使用不同集合的码率压缩工具。越高的类编码越精细,而每升高一类将提供前一类没有使用的附加工具,当然实现的代价会更高。而解码器却是向下兼容的,任何一种高级类解码器,均应能解码用低级类方法编码的图像。MPEG-2共分6类:简单类SP(Simple Profile);主类MP(MainProfile),它比简单类增加了一种双向预测方法,在相同比特率的情况下,将给出比简单类更好的图像。主类的扩展类P(Profile),主要是由Tektronic公司和SONY公司在主类的基础上推出的更适用于演播室视频节目制作要求的数据压缩处理方法。信噪比可分级类SNRP(SNR Scaleable Profile);空间可分级类SPP(Spatially Scaleable Profile)和高级类HP(High Profile)。前两种可分级工具允许将编码的视频数据分为基本层和上层信号。基本层表示编码图像的基本数据,但代表的图像质量低;上层信号则可用来改进信噪比或清晰度。这就意味着有时解码器可以忽略比特流中的增强部分,而只解码比特流中的基本部分,仍可得到有用的图像序列,只不过此时所得的图像分辨率低一些,或者帧速率低一些,或者质量低一些。
这种处理方法存在以下缺点:
(1)没有针对轮换静态视频序列的低速率编码格式,传输资源利用率低(传输带宽消耗高)。因为Betacam-SX/HDV/AVCHD/AVC-Intra都是针对编码压缩传统动态连续视频而设计的图像压缩格式,对于图像内容变化周期在秒级的原始静态图像序列(即在1秒以内图像没有变化的未压缩的原始视频序列),编码的冗余数据量仍然十分庞大(超过90%)。
(2)定位应用于节目制作4:2:2的采样格式不能被机顶盒的硬件解码芯片支持。因为4:2:2的采样格式历来被定位于应用于专业视频制作/非线性编辑领域,目前全球没有任何一个广播机构播出的数字视频信号采用4:2:2的采样格式,因此在民用的消费类电子产品领域,4:2:2几乎没有被机顶盒硬解码芯片提供商支持过。
发明内容
本发明的目的在于提出一种低码率信源压缩编码方法,适用于轮换播发静态图像序列,在维持主观图像质量相对不降的前提下,能够有效降低冗余数据生成,提供以相对较低带宽/较高图像质量展现静态轮换图片信息的可能。
为达此目的,本发明采用以下技术方案:
一种低码率信源压缩编码方法,适用于轮换播发静态图像序列,包括以下步骤:
A、将每帧原始视频图像的全屏像素切割成8乘8像素块,经过DCT变换后成为8乘8系数块;
B、将其中系数进行加权后再次量化;
C、将系数按照大小的可能性的降序排列进行传送;
D、进行熵编码,运行长度编码传送系数中重复数据的数量,可变长度编码将经常出现的数值变换成短码字,不常出现的数值变换成长码字;
E、形成系数块数据,封装拼接到宏块数据包中;
F、进行时间域预测性编码,对两个帧内编码图像之间的预测性编码进行最简化处理,即宏块差值取最小编码值0;
G、将宏块数据包封装在像素条数据包中;
H、封装单帧图像数据包;
I、生成图像画面组序列,对解码目标输出帧频为25Hz的系统,在时间域上编排压缩图像序列时使相邻两个I帧类对象的编码间隔为960毫秒,对解码目标输出帧频为30Hz的系统,在时间域上编排压缩图像序列时使相邻两个I帧对象的编码间隔为967毫秒,每个图像画面组序列的相对持续时间为1000毫秒,其中包含一个在时间域上的I帧类对象,其余对象均为最小冗余的时间域预测类数据。
步骤A还包括以下步骤:
对于单独的图片类文件的内容,进行预处理,调整为编码系统可正确识别的8bit或10bit的Y/Cr/Cb格式的像素数据。
步骤A中,对彩色画面,色差Y、Cr和Cb数据被组合成分离的8乘8排列,并各自独立进行DCT变换。
步骤C中,按帧进行Z行扫描。
步骤E中,采用4:2:0宏块格式,即一个宏块包含四个亮度块、一个Cr块和一个Cb块。
步骤F中,宏块差值包括运动矢量和预测失误。
步骤F中,预测每个关键帧图像后面的24帧的运动矢量,包括运动补偿,预测性编码数据按MPEG定义的格式也保持在宏块数据包中。
步骤H中,将不包含时间域预测性信息的像素条数据包封装在关键帧I的数据包中,将包含时间域预测性信息的像素条数据包封装在单向预测型P帧中,将包含时间域预测性信息的像素条数据包封装在双向预测型B帧中。
步骤I中,在PAL制式下,被压缩编码的图像画面组序列按照IBBBBBBBBBBBBBBBBBBBBBBBP或IBBBBBBBBBBBBBBBBBBBBBBBB进行循环;在NTSC制式下,被压缩编码的图像画面组序列按照IBBBBBBBBBBBBBBBBBBBBBBBBBBBBP或IBBBBBBBBBBBBBBBBBBBBBBBBBBBBB进行循环。
步骤I中,图像画面组序列的编码类型采用MPEG-2的CBR编码方式,在SDTV系统中,压缩一般商业信息类节目图像内容,每个I帧对象被编码后的压缩后大小控制在10KB到20KB之间;在HDTV系统中,压缩一般商业信息类节目,每个I帧对象被编码后的压缩大小控制在40KB到80KB之间,压缩照片欣赏类节目,每个I帧对象被编码后的压缩大小控制在150KB到300KB之间。
采用了本发明的技术方案,针对ISO公认的主流编码体系(MPEG/WMV/AVS),提出了对长GOP的约束机制,在维持主观图像质量相对不降的前提下,有效降低了冗余数据生成;针对传统机顶盒(MPEG2硬件解码接收终端),提供了以相对较低带宽/较高图像质量展现静态轮换图片信息的可能。
可极大提高传统的以静态图像为背景的VOD节目(如卡拉OK点播/MV欣赏)的编码效率,有效降低节目存储和传输成本。
可极大的提高传统的高清照片欣赏类的电视频道的编码效率(采用MPEG2信源编码方式的HDTV频道的视频码率可降低到6Mbps以内),有效降低节目存储和传输成本。
数字电视运营商/传统广播机构可迅速开展海量的展现图音结合的信息业务频道(在SDTV系统中每个频道的信源编码速率低于1Mbps),有效增加数字电视用户的黏性。
现有的支持Main ProfileMain Level/High Level解码的机顶盒可以继续接收上述系统实现采用上述视频编码格式的新业务而无需升级更换程序(几乎所有机顶盒都支持MPEG2Main ProfileMain Level格式,而上述格式在MPEG2系统中的应用完全符合Main ProfileMain Level的解码硬件设计。
附图说明
图1是本发明具体实施方式中低码率信源压缩编码的流程图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
本发明技术方案设计的编码方案的信号源模型是针对图像内容变化周期在秒级的非压缩静态图像序列(即在1秒以内图像没有变化的未压缩的原始视频序列),目标模型是生成能被现有绝大多数机顶盒硬件解码芯片支持的低码率视频流。方案中针对冗余数据处理机制,是为了编码针对的内容在维持主观图像质量基本符合传统ITU-R BT.601定义的main profile和high profile要求的前提下,最大限度的节省传输带宽资源及存储资源。
图1是本发明具体实施方式中低码率信源压缩编码的流程图。如图1所示,该低码率信源压缩编码流程包括以下步骤:
步骤101、输入无压缩8bit或者10bit像素数据,无压缩8bit或者10bit像素数据是指典型的SDI接口中的最小数据块(像素),对于其它单独的图片类文件(如BMP/GIF/JPG)的内容,需进行预处理(如解JPEG压缩编码、保持图片宽高比并重采样调整图像分辨率为MPEG定义的范围、进行RGB->YUV色域变换),调整为编码系统可正确识别的8bit或10bit的Y/Cr/Cb格式的像素数据,再进行DCT处理,本方案定义压缩编码的重采样分辨率在符合MPEG2格式的前提下采用不高于原始视频序列的图像分辨率。
步骤102、用变换方法对原始视频图像空间(在每一图像帧内)频率进行分析,通过DCT转换获得每个频率需要的系数。
即将每帧原始视频图像的全屏像素切割成8乘8像素块,经过DCT变换后成为8乘8系数块。对彩色画面,色差Y、Cr和Cb数据被组合成分离的8乘8排列,并各自独立进行DCT变换。
步骤103、将其中系数进行加权后再次量化。
步骤104、将系数按大小的可能性的降序排列传送。在一个非交织系统中,系数的可能性在左上角数值最大,在右下角数值最小。使用时的最佳顺序是按45度对角线以之字形遍历。本格式面向的输入对象主要为静态图像,因此建议按帧进行Z行扫描。
步骤105、进行熵编码,运行长度编码(RLC)传送系数中重复数据的数量,而不是传送每个单独比特,可变长度编码(VLC)实现进一步压缩,将经常出现的数值变换成短码字,不常出现的数值变换成长码字。
步骤106、形成系数块数据,封装拼接到宏块(Macro Block)数据包中,本方案针对民用MPEG类解码设备,因此采用4:2:0宏块格式,即一个宏块包含四个亮度块、一个Cr块和一个Cb块。
步骤107、在空间域编码的基础上进行时间域预测性编码,对两个帧内编码图像之间的预测性编码进行最简化处理,即宏块差值(包括运动矢量和预测失误)取最小编码值0,预测每个关键帧图像后面的24帧的运动矢量,包括运动补偿,预测性编码数据按MPEG定义的格式也保持在宏块数据包中。
步骤108、将宏块数据包封装在像素条数据包中。
步骤109、封装单帧图像数据包,将不包含时间域预测性信息的像素条数据包封装在关键帧I的数据包中,将包含时间域预测性信息的像素条数据包封装在单向预测型P帧中,将包含时间域预测性信息的像素条数据包封装在双向预测型B帧中。
步骤110、生成图像画面组序列,对解码目标输出帧频为25Hz的系统,在时间域上编排压缩图像序列时使相邻两个I帧类对象的编码间隔为960毫秒,对解码目标输出帧频为30Hz的系统,在时间域上编排压缩图像序列时使相邻两个I帧对象的编码间隔为967毫秒,每个图像画面组序列的相对持续时间为1000毫秒(范围从一个I帧类对象开始到时间域上的下一个I帧类对象开始之前结束),其中包含一个在时间域上的I帧类对象(ISO13818-2定义的一个I帧相当于在ISO14496-10中定义的被描述为同一时间域不同空间域的多个I-slice),其余对象均为最小冗余的时间域预测类数据(即最小化P帧类和B帧类中与宏块相关的矢量及变换系数)。
上述GOP约束可视为:在PAL制式下,被压缩编码的图像画面组序列按照IBBBBBBBBBBBBBBBBBBBBBBBP或IBBBBBBBBBBBBBBBBBBBBBBBB进行循环;在NTSC制式下,被压缩编码的图像画面组序列按照IBBBBBBBBBBBBBBBBBBBBBBBBBBBBP或IBBBBBBBBBBBBBBBBBBBBBBBBBBBBB进行循环。
本方案建议图像画面组序列的编码类型采用MPEG-2的CBR编码方式,在SDTV系统中,压缩一般商业信息类节目图像内容,每个I帧对象被编码后的压缩后大小控制在10KB到20KB之间;在HDTV系统中,压缩一般商业信息类节目,每个I帧对象被编码后的压缩大小控制在40KB到80KB之间,压缩照片欣赏类节目,每个I帧对象被编码后的压缩大小控制在150KB到300KB之间。
三维立体静态节目的双通道视频也可采取上述策略,具体帧内压缩的数据和帧间压缩数据的具体编码形成方式完全按照MPEG4/WMV/AVS的文档描述的方式进行。
另外,对于信源处理,针对原始静态视频序列,可采用可变帧频的编码方式(即压缩编码的过程保持:f(帧频)=1/t(原始静态视频序列中两个相临有差异图像的时间间隔长度,使内容连续重复的静态帧只被提取一帧进行空间域的压缩编码),采用这一方式可完全不生成时间域的预测性数据信息(如MPEG2里的B或P类帧数据,或MPEG4里的预测类Slice信息数据),但是使用这一方案的前提是接收解码信号的目标终端实体支持可变帧频的信源编码方式并能进行解码补偿运算输出固定帧频(PAL制式对应25HZ)的非压缩数字视频信号以便在使用固定帧频的非压缩数字信号接口的显示终端进行展示。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。