数字媒体数据的编/译码方法及其比特流的处理方法转让专利

申请号 : CN200910146714.2

文献号 : CN101729889A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李坤傧

申请人 : 联发科技股份有限公司

摘要 :

一种数字媒体数据的编/译码方法及其比特流的处理方法。其中,数字媒体数据的编码方法包含:获取数字媒体数据的至少一部分预测信息与至少一部分预测误差信息;以及将数字媒体数据编码为比特流,其中比特流包含第一比特流区段以及第二比特流区段,第一比特流区段与第二比特流区段分别承载部分预测信息与部分预测误差信息;其中,在比特流中,部分预测信息与部分预测误差信息承载于非同一宏区块或宏区块的非同一子单元中。本发明可减少冗余信息,降低内存访问负担与硬件架构的计算负担。

权利要求 :

1.一种数字媒体数据的编码方法,其特征在于,包含:

获取所述数字媒体数据的至少一部分预测信息与至少一部分预测误差信息;以及将所述数字媒体数据编码为比特流,其中所述比特流包含第一比特流区段以及第二比特流区段,所述第一比特流区段与所述第二比特流区段分别承载所述部分预测信息与所述部分预测误差信息;

其中,在所述比特流中,所述部分预测信息与所述部分预测误差信息承载于非同一宏区块中或宏区块的非同一子单元中。

2.根据权利要求1所述的数字媒体数据的编码方法,其特征在于,所述部分预测误差信息包含残余信息。

3.根据权利要求1所述的数字媒体数据的编码方法,其特征在于,所述部分预测信息包含帧间预测信息或帧内预测信息。

4.根据权利要求3所述的数字媒体数据的编码方法,其特征在于,至少一部分所述帧间预测信息包含参考帧信息。

5.一种已编码的数字媒体数据的译码方法,其特征在于,包含:接收代表所述已编码的数字媒体数据的比特流,其中所述比特流包含第一比特流区段以及第二比特流区段,所述第一比特流区段与所述第二比特流区段分别承载所述数字媒体数据的至少一部分预测信息与所述数字媒体数据的至少一部分预测误差信息;以及根据所述部分预测信息与所述部分预测误差信息将所述比特流译码为数字媒体数据;其中,在所述比特流中,所述部分预测信息与所述部分预测误差信息承载于非同一宏区块中或宏区块的非同一子单元中。

6.根据权利要求5所述的已编码的数字媒体数据的译码方法,其特征在于,所述部分预测误差信息包含残余信息。

7.根据权利要求5所述的已编码的数字媒体数据的译码方法,其特征在于,所述部分预测信息包含帧间预测信息或帧内预测信息。

8.根据权利要求7所述的已编码的数字媒体数据的译码方法,其特征在于,至少一部分帧间预测信息包含参考帧信息。

9.根据权利要求7所述的已编码的数字媒体数据的译码方法,其特征在于,进一步包含:根据所述帧内预测信息的译码结果,确定是否暂时储存宏区块的相关信息,其中,在帧内预测模式中使用所述宏区块的相关信息以译码另一宏区块;以及根据确定的结果储存所述宏区块的相关信息。

10.根据权利要求7所述的已编码的数字媒体数据的译码方法,其特征在于,进一步包含:根据所述帧间预测信息的译码结果,确定是否暂时储存宏区块的相关信息,其中,在帧间预测模式中使用所述宏区块的相关信息以译码另一宏区块;以及根据确定的结果储存所述宏区块的相关信息。

11.根据权利要求7所述的已编码的数字媒体数据的译码方法,其特征在于,进一步包含:根据所述帧间预测信息的译码结果,确定是否于重建宏区块上实施后处理;以及根据确定的结果于所述重建宏区块上实施后处理。

12.根据权利要求5所述的已编码的数字媒体数据的译码方法,其特征在于,当译码两个连续的宏区块的预测信息时,无须译码所述两个连续的宏区块的预测误差信息。

13.一种数字媒体数据的编码方法,其特征在于,包含:

为所述数字媒体数据的多个宏区块确定初始编码模式,其中,根据所述初始编码模式,所述多个宏区块的至少一部分第一信息与至少一部分第二信息,分别由第一比特流区段以及第二比特流区段承载,其中所述第一比特流区段与所述第二比特流区段位于由所述数字媒体数据编码得到的比特流中;

分析自初始程序获取得到的统计信息,以确定应当对至少一部分的语法元素使用何种编码方法,其中所述初始程序是在所述初始编码模式中实施;以及将所述数字媒体数据编码为所述比特流。

14.根据权利要求13所述的数字媒体数据的编码方法,其特征在于,在为所述数字媒体数据的多个宏区块确定初始编码模式的步骤中,所述多个宏区块代表图像、切片或一组区块。

15.根据权利要求13所述的数字媒体数据的编码方法,其特征在于,所述第一信息代表所述多个宏区块的预测信息,所述第二信息代表所述多个宏区块的预测误差信息;以及所述语法元素包含所述预测信息以及/或所述预测误差信息。

16.根据权利要求13所述的数字媒体数据的编码方法,其特征在于,所述语法元素包含参考帧信息、运动向量信息以及/或残余非零信息。

17.根据权利要求13所述的数字媒体数据的编码方法,其特征在于,根据所述统计信息确定参考帧的编码方法,以及所述参考帧的所述编码方法由所述第一比特流区段与所述第二比特流区段前方的标头承载。

18.根据权利要求13所述的数字媒体数据的编码方法,其特征在于,进一步包含:根据所述统计信息确定参考帧的编码方法,其中所述编码方法从多个编码方法中选择得到,并且所述编码方法取决于宏区块中使用的参考帧系数的数量。

19.一种数字媒体数据的比特流的处理方法,其特征在于,包含:处理第一比特流区段与第二比特流区段,其中所述第一比特流区段与所述第二比特流区段分别承载所述数字媒体数据的至少一部分预测信息与所述数字媒体数据的至少一部分预测误差信息;

其中每一比特流区段承载多于一个最小已编码单元的信息。

20.根据权利要求19所述的数字媒体数据的比特流处理方法,其特征在于,所述处理包含译码与编码。

21.根据权利要求19所述的数字媒体数据的比特流处理方法,其特征在于,所述最小已编码单元在视频应用中为宏区块。

22.根据权利要求19所述的数字媒体数据的比特流处理方法,其特征在于,所述部分预测误差信息包含残余信息。

23.根据权利要求19所述的数字媒体数据的比特流处理方法,其特征在于,所述部分预测信息包含帧间预测信息或帧内预测信息。

24.根据权利要求23所述的数字媒体数据的比特流处理方法,其特征在于,至少一部分所述帧间预测信息包含参考帧信息。

说明书 :

技术领域

本发明涉及用于视频编码(video coding)的多参考帧架构(multiplereference frame architecture),尤其涉及数字媒体数据的编码方法、已编码的数字媒体数据的译码方法以及数字媒体数据的比特流的处理方法。

背景技术

考虑一种多参考帧架构(例如符合H.264规范的装置),当实施多帧运动补偿(motion compensation)时会产生一些问题,诸如复杂的内存访问行为(access behavior)以及对主存储器的高内存访问率等问题,其中的主存储器可以是由所述装置的处理器访问的动态随机存储器(Dynamic RandomAccess Memory,DRAM)。通常处理器与主存储器分别位于装置内的不同芯片中,而由于上述复杂的内存访问行为与/或对主存储器的高内存访问率的问题,可能会导致主存储器的内存带宽不足。
根据现有技术,已提出一些关于减少相应的内存需求(如对DRAM的内存需求)的方案,以解决部分上述问题。其中一种方案包含缩放译码图像(scaling decoded pictures),然而,经过缩放的图像质量通常会降低。另一种方案是以一种简单的方式来压缩译码图像,而这种简单方式无须随机地访问宏区块(MacroBlock,MB)。然而根据这种方案,同样难以防止图像质量下降的问题。再根据另一种方案,可应用对特定帧的及时(just-in-time)译码技术,但是对于低成本效益(cost-efficient)的硬件架构而言,其相应的计算负担非常沉重。
如上所述,以上述方案中的至少一种实施的架构,其总体性能通常都会由于多帧运动补偿的一些自身特性而减低。图1显示根据现有技术实施多帧运动补偿的情况。例如,参考图1所示的情况,宏区块的参考数据可来自多幅帧。另外,相对于单一帧运动补偿而言,多帧运动补偿引入更多的运动向量与更多的帧内预测信息(intra information)。并且,还可能遇到关于长期的内存管理的一些问题。因此,根据现有技术,尽管可能达成减少相应的内存需求的目标,但难以防止产生的令人不悦的副作用(side effect)。
考虑到现有技术的多参考帧架构的一项基本特征(essentialcharacteristic)是在同一宏区块层中编码过多的信息,如宏区块类型、参考帧列表、运动向量差(difference)、编码区块样式(coded block pattern)、转换类型、残余(residual)等信息,传统的编码方法必然会由于译码的结果有时包含冗余信息而不够完善。
特别地,在同一宏区块层内,根据传统的语法对预测信息(举例而言,如包含运动向量信息以及参考帧信息等信息的帧间预测信息,或者如包含帧内预测模式信息等信息的帧内预测信息)以及预测误差信息(举例而言,编码区块样式信息或残余信息)进行编码,其中单独对每一参考帧列表进行编码,并且每一参考帧独立于其它的参考帧。图2显示的是根据现有技术的利用传统语法在宏区块层中处理程序的流程图。因此,根据如图2所示的程序10中使用的传统语法(如H.264标准第7.3.5节所述的宏区块层语法),以此实施的多参考帧架构会遭受沉重的计算负担。所以,需要一种新的方法来减少上述的冗余信息数量以降低这种沉重的负担。

发明内容

为了解决上述数字媒体数据的编译码中复杂的内存访问行为以及对主存储器的高内存访问率等问题,本发明提供一种数字媒体数据的编码方法、已编码的数字媒体数据的译码方法以及数字媒体数据的比特流的处理方法。
根据本发明之一实施例,提供一种数字媒体数据的编码方法,包含:获取所述数字媒体数据的至少一部分预测信息与至少一部分预测误差信息;以及将所述数字媒体数据编码为比特流,其中所述比特流包含第一比特流区段以及第二比特流区段,所述第一比特流区段与所述第二比特流区段分别承载所述部分预测信息与所述部分预测误差信息;其中,在所述比特流中,所述部分预测信息与所述部分预测误差信息承载于非同一宏区块中或宏区块的非同一子单元中。
根据本发明之一实施例,提供一种已编码的数字媒体数据的译码方法,包含:接收代表所述已编码的数字媒体数据的比特流,其中所述比特流包含第一比特流区段以及第二比特流区段,所述第一比特流区段与所述第二比特流区段分别承载所述数字媒体数据的至少一部分预测信息与所述数字媒体数据的至少一部分预测误差信息;以及根据所述部分预测信息与所述部分预测误差信息将所述比特流译码为数字媒体数据;其中,在所述比特流中,所述部分预测信息与所述部分预测误差信息承载于非同一宏区块中或一宏区块的非同一子单元中。
根据本发明之一实施例,提供一种数字媒体数据的编码方法,包含:为所述数字媒体数据的多个宏区块确定初始编码模式,其中,根据所述初始编码模式,所述多个宏区块的至少一部分第一信息与至少一部分第二信息,分别由第一比特流区段以及第二比特流区段承载,其中所述第一比特流区段与所述第二比特流区段位于由所述数字媒体数据编码得到的比特流中;分析自初始程序获取得到的统计信息,以确定应当对至少一部分的语法元素使用何种编码方法,其中所述初始程序是在所述初始编码模式中实施;以及将所述数字媒体数据编码为所述比特流。
根据本发明之一实施例,提供一种数字媒体数据的比特流的处理方法,包含:处理第一比特流区段与第二比特流区段,其中所述第一比特流区段与所述第二比特流区段分别承载所述数字媒体数据的至少一部分预测信息与所述数字媒体数据的至少一部分预测误差信息;其中每一比特流区段承载多于一个最小已编码单元的信息。
与现有技术对比,本发明待编码的数字媒体数据的至少一部分预测信息与至少一部分预测误差信息无须属于同一比特流区段的同一宏区块层,对预测信息与预测误差信息的获取可部分独立或完全独立,从而可以仅暂时储存必要信息,减少内存访问负担,而且减少译码结果中的冗余信息,降低硬件架构的计算负担,因此相比于现有技术性能得以提升。

附图说明

图1显示根据现有技术实施多帧运动补偿的情况。
图2显示的是根据现有技术的利用传统语法在宏区块层中处理程序的流程图。
图3为根据本发明的第一实施例,分别在预测误差信息区段以及预测信息区段,利用一种新的语法实施宏区块层处理的程序900的流程图。
图4为图3所示的步骤910A中的子程序的流程图。
图5为图3所示的步骤910B中的子程序的流程图。
图6显示的是根据本发明第二实施例的切片层中比特流的比特流结构示意图。
图7显示的是根据本发明第三实施例的图像层中的比特流的比特流结构示意图。
图8显示的是根据本发明第四实施例的GOP层中的比特流的比特流结构示意图。
图9与图10显示了第五实施例的编码方法与先关技术中的传统编码方法的对比示意图。
图11进一步显示了图10中所示的编码方法中使用的符码的多个推广的比特流形式。
图12显示了第五实施例的变形与现有技术的传统编码方法的对比示意图。

具体实施方式

在说明书及前述的权利要求当中使用了某些词汇来指称特定的元件。所属领域中普通技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件。本说明书及前述的权利要求并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准则。在通篇说明书及前述的权利要求当中所提及的“包含”为一开放式的用语,故应解释成“包含但不限定于”。以外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表该第一装置可直接电气连接于该第二装置,或透过其它装置或连接手段间接地电气连接至该第二装置。另外,编码(coding)可泛指狭义的编码(encoding)与译码(decoding),具体视在文中的含义而定。
本发明提供一种数字媒体数据的编码方法,其中数字媒体数据具有至少一部分预测信息与至少一部分预测误差信息由不同的比特流区段(section)分别承载,并且进一步提供一种已编码的数字媒体数据的译码方法,其中数字媒体数据具有至少一部分预测信息与至少一部分预测误差信息由不同的比特流区段分别承载。特别地,数字媒体数据代表运动图像,而数字媒体数据的编码方法通常产生运动图像的比特流,其中本发明的编/译码方法可视需求而相结合。
根据本发明的不同实施例,原本利用传统编码语法在同一宏区块层编码的一部分信息,可以分开在如宏区块层的不同的宏区块层级(level)中编码。例如,由于至少一部分信息可视为若干宏区块的通用信息(globalinformation),所以上文述及的宏区块类型、参考帧列表与/或运动向量差等信息可不在同一宏区块层中编码。
请参照图3、图4与图5。图3为根据本发明的第一实施例,分别在预测误差信息区段以及预测信息区段,利用一种新的语法实施宏区块层处理的程序900的流程图。在图3所示的步骤910A中,于预测误差信息区段实施宏区块层处理。在图3所示的步骤910B中,于预测信息区段实施宏区块层处理。根据本发明的一个实施例,图4为图3所示的步骤910A中的子程序的流程图。根据本发明的另一个实施例,图5为图3所示的步骤910B中的子程序的流程图。如图3所示,步骤910A与步骤910B彼此独立执行而无须同时实施,接着在步骤920中实施后处理(post-processing)。
此处需注意,尽管图4中所示的步骤912A、步骤914、步骤916与步骤918分别对应于图2中所示的步骤12、步骤14、步骤16与步骤18,然而图4所示的实施例的步骤910A中的子程序不同于图2中所示的程序10。步骤910A中的宏区块层处理不包含准备预测信息的步骤(如在步骤10M中宏区块层处理的步骤13),步骤910A中需要利用所述的新语法(或另一种新语法),而非传统语法。因此,在步骤912A中,判断参数mb_type是否等于默认值I_PCM(mb_type==I_PCM?),其中I_PCM代表帧内编码的特定类型。当参数mb_type等于默认值I_PCM时,则进入步骤918以实施脉冲编码调制(Pulse Code Modulation,PCM)采样处理;否则,进入步骤914以确定CBP(即coded_block_pattern,代表编码区块样式)以及转换大小,接着在步骤916中确定mb_qp_delta(代表当前宏区块与现有宏区块的量化参数差)以及残余信息。
相似的,尽管图5中所示的步骤912B与步骤913分别对应于图2中所示的步骤12与步骤13,但图5所示的实施例的步骤910B中的子程序不同于图2中的程序10。步骤910B中的宏区块层处理不包含准备预测误差信息的步骤(如在步骤10M中宏区块层处理的步骤14或步骤16),步骤910B中需要利用所述的新语法(或另一种新语法),而非传统语法。因此,在步骤912B中,判断参数mb_type是否等于默认值I_PCM(mb_type==I_PCM?),其中I_PCM代表帧内编码的特定类型。当参数mb_type等于默认值I_PCM时,则跳过步骤913以终止子程序;否则,进入步骤913以获取预测信息,即运行sub_mp_pred(mb_type)或mp_pred(mb_type)。
预测误差信息区段以及预测信息区段分别代表比特流中的两个不同的比特流区段。总体而言,在本发明的不同实施例中,比特流可为待译码的比特流或是由编码产生的比特流,其中比特流中的两个比特流区段对应于一个大于宏区块的编码单元(在视频应用中宏区块可视为最小的已编码单元)。更具体地,预测误差信息区段与预测信息区段代表两个不同的比特流区段,所述的两个不同的比特流区段位于多宏区块层(multiple-MB layer)、切片层、图像层、图像组(Group Of Picture,GOP)层或大于GOP层的一层中。此处术语“多宏区块层”对应于包含多个宏区块的组,且如上所述的术语“多宏区块层”代表在该组中,当对这些宏区块的预测信息进行编码时,将这些宏区块的预测信息收集到一起(gathered together),当对这些宏区块的预测误差信息进行编码时,将这些宏区块的预测误差信息收集到一起。藉此,对于该组而言,可以分别对预测信息与预测误差信息进行译码。相似的,当预测误差信息区段与预测信息区段代表位于切片层的两个不同的比特流区段时,意味着,当对切片的宏区块的预测信息进行编码时,将该切片的这些宏区块的预测信息收集到一起,当对同一切片的这些宏区块的预测误差信息进行编码时,将同一切片的这些宏区块的预测误差信息收集到一起。藉此,对于该切片而言,可以分别对预测信息与预测误差信息进行译码。对于图像层、GOP层或大于GOP层的一层而言,具体描述均与上述相似,在此不再赘述。
因此,与现有技术对比,利用新语法,待编码的数字媒体数据的至少一部分预测信息与至少一部分预测误差信息无须属于同一比特流分区(partition)的同一宏区块层。换言之,当需要获取预测信息时,无须首先获取预测误差信息,这是由于对预测信息与预测误差信息的获取可在宏区块层处理中部分独立或完全独立。另外,当译码两个连续的宏区块的预测信息时,无须译码两个连续的宏区块的预测误差信息。
图6显示的是根据本发明第二实施例的切片层中比特流的比特流结构示意图。图6中示例性的切片#n包含切片起始码、分区PS(n,1)、分区PS(n,2)与分区PS(n,3)。第二实施例中的分区PS(n,1)承载信息,如切片标头信息及宏区块类型信息。分区PS(n,2)与分区PS(n,3)分别代表比特流中的两个各自的(respective)比特流区段,如前述的两个比特流区段。
根据第二实施例的第一实施选择,分区PS(n,2)与分区PS(n,3)分别承载预测信息(如预测模式信息)以及预测误差信息。根据第二实施例的第二实施选择,分区PS(n,2)与分区PS(n,3)分别承载预测误差信息与预测信息(如预测模式信息)。
根据第二实施例,当以本发明的方法实施的编码装置将数字媒体数据编码为比特流时,编码装置分别获取数字媒体数据的至少一部分预测信息与至少一部分预测误差信息,其中代表已编码的数字媒体数据的比特流包含两个比特流区段,该两个比特流区段分别承载所述的部分预测信息与所述的部分预测误差信息。因此,所述的部分预测信息与所述的部分预测误差信息承载于非同一宏区块或是宏区块的非同一子单元中。
在第二实施例中,部分预测误差信息包含残余信息。另外,部分预测信息包含运动向量信息与/或帧内预测信息,其中至少一部分运动向量信息包含参考帧信息。
另一方面,当以本发明的方法实施的译码装置译码上述已编码的数字媒体数据时,译码装置接收代表已编码的数字媒体数据的比特流,其中的比特流包含两个比特流区段,该两个比特流区段分别承载数字媒体数据的部分预测信息与部分预测误差信息,其中数字媒体数据是现有被编码为已编码的数字媒体数据。
对于I切片、P切片或B切片而言,可能存在帧内编码的(intra-coded)宏区块,其中此种宏区块可利用当前图像的采样作为参考。传统的译码器通常储存当前宏区块的信息,视其为对随后的宏区块进行译码的有用信息,而由此导致冗余内存访问以及不必要的内存访问负担。与此相反,参考图5,利用本发明方法的新的比特流结构(如图6所示),可从比特流中单独译码预测信息(如预测模式信息),并且相应地可知整个切片的所有宏区块所利用的参考。因此,根据帧内预测信息的译码结果,本实施例的译码装置确定是否暂时储存当前宏区块的相关信息,其中储存的当前宏区块的相关信息被用于帧内预测模式中,以对之后的另一待处理宏区块进行译码。此处仅暂时储存必要信息,可减少内存访问负担,因此相比于现有技术性能得以提升。
对于P切片或B切片而言,可能存在帧间编码的(inter-coded)宏区块,其中此种宏区块可利用另一图像的采样作为参考。参考图5,利用本发明方法的新的比特流结构(如图6所示),可从比特流中单独译码预测信息(如预测模式信息),并且由于相应地可知整个切片的所有宏区块利用的参考,根据帧间预测信息的译码结果,本实施例的译码装置确定是否暂时储存当前宏区块的相关信息。储存的当前宏区块的相关信息被用于帧间预测模式中,以对之后的另一待处理宏区块进行译码。此处可预先实施对参考的一些预处理,以防止整个译码过程中的处理负担/内存访问负担陡增。例如,由于参考中的一些参考数据可能已被压缩,译码装置提前解压缩要用到的参考或解压缩要用到的参考中的一些区域,因此相比于现有技术性能得以提升。
根据本实施例的变形,以本发明的方法实施的译码装置进一步确定,是否根据帧间预测信息的译码结果在重建宏区块上实施后处理。
图7显示的是根据本发明第三实施例的图像层中的比特流的比特流结构示意图。其中,第三实施例是第二实施例的一种变形。在图7中,示例性的图像#n包含图像起始码、分区PP(n,1)、PP(n,2)以及PP(n,3)。与图6相比,图7中由图像层替代切片层,切片层的分区PS(n,1)、PS(n,2)以及PS(n,3)分别由图像层的分区PP(n,1)、PP(n,2)以及PP(n,3)替代,其中分区PP(n,2)以及PP(n,3)代表前述的比特流区段。根据第三实施例的第一实施选择,分区PP(n,2)与分区PP(n,3)分别承载预测信息(如预测模式信息)以及预测误差信息。根据第三实施例的第二实施选择,分区PP(n,2)与分区PP(n,3)分别承载预测误差信息与预测信息(如预测模式信息)。本实施例中的分区具有各自的切片层信息。
图8显示的是根据本发明第四实施例的GOP层中的比特流的比特流结构示意图。其中,第四实施例是第二实施例的另一种变形。在图8中,示例性的GOP#n包含分区PGOP(n,1)、PGOP(n,2)。与图6相比,在图8中由GOP层替代切片层,切片层的分区PS(n,2)以及PS(n,3)分别由GOP层的分区PGOP(n,1)、PGOP(n,2)替代,其中分区PGOP(n,1)以及PGOP(n,2)代表前述的比特流区段。根据第四实施例的第一实施选择,分区PGOP(n,1)与分区PGOP(n,2)分别承载预测信息(如预测模式信息)以及预测误差信息。根据第四实施例的第二实施选择,分区PGOP(n,1)与分区PGOP(n,2)分别承载预测误差信息与预测信息(如预测模式信息)。本实施例中的分区具有各自的图像层信息与切片层信息等。
一种特定的视频编码标准允许帧间编码的宏区块参考多幅参考帧,在这种情况中,本发明的方法(尤其是第四实施例)可便捷地适用于这种特定的视频编码标准。由于整个GOP的所有图像所利用的参考(如参考图像)都是已知的,那么可以进一步减少本实施例的译码装置对外部内存的利用需求以及相应的内存访问负担,而使得根据特定的视频编码标准实施本发明的方法具有较高的可行性(feasibility)以及/或较高的弹性(flexibility)。
举例而言,除了图像Pic(m)中的特定的区域之外,并没有参考图像Pic(m)中的其它区域。在实际操作中,当已经播放过图像Pic(m)时,本实施例的译码装置仅暂时储存图像Pic(m)特定区域的相关信息,而不是储存整个图像Pic(m)的数据。相似的,当除了作为参考帧之外不再需要利用到图像Pic(m)时,本实施例的译码装置仅暂时储存图像Pic(m)特定区域的相关信息,而不是储存整个图像Pic(m)的数据。
根据第二实施例的另一种变形,用于安置(arranging)所述两个比特流区段的切片层由用于安置所述两个比特流区段的序列替代,其中一个比特流区段承载预测信息(如预测模式信息)而另一个比特流区段承载预测误差信息。此变形与上文相似之处不再赘述。
考虑上述的新语法,相较于根据传统语法实施的编码方法,本发明的方法提供表示参考帧系数(index)的更好的编码方法,其中,参考帧系数在帧间预测模式中使用到。在第五实施例中,处理装置可用于将数字媒体数据编码为比特流。第五实施例是第一实施例的一种变形。处理装置可进一步用于将所述比特流译码为数字媒体数据,或者在必要时将比特流的再生形式(reproduced form)译码为数字媒体数据。例如,处理装置可为用于在数字录像机(video recorder)中实施图像处理的微处理器。
根据本发明的第五实施例,当将数字媒体数据编码为比特流时,处理装置可首先确定媒体数字数据的多个宏区块的初始编码模式,其中,取决于本实施例的不同实施选择,多个宏区块可代表图像、切片或一组区块。根据初始编码模式,数字媒体数据的宏区块的至少一部分预测信息(可称为第一信息)与至少一部分预测误差信息(可称为第二信息),分别由两个不同的比特流区段承载(例如前述的两个比特流区段)。另外,处理装置从初始程序中获取特定的统计信息,其中初始程序是在初始编码模式中实施的。通过分析统计信息,处理装置确定应对至少一部分的语法元素使用何种编码方法(如熵编码方法)。例如,语法元素包含预测信息与/或预测误差信息。在另一些例子中,语法元素包含参考帧信息、运动向量信息与/或残余的非零信息。
在本实施例中,处理装置根据统计信息确定对参考帧使用何种编码方法,其中参考帧的编码方法由两个比特流区段前方的标头承载。通常,从多个编码方法中选择出上述编码方法,而较佳的编码方法取决于宏区块中所使用到的参考帧系数的数量。
在实践中,编码方法取决于所使用的参考帧的数量。更具体地,处理装置对不同的情况确定不同的编码方法,其中所述的不同情况中分别使用1、2、3、...、k个参考帧。例如,对于这些不同的情况,可使用不同的编码方案(如不同的编码对应表)。需要注意,根据本实施例,对统计信息独立地计算前向预测使用的参考帧数量与后向预测使用的参考帧数量。举例而言,在一种情况中,前向预测使用一个参考帧而后向预测也使用一个参考帧,无论对于前向预测还是后向预测,都认为是使用一个参考帧的情况来确定编码方法。
此外,编码方法取决于当前宏区块中所使用的参考帧系数的数量。更具体地,由于使用了两个比特流区段(如图6~8显示的实施例之一中的比特流区段)以分别承载一部分预测信息与一部分预测误差信息,处理装置可获取宏区块使用的参考帧系数的最大可能数量。例如,特定宏区块的宏区块分区是16×8或8×16的。如果特定宏区块位于P图像中,应当仅有两个参考帧系数。如果特定宏区块位于B图像中,应当有四个参考帧系数。
以特定宏区块位于P图像为例,请参照图9与图10以了解根据第五实施例的不同实施选择的相关编码方法的实施详情。图9与图10显示了第五实施例的编码方法与先关技术中的传统编码方法的对比示意图。根据第五实施例的第一实施选择,当仅使用三个参考帧时,在图9中显示的九个数据行(row)中列出了九种不同情形,在该模式中使用两个参考帧系数block_a、block_b。其中所示的传统编码方法,当参考帧系数等于0、1、2时,传统编码方法的符码(code)分别等于1、010、011。根据第五实施例的第二实施选择,当使用四个参考帧时,在图10中显示的十六个数据列中列出了十六种不同情形,在该模式中使用两个参考帧系数block_a、block_b。其中所示的传统编码方法,当系数等于0、1、2、3时,传统编码方法的符码分别等于1、010、011、00100。
根据第五实施例的第三实施选择,图11进一步显示了图10中所示的编码方法中使用的符码的多个推广的比特流形式。考虑图10中所示的编码方法的符码,第一符码“1”对应于图11中所示的比特流形式“1”,而符码“010”与“011”对应于图11中所示的比特流形式“01X0”。类似地,符码“00100”、”00101”、“00110”对应于图11中所示的比特流形式“0 0 1 X1 X0”,符码“0001000”、“0001001”、...、“0001111”对应于图11中所示的比特流形式“0 0 0 1 X2 X1 X0”,等等。请注意图11中所示的每一比特流形式,是根据与图10中所示的编码方法相应符码的符码数量codeNum的二进制数表示的。图11中列出了每一比特流形式的符码数量codeNum的范围。
根据第五实施例的一种变形,图12显示的是在特定宏区块位于P图像中的情况下相关编码方法的实施详情。图12显示了第五实施例的变形与现有技术的传统编码方法的对比示意图。其中所示的传统编码方法,当系数等于0、1、2、3时,传统编码方法的符码分别等于1、010、011、00100。依照第五实施例的变形,编码方法是根据处理装置预测得到的特定概率数值,从第五实施例中所使用的那些编码方法调整而来。例如,当参考帧系数(block_a,block_b)等于(0,2)时,相应的编码方法提供5位的符码“00100”。另外,当参考帧系数(block_a,block_b)等于(1,0)时,相应的编码方法提供3位的符码“011”。
尽管第五实施例及图12所示的其变形是以CAVLC熵编码来叙述的,但本发明并不仅限于此。根据第五实施例的另一变形,可以利用其它种类的熵编码来替代CAVLC熵编码。
虽然本发明已就较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作各种的变更和润饰。因此,本发明的保护范围当视之前的权利要求书所界定者为准。