首页 / 专利库 / 电脑图像 / 帧存储器 / 一种确定编码单元的色度信息的方法和装置

一种确定编码单元的色度信息的方法和装置

阅读:398发布:2020-05-08

专利汇可以提供一种确定编码单元的色度信息的方法和装置专利检索,专利查询,专利分析的服务。并且本公 开关 于一种确定编码单元的 色度 信息的方法和装置,包括:在编码单元周边选取已重构的参考视频 块 ,参考视频块包括与编码单元的横向边界相邻的目标视频块,对参考视频块中的 亮度 采样 点进行 下采样 处理,得到与参考视频块中的色度采样点对应的亮度参考点,根据亮度值最大的亮度参考点、亮度值最小的亮度参考点和两个亮度参考点各自对应的色度采样点的色度值,确定编码单元的色度与亮度之间线性模型的参数,根据该参数和编码单元中亮度采样点的亮度值确定编码单元中色度采样点的色度值,目标视频块中目标色度采样点对应的亮度参考点由对离目标色度采样点最近的亮度采样点进行下采样处理得到,目标色度采样点离编码单元中首行首列的亮度采样点最近。,下面是一种确定编码单元的色度信息的方法和装置专利的具体信息内容。

1.一种确定编码单元的色度信息的方法,其特征在于,包括:
视频中待处理的编码单元周边选取已完成重构的参考视频,所述已完成重构的参考视频块至少包括一个目标视频块,所述目标视频块与所述编码单元的横向边界相邻;
对所述参考视频块中的亮度采样点进行下采样处理,得到与所述参考视频块中的色度采样点对应的亮度参考点,其中,目标色度采样点是所述目标视频块中距离所述编码单元中首行首列的亮度采样点最近的色度采样点,目标亮度采样点是所述目标视频块中距离所述目标色度采样点最近的亮度采样点,所述目标色度采样点对应的亮度参考点通过对所述目标亮度采样点进行下采样处理得到;
根据亮度值最大的亮度参考点和亮度值最小的亮度参考点、以及所述亮度值最大的亮度参考点和所述亮度值最小的亮度参考点各自对应的色度采样点的色度值,确定所述编码单元的色度与亮度之间线性模型的参数;
根据所述线性模型的参数和所述编码单元中亮度采样点的亮度值,确定所述编码单元中色度采样点的色度值。
2.根据权利要求1所述的方法,其特征在于,采用如下方式对所述目标亮度采样点进行下采样处理:
若确定所述编码单元和所述目标视频块属于相同的编码树单元,则对所述目标亮度采样点进行下采样处理;
若确定所述编码单元和所述目标视频块属于不同的编码树单元,则对所述目标亮度采样点中距离所述编码单元最近的亮度采样点进行下采样处理。
3.根据权利要求1所述的方法,其特征在于,采用如下方式对所述目标亮度采样点进行下采样处理:
直接对所述目标亮度采样点中距离所述编码单元最近的亮度采样点进行下采样处理。
4.根据权利要求2所述的方法,其特征在于,对所述目标亮度采样点进行下采样处理,包括:
计算所述目标亮度采样点中各亮度采样点的亮度平均值;
根据所述亮度平均值,确定对应的亮度参考点的亮度值。
5.根据权利要求2或3所述的方法,其特征在于,对所述目标亮度采样点中距离所述编码单元最近的亮度采样点进行下采样处理,包括:
取所述目标亮度采样点中距离所述编码单元最近的亮度采样点的亮度值作为对应的亮度参考点的亮度值。
6.一种确定编码单元的色度信息的装置,其特征在于,包括:
选取模块,被配置为执行在视频帧中待处理的编码单元周边选取已完成重构的参考视频块,所述已完成重构的参考视频块至少包括一个目标视频块,所述目标视频块与所述编码单元的横向边界相邻;
采样模块,被配置为执行对所述参考视频块中的亮度采样点进行下采样处理,得到与所述参考视频块中的色度采样点对应的亮度参考点,其中,目标色度采样点是所述目标视频块中距离所述编码单元中首行首列的亮度采样点最近的色度采样点,目标亮度采样点是所述目标视频块中距离所述目标色度采样点最近的亮度采样点,所述目标色度采样点对应的亮度参考点通过对所述目标亮度采样点进行下采样处理得到;
参数确定模块,被配置为执行根据亮度值最大的亮度参考点和亮度值最小的亮度参考点、以及所述亮度值最大的亮度参考点和所述亮度值最小的亮度参考点各自对应的色度采样点的色度值,确定所述编码单元的色度与亮度之间的线性模型的参数;
色度确定模块,被配置为执行根据所述线性模型的参数和所述编码单元中亮度采样点的亮度值,确定所述编码单元中色度采样点的色度值。
7.根据权利要求6所述的装置,其特征在于,所述采样模块被具体配置为执行采用如下方式对所述目标亮度采样点进行下采样处理:
若确定所述编码单元和所述目标视频块属于相同的编码树单元,则对所述目标亮度采样点进行下采样处理;
若确定所述编码单元和所述目标视频块属于不同的编码树单元,则对所述目标亮度采样点中距离所述编码单元最近的亮度采样点进行下采样处理。
8.根据权利要求6所述的装置,其特征在于,所述采样模块被具体配置为执行采用如下方式对所述目标亮度采样点进行下采样处理:
直接对所述目标亮度采样点中距离所述编码单元最近的亮度采样点进行下采样处理。
9.一种电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,所述至少一个处理器能够执行如权利要求1-5中任一所述的方法。
10.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,所述电子设备能够执行如权利要求1-5中任一所述的方法。

说明书全文

一种确定编码单元的色度信息的方法和装置

[0001] 本申请要求在2019年01月03日提交美国知识产权局、申请号为62/788,124、发明名称为“Simplifications of cross-component linear model”的美国专利申请的优先权,其全部内容通过引用结合在本申请中。

技术领域

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

背景技术

[0003] 视频编解码通常是利用预测方法如间预测、帧内预测等去除视频帧或视频序列中存在的冗余。目前,视频编解码是根据一个或多个视频编码标准来执行的。例如,视频编解码标准包括多功能视频编解码(Versatile Video Coding,VVC)、联合勘探测试模型(JointExplorationModel,JEM)、高效率视频编解码(High-Efficiency Video Coding,HEVC)(H.265/HEVC)、高级视频编解码(Advanced Video Coding,AVC)(H.264/AVC)、运动图像专家组(Moving Picture Expert Group,MPEG)等。
[0004] 从概念上讲,上述视频编解码标准是类似的。比如,这些视频编解码标准都是基于进行处理的,并共享类似的视频编解码器框图来实现视频压缩,图1是根据一示例性实施例示出的一种用于上述视频编解码标准的典型编码器框图。
[0005] 在编码器中,先将视频帧分割成多个视频块,之后,对每个视频块,基于帧间预测或帧内预测形成视频块的预测值,其中,帧间预测是对先前重构帧的像素进行运动估计运动补偿来确定视频块的预测值;帧内预测是根据当前帧中的重构像素来确定视频块的预测值。一般视频块的预测值是多个,因此,还可通过模式决策选择最佳预测值来预测视频块。
[0006] 进一步地,将最佳预测值的预测残差信息(即当前块与其预测值之间的像素差信息)发送到变换模块,将变换系数发送到量化模块以用于熵编码,将量化系数发送到熵编码模块以生成压缩的视频比特流。如图1所示,来自帧间和/或帧内预测模块的预测相关信息(如块分割信息、运动矢量、参考图像索引和帧内预测模式等)也经过熵编码模块并保存到比特流中。
[0007] 为了使解码器能很好地重构视频块,编码器端也需要考虑解码器端相关模块在重构视频块时所需的信息,为此,编码器还可通过逆量化和逆变换重构视频块的预测残差,然后,将重构的预测残差和视频块的预测值组合以生成视频块未滤波的重构像素。
[0008] 为了提高编码效率和视频质量,通常使用环路滤波器。例如,去块滤波器可用于AVC、HEVC以及当前的VVC。在HEVC中定义了称为采样自适应偏移(Sample Adaptive Offset,SAO)的附加环路滤波器以进一步提高编码效率。而在最新的VVC中,被称为自适应环路滤波器(Adaptive Loop Filter,ALF)的环路滤波器正在积极研究中,它很有可能被纳入最终标准。
[0009] 具体实施时,环路滤波器是可选的,通常打开这些环路滤波器有助于提高编码效率和视频质量,但是,也可以根据编码器决策关闭环路滤波器以节省计算复杂度。应当注意的是,帧内预测通常基于未滤波的重构像素,而如果这些滤波器选项被编码器打开,则帧间预测基于滤波的重构像素。
[0010] 图2是根据一示例性实施例示出的一种用于上述视频编解码标准的典型解码器框图,可以看出,该解码器与驻留在编码器中的重构相关部分几乎相同。
[0011] 在解码器中,首先通过熵解码模块对接收到的比特流进行解码,以导出量化的系数级别和预测相关信息。然后,通过逆量化模块和逆变换模块处理量化的系数级别以获得重构的预测残差,通过基于解码的预测信息的帧内预测或运动补偿处理来形成预测值,通过对重构的预测残差和预测值求和来获得未滤波的重构像素。另外,在接通环路滤波器的情况下,对上述重构像素执行滤波操作以得到最终重构视频。
[0012] 实际应用中,YUV是一种常用的颜色编码方法,其中,YUV分别表示亮度、色度、饱和度这三种颜色分量,并且,YUV有多种颜色编码格式如YUV4:2:0、YUV4:2:2、YUV4:4:4等。
[0013] 在VCC开发期间,YUV4:2:0是常用的测试条件,采用该种颜色编码格式对视频的颜色进行编码时亮度采样点和色度采样点的采样网格如图3所示,其中,×表示亮度采样点,○表示色度采样点,○同时表示亮度采样点的下采样位置(即亮度参考点位置),由图3可知,亮度采样点和亮度参考点是一一对应的。
[0014] 目前,为了降低视频中不同颜色分量之间的冗余,VVC参考软件VTM-3.0中使用了分量间线性模型(Cross-component Linear Model,CCLM)预测模式。在该预测模式中,采用同一编码单元(Coding Unit,CU)的亮度来预测CU的色度,其采用的线性模型如下:
[0015] predC(i,j)=α·recL'(i,j)+β(1);
[0016] 其中,predC(i,j)表示CU中第i行第j列色度采样点的色度值;recL′(i,j)表示第i行第j列亮度参考点的亮度值,亮度参考点是对CU中的亮度采样点进行下采样处理后得到的,且与对CU中的色度采样点一一对应;α、β是待确定的参数,可通过使用直线方程的方法确定(在以下部分称为min-Max方法)。
[0017] 具体实施时,可从CU周边选择已重构的参考视频块,利用参考视频块来确定α、β。然而,当采用YUV4:2:0进行颜色编码时,色度采样点和亮度采样点的数目是不一样多的(参见图3),因此,需要对参考视频块中的亮度采样点进行下采样处理,得到与参考视频块中的色度采样点一一对应亮度参考点(也叫作重构亮度采样点)。
[0018] 参见图4,图4示出了一种参考视频块的示意图,左图和右图中各用粗实线示出了一个正方形,其中,左图中的正方形表示CU对应的色度块,左图中的灰色原点表示参考视频块中的色度采样点,右图中的正方形表示CU对应的亮度块,右图中的灰色原点表示对参考视频块中的亮度采样点(右图中正方形周边的每个小方格可看作一个亮度采样点)进行下采样处理后得到的亮度参考点,亮度参考点与参考视频块中的色度采样点一一对应。Rec'L[x,y]表示亮度块上侧和左侧相邻的亮度参考点集,Recc[x,y]表示色度块上侧和左侧相邻的色度采样点集。N的值等于当前色度块的宽度和高度的最小值的两倍。对于方形CU,可直接应用min-Max方法;对于非方形CU,可先对CU中较长边界上的相邻采样点集进行二次采样,以使其具有与较短边界相同数量的采样点。
[0019] 相关技术中,当参考视频块包含与CU的横向边界相邻的目标视频块(即图4中亮度块上侧的视频块)时,对目标视频块中距离CU中首行首列的亮度采样点最近的目标色度采样点,既考虑CU是否已位于视频帧的边界,又考虑CU是否与目标视频块属于不同的编码树单元(Coding Tree Unit,CTU),从而将对该目标色度采样点周围亮度采样点的下采样处理分为四种情况,这样,在确定相应亮度参考点的亮度值时,需要逐一判断目标色度采样点周围的亮度采样点符合哪种情况,进而再采用相应的采样方式对目标色度采样点周围的亮度采样点进行下采样处理,使CCLM预测模式变得比较复杂。

发明内容

[0020] 本公开提供一种确定编码单元的色度信息的方法和装置,以至少解决相关技术中存在的CCLM预测模式比较复杂的问题。本公开的技术方案如下:
[0021] 根据本公开实施例的第一方面,提供一种确定编码单元的色度信息的方法,包括:
[0022] 在视频帧中待处理的编码单元周边选取已完成重构的参考视频块,所述已完成重构的参考视频块至少包括一个目标视频块,所述目标视频块与所述编码单元的横向边界相邻;
[0023] 对所述参考视频块中的亮度采样点进行下采样处理,得到与所述参考视频块中的色度采样点对应的亮度参考点,其中,目标色度采样点是所述目标视频块中距离所述编码单元中首行首列的亮度采样点最近的色度采样点,目标亮度采样点是所述目标视频块中距离所述目标色度采样点最近的亮度采样点,所述目标色度采样点对应的亮度参考点通过对所述目标亮度采样点进行下采样处理得到;
[0024] 根据亮度值最大的亮度参考点和亮度值最小的亮度参考点、以及所述亮度值最大的亮度参考点和所述亮度值最小的亮度参考点各自对应的色度采样点的色度值,确定所述编码单元的色度与亮度之间的线性模型的参数;
[0025] 根据所述线性模型的参数和所述编码单元中亮度采样点的亮度值,确定所述编码单元中色度采样点的色度值。
[0026] 在一种可能的实施方式下,采用如下方式对所述目标亮度采样点进行下采样处理:
[0027] 若确定所述编码单元和所述目标视频块属于相同的编码树单元,则对所述目标亮度采样点进行下采样处理;
[0028] 若确定所述编码单元和所述目标视频块属于不同的编码树单元,则对所述目标亮度采样点中距离所述编码单元最近的亮度采样点进行下采样处理。
[0029] 在一种可能的实施方式下,采用如下方式对所述目标亮度采样点进行下采样处理:
[0030] 直接对所述目标亮度采样点中距离所述编码单元最近的亮度采样点进行下采样处理。
[0031] 在一种可能的实施方式下,对所述目标亮度采样点进行下采样处理,包括:
[0032] 计算所述目标亮度采样点中各亮度采样点的亮度平均值;
[0033] 根据所述亮度平均值,确定对应的亮度参考点的亮度值。
[0034] 在一种可能的实施方式下,对所述目标亮度采样点中距离所述编码单元最近的亮度采样点进行下采样处理,包括:
[0035] 取所述目标亮度采样点中距离所述编码单元最近的亮度采样点的亮度值作为对应的亮度参考点的亮度值。
[0036] 根据本公开实施例的第二方面,提供一种确定编码单元的色度信息的装置,包括:
[0037] 选取模块,被配置为执行在视频帧中待处理的编码单元周边选取已完成重构的参考视频块,所述已完成重构的参考视频块至少包括一个目标视频块,所述目标视频块与所述编码单元的横向边界相邻;
[0038] 采样模块,被配置为执行对所述参考视频块中的亮度采样点进行下采样处理,得到与所述参考视频块中的色度采样点对应的亮度参考点,其中,目标色度采样点是所述目标视频块中距离所述编码单元中首行首列的亮度采样点最近的色度采样点,目标亮度采样点是所述目标视频块中距离所述目标色度采样点最近的亮度采样点,所述目标色度采样点对应的亮度参考点通过对所述目标亮度采样点进行下采样处理得到;
[0039] 参数确定模块,被配置为执行根据亮度值最大的亮度参考点和亮度值最小的亮度参考点、以及所述亮度值最大的亮度参考点和所述亮度值最小的亮度参考点各自对应的色度采样点的色度值,确定所述编码单元的色度与亮度之间的线性模型的参数;
[0040] 色度确定模块,被配置为执行根据所述线性模型的参数和所述编码单元中亮度采样点的亮度值,确定所述编码单元中色度采样点的色度值。
[0041] 在一种可能的实施方式下,所述采样模块被具体配置为执行采用如下方式对所述目标亮度采样点进行下采样处理:
[0042] 若确定所述编码单元和所述目标视频块属于相同的编码树单元,则对所述目标亮度采样点进行下采样处理;
[0043] 若确定所述编码单元和所述目标视频块属于不同的编码树单元,则对所述目标亮度采样点中距离所述编码单元最近的亮度采样点进行下采样处理。
[0044] 在一种可能的实施方式下,所述采样模块被具体配置为执行采用如下方式对所述目标亮度采样点进行下采样处理:
[0045] 直接对所述目标亮度采样点中距离所述编码单元最近的亮度采样点进行下采样处理。
[0046] 在一种可能的实施方式下,所述采样模块被具体配置为执行:
[0047] 计算所述目标亮度采样点中各亮度采样点的亮度平均值;
[0048] 根据所述亮度平均值,确定对应的亮度参考点的亮度值。
[0049] 在一种可能的实施方式下,所述采样模块被具体配置为执行:
[0050] 取所述目标亮度采样点中距离所述编码单元最近的亮度采样点的亮度值作为对应的亮度参考点的亮度值。
[0051] 根据本公开实施例的第三方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
[0052] 所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一确定编码单元的色度信息的方法。
[0053] 根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,所述电子设备能够执行上述任一确定编码单元的色度信息的方法。
[0054] 根据本公开实施例的第五方面,提供一种计算机程序产品,该程序产品在被计算机调用执行时,可以使得计算机执行上述任一确定编码单元的色度信息的方法。
[0055] 本公开的实施例提供的技术方案至少带来以下有益效果:
[0056] 在视频帧中待处理的编码单元周边选取已完成重构的参考视频块,其中,已完成重构的参考视频块至少包括一个与编码单元的横向边界相邻的目标视频块,然后,对参考视频块中的亮度采样点进行下采样处理,得到与参考视频块中的色度采样点对应的亮度参考点,根据亮度值最大的亮度参考点和亮度值最小的亮度参考点、以及亮度值最大的亮度参考点和亮度值最小的亮度参考点各自对应的色度采样点的色度值,确定编码单元的色度与亮度之间的线性模型的参数,进而根据该参数和编码单元中亮度采样点的亮度值,确定编码单元中色度采样点的色度值,其中,目标色度采样点是目标视频块中距离编码单元中首行首列的亮度采样点最近的色度采样点,目标亮度采样点是目标视频块中距离目标色度采样点最近的亮度采样点,目标色度采样点对应的亮度参考点通过对目标亮度采样点进行下采样处理得到,这样,在确定目标色度采样点对应的亮度参考点时,不必考虑编码单元是否位于视频帧的左边界,对目标色度采样点周围亮度采样点的下采样处理更简单,因此,可简化CCLM预测模式。
[0057] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明
[0058] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
[0059] 图1是根据一示例性实施例示出的一种典型编码器框图;
[0060] 图2是根据一示例性实施例示出的一种典型解码器框图;
[0061] 图3是根据一示例性实施例示出的一种视频帧中亮度采样点和色度采样点的采样位置的示意图;
[0062] 图4是根据一示例性实施例示出的一种参考视频块的示意图;
[0063] 图5是根据一示例性实施例示出的又一种参考视频块的示意图;
[0064] 图6是根据一示例性实施例示出的再一种参考视频块的示意图;
[0065] 图7是根据一示例性实施例示出的再一种参考视频块的示意图;
[0066] 图8是根据一示例性实施例示出的一种同一CU的色度和亮度之间的线性关系的示意图;
[0067] 图9是根据一示例性实施例示出的再一种参考视频块的示意图;
[0068] 图10是根据一示例性实施例示出的再一种参考视频块的示意图;
[0069] 图11是根据一示例性实施例示出的再一种参考视频块的示意图;
[0070] 图12是根据一示例性实施例示出的一种多分量线性模型的示意图;
[0071] 图13是根据一示例性实施例示出的一种利用单列相邻亮度采样进行LM预测的示意图;
[0072] 图14是根据一示例性实施例示出的一种基于分类的CCLM系数推导的示意图;
[0073] 图15是根据一示例性实施例示出的一种索引序号的编号方式示意图;
[0074] 图16是根据一示例性实施例示出的又一种索引序号的编号方式示意图;
[0075] 图17是根据一示例性实施例示出的再一种索引序号的编号方式示意图;
[0076] 图18是根据一示例性实施例示出的再一种索引序号的编号方式示意图;
[0077] 图19是根据一示例性实施例示出的再一种索引序号的编号方式示意图;
[0078] 图20是根据一示例性实施例示出的一种确定编码单元的色度信息的方法的流程图
[0079] 图21是根据一示例性实施例示出的一种对亮度采样点进行下采样处理的示意图;
[0080] 图22是根据一示例性实施例示出的一种确定编码单元的色度信息的装置的框图;
[0081] 图23是根据一示例性实施例示出的一种用于实现确定编码单元的色度信息的方法的电子设备的结构示意图。

具体实施方式

[0082] 为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
[0083] 需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0084] 参见图5,图5对图4中亮度块中的亮度采样点进行了编号,其中,每个小方格可代表一个亮度采样点,亮度块中首行首列的亮度采样点为坐标原点,其坐标为pY[0][0],pTopDsY[x]表示亮度块上侧的亮度参考点,如pTopDsY[0]表示亮度块上侧的第一个亮度参考点(即目标色度采样点对应的亮度参考点)、pTopDsY[1]表示亮度块上侧的第二个亮度参考点,pLeftDsY[y]表示亮度块左侧的亮度参考点,如pLeftDsY[0]表示亮度块左侧的第一个亮度参考点、pLeftDsY[1]表示亮度块左侧的第二个亮度参考点。pTopDsY[x]和pLeftDsY[y]中的每个亮度参考点的亮度值可根据其周围亮度采样点的亮度值确定。
[0085] 假设numSampL和numSampT分别表示图5中亮度块左侧和上侧的亮度参考点的数量。相关技术中,在采用CCLM预测模式时,当上侧的亮度采样点位于上面的CTU时,将bCTUboundary设置为真,否则,将bCTUboundary设置为假;当左上的亮度采样点可用(即CU不位于视频帧的边界)时,将availTL设置为真,否则,将availTL设置为假。
[0086] 具体实施时,对左侧的亮度参考点pLeftDsY[y],可根据pLeftDsY[y]周围2行3列的亮度采样点确定pLeftDsY[y]的亮度值。
[0087] 比如,采用以下公式确定pLeftDsY[y]的亮度值:
[0088] pLeftDsY[y]=(pY[-1][2*y]+pY[-1][2*y+1]+2*pY[-2][2*y]+2*pY[-2][2*y+1]+pY[-3][2*y]+pY[-3][2*y+1]+4)>>3;
[0089] 其中,y=0,…,numSampL-1。
[0090] 对上侧的亮度参考点pTopDsY[x],x=1,…,numSampT-1和x=0时的情况不同,具体说明如下。
[0091] 当x=1,…,numSampT-1时,分为以下两种情况:
[0092] 如果bCTUboundary为假,则采用以下公式确定pTopDsY[x]的亮度值:
[0093] pTopDsY[x]=(pY[2*x-1][-2]+pY[2*x-1][-1]+2*pY[2*x][-2]+2*pY[2*x][-1]+pY[2*x+1][-2]+pY[2*x+1][-1]+4)>>3;
[0094] 如果bCTUboundary为真,则采用以下公式确定pTopDsY[x]的亮度值:
[0095] pTopDsY[x]=(pY[2*x-1][-1]+2*pY[2*x][-1]+pY[2*x+1][-1]+2)>>2;
[0096] 当x=0时,分为以下四种情况:
[0097] 如果availTL为真、且bCTUbounday为假,则采用以下公式确定pTopDsY[0]的亮度值:
[0098] pTopDsY[0]=(pY[-1][-2]+pY[-1][-1]+2*pY[0][-2]+2*pY[0][-1]+pY[1][-2]+pY[1][-1]+4)>>3;
[0099] 如果availTL为真、且bCTUbounday为真,则采用以下公式确定pTopDsY[0]的亮度值:
[0100] pTopDsY[0]=(pY[-1][-1]+2*pY[0][-1]+pY[1][-1]+2)>>2;
[0101] 如果availTL为假、且bCTUbounday为假,则采用以下公式确定pTopDsY[0]的亮度值:
[0102] pTopDsY[0]=(pY[0][-2]+pY[0][-1]+1)>>1;
[0103] 如果availTL为假、且bCTUbounday为真,则采用以下公式确定pTopDsY[0]的亮度值:
[0104] pTopDsY[0]=pY[0][-1]。
[0105] 上述方案,在采用CCLM预测模式时,对pTopDsY[0],既考虑CU是否位于视频帧的边界,又考虑CU是否与目标视频块属于不同的CTU,这样,会使CCLM预测模式变得复杂。
[0106] 相关技术中,在获得亮度参考点时,对亮度块上方2行和左侧3列相邻的亮度采样点进行下采样处理,这样,会增加行缓存,也会增加模型系数推导的复杂度,如图6所示。
[0107] 为了解决这些问题,相关技术中提出仅需要亮度块上方1行和左侧1列相邻的亮度采样点,这意味着,只有第一个上侧行和第二个左侧列将用于下采样以获得亮度参考点,如图7所示。该方案减少了进行下采样处理时使用的亮度采样点的数量,色度预测的准确率较低,因此,最终的视频压缩率并不好,并且,对亮度块上方最左端的亮度参考点(即目标色度采样点对应的亮度参考点)而言,在确定该亮度参考点时仍然需要考虑其左侧的亮度采样点是否可得(即CU是否位于视频帧的左边界),CCLM预测模式依然比较复杂。
[0108] 为了简化CCLM预测模式,本公开实施例提出去除现有方案中的一些条件来确定亮度参考点,特别是简化对pTopDsY[0]的推导。
[0109] 继续参见图5,本公开实施例中,当x=1,…,numSampT-1时,考虑参考视频块中位于亮度块左侧的视频块与CU是否属于同一CTU这一条件,确定pTopDsY[x]的亮度值。
[0110] 若确定参考视频块中位于亮度块左侧的视频块与CU不属于同一CTU,则说明bCTUboundary为假,此时,可根据pTopDsY[x]周围6个亮度采样点的亮度值确定pTopDsY[x]的亮度值。
[0111] 比如,采用以下公式确定pTopDsY[x]的亮度值:
[0112] pTopDsY[x]=(pY[2*x-1][-2]+pY[2*x-1][-1]+2*pY[2*x][-2]+2*pY[2*x][-1]+pY[2*x+1][-2]+pY[2*x+1][-1]+4)>>3;
[0113] 若确定参考视频块中位于亮度块左侧的视频块与CU属于同一CTU,则说明bCTUboundary为真,此时,可根据pTopDsY[x]周围3个亮度采样点的亮度值确定pTopDsY[x]的亮度值。
[0114] 比如,采用以下公式确定pTopDsY[x]的亮度值:
[0115] pTopDsY[x]=(pY[2*x-1][-1]+2*pY[2*x][-1]+pY[2*x+1][-1]+2)>>2;
[0116] 当x=0时,一种方案,可不考虑CU是否位于视频帧的左边界,仅根据CU是否和目标视频块属于同一CTU这一条件,确定pTopDsY[0]的亮度值。
[0117] 若确定CU和目标视频块属于相同的CTU,则说明bCTUboundary为假,可根据距离pTopDsY[0]最近的亮度采样点(参见图3中虚线框中第2列的2个×,对应于图5中的pY[0][-2]和pY[0][-1])的亮度值,确定pTopDsY[0]的亮度值。
[0118] 比如,采用以下公式确定pTopDsY[0]的亮度值:
[0119] pTopDsY[0]=(pY[0][-2]+pY[0][-1]+1)>>1;
[0120] 若确定CU和目标视频块不属于相同的CTU,则说明bCTUboundary为真,可根据距离pTopDsY[0]最近的亮度采样点(参见图3中虚线框中第2排中间的×,对应于图5中的pY[0][-1])的亮度值,确定pTopDsY[0]的亮度值。
[0121] 比如,采用以下公式确定pTopDsY[0]的亮度值:
[0122] pTopDsY[0]=pY[0][-1]。
[0123] 当x=0时,另一种方案,可既不考虑CU是否位于视频帧的左边界,也不考虑目标视频块是否和CU属于同一CTU,而直接根据距离pTopDsY[0]最近的亮度采样点中、距离CU最近的亮度采样点(参见图3中虚线框中第2排中间的×,对应于图5中的pY[0][-1]))的亮度值,确定pTopDsY[0]的亮度值。
[0124] 比如,可直接采用以下公式确定pTopDsY[0]的亮度值:
[0125] pTopDsY[0]=pY[0][-1]。
[0126] 无论采用上述哪一种方案,在确定pTopDsY[0]的亮度值时,相比于现有技术的做法都简化了需要考虑的条件,因此,可简化CCLM预测模式。
[0127] 参见图8,图8是相同CU的色度和亮度之间的线性关系的示意图,其中,A点的亮度值最小,B点的亮度值最大,确定这两个点的色度之后,即可根据如下公式确定α、β:
[0128]
[0129] 其中,xA表示A点的亮度值,yA表示A点的色度值,xB表示B点的亮度值,yB表示B点的色度值。
[0130] 具体实施时,在对参考视频帧中的亮度采样点进行下采样处理,得到各亮度参考点(即重构亮度采样点)的亮度值后,可从各亮度参考点中筛选出亮度值最大的亮度参考点和亮度值最小的亮度参考点,进而根据亮度值最大的亮度参考点和其对应的色度采样点(即图8中的B点),亮度值最小的亮度参考点和其对应的色度采样点(即图8中的A点),确定CU的色度与亮度之间线性模型的参数(即上述α、β)。
[0131] 进一步地,可对CU中的亮度采样点进行下采样处理,得到与CU中的色度采样点对应的亮度参考点,然后,根据以下公式确定CU中每个色度采样点的色度值:
[0132] predC(i,j)=α·recL'(i,j)+β(1);
[0133] 其中,predC(i,j)表示CU中第i行第j列色度采样点的色度值;recL′(i,j)表示对CU中的亮度采样点进行下采样处理后得到的第i行第j列的亮度参考点的亮度值。
[0134] 实际应用中,min-Max方法计算作为解码过程的一部分执行的,而不仅仅是编码器搜索操作,因此,没有用于将α和β传送给解码器的语法。目前,可采用(3)-(19)任一等式对亮度采样点进行下采样处理得到亮度参考点。
[0135] Rec′L(x,y)=(RecL(2x,2y)*2+RecL(2x+1,2y)+RecL(2x-1,2y)+RecL(2x,2y+1)*2+RecL(2x+1,2y+1)+RecL(2x-1,2y+1)+4)>>3(3);
[0136] Rec′L(x,y)=(RecL(2x,2y)+RecL(2x,2y+1)+RecL(2x+1,2y)+RecL(2x+1,2y+1)+2)>>2(4);
[0137] Rec′L(x,y)=RecL(2x,2y)(5);
[0138] Rec′L(x,y)=RecL(2x+1,2y)(6);
[0139] Rec′L(x,y)=RecL(2x-1,2y)(7);
[0140] Rec′L(x,y)=RecL(2x-1,2y+1)(8);
[0141] Rec′L(x,y)=RecL(2x,2y+1)(9);
[0142] Rec′L(x,y)=RecL(2x+1,2y+1)(10);
[0143] Rec′L(x,y)=(RecL(2x,2y)+RecL(2x,2y+1)+1)>>1(11);
[0144] Rec′L(x,y)=(RecL(2x,2y)+RecL(2x+1,2y)+1)>>1(12);
[0145] Rec′L(x,y)=(RecL(2x+1,2y)+RecL(2x+1,2y+1)+1)>>1(13);
[0146] Rec′L(x,y)=(RecL(2x,2y+1)+RecL(2x+1,2y+1)+1)>>1(14);
[0147] Rec′L(x,y)=(2×RecL(2x,2y+1)+RecL(2x-1,2y+1)+RecL(2x+1,2y+1)+2)>>2(15);
[0148] Rec′L(x,y)=(RecL(2x+1,2y)+RecL(2x+1,2y+1)+1)>>1(16);
[0149] Rec′L(x,y)=(RecL(2x-1,2y)+3·RecL(2x,2y)+3·RecL(2x+1,2y)+RecL(2x+2,2y)+RecL(2x-1,2y+1)+3·RecL(2x,2y+1)+3·RecL(2x+1,2y+1)+RecL(2x+2,2y+1)+8)>>
4(17);
[0150] Rec′L(x,y)=(RecL(2x-1,2y-1)+2·RecL(2x,2y-1)+RecL(2x+1,2y-1)+2·RecL(2x-1,2y)+4·RecL(2x,2y)+2·RecL(2x+1,2y)+RecL(2x-1,2y+1)+2·RecL(2x,2y+1)+RecL(2x+1,2y+1)+8)>>4(18);
[0151] Rec′L(x,y)=(RecL(2x,2y-1)+RecL(2x+1,2y-1)+2·RecL(2x,2y)+2·RecL(2x+1,2y)+RecL(2x,2y+1)+RecL(2x+1,2y+1)+4)>>3(19)。
[0152] 下面对本公开实施例中选择参考视频块的过程进行介绍。
[0153] 一种可能的情况,可选择亮度块上侧紧邻的2行亮度采样点和左侧紧邻的3列亮度采样点,如图5所示(图5中仅示出了左侧紧邻的2列亮度采样点,有一列未示出),此时,这2行亮度采样点的列数可与CU中亮度采样点的列数相同,这3列亮度采样点的行数可与CU中亮度采样点的行数相同。
[0154] 具体实施时,除了使用上侧采样集和左侧采样集一起计算参数α、β,还可使用LM_A模式和LM_L模式计算参数α、β,其中:
[0155] 在LM_A模式中,仅使用上侧采样集计算参数α、β,并且,为了获得更多的亮度采样点,可将上侧采样集扩展为(W+H),如图9所示,其中,W为CU的宽度,H为CU的高度。
[0156] 在LM_L模式中,仅使用左侧采样集计算参数α、β,并且,为了获得更多的亮度采样点,将左侧采样集扩展为(H+W),如图10所示。
[0157] 需要说明的是,对于非方形视频块,可将上侧采样集扩展为W+W,将左侧采样集扩展为H+H。
[0158] 具体实施时,若上侧/左侧采样集不可用,则可不检查或不发信号通知LM_A模式和LM_L模式;若上侧/左侧采样集可用、但亮度采样点不够,则可通过将最右侧的采样点(对于上侧采样集)或最下侧的采样点(对于左侧采样集)复制到相应位置进行填充,以达到需要的采样点数量。
[0159] 本公开实施例中的CCLM预测模式还可有多种扩展情况,下面对这些扩展情况进行介绍。
[0160] 一种情况,扩展LM模式。
[0161] 多模型LM模式(Multi-Model LM Mode,MMLM),使用两个线性模型来确定CU的色度。在该模式中,将亮度参考点分为两类:每个类别对应一个线性模型,分别在每个模型中确定亮度参考点的亮度值、确定α和β。
[0162] 多滤波器LM模式(Multi-filter LMMode,MFLM),是指在预测模型中用不同的滤波器对亮度采样点进行下采样处理,例如,使用四个滤波器,并在比特流中指示所使用的滤波器或直接发信号通知所使用的滤波器。
[0163] LM-角度预测模式,是MMLM和非LM模式的结合,其对这两种模式确定的色度预测值进行平均。
[0164] 另一种情况,使用多个相邻的线性模型(Multiple neighbor-based linear model,MNLM)。
[0165] 该方案在MMLM推导中使用多个相邻集以覆盖CU的色度和亮度之间的各种线性关系,如图11所示,在MNLM中提出了三个具有不同相邻集的MMLM,其中,A、B、C、D、E、F、G、H分别表示CU周边不同的已重构视频块。
[0166] MMLM:A、B、C、D(包括上侧相邻集和左侧相邻集);
[0167] 上侧-MMLM:C、D、F、H(仅包括上侧的相邻集);
[0168] 左侧-MMLM:(仅包括左侧的相邻集);
[0169] MNLM中的CCLM预测模式在下表1中列出:
[0170] 表1
[0171]
[0172]
[0173] 其中,模式0、模式1、模式2和模式3使用相同的下采样滤波器,但LM和MMLM推导使用不同的相邻集。
[0174] 另一种情况,使用自适应的多分量线性模型。
[0175] 在该方案中,生成单个或多个用于线性模型预测的组。首先,根据亮度值和色度值将来自CU上侧或左侧相邻视频块的采样点进行分组,分组方法是对相邻采样点进行扫描,并根据标准一和标准一确定其是否可以加入现有组,如果相邻采样点不能满足任何现有组的标准,则为其创建新组,这样,可将所有相邻采样点将分成多个组,如图12所示。
[0176] 标准一:Ygroup_min–Ymargin
[0177] 标准二:Cgroup_min–Cmargin
[0178] 其中,Yp和Cp分别表示相邻采样点的亮度值和色度值,Ygroup_max和Cgroup_max分别表示组内的最大亮度值和最大色度值,Ygroup_min和Cgroup_min最大表示组内的最小亮度值和最小色度值,Ymargin和Cmargin分别表示亮度组和色度组的边距。
[0179] 之后,通过最小化CCLM中定义的等式的回归误差确定每个组中LM的参数αg和βg。当预测任一色度采样点的色度值时,根据平均亮度值确定最近的组,选用最近组中LM的参数αg和βg计算该色度采样点的色度值,采用的公式如下:
[0180] PredC(x,y)=αg·Rec′L(x,y)+βg。
[0181] 另一种情况,利用单列相邻亮度采样进行CCLM预测。
[0182] 为了将训练过程所需的相邻亮度采样限制在单列上,应用具有较少抽头的下采样滤波器,如图13(a)所示。
[0183] 对上侧相邻亮度采样集使用公式(15);
[0184] 对左侧相邻亮度采样集使用公式(16);
[0185] 块内的亮度采样仍然使用六抽头滤波器进行下采样。
[0186] 相关技术中提供了两种解决方案,使用不同的相邻亮度采样集。假设CU的宽度和高度分别为W和H。在解决方案#1中,上相邻采样W和左相邻采样H参与图13(a)中的训练过程。在解决方案#2中,上相邻采样2W和左相邻采的2H参与图13(b)中的训练过程。应当注意,解决方案#2中的扩展相邻采样已经被广角帧内预测使用。
[0187] 进一步地,相关技术还提出了解决方案#1A、解决方案#2A,解决方案#1A、解决方案#2A分别应用解决方案#1、解决方案#2的相同方法,但仅适用于上述相邻的采样。在解决方案#1A和#2A中,如VTM-2.0中那样对左相邻采样进行下采样,即通过6抽头滤波器对H左相邻亮度采样进行下采样。
[0188] 另一种情况,基于分类的CCLM系数推导平均值。
[0189] 如图14所示,Lmean为亮度采样集的平均值。通过Lmean将亮度采样集分成两个亮度等级,确定两个亮度等级LLmean和LRmean的平均值。相应地,确定CLmean和CRmean,根据以下公式确定CCLM中的参数:
[0190]
[0191] β=CLmean-α*LLmean。
[0192] 下面对本公开实施例中min-Max方法的采样检查顺序进行介绍。
[0193] 具体实施时,当对每个色度块搜索相应的最小、最大亮度值时,根据预定义的检查顺序来检查K个采样点,其中,K可以隐含地确定或明确地发信号通知。此外,K可以随色度块的大小变化而变化。
[0194] 检查顺序#1:如图15和图16所示,检查顺序按照索引编号进行升序排列。从概念上讲,检查顺序是将从右上角或左下角的交错地朝向左上角检查采样。需要注意的是,当色度块的宽度不等于色度块的高度时,在检查短边中的所有采样之后,仅根据以升序排列的索引编号来检查长边中的采样点。
[0195] 检查顺序#2:如图17所示,LM_A和LM_L模式的检查循序按照索引编号进行升序排列。从概念上讲,检查顺序是将从右上角或左下角朝向检左上角检查采样。
[0196] 检查顺序#3:如图18所示,检查顺序按照索引编号进行升序排列。从概念上讲,检查顺序是从两侧末端朝向两侧中心检查采样。需要注意的是,当色度块的宽度不等于色度块的高度时,在检查短边中的所有采样之后,仅根据以升序排列的索引编号来检查长边中的采样点。
[0197] 检查顺序#4:如图19所示,LM_A和LM_L模式的检查循序按照索引编号进行升序排列。从概念上讲,检查顺序是从两侧末端朝向两侧中心检查采样。
[0198] 需要说明的是,此处列出的检查顺序仅为举例,并不构成对本公开实施例中检查顺序的限定。此外,可以仅检查采样集的子采样集。值得一提的是,可以使用任何类型的滤波器(例如,等式(4)-等式(9))对亮度采样点进行下采样处理。
[0199] 下面对本公开实施例中选择采样点以搜索最小值和最大值的过程进行介绍。
[0200] 具体实施时,使用诸如等式(5)至(10)的未滤波方法生成最小和最大亮度值,而不是检查最小和最大滤波亮度值,在确定具有最小值和最大值的亮度采样点之后,使用诸如等式(3)至(19)的滤波方法为相关联的亮度采样点重新生成最小和最大亮度值。需要注意的是,当前块的上采样和左采样应当使用不同的滤波器,位于当前块左上角的采样点可以使用与上采样集或左采样集相同的滤波器或者使用另一滤波器。在确定重新生成的最小和最大亮度值之后,可利用等式(2)确定参数α和β。
[0201] 需要说明的是,当使用等式(1)生成最终的LM预测因子时,采样仍然可以使用传统的滤波器(如等式(4))。
[0202] 在一个特定示例中,修改min-Max方法以检查使用未滤波方法(等式(5))生成的最小和最大亮度值,在确定具有最小和最大值的亮度采样之后,使用滤波方法(等式(3))为相关联的亮度采样重新生成最小和最大亮度值。
[0203] 在一个特定示例中,修改min-Max方法以检查使用未滤波方法(等式(9))生成的最小和最大亮度值,在确定具有最小和最大值的亮度采样之后,使用滤波方法(等式(3))为相关联的亮度采样重新生成最小和最大亮度值。
[0204] 在另一特定示例中,修改min-Max方法以检查使用未滤波方法(等式(5))生成的最小和最大亮度值。在确定具有最小和最大值的亮度采样之后,使用滤波方法(等式(15))为相关联的亮度采样重新生成最小和最大亮度值。
[0205] 在另一特定示例中,修改min-Max方法以检查使用未滤波方法(等式(5))生成的最小和最大亮度值。在确定具有最小和最大值的亮度采样之后,使用滤波方法(等式(16))为相关联的亮度采样重新生成最小和最大亮度值。
[0206] 在另一特定示例中,修改min-Max方法以检查使用未滤波方法(等式(5))生成的最小和最大亮度值,在确定具有最小和最大值的亮度采样之后,使用如下条件滤波为相关联的亮度采样重新生成最小和最大亮度值。
[0207] 对上侧的相邻亮度采样点使用等式(15);
[0208] 对左侧的相邻亮度采样点使用等式(16)。
[0209] 在另一特定示例中,修改min-Max方法以检查使用如下条件未滤波方法生成的最小和最大亮度值。
[0210] 对上侧的相邻亮度采样使用等式(9);
[0211] 对左侧的相邻亮度采样使用等式(6);
[0212] 在确定具有最小和最大值的亮度采样之后,使用如下条件滤波为相关联的亮度采样重新生成最小和最大亮度值。
[0213] 对上侧的相邻亮度采样使用等式(15);
[0214] 对左侧的相邻亮度采样使用等式(16)。
[0215] 在另一特定示例中,修改min-Max方法以检查使用如下条件未滤波方法生成的最小和最大亮度值。
[0216] 对上侧的相邻亮度采样使用等式(9);
[0217] 对左侧的相邻亮度采样使用等式(10);
[0218] 在确定具有最小和最大值的亮度采样之后,使用如下条件滤波为相关联的亮度采样重新生成最小和最大亮度值。
[0219] 对上侧的相邻亮度采样使用等式(15);
[0220] 对左侧的相邻亮度采样使用等式(16)。
[0221] 在另一特定示例中,修改min-Max方法以检查使用未滤波方法(等式(9))生成的最小和最大亮度值。在确定具有最小和最大值的亮度采样之后,使用如下条件滤波为相关联的亮度采样重新生成最小和最大亮度值。
[0222] 对上侧的相邻亮度采样使用等式(15);
[0223] 对左侧的相邻亮度采样使用等式(11)。
[0224] 在另一特定示例中,修改min-Max方法以检查使用如下条件未滤波方法生成的最小和最大亮度值。
[0225] 对上侧的相邻亮度采样使用等式(9);
[0226] 对左侧的相邻亮度采样使用等式(5);
[0227] 在确定具有最小和最大值的亮度采样之后,使用如下条件滤波为相关联的亮度采样重新生成最小和最大亮度值。
[0228] 对上侧的相邻亮度采样使用等式(15);
[0229] 对左侧的相邻亮度采样使用等式(11)。
[0230] 在一种可能的实施方式中,存在多个具有相同亮度值的亮度采样点,此时,可对相关的色度值进行加权平均,并使用加权平均值作为最终的最小和最大亮度值以确定α和β。
[0231] 在另一种可能的实施方式中,存在多个具有相似亮度值的亮度采样点(这些亮度采样点的亮度值均位于预定范围内),此时,可以对亮度值和相关的色度值进行加权平均,并使用加权平均值作为最终的最小和最大亮度和色度值以确定α和β。
[0232] 图20是根据一示例性实施例示出的一种确定编码单元的色度信息的方法的流程图,该方法即可以在编码端执行也可以在解码端执行,该方法的流程图包括以下步骤。
[0233] S2001:在视频帧中待处理的CU周边选取已完成重构的参考视频块,其中,已完成重构的参考视频块至少包括一个与CU的横向边界相邻的目标视频块。
[0234] 其中,视频帧的颜色采样格式为YUV4:2:0,已完成重构的视频块是指视频帧中已完成亮度预测和色度预测的视频块。
[0235] 具体实施时,CU周边已完成重构的视频块一般位于CU的上侧和左侧,因此,参考视频帧可从CU的左侧和/或上侧选取,而参考视频帧中的目标视频块与CU的横向边界相邻,所以目标视频块是从CU上侧选取的。
[0236] 在一种可能的实施方式下,从CU左侧和上侧选取已完成重构的参考视频块,此时,参考视频块中位于CU左侧的视频块包含的亮度采样点的行数可等于CU包含的亮度采样点的行数,该视频块包含的亮度采样点的列数可等于3M行,M为正整数;参考视频块中位于CU上侧的视频块(即目标视频块)包含的亮度采样点的列数可等于CU包含的亮度采样点的列数,目标视频块包含的亮度采样点的行数可等于2M行,参见图4。
[0237] 在另一种可能的实施方式下,仅从CU上侧选取已完成重构的参考视频块,此时,参考视频块中位于CU上侧的视频块(即目标视频块)包含的亮度采样点的列数可等于CU中包含的亮度采样点的列数两倍,目标视频块包含的亮度采样点的行数可等于2M行,参见图9。
[0238] S2002:对参考视频块中的亮度采样点进行下采样处理,得到与参考视频块中的色度采样点对应的亮度参考点,其中,目标色度采样点是目标视频块中距离CU中首行首列的亮度采样点最近的色度采样点,目标亮度采样点是目标视频块中距离目标色度采样点最近的亮度采样点,目标色度采样点对应的亮度参考点通过对目标亮度采样点进行下采样处理得到。
[0239] 参见图3,由于视频帧的颜色采样格式为YUV4:2:0,亮度分量的采样频率大于色度分量的采样频率,所以在参考视频块中,亮度采样点的个数会多于色度采样点的个数,为了利用参考视频块确定CU的色度和亮度之间的线性关系,可对参考视频块中的亮度采样点进行下采样处理,得到与参考视频块中的色度采样点一一对应的亮度参考点(即重构亮度采样点)。
[0240] 并且,在YUV4:2:0中,目标视频块中距离任一色度采样点最近的亮度采样点一般为2个,参见图3,在虚线框中,距离中间位置的色度采样点最近的为中间列的2个亮度采样点,也就是说,在本公开实施例中,目标亮度采样点有2个。
[0241] 在一种可能的实施方式下,在确定目标色度采样点对应的亮度参考点时,可以不考虑CU是否位于视频帧的左边界,而仅考虑CU和目标视频块是否属于相同的CTU这一个条件,来对目标色度采样点周围的亮度采样点进行下采样处理。
[0242] 具体实施时,若确定CU和目标视频块属于相同的CTU,则可对目标亮度采样点进行下采样处理。
[0243] 具体地,可计算目标亮度采样点中各亮度采样点的亮度平均值,进而根据亮度平均值,确定对应的亮度参考点的亮度值。
[0244] 比如,直接将亮度平均值,确定对应的亮度参考点的亮度值,再比如,将亮度平均值取整后的值作为对应的亮度参考点的亮度值。
[0245] 具体实施时,若确定CU和目标视频块属于不同的CTU,则可对目标亮度采样点中距离CU最近的亮度采样点进行下采样处理。
[0246] 比如,取目标亮度采样点中距离CU最近的亮度采样点的亮度值作为对应的亮度参考点的亮度值。
[0247] 在另一种可能的实施方式下,在确定目标色度采样点对应的亮度参考点时,可以不考虑CU是否位于视频帧的左边界,也不考虑CU和目标视频块是否属于相同的CTU,而直接对目标亮度采样点中距离CU最近的亮度采样点进行下采样处理。
[0248] 比如,取目标亮度采样点中距离CU最近的亮度采样点的亮度值作为对应的亮度参考点的亮度值。
[0249] 具体实施时,对目标视频块中除目标色度采样点之外的每个色度采样点,可考虑CU和目标视频块是否属于相同的CTU这一条件,来确定相应的亮度参考点。以考虑该色度采样点周围2行3列的亮度采样点为例,此时,如果CU和目标视频块属于相同的CTU,则可对这2行3列的亮度采样点进行下采样处理,得到相应亮度参考点;如果CU和目标视频块属于不同的CTU,则可对这2行3列的亮度采样点中靠近CU的1行3列的亮度采样点进行下采样处理,得到相应亮度参考点。
[0250] 并且,若确定参考视频块中还包括除目标视频块之外的视频块,对这些视频块中的色度采样点也可按照该种方式确定相应的亮度参考点,在此不再赘述。
[0251] 下面结合具体的实施例对上述过程进行介绍。
[0252] 参见图21,假设仅从CU上侧选取已完成重构的参考视频块,此时,参考视频块即为目标视频块,并假设对目标视频块中的每个色度采样点,在确定该色度采样点对应的亮度参考点时,考虑该色度采样点周围2排3列的亮度采样点,其中,第1排3个亮度采样点的编号从左到右依次为1、2、3,第2排3个亮度采样点的编号从左到右依次为4、5、6。
[0253] 具体实施时,对目标视频块中不是目标色度采样点的每个色度采样点,仅考虑CU是否与目标视频块属于同一CTU这一个条件,来对该色度采样点周围的亮度采样点进行下采样处理。
[0254] 比如,当CU与目标视频块属于同一CTU时,对1-6位置上的亮度采样点进行下采样处理,得到该色度采样点对应的亮度参考点的亮度值;而当CU与目标视频块属于不同CTU时,对根据4-6位置上的亮度采样点进行下采样处理,得到该色度采样点对应的亮度参考点的亮度值。
[0255] 在一种可能的实施方式下,对目标视频块中的目标色度采样点,可以不考虑CU是否为视频帧的左边界,而仅考虑CU是否与目标视频块属于同一CTU这一个条件,来对目标色度采样点周围的亮度采样点进行下采样处理。
[0256] 具体实施时,当CU与目标视频块属于同一CTU时,可将2、5位置的亮度采样点的亮度平均值确定为该目标色度采样点对应的亮度参考点的亮度;当CU与目标视频块属于不同CTU时,可将5位置的亮度采样点的亮度确定为该目标色度采样点对应的亮度参考点的亮度。
[0257] 在一种可能的实施方式下,对目标视频块中的目标色度采样点,可以不考虑CU是否为视频帧的边界,也不考虑CU是否与目标视频块属于同一CTU,而直接将5位置的亮度采样点的亮度确定为该目标色度采样点对应的亮度参考点的亮度。
[0258] 上述两种方式,在确定目标色度采样点对应的亮度参考点时,都减少了需要考虑的条件,因此,可简化CCLM预测模式。
[0259] S2003:根据亮度值最大的亮度参考点和亮度值最小的亮度参考点、以及亮度值最大的亮度参考点和亮度值最小的亮度参考点各自对应的色度采样点的色度值,确定CU的色度与亮度之间线性模型的参数。
[0260] 具体实施时,可将亮度值最大的亮度参考点和其对应的色度采样点作为B点,将亮度值最小的亮度参考点和其对应的色度采样点作为A点,然后,根据以下公式确定CU的色度与亮度之间的线性模型的参数:
[0261]
[0262] 其中,xA表示A点的亮度值,yA表示A点的色度值,xB表示B点的亮度值,yB表示B点的色度值。
[0263] S2004:根据线性模型的参数和CU中亮度采样点的亮度值,确定CU中色度采样点的色度值。
[0264] 具体实施时,可先对CU中的亮度采样点进行下采样处理,得到与CU中色度采样点一一对应的亮度参考点,然后,根据以下公式确定CU中每个色度采样点的色度值:
[0265] predC(i,j)=α·recL'(i,j)+β(2);
[0266] 其中,predC(i,j)表示CU中第i行第j列色度采样点的色度值;recL′(i,j)表示第i行第j列亮度参考点的亮度值。
[0267] 当本公开实施例中提供的方法以软件或硬件或软硬件结合实现的时候,电子设备中可以包括多个功能模块,每个功能模块可以包括软件、硬件或其结合。
[0268] 具体的,图22是根据一示例性实施例示出的一种确定编码单元的色度信息的装置的框图,该装置包括选取模块2201,采样模块2202、参数确定模块2203和色度确定模块2204。
[0269] 选取模块2201,被配置为执行在视频帧中待处理的编码单元周边选取已完成重构的参考视频块,所述已完成重构的参考视频块至少包括一个目标视频块,所述目标视频块与所述编码单元的横向边界相邻;
[0270] 采样模块2202,被配置为执行对所述参考视频块中的亮度采样点进行下采样处理,得到与所述参考视频块中的色度采样点对应的亮度参考点,其中,目标色度采样点是所述目标视频块中距离所述编码单元中首行首列的亮度采样点最近的色度采样点,目标亮度采样点是所述目标视频块中距离所述目标色度采样点最近的亮度采样点,所述目标色度采样点对应的亮度参考点通过对所述目标亮度采样点进行下采样处理得到;
[0271] 参数确定模块2203,被配置为执行根据亮度值最大的亮度参考点和亮度值最小的亮度参考点、以及所述亮度值最大的亮度参考点和所述亮度值最小的亮度参考点各自对应的色度采样点的色度值,确定所述编码单元的色度与亮度之间的线性模型的参数;
[0272] 色度确定模块2204,被配置为执行根据所述线性模型的参数和所述编码单元中亮度采样点的亮度值,确定所述编码单元中色度采样点的色度值。
[0273] 在一种可能的实施方式下,所述采样模块2202被具体配置为执行采用如下方式对所述目标亮度采样点进行下采样处理:
[0274] 若确定所述编码单元和所述目标视频块属于相同的编码树单元,则对所述目标亮度采样点进行下采样处理;
[0275] 若确定所述编码单元和所述目标视频块属于不同的编码树单元,则对所述目标亮度采样点中距离所述编码单元最近的亮度采样点进行下采样处理。
[0276] 在一种可能的实施方式下,所述采样模块2202被具体配置为执行采用如下方式对所述目标亮度采样点进行下采样处理:
[0277] 直接对所述目标亮度采样点中距离所述编码单元最近的亮度采样点进行下采样处理。
[0278] 在一种可能的实施方式下,所述采样模块2202被具体配置为执行:
[0279] 计算所述目标亮度采样点中各亮度采样点的亮度平均值;
[0280] 根据所述亮度平均值,确定对应的亮度参考点的亮度值。
[0281] 在一种可能的实施方式下,所述采样模块2202被具体配置为执行:
[0282] 取所述目标亮度采样点中距离所述编码单元最近的亮度采样点的亮度值作为对应的亮度参考点的亮度值。
[0283] 关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0284] 本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本公开各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。各个模块相互之间的耦合可以是通过一些接口实现,这些接口通常是电性通信接口,但是也不排除可能是机械接口或其它的形式接口。因此,作为分离部件说明的模块可以是或者也可以不是物理上分开的,既可以位于一个地方,也可以分布到同一个或不同设备的不同位置上。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0285] 图23是根据一示例性实施例示出的一种电子设备的结构示意图,该电子设备包括收发器2301以及处理器2302等物理器件,其中,处理器2302可以是一个中央处理单元(central processing unit,CPU)、微处理器、专用集成电路、可编程逻辑电路、大规模集成电路、或者为数字处理单元等等。收发器2301用于电子设备和其他设备进行数据收发。
[0286] 该电子设备还可以包括存储器2303用于存储处理器2302执行的软件指令,当然还可以存储电子设备需要的一些其他数据,如电子设备的标识信息、电子设备的加密信息、用户数据等。存储器2303可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器2303也可以是非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器2303是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器2303可以是上述存储器的组合。
[0287] 本公开实施例中不限定上述处理器2302、存储器2303以及收发器2301之间的具体连接介质。本公开实施例在图23中仅以存储器2303、处理器2302以及收发器2301之间通过总线2304连接为例进行说明,总线在图23中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线数据总线、控制总线等。为便于表示,图23中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0288] 处理器2302可以是专用硬件或运行软件的处理器,当处理器2302可以运行软件时,处理器2302读取存储器2303存储的软件指令,并在所述软件指令的驱动下,执行前述实施例中涉及的确定编码单元的色度信息的方法。
[0289] 本公开实施例还提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,所述电子设备能够执行前述实施例中涉及的确定编码单元的色度信息的方法。
[0290] 在一些可能的实施方式中,本公开提供的确定编码单元的色度信息的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行前述实施例中涉及的确定编码单元的色度信息的方法。
[0291] 所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0292] 本公开实施例提供的用于确定编码单元的色度信息的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0293] 可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0294] 可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0295] 可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言诸如Java、C++等,还包括常规的过程式程序设计语言诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0296] 应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
[0297] 此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0298] 本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0299] 本公开是参照根据本公开实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0300] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0301] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0302] 尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
[0303] 显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈