专利名称:编码装置、编码方法、编码方法的程序及其记录介质的制作方法
技术领域:
本发明涉及一种编码装置、编码方法、编码方法的程序以及记录编码方法的程序的记录介质,其可以应用于记录动态图像的摄像结果的摄像机、电子照相机、监视装置等。本发明根据基于整数像素精度的成本值,检测出帧间预测模式的优选模式,并对于该优选模式,根据小于等于1像素的精度计算成本值,并检测出帧内预测模式和帧间预测模式的优选模式,从而,当根据成本函数检测优选模式、并对图像数据进行编码处理时,可以通过简单的处理检测出优选模式。
背景技术:
近年来,在与广播电(视)台、一般家庭等有关的动态图像的传送、记录中,一种有效地使用图像数据的冗余性、并有效地传送、存储图像数据的装置逐渐变得普及,这样的装置具有如下构成例如根据MPEG(Moving Picture Experts Group运动图像专家组)等方式,通过离散余弦变换等正交变换和运动补偿对图像数据进行数据压缩。
在此,作为上述方式之一的MPEG2(ISO/IEC 13818-2)是一种被定义为通用图像编码方式的方式,这种定义的目的是为了可以对应于隔行扫描方式、逐行扫描方式两者,而且也是为了可以对应于标准分辨率图像、高清晰度图像两者,因此,目前被广泛地应用于专业用途及消费用途。具体而言,根据MPEG2,例如将基于720×480像素的标准析像度、隔行扫描方式的图像数据数据压缩为4~8[Mbps]的位速率(bit rate),而将基于1920×1088像素的高析像度、隔行扫描方式的图像数据数据压缩为18~22[Mbps]的位速率,从而可以以高画质确保高压缩率。
但是,MPEG2是一种适用于广播用的高画质编码方式,其不对应与MPEG1相比编码量少的高压缩率的编码方式。对此,由于近年来便携式终端的普及,可以预测与这样的MPEG1相比编码量少的高压缩率的编码方式的需求会越来越多。因此,基于MPEG4的编码方式的标准已经在1998年12月由ISO/IEC(InternationalOrganization for Standardization/International ElectrotechnicalCommission)14496-2认定为国际标准。
而且,对于这样的方式而言,最初,随着以实现电视会议用的图像编码为目的的H26L(ITU-T Q6/16 VCEG)的标准化的不断推进,与MPEG2、MPEG4相比,运算量增大,但是,可以确保比MPEG2、MPEG4高的编码效率,而且,作为MPEG4的活动的一个环节,以该H26L为基础,引入各种功能,而且,作为Joint Modelof Enhanced-Compression Video Coding,确保更高的编码效率的编码方式的标准化被不断推进,对于这些方式,在2003年3月,根据H264及MPEG-4Part 10(AVCAdvanced Video Coding)的名称被设定为国际标准。
在此,图1是表示基于该AVC的编码装置的框图。在该编码装置1中,从多个帧内预测模式和多个帧间预测模式中选择优选的预测模式,并从图像数据中减去基于该选择的预测模式的预测值,生成差分数据,对该差分数据进行正交变换处理、量化处理、可变长度编码处理,由此,根据帧内编码、帧间编码对该图像数据进行编码处理。
即,在该编码装置1中,模数变换电路(A/D)2对视频信号SV进行模数变换处理,并输出图像数据D1。画面排列替换缓冲器(picture sorting buffer)3输入从模数变换电路2输出的图像数据D1,并根据与该编码装置1的编码处理有关的GOP(Group ofPictures,图像组)的结构,排列替换该图像数据D1的帧,并输出。
减法电路4接收从该画面排列替换缓冲器3输出的图像数据D1,在帧内编码中,生成并输出相对于在帧内预测电路5中生成的预测值的差分数据D2,对此在帧间编码中,生成并输出相对于在运动预测/补偿电路6中生成的预测值的差分数据D2。正交变换电路7输入减法电路4的输出数据D2,并执行离散余弦变换、卡路南-赖佛变换等正交变换处理,输出基于该处理结果的变换系数数据D3。
量化电路8根据基于速率控制电路9的速率控制的量化比例(quantization scale),量化并输出该变换系数数据D3。可逆编码电路10根据可变长编码、算术编码等,对该量化电路8的输出数据进行可逆编码处理并输出。而且,可逆编码电路10从帧内预测电路5、运动预测/补偿电路6取得与帧内编码的帧内预测模式有关的信息、和与帧间编码的运动矢量有关的信息等,并将这些信息设定为输出数据D4的标题信息、并输出。
存储缓冲器11存储该可逆编码电路10的输出数据D4,并以后续的传送通路的传送速度进行输出。速率控制电路9通过监视该存储缓冲器11的空闲容量,监视由编码处理而产生的编码量,同时,根据该监视结果切换量化电路8中的量化比例,由此控制该编码装置1的发生编码量。
逆量化电路13对量化电路8的输出数据进行逆量化处理,并由此再生量化电路8的输入数据。逆正交变换电路14对逆量化电路13的输出数据进行逆正交变换处理,并由此再生逆正交变换电路7的输入数据。去块滤波器(deblock filter)15从该逆正交变换电路14的输出数据中除去块失真并输出数据。帧存储器16将由帧内预测电路5或者运动预测/补偿电路6所生成的预测值与该去块滤波器15的输出数据进行适宜地相加,并将其作为参照图像信息进行记录。
但是,运动预测/补偿电路6以帧存储器16中所保存的参照图像信息的预测帧(参照帧)为基准,检测出从画面排列替换缓冲器3输出的图像数据的运动矢量,并且,通过该检测出的运动矢量,对帧存储器16中所保存的参照图像信息进行运动补偿,检测出帧间预测的优选模式。而且,当根据帧间预测执行编码处理时,根据该优选模式生成预测图像信息,并向减法电路4输出基于该预测图像信息的预测值。
在帧内编码中,帧内预测电路5根据帧存储器16中所存储的参照图像信息检测出帧内预测模式的优选模式。而且,当根据帧内预测进行编码处理时,根据优选模式从参照图像信息中生成预测图像信息的预测值,并向减法电路4输出。
如上所述,在该编码方式中,用帧间编码和帧内编码分别生成基于与帧间预测相关的运动补偿的差分数据D2、和与帧内预测相关的差分数据D2,并对这些差分数据D2进行正交变换处理、量化处理、可变长编码处理后进行传送。
图2是表示对这样进行编码处理后的编码数据D4进行解码处理的解码装置的框图。在解码装置20中,存储缓冲器21临时存储并输出通过传送通路输入的编码数据D4。可逆解码电路22根据可变长解码、算术解码等对该存储缓冲器21的输出数据进行解码处理,并再生编码装置1中的可逆编码电路10的输入数据。并且,此时,当该输出的数据为帧内编码时,将存储于标题中的帧内预测模式的信息进行解码后,向帧内预测电路23传送,对此,当该输出数据为帧间编码时,将与存储于标题的运动矢量相关的信息进行解码后,向运动预测/补偿电路24传送。
逆量化电路25对可逆解码电路22的输出数据进行逆量化处理,并由此再生向编码装置1的量化电路8输入的变换系数数据D3。逆正交变换电路26接收从该逆量化电路25输出的变换系数数据,并执行四次(four order)的逆正交变换处理,由此,再生向编码装置1的正交变换电路7输入的差分数据D2。
加法器27接收从逆正交变换电路26输出的差分数据D2,并在帧内编码中,将基于由帧内预测电路23生成的预测图像的预测值进行加法运算后输出,对此,在帧间编码中,对基于从运动预测/补偿电路24输出的预测图像的预测值进行加法运算后输出。由此,加法器27再生编码装置1中的减法电路4的输入数据。
去块滤波器28从该加法器27的输出数据中除去块失真并进行输出,并且,画面排列替换缓冲器29按照GOP结构排列替换从该去块滤波器28输出的图像数据的帧并输出。数模变换电路(D/A)30对该画面排列替换缓冲器29的输出数据进行数模变换处理并进行输出。
帧存储器31将去块滤波器28的输出数据作为参照图像信息进行记录并保存。在帧间编码中,运动预测/补偿电路24根据从可逆解码电路22通知的运动矢量的信息,对帧存储器31中所保存的参照图像信息进行运动补偿,并生成基于预测图像的预测值,将该预测值输出给加法器27。而且,在帧内编码中,帧内预测电路23根据从可逆解码电路22通知的帧内预测模式,从由帧存储器31所保存的参照图像信息中生成基于预测图像的预测值,并将该预测值输出给加法器27。
在基于这种AVC方式的帧间编码中,根据Multiple ReferenceFrames,如图3所示,对作为处理对象的帧Org,设定为可通过选择多个参照帧Ref中的任一个进行运动补偿,由此,在正前方的帧中,当与运动补偿的块对应的部位被隐藏时,更进一步地说,即使当由于闪光灯等而在正前方的帧中将全部像素值临时改变时,也可以高精度地进行运动补偿,并提高数据压缩的效率。
而且,在与运动补偿有关的块中,如图4(A1)所示,以16像素×16像素的块为基准进行运动补偿,然而,通过variable MCBlock Size支持tree-structured motion compensation,由此,如图4(A2)~(A4)所示,可以设定为在水平方向和/或者垂直方向上将16像素×16像素的宏块一分为二,并可以通过16像素×8像素、8像素×16像素、8像素×8像素的子宏块,分别独立地设定运动矢量、参照帧而执行运动补偿。而且,对于8像素×8像素的子宏块,如图4(B1)~(B4)所示,进一步分割为8像素×8像素、8像素×4像素、4像素×8像素、4像素×4像素的子宏块,并可以通过分别独立地设定运动矢量、参照帧而执行运动补偿。
并且,对于运动补偿,被设定为使用六抽头的FIR滤波器,以1/4像素精度可以进行运动补偿。由此,在图5中,由符号A表示1像素精度的像素值、由符号b~d表示1/2像素精度的像素值、由符号e1~e3表示1/4像素精度的像素值,运动预测/补偿电路6首先用数值1、-5、20、20、-5、1对六抽头的FIR滤波器的各个抽头的输入进行加权,然后进行下式的运算处理,由此,在水平方向或垂直方向上的连续的像素之间计算1/2像素精度的像素值b或d。
F=A-2-5·A-1+20·A0+20·A1-5·A2+A3......(1)b,d=Clip1((F+16) 》5)并且,使用如上计算出的1/2像素精度的像素值b或d,用数值1、-5、20、20、-5、1对六抽头的FIR滤波器的各抽头的输入进行加权,然后进行下式的运算处理,从而,水平方向和垂直方向的连续的像素之间计算1/2像素精度的像素值c。
F=b-2-5·b-1+20·b0+20·b1-5·b2+b3或者,F=d-2-5·d-1+20·d0+20·d1-5·d2+d3......(2)c=Clip1((F+512)》10)并且,使用如上计算出的1/2像素精度的像素值b~d,并执行基于线性内插(linear interpolation)的下式的运算处理,从而计算1/4像素精度的像素值e1~e3。此外,对于该(1)算式及(2)算式的与加权加法运算有关的归一化处理,是在垂直方向及水平方向的全部内插处理结束后执行的。
e1=(A+b+1)》1e2=(b+d+1)》1......(3)e3=(b+c+1)》1对于对这样的亮度信号的运动补偿处理,根据线性内插执行对色差信号的运动补偿。即,如图6所示,对于基于像素间距s的相邻像素A~D,用下式表示设定于水平方向及垂直方向上分别与内分比dx、s-dx及dy、s-dy有关的采样点上的像素值ν。
v=(s-dx)(s-dy)A+dx(s-dy)B+(s-dx)dyC+dxdyDs2----(4)]]>在AVC中,对于这样的与帧间预测有关的编码的信息即、运动矢量的信息,通过有效地利用连续的宏块、子宏块间的相关而减少数据传送量。即,在AVC编码处理中,通过将一个宏块分割为多个子宏块而可以分别进行运动补偿,从而增大用于传送运动矢量的编码量。因此,对于每个块的各自水平方向成分及垂直方向成分,通过中值预测(median prediction)生成预测运动矢量pmv,并将差分值的运动矢量信息MVD(Motion Vector Data)进行编码并传送,其中,在该预测运动矢量pmv和实际的运动矢量mv之间通过由下式表示的运算处理计算出该差分值。
MVDi=mvi-pmvi;i=0,1 ......(5)但是,如图7(A)所示,如果与运动矢量mv有关的块是将一个宏块在水平方向上一分为二而形成的两个子宏块中的右侧子宏块C,则当与预测运动矢量mv的检测有关的参照帧refIdxE与邻接于其余左侧的子宏块A的参照帧refIdxA相等时,如下式所示,将在邻接于该左侧的子宏块A所检测出的运动矢量mvA设定为预测运动矢量pmv。
pmv=mvA......(6)而且,与此相反,如果与运动矢量mv有关的块是左侧的子宏块A,则当与预测运动矢量mv的检测有关的参照帧refIdxE与邻接于其余右侧的子宏块C的参照帧refIdxC相等时,如下式所示,将在邻接于该右侧的子宏块C所检测出的运动矢量mvC设定为预测运动矢量pmv。
pmv=mvc......(7)
并且,如图7(B)所示,如果与运动矢量mv有关的块是将一个宏块在垂直方向上一分为二而形成的两个子宏块中的上侧子宏块C,则当与预测运动矢量mv的检测有关的参照帧refIdxE与邻接于其余下侧子宏块B的参照帧refIdxB相等时,如下式所示,将在邻接于该下侧的子宏块B中所检测出的运动矢量mvB设定为预测运动矢量pmv。
pmv=mvB......(8)而且,与此相反,如果与运动矢量mv有关的块是下侧的子宏块B,则当与预测运动矢量mv的检测有关的参照帧refIdxE与邻接于其余的上侧的子宏块C的参照帧refIdxC相等时,如下式所示,将在邻接于其余下侧的子宏块C中所检测的运动矢量mvC设定为预测运动矢量pmv。
pmv=mvC......(9)并且,在除此之外的情况下,如图8(A)所示,对于与运动补偿有关的块E,通过在邻接块检测出的运动矢量生成预测运动矢量pmv。此外,在此,该邻接的块是邻接于光栅扫描顺序的水平方向的扫描开始侧的块A、邻接于光栅扫描顺序的垂直方向的扫描开始侧的块B、该块的左右块C、D。此外,如图8(B)所示,这些邻接的块的预测运动矢量值pmv的设定在该邻接的块为子宏块时、甚至即使处理对象的块为子宏块时也可应用。
具体而言,根据与各邻接块的检测有关的参照帧索引refIdxA、refIdxB、refIdxC的值,如果在其与涉及运动补偿的块E之间存在参照帧一致的邻接块时,通过下式将该参照帧一致的邻接块(N=Aor B or C)的运动矢量mvN设定为预测运动矢量pmv。
mvB=mvAmvC=mvArefI dxB=refI dxAref I dxc=ref I dxA......(10)而且,在除此之外的情况下,对于垂直方向及水平方向的各成分,通过下式,将通过中值滤波器处理的处理结果的成分设定为预测运动矢量pmv的各成分。
pmv=mvN......(11)但是,当垂直方向邻接的块B、或者继该块B之后的块C中的任一块都没有意义时,而且在水平方向上邻接的块A有意义时,如下式所示,与这些垂直方向有关的邻接块B及C的运动矢量mv及参照帧索引refIdx被块A的运动矢量mvA及参照帧索引refIdxA所代用。
pmv=Median(mvA,mvB,mvc) ......(12)而且,在AVC中,在B图像中,设置有基于时域(时间)直接方式和空域(空间)直接方式的直接方式,并通过该直接方式中止与运动矢量有关的信息的传送,提高编码效率。
由此,在空域直接方式中,将预测运动矢量pmv设定为运动矢量,并执行解码处理。与此相对,在时域直接方式中,假设运动为线形,如图9所示,通过线性内插制作与处理对象的B图像有关的运动矢量MV10及MV11,其中,该线性内插使用完成编码处理的预测帧L1所对应的块(Co-Located Block)的运动矢量mvcol。此外,在AVC图像压缩信息中,由于与这些图像L0、L1之间的时间信息有关的参数TD不存在,因此,用POC(Picture Order Count图像序列号)取而代之。
在AVC中,关于与这些帧内及帧间预测有关的预测模式,根据与AVC有关的Joint Model(AVC参照编码方式),定义以多通路编码为前提的High Complexity Mode、和以单路(1pass)编码为前提的Low Complexity Mode,根据这些定义,选择优选模式并执行编码处理。而且,对于这些模式中的Low Complexity Mode,通过下式定义表示编码效率的成本函数,并通过由该成本函数取得的成本值Cost(Mode)的比较,检测出优选模式。
Cost(Mode)=SA(T)D+SA(T)D0......(13)在此,SA(T)D是原图像和预测图像的误差值,适用这些原图像和预测图像之间的、像素值差分值的绝对值误差和。而且,SA(T)D0是赋予误差值SA(T)D的偏移值,是基于标题位、作为模式判断时的权重的成本的数值,表示用于传送运动矢量等附加的信息的数据量。
具体而言,对于各宏块的绝对值误差和SAD通过下式表示,并分别应用各预测模式Mode中的原图像和预测图像的差分值。
SAD=Σi=015Σj=015|Org(i,j)-Pred(Mode,i,j)|---(14)]]>此外,在此,也可以使用由下式获得的差分加法值SATD(Mode)取代算式(14)中的绝对值误差和SAD。
SATD(mode)=Σi=015Σj=016|Hadamard(Org(i,j)-Pred(Mode,i,j))|---(15)]]>
此外,如下式所示,Hadamard()是使目标矩阵乘以哈达玛(Hadamard)变换矩阵的哈达玛变换运算。此外,哈达玛变换矩阵通过算式(17)表示,HT是哈达玛变换阵列的转置矩阵。
Hadamard(A)=HTAH ......(16)H=11111-11-111-1-11-1-11---(17)]]>而且,在前向预测模式中,偏移值SA(T)D0如下式表示。此外,在此,QP0(QP)是将量化函数QP变换为量化比例的函数,MVDFW是与前向预测有关的运动矢量,Bit to code是与该运动矢量有关的位流上的编码量。
SA(T)D0=QP0(QP)·(2×code_number_of_ref-idx_fwd+Bit_to_code_MVDFW) ......(18)而且,在后向预测模式中,偏移值SA(T)D0通过下式表示。此外,在此,MVDBW是与后向预测有关的运动矢量。
SA(T)D0=QP0(QP)×Bit_to_code_MVDBW......(19)而且,在双向预测模式中,偏移值SA(T)D0通过下式表示。此外,在此,Bit to code forward Blk size、Bit to code backward Blk size是各前向预测及后向预测有关的运动补偿块相关的信息的传送所需要的位流上的编码量。
SA(T)D0=QP0(QP)×(2×code_number_of_ref_idx_fwd+Bit_to_code_forward_Blk_size+Bit_to_code_backward_Blk_size+Bit_to_code_MVDFW+Bit_to_code_MVDBW) ......(20)而且,在直接模式中,偏移值SA(T)D0是通过下式求得的。
SA(T)D0=-16×QP0(QP)......(21)而且,在帧内4×4预测模式中,偏移值SA(T)D0是通过下式求得的。
SA(T)D0=24×QP0(QP) ......(22)就此而论,该成本函数还应用于运动矢量的搜索,如下式所示,检测使得成本值Cost最小的运动矢量。
Cost=SA(T)D+SA(T)D0SA(T)D0=QP0(QP)·(Bits_to_code_vector+2×code_number_of_ref_idex_fwd) ......(23)由此,当在Low Complexity Mode中,检测出优选模式时,在编码装置1中,在帧内预测电路5及运动预测/补偿电路6中使用亮度信号,分别计算帧内编码及帧间编码的全部预测模式的成本值Cost,选择该成本值Cost最小的预测模式并检测出亮度信号的优选模式。而且,由此,当选择帧内编码时,对色差信号计算各帧内预测模式的成本值,并根据该计算结果的比较,将最小成本值的帧内预测模式设定为色差信号的优选模式。此外,当根据基于亮度信号的成本值的判断,通过帧间预测进行编码处理时,色差信号根据基于亮度信号的运动补偿块、运动矢量、参照帧而进行运动补偿。由此,在AVC中,在每个宏块上,从多个帧内预测模式、多个帧间预测模式中检测出优选模式,并根据该优选模式处理图像数据,并高效率地对图像数据进行编码处理。
例如,在日本特开2003-230149号公报等公开了与基于这样的成本函数的预测模式的选择有关的各种技术。
但是,在与帧间编码有关的优选模式的检测中,对于全部上述4×4预测模式、16×16预测模式,需要通过六抽头的FIR滤波器进行运动补偿并分别计算成本值,由此,存在进行判断优选模式需要庞大运算处理的问题。
发明内容
本发明鉴于上述问题,提供了一种编码装置、编码方法、编码方法的程序及记录编码方法的程序的记录介质,当通过成本函数检测出优选模式并对图像数据进行编码处理时,其可以通过简单的处理就能够检测出优选模式。
为了解决上述问题,本发明被应用于一种编码装置,其通过基于表示编码效率的成本函数的成本值的比较,在每个宏块上从多个帧内预测模式及多个帧间预测模式中选择用于进行编码处理的优选模式,并以上述优选模式对图像数据进行编码处理,其包括粗运动预测电路,用于在每个帧间预测模式中,以整数像素精度检测出运动矢量,并对基于上述运动矢量的粗运动补偿位置的上述成本值进行计算;帧间模式判断电路,用于根据基于粗运动补偿位置的成本值,检测上述多个帧间预测模式中的优选模式;微运动预测电路,用于对由上述帧间模式判断电路检测出的优选模式,以小于等于1像素精度的方式进行运动补偿,并计算上述成本值;以及帧内/帧间模式判断电路,用于通过基于上述微运动预测电路的成本值和基于上述多个帧内预测模式的成本值的比较,检测出用于进行上述编码处理的优选模式。
根据本发明的结构,本发明被应用于一种编码装置,其通过基于表示编码效率的成本函数的成本值的比较,在每个宏块上从多个帧内预测模式及多个帧间预测模式中选择用于进行编码处理的优选模式,并通过上述优选模式对图像数据进行编码处理,其包括粗运动预测电路,用于在每个帧间预测模式中,以整数像素精度检测出运动矢量,并对基于上述运动矢量的粗运动补偿位置的上述成本值进行计算;帧间模式判断电路,用于根据基于粗运动补偿位置的成本值,检测出上述多个帧间预测模式中的优选模式;微运动预测电路,用于对由上述帧间模式判断电路检测的优选模式,以小于等于1像素精度的方式进行运动补偿,并计算上述成本值;以及帧内/帧间模式判断电路,用于通过基于上述微运动预测电路的成本值和基于上述多个帧内预测模式的成本值的比较,检测出用于进行上述编码处理的优选模式,若如上所述,仅需要对帧间预测模式的优选模式以小于等于1像素的精度计算成本值,而无需对全部的帧间预测模式,以小于等于1像素的精度的方式进行运动补偿并计算成本值,因此,当通过成本函数检测出优选模式并对图像数据进行编码处理时,可以通过简单的处理检测出优选模式。
而且,本发明被应用于一种编码方法,其通过基于表示编码效率的成本函数的成本值的比较,在每个宏块上从多个帧内预测模式及多个帧间预测模式中选择用于进行编码处理的优选模式,并通过上述优选模式对图像数据进行编码处理,其包括粗成本值计算步骤,在每个帧间预测模式中,以整数像素精度检测出运动矢量,并对基于上述运动矢量的粗运动补偿位置的上述成本值进行计算;帧间模式判断步骤,根据基于上述粗运动补偿位置的成本值,检测出上述多个帧间预测模式中的优选模式;微成本值计算步骤,对于由上述帧间模式判断步骤所检测出的优选模式,以小于等于1像素精度的方式进行运动补偿并计算上述成本值;以及帧内/帧间判断步骤,通过基于上述微成本值计算步骤的成本值和基于上述多个帧内预测模式的成本值的比较,检测出用于进行上述编码处理的优选模式。
由此,根据本发明的构成,可以提供一种编码方法,其可以当通过成本函数检测出优选模式并对图像数据进行编码处理时,通过简单的处理检测出优选模式。
而且,本发明被应用于一种编码方法的程序,包括优选模式检测步骤,通过基于表示编码效率的成本函数的成本值的比较,在每个宏块上从多个帧内预测模式及多个帧间预测模式中选择出优选模式;以及编码处理步骤,以上述优选模式对图像数据进行编码处理,其中,上述优选模式检测步骤包括粗成本值计算步骤,在每个帧间预测模式中,以整数像素精度检测出运动矢量,并对基于上述运动矢量的粗运动补偿位置的上述成本值进行计算;帧间模式判断步骤,根据基于粗运动补偿位置的成本值,检测出上述多个帧间预测模式中的优选模式;微成本值计算步骤,对于由上述帧间模式判断步骤检测出的优选模式,以小于等于1像素精度的方式进行运动补偿并计算上述成本值;以及帧内/帧间判断步骤,通过基于上述微成本值计算步骤的成本值和基于上述多个帧内预测模式的成本值的比较,检测出用于进行上述编码处理的优选模式。
由此,根据本发明的构成,可以提供一种编码方法的程序,其可以当通过成本函数检测出优选模式并对图像数据进行编码处理时,通过简单的处理检测出优选模式。
而且,本发明被应用于一种记录通过运算处理单元执行编码方法的程序的记录介质中,其中,上述编码方法的程序包括优选模式检测步骤,通过基于表示编码效率的成本函数的成本值的比较,在每个宏块上从多个帧内预测模式及多个帧间预测模式中选择优选模式;以及编码处理步骤,通过上述优选模式对图像数据进行编码处理,其中,上述优选模式检测步骤包括粗成本值计算步骤,在每个帧间预测模式中,以整数像素精度检测出运动矢量,并对基于所述运动矢量对粗运动补偿位置的上述成本值进行计算;帧间模式判断步骤,根据基于粗运动补偿位置的成本值,检测出上述多个帧间预测模式中的优选模式;微成本值计算步骤,对于由上述帧间模式判断步骤检测出的优选模式,以小于等于1像素精度的方式进行运动补偿并计算上述成本值;以及帧内/帧间判断步骤,通过基于上述微成本值计算步骤的成本值和基于上述多个帧内预测模式的成本值的比较,检测出用于进行上述编码处理的优选模式。
由此,根据本发明的构成,可以提供一种记录编码方法的程序的记录介质,其可以当通过成本函数检测出优选模式并对图像数据进行编码处理时,通过简单的处理检测出优选模式。
根据本发明,可以当通过成本函数检测出优选模式并对图像数据进行编码处理时,通过简单的处理检测出优选模式。
图1是表示AVC方式的编码装置的框图;图2是表示AVC方式的解码装置的框图;图3是用于说明AVC方式的参照帧的示意图;
图4是用于说明AVC方式的运动补偿的示意图;图5是用于说明AVC方式的运动补偿精度的示意图;图6是用于说明色差信号的运动补偿的示意图;图7是用于说明与子宏块(sub-macroblock)有关的运动矢量的预测值的示意图;图8是用于说明其他实施例的运动矢量的预测值(predictionvalue)的示意图;图9是用于说明时域直接模式的示意图;图10是表示本发明第一实施例涉及的编码装置的框图;图11是用于说明估计值(estimation value)的计算的平面图;图12是用于计算线形函数的估计值的示意图;以及图13是表示用于检测出图10的编码装置的最优模式的处理步骤的流程图。
具体实施例方式
下面,将参照优选的附图对本发明的实施例进行详细说明。
(1)实施例的构成图10是表示本发明的实施例涉及的编码装置的框图。在该编码装置40中,对与图1的上述编码装置1相同的结构标注相对应的符号并进行表示,所以省略对其的重复说明。
由此,在该编码装置40中,帧内预测电路5对亮度信号的全部帧内预测模式,以宏块为单位,通过在算式(13)中的上述成本函数计算成本值Cost(Mode)。此外,这样计算的帧内预测模式全部是4×4预测模式、16×16预测模式。帧内预测电路5将所计算的全部预测模式的成本值通知给帧内/帧间模式判断电路45。而且,根据该成本值的通知,当通过帧内/帧间判断电路45指示帧内编码并指示优选模式时,以优选模式生成亮度信号的预测值并输出给减法电路4。而且,根据成本值的计算、比较,对于色差信号,检测出优选模式,并根据该最优模式将色差信号的预测值输出给减法电路4。
运动预测/补偿电路41根据帧存储器16中所保存的参照图像信息的预测帧(参照帧),检测出从画面排列替换缓冲器3中输出的图像数据的运动矢量。而且,根据该检测的运动矢量的补偿位置对帧存储器16中所保存的参照图像信息进行补偿并计算成本值,同时,通过检测比该成本值小的最小值,检测出除直接模式以外的帧间预测的优选模式。而且,当通过帧间预测执行编码处理时,通过该优选模式生成预测图像信息,并将基于该预测图像信息的预测值输出给加法电路4。
即,在运动预测/补偿电路41中,粗运动预测电路42对全部的帧间预测模式,以整数图像精度的方式检测运动矢量,并计算基于该运动矢量的粗运动补偿位置的成本值。具体而言,粗运动预测电路42对亮度信号的全部帧间预测模式,以1像素精度的方式进行运动补偿并检测运动矢量。此外,全部的帧间预测模式是除了直接模式以外的各模式,由此,粗运动预测电路42对基于全部参照帧、宏块及子宏块的全部运动补偿块、以及前向预测、后向预测、双向预测的全部预测方向的组合,进行运动预测并检测整数像素精度的运动矢量。
对全部的帧间预测模式,粗运动预测电路42使用基于该整数像素精度的运动矢量,以宏块为单位,通过算式(13)的上述成本函数计算成本值Cost(Mode)并输出。此外,在这种情况下,通过下式表示成本值。此外,下面将基于该粗运动补偿位置的成本值适当地称为粗成本值。
Cost_int(Mode)=SA(T)D+QP2Quant·MV_intBit(Mode) ......(24)在此,MV intBit(Mode)是用于根据图7及图8的上述预测运动矢量pmv,传送运动矢量的信息所需的编码量,并且为了计算该编码量,需要根据周边块的运动矢量值生成预测运动矢量pmv。在这种情况下,当在图8中的邻接块A~C为宏块时,由于已经在这些邻接块A~C中对优选模式进行检测并进行编码处理,所以可以设定预测运动矢量pmv。
但是,当这些邻接块A~C属于作为处理对象块E的相同宏块时,在此,对这些邻接块A~C而言,由于还未判断优选模式,所以还未确定运动矢量。由此,在这种情况下,在处理对象的块中,通过粗运动预测电路42,将以整数像素精度的方式检测的运动矢量值mv intX设定为预测运动矢量pmv int,由此,生成模拟预测运动矢量pmv并计算成本值Cost(Mode)。
进而,粗运动预测电路42在除了基于该这样的粗运动补偿位置的粗成本值之外,还对粗运动补偿位置的周围、即基于与该粗运动补偿位置有关的运动补偿精度的周围的补偿位置,也同样地检测成本值并输出。具体而言,在本实施例中,由于该运动补偿精度为1像素,所以粗运动预测电路42使与粗运动补偿位置有关的运动矢量的X方向及Y方向成分的值仅在±1像素范围内变化,并同样地进行运动补偿,从而计算Cost(Mode)。
帧间模式判断电路43根据基于由该粗运动预测电路42检测出的粗运动补偿位置的成本值,以小于等于1像素的精度计算成本值变为最小值的运动补偿位置的成本值的估计值,并通过多个帧间预测模式中的该估计值的比较,检测多个帧间预测模式中的优选模式。即,如图11所示,假定通过Cost int(X)X=A~I表示这样的粗运动补偿位置E及其周围补偿位置A~D、F~I上的成本值Cost(Mode),则当下面算式的关系式成立时,可以判断以1/4像素精度进行运动预测时的成本值的最小点存在于补偿位置B和粗运动补偿位置E之间。
Cost_int(B)<Cost_int(H) ......(25)由此,帧间模式判断电路43根据基于这样的粗运动补偿位置的成本值和基于周围补偿位置的成本值,计算成本值的估计值。具体而言,帧间模式判断电路43通过线性函数表示成本值的变化来检测成本值中的极小值,从而根据该成本值的最小值检测出估计值,其中,在该线性函数中,在极小点,相对于连接中间夹持粗运动补偿位置E的相对的两个周围补偿位置和粗运动补偿位置E的方向,切换倾角的符号。
即,在这种情况下,可以相对于通过粗运动补偿位置E的水平方向、垂直方向、倾角方向的四个方向,设定连接这样的粗运动补偿位置E和在中间夹持粗运动补偿位置E的相对的两个周围的补偿位置的方向。在此,如图12所示,对于这些四个方向的各方向,根据基于线性函数的线性近似值,检测出成本值最小的点。即,帧间模式判断电路43对于例如垂直方向,将周围的补偿位置B的成本值Cost int(B)和相对的补偿位置H的成本值Cost int(H)进行比较,并选择值较大的成本值,从而判断成本的最小点是存在于粗运动补偿位置E的点B侧,还是存在于粗运动补偿位置E的点H侧。
而且,检测连接如上选择的值较大侧的成本值Cost int(H)和粗运动补偿位置E的成本值Cost int(E)的直线L1的倾角(gradient)α1。帧间模式判断电路43根据直线L2和直线L1的交点,检测该垂直方向的成本值的最小值Cost int(BH),其中,该直线L2通过切换该倾角α1的符号而获得的倾角α2(=-α1),经过值较小侧的成本值Cost int(B),该直线L1经过成本值Cost int(H)和成本值Cost int(E)。
此外,对于这样的成本值的最小值的检测,取代将基于使用线性函数的线性近似值的方法,可以广泛使用例如,通过使用二次函数的近似值进行检测的情况等、各种极小值检测方法。此外,当通过二次函数的近似值进行检测时,将连接这三个点B、E、H的方向设定为x,将这三个点B、E、H的成本值设定为y,将这些x及y代入下面算式的关系式中,从而解三次方程式并求得系数a、b、c,获得二次曲线方程式,从而可以根据从该二次曲线方程式中检测出的极小值执行检测。
y=ax2+bx+c ......(26)帧间模式判断电路43对于通过这样的粗运动补偿位置E的水平方向、垂直方向、倾角方向的四个方向,分别求得成本值的最小值Cost int(DF)、Cost int(BH)、Cost int(AI)、Cost int(CG),并通过下面算式的运算处理,从该四个成本值的最小值中进一步检测出最小值,从而检测出与该模式相对的成本值的估计值Cost est(Mode)。此外,也可以以三个方向处理成本值的最小值并计算估计值Cost est(Mode)取代以这样的四个方向处理成本值的最小值的处理的估计值Cost est(Mode)的计算。此外,在这种情况下,考虑如下等内容例如,在垂直方向及水平方向上,对应成本值变为最小值的位置,仅对两个倾角方向中的一个方向检测成本值的最小值。而且,当在实际应用可以确保充分的精度时,也可以仅根据连接粗运动补偿位置和相对的两个周围的补偿位置的直线正交的组合检测出估计值。
Cost_est(Mode)=min{Cost_est(BH),Cost_est(DF),Cost_est(AI),Cost_est(CG)} ......(27)帧间模式判断电路43根据如此获得的各预测模式有关的成本值的估计值Cost est(Mode)的比较,判断估计值Cost est(Mode)最小的预测模式,并检测出与帧内预测有关的优选模式。此外,所检测出的优选模式是图3中的上述参照帧、图4中的上述大小不同的全部运动补偿块、基于预测方向的组合的每个宏块的优选模式。帧间模式判断电路43将该判断结果通知给微运动预测电路44。
微运动预测电路44仅在与该通知有关的预测模式中,执行基于图5中的上述1/4像素精度的运动预测处理,并通过算式(13)计算实际的成本值。而且,当根据如此检测的预测模式进行双向预测并可应用直接模式时,执行基于1/4像素精度的运动预测处理,并通过(13)算式计算成本值。微运动预测电路44将如此计算的成本值通知给帧内/帧间模式判断电路45。而且,当从帧内/帧间模式判断电路45指示基于帧间预测的编码时,以基于该指示的优选模式,生成亮度信号及色差信号的预测值并输出给加法电路4。
帧内/帧间模式判断电路45通过执行下式的运算处理,从帧内预测电路5、运动预测/补偿电路41输出的各种成本值中选择最小值的成本值,然后检测优选模式,并判断基于帧内预测、帧间预测的编码。而且,当根据判断结果通过帧间预测进行编码处理时,将对应的优选模式通知给运动预测/补偿电路41的微移动预测电路44,并指示基于由该微预测电路44检测出的优选模式的预测值的输出、或者基于直接模式的预测值的输出。对此,当通过帧内预测进行编码处理时,将与帧内预测有关的优选模式通知给帧内预测电路5并指示预测值的输出。
Best_Mode=argminMode(Cost(Mode))]]>Mode∈{Best_Inter_Mode,Direct_Mode,Intra4×4,Intra16×16} ......(28)但是,图13是表示与这些优选模式的检测相关的编码装置40的一系列处理步骤的时序图。编码装置40在每个宏块上执行该处理步骤并从步骤SP1移动至步骤SP2,对于作为候补的全部帧间预测模式执行基于整数像素精度的运动预测,并在后续的步骤SP3中,使用步骤SP1的运动预测的整数像素精度的运动矢量,分别计算成本值。而且,在后续的步骤SP4中,如上所述地计算使用该成本值的成本值的估计值,并在后续的步骤SP5中,从该步骤SP4计算出的值中检测出最小值,并检测优选帧间预测模式。而且,在后续的步骤SP6中,在该优选帧间预测模式中,通过使用实际的FIR滤波器的内插运算处理计算成本值。
而且,在后续的步骤SP7中,对于直接模式、帧内4×4预测模式、帧内16×16预测模式,即在各个全部模式中,计算成本值,并在后续的步骤SP8中,通过基于步骤SP6、SP7计算的成本值的比较,选择优选模式,然后移动至步骤SP9并中止一系列的处理。
(2)实施例的动作在以上的构成中,被依次输入至该编码装置40(参照图10)中的视频信号SV通过模数变换电路2被变换为图像数据D1,然后按照由画面排列替换缓冲器3处理的顺序排列替换该图像数据D1并将其输出给减法电路4。在此,在基于帧内预测、帧间预测的预测值之间,对图像数据D1进行减法运算并生成减法数据D2,该减法数据D2在正交变换电路7、量化电路8、可逆编码电路10中被依次处理并被变换为编码数据D4,该编码数据D4通过例如记录系统而被记录在记录介质上。而且,量化电路8的输出数据被解码为图像数据并作为参照图像被记录在帧存储器16上,根据参照图像,在运动预测/补偿电路41、帧内预测电路5中生成帧间预测、帧内预测的预测值。
在这些一系列的处理中,在运动预测/补偿电路41、帧内预测电路5中,对于各个帧间预测、帧内预测的各预测模式,通过表示编码效率的成本函数求取图像数据D1的成本值,并且,对于帧内预测,根据各预测模式中的成本值的比较,检测出最适合编码处理的优选模式。而且,对于帧间模式,也同样根据成本值的比较检测出优选模式,并根据这些优选模式,在帧内/帧间模式判断电路45中,最终检测出优选的预测模式。由此,在编码装置40中,根据该优选的预测模式,确定通过帧内预测、帧间预测中的某一种预测方法进行编码处理,当通过帧内预测进行处理时,在帧内预测电路5中生成基于优选模式的预测值,并输出至减法电路4。而且,当通过帧间预测进行处理时,在运动预测/补偿电路41中生成基于优选模式的预测值,并输出给减法电路4。由此,在编码装置40中,通过基于表示编码效率的成本函数的成本值的比较,在每个宏块上,从多个帧内预测模式、多个帧间预测模式中检测出优选模式,并根据该优选模式对图像数据D1依次进行编码处理。
但是,在这些处理中,当检测出帧间预测模式的优选模式时,由于在各预测模式中计算出本来的成本值,所以需要使用与1/4像素精度的运动补偿有关的六抽头FIR滤波器的运算处理,从而使得运算处理明显变得繁琐。
因此,在本实施例中,不需要使用这样的FIR滤波器的运算处理而以整数像素精度的方式计算各预测模式的成本值,并根据该成本值来检测出帧间预测模式的优选模式。而且,对于该优选模式计算小于等于1像素精度的成本值,并检测出帧内预测模式和帧间预测模式中的优选模式。由此,在本实施例中,仅对帧间模式的优选模式执行使用FIR滤波器的运算处理,即可检测出多个帧间预测模式和多个帧内预测模式的优选模式,因此,当通过成本函数检测优选模式并对图像数据进行编码处理时,可以通过简单的处理检测出优选模式。
即,在该编码装置40中,在粗运动预测电路42中,以1像素的运动矢量检测精度检测出运动矢量,并通过该运动矢量,在每个帧间预测模式的各预测模式中检测出成本值。而且,在帧间模式判断电路43中,根据基于与该运动矢量有关的粗运动补偿位置的成本值,检测出多个帧间预测模式中的优选模式,在微运动预测电路44中,以小于等于1像素精度对该优选模式进行运动补偿,并计算成本值。而且,通过帧内/帧间模式判断电路45对基于该帧间预测模式的成本值和基于多个帧内预测模式的成本值进行判断并检测出优选模式,由此,根据大于等于1像素精度的成本值,检测出帧间预测模式的优选模式,并根据该优选模式中的小于等于1像素精度的成本值,检测出帧内预测模式和帧间预测模式的优选模式。
具体而言,根据这些处理,在帧间预测模式中,根据大小不同的多个块大小、不同的参照帧、以及前向预测、后向预测及双向预测的组合的编码处理,检测出优选的帧间预测模式,并从该优选帧间预测模式的成本值中检测出帧内预测模式和帧间预测模式的优选模式。
更具体地,在该编码装置40中,根据在帧间模式判断电路43中,在每个帧间模式中的粗运动补偿位置的成本值,计算小于等于1像素精度的、成本值变为最小值的运动补偿位置的成本值的估计值,并且,通过该估计值的比较,检测出多个帧间预测模式中的优选模式。由此,在本实施例中,当从大于等于1像素的像素精度的成本值中检测出小于等于1像素的运动补偿精度的成本值时,将用于计算该估计值的运算处理进行各种各样的设定,以确保实际应用中的充分精度,并可以通过简单的处理检测出帧间预测模式的优选模式,因此,简化整体的运算处理。
而且,当像这样地从大于等于1像素的像素精度的成本值中检测出小于等于1像素的运动补偿精度的成本值时,本实施例构成为在粗运动预测电路42中,将粗运动补偿位置的成本值和该粗运动补偿位置的周围的补偿位置上的成本值一起进行计算,并在帧间模式判断电路43中,从该粗运动补偿位置的成本值和周围的补偿位置的成本值中计算估计值,由此,使运动补偿位置的成本值的变化反映出来,并检测估计值,从而通过本来的成本值对作为优选模式而被检测的帧间预测模式进行正确的检测。
而且,在帧间模式判断电路43中,通过由线性函数表示成本值的变化来检测成本值的极小值,并根据该成本值的最小值检测估计值,从而可以通过简单的处理,以实际应用上充分的精度检测出优选模式,其中,在线性函数中,在极小点上,相对于连接粗运动补偿位置和在中间夹持粗运动补偿位置的相对的两个周围补偿位置的方向,切换倾角的符号。
而且,若使用二次函数检测估计值取代使用这样的线形函数检测估计值,可以以更高的精度检测出优选模式。
而且,切换这样的相对的两个周围的补偿位置,并检测出多个极小值,根据该多个极小值的最小值检测出估计值,从而以更高的精度检测优选模式。
在可以确保在实际应用上充分精度的情况下,若在组合之间切换相对的两个周围的补偿位置,并检测出多个极小值,则可以通过更加简单的处理来检测出优选模式,其中,在上述组合中,连接粗运动补偿位置和相对的两个周围补偿位置的直线彼此成正交关系。
而且,如上所述,当以1像素精度计算成本值时,在本实施例中,当邻接的运动补偿块和处理对象的运动补偿块为同一宏块时,将与粗运动补偿位置有关的运动矢量设定为预测运动矢量并计算成本值,从而可以进一步简化处理。
即,在这种情况下,通过已经被编码处理过的、邻接的运动补偿块的运动矢量,设定预测运动矢量,并以该预测运动矢量为基准,传送运动矢量的信息,从而实际上,需要对在该邻接的运动补偿块上预测设定的全部运动矢量,设定预测运动矢量并计算成本值。但是,若如上所述的执行处理,则成本值的计算次数会按照指数函数的规律逐渐增大。由此,在这种情况下,将与粗运动补偿位置有关的运动矢量设定为预测运动矢量,并计算成本值,从而在可以确保在实际应用上的充分精度并进一步简化处理。
(3)实施例的效果根据以上的构成,根据整数像素精度的成本值,检测帧间预测模式的优选模式,并且以该优选模式计算小于等于1像素的精度的成本值,并检测出帧内预测模式和帧间预测模式的优选模式,从而当根据成本函数检测出优选模式,并对图像数据进行编码处理时,可以通过简单的处理检测出优选模式。
由此,当这些帧间预测模式是通过大小不同的多个块大小进行运动补偿的帧间预测编码处理时,即使用不同的参照帧进行运动补偿的帧间预测编码处理时,进而是由前向预测、后向预测及双向预测而产生的帧间预测编码处理时,可通过简单的处理检测出优选模式。
而且,此时,在每个帧间模式中,根据粗运动补偿位置的成本值,计算成本值变成小于等于1像素的精度的最小值的运动补偿位置的成本值的估计值,并且,根据多个帧内预测模式的估计值的比较,检测出多个帧间预测模式中的优选模式,从而将用于计算该估计值的运算处理进行各种各样的设定,并可以通过简单的处理检测出帧间预测模式中的优选模式,因此,可以简化整体运算处理。
更具体地说,计算粗运动补偿位置的成本值和该粗运动补偿位置的周围的补偿位置上的成本值,并从该粗运动补偿位置的成本值和周围的补偿位置的成本值中计算估计值,从而使运动补偿位置的成本值的变化反映出来,并检测出估计值,因而,可以通过本来的成本值对作为优选模式而被检测的帧间预测模式进行正确的检测。
而且,在帧间模式判断电路43中,通过线性函数表示成本值的变化来检测成本值的极小值,并根据该成本值的极小值检测估计值,从而可以通过简单的处理在实际应用中以充分的精度检测出优选模式,其中,在线性函数中,在极小点上,相对于连接粗运动补偿位置和在中间夹持粗运动补偿位置的相对的两个周围的补偿位置的方向,切换倾角的符号。
而且,通过使用二次函数检测估计值取代线形函数,从而可以以更高的精度检测出优选模式。
而且,通过切换这样的相对的两个位置的补偿位置,并检测多个极小值,根据该多个极小值的最小值检测出估计值,从而可以以更高的精度检测出优选模式。
而且,若在组合之间执行这样的切换,则可以通过更为简单的处理检测出优选模式,其中,在该组合中,连接粗运动补偿位置和相对的两个周围的补偿位置的直线彼此成正交关系。
但是,通过从如此获得的估计值中检测出包括最小值的估计值的帧间预测模式,从而可以通过简单的处理检测出多个帧间预测模式的优选模式。
而且,用于计算这种成本值的成本函数是对原图像和预测图像之间的误差值赋予用于传送运动矢量的编码量的函数,并且,该运动矢量的传送是以下这种运动矢量的传送通过已经被编码处理过的、邻接的运动补偿块的运动矢量设定预测运动矢量,并以该预测运动矢量为基准进行运动矢量的传送,在这种情况下,当邻接的运动补偿块和处理对象的运动补偿块为同一宏块时,将由粗运动补偿电路检测出的粗运动补偿位置有关的运动矢量设定为预测运动矢量并计算成本值,从而可以进一步简化处理。
(4)其他实施例此外,在上述的实施例中,已经对通过1像素精度的粗运动补偿位置计算成本值并检测出帧间预测模式中的优选模式的情况进行了说明,但是本发明并不仅限于此,当可以确保在实际应用上充分精度时,还可以以大于等于2像素的整数像素精度计算粗成本值。
而且,在上述的实施例中,已经对使用六抽头的FIR滤波器并以1/4像素精度的方式对亮度信号进行运动补偿的情况进行了说明,但是本发明并不仅限于此,还可以广泛地应用于以小于等于1像素的方式通过各种抽头数的FIR滤波器进行运动补偿的情况,甚至可以应用于同样对色差信号进行运动补偿的情况等。
而且,在上述的实施例中,已经对将本发明应用于AVC中的Low Complexity Mode的情况进行了说明,但是本发明并不仅限于此,也可以应用于High Complexity Mode中。
而且,在本实施例中,已经对将本发明应用于基于AVC的编码装置的情况进行了说明,但是本发明并不仅限于此,还可以广泛地应用于通过表示编码效率的成本函数的成本值的比较,从多个帧内预测模式、多个帧间预测模式中,在每个宏块上检测出优选模式,并对图像数据进行编码处理的情况。
而且,在本实施例中,已经对将本发明应用于硬件的结构的情况进行了说明,但是本发明并不仅限于此,还可以应用于通过软件对图像数据进行处理的情况。此外,还可以广泛地应用于通过例如互联网等的网络对这样的软件涉及的编码处理、解码处理的程序进行提供的情况,以及通过光盘、磁盘、存储卡等各种记录介质对这样的软件涉及的编码处理、解码处理的程序进行提供的情况。
产业上的可利用性本发明提供了一种编码装置、编码方法、编码方法的程序以及记录编码方法的程序的记录介质,其可以应用于记录动态图像的摄像结果的摄像机、电子照相机、监视装置等。
权利要求
1.一种编码装置,其通过基于表示编码效率的成本函数的成本值的比较,在每个宏块上从多个帧内预测模式及多个帧间预测模式中选择用于进行编码处理的优选模式,并通过所述优选模式对图像数据进行编码处理,其特征在于,包括粗运动预测电路,用于在所述每个帧间预测模式中,以整数像素精度检测运动矢量,并对基于所述运动矢量的粗运动补偿位置的所述成本值进行计算;帧间模式判断电路,用于根据基于粗运动补偿位置的成本值,检测出所述多个帧间预测模式中的优选模式;微运动预测电路,用于对于由所述帧间模式判断电路检测出的所述优选模式,以小于等于1像素精度的方式进行运动补偿并计算所述成本值;以及帧内/帧间模式判断电路,用于通过基于所述微运动预测电路的成本值和基于所述多个帧内预测模式的成本值的比较,检测出用于进行所述编码处理的优选模式。
2.根据权利要求1所述的编码装置,其特征在于,所述多个帧间预测模式是根据大小不同的多个块大小,进行运动补偿的帧间预测编码处理。
3.根据权利要求1所述的编码装置,其特征在于,所述多个帧间预测模式是使用不同的参照帧进行运动补偿的帧间预测编码处理。
4.根据权利要求1所述的编码装置,其特征在于,所述多个帧间预测模式是基于前向预测、后向预测及双向预测的帧间预测编码处理。
5.根据权利要求1所述的编码装置,其特征在于,所述帧间模式判断电路在每个所述帧间预测模式中,根据所述粗运动补偿位置中的成本值,以小于等于1像素的精度的方式,对所述成本值变为最小值的运动补偿位置中的所述成本值的估计值进行计算,通过所述多个帧间预测模式中的所述估计值的比较,检测出所述多个帧间预测模式中的优选模式。
6.根据权利要求5所述的编码装置,其特征在于,所述粗运动预测电路在每个所述帧间预测模式中,在计算基于所述粗运动补偿位置的成本值的同时,在所述粗运动补偿位置的周围的补偿位置上对所述成本值进行计算,所述帧间模式判断电路在每个所述帧间预测模式中,从基于所述粗运动补偿位置的成本值和所述周围的补偿位置的成本值中计算所述估计值。
7.根据权利要求6所述的编码装置,其特征在于,所述帧间模式判断电路通过由所述线性函数表示成本值的变化来检测所述成本值的所述极小值,并根据所述成本值的所述极小值检测所述估计值,其中,在所述线性函数中,在极小点上,相对于连接所述粗运动补偿位置和在之间夹持所述粗运动补偿位置的、相对的两个所述周围的补偿位置的方向切换倾角的符号。
8.根据权利要求6所述的编码装置,其特征在于,所述帧间模式判断电路通过由二次函数表示成本值的变化来检测所述成本值的所述极小值,并根据所述成本值的所述极小值检测所述估计值,其中,所述二次函数相对于连接所述粗运动补偿位置和在之间夹持所述粗运动补偿位置的、相对的两个所述周围的补偿位置的方向。
9.根据权利要求7所述的编码装置,其特征在于,所述帧间模式判断电路切换所述相对的两个周围的补偿位置,检测多个所述极小值,并通过所述多个极小值的比较,检测出所述估计值。
10.根据权利要求8所述的编码装置,其特征在于,所述帧间模式判断电路切换所述相对的两个周围的补偿位置,检测多个所述极小值,并通过所述多个极小值的比较,检测出所述估计值。
11.根据权利要求9所述的编码装置,其特征在于,所述相对的两个周围的补偿位置的切换是在组合之间的切换,其中,在所述组合中,连接所述粗运动补偿位置和所述相对的两个所述周围的补偿位置的直线彼此成正交关系。
12.根据权利要求10所述的编码装置,其特征在于,所述相对的两个周围的补偿位置的切换是在组合之间的切换,其中,在所述组合中,连接所述粗运动补偿位置和所述相对的两个所述周围的补偿位置的直线彼此成正交关系。
13.根据权利要求5所述的编码装置,其特征在于,所述帧间模式判断电路通过从所述多个帧间预测模式的所述估计值中,检测出作为最小值的估计值的帧间预测模式,从而检测出所述多个帧间预测模式中的优选模式。
14.根据权利要求1所述的编码装置,其特征在于,所述成本函数是对原图像和预测图像之间误差值赋予用于传送运动矢量的编码量的函数,所述运动矢量的传送是通过已经被编码处理过的、邻接的运动补偿块的运动矢量,设定预测运动矢量并以所述预测运动矢量为基准的使用矢量的传送,当所述邻接的运动补偿块和处理对象的运动补偿块为同一宏块时,所述粗运动补偿电路将与由所述粗运动电路检测出的粗运动补偿位置有关的运动矢量设定为所述预测运动矢量,并计算所述成本值。
15.根据权利要求1所述的编码装置,其特征在于,所述微运动预测电路使用规定抽头数的FIR滤波器并以1/4像素精度进行运动补偿,计算所述成本值。
16.根据权利要求1所述的编码装置,其特征在于,所述多个帧内预测模式是帧内4×4预测模式及帧内16×16预测模式。
17.一种编码方法,其通过基于表示编码效率的成本函数的成本值的比较,在每个宏块上从多个帧内预测模式及多个帧间预测模式中选择用于进行编码处理的优选模式,并通过所述优选模式对图像数据进行编码处理,其特征在于,包括粗成本值计算步骤,在所述每个帧间预测模式中,以整数像素精度检测运动矢量,并对基于所述运动矢量的粗运动补偿位置的所述成本值进行计算;帧间模式判断步骤,根据基于所述粗运动补偿位置的成本值,检测出所述多个帧间预测模式中的优选模式;微成本值计算步骤,对于在所述帧间模式判断步骤所检测出的优选模式,以小于等于1像素精度的方式进行运动补偿并计算所述成本值;以及帧内/帧间判断步骤,通过基于所述微成本值计算步骤的成本值和基于所述多个帧内预测模式的成本值的比较,检测出用于进行所述编码处理的优选模式。
18.一种编码方法的程序,包括优选模式检测步骤,通过基于表示编码效率的成本函数的成本值的比较,在每个宏块上从多个帧内预测模式及多个帧间预测模式中选择优选模式;以及编码处理步骤,通过所述优选模式对图像数据进行编码处理,编码方法的程序的特征在于,所述优选模式检测步骤包括粗成本值计算步骤,在所述每个帧间预测模式中,以整数像素精度检测运动矢量,并对基于所述运动矢量的粗运动补偿位置的所述成本值进行计算;帧间模式判断步骤,根据基于所述粗运动补偿位置的成本值,检测出所述多个帧间预测模式中的优选模式;微成本值计算步骤,对于由所述帧间模式判断步骤检测出的优选模式,以小于等于1像素精度的方式进行运动补偿并计算所述成本值;以及帧内/帧间判断步骤,通过基于所述微成本值计算步骤的成本值和基于所述多个帧内预测模式的成本值的比较,检测出用于进行所述编码处理的优选模式。
19.一种记录通过运算处理单元执行编码方法的程序的记录介质,其中,所述编码方法的程序包括优选模式检测步骤,通过基于表示编码效率的成本函数的成本值的比较,在每个宏块上从多个帧内预测模式及多个帧间预测模式中选择优选模式;以及编码处理步骤,通过所述优选模式对图像数据进行编码处理,记录编码方法的程序的记录介质的特征在于,所述优选模式检测步骤包括粗成本值计算步骤,在所述每个帧间预测模式中,以整数像素精度检测运动矢量,并对基于所述运动矢量的粗运动补偿位置的所述成本值进行计算;帧间模式判断步骤,根据基于粗运动补偿位置的成本值,检测出所述多个帧间预测模式中的优选模式;微成本值计算步骤,对于由所述帧间模式判断步骤检测出的优选模式,以小于等于1像素精度的方式进行运动补偿并计算所述成本值;以及帧内/帧间判断步骤,通过基于所述微成本值计算步骤的成本值和基于所述多个帧内预测模式的成本值的比较,检测出用于进行所述编码处理的优选模式。
全文摘要
本发明提供了一种编码装置、编码方法、编码方法的程序以及记录编码方法的程序的记录介质,其可以应用于记录动态图像的摄像结果的摄像机、电子照相机、监视装置等,其基于根据整数像素精度的成本值,检测出帧间预测模式的优选模式,并对于该优选模式,根据小于等于1像素的精度计算成本值,并检测出帧内预测模式和帧间预测模式的优选模式。
文档编号H04N7/32GK101032173SQ20058003289
公开日2007年9月5日 申请日期2005年9月2日 优先权日2004年9月28日
发明者佐藤数史, 矢崎阳一 申请人:索尼株式会社