解码预测方法、装置及计算机存储介质与流程
未命名
07-22
阅读:107
评论:0
解码预测方法、装置及计算机存储介质
1.分案说明
2.本技术是基于申请日为2018年12月25日的pct国际专利申请pct/cn2018/123657进入中国国家阶段的中国专利申请号201880095849.8、发明名称为“解码预测方法、装置及计算机存储介质”的分案申请。
技术领域
3.本技术实施例涉及视频编解码的技术领域,尤其涉及一种解码预测方法、装置及计算机存储介质。
背景技术:
4.随着人们对视频显示质量要求的提高,高清和超高清视频等新视频应用形式应运而生。h.265/高效率视频编码(high efficiency video coding,hevc)是目前最新的国际视频压缩标准,h.265/hevc的压缩性能比前一代视频编码标准h.264/先进视频编码(advanced video coding,avc)提高约50%,但仍然满足不了视频应用迅速发展的需求,尤其是超高清、虚拟现实(virtual reality,vr)等新视频应用。
5.itu-t的视频编码专家组和iso/iec的运动图像专家组于2015年成立联合视频研究组(joint video exploration team,jvet)着手制定下一代的视频编码标准。联合探索测试模型(joint exploration test model,jem)为通用的参考软件平台,不同编码工具基于此平台验证。2018年4月,jvet正式命名下一代视频编码标准为多功能视频编码(versatile video coding,vvc),其相应的测试模型为vtm。在jem和vtm参考软件中,已经集成了一种基于线性模型的编解码预测方法,通过该线性模型由当前待解码块的亮度分量预测其色度分量。然而,在构建线性模型时,由相邻参考像素所构造的相邻参考像素子集不太合理,导致搜索复杂度较高,且降低了视频图像的解码预测性能。
技术实现要素:
6.有鉴于此,本技术实施例期望提供一种解码预测方法、装置及计算机存储介质,由于相邻参考像素子集中的相邻参考像素不仅兼顾了重要性和分散性,而且相邻参考像素子集中的像素个数较少,从而降低了搜索的复杂度,提升了视频图像解码的预测性能,进而降低了比特率。
7.本技术实施例的技术方案可以如下实现:
8.第一方面,本技术实施例提供了一种解码预测方法,所述方法包括:
9.获取与待解码块至少一个边相邻的参考像素点,得到第一相邻参考像素集合;
10.从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置;
11.基于所述待选择参考像素点位置,从所述第一相邻参考像素集合中选取与所述待选择参考像素点位置对应的参考像素点,将选取得到的参考像素点组成相邻参考像素子
集;
12.基于所述相邻参考像素子集,对所述待解码块进行预测解码。
13.第二方面,本技术实施例提供了一种解码预测装置,所述解码预测装置包括获取单元、确定单元、选取单元和解码单元,
14.所述获取单元,配置为获取与待解码块至少一个边相邻的参考像素点,得到第一相邻参考像素集合;
15.所述确定单元,配置为从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置;
16.所述选取单元,配置为基于所述待选择参考像素点位置,从所述第一相邻参考像素集合中选取与所述待选择参考像素点位置对应的参考像素点,将选取得到的参考像素点组成相邻参考像素子集;
17.所述解码单元,配置为基于所述相邻参考像素子集,对所述待解码块进行预测解码。
18.第三方面,本技术实施例提供了一种解码预测装置,所述解码预测装置包括:存储器和处理器;
19.所述存储器,用于存储能够在所述处理器上运行的计算机程序;
20.所述处理器,用于在运行所述计算机程序时,执行如第一方面所述方法的步骤。
21.第四方面,本技术实施例提供了一种计算机存储介质,所述计算机存储介质存储有解码预测程序,所述解码预测程序被至少一个处理器执行时实现如第一方面所述方法的步骤。
22.本技术实施例提供了一种解码预测方法、装置及计算机存储介质,首先获取与待解码块至少一个边相邻的参考像素点,得到第一相邻参考像素集合;然后从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置;再基于所述待选择参考像素点位置,从所述第一相邻参考像素集合中选取与所述待选择参考像素点位置对应的参考像素点,将选取得到的参考像素点组成相邻参考像素子集;最后基于所述相邻参考像素子集,对所述待解码块进行预测解码;由于该相邻参考像素子集中相邻参考像素点的选取兼顾了重要性和分散性,基于该相邻参考像素子集所构造的模型参数较为准确,可以使得视频图像解码的预测性能得到提升;而且该相邻参考像素子集中的像素个数较少,从而还降低了搜索的复杂度,提升了视频图像解码的预测性能,进而降低了比特率。
附图说明
23.图1a至图1c分别为相关技术方案中视频图像采样格式的结构示意图;
24.图2a和图2b分别为相关技术方案中解码块的第一图像分量相邻参考值和第二图像分量相邻参考值的采样示意图;
25.图3为相关技术方案中解码块基于最大值和最小值构造预测模型的结构示意图;
26.图4a和图4b分别为相关技术方案提供的一种正方形解码块和非正方形解码块选取相邻参考像素点的结构示意图;
27.图5a和图5b分别为相关技术方案提供的一种传统技术方案和l0138提案选取相邻
参考像素点的结构示意图;
28.图6为本技术实施例提供的一种视频编码系统的组成框图示意图;
29.图7为本技术实施例提供的一种视频解码系统的组成框图示意图;
30.图8为本技术实施例提供的一种解码预测方法的流程示意图;
31.图9为本技术实施例提供的一种待解码块上侧边对应的相邻参考像素子集选取的结构示意图;
32.图10为本技术实施例提供的一种待解码块左侧边对应的相邻参考像素子集选取的结构示意图;
33.图11为本技术实施例提供的另一种待解码块上侧边对应的相邻参考像素子集选取的结构示意图;
34.图12为本技术实施例提供的又一种待解码块上侧边对应的相邻参考像素子集选取的结构示意图;
35.图13为本技术实施例提供的再一种待解码块上侧边对应的相邻参考像素子集选取的结构示意图;
36.图14为本技术实施例提供的再一种待解码块上侧边对应的相邻参考像素子集选取的结构示意图;
37.图15为本技术实施例提供的一种解码预测装置的组成结构示意图;
38.图16为本技术实施例提供的一种解码预测装置的具体硬件结构示意图。
具体实施方式
39.为了能够更加详尽地了解本技术实施例的特点与技术内容,下面结合附图对本技术实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本技术实施例。
40.在视频图像中,一般采用第一图像分量、第二图像分量和第三图像分量来表征解码块;其中,这三个图像分量分别为一个亮度分量、一个蓝色色度分量和一个红色色度分量,具体地,亮度分量通常使用符号y表示,蓝色色度分量通常使用符号cb表示,红色色度分量通常使用符号cr表示。
41.在本技术实施例中,第一图像分量可以为亮度分量y,第二图像分量可以为蓝色色度分量cb,第三图像分量可以为红色色度分量cr,但是本技术实施例对此不作具体限定。目前常用的采样格式为ycbcr格式,ycbcr格式包括以下几种,分别如图1a至图1c所示,其中,图中的叉(x)表示第一图像分量采样点,圈(
○
)表示第二图像分量或第三图像分量采样点。ycbcr格式包括:
42.4:4:4格式:如图1a所示,表示第二图像分量或第三图像分量没有下采样;它是在每个扫描行上每4个连续的像素点取4个第一图像分量的采样样本、4个第二图像分量的采样样本和4个第三图像分量的采样样本;
43.4:2:2格式:如图1b所示,表示第一图像分量相对于第二图像分量或第三图像分量进行2:1的水平采样,没有竖直下采样;它是在每个扫描行上每4个连续的像素点取4个第一图像分量的采样样本、2个第二图像分量的采样样本和2个第三图像分量的采样样本;
44.4:2:0格式:如图1c所示,表示第一图像分量相对于第二图像分量或第三图像分量进行2:1的水平下采样和2:1的竖直下采样;它是在水平扫描行和垂直扫描行上每2个连续
的像素点取2个第一图像分量的采样样本、1个第二图像分量的采样样本和1个第三图像分量的采样样本。
45.在视频图像采用ycbcr为4:2:0格式的情况下,若视频图像的第一图像分量为2n
×
2n大小的解码块,则对应的第二图像分量或第三图像分量为n
×
n大小的解码块,其中n为解码块的边长。在本技术实施例中,下述将以4:2:0格式为例进行描述,但是本技术实施例的技术方案同样适用于其他采样格式。
46.在下一代视频编码标准h.266中,为了进一步提升了编解码性能,针对分量间预测(cross-component prediction,ccp)进行了扩展改进,提出了分量间线性模型预测(cross-component linear model prediction,cclm)。在h.266中,cclm实现了第一图像分量到第二图像分量、第一图像分量到第三图像分量以及第二图像分量与第三图像分量之间的预测,下述将以第一图像分量到第二图像分量的预测为例进行描述,但是本技术实施例的技术方案同样也可以适用于其他图像分量的预测。
47.可以理解地,为了减少第一图像分量与第二图像分量之间的冗余,在vtm中使用cclm的预测模式,此时第一图像分量和第二图像分量为同一解码块的,该第二图像分量是基于同一解码块的第一图像分量重建值进行预测的,例如使用如式(1)所示的预测模型:
48.predc[i,j]=α
·
rec
l
[i,j]+β
ꢀꢀ
(1)
[0049]
其中,i,j表示解码块中像素点的位置坐标,i表示水平方向,j表示竖直方向,predc[i,j]表示解码块中位置坐标为[i,j]的像素点对应的第二图像分量预测值,rec
l
[i,j]表示同一解码块中(经过下采样的)位置坐标为[i,j]的像素点对应的第一图像分量重建值,α和β是上述预测模型的模型参数。
[0050]
模型参数α和β的构造有多种方式,可以是以最小二乘法为评价的回归构造方式,也可以是最大值与最小值的构造方式,甚至还可以是其他构造方式,本技术实施例对此不作具体限定。下面将分别以基于最小二乘法的回归构造方式和最大值与最小值的构造方式为例进行描述。
[0051]
在vvc中,最初接受了一种基于最小二乘法的回归构造模型参数的推导方法,具体地,可以通过最小化解码块周围的第一图像分量相邻参考值和第二图像分量相邻参考值的回归误差进行推导得到,如下述式(2)所示的α和β:
[0052][0053]
其中,l(n)表示经过下采样的左侧边和上侧边所对应的第一图像分量相邻参考值,c(n)表示左侧边和上侧边所对应的第二图像分量相邻参考值,n为第二图像分量解码块的边长,n=1,2,...,2n。参见图2a和图2b,其分别示出了相关技术方案中解码块的第一图像分量相邻参考值和第二图像分量相邻参考值的采样示意图;其中,在图2a中,加粗的较大方框用于突出指示第一图像分量解码块21,而灰色实心圆圈用于指示第一图像分量解码块21的相邻参考值l(n);在图2b中,加粗的较大方框用于突出指示第二图像分量解码块22,而灰色实心圆圈用于指示第二图像分量解码块22的相邻参考值c(n)。图2a示出了2n
×
2n大小
的第一图像分量解码块21,对于4:2:0格式的视频图像来说,一个2n
×
2n大小的第一图像分量相对应的第二图像分量的大小为n
×
n,如图2b中的22所示;也就是说,图2a和图2b是针对同一解码块分别进行第一图像分量采样和第二图像分量采样所得到的解码块示意图。
[0054]
在vvc中,近期接受了一种简化版模型参数的推导方法,具体地,可以通过搜索最大的第一图像分量相邻参考值和最小的第一图像分量相邻参考值,根据“两点确定一线”原则来推导出模型参数,如下述式(3)所示的α和β:
[0055][0056]
其中,l
max
和l
min
表示经过下采样的左侧边和上侧边所对应的第一图像分量相邻参考值中搜索得到的最大值和最小值,c
max
和c
min
表示l
max
和l
min
对应位置的参考像素点所对应的第二图像分量相邻参考值。参见图3,其示出了相关技术方案中解码块基于最大值和最小值构造预测模型的结构示意图;其中,横坐标表示解码块的第一图像分量相邻参考值,纵坐标表示解码块的第二图像分量相邻参考值,根据l
max
和l
min
以及c
max
和c
min
,通过式(3)可以计算得到模型参数α和β,所构建的预测模型为c=α
·
l+β;这里的l表示解码块中其中一个像素点所对应的第一图像分量重建值,c表示解码块中该像素点所对应的第二图像分量预测值。
[0057]
对于cclm中相邻参考像素点集合的构造,现有技术中存在多种情况,下面将分别进行描述。
[0058]
(a)从解码块的形状进行区分
[0059]
参见图4a,其示出了相关技术方案提供的一种正方形解码块选取相邻参考像素点的结构示意图;如图4a所示,该解码块为正方形解码块,该解码块的左侧边和上侧边所对应的所有相邻像素点都可以作为参考像素点;针对第一图像分量首先需要进行下采样,这样经过下采样的第一图像分量与第二图像分量具有相同的分辨率。在图4a中,灰色实心圆圈用于表示正方形解码块所选取的相邻参考像素点。
[0060]
参见图4b,其示出了相关技术方案提供的一种非正方形解码块选取相邻参考像素点的结构示意图;如图4b所示,该解码块为非正方形解码块,该解码块的宽和高不相等。一方面,针对第一图像分量首先需要进行下采样,这样经过下采样的第一图像分量与第二图像分量具有相同的分辨率;另一方面,该解码块的长边所对应的相邻像素点需要进一步进行下采样,使得长边得到的相邻参考像素点个数与短边的相邻参考像素点个数相等。在图4b中,灰色实心圆圈用于表示非正方形解码块所选取的相邻参考像素点。
[0061]
(b)从解码块左侧边或者上侧边所对应的相邻像素点的存在性进行区分
[0062]
当解码块左侧边和上侧边所对应的相邻像素点都可以使用时,与上侧边相邻一行的像素点和与左侧边相邻一列的相邻像素点都可以作为相邻参考像素点;
[0063]
当解码块左侧边或者上侧边所对应的相邻像素点仅一边可以使用时,将有效边所对应的相邻像素点作为相邻参考像素点;
[0064]
当解码块左侧边和上侧边所对应的相邻像素点都不可以使用时,此时无相邻参考像素点,模型参数α设置为0,模型参数β设置为第二图像分量的中间值512,即解码块内所有像素点所对应的第二图像分量预测值均为512。
[0065]
需要说明的是,假定n定义为第二图像分量解码块短边的长度,那么当解码块左侧边和上侧边所对应的相邻像素点都可以使用时,则总共有2n个相邻参考像素点可以用于cclm中。另外,除特殊说明外,下文中均是以解码块左侧边和上侧边所对应的相邻像素点都可以使用的情况进行描述。
[0066]
(c)相邻参考像素子集(减点)的方案
[0067]
在计算cclm的模型参数过程中,所需要的运算复杂度与用于cclm的相邻参考像素点的个数成正比。这样,为了降低运算复杂度,jvet第12次会议的l0138提案提出了一种基于待解码块对应的第二图像分量块的大小减少用于cclm的相邻参考像素点个数的技术方案。参见表1,其示出了相关技术方案提供的一种待解码块对应的第二图像分量块的大小与相邻参考像素点个数之间的关系表。在表1中,n1为传统技术方案中用于cclm的相邻参考像素点个数,n2为l0138提案提供的减点后用于cclm的相邻参考像素点个数。具体的,l0138提案中的减点方法是在传统技术方案中获取到相邻参考像素点之后对其进行下采样而得到的。
[0068]
表1
[0069][0070][0071]
(d)相邻参考像素点的下采样方案
[0072]
对于非正方形解码块,vtm中已经提供了针对长边的下采样方案(如图4b所示)。而如上面所述的l0138提案,该提案中提出了进一步减点的下采样集合。
[0073]
在l0138提案中,下采样过程中相邻参考像素点的选取会对解码预测性能有所影响,按照vtm中默认的下采样方案所得到的相邻参考像素点子集,其对应的解码预测性能并不理想,因而l0138提案提出了可以在下采样时采用另外的相邻参考像素点子集的选取方案。具体地,vtm中所使用的传统技术方案中,对非正方形解码块的长边进行下采样时,对于解码块上侧边对应的相邻一行的像素点是从最左边缘开始选点,对于左侧边对应的相邻一列的像素点是从最上边缘开始选点;而在l0138提案中提出了从与传统技术方案的相反边缘开始选点的方案,具体可以参考图5a和图5b所示的选点结构示例。
[0074]
参见图5a,其示出了相关技术方案提供的一种传统技术方案选取相邻参考像素点的结构示意图;如图5a所示,对于该解码块长边对应的相邻一行的像素点从最左边缘的像素点开始取点采样的;参见图5b,其示出了相关技术方案提供的一种l0138提案选取相邻参考像素点的结构示意图;如图5b所示,对于该解码块长边对应的相邻一行的像素点从最右边缘的像素点开始取点采样的;这里的采样间隔与传统技术方案相同,本技术实施例不再赘述。利用l0138提案的取点方案,可以在cclm的模型参数计算中比较全面地覆盖到所有相
邻参考点像素的取值范围,但是由于没有考虑到每个相邻参考像素点的重要性,在有限个数的前提下,仍然不能最大限度代表长边的整体特性。
[0075]
在相关技术方案中,一方面从运算复杂度考虑,在vtm中虽然接受了从2n个点中搜索最大的第一图像分量相邻参考值和最小的第一图像分量相邻参考值,根据“两点确定一线”原则来推导出模型参数(参见式(3))。该方案仅利用了两个相邻参考像素点,相比于基于最小二乘法回归构造模型参数的运算复杂度大幅度减少;但是该方案仍然有相当大的复杂度,主要是因为需要在相邻参考像素点集合内确定出最大值和最小值,从而需要进行4n次的比较运算操作来确定出最大值和最小值。而且解码块的长度越大,其用于cclm的相邻参考像素点个数就越大,导致用于确定出最大值和最小值的搜索次数也就越大,所以,该方案所带来的运算复杂度仍然比较大。另一方面从预测准确度考虑,由于在搜索最大值和最小值的过程中,若搜索得到的像素点与当前解码块的相关性很低,可以确认出该像素点为坏点。这样,如果搜索得到的这两个像素点中包含有坏点,就会对预测模型造成较大的模型偏差。因此,基于最大值和最小值构造模型参数的方法虽然复杂度较低,但其鲁棒性不好,使得解码预测性能有所下降。
[0076]
基于此,当前最新的l0138提案中提出了相邻参考像素子集的概念,虽然针对上述不足有所改进,不仅降低了相邻参考像素点个数,使得运算复杂度进一步降低;而且还通过选择合适位置的像素点(如图5b所示),解码预测性能略有提高,但是该方案仍然有提升空间。
[0077]
为了更好地提升编解码预测的性能,本技术实施例提供了一种解码预测方法,通过以所述待解码块至少一个边的中点为基准点,按照预设采样个数确定出待选择参考像素点位置,以将兼顾重要性和分散性所选取的相邻参考像素点放入到相邻参考像素子集中;基于所述相邻参考像素子集,对所述待解码块进行预测解码;这样,由于基于该相邻参考像素子集所构造的模型参数较为准确,可以使得解码预测性能得到提升;而且该相邻参考像素子集中的像素个数较少,从而还降低了搜索的复杂度,进而降低了比特率。下面将结合附图对本技术实施例进行详细描述。
[0078]
参见图6,其示出了本技术实施例提供的一种视频编码系统的组成框图示例;如图6所示,该视频编码系统600包括变换与量化601、帧内估计602、帧内预测603、运动补偿604、运动估计605、反变换与反量化606、滤波器控制分析607、去方块滤波及样本自适应缩进(sample adaptive 0ffset,sao)滤波608、头信息编码及基于上下文的自适应二进制算术编码(context-based adaptive binary arithmatic coding,cabac)609和解码图像缓存610等部件;针对输入的原始视频信号,通过编码树块(coding tree unit,ctu)的划分可以得到一个视频编码块,然后对经过帧内或帧间预测后得到的残差像素信息通过变换与量化601对该视频编码块进行变换,包括将残差信息从像素域变换到变换域,并对所得的变换系数进行量化,用以进一步减少比特率;帧内估计602和帧内预测603是用于对该视频编码块进行帧内预测;明确地说,帧内估计602和帧内预测603用于确定待用以编码该视频编码块的帧内预测模式;运动补偿604和运动估计605用于执行所接收的视频编码块相对于一或多个参考帧中的一或多个块的帧间预测编码以提供时间预测信息;由运动估计605执行的运动估计为产生运动向量的过程,所述运动向量可以估计该视频编码块的运动,然后由运动补偿604基于由运动估计605所确定的运动向量执行运动补偿;在确定帧内预测模式之后,
帧内预测603还用于将所选择的帧内预测数据提供到头信息编码及cabac 609,而且运动估计605将所计算确定的运动向量数据也发送到头信息编码及cabac 609;此外,反变换与反量化606是用于该视频编码块的重构建,在像素域中重构建残差块,该重构建残差块通过滤波器控制分析607和去方块滤波及sao滤波608去除方块效应伪影,然后将该重构残差块添加到解码图像缓存610的帧中的一个预测性块,用以产生经重构建的视频编码块;头信息编码及cabac 609是用于编码各种编码参数及量化后的变换系数,在基于cabac的编码算法中,上下文内容可基于相邻编码块,可用于编码指示所确定的帧内预测模式的信息,输出该视频信号的码流;而解码图像缓存610是用于存放重构建的视频编码块,用于预测参考。随着视频图像编码的进行,会不断生成新的重构建的视频编码块,这些重构建的视频编码块都会被存放在解码图像缓存610中。
[0079]
参见图7,其示出了本技术实施例提供的一种视频解码系统的组成框图示例;如图7所示,该视频解码系统700包括头信息解码及cabac解码701、反变换与反量化702、帧内预测703、运动补偿704、去方块滤波及sao滤波705和解码图像缓存706等部件;输入的视频信号经过图6的编码处理之后,输出该视频信号的码流;该码流输入视频解码系统700中,首先经过头信息解码及cabac解码701,用于得到解码后的变换系数;针对该变换系数通过反变换与反量化702进行处理,以便在像素域中产生残差块;帧内预测703可用于基于所确定的帧内预测模式和来自当前帧或图片的先前经解码块的数据而产生当前视频解码块的预测数据;运动补偿704是通过剖析运动向量和其他关联语法元素来确定用于视频解码块的预测信息,并使用该预测信息以产生正被解码的视频解码块的预测性块;通过对来自反变换与反量化702的残差块与由帧内预测703或运动补偿704产生的对应预测性块进行求和,而形成解码的视频块;该解码的视频信号通过去方块滤波及sao滤波705以便去除方块效应伪影,可以改善视频质量;然后将经解码的视频块存储于解码图像缓存706中,解码图像缓存706存储用于后续帧内预测或运动补偿的参考图像,同时也用于视频信号的输出,即得到了所恢复的原始视频信号。
[0080]
本技术实施例主要应用在如图6所示的帧内预测603部分和如图7所示的帧内预测703部分;也就是说,本技术实施例既可以应用于编码系统,也可以应用于解码系统,但是本技术实施例对此不作具体限定。
[0081]
基于上述图6或者图7的应用场景示例,参见图8,其示出了本技术实施例提供的一种解码预测方法的流程示意图,该方法可以包括:
[0082]
s801:获取与待解码块至少一个边相邻的参考像素点,得到第一相邻参考像素集合;
[0083]
s802:从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置;
[0084]
s803:基于所述待选择参考像素点位置,从所述第一相邻参考像素集合中选取与所述待选择参考像素点位置对应的参考像素点,将选取得到的参考像素点组成相邻参考像素子集;
[0085]
s804:基于所述相邻参考像素子集,对所述待解码块进行预测解码。
[0086]
需要说明的是,待解码块为当前待进行第二图像分量预测或者第三图像分量预测的解码块。待解码块至少一个边可以是指待解码块的上侧边,也可以是指待解码块的左侧
边,甚至还可以是指待解码块的上侧边和左侧边,本技术实施例不作具体限定。
[0087]
还需要说明的是,基准点可以是所述至少一个边的中点,也可以是所述至少一个边的中点偏左的第一个参考像素点位置,还可以是所述至少一个边的中点偏右的第一参考像素点位置,甚至还可以是所述至少一个边的其他参考像素点位置,本技术实施例不作具体限定。
[0088]
在本技术实施例中,本技术实施例的解码预测方法同样可以适用于编码系统中,通过在编码系统中构造相邻参考像素子集,可以提升视频图像的编码预测性能,并且提高了编码压缩效率,以节省编码码率。下面将仅以解码系统中构造相邻参考像素子集为例进行描述。
[0089]
在本技术实施例中,首先获取与待解码块至少一个边相邻的参考像素点,得到第一相邻参考像素集合;然后从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置;再基于所述待选择参考像素点位置,从所述第一相邻参考像素集合中选取与所述待选择参考像素点位置对应的参考像素点,将选取得到的参考像素点组成相邻参考像素子集;最后基于所述相邻参考像素子集,对所述待解码块进行预测解码;由于本技术实施例中不再是将与待解码块的上侧边或者左侧边相邻的所有参考像素点全部参与解码预测的搜索运算,而是在兼顾重要性和分散性的前提下,通过选取合适位置的相邻参考像素来组成相邻参考像素子集,这样该相邻参考像素子集中的像素个数较少,不仅能够降低搜索的复杂度,而且还可以提升解码预测性能,进而降低了比特率。
[0090]
在一些实施例中,所述从所述至少一个边中确定一基准点,包括:
[0091]
基于所述至少一个边的长度,确定所述至少一个边的中点,将所述至少一个边的中点作为所述基准点。
[0092]
在一些实施例中,当所述基准点为所述至少一个边的中点时,所述从所述至少一个边中确定一基准点,包括:
[0093]
基于所述至少一个边的长度,若所述至少一个边的中点位于两个参考像素点之间的中间位置,则将所述中间位置偏右的第一个参考像素点位置作为所述至少一个边的基准点,或者将所述中间位置偏左的第一个参考像素点位置作为所述至少一个边的基准点。
[0094]
需要说明的是,考虑到与待解码块至少一个边相邻的参考像素点的重要性与其对应的位置有关,为了使得相邻参考像素子集中的参考像素点能够代表整个相邻边的特性,需要尽可能选取处于该边中心位置的参考像素点,以将重要性比较低的点(比如该边的两侧边缘的参考像素点)进行剔除。在本技术实施例中,如果以待解码块上侧边为例进行说明,那么可以将中间位置偏右或者偏左的第一个参考像素点位置作为该边的基准点。
[0095]
示例性地,参见图9,其示出了本技术实施例提供的一种待解码块上侧边对应的相邻参考像素子集选取的结构示意图。如图9所示,对于待解码块的上侧边上分布的所有参考像素点,选取该边的中点作为中心(如图9中所示的虚线位置),以该中心作为基准点进行参考像素点的选取。假定该解码块上侧边的边长为16,预设采样个数为4,此时可以得到采样间隔δ为16/4=4。这样,由于上侧边的长度为16,可以确定出中点在7和8之间,也就是说,中点可以选取7,也可以选取8;在图9中,以选取8作为基准点为例,由于预设采样个数为4,那么可以确定出待选择参考像素点位置(如图9中灰色点示例)为2、6、10和14;根据这些参
考像素点位置可以选取出与之对应的参考像素点,以此组成相邻参考像素子集。
[0096]
在一些实施例中,当所述基准点为所述至少一个边的中点时,所述从所述至少一个边中确定一基准点,包括:
[0097]
基于所述至少一个边的长度,若所述至少一个边的中点位于两个参考像素点之间的中间位置,则将所述中间位置偏下的第一个参考像素点位置作为所述至少一个边的基准点,或者将所述中间位置偏上的第一个参考像素点位置作为所述至少一个边的基准点。
[0098]
需要说明的是,考虑到与待解码块至少一个边相邻的参考像素点的重要性与其对应的位置有关,为了使得相邻参考像素子集中的参考像素点能够代表整个相邻边的特性,需要尽可能选取处于该边中心位置的参考像素点,以将重要性比较低的点(比如该边的两侧边缘的参考像素点)进行剔除。在本技术实施例中,如果以待解码块左侧边为例进行说明,那么可以将中间位置偏下或者偏上的第一个参考像素点位置作为该边的基准点。
[0099]
示例性地,参见图10,其示出了本技术实施例提供的一种待解码块左侧边对应的相邻参考像素子集选取的结构示意图。如图10所示,对于待解码块的左侧边上分布的所有参考像素点,选取该边的中点作为中心(如图10中所示的虚线位置),以该中心作为基准点进行参考像素点的选取。假定该解码块上侧边的边长为8,预设采样个数为2,此时可以得到采样间隔δ为8/2=4。这样,由于左侧边的长度为8,可以确定出中点在3和4之间,也就是说,中点可以选取3,也可以选取4;在图10中,以选取4作为基准点为例,由于预设采样个数为2,那么可以确定出待选择参考像素点位置(如图10中灰色点示例)为2和6;根据这些参考像素点位置可以选取出与之对应的参考像素点,以此组成相邻参考像素子集。
[0100]
在实际应用中,由于待解码块左侧边或者上侧边的边长都是2的整数倍,那么待解码块左侧边或者上侧边的中间位置均是处于两个点之间。在图9的示例中,是以中间位置偏右的第一个像素点作为该边的中点;但是本技术实施例也可以将中间位置偏左的第一个像素点作为该边的中点,如图11所示的结构示例。在图11中,以将中间位置偏左的第一个像素点(如图11中的3)作为该边的中点,由于预设采样个数为2,那么可以确定出待选择参考像素点位置(如图11中灰色点示例)为1和5,根据这些参考像素点位置也可以选取出与之对应的参考像素点,以此组成相邻参考像素子集。因此,在本技术实施例中,针对待解码块的上侧边,既可以将中间位置偏右的第一个像素点作为该边的中点,也可以将中间位置偏左的第一个像素点作为该边的中点,本技术实施例不作具体限定;另外,针对待解码块的左侧边,既可以将中间位置偏下的第一个像素点作为该边的中点,也可以将中间位置偏上的第一个像素点作为该边的中点,本技术实施例也不作具体限定。
[0101]
除特别说明外,下文中将以待解码块的上侧边为例进行说明,但是本技术实施例的预测方法同样适用于待解码块的左侧边,甚至是待解码块的其他边。
[0102]
可以理解地,如果不考虑与待解码块左侧边或者上侧边相邻的参考像素点的存在性,那么还可以根据式(4)和式(5)进行相邻参考像素子集的构造,
[0103]
δ=length/(n2/2)(4)
[0104]
shift=δ/2(5)
[0105]
其中,δ表示采样间隔,length表示与待解码块上侧边相邻的一行参考像素点的个数、或者与待解码块左侧边相邻的一列参考像素点的个数,n2表示待解码块所期望的构成相邻参考像素子集中相邻参考像素点个数(一般来说,左侧边和上侧边各自为二分之一,
但是本技术实施例不作具体限定),shift表示选取参考像素点的起始点位置。这里,当待解码块左侧边或者上侧边的中间位置均是处于两个点之间时,此时如果以中间位置偏右的第一个像素点作为该边的中点,那么起始点位置shift=δ/2;此时如果以中间位置偏左的第一个像素点作为该边的中点,那么起始点位置shift=δ/2-1。
[0106]
示例性地,以图9所示的上侧边为例,length等于16,n2等于8,假定左侧边和上侧边各自为二分之一,即上侧边的预设采样个数为4,那么根据式(4)和式(5)分别计算得到δ=length/(n2/2)=4,shift=δ/2=2,即以2为起始点位置、4为采样间隔,首先可以确定出待选择参考像素点位置,比如为2、6、10和14,进而可以选取到对应的参考像素点,以组成相邻参考像素子集。这里,需要注意的是,左侧边对应的预设采样个数和上侧边对应的预设采样个数,两者的取值可以相同,也可以不同,本技术实施例不作具体限定。
[0107]
另外,本技术实施例还提供了一种确定预设采样个数的方案,如表2所示。这样,本技术实施例还可以用表2中的n2‘
替代n2,将其带入上述的式(4)和式(5)中进行计算,以使得所组成的相邻参考像素子集更为准确。从而提高了解码预测性能。
[0108]
参见表2,其示出了本技术实施例提供的一种待解码块对应的第二图像分量块的大小与相邻参考像素点个数之间的关系表。在表2中,n表示待解码块短边的长度,n1表示传统技术方案中提供的相邻参考像素点个数,n2为l0138提案中提供的相邻参考像素点个数,n2‘
表示本本技术实施例中提供的相邻参考像素点个数。根据表2可以看出,当待解码块短边的长度小于或等于4时,相邻参考像素子集中包含4个参考像素点;当待解码块短边的长度大于4时,相邻参考像素子集中可以包含8个参考像素点。
[0109]
表2
[0110]
第二图像分量块的大小短边的长度n1n2n2‘2×
n/n
×
2(n≥2)24244
×
n/n
×
4(n≥4)48448
×
n/n
×
8(n≥8)8168816
×
n/n
×
16(n≥16)16328832
×
32326488
[0111]
在一些实施例中,所述从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置,包括:
[0112]
基于所述预设采样个数和所述至少一个边的长度,计算得到第一采样间隔;
[0113]
以所述至少一个边的中点为基准点,按照所述第一采样间隔确定所述至少一个边对应的待选择参考像素点位置。
[0114]
可选地,所述以所述至少一个边的中点为基准点,按照所述第一采样间隔确定所述至少一个边对应的待选择参考像素点位置,包括:
[0115]
基于所述至少一个边的长度,计算所述至少一个边的中点值;
[0116]
根据所述中点值和第一采样间隔,计算得到参考像素点位置;
[0117]
当所述中点值为非整数时,对所述中点值左侧的参考像素点位置向小取整,将取整后的参考像素点位置确定为待选择参考像素点位置;对所述中点值右侧的参考像素点位置向大取整,将取整后的参考像素点位置确定为待选择参考像素点位置。
[0118]
可选地,所述以所述至少一个边的中点为基准点,按照所述第一采样间隔确定所
述至少一个边对应的待选择参考像素点位置,包括:
[0119]
基于所述至少一个边的长度,计算所述至少一个边的中点值;
[0120]
根据所述中点值和第一采样间隔,计算得到参考像素点位置;
[0121]
当所述中点值为非整数时,对所述中点值左侧的参考像素点位置向大取整,将取整后的参考像素点位置确定为待选择参考像素点位置;对所述中点值右侧的参考像素点位置向小取整,将取整后的参考像素点位置确定为待选择参考像素点位置。
[0122]
需要说明的是,根据预设采样个数和待解码块一个边的长度,可以计算得到该边对应的第一采样间隔。另外,由于待解码块左侧边或者上侧边的边长都是2的整数倍,那么待解码块左侧边或者上侧边的中间位置均是处于两个点之间,此时计算得到的中点值为非整数,计算得到的参考像素点位置也为非整数;然而如果待解码块左侧边或者上侧边的边长不是2的整数倍,那么待解码块左侧边或者上侧边的中间位置不会处于两个点之间,此时计算得到的中点值为整数,计算得到的参考像素点位置也为整数;也就是说,计算得到的中点值可以为整数,也可以为非整数;对应地,计算得到的参考像素点位置也可以为整数,也可以为非整数;本技术实施例不作具体限定。
[0123]
这样,当计算得到的中点值为整数时,对应地,计算得到的参考像素点位置也为整数,此时可以直接将计算得到的参考像素点位置作为待选择参考像素点位置;当计算得到的中点值为非整数时,对应地,计算得到的参考像素点位置也为非整数,此时可以通过向大取整或者向小取整来确定出待选择参考像素点位置。
[0124]
举例来说,以图11所示的上侧边为例,假定预设采样个数为2个,上侧边的长度为8,那么可以确定出第一采样间隔为4。由于上侧边的长度为8,也就是说,上侧边的中间位置处于两个点之间。由于参考像素点排列是以0开始,结束为7,通过计算可以得到上侧边的中点实际位置为3.5;由于第一采样间隔为4,在中点的左右两侧分别移位4/2个点,则可以计算得到参考点位置为1.5和5.5;此时可以将中点值左侧的参考像素点位置向小取整,能够得到其中一个待选择参考像素点位置为1,而将中点值右侧的参考像素点位置向大取整,则可以得到另一个待选择参考像素点位置为6;该方法也可以称之为向外取整方案,如图12所示;这样可以将1和6位置所对应的参考像素点组成相邻参考像素子集。另外,当计算得到参考点位置为1.5和5.5时,此时还可以将中点值左侧的参考像素点位置向大取整,能够得到其中一个待选择参考像素点位置为2,而将中点值右侧的参考像素点位置向小取整,则可以得到另一个待选择参考像素点位置为5;该方法也可以称之为向内取整方案,如图13所示;这样可以将2和5位置所对应的参考像素点组成相邻参考像素子集。
[0125]
在一些实施例中,在所述计算得到第一采样间隔之后,所述方法还包括:
[0126]
对所述第一采样间隔进行调整,得到第二采样间隔;
[0127]
以所述至少一个边的中点为基准点,按照所述第二采样间隔确定所述至少一个边对应的待选择参考像素点位置。
[0128]
在一些实施例中,在所述得到第二采样间隔之后,所述方法还包括:
[0129]
以所述至少一个边的中点为基准点,按照所述第一采样间隔确定所述基准点左侧对应的待选择参考像素点位置,按照所述第二采样间隔确定所述基准点右侧对应的待选择参考像素点位置。
[0130]
需要说明的是,当计算得到第一采样间隔之后,还可以对第一采样间隔进行微调,
比如对第一采样间隔进行加1或者减1的操作,以此得到第二采样间隔。例如,第一采样间隔为4,那么调整后的第二采样间隔可以为3或者5。在本技术实施例中,针对第一采样间隔的调整,可以进行小幅度(比如,加1或者减1)的调整,但是针对调整幅度的具体设定,本技术实施例不作具体限定。
[0131]
另外,当确定出待解码块至少一条边的基准点之后,可以按照第一采样间隔或者第二采样间隔进行均匀采样;也可以按照第一采样间隔和第二采样间隔进行分均匀采样,而且采样后所确定的待选择参考像素点位置可以对称分布在基准点两侧,也可以非对称分布在基准点两侧;本技术实施例不作具体限定。
[0132]
在一些实施例中,所述从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置,包括:
[0133]
以所述至少一个边的中点为基准点,根据所述预设采样个数将处于所述基准点附近的连续的参考像素点位置确定为待选择参考像素点位置,且所述基准点位于所述待选择参考像素点位置的中间位置。
[0134]
需要说明的是,由于相邻参考像素点中与待解码块的第一图像分量重建值比较相关的是处于中间位置的参考像素点,那么可以将中间位置附近连续的预设采样个数的参考像素点位置作为待选择参考像素点位置,该方法可以称之为中间位置连续取点方案,如图14所示;这样可以将2、3和4位置所对应的参考像素点组成相邻参考像素子集。
[0135]
可以理解地,假定与待解码块上侧边或者左侧边相邻的一行/一列上的参考像素点位置从0开始编号,那么本实施例中所组成的相邻参考像素子集中相邻参考像素点个数以及对应的待选择参考像素点位置如表3所示。
[0136]
表3
[0137][0138]
在本实施例中,将中间位置附近连续的预设采样个数的参考像素点位置作为待选择参考像素点位置,以此组成相邻参考像素子集;根据该相邻参考像素子集进行预测解码,在l0138提案的基础上仍然能够节省比特率,提高了解码增益,从而使得解码预测性能得到提升。
[0139]
在一些实施例中,所述待解码块包括正方形解码块或者非正方形解码块。
[0140]
进一步地,在一些实施例中,当所述待解码块为非正方形解码块时,所述方法还包括:
[0141]
基于所述待解码块至少一个边的长度,确定所述待解码块的长边以及所述长边对应的第三采样间隔;
[0142]
删除所述长边的末端位置对应的参考像素点,对删除参考像素点的长边按照预设偏移量进行初始偏移,以偏移后的参考像素点位置作为起始点,按照所述第三采样间隔对
删除参考像素点的长边进行采样,以确定所述长边对应的待选择参考像素点位置。
[0143]
需要说明的是,本技术实施例既可以应用于正方形解码块,也可以应用于非正方形解码块,本技术实施例不作具体限定。针对正方形解码块,该正方形解码块的任意一个边都可以作为长边,从而上述方法同样也就适用于正方形解码块。
[0144]
还需要说明的是,以待解码块为非正方形解码块为例,待解码块左侧边或者上侧边中必然存在一个长边和一个短边;根据长边与短边之间的比值,可以得到长边对应的第三采样间隔。在对长边进行采样之前,可以先删除所述长边的末端位置对应的参考像素点,然后再对删除参考像素点的长边按照预设偏移量进行初始偏移,以偏移后的参考像素点位置作为起始点,然后再对删除参考像素点的长边进行采样,以确定该长边对应的待选择参考像素点位置。在本技术实施例中,预设偏移量可以是第三采样间隔的二分之一,也可以是其他值,本技术实施例不作具体限定。
[0145]
示例性地,在相关技术方案中,针对非正方形解码块的长边进行参考像素点采样如图4b所示。在图4b中,根据长边与短边之间的比值,可以确定出第三采样间隔为4;长边是从左侧第一个参考像素点位置作为起始点,然后按照第三采样间隔选取出与短边的相邻参考像素点个数相同的参考像素点。由于这样会使得所采样的参考像素点偏左,不能覆盖整个长边的特性;因此,在本实施例中,针对非正方形解码块的长边首先进行初始偏移,使得所采样的参考像素点能够覆盖整个长边的特性。比如预设偏移量为第三采样间隔的二分之一,即预设偏移量为2,也就是说,本实施例进行采样是以2为起始点的,这样所组成的相邻参考像素子集能够更好地覆盖整个长边的特性。
[0146]
在一些实施例中,所述从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置,包括:
[0147]
删掉所述至少一个边的起始位置和末端位置分别对应的参考像素点,得到第二相邻参考像素集合;
[0148]
以所述至少一个边的中点为基准点,基于所述第二相邻参考像素集合,按照预设采样个数确定待选择参考像素点位置。
[0149]
需要说明的是,本技术实施例可以直接基于待解码块左侧边或者上侧边的中点为基准点进行参考像素点的选取,以组成相邻参考像素子集;本技术实施例还可以先删除待解码块左侧边/上侧边对应的起始位置和末端位置(比如,针对上侧边来说,起始位置为左侧边缘位置,末端位置为右侧边缘位置;针对左侧边来说,起始位置为上侧边缘位置,末端位置为下侧边缘位置)分别对应的参考像素点,保留了中间部分的参考像素点,然后再将所选取的参考像素点来组成相邻参考像素子集。
[0150]
还需要说明的是,预设采样个数可以任意取值;一般来说,预设采样个数小于表2中所示的n1即可;但是本技术实施例并不局限于预设采样个数等于n2或n2‘
。由于预设采样个数小于表2中所示的n1,这样就可以降低参考像素点的搜索复杂度,以提升解码预测性能。具体来说,可以通过改变上述式(4)和式(5)中的δ和shift值,也就可以实现以不同的起始点和采样间隔来确定待选择参考像素点位置,进而可以选取到对应的参考像素点,以组成相邻参考像素子集。
[0151]
在一些实施例中,所述基于所述相邻参考像素子集,对所述待解码块进行预测解码,包括:
[0152]
基于所述相邻参考像素子集,确定模型参数;
[0153]
根据所述模型参数,建立预测模型;其中,所述预测模型用于表征所述待解码块中每个像素点对应的第一图像分量与第二图像分量之间的预测关系;
[0154]
基于所述预测模型,对所述待解码块进行预测解码。
[0155]
需要说明的是,当得到相邻参考像素子集之后,就可以构造出模型参数α和β;这样,根据上述式(1)就可以建立预测模型;根据预测模型,就可以对该待解码块进行预测解码。由于相邻参考像素子集中所包括的相邻参考像素点兼顾了重要性和分散性,使得所构造的模型参数更为准确,从而更好地提升了解码预测性能,进而降低了比特率。
[0156]
上述实施例提供了一种解码预测方法,通过获取与待解码块至少一个边相邻的参考像素点,得到第一相邻参考像素集合;从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置;基于所述待选择参考像素点位置,从所述第一相邻参考像素集合中选取与所述待选择参考像素点位置对应的参考像素点,将选取得到的参考像素点组成相邻参考像素子集;基于所述相邻参考像素子集,对所述待解码块进行预测解码;由于相邻参考像素子集中的相邻参考像素不仅兼顾了重要性和分散性,而且相邻参考像素子集中的像素个数较少,从而降低了搜索的复杂度,提升了视频图像解码的预测性能,进而降低了比特率。
[0157]
基于前述图8所示技术方案相同的发明构思,参见图15,其示出了本技术实施例提供的一种解码预测装置150的组成结构示意图。该解码预测装置150可以包括:获取单元1501、确定单元1502、选取单元1503和解码单元1504,其中,
[0158]
所述获取单元1501,配置为获取与待解码块至少一个边相邻的参考像素点,得到第一相邻参考像素集合;
[0159]
所述确定单元1502,配置为从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置;
[0160]
所述选取单元1503,配置为基于所述待选择参考像素点位置,从所述第一相邻参考像素集合中选取与所述待选择参考像素点位置对应的参考像素点,将选取得到的参考像素点组成相邻参考像素子集;
[0161]
所述解码单元1504,配置为基于所述相邻参考像素子集,对所述待解码块进行预测解码。
[0162]
在上述方案中,所述确定单元1502,具体配置为基于所述至少一个边的长度,若所述至少一个边的中点位于两个参考像素点之间的中间位置,则将所述中间位置偏右的第一个参考像素点位置作为所述至少一个边的基准点,或者将所述中间位置偏左的第一个参考像素点位置作为所述至少一个边的基准点。
[0163]
在上述方案中,所述确定单元1502,具体配置为基于所述至少一个边的长度,若所述至少一个边的中点位于两个参考像素点之间的中间位置,则将所述中间位置偏下的第一个参考像素点位置作为所述至少一个边的基准点,或者将所述中间位置偏上的第一个参考像素点位置作为所述至少一个边的基准点。
[0164]
在上述方案中,参见图15,所述解码预测装置150还包括计算单元1505,配置为基于所述预设采样个数和所述至少一个边的长度,计算得到第一采样间隔;
[0165]
所述确定单元1502,具体配置为以所述至少一个边的中点为基准点,按照所述第
一采样间隔确定所述至少一个边对应的待选择参考像素点位置。
[0166]
在上述方案中,所述计算单元1505,还配置为基于所述至少一个边的长度,计算所述至少一个边的中点值;以及根据所述中点值和第一采样间隔,计算得到参考像素点位置;
[0167]
所述确定单元1502,具体配置为当所述中点值为非整数时,对所述中点值左侧的参考像素点位置向小取整,将取整后的参考像素点位置确定为待选择参考像素点位置;对所述中点值右侧的参考像素点位置向大取整,将取整后的参考像素点位置确定为待选择参考像素点位置。
[0168]
在上述方案中,所述计算单元1505,还配置为基于所述至少一个边的长度,计算所述至少一个边的中点值;以及根据所述中点值和第一采样间隔,计算得到参考像素点位置;
[0169]
所述确定单元1502,具体配置为当所述中点值为非整数时,对所述中点值左侧的参考像素点位置向大取整,将取整后的参考像素点位置确定为待选择参考像素点位置;对所述中点值右侧的参考像素点位置向小取整,将取整后的参考像素点位置确定为待选择参考像素点位置。
[0170]
在上述方案中,参见图15,所述解码预测装置150还包括调整单元1506,配置为对所述第一采样间隔进行调整,得到第二采样间隔;
[0171]
所述确定单元1502,还配置为以所述至少一个边的中点为基准点,按照所述第二采样间隔确定所述至少一个边对应的待选择参考像素点位置。
[0172]
在上述方案中,所述确定单元1502,还配置为以所述至少一个边的中点为基准点,按照所述第一采样间隔确定所述基准点左侧对应的待选择参考像素点位置,按照所述第二采样间隔确定所述基准点右侧对应的待选择参考像素点位置。
[0173]
在上述方案中,所述确定单元1502,还配置为以所述至少一个边的中点为基准点,根据所述预设采样个数将处于所述基准点附近的连续的参考像素点位置确定为待选择参考像素点位置,且所述基准点位于所述待选择参考像素点位置的中间位置。
[0174]
在上述方案中,所述待解码块包括正方形解码块或者非正方形解码块。
[0175]
在上述方案中,所述获取单元1501,还配置为删掉所述至少一个边的起始位置和末端位置分别对应的参考像素点,得到第二相邻参考像素集合;
[0176]
所述确定单元1502,还配置为以所述至少一个边的中点为基准点,基于所述第二相邻参考像素集合,按照预设采样个数确定待选择参考像素点位置。
[0177]
在上述方案中,参见图15,所述解码预测装置150还包括建立单元1507,配置为基于所述相邻参考像素子集,确定模型参数;以及根据所述模型参数,建立预测模型;其中,所述预测模型用于表征所述待解码块中每个像素点对应的第一图像分量与第二图像分量之间的预测关系;
[0178]
所述解码单元1504,具体配置为基于所述预测模型,对所述待解码块进行预测解码。
[0179]
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0180]
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0181]
因此,本实施例提供了一种计算机存储介质,该计算机存储介质存储有解码预测程序,所述解码预测程序被至少一个处理器执行时实现前述图8所示技术方案中所述方法的步骤。
[0182]
基于上述解码预测装置150的组成以及计算机存储介质,参见图16,其示出了本技术实施例提供的解码预测装置150的具体硬件结构示例,可以包括:网络接口1601、存储器1602和处理器1603;各个组件通过总线系统1604耦合在一起。可理解,总线系统1604用于实现这些组件之间的连接通信。总线系统1604除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图16中将各种总线都标为总线系统1604。其中,网络接口1601,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
[0183]
存储器1602,用于存储能够在处理器1603上运行的计算机程序;
[0184]
处理器1603,用于在运行所述计算机程序时,执行:
[0185]
获取与待解码块至少一个边相邻的参考像素点,得到第一相邻参考像素集合;
[0186]
从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置;
[0187]
基于所述待选择参考像素点位置,从所述第一相邻参考像素集合中选取与所述待选择参考像素点位置对应的参考像素点,将选取得到的参考像素点组成相邻参考像素子集;
[0188]
基于所述相邻参考像素子集,对所述待解码块进行预测解码。
[0189]
可以理解,本技术实施例中的存储器1602可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,drram)。本文描述的系统和方法的存储器1602旨在包括但不限于这些和任意其它适合类型的存储器。
[0190]
而处理器1603可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上
述方法的各步骤可以通过处理器1603中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1603可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1602,处理器1603读取存储器1602中的信息,结合其硬件完成上述方法的步骤。
[0191]
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(application specific integrated circuits,asic)、数字信号处理器(digital signal processing,dsp)、数字信号处理设备(dsp device,dspd)、可编程逻辑设备(programmable logic device,pld)、现场可编程门阵列(field-programmable gate array,fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本技术所述功能的其它电子单元或其组合中。
[0192]
对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
[0193]
可选地,作为另一个实施例,处理器1603还配置为在运行所述计算机程序时,执行前述图8所示技术方案中所述方法的步骤。
[0194]
需要说明的是:本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
[0195]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
[0196]
工业实用性
[0197]
本技术实施例中,首先获取与待解码块至少一个边相邻的参考像素点,得到第一相邻参考像素集合;然后从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置;再基于所述待选择参考像素点位置,从所述第一相邻参考像素集合中选取与所述待选择参考像素点位置对应的参考像素点,将选取得到的参考像素点组成相邻参考像素子集;最后基于所述相邻参考像素子集,对所述待解码块进行预测解码;由于该相邻参考像素子集中相邻参考像素点的选取兼顾了重要性和分散性,基于该相邻参考像素子集所构造的模型参数较为准确,可以使得视频图像解码的预测性能得到提升;而且该相邻参考像素子集中的像素个数较少,从而还降低了搜索的复杂度,提升了视频图像解码的预测性能,进而降低了比特率。
技术特征:
1.一种解码预测方法,其特征在于,所述方法包括:获取与待解码块至少一个边相邻的参考像素点;从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置;基于所述待选择参考像素点位置,从所述参考像素点中选取与所述待选择参考像素点位置对应的参考像素点;基于选取得到的参考像素点,对所述待解码块进行预测解码;其中,所述从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置,包括:从所述至少一个边中确定一基准点,根据所述预设采样个数将处于所述基准点相邻的第一参考像素点位置和第二参考像素点位置确定为所述待选择参考像素点位置。2.根据权利要求1所述的方法,其特征在于,所述从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置,包括:从所述至少一个边中确定一基准点,根据所述预设采样个数将处于所述基准点相邻的第三参考像素点位置和第四参考像素点位置确定为所述待选择参考像素点位置。3.根据权利要求1或2所述的方法,其特征在于,所述基准点位于所述待选择参考像素点位置的中间位置。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:若所述至少一个边的长度为8,所述预设采样个数为3,则确定所述至少一个边对应的待选择参考像素点位置为2、3、4;或者3、4、5。5.根据权利要求1所述的方法,其特征在于,所述至少一个边至少包括下述之一:所述待解码块的左侧边和所述待解码块的上侧边。6.根据权利要求1所述的方法,其特征在于,所述从所述至少一个边中确定一基准点,包括:基于所述至少一个边的长度计算所述至少一个边的中点,若所述至少一个边的中点位于两个参考像素点之间的中间位置,则将所述中间位置偏右的第一个参考像素点位置作为所述至少一个边的基准点,或者将所述中间位置偏左的第一个参考像素点位置作为所述至少一个边的基准点。7.根据权利要求1所述的方法,其特征在于,所述从所述至少一个边中确定一基准点,包括:基于所述至少一个边的长度计算所述至少一个边的中点,若所述至少一个边的中点位于两个参考像素点之间的中间位置,则将所述中间位置偏下的第一个参考像素点位置作为所述至少一个边的基准点,或者将所述中间位置偏上的第一个参考像素点位置作为所述至少一个边的基准点。8.根据权利要求1所述的方法,其特征在于,所述从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置,包括:基于所述预设采样个数和所述至少一个边的长度,计算得到第一采样间隔;从所述至少一个边中确定一基准点,按照所述第一采样间隔确定所述至少一个边对应的待选择参考像素点位置。
9.根据权利要求8所述的方法,其特征在于,所述从所述至少一个边中确定一基准点,按照所述第一采样间隔确定所述至少一个边对应的待选择参考像素点位置,包括:基于所述至少一个边的长度,计算所述至少一个边的中点值;根据所述中点值和所述第一采样间隔,计算得到参考像素点位置;当所述中点值为非整数时,对所述中点值左侧的参考像素点位置向小取整,将取整后的参考像素点位置确定为所述待选择参考像素点位置;对所述中点值右侧的参考像素点位置向大取整,将取整后的参考像素点位置确定为所述待选择参考像素点位置。10.根据权利要求8所述的方法,其特征在于,所述从所述至少一个边中确定一基准点,按照所述第一采样间隔确定所述至少一个边对应的待选择参考像素点位置,包括:基于所述至少一个边的长度,计算所述至少一个边的中点值;根据所述中点值和所述第一采样间隔,计算得到参考像素点位置;当所述中点值为非整数时,对所述中点值左侧的参考像素点位置向大取整,将取整后的参考像素点位置确定为所述待选择参考像素点位置;对所述中点值右侧的参考像素点位置向小取整,将取整后的参考像素点位置确定为所述待选择参考像素点位置。11.根据权利要求8所述的方法,其特征在于,在所述计算得到第一采样间隔之后,所述方法还包括:对所述第一采样间隔进行调整,得到第二采样间隔;从所述至少一个边中确定一基准点,按照所述第二采样间隔确定所述至少一个边对应的待选择参考像素点位置。12.根据权利要求11所述的方法,其特征在于,在所述得到第二采样间隔之后,所述方法还包括:从所述至少一个边中确定一基准点,按照所述第一采样间隔确定所述基准点左侧对应的待选择参考像素点位置,按照所述第二采样间隔确定所述基准点右侧对应的待选择参考像素点位置。13.根据权利要求8所述的方法,其特征在于,所述基于所述预设采样个数和所述至少一个边的长度,计算得到第一采样间隔,包括:基于所述预设采样个数和所述至少一个边的长度,利用式(1)计算所述第一采样间隔;δ=length/(n2/2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中,δ表示所述第一采样间隔,length表示所述至少一个边的长度,n2表示所述预设采样个数;相应地,所述从所述至少一个边中确定一基准点,按照所述第一采样间隔确定所述至少一个边对应的待选择参考像素点位置,包括:基于所述第一采样间隔,利用式(2)计算所述待选择参考像素点的起始位置;根据所述待选择参考像素点的起始位置和所述第一采样间隔,确定所述至少一个边对应的待选择参考像素点位置;shift=δ/2
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中,shift表示所述待选择参考像素点的起始位置。14.根据权利要求13所述的方法,其特征在于,所述根据所述待选择参考像素点的起始位置和所述第一采样间隔,确定所述至少一个边对应的待选择参考像素点位置,包括:
若所述待选择参考像素点的起始位置为2,所述第一采样间隔为4,则确定所述至少一个边对应的待选择参考像素点位置为2、6、10、14。15.根据权利要求1所述的方法,其特征在于,所述从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置,包括:若所述至少一个边的长度为8,所述预设采样个数为2,则确定所述至少一个边对应的待选择参考像素点位置为2、6;或者1、5;或者1、6;或者2、5。16.根据权利要求1至15中任一项所述的方法,其特征在于,所述待解码块包括正方形解码块或者非正方形解码块。17.根据权利要求1所述的方法,其特征在于,所述从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置,包括:从所述参考像素点中,获取除所述至少一个边的起始位置和末端位置分别对应的参考像素点之外的剩余参考像素点;从所述至少一个边中确定一基准点,基于所述剩余参考像素点,按照预设采样个数确定所述待选择参考像素点位置。18.根据权利要求1所述的方法,其特征在于,所述基于选取得到的参考像素点,对所述待解码块进行预测解码,包括:基于所述选取得到的参考像素点,确定预测模型的模型参数;其中,所述预测模型用于表征所述待解码块中像素点(samples)的第一图像分量与第二图像分量之间的预测关系;基于所述预测模型,对所述待解码块进行预测解码。19.根据权利要求18所述的方法,其特征在于,所述基于所述选取得到的参考像素点,确定模型参数,包括:从所述选取得到的参考像素点中,确定第一图像分量相邻参考值中的最大值l
max
和最小值l
min
,以及l
max
和l
min
对应位置的参考像素点所对应的第二图像分量相邻参考值c
max
和c
min
;根据l
max
、l
min
、c
max
和c
min
,利用式(3)计算所述模型参数;其中,α和β表示所述模型参数。20.一种解码预测装置,其特征在于,所述解码预测装置包括获取单元、确定单元、选取单元和解码单元,所述获取单元,配置为获取与待解码块至少一个边相邻的参考像素点;所述确定单元,配置为从所述至少一个边中确定一基准点,根据所述预设采样个数将处于所述基准点相邻的第一参考像素点位置和第二参考像素点位置确定为所述待选择参考像素点位置;所述选取单元,配置为基于所述待选择参考像素点位置,从所述参考像素点中选取与所述待选择参考像素点位置对应的参考像素点;所述解码单元,配置为基于选取得到的参考像素点,对所述待解码块进行预测解码。21.一种解码预测装置,其特征在于,所述解码预测装置包括:存储器和处理器;
所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行如权利要求1至19中任一项所述方法的步骤。22.一种计算机存储介质,其特征在于,所述计算机存储介质存储有解码预测程序,所述解码预测程序被至少一个处理器执行时实现如权利要求1至19中任一项所述方法的步骤。
技术总结
本申请实施例公开了一种解码预测方法、装置及计算机存储介质,该方法包括:获取与待解码块至少一个边相邻的参考像素点,得到第一相邻参考像素集合;从所述至少一个边中确定一基准点,按照预设采样个数确定所述至少一个边对应的待选择参考像素点位置;基于所述待选择参考像素点位置,从所述第一相邻参考像素集合中选取与所述待选择参考像素点位置对应的参考像素点,将选取得到的参考像素点组成相邻参考像素子集;基于所述相邻参考像素子集,对所述待解码块进行预测解码。待解码块进行预测解码。待解码块进行预测解码。
技术研发人员:霍俊彦 马彦卓 万帅 杨付正 李新伟
受保护的技术使用者:OPPO广东移动通信有限公司
技术研发日:2018.12.25
技术公布日:2023/7/21
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
