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

音视频合拍处理方法、装置、终端设备及存储介质与流程

2022-10-26 19:05:19 来源:中国专利 TAG:


1.本技术涉及音视频合成技术领域,具体涉及一种音视频合拍处理方法、装置、终端设备、计算机可读存储介质及计算机程序产品。


背景技术:

2.随着手机、平板电脑等终端设备的普及,通过拍照、录像来记录和分享生活越来越流行。人们可以利用手机摄像头录制舞蹈视频,通过后期处理,制作完成舞蹈作品,分享在朋友圈或视频平台,获得更多乐趣。
3.但是,在利用手机制作舞蹈视频时,常常因手机硬件配置差异,导致舞蹈作品中音频的节奏与视频中的舞者动作不一致,使得用户使用体验很差,降低用户的使用满意度。


技术实现要素:

4.有鉴于此,本技术实施例提供一种音视频合拍处理方法、装置、终端设备、服务端、计算机可读存储介质及计算机程序产品,用于解决至少一种技术问题。
5.第一方面,本技术实施例提供一种音视频合拍处理方法,应用于终端设备,所述方法包括:响应于接收到开始指令,控制所述终端设备开始录制音频和视频,且同时控制电子设备开始外放指定音频数据;其中,录制音频包括对电子设备外放所述指定音频数据时的声音进行录制,录制视频包括对所述电子设备外放所述指定音频数据时的指定目标进行录像;响应于接收到结束指令,控制所述终端设备终止录制音频和视频,得到第一音频数据和第一视频数据;对所述第一音频数据和所述指定音频数据进行匹配处理,以确定所述第一音频数据与所述指定音频数据之间的时间差;基于所述时间差对所述指定音频数据进行偏移处理,得到目标音频数据;以及将所述目标音频数据与所述第一视频数据进行合成,得到音频与视频合拍的音视频文件。
6.根据本技术实施例的方法,所述对所述第一音频数据和所述指定音频数据进行匹配处理,以确定所述第一音频数据与所述指定音频数据之间的时间差,包括:提取所述第一音频数据中指定时间段的数据片段;提取所述指定音频数据中指定时间段的数据片段;对所述第一音频数据的数据片段和所述指定音频数据的数据片段进行匹配处理,以确定所述第一音频数据与所述指定音频数据之间的时间差。
7.根据本技术实施例的方法,所述第一音频数据和所述指定音频数据的时长均大于第一时长阈值,所述对所述第一音频数据和所述指定音频数据进行匹配处理,以确定所述第一音频数据与所述指定音频数据之间的时间差,包括:获取所述第一音频数据中的头部数据片段a1、中部数据片段b1和尾部数据片段c1;获取所述指定音频数据中的头部数据片段a2、中部数据片段b2和尾部数据片段c2;分别对头部数据片段a1、中部数据片段b1和尾部数据片段c1与头部数据片段a2、中部数据片段b2和尾部数据片段c2进行匹配处理,获得头部数据时间差、中部数据时间差和尾部数据时间差;以及将所述头部数据时间差、中部数据时间差和尾部数据时间差三者的平均值作为所述第一音频数据和所述指定音频数据之间
的时间差。
8.根据本技术实施例的方法,所述第一时长阈值为15s。
9.根据本技术实施例的方法,所述第一音频数据和所述指定音频数据的时长均落入第一时长范围,所述对所述第一音频数据和所述指定音频数据进行匹配处理,以确定所述第一音频数据与所述指定音频数据之间的时间差,包括:获取所述第一音频数据中的头部数据片段d1和尾部数据片段e1;获取所述指定音频数据中的头部数据片段d2和尾部数据片段e2;分别对头部数据片段d1和尾部数据片段e1与头部数据片段d2、尾部数据片段e2进行匹配处理,获得头部数据时间差和尾部数据时间差;将所述头部数据时间差和尾部数据时间差的平均值作为所述第一音频数据和所述指定音频数据之间的时间差。
10.根据本技术实施例的方法,所述第一时长范围是10s-15s。
11.根据本技术实施例的方法,所述第一音频数据和所述指定音频数据的时长均落入第二时长范围,所述对所述第一音频数据和所述指定音频数据进行匹配处理,以确定所述第一音频数据与所述指定音频数据之间的时间差,包括:获取所述第一音频数据中的头部数据片段f1;获取所述指定音频数据中的头部数据片段f2;分别对头部数据片段f1与头部数据片段f2进行匹配处理,获得头部数据时间差;将所述头部数据时间差作为所述第一音频数据和所述指定音频数据之间的时间差。
12.根据本技术实施例的方法,所述第二时长范围是5s-10s。
13.根据本技术实施例的方法,所述基于所述时间差对所述指定音频数据进行偏移处理,包括:在所述指定音频数据的头部加入静音帧,所述静音帧的时长根据所述时间差确定。
14.根据本技术实施例的方法,所述指定音频数据包括歌曲的音频数据;所述指定目标包括用户;所述电子设备与所述终端设备是同一个设备,或者,所述电子设备与所述终端设备不是同一个设备。
15.根据本技术实施例的方法,所述对所述第一音频数据和所述指定音频数据进行匹配处理,以确定所述第一音频数据与所述指定音频数据之间的时间差,包括:利用短时傅里叶变换将所述第一音频数据和所述指定音频数据分别变换为第一频域数据和第二频域数据;利用滑动时间窗对所述第一频域数据与所述第二频域数据进行特征对比,当所述第一频域数据和所述第二频域数据差异最小时,获取所述第一频域数据相对于所述第二频域数据的偏移量;基于所述偏移量确定所述第一音频数据和所述指定音频数据之间的时间差。
16.根据本技术实施例的方法,所述基于所述偏移量确定所述第一音频数据和所述指定音频数据之间的时间差,包括:利用下式计算所述时间差:
17.delay=window_offset
×
window_length/sample_rate;
18.其中,delay为所述第一音频数据和所述指定音频数据之间的时间差;window_offset为所述第一频域数据相对于所述第二频域数据的偏移量;sample_rate为滑动时间窗内的音频采样率,window_length为滑动时间窗内的采样点数目。
19.根据本技术实施例的方法,在所述控制终端设备开始录制音频和视频,且同时控制电子设备开始外放指定音频数据之前,所述方法还包括:间隔预定时长。
20.根据本技术实施例的方法,在所述对所述第一音频数据和所述指定音频数据进行匹配处理,以确定所述第一音频数据与所述指定音频数据之间的时间差之前,还包括:如果
所述第一音频数据和所述指定音频数据的音频参数不一致,则对所述指定音频收据进行音频重采样,以统一所述第一音频数据和所述指定音频数据的音频参数;其中音频参数包括采样频率、声道数和量化位数。
21.第二方面,本技术实施例提供一种音视频合拍的处理装置,包括:第一控制模块,用于响应于接收到开始指令,控制终端设备开始采集音频,且同时控制电子设备开始外放指定音频数据;其中,录制音频包括对电子设备外放所述指定音频数据时的声音进行录制,录制视频包括对所述电子设备外放所述指定音频数据时的指定目标进行录像;第二控制模块,用于响应于接收到结束指令,控制所述终端设备终止录制音频和视频,得到第一音频数据和第一视频数据;匹配处理模块,用于对所述第一音频数据和所述指定音频数据进行匹配处理,以确定所述第一音频数据与所述指定音频数据之间的时间差;偏移处理模块,用于基于所述时间差对所述指定音频数据进行偏移处理,得到目标音频数据;以及合成处理模块,用于将所述目标音频数据与所述第一视频数据进行合成,得到音频与视频合拍的音视频文件。
22.第三方面,本技术的实施例提供一种终端设备,所述终端设备包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如上所述的方法的步骤。
23.第四方面,本技术的实施例提供一种计算机可读存储介质,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如上所述的方法的步骤。
24.第五方面,本技术的实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序指令,所述计算机程序指令被处理器执行时实现如上所述的方法。
25.按照本技术实施例提供的方案,通过终端设备录制的第一音频数据和外放的指定音频数据进行匹配,确定二者之间的时间差,基于时间差对指定音频数据进行偏移处理,得到目标音频数据,从而消除终端设备在外放指定音频数据时的延迟时间,将目标音频数据与终端设备录制的视频文件进行合成,可获得音频与视频的节奏合拍、同步的视听效果,提高用户的使用满意度。
附图说明
26.为了更清楚地说明本技术实施例的技术方案,以下对本技术实施例中的附图作简单介绍。
27.图1是根据本技术实施例的音视频合拍处理方法的流程框图;
28.图2是根据本技术实施例的终端设备工作的时序图;
29.图3是根据本技术实施例的终端设备模块工作的示意图;
30.图4是根据本技术实施例的音视频合拍处理装置的结构示意图;
31.图5是根据本技术实施例的终端设备的结构示意图;
32.图6是根据本技术实施例的终端设备的软件结构示意图。
具体实施方式
33.以下将参考若干示例性实施方式来描述本技术的原理和精神。应当理解,提供这
些实施方式的目的是为了使本技术的原理和精神更加清楚和透彻,使本领域技术人员能够更好地理解进而实现本技术的原理和精神。本文中提供的示例性实施方式仅是本技术的一部分实施方式,而不是全部的实施方式。基于本文中的实施方式,本领域普通技术人员在不付出创造性劳动前提下所获得的所有其他实施方式,都属于本技术保护的范围。
34.本领域技术人员知晓,本技术的实施方式可以实现为一种系统、装置、设备、方法、计算机可读存储介质或计算机程序产品。因此,本技术可以具体实现为以下至少一种形式:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件与软件结合的形式。根据本技术的实施方式,本技术请求保护一种音视频合拍处理方法、装置、终端设备、服务端及计算机可读存储介质。
35.在本文中,诸如第一、第二、第三之类的用语,仅用来将一个实体(或操作)与另一个实体(或操作)区分开来,而不在于要求或暗示这些实体(或操作)之间存在任何顺序或关联。
36.在利用终端设备录像时,终端设备系统通过音频采集模块和视频采集模块采集音频和视频,并通过音频播放模块播放音频数据(例如一段音乐)。在录像完成后,因录制采集的音频有可能带有环境中的噪音,因此并不直接使用录制的音视频文件,而是需要将该段音乐的原本的音频数据与采集的视频数据进行合成,避免噪音的干扰。但是,音频播放模块在调用系统播放接口时会有一段延迟,当用户听到音频播放出来时,视频已经采集了一段时间。如果直接将采集的视频数据和播放的音频数据进行数据头部对齐合成,将导致合成后音视频不同步的问题。以利用终端设备录制用户跳舞场景为例,音频采集模块采集用户跳舞时环境中的声音,视频采集模块采集用户的舞蹈画面,音频播放模块播放与舞蹈动作相关的歌曲。用户在开始跳舞时,音频播放模块将音频数据通过扬声器广播声音,该过程存在一段延迟时间,导致采集的视频数据与播放音频数据合成后,采集的视频中用户的舞蹈动作与播放音频数据的节奏不合拍,出现视听不同步的问题。
37.针对上述问题,本技术提出一种音视频合拍处理方法。图1是根据本技术实施例的音视频合拍处理方法的流程框图,该方法应用于终端设备,包括以下步骤:
38.s101,响应于接收到开始指令,控制该终端设备开始录制音频和视频,且同时控制电子设备开始外放指定音频数据;其中,录制音频包括对电子设备外放该指定音频数据时的声音进行录制,录制视频包括对该电子设备外放该指定音频数据时的指定目标进行录像;
39.s102,响应于接收到结束指令,控制该终端设备终止录制音频和视频,得到第一音频数据和第一视频数据;
40.s103,对该第一音频数据和该指定音频数据进行匹配处理,以确定该第一音频数据与该指定音频数据之间的时间差;
41.s104,基于该时间差对该指定音频数据进行偏移处理,得到目标音频数据;
42.s105,将该目标音频数据与该第一视频数据进行合成,得到音频与视频合拍的音视频文件。
43.本技术实施例通过终端设备录制的第一音频数据和外放的指定音频数据进行匹配,确定二者之间的时间差,基于时间差对指定音频数据进行偏移处理,得到目标音频数据,从而消除终端设备在外放指定音频数据时的延迟时间,使得合成后音频数据与终端设
备录制的视频内容的节奏同步、合拍,提高用户的使用满意度。
44.在本技术实施例中,可选地,对该第一音频数据和该指定音频数据进行匹配处理,以确定该第一音频数据与该指定音频数据之间的时间差,可通过如下处理实现:
45.s11,提取该第一音频数据中指定时间段的数据片段;
46.s12,提取该指定音频数据中指定时间段的数据片段;
47.s13,对该第一音频数据的数据片段和该指定音频数据的数据片段进行匹配处理,以确定该第一音频数据与该指定音频数据之间的时间差。
48.如果对第一音频数据和指定音频数据的全部数据进行匹配,需要消耗比较长的时间,存在匹配效率低的问题。因此,本技术的实施例可设置为分别提取第一音频数据和指定音频数据中指定时间段的数据片段,通过对数据片段进行匹配,可以确定第一音频数据与指定音频数据之间的时间差,如此,能够缩短匹配时间,提高匹配速度,优化用户的使用体验。
49.在本技术实施例中,可选地,该第一音频数据和该指定音频数据的时长均大于第一时长阈值,该对该第一音频数据和该指定音频数据进行匹配处理,以确定该第一音频数据与该指定音频数据之间的时间差,可通过如下处理实现:
50.s21,获取该第一音频数据中的头部数据片段a1、中部数据片段b1和尾部数据片段c1;
51.s22,获取该指定音频数据中的头部数据片段a2、中部数据片段b2和尾部数据片段c2;
52.s23,分别对头部数据片段a1、中部数据片段b1和尾部数据片段c1与头部数据片段a2、中部数据片段b2和尾部数据片段c2进行匹配处理,获得头部数据时间差、中部数据时间差和尾部数据时间差;以及
53.s24,将该头部数据时间差、中部数据时间差和尾部数据时间差三者的平均值作为该第一音频数据和该指定音频数据之间的时间差。
54.在提取第一音频数据和指定音频数据的数据片段时,可以考虑提取数据片段的数量。数据片段的数量太少,有可能影响匹配结果的准确性。数据片段的数量太多,将增加匹配处理的时长,达不到提高匹配速度的目的。因此,当第一音频数据和该指定音频数据的时长均大于第一时长阈值时,获取3个数据片段,包括第一音频数据中的头部数据片段a1、中部数据片段b1和尾部数据片段c1;同理,获取该指定音频数据中的头部数据片段a2、中部数据片段b2和尾部数据片段c2。如此,既能够保证匹配结果的准确性,又能够提高匹配速度。
55.在本技术实施例中,可选地,该第一时长阈值可以为12s、15s、17s、20s、更长或者更短。举例而言,当第一时长阈值为22s时,头部数据片段、中部数据片段和尾部数据片段的时长可以是5s、6s或其他时长。
56.本技术的实施例基于音频数据的总时长,分别提取音频数据不同位置的数据片段,将多个数据片段时间差的平均值作为最终的时间差,能够避免噪声对确定时间差的影响,提高时间差的准确性。
57.在本技术实施例中,可选地,该第一音频数据和该指定音频数据的时长均落入第一时长范围,该对该第一音频数据和该指定音频数据进行匹配处理,以确定该第一音频数据与该指定音频数据之间的时间差,可通过如下处理实现:
58.s31,获取该第一音频数据中的头部数据片段d1和尾部数据片段e1;
59.s32,获取该指定音频数据中的头部数据片段d2和尾部数据片段e2;
60.s33,分别对头部数据片段d1和尾部数据片段e1与头部数据片段d2、尾部数据片段e2进行匹配处理,获得头部数据时间差和尾部数据时间差;
61.s34,将该头部数据时间差和尾部数据时间差的平均值作为该第一音频数据和该指定音频数据之间的时间差。
62.在本技术实施例中,可选地,该第一时长范围是10s-15s。
63.当第一音频数据和指定音频数据的时长均落入第一时长范围即10s-15s时,获取该第一音频数据中的头部数据片段d1和尾部数据片段e1;获取该指定音频数据中的头部数据片段d2和尾部数据片段e2。如此,既能够保证确定时间差的准确性,又能够提高匹配速度。其中获取的头部数据片段和尾部数据片段的时长可以是5s、6s或其他时长。
64.在本技术实施例中,可选地,该第一音频数据和该指定音频数据的时长均落入第二时长范围,该对该第一音频数据和该指定音频数据进行匹配处理,以确定该第一音频数据与该指定音频数据之间的时间差,可通过如下处理实现:
65.s41,获取该第一音频数据中的头部数据片段f1;
66.s42,获取该指定音频数据中的头部数据片段f2;
67.s43,分别对头部数据片段f1与头部数据片段f2进行匹配处理,获得头部数据时间差;
68.s44,将该头部数据时间差作为该第一音频数据和该指定音频数据之间的时间差。
69.在本技术实施例中,可选地,该第二时长范围是5s-10s。
70.当第一音频数据和指定音频数据的时长均落入第二时长范围即5s-10s时,获取该第一音频数据中的头部数据片段f1;获取该指定音频数据中的头部数据片段f2。如此,既能够保证确定时间差的准确性,又能够提高匹配速度。其中获取的头部数据片段可以是5s、6s或其他时长。在本技术的一个实施例中,当第一音频数据和指定音频数据的时长均小于5s时,将无法完成匹配第一音频数据和指定音频数据之间的时间差操作。第一音频数据和指定音频数据时长太短,将进一步压缩获取数据片段的时长,导致确定时间差准确性不高。因此,当第一音频和指定音频数据的时长均小于5s时,可以提示用户:录制时长太短,请重新录制。
71.在本技术实施例中,可选地,基于该时间差对该指定音频数据进行偏移处理,可通过如下处理实现:在该指定音频数据的头部加入静音帧,该静音帧的时长根据该时间差确定。
72.其中,静音帧与指定音频数据的音频参数相同。音频参数包括但不限于采样频率、声道数和量化位数。在指定音频数据的头部加入与时间差相同时长的静音帧,得到目标音频数据,目标音频数据与第一视频数据中的节奏同步、合拍。通过在指定音频数据加入静音帧的方式,对齐目标音频和第一视频数据,具有处理方法简单,处理时间短等优点。
73.在本技术实施例中,可选地,该指定音频数据包括歌曲的音频数据;该指定目标可以是当前环境中的任何人,例如终端设备的使用者、终端设备拍摄的目标人或团体;该电子设备与该终端设备可以是同一个设备,或者,该电子设备与该终端设备也可以不是同一个设备。
74.指定音频数据可以是歌曲的音频数据,指定目标可以是终端用户。在用户利用终端设备录制舞蹈视频的场景中,用户在听到电子设备外放的歌曲时,根据歌曲的节奏进行跳舞;同时,终端设备摄像头录制用户的跳舞动作,得到第一视频数据。
75.如果电子设备与终端设备是同一个设备,也即利用终端设备(例如一部智能手机)录制音频和视频,同时利用该手机外放指定音频数据。经过测试,对于采用同一终端设备外放指定音频数据并同时录制音视频的情况,形成的音频延迟时长大约在30ms-300ms范围内,利用本技术的实施例,能够通过音频数据匹配以及偏移处理的方式补偿该延迟,使合成的文件中音乐与画面同步、合拍,不会出现音乐节奏早于或晚于画面节奏的情况。
76.如果电子设备与终端设备不是同一个设备,例如电子设备可以是专门的音频播放设备(例如普通音箱、功放音箱、带扬声器的音乐播放器等等),音频播放设备与终端设备通信连接(例如蓝牙连接或其他协议连接),终端设备可将指定音频数据发送至音频播放设备进行播放。经过测试,利用音频播放设备外放指定音频数据,同时利用终端设备例如智能手机录制音视频文件的情况,形成的音频延迟时长大约在200ms-2000ms范围内,也就是说,如果不加处理而将指定音频数据与手机录制的视频画面进行合成,画面节奏会落后于音频的节奏,落后的时长约为200ms-2000ms。利用本技术的方案,可确定精确的延迟时长,通过偏移处理,例如加入等长度的静音帧,能够使合成后视频中音频和视频同步,大大改善用户的使用体验。
77.在本技术实施例中,可选地,对该第一音频数据和该指定音频数据进行匹配处理,以确定该第一音频数据与该指定音频数据之间的时间差,包括:利用短时傅里叶变换将该第一音频数据和该指定音频数据分别变换为第一频域数据和第二频域数据;利用滑动时间窗对该第一频域数据与该第二频域数据进行特征对比,当该第一频域数据和该第二频域数据差异最小时,获取该第一频域数据相对于该第二频域数据的偏移量;基于该偏移量确定该第一音频数据和该指定音频数据之间的时间差。
78.利用短时傅里叶变换将第一音频数据和指定音频数据分别变换为第一频域数据和第二频域数据。通过对比第一频域数据和第二频域数据中的特征,能够快速得到第一音频数据与指定音频数据之间的时间差。相对于直接对比第一音频数据和指定音频数据,利用短时傅里叶变换将音频数据的类型从时域变换为频域,降低了对比难度,减少计算量,提高了对比速度。进一步地,通过第一频域数据相对于该第二频域数据的偏移量,能够准确确定第一音频数据和指定音频数据之间的时间差。
79.在本技术实施例中,可选地,基于该偏移量确定该第一音频数据和该指定音频数据之间的时间差,包括:利用下式计算该时间差:
80.delay=window_offset
×
window_length/sample_rate;
81.其中,delay为该第一音频数据和该指定音频数据之间的时间差;window_offset为该第一频域数据相对于该第二频域数据的偏移量;sample_rate为滑动时间窗内的音频采样率,window_length为滑动时间窗内的采样点数目。
82.基于该第一频域数据相对于该第二频域数据的偏移量、滑动时间窗内的音频采样率和滑动时间窗内的采样点数目,能够快速、准确得到第一音频数据和该指定音频数据之间的时间差。
83.在本技术实施例中,可选地,在该控制终端设备开始录制音频和视频,且同时控制
电子设备开始外放指定音频数据之前,可先间隔预定时长,然后开始录制。
84.间隔预定时长可以包括终端设备上的音频采集模块、视频采集模块和音频播放模块初始化的时间。终端设备接收到开始指令,音频采集模块、视频采集模块和音频播放模块初始化完成后,开始录制音频和视频,并外放指定音频数据。音频采集模块、视频采集模块和音频播放模块的初始化时长不同,若初始化完成后利用立即开始工作,将导致录制音频、录制视频和外放指定音频数据不同步的问题。因此,间隔预定时长后,保证音频采集模块、视频采集模块和音频播放模块初始化完成后,同时开始录制音频和视频与外放指定音频数据,保证录制的音频和视频同步。其中,预定时长应分别大于音频采集模块、视频采集模块和音频播放模块初始化的时长,预定时长可在8s-12s范围内。优选地,预定时长可以是10s。
85.在本技术实施例中,可选地,在对该第一音频数据和该指定音频数据进行匹配处理,以确定该第一音频数据与该指定音频数据之间的时间差之前,还包括:如果该第一音频数据和该指定音频数据的音频参数不一致,则对该指定音频收据进行音频重采样,以统一该第一音频数据和该指定音频数据的音频参数;其中音频参数包括采样频率、声道数和量化位数。
86.指定音频数据可以是终端设备本地的音频数据,也可以是从服务器获得的音频数据。音频数据来源不同,有可能存在第一音频数据和指定音频数据的音频参数不同的问题。将指定音频数据进行音频重采样操作,以统一第一音频数据和指定音频数据的音频参数,能够保证确定第一音频数据和指定音频数据的时间差更加准确。
87.图2是根据本技术实施例的终端设备工作的时序图。图3是根据本技术实施例的终端设备模块工作的示意图。以下结合图2和图3,以用户利用终端设备播放舞曲音乐并录制演员跳舞视频的场景为例,说明本技术实施例的音视频合拍处理方法的处理过程。
88.在准备跳舞前,用户可以在终端设备上选择舞曲的名称。一般而言,不同的舞曲,对应不同的舞蹈动作,其中舞蹈的节拍与歌曲的节奏相对应。用户还可以在终端设备上使用美白、瘦身、更换舞蹈背景和滤镜等功能。
89.在用户准备好,开始跳舞时,在终端设备上发出开始指令。终端设备接收到开始指令,进入10秒倒计时并控制音频播放模块、音频采集模块和视频采集模块进行初始化工作。当倒计时结束后,音频采集模块开始采集音频数据,采集音频数据中包括用户跳舞时环境的声音;视频采集模块开始采集视频数据,采集视频数据中包括用户跳舞的动作画面;音频播放模块开始外放指定音频数据audio2,用户听到audio2的声音后开始根据节奏跳舞,跳舞的动作与听到的audio2的节奏相对应。其中采集用户跳舞时环境的声音包括音频播放模块播放audio2的声音。
90.当用户点击停止拍摄或者舞曲播放完毕后自动停止拍摄,发出结束指令。终端设备接收到结束指令,控制音频采集模块停止工作,得到第一音频数据audio1;控制视频采集模块停止工作,视频编码模块对采集的视频数据编码后得到第一视频数据video1。
91.将audio1和audio2发送至音频特征提取模块。首先判断audio1和audio2的时长是否大于15秒,如果大于15秒就分别截取audio1和audio2的前5秒数据、中间5秒数据和后5秒数据,得到6段数据分别为:audiofront1、audiocenter1、audioback1、audiofront2、audiocenter2、audioback2;
92.对比audio1和audio2的音频参数,音频参数包括:采样频率、声道数、量化位数,如
有不同需要对属于audio2的数据段(audiofront2、audiocenter2、audioback2)做音频重采样以统一audio1和audio2的音频参数。
93.将audiofront1和audiofront2、audiocenter1和audiocenter2、audioback1和audioback2分成三组对比数据;利用音频特征提取模块对三组数据做音频特征提取,利用特征匹配对比模块将特征提取后的三组音频数据进行匹配得到三组音频数据的对比时间差,最后对三组音频时间差求平均得到最终平均时间差即为audio1对比audio2的音频延迟delay(下称delay)。
94.在audio2的头部加入与delay时间差相等时长的静音帧得到目标音频数据audio3,然后将audio3与video1按数据头部对齐的方式合成的到音视频同步的音视频文件。本技术通过audio1和audio2对比,得到音频播放模块播放指定音频数据的delay,使得合成后视频中音频的节奏与视频中用户的舞蹈动作节拍一致,提高用户的使用满意度。
95.本领域的技术人员应当理解,本技术的方案不局限于用户录制舞蹈视频时场景中,还可以应用在用户根据伴奏录制唱歌的场景中,也可以应用在其他的场景中,在此不做限制。
96.图4是根据申请实施例的音视频合拍处理装置的结构示意图。如图4所示,处理装置100包括:
97.第一控制模块110,用于响应于接收到开始指令,控制终端设备开始采集音频,且同时控制电子设备开始外放指定音频数据;其中,录制音频包括对电子设备外放该指定音频数据时的声音进行录制,录制视频包括对该电子设备外放该指定音频数据时的指定目标进行录像。
98.第二控制模块120,用于响应于接收到结束指令,控制该终端设备终止录制音频和视频,得到第一音频数据和第一视频数据。
99.匹配处理模块130,用于对该第一音频数据和该指定音频数据进行匹配处理,以确定该第一音频数据与该指定音频数据之间的时间差。
100.偏移处理模块140,用于基于该时间差对该指定音频数据进行偏移处理,得到目标音频数据。
101.合成处理模块150,用于将该目标音频数据与该第一视频数据进行合成,得到音频与视频合拍的音视频文件。
102.需要注意,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
103.本领域技术人员应理解,本文中所描述的实施例属于优选实施例,所涉及的动作、步骤、模块或单元等并不一定是本技术实施例所必须的。在上述实施例中,本技术实施例对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
104.图5是根据本技术实施例的终端设备的结构示意图。终端设备10包括处理器11、存储器12以及用于连接处理器11和存储器12的通信总线,其中在存储器12中存储有可以在处理器11上运行的计算机程序,处理器11运行该计算机程序时可执行或称实现本技术中各个实施例的方法中的步骤。终端设备10可以是本技术实施例中的服务器,终端设备10也可以
是云端服务器。终端设备10也可以是本技术实施例中的ar设备。在合适的情况下终端设备也可称为计算设备。终端设备10还包括通信接口,用于接收和发送数据。
105.在一些实施例中,处理器11可以是中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)、应用处理器(application processor,ap)、调制解调处理器、图像信号处理器(image signal processor,isp)、控制器、视频编解码器、数字信号处理器(digital signal processor,dsp)、基带处理器、神经网络处理器(neural-network processing unit,npu)等;处理器11还可以是其他通用处理器、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或其他可编程逻辑器件、分立门或晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器,也可以是任何常规的处理器等。其中,神经网络处理器npu通过借鉴生物神经网络结构,可对输入信息快速处理,还可以不断进行自我学习。通过npu终端设备10可以实现智能认知等应用,例如图像识别、人脸识别、语义识别、语音识别、文本理解等。
106.在一些实施例中,存储器12可以是终端设备10的内部存储单元,例如终端设备10的硬盘或内存;存储器12也可以是终端设备10的外部存储设备,例如终端设备10上配备的插接式硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。存储器12还可以既包括终端设备10的内部存储单元也包括外部存储设备。存储器12可用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器12包括但不限于是随机存储记忆体(random access memory,ram)、只读存储器(read-only memory,rom)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)或便携式只读存储器(compact disc read-only memory,cd-rom)。存储器12用于存储终端设备10所执行的程序代码和所传输的数据。存储器12还可以用于暂时地存储已经输出或者将要输出的数据。
107.本领域技术人员可以理解,图5仅是终端设备10的举例,并不构成对终端设备10的限定,终端设备10可以包括比图示更多或更少的部件,或者组合某些部件,或者包括不同的部件,例如还可以包括输入输出设备、网络接入设备等。
108.图6是根据本技术实施例的终端设备的软件结构示意图。以手机操作系统为android系统为例,在一些实施例中,将android系统分为四层,分别为:应用程序层、应用程序框架层(framework,fwk)、系统层以及硬件抽象层,层与层之间通过软件接口通信。
109.首先,应用程序层可以包括多个应用程序包,应用程序包可以是例如通话、相机、视频、导航、天气、即时通讯、教育等各种应用程序app,也可以是基于ar技术的应用程序app。
110.第二,应用程序框架层fwk为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层可以包括一些预先定义的函数,例如用于接收应用程序框架层所发送的事件的函数。
111.应用程序框架层可以包括窗口管理器、资源管理器以及通知管理器等。
112.其中,窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,
电话簿等。
113.其中,资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
114.其中,通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
115.此外,应用程序框架层还可以包括视图系统,视图系统包括可视控件,例如显示文字的控件、显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的,例如短信通知图标的显示界面上可以包括显示文字的视图以及显示图片的视图。
116.第三,系统层可以包括多个功能模块,例如传感器服务模块、物理状态识别模块、三维图形处理库(例如:opengles),等等。
117.其中,传感器服务模块用于对硬件层各类传感器上传的传感器数据进行监测,确定手机的物理状态;物理状态识别模块用于对用户手势、人脸等进行分析和识别;三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
118.此外,系统层还可以包括表面管理器和媒体库。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。
119.最后,硬件抽象层是硬件和软件之间的层。硬件抽象层可以包括显示驱动、摄像头驱动、传感器驱动等,用于驱动硬件层的相关硬件,如显示屏、摄像头、传感器等。
120.本技术实施例还提供一种计算机可读存储介质,其存储有计算机程序或指令,该计算机程序或指令被执行时以实现上述实施例中所设计的方法中的步骤。
121.本技术实施例还提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被执行时以实现上述实施例中所设计的方法中的步骤。示例性的,该计算机程序产品可以为一个软件安装包。
122.关于上述实施例中描述的各个装置/产品,其中包含的模块/单元可以是软件模块/单元,也可以是硬件模块/单元,还可以部分是软件模块/单元,部分是硬件模块/单元。例如,对于应用或集成于芯片的装置/产品,其包含的各个模块/单元可以都用电路等硬件的方式实现,或者,至少部分模块/单元采用软件程序的方式实现,运行于芯片内部集成的处理器,剩余的部分模块/单元采用电路等硬件方式实现。又如,对于应用或集成于终端的装置/产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元采用软件程序的方式实现,运行于终端内部集成的处理器,剩余部分模块/单元可以采用电路等硬件方式实现。
123.以上所述,仅为本技术的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,
这些修改或替换都应涵盖在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献