视频编码的低复杂性和统一标准的变换的制作方法

文档序号:6417360阅读:163来源:国知局
专利名称:视频编码的低复杂性和统一标准的变换的制作方法
技术领域
本发明涉及视频编码,更特别的是,视频编码的低复杂性和统一标准的变换。
背景技术
数字电视和DVD-视频已经由视频压缩技术的标准化成为可能。新近的标准,ITU-T H.264(以下称H.264)实现新一代的应用。H.264标准不明确地定义多媒体数字信号编解码器。标准更合适的用解码比特流的方法定义编码的视频比特流的语法。
可以根据在H.264标准中提出的方法,部分处理建立能解码的编码视频比特流,编码器实现变换和量化。具体地说,编码器划分数据为宏块,变换,量化和编码各宏块。以前的标准使用8×8离散余弦变换(DCT)作为浮点系数运行的基本变换。相反,H.264的草案版本(T.Wiegand,ed.,Editor’s Proposed Draft Text Modifications for Joint VideoSpecification(ITU-T Rec.H.264|ISO/IEC 14496-10 AVC),Draft 7,Section12,4,3)使用像DCT的4×4整型变换,但能在许多不同的块大小(4×4,4×8,8×4和8×8)中实施此变换。系数从变换阶段作量化。量化后,熵编码量化的系数。
H.264的解码方法是上面描述的编码处理的逆。具体地说,实施逆量化和逆变换随后编码的数据经历熵解码。更特别的如在H.264标准早期的草案(参考JFCD)中提出的,在解码器中,在安排量化的系数为二维阵列(大小为4×4,4×8,8×4或8×8)后,实施逆量化。在执行逆量化后,对系数实施逆变换,典型地,首先在水平方向然后在垂直方向。最后定标产生的值。在4×8,8×4或8×8块大小中,在实施水平和垂直逆变换之间执行附加的定标运算。
不管块的大小(例如,4×4块,4×8块,8×4块和8×8块),使用同样的量化参数(QP)指出在编码器中量化执行的精细或粗糙。通常QP是0和51之间的正整数值。在一个现有技术的实施例中,例如,4×8,8×4和8×8块的QP限制在值12或更大,如在Joint VideoSpecification(ITU-T Rec.H.264|ISO/IEC 14496-10 AVC的T.Wiegand,Ed.,“Joint Final Committee Draft(JFCD)”(下文中称“Wiegand”)中描述的,合并在此作为参考。如在那里讨论的,使用阵列实施逆量化,称为阵列V,对三个不同块大小类型的每一个,即4×4块,4×8块,8×4块和8×8块,V是不同的。
对4×4块,阵列V显示在图1A,对各量化的系数c_ij,作为对量化的系数块作用阵列V的结果,获得系数w_ij,在标准的C-语言表示法中为w_ij=(c_ij*R_ij(QP%6))<<(QP/6)其中,如果ij是在(00,02,20,22)中,R_ij(m)等于V_m0,如果ij是在(11,13,31,33)中,等于V_m1,其它的,等于V_m2,其中V_mn是在阵列V的第m行第n列的项。
对8×4或4×8块,阵列V显示在图1B中。
对各量化的系数c_ij,作为对量化的系数块作用阵列V的结果获得系数w_ij为w_ij=(c_ij*R_ij(QP%6))<<((QP/6)-2)其中,如果i对(4×8块)或j对(8×4块)是在(0,2)中,R_ij(m)等于V_m0,其它的等于V_m1。
对8×8块,阵列V显示在图1C中。对各量化的系数c_ij,作为对量化的系数块作用阵列V的结果获得系数w_ij为w_ij=(c_ij*R_ij(QP%6))<<((QP/6)-2)其中R_ij(m)等于V_m。
在执行逆量化后,对系数执行逆变换。如H.264草案标准的一个实施例的部分中,对系数实施逆变换包括实施水平变换,执行中间定标,实施垂直变换,和执行最终定标。典型的,使用的逆变换是可分离的变换,因此典型的分别使用大小为4和8的两个1-维变换。
基础矢量定义逆变换。由显示在图2A中的矩阵M4定义大小为4的一个现有技术变换的基础矢量,而由显示在图2B中矩阵M8定义大小为8的一个现有技术变换的基础矢量。
由执行系数的阵列W和包括基础矢量(即,对4×4和4×8块的变换矩阵为M4,对8×4和8×8块的变换矩阵为M8)的相应变换矩阵的转置之间的矩阵乘,实施在一个现有技术实施例中的水平变换。包含水平变换结果的矩阵Z1确定为Z1=W*转置(M4)对4×8和4×4块Z1=W*转置(M8)对8×4和8×8块其中“*”表示矩阵乘。
由定标矩阵Z1执行中间定标,根据以下公式产生水平变换Z_ij=sign(Z1_ij)*((abs(Z1_ij)+(1<<(B-1))>>B),其中Z_ij是矩阵Z1的系数,对4×4块B是0,对4×8和8×4块B是2,对8×8块B是7。
下面,实施垂直变换。给定阵列Z,由执行阵列Z和包括基础矢量(即,对8×4和4×4块变换矩阵为M4,对8×8和4×8块变换矩阵为M8)的相应变换矩阵之间的矩阵乘,实施垂直逆变换。包含垂直变换结果的矩阵X1确定为X1=M4*Z对8×4和4×4块X1=M8*Z对8×8和4×8块在实施垂直变换后,根据以下公式,由定标垂直变换的结果完成最后的定标X_ij=(X1_ij+32)>>6
典型的使用M4或转置(M4)实现矩阵乘如下。给定输入矢量w
,由以下公式获得输出矢量xz
=w
+w[2]z[1]=w
-w[2]z[2]=(w[1]>>1)-w[3]z[3]=w[1]+(w[3]>>1)x
=z
+z[3]x[1]=z[1]+z[2]x[2]=z[1]-z[2]x[3]=z[1]-z[3]上面的步骤实施四次完成矩阵乘,一次对输入矩阵的每行或列。
以此方式执行逆量化限制4×4信息块的量化参数QP值为0-51,对4×8,8×4和8×8信息块为12-51,因此除了4×4限制了获得最高的变换质量。
此外,实现如上面描述的逆变换,在逆水平变换和垂直变换中需要乘运算,和中间定标,至少对8×4,4×8和8×8信息块的运算。乘消耗大量的处理运算,因此变换的基础矢量需要修改使得能如在4×4情况中那样快速实现。
此外,为了执行上面描述的定标,使用不同的基于执行的逆变换的表。即,因为有基于不同块大小的多重的变换,当执行定标时有许多必须使用的表。要求使用多重表不是最有效的方式。
此外,逆变换常常要求大于16比特的寄存器,由限制能在SIMD(SIMD=Single Instruction Multiple Data,e,g,MMX on Intel processors)结构中并行执行的运算数量,消耗额外的处理器资源。在编码器中也存在上述缺点中的一个或多个。

发明内容
本发明公开了一种使用变换解码数据(例如,视频数据)的方法和设备。
在一个实施例中,解码方法包括通过为各系数计算索引和使用索引检索查阅表,使用为各系数确定的定标因子定标系数块。索引是基于量化参数、系数块大小和各系数在块中的位置。方法也包括对定标的系数块实施变换。


从下面给出的详细描述和本发明各实施例的附图,会更完全的理解本发明,然而,本发明不限于特定的实施例,而只是作为解释和理解。
图1A是4×4块的逆量化利用的现有技术阵列V的表;图1B是8×4或4×8块的逆量化利用的现有技术的阵列V的表;图1C是8×8块的逆量化利用现有技术的阵列V的表;图2A是说明定义矩阵M4大小4的基础矢量的表;图2B是说明定义矩阵M8大小8的变换的基础矢量的表;图3是实现逆量化处理的一个实施例的流程图;图4说明大小8的逆变换的一个实施例的基础矢量的表;图5是实现逆变换处理的一个实施例的流程图;图6说明在确定逆变换中可能利用的算法的一个实施例;图7是利用图6的算法确定逆水平变换处理的一个实施例的流程图;图8是利用图6的算法确定逆垂直变换处理的一个实施例的流程图;图9说明在设计单变换的一个实施例中可能利用的基础矢量的表;图10说明在确定单逆变换中可能利用的算法的一个实施例;图11是在编码器中实现统一标准的变换处理的一个实施例的流程图;图12是说明一个矩阵M4的实施例的大小4的基础矢量的表;图13A是解码器的一个实施例的框图;图13B是编码器的一个实施例的框图;图14是示例的计算机系统的框图。
具体实施例方式
描述编码和解码数据(例如,视频数据)的方法和设备。数据的编码和解码部分的是通过使用变换。如下面详细讨论的,在一个实施例中,变换有低复杂性和统一标准。
在一个实施例中,方法包括用定标因子定标系数块。基于量化参数、块大小和系数在块中的位置通过计算索引确定定标因子。在一个实施例中,索引是量化参数、块大小和各系数在块中的位置确定的值之和。由块大小和各系数在块中的位置确定的值可以由块的垂直大小和在块中系数的垂直位置、由块的水平大小和在块中系数的水平位置确定的值确定。注意在一个实施例中,块大小可以是对4×4,4×8,8×4或8×8。
处理方法还包括使用索引检索单个的查阅表(LUT)。在用索引检索LUT和相乘完成系数块的定标后,对定标的系数块实施变换。在一个实施例中,使用一系列加,减和移位运算计算变换,因此没有阵列乘运算需要执行。注意不考虑对定标的系数块实施的变换,可使用同样的LUT。
更特别的是,在一个实施例中,由接收系数值(例如,量化的系数值)的块处理信息块(例如,视频信号),确定相当于量化的系数值块的系数的偏移值,并响应确定的偏移值确定逆量化系数值。量化的系数值块可包括至少一个4×4,4×8,8×4和8×8量化的系数值块。
在一个实施例中,响应接收的值的块和值的1维阵列确定偏移值。响应确定的逆量化系数值,产生重建的系数矩阵。
在另一个实施例中,由编码信息块处理数据,信息块包括接收的系数值块,使用近似离散余弦变换(DCT)的基础矢量在接收的系数值块上执行逆变换。在一个实施例中,系数值块包括至少一个4×4,4×8,8×4和8×8量化的系数值块。此外,系数值块可包括逆量化视频数据。
关于逆变换,在一个实施例中,基础矢量基本上相互之间正交,可包括有分数值的元素。基础矢量可有8×8的大小。
在一个实施例中,使用水平逆变换和垂直逆变换可实现逆变换。在一个实施例中,把逆量化矩阵作用到量化的系数版本,对已逆量化的系数实现水平逆变换。变换的基础矢量近似于DCT。可选择的,基础矢量基本上正交。使用一系列加、减和移位运算可以在逆量化系数的矢量上实现水平逆变换。
虽然垂直逆变换和水平逆变换的次序可颠倒,但最好在水平逆变换后实现垂直逆变换。在一个实施例中,在把水平逆变换矩阵应用到逆量化的系数后,实现垂直逆变换。垂直逆变换可以有近似于DCT的基础矢量。可选择的,垂直逆变换可以有正交的基础矢量。只使用包括加、减和移位之一的运算实现垂直逆变换。
在随后的描述中,给出大量的细节提供对本发明更全面的解释。然而,对本领域的技术人员来说,没有这些特殊的细节也可以实现本发明。在另一例子中,为了避免模糊本发明,众所周知的结构和设备以框图形式显示而没有详述其细节。
随后的某些细节部分的描述以算法和在计算机存储器中对数据比特运算的符号表示法呈现。这些算法描述和表示法是数据处理领域的技术人员,向其他技术人员最有效地传达他们的工作的实质使用的方法。通常,算法构想为自相容的一系列导致所要求的结果的步骤。步骤是那些物理量要求的实际操作。通常,虽然不是必须,这些量取作能存储、转换、合并、比较和其他操作的电的或磁的信号形式。有时证明是方便的,主要因为共同使用,称这些信号为比特、值、元素、符号、字符、项、数字或其它。然而,应该记得所有这些和相似的术语是与适当的物理量相关连的,只是施加给这些量方便的标志。除非特别陈述,否则如下面讨论所表现的,应意识到贯穿下面的描述中,讨论使用的术语如“处理”或“计算”或“确定”或“显示”等,涉及计算机系统或相似的电子计算设备的动作和处理,它们在计算机系统的缓冲器和存储器中操作和变换表示物理量的数据为在计算机系统的存储器或缓冲器或其它信息存储器中,如信息存储,传送或显示设备中的其它同样的表示为物理量的数据。
本发明也涉及实现这里的运作的设备。此设备可能为要求的用途特别构建,或由有选择性的启动或由存储在计算机中的计算程序配置的通用用途的计算机组成。此计算机程序可以存储在计算机可读介质中,如任何类型的盘包括软盘、光盘、CD-ROMs、磁性的-光盘、只读存储器(ROMs)、随机存储器(RAM)、EPROM、EEPROM、磁性的或光卡、适合于存储电子的指令的任何类型的介质、各个连接到计算机系统的总线。
这里提出的算法和显示器本质上不涉及任何特别的计算机或其它设备。按照这里教导,可以使用具有程序的各种通用用途的系统,或构建证明是方便的更专门化的设备实现要求的方法步骤。从下面的描述会看到要求的这些系统的多样性结构。此外,本发明不参考任何特定的程序语言来描述。可使用多种程序语言实现这里描述的本发明的教导。
机器可读介质包括以机器(如,计算机)可读形式存储或传送信息的任何机制。例如,机器可读介质包括只读存储器(“ROM”);随机存储器(“RAM”);磁盘存储介质;光存储介质;闪盘存储器;电的,光的,声的或其它传播的信号形式(如,载波,红外信号,数字信号,等)等。
概述例如,描述使用视频编码的一种逆量化和逆变换技术。虽然下面的讨论注重在解码器的实现,本领域的技术人员应认识到同样的技术可实现编码器。如下面更详细的讨论,在一个实施例中,技术使用单阵列(如,统一标准的1-D阵列V)。在一个实施例中,对信息块(如,视频信息)施加1-维阵列的值实现逆量化。如阵列V的1-维阵列可以有32项V={10,11,11,12,13,13,14,15,16,17,18,19,20,21,23,24,25,27,29,30,32,34,36,38,40,43,45,48,51,54,57,60}。可以使用其它的单阵列。在上面的例子中,阵列V的项有pow(2,(k+O)/12)的形式,其中k表示在阵列V中项的位置,O是常量。例如O可以是40。
使用单阵列是有利的,仅使用一个阵列意味着使用的逆量化函数只有一个,导致更有效的运作。不管是否要实施逆变换可以使用单逆量化函数。那么,在用于解码处理的任何变换前用于量化系数。在一个实施例中,因为只使用加,减和移位运算,相对于乘运算,逆量化和逆变换需要更少的运算来计算逆变换。
此外,在一个实施例中,在水平和垂直逆变换之间不需要中间定标。大小8的变换可以重新使用大小4的变换利用的分量,大小8的变换提供更近似的离散余弦变换(DCT)。此外,可以用16比特的寄存器实现至少4×4,4×8,8×4和8×8块大小的逆变换,不需要大于16比特的寄存器。如下面要描述的,在实现变换和量化中,如在编码器中,可以利用相同的技术。
逆量化和逆变换图3是根据本发明的实施例实现逆量化处理的一个实施例的流程图。由包括硬件(电路,专用逻辑等),软件(如在通用用途计算机系统或专用机器上运行的),或两者的组合的处理逻辑实现处理过程。用1-维阵列V描述图3流程图描述的逆量化;然而,很明显的是可以使用有不同元素值或不同元素数的1-维阵列。
在包括量化的系数C_ij的量化的系数C的阵列上实现逆量化。参考图3,在处理块305中,处理逻辑接收量化的系数C的阵列的量化的系数c_ij,其中量化的系数c_ij是在量化的系数矩阵C中有位置ij的系数。
处理逻辑根据在量化的系数矩阵中c_ij的位置ij确定阵列V的偏移量(处理逻辑310)。偏移量代表定标值,这依赖于系数涉及的基础矢量的矢量长度,在一个实施例中确定为offset(i,j)=ofst4[i]+ofst4[j],对4×4块offset(i,j)=ofst8[i]+ofst4[j],对8×4块offset(i,j)=ofst4[i]+ofst8[j],对4×8块offset(i,j)=ofst8[i]+ofst8[j],对8×8块其中ofst4={0,4,0,4}ofst8={6,5,10,5,6,5,10,5}。
对量化的系数矩阵中系数的特定位置ij的偏移量确定后,如下面描述的,处理逻辑确定系数的逆量化值(处理块315)。
对4×4的变换,逆量化可产生重建系数的矩阵W,在C-语言表示法中为w_ij=(c_ij*V[2*j(QP%6)+offset(i,j)])<<(QP/6)。
注意在一个实施例中,在上面公式和这里的其它公式中描述的运算符V[.]执行为查阅表(LUT)运算。
对4×8或8×4的变换,逆量化产生的重建系数可确定为w_ij=(c_ij*V[2*j(QP%6)+offset(i,j)]<<(QP/6-1)如果QP>=6,w_ij=(c_ij*V[2*j(QP%6)+offset(i,j)+1])>>1其它,其中“w_ij”是矩阵W的重建系数,例如,相似于上面讨论的w_ij。对8×8的变换,逆量化产生的重建系数可确定为w_ij=(c_ij*V[2*j(QP%6)+offset(i,j)])<<(QP/6-2)如果QP>=12,和w_ij=(c_ij*V[2*j(QP%6)+offset(i,j)+(1<<(1-QP/6))])>>(2-QP/6)其它,其中w_ij是矩阵W的重建系数。
在另一个实施例中,ofst4和ofst8可定义为ofst4={4,11,4,11}ofst8={1,0,5,0,1,0,5,0}重建系数w_ij可确定为w_ij=(c_ij*V[2*j(QP%6)+offset(i,j)])<<(QP/6)对4×4,4×8,8×4或8×8大小的块。
在另一个实施例中,矩阵V大小可以增加,重建公式定义为w_ij=(c_ij*V[QP+offset(i,j)])。
在另一个实施例中,可包括附加权重因子为块大小和在块中系数位置的函数,如w_ij=(c_ij*V[QP+offset(i,j)+f(block size,i,j)])。
其中f(block size,i,j)定义为权重因子。此权重可用于适合各系数的可感知的重要性。MPEG-2(ISO/IEC 13818-2)由要求附加的乘法和移位运算提供此功能性,然而在本发明中只需要附加的加运算。
在量化的系数矩阵中确定系数的特定位置ij的逆量化值w_ij后,处理逻辑确定是否有要执行逆量化的量化的系数矩阵C的更多系数(处理逻辑320)。如果是,处理转移到接收处理逻辑305,在那里接收量化的矩阵C的下一个量化的系数c_ij。然而,如果没有要执行逆量化的更多的系数,量化的系数矩阵的逆量化结束(处理逻辑325)。
这样,利用单个1-维值阵列值可以确定量化的系数矩阵的逆量化,其中逆量化的块大小至少是4×4,4×8,8×4和8×8大小的信息块。
虽然,在处理下一系数前,逆量化处理可以确定量化的系数矩阵的系数的偏移值和逆量化值。然而,对本领域技术人员这是明显的,在可选择的实施例中,可以首先确定量化的系数矩阵的所有系数的偏移值,那么使用确定的偏移值可以确定量化的系数矩阵的所有系数的逆量化值。
在另一个实施例中,如下面描述的,不执行乘运算可以实现逆变换。此外,或作为选择,不执行中间定标运算可以执行逆变换。
在实施逆量化后,实施逆变换。在此实施例中,可以不改变大小的4变换的基础矢量(如,在图2A中所示的)。由改变基础矢量修正对8×8的变换逆变换。此外,可以去除中间定标处理。在此情况中,水平变换产生的阵列直接输入到垂直变换。
大小8的逆变换的一个实施例的基础矢量显示在图4的表中,它近似于DCT,并基本上的正交(即,任何2矢量的积为零或完全接近零)。描述逆变换的流程图显示在图5中。
图5是实现逆变换处理的一个实施例的流程图。由包括硬件(电路,专用逻辑等),软件(如在通用用途计算机系统或专用机器上运行的),或两者的组合的处理逻辑实现处理过程。
参考图5,处理逻辑计算由水平逆变换产生的阵列Z(处理逻辑505),其中Z=W*转置(M4),对4×8和4×4块,Z=W*转置(M8),对8×8和8×4块,其中,在一个实施例中,M4显示在图1A中,在一个实施例中,M8显示在图4中。下面详细的讨论从逆水平变换产生的阵列Z的确定,如下面进一步描述的,不利用乘运算可以计算逆水平变换。
那么,处理逻辑确定对阵列Z实施垂直变换产生的阵列X1(处理逻辑510),如X1=M4*Z,对8×4和4×4块,和X1=M8*Z,对8×8和4×8块,其中,在一个实施例中,M4显示在图2A中,在一个实施例中,M8显示在图4中。下面详细的讨论阵列X1的确定,如下面描述的,或作为选择,不利用乘运算也可以获得阵列X1。
在实施水平和垂直逆变换后,处理逻辑对产生的阵列X1执行最后的定标(处理逻辑515),如X_ij=(X1_ij+32)>>6当视频样值的比特深度等于8时,典型的使用上面的表达式。其视频样值的比特深度大于8时,定标运算取更一般的形式
X_ij=(X1_ij+(1<<(13-D)))>>(14-D)其中,D代表视频样值的比特深度。
图6是不利用矩阵乘,可以利用来计算至少8×8,8×4和4×8信息块的逆变换(即,逆水平变换的Z和逆垂直变换的X1)的算法的一个实施例。从IN矩阵(输入矩阵)中检索图6算法的“in”矢量的“in”系数,图6的算法的“out”矢量的“out”系数用于形成OUT矩阵(输出矩阵)。运算的IN矩阵的“in”矢量,和形成的OUT矩阵的“out”矢量确定如下。对水平变换,“in”矢量是阵列W的行,“out”矢量是阵列Z相应的行。对垂直变换,“in”矢量是阵列Z的列,“out”矢量是阵列X1相应的列乘执行的逆变换的特定部分,如下面根据图7-9的流程图讨论的。
图7是利用图6的算法计算逆水平变换处理的一个实施例的流程图。由包括硬件(电路,专用逻辑等),软件(如在通用用途计算机系统或专用机器上运行的),或两者的组合的处理逻辑实现处理过程。
参考图7,处理逻辑从IN矩阵中检索“in”矢量(处理逻辑705)。因为要实现的逆变换是逆水平变换,矢量是从逆量化产生的矩阵W的行(那么矩阵W是使用的IN矩阵)产生的。在接收量化的系数矩阵W的“in”矢量时,处理逻辑执行一系列加,减和移位运算(非乘运算)产生“out”矢量系数,这里,阵列Z的行(处理块710)。例如,如显示的由图6的算法完成运算。使用图6的算法,“in”矢量是逆量化矩阵W的行,产生的“out”矢量是矩阵Z的输出矢量(行)。
产生矩阵Z的“out”矢量后,处理逻辑确定是否有要运算的逆量化IN矩阵的任何更多的矢量(处理块715)。有逆量化矩阵的更多的矢量,处理转移到处理块705。然而,如果逆量化矩阵的所有矢量已变换,逆水平变换的应用程序结束(处理块720)。技术人员认识到当使用有多媒体延伸的处理器,如Pentium IV processor of Intel Corporation of Santa Clara,California,可以并行处理几个矢量。
那么,可以完成逆水平变换,例如对至少8×8和4×8块的逆量化矩阵,没有乘运算,而利用加,减和移位运算。
在从逆量化的系数矩阵W确定矩阵Z时,不需要中间定标执行逆垂直变换。例如,逆垂直变换可以在从上面描述的水平变换产生的矩阵Z上实现。那么如参考图8的流程图显示的执行逆垂直变换。
图8是利用图6的算法实现逆垂直变换处理的一个实施例的流程图。由包括硬件(电路,专用逻辑等),软件(如在通用用途计算机系统或专用机器上运行的),或两者的组合的处理逻辑实现处理过程。
参考图8,处理逻辑接收从IN矩阵接收的“in”矢量(处理块805)。因为要实现的逆变换是逆垂直变换(即,图5的处理块510),矢量可以是矩阵Z的列。
接收“in”矢量后,处理逻辑执行非乘运算产生“out”矢量系数(阵列X1的列)(处理块810)。可以完成非乘运算,例如,由图6的算法显示。使用图6的算法,“in”是从矩阵Z1中检索的矢量(列)(如在处理块805中接收的)。“out”是矩阵X1的输出矢量(列)。
产生“out”矢量后,处理逻辑确定是否有要运算的矩阵Z的任何更多的矢量(处理块815)。那里有矩阵Z的更多的矢量,如上面讨论的处理转移到处理块805。然而,如果已变换矩阵Z的矢量,那么处理逻辑停止实施逆垂直变换(处理块820)。相似于上面讨论的关于逆水平变换,技术人员应认识到当使用有多媒体延伸的处理器,Pentium IV processor,可以并行处理几个矢量。
因此,可以利用图6的算法计算逆水平变换和逆垂直变换,不需要任何矩阵乘运算。那么,逆变换可以更有效和迅速的计算。此外,对大小8的变换(和其它变换大小),在水平和垂直逆变换之间不需要中间定标。
在另一实施例中,可以对单个变换的设计使用变换与量化的组合。
图9是说明在设计单个4×4变换的一个实施例中可能利用的基础矢量的表。在显示在图9的基础矢量中,第一和第三基础矢量的矢量长度是2,第二和第四基础矢量的矢量长度完全相等于3.625的平方根(sqrt(3.625)=1.903943....)。矢量长度之间的比率是1.050451....这非常接近于(2,1/14)=1.050756....。
因此可以对逆量化使用单个定标表,定标表有如下形式,在C-编程计算机语言表示法中为c*pow(2,k/14)其中c是常数,k=0...15并表示偏移量。在一个实施例中,在表中的值是由上面的表达式的结果四舍五入得到的最接近的整数。
例如,其中c=32,定标表可包括值V[]=32,34,35,37,39,41,43,45,48,50,53,55,58,61,64,67.
然后可以执行定标,使用的偏移值为w_ij=c_ij*V[(QP%14)+offs[I]+offs[j]]<<(QP/14),其中偏移值由以下公式确定offs[]=0,1,0,1在另一实施例中,可以使用更大的阵列V,定标运算修正为w_ij=c_ij*V[QP+offs[I]+offs[j]],在此情况中,由QP的最大值加2确定阵列V的大小。
在另一实施例中,在阵列V中的值可取如下形式c*pow(2/sqrt(3.625),k)在另一实施例中,可计算定标为w_ij=(c_ij<<(QP/14))*V[(QP%14)+offs[i]+offs[j]]>>16其中可以在支持乘和右移16位的组合的处理器中以单个指令实现此处理。例如,在MMX指令集中,相乘取两个16-比特值作为变元,返回32-比特结果的最高位比特而并不牺牲平行的量。
所有的变换矢量的值可表示为2的幂或2的2次幂之和,1-D逆变换的实现是简单的。例如,其中x[]是输入,y[]是输出,在一个实施例中,如由图10的算法显示的,可以实现对输入矢量实施逆变换。在可选择的实施例中,在右移位运算前可以修改四舍五入因子。例如,运算x>>1可用(x+1)>>1代替,运算(x+2)>>2可用x>>2或(x+1)>>2代替。
分别使用图9和图10的基础矢量和算法允许使用有高精度的简单的算法。
如技术人员认识的,这里描述的技术可用于编码处理和解码处理。因此,用如上面讨论的解码处理同样的考虑,可以重新计算移位和定标矢量编码的实施例。
编码图11是实现编码的统一标准的变换处理的一个实施例的流程图。由包括硬件(电路,专用逻辑等),软件(如在通用用途计算机系统或专用机器上运行的),或两者的组合的处理逻辑实现处理过程。
在实现编码的变换中,X是要变换的输入块,Z是变换的块(矩阵Y代表水平变换的块,矩阵Z代表更进一步的垂直变换的矩阵),Z1是量化的变换的块。参考图11,处理逻辑接收要编码信息块(处理块1105)。然后处理逻辑实现水平变换(处理块1110),在C语言计算机表示法中为Y=X*M4对4×8和4×4块,和Y=X*M8对8×8和8×4块,其中M4是大小4的变换的基础矢量,在一个实施例中,如在图12的表中显示的,M8是大小8的变换的基础矢量,在一个实施例中,M8用作大小8的逆变换的基础矢量,如在图4中显示的。
当实现水平变换时,处理逻辑执行垂直变换(处理块1115)。确定垂直变换的矩阵Z的垂直变换可由下面公式实现Z=转置(M4)*Y对8×4和4×4块,和Z=转置(M8)*Y对8×8和4×8块,其中M4和M8如上面关于处理逻辑1110的水平变换讨论的。
在处理逻辑1115实现垂直变换时,在处理块1120实现量化。在一个实施例中,用1-D,32元素的阵列V1实现量化V1={26008,24548,23170,21870,20643,19484,18390,17358,16384,15464,14596,13777,13004,12274,11585,1093510321,9742,9195,8679,8192,7732,7298.6889,6502,6137,5793,5468,5161,4871,4598,4340}其中阵列V1的各元素k可等于16384*Pow(0.5,(k-8)/12.0).
为了实现量化,变换的矩阵Z的各系数的偏移量可计算为offset(i,j)=ofst4[i]+ofst4[j],对4×4块offset(i,j)=ofst4[i]+ofst8[j],对4×8块offset(i,j)=ofst8[i]+ofst4[j],对8×4块offset(i,j)=ofst8[i]+ofst8[j],对8×8块其中ofst4={0,8,0,8},和ofst8={6,7,2,7,6,7,2,7}。
可计算量化的变换块Z为Z_ij z1_ij=sing(z_ij)*abs{(z_ij*V1[2*(QP%6)+offset(i,j)]+(1<<(16+(QP/6)))/B)>>(16+(QP/6))}其中B可以是等于或大于2的任何数,并代表可用于在编码系数的代价和重建误差之间折衷选择的偏置。
在实现统一标准的逆量化和统一标准的量化使用的1-维矩阵V和V1,和在解码器中完成逆变换的图4的基础矢量,在解码器中完成简单变换与简单变换设计的量化的组合的图9的基础矢量,和在编码器中执行变换的图12和4的基础矢量,都只是例子,可以确定其它的阵列和/或基础矢量获得至少一些这里讨论的优点。例如,由设置1-维阵列它的项为2的分数幂(在本例子中矩阵的第i项有基底值pow(2,4+(I-8)/12.0)),1-维阵列允许统一标准的逆量化,那么,可以利用有这些考虑设计的任何1-维阵列。在一些情况中,由考虑变换的基础矢量的矢量长度,可以改变上面讨论的计算偏移的偏移矢量,允许使用统一标准的量化。在显示在图4的矩阵的情况中,第一基础矢量有矢量长度sqrt(8)=pow(2,18/12.0),第二基础矢量有矢量长度sqrt(578/64),这是约pow(2,19/12.0),第三基础矢量有矢量长度sqrt(5),这是约pow(2,14/12.0)。注意由{24-18,24-19,24-10,...}获得{6,5,10,....}。
同样的,上面讨论的图4的基础矢量允许利用图6的算法,不需要乘运算和中间定标,因为各矢量的最大系数等于或接近于1,系数可表示为2的至多2次幂之和,那么可以利用有这些考虑设计的/确定的任何基础矢量,同时至少获得这里讨论的优点中的一些。
那么,考虑关于基础矢量是2的2整数(正的或负的)次幂之和,典型的不超过2的矢量系数可提供上面讨论的优点中的一个或多个。
此外,在上面讨论的考虑下,可以同样的确定/设计其它大小(例如,大于8)变换的基础矢量,因此本发明不限于大小为4×4,4×8,8×4,8×8块的变换。例如,可以设计16×16大小的变换,因此基础矢量的矢量长度可以很近似于pow(2,k/n),其中k和n是小的数字(在本8×8变换情况中n是12)。
解码器实施例图13A是解码器的一个实施例的框图,参考图13A,由熵解码器1301熵解码压缩的数据1300。熵编码数据包括系数。在一个实施例中,熵解码器1301实现可变长解码或前后关系适应的二进制运算的解码。
使用逆量化器1302逆量化由熵解码器1301输出的熵解码数据。逆量化器1302包括,或访问存储查阅表(LUT)的存储器1321实现如上面描述的逆量化。注意到在作逆量化前可以安置熵解码的数据解串行化系数为阵列。作为选择,解串行化可以发生在量化后。
逆量化后,对逆量化的系数实施逆变换1303。在一个实施例中,逆变换1303包括如上面描述的水平和垂直1-D变换。从实施逆变换1303产生的解码的数据利用加法器1304与运动补偿块或在部件1305中产生的空间预测的块组合。
用滤波器1306可以滤波加法器1304的输出,去除由施加变换和量化和邻近块之间的运动矢量差引起的赝像。滤波器1306的输出是重建的数据1307。在一个实施例中,滤波器1306是闭环滤波器(即,滤波的图像用作未来的运动补偿预测)。闭环滤波器可运行在16×16宏块和块边界,其中块可以有等于4×4,4×8,8×4或8×8的大小。
图13B是编码器的一个实施例的框图。参考图13B,由减法器1314接收输入数据1317。输入数据1317可包括输入帧。减法器1314从输入数据1317减去由运动补偿块或空间预测单元1315产生的预测数据。在一个实施例中,预测数据包括运动补偿块或空间预测的块。
减的结果输入到正向变换1313,此块变换数据,产生系数。在一个实施例中,正向变换1313包括水平和垂直1-D变换,这是上面描述的逆变换的逆。
然后由量化器1312量化系数,产生量化的变换系数。量化器1312包括,或访问存储查阅表(LUT)的存储器1321,以对上面描述的逆量化的逆的方式实现量化运算。量化的变换系数可以从阵列重排次序,串行化量化的变换系数。在任何重排次序后,由熵编码器1311熵编码量化的变换系数。在一个实施例中,熵编码器1311实现可变长编码或前后关系适应的二进制运算的编码。
如上面讨论的,在编码器中实现变换的考虑相似于在解码器中实现逆变换的考虑。虽然在提供视频编码的变换的情况中已讨论,本领域的技术人员认识到对与处理视频的量化和变换分离的技术领域此变换有适应性,那么这里教导的技术不限于视频编码。
当执行这里描述的统一标准的逆量化和逆变换时,量化和逆变换的应用可以通过运行在合适处理器并有实现要求的运算合适的存储器的软件完成,这对本领域的技术人员应该是明显的。在它们的装置中能使用多媒体延伸的处理器可能是有利的,但不要求。技术人员应认识到这里教导的量化和变换技术可选择性的用软件和硬件设备的任何组合,或完全在要求的,如本领域的技术人员意识到的硬件上完成。
示例的计算机系统图14是可实现这里描述的一个或多个运算的作例子的计算机系统的框图。注意到这些块或这些块的子集可集成为设备,如,蜂窝式便携无线电话,实现上面描述的技术。
参考图14,计算机系统1400包括通信装置或通讯信息的总线1411,与总线1411连接的处理信息的处理器1412。处理器1412包括微处理器,但不限于微处理器,例如,PentiumTM,PowerPCTM,AlphaTM,等。
计算机系统1400还包括随机存取存储器(RAM),或与总线1411连接的其它动态存储设备1404(称为主存储器),存储要由处理器1412执行的信息和指令。在处理器1412执行指令时段,主存储器1404也可用于存储瞬时变量或其它中间信息。
计算机系统1400也包括只读存储器(ROM)和/或与总线1411连接的其它静态存储设备1406,用于存储处理器1412的静态信息和指令,数据存储设备1407,如磁盘或光盘和它的相应的驱动。数据存储设备1407与总线1411连接存储信息和指令。
计算机系统1400还连接到显示设备1421,如阴极射线管(CRT)或液晶显示器(LCD),连接到总线1411,对计算机用户显示信息。包括文字与数字的输入设备1422,包括文字与数字和其它键,也连接到总线1411,与处理器1412通信信息和命令选择。附加的用户输入设备是光标控制1423,如鼠标,光标运动球,跟踪板,输入笔,或光标方向键,连接到总线1411,与处理器1412通讯方向信息和命令选择,在显示器1421上控制光标运动。
连接到总线1411的其它设备是硬拷贝设备1424,它可用于在介质如纸,膜,或相似类型的介质上打印指令,数据,或其它信息。此外,声音记录和回放设备,如扬声器和/或扩音器可选择性的连接到总线1411上,作为与计算机系统1400的音频接口。连接到总线1411上的另一设备是有线/无线通信能力的1425,与电话,掌上设备,和其它设备通讯。
注意到系统1400的任何或所有的部件和相连的硬件可用于本发明。然而,应该知道计算机系统的其它配置可包括一些或所有的设备。
在阅读了前面的描述后,对本领域的技术人员,本发明的许多改变和修正无疑是明显的,应理解作为说明,显示和描述的任何特殊实施例没有考虑由任何限制。因此涉及各种实施例的细节不旨在限制权利要求的范围,在权利要求中仅陈述那些关于本发明实质的特性。
权利要求
1.一种解码方法,包括通过为各系数计算索引和使用索引检索查阅表,使用为各系数确定的定标因子定标系数块,其中,索引是基于量化参数、系数块大小和各系数在块中的位置;对定标的系数块实施变换。
2.根据权利要求1所述的解码方法,其特征在于索引是量化参数、由系数块的块大小确定的第一值和各系数在块中的位置之和。
3.根据权利要求2所述的解码方法,其特征在于第一值是由块的垂直大小和在块中各系数的垂直位置确定的第二值和由块的水平大小和在块中各系数的水平位置确定的第三值之和。
4.根据权利要求3所述的解码方法,其特征在于块大小是从4×4,4×8,8×4和8×8组成的组中选择的一个。
5.根据权利要求1所述的解码方法,其特征在于所用LUT独立于块大小,因此,一个LUT支持使用多个大小之一的变换。
6.根据权利要求1所述的解码方法,其特征在于还包括根据各系数的位置确定阵列的偏移;基于偏移确定各系数的逆量化值。
7.根据权利要求6所述的解码方法,其特征在于阵列的项有pow(2,(k+O)/12)的形式,其中k表示在阵列中各项的位置,O是常量。
8.根据权利要求6所述的解码方法,其特征在于阵列是1_维(1_D)的。
9.根据权利要求1所述的解码方法,其特征在于对定标的系数块实施的变换包括对定标的系数块实施垂直变换;对定标的系数块实施水平变换。
10.根据权利要求1所述的解码方法,其特征在于变换的基础矢量是1111111112/810/86/83/8-3/8-6/8-10/8-12/81 1/2 -1/2 -1 -1 -1/21/2 110/8-3/8-12/8 -6/8 6/8 12/83/8 -10/81 -1 -1 1 1 -1 -1 16/8 -12/8 3/810/8 -10/8 -3/82/8 -6/81/2 -1 1 -1/2 -1/21 -1 1/23/8 -6/810/8 -12/8 12/8-10/8 6/8 -3/8并表示用作大小8的有一个或两个垂直和水平变换的块的8-点变换。
11.根据权利要求1所述的解码方法,其特征在于对定标的系数块实施变换包括只使用一系列加、减和移位运算计算变换。
12.根据权利要求1所述的解码方法,其特征在于块的大小是从4×4,4×8,8×4和8×8组成的组中选择的一个。
13.一种解码器,包括查阅表(LUT);逆量化器,通过为各系数计算索引和使用索引检索查阅表,使用为各系数确定的定标因子定标系数块,其中,索引是基于量化参数、系数块大小和各系数在块中的位置;逆变换单元,对定标的系数块实施变换。
14.根据权利要求13所述的解码器,其特征在于索引是量化参数、由系数块的块大小和各系数在块中的位置确定的第一值之和。
15.根据权利要求14所述的解码器,其特征在于第一值是由块的垂直大小和在块中各系数的垂直位置确定的第二值和由块的水平大小和在块中各系数的水平位置确定的第三值之和。
16.根据权利要求15所述的解码器,其特征在于块大小是从4×4,4×8,8×4和8×8组成的组中选择的一个。
17.根据权利要求13所述的解码器,其特征在于所用LUT独立于块大小,一个LUT支持使用多个大小之一的变换。
18.根据权利要求13所述的解码器,其特征在于逆量化器使用定标因子定标系数块根据各系数的位置确定阵列的偏移;基于偏移确定各系数的逆量化值。
19.根据权利要求18所述的解码器,其特征在于阵列的项有pow(2,(k+O)/12)的形式,其中k表示在阵列中各项的位置,O是常量。
20.根据权利要求18所述的解码器,其特征在于阵列是1_维(1_D)的。
21.根据权利要求13所述的解码器,其特征在于变换单元对定标的系数块实施变换对定标的系数块实施垂直变换;对定标的系数块实施水平变换。
22.根据权利要求13所述的解码器,其特征在于变换的基础矢量是1 1 1 11 1 1 112/8 10/86/8 3/8 -3/8-6/8-10/8 -12/81 1/2 -1/2-1 -1 -1/21/2 110/8 -3/8-12/8 -6/8 6/8 12/83/8 -10/81 -1 -1 11 -1 -1 16/8-12/8 3/8 10/8 -10/8 -3/82/8 -6/81/2-1 1 -1/2 -1/21 -1 1/23/8-6/810/8-12/812/8-10/8 6/8 -3/8表示用于大小8的有一个或两个垂直和水平变换的块的8-点变换。
23.根据权利要求13所述的解码器,其特征在于变换单元只使用一系列加,减和移位运算计算变换。
24.根据权利要求13所述的解码器,其特征在于块的大小是从4×4,4×8,8×4和8×8组成的组中选择的一个。
25.一种制造的物品,包括存储指令的一个或多个可读介质,当由系统执行指令时引起系统通过为各系数计算索引和使用索引检索查阅表,使用为各系数确定的定标因子定标系数块,其中,索引是基于量化参数、系数块大小和各系数在块中的位置;对定标的系数块实施变换。
26.根据权利要求25所述的制造的物品,其特征在于索引是量化参数、由系数块的块大小和各系数在块中的位置确定的第一值之和。
27.根据权利要求26所述的制造的物品,其特征在于第一值是由块的垂直大小和在块中各系数的垂直位置确定的第二值和由块的水平大小和在块中各系数的水平位置确定的第三值之和。
28.根据权利要求25所述的制造的物品,其特征在于块大小是从4×4,4×8,8×4和8×8组成的组中选择的一个。
29.根据权利要求25所述的制造的物品,其特征在于所用LUT独立于块大小,因此,一个LUT支持使用多个大小之一的变换。
30.一种解码设备,包括装置,通过为各系数计算索引和使用索引检索查阅表,使用为各系数确定的定标因子定标系数块,其中,索引是基于量化参数、系数块大小和各系数在块中的位置;装置,对定标的系数块实施变换。
31.一种解码方法,包括通过为各系数计算索引和使用索引检索查阅表,使用为各系数确定的定标因子定标系数块,其中,索引是基于量化参数和各系数在块中的位置;对定标的系数块实施垂直变换和水平变换,其中,垂直和水平变换的基础矢量是1 1 1 1 1 1 1 112/8 10/8 6/83/8-3/8-6/8-10/8 -12/81 1/2-1/2 -1 -1 -1/21/2110/8 -3/8 -12/8 -6/8 6/8 12/83/8-10/81 -1 -1 1 1 -1 -1 16/8-12/8 3/810/8 -10/8 -3/82/8-6/81/2-1 1 -1/2 -1/21 -1 1/23/8-6/8 10/8 -12/8 12/8-10/8 6/8-3/8或它的倍数。
32.根据权利要求31所述的解码方法,其特征在于索引是量化参数、由各系数在块中的垂直位置确定的第一值和各系数在块中的水平位置确定的第二值之和。
33.根据权利要求31所述的解码方法,其特征在于实施的变换包括只使用一系列加、减和移位运算计算变换。
34.根据权利要求31所述的解码方法,其特征在于块大小是从4×4,4×8,8×4和8×8组成的组中选择的一个。
35.根据权利要求31所述的解码方法,其特征在于所用LUT独立于块大小,因此,一个LUT支持使用多个大小之一的变换。
36.根据权利要求31所述的解码方法,其特征在于对定标的系数块实施变换包括对定标的系数块实施垂直变换;对定标的系数块实施水平变换。
37.一种解码器,包括逆量化器,通过为各系数计算索引和使用索引检索查阅表,使用为各系数确定的定标因子定标系数块,其中,索引是基于量化参数和各系数在块中的位置;逆变换,对定标的系数块实施垂直变换和水平变换,其中,垂直和水平变换的基础矢量是1 1 1 1 1 1 1 112/8 10/86/8 3/8-3/8-6/8 -10/8 -12/81 1/2 -1/2-1 -1 -1/2 1/2 110/8 -3/8-12/8 -6/8 6/8 12/8 3/8 -10/81 -1 -1 1 1 -1 -1 16/8-12/8 3/8 10/8 -10/8 -3/8 2/8 -6/81/2-1 1 -1/2 -1/21 -1 1/23/8-6/810/8-12/8 12/8-10/8 6/8 -3/8或它的倍数。
38.根据权利要求37所述的解码器,其特征在于索引是量化参数、由各系数在块中的垂直位置确定的第一值和各系数在块中的水平位置确定的第二值之和。
39.根据权利要求37所述的解码器,其特征在于实施的变换包括只使用一系列加、减和移位运算计算变换。
40.根据权利要求37所述的解码器,其特征在于对定标的系数块实施变换包括对定标的系数块实施垂直变换;对定标的系数块实施水平变换。
41.一种制造的物品,包括存储指令的一个或多个可读介质,当由系统执行指令时引起系统通过为各系数计算索引和使用索引检索查阅表,使用为各系数确定的定标因子定标系数块,其中,索引是基于量化参数和各系数在块中的位置;对定标的系数块实施垂直变换和水平变换,其中,垂直和水平变换的基础矢量是1 1 1 1 1 1 1 112/8 10/8 6/83/8 -3/8 -6/8 -10/8 -12/81 1/2-1/2 -1 -1 -1/2 1/2110/8 -3/8 -12/8 -6/86/812/8 3/8-10/81 -1 -1 1 1 -1 -1 16/8-12/8 3/810/8-10/8 -3/8 2/8-6/81/2-1 1 -1/2-1/2 1 -1 1/23/8-6/8 10/8 -12/8 12/8 -10/8 6/8-3/8或它的倍数。
42.根据权利要求41所述的制造的物品,其特征在于索引是量化参数、各系数在块中的垂直位置确定的第一值和各系数在块中的水平位置确定的第二值之和。
43.根据权利要求41所述的制造的物品,其特征在于导致系统实施变换的指令包括,当由系统执行指令时,使用一系列加、减和移位运算,使系统计算变换的指令。
44.根据权利要求41所述的制造的物品,其特征在于导致系统对定标的系数实施变换的指令包括,当由系统执行的指令时,使系统实施以下变换的指令对定标的系数块实施垂直变换;对定标的系数块实施水平变换。
45.一种解码器,包括装置,通过为各系数计算索引和使用索引检索查阅表,使用为各系数确定的定标因子定标系数块,其中,索引是基于量化参数和各系数在块中的位置;装置,对定标的系数块实施垂直变换和水平变换,其中,垂直和水平变换的基础矢量是1 1 1 1 1 1 1 112/8 10/8 6/83/8-3/8-6/8 -10/8 -12/81 1/2-1/2 -1 -1 -1/2 1/2110/8 -3/8 -12/8 -6/8 6/8 12/8 3/8-10/81 -1 -1 1 1 -1 -1 16/8-12/8 3/810/8 -10/8 -3/8 2/8-6/81/2-1 1 -1/2 -1/21 -1 1/23/8-6/8 10/8 -12/8 12/8-10/8 6/8-3/8或它的倍数。
46.一种解码方法,包括通过为各系数计算索引和使用索引检索查阅表,使用为各系数确定的定标因子定标系数块,其中,索引是基于量化参数和各系数在块中的位置;对定标的系数块实施垂直变换和水平变换,其中垂直和水平变换的基础矢量是1 1 1 15/41/2-1/2 -5/41 -1 1 -11/2-5/4 5/4-1/2,或它的倍数。
47.根据权利要求46所述的解码方法,其特征在于索引是量化参数、各系数在块中的垂直位置确定的第一值和各系数在块中的水平位置确定的第二值之和。
48.根据权利要求46所述的解码方法,其特征在于实施的变换包括,使用一系列加、减和移位运算计算变换。
49.根据权利要求46所述的解码方法,其特征在于对定标的系数块实施变换包括对定标的系数块实施垂直变换;对定标的系数块实施水平变换。
50.一种解码器,包括逆量化器,通过为各系数计算索引和使用索引检索查阅表,使用为各系数确定的定标因子定标系数块,其中,索引是基于量化参数和各系数在块中的位置;逆变换,对定标的系数块实施垂直变换和水平变换,其中,垂直和水平变换的基础矢量是1 1 1 15/41/2-1/2 -5/41 -1 1 -11/2-5/4 5/4-1/2,或它的倍数。
51.根据权利要求50所述的解码器,其特征在于索引是量化参数、各系数在块中的垂直位置确定的第一值和各系数在块中的水平位置确定的第二值之和。
52.根据权利要求50所述的解码器,其特征在于实施的变换包括,只使用一系列加、减和移位运算计算变换。
53.根据权利要求50所述的解码器,其特征在于对定标的系数块实施变换包括对定标的系数块实施垂直变换;对定标的系数块实施水平变换。
54.一种制造的物品,包括存储指令的一个或多个可读介质,当由系统执行时指令引起系统通过为各系数计算索引和使用索引检索查阅表,使用为各系数确定的定标因子定标系数块,其中,索引是基于量化参数和各系数在块中的位置;对定标的系数块实施垂直变换和水平变换,其中,垂直和水平变换的基础矢量是1 1 1 15/4 1/2-1/2 -5/41 -1 1 -11/2 -5/4 5/4-1/2,或它的倍数。
55.根据权利要求54所述的制造的物品,其特征在于索引是量化参数、由各系数在块中的垂直位置确定的第一值和各系数在块中的水平位置确定的第二值之和。
56.根据权利要求54所述的制造的物品,其特征在于导致系统实施变换的指令包括,当由系统执行的指令时,只使用一系列加、减和移位运算,使系统计算变换的指令。
57.根据权利要求54所述的制造的物品,其特征在于导致系统对定标的系数实施变换的指令包括,当由系统执行的指令时,使系统实施以下变换的指令对定标的系数块实施垂直变换;对定标的系数块实施水平变换。
58.一种解码器,包括装置,通过为各系数计算索引和使用索引检索查阅表,使用为各系数确定的定标因子定标系数块,其中,索引是基于量化参数和各系数在块中的位置;装置,对定标的系数块实施垂直变换和水平变换,其中,垂直和水平变换的基础矢量是1 1 1 15/41/2-1/2 -5/41 -1 1 -11/2-5/4 5/4-1/2,或它的倍数。
全文摘要
本发明公开了一种变换解码数据(如视频数据)的方法和设备。在一个实施例中,解码方法包括通过为各系数计算索引和使用索引检索查阅表,使用为各系数确定的定标因子定标系数块。索引是基于量化参数、系数块的大小和各系数在块中的位置。方法也包括对定标的系数块实施变换。
文档编号G06T9/00GK1685369SQ03823186
公开日2005年10月19日 申请日期2003年9月25日 优先权日2002年9月26日
发明者弗兰克·简·博森 申请人:美国多科摩通讯研究所股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1