视频数据编码器和视频数据编码方法

文档序号:7669008阅读:615来源:国知局
专利名称:视频数据编码器和视频数据编码方法
技术领域
本发明涉及一种视频数据编码器和视频数据编码方法,特别涉及一种用于采用离散余弦变换提高运动估计的帧内编码的压缩效率的技术。
视频数据编码(写码)技术已经由广泛的工业参与改进,并且已经建立多媒体内容的视频数据编码的各种通用标准。例如,H.263是一个适合于发射视频数据文件的视频数据编码的国际标准,MPEG(运动图象专家组)是另一个适于存储视频数据文件的标准。这些技术中的每一个都对适于其目的的适当的比特率采用独特的编码算法。
例如,在国际标准化的MPEG-4中采用的编码技术是两种数据编码技术、离散余弦变换(DCT)和运动补偿(MC)估计的混合。这些编码技术用作为用于MPEG-4中的视频数据编码的基本算法。
图6是用于说明MPEG-4中的典型编码过程的方框图。有两种方法用于视频数据编码帧内编码和帧间编码。帧内编码是通过参考每个帧中的数据来压缩视频数据的方式,而帧间编码参考帧间的差来用于压缩。
帧内编码的第一步是用划分器6a将视频目标平面(VOD)分成多个大块。大块是用于进行帧内编码过程的单元。图7显示了大块的结构。如图7所示,大块包含来自亮度分量(Y分量)和来自色度分量(Cb和Cr分量)的多个数据块。图7中所示结构是基于所谓的“420格式”的色度格式中的一个的,其中“420格式”包括四个亮度块和两个色度块。由离散余弦变换器6d对每个块进行DCT,并由量化器6e对变换后的块进行量化。由可变长度编码器6f对量化数据(DCT系数和振幅)进行可变长度编码。最后,将得到的代码输出以进行发送等。相反,由反量化器6g将量化块进行反量化,用于恢复要在下一估计中用作为源帧的帧。此外,由反离散余弦变换器6h对DCT系数进行反DCT。将恢复的VOP通过加法电路6i传送到帧存储器6j。
相反,在帧间编码中,用运动矢量检测器6b对一个与具有目标大块的VOP相邻的VOP实现一个运动检测、例如块匹配方法,以检测与目标大块具有最小差值的估计大块。将表示具有最小差值的估计大块的运动的信号称为运动矢量。将所参考的用于产生估计大块的帧称为基准VOP。根据所检测的运动矢量对存储在帧存储器6j中的基准VOP进行运动补偿,以获得适当的估计大块。减法电路6c获得在目标大块与所检测估计大块之间的差。由离散余弦变换器6d对因此获得的差信号进行DCT,由量化器6e对DCT系数进行量化。由可变长度编码器6f对量化的DCT系数以及运动矢量和振幅进行可变长度编码。
下面将详细说明DCT。DCT是傅立叶变换的一种。DCT将2维图象变换成2维频率,将频率分成显著的低频分量和不显著的高频分量。此外,可以获得随遇信息。下列的表达式1表示在8×8块上的2D DCT,表达式2表示反DCT。
表达式1F(u,v)=(1/4)C(u)C(v)Σi=0Σj=0f(i,j)cos(2i+1)uπ/16cos(2j+1)vπ/16]]>表达式2f(u,v)=(1/4)Σi=0Σj=0C(u)C(v)F(u,v)cos(2i+1)uπ/16cos(2j+1)vπ/16]]>其中,C(u)=1/2(u=0)]]>C(u)=1(u≠0)C(v)=1/2(v=0)]]>C(v)=1(v≠0)
IDCT(i,j)象素值DCT(u,v)DCT系数图8是显示目标块X及其周围相邻块A、B和C的示意图。每块中的每个方块代表一个DCT系数。由左上方的方块代表的DCT系数是直流(DC)分量,而其他的是交流(AC)分量。MPEG-4优于MPEG-2是因为MPEG-4通过以预测编码技术对量化DC和AC分量都进行自适应编码而提高了对内-类型块编码的效率,而MPEG-2只针对内-类型块中的DC分量运用差分编码。
DCT系数存储器6k将基准块的量化DCT系数(DC分量和第一水平行或第一垂直列的AC分量)作为预测值存储。在预测值中,对DC分量的值进行预测编码并输出,同时确定是否对AC分量运用预测编码(预测选择器6m)。
在应该对AC分量运用预测编码的情况下,开关SW1接通,则减法电路61计算存储器6k中的预测值与量化AC分量之间的差值(预测误差),并由可变长度编码器6f进行可变长度编码。相反,如果预测编码无效,开关SW1关闭,则由可变长度编码器6f执行的可变长度编码只运用到量化AC分量上。
下面将说明常规帧间编码的操作。
图9是用于说明常规帧间编码的过程的流程图。在下面的说明中,例如,X(i,j)代表块X中的DCT系数(其中,i代表垂直分量,j代表水平分量;i,j=0,1,2,…,7)。
将输入视频数据(VOP)分成多个单位大块。每个大块被进行DCT以量化(步骤A1)。然后,计算第一水平行的第一垂直列中的DCT系数的AC分量的绝对值S0的和(步骤A2)。下列表达式3表示绝对值S0的和。
表达式3S0=∑|X(i,0)|或∑|X(0,j)| (i,j=1,2,…,7)
然后,计算大块中的所有块(Y,Cb和Cr分量)的AC分量的绝对值S0的和的总计(∑mS0),并将结果存储在RAM 8的工作区中。
然后,用预测编码对量化DCT系数中的DC分量进行编码。根据在目标块周围的块中的水平和垂直DC分量之间的斜度自适应地选择DC分量的预测值。
下面的表达式4表示块X中的DC分量的预测值X’(0,0)。存储器6k存储预定的预测值X’(步骤A3至A5)。
表达式4<![CDATA[if(|A(0,0)-B(0,0)|<|B(0,0)-C(0,0)|then X’(0,0)=C(0,0)else X’(0,0)=A(0,0)]]>其中,A(0,0)块A中的DC分量B(0,0)块B中的DC分量C(0,0)块C中的DC分量X(0,0)块X中的DC分量在DC分量的预测值是C(0,0)的情况下,用预测编码对目标块X中的第一水平线的AC分量X(0,j)(j=1,2,…,7;图8中的阴影部分HX)进行编码。在这种情况下,预测值是块C中的第一水平线的AC分量C(0,j)(j=1,2,…,7;图8中的阴影部分HC),将其存储在存储器6k中。下面的表达式7表示AC分量中的预测误差(PE)。
表达式7PE=X(0,j)-C(0,j)由于块中的AC分量的量化定标与DC分量的情况一样有时可以是不均匀的,所以预测值被标准化。
在AC分量中的预测差错大于未预测AC分量的情况下,在没有预测的情况下直接对未预测AC分量进行编码。预测选择器6m确定AC分量预测是否应运用到每个大块上。这个确定是通过比较∑mS0(参见表达式3)与∑mS、即比较目标块X中的所有块(Y,Cb和Cr分量)的(在第一水平行或第一垂直列中的)未预测AC分量的绝对值的和与AC分量中的预测误差的绝对值的和来实现的。下面的表达式8表示每个块中的AC分量中的预测误差的绝对值的和S。
表达式8S=∑|X(i,0)-A(i,0)|或∑|X(0,j)-C(0,j)|(i,j=1,2,…,7)为了确定AC分量预测的有效性,计算目标块中的所有块(Y,Cb和Cr分量)的AC分量中的预测误差的绝对值的和S的总计∑mS(步骤A7),并将预测误差的绝对值的和(∑mS)与未预测AC分量中的绝对值的和(∑mS0)进行比较(步骤A8)。比较是根据下面的表达式9进行的。
表达式9∑mS<∑mS0如果满足不等式9(在步骤A8为YES),则开关SW1接通,因此预测编码被允许,即对AC分量中的预测误差进行可变长度编码(步骤A9)。如果不等式9不满足(在步骤A8为NO),则开关SW1关闭,因此预测编码不被允许,即对未预测AC分量进行可变长度编码(步骤A10)。
因此,计算∑mS(AC分量中的预测误差的绝对值的和S)和∑mS0(AC分量的绝对值的和),并相互进行比较,以确定通过常规编码过程进行的AC分量预测的必要性。
由于常规技术需要确定预测是否有效,因此需要执行计算来找出每个大块上的∑mS(AC分量中的预测误差),即使在大块具有几个AC块、例如VOP代表其色调几乎为均一的天空或大地的情况下预测明显是无效的也是这样。这种额外的计算在编码过程中造成多余。
在已经考虑了上述问题的情况下作出了本发明。本发明的一个目的是提供一种在预测编码中实现高速有效的视频数据编码的视频数据编码器和方法和记录介质,其中,对DCT系数中的DC分量和AC分量都进行自适应预测,消除了对AC分量的预测编码中的多余任务。
依据本发明,一种用预测编码对目标块中的离散余弦变换系数的直流分量和交流分量进行自适应编码的视频数据编码器,包括确定单元,确定对目标块中的交流分量的预测是否有效;以及编码器,当所述确定单元确定预测无效时,在不计算目标块中的交流分量的预测误差的情况下对交流分量进行编码。
这个结构实现了高速有效的编码,因为在AC分量预测明显无效时这减少了编码中的计算。更准确地,编码器不计算表示几乎均匀的图象、例如天空或大地的块中的AC分量的预测误差。
在阅读了下列详细说明和附图之后,本发明的这些目的和其他目的和优点将变得更加明显,其中

图1是显示视频数据编码器中的电路结构的示意图;图2是用于说明依据第一实施例的帧内编码的流程图;图3是用于说明确定阈值的过程的流程图;图4是用于说明依据第二实施例的帧内编码的流程图;图5是用于说明依据第三实施例的帧内编码的流程图;图6是用于说明编码过程的方框图;图7是显示大块中的块构造的示意图;图8是显示目标块X及其周围块A、B和C的示意图;以及图9是说明常规帧内编码的流程图。
下面参考图1至5说明依据本发明的视频数据编码器的实施例。
第一实施例下面参考图1至3说明依据第一实施例的视频数据编码器1。
图1是显示视频数据编码器1的示意图。
如图1所示,视频数据编码器1包括由总线11互连的控制器2、输入3、显示器4、通信接口(I/F)5、视频CODEC6、音频CODEC7、RAM(随机存取存储器)8和存储单元9。并且,存储单元9接受一个记录介质10。
控制器2从存储在存储单元9中的与视频数据编码器1兼容的各种应用程序中选择适当的应用程序,并将选择的程序和通过输入3输入的指令和数据传送到RAM8中的工作区。控制器2执行RAM8中的程序,并根据运行的程序执行各种任务。结果存储在RAM8中,同时显示在显示单元4上。根据从输入3输入的用户指令将RAM8中的结果传送到存储单元9的适当的目录下。
为了进行视频数据编码,控制器2多路传输两组已编码数据由视频CODEC6处理的已编码视频数据组和由音频CODEC7处理的已编码音频数据组。在多路传输之后,产生一行位流数据。将位流数据组存储在存储单元9中的记录介质10上,或通过通信I/F 5输出到外部设备上。
为了对已编码视频数据译码,控制器2从位流数据组分别提取出视频数据和音频数据,其中位流数据组是从存储单元9中的存储介质10读取或通过通信I/F 5由外部设备给出的。将提取出的视频数据组和音频数据组分别传送到视频CODEC6和音频CODEC7。
输入3包括配备有光标键、数据键、各种功能键等的键盘和诸如鼠标的指点设备。输入3响应键按下和鼠标操作将产生的信号发送给控制器2。输入3可以包括覆盖显示器4的数字转换器。数字转换器通过感测电磁变化、磁致伸缩变化、压力变化等来检测笔接触的位置,从而输入数据。将输入的数据传送给控制器2。
显示单元4是CRT(阴极射线管)显示器、液晶显示器等。显示单元4由控制器2提供的显示控制信号进行控制,并显示由视频CODEC6译码的视频数据表示的视频图象。
通信I/F 5可以是调制解调器(调制器/解调器)、终端适配器(TA)、路由器等,控制通过诸如PSTN(公共交换电话网)、ISDN(综合业务数字网)、专线之类的通信网络进行的与外部设备的通信。
视频CODEC6对存储在存储单元9中的记录介质10中或由摄影机(未显示)给出的视频数据等进行编码和译码。
除了用于确定对DCT系数的AC分量编码的自适应预测之外,本发明的编码过程几乎与前述的常规技术相同。因此,将省略对编码过程的详细说明,本发明的相同或相似的元件使用与图6中相同的标号。由于本发明中所要处理的大块结构和DCT系数的AC/DC分量与图7和图8中所示的上述现有技术相同,所以下面的说明使用与图7和8中所示相同的标号和表达。
用于确定编码之前的预测是否有效的常规过程是以下列方式实现的在目标块的第一垂直列或第一水平行上比较未预测AC分量的绝对值的和(∑mS0)与AC分量中预测误差的绝对值的和(∑mS);以及,当∑mS0大于∑mS时,确定预测有效。
在本发明的第一实施例中,预测的有效性是根据在计算AC分量中的预测误差S之前的∑mS0确定的。更准确地,如果∑mS0小于在预测选择器6m中准备的存储在条件存储单元(未显示)中的阈值θ1,则确定预测无效。在这种情况下,开关SW1关闭,因此跳过用于获得预测误差S的计算,直接对未预测AC分量进行编码。
视频CODEC6还对编码的视频数据进行译码,并输出译码后的视频数据。
音频CODEC7对要附加到由视频CODEC6编码的视频数据上的声音数据进行编码,并将编码的声音数据传送到控制器2。音频CODEC7还对从编码的视频数据中分离出来的编码的声音数据进行译码。
RAM8具有用于存储所选择的应用程序、输入指令、输入数据、结果等的工作区。
存储单元9具有记录介质10,在记录介质10上预先存储有程序、数据等。记录介质10可以是磁介质、光介质或半导体存储器。记录介质10可以是存储单元9中的固定介质,或者是可分离地加到存储单元9上的可移动介质。记录介质10存储由与视频数据编码器1兼容的应用程序处理的数据等。
要存储在记录介质10上的程序、数据等可以通过通信网络等从其他设备接收。或者,通过通信I/F 5与视频数据编码器1相连的其他设备可以配备有包括记录介质10的存储单元,视频数据编码器1可以通过通信I/F 5取出存储在记录介质中的程序、数据等。
下面说明视频编码器1的操作。
图2是说明通过第一实施例执行的帧内编码过程的流程图。
对于帧内编码,在记录介质10中已经准备了专用于帧内编码的程序。控制器2从记录介质10读出程序,将其展开在RAM8中。控制器2根据在RAM8中展开的程序控制视频CODEC6来执行帧内编码。
首先,由划分器6a将输入视频数据组(VOP视频目标平面)分成单位大块。然后视频CODEC6以在现有技术部分详细描述的方式执行帧内编码(参看图9)(由离散余弦变换器6d)以DCT处理每个大块(步骤S101);由量化器6e进行量化;以及,计算目标块中的每块(Y、Cb和Cr分量)中的∑mS0(在第一水平行或第一垂直列上的DCT系数的AC分量的绝对值的和)(步骤S102)。
然后,视频CODEC6用预测编码对量化的DCT系数的DC分量进行编码(步骤S103至S106)。由于这个过程与常规过程(图9中的步骤A3至A6)相同,所以省略对其的详细说明。
在对DC分量的预测编码完成之后,视频CODEC6开始对AC分量进行编码。在第一实施例中,在计算∑mS0(AC分量中的预测误差)之前检查用于确定预测是否有效的条件。在这种情况下,条件是∑mS0(在目标块中的第一垂直列或第一水平行上的AC分量的绝对值的和)是否小于阈值θ1。也就是说,确定是否满足下列表达式10(步骤S107)。
表达式10∑mS0<θ1θ1表示适合于所需图象质量或编码处理速度的阈值。将阈值存储在预测选择器6m中的条件存储区域(未显示)中。以后将说明如何设置阈值θ1(参看图3)。
如果确定满足由表达式10表示的上述条件,即∑mS0小于θ1(在步骤S107为YES),则确定预测无效,因为DCT系数太小,不能获得预测效果。在“无效”的情况下,开关SW1关闭,从而跳过预测编码过程(步骤S109至S111)。并且,由量化器6e量化的AC分量被进行可变长度编码(步骤S108)。
如果确定不满足由表达式10表示的条件,即∑mS0等于或大于θ1(在步骤S107为NO),则进一步以常规方式确定预测是否有效(步骤S109至S111)。也就是说,比较在目标块的每块(Y、Cb和Cr分量)中的∑mS0(第一水平行或第一垂直列上的未预测AC分量的绝对值的和)与∑mS(AC分量中预测误差的绝对值的和)(图9中的步骤A7至A10)。如果∑mS0大于∑mS(∑mS<∑mS0;在步骤S110为YES),则确定预测有效。在这种情况下,开关SW1导通,从而AC分量中的预测误差被进行可变长度编码(步骤S111)。相反,如果∑mS0等于或小于∑mS(在步骤S110为NO),则确定预测无效。在这种情况下,开关SW1关闭,从而未预测AC分量被进行可变长度编码(步骤S108)。
由于如果在步骤S107确定∑mS0小于预定阈值θ1则跳过用于获得AC分量中的预测误差的计算,所以以更短的操作时间有效地实现了编码过程。
下面说明设置阈值θ1的方法。
为了设置阈值θ1,对一个样本视频数据组进行用于确定预测是否有效的常规过程(参看图9)。也就是说,用预测有效性对用帧内编码进行编码的样本视频数据中的所有大块进行分类有效或无效,同时获得用帧内编码来编码的所有帧中的被确定预测有效的大块中的S0(AC分量的绝对值的和)的平均值和标准偏差。以同样的方式获得被确定预测无效的大块中的S0(AC分量的绝对值的和)的平均值和标准偏差。
在这种情况下,阈值θ1由下面的表达式11确定,其中αon表示在“有效”情况下S0的平均值,σon表示标准偏差,而αoff表示在“无效”情况下S0的平均值,σoff表示标准偏差。
表达式11θ1=(σoff×αon+σon×αoff)/(σon+σoff)图3是说明用于设置阈值θ1的方法的流程图。阈值θ1由图3所示的过程确定,并且,所确定的阈值存储在预测选择器6m中的条件存储区域(未显示)中。下面将说明视频编码器1在设置阈值θ1时的操作。
控制器2将初始值“0”设置到为计算平均值α和标准偏差σ而准备的寄存器Son、Soff、 S’on和S’off中(步骤B1)。除了执行常规编码过程之外,控制器2还将到达的测试样本视频数据组分成大块以分别进行DCT(步骤B2)和量化(步骤B3)。同时,计算∑mS0(在第一垂直列或第一水平行上的DCT系数中的AC分量的绝对值的和)。
然后,执行DC分量的预测编码。以与对DC分量的常规预测编码(图9中所示的步骤A3至A6)相同的方式实现在块A和B之间的DC分量的差值与块B和C之间的DC分量的差值的比较(步骤B4),以确定块X中的DC分量的预测值X’(0,0)(步骤B5,B6),并在计算了预测X’(0,0)和DC分量X(0,0)之间的差值(预测误差)之后实现可变长度编码(步骤B7)。
然后,计算∑mS(AC分量中的预测误差的绝对值的和)(步骤B8)。将∑mS与在步骤B3获得的∑mS0进行比较。在∑mS小于∑mS0(步骤B9为YES)的情况下,将∑mS0增加到寄存器Son(Son=Son+∑mS0)中,同时将∑mS0的平方增加到寄存器S’on(S’on=S’on+(∑mS0)2)中(步骤B10)。在∑mS0小于∑mS(步骤B9为NO)的情况下,将∑mS0增加到寄存器Soff(Soff=Soff+∑mS0)中,同时将∑mS0的平方增加到寄存器S’off(S’off=S’off+(∑mS0)2)中(步骤B11)。
重复地执行上述计算,直到输入帧中的全部大块都得到了计算。当对最后一个大块的计算已经完成时(在步骤B12中为YES),计算平均值和标准偏差。
由下面的表达式12获得预测有效大块中的∑mS0的平均值αon,由下面的表达式13获得预测无效大块中的平均值αoff。
表达式12αon=(Son/所有大块的数目)表达式13αoff=(Soff/所有大块的数目)由下面的表达式14获得预测有效大块中的∑mS0的标准偏差σon,由下面的表达式15获得预测无效大块中的∑mS0的标准偏差σoff。
表达式14σon={(S’on/所有大块的数目)-(Son/所有大块的数目)2}1/2表达式15σoff={(S’off/所有大块的数目)-(Soff/所有大块的数目)2}1/2
阈值θ1由下面的表达式16根据获得的平均值αon和αoff以及标准偏差σon和σoff来获得。
表达式16θ1=(σoff×αon+σon×αoff)/(σon+σoff)将确定的阈值θ1存储在预测选择器6m中的条件存储区域(未显示)中,从而终止确定阈值θ1的过程。
阈值θ1变得越小,用于编码的处理时间变得越短,这是因为“预测有效”的块的数目减少了。相反,阈值θ1变得越大,用于编码的处理时间变得越长,因为虽然实现了精确的编码但多余任务增多了。
依据上述的第一个实施例,在计算∑mS(AC分量中的预测误差的绝对值的和)之前检查基于获得值(∑mS0未预测AC分量的绝对值的和)的AC分量预测是否有效的条件。然后,确定是否满足条件(∑mS0<θ1)。在∑mS小于阈值θ1的情况下,确定编码之前的预测无效。在这种情况下,跳过对AC分量的预测误差的计算,并直接对未预测AC分量进行可变长度编码。如果不满足条件,以与常规编码过程中相同的方式确定预测是否有效。
依据上述的第一个实施例,在对编码过程下的帧、例如表示诸如天空和大地之类的几乎均匀的图象的帧的预测明显无效的情况下跳过预测误差(∑mS)的计算。省略计算预测误差有助于减少编码的处理时间,从而提高效率。此外,由于是通过检查计算预测误差之前的条件与常规确定方法的组合来确定预测是否有效的,所以结果是准确的。
第二个实施例下面说明依据第二个实施例的视频数据编码器1。
在上述第一个实施例中,预测的有效性是根据∑mS0(AC分量中的绝对值的和)确定的。在第二个实施例中,对在第一垂直列或第一水平行上的DCT系数中其绝对值不为0的AC分量的数目进行计数(计数值S1)。预测的有效性将根据∑mS1(计数值S1的和)来确定。计数值S1是由下面的表达式17获得的。
表达式17S1=∑u(|X(i,0)|) or ∑u(|X(0,j)|)(i,j=1,2,…,7)其中,u(X)是单位阶跃函数u(X)=1(X≠0)=0(X=0)下面参看图4说明依据第二个实施例的帧内编码操作。图4是说明依据第二个实施例的帧内编码的流程图。
由于依据第二个实施例的视频数据编码器1的结构与第一个实施例中的相同,所以这里采用相同的标号省略对设备结构的说明。由于除了确定预测的有效性的过程之外编码过程也几乎与第一个实施例中的相同,所以也省略对编码过程的详细说明。
在DCT、量化和对DC分量的预测编码(步骤S201至S206)之后,视频CODEC6开始对AC分量进行编码。在第二个实施例中,在计算AC分量的预测误差∑mS之前检查用于确定AC分量预测是否无效的预定条件。该条件在这里是∑mS1(大块中的所有块(Y、Cb和Cr分量)的第一垂直列或第一水平行上的DCT系数的其绝对值不为0的AC分量的数目的和(参看图17))是否小于预定阈值θ2。也就是说,确定是否满足下面的表达式18。
表达式18∑mS1<θ2θ2表示根据编码后所需的视频图象质量、编码的处理速度等最优化的阈值。阈值θ2提前存储在预测选择器6m的条件存储区域(未显示)中。下面说明一种用于确定阈值θ2的方法。
如果满足由上述表达式18表示的条件、即∑mS1(计数值的和)小于阈值θ2(在步骤S207为YES),则确定AC分量预测无效,因为该帧可能表示几乎均匀的图象。在这种情况下,开关SW1关闭,从而跳过预测过程(步骤S209至S211)。然后,对由量化器6e量化的AC分量进行可变长度编码(步骤S208)。
相反,如果不满足条件(在步骤S207为NO),则以常规方式确定预测是否有效(步骤S209至S211)。
下面说明用于确定阈值θ2的方法。
阈值θ2是以与在第一个实施例中所述的确定阈值θ1的方法相同的方式来确定的(参看图3)。也就是说,阈值θ2由下面的表达式19确定。
表达式19θ2=(σ’off×α’on+σ’on×α’off)/(σ’on+σ’off)在上述表达式中,α’on和σ’on分别表示预测有效大块中的S1的平均值和标准偏差,而α’off和σ’off分别表示预测无效大块中的S1的平均值和标准偏差。
通过用θ2代替θ1;用S1代替步骤B10和B11中的S0;分别用α’和σ’代替α和σ,可以将图3所示的流程图修改为另一个用于说明θ2的确定过程的流程图。
与θ1的情况一样,θ2变得越小,所需的用于编码的处理时间越短,这是因为预测有效块的数目减少了。相反,θ2变得越大,所需的处理时间越长,因为虽然实现了精确的编码但多余任务增多了。
依据上述的第二个实施例,在计算∑mS(AC分量中的预测误差的绝对值的和)之前根据预先获得的值(在这种情况下,是绝对值不为0的AC分量的数目S1)检查用于确定预测是否无效的条件。在这种情况下,条件是是否∑mS1<θ2(预定阈值)。如果满足条件,确定预测无效。在这种情况下,跳过对预测误差的计算,从而直接对未预测AC分量进行可变长度编码。如果不满足条件,以与图9中所示的常规确定相同的方式确定预测是否有效。
因此,在对编码过程下的帧、例如表示诸如天空和大地之类的几乎均匀的图象的帧的预测明显无效的情况下跳过预测误差(∑mS)的计算。省略计算预测误差有助于减少编码的处理时间,从而提高效率。此外,由于是通过检查计算预测误差之前的条件与常规确定方法的组合来确定预测是否有效的,所以结果是准确的。
第三个实施例下面说明依据本发明第三个实施例的视频数据编码器1。
在第三个实施例中,准备基于DC分量中的预测误差的大小的条件来用于确定AC分量预测是否有效。下面的表达式20表示大块中的所有块的DC分量的预测误差(PE)的和。
表达式20PE=∑m|X(0,0)-X'(0,0)|下面参考图5说明依据第三个实施例的帧内编码的过程。图5是说明依据第三个实施例的帧内编码的流程图。
由于依据第三个实施例的视频数据编码器1的结构与第一个实施例中的相同,所以这里采用相同的标号省略对其的详细说明。除了确定预测是否有效的过程之外编码过程也与第一个实施例中的相同,所以也省略对编码过程的详细说明。
在对到达的视频数据进行DCT、量化和对DC分量的预测编码(步骤S301至S306)之后,视频CODEC6开始对AC分量进行编码。在第三个实施例中,在计算AC分量的预测误差(∑mS)之前检查用于确定AC分量预测是否无效的条件。该条件是在步骤S306获得的DC分量大块中的所有块(Y、Cb和Cr分量)的和是否小于阈值θ3。换句话说,确定是否满足下面的表达式21。
表达式21
∑m|X(0,0)-X'(0,0)|<θ3θ3表示根据编码后所需的视频图象质量、编码的处理速度等最优化的阈值,并提前存储在视频CODEC6的预测选择器6m的条件存储区域(未显示)中。后面将说明一种用于确定θ3的方法。
如果满足由上述表达式21表示的条件、即DC分量预测误差的和小于θ3(在步骤S307为YES),则确定AC分量预测无效,因为该帧可能表示几乎均匀的图象。在这种情况下,开关SW1关闭,从而跳过对AC分量的预测编码(步骤S309至S311)。然后,对由量化器6e量化的AC分量进行可变长度编码(步骤S308)。
如果不满足条件(在步骤S307为NO),则以常规方式确定预测是否有效(步骤S309至S311)。
下面说明用于确定阈值θ3的方法。
阈值θ3是以与在第一个实施例中所述的确定θ1的相同的方式来确定的(参看图3)。阈值θ3由下面的表达式22确定。
表达式22θ3=(σ’’off×α’’on+σ’’on×α’’off)/(σ’’on+σ’’off)在上述表达式中,α’’on和σ’’on分别表示预测有效大块中的DC分量预测误差的平均值和标准偏差,而α’off和σ’off分别表示预测无效大块中的DC分量预测误差的平均值和标准偏差。
通过用θ3代替θ1;用DC分量预测误差(|X(0,0)-X’(0,0)|)代替步骤B10和B11中的S0;分别用α’’和σ’’代替α和σ,可以将图3所示的流程图修改为另一个用于说明θ3的确定过程的流程图。
与θ1的情况一样,θ2变得越小,所需的用于编码的处理时间越短,这是因为预测有效块的数目减少了。相反,θ2变得越大,所需的处理时间越长,因为虽然实现了精确的编码但多余任务增多了。
依据上述的第三个实施例,在计算∑mS(AC分量中的预测误差的绝对值的和)之前根据预先获得的值(在这种情况下,是DC分量中的预测误差的和∑m)检查用于确定预测是否无效的条件。在这种情况下,条件是是否∑m|X(0,0)-X'(0,0)|<θ3(预定阈值)。如果满足条件,确定预测无效。在这种情况下,跳过对预测误差的计算,从而直接对未预测AC分量进行可变长度编码。如果不满足条件,以与图9中所示的常规确定相同的方式确定预测是否有效。
因此,在对编码过程下的帧、例如表示诸如天空和大地之类的几乎均匀的图象的帧的预测明显无效的情况下跳过预测误差(∑mS)的计算。省略计算预测误差有助于减少编码的处理时间,从而提高效率。此外,由于是通过检查计算预测误差之前的条件与常规确定方法的组合来确定预测是否有效的,所以结果是准确的。
在不偏离本发明的广泛精神和范围的情况下,可以作出各种实施和改变。例如,AC/DC分量中的预测误差可以采用方差来代替绝对值误差。
控制计算机执行上述功能的程序或数据信号可以存储在一个记录介质中,例如ROM、软盘、硬盘、CD-ROM、MO、智能介质等。程序或数据信号可以通过载波发送。
权利要求
1.一种用预测编码对目标块中的离散余弦变换系数的直流分量和交流分量进行自适应编码的视频数据编码器,包括确定单元,确定对目标块中的交流分量的预测是否有效;以及编码器,当所述确定单元确定预测无效时,在不计算目标块中的交流分量的预测误差的情况下对交流分量进行编码。
2.一种用预测编码对目标块中的离散余弦变换系数的直流分量和交流分量进行自适应编码的视频数据编码器,包括条件检查单元,在计算目标块中的交流分量中的预测误差之前,检查一个确定预测交流分量是否无效的预定条件;比较器,当所述条件检查单元确定不满足预定条件时,计算交流分量中的预测误差,并比较目标块中的预测误差的绝对值的和与未预测绝对值的和;有效性确定单元,当所述条件检查单元确定满足预定条件时,或者当所述比较器的结果是未预测交流分量的绝对值的和小于预测误差的绝对值的和时,确定预测交流分量是无效的;以及编码器,当所述有效性确定单元确定预测无效时,在不计算目标块中的交流分量的预测误差的情况下,对交流分量进行编码。
3.如权利要求2所述的视频数据编码器,其中,预定条件包括目标块中的预定范围内的交流分量的绝对值的和小于一个预定阈值的条件。
4.如权利要求2所述的视频数据编码器,其中,预定条件包括目标块中的预定范围内的交流分量的其绝对值不为0的交流分量的数目小于一个预定阈值的条件。
5.如权利要求2所述的视频数据编码器,其中,预定条件包括目标块中的直流分量的预测误差的绝对值的和小于一个预定阈值的条件。
6.一种存储由计算机执行的程序的计算机可读记录介质,所述程序使所述计算机具有如下功能用预测编码对目标块中的离散余弦变换系数的直流分量和交流分量进行自适应编码的装置;用于确定对目标块中的交流分量的预测是否有效的装置;以及当所述确定装置确定预测无效时在不计算目标块中的交流分量的预测误差的情况下对交流分量进行编码的装置。
全文摘要
在计算AC分量的预测误差S之前,根据未预测AC分量的绝对值的和(∑mSO)确定AC分量预测是否有效。如果∑mSO小于一个预定阈值θ1,则确定预测无效。在这种情况下,在不计算预测误差S的情况下直接对未预测AC分量进行编码。
文档编号H04N7/34GK1291847SQ00122890
公开日2001年4月18日 申请日期2000年8月31日 优先权日1999年9月1日
发明者笠原毅 申请人:卡西欧计算机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1