CN112567771A - 基于历史的帧内模式编解码方法和装置 - Google Patents

基于历史的帧内模式编解码方法和装置 Download PDF

Info

Publication number
CN112567771A
CN112567771A CN201980051288.6A CN201980051288A CN112567771A CN 112567771 A CN112567771 A CN 112567771A CN 201980051288 A CN201980051288 A CN 201980051288A CN 112567771 A CN112567771 A CN 112567771A
Authority
CN
China
Prior art keywords
intra
mode
prediction
modes
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
CN201980051288.6A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN112567771A publication Critical patent/CN112567771A/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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

一种导出候选帧内预测模式的方法,包括:记录至少一个先前编解码单元的帧内预测模式,其中,该先前编解码单元与待处理编解码单元不相邻;当候选帧内预测模式的数量少于预设阈值时,将记录的至少一个帧内预测模式添加到候选帧内预测模式集中。

Description

基于历史的帧内模式编解码方法和装置
技术领域
本公开涉及图像和/或视频编码和解码,尤其涉及用于帧内预测的方法和装置。
背景技术
自引入DVD光盘以来,数字视频已被广泛使用。在传输之前,对视频进行编码,并使用传输介质进行传输。观看者接收视频,并使用观看设备解码和显示视频。多年来,例如由于更高的分辨率、颜色深度、和帧率,视频质量得到了提高。这产生了更大的数据流,这些数据流如今通常通过互联网和移动通信网络进行传输。
但是,由于高分辨率视频具有更多信息,因此通常需要更多带宽。为了降低带宽要求,引入了涉及视频压缩的视频编码标准。对视频进行编码时,带宽要求(或在存储的情况下相应的内存要求)会降低。通常,这种降低是以质量为代价的。因此,视频编码标准试图在带宽要求和质量之间找到平衡。
高效视频编码(high efficiency video coding,HEVC)是本领域技术人员公知的视频编码标准的示例。在HEVC中,将编解码单元(coding unit,CU)分为预测单元(prediction unit,PU)或变换单元(transform unit,TU)。通用视频编码(versatilevideo coding,VVC)下一代标准是ITU-T视频编码专家组(video coding experts group,VCEG)和ISO/IEC运动图像专家组(Moving Picture Experts Group,MPEG)标准化组织的最新联合视频项目,这些组织以合作伙伴关系共同工作,称其为联合视频探索团队(jointvideo exploration team,JVET)。VVC也被称为ITU-T H.266/VVC(通用视频编码)标准。在VVC中,删除了多个分区类型的概念,即,删除了CU、PU、和TU概念的分离(但对于大小超出最大变换长度的CU除外),并支持更灵活的CU分区形状。
这些编解码单元(CU)(也称为块)的处理取决于其大小、空间位置、和编码器指定的编码模式。根据预测类型,编码模式可以分为两类:帧内预测模式和帧间预测模式。帧内预测模式使用同一图像(也称为帧或图片)的样本来生成参考样本,以计算要重建的块的样本的预测值。帧内预测也称为空间预测。帧间预测模式被设计用于时间预测,并且使用先前图像或下一图像的参考样本来预测当前图像的块的样本。
发明内容
根据独立权利要求,本申请的实施例提供了用于导出帧内预测模式的装置和方法。
前述目的和其他目的通过独立权利要求的主题实现。根据从属权利要求、说明书、以及附图,其他实施方式显而易见。
根据第一方面,本发明涉及一种用于导出候选帧内预测模式的方法,该方法包括:记录至少一个先前编解码单元的帧内预测模式,其中,该先前编解码单元与待处理编解码单元不相邻;当候选帧内预测模式的数量少于预设阈值时,将记录的至少一个帧内预测模式添加到候选帧内预测模式集中。
通过除了相邻编解码单元的模式和先前处理的编解码单元未定义的标准模式之外还使用与当前编解码单元不直接相邻的模式,可以实现更准确的预测。例如,如果一个或多个相邻编解码单元不可用,或者由于其他原因不能提供良好的预测,则后续(不相邻)编解码单元可以帮助提供更好的预测。
根据第二方面,本发明涉及一种根据第一方面的方法的方法,其中,上述候选帧内预测模式集是最可能模式(most probable mode,MPM)列表。
使用改善的预测质量(可以通过使用第二层相邻块来实现)可以改善MPM列表的质量。因为当改进MPM列表的顺序使得MPM列表中的最高条目更有可能表示正确的帧内模式时,MPM列表中的模式的编码可以更加高效,所以这种MPM列表可以使得预测模式的熵编码更高效。这可以减少传输图像或视频所需的流量。
根据第三方面,本发明涉及一种根据第一方面的方法的方法,其中,上述候选帧内预测模式集包括不包括在最可能模式列表中的帧内预测模式。由于不包括在MPM列表中的模式可以基于其表示当前编解码单元的模式的概率被分成其他组,因此这仍然有利于改善预测,使得最有可能表示当前模式的模式在预测模式的列表中更靠前。
根据第四方面,本发明涉及一种根据第一方面至第三方面的任一项的方法的方法,其中,记录至少一个先前编解码单元的帧内预测模式包括:根据先前编解码单元的处理顺序将至少一个先前编解码单元的帧内预测模式添加到历史表中。具有改进的预测质量的历史表可以帮助创建更准确的MPM列表和更准确地其他模式列表。这可以减少传输图像或视频所需的流量。
根据第五方面,本发明涉及根据第四方面的方法的方法,其中,上述历史表是先进先出表。先进先出表是一种产生排序表的有效方式,其中,最有可能表示当前模式的模式在表中更靠前,同时计算效率高。
根据第六方面,本发明涉及一种根据第四方面的方法或根据第五方面的方法的方法,其中,上述历史表中的任意两个条目不同。由于通过避免多次插入一个条目来增加定长列表中的不同模式的数量,因此这可以改进熵编码并减少所需的流量。
根据第七方面,本发明涉及一种根据第四方面的方法或根据第六方面的方法的方法,其中,上述历史表中的条目的位置取决于条目的频率,并且将至少一个先前编解码单元的帧内预测模式添加到历史表中包括:检查该帧内预测模式是否在该历史表中;当该帧内预测模式在该历史表中时,将该帧内预测模式的频率增加1;当该帧内预测模式的频率高于两个相邻位置上的帧内预测模式的频率时,调节该帧内预测模式的位置;当该帧内预测模式不在该历史表中时,检查历史表是否已满;当历史表未满时,将该帧内预测模式添加到历史表的最小频率位置之后,并将该帧内预测模式的频率设置为1;当历史表已满时,将历史表的最小频率位置上的条目替换为该帧内预测模式,并将该帧内预测模式的频率设为1。
由于这些模式根据其出现次数(这是对于预测当前编解码单元的正确模式的概率的良好指示符)进行主动排序,因此这可以进一步提高历史表的质量。
根据第八方面,本发明涉及一种根据第一方面至第七方面中任一项的方法的方法,其中,将记录的至少一个帧内预测模式添加到候选帧内预测模式集中包括:将记录的至少一个帧内预测模式添加到待处理编解码单元的至少一个相邻编解码单元的帧内预测模式之后,使得用于至少一个相邻编解码单元的帧内预测模式的编码指示符的比特不多于用于记录的至少一个帧内预测模式的编码指示符的比特。由于相邻编解码单元可能不与当前编解码单元相关,相反,记录的帧内预测模式可能与当前编解码单元更相关,因此在添加相邻编解码单元的帧内预测模式之后添加记录的至少一个帧内预测模式可以提高预测模式集合的质量。
根据第九方面,本发明涉及根据第七方面的方法的方法,其中,在进行上述调整时,历史表中的帧内模式的位置与相邻条目互换。由于更有可能表示当前编解码单元的模式的模式更可能被多次添加到集合中,因此这可以提高预测模式集合的质量。
根据第十方面,本发明涉及根据第二方面的方法或根据第四至第九方面的方法的方法,其中,对于对MPM列表中的模式进行编解码,使用截断一元二值化。由于MPM列表可以被排序为使得第一条目更有可能表示当前编解码单元的模式,所以使用截断一元二值化可以减少当发送用于实际被选择用于预测当前编解码单元的模式的码时的流量。
根据第十一方面,本发明涉及根据第三至第九方面的方法的方法,其中,不包括在最可能模式列表中的候选帧内预测模式首先被分为选定模式集和非选定模式集,并且选定模式列表中的模式使用定长码发送,非选定模式集中的模式使用截断二元码发送。
对具有其余模式的若干列表使用不同的编码可以进一步减少当发送用于实际被选择用于预测当前编解码单元的模式的码时的流量。
根据第十二方面,本发明涉及一种用于对图像的当前块进行编码的方法,该方法包括以下步骤:为当前块的样本提供当前块的预测块,包括根据第一至第十一方面中任一项的用于导出候选帧内预测模式的方法,以及基于预测块对当前块进行编码。在对块进行编码时使用改进的用于导出候选帧内预测模式的方法,可以提高计算效率和/或降低用于发送图像的流量。为了从候选帧内预测集中定义预测块的模式,可以发信号通知候选模式集中的预测模式的位置。
根据第十三方面,本发明涉及一种用于对图像的当前块进行解码的方法,该方法包括以下步骤:为当前块的样本提供当前块的预测块,包括根据第一至第十一方面中任一项的用于导出候选帧内预测模式的方法,以及基于预测块重建当前块。在对块进行解码时使用改进的用于导出候选帧内预测模式的方法,可以提高计算效率和/或降低用于发送图像的流量。
根据第十四方面,本发明涉及一种用于导出候选帧内预测模式的候选列表设备,该设备包括处理电路,该处理电路用于:记录至少一个先前编解码单元的帧内预测模式,其中,该先前编解码单元与待处理编解码单元不相邻;当候选帧内预测模式的数量少于预设阈值时,将记录的至少一个帧内预测模式添加到候选帧内预测模式集中。
通过除了相邻编解码单元的模式和先前处理的编解码单元未定义的标准模式之外还使用与当前编解码单元不直接相邻的模式,可以实现更准确的预测。例如,如果一个或多个相邻编解码单元不可用,或者由于其他原因不能提供良好的预测,则后续(不相邻)编解码单元可以帮助提供更好的预测。
根据第十五方面,本发明涉及一种用于对图像的当前编码块进行解码的解码装置,该装置包括根据第十四方面的用于导出候选帧内预测模式的候选列表设备,并包括电路,该电路用于使用导出的帧内预测模式提供编码块的预测块,以及基于编码块和预测块重建当前块。
根据本发明第一方面的方法可以由根据本发明第十四方面的装置执行。
在其他方面,根据第十四方面的装置还可以用于执行根据第一至第十一方面的方法。
在附图和以下描述中阐述了一个或多个实施例的细节。根据说明书、附图、和权利要求书,其他特征、目的、和优点将显而易见。
附图说明
在下文中,参考附图更详细地描述本发明的实施例,其中:
图1为示出67种帧内预测模式的示例的框图;
图2为示出用于MPM导出的相邻块的示例的框图;
图3为示出在MPM列表构建中考虑的第二层(非相邻)帧内模式的示例的框图;
图4为示出矩形目标块(左边的平块,右边的高块)及其上参考阵列和左参考阵列的示例的框图;
图5为示出矩形目标块(左边的扁平块,右边的高块)及其上参考阵列和左参考阵列的另一示例的框图;
图6示出了矩形目标块的示例的框图,其中上参考阵列的长度为2W+1,左参考阵列的长度为2H+1;
图7为示出替换的角度模式和增加的宽角度模式的图示的框图;
图8为示出在超出45度方向的情况下的不连续性问题的示例的框图;
图9为示出使用历史帧内模式作为可选帧内模式预测的示例的框图;
图10为示出视频编解码系统的示例的框图;
图11为示出视频编码器的示例的框图;
图12为示出视频解码器的示例的框图;
图13为示出实施例1.1的特定情况的示例的框图;
图14A为示出实施例2的特定情况的示例的框图;
图14B为示出使用历史表的条目填充MPM列表的示例的框图;
图15为示出根据实施例6的本发明特定实施方式的示例的框图;
图16为示出编码装置或解码装置的示例的框图;
图17为示出编码装置或解码装置的另一示例的框图。
具体实施方式
在以下描述中,参考附图,附图形成本公开的一部分,并且通过图示示出本发明的实施例的特定方面或者可以使用本发明的实施例的特定方面。应当理解,本发明的实施例可以用在其他方面,并且包括附图中未示出的结构或逻辑变化。因此,以下具体实施方式不应被理解为限制性的,并且本发明的范围由所附权利要求限定。
例如,应当理解,与所描述的方法有关的公开内容对于用于执行该方法的对应设备或系统也是适用的,反之亦然。例如,如果描述了一个或多个特定方法步骤,则对应的设备可以包括一个或多个单元,例如功能单元,以执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或者多个单元各自执行多个步骤中的一个或多个步骤),即使这样的一个或多个单元未在附图中明确地描述或示出。另一方面,例如,如果基于一个或多个单元(例如,功能单元)来描述特定装置,则对应的方法可以包括一个步骤来执行一个或多个单元的功能(例如,一个步骤执行一个或多个单元的功能,或者多个步骤中的每一个执行多个单元中的一个或多个单元的功能),即使这种一个或多个步骤未在图中明确地描述或示出。此外,应当理解,除非另外特别指出,否则本文所述的各种示例性实施例和/或方面的特征可彼此组合。
在视频编解码中,可以通过使用附近CU的空间模式来推断当前CU上的相邻像素值来完成CU的帧内预测。在帧内预测的示例中,公开了具有67种帧内预测模式的帧内模式编解码方法。然而,可以使用更多或更少的预测模式。
为了捕获自然视频中出现的任意边缘方向,方向帧内模式的数量从HEVC中使用的33种扩展到65种。图1中,额外的方向模式用虚线箭头示出,平面模式和DC模式保持相同。DC模式和平面模式可以是使用平均值以生成平滑样本的模式。DC模式可以使用所有样本的平均值,而平面模式可以使用两种线性预测的平均值。这些密集的方向帧内预测模式适用于所有块尺寸以及luma和chroma帧内预测。亮度(luminance,或简称luma)分量Y表示(例如灰度图像中的)亮度或灰阶强度,而两个色度(chrominance,或简称chroma)分量Cb和Cr表示色度或颜色信息分量。
为了适应数量增长的方向帧内模式,在本示例中使用具有6个最可能模式(mostprobable mode,MPM)的帧内模式编解码方法。MPM列表还可以具有3个条目或1个条目或任意个条目。主要涉及两个技术方面:1)6个MPM的导出,以及2)6个MPM和非MPM模式的熵编解码。
MPM列表中包括的模式分成三组:
·相邻帧内模式
·导出的帧内模式
·默认帧内模式
五个相邻帧内预测模式用于形成MPM列表。这5个相邻块的位置与在合并模式中使用的位置相同,即如图2所示的左(L)、上(A)、左下(BL)、右上(AR)、以及左上(AL)。通过将5个相邻帧内模式和平面模式与DC模式插入MPM列表中形成初始MPM列表。删减过程(pruningprocess)用于移除重复的模式,从而可以包括在MPM列表中的模式都是唯一的。初始模式被包括的顺序是:左、上、平面、DC、左下、右上、接着左上。
如果MPM列表未满(即,列表中少于6个MPM候选),则增加导出的模式;这些帧内模式通过将已包括在MPM列表中的角度模式-1或+1来获得。此类附加导出的模式不从非角度模式(DC或平面)中生成。
最后,如果MPM列表仍未完整,则按以下顺序增加默认模式:垂直、水平、模式2、以及对角模式。这一过程之后,生成6个MPM模式的唯一列表。
对于使用6个MPM的选择的模式的熵编解码,使用截断一元二值化(truncatedunary binarization)。前三个二元符号(bin)使用取决于与当前正发信号通知的bin有关的MPM模式的上下文进行编解码。MPM模式被分类到三种类别之一:(a)主要水平的模式(即,MPM模式号小于或等于对角方向的模式号),(b)主要垂直的模式(即,MPM模式大于对角方向的模式号),以及(c)非角度(DC或平面)类别。相应地,基于该分类使用三种上下文发信号通知MPM索引。
用于其余61个非MPM的选择的编解码如下完成。首先将61个非MPM分成两个集合:选定模式集和非选定模式集。选定模式集包含16个模式,其余(45个模式)被分配给非选定模式集。当前模式所属的模式集在位流中用标志位指示。如果待指示的模式处于选定模式集中,则使用4位定长码发信号指示选择的模式,如果待指示的模式来自非选定集,则使用截断二元码发信号指示选择的模式。通过对61个非MPM模式进行子采样来如下生成选择的模式集合:
选定模式集={0,4,8,12,16,20…60}
非选定模式集={1,2,3,5,6,7,9,10…59}
在编码器侧,使用类似的HM的两阶段帧内模式决策过程,其中HM是HEVC中的测试模型。在第一阶段,即,帧内模式预选择阶段,使用低复杂度的绝对变换差和(sum ofabsolute transform difference,SATD)成本从所有可用的帧内模式中选择N个帧内预测模式。在第二阶段,更高复杂度的R-D成本选择进一步应用于从N个候选中选择一个帧内预测模式。然而,当应用67个帧内预测模式时,由于可用模式的总数几乎翻倍,所以如果直接使用相同的HM的编码器模式决策过程,帧内模式预选择阶段的复杂度也将会增加。为了最小化编码器复杂度的增加,执行两步帧内模式预选择过程。在第一步中,基于绝对变换差和(SATD)测量从原始的35个帧内预测模式(在图1中用黑色实箭头指示)中选择N个模式(N取决于帧内预测块尺寸);在第二步中,所选择的N个模式的直接相邻模式(如图1中的红色虚线箭头所指示的附加帧内预测方向)进一步通过SATD检查,并且更新所选择的N个模式的列表。最后,前M个MPM被添加到N个模式(如果这M个MPM未包括在N个模式中),并且对第二阶段R-D成本检查(其以如HM的相同方式完成)生成候选帧内预测模式的最终列表。基于HM中的原始设置,M的值增加1,并且N如表1所示地减少。
表1:在帧内模式预选择步骤的模式候选的数量
Figure BDA0002927169560000061
在帧内预测的另一示例中,公开了基于BMS软件(由JVET开发)的帧内模式编解码方法。基准集(Benchmark Set,BMS)是在工具测试中使用的软件。
针对BMS之上的帧内模式信令,提出了两种主要修改。第一种修改涉及MPM列表构建,包括三个主要改变。第一改变是,属于第二层相邻块(非邻接相邻块)的帧内模式在左上模式之后插入MPM列表中。第二改变是,在插入第二层相邻帧内模式之后,插入DC模式。第三改变是,在默认列表中将DIA(对角模式)替换为VDIA(垂直对角)模式,该默认列表用于完成MPM列表。
第二种修改使用来自MPM列表的前两个角度模式的偏移填充16个选定模式以及前14个非选定模式,并且将来自默认帧内模式列表的5个其他非选定模式包括在内,该默认帧内模式列表基于帧内模式的出现概率排序。
BMS使用总共67个帧内预测模式。通过将可用的帧内模式分为三个不同的列表来发信号通知帧内模式:MPM模式列表、选定模式列表集、以及非选定模式列表集。从如图2所示的五个紧邻空间相邻模式导出6个MPM模式。
将帧内模式插入MPM列表的顺序如下:“左(L)”、“上(A)”、“平面”、“DC”、“左下(BL)”、“右上(AR)”、以及“左上(AL)”。16个选定模式从其余61个模式中选择,其中具有固定间隔值“4”。其余45个模式被分配给非选定模式集。MPM模式使用一元码编码,选定模式使用4位定长码发信号指示,并且非选定模式使用截断二元码编码。表2中指定了语法元素帧内预测模式的二值化。
表2.BMS中的帧内预测模式编码
Figure BDA0002927169560000062
所提出的方法包含两个主要方面。第一方面涉及修改的MPM列表构建,其包括三个主要改变。第一改变允许将“第二层(非邻接)”空间相邻块的帧内模式包括到MPM列表中。如图3所示,考虑了将“第二层空间相邻块”的帧内模式包括在MPM列表中。这些模式在“左下(BL)”帧内模式插入MPM列表后插入。
第二改变建议在“第二层”空间相邻块的帧内模式插入之后,将DC模式包括在内。第三改变建议在用于完成MPM列表的帧内模式默认列表中使用垂直对角(verticaldiagonal,VDIA)模式代替对角(diagonal,DIA)模式。
来自非邻接相邻块的模式和DC模式还可以按不同的顺序或以不同的方式加入MPM列表。同样,来自邻接相邻块的模式可以按不同的顺序或以不同的方式加入MPM列表。
例如,可以在每次直接相邻块不可用时加入第二层相邻块来代替该直接相邻块。为此,可以按预定义顺序包括第二层相邻块。例如,如果上方的直接相邻块A(311B)不可用,则可以加入第二层相邻块321B(如果其可用)。如果第二层相邻块321B也不可用,则替代地可以加入第二层相邻块322B。然而,该顺序也可以改变。可替代地,可以使用321B和322B的模式的平均值。如本申请稍后所描述的,还可以在插入所有直接相邻块之后插入第二层相邻块。第二方面关注于基于已包括在MPM列表中的帧内模式的列表导出选定模式集和非选定模式集。此外,非选定的模式是截断二元编码的:在总共45个非选定模式中,前19个模式使用5位来发信号指示帧内模式值,而其余29个模式需要6位来发信号指示帧内模式。为了利用该特性,所提出的方法还基于帧内模式出现的概率导出前19个非选定模式。
通过向MPM列表中存在的前2个角度模式添加偏移值“1”,生成16个选定模式以及前19个非选定模式中的14个模式的列表。前19个非选定模式中的其余5个模式从默认帧内模式列表中填充,该默认帧内模式列表基于帧内模式出现概率来排序。
通过将MPM列表中存在的前2个角度模式增加偏移值“1”来生成16个选定模式列表和前19个非选定模式中的14个模式。前19个非选定模式中的其余5个模式根据默认帧内模式列表来填充,该默认帧内模式列表基于帧内模式出现概率排序。
在帧内预测的另一示例中,公开了基于VTM软件(由JVET开发)的帧内模式编解码方法。
在当前VTM s/w中,总共存在35个帧内模式,其通过3MPM进行编解码,其中5位FLC用于其余模式编解码。为了支持67个帧内预测模式,将当前帧内模式编解码修改为仅从5位FLC到6位FLC的其余模式编解码。
下文中给出了用于亮度帧内预测模式的导出过程的示例:
该过程的输入是亮度位置(xPb,yPb),该亮度位置指定当前亮度预测块相对于当前图像的左上亮度样本的左上样本。
在该过程中,导出亮度帧内预测模式IntraPredModeY[xPb][yPb]。
表3指定了帧内预测模式的值以及相关联的名称。
表3帧内预测模式和相关联名称的说明
帧内预测模式 相关联名称
0 INTRA_PLANAR
1 INTRA_DC
2..66 INTRA_ANGULAR2..INTRA_ANGULAR66
标记为0…66的IntraPredModeY[xPb][yPb]表示如图1所示的预测方向。
通过以下有序步骤导出IntraPredModeY[xPb][yPb]:
1.将相邻位置(xNbA,yNbA)和(xNbB,yNbB)分别设为等于(xPb-1,yPb)和(xPb,yPb–1)。
2.对于被A或B替换的X,如下导出变量candIntraPredModeX:
-调用如HEVC标准所指定的按z扫描顺序的块的可用性导出过程,其中,被设为等于(xPb,yPb)的位置(xCurr,yCurr)以及被设为等于(xNbX,yNbX)的相邻位置(xNbY,yNbY)作为输入,并且输出被分配给availableX。
-如下导出候选帧内预测模式candIntraPredModeX:
-如果availableX等于FALSE,candIntraPredModeX被设为等于INTRA_DC。
-否则,如果CuPredMode[xNbX][yNbX]不等于MODE_INTRA或pcm_flag[xNbX][yNbX]等于1,则candIntraPredModeX被设为等于INTRA_DC,
-否则,如果X等于B并且yPb–1小于((yPb>>CtbLog2SizeY)<<CtbLog2SizeY),则candIntraPredModeB被设为等于INTRA_DC。
-否则,candIntraPredModeX被设为等于IntraPredModeY[xNbX][yNbX]。
3.如下导出candModeList[x],其中x=0..2:
-如果candIntraPredModeB等于candIntraPredModeA,则适用以下:
-如果candIntraPredModeA小于2(即,等于INTRA_PLANAR或INTRA_DC),则如下导出candModeList[x],其中x=0..2:
candModeList[0]=INTRA_PLANAR
candModeList[1]=INTRA_DC
candModeList[2]=INTRA_ANGULAR50
-否则,如下导出candModeList[x],其中x=0..2:
candModeList[0]=candIntraPredModeA
candModeList[1]=2+((candIntraPredModeA+61)%64)
candModeList[2]=2+((candIntraPredModeA–2+1)%64)
-否则(candIntraPredModeB不等于candIntraPredModeA),适用以下:
-如下导出candModeList[0]和candModeList[1]:
candModeList[0]=candIntraPredModeA
candModeList[1]=candIntraPredModeB
-如果candModeList[0]和candModeList[1]都不等于INTRA_PLANAR,则candModeList[2]被设为等于INTRA_PLANAR,
-否则,如果candModeList[0]和candModeList[1]都不等于INTRA_DC,则candModeList[2]被设为等于INTRA_DC,
-否则,candModeList[2]被设为等于INTRA_ANGULAR50。
4.通过应用以下程序导出IntraPredModeY[xPb][yPb]:
-如果prev_intra_luma_pred_flag[xPb][yPb]等于1,则IntraPredModeY[xPb][yPb]被设为等于candModeList[mpm_idx[xPb][yPb]]。
-否则,通过应用以下有序步骤导出IntraPredModeY[xPb][yPb]:
1)按以下有序步骤修改数组candModeList[x],x=0..2:
i.当candModeList[0]大于candModeList[1]时,如下交换两个值:
(candModeList[0],candModeList[1])=Swap(candModeList[0],candModeList[1])
ii.当candModeList[0]大于candModeList[2]时,如下交换两个值:(candModeList[0],candModeList[2])=Swap(candModeList[0],candModeList[2])
iii.当candModeList[1]大于candModeList[2]时,如下交换两个值:(candModeList[1],candModeList[2])=Swap(candModeList[1],candModeList[2])
2)通过以下有序步骤导出IntraPredModeY[xPb][yPb]:
i.IntraPredModeY[xPb][yPb]被设为等于rem_intra_luma_pred_mode[xPb][yPb]。
ii.对于等于0至2的i,当IntraPredModeY[xPb][yPb]大于或等于candModeList[i]时,IntraPredModeY[xPb][yPb]的值递增1。
在帧内预测的另一示例中,提出了自适应地将若干传统角度帧内预测模式替换为宽角度(wide-angle)帧内预测模式,以用于非方形块。
VTM/BMS指定了除平面模式和DC模式之外的33/65个角度帧内预测模式。这些预测方向以顺时针方向从45度到-135度定义。对于尺寸为W×H像素的目标块,上参考样本阵列和左参考样本阵列各自尺寸为(W+H+1),其用于覆盖所有目标像素的上述角度范围。在VTM/BMS中对角度集进行此定义是为了与HEVC指定的方向兼容,而没有考虑QTBT结构。
例如,当块是扁平的时(即W>H),该块被放置为靠近上参考阵列,但是非对称的。类似地,当块是高的时(即W<H),该块被放置为靠近左参考阵列,但是非对称的。图4示出了这种非对称性。这里,示出了示例性矩形目标块(左边为扁平块,右边为高块)及其上参考阵列和左参考阵列。目标块相对于两个参考阵列非对称地放置。
这种非对称的结果是,对于一些预测模式,目标像素将根据较远的参考阵列进行预测,而较近的参考阵列将因定义的角度而被排除。这在图5中示出。这里,示出了示例性矩形目标块(左边为扁平块,右边为高块)及其上参考阵列和左参考阵列。在左侧,目标像素A在左参考阵列上具有水平预测方向的预测样本L;虽然上参考阵列的样本T更近,但垂直预测方向(从而T可以是A的预测样本)在VTM/BMS中是不允许的。右图示出了对于高块中的目标像素的类似情况。
对于非方形块,提议将若干传统角度帧内预测模式替换为宽角度模式。被替换的模式使用原始方法发信号指示,并且在解析之后重新映射到宽角度模式的索引。帧内预测模式的总数不变,即,VTM-1.0中为35,BMS-1.0中为67,并且帧内模式编解码不变。
为了支持这些预测方向,提议使用长度2W+1定义上参考,使用长度2H+1定义左参考,如图6所示。该示例示出了矩形目标块的示例,其中上参考阵列的长度为2W+1,左参考阵列的长度为2H+1。在方形块的情况下,参考阵列的方向和长度等于VTM/BMS中的方向和长度。
在35个帧内预测模式的情况下,被替换的帧内预测模式在下表4中示出。
表4:当使用35个帧内预测模式时被宽角度模式替换的帧内预测模式
条件 被替换的帧内预测模式
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
在67个帧内预测模式的情况下,被替换的帧内预测模式在下表5中示出。
表5:当使用67个帧内预测模式时被宽角度模式替换的帧内预测模式
条件 被替换的帧内预测模式
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
图7示出了对于非方形块,如何将角度帧内模式替换为宽角度模式的示例。在该示例中,模式2和模式3被替换为宽角度模式32和模式36,其中模式35的方向指向模式3的反方向,模式36的方向指向模式4的反方向。
这种模式的新定义需要适应基于MPM的预测模式编码。由于目标块的相邻块可以具有与目标块不同的形状,所以其预测模式需要映射到目标块的预测模式。一种简单的解决方案是使用利用相应方向进行索引的原始模式。在这种情况下,目标块的与移除的方向对应的模式索引被映射到新包括的最接近的相反方向。如果与某个模式相关联的预测方向对于目标块仍然有效,则不需要映射。
最后,从图8中可以注意到,在宽角度帧内预测的情况下,两个垂直相邻的预测样本可能使用非相邻的参考样本。因此,应用低通参考样本滤波器和边平滑(sidesmoothing)以减少增加的间隔Δpα的负面影响。
如以上示例所示,帧内预测方法使用MPM(最可能模式)列表以及相邻块。然而,在一些情况下,相邻块可能不可用,即,相邻块可能超出帧的边界,或相邻块是P帧或B帧中的帧间预测块。在另一情况下,相邻块可能具有相同的预测模式,因此,由于MPM中的条目应是唯一的,所以仅该相同的预测模式(而不是一般情况下的两个模式)填充到MPM列表中。由于没有充分利用MPM模式,尤其是当MPM列表允许重复的帧内模式时,帧内预测的效率下降。
本公开旨在克服以上问题,并提供编码效率更高的用于帧内预测的装置以及相应方法。
在本公开中,术语“样本(sample)”用作“像素(pixel)”的同义词。特别地,“样本值(sample value)”表示表征像素的任意值,例如亮度值或色度值。
在本公开中,“图像(picture)”表示任何类型的图像图片,并且特别地适用于视频信号的帧。然而,本公开不限于视频编码和解码,还适用于使用帧内预测的任何种类的图像处理。
在本公开的第一方面,提供了一种使用历史帧内模式的帧内预测方法。该方法包括两个部分:(1)使用具有帧内预测模式的历史表构建当前编解码单元的MPM列表;(2)构建历史表。图9示出了该解决方案的一般过程。
步骤1:确定当前CU是否通过帧内模式进行编码/解码;
步骤2:当当前CU通过帧内模式进行编码/解码时,将当前CU的帧内模式记录在历史表中(例如,先进先出(first-in-first-out,FIFO)表);
步骤3:使用MPM列表处理下一CU,该MPM列表是使用历史表构建的。
在本公开的第二方面,提供了一种用于对图像的当前块进行编码的编码装置。该编码装置包括用于根据第一方面的帧内预测的装置,用于为当前块提供预测块,该编码装置还包括处理电路,用于基于预测块对当前块进行编码。
在本公开的第三方面,提供了用于对图像的当前编码块进行解码的解码装置。该解码装置包括用于根据本公开的第一方面的帧内预测的装置,用于为编码块提供预测块,该解码装置还包括处理电路,用于基于编码块和预测块构建当前块。
在本公开的第四方面中,提供了一种对图像的当前块进行编码的方法。该方法包括以下步骤:通过对当前块的样本执行根据第一方面的方法,为当前块提供预测块,以及基于预测块对当前块进行编码。
在本公开的第五方面,提供了一种对图像的当前块进行解码的方法。该方法包括以下步骤:通过对当前块的样本执行根据第一方面的方法,为当前块提供预测块,以及基于预测块重建当前块。
在本公开的第六方面中,一种计算机可读介质存储有指令,当在处理器上执行时,使该处理器执行根据本公开第一、第四、或第五方面的方法的所有步骤。
应当理解,与所描述的方法有关的公开内容对于用于执行该方法的相应设备或系统也可以成立,反之亦然。例如,如果描述了一个或多个特定的方法步骤,则对应的设备可以包括一个或多个单元(例如功能单元)以执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元各自执行多个步骤中的一个或多个步骤),即使这样的一个或多个单元在附图中未明确描述或示出。另一方面,例如,如果基于一个或多个单元(例如功能单元)来描述特定装置,则相应的方法可以包括执行一个或多个单元的功能的一个步骤(例如,执行一个或多个单元的功能的一个步骤,或者执行一个或多个单元的功能的多个步骤),即使这样的一个或多个步骤在附图中未明确描述或示出。此外,应理解,除非另外特别指出,否则本文所述的各种示例性实施方式和/或方面的特征可以彼此组合。
视频编解码(video coding)通常是指对形成视频或视频序列的图像序列的处理。在视频编解码领域,术语“图像(picture)”、“帧(frame)”或“图片(image)”可以用作同义词。视频编解码包括两个部分,视频编码和视频解码。视频编码在源侧执行,通常包括处理(例如,通过压缩)原始视频图像以减少表示视频图像所需的数据量(以便更有效地存储和/或传输)。视频解码在目的地侧执行,并且通常包括与编码器相比的逆处理,以重建视频图像。涉及视频图像(或一般图像,如稍后将解释的)的“编解码”的实施例应当被理解为涉及视频图像的“编码”和“解码”两者。编码部分和解码部分的组合也被称为CODEC(COding和DECoding)。
在无损视频编解码的情况下,可以重建原始视频图像,即,重建的视频图像具有与原始视频图像相同的质量(假设在存储或传输期间没有传输损耗或其他数据丢失)。在有损视频编解码的情况下,例如通过量化执行进一步压缩,以减少表示视频图像的数据量,该视频图像不能在解码器处完全重建,即,重建的视频图像的质量与原始视频图像的质量相比更低或更差。
自H.261以来的若干视频编码标准属于“有损混合型视频编解码器”组(即,组合样本域中的空间和时间预测以及变换域中用于应用量化的2D变换编解码)。视频序列的每个图像通常被划分成一组不重叠的块,并且编解码通常在块级上执行。换句话说,在编码器侧,通常通过以下在块(视频块)级上处理(即,编码)视频:例如,使用空间(帧内)预测和时间(帧间)预测来生成预测块,从当前块(当前处理/待处理的块)中减去预测块以获得残差块,在变换域中变换残差块并量化残差块以减少待传输(压缩)的数据量,而解码器侧将相对于编码器的逆处理应用于编码或压缩的块,以重建用于表示的当前块。此外,编码器重复解码器的处理步骤,使得两者将产生相同的预测(例如,帧内预测和帧间预测)和/或重建像素,用于处理(即,编解码)后续块。
由于视频图像处理(也称为运动图像处理)和静止图像处理(术语“处理”包括编解码)共享许多概念和技术或工具,因此在下文中,术语“图像(picture)”或“图片(image)”以及等效的术语“图像数据(picture data)”或“图片数据(image data)”用于指视频序列的视频图像(如上所述)和/或静止图像,以避免视频图像与静止图像之间不必要的重复和区别。在描述仅涉及静止图像(或静止图片)的情况下,将使用术语“静止图像”。
在以下实施例中,基于图10至图12描述编码器100、解码器200、和编解码系统300。
图10是示出了编解码系统300(例如图像编解码系统300)的实施例的概念或示意框图,其中编解码系统300包括源设备310,其用于将例如编码图像330的编码数据330提供给目的地设备320以便对编码数据330进行解码。
源设备310包括编码器100或编码单元100,并且可以附加地即可选地包括图像源312、预处理单元314(例如图像预处理单元314)、和通信接口或通信单元318。
图像源312可以包括或者可以是任何种类的图像捕获设备(例如用于捕获真实世界图像)、和/或任何种类的图像生成设备(例如用于生成计算机动画图像的计算机图形处理器)、或者任何种类的用于获得和/或提供真实世界图像、计算机动画图像(例如,屏幕内容、虚拟现实(virtual reality,VR)图像)、和/或其任何组合(例如,增强现实(augmentedreality,AR)图像)的设备。在下文中,除非另外特别描述,否则所有这些类型的图像或图片和任何其它类型的图像或图片将被称为“图像”或“图片”或“图像数据”或“图片数据”,而除非明确地不同地指定,否则关于术语“图像”或“图片”涵盖“视频图像”和“静止图像”的先前解释仍然适用。
(数字)图像是或者可以被认为是具有强度值的样本的二维阵列或矩阵。阵列中的样本也可以被称为像素(图像元素的短形式)或“pel”。阵列或图像的水平方向和垂直方向(或轴)上的样本数目定义了图像的尺寸和/或分辨率。为了表示颜色,通常采用三个颜色分量,即,图像可以用三个样本阵列表示或包括三个样本阵列。在RBG格式或颜色空间中,图像包括相应的红色、绿色、和蓝色样本阵列。然而,在视频编解码中,每一像素通常以亮度/色度格式或色彩空间(例如,YCbCr)表示,其包括由Y指示的亮度分量(有时也替代地使用L)和由Cb和Cr指示的两个色度分量。亮度(或简称luma)分量Y表示亮度或灰阶强度(例如,在灰度图像中),而两个色度(或简称chroma)分量Cb和Cr表示色度或颜色信息分量。因此,YCbCr格式的图像包括亮度样本值(Y)的亮度样本阵列和色度值(Cb和Cr)的两个色度样本阵列。RGB格式的图像可以被转换或变换为YCbCr格式,反之亦然,该过程也被称为颜色变换或转换。如果图像是单色的,则该图像可以仅包括亮度样本阵列。
图像源312可以是例如用于捕获图像的相机、包括或存储先前捕获或生成的图像的存储器(例如图像存储器)、和/或用于获得或接收图像的任何种类的接口(内部或外部)。相机可以是例如集成在源设备中的本地或集成相机,存储器可以是例如集成在源设备中的本地或集成存储器。接口可以是例如用于从外部视频源接收图像的外部接口,外部视频源例如是诸如相机的外部图像捕获设备、外部存储器、或外部图像生成设备,外部图像生成设备例如是外部计算机图形处理器、计算机、或服务器。接口可以是根据任何专有或标准化接口协议的任何种类的接口,例如有线接口或无线接口、光学接口。用于获得图像数据313的接口可以是与通信接口318相同的接口或其一部分。
每个设备内的单元之间的接口包括线缆连接、USB接口,源设备310和目的地设备320之间的通信接口318和322包括线缆连接、USB接口、无线接口。
与预处理单元314和由预处理单元314执行的处理不同,图像或图像数据313也可被称为原始图像或原始图像数据313。
预处理单元314用于接收(原始)图像数据313并且对图像数据313执行预处理以获得预处理图像315或预处理图像数据315。由预处理单元314执行的预处理可以例如包括裁剪、颜色格式转换(例如,从RGB到YCbCr)、颜色校正、或去噪。
编码器100用于接收预处理图像数据315并提供编码图像数据171(将例如基于图11来描述进一步的细节)。
源设备310的通信接口318可用于接收编码图像数据171并将其直接传送到另一设备,例如目的地设备320或任何其他设备,以供存储或直接重建,或者分别在存储编码数据330和/或将编码数据330传送到另一设备(例如目的地设备320或任何其他设备)以供解码或存储之前处理编码图像数据171。
目的地设备320包括解码器200或解码单元200,并且可以附加地即可选地包括通信接口或通信单元322、后处理单元326、和显示设备328。
目的地设备320的通信接口322用于例如直接从源设备310或从任何其它源(例如,存储器,例如,编码图像数据存储器)接收编码图像数据171或编码数据330。
通信接口318和通信接口322可以用于经由源设备310和目的地设备320之间的直接通信链路或者经由任何种类的网络分别发送和接收编码图像数据171或编码数据330,直接通信链路例如是直接有线连接或无线连接,包括光连接,网络例如是有线或无线网络或其任何组合,或者任何种类的专用网络和公共网络或其任何种类的组合。
通信接口318例如可用于将编码图像数据171封装为适当格式(例如包)以供经由通信链路或通信网络传输,且还可以包括数据丢失保护。
形成通信接口318的对应部分的通信接口322例如可以用于对编码数据330进行解封装以获得编码图像数据171,并且还可以用于执行数据丢失保护和数据丢失恢复,例如包括错误隐藏。
通信接口318和通信接口322两者都可以被配置为如图10中的编码图像数据330的从源设备310指向目的地设备320的箭头所指示的单向通信接口,或者双向通信接口,并且可以用于例如发送和接收消息,例如以建立连接,确认和/或重新发送丢失或延迟的数据(包括图像数据),并且交换与通信链路和/或数据传输(例如,编码图像数据传输)相关的任何其他信息。
解码器200用于接收编码图像数据171并且提供解码图像数据231或解码图像231。
目的地设备320的后处理器326用于对解码图像数据231(例如,解码图像231)进行后处理以获得后处理图像数据327(例如,后处理图像327)。由后处理单元326执行的后处理可包括例如颜色格式转换(例如,从YCbCr到RGB)、颜色校正、裁剪、或重采样、或任何其它处理,例如用于准备解码图像数据231以供例如显示设备328显示。
目的地设备320的显示设备328用于接收后处理图像数据327以用于将图像显示给例如用户或观看者。显示设备328可以是或包括用于表示重建图像的任何种类的显示器,例如集成或外部显示器或监视器。显示器可以例如包括阴极射线管(cathode ray tube,CRT)、液晶显示器(liquid crystal display,LCD)、等离子体显示器、有机发光二极管(organic light emitting diode,OLED)显示器或任何种类的其它显示器,例如投影仪、全息显示器、用于生成全息图的装置……
虽然图10将源设备310和目的地设备320描绘为单独的设备,但是设备的实施例还可以包括两个设备或两种功能,源设备310或对应的功能以及目的地设备320或对应的功能。在这样的实施例中,源设备310或相应的功能和目的地设备320或相应的功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任何组合来实现。
如基于描述对本领域技术人员将显而易见的,如图10所示的源设备310和/或目的地设备320内的不同单元的功能或功能的存在和(精确)划分可以取决于实际设备和应用而变化。
在下文中,将提供编解码系统300、源设备310、和/或目的地设备320的几个非限制性示例。
各种电子产品(例如智能手机、平板、具有集成显示器的手持相机)可以看做是编解码系统300的示例。这些电子产品包含显示设备328,并且大部分也包含集成相机,即图像源312。集成相机获得的图像数据可以被处理和显示。上述处理包括图像数据的内部编码和解码。另外,编码图像数据可以存储在集成存储器中。
可替代地,这些电子产品可以具有有线或无线接口,以从外部源(例如互联网或外部相机)接收图像数据,或将编码图像数据发送到外部显示器或存储单元。
另一方面,机顶盒不包含集成相机或显示器,但执行接收的图像数据的图像处理,以在外部显示设备上显示。例如,这种机顶盒可以通过芯片集实施。
可替代地,与机顶盒类似的设备可以包括在显示设备中,例如具有集成显示器的电视机。
具有集成显示器的监控相机构成另一示例。监控相机表示具有接口的源设备,该接口用于将捕获的或编码的图像数据发送到外部显示设备或外部存储设备。
相反,诸如智能眼镜或3D眼镜(例如用于AR或VR)的设备表示目的地设备320。这些设备接收编码图像数据并显示这些编码图像数据。
因此,如图10所示的源设备310和目的地设备320仅仅是用于本公开的示例实施例,并且本公开的实施例不限于图10所示的内容。
源设备310和目的地设备320可包括各种各样的设备中的任何一种,包括任何种类的手持式或固定设备,例如,笔记本或膝上型计算机、移动电话、智能电话、平板或平板计算机、相机、台式计算机、机顶盒、电视机、显示设备、数字媒体播放器、视频游戏控制台、视频流送设备、广播接收机设备等。对于大规模专业编码和解码,源设备310和/或目的设备320可以额外地包括服务器或工作站,这些服务器和工作站可以包括在大型网络中。这些设备可不使用或使用任何种类的操作系统。
编码器和编码方法
图11示出了编码器100(例如图像编码器100)的实施例的示意性/概念性框图,其包括输入102、残差计算单元104、变换单元106、量化单元108、反量化单元110、和反变换单元112、重建单元114、缓冲区116、环路滤波器120、解码图像缓冲器(decoded picturebuffer,DPB)130、预测单元160(包括帧间估计单元142、帧间预测单元144、帧内估计单元152、帧内预测单元154、和模式选择单元162)、熵编码单元170、和输出172。如图8所示的视频编码器100也可以称为混合视频编码器或根据混合视频编解码器的视频编码器。每个单元可以由处理器和非暂时性存储器组成,用于通过处理器执行存储在非暂时性存储器中的代码来执行其处理步骤。
例如,残差计算单元104、变换单元106、量化单元108、和熵编码单元170形成编码器100的前向信号路径,而例如反量化单元110、反变换单元112、重建单元114、缓冲区116、环路滤波器120、解码图像缓冲区(DPB)130、帧间预测单元144、和帧内预测单元154形成编码器的反向信号路径,其中编码器的反向信号路径对应于解码器(见图12中的解码器200)的信号路径,用于提供等同的重建和预测的逆处理。
编码器用于例如通过输入102接收图像101或图像101的图像块103,例如形成视频或视频序列的图像序列中的图像。图像块103也可以被称为当前图像块或待编解码图像块,并且图像101也可以被称为当前图像或待编解码图像(特别是在视频编解码中,为了将当前图像与其它图像区分开,其他图像例如是同一视频序列(即,也包括当前图像的视频序列)的先前编码和/或解码的图像)。
划分
编码器100的实施例可以包括划分单元(图11中未示出),例如其也可以称为图像划分单元,其用于将图像103分成多个块,例如,类似于块103的块,通常分成多个非重叠块。划分单元可用于对视频序列的所有图像使用相同的块大小,并使用界定上述块大小的对应网格,或在图像或图像子集或图像组之间改变块大小,且将每一图像分成对应的块。
多个块中的每个块可以具有方形尺寸,或更一般地,具有矩形尺寸。非矩形形状图像区域的块可能不会出现。
与图像101类似,块103也被视为或者可以被视为具有强度值(样本值)的样本的二维阵列或矩阵,但其维度小于图像101。换句话说,块103可以包括例如一个样本阵列(例如,在单色图像101的情况下的亮度阵列)或三个样本阵列(例如,在彩色图像101的情况下的一个亮度和两个色度阵列)或任何其他数量和/或种类的阵列,这取决于所应用的颜色格式。块103的水平方向和垂直方向(或轴)上的样本数目定义块103的大小。
如图11中所示的编码器100用于逐块地对图像101进行编码,例如,按块103执行编码和预测。
残差计算
残差计算单元104用于基于图像块103和预测块165(稍后提供关于预测块165的进一步细节)来计算残差块105,例如,通过逐个样本(逐个像素)地从图像块103的样本值减去预测块165的样本值,以获得样本域中的残差块105。
变换
变换单元106用于对残差块105的样本值应用变换(例如,空间频率变换或线性空间变换,例如,离散余弦变换(discrete cosine transform,DCT)或离散正弦变换(discrete sine transform,DST))以获得变换域中的变换系数107。变换系数107还可被称作变换残差系数并表示变换域中的残差块105。
变换单元106可用于应用DCT/DST的整数近似,例如针对HEVC/H.265指定的核心变换。与标准正交DCT变换相比,这种整数近似通常由某个因子按比例缩放。为了维持通过正变换和逆变换处理的残差块的范数,应用附加的比例缩放因子作为变换过程的一部分。通常基于某些约束来选择比例缩放因子,例如,比例缩放因子是用于移位运算的2的幂、变换系数的位深度、准确度与实施成本之间的权衡等。例如,在解码器200处,特定的比例缩放因子例如由反变换单元212指定用于反变换(以及在编码器100处,相应的反变换单元112指定用于反变换),并且可以相应地在编码器100处,例如由变换单元106指定用于正变换的相应比例缩放因子。
量化
量化单元108用于例如通过应用标量量化或向量量化来对变换系数107进行量化,以获得量化系数109。量化系数109还可被称作量化残差系数109。例如,对于标量量化,可以应用不同的缩放以实现较细或较粗的量化。较小量化步长对应于较细量化,而较大量化步长对应于较粗量化。可由量化参数(QP)指示适用的量化步长。量化参数可以例如是对预定义的一组适用的量化步长的索引。例如,小量化参数可以对应于精细量化(小量化步长),并且大量化参数可以对应于粗糙量化(大量化步长),反之亦然。量化可以包括除以量化步长,并且例如由反量化单元110进行的对应或逆解量化可以包括乘以量化步长。根据HEVC(High-Efficiency Video Coding,高效视频编码)的实施例可用于使用量化参数来确定量化步长大小。通常,可以使用包括除法的等式的定点近似基于量化参数来计算量化步长。可引入额外的比例缩放因子用于量化和解量化,以恢复可能由于在用于量化步长和量化参数的等式的定点近似中使用的比例而修改的残差块的范数。在一个示例实施方式中,可以组合逆变换和解量化的比例。或者,可使用定制的量化表,并例如在位流中将该量化表从编码器发信号通知给解码器。量化是有损操作,其中损耗随着量化步长的增加而增加。
编码器100的实施例(或量化单元108)可以用于例如通过对应的量化参数来输出量化设置,包括量化方案和量化步长,使得解码器200可以接收并应用对应的反量化。编码器100(或量化单元108)的实施例可用于输出量化方案及量化步长,例如直接输出或经由熵编码单元170或任何其它熵编解码单元进行熵编码而输出。
反量化单元110用于例如通过基于或使用与量化单元108相同的量化步长来应用由量化单元108应用的量化方案的反量化方案,来对量化系数应用量化单元108的反量化,以获得去量化系数111。去量化系数111还可被称作去量化残差系数111,且对应于变换系数108,不过通常由于量化损耗而与变换系数不相同。
反变换单元112用于应用由变换单元106应用的变换的反变换,例如,离散余弦反变换(DCT)或离散正弦反变换(DST),以获得样本域中的反变换块113。反变换块113也可以被称为反变换去量化块113或反变换残差块113。
重建单元114用于例如通过逐样本地将解码残差块113的样本值和预测块165的样本值相加来组合反变换块113和预测块165以获得样本域中的重建块115。
缓冲区单元116(或简称“缓冲区”116),例如行缓冲区116,用于缓冲或存储重建块和相应的样本值,例如用于帧内估计和/或帧内预测。在另外的实施例中,编码器可以用于使用未滤波的重建块和/或存储在缓冲区单元116中的相应样本值进行任何种类的估计和/或预测。
编码器100的实施例可以用于使得例如缓冲区单元116不仅用于存储用于帧内估计152和/或帧内预测154的重建块115,还用于环路滤波器单元120,和/或使得例如缓冲区单元116和解码图像缓冲区单元130形成一个缓冲区。其他实施例可以用于使用滤波块121和/或来自解码图像缓冲区130的块或样本(在图11中未示出)作为帧内估计152和/或帧内预测154的输入或基础。
环路滤波器单元120(或简称“环路滤波器”120)用于对重建块115进行滤波以获得滤波块121,例如通过应用去块样值偏移补偿(sample-adaptive offset,SAO)滤波器或其它滤波器,例如锐化滤波器、平滑滤波器、或协同滤波器。滤波块121也可以被称为滤波重建块121。
环路滤波器单元120的实施例可以包括滤波器分析单元和实际滤波器单元,其中滤波器分析单元用于确定实际滤波器的环路滤波器参数。滤波器分析单元可以用于将固定的预定滤波器参数应用于实际环路滤波器,从一组预定滤波器参数中自适应地选择滤波器参数,或者自适应地计算实际环路滤波器的滤波器参数。
环路滤波器单元120的实施例可以包括(图11中未示出)一个或多个滤波器(例如环路滤波器组件和/或子滤波器),例如,串联或并联或其任意组合连接的不同类型的滤波器中的一个或多个,其中,每个滤波器可以单独地或与多个滤波器中的其他滤波器共同地包括滤波器分析单元,以如在前一段中所描述地确定相应的环路滤波器参数。
编码器100的实施例(相应地,环路滤波器单元120)可以用于输出环路滤波器参数,例如,直接输出或经由熵编码单元170或任何其他熵编码单元进行熵编码输出,使得例如解码器200可以接收并应用相同的环路滤波器参数进行解码。
解码图像缓冲区(DPB)130用于接收和存储滤波块121。解码图像缓冲区130还可以用于存储同一当前图像或不同图像(例如,先前的重建图像)的其它先前的滤波块(例如,先前的重建和滤波块121),且可提供完整的先前重建(即,解码)图像(和对应参考块和样本)和/或部分重建的当前图像(和对应参考块和样本),例如用于帧间估计和/或帧间预测。
本公开的其他实施例还可以用于使用解码图像缓冲区130的先前滤波块和对应的滤波样本值进行任何种类的估计或预测,例如帧内估计和预测以及帧间估计和预测。
预测单元160(也称为块预测单元160)用于接收或获得图像块103(当前图像101的当前图像块103)和解码的或至少重建的图像数据(例如,来自缓冲区116的相同(当前)图像的参考样本和/或来自解码图像缓冲区130的一个或多个先前解码图像的解码图像数据231),并且处理这样的数据用于预测,即,提供预测块165,其可以是帧间预测块145或帧内预测块155。
模式选择单元162可用于选择预测模式(例如,帧内预测模式或帧间预测模式)和/或对应的预测块145或155用作预测块165,以用于残差块105的计算和用于重建块115的重建。
模式选择单元162的实施例可用于选择预测模式(例如,从预测单元160所支持的预测模式中选择),该预测模式提供最佳匹配或换句话说最小残差(最小残差意味着更好的压缩以用于传输或存储),或最小信令开销(最小信令开销意味着更好的压缩以用于传输或存储),或考虑或平衡两者。模式选择单元162可以用于基于率失真优化(rate distortionoptimization,RDO)来确定预测模式,即,选择提供最小率失真优化或相关联的率失真至少满足预测模式选择标准的预测模式。
在下文中,将更详细地解释由示例编码器100执行的预测处理(例如,预测单元160)和模式选择(例如由模式选择单元162执行)。
如上文所描述,编码器100用于从一组(预定)预测模式中确定或选择最佳或最优预测模式。该组预测模式例如可以包括帧内预测模式和/或帧间预测模式。
该组帧内预测模式可包含如H.264中所定义的32个不同的帧内预测模式,例如,非定向模式(例如,DC(或平均值)模式和平面模式)或定向模式,或可包含如H.265中所定义的65个不同帧内预测模式,例如,非定向模式(例如,DC(或平均值)模式和平面模式)或定向模式。
该组(或可能的)帧间预测模式取决于可用的参考图像(即,例如存储在DPB230中的先前至少部分解码的图像)和其它帧间预测参数,例如,是使用整个参考图像还是仅使用参考图像的一部分(例如,当前块的区域周围的搜索窗口区域)来搜索最佳匹配参考块,和/或例如是否应用像素插值,例如,半/半像素和/或四分之一像素插值。
除了上述预测模式之外,还可以应用跳过模式和/或直接模式。
预测单元160可进一步用于例如迭代地使用四叉树划分(quad-tree-partitioning,QT)、二叉树划分(binary-partitioning,BT)、或三叉树划分(triple-tree-partitioning,TT)或其任何组合将块103划分成较小块分区或子块,且执行例如对每个块分区或子块的预测,其中,模式选择包括选择划分的块103的树结构和应用于每个块分区或子块的预测模式。
帧间估计单元142(也称为图像间估计单元142)用于接收或获得图像块103(当前图像101的当前图像块103)和解码图像231,或至少一个或多个先前重建块,例如一个或多个其它/不同的先前解码图像231的重建块,用于帧间估计(或”图像间估计“)。举例来说,视频序列可包括当前图像和先前解码图像231,或换句话说,当前图像和先前解码图像231可以是形成视频序列的图像序列的一部分或形成该图像序列。
编码器100可以例如用于从多个其他图像中的相同或不同图像的多个参考块中选择(获得/确定)参考块,并且将参考图像(或参考图像索引等)和/或参考块的位置与当前块的位置(x,y坐标)之间的偏移(空间偏移)作为帧间估计参数143提供给帧间预测单元144。这个偏移也被称为运动矢量(motion vector,MV)。帧间估计也被称为运动估计(motionestimation,ME),帧间预测也被称为运动预测(motion prediction,MP)。
帧间预测单元144用于获得(例如接收)帧间预测参数143,并且基于或使用帧间预测参数143执行帧间预测以获得帧间预测块145。
尽管图11示出了用于帧间编码的两个不同单元(或步骤),即帧间估计142和帧间预测152,但是这两个功能可以作为一个来执行(帧间估计通常要求/包括计算帧间预测块,即“一类”帧内预测154),例如,通过迭代地测试所有可能的帧间预测模式或其预定子集,同时存储当前最佳的帧间预测模式和相应的帧间预测块,并且使用当前最佳的帧间预测模式和相应的帧间预测块作为(最终)帧间预测参数143和帧间预测块145,而不执行另一次帧间预测144。
帧内估计单元152用于获得(例如接收)图像块103(当前图像块)和同一图像的一个或多个先前重建块(例如,重建的相邻块)以用于帧内估计。编码器100例如可以用于从多个帧内预测模式中选择(获得/确定)帧内预测模式,并且将其作为帧内估计参数153提供给帧内预测单元154。
编码器100的实施例可以用于基于优化标准选择帧内预测模式,优化标准例如是最小残差(例如提供与当前图像块103最相似的预测块155的帧内预测模式)或最小率失真。
帧内预测单元154用于基于帧内预测参数153(例如选择的帧内预测模式153)确定帧内预测块155。
尽管图11示出了帧内编码的两个不同单元(或步骤),即帧内估计152和帧内预测154,但是这两个功能可以作为一个来执行(帧内估计通常要求/包括计算帧间预测块,即“一类”帧内预测154),例如通过迭代地测试所有可能的帧内预测模式或其预定子集,同时存储当前最佳帧内预测模式和相应的帧内预测块,并且使用当前最佳帧内预测模式和相应的帧内预测块作为(最终)帧内预测参数153和帧内预测块155,而不执行另一次帧内预测154。
熵编码单元170用于单独地或联合地(或根本不)对量化残差系数109、帧间预测参数143、帧内预测参数153、和/或环路滤波器参数应用熵编码算法或方案(例如,可变长度编码(variable length coding,VLC)方案、上下文自适应VLC方案(context adaptive VLCscheme,CALVC)、算术编码方案、上下文自适应二进制算术编码(context adaptive binaryarithmetic coding,CABAC)),以获得可由输出172例如以编码位流171的形式输出的编码图像数据171。
解码器
图12示出了用于接收例如由编码器100编码的编码图像数据(例如,编码位流)171以获得解码图像231的示例性视频解码器200。
解码器200包括输入202、熵解码单元204、反量化单元210、反变换单元212、重建单元214、缓冲区216、环路滤波器220、解码图像缓冲区230、预测单元260(包括帧间预测单元244、帧内预测单元254、以及模式选择单元260)、和输出232。
熵解码单元204用于对编码图像数据171进行熵解码,以获得量化系数209和/或解码编码参数(图12中未示出),例如(解码的)帧间预测参数143、帧内预测参数153、和/或环路滤波器参数中的任意一个或全部。
在解码器200的实施例中,反量化单元210、反变换单元212、重建单元214、缓冲区216、环路滤波器220、解码图像缓冲区230、预测单元260,和模式选择单元260用于执行编码器100(和各个功能单元)的逆处理以对编码图像数据171进行解码。
特别地,反量化单元210可以在功能上与反量化单元110相同,反变换单元212可以在功能上与反变换单元112相同,重建单元214可以在功能上与重建单元114相同,缓冲区216可以在功能上与缓冲区116相同,环路滤波器220可以在功能上与环路滤波器120相同(关于实际环路滤波器,因为环路滤波器220通常不包括用于基于原始图像101或块103确定滤波器参数的滤波器分析单元,而是例如从熵解码单元204接收(显式或隐式地)或获得用于编码的滤波器参数),并且解码图像缓冲区230可以在功能上与解码图像缓冲区130相同。
预测单元260可以包括帧间预测单元244和帧内预测单元254,其中,帧间预测单元244可以在功能上与帧间预测单元144相同,帧内预测单元254可以在功能上与帧内预测单元154相同。预测单元260和模式选择单元262通常用于执行块预测和/或仅从编码数据171获得预测块265(没有关于原始图像101的任何进一步的信息),并且例如从熵解码单元204接收或获得(显式或隐式)预测参数143或153和/或关于所选择的预测模式的信息。
解码器200用于例如经由输出232输出解码图像231,以向用户呈现或供用户观看。
参考图10,从解码器200输出的解码图像231可以在后处理器326中进行后处理。得到的后处理图像327可以传输到内部或外部显示设备328并进行显示。
实施例和示例的细节
实施例1(先进先出历史表)
历史表可以如下构建,并且表中的条目位置取决于其输入顺序,当表中的帧内模式被添加到MPM列表中时,较晚加入该表中的帧内模式将较早加入MPM列表中:
实施例1.1
步骤1:处理编解码单元;
步骤2:当编解码单元是使用帧内预测进行编码时,检查历史表是否已满(表的大小为S);
步骤3.1:当该表未满时,将编解码单元的帧内模式添加到该表中,并且添加的帧内模式在表中的位置是最后一个(最新的条目);
步骤3.2:当该表已满时,用每个条目的相邻较晚加入的条目覆盖该条目,并将编解码单元的帧内模式添加到该表中。例如,表的大小为3,表中的帧内预测模式为A、B、C,并且A是第一个加入该表的条目,C是最后一个加入该表的条目。在加入D后,表中的帧内模式为B、C、D。同样的方法可以用于其他大小的表。
图13示出了实施例1.1的特定情况。1301是FIFO表。在该示例中,当1310-S-1加入该表中时,条目1301-0至1301-S-2已经在该表中。然而,该表未满,并且最新条目1320-S-1的位置是空的。因此,1310-S-1在最新条目1320-S-1的位置加入。在该示例中,最早(或最旧)的条目的位置是1320-0。指针1302是指向待插入最新条目的位置的指针。图13仅示出了插入一个模式的示例。还可以存在更多空的位置。在这种情况下,最新的模式插入与占用的位置相邻的第一空位置。在没有空位置的情况下,最早的条目1310-+0可以从列表中移除,并且条目1310-1可以移动到位置1320-0。同样地,每个条目可以向左移动,并且最新条目可以在最新位置1320-S-1插入该列表。
实施例1.2
步骤1:处理编解码单元;
步骤2:当编解码单元是使用帧内预测进行编码时,检查该编解码单元的帧内预测模式是否在历史表中;
步骤3:如果该帧内预测模式不在该表中,则检查该表是否已满(该表的大小为S),否则(该帧内预测在该表中),该表将不会进行调整。
步骤4.1:当该表未满时,将编解码单元的帧内模式添加到该表中,并且添加的帧内模式在表中的位置是最后一个(最新的条目);
步骤4.2:当该表已满时,用每个条目的相邻条目覆盖该条目,并将编解码单元的帧内模式添加到该表中,其中,条目的相邻条目是与所述条目相邻的并且晚于所述条目加入该表的条目。例如,表的大小为3,表中的帧内预测模式为A、B、C,并且A是第一个加入该表的条目,C是最后一个加入该表的条目。在加入D后,表中的帧内模式为B、C、D。
在该示例中,如果待添加的条目为C,由于帧内模式C已存在于该表中,所以该表将不会改变。如果A或B将加入该表中,则以上方式同样适用。在表中没有找到要添加的最新条目的情况下,可以按与实施例1.1的示例相同的方式根据该实施例根据该示例添加条目。实施例2(基于频率的历史帧内模式表)
历史表可以如下构建,并且条目在表中的位置(该位置可以通过一个比特或更多比特发信号指示,在下文中也称为用于编码指示符的比特)取决于其频率,当表中的帧内模式被添加到MPM列表中时,具有较高频率的帧内模式将较早加入:在该示例中,如果某个模式加入了该表两次,则其频率可以为2。一般地,帧内模式或条目的频率可以对应于其要加入该表的次数。
实施例2.1
步骤1:处理编解码单元;
步骤2:当该编解码单元是使用帧内预测进行编码时,检查编解码单元的帧内模式是否在历史表中;
步骤3.1:当该帧内模式在该表中时,通过加1更新该帧内模式的频率;
步骤3.1.1:当该帧内模式的频率大于其相邻条目的频率时,将该帧内模式的位置与该相邻条目互换;
步骤3.2:当该帧内模式不在该表中时,检查该表是否已满(该表的大小为S);
步骤3.2.1:当该表已满时,用该编解码单元的帧内模式覆盖频率最低的条目,并将该帧内模式的频率记录为1;
步骤3.2.2:当该表未满时,将该编解码单元的帧内模式添加到该表中,并将该帧内模式的频率记录为1。
图14A示出了实施例2.1的特定情况。这里,历史信息存储在有序表格中,基于帧内模式频率维持大小为S的排序历史帧内模式表格。
在该示例中,如果表中的相邻条目上的两个以上的帧内模式具有相同的频率,并且这些模式之一的频率增加,则可以调整帧内模式的位置,使得现在频率增加的模式移动到相邻位置上的模式具有相同或较高频率的位置,或移动到相邻位置上的模式具有较高频率的位置。在另一示例中,可以仅交换相邻位置上的模式。然而可以重复相邻位置上的模式交换,直到这些模式再次根据其频率排序。
此外,可以使用第二表。在第一表(在以上实施例中描述为历史表)已满的情况下,具有最小频率的模式从该表中移除,该模式可以添加到第二表。在移动到第二表的该模式的频率在稍后增加并且该模式的频率高于第一表中的一个或多个模式的频率的情况下,该模式可以从第二表再次移动到第一表,并且具有较小频率的模式可以替代地从第一表移动到第二表。
实施例2.2
步骤1:处理编解码单元;
步骤2:当编解码单元是使用帧内预测进行编码时,检查编解码单元的帧内模式是否在历史表中;
步骤3.1:当该帧内模式在该表中时,通过加1更新该帧内模式的频率;
步骤3.1.1:当该帧内模式的频率大于其相邻条目的频率时,将该帧内模式的位置与该相邻条目交换;
步骤3.2:当该帧内模式不在该表中时,将该编解码单元的帧内模式添加到该表中,将该帧内模式的频率记录为1,并且将该帧内模式置于与频率1对应的位置。
在该实施例中,可以将该帧内模式添加到已存在于该表中的频率为1的其他潜在条目之前。这意味着如果该表具有条目A、B、C,对应的频率为2、1、1,并且将要添加新的条目D,则新的表可以是A、D、B、C,对应的频率为2、1、1、1。
实施例3(使用历史帧内模式的MPM列表导出)
该实施例描述了如何使用来自先前处理的编解码单元的帧内模式(也称为历史帧内模式)生成MPM列表。
MPM列表可以使用容易建立的历史模式表来构建。可替代地,MPM列表和历史表可以在处理编解码单元时并行构建。
根据与图2有关的实施例,可以按以下顺序填充MPM列表:
1)左、上、平面、DC、左下、右上、左上
2)如果MPM列表未满,并且现有MPM条目中有角度模式,则使用通过角度模式-1/+1导出的模式填充MPM列表
3)如果MPM列表未满,则使用以下顺序填充MPM列表:垂直、水平、模式2、以及对角模式
可以通过使用在以上章节描述的历史表来改进上述实施例,例如实施例1中的FIFO表或实施例2中的基于频率的表。
换句话说,在该实施例中,添加模式的顺序可以是左(211B)、上(212B)、平面(113B)、DC(114B)、左下(215B)、右上(216B)、左上(217B)。将模式添加到表中的这种顺序或检查是否要将模式添加到列表中可以与上述将模式添加到表中的任何策略组合。如果MPM列表未满,则可以添加导出的模式。这可以意味着对于已存在于MPM列表中的模式,添加相邻的模式。例如,从第一个条目到最后一个条目或替代地从最后一个条目到第一条目遍历MPM列表,对于每个条目X,可以添加具有值X+1的附加条目,然后添加附加条目X-1。在该示例中,如果MPM列表仍未满,可以在添加下一条目的相邻模式之前添加每个条目的递增或递减相邻模式。可替代地,首先,对于所有条目,可以添加递增相邻模式,并且当添加了所有条目的递增相邻模式之后该表仍未满时,添加这些条目的递减相邻模式,直到MPM列表已满。
注意,根据表2,当MPM列表的索引通过变长编码进行编码时,较早加入MPM列表的帧内模式的索引将被分配较少编码比特。
在另一示例中,添加模式的顺序还可以是固定的,但与该实施例中描述的不同。
实施例3.1
可以按以下顺序填充MPM列表:
1)左、上、平面、DC、左下、右上、左上
2)如果MPM列表未满,则使用历史表中的N(0<N<=S)个条目填充MPM列表
3)如果MPM列表未满,并且现有MPM条目中有角度模式,则使用通过角度模式-1/+1导出的模式填充MPM列表
4)如果MPM列表未满,则使用以下顺序填充MPM列表:垂直、水平、模式2、以及对角模式
换句话说,首先使用来自历史表的条目填充MPM列表,直到MPM列表已满。然后,可以如上所述使用相邻条目填充MPM列表,并且如果MPM列表仍未满,则可以使用垂直、水平、模式2、以及对角模式。
这里,S可以是历史表的大小,N可以定义要使用多少个来自历史表的条目,并且MPM列表的大小可以为M。
在下文中,描述了更多如何填充MPM列表的示例。
实施例3.2
可以按以下顺序填充MPM列表:
1)左、上
2)如果MPM列表未满,则使用历史表中的N(0<N<=S)个条目填充MPM列表
3)平面、DC、左下、右上、左上
4)如果MPM列表未满,并且现有MPM条目中有角度模式,则使用通过角度模式-1/+1导出的模式填充MPM列表
5)如果MPM列表未满,则使用以下顺序填充MPM列表:垂直、水平、模式2、以及对角模式
实施例3.3
可以按以下顺序填充MPM列表:
1)左、上、平面
2)如果MPM列表未满,则使用历史表中的N(0<N<=S)个条目填充MPM列表
3)DC、左下、右上、左上
4)如果MPM列表未满,并且现有MPM条目中有角度模式,则使用通过角度模式-1/+1导出的模式填充MPM列表
5)如果MPM列表未满,则使用以下顺序填充MPM列表:垂直、水平、模式2、以及
对角模式
实施例3.4
可以按以下顺序填充MPM列表:
1)左、上、平面、DC
2)如果MPM列表未满,则使用历史表中的N(0<N<=S)个条目填充MPM列表
3)左下、右上、左上
4)如果MPM列表未满,并且现有MPM条目中有角度模式,则使用通过角度模式-1/+1导出的模式填充MPM列表
5)如果MPM列表未满,则使用以下顺序填充MPM列表:垂直、水平、模式2、以及
对角模式
实施例3.5
可以按以下顺序填充MPM列表:
1)左、上、平面、DC、左下、右上、左上
2)如果MPM列表未满,并且现有MPM条目中有角度模式,则使用通过角度模式-1/+1导出的模式填充MPM列表
3)如果MPM列表未满,则使用历史表中的N(0<N<=S)个条目填充MPM列表
4)如果MPM列表未满,则使用以下顺序填充MPM列表:垂直、水平、模式2、以及
对角模式
实施例3.6
根据实施例3.1至3.5,历史表中的最多N(0<N<=S)个条目插入MPM列表中。从历史表插入MPM列表的过程可以遵循图14B的步骤:
在一个可能的示例中,使用历史表中的最新条目,可以首先检查该条目是否已经在MPM列表中。如果该条目已经在MPM列表中,则该条目不会再次加入MPM列表,该过程可以继续于MPM列表中的下一条目。如果该条目不在MPM列表中,则可以插入该条目,并可以检查历史表中是否剩下更多条目。如果历史表中剩下更多条目,则可以检查加入MPM列表的来自历史表的条目的数量是否小于预定数量,如果是,则可以检查MPM列表是否已满。如果MPM列表未满,则可以继续处理历史表的下一条目。
实施例4(使用历史帧内模式的非MPM列表导出)
在实施例中,应该使用不在MPM列表中的帧内模式填充非MPM列表,并且可以按以下顺序填充:
1)获得MPM列表中的前两个角度模式。
2)设置变量offset=1
3)使用通过前两个角度模式-offset/+offset导出的模式填充非MPM列表
4)如果非MPM列表未满,则offset=offset+1,并转向步骤3。
换句话说,可以使用MPM列表中的前两个模式的相邻模式填充非MPM列表。在一个示例中,首先,可以使用MPM列表中的第一模式,并且将该模式的递增值(+1)添加到非MPM列表。然后,可以使用同一模式,可以将递减值(-1)添加到非MPM列表。然后,可以对MPM列表的第二条目使用相同的程序。
可替代地,在将MPM列表的第一条目的递增值添加到非MPM列表之后,可以将MPM列表的第二条目的递增值添加到非MPM列表,然后,添加MPM列表的第一条目的递减值,接着添加MPM列表的第二条目的递减值到非MPM列表。
以上实施例可以通过使用上面章节描述的历史表来改进,例如实施例1中的FIFO表或实施例2中的基于频率的表。
实施例4.1
在下文中,示出了填充MPM列表的更多示例方式。
非MPM列表应该使用不在MPM列表中的帧内模式进行填充,并且按以下顺序进行填充:
1)获得MPM列表中的前两个角度模式。
2)设置变量offset=1
3)使用通过前两个角度模式-offset/+offset导出的模式填充非MPM列表
4)如果非MPM列表未满,则使用历史表中的N(0<N<=S)个条目填充非MPM列表
5)如果非MPM列表未满,则offset=offset+1,并转向步骤3。
实施例4.2
非MPM列表应该使用不在MPM列表中的帧内模式进行填充,并且按以下顺序进行填充:
1)使用历史表中的N(0<N<=S)个条目填充非MPM列表
2)如果非MPM列表未满,使用其他实施例中的非MPM列表导出的方法填充其余条目。
实施例5
还应注意,以下特征可以与上述实施例组合。
1)MPM的大小给定为M(整数M>0)
2)历史帧内模式FIFO表的大小给定为S(整数S>0)。
3)从历史表中提取条目的大小给定为N(整数0<N<=S),并提取顺序可以是
在FIFO表的情况下,最旧的N个条目或最新的N个条目
在基于频率的表的情况下,使用频率最高的N个条目或使用频率最低的N个条目
4)当填充历史帧内模式FIFO表时,考虑进行删减或不进行删减的填充
在本公开的实施例中,由先前处理的编解码单元使用的历史帧内模式被保存,并由后来处理的编解码单元的候选帧内预测模式的导出利用。因为使用了更多之前的信息,因此预测更加有效。
实施例6
如果条目从历史表到MPM列表的插入顺序在预定帧内预测模式(例如平面模式或DC模式)之后,则所述预定帧内预测模式不会插入该历史表。
在实施例3.1、3.4、以及3.5中,在考虑插入历史表中的条目之前,帧内预测模式平面和DC插入MPM列表中。本发明的一般结构可以有利地修改为如下(图15),其中在插入历史表之前,检查帧内预测模式平面和DC。在示例中,如果在平面和DC模式之后考虑将历史表中的条目插入MPM列表中,则这些模式不会插入历史表中。
根据实施例3.1、3.4、以及3.5,已知平面和DC模式已经包括在MPM列表中,不需要再次考虑将这些模式插入MPM列表中。根据实施例6,这通过不将这些模式插入历史表中来实现。
本公开中描述的主题和操作的实施方式可以在数字电子电路中、或在计算机软件、固件、或硬件中实现,包括本公开中公开的结构及其等同结构,或者这些结构的一种或多种的组合。本公开中描述的主题的实施方式可以被实现为一个或多个计算机程序,即,计算机程序指令的一个或多个模块,其被编码在计算机存储介质上以由数据处理装置执行或控制数据处理装置的操作。替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电信号、光信号、或电磁信号,其被生成以对信息进行编码以传输至合适的接收器装置,以通过数据处理装置来执行。计算机存储介质,例如计算机可读介质,可以是或包括在计算机可读存储设备、计算机可读存储基板、随机或串行访问存储器阵列或设备、或一个或多个以上各项的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个单独的物理和/或非暂时性组件或介质(例如,多个CD、磁盘、或其他存储设备)或包含在其中。
要强调的是,给出以上特定示例仅用于说明,并且由所附权利要求限定的本公开不限于这些示例。例如,根据实施例,当水平方向和垂直方向被交换时,可以类似地执行该处理,即,在x方向上执行“外”环,而在y方向上执行“内”环。在所附权利要求的范围内,进一步的修改是可能的。
总而言之,本公开涉及对已知的双向帧间预测方法的改进。根据本公开,为了在帧内预测中计算样本,代替根据次级参考样本进行插值,仅使用基于“初级”参考样本值的计算。然后,通过添加一个增量来细化结果,该增量至少取决于当前块内的像素(样本)的位置,并且可能进一步取决于该块的形状和大小以及预测方向,但不取决于任何其他“次级”参考样本值。因此,因为本公开的处理使用单个插值过程而不是进行两次插值:对于初级和次级参考样本,所以根据本公开的处理在计算上复杂度较低。
注意,本说明书提供了图像(帧)的说明,但是在隔行扫描图像信号的情况下,场代替了图像。
尽管已经主要基于视频编解码描述了本公开的实施例,但是应当注意,编码器100和解码器200(以及相应地系统300)的实施例也可以被配置用于静止图像处理或编解码,即如视频编解码中与任何先前或连续图像无关地处理或编码单个图像。通常,在图像处理编解码限于单个图像101的情况下,仅帧间估计142、帧间预测144、242不可用。视频编码器100和视频解码器200的大多数(如果不是全部)其他功能(也称为工具或技术)可以等效地用于静态图像,例如,划分、变换(缩放)106、量化108、反量化110、反变换112、帧内估计142、帧内预测154、254、和/或环路滤波120、220、以及熵编码170和熵解码204。
在实施例和描述涉及术语“存储器”的地方,除非另有明确说明,否则术语“存储器”应被理解和/或应包括磁盘、光盘、固态驱动器(solid state drive,SSD)、只读存储器(read-only memory ROM)、随机存取存储器(random access memory,RAM)、USB闪存驱动器、或任何其他合适类型的内存。
在实施例和描述涉及术语“网络”的任何地方,除非另有明确说明,否则术语“网络”应被理解和/或应包括任何种类的无线或有线网络,例如局域网(local area network,LAN)、无线LAN(wireless LAN,WLAN)、广域网(wide area network,WAN)、以太网、互联网、移动网络等。
本领域技术人员将理解,各个附图(方法和设备)的“块”(“单元”)表示或描述本公开的实施例的功能(而不是必须是硬件或软件中的单独“单元”),并且因此同等地描述设备实施例以及方法实施例的功能或特征(单元=步骤)。
术语“单元”仅用于编码器/解码器的实施例的功能的说明性目的,且无意限制本发明。
在本申请所提供的若干实施例中,应该理解,所揭露的系统、设备、和方法可以通过其它的方式实现。例如,所描述的设备实施例仅仅是示例性的。例如,单元划分只是逻辑功能划分,在实际实现中可以是其他划分。例如,多个单元或组件可以被组合或集成到另一系统中,或者一些特征可以被忽略或不执行。另外,所显示或讨论的相互耦合或直接耦合或通信连接可以通过使用一些接口来实现。设备或单元之间的间接耦合或通信连接可以以电子、机械、或其它形式实现。
作为分离部件描述的单元可以是或者也可以不是物理上分离的,作为单元显示的部件可以是或者也可以不是物理单元,可以位于一个位置,或者也可以分布在多个网络单元上。可以根据实际需要选择其中的一些或全部单元,以实现本发明实施例方案的目的。
另外,本发明实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
本发明的实施例还可以包括一种设备,例如编码器和/或解码器,其包括用于执行本文描述的任何方法和/或过程的处理电路。
编码器100和/或解码器200的实施例可以被实现为硬件、固件、软件或其任意组合。例如,编码器/编码或解码器/解码的功能可以由具有或不具有固件或软件的处理电路来执行,例如,处理器、微控制器、数字信号处理器(digital signal processor,DSP)、现场可编程门阵列(field programmable gate array,FPGA)、专用集成电路(application-specific integrated circuit,ASIC)等。
编码器100(和对应的编码方法100)和/或解码器200(和对应的解码方法200)的功能可以由存储在计算机可读介质上的程序指令来实现。程序指令在被执行时使处理电路、计算机、处理器等执行编码和/或解码方法的步骤。计算机可读介质可以是任何介质,包括其上存储程序的非暂时性存储介质,诸如蓝光盘、DVD、CD、USB(闪存)驱动器、硬盘、经由网络可用的服务器存储等。
本发明的实施例包括或者是计算机程序,该计算机程序包括当在计算机上执行时用于执行本文描述的任何方法的程序代码。
本发明的实施例包括或者是包括程序代码的计算机可读介质,当由处理器执行时,该程序代码使计算机系统执行本文描述的任何方法。
本公开的实施例包括或者是芯片集,该芯片集执行本文描述的任何方法。

Claims (15)

1.一种用于导出候选帧内预测模式的方法(900),包括:
记录至少一个先前编解码单元(321B,322B)的帧内预测模式,其中,所述先前编解码单元与待处理编解码单元不相邻;
当所述候选帧内预测模式的数量少于预设阈值时,将记录的至少一个帧内预测模式添加到候选帧内预测模式集中。
2.根据权利要求1所述的方法(900),其中,所述候选帧内预测模式集是最可能模式列表。
3.根据权利要求1所述的方法(900),其中,所述候选帧内预测模式集包括不包括在最可能模式列表中的帧内预测模式。
4.根据权利要求1至3中任一项所述的方法(900),其中,记录至少一个先前编解码单元的帧内预测模式包括:
根据所述先前编解码单元的处理顺序将至少一个先前编解码单元的所述帧内预测模式添加到历史表中。
5.根据权利要求4所述的方法(900),其中,所述历史表是先进先出表。
6.根据权利要求4或5所述的方法(900),其中,所述历史表中的任意两个条目不同。
7.根据权利要求4或6所述的方法(1400),其中,
所述历史表中的条目的位置取决于所述条目的频率,以及
将至少一个先前编解码单元的所述帧内预测模式添加到所述历史表中包括:
检查所述帧内预测模式是否在所述历史表中;
当所述帧内预测模式在所述历史表中时,将所述帧内预测模式的频率加1;
当所述帧内预测模式的所述频率高于相邻位置上的两个帧内预测模式的频率时,调节所述帧内预测模式的所述位置;
当所述帧内预测模式不在所述历史表中时,检查所述历史表是否已满;
当所述历史表未满时,将所述帧内预测模式添加到所述历史表的最小频率位置之后,并且将所述帧内预测模式的所述频率设为1;
当所述历史表已满时,将所述历史表的所述最小频率位置上的条目替换为所述帧内预测模式,并将所述帧内预测模式的所述频率设为1。
8.根据权利要求1至7中任一项所述的方法(900),其中,将记录的至少一个帧内预测模式添加到所述候选帧内预测模式集中包括:
将记录的至少一个帧内预测模式添加到所述待处理编解码单元的至少一个相邻编解码单元的所述帧内预测模式之后,从而用于至少一个相邻编解码单元的所述帧内预测模式的编码指示符的比特不多于用于所述记录的至少一个帧内预测模式的编码指示符的比特。
9.根据权利要求7所述的方法(900),其中,在进行所述调整时,所述历史表中的所述帧内模式的所述位置与相邻条目互换。
10.根据权利要求2和4至9中任一项所述的方法(900),还包括编解码,其中,对于对来自所述MPM列表的所述模式进行的编解码,使用截断一元二值化。
11.根据权利要求3至9中任一项所述的方法(900),其中
不包括在最可能模式列表中的所述候选帧内预测模式首先被分为选定模式集和非选定模式集,以及
所述选定模式列表中的模式使用定长码发送,所述非选定模式集中的模式使用截断二元码发送。
12.一种用于对图像的当前块(300B)进行编码的方法,包括以下步骤:
为所述当前块的样本提供所述当前块的预测块,包括根据权利要求1至11中任一项所述的用于导出候选帧内预测模式的方法,以及
基于所述预测块对所述当前块进行编码。
13.一种用于对图像的当前块(300B)进行解码的方法,包括以下步骤:
为所述当前块的样本提供所述当前块的预测块,包括根据权利要求1至11中任一项所述的用于导出候选帧内预测模式的方法,以及
基于所述预测块重建所述当前块。
14.一种用于导出候选帧内预测模式的候选列表设备,包括处理电路,所述处理电路用于
记录至少一个先前编解码单元的帧内预测模式,其中,所述先前编解码单元与待处理编解码单元不相邻;
当所述候选帧内预测模式的数量少于预设阈值时,将记录的至少一个帧内预测模式添加到候选帧内预测模式集中。
15.一种用于对图像的当前编码块进行解码的解码装置(200),包括
根据权利要求14所述的用于导出候选帧内预测模式的候选列表设备,以及
电路,用于:
使用导出的所述帧内预测模式提供所述编码块的预测块,以及
基于所述编码块和所述预测块重建所述当前块。
CN201980051288.6A 2018-08-09 2019-08-07 基于历史的帧内模式编解码方法和装置 Pending CN112567771A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862716964P 2018-08-09 2018-08-09
US62/716,964 2018-08-09
PCT/CN2019/099607 WO2020030002A1 (en) 2018-08-09 2019-08-07 Method and apparatus of history-based intra mode coding

Publications (1)

Publication Number Publication Date
CN112567771A true CN112567771A (zh) 2021-03-26

Family

ID=69413384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980051288.6A Pending CN112567771A (zh) 2018-08-09 2019-08-07 基于历史的帧内模式编解码方法和装置

Country Status (4)

Country Link
US (1) US11575908B2 (zh)
EP (1) EP3821626A4 (zh)
CN (1) CN112567771A (zh)
WO (1) WO2020030002A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3562158A1 (en) * 2018-04-27 2019-10-30 InterDigital VC Holdings, Inc. Method and apparatus for combined intra prediction modes
KR20210025537A (ko) 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
WO2020003284A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and amvp
KR20240005240A (ko) 2018-06-29 2024-01-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
KR102660666B1 (ko) 2018-06-29 2024-04-26 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut들을 업데이트하기 위한 조건들
KR20210024502A (ko) 2018-06-29 2021-03-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Hmvp 후보를 병합/amvp에 추가할 때의 부분/풀 프루닝
WO2020003280A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Which lut to be updated or no updating
BR112020024202A2 (pt) 2018-06-29 2021-02-17 Beijing Bytedance Network Technology Co., Ltd. método de processamento de dados de vídeo, aparelho de processamento de vídeo e meios de armazenamento e gravação legíveis por computador não transitório
CN110662053B (zh) 2018-06-29 2022-03-25 北京字节跳动网络技术有限公司 使用查找表的视频处理方法、装置和存储介质
EP4307679A2 (en) * 2018-07-02 2024-01-17 Beijing Bytedance Network Technology Co., Ltd. Luts with intra prediction modes and intra mode prediction from non-adjacent blocks
TWI820211B (zh) 2018-09-12 2023-11-01 大陸商北京字節跳動網絡技術有限公司 取決於總數減去k的開始檢查hmvp候選的條件
KR20200033210A (ko) * 2018-09-19 2020-03-27 한국전자통신연구원 화면 내 예측 모드 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
EP3881540A1 (en) * 2018-11-14 2021-09-22 InterDigital VC Holdings, Inc. Adaptation of selection of most probable mode candidates depending on block shape
EP3888355A4 (en) 2019-01-10 2022-03-23 Beijing Bytedance Network Technology Co., Ltd. LOOKUP TABLE UPDATE INVOCATION
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
WO2020147772A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Motion candidates derivation
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
WO2021032113A1 (en) 2019-08-19 2021-02-25 Beijing Bytedance Network Technology Co., Ltd. Updating for counter-based intra prediction mode
US20230079960A1 (en) * 2021-09-15 2023-03-16 Tencent America LLC On propagating intra prediction mode information of ibc block by using block vector

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008004837A1 (en) * 2006-07-07 2008-01-10 Libertron Co., Ltd. Apparatus and method for estimating compression modes for h.264 codings
CN102857750A (zh) * 2011-07-01 2013-01-02 华为技术有限公司 帧内预测编解码处理方法、装置和系统
CN103688541A (zh) * 2011-07-20 2014-03-26 高通股份有限公司 在视频译码中缓冲预测数据

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL2000124C2 (nl) 2006-07-03 2008-01-07 Hunkemoeller B V Bustenhouder.
US8902978B2 (en) * 2010-05-30 2014-12-02 Lg Electronics Inc. Enhanced intra prediction mode signaling
MY165837A (en) * 2011-06-13 2018-05-17 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
TR201906149T4 (tr) * 2011-06-28 2019-05-21 Samsung Electronics Co Ltd İç tahmin ile video kodlamak için usul ve cihaz.
HUE062143T2 (hu) * 2011-10-18 2023-09-28 Lg Electronics Inc Eljárások intra predikcióra, valamint tárolóközeg
CN108184121A (zh) * 2011-12-05 2018-06-19 Lg 电子株式会社 帧内预测的方法和设备
US11463689B2 (en) * 2015-06-18 2022-10-04 Qualcomm Incorporated Intra prediction and intra mode coding
EP3301914A1 (en) * 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for encoding and decoding a large field of view video
CN109120926B (zh) * 2017-06-23 2019-08-13 腾讯科技(深圳)有限公司 预测模式选择方法、装置及介质
EP3643064A1 (en) * 2017-07-24 2020-04-29 ARRIS Enterprises LLC Intra mode jvet coding
US11523106B2 (en) * 2018-07-11 2022-12-06 Lg Electronics Inc. Method for coding intra-prediction mode candidates included in a most probable modes (MPM) and remaining intra prediction modes, and device for same
WO2020171632A1 (ko) * 2019-02-20 2020-08-27 엘지전자 주식회사 Mpm 리스트 기반 인트라 예측 방법 및 장치
WO2020175951A1 (ko) * 2019-02-28 2020-09-03 엘지전자 주식회사 단일화된 mpm 리스트 기반 인트라 예측
KR20220038128A (ko) * 2019-08-22 2022-03-25 엘지전자 주식회사 인트라 예측 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008004837A1 (en) * 2006-07-07 2008-01-10 Libertron Co., Ltd. Apparatus and method for estimating compression modes for h.264 codings
CN102857750A (zh) * 2011-07-01 2013-01-02 华为技术有限公司 帧内预测编解码处理方法、装置和系统
CN103688541A (zh) * 2011-07-20 2014-03-26 高通股份有限公司 在视频译码中缓冲预测数据

Also Published As

Publication number Publication date
EP3821626A4 (en) 2021-08-04
US20210185326A1 (en) 2021-06-17
US11575908B2 (en) 2023-02-07
EP3821626A1 (en) 2021-05-19
WO2020030002A1 (en) 2020-02-13

Similar Documents

Publication Publication Date Title
US11575908B2 (en) Method and apparatus of history-based intra mode coding
US10674148B2 (en) JVET quadtree plus binary tree (QTBT) structure with multiple asymmetrical partitioning
US11025903B2 (en) Coding video data using derived chroma mode
KR102628895B1 (ko) 조인트 크로마 코딩을 사용하는 블록에 대해 크로마 디블로킹을 수행하기 위한 인코더, 디코더 및 대응 방법
US11445203B2 (en) Sub-partition intra prediction in video coding
JP2023078188A (ja) エンコーダ、デコーダ、インター予測のための対応する方法
CN114009020A (zh) 视频译码中的矩阵帧内预测参数的信令
CN113785589A (zh) 仿射线性加权帧内预测中的预测信号滤波
US20200288126A1 (en) Reshaping filter average calculation for video coding
WO2019160795A1 (en) Intra prediction for 360-degree video
CN114125468A (zh) 帧内预测方法和装置
CN113243106B (zh) 一种用于视频图像的预测块的帧内预测的设备和方法
CN111869208B (zh) 使用自适应乘数系数进行图像滤波的方法及装置
US11019332B2 (en) Chroma intra prediction in video coding
JP7471495B2 (ja) ルママッピング基盤ビデオまたは映像コーディング
US11849131B2 (en) Adaptive subblock size for affine motion compensation
CN114913249A (zh) 编码、解码方法和相关设备
GB2498234A (en) Image encoding and decoding methods based on comparison of current prediction modes with reference prediction modes
WO2019161102A1 (en) Signaling 360-degree video information
US11671600B2 (en) Signaling intensity dependent deblocking filtering for video coding
CN115988202B (zh) 一种用于帧内预测的设备和方法
CN114868397A (zh) 关于视频译码中的多重变换选择信令的基于系数组的约束
US20230099505A1 (en) Adaptive determination of multiple transform candidates for video coding
WO2021242845A1 (en) Intra prediction
CN117795957A (zh) 跨分量样点自适应偏移中的编解码增强

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210326

RJ01 Rejection of invention patent application after publication