CN101990761A - 运动图像编码设备和运动图像编码方法 - Google Patents

运动图像编码设备和运动图像编码方法 Download PDF

Info

Publication number
CN101990761A
CN101990761A CN2009801124155A CN200980112415A CN101990761A CN 101990761 A CN101990761 A CN 101990761A CN 2009801124155 A CN2009801124155 A CN 2009801124155A CN 200980112415 A CN200980112415 A CN 200980112415A CN 101990761 A CN101990761 A CN 101990761A
Authority
CN
China
Prior art keywords
motion
dividing method
search
vector search
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
Application number
CN2009801124155A
Other languages
English (en)
Other versions
CN101990761B (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.)
Canon Inc
Original Assignee
Canon Inc
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
Priority claimed from JP2008095436A external-priority patent/JP5247210B2/ja
Priority claimed from JP2008148324A external-priority patent/JP5390794B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN101990761A publication Critical patent/CN101990761A/zh
Application granted granted Critical
Publication of CN101990761B publication Critical patent/CN101990761B/zh
Active 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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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)

Abstract

一种运动图像编码设备,包括:运动矢量搜索单元,用于将画面分割成编码块,并将每个编码块分割成运动补偿块,并且通过针对作为编码对象的运动补偿块参考过去或未来的图像来进行运动矢量搜索;以及编码单元,用于对运动补偿块与基于运动矢量的预测图像之间的差值进行编码。运动矢量搜索单元对每个编码块设置多种块类型,针对每个块类型使用缩小图像进行运动矢量粗搜索,针对每个块类型基于运动矢量计算评价值,并且判断是否将获得了最高评价值的块类型的分割方法设置为用于运动矢量精搜索的运动补偿块分割方法。

Description

运动图像编码设备和运动图像编码方法
技术领域
本发明涉及运动图像编码设备和运动图像编码方法,更具体地,涉及在实时编码中使用的有利技术。
背景技术
迄今为止,例如,作为用于拍摄被摄体、对这样获得的运动图像数据进行压缩编码、并将压缩编码后的运动图像数据记录到记录介质的记录设备,已知数字摄像机。近年来,在这类记录设备中所使用的记录介质已从传统的磁带向在随机存取性和高存取速度方面占优势的磁盘介质、半导体存储器等变换。然而,与磁带相比,磁盘介质和半导体存储器一般对于存储容量而言具有低成本性能。因此,当使用磁盘介质或半导体存储器作为记录介质时,需要以更高效率对运动图像数据进行压缩编码。
由于期望图像质量高,因此,用于处理具有更大信息量的高清晰度(HD)视频的数字摄像机也变得更加普及。从这个观点来看,也期望对运动图像数据的更高效率的压缩编码。MPEG-2是一般用于以高效率对运动图像数据进行压缩编码的压缩编码系统。
另外,近年来,在到记录介质的记录时间的进一步改善以及记录容量有限的移动终端对更低比特率的编码的增强需求之后,已开发了更高效率的压缩编码系统。H.264|AVC方法是这些更高效率的压缩编码系统之一。众所周知,虽然与传统的MPEG-2方法和MEPG-4方法相比,H.264|AVC方法需要更多编码和解码的运算,但是H.264|AVC方法能够实现高编码效率。应注意,在下文中,将“H.264|AVC方法”简称为“H.264”。
在H.264中,已尝试各种装置,以提高编码效率。可变块大小运动补偿是一个示例。这包括再分割构成编码单位的宏块(编码块)以形成宏块分区(运动补偿块)、以及以运动补偿块为单位进行运动补偿。在H.264中,与利用单一块大小进行运动补偿的MPEG-2等的传统压缩编码系统相比,使用可变块大小运动补偿能够实现更精确的运动补偿。给出日本特开2006-134734号公报中所提出的“编码设备”,作为适应地使用可变块大小运动补偿的示例性发明。
然而,在H.264中,作为可变块大小运动补偿的结果而使编码块大小可选择,这导致了用于确定块大小的运算负载的增加。即,需要对针对要编码的编码块可以设置的所有运动补偿块进行运动矢量搜索处理,并且选择最佳块大小。鉴于此,作为尽可能简单地确定适当的块大小的方式,提出了使用在拍摄作为编码对象的图像时获取的信息来减小与块大小选择相关的运算量(例如,参见日本特开2006-254370号公报)。
在H.264中,如上所述,为了进行由可变块大小运动补偿引起的运动补偿块分割,进行运动矢量搜索并确定运动补偿块分割方法需要大量运算。因此,尤其在诸如上述数字摄像机中进行实时编码的情况下,需要能够非常快地进行运算的处理器,从而导致装置成本和功耗增加。
此外,在日本特开2006-254370号公报的配置中,照相机单元需要将在拍摄图像时所获取的信息输出至编码单元,并且在编码单元侧需要用于在编码期间输入并处理从照相机单元供给的信息的机构。
发明内容
考虑到上述情况而作出了本发明,并且本发明的目的在于减小用于进行运动矢量搜索并确定运动补偿块分割方法的运算量。
根据本发明,通过提供一种运动图像编码设备来实现上述目的,该运动图像编码设备包括:运动矢量搜索部件,用于将画面分割成构成编码单位的编码块,将所述编码块分割成一个或多个构成运动补偿单位的运动补偿块,并且通过针对作为编码对象的运动补偿块参考作为参考图像的过去或未来的图像来进行运动矢量搜索;以及编码部件,用于对所述作为编码对象的运动补偿块与基于由所述运动矢量搜索部件获得的运动矢量的预测图像之间的差值进行编码,其中,所述运动矢量搜索部件包括:设置部件,用于当使用所述参考图像的缩小图像来粗略地进行运动矢量搜索时,对所述编码块设置多种运动补偿块类型;评价值计算部件,用于针对由所述设置部件设置的所述多种运动补偿块类型中的每种运动补偿块类型,使用所述缩小图像进行运动矢量搜索,并且基于所获得的多个运动矢量,计算所述多种运动补偿块类型各自的评价值;以及判断部件,用于根据由所述评价值计算部件计算出的多个评价值中评价最高的评价值的可靠性,判断是否将获得了所述评价最高的评价值的运动补偿块类型的分割方法设置为在使用所述参考图像详细地进行运动矢量搜索时的运动补偿块分割方法。
根据本发明,还通过提供了一种运动图像编码方法来实现上述目的,该运动图像编码方法包括:运动矢量搜索步骤,用于将画面分割成构成编码单位的编码块,将所述编码块分割成一个或多个构成运动补偿单位的运动补偿块,并且通过针对作为编码对象的运动补偿块参考作为参考图像的过去或未来的图像来进行运动矢量搜索;以及编码步骤,用于对所述作为编码对象的运动补偿块与基于在所述运动矢量搜索步骤中获得的运动矢量的预测图像之间的差值进行编码,其中,所述运动矢量搜索步骤包括:设置步骤,用于当使用所述参考图像的缩小图像来粗略地进行运动矢量搜索时,对所述编码块设置多种运动补偿块类型;评价值计算步骤,用于针对在所述设置步骤中设置的所述多种运动补偿块类型中的每种运动补偿块类型,使用所述缩小图像进行运动矢量搜索,并且基于所获得的多个运动矢量,计算所述多种运动补偿块类型各自的评价值;以及判断步骤,用于根据在所述评价值计算步骤中计算出的多个评价值中评价最高的评价值的可靠性,判断是否将获得了所述评价最高的评价值的运动补偿块类型的分割方法设置为在使用所述参考图像详细地进行运动矢量搜索时的运动补偿块分割方法。
另外,根据本发明,还通过提供以下的运动图像编码设备来实现上述目的,该运动图像编码设备用于将画面分割成构成编码单位的编码块,将所述编码块分割成一个或多个构成运动补偿单位的运动补偿块,并且通过针对包括在作为编码对象的编码块中的运动补偿块至少参考过去的图像来进行运动矢量搜索,所述运动图像编码设备包括:分割部件,用于使用所设置的多种不同的分割方法来分割所述作为编码对象的编码块,并且形成与分割方法相对应的运动补偿块;运动矢量搜索部件,用于针对通过所述分割部件使用所述多种不同的分割方法所形成的各个运动补偿块,根据搜索精度进行运动矢量搜索;设置部件,用于基于由所述运动矢量搜索部件根据搜索精度进行的运动矢量搜索的结果来选择至少一种分割方法,对所述分割部件设置所选择的分割方法,对所述分割部件设置所述多种不同的分割方法中的至少一种规定的分割方法,并且将搜索精度设置为更高的搜索精度;以及控制部件,用于进行控制,以顺次重复如下操作:所述设置部件设置分割方法和搜索精度的操作、以及所述运动矢量搜索部件根据所设置的分割方法和搜索精度来进行运动矢量搜索的操作,其中,如果判断为作为重复操作的结果、由所述设置部件设置的更高的搜索精度是预先设置的搜索精度,则所述控制部件基于由所述运动矢量搜索部件进行的运动矢量搜索的结果,选择基于搜索结果选择的分割方法和所述规定的分割方法中的一种分割方法,并且将作为使用所选择的该种分割方法进行的运动矢量搜索的结果而获得的运动矢量确定为最终的运动矢量。
此外,根据本发明还通过提供以下的一种运动图像编码方法来实现上述目的,该运动图像编码方法用于将画面分割成构成编码单位的编码块,将所述编码块分割成一个或多个构成运动补偿单位的运动补偿块,并且通过针对包括在作为编码对象的编码块中的运动补偿块至少参考过去的图像来进行运动矢量搜索,所述运动图像编码方法包括:分割步骤,用于使用所设置的多种不同的分割方法来分割所述作为编码对象的编码块,并且形成与分割方法相对应的运动补偿块;运动矢量搜索步骤,用于针对在所述分割步骤中使用所述多种不同的分割方法所形成的各个运动补偿块,根据搜索精度进行运动矢量搜索;设置步骤,用于基于在所述运动矢量搜索步骤中根据搜索精度进行的运动矢量搜索的结果来选择至少一种分割方法,对所述分割步骤设置所选择的分割方法,对所述分割步骤设置所述多种不同的分割方法中的至少一种规定的分割方法,并且将搜索精度设置为更高的搜索精度;以及控制步骤,用于进行控制,以顺次重复如下操作:在所述设置步骤中设置分割方法和搜索精度的操作、以及在所述运动矢量搜索步骤中根据所设置的分割方法和搜索精度来进行运动矢量搜索的操作,其中,如果判断为作为重复操作的结果、在所述设置步骤中设置的更高的搜索精度是预先设置的搜索精度,则在所述控制步骤中,基于在所述运动矢量搜索步骤中进行的运动矢量搜索的结果,选择基于搜索结果选择的分割方法和所述规定的分割方法中的一种分割方法,并且将作为使用所选择的该种分割方法进行的运动矢量搜索的结果而获得的运动矢量确定为最终的运动矢量。
根据以下(参考附图)对示例性实施例的描述,本发明的其他特征将变得显而易见。
附图说明
图1是示意性示出能够应用本发明的数字摄像机的示例性配置的框图。
图2是示意性示出根据本发明的实施例的编码单元的配置的框图。
图3是示出设置在根据本发明的第一实施例的运动图像编码设备中的运动矢量搜索单元的操作的流程图。
图4A至图4D示出根据本发明的第一实施例的运动补偿块分割。
图5A和图5B示出根据本发明的第一实施例的示例性评价值。
图6是示出根据本发明的第二实施例的示例性运动矢量搜索处理的流程图。
图7更详细地示出根据本发明的第二实施例的运动矢量搜索单元的操作。
图8是示出根据本发明的第三实施例的示例性运动矢量搜索处理的流程图。
图9示出根据本发明的第三实施例对于编码对象块设置的示例性分区。
图10更详细地示出根据本发明的第三实施例的运动矢量搜索单元的操作。
具体实施方式
将根据附图详细地描述本发明的优选实施例。
图1示意性示出能够应用本发明的数字摄像机1的示例性配置。摄像单元10包括光学系统、用于将经由光学系统入射的光转换为电信号的诸如CCD或CMOS传感器的摄像装置、以及用于对从摄像装置输出的图像信号进行规定处理并输出处理后的图像信号作为运动图像数据的信号处理单元。将从摄像单元10输出的运动图像数据供给应用了本发明的编码单元11,并且该运动图像数据经过使用H.264的压缩编码。
从编码单元11输出压缩编码后的运动图像数据,并将该运动图像数据供给记录控制单元12。记录控制单元12控制将数据记录到由磁盘介质或半导体存储器构成的记录介质13的操作。记录控制单元12对所供给的压缩运动图像数据进行纠错编码处理和适用于记录介质13的类型的记录/编码处理,以获得记录数据。记录控制单元12以与记录介质13相适应的数据单位将记录数据经由缓冲存储器写入记录介质13。
CPU 20控制整个数字摄像机1的操作。即,CPU 20使用RAM22作为工作存储器来进行操作,并根据预先存储在ROM 21中的程序,控制摄像单元10、编码单元11和记录控制单元12的操作。操作单元23设置有用户用以操作数字摄像机1的操作器、以及用户用以检查数字摄像机1的操作的显示装置。CPU 20根据用户对操作单元23的操作,控制数字摄像机1的操作。
图2是示出根据本发明实施例的编码单元11的示例性配置的框图。编码单元11将画面分割成构成编码单位的编码块,并且将该编码块分割成构成运动补偿单位的运动补偿块。
然后,编码单元11通过针对作为编码对象的运动补偿块参考作为参考图像的过去或未来的图像来进行运动矢量检测,并且对作为编码对象的运动补偿块与基于检测到的运动矢量的预测图像之间的差值进行编码。在本实施例中,在将分辨率从低分辨率逐步地改变为高分辨率的情况下进行运动矢量搜索。
在图2中,编码单元11包括帧存储器102、运动矢量搜索单元103、帧间运动补偿单元104、帧内预测单元105和开关106。
编码单元11还包括减法器107、整数变换单元108、量化单元109、逆量化单元110、逆整数变换单元111、加法器112、环路滤波器113、熵编码单元115和代码量控制单元116。
编码单元11通过阿达玛(Hadamard)变换和使用整数精度离散余弦变换(DCT)的正交变换并且通过帧内预测编码和使用运动补偿的帧间预测编码,对所供给的运动图像数据进行压缩编码。下文中,将阿达玛变换和使用整数精度DCT的正交变换称为整数变换,而将帧内预测编码和帧间预测编码分别称为帧内编码和帧间编码。通过CPU 20控制编码单元11的操作。
使用帧间编码形成用于利用单个参考帧对运动补偿单位(MC块)进行预测的P图片以及用于利用按时间序列位于前后的两个参考图像对MC块进行预测的B图片。使用帧内编码形成I图片。另外,通过帧间预测编码,将运动图像数据编码为具有这些I图片、P图片和B图片按照规定顺序排列的图片组(GOP)结构的数据。
例如,在编码单元11形成具有包括一幅I图片、四幅P图片和十幅B图片的十五个帧的GOP的情况下,按照以下顺序将图片类型分配给要输入至编码单元11的帧。应注意,下标表示输入顺序或显示顺序。
B1B2I3B4B5P6B7B8P9B10B11P12B13B14P15
这里,由于B图片用于使用按时间序列的过去的图片和未来的图片来进行预测编码,因此,在交换B图片与I图片和P图片的顺序之后,按照以下顺序进行编码。应注意,使用I3图片和前一GOP中的P15图片来对在I3图片后的B1和B2图片进行预测编码。
I3B1B2P6B4B5P9B7B8P12B10B11P15B13B14
按照按时间序列拍摄帧的顺序,即按照第一帧、第二帧、第三帧等的顺序,将从摄像单元10供给的运动图像数据存储在帧存储器102中。例如,按照将对帧进行编码的顺序,诸如按照第三帧、第一帧、第二帧等的顺序,以编码顺序从帧存储器102逐帧地读出运动图像数据。对帧进行编码的顺序不同于输入帧的顺序,以使得能够利用时间上的未来帧进行预测(反向预测)。
在进行帧内编码的情况下,从帧存储器102读出在运动图像数据中与I图片相对应的帧内作为编码对象的块的图像数据,并且将该图像数据分别供给帧内预测单元105和减法器107的被减数输入端子。这里,假设帧对应于运动图像数据的单个画面。即,编码对象块是在将运动图像数据的单个画面分割成规定数量的块时获得的块之一。
帧内预测单元105对由从加法器112供给的、在同一帧内位于编码对象块附近的重构图像生成的多个预测图像中的每一个预测图像进行与编码对象块的块匹配。然后,帧内预测单元105从多个预测图像中选择通过块匹配得到的具有最高相关性的帧内预测图像。响应于帧内编码的执行,将该帧内预测图像输出至选通帧内预测单元105侧的开关106。
另一方面,在进行帧间编码的情况下,从帧存储器102读出作为编码对象的块的图像数据,并将该图像数据供给运动矢量搜索单元103。此外,从帧存储器102读出参考图像,并且将该参考图像供给运动矢量搜索单元103。可以从多个图片中选择参考图像。运动矢量搜索单元103基于作为编码对象的块的图像数据和参考图像来进行运动矢量检测。此时,运动矢量搜索单元103使用下文将描述的处理,在将编码对象块分割成一个或多个分区之后,进行运动矢量搜索。将通过运动矢量搜索单元103检测到的运动矢量供给帧间运动补偿单元104。
帧间运动补偿单元104基于从运动矢量搜索单元103供给的运动矢量和从帧存储器102读出的参考图像进行运动补偿,并且使用帧间预测来生成帧间预测图像。响应于帧间编码的执行,将帧间预测图像输出至选通帧间运动补偿单元104侧的开关106。
将开关106的输出供给减法器107的减数输入端子和加法器112的一个输入端子。减法器107输出从帧存储器102供给的编码对象块与从开关106供给的帧间预测图像或帧内预测图像之间的像素值的差信息。将该差信息供给整数变换单元108,其中,该差信息在整数变换单元108中经过使用阿达玛变换或整数精度DCT的整数变换,然后在量化单元109中基于规定量化系数进行量化。构成量化单元109的输出的量化后的变换系数在熵编码单元115中经过熵编码,并且从该编码单元11输出。
基于对由熵编码单元115等产生的代码量的反馈,通过代码量控制单元116计算量化单元109中的量化系数。通过在逆量化单元110中进行逆量化并在逆整数变换单元111中进行逆整数变换处理,对构成量化单元109的输出的量化后的变换系数进行解码,然后在加法器112中将其与从开关106输出的帧间预测图像或帧内预测图像相加,以形成重构图像。将该重构图像供给帧内预测单元105,并且在生成上述的帧内预测图像时使用该重构图像。
此外,从加法器112输出的重构图像经过利用环路滤波器113的编码噪声降低处理,然后,将其存储在帧存储器102中,作为在进行帧间编码时要使用的参考图像。
第一实施例
接下来,将详细地描述第一实施例中的运动矢量搜索单元103的操作。在第一实施例中,通过两阶段处理求出分区分割方法(下文所述),其中,该两阶段处理包括用于以低搜索精度进行运动矢量搜索的粗搜索以及用于在增大搜索精度之后进行搜索的精搜索。然后,将与获得的分区相对应的运动矢量确定为最终的运动矢量搜索结果。
图3是示出设置在根据本发明的第一实施例的编码单元11中的运动矢量搜索单元103的操作的流程图。
粗搜索
当在步骤S11开始操作时,在步骤S12,运动矢量搜索单元103进行用于设置在粗搜索中使用的多个分区的处理。在该处理中,首先,从帧存储器102读出作为编码对象的编码块(下文中称为编码对象块)的图像数据,并且从帧存储器102读出运动矢量搜索区域的图像数据(参考图像数据)。然后,所读取的编码对象块的图像数据和所读取的搜索区域的图像数据经过使用规定缩小率的缩小处理。通过例如根据缩小率对从帧存储器102读出的图像数据进行像素间隔剔除,在运动矢量搜索单元103中进行缩小处理。该缩小处理并不限于此,并且可以使用线性插值等进行缩小处理。
缩小处理也不限于通过运动矢量搜索单元103进行。例如,可以将预先按规定缩小率缩小的图像数据存储在帧存储器102中。在这种情况下,运动矢量搜索单元103通过读出减小后的图像数据,获取经过了缩小处理的编码对象块的图像数据和经过了缩小处理的运动矢量搜索区域的图像数据。另外,运动矢量搜索单元103可以在根据缩小率间隔剔除像素的情况下从帧存储器102读出图像数据。
在第一实施例中,缩小率在水平方向和垂直方向上均为1/4,并且缩小后的图像中的搜索区域在水平方向和垂直方向上均为±8个像素。作为示例,如果编码对象块的大小是16×16个像素,则缩小后的编码对象块的大小将为4×4个像素。将编码对象块分割成如图4A至图4D所示的一个或多个运动补偿块(分区)。即,在图4A所示的分区分割方法中,将编码对象块分割成由16×16个像素组成的单个分区,并且在图4B所示的分区分割方法中,将编码对象块分割成两个由16×8个像素组成的分区。在图4C所示的分区分割方法中,将编码对象块分割成两个由8×16个像素组成的分区,并且在图4D所示的分区分割方法中,将编码对象块分割成四个由8×8个像素组成的分区。对各分区进行运动矢量搜索。应注意,图4A至图4D所示的分区的大小由缩小前的图像中的像素数表示,其中,将图4A的分割方法称为分区类型16×16,以及将图4B的分割方法称为分区类型16×8。类似地,将图4C的分割方法称为分区类型8×16,以及将图4D的分割方法称为分区类型8×8。因此,在分区类型16×16的情况下,缩小后的图像将是四个水平像素与四个垂直像素的分区。
接下来,处理进入步骤S13,在步骤S13,运动矢量搜索单元103使用缩小后的编码对象块和搜索区域的图像数据,通过对所设置的每个分区进行运动矢量粗搜索来进行运动矢量搜索(评价值计算)。在运动矢量搜索中,在改变提取预测图像的坐标的情况下,基于例如编码对象块与从搜索区域(这里,如上所述,在水平方向和垂直方向上为±8个像素)的图像数据提取的预测图像的块之间的相关性,计算多个评价值。将评价值最小时的坐标确定为分区的运动矢量。
这里,将通过将预测图像与编码对象块中的各对应像素的差的绝对值相加而获得的差绝对值和、以及与根据提取预测图像的坐标计算出的运动矢量的代码量相当的值分别乘以系数并相加,以给出用作评价值的值。
接下来,在步骤S14,运动矢量搜索单元103判断是否对所设置的多个分区中的所有分区完成了搜索。如果判断为未完成,则处理返回至步骤S12,并且重复上述处理。如果在步骤S14判断为对所有分区完成了搜索,则处理进入步骤S15。
分区分割方法的确定
接下来,在步骤S15,运动矢量搜索单元103判断通过将在步骤S13计算出的每个分区的编码对象块的评价值中的次小评价值除以最小评价值而获得的值是否大于预定阈值。如果判断为所获得的值大于预定阈值,则判断为评价值的可靠性高,并且处理进入步骤S16。在步骤S16,运动矢量搜索单元103设置在步骤S12所设置的分区中具有最小评价值的分区。应注意,在判断评价值的可靠性的情况下,可以将运动矢量搜索单元103配置为在评价值小于给定阈值的情况下判断为可靠性高。
图5A示出在判断为上述评价值的可靠性高的情况下分区类型与各自的评价值之间的示例性对应关系。在图5A的情况下,在步骤S16,运动矢量搜索单元103将具有最小评价值的分区类型16×8设置为在随后的运动矢量精搜索(下文所述)中要使用的分区。
另一方面,如果在步骤S15判断为进行上述除法得到的值小于或等于预定阈值,则判断为评价值的可靠性低,并且处理进入步骤S17。在步骤S17,运动矢量搜索单元103将预先设置的分区分割方法设置为在随后的精搜索中使用的分区分割方法。
由于预先设置的分区分割方法是运动补偿块大小最大的分区分割方法,因此,设置分区类型16×16。图5B示出在判断为评价值的可靠性低的情况下分区类型与各自的评价值之间的示例性对应关系。应注意,预先设置的分区分割方法可以是统计上的发生概率高的分区分割方法。
精搜索
当完成步骤S16或步骤S17的处理时,处理接着进入步骤S18。在步骤S18,运动矢量搜索单元103使用利用在步骤S16或S17确定的分区分割方法形成的分区来确定运动矢量。这包括:以由在上述粗搜索中求出的相同分区的运动矢量表示的坐标为中心,使用未经过缩小处理的图像中在水平方向和垂直方向上均为±3个像素的区域,通过类似于粗搜索计算评价值来进行运动矢量搜索并确定运动矢量。
根据第一实施例的运动图像编码方法,如上所述,由于在精搜索中仅使用一种分区分割方法,因此,减小了运动矢量搜索所需要的处理量。这使得即使在使用不太快的处理器时也能够进行实时编码,并且还使得在进行实时编码时能够降低功耗。
第二实施例
接下来,将详细地描述根据本发明的第二实施例的运动矢量搜索单元103中的处理。在第二实施例中,也使用两阶段处理求出分区分割方法,其中,该两阶段处理包括用于以低搜索精度进行运动矢量搜索的粗搜索和用于在增大搜索精度之后进行搜索的精搜索。然后,将与所获得的分区相对应的运动矢量确定为最终的运动矢量搜索结果。
图6是示出根据第二实施例的示例性运动矢量搜索处理的流程图。
粗搜索
首先,在步骤S20,从帧存储器102读出作为编码对象的块的图像数据并将该图像数据供给运动矢量搜索单元103,并且从帧存储器102读出运动矢量搜索区域的图像数据(参考图像数据)。
然后,如第一实施例中所述,运动矢量搜索单元103按规定的缩小率分别缩小从帧存储器102读出并供给的编码对象块的图像数据和运动矢量搜索区域的图像数据。
下文中,在第二实施例中假设在粗搜索中图像数据的缩小率在水平方向和垂直方向上均为1/4,并且搜索区域是在缩小后的图像数据中在水平方向和垂直方向上相对于编码对象块都为±8个像素的区域。
一旦完成在步骤S20缩小编码对象块和搜索区域的图像数据的处理,处理就进入步骤S21。在步骤S21,运动矢量搜索单元103对缩小后的编码对象块设置分区。在第二实施例中,在步骤S23的循环(下文所述)中,运动矢量搜索单元103对编码对象块顺序设置如上所述的图4A至图4D所示的四种类型的分区。
一旦在步骤S21对编码对象块设置了分区,处理就进入步骤S22。在步骤S22,运动矢量搜索单元103使用缩小后的编码对象块和搜索区域的图像数据,对所设置的每个分区进行运动矢量粗搜索。即,在步骤S22,针对编码对象块的每个分区,通过进行与搜索区域的图像数据的块匹配,选择具有最高相关性的块。
然后,运动矢量搜索单元103存储所选择的具有最高相关性的块的坐标与编码对象块的相应分区的坐标之间的差,作为该分区的运动矢量。这里,例如,使用诸如左上角的坐标的、在块和分区内的代表点的坐标作为块和分区的坐标。运动矢量搜索单元103存储通过将在具有最高相关性的块内与编码对象块的相应分区内的对应像素的差值相加而获得的值,作为该分区的像素差。
一旦完成了步骤S22的粗搜索处理,处理就进入步骤S23,在步骤S23,判断是否对在步骤S21设置的所有分区完成了粗搜索。如果判断为未对所有分区完成粗搜索,则处理返回至步骤S21,并且对下一分区进行粗搜索。例如,顺序设置图4A至图4D所示的分区类型16×16、分区类型16×8、分区类型8×16和分区类型8×8,并且对这些分区类型16×16、分区类型16×8、分区类型8×16和分区类型8×8中的各分区顺序进行处理。
如果在步骤S23判断为对所有分区完成了粗搜索,则处理进入步骤S24。在步骤S24,以编码对象块为单位将在步骤S22针对分区存储的像素差相加。也就是说,在步骤S24,对于每种分区分割方法,将针对每个分区求出的像素差合并为以编码对象块为单位的像素差。例如,在分区类型16×8的情况下,将上分区的像素差与下分区的像素差相加。针对分区类型16×16、分区类型16×8、分区类型8×16和分区类型8×8中的每种分区类型进行该处理。
接下来,在步骤S25,运动矢量搜索单元103确定在精搜索中使用的候选分区分割方法。首先,对在步骤S24针对使用分区分割方法分割得到的每种分区类型以编码对象块为单位求出的像素差进行比较,并且选择与像素差最小的分区类型相对应的分区分割方法并将该分区分割方法确定为第一分区分割方法。其次,将通过统计处理概率地求出的发生概率最大的分区分割方法确定为第二分区分割方法。
应注意,当将用于求出第一分区分割方法的技术应用于大量运动图像时,例如通过选择以编码对象块为单位的像素差最小的概率最大的分区分割方法,获得第二分区分割方法。例如,累积对大量运动图像求出第一分区分割方法的结果,并且统计地分析所累积的数据。在这种情况下,假设第二分区分割方法是固定的。在分区类型是16×16、16×8、8×16和8×8的情况下,假设一般分区类型16×16成为第二分区分割方法的概率高。将补充描述16×16的概率一般高的原因。对自然图像进行编码的前提是,随着分区大小减小,尽管期望改善图像质量,但是通常存在编码处理中所需的运算量和代码量增加的趋势。鉴于此,基于高效地执行编码处理的目的,特别是对运动图像进行实时编码的设备试图使效果大致相同的较大分区大小优先。
精搜索
一旦确定了在精搜索中使用的候选分区分割方法,处理就进入步骤S26,在步骤S26,运动矢量搜索单元103再次从帧存储器102读出编码对象块的图像数据和搜索区域的图像数据。在精搜索中,在不缩小编码对象块的图像数据和搜索区域的图像数据的情况下进行搜索处理。
在下一步骤S27,对通过第一分区分割方法设置的每个分区进行运动矢量搜索。更具体地,将以由在上述粗搜索中求出的相同分区的运动矢量表示的坐标为中心、在水平方向和垂直方向上相对于该分区为±3个像素的区域确定为搜索区域。在该搜索区域中进行与分区的块匹配,并且通过选择具有最高相关性的块来求出运动矢量。另外,存储通过将作为块匹配的结果而求出的具有最高相关性的块与编码对象块中的相应分区内的对应像素的差值相加而获得的值,作为该分区的像素差。
在下一步骤S28,类似于上述步骤S27,对使用第二分区分割方法设置的每个分区进行运动矢量搜索。一旦完成在步骤S28基于第二分区分割方法的运动矢量搜索处理,处理就进入步骤S29。
在步骤S29,运动矢量搜索单元103确定分区分割方法和编码对象块的运动矢量。类似于上述步骤S24,对于第一分区分割方法和第二分区分割方法中的每一种分区分割方法,以编码对象块为单位将针对分区存储的像素差相加。将第一分区分割方法的以编码对象块为单位的像素差总和与第二分区分割方法的以编码对象块为单位的像素差总和进行比较。作为比较结果,选择第一分区分割方法和第二分区分割方法中像素差总和较小的分区分割方法,并将其确定为编码对象块的分区分割方法。
将在上述步骤S27和S28所存储的运动矢量中与所选择的分区分割方法相对应的运动矢量确定为编码对象块的运动矢量。
将使用图7更详细地描述运动矢量搜索单元103的上述操作。这里,假设通过在粗搜索中像素差最小的第一分区分割方法设置的分区类型是分区类型8×16,并且假设通过发生概率最大的第二分区分割方法设置的分区类型是分区类型16×16。
作为图6中的步骤S21至S23的处理的结果,对分区类型16×16、16×8、8×16和8×8中的每一种类型进行粗搜索(参见图7的上部),并且针对每个分区求出由粗搜索产生的像素差和运动矢量。在步骤S24,以编码对象块为单位求出像素差。基于这些结果,在步骤S25,确定像素差最小的第一分区分割方法(在给定示例中为分区类型8×16)以及发生概率最大的第二分区分割方法(在给定示例中为分区类型16×16)。
在精搜索中,如图7的中部所示,对第一分区分割方法和第二分区分割方法分别进行用于求出运动矢量的处理和用于求出像素差的处理(步骤S27和S28)。选择在第一分区分割方法和第二分区分割方法中编码对象块的像素差总和较小的分区分割方法,作为编码对象块的分区分割方法。此外,将与所选择的分区分割方法相对应的运动矢量确定为编码对象块的运动矢量。在图7的下部所示的示例中,选择分区类型16×16作为最终的分区分割方法。
根据本发明的第二实施例,在精搜索期间仅使用用于进行运动矢量搜索的两种分区分割方法。因此,减少了运动矢量搜索所需的运算量。
第三实施例
接下来,将描述本发明的第三实施例。本发明的第三实施例是上述第二实施例的运动矢量搜索操作的一般化。即,在上述第二实施例中,通过包括粗搜索和精搜索的两个阶段来进行运动矢量搜索。与之相比,在第三实施例中,在逐步地提高搜索精度并限制分区分割方法的数量的情况下,通过n个阶段进行运动矢量搜索。因此,可以将上述第二实施例的运动矢量搜索操作看作第三实施例的运动矢量搜索操作的限制示例。
下文中,将使用图8的流程图描述第三实施例中的运动矢量搜索单元103的示例性处理。
在步骤S30,设置运动矢量搜索单元103的运动矢量搜索的精度。然后,类似于上述第二实施例,运动矢量搜索单元103根据搜索精度,缩小从帧存储器102读出的编码对象块的图像数据和搜索区域的图像数据。例如,如果搜索精度为四个像素单位,则图像数据的缩小率将为1/4,如果搜索精度为两个像素单位,则缩小率将为1/2,以及如果搜索精度为一个像素单位,则缩小率将为1/1(不缩小)。
在下一步骤S31,设置分区,并且对分区分割方法进行组设置。在第三实施例中,将分区分割方法分组,并且针对各组进行运动矢量搜索处理。如下文将描述的,可以基于各分区类型的发生概率来进行分组。
类似于上述第二实施例中的步骤S22的处理,在步骤S32和步骤S33,针对所设置的每个分区,根据搜索精度对作为搜索对象的分区组进行运动矢量搜索处理。即,对编码对象块的每个分区进行与参考图像数据的块匹配,并且选择具有最高相关性的块。存储该块与相应分区之间的坐标的差,作为该分区的运动矢量,并且存储通过将对应像素的差值相加而获得的值,作为该分区的像素差。
如果在步骤S33判断为对一个分区组完成了搜索处理,则处理进入步骤S34。在步骤S34,确定根据下一搜索精度的用于运动矢量搜索处理的候选分区分割方法。即,在步骤S34,在已处理的分区组内,类似于上述步骤S25,对每种分区分割方法的以编码对象块为单位的像素差进行比较,并且选择像素差最小的第一分区分割方法。此外,运动矢量搜索单元103选择通过统计技术求出的发生概率最大的第二分区分割方法。
处理进入步骤S35,在步骤S35,判断是否对所有分区组完成了根据在步骤S30设置的搜索精度的运动矢量搜索处理。如果判断为未完成,则处理返回至步骤S31,在步骤S31,对下一分区组进行处理。
如果在步骤S35判断为对所有分区组完成了以该搜索精度进行的运动矢量搜索处理,则处理进入步骤S36。在步骤S36,判断分区组的数量是否为一以及候选分区分割方法的数量是否为二。如果在步骤S36判断为分区组的数量不为一或者候选分区分割方法的数量不为二,则处理返回至步骤S30,在步骤S30,进行运动矢量搜索精度设置。顺序重复步骤S30至S36的处理,直到满足步骤S36的条件为止。
另一方面,如果在步骤S36判断为分区组的数量为一并且候选分区分割方法的数量为二,则处理进入步骤S37。在步骤S37,对于两种分区分割方法中的每一种,以编码对象块为单位将分区的像素差相加。然后,对两种分区分割方法各自的像素差总和进行比较,并且选择像素差总和较小的分区分割方法并将其确定为编码对象块的分区分割方法。类似地,对于运动矢量,将与所选择的分区分割方法相对应的运动矢量确定为编码对象块的运动矢量。
将使用图9和图10更详细地描述图8的流程图的处理。这里,以三个阶段进行运动矢量搜索操作,从而按顺序将搜索精度从四个像素单位提高到两个像素单位、再提高到一个像素单位。提供图9所示的七种分区类型作为分区分割方法。即,除了在上述实施例中所使用的分区类型16×16、16×8、8×16和8×8以外,还提供了分区类型8×4、4×8和4×4。分区类型8×4在水平方向上二等分分区类型8×8的分区。分区类型4×8在垂直方向上二等分分区类型8×8的分区。分区类型4×4在水平方向和垂直方向上二等分分区类型8×8的分区。
在第一阶段的处理中,在步骤S30,将运动矢量搜索的精度设置为四个像素单位,并且以1/4的缩小率缩小编码对象块和运动矢量搜索区域的图像数据。然后,在步骤S31,进行分区设置和针对分区分割方法的组设置。例如,如图10中的“运动矢量粗搜索1”所示,将分区类型16×16、16×8、8×16设置为第一分区组,并且将分区类型8×8、8×4、4×8和4×4设置为第二分区组。
这里,例如,可以基于各分区分割方法的发生概率进行针对分区分割方法的组设置。即,在如图9所示提供七种类型的分区分割方法的情况下,已知在分区类型16×16和8×8中出现发生概率峰值。将出现发生概率峰值的这些分区分割方法分配给不同的组。将基于发生概率选择的分区分割方法与基于像素差选择的分区分割方法进行比较的机会因而增加,从而使得能够以更高的精度进行分区分割方法选择和运动矢量搜索。
在步骤S32和S33,对每个分区组进行运动矢量搜索。首先,对第一分区组进行运动矢量搜索处理,并且一旦完成,处理进入步骤S34。将第一分区组内每种分区分割方法的以编码对象块为单位的像素差进行比较,并且选择像素差最小的第一分区分割方法和发生概率最大的第二分区分割方法。在图10的“运动矢量粗搜索1”示例中,选择分区类型8×16作为第一分区分割方法,并且选择分区类型16×16作为第二分区分割方法。
类似地,对第二分区组进行运动矢量搜索处理,并且在步骤S34,选择像素差最小的第三分区分割方法和发生概率最大的第四分区分割方法。在图10的“运动矢量粗搜索1”示例中,选择分区类型4×8作为第三分区分割方法,并且选择分区类型8×8作为第四分区分割方法。
由于完成了在第一阶段对所有分区组的运动矢量搜索处理(步骤S35),因此,处理进入步骤S36。在该阶段,如图10中的“运动矢量粗搜索1”所示,分区组的数量为二以及候选分区分割方法的数量为四,因而处理返回至步骤S30。然后,将搜索精度设置为两个像素单位,并且开始第二阶段的处理。
在第二阶段的处理中,在步骤S31进行分区组设置。在第一阶段的处理中,选择第一至第四分区分割方法作为候选分区分割方法。在步骤S31,如图10的“运动矢量粗搜索2”所示,从第一至第四分区分割方法创建新的分区组(第三分区组)。
然后,在步骤S32和S33,类似于上述处理,对该第三分区组进行运动矢量搜索处理,并且一旦完成,处理进入步骤S34。然后,选择像素差最小的第五分区分割方法和发生概率最大的第六分区分割方法。在图10的“运动矢量粗搜索2”示例中,选择与分区类型4×8相对应的分区分割方法作为第五分区分割方法,并且选择与分区类型16×16相对应的分区分割方法作为第六分区分割方法。
由于完成了在第二阶段对所有分区类型的运动矢量搜索处理(步骤S35),因此,处理进入步骤S36。在该阶段,如图10的“运动矢量粗搜索2”所示,分区组的数量为一以及候选分区分割方法的数量为四,因而处理返回至步骤S30。然后,将搜索精度设置为一个像素单位,并且开始第三阶段的处理。
在第三阶段的处理中,在步骤S31进行分区组设置。在第二阶段的处理中,选择第五分区分割方法和第六分区分割方法作为候选分区分割方法。在步骤S31,如图10中的“运动矢量精搜索”所示,从第五和第六分区分割方法创建新的分区组(第四分区组)。
然后,在步骤S32和S33,类似于上述处理,对该第四分区组进行运动矢量搜索处理,并且一旦完成,处理进入步骤S34。然后,选择像素差最小的分区分割方法和发生概率最大的分区分割方法。在图10的“运动矢量精搜索”示例中,选择分区类型4×8作为像素差最小的分区类型,并且选择分区类型16×16作为发生概率最大的分区类型。
由于完成了在第三阶段对所有分区组的运动矢量搜索处理(步骤S35),因此,处理进入步骤S36。在该阶段,如图10中的“运动矢量精搜索”所示,分区组的数量为一以及候选分区分割方法的数量为二,因而处理进入步骤S37。
在步骤S37,对于两种分区分割方法中的每一种,以编码对象块为单位将分区的像素差相加,并且选择像素差总和较小的分区分割方法并将其确定为编码对象块的分区分割方法。类似地,关于运动矢量,将与所选择的分区分割方法相对应的运动矢量确定为编码对象块的运动矢量。在图10的“确定分区分割方法和运动矢量”示例中,选择分区类型4×8作为最终的分区分割方法。
根据第三实施例,即使在根据搜索精度通过n个阶段进行运动矢量搜索处理的情况下,也能减少用于搜索的分区分割方法的数量,从而能够抑制在运动矢量搜索中所需要的运算量。
应注意,尽管如上所述本发明应用于数字摄像机,但是本发明不限于该示例。即,本发明还可以应用于其他类型的设备,只要该设备按照H.264|AVC对运动图像数据进行编码。
根据本发明的其他实施例
可以通过存储在计算机的RAM、ROM等上的程序的操作,实现构成本发明的上述实施例中的运动图像编码设备的部件。本发明包含该程序和记录有该程序的计算机可读记录介质。
例如,本发明还可以实现为系统、设备、方法、程序、记录介质等,并且可以将本发明具体地应用于由多个装置构成的系统或者由单个装置组成的设备。
应注意,可以通过将用于执行上述运动图像编码方法的步骤的软件程序(在这些实施例中为与图3、图6或图8所示的流程图相对应的程序)直接或远程地供给系统或设备、并且由该系统或设备中的计算机读出并执行所供给的程序代码,来实现本发明。
因此,还通过将实际程序代码安装在计算机上以通过计算机实现本发明的功能和处理来实现本发明。也就是说,本发明还包含用于实现本发明的功能和处理的实际计算机程序。
在这种情况下,只要提供了程序的功能,就可接受诸如目标代码、通过解释器执行的程序或供给操作系统的脚本数据等的任何模式的程序。
可以使用各种记录介质作为用于供给程序的记录介质。例如,这些记录介质包括软盘(floppy
Figure BPA00001234116300251
)、硬盘、光盘、磁光盘、MO、CD-ROM、CD-R、CD-RW、磁带、非易失性存储卡、ROM和DVD(DVD-ROM、DVD-R)。
可选地,还可以通过以下方式来供给程序:使用客户端计算机的浏览器连接至互联网上的网站,并且从该网站将本发明的实际计算机程序或包括自动安装功能的压缩文件下载到诸如硬盘的记录介质。
此外,可以通过将构成本发明的程序的程序代码分成多个文件并从不同网站下载各个文件来实现供给。也就是说,本发明还包含允许多个用户下载用于通过计算机实现本发明的功能和处理的程序文件的万维网(WWW)服务器。
还可以通过以下方式来实现供给:将以加密形式存储在诸如CD-ROM的存储介质上的本发明的程序分发给用户,允许符合规定要求的用户经由互联网从网站下载解密密钥信息,并且通过使用该密钥信息执行加密程序并将该程序安装在计算机上。
除了作为计算机执行所读取的程序的结果来实现上述实施例的功能以外,还可以通过在计算机上运行的操作系统等进行一部分或全部实际处理来实现上述实施例的功能。
另外,还可以将从记录介质读出的程序写入设置在插入计算机中的功能扩展板或连接至计算机的功能扩展单元中的存储器,然后,设置在功能扩展板或功能扩展单元中的CPU等可以基于程序中的指令进行一部分或全部实际处理,其中,作为该处理的结果实现了上述实施例的功能。
尽管已参考示例性实施例描述了本发明,但是应该理解,本发明不限于所公开的典型实施例。所附权利要求书的范围符合最宽的解释,以包含所有这类修改、等同结构和功能。
本申请要求2008年4月1日提交的日本专利申请2008-095436和2008年6月5日提交的日本专利申请2008-148324的优先权,其全部内容通过引用包含于此。

Claims (15)

1.一种运动图像编码设备,包括:
运动矢量搜索部件,用于将画面分割成构成编码单位的编码块,将所述编码块分割成一个或多个构成运动补偿单位的运动补偿块,并且通过针对作为编码对象的运动补偿块参考作为参考图像的过去或未来的图像来进行运动矢量搜索;以及
编码部件,用于对所述作为编码对象的运动补偿块与基于由所述运动矢量搜索部件获得的运动矢量的预测图像之间的差值进行编码,
其中,所述运动矢量搜索部件包括:
设置部件,用于当使用所述参考图像的缩小图像来粗略地进行运动矢量搜索时,对所述编码块设置多种运动补偿块类型;
评价值计算部件,用于针对由所述设置部件设置的所述多种运动补偿块类型中的每种运动补偿块类型,使用所述缩小图像进行运动矢量搜索,并且基于所获得的多个运动矢量,计算所述多种运动补偿块类型各自的评价值;以及
判断部件,用于根据由所述评价值计算部件计算出的多个评价值中评价最高的评价值的可靠性,判断是否将获得了所述评价最高的评价值的运动补偿块类型的分割方法设置为在使用所述参考图像详细地进行运动矢量搜索时的运动补偿块分割方法。
2.根据权利要求1所述的运动图像编码设备,其特征在于,如果所述评价最高的评价值的可靠性高,则所述判断部件使用获得了所述评价最高的评价值的运动补偿块分割方法,进行具有更高精度的运动矢量搜索,而如果所述评价最高的评价值的可靠性低,则所述判断部件使用预先设置的运动补偿块分割方法,进行具有更高精度的运动矢量搜索。
3.根据权利要求2所述的运动图像编码设备,其特征在于,所述预先设置的运动补偿块分割方法是运动补偿块大小最大的运动补偿块分割方法。
4.根据权利要求2所述的运动图像编码设备,其特征在于,所述预先设置的运动补偿块分割方法是统计上的发生概率高的运动补偿块分割方法。
5.根据权利要求1至4中任一项所述的运动图像编码设备,其特征在于,当判断所述评价值的可靠性时,如果评价值小于给定阈值,则判断为可靠性高。
6.根据权利要求1至4中任一项所述的运动图像编码设备,其特征在于,当判断所述评价值的可靠性时,如果通过将评价次高的评价值除以评价最高的评价值而获得的值大于给定阈值,则判断为可靠性高。
7.一种运动图像编码方法,包括:
运动矢量搜索步骤,用于将画面分割成构成编码单位的编码块,将所述编码块分割成一个或多个构成运动补偿单位的运动补偿块,并且通过针对作为编码对象的运动补偿块参考作为参考图像的过去或未来的图像来进行运动矢量搜索;以及
编码步骤,用于对所述作为编码对象的运动补偿块与基于在所述运动矢量搜索步骤中获得的运动矢量的预测图像之间的差值进行编码,
其中,所述运动矢量搜索步骤包括:
设置步骤,用于当使用所述参考图像的缩小图像来粗略地进行运动矢量搜索时,对所述编码块设置多种运动补偿块类型;
评价值计算步骤,用于针对在所述设置步骤中设置的所述多种运动补偿块类型中的每种运动补偿块类型,使用所述缩小图像进行运动矢量搜索,并且基于所获得的多个运动矢量,计算所述多种运动补偿块类型各自的评价值;以及
判断步骤,用于根据在所述评价值计算步骤中计算出的多个评价值中评价最高的评价值的可靠性,判断是否将获得了所述评价最高的评价值的运动补偿块类型的分割方法设置为在使用所述参考图像详细地进行运动矢量搜索时的运动补偿块分割方法。
8.一种运动图像编码设备,用于将画面分割成构成编码单位的编码块,将所述编码块分割成一个或多个构成运动补偿单位的运动补偿块,并且通过针对包括在作为编码对象的编码块中的运动补偿块至少参考过去的图像来进行运动矢量搜索,所述运动图像编码设备包括:
分割部件,用于使用所设置的多种不同的分割方法来分割所述作为编码对象的编码块,并且形成与分割方法相对应的运动补偿块;
运动矢量搜索部件,用于针对通过所述分割部件使用所述多种不同的分割方法所形成的各个运动补偿块,根据搜索精度进行运动矢量搜索;
设置部件,用于基于由所述运动矢量搜索部件根据搜索精度进行的运动矢量搜索的结果来选择至少一种分割方法,对所述分割部件设置所选择的分割方法,对所述分割部件设置所述多种不同的分割方法中的至少一种规定的分割方法,并且将搜索精度设置为更高的搜索精度;以及
控制部件,用于进行控制,以顺次重复如下操作:所述设置部件设置分割方法和搜索精度的操作、以及所述运动矢量搜索部件根据所设置的分割方法和搜索精度来进行运动矢量搜索的操作,
其中,如果判断为作为重复操作的结果、由所述设置部件设置的更高的搜索精度是预先设置的搜索精度,则所述控制部件基于由所述运动矢量搜索部件进行的运动矢量搜索的结果,选择基于搜索结果选择的分割方法和所述规定的分割方法中的一种分割方法,并且将作为使用所选择的该种分割方法进行的运动矢量搜索的结果而获得的运动矢量确定为最终的运动矢量。
9.根据权利要求8所述的运动图像编码设备,其特征在于,所述设置部件基于运动矢量搜索的结果选择一种分割方法,对所述分割部件设置所选择的分割方法,并且对所述分割部件设置所述多种不同的分割方法中的一种规定的分割方法。
10.根据权利要求8所述的运动图像编码设备,其特征在于,所述设置部件根据分割方法将使用所述多种不同的分割方法形成的多个运动补偿块各自分配给组,并且针对每组,所述设置部件基于运动矢量搜索的结果选择至少一种分割方法,对所述分割部件设置所选择的分割方法,并且对所述分割部件设置所述多种不同的分割方法中的至少一种规定的分割方法。
11.根据权利要求10所述的运动图像编码设备,其特征在于,针对每组,所述设置部件基于运动矢量搜索的结果选择一种分割方法,对所述分割部件设置所选择的分割方法,并且对所述分割部件设置所述多种不同的分割方法中的一种规定的分割方法。
12.根据权利要求8至11中任一项所述的运动图像编码设备,其特征在于,所述规定的分割方法是基于通过以下处理获得的结果所确定的:针对多个图像数据,累积针对通过使用所述多种不同的分割方法分割作为编码对象的编码块所形成的各个运动补偿块进行的运动矢量搜索的结果,并且对所累积的搜索结果进行统计处理。
13.一种运动图像编码方法,用于将画面分割成构成编码单位的编码块,将所述编码块分割成一个或多个构成运动补偿单位的运动补偿块,并且通过针对包括在作为编码对象的编码块中的运动补偿块至少参考过去的图像来进行运动矢量搜索,所述运动图像编码方法包括:
分割步骤,用于使用所设置的多种不同的分割方法来分割所述作为编码对象的编码块,并且形成与分割方法相对应的运动补偿块;
运动矢量搜索步骤,用于针对在所述分割步骤中使用所述多种不同的分割方法所形成的各个运动补偿块,根据搜索精度进行运动矢量搜索;
设置步骤,用于基于在所述运动矢量搜索步骤中根据搜索精度进行的运动矢量搜索的结果来选择至少一种分割方法,对所述分割步骤设置所选择的分割方法,对所述分割步骤设置所述多种不同的分割方法中的至少一种规定的分割方法,并且将搜索精度设置为更高的搜索精度;以及
控制步骤,用于进行控制,以顺次重复如下操作:在所述设置步骤中设置分割方法和搜索精度的操作、以及在所述运动矢量搜索步骤中根据所设置的分割方法和搜索精度来进行运动矢量搜索的操作,
其中,如果判断为作为重复操作的结果、在所述设置步骤中设置的更高的搜索精度是预先设置的搜索精度,则在所述控制步骤中,基于在所述运动矢量搜索步骤中进行的运动矢量搜索的结果,选择基于搜索结果选择的分割方法和所述规定的分割方法中的一种分割方法,并且将作为使用所选择的该种分割方法进行的运动矢量搜索的结果而获得的运动矢量确定为最终的运动矢量。
14.一种计算机可读存储介质,存储有用于使计算机执行根据权利要求7所述的运动图像编码方法的步骤的程序。
15.一种计算机可读存储介质,存储有用于使计算机执行根据权利要求13所述的运动图像编码方法的步骤的程序。
CN2009801124155A 2008-04-01 2009-03-25 运动图像编码设备和运动图像编码方法 Active CN101990761B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2008095436A JP5247210B2 (ja) 2008-04-01 2008-04-01 動画像符号化装置及び動画像符号化方法
JP2008-095436 2008-04-01
JP2008148324A JP5390794B2 (ja) 2008-06-05 2008-06-05 動きベクトル探索装置および動きベクトル探索方法
JP2008-148324 2008-06-05
PCT/JP2009/056771 WO2009123248A1 (en) 2008-04-01 2009-03-25 Moving image encoding apparatus and moving image encoding method

Publications (2)

Publication Number Publication Date
CN101990761A true CN101990761A (zh) 2011-03-23
CN101990761B CN101990761B (zh) 2013-01-09

Family

ID=41135615

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801124155A Active CN101990761B (zh) 2008-04-01 2009-03-25 运动图像编码设备和运动图像编码方法

Country Status (3)

Country Link
US (1) US8488678B2 (zh)
CN (1) CN101990761B (zh)
WO (1) WO2009123248A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109547799A (zh) * 2013-04-05 2019-03-29 佳能株式会社 根据运动信息压缩方案通过层间运动信息预测对图像进行编码或解码的方法和设备

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8165209B2 (en) * 2007-09-24 2012-04-24 General Instrument Corporation Method and apparatus for providing a fast motion estimation process
KR101633153B1 (ko) * 2010-04-01 2016-06-23 소니 주식회사 화상 처리 장치 및 방법
US9055305B2 (en) * 2011-01-09 2015-06-09 Mediatek Inc. Apparatus and method of sample adaptive offset for video coding
CN106878730B (zh) 2011-01-13 2020-06-26 日本电气株式会社 视频解码设备和视频解码方法
WO2013095322A1 (en) 2011-12-19 2013-06-27 Intel Corporation Exhaustive sub-macroblock shape candidate save and restore protocol for motion estimation
US9948915B2 (en) 2013-07-24 2018-04-17 Qualcomm Incorporated Sub-PU motion prediction for texture and depth coding
SG11201510554RA (en) 2013-07-24 2016-02-26 Qualcomm Inc Simplified advanced motion prediction for 3d-hevc
US9693077B2 (en) 2013-12-13 2017-06-27 Qualcomm Incorporated Controlling sub prediction unit (sub-PU) motion parameter inheritance (MPI) in three dimensional (3D) HEVC or other 3D coding
US9967558B1 (en) 2013-12-17 2018-05-08 Google Llc Adaptive motion search control for variable block size partitions in video coding
CN106105212A (zh) 2014-03-07 2016-11-09 高通股份有限公司 简化的子预测单元(sub‑pu)运动参数继承(mpi)
CN107046645B9 (zh) * 2016-02-06 2020-08-14 华为技术有限公司 图像编解码方法及装置
CN106101722A (zh) * 2016-06-07 2016-11-09 成都金本华电子有限公司 基于yang结构改进的分层准全搜索方法及系统
EP3296749B1 (en) * 2017-01-27 2019-01-23 Sick IVP AB Motion encoder
EP3832591B1 (en) 2019-12-03 2022-06-08 Axis AB Encoding of a video sequence
US11558608B2 (en) * 2020-10-28 2023-01-17 Lemon Inc. On split prediction

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1819173B1 (en) * 1997-06-25 2009-07-29 Nippon Telegraph and Telephone Corporation Motion vector predictive encoding apparatus and decoding apparatus
US6269174B1 (en) * 1997-10-28 2001-07-31 Ligos Corporation Apparatus and method for fast motion estimation
JP3753578B2 (ja) * 1999-12-07 2006-03-08 Necエレクトロニクス株式会社 動きベクトル探索装置および方法
US6987866B2 (en) * 2001-06-05 2006-01-17 Micron Technology, Inc. Multi-modal motion estimation for video sequences
JP2003284091A (ja) * 2002-03-25 2003-10-03 Toshiba Corp 動画像符号化方法及び動画像符号化装置
AU2003261780B8 (en) * 2002-11-25 2010-03-25 Godo Kaisha Ip Bridge 1 Motion compensation method, picture coding method and picture decoding method
JP4142563B2 (ja) 2003-12-12 2008-09-03 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
US7705884B2 (en) * 2004-07-21 2010-04-27 Zoran Corporation Processing of video data to compensate for unintended camera motion between acquired image frames
JP2006135734A (ja) 2004-11-08 2006-05-25 Canon Inc 符号化装置
JP4317814B2 (ja) * 2004-12-06 2009-08-19 株式会社ルネサステクノロジ 動画像情報の符号化装置及び符号化方法
US7983341B2 (en) * 2005-02-24 2011-07-19 Ericsson Television Inc. Statistical content block matching scheme for pre-processing in encoding and transcoding
JP4708819B2 (ja) * 2005-03-14 2011-06-22 キヤノン株式会社 画像処理装置、方法、コンピュータプログラム及び記憶媒体
US20080126278A1 (en) * 2006-11-29 2008-05-29 Alexander Bronstein Parallel processing motion estimation for H.264 video codec

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109547799A (zh) * 2013-04-05 2019-03-29 佳能株式会社 根据运动信息压缩方案通过层间运动信息预测对图像进行编码或解码的方法和设备

Also Published As

Publication number Publication date
WO2009123248A1 (en) 2009-10-08
US8488678B2 (en) 2013-07-16
CN101990761B (zh) 2013-01-09
US20110013695A1 (en) 2011-01-20

Similar Documents

Publication Publication Date Title
CN101990761B (zh) 运动图像编码设备和运动图像编码方法
US9351014B2 (en) Moving image encoding and decoding system
US8761254B2 (en) Image prediction encoding device, image prediction decoding device, image prediction encoding method, image prediction decoding method, image prediction encoding program, and image prediction decoding program
CN102036067B (zh) 运动图像编码设备及其控制方法
US5894526A (en) Method and device for detecting motion vectors
US9113170B2 (en) Motion vector decision apparatus, motion vector decision method and computer readable storage medium
CN101584215B (zh) 综合空时预测
JP4252916B2 (ja) 動きベクトルの探索範囲を決定する方法
US8014619B2 (en) Method and apparatus for encoding/decoding an image
US20040218675A1 (en) Method and apparatus for determining reference picture and block mode for fast motion estimation
CN101185339B (zh) 图像解码设备和图像数据解码方法、图像编码设备及方法
US6973257B1 (en) Method for indexing and searching moving picture using motion activity description method
US20050123039A1 (en) Motion estimation method for motion picture encoding and recording medium having program recorded thereon to implement the motion estimation method
CN1320830C (zh) 噪声估计方法和设备、以及利用其编码视频的方法和设备
JP4898415B2 (ja) 動画像符号化装置及び動画像符号化方法
US8649615B2 (en) Moving picture compression coding apparatus
KR100907707B1 (ko) H.264/avc 압축 영역에서의 썸네일 영상의 고속 추출방법, 그 장치 및 이를 기록한 기록매체
JP2007531445A (ja) ビデオ処理方法及び対応する符号化装置
EP1244291A2 (en) Moving image compression and cut detection
JP2009296363A (ja) 動きベクトル探索装置および動きベクトル探索方法
JP5247210B2 (ja) 動画像符号化装置及び動画像符号化方法
JP4676513B2 (ja) 符号化ピクチャタイプ決定方法,装置,そのプログラムおよびその記録媒体
US6898244B1 (en) Movement vector generating apparatus and method and image encoding apparatus and method
JP5094750B2 (ja) 動画像符号化装置及び動画像符号化方法
JP2008072608A (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