解码视频数据的解码器和系统的制作方法

文档序号:7959747阅读:247来源:国知局
专利名称:解码视频数据的解码器和系统的制作方法
技术领域
本发明涉及视频数据的解码,更具体地说,涉及一种针对多个标准的最佳单个逆量化引擎的硬件实现。
背景技术
压缩视频数据有很多不同的可用的标准。这些标准包括运动图像专家组(MPEG)公布的标准。由MPEG公布的标准包括MPEG-2和MPEG-4Part 10(又称为高级视频编码,现在又称为H.264)。
很多视频解码器系统都可对MPEG-2和H.264进行解码。然而,VC-1是由微软提出的新标准。尽管VC-1和H.264有很多相似之处,VC-1还具有很多不同特点。
比较本发明以下结合附图介绍的系统后,现有的和传统的方法的进一步局限性和缺点对于本领域的技术人员来说是很明显的。

发明内容
本发明提出了一种针对多个标准的最佳单个逆量化引擎的硬件实现。
在一个实施例中,提出一种逆量化已量化的频率系数的系统。所述系统包括用于逆量化按照第一编码标准编码的视频数据以及逆量化按照第二编码标准编码的视频数据的逆量化器。
在另一个实施例中,提出了一种解码视频数据的解码器。所述解码器包括可用于逆量化按照第一编码标准编码的视频数据以及逆量化按照第二编码标准编码的视频数据的逆量化器。
根据本发明的一个方面,提供一种解码视频数据的系统,所述系统包括逆量化器,逆量化按照第一编码标准编码的视频数据以及逆量化按照第二编码标准编码的视频数据。
优选地,所述第一编码标准是MPEG-2,所述第二编码标准是H.264。
优选地,所述逆量化器对按照第三编码标准编码的视频数据进行逆量化。
优选地,所述第一编码标准为MPEG-2,所述第二编码标准为H.264,所述第三编码标准为VC-1。
优选地,所述系统进一步包括对按照第一编码标准编码的视频数据进行逆量化的第一电路;对按照第二编码标准编码的视频数据进行逆量化的第二电路;对按照第三编码标准编码的视频数据进行逆量化的第三电路。
优选地,所述系统进一步包括组成所述第一电路、第二电路和第三电路的一部分的乘法器。
根据本发明的一个方面,提供一种解码视频数据的解码器,所述解码器包括逆量化器,逆量化按照第一编码标准编码的视频数据以及逆量化按照第二编码标准编码的视频数据。
优选地,所述第一编码标准是MPEG-2,所述第二编码标准是H.264。
优选地,所述逆量化器对按照第三编码标准编码的视频数据进行逆量化。
优选地,所述第一编码标准为MPEG-2,所述第二编码标准为H.264,所述第三编码标准为VC-1。
优选地,所述解码器进一步包括对按照第一编码标准编码的视频数据进行逆量化的第一电路;对按照第二编码标准编码的视频数据进行逆量化的第二电路;对按照第三编码标准编码的视频数据进行逆量化的第三电路。
本发明的优点、目的和新特性以及实施例的细节,可以通过接下来的阐述和附图进行全面了解。


下面将结合附图及实施例对本发明作进一步说明,附图中
图1是视频数据编码的框图;图2是根据本发明一个实施例的视频解码器的框图;图3是根据本发明一个实施例的逆量化器的框图;图4是根据本发明一个实施例对按照MPEG-2编码标准编码的视频数据进行逆量化的电路的框图;图5是根据本发明一个实施例对按照H.264编码标准编码的视频数据进行逆量化的电路的框图;图6是根据本发明一个实施例对按照VC-1编码标准编码的视频数据进行逆量化的电路的框图;图7是构成用于逆量化按照MPEG-1和MPEG-2、H.264和VC-1编码标准编码的视频数据的电路的一部分的多路复用器的框图;图8是根据本发明的一个实施例对多个标准的视频数据进行逆量化的流程图。
具体实施例方式
图1是视频数据编码的方框示意图。如图1所示,视频数据包括一系列的图象100。该视频数据使用各种利用时间和空间冗余的技术进行压缩。采用象素至频率变换可以利用空间冗余。所述变换产生一组频率系数105。然后对该频率系数105进行量化110。量化过程中可通过控制用于量化频率系数的比特数量来进一步压缩该视频数据。然后再使用额外的压缩技术对该视频数据进一步压缩。
所使用的量化技术取决于编码标准。所述编码标准包括运动图像专家组(MPEG)公布的标准,以及电影与电视工程师协会(SMPTE)公布并由微软提出的标准。由MPEG公布的标准包括MPEF-2和MPEG-4 Part 10(又称为高级视频编码,现在又称为H.264)。VC-1是SMPTE公布的标准,并由微软公司提出(作为WM9或Windows Media 9)。
图2所示为根据本发明一个实施例的视频解码器200的框图。视频解码器200包括熵预处理器210、编码数据缓存器215、变长解码器(variable lengthdecoder)220、控制处理器225、逆量化器230、宏块头处理器235、逆变换器240、动作补偿器245、解块器(debolcker)260、存储器访问单元255、帧缓存器250。
熵预处理器210接收编码视频数据。该编码视频数据包括熵编码的符号。熵预处理器210对熵编码的符号进行解码。熵预处理器210将该符号写入编码数据缓存器215内。变长解码器220对该编码视频数据中的变长码进行解码。
前述操作产生量化的频率系数110和宏块头。逆量化器230逆量化该已量化的频率系数110,产生频率系数105。逆变换器240逆变化该频率系数105,产生象素数据。动作补偿器245使用存储于帧缓存器250内的之前已解码的图象100对该象素数据进行动作补偿。
使用的量化技术取决于编码标准。如上所述,编码标准包括运动图像专家组(MPEG)公布的标准,以及电影与电视工程师协会(SMPTE)公布并由微软提出的标准。由MPEG公布的标准包括MPEF-2和MPEG-4 Part 10(又称为高级视频编码,现在又称为H.264)。VC-1是SMPTE公布的标准,并由微软公司提出(作为WM9或Windows Media 9)。因此,逆量化器230能够逆量化按照多个编码标准编码的视频数据。在本发明的某些实施例中,逆量化器230可逆量化按照MPEG-2、H.264和VC-1编码标准编码的视频数据。
图3所示为根据本发明一个实施例的逆量化器230的框图。逆量化器230包括运行级解码器和逆扫描器310、DC(直流)变换器315、DC预测器320、AC(交流)预测器325、逆量化引擎330和外部接口335。
运行级解码器/DC预测/逆扫描如果运行级解码器/逆扫描器310和DC预测器320的操作在时序上相依赖,那么它们可联合在一个数据通路内。运行级解码器/逆扫描器310执行“0”填充操作,该操作由当前运行级对(run-level pair)的运行计数决定。如果对于当前块激活了DC预测,DC预测器320执行DC预测,这表现在VC-1内部块内,基于临近的左、上和对角线位置的块的相关DC值,通过选择预测方向来完成。逆扫描操作基于查找表值提供正确的缓存器地址来完成。所述查找表的值在图像级初始化过程中被编程。
AC预测如果对当前解码下的块启用了AC预测,AC预测器325将执行AC预测。AC预测出现在VC-1视频标准中。DC预测器320提供预测方向,预测数据将来自顶行或左边的列。预测系数被写入DRAM内。
DC变换DC变换器315对AVC的仅DC的量度和色度子块执行与常数矩阵的矩阵乘法。基于此,该矩阵乘法通过累加操作来执行。对两组矩阵乘法的DC变换中有两次传递(passes)。
逆量化逆量化引擎330支持多个视频编码标准的逆量化。在本发明的某些实施例中,逆量化引擎230包括MPEG1/MPEG-2逆量化器、H.264逆量化器以及VC-1逆量化器,并且基于块类型(解码视频标准)可支持7类逆量化,其中MPEG2有2类,AVC有3类,VC-1有2类。逆量化的类型取决于宏块的类型和亮度-色度块(子块)。
MPEG-2逆量化在MPEG-2标准中,逆量化处理在数值上与下面的伪代码等效。逆扫描操作后,对系数的输出执行解量化操作。
for(v=0;v<8;v++){for(u=0;u<8;u++){if(QF[v][u]==0)F"[v][u]=0;
else if((u==0)&&(v==0)&&(macroblock_intra))(F"[v][u]=intra_dc_mult*QF[v][u];
}else{if(macroblock_intra){F"[v][u]=(QF[v][u]*W
[v][u]*quantiser_scale*2)/32;
}else{F"[v][u]=(((QF[v][u]*2)+Sign(QF[v][u]))*W[1][v][u]*quantiser_scale)/32;
}}}}解量化的结果用于饱和及不匹配操作。等同于如下的数学处理执行不匹配/饱和操作。
MPEG-2有2个类型的逆量化。该分类基于宏块的类型、内部或非内部宏块做出。在内部宏块的情况中,逆量化操作时包括有符号函数,其它情况中则不包括。
图4所示为根据本发明一个实施例对按照MPEG-2编码标准编码的视频数据进行逆量化的电路的框图。该电路使用2个操作独立的乘法器。在数据通路中有4个寄存器阶以减少关键的时序因素。
寄存器405和410从运行级解码器接收AC_Coeff数据。多路复用器415基于指示该宏块是否已内部编码或未内部编码的控制信号在寄存器405和寄存器410的内容之间进行选择。乘法器430将加权矩阵420的输出和标度图(scale map)425相乘。乘法器435将多路复用器415和乘法器430的输出相乘,并将获得的积提供给寄存器440。多路复用器445基于指示系数是AC系数或DC系数的信号AC_DC_SEL在寄存器440和DC系数DC_IN[11:0]的内容之间进行选择。寄存器450接收多路复用器445的选择,并提供逆量化输出IQ_OUT[11:0]。
H.264逆量化有3类逆缩放(或解量化)程序用于不同的子块类型。
1、量度,仅DC(luma DC-only)2、色度,仅DC子块3、所有其它色度和量度,AC和AC+DC子块。
在所有这些技术中,i和j构成针对每个字块内的系数的2维频率索引。量度DC子块逆缩放根据如下介绍执行如果QPY大于或等于12,缩放的结果推导为dcYij=(fij*LevelScale(QPY%6,0,0))<<(QPY/6-2),i,j=0..3 (式1)否则(QPY小于12),缩放的结果推导为dcYij=(fij*LevelScale(QPY%6,0,0)+21-QP/6)>>(2-QPY/6),i,j=0..3 (式2)以上操作的输出是矩阵dcY。色度DC子块逆缩放根据如下执行如果QPC大于或等于6,缩放结果推导为dcCij=(fij*LevelScale(QPc%6,0,0))<<(QPc/6-1),i,j=0,1 (式3)否则(QPC小于6),缩放结果可推导为dcCij=(fij*LevelScale(QPc%6,0,0))>>1,with i,j=0,1 (式4)所述操作的输出为矩阵dcC。
对于所有其它子块按照下面的等式执行缩放操作。如果是色度块,在下面的等式中QP=QPC。如果是亮度块,在下面的等式中QP=QPY。
Wij=(Cij*LevelScale(QP%6,i,j))<<(QP/6)(式5)其中i,j=0...3。
函数LevelScale(m,i,j)是用于逆缩放处理(或解量化处理)的数学函数,定义为如下 其中v的第一和第二下标表示下面指定的矩阵的行和列v=101613111814132016142318162520182923]]>图5所示为对使用H.264标准编码的视频数据进行逆量化的电路的框图。AVC的逆量化由等式1-5给出。对AC数据流需要执行5类逆量化操作。AVC可具有单独的仅DC的亮度和色度块,对于这些子块的逆量化操作是不相同的。所述操作中的共同特性是用固定的数字相乘以及右移。求模和除法通过使用查找表实现,因为查找表的输入具有固定数量的值。
QP_in用于寻址两个表QP%6 505和QP/6 510。在这两个表中各有51和31个条目,由等式1-5计算。基于将要解码的子块的类型,mux选择信号,AC_DC_Sel、QP纠正、Luma_dc_less_than_12被生成以将合适的表或已处理的表的值传递给乘法器。移位计数逻辑产生移位计数,即基于将要解码的块的Shift_Dir。移位器的方向基于被解码的量度-色度块确定,如图5所示。
Qp%6表505接收输入QP_in并提供输出至V矩阵C0、V矩阵C1和V矩阵C2。多路器515接收来自V矩阵C0、V矩阵C1和V矩阵C2的输出,并基于控制信号520选择3个之一。寄存器525接收多路器515的输出。多路器530接收DC变换输入(DC transform)和AC系数(AC Coeff),并基于控制信号AC_DC_Sel选择二者之一。
乘法器535接收并将寄存器525和多路器530的输出相乘。多路器540基于控制信号QP Correction输出1或2。加法器545将乘法器535和多路器540的输出相加。多路器550选择多路器535的输出和加法器545的输出两者之一,并将选择的结果提供给寄存器555。
寄存器560接收QP_by_6表510的输出,并将输出提供给多路器和570。多路器570在多路器565和寄存器560的输出之间选择。多路器570在多路器565和寄存器560的输出之间做选择。多路器575在1和2之间做选择。减法器580取出多路器570和575之间的差,并将结果提供给寄存器585。移位器590接收寄存器555和减法器585的内容,并提供逆量化后的输出IQ_OUT。
VC-1逆量化帧内块(intra block)内的DC系数量化DC系数通过执行如下的解量化操作来重建DCCoefficient=DCCoeffQ*DCStepSize(式6)DCStepSize的值以PQUANT(在P、B图像中是MQUANT)的值为基础,并通过DINO提供。CP-MIPS FW计算所述参数。
帧内块(intra block)内的AC系数和帧间块(inter block)内的系数帧内块的AC系数和帧间块的所有系数使用下面的过程进行解量化。
图像层参数PQUANT用于确定是否使用3-QP或5-QP恒域量化器。
dequant_coeff=quant_coeff*double_quant(如果使用3-QP恒域量化器)或者dequant_coeff=quant_coeff*double_quant+sign(quant_coeff)*quant_scale(如果使用5-QP恒域量化器) (式7)其中quant_coeff是量化系数qequant_coeff是逆量化系数double_quant=2*quant_scale(PQUANT或MQUANT)+HalfStepquant_scale=(PQUANT或MQUANT)half_step=在图像层编码的语句元素(syntax element)图6所示为对使用VC-1标准编码的视频数据进行逆量化的电路的框图。对于帧内块的DC值和帧内块与所有帧间块的AC值,VC-1内有两种逆量化操作,如等式6和7所示。
通用数据通路图用于执行上述两种逆量化操作。可选择AC和DC值来控制这些操作。控制单位基于解码时的变换系数产生AC DC选择信号。基于量化器恒域值,对AC值进行校正。如果量化器恒域是5QP,则考虑量化器缩放码并将其加入逆量化值。
如图所示,该电路包括将量化器缩放比例Quant_scale(Mquant或Pquant)乘2的第一乘法器605。多路器610接收乘法器605的输出和DC步长DC_STEPSIZE,并基于表示接收的系数是否为AC系数或DC系数的信号Ac_dc_sel选择二者之一。多路器615接收AC系数和DC系数,并基于信号Ac_dc_sel选择二者之一。寄存器620接收AC系数的符号SignofAC,并将该符号提供给乘法器630。乘法器630将AC系数的符号SignofAC与量化器缩放比例Quant_scale[4:0]相乘。
乘法器625接收并将多路器610和多路器615的输出相乘。加法器635接收并将乘法器625和乘法器630的输出相乘。多路器640接收乘法器625和加法器635的输出,并基于表示3QP恒域量化器或5QP恒域量化器的信号选择二者之一。
在本发明的某些实施例中,MPEG-2逆量化器、H.264逆量化器和VC-1逆量化器可使用共同的逻辑。参照图7所示为构成MPEG-1逆量化器、MPEG-2逆量化器、H.264逆量化器和VC-1逆量化器的一部分的乘法器705的框图。乘法器705执行MPEG-2逆量化器中的乘法器435、H.264逆量化器中的乘法器535和VC-1逆量化器中的乘法器625的功能。
6:2多路器710基于视频数据是否为MPEG-2、H.264或VC-1编码,接收多路器415、乘法器430、寄存器525、多路器530、多路器610和多路器615的输出。
参照图8所示为对多个标准的视频数据进行逆量化的流程图。在步骤805,接收到视频数据。在步骤810,确定视频数据的编码标准。如果在步骤810中确定视频数据是MPEG-2格式的,在步骤815中,按照用于MPEG-2标准的逆量化操作对该视频数据进行逆量化。如果在步骤810中确定视频数据是H.264格式的,在步骤820,按照用于H.264标准的逆量化操作对该视频数据进行逆量化。如果在步骤810中确定该视频数据是VC-1格式的,在步骤825,按照用于VC-1标准的逆量化操作对该视频视频进行逆量化。
本申请中所描述的实施例可实现为板级产品、单个芯片、专用集成电路(ASIC)、包括其它功能的ASIC的一部分或作为单独的部件与集成有其他部分的解码器系统的不同级一起实现。
解码器系统的集成度主要由速度和成本因素决定。因为现代处理器的复杂的特性,可以使用市场上可用的处理器,在ASIC的外部实现。如果该处理器可用作ASIC核或逻辑模块,那么市场上可用的处理器可实现为ASIC设备的一部分,其中某些功能可用固件实现。或者,所述功能可实现为处理器控制的硬件加速器单元。
上面已经结合附图对本发明的若干实施例进行了阐述,但本领域的技术人员显然知道,还可以对本发明进行各种变更和等效替换而并不脱离本发明的范围和实质。例如,逆扫描可发生在逆量化之前或之后。因此,术语“频率系数”应理解为涵盖量化频率系统和逆量化频率系数两者。此外,在不脱离本发明的精神实质和范围的情况下,可对本发明做多种修改以适应特殊的情况或材料。
因此,本发明并不限于公开的具体实施例,本发明包括落入权利要求范围内的所有实施例。
权利要求
1.一种解码视频数据的系统,所述系统包括逆量化器,逆量化按照第一编码标准编码的视频数据以及逆量化按照第二编码标准编码的视频数据。
2.根据权利要求1所述的系统,其特征在于,所述第一编码标准是MPEG-2,所述第二编码标准是H.264。
3.根据权利要求1所述的系统,其特征在于,所述逆量化器对按照第三编码标准编码的视频数据进行逆量化。
4.根据权利要求3所述的系统,其特征在于,所述第一编码标准为MPEG-2,所述第二编码标准为H.264,所述第三编码标准为VC-1。
5.根据权利要求3所述的系统,其特征在于,所述系统进一步包括对按照第一编码标准编码的视频数据进行逆量化的第一电路;对按照第二编码标准编码的视频数据进行逆量化的第二电路;对按照第三编码标准编码的视频数据进行逆量化的第三电路。
6.根据权利要求5所述的系统,其特征在于,所述系统进一步包括组成所述第一电路、第二电路和第三电路的一部分的乘法器。
7.一种解码视频数据的解码器,所述解码器包括逆量化器,逆量化按照第一编码标准编码的视频数据以及逆量化按照第二编码标准编码的视频数据。
8.根据权利要求7所述的解码器,其特征在于,所述第一编码标准是MPEG-2,所述第二编码标准是H.264。
9.根据权利要求7所述的解码器,其特征在于,所述逆量化器对按照第三编码标准编码的视频数据进行逆量化。
10.根据权利要求9所述的解码器,其特征在于,所述第一编码标准为MPEG-2,所述第二编码标准为H.264,所述第三编码标准为VC-1。
全文摘要
本发明公开一种针对多个标准的最佳单个逆量化引擎的硬件实现。一个实施例中,提供一种对已量化的频率系数进行逆量化的系统。所述系统包括逆量化按照第一编码标准编码的视频数据以及按照第二编码标准编码的视频数据的逆量化器。另一个实施例中,提供一种解码视频数据的解码器。所述解码器包括逆量化器。所述逆量化器可用于逆量化按照第一编码标准编码的视频数据以及逆量化按照第二编码标准编码的视频数据。
文档编号H04N7/26GK1842164SQ200610073729
公开日2006年10月4日 申请日期2006年4月1日 优先权日2005年4月1日
发明者哈斯卡·谢里加, 阿南德·汤格 申请人:美国博通公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1