数据转发方法、其装置、蓝牙设备及音频传输方法转让专利

申请号 : CN201611246067.9

文献号 : CN106878920B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 符运河谢鸿洋王中豪

申请人 : 建荣半导体(深圳)有限公司建荣集成电路科技(珠海)有限公司珠海煌荣集成电路科技有限公司

摘要 :

本发明实施例提供一种蓝牙通信方法、通信装置、通信系统及电子设备。该方法包括:在蓝牙通信过程中,接收来自数据输出设备的源数据作为缓存数据,并且转发所述源数据。其中,在缓存数据的数据量小于第一预设阈值时,优先分配蓝牙通信带宽用于接收所述源数据;在待转发的源数据的数据量大于第二预设阈值时,优先分配蓝牙通信带宽用于转发所述源数据。其根据实际的通信情况,动态的调整分配给用于接收数据或者转发数据的蓝牙通信带宽,实现对于不同通信质量的自适应,能够确保数据传输的稳定,解决了转发数据和接收数据之间存在的矛盾。

权利要求 :

1.一种蓝牙数据转发方法,其特征在于,包括:

在蓝牙通信过程中,接收来自数据输出设备的源数据作为缓存数据,并且转发所述源数据;

其中,在缓存数据的数据量小于第一预设阈值时,优先分配蓝牙通信带宽用于接收所述源数据;

在待转发的源数据的数据量大于第二预设阈值时,优先分配蓝牙通信带宽用于转发所述源数据;通过调整蓝牙通信模组的使用时间比例来分配所述蓝牙通信带宽。

2.根据权利要求1所述的方法,其特征在于,还包括:在缓存数据的数据量大于第一预设阈值并且待转发的源数据的数据量小于第二预设阈值时,平均分配蓝牙通信带宽。

3.根据权利要求1或2所述的方法,其特征在于,所述在蓝牙通信过程中,转发所述源数据,具体包括:通过蓝牙广播,转发所述源数据至两个或以上的从设备;

分时接收所述从设备返回的状态信息。

4.根据权利要求1所述的方法,其特征在于,所述在缓存数据的数据量小于第一预设阈值时,优先分配蓝牙通信带宽用于接收所述源数据,具体包括:根据缓存数据的数据量,分配对应的蓝牙通信带宽用于接收所述源数据。

5.根据权利要求1所述的方法,其特征在于,所述在待转发的源数据的数据量大于第二预设阈值时,优先分配蓝牙通信带宽用于转发所述源数据,具体包括:根据待转发的源数据的数据量,分配对应的蓝牙通信带宽用于转发所述源数据。

6.一种蓝牙数据转发装置,其特征在于,包括:

接收模块,用于在蓝牙通信过程中,接收来自数据输出设备的源数据作为缓存数据;

缓存模块,用于存放所述缓存数据;

转发模块,用于在蓝牙通信过程中,转发所述源数据;以及

调整模块,用于在缓存数据的数据量小于第一预设阈值时,优先分配蓝牙通信带宽给接收模块;在待转发的源数据的数据量大于第二预设阈值时,优先分配蓝牙通信带宽给转发模块;

其中,通过调整蓝牙通信模组的使用时间比例来分配所述蓝牙通信带宽。

7.根据权利要求6所述的装置,其特征在于,所述调整模块还用于:在缓存数据的数据量大于第一预设阈值并且待转发的源数据的数据量小于第二预设阈值时,平均分配蓝牙通信带宽给接收模块和转发模块。

8.根据权利要求6或7所述的装置,其特征在于,所述转发模块具体用于:通过蓝牙广播,转发所述源数据至两个或以上的从设备;并且分时接收所述从设备返回的状态信息。

9.根据权利要求6所述的装置,其特征在于,所述调整模块具体用于:在缓存数据的数据量小于第一预设阈值时,根据缓存数据的数据量,分配对应的蓝牙通信带宽给接收模块。

10.根据权利要求6所述的装置,其特征在于,所述调整模块具体用于:在待转发的源数据的数据量大于第二预设阈值时,根据待转发的源数据的数据量,分配对应的蓝牙通信带宽给转发模块。

11.一种蓝牙设备,包括用于接收来自数据输出源的源数据和转发源数据的主设备以及至少一个用于接收转发的源数据的从设备,其特征在于,所述主设备包括蓝牙通信模组、存储器以及耦合至所述蓝牙通信模组和存储器的处理器,所述存储器存储有可被所述处理器执行的指令程序,所述处理器执行所述指令程序,通过分时复用所述蓝牙通信模组以使:在蓝牙通信过程中,接收来自数据输出设备的源数据作为缓存数据,并且转发所述源数据;

其中,在缓存数据的数据量小于第一预设阈值时,优先分配蓝牙通信带宽用于接收所述源数据;在待转发的源数据的数据量大于第二预设阈值时,优先分配蓝牙通信带宽用于转发所述源数据;通过调整蓝牙通信模组的使用时间比例来分配所述蓝牙通信带宽。

12.根据权利要求11所述的蓝牙设备,其特征在于,所述主设备通过蓝牙通信模组,以蓝牙广播的方式转发所述源数据至若干个从设备中;所述主设备的蓝牙通信模组分时进行所述从设备的状态接收。

13.一种蓝牙通信系统,包括提供源数据的数据输出设备,与所述数据输出设备建立蓝牙通信连接的第一设备以及若干个第二设备,其特征在于,所述第一设备对于数据输出设备的角色为从设备,对于第二设备的角色为主设备;

所述第一设备用于接收数据输出设备下发的源数据并缓存所述源数据;在缓存数据的数据量小于第一预设阈值时,所述第一设备优先分配蓝牙通信带宽用于接收所述源数据;

所述第一设备还用于将接收的源数据转发至第二设备中,在待转发的源数据的数据量大于第二预设阈值时,所述第一设备优先分配蓝牙通信带宽用于转发所述源数据;通过调整蓝牙通信模组的使用时间比例来分配所述蓝牙通信带宽。

14.一种基于A2DP协议的立体声音频传输方法,其特征在于,通过蓝牙通信,由主设备接收来自数据输出设备的立体声音频数据并缓存;

播放主设备缓存的立体声音频数据;

判断缓存的立体声音频数据的数据量是否小于第一预设阈值;若是,则优先分配蓝牙通信带宽用于接收立体声音频数据;

通过蓝牙通信,从主设备转发立体声音频数据至对应的从设备中播放;

判断待转发的立体声音频数据的数据量是否大于第二预设阈值;若是,则优先分配蓝牙通信带宽用于转发立体声音频数据;

其中,通过调整蓝牙通信模组的使用时间比例来分配所述蓝牙通信带宽。

15.根据权利要求14所述的方法,其特征在于,所述通过蓝牙通信,从主设备转发立体声音频数据至对应的从设备中播放,具体包括:通过蓝牙广播的方式,转发所述立体声音频数据;

分时接收从设备返回的状态信息。

说明书 :

数据转发方法、其装置、蓝牙设备及音频传输方法

技术领域

[0001] 本发明涉及蓝牙技术领域,特别是涉及一种蓝牙数据转发方法、转发装置、蓝牙设备及音频传输方法。

背景技术

[0002] 各种不同类型的无线传输设备,例如智能手机、蓝牙耳机、MP3播放器等如今得到了广泛的应用。大多的无线传输设备能够支持蓝牙传输音频或者其它各种类型的数据。在蓝牙协议(A2DP prfile)中,一个数据输出设备(例如智能手机、MP3播放器等)只能连接到一个音频播放设备,通过蓝牙传输数据至该音频播放设备进行播放。
[0003] 在一些应用场景中,需要数据输出设备传输数据至两个或者以上的音频播放设备,例如立体声耳机需要左右声道的播放设备均与数据输出源建立无线连接,接收数据时,只能由其中一个声道的播放设备(如左耳机)作为主耳机,接收数据输出源传输的数据。然后将该数据通过蓝牙或者其它非蓝牙的无线传输协议传输至另一个声道的播放设备中。
[0004] 在实现本发明过程中,发明人发现相关技术存在以下问题:上述由主耳机转发的技术方案中,若采用蓝牙方式进行转发,由于蓝牙通信带宽是固定的,在转发数据量较大时,会占用较多的带宽,影响主耳机与数据输出设备之间的通信,转发数据和接收数据之间存在着矛盾。

发明内容

[0005] 本发明实施例主要解决的技术问题是提供一种蓝牙数据转发方法、转发装置、蓝牙设备及音频传输方法,能够解决现有的蓝牙协议下,转发数据和接收数据共用蓝牙通信时,带宽分配存在矛盾的问题。
[0006] 为解决上述技术问题,本发明实施例提供了一种蓝牙数据转发方法。该方法包括:在蓝牙通信过程中,接收来自数据输出设备的源数据作为缓存数据,并且转发所述源数据;
[0007] 其中,在缓存数据的数据量小于第一预设阈值时,优先分配蓝牙通信带宽用于接收所述源数据;在待转发的源数据的数据量大于第二预设阈值时,优先分配蓝牙通信带宽用于转发所述源数据。
[0008] 可选地,该方法还包括:在缓存数据的数据量大于第一预设阈值并且待转发的源数据的数据量小于第二预设阈值时,平均分配蓝牙通信带宽。
[0009] 可选地,所述在蓝牙通信过程中,转发所述源数据,具体包括:通过蓝牙广播,转发所述源数据至两个或以上的从设备;分时接收所述从设备返回的状态信息。
[0010] 可选地,所述在缓存数据的数据量小于第一预设阈值时,优先分配蓝牙通信带宽用于接收所述源数据,具体包括:根据缓存数据的数据量,分配对应的蓝牙通信带宽用于接收所述源数据。
[0011] 可选地,所述在待转发的源数据的数据量大于第二预设阈值时,优先分配蓝牙通信带宽用于转发所述源数据,具体包括:根据待转发的源数据的数据量,分配对应的蓝牙通信带宽用于转发所述源数据。
[0012] 为解决上述技术问题,本发明实施例还提供了一种蓝牙数据转发装置。该装置包括:接收模块,用于在蓝牙通信过程中,接收来自数据输出设备的源数据作为缓存数据;缓存模块,用于存放所述缓存数据;转发模块,用于在蓝牙通信过程中,转发所述源数据;以及调整模块,用于在缓存数据的数据量小于第一预设阈值时,优先分配蓝牙通信带宽给接收模块;在待转发的源数据的数据量大于第二预设阈值时,优先分配蓝牙通信带宽给转发模块。
[0013] 可选地,所述调整模块还用于:在缓存数据的数据量大于第一预设阈值并且待转发的源数据的数据量小于第二预设阈值时,平均分配蓝牙通信带宽给接收模块和转发模块。
[0014] 可选地,所述转发模块具体用于:通过蓝牙广播,转发所述源数据至两个或以上的从设备;并且分时接收所述从设备返回的状态信息。
[0015] 可选地,所述调整模块具体用于:在缓存数据的数据量小于第一预设阈值时,根据缓存数据的数据量,分配对应的蓝牙通信带宽给接收模块。
[0016] 可选地,所述调整模块具体用于:在待转发的源数据的数据量大于第二预设阈值时,根据待转发的源数据的数据量,分配对应的蓝牙通信带宽给转发模块。
[0017] 为解决上述技术问题,本发明实施例还提供了一种蓝牙设备,包括用于接收来自数据输出源的源数据和转发源数据的主设备以及至少一个用于接收转发的源数据的从设备;
[0018] 所述主设备包括蓝牙通信模组、存储器以及耦合至所述蓝牙通信模组和存储器的处理器,所述存储器存储有可被所述处理器执行的指令程序,所述处理器执行所述指令程序,通过分时复用所述蓝牙通信模组以使:在蓝牙通信过程中,接收来自数据输出设备的源数据作为缓存数据,并且转发所述源数据;
[0019] 其中,在缓存数据的数据量小于第一预设阈值时,优先分配蓝牙通信带宽用于接收所述源数据;在待转发的源数据的数据量大于第二预设阈值时,优先分配蓝牙通信带宽用于转发所述源数据。
[0020] 可选地,所述主设备通过蓝牙通信模组,以蓝牙广播的方式转发所述源数据至若干个从设备中;所述主设备的蓝牙通信模组分时进行从设备的状态接收。
[0021] 为解决上述技术问题,本发明实施例还提供了一种蓝牙通信系统,包括提供源数据的数据输出设备,与所述数据输出设备建立蓝牙通信连接的第一设备以及若干个第二设备;
[0022] 所述第一设备对于数据输出设备的角色为从设备,对于第二设备的角色为主设备;所述第一设备用于接收数据输出设备下发的源数据并缓存所述源数据;在缓存数据的数据量小于第一预设阈值时,所述第一设备优先分配蓝牙通信带宽用于接收所述源数据;
[0023] 所述第一设备还用于将接收的源数据转发至第二设备中,在待转发的源数据的数据量大于第二预设阈值时,所述第一设备优先分配蓝牙通信带宽用于转发所述源数据。
[0024] 为解决上述技术问题,本发明实施例还提供一种基于A2DP协议的立体声音频传输方法。该方法包括:通过蓝牙通信,由主设备接收来自数据输出设备的立体声音频数据并缓存;播放主设备缓存的立体声音频数据;判断缓存的立体声音频数据的数据量是否小于第一预设阈值;若是,则优先分配蓝牙通信带宽用于接收立体声音频数据;
[0025] 通过蓝牙通信,从主设备转发立体声音频数据至对应的从设备中播放;判断待转发的立体声音频数据的数据量是否大于第二预设阈值;若是,则优先分配蓝牙通信带宽用于转发立体声音频数据。
[0026] 可选地,所述通过蓝牙通信,从主设备转发立体声音频数据至对应的从设备中播放,具体包括:通过蓝牙广播的方式,转发所述立体声音频数据;分时接收从设备返回的状态信息。
[0027] 本发明实施例中提供的数据转发方法,在蓝牙通信过程中,根据实际的通信情况,动态的调整分配给用于接收数据或者转发数据的蓝牙通信带宽,实现对于不同通信质量的自适应,能够确保数据传输的稳定,解决了转发数据和接收数据之间存在的矛盾。

附图说明

[0028] 一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0029] 图1为本发明实施例提供的应用环境示意图;
[0030] 图2为本发明实施例提供的蓝牙系统的结构示意图;
[0031] 图3为本发明实施例提供的蓝牙数据转发装置的功能框图;
[0032] 图4为本发明实施例提供的蓝牙数据转发方法的方法流程图;
[0033] 图5为本发明实施例提供的转发数据的方法流程图;
[0034] 图6为典型的接收多个第二设备返回的状态信息的时隙示意图;
[0035] 图7为本发明实施例提供的接收多个第二设备返回的状态信息的时隙示意图;
[0036] 图8为本发明实施例提供的电子设备的结构框图。

具体实施方式

[0037] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0038] 在蓝牙(Bluetooth)中,蓝牙设备不需要实现全部的蓝牙规范。为了支持不同的蓝牙设备之间的兼容,在蓝牙规范中定义了一些应用层协议(profile),其用以定义蓝牙设备之间如何实现一种连接或者应用。
[0039] 其中,A2DP(Advenced Audio Distribution Profile蓝牙音频传输模型协定)属于上述的蓝牙协议profile中的一个子集。A2DP是专门为使用蓝牙传送立体声音频而制定。在两个蓝牙设备均支持该规范的情况下,即可使用蓝牙传送立体声音频。
[0040] 蓝牙是一个点对点或者点对多点的拓扑结构,但是其之间的交互均基于一个物理信道。其中,点对多点可以共享一个物理信道。在基于同一个物理信道的微微网(piconet)中,硬件设备可以担任主设备(master)或者从设备(slave)的角色,具体的设备角色可以由设备任意选择,用以实现对应的控制功能(一个微微网中只能存在一个主设备)。当然,不同的微微网之间是可以存在交叉的,即一个微微网中的从设备可以作为另一个微微网中的主设备。
[0041] 图1为本发明实施例提供的在A2DP下传输立体声音频的应用环境。如图1所示,包括:用户10、数据输出设备20、多声道播放设备(包括第一音频播放设备30、第二音频播放设备40)以及网络50。
[0042] 用户10可以为任意数量的,具有相同或者相近操作行为的群体,例如家庭、工作组或者个人。用户10可以通过任何合适的类型的,一种或者多种用户交互设备与数据输出设备20和/或多声道播放设备交互,例如鼠标、按键、遥控器、触摸屏、体感摄像头或者智能可穿戴设备,输入指令或者控制数据输出设备20和/或多声道播放设备执行一种或者多种操作,如立体声音频播放操作。
[0043] 数据输出设备20可以是任何合适的,支持A2DP,提供一个或者多个音频内容的各类型电子设备,例如智能手机、平板电脑、MP3播放器、个人电脑、手提电脑、个人音响、CD机或者其它智能/非智能终端设备。数据输出设备20耦合至至少一个用于存储音频数据的存储介质中,获取音频数据。该数据输出设备20还可以是一种或者多种电子设备的组合,例如智能手机以及与其连接的模数转换器(DAC)。
[0044] 多声道音频播放设备包括第一音频播放设备30及第二音频播放设备40。其可以是任何合适的,支持A2DP并具有播放音频数据能力的电子设备,例如立体声耳机、2.1声道喇叭,5.1声道音响,立体声喇叭或者其它合适类型的扬声器组。所述第一音频播放设备30及第二音频播放设备40仅用以表示用以播放不同声道的扬声器部分,例如对于立体声耳机,第一音频播放设备30可以是左声道耳机,第二音频播放设备40为右声道耳机,或者对于2.1声道喇叭,第一音频播放设备30可以是低音喇叭,第二音频播放设备40为左声道和右声道喇叭。
[0045] 所述第一音频播放设备30及第二音频播放设备40之间通过蓝牙模组通信连接,进行数据转发。在一些实施例中,还可以设置其它额外的通信模组,例如WiFi模组进行通信连接。
[0046] 数据输出设备20可以根据用户指令,与多声道音频播放设备之间建立蓝牙连接,在A2DP协议下传输音频数据。在本实施例中,数据输出设备20可以与第一音频播放设备30建立蓝牙连接,作为主设备,下发相应的立体声音频数据。第一音频播放设备30也通过蓝牙通信,转发立体声音频数据至第二音频播放设备40中进行播放。
[0047] 网络50可以是任何合适的,用以实现两个电子设备之间通信连接的有线或者无线网络,例如因特网、局域网或者有线线缆。数据输出源设备20具有至少一个网络接口,与网络50建立通信连接,从网络50获取相应的音频数据或者指令。当然,数据输出设备20还可以具有至少一个本地存储装置,从本地存储装置获取相应的音频数据。在另一些实施例中,可以根据实际情况,增加或者减省一些设备,例如可以减省网络50或者添加额外的用户交互设备。
[0048] 在立体声音频传输过程中,用户10发送指令至数据输出源设备20(如智能手机)。输出设备20在A2DP协议下,根据用户指令,通过蓝牙发送音频数据至第一音频播放设备30中。
[0049] 在播放过程中,第一音频播放设备30可以首先缓存部分接收到的音频数据,并且通过蓝牙通信方式,将音频数据转发到第二音频播放设备40中。
[0050] 该数据接收和数据转发过程可以通过分时复用第一音频播放设备的蓝牙通信模组完成,根据实际需要切换蓝牙通信模组执行的功能。在第一音频播放设备30分时复用过程中,根据缓存数据量或者转发数据量的实际情况,动态的调整数据接收和数据转发分配获得的蓝牙通信带宽。
[0051] 调整蓝牙通信带宽的方式可以通过调整蓝牙通信模组的使用时间来完成,例如将50%的时间用于数据接收,另一半的时间用于数据转发。此时,蓝牙通信带宽平均分配。
[0052] 为陈述简便,可以将接收数据输出设备输出的音频数据的第一音频播放设备30称为主设备,其余接收主设备转发的音频数据的第二音频播放设备40称为从设备。数据输出设备20在输出立体声音频过程中,可以任意选择多声道音频播放设备中的其中一个音频播放设备建立蓝牙通信连接(即主设备),并通过A2DP协议传输立体声音频数据。
[0053] 在图1所示的应用环境中,对于数据输出设备20和第一音频播放设备30而言,数据输出设备20担任的是主设备的角色,而对于第一音频播放设备30和第二音频播放设备40而言,第一音频播放设备30则担任主设备的角色。
[0054] 在此使用的“主设备”和“从设备”仅用以表示在微微网中硬件设备担任的角色。在实际运行过程中,设备角色可以根据实际需求进行转换,例如某个第二音频设备可以转换角色为主设备,接收数据输出设备的立体声音频数据。
[0055] 虽然在图1中仅显示了2个用户10、2个数据输出设备20、2个第一音频播放设备30以及3个第二音频播放设备40。但本领域技术人员可以理解的是,在实际应用过程中,该应用环境还可以包括更多的用户10、数据输出设备20、第一音频播放设备30或者第二音频播放设备40。
[0056] 另外,图1所示的实施例提供的应用环境基于A2DP的蓝牙音频传输为例进行描述。但本发明实施例提供的蓝牙数据转发方法还可以应用于其它合适的,需要通过蓝牙传输,将数据从一个数据输出设备发送至多个不同的数据接收设备的情况,而不仅限于在A2DP协议下进行的立体声传输。
[0057] 图2为本发明实施例提供的蓝牙通信系统。该蓝牙通信系统在图1所示的应用环境中使用,其可以包括:作为数据源的数据输出设备21以及数据播放设备。该数据播放设备中包括一个第一设备22和若干个第二设备23。该第一设备和第二设备用以在蓝牙通信系统中具有特定角色的设备而非固定的硬件设备。
[0058] 其中,第一设备22用于接收数据输出设备提供的源数据并且将其转发至其它第二设备23中。第一设备22可以根据实际的数据传输、信道质量等动态的调整分配给接收数据和转发数据的蓝牙通信带宽,以保证数据播放设备在数据播放过程中的稳定性和连续性。
[0059] 在该蓝牙通信系统中,如上所述,第一设备22相对于第二设备23担任主设备的角色,相对于数据输出设备21则担任从设备的角色。由此,第一设备可以较好的调节调频信道,避免在数据通信情况发生数据冲突(例如,当数据输出设备21给第一设备22发送数据的同时,第二设备23也给第一设备22发送数据)。
[0060] 另外,在该蓝牙通信系统中,第一设备22和第二设备23组成的数据播放设备之间也使用蓝牙通信完成数据转发,可以不需要额外增加其它的无线传输模块。
[0061] 图3为本发明实施例提供的蓝牙数据转发装置。该蓝牙数据转发装置可以在图2所示的第一设备22中执行,以使第一设备22可以根据实际的数据传输、信道质量等情况,动态的调整分配给接收数据和转发数据的蓝牙通信带宽,合理的分配带宽。如图3所示,该蓝牙数据转发装置包括:接收模块100,缓存模块200,转发模块300以及调整模块400。
[0062] 其中,接收模块100用于在蓝牙通信过程中,接收来自数据输出设备的源数据作为缓存数据。缓存模块200用于存放所述缓存数据;转发模块300用于在蓝牙通信过程中,转发所述源数据。调整模块400用于在缓存数据的数据量小于第一预设阈值时,优先分配蓝牙通信带宽给接收模块;在待转发的源数据的数据量大于第二预设阈值时,优先分配蓝牙通信带宽给转发模块。
[0063] 在实际的蓝牙通信过程中,第一设备的接收模块100和转发模块300同时运作,共用第一设备的蓝牙通信模组以完成对应的数据接收或者数据转发功能。而缓存模块200则根据实际的需要,缓存一定量的接收数据。
[0064] 调整模块400根据缓存数据量以及待转发数据量决定接收模块100和转发模块300可以分配获得的带宽,或者两者之间的比例,例如可以将70%的带宽分配给接收模块100使用,将另外30%的带宽分配给转发模块300使用。在另一些实施例中,图3中展示的模块100-400还可以进一步的执行方法实施例中其它合适的步骤或者其组合。
[0065] 图4为本发明实施例提供的蓝牙数据转发方法的方法流程图。该数据转发方法可以由图2所示的,用于接收数据输出设备传输的数据的第一设备或者图3所示的蓝牙数据转发装置执行。
[0066] 如图4所示,该方法包括:
[0067] 100:在蓝牙通信过程中,接收来自数据输出设备的源数据作为缓存数据。为了保证蓝牙设备在数据播放过程中的连续性,通常会对接收数据进行缓存操作而不是直接进行播放,例如,对于音频数据播放而言,可以缓存80ms的音频数据,从而在各种干扰因素导致数据无法接收(丢失数据小于80ms)时,音频播放设备仍然可以保持音乐的连续播放。
[0068] 缓存数据的数据量实际上取决于蓝牙设备的播放速度和接收源数据的速度。例如,在与数据输出设备通信质量较好的情况,缓存数据的数据量通常是充足的。而缓存数据的数据量越大,越能够保证数据播放的连续性。
[0069] 200:判断缓存数据是否小于第一预设阈值,若是执行步骤500a。若否则执行步骤400。
[0070] 该第一预设阈值是一个可以由技术人员,根据实际情况自行设置的数值。其提供了一个定性的判断标准,确定接收的数据量是否充足,能够较大程度的保证播放的流畅性。
[0071] 在大于第一预设阈值的情况下,缓存数据的数据量较大,可以保证较长时间的数据连续播放,对于接收数据的需求较小。而在小于第一预设阈值的情况下,表明缓存数据的数据量不足,应当提高接收数据的速度。
[0072] 500a:优先分配蓝牙通信带宽用于接收所述源数据。
[0073] 如上所述,由于第一音频播放设备和第二音频播放设备之间的转发也共用蓝牙通信模组进行。因此,除用于接收所述源数据外,蓝牙通信模组还需要用于第一音频播放设备转发所述源数据至第二音频播放设备中(步骤300)。
[0074] 400:判断待转发的源数据的数据量大于第二预设阈值,若是,则执行步骤500b。
[0075] 与上述第一预设阈值相类似的,该第二预设阈值也是一个可以由技术人员,根据实际情况自行设置的数值。其提供了一个定性的判断标准,确定是否存在数据转发的需求,保证第二音频播放设备的播放连续性。
[0076] 在待转发的源数据的数据量较多的情况下,可以认为此时需要及时的将这些待转发的源数据转发至第二音频播放设备中,否则可能会造成第二音频播放设备因接收到的数据量不足导致播放的中断或者不稳定。
[0077] 500b:优先分配蓝牙通信带宽用于转发所述源数据。步骤500a和500b中使用优先分配这样的词语用以表示在蓝牙通信带宽的分配过程中的侧重的部分。
[0078] 在优先分配执行某功能(即转发所述源数据或接收所述源数据)的情况下,是指相比于通常使用的情况,分配更多的蓝牙通信带宽给对应的功能。例如,在正常情况下,转发所述源数据和接收所述源数据分别占用50%的蓝牙通信带宽。而在优先分配转发所述源数据时,则将更多的蓝牙通信带宽,例如70%的蓝牙通信带宽分配用于转发所述源数据。
[0079] 在实际操作过程中,具体可以通过任何合适的规则或者定义来确定具体分配给转发所述源数据以及接收所述源数据的蓝牙通信带宽,通常的在缓存数据量较低或者待转发数据量较大的情况下,需要分配更多的蓝牙通信带宽用于对应的功能。例如建立分配的带宽比例与缓存数据量之间的函数关系或者对应表,根据曲线或者查表,随缓存数据量的变化,分配对应比例的蓝牙通信带宽用于接收源数据。
[0080] 在本发明实施例中,使用了第一预设阈值和第二预设阈值两个标准用以判断当前的蓝牙数据传输情况,并根据该标准,提供了对应的带宽调整方式。由此,可以实现蓝牙数据传输过程中,数据接收和数据转发之间的带宽分配自适应。
[0081] 在第一音频播放设备共用蓝牙通信模组进行源数据接收和源数据转发的实施例中,蓝牙通信模组能够提供的蓝牙通信带宽是一定的,即分配给接收源数据和转发源数据两者的蓝牙通信带宽之和是一个固定值。为陈述简便,以下用占总带宽的百分比表示分配给接收源数据的蓝牙通信带宽。
[0082] 请继续参阅图4,在另一些实施例中,在步骤400之后,若判断为否(即待转发的源数据的数据量小于等于第二预设阈值时),该方法还可以包括:平均分配蓝牙通信带宽(500c)。
[0083] 步骤500c是一个通常的蓝牙带宽分配情况。在两个标准均不满足的情况下,可以认为此时转发源数据和接收源数据处于均衡的状态,不需要对其中的一者进行优先分配。因此,执行步骤402的平均分配方式与当前的蓝牙通信情况相匹配。
[0084] 通过设置第一和第二预设阈值,可以划分为三种不同类型的蓝牙通信带宽分配情况,分别与步骤500a-500c对应。第一音频播放设备可以根据通信情况,判断缓存数据和待转发数据的数据量,自适应的调节蓝牙通信带宽的分配情况。
[0085] 在一些使用场景中,可能只存在一个第一音频播放设备以及一个第二音频播放设备(如蓝牙立体声耳机)。而在另一些的使用场景中,可能存在两个或以上的第二音频播放设备(如5.1声道音响)。第一音频播放设备需要向多个第二音频播放设备转发源数据。
[0086] 为了进一步的提高对于蓝牙通信模组的利用效率,图5为本发明实施例提供的,第一音频播放设备转发源数据的方法流程图。
[0087] 如图5所示,该方法可以包括:
[0088] 301:通过蓝牙广播,转发所述源数据至两个或以上的从设备。第一音频播放设备使用广播的形式,同时将源数据转发到多个第二音频播放设备(即从设备)中。
[0089] 302:分时接收所述从设备返回的状态信息。由于转发过程仍然是基于蓝牙通信进行的。因此,第二音频播放设备通常需要向第一音频播放设备返回一些相关的,用以反映数据接收情况或者其它的状态信息。例如,第二音频播放设备可能需要告知第一音频播放设备某些数据包没有获取到,需要重新发送,或者告知第一音频播放设备自己当前的设备状态。
[0090] 图6为第一设备转发源数据至多个第二设备的典型方式。第一设备分别单独的向每个第二设备转发源数据。如图6所示,在蓝牙通信协议中,每个时隙(slot)为625us(即最小通信单元)。而蓝牙通信模组每次只能允许与一个第二设备进行通信(基于一个物理信道上的点对多点拓扑结构)。因此,若存在较多的第二设备时,转发所需要占用的蓝牙通信带宽较多。
[0091] 但在实际使用过程中,如图6所示,第二音频播放设备返回的状态信息的数据量通常远小于一个时隙。因此,若采用图6所示的方式,对于蓝牙通信模组的利用率较低,每个时隙中包含的状态信息量很少。
[0092] 图7为本发明实施例提供的第一设备转发源数据至多个第二设备的示意图。如图7所示,步骤302在接收第二设备返回的状态信息时,采用分时接收的策略。亦即将各个第二设备对应的时隙依次的错开(错开的长度由返回的状态信息的数据量决定)。
[0093] 通过这样的方式,蓝牙通信模组在一个时隙中,可以完成多个不同的第二设备的状态信息的接收(例如图7所示的3个),有效的提高了利用率,减少了在具有较多第二设备的情况下,转发所需要占用的蓝牙通信带宽。
[0094] 需要说明的是,由于上述装置实施例与方法实施例基于相同的申请构思,因此,方法实施例中的相应内容同样适用于装置实施例,此处不再详述。
[0095] 图8为本发明实施例提供的第一音频播放设备或者第二音频播放设备的电子设备的硬件结构示意图,如图8所示,该设备包括:一个或多个处理器810、存储器820以及蓝牙通信模组830,图8中以一个处理器810为例。在一些实施例中,其还可以包括:输入装置和输出装置。
[0096] 处理器、存储器、输入装置和输出装置可以通过总线或者其他方式连接,图8中以通过总线连接为例。
[0097] 存储器820作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的蓝牙数据转发方法对应的程序指令/模块(例如,附图3所示的接收模块100,缓存模块200,转发模块300以及调整模块400)。处理器810通过运行存储在存储器820中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,通过蓝牙通信模组实现上述方法实施例蓝牙数据转发方法。
[0098] 存储器820可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据转发装置的使用所创建的数据等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器820可选包括相对于处理器810远程设置的存储器,这些远程存储器可以通过网络连接至数据转发装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0099] 输入装置可接收输入的数字或字符信息,以及产生与数据转发装置的用户设置以及功能控制有关的键信号输入。输出装置可包括显示屏等显示设备。所述一个或者多个模块存储在所述存储器820中,当被所述一个或者多个处理器810执行时,执行上述任意方法实施例中的数据转发方法。
[0100] 本领域技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的示例性的蓝牙通信步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。
[0101] 本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所述的计算机软件可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
[0102] 以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。