一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视频编码方法和装置、电子装置和计算机可读存储介质与流程

2022-02-19 06:43:32 来源:中国专利 TAG:


1.本公开涉及视频编码技术领域,尤其涉及一种用于视频编码的帧内预测的方法和装置、电子设备及计算机可读存储介质。


背景技术:

2.在现有的视频编码标准中,例如国际标准高效率视频编码(hevc)、通用视频编码(vvc)等,包含了帧内和帧间两种预测方法。以hevc标准举例,视频的每一帧图像需要划分为固定大小的正方形图像块为基本单位,每一图像块按照光栅顺序依次进行编码。图像块首先进行编码块划分,每一编码块利用参考图像进行帧内/帧间预测,预测块与原始块之间的差值为残差块。生成的残差块依次进行变换和量化,与编码模式一起进行熵编码后构成码流。预测后的残差通常幅值远比原始像素值要小,因此用编码像素差值来代替直接编码原始像素值,可以大大提高编码效率。在hevc编码标准中,参考像素可以使用正上方、右上方、正左方和左下方的相邻重构像素。在vvc中,还会采用多行参考像素来提高预测的精度。
3.结合上述编码方法可以知道,在有损视频压缩中,参考像素通常是经过量化过程的,因此会存在不同程度的失真。由于后续块会使用已编码的重构像素作为参考像素进行当前块预测,所以参考像素的失真会影响当前块的预测准确度,因此,需要一种提高视频编码的预测准确度的方法。


技术实现要素:

4.本公开提供了一种视频编码方法,结合视频内容特点,有选择地减少参考像素失真,从而提高帧内预测准确度,提高编码器压缩效率。通过对参考像素的失真情况进行调整,可以尽可能减少参考像素的失真,从而可以提高视频编码质量。
5.根据本公开的第一方面,提供了一种视频编码方法,包括:确定针对从视频图像帧划分出的图像块的第一帧内预测模式以及用于帧内预测的参考像素;基于当前图像块的周围图像块的第一帧内预测模式,确定所述当前图像块中的参考像素对应的权重,所述权重表征所述参考像素的失真对于所述周围图像块的帧内预测的影响;基于率失真代价函数确定所述当前图像块在至少一个候选帧内预测模式下的率失真代价值,其中,率失真代价函数包括第一率失真代价项和具有所述权重的第二率失真代价项,其中,第一率失真代价项为针对所述当前图像块的帧内预测的代价项,第二率失真代价项为针对所述参考像素的加权代价项;根据所述至少一个候选帧内预测模式下的所述率失真代价值,确定所述当前图像块的第二帧内预测模式,并使用第二帧内预测模式对所述当前图像块执行编码。
6.根据本公开的第一方面,确定针对从视频图像帧划分出的图像块的第一帧内预测模式包括:对图像块进行纹理检测,并确定适用于检测到的纹理的第一帧内预测模式;确定用于帧内预测的参考像素包括:基于采用的视频编码标准,确定图像块中用于帧内预测的参考像素的位置。
7.根据本公开的第一方面,所述用于周围图像块的帧内预测的参考像素包括:所述
当前图像块的下侧像素行、右侧像素列和右下角像素中的至少一个。
8.根据本公开的第一方面,所述确定所述当前图像块中的参考像素对应的权重,包括:基于所述当前图像块的右侧图像块的第一帧内预测模式所对应的预测方向角度,确定用于所述当前图像块的右侧像素行的率失真代价项的权重a;基于所述当前图像块的下侧图像块的第一帧内预测模式对应的预测方向角度,确定用于所述当前图像块的下侧像素列的率失真代价项的权重b;将用于右下角像素的率失真代价项的权重值c确定为预设值max;其中,a和b的数值在[0,max]的范围内。
[0009]
根据本公开的第一方面,所述根据所述至少一个候选帧内预测模式下的所述多个率失真代价值,确定所述当前图像块的第二帧内预测模式包括:从所述至少一个候选帧内预测模式中确定出具有最小率失真代价值的候选帧内预测模式,作为用于所述当前图像块的第二帧内预测模式。
[0010]
根据本公开的第一方面,所述率失真代价函数中还包括量化参数,所述基于率失真代价函数确定所述当前图像块在至少一个候选帧内预测模式下的率失真代价值包括:在每个候选帧内预测模式下遍历多个量化参数,并确定所述当前图像块的率失真代价函数在不同的候选帧内预测模式的每个量化参数下的多个率失真代价值;其中,所述根据所述至少一个候选帧内预测模式下的所述率失真代价值,确定第二帧内预测模式包括:确定所述多个率失真代价值中的最小率失真代价值,并将所述最小率失真代价值对应的候选帧内预测模式和量化参数确定为用于对所述当前图像块执行帧内预测的第二帧内预测模式和量化参数。
[0011]
根据本公开的第一方面,所述确定图像块的第一帧内预测模式包括:通过图像梯度检测计算图像块的梯度角度;获取与计算出的梯度角度相应的帧内预测模式,作为所述图像块的第一帧内预测模式。
[0012]
根据本公开的第二方面,提供了一种视频编码装置,包括:第一模式确定模块,被配置为确定针对从视频图像帧划分出的图像块的第一帧内预测模式以及用于帧内预测的参考像素;权重确定模块,被配置为当前图像块的周围图像块的第一帧内预测模式,确定所述当前图像块中的参考像素对应的权重,所述权重表征所述参考像素的失真对于所述周围图像块的帧内预测的影响;率失真代价确定模块,被配置为基于率失真代价函数确定所述当前图像块在至少一个候选帧内预测模式下的率失真代价值,其中,率失真代价函数包括第一率失真代价项和具有所述权重的第二率失真代价项,其中,第一率失真代价项为针对所述当前图像块的帧内预测的代价项,第二率失真代价项为针对所述参考像素的加权代价项;第二模式确定模块,被配置为根据所述至少一个候选帧内预测模式下的所述率失真代价值确定所述当前图像块的第二帧内预测模式,并使用第二帧内预测模式对所述当前图像块执行编码。
[0013]
根据本公开的第二方面,第一模式确定模块被配置为对图像块进行纹理检测,确定适用于检测到的纹理的第一帧内预测模式,并且基于视频编码标准,确定图像块中用于帧内预测的参考像素的位置。
[0014]
根据本公开的第二方面,所述用于当前周围图像块的帧内预测的参考像素包括所述当前图像块的下侧像素行、右侧像素列和右下角像素中的至少一个。
[0015]
根据本公开的第二方面,权重确定模块被配置为:基于所述当前图像块的右侧图
像块的第一帧内预测模式所对应的预测方向角度,确定用于所述当前图像块的右侧像素行的率失真代价项的权重a;基于所述当前图像块的下侧图像块的第一帧内预测模式对应的预测方向角度,确定用于所述当前图像块的下侧像素列的率失真代价项的权重b;将用于右下角像素的率失真代价项的权重值c确定为预设值max,其中,a和b的数值在[0,max]的范围内。
[0016]
根据本公开的第二方面,第二模式确定模块被配置为:从所述多个候选帧内预测模式中确定出具有最小率失真代价值的候选帧内预测模式,作为用于所述当前图像块的第二帧内预测模式。
[0017]
根据本公开的第二方面,所述率失真代价函数中还包括量化参数,率失真代价确定模块被配置为:在每个候选帧内预测模式下遍历多个量化参数,并确定所述当前图像块的率失真代价函数在每个候选帧内预测模式的多个量化参数下的多个率失真代价值,并且第二模式确定模块被配置为:确定与所述多个率失真代价值中的最小率失真代价值对应的候选帧内预测模式和量化参数,并将所述候选帧内预测模式和量化参数确定为用于对所述当前图像块执行帧内预测的第二帧内预测模式和量化参数。
[0018]
根据本公开的第二方面,第一模式确定模块被配置为通过图像梯度检测计算图像块的梯度角度,获取与计算出的梯度角度相应的帧内预测模式,作为用于图像块的第一帧内预测模式。
[0019]
根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如上所述的视频编码方法。
[0020]
根据本公开的第四方面,提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由至少一个处理器执行时,使得所述至少一个处理器能够执行如上求所述的视频编码方法。
[0021]
根据本公开的第五方面,提供了一种计算机程序产品,所述计算机程序产品中的指令被至少一个处理器运行以执行如上所述的视频编码方法。
[0022]
本公开的实施例提供的技术方案至少带来以下有益效果:通过对参考像素的失真情况进行调整,可以尽可能减少参考像素的失真,从而可以提高视频编码质量。
[0023]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0024]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
[0025]
图1是示出根据本公开的示例性实施例的视频编码方案的整体框架示意图。
[0026]
图2是示出在视频编码方案中使用的帧内预测的示意图。
[0027]
图3是示出根据本公开的示例性实施例的视频编码方法的流程图。
[0028]
图4是示出根据本公开的示例性实施例的用于hevc编码的帧内预测的图像块及其预测方向的示意图。
[0029]
图5是示出根据本公开的示例性实施例的视频编码装置的框图。
[0030]
图6是示出根据本公开的示例性实施例的用于视频编码的电子设备的示意图。
[0031]
图7是示出根据本公开的另一示例性实施例的用于视频编码的电子设备的示意图。
具体实施方式
[0032]
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
[0033]
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0034]
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括a和b之中的至少一个”即包括如下三种并列的情况:(1)包括a;(2)包括b;(3)包括a和b。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
[0035]
图1是根据本公开的示例性实施例的视频编码方案的整体框架示意图。
[0036]
第一步,对于任一帧视频图像,将该帧图像分割为至少一个编码单元。
[0037]
第二步,将该帧图像输入到编码器中进行编码预测,该过程主要利用视频数据的空间相关性和时间相关性,采用帧内预测或帧间预测去除每个编码单元中将被编码的块的时空域冗余信息,得到每个块在参考帧中的匹配块。具体地,在帧内预测中,利用当前帧已编码的重构像素来预测还未编码的图像块,从而去除视频中的空间冗余。
[0038]
如图2所示,在图2(a)中,方框内图像内容与框外像素值相似,并且拥有方向性的纹理。如图2(b)所示,在hevc编码标准中,参考像素可以使用正上方,右上方,正左方和左下方的相邻重构像素。当重构像素不存在时会按照一定规则进行填充。在vvc编码标准中,还会采用多行参考像素来提高预测的精度。
[0039]
不同帧内预测模式使用的参考像素位置不同。例如,如图2(c)所示,水平模式(mode 10)使用的是当前块左侧一列像素作为参考像素(图2(c)中左方斜线阴影部分像素),垂直模式(mode 26)则使用当前块上方一行重构像素作为参考像素(图2(c)上方斜线阴影部分像素)。因此,对不同内容的编码块,需要调整的参考像素的位置、数量均不相同。例如,对于水平模式(mode 10),需要弥补左方斜线阴影区域的参考像素的失真,对于垂直模式(mode 26)需要弥补上方斜线阴影区域的参考像素的失真。
[0040]
第三步,将匹配块和相应的编码块相减,得到残差块,并对残差块分别进行变换和量化处理,得到量化后的变换系数。这里,变换可包括离散余弦变换(dct)、快速傅里叶变换(fft)等。量化处理为数字信号处理领域一种常用的技术,是指将信号的连续取值(或者大量可能的离散取值)近似为有限多个(或较少的)离散值的过程。量化处理主要应用于从连续信号到数字信号的转换中,连续信号经过采样成为离散信号,离散信号经过量化即成为
数字信号。
[0041]
第四步,将量化后的变换系数进行熵编码,得到码流中的一部分并输出。
[0042]
第五步,将量化后的变换系数进行反量化处理和反变换,得到重构残差块,进而将重构残差块与预测块相加,得到重建图像。
[0043]
第六步,将重建图像经过db(deblocking filter,去块滤波)和sao(sample adaptive offset,自适应像素补偿)处理后,加入到参考帧队列中,并作为下一帧图像的理论参考帧。通过循环执行上述第一步至第六步使得视频图像能够逐帧地编码。
[0044]
根据本公开的示例性实施例,在第二步中进行预测模式的选择时,可根据残差块在不同的预测模式下的率失真代价来选择预测模式。根据本公开的示例性实施例,在不同的视频编码标准中,可通过诸如差值平方和(sse)、变换差绝对值总和(satd)等方式来计算率失真代价。在以下说明中,以sse作为计算率失真代价的示例进行说明,但本公开不限于此。
[0045]
图3是示出根据本公开的示例性实施例的视频编码方法的流程图。应理解,可以在具有视频编解码处理能力的设备上实现根据本公开的示例性实施例的分层视频编码方法。例如,可以在手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、上网本、个人数字助理(personal digital assistant,pda)、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备上实施该视频编码方法。
[0046]
如图3所示,首先,在步骤s310,确定从视频帧划分出的图像块的第一帧内预测模式以及用于帧内预测的参考像素。例如,在支持hevc的视频编码器中,可将当前视频图像帧划分为n
×
n(n可为标准支持的任意值,例如64、32、16等)的图像块b_i(i为图像块索引),然后,对每个b_i进行纹理检测以确定适用于检测到的纹理的帧内预测模式。这里,用于帧内预测的参考像素可根据具体的视频编解码标准而被确定。例如,在hevc标准中,由于图像块的右侧的像素列、下侧的像素行以及右下角的像素可能被分别用于周围像素块的帧内预测,因此,可将以上位置的像素中的至少一个确定为用于周围像素块的帧内预测的参考像素。
[0047]
根据本公开的示例性实施例,可使用hevc、vvc标准中定义的帧内预测模式选择方法来直接确定相应的帧内预测模式,在这些标准中,帧内预测模式的选择设计与图像块的纹理是一致的,因此可直接获得初始的帧内预测模式,即第一帧内预测模式。
[0048]
根据本公开的示例性实施例,也可以使用图像梯度检测方法,即,利用sobel算子对图像块进行滤波后计算梯度角度,然后将梯度角度所对应的预测方向确定为第一帧内预测模式。例如在图4(a)示出的hevc的帧内预测模式对应的预测方向角度中,可将检测到的结果对应到mode:2,3

34中任意一种。
[0049]
在步骤s310确定的第一帧内预测模式(m_i)的信息可被保存并在后续编码过程中被使用。
[0050]
接下来,在步骤s320,基于当前图像块的周围图像块的第一帧内预测模式,确定所述当前图像块中的参考像素对应的权重,所述权重表征所述参考像素的失真对于所述周围图像块的帧内预测的影响。
[0051]
接下来,在步骤s330,基于率失真代价函数确定所述当前图像块在至少一个候选帧内预测模式下的率失真代价值,其中,率失真代价函数包括用于当前图像块的帧内预测
的率失真代价项(以下也称为第一率失真代价项)和用于当前图像块的周围图像块的帧内预测的参考像素的加权率失真代价项(以下也称为第二率失真代价项),其中,用于参考像素的加权率失真代价项的权重是在步骤s320中基于当前图像块的周围图像块的第一帧内预测模式被确定的。
[0052]
如上所述,根据本公开的示例性实施例,在符合hevc标准的编码器中,用于当前图像块的周围图像块的帧内预测的参考像素可包括所述当前图像块的下侧像素行、右侧像素列和右下角像素中的至少一个。例如,当前图像块的最下面一行像素、最右侧一列像素和右下角的一个像素可分别用作下边的邻近图像块、右侧的邻近图像块以及右下角的图像块的帧内预测的参考像素,而在vvc标准中可采用更多行或更多列的参考像素。应理解,根据编码标准的所采用的帧内预测的参考像素的不同,可采用不同位置的参考像素。
[0053]
如上所述,为了考虑到当前编码的图像块被用作帧内预测的参考像素而对后续的图像块的编码产生的影响,需要对可能用于该图像块的周围图像块的帧内预测的参考像素进行选择性调整以补偿像素失真。在hevc标准中,如图4(b)所示,当对当前图像块i_tl进行编码时,当前图像块i_tl的最右侧一列参考像素(col_right)可能会影响到图像块i_t,最下一行参考像素(row_bottom)可能会影响像素块i_l,而最右下角参考像素(pixel_rb)可能会影响到图像块i。因此,在选择图像块i_tl的帧内预测模式时,需要考虑对周围图像块的影响。
[0054]
在步骤s310已经针对各个图像块检测出了第一帧内预测模式的信息m_i,因此在对当前图像块i_tl进行帧内预测模式选择时,可以将可能被用作参考像素的率失真代价项引入率失真优化函数。
[0055]
具体地,例如,在hevc编码中可使用的原来的率失真代价函数为包括用于图像块的率失真代价项的如下的等式(1):
[0056]
j(i_tl_mode_j)=sse(mode_j) lambda*r(mode_j)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1),
[0057]
其中,j表示图像块i_tl在mode_j(这里,j可以为帧内预测模式索引0

34中的任意一个)下的率失真代价,sse表示mode_j的重构像素与原始像素的差值平方和,r(mode_j)表示mode_j的码率,lambda表示码率的率失真代价系数。
[0058]
根据本公开的示例性实施例,可对以上率失真代价函数进行修正,以包括用于图像块的周围图像块的帧内预测的参考像素的加权率失真代价项,修正后的率失真代价函数可以为如下的等式(3):
[0059]
(i_tl_mode_best)=min{j(i_tl_mode_j)=sse(mode_j) lambda*r(mode_j) a*sse(col_right) b*sse(row_bottom) c*sse(pixel_rb)}(3),
[0060]
其中,a、b和c分别是用于右侧像素列、下侧像素行和右下角像素的权重参数。也就是说,等式(3)中与等式(1)相同的部分,即,sse(mode_j) lambda*r(mode_j)可以被认为是第一率失真代价项,而与参考像素相关的部分,即,a*sse(col_right) b*sse(row_bottom) c*sse(pixel_rb)}可以被认为是上述的第二率失真代价项。
[0061]
根据本公开的示例性实施例,用于当前图像块的下侧像素行的率失真代价项的权重可基于与当前图像块相邻的下侧图像块的第一帧内预测模式被确定,用于当前图像块的右侧像素列的率失真代价项的权重可基于与当前图像块相邻的右侧图像块的第一帧内预测模式被确定,用于右下角像素的率失真代价项的权重可以为固定值。也就是说,由于参考
像素对于周围图像块的影响与周围图像块的预测模式(即,方向)相关,因此,通过在率失真代价函数中引入考虑了周围像素块的参考方向的率失真代价项,可以更好地补偿参考像素的失真。
[0062]
根据本公开的示例性实施例,用于当前图像块的右侧像素行的率失真代价项的权重a基于当前图像块的右侧图像块的第一帧内预测模式所对应的预测方向角度被确定,用于当前图像块的下侧像素列的率失真代价项的权重b基于当前图像块的下侧图像块的第一帧内预测模式对应的预测方向角度被确定,而用于右下角像素的率失真代价项的权重值c可以为预设值max,其中,a和b的数值在预定范围[0,max]内。
[0063]
例如,可根据以下等式来确定用于当前图像块的右侧像素列的率失真代价项的权重a、用于当前图像块的下侧像素行的率失真代价项的权重b和用于右下角像素的率失真代价项的权重值c:
[0064]
a=clip3(0,max,abs(cot(ang_m_i_t))),
[0065]
b=clip3(0,max,abs(tan(ang_m_i_l))),
[0066]
c=max,
[0067]
其中,ang_m_i_t表示与当前图像块相邻的右侧图像块的第一帧内预测模式对应的预测方向角度,ang_m_i_l表示与当前图像块相邻的下侧图像块的第一帧内预测模式对应的预测方向角度,max为预先设置的值。通过clip3函数,可将a、b的值限定在预定的范围[0,max]内。也就是说,如果abs(cot(ang_m_i_t))的值大于max,则a=max,如果abs(cot(ang_m_i_t))的值小于0,则a=0。同样地,如果abs(tan(ang_m_i_l))的值大于max,则b=max,如果abs(tan(ang_m_i_l))的值小于0,则b=0。根据本公开的示例性实施例,max可以取值2。特别地,在hevc和vvc标准中,对于平面模式(intra_planar)和dc模式,可以取值a=b=c=1。
[0068]
应理解,以上的率失真代价项中的权重值所使用的取值方式(例如,三角函数)仅是示例,可根据视频编码方式的不同采取对应的取值方式,只要该权重能够反映出当前图像块中用于周围图像块的参考像素对于周围像素块的预测的影响即可。
[0069]
接下来,在步骤s340,根据所述至少一个候选帧内预测模式下的所述率失真代价值,确定所述当前图像块的第二帧内预测模式,并使用第二帧内预测模式对当前图像块执行编码。也就是说,通过等式3确定出与最小率失真代价值相应的mode_j,可以将mode_j确定为最终的用于图像块i_tl的第二帧内预测模式,并使用该帧内预测模式对图像块进行编码。这里的mode_j可以是根据视频编解码标准规定的多个帧内预测模式之一。也就是说,可确定当前图像块的率失真代价函数在多个候选帧内预测模式下的率失真代价值,并将具有最小率失真代价值的候选帧内预测模式确定为用于所述当前图像块的第二帧内预测模式。
[0070]
通过采用以上的帧内预测模式的视频编码方法,可以减少在帧内预测中使用的参考像素的失真,从而可以提高视频编码的质量。
[0071]
此外,根据本公开的示例性实施例,可以考虑在多个量化参数下的率失真代价函数,通过遍历多个量化参数来找到最佳的帧内预测模式和最佳的量化参数。也就是说,在步骤s330可确定当前图像块的率失真代价函数在不同的候选帧内预测模式和量化参数下的多个率失真代价值,并且在步骤s340将与所述多个率失真代价值中的最小率失真代价值对应的候选帧内预测模式和量化参数确定为用于对当前块执行帧内预测的第二帧内预测模
式和量化参数。
[0072]
例如,在进行计算图像块i_tl的率失真代价时,可引入量化参数(qp)向下遍历多个qp,从而等式(3)的率失真代价可变为如下的等式(4):
[0073]
(i_tl_qp_best,i_tl_mode_best)=min{j(i_tl,mode_j,qp_k)=sse(mode_j,qp_k) lambda*r(mode_j,qp_k) a*sse(col_right,qp_k) b*sse(row_bottom,qp_k) c*sse(pixel_rb,qp_k)}
ꢀꢀꢀꢀ
(4)
[0074]
假设当前给定的qp为32,那么qp_k属于{32,31,30

}。需要遍历qp的个数可以指定,一般可以为2。
[0075]
通过在计算率失真代价过程中加入量化参数,可以更好地反映帧内预测的参考像素的失真,从而进一步提高视频编码的效率和质量。
[0076]
图5是示出根据本公开的示例性实施例的视频编码装置的框图。可以在具有视频编码功能的设备中以硬件、软件和/或软件硬件结合的方式来实现根据本公开的示例性实施例的视频编码装置。
[0077]
如图5所示,根据本公开的示例性实施例的视频编码装置500可包括第一模式确定模块510、权重确定模块520、率失真代价确定模块530和第二模式确定模式540。
[0078]
第一模式确定模块510被配置为确定从视频帧划分出的图像块的第一帧内预测模式以及用于帧内预测的参考像素。这里,如上所述,可根据图像块的纹理检测结果来确定用于图像块的第一帧内预测模式。可选地,在vvc和hevc标准的视频编码中,可以直接使用率失真代价来从多个帧内预测模式中确定一个帧内预测模式作为第一帧内预测模式。
[0079]
权重确定模块520被配置为基于当前图像块的周围图像块的第一帧内预测模式,确定所述当前图像块中用于周围图像块的帧内预测的参考像素对应的权重,所述权重表征所述参考像素的失真对于所述周围图像块的帧内预测的影响。
[0080]
率失真代价确定模块530被配置基于率失真代价函数确定所述当前图像块在至少一个候选帧内预测模式下的率失真代价值,其中,率失真代价函数包括用于当前图像块的帧内预测的率失真代价项和用于当前图像块的周围图像块的帧内预测的参考像素的加权率失真代价项,其中,用于参考像素的加权率失真代价项的权重基于当前图像块的周围图像块的第一帧内预测模式被确定。
[0081]
第二模式确定模块540被配置为根据所述至少一个候选帧内预测模式下的所述率失真代价值,确定所述当前图像块的第二帧内预测模式,并使用第二帧内预测模式对当前图像块执行编码。
[0082]
根据本公开的示例性实施例,第一模式确定模块510被配置为对图像块进行纹理检测以确定适用于检测到的纹理的第一帧内预测模式,并且权重确定模块520被配置为根据视频编码方法所采用的视频编码标准确定所述参考像素的位置。
[0083]
根据本公开的示例性实施例,用于当前图像块的周围图像块的帧内预测的参考像素包括当前图像块的下侧像素行、右侧像素列和右下角像素中的至少一个。例如,在符合hevc标准的编码器中,图像块的最下面一行像素、最右侧一列像素和右下角的一个像素可分别用作下边的邻近图像块、右侧的邻近图像块以及右下角的图像块的帧内预测的参考像素,而在vvc标准中可采用更多行或更多列的参考像素。应理解,根据编码标准的所采用的帧内预测的参考像素的不同,可采用不同位置的参考像素。
[0084]
根据本公开的示例性实施例,用于当前图像块的下侧像素行的率失真代价项的权重基于与当前图像块相邻的下侧图像块的第一帧内预测模式被确定,用于当前图像块的右侧像素列的率失真代价项的权重值基于与当前图像块相邻的右侧图像块的第一帧内预测模式被确定,用于右下角像素的率失真代价项的权重值为固定值。
[0085]
根据本公开的示例性实施例,用于当前图像块的右侧像素行的率失真代价项的权重a基于当前图像块的右侧图像块的第一帧内预测模式所对应的预测方向角度被确定,用于当前图像块的下侧像素列的率失真代价项的权重b基于当前图像块的下侧图像块的第一帧内预测模式对应的预测方向角度被确定,而用于右下角像素的率失真代价项的权重值c可以为预设值max,其中,a和b被的数值在范围[0,max]内。
[0086]
例如,用于当前图像块的下侧像素行的率失真代价项的权重a、用于当前图像块的下侧像素行的率失真代价项的权重b和用于右下角像素的率失真代价项的权重值c通过以下方式被确定:
[0087]
a=clip3(0,max,abs(cot(ang_m_i_t))),
[0088]
b=clip3(0,max,abs(tan(ang_m_i_l))),
[0089]
c=max,
[0090]
其中,ang_m_i_t表示与当前图像块相邻的右侧图像块的第一帧内预测模式对应的预测方向角度,ang_m_i_l表示与当前图像块相邻的下侧图像块的第一帧内预测模式对应的预测方向角度,max为预先设置的值。
[0091]
根据本公开的示例性实施例,率失真代价确定模块520被配置为确定当前图像块的率失真代价函数在不同的候选帧内预测模式和量化参数下的多个率失真代价值,并且第二模式确定模块530被配置为将与所述多个率失真代价值中的最小率失真代价值对应的候选帧内预测模式和量化参数确定为用于对图像块执行帧内预测的第二帧内预测模式和量化参数。
[0092]
第一模式确定模块510被配置为通过图像梯度检测确定图像块的梯度角度,并将与确定出的梯度角度相应的帧内预测模式确定为图像块的第一帧内预测模式。
[0093]
根据本公开的示例性实施例,率失真代价确定模块520被配置为确定图像块的率失真代价函数在多个候选帧内预测模式下的率失真代价值,并且第二模式确定模块530被配置为将具有最小率失真代价值的候选帧内预测模式确定为用于图像块的第二帧内预测模式。
[0094]
以上已经参照图3和图4对视频编码装置500的各个模块执行的操作的细节进行了详细说明,在此不再进行重复说明。
[0095]
图6是示出根据本公开的示例性实施例的一种用于视频编码的电子设备600的结构框图。该电子设备600例如可以是:智能手机、平板电脑、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0096]
通常,电子设备600包括有:处理器601和存储器602。
[0097]
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用dsp(digital signal processing,数字信号处理)、fpga(field programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程
逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。在本公开的示例性实施例中,处理器601还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0098]
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本公开的示例性实施例的视频编码方法。
[0099]
在一些实施例中,电子设备600还可选包括有:外围设备接口603和至少一个外围设备。处理器601、存储器602和外围设备接口603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口603相连。具体地,外围设备包括:射频电路604、触摸显示屏605、摄像头606、音频电路607、定位组件608和电源609中的至少一种。
[0100]
外围设备接口603可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0101]
射频电路604用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括nfc(near field communication,近距离无线通信)有关的电路,本公开对此不加以限定。
[0102]
显示屏605用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置在电子设备600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在终端600的不同表面或呈折叠设计;在再一些实施例中,显示屏605可以是柔性显示屏,设置在终端600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用lcd
(liquid crystal display,液晶显示屏)、oled(organic light

emitting diode,有机发光二极管)等材质制备。
[0103]
摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0104]
音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。
[0105]
定位组件608用于定位电子设备600的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件608可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
[0106]
电源609用于为电子设备600中的各个组件进行供电。电源609可以是交流电、直流电、一次性电池或可充电电池。当电源609包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
[0107]
在一些实施例中,电子设备600还包括有一个或多个传感器610。该一个或多个传感器610包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、指纹传感器614、光学传感器615以及接近传感器616。
[0108]
加速度传感器311可以检测以终端600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制触摸显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。
[0109]
陀螺仪传感器612可以检测终端600的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对终端600的3d动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0110]
压力传感器613可以设置在终端600的侧边框和/或触摸显示屏605的下层。当压力传感器613设置在终端600的侧边框时,可以检测用户对终端600的握持信号,由处理器601根据压力传感器613采集的握持信号进行左右手识别或快捷操作。当压力传感器613设置在
触摸显示屏605的下层时,由处理器601根据用户对触摸显示屏605的压力操作,实现对ui上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0111]
指纹传感器614用于采集用户的指纹,由处理器601根据指纹传感器614采集到的指纹识别用户的身份,或者,由指纹传感器614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器614可以被设置电子设备600的正面、背面或侧面。当电子设备600上设置有物理按键或厂商logo时,指纹传感器614可以与物理按键或厂商logo集成在一起。
[0112]
光学传感器615用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器615采集的环境光强度,控制触摸显示屏605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏605的显示亮度;当环境光强度较低时,调低触摸显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器615采集的环境光强度,动态调整摄像头组件606的拍摄参数。
[0113]
接近传感器616,也称距离传感器,通常设置在电子设备600的前面板。接近传感器616用于采集用户与电子设备600的正面之间的距离。在一个实施例中,当接近传感器616检测到用户与终端600的正面之间的距离逐渐变小时,由处理器601控制触摸显示屏605从亮屏状态切换为息屏状态;当接近传感器616检测到用户与电子设备600的正面之间的距离逐渐变大时,由处理器601控制触摸显示屏605从息屏状态切换为亮屏状态。
[0114]
本领域技术人员可以理解,图6中示出的结构并不构成对电子设备600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0115]
图7所示为另一种电子设备700的结构框图。例如,电子设备700可以被提供为一服务器。参照图7,电子设备700包括一个或多个处理处理器710以及存储器720。存储器720可以包括用于执行以上的数据标注方法的一个或一个以上的程序。电子设备700还可以包括一个电源组件730被配置为执行电子设备700的电源管理,一个有线或无线网络接口740被配置为将电子设备700连接到网络,和一个输入输出(i/o)接口750。电子设备700可以操作基于存储在存储器720的操作系统,例如windows servertm、mac os xtm、unixtm、linuxtm、freebsdtm或类似。
[0116]
根据本公开的实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的视频编码方法。这里的计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd

rom、cd

r、cd r、cd

rw、cd rw、dvd

rom、dvd

r、dvd r、dvd

rw、dvd rw、dvd

ram、bd

rom、bd

r、bd

r lth、bd

re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态硬盘(ssd)、卡式存储器(诸如,多媒体卡、安全数字(sd)卡或极速数字(xd)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上
述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
[0117]
根据本公开的实施例中,还可提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成上述方法。
[0118]
根据本公开的分层视频编码方案和解码方案结合了分层编码特性与视频时域相关特性,不仅利用了先前重建的基本层编码视频帧,同时还利用了先前重建的高质量增强层视频帧,将两种强相关性的特征信息(多帧&多层)送入设计的卷积神经网络中,极大程度上地提高了内层视频帧的质量,进而提高了分层视频编码效率,在提高压缩质量的同时降低了视频的码率。
[0119]
本领域技术人员在考虑说明书及实践这里公开的方案后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0120]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献