专利名称:数据处理装置及其方法和编码设备的制作方法
技术领域:
本发明涉及一种用于生成运动图像数据的运动向量的数据处理装置及其方法和编码设备。
背景技术:
近些年来,出现了MPEG(运动图像专家组)系统或者其它的系统,这些系统用于数字地处理图像数据,与此同时,利用图像信息特有的冗余度,通过应用离散余弦变换或其它正交变换以及运动补偿来压缩所述图像数据,从而高效率地传输并存储信息,基于以上系统而设计的装置已经广泛地用于广播台站等的信息传播和普通家庭的信息接收。
作为MPEG系统的发展,已经提出了一种用于实现更高压缩率的H.264/AVC(高级视频编码)编码系统。这种H.264/AVC系统以和MPEG同样的方式,基于运动向量来执行运动预测和压缩。当H.264/AVC系统的编码设备以运动补偿块数据MCB为单元,在参考图像数据的预定搜索范围内搜索(生成)一个运动向量时,它却使用针对与所讨论的运动补偿块数据MCB相邻的其它运动补偿块数据已经生成的运动向量MV,来生成预测运动向量PMV。然后,所述编码设备生成所述运动补偿块数据的运动向量MV,以减少预测运动向量PMV的信息量。
然而,在传统的编码设备中,在生成预测运动向量PMV时,由于流水线处理的时序等原因,有时可能还未生成相邻的其它运动补偿块数据的运动向量。这种情况下,所存在的问题就是无法生成预测运动向量PMV,而且运动补偿块数据不能被编码。
发明内容
本发明的目的是提供一种数据处理装置,该装置在使用与运动图像数据中所要处理的第一运动补偿块数据具有预定位置关系的第二运动补偿块数据的运动向量来生成所述第一运动补偿块数据的运动向量时,能够在所述第二运动补偿块数据的运动向量甚至还未生成的时候,就生成所述第一运动补偿块数据的运动向量,本发明还提供了该装置的方法和编码设备。
本发明的第一方面是一种数据处理装置,用于通过使用与运动图像数据中所要处理的第一运动补偿块数据之间具有预定位置关系的第二运动补偿块数据的运动向量,来生成所述第一运动补偿块数据的运动向量,所述数据处理装置包括生成装置,用于在所述第二运动补偿块数据的运动向量在生成所述第一运动补偿块数据的运动向量时仍未生成的情况下,通过使用与所述第一运动补偿块数据之间具有预定位置关系,并且已经生成的第三运动补偿块数据的运动向量来取代所述第二运动补偿块数据的运动向量,来生成所述第一运动补偿块数据的运动向量。
本发明第一方面的数据处理装置的操作模式如下所述。当所述生成装置生成第一运动补偿块数据的运动向量,而第二运动补偿块数据的运动向量还未生成时,它使用与所述第一运动补偿块数据具有预定位置关系的第三运动补偿块数据的已生成的运动向量来取代所述第二运动补偿块数据的运动向量,从而生成所述第一运动补偿块数据的运动向量。
本发明的第二方面是一种数据处理方法,用于通过使用与运动图像数据中所要处理的第一运动补偿块数据之间具有预定位置关系的第二运动补偿块数据的运动向量,来生成所述第一运动补偿块数据的运动向量,所述数据处理方法包括第一步骤,用于判断所述第二运动补偿块数据的运动向量在生成所述第一运动补偿块数据的运动向量的时候是否还未生成;第二步骤,用于在所述第一步骤判定所述第二运动补偿块数据的运动向量已经生成时,通过使用所述第二运动补偿块数据的运动向量来生成所述第一运动补偿块数据的运动向量;以及第三步骤,用于在所述第一步骤判定所述第二运动补偿块数据的运动向量还未生成时,通过使用已经生成并与所述第一运动补偿块数据之间具有预定位置关系的第三运动补偿块数据的运动向量来取代所述第二运动补偿块数据的运动向量,来生成所述第一运动补偿块数据的运动向量。
本发明第二方面的数据处理方法的操作模式如下所述。首先,在第一步骤中,所述方法判断在生成所述第一运动补偿块数据的运动向量时,第二运动补偿块数据的运动向量是否还未生成。接下来,在第二步骤中,当所述方法在第一步骤中判定所述第二运动补偿块数据的运动向量已经生成时,它使用所述第二运动补偿块数据的运动向量来生成所述第一运动补偿块数据的运动向量。接下来,在第三步骤中,当所述方法在第一步骤中判定所述第二运动补偿块数据的运动向量还未生成时,它使用与所述第一运动补偿块数据具有预定位置关系的第三运动补偿块数据的已生成的运动向量来取代所述第二运动补偿块数据的运动向量,从而生成所述第一运动补偿块数据的运动向量。
本发明的第三方面是一种用于编码运动图像的编码设备,包括运动预测和补偿装置,用于在与所述运动图像中的第一运动补偿块数据之间具有预定位置关系的第二运动补偿块数据的运动向量在生成所述第一运动补偿块数据的运动向量时仍未生成的情况下,通过使用已经生成并与所述第一运动补偿块数据之间具有预定位置关系的第三运动补偿块数据的运动向量来取代所述第二运动补偿块数据的运动向量,来生成所述第一运动补偿块数据的运动向量,并基于所生成的运动向量而生成预测图像数据;和编码装置,用于对所述运动预测和补偿装置所生成的运动向量以及所述运动图像数据和所述预测图像数据之间的差进行编码。
本发明第三方面的编码设备的操作模式如下所述。首先,当运动预测和补偿装置生成运动图像数据中的第一运动补偿块数据的运动向量,并且与所述第一运动补偿块数据具有预定位置关系的第二运动补偿块数据的运动向量还未生成时,使用与所述第一运动补偿块数据具有预定位置关系的第三运动补偿块数据的已生成的运动向量来取代所述第二运动补偿块数据的运动向量,从而生成所述第一运动补偿块数据的运动向量,并且基于该运动向量生成预测图像数据。接下来,所述编码装置对所述运动预测和补偿装置所生成的运动向量以及所述运动图像数据和所述预测图像数据之间的差进行编码。
本发明的第四方面是一种数据处理装置,用于通过使用与运动图像数据中所要处理的第一运动补偿块数据之间具有预定位置关系的第二运动补偿块数据的运动向量,来生成所述第一运动补偿块数据的运动向量,所述数据处理装置包括削薄(thinning)装置,用于削薄第一参考图像数据,以生成第二参考图像数据,和生成装置,用于在所述第二参考图像数据中进行搜索,以生成所述第一运动补偿块数据的第一运动向量,并且在所述第一参考图像数据中由所述第一运动向量规定的搜索范围内进行搜索,以生成第一运动补偿块数据的第二运动向量,其中所述生成装置在所述第二运动向量已经生成时,通过使用所述第二运动补偿块数据的第二运动向量来生成所述第一运动补偿块数据的第二运动向量,并且通过使用所述第二运动补偿块数据的第一运动向量来生成所述第一运动补偿块数据的第二运动向量。
本发明第四方面的数据处理装置的操作模式如下所述。首先,削薄装置削薄所述运动图像数据的第一参考图像数据,以生成第二参考图像数据。然后,所述生成装置搜遍由所述削薄装置生成的第二参考图像数据,以生成所述第一运动补偿块数据的第一运动向量。然后,所述生成装置搜遍所述第一参考图像数据中由所述第一运动向量规定的搜索范围,以生成所述第一运动补偿块数据的第二运动向量。此时,当所述第二运动补偿块数据的第二运动向量已经生成时,所述生成装置使用所述第二运动向量来生成所述第一运动补偿块数据的第二运动向量,而当所述第二运动补偿块数据的第二运动向量还未生成时,所述生成装置使用所述第二运动补偿块数据的第一运动向量来生成所述第一运动补偿块数据的第二运动向量。
本发明的第五方面是一种数据处理方法,用于通过使用与运动图像数据中所要处理的第一运动补偿块数据之间具有预定位置关系的第二运动补偿块数据的运动向量,来生成所述第一运动补偿块数据的运动向量,所述方法包括第一步骤,即削薄第一参考图像数据,以生成第二参考图像数据;第二步骤,即在由所述第一步骤生成的第二参考图像数据中进行搜索,以生成所述第一运动补偿块数据的第一运动向量;以及第三步骤,即在所述第一参考图像数据中,在由第二步骤生成的所述第一运动向量所规定的搜索范围内进行搜索,以生成所述第一运动补偿块数据的第二运动向量;其中在第三步骤中,在所述第二运动补偿块数据的第二运动向量已经生成的情况下,所述第一运动补偿块数据的第二运动向量是通过使用所述第二运动补偿块数据的第二运动向量而生成的,并且,所述第一运动补偿块数据的第二运动向量是通过使用所述第二运动补偿块数据的第一运动向量而生成的。
本发明第五方面的数据处理方法的操作模式如下所述。首先,在第一步骤中,所述方法削薄运动图像的第一参考图像数据,以生成第二参考图像数据。接下来,在第二步骤,所述方法搜遍在第一步骤中生成的第二参考图像数据,以生成所述第一运动补偿块数据的第一运动向量。接下来,在第三步骤,所述方法搜遍所述第一参考图像数据中由在第二步骤生成的第一运动向量所规定的搜索范围,以生成所述第一运动补偿块数据的第二运动向量。此时,当所述第二运动补偿块数据的第二运动向量已经在第三步骤中生成时,所述方法使用所述第二运动向量来生成所述第一运动补偿块数据的第二运动向量,而当所述第二运动补偿块数据的第二运动向量还未生成时,所述方法使用所述第二运动补偿块数据的第一运动向量来生成所述第一运动补偿块数据的第二运动向量。
本发明的第六方面是一种编码设备,用于通过使用与运动图像数据中所要处理的第一运动补偿块数据之间具有预定位置关系的第二运动补偿块数据的运动向量,来生成所述第一运动补偿块数据的运动向量,并且通过使用所述运动向量对所述运动图像数据进行编码,所述编码设备包括削薄装置,用于削薄第一参考图像数据以生成第二参考图像数据;生成装置,用于在所述第二参考图像数据中进行搜索,以生成所述第一运动补偿块数据的第一运动向量,并且在所述第一参考图像数据中由所述第一运动向量规定的搜索范围内进行搜索,以生成所述第一运动补偿块数据的第二运动向量;和预测图像生成装置,用于基于由所述生成装置生成的所述第二运动向量来生成预测图像数据;和编码装置,用于对生成装置所生成的所述第二运动向量、以及所述运动图像数据和由所述预测图像生成装置生成的所述预测图像数据之间的差进行编码;其中,所述生成装置在所述第二运动补偿块数据的第二运动向量已经生成的情况下,通过使用所述第二运动补偿块数据的第二运动向量来生成所述第一运动补偿块数据的第二运动向量,并且通过使用所述第二运动补偿块数据的第一运动向量来生成所述第一运动补偿块数据的第二运动向量。
参考附图,根据下面对优选实施例的描述,本发明的这些及其它目的和特点将会更加清楚,其中;图1是根据本发明第一实施例的通信系统的配置图;图2是图1中所示的编码设备的功能框图;图3是图2中所示的运动预测和补偿电路的配置图;图4是用于解释图2中所示的运动预测和补偿电路中所使用的运动补偿块的大小类型的图;图5是用于解释在图2中所示的运动预测和补偿电路中搜索运动向量的方法的图;图6是用于解释H.264/AVC所规定的预测运动向量的生成方法的图;图7是用于解释图3中所示的预测向量生成单元的操作的图;图8是用于解释图2中所示的编码设备的处理时序的图;图9是用于解释图3中所示的预测向量生成单元的另一种操作的图;图10是用于解释图3中所示的预测向量生成单元的操作示例的流程图;图11是接续图10的、用于解释图3中所示的预测向量生成单元的操作示例的流程图;图12是图2中所示的运动预测和补偿电路根据本发明第二实施例的配置图;以及图13是用于解释图2中所示的运动预测和补偿电路根据本发明第二实施例的处理时序的图。
具体实施例方式
下面,将会对根据本发明各个实施例的H.264/AVC系统的编码设备进行解释。
第一实施例下面参考图1到图11来解释本发明的一个实施例。首先解释一下本发明的各组件和本实施例的各组件之间的对应关系。第一实施例对应于本发明的第一到第三方面。图1和图2中所示的编码设备2对应于本发明第三方面的编码设备,图2和图3中所示的运动预测和补偿电路46对应于本发明第一方面的数据处理装置和本发明第三方面的运动预测和补偿装置。此外,图3中所示的运动向量生成单元51和预测向量生成单元52对应于本发明第一方面的生成装置。此外,处理电路24和可逆编码电路27对应于本发明第三方面的编码装置。此外,本实施例的运动补偿块数据MCB对应于本发明中的块数据。
接下来参考图3来解释运动预测和补偿电路46的特性。例如,在生成图7中所示的宏块数据MB_X中的运动补偿块数据A的预测运动向量PMV的时候,当其周围的运动补偿块数据B1、B2和B3的运动向量MV还未生成时,图3中所示的运动预测和补偿电路46的预测向量生成单元52使用相邻的宏块数据MB_Y中的运动补偿块数据C1、C2和C3的已生成的运动向量MV来取代它们,以生成运动补偿块数据A的预测运动向量PMV。
下面将详细解释第一实施例的通信系统1。图1是本实施例的通信系统1的抽象图。如图1所示,通信系统1具有配备在发射侧的编码设备2和配备在接收侧的解码设备3。通信系统1在发射侧的编码设备2中生成通过正交变换和运动补偿进行压缩的帧图像数据(比特流),调制所述帧图像数据,随后经由传输介质发射这些帧图像数据,所述正交变换例如是离散余弦变换或Karhunen-Loeve变换,所述传输介质例如是卫星广播波、有线电视网络、电话线网络或便携电话线网络。接收侧解调所接收的图像信号,然后生成利用上述调制时所用的正交变换的逆变换和运动补偿而扩展出的帧图像数据以供使用。注意,上述传输介质可以是一种记录介质,例如光盘、磁盘以及半导体存储器。图1中所示的解码设备3执行与编码设备2的编码操作相对应的解码操作。
下面解释图1中所示的编码设备2。图2是图1中所示的编码设备2的总配置图。如图2所示,编码设备2例如具有A/D转换电路22、图像重排列缓冲器23、处理电路24、正交变换电路25、量化电路26、可逆编码电路27、缓冲器28、反量化电路29、逆正交变换电路30、帧存储器31、比率控制电路32、解块滤波器37、内预测(intra predication)电路41、选择电路44、帧存储器45以及运动预测和补偿电路46。编码设备2通过流水线处理实现了它的部分处理。
下面解释编码设备2的组件。A/D转换电路22将由输入模拟亮度信号Y和色差信号Pb和Pr组成的原始图像信号S10转换为数字帧数据S22,并将该数据输出到图像重排列缓冲器23。图像重排列缓冲器23根据由GOP(图像组)的图像类型I、P和B组成的GOP结构,将从A/D转换电路22输入的帧数据S22重新排列成编码顺序,并将重新排列后获得的帧数据S23输出到处理电路24、内预测电路41以及运动预测和补偿电路46。
处理电路24生成图像数据S24,该数据指示了帧数据S23和从选择电路44输入的预测图像数据PI之间的差,并该这个数据S24输出到正交变换电路25。正交变换电路25对图像数据S24进行正交变换,例如离散余弦变换或Karhunen-Loeve变换,以生成图像数据(例如DCT系数)S25,并将其输出到量化电路26。量化电路26利用从比率控制电路32输入的量化级对图像数据S25进行量化,以生成图像数据S26,并将其输出到可逆编码电路27和反量化电路29。
可逆编码电路27将图像数据S26经过可变长度编码或算术编码而获得的图像数据存储在缓冲器28中。此时,当选择数据S44指示选择了互预测编码(inter predication encoding)时,可逆编码电路27对从运动预测和补偿电路46输入的运动向量MV进行编码,并将其存储在头部数据中。
缓冲器28中存储的图像数据被调制,然后被发送出去。反量化电路29对图像数据S26进行反量化,生成如此得到的信号,并将该信号输出到逆正交变换电路30。逆正交变换电路30对从反量化电路29输入的图像数据施以正交变换电路25中的正交变换的逆变换,并将如此生成的图像数据输出到解块滤波器37。解块滤波器37将从逆正交变换电路30输入的图像数据去除块失真后得到的图像数据写入到帧存储器31和45中。比率控制电路32基于从缓冲器23读出的图像数据,生成量化级,并将其输出到量化电路26。
内预测电路41基于例如由H.264/AVC所预先规定的内预测模式中的每一种,对组成从帧存储器45读出的图像数据的每一个宏块数据MB进行内预测编码,以生成预测图像,并检测预测图像数据和帧数据S23之间的差DIF。然后,内预测电路41将按照某种内预测模式得到的预测图像数据PI以及差DIF输出到选择电路44,所述的某种内预测模式对应于针对以上多个内预测模式中的每一个而生成的上述差当中的最小差。
选择电路44比较从内预测电路41输入的差DIF和从运动预测和补偿电路46输入的差DIF。当通过比较判定从内预测电路41输入的差DIF较小时,选择电路44选择从内预测电路41输入的预测图像数据PI,并将其输出到处理电路24。当通过上述比较判定从运动预测和补偿电路46输入的差DIF较小时,选择电路44选择从运动预测和补偿电路46输入的预测图像数据PI,并将其输出到处理电路24。此外,当选择来自内预测电路41的预测图像数据PI时,选择电路44将指示选择了互预测编码的选择数据S44输出到可逆编码电路27,而当选择来自运动预测和补偿电路46的预测图像数据PI时,选择电路44则将指示选择了内预测编码的选择数据S44输出到可逆编码电路27。
下面解释运动预测和补偿电路46。图3是图2中所示的运动预测和补偿电路46的配置图。如图3所示,运动预测和补偿电路46例如具有MV生成单元51、预测向量生成单元52、MCB选择单元53和预测图像生成单元54。当宏块数据MB与位于一个矩阵中并组成一幅图像的多个二维区域相链接时,运动预测和补偿电路46对组成所述矩阵的每一行依次执行宏块数据MB的运动预测和补偿处理。即,运动预测和补偿电路46例如根据图像的光栅扫描的次序,对每一行执行宏块数据MB的运动预测和补偿处理。
对于来自图像重排列缓冲器23的帧数据S23中的每一个宏块数据MB,以在具有如图4所示不同大小的多个运动补偿块数据MCB当中所指定的运动补偿块数据MCB为单元,如图5所示,MV生成单元51根据所指定的运动补偿块数据MCB和来自帧存储器31的参考图像数据REF的搜索范围SR中的运动补偿块数据MCB之间在像素数据上的差的总和来计算索引数据SAD。此外,MV生成单元51生成信息量数据R,该数据指示了来自预测向量生成单元52的预测向量PMV和根据所述运动补偿块数据MCB在所述参考图像数据REF的搜索范围SR内的位置而定的运动向量MV之间的差运动向量DMV的信息量。然后,MV生成单元51在参考图像数据REF的搜索范围SR中搜索将数据J1最小化的运动补偿块数据MCB,该数据J1指示了索引数据SAD和信息量数据R的和,并根据所发现的运动补偿块数据MCB的位置来生成运动向量MV。
预测向量生成单元52例如生成由MV生成单元51中的处理所覆盖的运动补偿块数据MCB的预测运动向量PMV。这里,将会解释由H.264/AVC规定的运动补偿块数据MCB的预测运动向量PMV。在H.264/AVC中,例如图6中所示的运动补偿块数据MCB_E的预测运动向量PMV是基于位于运动补偿块数据MCB_E的周围,并与其具有预定位置关系的运动补偿块数据MCB_A、B、C的运动向量MV来生成的。如上所述,在生成图6中所示的运动补偿块数据MCB_E的预测运动向量PMV时,有时运动补偿块数据MCB_A、B、C的运动向量MV还未生成,这取决于运动预测和补偿电路46的流水线处理的时序。
例如,当相对于为其将要生成预测运动向量PMV的运动补偿块数据MCB具有预先确定的预定位置关系的运动补偿块数据MCB的运动向量MV还未生成时,预测向量生成单元52使用其它运动补偿块数据MCB的已生成的运动向量MV来取代上述仍未生成的运动向量MV。下面将考虑这样一种情形,其中将要生成预测运动向量PMV的运动补偿块数据MCB(此后也称为第一运动补偿块数据MCB)与相对于前述MCB具有预先确定的预定位置关系的运动补偿块数据MCB(此后也称为第二运动补偿块数据MCB)例如属于同一宏块数据MB。这种情形下,在生成第一运动补偿块数据MCB的预测运动向量PMV时,有可能第二运动补偿块数据MCB的运动向量MV还未生成。即,在图7所示的例子中,当预测向量生成单元52生成第一运动补偿块数据A的预测运动向量PMV时,有时第二运动补偿块数据B1、B2、B3的运动向量MV还未生成。另一方面,当按照图8中所示时序的流水线处理对图7中所示的宏块数据MB_X、MB_Y执行处理时,在生成宏块数据MB_X中的第一运动补偿块A的预测运动向量PMV时,属于宏块数据MB_Y的运动补偿块数据MCB的运动向量MV已经生成了。这种情形下,例如图7所示,包括运动补偿块A、B1、B2、B3在内的宏块数据MB_X(本发明的第二宏块数据)位于第一行L1上,如果第二运动补偿块B1、B2、B3相对于第一运动补偿块A位于所述第一行L1之前受到了运动预测和补偿处理的第二行L2侧(上侧),而且第二运动向量B1、B2、B3还未生成,则预测向量生成单元52使用第二行L2上的宏块数据MB_Y(本发明的第一宏块数据)中与宏块数据MB_X相邻的第三运动补偿块C1、C2、C3来生成第一运动补偿块A的预测运动向量PMV。
以和上面同样的方式,如图9所示,在预测向量生成单元52生成第一行L1上的宏块数据MB_X中的第一运动补偿块A的预测运动向量PMV时,有时相对于第一运动补偿块A位于宏块数据MB_S侧的第二运动补偿块B的运动向量MV还未生成。这里,运动预测和补偿电路46按照图9中所示的宏块数据MB_T、MB_S和MB_X的顺序,执行运动预测和补偿处理。另一方面,按照流水线处理的时序生成第一运动补偿块A的预测运动向量PMV时,属于(经由宏块数据MB_S位于第L1行上的)宏块数据MB_T的运动补偿块数据MCB的运动向量MV已经生成。如图9所示,在这种情形下,预测向量生成单元52使用宏块数据MB_T中相邻于宏块数据MB_S的第三运动补偿块C来生成第一运动补偿块A的预测运动向量PMV。
MCB选择单元53基于从MV生成单元51输入的运动向量MV来生成预定索引数据J2,并且在图4所示的运动补偿块数据MCB中选择可最小化索引数据J2的运动补偿块数据MCB的运动向量MV。此外,MCB选择单元53将所选择的运动向量MV以及指示了对应于该运动向量MV的运动补偿块数据MCB的类型的数据输出到预测图像生成单元54。
预测图像生成单元54基于从MCB选择单元53输入的运动向量MV和指示了MCB的类型的数据,使用参考图像数据REF来生成预测图像数据PI。此外,预测图像生成单元54生成帧数据S23和预测图像数据PI之间的差DIF。
下面解释运动预测和补偿电路46的操作示例。图10和图11是用于解释该操作示例的流程图。
步骤ST1运动预测和补偿电路46在从图像重排列缓冲器23输入的帧数据S23中选择未处理的宏块数据MB作为处理对象。
步骤ST2运动预测和补偿电路46在图4所示的运动补偿块数据MCB中指定未被指定的运动补偿块数据MCB。
步骤ST3对于来自图像重排列缓冲器23的帧数据S23中的每一个宏块数据MB,以在步骤ST2中所选出的运动补偿块数据MCB为单元,如图5所示,求出在所述运动补偿块数据MCB和来自帧存储器31的参考图像数据REF的搜索范围SR中的运动补偿块数据MCB之间在像素数据上的差,MV生成单元51计算出指示了这些差值的和的索引数据SAD。
步骤ST4预测向量生成单元52基于其它运动补偿块数据MCB的已生成的运动向量MV,计算所要处理的运动补偿块数据MCB的预测运动向量PMV。
步骤ST5MV生成单元51计算信息量数据R,该数据R指示了来自预测向量生成单元52的预测向量PMV和根据运动补偿块数据MCB在所述参考图像数据REF的搜索范围SR内的位置而定的运动向量MV之间的差运动向量DMV的信息量。
步骤ST6
MV生成单元51计算索引数据J1,该数据J1指示了在步骤ST3中计算出的索引数据SAD和在步骤ST5中计算出的信息量数据R的和。
步骤ST7MV生成单元51在参考图像数据REF的搜索范围SR内搜索可最小化在步骤ST6中计算出的索引数据J1的运动补偿块数据MCB,根据所发现的运动补偿块数据MCB的位置来指定运动向量MV,并将其输出到MCB选择单元53。
步骤ST8MCB选择单元53基于在步骤ST7输入的运动向量MV来执行预定的处理,计算索引数据J2,并将其连同运动向量MV一起输出到预测图像生成单元54,所述索引数据J2指示了帧数据S23的像素数据和基于所述运动向量MV进行重新合成而获得的图像数据的像素数据之间的差的和值。
步骤ST9MCB选择单元53判断是否对图4中所示的所有运动补偿块数据MCB都执行了步骤ST2到ST8的处理,并且当还没有执行这些处理时,让各个组件对未选择的运动补偿块数据MCB执行上面步骤ST2到ST8的处理。另一方面,当MCB选择单元53判定对图4中所示的所有运动补偿块数据MCB都执行了步骤ST2到ST8的处理时,例程继续前进到步骤ST10。
步骤ST10MCB选择单元53为图4中所示的所有运动补偿块数据MCB指定在步骤ST8计算出的索引数据J2中的最小索引数据,并将对应于所指定的索引数据J2的运动向量MV以及指示了与之对应的运动补偿块数据MCB的类型的数据输出到预测图像生成单元54。
步骤ST11预测图像生成单元54判断从图像重排列缓冲器23输入的帧数据S23中的所有宏块数据MB的处理是否已结束。如果结束了,则例程前进到步骤ST12,如果还没有结束,则例程返回步骤ST1。
步骤ST12对于组成帧数据S23的所有宏块数据MB,预测图像生成单元54基于从MCB选择单元53输入的运动向量MV以及指示了运动补偿块数据MCB的类型的数据,使用参考图像数据REF来生成预测图像数据PI。此外,预测图像生成单元54生成帧数据S23和预测图像数据PI之间的差DIF,并将其输出到选择电路44。此外,预测图像生成单元54将运动向量MV输出到可逆编码电路27。
下面将详细解释图10中步骤ST4的预测运动向量PMV的生成方法的操作示例。图11是用于解释该操作示例的流程图。
步骤ST21预测向量生成单元52判断与将要为之生成预测运动向量PMV的第一运动补偿块数据MCB具有预先确定的预定位置关系的第二运动补偿块数据MCB的运动向量MV是否已经生成。当判定所述运动向量MV已经生成时,例程前进到步骤ST22,而当判定它们还未生成时,例程前进到步骤ST23。在图7中所示的示例中,预测向量生成单元52判断在生成第一运动补偿块A的预测运动向量PMV时,相对于该第一运动补偿块A位于上方、左上方和右上方位置的第二运动补偿块B1、B2、B3的运动向量MV是否已经生成。
步骤ST22预测向量生成单元52使用第二运动补偿块数据MCB的运动向量MV来生成第一运动补偿块数据MCB的预测运动向量PMV。在图7所示的示例中,预测向量生成单元52使用第二运动补偿块B1、B2、B3的运动向量MV来生成第一运动补偿块A的预测运动向量PMV。
步骤ST23预测向量生成单元52使用第三运动补偿块数据MCB的已生成的运动向量MV来取代第二运动补偿块数据MCB的运动向量MV,从而生成第一运动补偿块数据MCB的预测运动向量PMV。在图7所示的示例中,预测向量生成单元52使用运动补偿块C1、C2和C3的运动向量MV来取代第二运动补偿块B1、B2、B3的运动向量MV,从而生成第一运动向量补偿块A的预测运动向量PMV,其中所述运动补偿块C1、C2和C3位于宏块数据MB_Y中并与宏块数据MB_X相邻,所述宏块数据MB_Y位于第L_2行上并与宏块数据MB_X相邻,所述第L_2行早于宏块数据MB_X所在的第L_1行受到运动预测和补偿。
下面,将解释图2中所示的编码设备2的整体操作。当输入了原始图像信号S10时,原始图像信号S10在A/D转换电路22中被转换为数字帧数据S22。接下来,帧数据S22中的图像在图像重排列缓冲器23中根据所要输出的图像压缩信息的GOP结构被重新排列,并且这样获得的帧数据S23被输出到处理电路24、内预测电路41以及运动预测和补偿电路46。接下来,处理电路24检测来自图像重排列缓冲器23的帧数据S23和来自选择电路44的预测图像数据PI之间的差,并将指示这个差的图像数据S24输出到正交变换电路25。
接下来,正交变换电路25对图像数据S24进行正交变换,例如离散余弦变换或Karhunen-Loeve变换,以生成图像数据S25,并将其输出到量化电路26。接下来,量化电路26量化图像数据S25,并将量化后的变换系数S26输出到可逆编码电路27和反量化电路29。接下来,可逆编码电路27对可变系数S26进行可逆编码,例如可变长度编码或算术编码,以生成图像数据并将其存储在缓冲器28中。此外,比率控制电路32基于从缓冲器28读出的图像数据,控制量化电路26中的量化比率。
此外,反量化电路29对从量化电路26输入的可变系数S26进行反向量化,并将反向量化后的可变系数输出到逆正交变换电路30。逆正交变换电路30对从反量化电路29输入的图像数据施以正交变换电路25中的正交变换的逆变换,并将如此生成的帧数据输出到解块滤波器37。解块滤波器37将从逆正交变换电路30输入的图像数据去除可变系数的块失真后,写入到帧存储器31和45中。
然后,内预测电路41执行内预测编码,并将得到的预测图像数据PI以及差DIF输出到选择电路44。此外,运动预测和补偿电路46如同用图10和图11所解释的那样,生成运动向量MV。此外,运动预测和补偿电路46生成预测图像数据PI和差DIF,并将它们输出到选择电路44。然后,在从内预测电路41输入的差DIF和从运动预测和补偿电路46输入的差DIF之间,选择电路44将与其中较小的差相对应的预测图像数据PI输出到处理电路24。
如上所述,在编码设备2的运动预测和补偿电路46中,正如图11所解释的那样,当与第一运动补偿块数据MCB具有预先确定的位置关系的第二运动补偿块数据MCB的运动向量MV还未生成时,预测向量生成单元52使用与第二运动补偿块数据MCB位于同一侧的第三运动补偿块数据MCB的已生成的运动向量MV来生成所述第一运动补偿块数据MCB的预测运动向量PMV。因此,根据运动预测和补偿电路46,总是可以生成第一运动补偿块数据MCB的预测运动向量PMV。因此,根据运动预测和补偿电路46,可以生成所有运动补偿块数据的预测运动向量PMV,并且可以对所有运动补偿块数据进行充分地编码。
第二实施例下面使用图12和图13来解释本发明的第二实施例。这个实施例对应于本发明的第四到第六方面。这里,图12中所示的削薄单元61对应于本发明第四到第六方面中的削薄装置,而1/4分辨率MV生成单元63、全分辨率MV生成单元64和预测向量生成单元65对应于本发明第四到第六方面中的生成装置。此外,预测图像生成单元54对应于第六方面中的预测图像生成装置,处理电路24和可逆编码电路27对应于第六方面中的编码装置。
除了运动预测和补偿电路46的处理之外,本实施例的编码设备与上面第一实施例中的编码设备2完全一样。图12是本实施例的运动预测和补偿电路46a的配置图。如图12所示,运动预测和补偿电路46a例如具有削薄单元61、帧存储器62、1/4分辨率MV生成单元63、全分辨率MV生成单元64、预测向量生成单元65、MCB选择单元53和预测图像生成单元54。在图12中,与图3中具有相同标号的MCB选择单元53和预测图像生成单元54和第一实施例中的对应单元是一样的。在运动预测和补偿电路46a中,首先,削薄单元61削薄从图2所示的帧存储器31读出的全分辨率参考图像数据REF(本发明的第一参考图像数据),以生成1/4分辨率参考图像数据REFa(本发明的第二参考图像数据),并将其写入到帧存储器62中。接下来,1/4分辨率MV生成单元63基于来自图像重排列缓冲器23的帧数据S23和来自帧存储器62的1/4分辨率参考图像数据REFa,以1/4分辨率搜索帧数据S23中的运动补偿块数据MCB的运动向量MV63(本发明的第一运动向量)。接下来,预测向量生成单元65例如生成所述运动补偿块数据MCB的预测运动向量PMV,作为全分辨率MV生成单元64中的处理对象。此时,例如当与为之将要生成预测运动向量PMV的运动补偿块数据MCB(本发明的第一运动补偿块数据)具有预先确定的预定位置关系的运动补偿块数据MCB(本发明的第二运动补偿块数据)的全分辨率运动向量MV(本发明的第二运动向量)还未生成时,预测向量生成单元65使用具有预定位置关系的运动补偿块数据MCB的已生成的1/4分辨率运动向量MV63来取代它。
例如,在图7所示的例子中,按照图13中所示的时序来完成以下的流水线处理在1/4分辨率MV生成单元63中为运动补偿块A、B1、B2和B3生成运动向量MV63(1/4分辨率运动预测)的处理,在预测向量生成单元65中生成预测运动向量PMV的处理,以及在全分辨率MV生成单元64中生成运动向量MV(全分辨率运动预测)处理。即,在生成运动补偿块A的预测运动向量PMV的时序上,运动补偿块B1、B2和B3的全分辨率运动向量MV还未生成,但是运动补偿块B1、B2和B3的1/4分辨率运动向量MV63已经生成了。由此,当生成图7所示的运动补偿块A的预测运动向量PMV时,预测向量生成单元65使用的不是运动补偿块B1、B2和B3的全分辨率运动向量MV,而是已经由1/4分辨率MV生成单元63生成的运动补偿块B1、B2和B3的1/4分辨率运动向量MV63。
另一方面,当例如与为之将生成预测运动向量PMV的运动补偿块数据MCB具有预先确定的预定位置关系的运动补偿块数据MCB的全分辨率运动向量MV已经生成时,预测向量生成单元65使用所述全分辨率运动向量MV来生成预测运动向量PMV。
然后,全分辨率MV生成单元64在参考图像数据REF中由运动向量MV63规定的搜索范围内,以和第一实施例中相同的方式,通过使用所述预测运动向量PMV来搜索帧数据S23中将要处理的运动补偿块数据MCB的全分辨率运动向量MV。
如上所述,根据本发明的第二实施例,当与第一运动补偿块数据MCB具有预先确定的位置关系的第二运动补偿块数据MCB的全分辨率运动向量MV还未生成时,运动预测和补偿电路46a不让运动向量MV为“0”,而是使用已为第二运动补偿块数据生成的1/4分辨率运动向量MV63来生成第一运动补偿块数据MCB的预测运动向量PMV。因此,根据运动预测和补偿电路46a,可以生成所有运动补偿块数据的预测运动向量PMV,并且所有的运动补偿块数据MCB都可以被充分地编码。
本发明并不限于以上实施例。在前面的第一实施例中,如图7和图9所示,示例性地说明了宏块数据MB_Y和MB_T中靠近宏块数据MB_X侧的运动补偿块C1、C2、C3和C的运动向量MV被用作第三运动补偿块数据MCB的情形,但是也可以使用不同于以上宏块数据MB_Y和MB_T中的运动补偿块数据MCB的运动向量。
总结本发明的效果,根据本发明提供了一种数据处理装置,该装置在使用与运动图像数据中所要处理的第一运动补偿块数据具有预定位置关系的第二运动补偿块数据的运动向量来生成所述第一运动补偿块数据的运动向量时,即使在所述第二运动补偿块数据的运动向量还未生成时,也能够生成所述第一运动补偿块数据的运动向量,并且还提供了相应的方法和该装置的编码设备。
虽然出于说明的目的,参考所选出的特定实施例描述了本发明,但是本领域的技术人员应当清楚的是,在不偏离本发明的基本概念和范围的情况下,可以对这些实施例作出很多修改。
权利要求
1.一种数据处理装置,用于通过使用与运动图像数据中所要处理的第一运动补偿块数据之间具有预定位置关系的第二运动补偿块数据的运动向量,来生成所述第一运动补偿块数据的运动向量,所述数据处理装置包括生成装置,用于在所述第二运动补偿块数据的运动向量在生成所述第一运动补偿块数据的运动向量时仍未生成的情况下,通过使用与所述第一运动补偿块数据之间具有预定位置关系并且已经生成的第三运动补偿块数据的运动向量来取代所述第二运动补偿块数据的运动向量,来生成所述第一运动补偿块数据的运动向量。
2.如权利要求1所述的数据处理装置,其中所述生成装置通过使用相对于所述第一运动补偿块数据位于所述第二运动补偿块数据一侧的第三运动补偿块数据,来生成所述第一运动补偿块数据的运动向量。
3.如权利要求1所述的数据处理装置,其中所述生成装置判断所述第二运动补偿块数据的运动向量是否已经生成,当所述第二运动补偿块数据的运动向量已经生成时,通过使用所述第二运动补偿块数据的运动向量来生成所述第一运动补偿块数据的运动向量,并且当所述第二运动补偿块数据的运动向量还未生成时,通过使用所述第三运动补偿块数据的运动向量来生成所述第一运动补偿块数据的运动向量。
4.如权利要求3所述的数据处理装置,其中所述生成装置在由多个运动补偿块数据组成的宏块数据的单元中,通过执行流水线处理而生成所述运动向量,完成对包括所述第三运动补偿块数据在内的第一宏块数据的处理,然后执行对包括所述第一运动补偿块数据和第二运动补偿块数据在内的第二宏块数据的处理。
5.如权利要求1所述的数据处理装置,其中所述宏块数据对应于形成一幅图像的、排列为矩阵形式的二维区域中的每一个,所述生成装置依次对组成所述矩阵的每一行执行宏块数据的运动补偿,并且当所述第二运动补偿块数据相对于所述第一运动补偿块数据位于第二行一侧时,通过使用所述第一宏块数据中属于所述第二行的第三运动补偿块数据的运动向量来生成所述第一运动补偿块数据的运动向量,其中对所述第二行执行运动补偿处理是在所述第二运动补偿块数据所处于的第一行之前。
6.如权利要求5所述的数据处理装置,其中所述生成装置通过使用所述第一宏块数据中与所述第二宏块数据相邻的第三运动补偿块数据的运动向量来生成所述第一运动补偿块数据的运动向量。
7.如权利要求3所述的数据处理装置,其中所述宏块数据对应于形成一幅图像的、排列为矩阵形式的二维区域中的每一个,所述生成装置依次对组成所述矩阵的每一行执行宏块数据的运动补偿,并且当所述第二运动补偿块数据沿着所述行处于一个将在所述第一运动补偿块数据之前被执行运动补偿处理的位置上时,所述生成装置通过使用所述第一宏块数据中的第三运动补偿块数据的运动向量来生成所述第一运动补偿块数据的运动向量,其中所述第一宏块数据在所述第二宏块数据之前被执行运动补偿处理,并且所述第一宏块数据经由第三宏块数据与所述第二宏块数据相邻。
8.如权利要求7所述的数据处理装置,其中所述生成装置通过使用与所述第三宏块数据相邻的所述第一宏块数据中的第三运动补偿块数据的运动向量来生成所述第一运动补偿块数据的运动向量。
9.如权利要求1所述的数据处理装置,其中所述生成装置通过使用所述第三运动补偿块数据的运动向量来生成所述第一运动补偿块数据的预测向量,并且搜索与所述预测向量之间具有最小信息差量的运动向量,作为所述第一运动补偿块数据的运动向量。
10.一种数据处理方法,用于通过使用与运动图像数据中所要处理的第一运动补偿块数据之间具有预定位置关系的第二运动补偿块数据的运动向量,来生成所述第一运动补偿块数据的运动向量,所述数据处理方法包括第一步骤,用于判断所述第二运动补偿块数据的运动向量在生成所述第一运动补偿块数据的运动向量时是否还未生成;第二步骤,用于在所述第一步骤判定所述第二运动补偿块数据的运动向量已经生成时,通过使用所述第二运动补偿块数据的运动向量来生成所述第一运动补偿块数据的运动向量;以及第三步骤,用于在所述第一步骤判定所述第二运动补偿块数据的运动向量还未生成时,通过使用已经生成并与所述第一运动补偿块数据之间具有预定位置关系的第三运动补偿块数据的运动向量来取代所述第二运动补偿块数据的运动向量,来生成所述第一运动补偿块数据的运动向量。
11.一种用于编码运动图像的编码设备,包括运动预测和补偿装置,用于在与所述运动图像中的第一运动补偿块数据之间具有预定位置关系的第二运动补偿块数据的运动向量在生成所述第一运动补偿块数据的运动向量时仍未生成的情况下,通过使用已经生成并与所述第一运动补偿块数据之间具有预定位置关系的第三运动补偿块数据的运动向量来取代所述第二运动补偿块数据的运动向量,来生成所述第一运动补偿块数据的运动向量,并基于所生成的运动向量而生成预测图像数据;和编码装置,用于对所述运动预测和补偿装置所生成的运动向量以及所述运动图像数据和所述预测图像数据之间的差进行编码。
12.一种数据处理装置,用于通过使用与运动图像数据中所要处理的第一运动补偿块数据之间具有预定位置关系的第二运动补偿块数据的运动向量,来生成所述第一运动补偿块数据的运动向量,所述数据处理装置包括削薄装置,用于削薄第一参考图像数据,以生成第二参考图像数据,和生成装置,用于在所述第二参考图像数据中进行搜索,以生成所述第一运动补偿块数据的第一运动向量,并且在所述第一参考图像数据中由所述第一运动向量规定的搜索范围内进行搜索,以生成第一运动补偿块数据的第二运动向量,所述生成装置在所述第二运动补偿块数据的第二运动向量已经生成时,通过使用所述第二运动向量来生成所述第一运动补偿块数据的第二运动向量,并且通过使用所述第二运动补偿块数据的第一运动向量来生成所述第一运动补偿块数据的第二运动向量。
13.一种数据处理方法,用于通过使用与运动图像数据中所要处理的第一运动补偿块数据之间具有预定位置关系的第二运动补偿块数据的运动向量,来生成所述第一运动补偿块数据的运动向量,所述方法包括第一步骤,即削薄第一参考图像数据,以生成第二参考图像数据;第二步骤,即在由所述第一步骤生成的第二参考图像数据中进行搜索,以生成所述第一运动补偿块数据的第一运动向量;以及第三步骤,即在所述第一参考图像数据中,在由第二步骤生成的所述第一运动向量所规定的搜索范围内进行搜索,以生成所述第一运动补偿块数据的第二运动向量;在所述第三步骤中,在所述第二运动补偿块数据的第二运动向量已经生成的情况下,所述第一运动补偿块数据的第二运动向量是通过使用所述第二运动补偿块数据的第二运动向量而生成的,并且所述第一运动补偿块数据的第二运动向量是通过使用所述第二运动补偿块数据的第一运动向量而生成的。
14.一种编码设备,用于通过使用与运动图像数据中所要处理的第一运动补偿块数据之间具有预定位置关系的第二运动补偿块数据的运动向量,来生成所述第一运动补偿块数据的运动向量,并且通过使用所述运动向量对所述运动图像数据进行编码,所述编码设备包括削薄装置,用于削薄第一参考图像数据以生成第二参考图像数据;生成装置,用于在所述第二参考图像数据中进行搜索,以生成所述第一运动补偿块数据的第一运动向量,并且在所述第一参考图像数据中由所述第一运动向量规定的搜索范围内进行搜索,以生成所述第一运动补偿块数据的第二运动向量;和预测图像生成装置,用于基于由所述生成装置生成的所述第二运动向量来生成预测图像数据;和编码装置,用于对生成装置所生成的所述第二运动向量、以及所述运动图像数据和由所述预测图像生成装置生成的所述预测图像数据之间的差进行编码;所述生成装置在所述第二运动补偿块数据的第二运动向量已经生成的情况下,通过使用所述第二运动补偿块数据的第二运动向量来生成所述第一运动补偿块数据的第二运动向量,并且通过使用所述第二运动补偿块数据的第一运动向量来生成所述第一运动补偿块数据的第二运动向量。
全文摘要
本发明提供了一种能够编码所有运动补偿块数据的数据处理装置,其中,在例如生成宏块数据MB_X中的运动补偿块数据A的运动向量MV时,当运动补偿块数据A周围的运动补偿块数据B
文档编号G06T9/00GK1615026SQ20041008890
公开日2005年5月11日 申请日期2004年11月4日 优先权日2003年11月4日
发明者佐藤数史, 土屋寿治, 关贵仁, 矢崎阳一 申请人:索尼株式会社