CN100471280C - 运动图像编码及译码装置、方法 - Google Patents
运动图像编码及译码装置、方法 Download PDFInfo
- Publication number
- CN100471280C CN100471280C CN 200610005713 CN200610005713A CN100471280C CN 100471280 C CN100471280 C CN 100471280C CN 200610005713 CN200610005713 CN 200610005713 CN 200610005713 A CN200610005713 A CN 200610005713A CN 100471280 C CN100471280 C CN 100471280C
- Authority
- CN
- China
- Prior art keywords
- piece
- mentioned
- block
- decoding
- prediction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
本发明提供运动图像编码装置、方法、程序及运动图像译码装置、方法、程序。以块为单位生成预测信号的运动图像译码装置(200)具备对编码数据进行译码,生成像素数比预测块的像素数还少的低分辨块的低分辨块译码单元(151)。另外,具备使用已译码图像,把由译码低分辨块生成的低分辨块放大为和预测块同样像素数的块的放大块生成单元(154)。进而,基于规定的分割规则分割放大块,使用生成多个小块的块分割单元(162)、已译码图像和上述多个小块生成小块的预测小块的小块预测单元(152)。
Description
技术领域
本发明涉及以块为单位生成预测块的运动图像译码技术和运动图像编码技术。
背景技术
以往,作为以块为单位进行预测对象块的预测信号(预测块)的生成的现有的编码方式,例如有在日本国的专利特开2002-354486号公报中记述的技术。这种技术就是通过对表示帧间运动的运动向量、根据该运动向量生成的预测块和预测对象块之间的误差块进行熵编码来减少时间方向的冗长度的技术。在此,所谓预测对象块是以下进行预测处理的输入帧的分割块。
为了提高包含细致的运动表现的图像区域的时间预测性能,需要许多运动向量等的信息(以下,称为“运动信息”)。可是,在上述以往的方式中,因为需要进行运动信息的编码,以运动信息为首的即所谓的附加信息的符号量增大。由此,成为难以提高编码处理、译码处理中的处理效率的主要原因。
因而,本发明的课题就是通过抑止上述附加信息的符号量增大,来提高在编码处理和译码处理中的处理效率。
发明内容
本发明的运动图像编码装置是以块为单位进行预测块的生成的运动图像编码装置,具备:保持译码后的图像的保持部件(存储器);第1分割部件,把已输入的编码对象的图像分割为多个预测对象块;生成部件,在把上述预测对象块变换以及编码为像素数比该预测对象块的像素数还少的低分辨块后,通过对该低分辨度块的编码数据的进行译码,生成译码低分辨块;放大部件,把上述已生成的译码低分辨块放大到和上述预测对象的像素数相同的像素数的块;第2分割部件,通过根据规定的分割规则对经上述放大的块进行分割而生成多个小块;预测部件,使用上述译码后的图像和上述已生成的小块,通过基于从上述已译码图像得到的运动向量设定查找范围,来生成该小块的预测小块;合并部件,通过根据上述分割规则合并上述已生成的多个预测小块而生成预测块。
本发明的运动图像译码装置是以块为单位进行预测块的生成的运动图像译码装置,具备:保持译码后的图像的保持部件(例如存储器);译码部件,对已输入的编码数据进行译码,生成像素数比预测块的像素数还低的低分辨块;放大部件,把上述已生成的低分辨块放大到和上述预测块的像素数相同像素数的块;分割部件,通过基于规定的分割规则分割该被放大的块,生成多个小块;预测部件,使用上述译码后的图像和上述已被分割的小块,通过基于从上述已译码图像得到的运动向量设定查找范围,来生成该小块的预测小块;合并部件,根据上述分割规则合并该已生成的多个预测小块而生成预测块。
为了在运动图像编码装置和运动图像译码装置之间进行高精度的预测编码,希望在运动图像编码装置中,对像素数比预测块的像素数还少的低分辨块进行压缩编码,把编码数据发送到运动图像译码装置。在这一点上如果采用本发明,因为低分辨块的像素数比预测块的像素数还少,所以低分辨块经压缩的编码数据其附加信息的符号量比以往的运动信息还少。由此,降低附加信息的符号量增大,其结果,在编码处理和译码处理中的处理效率提高。
特别是在运动图像译码装置中,首先,分割放大块而得到小块,根据小块和译码后的图像进行预测小块的生成。由此,能得到可以进行运动图像细致的区域的高精度的预测的多个预测小块。而后,通过合并它们,生成预测块。因而,在上述的处理效率提高的同时,可以进行利用了符号量少的低分辨块的高精度的预测。
希望上述的运动图像编码装置进一步具备:把上述编码对象的图像分割为编码对象块的第3分割部件;以像素为单位减算经上述分割的编码对象块和上述预测块而生成误差块的减算部件;对上述已生成的误差块进行编码的编码部件;对经上述编码的编码数据进行译码,从而生成译码误差块的译码部件;以像素为单位进行上述预测块和上述译码误差块的加算而生成译码块;并把该译码块输出到上述保持部件的输出部件。
另外,在运动图像编码装置中,放大部件使用经上述生成的译码低分辨块的像素和与预测对象块的上边以及左边相邻的已译码块的像素,生成像素数和上述预测对象块一样的像素数一样的块。
另外,在运动图像编码装置中希望,生成部件由以下部分构成:根据规定的变换规则把上述预测对象块变换为像素数比该预测对象块还少的低分辨预测对象块的部件;进行低分辨预测块的生成的低分辨预测块生成部件;以像素为单位对上述低分辨预测对象块和上述低分辨预测块进行减算而生成低分辨误差块的部件;在对该低分辨误差块进行了编码后,通过对上述低分辨误差块的编码数据进行译码而生成译码低分辨误差块的部件;以像素为单位对上述译码低分辨误差块和上述低分辨预测块进行加算而复原上述低分辨块的部件,上述低分辨预测块生成部件的构成包含:生成和上述预测块同样像素数的第2预测块的部件;根据上述变换规则从该第2预测块中生成上述低分辨预测块的部件,上述生成装置的构成进一步包含:在上述低分辨误差块内的所有的差分像素值是零的情况下,把上述第2预测块作为上述预测块输出的部件。
希望上述运动图像译码装置进一步具备:对上述编码数据进行译码,生成误差块的生成部件;以像素为单位对上述预测块和上述误差块进行加算而生成译码块,而后把该译码块输出到上述保持部件的输出部件。
另外,在运动图像译码装置中希望,放大部件使用经上述生成的低分辨块的像素和与预测块的上边以及左边相邻的译码后的块的像素,生成和上述预测块具有像素数的块。
另外,在运动图像译码装置中希望,译码部件的构成包含:对上述已输入的编码数据进行译码从而进行低分辨误差块译码的部件;生成低分辨预测块的低分辨预测块生成部件;以像素为单位对上述低分辨误差块和上述低分辨预测块进行加算而生成上述低分辨块的部件,上述低分辨预测块生成部件的构成包含:生成和上述预测块具有同样像素数的第2预测块的部件;根据规定的规则从该第2预测块中生成上述低分辨预测块的部件,上述译码部件的构成进一步包含当上述低分辨误差块内的全部的差分像素值为零的情况下,把上述第2预测块作为上述预测块输出的部件。
进而,本发明的运动图像编码·译码技术不仅是装置,也可以采用方法或者程序的形态,以下说明对其特征进行说明的运动图像编码方法、运动图像译码方法、运动图像编码程序以及运动图像译码程序具有和运动图像编码装置,以及运动图像译码装置的上述效果相同的效果。
即,本发明的运动图像编码方法是使用译码后的图像以块为单位生成预测块的运动图像编码方法,包含:第1分割步骤,把已输入的编码对象的图像分割为多个预测对象块;生成步骤,在把上述预测对象块变换以及编码为具有比该预测对象块的像素数还少的低分辨块后,通过对该低分辨块的编码数据进行译码,生成译码低分辨块;放大步骤,使用上述译码后的图像,把上述已生成的译码低分辨块放大为和上述预测对象块具有相同像素数的块;第2分割步骤,通过根据规定的分割规则分割上述已放大的块,生成多个小块;预测步骤,使用上述已译码图像和上述已生成的小块,通过基于从上述已译码图像得到的运动向量设定查找范围,生成该小块的预测块;合并步骤,通过根据上述分割规则合并上述已生成的多个预测小块,生成预测块。
本发明的运动图像译码方法,是使用已译码图像以块为单位进行预测块的生成的运动图像译码方法,包含:译码步骤,对已输入的编码数据进行译码,生成具有比预测块像素数少的低分辨块;放大块,使用上述已译码图像,把上述已生成的低分辨块放大为和上述预测块像素数相同的块;分割步骤,通过根据规定的分割规则分割经该放大后的块,生成多个小块;预测步骤,使用上述已译码图像和经上述分割后的小块,通过基于从上述已译码图像得到的运动向量设定查找范围,生成该小块的预测小块;合并步骤,通过根据上述分割规则合并上述已生成的多个预测小块,生成预测块。
另外,本发明的运动图像编码程序使具备保持已译码图像,和具有以块为单位生成预测块的功能的运动图像编码程序的保持部件的计算机执行以下步骤:把已输入的编码对象的图像分割为多个预测对象块的第1分割处理;在把上述预测对象块变换以及编码为比该预测对象块的像素数还少的低分辨块后,通过对该低分辨块的编码数据进行译码,生成译码低分辨块的生成处理;使用上述已译码图像,把上述已生成的译码低分辨块放大为和上述预测对象块像素数相同的块的放大处理;通过根据规定的分割规则分割经上述放大的块,生成多个小块的第2分割处理;使用上述已译码图像和经上述生成的小块,生成该小块的预测小块的预测处理;通过根据上述分割规则合并上述已生成的多个预测小块,生成预测块的合并处理。
本发明的运动图像译码程序使具备保持已译码图像,和具有以块为单位生成预测块的功能的运动图像编码程序的保持部件的计算机执行以下步骤:对已输入的编码数据进行译码,生成像素数比预测块的像素数还少的低分辨块的译码处理;使用上述已译码图像,把经上述生成的低分辨块放大为像素数和上述预测块像素数相同的块的放大处理;通过根据规定的分割规则分割该已放大的块,生成对光小块的分割处理;使用上述已译码图像和经上述分割后的小块,生成该小块的预测小块的预测处理;通过根据上述分割规则合并该已生成的多个预测小块,生成预测块的合并处理。
为了实现上述目的,本发明的运动图像译码装置是以规定的块为单位对成为译码对象的编码数据进行译码从而生成预测块的运动图像译码装置,其特征在于,具备:保持已译码图像的保持部件;通过对已输入的编码数据进行熵译码,生成与上述译码块的像素数相比还少并且和该译码块在时间、空间上处于同一位置的低分辨块进行了编码的低分辨块信息的熵译码部件;对用上述熵译码部件生成的低分辨块信息进行译码,参照上述已译码图像,生成上述低分辨块的低分辨块译码部件;通过根据规定的分割规则分割由上述低分辨块译码部件生成的低分辨块,生成多个低分辨分割块的低分辨块分割部件;生成多个低分辨分割块的低分辨块分割部件;根据被保持在上述保持部件中的已译码图像,和由上述低分辨块分割部件生成的低分辨分割块,生成比该低分辨分割块的像素数还多并且和该低分辨分割块在时间、空间上处于同一位置的预测小块的预测小块生成部件;通过根据与上述分割规则对应的规定的合并规则合并由上述预测小块生成部件生成的预测小块而生成预测块的块合并步骤;
另外,为了实现上述目的,本发明的运动图像编码装置是以规定的块单位对成为编码对象的图像进行编码而生成预测块的运动图像编码装置,其特征在于,具备:保持已译码图像的保持部件;把已输入的图像分割为多个编码对象块的编码块分割部件;通过对比由上述编码块分割部件分割后的编码对象块的像素数还少,并且和该编码对象块在时间、空间上处于同一位置的低分辨块而生成低分辨块信息,对该低分辨块信息进行译码,参照上述已译码图像,生成译码低分辨块的译码低分辨块生成部件;通过根据规定的分割规则分割由上述译码低分辨块生成部件生成的译码低分辨块,由此生成多个低分辨分割块的低分辨块分割部件;根据被保持在上述保持部件中的已译码图像,和用上述低分辨块分割部件生成的低分辨分割块,生成比该低分辨分割块的像素数多,并且和该低分辨分割块在时间、空间上处于同一位置的预测小块的预测小块生成部件;通过根据与上述分割规则对应的规定的合并规则对由上述预测小块生成部件生成的预测小块进行合并,由此生成预测块的块合并部件。
为了在运动图像编码装置和运动图像译码装置之间进行高精度的预测编码,希望在运动图像编码装置中,对于压缩编码了比编码对象块素数还少的低分辨块的低分辨块信息进行熵编码并发送到运动图像译码装置。因为低分辨块像素数比编码对象块的像素数还少,并且低分辨块信息比在编码对象块的预测中需要的以往的预测信息还少,所以能够避免附加信息的符号量增大,从而提高处理效率。
另外,在运动图像译码装置中希望,从低分辨块信息中译码低分辨块,把得到的低分辨块分割为多个低分辨分割块,根据各低分辨分割块和已译码图像,生成像素数比低分辨分割块像素数还多,并且和该低分辨分割块在时间、空间上处于同一位置的预测小块,通过合并该预测小块而生成预测块。这种情况下,通过进一步分割低分辨块而得到低分辨分割块,根据低分辨分割块和已译码图像而生成预测小块,由此得到能够进行运动图像细致的区域的高精度的预测的预测小块,通过合并该预测小块能够生成预测块。即,能够一边使用符号量少的低分辨块信息,一边进行高精度的预测,同时可以提高处理效率。
在本发明的运动图像译码装置中希望:上述熵译码装置通过熵译码上述编码数据,进一步生成包含在该编码数据中的表示编码对象块和预测块的误差的误差块信息,上述运动图像译码装置进一步具备:通过对由上述熵译码装置生成的误差块信息进行译码,生成误差块的误差块译码部件;根据由上述块合并部件生成的预测块,和由上述误差块译码部件生成的误差块,生成译码块的译码块生成部件。
希望本发明的运动图像编码装置进一步具备:通过以像素为单位求由上述编码对象块分割部件分割的编码对象块,和由上述块合并部件生成的预测块的误差,生成表示该误差的误差块的误差块生成部件;通过对由上述误差块生成部件生成的误差块进行编码而生成误差块信息的误差块编码部件;通过对由上述误差块编码部件生成的误差块信息进行译码,生成译码误差块的误差块译码部件;根据由上述块合并部件生成的预测块,和由上述误差块译码部件生成的译码误差块,进行译码块生成的译码块生成部件。
另外,希望本发明的运动图像编码装置进一步具备:对由上述译码低分辨块生成部件生成的低分辨块信息以及由上述误差块编码部件生成的误差块信息进行熵编码的熵编码部件。
而且,本发明还可以作为运动图像译码方法、运动图像编码方法、运动图像译码程序、运动图像编码程序捕捉,可以叙述如下。它们起到和上述的运动图像译码装置、运动图像编码装置同样的效果。
本发明的运动图像译码方法,是在具备保持已译码图像的保持部件,并以规定的块为单位对成为译码对象的编码数据进行译码从而生成预测块的运动图像译码装置中的运动图像译码方法,其特征在于,包括:通过对已输入的译码对象的编码数据进行熵译码,生成对于像素数比上述译码块的像素数还少,并且和该译码块在时间、空间上处于同一位置的低分辨块进行了编码的低分辨块信息的熵译码步骤;对在上述熵译码步骤中生成的低分辨块信息进行译码,参照上述已译码的图像生成上述低分辨块的低分辨块译码步骤;通过规定的分割规则分割在上述低分辨块译码步骤中生成的低分辨块,生成多个低分辨分割块的低分辨块分割步骤;根据被保持在上述保持步骤中的已译码图像、在上述低分辨块分割步骤中生成的低分辨分割块,生成像素数比该低分辨分割块的像素数还多,并且和该低分辨分割块在时间、空间上处于同一位置的预测小块的预测小块生成步骤;通过根据与上述分割规则对应的规定的合并规则对在上述预测小块生成步骤中生成的预测小块进行合并,生成预测块的块合并步骤。
本发明的运动图像译码方法,是在具备保持已译码图像的保持部件,并以规定的块为单位对成为编码对象的图像进行编码从而生成预测块的运动图像编码装置中的运动图像编码方法,其特征在于,包括:把已输入的编码对象的图像分割为多个编码对象块的编码块分割步骤;通过对于像素数比在上述编码块分割步骤中分割的编码对象块的像素数还少,并且和该编码对象块在时间、空间上处于同一位置的低分辨块进行编码从而生成低分辨块信息,对该低分辨块信息进行译码,参照上述已译码图像而生成译码低分辨块的译码低分辨块生成步骤;通过根据规定的分割规则分割在上述译码低分辨块生成步骤中生成的译码低分辨块,生成多个低分辨分割块的低分辨块分割步骤;根据被保持在上述保持部件中的已译码图像、在上述低分辨块分割步骤中生成的低分辨分割块,生成像素数比该低分辨分割块还多,并且和该低分辨分割块在时间、空间上处于同一位置的预测小块的预测小块生成步骤;通过根据与上述分割规则对应的规定的合并规则对在上述预测小块生成步骤中生成的预先小块进行合并,生成预测小块的块合并步骤。
本发明的运动图像译码程序,其特征在于,它使设置在具备保持已译码图像的保持部件,并且以规定的块为单位对成为译码对象的编码数据进行译码而生成预测块的运动图像译码装置上的计算机具有以下功能:通过对已输入的译码对象的编码数据进行熵译码,生成已进行像素数比上述译码块的像素数还少,并且和该译码块在时间、空间上处于同一位置的低分辨块的编码的低分辨块信息的熵译码部件;对由上述熵译码部件生成的低分辨块信息进行译码,参照上述已译码图像,生成上述低分辨块的低分辨块译码部件;通过根据规定的分割规则对由上述低分辨块译码部件生成的低分辨块进行分割,生成多个低分辨分割块的低分辨块分割部件;根据被保持在上述保持部件上的已译码图像、由上述低分辨块分割部件生成的低分辨分割块,生成像素数比该低分辨分割块还多并且和该低分辨分割块在时间、空间上处于同一位置的预测小块的预测小块生成部件;通过根据与上述分割规则对应的规定的合并规则合并由上述预测小块生成部件生成的预测小块,生成预测块的块合并部件。
本发明的运动图像编码程序,其特征在于,它使设置在具备保持已译码图像的保持部件,并且以规定的块为单位对成为译码对象的图像进行编码从而生成预测块的运动图像编码装置上的计算机具有以下功能:把已输入的编码对象的图像分割为多个编码对象块的编码块分割部件;通过对于像素数比由上述编码对象块分割装置分割的编码对象块还少,并且和该编码对象块在时间、空间上处于同一位置的低分辨块进行编码,生成低分辨块信息,对该低分辨块信息进行译码,参照上述已译码图像,生成译码低分辨块的译码低分辨块生成部件;通过根据规定的分割规则分割由上述译码低分辨块生成部件生成的译码低分辨块,生成多个低分辨分割块的低分辨块分割部件;根据被保持在上述保持部件中的已译码图像、由上述低分辨块分割部件生成的低分辨分割块,生成像素数比该低分辨分割块的像素数还多,并且和该低分辨分割块在时间、空间上处于同一位置的预测小块的预测小块生成步骤;通过根据与上述分割规则对应的规定的合并规则合并由上述预测小块生成部件生成的预先小块,生成预测块的块合并部件。
如果采用本发明,因为附加信息的符号量增大受到抑止,所以能够提高在编码处理和译码处理中的处理效率。
附图说明
图1是表示实施方式1中的运动图像编码装置的结构的图。
图2是表示实施方式1中的运动图像译码装置的结构的图。
图3是用于说明块匹配的图。
图4是用于说明块缩小处理的图。
图5是用于说明块放大处理的第1图。
图6是用于说明块放大处理的第2图。
图7是用于说明放大块的4×4分割的图。
图8是用于说明放大块的2×2分割的图。
图9是用于说明4×4小块运动推断处理的图。
图10是用于说明2×2小块运动推断处理的图。
图11是用于说明块编码处理的流程图。
图12是用于说明低分辨块编码/译码处理的流程图。
图13是用于说明小块运动推断处理的流程图。
图14是用于说明块译码处理的流程图。
图15是用于说明低分辨块译码处理的流程图。
图16是说明存储用于通过计算机系统实现运动图像编码处理或者运动图像译码处理的程序的数据存储介质的图。
图17是表示实施方式1的运动图像编码程序的结构的图。
图18是表示实施方式1的运动图像译码程序的结构的图。
图19是用于说明伴随块分割的块匹配的图。
图20是用于说明涉及块尺寸的第4变形形态的图。
图21是用于说明第5变形形态中的块放大处理的图。
图22是表示第5变形形态中的运动图像编码装置的结构的图。
图23是表示第5变形形态中的运动图像译码装置的结构的图。
图24是用于说明第6变形形态中的块缩小处理的图。
图25是表示第8变形形态中的运动图像编码装置的结构的图。
图26是表示第8变形形态中的运动图像译码装置的结构的图。
图27是用于说明第8变形形态中的块放大处理的图。
图28是说明实施方式2中的运动图像译码装置的图。
图29是说明实施方式2中的运动图像编码装置的图。
图30是表示实施方式2中的块译码处理流程的图。
图31是表示实施方式2中的低分辨块译码处理流程的图。
图32是表示实施方式2中的小块预测处理流程图的图。
图33是表示实施方式2中的块编码处理流程的图。
图34是表示在实施方式2中的低分辨块编码/译码处理流程的图。
图35是用于说明分割块预测处理的图。
图36是用于说明块像素配置的图。
图37是实施方式2的运动图像译码程序的结构图。
图38是实施方式2的运动图像编码程序的结构图。
具体实施方式
[实施方式1]
以下,参照附图说明本发明的实施方式1。图1是表示可以实现本发明的预测编码的运动图像编码装置(以下,简称为“编码装置100”)的结构的图。同样,图2是表示实现本发明所涉及的预测译码的运动图像译码装置(以下,称其为“译码装置200”)的结构的图。这些各装置具有的构成要素经由总线以可以相互进行信号输入输出的方式连接。另外,在两图中,在具有同一功能的构成要素上标注同一符号。
首先,参照图1说明编码装置的构成。编码装置100是用编码块分割单元251把输入帧201分割为16×16像素的编码对象块(预测对象块)202,而后,按照光栅扫描的顺序对分割得到的多个编码对象块(预测对象块)202进行预测/编码的装置。
在此,所谓预测对象块是在通过对输入帧201进行块分割而得到的块中成为下一预测对象的块。所谓编码对象块是在通过对输入帧201进行块分割得到的块中成为下一编码对象的块。在本实施方式中,因为把预测处理的对象块和编码处理的对象块设置成同一尺寸,所以预测对象块和编码对象块一致。另外,所谓预测块是通过预测处理从过去译码的像素中生成的块。
编码对象块(预测对象块)202首先被输入到译码低分辨块生成单元252。译码低分辨块生成单元252生成像素数比预测对象块202的像素数还少的译码低分辨块110,以及低分辨块信息102。在运动推断单元211中,按照光栅扫描顺序输入预测对象块202。运动推断单元211在输入的预测对象块202,和从被保存在帧存储器153中的过去的译码帧中抽出的多个候补预测块203之间执行块匹配处理,检测1个低分辨块预测用运动向量104。
在此,参照图3说明块匹配。所谓块匹配是检测预测对象块的运动向量的技术。在块匹配中,运动推断单元211在过去被译码的译码帧520上设定查找范围522,在查找范围内进行检索。以下,检测和预测对象块202的差分评价值为最小的块105的位置。而后,从在译码帧上和预测对象块202处于同一空间位置上的假想块521中,把至检测到的块105为止的移动量作为运动向量104。而且,作为差分评价值能适用在检测对象的块和编码对象的块之间对应的像素的差分绝对值和,或者把运动向量的符号量的换算值加算在该差分绝对值上的值等。
运动补偿单元133生成与低分辨块预测用运动向量104对应的低分辨预测块106。具体地说,基于低分辨块预测运动向量104,从被保存在帧存储器153中的过去的译码帧520中,取得与8×8像素的块对应的像素,并把它作为低分辨预测块106。图4表示16×16像素大小的块10和8×8像素大小的低分辨块11的对应关系。如图4所示,8×8像素大小的低分辨块11是从16×16像素大小的块中每隔纵横1行抽出像素的块。
在此,通过像素抽出而生成低分辨块具有提高在后述的小块预测处理的预测性能的效果。即,因为低分辨块的各像素保持着高频成分,所以编码装置100在进行运动检测时,容易捕捉细致的特征。其结果,预测性能提高。
对于编码对象块(预测对象块)202也是用缩小处理单元134,根据图4所示的规则变换为像素数比编码对象块202的像素数还少的低分辨编码对象块(低分辨预测对象块)205。减法单元213对在低分辨编码对象块(低分辨预测对象块)205和低分辨预测块106中的各像素进行减算,生成低分辨误差块206。
变换单元214在把低分辨误差块206分割为4个4×4的块后,对这些4×4的块实施4×4离散余弦变换(DCT:Discrete CosineTransform)。而后,分别生成与16个低分辨误差块有关的变换系数207。量化单元215对变换系数207进行量化,生成低分辨误差块的量化变换系数107。合并单元216整理运动向量104和低分辨误差块的量化变换系数107,作为低分辨块信息102输出到熵编码单元255。
反量化单元136对量化变换系数107进行反量化,生成低分辨误差块的译码量化变换系数108。反变换单元137对译码量化变换系数108进行反DCT变换,生成译码低分辨误差块109。加法单元217加算在低分辨预测块106和译码低分辨误差块109中的各像素,生成译码低分辨块110。
放大块生成单元154把译码低分辨块110放大为图5所示的放大块127。即,放大块生成单元154从被保存在帧存储器153中的当前帧的已译码像素中,把和成为现在预测对象的块位置的上边,以及左边相邻的块的译码像素作为边界译码像素群123取得,如图5所示,配置在译码低分辨块110的周围。
接着,放大块生成单元154用图6所示的内插计算处理计算用黑色方块表示的像素的内插值,生成放大块127。通过该处理,8×8块大小的译码低分辨块110被放大成和通过后述的预测处理生成的预测块同样大小(16×16)的放大块127。而且,当预测对象的块是现在帧的端块的情况下,因为相邻的块不存在,所以放大块生成单元154无法取得边界译码像素群123。这种情况下,用译码低分辨块110的边界像素来代替它。
块分割单元162如图7的块127a所示,把放大块127分割为16个4×4的小块112a。进而,块分割单元162如图8的块127b所示,把放大块127分割为64个2×2的小块112b。这些被分割的各小块把1个4×4小块112a,和与之在空间上处于同一位置的4个2×2小块112b作为1组,顺序输入到小块预测单元152。
小块预测单元152由以下部分构成:通过块匹配进行小块112的运动向量115的检测的小块运动向量推断单元163;使用被检测出的小块运动向量115生成小块112的预测小块116的小块运动补偿单元164。在本实施方式中,小块预测单元152使用这些功能生成各个2×2小块112b的预测小块116b。
更具体地说:
(1)小块运动推断单元163执行4×4小块的运动向量检测处理。以下,在16个4×4小块112a中,特别关注图9所示的上端的块112a1说明小块预测单元152的功能,但对于其他15个4×4小块,由于也只是空间上的块位置不同,因而用同样的顺序进行处理。图9是用于说明在被16分割后的4×4小块中,位于左上端的4×4小块112a1的运动向量115a1的检测方法的图。小块运动推断单元163如果把4×4小块112a输入到小块运动推断单元163,则在过去译码的帧520(保存在帧存储器153中)上设定查找范围181a1。接着,根据给予的规则在查找范围内检索,检测和4×4小块112a1的差分评价值(在小块内的像素的差分绝对值的总和)为最小的4×4小块116a1的位置,把它作为4×4预测小块116a1。而后,小块运动推断单元163把在和4×4小块112a1在空间上处于同一位置的译码帧520上的4×4块117a1,和被检测出的4×4预测小块116a1之间的运动量作为4×4小块112a1的运动向量115a1。
而且,查找范围181a1作为预先规定的大小,是设置成以在低分辨预测块的生成中使用的编码后的低分辨块预测用运动向量104为中心的位置上。这是考虑到被检测的4×4小块的运动向量接近低分辨块预测用运动向量104的可能性高的缘故,因而具有提高检索精度和能够设定小的查找范围的效果。因而,对于属于同一编码对象块的16个4×4小块的查找范围的中心点也一样,被设定在表示低分辨块预测用运动向量104的位置上。
(2)小块运动推断单元163检测与在(1)中检测运动向量的4×4小块112a1属于同一组的4个2×2小块的运动向量。以下,在4个2×2小块中,特别关注图10所示的上端的块112b1并进行说明。图10是用于说明在被64分割后的2×2小块中,位于左上端的2×2小块112b1的运动向量115b1的检测方法的图。小块运动推断单元163在把2×2小块112b1输入到小块运动推断单元163时,在过去译码的帧520(保存在帧存储器153上)上设定查找范围181b1。接着,根据规定的规则在查找范围内检索,检测和2×2小块112b1的差分评价值(在小块内的像素的差分绝对值的总和)为最小的2×2小块116b1的位置,把它作为2×2预测小块116b1。而后,小块运动推断单元163把和2×2预测小块112b1在空间上处于同一位置的译码帧520上的2×2块117b1,和被检测出的2×2小块116b1之间的移动量,作为2×2小块112b1的运动向量115b1。进而,对于剩下的3个2×2小块,也用同样的方法检测2×2小块的运动向量。
而且,查找范围181b1作为预先规定的大小,设定在以和2×2小块112b1属于同一组的4×4小块112a1的运动向量115a1为中心的位置上。这是因为考虑到被检测的2×2小块的运动向量在空间上处于同一位置,即,该运动向量接近属于同一组的4×4小块的运动向量近的可能性高的缘故,所以具有能够把查找范围设定得小的效果。因而,小块运动推断单元163对于属于同一组的4个2×2小块的查找范围的中心点也一样,被设定在用在空间上处于同一位置的4×4小块的运动向量115a1所表示的位置上。
(3)被检测到的4个2×2小块的运动向量115b被输入到小块运动补偿单元164。小块运动补偿单元164从译码帧520(保存在帧存储器153中)中,取得与2×2小块的运动向量115b对应的预测小块116b。这样的小块的预测单元152的处理因为只使用译码装置200可以从编码数据中生成的数据执行,所以即使在译码装置200中也能够得到同样的处理效果。即,译码装置200也能够检测和编码装置100同样的运动向量。因而,各2×2小块的运动向量不需要进行编码。
块合并单元155通过把64个2×2预测小块的每一个基于在块分割单元162中的分割规则并列成分割前的原来的位置来进行合并,由此生成16×16像素的预测块118。减法单元253计算在编码对象块202和预测块118中的各像素的差分值来生成误差块208。
误差块编码单元254对误差块208进行编码生成误差块信息119,输出到熵编码单元255。如图1所示,误差块编码单元254把变换单元218和量化单元219作为其构成要素。变换单元218以4×4单位对误差块208进行离散余弦变换(DCT),对于16个4×4块的每一个,生成16个变换系数209。量化单元219对各变换系数209进行量化,生成误差块信息(例如,量化变换系数)119。
误差块译码单元156对误差块信息119进行译码生成译码误差块121。如图1所示,误差块译码单元156把反量化单元140和反变换单元141作为其构成要素。反量化单元140对于16个4×4块的每一个通过进行16个量化变换系数119的反量化,生成译码量化变换系数120。反变换单元141通过对各4×4块的译码量化变换系数120进行反DCT变换,生成译码误差块121。
加法单元157对预测块118和译码误差块121中的各像素进行加算,生成译码块122。生成的译码块122被保存在帧存储器153中,其结果,已译码图像被更新。熵编码单元255通过对低分辨块信息102和误差块信息119进行熵编码而多路复用为编码数据101。
以下,说明编码装置100的动作。一并说明构成本发明的运动图像编码方法的各步骤。图11是用于说明预测编码的对象块的编码处理的流程图。而且,在图11的块编码处理中,图中括号内表示后述的块译码处理和其内容以及处理结果是共用的步骤的符号。
首先,用编码块分割单元251分割输入帧201后,则编码装置100得到编码对象块202。在S1中,译码低分辨块生成单元252执行图12所示的低分辨块编码/译码处理。
在图12的S101中,输入下一编码对象块(预测对象块)。在S102中,运动推断单元211根据预测对象块、被保存在帧存储器中的过去译码的译码帧,检测低分辨块预测用运动向量。而且,运动向量的检测方法因为在译码低分辨块生成单元252的构成说明中已叙述,故省略其说明。
在S103中,运动补偿单元133从帧存储器的译码帧中取得与低分辨块预测用运动向量对应的低分辨预测块。在S104中,缩小处理单元134基于参照图4说明的上述变换规则,把预测对象块变换为低分辨预测对象块。在S105中,减法单元213在低分辨预测对象块和低分辨预测块之间进行各像素的减算,生成低分辨误差块。
在S106中,变换单元214在对低分辨误差块进行DCT变换后,量化单元215进行DCT系数的量化。其结果,生成低分辨误差块的量化变换系数。而且,在S106中的量化精度设定得比在后述的图11的S8中的量化精度还高。这是由于有这样的效果的缘故,即通过编码装置100提高低分辨块的画质,能够提高S3、S4中的2×2小预测块检测精度。
在图12的S107中,反量化单元136和反变换单元137对低分辨误差块的量化变换系数进行译码(反量化/反变换)。其结果,生成译码低分辨误差块。在S108中,加法单元217在低分辨预测块和译码低分辨误差块之间进行各像素的加算,生成译码低分辨块。而后,合并单元216通过对运动向量和低分辨误差块的量化变换系数进行合并而生成低分辨块信息(S109)。
返回图11,在S2中,放大块生成单元154如图5以及图6所示,把译码低分辨块放大为和预测块同样大小(16×16像素)的放大块127。对于放大块的生成方法,因为在放大块生成单元154的功能说明中,已参照图5、图6进行了说明故省略其说明。
在S3中,如图7、图8所示,块分割单元162把放大块分割为4×4小块和2×2小块。分割后的各小块把1个4×4小块,和在空间上与其处于同一位置的4个2×2小块作为一组,输入到小块运动推断单元163。
在S4中,小块运动推断单元163以上述组单位检测4个2×2小块的运动向量。小块运动推断处理对1个4×4小块和4个2×2小块分别执行。按照该顺序先对4×4小块执行处理,其后,对4个2×2小块执行处理。
在此,参照图13说明小块运动推断处理。首先,在S41中输入小块,评价值E min被设定为最大整数值(初始值)(S42)。然后,在S43中,判断小块的大小。其后,执行与该判定结果相应的处理S441或者S442。即,在过去的译码帧520(保存在帧存储器上)上,设定查找范围的大小和查找范围的中心位置(检索中心点)。
接着,从该中心点开始按照螺旋顺序检索在译码帧520的查找范围内的预测小块的候补,其结果,特定上述评价值E min为最小的预测小块。具体地说,小块运动推断单元163从帧存储器153的译码帧中取得下一候补的预测小块113(S45),计算评价值(S46)。评价值E是在小块和预测小块之间的像素差分值的绝对值的总和。
在S47中,判定评价值E是否比评价值E min还小。当评价值E比评价值E min小的情况下(S47:YES),在把评价值E min更新为评价值E的同时,小块的运动向量被更新为从小块的位置到预测小块的现在候补块的位置的移动量(S48)。另一方面,当评价值E在评价值E min或者以上的情况下(S47:NO),省略S48的处理,转移到S49。
在S49中,判定在查找范围内的全部候补的预测小块的检索是否已结束。以后,在S49中判断为在查找范围内的全部候补的预测小块的检索结束为止,重复执行S45~S49的一连串的处理。而后,在判断为上述检索结束的时刻,小块运动推断处理结束。
返回图11,在S5中,小块运动补偿单元164从帧存储器153的译码帧中,分别取得与在S3和S4中检测出的4条2×2小块的运动向量对应的2×2预测小块116。S3~S5的各处理对16组的小块执行。
在S6中,块合并单元155通过基于在S3中使用的分割规则,把64个2×2预测小块排列成分割前的位置,由此合并为16×16像素的预测块。在S7中,减法单元253在编码对象块和预测块之间进行各像素的减算,生成误差块。在S8中,误差块编码单元254对误差块进行编码(变换/量化),生成误差块信息(例如,量化变换系数)。
在S9中,误差块译码单元156对上述误差块信息进行译码(反量化/反变换),生成译码误差块。在S10中,加法单元157在预测块和译码误差块之间进行各像素加算,生成译码块。所生成的译码块如果被保存在帧存储器153的现在的译码帧中(S11),则熵编码单元255对低分辨块信息和误差块信息进行熵编码(S12),块编码处理结束。
以下,说明图2所示的译码装置200的结构。译码装置200是执行块单位的预测处理和编码数据101的译码处理,并以块单位按照光栅扫描顺序重放译码块122的装置。在本实施方式中,通过预测处理生成的预测块和译码块的大小相同,都设置成16×16像素。
熵译码单元150在接收在作为译码对象的译码块的生成中需要的编码数据101的输入后,通过熵译码,把编码数据101分离为低分辨块信息102和误差块信息119。低分辨块译码单元151通过译码低分辨误差信息102,生成像素数比预测块的像素数还少的8×8像素的译码低分辨块110。
分离单元131把低分辨块信息102分离为低分辨块预测用运动向量104和低分辨误差块信息(例如,低分辨误差块的量化变换系数)107。运动补偿单元133从被保存在帧存储器153中的译码帧520中,取得与低分辨块预测用运动向量104对应的低分辨预测块106。
反量化单元136对低分辨误差块的量化变换系数107进行反量化处理,生成低分辨误差块的译码量化变换系数108。反变换单元137通过对译码量化变化系数108进行反DCT变换,生成译码低分辨误差块109。加法单元135计算在低分辨预测块106和译码低分辨误差块109中的各像素的加算值,生成译码低分辨块110。
而且,放大块生成单元154、块分割单元162、小块预测单元152以及块合并单元155具有的各功能和处理结果与编码装置100的说明相同。因而,其说明以及用于说明的图示省略。
另外,误差块译码单元156对误差块信息(例如,量化变换系数)119进行译码而生成译码误差块121。误差块译码单元156具有反量化单元140和反变换单元141。反量化单元140对量化变换系数119进行反量化,生成译码量化变换系数120。反变换单元141对译码量化变换系数120进行反DCT变换,生成译码误差块121。
加法单元157对于预测块118的各像素计算和译码误差块121在空间上处于一致的位置的像素和该像素的加算值,由此生成译码块122。译码块122更新被保存在帧存储器153中的已译码图像。
接着,说明译码装置200的动作,一并说明构成本发明的运动图像译码方法的各步骤。而且,在图14的块译码处理中,在图中括号内表示图11所示的块编码处理和其内容以及处理结果共用的步骤的符号。
开始下一个块的译码处理后,则首先在T1中,把在该块的译码中需要的1块量的编码数据输入到熵译码单元150(T1)。在T2中,熵译码单元150对输入的编码数据进行熵译码,得到低分辨块信息和误差块信息。在这些信息中,低分辨块信息通过低分辨块译码处理404,被输入到低分辨块译码单元151,被译码为译码低分辨块。
在此,参照图15说明在T3中的低分辨块译码处理。在T31中,把低分辨块信息输入到分离单元131。分离单元131在T32中把低分辨块信息分离为运动向量和低分辨误差块信息。在T33中,运动补偿单元133从过去译码的译码帧520(保存在帧存储器153中)中,取得与低分辨块预测用运动向量104对应的低分辨块预测块106。
在T34中,反量化单元136对作为低分辨误差块信息的量化变换系数107进行反量化处理,生成译码量化变换系数108。进而,反变换单元137对该译码量化变换系数108进行反DCT变换,生成译码低分辨误差块109。在T35中,加法单元135对低分辨预测块106和译码低分辨误差块109的各像素进行加算,生成译码低分辨块110。
返回图14,如图5以及图6所示,放大块生成单元154把译码低分辨块110放大为和预测块同样大小(16×16像素)的放大块127(T4)。作为放大块的生成方法,因为在放大块生成单元154的功能说明中已参照图5、图6进行了说明故省略其说明。
在T5~T7中,块分割单元162和小块预测单元152把放大块分割为64个2×2小块,生成64个2×2预测小块。而且,图14的T5、T6的各处理因为和图11所示的S3、S4的各处理分别相同,所以省略其详细说明。另外,T7的处理因为和图11的S5的处理相同,因而其说明省略。
在T8中,块合并单元155基于在T5中的分割规则把在T6以及T7中生成的64个2×2预测小块排列成分割前的原来的位置。由此,把上述预测小块合并为16×16像素的预测块。
在T9中,误差块译码单元156对误差块信息(例如量化变换系数)进行译码(反量化/反变换),生成译码误差块。在T10中,加法单元157对预测块和译码误差块的各像素进行加算,生成译码块。在T11中,把译码块保存在帧存储器153中,其结果,更新已译码图像。
图16(a)例示存储有用于实现本实施方式中的图像编码处理的运动图像编码程序,以及用于实现同一图像译码处理的运动图像译码程序的软盘的物理格式。另外,图16(b)表示上述软盘的正面和外观和断面构造。软盘FD被内置于壳F内,在该盘的表面上从外周向内周以同心圆状形成多条磁道Tr。这些磁道按照角度方向被分为16个扇形Se。在软盘FD上所分割的区域上,作为数据记录着上述程序。
当向软盘FD记录上述程序时,如图16(c)所示,是从计算机系统Cs通过软盘驱动器FDD进行的。当用软盘FD内的程序在计算机系统Cs中构筑编码装置100或者译码装置200时,软盘驱动器FDD从软盘FD中读出上述程序,转送到计算机系统Cs中。
图17是表示本发明的运动图像编码程序261的结构的图。运动图像编码程序261被记录在记录介质260上。记录介质260例如是上述的软盘,但也可以是光盘和IC卡、CD-ROM、DVD,或者半导体存储器。在计算机系统Cs中,并不限于PC(Personal Computer:个人计算机),还包含具备CPU,利用软件进行分辨信息处理和控制的DVD机、机顶盒、手机等。
以下,说明本发明的运动图像编码程序以及运动图像译码程序的结构。运动图像编码程序261如图17所示,被存储在形成于记录介质260上的程序存储区域260a内。运动图像编码程序261把综合控制运动图像编码处理的主模块261a;编码对象块分割模块261b;译码低分辨块生成模块261c;低分辨块放大模块261d;放大块分割模块261e;小块预测模块261f;块合并模块261g作为单元所具有。通过执行这些模块实现的功能和上述的运动图像编码装置100的编码块分割单元251;译码低分辨块生成单元252;放大块生成单元154;块分割单元162;小块预测单元152;块合并单元155的各功能分别相同。
运动图像译码程序161如图18所示,被存储在形成于记录介质160上的程序存储区域160a内。运动图像译码程序161把总控制运动图像译码处理的主模块161a;熵译码模块161b;低分辨块译码模块161c;低分辨块放大模块161d;放大块分割模块161e;小块预测模块161f;块合并模块161g作为单元所具有。通过执行这些各模块实现的功能和上述的运动图像译码装置200的熵译码单元150;低分辨块译码单元151;放大块生成单元154;块分割单元162;小块预测单元152;块合并单元155的各功能分别相同。
而且,运动图像编码程序261的构成可以是其一部分或者全部经由通信线路等的传送介质传送,用其他的设备接收并记录(包含安装)。对于运动图像译码程序161也一样,其构成也可以是它的一部分或者全部经由通信线路等的传送介质传送,由其他的设备接收并记录(包含安装)。
而且,上述实施方式中记述的形态是本发明的运动图像编码/译码技术的优选的一例,本发明并不限于这样的形态。
(第1变形形态)
本形态涉及小块的运动向量检测方法。在上述实施方式中,是以在4×4小块中为±32,在2×2小块中是±1作为小块的运行向量检测时的查找范围。但也可以是不同的查找范围。另外,对于小块的运动向量成分的精度,不仅是整数值,还可以设置成实数值。在实数值中有1/2像素、1/4像素等,作为向量成分是实数值的情况下的预测像素的计算方法,例如可以适用在H。264(“Text of ISO/IEC 14496-10Advanced Video Coding 3rd Edition”,September 2004)中记述的方法。
另外,在上述实施方式中,对于在小块的运动向量检测时的查找范围的中心点,在4×4小块中设为低分辨块预测用运动向量,在2×2小块中设为在空间上处于同一位置的4×4小块的运动向量。但是,如果是在编码侧和译码侧能够唯一确定的值,则并不限定于此。例如,也可以把0向量、通过中央值预测等的方法从相邻小块的运动向量中选定的预测向量设定为查找范围的中心点。
进而,虽然把检测小块的运动向量时的评价值作为像素差分值的绝对值和,但并不限于此,只要是在编码侧和译码侧能够唯一确定的评价方法即可。例如,也可以向像素差分值的平方和,或者与像素位置相应的像素差分值的加权绝对值和(平方和)等变形。虽然把预测对象的译码帧限定为1帧,但也可以把多个已译码帧作为对象,从每个小块不同的译码帧中生成预测小块。此时,作为评价值如果使用像素差分值的绝对值和等,在编码侧和译码侧相同的评价值,则不需要对译码帧的选择信息进行编码,是高效率的。
(第2变形形态)
本形态涉及预测方法。作为预测方法,限定并说明了在时间方向的预测,但即使在使用了编码对象块或者译码块相同的帧内的已译码的已译码图像分辨的空间方向的预测中,也能够适用同样的方法。即,也可以使用内部预测放大上述的译码低分辨块。更具体地说,译码装置200对再分割了的译码低分辨块的低分辨块进行分割,在使用同一帧内相邻的已译码的像素,例如从H.264(“Text of ISO/IEC 14496-10Advanced Video Coding 3rd Edition”,September 2004.)的多个内部预测模式中确定了最佳的模式,预测与该译码低分辨块相当的高分辨度信号的块的情况等也包含在本发明中。在这种情况下,因为不需要明示地传送各缩小分割块的预测模式,所以起到能够以少量的辅助信息高精度地预测对象块的优异的效果。另外,组合上述的时间方向的预测和空间方向的预测也可以进行高精度的预测。例如,在放大块生成单元154执行采用内部预测的译码低分辨块的放大处理,把该放大块分割为小块,执行小块预测单元152的处理的方法也有效。
(第3变形形态)
本形态涉及误差块的编码。对预测块和编码对象块之间的误差块的编码处理不是必须的。即,可以省略误差块编码单元254(图1)和误差块译码单元156(图1和图2)。另外,也可以确定是否有针对每个编码对象块或者译码对象块的编码。对于误差块,以及低分辨误差块的具体的编码/译码方法,并不限定在上述的方法。进而,在上述实施方式中,是把编码对象块和预测对象块大小设置为相同,但以不同的大小也可以实现本发明的预测方法。另外,误差信号的编码并不限于块单位,也可以以画面单位进行。但是,在这种情况下,应该准备在低分辨块的放大处理中使用的块边界的译码像素,并需要在执行低分辨块的放大处理前,执行相邻预测块的生成处理和预测误差信号的译码处理。
(第4变形形态)
本形态涉及块大小。在上述实施方式中,设置低分辨块预测用的运动向量对编码对象块和译码对象块各是1个。但是,如图19所示,把编码对象块分割为多个块,对于以分割块为单位实施块匹配的方法,本发明的预测方法也可以适用。在这种情况下,在以编码对象块为单位确定小块的大小的同时,对分割块的大小信息和多个运动向量(104a,104b,104c,104d)进行编码。
进而,在图19的例子中,在4×4小块的运动向量检测时的查找范围的中心点可以设定在从4条低分辨块预测用的运动向量到在空间上处于同一位置的运动向量表示的位置上。
而且,在图19中,是把分割方法设置成8×8单位,但并不限于此,可以适应性地利用H.264(“Text of ISO/IEC 14496-10 AdvancedVideo Coding 3rd Edition”,September 2004.)所示那样的分割方法。另外,对于编码对象块的大小和译码块的大小来说并不限定在16×16。即,即使是32×32、8×8、4×4等不同的块大小,也可以通过依照其大小相应地变更小块的大小来适用本发明。
在小块预测单元152(图6的S3和S4)中的小块的大小也并不限定于4×4和2×2。例如,如图20所示的5×5小块112c和3×3小块112d那样,通过使向量小块相互重叠,也可以放大小块大小。小的块大小因为存在因在块内没有特征的情况下使预测性能下降的趋势,所以通过采用本形态,预计局部形的预测性能提高。而且,把小块大小以5×5和4×4以及3×3和2×2的大小适应性地切换的方法也有效。和它一样,在执行变换/量化时的块大小也没有限定。即,编码装置100以及译码装置200例如以8×8块和16×16块为单位对误差块进行变换/量化。
(第5变形形态)
本形态涉及译码低分辨块的放大方法。在上述的实施方式中设为:放大块生成单元154从和预测块的上边和左边相邻的块的译码像素中,取得为了放大译码低分辨块而参照的边界译码像素群123。但是,如图21所示,也可以从相邻的块的译码低分辨块的译码像素中取得边界译码像素群123,生成放大块。
图22、图23分别表示用于实现上述变形形态的编码装置300以及译码装置400。编码装置300、译码装置400和编码装置100、译码装置200在以下方面不同。
(i)把译码低分辨块110暂时保存在帧存储器153中,
(ii)把与相邻块在空间上对应的译码低分辨块的译码像素作为边界译码像素合并为译码低分辨块,
(iii)把包含边界译码像素的低分辨块124(参照图21)作为单位,输入到放大块生成单元154,
通过如此构成编码装置300以及译码装置400,可以变更边界译码像素。
而且,图1和图2所示的各装置的特征、图22和图23所示的各装置的特征可以根据条件适宜地组合。例如,各装置在相邻的块的低分辨块用运动向量和现在的预测对象的块相同的情况下,把译码低分辨块的译码像素作为边界译码像素使用。在不同的情况,把译码帧的译码像素作为边界译码像素使用。另外,也可以在以块单位适宜地切换多个预测方法的编码方式中,把现在的预测对象块的相邻块的预测方法作为条件,变更边界译码像素。
进而,也可以不使用边界译码像素,而如在帧一端进行处理那样,只从低分辨预测块内的像素中生成放大块。另外,在上述实施方式中,是从现在帧的已译码图像中抽出边界译码像素的,但也可以使用在空间上处于同一位置的过去的译码帧的译码像素。边界译码像素设为与预测对象的块相邻的像素,但如果是已译码的像素,则并不限于此,可以使用离开块边界的译码像素,或者使用从多个译码像素中生成的像素等。
(第6变形形态)
本形态涉及缩小方法。在上述的实施方式中,如图4所示,虽然作为块的缩小处理,采用了在纵/横方向上以1行间隔进行间隔剔除处理的方法,但并不限于此方法。例如,低分辨块的像素数只要在编码装置100和译码装置200之间预先确定即可,可以设定成像素数比译码块(编码对象块)的像素数还少的任意形状。例如,对于把图4所示的低分辨预测块106的各像素在纵横方向上错开1像素的块,和如图24的低分辨预测块1061那样把像素数设置成一半的块,也可以适用本发明。
另外,在上述实施方式中,是只用间隔剔除处理实现块的缩小,但也可以在对块的像素实施了低通滤波处理后进行间隔剔除处理。但是,为了提高运动检索精度,对于成为向小块运动推断单元163输入的候补预测块113,也需要实施同一低通滤波处理。
(第7变形形态)
本形态涉及低分辨块预测。在上述实施方式中,各装置是从帧存储器153中直接取得低分辨预测块,但也可以从被保存在帧存储器153中的过去的译码帧520中取得为了生成低分辨预测块1061所需要的数据15。其后,在运动补偿单元133内部,生成图3所示的16×16像素大小的预测块105,也可以把预测块105变换为8×8像素大小的低分辨预测块106。
另外,在上述实施方式中,设各装置把16×16像素的预测对象块输入到运动推断单元211,但低分辨块预测并不限于本实施例所述的方法,例如,也可以把对预测对象块实施了图4的变换规则的低分辨块作为上述输入。在这种情况下,通过选定低分辨块预测用运动向量使低分辨预测块和低分辨编码对象块(低分辨预测对象块)的预测误差变小,具有削减低分辨误差块的符号量的效果。
(第8变形形态)
本形态涉及多预测模式的编码。在上述实施方式中,只把编码对象块(译码块)的预测方法作为本发明的预测方法。但是,也可以设置成以编码对象块(译码块)为单位,适宜地选择如背景技术中记述的那样,对多个运动向量进行编码的以往的块预测方法,和涉及本发明的预测方法之一。
进而,在上述的预测方法中,设用本发明的预测方法预测16×16块内的所有像素。但是,也可以分割16×16块,以分割块为单位适宜地切换本发明的预测方法,和使用了低分辨块预测用运动向量的帧间预测方法。例如,图25表示在把16×16编码对象块(预测块)分割为4个8×8块,以8×8为单位进行适应预测的情况下,可以进行该实施的编码装置500。图26表示同样的译码装置600。图27表示在本形态中的译码低分辨块以及放大块。
图25的编码装置500和图1所示的编码装置100在以下方面不同。第1,放大块生成单元1541以8×8为单位执行译码低分辨块的放大处理。即,放大块生成单元1541以4×4为单位把译码低分辨块扩展为8×8扩展块,输出到块分割单元162。放大块生成单元1541如图27所示,把8×8译码低分辨块110分割为4个4×4低分辨块110a、110b、110c、110d。而后,以4×4块为单位合并边界译码像素群128a~128d,放大为8×8放大块1271。被放大的8×8放大块在块分割单元165,如块1271a和块1271b所示那样,被分割为4×4小块和2×2小块。而后,被输入到小块预测单元152。
而且,因为在边界译码像素群128a~128d中使用译码像素,所以在该适应预测方式中,需要以8×8为单位执行预测误差的编码处理。但是,在现有的编码方式中,为了以通常的8×8为单位执行预测误差的编码处理,只切换预测处理和误差编码处理的执行单位,也能够与上述适应预测方式对应。
第2,判定单元256以8×8块为单位进行预测方法和预测块的选择。向判定单元256输入预测对象块202,和运动补偿单元1331使用低分辨块预测用运动向量104从帧存储器153中读出的16×16预测块105。其后,这些块分别被分割为4个8×8编码对象块,和4分割了16×16预测块后的低分辨预测块选择用8×8预测块。
另一方面,从块合并单元155向判定单元256输入在本发明的小块预测方法中生成的8×8预测块118。判定单元256对2种预测块,以8×8为单位计算和编码对象块的像素差分绝对值和,选择值小的8×8预测块,合并为16×16像素的预测块126。而后,把选择出的预测方式的选择信息125输出到合并单元2161。
第3,合并单元2161把选择信息125与低分辨块信息1021合并。当选择信息125选择使用了低分辨块预测用运动向量104的预测方式的情况下,在8×8块大小的译码低分辨块中,不需要对应的4×4块区域的信息。因此,在这样的情况下,因为对应的4×4低分辨误差块的量化变换系数全部为零,所以不与低分辨块信息1021合并。
图26的译码装置600和图1所示的译码装置200在以下方面不同。第1,放大块生成单元1541以8×8为单位执行译码低分辨块的放大处理。该方法因为如用图27说明的那样,所以省略详细说明,在译码一侧,也需要在生成了8×8预测块的时刻,执行对应的8×8预测误差块的译码处理,并译码8×8译码块。
第2,开关159根据从低分辨块信息1021分离出的选择信息125,切换2种预测方式。但是,当选择信息125选择使用了运动向量104的预测方式的情况下,在8×8译码低分辨块中,在低分辨块信息1021中不包含对应的4×4块区域的信息。即,低分辨误差块的量化系数全部为零。因此,对于该区域,不执行相应的4×4低分辨块的译码处理,以及本发明的小块预测处理。
而且,在第8变形例子中,也可以适用在上述第5变形例子中说明的块放大方法,依照预测对象块的相邻块的预测方法,能够适应地切换块放大方法。
[实施方式2]
以下,参照附图说明本发明的实施方式。
[装置结构]
图28表示实现本发明的预测译码的运动图像译码装置(以下称为“译码装置”)的结构,图29表示实现本发明的预测编码的运动图像编码装置(以下称为“编码装置”)的结构。而且,假设在图28以及图29中标注有相同号码的处理部分具有同样的功能。
[编码装置的结构]
图29的编码装置是在编码块分割单元251把输入帧201分割为8×8的编码对象块202,按照光栅扫描顺序对在分割中得到的多个编码对象块202进行编码的装置。和实施方式1一样,因为即使在本实施方式中也是把预测对象的预测对象块和编码对象的编码对象块的块大小设置成相同,所以预测对象块和编码对象块一致。另外,所谓预测块是从过去译码的像素中通过预测处理而生成的块。而且,预测对象块和编码对象块的块大小不同也可以。编码对象块202首先被输入译码低分辨块生成单元252。
译码低分辨块生成单元252是生成“像素数比编码对象块(预测对象块)202的像素数还少的译码低分辨块110”以及“低分辨块信息102”的处理单元。在此,说明译码低分辨块生成单元252的动作。在运动推断单元211中,按照光栅扫描顺序输入编码对象块(预测对象块)202,运动推断单元211在已输入的编码对象块(预测对象块)202和被保持在帧存储器153中的多个候补预测块203之间实施块匹配处理,检测1条运动向量104。运动向量预测/编码单元212输入检测出的运动向量104,计算对各成分值减去预测向量的各成分的值后的差分运动向量103。预测运动向量通过把当前块的左、正上、右上(在帧以外的情况下,是左上)的相邻3块的运动向量作为对象根据中央值预测(针对每种成分)进行计算。运动补偿单元133从被保持在帧存储器153中的已译码的译码帧520中,取得与运动向量104对应的块105。块105由缩小处理单元134如图36所示那样,变换为纵横每隔1行抽出了像素的低分辨预测块106。进而编码对象块(预测对象块)202也一样,用缩小处理单元134变换为像素数比编码对象块(预测对象块)202像素还少的低分辨编码对象块(低分辨预测对象块)205。减法单元213对低分辨编码对象块(低分辨预测对象块)205的各像素,计算和低分辨预测块106在空间上位置一致的像素和该各像素的差分值,生成低分辨误差块206。变换单元214对低分辨误差块206进行4×4离散余弦变换(DCT),生成16个低分辨误差块的变换系数207。量化单元215对变换系数207进行量化,生成低分辨误差块的量化变换系数107。合并单元216归纳差分运动向量103和低分辨误差块的量化变换系数107,作为低分辨块信息102输出到熵编码单元255。反量化单元136对量化变换系数107进行反量化,生成低分辨误差块的译码量化变换系数108。反变换单元137对译码量化变换系数108进行反DCT变换,生成译码低分辨误差块109。加法单元217对低分辨预测块106的各像素,进行和译码低分辨误差块109在空间上位置一致的像素和该像素的加算值的计算,生成译码低分辨块110。
以下,低分辨块分割单元166把译码低分辨块110和图36的块106一样分割为2×2的低分辨分割块112。各低分辨分割块112被输入到小块预测单元158(相当于图1,图2的152)。
小块预测单元158是使用被保持在帧存储器153中的已译码图像,对低分辨分割块112的每个,进行4×4的预测小块116的生成的处理单元。该小块预测单元158的处理因为只把已译码的图像作为输入实施,所以对于译码装置也可以实施同样的处理。在此,说明小块预测单元158的动作。被输入到小块预测单元158的4×4块(称为“候补预测小块”)113被缩小处理单元134变换为像素数少的候补缩小预测小块114,而后被输出到放大运动推断单元138。放大运动推断单元138对图35所示的2×2低分辨分割块112(112a~112d)、与低分辨分割块的4个像素在空间上对应的4个像素(候补缩小预测小块114)之间进行块匹配,检测低分辨分割块的运动向量115(115a~115d)。此时的差分评价值设置成“低分辨分割块的4个像素”和“在检索的4×4块(候补预测小块113)的16个像素内,和低分辨分割块的4个像素在空间上对应的4个像素(候补缩小预测小块114)”的差分绝对值和(详细内容用图32在以后叙述)。只把这样的已译码图像作为输入值的差分评价值因为用译码装置也能计算,所以在译码装置中也能够检测和编码装置一样的运动向量。预测小块取得单元139从帧存储器153的译码帧520中取得与低分辨分割块的运动向量115(115a~115d)对应的4×4预测小块116(116a~116d)。
以下,块合并单元155如图35左侧所示那样合并4个预测小块116a~116d,生成8×8的预测小块118(图29)。减法单元253对于编码对象块202的各像素计算和预测小块118在空间上位置一致的像素和该各像素的差分值,生成误差块208。
误差块编码单元254是对误差块208进行编码生成误差块信息119,而后输出到熵编码单元255的处理单元。在此,说明误差块编码单元254的动作。变换单元218对误差块208进行8×8离散余弦变换(DCT),生成64个变换系数209。量化单元219对变换系数209进行量化,生成误差块信息(量化变换系数)119。
误差块译码单元156是对误差块信息119进行译码并生成译码误差块121的处理单元。在此,说明误差块译码单元156的动作。反量化单元140对量化变换系数119进行反量化,生成译码量化变换系数120。反变换单元141对译码量化变换系数120进行反DCT变换,生成译码误差块121。
接着,加法单元157对预测块118的各像素计算和译码误差块121在空间上位置一致的像素和该像素的加算值,生成译码块122。把生成的译码块122保持在帧存储器153的当前的译码帧610中。最后,熵编码单元255对低分辨块信息102和误差块信息119进行熵编码,多路复用于编码数据101上。
[译码装置的结构]
图28的译码装置是对编码数据101进行译码,以光栅扫描顺序重放8×8译码块122的装置。相当于1个8×8译码块的编码数据101首先被输入到熵译码单元150。熵译码单元150通过熵译码生成低分辨块信息102和误差块信息119。
低分辨块译码单元151是对低分辨块信息102进行译码,生成像素数比译码块的像素数还少的译码低分辨块110的处理单元。在此,说明低分辨块译码单元151的动作。分离单元131把低分辨块信息102分离为差分运动向量103和低分辨误差块信息(低分辨误差块的量化变换系数)107。运动向量预测/译码单元132通过在差分运动向量103的各成分的值上加算预测运动向量的各成分的值来计算运动向量104。预测运动向量例如通过把当前块的左、正上、右上(在帧外的的情况下是左上)的相邻的3块运动向量作为对象根据中央值预测(针对每个成分)进行计算。运动补偿单元133从被保持在帧存储器153中的已译码的译码帧520中,取得与运动向量104对应的块105。块105由缩小处理单元134,如图36所示那样变换为纵横每隔1行抽出了像素的低分辨预测块106。反量化单元136对低分辨误差块的量化变换系数107进行反量化,生成低分辨误差块的译码量化变换系数108。反量化单元137对译码量化变换系数108进行反DCT变换,生成译码低分辨误差块109。加法单元135对低分辨预测块106的各像素,计算和译码低分辨误差块109在空间上位置一致的像素和该像素的加算值,生成译码低分辨块110。
接着,低分辨块分割单元166和图36的块106一样,把译码低分辨块110分割为2×2的低分辨分割块112。各低分辨分割块112被输入到小块预测单元158。
小块预测单元158(相当于图1、图2的152)是使用被保持在帧存储器153中的已译码图像,对每个低分辨分割块112生成4×4的预测小块116的处理单元。在此,说明小块预测单元158的动作。放大运动推断单元138在图35所示的2×2的低分辨分割块112(112a~112d),和与低分辨分割块的4个像素在空间上对应的4个像素(候补缩小预测小块114)之间实施块匹配,检测低分辨分割块的运动向量115(115a~115d)。此时的差分评价值设置成在“低分辨分割块的4个像素”和“在检测的4×4块(候补预测小块113)的16个像素内,和低分辨分割块的4个像素在空间上对应的4个像素(候补缩小预测小块114)”的差分的绝对值和(详细地说使用图32在以后叙述)。只把这样的已译码图像作为输入值的差分评价值因为在译码装置中也可以计算,所以在译码装置中也能够检测和编码装置一样的运动向量。预测小块取得单元139从帧存储器153的译码帧520中取得与低分辨分割块的运动向量115(115a~115d)对应的4×4预测小块116(116a~116d)。
接着,块合并单元155如图35的左侧所示那样合并4个预测小块116a~116d,生成8×8的预测块118(图28)。
误差块译码单元156是对误差块信息(量化变换系数)119进行译码生成译码误差块121的处理单元。在此,说明误差块译码单元156的动作。反量化单元140对量化变换系数119进行反量化,生成译码量化变换系数120。反变换单元141对译码量化变换系数120进行反DCT变换,生成译码误差块121。
接着,加法单元157对预测块118的各像素,计算和译码误差块121在空间上位置一致的像素和该各像素的加算值,生成译码块122。译码块122被保持在帧存储器153的当前的译码帧610中。
[处理流程的说明]
图30表示实现本发明的预测译码的运动图像译码处理流程,图33表示实现本发明的预测编码的运动图像编码处理流程。而且,在图30以及图33中被附加有同样号码的处理是导出同样处理结果的处理。
[运动图像译码处理流程]
用图30中说明实现本发明的预测编码的运动图像译码处理流程。如果开始下一译码块的译码处理(处理401),则首先,通过处理402,把在下一译码块的译码中所需要的1块量的编码数据输入到图28的熵译码单元150。被输入的编码数据在处理403中由熵译码单元150实施熵译码,得到低分辨块信息和误差块信息。其中低分辨块信息在处理404中,用低分辨块译码单元151实施低分辨块译码处理,生成译码低分辨块。
在此,使用图31说明处理404的低分辨块译码处理流程。如果开始低分辨块译码处理(处理421),则首先,分离单元131取得低分辨块信息(处理422),把该低分辨块信息分离为差分运动向量和低分辨误差块信息(处理423)。在处理424中,运动向量预测/译码单元132通过在差分运动向量103的各成分的值上加算预测运动向量的各成分的值来计算(译码)运动向量104。预测运动向量例如通过把当前块的左、正上、右上(在帧之外的情况下是左上)的相邻的3块的运动向量作为对象根据中央值预测(针对每个成分)进行计算。得到的运动向量为了在以后的译码块的译码中进行运动向量预测处理而被保持。
在下一处理425中,运动补偿单元133从被保持在帧存储器153中的已译码的译码帧520中,取得与运动向量104对应的块105。在下一处理426中,已取得的块105由缩小处理单元134如图36所示那样变换为在纵横每隔1行抽出了像素的低分辨预测块106。
在下一处理427中,反量化单元136对低分辨误差块的量化变换系数107进行反量化,生成低分辨误差块的译码量化变换系数108。而后,反变换单元137对译码量化变换系数108进行反DCT变换,生成译码低分辨误差块109。而后,在处理428中,加法单元135对低分辨预测块106的各像素,计算和译码低分辨误差块109在空间上位置一致的像素和该像素的加算值,生成译码低分辨块110,结束低分辨块译码处理(处理429)。
返回图30说明。在处理405中,低分辨块分割单元166把译码低分辨块110分割为2×2的低分辨分割块112。在处理406中,小块预测单元158对4个低分辨分割块112实施小块预测处理。
在此,用图32说明小块预测处理流程。如果开始小块预测处理(处理430),则首先,在处理431中,作为初始值,把评价值E min设定为最大整数值,并设定在分割运动向量的0向量。接着,在处理432中,把低分辨分割块112输入到小块预测单元158。接着在处理434的放大运动推断处理中,用放大运动推断单元138检测低分辨分割块的运动向量。
在该放大运动推断处理中,在帧存储器153的译码帧的查找范围(在纵、横方向上是±16像素)内从其中心(0向量)按照螺旋顺序抽出候补预测小块,检测评价值E min为最低的预测小块位置。更具体地说,在处理4341中,从帧存储器153的译码帧中取得下一候补的预测小块,在处理4342中,已取得的候补预测小块例如和图36的块106一样被变换为低分辨预测块的次元(像素数)。在处理4343中,计算评价值E(“低分辨分割块的4个像素”和“在检索的4×4块的16像素内,和低分辨分割块的4个像素在空间上对应的4个像素”的差分的绝对值和),在处理4344中,判断评价值E是否比评价值E min小。在此,当评价值E比评价值E min小的情况下,在处理4345中,把评价值E min更新为评价值E,分割运动向量被更新为与评价值E对应的分割运动向量。以后,直至查找范围内的全部的候补预测小块的检索结束为止重复进行处理4341~处理4345。最后,在处理435中,预测小块取得单元139通过从帧存储器153的译码帧中取得与评价值E为最小的分割运动向量对应的预测小块,结束小块预测处理(处理436)。通过以上的小块预测处理生成4个预测小块。
返回图30说明。在处理406中生成的4个预测小块在处理407中由块合并单元155合并为预测块。在下一处理408中,误差块译码单元156对误差块信息(量化变换系数)进行译码(反量化/反变换),生成译码误差块。在下一处理409中,对各像素用加法单元157进行预测块和译码误差块的加算,生成译码块。最后,在处理410中,把译码块保持在帧存储器153当前的译码帧中,块译码处理结束(处理411)。
[运动图像编码处理流程]
以下,使用图33说明实现本发明的预测编码的编码对象块的编码处理流程。最初,通过图29的编码块分割单元251分割输入帧201,得到编码对象块202。如果开始编码对象块202的编码处理(处理441),则首先,在处理442中,译码低分辨块生成单元252执行图34的低分辨块编码/译码处理。
以下,用图34说明低分辨块编码/译码处理。如果开始低分辨块编码/译码处理(处理451),则首先,在处理452中,输入其后的编码对象块,在处理453中,从编码对象块和帧存储器的译码帧中检测运动向量。而且,对于这里的运动向量的检测方法,在图29的译码低分辨块生成单元252的构成说明中已进行了说明所以省略。在下一处理454中,从帧存储器的译码帧中取得与运动向量对应的块。在以下处理455中,在预测运动向量生成后,在运动向量和预测运动向量之间对各成分进行减算处理,生成差分运动向量。运动向量和生成的差分运动向量是为了在以后的编码对象块中进行运动向量预测而保持。而且,对于这里的预测运动向量的生成方法,因为已在图29的运行向量预测/编码单元212的构成说明中进行了说明所以省略。在以下的处理456中,编码对象块(预测对象块)例如和图36的块106一样,被变换为低分辨编码对象块(低分辨预测对象块),进而在处理457中,与运动向量对应的块和上述编码对象块(预测对象块)一样,被变换为低分辨预测块。
在处理458中,在低分辨编码对象块(低分辨预测对象块)和低分辨预测块之间对各像素进行减算,生成低分辨误差块。在下一处理459中,进行低分辨误差块的编码(变换/量化),生成低分辨误差块的量化变换系数。在以下的处理427中,进行量化变换系数的译码(反量化/反变换),生成译码低分辨误差块。在以下的处理428中,在低分辨预测块和译码低分辨误差块之间对各像素进行加算,生成译码低分辨块。最后,在处理460中,进行差分运动向量和量化变换系数的合并,生成低分辨块信息,低分辨块编码/译码处理结束(处理461)。
返回图3说明。在处理405中,低分辨块分割单元166把生成的译码低分辨块分割为低分辨分割块。在处理406中,小块预测单元158对分割成的低分辨分割块进行小块预测处理,生成预测小块。而且,在此,有关小块预测处理(图32)因为已进行了说明,故省略其说明。
在处理407中,块合并单元155把生成的预测小块合并为预测块。在下一处理443中,减法单元253在编码对象块和预测块之间实施各像素的减算处理,生成误差块。在下一处理444中,误差块编码单元254进行误差块编码(变换/量化),生成误差块信息(量化变换系数)。在以下的处理408中,误差块译码单元156进行误差块信息(量化变换系数)的译码(反量化/反变换),生成译码误差块。在下一处理409中,加法单元157在预测块和译码误差块之间实施各像素的加算处理,生成译码块。而后,在处理410中,在把生成的译码块保持在帧存储器153当前的译码帧中后,在处理445中,熵编码单元255进行低分辨块信息和误差块信息的熵编码,而后块编码处理结束(处理446)。
[计算机系统的构成例子]
图16用于说明使用存储有与上述实施方式的图像编码处理有关的运动图像编码程序、与图像译码处理有关的运动图像译码程序的软盘等的存储介质,通过计算机系统实施时的图。
图16(b)表示从软盘的正面看的外观、断面构造以及软盘,图16(a)表示作为记录介质主体的软盘的物理格式的例子。软盘FD被内置于壳F内,在该盘的表面上以同心圆形状从外周向内周形成多条磁道Tr,各磁道在角度方向上被分割为16个扇区Se。因而,在存储有上述程序的软盘中,在分配给上述软盘FD上的区域上记录着作为上述程序的数据。
另外,图16(c)表示用于在软盘FD上进行上述程序的记录重放的构成。当把上述程序记录在软盘FD上的情况下,从计算机系统Cs中把作为上述程序的数据经由软盘驱动器写入。另外,当用软盘内的程序在计算机系统中构筑上述编码装置或者译码装置的情况下,用软盘驱动器从软盘中读出程序,转送到计算机系统。
而且,在上述说明中,作为数据记录介质使用软盘进行了说明,但即使使用光盘也同样可以进行。另外,记录介质并不限于此,只要是IC卡、ROM盒等能够记录程序的介质,就可以同样地实施。另外作为计算机,包含具备CPU采用软件进行处理和控制的DVD机、机顶盒、手机等。
以下,说明运动图像译码程序以及运动图像编码程序的构成。
如图37所示,运动图像译码程序161被存储在形成于记录介质160上的程序存储区域160a内。运动图像译码程序161的构成具备:综合控制运动图像译码处理的主模块161a;用于执行图28的熵译码单元150的动作的熵译码模块161b;用于执行图28的低分辨块译码单元151的动作的低分辨块译码模块161c;用于执行图28的低分辨块分割单元166的动作的低分辨块分割模块161h;用于执行图28的小块预测单元158的动作的小块预测模块161i;用于执行图28的块合并单元155的动作的块合并模块161g。
如图38所示,运动图像编码程序261被存储在形成于记录介质260上的程序存储区域260a内。运动图像编码程序261的构成具备:综合控制运动图像编码处理的主模块261a;用于执行图29的编码块分割单元251的动作的编码块分割模块261b;用于执行图29的译码低分辨块生成单元252的动作的译码低分辨块生成模块261c;用于执行图29的低分辨块分割单元166的动作的低分辨块分割模块261h;用于执行图29的小块预测单元158的动作的小块预测模块261i;用于执行图29的块合并单元155的动作的块合并模块261g。
而且,上述运动图像译码程序161的构成还可以是其一部分或者全部经由通信线路等的传送介质传送,用其他设备接收并记录(包含安装)。同样,运动图像编码程序261的构成也可以是其一部分或者全部经由通信线路等的传送介质传送,用其他的设备接收并记录(包含安装)。
[各种变形形态的说明]
以上说明了本发明的实施方式,但也可以进行以下那样的变形,所有形态都包含在本发明中。
(1)与预测方法有关的变形形态
在以上说明中,作为预测方法说明了限定于时间方向的预测,但对于使用编码对象块(预测对象块)或者与译码块在同一帧内的经过了译码的已译码图像的在空间方向的预测也可以适用同样的方法。即,以上述译码的分辨块为基础,在对再分割了该译码低分辨块的低分辨分割块使用同一帧内的相邻的已译码的像素,从例如,H.264(“Textof ISO/IEC 14496-10 Advanced Video Coding 3rd Edition”,September 2004.)的多个内部预测模式中确定了最佳的模式后,对与该译码低分辨块相当的高分辨度信号的块进行预测的情况等也包含在本发明中。这种情况下,因为不需要明示性地传送各低分辨分割块的预测模式,所以具有以少的辅助信息就能够高精度地预测对象块的良好的效果。另外,通过组合上述的时间方向的预测和空间方向的预测也可以进行高精度的预测。
(2)与误差块的编码有关的变形形态
对预测块和编码对象块之间的误差块进行编码不是必须的。即,误差块编码单元254(图29)和误差块译码单元156(图28和图29)的处理可以省略。另外,还可以对每个编码对象块或者译码块确定编码的有无。另外,对于误差块以及低分辨误差块的具体的编码/译码方法,并不限于上述的方法。
(3)与多个预测模式的编码有关的变形形态
在上述的实施方式中,把适用于编码对象块的编码处理的预测方法只作为本发明的预测方法,而对于未进行编码对象块的缩小的以往的编码方法来说,也可以适用本发明的预测方法。
(4)与块大小有关的变形形态
在以上说明中,是把编码对象块(预测对象块)以及译码块的大小设置成8×8,把低分辨块的大小设置成4×4,把低分辨分割块设置成2×2,但本发明的预测编码并不限于这些尺寸。例如,把编码对象块以及译码块的大小设置成和H.264一样的16×16,把低分辨块设置成8×8,把低分辨分割块设置成2×2等,进一步比4分割更细致地分割低分辨块的情况本发明也有效。同样,实施变换/量化的块大小也未被限定。例如,如图H.264那样,把误差块分割为4×4块,以4×4块为单位进行变换/量化也行。
(5)与缩小方法有关的变形形态
在以上说明中,如图36所示,把缩小处理设置成在纵/横方向上间隔剔除1行的方法,但块的缩小处理并不限于此方法。例如,低分辨块如果在编码装置和译码装置之间预先确定,则可以设置成像素数比译码块(编码对象块,预测对象块)还少的任意的形状,还包含把图36的块106的各像素在纵横方向上错开1个像素的块(图36的块1060),和具有图36的块106的像素和块1060的像素双方的块1062等。另外,可以适用在对块实施了低通滤波处理后在纵横方向上减少取样(down sampling)的方法,和对4个相邻像素进行平均而变换为1个像素的方法等,适用于图像缩小的各种方法。
(6)与缩小处理的实施顺序有关的变形形态
缩小处理单元可以省略。例如,缩小处理单元的功能在包含于运动补偿单元和放大运动推断单元中的情况下,和能够进行在评价中不包含不属于低分辨块的像素的处理的情况下,不需要缩小处理单元。另外,所谓采用低分辨块译码单元的缩小处理和采用低分辨预测块生成单元的缩小处理如果在译码装置和编码装置之间预先规定,则也可以使用不同的方法。
(7)与放大运动推断有关的变形形态
在运动推断处理中的查找范围、查找顺序以及查找开始点并不限定与上述的方法。查找范围如果在编码装置和译码装置中预先规定,则能够设定的任意的范围。对于查找顺序也一样,例如,并不只是从中心开始螺旋检索,也可以适用从左上向右下按照光栅扫描顺序检索查找范围的方法等。对于检索开始点来说,也不只是0向量,例如还可以把预测向量作为中心设定查找范围。另外,对于运动推断/运动补偿方法也不限定于检测运动向量的块匹配,即使是用仿射参数和透视投影变换参数等的运动参数进行块内像素的预测值的计算的方法,本发明也可以适用。在这种情况下,不需要传送用小块预测单元检测到的运动参数。第1实施例的小块预测也同样不限定于块匹配。
(8)与分离单元、合并单元有关的变形形态
图28的分离单元131以及图29的合并单元216不是必须的。例如,在图28中,运动向量预测/译码单元132和反量化单元136可以直接从熵译码单元150接收数据。在图29中,可以从运动向量预测/编码单元212和量化单元215中直接把数据输出到熵编码单元255。
Claims (17)
1.一种运动图像编码装置,是以块为单位生成预测块的运动图像编码装置,其特征在于包括:
保持已译码图像的保持部件;
第1分割部件,把已输入的编码对象图像分割为多个预测对象块;
生成部件,在把上述预测对象块变换以及编码为像素数比该预测对象块的像素数还少的低分辨块后,通过译码该低分辨块的编码数据,生成译码低分辨块;
放大部件,把上述生成的译码低分辨块放大为和上述预测对象块相同像素数的块;
第2分割部件,通过基于规定的分割规则分割上述被放大了的块,生成多个小块;
预测部件,使用上述已译码图像和上述生成的小块,通过基于从上述已译码图像得到的运动向量设定查找范围,生成该小块的预测小块;
合并部件,通过基于上述分割规则合并上述已生成的多个预测小块,生成预测块。
2.根据权利要求1所述的运动图像编码装置,其特征在于还包括:
第3分割部件,把上述编码对象图像分割为编码对象块;
减算部件,以像素为单位进行上述被分割的编码对象块和上述预测块的减算来生成误差块;
编码部件,对上述所生成的误差块进行编码;
译码部件,对上述已编码的编码数据进行译码,生成译码误差块;
输出部件,以像素为单位进行上述预测块和上述译码误差块的加算而生成译码块,把该译码块输出到上述保持部件。
3.根据权利要求1所述的运动图像编码装置,其特征在于:
上述放大部件使用上述所生成的译码低分辨块的像素和与预测对象块的上边以及左边相邻的已译码块的像素,生成和上述预测对象块同样像素数的块。
4.根据权利要求1所述的运动图像编码装置,其特征在于:
上述生成部件的构成包含:
基于规定的变换规则把上述预测对象块变换为像素数比该预测对象块的像素数还少的低分辨预测对象块的部件;
生成低分辨预测块的低分辨预测块生成部件;
以像素为单位进行上述低分辨预测对象块和上述低分辨预测块的减算而生成低分辨误差块的部件;
在进行该低分辨误差块的编码后,通过对上述低分辨误差块的编码数据进行译码而生成译码低分辨误差块的部件;
以像素为单位进行上述译码低分辨误差块和上述低分辨预测块的加算,复原上述低分辨块的部件,
上述低分辨预测块生成部件的构成包含:
生成和上述预测块像素数相同的第2预测块的部件;
基于上述变换规则从该第2预测块中生成上述低分辨预测块的部件,
上述生成部件的构成还包含:当上述低分辨误差块内的全部的差分像素值为零的情况下,把上述第2预测块作为上述预测块进行输出的部件。
5.一种运动图像译码装置,是以块为单位生成预测块的运动图象译码装置,其特征在于包括:
保持已译码图像的保持部件;
译码部件,将已输入的编码数据进行译码,生成像素数比预测块像素数还少的低分辨块;
放大部件,把上述已生成的低分辨块放大为和上述预测块同样像素数的块;
分割部件,通过基于规定的分割规则分割该被放大的块,生成多个小块;
预测部件,使用上述已译码图像和上述分割后的小块,通过基于从上述已译码图像得到的运动向量设定查找范围,生成该小块的预测块;
合并部件,通过基于上述分割规则合并该已生成的多个预测小块,生成预测块。
6.根据权利要求5所述的运动图像译码装置,其特征在于还包括:
生成部件,译码上述编码数据,生成误差块;
输出部件,以像素为单位加算上述预测块和上述误差块而生成译码块,把该译码块输出到上述保持部件。
7.根据权利要求5所述的运动图像译码装置,其特征在于:
上述放大部件使用上述已生成的低分辨块的像素和与预测块的上边以及左边相邻的已译码块的像素,生成和上述预测块同样像素数的块。
8.根据权利要求5所述的运动图像译码装置,其特征在于:
上述译码部件的构成包含:
对上述已输入的编码数据进行译码并对低分辨误差块进行译码的部件;
生成低分辨预测块的低分辨预测块生成部件;
以像素为单位加算上述低分辨误差块和上述低分辨预测块而生成上述低分辨块的部件,
上述低分辨预测块生成部件的构成包含:
生成和上述预测块同样像素数的第2预测块的部件;
基于规定的规则从该第2预测块中生成上述低分辨预测块的部件,
上述译码部件的构成还包含:
当上述低分辨误差块内的全部的差分像素值为零的情况下,把上述第2预测块作为上述预测块输出的部件。
9.一种运动图像编码方法,是使用已译码图像并以块为单位生成预测块的运动图像编码方法,其特征在于包括:
第1分割步骤,把已输入的编码对象的图像分割为多个预测对象块;
生成步骤,把上述预测对象块变换以及编码为像素数比该预测对象块的像素数还少的低分辨块后,通过对该低分辨块的编码数据进行译码,生成译码低分辨块;
放大步骤,把上述已生成的译码低分辨块放大为和上述预测对象块同样像素数的块;
第2分割步骤,通过基于规定的分割规则分割上述已放大的块,生成多个小块;
预测步骤,使用上述已译码图像和上述已生成的小块,通过基于从上述已译码图像得到的运动向量设定查找范围,生成该小块的预测小块;
合并步骤,通过基于上述分割规则合并上述已生成的多个预测小块,生成预测块。
10.一种运动图像译码方法,是使用已译码图像并以块为单位生成预测块的运动图像译码方法,其特征在于包括:
译码步骤,对已输入的编码数据进行译码,生成像素数比预测块像素数还少的低分辨块;
放大步骤,把上述已生成的低分辨块放大为和上述预测块同样像素数的块;
分割步骤,通过基于规定的分割规则分割该已放大的块,生成多个小块;
预测步骤,使用上述已译码图像和上述被分割的小块,通过基于从上述已译码图像得到的运动向量设定查找范围,生成该小块的预测小块;
合并步骤,通过基于上述分割规则合并上述生成的多个预测小块,生成预测块。
11.一种运动图像译码装置,是以规定的块为单位对成为译码对象的编码数据进行译码,生成预测块的运动图像译码装置,其特征在于包括:
保持已译码图像的保持部件;
熵译码部件,通过对已输入的编码数据进行熵译码,生成像素数比上述译码块的像素数还少,并且编码了和该译码块在时间/空间上处于同一位置的低分辨块的低分辨块信息;
低分辨块译码部件,对由上述熵译码部件生成的低分辨块信息进行译码,参照上述已译码图像,生成上述低分辨块;
低分辨块分割部件,通过基于规定的分割规则分割由上述低分辨块译码部件生成的低分辨块,生成多个低分辨分割块;
预测小块生成部件,根据被保持在上述保持部件上的已译码图像,和由上述低分辨块分割部件生成的低分辨分割块,通过基于从上述已译码图像得到的运动向量设定查找范围,生成像素数比该低分辨分割块像素数还多,并且和该低分辨分割块在时间/空间上处于同一位置的预测小块;
块合并部件,通过基于与上述分割规则相对应的规定的合并规则合并由上述预测小块生成部件生成的预测小块,生成预测块。
12.根据权利要求11所述的运动图像译码装置,其特征在于:
上述熵译码部件通过对上述编码数据进行熵译码,进一步生成包含在该编码数据中表示编码对象块和预测块的误差的误差块信息,
上述运动图像译码装置还包括:
误差块译码部件,通过对由上述熵译码装置生成的误差块信息进行译码,生成误差块;
译码块生成部件,基于由上述块合并部件生成的预测块,和由上述误差块译码部件生成的误差块,生成译码块。
13.一种图像编码装置,是以规定的块为单位对成为编码对象的图像进行编码,生成预测块的运动图像编码装置,其特征在于包括:
保持已译码图像的保持部件;
编码块分割部件,把已输入的图像分割为多个编码对象块;
译码低分辨块生成部件,通过对像素数比由上述编码块分割部件分割的编码对象块的像素数还少,并且和该编码对象块在时间/空间上处于同一位置的低分辨块进行编码,生成低分辨块信息,对该低分辨块信息进行译码,参照上述已译码图像,生成译码低分辨块;
低分辨分割块分割部件,通过基于规定的分割规则分割由上述译码低分辨块生成部件生成的译码低分辨块,生成多个低分辨分割块;
预测小块生成部件,根据被保持在上述保持部件中的已译码图像,和由上述低分辨块分割部件生成的低分辨分割块,通过基于从上述已译码图像得到的运动向量设定查找范围,生成像素数比该低分辨分割块的像素数还多,并且和该低分辨分割块在时间/空间上处于同一位置的预测小块;
块合并部件,通过基于与上述分割规则相对应的规定的合并规则合并由上述预测小块生成部件生成的预测小块,生成预测块。
14.根据权利要求13所述的运动图像编码装置,其特征在于还包括:
误差块生成部件,通过以像素为单位求由上述编码块分割部件分割的编码块,和用上述块合并部件生成的预测块的误差,生成表示该误差的误差块;
误差块编码部件,通过对由上述误差块生成部件生成的误差块进行编码,生成误差块信息;
误差块译码部件,通过对由上述误差块编码部件生成的误差块信息进行译码,生成译码误差块;
译码块生成部件,基于由上述块合并部件生成的预测块,和由上述误差块译码部件生成的译码误差块,生成译码块。
15.根据权利要求14所述的运动图像编码装置,其特征在于还包括:
熵编码部件,对由上述译码低分辨块生成部件生成的低分辨块信息以及由上述误差块编码部件生成的误差块信息进行熵编码,生成编码数据。
16.一种运动图像译码方法,是在具备保持已译码图像的保持部件,以规定的块为单位对成为译码对象的编码数据进行译码,生成预测块的运动图像译码装置中的运动图像译码方法,其特征在于包括:
熵译码步骤,通过对已输入的译码对象的编码数据进行熵译码,生成对像素数比上述译码块的像素数还少,并且和该译码块在时间/空间上处于同一位置的低分辨块进行了编码的低分辨块信息;
低分辨块译码步骤,对在上述熵译码步骤中生成的低分辨块信息进行译码,参照上述已译码图像,生成上述低分辨块;
低分辨块分割步骤,通过基于规定的分割规则分割在上述低分辨块译码步骤中生成的低分辨块,生成多个低分辨分割块;
预测小块生成步骤,根据被保持在上述保持部件中的已译码图像,和在上述低分辨块分割步骤中生成的低分辨分割块,通过基于从上述已译码图像得到的运动向量设定查找范围,生成像素数比该低分辨分割块的像素数还多,并且和该低分辨分割块在时间/空间上处于同一位置的预测小块;
块合并步骤,基于与上述分割规则相对应的规定的合并规则合并在上述预测小块生成步骤中生成的预测小块,生成预测块。
17.一种运动图像编码方法,是在具备保持已译码图像的保持部件,以规定的块为单位对成为编码对象的图像进行编码,生成预测块的运动图像编码装置中的运动图像编码方法,其特征在于包括:
编码块分割步骤,把已输入的编码对象的图像分割为多个编码对象块;
译码低分辨块生成步骤,通过编码像素数比在上述编码块分割步骤中分割出的编码对象块还少,并且和该编码对象块在时间/空间上处于同一位置的低分辨块,生成低分辨块信息,对该低分辨块信息进行译码,参照上述已译码图像,生成译码低分辨块;
低分辨块分割步骤,通过基于规定的分割规则分割在上述译码低分辨块生成步骤中生成的多个低分辨块,生成多个低分辨分割块;
预测小块生成步骤,根据被保持在上述保持部件中的已译码图像,和在上述低分辨块分割步骤中生成的低分辨分割块,通过基于从上述已译码图像得到的运动向量设定查找范围,生成像素数比低分辨分割块的像素数还多,并且和该低分辨分割块在时间/空间上处于同一位置的预测小块;
块合并步骤,通过基于与上述分割规则相对应的规定的合并规则合并在上述预测小块生成步骤中生成的预测小块,生成预测块。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005002992 | 2005-01-07 | ||
JP2005002992 | 2005-01-07 | ||
JP2005126461 | 2005-04-25 | ||
JP2005375721 | 2005-12-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1801946A CN1801946A (zh) | 2006-07-12 |
CN100471280C true CN100471280C (zh) | 2009-03-18 |
Family
ID=36811655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610005713 Expired - Fee Related CN100471280C (zh) | 2005-01-07 | 2006-01-06 | 运动图像编码及译码装置、方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100471280C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103733625A (zh) * | 2011-06-14 | 2014-04-16 | 三星电子株式会社 | 用于对运动信息进行编码的方法和设备以及用于对运动信息进行解码的方法和设备 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI468020B (zh) * | 2009-02-19 | 2015-01-01 | Sony Corp | Image processing apparatus and method |
US8761239B2 (en) * | 2009-06-01 | 2014-06-24 | Panasonic Corporation | Image coding apparatus, method, integrated circuit, and program |
SG187094A1 (en) * | 2010-07-20 | 2013-03-28 | Ntt Docomo Inc | Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program |
CN107071438B (zh) | 2010-10-08 | 2020-09-01 | Ge视频压缩有限责任公司 | 编码器和编码方法与解码器和解码方法 |
BR122015001004B1 (pt) | 2011-06-30 | 2022-07-26 | Sony Corporation | Dispositivo e método de processamento de imagem |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6130912A (en) * | 1998-06-09 | 2000-10-10 | Sony Electronics, Inc. | Hierarchical motion estimation process and system using block-matching and integral projection |
CN1337123A (zh) * | 1997-08-13 | 2002-02-20 | 大宇电子株式会社 | 自适应运动估测方法及装置 |
CN1492690A (zh) * | 2002-09-24 | 2004-04-28 | 松下电器产业株式会社 | 图像编码方法以及图像编码装置 |
-
2006
- 2006-01-06 CN CN 200610005713 patent/CN100471280C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1337123A (zh) * | 1997-08-13 | 2002-02-20 | 大宇电子株式会社 | 自适应运动估测方法及装置 |
US6130912A (en) * | 1998-06-09 | 2000-10-10 | Sony Electronics, Inc. | Hierarchical motion estimation process and system using block-matching and integral projection |
CN1492690A (zh) * | 2002-09-24 | 2004-04-28 | 松下电器产业株式会社 | 图像编码方法以及图像编码装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103733625A (zh) * | 2011-06-14 | 2014-04-16 | 三星电子株式会社 | 用于对运动信息进行编码的方法和设备以及用于对运动信息进行解码的方法和设备 |
CN103733625B (zh) * | 2011-06-14 | 2017-04-05 | 三星电子株式会社 | 用于对运动矢量进行解码的方法 |
US10264276B2 (en) | 2011-06-14 | 2019-04-16 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding motion information and method and apparatus for decoding same |
US10623766B2 (en) | 2011-06-14 | 2020-04-14 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding motion information and method and apparatus for decoding same |
US10972748B2 (en) | 2011-06-14 | 2021-04-06 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding motion information and method and apparatus for decoding same |
US11595684B2 (en) | 2011-06-14 | 2023-02-28 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding motion information and method and apparatus for decoding same |
Also Published As
Publication number | Publication date |
---|---|
CN1801946A (zh) | 2006-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2699404C1 (ru) | Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения | |
CN101283600B (zh) | 参考图像选择方法以及装置 | |
CN100471280C (zh) | 运动图像编码及译码装置、方法 | |
CN102047665B (zh) | 运动图像编码方法以及运动图像解码方法 | |
CN103314593B (zh) | 错误恢复改进的视频编码和解码 | |
CN103748880B (zh) | 图像序列的编码方法和装置及图像序列的解码方法和装置 | |
RU2608264C2 (ru) | Способ и устройство для кодирования/декодирования вектора движения | |
CN103024382B (zh) | 动态图像编码装置、方法以及动态图像解码装置、方法 | |
CN102934440B (zh) | 用于处理视频信号的方法和设备 | |
CN100361536C (zh) | 图像预测编码/解码装置和方法以及记录媒体 | |
CN101573984B (zh) | 用于使用多个运动矢量预测因子来估计运动矢量的方法和设备,编码器、解码器和解码方法 | |
US7822119B2 (en) | Image encoding apparatus, image encoding method, image encoding program, image decoding apparatus, image decoding method, and image decoding program | |
RU2514929C2 (ru) | Способ и устройство для кодирования и декодирования вектора движения | |
CN105430389A (zh) | 图像解码装置、图像解码方法、接收装置及接收方法 | |
CN100571400C (zh) | 图像编码装置及图像编码方法 | |
CN103747256A (zh) | 图像预测编码装置、图像预测解码装置、图像预测编码方法 | |
CN103430547A (zh) | 动图像编码装置、动图像编码方法及动图像编码程序、及动图像解码装置、动图像解码方法及动图像解码程序 | |
CN101218829A (zh) | 动态图像编码装置、动态图像编码方法、动态图像编码程序、动态图像解码装置、动态图像解码方法以及动态图像解码程序 | |
CN105338364A (zh) | 图像预测解码装置、图像预测解码方法 | |
AU2020201377B2 (en) | Video prediction encoding device, video prediction encoding method, video prediction encoding program, video prediction decoding device, video prediction decoding method, and video prediction decoding program | |
CN1925616B (zh) | 一种宏块对级帧场自适应编解码方法 | |
JP4957780B2 (ja) | 動き補償予測符号化装置、動き補償予測符号化方法及びプログラム | |
WO2011062082A1 (ja) | 動画像符号化装置および動画像復号装置 | |
CN101971638A (zh) | 基于运动补偿残差的时间搜索范围预测 | |
CN105516650A (zh) | 用于检测运动对象的设备和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090318 Termination date: 20200106 |