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

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

Info

Publication number
CN113329224B
CN113329224B CN202110610866.4A CN202110610866A CN113329224B CN 113329224 B CN113329224 B CN 113329224B CN 202110610866 A CN202110610866 A CN 202110610866A CN 113329224 B CN113329224 B CN 113329224B
Authority
CN
China
Prior art keywords
block
prediction
current block
mode
prediction mode
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.)
Active
Application number
CN202110610866.4A
Other languages
English (en)
Other versions
CN113329224A (zh
Inventor
李培根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Publication of CN113329224A publication Critical patent/CN113329224A/zh
Application granted granted Critical
Publication of CN113329224B publication Critical patent/CN113329224B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/124Quantisation
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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/96Tree coding, e.g. quad-tree coding

Abstract

根据本发明的视频解码方法包括以下步骤:确定是否将组合预测模式应用于当前块;当将所述组合预测模式应用于所述当前块时,获得所述当前块的第一预测块和第二预测块;以及基于所述第一预测块和所述第二预测块的加权和运算来获得所述当前块的第三预测块。

Description

视频信号编码/解码方法以及用于所述方法的设备
本申请是申请日为2019年11月7日,申请号为2019800706218,发明名称为“视频信号编码/解码方法以及用于所述方法的设备”的申请的分案申请。
技术领域
本发明涉及视频信号编码/解码方法及用于所述方法的设备。
背景技术
随着显示面板越来越大的趋势,逐渐需要画质更高的视频服务。高清视频服务的最大问题在于数据量大幅增加,为了解决这种问题,正在积极进行用于提高视频压缩率的研究。作为代表性示例,在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是本发明实施例的视频编码器(encoder)的框图。
图2是本发明实施例的视频解码器(decoder)的框图。
图3是示出本发明实施例的基本编码树单元的图。
图4是示出编码块的多种划分类型的图。
图5是示出编码树单元的划分示例的图。
图6是示出基本数据单元的形状的图。
图7和图8是示出将编码块划分为多个子块的示例的图。
图9是根据本发明实施例的帧间预测方法的流程图。
图10是在合并模式下导出当前块的运动信息的过程的流程图。
图11是示出用于导出合并候选的候选块的示例的图。
图12是示出使用对角线将编码块划分为多个预测单元的示例的图。
图13是示出将编码块划分为两个预测单元的示例的图。
图14示出了将编码块划分为具有不同大小的多个预测块的示例的图。
图15是示出将对角线划分应用于变换单元的示例的图。
图16是示出用于导出三角形合并候选的相邻块的图。
图17是用于描述确定每个三角形预测单元的相邻块的可用性的示例的图。
图18和图19是示出基于第一预测样本和第二预测样本的加权和运算来导出预测样本的示例的图。
图20是展示了根据本发明实施例的帧内预测方法的流程图。
图21是示出帧内预测模式的图。
图22和图23是示出将参考样本排列成一行的一维阵列的示例的图。
图24是示出在角度帧内预测模式与平行于x轴的直线之间形成的角度的图。
图25是示出当当前块是非正方形时获得预测样本的实施例的图。
图26是示出广角帧内预测模式的图。
图27是示出应用PDPC的实施例的图。
图28是示出应用加权值的实施例的图。
图29是示出了根据合并候选是否具有双向运动信息而将不同的加权值分配给子块的示例的图。
图30是示出了根据当前块的帧内预测模式而将不同的加权值分配给子块的示例的图。
图31是示出了考虑候选块的搜索顺序来指定第二合并候选的示例的图。
图32是示出了从非相邻块导出的合并候选中选择第一合并候选和第二合并候选的示例的图。
图33是用于描述确定第二合并候选的示例的图。
图34是示出基于候选块的形状来确定应用于预测块的加权值的示例的图。
图35是示出替换合并候选的示例的图。
图36和图37是示出将对其执行二次变换的子块的图。
图38是用于描述确定当前块的变换类型的示例的图。
图39是示出确定块强度的过程的流程图。
图40是示出了预定义的滤波器候选的图。
具体实施方式
以下,参照附图详细说明本发明的实施例。
视频的编码及解码以块为单位来执行。例如,可以对编码块、变换块或预测块执行变换、量化、预测、环路滤波或重建等编码/解码处理。
以下,将要编码/解码的块称为“当前块”。例如,根据当前编码/解码处理步骤,当前块可以表示编码块、变换块或预测块。
另外,本说明书中使用的术语“单元”表示用于执行特定编码/解码过程的基本单元,并且“块”可以被理解为表示预定大小的样本阵列。除非另有说明,“块”和“单元”可互换使用。例如,在稍后描述的实施例中,编码块和编码单元可被理解为具有相同的含义。
图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)作为根(root)而将编码单元划分为可具有相当于划分的编码单元数量的子节点的另外编码单元。根据某些限制不再被划分的编码单元将成为叶节点。即,当假设一个编码单元只能实现正方形划分时,一个编码单元可最多被划分为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 Intra Smoothing)滤波器之后生成预测块。用于参考像素的自适应帧内平滑滤波器的类型可能不同。为了执行帧内预测方法,可以从存在于当前预测单元周边的预测单元的帧内预测模式预测出当前预测单元的帧内预测模式。在使用从周边预测单元预测到的模式信息来预测当前预测单元的预测模式的情况下,若当前预测单元与周边预测单元的帧内预测模式相同,则可以使用预定的标志信息来传送表示当前预测单元与周边预测单元的预测模式相同的信息,若当前预测单元与周边预测单元的预测模式不同,则可以通过执行熵编码来对当前块的预测模式信息进行编码。
并且,可以生成包括残差信息的残差块,所述残差信息是基于在预测部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中变换为频域的值进行量化。量化系数可以根据块或视频的重要性而改变。可以向逆量化部140和重排部160提供在量化部135中计算的值。
重排部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可以包括去块滤波器、偏移校正部、自适应环路滤波器(ALF,Adaptive Loop Filter)中的至少一个。
去块滤波器可移除因块之间的边界而在重建的图像中生成的块失真。为了判断是否执行去块,能够基于块中所包括的几个列或行所包括的像素来判断是否对当前块应用去块滤波器。在对块应用去块滤波器的情况下,可以根据所需的去块滤波强度来应用强滤波(Strong Filter)或弱滤波(Weak Filter)。并且,在使用去块滤波器的过程中,当执行垂直滤波及水平滤波时,可以同步处理水平方向滤波及垂直方向滤波。
偏移校正部可以按像素单位来对执行去块的视频中的与原本视频之间的偏移进行校正。为了对指定图像进行偏移校正,可以使用如下方法,即,在将视频中所包括的像素划分为预定数量的区域之后,确定要执行偏移的区域,并对相应区域应用偏移,或者将各个像素的边缘信息考虑在内来应用偏移。
自适应环路滤波(ALF,Adaptive Loop Filtering)可以基于对经过滤波的重建图像和原来的视频进行比较的值来执行。将视频中包括的像素划分成预定的组之后,可以通过确定要用于相应组的一个滤波器来对每个组有区别地执行滤波。与是否应用自适应环路滤波相关的信息和亮度信号可按编码单元(Coding Unit,CU)进行传送,所要应用的自适应环路滤波器的形状及滤波器系数可以根据各个块而不同。并且,还能够应用相同类型(固定类型)的自适应环路滤波器,而不管被应用的块的特性如何。
存储器155可以存储通过滤波器部150计算的重建块或图像,可以在执行帧间预测时向预测部120、125提供所存储的重建块或图像。
图2是本发明实施例的视频解码器(decoder)的框图。
参照图2,视频解码器200可以包括熵解码部210、重排部215、逆量化部220、逆变换部225、预测部230、预测部235、滤波器部240、存储器245。
在从视频编码器输入视频码流时,可以按与视频编码器相反的步骤对所输入的码流进行解码。
熵解码部210可按与视频编码器的熵编码部中执行熵编码的步骤相反的步骤进行熵解码。例如,与视频编码器中执行的方法相对应地,可以应用指数哥伦布码(ExponentialGolomb)、上下文自适应变长编码(CAVLC,Context-Adaptive Variable Length Coding)、上下文自适应二进制算术编码(CABAC,Context-Adaptive Binary Arithmetic 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。
可以通过划分编码树单元来生成编码块。编码块表示用于进行编码/解码处理的基本单元。例如,可按不同编码块执行预测或者变换,或者可按不同编码块确定预测模式。其中,预测模式表示生成预测图像的方法。例如,预测模式可以包括画面内预测(IntraPrediction,帧内预测)、画面间预测(Inter Prediction,帧间预测)、当前图像参考(Current Picture Referencing,CPR,或帧内块复制(Intra Block Copy,IBC))或组合预测(Combined Prediction)。针对编码块,可以使用帧内预测、帧间预测、当前图像参考或组合预测中的至少一种预测模式来生成与编码块相关的预测块。
可以通过码流用信号发送表示当前块的预测模式的信息。例如,所述信息可以是指示预测模式为帧内模式还是帧间模式的1比特标志。可仅在当前块的预测模式被确定为帧间模式的情况下使用当前图像参考或组合预测。
当前图像参考用于将当前图像设置为参考图像,并从当前图像内的已编码/解码的区域获得当前块的预测块。其中,当前图像意味着包括当前块的图像。可以通过码流用信号发送表示是否对当前块应用当前图像参考的信息。例如,所述信息可以是1比特标志。当所述标志为真时,可以将当前块的预测模式确定为当前图像参考,当所述标志为假时,可以将当前块的预测模式确定为帧间预测。
可替代地,可以基于参考图像索引确定当前块的预测模式。例如,当参考图像索引指向当前图像时,可以将当前块的预测模式确定为当前图像参考。当参考图像索引指向其他图像而不是当前图像时,可以将当前块的预测模式确定为帧间预测。即,当前图像参考是使用当前图像内已编码/解码的区域的信息的预测方法,并且帧间预测是使用已编码/解码的其他图像的信息的预测方法。
组合预测表示由帧内预测、帧间预测及当前图像参考中的两种以上组合而成的编码模式。例如,在应用组合预测的情况下,可以基于帧内预测、帧间预测或当前图像参考中的一种来生成第一预测块,并且可以基于另一种来生成第二预测块。若生成第一预测块和第二预测块,则可以通过第一预测块和第二预测块的平均运算或加权和运算来生成最终预测块。可以通过码流用信号发送表示是否应用组合预测的信息。所述信息可以是1比特标志。
图4是示出编码块的多种划分类型的图。
可以基于四叉树划分、二叉树划分或三叉树划分将编码块划分为多个编码块。还可以基于四叉树划分、二叉树划分或三叉树划分将所划分的编码块再次划分为多个编码块。
四叉树划分是指将当前块划分为4个块的划分技术。作为四叉树划分的结果,可以将当前块划分为4个正方形分区(参考图4中的‘SPLIT_QT’)。
二叉树划分是指将当前块划分为2个块的划分技术。可以将沿着垂直方向(即,使用横穿当前块的垂直线)将当前块划分为两个块的过程称为垂直方向二叉树划分,可以将沿着水平方向(即,使用横穿当前块的水平线)将当前块划分为两个块的过程称为水平方向二叉树划分。可以在经过二叉树划分后将当前块划分为2个非正方形分区。图4中的“SPLIT_BT_VER”表示垂直方向二叉树划分结果,并且图4中的“SPLIT_BT_HOR”表示水平方向二叉树划分结果。
三叉树划分是指将当前块划分为3个块的划分技术。可以将沿着垂直方向(即,使用横穿当前块的两个垂直线)将当前块划分为三个块的过程称为垂直方向三叉树划分,可以将沿着水平方向(即,使用横穿当前块的两个水平线)将当前块划分为三个块的过程称为水平方向三叉树划分。可以在经过三叉树划分后将当前块划分为3个非正方形分区。在这种情况下,位于当前块的中心的分区的宽度/高度可以是其他分区的宽度/高度的2倍。图4中的“SPLIT_TT_VER”表示垂直方向三叉树划分结果,并且图4中的“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的编码块应用垂直方向二叉树划分,对作为所述划分结果而生成的编码块中的左侧编码块应用垂直方向三叉树划分,对右侧编码块应用垂直方向二叉树划分。
当实施用于对视频进行编码或解码的设备时,存在由于硬件性能而难以处理大于阈值的区域的问题。例如,可能存在这样的问题:当硬件性能允许同时处理最多4096个样本时,大小为64×64的数据单元应当被冗余地访问和处理,并且对于多于4096个样本的区域中的数据无法被同时处理。如上所述,数据处理的基本单元可以被定义为基于流水线的基本数据单元(虚拟处理数据单元,VPDU,以下称为基本数据单元)。
基本数据单元可以分为正方形、非正方形或非矩形类型。
图6是示出基本数据单元的形状的图。
基本数据单元可以包括等于或小于可以同时处理的最大样本数的样本。例如,如在图6(a)所示的示例中,可以将64×64大小的正方形块设置为基本数据单元。可替代地,可以将非正方形块设置为基本数据单元。例如,如在图6(b)或6(c)所示的示例中,可以将32×128大小的块或64×32大小的块设置为基本数据单元。
尽管未示出,但是可以定义三角形、L形或多边形的基本数据单元。
可以通过码流用信号发送用于确定基本数据单元的信息。所述信息可以用于确定基本数据单元的大小或形状中的至少一个。基于所述信息,可以确定是允许非正方形基本数据单元还是允许非正方形基本数据单元。
可替代地,可以在编码器和解码器中预定义基本数据单元的大小或形状中的至少一个。
可以考虑到基本数据单元的大小来确定是否允许编码块的划分类型。例如,当作为划分编码块的结果而产生的编码块大于基本数据单元时,可能不允许这种划分。可替代地,当作为划分编码块的结果而产生的非正方形编码块大于基本数据单元时,可能不允许这种划分。例如,当编码块的宽度或高度大于阈值时,或者当编码块中包括的样本数大于阈值时,可能不允许二叉树或三叉树划分。因此,可以省略对与二叉树或三叉树划分有关的信息的编码。
可替代地,可以设置为必须对大于基本数据单元的编码块进行划分。可替代地,可以设置为必须对大于基本数据单元的编码块执行二叉树划分或三叉树划分。因此,对于大于基本数据单元的编码块,虽然未对指示编码块是否被划分的标志split_flag进行编码,也可以将该标志的值导出为1。
作为另一示例,大于基本数据单元的编码块可以被划分为多个子块。在此,可以将子块设置为作为用于预测的基本单元的预测单元,或作为用于变换和/或量化的基本单元的变换单元。在这种情况下,将编码块划分为多个预测单元可以被定义为VPDU预测单元划分,并且将编码块划分为多个变换单元可以被定义为VPDU变换单元划分。
可以将VPDU预测单元划分和VPDU变换单元划分中的至少一个应用于编码块。可以将根据应用VPDU预测单元划分的编码块的划分类型设置为与根据应用VPDU变换单元划分的编码块的划分类型相同。
当仅将VPDU预测单元划分应用于编码块时,对每个子块执行预测,但是可以对编码块执行变换和/或量化。在这种情况下,可以针对编码块确定诸如预测模式、帧内预测模式或帧间预测模式等预测模式。
当仅将VPDU变换单元划分应用于编码块时,对子块执行预测,但是可以对每个子块执行变换和/或量化。
图7和图8是示出将编码块划分为多个子块的示例的图。
图7是示出当仅允许正方形基本数据单元时的划分模式的图,图8是示出当允许正方形基本数据单元和非正方形基本数据单元时的划分模式的图。
假设仅允许正方形基本数据单元时,在图7(a)和图7(b)中,CU0和CU2被定义为两个不同的VPDU,并且CU1被定义为四个不同的VPDU。因此,CU0和CU2可以被划分为两个子块,并且CU1可以被划分为四个子块。
假设允许正方形基本数据单元和非正方形基本数据单元时,在图8(a)和图8(b)中,可以将CU0和CU2定义为一个VPDU,并且可以将CU1定义为使用两个不同的VPDU。因此,CU0和CU2不被划分为子块,而CU1可以被划分为两个子块。
在这种情况下,CU1可以被划分为正方形子块或非正方形子块。例如,基于上下划分CU1的水平线,CU1可以被划分为两个正方形子块。可替代地,可以基于将CU1左右划分的垂直线将CU1划分为两个非正方形子块。
当存在适用于编码块的多个划分类型候选时,可以通过码流用信号发送指示多个划分类型候选中的任何一个的信息。例如,所述信息可以指示编码块是否被划分为正方形子块或者编码块是否被划分为非正方形子块。
可替代地,将编码块划分为正方形子块可以被设置为具有比将编码块划分为非正方形子块更高的优先级。例如,当编码块不能被划分为正方形子块时,可以允许将编码块划分为非正方形子块。
可替代地,可以基于作为父节点编码块的划分类型来确定编码块的划分类型。例如,当基于三叉树划分父节点编码块时,可以设置为将该编码块划分为正方形子块。另一方面,当基于二叉树或三叉树划分父节点编码块时,可以设置为将编码块划分为非正方形子块。
帧间预测是指使用之前图像的信息来预测当前块的预测模式。例如,可以将之前图像内与当前块相同位置的块(以下称为同位块,Collocated block)设置为当前块的预测块。以下,将基于位置与当前块相同的块生成的预测块称为同位预测块(CollocatedPrediction Block)。
另一方面,若存在于之前图像中的对象已经移动至当前图像中的其他位置,则可以使用对象的运动来有效预测当前块。例如,若可以通过比较之前图像和当前图像来知晓对象的移动方向及大小,则可以考虑对象的运动信息来生成当前块的预测块(或预测图像)。以下,可以将使用运动信息生成的预测块称为运动预测块。
可以通过从当前块减去预测块来生成残差块(residual block)。在这种情况下,当存在对象的运动时,可以通过使用运动预测块来代替同位预测块,由此减少残差块的能量,从而可提高残差块的压缩性能。
如上所述,可以将使用运动信息生成预测块的过程称为运动补偿预测。在大部分的帧间预测中,可以基于运动补偿预测来生成预测块。
运动信息可以包括运动矢量、参考图像索引、预测方向或双向加权值索引中的至少一个。运动矢量表示对象的移动方向及大小。参考图像索引指定参考图像列表中包括的多个参考图像中的当前块的参考图像。预测方向是指单向L0预测、单向L1预测或双向预测(L0预测及L1预测)中的任一个。可以根据当前块的预测方向来使用L0方向的运动信息或L1方向的运动信息中的至少一个。双向加权值索引指定用于L0预测块的加权值及应用于L1预测块的加权值。
图9是根据本发明实施例的帧间预测方法的流程图。
参照图9,帧间预测方法包括:确定当前块的帧间预测模式(S901);根据所确定的帧间预测模式来获得当前块的运动信息(S902);以及基于所获得的运动信息来执行当前块的运动补偿预测(S903)。
其中,帧间预测模式表示用于确定当前块的运动信息的多种技术,可以包括使用平移(Translation)运动信息的帧间预测模式和使用仿射(Affine)运动信息的帧间预测模式。例如,使用平移运动信息的帧间预测模式可以包括合并模式及高级运动矢量预测模式,使用仿射运动信息的帧间预测模式可以包括仿射合并模式及仿射运动矢量预测模式。根据帧间预测模式,可以基于与当前块相邻的相邻块或从码流中解析的信息来确定当前块的运动信息。
可从当前块的其他块的运动信息中导出当前块的运动信息。其中,其他块可以是比起当前块更优先地以帧间预测进行编码/解码的块。可以将当前块的运动信息设置为与其他块的运动信息相同的情况定义为合并模式。并且,可以将其他块的运动矢量设置为当前块的运动矢量的预测值情况定义为运动矢量预测模式。
图10是在合并模式下导出当前块的运动信息的过程的流程图。
可以导出当前块的合并候选(S1001)。当前块的合并候选可从在当前块之前以帧间预测进行编码/解码的块导出。
图11是示出用于导出合并候选的候选块的示例的图。
候选块可以包括包含与当前块相邻的样本的相邻块或包含不与当前块相邻的样本的非相邻块中的至少一者。在下文中,将用于确定候选块的样本指定为参考样本。另外,将与当前块相邻的参考样本称为相邻参考样本,将不与当前块相邻的参考样本称为非相邻参考样本。
相邻参考样本可以包括在当前块的最左侧列的相邻列中、或当前块的最上方行的相邻行中。例如,若当前块的左上样本的坐标为(0,0),则包括(-1,H-1)位置上的参考样本的块、包括(W-1,-1)位置上的参考样本的块、包括(W,-1)位置上的参考样本的块、包括(-1,H)位置上的参考样本的块或包括(-1,-1)位置上的参考样本的块中的至少一个可用作候选块。参考附图,可以将索引为0至4的相邻块用作候选块。
非相邻参考样本表示与当前块相邻的参考样本之间的x轴距离或y轴距离中的至少一者具有预定义的值的样本。例如,可以将包含与左侧参考样本之间的x轴距离为预定义的值的参考样本的块、包含与上方参考样本之间的y轴距离为预定义的值的非相邻样本的块、或包含与左上参考样本之间的x轴距离及y轴距离为预定义的值的非相邻样本的块中的至少一者用作候选块。预定义的值可以是4、8、12、16等整数。参考附图,可以将索引为5至26的块中的至少一个用作候选块。
可替代地,可以将不属于与当前块相同的编码树单元的候选块设置为不可用作合并候选。例如,在参考样本超出当前块所属的编码树单元的上边界时,可以将包括参考样本的候选块设置为不可用作合并候选。
还可从与当前块不同的图像中所包括的时间相邻块导出合并候选。例如,可从同位图像中所包括的同位块导出合并候选。可以将参考图像列表所包括的多个参考图像中的任一个设置为同位图像。可以通过码流用信号发送用于标识多个参考图像中的同位图像的索引信息。可替代地,可以将多个参考图像中具有预定义的索引的参考图像确定为同位图像。
可以将合并候选的运动信息设置为与候选块的运动信息相同。例如,可以将候选块的运动矢量、参考图像索引、预测方向或双向加权值索引中的至少一个设置为合并候选的运动信息。
可以生成包括合并候选的合并候选列表(S1002)。
可按照预定顺序分配合并候选列表内的多个合并候选的索引。例如,可按照从左相邻块导出的合并候选、从上相邻块导出的合并候选、从右上相邻块导出的合并候选、从左下相邻块导出的合并候选、从左上相邻块导出的合并候选及从时间相邻块导出的合并候选的顺序来分配索引。
当合并候选列表中包括多个合并候选时,可以选择所述多个合并候选中的至少一个(S1003)。具体地,可以通过码流用信号发送用于指定多个合并候选中的任一个的信息。例如,可以通过码流用信号发送表示合并候选列表所包括的多个合并候选中的任一个的索引的信息merge_idx。
在合并候选列表所包括的合并候选的数量小于阈值时,可以将帧间运动信息列表中所包括的合并候选添加到合并候选列表中。其中,阈值可以是从合并候选列表可以包括的最大合并候选的数量或最大合并候选的数量减去偏移量的值。偏移量可以是1或2等整数。帧间运动信息列表可以包括基于在当前块之前进行编码/解码的块来导出的合并候选。
帧间运动信息列表包括从于当前图像内基帧间预测进行编码/解码的块导出的合并候选。例如,帧间运动信息列表中包括的合并候选的运动信息可以设置为与基于帧间预测进行编码/解码的块的运动信息相同。其中,运动信息可以包括运动矢量、参考图像索引、预测方向或双向加权值索引中的至少一个。
可以将编码块划分为多个预测单元,并且可以分别对划分的预测单元执行预测。其中,预测单元表示用于预测的基本单元。
编码块可以使用垂直线、水平线、斜线或对角线中的至少一个来划分。可以通过码流用信号发送用于确定划分编码块的线的数量、角度或位置中的至少一个的信息。例如,可以通过码流用信号发送表示编码块的划分类型候选中的任一个的信息,或者可以通过码流用信号发送指定划分编码块的多个线候选中的任一个的信息。可替代地,可以通过码流用信号发送用于确定划分编码块的线候选的数量或类型的信息。例如,使用1比特标志,可以确定角度大于对角线的斜线和/或角度小于对角线的斜线是否可用作线候选。
可替代地,基于编码块的帧内预测模式、帧间预测模式、可以使用的合并候选的位置或相邻块的划分类型中的至少一个,可自适应地确定划分编码块的线的数量、角度或位置中的至少一个。
若编码块划分为多个预测单元,则可以对划分的各个预测单元执行帧内预测或帧间预测。
图12是示出使用对角线将编码块划分为多个预测单元的示例的图。
如在图12(a)和图12(b)所示的示例中,可以使用对角线将编码块划分为两个三角形预测单元。
在图12(a)和图12(b)中,示出了使用连接编码块的两个顶点的对角线将编码块划分为两个预测单元。但是,可以使用线的至少一个末端不穿过编码块的顶点的斜线,将编码块可划分为两个预测单元。
图13是示出将编码块划分为两个预测单元的示例的图。
如在图13(a)和图13(b)所示的示例中,可以使用其两端分别接触编码块的上边界和下边界的斜线将编码块划分为两个预测单元。
可替代地,如在图13(c)和图13(d)所示的示例中,可以使用其两端分别接触编码块的左边界和右边界的斜线将编码块划分为两个预测单元。
可替代地,可以将编码块划分为大小不同的2个预测块。例如,将划分编码块的斜线设置为与形成一个顶点的两个边界面相接触,由此可将编码块划分为大小不同的两个预测单元。
图14示出了将编码块划分为具有不同大小的多个预测块的示例的图。
如在图14(a)和图14(b)所示的示例中,通过将在编码块的左上角或右下角处连接的对角线设置为穿过编码块的左边界、右边界、上边界或下边界,而不是穿过编码块的左上角或右下角,可以将编码块划分为具有不同大小的两个预测单元。
可替代地,如在图14(c)和图14(d)所示的示例中,通过将在编码块的右上角或左下角处连接的对角线设置为穿过编码块的左边界、右边界、上边界或下边界,而不是穿过编码块的左上角或右下角,可以将编码块划分为具有不同大小的两个预测单元。
通过划分编码块而生成的各个预测单元称为“第N预测单元”。例如,在图12至图14所示的示例中,PU1可以被定义为第一预测单元,并且PU2可以被定义为第二预测单元。第一预测单元可以指包括编码块内位于左下的样本或位于左上方的样本的预测单元,第二预测单元可以指包括编码块内位于右上的样本或位于右下的样本的预测单元。
与上述相反,可以将包括编码块内位于右上的样本或位于右下的样本的预测单元定义为第一预测单元,并且可以将包括编码块内位于左下的样本或位于左上方的样本的预测单元定义为第二预测单元。
稍后所述的实施例,主要说明使用对角线的划分示例。尤其,使用对角线将编码块划分为2个预测单元的过程称为对角线划分或三角形划分,并且将基于对角线划分生成的预测单元称为三角形预测单元。但是,当然也可以在稍后所述的实施例中使用与垂直线、水平线或对角线不同的角度的斜线的划分示例。
可以基于条带类型、合并候选列表可以包括的合并候选的最大数量、编码块的大小、编码块的形状、编码块的预测模式或父母节点的划分类型中的至少一个来确定是否对编码块应用对角线划分。
例如,基于当前条带是否为B-条带,可以确定是否对编码块应用对角线划分。仅当当前条带为B-条带时,才可允许对角线划分。
可替代地,可以基于合并候选列表所包括的合并候选的最大数量是否为2个以上来确定是否对编码块应用对角线划分。仅限于合并候选列表所包括的合并候选的最大数量为2个以上的情况,才可允许对角线划分。
可替代地,硬件的宽度或高度中的至少一个大于64时,会发生64×64大小的数据处理单元被冗余地访问的缺点。由此,编码块的宽度或高度中的至少一个大于阈值时,有可能不允许将编码块划分为多个预测块。例如,当编码块的高度和宽度中的至少一个大于64时(例如,当宽度和高度中的至少一个为128时),可以不使用对角线划分。
可替代地,考虑到可以在硬件实施方式中同时处理的最大样本数,对于样本数大于阈值的编码块,可能不允许对角线划分。例如,对于样本数大于4096的编码树块,可能不允许对角线划分。
可替代地,对于编码块中包括的样本数小于阈值的编码块,可能不允许对角线划分。例如,当编码块中包括的样本数小于64时,可以设置为不将对角线划分应用于编码块。
可替代地,基于编码块的宽度及高度比是否小于第一阈值或编码块的宽度及高度比是否大于第二阈值,可以确定是否对编码块应用对角线划分。在此,编码块的宽度与高度之比whRatio可以被确定为编码块的宽度CbW与高度CbH之比,如以下等式1所示。
【等式1】
whRatio=CbW/CbH
第二阈值可以是第一阈值的倒数。例如,第一阈值为k时,第二阈值可以是1/k。
只有在编码块的宽度及高度比存在于第一阈值及第二阈值之间的情况下,才可以在编码块应用对角线划分。
可替代地,只有在编码块的宽度及高度比小于第一阈值或大于第二阈值的情况下才能使用三角形划分。例如,第一阈值为16时,对于64×4或4×64大小的编码块不可允许对角线划分。
可替代地,基于父母节点的划分类型,可以确定是否允许对角线划分。例如,当作为父母节点的编码块基于四叉树划分时,可以对作为叶节点的编码块应用对角线划分。另一方面,当作为父母节点的编码块基于二叉树或三叉树划分进行划分时,作为叶节点的编码块设置为不允许对角线划分。
可替代地,基于编码块的预测模式,可以确定是否允许对角线划分。例如,编码块以帧内预测进行编码时,仅限于编码块以帧间预测进行编码的情况或编码块以预定义的帧间预测模式进行编码的情况,才可允许对角线划分。其中,预定义的帧间预测模式可以表示合并模式、高级运动矢量预测模式、仿射合并模式或仿射运动矢量预测模式中的至少一个。
可替代地,基于并列处理区域的大小,可以确定是否允许对角线划分。例如,编码块的大小大于并列处理区域的大小时,有可能不使用对角线划分。
还可以考虑所述列举的条件中的两个以上的条件来确定是否对编码块应用对角线划分。
作为另一示例,可以通过码流用信号发送指示是否将对角线划分应用于编码块的信息。所述信息可以以序列级、图像级、条带级或块级用信号发送。例如,可以以编码块级用信号发送指示是否对编码块应用了三角形划分的标志triangle_partition_flag。
在确定要在编码块应用对角线划分时,可以通过码流用信号发送表示划分编码块的线的数量或线的位置的信息。
例如,编码块由对角线划分时,可以通过码流用信号发送表示划分编码块的对角线的方向的信息。例如,可以通过码流用信号发送表示对角线的方向的标志triangle_partition_type_flag。所述标志指示编码块是否由连接左上和右下的对角线划分或者是否由连接右上和左下的对角线划分。由连接左上和右下的对角线来划分编码块时可称为左三角形划分类型,由连接右上和左下的对角线来划分编码块时可称为右三角形划分类型。例如,所述标志的值为0指示编码块的划分类型为左三角形划分类型,所述标志的值为1时指示编码块的划分类型为右三角形划分类型。
另外,可以通过码流用信号发送指示预测单元是否具有相同大小的信息或指示用于划分编码块的对角线的位置的信息。例如,如果指示预测单元的大小的信息指示预测单元的大小相同,则省略对指示对角线位置的信息的编码,并且可以使用穿过编码块的两个顶点的对角线将编码块划分为两个预测单元。另一方面,当指示预测单元的大小的信息指示预测单元的大小不相同时,可以基于指示对角线的位置的信息来确定用于划分编码块的对角线的位置。例如,当将左三角形划分类型应用于编码块时,位置信息可以指示对角线是否与编码块的左边界和下边界或上边界和右边界接触。可替代地,当将右三角形划分类型应用于编码块时,位置信息可以指示对角线是否与编码块的右边界和下边界或上边界和左边界接触。
表示编码块的划分类型的信息可以以编码块级用信号发送。由此,可以针对应用对角线划分的不同编码块来确定划分类型。
作为另一示例,对于序列、图像、条带、图块或编码树单元,可以用信号发送表示划分类型的信息。这种情况下,可以将应用对角线划分的编码块的划分类型在序列、图像、条带、图块或编码树单元内设置为相同。
可替代地,对于编码树单元内应用对角线划分的第一编码单元,将用于确定划分类型的信息进行编码并用信号发送,应用对角线划分的第二个及以后的编码单元设置为使用与第一个编码单元相同的划分类型。
作为另一示例,基于相邻块的划分类型,可以确定编码块的划分类型。其中,相邻块可以包括与编码块的左上角相邻的相邻块、与右上角相邻的相邻块、与左下角相邻的相邻块、位于上方的相邻块或位于左侧的相邻块中的至少一个。例如,当前块的划分类型可与相邻块的划分类型相同地设置。可替代地,基于左上相邻块是否应用左三角形划分类型、右上相邻块或左下相邻块是否应用右三角形划分类型,可以确定当前块的划分类型。
可以将预测单元的大小设置为不大于变换单元的大小。另外,可以设置为在一个变换单元中必须包括一个预测单元。因此,当将VPDU变换单元划分应用于编码块时,代替将对角线划分应用于编码块,可以将对角线划分应用于变换单元。
图15是示出将对角线划分应用于变换单元的示例的图。
如在图15所示的示例中,当将编码块划分为多个变换单元时,可以确定是否对每个变换单元应用对角线划分。可替代地,可以确定是否以大小小于变换单元的大小的块为单位来应用对角线划分。
可替代地,当将VPDU变换单元划分应用于编码块时,确定是否将对角线划分应用于编码块,并且可以将编码块中包括的所有变换单元设置为遵循所述确定。例如,当确定将对角线划分应用于编码块时,可以将编码块中包括的所有变换单元划分为两个预测单元。
为了对第一三角形预测单元及第二三角形预测单元执行运动预测补偿,可以导出第一三角形预测单元及第二三角形预测单元各自的运动信息。在这种情况下,可从合并候选列表所包括的合并候选导出第一三角形预测单元及第二三角形预测单元的运动信息。为了区分一般合并候选列表和导出三角形预测单元的运动信息时使用的合并候选列表,将用于导出三角形预测单元的运动信息的合并候选列表称为三角形合并候选列表,将三角形合并候选列表所包括的合并候选称为三角形合并候选。但是,将前述的合并候选导出方法及合并候选列表构造方法用于三角形合并候选及三角形合并候选列表构造方法也包括在本发明的精神内。
可以通过码流用信号发送用于确定三角形合并候选列表可以包括的最大三角形合并候选的数量的信息。所述信息可以表示合并候选列表可以包括的最大合并候选的数量与三角形合并候选列表可以包括的最大三角形合并候选数量之间的差。
可从编码块的空间相邻块及时间相邻块导出三角形合并候选。
图16是示出用于导出三角形合并候选的相邻块的图。
可以使用位于编码块的上方的相邻块、位于编码块的左侧的相邻块或与编码块不同的图像中包括的同位块中的至少一个来导出三角形合并候选。上相邻块可以包括如下的块,即,包括位于编码块的上方的样本(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。
索引信息可以指定第一三角形预测单元的合并候选和第二三角形预测单元的合并候选的组合。例如,以下表1示出了根据索引信息merge_triangle_idx的合并候选的组合的示例。
【表1】
Figure GDA0003148692470000241
Figure GDA0003148692470000251
索引信息merge_triangle_idx的值为1指示第一三角形预测单元的运动信息从索引1的合并候选导出,第二三角形预测单元的运动信息从索引0的合并候选导出。可以通过索引信息merge_triangle_idx确定用于导出第一三角形预测单元的运动信息的三角形合并候选及用于导出第二三角形预测单元的运动信息的三角形合并候选。
还可以根据索引信息来确定应用对角线划分的编码块的划分类型。即,索引信息可以指定第一三角形预测单元的合并候选、第二三角形预测单元的合并候选及编码块的划分方向的组合。当根据索引信息确定编码块的划分类型时,可以不对指示划分编码块的对角线的方向的信息triangle_partition_type_flag进行编码。表2关于索引信息merge_triangle_idx示出了编码块的划分类型。
【表2】
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时表示编码块应用右三角形划分类型。通过组合表1和表2,可以设置为根据索引信息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个合并候选。
作为另一示例,可以基于与编码块相邻的相邻块导出各三角形预测单元的合并候选,并且可以通过考虑三角形预测单元的形状或位置来确定相邻块的可用性。
图17是用于描述确定每个三角形预测单元的相邻块的可用性的示例的图。
可以将不与第一三角形预测单元相邻的相邻块设置为对第一三角形预测单元不可用的相邻块,并且可以将不与第二三角形预测单元相邻的相邻块设置为对第二三角形预测单元不可用的相邻块。
例如,如在图17(a)所示的示例中,当将左三角形划分类型应用于编码块时,可以确定与编码块相邻的相邻块中与第一三角形预测单元相邻的块A1、A0和A2可用于第一三角形预测单元,而块B0和B1不可用于第一三角形预测单元。由此,与第一三角形预测单元相关的三角形合并候选列表包括从块A1、A0及A2中导出的三角形合并候选,而不包括从块B0及B1中导出的三角形合并候选。
如在图17(b)所示的示例中,当将左三角形划分类型应用于编码块时,可以确定与第二三角形预测单元相邻的块B0和B1可用于第二三角形预测单元,而块A1、A0和A2不可用于第二三角形预测单元。由此,与第二三角形预测单元相关的三角形合并候选列表包括从块B0及B1中导出的三角形合并候选,而不包括从块A1、A0及A2中导出的三角形合并候选。
由此,可以基于三角形预测单元的位置或编码块的划分类型中的至少一个来确定三角形预测单元可以使用的三角形合并候选的数量或三角形合并候选的范围。
作为另一示例,仅可以将合并模式应用于第一三角形预测单元及第二三角形预测单元中的任一个。并且,将第一三角形预测单元及第二三角形预测单元中的另一个运动信息设置为与应用所述合并模式的三角形预测单元的运动信息相同,或者可以对应用所述合并模式的三角形预测单元的运动信息进行细化来导出。
例如,可以基于三角形合并候选导出第一三角形预测单元的运动矢量及参考图像索引,可以对第一三角形预测单元的运动矢量进行细化而导出第二三角形预测单元的运动矢量。例如,可以在第一三角形预测单元的运动矢量{mvD1LXx,mvD1LXy}加上或减去精细运动矢量{Rx,Ry}来导出第二三角形预测单元的运动矢量。可以将第二三角形预测单元的参考图像索引设置为与第一三角形预测单元的参考图像索引相同。
可以通过码流用信号发送用于确定表示第一三角形预测单元的运动矢量与第二三角形预测单元的运动矢量之间的差值的精细运动矢量的信息。所述信息可以包括表示精细运动矢量的大小的信息或表示精细运动矢量的符号的信息中的至少一个。
可替代地,可以基于三角形预测单元的位置、索引或应用于编码块的划分类型中的至少一个来导出精细运动矢量的符号。
作为另一示例,可以用信号发送第一三角形预测单元及第二三角形预测单元中的任一个的运动矢量及参考图像索引。可以通过对所述用信号发送的运动矢量进行细化来导出第一三角形预测单元及第二三角形预测单元中的另一个运动矢量。
例如,基于从码流中用信号发送的信息,可以确定第一三角形预测单元的运动矢量及参考图像索引。并且,可以通过对第一三角形预测单元的运动矢量进行细化来导出第二三角形预测单元的运动矢量。例如,可以在第一三角形预测单元的运动矢量{mvD1LXx,mvD1LXy}加上或减去精细运动矢量{Rx,Ry}来导出第二三角形预测单元的运动矢量。可以将第二三角形预测单元的参考图像索引设置为与第一三角形预测单元的参考图像索引相同。
可以基于第一三角形预测单元的运动信息及第二三角形预测单元的运动信息分别对编码块执行运动预测补偿预测。在这种情况下,第一三角形预测单元及第二三角形预测单元的边界部分可能发生画质劣化。例如,第一三角形预测单元及第二三角形预测单元的边界上存在的边缘(Edge)附近会导致画质的连续性变差。为了减少边界部分的画质劣化,可以通过平滑(Smoothing)滤波或加权预测来导出预测样本。
可以根据基于第一三角形预测单元的运动信息获得的第一预测样本及基于第二三角形预测单元的运动信息获得的第二预测样本的加权和运算来导出编码块内应用对角线划分的预测样本。可替代地,从基于第一三角形预测单元的运动信息确定的第一预测块中导出第一三角形预测单元的预测样本,从基于第二三角形预测单元的运动信息确定的第二预测块中导出第二三角形预测单元的预测样本,并且可以基于第一预测块中包括的第一预测样本及第二预测块中包括的第二预测样本的加权和运算来导出位于第一三角形预测单元及第二三角形预测单元的边界区域的预测样本。例如,以下等式2示出了导出第一三角形预测单元和第二三角形预测单元的预测样本的示例。
【等式2】
P(x,y)=w1*P1(x,y)+(1-w1)*P2(x,y)
在等式2中,P1表示第一预测样本,并且P2表示第二预测样本。w1表示应用于第一预测样本的加权值,并且(1-w1)表示应用于第二预测样本的加权值。如在等式2所示的示例中,可以通过将常数减去应用于第一预测样本的加权值来导出应用于第二预测样本的加权值。
在对编码块应用左三角形划分类型时,边界区域可以包括具有相同x轴坐标及y轴坐标的预测样本。另一方面,在对编码块应用右三角形划分类型时,边界区域可以包括x轴坐标及y轴坐标之和为第一阈值以上且第二阈值以下的预测样本。
可以基于编码块的大小、编码块的形状、三角形预测单元的运动信息、三角形预测单元的运动矢量差值、参考图像的输出顺序或对角边界中第一预测样本和第二预测样本的差值中的至少一个来确定边界区域的大小。
图18和图19是示出基于第一预测样本和第二预测样本的加权和运算来导出预测样本的示例的图。图18示出了将左三角形划分类型应用于编码块的示例,并且图19示出了将右三角形划分类型应用于编码块的示例。另外,图18(a)和图19(a)是示出亮度分量的预测图案的图,并且图18(b)和图19(b)是示出色度分量的预测图案的图。
在所示的图中,在第一预测单元及第二预测单元的边界附近写在预测样本中的数字表示应用于第一预测样本的加权值。例如,当写在预测样本中的数字为N时,在第一预测样本应用N/8的加权值,在第二预测样本应用(1-(N/8))的加权值,由此可以导出所述预测样本。
在非边界区域中,第一预测样本或第二预测样本可以确定为预测样本。参照图18的示例,在x轴坐标与y轴坐标之差的绝对值大于阈值的区域中属于第一三角形预测单元的区域中,可以将基于第一三角形预测单元的运动信息导出的第一预测样本确定为预测样本。另一方面,在x轴坐标和y轴坐标的差值大于阈值的区域中的属于第二三角形预测单元的区域中,可以将基于第二三角形预测单元的运动信息导出的第二预测样本确定为预测样本。
参照图19的示例,在x轴坐标和y轴坐标之和小于第一阈值的区域中,可以将基于第一三角形预测单元的运动信息导出的第一预测样本确定为预测样本。另一方面,在x轴坐标与y轴坐标之和大于第二阈值的区域中,可以将基于第二三角形预测单元的运动信息导出的第二预测样本确定为预测样本。
可以基于编码块的大小、编码块的形状或颜色分量中的至少一个来确定用于确定非边界区域的阈值。例如,当与亮度分量相关的阈值设置为N时,可以将与色度分量相关的阈值设置为N/2。
可以基于第一预测样本及第二预测样本的加权和运算来导出边界区域中包括的预测样本。在这种情况下,可以基于预测样本的位置、编码块的大小、编码块的形状或颜色分量中的至少一个来确定应用于第一预测样本及第二预测样本的加权值。
例如,如在图18(a)所示的示例中,可以通过将相同的加权值应用于第一预测样本和第二预测样本来导出具有相同的x轴坐标和y轴坐标的位置处的预测样本。可以将应用于第一预测样本及第二预测样本的加权值比率设置为(3:1)或(1:3)来导出x轴坐标及y轴坐标的差值的绝对值为1的预测样本。并且,可以将应用于第一预测样本和第二预测样本的加权值比率设置为(7:1)或(1:7)来导出x轴坐标及y轴坐标的差值的绝对值为2的预测样本。
可替代地,如图18(b)所示的示例中,可以通过将相同的加权值应用于第一预测样本和第二预测样本来导出具有相同的x轴坐标和y轴坐标的位置处的预测样本,并且可以通过将应用于第一预测样本和第二预测样本的加权值比设置为(7:1)或(1:7)来导出x轴坐标与y轴坐标之差的绝对值为1的预测样本。
例如,如在图19(a)所示的示例中,可以通过将相同的加权值应用于第一预测样本和第二预测样本来导出x轴坐标和y轴坐标之和比编码块的宽度或高度小1的预测样本。可以将应用于第一预测样本及第二预测样本的加权值比率设置为(3∶1)或(1∶3)来导出x轴坐标及y轴坐标之和与编码块的宽度或高度相同或者小2的预测样本。可以将应用于第一预测样本及第二预测样本的加权值比率设置为(7∶1)或(1∶7)来导出x轴坐标及y轴坐标之和比编码块的宽度或高度大1或小3的预测样本。
可替代地,如在图19(b)所示的示例中,可以通过将相同的加权值应用于第一预测样本和第二预测样本来导出x轴坐标和y轴坐标之和比编码块的宽度或高度小1的预测样本。可以将应用于第一预测样本和第二预测样本的加权值比率设置为(7∶1)或(1∶7)来导出x轴坐标及y轴坐标之和与编码块的宽度或高度相同或者小2的预测样本。
作为另一示例,可以考虑预测样本的位置或编码块的形状来确定加权值。等式3至5示出了当将左三角形划分类型应用于编码块时导出加权值的示例。等式3示出了当编码块是正方形时导出应用于第一预测样本的加权值的示例。
【等式3】
w1=(x-y+4)/8
在等式3中,x和y表示预测样本的位置。当编码块是非正方形时,可以如等式4或5中所示地导出应用于第一预测样本的加权值。等式4示出了编码块的宽度大于高度的情况,并且等式5示出了编码块的宽度小于高度的情况。
【等式4】
w1=((x/whRatio)-y+4)/8
【等式5】
w1=(x-(y*whRatio)+4)/8
当将右三角形划分类型应用于编码块时,可以如等式6至8所示地确定应用于第一预测样本的加权值。等式6示出了当编码块是正方形时导出应用于第一预测样本的加权值的示例。
【等式6】
w1=(CbW-1-x-y)+4)/8
在等式6中,CbW表示编码块的宽度。当编码块是非正方形时,可以如等式7或8中所示导出应用于第一预测样本的加权值。等式7示出了编码块的宽度大于高度的情况,并且等式8示出了编码块的宽度小于高度的情况。
【等式7】
w1=(CbH-1-(x/whRatio)-y)+4)/8
【等式8】
w1=(CbW-1-x-(y*whRatio)+4)/8
在等式7中,CbH表示编码块的高度。
如所示的示例,对于边界区域内的预测样本,可以通过对第一预测样本赋予比第二预测样本更大的加权值来导出包括在第一三角形预测单元中的样本,并且可以通过对第二预测样本赋予比第一预测样本更大的加权值来导出包括在第二三角形预测单元中的样本。
在对编码块应用对角线划分时,可以将编码块设置为不应用帧内预测模式及合并模式组合的组合预测模式。
帧内预测是使用当前块周边已编码/解码的重建样本来预测当前块。在这种情况下,当前块的帧内预测可以使用应用环路滤波器之前的重建样本。
帧内预测技术包括基于矩阵(Matrix)的帧内预测及考虑与周边重建样本的方向性的一般帧内预测。可以通过码流用信号发送指示当前块的帧内预测技术的信息。所述信息可以是1比特标志。可替代地,基于当前块的位置、大小、形状或相邻块的帧内预测技术中的至少一个,可以确定当前块的帧内预测技术。例如,当当前块跨过图像边界存在时,当前块设置为不应用基于矩阵的帧内预测。
基于矩阵的帧内预测是基于编码器及解码器中已存储的矩阵与当前块周边的重建样本之间的矩阵乘法来获得当前块的预测块的方法。可以通过码流用信号发送用于指定已存储的多个矩阵中的任一个的信息。解码器可以基于所述信息及当前块的大小来确定用于当前块的帧内预测的矩阵。
一般帧内预测是基于非角度帧内预测模式或角度帧内预测模式来获得与当前块相关的预测块的方法。以下,参考附图更详细地描述基于一般帧内预测执行帧内预测的过程。
图20是展示了根据本发明实施例的帧内预测方法的流程图。
可以确定当前块的参考样本线(S2001)。参考样本线是指从当前块的上方和/或左侧偏离第K个行中包括的参考样本的集合。可以从当前块周边已编码/解码的重建样本导出参考样本。
可以通过码流用信号发送标识多个参考样本线中的当前块的参考样本线的索引信息。例如,可以通过码流用信号发送用于指定当前块的参考样本线的索引信息intra_luma_ref_idx。可以以编码块为单位用信号发送所述索引信息。
多个参考样本线可以包括在当前块上方和/或左侧的第一线、第二线、第三线或第四线中的至少一个。可以将多个参考样本线中由与当前块的上方相邻的行及与当前块的左侧相邻的列构成的参考样本线称为相邻参考样本线,其以外的参考样本线还可以称为非相邻参考样本线。
只有多个参考样本线中的一些可选择为当前块的参考样本线。例如,可以将多个参考样本线中除了第三非相邻参考样本线以外的剩余参考样本线设置为候选参考样本线。表3示出了分别分配给每个候选参考样本线的索引。
【表3】
索引(intra_luma_ref_idx) 参考样本线
0 相邻参考样本线
1 第一非相邻参考样本线
2 第二非相邻参考样本线
可以设置比所描述的样本线更多的候选参考样本线,或者还可以设置更少的候选参考样本线。并且,被设置为候选参考样本线的非相邻参考样本线的数量或位置不限于所描述的示例。例如,可以将第一非相邻参考样本线及第三非相邻参考样本线设置为候选参考样本线,或者可以将第二非相邻参考样本线及第三非相邻参考样本线设置为候选参考样本线。可替代地,还可以将第一非相邻参考样本线、第二非相邻参考样本线及第三非相邻参考样本线均设置为候选参考样本线。
可以基于当前块的大小、形状、位置、子块划分与否或帧内预测模式中的至少一个来确定候选参考样本线的数量或类型。
还可以基于当前块的位置、大小、形状或相邻块的预测模式中的至少一个确定当前块的参考样本线。例如,当当前块与图像、图块、条带或编码树单元的边界接触时,可以将第一个参考样本线确定为当前块的参考样本线。
可替代地,当当前块为非正方形时,可以将相邻参考样本线设置为当前块的参考样本线。可替代地,当前块的宽度及高度比为阈值以上或阈值以下时,可以将相邻参考样本线确定为当前块的参考样本线。
参考样本线可以包括位于当前块上方的上方参考样本及位于当前块左侧的左侧参考样本。可以从当前块周边的重建样本导出上方参考样本及左侧参考样本。所述重建样本可以处于应用环路滤波器之前的状态。
接下来,可以确定当前块的帧内预测模式(S2002)。对于当前块的帧内预测模式而言,可以将非角度帧内预测模式或角度帧内预测模式中的至少一个确定为当前块的帧内预测模式。非角度帧内预测模式包括平面(planer)及DC,并且角度帧内预测模式包括从左下对角线方向至右上对角线方向的33个或65个模式。
图21是示出帧内预测模式的图。
图21(a)示出了35种帧内预测模式,并且图21(b)示出了67种帧内预测模式。
可以定义与图21所示的相比更多或更少数量的帧内预测模式。
可以基于与当前块相邻的相邻块的帧内预测模式来设置最可能模式(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时,不用信号发送默认模式标志,并且可以将所述默认模式标志的值设置为预定义的值(即,假)。
当确定当前块的帧内预测模式时,可以基于所确定的帧内预测模式来获得当前块的预测样本(S2003)。
当选择DC模式时,可以基于参考样本的平均值生成与当前块相关的预测样本。具体地,可以基于参考样本的平均值生成预测块内整体样本的值。可以使用位于当前块上方的上方参考样本及位于当前块左侧的左侧参考样本中的至少一个来导出平均值。
根据当前块的形状,导出平均值时使用的参考样本的数量或范围会不同。例如,当当前块为宽度大于高度的非正方形块时,可以仅使用上方参考样本来计算平均值。另一方面,当当前块为宽度小于高度的非正方形块时,可以仅使用左侧参考样本来计算平均值。即,当前块的宽度及高度不同时,可以仅使用与长度更长一侧相邻的参考样本来计算平均值。可替代地,可以基于当前块的宽度和高度比率来确定是否仅使用上方参考样本来计算平均值或者仅使用左侧参考样本来计算平均值。
当选择平面模式时,可使用水平方向预测样本和垂直方向预测样本来获得预测样本。其中,基于位于与预测样本相同的水平线上的左侧参考样本及右侧参考样本获得水平方向预测样本,并且基于位于与预测样本相同的垂直线上的上方参考样本及下方参考样本获得垂直方向预测样本。其中,可以通过复制与当前块的右上角相邻的参考样本而生成右侧参考样本,可以通过复制与当前块的左下角相邻的参考样本而生成下方参考样本。可以基于左侧参考样本及右侧参考样本的加权和运算获得水平方向预测样本,并且可以基于上方参考样本及下方参考样本的加权和运算获得垂直方向预测样本。在这种情况下,可以根据预测样本的位置来确定赋予于各参考样本的加权值。可以基于水平方向预测样本及垂直方向预测样本的平均运算或加权和运算获得预测样本。当执行加权和运算时,可以基于预测样本的位置来确定赋予于水平方向预测样本及垂直方向预测样本的加权值。
当选择角度预测模式时,可以确定表示所选的角度预测模式的预测方向(或预测角度)的参数。下表4示出了每种帧内预测模式的帧内预测参数intraPredAng。
【表4】
Figure GDA0003148692470000371
Figure GDA0003148692470000381
表4示出了当定义了35个帧内预测模式时具有2至34中任一个的索引的每个帧内预测模式的帧内方向参数。当定义了超过33种角度帧内预测模式时,表4进一步细分为设置每个角度帧内预测模式的帧内方向参数。
在将当前块的上方参考样本及左侧参考样本排列成一列之后,可以基于帧内方向参数的值获得预测样本。在这种情况下,当帧内方向参数的值为负数时,可以将左侧参考样本和上方参考样本排列成一列。
图22和图23是示出将参考样本排列成一行的一维阵列的示例的图。
图22示出了在垂直方向上排列参考样本的垂直方向一维阵列的示例,并且图23示出了在水平方向上排列参考样本的水平方向一维阵列的示例。将在定义35个帧内预测模式的假设下描述图22和23的实施例。
当帧内预测模式索引为11至18中的任一个时,可以应用以逆时针方向旋转上方参考样本的水平方向一维排列,当帧内预测模式索引为19至25中的任一个时,可以应用以顺时针方向旋转左侧参考样本的垂直方向一维排列。将参考样本排列成一列时,可以考虑帧内预测模式角度。
基于帧内方向参数可以确定参考样本确定参数。参考样本确定参数可以包括用于指定参考样本的参考样本索引及用于确定应用于参考样本的加权值的加权值参数。
参考样本索引iIdx和加权值参数ifact可以分别通过以下等式9和等式10获得。
【等式9】
iIdx=(y+1)*Pang/32
【等式10】
ifact=[(y+1)*Pang]&31
在等式9和10中,Pang表示帧内方向参数。根据参考样本索引iIdx指定的参考样本相当于整数像素(Integer pel)。
为了导出预测样本,可以指定一个以上的参考样本。具体地,考虑预测模式的斜率,可以指定导出预测样本时使用的参考样本的位置。例如,使用参考样本索引iIdx,可以指定导出预测样本时使用的参考样本。
在这种情况下,当帧内预测模式的斜率不由一个参考样本表示时,可以通过对多个参考样本进行插值来生成预测样本。例如,当帧内预测模式的斜率为预测样本与第一参考样本之间的斜率及预测样本与第二参考样本之间的斜率之间的值时,可以对第一参考样本及第二参考样本进行插值来获得预测样本。即,当跟随帧内预测角度的角线(AngularLine)不经过位于整数像素的参考样本时,可以对与所述角线经过的位置的左右或上下相邻的参考样本进行插值来获得预测样本。
以下等式11示出了基于参考样本获得预测样本的示例。
【等式11】
P(x,y)=((32-ifact)/32)*Ref_1D(x+iIdx+1)+(ifact/32)*Ref_1D(x+iIdx+2)
在等式11中,P表示预测样本,并且Ref_1D表示一维排列的参考样本中的任何一个。在这种情况下,可以根据预测样本的位置(x,y)及参考样本索引iIdx确定参考样本的位置。
当帧内预测模式的斜率可表示为一个参考样本时,可以将加权值参数ifact设置为0。因此,等式11可以简化为如以下等式12所示。
【等式12】
P(x,y)=Ref_1D(x+iIdx+1)
还可以基于多个帧内预测模式对当前块执行帧内预测。例如,可以针对不同预测样本导出帧内预测模式,并且可以基于分配到各个预测样本的帧内预测模式来导出预测样本。
可替代地,可以针对不同区域导出帧内预测模式,并且可以基于分配到各个区域的帧内预测模式对各区域执行帧内预测。其中,所述区域可以包括至少一个样本。可以基于当前块的大小、形状或帧内预测模式中的至少一个自适应地确定所述区域的大小或形状中的至少一个。可替代地,在编码器及解码器中,有可能预定义区域的大小或形状中的至少一个,而与当前块的大小或形状无关。
可替代地,可以分别基于多个帧内预测执行帧内预测,并且可以基于通过多次的帧内预测获得的多个预测样本的平均运算或加权和运算导出最终预测样本。例如,可以基于第一帧内预测模式执行帧内预测来获得第一预测样本,并且可以基于第二帧内预测模式执行帧内预测来获得第二预测样本。之后,基于第一预测样本及第二预测样本之间的平均运算或加权和运算,可获得的最终预测样本。在这种情况下,可以考虑第一帧内预测模式是否为非角度/角度预测模式、第二帧内预测模式是否为非角度/角度预测模式或相邻块的帧内预测模式中的至少一个来确定分别分配于第一预测样本及第二预测样本的加权值。
多个帧内预测模式可以是非角度帧内预测模式和角度预测模式的组合、角度预测模式的组合或非角度预测模式的组合。
图24是示出在角度帧内预测模式与平行于x轴的直线之间形成的角度的图。
如图24所示的示例中,角度预测模式可以存在于左下对角线方向与右上对角线方向之间。当被描述为x轴和角度预测模式形成的角度时,角度预测模式可存在于45度(左下对角线方向)至-135度(右上对角线方向)之间。
在当前块是非正方形形状的情况下,会发生如下情况,根据当前块的帧内预测模式,使用位于跟随帧内预测角度的角线上的参考样本中更远离预测样本的参考样本而不是更接近预测样本的参考样本来导出预测样本。
图25是示出当当前块是非正方形时获得预测样本的实施例的图。
例如,如在图25(a)所示的示例中,假设当前块是宽度大于高度的非正方形,并且当前块的帧内预测模式是角度在0度至45度之间的角度帧内预测模式。在这种情况下,在导出当前块的右侧列附近的预测样本A时,会发生使用位于所述角度的角度模式上的参考样本中远离所述预测样本的左侧参考样本L来代替接近所述预测样本的上方参考样本T的情况。
作为另一示例,如在图25(b)所示的示例中,假设当前块是高度大于宽度的非正方形,并且当前块的帧内预测模式是角度在-90度至-135度之间的角度帧内预测模式。在上述情况下,在导出当前块的下方行附近的预测样本A时,会发生使用位于所述角度的角度模式上的参考样本中远离所述预测样本的上方参考样本T来代替接近所述预测样本的左侧参考样本L的情况。
为了解除如上问题,当当前块为非正方形时,可以将当前块的帧内预测模式替换为反方向的帧内预测模式。因此,对于非正方形的块,可以使用具有比图21所示的角度预测模式的角度更大或更小的角度的角度预测模式。这种角度帧内预测模式可被定义为广角帧内预测模式。广角帧内预测模式表示不落入45度至-135度范围内的角度帧内预测模式。
图26是示出广角帧内预测模式的图。
在图26所示的示例中,索引为-1至-14的帧内预测模式和索引为67至80的帧内预测模式表示广角帧内预测模式。
尽管在图26中示出了具有大于45度的角度的14个广角帧内预测模式(-1至-14)和具有小于-135度的角度的14个广角帧内预测模式(67至80),但可以定义更多或更少数量的广角帧内预测模式。
当使用广角帧内预测模式时,上方参考样本的长度设置为2W+1,左侧参考样本的长度设置为2H+1。
当使用广角帧内预测模式时,可以使用参考样本T预测图25(a)所示的样本A,并且可以使用参考样本L预测图25(b)所示的样本A。
通过将现有帧内预测模式和N个广角帧内预测模式相加,可以使用总共67+N个帧内预测模式。例如,表5示出了当定义了20个广角帧内预测模式时帧内预测模式的帧内方向参数。
【表5】
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
当当前块是非正方形的并且在步骤S2002中获取的当前块的帧内预测模式落入变换范围内时,可以将当前块的帧内预测模式变换为广角帧内预测模式。可以基于当前块的大小、形状或比率中的至少一个来确定所述变换范围。其中,所述比率可以表示当前块的宽度及高度之间的比率。
当当前块为宽度大于高度的非正方形时,可以将变换范围设置为右上对角线方向的帧内预测模式索引(例如,66)至(右上对角线方向的帧内预测模式的索引-N)。其中,N可以基于当前块的比率来确定。当当前块的帧内预测模式落入变换范围内时,可以将所述帧内预测模式变换为广角帧内预测模式。可以从所述帧内预测模式减去预定义的值来执行所述变换,所述预定义的值可以是除了广角帧内预测模式之外的帧内预测模式的总数量(例如,67)。
根据所述实施例,可以将第66个至第53个之间的帧内预测模式分别变换为第-1个至第-14个之间的广角帧内预测模式。
当当前块为高度大于宽度的非正方形时,可以将变换范围设置为从左下对角线方向的帧内预测模式索引(例如,2)至(左下对角线方向的帧内预测模式的索引+M)。其中,M可以基于当前块的比率来确定。当当前块的帧内预测模式落入变换范围内时,可以将所述帧内预测模式变换为广角帧内预测模式。可以在所述帧内预测模式加上预定义的值来执行所述变换,预定义的值可以是除了广角帧内预测模式之外的角度帧内预测模式的总数量(例如,65)。
根据所述实施例,将第2个至第15个之间的帧内预测模式分别变换为第67个至第80个之间的广角帧内预测模式。
以下,将落入变换范围内的帧内预测模式称为广角帧内替换预测模式。
变换范围可以基于当前块的比率来确定。例如,表6和表7各自示出当定义了除广角帧内预测模式之外的35个帧内预测模式和67个帧内预测模式时的变换范围。
【表6】
条件 替换帧内预测模式
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
【表7】
条件 替换帧内预测模式
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
如表6和表7中所示的示例,落入变换范围中的广角帧内替换预测模式的数量可以根据当前块的比率而不同。
通过细分当前块的比率,可以如表8所示地设置变换范围。
【表8】
条件 替换帧内预测模式
W/H=16 模式12,13,14,15
W/H=8 模式12,13
W/H=4 模式2,3,4,5,6,7,8,9,10,11
H/W=2 模式2,3,4,5,6,7
H/W=1
W/H=1/2 模式61,62,63,64,65,66
W/H=1/4 模式57,58,59,60,61,62,63,64,65,66
W/H=1/8 模式55,56
H/W=1/16 模式53,54,55,56
当将非相邻参考样本线确定为当前块的参考样本线时,或者当使用用于选择多个参考样本线中的任一个的多线帧内预测编码方法时,可以设置为不使用广角帧内预测模式。即,即使当前块为非正方形,并且当前块的帧内预测模式落入变换范围内,也可能不将当前块的帧内预测模式变换为广角帧内预测模式。
可替代地,当将当前块的帧内预测模式确定为广角帧内预测模式时,可以将非相邻参考样本线设置为不可用作当前块的参考样本线,或者设置为不使用用于选择多个参考样本线中的任一个的多线帧内预测编码方法。当不使用多线帧内预测编码方法时,可以将相邻参考样本线设置为当前块的参考样本线。
当不使用广角帧内预测模式时,将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。
若通过帧内预测执行结果来生成预测块,则可以基于预测块中包括的每个预测样本的位置来更新预测样本。如上所述的更新方法可以被称为基于样本位置的帧内加权预测方法(或位置相关的预测组合(Position Dependent Prediction Combination,PDPC))。
可以考虑当前块的帧内预测模式、当前块的参考样本线、当前块的大小或颜色分量来确定是否要使用PDPC。例如,当前块的帧内预测模式为平面模式、DC模式、垂直方向模式、水平方向模式、索引值比垂直方向更小的模式或索引值比水平方向更大的模式中的至少一个时,可以使用PDPC。可替代地,可以仅在当前块的宽度或高度中的至少一个大于4时,才使用PDPC。可替代地,可以仅在当前块的参考图像线的索引为0时,才使用PDPC。可替代地,可以仅在当前块的参考图像线的索引大于或等于预定义的值时,才使用PDPC。可替代地,可以仅针对亮度分量才使用PDPC。可替代地,可以根据是否满足所述列举的条件中的两个以上,确定是否使用PDPC。
作为另一例,可以通过码流用信号发送指示是否应用PDPC的信息。
若通过帧内预测样本获取预测样本,则基于获取的预测样本的位置,可以确定用于校正所述预测样本的参考样本。为了便于说明,在后续的实施例中,将用于校正预测样本的参考样本称为PDPC参考样本。而且,将通过帧内预测获取的预测样本称为第一预测样本,将校正第一预测样本而获取的预测样本称为第二预测样本。
图27是示出应用PDPC的实施例的图。
利用至少一个PDPC参考样本,可以校正第一预测样本。PDPC参考样本可以包括与当前块的左上角相邻的参考样本、位于当前块的上方的上方参考样本或位于当前块的左侧的左侧参考样本中的至少一个。
可以将属于当前块的参考样本线的参考样本中的至少一个设置为PDPC参考样本。可替代地,与当前块的参考样本线无关的是,可以将将属于索引为0的参考样本线的参考样本中的至少一个设置为PDPC参考样本。例如,即使利用索引为1或索引为2的参考样本线中包括的参考样本来获取第一预测样本,也可以利用索引为0的参考样本线中包括的参考样本来获取第二预测样本。
可以考虑当前块的帧内预测模式、当前块的大小、当前块的形状或第一预测样本的位置中的至少一个来确定用于校正第一预测样本的PDPC参考样本的数量或位置。
例如,在当前块的帧内预测模式为平面模式或DC模式时,可以利用上方参考样本及左侧参考样本来获取第二预测样本。此时,上方参考样本可以是与第一预测样本垂直的参考样本(例如,x坐标相同的参考样本),左侧参考样本可以是与第一预测样本水平的参考样本(例如,y坐标相同的参考样本)。
在当前块的帧内预测模式为水平帧内预测模式时,可以利用上方参考样本获取第二预测样本。此时,上方参考样本可以是与第一预测样本垂直的参考样本。
在当前块的帧内预测模式为垂直帧内预测模式时,可以利用左侧参考样本获取第二预测样本。此时,左侧参考样本可以是与第一预测样本水平的参考样本。
在当前块的帧内预测模式为左下对角线帧内预测模式或右上对角线帧内预测模式时,可以基于左上参考样本、上方参考样本和左侧参考样本来获取第二预测样本。左上参考样本可以是与当前块的左上角相邻的参考样本(例如,(-1,-1)位置的参考样本)。上方参考样本可以是位于第一预测样本的右上对角线方向的参考样本,左侧参考样本可以是位于第一预测样本的左下对角线方向的参考样本。
总之,当第一预测样本的位置为(x,y)时,可以将R(-1,-1)设置为左上参考样本,R(x+y+1,-1)或R(x,-1)设置为上方参考样本。另外,可以将R(-1,x+y+1)或R(-1,y)设置为左侧参考样本。
可以多次对当前块应用一种预测模式,或者可以重复地对当前块应用多种预测模式。如此,可以将使用同种或异种预测模式的预测方法称为组合预测模式(或多假设预测模式,Multi-hypothesis Prediction Mode)。
组合预测模式可以包括以下各项中的至少一项:组合了合并模式和合并模式的模式、组合了帧间预测和帧内预测的模式、组合了合并模式和高级运动矢量预测模式的模式、以及组合了合并模式和帧内预测的模式。
在组合预测模式中,可以基于第一预测模式来生成第一预测块,并且可以基于第二预测模式来生成第二预测块。然后,可以基于第一预测块和第二预测块的加权和运算来生成第三预测块。可以将第三预测块设置为当前块的最终预测块。
可以基于当前块的大小或形状来确定是否使用组合预测模式。例如,可以基于编码块的大小、编码块中包括的样本数、编码块的宽度和编码块的高度中的至少一项来确定是否使用组合预测模式。例如,当编码块的宽度或高度中的至少一个大于或等于128时,或者当编码块中包括的样本数小于或等于64时,可以不将组合预测模式应用于编码块。
另外,可以通过码流用信号发送指示是否向当前块应用了组合预测模式的信息。例如,所述信息可以是1比特标志。例如,可以通过码流用信号发送指示是否使用组合了合并模式和帧内预测的组合预测模式的标志mh_intra_flag。mh_intra_flag为1指示使用组合了合并模式和帧内预测的组合预测模式,并且mh_intra_flag为0指示不使用组合了合并模式和帧内预测的组合预测模式。
仅当当前块的预测模式是帧间预测模式并且将合并模式应用于当前块时,才可以将组合了合并模式和帧内预测的组合预测模式应用于当前块。即,当指示是否将合并模式应用于当前块的merge_flag标志的值为1时,可以用信号发送mh_intra_flag。
在组合了合并模式和帧内预测的组合预测模式中,可以将当前块的帧内预测模式设置为预定义的帧内预测模式。例如,当使用组合预测模式时,可以将当前块的帧内预测模式设置为平面模式。
作为另一示例,当使用组合了合并模式和帧内预测的组合预测模式时,可以将候选帧内预测模式之一确定为当前块的帧内预测模式。在此,候选帧内预测模式可以包括非角度帧内预测模式和特定方向的角度帧内预测模式中的至少一种。在此,非角度帧内预测模式包括DC模式和平面模式中的至少一种,并且角度帧内预测模式包括水平方向的帧内预测模式、垂直方向的帧内预测模式以及对角线方向的帧内预测模式中的至少一种。例如,当使用组合预测模式时,可以仅将DC模式、平面模式、水平方向的帧内预测模式或垂直方向的帧内预测模式设置为当前块的帧内预测模式。可替代地,当使用组合预测模式时,可以仅将平面模式、水平方向的帧内预测模式或垂直方向的帧内预测模式设置为当前块的帧内预测模式。可替代地,当使用组合预测模式时,可以仅将DC模式、平面模式或垂直方向的帧内预测模式设置为当前块的帧内预测模式。可替代地,当使用组合预测模式时,可以仅将DC模式、平面模式或水平方向的帧内预测模式设置为当前块的帧内预测模式。
可以通过码流用信号发送用于指定候选帧内预测模式中的任何一种的索引信息。例如,可以通过码流用信号发送指定候选帧内预测模式中的任何一种的索引mh_intra_idx。表9和表10示出了根据mh_intra_idx的值的帧内预测模式。可以将由mh_intra_idx指示的帧内预测模式确定为当前块的帧内预测模式。
【表9】
mh_intra_idx 0 1 2 3
帧内模式 平面模式 DC模式 垂直模式 水平模式
【表10】
mh_intra_idx 0 1 2
帧内模式 平面模式 垂直模式 水平模式
在编码器和解码器中,候选帧内预测模式的数量可以具有固定值。可替代地,候选帧内预测模式的数量或类型可以根据当前块的大小、当前块的形状或者是否通过帧内预测对相邻块进行编码中的至少一个而不同。
作为另一示例,当应用组合了合并模式和帧内预测的组合预测模式时,可以基于MPM来确定当前块的帧内预测模式。在这种情况下,当应用一般帧内预测时,MPM列表中包括的MPM的数量可以与当应用组合预测模式时MPM列表中包括的MPM的数量不同。例如,当不应用组合预测模式时,MPM列表可以包括6或5个MPM,而当应用组合预测模式时,MPM列表可以包括4或3个MPM。即,当执行一般帧内预测时,使用N个MPM,而当应用组合预测模式时,可以使用少于N个MPM。
例如,假设当应用一般帧内预测模式时,基于与当前块相邻的相邻块的帧内预测模式导出的MPM是平面模式、DC模式、INTRA_MODE32、INTRA_MODE31、INTRA_MODE33和INTRA_MODE30。当将组合预测模式应用于当前块时,可以仅使用6个MPM中的一些来确定当前块的帧内预测模式。例如,可以使用包括MPM中具有最小索引的3个MPM(即,平面模式、DC模式和INTRA_MODE32)的MPM列表来确定当前块的帧内预测模式。可替代地,可以将MPM中具有预定索引值的任一个确定为当前块的帧内预测模式。
作为另一示例,可以将当应用一般帧内预测时用于确定当前块的帧内预测模式的MPM的数量设置为与当应用组合预测模式时用于确定当前块的帧内预测模式的MPM的数量相同。
当应用组合预测模式时,可以省略对MPM标志的编码,并且MPM标志可以被视为真。即,当应用组合预测模式时,可以将MPM中的任一个确定为当前块的帧内预测模式。
当将组合了合并模式和帧内预测的组合预测模式应用于当前块时,可以设置为不使用多线帧内预测编码方法。当不使用多线帧内预测编码方法时,可以将相邻参考样本线用于当前块的帧内预测。
可替代地,当将组合了合并模式和帧内预测的组合预测模式应用于当前块时,可以设置为使用多线帧内预测编码方法。可以通过码流用信号发送用于在多个参考样本线中确定当前块的参考样本线的信息。可替代地,可以通过考虑当前块的大小、当前块的形状、当前块的帧内预测模式或相邻块的参考样本线中的至少一项来确定当前块的参考样本线。
可以根据当前块的参考样本线来不同地设置可用候选帧内预测模式的数量。例如,当使用相邻参考样本线时,候选帧内预测模式可以包括平面模式、DC模式、水平方向的帧内预测模式、垂直方向的帧内预测模式、左下对角线方向的帧内预测模式以及右上对角线方向的帧内预测模式中的至少一种。另一方面,当使用非相邻参考样本线时,候选帧内预测模式可以包括水平方向的帧内预测模式、垂直方向的帧内预测模式、左下对角线方向的帧内预测模式以及右上对角线方向的帧内预测模式中的至少一种。
可以使用在合并模式下选择的合并候选来生成第一预测块,并且可以使用帧内预测模式来生成第二预测块。在这种情况下,当生成第一预测块时,可以设置为不将三角形划分应用于当前块。即,在组合了合并模式和帧内预测的组合预测模式下,可能不允许三角形划分。另外,当生成第二预测块时,可以设置为不将PDPC应用于当前块。即,在组合了合并模式和帧内预测的组合预测模式中,可能不允许PDPC。
可以基于第一预测块和第二预测块的加权和运算来生成第三预测块。例如,等式13示出了基于第一预测块和第二预测块的加权和运算来生成第三预测块的示例的图。
【等式13】
Pcomb=(w*Pmerge+(N-w)*Pintra+4)>>log2N
在等式13中,Pmerge表示基于合并模式获得的第一预测块,并且Pintra表示基于帧内预测获得的第二预测块。Pcomb表示通过组合第一预测块和第二预测块而获得的第三预测块。w表示应用于第一预测块的第一加权值。可以通过从常数N减去第一加权值w来导出应用于第二预测块的第二加权值。在此,N可以具有由编码器和解码器预定义的值。例如,N可以是4或8。可替代地,可以基于当前块的大小、形状和帧内预测模式中的至少一项来导出常数N。
与等式13中所示的示例不同,可以将w设置为第二加权值,并且可以将通过从预定常数N减去第二加权值而获得的值设置为第一加权值。
可以基于当前块的帧内预测模式以及合并模式是否具有双向运动信息中的至少一项来确定应用于第一预测块和第二预测块的加权值。例如,当当前块的帧内预测模式是角度预测模式时的第一加权值w可以大于当当前块的帧内预测模式是非角度预测模式时的第一加权值w。可替代地,当通过合并候选执行双向预测时的第一加权值w可以大于通过合并候选执行单向预测时的第一加权值w。
作为另一示例,可以考虑与当前块相邻的相邻块的预测模式来确定加权值。在此,相邻块可以包括与当前块的上方相邻的上相邻块、与当前块的左侧相邻的左相邻块、以及与当前块的左上角相邻的左上相邻块中的至少一个。可以基于在与当前块相邻的相邻块中通过帧内预测编码的相邻块的数量来确定加权值。例如,随着与当前块相邻的相邻块中通过帧内预测编码的相邻块的数量增加,第一加权值可以具有较小的值,并且第二加权值可以具有较大的值。另一方面,随着与当前块相邻的相邻块中通过非帧内预测编码的相邻块的数量减少,第一加权值可以具有较大的值,并且第二加权值可以具有较小的值。例如,当左相邻块和上相邻块都通过帧内预测进行编码时,第二加权值可以被设置为n。当左相邻块和上相邻块中的仅一个通过帧内预测进行编码时,第二加权值可以被设置为n/2。当左相邻块和上相邻块都不通过帧内预测进行编码时,第二加权值可以被设置为n/4。在此,n表示等于或小于N的整数。
可以以当前块中的样本或子块为单位确定加权值。例如,当前块可以被划分为多个子块,并且可以将应用于每个子块的加权值设置为具有不同的值。在这种情况下,在编码器和解码器中,子块的数量可以具有固定值。可替代地,可以基于当前块的大小、当前块的形状、当前块的帧内预测模式和相邻块的预测模式中的至少一项来自适应地确定子块的数量。
图28是示出应用加权值的实施例的图。
当前块可以被划分为多个子块,并且可以将应用于每个子块的加权值设置为不同的值。例如,如在图28(a)和图28(b)所示的示例中,对于包括位于当前块左上角的样本的子块,第二加权值被设置为大于第一加权值。另一方面,对于包括位于当前块右下角的样本的子块,可以将第一加权值设置为大于第二加权值。
子块的第三预测子块可以通过对与该子块相对应的第一预测子块和第二预测子块进行加权预测来获得。在这种情况下,如在图28所示的示例中,可以针对每个子块不同地设置用于加权预测的加权值。
取决于合并候选是否具有双向运动信息,可以不同地确定分配给子块的加权值。
图29是示出了根据合并候选是否具有双向运动信息而将不同的加权值分配给子块的示例的图。
与当合并候选具有单向运动信息时相比,当合并候选具有双向运动信息时,可以将分配给至少一个子块的第一加权值w设置为更大的值。例如,在图29(a)和图29(b)中,示出了对所有子块,当应用双向预测时所应用的加权值w具有大于当应用单向预测时所应用的加权值w的值。
可替代地,可以基于当前块的帧内预测模式来确定应用于子块的加权值。
图30是示出了根据当前块的帧内预测模式而将不同的加权值分配给子块的示例的图。
当当前块的帧内预测模式为垂直方向时,可以将位于当前块上方的子块的第二加权值设置为大于位于当前块下方的子块的第二加权值。
例如,对于位于当前块上方的子块,可以将第二加权值设置为大于第一加权值,而对于位于当前块下方的子块,则可以将第一加权值和第二加权值设置为相等,或者可以将第一加权值设置为大于第二加权值。
当当前块的帧内预测模式为水平方向时,可以将位于当前块左侧的子块的第二加权值设置为大于位于当前块右侧的子块的第二加权值。
例如,对于位于当前块左侧的子块,可以将第二加权值设置为大于第一加权值,而对于位于当前块右侧的子块,则可以将第一加权值和第二加权值设置为相等,或者可以将第一加权值设置为大于第二加权值。
作为另一示例,当当前块的帧内预测模式为垂直方向时,将位于当前块上方的子块的第一加权值设置为大于位于当前块下方的子块的第一加权值,或者当块的帧内预测模式为水平方向时,可以将位于当前块左侧的子块的第一加权值设置为大于位于当前块右侧的子块的第一加权值。
作为另一示例,可以基于与当前块相邻的相邻块的预测模式来确定分配给每个子块的加权值。例如,当当前块的上相邻块通过帧内预测进行编码而当前块的左相邻块未通过帧内预测进行编码时,可以将位于当前块上方的子块的第二加权值设置为大于位于当前块下方的子块的第二加权值。另一方面,当当前块的上相邻块未通过帧内预测进行编码而当前块的左相邻块通过帧内预测进行编码时,可以将位于当前块左侧的子块的第二加权值设置为大于位于当前块右侧的子块的第二加权值。
对于多个子块中的至少一个,可以将第一加权值或第二加权值设置为0。即,对于多个子块中的至少一个,可以将第一预测子块或第二预测子块设置为第三预测子块。因此,可以不对多个子块中的至少一个子块执行组合预测。例如,对于多个子块中的至少一个,第一加权值w可以设置为0,或者第一加权值w可以设置为常数N。
可以将向其应用组合了合并模式和帧内预测的组合预测模式的块视为通过帧间预测来编码。因此,可以将以组合预测模式编码的块的帧内预测模式设置为不可用于导出稍后将被编码/解码的块的帧内预测模式。在导出MPM时,不可用块的帧内预测模式可以被视为平面模式。
另一方面,可以将以组合预测模式编码的块的运动信息设置为可用于导出稍后将被编码/解码的块的运动信息。
在组合了合并模式和合并模式的模式中,可以使用多个合并候选来执行运动补偿预测。具体地,可以使用第一合并候选来生成第一预测块,并且可以使用第二合并候选来生成第二预测块。可以基于第一预测块和第二预测块的加权和运算来生成第三预测块。
可以通过码流分别用信号发送用于指定第一合并候选和第二合并候选的信息。例如,可以通过码流用信号发送用于指定第一合并候选的索引信息merge_idx和用于指定第二合并候选的索引信息merge_2nd_idx。可以基于索引信息merge_2nd_idx和索引信息merge_idx来确定第二合并候选。
索引信息merge_idx指定在合并候选列表中包括的合并候选中的任一个。
索引信息merge_2nd_idx可以指定除了由merge_idx指定的合并候选之外的剩余合并候选中的任一个。因此,当merge_2nd_idx的值小于merge_idx的值时,可以将索引为merge_2nd_idx的值的合并候选设置为第二合并候选。当merge_2nd_idx的值等于或大于merge_idx的值时,可以将索引值为merge_2nd_idx的值加上1的合并候选设置为第二合并候选。
可替代地,可以考虑候选块的搜索顺序来指定第二合并候选。
图31是示出了考虑候选块的搜索顺序来指定第二合并候选的示例的图。
在图31所示的示例中,标记在相邻样本和非相邻样本上的索引指示了候选块的搜索顺序。例如,可从A0位置到A14位置依次搜索候选块。
当将块A4选择为第一合并候选时,可以将从搜索顺序在A4之后的候选块中导出的合并候选指定为第二合并候选。例如,可以将从A5中导出的合并候选选择为第二合并候选。在位置A5处的候选块无法用作合并候选时,可以将从下一候选块中导出的合并候选选择为第二合并候选。
还可以在从非相邻块中导出的合并候选中选择第一合并候选和第二合并候选。
图32是示出了从非相邻块导出的合并候选中选择第一合并候选和第二合并候选的示例的图。
如图32所示的示例,可以分别将从不与当前块相邻的第一候选块和第二候选块中导出的合并候选选择为第一合并候选和第二合并候选。在这种情况下,第一候选块所属的块行和第二候选块所属的块行可以不同。例如,第一合并候选可以从A5至A10中的任一个候选块中导出,并且第二合并候选可以从A11至A15中的任一个候选块中导出。
可替代地,可以设置为使得第一候选块和第二候选块不包括在相同的行(line)(例如,行或列)中。
作为另一示例,可以基于第一合并候选来指定第二合并候选。在这种情况下,第一合并候选可以由从码流用信号发送的索引信息merge_idx来指定。例如,可以将与第一合并候选相邻的合并候选指定为第二合并候选。在此,与第一合并候选相邻的合并候选可以意指与第一合并候选的索引差值为1的合并候选。例如,可以将索引值为merge_idx+1的合并候选设置为第二合并候选。在这种情况下,当merge_idx+1的值大于最大索引值时(或当第一合并候选的索引值为最大索引时),可以将索引值为merge_idx-1的合并候选或者索引值为预定义的值(例如,0)的合并候选设置为第二合并候选。
可替代地,与第一合并候选相邻的合并候选可以意指从在空间上与用于导出第一合并候选的候选块相邻的候选块中导出的合并候选。在此,候选块的相邻候选块可以意指候选块的左侧、右侧、上方、下方或在对角线方向上相邻的块。
作为另一示例,可以基于第一合并候选的运动信息来指定第二合并候选。例如,可以将具有与第一合并候选相同的参考图像的合并候选选择为第二合并候选。当存在多个与第一合并候选共享相同的参考图像的合并候选时,可以将所述多个合并候选中的索引最小的合并候选、与第一合并候选的索引差值最小的合并候选、或与第一合并候选的运动矢量差值最小的合并候选选择为第二合并候选。可替代地,可以基于指定多个合并候选中的任一个的索引信息来选择第二合并候选。
可替代地,当第一合并候选为第一方向的单向预测时,可以将包括第二方向上的运动信息的合并候选设置为第二合并候选。例如,当第一合并候选具有方向L0的运动信息时,可以将具有方向L1的运动信息的合并候选设置为第二合并候选。当存在多个具有方向L1的运动信息的合并候选时,将所述多个合并候选中的索引最小的合并候选或与第一合并候选的索引差值最小的合并候选设置为第二合并候选。可替代地,可以基于指定多个合并候选中的任一个的索引信息来选择第二合并候选。
作为另一示例,可以将从与当前块相邻的相邻块中导出的合并候选中的一个设置为第一合并候选,并且可以将从不与当前块相邻的非相邻块中导出的合并候选中的一个设置为第二合并候选。
作为另一示例,可以将从位于当前块上方的候选块中导出的合并候选中的一个设置为第一合并候选,并且可以将从位于左侧的候选块中导出的合并候选中的一个设置为第二合并候选。
在上述组合了合并模式和合并模式的组合预测模式中,所述合并模式可以意指基于平移运动模型的合并模式(下文中称为平移合并模式)或者基于仿射运动模型的合并模式(下文中称为仿射合并模式)。即,可以通过组合平移合并模式和平移合并模式或者通过组合仿射合并模式和仿射合并模式来执行运动补偿预测。
作为另一示例,当基于仿射运动信息对用于导出第一合并候选的相邻块进行编码时,可以将从基于仿射运动信息编码的相邻块导出的合并候选设置为第二合并候选。例如,当第一合并候选是仿射合并候选时,或者当第一合并候选是根据基于仿射运动信息编码的编码块中的子块的运动信息导出的时,可以将仿射合并候选或根据基于仿射运动信息进行编码的编码块中的子块的运动信息导出的合并候选选择为第二合并候选。在此,第二合并候选可以包括满足以上条件的合并候选中按搜索顺序最接近第一合并候选的合并候选、与第一合并候选的索引差值最小的合并候选、具有最小索引的合并候选以及与第一合并候选的运动矢量差值最小的合并候选中的至少一个。
与上述示例相反,当基于平移运动信息(即,非仿射运动信息)对用于导出第一合并候选的相邻块进行编码时,可以将从基于平移运动信息编码的相邻块中导出的合并候选设置为第二合并候选。例如,当第一合并候选是非仿射合并候选时,可以将非仿射合并候选选择为第二合并候选。在此,第二合并候选可以包括非仿射合并候选中按搜索顺序最接近第一合并候选的合并候选、与第一合并候选的索引差值最小的合并候选、具有最小索引的合并候选以及与第一合并候选的运动矢量差值最小的合并候选中的至少一个。
可替代地,通过将第一合并候选的索引加上或减去偏移量来导出第二合并候选,并且当用于导出第一合并候选和第二合并候选的相邻块的编码方法不同时,可以将第二合并候选可以重新设置为其他合并候选。
图33是用于描述确定第二合并候选的示例的图。
当选择了第一合并候选时,可以将具有通过将第一合并候选的索引加上或减去偏移量导出的索引的合并候选选择为第二合并候选。例如,可以选择具有从码流用信号发送的由merge_idx指示的值作为索引的合并候选作为第一合并候选,并且可以选择具有merge_idx+1作为索引的合并候选作为第二合并候选。
在这种情况下,当第一合并候选是仿射合并候选或是从属于通过仿射运动模型编码的编码块的子块中导出的时,应当将仿射合并候选或从属于通过仿射运动模型编码的编码块的子块导出的合并候选设置为第二合并候选。当具有merge_idx+1作为索引的合并候选不是仿射合并候选、或者不是从属于通过仿射运动模型编码的编码块的子块导出的时,可以将其他合并候选设置为第二合并候选。在此,其他合并候选可以是第一合并候选或仿射合并候选中或从属于通过仿射运动模型编码的编码块的子块导出的合并候选中与merge_idx+1具有最小差值的合并候选。
另一方面,当第一合并候选是非仿射合并候选时,应当将非仿射合并候选设置为第二合并候选。当具有merge_idx+1作为索引的合并候选是仿射合并候选、或者是从属于通过仿射运动模型编码的编码块的子块导出的时,可以将其他合并候选设置为第二合并候选。在此,其他合并候选可以是第一合并候选或非仿射合并候选中与merge_idx+1具有最小差值的合并候选。例如,在图33所示的示例中,示出了将索引为merge_idx+2的合并候选A3设置为第二合并候选。
作为另一示例,可以通过将平移合并模式与仿射合并模式组合来执行运动补偿预测。即,第一合并候选或第二合并候选中的任一个可以是仿射合并候选,而另一个可以是非仿射合并候选。
可以通过从第一合并候选中导出的第一预测块和基于第二合并候选导出的第二预测块的加权和运算来获得组合预测块。在这种情况下,可以将应用于第一预测块的加权值设置为大于应用于第二预测块的加权值。
可替代地,可以基于第一合并候选的运动信息和第二合并候选的运动信息来确定加权值。例如,可以基于参考图像与当前图像的输出顺序的差异来确定应用于第一预测块和第二预测块的加权值。具体地,参考图像和当前图像的输出顺序的差异越大,可以将应用于预测块的加权值设置得越小。
可替代地,可以考虑用于导出第一合并候选的候选块(下文中称为第一候选块)和用于导出第二合并候选的候选块(下文中称为第二候选块)的大小或形状来确定应用于第一预测块和第二预测块的加权值。例如,可以将应用于从第一候选块或第二候选块中形状与当前块相似的候选块中导出的预测块的加权值设置为较大值。另一方面,可以将应用于从第一候选块或第二候选块中形状不与当前块相似的候选块中导出的预测块的加权值设置为较小值。
图34是示出基于候选块的形状来确定应用于预测块的加权值的示例的图。
假设当前块为宽度大于高度的非正方形。
可以基于第一合并候选和第二合并候选来导出第一预测块和第二预测块,并且可以基于第一预测块和第二预测块的加权和运算来生成组合预测块。在这种情况下,可以基于第一候选块和第二候选块的形状来确定应用于第一预测块和第二预测块的加权值。
例如,在图34所示的示例中,第一候选块为正方形,第二候选块为宽度大于高度的非正方形。由于第二候选块的形状与当前块相同,因此可以将应用于第二预测块的加权值设置为大于应用于第一预测块的加权值。例如,可以将5/8的加权值应用于第二预测块,并且可以将3/8的加权值应用于第一预测块。等式14示出了基于第一预测块和第二预测块的加权和运算来导出组合预测块的示例。
【等式14】
P(x,y)=(3*P1(x,y)+5*P2(x,y))>>3
P(x,y)表示组合预测块,P1(x,y)表示第一预测块,P2(x,y)表示第二预测块。
作为另一示例,可以基于当前块的形状来确定应用于第一预测块和第二预测块的加权值。例如,在当前块为宽度大于高度的非正方形时,可以向根据基于从第一合并候选和第二合并候选中位于当前块上方的候选块导出的合并候选生成的预测块应用更大的加权值。当第一合并候选和第二合并候选均为从位于当前块上方的候选块中导出时,可以相同地设置应用于第一预测块和第二预测块的加权值。另一方面,当前块为高度大于宽度的非正方形时,可以向根据基于从第一合并候选和第二合并候选中位于当前块左侧的候选块中导出的合并候选来生成的预测块应用更大的加权值。当第一合并候选和第二合并候选均为从位于当前块左侧的候选块中导出时,可以相同地设置应用于第一预测块和第二预测块的加权值。当前块为正方形时,可以相同地设置应用于第一预测块和第二预测块的加权值。
作为另一示例,可以基于当前块与候选块之间的距离来确定应用于每个预测块的加权值。在此,距离可基于与当前块的x轴坐标差值、y轴坐标差值或者这两者中的最小值来导出。可以将应用于从距当前块较小距离的合并候选中导出的预测块的加权值设置为大于应用于从距当前块较大距离的合并候选中导出的预测块的加权值。例如,在图31所示的示例中,第一合并候选从与当前块相邻的相邻块中导出,第二合并候选从不与当前块相邻的非相邻块中导出。在这种情况下,由于第一候选块与当前块之间的x轴距离小于第二候选块与当前块之间的x轴距离,因此可以将应用于第一预测块的加权值设置为大于应用于第二预测块的加权值。
可替代地,当第一合并候选和第二合并候选均从非相邻块中导出时,可以向从所述非相邻块中的距当前块的距离更近的非相邻块中导出的预测块分配更大的加权值。例如,在图32所示的示例中,由于第一候选块与当前块的y轴距离小于第二候选块与当前块的y轴距离,因此可以将应用于第一预测块的加权值设置为大于应用于第二预测块的加权值。
可以基于第一合并候选和第二合并候选来导出整合后的运动信息,并且可以基于整合后的运动信息来对当前块执行运动补偿预测。例如,可以基于第一合并候选的运动矢量和第二合并候选的运动矢量的平均运算或加权和运算来导出当前块的运动矢量。在这种情况下,应用于第一合并候选的运动矢量的加权值和应用于第二合并候选的运动矢量的加权值可以通过上述实施例来确定。
在第一合并候选为非仿射合并候选并且第二仿射合并候选为仿射合并候选的情况下,可以通过缩放第二合并候选的运动矢量来导出当前块的运动矢量。等式15示出了导出当前块运动矢量的示例。
【等式15】
(mvX,mvY)=(mvOx,mvOy)+((mv1x,mv1y)>>M)
在等式15中,(mvX,mvY)表示当前块的运动矢量,(mv0x,mv0y)表示第一合并候选的运动矢量,(mv1x,mv1y)表示第二合并候选的运动矢量。M表示缩放参数。M可以在编码器和解码器中预定义。可替代地,可以根据当前块或候选块的大小来确定缩放参数M的值。例如,当第二候选块的宽度或高度大于32时,可以将M设置为3,否则可以将M设置为2。
第一合并候选或第二合并候选的运动信息可以被存储为向其应用组合了合并模式和合并模式的合并预测模式的块的运动信息。所存储的运动信息可以用于导出稍后将被编码/解码的块的运动信息。
可替代地,可以将所述块划分为多个子块,并且可以将第一合并候选的运动信息和第二合并候选的运动信息之一存储为每个子块的运动信息。在这种情况下,可以将多个子块中的一些子块的运动信息设置为第一合并候选的运动信息,并且可以将其他子块的运动信息设置为第二合并候选的运动信息。
可替代地,基于第一合并候选和第二合并候选的运动信息导出的整合后的运动信息可以存储为向其应用组合了合并模式和合并模式的合并预测模式的块的运动信息。
在组合了合并模式和高级运动矢量预测模式的预测模式中,可以使用从合并候选中导出的运动信息来生成第一预测块,并且可以使用从运动矢量预测候选中导出的运动矢量来生成第二预测块。
在高级运动矢量预测模式中,可以从与当前块相邻的相邻块或同位图像内的同位块中导出运动矢量预测候选。然后,可以指定多个运动矢量预测候选中的任一个,并且可以将所指定的运动矢量预测候选设置为当前块的运动矢量预测结果。然后,可以通过将当前块的运动矢量预测结果与运动矢量差值相加来导出当前块的运动矢量。
在组合了合并模式和高级运动矢量预测模式的预测模式中,可以从同一候选块中导出合并候选和运动矢量预测候选。例如,如果通过merge_idx来指定合并候选,则可以将用于导出所指定的合并候选的候选块的运动矢量设置为运动矢量预测结果。可替代地,如果通过mvp_flag来指定运动矢量预测候选,则可以选择从用于导出所指定的合并候选的候选块中导出的合并候选。
可替代地,用于导出合并候选的候选块和用于导出运动矢量预测候选的候选块可以不同。例如,如果选择从位于当前块上方的候选块中导出的合并候选,则可以设置为选择从位于当前块左侧的候选块中导出的运动矢量预测候选。
可替代地,当通过索引信息选择的合并候选和通过索引信息选择的运动矢量预测候选是从同一候选块中导出时,可以用从与所述候选块相邻的相邻候选块中导出的运动矢量预测候选来替换所述运动矢量预测候选,或者可以用从与所述候选块相邻的候选块中导出的合并候选来替换所述合并候选。
图35是示出替换合并候选的示例的图。
在图35所示的示例中,示出了选择从位置A2处的候选块中导出的合并候选和运动矢量预测候选。如图所示,当合并候选和运动矢量预测候选是从同一候选块中导出时,可以使用从与所述候选块相邻的候选块中导出的合并候选或运动矢量预测候选而不是所述合并候选或所述运动矢量预测候选。例如,如图35所示,可以使用位置A1处的合并候选而不是位置A2处的合并候选。
可以基于当前块的合并候选来导出第一预测块,并且可以基于所述运动矢量预测候选来导出第二预测块。然后,可以通过第一预测块和第二预测块的加权和运算来导出组合预测块。在这种情况下,可以将应用于使用高级运动矢量预测模式生成的第二预测块的加权值设置为大于应用于使用合并模式生成的第一预测块的加权值。
可以通过将原始图像与预测图像相减来导出所导出的残差图像。在这种情况下,将残差图像变更为频域时,即使移除频率分量中的高频率分量,也不会大幅降低视频的主观画质。由此,若将高频率分量的值变小或者将高频率分量的值设置为0,则具有在不引起明显视觉失真的情况下提高压缩效率的效果。反映以上特性,可以对当前块进行变换以将残差图像分解为2维频率分量。可以使用离散余弦变换(DCT,Discrete Cosine 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的区域可执行二次变换。
可以通过码流用信号发送表示是否执行二次变换的信息。
可替代地,可以基于水平方向变换核与垂直方向变换核是否相同来确定是否执行二次变换。例如,仅在水平方向变换核与垂直方向变换核相同时,才可以执行二次变换。可替代地,仅在水平方向变换核与垂直方向变换核不同时,才可以执行二次变换。
可替代地,仅在水平方向的变换及垂直方向的变换利用预定义的变换核时,才可以允许二次变换。例如,在水平方向的变换及垂直方向的变换使用DCT2变换核时,可以允许二次变换。
可替代地,可以基于当前块的非零变换系数的数量来确定是否执行二次变换。例如,在当前块的非零变换系数小于或等于阈值时,可以设置为不使用二次变换,并且在当前块的非零变换系数大于阈值时,可以设置为使用二次变换。还可以设置为仅在当前块以帧内预测进行编码时,才使用二次变换。
基于当前块的形状,可以确定要执行二次变换的子块的大小或形状。
图36和图37是示出将对其执行二次变换的子块的图。
在当前块为正方形时,执行主变换之后,可以对当前块左上方的大小为N×N的子块执行二次变换。例如,当当前块是8×8大小的编码块时,可以在对当前块执行主变换之后对当前块左上角的4×4大小的子块执行二次变换(参见图36)。
在当前块为宽度大于高度4倍以上的非正方形时,执行主变换之后,可以对当前块左上方的大小为(kN)×(4kN)的子块执行二次变换。例如,当当前块是16×4大小的非正方形时,可以在对当前块执行主变换后对当前块左上角的2×8大小的子块上执行二次变换(参加图37(a))。
在当前块为高度大于宽度4倍以上的非正方形时,执行主变换之后,可以对当前块左上方的大小为(4kN)×(kN)的子块执行二次变换。例如,当当前块是16×4大小的非正方形时,可以在对当前块执行主变换后对当前块左上角的2×8大小的子块上执行二次变换(参加图37(b))。
在解码器中可执行二次变换的逆变换(第二逆变换),并且可以对其结果执行主变换的逆变换(第一逆变换)。作为第二逆变换及第一逆变换的执行结果,可以获得当前块的残差信号。
可以通过码流用信号发送指示当前块的变换类型的信息。所述信息可以是指示水平方向的变换类型及垂直方向的变换类型的组合中的一个的索引信息tu_mts_idx。
可以基于根据索引信息tu_mts_idx指定的变换类型候选来确定垂直方向的变换核及水平方向的变换核。表11和12示出了根据tu_mts_idx的变换类型组合。
【表11】
Figure GDA0003148692470000611
【表12】
Figure GDA0003148692470000612
可以将变换类型确定为DCT2、DST7、DCT8或跳过变换中的任一个。可替代地,除了变换跳过之外,还可以仅利用变换核来构成变换类型组合候选。
在使用表11的情况下,当tu_mts_idx为0时,可以在水平方向和垂直方向上应用变换跳过。若tu_mts_idx为1,则可以在水平方向及垂直方向应用DCT2。若tu_mts_idx为3,则可以在水平方向应用DCT8,在垂直方向应用DCT7。
在使用表12的情况下,当tu_mts_idx为0时,可以在水平方向和垂直方向上应用DCT2。若tu_mts_idx为1,则可以在水平方向和垂直方向应用变换跳过。若tu_mts_idx为3,则可以在水平方向应用DCT8,在垂直方向应用DCT7。
可以基于当前块的大小、形状或非零系数的数量中的至少一个来确定是否编码索引信息。例如,非零系数的数等于或者小于阈值时,不用信号发送索引信息,并且可以将默认变换类型应用于当前块。其中,默认变换类型可以是DST7。可替代地,根据当前块的大小、形状或帧内预测模式,默认模式会不同。
可以基于当前块的大小或形状来确定阈值。例如,在当前块的大小小于或等于32×32时,可以将阈值设置为2,在当前块大于32×32时(例如,当前块为大小为32×64或64×32的编码块时),可以将阈值设置为4。
多个查找表可以预先存储在编码器/解码器中。在多个查找表中,分配给变换类型组合候选的索引值、变换类型组合候选的种类或变换类型组合候选的数量中的至少一个可以不同。
可以基于当前块的大小、形状、预测模式、帧内预测模式、是否应用第二次变换或是否将变换跳过应用于相邻块中的至少一者来选择当前块的查找表。
例如,当当前块的大小为4×4或更小时或者通过帧间预测对当前块进行编码时,可以使用表11中的查找表,并且当当前块的大小大于4×4时或者当通过块内预测对当前块进行编码时,可以使用表12的查找表。
可替代地,可以通过码流用信号发送指示多个查找表中的任一个的信息。解码器可以基于所述信息来选择当前块的查找表。
作为另一示例,可以基于当前块的大小、形状、预测模式、帧内预测模式、是否第二次变换或是否将变换跳过应用于相邻块中的至少一者来自适应地确定分配给变换类型组合候选的索引。例如,在当前块的大小为4×4时,分配给变换跳过的索引可以具有比当前块的大小大于4×4时分配给变换跳过的索引更小的值。具体地,在当前块的大小为4×4时,可以向变换跳过分配索引0,在当前块大于4×4且为16×16以下时,可以向在变换跳过分配大于0的索引(例如,索引1)。在当前块大于16×16时,可以将最大值(例如,5)分配为变换跳过的索引。
可替代地,在当前块以帧间预测进行编码时,可以向变换跳过分配索引0。在当前块以帧内预测进行编码时,可以向变换跳过分配大于0的索引(例如,索引1)。
可替代地,在当前块为以帧间预测进行编码的大小为4×4的块时,可以向变换跳过分配索引0。另一方面,在当前块不以帧间预测进行编码,或者当前块大于4×4时,可以向变换跳过分配值大于0的索引(例如,索引1)。
可以定义和使用与表11和12中列出的变换类型组合候选不同的变换类型组合候选。例如,可以使用被应用了诸如DCT7、DCT8或DST2等变换核的变换类型组合候选,以将变换跳过应用于水平或垂直变换以及其他变换。此时,可以基于当前块的大小(例如,宽度和/或高度)、形状、预测模式或帧内预测模式中的至少一个来确定是否要使用变换跳过以作为对水平方向或垂直方向的变换类型候选。
可替代地,可以通过码流用信号发送指示指定变换类型候选是否可用的信息。例如,可以用信号发送指示针对水平方向和垂直方向是否可以将变换跳过用作变换类型候选的标志。根据所述标志,可以确定多个变换类型组合候选中是否包含指定变换类型组合候选。
可替代地,可以通过码流用信号发送指示指定是否将变换类型候选应用于当前块的信息。例如,可以用信号发送指示是否将将DCT2应用于水平方向和垂直方向的标志cu_mts_flag。当cu_mts_flag的值为1时,可以将DCT2设置为垂直方向及水平方向的变换核。当cu_mts_flag的值为0时,可以将DCT8或DST7设置为垂直方向及水平方向的变换核。可替代地,当cu_mts_flag的值为0时,可以用信号发送指定多个变换类型组合候选中的任一个的信息tu_mts_idx。
在当前块为宽度大于高度的非正方形或高度大于宽度的非正方形时,还可以省略cu_mts_flag的编码,将cu_mts_flag的值视为0。
根据当前块的大小、形状或帧内预测模式,可以不同地设置可用的变换类型组合候选的数量。例如,在当前块为正方形时,可以使用3个以上的变换类型组合候选,在当前块为非正方形时,可以使用2个变换类型组合候选。可替代地,在当前块为正方形时,仅可以利用在变换类型组合候选中在水平方向的变换类型及垂直方向的变换类型上具有不同的变换类型组合候选。
在当前块可以利用的变换类型组合候选为3个以上时,可以用信号发送指示变换类型组合候选中的一个的索引信息tu_mts_idx。另一方面,在当前块可以利用的变换类型组合候选为2个时,可以用信号发送指示变换类型组合候选中的任一个的标志mts_flag。以下表13示出了用于根据当前块的形状来对指定变换类型组合候选的信息进行编码的过程。
【表13】
Figure GDA0003148692470000631
Figure GDA0003148692470000641
根据当前块的形状,对可以变换类型组合候选的索引进行重排(或重排序)。例如,当前块为正方形时分配给变换类型组合候选的索引与当前块为非正方形时分配给变换类型组合候选的索引可以不同。例如,当当前块是正方形时,可以基于以下表14来选择变换类型组合,并且当当前块是非正方形时,可以基于以下表15来选择变换类型组合。
【表14】
Figure GDA0003148692470000642
【表15】
Figure GDA0003148692470000643
可以基于当前块的水平方向非零系数的数量或垂直方向非零系数的数量来确定变换类型。其中,水平方向非零系数的数量表示1×N(其中,N为当前块的宽度)中包括的非零系数的数量,垂直方向非零系数的数量表示N×1(其中,N为当前块的高度)中包括的非零系数的数量。当水平方向非零系数的最大值小于或等于阈值时,可以在水平方向应用主变换类型,当水平方向非零系数的最大值大于阈值时,可以在水平方向应用二次变换类型。当垂直方向非零系数的最大值小于或等于阈值时,可以在垂直方向应用主变换类型,当垂直方向非零系数的最大值大于阈值时,可以在垂直方向应用二次变换类型。
图38是用于描述确定当前块的变换类型的示例的图。
例如,当通过帧内预测对当前块进行编码并且当前块的水平方向非零系数的最大值为2或更小时(参见图38(a)),可以将水平方向的变换类型确定为DST7。
当通过帧内预测对当前块进行编码并且当前块的垂直方向非零系数的最大值大于2时(参见图38(b)),可以将垂直方向的变换类型确定为DCT2或DCT8。
可以通过码流用信号发送指示是否基于从码流用信号发送的信息来显式地确定当前块的变换类型的信息。例如,可以以序列级用信号发送指示通过帧内预测编码的块是否允许显式变换类型确定的信息sps_explicit_intra_mts_flag和/或指示通过帧间预测编码的块是否允许显式变换类型确定的信息sps_explicit_inter_mts_flag。
当允许显式变换类型确定时,可以基于从码流用信号发送的索引信息tu_mts_idx来确定当前块的变换类型。另一方面,当不允许显式变换类型确定时,可以基于当前块的大小、当前块的形状、是否允许子块单元的变换以及包括非零变换系数的子块的位置中的至少一项来确定变换类型。例如,可以基于当前块的宽度来确定当前块的水平方向变换类型,并且可以基于当前块的高度来确定当前块的垂直方向变换类型。例如,当当前块的宽度小于4或大于16时,可以将水平方向的变换类型确定为DCT2。否则,可以将水平方向的变换类型确定为DST7。当当前块的高度小于4或大于16时,可以将垂直方向的变换类型确定为DCT2。否则,可以将垂直方向的变换类型确定为DST7。在此,为了确定水平方向的变换类型和垂直方向的变换类型,可以基于当前块的大小、形状和帧内预测模式中的至少一项来确定与宽度和高度相比的阈值。
可替代地,当当前块是高度和宽度相同的正方形时,将水平方向变换类型和垂直方向变换类型设置为相同,而当当前块是高度和宽度不同的非正方形时,可以将水平方向变换类型和垂直方向变换类型设置为彼此不同。例如,当当前块的宽度大于高度时,可以将水平方向变换类型确定为DST7,并且将垂直方向变换类型确定为DCT2。当当前块的高度大于宽度时,可以将垂直方向变换类型确定为DST7,并且将水平方向变换类型确定为DCT2。
取决于是否允许显示变换类型确定,变换类型候选的数量和/或类型、或变换类型组合候选的数量和/或类型可以不同。例如,当允许显式变换类型确定时,DCT2、DST7和DCT8可以用作变换类型候选。因此,可以将水平方向变换类型和垂直方向变换类型中的每一个设置为DCT2、DST8或DCT8。如果不允许显式变换类型确定,则只能将DCT2和DST7用作变换类型候选。因此,可以将水平方向变换类型和垂直方向变换类型中的每一个确定为DCT2或DST7。
若在编码器中执行变换及量化,则解码器可以通过逆量化及逆变换来获得残差块。在解码器中将预测块和残差块加起来,可以获得当前块的重建块。
若获得当前块的重建块,则可以通过环路滤波(In-loop filtering)来减少在量化及编码过程中产生的信息丢失。环路滤波器可以包括去块滤波器(Deblocking filter)、样本自适应偏移滤波器(Sample Adaptive Offset filter,SAO)或自适应环路滤波器(Adaptive Loop Filter,ALF)中的至少一个。以下,将应用环路滤波器之前的重建块称为第一重建块,将应用环路滤波器之后的重建块称为第二重建块。
可以对第一重建块应用去块滤波器、SAO或ALF中的至少一个来获得第二重建块。在这种情况下,可以在应用去块滤波器之后应用SAO或ALF。
去块滤波器用于缓解通过以块为单位执行量化时在块的边界中产生的画质劣化(块效应,Blocking Artifact)。为了应用去块滤波器,可以确定第一重建块与相邻重建块之间的块强度(Blocking Strength,BS)。
图39是示出确定块强度的过程的流程图。
在图39所示的示例中,P表示第一重建块,Q表示相邻的重建块。其中,相邻重建块可以与当前块的左侧或上方相邻。
在图39所示的示例中,示出了考虑P和Q的预测模式、是否包括非零变换系数、是否使用相同的参考图像执行帧间预测、以及运动矢量的差值是否大于或等于阈值来确定块强度。
基于块强度,可以确定是否应用了去块滤波器。例如,块强度为0时有可能不执行滤波。
SAO用于缓解在频域中执行量化时产生的振铃效应(Ringing Artifact)。可以通过加上或减去考虑第一重建图像的图案而确定的偏移量来执行SAO。偏移量的确定方法包括边偏移(Edge Offset,EO)或带偏移(Band Offset)。EO表示根据周边像素的图案来确定当前样本的偏移的方法。BO表示对区域内具有类似的亮度值的像素的集合应用共同的偏移的方法。具体地,将像素亮度区分为32个均等的区间,将具有类似的亮度值的像素设置为一个集合。例如,将32个带中相邻的4个带设置为一组,在4个带中所属的样本可以应用相同的偏移量。
ALF是对第一重建图像或应用去块滤波器的重建图像应用预定义的大小/形状的滤波器来生成第二重建图像的方法。以下等式16显示了应用ALF的示例。
【等式16】
Figure GDA0003148692470000671
可以以图像、编码树单元、编码块、预测块或变换块为单位来选择预定义的滤波器候选中的任一个。各个滤波器候选的大小或形状中的任一个会不同。
图40是示出了预定义的滤波器候选的图。
如在图40所示的示例中,可以选择5×5、7×7和9×9菱形中的至少一种。
针对色度分量只能使用大小为5×5的菱形。
将以解码过程或编码过程为中心描述的实施例用于编码过程或解码过程也包括在本发明的范围内。以与所描述的不同的顺序来改变按预定顺序描述的多个实施例也包括在本发明的范围内。
已经基于一系列的步骤或流程图来描述实施例,但这并不限定发明的时间序列顺序,并且根据需要可同时执行或者按另外顺序执行。并且,在上述实施例中,构成框图的结构要素(例如,单元、模块等)还可分别实现为硬件设备或软件,并且多个结构要素可以组合实施为单个硬件设备或软件。所述实施例可以通过程序指令的形式实施,所述程序指令可以由各种计算机部件执行并记录在计算机可读记录介质中。所述计算机可读记录介质可单独包括或组合包括程序指令、数据文件、数据结构等。计算机可读记录介质的示例可以包括硬盘、软盘及磁带等磁性介质、CD-ROM、DVD等光学记录介质、如软式光盘(floptical disk)的磁-光介质(magneto-optical media)及ROM、RAM、闪速存储器等等以存储程序指令并执行该指令的方式专门配置的硬件设备。所述硬件设备可以被配置为作为一个或多个软件模块进行操作以执行根据本发明的处理,另一方面亦然。
【工业实用性】
本发明可以应用于对视频进行编码/解码的电子设备。

Claims (28)

1.一种视频解码方法,包括以下步骤:确定是否将组合预测模式应用于当前块;
当将所述组合预测模式应用于所述当前块时,获得所述当前块的第一预测块和第二预测块,其中,基于所述当前块的合并候选的运动信息获得所述第一预测块并且基于所述当前块的帧内预测模式获得所述第二预测块;以及
基于所述第一预测块和所述第二预测块的加权和运算来获得所述当前块的第三预测块,
其中,当将所述组合预测模式应用于所述当前块时,对所述当前块禁用三角形划分。
2.根据权利要求1所述的视频解码方法,其中,
所述当前块的帧内预测模式为平面模式。
3.根据权利要求2所述的视频解码方法,其中,
基于相邻参考样本线中包括的参考样本线来获得所述第二预测块。
4.根据权利要求1所述的视频解码方法,其中,
在执行所述加权和运算时,基于与所述当前块相邻的相邻块的预测模式来确定应用于所述第一预测块和所述第二预测块的加权值。
5.根据权利要求1所述的视频解码方法,其中,
当所述当前块的宽度或高度中的至少一个大于阈值时,
不将所述组合预测模式应用于所述当前块。
6.根据权利要求1所述的视频解码方法,其中,
当指示将合并模式应用于所述当前块的标志为真时,能够将所述组合预测模式应用于所述当前块。
7.一种视频编码方法,包括以下步骤:确定是否将组合预测模式应用于当前块;
当将所述组合预测模式应用于所述当前块时,获得所述当前块的第一预测块和第二预测块,其中,基于所述当前块的合并候选的运动信息获得所述第一预测块并且基于所述当前块的帧内预测模式获得所述第二预测块;以及
基于所述第一预测块和所述第二预测块的加权和运算来获得所述当前块的第三预测块,
其中,当将所述组合预测模式应用于所述当前块时,对所述当前块禁用三角形划分。
8.根据权利要求7所述的视频编码方法,其中,
所述当前块的帧内预测模式为平面模式。
9.根据权利要求8所述的视频编码方法,其中,
基于相邻参考样本线中包括的参考样本线来获得所述第二预测块。
10.根据权利要求7所述的视频编码方法,其中,
在执行所述加权和运算时,基于与所述当前块相邻的相邻块的预测模式来确定应用于所述第一预测块和所述第二预测块的加权值。
11.根据权利要求7所述的视频编码方法,其中,
当所述当前块的宽度或高度中的至少一个大于阈值时,
不将所述组合预测模式应用于所述当前块。
12.根据权利要求7所述的视频编码方法,其中,
当指示将合并模式应用于所述当前块的标志为真时,能够将所述组合预测模式应用于所述当前块。
13.一种视频解码设备,包括预测部,所述预测部用于:确定是否将组合预测模式应用于当前块;当将所述组合预测模式应用于所述当前块时,获得所述当前块的第一预测块和第二预测块;以及基于所述第一预测块和所述第二预测块的加权和运算来获得所述当前块的第三预测块,
其中,基于所述当前块的合并候选的运动信息获得所述第一预测块并且基于所述当前块的帧内预测模式获得所述第二预测块,
当将所述组合预测模式应用于所述当前块时,对所述当前块禁用三角形划分。
14.根据权利要求13所述的视频解码设备,其中,
所述当前块的帧内预测模式为平面模式。
15.根据权利要求14所述的视频解码设备,其中,
基于相邻参考样本线中包括的参考样本线来获得所述第二预测块。
16.根据权利要求13所述的视频解码设备,其中,
在执行所述加权和运算时,基于与所述当前块相邻的相邻块的预测模式来确定应用于所述第一预测块和所述第二预测块的加权值。
17.根据权利要求13所述的视频解码设备,其中,
当所述当前块的宽度或高度中的至少一个大于阈值时,不将所述组合预测模式应用于所述当前块。
18.根据权利要求13所述的视频解码设备,其中,
当指示将合并模式应用于所述当前块的标志为真时,能够将所述组合预测模式应用于所述当前块。
19.一种视频编码设备,包括预测部,所述预测部用于:确定是否将组合预测模式应用于当前块;当将所述组合预测模式应用于所述当前块时,获得所述当前块的第一预测块和第二预测块;以及基于所述第一预测块和所述第二预测块的加权和运算来获得所述当前块的第三预测块,
其中,基于所述当前块的合并候选的运动信息获得所述第一预测块并且基于所述当前块的帧内预测模式获得所述第二预测块,
当将所述组合预测模式应用于所述当前块时,对所述当前块禁用三角形划分。
20.根据权利要求19所述的视频编码设备,其中,
所述当前块的帧内预测模式为平面模式。
21.根据权利要求20所述的视频编码设备,其中,
基于相邻参考样本线中包括的参考样本线来获得所述第二预测块。
22.根据权利要求19所述的视频编码设备,其中,
在执行所述加权和运算时,基于与所述当前块相邻的相邻块的预测模式来确定应用于所述第一预测块和所述第二预测块的加权值。
23.根据权利要求19所述的视频编码设备,其中,
当所述当前块的宽度或高度中的至少一个大于阈值时,不将所述组合预测模式应用于所述当前块。
24.根据权利要求19所述的视频编码设备,其中,
当指示将合并模式应用于所述当前块的标志为真时,能够将所述组合预测模式应用于所述当前块。
25.一种视频解码器,包括处理器和配置为存储能够在所述处理器上运行的计算机程序的存储器,其中所述处理器配置为:确定是否将组合预测模式应用于当前块;当将所述组合预测模式应用于所述当前块时,获得所述当前块的第一预测块和第二预测块;以及基于所述第一预测块和所述第二预测块的加权和运算来获得所述当前块的第三预测块,
其中,基于所述当前块的合并候选的运动信息获得所述第一预测块并且基于所述当前块的帧内预测模式获得所述第二预测块,
其中,当将所述组合预测模式应用于所述当前块时,对所述当前块禁用三角形划分。
26.一种视频编码器,包括处理器和配置为存储能够在所述处理器上运行的计算机程序的存储器,其中所述处理器配置为:确定是否将组合预测模式应用于当前块;当将所述组合预测模式应用于所述当前块时,获得所述当前块的第一预测块和第二预测块;以及基于所述第一预测块和所述第二预测块的加权和运算来获得所述当前块的第三预测块,
其中,基于所述当前块的合并候选的运动信息获得所述第一预测块并且基于所述当前块的帧内预测模式获得所述第二预测块,
其中,当将所述组合预测模式应用于所述当前块时,对所述当前块禁用三角形划分。
27.一种存储介质,其上存储可执行程序,其中,在所述可执行程序由处理器执行时,执行如权利要求1至6中任一项所述的方法。
28.一种存储介质,其上存储可执行程序,其中,在所述可执行程序由处理器执行时,执行如权利要求7至12中任一项所述的方法。
CN202110610866.4A 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备 Active CN113329224B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20180136256 2018-11-08
KR10-2018-0136256 2018-11-08
KR10-2018-0148948 2018-11-27
KR20180148948 2018-11-27
CN201980070621.8A CN113170126A (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备
PCT/KR2019/015097 WO2020096389A1 (ko) 2018-11-08 2019-11-07 영상 신호 부호화/복호화 방법 및 이를 위한 장치

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
CN113329224A CN113329224A (zh) 2021-08-31
CN113329224B true CN113329224B (zh) 2022-12-16

Family

ID=70612512

Family Applications (5)

Application Number Title Priority Date Filing Date
CN201980070621.8A Pending CN113170126A (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备
CN202310087273.3A Pending CN116347069A (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备
CN202310086511.9A Pending CN116074503A (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备
CN202310088181.7A Pending CN116506598A (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备
CN202110610866.4A Active CN113329224B (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备

Family Applications Before (4)

Application Number Title Priority Date Filing Date
CN201980070621.8A Pending CN113170126A (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备
CN202310087273.3A Pending CN116347069A (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备
CN202310086511.9A Pending CN116074503A (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备
CN202310088181.7A Pending CN116506598A (zh) 2018-11-08 2019-11-07 视频信号编码/解码方法以及用于所述方法的设备

Country Status (18)

Country Link
US (2) US11252405B2 (zh)
EP (2) EP4221204A1 (zh)
JP (4) JP7182705B2 (zh)
KR (1) KR20200054105A (zh)
CN (5) CN113170126A (zh)
AU (1) AU2019375718B2 (zh)
BR (1) BR112021008731A2 (zh)
CA (1) CA3117933C (zh)
CL (1) CL2021001206A1 (zh)
ES (1) ES2948265T3 (zh)
IL (2) IL307307A (zh)
MX (1) MX2021005368A (zh)
PH (1) PH12021550932A1 (zh)
PL (1) PL3849184T3 (zh)
RU (1) RU2766152C1 (zh)
SG (1) SG11202104319VA (zh)
WO (1) WO2020096389A1 (zh)
ZA (1) ZA202102793B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020084474A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Gradient computation in bi-directional optical flow
EP3857879A4 (en) 2018-11-12 2022-03-16 Beijing Bytedance Network Technology Co., Ltd. SIMPLIFICATION OF COMBINED INTER-INTRA PREDICTION
JP7241870B2 (ja) 2018-11-20 2023-03-17 北京字節跳動網絡技術有限公司 部分的な位置に基づく差分計算
WO2020103935A1 (en) * 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Blending method for inter prediction with geometry partition
EP3874747A4 (en) 2018-11-26 2021-12-29 Huawei Technologies Co., Ltd. Method of intra predicting a block of a picture
WO2020139903A1 (en) * 2018-12-25 2020-07-02 Beijing Dajia Internet Information Technology Co., Ltd. Video coding with triangular shape prediction units
CN113261290B (zh) 2018-12-28 2024-03-12 北京字节跳动网络技术有限公司 基于修改历史的运动预测
US11032574B2 (en) * 2018-12-31 2021-06-08 Tencent America LLC Method and apparatus for video coding
US20220124310A1 (en) * 2019-02-21 2022-04-21 Electronics And Telecommunications Research Institute Method and device for encoding/decoding video, and recording medium for storing bitstream
EP3915259A4 (en) 2019-03-06 2022-03-30 Beijing Bytedance Network Technology Co., Ltd. USE OF A CONVERTED UNIVERSITY PREDICTION CANDIDATE
JP7361522B2 (ja) 2019-08-05 2023-10-16 日本放送協会 予測ブロック生成装置、画像符号化装置、画像復号装置、及びプログラム
JP7474772B2 (ja) * 2019-08-29 2024-04-25 日本放送協会 符号化装置、復号装置、及びプログラム
US11212523B2 (en) * 2020-01-12 2021-12-28 Mediatek Inc. Video processing methods and apparatuses of merge number signaling in video coding systems
US20220295075A1 (en) * 2021-03-10 2022-09-15 Lemon Inc. Resource constrained video encoding
US20230099505A1 (en) * 2021-09-29 2023-03-30 Qualcomm Incorporated Adaptive determination of multiple transform candidates for video coding
WO2023224280A1 (ko) * 2022-05-16 2023-11-23 현대자동차주식회사 혼합 성분간 예측을 사용하는 비디오 코딩을 위한 방법 및 장치
WO2024007366A1 (zh) * 2022-07-08 2024-01-11 Oppo广东移动通信有限公司 一种帧内预测融合方法、视频编解码方法、装置和系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102113326A (zh) * 2008-08-04 2011-06-29 杜比实验室特许公司 重叠块差异估计和补偿体系结构

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8085845B2 (en) * 2003-08-26 2011-12-27 Thomson Licensing Method and apparatus for encoding hybrid intra-inter coded blocks
KR100750136B1 (ko) * 2005-11-02 2007-08-21 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
KR101503269B1 (ko) * 2010-04-05 2015-03-17 삼성전자주식회사 영상 부호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치, 및 영상 복호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치
WO2014003423A1 (ko) * 2012-06-29 2014-01-03 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
WO2015010319A1 (zh) * 2013-07-26 2015-01-29 北京大学深圳研究生院 一种基于p帧的多假设运动补偿编码方法
US10666940B2 (en) * 2014-11-06 2020-05-26 Samsung Electronics Co., Ltd. Video encoding method and apparatus, and video decoding method and apparatus
WO2017043816A1 (ko) * 2015-09-10 2017-03-16 엘지전자(주) 인터-인트라 병합 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR20170058838A (ko) * 2015-11-19 2017-05-29 한국전자통신연구원 화면간 예측 향상을 위한 부호화/복호화 방법 및 장치
WO2017105097A1 (ko) * 2015-12-17 2017-06-22 삼성전자 주식회사 머지 후보 리스트를 이용한 비디오 복호화 방법 및 비디오 복호화 장치
KR102511546B1 (ko) * 2017-02-24 2023-03-17 주식회사 케이티 비디오 신호 처리 방법 및 장치
EP3700208A4 (en) * 2017-10-18 2021-04-07 Electronics and Telecommunications Research Institute IMAGE ENCODING / DECODING METHOD AND DEVICE AND RECORDING MEDIUM WITH BITSTREAM STORED ON IT
US20200120339A1 (en) * 2018-10-11 2020-04-16 Mediatek Inc. Intra Prediction For Multi-Hypothesis

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102113326A (zh) * 2008-08-04 2011-06-29 杜比实验室特许公司 重叠块差异估计和补偿体系结构

Also Published As

Publication number Publication date
MX2021005368A (es) 2021-07-06
CN116074503A (zh) 2023-05-05
EP3849184A1 (en) 2021-07-14
AU2019375718A1 (en) 2021-05-27
KR20200054105A (ko) 2020-05-19
US11252405B2 (en) 2022-02-15
IL282612A (en) 2021-06-30
CA3117933A1 (en) 2020-05-14
ZA202102793B (en) 2022-10-26
JP2023018045A (ja) 2023-02-07
IL307307A (en) 2023-11-01
PL3849184T3 (pl) 2023-07-24
US20220124322A1 (en) 2022-04-21
EP4221204A1 (en) 2023-08-02
CA3117933C (en) 2023-05-23
JP2022505874A (ja) 2022-01-14
IL282612B2 (en) 2024-03-01
CN116506598A (zh) 2023-07-28
US20210227212A1 (en) 2021-07-22
ES2948265T3 (es) 2023-09-07
CN116347069A (zh) 2023-06-27
AU2019375718B2 (en) 2022-06-02
EP3849184A4 (en) 2021-12-01
EP3849184B1 (en) 2023-05-10
PH12021550932A1 (en) 2021-11-08
US11909955B2 (en) 2024-02-20
SG11202104319VA (en) 2021-05-28
JP7182705B2 (ja) 2022-12-02
JP2023018046A (ja) 2023-02-07
RU2766152C1 (ru) 2022-02-08
JP2023018044A (ja) 2023-02-07
CN113329224A (zh) 2021-08-31
CL2021001206A1 (es) 2021-11-26
CN113170126A (zh) 2021-07-23
IL282612B1 (en) 2023-11-01
WO2020096389A1 (ko) 2020-05-14
BR112021008731A2 (pt) 2021-08-03

Similar Documents

Publication Publication Date Title
CN113329224B (zh) 视频信号编码/解码方法以及用于所述方法的设备
CN113395519B (zh) 视频信号编码/解码方法以及用于所述方法的设备
CN113395517B (zh) 视频信号编码/解码方法及其设备
CN113382234B (zh) 视频信号编码/解码方法以及用于所述方法的设备
CN112823514A (zh) 图像信号编码/解码方法及其设备
CN113225560A (zh) 视频编码/解码方法、视频编码/解码装置和存储介质
CN113039799B (zh) 图像信号编码/解码方法及其设备
CN113574878A (zh) 用于对视频信号进行编码/解码的方法及其设备
CN112956194A (zh) 图像信号编码/解码方法及其设备
CN112236996A (zh) 视频信号编码/解码方法及其装置
CN116112684A (zh) 用于对图像信号进行编码/解码的方法及其装置
CN112956198A (zh) 用于对图像信号进行编码/解码的方法及其装置
US20240137497A1 (en) Image signal encoding/decoding method and apparatus therefor

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant