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

一种空间音频的播放方法及设备与流程

2022-02-22 22:23:59 来源:中国专利 TAG:
一种空间音频的播放方法及设备与流程

本申请涉及沉浸式音频技术领域,尤其涉及一种空间音频的播放方法及设备。

背景技术

空间音频(Spatial Audio)的本质是″计算音频″,它将声源模拟为空间中固定位置的音响设备,当用户头部转动或者设备移动时,仍能感受到身临其境的环绕声体验,如图1所示。在空间音频中,虚拟声源比立体声更宽广、更丰富。

具有空间音频功能的播放器,声音可以随用户的运动变化而变化,带来真正的沉浸式体验。目前,一些播放引擎(如:Unity/Unreal等3D游戏引擎)提供了空间音频插件(Plugin)扩展接口,然而,这些引擎却没有强大的功能模块来支撑虚拟现实(Virtual Reality,VR)音频播放器的开发,现有的主流播放器又不提供空间音频功能。因此,在播放器中实现空间音频功能以满足VR场景的需求成为了研究热点。



技术实现要素:

本申请实施例提供了一种空间音频的播放方法及设备,用以实现空间音频的播放功能,提升沉浸式体验。

第一方面,本申请实施例提供一种空间音频的播放方法,包括:

从目标音视频中分离出目标视频和目标音频,并对所述目标音频进行脉冲编码调制PCM,得到初始PCM数据并缓存,所述初始PCM数据与所述目标音频的声道数相同;

按照预设帧率,同步获取声源位置信息和头部位姿信息;

在目标对象处于封闭空间时,获取所述目标对象所在空间的环境参数;

根据所述声源位置信息和所述头部位姿信息,以及所述环境参数,对所述初始PCM数据进行空间音效处理,得到目标PCM数据,所述目标PCM数据与所述初始PCM数据的声道数相同;

对所述目标PCM数据进行混合,得到声道数满足预设要求的混合PCM数据;

同步播放所述混合PCM数据和所述目标视频。

第二方面,本申请实施例提供一种音视频播放器,包括音视频分离单元、解码单元、预处理单元、立方体空间单元、音频混合单元、播放单元;

音视频分离单元将目标音视频分离为目标视频和目标音频,由解码单元对目标音频进行脉冲编码调制PCM,得到初始PCM数据,并通过第一接口将初始PCM数据发送给预处理单元;所述初始PCM数据与所述目标音频的声道数相同;

预处理单元对所述初始PCM数据进行缓存,并按照预设帧率,同步获取声源位置信息和头部位姿信息,将所述初始PCM数据、所述声源位置信息和所述头部位姿信息通过第二接口发送给所述空间音频单元;

当目标对象处于封闭空间时,立方体空间单元调用第三接口获取所述目标对象所在空间的环境参数,并通过第四接口发送给所述空间音频单元;

所述空间音频单元根据所述预处理单元发送的所述声源位置信息和所述头部位姿信息,以及所述立方体空间单元发送的所述环境参数,对所述初始PCM数据进行空间音效处理,得到目标PCM数据,并通过第五接口发送给所述音频混合单元,所述目标PCM数据与所述初始PCM数据的声道数相同;

所述音频混合单元对所述目标PCM数据进行混合,得到声道数满足预设要求的混合PCM数据;

所述播放单元同步播放混合PCM数据和所述目标视频。

第三方面,本申请实施例提供一种播放设备,包括存储器、处理器、扬声器、显示器,所述存储器、所述扬声器、所述显示器和所述处理器通过总线连接;

所述存储器中存储有计算机程序,所述处理器在执行所述计算机程序时,执行以下操作:

从目标音视频中分离出目标视频和目标音频,并对所述目标音频进行脉冲编码调制PCM,得到初始PCM数据并缓存,所述初始PCM数据与所述目标音频的声道数相同;

按照预设帧率,同步获取声源位置信息和头部位姿信息;

在目标对象处于封闭空间时,获取所述目标对象所在空间的环境参数;

根据所述声源位置信息和所述头部位姿信息,以及所述环境参数,对所述初始PCM数据进行空间音效处理,得到目标PCM数据,所述目标PCM数据与所述初始PCM数据的声道数相同;

对所述目标PCM数据进行混合,得到声道数满足预设要求的混合PCM数据;

由所述扬声器播放所述混合PCM数据,同时,由所述显示器显示所述目标视频。

第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使音视频播放器执行空间音频的播放方法。

本申请的上述实施例中,将目标音视频分离为目标视频和目标音频后,对目标音频进行了PCM处理并缓存,通过获取的声源位置信息和头部位姿信息,以及目标对象所在真实空间的第一环境参数和虚拟空间的第二环境参数,对初始PCM数据进行空间音效处理,得到目标PCM数据,经混合后与目标视频同步播放,由于目标PCM数据是经过空间音效处理后得到的,所以,混合后的PCM数据与目标视频同步播放时,声音可以随目标对象的运动而运动,随场景的切换而自适应变换,从而实现空间音频的效果,提升目标对象的沉浸式体验。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1示例性示出了本申请实施例提供的空间音频示意图;

图2示例性示出了本申请实施例提供的场景切换效果图;

图3示例性示出了本申请实施例提供的头部转动效果图;

图4示例性示出了本申请实施例提供的身体移动效果图;

图5示例性示出了本申请实施例提供的空间音频的播放方法流程图;

图6示例性示出了本申请实施例提供的完整的空间音频的播放方法流程图;

图7示例性示出了本申请实施例提供的空间音频播放方法的效果图;

图8示例性示出了本申请实施例提供的音视频播放器的功能架构图;

图9示例性示出了本申请实施例提供的播放设备的硬件结构。

具体实施方式

为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。

基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。

需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。

本申请中说明书和权利要求书及上述附图中的术语″第一″、″第二″等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明(Unless otherwise indicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。

此外,术语″包括″和″具有″以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。

本申请中使用的术语″模块″,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。

实际生活中,用户佩戴VR设备观看视频时,会有场景切换、头部转动、身体移动等情况,这些情况会引起视觉上的变化,而声音却保持不变,无法达到空间音频的效果,影响了用户的沉浸式体验。

例如,图2为观看VR视频时场景切换的情况,如图2示出的,当在天台、客厅、巨幕影院、私人影院四个场景下进行切换时,播放器能满足场景切换带来的视觉上的变化,而不同场景下的声音却保持不变,影响了用户沉浸式音频的体验。

再例如,图3为观看VR视频时头部转动的情况,如图3示出的,观看VR视频时,用户头部转向不同的方向,显示屏幕相对于头部方向是变换的,能够引起视觉上的变化,而声音却始终为同一方向发出的,不能随头部的运动而变化,影响了用户沉浸式音频的体验。

再例如,图4为观看VR视频时身体移动的情况,如图4示出的,用户佩戴VR设备在虚拟空间移动时,用户相对于显示屏幕的距离和方向都在变化,反映在视觉上为VR视频的分辨率变化和视角变化,而声音却不随距离和方向的变化而变化,影响了用户沉浸式音频的体验。

目前,实现空间音频功能的方式主要有两种,一是将空间音频算法模块和音视频解码模块作为播放引擎的插件,利用播放引擎的音频播放模块实现空间音频音效,然而,这种方式只对集成到工程中的音频文件实现空间音频音效,不能用于灵活的播放本地或者在线音视频,这种方式常用于3D游戏场景中以满足空间音频的需求;二是将空间音频算法模块和一个主流视频播放器(如:ExoPlayer)一起集成到VR设备的软件开发工具包(Software Development Kit,SDK)中,这种方式导致VR设备中的SDK非常冗余,并且视频播放器的空间音频功能受限于VR设备的系统平台。

鉴于此,本申请实施例提供了一种空间音频的播放方法和播放器,该方法可以集成到任何主流音视频播放器的空间音频软件模块,在VR设备的视频播放器上实现空间音频功能,不受VR设备系统平台限制,也不受播放器类型的限制,可以灵活的实现任何音频文件的空间音频音效。

图5为本申请实施例提供的空间音频的播放方法流程图,如图5所示,该方法应用于音视频播放器,主要包括以下几步:

S501:从目标音视频中分离出目标视频和目标音频,并对目标音频进行脉冲编码调制PCM,得到初始PCM数据并缓存。

本申请的实施例中,分离后目标音频的声道数与目标音视频的声道数一致。其中,目标音视频的分离可采用软件方式实现,也可以采用硬件方式实现,本申请不做限制性要求。

例如,一种可选的实施方式为,采用深度学习算法,预先训练音视频分离模型,将目标音视频输入至训练的音视频分离模型,得到目标视频和目标音频。

再例如,另一种可选的实施方式为,音视频播放器包含音视频分离芯片,音视频分离芯片上设置有HDMI接口,音视频播放器通过HDMI总线和HDMI接口,将目标音视频发送给音视频分离芯片,音视频分离芯片将目标音视频分离为目标视频和目标音频。

在S501中,分离出目标音频后对目标音频进行脉冲编码调制(Pulse Code Modulation,PCM),得到初始PCM数据并缓存,初始PCM数据与目标音频的声道数相同。其中,初始PCM数据是未经压缩的音频采样数据裸流,它是由模拟信号经过采样、量化、编码转换成的标准数字音频数据。

S502:按照预设帧率,同步获取声源位置信息和头部位姿信息。

执行S502时,获取根据声源位置信息和头部位姿信息的过程中,可分别记录获取源位置信息的时间戳和获取头部位姿信息的时间戳,若时间戳一致,则表明声源位置信息和头部位姿信息是同步的。

其中,根据音视频播放器所在的设备不同,头部位姿信息的获取方式不同。

针对VR设备(如:VR眼镜),目标对象的头部位姿信息可根据VR设备自身的SDK实时获取。

针对电视、手机、电脑等设备,可通过对相机(Camera)采集的图像使用人体定位算法实时获取目标对象的头部位姿信息。

例如,一种可选的实施方式中,智能电视中的摄像头对采集的图像进行人脸识别并检测与目标对象的距离,基于识别和检测结果,确定目标对象的头部位姿信息。

需要说明的是,帧率大小可根据实际需求进行设置,例如,根据目标视频的播放帧率进行设置。

S503:在目标对象处于封闭空间时,获取目标对象所在空间的环境参数。

在本申请的实施例中,环境参数以立方体为基础形态,包括立方体的大小、六个面的有无、材质、厚度、粗糙度、声音反射率、混响属性中的至少一个。该环境参数可以为目标对象所在真实空间的环境参数(记为第一环境参数),还可以为目标对象所在虚拟空间的环境参数(记为第二环境参数)。

一种可选的实施方式中,执行S503时,针对真实空间,音视频播放器通过XR(VR、AR、MR的总称)设备的SDK获取目标对象所在真实空间的第一环境参数,或者通过电视、手机、电脑等设备的图像处理算法获取目标对象所在真实空间的第一环境参数;针对虚拟空间,通过通信接口,获取播放引擎(如:Unity3D/Unreal等3D游戏引擎)创建的虚拟空间的第二环境参数。

在另一种可选的实施方式中,执行S503时,还可以通过设备的图形界面,接收目标对象手动输入的第一环境参数或第二环境参数。

S504:根据声源位置信息和头部位姿信息,以及环境参数,对初始PCM数据进行空间音效处理,得到目标PCM数据。

在S504中,目标PCM数据与初始PCM数据的声道数相同,目标PCM数据的声道数为目标音视频的声道数。

在一种可选的实施方式中,执行S504时,通过声源位置信息和头部位姿信息,改变初始PCM数据相对于目标对象的方向和距离,以及,通过环境参数,对初始PCM数据在空间中进行反射、衍射、遮挡、混响中的至少一项处理,将初始PCM数据处理为由方向变化、距离变化、空间环境反射、衍射、遮挡、混响音效的目标PCM数据,从而实现空间音频的功能。

S505:对目标PCM数据进行混合,得到声道数满足预设要求的混合PCM数据。

在S505中,根据音视频播放器中扬声器的数量对目标PCM数据进行混音,使混合PCM数据的声道数为扬声器的数量。

S506:同步播放混合PCM数据和目标视频。

在一种可选的实施方式中,执行S506时,选取一个参考时钟,将混合PCM数据和目标视频的时间向参考时钟对齐,从而实现混合PCM数据和目标视频的同步播放。播放过程中,由显示屏幕显示目标视频,同时,由扬声器播放混合PCM数据。

在另一些实施例中,当目标对象处于开阔空间时,即默认立方体没有六个面,无需获取环境参数,则在执行S504时,根据声源位置信息和VR设备位姿信息,对初始PCM数据进行空间音效处理。

图6示例性示出了本申请实施例提供的完整的空间音频的播放方法流程图,如图6所示,主要包括以下几步:

S601:从目标音视频中分离出目标视频和目标音频,目标音频的声道数与目标音视频的声道数相同。

S602:对目标音频进行PCM,得到初始PCM数据并缓存。

S603:按照预设帧率,从3D场景引擎对应的虚拟空间中的声源位置信息,并记录时间戳。

S604:按照预设帧率,通过SDK获取目标对象的头部位姿信息,并记录时间戳。

S605:根据时间戳同步初始PCM数据对应的声源位置信息和头部位姿信息。

S606:确定目标对象是否处于封闭空间,若是,执行S607,否则,执行S609。

S607:通过SDK获取目标对象所在真实空间的第一环境参数,或者,从3D场景引擎对应的虚拟空间中获取第二环境参数。

S608:根据声源位置信息和头部位姿信息,改变初始PCM数据相对于目标对象的方向和距离,以及,通过第一环境参数或第二环境参数,对初始PCM数据在空间中进行反射、衍射、遮挡、混响中的至少一项处理,得到目标PCM数据。

S609:根据声源位置信息和头部位姿信息,改变初始PCM数据相对于目标对象的方向和距离,得到目标PCM数据。

S610:对目标PCM数据进行混合,得到声道数满足预设要求的混合PCM数据。

S611:同步播放混合PCM数据和目标视频。

以图3所示的头部转动的场景为例,图7为本申请是实施例提供的目标音视频的播放效果,如图7示出的,当采用本申请实施例提供的空间音频方法播放目标音视频时,可以看到声音和画面均随着目标头部的转动而变化,从而实现空间音频的效果,提升目标对象的沉浸式体验。

本申请上述实施例中的空间音频播放方法,可集成到任何播放器中。以音视频播放器为例,图8示例性示出了本申请实施例提供的音视频播放器的系统架构图,如图8所示,音视频播放器包括音视频分离单元801、解码单元802、预处理单元803、立方体空间单元804、空间音频单元805、音频混合单元806、播放单元807。其中,解码单元802包括视频解码子单元8021和音频解码子单元8022,预处理单元803设置有缓冲区(buffer)8031,播放单元807中包含同步子单元8071、扬声器8072和显示屏幕8073。

音视频播放器响应与播放操作,音视频分离单元801从音视频资源库中以流的形式获取目标音视频,并将目标音视频分离为目标视频和目标音频。经编码后,将目标视频发送给视频解码子单元8021,将目标音频发送给音频解码子单元8022。

视频解码子单元8021将目标视频转换为YUV格式,并发送给播放单元807中的同步子单元8071。

音频解码子单元8022对目标音频解码后进行PCM,得到初始PCM数据,并通过第一接口将初始PCM数据发送给预处理单元803。

预处理单元803将初始PCM数据存入缓冲区8031,并按照预设帧率,同步获取声源位置信息和头部位姿信息,将初始PCM数据、声源位置信息和头部位姿信息通过第二接口发送给空间音频单元。

其中,声源位置信息可通过通信接口从预定义的3D场景引擎中获取。头部位姿信息可通过通信接口从软件开发工具包获取,或通过图像算法确定,具体描述参见前述实施例,在此不再重复。

立方体空间单元804预留有接口,当目标对象处于封闭空间时,立方体空间单元804调用第三接口获取目标对象所在空间的环境参数,并通过第四接口发送给空间音频单元805。

其中,目标对象所在的空间可以是真实空间,也可以是虚拟空间。当为虚拟空间时,环境参数可通过通信接口从预定义的3D场景引擎中获取;当为真实空间时,环境参数可通过通信接口从软件开发工具包获取,或通过图像算法确定,具体描述参见前述实施例,在此不再重复。

空间音频单元805根据预处理单元803发送的声源位置信息和头部位姿信息,以及立方体空间单元804发送的环境参数,对初始PCM数据进行空间音效处理,得到目标PCM数据,并通过第五接口发送给音频混合单元806。其中,空间音效处理的处理方式参见前述实施例,对此不再重复。

音频混合单元806对目标PCM数据进行混合,得到声道数满足预设要求的混合PCM数据。

播放单元807中的同步子单元8071对混合PCM数据和目标视频进行时间同步,并由扬声器8072播放混合PCM数据,由显示屏幕8073显示目标视频。

在一些实施例中,当目标对象处于开阔空间时,无需获取环境参数。

本申请的上述实施例中,在播放器中增加了预处理单元和立方体空间单元,预处理单元通过接口主动或被动地获取声源位置信息和头部位姿信息,立方体空间单元通过接口主动或被动地获取空间(真实空间或虚拟空间)环境参数,由空间音频单元对预处理单元和立方体空间单元获取的数据进行空间音效处理,从而实现播放器的空间音频功能,提升目标对象的沉浸式体验;在预处理单元中,通过记录时间戳对头部位姿信息和声源位置信息进了同步,保证了声音能够随目标对象的运动而运动;在立方体空间单元,通过获取的环境参数,用以渲染声音的遮挡、反射、衍射等效果,从而在场景切换时声音能自动适应不同的播放场景。

基于相同的技术构思,本申请实施例提供了一种播放设备,参见图9,包括处理器901、存储器902、扬声器903、显示器904,存储器902、扬声器903、显示器904和处理器901通过总线906连接;

存储器902中存储有计算机程序,处理器901在执行计算机程序时,执行以下操作:

从目标音视频中分离出目标视频和目标音频,并对目标音频进行脉冲编码调制PCM,得到初始PCM数据并缓存,初始PCM数据与目标音频的声道数相同;

按照预设帧率,同步获取声源位置信息和头部位姿信息;

在目标对象处于封闭空间时,获取目标对象所在空间的环境参数;

根据声源位置信息和头部位姿信息,以及环境参数,对初始PCM数据进行空间音效处理,得到目标PCM数据,目标PCM数据与初始PCM数据的声道数相同;

对目标PCM数据进行混合,得到声道数满足预设要求的混合PCM数据;

由扬声器903播放混合PCM数据,同时,由显示器904显示目标视频。

可选的,在目标对象处于开阔空间时,处理器901还执行:

根据所述声源位置信息和所述VR设备位姿信息,对所述初始PCM数据进行空间音效处理。

可选的,处理器901对所述初始PCM数据进行空间音效处理,具体为:

改变所述初始PCM数据相对于目标对象的方向和距离;和/或

对所述初始PCM数据在空间中进行反射、衍射、遮挡、混响中的至少一项处理。

可选的,所述环境参数以立方体为基础形态,包括立方体的大小、六个面的有无、材质、厚度、粗糙度、声音反射率、混响属性中的至少一个。

可选的,所述环境参数为真实空间的环境参数或虚拟空间的环境参数。

本申请实施例还提供一种计算机可读存储介质,用于存储一些指令,这些指令被执行时,可以完成前述实施例的方法。

本申请实施例还提供一种计算机程序产品,用于存储计算机程序,该计算机程序用于执行前述实施例的方法。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。

再多了解一些

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

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

相关文献