视频处理方法、装置、电子设备、存储介质及程序产品与流程

文档序号:31631928发布日期:2022-09-24 02:12阅读:63来源:国知局
视频处理方法、装置、电子设备、存储介质及程序产品与流程

1.本公开涉及视频处理技术领域,尤其涉及一种视频处理方法、视频处理装置、电子设备、计算机可读存储介质以及计算机程序产品。


背景技术:

2.视频编码方式就是指通过压缩技术,将原始视频格式的文件转换成另一种视频格式文件的方式。在视频编码过程中,由于各个编码块的变换量化编码过程相互独立,采用的编码参数也存在一些差异,因此在经过压缩之后,各个编码块的编码误差同样可能存在一些差异,这些差异导致相邻块边界存在不连续的情况,进而产生视觉上可观测到的块效应。
3.目前采用的视频标准,通常采用去块滤波(deblocking filter,dbf)方式处理方块效应。然而,dbf滤波原理是利用基于统计规律和先验知识得到的滤波判断条件和每个条件对应的滤波模板来对重构图像编码块边界像素进行滤波。dbf虽然可以有效的改善图像的主观质量,但无法保证该算法的客观编码性能。


技术实现要素:

4.本公开提供一种视频处理方法、视频处理装置、电子设备、计算机可读存储介质以及计算机程序产品,以至少解决相关技术中对视频帧进行去块滤波通常以帧级进行,无法保证去块滤波的客观编码性能的问题。本公开的技术方案如下:
5.根据本公开实施例的第一方面,提供一种视频处理方法,包括:获取待处理视频帧,确定所述待处理视频帧包含的多个编码单元块;对各所述编码单元块分别进行率失真处理,得到各所述编码单元块对应的目标滤波参数值,所述目标滤波参数值为使对应的编码单元块具有最小率失真代价的参数值;根据确定出的多个所述目标滤波参数值对所述待处理视频帧进行编码处理。
6.在本公开的一种示例性实施例中,所述对各所述编码单元块分别进行率失真处理,得到各所述编码单元块对应的目标滤波参数值,包括:对各所述编码单元块分别进行率失真处理,得到各所述编码单元块对应的初始滤波参数值;获取各所述编码单元块对应的关联滤波参数值,所述关联滤波参数值为与所述编码单元块具有关联关系的关联编码单元块对应的滤波参数值;根据各所述编码单元块的所述关联滤波参数值与所述初始滤波参数值确定各自对应的目标滤波参数值。
7.在本公开的一种示例性实施例中,所述对各所述编码单元块分别进行率失真处理,得到各所述编码单元块对应的初始滤波参数值,包括:从多个所述编码单元块中获取一当前编码单元块;确定所述率失真处理所采用的滤波参数,获取所述滤波参数的参数取值区间,所述参数取值区间包括多个滤波参数值;确定所述当前编码单元块在各所述滤波参数值下的率失真代价;将多个所述率失真代价的最小值作为当前率失真代价;将所述当前率失真代价对应的滤波参数值作为所述初始滤波参数值。
8.在本公开的一种示例性实施例中,所述确定所述当前编码单元块在各所述滤波参
数值下的率失真代价,包括:获取所述当前编码单元块对应的原始块数据;基于各所述滤波参数值对所述当前编码单元块进行去块滤波处理,以得到多个滤波块数据;将所述原始块数据分别与多个所述滤波块数据进行对比,确定所述当前编码单元块在各所述滤波参数值下的滤波失真损失值;确定所述当前编码单元块的码率消耗值,根据所述码率消耗值与多个所述滤波失真损失值确定各所述滤波参数值下的率失真代价。
9.在本公开的一种示例性实施例中,所述根据各所述编码单元块的所述关联滤波参数值与所述初始滤波参数值确定各自对应的目标滤波参数值,包括:从多个所述编码单元块中获取一当前编码单元块;若所述当前编码单元块存在关联编码单元块,则确定所述关联编码单元块在所述关联滤波参数值下的关联率失真代价;根据所述当前率失真代价与所述关联率失真代价的对比结果,确定所述目标滤波参数值;若所述当前编码单元块不存在关联编码单元块,则将所述初始滤波参数值作为所述目标滤波参数值。
10.在本公开的一种示例性实施例中,所述关联编码单元块的数量为一个,所述根据所述当前率失真代价与所述关联率失真代价的对比结果,确定所述目标滤波参数值,包括:获取所述当前编码单元块对应的参数复用标识位;若所述当前率失真代价小于或等于所述关联率失真代价,则将所述初始滤波参数值作为所述目标滤波参数值,并将所述参数复用标识位配置为未复用标识;若所述当前率失真代价大于所述关联率失真代价时,则将所述关联滤波参数值作为所述目标滤波参数值,并将所述参数复用标识位配置为已复用标识。
11.在本公开的一种示例性实施例中,所述关联编码单元块的数量为多个,所述根据所述当前率失真代价与所述关联率失真代价的对比结果,确定所述目标滤波参数值,包括:获取所述当前编码单元块对应的参数复用标识位;确定所述当前率失真代价与多个所述关联率失真代价的最小值;若所述最小值为所述当前率失真代价,则将所述初始滤波参数值作为所述目标滤波参数值,并将所述参数复用标识位配置为未复用标识;若所述最小值为多个所述关联率失真代价的其中之一,则将最小关联率失真代价对应的关联滤波参数值作为所述目标滤波参数值,并将所述参数复用标识位设置为已复用标识。
12.在本公开的一种示例性实施例中,所述确定所述待处理视频帧包含的多个编码单元块,包括:确定所述待处理视频帧的视频帧尺寸与分块步长;根据所述视频帧尺寸与所述分块步长对所述待处理视频帧进行划分处理,以得到多个所述编码单元块。
13.在本公开的一种示例性实施例中,所述根据确定出的多个所述目标滤波参数值对所述待处理视频帧进行编码处理,包括:确定各所述目标滤波参数值的参数来源;根据所述参数来源确定待写入滤波参数值,将所述待写入滤波参数值写入至所述待处理视频帧对应的视频码流,以对待处理视频帧进行编码处理。
14.在本公开的一种示例性实施例中,所述确定各所述目标滤波参数值的参数来源,包括:获取所述编码单元块的参数复用标识位;所述参数复用标识位包括第一标识位与第二标识位;若所述第一标识位与所述第二标识位均为未复用标识,则将所述参数来源确定为自身来源;若所述第一标识位为已复用标识且所述第二标识位为未复用标识,则将所述参数来源确定为第一关联来源;若所述第一标识位为未复用标识且所述第二标识位为已复用标识,则将所述参数来源确定为第二关联来源。
15.在本公开的一种示例性实施例中,所述根据所述参数来源确定待写入滤波参数值,将所述待写入滤波参数值写入至所述待处理视频帧对应的视频码流,包括:将所述参数
来源为自身来源的编码单元块确定为待写入单元块;将所述待写入单元块对应的目标滤波参数值确定为所述待写入滤波参数值;将所述待写入滤波参数值写入至所述视频码流的对应位置。
16.根据本公开实施例的第二方面,提供一种视频处理装置,包括:编码块确定模块,被配置为执行获取待处理视频帧,确定所述待处理视频帧包含的多个编码单元块;滤波值确定模块,被配置为执行对各所述编码单元块分别进行率失真处理,得到各所述编码单元块对应的目标滤波参数值,所述目标滤波参数值为使对应的编码单元块具有最小率失真代价的参数值;视频编码模块,被配置为执行根据确定出的多个所述目标滤波参数值对所述待处理视频帧进行编码处理。
17.在本公开的一种示例性实施例中,所述滤波值确定模块包括目标值确定模块,所述目标值确定模块被配置为执行对各所述编码单元块分别进行率失真处理,得到各所述编码单元块对应的初始滤波参数值;获取各所述编码单元块对应的关联滤波参数值,所述关联滤波参数值为与所述编码单元块具有关联关系的关联编码单元块对应的滤波参数值;根据各所述编码单元块的所述关联滤波参数值与所述初始滤波参数值确定各自对应的目标滤波参数值。
18.在本公开的一种示例性实施例中,所述目标值确定模块包括初始值确定单元,所述初始值确定单元被配置为执行:从多个所述编码单元块中获取一当前编码单元块;确定所述率失真处理所采用的滤波参数,获取所述滤波参数的参数取值区间,所述参数取值区间包括多个滤波参数值;确定所述当前编码单元块在各所述滤波参数值下的率失真代价;将多个所述率失真代价的最小值作为当前率失真代价;将所述当前率失真代价对应的滤波参数值作为所述初始滤波参数值。
19.在本公开的一种示例性实施例中,所述初始值确定单元包括失真代价确定子单元,所述失真代价确定子单元被配置为执行:获取所述当前编码单元块对应的原始块数据;基于各所述滤波参数值对所述当前编码单元块进行去块滤波处理,以得到多个滤波块数据;将所述原始块数据分别与多个所述滤波块数据进行对比,确定所述当前编码单元块在各所述滤波参数值下的滤波失真损失值;确定所述当前编码单元块的码率消耗值,根据所述码率消耗值与多个所述滤波失真损失值确定各所述滤波参数值下的率失真代价。
20.在本公开的一种示例性实施例中,所述目标值确定模块包括目标值确定单元,所述目标值确定单元被配置为执行:从多个所述编码单元块中获取一当前编码单元块;若所述当前编码单元块存在关联编码单元块,则确定所述关联编码单元块在所述关联滤波参数值下的关联率失真代价;根据所述当前率失真代价与所述关联率失真代价的对比结果,确定所述目标滤波参数值;若所述当前编码单元块不存在关联编码单元块,则将所述初始滤波参数值作为所述目标滤波参数值。
21.在本公开的一种示例性实施例中,所述关联编码单元块的数量为一个,所述目标值确定单元包括第一确定子单元,所述第一确定子单元被配置为执行:获取所述当前编码单元块对应的参数复用标识位;若所述当前率失真代价小于或等于所述关联率失真代价,则将所述初始滤波参数值作为所述目标滤波参数值,并将所述参数复用标识位配置为未复用标识;若所述当前率失真代价大于所述关联率失真代价时,则将所述关联滤波参数值作为所述目标滤波参数值,并将所述参数复用标识位配置为已复用标识。
22.在本公开的一种示例性实施例中,所述关联编码单元块的数量为多个,所述目标值确定单元包括第二确定子单元,所述第二确定子单元被配置为执行:获取所述当前编码单元块对应的参数复用标识位;确定所述当前率失真代价与多个所述关联率失真代价的最小值;若所述最小值为所述当前率失真代价,则将所述初始滤波参数值作为所述目标滤波参数值,并将所述参数复用标识位配置为未复用标识;若所述最小值为多个所述关联率失真代价的其中之一,则将最小关联率失真代价对应的关联滤波参数值作为所述目标滤波参数值,并将所述参数复用标识位设置为已复用标识。
23.在本公开的一种示例性实施例中,所述编码块确定模块包括编码块确定单元,所述编码块确定单元被配置为执行:确定所述待处理视频帧的视频帧尺寸与分块步长;根据所述视频帧尺寸与所述分块步长对所述待处理视频帧进行划分处理,以得到多个所述编码单元块。
24.在本公开的一种示例性实施例中,所述视频编码模块包括视频编码单元,所述视频编码单元被配置为执行:确定各所述目标滤波参数值的参数来源;根据所述参数来源确定待写入滤波参数值,将所述待写入滤波参数值写入至所述待处理视频帧对应的视频码流,以对待处理视频帧进行编码处理。
25.在本公开的一种示例性实施例中,所述视频编码单元包括参数来源确定子单元,所述参数来源确定子单元被配置为执行:获取所述编码单元块的参数复用标识位;所述参数复用标识位包括第一标识位与第二标识位;若所述第一标识位与所述第二标识位均为未复用标识,则将所述参数来源确定为自身来源;若所述第一标识位为已复用标识且所述第二标识位为未复用标识,则将所述参数来源确定为第一关联来源;若所述第一标识位为未复用标识且所述第二标识位为已复用标识,则将所述参数来源确定为第二关联来源。
26.在本公开的一种示例性实施例中,所述视频编码单元包括视频编码子单元,所述视频编码子单元被配置为执行:将所述参数来源为自身来源的编码单元块确定为待写入单元块;将所述待写入单元块对应的目标滤波参数值确定为所述待写入滤波参数值;将所述待写入滤波参数值写入至所述视频码流的对应位置。
27.根据本公开的第三方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现上述任意一项所述的视频处理方法。
28.根据本公开的第四方面,提供一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任意一项所述的视频处理方法。
29.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序/指令,其特征在于,计算机程序/指令被处理器执行时实现上述任意一项所述的视频处理方法。
30.本公开的实施例提供的技术方案至少带来以下有益效果:一方面,在对视频帧进行去块滤波处理时,将滤波参数由序列级或帧级细化至编码单元级,可以进一步提升去块滤波的编码性能。另一方面,将使编码单元块具有最小率失真代价的参数值作为目标滤波参数值,可以有效提高去块滤波的编码性能。
31.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不
能限制本公开。
附图说明
32.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
33.图1是根据一示例性实施例示出的一种视频处理方法的流程图。
34.图2是根据一示例性实施例示出的一种视频帧划分以及dbf滤波顺序示意图。
35.图3是根据一示例性实施例示出的确定当前编码单元块在某一参数值下率失真代价的流程图。
36.图4是根据一示例性实施例示出的当关联编码单元块的数量为一个时,确定当前编码单元块的目标滤波参数值的流程图。
37.图5是根据一示例性实施例示出的当关联编码单元块的数量为多个时,确定当前编码单元块的目标滤波参数值的流程图。
38.图6是根据一示例性实施例示出的一种视频处理装置的框图。
39.图7示意性示出了根据本公开一示例性实施例的电子设备的框图。
具体实施方式
40.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
41.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
42.为了解决视频编码过程中,由于各个编码块的变换量化编码过程相互独立,以及所采用的编码参数的差异性所导致的块效应。现有的视频编码标准可以采用dbf方式应对方块效应。然而,由于dbf算法的滤波判断条件和滤波模板是基于先验统计规则得到的,且滤波过程中未引入率失真优化,因此,dbf算法虽然可以对重构图像编码块边界像素进行滤波,却很难保证该算法的客观编码性能。
43.基于此,本公开提出了一种视频处理方法、视频处理装置、电子设备、计算机可读存储介质以及计算机程序产品。
44.图1是根据一示例性实施例示出的一种视频处理方法的流程图,如图1所示,视频处理方法用于计算机设备中,其中,本公开中描述的计算机设备可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(personal digital assistant,pda)等移动终端设备,以及诸如台式计算机等固定终端设备。本示例性实施例以该方法应用于计算机设备进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括计算机设备和服务器的系统,并通过计算机设备和服务器的交互实现。具体包括以下步骤:
45.步骤s110,获取待处理视频帧,确定待处理视频帧包含的多个编码单元块;
46.步骤s120,对各编码单元块分别进行率失真处理,得到各编码单元块对应的目标滤波参数值,目标滤波参数值为使对应的编码单元块具有最小率失真代价的参数值;
47.步骤s130,根据确定出的多个目标滤波参数值对待处理视频帧进行编码处理。
48.根据本公开的视频处理方法,一方面,在对视频帧进行去块滤波处理时,将滤波参数由序列级或帧级细化至编码单元级,可以进一步提升去块滤波的编码性能。另一方面,将使编码单元块具有最小率失真代价的参数值作为目标滤波参数值,可以有效提高去块滤波的编码性能。
49.下面,将对本示例实施例中的视频处理方法进行进一步的说明。
50.在步骤s110中,获取待处理视频帧,确定待处理视频帧包含的多个编码单元块。
51.在本公开的一些示例性实施例中,待处理视频帧可以是某一待编码视频中的一个视频帧,待编码视频中可以由多个待处理视频帧组成。编码单元块可以是对待处理视频帧进行分块划分后得到的编码单元。
52.目前对待处理视频进行编码处理时,可以采用去块滤波处理来解决方块效应,dbf算法中的滤波参数可以用于调整dbf的滤波强度。所采用的滤波参数通常是序列级或者帧级,也就是说待处理视频中的一整个序列或者一帧共用一个滤波参数值。然而,在一个视频帧序列中,图像纹理是非常复杂的,该方案很难保证对序列中每帧乃至每帧中的任何一个图像块进行最好的滤波。因此,本实施例中提出在对视频帧进行dbf处理时,可以针对每个编码单元块(即lcu块)确定对应的滤波参数,以对待处理视频帧进行去块滤波处理。
53.在对每个编码单元块确定对应的滤波参数之前,可以先确定出待处理视频帧中包含的所有编码单元块,编码单元块通常可以是对待处理视频帧进行划分后得到的最大编码单元(largest coding unit,lcu)。
54.在本公开的一种示例性实施例中,确定待处理视频帧的视频帧尺寸与分块步长;根据视频帧尺寸与分块步长对待处理视频帧进行划分处理,以得到多个编码单元块。
55.其中,视频帧尺寸可以是待处理视频帧对应的图像尺寸,视频帧尺寸可以采用对应的长和宽像素的尺寸表示。分块步长可以是预先定义的分块尺寸,例如,lcu常用尺寸可以包括:128x128,64x64,32x32以及16x16等,单位均为1个像素。
56.在对待处理视频帧进行分块划分处理之前,可以预先在编码器中定义好分块步长,即lcu的划分尺寸。对于获取到的待处理视频帧,可以先确定该视频帧对应的视频帧尺寸,再以预先定义的分块步长(即一个lcu的尺寸)为单位,将待处理视频帧均匀划分成若干个不重叠的lcu块。参考图2,图2是根据一示例性实施例示出的一种视频帧划分以及dbf滤波顺序示意图。举例而言,图2中的待处理视频帧的宽为1280个像素,高为1024个像素,编码器中预先定义的lcu尺寸为128x128个像素,则该处理视频帧可以划分成10*8=80个lcu。将待处理视频帧划分为多个编码单元块后,可以以编码单元块级别确定dbf所采用的参数值。
57.在步骤s120中,对各编码单元块分别进行率失真处理,得到各编码单元块对应的目标滤波参数值,目标滤波参数值为使对应的编码单元块具有最小率失真代价的参数值。
58.在本公开的一些示例性实施例中,率失真处理,即率失真优化(rate-distortion optimization,rdo),是一种提高视频压缩视频质量的方法。率失真处理是指针对视频编码所需的数据量(速率)优化失真量(视频质量损失)的处理过程。目标滤波参数值可以是在视频编码中当前编码单元块所采用的滤波参数值。
59.在确定出待处理视频帧中包含的所有编码单元块后,可以对每个编码单元块进行率失真处理,确定出与该lcu对应的目标滤波参数值。确定出的目标滤波参数值可以使每个编码单元块具有最小的率失真代价,以便采用确定出的目标滤波参数值对带处理视频帧进行编码处理。
60.在本公开的一些示例性实施例中,对各编码单元块分别进行率失真处理,得到各编码单元块对应的初始滤波参数值;获取各编码单元块对应的关联滤波参数值,关联滤波参数值为与编码单元块具有关联关系的关联编码单元块对应的滤波参数值;根据各编码单元块的关联滤波参数值与初始滤波参数值确定各自对应的目标滤波参数值。
61.其中,初始滤波参数值可以是采用率失真优化对编码单元块进行处理后,确定出的使该编码单元块达到最优滤波效果的滤波参数值。关联滤波参数值可以是与当前编码单元块具有特定关联关系的编码单元块所对应的滤波参数值。关联编码单元块可以是与当前编码单元块具有特定关联关系的编码单元块。
62.在确定每个编码单元块的目标滤波参数值时,可以先对编码单元块进行率失真优化处理,得到初始滤波参数值。另外,可以获取该编码单元块对应的关联滤波参数值,将初始滤波参数值与关联滤波参数值中使率失真代价最小的参数值作为目标滤波参数值。由于确定出的目标滤波参数值可以使每个编码单元块具有最小的率失真代价,采用确定出的目标滤波参数值对带处理视频帧进行编码处理,可以提高dbf算法的编码性能。
63.在确定每个编码单元块的初始滤波参数值时,可以通过在dbf算法中引入率失真优化进行。由于dbf包括强滤波和普通滤波等两种滤波方式,其中普通滤波又包括两种滤波方式,强滤波方式和两种普通滤波方式的区别在于其对应的滤波器系数不同。dbf算法中通常可以引入去块滤波阈值控制参数(dbf threshold control parameter,tc参数)与去块滤波调整参数(dbf adjust parameter,beta参数)来调整dbf的滤波强度。
64.具体的,在dbf算法中,beta参数和tc参数可以共同控制在强滤波和普通滤波之间的滤波方式选择。例如,如果选择了普通滤波,则选择两种普通滤波之间的哪一种滤波方式进行滤波。此外,tc值还控制了滤波补偿量的最大绝对值,举例来说,若滤波前图像a像素的值为100,滤波后图像a像素值为150,但tc值控制像素最大的偏移值为20,则滤波后的像素值将从150重新调整为120。在本实施例中,通过对各编码单元块分别进行率失真处理,以确定出每个编码单元块对应的初始滤波参数值,即最优的tc参数值和beta参数值。
65.在本公开的一种示例性实施例中,从多个编码单元块中获取一当前编码单元块;确定率失真处理所采用的滤波参数,获取滤波参数的参数取值区间,参数取值区间包括多个滤波参数值;确定当前编码单元块在各滤波参数值下的率失真代价;将多个率失真代价的最小值作为当前率失真代价;将当前率失真代价对应的滤波参数值作为初始滤波参数值。
66.其中,当前编码单元块可以是当前正在进行率失真处理的编码单元块。滤波参数可以是对待处理视频帧进行去块滤波处理所采用的参数,例如,滤波参数可以包括tc参数和beta参数。参数取值区间可以是滤波参数的具体取值所对应的数值区间。滤波参数值可以是滤波参数对应的具体数值。率失真代价可以是对待处理视频帧中的每个编码单元块进行率失真优化处理后所确定出的失真代价。当前率失真代价可以是当前编码单元块对应的率失真代价。
67.继续参考图2,在实际编码过程中,dbf处理以lcu为单位进行滤波,如图1中箭头所示,dbf处理方式可以按照从左往右,从上往下的顺序对lcu块进行分别滤波。在对待处理视频帧中所包含的编码单元块进行率失真处理时,同样可以采用上述顺序进行。从确定出的多个编码单元块中获取一个作为当前编码单元块,获取预先确定的用于对当前编码块进行率失真处理所采用的滤波参数,即tc参数和beta参数。
68.获取tc参数和beta参数对应的参数取值区间,例如,tc参数的取值区间可以是[min_tc_value,max_tc_value],beta参数的取值区间可以是[min_beta_value,max_beta_value];其中,min_beta_value和min_tc_value可以是去块滤波标准中设定的beta参数和tc参数的最小取值,例如,min_beta_value和min_tc_value的值可以分别设定为0和0;max_beta_value和max_tc_value可以是去块滤波标准中设定的beta和tc的最大取值,例如,max_beta_value和max_tc_value的值可以分别设定为6和6。在确定出的参数取值区间中,包含多个beta参数的具体数值与tc参数的具体数值。
[0069]
在确定tc参数和beta参数的所有可能参数取值后,可以分别计算当前编码单元块在各个参数取值下的率失真代价,进而从计算出的多个率失真代价中确定出一个最小值,作为当前率失真代价,并将当前率失真代价所采用的滤波参数值作为当前编码单元块对应的初始滤波参数值。通过上述处理过程,可以对待处理视频帧中的每一个编码单元块进行率失真求解处理。
[0070]
在本公开的一种示例性实施例中,获取当前编码单元块对应的原始块数据;基于各滤波参数值对当前编码单元块进行去块滤波处理,以得到多个滤波块数据;将原始块数据分别与多个滤波块数据进行对比,确定当前编码单元块在各滤波参数值下的滤波失真损失值;确定当前编码单元块的码率消耗值,根据码率消耗值与多个滤波失真损失值确定各滤波参数值下的率失真代价。
[0071]
其中,原始块数据可以是在进行去块滤波之前,当前编码单元块所对应的相关数据。滤波块数据可以是对当前编码单元块进行去块滤波之后,当前编码单元块所对应的相关数据。滤波失真损失值可以是对当前编码单元块进行滤波处理后,所产生的图像像素的损失值。码率消耗值可以是将滤波参数值写入至视频码流中所产生的消耗值。
[0072]
在确定出ta参数和beta参数所有可能的参数值后,可以计算出当前编码单元块在各个参数值下的率失真代价,以确定出当前率失真代价。参考图3,图3是根据一示例性实施例示出的确定当前编码单元块在某一参数值下率失真代价的流程图。在步骤s310中,获取当前编码单元块对应的原始块数据。由于beta参数和ta参数均对应多个参数值,因此,可以采用i和j分别表示不同的beta参数值和ta参数值。当beta=i且tc=j时,原始块数据可以采用y(i,j)表示。
[0073]
在步骤s320中,基于各滤波参数值对当前编码单元块进行去块滤波处理,以得到多个滤波块数据。当beta=i且tc=j时,采用该滤波参数值对当前编码单元块进行去块滤波处理后,得到对应的滤波块数据为y’(i,j)。
[0074]
在步骤s330中,将原始块数据分别与多个滤波块数据进行对比,确定当前编码单元块在各滤波参数值下的滤波失真损失值。在确定原始块数据和滤波块数据后,可以进一步确定出当前编码块在beta=i且tc=j时对应的滤波失真损失值dist,具体如公式1所示。
[0075][0076]
其中,w和h分别为当前编码单元块(lcu)的宽和高;(i,j)为lcu块内的坐标;y和y’分别为原始块数据和滤波块数据,即dbf滤波之前和滤波之后的像素值。根据公式1可知,滤波失真损失值dist可以是当前lcu滤波前和滤波后像素之间的和方差。
[0077]
在步骤s340中,确定当前编码单元块的码率消耗值,根据码率消耗值与多个滤波失真损失值确定各滤波参数值下的率失真代价。在确定出滤波失真损失值后,可以进一步确定当前编码单元块对应的码流消耗值rate。码流消耗值可以通过预先定义在编码器中的码率估计函数bitestimatefunc()确定,即rate=bitestimatefunc(value)。其中,value为一个自然数,bitestimatefunc()为编码器中自定义的码率估计函数,该函数的作用为:对于一个给定的自然数value,可以估算出将该值写进码流中所消耗的比特数rate。
[0078]
在确定出beta=i且tc=j时滤波失真损失值与码率消耗值后,可以根据其确定出当前编码单元块对应的率失真代价cost,具体如公式2所示。
[0079]
cost=dist+lambda*rate
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(公式2)
[0080]
其中,cost可以是在beta=i且tc=j时当前lcu对应的率失真代价;dist可以是beta=i且tc=j时当前lcu对应的滤波失真损失值;lambda可以是预先设定的常数,在编码器中通常由具体的编码参数来指定;rate可以是beta=i且tc=j时当前lcu对应的码流消耗值。
[0081]
通过上述处理方式,可以确定出每个编码单元块在不同参数值下对应的率失真代价,并将确定出的多个率失真代价中的最小cost值(best_cost)对应的滤波参数值,作为初始滤波参数值,即确定出每一个编码单元块的最优beta和tc值,分别用best_beta和best_tc表示。对于确定出的每一个编码单元块的best_beta和best_tc,均需要写入码流中,以进行视频编码。考虑到每个lcu都需要编码beta和tc值需要消耗的码率过多,同时考虑到当前lcu和周围lcu存在一定的相关性,因此本实施例中提出一种参数复用(merge)方式以节省码率,进一步提升编码性能。
[0082]
也就是说,在确定是否对当前编码单元块的滤波参数值(即beta值和tc值)进行编码之前,可以先获取各个编码单元块对应的关联滤波参数值。判断所确定出的关联滤波参数值是否可以被该编码单元块复用,如果关联滤波参数值可以被该编码单元块复用,则将关联滤波参数值作为目标滤波参数值。如果关联滤波参数值无法被该编码单元块复用,则将初始滤波参数值作为目标滤波参数值。
[0083]
在本公开的一种示例性实施例中,从多个编码单元块中获取一当前编码单元块;若当前编码单元块存在关联编码单元块,则确定关联编码单元块在关联滤波参数值下的关联率失真代价;根据当前率失真代价与关联率失真代价的对比结果,确定目标滤波参数值;若当前编码单元块不存在关联编码单元块,则将初始滤波参数值作为目标滤波参数值。
[0084]
其中,关联率失真代价可以是对关联编码单元块进行率失真优化处理后所得到的失真代价。
[0085]
在确定目标滤波参数值之前,可以先选取一个编码单元块作为当前编码单元块,并判断当前编码单元块是否存在关联编码单元块。继续参考图2,图2采用箭头指向示出了对待处理视频帧中的编码单元块进行dbf滤波处理的处理顺序,从图2中可以看出,在本实
施例中,对多个编码单元块进行dbf滤波是从左至右,从上至下的顺序进行的。一个编码单元块左侧和上方的滤波参数值均在对该编码单元块确定dbf滤波之前得出。
[0086]
在本实施例中,可以将当前编码单元块的上方相邻以及左方相邻的编码单元块,作为关联编码单元块。对于当前编码单元块,如果当前编码单元块在关联编码单元块,则确定关联编码单元块在关联滤波参数值下的关联率失真代价。例如,如果当前编码单元块左方lcu和上方lcu均存在时,可以分别获取两者对应的关联率失真代价,分别记为cost_left和cost_up。将确定出的关联率失真代价与当前率失真代价进行对比,得到对比结果,并根据上述数值的对比结果确定目标滤波参数值。
[0087]
如果当前编码单元块不存在关联编码单元块,例如,对于待处理视频帧中首个进行dbf处理的编码单元块,则不存在关联单元块;还例如,待处理视频帧中位置处于第一行的编码单元块不存在上方相邻的编码单元块,以及待处理视频帧中位置处于第一列的编码单元块不存在左方相邻的编码单元块。此时,该当前编码单元块对应的关联滤波参数值则为null,因此可以将当前编码单元块的初始滤波参数值作为目标滤波参数值。初始滤波参数值的具体计算过程已在率失真处理过程中进行说明,此处不再进行赘述。
[0088]
本领域技术人员容易理解的是,关联编码单元块还可以是当前编码单元块具有其他关联关系的编码单元块,例如,关联编码单元块可以是当前编码单元块左上对角线相邻的编码块,关联编码单元块还可以是当前编码单元块右上对角线相邻的编码块,上述情形均落入本公开的保护范围。另外,当待处理视频帧的dbf处理顺序发生变化后,关联编码单元块的确定方式也可以对应发生变化,上述技术方案均属于本公开所保护的范围。
[0089]
在本公开的一种示例性实施例中,关联编码单元块的数量为一个,根据当前率失真代价与关联率失真代价的对比结果,确定目标滤波参数值,包括:获取当前编码单元块对应的参数复用标识位;若当前率失真代价小于或等于关联率失真代价,则将初始滤波参数值作为目标滤波参数值,并将参数复用标识位配置为未复用标识;若当前率失真代价大于关联率失真代价时,则将关联滤波参数值作为目标滤波参数值,并将参数复用标识位配置为已复用标识。
[0090]
其中,参数复用标识位可以使用于标识当前编码单元块是否复用关联编码单元块中的滤波参数值的标志位。未复用标识可以是用于标识当前编码单元块未复用关联编码单元块的滤波参数值。已复用标识可以是用于标识当前编码单元块复用了关联编码单元块的滤波参数值。
[0091]
如果当前编码单元块仅存在一个关联编码单元块时,可以通过图4中示出的处理步骤确定目标滤波参数值。参考图4,在步骤s410中,获取当前编码单元块对应的参数复用标识位。参数复用标识位可以用于标识当前编码单元块是否可以复用关联编码单元块中的滤波参数值。
[0092]
在步骤s420中,若当前率失真代价小于或等于关联率失真代价,则将初始滤波参数值作为目标滤波参数值,并将参数复用标识位配置为未复用标识。采用leflcuavail和uplcuavail分别表示当前lcu的左方和上方lcu是否存在。举例而言,如果当前lcu的左方lcu存在且上方lcu不存在,可以则复用左方lcu的beta参数值和tc参数值进行滤波,并计算出关联率失真代价cost_left。如果min(cost_left,best_cost)=best_cost,则表示当前lcu不复用左边lcu的beta参数值和tc参数值,因此,可以将确定出的初始滤波参数值作为
目标滤波参数值,并将参数复用标志位merge_left_flag置为0。
[0093]
如果当前lcu的上方lcu存在且左方lcu不存在,则复用上方lcu的beta参数值和tc参数值进行滤波,并计算出关联率失真代价cost_up。如果min(cost_up,best_cost)=best_cost,则表示当前lcu不复用上方lcu的beta参数值和tc参数值,因此,可以将确定出的初始滤波参数值作为目标滤波参数值,并将参数复用标志位merge_up_flag置为0。通过上述处理步骤,可以确定出当前编码单元块是否需要进行参数复用。
[0094]
在步骤s430中,若当前率失真代价大于关联率失真代价时,则将关联滤波参数值作为目标滤波参数值,并将参数复用标识位配置为已复用标识。如果当前lcu的左方lcu存在且上方lcu不存在,且min(cost_left,best_cost)=cost_left,表示当前lcu可以复用左边lcu的beta参数值和tc参数值,即将关联滤波参数值作为目标滤波参数值,并将参数复用标志位merge_left_flag置为1。
[0095]
如果当前lcu的上方lcu存在且左方lcu不存在,且min(cost_up,best_cost)=cost_up,表示当前lcu可以复用上lcu的beta参数值和tc参数值,即将关联滤波参数值作为目标滤波参数值,并将参数复用标志位merge_up_flag置为1。
[0096]
在本公开的一种示例性实施例中,关联编码单元块的数量为多个,根据当前率失真代价与关联率失真代价的对比结果,确定目标滤波参数值,包括:获取当前编码单元块对应的参数复用标识位;确定当前率失真代价与多个关联率失真代价的最小值;若最小值为当前率失真代价,则将初始滤波参数值作为目标滤波参数值,并将参数复用标识位配置为未复用标识;若最小值为多个关联率失真代价的其中之一,则将最小关联率失真代价对应的关联滤波参数值作为目标滤波参数值,并将参数复用标识位设置为已复用标识。
[0097]
如果当前编码单元块存在多个关联编码单元块时,可以通过图5中示出的处理步骤确定目标滤波参数值。参考图5,在步骤s510中,获取当前编码单元块对应的参数复用标识位。
[0098]
在步骤s520中,确定当前率失真代价与多个关联率失真代价的最小值。在本实施例中,如果当前编码单元块的上方lcu和左方lcu均存在时,可以依次复用左方和上方lcu的beta参数值和tc参数值进行滤波,并计算出关联率失真代价cost_left和cost_up。将确定出多个关联率失真代价与当前率失真代价进行对比,并确定出率失真代价的最小值。
[0099]
在步骤s530中,若最小值为当前率失真代价,则将初始滤波参数值作为目标滤波参数值,并将参数复用标识位配置为未复用标识。例如,如果min(cost_left,cost_up,best_cost)=best_cost,则表示当前lcu不复用关联lcu的beta参数值和tc参数值,因此,参数复用标志位merge_left_flag和merge_up_flag均置为0。
[0100]
在步骤s540中,若最小值为多个关联率失真代价的其中之一,则将最小关联率失真代价对应的关联滤波参数值作为目标滤波参数值,并将参数复用标识位设置为已复用标识。例如,如果min(cost_left,cost_up,best_cost)=cost_left,表示当前lcu复用左边lcu的beta参数值和tc参数值,因此,将参数复用标志位merge_left_flag置为1,merge_up_flag置为0;如果min(cost_left,cost_up,best_cost)=cost_up,表示当前lcu复用上方lcu的beta参数值和tc参数值,因此,将参数复用标志位merge_left_flag置为0,merge_up_flag置为1。
[0101]
通过上述处理步骤可知,在计算cost_left和cost_right时,无需计算beta和tc的
码率消耗,因为此时beta和tc值已经由左方lcu或者上方lcu计算得到,当前lcu如果需要复用其中某一个lcu的这两个值时,无需再编译这两个值,直接复用即可。但是当前lcu必须先计算得到best_cost,再对best_cost和cost_left以及cost_right进行对比计算,并得到对比结果。通过上述处理步骤,可以确定出当前编码单元块是否需要进行参数复用。
[0102]
在步骤s130中,根据确定出的多个目标滤波参数值对待处理视频帧进行编码处理。
[0103]
在本公开的一种示例性实施例中,在确定出每个编码单元块对应的目标滤波参数值后,可以根据各个编码单元块对应的目标滤波参数值对待处理视频帧进行编码处理,以得到对应的编码文件。
[0104]
在本公开的一种示例性实施例中,确定各目标滤波参数值的参数来源;根据参数来源确定待写入滤波参数值,将待写入滤波参数值写入至待处理视频帧对应的视频码流,以对待处理视频帧进行编码处理。
[0105]
其中,参数来源可以是目标滤波参数值的具体来源。待写入滤波参数值可以是待写入至视频码流中的滤波参数值。视频码流可以是视频文件在单位时间内使用的数据流量,即对视频进行传输时所使用的码流。编码处理可以是对待处理视频进行编码以生成对应的编码文件的处理过程。
[0106]
在进行编码处理之前,可以先获取每个编码单元块的目标滤波参数值的参数来源,具体的,参数来源可以通过该编码单元块对应的参数复用标识位确定。在确定出每个目标滤波参数值对应的参数来源后,可以确定需要写入视频码流的滤波参数值,并将其作为待写入滤波参数值。将待写入滤波参数值写入至待处理视频帧对应的视频码流中,以对待处理视频帧进行编码处理。
[0107]
在本公开的一种示例性实施例中,获取编码单元块的参数复用标识位;参数复用标识位包括第一标识位与第二标识位;若第一标识位与第二标识位均为未复用标识,则将参数来源确定为自身来源;若第一标识位为已复用标识且第二标识位为未复用标识,则将参数来源确定为第一关联来源;若第一标识位为未复用标识且第二标识位为已复用标识,则将参数来源确定为第二关联来源。
[0108]
其中,第一标识位可以是用于表示当前编码单元块是否复用第一关联位置上的关联编码单元块的滤波参数值的标志位。第二标识位可以是用于表示当前编码单元块是否复用第二关联位置上的关联编码单元块的滤波参数值的标志位。自身来源可以表示当前编码单元块的滤波参数值通过率失真处理过程确定。第一关联来源可以表示当前编码单元块的滤波参数值来源于第一关联位置上的关联编码单元块的滤波参数值。第二关联来源可以表示当前编码单元块的滤波参数值来源于第二关联位置上的关联编码单元块的滤波参数值。
[0109]
确定编码单元块的参数来源,可以通过参数复用标识位进行。获取参数复用标识位中第一标识位和第二标识位的具体值,在本实施例中,第一标识位可以为是否复用左方lcu的滤波参数值的标识,记为merge_left_flag。第二标识位可以为是否复用上方lcu的滤波参数值的标识,记为merge_up_flag。
[0110]
如果当前编码单元块的第一标识位与第二标识位均为未复用标识,则当前lcu未复用滤波参数值,因此,可以将参数来源确定为自身来源,并将确定出的目标滤波参数值,写入至视频码流中。其中,merge_left_flag=0,可以表示当前lcu不存在左方lcu,或者表
示当前lcu不复用左方lcu的滤波参数值。同样的,merge_up_flag=0,可以表示当前lcu不存在上方lcu,或者表示当前lcu不复用上方lcu的滤波参数值。
[0111]
如果当前编码单元块的第一标识位为已复用标识且第二标识位为未复用标识,则当前lcu复用了左方lcu的滤波参数值,将参数来源确定为第一关联来源。如果当前编码单元块的第一标识位为未复用标识且第二标识位为已复用标识,则当前lcu复用了上方lcu的滤波参数值,将参数来源确定为第二关联来源。如果当前lcu的参数复用标识位不为0,则当前lcu不用在视频码流中编码beta参数值和tc参数值,以节省码流消耗。
[0112]
在本公开的一种示例性实施例中,将参数来源为自身来源的编码单元块确定为待写入单元块;将待写入单元块对应的目标滤波参数值确定为待写入滤波参数值;将待写入滤波参数值写入至视频码流的对应位置。
[0113]
其中,待写入单元块可以是滤波参数值待写入视频码流中的编码单元块。视频码流的对应位置可以是视频码流中某一编码单元块的滤波参数值的写入位置,该位置可以根据编码单元块在待处理视频帧中的对应位置确定。
[0114]
在确定出每个编码单元块的参数来源后,可以将参数来源为自身来源的编码单元块作为待写入单元块,并将待写入单元块对应的目标滤波参数值确定为待写入滤波参数值,即待写入的beta参数值和tc参数值。beta参数值和tc参数值均可以采用基于上下文的自适应二进制算术编码(context-based adaptive binary arithmetic coding,cabac)、旁路编码模式(bypass coding mode)以及指数哥伦布编码进行。
[0115]
由于编码单元块在待处理视频帧中具有对应的位置信息,在参数写入过程中,同样可以根据位置信息将待写入参数值写入至视频码流中的对应位置,以进行视频编码。例如,在编码过程中,可以采用一个矩阵表示不同待写入参数值的写入位置。采用上述处理过程之后,无需将dbf的beta参数值和tc参数值写进序列和帧级。
[0116]
综上所述,获取待处理视频帧,确定待处理视频帧包含的多个编码单元块;对各编码单元块分别进行率失真处理,得到各编码单元块对应的目标滤波参数值,目标滤波参数值为使对应的编码单元块具有最小率失真代价的参数值;根据确定出的多个目标滤波参数值对待处理视频帧进行编码处理。一方面,在对视频帧进行去块滤波处理时,将滤波参数由序列级或帧级细化至编码单元级,可以进一步提升去块滤波的编码性能。另一方面,根据每个编码单元块的初始滤波参数值与关联滤波参数值确定目标滤波参数值,可以实现滤波参数的参数复用。又一方面,通过参数复用模式确定每个编码单元块的滤波参数值,可以进一步节省码率。
[0117]
图6是根据一示例性实施例示出的一种视频处理装置框图。参照图6,该视频处理装置600可以包括编码块确定模块610,滤波值确定模块620和视频编码模块630。
[0118]
具体的,编码块确定模块610,被配置为执行获取待处理视频帧,确定待处理视频帧包含的多个编码单元块;滤波值确定模块620,被配置为执行对各编码单元块分别进行率失真处理,得到各编码单元块对应的目标滤波参数值,目标滤波参数值为使对应的编码单元块具有最小率失真代价的参数值;视频编码模块630,被配置为执行根据确定出的多个目标滤波参数值对待处理视频帧进行编码处理。
[0119]
在本公开的一种示例性实施例中,所述滤波值确定模块包括目标值确定模块,所述目标值确定模块被配置为执行对各所述编码单元块分别进行率失真处理,得到各所述编
码单元块对应的初始滤波参数值;获取各所述编码单元块对应的关联滤波参数值,所述关联滤波参数值为与所述编码单元块具有关联关系的关联编码单元块对应的滤波参数值;根据各所述编码单元块的所述关联滤波参数值与所述初始滤波参数值确定各自对应的目标滤波参数值。
[0120]
在本公开的一种示例性实施例中,目标值确定模块包括初始值确定单元,初始值确定单元被配置为执行:从多个编码单元块中获取一当前编码单元块;确定率失真处理所采用的滤波参数,获取滤波参数的参数取值区间,参数取值区间包括多个滤波参数值;确定当前编码单元块在各滤波参数值下的率失真代价;将多个率失真代价的最小值作为当前率失真代价;将当前率失真代价对应的滤波参数值作为初始滤波参数值。
[0121]
在本公开的一种示例性实施例中,初始值确定单元包括失真代价确定子单元,失真代价确定子单元被配置为执行:获取当前编码单元块对应的原始块数据;基于各滤波参数值对当前编码单元块进行去块滤波处理,以得到多个滤波块数据;将原始块数据分别与多个滤波块数据进行对比,确定当前编码单元块在各滤波参数值下的滤波失真损失值;确定当前编码单元块的码率消耗值,根据码率消耗值与多个滤波失真损失值确定各滤波参数值下的率失真代价。
[0122]
在本公开的一种示例性实施例中,目标值确定模块包括目标值确定单元,目标值确定单元被配置为执行:从多个编码单元块中获取一当前编码单元块;若当前编码单元块存在关联编码单元块,则确定关联编码单元块在关联滤波参数值下的关联率失真代价;根据当前率失真代价与关联率失真代价的对比结果,确定目标滤波参数值;若当前编码单元块不存在关联编码单元块,则将初始滤波参数值作为目标滤波参数值。
[0123]
在本公开的一种示例性实施例中,关联编码单元块的数量为一个,目标值确定单元包括第一确定子单元,第一确定子单元被配置为执行:获取当前编码单元块对应的参数复用标识位;若当前率失真代价小于或等于关联率失真代价,则将初始滤波参数值作为目标滤波参数值,并将参数复用标识位配置为未复用标识;若当前率失真代价大于关联率失真代价时,则将关联滤波参数值作为目标滤波参数值,并将参数复用标识位配置为已复用标识。
[0124]
在本公开的一种示例性实施例中,关联编码单元块的数量为多个,目标值确定单元包括第二确定子单元,第二确定子单元被配置为执行:获取当前编码单元块对应的参数复用标识位;确定当前率失真代价与多个关联率失真代价的最小值;若最小值为当前率失真代价,则将初始滤波参数值作为目标滤波参数值,并将参数复用标识位配置为未复用标识;若最小值为多个关联率失真代价的其中之一,则将最小关联率失真代价对应的关联滤波参数值作为目标滤波参数值,并将参数复用标识位设置为已复用标识。
[0125]
在本公开的一种示例性实施例中,编码块确定模块包括编码块确定单元,编码块确定单元被配置为执行:确定待处理视频帧的视频帧尺寸与分块步长;根据视频帧尺寸与分块步长对待处理视频帧进行划分处理,以得到多个编码单元块。
[0126]
在本公开的一种示例性实施例中,视频编码模块包括视频编码单元,视频编码单元被配置为执行:确定各目标滤波参数值的参数来源;根据参数来源确定待写入滤波参数值,将待写入滤波参数值写入至待处理视频帧对应的视频码流,以对待处理视频帧进行编码处理。
[0127]
在本公开的一种示例性实施例中,视频编码单元包括参数来源确定子单元,参数来源确定子单元被配置为执行:获取编码单元块的参数复用标识位;参数复用标识位包括第一标识位与第二标识位;若第一标识位与第二标识位均为未复用标识,则将参数来源确定为自身来源;若第一标识位为已复用标识且第二标识位为未复用标识,则将参数来源确定为第一关联来源;若第一标识位为未复用标识且第二标识位为已复用标识,则将参数来源确定为第二关联来源。
[0128]
在本公开的一种示例性实施例中,视频编码单元包括视频编码子单元,视频编码子单元被配置为执行:将参数来源为自身来源的编码单元块确定为待写入单元块;将待写入单元块对应的目标滤波参数值确定为待写入滤波参数值;将待写入滤波参数值写入至视频码流的对应位置。
[0129]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0130]
下面参考图7来描述根据本公开的这种实施例的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0131]
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730、显示单元740。
[0132]
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。
[0133]
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)721和/或高速缓存存储单元722,还可以进一步包括只读存储单元(rom)723。
[0134]
存储单元720可以包括具有一组(至少一个)程序模块725的程序/实用工具724,这样的程序模块725包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0135]
总线730可以表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0136]
电子设备700也可以与一个或多个外部设备770(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0137]
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由装置的处理器执行以完成上述视频处理方法。可选地,计算机可
读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0138]
在示例性实施例中,还提供一种计算机程序产品,包括计算机程序/指令,其特征在于,计算机程序/指令被处理器执行时实现上述任意一项所述的视频处理方法。
[0139]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0140]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1