一种确定视频块的色度信息的方法及装置与流程

文档序号:20949147发布日期:2020-06-02 20:02阅读:244来源:国知局
一种确定视频块的色度信息的方法及装置与流程

本申请要求在2019年01月18日提交美国专利局、申请号为62/794,544、申请名称为“crosscomponentlinearmodelsignalinginvideocoding”的美国专利申请的优先权,其全部内容通过引用结合在本申请中。

本公开涉及视频编码和压缩技术领域,尤其涉及一种确定视频块的色度信息的方法及装置。



背景技术:

在视频编码和压缩技术领域中,可以使用多种视频编码技术来压缩视频数据,并且,视频编码是根据一种或多种视频编码标准执行的,其中,视频编码标准包括多功能视频编解码(versatilevideocoding,vvc)、联合勘探测试模型(jointexplorationmodel,jem)、高效率视频编码(high-efficiencyvideocoding,hevc)(h.265/hevc)、高级视频编解码(advancedvideocoding,avc)(h.264/avc)、运动图像专家组(movingpictureexpertgroup,mpeg)编码等。

目前,共有八种色度帧内预测模式:五种传统的色度帧内预测模式和三种类型的分量间线性模型(cross-componentlinearmodel,cclm)模式(常规cclm模式、lm_a模式和lm_b模式)。相关技术中,这三种类型的cclm模式都作为单独的色度帧内预测模式专门地用信号通知,而视频编码技术的一个重要目标是在尽可能降低将视频数据的压缩率的同时最小化视频质量的损伤,随着视频压缩技术的不断发展,需要具有更好压缩效率的编码技术。



技术实现要素:

本公开提供一种确定视频块的色度信息的方法和装置,以至少解决相关技术中视频压缩率有待提高的问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种确定视频块的色度信息的方法,包括:

根据待处理视频帧中目标视频块的亮度帧内预测模式信息,确定所述目标视频块的分量间线性模型cclm模式的类型;

根据所述目标视频块的cclm模式的类型,在所述目标视频块周边选取已完成亮度采样和色度采样的参考视频块;

根据所述参考视频块的色度采样和亮度采样,确定所述目标视频块的色度采样和亮度采样之间的线性关系;

根据确定的线性关系和所述目标视频块的亮度采样,确定所述目标视频块的色度采样。

在一种可能的实施方式下,根据待处理视频帧中目标视频块的亮度帧内预测模式信息,确定所述目标视频块的cclm模式的类型,包括:

根据所述目标视频块的亮度帧内预测模式信息,确定所述目标视频块的亮度帧内预测模式对应的预测方向;

根据所述预测方向,确定所述目标视频块的cclm模式的类型。

在一种可能的实施方式下,所述目标视频块的色度帧内预测模式信息中不包含表示cclm模式的类型的编码信息,以及根据所述预测方向,确定所述目标视频块的cclm模式的类型,包括:

根据所述预测方向和预设的预测方向的分组规则,确定所述目标视频块的亮度帧内预测模式所属的分组;

根据所述目标视频块的亮度帧内预测模式所属的分组和预设的分组与cclm模式的类型之间的对应关系,确定所述目标视频块的cclm模式的类型。

在一种可能的实施方式下,所述目标视频块的色度帧内预测模式信息中包含表示cclm模式的类型的编码信息,以及根据所述预测方向,确定所述目标视频块的cclm模式的类型,包括:

通过自适应二进制算数编码cabac算法解码所述编码信息,得到用于表示所述目标视频块的cclm模式的类型的比特串,其中,第一比特位是所述比特串中的任意一个或多个比特位,用于确定所述第一比特位的比特值的上下文模型是根据所述预测方向选取的;

根据所述比特串,确定所述目标视频块的cclm模式的类型。

在一种可能的实施方式下,第二比特位是所述比特串中除所述第一比特位之外的比特位,所述第二比特位的比特值直接根据所述预测方向确定。

根据本公开实施例的第二方面,提供一种确定视频块的色度信息的装置,包括:

类型确定模块,被配置为执行根据待处理视频帧中目标视频块的亮度帧内预测模式信息,确定所述目标视频块的分量间线性模型cclm模式的类型;

选取模块,被配置为执行根据所述目标视频块的cclm模式的类型,在所述目标视频块周边选取已完成亮度采样和色度采样的参考视频块;

关系确定模块,被配置为执行根据所述参考视频块的色度采样和亮度采样,确定所述目标视频块的色度采样和亮度采样之间的线性关系;

色度确定模块,被配置为执行根据确定的线性关系和所述目标视频块的亮度采样,确定所述目标视频块的色度采样。

在一种可能的实施方式下,所述类型确定模块被具体配置为执行:

根据所述目标视频块的亮度帧内预测模式信息,确定所述目标视频块的亮度帧内预测模式对应的预测方向;

根据所述预测方向,确定所述目标视频块的cclm模式的类型。

在一种可能的实施方式下,所述目标视频块的色度帧内预测模式信息中不包含表示cclm模式的类型的编码信息,所述类型确定模块被具体配置为执行:

根据所述预测方向和预设的预测方向的分组规则,确定所述目标视频块的亮度帧内预测模式所属的分组;

根据所述目标视频块的亮度帧内预测模式所属的分组和预设的分组与cclm模式的类型之间的对应关系,确定所述目标视频块的cclm模式的类型。

在一种可能的实施方式下,所述目标视频块的色度帧内预测模式信息中包含表示cclm模式的类型的编码信息,所述类型确定模块被具体配置为执行:

通过自适应二进制算数编码cabac算法解码所述编码信息,得到用于表示所述目标视频块的cclm模式的类型的比特串,其中,第一比特位是所述比特串中的任意一个或多个比特位,用于确定所述第一比特位的比特值的上下文模型是根据所述预测方向选取的;

根据所述比特串,确定所述目标视频块的cclm模式的类型。

在一种可能的实施方式下,第二比特位是所述比特串中除所述第一比特位之外的比特位,所述第二比特位的比特值直接根据所述预测方向确定。

根据本公开实施例的第三方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一确定视频块的色度信息的方法。

根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,所述电子设备能够执行上述任一确定视频块的色度信息的方法。

根据本公开实施例的第五方面,提供一种计算机程序产品,该程序产品在被计算机调用执行时,可以使得计算机执行上述任一确定视频块的色度信息的方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

根据待处理视频帧中目标视频块的亮度帧内预测模式信息,确定目标视频块的cclm模式的类型,根据目标视频块的cclm模式的类型,在目标视频块周边选取已完成亮度采样和色度采样的参考视频块,根据参考视频块的色度采样和亮度采样,确定目标视频块的色度采样和亮度采样之间的线性关系,进而根据确定的线性关系和目标视频块的亮度采样,确定目标视频块的色度采样,这样,根据目标视频块的亮度帧内预测模式信息,确定目标视频块的cclm模式的类型,可以不编码或者少编码用于表示目标视频块的cclm模式的类型的信息,因此,可提升编码效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种同一视频块的色度采样和亮度采样之间的线性关系的示意图。

图2是根据一示例性实施例示出的常规cclm模式中目标视频块和参考视频块之间的位置关系示意图。

图3是根据一示例性实施例示出的lm_a模式中目标视频块和参考视频块之间的位置关系示意图。

图4是根据一示例性实施例示出的lm_l模式中目标视频块和参考视频块之间的位置关系示意图。

图5是根据一示例性实施例示出的一种目标视频块的亮度帧内预测模式对应的预测方向的示意图。

图6是根据一示例性实施例示出的一种确定视频块的色度信息的方法的流程图。

图7是根据一示例性实施例示出的一种确定视频块的色度信息的装置的框图。

图8是根据一示例性实施例示出的一种用于实现确定视频块的色度信息的方法的电子设备的结构示意图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在第10界jvet会议中,定义了多功能视频编码(versatilevideocoding,vcc)和vvc测试模型1(vtm1)的编码方案,该方案决定使用二叉和三叉划分编码块结构的嵌套多类型树的四叉树作为vvc的初始新编码特征,此后,在jvet会议期间还开发了用于实现编码方法和草案vvc解码过程的参考软件vtm,并基于vtm开发了基准集(benchmarkset,bms)软件,以包括尚未被vcc采纳但需要进一步研究的编码工具。

图像划分结构将输入视频划分为编码树单元(codingtreeunit,ctu),并使用具有嵌套多类型树结构的四叉树将一个ctu划分成多个编码单元(codingunit,cu),编码单元具有定义共享相同预测模式的区域(例如帧内或帧间)的叶子编码单元。在本公开中,术语“单元(unit)”用于定义覆盖所有分量的图像区域,术语“块(block)”用于定义覆盖特定分量(例如亮度分量)的区域,并且,在考虑如yuv4:2:0的色度采样格式时可以在空域位置上有所不同。

目前,为了降低视频中不同颜色分量之间的冗余,在参考软件vtm-3.0中使用了cclm模式。在该模式中,采用同一视频块如cu的亮度采样来预测cu的色度采样,其采用的线性模型如下:

predc(i,j)=α·recl'(i,j)+β;

其中,predc(i,j)表示cu中第i行第j列的色度采样;recl′(i,j)表示第i行第j列的重构亮度采样,重构亮度采样是对cu中的亮度采样进行下采样处理后得到的,且重构亮度采样与对cu中的色度采样一一对应;α、β是待确定的参数,可通过使用直线方程的方法确定(在以下部分称为min-max方法)。

具体实施时,可从cu周边选择已完成亮度采样和色度采样的参考视频块,对参考视频块中的亮度采样进行下采样处理,得到与参考视频块中的色度采样一一对应的重构亮度采样,然后,确定亮度值最小的重构亮度采样和亮度值最大的重构亮度采样,进而根据亮度值最小的重构亮度采样、亮度值最大的重构亮度采样和他们各自对应的色度采样,确定α、β。

参见图1,其中,a点表示亮度值最小的重构亮度采样和其对应的色度采样,b点表示亮度值最大的重构亮度采样和其对应的色度采样,可根据如下公式确定α、β:

β=ya-αxa;

其中,xa表示亮度值最小的重构亮度采样的亮度值,ya表示亮度值最小的重构亮度采样对应的色度采样的色度值,xb表示亮度值最大的重构亮度采样的亮度值,yb表示亮度值最大的重构亮度采样对应的色度采样的色度值。

对于方形视频块,上述两个等式可以直接应用;对于非方形视频块,可先对长边的邻近采样进行下采样,以得到与短边的采样数量相等的采样数。

图2示出了常规cclm模式中参考视频块(左侧视频块和上方视频块)与目标视频块(亮度块和色度块)之间的位置关系示意图,其中,左侧图中的灰色原点代表色度块周边的色度采样,右侧图中的灰色原点代表亮度块周边的重构亮度采样。

具体实施时,除了使用上方视频块和左侧视频块一起计算参数α、β,还可使用lm_a模式和lm_l模式计算参数α、β,其中:

在lm_a模式中,仅使用上方视频块计算参数α、β,并且,为了获得更多的亮度采样,可将上方视频块扩展为(w+h),如图3所示,其中,w为视频块的宽度,h为视频块的高度。

在lm_l模式中,仅使用左侧视频块计算参数α、β,并且,为了获得更多的亮度采样,将左侧视频块扩展为(h+w),如图4所示。

需要说明的是,当上参考行位于ctu边缘时,可仅使用一行亮度采样(帧内预测中的通用线缓冲区)来进行下采样,以得到重构亮度采样。并且,α和β的参数计算是解码过程的一部分,而不仅仅是编码器搜索操作,因此,没有信令将α和β传递到解码器。

总体而言,有三种类型的cclm模式可用信号通知。当上侧视频块或左侧视频块不可用时,将不会检查或信号通知相应的lm_a或lm_l模式;当可用的亮度采样不足时,可将最右边的(对于上侧视频块)采用或最下面的(对于左侧视频块)采用复制到最近的位置来填充参考视频块,以获得足够多的亮度采样。

实际应用中,总共允许8种帧内预测模式用于色度帧内预测模式编码,这些模式包括五种传统的色度帧内预测模式和三种类型的分量间线性模型模式(常规cclm模式、lm_a模式和lm_b模式)。

色度帧内预测模式信令的推导过程参见表1,其中,0-3、7代表五种传统的色度帧内预测模式,4-6代表三种分量间线性模型模式,可以看出,传统的色度帧内预测模的编码都直接取决于当前色度块对应的亮度块的帧内预测模式,而cclm模式的编码并不取决于当前色度块对应的亮度块的帧内预测模式。

表1当启用cclm模式时从亮度模式推导色度预测模式

在vvc草案3中,第8.3.2和8.3.3节指定了对色度帧内预测模式(intra_chroma_pred_mode)的推导过程,第9.5.3.7节指定了对intra_chroma_pred_mode的二值化过程。

目前,在vcc中,亮度帧内预测模式除了直流(directcurrent,dc)模式和平面模式外,对角度预测模式,最多还定义了93个不同的方向,如图5所示。

在这些预测方向中,从-14到18的方向(不包括用于平面的0方向和用于dc的1方向)仅参考左相邻像素进行帧内预测,在下面的描述中,具有对应方向的帧内预测模式可称为左取向(left-oriented)的帧内预测模式(即将具有对应方向的帧内预测模式划分到左取向组);从19到49的方向同时参考左相邻像素和上相邻像素进行帧内预测,在下面的描述中,具有对应方向的帧内预测模式可称为左上取向(top-left-oriented)的帧内预测模式(即将具有对应方向的帧内预测模式划分到左上取向组);从50到80的方向只是参考相邻像素上方的那些像素以进行帧内预测,在下面的描述中,具有对应方向的帧内预测模式可称为上取向(top-oriented)的帧内预测模式(即将具有对应方向的帧内预测模式划分到上取向组)。

或者,从-14到33的方向(不包括用于平面模式的0方向和用于dc模式的1方向)通常会偏向左方向,在下面的描述中,具有对应方向的帧内预测模式可称为偏左方向的帧内预测模式(即将具有对应方向的帧内预测模式划分到左偏向组);从35到80的方向通常会偏上方向,在下面的描述中,具有对应方向的帧内预测模式可称为偏上方向的帧内预测模式(即将具有对应方向的帧内预测模式划分到上偏向组)。

在相关技术中,三种类型的cclm模式作为单独的帧内色度帧内预测模式专门地用信号通知,需要使用的比特位比较多。对于任一目标视频块而言,如果可以将其亮度帧内预测模式与最佳cclm模式选择相关联,则可进一步提高编码效率,为此,本公开实施例提出了几种在使用cclm模式时考虑亮度帧内预测模式的新方法,从而可以基于亮度帧内预测模式和相应cclm模式之间的相关性来提高编码效率。

本公开实施例提出几种对cclm预测模式信令进行修改的若干方案,具体说明如下。

第一种:根据亮度帧内预测模式直接确定cclm模式的类型。

具体实施时,可根据色度块对应的亮度块的帧内预测模式的方向分类,直接确定色度块的cclm模式的类型(即,常规cclm模式、lm_a模式和lm_l模式),此时,仅用信号通知色度块使用的为cclm模式即可,而不需要用信号通知色度块选择了三种类型的cclm模式中的哪一种,预测色度块选择的cclm模式的类型的示例如下。

当色度块对应的亮度块的帧内预测模式为上取向(top-oriented)的帧内预测模式时,确定色度块使用的为lm_a模式;

当色度块对应的亮度块的帧内预测模式为左取向(left-oriented)的帧内预测模式时,确定色度块使用的为lm_l模式;

当色度块对应的亮度块的帧内预测模式为左上取向(top-left-oriented)的帧内预测模式时,确定色度块使用的为常规cclm模式。

通过上述修改,当允许cclm模式时(即,sps_cclm_enabled_flag为真),色度帧内预测模式的数量从8种(5种传统的帧内色度帧内预测模式和3种cclm模式)减少到6种(5种传统的模式和1种cclm模式),减少了总色度帧内预测模式的信令开销,减少编码使用的比特位数,因此,可提高编码效率。

需要说明的是,上述规则仅为举例,实际上,可以使用不同的分类规则对这些角度亮度帧内预测模式进行分组,只要本公开的思想成立即可。

第二种:根据亮度帧内预测模式确定带上下文的cclm模式信令。

具体实施时,可明确地用信号通知三种类型的cclm模式,同时使用色度块对应的亮度块的帧内预测模式作为它们的上下文自适应二进制算术编码(context-adaptivebinaryarithmeticcoding,cabac)算法的上下文。

具体实施时,可以根据预测方向,将亮度帧内预测模式分为若干组。比如,将亮度帧内预测模式划分为左取向(left-oriented)组、上取向(toporiented)组和/或左上取向(top-left-oriented)组,再比如,将帧内预测模式划分为左偏向(left-biased)组和上偏向(top-biased)组,后续,在对色度块的cclm模式进行编码时,可以基于亮度块的帧内预测模式的组别使用不同的上下文模型来对cclm模式中的比特进行编码。

以下是将该方法应用于现有的vvccclm信令的示例。

在现有的vvc中,当允许cclm模式时,八种色度帧内预测模式进行二值化后的比特串参见表2,其中,预测模式4、预测模式5、预测模式6分别对应于常规cclm模式、lm_l模式和lm_a模式。

表2当sps_cclm_enabled_flag等于1时,intra_chroma_pred_mode的二值化值

在表2中,第二个比特位指示何时色度帧内预测模式为常规cclm模式;第三个比特位指示色度帧内预测模式何时为lm_l模式和lm_a模式之一;当第三个比特位的比特值等于1时,第四个比特位指示色度帧内预测模式何时为lm_l模式和lm_a模式。

基于目前的vcc,表3示出了在为色度帧内预测模式解码每个比特位时的上下文模型分配,其中,第一个比特位(binidx等于0)使用一种上下文模型(编号为0)进行解码,第二个比特位(binidx等于1)使用另一种上下文模型(编号为1)进行解码,第三个比特位(binidx等于2)和第四个比特位(binidx等于3)共享另一种上下文模型(编号为2)进行解码。

表3.将ctxinc分配给具有上下文的比特位的语法元素

本公开实施例中,在一种可能的实施方式下,可以在解码第二个比特位时使用两种上下文模型。比如,在色度块对应的亮度块的帧内预测模式为左上取向的帧内预测模式时,选择使用一种上下文模型;否则,选择使用另一种上下文模型。

在另一种可能的实施方式下,可以在解码第三个比特位时使用两种上下文模型。比如,在色度块对应的亮度块的帧内预测模式为上取向或者左取向的帧内预测模式时,使用一种上下文模型;否则,使用另一种上下文模型。

在另一种可能的实施方式下,当第三个比特位等于1时,可以在解码第四个比特位时使用三种上下文模型,其中,在色度块对应的亮度块的帧内预测模式为上取向的帧内预测模式时,使用第一种上下文模型,在色度块相对应的亮度块的帧内预测模式为左取向的帧内预测模式时,使用第二种上下文模型,在色度块对应的亮度块的帧内预测模式为左上取向的帧内预测模式时,使用第三种上下文模型。

在另一种可能的实施方式下,当第三个比特位的比特值等于1时,可以在解码第四个比特位时使用两种上下文模型,其中,在色度块对应的亮度块的帧内预测模式为偏上方向的帧内预测模式时,使用一种上下文模型;否则,使用另一种上下文模型。

在另一种可能的实施方式下,当第三个比特位的比特值等于1时,可以在解码第四个比特位时使用两种上下文模型,其中,在色度块对应的亮度块的帧内预测模式为偏左方向的帧内预测模式时,使用一种上下文模型;否则,使用另一种上下文模型。

第三种:cclm模式的混合信令。

具体实施时,前两种方法可以一起使用,即,对色度块的cclm模式进行二值化后的比特串,根据色度块对应的亮度块的帧内预测模式,使用上下文模型对比特串中的一些比特进行解码,而无需使用信令就可以推断出比特串中的其它比特。

例如,对表2中的比特串,可以使用上下文模型对第二个比特位和第三个比特位进行解码,其中,可以根据色度块对应的亮度块的帧内预测模式来选择上下文模型,同时,当第三个比特位等于1时,直接根据色度块对应的亮度块的帧内预测模式的方向分组确定第四个比特位,而不再需要任何额外的信令,第四个比特位的推断示例如下。

第一种方式:若色度块对应的亮度块的帧内预测模式为上取向的帧内预测模式,则确定色度块使用的为lm_a模式;否则,确定色度块使用的为lm_l模式。

第二种方式:若色度块对应的亮度块的帧内预测模式为左取向的帧内预测模式,则确定色度块使用的为lm_l模式;否则,确定色度块使用的为lm_a模式。

第三种方式:若色度块对应的亮度块的帧内预测模式为上偏向的帧内预测模式,则确定色度块使用的为lm_a模式;否则,确定色度块使用的为lm_l模式。

第四种方式:若色度块对应的亮度块的帧内预测模式为左偏向的帧内预测模式,则确定色度块使用的为lm_l模式;否则,确定色度块使用的为lm_a模式。

需要说明的是,尽管上述示例是相对于表2中所示出的比特串的举例,但是本公开的精神并限于这些示例,本公开的方法可以适用于使用不同码字来信号通知cclm模式的其它情况。

图6是根据一示例性实施例示出的一种确定视频块的色度信息的方法的流程图,该方法既可以应用于编码端也可以应用于解码端,该方法的流程图包括以下步骤。

s601:根据待处理视频帧中目标视频块的亮度帧内预测模式信息,确定目标视频块的cclm模式的类型。

其中,目标视频块的cclm模式的类型如常规cclm模式、lm_a模式和lm_l模式。不同类型的cclm模式中参考视频块和目标视频块之间的位置关系不同,比如,常规cclm模式中参考视频块位于目标视频块的上侧和左侧,lm_a模式中参考视频块位于目标视频块的上侧,lm_l模式中参考视频块位于目标视频块的左侧。

实际应用中,亮度帧内预测模式的角度预测模式最多定义了93个不同的方向,参见图5,每个方向决定了在预测目标视频块的亮度时使用的参考亮度采样的位置,而在使用cclm模式预测目标视频块的色度时,若使用参考亮度采样附近的区域确定目标视频块的色度采样和亮度采样之间的线性关系,即将目标视频块的亮度帧内预测模式与其最佳cclm模式的选择相关联,则可确定出比较准确的线性关系,从而提升编码效率,本公开正是基于这一思想提出的。

具体实施时,可根据目标视频块的亮度帧内预测模式信息,确定目标视频块的亮度帧内预测模式对应的预测方向,进而根据该预测方向,确定目标视频块的cclm模式的类型。

在一种可能的实施方式下,仅通知目标视频块采用的色度帧内预测模式为cclm模式,而不通知目标视频块采用的cclm模式的类型,即,目标视频块的色度帧内预测模式信息中仅包含cclm模式的指示信息,而不包含cclm模式的类型的编码信息。

此时,可根据目标视频块的亮度帧内预测模式对应的预测方向和预设的预测方向的分组规则,确定目标视频块的亮度帧内预测模式所属的分组,进而根据目标视频块的亮度帧内预测模式所属的分组和预设的分组与cclm模式的类型之间的对应关系,确定目标视频块的cclm模式的类型。

假设将图5中从-14到18的方向(不包括用于平面的0方向和用于dc的1方向)划分为左取向组;从19到49的方向划分为左上取向组;从50到80的方向划分为上取向组,并且,假设左取向组对应lm_l模式,左上取向组对应常规cclm模式,上取向组对应lm_a模式。

那么,如果目标视频块的亮度帧内预测模式为16,则确定目标视频块的色度帧内预测模式为lm_l模式;如果目标视频块的亮度帧内预测模式为23,则确定目标视频块的色度帧内预测模式为常规cclm模式;如果目标视频块的亮度帧内预测模式为70,则确定目标视频块的色度帧内预测模式为lm_a模式。

相关技术中,对目标视频块的色度帧内预测模式的类型进行二值化后的比特串,比特串中的每个比特位仅使用一个上下文模型来预测该比特位的比特值,或者,几个比特位共用一个上下文模型来预测这几个比特位的比特值,这样,对比特位的预测并未考虑目标视频块的亮度帧内预测模式对应的预测方向,预测的准确不高,易使最终确定的线性关系不准确,编码效率低。

因此,在另一种可能的实施方式下,直接通知目标视频块采用的cclm模式的类型,即目标视频块的色度帧内预测模式信息中包含表示目标视频块的cclm模式的类型的编码信息,同时,根据目标视频块的亮度帧内预测模式对应的预测方向自适应地选择用于预测比特串中比特位的比特值的上下文模型。

具体实施时,可通过cabac算法解码表示目标视频块的cclm模式的类型的编码信息,得到用于表示目标视频块的cclm模式的类型的比特串,进而根据比特串和建立的比特串与cclm模式的类型之间的对应关系,确定目标视频块的cclm模式的类型,其中,第一比特位是比特串中的任意一个或多个比特位,并且,用于确定第一比特位的比特值的上下文模型是根据目标视频块的亮度帧内预测模式对应的预测方向选取的。

比如,对每个第一比特位,可根据目标视频块的亮度帧内预测模式对应的预测方向和预设的预测方向的分组规则,确定目标视频块的亮度帧内预测模式所属的分组,进而根据目标视频块的亮度帧内预测模式所属的分组和该第一比特位可用的上下文模型的模型编号之间的对应关系,确定选择哪一个上下文模型来预测该第一比特位的比特值。

参见表2,其中,第二个比特位用于指示何时色度帧内预测模式为常规cclm模式;第三个比特位用于指示色度帧内预测模式何时为lm_l模式和lm_a模式之一;当第三个比特位的比特值等于1时,第四个比特位用于指示色度帧内预测模式何时为lm_l模式和lm_a模式。

那么,在一种可能的实施方式下,可以在解码第二个比特位时使用两种上下文模型。比如,目标视频块的亮度帧内预测模式属于左上取向组时,选择使用一种上下文模型;在目标视频块的亮度帧内预测模式不属于左上取向组(即左取向组或上取向组)时,选择使用另一种上下文模型。

在另一种可能的实施方式下,可以在解码第三个比特位时使用两种上下文模型。比如,在目标视频块的亮度帧内预测模式属于上取向组或者左取向组时,使用一种上下文模型;在目标视频块的亮度帧内预测模式属于左上取向组时,使用另一种上下文模型。

在另一种可能的实施方式下,当第三个比特位等于1时,可以在解码第四个比特位时使用三种上下文模型,其中,在目标视频块的亮度帧内预测模式属于上取向组时,使用第一种上下文模型,在目标视频块的亮度帧内预测模式属于左取向组时,使用第二种上下文模型,在目标视频块的亮度帧内预测模式属于左上取组时,使用第三种上下文模型。

在另一种可能的实施方式下,当第三个比特位的比特值等于1时,可以在解码第四个比特位时使用两种上下文模型,其中,在目标视频块的亮度帧内预测模式属于偏上方向组(如图5中35到80的方向)时,使用一种上下文模型;否则,使用另一种上下文模型。

在另一种可能的实施方式下,当第三个比特位的比特值等于1时,可以在编码第四个比特位时使用两种上下文模型,其中,在目标视频块的亮度帧内预测模式属于偏左方向组(如图5中-14到33的方向)时,使用一种上下文模型;否则,使用另一种上下文模型。

也就是说,在本公开实施例中,每个第一比特位有至少两个可供选择的上下文模型,而具体选择哪一个上下文模型来预测该第一比特位的比特值,则由目标视频块的亮度帧内预测模式对应的预测方向和该第一比特位对应的预测方向的分组规则确定,并且,不同第一比特位对应的预测方向的分组规则可以相同,也可以不同。

此外,当直接通知目标视频块采用的cclm模式的类型时,也可以仅使用上下文模型解码比特串中部分比特值,而部分比特值直接根据目标视频块的亮度帧内预测模式对应的预测方向进行推断,即,比特串中可以包括直接根据目标视频块的亮度帧内预测模式对应的预测方向确定比特值的第二比特位,这里,第二比特位和第一比特位是指比特串中的不同比特位。

例如,对表2中的比特串,可以使用上下文模型对第二个比特位和第三个比特位进行解码,这里,用于确定每个比特位的比特值的上下文模型都根据目标视频块的亮度帧内预测模式对应的预测方向来选择,同时,当第三个比特位等于1时,直接根据亮度帧内预测模式对应的预测方向确定第四个比特位的比特值,而不再需要任何额外的信令,第四个比特位的推断示例如下。

第一种方式:若目标视频块的亮度帧内预测模式对应的预测方向属于上取向组(如图5中从50到80的方向),则确定目标视频块的色度帧内预测模式为lm_a模式;否则,确定目标视频块的色度帧内预测模式为lm_l模式。

第二种方式:若目标视频块的亮度帧内预测模式对应的预测方向属于左取向组(如图5中从-14到18的方向),则确定目标视频块的色度帧内预测模式为lm_l模式;否则,确定目标视频块的色度帧内预测模式为lm_a模式。

第三种方式:若目标视频块的亮度帧内预测模式对应的预测方向属于上偏向组(如图5中从35到80的方向),则目标视频块的色度帧内预测模式为lm_a模式;否则,确定目标视频块的色度帧内预测模式为lm_l模式。

第四种方式:若目标视频块的亮度帧内预测模式对应的预测方向属于左偏向组(如图5中从-14到33的方向),则确定目标视频块的色度帧内预测模式为lm_l模式;否则,确定目标视频块的色度帧内预测模式为lm_a模式。

需要说明的是,第二比特位可以是比特串中的任何一位或多位。

另外,需要说明的是,不同比特位所对应的预测方向的分组规则可以相同,也可以不同,并且,对每个比特位而言,并不是分组数量越多越好,具体分为几组需要由技术人员根据实验确定或者根据经验确定。

s602:根据目标视频块的cclm模式的类型,在目标视频块周边选取已完成亮度采样和色度采样的参考视频块。

具体实施时,如果目标视频块的cclm模式的类型为常规cclm模式,则从目标视频块的上侧和左侧选择参考视频块;如果目标视频块的cclm模式的类型为lm_a模式,则从目标视频块的上侧选择参考视频块;如果目标视频块的cclm模式的类型为lm_l模式,则从目标视频块的左侧选择参考视频块。

s603:根据参考视频块的色度采样和亮度采样,确定目标视频块的色度采样和亮度采样之间的线性关系。

具体实施时,如果参考视频块的色度采样和亮度采样个数不一致,还可对参考视频块中的亮度采样进行下采样处理,得到与参考视频块中的色度采样对应的重构亮度采样,进而根据亮度值最大的重构亮度采样和亮度值最小的重构亮度采样、以及亮度值最大的重构亮度采样和亮度值最小的重构亮度采样各自对应的色度采样,确定目标视频块的色度采样和亮度采样之间的线性关系。

假设亮度值最大的重构亮度采样和其对应的色度采样为b点,亮度值最小的重构亮度采样和其对应的色度采样为a点,则可根据以下公式确定目标视频块的色度采样和亮度采样之间的线性关系:

β=ya-αxa;

其中,xa表示亮度值最小的重构亮度采样的亮度值,ya表示亮度值最小的重构亮度采样对应的色度采样的色度值,xb表示亮度值最大的重构亮度采样的亮度值,yb表示亮度值最大的重构亮度采样对应的色度采样的色度值。

s604:根据确定的线性关系和目标视频块的亮度采样值,确定目标视频块的色度采样值。

具体实施时,可先对目标视频块中的亮度采样进行下采样处理,得到与目标视频块中的色度采样一一对应的重构亮度采样,然后,根据以下公式确定目标视频块中每个色度采样的色度值:

predc(i,j)=α·recl'(i,j)+β;

其中,predc(i,j)表示目标视频块中第i行第j列色度采样的色度值;recl′(i,j)表示第i行第j列重构亮度采样的亮度值。

当本公开实施例中提供的方法以软件或硬件或软硬件结合实现的时候,电子设备中可以包括多个功能模块,每个功能模块可以包括软件、硬件或其结合。

具体的,图7是根据一示例性实施例示出的一种确定视频块的色度信息的装置的框图,该装置包括类型确定模块701、选取模块702、关系确定模块703和色度确定模块704。

类型确定模块701,被配置为执行根据待处理视频帧中目标视频块的亮度帧内预测模式信息,确定所述目标视频块的分量间线性模型cclm模式的类型;

选取模块702,被配置为执行根据所述目标视频块的cclm模式的类型,在所述目标视频块周边选取已完成亮度采样和色度采样的参考视频块;

关系确定模块703,被配置为执行根据所述参考视频块的色度采样和亮度采样,确定所述目标视频块的色度采样和亮度采样之间的线性关系;

色度确定模块704,被配置为执行根据确定的线性关系和所述目标视频块的亮度采样,确定所述目标视频块的色度采样。

在一种可能的实施方式下,所述类型确定模块被具体配置为执行:

根据所述目标视频块的亮度帧内预测模式信息,确定所述目标视频块的亮度帧内预测模式对应的预测方向;

根据所述预测方向,确定所述目标视频块的cclm模式的类型。

在一种可能的实施方式下,所述目标视频块的色度帧内预测模式信息中不包含表示cclm模式的类型的编码信息,所述类型确定模块被具体配置为执行:

根据所述预测方向和预设的预测方向的分组规则,确定所述目标视频块的亮度帧内预测模式所属的分组;

根据所述目标视频块的亮度帧内预测模式所属的分组和预设的分组与cclm模式的类型之间的对应关系,确定所述目标视频块的cclm模式的类型。

在一种可能的实施方式下,所述目标视频块的色度帧内预测模式信息中包含表示cclm模式的类型的编码信息,所述类型确定模块被具体配置为执行:

通过自适应二进制算数编码cabac算法解码所述编码信息,得到用于表示所述目标视频块的cclm模式的类型的比特串,其中,第一比特位是所述比特串中的任意一个或多个比特位,用于确定所述第一比特位的比特值的上下文模型是根据所述预测方向选取的;

根据所述比特串,确定所述目标视频块的cclm模式的类型。

在一种可能的实施方式下,第二比特位是所述比特串中除所述第一比特位之外的比特位,所述第二比特位的比特值直接根据所述预测方向确定。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本公开各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。各个模块相互之间的耦合可以是通过一些接口实现,这些接口通常是电性通信接口,但是也不排除可能是机械接口或其它的形式接口。因此,作为分离部件说明的模块可以是或者也可以不是物理上分开的,既可以位于一个地方,也可以分布到同一个或不同设备的不同位置上。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

图8是根据一示例性实施例示出的一种电子设备的结构示意图,该电子设备包括收发器801以及处理器802等物理器件,其中,处理器802可以是一个中央处理单元(centralprocessingunit,cpu)、微处理器、专用集成电路、可编程逻辑电路、大规模集成电路、或者为数字处理单元等等。收发器801用于电子设备和其他设备进行数据收发。

该电子设备还可以包括存储器803用于存储处理器802执行的软件指令,当然还可以存储电子设备需要的一些其他数据,如电子设备的标识信息、电子设备的加密信息、用户数据等。存储器803可以是易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,ram);存储器803也可以是非易失性存储器(non-volatilememory),例如只读存储器(read-onlymemory,rom),快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd)、或者存储器803是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器803可以是上述存储器的组合。

本公开实施例中不限定上述处理器802、存储器803以及收发器801之间的具体连接介质。本公开实施例在图8中仅以存储器803、处理器802以及收发器801之间通过总线804连接为例进行说明,总线在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

处理器802可以是专用硬件或运行软件的处理器,当处理器802可以运行软件时,处理器802读取存储器803存储的软件指令,并在所述软件指令的驱动下,执行前述实施例中涉及的确定视频块的色度信息的方法。

本公开实施例还提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,所述电子设备能够执行前述实施例中涉及的确定视频块的色度信息的方法。

在一些可能的实施方式中,本公开提供的确定视频块的色度信息的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行前述实施例中涉及的确定视频块的色度信息的方法。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

本公开实施例提供的用于确定视频块的色度信息的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在计算设备上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言诸如java、c++等,还包括常规的过程式程序设计语言诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络包括局域网(lan)或广域网(wan)连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。

此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。

显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1