CN1926882A - 运动补偿装置 - Google Patents
运动补偿装置 Download PDFInfo
- Publication number
- CN1926882A CN1926882A CNA2005800064360A CN200580006436A CN1926882A CN 1926882 A CN1926882 A CN 1926882A CN A2005800064360 A CNA2005800064360 A CN A2005800064360A CN 200580006436 A CN200580006436 A CN 200580006436A CN 1926882 A CN1926882 A CN 1926882A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- pixel
- data
- filtering
- motion compensation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供一种运动补偿装置,其可在抑制电路规模的增加的同时,消减与存储参照像素数据的多帧存储器之间的数据传送量,从而高效率地生成运动补偿像素。运动补偿装置(100)包括:运动补偿位置判断部(101),其判断由生成哪个位置的补偿像素;必要像素判断部(102),其判断为了执行6抽头滤波所必要的像素;数据传送控制部(103),其控制传送数据的取出顺序等;存储中间像素存储器(105),其用于存出1/2小数精度像素数据;多抽头滤波部(106),其在规定的方向上进行连续的滤波演算,并生成1/2小数精度像素数据;以及线性插值演算部(107),其根据运动补偿像素位置,进行线性插值,并生成低于1/2小数精度像素的运动补偿精度的像素数据。
Description
技术领域
本发明有关在画面间进行小数像素精度的运动补偿预测的运动补偿装置,特别是有关利用多抽头滤波来生成运动补偿图像的运动补偿装置。
背景技术
近年来,随着多媒体应用的发展,统一处理图像、声音、文本等所有的媒体信息已很普及。此时,可通过对所有媒体进行数字化来统一处理媒体。但是,因为数字化的图像具有庞大的数据量,所以为了存储、传送,图像的信息压缩技术是不可缺少的。另一方面,为了相互运用压缩的图像数据,压缩技术的标准化也是重要的。作为图像压缩技术的标准参考,有ITU-T(国际电气通信联盟-电气通信标准化部门)的H.621、H.263,ISO/IEC(国际标准化机构-国际电气标准会议)的MPEG(Moving Picture Experts Group即,动态图像专家组)-1、MPEG-2、MPEG-4等,另外,还有通过作为ITU-T和MPEG联合组成的视频联合工作组(JVT:Joint Video Team)的正在进行标准化的H.264(MPEG-4AVC)。
一般,在动态图像的编码中,通过消减时间方向和空间方向的冗余性来压缩信息量。因此,在以消减时间的冗余性为目的的画面间预测编码中,参照前方或后方的画面(picture),按块单位进行动态的检测和预测图像的制作,对得到的预测图像与编码对象画面的差分值进行编码。在此,上述画面是表示一幅画面的用语,在顺序图像中意味着帧,在交错图像中意味着帧或场。在此,上述交错图像,是由时刻不同的2个场构成一个帧的图像。在交错图像的编码和解码处理中,可将一帧图像原样地进行处理,或作为2个场进行处理,或将帧内的每个块作为帧结构或场结构进行处理。
将不具有参照图像而进行画面内预测编码的称为I画面。此外,将仅参照一幅画面进行画面间预测编码的称为P画面。此外,将能同时参照2幅画面进行画面间预测编码的称为B画面。B画面可以从显示时间前方或后方,任意组合2幅画面来参照。参照图像(参照画面)能够对每个作为编码的基本单位的宏块进行指定,为了区别,将进行了编码的位流中先记述的参照画面作为第一参照画面,将后记述作为第二参照画面。但是,作为编码这些画面时的条件,所参照的画面必需是已经被编码的画面。
在P画面或B画面的编码中使用运动补偿画面间预测编码。上述运动补偿画面间预测编码,是在画面间预测编码中适用了运动补偿的编码方式。上述运动补偿,是不单纯地从参照图像的像素值进行预测,而是检测画面内的各部的运动量(以下,将其称为“运动矢量”),通过进行考虑了该运动量的预测,来提高预测精度,同时减少数据量的方式。例如,检测编码对象画面的运动矢量,通过将仅移位了该运动矢量的预测值与编码对象画面的每个像素的差分,即预测残差进行编码,来降低数据量。在该方式的情况下,由于在解码时需要运动矢量的信息,因此,对运动矢量也进行编码并记录或传输。
按宏块单位检测运动矢量,具体地说,固定编码对象画面侧的宏块,在参照画面侧使宏块在搜索范围内移动,找出与编码对象块最相似的参照块的位置,检测运动矢量。
图1是示出以往的画面间预测编码装置的构成的方框图。此画面间预测编码装置包括:运动估计部401、多帧存储器402、减法部403、减法部404、运动补偿部405、编码部406、加法部407、运动矢量存储器408、以及运动矢量预测部409。
运动估计部401对从多帧存储器402所输出的运动估计参照像素MEpel和画面信号Vin进行比较,并输出运动矢量MV和参照画面号码RefNo。参照画面号码RefNo是确定参照图像的识别信号,该参照图像是从二个或更多的参照图像中所选择出来的、对象图像所参照的图像。将运动矢量MV一时存储在运动矢量存储器408之后,作为近旁运动矢量PrevMV输出给运动矢量预测部409。运动矢量预测部409参照被输入来的近旁运动矢量PrevMV,预测预测运动矢量PredMV。减法部404从运动矢量MV中减去预测运动矢量PredMV,将所得到的差作为运动矢量预测差分DifMV来输出。
另一方面,多帧存储器402将在参照画面号码RefNo以及运动矢量MV所示出的像素作为运动补偿参照像素MCpel2来输出。运动补偿部405生成小数像素精度的参照像素,并作为参照画面像素MCpel2来输出。减法部403从画面信号Vin中减去参照画面像素MCpel2,并输出画面预测误差DifPel。
编码部406对画面预测误差DifPel和运动矢量预测差分DifMV以及参照画面号码RefNo进行可变长编码,并输出该编码信号Str。并且,同时也输出解码画面预测误差RecDifPel,该解码画面预测误差RecDifPel为编码时的画面预测误差的解码结果。解码画面预测误差RecDifPel是重叠在画面预测误差DifPel的编码误差,与在画面间的预测解码装置解码编码信号Str所得到的画面间预测误差一致。
加法部407将解码画面预测误差RecDifPel与参照画面像素MCpel12相加,并作为解码画面RecPel被存储到多帧存储器402。但是,为了有效地利用多帧存储器402的容量,解除存储在多帧存储器402中的不必要的画面区域,或对于没有必要存储在多帧存储器402中的画面的解码画面RecPel,不存储到多帧存储器402中。并且,编码处理是以被称作16×16像素的宏块为单位进行的,作为运动补偿的块的大小,在H.264从运动补偿的块大小中,以宏块为单位选择适当的块大小来用于编码,上述运动补偿的块大小有7种,即4×4、4×8、8×4、8×8、8×16、16×8、16×16。
图2是示出以往的画面间预测解码装置的构成的方框图。并且,在此图中,对于与图1所示的画面间预测编码装置相同的部分赋与相同的符号,并省略其说明。
图2所示的以往的画面间预测解码装置是解码编码信号Str并输出解码画面信号Vout的装置,上述编码信号Str由图1所示的以往的画面间预测编码装置所编码;上述画面间预测解码装置包括:多帧存储器402、运动补偿部405、加法部407、加法部501、运动矢量存储器408、运动矢量预测部409以及解码部502。
解码部502解码编码信号Str,并输出解码画面预测误差RecDifPel、运动矢量预测差分DifMV、以及参照画面号码RefNo。加法部501使预测运动矢量PredMV和运动矢量预测差分DifMV相加,并解码运动矢量MV,上述预测运动矢量PredMV由运动矢量预测部409所输出。
多帧存储器402将在参照画面号码RefNo以及运动矢量MV所示出的像素作为运动补偿参照图像MCpel1来输出。运动补偿部405生成小数像素精度的参照像素,并作为参照画面像素MCpel2来输出。加法部407将解码画面预测误差RecDifPel与参照画面像素MCpel2相加,并作为解码画面RecPel存储到多帧存储器402中。但是,为了有效地利用多帧存储器402的容量,在存储在多帧存储器402中的画面区域不需要的情况下解除该区域,或者对于没有必要存储到多帧存储器402中的画面的解码画面RecPel,不存储到多帧存储器402中。如上所述,解码画面信号Vout能够被正确地解码,即能够从编码信号Str中生成解码画面RecPel。
然而,在H.264规格允许以到1/4像素为止的单位进行运动补偿(在MPEG-4Simple Profile可以到1/2像素)。此时,决定为在H.264规格作为线性滤波器像素插值的方法采用6抽头滤波器,从周边的6像素获得1/2精度像素。对于根据此6抽头滤波器的像素插值,利用图3进行说明。
图3是为了说明在H.264的亮度成分的像素插值方法的概略图。像素F00,F01,F02,F03,F04,F05,F10,F11,F12,F13,F14,F15,F20,F21,F22,F23,F24,F25,F30,F31,F32,F33,F34,F35,F40,F41,F42,F43,F44,F45,F50,F51,F52,F53,F54,以及F55为整数像素位置的像素,以带有斜线的四角形来表示。在此,A,B,C,D,E,F,G,H,I,J,K,L,M,N,P,Q,R,S,T以及U,表示各自的位置及其像素值。并且,关于小数像素位置的像素,以空白的四角形来表示。像素aa,bb,cc,dd,ee,ff,gg以及hh表示乘了6抽头滤波器的系数后的、且位移前的中间计算像素值及其位置。a,b,c,d,e,f,g,h,i,j,k,m,n,p,q,r以及s表示在各小数像素位置,与6抽头滤波器进行线性插值的像素值及其位置。以下,对a,b,c,d,e,f,g,h,i,j,k,n,p,q以及r的各小数像素位置的像素值计算方法进行说明。在此,b1,h1,s1,m1分别表示乘了6抽头滤波器系数的、位移前的中间计算像素值,上述6抽头滤波器用于求出b,h,s,m的像素值。
在计算1/2精度像素b的像素值的情况下,利用水平方向的周边的整数精度像素E,F,G,H,I,J的6像素,通过实行公式1所表示的6抽头滤波器来求出中间计算像素值b1。然后,根据公式2所表示的位移,进行四舍五入的整数精度除法处理,以及进行为了将像素水平保持在有效范围的舍入处理,从而求出水平方向上的移动了1/2精度像素的位置b的像素值。
b1=(E-5×F+20×G+20×H-5×I+J) …(公式1)
b=Clip((b1+16)>>5) …(公式2)
在此,Clip函数表示舍入处理,通过对0以下的值补正为0,以及对255以上的值补正为255,因此是将输出结果控制在0到255的值之间的函数。以下,将Clip函数处理简单记载为舍入处理。
并且,在计算1/2精度像素h的像素值的情况下,利用垂直方向的周边的整数精度像素A,C,G,M,R,T的6像素,通过实行公式3所表示的6抽头滤波器来求出中间计算像素值h1,然后进行公式4所表示的移位和舍入处理,来求出垂直方向上移动了1/2精度的像素位置h的像素值。
h1=(A-5×C+20×G+20×M-5×R+T) …(公式3)
h=Clip((h1+16)>>5) …(公式4)
并且,在计算1/2精度像素j的像素值的情况下,与中间计算像素值b1同样,利用计算了的中间计算像素值s1,aa,bb,gg,hh的6像素,进行公式5所表示的抽头滤波器,或与中间计算像素值h1同样,利用计算了的m1,cc,dd,ee,ff的6像素,通过实行公式6所表示的6抽头滤波器,来求出中间计算像素值j1。然后,进行公式7所表示的位移和舍入处理,来求出水平、垂直各方向上移动了1/2精度的像素位置j的像素值。在此,至少为了减少像素值j的值的舍入误差,而在中间计算像素值j1的计算途中,利用位移前的中间计算像素值m1,s1,aa,bb,cc,dd,ee,ff,gg,hh来算出。
j1=cc-5×dd+20×h1+20×m1-5×ee+ff …(公式5)
j1=aa-5×bb+20×b1+20×s1-5×gg+hh …(公式6)
j=Clip((j1+512)>>10) …(公式7)
并且,1/2精度像素s,m的像素值分别与1/2精度像素b,h同样,可以以公式8和公式9所示的位移和舍入处理来求出。
s=Clip((s1+16)>>5) …(公式8)
m=Clip((m1+16)>>5) …(公式9)
最后,通过从整数精度像素G,H,M,N以及公式2,4,7,8和9中小数点以下四舍五入的方法来计算像素值,从而计算1/4精度像素a,c,d,n,f,i,k,q,e,g,p以及r的值(公式10~21)。
a=(G+b+1)>>1 …(公式10)
c=(H+b+1)>>1 …(公式11)
d=(G+h+1)>>1 …(公式12)
n=(M+h+1)>>1 …(公式13)
f=(b+j+1)>>1 …(公式14)
i=(h+j+1)>>1 …(公式15)
k=(j+m+1)>>1 …(公式16)
q=(j+s+1)>>1 …(公式17)
e=(b+h+1)>>1 …(公式18)
g=(b+m+1)>>1 …(公式19)
p=(h+s+1)>>1 …(公式20)
r=(m+s+1)>>1 …(公式21)
图4是示出以以往技术构成运动补偿部405时的构成电路图,上述运动补偿部405进行以上的运动补偿像素的生成。运动补偿部405与在图1的画面间预测编码装置以及图2的画面间预测解码装置所说明的内容相同,在运动补偿部405中输入有来自多帧存储器402的运动补偿参照像素MCpel1。并且,因为多帧存储器402与在图1的画面间预测编码装置以及图2的画面预测解码装置说明的内容相同,所以,在此省略其说明。
运动补偿部405包括:延时电路501、多抽头滤波部502、信号选择以及进行加法运动的选择加法器517、以及移位518。
延时电路501获得来自多帧存储器402的运动补偿参照像素MCpel,在延迟时机的同时进行像素数据的保持以及输出。多抽头滤波部502收取来自延时电路501的输出像素数据,实行6抽头滤波、位移以及舍入处理,并输出其结果。选择加法器517按照运动补偿像素位置,选择由延时电路501以及多抽头滤波部502所输入的像素值,必要时进行加法运算并输出。位移518按照运动补偿像素位置,在必要时对来自选择加法器517的输出结果进行位移,在没有必要时将上述输出结果的值作为参照画面像素MCpel2来输出。
延时电路501同时获得横方向6像素,并进行6次延迟。在延迟电路501的构成缓冲中,包括:缓冲BA,缓冲BB,缓冲BC,缓冲BD,缓冲BE,缓冲BF,缓冲BG,缓冲BH,缓冲BI,缓冲BJ,缓冲BK,缓冲BL,缓冲BM,缓冲BN,缓冲BP,缓冲BQ,缓冲BR,缓冲BS,缓冲BT,以及缓冲BU,上述这些缓冲分别存储有图3所示的像素插值方法略图中表示整数像素位置A,B,C,D,E,F,G,H,I,J,K,L,M,N,P,Q,R,S,T,以及U的像素数据。
多抽头滤波部502包括:二个或更多的6抽头滤波器503~511以及二个或更多的位移512~516,该二个或更多的位移512~516用于一并进行小数点以下的四舍五入处理和舍入处理。6抽头滤波器503,6抽头滤波器504,6抽头滤波器505,6抽头滤波器506,6抽头滤波器507,6抽头滤波器508,6抽头滤波器509,以及6抽头滤波器510,收取来自延时电路501的输出信号,进行系数的乘法运算和加法运算,并分别输出中间计算像素值Saa,Sbb,Sb1,Ss1,Sgg,Shh,Sm1,Sh1。此时,中间计算像素值Sb1,Sh1是分别通过公式1、公式3得到的,其它的中间计算像素值Saa,Sbb,Ss1,Sgg,Shh,以及Sm1的值也是与公式1、公式3同样的6抽头滤波器的输出值,相当于图3的像素插值方法的概略图中所示的aa,bb,s1,gg,hh,以及m1。
6抽头滤波器511输入来自水平方向的6抽头滤波器结果的输出值Saa,Sbb,Sb1,Ss1,Sgg,Shh,Sm1,以及Sh1,将sj1作为公式6所示的垂直方向的6抽头滤波器结果来输出。位移512,位移513,位移514,位移515,以及位移516,分别输入Ss1,Sj1,Sb1,Sm1,以及Sh1,分别进行公式8、公式7、公式2、公式9、以及公式4所示的进行小数点以下四舍五入的位移和舍入处理,并分别作为Ss,Sj,Sb,Sm,以及Sh来输出。
选择加法器517和位移518输入来自延时电路501的缓冲值和来自多抽头滤波部502的输出值,在此,延时电路501的缓冲值为SN,SM,SH,以及SG,多抽头滤波器部502的输出值为Sb,Ss,Sm,Sh,以及Sj,按照运动补偿像素位置,在必要时进行从公式10到公式21的带有四舍五入的平均值计算,输出小数精度的运动补偿像素MCpel2。
通过以上这样的构成以及进行以上一连串的动作,从运动补偿参照像素MCpel1生成1/4像素精度的运动补偿图像,并作为小数精度的运动补偿图像MCpel2来输出,解码画面信号Vout,即将解码画面RecPel从编码信号Str正确解码并输出(例如,参照非专利文献1)。非专利文献1:“Draft ITU-T Recomendation and Final Standard ofJoint Video Specification”8.4.2.2,Joint Video Team(JVT)ofISO/IEC MPEG & ITU-T VCEG,JVT-G050r1,27May 2003
然而,存在的课题是:对于H.264规格的亮度信号,在如上述以往技术中构成运动补偿部的情况下,为了生成1像素的运动补偿像素,就会使为了从多帧存储器402中读出参照像素数据的通带宽度增大。
即,例如在上述图4中所示的H.264规格的运动补偿中,当求在水平、垂直方向上各偏离半像素之处的像素时,由于需要周边的36像素,在重复了5次6像素的数据传送循环后,成为在1次循环中输出1像素的补偿像素。在1块单位中,仅将上述处理重复与块的列数相同的次数,并进行6抽头滤波器处理。因此,在H.264规格以得到最大的块形状为1个处理的情况,和以最小的块形状为16个处理的情况的各传送像素数,可以分别用以下的公式22和公式23来计算。在此最大的块形状为16×16块,最小的块形状为4×4块。
(16+5)×16×6像素宽度×1块=2,016 …(公式22)
(4+5)×4×6像素宽度×16块=3,456 …(公式23)
另一方面,在未持有多抽头滤波器的水平2像素、垂直2像素的线性插值程度上生成运动补偿图像的情况下,16×16块大小和4×4块大小的各传送像素数可以用以下的公式24和公式25来计算。
(16+1)×16×2像素宽度×1块=544 …(公式24)
(4+1)×4×2像素宽度×16块=640 …(公式25)
因此,根据公式22~公式25,在H.264规格,从多帧存储器402所传送的、作为1宏块(MB)的参照图像的像素传送数,与在2个像素间的线性插值生成的情况相比,可知从3.7倍成为了5.4倍。
发明内容
因此,本发明为了解决上述的问题,目的在于提供一种运动补偿装置,该运动补偿装置可以抑制电路规模的增加,减少与多帧存储器之间的数据传送量,并可以有效率地生成运动补偿像素。
为了达到上述目的,涉及本发明的运动补偿装置,在构成动态图像的画面间进行小数像素精度的运动补偿预测,其特征在于,包括:多抽头滤波单元,对被传送来的块单位的参照像素数据,进行规定方向上的连续的滤波演算,并生成1/2小数精度像素数据,该1/2小数精度像素数据用于进行运动补偿预测;以及中间输出像素存储单元,用于存储1/2小数精度像素数据,该1/2小数精度像素数据是由上述多抽头滤波单元所生成的;上述多抽头滤波单元对由上述中间输出像素存储单元所输入的1/2小数精度像素数据,进行连续的滤波演算,并生成1/2小数精度像素数据,该连续的滤波演算是在垂直于上述规定方向的方向上进行的。
据此,在多抽头滤波处理中,对水平方向上或垂直方向上的1/2小数精度像素的生成和滤波演算可以一起进行,将第一次的滤波结果作为中间输出像素,暂先存储在专用的中间像素存储单元,在进行与第一次演算方向垂直方向上的1/2小数精度像素生成的滤波演算中,通过利用中间输出像素,例如可以减少参照像素数据的数据量,从而能够高效率地进行运动补偿预测,上述参照像素数据的数据量是从存储参照像素数据的多帧存储器中传送到运动补偿装置的数据量。
并且,上述运动补偿装置还可以包括:数据传送控制单元,控制上述参照像素数据的传送;以及第一像素选择单元,根据上述数据传送控制单元的控制,选择上述参照像素数据和1/2小数精度像素数据的某一个,并将选择的数据输出到上述多抽头滤波单元,上述1/2小数精度像素数据是由上述中间输出像素存储单元所输入的。
在此,也可以是上述数据传送控制单元,对处理对象块的水平方向像素数和垂直方向像素数进行比较,将值小的排列方向上的、上述处理对象块的参照像素数据,依次传送到上述多抽头滤波单元。
据此,由于可以消减在中间输出像素存储单元的必要像素容量,也可以减少第二次方向上的滤波处理中的传送像素数,因此,更能够高效率地进行运动补偿预测,同时还可以减少安装时的面积。
并且,也可以是上述数据传送控制单元将处理对象块分割为规定数量的子块,以上述子块为单位,将上述处理对象块的参照像素数据传送到上述多抽头滤波单元。
据此,由于可以消减中间输出像素存储部所必要的容量,因此,更可以减少安装面积。
并且,也可以是上述运动补偿装置还包括:必要像素判断单元,根据运动补偿像素位置,判断必要的像素区域,该像素区域是在上述多抽头滤波单元的处理中所必要的像素区域;上述数据传送控制单元仅将必要的像素区域中的参照像素数据,传送到上述多抽头滤波单元,该必要的像素区域是在上述必要像素判断单元所判断的。
在此,优选上述第二多抽头滤波部对应于具有上述1/2小数精度像素数据的比特精度。
据此,在安装二个或更多的多抽头滤波资源的情况下,由于可以有选择的分配比特精度高的滤波器,因此可以减少安装面积。例如,第一多抽头滤波部对应于具有整数精度像素数据的比特精度为止,为了安装第二多抽头滤波部所对应的、具有1/2小数精度像素数据的比特精度的演算资源,而无需将比特精度高的滤波器分配到第一多抽头滤波部,因此,可以消减安装面积。
并且,也可以是上述中间输出像素存储单元存储1/2小数精度像素数据和上述参照像素数据,并在进行上述存储的同时进行数据的读出和写入的处理,上述1/2小数精度像素数据是由上述第一多抽头滤波部所生成的;上述第二多抽头滤波部对由上述中间输出像素存储单元所输入的上述参照像素数据,以及上述1/2小数精度像素数据,进行滤波演算;上述第一多抽头滤波部和上述第二多抽头滤波部的动作是以管线方式进行。
据此,可以通过增加中间输出像素存储单元的容量,而将参照像素数据的传送控制在第一次滤波方向上,从而消减像素传送量;并且,通过使中间输出像素存储单元进行库动作,可以对不同的块的数据进行独立的第二次滤波方向上的滤波处理,因此,可以更有效率地进行运动补偿预测,上述不同的块是指与第一次滤波处理中的处理对象块不同。
而且,本发明不仅是作为这样的运动补偿装置来实现,也可以作为运动补偿方法来实现,此运动补偿方法是将这样的运动补偿装置所具有的单元作为步骤来实现的,上述这些步骤可以作为使计算机执行的程序来实现。而且,上述这样的程序也是可以通过CD-ROM等记录介质或因特网等传送媒体来分发的。
发明效果
通过以上的说明可以明确地知道,利用本发明所涉及的运动补偿装置,可以抑制电路规模的增加,同时还可以消减与存储参照像素数据的多帧存储器之间的数据转送量,可以有效率地生成运动补偿像素。
附图说明
图1是示出以往的画面间预测编码装置的构成的方框图。
图2是示出以往的画面间预测解码装置的构成的方框图。
图3是为了说明在H.264亮度成分的像素插值方法的概略图。
图4是示出以往的运动补偿部的构成的电路图。
图5是示出本发明的实施方式1所涉及的运动补偿装置(运动补偿部)的概略构成的方框图。
图6是示出本发明的实施方式1所涉及的运动补偿装置的详细构成的方框图。
图7是示出采用6抽头滤波器的整数精度像素排列的图。
图8是示出在数据传送控制部控制数据传送的动作流程的流程图。
图9(a)是示出进行运动补偿图像生成的块的一示例图,(b)是示出存储中间像素存储器中所存储的、在垂直方向上偏移1/2的小数精度像素的图,(c)是示出在第2次滤波处理(水平方向)中需要传送的像素的图、(d)是示出对于存储中间像素存储器中所存储的、在垂直方向上偏移1/2的小数精度像素的、第2次滤波处理(水平方向)的图。
图10(a)是示出存储中间像素存储器中所存储的、在水平方向上偏移了1/2的小数精度像素的图,(b)是示出在第2次滤波处理(垂直方向)中需要传送的像素的图、(c)是示出对于存储中间像素存储器中所存储的、在垂直方向上偏移了1/2的小数精度像素的、第2次滤波处理(垂直方向)的图。
图11(a)是示出进行运动补偿图像生成的块单位的图、(b)是示出块分割的图,(c)是示出在分割区域滤波处理中,附有所需要的周边像素的状态的传送区域的图。
图12是示出进行运动补偿图像生成的块的一示例图。
图13是示出在每个分割区域的滤波处理中所需要的周边像素的图。
图14是示出在数据传送控制部控制数据传送的动作的流程的流程图。
图15是示出本发明的实施方式4所涉及的运动补偿装置(运动补偿部)的构成的方框图。
图16(a)是示出进行运动补偿图像生成的二个或更多的块的图,(b)是示出以各个块为单位的水平以及垂直方向的滤波处理的时机的图。
图17是关于为了存储程序的记录介质的说明图,该程序是为了根据计算机系统来实现以下装置的程序,即:各实施方式的运动装置、利用此运动补偿装置的画面间预测编码装置、或画面间预测解码装置;(a)是示出作为记录介质本身的软盘的物理格式的示例图,(b)是示出从正面看到的软盘的外观、剖面结构以及软盘的说明图,(c)是示出为了在软盘FD上进行上述程序的记录播放的构成的说明图。
图18是示出实现内容分发服务的内容供给系统的全体构成的方框图。
图19是示出移动电话的一示例图。
图20是示出移动电话内部构成的方框图。
图21是示出用于数字播放的系统的全体构成的方框图。
符号说明
100 运动补偿装置(运动补偿部)
101 运动补偿位置判断部
102 必要像素判断部
103 数据传送控制部
104 像素选择部
105 存储中间像素存储器
106 多抽头滤波部
107 线性插值演算部
201,202 延时电路
402 多帧存储器
503,511,6 抽头滤波器
205,512,513,514,518 位移
517 选择加法器
MCpel1 多帧存储器输出像素信号
MCpel2 小数精度运动补偿像素信号
MCpel3 存储中间像素存储器输出像素信号
SselAdd选择加法器输出信号
SdatCtr数据传送控制信号
SpxlJdg必要像素判断信号
SmcPos 运动补偿位置判断信号
Sm1h1 位移前小数精度像素信号
Smh 小数精度像素信号
Sa1 位移前小数精度像素信号
Sb1 位移前小数精度像素信号
Sj1 位移前小数精度像素信号
Ss 小数精度像素信号
Sj 小数精度像素信号
Sb 小数精度像素信号
SMN 整数精度像素信号
SGH 整数精度像素信号
具体实施方式
以下,参照各个附图对本发明的各实施方式进行说明。
(实施方式1)
图5是示出本发明的实施方式1所涉及的运动补偿装置(运动补偿部)的概略构成的方框图,图6是示出此运动补偿装置的详细构成的方框图。另外,对于与图4所示的以往的运动补偿部相同的部分赋与相同的符号,并省略其说明。并且,运动补偿装置可作为图1所示的画面间预测编码装置来使用,也可以作为图2所示的画面间预测解码装置来使用。
运动补偿装置100是为了生成小数像素精度的运动补偿像素的装置,包括:运动补偿位置判断部101、必要像素判断部102、数据传送控制部103、像素选择部104、存储中间像素存储器105、多抽头滤波部106以及线性插值演算部107。在此运动补偿装置100中输入有来自多帧存储器402的运动补偿参照像素(参照像素数据)MCpel1。
多抽头滤波部106包括:延时电路201和延时电路202、6抽头滤波器503、6抽头滤波器511、位移512、位移513、位移514、以及位移205,上述延时电路是将安装的缓冲从以往的6个×6像素变成了6个×1像素的延时电路。并且,作为第2像素选择单元以及线性插值演算单元的线性插值演算部107包括:选择加法器206以及位移518。
运动补偿位置判断部101根据运动矢量来判断生成哪个位置的补偿像素,该位置是指图3中的像素G,a,b,c,d,e,f,g,h,i,j,k,n,p,q,以及r,并输出运动补偿位置信号SmcPos。运动补偿位置信号SmcPos被输入到选择加法器206、位移518,用于生成1/4精度像素所必需的像素的选择和移位的执行控制。
必要像素判断部102根据所输入的运动补偿位置信号SmcPos,判断所必要的像素,并输出必要像素信息SpxlJdg,该必要的像素用于从宏块(MB)分区的形状或其分割形状以及6抽头滤波器的滤波方向顺序执行6抽头滤波。
数据传送控制部103根据被输入来的必要像素信息SpxlJdg,输出数据传送控制信号SdatCtr,该数据传送控制信号SdatCtr用于控制传送数据的取出顺序等。数据传送控制信号SdatCtr被输入到多帧存储器402、存储中间像素存储器105以及像素选择部104中,用于滤波演算处理的控制。
存储中间像素存储器105例如在进行水平方向优先的滤波处理的情况下,是用于存储所有用于处理的块单位,该用于处理的块单位与图3的像素aa,bb,b,s,gg,hh等的水平方向的1/2精度像素位置的数据有关,并且,一旦存储了的中间像素数据作为位移演算前的1/2精度像素数据MCpel3来输出。
像素选择部104选择参照像素数据MCpel1或1/2精度像素数据MCpel3,该参照像素数据MCpel1是从多帧存储器402中被输出的,上述1/2精度像素数据MCpel3是从存储中间像素存储器105中被输出的。
位移205输入6抽头滤波器503的输出信号Sm1h1,输出作为位移后的结果的像素m或像素h的位置的信号Smh。位移512输入延时电路202的第3的延时数据Ss1,并输出作为位移后的结果的像素s的位置的信号Ss。位移513输入6抽头滤波器511的输出信号Sj1,并输出作为位移后的结果的像素j的位置的信号Sj。位移514输入延时电路202的第4个延时数据Sb1,并输出作为位移后的结果的像素b的位置的信号Sb。
选择加法器206输入输出信号smh,输出信号Ss,输出信号Sj,输出信号Sb,输出信号SMN,以及输出信号SGH,并按照运动补偿位置信号SmcPos进行信号的选择,在必要时进行加法运算并作为信号SSelAdd来输出;上述输出信号Smh来自位移205,上述输出信号Ss来自位移512,上述输出信号Sj来自位移513,上述输出信号Sb来自位移514,上述输出信号SMN是作为延时电路201的第3个延时数据的像素M或像素N的位置的输出信号,上述输出信号SGH是作为延时电路201的第4个延时数据的像素G或像素H的位置的输出信号。
位移518输入信号SSelAdd,并按照运动补偿位置信号SmcPos,在必要时进行位移,并作为运动补偿像素MCpel2来输出。
以下,利用图7对必要像素判断部102的详细动作进行说明。图7是示出采用6抽头滤波器的整数精度像素的排列的图。在图7中,以四角形表示的整数精度像素IntSmp是运动矢量示出的运动补偿位置的整数精度的像素。并且,以圆圈表示的6抽头附加像素IntSmp6T位于整数精度像素IntSmp的周边,是为了采用6抽头滤波所必要的像素。
区间Tintwidth表示整数精度像素的水平方向的区间,因执行运动补偿的对象块的块形状而不同,可以取值为16、8以及4。区间T6twidth表示6抽头滤波所必要的、含有周边像素的水平方向的区间,根据对象块的块形状,可以取值为21、13以及9。
区间Tintheight表示整数精度像素的垂直方向的区间,因执行运动补偿的对象块的块形状而不同,可以取值为16、8以及4。区间T6theight表示6抽头滤波所必要的、含有周边像素的垂直方向的区间,根据对象块的块形状,可以取值为21、13以及9。
区域Aabc表示,水平方向的区间为T6twidth、垂直方向的区间为Tintheight的区域,是整数精度像素的区域。区域Adhn表示,水平方向的区间为Tintwidth、垂直方向的区间为T6theight的区域,是整数精度像素的区域。区域AG表示,水平方向的区间为Tintwidth、垂直方向的区间为Tintheight的区域,是整数精度像素的区域。
例如,在生成图3所示的a,b以及c的小数精度像素位置的运动补偿图像的情况下,由于不需要垂直方向的滤波处理,仅使用垂直方向的滤波器的区域不需要处理。因此,在此情况下,必要像素判断部102判断区域Aabc所示的区域为必要区域。并且,同样在生成d,h以及n的小数精度像素位置的运动补偿图像的情况下,由于不需要水平方向的滤波处理,仅使用水平方向的滤波器的区域不需要处理。因此,在此情况下,必要像素判断部102判断区域Adhn所示的区域为必要区域。而且,在G的位置的情况下,由于不需要生成小数精度像素,因此,必要像素判断部102判断区域AG为必要的区域。
以下利用图8对数据传送控制部103的详细动作进行说明。图8是示出在数据传送控制部103控制数据传送的动作流程的流程图。
首先,数据传送控制部103判断运动补偿图像生成位置是否为像素G的位置(步骤S101),该像素G在图3所示的像素G,a,b,c,d,e,f,g,h,i,j,k,n,p,q,以及r之中。此判断结果为运动补偿图像生成位置是像素G的位置的情况下(步骤S101的是),不执行小数精度像素滤波而结束。
另一方面,若运动补偿像素生成位置是像素G以外的情况下(步骤S101的否),判断是否为像素d,h以及n中某一个的位置(步骤S102)。此判断结果为运动补偿图像生成位置是像素d,h以及n中的某一个的位置的情况下(步骤S102的否),执行6抽头滤波(步骤S103),该6抽头滤波用于生成在水平方向上偏移1/2像素的像素。而且,判断运动补偿图像生成位置是否为像素a,b以及c中的某一个的位置(步骤S104)。此判断结果为运动补偿图像生成位置是像素a,b以及c中的某一个的位置的情况下(步骤S104的否),以及在上述判断处理(步骤S102),运动补偿图像生成位置是像素d,h以及n中的某一个的情况下(步骤S102的是),执行6抽头滤波(步骤S105),该6抽头滤波用于生成在垂直方向上偏移1/2像素的像素。
判断运动补偿像素生成位置是否为像素b,h以及j中的某一个的位置(步骤S106)。此判断结果为运动补偿图像生成位置不是像素b,h以及j中的某一个的位置的情况下(步骤S106的否),即不是像素G,b,h以及j中的某一个的位置的情况下,执行1/4精度像素的线性插值滤波(步骤S107)。
另一方面,运动补偿图像生成位置是像素b,h以及j中的某一个的位置的情况下(步骤S106的是),不执行1/4精度像素的线性插值滤波而结束。
通过在数据传送控制部103对上述顺序进行控制,从而控制运动补偿部100,并输出运动补偿像素MCpel2。另外,通过将步骤S102的判断处理以及水平方向的滤波处理(步骤S103),和步骤S104的判断处理以及垂直方向的滤波处理(步骤S105)进行倒换,从而可以先进行垂直滤波、后进行水平滤波;上述步骤S102的判断处理为判断运动补偿像素生成位置是否为像素d,h以及n中的某一个的位置的处理,上述步骤S104的判断处理为判断运动补偿像素生成位置是否为像素a,b以及c中的某一个的位置的处理。
以下,沿着像素信号的传送,继续对有关滤波处理动作进行详细地说明,该滤波处理动作是针对在水平方向上M像素、在垂直方向上N像素的块形状的区域。在此,对小数精度像素位置的运动补偿图像生成动作进行说明,该小数精度像素为水平方向和垂直方向的两方向的滤波演算所必要的、图3所示的像素e,f,g,i,j,k,p,q以及r的位置,并且为了说明的简单,以最先实施水平方向的滤波为例进行说明,另外,也可以以最先实施垂直方向的滤波为例进行说明。
首先,数据传送控制部103从多帧存储器402,以1像素为单位读出水平方向上的像素数据,并输入到延时电路201。延时电路201为6段的FIFO的构成,图7所示的水平方向的区间T6twidth中的一行的数据被陆续输入,该区间T6twidth包含6抽头滤波所必要的周边像素。延时电路201的6个像素的延时数据被输入到6抽头滤波器503中,第6像素被输入之后为1个循环,6抽头滤波的结果以此1个循环为单位被输出。
从6抽头滤波器503所输出的6抽头滤波结果被输入到存储中间像素存储器105以及位移205中。延时电路201和6抽头滤波器503为1组的情况下,可以以M+5循环进行一行的滤波处理,反复含有滤波所必要的周边像素部分的N+5行的处理。其结果是作为在水平方向上偏移1/2的小数像素精度的数据(b的位置)被存储到存储中间像素存储器105。
然后,数据传送控制部103为了生成在垂直方向上偏移了1/2的小数精度像素(h的位置),从多帧存储器402中以1像素为单位读出垂直方向上的像素数据,并输入到延时电路201。与水平方向同样,输入第6像素之后,以1个循环为单位输出6抽头滤波的结果。延时电路201和6抽头滤波器503为1组的情况下,可以以N+5循环进行一列的滤波处理,反复含有滤波所必要的周边像素部分的M+5行的处理,并输出到移位205。
与此同时,数据传送控制部103为了生成在水平方向和在垂直方向各偏移了1/2的小数精度像素(j的位置),从存储中间像素存储器105中以1像素为单位,读出垂直方向上的像素数据,通过像素选择部104输入到延时电路202。延时电路202的6个像素的延时数据被输入到6抽头滤波器511中,输入第6像素之后,以1个循环为单位输出6抽头滤波的结果。
然后,选择加法器206按照运动补偿像素位置,以公式10到公式21所示的计算进行必要的处理,作为数据SSelAdd来输出。输入了数据SSelAdd的位移518在必要时进行位移,输出运动补偿图像MCPel2。在此,由于选择加法器206以及位移518在G,b,h以及j的位置不需要加法运算和位移处理,因此,不进行此处理。
并且,延时电路202和6抽头滤波器511在水平方向的滤波处理中也可以利用,在此情况下,在像素选择部104,不是选择从存储中间像素存储器105输入的数据,而是选择从多帧存储器402输入的数据,并进行滤波处理,实现了将6抽头滤波器511的输出结果输入到存储中间像素存储器105中。此时,水平方向的滤波处理循环与利用了延时电路201和6抽头滤波器503这一组进行比较,使约消减到1/2成为可能。
并且,在延时电路201和6抽头滤波器503或延时电路202和6抽头滤波器511,使处理资源的并行化处理成为可能,此时,将多帧存储器402和运动补偿部100之间的传送能力设定为并行化了的6抽头滤波的处理能力之上。在此,只要传送能力与处理能力相同就可以得到最佳构成。
因此,在以上述顺序进行运动补偿图像的生成时,在以最大的块形状16×16为1块来传送的情况,和以最小的块形状4×4为16块来传送的情况,各传送像素数用以下公式来表示。
((16+5)×(16+5)×1像素宽度+
16×(16+5)×1像素宽度)×1块=777 …(公式26)
((4+5)×(4+5)×1像素宽度+
4×(4+5)×1像素宽度)×16块=1,872 …(公式27)
从而,根据公式22,公式23,公式26以及公式27,与以往的传送量相比较,实现了在16×16的块形状控制在1/2.6,在4×4的块形状控制在1/1.8。
如上所述,由于设置了延时电路201以及延时电路202,将从6抽头滤波器503输出的6抽头的结果,存储到存储中间像素存储器之后,输入到延时电路202并进行滤波,从而,可以消减从多帧存储器402向运动补偿装置100的像素传送量。
(实施方式2)
在本实施方式,加之在实施方式1所说明的方法,对进行数据传送的情况进行说明,该数据传送是在判断最先在水平方向还是垂直方向上执行6抽头滤波的演算之后进行的。并且,因为本实施方式的构成与实施方式1相同,所以利用图6所示的方框图进行说明。
与实施方式1所说明的方法不同之处只是关于数据传送控制部103的控制方法不同。在此,仅对此数据传送控制以及动作处理进行详细说明。
6抽头滤波的演算不论在水平垂直还是在垂直水平的哪个顺序上,都可以得到相同的结果。对于此垂直/水平的滤波顺序的控制方法,利用图9~图11进行说明。
图9是示出进行运动补偿图像生成的块的一示例图。在此,块形状为图9(a)所示的大小,即水平方向M为8像素,垂直方向N为4像素,对于6抽头滤波器的滤波处理所需要的周边像素,附加有5个(=T-1)像素。并且,在图9中,对象块的像素为空白的四角形,6抽头滤波所必需的周边像素为带有斜线的四角形,小数像素精度以圆圈来表示。
对于图9(a)所示的块,当最先执行垂直方向的滤波时,图9(b)所示的在垂直方向上偏移了1/2的小数精度像素被存储到存储中间像素存储器105中。并且,在执行第2次的滤波处理(水平方向)时,从多帧存储器402向运动补偿部100转送时所必要的像素,则成为如图9(c)所示的去除了上2行和下3行的周边像素的像素。并且,为了生成水平和垂直同时偏移了1/2的小数精度像素,则读出图9(d)所示的存储在存储中间像素存储器105中的、在垂直方向上偏移了1/2的小数精度像素,执行第2次的滤波处理(水平方向)。
这样,在最先执行垂直方向的滤波的情况下,存储中间像素的存储器105所必要的像素容量,或在第2次的方向的滤波处理的像素传送量,可以用以下公式来表示。
(8+5)×4=52 …(公式28)
另一方面,对于图9(a)所示的块,在最先执行水平方向的滤波时,图10(a)所示的在水平方向上偏移了1/2的小数精度像素被存储到存储中间像素存储器105中。并且,在执行第2次的滤波处理(垂直方向)时,从多帧存储器402向运动补偿部100转送时所必要的像素,则成为如图10(b)所示的去除了右2列和左3列的周边像素的像素。并且,为了生成水平和垂直同时偏移了1/2的小数精度像素,则读出图10(c)所示的存储在存储中间像素存储器105中的、在垂直方向上偏移了1/2的小数精度像素,执行第2次的滤波处理(垂直方向)。
这样,在最先执行水平方向的滤波的情况下,存储中间像素的存储器105所必要的像素容量,或在第2次的方向的滤波处理的像素传送量,可以用以下公式来表示。
8×(4+5)=72 …(公式29)
以上,对水平方向M为8像素、垂直方向N为4像素大小的块为例进行了说明,以下,对一般情况下的块大小进行说明,此一般情况的块大小为:水平方向为M、垂直方向为N的像素数。
图11是示出进行运动补偿图像生成的块单位的图。图11(a)示出了进行运动补偿像素生成的块,是简略了图7的图示。在图11(a)示出的是水平方向为M、垂直方向为N的像素数大小的块形状,周边像素以附加的T-1来表示,该周边像素用于滤波器的抽头数作为T时的滤波器。
此时,作为像素需要传送(M+T-1)×(N+T-1)区域的内存。并且,此时图5所示的存储中间像素存储器105所必要的像素容量为,在最先执行水平方向的滤波的情况下需要M×(N+T-1)的像素容量,在最先执行垂直方向的滤波的情况下需要(M+T-1)×N的像素容量。
并且,在继续执行其它方向的滤波处理时,对于从多帧存储器402向运动补偿部100传送所必要的像素数也是同样,在最先执行水平方向的滤波处理的情况下需要M×(N+T-1)的像素传送量,在最先执行垂直方向的滤波处理的情况下需要(M+T-1)×N的像素传送量。
因此,在最先执行水平方向的滤波处理的情况下,和在最先执行垂直方向的滤波处理的情况下,存储中间像素存储器105所必要的像素容量的差分值,或在第2次方向的滤波处理中的像素传送量的差分值,可以用以下公式来表示。
|M×(N+T-1)-(M+T-1)×N|=|(M-N)(T-1)| …(公式30)
因此,数据传送控制部103对水平方向的像素数M和垂直方向的像素数N进行比较并控制,使得若成为M<N的块形状,则先进行水平方向的滤波处理,后进行垂直方向的滤波处理,若成为M>N的块形状,则先进行垂直方向的滤波处理,后进行水平方向的滤波处理。据此,可以使在|(M-N)(T-1)|的存储中间像素存储器105的容量消减,以及在第2次方向的滤波处理的像素转送量的消减成为可能。
并且,在H.264规格,规定为T=6,M以及N的值为16,8,4。并且,在H.264规格,在进行IMB(宏块)的运动补偿像素的生成时,从水平方向开始执行6抽头滤波的情况下需要公式31所示的处理循环,从垂直方向开始执行6抽头滤波的情况下需要公式32所示的处理循环,与从水平方向开始执行滤波处理时相比较,可以实现(962-882)/962=8%的传送量的消减,上述IMB(宏块)是被分割为16×8的块形状。
((16+5)×(8+5)×1像素宽度+
16×(8+5)×1像素宽度)×2块=962 …(公式31)
((16+5)×(8+5)×1像素宽度+
(16+5)×8×1像素宽度)×2块=882 …(公式32)
同样,在进行被分割为8×4的块形状的IMB(宏块)的运动补偿像素的生成时,如上所述从水平方向开始执行6抽头滤波的情况下需要公式33所示的处理循环,从垂直方向开始执行6抽头滤波的情况下需要公式34所示的处理循环,与从水平方向开始执行滤波处理时相比较,可以实现(1,512-1,352)/1,352=11%的传送量的消减。
((8+5)×(4+5)×1像素宽度+
8×(4+5)×1像素宽度)×8块=1,512 …(公式33)
((8+5)×(4+5)×1像素宽度+
(8+5)×4×1像素宽度)×8块=1,352 …(公式34)
如上所述,数据传送控制部103对对象块的水平方向的像素数M和垂直方向的像素数N进行比较,在判断是从水平方向还是从垂直方向最先开始执行6抽头滤波器演算之上,由于进行数据传送,所以,可以在消减存储中间像素存储器105的实际安装容量的同时,还可以消减从多帧存储器402向运动补偿装置100的数据传送量。
(实施方式3)
针对在实施方式1说明的方法,在本实施方式中,对将对象块分割并进行滤波处理的情况进行说明。并且,由于本实施方式的构成与实施方式1相同,因此利用图6所示的方框图进行说明。
与实施方式1中所说明的方法不同之处仅是有关在数据传送控制部103的控制方法。在此,仅对此数据传送控制以及动作处理进行详细说明。
6抽头滤波器的执行并非需要在指定的块形状中执行,进行分割处理也可以得到同样的结果。对于此分割的滤波控制方法,将利用图11~图14进行说明。
图12是示出进行运动补偿图像生成的块的一示例图。在此,块形状大小为水平方向M16像素、垂直方向N16像素,对于6抽头滤波器的滤波处理所必需的周边像素附加了5像素(=T-1)。并且,在图12中,对象块的像素为空白的四角形,6抽头滤波所必需的周边像素是带有斜线的四角形,小数精度像素以圆圈来表示。
在将图12所示的块在水平方向上进行2分割、在垂直方向上进行4分割的情况下,分割后的水平方向M/m为8像素,垂直方向N/n为4像素的块,进行6抽头滤波器的滤波处理所必需的周边像素,被分别附加在图13所示的各个块,并从多帧存储器402传送到运动补偿装置100。
进行这样的分割处理,在最先进行垂直方向的滤波处理时,存储中间像素存储器105所必要的像素容量,与上述实施方式2同样可以用以下公式来表示。
(8+5)×4=52 …(公式35)
例如,在不进行分割处理而执行滤波的情况下,存储中间像素存储器105所必要的像素容量,可以用以下公式来表示。
(16+5)×16=336 …(公式36)
以上对大小为水平方向M为16像素、垂直方向N为16像素的块,在水平方向分割为2个,在垂直方向分割为4个的情况进行了说明,以下,对一般的水平方向M、垂直方向N的像素大小的块,在水平方向上m分割、在垂直方向上n分割的情况进行说明。
图11(b)表示对图11(a)的进行运动补偿像素生成处理的块,在水平方向上分割为m个(M/m是自然数),在垂直方向上分割为n个(N/n是自然数)。图11(c)表示在分割区域附加了滤波处理所必需的周边像素的状态的传送区域。
数据传送控制部103对于图11(b)所示的分割为m×n个的分割处理块,控制运动补偿图像生成处理次数,使得运动补偿图像生成处理为m×n次的反复处理。根据上述处理方法,可以使存储中间像素存储器105所必要的容量的最低限度从MIN(M×(N+T-1),(M+T-1)×N),消减到MIN(M/m×(N/n+T-1),(M/m+T-1)×N/n)。在此,MIN(A,B)表示函数,此函数输出A或B中值小的一方。
图14是示出在数据传送控制部103控制数据传送的动作流程的流程图。
首先,数据传送控制部103对M/m和N/n进行比较,并判断M/m是否大于N/n(步骤S201)。在此,当M/m是比N/n大的值(步骤S201的是)时,在N方向上执行6抽头滤波处理(步骤S202),然后,在M方向上进行6抽头滤波处理(步骤S203)。
另一方面,在上述判断为M/m是比N/n小的值(步骤S201的否)时,在M方向上执行6抽头滤波处理(步骤S204),然后,在N方向上进行6抽头滤波处理(步骤S205)。
而后,在分别执行M方向和N方向的滤波处理之后,执行1/4像素精度的线性插值滤波处理(步骤S206)。
将以上的处理进行m×n次循环,进行对象块的运动补偿图像全体的生成。
并且,在H.264规格,T=6、M以及N的值为16,8,4。因此,m,n可以取值为2,4,8,16等。
如上所述,为了使数据传送控制部103分割对象块,并进行滤波处理,而进行数据传送,因此,可以消减存储中间像素存储器105的安装容量,同时也可以消减从多帧存储器402到运动补偿装置100的数据传送量。
(实施方式4)
在本实施方式中,加上中间像素数据,对将整数像素位置的像素数据存储到存储中间像素存储器的情况进行说明。
图15是示出本发明的实施方式4所涉及的运动补偿装置(运动补偿部)的构成的方框图。并且,对于与图6所示的实施方式1相同的部分赋与相同的符号,并省略其说明。
本实施方式4的运动补偿装置300的构成与实施方式1相比,增加了延时电路302、6抽头滤波器303以及位移304,删除了像素选择部104和位移205。并且,存储中间像素存储器301为库构成。
存储中间像素存储器301的容量越大,就越能消减像素传送量。并且,当2端口存储器等也为库构成时,就可以进一步地实现高速的动作,上述2端口存储器是独立进行存储中间像素存储器301的读写的。以下,利用图15进行动作的说明。
从多帧存储器402传送来的像素数据MCpel1仅被输入到延时电路201。延时电路201的延时数据被输入到6抽头滤波器503中,滤波结果被存储到存储中间像素存储器301。
并且,延时电路201的第4个延时像素作为信号SGHMN被输出,和6抽头滤波器503的滤波结果一并存储到存储中间像素存储器301。存储中间像素存储器301中所存储的像素数据作为像素数据MCpel3被输出,对于6抽头滤波后的数据在此与实施方式1不同,不通过像素选择部104而被输入到延时电路202。另一方面,延迟像素数据MCpel3中的整数像素的数据SGHMN的读出值,被输入到延时电路302。延时电路302将第3个延时数据作为图3所示的像素M或像素N的整数像素位置的数据,输出信号SMN,将第4个延时数据作为图3所示的像素G或像素H的整数像素位置的数据,输出信号SGH。
6抽头滤波器303输入来自延时电路302的延时信号,并执行6抽头滤波,作为图3所示的像素h或像素m的像素位置的滤波结果,输出信号Sh1m1。位移304输入滤波结果Sh1m1,作为图3所示的像素h或像素m的插值像素数据,输出信号Shm。
选择加法器305输入Ss,Sj,Sb,SMN,Shm以及SGH,按照运动补偿位置判断信号SmcPos,在需要像素选择时进行加法运算并作为信号SSelAdd来输出。位移518输入信号SSelAdd,按照运动补偿位置信号SmcPos,在需要时进行位移,并作为运动补偿像素MCpel2来输出。
以下,对图16(a)所示的进行二个或更多的块的运动补偿图像生成时的动作进行说明。图16(b)是示出对各个块进行水平以及垂直方向的滤波处理时机的图。并且,将以带圆圈的数字1~4所示的块作为按照数字顺序处理的块,并且,最先执行水平方向的滤波处理。
首先,在延时电路201以及6抽头滤波器503,对块1最先进行水平方向的滤波处理(块1的F1)。
而后,执行垂直方向的滤波处理,该垂直方向的滤波处理其一是指:在延时电路302以及6抽头滤波器303,块1的整数像素位置的像素数据的滤波处理;其二是指:在块1的6抽头滤波器503,由延时电路202以及6抽头滤波器511处理后的数据的滤波处理(块1的F2)。此时,在延时电路201以及6抽头滤波器503,同时对块2进行水平方向的滤波处理(块2的F1)。
而后,执行垂直方向的滤波处理,该垂直方向的滤波处理其一是指:在延时电路302以及6抽头滤波器303,块2的整数像素位置的像素数据的滤波处理;其二是指:在块2的6抽头滤波器503,由延时电路202以及6抽头滤波器511处理后的数据的滤波处理(块2的F2)。此时,在延时电路201以及6抽头滤波器503,同时对块3进行水平方向的滤波处理(块3的F1)。以下,图16(b)所示的块3的垂直方向的滤波处理和块4的水平方向的滤波同样同时进行。
通过具有上述的构成,存储中间像素存储器301的像素容量与实施方式1相比更为需要,关于从多帧存储器402到运动补偿装置300的像素传送量,以最大的块形状16×16为1块传送的情况,和以最小的块形状4×4的16块传送的情况,用以下公式来表示。
((16+5)×(16+5)×1像素宽度×1块=441 …(公式37)
((4+5)×(4+5)×1像素宽度×16块=1,296 …(公式38)
因此,如公式22,公式23,公式37以及公式38所示,与以往的传送量相比,实现了在16×16块形状控制为1/4.6,在4×4块形状控制为1/2.7。
并且,加上中间像素数据,由于将整数像素位置的像素数据存储到存储中间像素存储器301,因此,垂直方向的滤波处理和其它的块的水平方向的滤波处理可以并列进行,因此可以提高处理速度。
(实施方式5)
进一步,将上述各实施方式所示的运动补偿装置,利用此运动补偿装置的画面间预测编码装置,或画面间预测解码装置,可以作为通过软件来实现的程序来实现,并通过在软盘等记录介质上记录,从而可以将上述各实施方式所示的处理在独立的计算机系统简单实行。
图17是利用软盘由计算机系统来执行上述实施方式1到实施方式4的装置时的说明图,上述软盘存储实现上述实施方式1到实施方式4的装置的程序,上述实施方式1到实施方式4的装置包括:运动补偿装置、利用此运动补偿装置的画面间预测编码装置或画面间预测解码装置。
图17(b)示出正面观看软盘时的外观、剖面结构以及软盘,图17(a)示出作为软盘的记录介质本身的物理格式的示例图。软盘FD内藏于外壳F内,在该盘的表面从外向内形成有二个或更多的同心圆状的磁道,各磁道在角度方向上被分割为16个扇区Se。因此,在存储上述程序的软盘,在上述软盘FD上所分配的区域中记录有作为上述程序的运动补偿装置、利用此运动补偿装置的画面间编码装置或画面间解码装置。
另外,图17(c)示出在软盘FD上用于进行上述程序的记录播放的构成。在将上述程序记录在软盘FD上的情况下,将作为上述程序的运动补偿装置、利用此运动补偿装置的画面间预测编码装置或画面间预测解码装置,通过软盘驱动器,从计算机系统Cs写入到软盘FD上。另外,根据软盘内的程序,将上述运动补偿装置、利用此运动补偿装置的画面间预测编码装置或画面间预测解码装置,构筑在计算机系统中的情况下,通过软盘驱动器,将程序从软盘中读出,并传送到计算机系统。
而且,在上述说明中,利用作为记录介质的软盘进行了说明,同样,也可以利用光盘。并且,记录介质不仅限于此,如IC卡、盒式ROM等,只要能够记录程序就可以同样地执行。
而且,在此,对上述各实施方式所示出的运动补偿装置,利用此与运动补偿装置的画面间预测编码装置或画面间预测解码装置的应用实例,以及利用此应用实例的系统进行说明。
图18是示出实现内容分发服务的内容供给系统ex100的全体构成的方框图。将通信服务的提供区域分割为所希望的大小,在各单元内分别设置有作为固定无线局的基站ex107~ex110。
此内容供给系统ex100接续有各种机器,例如,因特网ex101上的网络服务商ex102和电话网104,以及通过基站ex107~110,与计算机ex111、PDA(个人数字助理:personal digital assistant)ex112、照相机ex113、移动电话ex114、带照相机的移动电话ex115等连接。
然而,内容供给系统ex100并非局限于图18所示的组合,可以任意组合接续。并且,可以不通过作为固定无线局的基站ex107~ex110,各机器直接与电话网ex104相连接。
照相机ex113是数字摄像机等能够进行动态摄影的机器。并且,移动电话无论是以下哪一种均可,即:PDC(Personal DigitalCommunications即:个人数字通信)方式,CDMA(Code DivisionMultiple Access即:码分多访问路)方式,W-CDMA(Wideband-CodeDivision Multiple Access即:宽带码分多路访问)方式,或GSM(Global System for Mobile Communications即:全球移动通信系统)方式的移动电话,或是PHS(Personal Handyphone System即:个人手持电话系统)等。
并且,流服务器ex103通过基站ex109、电话网ex104与照相机ex113相连接,利用照相机ex113可以根据编码处理后的数据进行实况传输等,上述编码处理后的数据是由用户所发送的。摄影后的数据的编码处理可以以照相机ex113来执行,也可以以进行数据发送处理的服务器等来执行。并且,在照相机ex116所拍摄的动态数据,也可以通过计算机ex111发送给流服务器ex103。照相机ex116是可以拍摄静止画面、动态画面的数字照相机等机器。此时,动态数据编码可以在照相机ex116上进行,也可以在计算机ex111上进行,不论在哪一方进行均可。并且,编码处理可以在LSIex117上进行,此LSIex117具有计算机ex111或照相机ex116。并且,也可以与存储媒体之类(CD-ROM、软盘、硬盘等)的记录介质相组合,此记录介质可以用计算机ex111等来读取画面间预测编码、解码所用的软件。而且,也可以用带照相机的移动电话ex115来发送动态数据。此时的动态数据是具有移动电话ex115的、以LSI进行编码处理的数据。
在此内容供给系统ex100,将用户以照相机ex113、照相机ex116等所拍摄的内容(例如,拍摄的音乐实况的影像等),与上述实施方式同样进行编码处理,并发送给流服务器ex103,另一方面,流服务器ex103对有请求的客户进行上述内容数据的流分发。作为客户,包括可以解码上述编码处理的数据的计算机ex111、PDAex112、照相机ex113、移动电话ex114等。通过这样的动作,内容供给系统ex100可以在客户接收编码后的数据并播放,而且客户可以以实时处理来接收并解码、播放,据此,也可以实现个人播放系统。
在构成此系统的各机器的编码、解码中,也可以利用在上述各实施方式所示出的画面间预测编码装置或画面间预测解码装置。
作为一例对移动电话进行说明。图19是示出使用了已在上述实时方式中说明的图像编码方法和图像解码方法的移动电话ex115的图。移动电话ex115包括以下部分:用于与基站ex110之间收发电波的天线ex201;CCD摄影机等能拍摄影像和静止画面的摄影机部ex203;显示用摄影机部ex203拍摄到的影像和已解码的、用天线ex201接收到的影像等的数据的液晶显示器等显示部ex202;由操作键ex204群构成的主体部;用于进行声音输出的扬声器等声音输出部ex208;用于进行声音输入的话筒等声音输入部ex205;记录媒体207,用于保存拍摄到的动态或静止画面数据、接收到的邮件数据、动态数据或静止画面数据等已编码的数据或已解码的数据;用于能在移动电话ex115中装如记录媒体ex207的卡槽ex206。记录媒体ex207是SD卡等在塑料容器内,电气地装入能改写和擦除的、作为不易失存储器即EEPROM(Electrically Erasable and Programmable Read Only Memory即:电可擦可编程只读存储器)的一种的快闪存储器元件的装置。
另外,利用图20对移动电话ex115进行说明。移动电话ex115对于主控制部ex311,通过同步总线ex313,与具有显示部ex202和操作键ex204的、对主体部的各部进行总控制的主控制部ex311,相互连接电源电路部ex310、操作输入控制部ex304、图像编码部ex312、照相机接口部ex303、LCD(Liquid Crystal Display即:液晶显示器)控制部ex302、图像解码部ex309、多路复用分离部ex308、记录播放部ex307、调制解调电路部ex306和声音处理部ex305。主控制部ex311对包括显示部ex202和操作键ex204的主体部的各部分进行总括地控制。
当由用户操作成结束通话和电源键为开通状态时、电源电路ex310就从电池组对各部分供给电力,从而启动带照相机的移动电话ex115为可工作的状态。
移动电话ex115基于由CPU、ROM和RAM等构成的主控制部ex311的控制,在声音通话模式时,用声音处理部ex305将由声音输入部ex205集音到的声音信号变换成数字式声音数据,将其用调制解调电路部ex306进行频谱扩散处理,并在由收发电路部ex301实施了数字模拟转换处理和频率变换处理之后,通过天线ex201发送。此外,移动电话ex115在声音通话模式时,放大由天线ex201接收到的接收数据,实施频率变换处理和模拟/数字转换处理,由调制解调电路ex306进行频谱逆扩散处理,由声音处理部ex305转换成模拟声音数据之后,将其通过声音输出部ex208输出。
另外,在数据通信模式时发送电子邮件的情况下,由主体部的操作键ex204的操作输入的电子邮件的文本数据,通过操作输入控制部ex304发送到主控制部ex311。主控制部ex311用调制解调电路部ex306对文本数据进行频谱扩散处理,在由收发电路部ex301实施了数字模拟转换处理和频率变换处理之后,通过天线ex201,相基站ex110发送。
在数据通信模式时发送图像数据的情况下,通过照相机接口部ex303,向图像编码部ex312供给用照相机部ex203拍摄到的图像数据。此外,在不发送图像数据的情况下,也可以通过照相机接口部ex303和LCD控制部ex302,在显示部ex202上直接显示用照相机部ex203拍摄到的图像数据。
图像编码部ex312具有已在本发明中说明了的图像编码装置,通过由在上述实施方式中示出的图像编码装置中使用的编码方法,对从照相机部ex203供给的图像数据进行压缩编码,转换成编码图像数据,将其向多路复用分离部ex308发送。此外,与此同时,移动电话ex115将由照相机部ex203在摄像中由声音输入部ex205集音到的声音,作为数字声音数据,通过声音处理部ex305向多路复用分离部ex308发送。
多路复用分离部ex308用规定的方式,对从图像编码部312供给的编码图像数据和从声音处理部ex305供给的声音数据进行多重化,由调制解调电路部ex306对其结果得到的多重化数据进行频谱扩散处理,在由收发电路部ex301实施了数字/模拟转换处理和频率变化处理之后,通过天线ex201发送。
在数据通信模式时接收链接到首页等的动态图像文件数据的情况下,由调制解调电路部ex306,对通过天线ex201从基站ex110接收到的接收数据进行频谱扩散处理,将其结果得到的多重化数据向多路复用分离部ex308发送。
此外,在解码通过天线ex201接收到的多重化数据时,多路复用分离部ex308通过分离多重化数据,来分成图像数据的位流和声音数据的位流,通过同步总线ex313向图像解码部ex309供给该编码图像,并向声音处理部ex305供给该声音数据。
而后,图像解码部ex309具有已在本发明中说明了的图像解码装置,用对应于上述实施方式中示出的编码方法的解码方法,对图像数据的位流进行解码,生成播放动态图像数据,将其通过LCD控制部ex302向显示部ex202供给,这样,显示例如链接到首页的动态图像文件中包含的动态数据。与此同时,声音处理部ex305在将声音数据转换成模拟声音数据之后,向声音输出部ex208供给,这样,播放例如链接在首页中的动态图像文件中包含的声音数据。
并且,不仅限于上述系统的例子,最近,利用卫星和地面波进行数字广播成为热门话题,如图21所示,也可以在数字广播用系统中装入至少一种上述实施方式的图像编码装置或图像解码装置。具体而言,在广播电台ex409中,通过电波向通信或广播卫星ex410传输影像信息的位流。接收到此广播卫星ex410,发送广播用电波,由具有卫星广播接收设备的家庭的天线ex406接收该电波,由电视机(接收机)ex401或机顶盒设备(STB)ex407等装置解码位流并播放。此外,也可以读取记录在作为记录媒体的CD和DVD等存储媒体ex402上的位流,在进行解码的播放装置ex403上安装上述实施方式中示出的图像解码装置。在此情况下,在监视器ex404上显示播放的影像信号。此外,也可以考虑在与有线电视用的电缆ex405或卫星/地面波广播的天线ex406连接的机顶盒设备ex407内安装图像解码装置,由电视机的监视器ex408进行播放的结构。此时,不仅机顶盒设备,而且也可以在电视机内装入图像解码装置。此外,也可以用具有天线ex411的车ex412从卫星ex410或基站ex107等接收信号,在车ex412所具有的汽车导航系统ex413等显示装置中播放动画。
另外,也可以用上述实施方式中示出的图像编码装置对图像信号进行编码,并记录在记录介质中。作为具体例,有在DVD盘ex421中记录图像信号的DVD录放盘和在硬盘中记录的盘式记录器等记录器ex420。另外,也可以记录在SD卡ex422中。若记录器ex420具有上述实施方式中示出的图像解码装置,则能播放记录在DVD盘ex421和SD卡ex422中的图像信号,可用监视器ex408显示。
并且,汽车导航系统ex413的结构可以是例如在图16中示出的结构中,除去照相机部203和照相机接口部ex303,图像编码部ex312的结构,同样,也可以考虑计算机ex111和电视机(接收机)ex401等。
此外,上述移动电路ex114等终端可以是除具有编码器和解码器的双方的收发型的终端之外,还可以是仅有编码器的发送终端或仅有解码器的接收终端的三种安装形式。
这样,能在上述的某一个设备和系统中使用上述实施方式中示出的图像编码方法或图像解码方法,由此,能得到上述实施方式中说明的效果。
此外,本发明不仅限于上述实施方式,可以在不脱离本发明的范围内进行各种各样的变形或修正。
并且,图5、图6以及图15所示出的方框图的各机能块由典型的集成电路LSI来实现。此LSI可以被1片化,也可以被二片或更多片化。(例如存储器以外的机能块可以被1片化。)在此,虽称为LSI,也可以因集成度的不同而被称为IC、系统LSI、超级LSI、极超级LSI。
并且,集成电路化的方法不仅限于LSI,也可以在专用电路或普遍使用的处理器中实现。LSI制造后,也可以利用能够再构成能进行编程的FPGA(Field Programmable Gate Array即:现场可编程门阵列),或LSI内部的电路单元的接续或设定的可重装处理器。
而且,根据半导体技术的进步以及派生出的其它的技术,若在LSI上改写集成电路化的技术出现,当然也可以利用此技术对机能块进行集成化。也有可能适应于生物技术等。
并且,也可以是在各机能块中不对存储数据的单元进行1片化,而采用其它的构成,例如是像多帧存储器402编码时或解码时的参照对象。此时,在对滤波处理对象数据进行滤波处理前,可以将一时保存的缓冲存储器设置在多帧存储器402和延时电路201之间。
产业上利用的可能性
如上所述,在本发明所涉及的运动补偿装置、画面间预测编码装置以及画面间预测解码装置,可以适用于高效率地生成运动补偿像素,对构成动态图像的各画面进行编码并生成符号列,对所生成的符号列进行解码等,在此本发明所涉及的运动补偿装置、画面间预测编码装置以及画面间预测解码装置例如是:内容分发装置或数字播放装置、移动电话、DVD装置以及个人电脑等。
Claims (22)
1.一种运动补偿装置,在构成动态图像的画面间进行小数像素精度的运动补偿预测,其特征在于,包括:
多抽头滤波单元,对被传送来的块单位的参照像素数据,进行规定方向上的连续的滤波演算,并生成1/2小数精度像素数据,该1/2小数精度像素数据用于进行运动补偿预测;以及
中间输出像素存储单元,用于存储1/2小数精度像素数据,该1/2小数精度像素数据是由上述多抽头滤波单元所生成的;
上述多抽头滤波单元对由上述中间输出像素存储单元所输入的1/2小数精度像素数据,进行连续的滤波演算,并生成1/2小数精度像素数据,该连续的滤波演算是在垂直于上述规定方向的方向上进行的。
2.根据权利要求1所述的运动补偿装置,其特征在于,
上述多抽头滤波单元包括:
第一多抽头滤波部,对上述参照像素数据进行规定方向上的连续的滤波演算,并生成1/2小数精度像素数据,该滤波演算的次数与处理对象块的行数或列数相同;以及
第二多抽头滤波部,对上述参照像素数据、或对由上述中间输出像素存储单元所输出的1/2小数精度像素数据,进行某一方向上的连续的滤波演算,并生成1/2小数精度像素数据,该滤波演算的次数与处理对象块的行数或列数相同,且,上述某一方向是垂直于上述第一多抽头滤波部的演算处理方向的方向。
3.根据权利要求2所述的运动补偿装置,其特征在于,
上述运动补偿装置还包括:
第二像素选择单元,根据运动补偿像素位置,选择以下数据中的某一个,这些数据是指:上述参照像素数据、由上述中间输出像素存储单元所输入的1/2小数精度像素数据、由上述第一多抽头滤波部所输入的1/2小数精度像素数据、以及由上述第二多抽头滤波部所输入的1/2小数精度像素数据;以及
线性插值演算单元,根据运动补偿像素位置,对在上述第二像素选择单元所选择的像素数据,进行线性插值,生成低于1/2小数精度像素的运动补偿精度的像素数据,并输出。
4.根据权利要求2所述的运动补偿装置,其特征在于,
上述运动补偿装置还包括:
数据传送控制单元,控制上述参照像素数据的传送;以及
第一像素选择单元,根据上述数据传送控制单元的控制,选择上述参照像素数据和1/2小数精度像素数据的某一个,并将选择的数据输出到上述多抽头滤波单元,上述1/2小数精度像素数据是由上述中间数据像素存储单元所输入的。
5.根据权利要求4所述的运动补偿装置,其特征在于,
上述数据传送控制单元,对处理对象块的水平方向像素数和垂直方向像素数进行比较,将值小的排列方向上的、上述处理对象块的参照像素数据,依次传送到上述多抽头滤波单元。
6.根据权利要求5所述的运动补偿装置,其特征在于,
上述处理对象块包括水平方向像素M×垂直方向像素N(M、N是正整数);
上述数据传送控制单元对水平方向的像素数M和垂直方向的像素数N进行比较;
在N小于M的情况下,将垂直方向上的上述处理对象块的参照像素数据,传送到上述第一多抽头滤波部,然后,再将水平方向上的上述处理对象块的参照像素数据,传送到上述第一多抽头滤波部;
另一方面,在M小于N的情况下,将水平方向上的上述处理对象块的参照像素数据,传送到上述第一多抽头滤波部,然后,再将垂直方向上的上述处理对象块的参照像素数据,传送到上述第一多抽头滤波部。
7.根据权利要求6所述的运动补偿装置,其特征在于,
上述第一多抽头滤波部在进行T抽头数的滤波演算的同时,
在N小于M的情况下,对被传送来的上述参照像素数据进行(M+T-1)次滤波演算,该滤波演算是对在垂直方向上的N个像素所进行的连续的滤波演算,在生成(M+T-1)×N个像素的1/2小数精度像素数据之后,对被传送来的上述参照像素数据进行滤波演算,该滤波演算是在水平方向上的连续的滤波演算,从而生成1/2小数精度像素数据;
另一方面,在M小于N的情况下,对被传送来的上述参照像素数据进行(N+T-1)次滤波演算,该滤波演算是对在水平方向上的M个像素所进行的连续的滤波演算,在生成(N+T-1)×M个像素的1/2小数精度像素数据之后,对被传送来的上述参照像素数据进行滤波演算,该滤波演算是在垂直方向上的连续的滤波演算,从而生成1/2小数精度像素数据。
8.根据权利要求7所述运动补偿装置,其特征在于,
上述中间输入像素存储单元至少含有(M+T-1)×N和M×(N+T-1)中容量少的一方的容量。
9.根据权利要求4所述的运动补偿装置,其特征在于,
上述数据传送控制单元将处理对象块分割为规定数量的子块,并以上述子块为单位,将上述处理对象块的参照像素数据,传送到上述多抽头滤波单元。
10.根据权利要求9所述的运动补偿装置,其特征在于,
上述处理对象块包括水平方向M×垂直方向N(M、N是正整数)像素;
上述数据传送控制单元将M像素均等分割为m个、将N像素均等分割为n个,并在分割为m×n个(m、n为正整数,且M/m、N/n为整数)的子块单位后,对M/m和N/n进行比较;
在N/n小于M/m的情况下,将垂直方向上的上述处理对象块的参照像素数据,以子块为单位传送到上述第一多抽头滤波部,然后,再将水平方向上的上述处理对象块的参照像素数据,以子块为单位传送到上述第一多抽头滤波部;
另一方面,在M/m小于N/n的情况下,将水平方向上的上述处理对象块的参照像素数据,以子块为单位传送到上述第一多抽头滤波部,然后,再将垂直方向上的上述处理对象块的参照像素数据,以子块为单位传送到上述第一多抽头滤波部。
11.根据权利要求10所述的运动补偿装置,其特征在于,
上述第一多抽头滤波部在进行T抽头数的滤波演算的同时,
在N/n小于M/m的情况下,对被传送来的上述参照像素数据进行(M/m+T-1)次滤波演算,该滤波演算是对在垂直方向上的N/n个像素所进行的连续的滤波演算,在生成(M/m+T-1)×N/n个像素的1/2小数精度像素数据之后,对被传送来的上述参照像素数据进行滤波演算,该滤波演算是在水平方向上的连续的滤波演算,从而生成1/2小数精度像素数据;
另一方面,在M/m小于N/n的情况下,对被传送来的上述参照像素数据进行(N/n+T-1)次滤波演算,该滤波演算是对在水平方向上的M/m个像素所进行的连续的滤波演算,在生成(N/n+T-1)×M/m个像素的1/2小数精度像素数据之后,对被传送来的上述参照像素数据进行滤波演算,该滤波演算是在垂直方向上的连续的滤波演算,从而生成1/2小数精度像素数据;
在各个子块中以时间为单位,进行滤波处理。
12.根据权利要求11所述的运动补偿装置,其特征在于,
上述中间输入像素存储单元至少含有(M/m+T-1)×N/n和M/m×(N/n+T-1)中容量少的一方的容量。
13.根据权利要求4所述的运动补偿装置,其特征在于,
上述运动补偿装置还包括:
必要像素判断单元,根据运动补偿像素位置,判断必要的像素区域,该像素区域是在上述多抽头滤波单元的处理中所必要的像素区域;
上述数据传送控制单元仅将必要的像素区域中的参照像素数据,传送到上述多抽头滤波单元,该必要的像素区域是在上述必要像素判断单元所判断的。
14.根据权利要求13所述的运动补偿装置,其特征在于,
上述必要像素判断单元进行以下判断:
在运动补偿像素位置是仅在水平方向上应该进行插值的像素位置的情况下,判断水平方向的运动补偿位置所必要的数据,该水平方向运动补偿位置所必要的数据是为了进行水平方向的滤波所必要的;
在运动补偿像素位置是仅在垂直方向上应该进行插值的像素位置的情况下,判断垂直方向的运动补偿位置所必要的数据,该垂直方向的运动补偿位置所必要的数据是为了进行垂直方向的滤波所必要的;
在运动补偿像素位置是整数像素精度的像素位置的情况下,判断处理对象块的像素为必要数据。
15.根据权利要求2所述的运动补偿装置,其特征在于,
上述第一多抽头滤波部和上述第二多抽头滤波部的构成中利用了共通的演算资源,对应于具有上述1/2小数精度像素数据的比特精度。
16.根据权利要求2所述的运动补偿装置,其特征在于,
上述第一多抽头滤波部进行一个或一个以上的同时并列滤波处理;
上述第二多抽头滤波部进行一个或一个以上的同时并列滤波处理;
被输入到该运动补偿装置的数据的总线宽大于或等于以下像素数之和,这些像素数是指:在上述第一多抽头滤波部的同时并列处理像素数,以及在上述第二多抽头滤波部的同时并列处理像素数。
17.根据权利要求2所述的运动补偿装置,其特征在于,
上述第二多抽头滤波部对应于具有上述1/2小数精度像素数据的比特精度。
18.根据权利要求2所述的运动补偿装置,其特征在于,
上述中间输出像素存储单元存储1/2小数精度像素数据和上述参照像素数据,并在进行上述存储的同时进行数据的读出和写入的处理,上述1/2小数精度像素数据是由上述第一多抽头滤波部所生成的;
上述第二多抽头滤波部对由上述中间输出像素存储单元所输入的上述参照像素数据,以及上述1/2小数精度像素数据,进行滤波演算;
上述第一多抽头滤波部和上述第二多抽头滤波部的动作是以管线方式进行。
19.一种画面间预测编码装置,进行小数像素精度运动补偿预测,并编码动态图像,其特征在于,包括:
权利要求1~18中的任一项所述的运动补偿装置;以及
编码单元,根据上述运动补偿装置进行了运动补偿预测后的像素数据,编码动态图像的像素数据。
20.一种画面间预测解码装置,进行小数像素精度的运动补偿预测,并解码动态图像,其特征在于,包括:
权利要求1~18中任一项所述的运动补偿装置;以及
解码单元,根据由上述运动补偿装置进行了运动补偿预测后的像素数据,解码动态图像的像素数据。
21.一种运动补偿方法,在构成动态图像的画面间进行小数像素精度的运动补偿预测,其特征在于,包括:
多抽头滤波步骤,对被传送来的块单位的参照像素数据,进行规定方向上的连续的滤波演算,并生成1/2小数精度像素数据,该1/2小数精度像素数据用于进行运动补偿预测;以及
中间输出像素存储步骤,用于存储1/2小数精度像素数据,该1/2小数精度像素数据是由上述多抽头滤波单元所生成的;
在上述多抽头滤波步骤对由上述中间输出像素存储单元所输入的1/2小数精度像素数据,进行连续的滤波演算,并生成1/2小数精度像素数据,该连续的滤波演算是在垂直于上述规定方向的方向上进行的。
22.一种集成电路,在构成动态图像的画面间进行小数像素精度的运动补偿预测,其特征在于,包括:
多抽头滤波单元,对被传送来的块单位的参照像素数据,进行规定方向上的连续的滤波演算,并生成1/2小数精度像素数据,该1/2小数精度像素数据用于进行运动补偿预测;以及
中间输出像素存储单元,用于存储1/2小数精度像素数据,该1/2小数精度像素数据是由上述多抽头滤波单元所生成的;
上述多抽头滤波单元对由上述中间输出像素存储单元所输入的1/2小数精度像素数据,进行连续的滤波演算,并生成1/2小数精度像素数据,该连续的滤波演算是在垂直于上述规定方向的方向上进行的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP125951/2004 | 2004-04-21 | ||
JP2004125951 | 2004-04-21 | ||
PCT/JP2005/005264 WO2005104564A1 (ja) | 2004-04-21 | 2005-03-23 | 動き補償装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101064197A Division CN101848385B (zh) | 2004-04-21 | 2005-03-23 | 运动补偿装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1926882A true CN1926882A (zh) | 2007-03-07 |
CN1926882B CN1926882B (zh) | 2010-10-06 |
Family
ID=35197371
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101064197A Expired - Fee Related CN101848385B (zh) | 2004-04-21 | 2005-03-23 | 运动补偿装置 |
CN2005800064360A Expired - Fee Related CN1926882B (zh) | 2004-04-21 | 2005-03-23 | 运动补偿装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101064197A Expired - Fee Related CN101848385B (zh) | 2004-04-21 | 2005-03-23 | 运动补偿装置 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8284835B2 (zh) |
JP (2) | JP4709143B2 (zh) |
CN (2) | CN101848385B (zh) |
WO (1) | WO2005104564A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103119940A (zh) * | 2010-09-30 | 2013-05-22 | 日本电信电话株式会社 | 视频编码方法、视频解码方法、视频编码装置、视频解码装置以及它们的程序 |
CN104967851A (zh) * | 2011-06-24 | 2015-10-07 | 株式会社Ntt都科摩 | 用于运动补偿预测的方法和设备 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060285597A1 (en) * | 2005-06-20 | 2006-12-21 | Flextronics International Usa, Inc. | Reusing interpolated values in advanced video encoders |
JP5053275B2 (ja) * | 2005-07-28 | 2012-10-17 | トムソン ライセンシング | 階層的キャッシュを使うビデオ動き処理最適化のための方法および装置 |
US8265157B2 (en) * | 2007-02-07 | 2012-09-11 | Lsi Corporation | Motion vector refinement for MPEG-2 to H.264 video transcoding |
US9967590B2 (en) | 2008-04-10 | 2018-05-08 | Qualcomm Incorporated | Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter |
US8971412B2 (en) * | 2008-04-10 | 2015-03-03 | Qualcomm Incorporated | Advanced interpolation techniques for motion compensation in video coding |
US8804831B2 (en) | 2008-04-10 | 2014-08-12 | Qualcomm Incorporated | Offsets at sub-pixel resolution |
US20090257499A1 (en) * | 2008-04-10 | 2009-10-15 | Qualcomm Incorporated | Advanced interpolation techniques for motion compensation in video coding |
US8705622B2 (en) * | 2008-04-10 | 2014-04-22 | Qualcomm Incorporated | Interpolation filter support for sub-pixel resolution in video coding |
US9077971B2 (en) * | 2008-04-10 | 2015-07-07 | Qualcomm Incorporated | Interpolation-like filtering of integer-pixel positions in video coding |
CN101345872B (zh) * | 2008-05-23 | 2010-06-09 | 清华大学 | 视频编解码中实现双线性插值的方法 |
US9419620B2 (en) | 2008-07-22 | 2016-08-16 | Nytell Software LLC | Field programmable object array and video compression processor for video data compression |
US8995526B2 (en) * | 2009-07-09 | 2015-03-31 | Qualcomm Incorporated | Different weights for uni-directional prediction and bi-directional prediction in video coding |
US8711930B2 (en) * | 2009-07-09 | 2014-04-29 | Qualcomm Incorporated | Non-zero rounding and prediction mode selection techniques in video encoding |
US9161057B2 (en) * | 2009-07-09 | 2015-10-13 | Qualcomm Incorporated | Non-zero rounding and prediction mode selection techniques in video encoding |
JP5353560B2 (ja) * | 2009-08-25 | 2013-11-27 | 富士通株式会社 | 画像処理回路および画像符号化装置 |
US20110200108A1 (en) * | 2010-02-18 | 2011-08-18 | Qualcomm Incorporated | Chrominance high precision motion filtering for motion interpolation |
EP4099700A1 (en) | 2011-01-07 | 2022-12-07 | Nokia Technologies Oy | Motion prediction in video coding |
US9083441B2 (en) | 2011-10-26 | 2015-07-14 | Qualcomm Incorporated | Impedance balancing for transmitter to receiver rejection |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2950682B2 (ja) * | 1992-08-04 | 1999-09-20 | シャープ株式会社 | 逆離散余弦変換演算装置 |
JPH06133297A (ja) | 1992-10-14 | 1994-05-13 | G C Technol Kk | 解像度変換された画像の動き補償方法と装置 |
DE69422871T2 (de) * | 1993-09-17 | 2000-08-17 | Eastman Kodak Co., Rochester | Digitaler integrierter Abtastratenumwandlungsschaltkreis und Anwendung bei einer schnellen Grössenänderung eines Bildes |
US5963675A (en) * | 1996-04-17 | 1999-10-05 | Sarnoff Corporation | Pipelined pyramid processor for image processing systems |
JP2000069406A (ja) * | 1998-08-19 | 2000-03-03 | Canon Inc | 画像処理装置 |
US6950469B2 (en) | 2001-09-17 | 2005-09-27 | Nokia Corporation | Method for sub-pixel value interpolation |
EP1432249A4 (en) * | 2001-09-18 | 2007-12-05 | Matsushita Electric Ind Co Ltd | Image Coding Methods and Image Decoding Methods |
JP3898031B2 (ja) * | 2001-11-09 | 2007-03-28 | 日本電信電話株式会社 | 画像符号化方法及び装置、画像復号方法及び装置、プログラム及び記録媒体 |
JP4120301B2 (ja) * | 2002-04-25 | 2008-07-16 | ソニー株式会社 | 画像処理装置およびその方法 |
KR100472476B1 (ko) | 2002-08-31 | 2005-03-10 | 삼성전자주식회사 | 움직임 보상을 위한 보간 방법 및 그 장치 |
US7653132B2 (en) * | 2004-12-21 | 2010-01-26 | Stmicroelectronics, Inc. | Method and system for fast implementation of subpixel interpolation |
-
2005
- 2005-03-23 US US11/547,143 patent/US8284835B2/en not_active Expired - Fee Related
- 2005-03-23 CN CN2010101064197A patent/CN101848385B/zh not_active Expired - Fee Related
- 2005-03-23 JP JP2006519440A patent/JP4709143B2/ja not_active Expired - Fee Related
- 2005-03-23 WO PCT/JP2005/005264 patent/WO2005104564A1/ja active Application Filing
- 2005-03-23 CN CN2005800064360A patent/CN1926882B/zh not_active Expired - Fee Related
-
2011
- 2011-01-27 JP JP2011015687A patent/JP5248636B2/ja not_active Expired - Fee Related
-
2012
- 2012-07-18 US US13/551,905 patent/US8767833B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103119940A (zh) * | 2010-09-30 | 2013-05-22 | 日本电信电话株式会社 | 视频编码方法、视频解码方法、视频编码装置、视频解码装置以及它们的程序 |
CN103119940B (zh) * | 2010-09-30 | 2016-06-29 | 日本电信电话株式会社 | 视频编码方法、视频解码方法、视频编码装置以及视频解码装置 |
CN104967851A (zh) * | 2011-06-24 | 2015-10-07 | 株式会社Ntt都科摩 | 用于运动补偿预测的方法和设备 |
CN104967851B (zh) * | 2011-06-24 | 2018-06-29 | 株式会社Ntt都科摩 | 用于运动补偿预测的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2005104564A1 (ja) | 2008-03-13 |
JP4709143B2 (ja) | 2011-06-22 |
US20070223581A1 (en) | 2007-09-27 |
WO2005104564A1 (ja) | 2005-11-03 |
JP2011101424A (ja) | 2011-05-19 |
CN101848385A (zh) | 2010-09-29 |
CN101848385B (zh) | 2012-10-10 |
CN1926882B (zh) | 2010-10-06 |
JP5248636B2 (ja) | 2013-07-31 |
US8284835B2 (en) | 2012-10-09 |
US20120281765A1 (en) | 2012-11-08 |
US8767833B2 (en) | 2014-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1926882A (zh) | 运动补偿装置 | |
CN1293762C (zh) | 图象编码方法及图象解码方法 | |
CN1295934C (zh) | 移动向量编码方法和移动向量解码方法 | |
CN1254113C (zh) | 图像编码装置、图像编码方法、图像解码装置、图像解码方法和通信装置 | |
CN1290341C (zh) | 运动矢量的计算方法、动态图像的编码、解码方法及装置 | |
CN1671209A (zh) | 运动图像编码装置 | |
CN1640148A (zh) | 动态图像编码方法及动态图像解码方法 | |
CN1612614A (zh) | 帧内预测编码方法 | |
CN1278562C (zh) | 编码失真消除方法、视频编码方法、视频解码方法、装置及其程序 | |
CN1557097A (zh) | 图像编码方法及图像解码方法 | |
CN1685732A (zh) | 动态图像编码方法和动态图像解码方法 | |
CN1516974A (zh) | 图像编码方法和图像解码方法 | |
CN101035289A (zh) | 可变长度解码方法及装置 | |
CN1968413A (zh) | 图像解码方法 | |
CN1830214A (zh) | 编码模式决定装置、图像编码装置、编码模式决定方法和编码模式决定程序 | |
CN1976457A (zh) | 图像编码方法及图像编码装置 | |
CN1922885A (zh) | 图象解码装置和图象编码装置 | |
CN1751512A (zh) | 运动图像编码方法、运动图像解码方法及程序 | |
CN1522544A (zh) | 可变长度编码方法及可变长度解码方法 | |
CN1685733A (zh) | 动态画像的编码方法及解码方法 | |
CN1620144A (zh) | 图像信号处理方法、处理装置、处理程序及集成电路装置 | |
CN1509575A (zh) | 图像编码方法及图像译码方法 | |
CN1691783A (zh) | 运动图像编码和解码方法,装置,程序及程序产品 | |
CN1767656A (zh) | 编码失真消除方法、视频编码方法、视频解码方法、装置及其程序 | |
CN1976467A (zh) | 移动向量解码方法和移动向量解码装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101006 Termination date: 20190323 |
|
CF01 | Termination of patent right due to non-payment of annual fee |