CN118018758A - 动图像编码装置和方法、以及动图像解码装置和方法 - Google Patents
动图像编码装置和方法、以及动图像解码装置和方法 Download PDFInfo
- Publication number
- CN118018758A CN118018758A CN202410241316.3A CN202410241316A CN118018758A CN 118018758 A CN118018758 A CN 118018758A CN 202410241316 A CN202410241316 A CN 202410241316A CN 118018758 A CN118018758 A CN 118018758A
- Authority
- CN
- China
- Prior art keywords
- motion information
- prediction
- motion vector
- history
- candidate list
- 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
- 238000000034 method Methods 0.000 title claims abstract description 167
- 238000009795 derivation Methods 0.000 claims description 99
- 230000005540 biological transmission Effects 0.000 claims description 3
- 239000013598 vector Substances 0.000 description 608
- 238000012545 processing Methods 0.000 description 272
- 230000008569 process Effects 0.000 description 97
- 238000010586 diagram Methods 0.000 description 45
- 238000012217 deletion Methods 0.000 description 36
- 230000037430 deletion Effects 0.000 description 36
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 29
- 230000009466 transformation Effects 0.000 description 27
- 238000013139 quantization Methods 0.000 description 25
- 238000012986 modification Methods 0.000 description 20
- 230000004048 modification Effects 0.000 description 20
- 230000002123 temporal effect Effects 0.000 description 20
- 230000002441 reversible effect Effects 0.000 description 19
- 230000001502 supplementing effect Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004321 preservation Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请涉及动图像编码装置和方法、以及动图像解码装置和方法。为了提供低负载且高效率的编码技术,动图像解码装置的特征在于,包括:空间运动信息候选导出部,根据空间上与编码对象块接近的块的运动信息导出空间运动信息候选;以及历史运动信息候选导出部,从保持已编码块的运动信息的存储器中导出历史运动信息候选,历史运动信息候选导出部不进行与所述空间运动信息候选的运动信息的比较而优先导出旧的运动信息。
Description
本申请是基于申请号为201980044824.X,申请日为2019年12月20日,名称为“动图像编码装置、动图像编码方法、动图像编码程序、动图像解码装置、动图像解码方法以及动图像解码程序”的发明专利申请的分案申请。
技术领域
本发明涉及将图像分割为块并进行预测的图像编码和解码技术。
背景技术
在图像编码和解码中,将作为处理对象的图像分割为预定数量的像素集合、即块,以块为单位进行处理。通过分割成适当的块,适当地设定画面内预测(帧内预测)、画面间预测(帧间预测),编码效率得以提高。
在动图像的编码/解码中,通过根据已编码/解码的图片进行预测的帧间预测来提高编码效率。专利文献1记载有在帧间预测时应用仿射变换的技术。在动图像中,伴有物体放大、缩小、旋转这样的变形的情况并不少见,通过应用专利文献1的技术,能够进行高效率的编码。
现有技术文献
专利文献
专利文献1:日本特开平9-172644号公报。
发明内容
但是,由于专利文献1的技术伴有图像的变换,因此存在处理负载庞大的问题。本发明鉴于上述课题,提供一种低负载且高效率的编码技术。
为了解决上述课题,本发明的某方式的动图像编码装置包括:空间运动信息候选导出部,根据空间上与编码对象块接近的块的运动信息导出空间运动信息候选;以及历史运动信息候选导出部,从保持已编码块的运动信息的存储器中导出历史运动信息候选,所述历史运动信息候选导出部不进行与所述空间运动信息候选之间的运动信息的比较而优先导出旧的运动信息。
另外,本发明的其他方式的动图像编码方法包括:第一过程,根据空间上与编码对象块接近的块的运动信息导出空间运动信息候选;以及第二过程,从保持已编码块的运动信息的存储器中导出历史运动信息候选,在所述第二过程中,不进行与所述空间运动信息候选之间的运动信息的比较而优先导出旧的运动信息。
另外,本发明的其他方式的动图像编码程序用于使计算机作为如下部件来动作:空间运动信息候选导出部,根据空间上与编码对象块接近的块的运动信息导出空间运动信息候选;以及历史运动信息候选导出部,从保持已编码块的运动信息的存储器中导出历史运动信息候选,所述历史运动信息候选导出部不进行与所述空间运动信息候选之间的运动信息的比较而优先导出旧的运动信息。
另外,本发明的其他方式的图像解码装置包括:空间运动信息候选导出部,根据空间上与解码对象块接近的块的运动信息导出空间运动信息候选;以及历史运动信息候选导出部,从保持已解码块的运动信息的存储器中导出历史运动信息候选,所述历史运动信息候选导出部不进行与所述空间运动信息候选之间的运动信息的比较而优先导出旧的运动信息。
另外,本发明的其他方式的图像解码方法包括:第一过程,根据空间上与解码对象块接近的块的运动信息导出空间运动信息候选;以及第二过程,从保持已解码块的运动信息的存储器中导出历史运动信息候选,在所述第二过程中,不进行与所述空间运动信息候选之间的运动信息的比较而优先导出旧的运动信息。
另外,本发明的其他方式的图像解码程序用于使计算机作为如下部件来动作:空间运动信息候选导出部,根据空间上与解码对象块接近的块的运动信息导出空间运动信息候选;以及历史运动信息候选导出部,从保持已解码块的运动信息的存储器中导出历史运动信息候选,所述历史运动信息候选导出部不进行与所述空间运动信息候选之间的运动信息的比较而优先导出旧的运动信息。
根据本发明,能够以低负载实现高效率的图像编码/解码处理。
附图说明
图1是本发明实施方式涉及的图像编码装置的框图;
图2是本发明实施方式涉及的图像解码装置的框图;
图3是用于说明分割树块的动作的流程图;
图4是示出将输入的图像分割为树块的情形的图;
图5是说明z-扫描的图;
图6A是示出块的分割形状的图;
图6B是示出块的分割形状的图;
图6C是示出块的分割形状的图;
图6D是示出块的分割形状的图;
图6E是示出块的分割形状的图;
图7是用于说明对块进行4分割的动作的流程图;
图8是用于说明对块进行2分割或3分割的动作的流程图;
图9是用于描述块分割的形状的句法;
图10A是用于说明帧内预测的图;
图10B是用于说明帧内预测的图;
图11是用于说明帧间预测的参考块的图;
图12用于描述编码块预测模式的句法;
图13是示出与帧间预测相关的句法元素与模式间的对应关系的图;
图14是用于说明控制点为两点的仿射变换运动补偿的图;
图15是用于说明控制点为三点的仿射变换运动补偿的图;
图16是图1的帧间预测部102的详细结构的框图;
图17是图16的通常预测运动矢量模式导出部301的详细结构的框图;
图18是图16的通常合并模式导出部302的详细结构的框图;
图19是用于说明图16的通常预测运动矢量模式导出部301的通常预测运动矢量模式导出处理的流程图;
图20是表示通常预测运动矢量模式导出处理的处理步骤的流程图;
图21是说明通常合并模式导出处理的处理步骤的流程图;
图22是图2的帧间预测部203的详细结构的框图;
图23是图22的通常预测运动矢量模式导出部401的详细结构的框图;
图24是图22的通常合并模式导出部402的详细结构的框图;
图25是用于说明图22的通常预测运动矢量模式导出部401的通常预测运动矢量模式导出处理的流程图;
图26是说明历史预测运动矢量候选列表初始化/更新处理步骤的图;
图27是在历史预测运动矢量候选列表初始化/更新处理步骤中的、相同要素确认处理步骤的流程图;
图28是在历史预测运动矢量候选列表初始化/更新处理步骤中的要素移位处理步骤的流程图;
图29是说明历史预测运动矢量候选导出处理步骤的流程图;
图30是说明历史合并候选导出处理步骤的流程图;
图31A是用于说明历史预测运动矢量候选列表更新处理的一例的图;
图31B是用于说明历史预测运动矢量候选列表更新处理的一例的图;
图31C是用于说明历史预测运动矢量候选列表更新处理的一例的图;
图32是用于说明在L0预测中L0的参考图片(RefL0Pic)处于处理对象图片(CurPic)之前的时刻的情况下的运动补偿预测的图;
图33是用于说明在L0预测中L0预测的参考图片处于处理对象图片之后的时刻的情况下的运动补偿预测的图;
图34是用于说明双预测中L0预测的参考图片处于处理对象图片之前的时刻、L1预测的参考图片处于处理对象图片之后的时刻的情况下的运动补偿预测的预测方向的图;
图35是用于说明双预测中L0预测的参考图片和L1预测的参考图片处于处理对象图片之前的时刻的情况下的运动补偿预测的预测方向的图;
图36是用于说明双预测中L0预测的参考图片和L1预测的参考图片处于处理对象图片之后的时刻的情况下的运动补偿预测的预测方向的图;
图37是用于说明本发明实施方式的编码解码装置的硬件结构的一例的图;
图38是说明在从旧的运动信息向新添加的运动信息依次参考的同时利用历史预测运动矢量候选列表、且不进行相同候选删除处理的情况下的、历史预测运动矢量候选导出处理步骤的流程图;
图39是历史预测运动矢量候选列表的要素移位/添加处理步骤的流程图;
图40是说明在从旧的运动信息向新添加的运动信息依次参考的同时利用历史预测运动矢量候选列表、且不进行相同候选删除处理的情况下的历史合并候选导出处理步骤的流程图;
图41是用于说明历史预测运动矢量候选列表的构成的图;
图42是用于说明向历史预测运动矢量候选列表添加时的、删除开头要素的情形的图;
图43是用于说明向历史预测运动矢量候选列表添加时的、在列表内移位各要素的情形的图;
图44是用于说明向历史预测运动矢量候选列表添加时的、添加新的要素的情形的图;
图45是用于说明历史预测运动矢量候选列表的参考顺序的图;
图46是用于说明历史预测运动矢量候选列表的参考顺序的图;
图47是说明在以与保存顺序相反的顺序参考的同时利用历史预测运动矢量候选列表、且不进行相同候选删除处理的情况下的历史预测运动矢量候选导出处理步骤的流程图;
图48是说明在以与保存顺序相反的顺序参考的同时利用历史预测运动矢量候选列表、且不进行相同候选删除处理的情况下的历史预测运动矢量候选导出处理步骤的流程图。
具体实施方式
定义在本实施方式中使用的技术及技术用语。
<树块>
在实施方式中,以预定的大小对编码/解码处理对象图像进行均等分割。将此单位定义为树块。在图4中,将树块的尺寸设为128×128像素,但树块的尺寸并不限定于此,可以设定任意的尺寸。作为处理对象(在编码处理中对应于编码对象,在解码处理中对应于解码对象。)的树块按照光栅扫描顺序,即从左到右、从上到下的顺序切换。各树块的内部可以进行进一步的递归分割。将在对树块进行递归分割之后的、成为编码/解码对象的块定义为编码块。另外,将树块、编码块统称定义为块。通过进行适当的块分割,能够进行高效率的编码。树块的尺寸可以是在编码装置和解码装置中设为预先决定的固定值,也可以采用将编码装置决定的树块的尺寸传送到解码装置的结构。这里,将树块的最大尺寸设为128×128像素,将树块的最小尺寸设为16×16像素。另外,将编码块的最大尺寸设为64×64像素,将编码块的最小尺寸设为4×4像素。
<预测模式>
以处理对象编码块为单位,切换帧内预测(MODE_INTRA)和帧间预测(MODE_INTER),该帧内预测(MODE_INTRA)根据处理对象图像的已处理图像信号进行预测,该帧间预测根据已处理图像的图像信号进行预测。
已处理图像用于将在编码处理中完成了编码的信号进行解码而得到的图像、图像信号、树块、块、编码块等,并用于在解码处理中完成了解码的图像、图像信号、树块、块、编码块等。
将识别该帧内预测(MODE_INTRA)和帧间预测(MODE_INTER)的模式定义为预测模式(PredMode)。预测模式(PredMode)以值的形式表现帧内预测(MODE_INTRA)或帧间预测(MODE_INTER)。
<帧间预测>
在根据已处理图像的图像信号进行预测的帧间预测中,能够将多个已处理图像用作参考图片。为了管理多个参考图片,定义L0(参考列表0)和L1(参考列表1)这两种参考列表,分别使用参考索引来确定参考图片。在P条带(P slice)中,能够使用L0预测(Pred_L0)。在B条带(B slice)中,能够使用L0预测(Pred_L0)、L1预测(Pred_L1)、双预测(Pred_BI)。L0预测(Pred_L0)是参考由L0管理的参考图片的帧间预测,并且L1预测(Pred_L1)是参考由L1管理的参考图片的帧间预测。双预测(Pred_BI)是同时执行L0预测和L1预测并且参考由L0和L1中的每一个管理的一个个参考图片的帧间预测。将确定L0预测、L1预测和双预测的信息定义为帧间预测模式。关于在以后的处理中在输出上附加有下标LX的常数、变量,以按L0、L1进行处理为前提。
<预测运动矢量模式>
预测运动矢量模式是传送用于确定预测运动矢量的索引、差分运动矢量、帧间预测模式、参考索引并决定处理对象块的帧间预测信息的模式。预测运动矢量根据预测运动矢量候选和用于确定预测运动矢量的索引导出,所述预测运动矢量候选是根据与处理对象块相邻的已处理块或者属于已处理图像的块中位于与处理对象块相同位置或者其附近(邻近)的块导出的。
<合并模式>
合并模式是以下模式:不传送差分运动矢量、参考索引,而根据与处理对象块相邻的已处理块或属于已处理图像的块中与处理对象块位于相同位置或其附近(邻近)的块的帧间预测信息导出处理对象块的帧间预测信息。
将与处理对象块相邻的已处理块以及该已处理块的帧间预测信息定义为空间合并候选。将属于已处理图像的块中位于与处理对象块相同位置或其附近(邻近)的块、以及根据该块的帧间预测信息导出的帧间预测信息定义为时间合并候选。各合并候选被登记在合并候选列表中,通过合并索引来确定在处理对象块的预测中使用的合并候选。
<相邻块>
图11是说明用于在预测运动矢量模式和合并模式下导出帧间预测信息而参考的参考块的图。A0、A1、A2、B0、B1、B2、B3是与处理对象块相邻的已处理块。T0是在属于已处理图像块中与处理对象图像中的处理对象块位于相同位置或其附近(邻近)的块。
A1、A2是位于处理对象编码块的左侧、与处理对象编码块相邻的块。B1、B3是位于处理对象编码块的上侧、与处理对象编码块相邻的块。A0、B0、B2分别是位于处理对象编码块的左下、右上、左上的块。
后面描述在预测运动矢量模式和合并模式中如何处理相邻块的细节。
<仿射变换运动补偿>
仿射变换运动补偿是将编码块分割为预定单位的子块,并对分割后的各子块单独决定运动矢量来进行运动补偿的。基于一个以上的控制点来导出各子块的运动矢量,该一个以上的控制点根据与处理对象块相邻的已处理块或属于已处理图像的块中与处理对象块位于相同位置或其附近(邻近)的块的帧间预测信息导出。在本实施方式中,将子块的尺寸设为4×4像素,但子块的尺寸并不限定于此,也可以以像素为单位导出运动矢量。
图14示出了控制点为两个时的仿射变换运动补偿的例子。在该情况下,两个控制点具有水平方向分量和垂直方向分量两个参数。因此,将控制点为两个时的仿射变换称为四参数仿射变换。图14的CP1、CP2是控制点。
图15示出了在控制点为三个时的仿射变换运动补偿的例子。在该情况下,三个控制点具有水平方向分量和垂直方向分量这两个参数。因此,将控制点为三个时的仿射变换称为六参数仿射变换。图15的CP1、CP2、CP3是控制点。
仿射变换运动补偿可以在预测运动矢量模式和合并模式中的任一模式中使用。将在预测运动矢量模式下应用仿射变换运动补偿的模式定义为子块预测运动矢量模式,将在合并模式下应用仿射变换运动补偿的模式定义为子块合并模式。
<帧间预测的句法>
使用图12和图13对与帧间预测有关的句法进行说明。
图12的merge_flag是表示将处理对象编码块设为合并模式还是设为预测运动矢量模式的标志。merge_affine_flag是表示是否在合并模式的处理对象编码块中应用子块合并模式的标志。inter_affine_flag是表示是否在预测运动矢量模式的处理对象编码块中应用子块预测运动矢量模式的标志。cu_affine_type_flag是用于在子块预测运动矢量模式中决定控制点的数量的标志。
图13示出了各句法元素的值和与其对应的预测方法。merge_flag=1、merge_affine_flag=0对应于通常合并模式。通常合并模式为不是子块合并的合并模式。merge_flag=1、merge_affine_flag=1对应于子块合并模式。merge_flag=0、inter_affine_flag=0对应于通常预测运动矢量模式。通常预测运动矢量模式为不是子块预测运动矢量模式的预测运动矢量合并。merge_flag=0、inter_affine_flag=1对应于子块预测运动矢量模式。在merge_flag=0、inter_affine_flag=1的情况下,进一步传送cu_affine_type_flag,决定控制点的数量。
<POC>
POC(Picture Order Count,图片序列号)是与要被编码的图片相关联的变量,并且设定与图片的输出顺序对应的递增1的值。根据POC的值,能够辨别是否是相同的图片、辨别输出顺序中的图片之间的前后关系、导出图片之间的距离。例如,如果两个图片的POC具有相同的值,则可以判断为是相同的图片。在两个图片的POC具有不同值的情况下,能够判断为POC的值小的图片是先输出的图片,两个图片的POC之间的差表示时间轴方向上的图片之间的距离。
(第一实施方式)
对本发明的第一实施方式涉及的图像编码装置100和图像解码装置200进行说明。
图1是第一实施方式涉及的图像编码装置100的框图。实施方式的图像编码装置100包括块分割部101、帧间预测部102、帧内预测部103、解码图像存储器104、预测方法决定部105、残差生成部106、正交变换/量化部107、比特串编码部108、逆量化/逆正交变换部109、解码图像信号重叠部110、以及编码信息保存存储器111。
块分割部101递归地分割已被输入的图像,以生成编码块。块分割部101包括4分割部和2-3分割部,4分割部将成为分割对象的块在水平方向和垂直方向上分别进行分割,2-3分割部将成为分割对象的块在水平方向和垂直方向中的任一个上进行分割。块分割部101将所生成的编码块设定为处理对象编码块,并将该处理对象编码块的图像信号提供给帧间预测部102、帧内预测部103和残差生成部106。另外,块分割部101将表示所决定的递归分割结构的信息提供给比特串编码部108。块分割部101的详细的动作在后面叙述。
帧间预测部102进行处理对象编码块的帧间预测。帧间预测部102根据保存在编码信息保存存储器111中的帧间预测信息和保存在解码图像存储器104中的已解码的图像信号导出多个帧间预测信息的候选,从导出的多个候选中选择合适的帧间预测模式,并且将所选择的帧间预测模式和与所选择的帧间预测模式对应的预测图像信号提供给预测方法决定部105。后面描述帧间预测部102的详细结构和动作。
帧内预测部103进行处理对象编码块的帧内预测。帧内预测部103将保存在解码图像存储器104中的已解码的图像信号作为参考像素进行参考,通过基于保存在编码信息保存存储器111中的帧内预测模式等编码信息的帧内预测来生成预测图像信号。在帧内预测中,帧内预测部103从多个帧内预测模式中选择合适的帧内预测模式,并将所选择的帧内预测模式和与所选择的帧内预测模式对应的预测图像信号提供给预测方法决定部105。
图10A和图10B示出了帧内预测的例子。图10A是示出了帧内预测的预测方向与帧内预测模式编号之间的对应关系的图。例如,帧内预测模式50通过在垂直方向上复制参考像素来生成帧内预测图像。帧内预测模式1是DC模式,并且是将处理对象块的所有像素值设为参考像素的平均值的模式。帧内预测模式0是Planar模式(二维模式),是根据垂直方向和水平方向上的参考像素生成二维帧内预测图像的模式。图10B是生成帧内预测模式40的情况下的帧内预测图像的例子。帧内预测部103将帧内预测模式指示的方向上的参考像素的值复制到处理对象块的每个像素。在帧内预测模式中的参考像素不是整数位置的情况下,帧内预测部103根据周围的整数位置处的参考像素值通过插值决定参考像素值。
解码图像存储器104保存由解码图像信号重叠部110生成的解码图像。解码图像存储器104将保存的解码图像提供给帧间预测部102和帧内预测部103。
预测方法决定部105通过使用编码信息和残差的编码量、预测图像信号与处理对象图像信号之间的失真量等对帧内预测和帧间预测中的每一个进行评估,来决定最佳预测模式。在帧内预测的情况下,预测方法决定部105将帧内预测模式等的帧内预测信息作为编码信息提供给比特串编码部108。在帧间预测的合并模式的情况下,预测方法决定部105将合并索引、指示是否是子块合并模式的信息(子块合并标志)等帧间预测信息作为编码信息提供给比特串编码部108。在帧间预测的预测运动矢量模式的情况下,预测方法决定部105将帧间预测模式、预测运动矢量索引、L0和L1的参考索引、差分运动矢量、及指示是否为子块预测运动矢量模式的信息(子块预测运动矢量标志)等帧间预测信息作为编码信息提供给比特串编码部108。此外,预测方法决定部105将所决定的编码信息提供给编码信息保存存储器111。预测方法决定部105将预测图像信号提供给残差生成部106及解码图像信号重叠部110。
残差生成部106通过从处理对象的图像信号中减去预测图像信号来生成残差,并提供给正交变换/量化部107。
正交变换/量化部107根据量化参数对残差进行正交变换和量化,以生成经过正交变换/量化的残差,并且将所生成的残差提供给比特串编码部108和逆量化/逆正交变换部109。
比特串编码部108除了序列、图片、条带、编码块单位的信息之外,还针对每个编码块对与由预测方法决定部105决定的预测方法对应的编码信息进行编码。具体而言,比特串编码部108对每个编码块的预测模式PredMode进行编码。在预测模式是帧间预测(MODE_INTER)的情况下,比特串编码部108按照规定的句法(比特串的句法规则)对辨别是否为合并模式的标志、子块合并标志、在是合并模式的情况下的合并索引、在不是合并模式的情况下的帧间预测模式、预测运动矢量索引、与差分运动矢量有关的信息、子块预测运动矢量标志等编码信息(帧间预测信息)进行编码,生成第一比特串。在预测模式是帧内预测(MODE_INTRA)的情况下,按照规定的句法(比特串的句法规则)对帧内预测模式等编码信息(帧内预测信息)进行编码,生成第一比特串。另外,比特串编码部108按照规定的句法对正交变换及量化后的残差进行熵编码,生成第二比特串。比特串编码部108按照规定的句法对第一比特串和第二比特串进行复用,输出比特流。
逆量化/逆正交变换部109对从正交变换/量化部107提供的经正交变换/量化的残差进行逆量化和逆正交变换,以计算残差,并将所计算出的残差提供给解码图像信号重叠部110。
解码图像信号重叠部110将与预测方法决定部105的决定对应的预测图像信号和由逆量化/逆正交变换部109进行逆量化及逆正交变换而得的残差重叠,生成解码图像,并保存在解码图像存储器104中。此外,解码图像信号重叠部110也可以对解码图像实施减少编码引起的块失真等失真的滤波处理后,保存在解码图像存储器104中。
编码信息保存存储器111保存由预测方法决定部105决定的预测模式(帧间预测或帧内预测)等编码信息。在帧间预测的情况下,在编码信息保存存储器111中保存的编码信息中包括所决定的运动矢量、参考列表L0、L1的参考索引、以及历史预测运动矢量候选列表等帧间预测信息。另外,在帧间预测的合并模式的情况下,编码信息保存存储器111保存的编码信息中除了上述各信息之外,还包含合并索引、表示是否是子块合并模式的信息(子块合并标志)的帧间预测信息。另外,在帧间预测的预测运动矢量模式的情况下,在编码信息保存存储器111保存的编码信息中,除了上述各信息之外,还包含帧间预测模式、预测运动矢量索引、差分运动矢量、表示是否为子块预测运动矢量模式的信息(子块预测运动矢量标志)等帧间预测信息。在帧内预测的情况下,在编码信息保存存储器111保存的编码信息中包含所决定的帧内预测模式等帧内预测信息。
图2是表示与图1的图像编码装置对应的本发明的实施方式涉及的图像解码装置的结构的框图。实施方式的图像解码装置包括比特串解码部201、块分割部202、帧间预测部203、帧内预测部204、编码信息保存存储器205、逆量化/逆正交变换部206、解码图像信号重叠部207和解码图像存储器208。
图2的图像解码装置的解码处理与图1的图像编码装置的内部设置的解码处理对应,因此图2的编码信息保存存储器205、逆量化/逆正交变换部206、解码图像信号重叠部207以及解码图像存储器208的各结构具有与图1的图像编码装置的编码信息保存存储器111、逆量化/逆正交变换部109、解码图像信号重叠部110以及解码图像存储器104的各结构分别对应的功能。
提供给比特串解码部201的比特流根据规定的句法规则被分离。比特串解码部201对分离出的第一比特串进行解码,得到序列、图片、条带、编码块单位的信息、以及编码块单位的编码信息。具体而言,比特串解码部201以编码块为单位解码预测模式PredMode,预测模式PredMode辨别是帧间预测(MODE_INTER)还是帧内预测(MODE_INTRA)。在预测模式是帧间预测(MODE_INTER)的情况下,比特串解码部201按照规定的句法对与辨别是否为合并模式的标志、在合并模式的情况下的合并索引、子块合并标志、预测运动矢量模式的情况下的帧间预测模式、预测运动矢量索引、差分运动矢量、子块预测运动矢量标志等有关的编码信息(帧间预测信息)进行解码,并将编码信息(帧间预测信息)经由帧间预测部203和块分割部202提供给编码信息保存存储器205。在预测模式是帧内预测(MODE_INTRA)的情况下,按照规定的句法对帧内预测模式等编码信息(帧内预测信息)进行解码,将编码信息(帧内预测信息)经由帧间预测部203或帧内预测部204、以及块分割部202提供给编码信息保存存储器205。比特串解码部201对分离出的第二比特串进行解码,计算出正交变换/量化后的残差,并将正交变换/量化后的残差提供给逆量化/逆正交变换部206。
当处理对象的编码块的预测模式PredMode是帧间预测(MODE_INTE R)中的预测运动矢量模式时,帧间预测部203使用存储在编码信息保存存储器205中的已解码的图像信号的编码信息来导出多个预测运动矢量的候选,并将所导出的多个预测运动矢量的候选登记在后述的预测运动矢量候选列表中。帧间预测部203从登记在预测运动矢量候选列表中的多个预测运动矢量候选中选择与由比特串解码部201解码而提供的预测运动矢量索引对应的预测运动矢量,根据由比特串解码部201解码的差分运动矢量和选择出的预测运动矢量计算运动矢量,并将计算出的运动矢量与其它的编码信息一起保存在编码信息保存存储器205中。这里,要提供/保存的编码块的编码信息是预测模式PredMode、表示是否利用L0预测以及L1预测的标志predFlagL0[xP][yP]、predFlagL1[xP][yP]、L0、L1的参考索引refIdxL0[xP][yP]、refIdxL1[xP][yP]、L0、L1的运动矢量mvL0[xP][yP]、mvL1[xP][y P]等。这里,xP、yP是表示图片内的编码块的左上像素的位置的索引。在预测模式PredMode是帧间预测(MODE_INTER)且帧间预测模式是L0预测(Pred_L0)的情况下,指示是否使用L0预测的标志predFlagL0是1,且指示是否使用L1预测的标志predFlagL1是0。在帧间预测模式是L1预测(Pred_L1)的情况下,指示是否使用L0预测的标志predFlagL0是0,且指示是否使用L1预测的标志predFlagL1是1。在帧间预测模式是双预测(Pr ed_BI)的情况下,指示是否使用L0预测的标志predFlagL0和指示是否使用L1预测的标志predFlagL1都是1。并且,在处理对象的编码块的预测模式PredMode是帧间预测(MODE_INTER)中的合并模式时,导出合并候选。使用存储在编码信息保存存储器205中的已解码的编码块的编码信息,导出多个合并的候选,登记在后述的合并候选列表中,从登记在合并候选列表中的多个合并候选中选择与由比特串解码部201解码而提供的合并索引对应的合并候选,将表示是否利用所选择的合并候选的L0预测及L1预测的标志predFlagL0[xP][yP]、predFlagL1[xP][yP]、L0、L1的参考索引ref IdxL0[xP][yP]、refIdxL1[xP][yP]、L0、L1的运动矢量mvL0[xP][yP]、mvL1[xP][yP]等帧间预测信息保存在编码信息保存存储器205中。这里,xP、y P是表示图片内的编码块的左上像素的位置的索引。后述帧间预测部203的详细构成和动作。
当处理对象的编码块的预测模式PredMode是帧内预测(MODE_INTR A)时,帧内预测部204进行帧内预测。在由比特串解码部201解码的编码信息中包含帧内预测模式。帧内预测部204根据包括在由比特串解码部201解码的解码信息中的帧内预测模式,通过帧内预测并根据保存在解码图像存储器208中的已解码图像信号生成预测图像信号,并且将所生成的预测图像信号提供给解码图像信号重叠部207。帧内预测部204由于对应于图像编码装置100的帧内预测部103,因此执行与帧内预测部103相同的处理。
逆量化/逆正交变换部206对由比特串解码部201解码后的正交变换/量化后的残差进行逆正交变换及逆量化,得到逆正交变换/逆量化后的残差。
解码图像信号重叠部207通过重叠由帧间预测部203进行帧间预测而得的预测图像信号或由帧内预测部204进行帧内预测而得的预测图像信号、以及由逆量化/逆正交变换部206进行逆正交变换/逆量化后的残差,对解码图像信号进行解码,将解码后的解码图像信号保存在解码图像存储器208中。在保存在解码图像存储器208中时,解码图像信号重叠部207也可以对解码图像实施减少编码引起的块失真等的滤波处理后,保存在解码图像存储器208中。
接着,对图像编码装置100中的块分割部101的动作进行说明。图3是表示将图像分割为树块、并进一步分割各树块的动作的流程图。首先,将输入的图像分割为预定尺寸的树块(步骤S1001)。对于各树块,按照预定的顺序、即光栅扫描顺序进行扫描(步骤S1002),分割处理对象的树块的内部(步骤S1003)。
图7是表示步骤S1003的分割处理的详细动作的流程图。首先,判断是否将处理对象的块进行4分割(步骤S1101)。
在判断为将处理对象块4分割的情况下,将处理对象块4分割(步骤S1102)。对于将处理对象块分割而得的各块,按照Z扫描顺序、即左上、右上、左下、右下的顺序进行扫描(步骤S1103)。图5是Z扫描顺序的例子,图6A的601是将处理对象块4分割后的例子。图6A的601的编号0~3表示处理的顺序。然后,对于在步骤S1101中分割的各块,递归地执行图7的分割处理(步骤S1104)。
在判断为不对处理对象块进行4分割的情况下,进行2-3分割(步骤S1105)。
图8是表示步骤S1105的2-3分割处理的详细动作的流程图。首先,判断是否对处理对象的块进行2-3分割,即是否进行2分割和3分割中的某一个(步骤S1201)。
在判断为不对处理对象块进行2-3分割的情况下,即判断为不进行分割的情况下,结束分割(步骤S1211)。即,对于通过递归分割处理分割而得的块,不进行进一步的递归分割处理。
在判断为将处理对象的块进行2-3分割的情况下,判断是否进一步将处理对象块进行2分割(步骤S1202)。
在判断为将处理对象块进行2分割的情况下,判断是否对处理对象块进行上下(垂直方向)分割(步骤S1203),基于其结果,对处理对象块在上下(垂直方向)进行2分割(步骤S1204),或者对处理对象块在左右(水平方向)进行2分割(步骤S1205)。作为步骤S1204的结果,处理对象块如图6B中的602所示,被分割为上下(垂直方向)两部分。作为步骤S1205的结果,处理对象块如图6D中的604所示,被分割为左右(水平方向)两部分。
在步骤S1202中,在未判断为对处理对象块进行2分割的情况下,即,在判断为3分割的情况下,则判断是否对处理对象块在上中下(垂直方向)进行分割(步骤S1206),基于该结果,对处理对象块在上中下(垂直方向)进行3分割(步骤S1207),或者对处理对象块在左中右(水平方向)进行3分割(步骤S1208)。在步骤S1207的结果中,处理对象块如图6C的603所示,被分割为上中下(垂直方向)3部分,在步骤S1208的结果中,处理对象块如图6E的605所示,被分割为左中右(水平方向)3部分。
在执行了步骤S1204、步骤S1205、步骤S1207、步骤S1208中任一个之后,按照从左到右、从上到下的顺序对将处理对象块分割而成的各块进行扫描(步骤S1209)。图6B~图6E的从602到605的编号0~2表示处理的顺序。对于分割而成的各块,递归地执行图8的2-3分割处理(步骤S1210)。
这里说明的递归的块分割也可以根据分割的次数、或者处理对象的块的尺寸等来限制是否需要分割。限制是否需要分割的信息可以以通过在编码装置和解码装置之间预先约定而不进行信息传递的结构来实现,也可以以通过编码装置决定限制是否需要分割的信息并记录在比特串中来向解码装置传递的结构来实现。
在分割完某块时,将分割前的块称为母块,将分割后的各块称为子块。
接下来,对图像解码装置200中的块分割部202的动作进行说明。块分割部202按照与图像编码装置100的块分割部101相同的处理步骤来分割树块。但是,不同之处在于,在图像编码装置100的块分割部101中,应用基于图像识别的最佳形状的估计或失真率优化等优化方法,决定最佳的块分割的形状,与此相对,图像解码装置200中的块分割部202通过对比特串中记录的块分割信息进行解码,来决定块分割形状。
图9示出与第一实施方式的块分割有关的句法(比特串的句法规则)。coding_quadtree()表示块的4分割处理所涉及的句法。multi_type_tree()表示块的2分割或3分割处理所涉及的句法。qt_split是表示是否对块进行4分割的标志。在对块进行4分割的情况下,设qt_split=1,在不进行4分割的情况下,设qt_split=0。在4分割的情况下(qt_split=1),对4分割后的各块递归地进行4分割处理(coding_quadtree(0)、coding_quadtree(1)、coding_quadtree(2)、coding_quadtree(3),自变量的0~3对应于图6A的601的编号)。在不进行4分割的情况下(qt_split=0),按照multi_type_tree(),决定后续的分割。mtt_split是表示是否进一步进行分割的标志。并且,在进行分割的情况下(mtt_split=1),传送表示是在垂直方向上分割还是在水平方向上分割的标记即mtt_split_vertical、以及决定是进行2分割还是进行3分割的标记即mtt_split_binary。mtt_split_vertical=1表示在垂直方向上进行分割,mtt_split_vertical=0表示在水平方向上进行分割。mtt_split_binary=1表示进行2分割,mtt_split_binary=0表示进行3分割。在2分割的情况下(mtt_split_binary=1),对2分割后的各块递归地进行分割处理(multi_type_tree(0)、multi_type_tree(1),自变量的0~1对应于图6B的602或图6D的604的编号)。在3分割的情况下(mtt_split_binary=0),对3分割后的各块递归地进行分割处理(multi_type_tree(0)、multi_type_tree(1)、multi_type_tree(2),0~2对应于图6C的603或图6E的605的编号)。通过递归地调用multi_type_tree,进行分层块分割,直到mtt_split=0为止。
<帧间预测>
实施方式的帧间预测方法在图1的图像编码装置的帧间预测部102以及图2的图像解码装置的帧间预测部203中实施。
对实施方式涉及的帧间预测方法使用附图进行说明。帧间预测方法以编码块为单位在编码处理和解码处理中的任一个中实施。
<编码侧的帧间预测部102的说明>
图16是示出图1的图像编码装置的帧间预测部102的详细结构的图。通常预测运动矢量模式导出部301导出多个通常预测运动矢量候选来选择预测运动矢量,并计算所选择出的预测运动矢量与检测出的运动矢量之间的差分运动矢量。检测出的帧间预测模式、参考索引、运动矢量以及计算出的差分运动矢量是通常预测运动矢量模式的帧间预测信息。该帧间预测信息被提供给帧间预测模式判定部305。通常预测运动矢量模式导出部301的详细结构和处理在后面叙述。
在通常合并模式导出部302中,导出多个通常合并候选,选择通常合并候选,得到通常合并模式的帧间预测信息。该帧间预测信息被提供给帧间预测模式判定部305。通常合并模式导出部302的详细结构和处理将在后面叙述。
在子块预测运动矢量模式导出部303中,导出多个子块预测运动矢量候选来选择子块预测运动矢量,并计算所选择出的子块预测运动矢量与检测出的运动矢量之间的差分运动矢量。检测出的帧间预测模式、参考索引、运动矢量和计算出的差分运动矢量为子块预测运动矢量模式的帧间预测信息。该帧间预测信息被提供给帧间预测模式判定部305。
在子块合并模式导出部304中,导出多个子块合并候选,选择子块合并候选,得到子块合并模式的帧间预测信息。该帧间预测信息被提供给帧间预测模式判定部305。
帧间预测模式判定部305基于从通常预测运动矢量模式导出部301、通常合并模式导出部302、子块预测运动矢量模式导出部303和子块合并模式导出部304提供的帧间预测信息来判定帧间预测信息。与判定结果相应的帧间预测信息从帧间预测模式判定部305被提供给运动补偿预测部306。
运动补偿预测部306基于判定出的帧间预测信息对保存在解码图像存储器104中的参考图像信号进行帧间预测。运动补偿预测部306的详细结构和处理将在后面叙述。
<解码侧的帧间预测部203的说明>
图22是示出图2的图像解码装置的帧间预测部203的详细结构的图。
通常预测运动矢量模式导出部401导出多个通常预测运动矢量候选来选择预测运动矢量,计算选择出的预测运动矢量与解码后的差分运动矢量的相加值来作为运动矢量。解码后的帧间预测模式、参考索引、运动矢量为通常预测运动矢量模式的帧间预测信息。该帧间预测信息经由开关408被提供给运动补偿预测部406。通常预测运动矢量模式导出部401的详细结构和处理将在后面叙述。
在通常合并模式导出部402中,导出多个通常合并候选来选择通常合并候选,得到通常合并模式的帧间预测信息。该帧间预测信息经由开关408被提供给运动补偿预测部406。通常合并模式导出部402的详细结构和处理将在后面叙述。
在子块预测运动矢量模式导出部403中,导出多个子块预测运动矢量候选来选择子块预测运动矢量,计算选择出的子块预测运动矢量与解码后的差分运动矢量的相加值来作为运动矢量。解码后的帧间预测模式、参考索引、运动矢量成为子块预测运动矢量模式的帧间预测信息。该帧间预测信息经由开关408被提供给运动补偿预测部406。
在子块合并模式导出部404中,导出多个子块合并候选来选择子块合并候选,得到子块合并模式的帧间预测信息。该帧间预测信息经由开关408被提供给运动补偿预测部406。
在运动补偿预测部406中,基于判定出的帧间预测信息对保存在解码图像存储器208中的参考图像信号进行帧间预测。运动补偿预测部406的详细结构和处理与编码侧的运动补偿预测部306相同。
<通常预测运动矢量模式导出部(通常AMVP)>
图17的通常预测运动矢量模式导出部301包含空间预测运动矢量候选导出部321、时间预测运动矢量候选导出部322、历史预测运动矢量候选导出部323、预测运动矢量候选补充部325、通常运动矢量检测部326、预测运动矢量候选选择部327、以及运动矢量减法部328。
图23的通常预测运动矢量模式导出部401包含空间预测运动矢量候选导出部421、时间预测运动矢量候选导出部422、历史预测运动矢量候选导出部423、预测运动矢量候选补充部425、预测运动矢量候选选择部426、以及运动矢量加法部427。
分别使用图19、图25的流程图对编码侧的通常预测运动矢量模式导出部301和解码侧的通常预测运动矢量模式导出部401的处理步骤进行说明。图19是示出基于编码侧的通常运动矢量模式导出部301的通常预测运动矢量模式导出处理步骤的流程图,图25是示出基于解码侧的通常运动矢量模式导出部401的通常预测运动矢量模式导出处理步骤的流程图。
<通常预测运动矢量模式导出部(通常AMVP):编码侧的说明>
参考图19对编码侧的通常预测运动矢量模式导出处理步骤进行说明。在图19的处理步骤的说明中,有时省略图19所示的“通常”一词。
首先,通常运动矢量检测部326针对每个帧间预测模式和参考索引检测通常运动矢量(图19的步骤S100)。
接着,空间预测运动矢量候选导出部321、时间预测运动矢量候选导出部322、历史预测运动矢量候选导出部323、预测运动矢量候选补充部325、预测运动矢量候选选择部327和运动矢量减法部328针对每个L0和L1分别计算在通常预测运动矢量模式的帧间预测中使用的运动矢量的差分运动矢量(图19的步骤S101至S106)。具体地,当处理对象块的预测模式PredMode是帧间预测(MODE_INTER)并且帧间预测模式是L0预测(Pred_L0)时,计算L0的预测运动矢量候选列表mvpListL0,选择预测运动矢量mvpL0,并且计算L0的运动矢量mvL0的差分运动矢量mvdL0。当处理对象块的帧间预测模式是L1预测(Pred_L1)时,计算L1的预测运动矢量候选列表mvpListL1,选择预测运动矢量mvpL1,并且计算L1的运动矢量mvL1的差分运动矢量mvdL1。在处理对象块的帧间预测模式是双预测(Pred_BI)时,同时进行L0预测和L1预测,计算L0的预测运动矢量候选列表mvpListL0,选择L0的预测运动矢量mvpL0,计算L0的运动矢量mvL0的差分运动矢量mvdL0,并计算L1的预测运动矢量候选列表mvpListL1,计算L1的预测运动矢量mvpL1,计算L1的运动矢量mvL1的差分运动矢量mvdL1。
对L0、L1分别进行差分运动矢量计算处理,但L0、L1都是共同的处理。因此,在以下说明中,将L0、L1表示为共同的LX。在计算L0的差分运动矢量的处理中,LX的X为0,在计算L1的差分运动矢量的处理中,LX的X为1。另外,在计算LX的差分运动矢量的处理中,在不参考LX而参考另一个列表的信息的情况下,将另一个列表表示为LY。
在使用LX的运动矢量mvLX的情况下(图19的步骤S102:是),计算LX的预测运动矢量的候选,构建LX的预测运动矢量候选列表mvpListLX(图19的步骤S103)。由通常预测运动矢量模式导出部301中的空间预测运动矢量候选导出部321、时间预测运动矢量候选导出部322、历史预测运动矢量候选导出部323、预测运动矢量候选补充部325导出多个预测运动矢量的候选,构建预测运动矢量候选列表mvpListLX。关于图19的步骤S103的详细的处理步骤使用图20的流程图在后面叙述。
接着,由预测运动矢量候选选择部327从LX的预测运动矢量候选列表mvpListLX中选择LX的预测运动矢量mvpLX(图19的步骤S104)。这里,在预测运动矢量候选列表mvpListLX中,将某一个要素(从0开始数第i个要素)表示为mvpListLX[i]。计算作为运动矢量mvLX与保存在预测运动矢量候选列表mvpListLX中的各预测运动矢量的候选mvpListLX[i]之间的差分的各个差分运动矢量。针对每个预测运动矢量候选列表mvpListLX的要素(预测运动矢量候选),计算对这些差分运动矢量进行编码时的编码量。然后,在登记在预测运动矢量候选列表mvpListLX中的各要素中,选择预测运动矢量的每个候选的码量最小的预测运动矢量的候选mvpListLX[i]作为预测运动矢量mvpLX,并获取该索引i。在预测运动矢量候选列表mvpListLX中存在多个成为最小的产生码量的预测运动矢量的候选的情况下,将由预测运动矢量候选列表mvpListLX中的索引i小的编号表示的预测运动矢量的候选mvpListLX[i]选择为最佳的预测运动矢量mvpLX,并获取该索引i。
接着,运动矢量减法部328从LX的运动矢量mvLX中减去所选择出的LX的预测运动矢量mvpLX,设为mvdLX=mvLX-mvpLX,来计算LX的差分运动矢量mvdLX(图19的步骤S105)。
<通常预测运动矢量模式导出部(通常AMVP):解码侧的说明>
接着,参考图25对解码侧的通常预测运动矢量模式处理步骤进行说明。在解码侧,由空间预测运动矢量候选导出部421、时间预测运动矢量候选导出部422、历史预测运动矢量候选导出部423和预测运动矢量候选补充部425针对每个L0和L1计算在通常预测运动矢量模式的帧间预测中使用的运动矢量(图25的步骤S201至S206)。具体地,当处理对象块的预测模式PredMode是帧间预测(MODE_INTER)并且处理对象块的帧间预测模式是L0预测(Pred_L0)时,计算L0的预测运动矢量候选列表mvpListL0,选择预测运动矢量mvpL0,并且计算L0的运动矢量mvL0。当处理对象块的帧间预测模式是L1预测(Pred_L1)时,计算L1的预测运动矢量候选列表mvpListL1,选择预测运动矢量mvpL1,并且计算L1的运动矢量mvL1。在处理对象块的帧间预测模式是双预测(Pred_BI)时,同时进行L0预测和L1预测,计算L0的预测运动矢量候选列表mvpListL0,选择L0的预测运动矢量mvpL0,计算L0的运动矢量mvL0,并计算L1的预测运动矢量候选列表mvpListL1,计算L1的预测运动矢量mvpL1,计算L1的运动矢量mvL1。
与编码侧同样地,在解码侧也对L0、L1分别进行运动矢量计算处理,但L0、L1都是共同的处理。因此,在以下说明中,将L0、L1表示为共同的LX。LX表示用于处理对象的编码块的帧间预测的帧间预测模式。在计算L0的运动矢量的处理中,X为0,在计算L1的运动矢量的处理中,X为1。另外,在计算LX的运动矢量的处理中,在不参考与计算对象的LX相同的参考列表、而是参考另一个参考列表的信息的情况下,将另一个参考列表表示为LY。
在使用LX的运动矢量mvLX的情况下(图25的步骤S202:是),计算LX的预测运动矢量的候选,构建LX的预测运动矢量候选列表mvpListLX(图25的步骤S203)。由通常预测运动矢量模式导出部401中的空间预测运动矢量候选导出部421、时间预测运动矢量候选导出部422、历史预测运动矢量候选导出部423、预测运动矢量候选补充部425计算多个预测运动矢量的候选,构建预测运动矢量候选列表mvpListLX。关于图25的步骤S203的详细的处理步骤,使用图20的流程图在后面叙述。
接着,由预测运动矢量候选选择部426从预测运动矢量候选列表mvpListLX中取出与在比特串解码部201中解码而提供的预测运动矢量的索引mvpIdxLX对应的预测运动矢量的候选mvpListLX[mvpIdxLX],作为所选择出的预测运动矢量mvpLX(图25的步骤S204)。
接着,由运动矢量加法部427对由比特串解码部201解码而提供的LX的差分运动矢量mvdLX和LX的预测运动矢量mvpLX进行加法运算,设为mvLX=mvpLX+mvdLX,计算出LX的运动矢量mvLX(图25的步骤S205)。
<通常预测运动矢量模式导出部(通常AMVP):运动矢量的预测方法>
图20是表示在本发明的实施方式涉及的图像编码装置的通常预测运动矢量模式导出部301和图像解码装置的通常预测运动矢量模式导出部401中具有共同的功能的通常预测运动矢量模式导出处理的处理步骤的流程图。
在通常预测运动矢量模式导出部301以及通常预测运动矢量模式导出部401中,具有预测运动矢量候选列表mvpListLX。预测运动矢量候选列表mvpListLX构成列表结构,设置有将表示预测运动矢量候选列表内部的位置的预测运动矢量索引和与索引对应的预测运动矢量候选作为要素进行保存的存储区域。预测运动矢量索引的数字从0开始,在预测运动矢量候选列表mvpListLX的存储区域中保存预测运动矢量候选。在本实施方式中,假设预测运动矢量候选列表mvpListLX能够登记至少两个预测运动矢量候选(帧间预测信息)。此外,将表示登记在预测运动矢量候选列表mvpListLX中的预测运动矢量候选数的变量numCurrMvpCand设定为0。
空间预测运动矢量候选导出部321和421导出来自与左侧相邻的块的预测运动矢量的候选。在该处理中,参考与左侧相邻的块(图11的A0或A1)的帧间预测信息、即表示能否利用预测运动矢量候选的标志以及运动矢量、参考索引等,导出预测运动矢量mvLXA,将导出的mvLXA添加到预测运动矢量候选列表mvpListLX中(图20的步骤S301)。另外,在L0预测时X为0,在L1预测时X为1(以下相同)。接着,空间预测运动矢量候选导出部321和421导出来自与上侧相邻的块的预测运动矢量的候选。在该处理中,参考与上侧相邻的块(图11的B0、B1或B2)的帧间预测信息、即表示能否利用预测运动矢量候选的标志、以及运动矢量、参考索引等,导出预测运动矢量mvLXB,如果分别导出的mvLXA和mvLXB不相等,则将mvLXB添加到预测运动矢量候选列表mvpListLX中(图20的步骤S302)。图20的步骤S301和S302的处理除了参考的相邻块的位置和数量不同这一点以外是共同的,导出表示是否能够利用编码块的预测运动矢量候选的标志avai lableFlagLXN、以及运动矢量mvLXN、参考索引refIdxN(N表示A或B,以下相同)。
接着,时间预测运动矢量候选导出部322和422导出来自时间与当前的处理对象图片不同的图片中的块的预测运动矢量的候选。在该处理中,导出表示是否能够利用不同时间的图片的编码块的预测运动矢量候选的标志availableFlagLXCol、以及运动矢量mvLXCol、参考索引refIdxCol、参考列表listCol,将mvLXCol添加到预测运动矢量候选列表mvpListLX中(图20的步骤S303)。
此外,假设能够省略以序列(SPS)、图片(PPS)或条带为单位的时间预测运动矢量候选导出部322和422的处理。
接着,历史预测运动矢量候选导出部323和423将登记在历史预测运动矢量候选列表HmvpCandList中的历史预测运动矢量候选添加到预测运动矢量候选列表mvpListLX中(图20的步骤S304)。关于该步骤S304的登记处理步骤的细节使用图29的流程图在后面叙述。
接着,预测运动矢量候选补充部325和425添加(0,0)等预定值的预测运动矢量候选,直到满足预测运动矢量候选列表mvpListLX为止(图20的S305)。
<通常合并模式导出部(通常合并)>
图18的通常合并模式导出部302包含空间合并候选导出部341、时间合并候选导出部342、平均合并候选导出部344、历史合并候选导出部345、合并候选补充部346、以及合并候选选择部347。
图24的通常合并模式导出部402包含空间合并候选导出部441、时间合并候选导出部442、平均合并候选导出部444、历史合并候选导出部445、合并候选补充部446、以及合并候选选择部447。
图21是说明在本发明的实施方式涉及的图像编码装置的通常合并模式导出部302和图像解码装置的通常合并模式导出部402中具有共同的功能的通常合并模式导出处理的步骤的流程图。
以下,依次说明各过程。此外,在以下的说明中,只要没有特别说明,就对条带类型slice_type为B条带的情况进行说明,但也能适用于P条带的情况。然而,在条带类型slice_type是P条带的情况下,由于仅存在L0预测(Pred_L0)作为帧间预测模式,不存在L1预测(Pred_L1)和双预测(Pred_BI)。因此,能够省略围绕L1的处理。
在通常合并模式导出部302和通常合并模式导出部402中,具有合并候选列表mergeCandList。合并候选列表mergeCandList构成列表结构,设置有表示合并候选列表内部的位置的合并索引、和将与索引对应的合并候选作为要素进行保存的存储区域。合并索引的数字从0开始,在合并候选列表mergeCandList的存储区域中保存合并候选。在以后的处理中,假设登记在合并候选列表mergeCandList中的合并索引i的合并候选由mergeCandList[i]表示。在本实施方式中,假定合并候选列表mergeCandList能够登记至少六个合并候选(帧间预测信息)。并且,对表示合并候选列表mergeCandList中登记的合并候选数的变量numCurrMergeCand设定0。
在空间合并候选导出部341和空间合并候选导出部441中,根据保存在图像编码装置的编码信息保存存储器111或图像解码装置的编码信息保存存储器205中的编码信息,按照B1、A1、B0、A0、B2的顺序导出来自与处理对象块的左侧和上侧相邻的各个块(图11中的B1、A1、B0、A0、B2)的空间合并候选,并将所导出的空间合并候选登记在合并候选列表mergeCandList中(图21的步骤S401)。这里,定义表示空间合并候选B1、A1、B0、A0、B2或时间合并候选Col中的任一个的N。导出表示块N的帧间预测信息能否用作空间合并候选的标志availableFlagN、空间合并候选N的L0的参考索引refIdxL0N和L1的参考索引refIdxL1N、表示是否进行L0预测的L0预测标志predFlagL0N、表示是否进行L1预测的L1预测标志predFlagL1N、L0的运动矢量mvL0N、L1的运动矢量mvL1N。但是,在本实施方式中,由于不参考成为处理对象的编码块所包含的块的帧间预测信息来导出合并候选,所以不导出使用处理对象的编码块所包含的块的帧间预测信息的空间合并候选。
接着,在时间合并候选导出部342以及时间合并候选导出部442中,导出来自不同时间的图片的时间合并候选,将导出的时间合并候选登记在合并候选列表mergeCandList中(图21的步骤S402)。导出表示能否利用时间合并候选的标志availableFlagCol、表示是否进行时间合并候选的L0预测的L0预测标志predFlagL0Col、以及表示是否进行L1预测的L1预测标志predFlagL1Col、以及L0的运动矢量mvL0Col和L1的运动矢量mvL1Col。
此外,能够省略以序列(SPS)、图片(PPS)或条带为单位的时间合并候选导出部342和时间合并候选导出部442的处理。
接着,在历史合并候选导出部345和历史合并候选导出部445中,将登记在历史预测运动矢量候选列表HmvpCandList中的历史预测运动矢量候选登记在合并候选列表mergeCandList中(图21的步骤S403)。
此外,在登记在合并候选列表mergeCandList中的合并候选数numCurrMergeCand小于最大合并候选数MaxNumMergeCand的情况下,登记在合并候选列表mergeCandList中的合并候选数numCurrMergeCand以最大合并候选数MaxNumMergeCand为上限来导出历史合并候选,并且将其登记在合并候选列表mergeCandList中。
接着,在平均合并候选导出部344和平均合并候选导出部444中,从合并候选列表mergeCandList中导出平均合并候选,将导出的平均合并候选添加到合并候选列表mergeCandList中(图21的步骤S404)。
此外,在登记在合并候选列表mergeCandList中的合并候选数numCurrMergeCand小于最大合并候选数MaxNumMergeCand的情况下,登记在合并候选列表mergeCandList中的合并候选数numCurrMergeCand以最大合并候选数MaxNumMergeCand为上限,导出平均合并候选,并且将其登记在合并候选列表mergeCandList中。
这里,平均合并候选是新的合并候选,该新的合并候选具有通过对合并候选列表mergeCandList中登记的第一合并候选和第二合并候选具有的运动矢量按照每个L0预测和L1预测进行平均而获得的运动矢量。
接着,在合并候选补充部346和合并候选补充部446中,在登记在合并候选列表mergeCandList中的合并候选数numCurrMergeCand小于最大合并候选数MaxNumMergeCand时,登记在合并候选列表mergeCandList中的合并候选数numCurrMergeCand以最大合并候选数MaxNumMergeCand为上限导出添加合并候选,并登记在合并候选列表mergeCandList中(图21的步骤S405)。以最大合并候选数MaxNumMergeCand为上限,在P条带中,添加运动矢量具有(0,0)值的、预测模式为L0预测(Pred_L0)的合并候选。在B条带中,添加运动矢量具有值(0,0)的、预测模式为双预测(Pred_BI)的合并候选。添加合并候选时的参考索引与已添加的参考索引不同。
接着,在合并候选选择部347和合并候选选择部447中,从登记在合并候选列表mergeCandList内的合并候选中选择合并候选。在编码侧的合并候选选择部347通过计算码量和失真量来选择合并候选,并经由帧间预测模式判定部305将表示所选择出的合并候选的合并索引、合并候选的帧间预测信息提供给运动补偿预测部306。另一方面,在解码侧的合并候选选择部447中,基于解码后的合并索引选择合并候选,并将选择出的合并候选提供给运动补偿预测部406。
<更新历史预测运动矢量候选列表>
接着,详细说明编码侧的编码信息保存存储器111及解码侧的编码信息保存存储器205所具备的历史预测运动矢量候选列表HmvpCandList的初始化方法及更新方法。图26是用于说明历史预测运动矢量候选列表初始化/更新处理步骤的流程图。
在本实施方式中,假定历史预测运动矢量候选列表HmvpCandList的更新在编码信息保存存储器111和编码信息保存存储器205中执行。也可以在帧间预测部102以及帧间预测部203中设置历史预测运动矢量候选列表更新部,实施历史预测运动矢量候选列表HmvpCandList的更新。
在条带的开头进行历史预测运动矢量候选列表HmvpCandList的初始设定,在编码侧,在由预测方法决定部105选择了通常预测运动矢量模式或通常合并模式的情况下,更新历史预测运动矢量候选列表HmvpCandList,在解码侧,在由比特串解码部201解码后的预测信息为通常预测运动矢量模式或通常合并模式的情况下,更新历史预测运动矢量候选列表HmvpCandList。
将在通常预测运动矢量模式或通常合并模式下进行帧间预测时使用的帧间预测信息登记在历史预测运动矢量候选列表HMvpCandList中作为帧间预测信息候选hMvpCand。帧间预测信息候选hMvpCand包括L0的参考索引refIdxL0和L1的参考索引refIdxL1、表示是否进行L0预测的L0预测标志predFlagL0和表示是否进行L1预测的L1预测标志predFlagL1、L0的运动矢量mvL0和L1的运动矢量mvL1。
在编码侧编码信息保存存储器111和解码侧的编码信息保存存储器205中具有的历史预测运动矢量候选列表HmvpCandList中所登记的要素(即,帧间预测信息)中,存在与帧间预测信息候选hMvpCand相同的值的帧间预测信息的情况下,从历史预测运动矢量候选列表HmvpCandList中删除该要素。另一方面,在不存在与帧间预测信息候选hMvpCand相同的值的帧间预测信息的情况下,删除历史预测运动矢量候选列表HmvpCandList的开头的要素,并且将帧间预测信息候选hMvpCand添加到历史预测运动矢量候选列表HmvpCandList的最后。
将本发明的编码侧的编码信息保存存储器111及解码侧的编码信息保存存储器205所具备的历史预测运动矢量候选列表HmvpCandList的要素数设为6。
首先,以条带为单位进行历史预测运动矢量候选列表HmvpCandList的初始化(图26的步骤S2101)。在条带的开头,将历史预测运动矢量候选列表HmvpCandList的所有要素设为空,将登记在历史预测运动矢量候选列表HmvpCandList中的历史预测运动矢量候选数(当前的候选数)NumHmvpCand的值设定为0。
此外,设为以条带单位(条带的最初的编码块)实施历史预测运动矢量候选列表HmvpCandList的初始化,但也可以以图片为单位、以矩形(tile)为单位、以树块行为单位实施。
接着,对条带内的每个编码块重复进行以下的历史预测运动矢量候选列表HmvpCandList的更新处理(图26的步骤S2102~S2107)。
首先,以编码块为单位进行初始设定。对表示是否存在相同候选的标志identicalCandExist设定FALSE(假)的值,对表示删除对象的候选的删除对象索引removeIdx设定0(图26的步骤S2103)。
判定是否存在登记对象的帧间预测信息候选hMvpCand(图26的步骤S2104)。在由编码侧的预测方法决定部105判定为通常预测运动矢量模式或通常合并模式的情况下,或者在由解码侧的比特串解码部201解码为通常预测运动矢量模式或通常合并模式的情况下,将该帧间预测信息设为登记对象的帧间预测信息候选hMvpCand。在由编码侧的预测方法决定部105判定为帧内预测模式、子块预测运动矢量模式或子块合并模式的情况下,或者由解码侧的比特串解码部201解码为帧内预测模式、子块预测运动矢量模式或子块合并模式的情况下,不进行历史预测运动矢量候选列表HmvpCandList的更新处理,不存在登记对象的帧间预测信息候选hMvpCand。在不存在登记对象的帧间预测信息候选hMvpCand的情况下,跳过步骤S2105~S2106(图26的步骤S2104:否)。在存在登记对象的帧间预测信息候选hMvpCand的情况下,执行步骤S2105之后的处理(图26的步骤S2104:是)。
接着,判定在历史预测运动矢量候选列表HmvpCandList的每个要素中是否存在与登记对象的帧间预测信息候选hMvpCand相同的值的要素(帧间预测信息)、即是否存在相同的要素(图26的步骤S2105)。图27是该相同要素确认处理步骤的流程图。在历史预测运动矢量候选数NumHmvpCand的值为0的情况下(图27的步骤S2121:否),历史预测运动矢量候选列表HmvpCandList为空,由于不存在相同候选,因此跳过图27的步骤S2122~S2125,结束该相同要素确认处理步骤。在历史预测运动矢量候选数NumHmvpCand的值大于0的情况下(图27的步骤S2121:是),历史预测运动矢量索引hMvpIdx从0到NumHmvpCand-1,重复步骤S2123的处理(图27的步骤S2122~S2125)。首先,比较从历史预测运动矢量候选列表的0开始数的第hMvpIdx个要素HmvpCandList[hMvpIdx]是否与帧间预测信息候选hMvpCand相同(图27的步骤S2123)。在相同的情况下(图27的步骤S2123:是),对表示是否存在相同候选的标志identicalCandExist设定为TRUE(真)的值,对表示删除对象的要素的位置的删除对象索引removeIdx设定当前的历史预测运动矢量索引hMvpIdx的值,结束该相同要素确认处理。在不相同的情况下(图27的步骤S2123:否),使hMvpIdx增加1,如果历史预测运动矢量索引hMvpIdx为NumHmvpCand-1以下,则进行步骤S2123以后的处理。
再次返回图26的流程图,进行历史预测运动矢量候选列表HmvpCandList的要素的移位及添加处理(图26的步骤S2106)。图28是图26的步骤S2106的历史预测运动矢量候选列表HmvpCandList的要素移位/添加处理步骤的流程图。首先,判定在去除保存在历史预测运动矢量候选列表HmvpCandList中的要素之后是添加新要素,还是在不去除要素的情况下添加新要素。具体地,比较表示是否存在相同候选的标志identicalCandExist是否为TRUE(真)或NumHmvvpCand是否为6(图28的步骤S2141)。在满足表示是否存在相同候选的标志identicalCandExist为TRUE(真)或当前的候选数NumHmvpCand为6的任一个条件的情况下(图28的步骤S2141:是),去除保存在历史预测运动矢量候选列表HmvpCandList中的要素之后,添加新要素。将索引i的初始值设定为removeIdx+1的值。从该初始值到NumHmvpCand,重复步骤S2143的要素移位处理。(图28的步骤S2142~S2144)。通过将HmvpCandList[i]的要素复制到HmvpCandList[i-1],将要素向前方移位(图28的步骤S2143),将i增加1(图28的步骤S2142~S2144)。接下来,将帧间预测信息候选hMvpCand添加到历史预测运动矢量候选列表的与最后相当的从0开始数的第(NumHmvpCand-1)个HmvpCandList[NumHmvpCand-1](图28的步骤S2145),结束该历史预测运动矢量候选列表HmvpCandList的要素移位/添加处理。另一方面,在表示是否存在相同候选的标志identicalCandExist为TRUE(真)以及NumHmvpCand为6的任一个条件均不满足的情况下(图28的步骤S2141:否),不除去保存在历史预测运动矢量候选列表HmvpCandList中的要素,而将帧间预测信息候选hMvpCand添加到历史预测运动矢量候选列表的最后(图28的步骤S2146)。这里,历史预测运动矢量候选列表的最后是从0开始数的第NumHmvpCand个HmvpCandList[NumHmvpCand]。另外,使NumHmvpCand增加1,结束该历史预测运动矢量候选列表HmvpCandList的要素的移位及添加处理。
图31A~图31C是用于说明历史预测运动矢量候选列表的更新处理的一例的图。在已登记六个要素(帧间预测信息)的历史预测运动矢量候选列表HmvpCandList中添加新要素时,从历史预测运动矢量候选列表HmvpCandList的前方的要素开始依次与新的帧间预测信息进行比较(图31A),如果新要素与历史预测运动矢量候选列表HmvpCandList的从开头起第三个要素HMVP2是相同的值,则从历史预测运动矢量候选列表HmvpCandList中删除要素HMVP2、并将后方的要素HMVP3~HMVP5向前方一个个地移位(复制),将新要素添加到历史预测运动矢量候选列表HmvpCandList的最后(图31B),完成历史预测运动矢量候选列表HmvpCandList的更新(图31C)。
<历史预测运动矢量候选导出处理>
接着,详细说明作为图20的步骤S304的处理步骤的从历史预测运动矢量候选列表HmvpCandList导出历史预测运动矢量候选的方法,图20的步骤S304的处理步骤是在编码侧的通常预测运动矢量模式导出部301的历史预测运动矢量候选导出部323、解码侧的通常预测运动矢量模式导出部401的历史预测运动矢量候选导出部423中共同的处理。图29是说明历史预测运动矢量候选导出处理步骤的流程图。
在当前的预测运动矢量候选数numCurrMvpCand为预测运动矢量候选列表mvpListLX的最大要素数(这里为2)以上或者历史预测运动矢量候选数NumHmvpCand的值为0的情况下(图29的步骤S2201:否),省略图29的从步骤S2202至S2209的处理,结束历史预测运动矢量候选导出处理步骤。在当前的预测运动矢量候选数numCurrMvpCand小于预测运动矢量候选列表mvpListLX的最大要素数2且历史预测运动矢量候选数NumHmvpCand的值大于0时(图29的步骤S2201:是),执行图29的步骤S2202至S2209的处理。
接下来,重复图29的步骤S2203至S2208的处理,直到索引i从1到4和历史预测运动矢量候选数numCheckedHMVPCand的任一个较小的值为止(图29的步骤S2202至S2209)。在当前的预测运动矢量候选数numCurrMvpCand是预测运动矢量候选列表mvpListLX的最大要素数2以上的情况下(图29的步骤S2203:否),省略图29的步骤S2204至S2209的处理,结束该历史预测运动矢量候选导出处理步骤。在当前的预测运动矢量候选数numCurrMvpCand小于预测运动矢量候选列表mvpListLX的最大要素数2(图29的步骤S2203:是)的情况下,执行图29的步骤S2204之后的处理。
接着,对Y为0和1(L0和L1)分别进行从步骤S2205到S2207处理(图29的步骤S2204~S2208)。在当前的预测运动矢量候选数numCurrMvpCand是预测运动矢量候选列表mvpListLX的最大要素数2以上的情况下(图29的步骤S2205:否),省略图29的步骤S2206至S2209的处理,结束该历史预测运动矢量候选导出处理步骤。在当前的预测运动矢量候选数numCurrMvpCand小于预测运动矢量候选列表mvpListLX的最大要素数2的情况下(图29中的步骤S2205:是),执行图29中的步骤S2206之后的处理。
接着,在历史预测运动矢量候选列表HmvpCandList中,存在是与编码/解码对象运动矢量的参考索引refIdxLX相同的参考索引的要素、且是与预测运动矢量列表mvpListLX的任何要素都不同的要素的情况下(图29的步骤S2206:是),对预测运动矢量候选列表的从0开始数第numCurrMvpCand个要素mvpListLX[numCurrMvpCand]添加历史预测运动矢量候选HmvpCandList[NumHmvpCand-i]的LY的运动矢量(图29的步骤S2207),并将当前的预测运动矢量候选数numCurrMvpCand增加1。当在历史预测运动矢量候选列表HmvpCandList中没有与编码/解码对象运动矢量的参考索引refIdxLX相同的参考索引的要素、且没有与预测运动矢量列表mvpListLX的任何要素都不同的要素的情况下(图29的步骤S2206:否),跳过步骤S2207的添加处理。
在L0和L1中两者都进行以上的图29的步骤S2205到S2207的处理(图29的步骤S2204~S2208)。将索引i增加1,在索引i小于等于4和历史预测运动矢量候选数NumHmvpCand的任一个较小的值的情况下,再次进行步骤S2203以后的处理(图29的步骤S2202~S2209)。
<历史合并候选导出处理>
接着,详细说明作为图21的步骤S404的处理步骤的从历史合并候选列表HmvpCandList导出历史合并候选的方法,所述图21的步骤S404的处理步骤是在编码侧的通常合并模式导出部302的历史合并候选导出部345、解码侧的通常合并模式导出部402的历史合并候选导出部445中共同的处理。图30是说明历史合并候选导出处理步骤的流程图。
首先,进行初始化处理(图30的步骤S2301)。对isPruned[i]的从0到第(numCurrMergeCand-1)个要素的每个要素设定FALSE(假)的值,并对变量numOrigMergeCand设定登记在当前的合并候选列表中的要素数numCurrMergeCand。
接着,将索引hMvpIdx的初始值设定为1,从该初始值到NumHmvpCand重复进行从图30的步骤S2303到步骤S2310的添加处理(图30的步骤S2302~S2311)。如果登记在当前的合并候选列表中的要素数numCurrMergeCand不是(最大合并候选数MaxNumMergeCand-1)以下,则由于在合并候选列表中的所有要素中添加合并候选,因此结束该历史合并候选导出处理(图30的步骤S2303:否)。如果登记在当前的合并候选列表中的要素数numCurrMergeCand是(最大合并候选数MaxNumMergeCand-1)以下(图30的步骤S2303:是),则执行步骤S2304以后的处理。
首先,对sameMotion设定FALSE(假)的值(图30的步骤S2304)。接着,将索引i的初始值设定为0,从该初始值到1进行图30的步骤S2306、S2307的处理(图30的S2305~S2308)。
接着,比较历史运动矢量预测候选列表的从0开始数的第(NumHmvp Cand-hMvpIdx)个要素HmvpCandList[NumHmvpCand-hMvpIdx]是否与合并候选列表的从0开始数的第i个要素mergeCandList[i]是相同值(图30的步骤S2306)。这里,合并候选的相同值是指合并候选所具有的所有构成要素(帧间预测模式、参考索引、运动矢量)的值相同。但是,该步骤S2306的处理仅限于hMvpIdx比NumHmvpCand-2大、且mergeCandList[i]为空间合并候选、且isPruned[i]为FALSE(假)的情况。在相同值的情况下(图30的步骤S2306:是),sameMotion以及isPruned[i]都设定为TRUE(真)(图30的步骤S2307)。在不是相同值的情况下(图30的步骤S2306:否),跳过步骤S2307的处理。在图30的步骤S2305至S2308的重复处理完成之后,比较sameMotion是否为FALSE(假)(图30的步骤S2309),在sa meMotion为FALSE(假)的情况下(图30的步骤S2309:是),在合并候选列表的第numCurrMergeCand个mergeCandList[numCurrMergeCand]中添加历史预测运动矢量候选列表的从0开始数的第(NumHmvpCand-hMvpI dx)个要素HmvpCandList[NumHmvpCand-hMvpIdx],并使numCurrMerge Cand增加1(图30的步骤S2310)。使索引hMvpIdx增加1(图30的步骤S2302),进行图30的步骤S2302~S2311的重复处理。
在完成了对历史预测运动矢量候选列表中的所有要素的确认、或者对合并候选列表的所有要素添加合并候选后,完成该历史合并候选的导出处理。
<运动补偿预测处理>
运动补偿预测部306获取在编码中为当前预测处理的对象的块的位置以及尺寸。另外,运动补偿预测部306从帧间预测模式判定部305获取帧间预测信息。根据所获取的帧间预测信息导出参考索引和运动矢量,在获取使解码图像存储器104内的参考索引所确定的参考图像从与预测块的图像信号相同的位置移动了运动矢量的量的位置的图像信号后,生成预测信号。
在帧间预测中的帧间预测模式是如L0预测或L1预测那样的、来自单个参考图片的预测的情况下,将从一个参考图片获取的预测信号设为运动补偿预测信号,在帧间预测模式是如BI预测那样的、预测模式是来自两个参考图片的预测的情况下,将对从两个参考图片获取的预测信号进行加权平均而得的信号设为运动补偿预测信号,并将运动补偿预测信号提供给预测方法决定部105。这里,将双预测的加权平均的比率设为1∶1,但也可以使用其他的比率进行加权平均。例如,也可以设为成为预测对象的图片与参考图片的图片间隔越近则加权的比率越大。另外,也可以使用图片间隔的组合与加权比率的对应表来进行加权比率的计算。
运动补偿预测部406具有与编码侧的运动补偿预测部306相同的功能。运动补偿预测部406通过开关408从通常预测运动矢量模式导出部401、通常合并模式导出部402、子块预测运动矢量模式导出部403和子块合并模式导出部404获取帧间预测信息。运动补偿预测部406将所获得的运动补偿预测信号提供给解码图像信号重叠部207。
<关于帧间预测模式>
将进行根据单个的参考图片的预测的处理定义为单预测。在单预测的情况下,进行L0预测或L1预测这样的、使用登记在参考列表L0或L1中的两个参考图片的任一个的预测。
图32示出了单预测中的L0的参考图片(RefL0Pic)处于处理对象图片(CurPic)之前的时刻的情况。图33示出了单预测中的L0预测的参考图片处于处理对象图片之后的时刻的情况。同样地,也能够通过将图32和图33的L0预测的参考图片置换为L1预测的参考图片(RefL1Pic)来进行单预测。
将进行根据两个参考图片的预测的处理定义为双预测,在双预测的情况下,利用L0预测和L1预测这两者来表述为BI预测。图34示出了双预测中的L0预测的参考图片处于处理对象图片之前的时刻、L1预测的参考图片处于处理对象图片之后的时刻的情况。图35示出了双预测中的L0预测的参考图片和L1预测的参考图片处于处理对象图片之前的时刻的情况。图36示出了双预测中的L0预测的参考图片和L1预测的参考图片处于处理对象图片之后的时刻的情况。
如此,L0/L1的预测类别和时间的关系能够在L0不限定于过去方向、L1不限定于未来方向的情况下使用。另外,在双预测的情况下,可以使用相同的参考图片执行L0预测和L1预测中的每一个。此外,基于表示是否使用L0预测和是否使用L1预测的信息(例如,标志)来判断是以单预测来进行运动补偿预测还是以双预测进行运动补偿预测。
<关于参考索引>
在本发明的实施方式中,为了提高运动补偿预测的精度,能够在运动补偿预测中从多个参考图片中选择最佳的参考图片。因此,将在运动补偿预测中利用的参考图片用作参考索引,并且将参考索引与差分运动矢量一起编码到比特流中。
<基于通常预测运动矢量模式的运动补偿处理>
如在图16的编码侧的帧间预测部102中也示出,当在帧间预测模式判定部305中选择了基于通常预测运动矢量模式导出部301的帧间预测信息时,运动补偿预测部306从帧间预测模式判定部305获取该帧间预测信息,导出成为当前处理对象的块的帧间预测模式、参考索引和运动矢量,生成运动补偿预测信号。所生成的运动补偿预测信号被提供给预测方法决定部105。
同样地,如在图22的解码侧的帧间预测部203中也示出那样,当在解码过程中开关408与通常预测运动矢量模式导出部401连接时,运动补偿预测部406获取基于通常预测运动矢量模式导出部401的帧间预测信息,导出成为当前处理对象的块的帧间预测模式、参考索引以及运动矢量,生成运动补偿预测信号。所生成的运动补偿预测信号被提供给解码图像信号重叠部207。
<基于通常合并模式的运动补偿处理>
如在图16的编码侧中的帧间预测部102中也示出的那样,当在帧间预测模式判定部305中选择了基于通常合并模式导出部302的帧间预测信息时,运动补偿预测部306从帧间预测模式判定部305获取该帧间预测信息,导出成为当前处理对象的块的帧间预测模式、参考索引和运动矢量,生成运动补偿预测信号。所生成的运动补偿预测信号被提供给预测方法决定部105。
同样地,如在图22的解码侧的帧间预测部203中也示出的那样,当在解码过程中开关408与通常合并模式导出部402连接时,运动补偿预测部406获取基于通常合并模式导出部402的帧间预测信息,导出成为当前处理对象的块的帧间预测模式、参考索引、运动矢量,生成运动补偿预测信号。所生成的运动补偿预测信号被提供给解码图像信号重叠部207。
<基于子块预测运动矢量模式的运动补偿处理>
如在图16的编码侧的帧间预测部102中也示出的那样,当在帧间预测模式判定部305中选择了基于子块预测运动矢量模式导出部303的帧间预测信息时,运动补偿预测部306从帧间预测模式判定部305获取该帧间预测信息,导出成为当前处理对象的块的帧间预测模式、参考索引和运动矢量,生成运动补偿预测信号。所生成的运动补偿预测信号被提供给预测方法决定部105。
同样,如在图22的解码侧的帧间预测部203中也示出的那样,当在解码过程中开关408与子块预测运动矢量模式导出部403连接时,运动补偿预测部406获取基于子块预测运动矢量模式导出部403的帧间预测信息,导出成为当前处理对象的块的帧间预测模式、参考索引以及运动矢量,生成运动补偿预测信号。所生成的运动补偿预测信号被提供给解码图像信号重叠部207。
<基于子块合并模式的运动补偿处理>
如在图16的编码侧的帧间预测部102中也示出的那样,当在帧间预测模式判定部305中选择了基于子块合并模式导出部304的帧间预测信息时,运动补偿预测部306从帧间预测模式判定部305获取该帧间预测信息,导出成为当前处理对象的块的帧间预测模式、参考索引以及运动矢量,生成运动补偿预测信号。所生成的运动补偿预测信号被提供给预测方法决定部105。
同样地,如在图22的解码侧的帧间预测部203中也示出的那样,当在解码过程中开关408与子块合并模式导出部404连接时,运动补偿预测部406获取基于子块合并模式导出部404的帧间预测信息,导出成为当前处理对象的块的帧间预测模式、参考索引以及运动矢量,生成运动补偿预测信号。所生成的运动补偿预测信号被提供给解码图像信号重叠部207。
<基于仿射变换预测的运动补偿处理>
在通常预测运动矢量模式和通常合并模式中,能够基于以下标志使用基于仿射模型的运动补偿。以下标志基于在编码处理中由帧间预测模式判定部305决定的帧间预测条件而被反映在以下标志中,并且被编码到比特流中。在解码处理中,基于比特流中的以下标志来确定是否执行基于仿射模型的运动补偿。
sps_affine_enabled_flag表示在帧间预测中能否使用基于仿射模型的运动补偿。如果sps_affine_enabled_flag为0,则以序列为单位进行抑制,使得不是基于仿射模型的运动补偿。另外,inter_affine_flag和cu_affine_type_flag不在编码视频序列的CU(编码块)句法中传送。如果sps_affine_enabled_flag是1,则能够在编码视频序列中使用基于仿射模型的运动补偿。
sps_affine_type_flag表示在帧间预测中能否使用基于六参数仿射模型的运动补偿。如果sps_affine_type_flag为0,则被抑制为不是基于六参数仿射模型的运动补偿。另外,cu_affine_type_flag不在编码视频序列的CU句法中传送。如果sps_affine_type_flag是1,则能够在编码视频序列中使用基于六参数仿射模型的运动补偿。在不存在sps_affine_type_flag的情况下,设为是0。
在对P条带或B条带进行解码的情况下,在成为当前处理对象的CU中,如果inter_affine_flag是1,则使用基于仿射模型的运动补偿来生成成为当前处理对象的CU的运动补偿预测信号。如果inter_affine_flag是0,则仿射模型不用于成为当前处理对象的CU。在不存在inter_affine_flag的情况下,设为是0。
在对P条带或B条带进行解码的情况下,在成为当前处理对象的CU中,如果cu_affine_type_flag是1,则使用基于六参数仿射模型的运动补偿来生成成为当前处理对象的CU的运动补偿预测信号。如果cu_affine_type_flag是0,则使用基于四参数仿射模型的运动补偿来生成成为当前处理对象的CU的运动补偿预测信号。
在基于仿射模型的运动补偿中,由于以子块为单位导出参考索引或运动矢量,因此以子块为单位使用成为处理对象的参考索引或运动矢量来生成运动补偿预测信号。
四参数仿射模型是以下模式:根据两个控制点的各自的运动矢量的水平分量及垂直分量的四个参数导出子块的运动矢量,以子块为单位进行运动补偿。
在本实施方式中,还可以构成为以与保存顺序相反的顺序操作利用历史预测运动矢量候选列表时的参考顺序。这里,从历史预测运动矢量候选列表的末尾侧保存,在按照历史预测运动矢量候选列表的开头侧的运动信息成为比末尾侧更旧的运动信息的顺序保存的情况下,变成与本实施方式相同的保存状态。另外,在按照历史预测运动矢量候选列表的开头侧的运动信息成为比末尾侧更新的运动信息的顺序保存的情况下,变成与本实施方式所示的相反的保存状态。即使在这样的相反的保存状态的情况下,通过以与保存顺序相反的顺序执行参考顺序,在从本实施方式所示的参考内容、即历史预测运动矢量候选列表中参考时,也可以从旧的运动信息向新添加的运动信息依次参考。进而,可以构成为在利用历史预测运动矢量候选列表时,分开使用以与保存顺序相同方向的顺序利用参考顺序的情况、以及以与保存顺序相反方向的顺序利用参考顺序的情况。即,可以构成为在利用历史预测运动矢量候选列表时,分开使用以下两种情况:能够从旧的运动信息向新添加的运动信息的顺序依次参考保存在历史预测运动矢量候选列表中的运动信息、以及能够从新添加的运动信息向旧的运动信息的顺序依次参考保存在历史预测运动矢量候选列表中的运动信息。
另外,可以构成为:在对历史预测运动矢量候选列表添加新的要素时不进行从历史预测运动矢量候选列表中搜索具有相同信息的要素而删除处理。
进而,在通常预测运动矢量模式中,可以构成为:在利用历史预测运动矢量候选列表HmvpCandList而导出通常预测运动矢量候选时不进行以下处理,从历史预测运动矢量候选列表中搜索具有相同信息的要素,将具有相同信息的要素不作为通常预测运动矢量候选。
<历史预测运动矢量候选列表>
这里,对历史预测运动矢量候选列表的构成和动作进行说明。
如图41所示,将编码对象块通过帧间预测而使用的帧间预测信息作为应登记的帧间预测信息候选hMvpCand,并登记在历史预测运动矢量候选列表HmvpCandList中作为过去使用过的历史。在图41中,历史预测运动矢量候选列表为能够保存六个要素的列表结构,将从先保存的要素中依次取出的、先入先出的FIFO(First-In,First Out)方式作为基本的保存动作。
这里,作为一例,将能够保存在HmvpCandList中的最大要素数设为六个来作为编码侧和解码侧的协定而进行了说明,但没有特别限定,可以是六个以上。另外,可以构成为:将能够保存在HmvpCandList中的最大要素数设为五个、或者设为五个以下。例如,可以通过预测运动矢量列表mvpListLX的最大要素数、最大合并候选数、最大子块合并候选数等的、与帧间预测信息候选的最大要素数同等的最大要素数来构成HmvpCandList。另外,可以以与各模式的帧间预测信息候选的最大要素数联动的方式构成HmvpCandList。
可以构成为:通过将该HmvpCandList的最大要素数包含于编码比特流的句法要素中从编码侧向解码侧传递。
如图41所示,HmvpCandList能够在从列表的开头的位置0到列表的末尾的位置5中保存六个要素,能够将要素填入位置0到位置5。将该位置0到位置5作为历史预测运动矢量索引hMvpIdx来管理。例如,位置0能够描述为hMVpIdx[0]、位置5能够描述为hMVpIdx[5]。利用NumHmvpCand来管理HmvpCandList的保存要素数,在从0到最大要素数6的范围内,管理保存要素的增减。
针对在HmvpCandList中保存有最大要素数的状态下从末尾侧添加新的要素的情况进行说明。如图42所示,在要将帧间预测信息候选hMvpCand作为历史而新登记的情况下,删除开头的位置0的要素,将各要素的位置一个一个地向开头方向移位。移位的结果,如图43所示,通过减少一个保存要素数,能够在末尾的位置5保存新要素。因此,通过将帧间预测信息候选hMvpCand保存在末尾的位置5,如图44所示,对HmvpCandList添加新的要素。
(变形例之一)
作为第一实施方式的变形例,构成为进行针对如下那样的历史预测运动矢量候选列表的处理。
<搜索历史预测运动矢量候选列表的相同候选>
在以图45所示的参考顺序利用历史预测运动矢量候选列表HmvpCand List的情况下,在登记在历史预测运动矢量候选列表HmvpCandList中的帧间预测信息之中存在与应登记的帧间预测信息候选hMvpCand相同的值的帧间预测时,从历史预测运动矢量候选列表HmvpCandList中删除该要素(帧间预测信息)。将这样的相同候选的删除处理以后称为相同候选删除处理。构成为:当对历史预测运动矢量候选列表HmvpCandList添加要素时,不进行相同候选删除处理。另外,构成为:在以与图46所示的对历史预测运动矢量候选列表的末尾添加新的要素的保存顺序相反的顺序参考的同时、利用历史预测运动矢量候选列表HmvpCandList的情况下,不进行相同候选删除处理。
图38是说明在以与从末尾侧添加的保存顺序相反的顺序参考、从旧的运动信息向新添加的运动信息依次参考并利用作为保存在历史预测运动矢量候选列表HmvpCandList中的历史预测运动矢量候选的运动信息、且不进行相同候选删除处理的情况下的、历史预测运动矢量候选导出处理步骤的流程图。
将在通常预测矢量模式或通常合并模式中进行帧间预测时使用的帧间预测信息作为应登记的帧间预测信息候选hMvpCand,不管在登记在编码侧的编码信息保存存储器111以及解码侧的编码信息保存存储器205所具备的历史预测运动矢量候选列表HmvpCandList中的帧间预测信息之中是否存在与应登记的帧间预测信息候选hMvpCand相同的值的帧间预测,从距开头侧最近的空位开始依次添加应登记的帧间预测信息候选hMvpCand。在HmvpCandList被填入到最大要素数时,删除历史预测运动矢量候选列表HmvpCandList的开头的要素(帧间预测信息),在历史预测运动矢量候选列表HmvpCandList的最后添加应登记的帧间预测信息候选hMvpCand。本实施方式的编码侧的编码信息保存存储器111以及解码侧的编码信息保存存储器205所具备的历史预测运动矢量候选列表HmvpCandList的要素数设为六个。首先,进行以条带为单位的初始设定。历史预测运动矢量候选列表HmvpCandList在条带的开头被初始化,登记在历史预测运动矢量候选列表HmvpCandList中的历史预测运动矢量候选数NumHmvpCand的值设定为0(图38的步骤S2401)。
接着,对条带内的每个编码块重复进行以下的历史预测运动矢量候选列表HmvpCandList的更新处理(图38的步骤S2402~S2407)。判定历史预测运动矢量候选列表HmvpCandList中是否存在登记对象的帧间预测信息候选hMvpCand(图38的步骤S2404)。在由编码侧的预测方法决定部105判定为通常预测运动矢量模式或通常合并模式的情况下、或者在由解码侧的比特串解码部解码为通常预测运动矢量模式或通常合并模式的情况下,将该帧间预测模式设为hMvpCand。在由编码侧的预测方法决定部105判定为帧内预测模式、子块预测运动矢量模式或子块合并模式的情况下、或者在由解码侧的比特串解码部解码为帧内预测模式、子块预测运动矢量模式或子块合并模式的情况下,不进行历史预测运动矢量候选列表HmvpCandL ist的更新处理,不存在登记对象的帧间预测信息候选hMvpCand。在不存在登记对象的帧间预测信息候选hMvpCand的情况下,跳过步骤S2406(图38的步骤S2404:否)。在存在登记对象的帧间预测信息候选hMvpCand的情况下,进行步骤S2406之后的处理(图38的步骤S2404:是)。
接着,进行历史预测运动矢量候选列表HmvpCandList的要素的移位以及添加处理(图38的步骤S2406)。
通过进行图38所示的处理,能够省略相同候选的检查和删除处理以及用于执行这些处理的变量的设定、比较处理,可以减少处理量。
另外,当对历史预测运动矢量候选列表HmvpCandList添加要素时,即使不对历史预测运动矢量候选列表进行相同候选删除处理,也可以通过设成能够从旧运动信息向新添加的运动信息依次参考,降低相同候选被添加到预测运动矢量候选列表的可能性。
(变形例之二)
作为第一实施方式的变形例,如下方式构成图38的步骤S2406的历史预测运动矢量候选列表HmvpCandList的要素移位/添加处理步骤。
图39是图38的步骤S2406的历史预测运动矢量候选列表HmvpCandLi st的要素移位/添加处理步骤的流程图。
首先,判定在去除保存在历史预测运动矢量候选列表HmvpCandList中的开头要素之后添加新的要素、还是在不去除要素的情况下添加新的要素。具体地,比较NumHmvpCand是否为6(图39的步骤S2541)。在NumH mvpCand为6的情况下(图39的步骤S2541:是),在去除保存在历史预测运动矢量候选列表HmvpCandList中的开头要素之后,添加新的要素。将索引i的初始值设定为1的值。从该初始值到NumHmvpCand,重复步骤S2543的要素移位处理。(图39的步骤S2542~S2544)。通过将HmvpCan dList[i]的要素复制到HmvpCandList[i-1],将要素移位到前方(图39的步骤S2543),将i增加1(图39的步骤S2542、S2544)。接下来,将帧间预测信息候选hMvpCand添加到历史预测运动矢量候选列表的与最后相当的从0开始数的第(NumHmvpCand-1)个HmvpCandList[NumHmvpCand-1](图39的步骤S2545),结束该历史预测运动矢量候选列表HmvpCandList的要素移位/添加处理。另一方面,在NumHmvpCand不是6的情况下(图39的步骤S2541:否),不去除保存在历史预测运动矢量候选列表HmvpCandList中的要素而添加新的要素。将帧间预测信息候选hMvpCand添加到历史预测运动矢量候选列表的与最后相当的从0开始数的第(NumHmvpCand-1)个HmvpCandList[NumHmvpCand],将NumHmvpCand增加1(图39的步骤S2546),结束该历史预测运动矢量候选列表HmvpCandList的要素移位/添加处理。
通过执行图39所示的处理,能够省略相同候选的检查和删除处理以及用于执行这些处理的变量的设定、比较处理,可以减少处理量。
(变形例之三)
在本实施方式中,对如下情况进行说明:以与从末尾侧添加新的运动信息的保存顺序相反的顺序参考的同时利用历史预测运动矢量候选列表HmvpCandList,从旧的运动信息向新添加的运动信息依次参考并利用作为保存在HmvpCandList中的历史预测运动矢量候选的运动信息,并且不进行相同候选删除处理。
在第一实施方式的变形例中,准备正向模式和反向模式,利用用于切换历史预测运动矢量候选列表HmvpCandList的参考顺序的历史参考标志信息而切换正向模式和反向模式,其中,该正向模式是参考顺序与从末尾添加的保存顺序相同的方向,从新添加的运动信息向旧的运动信息参考,该反向模式是参考顺序与从末尾侧添加新的运动信息的保存顺序相反的方向,从旧的运动信息向新添加的运动信息参考。将该历史参考标志包含于编码比特流的句法要素中而传递到解码侧,在解码侧获取在句法要素中具有该历史参考标志的编码比特流,以使能够解码。
(第二实施方式)
作为第二实施方式,当导出预测运动矢量候选列表mvpListLX时,如下的方式构成。特别是,当导出预测运动矢量候选列表mvpListLX时,以与从末尾新添加的保存顺序相反的顺序从开头参考,同时利用历史预测运动矢量候选列表HmvpCandList,在从历史预测运动矢量候选列表向预测运动矢量候选列表添加预测运动矢量候选的过程中,不进行判定预测运动矢量候选列表中是否包含相同预测运动矢量的处理。
以下,对本实施方式的历史预测运动矢量候选导出处理进行说明。
<不伴随相同候选删除处理的历史预测运动矢量候选导出处理>
这里,对不伴随相同候选删除处理的历史预测运动矢量候选导出处理进行说明。
图47是说明在导出预测运动矢量候选列表mvpListLX时、以与保存顺序相反的顺序参考的同时利用历史预测运动矢量候选列表HmvpCandList、且不进行相同候选删除处理的情况下的、历史预测运动矢量候选导出处理步骤的流程图。
在当前的预测运动矢量候选数numCurrMvpCand为预测运动矢量列表mvpListLX的最大要素数(这里,设为2)以上或历史预测运动矢量候选数NumHmvpCand的值为0的情况下(图47的步骤S2601:否),省略图47的步骤S2602至S2609的处理,并结束历史预测运动矢量候选导出处理步骤。在当前的预测运动矢量候选数numCurrMvpCand比预测运动矢量列表mvpListLX的最大要素数2小的情况下(图47的步骤S2601:是),进行图47的步骤S2602至S2609的处理。
接下来,重复图47的步骤S2603至S2608的处理,直到索引i从0到4和历史预测运动矢量候选数NumHmvpCand的任一个较小的值-1为止(图47的步骤S2602~S2609)。在当前的预测运动矢量候选数numCurrMvpCand是预测运动矢量列表mvpListLX的最大要素数2以上的情况下(图47的步骤S2603:否),省略图47的步骤S2604至S2609的处理,结束该历史预测运动矢量候选导出处理步骤。在当前的预测运动矢量候选数numCurrMvpCand比预测运动矢量列表mvpListLX的最大要素数2小的情况下(图47的步骤S2603:是),进行图47的步骤S2604之后的处理。
接着,对索引Y为0和1(L0和L1)分别进行步骤S2605至S2607的处理(图47的步骤S2604~S2608)。在当前的预测运动矢量候选数numCurrMvpCand是预测运动矢量列表mvpListLX的最大要素数2以上的情况下(图47的步骤S2605:否),省略图47的步骤S2606至S2609的处理,结束该历史预测运动矢量候选导出处理步骤。在当前的预测运动矢量候选数numCurrMvpCand比预测运动矢量列表mvpListLX的最大要素数2小的情况下(图47的步骤S2605:是),进行图47的步骤S2606之后的处理。
接着,在历史预测运动矢量候选列表HmvpCandList[i]的LY的参考索引是与编码/解码对象运动矢量的参考索引refIdxLX相同的参考索引的要素的情况下(图47的步骤S2606:是),将历史预测运动矢量候选HmvpCan dList[i]的LY的运动矢量添加到预测运动矢量候选列表的从0开始数第nu mCurrMvpCand个要素mvpListLX[numCurrMvpCand](图47的步骤S2607),将当前的预测运动矢量候选数numCurrMvpCand增加1。在历史预测运动矢量候选列表HmvpCandList[i]的LY的参考索引不是与编码/解码对象运动矢量的参考索引refIdxLX相同的参考索引的要素的情况下(图47的步骤S2606:否),跳过步骤S2607的添加处理。
在L0和L1中两者都进行以上的图47的步骤S2605至S2607的处理(图47的步骤S2604~S2608)。
将索引i增加1(图47的步骤S2602、S2609),在索引i是4和历史预测运动矢量候选数NumHmvpCand的任一个较小的值-1以下的情况下,再次进行步骤S2603之后的处理(图47的步骤S2602~S2609)。
通过进行如上的历史预测运动矢量候选导出处理,在从历史预测运动矢量候选列表向预测运动矢量候选列表添加的过程中,通过设为不伴随相同候选删除处理,能够省略相同候选的检查和删除处理以及用于执行这些处理的变量的设定、比较处理,可以减少处理量。
另外,通过设为能够从旧的运动信息向新添加的运动信息依次参考作为保存在HmvpCandList中的历史预测运动矢量候选的运动信息,可以将各种运动信息添加到预测运动矢量候选列表。
进而,在从历史预测运动矢量候选列表向预测运动矢量候选列表添加的过程中,即使针对历史预测运动矢量候选列表不进行相同候选删除处理,也可以通过设为能够从旧的运动信息向新添加的运动信息依次参考,降低相同候选被添加到预测运动矢量候选列表的可能性。
(变形例之一)
在第二实施方式中,对如下情况进行说明:当导出预测运动矢量候选列表mvpListLX时,以与从末尾新添加的保存顺序相反的顺序从开头参考,同时利用历史预测运动矢量候选列表HmvpCandList,并且不进行相同候选删除处理。
在第二实施方式的变形例中,如下所示,仅仅在历史预测运动矢量候选列表HmvpCandList的参考顺序时,以与从末尾新添加的保存顺序相反的顺序从开头参考,由此从旧的运动信息向新添加的运动信息参考,并且直接进行相同候选删除处理。
图48是说明在以与保存顺序相反的顺序参考的同时利用历史预测运动矢量候选列表HmvpCandList、且不进行相同候选删除处理的构成的情况下的、历史预测运动矢量候选导出处理步骤的流程图。
在当前的预测运动矢量候选数numCurrMvpCand是预测运动矢量列表mvpListLX的最大要素数(这里,设为2)以上或历史预测运动矢量候选数NumHmvpCand的值为0的情况下(图48的步骤S2801:否),省略图48的步骤S2802至S2809的处理,结束历史预测运动矢量候选导出处理步骤。在当前的预测运动矢量候选数numCurrMvpCand比预测运动矢量列表mvpListLX的最大要素数2小的情况下(图48的步骤S2801:是),进行图48的步骤S2802至S2809的处理。
接着,重复图48的步骤S2803至S2808的处理,直到索引i从0到4和历史预测运动矢量候选数NumHmvpCand的任一个较小的值-1为止(图48的步骤S2802~S2809)。在当前的预测运动矢量候选数numCurrMvpCand是预测运动矢量列表mvpListLX的最大要素数2以上的情况下(图48的步骤S2803:否),省略图48的步骤S2804至S2809的处理,结束该历史预测运动矢量候选导出处理步骤。在当前的预测运动矢量候选数numCurrMvpCand比预测运动矢量列表mvpListLX的最大要素数2小的情况下(图48的步骤S2803:是),进行图48的步骤S2804之后的处理。
接着,对索引Y为0和1(L0和L1)分别进行步骤S2805至S2807的处理(图48的步骤S2804~S2808)。在当前的预测运动矢量候选数numCurrMvpCand是预测运动矢量列表mvpListLX的最大要素数2以上的情况下(图48的步骤S2805:否),省略图48的步骤S2806至S2809的处理,结束该历史预测运动矢量候选导出处理步骤。在当前的预测运动矢量候选数numCurrMvpCand比预测运动矢量列表mvpListLX的最大要素数2小的情况下(图48的步骤S2805:是),进行图48的步骤S2806之后的处理。
接着,在历史预测运动矢量候选列表HmvpCandList[i]的LY的参考索引是与编码/解码对象运动矢量的参考索引refIdxLX相同的参考索引的要素、且是与预测运动矢量列表mvpListLX的任何要素不同的要素的情况下(图48的步骤S2806:是),将历史预测运动矢量候选HmvpCandList[i]的LY的运动矢量添加到预测运动矢量候选列表的从0开始数第numCurrMvpCand个要素mvpListLX[numCurrMvpCand](图48的步骤S2807),将当前的预测运动矢量候选数numCurrMvpCand增加1。在历史预测运动矢量候选列表HmvpCandList[i]的LY的参考索引是与编码/解码对象运动矢量的参考索引refIdxLX相同的参考索引的要素、且没有与预测运动矢量列表mvpListLX的任何要素不同的要素的情况下(图48的步骤S2806:否),跳过步骤S2807的添加处理。
在L0和L1中两者都进行以上的图48的步骤S2805至S2807的处理(图48的步骤S2804~S2808)。
将索引i增加1,在索引i是4和历史预测运动矢量候选数NumHmvpCand的任一个较小的值-1以下的情况下,再次进行步骤S2803后的处理(图48的步骤S2802~S2809)。
通过进行如上的历史预测运动矢量候选导出处理,直接进行相同候选删除处理,能够从旧的运动信息向新添加的运动信息依次参考作为保存在HmvpCandList中的历史预测运动矢量候选的运动信息,由此还可以将各种运动信息添加到预测运动矢量候选列表。
(变形例之二)
作为第二实施方式的变形例,当导出预测运动矢量候选列表mvpListLX时,如图39所示那样构成图38的步骤S2406的历史预测运动矢量候选列表HmvpCandList的要素移位/添加处理步骤。图39的说明与上述相同,因此省略其说明。
通过进行图39所示的处理,能够省略相同候选的检查和删除处理以及用于执行这些处理的变量的设定、比较处理,可以减少处理量。
(变形例之三)
在第二实施方式中,对如下情况进行说明:在导出预测运动矢量候选列表mvpListLX时,以与从末尾侧添加新的运动信息的保存顺序相反的顺序参考的同时利用历史预测运动矢量候选列表HmvpCandList,从旧的运动信息向新添加的运动信息依次参考并利用作为保存在HmvpCandList中的历史预测运动矢量候选的运动信息,并且不进行相同候选删除处理。在第二实施方式的变形例中为以下构成:准备正向模式和反向模式,利用用于切换历史预测运动矢量候选列表HmvpCandList的参考顺序的历史参考标志信息而切换正向模式和反向模式,其中,该正向模式是参考顺序与从末尾添加的保存顺序相同的方向,从新添加的运动信息向旧的运动信息参考,该反向模式是参考顺序与从末尾侧添加新的运动信息的保存顺序相反的方向,从旧的运动信息向新添加的运动信息参考。将该历史参考标志包含于编码比特流的句法要素中而传递到解码侧,在解码侧获取在句法要素中具有该历史参考标志的编码比特流,以使能够解码。
(第三实施方式)
作为第三实施方式,当导出合并候选列表时,如下的方式构成。特别是,将利用历史预测运动矢量候选列表时的参考顺序变更为从旧的运动信息向新添加的运动信息依次参考并利用。另外,在对合并候选列表添加新的要素时,变更为不进行从历史预测运动矢量候选列表中搜索并删除具有相同信息的要素的处理。进而,在通常合并模式中,当利用历史预测运动矢量候选列表HmvpCandList而导出通常合并候选时,变更为不进行以下处理:从历史预测运动矢量候选列表中搜索具有相同信息的要素,不将具有相同信息的要素作为通常合并候选。
<不伴随相同候选删除处理的历史合并候选导出处理>
这里,对不伴随相同候选删除处理的历史合并候选导出处理进行说明。
图40是说明在从旧的运动信息向新添加的运动信息依次参考的同时利用历史预测运动矢量候选列表HmvpCandList、且不进行相同候选删除处理的构成的的情况下的、历史合并候选导出处理步骤的流程图。
首先,进行初始化处理(图40的步骤S2701)。对变量numOrigMergeCand设定登记在当前的合并候选列表中的要素数numCurrMergeCand。
将索引hMvpIdx的初始值设定为0,从该初始值到NumHmvpCand-1,重复图40的步骤S2703至步骤S2710的添加处理(图40的步骤S2702~S2711)。若登记在当前的合并候选列表中的要素数numCurrMergeCand不是(最大合并候选数MaxNumMergeCand-1)以下,则合并候选被添加到合并候选列表的所有要素中,因此结束该历史合并候选导出处理(图40的步骤S2703:否)。在登记在当前的合并候选列表中的要素数numCurrMergeCa nd为(最大合并候选数MaxNumMergeCand-1)以下的情况下,进行步骤S2710之后的处理(图40的步骤S2703:是)。将历史预测运动矢量候选列表的第hMvpIdx个要素HmvpCandList[hMvpIdx]添加到合并候选列表的第n umCurrMergeCand个mergeCandList[numCurrMergeCand],使numCurrMerg eCand增加1(图40的步骤S2710)。将索引hMvpIdx增加1(图40的步骤S2702),进行图40的步骤S2702~S2711的重复处理。
在完成了对历史预测运动矢量候选列表中的所有要素的确认、或者对合并候选列表的所有要素添加合并候选后,完成该历史合并候选的导出处理。
通过进行如上的历史合并候选导出处理,在从历史预测运动矢量候选列表向合并候选列表添加的过程中,通过设为不伴随相同候选删除处理,能够省略相同候选的检查和删除处理以及用于执行这些处理的变量的设定、比较处理,可以减少处理量。
另外,通过设为能够从旧的运动信息向新添加的运动信息依次参考作为保存在HmvpCandList中的历史预测运动矢量候选的运动信息,可以将各种运动信息添加到预测运动矢量候选列表。
进而,在从历史预测运动矢量候选列表向合并候选列表添加的过程中,即使针对历史预测运动矢量候选列表不进行相同候选删除处理,也可以通过设为能够从旧的运动信息向新添加的运动信息依次参考,降低相同候选被添加到预测运动矢量候选列表的可能性。
(变形例之一)
作为第三实施方式的变形例,构成为:在导出合并候选列表时,当对如图38所示那样的历史预测运动矢量候选列表HmvpCandList添加要素时,不进行相同候选删除处理。图38的说明与上述相同,因此省略其说明。
通过进行图38所示的处理,能够省略相同候选的检查和删除处理以及用于执行这些处理的变量的设定、比较处理,可以减少处理量。
另外,当对历史预测运动矢量候选列表HmvpCandList添加要素时,即使对历史预测运动矢量候选列表不进行相同候选删除处理的情况下,也可以通过设为能够从旧的运动信息向新添加的运动信息依次参考,来降低相同候选被添加到合并候选列表的可能性。
(变形例之二)
作为第三实施方式的变形例,构成为:当导出合并候选列表时,如图39所示那样构成图38的步骤S2406的历史预测运动矢量候选列表HmvpCandList的要素移位/添加处理步骤。图39的说明与上述相同,因此省略其说明。
通过进行图39所示的处理,能够省略相同候选的检查和删除处理以及用于执行这些处理的变量的设定、比较处理,可以减少处理量。
(变形例之三)
在第三实施方式中,对如下构成的情况进行说明:在导出合并候选列表时,从旧的运动信息向新添加的运动信息依次参考并利用作为保存在HmvpCandList中的历史预测运动矢量候选的运动信息,并且不进行相同候选删除处理。
在第三实施方式的变形例中,构成为:准备正向模式和反向模式,利用用于切换历史预测运动矢量候选列表HmvpCandList的参考顺序的历史参考标志信息而切换正向模式和反向模式,其中,该正向模式是参考顺序从新添加的运动信息向旧的运动信息参考,该反向模式是参考顺序从旧的运动信息向新添加的运动信息参考。将该历史参考标志包含于编码比特流的句法要素中而传递到解码侧,在解码侧获取在句法要素中具有该历史参考标志的编码比特流,以使能够解码。
以上所述的所有实施方式也可以组合多个。
在以上所述的所有实施方式中,图像编码装置输出的比特流具有特定的数据格式,以便能够根据在实施方式中使用的编码方法进行解码。另外,与该图像编码装置对应的图像解码装置能够对该特定的数据格式的比特流进行解码。
在使用有线或无线网络用于在图像编码装置和图像解码装置之间交换比特流的情况下,可以将比特流转换为适合于通信线路的传送形式的数据格式来传送。在该情况下,设置了:发送装置,将从图像编码装置输出的比特流转换为适合于通信线路的传送形式的数据格式的编码数据并将该编码数据发送到网络;以及接收装置,从网络接收编码数据并将该编码数据恢复为比特流而提供给图像解码装置。发送装置包括:存储器,对从图像编码装置输出的比特流进行缓冲;分组处理部,对比特流进行分组;以及发送部,经由网络发送已被分组的编码数据。接收装置包括:接收部,经由网络接收已被分组的编码数据;存储器,对已接收到的编码数据进行缓冲;以及分组处理部,对编码数据进行分组处理以生成比特流,并将该比特流提供给图像解码装置。
另外,也可以通过在构成中添加显示由图像解码装置解码的图像的显示部来作为显示装置。在这种情况下,显示部读出由解码图像信号重叠部207生成并保存在解码图像存储器208中的解码图像信号,并且显示在屏幕上。
另外,也可以将拍摄部添加到结构中,将拍摄到的图像输入到图像编码装置中,从而作为拍摄装置。在这种情况下,拍摄部将拍摄到的图像信号输入到块分割部101。
图37示出本实施方式的编码解码装置的硬件结构的一例。编码解码装置包括本发明实施方式涉及的图像编码装置和图像解码装置的结构。该编码解码装置9000具有CPU9001、编解码器IC9002、I/O接口9003、存储器9004、光盘驱动器9005、网络接口9006、视频接口9009,各部分通过总线9010连接。
图像编码部9007和图像解码部9008典型地作为编解码器IC9002来安装。本发明实施方式涉及的图像编码装置的图像编码处理由图像编码部9007执行,本发明实施方式涉及的图像解码装置中的图像解码处理由图像解码部9008执行。I/O接口9003例如通过USB接口实现,与外部的键盘9104、鼠标9105等连接。CPU 9001基于通过I/O接口9003输入的用户操作,控制编码解码装置9000,以执行用户期望的动作。作为用户通过键盘9104、鼠标9105等进行的操作,有执行编码和解码中的哪一个的功能的选择、编码质量的设定、比特流的输入输出目的地、图像的输入输出目的地等。
当用户希望再现记录在盘记录介质9100中的图像的操作时,光盘驱动器9005从插入的盘记录介质9100读出比特流,并且经由总线9010将读出的比特流发送到编解码器IC9002的图像解码部9008。图像解码部9008对输入的比特流执行本发明的实施方式涉及的图像解码装置中的图像解码处理,并将解码图像经由视频接口9009发送到外部的监视器9103。另外,编码解码装置9000具有网络接口9006,并能够经由网络9101与外部的分发服务器9106、便携终端9107连接。当用户希望再现记录在分发服务器9106或移动终端9107上的图像而不是记录在盘记录介质9100上的图像时,网络接口9006从网络9101获取比特流,而不是从输入的盘记录介质9100读出比特流。另外,在用户希望再现记录在存储器9004中的图像的情况下,对记录在存储器9004中的比特流,执行本发明的实施方式涉及的图像解码装置中的图像解码处理。
在用户希望将由外部的相机9102拍摄的图像进行编码并记录在存储器9004中的操作的情况下,视频接口9009从相机9102输入图像,经由总线9010发送到编解码器IC9002的图像编码部9007。图像编码部9007对经由视频接口9009输入的图像执行本发明的实施方式涉及的图像编码装置中的图像编码处理,并生成比特流。然后,通过总线9010将比特流发送到存储器9004。当用户希望将比特流记录在盘记录介质9100上而不是存储器9004中时,光盘驱动器9005针对插入的盘记录介质9100进行比特流的写入。
也可以实现具有图像编码装置而不具有图像解码装置的硬件结构、或具有图像解码装置而不具有图像编码装置的硬件结构。这样的硬件结构例如通过将编解码器IC9002分别置换为图像编码部9007或图像解码部9008来实现。
与上述编码和解码相关的处理当然可以实现为使用硬件的传送、存储和接收装置,并且可以通过存储在ROM(只读存储器)、闪存等中的固件或计算机等的软件来实现。可以将该固件程序、软件程序记录在计算机等可读取的记录介质中来提供,也可以通过有线或无线网络从服务器提供,还可以作为地面波或卫星数字广播的数据广播来提供。
以上,基于实施方式对本发明进行了说明。实施方式为例示,这些各构成要素和各处理步骤的组合可以有各种变形例,并且这样的变形例也在本发明的范围内,这是本领域技术人员能够理解的。
符号说明
100图像编码装置、101块分割部、102帧间预测部、103帧内预测部、104解码图像存储器、105预测方法决定部、106残差生成部、107正交变换/量化部、108比特串编码部、109逆量化/逆正交变换部、110解码图像信号重叠部、111编码信息保存存储器、200图像解码装置、201比特串解码部、202块分割部、203帧间预测部、204帧内预测部、205编码信息保存存储器、206逆量化/逆正交变换部、207解码图像信号重叠部、208解码图像存储器。
Claims (6)
1.一种动图像编码装置,对动图像以块为单位进行编码,并生成比特流,所述动图像编码装置包括:
历史运动信息候选列表更新部,将已编码块的运动信息追加到历史运动信息候选列表的末尾;
空间运动信息候选导出部,将从在空间上与编码对象块接近的块的运动信息导出的空间运动信息候选追加到运动信息候选列表;以及
历史运动信息候选导出部,将登记在所述历史运动信息候选列表中的历史运动信息候选追加到所述运动信息候选列表中,
所述历史运动信息候选列表更新部在与所述已编码块的运动信息相同的运动信息存在于所述历史运动信息候选列表的情况下,从所述历史运动信息候选列表中删除所述相同的运动信息,并将所述已编码块的运动信息追加到所述历史运动信息候选列表的末尾,
所述历史运动信息候选导出部不进行与所述空间运动信息候选之间的运动信息的比较,而按照从登记在所述历史运动信息候选列表中的运动信息中的旧的运动信息到新的运动信息的顺序将所述历史运动信息候选追加到所述运动信息候选列表中。
2.一种动图像编码方法,对动图像以块为单位进行编码,并生成比特流,所述动图像编码方法包括:
历史运动信息候选列表更新步骤,将已编码块的运动信息追加到历史运动信息候选列表的末尾;
空间运动信息候选导出步骤,将从在空间上与编码对象块接近的块的运动信息导出的空间运动信息候选追加到运动信息候选列表;以及
历史运动信息候选导出步骤,将登记在所述历史运动信息候选列表中的历史运动信息候选追加到所述运动信息候选列表中,
在所述历史运动信息候选列表更新步骤中,在与所述已编码块的运动信息相同的运动信息存在于所述历史运动信息候选列表的情况下,从所述历史运动信息候选列表中删除所述相同的运动信息,并将所述已编码块的运动信息追加到所述历史运动信息候选列表的末尾,
在所述历史运动信息候选导出步骤中,不进行与所述空间运动信息候选之间的运动信息的比较,而按照从登记在所述历史运动信息候选列表中的运动信息中的旧的运动信息到新的运动信息的顺序将所述历史运动信息候选追加到所述运动信息候选列表中。
3.一种动图像解码装置,对编码比特串进行解码,所述编码比特串是将动图像以块为单位进行编码而成,所述动图像解码装置包括:
历史运动信息候选列表更新部,将已解码块的运动信息追加到历史运动信息候选列表的末尾;
空间运动信息候选导出部,将从在空间上与编码对象块接近的块的运动信息导出的空间运动信息候选追加到运动信息候选列表;以及
历史运动信息候选导出部,将登记在所述历史运动信息候选列表中的历史运动信息候选追加到所述运动信息候选列表中,
所述历史运动信息候选列表更新部在与所述已解码块的运动信息相同的运动信息存在于所述历史运动信息候选列表的情况下,从所述历史运动信息候选列表中删除所述相同的运动信息,并将所述已编码块的运动信息追加到所述历史运动信息候选列表的末尾,
所述历史运动信息候选导出部不进行与所述空间运动信息候选之间的运动信息的比较,而按照从登记在所述历史运动信息候选列表中的运动信息中的旧的运动信息到新的运动信息的顺序将所述历史运动信息候选追加到所述运动信息候选列表中。
4.一种动图像解码方法,对编码比特串进行解码,所述编码比特串是将动图像以块为单位进行编码而成,所述动图像解码方法包括:
历史运动信息候选列表更新步骤,将已解码块的运动信息追加到历史运动信息候选列表的末尾;
空间运动信息候选导出步骤,将从在空间上与解码对象块接近的块的运动信息导出的空间运动信息候选追加到运动信息候选列表;以及
历史运动信息候选导出步骤,将登记在所述历史运动信息候选列表中的历史运动信息候选追加到所述运动信息候选列表中,
在所述历史运动信息候选列表更新步骤中,在与所述已解码块的运动信息相同的运动信息存在于所述历史运动信息候选列表的情况下,从所述历史运动信息候选列表中删除所述相同的运动信息,并将所述已解码块的运动信息追加到所述历史运动信息候选列表的末尾,
在所述历史运动信息候选导出步骤中,不进行与所述空间运动信息候选之间的运动信息的比较,而按照从登记在所述历史运动信息候选列表中的运动信息中的旧的运动信息到新的运动信息的顺序将所述历史运动信息候选追加到所述运动信息候选列表中。
5.一种保存方法,将按照权利要求2所述的动图像编码方法生成的比特流保存在记录介质中。
6.一种传送方法,传送按照权利要求2所述的动图像编码方法生成的比特流。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018247405 | 2018-12-28 | ||
JP2018-247405 | 2018-12-28 | ||
JP2019-082763 | 2019-04-24 | ||
JP2019082763 | 2019-04-24 | ||
CN201980044824.XA CN112425170B (zh) | 2018-12-28 | 2019-12-20 | 动图像编码装置、动图像编码方法、动图像编码程序、动图像解码装置、动图像解码方法以及动图像解码程序 |
PCT/JP2019/050004 WO2020137848A1 (ja) | 2018-12-28 | 2019-12-20 | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980044824.XA Division CN112425170B (zh) | 2018-12-28 | 2019-12-20 | 动图像编码装置、动图像编码方法、动图像编码程序、动图像解码装置、动图像解码方法以及动图像解码程序 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118018758A true CN118018758A (zh) | 2024-05-10 |
Family
ID=71127628
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110118037.4A Active CN112954317B (zh) | 2018-12-28 | 2019-12-20 | 动图像编码装置和方法、以及动图像解码装置和方法 |
CN202410241316.3A Pending CN118018758A (zh) | 2018-12-28 | 2019-12-20 | 动图像编码装置和方法、以及动图像解码装置和方法 |
CN202410241385.4A Pending CN118018759A (zh) | 2018-12-28 | 2019-12-20 | 动图像编码装置和方法、以及动图像解码装置和方法 |
CN202410240805.7A Pending CN118018757A (zh) | 2018-12-28 | 2019-12-20 | 动图像编码装置和方法、以及动图像解码装置和方法 |
CN201980044824.XA Active CN112425170B (zh) | 2018-12-28 | 2019-12-20 | 动图像编码装置、动图像编码方法、动图像编码程序、动图像解码装置、动图像解码方法以及动图像解码程序 |
CN202410240711.XA Pending CN118018756A (zh) | 2018-12-28 | 2019-12-20 | 动图像编码装置和方法、以及动图像解码装置和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110118037.4A Active CN112954317B (zh) | 2018-12-28 | 2019-12-20 | 动图像编码装置和方法、以及动图像解码装置和方法 |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410241385.4A Pending CN118018759A (zh) | 2018-12-28 | 2019-12-20 | 动图像编码装置和方法、以及动图像解码装置和方法 |
CN202410240805.7A Pending CN118018757A (zh) | 2018-12-28 | 2019-12-20 | 动图像编码装置和方法、以及动图像解码装置和方法 |
CN201980044824.XA Active CN112425170B (zh) | 2018-12-28 | 2019-12-20 | 动图像编码装置、动图像编码方法、动图像编码程序、动图像解码装置、动图像解码方法以及动图像解码程序 |
CN202410240711.XA Pending CN118018756A (zh) | 2018-12-28 | 2019-12-20 | 动图像编码装置和方法、以及动图像解码装置和方法 |
Country Status (10)
Country | Link |
---|---|
US (2) | US11558606B2 (zh) |
EP (1) | EP3905690A4 (zh) |
JP (4) | JP6763468B1 (zh) |
KR (2) | KR20240000647A (zh) |
CN (6) | CN112954317B (zh) |
BR (1) | BR112021012426A8 (zh) |
MX (1) | MX2021007755A (zh) |
RU (1) | RU2768971C1 (zh) |
WO (1) | WO2020137848A1 (zh) |
ZA (1) | ZA202104079B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112042191B (zh) * | 2019-01-01 | 2024-03-19 | Lg电子株式会社 | 以基于历史的运动矢量为基础预测处理视频信号的方法和设备 |
WO2020141962A1 (ko) * | 2019-01-04 | 2020-07-09 | 세종대학교산학협력단 | 영상 부호화/복호화 방법 및 장치 |
US11627328B2 (en) * | 2020-10-16 | 2023-04-11 | Tencent America LLC | Method and apparatus for video coding |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3277111B2 (ja) | 1995-10-18 | 2002-04-22 | シャープ株式会社 | 動画像符号化装置および動画像復号化装置 |
ES2665693T3 (es) | 2001-11-06 | 2018-04-26 | Panasonic Intellectual Property Corporation Of America | Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento |
JP4003128B2 (ja) * | 2002-12-24 | 2007-11-07 | ソニー株式会社 | 画像データ処理装置および方法、記録媒体、並びにプログラム |
GB2469679B (en) * | 2009-04-23 | 2012-05-02 | Imagination Tech Ltd | Object tracking using momentum and acceleration vectors in a motion estimation system |
US8917769B2 (en) | 2009-07-03 | 2014-12-23 | Intel Corporation | Methods and systems to estimate motion based on reconstructed reference frames at a video decoder |
US9313494B2 (en) * | 2011-06-20 | 2016-04-12 | Qualcomm Incorporated | Parallelization friendly merge candidates for video coding |
CN107071470B (zh) * | 2011-06-27 | 2020-02-07 | 三星电子株式会社 | 对图像进行解码的方法 |
WO2013057359A1 (en) | 2011-10-21 | 2013-04-25 | Nokia Corporation | Method for video coding and an apparatus |
US9571833B2 (en) * | 2011-11-04 | 2017-02-14 | Nokia Technologies Oy | Method for coding and an apparatus |
US10264281B2 (en) * | 2012-07-02 | 2019-04-16 | Hfi Innovation Inc. | Method and apparatus of inter-view candidate derivation in 3D video coding |
JP5834253B2 (ja) * | 2013-03-27 | 2015-12-16 | パナソニックIpマネジメント株式会社 | 画像処理装置、画像処理方法、及び画像処理プログラム |
US9300906B2 (en) * | 2013-03-29 | 2016-03-29 | Google Inc. | Pull frame interpolation |
US10057594B2 (en) | 2013-04-02 | 2018-08-21 | Vid Scale, Inc. | Enhanced temporal motion vector prediction for scalable video coding |
JP6340567B2 (ja) | 2014-05-30 | 2018-06-13 | 株式会社アクセル | 動画再生方法及び動画再生システム |
WO2015192286A1 (en) | 2014-06-16 | 2015-12-23 | Qualcomm Incorporated | Simplified shifting merge candidate and merge list derivation in 3d-hevc |
CN105939475A (zh) * | 2016-06-06 | 2016-09-14 | 中国矿业大学 | 一种高质量边信息生成方法 |
KR20210024502A (ko) | 2018-06-29 | 2021-03-05 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | Hmvp 후보를 병합/amvp에 추가할 때의 부분/풀 프루닝 |
EP3797516A1 (en) | 2018-06-29 | 2021-03-31 | Beijing Bytedance Network Technology Co. Ltd. | Interaction between lut and amvp |
TWI723444B (zh) | 2018-06-29 | 2021-04-01 | 大陸商北京字節跳動網絡技術有限公司 | 使用一個或多個查找表來按順序存儲先前編碼的運動信息並使用它們來編碼後面的塊的概念 |
US10958934B2 (en) * | 2018-07-27 | 2021-03-23 | Tencent America LLC | History-based affine merge and motion vector prediction |
KR20230146092A (ko) | 2018-10-02 | 2023-10-18 | 엘지전자 주식회사 | Hmvp를 기반으로 예측 후보를 구성하는 방법 및 장치 |
BR122021011268B1 (pt) * | 2018-10-04 | 2022-06-14 | Lg Electronics Inc | Método e aparelho de decodificação de imagem, método e aparelho de codificação de imagem e mídias de armazenamento não transitórias legíveis por computador |
US11310515B2 (en) * | 2018-11-14 | 2022-04-19 | Tencent America LLC | Methods and apparatus for improvement for intra-inter prediction mode |
US11470340B2 (en) | 2018-12-10 | 2022-10-11 | Tencent America LLC | Simplified merge list construction for small coding blocks |
WO2020122640A1 (ko) * | 2018-12-12 | 2020-06-18 | 엘지전자 주식회사 | 히스토리 기반 모션 벡터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치 |
-
2019
- 2019-12-20 RU RU2021118523A patent/RU2768971C1/ru active
- 2019-12-20 BR BR112021012426A patent/BR112021012426A8/pt unknown
- 2019-12-20 KR KR1020237043766A patent/KR20240000647A/ko not_active Application Discontinuation
- 2019-12-20 EP EP19904995.8A patent/EP3905690A4/en active Pending
- 2019-12-20 US US17/269,942 patent/US11558606B2/en active Active
- 2019-12-20 MX MX2021007755A patent/MX2021007755A/es unknown
- 2019-12-20 CN CN202110118037.4A patent/CN112954317B/zh active Active
- 2019-12-20 CN CN202410241316.3A patent/CN118018758A/zh active Pending
- 2019-12-20 CN CN202410241385.4A patent/CN118018759A/zh active Pending
- 2019-12-20 CN CN202410240805.7A patent/CN118018757A/zh active Pending
- 2019-12-20 WO PCT/JP2019/050004 patent/WO2020137848A1/ja unknown
- 2019-12-20 KR KR1020207037255A patent/KR102617199B1/ko active IP Right Grant
- 2019-12-20 CN CN201980044824.XA patent/CN112425170B/zh active Active
- 2019-12-20 CN CN202410240711.XA patent/CN118018756A/zh active Pending
- 2019-12-27 JP JP2019239371A patent/JP6763468B1/ja active Active
-
2020
- 2020-09-09 JP JP2020151408A patent/JP2020205623A/ja active Pending
-
2021
- 2021-06-14 ZA ZA2021/04079A patent/ZA202104079B/en unknown
-
2022
- 2022-03-22 JP JP2022046098A patent/JP7457924B2/ja active Active
- 2022-11-22 US US17/992,739 patent/US20230091579A1/en active Pending
-
2023
- 2023-12-14 JP JP2023211012A patent/JP2024023670A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CN112954317A (zh) | 2021-06-11 |
EP3905690A4 (en) | 2022-11-02 |
KR102617199B1 (ko) | 2023-12-27 |
CN118018756A (zh) | 2024-05-10 |
US11558606B2 (en) | 2023-01-17 |
EP3905690A1 (en) | 2021-11-03 |
CN112954317B (zh) | 2022-02-11 |
RU2022106510A (ru) | 2022-03-21 |
CN112425170B (zh) | 2024-03-22 |
JP7457924B2 (ja) | 2024-03-29 |
BR112021012426A8 (pt) | 2022-08-02 |
CN118018759A (zh) | 2024-05-10 |
CN118018757A (zh) | 2024-05-10 |
US20230091579A1 (en) | 2023-03-23 |
RU2768971C1 (ru) | 2022-03-28 |
MX2021007755A (es) | 2021-08-05 |
JP6763468B1 (ja) | 2020-09-30 |
US20210185311A1 (en) | 2021-06-17 |
JP2020182207A (ja) | 2020-11-05 |
ZA202104079B (en) | 2022-10-26 |
JP2024023670A (ja) | 2024-02-21 |
WO2020137848A1 (ja) | 2020-07-02 |
JP2020205623A (ja) | 2020-12-24 |
BR112021012426A2 (pt) | 2021-09-08 |
CN112425170A (zh) | 2021-02-26 |
KR20240000647A (ko) | 2024-01-02 |
JP2022082617A (ja) | 2022-06-02 |
KR20210013199A (ko) | 2021-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113491126B (zh) | 图像编码装置、图像编码方法以及图像编码程序、图像解码装置、图像解码方法以及图像解码程序 | |
CN113557739B (zh) | 图像编码装置、图像编码方法以及图像编码程序、图像解码装置、图像解码方法以及图像解码程序 | |
JP7457924B2 (ja) | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、動画像復号プログラム、及びデータ構造 | |
CN112470477B (zh) | 图像编码装置、图像编码方法、图像编码程序、图像解码装置、图像解码方法及图像解码程序 | |
CN113287314B (zh) | 动图像解码装置、动图像解码方法、动图像解码程序、动图像编码装置、动图像编码方法以及动图像编码程序 | |
CN113228678B (zh) | 动图像编码装置、动图像编码方法以及动图像编码程序、动图像解码装置、动图像解码方法以及动图像解码程序 | |
CN112369033B (zh) | 动图像编码装置、动图像编码方法、动图像解码装置以及动图像解码方法 | |
CN112400321B (zh) | 图像解码装置、图像解码方法以及图像解码程序 | |
KR102583807B1 (ko) | 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램 | |
CN116389749A (zh) | 动图像解码装置和方法、以及动图像编码装置和方法 | |
CN113055690B (zh) | 图像编码装置和方法、图像解码装置和方法、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |