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

处理视频帧图像的方法及电子设备与流程

2022-07-13 12:01:22 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,尤其涉及一种处理视频帧图像的方法、电子设备以及计算机可读存储介质。


背景技术:

2.在数字视频应用产业链的快速发展中,面对视频应用不断向高清晰度、高帧率、高压缩率方向发展的趋势,上一代视频压缩解决方案vp9的局限性不断突显。因此,开放媒体联盟(aomedia)开发了aomedia video 1(av1)是视频编码格式,以对vp9方案进行改进。av1目标是在相同或尽量少的图像质量损失以及编码码率的前提下,提高压缩效率。
3.av1是一种基于块的编码方案,即首先将视频帧划分为多个互不重叠图像块,对每个图像块采用相同或不同的编码方式进行编码,以得到每个图像块的码流。通常情况下,具备更多细节图像区域、或复杂度高的图像区域应当被划分为更多、更小的图像块以保证图像的质量。而细节较少的图像区域或复杂度较低的图像区域应当被划分为更大的图像块以实现将视频压缩得更小。
4.然而,当前av1编码器在将视频帧划分成图像块时,仍存在划分速度低、划分结果不准确的缺陷。为此,本公开提供了一种视频处理方法,以提高划分速度并提升划分结果的准确性。
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.图1a是根据本公开实施例的一种av1视频编码框架的结构示意图。
30.图1b是根据本公开实施例的一种av1视频编码中的图像块划分的示意图。
31.图2a是根据本公开实施例的处理视频帧图像的方法的第一流程图。
32.图2b是根据本公开实施例的处理视频帧图像的方法的第二流程图。
33.图2c是根据本公开实施例的处理视频帧图像的方法的第三流程图。
34.图2d是根据本公开实施例的对视频帧图像进行划分的示意图。
35.图3是根据本公开实施例的处理视频帧图像的方法的又一示意图。
36.图4a是根据本公开实施例的处理视频帧图像的方法的界面示意图。
37.图4b是根据本公开实施例的处理视频帧图像的方法的示意性流程图。
38.图5示出了根据本公开实施例的电子设备的示意图。
39.图6示出了根据本公开实施例的示例性计算设备的架构的示意图。
40.图7示出了根据本公开实施例的存储介质的示意图。
具体实施方式
41.为了使得本公开的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
42.在本说明书和附图中,具有基本上相同或相似步骤和元素用相同或相似的附图标记来表示,且对这些步骤和元素的重复描述将被省略。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或排序。
43.以下介绍与本公开有关的多个概念。
44.量化参数(quantization parameter)是量化步长qstep的序号。对于亮度(luma)编码而言,量化步长qstep共有52个值,qp取值0至51,对于色度(chroma)编码,qp的取值0至39。
45.采集帧率:每秒采集的视频帧的数目,单位fps(frame per second)。
46.编码帧率:每秒编码的视频帧的数目,单位fps(frame per second)。
47.原始图像:输入编码器的原始编码图像。
48.重建图像:编码完成后解码器输出的重建图像。
49.率失真损失(rate-distortion cost,rdcost):是视频编码中衡量码率与失真的方法。率失真损失指示在给定码率下,达到的最小失真损失。
50.空间信息(spatial information,si):表征一帧图像的空间细节量。空间上越复杂的场景,si值越高。
51.时间信息(temporal information,ti):表征视频序列的时间变化量,运动程度较高的序列通常会有更高的ti值。
52.云技术(cloud technology)是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。目前,技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
53.目前,云技术主要分为云基础技术类以及云应用类;云基础技术类可以进一步细分为:云计算、云储存、数据库以及大数据等;云应用类可以进一步细分为:医疗云、云物联、云安全、云呼叫、私有云、公有云、混合云、云游戏、云教育、云会议、云社交以及人工智能云服务等。
54.根据本公开的处理视频帧的方法可以涉及云技术下属的云计算和云储存。
55.云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
56.在本公开中,由于确定当前图像块和周围图像块的复杂度涉及大规模计算,需要
巨大的算力和存储空间,因此在本公开中,可以由终端设备通过云计算技术获取足够算力和存储空间,进而执行本公开中所涉及的确定原始图像块的复杂度,以及根据当前图像块和周围图像块的复杂度生成原始图像块的编码,进而生成视频的编码数据(码流)。
57.云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
58.在本公开中,视频帧图像可以存储在“云”上,当需要确定当前图像块和周围图像块的复杂度,以及根据当前图像块和周围图像块的复杂度确定编码策略时,可以从云存储设备中拉取当前视频帧的当前图像块和周围图像块,或者当前视频帧前后多个帧的对应位置的图像块以降低终端设备的存储压力。
59.从业务角度来说,本公开涉及的视频编码方法可以应用于视频上传,网络会议,在线培训(例如,在线会议)等与视频编码相关的业务场景下;从技术原理角度来说,本公开的技术方案可以直接应用于av1视频编码标准,以提高基于av1视频编码标准进行视频编码时的编码灵活性和编码速度。本公开以av1视频编码标准为例进行说明,本公开的技术方案还可以应用于其它已知的视频编码标准,例如,mpeg(活动图像专家组)、hevc(高效率视频编码)和vvc(多功能视频编码)等,或者还可以应用于其它的更先进的视频编码标准,本公开对此不进行限制。
60.下面首先对av1视频编码标准对应的av1视频编码框架的工作原理进行说明。
61.图1a是根据本公开实施例的一种av1视频编码框架的结构示意图。图1b是根据本公开实施例的一种av1视频编码中的图像块划分的示意图。
62.av1的编码系统采用混合编码框架,其中,包括多个模块的混合。在av1中,每个模块从不同的角度和手段,对图像不同方面的数据冗余度进行压缩。从而av1可以实现比较高的性能。
63.如图1a所示,av1可以将视频的某个视频帧作为输入图像,然后将这个图像划分为多个图像块。图1a以白色横线和竖线示意性地示出块划分方式,本领域技术人员应当理解av1还可以将该视频帧还可以采用其他的块划分方式。然后av1编码器将以图像块为单位进行处理。例如,可以对图像块的处理包括帧间预测、帧内预测、变换(例如,离散余弦(dct)变换)、量化、熵编码、环路滤波、胶片颗粒度合成等,从而得到压缩后的编码数据(例如,码流)。
64.本公开主要涉及av1视频编码标准中的块划分技术。块划分技术例如是将图像划分成多个矩形的图像块,然后以图像块为单位去编码和解码图像。在当前的av1视频编码标准中,最大的图像块的尺寸为128(像素)x128(像素),最小的图像块的尺寸为4(像素)x4(像素)。最大的图像块的尺寸可以进一步的划为四等份或者二等份。如图1b所示,四等份的子图像块(图1b中标注有r的子图像块)可以进一步递归划分,并且每个子图像块可以按照最多九种划分方式进一步划分为细粒度的子图像块。
65.由此,对于复杂多样的图像内容,不同的划分方式可以使得av1编码器能够针对不同尺寸、不同复杂度的图像块进行最有效的编码。更进一步地,还可以对不同的图像块采用
不同的预测模式(例如,方向预测模式、递归滤波模式、交叉分量预测模式、平滑预测模式等)和处理方式等,从而进一步提高编码的效率和质量。
66.通常情况下,对于场景复杂、细节较多(例如,复杂度较高)的图像块,应当采用更小的划分尺寸,而对于场景简单、细节较少(例如,复杂度较低)的图像块,应当采用更大的划分尺寸。
67.对于如何能够更快地找到最优的图像块的划分方式以增加av1编码器的编码效率,目前提出了以下两种方案。
68.方案一:在对视频进行编码时,自顶向下(例如,从最粗粒度的划分方式到最细粒度的划分方式)或自底向上(例如,从最细粒度的划分方式到最粗粒度的划分方式)地依次地遍历所有划分方式,然后比较这些划分方式的编码效果,从而确定出最优划分方式。方案一通常情况下都能够很准确的找到最优的划分方式。然而,方案一在对视频进行编码时,若采取自顶向下的进行递归的块划分,对于场景复杂的块,通常块的最优划分尺寸会比较小,因此需要进行递归很多层才能够找到最优的划分方式。若采取自底向上的进行递归的块划分,对于场景简单的块,通常块的最优划分尺寸会比较大,因此如果从小尺寸图像块到大尺寸图像块进行划分需要递归多层才能够找到最优的划分方式。虽然采取自顶向下和自底向上来搜索最优块划分方式的编码质量和压缩效率是比较好的,但方案一在场景复杂的视频上编码会带来较大的速度损失。
69.方案二:在对视频进行编码时,在每次判断是否要将当前图像块划分成尺寸更小的图像块(细粒度的图像块)之前,对当前图像块的复杂度进行分析,并根据当前图像块的复杂度来判断当前图像块的划分粒度。若当前图像块的复杂度较高,则以细粒度划分方式进行编码(例如,划分为四个正方形子块进行编码)。如果复杂度低则以粗粒度划分方式进行编码(例如,直接不划分进行编码)。然而,方案二虽然能够很快的确定划分方式以此带来编码速度的提升,但是在很多情况下仅根据当前图像块的复杂度来判断划分方式很可能是不准确的,从而带来较大质量损失,进而带来比较差的用户体验。
70.因此,需要对块划分技术进行进一步地改进,从而进一步提高划分速度和划分结果的准确性。
71.图2a是根据本公开实施例的处理视频帧图像的方法21的流程图。图2b是根据本公开实施例的处理视频帧图像的方法22的流程图。图2c是根据本公开实施例的处理视频帧图像的方法23的流程图。图2d是根据本公开实施例的对视频帧图像进行划分的示意图。
72.方法21至方法23可以由用户终端来执行。用户终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。方法21至方法23也可以由网络服务器来执行。网络服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。上述终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本公开在此不做限制。方法21至方法23还可以由用户终端和网络服务器的组合来执行,本公开在此不做限制。
73.如图2a所示,根据本公开实施例的处理视频帧图像的方法21包括以下步骤。
74.在步骤s211中,从所述视频帧图像中获取待编码图像块,与所述待编码图像块邻
近的至少一个周围图像块已被编码。
75.如图2d所示,与待编码块的图像块临近的图像块包括已编码的图像块a-g,以及待编码的多个图像块(例如,图像块h和图像块i)。正如图2d所示,待编码图像块对应的周围图像块可能被编码也可能未被编码,这取决于是否并发地执行各个图像块的编码,以及图像块编码的顺序。在本公开中,只要待编码图像块的周围图像块中存在一个已编码的周围图像块的即可,对已编码的周围图像块的个数不进行限制。
76.在步骤s212中,获取已编码的周围图像块的编码特征以及所述待编码图像块的复杂度信息。
77.可选地,所述复杂度信息包括以下各项中的一项或多项:视频帧的帧内粗略预测损失、视频帧的帧间粗略预测损失、视频帧的预测率失真损失、待编码图像块和基于编码数据而重建的图像块之间的预测绝对误差和、待编码图像块和基于编码数据而重建的图像块之间的预测差值平方和、待编码图像块和基于编码数据而重建的图像块之间的预测平均绝对差值、待编码图像块和基于编码数据而重建的图像块之间的预测平均平方误差、空间信息和/或时间信息。值得注意的是,复杂度信息还可以包括更少或更多的信息,本公开并不以此为限。
78.其中,空间信息(si,spatial information),可以指视频帧图像的时间信息(ti,temporal information)等。空间信息(si)表征一帧图像的空间细节量。空间上越复杂的场景,si值越高。时间信息(ti)表征视频帧序列的时间变化量,运动程度较高的序列通常会有更高的ti值。
79.其中,视频帧图像的预测率失真损失是预测的在视频编码过程中码率与失真之间的关系,其指示在给定码率下,预测能够达到的最小失真损失。
80.可选地,所述待编码图像块的复杂度信息包括待编码图像块作为一个整体的复杂度,也可以包括所述待编码图像块被划分而成的细粒度的各个子图像块的复杂度之和、复杂度均值、复杂度加权和。本公开对此不进行限制。之后将参考图3进一步描述如何获取所述待编码图像块的复杂度信息,本公开在此就不再赘述。
81.可选地,所述编码特征包括以下各项中的一项或多项:编码模式、编码划分深度、率失真损失、待编码图像块和基于编码数据而重建的图像块之间的绝对误差和、待编码图像块和基于编码数据而重建的图像块之间的差值平方和、待编码图像块和基于编码数据而重建的图像块之间的平均绝对差值、待编码图像块和基于编码数据而重建的图像块之间的平均平方误差。之后将参考图3进一步描述如何获取待编码图像块和/或已编码的周围图像块的编码特征,本公开在此就不再赘述。
82.在步骤s213中,基于所述已编码的周围图像块的编码特征以及所述待编码图像块的复杂度信息,确定待编码图像块的划分方式,所述划分方式包括粗粒度划分方式和细粒度划分方式。
83.可选地,在步骤s213中所确定的待编码图像块的划分方式是一种倾向划分方式,其说明根据所述已编码的周围图像块的编码特征以及所述待编码图像块的复杂度信息来判断,粗粒度划分方式可能优于细粒度划分方式,或者细粒度划分方式可能优于粗粒度划分方式。
84.所述待编码图像块的复杂度信息可选地包括所述待编码图像块被划分而成的细
粒度的各个子图像块的复杂度信息,例如,所述待编码图像块被划分而成的细粒度的各个子图像块的复杂度之和、复杂度均值、复杂度加权和中的任意一项或多项。所述待编码图像块被划分而成的细粒度的各个子图像块的复杂度信息对待编码图像块的划分有一定的参考意义。通过所述待编码图像块被划分而成的细粒度的各个子图像块的复杂度信息,可以获取到更准确的划分方式(例如,倾向划分方式)。
85.如图2d所示,由于视频场景通常具有连续性,因此,周围图像块对待编码图像块的划分有一定的参考意义。结合所述已编码的周围图像块的编码特征以及所述待编码图像块的复杂度信息,可以获取到更准确的划分方式(例如,倾向划分方式)。
86.其中,确定待编码图像块的划分方式可以例如,使用av1中的划分方式的搜索相关的功能/模块来实现。例如,该功能/模块可以是“partition_search”或“av1_prune_partitions_before_search”等或其组合。本公开并不以此为限,并将随着相关视频编码标准的演进而包括更多或更少的功能模块。
87.可选地,上述的粗粒度划分方式指示:将所述待编码图像块作为整体进行编码以获取所述待编码图像块的编码数据。所述编码数据为所述待编码图像块被编码而成的码流。粗粒度划分方式可以如图1b中以斜线填充的方块所示。
88.可选地,上述的细粒度划分方式指示:将所述待编码图像块划分为细粒度的多个子图像块,对所述多个子图像块分别进行编码以获取所述待编码图像块的编码数据。细粒度划分方式可以如图1b中的白色方块所示,每个子图像块可以按照最多九种划分方式进一步划分为细粒度的子图像块。如图1b所示,四等份的子图像块(图1b中标注有r的子图像块)可以进一步递归划分成细粒度的子图像块。
89.当然,随着av1视频编码的标准以及其它的视频编码标准的进一步演进,可能出现更多的划分方式,本公开所述的细粒度划分方式和粗粒度划分方式应当理解为相对概念,并包括任何可能出现的划分方式。
90.本公开中的划分方式可以通过经训练的划分方法分析模型,基于所述已编码的周围图像块的编码特征以及所述待编码图像块的复杂度信息而被确定。之后,将在图3中进一步描述如何通过划分方法分析模型确定待编码图像块的划分方式,本公开在此就不再赘述。
91.在步骤s214中,基于所述划分方式对待编码图像块进行划分和编码以获取所述待编码图像块的编码数据。
92.其中,在所述划分方式为粗粒度划分方式的情况下,所述基于划分方式对待编码图像块进行划分和编码以获取所述待编码图像块的编码数据还包括:将所述待编码图像块作为整体进行编码以获取所述待编码图像块的编码数据。
93.其中,在所述划分方式为细粒度划分方式的情况下,所述基于划分方式对待编码图像块进行划分和编码以获取所述待编码图像块的编码数据还包括:将所述待编码图像块划分为细粒度的多个子图像块,对所述多个子图像块分别进行编码以获取所述待编码图像块的编码数据。
94.其中,基于所述划分方式对待编码图像块进行划分可以例如,使用av1中的划分方式选择相关的功能/模块来实现。例如,该功能/模块可以是“rd_pick_partition”。本公开并不以此为限,并将随着相关视频编码标准的演进而包括更多或更少的功能模块。
95.在步骤s215中,基于所述待编码图像块的编码数据和所述已编码的周围图像块的编码特征,确定所述划分方式是否满足预设条件。
96.例如,可以基于所述待编码图像块的编码数据获得所述待编码图像块在划分方式的情况下的编码特征。然后将所述待编码图像块的编码特征与所述已编码的周围图像块的编码特征进行比较。如果二者相差较小则说明当前所述划分方式满足预设条件,否则所述划分方式不满足预设条件。
97.例如,在划分方式为粗粒度划分方式的情况下,所述基于所述待编码图像块的编码数据和所述已编码的周围图像块的编码特征,确定划分方式是否满足预设条件还包括:基于所述已编码的周围图像块的编码特征,确定所述已编码的周围图像块的划分深度;基于所述待编码图像块的编码数据,确定所述待编码图像块的划分深度;在所述待编码图像块的划分深度低于所述已编码的周围图像块的划分深度的情况下,确定所述划分方式不满足预设条件;在所述待编码图像块的划分深度不低于所述已编码的周围图像块的划分深度的情况下,确定所述划分方式满足预设条件。
98.例如,在划分方式为细粒度划分方式的情况下,所述基于所述待编码图像块的编码数据和所述已编码的周围图像块的编码特征,确定划分方式是否满足预设条件还包括:基于所述已编码的周围图像块的编码特征,确定所述已编码的周围图像块的划分深度;基于所述待编码图像块的编码数据,确定所述待编码图像块的划分深度;在所述待编码图像块的划分深度不低于所述已编码的周围图像块的划分深度的情况下,确定所述划分方式不满足预设条件;在所述待编码图像块的划分深度低于所述已编码的周围图像块的划分深度的情况下,确定所述划分方式满足预设条件。
99.其中,划分深度可以指示,某个图像块从最大尺寸的图像块(最粗粒度的图像块)迭代至用于编码的图像块的尺寸时所进行的迭代次数。
100.在步骤s216中,在所述划分方式满足预设条件的情况下,停止对所述待编码图像块的划分方式的搜索。
101.其中,停止对待编码图像块的划分方式的搜索可以例如,使用av1中的prune(剪枝)相关的功能/模块来实现。例如,该功能/模块可以是“av1_prune_partitions_by_max_min_bsize”、“partition_search_skippable”、“partition_search_breakout”等或其组合。本公开并不以此为限,并将随着相关视频编码标准的演进而包括更多或更少的功能模块。
102.例如,在所述划分方式为粗粒度划分方式并且所述划分方式满足预设条件的情况下,确定将所述待编码图像块作为整体进行编码所获取的编码数据,作为所述待编码图像块的编码数据。此时,可以停止对所述待编码图像块的粗粒度划分方式和细粒度划分方式的进一步评价/搜索,无需再比较所述粗粒度划分和细粒度划分的其他性能指标(例如,率失真损失)。所确定的所述待编码图像块的编码数据即为所述待编码图像块的最终编码数据,而无需再进一步对其他编码方式进行判断。
103.例如,在所述划分方式为细粒度划分方式并且所述划分方式满足预设条件的情况下,确定应当对所述待编码图像块进行细粒度划分,停止对所述待编码图像块的粗粒度划分和细粒度划分的进一步评价/搜索,无需再比较粗粒度划分方式和细粒度划分方式的其他性能指标(例如,率失真损失)。接下来,将划分后的多个子图像块分别再作为待编码图像
块,以确定每个子图像块的划分方式。对所述每个子图像块的划分方式的确定,与所述待编码图像块的划分方式的确定相类似,在此不再赘述。
104.在步骤s217中,在所述划分方式不满足预设条件的情况下,继续对所述待编码图像块的划分方式的搜索。
105.可选地,在所述划分方式为粗粒度划分方式的情况下,继续对所述待编码图像块的划分方式的搜索还包括将所述待编码图像块划分为细粒度的多个子图像块,对所述多个子图像块分别进行编码以获取所述待编码图像块的编码数据。然后,基于将所述待编码图像块作为整体进行编码所获取的编码数据以及将多个子图像块分别进行编码所获取的编码数据,确定所述待编码图像块的编码数据。
106.可选地,在所述划分方式为细粒度划分方式的情况下,继续对所述待编码图像块的划分方式的搜索还包括将所述待编码图像块作为整体进行编码以获取所述待编码图像块的编码数据(也即以粗粒度划分方式对待编码图像块进行划分和编码)。
107.然后,基于将所述待编码图像块作为整体进行编码所获取的编码数据(也即基于粗粒度划分方式的编码数据)、以及将多个子图像块分别进行编码所获取的编码数据(也即基于细粒度划分方式的编码数据),确定所述待编码图像块的编码数据。例如,在基于粗粒度划分方式的编码数据和基于细粒度划分方式的编码数据中选择编码特征最优的编码数据。该编码特征可选地是率失真损失。
108.其中,继续对所述待编码图像块的划分方式的搜索可以例如,使用av1中的“partition_search”相关的功能/模块来实现。本公开并不以此为限,并将随着相关视频编码标准的演进而包括更多或更少的功能模块。
109.可选地,上述的基于将所述待编码图像块作为整体进行编码所获取的编码数据以及将多个子图像块分别进行编码所获取的编码数据,确定所述待编码图像块的编码数据还包括:根据将所述待编码图像块作为整体进行编码所获取的编码数据,确定待编码图像块的第一率失真损失;根据将多个子图像块分别进行编码所获取的编码数据,确定待编码图像块的第二率失真损失;在第一率失真损失低于第二率失真损失时,以所述将待编码图像块作为整体进行编码所获取的编码数据作为所述待编码图像块的编码数据;在第一率失真损失高于第二率失真损失时,以所述将多个子图像块分别进行编码所获取的编码数据作为待编码图像块的编码数据。
110.在以所述将多个子图像块分别进行编码所获取的编码数据作为待编码图像块的编码数据的情况下(也即,在以基于细粒度划分方式的编码数据作为待编码图像块的编码数据的情况下),将划分后的多个子图像块分别再作为待编码图像块,以确定每个子图像块的划分方式。对所述每个子图像块的划分方式的确定,与所述待编码图像块的划分方式的确定相类似,在此不再赘述。
111.方案一不停迭代以获取最优的块划分方式,从而带来大量的速度损失。与方案一相比,方法21通过所述已编码的周围图像块的编码特征(例如,划分深度)以及所述待编码图像块的编码特征(例如,划分深度),可以确定划分方式是否符合编码要求(例如,划分深度的要求)。并且在满足预设条件的情况下,可以快速跳出在该当前尺寸下的划分搜索的过程,大大提高了编码效率。
112.方案二仅根据待编码图像块的复杂度来判断划分方式并不再对基于该划分方式
获取的编码数据进行进一步判定,从而带来大量的质量损失。与方案二相比,方法21利用已编码的周围图像块的编码特征(例如,划分深度)以及所述待编码图像块的编码特征(例如,划分深度),可以确定划分方式是否符合编码要求(例如,率失真损失的要求)。并且在不满足预设条件的情况下,可以继续划分搜索的过程,并通过比较第一率失真损失和第二率失真损失保证了编码的准确性。
113.由此,方法21通过结合所述已编码的周围图像块的编码特征以及所述待编码图像块的复杂度信息,可以获取到更准确的划分方式。同时,方法21通过将所述待编码图像块的编码特征与所述已编码的周围图像块的编码特征进行比较,可以确定是否要跳出当前尺寸的划分方式的搜索,进而提升编码速度。方法21将待编码图像块的复杂度与周围块的已编码信息相结合,能够实现快速的划分方式的判断并快速跳出待编码图像块在当前尺寸下的划分过程,以尽可能在不影响编码码率以及用户主观体验的前提下,提升编码速度。
114.如图2b所示,根据本公开实施例的处理视频帧图像的方法22包括以下步骤。
115.在步骤s221中,从所述视频帧图像中获取待编码图像块,与所述待编码图像块邻近的至少一个周围图像块已被编码。步骤s221与步骤s211类似,因此不再赘述。
116.在步骤s222中,获取已编码的周围图像块的编码特征以及所述待编码图像块的复杂度信息。步骤s222与步骤s212类似,因此不再赘述。
117.在步骤s223中,基于所述已编码的周围图像块的编码特征以及所述待编码图像块的复杂度信息,确定待编码图像块的划分方式。步骤s223与步骤s213类似,因此不再赘述。
118.由于视频场景通常具有连续性,因此,周围图像块对待编码图像块的划分有一定的参考意义。通过已编码的周围图像块的编码特征以及所述待编码图像块的复杂度信息,可以获取到更准确的划分方式。
119.在步骤s224中,在所述划分方式为粗粒度划分方式的情况下,将所述待编码图像块作为整体进行编码以获取所述待编码图像块的编码数据。
120.在步骤s225中,在所述划分方式为细粒度划分方式的情况下,将所述待编码图像块划分为细粒度的多个子图像块,对所述多个子图像块分别进行编码以获取所述待编码图像块的编码数据。
121.步骤s224和步骤s225与步骤s214类似,因此不再赘述。
122.如图2d所示,由于视频场景通常具有连续性,因此,周围图像块对待编码图像块的划分有一定的参考意义。方法22结合所述已编码的周围图像块的编码特征以及所述待编码图像块的复杂度信息,可以获取到更准确的划分方式。
123.如图2c所示,根据本公开实施例的处理视频帧图像的方法23包括以下步骤。
124.在步骤s231中,从所述视频帧图像中获取待编码图像块,与所述待编码图像块邻近的至少一个周围图像块已被编码。步骤s231与步骤s211类似,因此不再赘述。
125.在步骤s232中,获取所述待编码图像块的复杂度信息。步骤s232与步骤s212中的获取所述待编码图像块的复杂度信息类似,因此不再赘述。
126.在步骤s233中,基于所述待编码图像块的复杂度信息,确定待编码图像块的划分方式,所述划分方式为粗粒度划分方式或细粒度划分方式。
127.可选地,所述复杂度信息包括以下各项中的一项或多项:视频帧的帧内粗略预测损失、视频帧的帧间粗略预测损失、视频帧的预测率失真损失、待编码图像块和基于编码数
据而重建的图像块之间的预测绝对误差和、待编码图像块和基于编码数据而重建的图像块之间的预测差值平方和、待编码图像块和基于编码数据而重建的图像块之间的预测平均绝对差值、待编码图像块和基于编码数据而重建的图像块之间的预测平均平方误差、空间信息和/或时间信息。值得注意的是,复杂度信息还可以包括更少或更多的信息,本公开并不以此为限。
128.可选地,所述待编码图像块的复杂度信息包括待编码图像块作为一个整体的复杂度,也可以包括所述待编码图像块被划分而成的细粒度的各个子图像块的复杂度之和、复杂度均值、复杂度加权和。因此相比于方案一中仅根据待编码图像块作为一个整体的复杂度来判断划分方式,本公开中结合所述待编码图像块被划分而成的细粒度的各个子图像块的复杂度之和、复杂度均值、复杂度加权和,可以获取到更准确的划分方式。
129.在步骤s234中,基于划分方式对待编码图像块进行划分和编码以获取所述待编码图像块的编码数据。步骤s234与步骤s214类似,因此不再赘述。
130.在步骤s235中,获取已编码的周围图像块的编码特征,基于所述待编码图像块的编码数据和所述已编码的周围图像块的编码特征,确定划分方式是否满足预设条件。
131.步骤s235中的获取已编码的周围图像块的编码特征与步骤s212中的获取已编码的周围图像块的编码特征类似。步骤s235中的“基于所述待编码图像块的编码数据和所述已编码的周围图像块的编码特征,确定划分方式是否满足预设条件”与步骤s215中的“基于所述待编码图像块的编码数据和所述已编码的周围图像块的编码特征,确定划分方式是否满足预设条件”类似,因此不再赘述。
132.在步骤s236中,在所述划分方式满足预设条件的情况下,停止对所述待编码图像块的划分方式的搜索。步骤s236与步骤s216类似,因此不再赘述。
133.在步骤s237中,在所述划分方式不满足预设条件的情况下,继续对所述待编码图像块的方式的搜索。步骤s237与步骤s217类似,因此不再赘述。
134.方案一不停迭代以获取最优的块划分方式,从而带来大量的速度损失。与方案一相比,方法23通过所述已编码的周围图像块的编码特征(例如,划分深度)以及所述待编码图像块的编码特征(例如,划分深度),可以确定划分方式是否符合编码要求(例如,划分深度的要求)。并且在满足预设条件的情况下,可以快速跳出划分搜索的过程,大大提高了编码效率。
135.方案二仅根据待编码图像块的复杂度来判断划分方式并不再对基于该划分方式获取的编码数据进行进一步判定,从而带来大量的质量损失。与方案二相比,方法23利用已编码的周围图像块的编码特征(例如,划分深度)以及所述待编码图像块的编码特征(例如,划分深度),可以确定划分方式是否符合编码要求(例如,率失真损失的要求)。并且在不满足预设条件的情况下,可以继续划分搜索的过程,从而保证了编码的准确性。
136.由此,方法23通过将所述待编码图像块的编码特征与所述已编码的周围图像块的编码特征进行比较,可以确定是否要跳出当前尺寸的划分方式的搜索,进而提升编码速度。方法23将待编码图像块的复杂度与周围块的已编码信息相结合,能够实现快速的划分方式的判断并快速跳出待编码图像块在当前尺寸下的划分过程,以尽可能在不影响编码码率以及用户主观体验的前提下,提升编码速度。
137.根据本公开的又一方面,还提供了一种处理视频帧图像的装置。所述处理视频帧
图像的装置包括:第一获取模块,被配置为从所述视频帧图像中获取待编码图像块,与所述待编码图像块邻近的至少一个周围图像块已被编码;第二获取模块,被配置为获取已编码的周围图像块的编码特征以及所述待编码图像块的复杂度信息;第一确定模块,被配置为:基于所述已编码的周围图像块的编码特征以及所述待编码图像块的复杂度信息,确定待编码图像块的划分方式,所述划分方式包括粗粒度划分方式和细粒度划分方式;处理模块,被配置为:基于所述划分方式对待编码图像块进行划分和编码以获取所述待编码图像块的编码数据;第二确定模块,被配置为:基于所述待编码图像块的编码数据和所述已编码的周围图像块的编码特征,确定所述划分方式是否满足预设条件;停止划分方式搜索模块,被配置为:在所述划分方式满足预设条件的情况下,停止对所述待编码图像块的划分方式的搜索;继续划分方式搜索模块,被配置为:在所述划分方式不满足预设条件的情况下,继续对所述待编码图像块的划分方式的搜索。
138.根据本公开的又一方面,还提供了一种处理视频帧图像的装置。所述处理视频帧图像的装置包括:第一获取模块,被配置为从所述视频帧图像中获取待编码图像块,与所述待编码图像块邻近的至少一个周围图像块已被编码;第二获取模块,被配置为:获取已编码的周围图像块的编码特征以及所述待编码图像块的复杂度信息;确定模块,被配置为:基于所述已编码的周围图像块的编码特征以及所述待编码图像块的复杂度信息,确定待编码图像块的划分方式;第一编码模块,被配置为:在所述划分方式为粗粒度划分方式的情况下,将所述待编码图像块作为整体进行编码以获取所述待编码图像块的编码数据;第二编码模块,被配置为:在所述划分方式为细粒度划分方式的情况下,将所述待编码图像块划分为细粒度的多个子图像块,对所述多个子图像块分别进行编码以获取所述待编码图像块的编码数据。
139.根据本公开的又一方面,还提供了一种处理视频帧图像的装置。所述处理视频帧图像的装置包括:第一获取模块,被配置为:从所述视频帧图像中获取待编码图像块,与所述待编码图像块邻近的至少一个周围图像块已被编码;第二获取模块,被配置为:获取已编码的周围图像块的编码特征;第一确定模块,被配置为:基于所述待编码图像块的复杂度信息,确定待编码图像块的划分方式,所述划分方式为粗粒度划分方式或细粒度划分方式;处理模块,被配置为:基于划分方式对待编码图像块进行划分和编码以获取所述待编码图像块的编码数据;第二确定模块,被配置为:获取待编码图像块的复杂度信息,基于所述待编码图像块的编码数据和所述已编码的周围图像块的编码特征,确定划分方式是否满足预设条件;停止划分方式搜索模块,被配置为:在所述划分方式满足预设条件的情况下,停止对所述待编码图像块的划分方式的搜索;继续划分方式搜索模块,被配置为:在所述划分方式不满足预设条件的情况下,继续对所述待编码图像块的方式的搜索。
140.图3是根据本公开实施例的处理视频帧图像的方法的又一示意图。
141.以下描述的复杂度分析模型、编码数据分析模型和划分方法分析模型都可以是人工智能模型,尤其是基于人工智能的神经网络模型。通常,基于人工智能的神经网络模型被实现为无环图,其中神经元布置在不同的层中。通常,神经网络模型包括输入层和输出层,输入层和输出层通过至少一个隐藏层分开。隐藏层将由输入层接收到的输入变换为对在输出层中生成输出有用的表示。网络节点经由边全连接至相邻层中的节点,并且每个层内的节点之间不存在边。在神经网络的输入层的节点处接收的数据经由隐藏层、激活层、池化
层、卷积层等中的任意一项被传播至输出层的节点。神经网络模型的输入输出可以采用各种形式,本公开对此不作限制。
142.以下描述的复杂度分析模型、编码数据分析模型和划分方法分析模型也可以不是人工智能模型,而是其它类型的计算模型,本公开对此不进行限制。
143.如图3所示,根据本公开实施例的处理视频帧图像的方法30包括以下步骤。
144.在步骤s301中,利用复杂度分析模型来获取所述待编码图像块的复杂度信息。例如,步骤s301可以对应于上述步骤s212、步骤s222和步骤s232中的获取所述待编码图像块的复杂度信息,其中,利用复杂度分析模型来获取所述待编码图像块的复杂度信息。
145.其中,所述待编码图像块的复杂度信息包括所述待编码图像块作为整体的复杂度和/或所述待编码图像块被划分而成的细粒度的各个子图像块的复杂度。
146.所述复杂度分析模型的输入为所述待编码图像块中各个像素的像素值、或所述待编码图像块被划分成的细粒度的多个子图像块中的各个像素的像素值。
147.所述复杂度分析模型的输出为所述待编码图像块的复杂度,或所述待编码图像块被划分而成的细粒度的各个子图像块的复杂度之和、复杂度均值、复杂度加权和中的一项或多项。
148.如上所述,所述复杂度信息可以包括以下各项中的一项或多项:视频帧的帧内粗略预测损失、视频帧的帧间粗略预测损失、视频帧的预测率失真损失、待编码图像块和基于编码数据而重建的图像块之间的预测绝对误差和、待编码图像块和基于编码数据而重建的图像块之间的预测差值平方和、待编码图像块和基于编码数据而重建的图像块之间的预测平均绝对差值、待编码图像块和基于编码数据而重建的图像块之间的预测平均平方误差、空间信息和/或时间信息。
149.其中,待编码图像块位于视频帧图像中,而基于编码数据而重建的图像块则位于重建的视频帧图像中,二者包括相对应的位置的像素。上述的绝对误差和、差值平方和、平均绝对差值和平均平方误差可以基于这两个图像块的相对应的位置的像素之间的差值而计算/预测的。
150.因此,可以根据复杂度信息中包括的内容而进一步设计复杂度分析模型。当复杂度信息包括上述的多项内容时,复杂度分析模型可以基于上述多项内容而包括相应的预测模型,并基于各个预测模型的输出而设计对应的池化层、激活层和输出层,从而最小化多项复杂度信息的加权和。本公开对此不进行限制。
151.复杂度分析模型可以是利用历史视频来进行训练的,复杂度分析模型也可以是在针对某个特定视频进行编码的过程而实时的训练的。当然,复杂度分析模型也可以是通过二者结合的方式而进行训练的。
152.如图3所示,在步骤s302中,利用编码数据分析模型来获取所述已编码的周围图像块的编码特征。例如,步骤s302可以对应于上述步骤s212、步骤s222和步骤s232中的获取已编码的周围图像块的编码特征。其中,利用编码数据分析模型来获取所述已编码的周围图像块的编码特征。
153.其中,所述编码数据分析模型的输入为已编码的图像块的编码数据。所述编码数据分析模型的输出为已编码的图像块的编码特征。
154.如上所述,所述编码特征可以包括以下各项中的一项或多项:编码模式、编码划分
深度、率失真损失、待编码图像块和基于编码数据而重建的图像块之间的绝对误差和、待编码图像块和基于编码数据而重建的图像块之间的差值平方和、待编码图像块和基于编码数据而重建的图像块之间的平均绝对差值、待编码图像块和基于编码数据而重建的图像块之间的平均平方误差。所述编码数据为所述待编码图像块被编码而成的码流。
155.因此,可以根据编码特征中包括的内容而进一步设计编码数据分析模型。当编码特征包括上述的多项内容时,编码特征可以基于上述多项内容而包括相应的计算模型,并基于各个计算模型的输出而设计对应的池化层、激活层和输出层,从而最小化多项编码特征的加权和。本公开对此不进行限制。
156.编码数据分析模型可以是利用历史视频来进行训练的,编码数据分析模型也可以是在针对某个特定视频进行编码的过程而实时的训练的。当然,编码数据分析模型也可以是通过二者结合的方式而进行训练的。
157.在步骤s303中,基于所述已编码的周围图像块的编码特征以及所述待编码图像块的复杂度信息,利用划分方法分析模型,确定待编码图像块的划分方式为粗粒度划分方式的概率、或划分方式为细粒度划分方式的概率。
158.在步骤s304中,基于所述划分方法分析模型的输出,确定划分方式。
159.其中,所述划分方法分析模型的输入为:所述已编码的周围图像块的编码特征以及所述待编码图像块的复杂度信息。所述划分方法分析模型的输出为:划分方式为粗粒度划分方式的概率、或划分方式为细粒度划分方式的概率。
160.当划分方式为细粒度划分方式的概率大于某个阈值时,则可以确定划分方式为细粒度划分方式。
161.当划分方式为细粒度划分方式的概率小于等于某个阈值时,则可以确定划分方式为粗粒度划分方式。
162.上述的阈值可以是经训练的值,也可以是编码器预设的值,本公开对此不进行限制。
163.可选地,当划分方式为粗粒度划分方式的概率大于某个阈值时,则可以确定划分方式为粗粒度划分方式。当划分方式为粗粒度划分方式的概率小于等于某个阈值时,则可以确定划分方式为细粒度划分方式。上述的阈值可以是经训练的值,也可以是编码器预设的值,本公开对此不进行限制。
164.例如,步骤s303和步骤s304可以对应于上述步骤s213、步骤s223和步骤s233中的确定待编码图像块的划分方式。其中,利用划分方法分析模型,确定待编码图像块的划分方式。
165.在步骤s305中,在划分方式为细粒度划分方式的情况下,以细粒度划分方式进行划分和编码。
166.步骤s305可以对应于上述步骤s214、步骤s224和步骤s234中的:在划分方式为细粒度划分方式的情况下,基于所述划分方式对待编码图像块进行划分和编码以获取所述待编码图像块的编码数据。
167.在步骤s306中,基于所述待编码图像块的编码数据,确定所述待编码图像块的划分深度。在步骤s307中,在所述待编码图像块的划分深度不低于所述已编码的周围图像块的划分深度的情况下,确定所述划分方式不满足预设条件;在所述待编码图像块的划分深
度低于所述已编码的周围图像块的划分深度的情况下,确定所述划分方式满足预设条件。
168.步骤s306和步骤s307可以对应于上述步骤s215和步骤s235中的基于所述待编码图像块的编码数据和所述已编码的周围图像块的编码特征,确定所述划分方式是否满足预设条件。其中,划分方式为细粒度划分方式。
169.如图3所示,在步骤s308中,在划分方式为粗粒度划分方式的情况下,以粗粒度划分方式进行划分和编码。
170.步骤s308可以对应于上述步骤s214、步骤s224和步骤s234中的:在划分方式为粗粒度划分方式的情况下,基于所述划分方式对待编码图像块进行划分和编码以获取所述待编码图像块的编码数据。
171.在步骤s309中,基于所述待编码图像块的编码数据,确定所述待编码图像块的划分深度。在步骤s310中,在所述待编码图像块的划分深度不低于所述已编码的周围图像块的划分深度的情况下,确定所述划分方式不满足预设条件;在所述待编码图像块的划分深度低于所述已编码的周围图像块的划分深度的情况下,确定所述划分方式满足预设条件。
172.步骤s309和步骤s310可以对应于上述步骤s215和步骤s235中的基于所述待编码图像块的编码数据和所述已编码的周围图像块的编码特征,确定所述划分方式是否满足预设条件。其中,划分方式为粗粒度划分方式。
173.可选地,所述获取待编码图像块的编码特征也可以使用该编码数据分析模型。此时,所述编码数据分析模型的输入为所述待编码图像块的编码数据。所述编码数据分析模型的输出为所待编码图像块的编码数据的编码特征。可选地,此时的编码特征可以是划分深度。
174.其中划分深度可以指示,某个图像块从最大尺寸的图像块(最粗粒度的图像块)迭代至用于编码的图像块的尺寸时所进行的迭代次数。
175.可选地,当存在多个已编码的周围图像块时,所述已编码的周围图像块的划分深度可以是多个已编码的周围图像块的划分深度的均值或加权平均值。
176.如图3所示,在步骤s311中,当确定划分方式不满足预设条件(例如,与已编码的周围图像块的划分深度相差较大)的情况下,将利用重置编码过程。在步骤s312中,进一步比较粗粒度划分方式和细粒度划分方式的优劣,以选取更优的划分方式。
177.步骤s311和步骤s312可以对应上述的步骤s217和步骤s237。
178.例如,在所述划分方式为粗粒度划分方式的情况下,将所述待编码图像块划分为细粒度的多个子图像块,对所述多个子图像块分别进行编码以获取所述待编码图像块的编码数据。
179.例如,在所述划分方式为细粒度划分方式的情况下,将所述待编码图像块作为整体进行编码以获取所述待编码图像块的编码数据。
180.然后,基于将所述待编码图像块作为整体进行编码所获取的编码数据以及将多个子图像块分别进行编码所获取的编码数据,确定所述待编码图像块的编码数据。
181.例如,步骤s312还可以包括以下步骤。
182.首先,根据将所述待编码图像块作为整体进行编码所获取的编码数据,确定待编码图像块的第一率失真损失;根据将多个子图像块分别进行编码所获取的编码数据,确定待编码图像块的第二率失真损失。
183.然后,在第一率失真损失低于第二率失真损失时,以所述将待编码图像块作为整体进行编码所获取的编码数据作为所述待编码图像块的编码数据。
184.以及,在第一率失真损失高于第二率失真损失时,以所述将多个子图像块分别进行编码所获取的编码数据作为待编码图像块的编码数据。
185.为了使得上述的复杂度分析模型、编码数据分析模型和划分方法分析模型能够在之后的编码过程中能够更准确地确定划分方式,以进一步提高编码效率和编码质量,可以基于上述步骤中的将所述待编码图像块作为整体进行编码所获取的编码数据以及将多个子图像块分别进行编码所获取的编码数据来调整这些模型中的参数。
186.在步骤s313中,对更优的划分方式进行分析。
187.例如,可以使用上述的编码数据分析模型来提取将所述待编码图像块作为整体进行编码所获取的编码数据中的编码特征、以及将多个子图像块分别进行编码所获取的编码数据中的编码特征,并对这些编码特征进行分析。例如,可以进一步分析,这两种划分方式带来的编码特征的不同,从而对其它视频帧的划分方式的预判给出参考。
188.然后,在步骤s314中,调整上述的模型中的参数。
189.例如,在利用复杂度分析模型获取所述待编码图像块的复杂度信息的情况下,可以使用第一率失真损失和第二率失真损失调整所述复杂度分析模型中的参数。当然也可以使用其他编码特征来调整所述复杂度分析模型中的参数,本公开并不以此为限。
190.例如,在利用编码数据分析模型获取所述已编码的周围图像块的编码特征的情况下,使用第一率失真损失和第二率失真损失调整所述编码数据分析模型中的参数。当然也可以使用其他编码特征来调整所述编码数据分析模型中的参数,本公开并不以此为限。
191.例如,在利用划分方法分析模型确定待编码图像块的划分方式的情况下,使用第一率失真损失和第二率失真损失调整所述划分方法分析模型中的参数。当然也可以使用其他编码特征来调整所述用划分方法分析模型中的参数,本公开并不以此为限。
192.可选地,如果最后确定应当以所述将多个子图像块分别进行编码所获取的编码数据作为待编码图像块的编码数据,可以将划分后的多个子图像块分别再作为待编码图像块,以确定每个子图像块的划分方式。对所述每个子图像块的划分方式的确定,与所述待编码图像块的划分方式的确定相类似,在此不再赘述。
193.由此,本公开的实施例通过结合所述已编码的周围图像块的编码特征以及所述待编码图像块的复杂度信息,可以获取到更准确的划分方式。同时,本公开的实施例过将所述待编码图像块的编码特征与所述已编码的周围图像块的编码特征进行比较,可以确定是否要跳出在当前尺寸下的划分方式的搜索,进而提升编码速度。本公开的实施例将待编码图像块的复杂度与周围块的已编码信息相结合,能够实现快速的划分方式的判断并快速跳出待编码图像块在当前尺寸下的划分过程,以尽可能在不影响编码码率以及用户主观体验的前提下,提升编码速度。
194.图4a是根据本公开实施例的处理视频帧图像的方法40的界面示意图。图4b是根据本公开实施例的处理视频帧图像的方法40的示意性流程图。
195.参考图4b,根据本公开实施例的处理视频帧图像的方法40可以包括以下步骤。
196.在步骤s401中,获取由用户输入的加速编码启用信息,其中,所述加速编码启用信息指示:在对视频帧图像中的待编码图像块的划分方式的确定过程中,利用所述待编码图
像块的周围图像块的编码特征以及所述待编码图像块的复杂度信息确定待编码图像块的划分方式,所述划分方式包括粗粒度划分方式和细粒度划分方式。其中,所述待编码图像块的周围图像块邻近于所述待编码图像块,并且所述待编码图像块的周围图像块已被编码。
197.例如,在图4a中,如果用户点击是否加速编码,则会触发加速选项的展示。此时如果用户选择周围块的加速方式,那么,接下来,在步骤s402中,基于所述加速编码启用信息,对视频帧图像进行编码。例如,该编码器将采用上述的方法21至方法23、以及方法30来加速编码过程。
198.此外,还可以通过用户在命令行面板中输入相关的加速选项对应的参数来开启上述的方法21至方法23、以及方法30以加速编码过程。
199.根据本公开的又一方面,还提供了一种电子设备。图5示出了根据本公开实施例的电子设备2000的示意图。
200.如图5所示,所述电子设备2000可以包括一个或多个处理器2010,和一个或多个存储器2020。其中,所述存储器2020中存储有计算机可读代码,所述计算机可读代码当由所述一个或多个处理器2010运行时,可以执行如上所述的方法。
201.本公开实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是x86架构或arm架构的。
202.一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
203.例如,根据本公开实施例的方法或装置也可以借助于图6所示的计算设备3000的架构来实现。如图6所示,计算设备3000可以包括总线3010、一个或多个cpu3020、只读存储器(rom)3030、随机存取存储器(ram)3040、连接到网络的通信端口3050、输入/输出组件3060、硬盘3070等。计算设备3000中的存储设备,例如rom 3030或硬盘3070可以存储本公开提供的用于确定车辆的驾驶风险的方法的处理和/或通信使用的各种数据或文件以及cpu所执行的程序指令。计算设备3000还可以包括用户界面3080。当然,图6所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图6示出的计算设备中的一个或多个组件。
204.根据本公开的又一方面,还提供了一种计算机可读存储介质。图7示出了根据本公开的存储介质的示意图4000。
205.如图7所示,所述计算机存储介质4020上存储有计算机可读指令4010。当所述计算机可读指令4010由处理器运行时,可以执行参照以上附图描述的根据本公开实施例的方法。本公开实施例中的计算机可读存储介质可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom)、可编程只读
存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)或闪存。易失性存储器可以是随机存取存储器(ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(sdram)、双倍数据速率同步动态随机存取存储器(ddrsdram)、增强型同步动态随机存取存储器(esdram)、同步连接动态随机存取存储器(sldram)和直接内存总线随机存取存储器(dr ram)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
206.本公开的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行根据本公开实施例的方法。
207.需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
208.一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
209.在上面详细描述的本公开的示例实施例仅仅是说明性的,而不是限制性的。本领域技术人员应该理解,在不脱离本公开的原理和精神的情况下,可对这些实施例或其特征进行各种修改和组合,这样的修改应落入本公开的范围内。
再多了解一些

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

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

相关文献