发明内容
本发明实施例主要解决的技术问题是提供一种空间复用方法、复用装置及其蓝牙设备,能够解决现有的蓝牙设备在兼容多个蓝牙应用协议时,占用空间多,资源开销大的问题。
为解决上述技术问题,本发明实施例提供了一种空间复用方法。该方法包括:确定获取的触发事件指向的蓝牙工作模式;所述蓝牙工作模式提供至少一种功能;将所述蓝牙工作模式对应的程序和数据,加载至预设的复用空间内;应用所述程序和数据,执行所述蓝牙工作模式的功能。
可选地,所述蓝牙工作模式指向对应的蓝牙应用协议,以提供至少一种功能;不同蓝牙工作模式指向的蓝牙应用协议之间为互斥关系。
可选地,所述确定获取的触发事件指向的蓝牙工作模式,具体包括:在空闲状态下,监听是否存在触发事件;根据所述触发事件所属的蓝牙应用协议,确定所述触发事件指向的蓝牙工作模式。
可选地,所述方法还包括:在出现蓝牙应用协议的结束事件时,由所述蓝牙工作模式重新进入空闲状态;清空在所述复用空间内的程序及数据。
可选地,所述蓝牙工作模式包括:提供音乐播放功能的第一工作模式以及提供实时语音通话功能的第二工作模式;所述第一工作模式在异步逻辑传输链路上进行,所述第二工作模式在同步逻辑传输链路上进行。
为解决上述技术问题,本发明实施例还提供了一种空间复用装置。该空间复用装置包括:触发事件检测模块,用于确定获取的触发事件指向的蓝牙工作模式;所述蓝牙工作模式提供至少一种功能;加载模块,用于将所述蓝牙工作模式对应的程序和数据,加载至预设的复用空间内;执行模块,用于应用所述程序和数据,执行所述蓝牙工作模式的功能。
可选地,所述蓝牙工作模式指向对应的蓝牙应用协议,以提供至少一种功能;不同蓝牙工作模式指向的蓝牙应用协议之间为互斥关系。
可选地,所述触发事件检测模块具体用于:在空闲状态下,监听是否存在触发事件;根据所述触发事件所属的蓝牙应用协议,确定所述触发事件指向的蓝牙工作模式。
可选地,所述空间复用装置还包括:结束事件检测模块,用于在出现蓝牙应用协议的结束事件时,由所述蓝牙工作模式重新进入空闲状态;并且清空在所述复用空间内的程序及数据。
可选地,所述蓝牙工作模式包括:提供音乐播放功能的第一工作模式以及提供实时语音通话功能的第二工作模式;
所述第一工作模式在异步逻辑传输链路上进行,所述第二工作模式在同步逻辑传输链路上进行。
为解决上述技术问题,本发明实施例还提供了一种蓝牙设备。该蓝牙设备具体包括:至少一个处理器;蓝牙模组以及与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令程序并设置有预设的复用空间,所述指令程序被所述至少一个处理器执行,以使所述至少一个处理器通过所述蓝牙模组,执行如权利要求1所述的空间复用方法。
可选地,还包括音频播放器;所述蓝牙工作模式包括:提供音乐播放功能的第一工作模式以及提供实时语音通话功能的第二工作模式,所述第一工作模式在异步逻辑传输链路上进行,所述第二工作模式在同步逻辑传输链路上进行;
其中,所述所述存储器存储有可被所述至少一个处理器执行的指令程序并设置有预设的复用空间,所述指令程序被所述至少一个处理器执行,以使所述至少一个处理器通过所述音频播放器,分时复用所述复用空间以执行第一工作模式或者第二工作模式。
本发明实施例中提供的空间复用方法、复用装置及其蓝牙设备,可以在蓝牙设备支持多个不同的蓝牙应用协议的情况下,通过复用蓝牙应用协议占用的空间的方式,有效的减少需要占用的空间以及资源消耗,使得空间的利用效率更高,可以在有限的空间内支持更多的蓝牙应用协议或者其它功能。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在应用程序的执行过程中,处理器需要使用一些空间暂时存储对应的计算机程序以及运行过程中产生的一些缓存数据。这样的计算机程序或者缓存数据需要能够被处理器快速的读取或者调用,以保持处理器运行的速度。
在此,使用“空间”这样的术语表示在处理器执行应用程序的过程中,上述计算机程序以及缓存数据需要占用的,可进行快速读写,满足处理器读取需求的存储空间。例如,该存储空间可以是用于存放计算机程序或者缓存数据的RAM。
每个应用程序的执行都需要占用一定的空间,处理器能够运行的应用程序越多,需要占用的空间就越大。嵌入式设备在程序运行或者数据存储过程中,通常会采用一些合适的方式复用计算机程序或者数据,来节省资源开销(即空间复用),例如在同一个存放缓存数据的RAM中进行数据复用,在不同情况下加载不同的缓存数据。
蓝牙标准协议规定了许多不同的蓝牙应用协议(profile),同一个蓝牙设备上通常也可以支持多种不同的蓝牙应用协议。这些不同的蓝牙应用协议之间既可以单独进行工作,也可以同时组合工作。当然,在一些应用场合中,由于蓝牙设备硬件上的限制,一些蓝牙应用协议之间也可能无法同时被执行,例如当蓝牙设备只具有一个音频输出设备时,用于音乐播放的A2DP协议和用于语音通话的HSP/HFP协议无法同时被执行,对音频输出设备进行操作。
在此,使用“互斥关系”这样的术语表示在蓝牙设备中无法同时被执行的蓝牙应用协议之间的关系。亦即两个蓝牙应用协议无法同时工作。这样的互斥关系通常是由于蓝牙设备的硬件限制导致的,当然,也可以是由软件环境限制、人为设定或者其它因素导致的。
图1为本发明实施例提供的空间复用方法的应用环境。如图1所示,其包括:用户10、音频数据输出源设备20、蓝牙音频播放设备30以及网络40。
用户10可以为任意数量的,具有相同或者相近操作行为的群体,例如家庭、工作组或者个人。用户10可以通过任何合适的类型的,一种或者多种用户交互设备与数据输出源设备20和/或多声道播放设备交互,例如鼠标、按键、遥控器、触摸屏、体感摄像头或者智能可穿戴设备,输入指令或者控制数据输出源设备20执行一种或者多种操作,如音频播放操作。
数据输出源设备20可以是任何合适的,支持A2DP、HSP/HFP等与音频功能相关的协议,提供一个或者多个音频内容的电子设备,例如智能手机、平板电脑、MP3播放器、个人电脑、手提电脑或者其它智能终端设备。
数据输出源设备20耦合至至少一个用于存储音频数据的存储介质中,获取音频数据。该数据输出源设备20还可以是一种或者多种电子设备的组合,例如智能手机以及与其连接的外置模数转换器(DAC)。
蓝牙音频播放设备30可以是任何合适的,支持A2DP、HSP/HFP等多种蓝牙应用协定,具有音频数据播放能力以及麦克风的电子设备,例如免提蓝牙耳机、耳罩式蓝牙立体声耳机等。所述蓝牙音频播放设备30可以根据用户指令,与数据输出源设备20之间建立蓝牙连接,在A2DP协议或者HSP/HFP协议下传输相应的音频或者语音数据。
网络40可以是任何合适的,用以实现两个电子设备之间通信连接的有线或者无线网络,例如因特网、局域网或者有线线缆。数据输出源设备20具有至少一个网络接口,与网络40建立通信连接,从网络40获取相应的音频数据或者指令,例如通过3G蜂窝网络获取语音通话的音频数据。当然,数据输出源设备20还可以具有至少一个本地存储装置,从本地存储装置获取相应的音频数据。
虽然在图1中仅显示了2个用户10、2个数据输出源设备20、2个第一音频播放设备30以及3个第二音频播放设备40。但本领域技术人员可以理解的是,在实际应用过程中,该应用环境还可以包括更多的用户、数据输出源设备20或蓝牙音频播放设备30。在另一些实施例中,还可以根据实际情况,增加或者减省一些设备,例如可以添加额外的用户交互设备,例如摄像机、接近传感器等。
在该应用环境中,用户10可以选择发送指令至数据输出源设备20(如智能手机)中,数据输出源设备20根据指令,执行A2DP协议,从而通过蓝牙的异步逻辑传输链路(Asynchronous Connectionless ACL)传输音频数据至蓝牙音频播放设备30中,实现立体声音频播放。
在蓝牙音频播放设备30执行A2DP协议,实现立体声音频播放的过程中,需要占用一定的空间,用于存放SBC包数据处理和SBC解码的算法程序以及缓存数据。
用户10也可以发送语音通话的指令至数据输出源设备20(如智能手机)中。数据输出源设备20根据该指令,执行HSP/HFP协议,通过蓝牙的面向连接的同步逻辑传输链路(Synchronous Connection Oriented SCO)或者扩展的面向连接的同步逻辑传输链路(Extended Synchronous Connection-Oriented eSCO)传输语音通话数据至蓝牙音频播放设备30中,实现蓝牙耳机的语音通话功能。
相对应地,蓝牙音频播放设备30执行HSP/HFP协议,实现语音通话功能的过程中,至少需要用于存放CVSD数据输出、CVSD编码和解码以及缓存数据的空间。进一步的,为保证通话质量,还可能进一步需要空间放置降噪、回音消除处理的相关算法。
这样的,所述蓝牙音频播放设备30至少需要用于操作A2DP协议与HSP/HFP协议这些协议的空间。考虑到蓝牙音频播放设备30只可以选择播放立体声音频或者是实现语音通话功能而无法同时执行(蓝牙音频播放设备30只有一个音频输出硬件装置),A2DP协议与HSP/HFP协议之间存在互斥关系,无法组合使用,可以应用本发明实施例提供的空间复用方法,通过分时复用的方式,减少A2DP协议与HSP/HFP协议实际占用的总的空间。
为了陈述简便,图1所示的实施例提供的应用环境基于与蓝牙音频传输相关的协议为例进行描述。但本领域技术人员可以理解的是,本发明实施例提供的空间复用方法还可以应用于其它合适的,具有多种蓝牙应用协议的情况,而不仅限于在A2DP和HSP/SFP协议下进行的音频传输。
图2为本发明实施例提供的空间复用方法的方法流程图。如图2所示,该方法可以包括如下步骤:
步骤100、确定获取的触发事件指向的蓝牙工作模式,所述蓝牙工作模式提供至少一种功能。
在蓝牙设备中,由于多种蓝牙应用协议的存在,在不同的时间段,通过执行不同的蓝牙应用协议,其可以工作在不同的蓝牙工作模式中。例如,蓝牙耳机既可以播放立体声音频,作为耳机使用,也可以传输语音信息,实现语音通话的免提耳机。
所述蓝牙工作模式表示能够提供或者实现一种或者多种特定功能的蓝牙设备的工作状态。蓝牙设备可以处于某种蓝牙工作模式从而满足不同场合的使用需求。
步骤200、将所述蓝牙工作模式对应的程序和数据,加载至预设的复用空间内。
如上应用环境中描述的,在同样的硬件基础上(即蓝牙设备),为执行不同的蓝牙工作模式,需要使用不同的计算机程序以及保留一定的空间用以缓存在工作过程中产生的缓存数据。因此,每个蓝牙工作模式都具有其对应的计算机程序以及缓存数据的所需的空间。
所述复用空间可以是蓝牙设备中具有的空间资源的一部分或者全部,例如是蓝牙设备中的其中部分的RAM。具体可以根据实际情况设置,能够满足蓝牙工作模式的空间需求即可。当然,该复用空间可以包括用于放置所需的计算机程序的程序空间以及用于缓存数据的缓存空间。
步骤300、应用所述程序和数据,执行所述蓝牙工作模式的功能。
当对应的程序和数据在复用空间内加载完毕后,蓝牙设备的处理器可以使用这些程序或者存放缓存数据,运行在所述蓝牙工作模式(例如作为蓝牙耳机使用),提供对应的功能(播放立体声音频)。
通过这样的方式,复用空间在不同的时间加载的是不同蓝牙工作模式的程序或者数据。这样的,蓝牙设备可以在使用较少的空间资源的前提下,支持更多的蓝牙工作模式或者将空余的空间资源用于提供给其它功能。
在一些实施例中,蓝牙设备可以具有多种不同的蓝牙工作模式。每个蓝牙工作模式指向特定的蓝牙应用协议,可以基于蓝牙设备提供的硬件基础,提供相应的功能。并且,蓝牙设备只能够工作在其中一个蓝牙工作模式下。亦即,不同蓝牙工作模式指向的蓝牙应用协议之间为互斥关系。两个互斥的蓝牙应用协议之间不会同时组合使用。
如图3所示,在该实施例中,所述空间复用方法可以包括如下步骤:
步骤101、在空闲状态下,监听是否存在触发事件。
所述空闲状态是指蓝牙设备不处于任何一个蓝牙工作模式中,所述预设的复用空间尚未加载任何数据。例如,所述空闲状态可能是蓝牙设备的待机状态或者睡眠状态。
步骤102、根据所述触发事件所属的蓝牙应用协议,确定所述触发事件指向的蓝牙工作模式。
通常的,不同的蓝牙应用协议都具有自己对应的触发事件,其可能是某个对于外部设备的操作(如某些数据请求)或者某些特定功能的执行。蓝牙设备可以通过监听是否存在触发事件,并根据触发事件确定需要进入的工作模式。
步骤200、将所述蓝牙工作模式对应的程序和数据,加载至预设的复用空间内。
步骤300、应用所述程序和数据,执行所述蓝牙工作模式的功能。
在另一些实施例中,所述蓝牙应用协议也会具有自己相应的结束事件。如图3所示,所述空间复用方法还可以进一步的包括:
步骤401、在出现蓝牙应用协议的结束事件时,由所述蓝牙工作模式重新进入空闲状态。
步骤402、清空在所述复用空间内的程序及数据。通过这样的方式,可以令蓝牙设备在出现结束事件后重新返回到空闲状态,继续监听下一次的触发事件,在复用空间中加载相应的程序或者数据。
以下以A2DP协议对应的第一工作模式和HSP/SFP协议对应的第二工作模式为例,详细说明上述蓝牙设备在执行所述空间复用方法时的蓝牙工作模式切换流程。
图4和图5分别为A2DP协议和HSP/SFP协议在蓝牙标准中的执行示意图。如图4所示,对于A2DP播放事件,是基于其基础协议AVDTP的AVDTP_START命令触发,停止A2DP播放的命令为AVDTP_CLOSE命令。亦即所述AVDTP_START命令可以认为是第一工作模式的触发事件,AVDTP_CLOSE命令为结束事件。
对于第二工作模式的语音通话操作,其语音数据的时间性要求较高,在SCO/eSCO上传输。如图5所示,其对应的第二工作模式的触发事件可以为LMP_eSCO_link_req命令或者LMP_SCO_link_req命令。其结束事件可以为LMP_remove_eSCO_link_req命令或者LMP_remove_SCO_link_req。
如图6所示,蓝牙设备在空闲状态下进行监听(步骤601),判断是否监听到第一工作模式的触发事件(步骤602a)。若是,则加载AD2P协议需要的程序和数据(步骤603a),并执行A2DP播放功能(步骤604a)。
若否,则继续判断是否存在第二工作模式的触发事件(步骤602b),若存在第二工作模式的触发事件,则加载HSP/SFP协议需要的程序和数据(步骤603b),并执行相应的语音通话功能(步骤604b)。
在第一工作模式下,判断是否出现第一工作模式的结束事件(步骤605a),若是,则结束第一工作模式,返回到空闲状态。在第二工作模式下,判断是否出现第二工作模式的结束事件(步骤605b),若是,则结束第二工作模式,返回空闲状态。
本发明还提供了与上述方法实施例相对应的空间复用装置。图7为本发明实施例提供的空间复用装置的功能框图。如图7所示,该装置包括:触发事件检测模块100、加载模块200以及执行模块300。
其中,所述触发事件检测模块100用于确定获取的触发事件指向的蓝牙工作模式;所述蓝牙工作模式提供至少一种功能。所述加载模块200用于将所述蓝牙工作模式对应的程序和数据,加载至预设的复用空间内。执行模块300用于应用所述程序和数据,执行所述蓝牙工作模式的功能。
在实际应用过程中,通过所述触发事件检测模块100确定当前需要使用的蓝牙工作模式,然后由加载模块200加载对应的数据到复用空间中,并最后通过执行模块300执行相应的功能。这样的方式,可以充分的利用复用空间,使其在不同的时间段内分别为不同的蓝牙工作模式所使用,提高了空间的利用效率,有效的节约了资源的消耗。
其中,所述蓝牙工作模式包括:提供音乐播放功能的第一工作模式以及提供实时语音通话功能的第二工作模式;所述第一工作模式在异步逻辑传输链路上进行,所述第二工作模式在同步逻辑传输链路上进行。
在一些实施例中,所述触发事件检测模块100具体用于:在空闲状态下,监听是否存在触发事件;根据所述触发事件所属的蓝牙应用协议,确定所述触发事件指向的蓝牙工作模式。
在另一些实施例中,如图7所示,该装置还可以包括:结束事件检测模块400。
所述结束时间检测模块400可以用于在出现蓝牙应用协议的结束事件时,由所述蓝牙工作模式重新进入空闲状态;并且清空在所述复用空间内的程序及数据。
需要说明的是,由于上述装置实施例与方法实施例基于相同的申请构思,因此,方法实施例中的相应内容同样适用于装置实施例,此处不再详述。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的示例性的蓝牙通信步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。
专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所述的计算机软件可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
本发明实施例还提供了一种蓝牙设备,该蓝牙设备包括蓝牙模组、存储器以及耦合至所述蓝牙模组和存储器的处理器。
所述存储器存储有可被所述处理器执行的指令程序,所述处理器执行所述指令程序,通过所述蓝牙模组以使:确定获取的触发事件指向的蓝牙工作模式;所述蓝牙工作模式提供至少一种功能;将所述蓝牙工作模式对应的程序和数据,加载至预设的复用空间内;应用所述程序和数据,执行所述蓝牙工作模式的功能。
可选地,该蓝牙设备具体可以是由图1所示的应用环境中的音频播放设备,例如立体声耳机或者蓝牙免提耳机。亦即,如图8所示,其可以包括蓝牙模组801、存储器802、耦合至所述蓝牙模组和存储器的处理器803以及音频播放器804。
该音频播放装置具有提供音乐播放功能的第一工作模式以及提供实时语音通话功能的第二工作模式,所述第一工作模式在异步逻辑传输链路上进行,所述第二工作模式在同步逻辑传输链路上进行。
所述存储器802存储有可被所述至少一个处理器执行的指令程序并设置有预设的复用空间,所述指令程序被所述至少一个处理器803执行,以使所述至少一个处理器803通过所述音频播放器804,分时复用所述复用空间以执行第一工作模式或者第二工作模式。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。