处理n比特视频数据的编/解码器和编/解码方法

文档序号:7963505阅读:322来源:国知局
专利名称:处理n比特视频数据的编/解码器和编/解码方法
技术领域
本发明涉及一种处理视频数据的编/解码器和编/解码方法,更具体地讲,本发明涉及一种处理N比特视频数据的编/解码器和编/解码方法,其中,N是大于8的整数。
背景技术
可视通信系统和应用越来越提倡更大的屏幕和更高的分辨率。在电子消费市场,这一趋势随着大型CRT、LCD、PDP、投影仪以及高清晰度(HD)电视的出现而受到驱动,并通过以MPEG、DVD、DV等的格式来数字化处理和存储可视信息的增加得到进一步增强。同样地,提高以高分辨率显示在大屏幕上的图像和视频的质量变得非常重要。
要就视频编解码器而言,传统的编解码只能对8比特深度的视频数据进行处理。然而,随着视频压缩技术的发展,需要能够根据输入视频数据的类型处理诸如10比特和12比特的比特深度等更高的比特深度。

发明内容
本发明提供一种具有N比特数据编解码能力的编/解码器和编/解码方法。同时,保证编/解码效率,甚至促使更高的SNR(信噪比)。
根据本发明的一方面,提供一种编码N比特视频数据的方法,包括以下步骤(a)提取关于输入视频数据的比特深度N的信息;(b)划分输入视频数据,并基于划分的数据,通过预测获得差分矩阵;(c)根据输入的视频数据的比特深度N对差分矩阵进行变换和缩放;以及(d)产生变换和缩放后的数据,其中,N是大于8的整数。
根据本发明的一方面,N为10或12。
根据本发明的一方面,步骤(c)包括下面的步骤(c1)对输入的差分矩阵进行整数DCT变换并产生第一中间矩阵;(c2)将第一中间矩阵除以第一预定值并取整到最接近的整数,产生第二中间矩阵作为结果;(c3)根据基于域的数组乘法将第二中间矩阵乘以预定数组S(i),并产生第三中间矩阵作为结果;(c4)将第三中间矩阵除以第二预定值并取整到最接近的整数,然后产生第四中间矩阵作为结果;(c5)将第四中间矩阵乘以预定值q[QP],以生成第五中间矩阵。
其中,第一预定值根据在步骤(c3)中使用的乘法器来确定,以保证相乘之后的值不会溢出,其中,根据在步骤(c5)中使用的乘法器来确定第二预定值,以保证相乘之后的值不会溢出。
其中,根据在步骤(c1)中采用的整数DCT变换方式来确定预定数组S(i),其中,根据在变换和缩放期间采用的量化参数QP来确定预定值q[QP]。
根据本发明的一方面,如果N是10,则第一预定值是7并且第二预定值是17。
根据本发明的一方面,如果N是12,则第一预定值是9并且第二预定值是15。
根据本发明的一方面,S(i)=233/v(i),其中,i=0~5,如果差分矩阵是8×8矩阵,则数组v(i)是v(i)=[512×512,442×442,464×464,512×442,512×464,442×464],其中,根据在步骤(c1)采用的整数DCT变换矩阵来确定v(i)的值。
根据本发明的一方面,在步骤(c3)中,第二中间矩阵和数组S(i)之间的乘法如下执行在行={0,4}和列={0,4}的数据乘以预定系数S(0);在行={1,3,5,7}和列={1,3,5,7}的数据乘以预定系数S(1);在行={2,6}和列={2,6}的数据乘以预定系数S(2);在行={0,4}和列={1,3,5,7}的数据乘以预定系数S(3);在行={1,3,5,7}和列={0,4}的数据乘以预定系数S(3);在行={0,4}和列={2,6}的数据乘以预定系数S(4);在行={2,6}和列={0,4}的数据乘以预定系数S(4);其它数据乘以预定系数S(5)。
根据本发明的一方面,其中,步骤(c)还包括以下步骤(c6)将从步骤(c5)输出的结果加上值k,然后右移15比特,其中,如果预测是帧内预测,则值k=2-15*10/31,如果预测是帧间预测,则值k=2-15*10/62。
根据本发明的一方面,其中,q=215/2QP/8,量化参数QP是整数并且其范围是0~63。
根据本发明的另一方面,提供一种用于编码N比特视频数据的编码器,包括编码控制器,用于提取关于输入视频数据的比特深度N的信息并控制编码器的全部;划分器,用于划分输入视频数据然后通过预测获得的差分数据;整数DCT变换和缩放模块,用于根据输入视频数据的比特深度N对差分块进行变换和缩放,并产生变换和缩放后的数据,即量化数据,其中,N是大于8的整数;逆变换和缩放模块,用于将逆变换和缩放后的数据转换为残差数据;帧内/帧间预测模块,用于产生预测数据;去块模块,用于将通过将残差数据和预测数据相加获得的重构数据去块,并存储在参考帧存储器中;运动估计模块,用于基于当前输入的视频数据和参考帧生成运动数据;熵编码模块,用于通过对来自编码控制器的控制数据、量化数据和运动数据熵编码来生成编码的比特流。
根据本发明的一方面,N是10或12。
根据本发明的一方面,变换和缩放模块包括整数DCT模块,用于对差分矩阵进行整数DCT变换并产生第一中间矩阵;第一除法器,用于将第一中间矩阵除以第一预定值并取整到最接近的整数,并产生第二中间矩阵作为结果;第一乘法器,用于根据基于域的数组乘法将第二中间矩阵乘以预定数组S(i),并产生第三中间矩阵作为结果;第二除法器,用于将第三中间矩阵除以第二预定值并取整到最接近的整数,然后产生第四中间矩阵作为结果;第二乘法器,用于将第四中间矩阵乘以预定值q[QP],从而产生第五中间矩阵。
其中,根据第一乘法器来确定第一预定值,以保证相乘之后的值不会溢出,根据第二乘法器确定所述第二预定值,以保证相乘之后的值不会溢出。
其中,根据在整数DCT模块中采用的整数DCT变换矩阵来确定预定数组S(i),其中,根据在变换和缩放期间采用的量化参数QP来确定预定值q[QP]。
根据本发明的一方面,如果N是10,则第一预定值是7并且第二预定值是17。
根据本发明的一方面,如果N是12,则第一预定值是9并且第二预定值是15。
根据本发明的一方面,提供了一种用于处理N-比特视频数据的解码器,包括熵解码模块,用于将输入的比特流解码为控制数据、量化数据和运动数据,所述控制数据包含有关于将被处理的视频数据的比特深度N的信息;解码控制器,用于基于所述控制数据控制解码器的整个操作;逆变换和缩放模块,对从所述熵解码模块接收到的量化数据进行逆变换和缩放。
其中,所述的比特深度N大于8。
根据本发明的一方面,逆变换和缩放模块包括第三乘法器,用于将量化的数据乘以数组乘法乘以第三预定值r[QP],从而生成第七中间矩阵;第三除法器,用于将所述第七中间矩阵除以第四预定值n[QP],然后取最接近的整数,并生成第八中间矩阵;逆变换模块,用于逆变换所述第八中间矩阵,从而生成残差数据。
其中,第三预定值r[QP]和第四预定值n[QP]根据如下条件进行确定QP=0~63q[QP]≅2^15/(2^(QP/8))]]>q[QP]*r[QP]≅2^(16+n[QP]),]]>其中,QP是量化参数,符号“^”表示幂。
根据本发明的一方面,比特深度N为10或12。
根据本发明的一方面,提供了一种用于处理N-比特视频数据的解码方法,包括用于将输入的比特流解码为控制数据、量化数据和运动数据,所述控制数据包含有关于将被处理的视频数据的比特深度N的信息;基于所述控制数据控制解码器的整个操作;对从所述熵解码模块接收到的量化数据进行逆变换和缩放,其中,所述的比特深度N大于8。
根据本发明的一方面,所述逆变换和缩放步骤包括将量化的数据乘以数组乘法乘以第三预定值r[QP],从而生成第七中间矩阵;将所述第七中间矩阵除以第四预定值n[QP],然后取最接近的整数,并生成第八中间矩阵;逆变换所述第八中间矩阵,从而生成残差数据。
其中,第三预定值r[QP]和第四预定值n[QP]根据如下条件进行确定QP=0~63q[QP]≅2^15/(2^(QP/8))]]>q[QP]*r[QP]≅2^(16+n[QP]),]]>其中,QP是量化参数,符号“^”表示幂。
根据本发明的一方面,所述比特深度N为10或12。


通过下面结合附图进行的详细描述,本发明的这些和/或其它方面和优点将会变得清楚并且更加容易理解,其中图1是根据本发明实施例的编码器的方框图;图2是示出根据本发明的变换和缩放模块的详细结构的示图;
图3是示出如图2所示的变换和缩放模块的操作的流程图;图4是示出本发明和现有技术的编码效率的图表;图5是示出图2中的逆变换和缩放模块的结构的示意图;图6是示出图2中的逆变换和缩放模块的操作的流程图;图7是示出根据本发明实施例的解码器的方框图;图8是示出图7中所示的解码器的逆变换和缩放模块的结构的示意图;图9是示出图7中的解码器的逆变换和缩放模块的操作的流程图。
具体实施例方式
现在将详细参照本发明的实施例,其示例在附图中示出,其中,相同的标号始终表示相同的部件。以下通过参照附图来描述实施例以便解释本发明。
运动图像数据基于运动预测技术来编码和解码。参考基于时间轴的前帧或前帧和后帧两者来进行预测。当编码或解码当前帧时被参考的帧称为参考帧。在基于块的运动图像编码中,包括在运动图像中的静止图像(帧)被划分为宏块(MB),宏块(MB)被划分为子块。因此,基于逐块来对静止图像的运动进行预测和编码。
图1示出根据本发明实施例的视频编码器的框图。
参照图1,编码器包括划分器110、加法器112、编码控制器120、变换和缩放模块113、预测单元110以及熵编码模块130。
当8比特原始数据被输入时,划分器110在编码控制器120的控制下选择将被编码的帧或场。对于每一帧或场,其被划分为MB(Macro-Block)。每一MB由16×16像素组成。即,将被编码的帧或场被划分成多个16×16像素的宏块,所述16×16像素的MB由多个16×16信号块和/或多个8×8信号块组成。
编码控制器120从输入的视频数据中提取指示输入视频信号的比特深度N的信息,并控制编码器的全部操作以协调编码器的工作。
在加法器112中,从来自划分器100的原始数据中减去来自帧内预测模块117或帧间预测模块118的预测数据以给出差分矩阵。
变换和缩放模块113对所述差分矩阵进行整数DCT变换和缩放生成量化数据,并分别将量化数据输出到预测单元110和熵编码模块130。
预测单元110包括逆变换和缩放模块114、加法器111、去块模块115、存储器116、帧内预测模块117、帧间预测模块118和运动估计模块119。
逆变换和缩放模块114对来自变换和缩放模块113的量化数据执行反整数DCT变换和缩放操作,并输出残差数据。将参照图5来详细描述逆变换和缩放模块114的操作。
在加法器111中,来自逆变换和量化模块114的残差数据与来自帧内预测模块117或帧间预测模块118的预测数据相加,产生重构的数据,然后输出到去块模块115。
去块模块115对输入的重构数据执行环路滤波以进行去块,并将去块结果输出到存储器116。
输入存储器116的数据被存储为参考数据,其将用于稍后的预测。
帧内预测模块117执行帧内预测,帧间预测模块118执行帧间预测,也称作运动补偿。帧间预测模块118从来自存储器116中的参考帧提取与运动矢量对应的预测宏块,并对参考帧的预测宏块进行运动补偿以输出预测数据。
运动估计模块119搜索来自存储器116的宏块的参考帧,并将在参考帧或场的宏块中的图像的位置和在当前帧或场的宏块中的图像的位置之间的差值作为运动矢量输出到加法器112。
熵编码模块130接收控制数据、运动数据(如果有的话)和量化数据,并将它们分组为输出比特流。
变换和缩放模块113对差分数据的每个8×8信号矩阵进行变换和缩放。下面将差分数据的8×8信号矩阵称为X。
现在,将参照图2和图3进行对变换和缩放处理的详细描述。
图2是根据本发明实施例的编码器10的变换和缩放模块113的框图。图3是示出根据本发明实施例的变换和缩放处理的流程图。
如图2所示,编码器10的变换和缩放模块113包括DCT变换模块210、第一除法模块220、第一乘法器230、第二除法模块240、第二乘法器250和移位模块260。
参照图3,在步骤S310中,变换和缩放模块113接收关于输入视频数据的比特深度N的信息。对于差分MB数据中的每个8×8信号矩阵X(对于每一MB,信号矩阵的数量和信号矩阵的组织由原始视频格式和编码MB模式来确定)。在步骤S320,DCT变换模块210根据下面的等式1对输入的差分数据进行整数DCT变换 B=T·X·TT其中,符号“·”是矩阵相乘的符号,T是整数DCT变换矩阵,TT是整数DCT变换矩阵T的转置,B是变换后的矩阵。优选地,整数DCT变换矩阵T是下面用于8×8的DCT变换的矩阵T=[8 8 8 8 8 8 8 810962-2-6-9-10104-4-10-10-44109-2-10-66102-98-8-888-8-886-1029-9-210-64-1010-4-410-1042-69-1010-96-2]。
DCT变换模块210将整数DCT变换后的矩阵B输出到第一除法模块220,所述矩阵B也被称为第一中间矩阵B,然后在步骤S330中,第一除法模块220将第一中间矩阵B除以与比特深度N的信息对应的第一预定值ShiftTab0,然后取整到最接近的整数以产生第二中间矩阵C,并将第二中间矩阵C发送到第一乘法器230。步骤S330中的操作可以表示为等式C=B//ShiftTab0,其中,符号“//”表示相除后取整到最接近的整数。
这里对符号“//”中所包含的相除操作进行更详细的说明,例如a//b=sign(a)×[(abs(a)+2b-1)>>b]其中,>>表示右移位abs(x)=x;x>=0-x;x<0]]>sign(x)=1;x>=0-1;x<0,]]>因此,在整个说明书中,当提到相除并取最接近的整数时,指的就是上述例子中所定义的运算。
当乘法器是16比特乘法器时,优选地,如果比特深度N是10,则第一预定值ShiftTab0是7,如果比特深度N是12,则第一预定值ShiftTab0是9。然而,只要乘法器的操作得以保证,可根据采用的乘法器将第一预定值设置为不同的值。
在步骤340,第一乘法器230根据基于域的乘法,通过将第二中间矩阵C乘以预设系数S(i)来生成第三中间矩阵D,并将第三中间矩阵D发送到第二除法模块240。在步骤S340的操作可表示为D=S(i)·*C,其中,符号“.*”表示基于域的数组乘法。
根据下述规则来确定预设系数S(i)S(i)=233/v(i),其中i=0~5.
对于8×8矩阵,数组v(i)isv=[512×512,442×442,464×464,512×442,512×464,442×464]。
在步骤S340中,根据下述规则执行D=S(i)·*C的乘法操作对于行={0,4},列={0,4}的数据,乘以预设系数S
对于行={1,3,5,7},列={1,3,5,7},乘以预设系数S[1]对于行={2,6},列={2,6},乘以预设系数S[2]对于行={0,4},列={1,3,5,7}的数据,或者行={1,3,5,7},列={0,4}的数据,乘以预设系数S[3]对于行={0,4},列={2,6}的数据,或者行={2,6},列={0,4}的数据,乘以预设系数S[4]对于其他数据,乘以预设系数S[5]。
在步骤S350,第二除法模块240通过将第三中间矩阵D除以与比特深度N相应的第二预定值ShiftTab1来生成第四中间矩阵E,其后取整到最近的整数,并将第四中间矩阵E发送到第二乘法器250。步骤S350的操作可表示为E=D//ShiftTab1,其中,符号“//”与上面所定义的运算相同.
优选地,如果比特深度为10,则第二预定值ShiftTab1是17,如果比特深度为12,则第二预定值ShiftTab1是15。然而,只要保证乘法器的乘法操作,则第二预定值ShiftTab1可根据所采用的乘法器而被设置为不同的值。
在步骤S360,第二乘法器250通过将第四中间矩阵E乘以q[QP]来生成第五中间矩阵F。步骤S360操作的操作可表示为式F=q[QP].E,其中,符号“.”表示数组乘法。
根据式q[QP]≅2^15/(2^(QP/8))]]>来确定q[QP]的值,其中,QP是从0至63的量化参数,符号 表示约等于,符号“^”表示幂运算。
在步骤S370,移位模块260将K加到第五中间矩阵F,其后右移15位以生成量化数据G,其被称为第六中间矩阵。对于帧间预测,所述K例如为2-15*10/31,对于帧间预测,所述K例如为2-15*10/32。
其后,变换和量化模块113将量化数据G输出到逆变换和缩放模块以及熵编码模块120。
图5是根据本发明实施例的编码器10的逆变换和缩放模块114的框图。图6是示出逆变换和缩放模块114的操作的流程图。将参照图5和图6描述逆变换和缩放模块114的详细操作。
在步骤S610,第一乘法器510从逆变换和缩放模块113接收量化数据G,并将量化数据G乘以r[QP]以生成第七中间矩阵H。操作S610可表示为式H=r[QP].G,其中,符号“.”表示数组乘法。
在步骤S611,第三除法模块520将第七中间矩阵除以n[QP]并取整到最近的整数以生成第八中间矩阵I。操作S611可表示为式I=H//n[QP],其中,符号“//”所表示运算操作与上面所定义的相同。
在步骤S612,第一逆变换模块530将第八中间矩阵乘以T以生成第九中间矩阵J。步骤S612的操作可表示为式J=I·T,其中,T是用于图2的DCT变换模块210的整数DCT变换矩阵。
在步骤613,第四除法模块540将第九中间矩阵J除以3并取整到最近的整数以生成第十中间矩阵K。步骤S613的操作可表示为式K=J//3。
在步骤S614,第二逆变换模块550将第十中间矩阵K乘以TT并生成第十一中间矩阵L。步骤S614的操作可表示为式L=TT·K,其中TT是整数DCT变换矩阵T的转置。
在步骤S615,第五除法模块560将第十一中间矩阵L除以7并取整到最近的整数以生成第十二中间矩阵M。步骤S615的操作可表示为式M=L//7。
以上描述的总的操作如下·B=T·X·TT·C=B//ShiftTab0·D=s[i].*C·E=D//ShiftTab1·F=q[QP].E
·G=(F+k)>>15(Intrak=(1<<15)*10/31;Interk=(1<<15)*10/62),·H=r[QP].G·I=H//n[QP]·J=I·T·K=J//3·L=TT·K·M=L//7DCT和缩放矩阵操作应满足下面的规则·QP=0~63·v={512*512,442*442,464*464,512*442,512*464,442*464}·s[i]≅(2^33)/v(i)(i=0~5)]]>·q[QP]≅2^15(2^(QP/8))]]>·q[QP]*r[QP]≅2^(16+n[QP])]]>其中,符号“·”表示用于矩阵乘法的符号,符号“.”表示数组乘法,符号“.*”表示基于域的数组乘法,符号 表示约等于。
其中,v根据整数DCT变换矩阵T而被确定。一旦v被确定,则S(i)的值被确定。
具有上述结构的编码器具有N比特数据编码能力,可以处理10比特视频数据、12比特视频数据和14比特视频数据,而只对现有乘法器作出最小改动。同时,编码效率被保证,甚至提高了SNR。
图4是示出根据本发明以及现有技术的编码器的编码效率的图。参照图4可见,根据本发明的编码效率被保持,甚至比现有技术的编码效率更高。
图7是示出根据本发明实施例的解码器的框图。
参照图7,解码器包括熵解码器710、解码器控制模块711、逆变换和缩放模块712、加法器713、去块模块714、帧内预测模块715、帧间预测模块716以及参考帧存储模块717。
熵解码模块710将输入的比特流进行解码为量化数据G、控制数据和运动数据。其后,熵解码模块710分别将量化数据、控制数据和运动数据发送到逆变换和缩放模块712、解码器控制模块711和帧间预测模块716。
逆变换和缩放模块712对量化数据G执行逆整数DCT变换操作以生成残差数据,其后将残差数据发送到加法器713。
在加法器713中,残差数据与来自帧内预测模块715的预测数据或来自帧间预测模块716的预测数据相加,并将结果输出到解块模块714。
解块模块714对其输入的用于解块的数据执行环路滤波,并将解块的结果输出到保存参考模块717。
输入到保存参考模块717的数据被保存作为参考数据,其将在稍后的预测中被使用。
帧内预测模块715执行帧内预测,帧间预测模块716执行帧间预测,也称为运动补偿,帧间预测模块从保存参考模块717中的参考帧提取于运动矢量相应的预测宏块,并对参考帧的预测宏块进行运动补偿以输出预测数据。
图8是示出根据本发明实施例的解码器的缩放和逆变换模块的结构的框图。
参照图8,逆变换和缩放模块712包括第三乘法器810、第三除法模块820、第一逆变换模块830、第四除法模块840、第二逆变换模块850以及第五除法模块860。
图8中的各个模块的功能与图5中的各个模块的功能相同。为了简明,将省略对图8的描述。
图9是示出根据本发明实施例的解码方法的流程图。
图9的流程与图6的流程相同。为了简明,将省略对图9的描述。
对于当前8比特编/解码系统,硬件特征如下(a)QP从0到63;(b)使用用于差分输入和输出的16位存储器;(c)使用16位乘法器;(d)算术逻辑单元支持32位操作。对于根据本发明的处理N比特视频数据编/解码器,特征如下(a)QP从0到63;(b)使用用于差分输入和输出的16位存储器;(c)使用16位乘法器;(d)算术逻辑单元支持32位操作。也就是说,对当前系统进行了最小的系统改动。
根据本发明实施例,可在视频编码器和解码器中处理高保真原始数据N比特(1 0比特、12比特、14比特)。同时,保证编码效率并提高了SNR。
虽然已参照其示例性实施例示出和描述了本发明,但本领域技术人员应理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可在形式和细节上做出各种改变。
权利要求
1.一种编码N比特视频数据的方法,包括以下步骤(a)提取关于输入视频数据的比特深度N的信息;(b)划分输入视频数据并得到通过预测获得的差分矩阵;(c)根据输入视频数据的比特深度N对差分矩阵进行变换和缩放;以及(d)输出变换和缩放后的数据,其中,N是大于8的整数。
2.如权利要求1所述的方法,步骤(c)包括下面的步骤(c1)对差分矩阵进行整数DCT变换并产生第一中间矩阵;(c2)将第一中间矩阵除以第一预定值并取整到最接近的整数,产生第二中间矩阵作为结果;(c3)根据基于域的数组乘法将第二中间矩阵乘以预定数组S(i),并产生第三中间矩阵作为结果;(c4)将第三中间矩阵除以第二预定值并取整到最接近的整数,然后产生第四中间矩阵作为结果;(c5)将第四中间矩阵乘以预定值q[QP],其中,根据在步骤(c3)中使用的乘法器来确定第一预定值,以保证相乘之后的值不会溢出,其中,根据在步骤(c5)中使用的乘法器来确定第二预定值,以保证相乘之后的值不会溢出,其中,根据在步骤(c1)中采用的整数DCT变换方式来确定预定数组S(i),其中,根据在变换和缩放期间采用的量化参数QP来确定预定值q[QP]。
3.如权利要求1所述的方法,其中,N是10或12。
4.如权利要求3所述的方法,其中,如果N是10,则第一预定值是7并且第二预定值是17。
5.如权利要求3所述的方法,其中,如果N是12,则第一预定值是9并且第二预定值是15。
6.如权利要求2所述的方法,S(i)=233/v(i),其中,i=0~5,如果差分矩阵是8×8矩阵,则数组v(i)是v(i)=[512×512,442×442,464×464,512×442,512×464,442×464],其中,根据在步骤(c1)采用的整数DCT变换矩阵来确定v(i)的值。
7.如权利要求2所述的方法,其中,在步骤(c3)中,第二中间矩阵和数组S(i)之间的乘法如下执行在行={0,4}和列={0,4}的数据乘以预定系数S(0);在行={1,3,5,7}和列={1,3,5,7}的数据乘以预定系数S(1);在行={2,6}和列={2,6}的数据乘以预定系数S(2);在行={0,4}和列={1,3,5,7}的数据乘以预定系数S(3);在行={1,3,5,7}和列={0,4}的数据乘以预定系数S(3);在行={0,4}和列={2,6}的数据乘以预定系数S(4);在行={2,6}和列={0,4}的数据乘以预定系数S(4);并且其它数据乘以预定系数S(5)。
8.如权利要求2所述的方法,其中,步骤(c)还包括以下步骤(c6)将从步骤(c5)输出的结果加上值k,然后右移15比特并产生第六中间矩阵,其中,如果预测是帧内预测,则值k=2-15*10/31,如果预测是帧间预测,则值k=2-15*10/62。
9.如权利要求2所述的方法,其中,q=215/2QP/8,QP是整数并且其范围是0~63。
10.一种编码N比特视频数据的编码器,包括编码控制器,用于提取关于输入视频数据的比特深度N的信息并控制编码器的全部;划分器,用于划分输入视频数据并得到通过预测获得的差分数据;整数DCT变换和缩放模块,用于根据输入视频数据的比特深度N对差分块进行变换和缩放,并产生变换和缩放后的数据,其中,N是大于8的整数。
11.如权利要求9所述的编码器,变换和缩放模块包括整数DCT模块,用于对差分矩阵进行整数DCT变换并产生第一中间矩阵;第一除法器,用于将第一中间矩阵除以第一预定值并取整到最接近的整数,并产生第二中间矩阵作为结果;第一乘法器,用于根据基于域的数组乘法将第二中间矩阵乘以预定数组S(i),并产生第三中间矩阵作为结果;第二除法器,用于将第三中间矩阵除以第二预定值并取整到最接近的整数,然后产生第四中间矩阵作为结果;第二乘法器,用于将第四中间矩阵乘以预定值q[QP],其中,根据在步骤(c3)中使用的乘数来确定第一预定值,以保证相乘之后的值不会溢出,其中,第二预定值被确定为与在步骤(c5)中使用的乘数对应,以保证相乘之后的值不会溢出,其中,根据在步骤(c1)中采用的整数DCT变换矩阵来确定预定数组S(i),其中,根据在变换和缩放期间采用的量化参数QP来确定预定值q。
12.如权利要求11所述的编码器,其中,N是10或12。
13.如权利要求12所述的编码器,如果N是10,则第一预定值是7并且第二预定值是17。
14.如权利要求11所述的编码器,其中,如果N是12,则第一预定值是9并且第二预定值是15。
15.如权利要求11所述的编码器,S(i)=233/v(i),其中,i=0~5,如果差分矩阵是8×8矩阵,则数组v(i)是v(i)=[512×512,442×442,464×464,512×442,512×464,442×464],其中,根据在整数DCT模块中采用的整数DCT变换矩阵来确定v(i)的值。
16.如权利要求11所述的编码器,其中,第一乘法器根据如下规则来执行第二中间矩阵和数组S(i)之间的乘法在行={0,4}和列={0,4}的数据乘以预定系数S(0);在行={1,3,5,7}和列={1,3,5,7}的数据乘以预定系数S(1);在行={2,6}和列={2,6}的数据乘以预定系数S(2);在行={0,4}和列={1,3,5,7}的数据乘以预定系数S(3);在行={1,3,5,7}和列={0,4}的数据乘以预定系数S(3);在行={0,4}和列={2,6}的数据乘以预定系数S(4);在行={2,6}和列={0,4}的数据乘以预定系数S(4);以及其它数据乘以预定系数S(5)。
17.如权利要求11所述的编码器,变换和量化模块还包括偏移模块,其将从第二乘法器输出的结果加上值k,然后右移15比特,以产生第六中间矩阵,其中,如果预测是帧内预测,则值k=2-15*10/31,如果预测是帧间预测,则值k=2-15*10/62。
18.如权利要求11所述的编码器,其中,q=215/2QP/8,QP是整数并且其范围是0~63。
19.一种用于处理N-比特视频数据的解码器,包括熵解码模块,用于将输入的比特流解码为控制数据、量化数据和运动数据,所述控制数据包含有关于将被处理的视频数据的比特深度N的信息;解码控制器,用于基于所述控制数据控制解码器的整个操作;逆变换和缩放模块,对从所述熵解码模块接收到的量化数据进行逆变换和缩放,其中,所述的比特深度N大于8。
20.如权利要求19所述的解码器,其中,所述逆变换和缩放模块包括第三乘法器,用于将量化的数据乘以数组乘法乘以第三预定值r[QP],从而生成第七中间矩阵;第三除法器,用于将所述第七中间矩阵除以第四预定值n[QP],然后取最接近的整数,并生成第八中间矩阵;逆变换模块,用于逆变换所述第八中间矩阵,从而生成残差数据,其中,第三预定值r[QP]和第四预定值n[QP]根据如下条件进行确定Qp=0~63q[QP]≅2^15/(2^(QP/8))]]>q[QP]*r[QP]≅2^(16+n[QP]),]]>其中,QP是量化参数,符号“^”表示幂。
21.如权利要求19所述的解码器,其中,所述比特深度N为10或12。
22.一种用于处理N-比特视频数据的解码方法,包括用于将输入的比特流解码为控制数据、量化数据和运动数据,所述控制数据包含有关于将被处理的视频数据的比特深度N的信息;基于所述控制数据控制解码器的整个操作;对从所述熵解码模块接收到的量化数据进行逆变换和缩放,其中,所述的比特深度N大于8。
23.如权利要求22所述的解码方法,其中,所述逆变换和缩放步骤包括将量化的数据乘以数组乘法乘以第三预定值r[QP],从而生成第七中间矩阵;将所述第七中间矩阵除以第四预定值n[QP],然后取最接近的整数,并生成第八中间矩阵;逆变换所述第八中间矩阵,从而生成残差数据,其中,第三预定值r[QP]和第四预定值n[QP]根据如下条件进行确定QP=0~63q[QP]≅2^15/(2^(QP/8))]]>q[QP]*r[QP]≅2^(16+n[QP]),]]>其中,QP是量化参数,符号“^”表示幂。
24.如权利要求22所述的解码方法,其中,所述比特深度N为10或12。
全文摘要
提供一种编码N比特视频数据的方法,包括以下步骤(a)提取关于输入视频数据的比特深度N的信息;(b)划分输入视频数据并得到通过预测获得的差分矩阵;(c)根据输入视频数据的比特深度N对差分块进行变换和缩放;以及(d)输出变换和缩放后的数据,其中,N是大于8的整数。由于本发明的方法根据输入视频数据的比特深度对视频数据进行变换和缩放,所以它能够处理多于8比特的视频数据。
文档编号H04N7/50GK101083769SQ200610092448
公开日2007年12月5日 申请日期2006年6月2日 优先权日2006年6月2日
发明者张志明, 赵大星, 金铉文, 金大熙, 崔雄一 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1