CN113767622A - 动图像编码装置、动图像编码方法及动图像编码程序、动图像解码装置、动图像解码方法及动图像解码程序 - Google Patents

动图像编码装置、动图像编码方法及动图像编码程序、动图像解码装置、动图像解码方法及动图像解码程序 Download PDF

Info

Publication number
CN113767622A
CN113767622A CN202080031476.5A CN202080031476A CN113767622A CN 113767622 A CN113767622 A CN 113767622A CN 202080031476 A CN202080031476 A CN 202080031476A CN 113767622 A CN113767622 A CN 113767622A
Authority
CN
China
Prior art keywords
block
prediction
motion vector
unit
merge
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.)
Granted
Application number
CN202080031476.5A
Other languages
English (en)
Other versions
CN113767622B (zh
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.)
JVCKenwood Corp
Original Assignee
JVCKenwood Corp
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 JVCKenwood Corp filed Critical JVCKenwood Corp
Priority to CN202410940728.6A priority Critical patent/CN118694968A/zh
Priority to CN202410940782.0A priority patent/CN118694969A/zh
Priority to CN202410940888.0A priority patent/CN118694970A/zh
Priority to CN202211171879.7A priority patent/CN115442594A/zh
Publication of CN113767622A publication Critical patent/CN113767622A/zh
Application granted granted Critical
Publication of CN113767622B publication Critical patent/CN113767622B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/103Selection of coding mode or of prediction mode
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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
    • 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/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/55Motion estimation with spatial constraints, e.g. at image or region borders
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

图像编码装置包括:块矢量候选导出部,从编码信息保存存储器中保存的编码信息导出处理对象图片内的处理对象块的块矢量候选;选择部,从所述块矢量候选中选择选择块矢量;以及参考位置校正部,针对由所述选择块矢量参考的参考块,校正所述参考块的参考位置,以参考可参考区域的内部,所述图像编码装置基于所述参考块的参考位置从解码图像存储器获取所述处理对象图片内的已解码像素作为所述处理对象块的预测值。

Description

动图像编码装置、动图像编码方法及动图像编码程序、动图像 解码装置、动图像解码方法及动图像解码程序
技术领域
本发明涉及将图像分割为块并进行预测的图像编码和解码技术。
背景技术
在图像编码和解码中,将作为处理对象的图像分割为预定数量的像素集合、即块,以块为单位进行处理。通过分割成适当的块,适当地设定画面内预测(帧内预测)、画面间预测(帧间预测),编码效率得以提高。
在专利文献1中公开了使用与编码/解码对象的块相邻的已解码的像素来得到预测图像的帧内预测技术。
现有技术文献
专利文献
专利文献1:日本特开2009-246975号公报。
发明内容
然而,专利文献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是用于说明本发明实施方式的编码解码装置的硬件结构的一例的图;
图38是说明平均合并候选导出处理步骤的流程图;
图39A是说明帧内块复制的有效参考区域的图;
图39B是说明帧内块复制的有效参考区域的图;
图40是图1中的帧内预测部103的详细构成的框图;
图41是图2中的帧内预测部204的详细构成的框图;
图42是帧内块复制预测部352的框图;
图43是帧内块复制预测部362的框图;
图44是用于说明帧内块复制预测部352的预测帧内块复制处理的流程图;
图45是用于说明帧内块复制预测部362的预测帧内块复制处理的流程图;
图46是用于说明合并帧内块复制处理的流程图;
图47是示出预测帧内块复制的块矢量模式导出处理的处理步骤的流程图;
图48是说明参考位置校正部380和参考位置校正部480的处理的图;
图49是示出校正参考位置的情形的图;
图50A是说明将可参考区域设为矩形状的情况下的左上及右下的位置的图;
图50B是说明将可参考区域设为矩形状的情况下的左上及右下的位置的图;
图50C是说明将可参考区域设为矩形状的情况下的左上及右下的位置的图;
图50D是说明将可参考区域设为矩形状的情况下的左上及右下的位置的图;
图51是说明对可参考区域不是矩形的部分的参考位置进行校正的处理的图;
图52A是示出校正参考位置的情形的图;
图52B是示出校正参考位置的情形的图;
图53是说明参考位置校正部380和参考位置校正部480的处理的图;
图54A是说明将可参考区域分解为2个的情形的图;
图54B是说明将可参考区域分解为2个的情形的图;
图54C是说明将可参考区域分解为2个的情形的图;
图54D是说明将可参考区域分解为2个的情形的图;
图55是说明将可参考区域分解为2个并校正各个参考位置的处理的图。
具体实施方式
定义在本实施方式中使用的技术及技术用语。
<树块>
在实施方式中,以预定的尺寸对编码/解码处理对象图像进行均等分割。将此单位定义为树块。在图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)。
<帧内块复制预测>
帧内块复制(Intra Block Copy)预测是参考处理对象图片中的已解码的像素作为预测值并对处理对象块进行编码/解码的处理。并且,从处理对象块到要参考的像素的距离由块矢量表示。由于块矢量参考处理对象图片,参考图片唯一地确定,因此不需要参考索引。块矢量与运动矢量的差异在于要参考的图片是处理对象图片还是已处理图片。此外,块矢量能够使用自适应运动矢量分辨率(AMVR)来选择1像素精度或4像素精度。
在帧内块复制中,能够选择预测帧内块复制模式和合并帧内块复制模式这2个模式。
预测帧内块复制模式是根据已处理的信息导出的预测块矢量和差分块矢量来决定处理对象块的块矢量的模式。预测块矢量从与处理对象块相邻的已处理块和用于确定预测块矢量的索引导出。用于确定预测块矢量的索引、差分块矢量用比特流传输。
合并帧内块复制模式是如下模式:不传输差分运动矢量,而是根据与处理对象块相邻的已处理块的帧内块复制预测信息来导出处理对象块的帧内块复制预测信息。
<帧间预测>
在根据已处理图像的图像信号进行预测的帧间预测中,能够将多个已处理图像用作参考图片。为了管理多个参考图片,定义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,则为帧内预测。在帧内预测的情况下,发送作为表示是否是帧内块复制预测的标志的pred_mode_ibc_flag。在帧内块复制预测的情况下(pred_mode_ibc_flag=1),发送merge_flag。merge_flag是表示是合并帧内块复制模式还是预测帧内块复制模式的标志。在合并帧内块复制模式的情况下(merge_flag=1),发送合并索引merge_idx。在不是帧内块复制预测的情况下(pred_mode_ibc_flag=0),作为通常帧内预测,发送通常帧内预测的信息intra_pred_mode。
在帧间预测的情况下,发送merge_flag。merge_flag是表示是合并模式还是预测运动矢量模式的标志。在预测运动矢量模式的情况下(merge_flag=0),发送是表示是否应用子块预测运动矢量模式的标志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=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 AffineMode,帧间仿射模式)。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。后面描述帧内预测部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按照规定的句法对正交变换及量化后的残差进行熵编码,生成第二比特串。比特串编码部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)的情况下,比特串解码部201对判别是否是帧内块复制的标志进行解码。在帧内块复制的情况下,如果是合并模式则按照规定的句法对合并索引进行解码,如果不是合并模式则按照规定的句法对预测块矢量索引、差分块矢量等的编码信息(帧内预测信息)进行解码。在不是帧内块复制的情况下,按照规定的句法对帧内预测模式等的编码信息(帧内预测信息)进行解码。通过以上的解码,将编码信息(帧内预测信息)经由帧间预测部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_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~图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的图像编码装置100的帧内预测部103以及图2的图像解码装置200的帧内预测部204中实施。
使用附图对实施方式涉及的帧内预测方法进行说明。帧内预测方法在以编码块为单位进行编码和解码的处理中的任意一个中实施。
<编码侧的帧内预测部103的说明>
图40是表示图1的图像编码装置100的帧内预测部103的详细结构的图。通常帧内预测部351通过通常帧内预测从与处理对象的编码块相邻的已解码像素生成预测图像信号,从多个帧内预测模式中选择适合的帧内预测模式,并将与所选择的帧内预测模式和所选择的帧内预测模式相应的预测图像信号提供给预测方法决定部105。图10A和图10B示出了帧内预测的例子。图10A示出了通常帧内预测的预测方向与帧内预测模式编号之间的对应。例如,在帧内预测模式50中,通过在垂直方向上复制像素来生成帧内预测图像。帧内预测模式1是DC模式,是将处理对象块的所有像素值设为参考像素的平均值的模式。帧内预测模式0是平面(planar)模式,并且是用于从垂直方向和水平方向上的参考像素创建二维帧内预测图像的模式。图10B是在帧内预测模式40的情况下生成帧内预测图像的例子。针对处理对象块的各像素,复制帧内预测模式所示的方向的参考像素的值。在帧内预测模式的参考像素不是整数位置的情况下,根据周边的整数位置的参考像素值通过插值来决定参考像素值。
帧内块复制预测部352从解码图像存储器104获取与处理对象的编码块相同的图像信号的已解码区域,通过帧内块复制处理生成预测图像信号,并将该预测图像信号提供给预测方法决定部105。后面将描述帧内块复制预测部352的详细结构和处理。
<解码侧的帧内预测部204的说明>
图41是表示图2的图像解码装置200的帧内预测部204的详细构成的图。
通常帧内预测部361根据与处理对象的编码块相邻的已解码像素通过通常帧内预测生成预测图像信号,从多个帧内预测模式中选择适合的帧内预测模式,得到所选择的帧内预测模式以及与所选择的帧内预测模式相应的预测图像信号。该预测图像信号经由开关364被提供给解码图像信号重叠部207。图41中的通常帧内预测部361的处理对应于图40中的通常帧内预测部351,因此省略其详细说明。
帧内块复制预测部362从解码图像存储器208获取与处理对象的编码块相同的图像信号的已解码区域,并且通过帧内块复制处理来得到预测图像信号。该预测图像信号经由开关364被提供给解码图像信号重叠部207。后面将描述帧内块复制预测部362的详细结构和处理。
<帧间预测>
实施方式的帧间预测方法在图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(真)或NumHmvpCand是否为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中添加新的要素时,从历史预测运动矢量候选列表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)以下,则执行步骤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中共同的处理。图38是用于说明平均合并候选导出处理步骤的流程图。
首先,进行初始化处理(图38的步骤S1301)。对变量numOrigMergeCand设定当前的合并候选列表中登记的要素数numCurrMergeCand。
接着,从合并候选列表的开头开始依次扫描,决定两个运动信息。设定为表示第一个运动信息的索引i=0,表示第二个运动信息的索引j=1。(图38的步骤S1302~S1303)。如果登记在当前的合并候选列表中的要素数numCurrMergeCand不是(最大合并候选数MaxNumMergeCand-1)以下,则合并候选已被添加到合并候选列表的所有要素,因此结束该历史合并候选导出处理(图38的步骤S1304)。如果登记在当前的合并候选列表中的要素数numCurrMergeCand为(最大合并候选数MaxNumMergeCand-1)以下,则进行步骤S1305之后的处理。
判定合并候选列表的第i个运动信息mergeCandList[i]和合并候选列表的第j个运动信息mergeCandList[j]是否均无效(图38的步骤S1305),如果它们均无效,则不导出mergeCandList[i]和mergeCandList[j]的平均合并候选,转移到下一个要素。如果mergeCandList[i]和mergeCandList[j]不是均无效,则将X设为0和1,重复以下的处理(图38的步骤S1306到S1314)。
判定mergeCandList[i]的LX预测是否有效(图38的步骤S1307)。当mergeCandList[i]的LX预测有效时,判定mergeCandList[j]的LX预测是否有效(图38的步骤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预测的运动矢量进行平均而得到的(图38的步骤S1309)。在图38的步骤S1308中,如果mergeCandList[j]的LX预测不是有效,即mergeCandList[i]的LX预测有效且mergeCandList[j]的LX预测无效,则导出具有mergeCandList[i]的LX预测的运动矢量和参考索引的LX预测的平均合并候选,并将其设定为averageCand的LX预测,使averageCand的LX预测有效(图38的步骤S1310)。在图38的步骤S1307中,如果mergeCandList[i]的LX预测不是有效,则判定mergeCandList[j]的LX预测是否有效(图38的步骤S1311)。如果mergeCandList[j]的LX预测有效,即如果mergeCandList[i]的LX预测无效且mergeCandList[j]的LX预测有效,则导出具有mergeCandList[j]的LX预测的运动矢量和参考索引的LX预测的平均合并候选,并将其设定为averageCand的LX预测,使averageCand的LX预测有效(图38的步骤S1312)。在图38的步骤S1311中,如果mergeCandList[j]的LX预测不是有效,即如果mergeCandList[i]的LX预测和mergeCandList[j]的LX预测均无效,则使averageCand的LX预测无效(图38的步骤S1312)。
将如上所述生成的L0预测、L1预测或BI预测的平均合并候选averageCand添加到合并候选列表的第numCurrMergeCand个mergeCandList[numCurrMergeCand],使numCurrMergeCand增加1(图38的步骤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_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的运动补偿预测信号。
在基于仿射模型的运动补偿中,由于以子块为单位导出参考索引或运动矢量,因此以子块为单位使用成为处理对象的参考索引或运动矢量来生成运动补偿预测信号。
四参数仿射模型是以下模式:根据两个控制点的各自的运动矢量的水平分量及垂直分量的四个参数导出子块的运动矢量,以子块为单位进行运动补偿。
<帧内块复制(IBC)>
参考图39来说明帧内块复制的有效参考区域。图39A是将编码树块单位作为帧内块复制基准块来决定有效参考区域的情况下的例子。图39A的500、501、502、503、504是编码树块,504是处理对象的编码树块。505是处理对象编码块。编码树块的处理顺序为500、501、502、503、504的顺序。在该情况下,将紧挨在包含处理对象编码块505的编码树块504之前处理的3个编码树块501、502、503作为处理对象编码块505的有效参考区域。不管在编码树块501之前处理过的编码树块、以及在处理对象编码块505之前处理是否完成,均将包含处理对象编码块505的编码树块504中包含的区域全部设为无效参考区域。
图39B是将对编码树块进行4分割后的单位作为帧内块复制基准块来决定有效参考区域的情况下的例子。图39B的515、516是编码树块,516是处理对象的编码树块。编码树块515被4分割为506、507、508、509,516被4分割为510、511、512、513。514是处理对象编码块。帧内块复制基准块的处理顺序是506、507、508、509、510、511、512和513。在这种情况下,将紧挨在包含处理对象编码块514的帧内块复制基准块511之前处理的3个帧内块复制基准块508、509和510作为处理对象编码块514的有效参考区域。不管在帧内块复制基准块508之前处理过的编码树块、以及在处理对象编码块514之前处理是否完成,均将包含处理对象编码块514的帧内块复制基准块511中包含的区域全部设为无效参考区域。
<预测帧内块复制:编码侧的说明>
参考图44来说明编码侧的预测帧内块复制处理步骤。
首先,通过块矢量检测部375检测块矢量mvL(图44中的步骤S4500)。接着,通过IBC空间块矢量候选导出部371、IBC历史预测块矢量候选导出部372、IBC预测块矢量候选补充部373、IBC预测块矢量候选选择部376、块矢量减法部378,计算在预测块矢量模式下使用的块矢量的差分块矢量(图44的步骤S4501~S4503)。
计算预测块矢量的候选,构建块矢量候选列表mvpList(图44的步骤S4501)。通过帧内块复制预测部352中的IBC空间块矢量候选导出部371、IBC历史块矢量候选导出部372、IBC预测块矢量候选补充部373导出多个预测块矢量的候选,构建预测块矢量候选列表mvpList。后面使用图47的流程图描述图44的步骤S4501的详细处理步骤。
接着,通过IBC预测块矢量候选选择部376从预测块矢量候选列表mvpListL中选择预测块矢量mvpL(图44的步骤S4502)。计算块矢量mvL与保存在预测块矢量候选列表mvpListL中的各预测块矢量的候选mvpListL[i]的差分即各个差分块矢量。对预测块矢量候选列表mvpListL的每个要素计算对这些差分块矢量进行编码时的码量。然后,在预测块矢量候选列表mvpListL中登记的各要素中,选择预测块矢量的每个候选的码量最小的预测块矢量的候选mvpListL[i]作为预测块矢量mvpL,获取其索引i。在预测块矢量候选列表mvpListL中存在多个成为最小的产生码量的预测块矢量的候选的情况下,选择预测块矢量候选列表mvpListL中的由索引i小的编号表示的预测块矢量的候选mvpListL[i]作为最佳预测块矢量mvpL,获取该索引i。
接着,在块矢量减法部378中,从块矢量mvL中减去所选择的预测块矢量mvpL作为mvdL=mvL–mvpL,计算差分块矢量mvdL(图44的步骤S4503)。
<预测帧内块复制:解码侧的说明>
接着,参考图45说明解码侧的预测块矢量模式处理步骤。在解码侧,通过IBC空间预测块矢量候选导出部471、IBC历史块矢量候选导出部472、IBC预测块矢量补充部473,计算在预测块矢量模式下使用的块矢量(图45的步骤S4600~S4602)。具体而言,计算预测块矢量候选列表mvpListL,选择预测块矢量mvpL,计算块矢量mvL。
计算预测块矢量的候选,构建预测块矢量候选列表mvpListL(图45的步骤S4601)。通过帧内块复制预测部362中的IBC空间块矢量候选导出部471、IBC历史块矢量候选导出部472和IBC块矢量补充部473计算多个预测块矢量的候选,构建预测块矢量候选列表mvpListL。省略对图45的步骤S4601的详细的处理步骤的说明。接着,由IBC预测块矢量候选选择部476从预测块矢量候选列表mvpListL中取出与由比特串解码部201解码并提供的预测块矢量的索引mvpIdxL对应的预测块矢量的候选mvpListL[mvpIdxL]作为所选择的预测块矢量mvpL(图45的步骤S4601)。接着,由块矢量加法部478将由比特串解码部201解码并提供的差分块矢量mvdL和预测块矢量mvpL相加,作为mvL=mvpL+mvdL,计算块矢量mvL(图45的步骤S4602)。
<预测块矢量模式:块矢量的预测方法>
图47是表示具有本发明的实施方式涉及的动图像编码装置的帧内块复制预测部352和动图像解码装置的帧内块复制预测部362共用的功能的预测帧内块复制模式导出处理的处理步骤的流程图。
帧内块复制预测部352和帧内块复制预测部362包括预测块矢量候选列表mvpListL。预测块矢量候选列表mvpListL形成列表结构,设置有将表示预测块矢量候选列表内部的位置的预测块矢量索引、和将与索引对应的预测块矢量候选作为要素进行保存的存储区域。预测块矢量索引的数字从0开始,在预测块矢量候选列表mvpListL的存储区域中保存预测块矢量候选。在本实施方式中,预测块矢量候选列表mvpListL能够登记3个预测块矢量候选。并且,对表示在预测块矢量候选列表mvpListL中登记的预测块矢量候选数的变量numCurrMvpIbcCand设定0。
IBC空间块矢量候选导出部371和471导出来自与左侧相邻的块的预测块矢量的候选(图47中的步骤S4801)。在该处理中,导出表示是否能够利用与左侧相邻的块(A0或A1)的预测块矢量候选的标志availableFlagLA、以及块矢量mvLA,将mvLA追加到预测块矢量候选列表mvpListL中。随后,IBC空间块矢量候选导出部371和471导出来自与上侧相邻的块(B0、B1或B2)的预测块矢量的候选(图47中的步骤S4802)。在该处理中,导出表示是否能够利用与上侧相邻的块的预测运动矢量候选的标志availableFlagLB、以及块矢量mvLB,如果mvLA与mvLB不相等,则将mvLB追加到预测块矢量候选列表mvpListL中。图47的步骤S4801和S4802的处理除了要参考的相邻块的位置和数量不同这一点以外是共同的,导出表示是否能够利用编码块的预测块矢量候选的标志availableFlagLN、以及运动矢量mvLN(N为A或B,以下相同)。
接着,IBC历史块矢量候选导出部372以及472将历史块矢量候选列表HmvpIbcCandList中登记的历史块矢量候选追加到预测块矢量候选列表mvpListL中。(图47的步骤S4803)。关于该步骤S4803的登记处理步骤的详细内容,在图29的流程图所示的动作的说明中,只要与将运动矢量设为块矢量、将参考索引的列表设为L0、将历史预测运动矢量候选列表HmvpCandList设为历史块矢量候选列表HmvpIbcCandList的情况下的动作相同即可,因此省略说明。
接着,IBC预测块矢量补充部373以及473追加(0,0)等预定值的块矢量,直到填满预测块矢量候选列表mvpListL为止(图47的S4804)。
<合并帧内块复制模式导出部>
图42中的帧内块复制预测部352包括IBC空间块矢量候选导出部371、IBC历史块矢量候选导出部372、IBC块矢量补充部373、参考位置校正部380、参考区域边界校正部381、IBC合并候选选择部374和IBC预测模式判定部377。
图43中的帧内块复制预测部362包括IBC空间块矢量候选导出部471、IBC历史块矢量候选导出部472、IBC块矢量补充部473、IBC合并候选选择部474、参考位置校正部480、参考区域边界校正部481和块复制部477。
图46是说明在本发明的实施方式涉及的动图像编码装置的帧内块复制预测部352和动图像解码装置的帧内块复制预测部362中具有共用的功能的合并帧内块复制模式导出处理的步骤的流程图。
帧内块复制预测部352和帧内块复制预测部362包括合并帧内块复制候选列表mergeIbcCandList。合并帧内块复制候选列表mergeIbcCandList形成列表结构,设置有表示合并帧内块复制候选内部的位置的合并索引、和将与索引对应的合并帧内块复制候选作为要素进行保存的存储区域。合并索引的数字从0开始,在合并帧内块复制候选列表mergeIbcCandList的存储区域中保存合并帧内块复制候选。在后续处理中,将在合并帧内块复制候选列表mergeIbcCandList中登记的合并索引i的合并候选表示为mergeIbcCandList[i]。在本实施方式中,设为合并候选列表mergeCandList能够登记至少3个合并帧内块复制候选。并且,对表示在合并帧内块复制候选列表mergeIbcCandList中登记的合并帧内块复制候选数的变量numCurrMergeIbcCand设定0。
在IBC空间块矢量候选导出部371和IBC空间块矢量候选导出部471中,从动图像编码装置的编码信息保存存储器111或动图像解码装置的编码信息保存存储器205中保存的编码信息,导出来自与处理对象块的左侧和上侧相邻的块的空间合并候选A、B,将导出的空间合并候选登记到合并帧内块复制候选列表mergeIbcCandList中(图46的步骤S4701)。这里,定义表示空间合并候选A、B中的任意一个的N。导出表示块N的帧内块复制预测信息是否能够用作空间块矢量合并候选N的标志availableFlagN和块矢量mvL。但是,在本实施方式中,由于不参考包含成为处理对象的编码块的块所包含的其他编码块而导出块矢量合并候选,所以不导出包含处理对象的编码块的块所包含的空间块矢量合并候选。
接着,在IBC历史块矢量候选导出部372以及IBC历史块矢量候选导出部472中,将历史预测块矢量候选列表HmvpIbcCandList中登记的历史预测块矢量候选追加到合并帧内块复制候选列表mergeIbcCandList中(图46的步骤S4702)。在本实施例中,设为在已经追加到mergeIbcCandList中的块矢量和历史预测块矢量候选的块矢量具有相同的值的情况下,不进行向mergeIbcCandList的追加。
接着,IBC预测块矢量补充部373以及IBC预测块矢量补充部473在登记在合并帧内块复制候选列表mergeIbcCandList内的合并候选数numCurrMergeIbcCand小于最大帧内块合并候选数MaxNumMergeIbcCand的情况下,将登记在合并帧内块复制候选列表mergeIbcCandList内的合并候选数numCurrMergeIbcCand为最大合并候选数MaxNumMergeIbcCand作为上限来导出追加帧内块合并候选,并登记到合并帧内块复制候选列表mergeIbcCandList中(图46的步骤S4703)。以最大合并候选数MaxNumMergeIbcCand为上限,将具有(0,0)的值的块矢量追加到合并帧内块复制候选列表mergeIbcCandList中。
接着,在IBC合并候选选择部374以及IBC合并候选选择部474中,从在合并帧内块复制候选列表mergeIbcCandList内登记的帧内块合并候选中选择1个(图46的步骤S4704)。IBC合并候选选择部374从解码图像存储器104获取参考位置处的解码图像,计算码量和失真量,以选择合并候选,并将表示所选择的帧内块合并候选的合并索引提供给IBC预测模式判定部377。IBC预测模式判定部377通过计算码量和失真量来选择是否是合并模式,并将其结果提供给预测方法决定部105。另一方面,解码侧的IBC合并候选选择部474基于解码后的合并索引来选择帧内块合并候选,并将所选择的帧内块合并候选提供给参考位置校正部480。
接着,参考位置校正部380和参考位置校正部480对帧内块合并候选执行校正参考位置的处理(图46中的步骤S4705)。后面描述参考位置校正部380以及参考位置校正部480的处理的详细内容。
接着,参考区域边界校正部381和参考区域边界校正部481对帧内块合并候选执行校正参考区域边界的处理(图46中的步骤S4706)。参考位置校正部381以及参考位置校正部481的处理的详细内容在后面叙述。
块复制部477从解码图像存储器208获取参考位置的解码图像,并提供给解码图像信号重叠部207。这里,在块复制部477中,复制亮度分量和色差分量。
上述块矢量mvL表示亮度的块矢量。色差的块矢量mvC在色差格式为420的情况下成为:
mvC=((mvL>>(3+2))*32。通过上式,mvC的x、y分量分别被处理。
<参考位置校正部>
图48是说明参考位置校正部380和参考位置校正部480的处理的流程图。当前,假定帧内块复制基准块的单位是编码树块(CTU),其大小不是128×128像素。
首先,计算参考块的左上及右下的位置(S6001)。参考块表示处理对象编码块使用块矢量而参考的块。当将参考块的左上设为(xRefTL,yRefTL),将参考块的右下设为(xRefBR,yRefBR)时,成为:
(xRefTL,yRefTL)=(xCb+(mvL[0]>>4),yCb+(mvL[1]>>4))
(xRefBR,yRefBR)=(xRefTL+cbWidth-1,yRefTL+cbHeight-1)。这里,将处理对象编码块的位置设为(xCb,yCb),将块矢量设为(mvL[0],mvL[1]),将处理对象编码块的宽度设为cbWidth,将高度设为cbHeight。
接着,判定CTU的大小是否是128×128像素(S6002)。当前,其大小不是128×128像素(S6002:否),因此计算可参考区域的左上以及右下的位置(S6003)。当将可参考区域的左上设为(xAvlTL,yAvlTL),将可参考区域的右下设为(xAvlBR,yAvlBR)时,成为:
NL=Min(1,7-CtbLog2SizeY)-(1<<((7-CtbLog2SizeY)<<1))
(xAvlTL,yAvlTL)=(((xCb>>CtbLog2SizeY)+NL)<<CtbLog2SizeY,
(yCb>>CtbLog2SizeY)<<CtbLog2SizeY)
(xAvlBR,yAvlBR)=(((xCb>>CtbLog2SizeY)<<CtbLog2SizeY)-1,
(((yCb>>CtbLog2SizeY)+1)<<CtbLog2SizeY)-1)。这里,CTU的大小是CtbLog2SizeY。
接着,判定参考块的x方向的参考位置是否比可参考区域的左上小(S6004)。如果判定为假(S6004:否),则进入下一处理(S6006)。另一方面,如果判定为真(S6004:是),则与可参考区域的左上一致地来校正x方向的参考位置(S6005)。
图49是表示校正参考位置的情形的图。6001表示处理对象编码树块,6002表示处理对象编码块,6003表示可参考区域。当前,若参考块r2位于6011,则x方向的参考位置比可参考区域的左上小(S6004:是)。因此,设为xRefTL=xAvlTL,将参考位置校正在6012的位置(S6005)。这里,如S6001所示,由于xRefBR=xRefTL+cbWidth-1,因此随着校正xRefTL,xRefBR也被校正。在该参考位置的校正中,也可以校正块矢量mvL[0]。即,校正为:
mvL[0]=(xAvlTL-xCb)<<4。由此,xRefTL=xAvlTL,因此能够校正参考位置。
这样,在参考块位于可参考区域的外部的情况下,通过校正该参考位置,能够进行参考。
当前,假定在帧内块复制预测部352中构建的块矢量候选列表中的一些块矢量位于可参考区域的外侧。在不校正参考位置的情况下,不能进行基于这些块矢量的参考,因此不能将这些块矢量作为IBC合并模式的候选。另一方面,在本发明中校正参考位置的情况下,所构建的块矢量候选列表的所有块矢量位于可参考区域的内侧。因此,可以进行基于所有块矢量的参考,能够将所有块矢量设为IBC合并模式的候选。因此,IBC合并模式选择部374能够从与所有块矢量对应的每个IBC合并模式的候选中选择最佳预测模式,从而提高了编码效率。
当前,假定在帧内块复制预测部362中构建的块矢量候选列表中的一些块矢量位于可参考区域的外侧。在不对参考位置进行校正的情况下,不能进行基于这些块矢量的参考,因此无法对使用了这些块矢量的IBC合并模式进行解码。在非本发明的编码装置中,表示使用了这些块矢量的IBC合并模式的合并索引作为不进行编码的索引而动作。然而,由于动作故障等,存在这样的合并索引被编码以生成比特流的可能性。或者,由于分组丢失等而比特流的一部分缺失等,解码结果有可能成为这样的合并索引。如果要对这样的不完整的比特流进行解码,则存在要参考可参考区域的外侧而访问不正确的位置的解码图像存储器的可能性。其结果,根据解码装置,解码结果不同,或者解码处理停止。另一方面,在本发明中校正参考位置的情况下,所构建的块矢量候选列表的所有块矢量位于可参考区域的内侧。因此,即使对这样的不完整的比特流进行解码,参考位置被校正到可参考区域的内侧而能够进行参考。这样,通过校正参考位置来保证存储器访问范围。其结果,解码装置的解码结果相同,能够继续解码处理,因此能够提高解码装置的鲁棒性。
另外,在参考位置的校正中校正块矢量的情况下,该对象是亮度的块矢量。这里,根据亮度的块矢量计算色差的块矢量。即,如果校正亮度的块矢量,则色差的块矢量也被校正。因此,在色差中,不需要再次校正参考位置。与在不校正块矢量的情况下需要判定是否能够利用亮度和色差这两者进行参考的情况相比,能够削减处理量。
此外,在参考位置的校正中校正块矢量的情况下,校正后的块矢量作为处理对象编码块的块矢量而保存在编码信息保存存储器111或编码信息保存存储器205中。即,校正后的参考位置和块矢量所指的位置相同。这里,当解码结果被保存在解码图像存储器中时,有时会执行去块滤波处理。在该滤波处理中,根据面向块边界的2个块所具有的块矢量的差分,控制滤波器的强度。在不校正块矢量的情况下,与校正后的参考位置和块矢量所指的位置不同的情况相比,由于为更适当的滤波器的强度,因此能够提高编码效率。
接着,判定参考块的y方向的参考位置是否比可参考区域的左上小(S6006)。如果判定为假(S6006:否),则进入下一处理(S6008)。另一方面,如果判定为真(S6006:是),则与可参考区域的左上一致地来校正y方向的参考位置(S6007)。
当前,若参考块r4位于6021,则y方向的参考位置比可参考区域的左上小(S6006:是)。因此,设为yRefTL=yAvlTL,将参考位置校正到6022的位置(S6007)。这里,如S6001所示,由于yRefBR=yRefTL+cbHeight-1,因此随着校正yRefTL,yRefBR也被校正。在该参考位置的校正中,也可以校正块矢量mvL[1]。即,校正为:
mvL[1]=(yAvlTL-yCb)<<4。由此,成为yRefTL=yAvlTL,因此能够校正参考位置。
接着,判定参考块的x方向的参考位置是否比可参考区域的右下大(S6008)。如果判定为假(S6008:否),则进入下一处理(S6010)。另一方面,如果判定为真(S6008:是),则与可参考区域的右下一致地来校正x方向的参考位置(S6009)。
当前,若参考块r7位于6031,则x方向的参考位置比可参考区域的右下大(S6008:是)。因此,设为xRefBR=xAvlBR,将参考位置校正到6032的位置(S6009)。这里,如S6001所示,由于xRefBR=xRefTL+cbWidth-1,即xRefTL=xRefBR-(cbWidth-1),因此随着校正xRefBR,xRefTL也被校正。在该参考位置的校正中,也可以校正块矢量mvL[0]。即,校正为:
mvL[0]=(xAvlBR-(xCb+cbWidth-1))<<4。由此,成为xRefBR=xAvlBR,因此能够校正参考位置。
接着,判定参考块的y方向的参考位置是否比可参考区域的右下大(S6010)。如果判定为假(S6010:否),则结束处理。另一方面,如果判定为真(S6010:是),则与可参考区域的右下一致地来校正y方向的参考位置(S6011)。
当前,若参考块r5位于6041,则y方向的参考位置比可参考区域的右下大(S6010:是)。因此,设为yRefBR=yAvlBR,将参考位置校正到6042的位置(S6011)。这里,如S6001所示,由于yRefBR=yRefTL+cbHeight-1,即yRefTL=yRefBR-(cbHeight-1),因此随着校正yRefBR,yRefTL也被校正。在该参考位置的校正中,也可以校正块矢量mvL[1]。即,校正为:
mvL[1]=(yAvlBR-(yCb+cbHeitght-1))<<4。由此,成为yRefBR=yAvlBR,因此能够校正参考位置。
这里,对参考块r1位于6051的情况进行说明。在该情况下,与参考块为r2的情况同样地,校正x方向的参考位置。并且,与参考块为r4的情况同样地,校正y方向的参考位置。其结果,参考块r1位于作为可参考区域的内部的6052。
在参考块r3位于6061的情况下、参考块r6位于6062的情况下、参考块r8位于6063的情况下,与上述同样地校正x、y各方向的参考位置。其结果,各个参考块位于可参考区域的内部。
由此,CTU的大小不是128×128像素的情况下的处理结束。另一方面,在CTU的大小为128×128像素的情况下(S6002:是),计算将可参考区域设为矩形状的情况下的左上以及右下的位置(S6012)。
图50是说明将可参考区域设为矩形状的情况下的左上及右下的位置的图。在图50A的情况下,处理对象的编码树块6101被4分割,处理对象的编码块6102位于该分割的左上。此时,可参考区域如6103内的斜线部那样成为倒L字形。在将可参考区域设为矩形状的情况下,其范围设为6103的矩形状的范围。在将可参考区域设为矩形状的情况下,若将参考块的左上设为(xRefTL,yRefTL),将右下设为(xRefBR,yRefBR),则成为:
offset[4]={0,64,128,128}
NL=-offset[3-blk_idx],NR=offset[blk_idx]
(xAvlTL,yAvlTL)=((xCb>>CtbLog2SizeY)<<CtbLog2SizeY+NL,
(yCb>>CtbLog2SizeY)<<CtbLog2SizeY)
(xAvlBR,yAvlBR)=(((xCb>>CtbLog2SizeY)<<CtbLog2SizeY)-1+NR,
(((yCb>>CtbLog2SizeY)+1)<<CtbLog2SizeY)-1)。
这里,blk_idx是表示处理对象的编码块的位置的索引。在对处理对象的编码树块进行4分割后,在处理对象的编码块位于左上的情况下,设为blk_idx=0。同样地,在处理对象的编码块分别位于右上、左下、右下的情况下,blk_idx设为1、2、3。图50A是表示blk_idx=0的情况的图。同样地,图50B至图50D分别是表示blk_idx=1至3的情况的图。
接着,校正可参考区域不是矩形的部分的参考位置(S6013)。图51是说明对可参考区域不是矩形的部分的参考位置进行校正的处理的流程图。首先,计算可参考区域的左上的位置(S6021)。可参考区域是图50的斜线部,所以除了blk_idx=3的情况以外,左上的位置有6111和6112这2点。若分别设为(X1,Y1)、(X2,Y2),则成为:
offset[4]={64,128,64,0},NL=offset[blk_idx]
(X1,Y1)=(xAvlTL,yAvlTL+64)
(X2,Y2)=(xAvlTL+NL,yAvlTL)。
接着,判定是否与可参考区域的左上一致地来校正参考位置(S6022)。在该判定中,在不是blk_idx=3且参考块位于比X2和Y1小的区域的情况下判定为真(S6022:是)。在为假的情况下(S6022:否),进入接下来的处理(S6026)。
接着,判定参考块与可参考区域的x方向的差分是否小于参考块与可参考区域的y方向的差分(S6023)。在判定为真的情况下(S6023:是),校正x方向的参考位置(S6024)。另一方面,在判定为假的情况下(S6023:否),校正y方向的参考位置(S6025)。
图52A是示出在S6024和S6025中校正参考位置的情形的图。当前,blk_idx=0。如果参考块r1位于6201,则不是blk_idx=3,并且参考块的左上位于比X2(6112的x方向)和Y1(6111的y方向)小的区域(S6022:是)。另外,参考块与可参考区域的x方向的差分小于参考块与可参考区域的y方向的差分(S6023:是)。因此,设为xRefTL=xAvlTL+NL,将x方向的参考位置校正到6202的位置(S6024)。这里,如S6001所示,由于xRefBR=xRefTL+cbWidth-1,因此随着校正xRefTL,xRefBR也被校正。在该参考位置的校正中,也可以校正块矢量mvL[0]。即,校正为:
mvL[0]=(xAvlTL+NL-xCb)<<4。由此,成为xRefTL=xAvlTL+NL,因此能够校正参考位置。
另一方面,若参考块r2位于6203,则不是blk_idx=3,且参考块的左上位于比X2(6112的x方向)和Y1(6111的y方向)小的区域(S6022:是)。另外,参考块与可参考区域的x方向的差分不小于参考块与可参考区域的y方向的差分(S6023:否)。因此,设为yRefTL=yAvlTL+64,将y方向的参考位置校正到6204的位置(S6025)。这里,如S6001所示,由于yRefBR=yRefTL+cbHeight-1,因此随着校正yRefTL,yRefBR也被校正。在该参考位置的校正中,也可以校正块矢量mvL[0]。即,校正为:
mvL[1]=(yAvlTL+64-yCb)<<4。由此,成为yRefTL=yAvlTL+64,因此能够校正参考位置。
这里,假设参考块r3位于6205。在该情况下,参考块与可参考区域的x方向的差分小于参考块与可参考区域的y方向的差分(S6023:是)。因此,通过与参考块r1同样地校正x方向的参考位置,位于6206(S6024)。在该时刻,参考块是可参考区域的外侧。但是,通过后述的S6006和S6007的处理,校正y方向的参考位置。结果,参考块成为可参考区域的内侧。
接着,计算可参考区域的右下的位置(S6026)。可参考区域是图50的斜线部,所以除了blk_idx=0的情况以外,右下的位置有6113和6114这2点。若分别设为(X3,Y3),(X4,Y4),则成为:
offset[4]={0,64,128,64},NR=offset[blk_idx]
(X3,Y3)=(xAvlBR,yAvlBR-64)
(X4,Y4)=(xAvlBR-NR,yAvlBR)。
接着,判定是否与可参考区域的右下一致地来校正参考位置(S6027)。在该判定中,在不是blk_idx=0且参考块位于比X4和Y3大的区域的情况下判定为真(S6027:是)。在为假的情况下(S6027:否),结束处理。
接着,判定参考块与可参考区域的x方向的差分是否小于参考块与可参考区域的y方向的差分(S6028)。在判定为真的情况下(S6028:是),校正x方向的参考位置(S6029)。另一方面,在判定为假的情况下(S6028:否),校正y方向的参考位置(S6030)。
图52B是示出在S6029和S6030中校正参考位置的情形的图。当前,blk_idx=3。如果参考块r1位于6211,则不是blk_idx=0,并且参考块的右下位于比X4(6114的x方向)和Y3(6113的y方向)大的区域(S6027:是)。另外,参考块与可参考区域的x方向的差分小于参考块与可参考区域的y方向的差分(S6028:是)。因此,设为xRefBR=xAvlBR,将x方向的参考位置校正到6212的位置(S6029)。这里,如S6001所示,由于xRefBR=xRefTL+cbWidth-1,即xRefTL=xRefBR-(cbWidth-1),因此随着校正xRefBR,xRefTL也被校正。在该参考位置的校正中,也可以校正块矢量mvL[0]。即,校正为:
mvL[0]=(xAvlBR-NR-(xCb+cbWitdh-1))<<4。由此,成为xRefBR=xAvlBR,因此能够校正参考位置。
另一方面,若参考块r2位于6213,则不是blk_idx=0,且参考块的右下位于比X4(6114的x方向)和Y3(6113的y方向)大的区域(S6027:是)。另外,参考块与可参考区域的x方向的差分不小于参考块与可参考区域的y方向的差分(S6028:否)。因此,设为yRefBR=yAvlBR,将y方向的参考位置校正到6214的位置(S6030)。这里,如S6001所示,由于yRefBR=yRefTL+cbHeight-1,即yRefTL=yRefBR-(cbHeight-1),因此随着校正yRefBR,yRefTL也被校正。在该参考位置的校正中,也可以校正块矢量mvL[1]。即,校正为:
mvL[1]=(yAvlBR-64-(yCb+cbHeight-1))<<4。由此,成为yRefBR=yAvlBR,因此能够校正参考位置。
这里,假设参考块r3位于6215。在该情况下,参考块与可参考区域的x方向的差分不比参考块与可参考区域的y方向的差分小(S6028:否)。因此,通过与参考块r2同样地校正y方向的参考位置,位于6216(S6030)。在该时刻,参考块是可参考区域的外侧。但是,通过后述的S6008和S6009的处理,校正x方向的参考位置。结果,参考块成为可参考区域的内侧。
在图52中,说明以blk_idx=0和3的情况为例校正参考位置的处理。在blk_idx=1或2的情况下,与blk_idx=0和3的情况同样地进行校正参考位置的处理。
在对可参考区域不是矩形的部分的参考位置进行校正的处理(S6013)之后,进行S6004至S6011的处理。由此,CTU的大小为128×128像素的情况下的处理结束。
当前,假定在对可参考区域不是矩形的部分的参考位置进行校正的处理(S6013)中,与可参考区域的左上一致地进行对x方向的参考位置进行校正的处理(S6024)。于是,参考块的x方向的参考位置不会变得比可参考区域的左上小,因此S6004的判定始终为假(S6004:否)。因此,在进行了S6024的处理的情况下,也可以不进行S6004和S6005的处理。同样地,在进行了S6025的处理的情况下,可以不进行S6006和S6007的处理,在进行了S6029的处理的情况下,可以不进行S6008和S6009的处理,在进行了S6030的处理的情况下,可以不进行S6010和S6011的处理。
另外,在图51的流程图中,可以省略步骤S6023的比较处理,采用始终执行步骤S6024的结构,也可以采用始终执行步骤S6025的结构。同样地,可以省略步骤S6028的比较处理,采用始终执行步骤S6029的结构,也可以采用始终执行步骤S6030的结构。在这样的结构中,能够通过简便的处理来校正参考位置。
在图48中,在CTU的大小是128×128像素的情况下,通过使用S6012、S6013和S6004~S6011的处理来校正参考位置。取而代之,如图53所示,也能够通过将可参考区域分解为2个并校正各个参考位置的处理(S6101)来实现。
图54是说明将可参考区域分解为2个的情形的图。与在图50中将可参考区域设为矩形状的情况不同,在图54中将可参考区域分解为2个。在对处理对象的编码树块(6101)进行4分割后,在处理对象的编码块(6102)位于左上的情况下,设为blk_idx=0。同样地,在处理对象的编码块分别位于右上、左下、右下的情况下,blk_idx设为1、2、3。图54A是表示blk_idx=0的情况的图。同样地,图54B至图54D分别是表示blk_idx=1至3的情况的图。另外,将一个可参考区域(6301)设为可参考区域A,将另一个可参考区域(6302)设为可参考区域B。
图55是说明将可参考区域分解为2个并校正各个参考位置的处理(S6101)的流程图。在图55中,对与图48相同的处理标注相同的步骤编号,并省略说明。首先,计算可参考区域A的左上及右下的位置(S6111)。当将可参考区域A的左上设为(xAvlTL,yAvlTL),将可参考区域A的右下设为(xAvlBR,yAvlBR)时,成为:
xOffsetTL[4]={-128,-128,-64,0},yOffsetTL[4]={64,64,64,0}
xOffsetBR[4]={0,0,0,128},yOffsetBR[4]={128,128,128,64}
(xAvlTL,yAvlTL)=((xCb>>CtbLog2SizeY)<<CtbLog2SizeY+xOffsetTL[blk_idx],
(yCb>>CtbLog2SizeY)<<CtbLog2SizeY+yOffsetTL[blk_idx])
(xAvlBR,yAvlBR)=(((xCb>>CtbLog2SizeY)<<CtbLog2SizeY)-1
+xOffsetBR[blk_idx],
(((yCb>>CtbLog2SizeY+1)<<CtbLog2SizeY)-1+yOffsetBR[blk_idx]。
接着,关于参考块是否在可参考区域A的外部,设为如下进行计算(S6112)。
out_xRefTL=xRefTL<xAvlTL
out_yRefTL=yRefTL<yAvlTL
out_xRefBR=xRefBR>xAvlBR
out_yRefBR=yRefBR>yAvlBR
接着,计算可参考区域B的左上及右下的位置(S6113)。当将可参考区域B的左上设为(xAvlTL,yAvlTL),将可参考区域B的右下设为(xAvlBR,yAvlBR)时,成为:
xOffsetTL[4]={-64,0,0,0},yOffsetTL[4]={0,0,0,0}
xOffsetBR[4]={0,64,128,64},yOffsetBR[4]={128,64,64,128}
(xAvlTL,yAvlTL)=((xCb>>CtbLog2SizeY)<<CtbLog2SizeY+xOffsetTL[blk_idx],
(yCb>>CtbLog2SizeY)<<CtbLog2SizeY+yOffsetTL[blk_idx])
(xAvlBR,yAvlBR)=(((xCb>>CtbLog2SizeY)<<CtbLog2SizeY)-1
+xOffsetBR[blk_idx],
(((yCb>>CtbLog2SizeY)+1)<<CtbLog2SizeY)-1+yOffsetBR[blk_idx])。
接下来,判定参考块的x方向的参考位置是否比可参考区域A的左上小并且参考块的x方向的参考位置是否比可参考区域B的左上小(S6114)。如果判定为假(S6114:否),则进入下一处理(S6116)。另一方面,如果判定为真(S6114:是),则与可参考区域B的左上一致地来校正x方向的参考位置(S6005)。S6005的处理已经进行了说明,因此省略说明。
随后,判定参考块的y方向的参考位置是否比可参考区域A的左上小并且参考块的y方向的参考位置是否比可参考区域B的左上小(S6116)。如果判定为假(S6116:否),则进入下一处理(S6118)。另一方面,如果判定为真(S6116:是),则与可参考区域B的左上一致地来校正y方向的参考位置(S6007)。S6007的处理已经进行了说明,因此省略说明。
接下来,判定参考块的x方向的参考位置是否比可参考区域A的右下大并且参考块的x方向的参考位置是否比可参考区域B的右下大(S6118)。如果判定为假(S6118:否),则进入下一处理(S6120)。另一方面,如果判定为真(S6118:是),则与可参考区域B的右下一致地来校正x方向的参考位置(S6009)。由于S6009的处理已经进行了说明,因此省略说明。
接下来,判定参考块的y方向的参考位置是否比可参考区域A的右下大并且参考块的y方向的参考位置是否比可参考区域B的右下大(S6120)。如果判定为假(S6120:否),则结束处理(S6120)。另一方面,如果判定为真(S6120:是),则与可参考区域B的右下一致地来校正y方向的参考位置(S6011)。由于S6011的处理已经进行了说明,因此省略说明。
由此,在CTU的大小为128×128像素的情况下,即使参考块位于可参考区域的外部,也能够校正参考位置来进行参考。另外,通过将可参考区域分解为2个而校正各个参考位置,能够简化处理而削减运算量。这里,将一个可参考区域(6301)设为可参考区域A,将另一个可参考区域(6302)设为可参考区域B。取而代之,也可以调换可参考区域A和可参考区域B,将一个可参考区域(6301)设为可参考区域B,将另一个可参考区域(6302)设为可参考区域A进行处理。
在本实施例中,判定CTU的大小是否是128×128像素(S6002),并切换处理。这可以判定帧内块复制基准块是否是对编码树块进行4分割所得到的单位,也可以判定CTU的大小是否大于编码块的最大尺寸。
以上所述的全部实施方式也可以组合多个。
在以上所述的所有实施方式中,图像编码装置输出的比特流具有特定的数据格式,以能够根据在实施方式中使用的编码方法进行解码。比特流既可以记录在HDD、SSD、闪存、光盘等能够由计算机等解读的记录介质中来提供,也可以通过有线或无线的网络从服务器提供。因此,与该图像编码装置对应的图像解码装置可以在不使用提供手段的情况下对该特定数据格式的比特流进行解码。
在使用有线或无线网络用于在图像编码装置和图像解码装置之间交换比特流的情况下,可以将比特流转换为适合于通信线路的传送形式的数据格式来传送。在该情况下,设置了:发送装置,将从图像编码装置输出的比特流转换为适合于通信线路的传送形式的数据格式的编码数据并将该编码数据发送到网络;以及接收装置,从网络接收编码数据并将该编码数据恢复为比特流而提供给图像解码装置。发送装置包括:存储器,对从图像编码装置输出的比特流进行缓冲;分组处理部,对比特流进行分组;以及发送部,经由网络发送已被分组的编码数据。接收装置包括:接收部,经由网络接收已被分组的编码数据;存储器,对已接收到的编码数据进行缓冲;以及分组处理部,对编码数据进行分组处理以生成比特流,并将该比特流提供给图像解码装置。
为了在图像编码装置和图像解码装置之间交换比特流,在使用有线或无线网络的情况下,除了发送装置、接收装置以外,还可以设置接收发送装置发送的编码数据并提供给接收装置的中继装置。中继装置包括:接收部,接收发送装置发送的分组后的编码数据;存储器,对接收到的编码数据进行缓冲;以及发送部,将分组后的编码数据发送到网络。并且,中继装置也可以包括:接收分组处理部,对分组后的编码数据进行分组处理而生成比特流;记录介质,存储比特流;以及发送分组处理部,对比特流进行分组。
另外,也可以通过在构成中添加显示由图像解码装置解码的图像的显示部来作为显示装置。在这种情况下,显示部读出由解码图像信号重叠部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.一种图像解码方法,包括:
块矢量候选导出步骤,从编码信息保存存储器中保存的编码信息导出处理对象图片内的处理对象块的块矢量候选;
选择步骤,从所述块矢量候选中选出选择块矢量;以及
参考位置校正步骤,针对由所述选择块矢量参考的参考块,校正所述参考块的参考位置,使得参考可参考区域的内部,
所述图像解码方法基于所述参考块的参考位置从解码图像存储器获取所述处理对象图片内的已解码像素作为所述处理对象块的预测值。
6.一种图像解码程序,包括:
块矢量候选导出步骤,从编码信息保存存储器中保存的编码信息导出处理对象图片内的处理对象块的块矢量候选;
选择步骤,从所述块矢量候选中选出选择块矢量;以及
参考位置校正步骤,针对由所述选择块矢量参考的参考块,校正所述参考块的参考位置,使得参考可参考区域的内部,
所述图像解码程序基于所述参考块的参考位置从解码图像存储器获取所述处理对象图片内的已解码像素作为所述处理对象块的预测值。
CN202080031476.5A 2019-06-20 2020-06-19 动图像编码装置和方法、以及动图像解码装置和方法 Active CN113767622B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202410940728.6A CN118694968A (zh) 2019-06-20 2020-06-19 图像编码装置和方法、以及图像解码装置和方法
CN202410940782.0A CN118694969A (zh) 2019-06-20 2020-06-19 图像编码装置和方法、以及图像解码装置和方法
CN202410940888.0A CN118694970A (zh) 2019-06-20 2020-06-19 图像编码装置和方法、以及图像解码装置和方法
CN202211171879.7A CN115442594A (zh) 2019-06-20 2020-06-19 动图像编码装置和方法、以及动图像解码装置和方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019-114395 2019-06-20
JP2019114395 2019-06-20
PCT/JP2020/024137 WO2020256102A1 (ja) 2019-06-20 2020-06-19 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム

Related Child Applications (4)

Application Number Title Priority Date Filing Date
CN202410940782.0A Division CN118694969A (zh) 2019-06-20 2020-06-19 图像编码装置和方法、以及图像解码装置和方法
CN202211171879.7A Division CN115442594A (zh) 2019-06-20 2020-06-19 动图像编码装置和方法、以及动图像解码装置和方法
CN202410940728.6A Division CN118694968A (zh) 2019-06-20 2020-06-19 图像编码装置和方法、以及图像解码装置和方法
CN202410940888.0A Division CN118694970A (zh) 2019-06-20 2020-06-19 图像编码装置和方法、以及图像解码装置和方法

Publications (2)

Publication Number Publication Date
CN113767622A true CN113767622A (zh) 2021-12-07
CN113767622B CN113767622B (zh) 2024-07-26

Family

ID=74040853

Family Applications (5)

Application Number Title Priority Date Filing Date
CN202410940782.0A Pending CN118694969A (zh) 2019-06-20 2020-06-19 图像编码装置和方法、以及图像解码装置和方法
CN202211171879.7A Pending CN115442594A (zh) 2019-06-20 2020-06-19 动图像编码装置和方法、以及动图像解码装置和方法
CN202410940728.6A Pending CN118694968A (zh) 2019-06-20 2020-06-19 图像编码装置和方法、以及图像解码装置和方法
CN202080031476.5A Active CN113767622B (zh) 2019-06-20 2020-06-19 动图像编码装置和方法、以及动图像解码装置和方法
CN202410940888.0A Pending CN118694970A (zh) 2019-06-20 2020-06-19 图像编码装置和方法、以及图像解码装置和方法

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN202410940782.0A Pending CN118694969A (zh) 2019-06-20 2020-06-19 图像编码装置和方法、以及图像解码装置和方法
CN202211171879.7A Pending CN115442594A (zh) 2019-06-20 2020-06-19 动图像编码装置和方法、以及动图像解码装置和方法
CN202410940728.6A Pending CN118694968A (zh) 2019-06-20 2020-06-19 图像编码装置和方法、以及图像解码装置和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202410940888.0A Pending CN118694970A (zh) 2019-06-20 2020-06-19 图像编码装置和方法、以及图像解码装置和方法

Country Status (8)

Country Link
US (2) US11936849B2 (zh)
EP (1) EP3989545A4 (zh)
JP (4) JP6958768B2 (zh)
KR (1) KR20210128482A (zh)
CN (5) CN118694969A (zh)
BR (1) BR112021025852B1 (zh)
MX (1) MX2021015089A (zh)
WO (1) WO2020256102A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115442594A (zh) * 2019-06-20 2022-12-06 Jvc建伍株式会社 动图像编码装置和方法、以及动图像解码装置和方法
WO2023173809A1 (zh) * 2022-03-16 2023-09-21 腾讯科技(深圳)有限公司 视频编解码方法、装置、存储介质、电子设备及计算机程序产品

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114128279A (zh) * 2019-06-21 2022-03-01 Jvc建伍株式会社 动图像编码装置、动图像编码方法及动图像编码程序、动图像解码装置、动图像解码方法及动图像解码程序
BR112021026156A2 (pt) * 2019-06-25 2022-02-08 Jvckenwood Corp Dispositivo de codificação de imagem dinâmica, método de codificação de imagem dinâmica, programa de codificação de imagem dinâmica, dispositivo de decodificação de imagem dinâmica, método de decodificação de imagem dinâmica e programa de decodificação de imagem dinâmica

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013102260A (ja) * 2011-11-07 2013-05-23 Jvc Kenwood Corp 動画像復号装置、動画像復号方法及び動画像復号プログラム
CN103563386A (zh) * 2011-05-31 2014-02-05 Jvc建伍株式会社 动图像编码装置、动图像编码方法及动图像编码程序、以及动图像解码装置、动图像解码方法及动图像解码程序
US20150264351A1 (en) * 2014-03-12 2015-09-17 Fujitsu Limited Video encoding apparatus, video encoding method, and video encoding computer program
US20150373366A1 (en) * 2014-06-19 2015-12-24 Vid Scale Inc. Methods and systems for intra block copy coding with block vector derivation
US20160100189A1 (en) * 2014-10-07 2016-04-07 Qualcomm Incorporated Intra bc and inter unification
US20160105670A1 (en) * 2014-10-14 2016-04-14 Qualcomm Incorporated Amvp and merge candidate list derivation for intra bc and inter prediction unification
CN105532000A (zh) * 2013-09-13 2016-04-27 佳能株式会社 用于对视频数据进行编码和解码的方法、设备和系统
US20160337661A1 (en) * 2015-05-11 2016-11-17 Qualcomm Incorporated Search region determination for inter coding within a particular picture of video data
EP3189661A1 (en) * 2014-10-08 2017-07-12 MediaTek Inc. Method of block vector clipping and coding for screen content coding and video coding
JP2017130938A (ja) * 2014-07-07 2017-07-27 寰發股▲ふん▼有限公司HFI Innovation Inc. イントラブロックコピー検索と補償範囲の方法
WO2018097078A1 (ja) * 2016-11-22 2018-05-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN115442594A (zh) * 2019-06-20 2022-12-06 Jvc建伍株式会社 动图像编码装置和方法、以及动图像解码装置和方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090245371A1 (en) 2008-03-28 2009-10-01 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding information about intra-prediction mode of video
US9503728B2 (en) * 2009-01-15 2016-11-22 Renesas Electronics Corporation Image processing device, decoding method, intra-frame decoder, method of decoding intra-frame and intra-frame encoder
WO2012120582A1 (ja) * 2011-03-07 2012-09-13 パナソニック株式会社 動き補償装置、動画像符号化装置、動画像復号装置、動き補償方法、プログラム、及び集積回路
JP5821542B2 (ja) * 2011-11-07 2015-11-24 富士通株式会社 動画像符号化装置、および動画像復号装置
US9756354B2 (en) 2014-03-17 2017-09-05 Qualcomm Incorporated Block vector predictor for intra block copying
KR101863487B1 (ko) 2014-05-06 2018-05-31 에이치에프아이 이노베이션 인크. 인트라 블록 카피 모드 부호화를 위한 블록 벡터 예측 방법
WO2016051362A1 (en) 2014-10-03 2016-04-07 Nokia Technologies Oy Method and equipment for encoding and decoding an intra block copy vector
WO2017134992A1 (ja) * 2016-02-03 2017-08-10 シャープ株式会社 予測画像生成装置、動画像復号装置および動画像符号化装置
TWI692690B (zh) * 2017-12-05 2020-05-01 慧榮科技股份有限公司 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103563386A (zh) * 2011-05-31 2014-02-05 Jvc建伍株式会社 动图像编码装置、动图像编码方法及动图像编码程序、以及动图像解码装置、动图像解码方法及动图像解码程序
JP2013102260A (ja) * 2011-11-07 2013-05-23 Jvc Kenwood Corp 動画像復号装置、動画像復号方法及び動画像復号プログラム
CN105532000A (zh) * 2013-09-13 2016-04-27 佳能株式会社 用于对视频数据进行编码和解码的方法、设备和系统
US20150264351A1 (en) * 2014-03-12 2015-09-17 Fujitsu Limited Video encoding apparatus, video encoding method, and video encoding computer program
US20150373366A1 (en) * 2014-06-19 2015-12-24 Vid Scale Inc. Methods and systems for intra block copy coding with block vector derivation
JP2017130938A (ja) * 2014-07-07 2017-07-27 寰發股▲ふん▼有限公司HFI Innovation Inc. イントラブロックコピー検索と補償範囲の方法
US20160100189A1 (en) * 2014-10-07 2016-04-07 Qualcomm Incorporated Intra bc and inter unification
EP3189661A1 (en) * 2014-10-08 2017-07-12 MediaTek Inc. Method of block vector clipping and coding for screen content coding and video coding
US20160105670A1 (en) * 2014-10-14 2016-04-14 Qualcomm Incorporated Amvp and merge candidate list derivation for intra bc and inter prediction unification
US20160337661A1 (en) * 2015-05-11 2016-11-17 Qualcomm Incorporated Search region determination for inter coding within a particular picture of video data
WO2018097078A1 (ja) * 2016-11-22 2018-05-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN115442594A (zh) * 2019-06-20 2022-12-06 Jvc建伍株式会社 动图像编码装置和方法、以及动图像解码装置和方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JIZHENG XU ET AL: "Non-CE8: intra block copy clean-up(JVET-N0251_v2)", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 14TH MEETING: GENEVA, CH, 19–27 MARCH 2019》, pages 1 - 6 *
JIZHENG XU ET AL: "Non-CE8: On IBC reference buffer design(JVET-N0472_v2)", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 14TH MEETING: GENEVA, CH, 19–27 MARCH 2019》, pages 1 - 6 *
XIAOZHONG XU: "Non-CE8: IBC search range increase for small CTU size( JVET-N0384-v2)", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 14TH MEETING: GENEVA, CH, 19–27 MARCH 2019》, pages 1 - 4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115442594A (zh) * 2019-06-20 2022-12-06 Jvc建伍株式会社 动图像编码装置和方法、以及动图像解码装置和方法
WO2023173809A1 (zh) * 2022-03-16 2023-09-21 腾讯科技(深圳)有限公司 视频编解码方法、装置、存储介质、电子设备及计算机程序产品

Also Published As

Publication number Publication date
US11936849B2 (en) 2024-03-19
CN113767622B (zh) 2024-07-26
EP3989545A4 (en) 2022-08-17
JP2024051142A (ja) 2024-04-10
US20220109829A1 (en) 2022-04-07
JP7521650B2 (ja) 2024-07-24
BR112021025852A2 (pt) 2022-02-08
JP2022023855A (ja) 2022-02-08
MX2021015089A (es) 2022-01-18
KR20210128482A (ko) 2021-10-26
BR112021025852B1 (pt) 2023-05-16
WO2020256102A1 (ja) 2020-12-24
JPWO2020256102A1 (ja) 2021-10-21
EP3989545A1 (en) 2022-04-27
US20240179300A1 (en) 2024-05-30
CN118694969A (zh) 2024-09-24
JP7287433B2 (ja) 2023-06-06
JP6958768B2 (ja) 2021-11-02
CN118694968A (zh) 2024-09-24
CN115442594A (zh) 2022-12-06
JP2023099774A (ja) 2023-07-13
CN118694970A (zh) 2024-09-24

Similar Documents

Publication Publication Date Title
CN113491126A (zh) 图像编码装置、图像编码方法以及图像编码程序、图像解码装置、图像解码方法以及图像解码程序
CN113767622B (zh) 动图像编码装置和方法、以及动图像解码装置和方法
JP7375890B2 (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
CN113557739A (zh) 图像编码装置、图像编码方法以及图像编码程序、图像解码装置、图像解码方法以及图像解码程序
CN112929674B (zh) 图像编码装置和方法、图像解码装置和方法
CN113287314A (zh) 动图像解码装置、动图像解码方法、动图像解码程序、动图像编码装置、动图像编码方法以及动图像编码程序
JP7063416B2 (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
CN112954361B (zh) 图像编解码装置、图像编解码方法
CN113228678A (zh) 动图像编码装置、动图像编码方法以及动图像编码程序、动图像解码装置、动图像解码方法以及动图像解码程序
CN112470476A (zh) 图像编码装置、图像编码方法、图像编码程序、图像解码装置、图像解码方法及图像解码程序
CN112369033A (zh) 动图像编码装置、动图像编码方法以及动图像编码程序、动图像解码装置、动图像解码方法以及动图像解码程序
CN113068038B (zh) 动图像解码装置、动图像解码方法、动图像解码程序
RU2781517C1 (ru) Устройство кодирования динамического изображения, способ кодирования динамического изображения, программа кодирования динамического изображения, устройство декодирования динамического изображения, способ декодирования динамического изображения и программа декодирования динамического изображения
RU2779635C1 (ru) Устройство для кодирования видео, способ кодирования видео, программа кодирования видео, устройство для декодирования видео, способ декодирования видео и программа декодирования видео
JP7354610B2 (ja) 画像符号化装置、画像符号化方法及び画像符号化プログラム
JP7338262B2 (ja) 画像符号化装置、画像符号化方法及び画像符号化プログラム
CN113055690A (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
GR01 Patent grant
GR01 Patent grant