视频编解码方法、装置、计算机可读介质及电子设备与流程

文档序号:31056749发布日期:2022-08-09 17:33阅读:40来源:国知局
视频编解码方法、装置、计算机可读介质及电子设备与流程

1.本公开涉及视频编解码技术领域,具体而言,涉及一种视频编解码方法、视频编解码装置、计算机可读介质及电子设备。


背景技术:

2.随着用户对视频图像的分辨率和帧频率的高需求,视频数据也随之增大,通常需要较大的存储空间来存储或者较宽的带宽来传输,因此,目前业界基本都会使用视频编解码技术对视频进行压缩,以已压缩的格式存储或传输视频。
3.现代主流的视频编码技术主要有国际视频编码标准hevc、国际视频编码标准vvc和中国国家视频编码标准avs,其均采用混合编码框架对输入的原始视频信号进行处理。但是现有的视频编解码标准中,通常将视频图像按照块划分结构划分为一系列不重叠的矩形编码块或解码块,然后为每个编码块选择合适的编码方式,相应地采用与该编码方式对应的方式对解码块进行解码。对于使用帧内预测的编码块,只能从规定的帧内预测模式中选择一种导出当前编/解码块的预测值,并且对于一个矩形块中存在多种纹理,当前的帧内预测方法无法给出准确的预测值。
4.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

5.本公开的实施例提供了一种视频解码方法、视频解码装置、计算机可读介质及电子设备,进而至少在一定程度上可以提高对不同编/解码块导出的预测值的准确性,提升编解码效率。
6.本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
7.根据本公开实施例的一个方面,提供了一种视频解码方法,包括:解码码流,以获取第一标志、第一索引值和第二索引值,其中所述第一标志用于标识是否对当前待解码块使用帧内加权预测模式;在所述第一标志的值满足第一预设条件时,根据所述第一索引值在第一帧内预测模式列表中确定目标帧内预测模式,并根据所述第二索引值在权重列表集中确定目标权重列表;根据与所述当前待解码块对应的参考像素确定第一类参考像素和第二类参考像素,并基于所述目标权重列表对所述第一类参考像素和所述第二类参考像素进行加权处理,以获取加权参考像素;根据所述加权参考像素和所述目标帧内预测模式对所述当前待解码块进行预测,以获取与所述当前待解码块对应的预测块。
8.根据本公开实施例的一个方面,提供了一种视频解码装置,包括:码流解码模块,用于解码码流,以获取第一标志、第一索引值和第二索引值,其中所述第一标志用于标识是否对当前待解码块使用帧内加权预测模式;索引匹配模块,用于在所述第一标志的值满足第一预设条件时,根据所述第一索引值在第一帧内预测模式列表中确定目标帧内预测模
式,并根据所述第二索引值在权重列表集中确定目标权重列表;像素加权模块,用于根据与所述当前待解码块对应的参考像素确定第一类参考像素和第二类参考像素,并基于所述目标权重列表对所述第一类参考像素和所述第二类参考像素进行加权处理,以获取加权参考像素;像素预测模块,用于根据所述加权参考像素和所述目标帧内预测模式对所述当前待解码块进行预测,以获取与所述当前待解码块对应的预测块。
9.在本公开的一些实施例中,所述第一帧内预测模式列表包括多种帧内预测模式和与各所述帧内预测模式对应的序列号;基于上述方案,所述索引匹配模块配置为:将所述第一索引值与所述第一帧内预测模式列表中的序列号进行匹配,以确定与所述第一索引值匹配的目标序列号;将与所述目标序列号对应的帧内预测模式作为所述目标帧内预测模式。
10.在本公开的一些实施例中,基于上述方案,所述视频解码装置还配置为:获取第二标志;当根据所述第二标志确定所述目标帧内预测模式在所述第一帧内预测模式列表中时,解码所述码流获取所述第一索引值,并根据所述第一索引值在所述第一帧内预测模式列表中确定所述目标帧内预测模式;当根据所述第二标志确定所述目标帧内预测模式不在所述第一帧内预测模式列表中时,解码所述码流获取第三索引值,并根据所述第三索引值在第二帧内预测模式列表中确定所述目标帧内预测模式;其中所述第一帧内预测模式列表与所述第二帧内预测模式列表所包含的帧内预测模式不同。
11.在本公开的一些实施例中,基于上述方案,所述第一帧内预测模式列表包括与所述当前待解码块相邻或不相邻的已解码块对应的帧内预测模式、预设的角度模式、双线性模式和平面模式中的一种或多种,并且所述第一帧内预测模式列表所包含的帧内预测模式各不相同。
12.在本公开的一些实施例中,所述权重列表集中包括多个权重列表和与各所述权重列表对应的序列号,其中与各所述权重列表对应的序列号是根据索引值、帧内预测模式及待解码块的宽度和高度生成的,所述索引值的类型与所述第二索引值的类型相同;基于上述方案,所述索引匹配模块还配置为:根据所述第二索引值、所述当前待解码块的宽度和高度以及所述目标帧内预测模式确定一标识;将所述标识与所述权重列表集中的序列号进行匹配,以获取目标序列号,并将与所述目标序列号对应的权重列表作为所述目标权重列表。
13.在本公开的一些实施例中,基于上述方案,所述视频解码装置还包括:权重列表构建模块,用于根据与所述待解码块对应的帧内预测模式以及所述待解码块的宽度和高度确定与所述待解码块对应的权重列表。
14.在本公开的一些实施例中,基于上述方案,所述权重列表构建模块包括:第一长度确定单元,用于根据所述待解码块的宽度和高度确定与所述待解码块对应的参考像素的长度;第二长度确定单元,用于根据与所述待解码块对应的帧内预测模式在所述参考像素的长度方向上确定有效参考像素和有效参考像素长度;位置确定单元,用于基于所述有效参考像素长度在所述有效参考像素中设置一个或多个预设点,根据所述索引值和所述预设点在所述有效参考像素中确定第一位置,同时根据预设参考像素的位置确定第二位置;权重设置单元,用于根据所述第一位置和所述第二位置的关系设置所述参考像素的权重,以获取与所述待解码块对应的权重列表。
15.在本公开的一些实施例中,基于上述方案,所述第二长度确定单元配置为:当所述帧内预测模式为角度模式时,获取预测角度,根据所述待解码块的宽度和高度以及所述预
测角度确定所述有效参考像素和所述有效参考像素长度;当所述帧内预测模式为非角度模式时,所述有效参考像素为所述参考像素,所述有效参考像素长度为所述参考像素的长度。
16.在本公开的一些实施例中,基于上述方案,所述权重设置单元配置为:当所述第一位置的坐标小于所述第二位置的坐标时,将所述预设参考像素和位置坐标小于所述第一位置的坐标的参考像素的权重设置为第一权重,将剩余的参考像素的权重设置为第二权重;当所述第一位置的坐标大于或等于所述第二位置的坐标时,将所述预设参考像素和位置坐标小于所述第一位置的坐标的参考像素的权重设置为所述第二权重,将剩余的参考像素的权重设置为所述第一权重。
17.在本公开的一些实施例中,基于上述方案,所述权重设置单元配置为:在所述第一位置处添加过渡权重,其中位于所述第一位置之前的参考像素的过渡权重为权重取值范围中的任一权重,位于所述第一位置之后的参考像素的过渡权重随参考像素的位置与所述第一位置的距离的变化而变化,其中所述第一位置之后的参考像素的过渡权重不小于所述第一位置之前的参考像素的权重且不大于所述权重取值范围中的最大权重;或者,在所述第一位置处添加过渡权重,其中位于所述第一位置之前的参考像素的过渡权重随参考像素的位置与所述第一位置的绝对距离的变化而变化,位于所述第一位置之后的参考像素的过渡权重为所述权重取值范围中的任一权重,其中所述第一位置之前的参考像素的过渡权重不小于所述第一位置之后的参考像素的权重且不大于所述权重取值范围中的最大权重。
18.在本公开的一些实施例中,基于上述方案,所述像素加权模块包括:像素处理单元,用于根据所述参考像素构建相同大小的辅助参考像素,并对所述参考像素的像素值进行目标处理以作为所述辅助参考像素中各像素的像素值;分类单元,用于根据预设规则对所述参考像素和所述辅助参考像素进行分类,以获取所述第一类参考像素和所述第二类参考像素。
19.在本公开的一些实施例中,基于上述方案,所述分类单元配置为:将所述参考像素作为所述第一类参考像素,将所述辅助参考像素作为所述第二类参考像素;或者,解码所述码流以获取第三标志;在所述第三标志的值满足第二预设条件时,将所述参考像素作为所述第一类参考像素,将所述辅助参考像素作为所述第二类参考像素;在所述第三标志的值不满足所述第二预设条件时,将所述辅助参考像素作为所述第一类参考像素,将所述参考像素作为所述第二类参考像素。
20.在本公开的一些实施例中,基于上述方案,所述像素加权模块配置为:根据计算公式(3)确定加权参考像素:
21.r[x][y]=(r0[x][y]
×rw
[x][y]+r1[x][y]
×
(max_w-rw[x][y]))/max_w
ꢀꢀꢀ
(3)
[0022]
其中,r[x][y]为位于坐标(x,y)处的加权参考像素,r0[x][y]为位于坐标(x,y)处的第一类参考像素,rw[x][y]为目标权重列表中与位于坐标(x,y)处的参考像素对应的权重,r1[x][y]为位于坐标(x,y)处的第二类参考像素,max_w为权重取值范围中的最大值。
[0023]
在本公开的一些实施例中,基于上述方案,所述参考像素包括亮度参考像素和色度参考像素,所述加权参考像素包括亮度加权参考像素和色度加权参考像素。
[0024]
在本公开的一些实施例中,所述参考像素为亮度参考像素,所述加权参考像素为亮度加权参考像素;基于上述方案,所述视频解码装置还配置为:根据计算公式(4)对所述亮度参考像素的权重进行处理,以确定色度参考像素的权重列表;根据与所述当前待解码
块对应的色度参考像素确定第一类色度参考像素和第二类色度参考像素,并基于所述色度参考像素的权重列表对所述第一类色度参考像素和所述第二类色度参考像素进行加权处理,以获取色度加权参考像素;
[0025]
其中,计算公式(4)如下所示:
[0026]rw
_chorma[x][y]=rw_luma[x《《scale_x][y《《scale_y]
ꢀꢀꢀ
(4)
[0027]
其中,rw_chorma[x][y]为位于坐标(x,y)处的色度参考像素的权重,rw_luma为亮度参考像素对应的权重列表,scale_x为视频图像亮度分量和色度分量在x方向的尺寸放缩系数,scale_y为视频图像亮度分量和色度分量在y方向的尺寸放缩系数,《《为左移运算符号。
[0028]
在本公开的一些实施例中,基于上述方案,所述像素预测模块配置为:根据所述亮度加权参考像素、所述色度加权参考像素和所述目标帧内预测模式对所述当前待解码块进行预测。
[0029]
在本公开的一些实施例中,基于上述方案,所述视频解码装置还配置为:在获取所述第一标志之前,获取所述当前待解码块的宽度和高度,当所述当前待解码块的宽度和高度满足第三预设条件时,解码所述码流以获取所述第一标志;或者,在获取所述第一标志之前,解码所述码流以获取图像头标志,当所述图像头标志满足第四预设条件时,解码所述码流以获取所述第一标志;或者,在获取所述第一标志之前,解码所述码流以获取序列头标志,当所述序列头标志满足第五预设条件时,解码所述码流以获取所述第一标志或者所述图像头标志和所述第一标志。
[0030]
在本公开的一些实施例中,基于上述方案,所述视频解码装置还包括:第一存储模块,用于将所述当前待解码块对应的帧内加权预测模式作为最终的帧内预测模式进行存储;或者,分解模块,用于根据预设大小将所述当前待解码块分解为多个子解码块;索引值确定模块,用于根据各所述子解码块中的预设像素、所述目标帧内预测模式和所述目标权重列表确定存储方式索引值;第二存储模块,用于根据所述存储方式索引值确定所述子解码块对应的帧内预测模式,并将所述子解码块和与所述子解码块对应的帧内预测模式进行对应存储。
[0031]
在本公开的一些实施例中,基于上述方案,所述索引值确定模块配置为:当所述目标帧内预测模式为角度模式时,将所述预设像素根据所述角度模式中的预测角度在有效参考像素的方向进行投影以确定目标参考像素;获取所述目标权重列表中与所述目标参考像素对应的权重;当所述目标参考像素对应的权重大于或等于第一预设阈值时,将所述存储方式索引值标记为第一数值;当所述目标参考像素对应的权重小于所述第一预设阈值时,将所述存储方式索引值标记为不同于所述第一数值的第二数值;或者,当所述目标帧内预测模式为非角度模式时,根据所述目标权重列表和第二预设阈值对与所述子解码块对应的参考像素进行分类,以获取与所述子解码块对应的参考像素中权重小于所述第二预设阈值的第一数量和权重大于或等于所述第二预设阈值的第二数量;当所述第一数量小于或等于所述第二数量时,将所述存储方式索引值标记为所述第一数值;当所述第一数量大于所述第二数量时,将所述存储方式索引值标记为所述第二数值。
[0032]
在本公开的一些实施例中,基于上述方案,所述第二存储模块配置为:当所述存储方式索引值为所述第一数值时,所述子解码块对应的帧内预测模式为所述第一类参考像素
对应的帧内预测模式;当所述存储方式索引值为所述第二数值时,所述子解码块对应的帧内预测模式为所述第二类参考像素对应的帧内预测模式。
[0033]
根据本公开实施例的一个方面,提供了一种视频编码方法,包括:从帧内预测模式列表中确定与当前待编码块对应的目标帧内预测模式,并从权重列表集中确定与所述当前待编码块对应的目标权重列表;根据与所述当前待编码块对应的参考像素确定第一类参考像素和第二类参考像素,并基于所述目标权重列表对所述第一类参考像素和所述第二类参考像素进行加权处理,以获取加权参考像素;根据所述加权参考像素和所述目标帧内预测模式对所述当前待编码块进行预测,以获取与所述当前待编码块对应的预测块;根据所述预测块形成码流,并在所述码流中添加第一标志、第一索引值和第二索引值,其中所述第一标志用于标识是否对待解码块使用帧内加权预测模式;所述第一索引值用于从第一帧内预测模式列表中确定与所述待解码块对应的目标帧内预测模式;所述第二索引值用于在权重列表集中确定与所述待解码块对应的目标权重列表。
[0034]
根据本公开实施例的一个方面,提供了一种视频编码装置,包括:确定模块,用于从帧内预测模式列表中确定与当前待编码块对应的目标帧内预测模式,并从权重列表集中确定与所述当前待编码块对应的目标权重列表;加权模块,用于根据与所述当前待编码块对应的参考像素确定第一类参考像素和第二类参考像素,并基于所述目标权重列表对所述第一类参考像素和所述第二类参考像素进行加权处理,以获取加权参考像素;预测模块,用于根据所述加权参考像素和所述目标帧内预测模式对所述当前待编码块进行预测,以获取与所述当前待编码块对应的预测块;码流生成模块,用于根据所述预测块形成码流,并在所述码流中添加第一标志、第一索引值和第二索引值,其中所述第一标志用于标识是否对待解码块使用帧内加权预测模式;所述第一索引值用于从第一帧内预测模式列表中确定与所述待解码块对应的目标帧内预测模式;所述第二索引值用于在权重列表集中确定与所述待解码块对应的目标权重列表。
[0035]
根据本公开实施例的一个方面,提供了一种计算机存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现上述的可选实现方式中提供的视频解码方法和视频编码方法。
[0036]
根据本公开实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的可选实现方式中提供的视频解码方法和视频编码方法。
[0037]
根据本公开实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的可选实现方式中提供的方法。
[0038]
在本公开的一些实施例所提供的技术方案中,根据解码码流得到的第一标志判断是否采用帧内加权预测模式,在确定采用帧内加权预测模式后,根据解码码流得到的第一索引值在第一帧内预测模式列表中确定目标帧内预测模式,以及根据第二索引值在权重列表集中确定目标权重列表;然后根据待解码块对应的参考像素确定第一类参考像素和第二类参考像素,并基于目标权重列表对第一类参考像素和第二类参考像素进行加权处理,以
获取加权参考像素;最后根据加权参考像素和目标帧内预测模式对待解码块进行预测,即可获取与待解码块对应的预测块。同时根据所确定的与当前待编码块对应的目标权重列表对与当前待编码块对应的第一类参考像素和第二类参考像素进行加权处理得到加权参考像素,并根据该加权参考像素和与当前待编码块对应的目标帧内预测模式对当前待编码块进行预测,以获取与当前待编码块对应的预测块,并根据预测块和第一标志、第一索引值及第二索引值形成码流,以便解码器端对码流解码生成重构图像。本公开的技术方案一方面能够将两种类型的帧内预测参考像素进行加权组合,并基于加权组合后的参考像素导出预测值,提高了预测值的准确性;另一方面本公开中的预测方法可以应用于视频编解码中,进而提升编解码效率。
[0039]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0040]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0041]
图1示出了可以应用本公开实施例的技术方案的示例性系统架构的示意图;
[0042]
图2示意性示出了帧内预测模式的结构示意图;
[0043]
图3示意性示出了根据本公开的一个实施例的视频解码方法的流程示意图;
[0044]
图4示意性示出了根据本公开的一个实施例的获取目标帧内预测模式的流程示意图;
[0045]
图5示意性示出了根据本公开的一个实施例的确定目标权重列表的流程示意图;
[0046]
图6示意性示出了根据本公开的一个实施例的确定权重列表的流程示意图;
[0047]
图7示意性示出了根据本公开的一个实施例的根据待解码块的宽度和高度确定的参考像素的长度的结构示意图;
[0048]
图8a-8b示意性示出了根据本公开的一个实施例的预测角度在对角模式顺时针方向时如何确定有效参考像素和有效参考像素的长度的流程示意图;
[0049]
图8c-8d示意性示出了根据本公开的一个实施例的预测角度在对角模式逆时针方向时如何确定有效参考像素和有效参考像素的长度的流程示意图;
[0050]
图9示意性示出了根据本公开的一个实施例的预设点的位置示意图;
[0051]
图10示意性示出了根据本公开的一个实施例的参考像素权重的示意图;
[0052]
图11示意性示出了根据本公开的一个实施例的根据第三标志确定第一类参考像素和第二类参考像素的流程示意图;
[0053]
图12示意性示出了根据本公开的一个实施例的根据最小划分单元存储帧内预测模式的流程示意图;
[0054]
图13示意性示出了视频编解码的流程示意图;
[0055]
图14示意性示出了根据本公开的一个实施例的视频编码方法的流程示意图;
[0056]
图15示意性示出了根据本公开的一个实施例的视频解码装置的框图;
[0057]
图16示意性示出了根据本公开的一个实施例的视频编码装置的框图;
[0058]
图17示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
[0059]
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
[0060]
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
[0061]
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0062]
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
[0063]
图1示出了可以应用本公开实施例的技术方案的示例性系统架构的示意图。
[0064]
如图1所示,系统架构100可以包括第一终端设备101、编码器102、解码器103、网络104以及第二终端设备105。其中,第一终端设备101具体可以是包含显示屏幕且可用于拍摄或制作视频的终端设备,例如可以是智能手机、笔记本、平板电脑、台式电脑、便携式电脑、摄像机、照相机等,用于采集视频信号。编码器102用于对第一终端设备101采集的视频信号进行编码压缩,以减小视频的数据量。解码器103用于对编码器102输出的码流进行解码,并对编码压缩后的视频图像进行预测,进而得到重构图像。第二终端设备105具体可以是包含显示屏幕的终端设备,例如可以是电视机、智能手机、笔记本、平板电脑、台式电脑、便携式电脑等,用于播放由重构图像构成的视频。网络104用以在第一终端设备101和编码器102、编码器102和解码器103、解码器和第二终端设备105之间提供通信链路的介质,网络104可以包括各种连接类型,例如有线通信链路、无线通信链路等等,在本公开实施例中,终端设备101和服务器103之间的网络可以是无线通信链路,具体地可以是移动网络。
[0065]
应该理解,图1中的第一终端设备、编码器、解码器、网络和第二终端设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的第一终端设备、编码器、解码器、网络和第二终端设备。值得说明的是,本公开中的编码器和解码器或者编码器、解码器和第二终端设备还可以是一个独立的集成终端,在该集成终端中可以实现多个功能。
[0066]
在本公开的一个实施例中,通过第一终端设备101拍摄或制作视频,并将原始视频信号通过网络104发送至编码器102,编码器102接收到原始视频信号后,采用帧内加权预测模式对视频信号进行编码压缩以形成码流,该码流中还包含解码压缩后的视频信号时所需的参数,例如帧内预测模式、与解码相关的标志和索引等等。解码器103接收到码流后,可以对码流进行解码获取其中的参数和待解码的视频数据,并根据帧内加权预测模式对待解码
的视频数据进行预测,进而获取与原始视频信号对应的重构视频信号,并将该重构视频信号发送至第二终端设备105进行显示。
[0067]
需要说明的是,本公开实施例所提供的视频解码方法一般由终端设备执行,相应地,视频解码装置一般设置于终端设备中。但是,在本公开的其它实施例中,也可以由服务器执行本公开实施例所提供的视频解码方法。
[0068]
在对本公开的技术方案进行详细说明之前,首先对相关技术中的视频编解码技术进行大概介绍。现代主流视频编码技术,以国际视频编码标准hevc,vvc,以及中国国家视频编码标准avs为例,采用了混合编码框架,对输入的原始视频信号,进行了如下一系列的操作和处理:
[0069]
1)块划分结构(block partition structure):输入图像根据一个的大小,划分成若干个不重叠的处理单元,每个处理单元将进行类似的压缩操作。这个处理单元被称作编码树单元(ctu),或者最大编码单元(lcu)。ctu再往下,可以继续进行更加精细的划分,得到一个或多个基本编码的单元,称之为编码单元(cu)。每个cu是一个编码环节中最基本的元素。以下描述的是对每一个cu可能采用的各种编码方式。
[0070]
2)预测编码(predictive coding):包括了帧内预测和帧间预测等方式,原始视频信号经过选定的已重建视频信号的预测后,得到残差视频信号。编码端需要为当前cu决定在众多可能的预测编码模式中,选择最适合的一种,并告知解码端。其中,帧内预测是预测的信号来自于同一图像内已经编码重建过的区域;帧间预测是预测的信号来自已经编码过的,不同于当前图像的其他图像(称之为参考图像)。
[0071]
3)变换编码及量化(transform&quantization):残差视频信号经过dft,dct等变换操作,将信号转换到变换域中,称之为变换系数。在变换域中的信号,进一步的进行有损的量化操作,丢失掉一定的信息,使得量化后的信号有利于压缩表达。在一些视频编码标准中,可能有多于一种变换方式可以选择,因此,编码端也需要为当前编码cu选择其中的一种变换,并告知解码端。量化的精细程度通常由量化参数(qp)来决定,qp取值较大,表示更大取值范围的系数将被量化为同一个输出,因此通常会带来更大的失真,及较低的码率;相反,qp取值较小,表示较小取值范围的系数将被量化为同一个输出,因此通常会带来较小的失真,同时对应较高的码率。
[0072]
4)熵编码(entropy coding)或统计编码:量化后的变换域信号,将根据各个值出现的频率,进行统计压缩编码,最后输出二值化(0或者1)的压缩码流。同时,编码产生其他信息,例如选择的模式,运动矢量等,也需要进行熵编码以降低码率。统计编码是一种无损编码方式,可以有效的降低表达同样的信号所需要的码率。常见的统计编码方式有变长编码(vlc,variable length coding)或者基于上下文的二值化算术编码(cabac,content adaptive binary arithmetic coding)。
[0073]
5)环路滤波(loop filtering):已经编码过的图像,经过反量化,反变换及预测补偿的操作(上述2~4的反向操作),可获得重建的解码图像。重构图像与原始图像相比,由于存在量化的影响,部分信息与原始图像有所不同,产生失真(distortion)。对重构图像进行滤波操作,例如去块效应滤波(deblocking),sao或者alf等滤波器,可以有效的降低量化所产生的失真程度。
[0074]
接下来对相关技术中的帧内预测技术进行说明。
[0075]
帧内预测是一种常用的预测编码技术。帧内预测基于视频图像的像素在空域存在的相关性,从相邻已编码区域导出当前编码块的预测值。在avs2中共有33种帧内预测模式,包括30个角度模式和3个特殊模式(plane,dc和bilinear),采用2mpm编码,其余的模式采用5位定长编码。为支持更精细的角度预测,avs3第二阶段采纳了扩展的帧内角度预测模式(extended intra prediction mode,简称eipm),avs3中将角度预测模式扩展为62个,如图2所示,其中带箭头的实线为原有的角度预测模式,带箭头的虚线为新增的角度模式,原有角度模式编号不变,新增的角度模式编号为34到65。当采用角度预测模式时,当前预测块内的像素点根据预测模式的角度所对应的方向,将参考像素行或列上对应位置的参考像素值作为预测值。
[0076]
相关技术的视频编码标准中,通常将视频图像按照块划分结构划分为一系列不重叠的矩形编/解码块,然后为每个编码块选择合适的编码方式。对于使用帧内预测的编码块,只能从规定的帧内预测模式中选择一种导出当前编/解码块的预测值,编码效率低且预测值准确度差。并且对于一个矩形块中存在多种纹理,当前的帧内预测方法无法给出准确的预测值。
[0077]
为了克服相关技术中存在的问题,本公开首先提出了一种视频解码方法,由于视频编码方法和视频解码方法是对应的,因此本公开的示例性实施例中主要从解码器端对本公开的技术方案进行说明。
[0078]
图3示意性示出了根据本公开的一个实施例的视频解码方法的流程图,该视频解码方法可以由解码器来执行,该解码器可以是图1中所示的解码器103。参照图3所示,该视频解码方法至少包括步骤s310至步骤s340,详细介绍如下:
[0079]
在步骤s310中,解码码流,以获取第一标志、第一索引值和第二索引值,其中所述第一标志用于标识是否对当前待解码块使用帧内加权预测模式。
[0080]
在本公开的一个实施例中,当拍摄或制作得到原始视频信号后,为了压缩原始视频信号的大小,需要通过编码器对原始视频信号进行编码压缩。在压缩的时候,编码器通常会在多种预测编码模式中选择一种或多种预测编码模式进行压缩编码,由于即使是在同一图像中,不同位置的图像纹理也有所不同,因此在将图像划分为多个编码单元后,可以针对不同的编码单元选择不同的预测编码模式进行编码,进而获取由最终的压缩编码数据形成的码流。同时,解码器对编码器压缩后的压缩编码数据进行解码形成重构图像的过程,可以看作是编码过程的反过程,因此解码器需要根据编码器对编码单元进行编码时所采用的预测模式以及其它参数对与编码单元对应的待解码块进行解码,进而在码流中除了需要写入编码后的视频数据,还需要写入用于指示获取所需参数的标志或索引值。
[0081]
在本公开的实施例中,码流包含第一标志,该第一标志用于标识是否对待解码块使用帧内加权预测模式(iwp:intra weighted prediction),因此通过解码码流可以获取第一标志,并根据该第一标志可以确定对当前待解码块所需采用的帧内预测模式。具体地,当第一标志的值满足第一预设条件时,对当前待解码块使用帧内加权预测模式进行预测;当第一标志的值不满足第一预设条件时,对当前待解码块不使用帧内加权预测模式进行预测。在本公开的实施例中,该第一标志可以标记为cu_flag_iwp,其值可以是0或1,第一预设条件具体可以是cu_flag_iwp=1,也就是说,当cu_flag_iwp=1时采用iwp预测模式对当前待解码块进行预测,当cu_flag_iwp=0时不采用iwp预测模式对当前待解码块进行预测。值
得注意的是,第一标志的值还可以是除0、1之外的其它数值,只要可以明确指示是否采用帧内加权预测模式即可。
[0082]
为了提高处理效率,还可以在获取第一标志之前获取其它信息,并根据其它信息确定是否需要进一步解码得到第一标志,以确定是否对当前待解码块使用iwp预测模式。在本公开的实施例中,其它信息可以是当前待解码块的宽度和高度、图像头标志、序列头标志等,具体地:
[0083]
根据当前待解码块的宽度和高度确定是否对当前待解码块使用iwp预测模式,具体地,获取当前待解码块的宽度和高度,若当前待解码块的宽度和高度满足第三预设条件时,则需要解码码流获取第一标志,并根据第一标志的值确定是否可以对每个待解码块使用iwp预测模式,若当前待解码块的宽度和高度不满足第三预设条件时,则无需解码码流获取第一标志,第一标志的值默认为0,也就是说,当前图像中所有待解码块都不可使用iwp预测模式。其中,第三预设条件可以根据实际需要设置,例如可以设定第三预设条件为当前解码块的高度和宽度均大于等于8时,则需要解码码流得到第一标志,并根据第一标志的值确定是否可以对每个待解码块使用iwp预测模式,还可以在第三预设条件中将高度和宽度所需满足的条件设置为不同的条件,例如可以设定第三预设条件为当前解码块的高度大于8、宽度大于10时,允许使用iwp预测模式,等等,本公开实施例对此不作具体限定。
[0084]
图像头标志用于标识对应同一视频图像中的多个待解码块是否可以使用iwp预测模式,若根据图像头标志确定不可使用iwp预测模式时,则无需解码码流获取第一标志,即当前图像中所有待解码块都不可使用iwp预测模式,若根据图像头标志确定可以使用iwp预测模式时,则需要解码码流获取第一标志,并根据第一标志的值确定是否可以对每个待解码块使用iwp预测模式。举例而言,图像头标志可以标记为pic_header_flag_iwp,其值可以设置为0或1,当pic_header_flag_iwp=0时,当前图像所有待解码块的cu_flag_iwp=0,无需对码流进行解码,即当前图像中所有待解码块均不使用iwp预测模式;当pic_header_flag_iwp=1时,需要解码获取当前图像所有待解码块的cu_flag_iwp,并根据各待解码块对应的cu_flag_iwp确定是否对该待解码块使用iwp预测模式。
[0085]
序列头标志用于标识一个图像序列中的所有待解码块是否可以使用iwp预测模式,只有当序列头标志指示图像序列中的所有待解码块可以使用iwp预测模式时,才需进一步解码获取图像头标志和第一标志,如果不存在图像头标志则只需获取第一标志即可,进而根据第一标志的值确定是否可以对待解码块使用iwp预测模式。举例而言,序列头标志可以标记为seq_header_flag_iwp,其值可以是0或1,当seq_header_flag_iwp=0时,当前图像序列中的所有待解码块均不可使用iwp预测模式,进而无需解码获取cu_flag_iwp或者pic_header_flag_iwp和cu_flag_iwp;当seq_header_flag_iwp=1时,需要解码获取图像序列中所有待解码块的cu_flag_iwp或者pic_header_flag_iwp和cu_flag_iwp,并根据各待解码块对应的cu_flag_iwp确定是否对该待解码块使用iwp预测模式。
[0086]
根据待解码块的宽度和高度和/或图像头标志和/或序列头标志可以快速确定是否可以对同一图像中的多个待解码块或者一个图像序列中的多个待解码块使用iwp预测模式,相比于逐个根据各待解码块的第一标志确定是否可以使用iwp预测模式,提高了数据处理效率。
[0087]
除此之外,还可以采用其它的方式判断是否对当前待解码块使用iwp预测模式,例
如可以先解码得到帧内预测模式,根据帧内预测模式判断是否需要解码第一标志,并根据第一标志的值判断是否对当前待解码块使用iwp预测模式,作为一个具体示例,当帧内预测模式为角度模式时才需要解码获取cu_flag_iwp,否则cu_flag_iwp=0,即不对当前待解码块使用iwp预测模式。当然还可以是其它的判断方式,本公开实施例在此不再赘述。
[0088]
在步骤s320中,在所述第一标志的值满足第一预设条件时,根据所述第一索引值在第一帧内预测模式列表中确定目标帧内预测模式,并根据所述第二索引值在权重列表集中确定目标权重列表。
[0089]
在本公开的实施例中,在确定对当前待解码块使用iwp预测模式后,可以获取与当前待解码块对应的目标帧内预测模式和目标权重列表,进而根据当前待解码块的参考像素、目标帧内预测模式和目标权重列表确定加权参考像素,并根据加权参考像素对当前待解码块进行预测。在本公开的实施例中,目标帧内预测模式和目标权重列表均可通过匹配方式确定,具体地,可以根据解码得到的第一索引值在第一帧内预测模式列表中匹配得到目标帧内预测模式,并根据解码得到的第二索引值在权重列表集中匹配得到目标权重列表。
[0090]
第一帧内预测模式列表包括多种帧内预测模式和与各帧内预测模式对应的序列号,例如序列号1对应编号为3的帧内预测模式,等等。在获取第一索引值后,可以将第一索引值与第一帧内预测模式列表中的序列号进行匹配,以确定与第一索引值匹配的目标序列号;然后将与目标序列号对应的帧内预测模式作为目标帧内预测模式。
[0091]
第一帧内预测模式列表可以包含所有可能的帧内预测模式,但是当设置第一帧内预测模式列表具有最大长度时,第一帧内预测模式列表可能无法包含所有可能的帧内预测模式,因此在获取目标帧内预测模式时需要判断目标帧内预测模式是否在第一帧内预测模式列表中,如果目标帧内预测模式不存在于第一帧内预测模式列表中时,则需要从其它的帧内预测模式列表中获取目标帧内预测模式。在本公开的实施例中,可以根据码流中与目标帧内预测模式相关的第二标志确定如何获取目标帧内预测模式,图4示出了获取目标帧内预测模式的流程示意图,如图4所示,在步骤s401中,解码码流,以获取第二标志;在步骤s402中,当根据第二标志确定目标帧内预测模式在第一帧内预测模式列表中时,解码码流以获取第一索引值,以根据第一索引值在第一帧内预测模式列表中确定目标帧内预测模式;在步骤s403中,当根据第二标志确定目标帧内预测模式不在第一帧内预测模式列表中时,解码码流获取第三索引值,以根据第三索引值在第二帧内预测模式列表中确定目标帧内预测模式,其中第一帧内预测模式列表与第二帧内预测模式列表所包含的帧内预测模式不同。通过图4所示的流程示意图,可以唯一确定目标帧内预测模式。
[0092]
解码端根据编码端发送的索引值确定帧内预测模式进行预测,因此在解码端可以根据每次预测时所采用的帧内预测模式以及预设的帧内预测模式形成第一帧内预测模式列表及第二帧内预测模式列表,下面对如何形成第一帧内预测模式列表和第二帧内预测模式列表进行说明。
[0093]
首先将mpm(最可能模式)中的帧内预测模式加入到第一帧内预测模式列表中,其中mpm中的帧内预测模式可以是与当前待解码块相邻的已解码块所对应的帧内预测模式;接着可以将mpm以外空域相邻帧内预测块的帧内预测模式加入第一帧内预测模式列表,例如与当前待解码块相邻的图像帧中已解码块对应的帧内预测模式;然后可以将预设的帧内
角度预测模式加入第一帧内预测模式列表,例如将编号为3-32的帧内预测模式加入第一帧内预测模式列表。进一步地,除了可以将帧内预测模式中的角度预测模式加入到第一帧内预测模式列表中,还可以将帧内预测模式中的特殊预测模式加入到第一帧内预测模式列表中,例如可以将双线性(bilinear)模式、平面(plane)模式加入到第一帧内预测模式列表中。值得说明的是,在第一帧内预测模式列表中不包含直流(dc)模式,如果加入的模式为dc模式时,则放弃添加或将dc模式换成其它帧内预测模式进行添加即可,这是因为在本公开的实施例中,在确定第二类参考像素时用到了dc模式,为了保证技术方案所能实现的技术效果,第一帧内预测模式列表中不包含dc模式。
[0094]
进一步地,在向第一帧内预测模式列表中添加帧内预测模式时,需要进行去重处理,以保证第一帧内预测模式列表中各帧内预测模式均不同。第一帧内预测模式可以包含所有可能的预测模式,当然也可以为第一帧内预测模式列表设定长度,当第一帧内预测模式列表达到预设长度时,不再添加新的预测模式。
[0095]
与确定目标帧内预测模式相似的,在确定目标权重列表时也可以根据索引值进行匹配确定。在本公开的实施例中,目标权重列表是与当前待解码块对应的参考像素的权重所构成的权重列表,根据该目标权重列表可以对第一类参考像素和第二类参考像素进行加权处理,获取加权参考像素。图5示出了确定目标权重列表的流程示意图,如图5所示,在步骤s501中,根据第二索引值、当前待解码块的宽度和高度以及目标帧内预测模式确定一标识;在步骤s502中,将标识与权重列表集中的序列号进行匹配,以获取目标序列号,并将与目标序列号对应的权重列表作为目标权重列表。在本公开的实施例中,权重列表集中包括多个权重列表以及与各权重列表对应的序列号,并且该序列号是根据索引值、帧内预测模式及待解码块的宽度和高度生成的,其中索引值的类型与第二索引值的类型相同,因此在确定与当前待解码块对应的目标权重列表时,从码流中可以获取与其对应的第一索引值和第二索引值,根据第一索引值可以确定与其对应的帧内预测模式,进而可以根据第二索引值、帧内预测模式和当前待解码块的宽度和高度生成一标识,并根据该标识在权重列表集中匹配得到与该标识对应的目标权重列表。除了上述确定目标权重列表的方法之外,还可以根据其它的方法确定目标权重列表,本公开实施例在此不再赘述。
[0096]
在本公开的实施例中,当根据帧内预测模式及当前待解码块的宽度和高度在权重列表集中只有一个权重列表与之对应时,也可以不用解码码流获取第二索引值,并根据第二索引值确定目标权重列表,直接从权重列表集中获取与当前待解码块对应的目标权重列表即可。
[0097]
在本公开的实施例中,可以根据有效参考像素导出权重列表,具体地可以根据与待解码块对应的帧内预测模式以及待解码块的宽度和高度确定与待解码块对应的权重列表。图6示出了确定权重列表的流程示意图,如图6所示,具体为:
[0098]
在步骤s601中,根据待解码块的宽度和高度确定与待解码块对应的参考像素的长度。
[0099]
在本公开的实施例中,参考权重列表的长度与参考像素的长度相等,参考像素的长度与待解码块的宽度和高度相关,若待解码块的宽度为m,高度为n,其中m、n均为正整数,那么参考像素的长度为2(m+n)+1。值得注意的是,对于参考像素不可用的情况,可以使用可用的参考像素或预设值进行填充,使参考像素的长度保持2(m+n)+1,例如对于一幅图像最
边缘处的像素不存在参考像素,或者对应一个待解码块的参考像素中存在未解码的参考像素时,那么参考像素都是不可用的,这时就可以根据预设值进行填充或采用已有的参考像素,如临近的存在像素值的参考像素,进行填充形成参考权重。图7示出了根据待解码块的宽度和高度确定的参考像素的长度,如图7所示,待解码块的参考像素为与待解码块相邻的上方参考像素和左侧参考像素组成,待解码块的宽度m为8个像素,高度n也为8个像素,那么最终确定的参考像素的长度为33个像素。
[0100]
在步骤s602中,根据与待解码块对应的帧内预测模式在参考像素的长度方向上确定有效参考像素和有效参考像素长度。
[0101]
在本公开的实施例中,在确定参考像素及参考像素的长度后,可以根据与待解码块对应的帧内预测模式确定有效参考像素以及有效参考像素的长度。由于帧内预测模式包括角度模式和非角度模式,因此确定有效参考像素和有效参考像素的长度的方法也有所区别。
[0102]
当帧内预测模式为角度模式时,可以获取预测角度,并将待解码块沿着预测角度在参考像素的方向上进行投影,若投影点位于参考像素方向的延长线上,则在参考像素的方向上进行补全即可确定有效参考像素。
[0103]
图8a-8b示出了预测角度在对角模式顺时针方向时如何确定有效参考像素和有效参考像素的长度,如图8a所示,角度模式为编号9的预测模式,根据该角度模式和待编码块的大小可以确定投影点位于参考像素行上的a点,因此与待编码块对应的有效参考像素为参考像素行上o点-a点之间的所有参考像素;如图8b所示,角度模式为编号15的预测模式,根据该角度模式和待解码块的大小可以确定投影点位于参考像素行延长线上的b点,那么可以对o点-b点之间进行像素补全,进而可以得到与待解码块对应的有效参考像素为参考像素行上b点-c点之间的所有参考像素。对于图8a和8b中的预测角度,有效参考像素均为参考像素行中的像素,因此在计算有效参考像素的长度的时候只需考虑水平方向的投影长度,其计算公式如式(1)所示:
[0104]
valid-len=m+n
×
tan(α)
ꢀꢀꢀ
(1)
[0105]
其中,valid-len为有效参考像素的长度,m为待解码块的宽度,n为待解码块的高度,α为预测模式与竖直方向的夹角。
[0106]
图8c-8d示出了预测角度在对角模式逆时针方向时如何确定有效参考像素和有效参考像素的长度,如图8c所示,角度模式为编号28的预测模式,根据该角度模式和待编码块的大小可以确定投影点位于参考像素列上的d点,因此与待编码块对应的有效参考像素为参考像素行上o点-d点之间的所有参考像素;如图8d所示,角度模式为编号20的预测模式,根据该角度模式和待解码块的大小可以确定投影点位于参考像素列的延长线上的e点,那么可以对o点-e点之间进行像素补全,进而可以得到与待解码块对应的有效参考像素为参考像素行上e点-f点之间的所有参考像素。对于图8c和8d中的预测角度,有效参考像素均为参考像素列中的像素,因此在计算有效参考像素的长度的时候只需考虑竖直方向的投影长度,其计算公式如式(2)所示:
[0107]
valid-len=n+m
×
tan(θ)
ꢀꢀꢀ
(2)
[0108]
其中,valid-len为有效参考像素的长度,m为待解码块的宽度,n为待解码块的高度,θ为预测模式与水平方向的夹角。
[0109]
当帧内预测模式为非角度模式时,有效参考像素即为参考像素,有效参考像素的长度与参考像素的长度。
[0110]
在步骤s603中,基于有效参考像素长度在有效参考像素中设置一个或多个预设点,根据索引值和预设点在有效参考像素中确定第一位置,同时根据预设参考像素的位置确定第二位置。
[0111]
在本公开的实施例中,在有效参考像素中可以设置一个或多个预设点,预设点位置的不同会导致最终的权重列表不同。根据索引值和预设点可以在有效参考像素中确定第一位置,同时根据预设参考像素的位置可以确定第二位置,进而根据第一位置和第二位置的关系可以为参考像素设置不同的权重,以获取与待解码块对应的权重列表。其中,预设参考像素可以是参考像素根据预测角度进行投影所得的参考像素,也可以是参考像素中任意位置的参考像素。
[0112]
根据索引值和预设点在有效参考像素中确定第一位置时,可以将多个预设点按照预设顺序排序形成预设点序列,每个预设点对应一序号,该序号与索引值对应,那么可以根据索引值在预设点序列中唯一确定一预设点,第一位置即为该预设点所在的位置。如图9所示,在图9中的参考像素中存在三个预设点p0、p1和p2,将该三个预设点由左向右依次编号形成预设点序列[0,p0]、[1,p1]、[2,p2],当索引值为0时,第一位置即为p0所在的位置,当索引值为2时,第一位置即为p2所在的位置。
[0113]
但是对于不同类型的帧内预测模式,确定第二位置的方式有所不同。当帧内预测模式为角度模式时,可以根据预测角度,确定第i个参考像素ref_i在有效参考像素所在方向上对应的位置ref_valid_i,ref_valid_i即为第二位置;继续以图9为例,参考像素包括参考像素行和参考像素列,由于有效参考像素与参考像素行在同一行上,因此参考像素行上的参考像素根据预测角度进行投影落在有效参考像素所在方向上的位置还是该参考像素所在的位置,而参考像素列与有效参考像素所在的方向垂直,参考像素列上的像素可以根据预测角度进行投影,并落在有效参考像素所在的方向上,例如图9中的参考像素p根据预测角度投影后落在有效参考像素所在方向上的像素b上,因此有效参考像素b所在的位置即为第二位置。当帧内预测模式为非角度模式时,第i个参考像素ref_i所在的位置即为第二位置。
[0114]
在步骤s604中,根据第一位置和第二位置的关系设置参考像素的权重,以获取与待解码块对应的权重列表。
[0115]
在本公开的实施例中,在确定第一位置和第二位置后,可以根据第一位置和第二位置的先后关系确定参考像素的权重,具体地,当第一位置的坐标小于第二位置的坐标时,将预设参考像素和位置坐标小于第一位置的坐标的参考像素的权重设置为第一权重,将剩余的参考像素的权重设置为第二权重;当第一位置的坐标大于或等于第二位置的坐标时,将预设参考像素和位置坐标小于第一位置的坐标的参考像素的权重设置为第二权重,将剩余的参考像素的权重设置为第一权重,其中第一权重不同于第二权重,例如,如果第二位置在第一位置之前,那么可以将参考像素ref_i对应的权重设为0,否则设为8,这种方式相当于把当前块分为两个子块,分别由不同类型的参考像素导出预测值。值得说明的是,权重的具体设置可以根据实际需要进行设置,不仅限于0和8,其可以是权重取值范围中的任意值,例如权重取值范围可以是[0,8],那么权重可以取该范围中的任意一个数值。图10示出了参
考像素权重的示意图,如图10所示,该参考像素权重与图9所示的参考像素对应,其中参考权重行的权重均为8,参考权重列的权重均为0。
[0116]
值得注意的是,由于权重的设置需要根据第一位置和第二位置的前后顺序确定,因此第一位置与有效参考像素的两端像素不能重合。另外,作为确定参考像素的权重的一个实施例,还可以在第一位置处添加过渡权重,该过渡权重的设置可以有多种方式,例如位于第一位置之前的参考像素的过渡权重为权重取值范围中的任一权重,位于第一位置之后的参考像素的过渡权重随参考像素的位置与第一位置的距离的变化而变化,其中第一位置之后的参考像素的过渡权重大于第一位置之前的参考像素的权重且小于或等于权重取值范围中的最大权重;或者,位于第一位置之前的参考像素的过渡权重随参考像素的位置与第一位置的绝对距离的变化而变化,位于第一位置之后的参考像素的过渡权重为权重取值范围中的任一权重,其中第一位置之前的参考像素的过渡权重大于第一位置之后的参考像素的权重且小于或等于权重取值范围中的最大权重。举例而言,继续以图9所示的参考权重和预测角度为例,权重取值范围为[0,8],第一位置为p1所在的位置,那么可以将参考像素行上位于p1之前的参考像素以及参考像素列上投影像素的位置在p1之前的参考像素的权重设置为0-7中的任意一个值,该权重记为w1,参考像素行上位于p1之后(包含p1)的参考像素的权重随参考像素位置距离p1的距离增大而递增或递减,该权重记为w2,比如w1=2,那么w2从左至右依次可以为3、4、5、6、7、8、8、8、8、8、8、8或者8、8、8、8、8、8、8、7、6、5、4、3,相应地,还可以将参考像素行上位于p1之前的参考像素以及参考像素列上投影像素的位置在p1之前的参考像素的权重设置为随参考像素位置距离p1的绝对距离增大而递增或递减,该权重记为w1,参考像素行上位于p1之后(包含p1)的参考像素的权重为0-7中的任意一个值,该权重记为w2,比如w2=0,那么w1从左至右依次可以为:1、2、3、4、5、6、7、8、8、8、8、8、8、8、8、8、8、8、8,其中前16位对应参考像素列上沿预测角度投影在有效参考像素方向上的参考像素,后三位对应参考像素行上位于p1之前的三个参考像素。除此之外,参考像素的权重还可以根据其它标准设置,例如距离每增加2,权重增加1,比如第一位置之前的参考像素的权重均为0,第一位置之后的参考像素的权重为1122334455667788,又或者权重的增加不是递增的,而是随距离的增大成无规律的增大,比如第一位置之前的参考像素的权重均为2,第一位置之后的参考像素的权重为456666777888,再有可能第一位置前后的参考像素的权重都随距离第一位置的距离变化而变化,但是两侧的权重的取值范围不同,比如第一位置之前的参考像素的权重在[0,4]取值,第一位置之后的参考像素的权重在[5,8]取值,等等,本公开实施例中参考像素的权重的设置包含了所有可能的权重设置变形,在此不再赘述。
[0117]
在步骤s330中,根据与所述当前待解码块对应的参考像素确定第一类参考像素和第二类参考像素,并基于所述目标权重列表对所述第一类参考像素和所述第二类参考像素进行加权处理,以获取加权参考像素。
[0118]
在本公开的一个实施例中,在步骤s320中,通过为参考像素设置不同的权重实现了将待解码块分为不同的子块,且每个子块对应不同的参考像素的权重,为了获取更准确的待解码块的预测值,可以基于参考像素对应的权重列表对不同类型的参考像素进行加权处理,再通过加权处理后的参考像素对待解码块进行预测。其中不同类型的参考像素是基于与待解码块对应的参考像素确定的,在本公开实施例中,不同类型的参考像素包括第一类参考像素和第二类参考像素,在获取第一类参考像素和第二类参考像素时,首先可以根
据参考像素构建相同大小的辅助参考像素,然后对参考像素的像素值进行目标处理以作为辅助参考像素中各像素的像素值;最后根据预设规则对参考像素和辅助参考像素进行分类,以获取第一类参考像素和第二类参考像素。具体地,可以将与待解码块对应的参考像素记为r_org,将对r_org进行目标处理所导出的辅助参考像素记为r_tmp,对r_org进行处理导出r_tmp的方法有多种,例如:(i)使用dc模式对r_org中的所有像素值求平均值,并将该平均值作为r_tmp中每个像素的像素值;(ii)获取r_org中参考像素权重大于等于(或小于等于)预设阈值位置处的像素,并使用dc模式对该些像素求平均值,进而将该平均值作为r_tmp中每个像素的像素值;(iii)使用滤波器对r_org进行滤波得到r_tmp,去除r_org中的异常值,使r_tmp中的值更平滑;(iv)r-tmp中的像素由距离当前待解码块更远的重构像素导出,例如根据预测角度由距离当前待解码块3行的重构像素导出r_tmp。当然还可以根据其它方法导出r_tmp,另外还可以将与当前待解码块对应的有效参考像素作为r_org,并根据该r_org确定r_tmp,等等,本公开实施例在此不再赘述。
[0119]
在确定r_org和r_tmp后,可以根据预设规则对二者进行分类以确定第一类参考像素和第二类参考像素。具体地,该预设规则可以是直接将参考像素r_org作为第一类参考像素,将辅助参考像素r-tmp作为第二类参考像素;还可以是根据第三标志确定第一类参考像素和第二类参考像素。图11示出了根据第三标志确定第一类参考像素和第二类参考像素的流程示意图,如图11所示,在步骤s1101中,解码码流,以获取第三标志;在步骤s1102中,在第三标志的值满足第二预设条件时,将参考像素作为第一类参考像素,将辅助参考像素作为第二类参考像素;在步骤s1103中,在第三标志的值不满足第二预设条件时,将辅助参考像素作为第一类参考像素,将参考像素作为第二类参考像素。其中,第二预设条件具体可以是第三标志的值为1,也就是说,当第三标志值为1时,r_org为第一类参考像素,r_tmp为第二类参考像素;当第三标志值不为1时,r_tmp为第一类参考像素,r-org为第二类参考像素。
[0120]
在确定第一类参考像素和第二类参考像素后,可以根据参考像素对应的权重列表对第一类参考像素和第二类参考像素进行加权处理,以获取加权参考像素。计算加权参考像素的公式如公式(3)所示:
[0121]
r[x][y]=(r0[x][y]
×rw
[x][y]+r1[x][y]
×
(max_w-rw[x][y]))/max_w(3)
[0122]
其中,r[x][y]为位于坐标(x,y)处的加权参考像素,r0[x][y]为位于坐标(x,y)处的第一类参考像素,rw[x][y]为目标权重列表中与位于坐标(x,y)处的参考像素对应的权重,r1[x][y]为位于坐标(x,y)处的第二类参考像素,max_w为权重取值范围中的最大值。
[0123]
根据上述计算公式即可得到加权参考像素,进而可以采用加权参考像素对当前待解码块进行预测。
[0124]
在本公开的实施例中,亮度和色度是视频图像的重要参数,相应地,在对视频进行编码压缩的时候,视频图像的亮度和色度会被改变,进而在解码阶段,为了恢复视频图像,对待解码块的亮度和色度均进行预测进而得到重构图像是很必要的。在上述实施例中,待解码块对应的参考像素可以包括亮度参考像素和色度参考像素,根据上述实施例可以确定与当前待解码块对应的亮度参考像素权重列表和色度参考像素权重列表,进而根据亮度参考像素权重列表和色度参考像素权重列表以及当前待解码块对应的亮度参考像素和色度参考像素即可确定亮度加权参考像素和色度加权参考像素。在对当前待解码块进行预测时,分别根据亮度加权参考像素和色度加权参考像素进行预测,并根据亮度预测值和色度
预测值对当前待解码块进行重构。另外,上述实施例中的参考像素可以是亮度参考像素,当获取亮度参考像素的权重列表后,可以根据亮度参考像素的权重计算色度参考像素的权重,以获取色度参考像素的权重列表。根据亮度参考像素的权重计算色度参考像素的权重的计算公式如公式(4)所示:
[0125]rw
_chorma[x][y]=rw_luma[x《《scale_x][y《《scale_y]
ꢀꢀꢀ
(4)
[0126]
其中,rw_chorma[x][y]为位于坐标(x,y)处的色度参考像素的权重,rw_luma为亮度参考像素对应的权重列表,scale_x为视频图像亮度分量和色度分量在x方向的尺寸放缩系数,scale_y为视频图像亮度分量和色度分量在y方向的尺寸放缩系数,《《为左移运算符号,x《《1的值等于x*2的值。
[0127]
例如,输入图像为ycbcr420格式,1个亮度参考像素对应4个色度参考像素,scale_x和scale_y设为1,记亮度参考像素的权重矩阵为rw_luma,色度参考像素的权重为rw_chorma,位于坐标(x,y)处的色度权重rw_chorma[x][y]=rw_luma[x《《1][y《《1]。
[0128]
在确定色度参考像素的权重列表后,可以根据与待解码块对应的色度参考像素确定第一类色度参考像素和第二类色度参考像素,并基于色度参考像素的权重列表对第一类色度参考像素和第二类色度参考像素进行加权处理,以获取色度加权参考像素,其中加权处理所对应的计算公式与公式(2)相同,在此不再赘述。
[0129]
在步骤s340中,根据所述加权参考像素和所述目标帧内预测模式对所述当前待解码块进行预测,以获取与所述当前待解码块对应的预测块。
[0130]
在本公开的一个实施例中,在确定与当前待解码块对应的加权参考像素后,可以根据该加权参考像素和目标帧内预测模式对当前待解码块进行预测,以获取与当前待解码块对应的预测块,进而根据与视频图像对应的多个待解码块对应的预测块得到重构图像。
[0131]
在本公开的一个实施例中,在完成对当前待解码块的预测后,可以将与该当前待解码块对应的帧内预测模式进行存储,用于预测后续待解码块的帧内预测模式。在存储当前待解码块的帧内预测模式时,可以通过多种方式实现,例如,可以将当前待解码块对应的帧内加权预测模式作为最终帧内预测模式进行存储,或者可以根据当前待解码块中最小划分单元对应的帧内预测模式进行分别存储。接下来,对如何存储与当前待解码块中最小划分单元对应的帧内预测模式进行详细说明。
[0132]
根据上述实施例分析可知,第一类参考像素和第二类参考像素是根据不同的方式确定的,同时在对待解码块进行预测时是根据加权参考像素和目标帧内预测模式进行预测的,而加权参考像素是根据第一类参考像素、第二类参考像素和参考像素权重确定的,因此在进行预测时,待解码块中部分像素是根据与第一类参考像素对应的帧内预测模式进行预测导出预测值的,部分像素是根据与第二类参考像素对应的帧内预测模式进行预测导出预测值的,也就是说,帧内加权预测模式包含两种预测模式,因此需要确定哪种帧内预测模式用作预测。通过对解码块中最小划分单元对应的帧内预测模式进行存储可以提高预测模式的精准度,进而提高预测准确度。
[0133]
图12示出了根据最小划分单元存储帧内预测模式的流程示意图,如图12所示,在步骤s1201中,根据预设大小将当前待解码块分解为多个子解码块;在步骤s1202中,根据各子解码块中的预设像素、目标帧内预测模式和目标权重列表确定存储方式索引值;在步骤s1203中,根据存储方式索引值确定该子解码块对应的帧内预测模式,并将该子解码块和与
该子解码块对应的帧内预测模式进行对应存储。
[0134]
其中,在步骤s1201中,预设大小可以是最小划分单元对应的大小,例如4
×
4,等等;在步骤s1202中,子解码块中的预设像素具体可以是位于最小划分单元左上角的像素、位于最小划分单元其它角点的像素、或者位于最小划分单元中心点的像素,当然还可以是最小划分单元中其它位置的像素,目标帧内预测模式包括角度模式和非角度模式,目标帧内预测模式不同,确定存储方式索引值的方法也不同。
[0135]
当目标帧内预测模式为角度模式时,首先将预设像素根据角度预测模式中的预测角度在有效参考像素的方向进行投影以确定目标参考像素;接着获取目标权重列表中与目标参考像素对应的权重,当目标参考像素对应的权重大于或等于第一预设阈值时,将存储方式索引值标记为第一数值;当目标参考像素对应的权重小于第一预设阈值时,将存储方式索引值标记为不同于第一数值的第二数值。
[0136]
当目标帧内预测模式为非角度模式时,根据目标权重列表和第二预设阈值对与子解码块对应的参考像素进行分类,以获取与子解码块对应的参考像素中权重小于第二预设阈值的第一数量和权重大于或等于第二预设阈值的第二数量;当第一数量小于或等于第二数量时,将存储方式索引值标记为第一数值;当第一数量大于第二数量时,将存储方式索引值标记为第二数值。
[0137]
其中,第一预设阈值和第二预设阈值可以根据实际需要设定,进一步地,第一预设阈值和第二预设阈值可以相同,也可以不同。另外,第一数值可以为0,第二数值可以为1,当然还可以设置为其它的数值,本公开实施例对此不作具体限定。
[0138]
进一步地,第一数值和第二数值对应不同的帧内预测模式,当确定存储方式索引值为第一数值时,将第一类参考像素对应的帧内预测模式作为该最小划分单元对应的预测模式进行存储,当确定存储方式索引值为第二数值时,将第二类参考像素对应的帧内预测模式作为该最小划分单元对应的预测模式进行存储。例如第一类参考像素对应的帧内预测模式为角度模式,第二类参考像素对应的帧内预测模式为dc模式时,当存储方式索引值为0时,确定最小划分单元对应的帧内预测模式为角度模式,当存储方式索引值为1时,确定最小划分单元对应的帧内预测模式为dc模式。
[0139]
上述实施例从解码端描述了解码器如何对待解码块进行预测获取对应的预测块,进而获取重构图像,但是解码端所进行的操作都可以看作是编码端操作的反操作,如图13所示,编码器对原始视频信号进行编码压缩时主要流程为预测—变换—量化—熵编码,以形成码流,相应地,解码端在对码流进行解码时的主要流程则为熵编码—反量化—反变换—预测,因此就本公开实施例中所采用的基于帧内加权预测模式进行预测的方法同样适用于编码端。
[0140]
图14示意性示出了根据本公开的一个实施例的视频编码方法的流程图,该视频编码方法可以由编码器来执行,该编码器可以是图1中所示的编码器102。参照图14所示,该视频编码方法至少包括步骤s1410至步骤s1440,详细介绍如下:
[0141]
在步骤s1410中,从帧内预测模式列表中确定与当前待编码块对应的目标帧内预测模式,并从权重列表集中确定与所述当前待编码块对应的目标权重列表。
[0142]
在本公开的实施例中,在获取原始视频信号后,可以对每个视频图像进行块划分,将视频图像划分为多个不重叠的处理单元(待编码块),然后通过编码器对每个处理单元进
行编码操作。编码器在对处理单元进行编码操作时,首先是对处理单元进行预测编码,该预测编码方式可以根据不同的需要选择帧内预测模式或帧间预测模式,在本公开的实施例中,预测编码方式为帧内预测模式。
[0143]
在本公开的实施例中,针对不同的处理单元,可以从多个帧内预测模式中选择最优的帧内预测模式对各个处理单元进行预测,其中多个帧内预测模式可以是与当前待编码块相邻或不相邻的已编码块对应的帧内预测模式、预设的角度模式、双线性模式和平面模式中的一种或多种。在确定与各处理单元对应的最优帧内预测模式时可以通过尝试多种帧内预测模式,并根据每种帧内预测模式处理后的率失真进行确定。
[0144]
在本公开的实施例中,还可以从权重列表集中确定与当前待编码块对应的目标权重列表,该目标权重列表用于后续对与当前待编码块对应的不同类型的参考像素进行加权处理。在本公开的实施例中,权重列表集中包括多个权重列表和与各权重列表对应的序列号,其中与各权重列表对应的序列号是根据索引值、帧内预测模式及待编码块的宽度和高度生成的,当获取当前待编码块的宽度和高度和帧内预测模式后,可以根据预设索引值和当前待编码块的宽度和高度以及帧内预测模式确定一标识,然后通过将标识与权重列表集中的序号进行匹配即可确定与当前待编码块对应的目标权重列表。
[0145]
权重列表集中各权重列表可以根据与待编码块对应的有效参考像素导出,具体地,首先可以根据待编码块的宽度和高度确定与待编码块对应的参考像素的长度,然后根据与待编码块对应的帧内预测模式在参考像素的长度方向上确定有效参考像素和有效参考像素长度,接着基于有效参考像素长度在有效参考像素中设置一个或多个预设点,根据预设索引值和预设点在有效参考像素中确定第一位置,同时根据预设参考像素的位置确定第二位置,最后根据第一位置和第二位置的关系设置参考像素的权重,以获取与待编码块对应的权重列表。其中各步骤的实现方式与解码器端的权重列表的导出方式相同,在此不再赘述。值得说明的是,还可以根据其它的方式生成权重列表集,例如,当待编码块的宽度和高度很小,只存在一个预设点时,那么可以只根据待编码块的宽度和高度以及对应的帧内预测模式确定与该待编码块的参考像素权重列表对应的序号。当然还可以有其它的方式,本公开实施例在此不再赘述。
[0146]
在步骤s1420中,根据与所述当前待编码块对应的参考像素确定第一类参考像素和第二类参考像素,并基于所述目标权重列表对所述第一类参考像素和所述第二类参考像素进行加权处理,以获取加权参考像素。
[0147]
在本公开的实施例中,通过为参考像素设置不同的权重实现了将待编码块分为不同的子块,且每个子块对应不同的参考像素的权重,为了获取更准确的待编码块的预测值,可以基于参考像素对应的权重列表对不同类型的参考像素进行加权处理,再通过加权处理后的参考像素对待编码块进行预测。在本公开的实施例中,可以根据与当前待编码块对应的参考像素确定第一类参考像素和第二类参考像素,与解码器端确定第一类参考像素和第二类参考像素的方法类似,首先可以根据与当前待编码块对应的参考像素构建相同大小的辅助参考像素,然后对参考像素的像素值进行目标处理以作为辅助参考像素中各像素的像素值;最后根据预设规则对参考像素和辅助参考像素进行分类,以获取第一类参考像素和第二类参考像素。具体地,可以将与当前待编码块对应的参考像素记为r_org,将对r_org进行目标处理所导出的辅助参考像素记为r_tmp,目标处理具体可以是:使用dc模式对r_org
中的所有像素值求平均值,并将该平均值作为r_tmp中每个像素的像素值;或者,获取r_org中参考像素权重大于等于(或小于等于)预设阈值位置处的像素,并使用dc模式对该些像素求平均值,进而将该平均值作为r_tmp中每个像素的像素值;或者,使用滤波器对r_org进行滤波得到r_tmp,去除r_org中的异常值,使r_tmp中的值更平滑;或者,r-tmp中的像素由距离当前待编码块更远的重构像素导出,例如根据预测角度由距离当前待解码块3行的重构像素导出r_tmp。当然还可以根据其它方法导出r_tmp,另外还可以将与当前待编码块对应的有效参考像素作为r_org,并根据该r_org确定r_tmp,等等,本公开实施例在此不再赘述。
[0148]
在本公开的实施例中,确定与当前待编码块对应的参考像素和辅助参考像素后,可以根据预设规则确定第一类参考像素和第二类参考像素,例如将与当前待编码块对应的参考像素作为第一类参考像素,将与当前待编码块对应的辅助参考像素作为第二类参考像素,当然还可以将与当前待编码块对应的参考像素作为第二类参考像素,将与当前待编码块对应的辅助参考像素作为第一类参考像素。
[0149]
接着,可以根据与当前待编码块对应的目标权重列表对第一类参考像素和第二类参考像素进行加权处理,以获取加权参考像素,计算公式如式(3)所示:
[0150]
r[x][y]=(r0[x][y]
×rw
[x][y]+r1[x][y]
×
(max_w-rw[x][y]))/max_w
ꢀꢀꢀ
(3)
[0151]
其中,r[x][y]为位于坐标(x,y)处的加权参考像素,r0[x][y]为位于坐标(x,y)处的第一类参考像素,rw[x][y]为目标权重列表中与位于坐标(x,y)处的参考像素对应的权重,r1[x][y]为位于坐标(x,y)处的第二类参考像素,max_w为权重取值范围中的最大值。
[0152]
在本公开的实施例中,亮度和色度是视频图像不同信道的特征,在编码时,也会分别对视频图像的亮度信息和色度信息分别进行编码,因此上述实施例中的与当前待编码块对应的参考像素包括亮度参考像素和色度参考像素,并且也可以根据上述实施例的方法分别获取与当前待编码块对应的亮度参考像素权重列表和色度参考像素权重列表,进而根据亮度参考像素权重列表和色度参考像素权重列表以及当前待编码块对应的亮度参考像素和色度参考像素即可确定亮度加权参考像素和色度加权参考像素。在对当前待编码块进行预测时,分别根据亮度加权参考像素和色度加权参考像素进行预测,并根据亮度预测值和色度预测值对当前待编码块进行编码。另外,上述实施例中的与当前待编码块对应的参考像素可以是亮度参考像素,当获取亮度参考像素的权重列表后,可以根据亮度参考像素的权重计算色度参考像素的权重,以获取色度参考像素的权重列表。根据亮度参考像素的权重计算色度参考像素的权重的计算公式如公式(4)所示:
[0153]rw
_chorma[x][y]=rw_luma[x《《scale_x][y《《scale_y]
ꢀꢀꢀ
(4)
[0154]
其中,rw_chorma[x][y]为位于坐标(x,y)处的色度参考像素的权重,rw_luma为亮度参考像素对应的权重列表,scale_x为视频图像亮度分量和色度分量在x方向的尺寸放缩系数,scale_y为视频图像亮度分量和色度分量在y方向的尺寸放缩系数,《《为左移运算符号,x《《1的值等于x*2的值。
[0155]
在确定色度参考像素的权重列表后,可以根据与待编码块对应的色度参考像素确定第一类色度参考像素和第二类色度参考像素,并基于色度参考像素的权重列表对第一类色度参考像素和第二类色度参考像素进行加权处理,以获取色度加权参考像素,其中加权处理所对应的计算公式与公式(3)相同,在此不再赘述。
[0156]
在步骤s1430中,根据所述加权参考像素和所述目标帧内预测模式对所述当前待
编码块进行预测,以获取与所述当前待编码块对应的预测块。
[0157]
在本公开的实施例中,在确定与当前待编码块对应的加权参考像素后,可以根据该加权参考像素和与当前待编码块对应的目标帧内预测模式对当前待解码块进行预测,以获取与当前待解码块对应的预测块。
[0158]
在本公开的一个实施例中,在完成对当前待编码块的预测后,可以将与该当前待编码块对应的帧内预测模式进行存储,用于预测后续待编码块的帧内预测模式。在存储当前待编码块的帧内预测模式时,可以通过多种方式实现,例如,可以将当前待编码块对应的帧内加权预测模式作为最终帧内预测模式进行存储,或者可以根据当前待编码块中最小划分单元对应的帧内预测模式进行分别存储。存储当前待编码块的帧内预测模式的方法与上述实施例中存储当前待解码块的帧内预测模式的方法相似,区别仅在于对象不同,应用的场景也不同,一个是针对待编码块,用于编码过程,另一个是针对待解码块,用于解码过程。
[0159]
在步骤s1440中,根据所述预测块形成码流,并在所述码流中添加第一标志、第一索引值和第二索引值,其中所述第一标志用于标识是否对待解码块使用帧内加权预测模式;所述第一索引值用于从第一帧内预测模式列表中确定与所述待解码块对应的目标帧内预测模式;所述第二索引值用于在权重列表集中确定与所述待解码块对应的目标权重列表。
[0160]
在本公开的实施例中,根据图13所示的流程图可知,编码器对原始视频信号进行编码压缩后,形成码流,进而通过解码端对码流进行解码以形成重构图像,因此作为编码器端,在完成对所有处理单元的预测后,还需要对与待编码块对应的预测块进行变换编码及量化以及熵编码形成码流,在该码流中还需要添加一些标识信息,以使解码器端根据该些标识信息获取编码器端所采用的具体处理方式,并将该具体处理方式应用到解码过程中。
[0161]
其中标识信息可以包括第一标志、第一索引值和第二索引值,该第一标志用于标识是否对当前待编码块使用帧内加权预测模式,该第一索引值用于从第一帧内预测模式列表中确定与待解码块对应的目标帧内预测模式,该第二索引值用于在权重列表集中确定与待解码块对应的目标权重列表。
[0162]
进一步地,标识信息还可以包括第二标志、第三标志、第三索引值,该第二标志用于标识目标帧内预测模式是否在第一帧内预测模式列表内,该第三标志用于标识如何确定第一类参考像素和第二类参考像素,该第三索引值用于标识目标帧内预测模式是否在第一帧内预测模式列表中。
[0163]
本公开实施例中的视频编解码方法,在解码器端,首先解码码流以得到第一标志,并根据第一标志判断是否采用帧内加权预测模式,在确定采用帧内加权预测模式后,根据解码码流所得到的第一索引值在第一帧内预测模式列表中确定目标帧内预测模式,以及根据第二索引值在权重列表集中确定目标权重列表;然后根据待解码块对应的参考像素确定第一类参考像素和第二类参考像素,并基于目标权重列表对第一类参考像素和第二类参考像素进行加权处理,以获取加权参考像素;最后根据加权参考像素和目标帧内预测模式对待解码块进行预测,即可获取与待解码块对应的预测块。在编码器端,采用与解码器端相似的预测方法对待编码块进行预测编码,进而生成码流,并将码流发送至解码器进行解码。本公开的技术方案一方面能够将两种类型的帧内预测参考像素进行加权组合,并基于加权组合后的参考像素导出预测值,提高了预测值的准确性;另一方面对于一个编码块/解码块中
存在多种纹理时,可以给出准确的预测值;再一方面本公开中的预测方法可以应用于视频编解码中,进而提升编解码效率。
[0164]
以下介绍本公开的装置实施例,可以用于执行本公开上述实施例中的视频解码方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的视频解码方法的实施例。
[0165]
图15示意性示出了根据本公开的一个实施例的视频解码装置的框图。
[0166]
参照图15所示,根据本公开的一个实施例的视频解码装置1500,包括:码流解码模块1501、索引匹配模块1502、像素加权模块1503和像素预测模块1504。
[0167]
其中,码流解码模块1501,用于解码码流,以获取第一标志、第一索引值和第二索引值,其中所述第一标志用于标识是否对当前待解码块使用帧内加权预测模式;索引匹配模块1502,用于在所述第一标志的值满足第一预设条件时,根据所述第一索引值在第一帧内预测模式列表中确定目标帧内预测模式,并根据所述第二索引值在权重列表集中确定目标权重列表;像素加权模块1503,用于根据与所述当前待解码块对应的参考像素确定第一类参考像素和第二类参考像素,并基于所述目标权重列表对所述第一类参考像素和所述第二类参考像素进行加权处理,以获取加权参考像素;像素预测模块1504,用于根据所述加权参考像素和所述目标帧内预测模式对所述当前待解码块进行预测,以获取与所述当前待解码块对应的预测块。
[0168]
在本公开的一个实施例中,所述第一帧内预测模式列表包括多种帧内预测模式和与各所述帧内预测模式对应的序列号;所述索引匹配模块1502配置为:将所述第一索引值与所述第一帧内预测模式列表中的序列号进行匹配,以确定与所述第一索引值匹配的目标序列号;将与所述目标序列号对应的帧内预测模式作为所述目标帧内预测模式。
[0169]
在本公开的一个实施例中,所述视频解码装置1500还配置为:获取第二标志;当根据所述第二标志确定所述目标帧内预测模式在所述第一帧内预测模式列表中时,解码所述码流获取所述第一索引值,并根据所述第一索引值在所述第一帧内预测模式列表中确定所述目标帧内预测模式;当根据所述第二标志确定所述目标帧内预测模式不在所述第一帧内预测模式列表中时,解码所述码流获取第三索引值,并根据所述第三索引值在第二帧内预测模式列表中确定所述目标帧内预测模式;其中所述第一帧内预测模式列表与所述第二帧内预测模式列表所包含的帧内预测模式不同。
[0170]
在本公开的一个实施例中,所述第一帧内预测模式列表包括与所述当前待解码块相邻或不相邻的已解码块对应的帧内预测模式、预设的角度模式、双线性模式和平面模式中的一个或多个,并且所述第一帧内预测模式列表所包含的帧内预测模式各不相同。
[0171]
在本公开的一个实施例中,所述权重列表集中包括多个权重列表和与各所述权重列表对应的序列号,其中与各所述权重列表对应的序列号是根据索引值、帧内预测模式及待解码块的宽度和高度生成的,所述索引值的类型与所述第二索引值的类型相同;所述索引匹配模块1502还配置为:根据所述第二索引值、所述当前待解码块的宽度和高度以及所述目标帧内预测模式确定一标识;将所述标识与所述权重列表集中的序列号进行匹配,以获取目标序列号,并将与所述目标序列号对应的权重列表作为所述目标权重列表。
[0172]
在本公开的一个实施例中,所述视频解码装置1500还包括:权重列表构建模块,用于根据与所述待解码块对应的帧内预测模式以及所述待解码块的宽度和高度确定与所述待解码块对应的权重列表。
[0173]
在本公开的一个实施例中,所述权重列表构建模块包括:第一长度确定单元,用于根据所述待解码块的宽度和高度确定与所述待解码块对应的参考像素的长度;第二长度确定单元,用于根据与所述待解码块对应的帧内预测模式在所述参考像素的长度方向上确定有效参考像素和有效参考像素长度;位置确定单元,用于基于所述有效参考像素长度在所述有效参考像素中设置一个或多个预设点,根据所述索引值和所述预设点在所述有效参考像素中确定第一位置,同时根据预设参考像素的位置确定第二位置;权重设置单元,用于根据所述第一位置和所述第二位置的关系设置所述参考像素的权重,以获取与所述待解码块对应的权重列表。
[0174]
在本公开的一个实施例中,所述第二长度确定单元配置为:当所述帧内预测模式为角度模式时,获取预测角度,根据所述待解码块的宽度和高度以及所述预测角度确定所述有效参考像素和所述有效参考像素长度;当所述帧内预测模式为非角度模式时,所述有效参考像素为所述参考像素,所述有效参考像素长度为所述参考像素的长度。
[0175]
在本公开的一个实施例中,所述权重设置单元配置为:当所述第一位置的坐标小于所述第二位置的坐标时,将所述预设参考像素和位置坐标小于所述第一位置的坐标的参考像素的权重设置为第一权重,将剩余的参考像素的权重设置为第二权重;当所述第一位置的坐标大于或等于所述第二位置的坐标时,将所述预设参考像素和位置坐标小于所述第一位置的坐标的参考像素的权重设置为所述第二权重,将剩余的参考像素的权重设置为所述第一权重。
[0176]
在本公开的一个实施例中,所述权重设置单元配置为:在所述第一位置处添加过渡权重,其中位于所述第一位置之前的参考像素的过渡权重为权重取值范围中的任一权重,位于所述第一位置之后的参考像素的过渡权重随参考像素的位置与所述第一位置的距离的变化而变化,其中所述第一位置之后的参考像素的过渡权重大于所述第一位置之前的参考像素的权重且小于或等于所述权重取值范围中的最大权重;或者,在所述第一位置处添加过渡权重,其中位于所述第一位置之前的参考像素的过渡权重随参考像素的位置与所述第一位置的绝对距离的变化而变化,位于所述第一位置之后的参考像素的过渡权重为所述权重取值范围中的任一权重,其中所述第一位置之前的参考像素的过渡权重大于所述第一位置之后的参考像素的权重且小于或等于所述权重取值范围中的最大权重。
[0177]
在本公开的一个实施例中,所述像素加权模块1503包括:像素处理单元,用于根据所述参考像素构建相同大小的辅助参考像素,并对所述参考像素的像素值进行目标处理以作为所述辅助参考像素中各像素的像素值;分类单元,用于根据预设规则对所述参考像素和所述辅助参考像素进行分类,以获取所述第一类参考像素和所述第二类参考像素。
[0178]
在本公开的一个实施例中,所述分类单元配置为:将所述参考像素作为所述第一类参考像素,将所述辅助参考像素作为所述第二类参考像素;或者,解码所述码流以获取第三标志;在所述第三标志的值满足第二预设条件时,将所述参考像素作为所述第一类参考像素,将所述辅助参考像素作为所述第二类参考像素;在所述第三标志的值不满足所述第二预设条件时,将所述辅助参考像素作为所述第一类参考像素,将所述参考像素作为所述第二类参考像素。
[0179]
在本公开的一个实施例中,所述像素加权模块1503配置为:根据计算公式(3)确定加权参考像素:
[0180]
r[x][y]=(r0[x][y]
×rw
[x][y]+r1[x][y]
×
(max_w-rw[x][y]))/max_w
ꢀꢀꢀ
(3)
[0181]
其中,r[x][y]为位于坐标(x,y)处的加权参考像素,r0[x][y]为位于坐标(x,y)处的第一类参考像素,rw[x][y]为目标权重列表中与位于坐标(x,y)处的参考像素对应的权重,r1[x][y]为位于坐标(x,y)处的第二类参考像素,max_w为权重取值范围中的最大值。
[0182]
在本公开的一个实施例中,所述参考像素包括亮度参考像素和色度参考像素,所述加权参考像素包括亮度加权参考像素和色度加权参考像素。
[0183]
在本公开的一个实施例中,所述参考像素为亮度参考像素,所述加权参考像素为亮度加权参考像素;所述视频解码装置1500还配置为:根据计算公式(4)对所述亮度参考像素的权重进行处理,以确定色度参考像素的权重列表;根据与所述当前待解码块对应的色度参考像素确定第一类色度参考像素和第二类色度参考像素,并基于所述色度参考像素的权重列表对所述第一类色度参考像素和所述第二类色度参考像素进行加权处理,以获取色度加权参考像素;
[0184]
其中,计算公式(4)如下所示:
[0185]rw
_chorma[x][y]=rw_luma[x《《scale_x][y《《scale_y]
ꢀꢀꢀ
(4)
[0186]
其中,rw_chorma[x][y]为位于坐标(x,y)处的色度参考像素的权重,rw_luma为亮度参考像素对应的权重列表,scale_x为视频图像亮度分量和色度分量在x方向的尺寸放缩系数,scale_y为视频图像亮度分量和色度分量在y方向的尺寸放缩系数,《《为左移运算符号。
[0187]
在本公开的一个实施例中,所述像素预测模块1504配置为:根据所述亮度加权参考像素、所述色度加权参考像素和所述目标帧内预测模式对所述当前待解码块进行预测。
[0188]
在本公开的一个实施例中,所述视频解码装置1500还配置为:在获取所述第一标志之前,获取所述当前待解码块的宽度和高度,当所述当前待解码块的宽度和高度满足第三预设条件时,解码所述码流以获取所述第一标志;或者,在获取所述第一标志之前,解码所述码流以获取图像头标志,当所述图像头标志满足第四预设条件时,解码所述码流以获取所述第一标志;或者,在获取所述第一标志之前,解码所述码流以获取序列头标志,当所述序列头标志满足第五预设条件时,解码所述码流以获取所述第一标志或者所述图像头标志和所述第一标志。
[0189]
在本公开的一个实施例中,所述视频解码装置1500还包括:第一存储模块,用于将所述当前待解码块对应的帧内加权预测模式作为最终的帧内预测模式进行存储;或者,分解模块,用于根据预设大小将所述当前待解码块分解为多个子解码块;索引值确定模块,用于根据各所述子解码块中的预设像素、所述目标帧内预测模式和所述目标权重列表确定存储方式索引值;第二存储模块,用于根据所述存储方式索引值确定所述子解码块对应的帧内预测模式,并将所述子解码块和与所述子解码块对应的帧内预测模式进行对应存储。
[0190]
在本公开的一个实施例中,所述索引值确定模块配置为:当所述目标帧内预测模式为角度模式时,将所述预设像素根据所述角度模式中的预测角度在有效参考像素的方向进行投影以确定目标参考像素;获取所述目标权重列表中与所述目标参考像素对应的权重;当所述目标参考像素对应的权重大于或等于第一预设阈值时,将所述存储方式索引值标记为第一数值;当所述目标参考像素对应的权重小于所述第一预设阈值时,将所述存储方式索引值标记为不同于所述第一数值的第二数值;或者,当所述目标帧内预测模式为非
角度模式时,根据所述目标权重列表和第二预设阈值对与所述子解码块对应的参考像素进行分类,以获取与所述子解码块对应的参考像素中权重小于所述第二预设阈值的第一数量和权重大于或等于所述第二预设阈值的第二数量;当所述第一数量小于或等于所述第二数量时,将所述存储方式索引值标记为所述第一数值;当所述第一数量大于所述第二数量时,将所述存储方式索引值标记为所述第二数值。
[0191]
在本公开的一个实施例中,所述第二存储模块配置为:当所述存储方式索引值为所述第一数值时,所述子解码块对应的帧内预测模式为所述第一类参考像素对应的帧内预测模式;当所述存储方式索引值为所述第二数值时,所述子解码块对应的帧内预测模式为所述第二类参考像素对应的帧内预测模式。
[0192]
图16示意性示出了根据本公开的一个实施例的视频编码装置的框图。
[0193]
参照图16所示,根据本公开的一个实施例的视频编码装置1600,包括:确定模块1601、加权模块1602、预测模块1603和码流生成模块1604。
[0194]
其中,确定模块1601,用于确定与当前待编码块对应的目标帧内预测模式,并从权重列表集中确定与所述当前待编码块对应的目标权重列表;加权模块1602,用于根据与所述当前待编码块对应的参考像素确定第一类参考像素和第二类参考像素,并基于所述目标权重列表对所述第一类参考像素和所述第二类参考像素进行加权处理,以获取加权参考像素;预测模块1603,用于根据所述加权参考像素和所述目标帧内预测模式对所述当前待编码块进行预测,以获取与所述当前待编码块对应的预测块;码流生成模块1604,用于根据所述预测块形成码流,并在所述码流中添加第一标志、第一索引值和第二索引值,其中所述第一标志用于标识是否对待解码块使用帧内加权预测模式;所述第一索引值用于从第一帧内预测模式列表中确定与所述待解码块对应的目标帧内预测模式;所述第二索引值用于在权重列表集中确定与所述待解码块对应的目标权重列表。
[0195]
在本公开的一个实施例中,所述视频编码装置1600配置为:从帧内预测模式列表中确定所述目标帧内预测模式,其中所述帧内预测模式列表包括与所述当前待编码块相邻或不相邻的已编码块对应的帧内预测模式、预设的角度模式、双线性模式和平面模式中的一个或多个,并且所述帧内预测模式列表所包含的帧内预测模式各不相同
[0196]
在本公开的一个实施例中,所述权重列表集中包括多个权重列表和与各所述权重列表对应的序列号,其中与各所述权重列表对应的序列号是根据索引值、帧内预测模式及待解码块的宽度和高度生成的;所述确定模块1601配置为:根据预设索引值、所述当前待编码块的宽度和高度以及所述目标帧内预测模式确定一标识;将所述标识与所述权重列表集中的序列号进行匹配,以获取目标序列号,并将与所述目标序列号对应的权重列表作为所述目标权重列表。
[0197]
在本公开的一个实施例中,所述视频编码装置1600还包括:权重列表构建模块,用于根据与所述待编码块对应的帧内预测模式以及所述待编码块的宽度和高度确定与所述待编码块对应的权重列表。
[0198]
在本公开的一个实施例中,所述权重列表构建模块包括:第一长度确定单元,用于根据所述待编码块的宽度和高度确定与所述待编码块对应的参考像素的长度;第二长度确定单元,用于根据与所述待编码块对应的帧内预测模式在所述参考像素的长度方向上确定有效参考像素和有效参考像素长度;位置确定单元,用于基于所述有效参考像素长度在所
述有效参考像素中设置一个或多个预设点,根据所述索引值和所述预设点在所述有效参考像素中确定第一位置,同时根据预设参考像素的位置确定第二位置;权重设置单元,用于根据所述第一位置和所述第二位置的关系设置所述参考像素的权重,以获取与所述待编码块对应的权重列表。
[0199]
在本公开的一个实施例中,所述第二长度确定单元配置为:当所述帧内预测模式为角度模式时,获取预测角度,根据所述待编码块的宽度和高度以及所述预测角度确定所述有效参考像素和所述有效参考像素长度;当所述帧内预测模式为非角度模式时,所述有效参考像素为所述参考像素,所述有效参考像素长度为所述参考像素的长度。
[0200]
在本公开的一个实施例中,所述权重设置单元配置为:当所述第一位置的坐标小于所述第二位置的坐标时,将所述预设参考像素和位置坐标小于所述第一位置的坐标的参考像素的权重设置为第一权重,将剩余的参考像素的权重设置为第二权重;当所述第一位置的坐标大于或等于所述第二位置的坐标时,将所述预设参考像素和位置坐标小于所述第一位置的坐标的参考像素的权重设置为所述第二权重,将剩余的参考像素的权重设置为所述第一权重。
[0201]
在本公开的一个实施例中,所述权重设置单元配置为:在所述第一位置处添加过渡权重,其中位于所述第一位置之前的参考像素的过渡权重为权重取值范围中的任一权重,位于所述第一位置之后的参考像素的过渡权重随参考像素的位置与所述第一位置的距离的变化而变化,其中所述第一位置之后的参考像素的过渡权重大于所述第一位置之前的参考像素的权重且小于或等于所述权重取值范围中的最大权重;或者,在所述第一位置处添加过渡权重,其中位于所述第一位置之前的参考像素的过渡权重随参考像素的位置与所述第一位置的绝对距离的变化而变化,位于所述第一位置之后的参考像素的过渡权重为所述权重取值范围中的任一权重,其中所述第一位置之前的参考像素的过渡权重大于所述第一位置之后的参考像素的权重且小于或等于所述权重取值范围中的最大权重。
[0202]
在本公开的一个实施例中,所述加权模块1602包括:像素处理单元,用于根据所述参考像素构建相同大小的辅助参考像素,并对所述参考像素的像素值进行目标处理以作为所述辅助参考像素中各像素的像素值;分类单元,用于根据预设规则对所述参考像素和所述辅助参考像素进行分类,以获取所述第一类参考像素和所述第二类参考像素。
[0203]
在本公开的一个实施例中,所述分类单元配置为:将所述参考像素作为所述第一类参考像素,将所述辅助参考像素作为所述第二类参考像素;或者,编码所述码流以获取第三标志;在所述第三标志的值满足第二预设条件时,将所述参考像素作为所述第一类参考像素,将所述辅助参考像素作为所述第二类参考像素;在所述第三标志的值不满足所述第二预设条件时,将所述辅助参考像素作为所述第一类参考像素,将所述参考像素作为所述第二类参考像素。
[0204]
在本公开的一个实施例中,所述加权模块1602配置为:根据计算公式(3)确定加权参考像素:
[0205]
r[x][y]=(r0[x][y]
×rw
[x][y]+r1[x][y]
×
(max_w-rw[x][y]))/max_w
ꢀꢀꢀ
(3)
[0206]
其中,r[x][y]为位于坐标(x,y)处的加权参考像素,r0[x][y]为位于坐标(x,y)处的第一类参考像素,rw[x][y]为目标权重列表中与位于坐标(x,y)处的参考像素对应的权重,r1[x][y]为位于坐标(x,y)处的第二类参考像素,max_w为权重取值范围中的最大值。
[0207]
在本公开的一个实施例中,所述参考像素包括亮度参考像素和色度参考像素,所述加权参考像素包括亮度加权参考像素和色度加权参考像素。
[0208]
在本公开的一个实施例中,所述参考像素为亮度参考像素,所述加权参考像素为亮度加权参考像素;所述视频编码装置1600还配置为:根据计算公式(4)对所述亮度参考像素的权重进行处理,以确定色度参考像素的权重列表;根据与所述当前待编码块对应的色度参考像素确定第一类色度参考像素和第二类色度参考像素,并基于所述色度参考像素的权重列表对所述第一类色度参考像素和所述第二类色度参考像素进行加权处理,以获取色度加权参考像素;
[0209]
其中,计算公式(4)如下所示:
[0210]rw
_chorma[x][y]=rw_luma[x《《scale_x][y《《scale_y]
ꢀꢀꢀ
(4)
[0211]
其中,rw_chorma[x][y]为位于坐标(x,y)处的色度参考像素的权重,rw_luma为亮度参考像素对应的权重列表,scale_x为视频图像亮度分量和色度分量在x方向的尺寸放缩系数,scale_y为视频图像亮度分量和色度分量在y方向的尺寸放缩系数,《《为左移运算符号。
[0212]
在本公开的一个实施例中,所述预测模块1603配置为:根据所述亮度加权参考像素、所述色度加权参考像素和所述目标帧内预测模式对所述当前待编码块进行预测。
[0213]
在本公开的一个实施例中,所述视频编码装置1600还包括:第一存储模块,用于将所述当前待编码块对应的帧内加权预测模式作为最终的帧内预测模式进行存储;或者,分解模块,用于根据预设大小将所述当前待编码块分解为多个子编码块;索引值确定模块,用于根据各所述子编码块中的预设像素、所述目标帧内预测模式和所述目标权重列表确定存储方式索引值;第二存储模块,用于根据所述存储方式索引值确定所述子编码块对应的帧内预测模式,并将所述子编码块和与所述子编码块对应的帧内预测模式进行对应存储。
[0214]
在本公开的一个实施例中,所述索引值确定模块配置为:当所述目标帧内预测模式为角度模式时,将所述预设像素根据所述角度模式中的预测角度在有效参考像素的方向进行投影以确定目标参考像素;获取所述目标权重列表中与所述目标参考像素对应的权重;当所述目标参考像素对应的权重大于或等于第一预设阈值时,将所述存储方式索引值标记为第一数值;当所述目标参考像素对应的权重小于所述第一预设阈值时,将所述存储方式索引值标记为不同于所述第一数值的第二数值;或者,当所述目标帧内预测模式为非角度模式时,根据所述目标权重列表和第二预设阈值对与所述子编码块对应的参考像素进行分类,以获取与所述子编码块对应的参考像素中权重小于所述第二预设阈值的第一数量和权重大于或等于所述第二预设阈值的第二数量;当所述第一数量小于或等于所述第二数量时,将所述存储方式索引值标记为所述第一数值;当所述第一数量大于所述第二数量时,将所述存储方式索引值标记为所述第二数值。
[0215]
在本公开的一个实施例中,所述第二存储模块配置为:当所述存储方式索引值为所述第一数值时,所述子编码块对应的帧内预测模式为所述第一类参考像素对应的帧内预测模式;当所述存储方式索引值为所述第二数值时,所述子编码块对应的帧内预测模式为所述第二类参考像素对应的帧内预测模式。
[0216]
图17示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
[0217]
需要说明的是,图17示出的电子设备的计算机系统1700仅是一个示例,不应对本
公开实施例的功能和使用范围带来任何限制。
[0218]
如图17所示,计算机系统1700包括中央处理单元(central processing unit,cpu)1701,其可以根据存储在只读存储器(read-only memory,rom)1702中的程序或者从存储部分1708加载到随机访问存储器(random access memory,ram)1703中的程序而执行各种适当的动作和处理,实现上述实施例中所述的搜索串处理方法。在ram 1703中,还存储有系统操作所需的各种程序和数据。cpu 1701、rom 1702以及ram1703通过总线1704彼此相连。输入/输出(input/output,i/o)接口1705也连接至总线1704。
[0219]
以下部件连接至i/o接口1705:包括键盘、鼠标等的输入部分1706;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分1707;包括硬盘等的存储部分1708;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分1709。通信部分1709经由诸如因特网的网络执行通信处理。驱动器1710也根据需要连接至i/o接口1705。可拆卸介质1711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1710上,以便于从其上读出的计算机程序根据需要被安装入存储部分1708。
[0220]
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1709从网络上被下载和安装,和/或从可拆卸介质1711被安装。在该计算机程序被中央处理单元(cpu)1701执行时,执行本公开的系统中限定的各种功能。
[0221]
需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0222]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个
用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0223]
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0224]
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
[0225]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0226]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
[0227]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
[0228]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1