图像和视频处理中产生mpm以进行帧内预测的方法和装置

文档序号:835743 发布日期:2021-03-30 浏览:13次 >En<

阅读说明:本技术 图像和视频处理中产生mpm以进行帧内预测的方法和装置 (Method and apparatus for generating MPM for intra prediction in image and video processing ) 是由 江嫚书 徐志玮 庄子德 陈庆晔 穆罕默德·葛兰·沙沃尔 于 2019-08-27 设计创作,主要内容包括:帧内预测方法包括:接收当前画面中当前块的输入数据,推导出将纳入于该当前块的MPM列表中的多个最可能模式(MPMs),将其余的帧内预测模式设定为非MPM,以及依据选自该多个MPM与非MPM中的当前帧内预测模式来对该当前块进行编码或解码。在MPM列表中的第一MPM是平面(planar)模式来用于帧内预测中的被编码块或将被编码块,以及MPM列表中的一或多个其他MPM是依据当前块的一或多个相邻块的可用的角度模式的数目来推导出。(The intra prediction method includes: the method includes receiving input data of a current block in a current picture, deriving a plurality of Most Probable Modes (MPMs) to be included in an MPM list of the current block, setting remaining intra-prediction modes as non-MPMs, and encoding or decoding the current block according to a current intra-prediction mode selected from the plurality of MPMs and the non-MPMs. A first MPM in the MPM list is a plane (planar) mode for an encoded block or to be encoded block in intra prediction, and one or more other MPMs in the MPM list are derived from a number of available angle modes of one or more neighboring blocks of the current block.)

图像和视频处理中产生MPM以进行帧内预测的方法和装置

交叉申请

本申请要求在2018年8月31日提出申请号为62/725,299,标题为“The SimplifiedMPM Generation of Intra Mode Coding of Video Coding”的美国临时专利申请的优先权。上述美国临时专利申请整体以引用方式并入本文中。

技术领域

本发明相关于影像和视频处理中的帧内预测,本发明尤其相关于对每一个帧内预测编码块建构最可能模式(Most Probable Modes,MPM)列表。

背景技术

帧内预测已广泛应用于各种影像和视频编解码标准中,以处理初始画面或周期性地插入帧内编码画面(I画面,I-picture)或帧内编码块(I块,I-blocks)以用于随机存取或用于缓解误差传播。帧内预测通常设计为利用影像或视频画面中的空间特征,如平滑区域,垂直线或边缘,水平线或边缘,以及对角线或边缘。帧内预测对于具有高运动或场景变化的区域也是有用的,这是由于在编解码这些区域时,帧内预测相对于帧间预测的效率更好。帧内预测利用画面内或画面区域内的空间相关性。对于基于块的视频编解码标准而言,对当前块的帧内预测是依赖于已经被处理的相邻块中的像素。例如,如果画面或画面区域中的块从上到下、并且从左到右逐行(row by row)地依次处理,则当前块的上方的相邻块和当前块左方的相邻块可以用于形成当前块中的像素的帧内预测子(predictor)。

高效率视频编解码(HEVC)标准支持35个帧内预测模式,包括33个角度模式、直流(DC)模式和平面(Planar)模式。图1示出了HEVC标准的33个角度帧内预测模式的预测方向,其中H表示水平方向模式,V表示垂直方向模式。通过包括帧内平滑滤波、帧内预测和帧内梯度滤波(intra gradient filter)的三个步骤,来生成以HEVC标准的帧内预测编码的或将要编码的当前块的帧内预测子。图2示出了通过帧内平滑滤波器进行滤波的示例性参考样本,以推导出当前块的帧内预测子。在计算当前块20的帧内预测子之前,对当前块20的参考样本22进行平滑操作(smoothing operation)。通过将帧内平滑滤波器应用于在当前块20的左方相邻列(column)和上方相邻行(row)中的参考样本22,平滑操作可减少由一些帧内预测模式所引入的不连续性。取决于帧内预测模式和当前块的大小而来适应性地应用该平滑操作。

第二步骤是依据从HEVC标准所支持35个帧内预测模式中所选择出的一个帧内预测模式,而从相邻参考样本中推导出帧内预测子。如果选择了角度模式,则依据所选择的角度模式的预测方向,通过从参考样本所外插出(extrapolating)的样本来预测当前块中每个样本的值。如果选择平面模式,则假定一个幅度(amplitude)表面后则可以来计算当前块中的每个样本值,而此幅度表面具有从相邻块的边界样本所推导出的水平和垂直平滑梯度。如果选择了DC模式,则当前块的每个样本值是参考样本的平均值。

如果帧内预测模式是DC模式,水平模式或垂直模式,则在第三步骤中将帧内梯度滤波应用于当前块的左方边界和上方边界处的样本。应用帧内梯度滤波器的概念是利用沿着帧内预测方向的梯度信息来提高帧内预测子的品质。当选择的帧内预测模式为DC模式时,当前块的第一行和第一列中的样本被帧内梯度滤波器进行滤波。当所选择的帧内预测模式为水平模式时,第一行中的样本被帧内梯度滤波器进行滤波,以及如果所选择的帧内预测模式是垂直模式,则第一列中的样本被帧内梯度滤波器滤波。

所选择的帧内预测模式可以明确地(explicitly)发信送出,或者从当前块的上方和左方相邻块的先前已解码的模式中被推论出来。两个相邻块的帧内预测模式被包括在三个最可能模式(Most Probable Modes,以下简称为MPM)的集合中。第一MPM旗标会被发信送出,以指示所选择的模式是否与三个MPM中的一个相同;如果是,则MPM索引会被送出来指示是选择了此三个MPM中的哪一个;如果第一MPM旗标为假,则利用5位固定长度的码字将所选择的模式明确地发信送出。

图1所示的33个角度模式可以扩展到具有较多或较少角度模式的一般情况,其中每个角度模式可以由模式H+k或模式V+k来表示,其中H表示水平模式的方向,V表示垂直方向的模式,而k=0,+-1,+-2,...+-K。用于帧内预测的65个角度模式的示例在图3中示出,其中k的范围为-16至16,模式H-16和模式V-16是相同的模式,该模式是指从当前块的左上方角落到中心的预测方向。图3示出了65个角度帧内预测模式,其中有图1所示的在HEVC标准所支持的原始33个角度模式,以及在其间的额外32个角度模式。图3中的65个角度模式包括在块的左方边界处从底部到顶部的模式H+16到H-15,以及在块的上方边界处从左方到右方的模式V-16到V+16。

在最新的视频编解码标准通用视频编解码(Versatile Video Coding,VVC)中,有两个测试模型在开发中建立:VVC测试模型(VVC Test Model,VTM)与基准组(BenchmarkSet,BMS)。VTM是VVC的参考软件,其包括最小组的编解码工具,而BMS软件则建立用于架构中对各种工具作额外的测试并比VTM有更丰富的特性。比起VTM测试模型中总共有35个可用的帧内预测模式,在BMS测试模型中共可使用67个帧内预测模式。在BMS测试模型中的67个帧内预测模式包括如图3所示的65个角度模式以及直流模式与平面模式。在BMS测试模型中,从相邻块的帧内预测模式中产生有6个MPM的列表,如果一个当前帧内预测模式是在MPM的列表其中的一个模式,则使用截断一元编解码(truncated unary coding)来对所述当前帧内预测模式加以编码。如果一个当前帧内预测模式不属于在MPM的列表其中的任何模式,则使用固定长度编解码或截断二元(truncated binary)编解码任一个都可以。

在最新的视频编解码标准的VTM测试模型中,所选择的帧内预测模式可以明确地(explicitly)发信送出,或者从当前块的上方和左方相邻块的先前已解码的模式中被推论出来。两个相邻块的帧内预测模式被包括在三个最可能模式(Most Probable Modes,以下简称为MPM)的集合中。第一MPM旗标会被发信送出,以指示所选择的模式是否与MPM中的一个相同;如果是,则包括MPM索引的帧内模式信息会被送出来指示是选择了哪一个MPM;如果第一MPM旗标为假,则利用截断二元的码字将所选择的模式明确地发信送出。

在BMS测试模型中,MPM列表中的6个MPM被分类为三种类型,第一类型包括相邻的帧内模式,第二类型包括推导出的帧内模式,而第三类型包括默认的帧内模式。图4示出了当前块的五个相邻块,以用来建构所述当前块的MPM列表。这五个相邻块的帧内预测模式会被用来形成当前块40的初始MPM列表,其中五个相邻块的位置是如图4所示的左方(L)44、上方(A)42、左下方(BL)45、右上方(AR)43与左上方(AL)41。初始的MPM列表是通过插入相邻块的5个帧内预测模式、平面模式与直流模式来形成的。修剪处理(pruning process)会被应用来移除重复的模式,使得MPM列表中所留下的模式是独一不重复的(unique)。根据BMS测试模型,在初始的MPM列表中帧内预测模式的顺序为:左方、上方、平面、直流、左下方、右上方、然后是左上方。

在修剪处理后如果在MPM列表中的MPM候选少于6个,则将推导出的模式加入MPM列表中。通过加入+1或-1至MPM列表中已存在的一或多个角度模式,来得出一或多个推导出的模式。所述推导出的模式是无法从例如直流与平面模式这种的非角度模式来产生出。

如果MPM列表仍然未额满(也就是在加入一或多个推导出的模式后,MPM列表中的MPM候选少于6个),则将一或多个默认模式以下列顺序加入:水平、垂直、模式2、与对角线模式。除了纳入于MPM列表中的6个MPM候选之外,其余61个模式则为非MPM模式。这些61个非MPM模式首先被分为两组:选择的模式组(selected mode set)与未选择的模式组(non-selected mode set)。选择的模式组包括16个帧内预测模式,而其余的45个帧内预测模式则被设定为未选择的模式组。首先发信旗标来指示当前帧内预测模式是否属于选择的模式组,还是未选择的模式组。如果旗标指示当前帧内预测模式是在选择的模式组中,则通过4位固定长度码将当前帧内预测模式加以编码;否则通过截断二元码将当前帧内预测模式加以编码。选择的模式组是通过对61个其余模式进行子取样(sub-sampling)所产生,其包括{0,4,8,12,16,20,…60},而未选择的模式组则由其他45个模式{1,2,3,5,5,7,9,10,…59}所组成。

发明内容

揭露一种处理影像或视频数据的方法与装置,以在影像或视频编解码系统中通过帧内预测而进行处理。影像或视频编解码系统的实施例会接收与当前画面中与当前块相关联的输入数据,其中该当前块通过帧内预测被编解码或将被编解码。对于当前块,推导出具有多个最可能模式的MPM列表,其中平面模式(Planar Mode)被选为该MPM列表中的第一MPM,用于通过帧内预测的已编解码的块或将要编解码的块。未纳入在MPM列表中其余的帧内预测模式,则被设定为非MPM。影像或视频编解码系统则依据当前帧内预测模式对该当前块进行编码或解码。而当前帧内预测模式属于该MPM列表中的该多个MPM中之一,或是该多个非MPM中之一。

在一实施例中,MPM列表中的MPM数目是6,非MPM数目是61,而当前帧内预测模式是67个帧内预测模式中之一。根据本发明一示例的实施例,MPM列表中的MPM数目是变量,从1到可用的帧内预测模式的最大数目中选择。

MPM列表推导的一些实施例进一步包括:决定该当前块的上方相邻块与左方相邻块的可用的角度模式的数目,以及根据该可用的角度模式的数目来选择要插入于该MPM列表中的一或多个其他MPM。在一示例的实施例中,该上方相邻块位于该当前块右上方角落像素的上方,而该左方相邻块位于该当前块左下方角落像素的旁边。在一示例中,当该可用的角度模式的数目为0,则MPM列表进一步包括直流模式、水平模式与垂直模式。在案例中,如果该可用的角度模式的数目是1或2,则将下列之一或其组合插入于该MPM列表中:直流模式以及从该可用的角度模式所推导出的多个角度模式。在一例子中,从该可用的角度模式所推导出的多个角度模式是该可用的角度模式的两个相邻(adjacent)模式。例如,当该可用的角度模式的数目是1,则MPM列表包括平面模式以及下列之一或其组合:直流模式、水平模式、垂直模式以及从该可用的角度模式所推导出的两个角度模式。当该可用的角度模式的数目是2,则MPM列表包括平面模式以及下列之一或其组合:直流模式以及从该两个可用的角度模式中至少之一所推导出的角度模式。在一特定的实施例中,MPM列表包括该上方相邻块的上方模式与该左方相邻块的左方模式,而且MPM列表中有条件地交换该上方模式与该左方模式。例如,当该上方模式满足给定的条件时,则交换该上方模式与该左方模式的位置。

MPM列表推导的一实施例进一步包括:决定上方相邻块是否与该当前块位于相同的编码树单元(CTU),以及如果该上方相邻块与该当前块位于不同的CTU,则于MPM列表产生过程中限制存取(restrict accessing)该上方相邻块的帧内预测模式。在一实施例中,如果该左方相邻块与该当前块位于不同的切片(slice),则在MPM列表产生过程中限制存取左方相邻块的帧内预测模式。

如果该当前帧内预测模式属于该MPM列表中的该多个MPM中之一,则一或多个二进制数(bin)会被使用来发信该当前帧内预测模式,而用来发信该当前帧内预测模式的第一二进制数是以上下文编解码(context coded)。当当前帧内预测模式是该多个MPM中之一时,被使用来发信该当前帧内预测模式的该一或多个二进制数,除了该第一个二进制数之外,是以旁路编解码(bypass coded)。在一实施例中,当当前帧内预测模式是该多个MPM中之一时,则用来发信该当前帧内预测模式的该一或多个二进制数中仅有第一个二进制数是以上下文编解码(context coded)。如果该当前帧内预测模式属于该多个非MPM中之一,则可以使用截断一元编解码(truncated unary coding)或固定长度编解码(fixed lengthcoding)来发信该当前帧内预测模式。

本揭露的其他方面进一步提供一种影像或视频编解码系统中的装置,通过帧内预测对影像或视频数据进行压缩。实施例的装置会推导出MPM列表,用于通过帧内预测被编解码或将被编解码的当前块,而平面模式会插入成为该MPM列表中的第一MPM,来用于经过帧内预测编解码的块或将被编解码的块。

本揭露的其他方面进一步提供一种非暂时性的计算机可读取储存媒介用来储存程序指令,使得装置的处理电路对影像或视频执行帧内预测处理方法。实施例的帧内预测方法会推导出用来编码或解码当前块的MPM列表,而平面模式会被纳入为该MPM列表中的第一MPM,来用于经过帧内预测编解码的块或将被编解码的块。透过对

具体实施方式

的以下描述,本发明的其他方面和特征对于本领域通常知识者将变得明显易懂。

附图说明

将参考以下图式详细描述作为示例提出的本公开的各种实施例,其中以相似的标记表示相似的组件,并且其中:

图1示出了在HEVC标准中支持的33个角度帧内预测模式。

图2示出了由用于导出当前块的帧内预测子的帧内平滑滤波器滤波的示例性参考样本。

图3示出了65个角度帧内预测模式的示例。

图4示出了五个相邻块,用来根据BMS测试模型来推导当前块的初始MPM列表。

图5示出了当前块的上方相邻块与左方相邻块,用来根据本发明的一些示例性实施例来推导当前块的MPM列表。

图6是依据本发明实施例的示例性影像或视频处理方法的流程图,用于对通过帧内预测来编码或解码当前已编解码块或待编解码块。

图7示出了依据本发明的实施例的包含帧内预测方法的视频编码系统的示例性系统框图。

图8示出了依据本发明的实施例的包含帧内预测方法的视频编码系统的示例性系统框图。

具体实施方式

将容易理解的是,本发明的组件,如本文图中一般描述和示出的,可以以各种各样的不同配置进行布置和设计。因此,如附图所示的本发明的系统和方法的实施例的以下更详细的描述并不旨在限制如所要求保护的本发明的范围,而是仅代表本发明的选定实施例。

在本揭露中,本申请案描述多种帧内预测方法,在处理用帧内预测编码的影像或视频块时可以改善其编解码效率。每一帧内预测方法或其组合可以用视频编码器或视频解码器来加以实施。图7与图8分别示出了实施帧内预测方法或其组合的示例性的视频编码器与解码器。“MPM的变动数目”的章节显示了示例性的方法,来适应性地决定MPM的数目,以用于编码或解码帧内编解码块。“MPM列表产生”的章节描述了示例性的方法,来推导出MPM以便插入MPM列表中。“MPM列表产生的约束”的章节,是对于一或多个相邻块信息存取有约束的情况下,描述了示例性的MPM列表产生的实施例。“MPM与非MPM的发信”的章节,显示了对于MPM与非MPM的二元化与发信的一些实施例。“示例性实施例的代表性流程”的章节描述了使用代表性流程的示例性影像或视频处理方法。“视频编码器与解码器的实施”的章节和图7与图8共同说明视频编码系统与视频解码系统,其中纳入了所描述的影像或视频处理方法或其组合。

MPM的可变数目在一些实施例将N个帧内预测模式分类至M个MPM与(N-M)个非MPM之中,M是一个变量,可以从1到可用的帧内预测模式的最大数目。此可用的帧内预测模式的最大数目可以事先定义、间接推导出或直接发信而得。在一实施例中,帧内预测模式N的总数是67,而MPM的数目M是5,所以非MPM的数目(N-M)是62。根据有些示例性的实施例,MPM的数目M可以适应性地由编码器与解码器来决定。例如,当前块的MPM数目M是由直接发信来决定,或是当前块的MPM数目M是由间接推导出。

MPM列表产生在MPM列表产生的一些实施例中,当前块的MPM列表是由该当前块的一或多个相邻块的相邻模式所产生出的。图5示出了当前块50的两个相邻块的位置的一个例子,其中两个相邻块包括了上方相邻块52与左方相邻块54。使用上方相邻块52的上方模式与左方相邻块54的左方模式,来产生当前块50的MPM列表。此上方模式或左方模式是角度模式、非角度模式或是其为不可用的。例如,如果上方相邻块52不是以帧内预测所编码的,则此上方模式是不可用的;或是如果上方相邻块与当前块不处于同一CTU中,则此上方模式是不可用的。非角度模式的例子是HEVC标准中所定义的直流模式与平面模式。角度模式的例子是图1中所定义的不同角度的33个模式,或是图3中所定义的不同角度的64个模式,其中包括水平模式与垂直模式。

MPM列表推导的多个实施例取决于使用来推导MPM列表的相邻块的可用的角度模式数目。例如,相邻块包括了图5中所示的上方相邻块52与左方相邻块54。相邻块可用的角度模式的总数是Nang,而在此例中Nang的值是从0到2,这是由于仅有两个相邻块被使用来推导MPM列表。根据Nang的值,MPM列表产生的三个案例可被定义,其中案例0中Nang=0,案例1中Nang=1,而案例2中Nang=2。在有些实施例中,不论Nang的值是多少,平面模式总是插入于MPM列表的第一个位置,也就是说平面模式是MPM列表中的第一MPM,用于帧内预测中的所有已编解码块或将被编码块。在另一实施例中,不论Nang的值是多少,至少平面模式与直流模式中之一总是插入于MPM列表中。在另一实施例中,不论Nang的值是多少,平面模式与直流模式二者总是插入于MPM列表中。在另一实施例中,不论Nang的值是多少,如果有插入直流模式时,直流模式是在平面模式之后再插入于MPM列表中。根据Nang的值,再推导出MPM列表中的一或多个其余的MPM。

在案例0中,由于无相邻模式是角度模式,除了平面模式之外,MPM列表进一步包括直流模式、水平模式与垂直模式中的一或多种模式,而任意的顺序都可以使用。例如,当Nang=0而且MPM列表中的MPM数目是6,则MPM列表中包括下列顺序的MPM:平面模式、直流模式、垂直模式、水平模式、模式2、对角线模式。在另一例子中,当Nang=0,MPM列表中至少包括下列顺序的4个MPM:平面模式、直流模式、垂直模式、水平模式。其他模式可以依据此顺序被插入任何位置中。垂直模式与水平模式的顺序可以被交换。在另一例子中,MPM列表包括:平面模式、直流模式、垂直模式、水平模式、水平模式与垂直模式中之一加上偏移量1、水平模式与垂直模式中之一加上偏移量2,其中偏移量1与偏移量2可以是±1、±2、±3或±4。垂直模式与水平模式的顺序可以被交换。在另一例子中,至少平面模式与直流模式中之一总是插入于MPM列表中。在另一例子中,平面模式与直流模式二者总是插入于MPM列表中。在另一例子中,直流模式是在平面模式之后再插入于MPM列表中。

在案例1中,相邻模式中之一是角度模式,而此可用的角度模式以Modeang代表。例如,上方相邻块的模式是角度模式,而左方相邻块的模式是非角度模式或是不可用的。当可用的角度模式的数目是1(Nang=1),则MPM列表包括:平面模式、直流模式之一或其组合、以及推导自Modeang的一或多个角度模式,而任意的顺序都可以使用。例如,MPM列表中包括下列顺序的6个MPM:平面模式、直流模式、第一角度模式、第二角度模式、水平模式、垂直模式。垂直模式与水平模式的顺序可以被交换。第一角度模式与第二角度模式是推导自可用的角度模式Modeang的两个角度模式。在一例子中,第一角度模式与第二角度模式是可用的模式Modeang的两个前后相邻接的模式。在另一例子中,第一与第二角度模式中之一是可用的角度模式Modeang

在案例1中,相邻模式中之一是角度模式,而此可用的角度模式以Modeang代表。例如,上方相邻块的模式是角度模式,而左方相邻块的模式是非角度模式或是不可用的。在一些实施例中,当可用的角度模式的数目是1(Nang=1),则MPM列表包括:平面模式与直流模式二者至少一个,以及Modeang之一或其组合,以及推导自Modeang的一或多个角度模式,而任意的顺序都可以使用。在一例子中,MPM列表中包括下列顺序的至少4个MPM:平面模式、Modeang、第一角度模式、第二角度模式。第一角度模式与第二角度模式是推导自可用的角度模式Modeang的两个角度模式。在一例子中,第一角度模式与第二角度模式是可用的模式Modeang的两个前后相邻接的模式。

在另一例子中,MPM列表包括下列顺序的6个MPM:平面模式、Modeang、第一角度模式、第二角度模式、第三角度模式、第四角度模式。第一角度模式、第二角度模式、第三角度模式与第四角度模式是推导自可用的角度模式Modeang的角度模式。在一例子中,第一角度模式与第二角度模式是可用的模式Modeang的两个前后相邻接的模式。在一例子中,第三角度模式与第四角度模式是可用的模式Modeang加上偏移量,其中偏移量可以是±1、±2、±3或±4。

在案例2中,相邻块的二相邻模式是角度模式,以Modeang1与Modeang2来代表。例如,左方相邻块的模式是Modeang1而上方相邻块的模式是Modeang2。在一些实施例中,MPM列表包括:平面模式与直流模式中之一,以及从可用的角度模式Modeang1与Modeang2中之一或二者所推导出的多个角度模式,而任意的顺序都可以使用。在一些实施例中,如果两个可用的角度模式Modeang1与Modeang2是相同的,则MPM列表仅包括从可用的角度模式中之一所推导出的一或多个角度模式;而如果两个可用的角度模式Modeang1与Modeang2是不同的,则MPM列表包括从两个可用的角度模式所推导出的多个角度模式。例如,当Nang=2,则在MPM列表中插入下列模式:平面模式、直流模式、第一角度模式、第二角度模式、第三角度模式、第四角度模式。在一例子中,第一与第二角度模式是Modeang1的两个前后相邻接的模式,而第三与第四角度模式是Modeang2的两个前后相邻接的模式。在另一例子中,第一与第二角度模式中之一是Modeang1,而第三与第四角度模式中之一是Modeang2。在另一例子中,第一与第二角度模式中之一是Modeang1,而第一与第二角度模式中之另一个是Modeang2。在MPM列表产生后,MPM列表中MPM的顺序是可以更动的,例如,在一或多个给定的条件下,从上方模式推导出的至少一角度模式与从左方模式推导出的至少一角度模式可以交换。编码器或解码器则检查所述一或多个给定的条件,来决定MPM列表中MPM顺序的交换是否必须。在MPM列表建构后进行MPM交换的一实施例中,如果上方模式的模式数目大于或等于40,则与上方模式相关联的一或多个角度模式以及与左方模式相关联的一或多个角度模式则会进行交换。例如,当上方相邻块的上方模式与左方相邻块的左方模式二者皆为角度模式时,则默认的MPM列表为:平面模式、直流模式、上方模式、左方模式、第一角度模式、第二角度模式。第一与第二角度模式可以从上方模式与/或左方模式推导得出。如果给定的条件符合,则MPM列表变为:平面模式、直流模式、左方模式、上方模式、第一角度模式、第二角度模式。

MPM列表产生的约束根据至少一相邻块的帧内预测模式来产生MPM列表,视频编码器或解码器必须从记忆缓冲器来存取一或多个相邻块的帧内预测模式。例如,在分别处理上方相邻块52与左方相邻块54之后,图5中所示的上方相邻块52的上方模式与左方相邻块54的左方模式则储存于线缓冲器中。当视频编码器或解码器产生当前块50的MPM列表时,上方模式与左方模式可以从记忆缓冲器来取得。MPM列表产生的过程使得视频编码器或解码器必须将整行画面的上方模式存在记忆缓冲器中。为了降低MPM列表产生所需要的记忆缓冲器,本发明的有些实施例根据约束(constraint)会限制存取(restrict accessing)上方块、左方块、或上方块与左方块二者的帧内预测模式。在一实施例中,在产生当前块的MPM列表时,只有当上方相邻块与该当前块位于相同的编码树单元(CTU)时,存取上方相邻块的上方模式才被允许。在另一实施例中,如果上方相邻块与当前切片(slice)位于不同的切片时,所述约束会限制存取上方模式。在有些实施例中,只有当左方相邻块与当前块位于相同的CTU或相同的切片时,存取左方相邻块的左方模式才被允许。在另一实施例中,如果上方相邻块或左方相邻块与当前块位于不同的CTU列时,会限制存取上方模式或左方模式。MPM列表产生的约束的实施例可以各自实施或同时一起实施。如果存取对应相邻块相关联的信息不被允许,则上方模式或左方模式则被当成是不可用的。在一实施例中,如果存取对应相邻块不被允许,因而上方模式或左方模式被当成是不可用的时候,则会使用预定模式(default mode)。例如,预定模式是平面模式、直流模式、水平模式、垂直模式、对角线模式、垂直对角线模式与模式2其中之一。

MPM与非MPM的发信当当前块的当前帧内预测模式是属于MPM列表中的该多个MPM中之一,由于视频编码器侧与视频解码器侧两者都推导出同一MPM列表,因此视频比特流仅需要包含关于MPM列表中被选择到的MPM的索引的信息。在HEVC中,如果当前预测模式是该多个MPM中之一,则MPM旗标与MPM索引则被发信于视频比特流中。MPM旗标是二进制数(bin)的旗标,用来指示当前预测模式是否属于MPM列表中的该多个MPM中之一。当MPM旗标指示出当前帧内预测模式是该多个MPM中之一的时候,会传送MPM索引来指示MPM列表中的哪一个MPM被选择到。

在本发明的有些实施例中,用来发信当前帧内预测模式是MPM或非MPM中之一的第一二进制数是以上下文编码。MPM发信的实施例包含使用一或多个二进制数来从MPM列表中6个MPM选出一个MPM,而用作MPM发信的第一二进制数是以上下文编码。在一个较佳实施例中,用作MPM发信的之中仅有第一二进制数是以上下文编解码。二进制数(bin)可以用比特(bit)来代表。

表一示出了当MPM列表的大小是6时,MPM索引二值化(binarization)的例子以指示MPM列表中的MPM。表二示出了MPM索引二值化的例子以指示MPM列表中的6个MPM之一。表三示出了MPM索引二值化的例子以指示MPM列表中的5个MPM之一。

表一

MPM索引 二值化
0 1
1 0 1
2 0 0 1
3 0 0 0 1
4 0 0 0 0 1
5 0 0 0 0 0

表二

MPM索引 二值化
0 1
1 0 1
2 0 0 0 0
3 0 0 0 1
4 0 0 1 0
5 0 0 1 1

表三

MPM索引 二值化
0 1
1 0 1
2 0 0 1
3 0 0 0 1
4 0 0 0 0

在本发明的一实施例,用来作MPM发信的只有第一二进制数是以上下文编解码(context coded),例如只有表1、2或3中所示二值化的第一二进制数是以上下文编解码。在另一实施例中,用于MPM发信的所有二进制数都被旁路编解码(bypass coded),因此上下文编解码不用于MPM发信。在又一实施例中的MPM发信,一或多个二进制数是上下文编解码,而另一或多个二进制数是旁路编解码。

根据一实施例,如果当前帧内预测模式属于该多个非MPM中之一,则使用固定长度编解码(fixed length coding)来发信当前帧内预测模式;或是根据另一实施例,使用截断一元编解码(truncated unary coding)来发信当前帧内预测模式。

示例性实施例的代表性流程图6是依据本发明实施例的示例性的方法的流程图,通过帧内预测来处理当前画面中的当前块。在步骤S602中,影像或视频编码器或解码器接收与当前块相关联的输入数据,而该当前块是通过帧内预测被编解码或将被编解码;在步骤S604与S606中,决定最可能模式(MPM)列表以对当前块进行编解码。在步骤S604中,平面模式被选为该当前块的MPM列表中的第一MPM,与相邻块可用的角度模式的数目无关。在步骤S606中,根据相邻块可用的角度模式的数目,选择出一或多个MPM以插入于MPM列表中。例如,相邻块包括当前块的上方相邻块与左方相邻块,而MPM列表中有6个MPM。在步骤S608中,编码器或解码器将未纳入在MPM列表中其余的帧内预测模式设定为非MPM。例如,由于帧内预测模式的总数是67,因此在以6个MPM建构好MPM列表之后,其余61个帧内预测模式则设定为非MPM。在步骤S610中,根据从该多个MPM或非MPM中所选择出的当前帧内预测模式,编码器或解码器会对当前块进行编码或解码。如果当前帧内预测模式属于MPM列表中的该多个MPM中之一,则使用一或多个二进制数(bin)来对当前帧内预测模式加以编码,而且其中第一二进制数是以上下文编解码。在有些实施例中,如果当前帧内预测模式属于该多个非MPM中之一,则使用固定长度编解码或截断一元编解码来对当前帧内预测模式加以编码。

视频编码器与解码器的实施实作前述所提出的影像或视频处理方法可以在视频编码器或解码器上来实施实作,例如:所提出的影像或视频处理方法可以在编码器的帧内预测模块与/或解码器的帧内预测模块上来实施实作。也有其他替代方式,任何所提出的方法可以在编码器的帧内预测模块与/或解码器的帧内预测模块上所耦合的电路来实施实作,以提供帧内预测模块所需(例如MPM列表)的信息。

图7示出了实作本发明视频处理方法的视频编码器700的示例性系统方块图。依据本发明多种实施例,帧内预测模块710选择帧内预测模式来对一个块来进行帧内预测编码,并且基于当前画面的重构视频数据与上述帧内预测模式来提供帧内预测子。在一个实施例中,编码方法包括推导出多个MPM并纳入于用于该块的MPM列表中,而且总是选择平面模式作为在MPM列表中的第一MPM。将未纳入在该MPM列表中剩余的帧内预测模式设定为非MPM。帧间预测模块712执行运动估计(motion estimation,ME)和运动补偿(motioncompensation,MC),以基于来自其他画面的视频数据提供预测子。对于每一块而言,帧内预测模块710或帧间预测模块712将所选择的预测子提供给加法器716以形成预测误差,也称为预测残差。

当前块的预测残差透过转换模块(T)718进一步处理,接着是量化模块(Q)720处理。然后,已转换和已量化的残差信号由熵编码器734编码以形成已编码的视频比特流。已编码的视频比特流然后与边信息(side information)一起打包。当前块的已转换和已量化的残差信号由逆量化模块(IQ)722和逆转换模块(IT)724处理以恢复预测残差。如图7所示,通过在重构模块(REC)726处加回所选择的预测子来恢复预测残差,以产生重构的视频数据。已重构的视频数据可以储存在参考画面缓冲器(Ref.Pict.Buffer)732中,中,并用于预测其它画面。来自REC726的已重构的视频数据可能由于编码处理而受到各种损害,因此,在储存于参考画面缓冲器732之前,内环路处理去块滤波器(in-loop processingDeblocking Filter,DF)728和样本适应性偏移(Sample Adaptive Offset,SAO)730可应用于已重构的视频数据,以进一步提高画面质量。与用于内环路处理去块滤波器DF 728和样本适应性偏移SAO 730的信息相关联的语法则被提供给熵编码器734,以合并到已编码的视频比特流中。

用于图7的视频编码器700的相应视频解码器800如图8所示。已编码的视频比特流是视频解码器800的输入,并由熵解码器810解码以解析和恢复经变换和量化的残差信号和其他系统信息。除了解码器800仅需要帧间预测模块814中的运动补偿预测,解码器800的解码处理类似于编码器700处的重构环路。每个块由帧内预测模块812或帧间预测模块814进行解码。开关816依据已解码的模式信息,自帧内预测模块812选择帧内预测子或自帧间预测模块814选择帧间预测子。依据本发明的实施例,帧内预测模块812对于以帧内预测编码的当前块的当前帧内预测模式进行解码。帧内预测模块812推导出多个MPMs而纳入于该当前块的MPM列表中,而且将平面模式(Planar Mode)插入当成MPM列表中的第一MPM。通过逆量化(Inverse Quantization,IQ)模块820和逆转换(Inverse Transformation,IT)模块822来恢复与每个块相关联的已转换和已量化的残差信号。通过在重构模块818中加回预测子来重构已恢复的已转换和已量化的残差信号,以产生重构的视频。重构的视频由去块滤波器824和样本适应性偏移826进一步处理以产生最终解码的视频。如果当前已解码的画面是参考画面,则当前已解码画面的重构视频也储存在参考画面缓冲器828中,用于解码顺序中的后续画面。

图7和图8中的视频编码器700和视频解码器800的各种组件可以由硬件组件,一个或多个处理器被配置为执行存储在存储器中的程序指令,或硬件和处理器的组合来实现。例如,处理器执行程序指令以控制与当前画面相关联的输入数据的接收。处理器配备有单个或多个处理核心。在一些示例中,处理器执行程序指令以在编码器700和解码器800中的一些组件中执行功能,并且与处理器电耦合的存储器用于存储程序指令,对应于块的已重构影像的信息和/或编码或解码过程中的中间数据。在一些实施例中的存储器包括非暂时性计算器可读介质,诸如半导体或固态存储器,随机存取存储器(RAM),只读存储器(ROM),硬盘,光盘或其他合适的存储介质。存储器还可以是上面列出的两个或更多个非暂时性计算器可读介质的组合。如图7和图8所示,编码器700和解码器800可以在相同的电子设备中实现,因此如果在相同的电子设备中实现,则编码器700和解码器800的各种功能组件可以被共享或重用。例如,图7中的重构模块726,逆转换模块724,逆量化模块722,去块滤波器728,样本适应性偏移730和参考画面缓冲器732中的一个或多个,也分别可以用作图8中的重构模块818,逆转换模块822,逆量化模块820,去块滤波器824,样本适应性偏移826和参考画面缓冲器828。

在影像或视频编解码系统进行帧内预测方法的实施例,可以在集成于视频压缩芯片的电路来实作,或集成于视频压缩软件中执行以上描述的处理的程序代码来实作。例如,对通过帧内预测而被编码或将被编码的当前块进行MPM推导,可以实现于计算器处理器上执行的程序代码,数字信号处理器(DSP),微处理器或现场可程序门阵列(fieldprogrammable gate array,FPGA)上。可以透过执行定义本发明所体现的特定方法的机器可读软件代码或韧体代码,来将这些处理器配置成执行依据本发明的特定任务。

在本说明书通篇所提及的「实施例」、「一些实施例」或类似语言,意味着结合实施例描述的特定特性、结构或特征可以包括在本发明的至少一个实施例中。因此,贯穿本说明书的各个地方的用语「在一个实施例中」或「在一些实施例中」的出现不一定全部指相同的实施例,这些实施例可以单独地或结合一个或多个其他实施例来实现。此外,所描述的特性、结构或特征可以以任何合适的方式组合在一个或多个实施例中。然而,本领域通常知识者将认识到,在没有一个或多个具体细节,或其他方法、组件等的情况下,仍可以实施本发明。在其他情况下,对于已知的结构或操作则并未示出或详细描述,以避免模糊本发明的各个重点。

在不脱离本发明的精神或基本特征的情况下,本发明可以以其他具体形式实施。所描述的例子仅在所有方面被认为是说明性的而不是限制性的。因此,本发明的范围由所附权利要求书而不是前面的描述来指示。属于权利要求书的等同物的含义和范围内的所有变化将被包括在其范围内。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:图像传输方法、设备、可移动平台、系统和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类