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

文档序号:31721597发布日期:2022-10-04 23:26阅读:54来源:国知局
视频处理方法、装置、存储介质、设备及计算机程序产品与流程

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


背景技术:

2.目前,视频中的文本还停留在静态特效显示。例如,设计人员定义好文本中的文字的字体、渐变色效果,并将定义好的文本添加到视频的各个图像帧中的相应位置处,当视频在播放时,文本通常是静态的显示效果。可见,这种显示方式不够灵动,且显示方式比较单一。


技术实现要素:

3.本技术实施例提供了一种视频处理方法、装置、存储介质、设备及计算机程序产品,可以生成具有动态文本特效的视频,丰富视频中文本的显示方式的多样性。
4.一方面,本技术实施例提供了一种视频处理方法,所述方法包括:
5.获取待处理视频包括的多个图像帧,所述多个图像帧中每个图像帧包括第一图像区域,所述第一图像区域包含目标文本;
6.对所述多个图像帧中每个图像帧的第一图像区域进行预处理,得到所述每个图像帧的第二图像区域;
7.根据运动粒子在不同时间点的状态信息,确定所述多个图像帧中每个图像帧的第二图像区域对应的目标图像,所述状态信息包括颜色信息以及第一位置信息,所述第一位置信息是所述运动粒子在按照流体运动规则运动时的位置信息,所述运动粒子为具有预定属性特征的运动对象;
8.根据所述每个图像帧的第二图像区域对应的目标图像,对所述每个图像帧的第二图像区域进行填充处理,得到目标视频。
9.一方面,本技术实施例提供了一种视频处理装置,所述装置包括:
10.获取单元,用于获取待处理视频包括的多个图像帧,所述多个图像帧中每个图像帧包括第一图像区域,所述第一图像区域包含目标文本;
11.处理单元,用于对所述多个图像帧中每个图像帧的第一图像区域进行预处理,得到所述每个图像帧的第二图像区域;
12.所述处理单元,还用于根据运动粒子在不同时间点的状态信息,确定所述多个图像帧中每个图像帧的第二图像区域对应的目标图像,所述状态信息包括颜色信息以及第一位置信息,所述第一位置信息是所述运动粒子在按照流体运动规则运动时的位置信息,所述运动粒子为具有预定属性特征的运动对象;
13.所述处理单元,还用于根据所述每个图像帧的第二图像区域对应的目标图像,对所述每个图像帧的第二图像区域进行填充处理,得到目标视频。
14.一方面,本技术实施例提供了一种计算机设备,该计算机设备包括处理器、通信接
口和存储器,该处理器、通信接口和存储器相互连接,其中,该存储器存储有计算机程序,该处理器用于调用该计算机程序,执行上述任一可能实现方式的视频处理方法。
15.一方面,本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现该任一可能实现方式的视频处理方法。
16.一方面,本技术实施例还提供了一种计算机程序产品,上述计算机程序产品包括计算机程序或计算机指令,上述计算机程序或计算机指令被处理器执行实现本技术实施例提供的视频处理方法的步骤。
17.一方面,本技术实施例还提供了一种计算机程序,上述计算机程序包括计算机指令,上述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从上述计算机可读存储介质读取上述计算机指令,上述处理器执行上述计算机指令,使得上述计算机设备执行本技术实施例提供的视频处理方法。
18.在本技术实施例中,可以获取待处理视频包括的多个图像帧,每个图像帧包括第一图像区域,该第一图像区域包含目标文本,再对多个图像帧中每个图像帧的第一图像区域进行预处理,得到每个图像帧的第二图像区域,根据运动粒子在不同时间点的状态信息,确定每个图像帧的第二图像区域对应的目标图像,该状态信息包括颜色信息和第一位置信息,第一位置信息是运动粒子在按照流体运动规则运动时的位置信息,运动粒子为具有预定属性特征的运动对象,最终根据每个图像帧的第二图像区域对应的目标图像,对每个图像帧的第二图像区域进行填充处理,可以得到目标视频。通过本技术的方法,可以生成具有动态文本特效的视频,丰富视频中文本的显示方式的多样性。
附图说明
19.为了更清楚地说明本技术实施例技术方法,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1为本技术实施例提供的一种视频处理系统的系统架构示意图;
21.图2为本技术实施例提供的一种视频处理方法的流程示意图一;
22.图3为本技术实施例提供的一种视频处理方法的流程示意图二;
23.图4为本技术实施例提供的一种第二图像区域的示例示意图;
24.图5为本技术实施例提供的一种背景网格的示意图;
25.图6为本技术实施例涉及的通过插值求解速度信息的示意图;
26.图7为本技术实施例提供的一种动态文本特效的示意图;
27.图8为本技术实施例提供的一种视频处理方法的流程示意图三;
28.图9为本技术实施例提供的一种视频处理装置的结构示意图;
29.图10为本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
30.下面将结合本技术实施例中的附图,对本技术实施例中的技术方法进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于
本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
31.本技术提出了一种视频处理方法,可以生成具有动态文本特效的视频,丰富视频中文本的显示方式的多样性,能够应用于云技术、人工智能、区块链、车联网、智慧交通、智能家居等各种领域或场景。在一实施例中,该视频处理方法可以基于人工智能技术中的计算机视觉技术实现。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大视频处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。计算机视觉技术是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟随和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、ocr、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
32.请参见图1,图1为本技术实施例提供的一种视频处理系统的系统架构示意图;图1所示的系统架构能够用来实现本技术实施例提出的视频处理方法。如图1所示,该系统架构包括:服务器10及多个终端设备11(图中以3个为示例)。
33.其中,服务器10可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备11可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备、智能家电、车载终端,等等,但并不局限于此。图1所示的终端设备11与服务器10之间通过网络连接。
34.图1所示的系统架构可以实现本技术实施例提供的视频处理方法,以服务器10或终端设备11执行本方法为例,其实现流程大致包括:服务器10或终端设备11可以获取待处理视频包括的多个图像帧,该多个图像帧中每个图像帧包括第一图像区域,第一图像区域包含目标文本,再对多个图像帧中每个图像帧的第一图像区域进行预处理,得到每个图像帧的第二图像区域,根据运动粒子在不同时间点的状态信息,确定多个图像帧中每个图像帧的第二图像区域对应的目标图像,状态信息包括颜色信息以及第一位置信息,第一位置信息是运动粒子在按照流体运动规则运动时的位置信息,运动粒子为具有预定属性特征的运动对象,最终根据每个图像帧的第二图像区域对应的目标图像,对每个图像帧的第二图像区域进行填充处理,可以得到目标视频。
35.在一实施例中,该视频处理方法可以由服务器10和终端设备11共同执行,具体地,服务器10接收终端设备11发送的待处理视频包括的多个图像帧,再采用本技术的视频处理方法对待处理视频包括的多个图像帧进行处理,得到目标视频,并将目标视频返回给终端设备11。
36.在本技术实施例中,由于运动粒子在按照流体运动规则不断在运动,因此基于不
同时间点的状态信息,可以生成不同的目标图像,使得利用不同的目标图像填充的各个图像帧中的目标文本可以呈现出不同的特效,从而在目标视频播放时,文本可以呈现出动态特效,因此,本技术可以基于运动粒子的粒子运动特性,为视频中的文本产生合适的动态特效,丰富视频中文本的显示方式的多样性。
37.可以理解的是,本技术实施例描述的系统架构示意图是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
38.下面对视频处理方法的具体实现方式进行详细阐述。
39.请参阅图2,图2为本技术实施例提供的一种视频处理方法的流程示意图一。该方法可以应用于上述视频处理系统中的服务器10和/或终端设备11,该方法包括:
40.s201、获取待处理视频包括的多个图像帧,多个图像帧中每个图像帧包括第一图像区域,第一图像区域包含目标文本。
41.在本技术实施例中,待处理视频可以是任一需要添加动态文本特效的视频。该待处理视频包括多个图像帧,且多个图像帧中每个图像帧均包括第一图像区域,该第一图像区域可以是任意形状,且可以是各个图像帧中的部分图像区域或者全部图像区域。该第一图像区域包含目标文本,该目标文本可以是各个图像帧本身含有的,也可以是针对各个图像帧添加的。目标文本可以包括文字和文本符号,文字可以是中文文字、英文文字等,文本符号可以是字母符号、标点符号、公式符号、符号图案等。
42.s202、对多个图像帧中每个图像帧的第一图像区域进行预处理,得到每个图像帧的第二图像区域。
43.在本技术实施例中,可以对每个图像帧的第一图像区域中目标文本对应的图像区域进行预处理,目标文本对应的图像区域是指在第一图像区域中绘制的目标文本所在的图像区域。预处理后得到的第二图像区域中目标文本对应的图像区域是被镂空的,即目标文本对应的图像区域不存在颜色填充。
44.s203、根据运动粒子在不同时间点的状态信息,确定多个图像帧中每个图像帧的第二图像区域对应的目标图像,状态信息包括颜色信息以及第一位置信息,第一位置信息是运动粒子在按照流体运动规则运动时的位置信息,运动粒子为具有预定属性特征的运动对象。
45.运动粒子可以是人为设置的具有预定属性特征的运动对象,该预定属性特征可以是仿照真实粒子的固有属性设置的,可以涉及粒子半径、粒子质量、粒子密度、粒子体积等多个维度。
46.在一实施方式中,运动粒子的颜色信息可以是人为预先定义的,例如设置1000个运动粒子是黄色,1000个运动粒子是白色;或者也可以将目标文本对应的图像区域中各像素点的像素值,确定为运动粒子的颜色信息。
47.运动粒子可以在二维空间中按照流体运动规则不断地运动,可以将运动粒子在某个时间点的位置信息作为运动粒子的第一位置信息。在利用运动粒子在某个时间点的状态信息生成一个目标图像时,可以用运动粒子在该时间点的第一位置信息和粒子半径确定颜色渲染范围,用运动粒子的颜色信息确定该颜色渲染范围需要渲染的颜色,从而得到目标
图像。
48.需说明的是,由于待处理视频包括多个图像帧,因此需要获取运动粒子在不同时间点的第一位置信息,以生成每个图像帧对应的目标图像。
49.s204、根据每个图像帧的第二图像区域对应的目标图像,对每个图像帧的第二图像区域进行填充处理,得到目标视频。
50.由于第二图像区域中目标文本对应的图像区域是被镂空的,因此可以利用目标图像去填充第二图像区域的镂空部分。例如,将目标图像与第二图像区域重合,确定目标图像中哪部分图像区域可以填充镂空部分,并将目标图像中能填充镂空内容的图像区域作为第二图像区域中空缺内容的补充,从而得到填充后的每个图像帧,填充后的每个图像帧可以构成目标视频。由于运动粒子一直在运动,生成了不同的目标图像,因此目标视频在播放时,目标视频中的目标文本会呈现出动态特效。
51.在本技术实施例中,可以获取待处理视频包括的多个图像帧,每个图像帧包括第一图像区域,该第一图像区域包含目标文本,再对多个图像帧中每个图像帧的第一图像区域进行预处理,得到每个图像帧的第二图像区域,根据运动粒子在不同时间点的状态信息,确定每个图像帧的第二图像区域对应的目标图像,该状态信息包括颜色信息和第一位置信息,第一位置信息是运动粒子在按照流体运动规则运动时的位置信息,运动粒子为具有预定属性特征的运动对象,最终根据每个图像帧的第二图像区域对应的目标图像,对每个图像帧的第二图像区域进行填充处理,可以得到目标视频。通过本技术的方法,可以利用不同的目标图像填充各个图像帧中的目标文本,从而使得目标视频在播放时,目标文本可以呈现出不同的特效,因此,本技术可以基于运动粒子的粒子运动特性,为视频中的文本产生合适的动态特效,丰富视频中文本的显示方式的多样性。
52.请参阅图3,图3为本技术实施例提供的一种视频处理方法的流程示意图二。该方法可以应用于上述视频处理系统中的服务器10和/或终端设备11,该方法包括但不限于以下步骤:
53.s301、获取待处理视频包括的多个图像帧,多个图像帧中每个图像帧包括第一图像区域,第一图像区域包含目标文本。
54.在一实现方式中,可以识别每个图像帧的文本图像区域,文本图像区域中包含有文本,具体可以通过光学字符识别(optical character recognition,ocr)技术实现,ocr技术是指对图像中的文字进行识别,另外ocr技术还可以将图像中的文字以文本的形式返回。当存在多个文本图像区域时,可以将多个文本图像区域中最大文本图像区域或大于预设面积的文本图像区域作为第一图像区域,且最大文本图像区域或大于预设面积的文本图像区域中的文本为目标文本。即第一图像区域可以是一个或多个,本技术对此不作限定。
55.s302、对多个图像帧中每个图像帧的第一图像区域进行预处理,得到每个图像帧的第二图像区域。
56.在一实施例中,可以获取每个图像帧的第一图像区域中目标文本的轮廓信息。例如,通过opencv的内置函数提取目标文本的轮廓信息,其中,opencv是一个基于bsd许可(开源)发行的跨平台计算机视觉和机器学习软件库。进一步地,根据目标文本的轮廓信息,对每个图像帧的第一图像区域中目标文本对应的图像区域进行镂空处理,得到每个图像帧的第二图像区域。例如,图4中的左图为第一图像区域,图4中的右图为第二图像区域,可见,目
标文本“流光”的内部图像区域已被镂空。
57.s303、按照流体运动规则确定多个运动粒子中每个运动粒子运动n个时间步长时的第一位置信息,n是大于或等于0的整数。
58.在本技术实施例中,时间步长可以是任意时长单位,也可以通过待处理视频的帧率确定,例如待处理视频的帧率为50帧/秒,每个图像帧播放0.02秒,则时间步长可以是0.02秒,即时间步长为待处理视频中的图像帧的播放时长。
59.一实施方式中,可以根据第一图像区域确定背景网格。具体的,确定的各个图像帧的第一图像区域的形状和大小相同,针对任一图像帧的第一图像区域,将该任一图像帧中第一图像区域内的像素点用1表示,该任一图像帧中第一图像区域以外的像素点用0表示,则一个网格单元就是用1标识的一个像素点,所有用1标识的像素点构成了背景网格。
60.进一步地,当n等于0时,即每个运动粒子运动0个时间步长时,可以确定多个运动粒子中每个运动粒子在背景网格中的初始位置信息,该初始位置信息可以是人为预先定义的,将每个运动粒子的初始位置信息确定为每个运动粒子运动n个时间步长时的第一位置信息。当n大于0时,按照流体运动规则确定每个运动粒子在背景网格中运动n个时间步长时的第二位置信息,并将每个运动粒子的第二位置信息确定为每个运动粒子运动n个时间步长时的第一位置信息。
61.采用本技术实施例,可以通过背景网格限制运动粒子的运动边界,因为镂空部分位于第二图像区域内,当运动粒子的运动范围超出背景网格外时,即超过第二图像区域外时,对于填充镂空部分并没有意义。
62.在本技术实施例中,可以按照流体运动规则让每个运动粒子在背景网格中模拟流体的运动,并将每个运动粒子在背景网格中运动n个时间步长时的第二位置信息,作为每个运动粒子运动n个时间步长时的第一位置信息。
63.具体的,可以基于流体仿真模型以及配置参数确定传输控制规则、动量控制规则以及受力控制规则(用于描述流体运动规则)。在一实施方式中,本技术使用的流体仿真模型是基于不可压缩的无粘性流体建立的。不可压缩的无粘性流体具有以下特性:流体粘度为0且流体密度不变,则该配置参数包括流体黏度(为0)以及流体密度(为常数),可以确保是针对不可压缩的无粘性流体确定的传输控制规则、动量控制规则以及受力控制规则。本技术具体使用欧拉方程(一种流体仿真模型)模拟不可压缩的无粘性流体,欧拉方程包括一个方程组,该方程组中各方程分别代表质量守恒(连续性)、动量守恒及能量守恒。本技术主要使用的是方程组中的动量控制规则和质量控制规则,如下述式(1)和式(2)所示,分别为适用于不可压缩的无粘性流体的动量控制规则和质量控制规则。该动量控制规则是根据动量守恒定律确定的,动量守恒定律是指控制体内流体总动量的增量=流入控制体的流体动量+外界的力产生的动量增量。质量控制规则是根据质量守恒定律得到的,质量守恒定律是指控制体内流体总质量的增量=流入控制体的流体质量。
[0064][0065][0066]
其中,表示重力加速度,表示运动粒子的速度信息,t表示时间,ρ表示流体密
度,p表示运动粒子受到的流体压力,d代表物质导数。
[0067]
下述式(3)为物质导数的推导公式。
[0068][0069]
其中,表示运动粒子的位置信息,q表示通用的物理量,如运动粒子的速度信息、温度信息、位置信息。
[0070]
另外,在拉格朗日的观点下,q随时间的变化率为0,基于此定义了传输控制规则。
[0071][0072]
本技术在使用传输控制规则时,q主要代表的是运动粒子的位置信息,因此传输控制规则用于指示运动粒子的位置信息随时间的变化率为0。
[0073]
同时配置参数还包括作用力类型,例如重力、风力等。本技术假设运动粒子受到的作用力类型为重力,则可以通过下述式(5)确定受力控制规则,受力控制规则用于指示施加的作用力对运动粒子的运动控制,下述式(5)揭示了当只施加重力时,速度的变化量被重力加速度影响。
[0074][0075]
另外,通过式(3)和式(4)可以将式(1)离散化为下述式(6),式(6)依旧为动量控制规则。
[0076][0077]
需说明的是,可以按照实际需求模拟其他类型的流体,例如,不可压缩的粘性流体等,本技术对此不作限定。另外配置参数还可以包括上述运动粒子的初始位置信息。
[0078]
在得到动量控制规则、传输控制规则以及受力控制规则之后,便可基于此求解运动粒子在按照流体运动规则做流体运动时的速度信息和位置信息。可理解的,运动粒子的流体运动需要遵循动量控制规则、传输控制规则以及受力控制规则。
[0079]
参阅图5,图5为一个背景网格的示意图,每个小格表示一个网格单元,可见,背景网格可以包括多个网格单元,每个网格单元的四个格点(顶点)存储有辅助速度信息,该辅助速度信息具有速度的大小和方向。
[0080]
在一实施例中,可以获取每个运动粒子运动n-1个时间步长时的第三位置信息,根据每个运动粒子的第三位置信息,确定每个运动粒子在背景网格中所处的目标网格单元,获取目标网格单元的格点存储的辅助速度信息,该辅助速度信息是根据位于目标网格单元中的各个运动粒子的第一速度信息确定的,第一速度信息是该各个运动粒子在按照流体运动规则运动时的速度信息。再根据每个运动粒子的第三位置信息、时间步长以及目标网格单元的格点存储的辅助速度信息,确定每个运动粒子运动n个时间步长时的的第二位置信息。
[0081]
以运动粒子1为例进行说明,假设运动粒子1运动n-1个时间步长时的第三位置信息为现在要确定的是运动粒子1运动n个时间步长时的第二位置信息,即如图6
所示,运动粒子1所处的目标网格单元的四个格点的辅助速度信息为则通过下述式(7)-式(9),可以利用目标网格单元的四个格点的辅助速度信息插值得到运动粒子1运动n-1个时间步长时的第三速度信息其中,a、b、c、d表示运动粒子1与目标网格单元的边界的距离。
[0082][0083][0084][0085]
进一步地,将运动粒子1的第三位置信息时间步长δt和第三速度信息代入下述式(10),则得到运动粒子1的第二位置信息
[0086][0087]
若需要更准确的第二位置信息,如下述式(11)和式(12)所示,还可以采用二阶runge-kutta格式确定运动粒子1的第二位置信息
[0088][0089][0090]
可以将式(4)所示的传输控制规则进行离散化,以确定式(12)中的具体计算公式如下述式(13)所示。
[0091][0092]
其中,假设为(x2,y2),可以通过式(11)得到,为(x1,y1),则δx1为(x
2-x1),δy1为(y
2-y1)。
[0093]
如果运动粒子的第二位置信息位于背景网格以外时,可以取距离该第二位置信息最近的网格单元的中心位置作为运动粒子的第二位置信息。最终将运动粒子的第二位置信息作为运动粒子的第一位置信息,可以保证运动粒子位于背景网格内。
[0094]
本技术利用目标网格单元的四个格点的辅助速度信息生成运动粒子1的第三速度信息的处理方式,可以避免浪费计算资源和存储资源记忆大量运动粒子在各个时间点的速度信息,但每间隔一个时间步长δt,就需要根据位于目标网格单元中的各个运动粒子的第一速度信息对目标网格单元的四个格点存储的速度信息进行更新,下面以每个网格单元为例进行详细说明。
[0095]
目标运动粒子是当前位于每个网格单元中的任一运动粒子。在一实施例中,根据传输控制规则,以及目标运动粒子运动n个时间步长时的第一位置信息和运动n-1个时
间步长时的第三位置信息确定目标运动粒子的第二速度信息如下述式(14)所示。
[0096][0097]
其中,假设为(x3,y3),为(x1,y1),则δx2为(x
3-x1),δy2为(y
3-y1)。
[0098]
进一步地,根据动量控制规则和受力控制规则对目标运动粒子的第二速度信息进行更新,得到目标运动粒子在按照流体运动规则运动时的第一速度信息
[0099][0100][0101]
其中,式(15)是基于离散化的受力控制规则实现的更新,是为运动粒子施加重力的影响;式(16)是在式(15)的基础上基于离散化的动量控制规则进行的更新,是将速度投影到无散度场,即速度场满足散度为0,用于确保是不可压缩的无粘性流体。
[0102]
在确定当前位于每个网格单元中的各个运动粒子在按照流体运动规则运动时的第一速度信息之后,可以根据各个运动粒子的粒子质量,确定各个运动粒子对应的影响因子。影响因子等于运动粒子1的粒子质量/运动粒子1所处的网格单元中各个运动粒子的粒子质量之和,影响因子用于指示运动粒子对所处的网格单元的影响程度的大小。再根据各个运动粒子对应的影响因子以及各个运动粒子的第一速度信息,确定目标速度信息。例如,将各个运动粒子的影响因子和对应的第一速度信息的乘积之和作为目标速度信息。最终可以根据目标速度信息更新每个网格单元的格点存储的辅助速度信息。具体的,可以将式(9)中的替换为目标速度信息,a、b、c、d可以根据目标运动粒子的第一位置信息与目标运动粒子所处的网格单元的边界距离确定,再根据式(7)-式(9)逆向插值出该网格单元的四个格点的辅助速度信息,并利用插值得到的辅助速度信息对网格单元的四个格点存储的辅助速度信息进行更新。
[0103]
s304、获取每个运动粒子的颜色信息。
[0104]
在一实施例中,可以根据每个图像帧包括的颜色信息,确定主题颜色信息,例如,获取各个图像帧包括的最多的颜色信息,如果是相似颜色,归为同一类颜色信息,再将包括的最多的颜色信息作为主题颜色信息。进一步地,确定与主题颜色信息存在配色关系的一个或多个参考颜色信息,该配色关系可以是对比配色关系,相似配色关系等等。例如,主题颜色信息是金黄色,参考颜色关系可以是淡黄色(相似关系)、紫色(对比关系)。优选地,为了使文本呈现动态特效,参考颜色信息可以包括多个。最后根据一个或多个参考颜色信息,确定每个运动粒子的颜色信息,例如1000个运动粒子是黄色,1000个运动粒子是淡黄色。
[0105]
s305、根据每个运动粒子的第一位置信息和颜色信息,确定多个图像帧中第n+1个图像帧的第二图像区域对应的目标图像。
[0106]
该多个图像帧可以是按照时间先后顺序排列的。在一可行的实施例中,在得到各个运动粒子运动n个时间步长时的第一位置信息和颜色信息之后,可以生成多个图像帧中第n+1个图像帧的第二图像区域对应的目标图像。
[0107]
s306、根据每个图像帧的第二图像区域对应的目标图像,对每个图像帧的第二图像区域进行填充处理,得到目标视频。
[0108]
在一实施例中,可以将每个图像帧的第二图像区域对应的目标图像,设置为每个图像帧的第二图像区域的背景图层,得到填充后的每个图像帧,再根据填充后的每个图像帧生成目标视频。如图7所示,为目标视频中的目标文本“流光”的动态变化特效,可以看出随着不同灰度的运动粒子的运动,使得目标文本“流光”可以呈现不同的显示效果。
[0109]
在可行的实施例中,如图8所示,在利用ocr技术提取出多个文本图像区域之后,可以将最大的文本图像区域作为第一图像区域,并对第一图像区域中的目标文本进行文本轮廓提取,得到目标文本的轮廓信息。再根据目标文本的轮廓信息确定目标文本对应的图像区域,填充目标文本对应的图像区域,以确定背景网格。具体的,将目标文本对应的图像区域中的各个像素点用1进行标识,从而得到背景网格。接着在该背景网格中基于流体运动规则仿真运动粒子的流体运动,以生成目标视频。这种方式确定的背景网格,可以使生成的目标图像可以刚好弥补第二图像区域中的镂空部分。
[0110]
需说明的是,还可以采用本技术提供的视频处理方法,实时的生成动态文本特效。例如,时间步长是每个图像帧的播放时间,可以每隔一个时间步长就利用确定的目标图像填充当前播放的图像帧中的第二图像区域,当下一图像帧播放时,又利用新确定的目标图像填充下一个图像帧中的第二图像区域。
[0111]
在本技术实施例中,通过流体运动规则对运动粒子进行流体仿真,可以对现有的文本特效进行动态化,在视频中产生合适的文本动态特效效果,丰富视频中文本的显示方式的多样性,同时可以提升真实感以及优化渲染速度;此外,由于运动粒子的颜色信息可以人为指定或者通过主题颜色指定,因此可以生成定制化的特效色调。
[0112]
可以理解的是,在本技术的具体实施方式中,涉及到待处理视频等相关数据,当本技术以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0113]
上述详细阐述了本技术实施例的方法,为了便于更好地实施本技术实施例的上述方法,相应地,下面提供了本技术实施例的装置。请参见图9,图9是本技术实施例提供的一种视频处理装置的结构示意图,该视频处理装置90可以包括:
[0114]
获取单元901,用于获取单元,用于获取待处理视频包括的多个图像帧,所述多个图像帧中每个图像帧包括第一图像区域,所述第一图像区域包含目标文本;
[0115]
处理单元902,用于对所述多个图像帧中每个图像帧的第一图像区域进行预处理,得到所述每个图像帧的第二图像区域;
[0116]
所述处理单元902,还用于根据运动粒子在不同时间点的状态信息,确定所述多个图像帧中每个图像帧的第二图像区域对应的目标图像,所述状态信息包括颜色信息以及第一位置信息,所述第一位置信息是所述运动粒子在按照流体运动规则运动时的位置信息,所述运动粒子为具有预定属性特征的运动对象;
[0117]
所述处理单元902,还用于根据所述每个图像帧的第二图像区域对应的目标图像,对所述每个图像帧的第二图像区域进行填充处理,得到目标视频。
[0118]
在一实施例中,所述处理单元902具体用于:确定所述每个图像帧的第一图像区域中所述目标文本的轮廓信息;根据所述目标文本的轮廓信息,对所述每个图像帧的第一图
像区域中所述目标文本对应的图像区域进行镂空处理,得到所述每个图像帧的第二图像区域。
[0119]
在一实施例中,所述处理单元902具体用于:将所述每个图像帧的第二图像区域对应的目标图像,设置为所述每个图像帧的第二图像区域的背景图层,得到填充后的每个图像帧;根据所述填充后的每个图像帧生成目标视频。
[0120]
在一实施例中,所述获取单元901具体用于:按照流体运动规则确定多个运动粒子中每个运动粒子运动n个时间步长时的第一位置信息,所述n是大于或等于0的整数;
[0121]
所述处理单元902具体用于:根据所述每个运动粒子的第一位置信息和颜色信息,确定所述多个图像帧中第n+1个图像帧的第二图像区域对应的目标图像。
[0122]
在一实施例中,所述处理单元902具体用于:根据所述每个图像帧包括的颜色信息,确定主题颜色信息;确定与所述主题颜色信息存在配色关系的一个或多个参考颜色信息;根据所述一个或多个参考颜色信息,确定所述每个运动粒子的颜色信息。
[0123]
在一实施例中,所述处理单元902具体用于:根据所述第一图像区域确定背景网格;若所述n等于0,则确定多个运动粒子中每个运动粒子在所述背景网格中的初始位置信息,并将所述每个运动粒子的初始位置信息确定为所述每个运动粒子的第一位置信息;若所述n大于0,则按照流体运动规则确定所述每个运动粒子在所述背景网格中运动n个时间步长时的第二位置信息,并将所述每个运动粒子的第二位置信息确定为所述每个运动粒子的第一位置信息。
[0124]
在一实施例中,所述背景网格包括多个网格单元,每个网格单元的格点存储有辅助速度信息;所述获取单元901具体用于:获取所述每个运动粒子运动n-1个时间步长时的第三位置信息;
[0125]
所述处理单元902具体用于:根据所述每个运动粒子的第三位置信息,确定所述每个运动粒子在所述背景网格中所处的目标网格单元;获取所述目标网格单元的格点存储的辅助速度信息,所述辅助速度信息是根据位于所述目标网格单元中的各个运动粒子的第一速度信息确定的,所述第一速度信息是所述各个运动粒子在按照流体运动规则运动时的速度信息;根据所述每个运动粒子的第三位置信息、所述时间步长以及所述目标网格单元的格点存储的辅助速度信息,确定所述每个运动粒子的第二位置信息。
[0126]
在一实施例中,所述获取单元901具体用于:获取当前位于所述每个网格单元中的各个运动粒子在按照流体运动规则运动时的第一速度信息;
[0127]
所述处理单元902具体用于:根据所述各个运动粒子的粒子质量,确定所述各个运动粒子对应的影响因子;根据所述各个运动粒子对应的影响因子以及所述各个运动粒子的第一速度信息,确定目标速度信息;根据所述目标速度信息更新所述每个网格单元的格点存储的辅助速度信息。
[0128]
在一实施例中,所述处理单元902具体用于:基于流体仿真模型以及配置参数确定传输控制规则、动量控制规则以及受力控制规则,所述传输控制规则用于指示运动粒子的位置信息随时间的变化率,所述动量控制规则是基于动量守恒定律确定的,所述受力控制规则用于指示施加的作用力对运动粒子的运动控制,所述配置参数包括作用力的类型、初始位置信息、流体黏度以及流体密度中的一种或多种;根据所述传输控制规则,以及目标运动粒子的第一位置信息和第三位置信息,确定所述目标运动粒子的第二速度信息,所述目
标运动粒子是当前位于所述每个网格单元中的任一运动粒子;根据所述动量控制规则和所述受力控制规则对所述目标运动粒子的第二速度信息进行更新,得到所述目标运动粒子在按照流体运动规则运动时的第一速度信息。
[0129]
可以理解的是,本技术实施例所描述的视频处理装置的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
[0130]
在本技术实施例中,可以获取待处理视频包括的多个图像帧,每个图像帧包括第一图像区域,该第一图像区域包含目标文本,再对多个图像帧中每个图像帧的第一图像区域进行预处理,得到每个图像帧的第二图像区域,根据运动粒子在不同时间点的状态信息,确定每个图像帧的第二图像区域对应的目标图像,该状态信息包括颜色信息和第一位置信息,第一位置信息是运动粒子在按照流体运动规则运动时的位置信息,运动粒子为具有预定属性特征的运动对象,最终根据每个图像帧的第二图像区域对应的目标图像,对每个图像帧的第二图像区域进行填充处理,可以得到目标视频。通过本技术的方法,可以生成具有动态文本特效的视频,丰富视频中文本的显示方式的多样性。
[0131]
如图10所示,图10是本技术实施例提供的一种计算机设备的结构示意图,该计算机设备100内部结构如图10所示,包括:一个或多个处理器1001、存储器1002、通信接口1003。上述处理器1001、存储器1002和通信接口1003可通过总线1004或其他方式连接,本技术实施例以通过总线1004连接为例。
[0132]
其中,处理器1001(或称cpu(central processing unit,中央处理器))是计算机设备100的计算核心以及控制核心,其可以解析计算机设备100内的各类指令以及处理计算机设备100的各类数据,例如:cpu可以用于解析用户向计算机设备100所发送的开关机指令,并控制计算机设备100进行开关机操作;再如:cpu可以在计算机设备100内部结构之间传输各类交互数据,等等。通信接口1003可选的可以包括标准的有线接口、无线接口(如wi-fi、移动通信接口等),受处理器1001的控制用于收发数据。存储器1002(memory)是计算机设备100中的记忆设备,用于存放计算机程序和数据。可以理解的是,此处的存储器1002既可以包括计算机设备100的内置存储器,当然也可以包括计算机设备100所支持的扩展存储器。存储器1002提供存储空间,该存储空间存储了计算机设备100的操作系统,可包括但不限于:windows系统、linux系统、android系统、ios系统,等等,本技术对此并不作限定。处理器1001通过运行存储器1002中存储的计算机程序,执行如下操作:
[0133]
获取待处理视频包括的多个图像帧,所述多个图像帧中每个图像帧包括第一图像区域,所述第一图像区域包含目标文本;
[0134]
对所述多个图像帧中每个图像帧的第一图像区域进行预处理,得到所述每个图像帧的第二图像区域;
[0135]
根据运动粒子在不同时间点的状态信息,确定所述多个图像帧中每个图像帧的第二图像区域对应的目标图像,所述状态信息包括颜色信息以及第一位置信息,所述第一位置信息是所述运动粒子在按照流体运动规则运动时的位置信息,所述运动粒子为具有预定属性特征的运动对象;
[0136]
根据所述每个图像帧的第二图像区域对应的目标图像,对所述每个图像帧的第二图像区域进行填充处理,得到目标视频。
[0137]
在一实施例中,所述处理器1001具体用于:确定所述每个图像帧的第一图像区域中所述目标文本的轮廓信息;根据所述目标文本的轮廓信息,对所述每个图像帧的第一图像区域中所述目标文本对应的图像区域进行镂空处理,得到所述每个图像帧的第二图像区域。
[0138]
在一实施例中,所述处理器1001具体用于:将所述每个图像帧的第二图像区域对应的目标图像,设置为所述每个图像帧的第二图像区域的背景图层,得到填充后的每个图像帧;根据所述填充后的每个图像帧生成目标视频。
[0139]
在一实施例中,所述处理器1001具体用于:按照流体运动规则确定多个运动粒子中每个运动粒子运动n个时间步长时的第一位置信息,所述n是大于或等于0的整数;根据所述每个运动粒子的第一位置信息和颜色信息,确定所述多个图像帧中第n+1个图像帧的第二图像区域对应的目标图像。
[0140]
在一实施例中,所述处理器1001具体用于:根据所述每个图像帧包括的颜色信息,确定主题颜色信息;确定与所述主题颜色信息存在配色关系的一个或多个参考颜色信息;根据所述一个或多个参考颜色信息,确定所述每个运动粒子的颜色信息。
[0141]
在一实施例中,所述处理器1001具体用于:根据所述第一图像区域确定背景网格;若所述n等于0,则确定多个运动粒子中每个运动粒子在所述背景网格中的初始位置信息,并将所述每个运动粒子的初始位置信息确定为所述每个运动粒子的第一位置信息;若所述n大于0,则按照流体运动规则确定所述每个运动粒子在所述背景网格中运动n个时间步长时的第二位置信息,并将所述每个运动粒子的第二位置信息确定为所述每个运动粒子的第一位置信息。
[0142]
在一实施例中,所述背景网格包括多个网格单元,每个网格单元的格点存储有辅助速度信息;所述处理器1001具体用于:获取所述每个运动粒子运动n-1个时间步长时的第三位置信息;所述处理器1001具体用于:根据所述每个运动粒子的第三位置信息,确定所述每个运动粒子在所述背景网格中所处的目标网格单元;获取所述目标网格单元的格点存储的辅助速度信息,所述辅助速度信息是根据位于所述目标网格单元中的各个运动粒子的第一速度信息确定的,所述第一速度信息是所述各个运动粒子在按照流体运动规则运动时的速度信息;根据所述每个运动粒子的第三位置信息、所述时间步长以及所述目标网格单元的格点存储的辅助速度信息,确定所述每个运动粒子的第二位置信息。
[0143]
在一实施例中,所述处理器1001具体用于:获取当前位于所述每个网格单元中的各个运动粒子在按照流体运动规则运动时的第一速度信息;根据所述各个运动粒子的粒子质量,确定所述各个运动粒子对应的影响因子;根据所述各个运动粒子对应的影响因子以及所述各个运动粒子的第一速度信息,确定目标速度信息;根据所述目标速度信息更新所述每个网格单元的格点存储的辅助速度信息。
[0144]
在一实施例中,所述处理器1001具体用于:基于流体仿真模型以及配置参数确定传输控制规则、动量控制规则以及受力控制规则,所述传输控制规则用于指示运动粒子的位置信息随时间的变化率,所述动量控制规则是基于动量守恒定律确定的,所述受力控制规则用于指示施加的作用力对运动粒子的运动控制,所述配置参数包括作用力的类型、初始位置信息、流体黏度以及流体密度中的一种或多种;根据所述传输控制规则,以及目标运动粒子的第一位置信息和第三位置信息,确定所述目标运动粒子的第二速度信息,所述目
标运动粒子是当前位于所述每个网格单元中的任一运动粒子;根据所述动量控制规则和所述受力控制规则对所述目标运动粒子的第二速度信息进行更新,得到所述目标运动粒子在按照流体运动规则运动时的第一速度信息。
[0145]
具体实现中,本技术实施例中所描述的处理器1001、存储器1002及通信接口1003可执行本技术实施例提供的一种视频处理方法中所描述的实现方式,也可执行本技术实施例提供的一种视频处理装置中所描述的实现方式,在此不再赘述。
[0146]
在本技术实施例中,可以获取待处理视频包括的多个图像帧,每个图像帧包括第一图像区域,该第一图像区域包含目标文本,再对多个图像帧中每个图像帧的第一图像区域进行预处理,得到每个图像帧的第二图像区域,根据运动粒子在不同时间点的状态信息,确定每个图像帧的第二图像区域对应的目标图像,该状态信息包括颜色信息和第一位置信息,第一位置信息是运动粒子在按照流体运动规则运动时的位置信息,运动粒子为具有预定属性特征的运动对象,最终根据每个图像帧的第二图像区域对应的目标图像,对每个图像帧的第二图像区域进行填充处理,可以得到目标视频。通过本技术的方法,可以生成具有动态文本特效的视频,丰富视频中文本的显示方式的多样性。
[0147]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机设备上运行时,使得计算机设备执行上述任一可能实现方式的视频处理方法。其具体实现方式可参考前文描述,此处不再赘述。
[0148]
本技术实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或计算机指令被处理器执行时实现本技术实施例提供的视频处理方法的步骤。其具体实现方式可参考前文描述,此处不再赘述。
[0149]
本技术实施例还提供了一种计算机程序,所述计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行本技术实施例提供的视频处理方法。其具体实现方式可参考前文描述,此处不再赘述。
[0150]
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
[0151]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
[0152]
以上所揭露的仅为本技术部分实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1