CN103636219A - 图像处理装置和方法 - Google Patents
图像处理装置和方法 Download PDFInfo
- Publication number
- CN103636219A CN103636219A CN201280030530.XA CN201280030530A CN103636219A CN 103636219 A CN103636219 A CN 103636219A CN 201280030530 A CN201280030530 A CN 201280030530A CN 103636219 A CN103636219 A CN 103636219A
- Authority
- CN
- China
- Prior art keywords
- unit
- motion vector
- prediction
- time prediction
- current region
- 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.)
- Pending
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/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- 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/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/527—Global motion vector estimation
-
- 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/513—Processing of motion vectors
-
- 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/513—Processing of motion vectors
- H04N19/521—Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0135—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
- H04N7/014—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及能够使得对图像进行编码和解码的处理负荷增加最小化的图像处理装置和方法。时间预测控制单元和运动矢量编码单元被设置用于预测运动矢量。时间预测控制单元使用要处理的当前区域的时间方向上的周边区域的运动矢量来控制是否执行用于预测运动矢量的时间预测,并且根据时间预测控制单元的控制,运动矢量编码单元使用当前区域的空间方向上的周边区域的运动矢量来仅执行空间预测以预测运动矢量,或者执行空间预测和时间预测两者,从而预测当前区域的运动矢量,然后使用所得到的预测值对当前区域的运动矢量进行编码。本发明可以应用于图像处理装置。
Description
技术领域
本公开涉及图像处理装置和方法,更具体地,涉及实现较容易的图像编码和解码的图像处理装置和方法。
背景技术
近年来,为了将图像信息处理为数字信息以及实现这样做时的高效信息传送和累积,符合用于通过使用图像信息固有的冗余、通过诸如离散余弦变换的正交变换和运动补偿来压缩图像信息的标准(诸如MPEG(运动图片专家组))的设备已在分发信息的广播站当中和接收信息的一般家用电器当中普及。
特别地,MPEG2(ISO(国际标准化组织)/IEC(国际电工技术委员会)13818-2)被定义为通用的图像编码标准,并且可适用于交织图像和非交织图像以及标准分辨率图像和高清图像。当前,MPEG2用在用于专业人士和一般消费者的广泛范围的应用中。通过使用MPEG2压缩方法,例如,4至8Mbps的位率被分配给具有标准分辨率720×480像素的交织图像,并且18至22Mbps的位率被分配给具有高分辨率1920×1088像素的交织图像。因此,可以实现高压缩率和出色的图像质量。
MPEG2被主要设计用于适合于广播的高质量图像编码,但是与低于MPEG1的位率或涉及较高压缩率的编码方法不兼容。随着移动终端变得普及,对于这样的编码方法的需求预期在未来增加,并且为了满足该需求,MPEG4编码方法已被标准化。关于图像编码方法,ISO/IEC14496-2标准在1998年12月被批准为国际标准。
此外,起初打算用于对用于视频会议的图像进行编码的称为H.26L(ITU-T(国际电信联盟电信标准化部门)Q6/16VCEG(视频编码专家组))的标准的建立当前正在进行中。与诸如MPEG2和MPEG4的传统编码方法相比,H.26L在编码和解码时需要较大的计算量,但是已知实现了较高编码效率。另外,作为MPEG4活动的一部分,“增强压缩视频编码的联合模型”现在正被建立作为用于通过将H.26L不支持的功能并入基于H.26L的功能中来实现较高编码效率的标准。
在标准化日程方面,该标准在2003年3月被批准作为名称为H.264和MPEG-4Part10(高级视频编码,下文中称为AVC)的国际标准。
然而,16×16像素的宏块大小对于要由下一代编码方法编码的大帧(诸如UHD(超高清:4000×2000像素)帧)可能不是最优的。
鉴于此,为了实现比AVC所实现的编码效率更高的编码效率,称为HEVC(高效视频编码)的编码方法现在正由作为ITU-T和ISO/IEC的联合标准组织的JCTVC(联合协作小组-视频编码)标准化(例如,参见非专利文献1)。
根据HEVC编码方法,编码单位(CU)被定义为处理单位(如AVC的宏块)。与AVC的宏块不同,CU没有固定为16×16像素的大小,并且在每个序列中在压缩图像信息中指定CU的大小。
同时,为了使用在AVC中定义的中值预测来改进运动矢量编码,已建议不仅使用“空间预测器”而且使用“时间预测器”和“空间-时间预测器”作为用于预测运动矢量的候选(例如,参见非专利文献2)。
另外,作为运动信息编码方法之一,建议了传送“Merge_Flag”和“Merge_Left_Flag”的称为“运动分割合并”的方法(例如,参见非专利文献3)。
引用列表
非专利文献
非专利文献1:Thomas Wiegand,Woo-Jin Han,Benjamin Bross,Jens-Rainer Ohm,Gary J.Sullivan,"Working Draft1of High-EfficiencyVideo Coding",JCTVC-C403,Joint Collaborative Team on Video Coding(JCT-VC)of ITU-T SG16WP3and ISO/IEC JTC1/SC29/WG113rdMeeting:广州,中国,2010年10月7日至15日
非专利文献2:Joel Jung,Guillaume Laroche,"Competition-BasedScheme for Motion Vector Selection and Coding",VCEG-AC06,ITU-Telecommunications Standardization Sector STUDY GROUP16Question6Video Coding Experts Group(VCEG)29th Meeting:克拉根福,奥地利,2006年7月17日至18日
非专利文献3:Martin Winken,Sebastian Bosse,Benjamin Bross,Philipp Helle,Tobias Hinz,Heiner Kirchhoffer,Haricharan Lakshman,Detlev Marpe,Simon Oudin,Matthias Preiss,Heiko Schwarz,MischaSiekmann,Karsten Suehring,and Thomas Wiegand,"Description ofvideo coding technology proposed by Fraunhofer HHI",JCTVC-A116,2010年4月
发明内容
本发明要解决的问题
然而,在时间预测器具有特别大的帧并且通常生成小的PU的情况下,存在对存储器的访问变得较频繁并且需要较大存储器带宽的可能性。
本公开是鉴于这些情形而做出的,并且是为了防止与图像编码和解码有关的处理负荷的增加。
问题的解决方案
本公开的一方面是一种图像处理装置,该图像处理装置包括:时间预测控制单元,在运动矢量的预测中,控制是否要执行通过使用与正处理的当前区域在时间上相邻的周边区域的运动矢量来预测运动矢量的时间预测;以及运动矢量编码单元,在时间预测控制单元的控制下,通过仅执行根据与当前区域在空间上相邻的周边区域的运动矢量来预测运动矢量的空间预测或者执行空间预测和时间预测两者来预测当前区域的运动矢量,以及通过使用预测值对当前区域的运动矢量进行编码。
时间预测控制单元可根据当前区域的大小控制是否要执行时间预测。
在当前区域的大小等于或小于预定阈值时,时间预测控制单元可执行控制以使得不执行时间预测。
图像处理装置还可包括设置阈值的阈值设置单元。在当前区域的大小等于或小于阈值设置单元设置的阈值时,时间预测控制单元可执行控制以使得不执行时间预测。
阈值设置单元根据档次级别(profile level)而设置阈值。
图像处理装置还可包括传送阈值的传送单元。
时间预测控制单元可根据时间预测运动矢量被采用作为当前区域的运动矢量的预测值的次数而控制是否要执行时间预测,时间预测运动矢量是通过时间预测所预测的当前区域的运动矢量。
当每个预定数据单位的次数已达到预定阈值时,时间预测控制单元可执行控制以使得不执行时间预测。
图像处理装置还可包括设置阈值的阈值设置单元。当每个预定数据单位的次数已达到阈值设置单元设置的阈值时,时间预测控制单元可执行控制以使得不执行时间预测。
阈值设置单元可根据档次级别而设置阈值。
阈值设置单元可根据预定数据单位的大小而设置阈值。
预定数据单位可以是LCU(最大编码单位)。
阈值可针对每个预测方向来设置,并且,当针对至少一个预测方向每个预定数据单位的次数已达到阈值时,时间预测控制单元可执行控制以使得不执行时间预测。
图像处理装置还可包括传送阈值的传送单元。
图像处理装置还可包括:确定单元,确定是否与当前区域在空间上相邻的周边区域的所有运动矢量都不可用;以及设置单元,当确定单元确定与当前区域在空间上相邻的周边区域的所有运动矢量都不可用时,将零矢量设置为当前区域的运动矢量的预测值,而不管是否时间预测控制单元执行控制以使得不执行时间预测。
在当前区域的运动矢量是仅通过空间预测所预测的时,运动矢量编码单元可通过使用示出不包括时间预测的预测值的类型的代码编号分配表而为预测值分配代码编号。
图像处理装置还可包括传送代码编号分配表的传送单元。
运动矢量编码单元可包括:时间预测单元,当时间预测控制单元允许时间预测时,执行时间预测并且生成作为通过时间预测所预测的当前区域的运动矢量的时间预测运动矢量;空间预测单元,执行空间预测并且生成作为通过空间预测所预测的当前区域的运动矢量的空间预测运动矢量;预测运动矢量生成单元,设置当前区域的运动矢量的预测值,该预测值是时间预测单元生成的时间预测运动矢量和空间预测单元生成的空间预测运动矢量中与当前区域的运动矢量更类似的一方;以及差分值计算单元,计算当前区域的运动矢量与预测运动矢量生成单元生成的预测值之间的差分值。
图像处理装置还可包括传送差分值计算单元算出的差分值的传送单元。
本公开的一方面还在于一种用于图像处理装置的图像处理方法。根据该方法,时间预测控制单元在运动矢量的预测中,控制是否要执行通过使用与正处理的当前区域在时间上相邻的周边区域的运动矢量来预测运动矢量的时间预测。在时间预测控制单元的控制之下,运动矢量编码单元通过仅执行根据与当前区域在空间上相邻的周边区域的运动矢量预测运动矢量的空间预测或者执行空间预测和时间预测两者来预测当前区域的运动矢量,以及通过使用预测值来对当前区域的运动矢量进行编码。
根据本公开的一方面,在运动矢量的预测中,控制是否要执行通过使用与正处理的当前区域在时间上相邻的周边区域的运动矢量来预测运动矢量的时间预测。在这样的控制之下,通过仅执行根据与当前区域在空间上相邻的周边区域的运动矢量来预测运动矢量的空间预测或者执行空间预测和时间预测两者来预测当前区域的运动矢量。通过使用预测值来对当前区域的运动矢量进行编码。
本发明的效果
根据本公开,可以对图像进行处理。特别地,可以防止与图像编码和解码有关的处理负荷增加。
附图说明
图1是示出图像编码装置的典型示例结构的框图。
图2是用于说明编码单位的示例结构的图。
图3是用于说明运动分割合并的示例的图。
图4是示出运动预测/补偿单元、时间预测控制单元和运动矢量编码单元的典型示例结构的框图。
图5是用于说明编码处理中的示例流程的流程图。
图6是用于说明帧间运动预测处理中的示例流程的流程图。
图7是用于说明使用时间预测的运动矢量编码处理的示例流程的流程图。
图8是用于说明不使用时间预测的运动矢量编码处理的示例流程的流程图。
图9是示出运动预测/补偿单元、时间预测控制单元和运动矢量编码单元的其它示例结构的框图。
图10是用于说明帧间运动预测处理中的另一示例流程的流程图。
图11是用于说明使用时间预测的运动矢量编码处理中的另一示例流程的流程图。
图12是示出图像解码装置的典型示例结构的框图。
图13是示出运动预测/补偿单元、运动矢量解码单元和预测运动矢量检查单元的典型示例结构的框图。
图14是用于说明解码处理中的示例流程的流程图。
图15是用于说明预测处理中的示例流程的流程图。
图16是用于说明帧间运动预测处理中的示例流程的流程图。
图17是示出个人计算机的典型示例结构的框图。
图18是示意性地示出电视设备的示例结构的框图。
图19是示意性地示出便携式电话装置的示例结构的框图。
图20是示意性地示出记录/再现设备的示例结构的框图。
图21是示意性地示出成像设备的示例结构的框图。
具体实施方式
以下是用于执行本公开的模式(下文中称为实施例)的描述。将按以下顺序进行说明。
1.第一实施例(根据区域大小对时间预测的限制)
2.第二实施例(根据时间预测运动矢量的数量对时间预测的限制)
3.第三实施例(根据空间周边运动矢量的可用性的控制)
4.第四实施例(预测运动矢量检查)
5.第五实施例(计算机)
6.第六实施例(电视接收机)
7.第七实施例(便携式电话装置)
8.第八实施例(记录/再现设备)
9.第九实施例(成像设备)
<1.第一实施例>
[图像编码装置]
图1是示出作为图像处理装置的图像编码装置的典型示例结构的框图。
图1所示的图像编码装置100根据诸如H.264和MPEG(运动图片专家组)4Part10(AVC(高级视频编码))编码方法的编码方法、通过使用预测处理来对图像数据进行编码。
如图1所示,图像编码装置100包括A/D转换器101、画面重排缓冲器102、算术运算单元103、正交变换单元104、量化单元105、无损编码单元106和累积缓冲器107。图像编码装置100还包括逆量化单元108、逆正交变换单元109、算术运算单元110、环路滤波器111、帧存储器112、选择单元113、帧内预测单元114、运动预测/补偿单元115、预测图像选择单元116和速率控制单元117。
图像编码装置100还包括时间预测控制单元121和运动矢量编码单元122。
A/D转换器101使得输入图像数据经受A/D转换,并且将转换后的图像数据(数字数据)提供到画面重排缓冲器102,画面重排缓冲器102然后存储转换后的图像数据。画面重排缓冲器102根据GOP(图片组)对以显示顺序存储的图像帧进行重排,以使得帧以编码顺序布置。画面重排缓冲器102将具有重排后的帧顺序的图像提供到算术运算单元103。画面重排缓冲器102还将具有重排后的帧顺序的图像提供到帧内预测单元114和运动预测/补偿单元115。
算术运算单元113在从画面重排缓冲器102读取的图像中减去经由预测图像选择单元116从帧内预测单元114或运动预测/补偿单元115提供的预测图像,并且将差分信息输出到正交变换单元104。
当例如要对图像执行帧内编码时,算术运算单元103在从画面重排缓冲器102读取的图像中减去从帧内预测单元114提供的预测图像。当例如要对图像执行帧间编码时,算术运算单元103在从画面重排缓冲器102读取的图像中减去从运动预测/补偿单元115提供的预测图像。
正交变换单元104对从算术运算单元103提供的差分信息执行正交变换处理,诸如离散余弦变换或卡洛变换。该正交变换由任何方法来执行。正交变换单元104将变换系数提供到量化单元105。
量化单元105对从正交变换单元104提供的变换系数进行量化。基于从速率控制单元117提供的关于目标位率值的信息,量化单元105设置量化参数并执行量化。该量化由任何方法来执行。量化单元105将量化后的变换系数提供到无损编码单元106。
无损编码单元106通过编码方法对量化单元105量化后的变换系数进行编码。由于已在速率控制单元117的控制之下对系数数据进行了量化,因此位率变为等于速率控制单元117设置的目标值(或接近目标值)。
无损编码单元106从帧内预测单元114获得包括指示帧内预测模式的信息等的帧内预测信息,并且从运动预测/补偿单元115获得包括指示帧间预测模式的信息、运动矢量信息等的帧间预测信息。无损编码单元106还获得用在环路滤波器111处的滤波器系数等。
无损编码单元106通过编码方法对各种信息进行编码,并且将各种信息合并(复用)到编码数据的报头信息中。无损编码单元106将通过编码获得的编码数据提供到累积缓冲器107,累积缓冲器107然后存储编码数据。
无损编码单元106使用的编码方法可以是例如可变长度编码或算术编码。可变长度编码可以是例如在H.264/AVC中指定的CAVLC(上下文自适应可变长度编码)。算术编码可以是例如CABAC(上下文自适应二进制算术编码)。
累积缓冲器107暂时存储从无损编码单元106提供的编码数据。累积缓冲器107例如在预定时间将所存储的编码数据作为位流输出到后级的记录装置(记录介质)(未示出)或传送路径(未示出)。即,各种编码信息被提供到解码侧。
量化单元105量化后的变换系数也被提供到逆量化单元108。逆量化单元108通过与量化单元105执行的量化兼容的方法来对量化后的变换系数进行逆量化。该逆量化可通过任何方法来执行,只要该方法与量化单元105执行的量化处理兼容即可。逆量化单元108将所获得的变换系数提供到逆正交变换单元109。
逆正交变换单元109通过与正交变换单元104执行的正交变换处理兼容的方法对从逆量化单元108提供的变换系数执行逆正交变换。该逆正交变换可通过任何方法来执行,只要该方法与正交变换单元104执行的正交变换处理兼容即可。经受了逆正交变换的输出(局部恢复的差分信息)被提供到算术运算单元110。
算术运算单元110通过将经由预测图像选择单元116从帧内预测单元114或运动预测/补偿单元115提供的预测图像与从逆正交变换单元109提供的逆正交变换结果或局部恢复的差分信息相加而获得局部重构图像(下文中称为重构图像)。重构图像被提供到环路滤波器111或帧存储器112。
环路滤波器111包括解块滤波器、自适应滤波器等,并且对从算术运算单元110提供的解码图像执行滤波处理。例如,环路滤波器111通过对解码图像执行解块滤波处理而从解码图像去除块失真。另外,环路滤波器111通过对解块滤波结果(从其去除了块失真的解码图像)执行使用维纳滤波器的环路滤波处理来提高图像质量。
环路滤波器111可对解码图像执行任何滤波处理。另外,环路滤波器111可将诸如用在滤波处理中的滤波器系数的信息提供到无损编码单元106,无损编码单元106然后对该信息进行编码。
环路滤波器111将滤波结果(下文中称为解码图像)提供到帧存储器112。
帧存储器112存储从算术运算单元110提供的重构图像和从环路滤波器111提供的解码图像。帧存储器112在预定时间或者响应于来自诸如帧内预测单元114的外部单元的请求而经由选择单元113将所存储的重构图像提供到帧内预测单元114。帧存储器112还在预定时间或者响应于来自诸如运动预测/补偿单元115的外部单元的请求而经由选择单元113将所存储的解码图像提供到运动预测/补偿单元115。
选择单元113指示从帧存储器112输出的图像要被提供的目的地。例如,在例如帧内预测的情况下,选择单元113从帧存储器112读取未滤波的图像(重构图像),并且将未滤波的图像作为周边像素提供到帧内预测单元114。
在例如帧间预测的情况下,选择单元113从帧存储器112读取滤波后的图像(解码图像),并且将滤波后的图像作为参考图像提供到运动预测/补偿单元115。
帧内预测单元114从帧存储器112获得与当前区域相邻的周边区域的图像(周边图像),并且执行通过基本上基于预测单位(PU)使用周边图像的像素值来生成预测图像的帧内预测(画面内预测)。帧内预测单元114以预先准备的多于一种模式(帧内预测模式)执行帧内预测。
帧内预测单元114以所有候选帧内预测模式生成预测图像,通过使用从画面重排缓冲器102提供的输入图像来评估各个预测图像的成本函数值,以及选择最优模式。在选择最优帧内预测模式之后,帧内预测单元114将以最优模式生成的预测图像提供到预测图像选择单元116。
帧内预测单元114还在适当时将包括关于帧内预测的信息的帧内预测信息(诸如最优帧内预测模式)提供到无损编码单元106,以使得无损编码单元106对该信息进行编码。
使用从画面重排缓冲器102提供的输入图像和从帧存储器112提供的参考图像,运动预测/补偿单元115基本上对作为处理单位的PU执行运动预测(帧间预测),并且根据所检测的运动矢量执行运动补偿处理,以生成预测图像(帧间预测图像信息)。运动预测/补偿单元115以预先准备的多于一种模式(帧间预测模式)执行这样的帧间预测(画面间预测)。
运动预测/补偿单元115以所有候选帧间预测模式生成预测图像,评估各个预测图像的成本函数值,并且选择最优模式。在选择了最优帧间预测模式之后,运动预测/补偿单元115将以最优模式生成的预测图像提供到预测图像选择单元116。
运动预测/补偿单元115还将包括关于帧间预测的信息的帧间预测模式信息(诸如最优帧间预测模式)提供到无损编码单元106,无损编码单元106然后对该信息进行编码。
预测图像选择单元116选择要提供到算术运算单元103和算术运算单元110的预测图像的提供者。在例如帧内编码的情况下,预测图像选择单元116选择帧内预测单元114作为预测图像的提供者,并且将从帧内预测单元114提供的预测图像提供到算术运算单元103和算术运算单元110。在例如帧间编码的情况下,预测图像选择单元116选择运动预测/补偿单元115作为预测图像的提供者,并且将从运动预测/补偿单元115提供的预测图像提供到算术运算单元103和算术运算单元110。
基于累积在累积缓冲器107中的编码数据的位率,速率控制单元117控制量化单元105的量化处理速率以便不引起上溢或下溢。
时间预测控制单元121执行控制处理,以控制时间预测使用时间周边区域的运动矢量而生成作为正处理的当前区域的运动矢量的预测值的预测运动矢量。更具体地,时间预测控制单元121确定在生成预测运动矢量时是否要执行时间预测。
运动矢量编码单元122生成当前区域的预测运动矢量,并且生成预测运动矢量与通过运动预测/补偿单元115进行的运动搜索而获得的当前区域的运动矢量之间的差分运动矢量。这样,运动矢量编码单元122在生成预测运动矢量时在时间预测控制单元121的控制之下执行时间预测。
[编码单位]
16×16像素的宏块大小对于要通过下一代编码方法编码的大帧(诸如UHD(超高清:4000×2000像素)帧)不是最优的。
AVC指定了由宏块和子宏块构成的层级结构。然而,在HEVC(高效视频编码)中,如图2所示指定了编码单位(CU)。
CU也被称为编码树块(CTB),并且是作用与AVC中的宏块的作用相同的基于图片的图像的局部区域。宏块的大小被固定为16×16像素的大小,而CU的大小没有被固定为特定大小,而是可由每个序列中的压缩图像信息来指定。
例如,在包含在要输出的编码数据中的序列参数集(SPS)中,指定了CU的最大编码单位(LCU)和最小编码单位(SCU)。
在每个LCU中,在不低于SCU大小的范围内设置split_flag=1,以使得每个LCU可以被划分为更小大小的CU。在图2所示的示例中,LCU的大小是128,并且最大层级深度是5。当split_flag的值是“1”时,大小为2N×2N的CU被划分为低一个层级水平的大小为N×N的CU。
每个CU被进一步划分为作为用于帧内或帧间预测的处理单位区域(基于图片的图像的局部区域)的预测单位(PU),或者被划分为作为用于正交变换的处理单位区域(基于图片的图像的局部区域)的变换单位(TU)。目前,在HEVC中可以使用16×16和32×32正交变换以及4×4和8×8正交变换。
在定义CU的编码方法以及如在上述HEVC中基于CU执行各种处理的情况下,AVC中的宏块可以认为等于LCU。然而,CU具有如图2所示的层级结构。因此,最高层级水平的LCU的大小通常为128×128像素那么大,这大于例如AVC中的每个宏块的大小。
在以下,“区域”包括上述类型的区域(例如,宏块、子宏块、LCU、CU、SCU、PU和TU)的全部(或者可以是其中的任一个)。“区域”当然可包括除上述区域之外的单位,并且根据描述的上下文而排除了不可能的单位。
[运动分割的合并]
非专利文献3公开了图3所示的称为运动分割合并(合并模式)的方法作为运动信息编码方法之一。关于该方法,传送两个标志(MergeFlag和MergeLeftFlag)作为合并信息,该合并信息是关于合并模式的信息。当MergeFlag是1时,关于当前区域X的运动信息与关于与当前区域的上侧相邻的周边区域T的运动信息或者关于与当前区域的左侧相邻的周边区域L的运动信息相同。此时,传送包含MergeLeftFlag的合并信息。当MergeFlage是0时,关于当前区域X的运动信息与关于周边区域T和L中的任一个的运动信息不同。在该情况下,传送关于当前区域X的运动信息。
在关于当前区域X的运动信息与关于周边区域L的运动信息相同的情况下,MergeFlag是1,并且MergeLeftFlag是1。在关于当前区域X的运动信息与关于周边区域T的运动信息相同的情况下,MergeFlag是1,并且MergeLeftFlag是0。
[时间预测运动矢量]
在帧内预测中,通过使用中值预测来执行运动矢量编码,以便减小运动矢量位率。在AVC中,例如,通过使用空间周边区域的运动矢量(空间周边运动矢量)来计算当前区域的运动矢量的预测值(预测运动矢量),该空间周边区域是存在于与正处理的当前区域的帧相同的帧中的、与当前区域相邻的预定位置的区域。
在下文中,使用空间周边区域的运动矢量的运动矢量预测将被称为空间预测,并且通过空间预测生成的预测运动矢量将被称为空间预测运动矢量。
然而,可存在仅通过空间预测没有实现足够高的预测准确度并且空间预测不有助于编码效率提高的情况。鉴于此,提出了不仅使用空间预测而且使用时间预测的方法。
在时间预测中,通过使用位于与当前区域相同的位置的同位区域和包括与当前区域时间上相邻的区域中的与同位区域相邻的区域的时间周边区域的运动矢量或当前区域所参考的参考帧来计算预测运动矢量(也称为时间预测运动矢量)。
例如,非专利文献2公开了如下方法:其不仅通过空间预测生成空间预测运动矢量(空间预测器)而且生成时间预测运动矢量(时间预测器)以及空间和时间预测运动矢量(空间-时间预测器),并且自适应地使用这些预测运动矢量之一作为预测运动信息。
然而,为了执行时间预测,需要存储巨大量的运动矢量。当前区域的运动矢量在稍后要处理的另一区域的处理中将用作空间周边运动矢量或时间周边运动矢量。由于在时间预测中使用关于过去的帧的运动信息,因此运动矢量需要存储在诸如DRAM的大容量低速存储区域中。因此,每次执行时间预测时,根据同位区域的地址而从DRAM读取可用作时间周边区域的运动矢量。
另一方面,空间周边区域位于与当前区域的帧(当前帧)相同的帧中的与当前区域相邻的位置。因此,在每个区域中的水平行被设置为行的情况下,应该存储关于紧接在当前区域上方的一行的运动信息和关于包括当前区域的一行的运动信息(包含运动矢量、参考索引等的信息)以便执行空间预测。这样的信息可以适当地存储在小容量高速存储器(诸如行缓冲器)中。
如上所述,时间预测中的与存储器访问有关的负荷远大于关于空间预测的存储器访问的情况下的负荷。
特别地,在HEVC中,如上所述,可以以64×64至8×8的CU来执行编码。在帧间切片中,每个CU被进一步划分为2N×2N、2N×N、N×2N或N×N的PU,然后执行编码处理。因此,例如,在小区域(诸如PU大小为4×4)中通常选择时间预测的情况下,时间预测中的与存储器访问有关的负荷变得甚至更大,并且存在存储器带宽变为瓶颈且实时动作变得困难的情况。
鉴于上述,图像编码装置100根据当前区域的大小而对通过时间预测的编码施加限制。
[运动预测/补偿单元、时间预测控制单元和运动矢量编码单元]
图4是示出图1所示的运动预测/补偿单元115、时间预测控制单元121和运动矢量编码单元122的典型示例结构的框图。
如图4所示,运动预测/补偿单元115包括运动搜索单元131、成本函数值生成单元132、模式确定单元133、运动补偿单元134和运动信息缓冲器135。
时间预测控制单元121包括阈值设置单元141和区域大小确定单元142。
此外,运动矢量编码单元122包括空间预测运动矢量确定单元151、时间预测运动矢量确定单元152、预测运动矢量生成单元153和差分运动矢量生成单元154。
来自画面重排缓冲器102的输入图像像素值和来自帧存储器112的参考图像像素值被输入到运动搜索单元131。运动搜索单元131以所有帧间预测模式执行运动搜索处理,并且生成包含运动矢量和参考索引的运动信息。运动搜索单元31将运动信息提供到运动矢量编码单元122的空间预测运动矢量确定单元151、时间预测运动矢量确定单元152和预测运动矢量生成单元153。
运动搜索单元131还通过使用所检测的运动矢量对参考图像执行补偿处理,并且生成预测图像。运动搜索单元131还计算预测图像与输入图像之间的差分图像,并且将作为差分图像的像素值的差分图像像素值提供到成本函数值生成单元132。
成本函数值生成单元132获取从运动搜索单元131提供的每种帧间预测模式的差分图像像素值。使用差分图像像素值,成本函数值生成单元132计算每种帧间预测模式的成本函数值。成本函数值生成单元132还从运动矢量编码单元122的差分运动矢量生成单元154获取关于每种帧间预测模式的差分运动信息和关于每种帧间预测模式的预测运动矢量信息。
预测运动矢量信息包含作为正处理的当前区域的运动矢量的预测值的预测运动矢量和指示具有用作生成预测运动矢量时的参考的运动矢量的周边区域的信息。差分运动矢量信息包含指示当前区域的运动矢量与预测运动矢量之间的差的差分运动矢量。
成本函数值生成单元132将每种帧间预测模式的成本函数值、差分运动信息和预测运动矢量信息提供到模式确定单元133。
模式确定单元133获取从成本函数值生成单元132提供的每种帧间预测模式的成本函数值、差分运动信息和预测运动矢量信息。模式确定单元133选择作为具有成本函数值当中的最小成本函数值的帧间预测模式的最优模式。模式确定单元133将作为指示被选作最优模式的帧间预测模式的信息的最优模式信息连同关于最优帧间预测模式的差分运动信息和预测运动矢量信息一起提供到运动补偿单元134。
使用从模式确定单元133提供的差分运动信息和预测运动矢量信息,运动补偿单元134生成最优帧间预测模式的运动矢量。运动补偿单元134通过使用该运动矢量对来自帧存储器112的参考图像执行补偿处理,并且以最优帧间预测模式生成预测图像。运动补偿单元134将所生成的预测图像的像素值(预测图像像素值)提供到预测图像选择单元116。
在预测图像选择单元116选择了帧间预测的情况下,从预测图像选择单元116提供指示该选择的信号。响应于此,运动补偿单元134将最优模式信息连同关于最优帧间预测模式的差分运动信息和预测运动信息一起提供到无损编码单元106,无损编码单元106然后对该信息进行编码并且将编码信息传送到解码侧。预测运动信息包含指示具有用作生成预测运动矢量时的参考的运动矢量的周边区域的信息。
运动补偿单元134还将关于生成预测图像时所使用的最优帧间预测模式的运动信息提供到运动信息缓冲器135和空间预测运动矢量确定单元151。在预测图像选择单元116没有选择帧间预测的情况下(或者在选择了帧内预测图像的情况下),零矢量被作为运动矢量信息提供到运动信息缓冲器135和空间预测运动矢量确定单元151。
运动信息缓冲器135包括诸如DRAM的大容量低速存储区域,并且将从运动补偿单元134提供的运动信息存储到该存储区域中。存储在运动信息缓冲器135中的运动信息将用作时间预测中的时间周边运动信息。即,运动信息缓冲器135在预定时间或者响应于来自外部的请求而将所存储的运动信息提供到时间预测运动矢量确定单元152。
在存储在运动信息缓冲器135中的运动信息中,在预定时间(诸如当存储区域变得自由空间不足时)从运动信息缓冲器135的存储区域丢弃不可能用作时间周边运动信息的运动信息。
同时,成本函数值生成单元132将每种帧内预测模式下的当前区域的区域大小提供到区域大小确定单元142。
阈值设置单元141根据诸如图像大小的档次级别(profile level),确定与区域大小有关的并且要由区域大小确定单元142使用的阈值。阈值设置单元141将所设置的阈值提供到区域大小确定单元142。
区域大小确定单元142确定当前区域的大小,并且根据所确定的大小而控制是否要执行时间预测。更具体地,区域大小确定单元142通过使用阈值设置单元141设置的阈值而对当前区域的大小执行确定(阈值确定)。即,区域大小确定单元142确定从成本函数值生成单元132提供的当前区域的区域大小是否大于阈值设置单元141设置的阈值。
根据确定结果,区域大小确定单元142控制是否要执行时间预测。例如,在当前区域的大小大于阈值的情况下,区域大小确定单元142执行控制以使得在对运动矢量进行预测(编码)时要执行时间预测。例如,在当前区域的大小等于或小于阈值的情况下,区域大小确定单元142执行控制以使得在对运动矢量进行预测(编码)时不执行时间预测。区域大小确定单元142通过将指示是否要执行时间预测的控制信息提供到时间预测运动矢量确定单元152来控制时间预测运动矢量确定单元152的操作(以确定是否要执行时间预测)。
运动矢量编码单元122的空间预测运动矢量确定单元151获取并存储从运动补偿单元134提供的运动信息。空间预测运动矢量确定单元151包括诸如行缓冲器的小容量高速存储区域,并且将从运动补偿单元134获取的运动信息存储到该存储区域中。该运动信息将用作空间预测中的空间周边运动信息。
在存储在空间预测运动矢量确定单元151中的运动信息之中,在预定时间(诸如当存储区域变得自由空间不足时)从空间预测运动矢量确定单元151的存储区域丢弃不可能用作空间周边运动信息的运动信息。从空间预测运动矢量确定单元151丢弃的运动信息可被提供到运动信息缓冲器135进行存储。在该情况下,运动信息缓冲器135不从运动补偿单元134而是从空间预测运动矢量确定单元151获取运动信息。
空间预测运动矢量确定单元151使用所存储的运动矢量作为空间周边运动矢量,并且还通过使用从运动搜索单元131提供的关于每种帧间预测模式的运动信息(运动矢量)执行空间预测而生成空间预测运动矢量。空间预测运动矢量确定单元151将包含空间预测运动矢量的空间预测运动矢量信息提供到预测运动矢量生成单元153。
时间预测运动矢量确定单元152根据从区域大小确定单元142提供的控制信息而进行操作。具体地,在区域大小确定单元142允许时间预测的情况下,时间预测运动矢量确定单元152通过使用从运动信息缓冲器135提供的周边区域的运动信息(周边运动信息)以及从运动搜索单元131提供的关于每种帧间预测模式的运动信息(运动矢量)来执行时间预测。这样,时间预测运动矢量确定单元152生成时间预测运动矢量(以及空间和时间预测运动矢量)。时间预测运动矢量确定单元152将包含所生成的时间预测运动矢量(以及空间和时间预测运动矢量)的时间预测运动矢量信息提供到预测运动矢量生成单元153。
预测运动矢量生成单元153关于每种帧间预测模式获取从空间预测运动矢量确定单元151提供的空间预测运动矢量信息和从时间预测运动矢量确定单元152提供的时间预测运动矢量信息。预测运动矢量生成单元153关于每种帧间预测模式选择空间预测运动矢量信息和时间预测运动矢量信息中更适合于从运动搜索单元131提供的运动信息的一方。即,预测运动矢量生成单元153选择与当前区域的运动矢量更类似的预测运动矢量(包含该预测运动矢量的预测运动矢量信息)。在不执行时间预测的情况下,仅提供空间预测运动矢量信息,因此,预测运动矢量生成单元153选择空间预测运动矢量信息。
预测运动矢量生成单元153关于每种帧间预测模式将所选择的预测运动矢量信息和关于当前区域的运动信息提供到差分运动矢量生成单元154。
差分运动矢量生成单元154关于每种帧间预测模式通过使用从预测运动矢量生成单元153提供的信息而生成预测运动矢量与当前区域的运动矢量之间的差分运动矢量。差分运动矢量生成单元154将包含所生成的差分运动矢量的差分运动信息和预测运动矢量信息提供到成本函数值生成单元132。
如上所述,时间预测控制单元121的区域大小确定单元142根据当前区域的大小控制是否要执行时间预测。因此,运动矢量编码单元122可以仅对期望的区域执行时间预测,并且可以跳过对不必要的区域的时间预测。结果,运动矢量编码单元122可以防止存储器访问负荷的不必要增加。即,图像编码装置100可以防止与图像编码有关的处理负荷的增加。
应注意,当应用本技术时仅对时间预测施加限制。换言之,作为应用本技术的结果,编码数据没有变为不规则数据。具体地,可以由不根据本技术进行操作的与图像编码装置100兼容的图像解码装置(下文中称为传统图像解码装置)对应用本技术的图像编码装置100生成的编码数据更准确地进行解码。然而,在该图像解码装置的解码处理中,最终对时间预测施加与编码相同的限制(但是解码处理中的过程与传统解码处理中的过程相同)。
因此,图像编码装置100还可以防止与图像解码有关的处理负荷的增加。
由于区域大小确定单元142执行控制以使得在当前区域的大小较小时不执行时间预测,因此运动矢量编码单元122可以跳过导致预测运动矢量的数量增加的、对小区域的时间预测,并且可以以更有效的方式防止存储器访问负荷的不必要增加。
区域大小确定单元142还通过使用阈值来确定当前区域的大小。因此,区域大小确定单元142可以容易地执行确定,并且防止由于确定当前区域的大小的处理而导致的负荷增加。
此外,阈值设置单元141根据诸如帧大小的档次级别来设置阈值。因此,区域大小确定单元142可以以更适当的方式控制时间预测。例如,对于具有较小帧的序列,每单位时间所需的吞吐量较低,因此,控制时间预测的必要程度不高。另外,较小帧的序列小于要用于编码的区域(编码单位),并且存在当限制关于较小区域(预测单位)的预测运动矢量(预测器)生成时编码效率下降的可能性。
鉴于此,阈值设置单元141被设计成关于具有1920×1088的像素分辨率的每个序列禁止对小于16×16的区域的时间预测,并且关于具有720×480的分辨率的每个序列禁止对小于8×8的区域的时间预测。以此方式,阈值设置单元141将阈值设置为使得对较大帧的序列施加较大的限制,而对较小帧的序列施加较小的限制。因此,运动矢量编码单元122可以适当地移除存储器访问的实时动作的瓶颈。
[编码处理流程]
接下来,描述要由上述图像编码装置100执行的各个处理中的流程。首先,参照图5所示的流程图,描述编码处理中的示例流程。
在步骤S101中,A/D转换器101对输入图像执行A/D转换。在步骤S102中,画面重排缓冲器102存储经受了A/D转换的图像,并且取代显示顺序而以编码顺序对各个图片进行重排。
在步骤S103中,帧内预测单元114执行帧内预测处理。在步骤S104中,运动预测/补偿单元115执行帧间运动预测处理。在步骤S105中,预测图像选择单元116选择通过帧内预测生成的预测图像或通过帧间预测生成的预测图像。
在步骤S106中,算术运算单元103计算通过步骤S102中的处理重排的图像与通过步骤S105中的处理选择的预测图像之间的差(或者生成差分图像)。所生成的差分图像的数据量小于原始图像的数据量。因此,可以使得数据量比对每个图像直接编码的情况下的数据量小。
在步骤S107中,正交变换单元104对通过步骤S106中的处理生成的差分图像执行正交变换。具体地,执行诸如离散余弦变换或卡洛变换的正交变换,并且输出正交变换系数。在步骤S108中,量化单元105对通过步骤S107中的处理获得的正交变换系数进行量化。
以以下方式对通过步骤108中的处理量化的差分图像进行局部解码。具体地,在步骤S109中,逆量化单元108使用与量化单元105的特性对应的特性,对通过步骤S108中的处理生成的量化正交变换系数(也称为量化系数)进行逆量化。在步骤S110中,逆正交变换单元109使用与正交变换单元104的特性对应的特性,对通过步骤S109中的处理获得的正交变换系数执行逆正交变换。作为该结果,恢复了差分图像。
在步骤S111中,算术运算单元110将在步骤S105中选择的预测图像与在步骤S110中生成的差分图像相加以生成被局部解码的解码图像(重构图像)。在步骤S112中,环路滤波器111通过在适当时对通过步骤S111中的处理获得的重构图像执行解块滤波处理和包括自适应环路滤波处理等的环路滤波处理而生成解码图像。
在步骤S113中,帧存储器112存储通过步骤S112中的处理生成的解码图像或通过步骤S111中的处理生成的重构图像。
在步骤S114中,无损编码单元106对通过步骤S108中的处理量化的正交变换系数进行编码。具体地,对差分图像执行诸如可变长度编码或算术编码的无损编码。无损编码单元106对关于预测的信息、关于量化的信息、关于滤波处理的信息等进行编码,并且将编码信息与位流相加。
在步骤S115中,累积缓冲器107累积通过步骤S114中的处理获得的位流。在适当时读取累积在累积缓冲器107中的编码数据,并且经由传送路径或记录介质将其传送到解码侧。
在步骤S116中,基于通过步骤S115中的处理累积在累积缓冲器107中的编码数据的位率(位生成速率),速率控制单元117控制量化单元105的量化处理速率以便不引起上溢或下溢。
当完成了步骤S116中的处理时,编码操作结束。
[帧间运动预测处理中的流程]
现在参照图6所示的流程图,描述要在图5的步骤S104中执行的帧间运动预测处理中的示例流程。
在步骤S131中,阈值设置单元141根据档次级别设置阈值。
在步骤S132中,运动搜索单元131进行运动搜索,生成关于正处理的当前区域的运动信息,通过使用该运动信息执行补偿处理来生成预测图像,并且还通过使用每种帧间预测模式下的预测图像来生成差分图像。
在步骤S133中,区域大小确定单元142确定当前区域的大小是否大于在步骤S131中设置的阈值。如果确定当前区域的大小大于阈值,则区域大小确定单元142将处理前进到步骤S134。在步骤S134中,运动矢量编码单元122执行使用时间预测的运动矢量编码处理。当完成了使用时间预测的运动矢量编码处理时,运动矢量编码单元122将处理前进到步骤S136。
如果在步骤S133中确定当前区域的大小等于或小于阈值,则区域大小确定单元142将处理前进到步骤S135。在步骤S135中,运动矢量编码单元122执行不使用时间预测的运动矢量编码处理。当完成了不使用时间预测的运动矢量编码处理时,运动矢量编码单元122将处理前进到步骤S136。
在步骤S136中,成本函数值生成单元132通过使用在步骤S132中生成的差分图像的像素值来计算成本函数值。
在步骤S137中,成本函数值生成单元132确定是否存在未使用的帧间预测模式。如果确定存在未使用的帧间预测模式,则处理返回到步骤S132,并且重复此后的处理。即,以每种帧间预测模式执行步骤S132至S137中的处理。
在以所有帧间预测模式生成了成本函数值之后,成本函数值生成单元132将处理前进到步骤S138。在步骤S138中,模式确定单元133基于各个帧间预测模式的成本函数值而确定最优帧间预测模式。
在步骤S139中,运动补偿单元134以通过步骤S138中的处理确定的最优帧间预测模式执行运动补偿,并且生成预测图像。
在步骤S140中,运动信息缓冲器135和空间预测运动矢量确定单元151每个均存储包含用在步骤S139中的运动补偿中的当前区域的运动矢量的运动信息。该运动信息将被用作要比当前区域后处理的其它区域中的空间周边运动信息或时间周边运动信息。
当完成了步骤S140中的处理时,运动预测/补偿单元115结束帧间运动预测处理,并且将处理返回到图5所示的处理。
[使用时间预测的运动矢量编码处理中的流程]
现在参照图7所示的流程图,描述图6所示的步骤S134中的要通过使用时间预测执行的运动矢量编码处理中的示例流程。
当开始使用时间预测的运动矢量编码处理时,空间预测运动矢量确定单元151在步骤S161中生成空间预测运动矢量。
在步骤S162中,时间预测运动矢量确定单元152生成时间预测运动矢量。
在步骤S163中,预测运动矢量生成单元153确定预测运动矢量,该预测运动矢量是在步骤S161中生成的空间预测运动矢量和在步骤S162中生成的时间预测运动矢量中更适当的或与当前区域的运动矢量更类似的一方。
在步骤S164中,差分运动矢量生成单元154生成作为在步骤S163中生成的预测运动矢量与当前区域的运动矢量之间的差的差分运动矢量,并且生成包含差分运动矢量的差分运动信息。
在生成差分运动信息之后,差分运动矢量生成单元154结束使用时间预测的运动矢量编码处理,并且将处理返回到图6所示的处理。
[不使用时间预测的运动矢量编码处理中的流程]
现在参照图8所示的流程图,描述图6所示的步骤S135中的要通过不使用时间预测执行的运动矢量编码处理中的示例流程。
不使用时间预测的运动矢量编码处理与使用时间预测的运动矢量编码处理相同,除了跳过时间预测运动矢量的生成之外。具体地,从图7所示的步骤移除步骤S162。即,以与图7所示的步骤S161、步骤S163和步骤S164中的处理相同的方式执行图8所示的步骤S181至S183中的处理。然而,在不使用时间预测的运动矢量编码处理中,没有生成任何时间预测运动矢量。因此,在步骤S182中,采用在步骤S181中生成的空间预测运动矢量作为预测运动矢量。
当以上述方式执行各个处理时,图像编码装置100可以防止与图像编码和解码有关的处理负荷增加。
<2.第二实施例>
[根据时间预测运动矢量的数量对时间预测的限制]
可根据所生成的时间预测运动矢量的数量来限制时间预测。例如,在包括正处理的当前区域的LCU(当前LCU)或包括当前LCU的相邻LCU中,时间预测运动矢量(时间预测器)出现的次数可能是有限的(被限制于等于或小于预定上限的数量)。
[运动预测/补偿单元、时间预测控制单元和运动矢量编码单元]
图9是示出该情况下的运动预测/补偿单元115、时间预测控制单元121和运动矢量编码单元122的典型示例结构的框图。
如图9所示,运动预测/补偿单元115和运动矢量编码单元122具有与图4所示的结构相同的结构。
时间预测控制单元121包括阈值设置单元201、时间预测运动矢量计数器202和采用频率确定单元203。该情况下的时间预测控制单元121限制要在每个预定数据单位(诸如LCU)中生成的时间预测运动矢量的数量。在以下描述中,每个数据单位是LCU。
基于从无损编码单元106等提供的关于LCU的位置和大小等的信息,阈值设置单元201根据LCU大小设置阈值。在LCU大小是例如64×64的情况下,阈值设置单元201将阈值设置为N倍(N是自然数)。在LCU大小是例如32×32的情况下,阈值设置单元201将阈值设置为N/4倍。在LCU具有除上述之外的大小的情况下,阈值设置单元201将阈值设置为与N成比例。当然可设置任意值,但是期望对于较小的LCU大小设置较小的阈值。即,当LCU大小较小时,LCU的总数比LCU大小较大的情况下大。如果在一个LCU中要生成的时间预测运动矢量的数量相同,则存储器访问可增加。因此,期望对要针对较小LCU生成的时间预测运动矢量的数量施加较大限制(或者施加较小上限值)。换言之,通过如上所述根据LCU大小设置阈值,阈值设置单元201可以对要生成的时间预测运动矢量的数量执行更准确的控制。
此外,与阈值设置单元141相同,阈值设置单元201根据诸如图像大小的档次级别而确定与要生成的时间预测运动矢量的数量有关的阈值。即,阈值设置单元201根据档次级别确定上述数量N。
阈值设置单元201将所设置的阈值提供到采用频率确定单元203。
时间预测运动矢量计数器202从模式确定单元133获取指示被模式确定单元133选作最优模式的帧间预测模式的预测运动矢量是否是时间预测运动矢量的信息(时间预测采用信息)。
具体地,在基于成本函数值选择了最优模式之后,模式确定单元133将指示帧间预测模式的预测运动矢量是否是时间预测运动矢量的信息(时间预测采用信息)提供到时间预测运动矢量计数器202。
基于从模式确定单元133获取的时间预测采用信息,时间预测运动矢量计数器202对已生成时间预测运动矢量的次数(或时间预测运动矢量被采用作为最优模式的预测运动矢量的次数)进行计数。针对作为预定数据单位的每个LCU重置计数值。LCU信息从无损编码单元106等被提供到时间预测运动矢量计数器202。根据LCU信息,时间预测运动矢量计数器202确定当前区域所属的LCU是否与先前区域所属的LCU相同。当确定LCU已改变时,时间预测运动矢量计数器202重置计数值。
每次生成时间预测运动矢量并对其计数时,时间预测运动矢量计数器202将计数值提供到采用频率确定单元203。
采用频率确定单元203确定已生成时间预测运动矢量的次数,并且根据该次数,控制关于是否要执行时间预测的确定。更具体地,采用频率确定单元203通过使用阈值设置单元201设置的阈值,对已生成时间预测运动矢量的次数执行确定(阈值确定)。即,采用频率确定单元203确定从时间预测运动矢量计数器202提供的计数值(已生成时间预测运动矢量的次数)是否达到了阈值设置单元201设置的阈值(上限值)。
根据确定结果,采用频率确定单元203控制是否要执行时间预测。在例如已生成时间预测运动矢量的次数小于阈值的情况下,采用频率确定单元203执行控制以使得在对运动矢量进行预测(编码)时要执行时间预测。另外,在已生成时间预测运动矢量的次数达到了阈值时,采用频率确定单元203执行控制以使得在对运动矢量进行预测(编码)时不执行时间预测。
与区域大小确定单元142相同,采用频率确定单元203通过将指示是否要执行时间预测的控制信息提供到时间预测运动矢量确定单元152来控制时间预测运动矢量确定单元152的操作(以确定是否要执行时间预测)。
在这样的控制之下,运动矢量编码单元122的各个部件以与图4所示的情况相同的方式进行操作,并且生成差分运动信息和预测运动矢量信息。
因此,在该情况下,时间预测控制单元121的采用频率确定单元203还根据已生成时间预测运动矢量的次数而控制是否要执行时间预测。因此,运动矢量编码单元122可以将时间预测的数量限制为预定次数或更小。因此,运动矢量编码单元122可以防止存储器访问负荷的不必要增加。即,图像编码装置100可以防止与图像编码有关的处理负荷的增加。
在该情况下,还可以由传统图像解码装置对由应用本技术的图像编码装置100生成的编码数据更准确地进行解码。因此,在该情况下,图像编码装置100还可以防止与图像解码有关的处理负荷的增加。
采用频率确定单元203通过使用阈值来确定当前区域的大小。因此,可以使得确定更容易,并且可以防止由于确定当前区域的大小的处理而导致的负荷增加。此外,阈值设置单元201根据诸如帧大小的档次级别而设置阈值。因此,如在图4所示的情况下一样,采用频率确定单元203可以以更适当的方式控制时间预测。
[帧间运动预测处理中的流程]
该情况下的编码处理与以上参照图5所示的流程图描述的编码处理相同,因此,这里不重复编码处理的说明。
现在参照图10所示的流程图,描述要在图5的步骤S104中执行的帧间运动预测处理中的示例流程。
当帧间运动预测处理开始时,阈值设置单元201在步骤S201中根据档次级别设置阈值。
在步骤S202中,运动搜索单元131进行运动搜索,生成关于正处理的当前区域的运动信息,通过使用该运动信息执行补偿处理来生成预测图像,并且还通过使用每种帧间预测模式下的预测图像来生成差分图像。
在步骤S203中,采用频率确定单元203确定在最优模式下采用时间预测运动矢量的次数(或在稍后描述的步骤S209中计数的计数值)是否等于或大于在步骤S201中设置的阈值。如果确定次数小于阈值(或者如果次数未达到阈值),则采用频率确定单元203将处理前进到步骤S204。
在步骤S204中,如在以上参照图7所示的流程图描述的情况下一样,运动矢量编码单元122执行使用时间预测的运动矢量编码处理。当完成了使用时间预测的运动矢量编码处理时,运动矢量编码单元122将处理前进到步骤S206。
如果在步骤S203中确定在最优模式下采用时间预测运动矢量的次数(或在稍后描述的步骤S209中计数的计数值)等于或大于阈值(或者如果次数已达到阈值),则采用频率确定单元203将处理前进到步骤S205。
如在以上参照图8所示的流程图描述的情况下一样,在步骤S205中,运动矢量编码单元122执行不使用时间预测的运动矢量编码处理。当完成了不使用时间预测的运动矢量编码处理时,运动矢量编码单元122将处理前进到步骤S206。
在步骤S206中,成本函数值生成单元132通过使用在步骤S202中生成的差分图像的像素值来计算成本函数值。
在步骤S207中,成本函数值生成单元132确定是否存在未使用的帧间预测模式。如果确定存在未使用的帧间预测模式,则处理返回到步骤S202,并且重复此后的处理。即,以每种帧间预测模式执行步骤S202至S207中的处理。
在以所有帧间预测模式生成了成本函数值之后,成本函数值生成单元132将处理前进到步骤S208。在步骤S208中,模式确定单元133基于各个帧间预测模式的成本函数值而确定最优帧间预测模式。
在步骤S209中,时间预测运动矢量计数器202对已生成时间预测运动矢量的次数进行计数。具体地,时间预测运动矢量计数器202仅在通过步骤S208中的处理确定的最优模式的预测运动矢量是时间预测运动矢量时才增加计数(或者将计数值递增1)。换言之,当最优模式的预测运动矢量是空间预测运动矢量时,时间预测运动矢量计数器202不将计数值递增1(或者不对已生成空间预测运动矢量的次数进行计数)。
针对每个LCU(每个预定数据单位)重置该计数值。
在步骤S210中,运动补偿单元134以通过步骤S208中的处理确定的最优帧间预测模式执行运动补偿,并且生成预测图像。
在步骤S211中,运动信息缓冲器135和空间预测运动矢量确定单元151中的每个均存储包含用在步骤S210中的运动补偿中的当前区域的运动矢量的运动信息。该运动信息将用作要比当前区域后处理的其它区域中的空间周边运动信息或时间周边运动信息。
当完成步骤S211中的处理时,运动预测/补偿单元115结束帧间运动预测处理,并且将处理返回到图5所示的处理。
当以上述方式执行各个处理时,图像编码装置100可以防止与图像编码和解码有关的处理负荷的增加。
[其它示例]
在以上描述中,针对作为数据单位的每个LCU重置已生成时间预测运动矢量的次数的计数值,但是该数据单位可以不是LCU。
另外,在上述第一和第二实施例中,根据档次级别确定阈值,但是阈值不限于此而是可以是固定值。在该情况下,阈值设置单元141和阈值设置单元201存储该固定值,并且在预定时间或者响应于来自外部的请求而将该固定值作为阈值提供到区域大小确定单元142或采用频率确定单元203。
还可根据用户指令等设置阈值。阈值设置单元141和阈值设置单元201接收用户指令等,并且基于所接收的信息而设置阈值。替选地,阈值可以是直接输入的。
在该情况下,在编码侧设置的阈值可被并入到序列参数集(SPS)或图片参数集(PPS)等中,并且可被传送到解码侧。该阈值用在解码侧的稍后描述的调试处理等中。在该情况下,阈值设置单元141和阈值设置单元201设置的阈值被提供到无损编码单元106,并且无损编码单元106将阈值并入到序列参数集等中。
由于时间预测而导致的对存储器访问的负荷不仅取决于块大小而且取决于每个区域(预测单位)中的预测方向。具体地,与时间预测运动矢量(时间预测器)用于List0而不用于List1的情况相比,在时间预测运动矢量(时间预测器)用于List0和List1两者的情况下,对存储器访问的负荷较大。
因此,在第二实施例中,阈值设置单元201可关于List0和List1的各个预测方向而设置阈值,时间预测运动矢量计数器202可对关于每个预测方向已生成时间预测运动矢量的次数进行计数,并且采用频率确定单元203可对关于每个预测方向的计数值执行阈值确定。在该情况下,当计数值达到关于List0和List1的预测方向之一的阈值时,采用频率确定单元203执行控制以使得不执行时间预测。
此外,在非专利文献3公开的合并模式中,时间周边区域可被设置为要与当前区域合并的候选。即,可以以合并模式执行时间预测。在该情况下,如以上在第一和第二实施例中所描述的,可根据区域大小、已采用时间周边区域的次数等来控制是否要执行时间预测。
在该情况下,运动矢量编码单元122取代生成差分运动信息(预测运动矢量信息)而执行合并确定并生成标志(诸如merge_flag或merge_left_flag)。然而,时间预测控制单元121的控制与在第一和第二实施例中描述的相同。
<3.第三实施例>
[根据空间周边运动矢量的可用性的控制]
在非专利文献2和非专利文献3所公开的方法中,当所有周边运动矢量都不可用时,(0,0)被设置为预测运动矢量信息。然而,在所有空间周边运动矢量都不可用但是时间周边运动矢量可用的情况下,该功能不起作用。在该情况下,选择时间预测运动矢量(时间预测器),并且存储器访问的负荷可能由于该选择而增加。
鉴于此,在第一和第二实施例所描述的方法中,在时间周边运动矢量可用但是所有空间周边运动矢量都不可用的情况下,(0,0)可被设置为预测运动矢量信息。
[使用时间预测的运动矢量编码处理中的流程]
现在参照图11所示的流程图,描述要在该情况下通过使用时间预测执行的运动矢量编码处理中的示例流程。
当开始使用时间预测的运动矢量编码处理时,空间预测运动矢量确定单元151在步骤S301中确定是否所有空间周边运动矢量都不可用。如果确定存在可用的空间周边运动矢量,则空间预测运动矢量确定单元151将处理前进到步骤S302。
在步骤S302中,空间预测运动矢量确定单元151通过使用可用空间周边运动矢量来生成空间预测运动矢量。
在步骤S303中,时间预测运动矢量确定单元152生成时间预测运动矢量。
在步骤S304中,预测运动矢量生成单元153确定预测运动矢量,该预测运动矢量是在步骤S302中生成的空间预测运动矢量和在步骤S303中生成的时间预测运动矢量中更适当的或与当前区域的运动矢量更类似的一方。在确定预测运动矢量之后,预测运动矢量生成单元153将处理前进到步骤S306。
如果在步骤S301中确定所有空间周边运动矢量都不可用,则空间预测运动矢量确定单元151将处理前进到步骤S305。在步骤S305中,预测运动矢量生成单元153将(0,0)或零矢量设置为预测运动矢量。在确定预测运动矢量之后,预测运动矢量生成单元152将处理前进到步骤S306。
在步骤S306中,差分运动矢量生成单元154生成作为在步骤S304或S305中生成的预测运动矢量与当前区域的运动矢量之间的差的差分运动矢量,并且生成包含该差分运动矢量的差分运动信息。
在生成差分运动信息之后,差分运动矢量生成单元154结束使用时间预测的运动矢量编码处理,并且将处理返回到图6所示的处理。
通过执行这样的处理,运动矢量编码单元122可以在时间周边运动矢量可用但是所有空间周边运动矢量都不可用的情况下,从关于候选模式的预测运动矢量信息中排除时间预测运动矢量(时间预测器)。因此,运动矢量编码单元122可以防止存储器访问的负荷增加。
预测运动信息包含指示预测运动矢量的类型的代码编号。如在第一至第三实施例中所描述的,在时间预测控制单元121执行控制以使得不执行时间预测的情况下,可从代码编号分配表排除时间预测运动矢量。以此方式,可以以代码编号的升序来分配空间预测运动矢量。由于对于较小代码编号位率较小,因此利用该布置可以提高编码效率。
然而,在该情况下,需要与编码侧相同的切换控制用于在解码侧切换代码编号分配表。另外,在编码侧和解码侧需要准备多于一种类型的代码编号分配表(对于编码侧和解码侧中的每个需要准备相同的表集合)。替选地,在编码侧准备的代码编号分配表可被传送到解码侧。
<4.第四实施例>
[预测运动矢量检查]
当执行编码时,可在解码侧对编码数据(位流)进行分析,以根据指定上述限制的标准检查是否限制了时间预测。例如,检查结果可用在调试处理中。
[图像解码装置]
图12是示出作为图像处理装置的图像解码装置的典型示例结构的框图。图12所示的图像解码装置400是与图1所示的图像编码装置100兼容的装置。即,通过与图像编码装置100使用的编码方法兼容的解码方法,图像解码装置400对由图像编码装置100对图像进行编码而生成的编码数据(位流)进行解码,并且获得解码图像。
此外,图像解码装置400检查当如在第一实施例中所描述的编码/解码标准中所定义的限制了时间预测时,是否生成了从图像编码装置100传送的编码数据(位流)。
如图12所示,图像解码装置400包括累积缓冲器401、无损解码单元402、逆量化单元403、逆正交变换单元404、算术运算单元405、环路滤波器406、画面重排缓冲器407和D/A转换器408。图像解码装置400还包括帧存储器409、选择单元410、帧内预测单元411、运动预测/补偿单元412和选择单元413。
图像解码装置400还包括运动矢量解码单元421和预测运动矢量检查单元422。
累积缓冲器401累积所传送的编码数据,并且在预定时间将编码数据提供到无损解码单元402。无损解码单元402通过与无损编码单元106使用的编码方法兼容的方法,对已由图1所示的无损编码单元106编码的并且已从累积缓冲器401提供的信息进行解码。无损解码单元402将通过解码获得的差分图像的量化系数数据提供到逆量化单元403。
无损解码单元402还通过参考通过对编码数据的解码获得的关于最优预测模式的信息,确定帧内预测模式是否被选作最优预测模式或者帧间预测模式是否被选作最优预测模式。基于确定结果,无损解码单元402将关于最优预测模式的信息提供到帧内预测单元411或运动预测/补偿单元412。具体地,例如,在图像编码装置100中帧内预测模式被选作最优预测模式的情况下,作为关于最优预测模式的信息的帧内预测信息等被提供到帧内预测单元411。例如,在图像编码装置100中帧间预测模式被选作最优预测模式的情况下,作为关于最优预测模式的信息的帧间预测信息等被提供到运动预测/补偿单元412。
通过与图1所示的量化单元105使用的量化方法兼容的方法,逆量化单元403对通过无损解码单元402的解码获得的量化系数数据进行逆量化,并且将所得到的系数数据提供到逆正交变换单元404。逆正交变换单元404通过与图1所示的正交变换单元104使用的正交变换方法兼容的方法,对从逆量化单元403提供的系数数据执行逆正交变换。通过该逆正交变换处理,逆正交变换单元404获得与图像编码装置100中的待经受正交变换的差分图像对应的差分图像。
通过逆正交变换获得的差分图像被提供到算术运算单元405。预测图像也经由选择单元413从帧内预测单元411或运动预测/补偿单元412提供到算术运算单元405。
算术运算单元405将差分图像与预测图像相加,并且获得与图像编码装置100的算术运算单元103减去预测图像之前的图像对应的重构图像。算术运算单元405将重构图像提供到环路滤波器406。
环路滤波器406在适当时对所提供的重构图像执行包括解块滤波处理和自适应环路滤波处理的滤波处理。例如,环路滤波器406通过对重构图像执行解块滤波处理来去除块失真。另外,例如,环路滤波器406通过对解块滤波处理的结果(从其去除了块失真的重构图像)执行使用维纳滤波器的环路滤波处理来提高图像质量。
替选地,环路滤波器406可执行除上述之外的任意滤波处理。环路滤波器406还可通过使用从图1所示的图像编码装置100提高的滤波器系数来执行滤波处理。
环路滤波器406将作为滤波处理的结果的解码图像提供到画面重排缓冲器407和帧存储器409。可跳过环路滤波器406的滤波处理。具体地,算术运算单元405的输出可不经受滤波处理,而是可被存储到帧存储器409中。例如,帧内预测单元411使用包含在该图像中的像素的像素值作为周边像素的像素值。
画面重排缓冲器407对所提供的解码图像进行重排。具体地,以原始显示顺序对由图1所示的画面重排缓冲器102以编码顺序重排的帧序列进行重排。D/A转换器408对从画面重排缓冲器407提供的解码图像执行D/A转换,并且将转换后的图像输出到显示器(未示出)以显示该图像。
帧存储器409存储所提供的重构图像和解码图像。帧存储器409还在预定时间或响应于来自帧内预测单元411或运动预测/补偿单元412等的外部请求而经由选择单元410将所存储的重构图像或解码图像提供到帧内预测单元411或运动预测/补偿单元412。
帧内预测单元411执行基本上与图1所示的帧内预测单元114执行的处理相同的处理。然而,帧内预测单元411仅对在编码时通过帧内预测生成预测图像的区域执行帧内预测。
运动预测/补偿单元412基于从无损解码单元402提供的帧间预测信息而执行帧间运动预测处理,并且生成预测图像。基于从无损解码单元402提供的帧间预测信息,运动预测/补偿单元412仅对在编码时执行帧间预测的区域执行帧间运动预测处理。
运动预测/补偿单元412针对作为预测处理单位的每个区域经由选择单元413将所生成的预测图像提供到算术运算单元405。
选择单元413将从帧内预测单元411提供的预测图像或从运动预测/补偿单元412提供的预测图像提供到算术运算单元405。
运动矢量解码单元421从运动预测/补偿单元412获取从图像编码装置100提供的预测运动信息,并且对运动预测/补偿单元412要使用的预测运动矢量进行重构。
预测运动矢量检查单元422检查图像编码装置100是否生成了符合标准的预测矢量。
[运动预测/补偿单元、运动矢量解码单元和预测运动矢量检查单元]
图13是示出运动预测/补偿单元412、运动矢量解码单元421和预测运动矢量检查单元422的典型示例结构的框图。
如图13所示,运动预测/补偿单元412包括最优模式信息缓冲器431、预测运动信息缓冲器432、差分运动信息缓冲器433、运动信息重构单元434、运动补偿单元435和运动信息缓冲器436。
运动矢量解码单元421包括空间预测运动矢量确定单元441、时间预测运动矢量确定单元442和预测运动矢量重构单元443。
最优模式信息缓冲器431获取并存储已从位流提取的并且已从无损解码单元402提供的最优模式信息。最优模式信息缓冲器431在预定时间或者响应于来自外部的请求而将所存储的最优模式信息提供到预测运动矢量检查单元422的区域大小确定单元452。
预测运动信息缓冲器432获取并存储已从位流提取的并且已从无损解码单元402提供的预测运动信息。预测运动信息包含指示具有要被参考用于生成预测运动矢量的运动矢量的周边区域(时间周边区域或空间周边区域)的信息。预测运动信息缓冲器432在预定时间或者响应于来自外部的请求,将所存储的预测运动信息提供到运动矢量解码单元421的空间预测运动矢量确定单元441和时间预测运动矢量确定单元442以及预测运动矢量检查单元422的运动矢量编码方法确定单元453。
差分运动信息缓冲器433获取并存储已从位流提取的并且已从无损解码单元402提供的差分运动信息。差分运动信息缓冲器433在预定时间或者响应于来自外部的请求而将所存储的差分运动信息提供到运动信息重构单元434。
在从差分运动信息缓冲器433获取了关于正处理的当前区域的差分运动信息的情况下,运动信息重构单元434从预测运动矢量重构单元443获取关于当前区域的预测运动矢量信息,并且通过使用所获取的信息来重构关于当前区域的运动信息。更具体地,运动信息重构单元434通过将预测运动矢量信息指示的预测运动矢量与差分运动信息指示的差分运动矢量相加来重构当前区域的运动矢量。运动信息重构单元434将包含运动矢量的运动信息提供到运动补偿单元435、运动信息缓冲器436和空间预测运动矢量确定单元441。
运动补偿单元435获取从运动信息重构单元434提供的关于当前区域的运动信息。运动补偿单元435还获取从帧存储器409提供的参考图像像素值。运动补偿单元435通过使用所获取的信息执行运动补偿,并且生成预测图像。运动补偿单元435经由选择单元413将预测图像像素值提供到算术运算单元405。
运动信息缓冲器436包括诸如DRAM的大容量低速存储区域,并且将从运动信息重构单元434提供的运动信息存储到该存储区域中。存储在运动信息缓冲器436中的该运动信息将被用作时间预测中的时间周边运动信息。即,运动信息缓冲器436在预定时间或者响应于来自外部的请求而将所存储的运动信息提供到运动矢量解码单元421的时间预测运动矢量确定单元442。
运动矢量解码单元421的空间预测运动矢量确定单元441获取并存储从运动信息重构单元434提供的运动信息。空间预测运动矢量确定单元441包括诸如行缓冲器的小容量高速存储区域,并且将从运动信息重构单元434获取的运动信息存储到该存储区域中。该运动信息将被用作空间预测中的空间周边运动信息。
在存储在空间预测运动矢量确定单元441中的运动信息之中,在预定时间(诸如当存储区域变得自由空间不足时)从空间预测运动矢量确定单元441的存储区域丢弃不可能用作空间周边运动信息的运动信息。从空间预测运动矢量确定单元441丢弃的运动信息可被提供到运动信息缓冲器436以进行存储。在该情况下,运动信息缓冲器436不从运动信息重构单元434而是从空间预测运动矢量确定单元441获取运动信息。
基于预测运动信息,空间预测运动矢量确定单元441通过使用所存储的运动矢量执行空间预测,以生成空间预测运动矢量。空间预测运动矢量确定单元441将包含空间预测运动矢量的空间预测运动矢量信息提供到预测运动矢量重构单元443。
基于预测运动信息,时间预测运动矢量确定单元442从运动信息缓冲器436获取时间周边运动信息,并且通过使用时间周边运动矢量执行时间预测,以生成时间预测运动矢量(以及空间和时间预测运动矢量)。时间预测运动矢量确定单元442将包含所生成的时间预测运动矢量(以及空间和时间预测运动矢量)的时间预测运动矢量信息提供到预测运动矢量重构单元443。
预测运动矢量重构单元443关于每种帧间预测模式获取从空间预测运动矢量确定单元441提供的空间预测运动矢量信息和从时间预测运动矢量确定单元442提供的时间预测运动矢量信息。预测运动矢量重构单元443关于每种帧间预测模式选择空间预测运动矢量信息和时间预测运动矢量信息中更适合于运动信息重构单元434重构的运动信息的一方。即,预测运动矢量重构单元443选择与当前区域的运动矢量更类似的预测运动矢量(包含该预测运动矢量的预测运动矢量信息)。在不执行时间预测的情况下,仅提供空间预测运动矢量信息,因此,预测运动矢量重构单元443选择空间预测运动矢量信息。
预测运动矢量重构单元443关于每种帧间预测模式将所选择的预测运动矢量信息和关于当前区域的运动信息提供到运动信息重构信息434。
预测运动矢量检查单元422包括阈值设置单元451、区域大小确定单元452、运动矢量编码方法确定单元453和控制单元454。
阈值设置单元451以与阈值设置单元141相同的方式进行操作,并且设置阈值。区域大小确定单元452从最优模式信息缓冲器431获取关于区域大小的信息,并且通过使用从阈值设置单元451获取的阈值,以与区域大小确定单元142相同的方式对区域大小执行确定。具体地,在如第一实施例中所描述的在限制时间预测时执行编码的情况下,区域大小确定单元142基于当前区域的大小确定当前区域的预测运动矢量是否是空间预测运动矢量或者预测运动矢量是否是时间预测运动矢量。区域大小确定单元142将作为确定结果所选择的运动矢量编码方法提供到运动矢量编码方法确定单元453。
运动矢量编码方法确定单元453确定预测信息指示的运动矢量编码方法是否与区域大小确定单元452执行的确定结果匹配(预测运动矢量是否是空间预测运动矢量或者预测运动矢量是否是时间预测运动矢量)。具体地,运动矢量编码方法确定单元453确定在如第一实施例所描述的限制时间预测时是否生成了从图像编码装置100获取的编码数据。换言之,运动矢量编码方法确定单元453确定是否如第一实施例所述的限制了对从图像编码装置100获取的编码数据的时间预测。
运动矢量编码方法确定单元453然后向控制单元454通知确定结果。
控制单元454基于确定结果控制各个部件。更具体地,在没有如第一实施例所描述的限制对编码数据的时间预测的情况下,控制单元454执行误差处理以通知用户该效果并结束解码处理。
[解码处理流程]
接下来,描述要由上述图像解码装置400执行的各个处理中的流程。首先参照图14所示的流程图,描述解码处理中的示例流程。
当开始解码处理时,累积缓冲器401在步骤S401中累积传送位流。在步骤S402中,无损解码单元402对从累积缓冲器401提供的位流(编码差分图像信息)进行解码。此时,包含在位流中的除差分图像信息之外的各种信息(诸如帧内预测信息或帧间预测信息)也被解码。
在步骤S403中,逆量化单元403对通过步骤S402中的处理获得的量化正交变换系数进行逆量化。在步骤S404中,逆正交变换单元404对在步骤S403中逆量化的正交变换系数执行逆正交变换。
在步骤S405中,帧内预测单元411或运动预测/补偿单元412通过使用所提供的信息执行预测处理。在步骤S406中,算术运算单元405将在步骤S405中生成的预测图像与通过步骤S404中的逆正交变换获得的差分图像信息相加。结果,生成重构图像。
在步骤S407中,环路滤波器406在适当时对在步骤S406中获得的重构图像执行包括解块滤波处理、自适应环路滤波处理等的环路滤波处理。
在步骤S408中,画面重排缓冲器407对通过步骤S407中的滤波处理生成的解码图像进行重排。具体地,以原始显示顺序对图像编码装置100的画面重排缓冲器102重排用于编码的帧顺序进行重排。
在步骤S409中,D/A转换器408对具有重排后的帧的解码图像执行D/A转换。解码图像被输出到显示器(未示出),然后被显示。
在步骤S410中,帧存储器409存储通过步骤S407中的滤波处理获得的解码图像。该解码图像将被用作帧间预测处理中的参考图像。
在完成了步骤S410中的处理之后,解码处理结束。
[预测处理流程]
现在参照图15所示的流程图,描述了要在图14所示的步骤S405中执行的预测处理中的示例流程。
当预测处理开始时,无损解码单元402在步骤S431中确定在编码时是否对当前区域执行了帧内预测。如果确定执行了帧内预测,则无损解码单元402将处理前进到步骤S432。
在该情况下,帧内预测单元411在步骤S432中从无损解码单元402获取帧内预测模式信息,并且在步骤S433中通过帧内预测生成预测图像。在生成预测图像之后,帧内预测单元411结束预测处理,并且将处理返回到图14所示的处理。
如果在步骤S431中确定当前区域为经受帧间预测的区域,则无损解码单元402将处理前进到步骤S434。在步骤S434中,运动预测/补偿单元412执行帧间运动预测处理。在完成帧间运动预测处理之后,运动预测/补偿单元412结束预测处理,并且将处理返回到图14所示的处理。
[帧间运动预测处理中的流程]
现在参照图16所示的流程图,描述要在图15的步骤S434中执行的帧间运动预测处理中的示例流程。
在步骤S451中,阈值设置单元451根据档次级别设置阈值。
在步骤S452中,最优模式信息缓冲器431获取从编码数据提取的最优模式信息。
在步骤S453中,区域大小确定单元452确定当前区域的大小是否大于在步骤S451中设置的阈值,并且确定在采用第一实施例中所描述的时间预测限制的情况下要使用的运动矢量编码方法。
在步骤S454中,预测运动信息缓冲器432获取从编码数据提取的预测运动信息。
在步骤S455中,运动矢量编码方法确定单元453确定在步骤S454中获取的预测运动信息指示的当前区域的预测运动矢量是否与在步骤S453中确定的运动矢量编码方法匹配。具体地,运动矢量编码方法确定单元453确定在当前区域的编码数据中所指示的运动矢量编码方法(时间预测或空间预测)是否与在采用第一实施例中所描述的时间预测限制的情况下要使用的运动矢量编码方法匹配。
如果确定当前区域的预测运动矢量与在步骤S453中确定的运动矢量编码方法匹配,则运动矢量编码方法确定单元453将处理前进到步骤S456。
在步骤S456中,运动矢量编码方法确定单元453确定用于当前区域的运动矢量编码方法是否是时间预测。如果确定用于当前区域的运动矢量编码方法是时间预测,则处理前进到步骤S457。在该情况下,运动矢量解码单元421在步骤S457中通过使用时间预测而重构预测运动矢量。
如果在步骤S456中确定用于当前区域的运动矢量编码方法是空间预测,则运动矢量编码方法确定单元453将处理前进到步骤S458。在该情况下,运动矢量解码单元421在步骤S458中通过使用空间预测而重构预测运动矢量。
在步骤S459中,差分运动信息缓冲器433获取差分运动信息。在步骤S460中,运动信息重构单元434通过使用在步骤S459中获取的差分运动信息来重构运动信息。在步骤S461中,运动补偿单元435通过使用在步骤S460中重构的运动信息来执行运动补偿。在步骤S462中,运动信息缓冲器436和空间预测运动矢量确定单元441存储在步骤S460中重构的运动信息。在完成了步骤S462中的处理之后,运动信息缓冲器436和空间预测运动矢量确定单元441结束帧间运动预测处理。
如果在步骤S455中确定当前区域的预测运动矢量与在步骤S453中确定的运动矢量编码方法不匹配,则运动矢量编码方法确定单元453将处理前进到步骤S463。
在步骤S463中,控制单元454执行误差处理以执行用于处理误差的预定处理,诸如向用户通知该效果或挂起解码处理。在完成误差处理之后,控制单元454结束帧间运动预测处理。
通过执行如上所述的各个处理,图像解码装置400可以正确地检查在编码时对否执行了基于区域大小的时间预测限制。因此,可以执行调试处理,并且可以挂起解码处理。
在采用了如在第二实施例中所描述的基于生成时间预测运动矢量的次数的时间预测限制的情况下,可以使用与上述相同的检查。
例如,本技术可以应用于当经由诸如卫星广播、有线电视、因特网或便携式电话装置的网络介质接收如在MPEG或H.26x中通过正交变换(诸如离散余弦变换)和运动补偿所压缩的图像信息(位流)时所使用的图像编码装置和图像解码装置。本技术还可以应用于在存储介质(诸如光盘或磁盘或者闪存)上的处理中所使用的图像编码装置和图像解码装置。此外,本技术可以应用于包括在这样的图像编码装置和图像解码装置中的运动预测/补偿装置。
<5.第五实施例>
[计算机]
上述系列处理可以由硬件来执行,并且也可以由软件来执行。当该系列处理要由软件来执行时,构成该软件的程序安装在计算机中。这里,计算机可以是并入专用硬件中的计算机,或者可以是在其中安装各种程序时可以执行各种功能的通用个人计算机。
在图17中,个人计算机500的CPU(中央处理单元)501根据存储在ROM(只读存储器)502中的程序或者从存储单元513加载到RAM(随机存取存储器)503中的程序而执行各种处理。CPU501执行各种处理所需的数据在必要时也存储在RAM503中。
CPU501、ROM502和RAM503经由总线504彼此连接。输入/输出接口510也连接到总线504。
输入/输出接口510具有以下与其连接的部件:由键盘、鼠标等构成的输入单元511;由诸如CRT(阴极射线管)或LCD(液晶显示器)的显示器、扬声器等构成的输出单元512;由硬盘等构成的存储单元513;以及由调制解调器等构成的通信单元514。通信单元514经由包括因特网的网络执行通信处理。
驱动器515在必要时也连接到输入/输出接口510,并且诸如磁盘、光盘、磁光盘或半导体存储器的可拆卸介质521在适当时安装在驱动器515上。从这样的可拆卸介质读取的计算机程序在必要时安装在存储单元513中。
在上述系列处理由软件来执行的情况下,从网络或记录介质安装构成该软件的程序。
如图17所示,该记录介质由被分发用于将程序递送到与装置分离的用户、其上记录有程序的可拆卸介质521(诸如磁盘(包括软盘)、光盘(包括CD-ROM(致密盘-只读存储器)或DVD(数字通用盘))、磁光盘(包括MD(迷你盘))或半导体存储器)构成。替选地,记录介质可由其中记录有程序的ROM502或包括在存储单元513中的硬盘构成。这样的记录介质在递送到用户之前被预先并入到装置中。
要由计算机执行的程序可以是用于根据在该说明书中描述的序列以时间顺序执行处理的程序,或者可以是用于并行地执行处理或者在必要时(诸如当存在对该处理的调用时)执行处理的程序。
在该说明书中,写入要记录在记录介质上的程序的步骤不仅包括要根据所公开的序列以时间顺序执行的处理,而且包括如果不一定以时间顺序则并行地或相互独立地执行的处理。
在该说明书中,“系统”表示由两个或更多个装置(设备)构成的整个设备。
另外,在以上描述中,被描述为一个装置(或一个处理单元)的任何结构可被划分为两个或更多个装置(或处理单元)。相反,被描述为两个或更多个装置(或处理单元)的任何结构可被组合以形成一个装置(或一个处理单元)。另外,当然可以将除上述结构之外的结构添加到任何装置(或任何处理单元)的结构。此外,只要整个系统的结构和操作将保持基本上相同,装置(或处理单元)的结构的一部分就可并入到其它装置(或其它处理单元)的结构中。即,本技术的实施例不限于上述实施例,并且可在不背离本技术的范围的情况下对其进行各种修改。
根据上述实施例的图像编码装置和图像解码装置可以应用于包括以下的各种电子设备:用于卫星广播、有线广播(诸如有线电视)、经由因特网的递送、通过蜂窝通信到终端的递送等的传送器和接收器;记录设备,将图像记录在诸如光盘、磁盘和闪存的介质上;以及再现设备,再现来自这些存储介质的图像。在以下,描述了四个示例应用。
<6.第六实施例>
[第一应用:电视接收机]
图18示意性地示出了应用了上述实施例的电视设备的示例结构。电视设备900包括天线901、调谐器902、解复用器903、解码器904、视频信号处理单元905、显示单元906、音频信号处理单元907、扬声器908、外部接口909、控制单元910、用户接口911和总线912。
调谐器902从经由天线901接收的广播信号提取期望信道的信号,并且对所提取的信号进行解调。调谐器902将通过解调获得的编码位流输出到解复用器903。即,调谐器902用作电视设备900中的接收由编码图像构成的编码流的传送单元。
解复用器903从编码位流分离要观看的表演的视频流和音频流,并且将各个分离后的流输出到解码器904。解复用器903还从编码位流提取诸如EPG(电子节目指南)的辅助数据,并且将所提取的数据提供到控制单元910。在编码位流已被加扰的情况下,解复用器903可执行解扰。
解码器904对从解复用器903输入的视频流和音频流进行解码。解码器904然后将通过解码处理生成的视频数据输出到视频信号处理单元905。解码器904还将通过解码处理生成的音频数据输出到音频信号处理单元907。
视频信号处理单元905对从解码器904输入的视频数据进行再现,并且使得显示单元906显示该视频图像。另外,视频信号处理单元905可使得显示单元906显示经由网络提供的应用画面。另外,视频信号处理单元905可根据设置对视频数据执行诸如去噪的附加处理。此外,视频信号处理单元905可生成诸如菜单、按钮或光标的GUI(图形用户接口)的图像,并且将所生成的图像叠加在输出图像上。
显示单元906由从视频信号处理单元905提供的驱动信号来驱动,并且在显示装置(诸如液晶显示器、等离子显示器或OELD(有机电致发光显示器)(有机EL显示器))的视频画面上显示视频图像或图像。
音频信号处理单元907对从解码器904输入的音频数据执行再现处理(诸如D/A转换和放大),并且通过扬声器908输出声音。另外,音频信号处理单元907可对音频数据执行诸如去噪的附加处理。
外部接口909是用于将电视设备900连接到外部装置或网络的接口。例如,经由外部接口909接收的视频流或音频流可由解码器904来解码。即,外部接口909还用作电视设备900中的接收由编码图像构成的编码流的传送单元。
控制单元910包括诸如CPU的处理器以及诸如RAM和ROM的存储器。存储器存储要由CPU执行的程序、程序数据、EPG数据、经由网络获取的数据等。存储在存储器中的程序由CPU在例如激活电视设备900时读取,然后被执行。通过执行程序,CPU例如根据通过用户接口911输入的操作信号而控制电视设备900的操作。
用户接口911连接到控制单元910。用户接口911包括例如用于用户操作电视设备900的按钮和开关以及用于接收远程控制信号的接收单元。用户接口911通过检测用户经由这些部件的操作而生成操作信号,并且将所生成的操作信号输出到控制单元910。
总线912将调谐器902、解复用器903、解码器904、视频信号处理单元905、音频信号处理单元907、外部接口909和控制单元910彼此连接。
在具有上述结构的电视设备900中,解码器904具有根据上述实施例的图像解码装置的功能。因此,当在电视设备900中对图像进行解码时,可以防止解码处理的负荷增加。
<7.第七实施例>
[第二应用:便携式电话装置]
图19示意性地示出了应用了上述实施例的便携式电话装置的示例结构。便携式电话装置920包括天线921、通信单元922、音频编解码器923、扬声器924、麦克风925、摄像装置单元926、图像处理单元927、复用/分离单元928、记录/再现单元929、显示单元930、控制单元931、操作单元932和总线933。
天线921连接到通信单元922。扬声器924和麦克风925连接到音频编解码器923。操作单元932连接到控制单元931。总线933将通信单元922、音频编解码器923、摄像装置单元926、图像处理单元927、复用/分离单元928、记录/再现单元929、显示单元930和控制单元931彼此连接。
便携式电话装置920以各种操作模式(包括音频通信模式、数据通信模式、成像模式和视频电话模式)执行操作,诸如音频信号的传送和接收、电子邮件或图像数据的传送和接收、成像操作以及数据记录。
在音频通信模式,麦克风925生成的模拟音频信号被提供到音频编解码器923。音频编解码器923将模拟音频信号转换为音频数据,并且对转换后的音频数据执行压缩和A/D转换。音频编解码器923将压缩后的音频数据输出到通信单元922。通信单元922对音频数据进行编码和调制以生成要传送的信号。通信单元922经由天线921将所生成的信号传送到基站(未示出)。通信单元922还对经由天线921接收的无线电信号执行放大和频率转换,并且获得接收信号。通信单元922通过对接收信号进行解调和解码来生成音频数据,并且将所生成的音频数据输出到音频编解码器923。音频编解码器923对音频数据执行扩大和D/A转换以生成模拟音频信号。音频编解码器923然后将所生成的音频信号输出到扬声器924以输出声音。
在数据通信模式,例如,控制单元931根据用户经由操作单元932的操作而生成构成电子邮件的文本数据。控制单元931使得显示单元930显示文本。控制单元931还根据经由操作单元932从用户传送的指令而生成电子邮件数据,并且将所生成的电子邮件数据输出到通信单元922。通信单元922对电子邮件数据进行编码和调制以生成要传送的信号。通信单元922经由天线921将所生成的信号传送到基站(未示出)。通信单元922还对经由天线921接收的无线电信号执行放大和频率转换,并且获得接收信号。通信单元922然后通过对接收信号进行解调和解码来恢复电子邮件数据,并且将恢复后的电子邮件数据输出到控制单元931。控制单元931使得显示单元930显示电子邮件的内容,并且将电子邮件数据存储在记录/再现单元929的存储介质中。
记录/再现单元929包括可读/可重写存储介质。例如,存储介质可以是诸如RAM或闪存的内部存储介质,或者可以是外部安装类型的存储介质,诸如硬盘、磁盘、磁光盘、光盘、USB(未分配的空间位图)存储器或存储卡。
在成像模式,摄像装置单元926通过捕获对象的图像来生成图像数据,并且将所生成的图像数据输出到图像处理单元927。图像处理单元927对从摄像装置单元926输入的图像数据进行编码,并且将编码流存储在记录/再现单元929的存储介质中。
在视频电话模式,复用/分离单元928对图像处理单元927编码的视频流和从音频编解码器923输入的音频流进行复用,并且将复用后的流输出到通信单元922。通信单元922对该流进行编码和调制以生成要传送的信号。通信单元922经由天线921将所生成的信号传送到基站(未示出)。通信单元922还对经由天线921接收的无线电信号执行放大和频率转换,并且获得接收信号。传送信号和接收信号可包括编码位流。通信单元922通过对接收信号进行解调和解码来恢复流,并且将恢复后的流输出到复用/分离单元928。复用/分离单元928从输入流分离视频流和音频流,并且将视频流输出到图像处理单元927以及将音频流输出到音频编解码器923。图像处理单元927对视频流进行解码以生成视频数据。视频数据被提供到显示单元930,并且一系列图像由显示单元930来显示。音频编解码器923对音频流执行扩大和D/A转换,以生成模拟音频信号。音频编解码器923然后将所生成的音频信号输出到扬声器924以输出声音。
在具有上述结构的便携式电话装置920中,图像处理单元927具有根据上述实施例的图像编码装置和图像解码装置的功能。因此,当在便携式电话装置920中对图像进行编码和解码时,可以防止编码处理和解码处理的负荷增加。
<8.第八实施例>
[第三应用:记录/再现设备]
图20示意性地示出了应用了上述实施例的记录/再现设备的示例结构。记录/再现设备940例如对接收的广播表演的音频数据和视频数据进行编码,并且将音频数据和视频数据记录在记录介质上。记录/再现设备940可对例如从其它设备获取的音频数据和视频数据进行编码,并且将音频数据和视频数据记录在记录介质上。记录/再现设备940还例如根据来自用户的指令而通过监视器和扬声器再现记录在记录介质上的数据。这样,记录/再现设备940对音频数据和视频数据进行解码。
记录/再现设备940包括调谐器941、外部接口942、编码器943、HDD(硬盘驱动器)944、盘驱动器945、选择器946、解码器947、OSD(在屏显示)948、控制单元949和用户接口950。
调谐器941从经由天线(未示出)接收的广播信号提取期望信道的信号,并且对所提取的信号进行解调。调谐器941将通过解调获得的编码位流输出到选择器946。即,调谐器941用作记录/再现设备940中的传送单元。
外部接口942是用于将记录/再现设备940连接到外部装置或网络的接口。外部接口942可以是例如IEEE1394接口、网络接口、USB接口或闪存接口。经由外部接口942接收的视频数据和音频数据例如被输入到编码器943。即,外部接口942用作记录/再现设备940中的传送单元。
在通过外部接口942输入的视频数据和音频数据未被编码的情况下,编码器943对视频数据和音频数据进行编码。编码器943然后将编码位流输出到选择器946。
HDD944将由压缩内容数据(诸如视频图像和声音)构成的编码位流、各种程序和其它数据记录在内部硬盘上。当要再现视频图像和声音时,HDD944从硬盘读取这些数据。
盘驱动器945将数据记录在其上所安装的记录介质上以及从该记录介质读取数据。安装在盘驱动器945上的记录介质可以是例如DVD盘(诸如DVD-视频、DVD-RAM、DVD-R、DVD-RW、DVD+R或DVD+RW)或蓝光(注册商标名)盘。
当要记录视频图像和声音时,选择器946选择从调谐器941或编码器943输入的编码位流,并且将所选择的编码位流输出到HDD944或盘驱动器945。当要再现视频图像和声音时,选择器946将从HDD944或盘驱动器945输入的编码位流输出到解码器947。
解码器947对编码位流进行解码,并且生成视频数据和音频数据。解码器947将所生成的视频数据输出到OSD948。解码器904还将所生成的音频数据输出到外部扬声器。
OSD948再现从解码器947输入的视频数据,并且显示视频图像。OSD948可将诸如菜单、按钮或光标的GUI的图像叠加在要显示的视频图像上。
控制单元949包括诸如CPU的处理器以及诸如RAM和ROM的存储器。存储器存储要由CPU执行的程序、程序数据等。存储在存储器中的程序由CPU在例如激活记录/再现设备940时读取,然后被执行。通过执行该程序,CPU例如根据通过用户接口950输入的操作信号而控制记录/再现设备940的操作。
用户接口950连接到控制单元949。用户接口950包括例如用于用户操作记录/再现设备940的按钮和开关以及用于接收远程控制信号的接收单元。用户接口950通过检测用户经由这些部件的操作而生成操作信号,并且将所生成的操作信号输出到控制单元949。
在具有上述结构的记录/再现设备940中,编码器943具有根据上述实施例的图像编码装置的功能。另外,解码器947具有根据上述实施例的图像解码装置的功能。因此,当在记录/再现设备940中对图像进行编码和解码时,可以防止编码处理和解码处理的负荷增加。
<9.第九实施例>
[第四应用:成像设备]
图21示意性地示出了应用了上述实施例的成像设备的示例结构。成像设备960通过对对象进行成像来生成图像,对图像数据进行编码,以及将图像数据记录在记录介质上。
成像设备960包括光学组件961、成像单元962、信号处理单元963、图像处理单元964、显示单元965、外部接口966、存储器967、介质驱动器968、OSD969、控制单元970、用户接口971和总线972。
光学组件961连接到成像单元962。成像单元962连接到信号处理单元963。显示单元965连接到图像处理单元964。用户接口971连接到控制单元970。总线972将图像处理单元964、外部接口966、存储器967、介质驱动器968、OSD969和控制单元970彼此连接。
光学组件961包括聚焦透镜和光圈。光学组件961在成像单元962的成像表面上形成对象的光学图像。成像单元962包括诸如CCD(电荷耦合器件)或CMOS(互补金属氧化物半导体)的图像传感器,并且通过光电转换将形成在成像表面上的光学图像转换成作为电信号的图像信号。成像单元962将图像信号输出到信号处理单元963。
信号处理单元963对从成像单元962输入的图像信号执行各种摄像装置信号处理,诸如膝点校正、伽马校正和颜色校正。信号处理单元963将经受了摄像装置信号处理的图像数据输出到图像处理单元964。
图像处理单元964对从信号处理单元963输入的图像数据进行编码,并且生成编码数据。图像处理单元964然后将所生成的编码数据输出到外部接口966或介质驱动器968。图像处理单元964还对从外部接口966或介质驱动器968输入的编码数据进行解码,并且生成图像数据。图像处理单元964然后将所生成的图像数据输出到显示单元965。替选地,图像处理单元964可将从信号处理单元963输入的图像数据输出到显示单元965以显示图像。图像处理单元964还可将从OSD969获取的显示数据叠加在要输出到显示单元965的图像上。
OSD969生成诸如菜单、按钮或光标的GUI的图像,并且将所生成的图像输出到图像处理单元964。
外部接口966被形成为例如USB输入/输出端子。当例如要打印出图像时,外部接口966将成像设备960连接到打印机。如果必要,驱动器也连接到外部接口966。诸如磁盘或光盘的可拆卸介质安装在驱动器上以使得从可拆卸介质读取的程序可以被安装到成像设备960中。此外,外部接口966可被设计为要连接到诸如LAN或因特网的网络的网络接口。即,外部接口966用作成像设备960中的传送单元。
要安装在介质驱动器968上的记录介质可以是任意可读/可重写可拆卸介质,诸如磁盘、磁光盘、光盘或半导体存储器。另外,记录介质可被固定到介质驱动器968以形成诸如内部硬盘驱动器或SSD(固态驱动器)的非便携式存储单元。
控制单元970包括诸如CPU的处理器以及诸如RAM和ROM的存储器。存储器存储要由CPU执行的程序、程序数据等。存储在存储器中的程序由CPU例如在激活成像设备960时读取,然后被执行。通过执行程序,CPU例如根据通过用户接口971输入的操作信号而控制成像设备960的操作。
用户接口971连接到控制单元970。用户接口971包括例如用于用户操作成像设备960的按钮和开关。用户接口971通过检测用户经由这些部件的操作而生成操作信号,并且将所生成的操作信号输出到控制单元970。
在具有上述结构的成像设备960中,图像处理单元964具有根据上述实施例的图像编码装置和图像解码装置的功能。因此,当在成像设备960中对图像进行编码和解码时,可以防止编码处理和解码处理的负荷增加。
在该说明书中,如上所述,诸如阈值的各种信息与编码流的报头进行复用,并且从编码侧被传送到解码侧。然而,传送信息的方法不限于以上示例。信息可不与编码位流复用,而是可例如作为与编码位流相关联的独立数据来传送或记录。这里,术语“相关联”表示在解码时将包括在位流中的图像(或图像的一部分,诸如切片或块)链接到对应于该图像的信息。换言之,信息可通过与用于图像(或位流)的传送路径不同的传送路径来传送。另外,信息可记录在与存储图像(或位流)的记录介质不同的记录介质(或同一记录介质中的不同记录区域)上。此外,每条信息可与多个帧、一个帧或者图像(或位流)的帧的一部分相关联。
尽管已参照附图详细描述了本公开的优选实施例,但是本公开不限于这些示例。本领域技术人员显然可以在这里所要求保护的技术精神的范围内进行各种改变或修改,并且这些改变或修改自然被认为落入本公开的技术范围内。
应注意,本技术还可以以下述结构来实施。
(1)一种图像处理装置,包括:
时间预测控制单元,被配置成在运动矢量的预测中,控制是否要执行通过使用与正处理的当前区域在时间上相邻的周边区域的运动矢量来预测所述运动矢量的时间预测;以及
运动矢量编码单元,被配置成在所述时间预测控制单元的控制之下,通过仅执行通过使用与所述当前区域在空间上相邻的周边区域的运动矢量来预测所述运动矢量的空间预测或者执行所述空间预测和所述时间预测两者来预测所述当前区域的运动矢量,并且通过使用预测值来对所述当前区域的运动矢量进行编码。
(2)根据(1)所述的图像处理装置,其中,所述时间预测控制单元根据所述当前区域的大小控制是否要执行所述时间预测。
(3)根据(2)所述的图像处理装置,其中,当所述当前区域的大小等于或小于预定阈值时,所述时间预测控制单元执行控制以使得不执行所述时间预测。
(4)根据(3)所述的图像处理装置,还包括:阈值设置单元,被配置成设置所述阈值,
其中,当所述当前区域的大小等于或小于所述阈值设置单元设置的阈值时,所述时间预测控制单元执行控制以使得不执行所述时间预测。
(5)根据(4)所述的图像处理装置,其中,所述阈值设置单元根据档次级别设置所述阈值。
(6)根据(3)所述的图像处理装置,还包括:传送单元,被配置成传送所述阈值。
(7)根据(1)所述的图像处理装置,其中,所述时间预测控制单元根据时间预测运动矢量被采用作为所述当前区域的运动矢量的预测值的次数来控制是否要执行所述时间预测,所述时间预测运动矢量是通过所述时间预测所预测的所述当前区域的运动矢量。
(8)根据(7)所述的图像处理装置,其中,当每个预定数据单位的所述次数达到预定阈值时,所述时间预测控制单元执行控制以使得不执行所述时间预测。
(9)根据(8)所述的图像处理装置,还包括:阈值设置单元,被配置成设置所述阈值,
其中,当每个预定数据单位的所述次数已到达所述阈值设置单元设置的阈值时,所述时间预测控制单元执行控制以使得不执行所述时间预测。
(10)根据(9)所述的图像处理装置,其中,所述阈值设置单元根据档次级别设置所述阈值。
(11)根据(9)所述的图像处理装置,其中,所述阈值设置单元根据所述预定数据单位的大小设置所述阈值。
(12)根据(8)所述的图像处理装置,其中,所述预定数据单位是LCU最大编码单位。
(13)根据(8)所述的图像处理装置,其中,
所述阈值是针对每个预测方向设置的,以及
当针对至少一个所述预测方向每个预定数据单位的所述次数已达到所述阈值时,所述时间预测控制单元执行控制以使得不执行所述时间预测。
(14)根据(8)所述的图像处理装置,还包括:传送单元,被配置成传送所述阈值。
(15)根据(1)所述的图像处理装置,还包括:
确定单元,被配置成确定与所述当前区域在空间上相邻的周边区域的所有运动矢量是否都不可用;以及
设置单元,被配置成在所述确定单元确定与所述当前区域在空间上相邻的周边区域的所有运动矢量都不可用时将零矢量设置为所述当前区域的运动矢量的预测值,而不管是否所述时间预测控制单元执行控制以使得执行所述时间预测。
(16)根据(1)所述的图像处理装置,其中,当所述当前区域的运动矢量是仅通过所述空间预测所预测的时,所述运动矢量编码单元通过使用示出不包括所述时间预测的预测值的类型的代码编号分配表而为所述预测值分配代码编号。
(17)根据(16)所述的图像处理装置,还包括:传送单元,被配置成传送所述代码编号分配表。
(18)根据(1)所述的图像处理装置,其中,所述运动矢量编码单元包括:
时间预测单元,被配置成当所述时间预测控制单元允许所述时间预测时,执行所述时间预测并且生成作为通过所述时间预测所预测的所述当前区域的运动矢量的时间预测运动矢量;
空间预测单元,被配置成执行所述空间预测并且生成作为通过所述空间预测所预测的所述当前区域的运动矢量的空间预测运动矢量;
预测运动矢量生成单元,被配置成设置所述当前区域的运动矢量的预测值,所述预测值是所述时间预测单元生成的所述时间预测运动矢量和所述空间预测单元生成的所述空间预测运动矢量中与所述当前区域的运动矢量更类似的一方;以及
差分值计算单元,被配置成计算所述当前区域的运动矢量与所述预测运动矢量生成单元生成的预测值之间的差分值。
(19)根据(18)所述的图像处理装置,还包括:传送单元,被配置成传送所述差分值计算单元算出的差分值。
(20)一种用于图像处理装置的图像处理方法,所述图像处理方法包括:
在运动矢量的预测中,控制是否要执行通过使用与正处理的当前区域在时间上相邻的周边区域的运动矢量来预测所述运动矢量的时间预测,所述控制由时间预测控制单元来执行;以及
在所述时间预测控制单元的控制之下,通过仅执行通过使用与所述当前区域在空间上相邻的周边区域的运动矢量来预测所述运动矢量的空间预测或者执行所述空间预测和所述时间预测两者来预测所述当前区域的运动矢量,以及通过使用预测值来对所述当前区域的运动矢量进行编码,所述预测和所述编码由运动矢量编码单元来执行。
附图标记列表
100 图像编码装置
115 运动预测/补偿单元
121 时间预测控制单元
122 运动矢量编码单元
141 阈值设置单元
142 区域大小确定单元
151 空间预测运动矢量确定单元
152 时间预测运动矢量确定单元
153 预测运动矢量生成单元
154 差分运动矢量生成单元
201 阈值设置单元
202 时间预测运动矢量计数器
203 采用频率确定单元
400 图像解码装置
412 运动预测/补偿单元
421 运动矢量解码单元
422 预测运动矢量检查单元
451 阈值设置单元
452 区域大小确定单元
453 运动矢量编码方法确定单元
454 控制单元
Claims (20)
1.一种图像处理装置,包括:
时间预测控制单元,被配置成在运动矢量的预测中,控制是否要执行通过使用与正处理的当前区域在时间上相邻的周边区域的运动矢量来预测所述运动矢量的时间预测;以及
运动矢量编码单元,被配置成在所述时间预测控制单元的控制之下,通过仅执行通过使用与所述当前区域在空间上相邻的周边区域的运动矢量来预测所述运动矢量的空间预测或者执行所述空间预测和所述时间预测两者来预测所述当前区域的运动矢量,并且通过使用预测值来对所述当前区域的运动矢量进行编码。
2.根据权利要求1所述的图像处理装置,其中,所述时间预测控制单元根据所述当前区域的大小控制是否要执行所述时间预测。
3.根据权利要求2所述的图像处理装置,其中,当所述当前区域的大小等于或小于预定阈值时,所述时间预测控制单元执行控制以使得不执行所述时间预测。
4.根据权利要求3所述的图像处理装置,还包括:阈值设置单元,被配置成设置所述阈值,
其中,当所述当前区域的大小等于或小于所述阈值设置单元设置的阈值时,所述时间预测控制单元执行控制以使得不执行所述时间预测。
5.根据权利要求4所述的图像处理装置,其中,所述阈值设置单元根据档次级别设置所述阈值。
6.根据权利要求3所述的图像处理装置,还包括:传送单元,被配置成传送所述阈值。
7.根据权利要求1所述的图像处理装置,其中,所述时间预测控制单元根据时间预测运动矢量被采用作为所述当前区域的运动矢量的预测值的次数来控制是否要执行所述时间预测,所述时间预测运动矢量是通过所述时间预测所预测的所述当前区域的运动矢量。
8.根据权利要求7所述的图像处理装置,其中,当每个预定数据单位的所述次数达到预定阈值时,所述时间预测控制单元执行控制以使得不执行所述时间预测。
9.根据权利要求8所述的图像处理装置,还包括:阈值设置单元,被配置成设置所述阈值,
其中,当每个预定数据单位的所述次数已到达所述阈值设置单元设置的阈值时,所述时间预测控制单元执行控制以使得不执行所述时间预测。
10.根据权利要求9所述的图像处理装置,其中,所述阈值设置单元根据档次级别设置所述阈值。
11.根据权利要求9所述的图像处理装置,其中,所述阈值设置单元根据所述预定数据单位的大小设置所述阈值。
12.根据权利要求8所述的图像处理装置,其中,所述预定数据单位是LCU最大编码单位。
13.根据权利要求8所述的图像处理装置,其中,
所述阈值是针对每个预测方向设置的,以及
当针对至少一个所述预测方向每个预定数据单位的所述次数已达到所述阈值时,所述时间预测控制单元执行控制以使得不执行所述时间预测。
14.根据权利要求8所述的图像处理装置,还包括:传送单元,被配置成传送所述阈值。
15.根据权利要求1所述的图像处理装置,还包括:
确定单元,被配置成确定与所述当前区域在空间上相邻的周边区域的所有运动矢量是否都不可用;以及
设置单元,被配置成在所述确定单元确定与所述当前区域在空间上相邻的周边区域的所有运动矢量都不可用时将零矢量设置为所述当前区域的运动矢量的预测值,而不管是否所述时间预测控制单元执行控制以使得执行所述时间预测。
16.根据权利要求1所述的图像处理装置,其中,当所述当前区域的运动矢量是仅通过所述空间预测所预测的时,所述运动矢量编码单元通过使用示出不包括所述时间预测的预测值的类型的代码编号分配表而为所述预测值分配代码编号。
17.根据权利要求16所述的图像处理装置,还包括:传送单元,被配置成传送所述代码编号分配表。
18.根据权利要求1所述的图像处理装置,其中,所述运动矢量编码单元包括:
时间预测单元,被配置成当所述时间预测控制单元允许所述时间预测时,执行所述时间预测并且生成作为通过所述时间预测所预测的所述当前区域的运动矢量的时间预测运动矢量;
空间预测单元,被配置成执行所述空间预测并且生成作为通过所述空间预测所预测的所述当前区域的运动矢量的空间预测运动矢量;
预测运动矢量生成单元,被配置成设置所述当前区域的运动矢量的预测值,所述预测值是所述时间预测单元生成的所述时间预测运动矢量和所述空间预测单元生成的所述空间预测运动矢量中与所述当前区域的运动矢量更类似的一方;以及
差分值计算单元,被配置成计算所述当前区域的运动矢量与所述预测运动矢量生成单元生成的预测值之间的差分值。
19.根据权利要求18所述的图像处理装置,还包括:传送单元,被配置成传送所述差分值计算单元算出的差分值。
20.一种用于图像处理装置的图像处理方法,所述图像处理方法包括:
在运动矢量的预测中,控制是否要执行通过使用与正处理的当前区域在时间上相邻的周边区域的运动矢量来预测所述运动矢量的时间预测,所述控制由所述时间预测控制单元来执行;以及
在所述时间预测控制单元的控制之下,通过仅执行通过使用与所述当前区域在空间上相邻的周边区域的运动矢量来预测所述运动矢量的空间预测或者执行所述空间预测和所述时间预测两者来预测所述当前区域的运动矢量,以及通过使用预测值来对所述当前区域的运动矢量进行编码,所述预测和所述编码由所述运动矢量编码单元来执行。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011144298A JP2013012905A (ja) | 2011-06-29 | 2011-06-29 | 画像処理装置および方法 |
JP2011-144298 | 2011-06-29 | ||
PCT/JP2012/065817 WO2013002108A1 (ja) | 2011-06-29 | 2012-06-21 | 画像処理装置および方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103636219A true CN103636219A (zh) | 2014-03-12 |
Family
ID=47424005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280030530.XA Pending CN103636219A (zh) | 2011-06-29 | 2012-06-21 | 图像处理装置和方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9445091B2 (zh) |
EP (1) | EP2728880A1 (zh) |
JP (1) | JP2013012905A (zh) |
CN (1) | CN103636219A (zh) |
WO (1) | WO2013002108A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014190468A1 (en) | 2013-05-27 | 2014-12-04 | Microsoft Corporation | Video encoder for images |
GB2519514A (en) * | 2013-10-11 | 2015-04-29 | Canon Kk | Method and apparatus for displacement vector component prediction in video coding and decoding |
CN105359531B (zh) | 2014-03-17 | 2019-08-06 | 微软技术许可有限责任公司 | 用于针对屏幕内容编码的编码器侧判定的方法和系统 |
US10924743B2 (en) | 2015-02-06 | 2021-02-16 | Microsoft Technology Licensing, Llc | Skipping evaluation stages during media encoding |
US10038917B2 (en) | 2015-06-12 | 2018-07-31 | Microsoft Technology Licensing, Llc | Search strategies for intra-picture prediction modes |
US10136132B2 (en) | 2015-07-21 | 2018-11-20 | Microsoft Technology Licensing, Llc | Adaptive skip or zero block detection combined with transform size decision |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1592421A (zh) * | 2003-05-07 | 2005-03-09 | 株式会社Ntt都科摩 | 活动图像编码装置和方法以及活动图像解码装置和方法 |
JP2010081465A (ja) * | 2008-09-29 | 2010-04-08 | Hitachi Ltd | 動画像符号化方法および動画像復号化方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9143795B2 (en) * | 2011-04-11 | 2015-09-22 | Texas Instruments Incorporated | Parallel motion estimation in video coding |
US9485518B2 (en) * | 2011-05-27 | 2016-11-01 | Sun Patent Trust | Decoding method and apparatus with candidate motion vectors |
KR101889582B1 (ko) * | 2011-05-31 | 2018-08-20 | 선 페이턴트 트러스트 | 동화상 부호화 방법, 동화상 부호화 장치, 동화상 복호화 방법, 동화상 복호화 장치, 및, 동화상 부호화 복호화 장치 |
EP2721825A4 (en) * | 2011-06-15 | 2014-12-24 | Mediatek Inc | METHOD AND DEVICE FOR MOTION AND DISPARITY VECTOR PREDICTION AND COMPENSATION IN 3D VIDEO CODING |
-
2011
- 2011-06-29 JP JP2011144298A patent/JP2013012905A/ja not_active Abandoned
-
2012
- 2012-06-21 EP EP12805074.7A patent/EP2728880A1/en not_active Withdrawn
- 2012-06-21 WO PCT/JP2012/065817 patent/WO2013002108A1/ja active Application Filing
- 2012-06-21 CN CN201280030530.XA patent/CN103636219A/zh active Pending
- 2012-06-21 US US14/118,286 patent/US9445091B2/en active Active
-
2016
- 2016-07-06 US US15/203,345 patent/US10129562B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1592421A (zh) * | 2003-05-07 | 2005-03-09 | 株式会社Ntt都科摩 | 活动图像编码装置和方法以及活动图像解码装置和方法 |
JP2010081465A (ja) * | 2008-09-29 | 2010-04-08 | Hitachi Ltd | 動画像符号化方法および動画像復号化方法 |
Non-Patent Citations (2)
Title |
---|
YEPING SU等: "On motion vector competition", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11》 * |
YUSUKE ITANI等: "Improvement to AMVP/Merge process", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11》 * |
Also Published As
Publication number | Publication date |
---|---|
JP2013012905A (ja) | 2013-01-17 |
US10129562B2 (en) | 2018-11-13 |
US20140079133A1 (en) | 2014-03-20 |
US9445091B2 (en) | 2016-09-13 |
WO2013002108A1 (ja) | 2013-01-03 |
US20160316222A1 (en) | 2016-10-27 |
EP2728880A1 (en) | 2014-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103636214B (zh) | 图像处理设备及图像处理方法 | |
TW201811055A (zh) | 使用解耦樹結構之視訊內寫碼 | |
CN104471944B (zh) | 图像处理装置和方法 | |
TW201818720A (zh) | 使用解耦樹結構之視訊內寫碼 | |
KR20160078493A (ko) | 비디오 코딩을 위한 칼라 레지듀얼 예측 | |
CN103444173B (zh) | 图像处理设备和方法 | |
CN114128261A (zh) | 用于视频译码的组合的帧间和帧内预测模式 | |
CN103563364A (zh) | 图像处理设备及方法 | |
CN103404149A (zh) | 图像处理装置以及方法 | |
CA2837055A1 (en) | Image processing device and image processing method | |
CN104429068A (zh) | 图像处理装置及方法 | |
CN104054346A (zh) | 图像处理装置和方法 | |
US10129562B2 (en) | Image processing device and method | |
CN104041030A (zh) | 图像处理设备和方法 | |
CN103891285A (zh) | 图像处理装置和方法 | |
CN103907353A (zh) | 图像处理设备和方法 | |
CN103907352B (zh) | 图像处理设备和方法 | |
CN103548355A (zh) | 图像处理装置及方法 | |
CN103535041A (zh) | 图像处理装置和方法 | |
CN103891286A (zh) | 图像处理装置和方法 | |
CN114073079A (zh) | 带有运动信息采集缓冲器的运动矢量预测 | |
CN103597836A (zh) | 图像处理设备和方法 | |
CN103843344A (zh) | 图像处理装置和方法 | |
CN103959784A (zh) | 图像处理装置和方法 | |
CN102986226A (zh) | 图像处理装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140312 |