CN116527930A - 图像编码装置、图像编码方法以及图像解码装置、图像解码方法 - Google Patents

图像编码装置、图像编码方法以及图像解码装置、图像解码方法 Download PDF

Info

Publication number
CN116527930A
CN116527930A CN202310676815.0A CN202310676815A CN116527930A CN 116527930 A CN116527930 A CN 116527930A CN 202310676815 A CN202310676815 A CN 202310676815A CN 116527930 A CN116527930 A CN 116527930A
Authority
CN
China
Prior art keywords
prediction
triangle
merge
merge candidate
motion vector
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
Application number
CN202310676815.0A
Other languages
English (en)
Inventor
竹原英树
中村博哉
坂爪智
福岛茂
熊仓彻
仓重宏之
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Godo Kaisha IP Bridge 1
Original Assignee
Godo Kaisha IP Bridge 1
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Godo Kaisha IP Bridge 1 filed Critical Godo Kaisha IP Bridge 1
Publication of CN116527930A publication Critical patent/CN116527930A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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

Abstract

本发明涉及图像编码装置、图像编码方法以及图像解码装置、图像解码方法,包括:合并候选构建部,构建合并候选列表,合并候选列表具有包括空间合并候选的最大合并候选数的合并候选;通常合并候选选择部,根据合并索引从合并候选列表中选择成为单预测或双预测的通常合并候选;以及三角形合并候选选择部,根据第一三角形合并索引从合并候选列表中选择成为单预测的第一三角形合并候选,根据第二三角形合并索引选择成为单预测的第二三角形合并候选,与第一三角形合并索引有关的第一最大三角形合并候选数与最大合并候选数相同。

Description

图像编码装置、图像编码方法以及图像解码装置、图像解码 方法
本申请是基于申请号为202080019439.2、申请日为2020年3月6日、申请人为知识产权之桥一号有限责任公司、发明名称为“图像编码装置、图像编码方法以及图像编码程序、图像解码装置、图像解码方法以及图像解码程序”的发明提出的分案申请。
技术领域
本发明涉及将图像分割为块并进行预测的图像编码和解码技术。
背景技术
在图像编码和解码中,将作为处理对象的图像分割为预定数量的像素集合、即块,以块为单位进行处理。通过分割成适当的块,适当地设定画面内预测(帧内预测)、画面间预测(帧间预测),编码效率得以提高。
在动图像的编码/解码中,通过根据已编码/解码的图片进行预测的帧间预测来提高编码效率。专利文献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是用于说明帧间预测的参考块的图;
图12A是用于描述编码块预测模式的句法;
图12B是用于描述编码块预测模式的句法;
图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是用于说明本发明实施方式的编码解码装置的硬件结构的一例的图;
图38A是说明三角形合并模式的预测的图;
图38B是说明三角形合并模式的预测的图;
图39是说明平均合并候选导出处理步骤的流程图;
图40是说明三角形合并候选导出的流程图;
图41是说明第一实施方式的合并三角形分区0的单预测运动信息的导出的流程图;
图42是说明第一实施方式的合并三角形分区1的单预测运动信息的导出的流程图;
图43A是说明第一实施方式的三角形合并候选的运动信息的例子的图;
图43B是说明第一实施方式的三角形合并候选的运动信息的例子的图;
图44是说明第二实施方式的合并三角形分区0的单预测运动信息的导出的流程图;
图45是说明第二实施方式的合并三角形分区1的单预测运动信息的导出的流程图;
图46A是说明第二实施方式的三角形合并候选的运动信息的例子的图;
图46B是说明第二实施方式的三角形合并候选的运动信息的例子的图。
具体实施方式
定义在本实施方式中使用的技术及技术用语。
<树块>
在实施方式中,以预定的尺寸对编码/解码处理对象图像进行均等分割。将此单位定义为树块。在图4中,将树块的尺寸设为128×128像素,但树块的尺寸并不限定于此,可以设定任意的尺寸。作为处理对象(在编码处理中对应于编码对象,在解码处理中对应于解码对象。)的树块按照光栅扫描顺序,即从左到右、从上到下的顺序切换。各树块的内部可以进行进一步的递归分割。将在对树块进行递归分割之后的、成为编码/解码对象的块定义为编码块。另外,将树块、编码块统称定义为块。通过进行适当的块分割,能够进行高效率的编码。树块的尺寸可以是在编码装置和解码装置中设为预先决定的固定值,也可以采用将编码装置决定的树块的尺寸传送到解码装置的结构。这里,将树块的最大尺寸设为128×128像素,将树块的最小尺寸设为16×16像素。另外,将编码块的最大尺寸设为64×64像素,将编码块的最小尺寸设为4×4像素。
<预测模式>
以处理对象编码块为单位,切换帧内预测(MODE_INTRA)和帧间预测(MODE_INTER),该帧内预测(MODE_INTRA)根据处理对象图像的已处理图像信号进行预测,该帧间预测(MODE_INTER)根据已处理图像的图像信号进行预测。
已处理图像用于将在编码处理中完成了编码的信号进行解码而得到的图像、图像信号、树块、块、编码块等,并用于在解码处理中完成了解码的图像、图像信号、树块、块、编码块等。
将识别该帧内预测(MODE_INTRA)和帧间预测(MODE_INTER)的模式定义为预测模式(PredMode)。预测模式(PredMode)以值的形式表现帧内预测(MODE_INTRA)或帧间预测(MODE_INTER)。
<帧间预测>
在根据已处理图像的图像信号进行预测的帧间预测中,能够将多个已处理图像用作参考图片。为了管理多个参考图片,定义L0(参考列表0)和L1(参考列表1)这两种参考列表,分别使用参考索引来确定参考图片。在P条带(Pslice)中,能够使用L0预测(Pred_L0)。在B条带(Bslice)中,能够使用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是控制点。
仿射变换运动补偿可以在预测运动矢量模式和合并模式中的任一模式中使用。将在预测运动矢量模式下应用仿射变换运动补偿的模式定义为子块预测运动矢量模式,将在合并模式下应用仿射变换运动补偿的模式定义为子块合并模式。
<编码块的句法>
使用图12A、图12B和图13来说明用于描述编码块的预测模式的句法。图12A的pred_mode_flag是表示是否是帧间预测的标志。如果pred_mode_flag是0,则为帧间预测,如果pred_mode_flag是1,则为帧内预测。在帧内预测的情况下,发送帧内预测的信息intra_pred_mode,在帧间预测的情况下,发送merge_flag。merge_flag是表示是合并模式还是预测运动矢量模式的标志。在预测运动矢量模式的情况下(merge_flag=0),发送inter_affine_flag,该inter_affine_flag是表示是否应用子块预测运动矢量模式的标志。如果应用子块预测运动矢量模式(inter_affine_flag=1),则发送cu_affine_type_flag。cu_affine_type_flag是在子块预测运动矢量模式中、用于决定控制点的数量的标志。
另一方面,在合并模式的情况下(merge_flag=1),发送图12B的merge_subblock_flag。merge_subblock_flag是表示是否应用子块合并模式的标志。在子块合并模式的情况下(merge_subblock_flag=1),发送合并索引merge_subblock_idx。另一方面,在不是子块合并模式的情况下(merge_subblock_flag=0),发送merge_triangle_flag,该merge_triangle_flag是表示是否应用三角形合并模式的标志。如果应用三角形合并模式(merge_triangle_flag=1),则针对分割块的方向merge triangle split dir以及被分割的两个分区发送合并三角形索引merge_triangle_idx0、merge_triangle_idx1。另一方面,如果不应用三角形合并模式(merge_triangle_flag=0),则发送合并索引merge_idx。
图13示出各句法元素的值和相应的预测模式。merge_flag=0、inter_affine_flag=0对应于通常预测运动矢量模式(Inter Pred Mode,帧间预测模式)。merge_flag=0、inter_affine_flag=1对应于子块预测运动矢量模式(Inter Affine Mode,帧间仿射模式)。merge_flag=1、merge_subblock_flag=0、merge_trianlge_flag=0对应于通常合并模式(Merge Mode,合并模式)。merge_flag=1、merge_subblock_flag=0、merge_trianlge_flag=1对应于三角形合并模式(Triangle Merge Mode)。merge_flag=1、merge_subblock_flag=1对应于子块合并模式(Affine Merge Mode,仿射合并模式)。
<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_INTER)中的预测运动矢量模式时,帧间预测部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][yP]等。这里,xP、yP是表示图片内的编码块的左上像素的位置的索引。在预测模式PredMode是帧间预测(MODE_INTER)且帧间预测模式是L0预测(Pred_L0)的情况下,指示是否使用L0预测的标志predFlagL0是1,且指示是否使用L1预测的标志predFlagL1是0。在帧间预测模式是L1预测(Pred_L1)的情况下,指示是否使用L0预测的标志predFlagL0是0,且指示是否使用L1预测的标志predFlagL1是1。在帧间预测模式是双预测(Pred_BI)的情况下,指示是否使用L0预测的标志predFlagL0和指示是否使用L1预测的标志predFlagL1都是1。并且,在处理对象的编码块的预测模式PredMode是帧间预测(MODE_INTER)中的合并模式时,导出合并候选。使用存储在编码信息保存存储器205中的已解码的编码块的编码信息,导出多个合并的候选,登记在后述的合并候选列表中,从登记在合并候选列表中的多个合并候选中选择与由比特串解码部201解码而提供的合并索引对应的合并候选,将表示是否利用所选择的合并候选的L0预测及L1预测的标志predFlagL0[xP][yP]、predFlagL1[xP][yP]、L0、L1的参考索引refIdxL0[xP][yP]、refIdxL1[xP][yP]、L0、L1的运动矢量mvL0[xP][yP]、mvL1[xP][yP]等帧间预测信息保存在编码信息保存存储器205中。这里,xP、yP是表示图片内的编码块的左上像素的位置的索引。后述帧间预测部203的详细构成和动作。
当处理对象的编码块的预测模式PredMode是帧内预测(MODE_INTRA)时,帧内预测部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_spl it_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~图6D的602或604的编号)。在3分割的情况下(mtt_split_binary=0),对3分割后的各块递归地进行分割处理(multi_type_tree(0)、multi_type_tree(1)、multi_type_tree(2),0~2对应于图6B的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的处理除了参考的相邻块的位置和数量不同这一点以外是共同的,导出表示是否能够利用编码块的预测运动矢量候选的标志availableFlagLXN、以及运动矢量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是用于说明历史预测运动矢量候选列表的更新处理的一例的图。在已登记六个要素(帧间预测信息)的历史预测运动矢量候选列表HmvpCan dList中添加新的要素时,从历史预测运动矢量候选列表Hm vpCandList的前方的要素开始依次与新的帧间预测信息进行比较(图31A),如果新的要素与历史预测运动矢量候选列表HmvpCandList的从开头起第三个的要素HMVP2是相同的值,则从历史预测运动矢量候选列表HmvpCan dList中删除要素HMVP2、并将后方的要素HMVP3~HMVP5向前方一个个地移位(复制),将新的要素添加到历史预测运动矢量候选列表HmvpC andList的最后(图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)以下,则执行步骤S2304以后的处理。对sameMotion设定FALSE(假)的值(图30的步骤S2304)。接着,将索引i的初始值设定为0,从该初始值到numOrigMergeCand-1进行图30的步骤S2306、S2307的处理(图30的S2305~S2308)。比较历史运动矢量预测候选列表的从0开始数的第(NumHmvpCand–hMvpIdx)个的要素HmvpCandList[NumHmvpCand-hMvpIdx]是否与合并候选列表的从0开始数的第i个的要素mergeCandList[i]是相同值(图30的步骤S2306)。
合并候选的相同值是指当合并候选所具有的所有构成要素(帧间预测模式、参考索引和运动矢量)的值相同时合并候选为相同值。在合并候选为相同值且isPruned[i]为FALSE(假)的情况下(图30的步骤S2306的是),sameMotion以及isPruned[i]都设定为TRUE(真)(图30的步骤S2307)。在不是相同值的情况下(图30的步骤S2306的否),跳过步骤S2307的处理。在图30的步骤S2305至S2308的重复处理完成之后,比较sameMotion是否为FALSE(假)(图30的步骤S2309),在sameMotion为FALSE(假)的情况下(图30的步骤S2309的是),即由于历史预测运动矢量候选列表的从0开始数第(NumHmvpCand-hMvpIdx)个要素HmvpCandList[NumHvpCand-hMvpIdx]不存在于mergeCandList,因此在合并候选列表的第numCurrMergeCand个的mergeCandList[numCurrMergeCand]中添加从历史预测运动矢量候选列表的从0开始数的第(NumHmvpCand–hMvpIdx)个的要素HmvpCandList[NumHmvpCand-hMvpIdx],并使numCurrMergeCand增加1(图30的步骤S2310)。使索引hMvpIdx增加1(图30的步骤S2302),进行图30的步骤S2302~S2311的重复处理。
在完成了对历史预测运动矢量候选列表中的所有要素的确认、或者对合并候选列表的所有要素添加合并候选后,完成该历史合并候选的导出处理。
<平均合并候选导出处理>
接着,详细说明作为图21的步骤S403的处理步骤的平均合并候选的导出方法,图21的步骤S403的处理步骤是在编码侧的通常合并模式导出部302的平均合并候选导出部344、解码侧的通常合并模式导出部402的平均合并候选导出部444中共同的处理。图39是用于说明平均合并候选导出处理步骤的流程图。
首先,进行初始化处理(图39的步骤S1301)。对变量numOrigMergeCand设定当前的合并候选列表中登记的要素数numCurrMergeCand。
接着,从合并候选列表的开头开始依次扫描,决定两个运动信息。设定为表示第一个运动信息的索引i=0,表示第二个运动信息的索引j=1。(图39的步骤S1302~S1303)。如果登记在当前的合并候选列表中的要素数numCurrMergeCand不是(最大合并候选数MaxNumMergeCand-1)以下,则合并候选已被添加到合并候选列表的所有要素,因此结束该历史合并候选导出处理(图39的步骤S1304)。如果登记在当前的合并候选列表中的要素数numCurrMergeCand为(最大合并候选数MaxNumMergeCand-1)以下,则进行步骤S1305之后的处理。
判定合并候选列表的第i个运动信息mergeCandList[i]和合并候选列表的第j个运动信息mergeCandList[j]是否均无效(图39的步骤S1305),如果它们均无效,则不导出mergeCandList[i]和mergeCandList[j]的平均合并候选,转移到下一个要素。如果mergeCandList[i]和mergeCandList[j]不是均无效,则将X设为0和1,重复以下的处理(图39的步骤S1306到S1314)。
判定mergeCandList[i]的LX预测是否有效(图39的步骤S1307)。如果mergeCandList[i]的LX预测有效,则判定mergeCandList[j]的LX预测是否有效(图39的步骤S1308)。如果mergeCandList[j]的LX预测有效,即如果mergeCandList[i]的LX预测和mergeCandList[j]的LX预测均有效,则导出具有LX预测的运动矢量和mergeCandList[i]的LX预测的参考索引的LX预测的平均合并候选,并将其设定为averageCand的LX预测,使averageCand的LX预测有效,该LX预测的运动矢量是对mergeCandList[i]的LX预测的运动矢量和mergeCandList[j]的LX预测的运动矢量进行平均而得到的(图39的步骤S1309)。在图39的步骤S1308中,如果mergeCandList[j]的LX预测不是有效,即mergeCandList[i]的LX预测有效且mergeCandList[j]的LX预测无效,则导出具有mergeCandList[i]的LX预测的运动矢量和参考索引的LX预测的平均合并候选,并将其设定为averageCand的LX预测,使averageCand的LX预测有效(图39的步骤S1310)。在图39的步骤S1307中,如果mergeCandList[i]的LX预测不是有效,则判定mergeCandList[j]的LX预测是否有效(图39的步骤S1311)。如果mergeCandList[j]的LX预测有效,即如果mergeCandList[i]的LX预测无效且mergeCandList[j]的LX预测有效,则导出具有mergeCandList[j]的LX预测的运动矢量和参考索引的LX预测的平均合并候选,并将其设定为averageCand的LX预测,使averageCand的LX预测有效(图39的步骤S1312)。在图39的步骤S1311中,如果mergeCandList[j]的LX预测不是有效,即如果mergeCandList[i]的LX预测和mergeCandList[j]的LX预测均无效,则使averageCand的LX预测无效(图39的步骤S1312)。
将如上所述生成的L0预测、L1预测或BI预测的平均合并候选averageCand添加到合并候选列表的第numCurrMergeCand个mergeCandList[numCurrMergeCand],使numCurrMergeCand增加1(图39的步骤S1315)。以上,结束平均合并候选的导出处理。
另外,平均合并候选分别用运动矢量的水平分量和运动矢量的垂直分量进行平均。
<运动补偿预测处理>
运动补偿预测部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_ena bled_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的运动补偿预测信号。
在基于仿射模型的运动补偿中,由于以子块为单位导出参考索引或运动矢量,因此以子块为单位使用成为处理对象的参考索引或运动矢量来生成运动补偿预测信号。
四参数仿射模型是以下模式:根据两个控制点的各自的运动矢量的水平分量及垂直分量的四个参数导出子块的运动矢量,以子块为单位进行运动补偿。
<三角形合并模式>
三角形合并模式是合并模式的一种,是将编码/解码块内分为斜向的分区并进行运动补偿预测的模式。三角形合并模式是将编码/解码块分割为非矩形形状的块的几何学分割合并模式的一种,相当于在几何学分割合并模式中将编码/解码块以对角线分割为两个直角三角形的模式。
几何学分割合并模式例如由表示分割角度的索引(angleIdx)和表示距编码块的中心的距离的索引(distanceIdx)这两个参数的组合来表示。在一个示例中,定义64个图案作为几何学分割合并模式,并对其进行定长编码。在64个图案中,表示分割角度的索引表示构成编码块的对角线的角度(例如45度(在以32分割表现360度的结构中,angleIdx=4)或135度(在以32分割表现360度的结构中,angleIdx=12)),且表示距编码块的中心的距离的索引最小(distanceIdx=0,表示分割边界通过编码块的中心)的2个模式表示以对角线分割编码块,相当于三角形合并模式。
使用图38A及图38B对三角形合并模式进行说明。图38A和38B示出作为16×16的三角形合并模式的编码/解码块的预测的一例。三角形合并模式的编码/解码块被分割为4×4的子块,各子块被分配给单预测的分区0(UNI0)、单预测的分区1(UNI1)、双预测的分区2(BI)这三个分区。这里,将位于对角线上侧的子块分配给分区0,将位于对角线下侧的子块分配给分区1,将位于对角线上的子块分配给分区2。如果merge_triangle_split_dir为0,则如图38A那样分配分区,如果merge_triangle_split_dir为1,则如图38B那样分配分区。
对于分区0的运动补偿预测使用由合并三角形索引0指定的单预测的运动信息。对于分区1的运动补偿预测使用由合并三角形索引1指定的单预测的运动信息。对于分区2的运动补偿预测,使用将由合并三角形索引0指定的单预测的运动信息和由合并三角形索引1指定的单预测的运动信息组合起来的双预测的运动信息。
这里,单预测的运动信息是1组运动矢量和参考索引,双预测的运动信息由2组运动矢量和参考索引构成。另外,运动信息是指单预测的运动信息或双预测的运动信息。
合并候选选择部347和447将导出的合并候选列表mergeCandList用作三角形合并候选列表triangleMergeCandList。
对与三角形合并候选导出有关的图40的流程图进行说明。
首先,作为三角形合并候选列表triangleMergeCandList,使用合并候选列表mergeCandList(步骤S3501)。
接着,优先包含运动信息列表L0的合并候选,导出合并三角形分区0的单预测运动信息(步骤S3502)。
接下来,优先包含运动信息列表L1的合并候选,导出合并三角形分区1的单预测运动信息(步骤S3503)。
另外,步骤S3502和步骤S3503可以以不同顺序导出,也可以并行处理。
图41是说明第一实施方式的合并三角形分区0的单预测运动信息的导出的流程图。
首先,对于导出的合并候选列表mergeCandList内的第M个候选,判定候选M是否具有运动信息列表L0的运动信息(步骤S3601)。在候选M具有运动信息列表L0的运动信息的情况下,将候选M的运动信息列表L0的运动信息设为三角形合并候选(步骤S3602)。对于候选M(M=0,1,…,numMergeCand-1),按照升序进行步骤S3601和步骤S3602,追加导出三角形合并候选。
接着,对于导出的合并候选列表mergeCandList内的第M个候选,判定候选M是否具有运动信息列表L1的运动信息(步骤S3603)。在候选M具有运动信息列表L1的运动信息的情况下,将候选M的运动信息列表L1的运动信息设为三角形合并候选(步骤S3604)。对于候选M(M=numMergeCand-1,…,1,0),按照降序进行步骤S3603和步骤S3604,追加导出三角形合并候选。
图42是说明第一实施方式的合并三角形分区1的单预测运动信息的导出的流程图。
首先,对于导出的合并候选列表mergeCandList内的第M个候选,判定候选M是否具有运动信息列表L1的运动信息(步骤S3701)。在候选M具有运动信息列表L1的运动信息的情况下,将候选M的运动信息列表L1的运动信息设为三角形合并候选(步骤S3702)。对于候选M(M=0,1,…,numMergeCand-1),按照升序进行步骤S3701和步骤S3702,追加导出三角形合并候选。
接着,对于导出的合并候选列表mergeCandList内的第M个候选,判定候选M是否具有运动信息列表L0的运动信息(步骤S3703)。在候选M具有运动信息列表L0的运动信息的情况下,将候选M的运动信息列表L0的运动信息设为三角形合并候选(步骤S3704)。对于候选M(M=numMergeCand-1,…,1,0),按照降序进行步骤S3703和步骤S3704,追加导出三角形合并候选。
图43A及图43B是说明第一实施方式的三角形合并候选的运动信息的例子的图。
图43A示出合并候选列表的例子,在合并索引0的合并候选中,帧间预测模式是双预测(Pred-BI),运动信息列表L0的运动信息是MV0_L0,运动信息列表L1的运动信息是MV0_L1。在合并索引1的合并候选中,帧间预测模式是单预测(Pred-L0),运动信息列表L0的运动信息是MV1_L0,不具有运动信息列表L1的运动信息。在合并索引2的合并候选中,帧间预测模式是单预测(Pred-L1),不具有运动信息列表L0的运动信息,运动信息列表L1的运动信息是MV2_L1。在合并索引3的合并候选中,帧间预测模式是双预测(Pred_BI),运动信息列表L0的运动信息是MV3_L0,运动信息列表L1的运动信息是MV3_L1。在合并索引4的合并候选中,帧间预测模式是单预测(Pred-L0),运动信息列表L0的运动信息是MV4_L0,不具有运动信息列表L1的运动信息。
图43B是示出图43A的合并候选列表的例子的情况下的合并三角形分区0和合并三角形分区1的运动信息分别为怎样的信息的图。
合并三角形分区0的单预测运动信息候选按照MV0_L0、MV1_L0、MV3_L0、MV4_L0、MV3_L1的顺序构成运动信息。合并三角形分区1的单预测运动信息候选按照MV0_L1、MV2_L1、MV3_L1、MV4_L0、MV3_L0的顺序构成运动信息。
这里,合并三角形索引0(merge_triangle_idx0)和合并三角形索引1(merge_triangle_idx1)的最大值分别与合并索引(merge_idx)相同。也就是说,合并三角形分区0和合并三角形分区1各自的最大三角形合并候选数与最大合并候选数MaxNumMergeCand相等。这样,能够使合并索引、合并三角形索引0和合并三角形索引1的CABAC(Context-basedAdaptive Binary Arithmetic Coding,基于上下文的自适应二进制算术编码)的上下文共同化,可以对透视图和上下文表进行简化和节省内存。另外,以SPS(Sequence ParameterSet,序列参数集)编码(解码)合并索引的最大值(最大合并候选数)。并且,也以SPS编码(解码)合并三角形索引0和合并三角形索引1的最大值(最大三角形合并候选数)。
这样,通过合并三角形分区0和合并三角形分区1变更运动信息的优先顺序,再次使用合并候选列表,同时抑制合并三角形分区0和合并三角形分区1的运动信息重复的可能性,导出编码效率高的三角形合并候选,上述为本发明的特征,也可以将合并三角形分区0的单预测运动信息优先运动信息列表L1导出,将合并三角形分区1的单预测运动信息优先运动信息列表L0导出。
(变形例1)
在变形例1中,与第一实施方式中的合并三角形索引不同,合并三角形索引0和合并三角形索引1的最大三角形合并候选数互不相同。这里,合并三角形索引1的最大三角形合并候选数比合并三角形索引0的最大三角形合并候选数小1。此时,作为合并三角形索引1的单预测运动信息候选,排除在合并三角形索引0中选择的合并候选。即,合并三角形索引0的最大三角形合并候选数与合并索引的最大合并候选数相同,合并三角形索引1的最大三角形合并候选数比合并索引的最大合并候选数小1。
如上所述,通过使合并三角形索引1的最大数比合并三角形索引0小1,在如根据候选数提高编码效率的Truncated Unary这样的编码串中,提高编码效率。另外,通过排除与合并候选的重复,也可以提高编码效率。
这里,在一般的影像的编码中,三角形合并模式的利用率比通常的合并模式的利用率低。因此,也可以使合并三角形索引0的最大三角形合并候选数小于合并索引的最大合并候选数。另外,对于合并候选列表,越接近开头的候选越是有效的候选,选择率越高,越远离开头的候选,越是无效的候选,选择率越低。因此,在三角形合并模式下远离开头的候选、即合并三角形索引0或合并三角形索引1中的较大的候选的选择率低,因此能够在抑制编码效率降低的同时提高处理效率。
(第二实施方式)
在第二实施方式中,在合并三角形分区0和合并三角形分区1中,参考列表1内的候选搜索的顺序与第一实施方式不同。其它构成与第一实施方式相同。
图44是说明第二实施方式的合并三角形分区0的单预测运动信息的导出的流程图。
首先,对于导出的合并候选列表mergeCandList内的第M个候选,判定候选M是否具有运动信息列表L0的运动信息(步骤S3801)。在候选M具有运动信息列表L0的运动信息的情况下,将候选M的运动信息列表L0的运动信息设为三角形合并候选(步骤S3802)。对于候选M(M=0,1,…,numMergeCand-1),按照升序进行步骤S3801和步骤S3802,追加导出三角形合并候选。
接着,对于导出的合并候选列表mergeCandList内的第M个候选,判定候选M是否具有运动信息列表L1的运动信息(步骤S3803)。在候选M具有运动信息列表L1的运动信息的情况下,将候选M的运动信息列表L1的运动信息设为三角形合并候选(步骤S3804)。对于候选M(M=0,1,…,numMergeCand-1),按照升序进行步骤S3803和步骤S3804,追加导出三角形合并候选。
图45是说明第二实施方式的合并三角形分区1的单预测运动信息的导出的流程图。
首先,对于导出的合并候选列表mergeCandList内的第M个候选,判定候选M是否具有运动信息列表L1的运动信息(步骤S3901)。在候选M具有运动信息列表L1的运动信息的情况下,将候选M的运动信息列表L1的运动信息设为三角形合并候选(步骤S3902)。对于候选M(M=numMergeCand-1,…,1,0),按照降序进行步骤S3901和步骤S3902,追加导出三角形合并候选。
接着,对于导出的合并候选列表mergeCandList内的第M个候选,判定候选M是否具有运动信息列表L0的运动信息(步骤S3903)。在候选M具有运动信息列表L0的运动信息的情况下,将候选M的运动信息列表L0的运动信息设为三角形合并候选(步骤S3904)。对于候选M(M=numMergeCand-1,…,1,0),按照降序进行步骤S3903和步骤S3904,追加导出三角形合并候选。
图46A及图46B是说明第二实施方式的三角形合并候选的运动信息的例子的图。图46A示出合并候选列表的例子,与图43A相同。
图46B是示出图46A的合并候选列表的例子的情况下的合并三角形分区0的单预测运动信息候选和合并三角形分区1的单预测运动信息分别为怎样的信息的图。
合并三角形分区0的单预测运动信息候选按照MV0_L0、MV1_L0、MV3_L0、MV4_L0、MV0_L1的顺序构成运动信息。合并三角形分区1的单预测运动信息候选按照MV3_L1、MV2_L1、MV0_L1、MV4_L0、MV3_L0的顺序构成运动信息。
这里,合并三角形索引0(merge_triangle_idx0)和合并三角形索引1(merge_triangle_idx1)的最大值分别与合并索引(merge_idx)相同。也就是说,合并三角形分区0和合并三角形分区1各自的最大三角形合并候选数与最大合并候选数MaxNumMergeCand相等。这样,能够使合并索引、合并三角形索引0和合并三角形索引1的CABAC(Context-basedAdaptive Binary Arithmetic Coding,基于上下文的自适应二进制算术编码)的上下文共同化,可以对透视图和上下文表进行简化和节省内存。另外,以SPS(Sequence ParameterSet,序列参数集)编码(解码)合并索引的最大值(最大合并候选数)。并且,也以SPS编码(解码)合并三角形索引0和合并三角形索引1的最大值(最大三角形合并候选数)。
这样,通过合并三角形分区0和合并三角形分区1变更运动信息的优先顺序,再次使用合并候选列表,同时抑制合并三角形分区0和合并三角形分区1的运动信息重复的可能性,导出编码效率高的三角形合并候选,上述为本发明的特征,也可以将合并三角形分区0的单预测运动信息优先运动信息列表L1导出,将合并三角形分区1的单预测运动信息优先运动信息列表L0导出。
(变形例1)
在变形例1中,与第二实施方式中的合并三角形索引不同,合并三角形索引0与合并三角形索引1的最大三角形合并候选数互不相同。这里,合并三角形索引1的最大三角形合并候选数比合并三角形索引0的最大三角形合并候选数小1。此时,作为合并三角形索引1的单预测运动信息候选,排除在合并三角形索引0中选择的合并候选。即,合并三角形索引0的最大三角形合并候选数与合并索引的最大合并候选数相同,合并三角形索引1的最大三角形合并候选数比合并索引的最大合并候选数小1。
如上所述,通过使合并三角形索引1的最大数比合并三角形索引0小1,在如根据候选数提高编码效率的Truncated Unary这样的编码串中,提高编码效率。另外,通过排除与合并候选的重复,也可以提高编码效率。
这里,在一般的影像的编码中,三角形合并模式的利用率比通常的合并模式的利用率低。因此,也可以使合并三角形索引0的最大三角形合并候选数小于合并索引的最大合并候选数。另外,对于合并候选列表,越接近开头的候选越是有效的候选,选择率越高,越远离开头的候选,越是无效的候选,选择率越低。因此,在三角形合并模式下远离开头的候选、即合并三角形索引0或合并三角形索引1中的较大的候选的选择率低,因此能够在抑制编码效率降低的同时提高处理效率。
在以上所述的所有实施方式中,图像编码装置输出的比特流具有特定的数据格式,以便能够根据在实施方式中使用的编码方法进行解码。另外,与该图像编码装置对应的图像解码装置能够对该特定的数据格式的比特流进行解码。
在使用有线或无线网络用于在图像编码装置和图像解码装置之间交换比特流的情况下,可以将比特流转换为适合于通信线路的传送形式的数据格式来传送。在该情况下,设置了:发送装置,将从图像编码装置输出的比特流转换为适合于通信线路的传送形式的数据格式的编码数据并将该编码数据发送到网络;以及接收装置,从网络接收编码数据并将该编码数据恢复为比特流而提供给图像解码装置。发送装置包括:存储器,对从图像编码装置输出的比特流进行缓冲;分组处理部,对比特流进行分组;以及发送部,经由网络发送已被分组的编码数据。接收装置包括:接收部,经由网络接收已被分组的编码数据;存储器,对已接收到的编码数据进行缓冲;以及分组处理部,对编码数据进行分组处理以生成比特流,并将该比特流提供给图像解码装置。
另外,也可以通过在构成中添加显示由图像解码装置解码的图像的显示部来作为显示装置。在这种情况下,显示部读出由解码图像信号重叠部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等连接。CPU9001基于通过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所述的图像编码方法生成的比特流。
CN202310676815.0A 2019-03-08 2020-03-06 图像编码装置、图像编码方法以及图像解码装置、图像解码方法 Pending CN116527930A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2019042580 2019-03-08
JP2019-042580 2019-03-08
CN202080019439.2A CN113557739B (zh) 2019-03-08 2020-03-06 图像编码装置、图像编码方法以及图像编码程序、图像解码装置、图像解码方法以及图像解码程序
PCT/JP2020/009772 WO2020184459A1 (ja) 2019-03-08 2020-03-06 画像符号化装置、画像符号化方法、及び画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202080019439.2A Division CN113557739B (zh) 2019-03-08 2020-03-06 图像编码装置、图像编码方法以及图像编码程序、图像解码装置、图像解码方法以及图像解码程序

Publications (1)

Publication Number Publication Date
CN116527930A true CN116527930A (zh) 2023-08-01

Family

ID=72427533

Family Applications (6)

Application Number Title Priority Date Filing Date
CN202080019439.2A Active CN113557739B (zh) 2019-03-08 2020-03-06 图像编码装置、图像编码方法以及图像编码程序、图像解码装置、图像解码方法以及图像解码程序
CN202310676271.8A Pending CN116506637A (zh) 2019-03-08 2020-03-06 图像编码装置、图像编码方法以及图像解码装置、图像解码方法
CN202310676835.8A Pending CN116527932A (zh) 2019-03-08 2020-03-06 图像编码装置、图像编码方法以及图像解码装置、图像解码方法
CN202310676815.0A Pending CN116527930A (zh) 2019-03-08 2020-03-06 图像编码装置、图像编码方法以及图像解码装置、图像解码方法
CN202310676816.5A Pending CN116527931A (zh) 2019-03-08 2020-03-06 图像编码装置、图像编码方法以及图像解码装置、图像解码方法
CN202310675947.1A Pending CN116489388A (zh) 2019-03-08 2020-03-06 图像编码装置、图像编码方法以及图像解码装置、图像解码方法

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN202080019439.2A Active CN113557739B (zh) 2019-03-08 2020-03-06 图像编码装置、图像编码方法以及图像编码程序、图像解码装置、图像解码方法以及图像解码程序
CN202310676271.8A Pending CN116506637A (zh) 2019-03-08 2020-03-06 图像编码装置、图像编码方法以及图像解码装置、图像解码方法
CN202310676835.8A Pending CN116527932A (zh) 2019-03-08 2020-03-06 图像编码装置、图像编码方法以及图像解码装置、图像解码方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN202310676816.5A Pending CN116527931A (zh) 2019-03-08 2020-03-06 图像编码装置、图像编码方法以及图像解码装置、图像解码方法
CN202310675947.1A Pending CN116489388A (zh) 2019-03-08 2020-03-06 图像编码装置、图像编码方法以及图像解码装置、图像解码方法

Country Status (8)

Country Link
US (1) US20220070444A1 (zh)
EP (1) EP3923582A4 (zh)
JP (4) JP6977909B2 (zh)
KR (1) KR20210107116A (zh)
CN (6) CN113557739B (zh)
BR (1) BR112021016738A8 (zh)
MX (1) MX2021010547A (zh)
WO (1) WO2020184459A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113508599A (zh) * 2018-12-21 2021-10-15 交互数字Vc控股公司 用于视频编码中运动信息信令通知的语法
AR118250A1 (es) * 2019-03-08 2021-09-22 Jvckenwood Corp Dispositivos, métodos y programas de codificación y decodificación de imágenes en movimiento
CN111698506B (zh) * 2019-03-11 2022-04-26 杭州海康威视数字技术股份有限公司 运动信息候选者列表构建方法、三角预测解码方法及装置
KR20220027173A (ko) * 2019-06-25 2022-03-07 인터디지털 브이씨 홀딩스 프랑스 에스에이에스 비디오 인코딩 및 디코딩에서의 모션 벡터 예측

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3277111B2 (ja) 1995-10-18 2002-04-22 シャープ株式会社 動画像符号化装置および動画像復号化装置
MX2013012020A (es) * 2011-05-24 2013-12-10 Panasonic Corp Metodo de codificacion de imagenes, aparato de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion /decodificacion de imagenes.
JP5942782B2 (ja) * 2011-10-31 2016-06-29 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
CN105791822A (zh) * 2012-01-18 2016-07-20 Jvc建伍株式会社 动图像解码装置以及动图像解码方法
KR20140005099A (ko) * 2012-07-02 2014-01-14 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
WO2017118409A1 (en) * 2016-01-07 2017-07-13 Mediatek Inc. Method and apparatus for affine merge mode prediction for video coding system
KR20210068537A (ko) * 2018-10-08 2021-06-09 후아웨이 테크놀러지 컴퍼니 리미티드 코딩 블록의 기하학적 분할의 인터 예측을 위한 장치 및 방법
WO2020079896A1 (ja) * 2018-10-17 2020-04-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理装置、情報処理方法及びプログラム
TWI720753B (zh) * 2018-12-21 2021-03-01 聯發科技股份有限公司 簡化的三角形合併模式候選列表導出的方法以及裝置
US20200288175A1 (en) * 2019-03-06 2020-09-10 Qualcomm Incorporated Signaling of triangle merge mode indexes in video coding

Also Published As

Publication number Publication date
JP6977909B2 (ja) 2021-12-08
CN116527931A (zh) 2023-08-01
WO2020184459A1 (ja) 2020-09-17
CN116527932A (zh) 2023-08-01
JP2023026659A (ja) 2023-02-24
BR112021016738A8 (pt) 2022-08-02
JP2022033109A (ja) 2022-02-28
CN113557739B (zh) 2023-07-11
CN113557739A (zh) 2021-10-26
JP2024037837A (ja) 2024-03-19
BR112021016738A2 (pt) 2021-10-19
MX2021010547A (es) 2021-10-01
CN116506637A (zh) 2023-07-28
EP3923582A1 (en) 2021-12-15
US20220070444A1 (en) 2022-03-03
KR20210107116A (ko) 2021-08-31
JPWO2020184459A1 (ja) 2021-12-09
JP7457883B2 (ja) 2024-03-29
JP7209801B2 (ja) 2023-01-20
CN116489388A (zh) 2023-07-25
EP3923582A4 (en) 2022-06-08

Similar Documents

Publication Publication Date Title
CN113491126B (zh) 图像编码装置、图像编码方法以及图像编码程序、图像解码装置、图像解码方法以及图像解码程序
CN113557739B (zh) 图像编码装置、图像编码方法以及图像编码程序、图像解码装置、图像解码方法以及图像解码程序
CN112929674B (zh) 图像编码装置和方法、图像解码装置和方法
JP7318700B2 (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
CN113287314A (zh) 动图像解码装置、动图像解码方法、动图像解码程序、动图像编码装置、动图像编码方法以及动图像编码程序
CN116193142B (zh) 动图像编码装置和方法、动图像解码装置和方法
CN112400321B (zh) 图像解码装置、图像解码方法以及图像解码程序
CN112954364A (zh) 图像编码装置和方法、图像解码装置和方法
CN113068038B (zh) 动图像解码装置、动图像解码方法、动图像解码程序
CN113055690B (zh) 图像编码装置和方法、图像解码装置和方法、存储介质
CN118018756A (zh) 动图像编码装置和方法、以及动图像解码装置和方法
CN118018757A (zh) 动图像编码装置和方法、以及动图像解码装置和方法
CN118018758A (zh) 动图像编码装置和方法、以及动图像解码装置和方法
CN118018759A (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