CN112970260A - 视频信号编码/解码方法以及用于所述方法的设备 - Google Patents

视频信号编码/解码方法以及用于所述方法的设备 Download PDF

Info

Publication number
CN112970260A
CN112970260A CN201980070594.4A CN201980070594A CN112970260A CN 112970260 A CN112970260 A CN 112970260A CN 201980070594 A CN201980070594 A CN 201980070594A CN 112970260 A CN112970260 A CN 112970260A
Authority
CN
China
Prior art keywords
block
prediction
affine
sample
current block
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
CN201980070594.4A
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202310271807.8A priority Critical patent/CN116248870A/zh
Priority to CN202110668308.3A priority patent/CN113395519B/zh
Priority to CN202310271780.2A priority patent/CN116248869A/zh
Publication of CN112970260A publication Critical patent/CN112970260A/zh
Pending legal-status Critical Current

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/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/136Incoming video signal characteristics or properties
    • 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
    • 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
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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
    • 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/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/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/182Methods 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 a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • 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/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明的视频解码方法包括以下步骤:确定是否将编码块划分为第一预测单元和第二预测单元;当确定对所述编码块进行划分时,确定所述编码块的划分类型;导出所述编码块的所述第一预测单元的第一运动信息和所述第二预测单元的第二运动信息;以及基于所述第一运动信息和所述第二运动信息,获得所述编码块中的预测样本。

Description

视频信号编码/解码方法以及用于所述方法的设备
技术领域
本发明涉及视频信号编码/解码方法以及用于所述方法的设备。
背景技术
随着显示面板变得越来越大,逐渐需要画质更高的视频服务。高清视频服务的最大问题在于数据量大幅增加,为了解决这种问题,正在积极进行用于提高视频压缩率的研究。作为代表性示例,在2009年,运动图像专家组(Motion Picture Experts Group,MPEG)和国际电信联盟-电信(International Telecommunication Union-Telecommunication,ITU-T)旗下的视频编码专家组(Video Coding Experts Group,VCEG)建立了视频编码联合协作团队JCT-VC(Joint Collaborative Team on Video Coding)。JCT-VC提出了视频压缩标准HEVC(高效视频编码,High Efficiency Video Coding)并于2013年1月25日获得批准,其压缩性能约是H.264/AVC的2倍。随着高清视频服务的急剧发展,HEVC的性能也逐渐暴露出其局限性。
发明内容
要解决的技术问题
本发明的目的在于提供一种在对视频信号进行编码/解码时将编码块划分为多个预测块的方法以及一种用于执行所述方法的设备。
本发明的目的在于提供一种在对视频信号进行编码/解码时导出多个预测块中的每个预测块的运动信息的方法以及一种用于执行所述方法的设备。
本发明的目的在于提供一种在对视频信号进行编码/解码时使用帧间运动信息列表导出合并候选的方法以及一种用于执行所述方法的设备。
本发明要实现的技术问题不限于以上提及的技术问题,并且本发明所属技术领域的普通技术人员将通过以下描述清楚理解未提到的其他技术问题。
技术方案
本发明的视频信号编码/解码方法包括如下的步骤:确定是否将编码块划分为第一预测单元和第二预测单元;当确定对所述编码块进行划分时,确定所述编码块的划分类型;导出所述编码块的所述第一预测单元的第一运动信息和所述第二预测单元的第二运动信息;以及基于所述第一运动信息和所述第二运动信息获得所述编码块中的预测样本。在这种情况下,可以根据第一合并候选获取所述第一预测单元的所述第一运动信息,所述第一合并候选是由第一索引信息在合并候选列表所包括的多个合并候选中指定的,并且可以根据第二合并候选获取所述第二预测单元的所述第二运动信息,所述第二合并候选是由第二索引信息在所述合并候选列表所包括的多个合并候选中指定的。
在本发明的视频信号编码/解码方法中,当所述第二索引信息的值等于或大于所述第一索引信息的值时,所述第二合并候选可以具有通过将所述第二索引信息的值加1而获得的值作为索引。
在本发明的视频信号编码/解码方法中,当所述第二索引信息的值小于所述第一索引信息的值时,可以将所述第二索引信息的值作为所述第二合并候选的索引。
在本发明的视频信号编码/解码方法中,当所述预测样本包括在所述第一预测单元和所述第二预测单元的边界区域中时,可以根据基于所述第一运动信息导出的第一预测样本和基于所述第二运动信息导出的第二预测样本的加权和运算来导出所述预测样本。
在本发明的视频信号编码/解码方法中,可以基于所述预测样本的x轴坐标和y轴坐标来确定应用于所述第一预测样本的第一加权值。
在本发明的视频信号编码/解码方法中,可以通过从常数减去所述第一加权值来导出应用于所述第二预测样本的第二加权值。
在本发明的视频信号编码/解码方法中,可以基于所述编码块的大小或所述编码块的形状中的至少一项来确定所述边界区域的大小。
以上对本发明简要概述的特征仅是稍后将描述的本发明的详细说明的示例性实施方式,并不限定本发明的范围。
发明效果
根据本发明,可以通过提供将编码块划分为多个预测块并导出多个预测块中的每个预测块的运动信息的方法来提高帧间预测效率。
根据本发明,可以通过提供使用帧间运动信息列表导出合并候选的方法来提高帧间预测效率。
在本发明中可获得的效果不限于上述效果,并且本发明所属技术领域的普通技术人员将通过以下描述清楚理解未提到的其他效果。
附图说明
图1是本发明实施例的视频编码器(encoder)的框图。
图2是本发明实施例的视频解码器(decoder)的框图。
图3是示出本发明实施例的基本编码树单元的图。
图4是示出编码块的多种划分类型的图。
图5是示出编码树单元的划分示例的图。
图6是本发明实施例的帧间预测方法的流程图。
图7是示出对象的非线性运动的图。
图8是展示了根据本发明实施例的基于仿射运动的帧间预测方法的流程图。
图9是示出每个仿射运动模型的仿射种子矢量的示例的图。
图10是示出在4参数运动模型下的子块的仿射矢量的示例的图。
图11是示出可用于导出合并候选
Figure BDA0003037651470000021
的相邻块的图。
图12是示出基于仿射相邻块的仿射种子矢量来导出当前块的仿射种子矢量的图。
图13是示出将子块的运动矢量设置为仿射相邻块的仿射种子矢量的示例的图。
图14至图16是示出参考样本的位置的图。
图17是示出应用修改的仿射合并矢量导出方法的示例的图。
图18是示出基于属于相邻块的多个子块的多个运动矢量来导出仿射合并候选的仿射种子矢量的示例的图。
图19是示出基于位于当前块左侧的多个子块的运动矢量来导出仿射合并候选的仿射种子矢量的示例的图。
图20是示出基于位于当前块左侧的非相邻块或相邻块的运动信息来导出仿射合并候选的仿射种子矢量的示例的图。
图21是示出用于导出仿射合并候选的仿射种子矢量的块的位置的图。
图22为用于说明通过对多个相邻块的多个运动矢量进行组合来导出组合合并候选的示例的图。
图23是示出不可用相邻块的图。
图24是在合并模式下导出当前块的运动信息的过程的流程图。
图25是用于说明帧间运动信息列表的更新示例的图。
图26是示出更新帧间合并候选列表的实施例的图。
图27是示出先前存储的帧间合并候选的索引被更新的示例的图。
图28是示出代表性子块的位置的图。
图29示出了针对不同帧间预测模式生成帧间运动信息列表的示例。
图30是示出将长期运动信息列表中包括的帧间合并候选添加到合并候选列表的示例的图。
图31是示出仅对合并候选中的一些合并候选进行冗余检查的示例的图。
图32是示出对特定合并候选省略冗余检查的示例的图。
图33是示出使用对角线来将编码块划分为多个预测单元的示例的图。
图34是示出将编码块划分为两个预测单元的示例的图。
图35示出了将编码块划分为具有不同大小的多个预测块的示例的图。
图36是示出用于导出三角形合并候选的相邻块的图。
图37是用于描述确定每个三角形预测单元的相邻块的可用性的示例的图。
图38和图39是示出基于第一预测样本和第二预测样本的加权和运算来导出预测样本的示例的图。
图40是展示了根据本发明实施例的帧内预测方法的流程图。
图41是示出帧内预测模式的图。
图42和图43是示出将参考样本排成一行的一维排列的示例的图。
图44是示出在角度帧内预测模式与平行于x轴的直线之间形成的角度的图。
图45是示出当当前块为非正方形时获得预测样本的示例的图。
图46是示出广角帧内预测模式的图。
图47是示出确定块强度的过程的流程图。
图48是示出了预定义的滤波器候选的图。
具体实施方式
以下,参照附图详细说明本发明的实施例。
视频的编码和解码以块为单位来执行。例如,可以对编码块、变换块或预测块执行变换、量化、预测、环内滤波或重建等编码/解码处理。
以下,将要编码/解码的块称为“当前块”。例如,根据当前编码/解码处理步骤,当前块可以表示编码块、变换块或预测块。
另外,本说明书中使用的术语“单元”表示用于执行特定编码/解码过程的基本单元,并且“块”可以被理解为表示预定大小的样本阵列。除非另有说明,“块”和“单元”可互换使用。例如,在稍后描述的实施例中,编码块和编码单元可以被理解为具有相同的含义。
图1是本发明实施例的视频编码器(encoder)的框图。
参照图1,视频编码设备100可以包括图像划分部110、预测部120、125、变换部130、量化部135、重排部160、熵编码部165、逆量化部140、逆变换部145、滤波器部150和存储器155。
图1所示的各部件被单独示出以表示视频编码设备中相互不同的特征性功能,并不表示各部件由分离的硬件或单一软件组件构成。即,为了便于说明,作为代表性结构要素列出并包括了各结构要素,并且至少两个结构要素可以合并成一个结构要素或者使得一个结构要素划分成多个结构要素并由此执行功能,只要不脱离本发明的本质,这种整合各结构要素的实施例和使得各结构要素分离的实施例也属于本发明的权利范围。
另外,部分结构要素并不是在本发明中执行本质功能的必要结构要素,而是仅用于提高性能的可选结构要素。本发明可以通过仅包括实现本发明的本质所需的部件(不包括用于提高性能的结构要素)来实施,并且仅包括必要结构要素(不包括用于提高性能的结构要素)的结构也属于本发明的权利范围。
图像划分部110可以将输入的图像划分为至少一个处理单元。在这种情况下,处理单元可以是预测单元(Prediction Unit:PU),也可以是变换单元(Transform Unit:TU),还可以是编码单元(Coding Unit:CU)。图像划分部110将一个图像划分为多个编码单元、预测单元和变换单元的组合,可以基于预定标准(例如,代价函数)选择编码单元、预测单元和变换单元的组合来对图像进行编码。
例如,可以将一个图像划分为多个编码单元。为了将图像划分为编码单元,可以使用如四叉树结构(Quad Tree Structure)的递归树状结构,可以将一个视频或最大编码单元(largest coding unit)作为根而将编码单元划分为另外的编码单元,所述编码单元可以具有与所划分的编码单元数量一样多的子节点。根据某些限制不再被划分的编码单元将成为叶节点。即,当假设一个编码单元只能实现正方形划分时,最多可以将一个编码单元划分为4个另外的编码单元。
以下,在本发明的实施例中,编码单元可以意指执行编码的单元,还可以意指执行解码的单元。
可以将一个编码单元内的预测单元划分为至少一个相同大小的正方形或矩形,也可以将一个编码单元内的一个预测单元划分为具有与另一个预测单元不同的形状和/或大小。
当基于编码单元执行帧内预测的预测单元并非是最小编码单元的情况下,可以执行帧内预测,而无需划分为多个预测单元N×N。
预测部120、125可以包括执行帧间预测的帧间预测部120和执行帧内预测的帧内预测部125。可以确定对于预测单元使用帧间预测还是执行帧内预测,并基于每种预测方法确定具体信息(例如,帧内预测模式、运动矢量、参考图像等)。在这种情况下,执行预测的处理单元有可能与确定预测方法和具体内容的处理单元不同。例如,可以由预测单元确定预测方法和预测模式等,并且可以由变换单元执行预测。可以将所生成的预测块与原始块之间的残差值(残差块)输入到变换部130。另外,可以将用于预测的预测模式信息、运动矢量信息等与残差值一同在熵编码部165中进行编码并传送至解码器。当使用特定的编码模式时,也可以直接对原始块进行编码并传送至解码器,而不通过预测部120、125生成预测块。
帧间预测部120可以基于当前图像的上一个图像或下一个图像中的至少一个图像的信息来预测出预测单元,在一些情况下,还可以基于当前图像内已编码的一部分区域的信息来预测出预测单元。帧间预测部120可以包括参考图像插值部、运动预测部、运动补偿部。
参考图像插值部从存储器155接收参考图像信息,并且可以从参考图像生成整数像素或分数像素的像素信息。对于亮度像素而言,为了以1/4像素为单位生成分数像素的像素信息,可以使用滤波器系数不同的基于DCT的8阶插值滤波器(DCT-based InterpolationFilter)。对于色度信号而言,为了以1/8像素为单位生成分数像素的像素信息,可以使用滤波器系数不同的基于DCT的4阶插值滤波器(DCT-based Interpolation Filter)。
运动预测部可以基于通过参考图像插值部进行插值的参考图像来执行运动预测。用于计算运动矢量的方法可以使用全搜索块匹配算法(FBMA,Full search-based BlockMatching Algorithm)、三步搜索法(TSS,Three Step Search)、新三步搜索算法(NTS,NewThree-Step Search Algorithm)等多种方法。基于插值的像素,运动矢量可以具有以1/2像素或1/4像素为单位的运动矢量值。在运动预测部中,可以通过采取不同的运动预测方法来预测当前预测单元。运动预测方法可以使用跳过(Skip)方法、合并(Merge)方法、高级运动矢量预测(AMVP,Advanced Motion Vector Prediction)方法、帧内块复制(Intra BlockCopy)方法等多种方法。
帧内预测部125可以基于当前块周边的参考像素信息(所述参考像素信息是当前图像内的像素信息)来生成预测单元。在当前预测单元的相邻块是已执行帧间预测的块并且在参考像素是已执行帧间预测的像素的情况下,可以将已执行帧间预测的块中所包括的参考像素用作周边的已执行帧内预测的块的参考像素信息。即,在参考像素不可用的情况下,可以使用可用的参考像素中的至少一个参考像素来代替不可用的参考像素信息。
在帧内预测中,预测模式可以具有根据预测方向使用参考像素信息的角度预测模式和在执行预测时不使用方向信息的非角度模式。用于预测亮度信息的模式和用于预测色度信息的模式可以不同,为了预测色度信息,可以使用用于预测亮度信息的帧内预测模式信息或所预测到的亮度信号信息。
当执行帧内预测时,若预测单元的大小与变换单元的大小相同,则可以基于位于预测单元的左侧的像素、位于左上方的像素、位于上方的像素来对预测单元执行帧内预测。但是,当执行帧内预测时,若预测单元的大小与变换单元的大小不同,则可以基于变换单元的参考像素来执行帧内预测。另外,可以仅对最小编码单元应用使用N×N划分的帧内预测。
在根据预测模式对参考像素应用自适应帧内平滑(AIS,Adaptive IntraSmoothing)滤波器之后,帧内预测方法可以生成预测块。应用于参考像素的自适应帧内平滑滤波器的类型可能不同。为了执行帧内预测方法,可以根据位于当前预测单元周边的预测单元的帧内预测模式预测出当前预测单元的帧内预测模式。在使用从周边预测单元预测到的模式信息来预测当前预测单元的预测模式的情况下,若当前预测单元与周边预测单元的帧内预测模式相同,则可以使用预定的标志信息来传送表示当前预测单元与周边预测单元的预测模式相同的信息,若当前预测单元与周边预测单元的预测模式不同,则可以通过执行熵编码来对当前块的预测模式信息进行编码。
另外,可以生成包括残差信息的残差块,所述残差信息是基于在预测部120、125中所生成的预测单元来执行预测的预测单元与预测单元的原始块之间的差值。可以向变换部130输入所生成的残差块。
在变换部130中,可以使用离散余弦变换(DCT,Discrete Cosine Transform)或离散正弦变换(DST,Discrete Sine Transform)等变换方法来对残差块进行变换,所述残差块包括原始块与通过预测部120、125生成的预测单元之间的残差(residual)信息。其中,DCT变换核包括DCT2或DCT8中的至少一个,DST变换核包括DST7。可以基于用于生成残差块的预测单元的帧内预测模式信息来确定要应用DCT还是应用DST来变换残差块。还可以跳过对残差块的变换。可以对指示是否跳过对残差块的变换的标志进行编码。对于大小在阈值以下的残差块、亮度分量或色度分量(4:4:4格式以下),可以允许变换跳过。
量化部135可以对在变换部130中变换为频域的值进行量化。量化系数可以根据块或图像的重要性而改变。在量化部135中计算的值可以被提供给逆量化部140和重排部160。
重排部160可以对量化的残差值执行系数值的重新排列。
重排部160可以通过系数扫描(Coefficient Scanning)方法来将2维的块形状系数更改为1维的矢量形式。例如,重排部160可以使用Z字形扫描(Zig-Zag Scan)方法来扫描DC系数乃至高频域的系数,并将其改变为1维矢量形式。根据变换单元的大小和帧内预测模式,代替Z字形扫描,还可以使用沿着列方向扫描2维块形状系数的垂直扫描和沿着行方向扫描2维块形状系数的水平扫描。即,可以根据变换单元的大小和帧内预测模式来确定使用Z字形扫描、垂直方向扫描和水平方向扫描中的哪一种扫描方法。
熵编码部165可以基于通过重排部160计算出的值来执行熵编码。例如,熵编码可以使用指数哥伦布码(Exponential Golomb)、上下文自适应变长编码(CAVLC,Context-Adaptive Variable Length Coding)、上下文自适应二进制算术编码(CABAC,Context-Adaptive Binary Arithmetic Coding)等的多种编码方法。
熵编码部165可以对源自重排部160和预测部120、125的编码单元的残差值系数信息和块类型信息、预测模式信息、划分单元信息、预测单元信息和传送单元信息、运动矢量信息、参考帧信息、块的插值信息、滤波信息等多种信息进行编码。
熵编码部165可以对从重排部160输入的编码单元的系数值进行熵编码。
逆量化部140和逆变换部145对由量化部135量化的多个值进行逆量化,并对由变换部130变换的值进行逆变换。可以通过将在逆量化部140和逆变换部145中生成的残差值与由预测部120、125中包括的运动预测部、运动补偿部和帧内预测部所预测的预测单元合并来生成重建块(Reconstructed Block)。
滤波器部150可以包括去块滤波器、偏移校正部(offset correction unit)、自适应环路滤波器(ALF,Adaptive Loop Filter)中的至少一个。
去块滤波器可以移除因块之间的边界而在重建的图像中生成的块失真。为了判断是否执行去块,可以基于块中所包括的几个列或行所包括的像素来判断是否对当前块应用去块滤波器。在对块应用去块滤波器的情况下,可以根据所需的去块滤波强度来应用强滤器(Strong Filter)或弱滤器(Weak Filter)。另外,在使用去块滤波器的过程中,当执行垂直滤波和水平滤波时,可以同步处理水平方向滤波和垂直方向滤波。
偏移校正部可以按像素单位来校正去块图像与原始图像之间的偏移。可以通过以下方式来对指定图像进行偏移校正:在将图像中所包括的像素划分为预定数量的区域之后,确定要执行偏移的区域,并对相应区域应用偏移,或者将各个像素的边缘信息考虑在内来应用偏移。
可以基于对经过滤波的重建图像和原始图像进行比较的值来执行自适应环路滤波(ALF,Adaptive Loop Filtering)。将图像中包括的像素划分成预定的组之后,可以确定要用于相应组的一个滤波器,并且可以针对每个组有区别地执行滤波。可以针对每个编码单元(Coding Unit,CU)通过亮度信号传送与是否应用自适应环路滤波相关的信息,要应用的自适应环路滤波器的形状和滤波器系数可以根据各个块而不同。另外,还可以应用相同类型(固定类型)的ALF,而不管被应用的块的特性如何。
存储器155可以存储通过滤波器部150计算的重建块或图像,可以在执行帧间预测时向预测部120、125提供所存储的重建块或图像。
图2是本发明实施例的视频解码器(decoder)的框图。
参照图2,视频解码器200可以包括熵解码部210、重排部215、逆量化部220、逆变换部225、预测部230、预测部235、滤波器部240、存储器245。
在从视频编码器输入视频比特流时,可以按与视频编码器相反的步骤对所输入的比特流进行解码。
熵解码部210可以按与视频编码器的熵编码部中执行熵编码的步骤相反的步骤进行熵解码。例如,与视频编码器中执行的方法相对应地,可以应用指数哥伦布码(Exponential Golomb)、上下文自适应变长编码(CAVLC,Context-Adaptive VariableLength Coding)、上下文自适应二进制算术编码(CABAC,Context-Adaptive BinaryArithmetic Coding)等多种方法。
熵解码部210可以对与编码器执行的帧内预测和帧间预测相关的信息进行解码。
重排部215可以基于在编码部中对由熵解码部210熵解码的比特流进行重新排列的方法来执行重新排列。可以将由1维矢量形式表示的多个系数重建成2维块形状的系数来进行重新排列。重排部215可以通过以下方式来执行重新排列:接收与由编码部执行的系数扫描相关的信息,并基于由相应编码部执行的扫描顺序来进行逆向扫描。
逆量化部220可以基于编码器所提供的量化参数和重新排列的块的系数值来执行逆量化。
逆变换部225可以对视频编码器执行的量化结果执行逆离散余弦变换、逆离散正弦变换,所述逆离散余弦变换、逆离散正弦变换属于在变换部执行的变换的逆变换,即,离散余弦变换、离散正弦变换的逆变换。其中,DCT变换核可以包括DCT2或DCT8中的至少一个,DST变换核可以包括DST7。可替代地,若在视频编码器中跳过变换,则逆变换部225可以不执行逆变换。逆变换可以基于在视频编码器中确定的传送单元来执行。视频解码器的逆变换部225可以根据预测方法、当前块的大小和预测方向等多个信息选择性地执行变换方法(例如,DCT或DST)。
预测部230、235可以基于由熵解码部210提供的与预测块生成相关的信息和由存储器245提供的先前解码的块或图像信息来生成预测块。
如上所述,当以与视频编码器中的操作相同的方式执行帧内预测时,若预测单元的大小与变换单元的大小相同,则基于位于预测单元的左侧的像素、位于左上方的像素、位于上方的像素来对预测单元执行帧内预测,若执行帧内预测时的预测单元的大小与变换单元的大小不同,则可以使用基于变换单元的参考像素来执行帧内预测。另外,还可以仅对最小编码单元应用使用N×N划分的帧内预测。
预测部230、235可以包括预测单元判定部、帧间预测部和帧内预测部。预测单元判定部接收从熵解码部210输入的预测单元信息、帧内预测方法的预测模式信息、帧间预测方法的运动预测相关信息等多种信息,根据当前编码单元对预测单元进行分类,并确定预测单元是在执行帧间预测还是在执行帧内预测。帧间预测部230可以使用由视频编码器提供的执行当前预测单元的帧间预测所需的信息,并基于当前预测单元所属的当前图像的上一个图像或下一个图像中的至少一个图像中所包括的信息来对当前预测单元执行帧间预测。可替代地,还可以基于在当前预测单元所属的当前图像中已重建的一部分区域的信息来执行帧间预测。
为了执行帧间预测,可以基于编码单元来判断相应编码单元中所包括的预测单元的运动预测方法是跳过模式(Skip Mode)、合并模式(Merge Mode)、高级运动矢量预测模式(AMVP Mode)、帧内块复制模式中的哪种模式。
帧内预测部235可以基于当前图像内的像素信息来生成预测块。当预测单元是已执行帧内预测的预测单元时,可以基于由视频编码器提供的预测单元的帧内预测模式信息来执行帧内预测。帧内预测部235可以包括自适应帧内平滑(AIS,Adaptive IntraSmoothing)滤波器、参考像素插值部、DC滤波器。自适应帧内平滑滤波器是对当前块的参考像素执行滤波的部分,并且可以根据当前预测单元的预测模式确定是否应用滤波器。可以使用由视频编码器提供的预测单元的预测模式和自适应帧内平滑滤波器信息来对当前块的参考像素执行自适应帧内平滑滤波。若当前块的预测模式是不执行自适应帧内平滑滤波的模式,则可以不应用自适应帧内平滑滤波器。
若预测单元的预测模式是基于对参考像素进行插值的像素值来执行帧内预测的预测单元,则参考像素插值部可以通过对参考像素进行插值来生成整数值或分数值的像素单位的参考像素。若当前预测单元的预测模式是以不对参考像素进行插值的方式生成预测块的预测模式,则可以不对参考像素进行插值。若当前块的预测模式为DC模式,则DC滤波器可以通过滤波来生成预测块。
可以向滤波器部240提供重建的块或图像。滤波器部240可以包括去块滤波器、偏移校正部、ALF。
可以从视频编码器接收与是否对相应块或图像应用去块滤波器相关的信息以及与在应用去块滤波器时应用强滤器还是弱滤器相关的信息。视频解码器的去块滤波器可以接收由视频编码器提供的与去块滤波器相关的信息,并且视频解码器可以对相应块执行去块滤波。
偏移校正部可以基于在编码时应用于图像的偏移校正的类型和偏移量信息等来对已重建的图像执行偏移校正。
可以基于由编码器提供的与是否应用ALF相关的信息、ALF系数信息等来将ALF应用于编码单元。这种ALF信息可以通过被包括在特定的参数集中来提供。
存储器245存储已重建的图像或块,使得所述图像或块可以用作参考图像或参考块,并且可以向输出部提供已重建的图像。
图3是示出本发明实施例的基本编码树单元的图。
可以将大小最大的编码块定义为编码树块。一个图像可以被划分为多个编码树单元(Coding Tree Unit,CTU)。编码树单元是大小最大的编码单元,还可以被称为最大编码单元(LCU,Largest Coding Unit)。图3示出了将一个图像划分为多个编码树单元的示例。
编码树单元的大小可以以图像级或序列级定义。为此,可以通过图像参数集或序列参数集来用信号发送指示编码树单元的大小的信息。
例如,可以将序列内整个图像的编码树单元的大小设置为128×128。可替代地,可以将图像级的128×128或256×256中的任一个确定为编码树单元的大小。例如,可以将第一图像中编码树单元的大小设置为128×128,并且可以将第二图像中编码树单元的大小设置为256×256。
可以通过划分编码树单元来生成编码块。编码块表示用于进行编码/解码处理的基本单元。例如,可以按不同编码块执行预测或者变换,或者可以按不同编码块确定预测编码模式。其中,预测编码模式表示生成预测图像的方法。例如,预测编码模式可以包括画面内预测(Intra Prediction,帧内预测)、画面间预测(Inter Prediction,帧间预测)、当前图像参考(Current Picture Referencing,CPR,或帧内块复制(Intra Block Copy,IBC))或组合预测(Combined Prediction)。针对编码块,可以使用帧内预测、帧间预测、当前图像参考或组合预测中的至少一种预测编码模式来生成与编码块相关的预测块。
可以通过比特流用信号发送表示当前块的预测编码模式的信息。例如,所述信息可以是指示预测编码模式为帧内模式还是帧间模式的1比特标志。可以仅在当前块的预测编码模式被确定为帧间模式的情况下使用当前图像参考或组合预测。
当前图像参考用于将当前图像设置为参考图像,并从当前图像内的已编码/解码的区域获得当前块的预测块。其中,当前图像意味着包括当前块的图像。可以通过比特流用信号发送表示是否对当前块应用当前图像参考的信息。例如,所述信息可以是1比特标志。当所述标志为真时,可以将当前块的预测编码模式确定为当前图像参考,当所述标志为假时,可以将当前块的预测模式确定为帧间预测。
可替代地,可以基于参考图像索引确定当前块的预测编码模式。例如,当参考图像索引指向当前图像时,可以将当前块的预测编码模式确定为当前图像参考。当参考图像索引指向其他图像而不是当前图像时,可以将当前块的预测编码模式确定为帧间预测。即,当前图像参考是使用当前图像中的已编码/解码的区域的信息的预测方法,并且帧间预测是使用已编码/解码的其他图像的信息的预测方法。
组合预测表示由帧内预测、帧间预测和当前图像参考中的两种以上组合而成的编码模式。例如,在应用组合预测的情况下,可以基于帧内预测、帧间预测或当前图像参考中的一种来生成第一预测块,并且可以基于另一种来生成第二预测块。当生成第一预测块和第二预测块时,可以通过第一预测块和第二预测块的平均运算或加权和运算来生成最终预测块。可以通过比特流用信号发送表示是否应用组合预测的信息。所述信息可以是1比特标志。
图4是示出编码块的多种划分类型的图。
可以基于四叉树划分、二叉树划分或三叉树划分将编码块划分为多个编码块。还可以基于四叉树划分、二叉树划分或三叉树划分将所划分的编码块再次划分为多个编码块。
四叉树划分是指将当前块划分为4个块的划分技术。作为四叉树划分的结果,可以将当前块划分为4个正方形分区(参考图4的(a)部分中的“SPLIT_QT(划分_四叉树)”)。
二叉树划分是指将当前块划分为2个块的划分技术。可以将沿着垂直方向(即,使用横穿当前块的垂直线)将当前块划分为两个块的过程称为垂直方向二叉树划分,并且可以将沿着水平方向(即,使用横穿当前块的水平线)将当前块划分为两个块的过程称为水平方向二叉树划分。作为二叉树划分的结果,可以将当前块划分为2个非正方形分区。图4的(b)部分中的“SPLIT_BT_VER(划分_二叉树_垂直)”表示垂直方向二叉树划分结果,并且图4的(c)部分中的“SPLIT_BT_HOR(划分_二叉树_水平)”表示水平方向二叉树划分结果。
三叉树划分是指将当前块划分为3个块的划分技术。可以将沿着垂直方向(即,使用横穿当前块的两个垂直线)将当前块划分为三个块的过程称为垂直方向三叉树划分,并且可以将沿着水平方向(即,使用横穿当前块的两个水平线)将当前块划分为三个块的过程称为水平方向三叉树划分。作为三叉树划分的结果,可以将当前块划分为3个非正方形分区。在这种情况下,位于当前块的中心的分区的宽度/高度可以是其他分区的宽度/高度的2倍。图4的(d)部分中的“SPLIT_TT_VER(划分_三叉树_垂直)”表示垂直方向三叉树划分结果,并且图4的(e)部分中的“SPLIT_TT_HOR(划分_三叉树_水平)”表示水平方向三叉树划分结果。
可以将编码树单元的划分次数定义为划分深度(Partitioning Depth)。可以以序列或图像级确定编码树单元的最大划分深度。因此,编码树单元的最大划分深度可以根据不同序列或图像而变得不同。
可替代地,可以针对多个划分技术的每一个单独确定最大划分深度。例如,允许四叉树划分的最大划分深度可以与允许二叉树划分和/或三叉树划分的最大划分深度不同。
编码器可以通过比特流用信号发送表示当前块的划分类型或划分深度中的至少一个的信息。解码器可以基于从比特流中解析的信息来确定编码树单元的划分类型和划分深度。
图5是示出编码树单元的划分示例的图。
可以将使用四叉树划分、二叉树划分和/或三叉树划分等划分技术来划分编码块的过程称为多叉树划分(Multi Tree Partitioning)。
可以将通过对编码块应用多叉树划分而生成的编码块称为下游编码块。当编码块的划分深度为k时,多个下游编码块的划分深度设置为k+1。
另一方面,针对划分深度为k+1的编码块,可以将划分深度为k的编码块称为上游编码块。
可以基于上游编码块的划分类型或相邻编码块的划分类型中的至少一个来确定当前编码块的划分类型。其中,相邻编码块与当前编码块相邻,其可以包括当前编码块的上相邻块、左相邻块或与左上角相邻的相邻块中的至少一个。其中,划分类型可以包括是否划分四叉树、是否划分二叉树、二叉树划分方向、是否划分三叉树或三叉树划分方向中的至少一个。
为了确定编码块的划分类型,可以通过比特流用信号发送表示编码块是否被划分的信息。所述信息为1比特标志“split_cu_flag”,所述标志为真指示通过多叉树划分技术来划分编码块。
当“split_cu_flag”为真时,可以通过比特流用信号发送表示编码块是否被四叉树划分的信息。所述信息为1比特标志“split_qt_flag”,当所述标志为真时,编码块可以被划分为4个块。
例如,在图5所示的示例中图示了当编码树单元被四叉树划分时生成了划分深度为1的4个编码块。另外,图示了对作为四叉树划分的结果而生成的4个编码块中的第一个编码块和第四个编码块再次应用四叉树划分。最终,可以生成划分深度为2的4个编码块。
另外,可以通过对划分深度为2的编码块再次应用四叉树划分来生成划分深度为3的编码块。
在未对编码块应用四叉树划分时,可以通过考虑编码块的大小、编码块是否位于图像边界处、最大划分深度或相邻块的划分类型中的至少一个来确定对所述编码块执行二叉树划分还是三叉树划分。当确定对所述编码块执行二叉树划分或三叉树划分时,可以通过比特流用信号发送表示划分方向的信息。所述信息可以是1比特标志“mtt_split_cu_vertical_flag”。可以基于所述标志来确定划分方向是垂直方向还是水平方向。另外,可以通过比特流用信号发送表示对所述编码块应用二叉树划分或三叉树划分中的哪一个的信息。所述信息可以是1比特标志“mtt_split_cu_binary_flag”。可以基于所述标志来确定对所述编码块应用二叉树划分还是三叉树划分。
例如,在图5所示的示例中图示了对划分深度为1的编码块应用垂直方向二叉树划分,对作为所述划分结果而生成的编码块中的左侧编码块应用垂直方向三叉树划分,而对右侧编码块应用垂直方向二叉树划分。
帧间预测是指使用前一图像的信息来预测当前块的预测编码模式。例如,可以将前一图像内与当前块相同位置的块(以下称为同位块,Collocated block)设置为当前块的预测块。以下,将基于位置与当前块相同的块生成的预测块称为同位预测块(CollocatedPrediction Block)。
另一方面,若存在于前一图像中的对象已经移动至当前图像中的其他位置,则可以使用对象的运动来有效地预测当前块。例如,如果通过比较前一图像和当前图像,可以知道对象的移动方向和大小,则可以考虑对象的运动信息来生成当前块的预测块(或预测图像)。以下,可以将使用运动信息生成的预测块称为运动预测块。
可以通过从当前块减去预测块来生成残差块(residual block)。在这种情况下,当存在对象的运动时,通过使用运动预测块来代替同位预测块,可以减少残差块的能量,从而可以提高残差块的压缩性能。
如上所述,可以将使用运动信息生成预测块的过程称为运动补偿预测。在大部分的帧间预测中,可以基于运动补偿预测来生成预测块。
运动信息可以包括运动矢量、参考图像索引、预测方向或双向加权值索引中的至少一个。运动矢量表示对象的移动方向和大小。参考图像索引在参考图像列表中包括的多个参考图像中指定当前块的参考图像。预测方向是指单向L0预测、单向L1预测或双向预测(L0预测和L1预测)中的任一个。可以根据当前块的预测方向来使用L0方向的运动信息或L1方向的运动信息中的至少一个。双向加权值索引指定应用于L0预测块的加权值和应用于L1预测块的加权值。
图6是本发明实施例的帧间预测方法的流程图。
参考图6,帧间预测方法包括如下的步骤:确定当前块的帧间预测模式(S601);根据所确定的帧间预测模式来获得当前块的运动信息(S602);以及基于所获得的运动信息来对当前块执行运动补偿预测(S603)。
其中,帧间预测模式表示用于确定当前块的运动信息的多种技术,并且可以包括使用平移(Translation)运动信息的帧间预测模式和使用仿射(Affine)运动信息的帧间预测模式。例如,使用平移运动信息的帧间预测模式可以包括合并模式和高级运动矢量预测模式,并且使用仿射运动信息的帧间预测模式可以包括仿射合并模式和仿射运动矢量预测模式。根据帧间预测模式,可以基于与当前块相邻的相邻块或从比特流中解析的信息来确定当前块的运动信息。
以下,详细说明使用仿射运动信息的帧间预测方法。
图7是例示对象的非线性运动的图。
视频内对象的运动有可能是非线性运动。例如,如图7所示的示例,可能发生摄像机放大(Zoom-in)、缩小(Zoom-out)、旋转(Rotation)或仿射变换等对象的非线性运动。当发生对象的非线性运动时,无法通过平移运动矢量来有效表示对象的运动。因此,在发生对象的非线性运动的部分,可以通过使用仿射运动来代替平移运动,由此提高编码效率。
图8是展示了根据本发明实施例的基于仿射运动的帧间预测方法的流程图。
可以基于从比特流解析的信息来确定是否对当前块应用基于仿射运动的帧间预测技术。具体地,可以基于指示是否对当前块应用仿射合并模式的标志或指示是否对当前块应用仿射运动矢量预测模式的标志中的至少一个来确定是否对当前块应用基于仿射运动的帧间预测技术。
当将基于仿射运动的帧间预测技术应用于当前块时,可以确定当前块的仿射运动模型(S801)。仿射运动模型可以确定为6参数仿射运动模型或4参数仿射运动模型中的至少一个。6参数仿射运动模型使用6个参数来表示仿射运动,并且4参数仿射运动模型使用4个参数来表示仿射运动。
等式1是使用6个参数表示仿射运动的情况。仿射运动表示与通过仿射种子矢量确定的预定区域的平移运动。
【等式1】
vx=ax-by+e
vy=cx+dy+f
当使用6个参数表示仿射运动时,可以表示复杂的运动,但是对各个参数进行编码时所需的比特数增加,因此会降低编码效率。因此,还可以使用4个参数表示仿射运动。等式2为使用4个参数表示仿射运动的情况。
【等式2】
vx=ax-by+e
vy=bx+ay+f
可以对用于确定当前块的仿射运动模型的信息进行编码并通过比特流用信号发送。例如,所述信息可以是1比特标志“affine_type_flag”。所述标志的值为0表示应用4参数仿射运动模型,所述标志的值为1表示应用6参数仿射运动模型。所述标志可以以条带(slice)、图块或块(例如,编码块或编码树单元)为单位进行编码。当以条带级用信号发送标志时,可以对所述条带中所属的所有块应用以所述条带级确定的仿射运动模型。
可替代地,可以基于当前块的仿射帧间预测模式来确定当前块的仿射运动模型。例如,当应用仿射合并模式时,可以将当前块的仿射运动模型确定为4参数运动模型。另一方面,当应用仿射运动矢量预测模式时,可以对用于确定当前块的仿射运动模型的信息进行编码并通过比特流用信号发送。例如,在对当前块应用仿射运动矢量预测模式时,可以基于1比特标志“affine_type_flag”来确定当前块的仿射运动模型。
接下来,可以导出当前块的仿射种子矢量(S802)。当选择4参数仿射运动模型时,可以导出当前块的两个控制点上的运动矢量。另一方面,当选择6参数仿射运动模型时,可以导出当前块的三个控制点上的运动矢量。可以将控制点上的运动矢量称为仿射种子矢量。控制点可以包括当前块的左上角、右上角或左下角中的至少一个。
图9是示出每个仿射运动模型的仿射种子矢量的示例的图。
在4参数仿射运动模型中,可以导出与左上角、右上角或左下角中的两个相关的仿射种子矢量。例如,如图9的(a)部分所示的示例,当选择4参数仿射运动模型时,可以通过使用与当前块的左上角(例如,左上样本(x0,y0))相关的仿射种子矢量sv0和与当前块的右上角(例如,右上样本(x1,y1))相关的仿射种子矢量sv1来导出仿射矢量。还可以使用与左下角相关的仿射种子矢量来代替与左上角相关的仿射种子矢量,或者还可以使用与左下角相关的仿射种子矢量来代替与右上角相关的仿射种子矢量。
在6参数仿射运动模型中,可以导出与左上角、右上角和左下角相关的仿射种子矢量。例如,如图9的(b)部分所示的示例,当选择6参数仿射运动模型时,可以通过使用与当前块的左上角(例如,左上样本(x0,y0))相关的仿射种子矢量sv0、与当前块的右上角(例如,右上样本(x1,y1))相关的仿射种子矢量sv1和与当前块的左上角(例如,左上样本(x2,y2))相关的仿射种子矢量sv2来导出仿射矢量。
在稍后所述的实施例中,在4参数仿射运动模型下,将左上控制点和右上控制点的仿射种子矢量分别称为第一仿射种子矢量和第二仿射种子矢量。在稍后所述的使用第一仿射种子矢量和第二仿射种子矢量的实施例中,第一仿射种子矢量和第二仿射种子矢量中的至少一个可以替换为左下控制点的仿射种子矢量(第三仿射种子矢量)或右下控制点的仿射种子矢量(第四仿射种子矢量)。
另外,在6参数仿射运动模型下,将左上控制点、右上控制点和左下控制点的仿射种子矢量分别称为第一仿射种子矢量、第二仿射种子矢量和第三仿射种子矢量。在稍后所述的使用第一仿射种子矢量、第二仿射种子矢量和第三仿射种子矢量的实施例中,第一仿射种子矢量、第二仿射种子矢量和第三仿射种子矢量中的至少一个可以替换为右下控制点的仿射种子矢量(第四仿射种子矢量)。
可以使用仿射种子矢量来针对不同子块导出仿射矢量(S803)。其中,仿射矢量表示基于仿射种子矢量导出的平移运动矢量。可以将子块的仿射矢量称为仿射子块运动矢量或子块运动矢量。
图10是示出在4参数运动模型下的子块的仿射矢量的示例的图。
可以基于控制点的位置、子块的位置和仿射种子矢量而导出子块的仿射矢量。例如,等式3表示导出仿射子块矢量的示例。
【等式3】
Figure BDA0003037651470000121
Figure BDA0003037651470000122
在等式3中,(x,y)表示子块的位置。其中,子块的位置表示子块中所包括的参考样本的位置。参考样本可以是位于子块的左上角的样本,或者是其x轴或y轴坐标中的至少一个处于中心位置的样本。(x0,y0)表示第一控制点的位置,并且(sv0x,sv0y)表示第一仿射种子矢量。另外,(x1,y1)表示第二控制点的位置,并且(sv1x,sv1y)表示第二仿射种子矢量。
当第一控制点和第二控制点分别与当前块的左上角和右上角相对应时,可以将x1-x0设置为与当前块的宽度相同的值。
之后,可以使用各个子块的仿射矢量来对各个子块执行运动补偿预测(S804)。在执行运动补偿预测后,可以生成与各个子块相关的预测块。可以将子块的预测块设置为当前块的预测块。
可以基于与当前块相邻的相邻块的仿射种子矢量来导出当前块的仿射种子矢量。在当前块的帧间预测模式为仿射合并模式的情况下,可以将合并候选列表所包括的合并候选的仿射种子矢量确定为当前块的仿射种子矢量。另外,在当前块的帧间预测模式为仿射合并模式的情况下,可以将包含当前块的参考图像索引、特定方向预测标志或双向加权值中的至少一个的运动信息设置为与合并候选相同。
可以基于当前块的相邻块导出合并候选。所述相邻块可以包括与当前块空间相邻的空间相邻块和与当前图像不同的图像中所包括的时间相邻块中的至少一个。
图11是示出可用于导出合并候选的相邻块的图。
当前块的相邻块可以包括与当前块的左侧相邻的相邻块(A)、与当前块的上方相邻的相邻块(B)、与当前块的右上角相邻的相邻块(C)、与当前块的左下角相邻的相邻块(D)或与当前块的左上角相邻的相邻块中的至少一个。若当前块的左上样本的坐标为(x0,y0),则左相邻块A包括在(x0-1,y0+H-1)位置上的样本,并且上相邻块B包括在(x0+W-1,y0-1)位置上的样本。其中,W和H分别表示当前块的宽度和高度。右上相邻块C包括在(x0+W,y0-1)位置上的样本,并且左下相邻块D包括在(x0-1,y0+H)位置上的样本。左上相邻块E包括在(x0-1,y0-1)位置上的样本。
当以仿射帧间预测模式对相邻块进行编码时,可以基于相应相邻块的仿射种子矢量来导出合并候选的仿射种子矢量。以下,将以仿射帧间预测模式编码的相邻块称为仿射相邻块,并且将从仿射相邻块导出的合并候选称为仿射合并候选。
可以通过按预定义的扫描顺序搜索相邻块来生成与当前块相关的仿射合并候选。可以在编码器和解码器中预定义扫描顺序。例如,可以按A、B、C、D、E顺序搜索相邻块。另外,可以从所搜索的仿射相邻块依次导出合并候选。可替代地,可以基于当前块的大小、形状或仿射运动模型中的至少一个来自适应地确定扫描顺序。即,具有不同的大小、形状或仿射运动模型中的至少一个的块的扫描顺序会不同。
可替代地,依次搜索位于当前块上方的多个块,并从首先找到的仿射相邻块导出一个仿射合并候选,并且依次搜索位于当前块左侧的多个块,并从首先找到的仿射相邻块导出一个仿射合并候选。其中,位于当前块上方的多个相邻块包括相邻块E、相邻块B或相邻块C中的至少一个,位于当前块左侧的多个块可以包括块A或块D中的至少一个。在这种情况下,还可以将相邻块E分类为位于当前块左侧的块。
虽然未图示,但还可以从当前块的时间相邻块导出仿射合并候选。其中,时间相邻块可以包括位于与同位图像中的当前块相同位置的块或与其相邻的块。具体地,若以仿射帧间预测模式对当前块的时间相邻块进行编码,则可以基于时间仿射合并候选的仿射种子矢量来导出仿射合并候选。
可以生成包括仿射合并候选的合并候选列表,并且可以将在合并候选列表中包括的合并候选之一的仿射种子矢量确定为当前块的仿射种子矢量。为此,可以对标识多个合并候选中的任一个的索引信息进行编码并且通过比特流传送。
作为另一示例,可以按照扫描顺序搜索多个相邻块,并且可以从首先找到的仿射相邻块的仿射种子矢量导出当前块的仿射种子矢量。
如上所述,在仿射合并模式下,可以使用相邻块的仿射种子矢量来导出当前块的仿射种子矢量。
在当前块的帧间预测模式为仿射运动矢量预测模式的情况下,可以将运动矢量预测候选列表所包括的运动矢量预测候选的仿射种子矢量确定为当前块的仿射种子矢量预测值。可以通过所述仿射种子矢量预测值加上仿射种子矢量差值来导出当前块的仿射种子矢量。
可以基于当前块的相邻块来导出仿射种子矢量预测候选。具体地,按照预定扫描顺序来搜索位于当前块上方的多个相邻块,并且可以从首先找到的仿射相邻块导出第一仿射种子矢量预测候选。另外,按照预定扫描顺序来搜索位于当前块左侧的多个相邻块,并且可以从首先找到的仿射相邻块导出第二仿射种子矢量预测候选。
可以对用于确定仿射种子矢量差值的信息进行编码并通过比特流传送。所述信息可以包括表示仿射种子矢量差值的大小的大小信息和表示仿射种子矢量差值的符号的符号信号。可以将与各个控制点相关的仿射种子矢量差值设置为相同。可替代地,可以针对每个控制点不同地设置仿射种子矢量差值。
如上所述,可以从仿射相邻块的仿射种子矢量导出仿射合并候选或仿射种子矢量预测候选的仿射种子矢量,并且可以使用所导出的仿射合并候选或仿射种子矢量预测候选的仿射种子矢量来导出当前块的仿射种子矢量。可替代地,还可以在按预定的扫描顺序搜索多个仿射相邻块之后,从首先找到的仿射相邻块的仿射种子矢量导出当前块的仿射种子矢量。
以下,详细说明从仿射相邻块的仿射种子矢量导出当前块的仿射种子矢量、仿射合并候选或仿射种子矢量预测候选的方法。在稍后所述的实施例中,导出当前块的仿射种子矢量可以被理解为导出仿射合并候选的仿射种子矢量,或者还可以被理解为导出仿射种子矢量预测候选的仿射种子矢量。
图12是示出基于仿射相邻块的仿射种子矢量来导出当前块的仿射种子矢量的图。
若仿射相邻块存储有与左上控制点相关的第一仿射种子矢量nv0和与右上控制点相关的第二仿射种子矢量nv1,则可以基于所述第一仿射种子矢量和第二仿射种子矢量来导出与仿射相邻块的左下控制点相关的第三仿射种子矢量nv2。等式4表示导出第三仿射种子矢量的示例。
【等式4】
Figure BDA0003037651470000131
Figure BDA0003037651470000132
在等式4中,(nv0x,nv0y)表示第一仿射种子矢量nv0,(nv1x,nv1y)表示第二仿射种子矢量nv1,并且(nv2x,nv2y)表示第三仿射种子矢量nv2。另外,(xn0,xn0)表示第一控制点的位置,(xn1,xn1)表示第二控制点的位置,并且(xn2,xn2)表示第三控制点的位置。
之后,可以使用第一仿射种子矢量、第二仿射种子矢量和第三仿射种子矢量来导出当前块的仿射种子矢量。等式5示出了导出当前块的第一仿射种子矢量v0的示例,并且等式6示出了导出当前块的第二仿射种子矢量v1的示例。
【等式5】
Figure BDA0003037651470000141
Figure BDA0003037651470000142
【等式6】
Figure BDA0003037651470000143
Figure BDA0003037651470000144
在等式5和等式6中,(v0x,v0y)表示当前块的第一仿射种子矢量sv0,并且(v1x,v1y)表示当前块的第二仿射种子矢量sv1。另外,(x0,y0)表示第一控制点的位置,并且(x1,y1)表示第二控制点的位置。例如,第一控制点表示当前块的左上角,并且第二控制点表示当前块的右上角。
在所述示例中说明了使用与仿射相邻块相关的3个仿射种子矢量来导出当前块的多个仿射种子矢量。作为另一示例,还可以仅使用仿射相邻块的多个仿射种子矢量中的2个来导出当前块的仿射种子矢量。
可替代地,可以使用与右下角相关的第四仿射种子矢量来导出当前块的多个仿射种子矢量,而不是使用与仿射相邻块相关的左上角的第一仿射种子矢量、右上角的第二仿射种子矢量或左下角的第三仿射种子矢量。
尤其是,在当前块的上边界与编码树单元的上边界接触并且要使用与当前块的上方相邻的仿射相邻块(以下称为上方仿射相邻块)的上方控制点(例如,左上角或右上角)的仿射种子矢量的情况下,需要将它们预先存储在存储器中,这将有可能引起行缓冲区的数量增加的问题。因此,当当前块的上边界与编码树单元的上边界接触时,可以设置为对于上方仿射相邻块使用下方控制点(例如,左下角或右下角)的仿射种子矢量,而不是使用上方控制点的仿射种子矢量。例如,可以使用与上方仿射相邻块的左下角相关的第三仿射种子矢量和与右下角相关的第四仿射种子矢量来导出当前块的多个仿射种子矢量。在这种情况下,与下角相关的仿射种子矢量可以通过复制与上角相关的仿射种子矢量导出,或者可以从与多个上角相关的仿射种子矢量导出。例如,可以将第一仿射种子矢量、第二仿射种子矢量或第三仿射种子矢量变换/替换为与右下角相关的第四仿射种子矢量。
等式7和等式8表示使用与相邻仿射矢量的左下控制点相关的第三仿射种子矢量和与右下控制点相关的第四仿射种子矢量来导出当前块的第一仿射种子矢量和第二仿射种子矢量的示例。
【等式7】
Figure BDA0003037651470000145
Figure BDA0003037651470000146
【等式8】
Figure BDA0003037651470000147
Figure BDA0003037651470000148
在等式7和8中,(xn2,yn2)表示仿射相邻块的左下控制点的坐标,并且(xn3,yn3)表示仿射相邻块的右下控制点的坐标。(x0,y0)表示当前块的左上控制点的坐标,并且(x1,y1)表示当前块的右上控制点的坐标。(nv2x,nv2y)表示仿射相邻块的左下控制点的仿射种子矢量(即,第三仿射种子矢量),并且(nv3x,nv3y)表示仿射相邻块的右下控制点的仿射种子矢量(即,第四仿射种子矢量)。(v0x,v0y)表示当前块的左上控制点的仿射种子矢量(即,第一仿射种子矢量),并且(v1x,v1y)表示当前块的右上控制点的仿射种子矢量(即,第二仿射种子矢量)。
还可以将等式7和等式8中所包括的除法运算更改为移位操作。移位操作可以基于由左下控制点与右下控制点之间的宽度(即,(xn3-xn2))导出的值来执行。
在上述示例中,可以根据已编码/解码的仿射相邻块的多个仿射种子矢量导出当前块的多个仿射种子矢量。为此,需要将已编码/解码的仿射相邻块的多个仿射种子矢量存储在存储器中。但是,由于除了仿射相邻块所包括的多个子块的多个平移运动矢量(即,多个仿射矢量)之外,还将仿射相邻块的多个仿射种子矢量存储在存储器中,因而存在存储器使用量增加的问题。为了消除这种问题,可以使用与仿射相邻块的控制点相邻的子块的运动矢量来导出当前块的仿射种子矢量,由此代替仿射相邻块的仿射种子矢量。即,可以将与仿射相邻块的控制点相邻的子块的运动矢量设置为仿射相邻块的仿射种子矢量。其中,子块是具有已在编码器和解码器中预定义的大小/形状的块,并且可以是具有存储运动矢量的基本大小/形状的块。例如,子块可以是大小为4×4的正方形块。可替代地,可以将指定样本位置的运动矢量设置为仿射相邻块的仿射种子矢量。
图13是示出将子块的运动矢量设置为仿射相邻块的仿射种子矢量的示例的图。
可以将与控制点相邻的子块的运动矢量设置为相应控制点的仿射种子矢量。例如,在图13所示的示例中,可以将与仿射相邻块的左下角相邻的子块(左下子块)的运动矢量(nv4x,nv4y)设置为左下控制点的仿射种子矢量(nv2x,nv2y),并且可以将与右下角相邻的子块(右下子块)的运动矢量(nv5x,nv5y)设置为右下角的控制点的仿射种子矢量(nv3x,nv3y)。其中,左下子块是指包括与相邻仿射块的左下控制点(xn2,yn2)相邻的样本(例如,(xn2,yn2-1)位置的样本)的子块,并且右下子块是指包括与相邻仿射块的右下控制点(xn3,yn3)相邻的样本(例如,(xn3-1,yn3-1))位置的样本)的块。当基于等式7和等式8导出当前块的仿射种子矢量时,仿射相邻块的第三仿射种子矢量可以由左下子块的运动矢量代替,并且第四仿射种子矢量可以由右下子块的运动矢量代替。
以下,在稍后所述的实施例中,将用作仿射相邻块的仿射种子矢量的子块称为仿射子块。
根据本发明的一实施例,可以基于特定位置处的样本来确定仿射子块。例如,还可以将包括特定位置处的样本的子块设置为仿射子块。以下,将特定位置的样本称为仿射参考样本。另外,将用于确定左下控制点的仿射子块的参考样本称为左下参考样本,并且将用于确定右下控制点的仿射子块的参考样本称为右下参考样本。
左下参考样本和右下参考样本可以选自仿射相邻块所包括的多个样本。例如,可以将左下子块的左上样本、左下样本、右上样本或左下样本中的至少一个设置为左下参考样本,并且可以将右下子块的左上样本、左下样本、右上样本或左下样本中的至少一个设置为右下参考样本。因此,可以分别将包括左下参考样本的左下子块和包括右下参考样本的右下子块的运动矢量设置为与左下控制点相关的仿射种子矢量和与右下控制点相关的仿射种子矢量。
作为另一示例,可以将左下参考样本或右下参考样本中的至少一个设置为位于仿射相邻块之外的样本。对此,将参考图14至图16进行详细说明。
图14至图16是示出参考样本的位置的图。
如图14的(a)部分所示的示例,针对左下控制点,可以将左下子块的左上样本设置为参考样本(xn4,yn4)。因此,可以将包括参考样本(xn4,yn4)的左下子块设置为与左下控制点相关的仿射子块。
针对右下控制点,可以将位于右下子块的右上样本的右侧的样本设置为参考样本(xn5,yn5)。因此,可以将与包括参考样本(xn5,yn5)的右下子块的右侧相邻的子块设置为与右下控制点相关的仿射子块。
可替代地,如图14的(b)部分所示的示例,针对左下控制点,可以将位于左下子块的左上样本的左侧的样本设置为参考样本(xn4,yn4)。因此,可以将与包括参考样本(xn4,yn4)的左下子块的左侧相邻的子块设置为与左下控制点相关的仿射子块。
针对右下控制点,可以将右下子块的右上样本设置为参考样本(xn5,yn5)。因此,可以将包括参考样本(xn5,yn5)的右下子块设置为与右下控制点相关的仿射子块。
可替代地,如图15的(a)部分所示的示例,针对左下控制点,可以将左下子块的左下样本设置为参考样本(xn4,yn4)。因此,可以将包括参考样本(xn4,yn4)的左下子块设置为与左下控制点相关的仿射子块。
针对右下控制点,可以将位于右下子块的右下样本的右侧的样本设置为参考样本(xn5,yn5)。因此,可以将与包括参考样本(xn5,yn5)的右下子块的右侧相邻的子块设置为与右下控制点相关的仿射子块。
可替代地,如图15的(b)部分所示的示例,针对左下控制点,可以将位于左下子块的左下样本的左侧的样本设置为参考样本(xn4,yn4)。因此,可以将与包括参考样本(xn4,yn4)的左下子块的左侧相邻的子块设置为与左下控制点相关的仿射子块。
针对右下控制点,可以将右下子块的右下样本设置为参考样本(xn5,yn5)。因此,可以将包括参考样本(xn5,yn5)的右下子块设置为与右下控制点相关的仿射子块。
可替代地,如图16的(a)部分所示的示例,针对左下控制点,可以将位于左下子块的左上样本与左下样本之间的样本(例如,左侧中间样本)设置为参考样本(xn4,yn4)。因此,可以将包括参考样本(xn4,yn4)的左下子块设置为与左下控制点相关的仿射子块。
针对右下控制点,可以将位于右下子块的右上样本与右下样本之间的样本(例如,右侧中间样本)的右侧的样本设置为参考样本(xn5,yn5)。因此,可以将与包括参考样本(xn5,yn5)的右下子块的右侧相邻的子块设置为与右下控制点相关的仿射子块。
可替代地,如图16的(b)部分所示的示例,针对左下控制点,可以将位于左下子块的左上样本与左下样本之间的样本的左侧的样本设置为参考样本(xn4,yn4)。因此,可以将与包括参考样本(xn4,yn4)的左下子块的左侧相邻的子块设置为与左下控制点相关的仿射子块。
针对右下控制点,可以将位于右下子块的右上样本与右下样本之间的样本设置为参考样本(xn5,yn5)。因此,可以将包括参考样本(xn5,yn5)的右下子块设置为与右下控制点相关的仿射子块。
在基于等式7和等式8导出当前块的多个仿射种子矢量的情况下,仿射相邻块的第三仿射种子矢量可以由与左下控制点相关的仿射子块的运动矢量代替,并且第四仿射种子矢量可以由与右下控制点相关的仿射子块的运动矢量代替。另外,左下控制点的位置可以由左下参考样本的位置代替,并且右下控制点的位置可以由右下参考样本的位置代替。
与图14至图16所述的内容不同,还可以将包括与参考样本相邻的样本的子块设置为仿射子块。具体地,可以将位于仿射相邻子块之外的样本设置为参考样本,并且可以将仿射相邻块所包括的子块设置为仿射子块。例如,在图14的(a)部分所示的示例中,可以将位于右下子块的右上样本的右侧的样本设置为参考样本(xn5,yn5),并且可以将右下子块设置为与右下角相关的仿射子块。可替代地,在图14的(b)部分所示的示例中,可以将位于左下子块的左上样本的左侧的样本设置为参考样本(xn4,yn4),并且可以将左下子块设置为与左下角相关的仿射子块。
可以等同地应用图15和图16中所描述的实施例。即,在图15的(a)部分或图16的(a)部分所示的示例中,可以将右下子块的右下样本或位于右侧中间样本的右侧的样本设置为参考样本(xn5,yn5),并且可以将右下子块设置为与右下角相关的仿射子块。可替代地,在图15的(b)部分或图16的(b)部分所示的示例中,可以将左下子块的左下样本或位于左侧中间样本的左侧的样本设置为参考样本(xn4,yn4),并且可以将左下子块设置为与左下角相关的仿射子块。
在上述示例中,可以通过使用仿射子块的运动矢量来导出仿射相邻块的仿射种子矢量。为此,对于已编码/解码的块而言,可以以子块为单位来存储运动矢量。
作为另一示例,在仿射相邻块存储了最小数量的仿射种子矢量之后,可以使用所存储的多个仿射种子矢量来导出仿射子块的运动矢量。
等式9和等式10表示使用仿射相邻块的仿射种子矢量来导出仿射子块的运动矢量的示例。
【等式9】
Figure BDA0003037651470000171
Figure BDA0003037651470000172
【等式10】
Figure BDA0003037651470000173
Figure BDA0003037651470000174
在等式9和等式10中,(nv4x,nv4y)表示与左下控制点相关的仿射子块的运动矢量,并且(nv5x,nv5y)表示与右下控制点相关的仿射子块的运动矢量。由于仿射子块的运动矢量与控制点的仿射种子矢量被设置为相同,因此(nv4x,nv4y)可以由与左下控制点相关的仿射种子矢量(nv2x,nv2y)代替,或者(nv5x,nv5y)可以由与右下控制点相关的仿射种子矢量(nv3x,nv3y)代替。
(xn4,yn4)表示左下子块的参考样本的位置。可替代地,代替该位置,还可以使用左下子块的中心位置或左下控制点的位置。(xn5,yn5)表示右下子块的参考样本的位置。可替代地,代替该位置,还可以使用右下子块的中心位置或右下控制点的位置。
可以在当前块不与编码树单元的边界相接触的情况下应用等式9和等式10。在当前块与编码树单元的上边界相接触的情况下,代替使用等式9和等式10,可以将基于左下参考样本确定的仿射子块的平移运动矢量设置为第三仿射种子矢量,并且可以将基于右下参考样本确定的仿射子块的平移运动矢量设置为第四仿射种子矢量。
在等式7和等式8中,(xn3-xn2)表示左下控制点与右下控制点之间的宽度。如上所述,xn3可以由右下参考样本的位置xn5代替,并且xn2可以由左下参考样本的位置xn4代替。以下,将(xn3-xn2)或通过由参考样本的位置代替前述等式的位置来获得的值(例如,(xn5-xn4))定义为变量Wseed,所述变量称为子种子矢量宽度。
根据参考样本的位置,会发生子种子矢量宽度不是2的幂级数(例如,2n)的情况。例如,在将左下子块的左下样本设置为左下参考样本并将右下子块的右下样本设置为右下参考样本时,子种子矢量的宽度并不是2的倍数。如上所述,当子种子矢量宽度不是2的幂级数时,可以将子种子矢量宽度变换为2的幂级数。所述变换可以包括将子种子矢量宽度加/减偏移量,或者使用与所述参考样本相邻的样本的位置来代替参考样本的位置。例如,可以通过左下参考样本与右下参考样本之间的宽度加1来导出所变换的子种子矢量宽度。可替代地,可以将与右下参考样本的右侧相邻的相邻参考样本与左下参考样本之间的宽度设置为所变换的子种子矢量宽度。之后,可以通过将变换的子种子矢量宽度代入等式7和等式8来导出当前块的仿射种子矢量。
还可以将等式7和等式8中所包括的除法运算更改为移位操作。移位操作可以基于通过经变换的子种子矢量宽度(即,表示为2的幂级数的值)导出的值来执行。
当用于确定仿射子块的参考样本不属于仿射相邻块时,可以基于仿射相邻块所包括的多个样本中与参考样本相邻的样本来导出仿射相邻块的仿射种子矢量。具体地,可以将包括与仿射相邻块中的参考样本相邻的样本(以下称为相邻参考样本)的子块的平移运动矢量设置为仿射相邻块的仿射种子矢量。如上所述,可以将使用相邻参考样本来导出仿射种子矢量的方法定义为修改的仿射合并矢量导出方法。
图17是示出应用修改的仿射合并矢量导出方法的示例的图。
当仿射相邻块E的右下参考样本(xn5,yn5)不属于仿射相邻块时,可以基于仿射相邻块所包括的样本中的与右下参考样本的左侧相邻的样本(xn5-1,yn5)来导出仿射种子矢量。具体地,可以将包括相邻参考样本(xn5-1,yn5)的子块的平移运动矢量设置为右下控制点的仿射种子矢量。
在图17所示的示例中,将与右下子块的右上样本的右侧相邻的样本示出为右下参考样本。在与右下子块的右下样本的右侧相邻的样本或与右下子块的右侧中间样本的右侧相邻的样本设置为右下参考样本的情况下,可以基于与相邻参考样本的左侧相邻的样本来导出仿射种子矢量。
另外,当左下参考样本不属于仿射相邻块时,也可以按照所描述的实施例来基于与左下参考样本右侧相邻的样本导出仿射种子矢量。
通过以不同的方式设置参考样本的位置和用于导出仿射种子矢量的子块,由此可以将子种子矢量宽度设置为2的幂级数。
可替代地,在可以使用左下子块和右下子块的运动矢量的情况下,可以基于相邻块的宽度来导出多个仿射种子矢量。
图18是示出基于属于相邻块的多个子块的多个运动矢量来导出仿射合并候选的仿射种子矢量的示例的图。
在当前块的上边界与编码树单元的边界相接触的情况下,可以基于位于当前块上方的上相邻块的左下子块和右下子块的运动矢量来导出仿射合并候选的仿射种子矢量。假设上相邻块的左上样本的位置为(xNb,yNb),上相邻块的宽度和高度分别为NbW和NbH,左下子块可以包括(xNb,yNb+yNbH-1)位置上的样本,并且右下子块可以包括(xNb+NbW-1,yNb+NbH-1)位置上的样本。
可以基于相邻块的宽度和相邻块与当前块之间的坐标差来导出仿射合并候选的多个仿射种子矢量。例如,可以基于以下的等式11至等式13来导出仿射合并候选的多个仿射种子矢量。
【等式11】
v0x=VLBx<<7+((VRBx-VLBx)<<(7-log2(NbW))*(xCb-xNb)
v0y=VLBy<<7+((VRBy-VLBy)<<(7-log2(NbW))*(xCb-xNb)
【等式12】
v1x=VLBx<<7+((VRBx-VLBx)<<(7-log2(NbW))*(xCb+xCbW-xNb)
v1y=VLBy<<7+((VRBy-VLBy)<<(7-log2(NbW))*(xCb+xCbW-xNb)
【等式13】
v2x-VLBx<<7+((VRBx-VLBx)<<(7-log2(NbW))*(xCb+xCbW-xNb)+((VLBy-VRBy)<<(7-log2(NbW))*xCbH
v2y=VLBy<<7+((VRBy-VLBy)<<(7-log2(NbW))*(xCb+xCbW-xNb)+((VLBx-VRBx)<<(7-log2(NbW))*xCbH
在所述等式11至13中,(v0x,v0y)表示第一仿射种子矢量,(v1x,v1y)表示第二仿射种子矢量,并且(v2x,v2y)表示第三仿射种子矢量。Vlbx表示左下子块的水平分量运动矢量,并且Vlby表示左下子块的垂直分量运动矢量。Vrbx表示右下子块的水平分量运动矢量,并且Vrby表示右下子块的垂直分量运动矢量。NbW表示相邻块的宽度,并且xCbW和xCbH分别表示当前块的宽度和高度。xCb表示当前块的左上样本的x坐标,并且xNb表示相邻块的左上样本的x坐标。
还可以通过对从第一相邻块导出的多个仿射种子矢量和第二相邻块的运动矢量进行组合来生成仿射合并候选。例如,在图18所示的示例中,代替基于左下子块和右下子块的运动矢量来导出仿射合并候选的第三仿射种子矢量,还可以基于位于当前块左侧的子块的运动矢量来导出仿射合并候选的第三仿射种子矢量。
图19是示出基于位于当前块左侧的多个子块的运动矢量来导出仿射合并候选的仿射种子矢量的示例的图。
基于位于当前块上方的上相邻块的左下子块和右下子块的运动矢量,可以导出仿射合并候选的仿射种子矢量。具体地,可以基于左下子块和右下子块的运动矢量来导出仿射合并候选的第一仿射种子矢量和第二仿射种子矢量。例如,可以基于等式11和等式12来导出仿射合并候选的第一仿射种子矢量和第二仿射种子矢量。
可以基于位于当前块左侧的相邻块的运动矢量来导出仿射合并候选的第三仿射种子矢量。例如,可以将与当前块的左侧相邻的相邻块或与当前块的左下角相邻的相邻块的运动矢量设置为第三仿射种子矢量。与当前块的左侧相邻的相邻块可以包括(xCb-1,yCb+CbH-1)位置上的样本,并且与当前块的左下角相邻的相邻块可以包括(xCb-1,yCb+CbH)位置上的样本。等式14和等式15表示将位于当前块左侧的相邻块的运动矢量设置为第三仿射种子矢量的示例。
【等式14】
v2x=VLefttx
v2y=VLefty
【等式15】
v2x=VLBx
v2y=VLBy
在等式14中,VLeftx表示与当前块的左侧相邻的相邻块的水平方向运动矢量,并且VLefty表示与当前块的左侧相邻的相邻块的垂直方向运动矢量。在等式15中,VLBx表示与当前块的左下角相邻的相邻块的水平方向运动矢量,并且VLBy表示与当前块的左下角相邻的相邻块的垂直方向运动矢量。
仅在与当前块的左侧相邻的相邻块的运动矢量不可用的情况下才可以使用与当前块的左下角相邻的相邻块的运动矢量来导出第三仿射种子矢量。
还可以根据位于当前块左侧的相邻块的运动矢量是否可用来不同地设置导出仿射合并候选的第三仿射种子矢量的方法。例如,在位于当前块左侧的相邻块(例如,与当前块的左侧相邻的子块或与当前块的左下角相邻的子块)的运动矢量可用的情况下,可以使用等式14或等式15来导出第三仿射种子矢量。另一方面,在位于当前块左侧的相邻块的运动矢量不可用的情况下,可以使用等式13来导出第三仿射种子矢量。
还可以基于参考样本不与当前块相邻的非相邻块的运动矢量来导出第三仿射种子矢量。为了导出第三仿射种子矢量,可以基于导出仿射合并候选时使用的上相邻块的位置来确定使用参考样本与当前块相邻的相邻块的运动矢量还是使用参考样本不与当前块相邻的非相邻块的运动矢量。
图20是示出基于位于当前块左侧的非相邻块或相邻块的运动信息来导出仿射合并候选的仿射种子矢量的示例的图。
可以通过比较用于导出仿射合并候选的上相邻块的左上样本的位置和当前块的左上样本的位置来确定用于导出第三仿射种子矢量的块的位置。例如,如图20的(a)部分所示的示例,在上相邻块的左上样本的x坐标(xNb)小于当前块的左上样本的x坐标(xCb)的情况下,可以基于不与当前块的左侧相邻的非相邻块的运动矢量来导出第三仿射种子矢量。具体地,可以基于包括具有与上相邻块的左上样本相同的x坐标的样本(xNb,yCb+CbH-1)的左侧非相邻块或包括(xNb,yCb+CbH)位置上的样本的左下非相邻块的运动矢量来导出第三仿射种子矢量。等式16和等式17表示基于非相邻块的运动矢量来导出第三仿射种子矢量的示例。
【等式16】
v2x=VLeftt2x
v2y=VLeft2y
【等式17】
v2x=VLB2x
v2y=VLB2y
在等式16中,VLeft2x表示左侧非相邻块的水平方向运动矢量,并且VLeft2y表示左侧非相邻块的垂直方向运动矢量。在等式17中,VLB2x表示左下非相邻块的水平方向运动矢量,并且VLB2y表示左下非相邻块的垂直方向运动矢量。
仅在左侧非相邻块的运动矢量不可用的情况下才可以使用左下非相邻块的运动矢量来导出第三仿射种子矢量。
如图20的(b)部分所示的示例,在上相邻块的左上样本的x坐标(xNb)与当前块的左上样本的x坐标(xCb)相同或上相邻块的左上样本的x坐标(xNb)大于当前块的左上样本的x坐标(xCb)的情况下,可以基于与当前块的左侧或左下角相邻的相邻块的运动矢量来导出第三仿射种子矢量。具体地,可以基于包括与当前块的左侧相邻的样本(xCb,yCb+CbH-1)的左相邻块或包括与当前块的左下角相邻的样本(xCb,yCb+CbH)位置上的样本的左下相邻块的运动矢量来导出第三仿射种子矢量。
还可以以与图18至图20所示的不同方式设置左相邻块或左侧非相邻块的参考样本的位置。例如,可以将包括与当前块相邻的样本(xCb-1,yCb+subH-1)的块设置为左相邻块,并且可以将包括不与当前块相邻的样本(xNb,yCb+subH-1)的块设置为左侧非相邻块。其中,subH表示存储运动信息的块的最小高度,其可以是2、4或8等整数。
图21是示出用于导出仿射合并候选的仿射种子矢量的块的位置的图。
例如,如图21的(a)部分所示的示例,在上相邻块的左上样本的x坐标(xNb)小于当前块的左上样本的x坐标(xCb)的情况下,可以基于不与当前块的左侧相邻的非相邻块的运动矢量来导出第三仿射种子矢量。具体地,可以基于具有与上相邻块的左上样本相同的x坐标的、包括从上相邻块的左下样本隔开预定距离(例如,subH)的样本(xNb,yCb+subH-1)的左侧非相邻块的运动矢量来导出第三仿射种子矢量。等式18表示基于非相邻块的运动矢量来导出第三仿射种子矢量的示例。
【等式18】
v2x=VLeftT2x
v2y=VLeftT2y
在等式18中,VLeftT2x表示包括从上相邻块的左下样本隔开预定距离的样本的左侧非相邻块的水平方向运动矢量。VLeftT2y表示包括从上相邻块的左下样本隔开预定距离的样本的左侧非相邻块的垂直方向运动矢量。
可替代地,如图21的(b)部分所示的示例,在上相邻块的左上样本的x坐标(xNb)与当前块的左上样本的x坐标(xCb)相同或上相邻块的左上样本的x坐标(xNb)大于当前块的左上样本的x坐标(xCb)的情况下,可以基于与当前块的左侧相邻的、包括从当前块的左上样本沿着垂直方向隔开预定距离(例如,subH-1)的样本(xCb-1,yCb+subH-1)的左相邻块的运动矢量来导出第三仿射种子矢量。等式19表示基于相邻块的运动矢量来导出第三仿射种子矢量的示例。
【等式19】
v2x=VLeftTx
v2y=VLeftTy
在等式19中,VLeftTx表示与当前块的左侧相邻且包括从当前块的左上样本沿着垂直方向隔开预定距离的样本的左相邻块的水平方向运动矢量。VLeftTy表示与当前块的左侧相邻且包括从当前块的左上样本沿着垂直方向隔开预定距离的样本的左相邻块的垂直方向运动矢量。
可替代地,可以将参考样本设置在与图18至图21所示的位置不同的位置。例如,可以将与当前块的左侧相邻且具有与当前块的左上样本相同的y坐标的样本(xCb-1,yCb)或不与当前块的左侧相邻且具有与当前块的左上样本相同的y坐标的样本(xNb,yCb)设置为参考样本。
如所描述的示例,可以从位于当前块上方的相邻块导出仿射合并候选的第一仿射种子矢量和第二仿射种子矢量,并且可以从位于当前块左侧的相邻块导出仿射合并候选的第三仿射种子矢量。可以从位于当前块左侧的相邻块导出仿射合并候选的第一仿射种子矢量和第三仿射种子矢量,并且可以从位于当前块上方的相邻块导出仿射合并候选的第二仿射种子矢量。
如等式11至等式13所表示的示例,可以基于上相邻块的左下子块的运动矢量VLB与右下子块的运动矢量VRB之间的差值来导出仿射合并候选的仿射种子矢量。在这种情况下,代替左下子块的运动矢量或右下子块的运动矢量,可以使用其他块的运动矢量来导出仿射合并候选的仿射种子矢量。例如,在上相邻块的左下子块的运动矢量VLB和右下子块的运动矢量VRB的值相同的情况下,可以用包括位于右下子块的右侧或下方的样本的块的运动矢量来代替VRB。例如,代替右下子块的运动矢量VRB,可以使用包括(xNb+NbW,yNb+NbH-1)位置上的样本的块的运动矢量来导出仿射合并候选的运动矢量。
可替代地,在上相邻块的左下子块的运动矢量VLB和右下子块的运动矢量VRB的值相同的情况下,可以用包括位于左下子块的左侧或下方的样本的块的运动矢量来代替VLB。例如,代替左下子块的运动矢量VLB,可以使用包括(xNb,yNb+NbH-1+offset)位置上的样本的块的运动矢量来导出仿射合并候选的运动矢量。偏移量可以是1以上的整数。
可替代地,可以用包括位于左下子块的左侧或下方的样本的块的运动矢量代替VRB,或者可以用包括位于右下子块的右侧或下方的样本的块的运动矢量代替VLB
还可以通过对与当前块相邻的多个相邻块的多个运动矢量进行组合来导出合并候选。可以将由多个相邻块的多个运动矢量组合而生成的合并候选称为组合合并候选。在导出组合合并候选时,可以从与控制点相邻的多个相邻块中的一个相邻块导出控制点的仿射种子矢量。
图22为用于说明通过对多个相邻块的多个运动矢量进行组合来导出组合合并候选的示例的图。
相邻块可以包括位于当前块上方的上相邻块和位于当前块左侧的左相邻块。上相邻块可以是如下块中的至少一个,即,包括(xCb+CbW,yCb-1)位置上的样本的块B0、包括(xCb+CbW-1,yCb-1)位置上的样本的块B1、包括(xCb-1,yCb-1)位置上的样本的块B2或包括(xCb,yCb-1)位置上的样本的块B3。其中,(xCb,yCb)表示当前块的左上样本的位置,并且CbW表示当前块的宽度。左相邻块可以是如下块中的至少一个,即,包括(xCb-1,yCb+CbH)位置上的样本的块A0、包括(xCb-1,yCb+CbH-1)位置上的样本的块A1或包括(xCb-1,yCb)位置的样本的块A2。其中,CbH表示当前块的高度。
另外,相邻块还可以包括当前块的时间相邻块。
可以通过对相邻块中的两个以上相邻块的运动信息进行组合来导出组合合并候选。可以通过对2个或3个相邻块的运动信息进行组合来导出组合合并候选。具体地,组合合并候选还可以通过对与第一控制点相邻的相邻块的运动信息、与第二控制点相邻的相邻块的运动信息或与第三控制点相邻的相邻块的运动信息中的两个以上进行组合来导出。
例如,可以通过对与左上控制点CP0相邻的相邻块A2、B2或B3、与右上控制点CP1相邻的相邻块B1或B0或与左下控制点CP2相关的时间相邻块T中的两个以上相邻块的运动矢量进行组合来导出组合合并候选。
在这种情况下,当按预定义的扫描顺序扫描与控制点相邻的多个相邻块时,可以将首先找到的可用相邻块的运动矢量设置为所述控制点的仿射种子矢量。例如,可以将与CP0相关的组合合并候选的第一仿射种子矢量设置为当按照B2、B3和A2的顺序搜索多个相邻块时首先找到的可用相邻块的运动矢量。可以将与CP1相关的组合合并候选的第二仿射种子矢量设置为当按照B1和B0的顺序搜索多个相邻块时首先找到的可用相邻块的运动矢量。可以将与CP2相关的组合合并候选的第三仿射种子矢量设置为当按照A1和A0的顺序搜索多个相邻块时首先找到的可用相邻块的运动矢量。
在导出组合合并候选时,以仿射运动模型进行编码的相邻块或由仿射合并候选导出的相邻块可以设置为不可用。
图23是示出不可用相邻块的图。
在从位于当前块上方的相邻块B1导出仿射合并候选时,可以确定相邻块B1不可用于导出组合合并候选。因此,在导出与CP1相关的组合合并候选的仿射种子矢量时,可能不使用B1的运动矢量。
可替代地,在以仿射运动模型对相邻块进行编码时,可以基于包括参考样本的子块的仿射矢量来导出组合合并候选。例如,若以仿射运动模型对包括B1位置上的样本的相邻块进行编码,则可以使用包括所述相邻块的B1位置上的样本的子块的仿射矢量来导出组合合并候选。
可替代地,可以通过考虑是否以仿射运动模型对相邻块进行编码或者是否通过仿射合并候选导出相邻块来确定扫描顺序。例如,可以将以仿射运动模型进行编码的相邻块或通过仿射合并候选导出的相邻块的扫描顺序设置为最后。例如,在通过仿射运动模型对B1位置上的相邻块进行编码时,可以通过按照B0和B1的顺序搜索多个相邻块来导出与CP2相关的组合合并候选的第二仿射种子矢量。
在多个相邻块之间的参考图像索引不同时,可以基于索引最小的参考图像或索引最大的参考图像来缩放运动矢量。可以基于参考图像与当前图像之间的输出顺序(POC,Picture Order Count)差值来执行所述缩放。
可替代地,可以仅使用多个相邻块中与参考图像索引相同的相邻块来执行多个相邻块的组合。例如,在多个相邻块中的至少一个参考图像索引不同时,可以将组合设置为不可用作组合合并候选。另外,可以确定组合的可用性,而与相邻块的运动信息或运动矢量相同与否无关。例如,在多个相邻块的运动矢量(例如,CP0仿射种子矢量和CP1仿射种子矢量)相同时,也可以通过对参考图像索引相同的多个相邻块进行组合来导出组合合并候选。可替代地,可以通过考虑多个相邻块的参考图像索引来确定多个相邻块的扫描顺序。可替代地,可以在多个相邻块中仅使用预测方向相同的多个相邻块来执行所述组合。
可以根据已设置的组合顺序来生成合并候选。例如,可如下设置组合顺序。
1.{CP0仿射种子矢量,CP1仿射种子矢量,CP2仿射种子矢量}
2.{CP0仿射种子矢量,CP1仿射种子矢量,CP3仿射种子矢量}
3.{CP0仿射种子矢量,CP2仿射种子矢量,CP3仿射种子矢量}
4.{CP1仿射种子矢量,CP2仿射种子矢量,CP3仿射种子矢量}
5.{CP0仿射种子矢量,CP1仿射种子矢量}
6.{CP0仿射种子矢量,CP2仿射种子矢量}
虽然示出了6个组合示例,但是也可以使用比这个数量更少或更多数的组合示例。
可以将通过组合3个仿射种子矢量来生成的组合合并候选称为6参数集合并候选,可以将通过组合2个仿射种子矢量来生成的组合合并候选称为4参数集合并候选。
组合顺序可以在编码器和解码器中预定义。可替代地,可以基于当前块的大小、形状、划分类型、仿射运动模型、编码树单元内当前块的位置或参考图像的输出顺序中的至少一个来确定组合顺序。例如,在对当前块应用4参数仿射运动模型时,可以将用于4参数集合并候选的多个组合示例设置为具有比起用于6参数集合并候选的多个组合示例更高的优先级。
可以根据组合顺序生成组合合并候选,但可以确定为仅将参考图像相同的多个相邻块进行组合而生成的合并候选才可用。可替代地,在多个相邻块中的至少一个参考图像不同时,可以基于索引最大的参考图像或索引最小的参考图像对运动矢量想缩放来导出合并候选。可以基于当前图像与参考图像之间的输出顺序差异来执行所述缩放。可替代地,在多个相邻块中的两个参考图像相同但另一个参考图像不同时,可以基于共同应用于两个相邻块的参考图像缩放另一相邻块的运动矢量来导出组合合并候选。
可以基于合并候选列表中已包括的合并候选的数量或最大合并候选数量中的至少一个来确定添加到合并候选列表的组合合并候选的数量。可替代地,根据当前块的仿射运动模型,可以仅将6参数集合并候选添加到合并候选列表,或者可以仅将4参数集合并候选添加到组合合并候选列表。
例如,在要添加到合并候选列表的组合合并候选的数量为1且对当前块应用6参数运动模型时,可以将基于已设置的组合顺序的一个6参数集合并候选添加到合并候选列表。具体地,在CP0仿射种子矢量、CP1仿射种子矢量和CP2仿射种子矢量均可用时,可以将组合合并候选{CP0仿射种子矢量,CP1仿射种子矢量,CP2仿射种子矢量}添加到合并候选列表。可替代地,在CP2仿射种子矢量不可用且CP3仿射种子矢量可用时,可以将组合合并候选{CP0仿射种子矢量,CP1仿射种子矢量,CP3仿射种子矢量}添加到合并候选列表。
可替代地,在要添加到合并候选列表的组合合并候选的数量为1且对当前块应用6参数运动模型时,可以将基于已设置的组合顺序的一个4参数集合并候选添加到合并候选列表。
作为另一示例,根据当前块的仿射运动模型,可以将要添加到合并候选列表的多个组合合并候选的数量设置为不同。例如,在对当前块应用6参数运动模型时,可以将1个组合合并候选添加到合并候选列表。另一方面,在对当前块应用4参数运动模型时,可以将2个组合合并候选添加到合并候选列表。
根据可用的仿射合并候选的数量,可以选择要添加到合并候选列表的组合合并候选。例如,在可用的仿射合并候选的数量为2个以上时,可以仅将4参数集合并候选添加到合并候选列表。另一方面,在可用的仿射合并候选的数量为1个以下时,可以仅将6参数集合并候选添加到合并候选列表。可替代地,在可用的仿射合并候选的数量为1个以下时,可以将N个6参数集合并候选和M个4参数集合并候选添加到合并候选列表。其中,N和M为整数,M可以基于从最大合并候选数量减去N的数值来导出。可替代地,在可用的仿射合并候选的数量为1个以下时,可以仅将4参数集合并候选添加到合并候选列表。
可替代地,可以基于多个仿射种子矢量的可用性来确定组合顺序。例如,可考虑多个仿射种子矢量的可用性来根据以下的顺序将组合合并候选添加到合并候选列表。
1.CP0仿射种子矢量、CP1仿射种子矢量和CP2仿射种子矢量可用的情况
{CP0仿射种子矢量,CP1仿射种子矢量,CP2仿射种子矢量}
2.CP0仿射种子矢量、CP1仿射种子矢量和CP3仿射种子矢量可用的情况
{CP0仿射种子矢量,CP1仿射种子矢量,CP3仿射种子矢量}
3.CP0仿射种子矢量、CP2仿射种子矢量和CP3仿射种子矢量可用的情况
{CP0仿射种子矢量,CP2仿射种子矢量,CP3仿射种子矢量}
4.CP0仿射种子矢量、CP2仿射种子矢量和CP3仿射种子矢量可用的情况
{CP1仿射种子矢量,CP2仿射种子矢量,CP3仿射种子矢量}
5.CP0仿射种子矢量和CP1仿射种子矢量可用的情况
{CP0仿射种子矢量,CP1仿射种子矢量}
6.CP0仿射种子矢量和CP2仿射种子矢量可用的情况
{CP0仿射种子矢量,CP2仿射种子矢量}
在可添加到合并候选列表的组合合并候选的数量为1个时,可以将所述1至6的条件中首先被满足的条件的组合合并候选添加到合并候选列表。在不满足1至6的条件的情况下,可能不会将组合合并候选添加到合并候选列表。
作为另一示例,还可以根据可用的仿射合并候选的数量来确定可添加到合并候选列表的组合合并候选的最大数量。
在合并候选列表所包括的合并候选的数量小于最大数量时,还可以将运动矢量为0的零合并候选添加到合并候选列表。因此,在仿射合并模式下,可以按以下的顺序导出合并候选。
1.导出仿射合并候选
2.组合合并候选
3.零合并候选
接下来,详细说明使用平移运动信息的帧间预测方法。
可以从当前块的其他块的运动信息中导出当前块的运动信息。其中,其他块可以是在当前块之前以帧间预测进行编码/解码的块。可以将当前块的运动信息设置为与其他块的运动信息相同的情况定义为合并模式。另外,可以将其他块的运动矢量设置为当前块的运动矢量的预测值情况定义为运动矢量预测模式。
图24是在合并模式下导出当前块的运动信息的过程的流程图。
可以导出当前块的合并候选(S2401)。当前块的合并候选可以从在当前块之前以帧间预测进行编码/解码的块导出。
为了导出合并候选而使用的候选块可以包括相邻块,即,与当前块相邻的样本。例如,若当前块的左上样本的坐标为(0,0),则包括(-1,H-1)位置上的参考样本的块、包括(W-1,-1)位置上的参考样本的块、包括(W,-1)位置上的参考样本的块、包括(-1,H)位置上的参考样本的块或包括(-1,-1)位置上的参考样本的块中的至少一个可用作候选块。
可替代地,可以将不属于与当前块相同的编码树单元的候选块设置为不可用作合并候选。例如,在参考样本超出当前块所属的编码树单元的上边界时,可以将包括参考样本的候选块设置为不可用作合并候选。
还可以从与当前块不同的图像中所包括的时间相邻块导出合并候选。例如,可以从同位图像中所包括的同位块导出合并候选。可以将参考图像列表所包括的多个参考图像中的任一个设置为同位图像。可以通过比特流用信号发送用于标识多个参考图像中的同位图像的索引信息。可替代地,可以将多个参考图像中具有预定义的索引的参考图像确定为同位图像。
可以将合并候选的运动信息设置为与候选块的运动信息相同。例如,可以将候选块的运动矢量、参考图像索引、预测方向或双向加权值索引中的至少一个设置为合并候选的运动信息。
可以生成包括合并候选的合并候选列表(S2402)。
可以按照预定顺序分配合并候选列表内的多个合并候选的索引。例如,可以按照从左相邻块导出的合并候选、从上相邻块导出的合并候选、从右上相邻块导出的合并候选、从左下相邻块导出的合并候选、从左上相邻块导出的合并候选和从时间相邻块导出的合并候选的顺序来分配索引。
在合并候选包括多个合并候选时,可以选择多个合并候选中的至少一个(S2403)。具体地,可以通过比特流用信号发送用于指定多个合并候选中的任一个的信息。例如,可以通过比特流用信号发送表示合并候选列表所包括的多个合并候选中的任一个的索引的信息merge_idx。
在合并候选列表所包括的合并候选的数量小于阈值时,可以将帧间运动信息列表中所包括的合并候选添加到合并候选列表中。其中,阈值可以是从合并候选列表可以包括的最大合并候选的数量或最大合并候选的数量减去偏移量的值。偏移量可以是1或2等整数。帧间运动信息列表可以包括基于在当前块之前进行编码/解码的块来导出的合并候选。
帧间运动信息列表包括从当前图像中的基于帧间预测进行编码/解码的块导出的合并候选。例如,帧间运动信息列表中包括的合并候选的运动信息可以设置为与基于帧间预测进行编码/解码的块的运动信息相同。其中,运动信息可以包括运动矢量、参考图像索引、预测方向或双向加权值索引中的至少一个。
为了便于说明,将帧间运动信息列表中包括的合并候选称为帧间合并候选。
可以在编码器和解码器中预定义帧间运动信息列表中可以包括的最大合并候选的数量。例如,帧间运动信息列表中可以包括的最大合并候选的数量可以是1、2、3、4、5、6、7、8或更大(例如,16)。
可替代地,可以通过比特流用信号发送表示帧间运动信息列表的最大合并候选的数量的信息。所述信息以序列级、图像级或条带级用信号发送。
可替代地,可以根据图像的大小、条带的大小或编码树单元的大小来确定帧间运动信息列表的最大合并候选数量。
帧间运动信息列表可以以图像、条带、图块、砖块、编码树单元或编码树单元行(行或列)为单位实现初始化。例如,在对条带进行初始化时,帧间运动信息列表也被初始化,帧间运动信息列表可能不包括任何的合并候选。
可替代地,还可以通过比特流用信号发送表示是否初始化帧间运动信息列表的信息。所述信息可以以条带级、图块级、砖块级或块级用信号发送。在所述信息指示对帧间运动信息列表进行初始化之前,可以使用已配置的帧间运动信息列表。
可替代地,可以通过图像参数集或条带头用信号发送与帧间合并候选相关的信息。即使条带被初始化,帧间运动信息列表也可以包括初始帧间合并候选。因此,可以将帧间合并候选用于条带内首次被编码/解码的块。
根据编码/解码顺序,对块进行编码/解码,并且可以根据编码/解码顺序来将基于帧间预测进行编码/解码的多个块依次设置为帧间合并候选。
图25是用于说明帧间运动信息列表的更新示例的图。
在对当前块执行帧间预测时(S2501),可以基于当前块导出帧间合并候选(S2502)。帧间合并候选的运动信息可以设置为与当前块的运动信息相同。
在帧间运动信息列表为空时(S2503),可以将基于当前块导出的帧间合并候选添加到帧间运动信息列表中(S2504)。
在帧间运动信息列表已经包括所述帧间合并候选时(S2503),可以对当前块的运动信息(或基于当前块导出的帧间合并候选)进行冗余检查(S2505)。冗余检查用于确定帧间运动信息列表中已存储的帧间合并候选的运动信息和当前块的运动信息是否相同。可以将帧间运动信息列表中已存储的所有帧间合并候选作为对象执行冗余检查。可替代地,可以将帧间运动信息列表中已存储的帧间合并候选中的索引为阈值以上或阈值以下的帧间合并候选作为对象来执行冗余检查。
在不包括具有与当前块的运动信息相同的运动信息的帧间合并候选时,可以将基于当前块导出的帧间合并候选添加到帧间运动信息列表(S2508)。可以基于帧间合并候选的运动信息(例如,运动矢量和/或参考图像索引等)是否相同来确定帧间合并候选是否相同。
此时,在帧间运动信息列表中已经存储了最大数量的帧间合并候选时(S2506),删除最早的帧间合并候选(S2507),并且可以将基于当前块导出的帧间合并候选添加到帧间运动信息列表(S2508)。
可以根据各个索引来识别多个帧间合并候选。在将从当前块导出的帧间合并候选添加到帧间运动信息列表时,向所述帧间合并候选分配最低的索引(例如,0),并且可以将已存储的帧间合并候选的索引分别增加1。在这种情况下,当帧间运动信息列表中已存储最大数量的帧间合并候选时,移除索引最大的帧间合并候选。
可替代地,在将从当前块导出的帧间合并候选添加到帧间运动信息列表时,可以向所述帧间合并候选分配最大的索引。例如,在帧间运动信息列表中已存储的帧间合并候选的数量小于最大值时,可以向所述帧间合并候选分配值与已存储的帧间合并候选的数量相同的索引。可替代地,在帧间运动信息列表中已存储的帧间合并候选的数量等于最大值时,可以向所述帧间合并候选分配从最大值减去1的索引。另外,移除索引最小的帧间合并候选,并将剩余的已存储的多个帧间合并候选的索引将分别减小1。
图26是示出更新帧间合并候选列表的实施例的图。
假设将从当前块导出的帧间合并候选添加到帧间合并候选列表,并且向所述帧间合并候选分配最大的索引。另外,假设帧间合并候选列表中已存储了最大数量的帧间合并候选。
在将从当前块中导出的帧间合并候选HmvpCand[n+1]添加到帧间合并候选列表HmvpCandList时,从已存储的帧间合并候选中删除索引最小的帧间合并候选HmvpCand[0],并分别从多个剩余帧间合并候选的索引减小1。另外,可以将从当前块导出的帧间合并候选HmvpCand[n+1]的索引设置为最大值(如图26所示的示例中为n)。
当已存储与基于当前块导出的帧间合并候选相同的帧间合并候选时(S2505),可能不将基于当前块导出的帧间合并候选添加到帧间运动信息列表(S2509)。
可替代地,随着将基于当前块导出的帧间合并候选添加到帧间运动信息列表,还可以移除与所述帧间合并候选相同的已存储的帧间合并候选。在这种情况下,会引起已存储的帧间合并候选的索引被更新的效果。
图27是示出先前存储的帧间合并候选的索引被更新的示例的图。
与基于当前块导出的帧间合并候选mvCand相同的已存储的帧间合并候选的索引为hIdx时,删除所述已存储的帧间合并候选,可以将索引大于hIdx的帧间合并候选的索引各减小1。例如,在图27所示的示例中图示了与mvCand相同的HmvpCand[2]从帧间运动信息列表HvmpCandList中删除,HmvpCand[3]至HmvpCand[n]的索引各减小1。
另外,可以将基于当前块导出的帧间合并候选mvCand添加到帧间运动信息列表的最后。
可替代地,可以更新被分配给与基于当前块导出的帧间合并候选相同的已存储的帧间合并候选的索引。例如,可以将已存储的帧间合并候选的索引更改为最小值或最大值。
可以将预定区域中包括的块的运动信息设置为不能添加到帧间运动信息列表中。例如,不能将基于合并处理区域中包括的块的运动信息导出的帧间合并候选添加到帧间运动信息列表。由于未定义合并处理区域中包括的块的编码/解码顺序,因此将这些块中任一个的运动信息用于其他块的帧间预测是不合适的。因此,可以不将基于合并处理区域中包括的块导出的帧间合并候选添加到帧间运动信息列表。
当基于子块执行运动补偿预测时,可以基于当前块中包括的多个子块中的代表性子块的运动信息来导出帧间合并候选。例如,针对当前块使用子块合并候选时,可以基于子块中的代表性子块的运动信息来导出帧间合并候选。
子块的运动矢量可以按以下顺序导出。首先,可以选择当前块的合并候选列表所包括的合并候选中的任一个,并且可以基于选择的合并候选的运动矢量来导出初始移位矢量(shVector)。另外,通过将编码块各个子块的参考样本(例如,左上样本或中间位置样本)的位置(xSb,ySb)加上初始移位矢量,可以导出参考样本的位置为(xColSb,yColSb)的移位子块。以下等式20表示导出移位子块的等式。
【等式20】
(xColSb,yColSb)=(xSb+shVector[0]>>4,ySb+shVector[1]>>4)
接下来,将与包括(xColSb,yColSb)的子块中心位置相对应的同位块的运动矢量设置为包括(xSb,ySb)的子块的运动矢量。
代表性子块可以意味着包括当前块的左上样本或中心样本的子块。
图28是示出代表性子块的位置的图。
图28的(a)示出位于当前块的左上方的子块设置为代表性子块的示例,并且图28的(b)示出位于当前块的中心的子块设置为代表性子块的示例。当以子块为单位执行运动补偿预测时,基于包括当前块的左上样本的子块或包括当前块的中心样本的子块的运动矢量,可以导出当前块的帧间合并候选。
还可以基于当前块的帧间预测模式来确定是否将当前块用作帧间合并候选。例如,可以将基于仿射运动模型进行编码/解码的块设置为不可用作帧间合并候选。因此,即使当前块通过帧间预测进行编码/解码,则当当前块的帧间预测模式为仿射预测模式时,也不会基于当前块更新帧间预测运动信息列表。
可替代地,还可以基于仿射运动模型进行编码/解码的块中包括的子块中至少一个子块矢量来导出帧间合并候选。例如,可以使用位于当前块左上方的子块、位于中心的子块或位于右上方的子块来导出帧间合并候选。可替代地,还可以将多个子块的子块矢量的平均值设置为帧间合并候选的运动矢量。
可替代地,还可以基于仿射运动模型进行编码/解码的块的仿射种子矢量的平均值来导出帧间合并候选。例如,可以将当前块的第一仿射种子矢量、第二仿射种子矢量或第三仿射种子矢量中的至少一个的平均值设置为帧间合并候选的运动矢量。
可替代地,可以针对不同的帧间预测模式来配置帧间运动信息列表。例如,可以定义用于通过帧内块复制进行编码/解码的块的帧间运动信息列表、用于基于平移运动模型进行编码/解码的块的帧间运动信息列表或用于基于仿射运动模型进行编码/解码的块的帧间运动信息列表中的至少一个。根据当前块的帧间预测模式,可以选择多个帧间运动信息列表中的任一个。
图29示出了针对不同帧间预测模式生成帧间运动信息列表的示例。
当基于非仿射运动模型对块进行编码/解码时,可以将基于所述块导出的帧间合并候选mvCand添加到帧间非仿射运动信息列表HmvpCandList。另一方面,当基于仿射运动模型对块进行编码/解码时,可以将基于所述块导出的帧间合并候选mvAfCand添加到帧间仿射运动信息列表HmvpAfCandList。
块的仿射种子矢量可以存储在从基于仿射运动模型进行编码/解码的块导出的帧间合并候选中。因此,可以将所述帧间合并候选用作用于导出当前块的仿射种子矢量的合并候选。
除了描述的帧间运动信息列表以外,还可以定义另外的帧间运动信息列表。除了所描述的帧间运动信息列表(以下称为第一帧间运动信息列表)以外,还可以定义长期运动信息列表(以下称为第二帧间运动信息列表)。其中,长期运动信息列表包括长期合并候选。
当第一帧间运动信息列表和第二帧间运动信息列表均为空状态时,首先可以将帧间合并候选添加到第二帧间运动信息列表。在第二帧间运动信息列表中可用的帧间合并候选的数量达到最大数量之后,才能在第一帧间运动信息列表添加帧间合并候选。
可替代地,还可以将一个帧间合并候选添加到第二帧间运动信息列表和第一帧间运动信息列表两者。
在这种情况下,可能不再更新已完成配置的第二帧间运动信息列表。可替代地,当解码区域为条带的预定比率以上时,可以更新第二帧间运动信息列表。可替代地,可以每N个编码树单元行更新第二帧间运动信息列表。
另一方面,可以在每当产生以帧间预测进行编码/解码的块时更新第一帧间运动信息列表。但是,还可以将添加到第二帧间运动信息列表的帧间合并候选设置为不用于更新第一帧间运动信息列表。
可以通过比特流用信号发送用于选择第一帧间运动信息列表或第二帧间运动信息列表中的任一个的信息。当合并候选列表所包括的合并候选的数量小于阈值时,可以将所述信息指示的帧间运动信息列表中包括的合并候选添加到合并候选列表。
可替代地,还可以基于当前块的大小、形状、帧间预测模式、双向预测与否、运动矢量细化与否或三角形划分与否来选择帧间运动信息列表。
可替代地,如果即使添加了第一帧间运动信息列表中包括的帧间合并候选,合并候选列表所包括的合并候选的数量还是小于最大合并数量,则可以将第二帧间运动信息列表中包括的帧间合并候选添加到合并候选列表。
图30是示出将长期运动信息列表中包括的帧间合并候选添加到合并候选列表的示例的图。
当合并候选列表所包括的合并候选的数量小于最大数量时,可以将第一帧间运动信息列表HmvpCandList中包括的帧间合并候选添加到合并候选列表。如果即使将第一帧间运动信息列表中包括的帧间合并候选添加到合并候选列表,合并候选列表所包括的合并候选的数量还是小于最大数量,则可以将长期运动信息列表HmvpLTCandList中包括的帧间合并候选添加到合并候选列表。
表1示出将长期运动信息列表所包括的帧间合并候选添加到合并候选列表的过程。
【表1】
Figure BDA0003037651470000281
可以将帧间合并候选设置为除了运动信息以外还包括附加信息。例如,可以在帧间合并候选中添加存储块的大小、形状或块的划分信息。在构造当前块的合并候选列表时,在帧间合并候选中仅使用大小、形状或划分信息与当前块相同或类似的帧间合并候选,或者可以将大小、形状或划分信息与当前块相同或类似的帧间合并候选优先添加到合并候选列表。
可替代地,可以针对不同的块大小、形状或划分信息生成帧间运动信息列表。可以使用多个帧间运动信息列表中与当前块的形状、大小或划分信息相对应的帧间运动信息列表来生成当前块的合并候选列表。
当前块的合并候选列表所包括的合并候选的数量小于阈值时,可以将帧间运动信息列表中包括的帧间合并候选添加到合并候选列表。所述添加过程按索引的升序或降序执行。例如,可以将索引最大的帧间合并候选中添加到合并候选列表。
在要将帧间运动信息列表中包括的帧间合并候选添加到合并候选列表时,可以执行帧间合并候选与已存储于合并候选列表的多个合并候选之间的冗余检查。
例如,表2示出将帧间合并候选添加到合并候选列表的过程。
【表2】
Figure BDA0003037651470000282
还可以仅对帧间运动信息列表所包括的帧间合并候选中的一些合并候选执行冗余检查。例如,可以仅对索引为阈值以上或阈值以下的帧间合并候选执行冗余检查。可替代地,可以仅对索引最大的N个合并候选或索引最小的N个合并候选执行冗余检查。
可替代地,可以仅对合并候选列表中已存储的合并候选中的一些执行冗余检查。例如,可以仅对索引为阈值以上或阈值以下的合并候选或从特定位置的块中导出的合并候选执行冗余检查。其中,特定位置可以包括当前块的左相邻块、上相邻块、右上相邻块或左下相邻块中的至少一个。
图31是示出仅对合并候选中的一些合并候选进行冗余检查的示例的图。
在要将帧间合并候选HmvpCand[j]添加到合并候选列表时,可以执行帧间合并候选与索引为最大的2个合并候选mergeCandList[NumMerge-2]和mergeCandList[NumMerge-1]之间的冗余检查。其中,NumMerge可以表示可用的空间合并候选和时间合并候选的数量。
与图中所示的示例不同的是,在要将帧间合并候选HmvpCand[j]添加到合并候选列表时,还可以执行帧间合并候选与索引为最小的2个合并候选之间的冗余检查。例如,可以确认mergeCandList[0]和mergeCandList[1]是否与HmvpCand[j]相同。可替代地,可以仅对从特定位置导出的合并候选执行冗余检查。例如,可以仅对从位于当前块左侧的相邻块导出的合并候选或从位于当前块上方的相邻块导出的合并候选中的至少一个执行冗余检查。当合并候选列表中不存在从特定位置导出的合并候选时,可以在不进行冗余检查的情况下将帧间合并候选添加到合并候选列表。
在发现与第一帧间合并候选相同的合并候选的情况下,在对第二帧间合并候选执行冗余检查时,可以省略与所述第一帧间合并候选相同的合并候选的冗余检查。
图32是示出对特定合并候选省略冗余检查的示例的图。
在要将索引为i的帧间合并候选HmvpCand[i]添加到合并候选列表时,可以执行所述帧间合并候选与合并候选列表中已存储的合并候选之间的冗余检查。在这种情况下,在发现与帧间合并候选HmvpCand[i]相同的合并候选mergeCandList[j]的情况下,帧间合并候选HmvpCand[i]将不添加到合并候选列表,并且可以执行索引为i-1的帧间合并候选HmvpCand[i-1]与合并候选之间的冗余检查。在这种情况下,可以省略帧间合并候选HmvpCand[i-1]与合并候选mergeCandList[j]之间的冗余检查。
例如,在图32所示的示例中,确定HmvpCand[i]与mergeCandList[2]相同。因此,HmvpCand[i]不添加到合并候选列表,并且可以对HmvpCand[i-1]执行冗余检查。在这种情况下,可以省略HvmpCand[i-1]与mergeCandList[2]之间的冗余检查。
当前块的合并候选列表所包括的合并候选的数量小于阈值时,除了帧间合并候选以外,还可以包括成对合并候选或零合并候选中的至少一个。成对合并候选是指将两个以上合并候选的运动矢量的平均值作为运动矢量的合并候选,并且零合并候选是指运动矢量为0的合并候选。
当前块的合并候选列表可以按以下顺序添加合并候选。
空间合并候选-时间合并候选-帧间合并候选-(帧间仿射合并候选)-成对合并候选-零合并候选
空间合并候选是指从相邻块或非相邻块中的至少一个导出的合并候选,并且时间合并候选是指从前一参考图像导出的合并候选。帧间仿射合并候选列表示从以仿射运动模型进行编码/解码的块中导出的帧间合并候选。
在高级运动矢量预测模式中,可以使用帧间运动信息列表。例如,当当前块的运动矢量预测候选列表所包括的运动矢量预测候选的数量小于阈值时,将帧间运动信息列表中包括的帧间合并候选设置为与当前块相关的运动矢量预测候选。具体地,将帧间合并候选的运动矢量设置为运动矢量预测候选。
若选择当前块的运动矢量预测候选列表所包括的运动矢量预测候选中的任一个,则将选择的候选设置为当前块的运动矢量预测值。之后,对当前块的运动矢量残差值进行解码之后,可以通过将运动矢量预测值和运动矢量残差值相加来获得当前块的运动矢量。
当前块的运动矢量预测候选列表可以按以下顺序构造。
空间运动矢量预测候选-时间运动矢量预测候选-帧间解码区域合并候选-(帧间解码区域仿射合并候选)-零运动矢量预测候选
空间运动矢量预测候选是指从相邻块或非相邻块中的至少一个导出的运动矢量预测候选,并且时间运动矢量预测候选是指从前一参考图像中导出的运动矢量预测候选。帧间仿射合并候选列表示从以仿射运动模型进行编码/解码的块中导出的帧间运动矢量预测候选。零运动矢量预测候选表示运动矢量的值为0的候选。
可以将编码块划分为多个预测单元,并且可以分别对划分的预测单元执行预测。其中,预测单元表示用于预测的基本单元。
可以使用垂直线、水平线、斜线或对角线中的至少一个来划分编码块。可以通过比特流用信号发送用于确定划分编码块的线的数量、角度或位置中的至少一个的信息。例如,可以通过比特流用信号发送表示编码块的划分类型候选中的任一个的信息,或者可以通过比特流用信号发送指定划分编码块的多个线候选中的任一个的信息。可替代地,可以通过比特流用信号发送用于确定划分编码块的线候选的数量或类型的信息。例如,使用1比特标志,可以确定角度大于对角线的斜线和/或角度小于对角线的斜线是否可以用作线候选。
可替代地,基于编码块的帧内预测模式、帧间预测模式、可以使用的合并候选的位置或相邻块的划分类型中的至少一个,可以自适应地确定划分编码块的线的数量、角度或位置中的至少一个。
若编码块划分为多个预测单元,则可以对划分的各个预测单元执行帧内预测或帧间预测。
图33是示出使用对角线来将编码块划分为多个预测单元的示例的图。
如图33的(a)部分和(b)部分所示的示例,可以使用对角线将编码块划分为2个三角形状预测单元。
在图33的(a)部分和(b)部分中,示出了使用连接编码块的两个顶点的对角线将编码块划分为两个预测单元。但是,可以使用线的至少一个末端不穿过编码块的顶点的斜线来将编码块划分为两个预测单元。
图34是示出将编码块划分为两个预测单元的示例的图。
如图34的(a)部分和(b)部分所示的示例,可以使用两端分别与编码块的上边界和下方边界相接触的斜线将编码块划分为两个预测单元。
可替代地,如图34的(c)部分和的(d)部分所示的示例,可以使用两端分别与编码块的左侧边界和右侧边界相接触的斜线将编码块划分为两个预测单元。
可替代地,可以将编码块划分为大小不同的2个预测块。例如,可以通过将划分编码块的斜线设置为与形成一个顶点的两个边界面相接触而将编码块划分为大小不同的两个预测单元。
图35示出了将编码块划分为具有不同大小的多个预测块的示例的图。
如在图35的(a)和图35的(b)所示的示例中,通过将在编码块的左上角或右下角处连接的对角线设置为穿过编码块的左边界、右边界、上边界或下边界,而不是穿过编码块的左上角或右下角,可以将编码块划分为具有不同大小的两个预测单元。
可替代地,如在图35的(c)和图35的(d)所示的示例中,通过将在编码块的右上角或左下角处连接的对角线设置为穿过编码块的左边界、右边界、上边界或下边界,而不是穿过编码块的左上角或右下角,可以将编码块划分为具有不同大小的两个预测单元。
通过划分编码块而生成的各个预测单元称为“第N预测单元“。例如,如图33至图35所示的示例中,将PU1可以定义为第一预测单元,并且将PU2可以定义为第二预测单元。第一预测单元可以指包括编码块的位于左下的样本或位于左上方的样本的预测单元,并且第二预测单元可以指包括编码块的位于右上的样本或位于右下的样本的预测单元。
与上述相反,可以将包括编码块的位于右上的样本或位于右下的样本的预测单元定义为第一预测单元,并且可以将包括编码块的位于左下的样本或位于左上方的样本的预测单元定义为第二预测单元。
稍后所述的实施例主要说明使用对角线的划分示例。尤其,使用对角线将编码块划分为2个预测单元的过程称为对角线划分或三角形划分,并且将基于对角线划分生成的预测单元称为三角形预测单元。但是,当然也可以在稍后所述的实施例中使用与垂直线、水平线或对角线不同的角度的斜线的划分示例。
可以基于条带类型、合并候选列表可以包括的合并候选的最大数量、编码块的大小、编码块的形状、编码块的预测编码模式或父母节点的划分类型中的至少一个来确定是否对编码块应用对角线划分。
例如,基于当前条带是否为B类型,可以确定是否对编码块应用对角线划分。仅当当前条带为B类型时,才可以允许对角线划分。
可替代地,可以基于合并候选列表所包括的合并候选的最大数量是否为2个以上来确定是否对编码块应用对角线划分。仅限于合并候选列表所包括的合并候选的最大数量为2个以上的情况,才可以允许对角线划分。
可替代地,硬件的宽度或高度中的至少一个大于64时,会发生64×64大小的数据处理单元被冗余地访问的缺点。因此,编码块的宽度或高度中的至少一个大于阈值时,可能不允许将编码块划分为多个预测块。例如,编码块的高度或宽度中的至少一个大于64时,可能不使用对角线划分。
可替代地,基于编码块中包括的样本数量是否为第一阈值以下或编码块中包括的样本数量是否为第二阈值以上中的至少一个,可以确定是否对编码块应用对角线划分。例如,编码块中包括的样本数量为第一阈值以下的情况或编码块中包括的样本数量为第二阈值以上时,设置为不对编码块应用对角线划分。可替代地,基于编码块的宽度和高度比是否小于第一阈值或编码块的宽度和高度比是否大于第二阈值,可以确定是否对编码块应用对角线划分。其中,可以将编码块的宽度和高度比whRatio确定为编码块的宽度CbW和高度CbH的比率,如以下等式21所示。
【等式21】
whRatio=CbW/CbH
第二阈值可以是第一阈值的倒数。例如,当第一阈值为k时,第二阈值可以是1/k。
只有在编码块的宽度和高度比存在于第一阈值和第二阈值之间的情况下,才可以在编码块应用对角线划分。
可替代地,只有在编码块的宽度和高度比小于第一阈值或大于第二阈值的情况下才能使用三角形划分。例如,第一阈值为16时,对于64×4或4×64大小的编码块,可能不允许对角线划分。
可替代地,基于父母节点的划分类型,可以确定是否允许对角线划分。例如,当作为父母节点的编码块基于四叉树划分时,可以对作为叶节点的编码块应用对角线划分。另一方面,当作为父母节点的编码块基于二叉树或三叉树划分进行划分时,可以将作为叶节点的编码块设置为不允许对角线划分。
可替代地,基于编码块的预测编码模式,可以确定是否允许对角线划分。例如,编码块以帧内预测进行编码时,仅当编码块以帧间预测进行编码时或编码块以预定义的帧间预测模式进行编码时,才可以允许对角线划分。其中,预定义的帧间预测模式可以表示合并模式、高级运动矢量预测模式、仿射合并模式或仿射运动矢量预测模式中的至少一个。
可替代地,基于并列处理区域的大小,可以确定是否允许对角线划分。例如,当编码块的大小大于并列处理区域的大小时,可能不使用对角线划分。
还可以考虑所述列举的条件中的两个以上的条件来确定是否对编码块应用对角线划分。
进而,可以通过比特流用信号发送表示是否允许对角线划分的信息。所述信息可以以序列级、图像级、条带级或块级用信号发送。仅当所述信息指示允许对角线划分,且满足所述列举的条件中的至少一个时,才可以对编码块应用对角线划分。
在确定要对编码块应用对角线划分时,可以通过比特流用信号发送表示划分编码块的线的数量或线的位置的信息。
例如,编码块由对角线划分时,可以通过比特流用信号发送表示划分编码块的对角线的方向的信息。例如,可以通过比特流用信号发送表示对角线的方向的标志triangle_partition_type_flag。所述标志指示是通过连接左上和右下的对角线来划分编码块,还是通过连接右上和左下的对角线来划分编码块。通过连接左上和右下的对角线来划分编码块可以称为左三角形划分类型,并且通过连接右上和左下的对角线来划分编码块可以称为右三角形划分类型。例如,所述标志的值为0指示编码块的划分类型为左三角形划分类型,所述标志的值为1时指示编码块的划分类型为右三角形划分类型。
表示编码块的划分类型的信息可以以编码块级用信号发送。因此,可以针对应用对角线划分的不同编码块来确定划分类型。
作为另一示例,对于序列、图像、条带、图块或编码树单元,可以用信号发送表示划分类型的信息。这种情况下,可以将应用对角线划分的编码块的划分类型在序列、图像、条带、图块或编码树单元内设置为相同。
可替代地,对于编码树单元内应用对角线划分的第一编码单元,将用于确定划分类型的信息进行编码并用信号发送,并且应用对角线划分的第二个和以后的编码单元设置为使用与第一个编码单元相同的划分类型。
作为另一示例,可以基于相邻块的划分类型来确定编码块的划分类型。其中,相邻块可以包括与编码块的左上角相邻的相邻块、与右上角相邻的相邻块、与左下角相邻的相邻块、位于上方的相邻块或位于左侧的相邻块中的至少一个。例如,当前块的划分类型可以与相邻块的划分类型相同地设置。可替代地,基于左上相邻块是否应用左三角形划分类型、右上相邻块或左下相邻块是否应用右三角形划分类型,可以确定当前块的划分类型。
为了对第一三角形预测单元和第二三角形预测单元执行运动预测补偿,可以导出第一三角形预测单元和第二三角形预测单元各自的运动信息。在这种情况下,可以从合并候选列表所包括的合并候选导出第一三角形预测单元和第二三角形预测单元的运动信息。为了区分一般合并候选列表和导出三角形预测单元的运动信息时所使用的合并候选列表,将用于导出三角形预测单元的运动信息的合并候选列表称为三角形合并候选列表,将三角形合并候选列表所包括的合并候选称为三角形合并候选。但是,将前述的合并候选导出方法和合并候选列表构造方法应用于三角形合并候选和三角形合并候选列表构造方法也包括在本发明的精神内。
可以通过比特流用信号发送用于确定三角形合并候选列表可以包括的最大三角形合并候选的数量的信息。所述信息可以表示合并候选列表可以包括的最大合并候选的数量与三角形合并候选列表可以包括的最大三角形合并候选数量之间的差。
可以从编码块的空间相邻块和时间相邻块导出三角形合并候选。
图36是示出用于导出三角形合并候选的相邻块的图。
可以使用位于编码块的上方的相邻块、位于编码块的左侧的相邻块或与编码块不同的图像中包括的同位块中的至少一个来导出三角形合并候选。上相邻块可以是如下块,即,包括位于编码块的上方的样本(xCb+CbW-1,yCb-1)的块、包括位于编码块的上方的样本(xCb+CbW,yCb-1)的块或包括位于编码块的上方的样本(xCb-1,yCb-1)的块中的至少一个。左相邻块可以是如下块,即,包括位于编码块的左侧的样本(xCb-1,yCb+CbH-1)的块或包括位于编码块的左侧的样本(xCb-1,yCb+CbH)的块中的至少一个。同位块可以确定为包括与同位图像内编码块的右上角相邻的样本(xCb+CbW,yCb+CbH)的块或包括位于编码块的中心的样本(xCb/2,yCb/2)的块中的任一个。
可以按预定义的顺序搜索相邻块,并且可以按预定义的顺序将三角形合并候选构造为三角形合并候选列表。例如,可以按B1、A1、B0、A0、C0、B2和C1的顺序搜索三角形合并候选来构造三角形合并候选列表。
三角形预测单元的运动信息可以基于所述三角形合并候选列表来导出。即,三角形预测单元可以共享一个三角形合并候选列表。
为了导出三角形合并单元的运动信息,可以通过比特流用信号发送用于指定三角形合并候选列表所包括的三角形合并候选中的至少一个的信息。例如,可以通过比特流用信号发送用于指定三角形合并候选中的至少一个的索引信息merge_triangle_idx。
索引信息可以指定第一三角形预测单元的合并候选和第二三角形预测单元的合并候选的组合。例如,以下表3是示出基于索引信息merge_triangle_idx的合并候选的组合的示例。
【表3】
Figure BDA0003037651470000321
Figure BDA0003037651470000331
索引信息merge_triangle_idx的值为1指示第一三角形预测单元的运动信息从索引1的合并候选导出,并且第二三角形预测单元的运动信息从索引0的合并候选导出。可以通过索引信息merge_triangle_idx确定用于导出第一三角形预测单元的运动信息的三角形合并候选和用于导出第二三角形预测单元的运动信息的三角形合并候选。
还可以根据索引信息来确定应用对角线划分的编码块的划分类型。即,索引信息可以指定第一三角形预测单元的合并候选、第二三角形预测单元的合并候选和编码块的划分方向的组合。当根据索引信息确定编码块的划分类型时,可以不对指示划分编码块的对角线的方向的信息triangle_partition_type_flag进行编码。表4关于索引信息merge_triangle_idx示出了编码块的划分类型。
【表4】
merge_triangle_idx 0 1 2 3 4 5 6 7 8
TriangleDir 0 1 1 0 0 1 1 1 0
merge_triangle_idx 9 10 11 12 13 14 15 16 17
TriangleDir 0 0 0 1 0 0 0 0 1
merge_triangle_idx 18 19 20 21 22 23 24 25 26
TriangleDir 1 1 1 0 0 1 1 1 1
merge_triangle_idx 27 28 29 30 31 32 33 34 35
TriangleDir 1 1 1 0 0 1 0 1 0
merge_triangle_idx 36 37 38 39
TriangleDir 0 1 0 0
变量TriangleDir为0指示编码块应用左三角形划分类型,并且变量TriangleDir为1指示编码块应用右三角形划分类型。通过组合表3和表4,可以设置为根据索引信息merge_triangle_idx指定第一三角形预测单元的合并候选、第二三角形预测单元的合并候选、以及编码块的划分方向的组合。
作为另一示例,可以用信号发送仅用于第一三角形预测单元和第二三角形预测单元中的任一个的索引信息,并且可以基于所述索引信息确定用于第一三角形预测单元和第二三角形预测单元中的另一个的三角形合并候选的索引。例如,可以基于表示三角形合并候选中的任一个的索引的索引信息merge_triangle_idx来确定第一三角形预测单元的三角形合并候选。另外,可以基于所述merge_triangle_idx来指定第二三角形预测单元的三角形合并候选。例如,可以在所述索引信息merge_triangle_idx加上或减去偏移量而导出第二三角形预测单元的三角形合并候选。偏移量可以是1或2等整数。例如,可以将第二三角形预测单元的三角形合并候选确定为具有在merge_traingle_idx加上1的值作为索引的三角形合并候选。当merge_triangle_idx指示三角形合并候选中索引值最大的三角形合并候选时,可以从索引0的三角形合并候选或在merge_triangle_idx减去1而获得的值作为索引的三角形合并候选中导出第二三角形预测单元的运动信息。
可替代地,可以从具有与根据索引信息指定的第一三角形预测单元的三角形合并候选相同的参考图像的三角形合并候选导出第二三角形预测单元的运动信息。其中,具有与第一三角形预测单元的三角形合并候选相同的参考图像的三角形合并候选可以表示具有与第一三角形预测单元的三角形合并候选相同的三角形合并候选的L0参考图像或L1参考图像中的至少一个。当参考图像与第一三角形预测单元的三角形合并候选相同的三角形合并候选存在多个时,可以基于合并候选是否包括双向运动信息或合并候选的索引与索引信息之间的差值中的至少一个来选择任一个。
作为另一示例,针对第一三角形预测单元和第二三角形预测单元,可以分别用信号发送索引信息。例如,可以通过比特流用信号发送用于确定第一三角形预测单元的三角形合并候选的第一索引信息1st_merge_idx和用于第二三角形预测单元的三角形合并候选的第二索引信息2nd_merge_idx。可以从基于第一索引信息1st_merge_idx确定的三角形合并候选导出第一三角形预测单元的运动信息,并且可以从基于第二索引信息2nd_merge_idx确定的三角形合并候选导出第二三角形预测单元的运动信息。
第一索引信息1st_merge_idx可以表示三角形合并候选列表所包括的三角形合并候选中的任一个索引。第一三角形预测单元的三角形合并候选可以确定为第一索引信息1st_merge_idx所指的三角形合并候选。
可以将由第一索引信息1st_merge_idx所指示的三角形合并候选设置为不可用作第二三角形预测单元的三角形合并候选。因此,第二三角形预测单元的第二索引信息2nd_merge_idx可以指示除了第一索引信息所指示的三角形合并候选以外的剩余三角形合并候选中的任一个的索引。当第二索引信息2nd_merge_idx的值小于第一索引信息1st_merge_idx的值时,第二三角形预测单元的三角形合并候选可以确定为具有第二索引信息2nd_merge_idx表示的索引信息的三角形合并候选。另一方面,当第二索引信息2nd_merge_idx的值相同或者大于第一索引信息1st_merge_idx的值时,可以将第二三角形预测单元的三角形合并候选确定为具有在第二索引信息2nd_merge_idx的值加上1的值作为索引的三角形合并候选。
可替代地,根据三角形合并候选列表所包括的三角形合并候选的数量,可以确定是否用信号发送第二索引信息。例如,三角形合并候选列表可以包括的三角形合并候选的最大数量不超过2时,可以省略用信号发送第二索引信息。当省略用信号发送第二索引信息时,可以将第一索引信息加上或减去偏移量来导出第二三角形合并候选。例如,当三角形合并候选列表可以包括的三角形合并候选的最大数量为2并且第一索引信息为索引0时,可以通过第一索引信息加上1来导出第二三角形合并候选。可替代地,当三角形合并候选列表可以包括的三角形合并候选的最大数量为2并且第一索引信息为1时,可以通过从第一索引信息减去1来导出第二三角形合并候选。
可替代地,当省略用信号发送第二索引信息时,可以将第二索引信息设置为默认值。其中,默认值可以是0。比较第一索引信息和第二索引信息,可以导出第二三角形合并候选。例如,当第二索引信息小于第一索引信息时,将索引0的合并候选设置为第二三角形合并候选,并且当第二索引信息相同或大于第一索引信息时,将索引1的合并候选设置为第二三角形合并候选。
当三角形合并候选具有单向运动信息时,将三角形合并候选的单向运动信息设置为三角形预测单元的运动信息。另一方面,当三角形合并候选具有双向运动信息时,仅将L0运动信息或L1运动信息中的任一个设置为三角形预测单元的运动信息。可以基于三角形合并候选的索引或另一三角形预测单元的运动信息来确定要获得L0运动信息或L1运动信息中的哪一个。
例如,当三角形合并候选的索引为偶数时,将三角形预测单元的L0运动信息设置为0,并且将三角形合并候选的L1运动信息设置为三角形预测单元的L1运动信息。另一方面,当三角形合并候选的索引为奇数时,将三角形预测单元的L1运动信息设置为0,并且将三角形合并候选的L0运动信息设置为0。与上述相反,当三角形合并候选的索引为偶数时,可以将三角形合并候选的L0运动信息设置为三角形预测单元的L0运动信息,并且当三角形合并候选的索引为奇数时,可以将三角形合并候选的L1运动信息设置为三角形预测单元的L1运动信息。可替代地,对于第一三角形预测单元而言,当三角形合并候选为偶数时,可以将三角形合并候选的L0运动信息设置为第一三角形预测单元的L0运动信息,另一方面,对于第二三角形预测单元而言,当三角形合并候选为奇数时,可以将三角形合并候选的L1运动信息设置为第二三角形预测单元的L1运动信息。
可替代地,当第一三角形预测单元具有L0运动信息时,可以将第二三角形预测单元的L0运动信息设置为0,并且可以将三角形合并候选的L1运动信息设置为第二三角形预测单元的L1信息。另一方面,当第一三角形预测单元具有L1运动信息时,可以将第二三角形预测单元的L1运动信息设置为0,并且可以将三角形合并候选的L0运动信息设置为第二三角形预测单元的L0运动信号。
还可以将用于导出第一三角形预测单元的运动信息的三角形合并候选列表和用于导出第二三角形预测单元的运动信息的三角形合并候选列表设置为不同。
例如,当基于与第一三角形预测单元相关的索引信息来指定用于导出三角形合并候选列表内第一三角形预测单元的运动信息的三角形合并候选时,可以使用包括除了所述索引信息所指的三角形合并候选以外的剩余三角形合并候选的三角形合并列表来导出第二三角形预测单元的运动信息。具体地,可以从剩余三角形合并候选中的任一个导出第二三角形预测单元的运动信息。
因此,第一三角形预测单元的三角形合并候选列表包括的最大三角形合并候选的数量和第二三角形预测单元的三角形合并候选列表包括的最大三角形合并候选的数量会不同。例如,当第一三角形预测单元的三角形合并候选列表包括M个合并候选时,第二三角形预测单元的三角形合并候选列表可以包括除了第一三角形预测单元的索引信息所指的三角形合并候选以外的M-1个合并候选。
作为另一示例,可以基于与编码块相邻的相邻块导出每个三角形预测单元的合并候选,并且可以通过考虑三角形预测单元的形状或位置来确定相邻块的可用性。
图37是用于描述确定每个三角形预测单元的相邻块的可用性的示例的图。
可以将不与第一三角形预测单元相邻的相邻块设置为对第一三角形预测单元不可用的相邻块,并且可以将不与第二三角形预测单元相邻的相邻块设置为对第二三角形预测单元不可用的相邻块。
例如,如在图37的(a)所示的示例中,当将左三角形划分类型应用于编码块时,可以确定与编码块相邻的相邻块中与第一三角形预测单元相邻的块A1、A0和A2可用于第一三角形预测单元,而块B0和B1不可用于第一三角形预测单元。因此,与第一三角形预测单元相关的三角形合并候选列表包括从块A1、A0和A2中导出的三角形合并候选,而不包括从块B0和B1中导出的三角形合并候选。
如在图37的(b)所示的示例中,当将左三角形划分类型应用于编码块时,可以确定与第二三角形预测单元相邻的块B0和B1可用于第二三角形预测单元,而块A1、A0和A2不可用于第二三角形预测单元。因此,与第二三角形预测单元相关的三角形合并候选列表包括从块B0和B1中导出的三角形合并候选,而不包括从块A1、A0和A2中导出的三角形合并候选。
因此,可以基于三角形预测单元的位置或编码块的划分类型中的至少一个来确定三角形预测单元可以使用的三角形合并候选的数量或三角形合并候选的范围。
作为另一示例,仅可以将合并模式应用于第一三角形预测单元和第二三角形预测单元中的任一个。另外,可以将第一三角形预测单元和第二三角形预测单元中的另一个运动信息设置为与应用所述合并模式的三角形预测单元的运动信息相同,或者可以对应用所述合并模式的三角形预测单元的运动信息进行细化来导出。
例如,可以基于三角形合并候选导出第一三角形预测单元的运动矢量和参考图像索引,并且可以对第一三角形预测单元的运动矢量进行细化来导出第二三角形预测单元的运动矢量。例如,可以在第一三角形预测单元的运动矢量{mvD1LXx,mvD1LXy}加上或减去精细运动矢量{Rx,Ry}来导出第二三角形预测单元的运动矢量。可以将第二三角形预测单元的参考图像索引设置为与第一三角形预测单元的参考图像索引相同。
可以通过比特流用信号发送用于确定表示第一三角形预测单元的运动矢量与第二三角形预测单元的运动矢量之间的差值的精细运动矢量的信息。所述信息可以包括表示精细运动矢量的大小的信息或表示精细运动矢量的符号的信息中的至少一个。
可替代地,可以基于三角形预测单元的位置、索引或应用于编码块的划分类型中的至少一个来导出精细运动矢量的符号。
作为另一示例,可以用信号发送第一三角形预测单元和第二三角形预测单元中的任一个的运动矢量和参考图像索引。可以通过对所述用信号发送的运动矢量进行细化来导出第一三角形预测单元和第二三角形预测单元中的另一个运动矢量。
例如,基于从比特流中用信号发送的信息,可以确定第一三角形预测单元的运动矢量和参考图像索引。另外,可以通过对第一三角形预测单元的运动矢量进行细化来导出第二三角形预测单元的运动矢量。例如,可以在第一三角形预测单元的运动矢量{mvD1LXx,mvD1LXy}加上或减去精细运动矢量{Rx,Ry}来导出第二三角形预测单元的运动矢量。可以将第二三角形预测单元的参考图像索引设置为与第一三角形预测单元的参考图像索引相同。
可以基于第一三角形预测单元的运动信息和第二三角形预测单元的运动信息分别对编码块执行运动预测补偿预测。在这种情况下,第一三角形预测单元和第二三角形预测单元的边界部分可能发生画质劣化。例如,第一三角形预测单元和第二三角形预测单元的边界上存在的边缘(Edge)附近会导致画质的连续性变差。为了减少边界部分的画质劣化,可以通过平滑(Smoothing)滤波或加权预测来导出预测样本。
可以根据基于第一三角形预测单元的运动信息获得的第一预测样本和基于第二三角形预测单元的运动信息获得的第二预测样本的加权和运算来导出编码块的应用对角线划分的预测样本。可替代地,从基于第一三角形预测单元的运动信息确定的第一预测块中导出第一三角形预测单元的预测样本,从基于第二三角形预测单元的运动信息确定的第二预测块中导出第二三角形预测单元的预测样本,并且可以基于第一预测块中包括的第一预测样本和第二预测块中包括的第二预测样本的加权和运算来导出位于第一三角形预测单元和第二三角形预测单元的边界区域的预测样本。例如,以下等式22示出了导出第一三角形预测单元和第二三角形预测单元的预测样本的示例。
【等式22】
P(x,y)=w1*P1(x,y)+(1-w1)*P2(x,y)
在等式22中,P1表示第一预测样本,并且P2表示第二预测样本。w1表示应用于第一预测样本的加权值,并且(1-w1)表示应用于第二预测样本的加权值。如在等式22所示的示例中,可以通过将常数减去应用于第一预测样本的加权值来导出应用于第二预测样本的加权值。
在对编码块应用左三角形划分类型时,边界区域可以包括具有相同x轴坐标和y轴坐标的预测样本。另一方面,在对编码块应用右三角形划分类型时,边界区域可以包括x轴坐标和y轴坐标之和为第一阈值以上且第二阈值以下的预测样本。
可以基于编码块的大小、编码块的形状、三角形预测单元的运动信息、三角形预测单元的运动矢量差值、参考图像的输出顺序或对角边界中第一预测样本和第二预测样本的差值中的至少一个来确定边界区域的大小。
图38和图39是示出基于第一预测样本和第二预测样本的加权和运算来导出预测样本的示例的图。图38示出了编码块应用左三角形划分类型的情况,并且图39示出了编码块应用右三角形划分类型的情况。另外,图38的(a)和图39的(a)是示出与亮度分量相关的预测状态的图,并且图38的(b)和图39的(b)是示出与色度分量相关的预测状态的图。
在所示的图中,在第一预测单元和第二预测单元的边界附近写在预测样本中的数字表示应用于第一预测样本的加权值。例如,当写在预测样本中的数字为N时,可以通过对第一预测样本应用N/8的加权值并且对第二预测样本应用(1-(N/8))的加权值来导出所述预测样本。
在非边界区域中,第一预测样本或第二预测样本可以确定为预测样本。参照图38的示例,在x轴坐标与y轴坐标之差的绝对值大于阈值的区域中属于第一三角形预测单元的区域中,可以将基于第一三角形预测单元的运动信息导出的第一预测样本确定为预测样本。另一方面,在x轴坐标和y轴坐标的差值大于阈值的区域中的属于第二三角形预测单元的区域中,可以将基于第二三角形预测单元的运动信息导出的第二预测样本确定为预测样本。
参照图39的示例,在x轴坐标和y轴坐标之和小于第一阈值的区域中,可以将基于第一三角形预测单元的运动信息导出的第一预测样本确定为预测样本。另一方面,在x轴坐标与y轴坐标之和大于第二阈值的区域中,可以将基于第二三角形预测单元的运动信息导出的第二预测样本确定为预测样本。
可以基于编码块的大小、编码块的形状或颜色分量中的至少一个来确定用于确定非边界区域的阈值。例如,当与亮度分量相关的阈值设置为N时,可以将与色度分量相关的阈值设置为N/2。
可以基于第一预测样本和第二预测样本的加权和运算来导出边界区域中包括的预测样本。在这种情况下,可以基于预测样本的位置、编码块的大小、编码块的形状或颜色分量中的至少一个来确定应用于第一预测样本和第二预测样本的加权值。
例如,如在图38的(a)所示的示例中,可以通过将相同的加权值应用于第一预测样本和第二预测样本来导出具有相同的x轴坐标和y轴坐标的位置处的预测样本。可以将应用于第一预测样本和第二预测样本的加权值比率设置为(3:1)或(1:3)来导出x轴坐标和y轴坐标的差值的绝对值为1的预测样本。另外,可以将应用于第一预测样本和第二预测样本的加权值比率设置为(7:1)或(1:7)来导出x轴坐标和y轴坐标的差值的绝对值为2的预测样本。
可替代地,如图38的(b)所示的示例中,可以通过将相同的加权值应用于第一预测样本和第二预测样本来导出具有相同的x轴坐标和y轴坐标的位置处的预测样本,并且可以通过将应用于第一预测样本和第二预测样本的加权值比设置为(7:1)或(1:7)来导出x轴坐标与y轴坐标之差的绝对值为1的预测样本。
例如,如在图39的(a)所示的示例中,可以通过将相同的加权值应用于第一预测样本和第二预测样本来导出x轴坐标和y轴坐标之和比编码块的宽度或高度小1的预测样本。可以将应用于第一预测样本和第二预测样本的加权值比率设置为(3:1)或(1:3)来导出x轴坐标和y轴坐标之和与编码块的宽度或高度相同或者小2的预测样本。可以将应用于第一预测样本和第二预测样本的加权值比率设置为(7:1)或(1:7)来导出x轴坐标和y轴坐标之和比编码块的宽度或高度大1或小3的预测样本。
可替代地,如在图39的(b)所示的示例中,可以通过将相同的加权值应用于第一预测样本和第二预测样本来导出x轴坐标和y轴坐标之和比编码块的宽度或高度小1的预测样本。可以将应用于第一预测样本和第二预测样本的加权值比率设置为(7:1)或(1:7)来导出x轴坐标和y轴坐标之和与编码块的宽度或高度相同或者小2的预测样本。
作为另一示例,可以考虑预测样本的位置或编码块的形状来确定加权值。等式23至等式25表示在对编码块应用左三角形划分类型时导出加权值的示例。等式23表示编码块为正方形时导出应用于第一预测样本的加权值的示例。
【等式23】
w1=(x-y+4)/8
在等式23中,x和y表示预测样本的位置。当编码块是非正方形时,可以如等式24或25中所示导出应用于第一预测样本的加权值。等式24示出了编码块的宽度大于高度的情况,并且等式25示出了编码块的宽度小于高度的情况。
【等式24】
w1=((x/whRatio)-y+4)/8
【等式25】
w1=(x-(y*whRatio)+4)/8
当将右三角形划分类型应用于编码块时,可以如等式26至28所示确定应用于第一预测样本的加权值。等式26表示编码块为正方形时导出应用于第一预测样本的加权值的示例。
【等式26】
w1=(CbW-1-x-y)+4)/8
在等式26中,CbW表示编码块的宽度。当编码块是非正方形时,可以如等式27或28中所示导出应用于第一预测样本的加权值。等式27示出了编码块的宽度大于高度的情况,并且等式28示出了编码块的宽度小于高度的情况。
【等式27】
w1=(CbH-1-(x/whRatio)-y)+4)/8
【等式28】
w1=(CbW-1-x-(y*whRatio)+4)/8
在等式27中,CbH表示编码块的高度。
如所示的示例,对于边界区域内的预测样本,可以通过对第一预测样本赋予比第二预测样本更大的加权值来导出包括在第一三角形预测单元中的样本,并且可以通过对第二预测样本赋予比第一预测样本更大的加权值来导出包括在第二三角形预测单元中的样本。
在对编码块应用对角线划分时,可以将编码块设置为不应用帧内预测模式和合并模式组合的组合预测模式。
帧内预测是使用当前块周边已编码/解码的重建样本来预测当前块。在这种情况下,当前块的帧内预测可以使用应用环内滤波器之前的重建样本。
帧内预测技术包括基于矩阵(Matrix)的帧内预测和考虑与周边重建样本的方向性的一般帧内预测。可以通过比特流用信号发送指示当前块的帧内预测技术的信息。所述信息可以是1比特标志。可替代地,可以基于当前块的位置、大小、形状或相邻块的帧内预测技术中的至少一个来确定当前块的帧内预测技术。例如,当当前块跨过图像边界存在时,可以将当前块设置为不应用基于矩阵的帧内预测。
基于矩阵的帧内预测是基于编码器和解码器中已存储的矩阵与当前块周边的重建样本之间的矩阵乘法来获得当前块的预测块的方法。可以通过比特流用信号发送用于指定已存储的多个矩阵中的任一个的信息。解码器可以基于所述信息和当前块的大小来确定用于当前块的帧内预测的矩阵。
一般帧内预测是基于非角度帧内预测模式或角度帧内预测模式来获得当前块的预测块的方法。以下,参考附图更详细地描述基于一般帧内预测执行帧内预测的过程。
图40是展示了根据本发明实施例的帧内预测方法的流程图。
可以确定当前块的参考样本线(S4001)。参考样本线是指从当前块的上方和/或左侧偏离第K个线中包括的参考样本的集合。可以从当前块周边已编码/解码的重建样本导出参考样本。
可以通过比特流用信号发送标识多个参考样本线中的当前块的参考样本线的索引信息。例如,可以通过比特流用信号发送用于指定当前块的参考样本线的索引信息intra_luma_ref_idx。可以以编码块为单位用信号发送所述索引信息。
多个参考样本线可以包括在当前块上方和/或左侧第一线、第二线、第三线或第四线中的至少一个。可以将多个参考样本线中由与当前块的上方相邻的行和与当前块的左侧相邻的列构成的参考样本线称为相邻参考样本线,其以外的参考样本线还可以称为非相邻参考样本线。
只有多个参考样本线中的一些可以选择为当前块的参考样本线。例如,可以将多个参考样本线中除了第三非相邻参考样本线以外的剩余参考样本线设置为候选参考样本线。表5示出了分别分配给每个候选参考样本线的索引。
【表5】
索引(intra_luma_ref_idx) 参考样本线
0 相邻参考样本线
1 第一非相邻参考样本线
2 第二非相邻参考样本线
可以设置比所描述的样本线更多的候选参考样本线,或者还可以设置更少的候选参考样本线。另外,被设置为候选参考样本线的非相邻参考样本线的数量或位置不限于所描述的示例。例如,可以将第一非相邻参考样本线和第三非相邻参考样本线设置为候选参考样本线,或者可以将第二非相邻参考样本线和第三非相邻参考样本线设置为候选参考样本线。可替代地,还可以将第一非相邻参考样本线、第二非相邻参考样本线和第三非相邻参考样本线均设置为候选参考样本线。
可以基于当前块的大小、形状、位置、子块划分与否或帧内预测模式中的至少一个来确定候选参考样本线的数量或类型。
还可以基于当前块的位置、大小、形状或相邻块的预测编码模式中的至少一个确定当前块的参考样本线。例如,当当前块与图像、图块、条带或编码树单元的边界接触时,可以将第一个参考样本线确定为当前块的参考样本线。
可替代地,当当前块为非正方形时,可以将相邻参考样本线设置为当前块的参考样本线。可替代地,当前块的宽度和高度比为阈值以上或阈值以下时,可以将相邻参考样本线确定为当前块的参考样本线。
参考样本线可以包括位于当前块上方的上方参考样本和位于当前块左侧的左侧参考样本。可以从当前块周边的重建样本导出上方参考样本和左侧参考样本。所述重建样本可以处于应用环内滤波器之前的状态。
接下来,可以确定当前块的帧内预测模式(S4002)。对于当前块的帧内预测模式而言,可以将非角度帧内预测模式或角度帧内预测模式中的至少一个确定为当前块的帧内预测模式。非角度帧内预测模式包括平面(Planer)和DC,并且角度帧内预测模式包括从左下对角线方向至右上对角线方向的33个或65个模式。
图41是示出帧内预测模式的图。
图41的(a)示出35个帧内预测模式,并且图41的(b)示出67个帧内预测模式。
还可以定义相比于图41所示的更多或更少数量的帧内预测模式。
可以基于与当前块相邻的相邻块的帧内预测模式来设置最可能模式(MPM,MostProbable Mode)。其中,相邻块可以包括与当前块的左侧相邻的左相邻块和与当前块的上方相邻的上相邻块。
可以在编码器和解码器中预定义MPM列表所包括的MPM的数量。例如,MPM的数量可以是3个、4个、5个或6个。可替代地,可以通过比特流用信号发送表示MPM的数量的信息。可替代地,可以基于相邻块的预测编码模式、当前块的大小或形状中的至少一个来确定MPM的数量。例如,当将相邻参考样本线确定为当前块的参考样本线时使用N个MPM,而当将非相邻参考样本线确定为当前块的参考样本线时可以使用M个MPM。M为小于N的整数,例如,N可以为6,M可以为5、4或3。因此,当当前块的参考样本线的索引为0且MPM标志为真时,可以将当前块的帧内预测模式确定为6个候选帧内预测模式中的任一个,而当当前块的参考样本线的索引大于0且MPM标志为真时,可以将当前块的帧内预测模式可以确定为5个候选帧内预测模式中的任一个。
可替代地,还可以使用固定数量(例如,6个或5个)的MPM候选,而与当前块的参考样本线的索引无关。
可以生成包括多个MPM的MPM列表,并且可以通过比特流用信号发送表示与当前块的帧内预测模式相同的MPM是否包括在MPM列表中的信息。所述信息为1比特标志,可以称为MPM标志。当MPM标志指示与当前块相同的MPM包括在MPM列表中时,可以通过比特流用信号发送标识MPM之一的索引信息。例如,可以通过比特流用信号发送指定多个MPM中的任一个的索引信息mpm_idx。可以将由所述索引信息指定的MPM设置为当前块的帧内预测模式。当MPM标志指示与当前块相同的MPM不包括在MPM列表中时,可以通过比特流用信号发送指示除了MPM以外的残差帧内预测模式中的任一个的残差模式信息。残差模式信息表示当向除了MPM以外的残差帧内预测模式重新分配索引时与当前块的帧内预测模式相对应的索引值。解码器可以按升序排列MPM,并且通过将残差模式信息与MPM进行比较来确定当前块的帧内预测模式。例如,当残差模式信息与MPM相同或者更小时,可以通过将残差模式信息加上1来导出当前块的帧内预测模式。
当导出当前块的帧内预测模式时,可以省略MPM中的一些与残差模式信息的比较。例如,可以将非角度帧内预测模式的MPM从比较对象中排除。当非角度帧内预测模式设置为MPM时,由于残差模式信息明确指示角度帧内预测模式,因此可以通过除了非角度帧内预测模式以外的剩余MPM与残差模式信息之间的比较来导出当前块的帧内预测模式。代替将非角度帧内预测模式从比较对象中排除,可以将残差模式信息加上非角度帧内预测模式的数量之后的结果值与MPM进行比较。
代替将默认模式设置为MPM的操作,可以通过比特流用信号发送表示当前块的帧内预测模式是否为默认模式的信息。所述信息为1比特标志,并且所述标志可以称为默认模式标志。可以仅当MPM标志指示与当前块相同的MPM包括在MPM列表中时才用信号发送默认模式标志。如上所述,默认模式可以包括平面、DC、垂直方向模式或水平方向模式中的至少一个。例如,当平面设置为默认模式时,默认模式标志可以指示当前块的帧内预测模式是否为平面。当默认模式标志指示当前块的帧内预测模式并不是默认模式时,可以将由索引信息指示的MPM之一设置为当前块的帧内预测模式。
当使用默认模式标志时,与默认模式相同的帧内预测模式可以不被设置为MPM。例如,当默认模式标志指示当前块的帧内预测模式是否为平面时,可以通过使用除了相当于平面的MPM以外的5个MPM来导出当前块的帧内预测模式。
当将多个帧内预测模式设置为默认模式时,可以进一步用信号发送指示默认模式中的任一个的索引信息。可以将当前块的帧内预测模式设置为所述索引信息所指的默认模式。
当当前块的参考样本线的索引不是0时,设置为不使用默认模式。例如,当非相邻参考样本线确定为当前块的参考样本线时,可以设置为不使用DC模式或平面模式等非角度帧内预测模式。因此,当参考样本线的索引不是0时,不用信号发送默认模式标志,并且可以将所述默认模式标志的值设置为预定义的值(即,假)。
若确定当前块的帧内预测模式,则可以基于确定的帧内预测模式来获得与当前块相关的预测样本(S4003)。
当选择DC模式时,可以基于参考样本的平均值生成与当前块相关的预测样本。具体地,可以基于参考样本的平均值生成预测块的所有样本的值。可以使用位于当前块上方的上方参考样本和位于当前块左侧的左侧参考样本中的至少一个来导出平均值。
用于导出平均值的参考样本的数量或范围可能取决于当前块的形状而不同。例如,当当前块为宽度大于高度的非正方形块时,可以仅使用上方参考样本来计算平均值。另一方面,当当前块为宽度小于高度的非正方形块时,可以仅使用左侧参考样本来计算平均值。即,当前块的宽度和高度不同时,可以仅使用与较长长度相邻的参考样本来计算平均值。可替代地,可以基于当前块的宽度和高度比率来确定是否仅使用上方参考样本来计算平均值或者仅使用左侧参考样本来计算平均值。
当选择平面模式时,可以使用水平方向预测样本和垂直方向预测样本来获得预测样本。其中,基于位于与预测样本相同的水平线上的左侧参考样本和右侧参考样本获得水平方向预测样本,并且基于位于与预测样本相同的垂直线上的上方参考样本和下方参考样本获得垂直方向预测样本。其中,可以通过复制与当前块的右上角相邻的参考样本而生成右侧参考样本,可以通过复制与当前块的左下角相邻的参考样本而生成下方参考样本。可以基于左侧参考样本和右侧参考样本的加权和运算获得水平方向预测样本,并且可以基于上方参考样本和下方参考样本的加权和运算获得垂直方向预测样本。在这种情况下,可以根据预测样本的位置来确定赋予于各参考样本的加权值。可以基于水平方向预测样本和垂直方向预测样本的平均运算或加权和运算获得预测样本。当执行加权和运算时,可以基于预测样本的位置来确定赋予于水平方向预测样本和垂直方向预测样本的加权值。
当选择角度预测模式时,可以确定表示所选的角度预测模式的预测方向(或预测角度)的参数。下表6示出了每种帧内预测模式的帧内预测参数intraPredAng。
【表6】
Figure BDA0003037651470000411
表6示出了当定义了35个帧内预测模式时具有2至34中任一个的索引的每个帧内预测模式的帧内方向参数。当定义了超过33种角度帧内预测模式时,表6进一步细分为设置每个角度帧内预测模式的帧内方向参数。
在将当前块的上方参考样本和左侧参考样本排成一行之后,可以基于帧内方向参数的值获得预测样本。在这种情况下,当帧内方向参数的值为负数时,可以将左侧参考样本和上方参考样本排成一行。
图42和图43是示出将参考样本排成一行的一维排列的示例的图。
图42示出了在垂直方向上排列参考样本的垂直方向一维阵列的示例,并且图43示出了在水平方向上排列参考样本的水平方向一维阵列的示例。将在定义35个帧内预测模式的假设下描述图42和43的实施例。
当帧内预测模式索引为11至18中的任一个时,可以应用以逆时针方向旋转上方参考样本的水平方向一维排列,并且当帧内预测模式索引为19至25中的任一个时,可以应用以顺时针方向旋转左侧参考样本的垂直方向一维排列。将参考样本排成一行时,可以考虑帧内预测模式角度。
基于帧内方向参数可以确定参考样本确定参数。参考样本确定参数可以包括用于指定参考样本的参考样本索引和用于确定应用于参考样本的加权值的加权值参数。
参考样本索引iIdx和加权值参数ifact可以分别通过以下等式30和等式31获得。
【等式30】
iIdx=(y+1)*Pang/32
【等式31】
ifact=[(y+1)*Pang]&31
在等式30和31中,Pang表示帧内方向参数。根据参考样本索引iIdx指定的参考样本相当于整数像素(Integer pel)。
为了导出预测样本,可以指定一个以上的参考样本。具体地,可以考虑预测模式的斜率来指定用于导出预测样本的参考样本的位置。例如,可以使用参考样本索引iIdx来指定用于导出预测样本的参考样本。
在这种情况下,当帧内预测模式的斜率不由一个参考样本表示时,可以通过对多个参考样本进行插值来生成预测样本。例如,当帧内预测模式的斜率为预测样本与第一参考样本之间的斜率和预测样本与第二参考样本之间的斜率之间的值时,可以对第一参考样本和第二参考样本进行插值来获得预测样本。即,当跟随帧内预测角度的角线(AngularLine)不经过位于整数像素的参考样本时,可以对与所述角线经过的位置的左右或上下相邻的参考样本进行插值来获得预测样本。
以下等式32表示基于参考样本来获得预测样本的示例。
【等式32】
P(x,y)=((32-ifact)/32)*Ref_1D(x+iIdx+1)+(ifact/32)*Ref_1D(x+iIdx+2)
在等式32中,P表示预测样本,并且Ref_1D表示一维排列的参考样本中的任何一个。在这种情况下,可以根据预测样本的位置(x,y)和参考样本索引iIdx确定参考样本的位置。
当帧内预测模式的斜率可表示为一个参考样本时,可以将加权值参数ifact设置为0。因此,等式32可以简化为如以下等式33所示。
【等式33】
P(x,y)=Ref_1D(x+iIdx+1)
还可以基于多个帧内预测模式对当前块执行帧内预测。例如,可以针对不同预测样本导出帧内预测模式,并且可以基于分配到各个预测样本的帧内预测模式来导出预测样本。
可替代地,可以针对不同区域导出帧内预测模式,并且可以基于分配到各个区域的帧内预测模式对各区域执行帧内预测。其中,所述区域可以包括至少一个样本。可以基于当前块的大小、形状或帧内预测模式中的至少一个自适应地确定所述区域的大小或形状中的至少一个。可替代地,可以在编码器和解码器中预定义区域的大小或形状中的至少一个,而与当前块的大小或形状无关。
可替代地,可以分别基于多个帧内预测执行帧内预测,并且可以基于通过多次的帧内预测获得的多个预测样本的平均运算或加权和运算导出最终预测样本。例如,可以基于第一帧内预测模式执行帧内预测来获得第一预测样本,并且可以基于第二帧内预测模式执行帧内预测来获得第二预测样本。之后,可以基于第一预测样本和第二预测样本之间的平均运算或加权和运算来获得最终预测样本。在这种情况下,可以考虑第一帧内预测模式是否为非角度/角度预测模式、第二帧内预测模式是否为非角度/角度预测模式或相邻块的帧内预测模式中的至少一个来确定分别分配于第一预测样本和第二预测样本的加权值。
多个帧内预测模式可以是非角度帧内预测模式和角度预测模式的组合、角度预测模式的组合或非角度预测模式的组合。
图44是示出在角度帧内预测模式与平行于x轴的直线之间形成的角度的图。
如图44所示的示例中,角度预测模式可以存在于左下对角线方向与右上对角线方向之间。当被描述为x轴与角度预测模式形成的角度时,角度预测模式可以存在于45度(左下对角方向)至-135度(右侧上方对角方向)之间。
如果当前块是非正方形形状,则根据当前块的帧内预测模式,使用位于跟随帧内预测角度的角线上的参考样本中更远离预测样本的参考样本而不是更接近预测样本的参考样本来导出预测样本。
图45是示出当当前块为非正方形状时获得预测样本的示例的图。
例如,如在图45的(a)所示的示例中,假设当前块是宽度大于高度的非正方形形状,并且当前块的帧内预测模式是角度在0度至45度之间的角度帧内预测模式。在这种情况下,在导出当前块的右侧列附近的预测样本A时,会发生使用位于所述角度的角度模式上的参考样本中远离所述预测样本的左侧参考样本L来代替接近所述预测样本的上方参考样本T的情况。
作为另一示例,如在图45的(b)所示的示例中,假设当前块是高度大于宽度的非正方形形状,并且当前块的帧内预测模式是角度在-90度至-135度之间的角度帧内预测模式。在上述情况下,在导出当前块的下方行附近的预测样本A时,会发生使用位于所述角度的角度模式上的参考样本中远离所述预测样本的上方参考样本T来代替接近所述预测样本的左侧参考样本L的情况。
为了解除如上问题,当当前块为非正方形时,可以将当前块的帧内预测模式替换为反方向的帧内预测模式。因此,对于非正方形形状的块,可以使用具有比图41所示的角度预测模式的角度更大或更小的角度的角度预测模式。这种角度帧内预测模式可以被定义为广角帧内预测模式。广角帧内预测模式表示不落入45度至-135度范围内的角度帧内预测模式。
图46是示出广角帧内预测模式的图。
在图46所示的示例中,索引为-1至-14的帧内预测模式和索引为67至80的帧内预测模式表示广角帧内预测模式。
尽管在图46中示出了具有大于45度的角度的14个广角帧内预测模式(-1至-14)和具有小于-135度的角度的14个广角帧内预测模式(67至80),但可以定义更多或更少数量的广角帧内预测模式。
当使用广角帧内预测模式时,上方参考样本的长度设置为2W+1,并且左侧参考样本的长度设置为2H+1。
当使用广角帧内预测模式时,可以使用参考样本T预测图45的(a)所示的样本A,并且可以使用参考样本L预测图45的(b)所示的样本A。
通过将现有帧内预测模式和N个广角帧内预测模式相加,可以使用总共67+N个帧内预测模式。例如,表7示出了当定义了20个广角帧内预测模式时帧内预测模式的帧内方向参数。
【表7】
PredModeIntra -10 -9 -8 -7 -6 -5 -4 -3 -2
intraPredAngle 114 93 79 68 60 54 49 45 39
PredModeIntra -1 2 3 4 5 6 7 8 9
intraPredAngle 35 32 29 26 23 21 19 17 15
PredModeIntra 10 11 12 13 14 15 16 17 18
intraPredAngle 13 11 9 7 5 3 2 1 0
PredModeIntra 19 20 21 22 23 24 25 26 27
intraPredAngle -1 -2 -3 -5 -7 -9 -11 -13 -15
PredModeIntra 28 29 30 31 32 33 34 35 36
intraPredAngle -17 -19 -21 -23 -26 -29 -32 -29 -26
PredModeIntra 37 38 39 40 41 42 43 44 45
intraPredAngle -23 -21 -19 -17 -15 -13 -11 -9 -7
PredModeIntra 46 47 48 49 50 51 52 53 54
intraPredAngle -5 -3 -2 -1 0 1 2 3 5
PredModeIntra 55 56 57 58 59 60 61 62 63
intraPredAngle 7 9 11 13 15 17 19 21 23
PredModeIntra 64 65 66 67 68 69 70 71 72
intraPredAngle 26 29 32 35 39 45 49 54 60
PredModeIntra 73 74 75 76
intraPredAngle 68 79 93 114
当当前块是非正方形形状的并且在步骤S4002中获取的当前块的帧内预测模式落入变换范围内时,可以将当前块的帧内预测模式变换为广角帧内预测模式。可以基于当前块的大小、形状或比率中的至少一个来确定所述变换范围。其中,所述比率可以表示当前块的宽度和高度之间的比率。
当当前块为宽度大于高度的非正方形时,可以将变换范围设置为右侧上方对角方向的帧内预测模式索引(例如,66)至(右侧上方对角方向的帧内预测模式的索引-N)。其中,N可以基于当前块的比率来确定。当当前块的帧内预测模式落入变换范围内时,可以将所述帧内预测模式变换为广角帧内预测模式。可以从所述帧内预测模式减去预定义的值来执行所述变换,所述预定义的值可以是除了广角帧内预测模式之外的帧内预测模式的总数量(例如,67)。
根据所述实施例,可以将第66个至第53个之间的帧内预测模式分别变换为第-1个至第-14个之间的广角帧内预测模式。
当当前块为高度大于宽度的非正方形时,可以将变换范围设置为从左下对角方向的帧内预测模式索引(例如,2)至(左下对角方向的帧内预测模式的索引+M)。其中,M可以基于当前块的比率来确定。当当前块的帧内预测模式落入变换范围内时,可以将所述帧内预测模式变换为广角帧内预测模式。可以在所述帧内预测模式加上预定义的值来执行所述变换,预定义的值可以是除了广角帧内预测模式之外的角度帧内预测模式的总数量(例如,65)。
根据所述实施例,可以将第2个至第15个之间的帧内预测模式分别变换为第67个至第80个之间的广角帧内预测模式。
以下,将落入变换范围内的帧内预测模式称为广角帧内替换预测模式。
变换范围可以基于当前块的比率来确定。例如,表8和表9各自示出当定义了除广角帧内预测模式之外的35个帧内预测模式和67个帧内预测模式时的变换范围。
【表8】
条件 替换帧内预测模式
W/H=2 模式2,3,4
W/H>2 模式2,3,4,5,6
W/H=1
H/W=1/2 模式32,33,34
H/W<1/2 模式30,31,32,33,34
【表9】
条件 替换帧内预测模式
W/H=2 模式2,3,4,5,6,7
W/H>2 模式2,3,4,5,6,7,8,9,10,11
W/H=1
H/W=1/2 模式61,62,63,64,65,66
H/W<1/2 模式57,58,59,60,61,62,63,64,65,66
如表8和表9中所示的示例,落入变换范围中的广角帧内替换预测模式的数量可以根据当前块的比率而不同。
通过细分当前块的比率,可以如表10所示设置变换范围。
【表10】
Figure BDA0003037651470000441
Figure BDA0003037651470000451
当将非相邻参考样本线确定为当前块的参考样本线时,或者当使用用于选择多个参考样本线中的任一个的多线帧内预测编码方法时,可以设置为不使用广角帧内预测模式。即,即使当前块为非正方形,并且当前块的帧内预测模式落入变换范围内,也可能不将当前块的帧内预测模式变换为广角帧内预测模式。
可替代地,当将当前块的帧内预测模式确定为广角帧内预测模式时,可以将非相邻参考样本线设置为不可用作当前块的参考样本线,或者设置为不使用用于选择多个参考样本线中的任一个的多线帧内预测编码方法。当不使用多线帧内预测编码方法时,可以将相邻参考样本线设置为当前块的参考样本线。
当不使用广角帧内预测模式时,将refW和refH设置为nTbW与nTbH之和。因此,除了左上参考样本以外,与当前块的距离为i的非相邻参考样本可以包括(nTbW+nTbH+offsetX[i])个上方参考样本和(nTbW+nTbH+offsetY[i])个左侧参考样本。即,与当前块的距离为i的非相邻参考样本可以包括(2nTbW+2nTbH+offsetX[i]+offsetY[i]+1)个参考样本。例如,whRatio的值大于1时,将offsetX的值设置为大于offsetY的值。例如,offsetX的值设置为1,offsetY的值设置为0。另一方面,whRatio的值小于1时,将offsetY的值设置为大于offsetX的值。例如,将offsetX的值设置为0,将offsetY的值设置为1。
随着除现有帧内预测模式之外还使用广角帧内预测模式,用于对广角帧内预测模式进行编码所需的资源会增加,因此可能降低编码效率。因此,代替直接对广角帧内预测模式进行编码,而是对与广角帧内预测模式相关的替换帧内预测模式进行编码,从而提高编码效率。
例如,当使用第67个广角帧内预测模式对当前块进行编码时,可以将作为第67个广角替换帧内预测模式的编号2编码为当前块的帧内预测模式。另外,当使用第-1个广角帧内预测模式对当前块进行编码时,可以将作为第-1个广角替换帧内预测模式的编号66编码为当前块的帧内预测模式。
解码器可以对当前块的帧内预测模式进行解码,并确定解码的帧内预测模式是否包括在变换范围中。解码的帧内预测模式为广角替换帧内预测模式时,可以将帧内预测模式变换为广角帧内预测模式。
可替代地,当以广角帧内预测模式对当前块进行编码时,还可以直接对广角帧内预测模式进行编码。
帧内预测模式的编码可以基于所述MPM列表实现。具体地,以广角帧内预测模式对相邻块进行编码时,可以基于与广角帧内预测模式相对应的广角替换帧内预测模式来设置MPM。
可以通过将原始图像与预测图像相减来导出所导出的残差图像。在这种情况下,将残差图像变更为频域时,即使移除频率分量中的高频率分量,也不会大幅降低视频的主观画质。因此,如果将高频率分量的值转换为较小的值或者将高频率分量的值设置为0,则具有在不引起明显视觉失真的情况下提高压缩效率的效果。反映以上特性,可以对当前块进行变换以将残差图像分解为2维频率分量。可以使用离散余弦变换(DCT,DiscreteCosine Transform)或离散正弦变换(DST,Discrete Sine Transform)等变换技术来执行所述变换。
DCT使用余弦变换将残差图像分解(或变换)为2维频率分量,而DST使用正弦变换将残差图像分解(或变换)为2维频率分量。作为残差图像的变换结果,频率分量可以表示为基本图像。例如,对大小为N×N的块执行DCT变换时,可以获得N2个基本图案分量。可以通过变换来获得大小为N×N的块中包括的各个基本图案分量的大小。根据使用的变换技术,可以将基本图案分量的大小称为DCT系数或DST系数。
变换技术DCT主要用于对非0的低频率分量分布较多的图像进行变换。变换技术DST主要用于高频率分量分布较多的图像。
还可以使用DCT或DST以外的变换技术来变换残差图像。
以下,将残差图像变换为2维频率分量的过程称为2维图像变换。另外,将通过变换而获得的基本图案分量的大小称为变换系数。例如,变换系数可指DCT系数或DST系数。当同时应用稍后要描述的主变换和二次变换时,变换系数可以表示通过二次变换的结果生成的基本图案分量的大小。
可以以块为单位确定变换技术。可以基于当前块的预测编码模式、当前块的大小或当前块的形状中的至少一个来确定变换技术。例如,当以帧内预测模式对当前块进行编码并且当前块的大小小于N×N时,可以使用变换技术DST执行变换。另一方面,在不能满足所述条件时,可以使用变换技术DCT执行变换。
在残差图像中,还可以对一部分块不执行2维图像变换。不执行2维图像变换可称为变换跳过(Transform Skip)。当应用变换跳过时,可以将量化应用于未执行变换的残差值。
在使用DCT或DST对当前块进行变换之后,可以再次对变换的当前块进行变换。在这种情况下,可以将基于DCT或DST的变换定义为主变换,并且将对应用主变换的块再次进行变换的过程称为二次变换。
主变换可以使用多个变换核候选中的任一个来执行。例如,可以使用DCT2、DCT8或DCT7中的任一个来执行主变换。
针对水平方向和垂直方向还可以使用不同的变换核。还可以通过比特流用信号发送表示水平方向的变换核和垂直方向的变换核的组合的信息。
主变换和二次变换的执行单元会不同。例如,可以对8×8块执行主变换,并且可以对变换的8×8块中的大小为4×4的子块执行二次变换。在这种情况下,还可以将不执行二次变换的剩余区域的变换系数设置为0。
可替代地,可以对4×4块执行主变换,并且可以对包括变换的4×4块的大小为8×8的区域可执行二次变换。
可以通过比特流用信号发送表示是否执行二次变换的信息。
可以在解码器中执行二次变换的逆变换(第二逆变换),并且可以对其结果执行主变换的逆变换(第一逆变换)。作为第二逆变换和第一逆变换的执行结果,可以获得当前块的残差信号。
量化用于减少块的能量,并且量化过程包括将变换系数除以特定常数的过程。所述常数可以由量化参数来导出,并且量化参数可以定义为1至63之间的值。
若在编码器中执行变换和量化,则解码器可以通过逆量化和逆变换来获得残差块。解码器可以通过将预测块和残差块相加来获得当前块的重建块。
若获得当前块的重建块,则可以通过环内滤波(In-loop filtering)来减少在量化和编码过程中产生的信息丢失。环内滤波器可以包括去块滤波器(Deblocking filter)、样本自适应偏移滤波器(Sample Adaptive Offset filter,SAO)或自适应环路滤波器(Adaptive Loop Filter,ALF)中的至少一个。以下,将应用环内滤波器之前的重建块称为第一重建块,并且将应用环内滤波器之后的重建块称为第二重建块。
可以对第一重建块应用去块滤波器、SAO或ALF中的至少一个来获得第二重建块。在这种情况下,可以在应用去块滤波器之后应用SAO或ALF。
去块滤波器用于缓解通过以块为单位执行量化时在块的边界中产生的画质劣化(块效应,Blocking Artifact)。为了应用去块滤波器,可以确定第一重建块与相邻重建块之间的块强度(Blocking Strength,BS)。
图47是示出确定块强度的过程的流程图。
如图47所示的示例中,P表示第一重建块,并且Q表示相邻重建块。其中,相邻重建块可以与当前块的左侧或上方相邻。
在图47所示的示例中,示出了考虑P和Q的预测编码模式、是否包括非零变换系数、是否使用相同的参考图像执行帧间预测、以及运动矢量的差值是否大于或等于阈值来确定块强度。
基于块强度,可以确定是否应用了去块滤波器。例如,当块强度为0时,可能不执行滤波。
SAO用于缓解在频域中执行量化时产生的振铃效应(Ringing Artifact)。可以通过加上或减去考虑第一重建图像的图案而确定的偏移量来执行SAO。偏移量的确定方法包括边偏移(Edge Offset,EO)或边带偏移(Band Offset)。EO表示根据周边像素的图案来确定当前样本的偏移的方法。BO表示对区域内具有类似的亮度值的像素的集合应用共同的偏移的方法。具体地,可以将像素亮度区分为32个均等的区间,并且可以将具有类似的亮度值的像素设置为一个集合。例如,可以将32个带中相邻的4个带设置为一组,并且可以对属于4个带的样本应用相同的偏移量。
ALF是对第一重建图像或应用去块滤波器的重建图像应用预定义的大小/形状的滤波器来生成第二重建图像的方法。以下等式34表示应用ALF的示例。
【等式34】
Figure BDA0003037651470000471
可以以图像、编码树单元、编码块、预测块或变换块为单位来选择预定义的滤波器候选中的任一个。每个滤波器候选的大小或形状中的任一个可以不同。
图48是示出了预定义的滤波器候选的图。
如在图48所示的示例中,可以选择5×5、7×7和9×9菱形中的至少一种。
针对色度分量只能使用大小为5×5的菱形。
将集中于解码过程或编码过程描述的实施例用于编码过程或解码过程也包括在本发明的范围内。以与所描述的不同的顺序来改变按预定顺序描述的多个实施例也包括在本发明的范围内。
已经基于一系列的步骤或流程图来描述实施例,但这并不限定发明的时间序列顺序,并且根据需要可同时执行或者按另外顺序执行。另外,在上述实施例中,构成框图的结构要素(例如,单元、模块等)还可以分别实现为硬件设备或软件,并且多个结构要素可以组合实施为单个硬件设备或软件。所述实施例可以通过程序指令的形式实施,所述程序指令可以由各种计算机部件执行并记录在计算机可读记录介质中。所述计算机可读记录介质可以单独地或组合地包括程序指令、数据文件、数据结构等。计算机可读记录介质的示例可以包括硬盘、软盘和磁带等磁性介质、CD-ROM、DVD等光学记录介质、如软式光盘(flopticaldisk)的磁-光介质(magneto-optical media)和ROM、RAM、闪速存储器等等以存储程序指令并执行该指令的方式专门配置的硬件设备。所述硬件设备可以被配置为作为一个或多个软件模块进行操作以执行根据本发明的处理,反之亦然。
【工业实用性】
本发明可以应用于对视频进行编码/解码的电子设备。

Claims (15)

1.一种视频解码方法,包括以下步骤:确定是否将编码块划分为第一预测单元和第二预测单元;
当确定对所述编码块进行划分时,确定所述编码块的划分类型;
导出所述编码块的所述第一预测单元的第一运动信息和所述第二预测单元的第二运动信息;以及
基于所述第一运动信息和所述第二运动信息,获得所述编码块中的预测样本,其中,
根据第一合并候选获取所述第一预测单元的所述第一运动信息,所述第一合并候选是由第一索引信息在合并候选列表所包括的多个合并候选中指定的,
根据第二合并候选获取所述第二预测单元的所述第二运动信息,所述第二合并候选是由第二索引信息在所述合并候选列表所包括的多个合并候选中指定的。
2.根据权利要求1所述的视频解码方法,其中,
当所述第二索引信息的值等于或大于所述第一索引信息的值时,所述第二合并候选具有通过将所述第二索引信息的值加1而获得的值作为索引。
3.根据权利要求1所述的视频解码方法,其中,
当所述第二索引信息的值小于所述第一索引信息的值时,将所述第二索引信息的值作为所述第二合并候选的索引。
4.根据权利要求1所述的视频解码方法,其中,
当所述预测样本包括在所述第一预测单元和所述第二预测单元的边界区域中时,根据基于所述第一运动信息导出的第一预测样本和基于所述第二运动信息导出的第二预测样本的加权和运算来导出所述预测样本。
5.根据权利要求4所述的视频解码方法,其中,
基于所述预测样本的x轴坐标和y轴坐标来确定应用于所述第一预测样本的第一加权值。
6.根据权利要求5所述的视频解码方法,其中,
通过从常数减去所述第一加权值来导出应用于所述第二预测样本的第二加权值。
7.根据权利要求4所述的视频解码方法,其中,
基于所述编码块的大小或所述编码块的形状中的至少一项来确定所述边界区域的大小。
8.一种视频编码方法,包括以下步骤:确定是否将编码块划分为第一预测单元和第二预测单元;
当确定对所述编码块进行划分时,确定所述编码块的划分类型;
导出所述编码块的所述第一预测单元的第一运动信息和所述第二预测单元的第二运动信息;以及
基于所述第一运动信息和所述第二运动信息,获得所述编码块中的预测样本,其中,
根据合并候选列表所包括的多个合并候选中的第一合并候选来获取所述第一预测单元的所述第一运动信息,
根据所述合并候选列表所包括的多个合并候选中的第二合并候选来获取所述第二预测单元的所述第二运动信息,
分别对用于指定所述第一合并候选的第一索引信息和用于指定所述第二合并候选的第二索引信息进行编码。
9.根据权利要求8所述的视频编码方法,其中,
当所述第二合并候选的索引大于所述第一合并候选的索引时,使用通过从所述第二合并候选的索引减去1而获得的值来对所述第二索引信息进行编码。
10.根据权利要求8所述的视频编码方法,其中,
当所述第二合并候选的索引小于所述第一合并候选的索引时,将所述第二索引信息编码为所述第二合并候选的索引值。
11.根据权利要求8所述的视频编码方法,其中,
当所述预测样本包括在所述第一预测单元和所述第二预测单元的边界区域中时,根据基于所述第一运动信息导出的第一预测样本和基于所述第二运动信息导出的第二预测样本的加权和运算来导出所述预测样本。
12.根据权利要求11所述的视频编码方法,其中,
基于所述预测样本的x轴坐标和y轴坐标来确定应用于所述第一预测样本的第一加权值。
13.根据权利要求12所述的视频编码方法,其中,
通过从常数减去所述第一加权值来导出应用于所述第二预测样本的第二加权值。
14.根据权利要求11所述的视频编码方法,其中,
基于所述编码块的大小或所述编码块的形状中的至少一项来确定所述边界区域的大小。
15.一种视频解码设备,包括帧间预测部,所述帧间预测部用于:确定是否将编码块划分为第一预测单元和第二预测单元;当确定对所述编码块进行划分时,确定所述编码块的划分类型;导出所述编码块的所述第一预测单元的第一运动信息和所述第二预测单元的第二运动信息;以及基于所述第一运动信息和所述第二运动信息获得所述编码块中的预测样本,
根据第一合并候选获取所述第一预测单元的所述第一运动信息,所述第一合并候选是由第一索引信息在合并候选列表所包括的多个合并候选中指定的,根据第二合并候选获取所述第二预测单元的所述第二运动信息,所述第二合并候选是由第二索引信息在所述合并候选列表所包括的多个合并候选中指定的。
CN201980070594.4A 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备 Pending CN112970260A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202310271807.8A CN116248870A (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备
CN202110668308.3A CN113395519B (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备
CN202310271780.2A CN116248869A (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
KR10-2018-0136255 2018-11-08
KR20180136255 2018-11-08
KR20180148890 2018-11-27
KR20180149064 2018-11-27
KR10-2018-0149064 2018-11-27
KR10-2018-0148890 2018-11-27
PCT/KR2019/015096 WO2020096388A1 (ko) 2018-11-08 2019-11-07 영상 신호 부호화/복호화 방법 및 이를 위한 장치

Related Child Applications (3)

Application Number Title Priority Date Filing Date
CN202310271807.8A Division CN116248870A (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备
CN202110668308.3A Division CN113395519B (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备
CN202310271780.2A Division CN116248869A (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备

Publications (1)

Publication Number Publication Date
CN112970260A true CN112970260A (zh) 2021-06-15

Family

ID=70611034

Family Applications (4)

Application Number Title Priority Date Filing Date
CN202310271807.8A Pending CN116248870A (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备
CN201980070594.4A Pending CN112970260A (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备
CN202110668308.3A Active CN113395519B (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备
CN202310271780.2A Pending CN116248869A (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202310271807.8A Pending CN116248870A (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN202110668308.3A Active CN113395519B (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备
CN202310271780.2A Pending CN116248869A (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备

Country Status (18)

Country Link
US (3) US11470312B2 (zh)
EP (2) EP3876539B1 (zh)
JP (2) JP7430721B2 (zh)
KR (1) KR20200054104A (zh)
CN (4) CN116248870A (zh)
BR (1) BR112021008298A2 (zh)
CA (2) CA3207984A1 (zh)
CL (1) CL2021001128A1 (zh)
DK (1) DK3876539T3 (zh)
FI (1) FI3876539T3 (zh)
IL (2) IL307153A (zh)
MX (1) MX2021005504A (zh)
PH (1) PH12021550966A1 (zh)
PL (1) PL3876539T3 (zh)
PT (1) PT3876539T (zh)
SG (1) SG11202104433RA (zh)
WO (1) WO2020096388A1 (zh)
ZA (1) ZA202103439B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10742975B2 (en) * 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
US10778977B2 (en) * 2018-12-05 2020-09-15 Qualcomm Incorporated Triangle motion information for video coding
BR112021010706A2 (pt) * 2018-12-07 2021-11-30 Samsung Electronics Co Ltd Método de decodificação de vídeo, método de codificação de vídeo, e dispositivo de decodificação de vídeo
WO2020130716A1 (ko) * 2018-12-21 2020-06-25 삼성전자주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
US11671603B2 (en) * 2018-12-28 2023-06-06 Electronics Telecommunications Research Institute Image encoding/decoding method and apparatus, and recording medium storing bitstream
US11032574B2 (en) * 2018-12-31 2021-06-08 Tencent America LLC Method and apparatus for video coding
US10742972B1 (en) * 2019-03-08 2020-08-11 Tencent America LLC Merge list construction in triangular prediction
WO2022177380A1 (ko) * 2021-02-18 2022-08-25 현대자동차주식회사 인터 예측 기반의 비디오 부호화 및 복호화
JP2023156064A (ja) * 2022-04-12 2023-10-24 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP2023156061A (ja) * 2022-04-12 2023-10-24 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP2023156062A (ja) * 2022-04-12 2023-10-24 Kddi株式会社 画像復号装置、画像復号方法及びプログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012140821A1 (ja) 2011-04-12 2012-10-18 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置
GB2554828B (en) * 2011-10-18 2018-10-24 Kt Corp Method for encoding image, method for decoding image, image encoder, and image decoder
US20130114717A1 (en) 2011-11-07 2013-05-09 Qualcomm Incorporated Generating additional merge candidates
PL3716621T3 (pl) 2012-04-12 2022-01-24 Jvckenwood Corporation Urządzenie do kodowania ruchomych obrazów, sposób kodowania ruchomych obrazów, program kodujący ruchome obrazy oraz urządzenie do dekodowania ruchomych obrazów, sposób dekodowania ruchomych obrazów, program dekodujący ruchome obrazy
US10182240B2 (en) 2014-11-18 2019-01-15 Mediatek Inc. Method of bi-prediction video coding based on motion vectors from uni-prediction and merge candidate
US10271064B2 (en) * 2015-06-11 2019-04-23 Qualcomm Incorporated Sub-prediction unit motion vector prediction using spatial and/or temporal motion information
WO2017086738A1 (ko) * 2015-11-19 2017-05-26 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
KR20170058838A (ko) 2015-11-19 2017-05-29 한국전자통신연구원 화면간 예측 향상을 위한 부호화/복호화 방법 및 장치
CN108293132A (zh) 2015-11-24 2018-07-17 三星电子株式会社 图像编码方法和装置以及图像解码方法和装置
WO2017123133A1 (en) * 2016-01-12 2017-07-20 Telefonaktiebolaget Lm Ericsson (Publ) Video coding using hybrid intra prediction
US10560718B2 (en) 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
WO2018034373A1 (ko) * 2016-08-19 2018-02-22 엘지전자(주) 영상 처리 방법 및 이를 위한 장치
US10715827B2 (en) * 2017-01-06 2020-07-14 Mediatek Inc. Multi-hypotheses merge mode
KR20180084659A (ko) * 2017-01-16 2018-07-25 세종대학교산학협력단 영상의 부호화/복호화 방법 및 장치
CN116233416A (zh) 2017-01-16 2023-06-06 世宗大学校产学协力团 影像编码/解码方法
CN116866557A (zh) * 2017-01-16 2023-10-10 世宗大学校产学协力团 影像解码/编码方法以及传送比特流的方法
CN111886861B (zh) * 2018-02-22 2023-12-22 Lg电子株式会社 根据图像编码系统中的块划分结构的图像解码方法和设备
CN111107356B (zh) * 2018-10-27 2023-11-10 华为技术有限公司 图像预测方法及装置
WO2020094051A1 (en) * 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Signaling of side information for inter prediction with geometric partitioning
KR102638710B1 (ko) 2018-11-22 2024-02-19 후아웨이 테크놀러지 컴퍼니 리미티드 인터 예측을 위한 인코더, 디코더 및 대응 방법
US10778977B2 (en) 2018-12-05 2020-09-15 Qualcomm Incorporated Triangle motion information for video coding
US10893298B2 (en) * 2018-12-12 2021-01-12 Tencent America LLC Method and apparatus for video coding

Also Published As

Publication number Publication date
CN116248870A (zh) 2023-06-09
CA3207984A1 (en) 2020-05-14
SG11202104433RA (en) 2021-05-28
CN113395519A (zh) 2021-09-14
JP7430721B2 (ja) 2024-02-13
EP4274233A3 (en) 2023-11-22
PL3876539T3 (pl) 2024-04-15
ZA202103439B (en) 2022-07-27
CN116248869A (zh) 2023-06-09
CA3118269A1 (en) 2020-05-14
CL2021001128A1 (es) 2021-11-19
IL282761B2 (en) 2024-04-01
PH12021550966A1 (en) 2021-12-06
IL307153A (en) 2023-11-01
CA3118269C (en) 2023-10-03
EP4274233A2 (en) 2023-11-08
PT3876539T (pt) 2024-02-06
BR112021008298A2 (pt) 2021-08-03
JP2022509024A (ja) 2022-01-20
EP3876539A4 (en) 2021-12-29
KR20200054104A (ko) 2020-05-19
MX2021005504A (es) 2021-06-18
US20210337196A1 (en) 2021-10-28
EP3876539B1 (en) 2023-12-27
WO2020096388A1 (ko) 2020-05-14
DK3876539T3 (da) 2024-02-12
US20220337833A1 (en) 2022-10-20
US20220337832A1 (en) 2022-10-20
FI3876539T3 (fi) 2024-02-09
CN113395519B (zh) 2023-04-07
US11882282B2 (en) 2024-01-23
US11470312B2 (en) 2022-10-11
IL282761A (en) 2021-06-30
EP3876539A1 (en) 2021-09-08
AU2019375315A1 (en) 2021-06-03
IL282761B1 (en) 2023-12-01
JP2024045337A (ja) 2024-04-02

Similar Documents

Publication Publication Date Title
CN113329224B (zh) 视频信号编码/解码方法以及用于所述方法的设备
CN113395519B (zh) 视频信号编码/解码方法以及用于所述方法的设备
CN113347429B (zh) 图像信号编码/解码方法及其设备
CN113395517B (zh) 视频信号编码/解码方法及其设备
CN113382234B (zh) 视频信号编码/解码方法以及用于所述方法的设备
CN113507603B (zh) 图像信号编码/解码方法及其设备
CN113302921A (zh) 视频信号编码/解码方法以及用于所述方法的设备
CN112840647A (zh) 视频信号编码/解码方法以及用于所述方法的设备
CN113039799B (zh) 图像信号编码/解码方法及其设备
CN113574878A (zh) 用于对视频信号进行编码/解码的方法及其设备
CN112470479A (zh) 图像信号编码/解码方法及其装置
KR20230114250A (ko) 영상 신호 부호화/복호화 방법 및 이를 위한 장치
CN116112684A (zh) 用于对图像信号进行编码/解码的方法及其装置
CN112956198A (zh) 用于对图像信号进行编码/解码的方法及其装置
CN113287310A (zh) 用于对图像信号进行编码/解码方法及其装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40044923

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination