CN1960496B - 运动矢量检测装置 - Google Patents

运动矢量检测装置 Download PDF

Info

Publication number
CN1960496B
CN1960496B CN2006101380215A CN200610138021A CN1960496B CN 1960496 B CN1960496 B CN 1960496B CN 2006101380215 A CN2006101380215 A CN 2006101380215A CN 200610138021 A CN200610138021 A CN 200610138021A CN 1960496 B CN1960496 B CN 1960496B
Authority
CN
China
Prior art keywords
picture
motion vector
piece
hunting zone
object piece
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.)
Expired - Fee Related
Application number
CN2006101380215A
Other languages
English (en)
Other versions
CN1960496A (zh
Inventor
西乡贺津雄
重里达郎
大古濑秀之
有村耕治
荒川博
田坂启
丸山悠树
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1960496A publication Critical patent/CN1960496A/zh
Application granted granted Critical
Publication of CN1960496B publication Critical patent/CN1960496B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供运动矢量检测装置,该装置包括:运动矢量检测器,其通过从参考图片(P1)中搜索有着与包含在图片(B2)中的对象块(BL0)近似图像的块,来检测对象块(BL0)的运动矢量(MVOF);预测运算器和搜索范围控制器,用于根据运动矢量(MVOF)特定参考图片(P1)的搜索范围。其中,运动矢量检测器通过从其搜索范围搜索有着与包含在图片(B3)中的对象块(BL1)近似图像的块,来检测对象块(BL1)的运动矢量(MV1F)。本发明降低了用于检测运动矢量的运算量,从而可以缩小电路规模。

Description

运动矢量检测装置
技术领域
本发明涉及用于由复数张图片构成运动图像的图片间预测编码的运动矢量检测装置,特别涉及检测作为图片的一部分的块从其他图片的哪个位置移动过来,并将其移动用运动矢量来表现的运动矢量检测装置。
背景技术
运动图像编码中,一般是利用运动图像所具有的空间方向及时间方向的冗余性进行信息量的压缩。其中,作为利用时间方向的冗余性的方法可以使用图片(picture)间预测编码。图片间预测编码中,对某一图片进行编码时,将在表示顺序上位于前方或后方的图片作为参考图片。并通过检测来自于该参考图片的运动矢量,对进行过运动补偿的图片和编码对象图片之间的差值去除空间方向的冗余度,进行信息量的压缩。
在MPEG等运动图像编码方式中,将不利用参考图片而只用编码对象图片进行图片内预测编码的图片称为I图片。这里的图片是包含帧(frame)及场(field)两者的一个编码单位。并且,将参考已编码完的1张图片进行图片间预测编码的图片称为P图片,将同时参考已编码完的2张图片进行图片间预测编码的图片称为B图片。
图1所示为运动图像编码方式中各图片的预测关系模式图。
在图1中,纵线表示1张图片,各图片的右下方表示着图片类型(I、P、B)。并且图1中的箭头表示将箭头终端的图片作为参考图片对箭头始端的图片进行图片间预测编码。例如,从开头数第二张的B图片是通过利用开头的I图片和从开头数第四张的P图片作为参考图片而被编码的。
图2是图片表示顺序及编码顺序的示意图。
一方面,如图2(a)所示,各图片的表示顺序为:P图片P1、B图片B2、B图片B3、P图片P4、B图片B5、B图片B6、P图片P7、B图片B8、B图片B9和P图片P10。另一方面,这些图片的编码顺序如图2(b)所示,为:B图片B0、P图片P4、B图片B2、B图片B3、P图片P7、B图片B5、B图片B6、P图片P10、B图片B8、B图片B9。
另外,相对于以往的如MPEG-2的运动图像编码方式,最新运动图像编码方式H.264中B图片也可以参考3张以上的图片。
图3是H.264中的参考关系示意图。
如图3所示,B图片举例来说参考前方的2张P图片和后方的1张P图片。而后检测B图片的运动矢量。这样在H.264中,对于相同的1张B图片,为检测运动矢量而有可能参考的参考图片的个数比MPEG2多(例如,参考非专利文献1:Draft of Version 4 of H.264/AVC(ITU-TRecommendation H.264and ISO/IEC 14496-10(MPEG-4 part10)Advanced Video Coding),JointVideo Team(JVT)of ISO/IEC MPEG & ITU-T VCEG、Docment:JVT-N050d1、2005-01-28)。
但是图片间预测编码中的运动矢量检测是以块为单位进行的。针对包含在编码对象图片中的每个块,从参考图片中搜索具有与该块图像最接近的图像的块。并且,在运动矢量的检测中,通常考虑到运算量的负荷和运动矢量的精度,预先设置运动矢量检测的搜索范围。此时,需要假设随着时间的推移对象也一起移动的情况,并与编码对象的图片和参考图片之间的距离成比例地预先扩大运动矢量搜索范围。
图4是运动矢量检测中的搜索范围示意图。
例如,编码对象图片和参考图片之间的距离(图片间距离)为1时,运动矢量搜索范围为±S×±S时,如果其图片间距离为d,则运动矢量搜索范围为(d×±S)×(d×±S)。这样搜索范围会扩大成d×d倍。即图片间距离变长时,搜索范围会与其距离变化比例的平方成比例地扩大。
如图4所示,利用第n个参考图片、第(n+1)个参考图片或第(n+2)个参考图片检测第(n+3)个编码对象图片所包含的块的运动矢量MV1、MV2、MV3时,第(n+1)个参考图片的搜索范围是第(n+2)个参考图片搜索范围的2×2倍,第n个参考图片的搜索范围是第(n+2)个参考图片搜索范围的3×3倍。
这样,图片间距离增大,则运动矢量的搜索范围会急剧扩大,运动矢量检测的运算次数也变得庞大。因此,为减少运算次数,提出了采用望远镜搜索(telescopic search)检测运动矢量的运动矢量检测装置(例如,参考日本专利文献1:专利第2830183号公报,日本专利文献2:专利第3335137号公报以及日本专利文献3:特开平10-341440号公报)。
望远镜搜索是对参考图片和编码对象图片之间存在的图片依次进行运动估计(motion estimation),从而检测运动矢量的方法。在这种方法中,即使图片间距离变长,搜索范围并不是与该距离变化比例的平方成比例地扩大,而是与该距离变化比例成比例地扩大。
图5是望远镜搜索的示意图。
例如,利用第n个参考图片检测第(n+3)个编码对象图片所包含的块(对象块)的运动矢量。此时,在望远镜搜索中,首先利用以与第(n+2)张图片的对象块相同的位置为中心的搜索范围(±S×±S),从第(n+3)张图片检测针对第(n+2)张图片的运动矢量v1。接着,利用在第(n+1)张图片中的、以与运动矢量v1表示的位置相同的位置为中心的搜索范围(±S×±S),从第(n+3)张图片检测针对第(n+1)张图片的运动矢量v2+v1。同样,利用在第n张图片中的、以与运动矢量v2+v1表示的位置相同的位置为中心的搜索范围(±S×±S),从第(n+3)张图片检测针对第n张图片的运动矢量v3+v2+v1。将该运动矢量作为对象块的运动矢量v 0。即整个搜索范围为3×(±S×±S)。
但是,即使是进行望远镜搜索的专利文献1~3的运动矢量检测装置,也存在检测运动矢量时运算量多的问题。
也就是说,在望远镜搜索中,对参考图片和编码对象图片之间存在的图片依次进行运动估计,从而各图片的搜索范围是一定的,与各自的图片间距离无关。但是,在望远镜搜索中,因为对参考图片和编码对象图片之间存在的图片也依次进行动态搜索,所以还得参考与参考图片无关的中途的图像,其参考次数与图片间距离成比例。因此,整个搜索范围与图片间距离成比例地变大,其结果是检测运动矢量时的运算量增多。
而且,在进行望远镜搜索的运动矢量检测装置中,存在电路规模增大的问题。即该运动检测装置中,为检测运动矢量而从存储着参考图片的存储器读出的搜索范围的数据量多。其结果,该运动矢量检测装置中为了实现存储器传输工作时钟脉冲(clock)的高速化、扩大存储器带宽(比特宽度),增大电路规模。
图6是1张参考图片中搜索范围的变化示意图。
一般情况下,针对对象块(一般是宏块,例如由16像素×16线(line)构成的块)的参考图片RP1的搜索范围TA1是在参考图片RP1中以与对象块同一位置的块TB1为中心的范围。其中,参考图片RP1由水平H像素以及垂直v线构成;搜索范围TA1由水平h像素以及垂直v线构成。因此,在检测对象块的运动矢量时,是从存储器读出水平h像素以及垂直v线的数据。
其次,如果对象块向水平方向移动(shift),针对其对象块的参考图片RP1的搜索范围TA2为在参考图片RP1中以与对象块在同一位置的块TB2为中心的范围。因此,如果对象块向水平方向上移动,则搜索范围也只移动块的宽度w。此时,检测对象块的运动矢量时从存储器读出的数据,只为搜索范围TA2的数据中没有被搜索范围TA1包含的数据。即,重新从存储器读出的数据为16像素以及垂直v线的数据。
这样,如果对象块向水平方向移动,则并不是包含在重新搜索范围的所有数据均从存储器中读出,只有之前没有被包含在搜索范围的数据才从存储器中读出。
这里,望远镜搜索时,每个相邻的图像均从存储器中读出如上所述搜索范围的数据。但是,此时各图片的搜索范围不只限定为只移动块的宽度,还可能会移动得较大。因此,即使从存储器读出搜索范围的数据进行运动矢量的检测,并将其数据进行存储用在下一个运动矢量的检测上,也几乎没有重复的数据,所以需要从存储器中读入重新搜索范围的大量数据。因此,望远镜搜索时是来自存储器的转发数据量会增多。并且,会导致功耗的上升。
发明内容
有鉴于此,本发明的主要目的在于提供一种运动矢量检测装置,能够减少运动矢量检测的运算量,从而可以缩小电路规模。
为了达到上述目的,本发明提供一种运动矢量检测装置,用于检测包含在图片中的对象块的运动矢量,其特征在于,该装置包括:第1运动检测单元,用于从参考图片中搜索有着与包含在第1图片中的对象块近似图像的块,从而检测包含在所述第1图片中的所述对象块的第1运动矢量;搜索范围特定单元,用于根据所述第1运动矢量,特定所述参考图片的搜索范围;第2运动检测单元,用于从所述搜索范围中搜索有着与包含在第2图片中的对象块近似图像的块,从而检测包含在所述第2图片中的所述对象块的第2运动矢量。例如,所述搜索范围特定单元包括:预测运算单元,用于根据所述第1及第2图片与所述参考图片间的表示时刻的时间差,按比例缩放(scaling)所述第1运动矢量,从而计算所述第2图片的所述对象块的预测运动矢量;特定单元,用于将由所述预测运算单元计算的预测运动矢量所指定的所述参考图片的范围特定为所述搜索范围。
如果第1及第2图片的表示时刻相互接近,包含在各自图片的对象块在空间上位于同一位置上,则第1及第2运动矢量的方向趋于相同。因此,在本发明中,因为搜索范围是根据第1运动矢量被特定,比如第1运动矢量计算出预测运动矢量后特定搜索范围,所以可以恰当地特定用于检测第2运动矢量的搜索范围。其结果,像以往一样,即使在表示时间上第2图片从参考图片中脱离,也不会扩大参考图片上的搜索范围,能够在适当的搜索范围检测到第2图片对象块的运动矢量。并且,在本发明中,无需像望远镜搜索那样连无直接必要的运动矢量都检测。其结果,在本发明中能够缩小整个的搜索范围。进而在本发明中,即使是一边移动第2图片的对象块一边检测各对象块的第2运动矢量时,也能够比望远镜搜索减少存储器(图像存储器)的传输数据量,所述存储器中保存着参考图片。即在本发明中,即使在表示顺序上参考图片和第2图片之间存在其他图片,也不需要从存储器读出其他图片的搜索范围数据,进而在边移动对象块边检测各对象块的第2运动矢量时,能够有效利用上次读出的搜索范围来减少重新从存储器读出的数据量。
因此,在本发明中,由于能够将搜索范围定为适当范围,所以能够减少运动矢量检测的运算量的同时,由于能够减少存储器的传输数据量,所以能够缩小电路规模。
并且,其特征还可以在于,所述预测运算单元在所述第2图片中,将在空间上与所述第1图片的所述对象块位于同一位置的同位置块作为所述第2图片的所述对象块,来计算该对象块的所述预测运动矢量;所述第2运动检测单元将所述同位置块作为所述第2图片的所述对象块,检测该对象块的所述第2运动矢量。
从而,由于第1图片的对象块和第2图片的对象块各图片中分别处于空间上的同一位置,所以预测运动矢量能够趋近于第2运动矢量。即能够提高预测运动矢量的精度,其结果是能够更加适当地特定搜索范围。
再有,其特征还可以在于,所述第1运动检测单元对每一个所述第1图片,都检测包含在该第1图片中的所述对象块的所述第1运动矢量;所述搜索范围特定单元根据在复数个所述第1图片中与所述第2图片间的表示时刻时间差最短的图像的第1运动矢量,特定所述参考图片的搜索范围。
从而,有复数个第1运动矢量时,根据与第2图片在表示时间上相近的第1图片的第1运动矢量,特定搜索范围,所以即使有复数个第1运动矢量,也能够特定适当的搜索范围。
并且,其特征还可以在于,所述特定单元将所述预测运动矢量所指定的所述参考图片的范围、以及在所述参考图片中,与所述第2图片的所述对象块处于空间上的同一位置的块,特定为所述搜索范围。
从而,由于将所述参考图片中与第2图片的对象块处于空间上的同一位置的块包含在搜索范围中,所以预测运动矢量所指定的参考图片范围中,即使不存在与第2图片的对象块有着近似图像的块,也能够从其他范围搜索该块,并可以适当地检测第2运动矢量。
再有,其特征还可以在于,所述第1或第2运动检测单元在对利用了已检测出的所述第1或第2运动矢量的所述第1或第2图片的所述对象块进行编码处理期间,检测包含在所述第1或第2图片中的其他对象块的第1或第2运动矢量。
从而,在该运动矢量检测装置已被编入到运动图像编码装置时,由于编码处理和运动检测处理是管线(pipeline)处理,所以能够实现整个处理时间上的缩短。
另外,本发明不仅可以当作上述运动矢量检测装置实现,也可以当作其方法、程序、保存该程序的记录介质、集成电路等实现。
本发明的运动矢量检测装置具有,通过减小运动矢量搜索范围能够减少运动矢量运算量,同时,通过减少从外部存储器读入的数据量,能够实现低功耗及缩小电路规模的效果。
附图说明
图1是表示运动图像编码方式中各图片的预测关系的模式图;
图2是图片的表示顺序及编码顺序的示意图;
图3是H.264中的参考关系示意图;
图4是现有的运动矢量检测中的搜索范围示意图;
图5是望远镜搜索示意图;
图6是一张参考图片中搜索范围变化示意图;
图7是本发明实施例中具有运动矢量检测装置的运动图像编码装置的框图;
图8是表示时间直接模式中运动矢量的预测生成方法的模式图;
图9是本发明实施例中的说明由预测运算器所计算的前向预测运动矢量的说明图;
图10是同前所述的运动矢量的检测顺序示意图;
图11是同前所述的说明由预测运算器所计算的后向预测运动矢量的说明图;
图12是同前所述的运动矢量检测装置检测运动矢量的工作流程示意图;
图13是同前所述的模式选择器计算非时间直接模式的评价值的工作流程示意图;
图14是同前所述的模式选择器计算时间直接模式的评价值的工作流程示意图;
图15是同前所述的变形例1的预测运动矢量的计算方法示意图;
图16是同前所述的变形例2的预测运动矢量的计算方法示意图;
图17是同前所述的变形例3的预测运动矢量的计算方法示意图;
图18是同前所述的变形例4的预测运动矢量的计算方法示意图;
图19是同前所述的变形例5的预测运动矢量的计算方法示意图;
图20是同前所述的变形例6的预测运动矢量的计算方法示意图;
图21是同前所述的变形例7的预测运动矢量的计算方法示意图;
图22是同前所述的变形例8的搜索范围示意图;
图23是同前所述的变形例9中计算预测运动矢量前的各图片状态的示意图;
图24是同前所述的变形例9的预测运动矢量的计算方法示意图;
图25是同前所述的变形例10中的管线处理示意图;
图26是同前所述的变形例10中作为运动矢量检测对象的块的顺序的示意图;
图27是同前所述的变形例10的其他的管线处理示意图。
具体实施方式
以下,参考附图说明本发明实施例中具有运动矢量检测装置的运动图像编码装置。
图7是本发明实施例中具有运动矢量检测装置的运动图像编码装置的方框图。
运动图像编码装置100如图7所示,包括:图片存储器112,120、块选择器111、差值运算器113、接线器114,127、编码器115、序列化缓存器116、编码列生成器117、解码器118、加法运算器119、运动矢量检测器121、存储器122、预测运算器123、搜索范围控制器124、模式选择器125以及运动补偿器126。
图片存储器112如图2(a)所示,按表示顺序得到表示运动图像的复数个输入图像(图片)并保存。然后,图片存储器112将块选择器111所选择的各图片的对象块(成为运动矢量检测对象和编码对象的块)输出到差值运算器113、接线器114及运动矢量检测器121。
块选择器111从保存在图片存储器112的图片中选择连续的复数张图片单位,例如,如图2(a)所示图片P1,B2,B3,P4的单位。进而,块选择器111控制图片存储器112,使其从这些各图片中选择所定位置的对象块输出。并且,块选择器111将选择的对象块的位置信息和包含该对象块的图片(对象图片)的表示顺序信息输出到运动矢量检测器121、存储器122、预测运算器123、搜索范围控制器124及序列化缓存器116。
差值运算器113计算出包含在输入图像中的对象块的图像和从运动补偿器126输出的预测图像间的差值,并将其计算结果作为预测残差图像进行输出。
接线器114在对对象块进行图片内预测编码时,将对象块输出到编码器115;在对对象块进行图片间预测编码时,将来自差值运算器113的预测残差图像输出到编码器115。
接线器127只在对对象块进行图片间处理时,将来自运动补偿器126的预测图像输出到加法运算器119。
编码器115通过对接线器114输出的对象块或预测残差图像进行频率转化和量化等编码处理,生成编码信号。
序列化缓存器116将包含在编码信号中的图片按照规格进行排列,将该编码信号输出到编码列生成器117。
编码列生成器117对序列化缓存器116输出的编码信号进行可变长编码等。并且,编码列生成器117从模式选择器125获取表示运动矢量和表示运动预测模式的信息(后述的直接模式选择信息)等,并添加到进行了可变长编码的编码信号中,从而生成编码列。
解码器118通过对编码器115输出的编码信号进行逆量化和逆频率变换等的解码处理,生成解码图像。
加法运算器119通过将解码器118输出的解码图像,和从运动补偿器126通过接线器127输出的预测图像进行相加,生成重建图像。
图片存储器120依次保存加法运算器119中生成并输出的重建图像。其结果,参考图片被保存在图片存储器120中。
运动矢量检测器121获取图片存储器112输出的对象块。并且,运动矢量检测器121从图片存储器120读出对该对象块的参考图片的搜索范围。之后,运动矢量检测器121从其搜索范围搜索有着近似于对象块图像的块,从而检测表示对象块的图像运动的运动矢量(针对参考图片的对象块的运动矢量)。
预测运算器123根据后述的时间直接模式,预测对象块的运动矢量并计算出预测运动矢量。
搜索范围控制器124根据预测运算器123所计算的预测运算矢量,特定参考图片的搜索范围,并将其搜索范围设置到运动矢量检测器121中。
存储器122具有用于存储运动矢量的区域,该运动矢量由运动矢量检测器121所检测。
模式选择器125选择运动预测模式。即模式选择器125选择时间直接模式和非时间直接模式中的任一模式。之后,模式选择器125在选择了非时间直接模式时,将运动矢量检测器121所检测的运动矢量输出到编码列生成器117,在选择了时间直接模式时,将直接模式选择信息输出到编码列生成器117,该直接模式选择信息用于通知时间直接模式被选择的信息。
并且,本实施例中的运动矢量检测装置100a具有,通过减少检测运动矢量的运算量,能够缩小电路规模的的特点,该装置包括:块选择器111、模式选择器125、运动矢量检测器121、存储器122、预测运算器123和搜索范围控制器124。进一步地,在本实施例中,运动矢量检测器121包括:检测第1运动矢量的第1运动检测单元和检测第2运动矢量的第2运动检测单元;预测运算器123和搜索范围控制器124作为搜索范围特定单元,用于根据第1运动矢量特定参考图片的搜索范围。并且,在本发明实施例中,预测运算器123作为预测运算单元;搜索范围控制器124作为特定单元,该特定单元用于将预测运动矢量所指定的参考图片的范围作为搜索范围来特定。
在这里,对一般的时间直接模式进行详细说明。
在H.264方式中,B图片的编码中为减少运动矢量的信息,可以选择直接模式这种编码模式。该直接模式有2种方法,即时间性方法和空间性方法。在时间直接模式中,对象块本身不具有运动矢量,而是将编码完的其他图片的运动矢量作为参考运动矢量,根据图片间的表示时间上的位置关系而按比例缩放,从而预测并生成对象块的运动矢量。
图8是表示时间直接模式中运动矢量的预测生成方法的模式图。另外,在该图8中所示的P1,B2等符号中,P表示P图片、B表示B图片,数字表示各图片的表示顺序。并且,各图片P1,B2,B3,P4分别具有表示顺序信息T1,T2,T3,T4。即,各图片按照图片P1、图片B2、图片B3、图片B4顺序被表示。
其中,图片B3的块BL0按时间直接模式编码。此时,利用在图片P4中与块BL0处于相同位置的块BL1的运动矢量MV1,其中,所述图片P4位于图片B3的表示时间上的邻近位置,且是已编码完的图片。该运动矢量MV1是块BL1被编码时所用的运动矢量,并将图片P1作为参考图片。
也就是说,在时间直接模式中,将运动矢量MV1应用到下面(算式1a)及(算式1b)中,从而计算块BL0的图片P1的运动矢量(前向运动矢量)MVF和块BL0的图片P4的运动矢量(后向运动矢量)MVB。另外,在(算式1a)及(算式1b)中,Mv表示运动矢量MV1的大小,Mvf表示运动矢量MVF的大小,Mvb表示运动矢量MVB的大小。
Mvf=(T3-T1)/(T4-T1)×Mv……(算式1a)
Mvb=(T4-T3)/(T4-T1)×Mv……(算式1b)
这样在时间直接模式中,利用通过按比例缩放运动矢量MV1得到的运动矢量MVF及MVB,进行将图片P1和图片P4作为参考图片的块BL0的运动补偿。因此,只是需要将表示时间直接模式的信息包含在编码列中,不需要将块BL0的运动矢量编码后包含在编码列中,其结果是能够减少编码列的比特率。
本实施例的运动矢量检测装置100a中,如上所述根据时间直接模式预测对象块的运动矢量。即,本实施例的运动矢量检测装置100a是计算对象块的预测运动矢量,并从该预测运动矢量特定参考图片的搜索范围,从其搜索范围中检测运动矢量。
图9是本发明实施例中的说明由预测运算器所计算的前向预测运动矢量的说明图。另外,图9中的符号P1及P4表示P图片,符号B2及B3表示B图片。并且,这些符号中的数字表示各图片的表示顺序。再有,各图片P1,B2,B3,P4分别具有表示顺序信息T1,T2,T3,T4。此表示顺序信息表示各图片的表示顺序和表示时刻。
运动矢量检测器121首先检测作为第1图片的图片B2的对象块BL0的运动矢量MV0F(第1运动矢量)。即运动矢量检测器121从参考图片P1中以与图片B2的对象块BL0相同位置为中心的S像素×S线的搜索范围,搜索有着与对象块BL0图像最近似的图像的块,从而检测指示该块的运动矢量MV0F。然后,运动矢量检测器121将该运动矢量MV0F保存到存储器122。
预测运算器123从存储器122读出该运动矢量MV0F,并按比例缩放运动矢量MV0F,从而对作为第2图片的图片B3及图片P4中与对象块BL0位于相同位置(空间上的同一位置)的对象块BL1、BL2,分别计算前向预测运动矢量MV1F*和预测运动矢量MV2*。
具体来说,预测运算器123用图片P1,B2,B3,P4的表示顺序信息T1,T2,T3,T4,根据下面的(算式2a)及(算式2b),计算图片B3的对象块BL1的针对参考图片P1的预测运动矢量MV1F*和图片P4的对象块BL2的针对参考图片P1的预测运动矢量MV2*。另外,在(算式2a)及(算式2b)中,Mv1f*及Mv2*分别表示预测运动矢量MV1F*及MV2*的大小,Mv0f表示运动矢量MV0F的大小。
Mv1f*=(T3-T1)/(T2-T1)×Mv0f……(算式2a)
Mv2*=(T4-T1)/(T2-T1)×Mv0f……(算式2b)
其中,各图片P1,B2,B3,P4的表示时间间隔(表示时刻的时间差)为等间隔时,参考图片P1的可搜索最大范围为(3×S)像素×(3×S)线的范围。也就是说,图片B2和参考图片P1的表示时间间隔为(T2-T1)=1时,参考图片P1和图片P4的表示时间间隔为(T4-T1)=3。因此,图片B2的运动矢量MV0F的搜索范围为S像素×S线时,可搜索最大范围是(3×S)像素×(3×S)线的范围。由此,可搜索最大范围是与各对象图片和参考图片P1之间的表示时刻时间差中最长的时间差相对应的大小。
预测运算器123将由此计算出的预测运动矢量MV1F*和MV2F*输出到搜索范围控制器124。
搜索范围控制器124在参考图片P1中特定由预测运动矢量MV1F*所指定的搜索范围,并将其设置到运动矢量检测器121中。即,搜索范围控制器124设置以由预测运动矢量MV1F*所指定的参考图片P1的位置为中心的S像素×S线的搜索范围。并且,搜索范围控制器124在参考图片P1中特定由预测运动矢量MV2*所指定的搜索范围,并将其设置到运动矢量检测器121中。即,搜索范围控制器124设置以由预测运动矢量MV2*所指定的参考图片P1的位置为中心的S像素×S线的搜索范围。由此,搜索范围控制器124,从可搜索最大范围中特定与对象块BL0的运动矢量MV0F的搜索范围(部分范围)相同大小的S像素×S线搜索范围,以检测对象块BL1和BL2的运动矢量。
运动矢量检测器121从图片存储器120读出由搜索范围控制器124所设置的参考图片P1的各搜索范围,并从所述各个搜索范围中检测对象块BL1的前向运动矢量(第2运动矢量)和对象块BL2的运动矢量(第2运动矢量)。即,运动矢量检测器121在检测对参考图片P1的对象块BL0的前向运动矢量后,检测对参考图片P1的对象块BL1的前向运动矢量,然后检测对参考图片P1的对象块BL2的前向运动矢量。然后,运动矢量检测器121将对象块BL1及对象块BL2的各自运动矢量保存到存储器122。
图10是运动矢量的检测顺序示意图。
此图10中,各块的运动矢量检测顺序用各块内的数字(1,2,......N,N+1,......)表示。即,运动矢量检测装置100a首先检测图片B2左上端的块的运动矢量,并利用该运动矢量检测图片B3的左上端的块的运动矢量,然后检测图片P4的左上端的块的运动矢量。接着,运动矢量检测装置100a检测从图片B2左上端向右第2个块的运动矢量,并利用其运动矢量检测从图片B3左上端向右第2个块的运动矢量,然后检测从图片P4左上端向右第2个块的运动矢量。由此,运动矢量检测装置100a在各图片中边向右移动对象块,边按照图片B2、图片B3、图片P4的顺序检测对象块的运动矢量。
而且,运动矢量检测器100a在各图片中检测完最上行的全部块的运动矢量后,将其下一行的各块为对象块,并按与上述同样的顺序检测运动矢量。由此,运动矢量检测装置100a,将成为运动矢量检测对象的块边从左向右、从上到下移动,边按照图片B2、图片B3、图片P4的顺序对所有块检测运动矢量。其结果,检测出图片B2及图片B3的所有块的针对参考图片P1的前向运动矢量,检测出图片P4的所有块的针对参考图片P1的运动矢量。
其中,如果检测出图片P4的所有块的针对参考图片P1的运动矢量,则运动补偿器126利用其检测出的运动矢量和参考图片P1进行运动补偿,生成图片P4的各块的预测图像。然后,差值运算器113、编码器115、解码器118及加法运算器119,从该预测图像经过编码信号生成重建图像,将该重建图像保存到图片存储器120。其结果,检测出图片P4的所有块的运动矢量后,将图片P4作为参考图片保存到图片存储器120。
由此,本实施例中的运动矢量检测装置100a,如果检测包含在对象图片中的一个块的运动矢量,则按照遵循表示顺序的顺序检测运动矢量,以便检测表示顺序上的下一对象块所包含的一个块的运动矢量。即,在本实施例中,比如,依次检测包含在P图片中的所有块的运动矢量之后,不检测在表示顺序上位于前方的B图片所包含的所有块的运动矢量,而不是像以往一样检测逆着表示顺序下的运动矢量。
接着,运动矢量检测装置100a检测图片B2及图片B3的后向运动矢量。此时也同上所述,运动矢量检测装置100a通过时间直接模式对图片B2及图片B3的每个对象块计算后向预测运动矢量,并从以这些预测运动矢量所指定的位置为中心的搜索范围中检测后向运动矢量。
图11是说明本发明实施例中由预测运算器123所计算的后向预测运动矢量的说明图。
预测运算器123计算图片B2及图片B3的分别处于相同位置的对象块BL0和对象块BL1的后向预测运动矢量时,首先从存储器122读出参考图片P4中与对象块BL0和BL1处于相同位置的块BL2的运动矢量MV2。然后,预测运算器123根据按比例缩放运动矢量MV2,对对象块BL0和BL1计算预测运动矢量MV0B*和预测运动矢量MV1B*。
具体来说,预测运算器123用图片P1,B2,B3,P4的表示顺序信息T1,T2,T3,T4,根据下面的(算式3a)及(算式3b),计算图片B2的对象块BL0的针对参考图片P4的预测运动矢量MV0B*和图片B3的对象块BL1的针对参考图片P4的预测运动矢量MV1B*。另外,在(算式3a)及(算式3b)中,Mv0b*及Mv1b*分别表示预测运动矢量MV0B*及MV1B*的大小,Mv2表示运动矢量MV2的大小。
Mv0b*=(T2-T4)/(T4-T1)×Mv2……(算式3a)
Mv1b*=(T3-T4)/(T4-T1)×Mv2……(算式3b)
其中,各图片P1,B2,B3,P4的表示时间间隔为等间隔时,参考图片P4的可搜索最大范围为(2×S)像素×(2×S)线的范围。
预测运算器123将这样计算出的预测运动矢量MV0B*及MV1B*输出到搜索范围控制器124。
搜索范围控制器124将在参考图片P4中由预测运动矢量MV0B*所指定的搜索范围,设置到运动矢量检测器121。即,搜索范围控制器124设置以由预测运动矢量MV0B*所指定的参考图片P4的位置为中心的S像素×S线的搜索范围。并且,搜索范围控制器124将在参考图片P4中由预测运动矢量MV1B*所指定的搜索范围,设置到运动矢量检测器121。即,搜索范围控制器124设置以由预测运动矢量MV1B*所指定的参考图片P1的位置为中心的S像素×S线的搜索范围。
运动矢量检测器121从由搜索范围控制器124所设置的参考图片P4的搜索范围,检测对象块BL0的后向运动矢量和对象块BL1的后向运动矢量。即,运动矢量检测器121在检测参考图片P4的对象块BL2的运动矢量MV2后,检测对参考图片P4的对象块BL0的后向运动矢量,然后检测对参考图片P4的对象块BL1的后向运动矢量。然后,运动矢量检测器121将对象块BL0及对象块BL1的各自后向运动矢量保存到存储器122。
运动矢量检测器100a从左上端的块开始依次从左向右、从上到下移动对象块,与此同时进行对上述的图片B2及图片B3所包含的所有块的后向运动矢量的检测。
图12是本发明实施例中运动矢量检测装置100a检测运动矢量的工作流程示意图。
首先,运动矢量检测装置100a的块选择器111从图片存储器112中提取对象块(步骤S100)。例如,块选择器111如图9所示,从对象图片B2,B3,P4中将块BL0,BL1,BL2作为对象块而提取。然后,块选择器111从这些对象块中选择需要最先要处理的块,例如块BL0(步骤S102)。
运动矢量检测器121检测由块选择器111所选择的对象块BL0的针对参考图片P1的运动矢量(前向运动矢量)MV0F(步骤S104)。然后,运动矢量检测器121将该检测到的运动矢量MV0F保存到存储器122(步骤S106)。
预测运算器123按比例缩放由时间直接模式即由运动矢量检测器121所检测的运动矢量MV0F,从而运算(计算)对象块BL1的针对参考图片P1的前向预测运动矢量MV1F*(步骤S108)。同样,预测运算器123按比例缩放由运动矢量检测器121所检测的运动矢量MV0F,从而运算(计算)对象块BL2的针对参考图片P1的前向预测运动矢量MV2*(步骤S110)。
搜索范围控制器124特定由预测运算器123所计算的对象块BL1的预测运动矢量MV1F*所指定的参考图片P1的搜索范围,并将其设置到运动矢量检测器121中(步骤S112)。同样,搜索范围控制器124特定由预测运算器123所计算的对象块BL2的预测运动矢量MV2*所指定的参考图片P1的搜索范围,并将其设置到运动矢量检测器121(步骤S114)。
运动矢量检测器121对对象块BL1从搜索范围控制器124所设置的搜索范围搜索有着与该对象块BL1近似图像的块,从而检测对象块BL1的运动矢量(前向运动矢量)MV1F(步骤S116)。同样,运动矢量检测器121对对象块BL2从搜索范围控制器124所设置的搜索范围搜索有着与该对象块BL2近似图像的块,从而检测对象块BL2的运动矢量MV2(步骤S118)。然后,运动矢量检测器121将检测的运动矢量MV1F和运动矢量MV2保存到存储器122(步骤S120)。
根据步骤S100~S120的处理,检测块选择器111所提取的所有对象块BL0,BL1,BL2的前向运动矢量。
接着,块选择器111重新提取对象块。例如,块选择器111如图11所示,分别从位于图片存储器112中的对象图片B2,B3中提取块BL0,BL1作为对象块。然后,块选择器111选择在参考图片P4中与对象块BL0,BL1相同位置的块BL2(步骤S122)。
预测运算器123从存储器122读出由块选择器111所选择的参考图片P4的块BL2的运动矢量MV2(步骤S124)。然后,预测运算器123通过时间直接模式,即通过按比例缩放从存储器122读出的运动矢量MV2,运算(计算)对象块BL0的针对参考图片P4的后向预测运动矢量MV0B*(步骤S126)。同样,预测运算器123根据按比例缩放从存储器122读出的运动矢量MV2,运算(计算)对象块BL1的针对参考图片P4的后向预测运动矢量MV1B*(步骤S128)。
搜索范围控制器124特定由预测运算器123所计算的对象块BL0的预测运动矢量MV0B*所指定的参考图片P4的搜索范围,并将其设置到运动矢量检测器121(步骤S130)。同样,搜索范围控制器124特定由预测运算器123所计算的对象块BL1的预测运动矢量MV1B*所指定的参考图片P1的搜索范围,并将其设置到运动矢量检测器121(步骤S132)。
运动矢量检测器121对对象块BL0,从搜索范围控制器124所设置的搜索范围中搜索有着与该对象块BL0近似图像的块,从而检测对象块BL0的运动矢量(后向运动矢量)MV0B(步骤S134)。同样,运动矢量检测器121对对象块BL1,从搜索范围控制器124所设置的搜索范围搜索有着与其对象块BL1近似图像的块,从而检测对象块BL1的运动矢量(后向运动矢量)MV1B(步骤S136)。然后,运动矢量检测器121将检测的运动矢量MV0B和运动矢量MV1B保存到存储器122(步骤S138)。
根据步骤S122~S138的处理,检测块选择器111所提取的所有对象块BL0,BL1的后向运动矢量。
由此在本实施例中的运动矢量检测装置100a中,为检测对象图片的对象块的运动矢量,按比例缩放针对其他对象图片的对象块所检测的运动矢量来计算预测运动矢量,并将该预测运动矢量指定的参考图片上的S像素×S线范围特定为搜索范围。因此,总是能够特定一定大小的搜索范围,而与对象图片和参考图片间的表示时刻时间差无关。另一方面,现有技术中,如果该对象图片在表示时间上偏离参考图片,就会根据其时间差将宽范围作为搜索范围。因此,在本实施例中,即使对象图片在表示时间上偏离参考图片,也能够缩小搜索范围,同时能够根据运动矢量MV0F的按比例缩放,特定适当的搜索范围。
并且,在本实施例中,不要求像望远镜搜索那样的相邻图像间的运动矢量,因此能够防止运动矢量检测精度的降低。进而在本实施例中,无需像望远镜搜索那样,连无直接需要的运动矢量都检测。其结果,在本发明中能够缩小整个的搜索范围。进一步地,在本实施例中,即使是一边移动对象块一边检测各对象块的运动矢量时,也能够比望远镜搜索减少存储器120发来的传输数据量,所述存储器中保存着参考图片。即在本实施例中,即使在表示顺序上参考图片和对象图片之间存在其他图片,也不需要从存储器120读出该其他图片的搜索范围数据,进而在边移动对象块边检测各对象块的运动矢量时,能够有效利用上次读出的搜索范围来减少重新从存储器120读出的数据量。
因此,本实施例中的运动矢量检测装置100a能够将搜索范围定为适当范围,所以能够减少运动矢量检测的运算量,同时,能够减少存储器120发来的传输数据量,所以能够缩小电路规模。
如果对象块的运动矢量如上所述被检测出,则模式选择器125利用所述检测的运动矢量和预测运算器123所计算出的预测运动矢量,在时间直接模式和非时间直接模式中选择任一模式。具体来讲,模式选择器125进行这样的选择时,利用预测残差图像、运动矢量及预测运动矢量、对象块的位置信息、对象图片的表示顺序计算时间直接模式下的评价值和非时间直接模式下的评价值。然后,模式选择器125根据其评价值的比较结果选择模式。
图13是模式选择器125计算非时间直接模式的评价值的工作流程示意图。
首先,模式选择器125选择对象块(步骤S200)。例如,模式选择器125选择图9及图11中所示的图片B3的块BL1。模式选择器125从存储器122读出块BL1的前向运动矢量MV1F和后向运动矢量MV1B(步骤S202,S204)。
然后,模式选择器125使运动补偿器126,提取该前向运动矢量MV1F所指定的参考图片P1的块作为参考数据,同时(步骤S206),使该后向运动矢量MV1B所指定的参考图片P4的块作为参考数据来提取(步骤S208)。进一步地,模式选择器125使运动补偿器126,计算参考图片P1的参考数据和参考图片P4的参考数据的平均,生成平均参考数据(步骤S210)。
并且,模式选择器125使编码列生成器117计算步骤S202中读出的前向运动矢量MV1F的编码量(步骤S212),同时,使编码列生成器117计算步骤S204中读出的后向运动矢量MV1B的编码量(步骤S214)。
并且,模式选择器125从图片存储器112通过块选择器111将步骤S200中选择的块BL1作为输入数据来提取(步骤S216)。然后,模式选择器125计算从步骤S210中生成的平均参考数据和步骤S216中提取的输入数据之间的绝对差值和(SAD)(步骤S218)。
模式选择器125根据从步骤S218计算的绝对差值和与步骤S212、S214计算的编码量,计算非时间直接模式的评价值(步骤S220)。
图14是模式选择器125计算时间直接模式的评价值的工作流程示意图。
首先,模式选择器125选择对象块(步骤S300)。例如,模式选择器125选择图9及图11所示的图片B3的块BL1。然后,模式选择器125生成用于通知已选择了时间直接模式的直接模式选择信息(步骤S302)。
接着,模式选择器125从存储器122读出例如运动矢量MV2这种时间直接模式所需的运动矢量(步骤S304)。然后,模式选择器125使预测运算器123计算预测运动矢量(步骤S306、S308)。即预测运算器123通过按比例缩放从步骤S304读出的运动矢量,计算比如从步骤S300选择的块BL1的前向预测运动矢量MV1F*和后向预测运动矢量MV1B*。
然后,模式选择器125使运动补偿器126,提取其前向运动矢量MV1F*所指定的参考图片P1的块作为参考数据(步骤S310),同时,提取其后向运动矢量MV1B*所指定的参考图片P4的块作为参考数据(步骤S208)。进而,模式选择器125使运动补偿器126计算参考图片P1的参考数据和参考图片P4的参考数据的平均,生成平均参考数据(步骤S314)。
并且,模式选择器125从图片存储器112通过块选择器111将步骤S300中选择的块BL1作为输入数据来提取(步骤S316)。并且,模式选择器125计算从步骤S314中生成的平均参考数据和步骤S316中提取的输入数据之间的绝对差值和(步骤S318)。
模式选择器125根据从步骤S318计算的绝对差值和与步骤S302生成的直接模式选择信息,计算时间直接模式的评价值(步骤S320)。
这样,模式选择器125计算块BL1的非时间直接模式评价值和时间模式评价值后,通过对这些评价值的比较,选择像整体上的编码量较小的那种评价值高的模式。
然后,模式选择器125如果选择非时间直接模式,则将由运动矢量检测器121所检测的、保存在存储器122的对象块的运动矢量,输出到编码列生成器117。其结果,编码列生成器117对该运动矢量进行可变长编码后包含到编码列中。而模式选择器125如果选择时间直接模式,则将直接模式选择信息输出到编码列生成器117。其结果,编码列生成器117将直接模式信息包含到编码列中。
由此在本实施例中,能够根据评价值转换时间直接模式和非时间直接模式,因此总是能够减少编码列的编码量。并且,在本实施例中,如上所述,与望远镜编码相比,运动矢量的检测精度高,因此时间直接模式被选择的可能性提高,进而能够减少编码量。
(变形例1)
在这里,通过第1变形例说明本实施例中的预测运动矢量的计算方法。
在上述实施例中,按比例缩放了复数个对象块中表示顺序最靠前的图片中所包含的对象块的运动矢量。也就是说,如图9所示,运动矢量检测装置100a检测表示顺序上最靠前的图片B2中所包含的对象块BL0的运动矢量MV0F,并按比例缩放该运动矢量MV0F。其结果,运动矢量检测装置100a计算出包含在图片B3中的对象块BL1的前向运动矢量MV1F*、和包含在图片P4中的对象块BL2的前向运动矢量MV2*。
本变形例中,通过按比例缩放复数个对象图片中在表示顺序上位于中间的图片的对象块的运动矢量,来计算位于该图片的前后的图片中所包含的各个对象块的预测运动矢量。
图15是变形例1中的预测运动矢量的计算方法的示意图。
首先,运动矢量检测器121检测复数个对象图片中表示顺序上位于中间的图片B3中所包含的对象块BL1的运动矢量MV1F。然后,运动矢量检测器121将该运动矢量MV1F保存到存储器122中。
此时,例如,图片B2中的块的针对参考图片P1的运动矢量的搜索范围是S像素×S线,参考图片P1和图片B3之间的表示时间间隔是参考图片P1和图片B2之间的表示时间间隔的2倍。这种情况下,在用于检测对象块BL1的运动矢量MV1F的参考图片P1中的搜索范围是(2×S)像素×(2×S)线。
预测运算器123从存储器122中读出运动矢量MV1F,通过按比例缩放(scaling)运动矢量MV1F,来对图片B2及图片P4中与对象块BL1在相同位置上的对象块BL0、BL2,计算预测运动矢量MV0F*和预测运动矢量MV2*。
具体而言,预测运算器123使用图片P1、B2、B3和P4的表示顺序信息T1、T2、T3和T4,通过下述的(算式4a)和(算式4b),计算出图片B2中的对象块BL0的针对参考图片P1的预测运动矢量MV0F*、和图片P4中的对象块BL2的针对参考图片P1的预测运动矢量MV2*。其中,在(算式4a)和(算式4b)中,Mv0f*和Mv2*分别表示预测运动矢量MV0F*、MV2*的大小,Mv1f表示运动矢量MV1F的大小。
Mv0f*=(T2-T1)/(T3-T1)×Mv1f   ……(算式4a)
Mv2*=(T4-T1)/(T3-T1)×Mv1f    ……(算式4b)
搜索范围控制器124,特定以预测运动矢量MV0F*所指定的参考图片P1的位置为中心的S像素×S线的搜索范围,并将其设置在运动矢量检测器121;同时,搜索范围控制器124特定以预测运动矢量MV2*所指定的参考图片P1的位置为中心的S像素×S线的搜索范围,并将其设置在运动矢量检测器121。
运动矢量检测器121从搜索范围控制器124所设置的参考图片P1中的搜索范围中检测对象块BL0的前向运动矢量和对象块BL2的运动矢量。也就是说,运动矢量检测器121在检测到针对参考图片P1的对象块BL1的前向运动矢量后,检测针对参考图片P1的对象块BL0的前向运动矢量,接着,再检测针对参考图片P1的对象块BL2的运动矢量。然后,运动矢量检测器121将对象块BL0和对象块BL2的各自运动矢量保存到存储器122中。
这样,在本变形例中,通过按比例缩放表示顺序处于中间的图片中的对象块的运动矢量,可以精确地计算出处于该图片前后的图片中所包含的每个对象块的预测运动矢量。
(变形例2)
在这里,通过第2变形例说明本实施例中的预测运动矢量的计算方法。
上述实施例中,按比例缩放了复数个对象图片中表示顺序最靠前的图片中所包含的对象块的运动矢量。
本变形例中,通过按比例缩放复数个对象图片中表示顺序最靠后的图片中所包含的对象块的运动矢量,来计算出处于该图片前面的对象图片中所包含的每个对象块的预测运动矢量。
图16是变形例2中的预测运动矢量的计算方法的示意图。
首先,运动矢量检测器121检测复数个对象图片中表示顺序最靠后的图片P4中所包含的对象块BL2的运动矢量MV2。然后,运动矢量检测器121将该运动矢量MV2保存到存储器122中。
此时,例如,图片B2中的块的针对参考图片P1的运动矢量的搜索范围是S像素×S线,参考图片P1和图片P4之间的表示时间间隔是参考图片P1和图片B2之间的表示时间间隔的3倍。这种情况下,在用于检测对象块BL2的运动矢量MV2的参考图片P1中的搜索范围是(3×S)像素×(3×S)线。
预测运算器123从存储器122中读出运动矢量MV2,通过按比例缩放运动矢量MV2,来对图片B2及图片B3中与对象块BL2在相同位置上的对象块BL0、BL1,计算预测运动矢量MV0F*和预测运动矢量MV1F*。
具体而言,预测运算器123使用图片P1、B2、B3和P4的表示顺序信息T1、T2、T3和T4,通过下述的(算式5a)和(算式5b),计算出图片B2中的对象块BL0的针对参考图片P1的预测运动矢量MV0F*、和图片B3中的对象块BL1的针对参考图片P1的预测运动矢量MV1F*。其中,在(算式5a)和(算式5b)中,Mv0f*和Mv1f*分别表示预测运动矢量MV0F*、MV1F*的大小,Mv2表示运动矢量MV2的大小。
Mv0f*=(T2-T1)/(T4-T1)×Mv2……(算式5a)
Mv1f*=(T3-T1)/(T4-T1)×Mv2……(算式5b)
搜索范围控制器124,特定以预测运动矢量MV0F*所指定的参考图片P1的位置为中心的S像素×S线的搜索范围,并将其设置在运动矢量检测器121中;同时,搜索范围控制器124特定以预测运动矢量MV1F*所指定的参考图片P1的位置为中心的S像素×S线的搜索范围,并将其设置在运动矢量检测器121中。
运动矢量检测器121从搜索范围控制器124所设置的参考图片P1上的搜索范围中检测对象块BL0的前向运动矢量和对象块BL1的前向运动矢量。也就是说,运动矢量检测器121在检测到针对参考图片P1的对象块BL2的运动矢量MV2后,检测针对参考图片P1的对象块BL0的前向运动矢量,接着,再检测针对参考图片P1的对象块BL1的前向运动矢量。然后,运动矢量检测器121将对象块BL0和对象块BL1各自的前向运动矢量保存到存储器122中。
(变形例3)
在这里,通过第3变形例说明本实施例中的预测运动矢量的计算方法。
上述实施例中,在计算后向预测运动矢量时,按比例缩放了P图片的运动矢量。也就是说,如图11所示,运动矢量检测装置100a检测作为P图片的参考图片P4所包含的块BL2中的运动矢量MV2,并按比例缩放该运动矢量MV2。其结果,运动矢量检测装置100a计算出包含在图片B2中的对象块BL0的后向运动矢量MV0B*、和包含在图片B3中的对象块BL1的后向运动矢量MV1B*。
本变形例中,在计算后向预测运动矢量时,通过按比例缩放对象图片中在表示顺序上最靠近参考图片的B图片的后向运动矢量,来计算出作为其他的对象图片的B图片的后向预测运动矢量。
图17是变形例3中的预测运动矢量的计算方法的示意图。
首先,运动矢量检测器121检测复数个对象图片中表示顺序上最靠近参考图片P4的图片B3中所包含的对象块BL1的运动矢量(后向运动矢量)MV1B。然后,运动矢量检测器121将该运动矢量MV1B保存到存储器122中。
预测运算器123从存储器122中读出运动矢量MV1B,通过按比例缩放运动矢量MV1B,来对图片B2中与对象块BL1在相同位置上的对象块BL0,计算预测运动矢量MV0B*。
具体而言,预测运算器123使用图片P1、B2、B3和P4的表示顺序信息T1、T2、T3和T4,通过下述的(算式6),计算出图片B2的针对参考图片P4的预测运动矢量MV0B*。其中,在(算式6)中,Mv0b表示预测运动矢量MV0B*的大小,Mv1b表示运动矢量MV1B的大小。
Mv0b*=(T4-T2)/(T4-T3)×Mv1b  ……(算式6)
搜索范围控制器124,特定以预测运动矢量MV0B*所指定的参考图片P4的位置为中心的S像素×S线的搜索范围,并将其设置在运动矢量检测器121。
运动矢量检测器121从搜索范围控制器124所设置的参考图片P4上的搜索范围中检测对象块BL0的后向运动矢量。也就是说,运动矢量检测器121在检测到针对参考图片P4的对象块BL1的后向运动矢量后,检测针对参考图片P4的对象块BL0的后向运动矢量。然后,运动矢量检测器121将对象块BL0的后向运动矢量MV0B保存到存储器122中。
这样,在本变形例中,通过按比例缩放表示顺序上最靠近参考图片的B图片的后向运动矢量,可以精确地计算出在该B图片的旁边的B图片中所包含的对象块的预测运动矢量。
(变形例4)
在这里,通过第4变形例说明本实施例中的预测运动矢量的计算方法。
上述实施例中,在计算后向预测运动矢量时,按比例缩放了P图片的运动矢量。
本变形例中,在计算后向预测运动矢量时,通过按比例缩放对象图片中在表示顺序上最远离参考图片的B图片的后向运动矢量,来计算出作为其他的对象图片的B图片的后向预测运动矢量。
图18是变形例4中的预测运动矢量的计算方法的示意图。
首先,运动矢量检测器121检测复数个对象图片中表示顺序上最远离参考图片P4的图片B2中所包含的对象块BL0的运动矢量(后向运动矢量)MV0B。然后,运动矢量检测器121将该运动矢量MV0B保存到存储器122中。
此时,例如,图片B3中的块的针对参考图片P4的运动矢量的搜索范围是S像素×S线,参考图片P4和图片B2之间的表示时间间隔是参考图片P4和图片B3之间的表示时间间隔的2倍。这种情况下,在用于检测对象块BL0的运动矢量MV0B的参考图片P4中的搜索范围是(2×S)像素×(2×S)线。
预测运算器123从存储器122中读出运动矢量MV0B,通过按比例缩放运动矢量MV0B,来对图片B3中与对象块BL0在相同位置上的对象块BL1,计算预测运动矢量MV1B*。
具体而言,预测运算器123使用图片P1、B2、B3和P4的表示顺序信息T1、T2、T3和T4,通过下述的(算式7),计算出图片B3中的对象块BL1的针对参考图片P4的预测运动矢量MV1B*。其中,在(算式7)中,Mv1b表示预测运动矢量MV1B*的大小,Mv0b表示运动矢量MV0B的大小。
Mv1b*=(T4-T3)/(T4-T2)×Mv0b  ……(算式7)
搜索范围控制器124,特定以预测运动矢量MV1B*所指定的参考图片P4的位置为中心的S像素×S线的搜索范围,并将其设置在运动矢量检测器121。
运动矢量检测器121从搜索范围控制器124所设置的参考图片P4上的搜索范围中检测对象块BL1的后向运动矢量。也就是说,运动矢量检测器121在检测到针对参考图片P4的对象块BL0的后向运动矢量后,检测针对参考图片P4的对象块BL1的后向运动矢量。然后,运动矢量检测器121将对象块BL1的后向运动矢量保存到存储器122中。
(变形例5)
在这里,通过第5变形例说明本实施例中的预测运动矢量的计算方法。
上述实施例中,通过检测多张对象图片中一张图片的运动矢量,并按比例缩放该运动矢量,来计算出其他的对象图片的预测运动矢量。也就是说,如图9所示,运动矢量检测装置100a检测复数个对象块中表示顺序最靠前的图片B2中所包含的对象块BL0的运动矢量MV0F,并按比例缩放该运动矢量MV0F。其结果,运动矢量检测装置100a计算出以下两个预测运动矢量:包含在图片B3中的对象块B11的前向预测运动矢量MV1F*和包含在图片P4中的对象块BL2的前向预测运动矢量MV2*。
本变形例中,检测多张对象图片中的运动矢量,并按比例缩放这些图片中距离与作为预测运动矢量的计算对象的图片最近的那张图片的运动矢量。由此,计算出预测运动矢量。即,本变形例中,根据复数个第1图片中的、和第2图片之间的表示时刻的时间差最小的那张图片的第1运动矢量,特定参考图片的搜索范围。
图19是变形例5中的预测运动矢量的计算方法的示意图。
首先,运动矢量检测器121检测对象图片中表示顺序上最靠近参考图片P1的图片B2中所包含的对象块BL0的运动矢量(前向运动矢量)MV0F。然后,运动矢量检测器121将该运动矢量MV0F保存到存储器122中。进而,运动矢量检测器121检测对象图片中仅次于图片B2接近参考图片P1的图片B3中所包含的对象块BL1的运动矢量(前向运动矢量)MV1F。然后,运动矢量检测器121将该运动矢量MV1F保存到存储器122中。
此时,例如,图片B2中的块的针对参考图片P1的运动矢量的搜索范围是S像素×S线,参考图片P1和图片B3之间的表示时间间隔是参考图片P1和图片B2之间的表示时间间隔的2倍。这种情况下,在用于检测对象块BL1的运动矢量MV1F的参考图片P1中的搜索范围是(2×S)像素×(2×S)线。
预测运算器123读出保存在存储器122中的运动矢量MV0F和运动矢量MV1F中最靠近图片P4的图片B3的运动矢量MV1F。然后,预测运算器123通过按比例缩放运动矢量MV1F,来对图片P4中与对象块BL0、BL1在相同位置上的对象块BL2,计算预测运动矢量MV2*。
搜索范围控制器124,特定以预测运动矢量MV2*所指定的参考图片P1的位置为中心的S像素×S线的搜索范围,并将其设置在运动矢量检测器121。
运动矢量检测器121从搜索范围控制器124所设置的参考图片P1上的搜索范围中检测对象块BL2的运动矢量。也就是说,运动矢量检测器121在检测到针对参考图片P1的对象块BL0的前向运动矢量后,检测针对参考图片P1的对象块BL1的前向运动矢量,接着,检测针对参考图片P1的对象块BL2的运动矢量。然后,运动矢量检测器121将对象块BL2的运动矢量保存到存储器122中。
(变形例6)
在这里,通过第6变形例说明本实施例中的预测运动矢量的计算方法。
上述实施例中,通过检测多张对象图片中一张图片的运动矢量,并按比例缩放该运动矢量,来计算出其他的对象图片的预测运动矢量。
本变形例中,检测复数个对象块的运动矢量。然后,在它们的运动矢量的方向一样时,通过按比例缩放任何一个运动矢量,来计算出其他对象图片的预测运动矢量。
图20是变形例6中的预测运动矢量的计算方法的示意图。
首先,运动矢量检测器121检测复数个对象图片中表示顺序上最靠近参考图片P1的图片B2中所包含的对象块BL0的运动矢量(前向运动矢量)MV0F。
进一步地,运动矢量检测器121检测复数个对象图片中表示顺序上最远离参考图片P1的图片P4中所包含的对象块BL2的运动矢量MV2。然后,运动矢量检测器121将这些运动矢量MV0F、MV2保存到存储器122中。
此时,例如,图片B2中的块的针对参考图片P1的运动矢量的搜索范围是S像素×S线,参考图片P1和图片P4之间的表示时间间隔是参考图片P1和图片B2之间的表示时间间隔的3倍。这种情况下,在用于检测对象块BL2的运动矢量MV2的参考图片P1中的搜索范围是(3×S)像素×(3×S)线。
预测运算器123读出并比较保存在存储器122中的运动矢量MV0F和运动矢量MV2。然后,在这两个运动矢量的方向一样时,预测运算器123通过按比例缩放运动矢量MV0F和运动矢量MV2中的任何一个,来对图片B3中与对象块BL0、BL2在相同位置上的对象块BL1,计算预测运动矢量MV1F*。
搜索范围控制器124,特定以预测运动矢量MV1F*所指定的参考图片P1的位置为中心的S像素×S线的搜索范围,并将其设置在运动矢量检测器121。
运动矢量检测器121从搜索范围控制器124所设置的参考图片P1中的搜索范围中检测对象块BL1的运动矢量。也就是说,运动矢量检测器121先检测针对参考图片P1的对象块BL0的前向运动矢量后,再检测针对参考图片P1的对象块BL2的运动矢量,然后检测针对参考图片P1的对象块BL1的前向运动矢量。之后,运动矢量检测器121将对象块BL1的运动矢量保存到存储器122中。
这样,在本变形例中,在多张图片的各自运动矢量的方向一样时,通过按比例缩放它们中的任何一个运动矢量来算出预测运动矢量,从而可以提高该预测运动矢量的精度。
此外,因为通过上述所计算出的预测运动矢量的精度高,所以也可以省去从该预测运动矢量所指定的搜索范围中检测运动矢量这一步骤。即,也可以像实际的运动矢量那样使用该预测运动矢量。
(变形例7)
在这里,通过第7变形例说明本实施例中的预测运动矢量的计算方法。
上述实施例中,在计算对象块的针对参考图片的预测运动矢量时,按比例缩放了与该对象块不同的其他对象块的运动矢量。
本变形例中,在计算对象块的针对参考图片的预测运动矢量时,按比例缩放该对象块的针对其他参考图片的运动矢量。
图21是变形例2中的预测运动矢量的计算方法的示意图。
首先,运动矢量检测器121检测作为B图片的图片B5中所包含的对象块BL3的针对参考图片P4的运动矢量MV3F。
预测运算器123通过按比例缩放由该运动矢量检测器121所检测到的运动矢量MV3F,来计算对象块BL3的针对参考图片P1的预测运动矢量MV3F*。
搜索范围控制器124,特定以预测运动矢量MV3F*所指定的参考图片P1的位置为中心的S像素×S线的搜索范围,并将其设置在运动矢量检测器121中。
运动矢量检测器121从搜索范围控制器124所设置的参考图片P1上的搜索范围中检测对象块BL3的针对参考图片P1的运动矢量。然后,运动矢量检测器121将该对象块BL3的针对参考图片P1的运动矢量保存到存储器122中。
由此,本变形例在可参考多张图片的H.264中是有效的。
(变形例8)
在这里,通过第8变形例说明本实施例中的预测运动矢量的计算方法。
上述实施例中,仅从以预测运动矢量的所指定位置为中心的参考图片上的搜索范围中进行搜索并检测运动矢量。也就是说,如图9所示,运动矢量检测装置100a在检测图片B3中所包含的对象块BL1的前向运动矢量时,仅从以该对象块BL1的预测运动矢量MV1F*的所指定位置为中心的参考图片P1的搜索范围(S像素×S线),搜索有着与对象块BL1近似图像的块。
本变形例中,在以预测运动矢量的所指定位置为中心的参考图片上的搜索范围中,在参考图片上还包含和对象块在空间上位于相同位置的块。
图22是变形例8中的预测运动矢量的计算方法的示意图。
本变形例中所涉及到的搜索范围控制器124在以预测运算器123计算出的预测运动矢量MV1F*所指定的位置为中心的参考图片P1的搜索范围(S像素×S线)中,包含与对象块BL1位于相同位置的参考图片P1的块BL。另外,搜索范围控制器124在以预测运算器123计算出的预测运动矢量MV2*所指定的位置为中心的参考图片P1的搜索范围(S像素×S线)中,还包含与对象块BL2位于相同位置的参考图片P1的块BL。搜索范围控制器124特定包含上述BL的搜索范围,并将其设置在运动矢量检测器121。
运动矢量检测器121分别从包含有参考图片P1的块BL的各个搜索范围中,来检测对象块BL1的前向运动矢量和对象块BL2的前向运动矢量。
这样,在本变形例中,通过扩大搜索范围,可以检测出在S像素×S线的范围中检测不到的适当的运动矢量。
(变形例9)
在这里,通过第9变形例说明本实施例中的预测运动矢量的计算方法。
上述实施例中,对于B图片,在计算出前向预测运动矢量后,计算出后向预测运动矢量。
本变形例中,通过按比例缩放相同的运动矢量,来同时算出B图片的前向预测运动矢量和后向预测运动矢量。另外,本变形例中,在计算预测运动矢量前,实现对两张P图片进行编码和解码。
图23是在变形例9中计算出预测运动矢量之前的各张图片的状态的示意图。
本变形例中,运动图像编码装置100先将2张P图片进行编码并解码,且将各自的图片作为参考图片事先保存到图片存储器120中。
图24是变形例9中的预测运动矢量的计算方法的示意图。
如上所述,本变形例中,运动图像编码装置100先将图片P1和图片P4进行编码并解码,并将各自的图像作为参考图片事先保存到图片存储器120中。因此,在进行了上述编码和解码后,参考图片P4的各个块的运动矢量被保存到了存储器122中。
预测运算器123为了计算出分别包含在对象图片B2、B3和P7中的同一位置的对象块BL0、BL1和BL5的预测运动矢量,从存储器122中读出与这些对象块位于相同位置的参考图片P4的块BL2的运动矢量MV2。
然后,预测运算器123通过按比例缩放该运动矢量MV2,计算出图片B2中所包含的对象块BL0的、针对参考图片P1的前向预测运动矢量MV0F*和针对参考图片P4的后向预测运动矢量MV0B*。预测运算器123通过按比例缩放运动矢量MV2,再计算出图片B3中所包含的对象块BL1的、针对参考图片P1的前向预测运动矢量MV1F*和针对参考图片P4的后向预测运动矢量MV1B*。然后,预测运算器123通过按比例缩放运动矢量MV2,计算出图片P7中所包含的对象块BL5的、针对参考图片P4的后向预测运动矢量MV5*。
搜索范围控制器124对由预测运算器123所计算出的每个预测运动矢量,特定以该预测运动矢量所指定的位置为中心的搜索范围(S像素×S线),并将其设置在运动矢量检测器121。
运动矢量检测器121以每个由搜索范围控制器124所设置的搜索范围为单位,从该搜索范围中检测运动矢量。即,运动矢量检测器121从参考图片P1的搜索范围中检测图片B2的对象块BL0的前向运动矢量,并从参考图片P4的搜索范围中,检测图片B2的对象块BL0的后向运动矢量。之后,运动矢量检测器121从参考图片P1的搜索范围中检测图片B3的对象块BL1的前向运动矢量,并从参考图片P4的搜索范围中检测图片B3的对象块BL1的后向运动矢量。再之后,运动矢量检测器121从参考图片P4的搜索范围中检测图片P7的对象块BL5的运动矢量。然后,运动矢量检测器121将上述检测到的运动矢量依次保存到存储器122中。
运动矢量检测装置100a一边移动分别包含在对象图片B2、B3和P7中的位于同一位置的对象块,一边对各个对象块进行上述运动矢量的检测。然后,运动图像编码装置100利用上述所检测到的运动矢量对图片B2、B3和P7进行编码,同时对图片P7进行编码,并将图片P7作为参考图片保存到图片存储器120中。因此,在进行了上述编码及解码后,参考图片P7的各个块的运动矢量被保存到存储器122中。
运动矢量检测装置100a将对象图片B2、B3和P7换成对象图片B5、B6和P10,对这些对象图片B5、B6和P10也重复进行如上所述的运动矢量的检测。
(变形例10)
在这里,通过第10变形例说明本实施例中的预测运动矢量的计算方法。
本变形例中,运动图像编码装置100采用管线处理方式检测运动矢量、计算预测运动矢量及特定搜索范围,和进行编码及解码处理。
图25是变形例10中的管线处理的示意图。
首先,运动矢量检测器121检测图片B2中的第(N-1)个块BL0的运动矢量MV0F(步骤S500)。
之后,预测运算器123利用该运动矢量MV0F,计算出图片B3、P4的各自的第(N-1)个块BL1、BL2的运动矢量MV1F*、MV2*。进而,搜索范围控制器124特定上述所算出的预测运动矢量MV1F*、MV2*所指定的搜索范围(步骤S502)。在进行上述计算预测运动矢量和特定搜索范围的期间里,针对图片B3的第(N-2)个块BL1,运动矢量检测器121从已被特定的搜索范围中,检测上述块BL1的运动矢量MV1F(步骤S504)。
之后,与上述相同,针对图片P4的第(N-2)个块BL2,运动矢量检测器121从已被特定的搜索范围中,检测上述块BL2的运动矢量MV2(步骤S506)。
然后,运动图像编码装置100利用上述检测到的运动矢量MV2,对图片P4的第(N-2)个块BL2的预测残差图像进行编码,同时将上述所编码的预测残差图像进行解码后生成重建图像,并保存到图片存储器120中(步骤S510)。运动图像检测器121在上述编码和解码处理执行期间,检测图片B2的第N个块BL0的运动矢量MV0F(步骤S508)。
之后,与上述相同,预测运算器123利用该运动矢量MV0F,计算出图片B3、P4的各自的第N个块BL1、BL2的运动矢量MV1F*、MV2*。进而,搜索范围控制器124特定上述所算出的预测运动矢量MV1F*、MV2*所指定的搜索范围(步骤S512)。在进行上述计算预测运动矢量和特定搜索范围的期间里,针对图片B3的第(N-1)个块BL1,运动矢量检测器121从已被特定的搜索范围中,检测上述块BL1的运动矢量MV1F(步骤S514)。
之后,与上述相同,针对图片P4的第(N-1)个块BL2,运动矢量检测器121从已被特定的搜索范围中,检测上述块BL2的运动矢量MV2(步骤S516)。
图26是本变形例中作为运动矢量检测对象的块的顺序的示意图。
再有,图26中的各张图片的方框内所示的N或(N-1)表示该图片中的块的位置。
本变形例中,通过进行管线处理,在检测到图片B2中的第N个块的前向运动矢量后,检测图片B3中的第(N-1)个块的前向运动矢量,之后,检测图片P4中的第(N-1)个块的前向运动矢量。
在这里,本变形例中所涉及的运动图像编码装置100即使是在使用变形例9中的运动矢量的计算方法来检测运动矢量的情况下,也采用管线处理方式进行上述运动矢量的检测和编码及解码处理。
图27是本变形例中的其他管线处理的示意图。
例如,在已经对参考图片P1和参考图片P4进行了编码和解码的状态下,运动矢量检测装置100a首先通过按比例缩放参考图片P4中的第(N-1)个块BL2,来计算出:图片B2中的第(N-1)个块BL0的预测运动矢量MV0F*、MV0B*;图片B3中的第(N-1)个块BL1的预测运动矢量MV1F*、MV1B*;和图片P7中的第(N-1)个块BL5的预测运动矢量MV5*。然后,运动矢量检测装置100a根据算出的每个预测运动矢量特定搜索范围(步骤S600)。
接着,运动矢量检测装置100a检测图片B2中的第(N-1)个块BL0的运动矢量MV0F和MV0B(步骤S602)。
之后,运动图像编码装置100利用上述所检测到的运动矢量MV0F和MV0B,对图片B2中的第(N-1)个块BL0进行编码(步骤S604)。在上述编码执行的期间里,运动矢量检测装置100a检测图片B3中的第(N-1)个块BL1的运动矢量MV1F和MV1B(步骤S606)。
之后,运动图像编码装置100利用上述所检测到的运动矢量MV1F和MV1B,对图片B3的第(N-1)个块BL1进行编码(步骤S610)。在上述进行编码的期间里,运动矢量检测装置100a检测图片P7的第(N-1)个块BL5的运动矢量MV5(步骤S612)。进一步地,此时,运动矢量检测装置100a通过按比例缩放参考图片P4中的第N个块BL2的运动矢量MV2,来计算出:图片B2的第N个块BL0的预测运动矢量MV0F*、MV0B*;图片B3中的第N个块BL1的预测运动矢量MV1F*、MV0B*;和图片P7中的第N个块BL5的预测运动矢量MV5*。然后,运动矢量检测装置100a根据计算出的每个预测运动矢量特定搜索范围(步骤S608)。
接着,运动矢量检测装置100a检测图片B2中的第N个块BL0的运动矢量MV0F、MV0B(步骤S614)。进一步地,此时,运动矢量编码装置100利用步骤S612中所检测到的运动矢量MV5,对图片P7的第(N-1)个块BL5的预测残差图像进行编码,同时将该编码的预测残差图像解码后生成重建图像,并保存到图片存储器120中(步骤S616)。
之后,运动图像编码装置100利用步骤S614中所检测到的运动矢量MV0F和MV0B,对图片B2中的第N个块BL0进行编码(步骤S618)。在上述编码执行的期间里,运动矢量检测装置100a检测图片B3中的第N个块BL1的运动矢量MV1F和MV1B(步骤S620)。
之后,运动图像编码装置100利用上述所检测到的运动矢量MV1F和MV1B,对图片B3的第N个块BL1进行编码(步骤S624)。在上述进行编码的期间里,运动矢量检测装置100a检测图片P7的第N个块BL5的运动矢量MV5(步骤S626)。进一步地,此时,运动矢量检测装置100a通过按比例缩放参考图片P4中的第(N+1)个块BL2的运动矢量MV2,来计算出:图片B2的第(N+1)个块BL0的预测运动矢量MV0F*、MV0B*;图片B3中的第(N+1)个块BL1的预测运动矢量MV1F*、MV0B*;和图片P7中的第(N+1)个块BL5的预测运动矢量MV5*。然后,运动矢量检测装置100a根据计算出的每个预测运动矢量特定搜索范围(步骤S622)。
这样,本变形例中,因利用管线处理的方式进行运动矢量的检测处理和其他处理,可以缩短整体上的处理时间。
以上利用实施例及其变形例对本发明进行了说明,但本发明并不限于此。
例如,变形例10中,虽然采用管线处理的方式进行了运动矢量的检测处理和其他处理,但也可以并列地执行复数个运动矢量的检测处理。此时,运动矢量检测装置100a包含有复数个运动矢量检测器121。然后,这些运动矢量检测器121对例如,图25所示的图片B3中的第(N-2)个块的前向运动矢量MV1F和图片P4中的第(N-2)个块的前向运动矢量MV2同时进行检测。
此外,实现本发明时,也可以将方框图(图7等)的各个功能块当作作为集成电路的LSI。它们可以分别做成一个个的芯片,也可以在一个芯片中包含一部分或者全部。(例如,也可以将存储器以外的功能块做成一个芯片。)虽然这里是当作LSI,但根据集成度的不同,有时也被称为IC、***LSI、super-LSI、ultra-LSI等。
另外,集成电路化的方法并不限定于LSI,也可以通过专用电路或者通用处理器实现。LSI制造后,也可以利用可编程FPGA(Field ProgrammableGateArray)、可重构LSI内部线路单元的连接和设置的可重构处理器等。
进一步地,通过半导体技术的发展或者派生的其他技术,如果出现一种置换LSI的集成电路化技术,当然也可以利用该技术进行功能块的集成化。生物技术的适应等作为可能性也是可以的。
并且,各个功能块中除了将用于保存作为编码或者解码对象的数据的单元做成一个芯片,也可以采用其他结构。
本发明的运动矢量检测装置发挥的效果是:可以降低用于检测运动矢量的运算量,可以缩小电路规模。例如,在手机、摄像机、DVD装置和个人计算机等中,该装置在用于对构成运动图像的各张图片进行编码并生成编码列、或对所生成的编码列进行解码方面是有用的。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的使用范围。

Claims (10)

1.一种运动矢量检测装置,用于检测包含在图片中的对象块的运动矢量,其特征在于,该装置包括:
第1运动检测单元,用于从参考图片中搜索有着与包含在第1图片中的对象块近似图像的块,从而检测包含在所述第1图片中的所述对象块的第1运动矢量;
搜索范围特定单元,用于根据所述第1运动矢量,特定所述参考图片的搜索范围;
第2运动检测单元,用于从所述搜索范围中搜索有着与包含在第2图片中的对象块近似图像的块,从而检测包含在所述第2图片中的所述对象块的第2运动矢量,
所述搜索范围特定单元包括:
预测运算单元,用于根据所述第1及第2图片与所述参考图片间的表示时刻的时间差,按比例缩放所述第1运动矢量,从而计算所述第2图片的所述对象块的预测运动矢量;
特定单元,用于将由所述预测运算单元计算的预测运动矢量所指定的所述参考图片的范围特定为所述搜索范围。
2.根据权利要求1所述的运动矢量检测装置,其特征在于,
所述预测运算单元,在所述第2图片中,将在空间上与所述第1图片的所述对象块位于同一位置的同位置块作为所述第2图片的所述对象块,来计算该对象块的所述预测运动矢量;
所述第2运动检测单元,将所述同位置块作为所述第2图片的所述对象块,检测该对象块的所述第2运动矢量。
3.根据权利要求1或2所述的运动矢量检测装置,其特征在于,
所述搜索范围特定单元,从所述第1图片和所述参考图片之间的表示时刻的时间差与所述第2图片和所述参考图片之间的表示时刻的时间差中与最长的时间差所对应的大小的可搜索最大范围中,特定所述搜索范围。
4.根据权利要求1或2所述的运动矢量检测装置,其特征在于,
所述搜索范围特定单元,在所述参考图片中,将以与所述第2图片的所述对象块在空间上位于相同位置的块为中心的范围作为可搜索最大范围,从该可搜索最大范围中特定所述搜索范围。
5.根据权利要求1或2所述的运动矢量检测装置,其特征在于,
所述第1运动检测单元,对每一个所述第1图片,都检测包含在该第1图片中的所述对象块的所述第1运动矢量;
所述搜索范围特定单元,根据在复数个所述第1图片中与所述第2图片间的表示时刻时间差最短的图片的第1运动矢量,特定所述参考图片的搜索范围。
6.根据权利要求1或2所述的运动矢量检测装置,其特征在于,
所述特定单元,将所述预测运动矢量所指定的所述参考图片的范围、以及在所述参考图片中,与所述第2图片的所述对象块处于空间上的同一位置的块,特定为所述搜索范围。
7.根据权利要求1或2所述的运动矢量检测装置,其特征在于,
所述第1运动检测单元,从所述参考图片中的一部分的部分范围搜索有着与包含在所述第1图片中的所述对象块近似图像的块;
所述搜索范围特定单元,特定和所述部分范围相同大小的所述搜索范围。
8.根据权利要求1或2所述的运动矢量检测装置,其特征在于,
所述第1或第2运动检测单元,在对利用了已检测出的所述第1或第2运动矢量的所述第1或第2图片的所述对象块进行编码处理期间,检测包含在所述第1或第2图片中的其他对象块的第1或第2运动矢量。
9.一种运动矢量检测方法,用于检测包含在图片中的对象块的运动矢量,其特征在于,该方法包括:
第1运动检测步骤,从参考图片中搜索有着与包含在第1图片中的对象块近似图像的块,从而检测包含在所述第1图片中的所述对象块的第1运动矢量;
搜索范围特定步骤,根据所述第1运动矢量,特定所述参考图片的搜索范围;
第2运动检测步骤,从所述搜索范围中搜索有着与包含在第2图片中的对象块近似图像的块,从而检测包含在所述第2图片中的所述对象块的第2运动矢量,
所述搜索范围特定步骤包括:
预测运算步骤,用于根据所述第1及第2图片与所述参考图片间的表示时刻的时间差,按比例缩放所述第1运动矢量,从而计算所述第2图片的所述对象块的预测运动矢量;
特定步骤,用于将由所述预测运算步骤计算的预测运动矢量所指定的所述参考图片的范围特定为所述搜索范围。
10.一种用于检测包含在图片中的对象块的运动矢量的集成电路,其特征在于,该集成电路包括:
第1运动检测单元,用于从参考图片中搜索有着与包含在第1图片中的对象块近似图像的块,从而检测包含在所述第1图片中的所述对象块的第1运动矢量;
搜索范围特定单元,用于根据所述第1运动矢量,特定所述参考图片的搜索范围;
第2运动检测单元,用于从所述搜索范围中搜索有着与包含在第2图片中的对象块近似图像的块,从而检测包含在所述第2图片中的所述对象块的第2运动矢量,
所述搜索范围特定单元包括:
预测运算单元,用于根据所述第1及第2图片与所述参考图片间的表示时刻的时间差,按比例缩放所述第1运动矢量,从而计算所述第2图片的所述对象块的预测运动矢量;
特定单元,用于将由所述预测运算单元计算的预测运动矢量所指定的所述参考图片的范围特定为所述搜索范围。
CN2006101380215A 2005-11-02 2006-11-02 运动矢量检测装置 Expired - Fee Related CN1960496B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005-320189 2005-11-02
JP2005320189A JP4879558B2 (ja) 2005-11-02 2005-11-02 動きベクトル検出装置
JP2005320189 2005-11-02

Publications (2)

Publication Number Publication Date
CN1960496A CN1960496A (zh) 2007-05-09
CN1960496B true CN1960496B (zh) 2010-09-01

Family

ID=38040790

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101380215A Expired - Fee Related CN1960496B (zh) 2005-11-02 2006-11-02 运动矢量检测装置

Country Status (3)

Country Link
US (1) US8451898B2 (zh)
JP (1) JP4879558B2 (zh)
CN (1) CN1960496B (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4412323B2 (ja) * 2006-12-28 2010-02-10 株式会社日立製作所 映像処理装置及び映像表示装置
US20090225867A1 (en) * 2008-03-06 2009-09-10 Lee Kun-Bin Methods and apparatus for picture access
JP5406465B2 (ja) * 2008-04-24 2014-02-05 株式会社Nttドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム
KR101501568B1 (ko) * 2008-07-04 2015-03-12 에스케이 텔레콤주식회사 영상 부호화 및 복호화 장치 및, 방법
JP5401071B2 (ja) * 2008-10-09 2014-01-29 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法
KR101279573B1 (ko) 2008-10-31 2013-06-27 에스케이텔레콤 주식회사 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
CN103647972B (zh) * 2008-12-03 2017-04-12 日立麦克赛尔株式会社 运动图像解码方法和运动图像编码方法
US8175163B2 (en) * 2009-06-10 2012-05-08 Samsung Electronics Co., Ltd. System and method for motion compensation using a set of candidate motion vectors obtained from digital video
US9635382B2 (en) * 2011-01-07 2017-04-25 Texas Instruments Incorporated Method, system and computer program product for determining a motion vector
CN107360420B (zh) 2011-02-09 2020-11-06 Lg 电子株式会社 一种图像解码装置和图像编码装置
CN103392340B (zh) * 2011-03-14 2017-02-08 寰发股份有限公司 推导运动向量预测子的方法与装置
CN107257479A (zh) 2011-05-31 2017-10-17 Jvc建伍株式会社 动图像编码装置、动图像编码方法以及记录介质
CA3019973C (en) * 2011-06-28 2021-03-09 Lg Electronics Inc. Method for setting motion vector list and apparatus using same
JP5682477B2 (ja) * 2011-06-29 2015-03-11 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、および画像符号化プログラム
JP5682478B2 (ja) * 2011-06-29 2015-03-11 株式会社Jvcケンウッド 画像復号装置、画像復号方法、および画像復号プログラム
JP6222514B2 (ja) * 2012-01-11 2017-11-01 パナソニックIpマネジメント株式会社 画像処理装置、撮像装置、およびコンピュータブログラム
SI3767952T1 (sl) * 2012-01-19 2022-01-31 Electronics And Telecommunications Research Institute Naprava za kodiranje/dekodiranje slike
JP5693628B2 (ja) * 2013-02-21 2015-04-01 三菱電機株式会社 画像復号装置
US10382782B2 (en) * 2014-06-27 2019-08-13 Samsung Electronics Co., Ltd. Image frame interpolation apparatus, display apparatus and control method thereof
JP5931160B2 (ja) * 2014-11-05 2016-06-08 三菱電機株式会社 画像符号化装置およびビットストリーム
US10499070B2 (en) * 2015-09-11 2019-12-03 Facebook, Inc. Key frame placement for distributed video encoding
US10341561B2 (en) 2015-09-11 2019-07-02 Facebook, Inc. Distributed image stabilization
US10602157B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Variable bitrate control for distributed video encoding
US10063872B2 (en) * 2015-09-11 2018-08-28 Facebook, Inc. Segment based encoding of video
US10375156B2 (en) 2015-09-11 2019-08-06 Facebook, Inc. Using worker nodes in a distributed video encoding system
US10602153B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Ultra-high video compression
US10506235B2 (en) 2015-09-11 2019-12-10 Facebook, Inc. Distributed control of video encoding speeds

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1109244A (zh) * 1993-09-09 1995-09-27 索尼公司 运动矢量检测装置及方法
CN1195824A (zh) * 1997-01-09 1998-10-14 松下电器产业株式会社 运动矢量检测装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0424026B1 (en) 1989-10-14 1997-07-23 Sony Corporation Video signal transmitting system and method
JP2830183B2 (ja) 1989-10-14 1998-12-02 ソニー株式会社 動きベクトル検出装置及び動きベクトル検出方法
JPH04150284A (ja) * 1990-10-09 1992-05-22 Olympus Optical Co Ltd 動ベクトル検出方法およびその装置
JPH09168153A (ja) * 1995-12-15 1997-06-24 Matsushita Electric Ind Co Ltd 動き検出方法
JPH10341440A (ja) 1997-06-06 1998-12-22 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化方法および装置
JP3335137B2 (ja) 1998-05-19 2002-10-15 日本電信電話株式会社 動きベクトル探索方法、動きベクトル探索装置および動きベクトル探索プログラムを記録した記録媒体
JP4114859B2 (ja) * 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
EP1408696A4 (en) * 2002-07-02 2008-04-09 Matsushita Electric Ind Co Ltd METHOD FOR EVALUATING MOTION VECTORS, METHOD FOR CYCLING A DYNAMIC IMAGE, METHOD FOR DECODING A DYNAMIC IMAGE
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
EP2793473B1 (en) * 2002-11-01 2016-12-14 Godo Kaisha IP Bridge 1 Direct mode motion vector computation avoiding divisions by zero
JP2004173009A (ja) * 2002-11-20 2004-06-17 Matsushita Electric Ind Co Ltd 動きベクトル検出装置および動きベクトル検出方法
JP4015084B2 (ja) * 2003-08-20 2007-11-28 株式会社東芝 動きベクトル検出装置及び動きベクトル検出方法
US7400681B2 (en) * 2003-11-28 2008-07-15 Scientific-Atlanta, Inc. Low-complexity motion vector prediction for video codec with two lists of reference pictures
NO319629B1 (no) * 2003-11-28 2005-09-05 Tandberg Telecom As Fremgangsmate for korrigering av interpolerte pikselverdier
US7660354B2 (en) * 2005-05-11 2010-02-09 Fang Shi Temporal error concealment for bi-directionally predicted frames
JP2006136011A (ja) 2005-12-05 2006-05-25 Sony Corp 動画像符号化方法とその装置、及び、復号方法とその装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1109244A (zh) * 1993-09-09 1995-09-27 索尼公司 运动矢量检测装置及方法
CN1195824A (zh) * 1997-01-09 1998-10-14 松下电器产业株式会社 运动矢量检测装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JP特开2000-92498A 2000.03.31
JP特开平10-341440A 1998.12.22
JP特开平3-129984A 1991.06.03

Also Published As

Publication number Publication date
JP2007129498A (ja) 2007-05-24
CN1960496A (zh) 2007-05-09
US20070110161A1 (en) 2007-05-17
JP4879558B2 (ja) 2012-02-22
US8451898B2 (en) 2013-05-28

Similar Documents

Publication Publication Date Title
CN1960496B (zh) 运动矢量检测装置
JP6411615B2 (ja) 予測復号方法
CN102362500B (zh) 图像预测编码装置、图像预测编码方法、图像预测编码程序、图像预测解码装置、图像预测解码方法及图像预测解码程序
JP3880985B2 (ja) 動きベクトル検出装置および動きベクトル検出方法
US20050105620A1 (en) Motion vector detecting device and motion vector detecting program
CN100366092C (zh) 一种视频编码中基于运动矢量预测的搜索方法
AU2015217509B2 (en) Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and, predictive decoding method, predictive decoding device, and predictive decoding program of motion vector
JP4165447B2 (ja) 動きベクトル検出装置及び動きベクトル検出プログラム
JP2005341023A (ja) 動きベクトル検出装置及び動きベクトル検出プログラム
JP2005123760A (ja) 動きベクトル検出装置及び動きベクトル検出プログラム

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: 20100901

Termination date: 20141102

EXPY Termination of patent right or utility model