一种无线局域网内多房间音频组同步播放的方法与流程

文档序号:16522927发布日期:2019-01-05 10:06阅读:2751来源:国知局
一种无线局域网内多房间音频组同步播放的方法与流程

本发明涉及一种无线局域网内多房间音频组同步播放的方法,属于计算机音频处理技术领域。



背景技术:

随着技术的发展,人们不满足于蓝牙传输有损的音频数据,基于wifi的无损音频传输系统使用越来越广泛,为了取得更好的音效,通常会把多个无线音箱组合成一个多房间音频播放系统。在多房间音箱组音响系统中,若每个音箱只播放一个声道,音箱与音箱之间的播放同步就显得极为重要。举例来说,在一个音乐播放系统中,有两个音箱。通过设置使音箱1播放一首立体声音乐的左声道,音箱2播放同一首立体声音乐的右声道,如果两音箱播放的时间差大于5ms,人耳可明显感受到播放不同步,大大影响听音乐的体验。现有技术方案常采用硬件及软件两类实现方式,使用硬件实现高精度时间同步,可以达到较高的精度,但需要增加相应的硬件模块;而现有使用软件实现的方案,多采用ntp协议或者ieee1588高精度时钟同步协议,如图1所示,同步协议运行在应用层,同步协议运行需要收发数据包,提取数据包时间信息来运行同步算法,由于数据包经过wifi模组处理,到驱动层处理,再到协议层处理,会遇到很多调度和缓存的问题,很难达到微妙级别的误差。



技术实现要素:

针对现有技术的不足,本发明的技术方案提供了一种无线局域网内多房间音频组同步播放的方法,实现高精度时钟基准同步技术。

为实现上述目的,本发明的技术方案为:

一种无线局域网内多房间音频组同步播放的方法,其特征在于该方法包括:

s01,ap广播信标帧,wifi模组解码信标帧,从信标帧中提取ap的定时信息,并更新wifi模组的时钟计数器,同时调整本地时钟源运行频率使本地时钟计数器与ap保持一致;

s02,处于同一局域网的音频主、从设备访问wifi模组时钟计数器,获得相同的时钟基准,实现音频主、从设备间时钟基准相同;

s03,音频主设备获取音频数据,编码后以数据帧形式发送给音频从设备;

s04,音频从设备接收数据帧,提取数据帧中的时间信息,并确定是否播放音频数据。

进一步的,s03中主设备编码数据帧的方法包括主设备从媒体服务器获取音频数据,解码为pcm格式,并把数据截断成一帧帧的数据长度,在每帧数据前加上头部信息,所述头部信息除包括时间信息外,还包括控制信息及版本信息的一种或多种组合信息。

进一步的,s04中音频从设备接收数据帧,提取数据帧中的时间信息是提取接收到的数据帧的时间戳。

进一步的,s04中音频从设备接收数据帧,提取数据帧中的时间信息,先判断是否满足播放要求,若满足,则在预定时间播放音频数据,若不满足,则在预定时间不播放音频数据。

进一步的,判断是否满足播放要求的方法包括从设备解析接收到的数据帧,提取头部的时钟信息,与本地时钟做对比,当数据帧包含时间信息滞后于本地时钟,则丢弃,否认按照数据帧提供的时间信息,在指定的时间戳播放该帧音频数据。

进一步的,s02中音频主、从设备访问wifi模组时钟计数器,获得相同的时钟基准还包括通过误差纠正模块消除访问wifi模组时钟计数器带来的抖动。

本发明的有益效果为:本发明通过采用ap定期广播信标帧告诉局域网内设备更新定时信息,设备提取信标帧时间信息,计算时钟误差调整本地时钟计数器,设备访问获取wifi时钟计数器,形成设备间同步基准的方法,实现了在wifi模组内部的时钟同步,避免了wifi驱动、协议栈以及系统传输层带来的影响,使不同设备间同步音频播放精度可以实现小于20us的时钟基准同步误差。

附图说明

图1所示为根据本发明实施方式的总体流程图;

图2所示为本发明主设备编码数据帧的流程示意图;

图3所示为本发明主、从设备访问wifi模组时钟计数器的示意图;

图4所示为本发明音频系统的结构及信息传递示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

一种无线局域网内多房间音频组同步播放的方法,该方法的流程图参阅图1,该方法包括:

s01,ap广播信标帧,wifi模组解码信标帧,从信标帧中提取ap的定时信息,并更新wifi模组的时钟计数器,同时调整本地时钟源运行频率使本地时钟计数器与ap保持一致;

s02,处于同一局域网的音频主、从设备访问wifi模组时钟计数器,获得相同的时钟基准,实现音频主、从设备间时钟基准相同;

s03,音频主设备获取音频数据,编码后以数据帧形式发送给音频从设备;

s04,音频从设备接收数据帧,提取数据帧中的时间信息,并确定是否播放音频数据。

s03中主设备编码数据帧的方法包括主设备从媒体服务器获取音频数据,解码为pcm格式,并把数据截断成一帧帧的数据长度,在每帧数据前加上头部信息,所述头部信息除包括时间信息外,还包括控制信息及版本信息的一种或多种组合信息,如图2所示。

s04中音频从设备接收数据帧,提取数据帧中的时间信息是提取接收到的数据帧的时间戳。

s04中音频从设备接收数据帧,提取数据帧中的时间信息,先判断是否满足播放要求,若满足,则在预定时间播放音频数据,若不满足,则在预定时间不播放音频数据。判断是否满足播放要求的方法包括从设备解析接收到的数据帧,提取头部的时钟信息,与本地时钟做对比,当数据帧包含时间信息滞后于本地时钟,则丢弃,否认按照数据帧提供的时间信息,在指定的时间戳播放该帧音频数据。

s02中音频主、从设备访问wifi模组时钟计数器,获得相同的时钟基准还包括通过误差纠正模块消除访问wifi模组时钟计数器带来的抖动,如图3所示。

为了使说明更加具体,本实施例列举了一个具体的多房间音频系统对多房间音频组同步播放的工作流程加以说明,如图4所示,音频主设备和音频从设备之间的虚线代表音频主设备对音频数据进行解码之后传输给音频从设备的信息流。该多房间音频系统包括路由器,一个音频主设备以及第一音频从设备和第二音频从设备。三个音频设备通过wifi连接到同一个路由器,音频主设备经由路由器从媒体服务器获取音频数据,经过对音频数据进行编码之后,再发送给其他音频从设备。其中编码后的音频设备包括音频数据,控制信息、时间信息等信息,从设备接收音频数据,提取时间信息和音频数据,并按照时间信息提示,与主设备在同一个时间点播放音频帧,实现多设备同步播放。

综上所述,本发明方法通过ap定期广播信标帧告诉局域网内设备更新定时信息,设备提取信标帧时间信息,计算时钟误差调整本地时钟计数器,设备访问获取wifi时钟计数器,形成设备间同步基准,本方法在wifi模组内部做时钟同步,避免了wifi驱动、协议栈以及系统传输层带来的影响,使不同设备间同步音频播放精度可以实现小于20us的时钟基准同步误差。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1