掌桥专利:专业的专利平台
掌桥专利
首页

跨核音频的实现方法、系统、装置及存储介质

文献发布时间:2024-04-18 20:01:55


跨核音频的实现方法、系统、装置及存储介质

技术领域

本申请涉及音频处理技术领域,尤其是一种跨核音频的实现方法、系统、装置及存储介质。

背景技术

随着互联网技术的发展,多核系统应运而生。目前,多核系统中,不同核均有音频播放、录制等相关需求,然而音频相关硬件资源只能被一个核单独使用。因此,相关技术中设置音频主核进行音频的处理操作,其他核则被限制。该方案对产品的业务功能产生限制,不利于音频娱乐体验。

发明内容

本申请的目的在于至少一定程度上解决现有技术中存在的技术问题之一。

为此,本发明的目的在于提供一种跨核音频的实现方法、系统、装置及存储介质,旨在用于为各个核提供音频服务,实现各个核的音频需求,提升音频娱乐体验感。

为了达到上述技术目的,本申请实施例所采取的技术方案包括:

一方面,本申请实施例提供了一种跨核音频的实现方法,包括以下步骤:

本申请实施例的跨核音频的实现方法,该方法包括:接收第一音频请求至第一核;所述第一核用于表征多核系统中的任意一核;若所述第一核不是音频主核,通过所述第一核的跨核音频接口将所述第一音频传至所述音频主核的实例层;通过所述音频主核对所述第一音频进行实例化处理,得到目标音频;将所述目标音频通过所述音频主核的本地音频接口输出。本申请实施例通过对当前接收音频请求的核进行判断,若不是音频主核,则通过跨核音频接口实现音频数据的传递;进而通过音频主核完成音频数据的输出,实现任一核的音频功能。因此,本申请实施例能够实现多核系统中任一核的音频功能,提升音频娱乐体验感。

另外,根据本申请上述实施例的跨核音频的实现方法,还可以具有以下附加的技术特征:

进一步地,本申请实施例的跨核音频的实现方法,所述方法还包括:

在所述第一核和所述音频主核上构建跨核音频架构,所述跨核音频架构包括第一处理模块、第二处理模块和第三处理模块;

其中,所述第一处理模块用于获取音频请求,对音频进行实例化处理;所述第一处理模块包括所述实例层;

所述第二处理模块用于音频的处理和传输;

所述第三处理模块用于通过所述跨核音频接口进行音频的跨核传输,还用于通过所述本地音频接口进行音频的输出。

进一步地,在本申请的一个实施例中,所述实例层包括播放实例单元,所述第二处理模块包括混音层,所述通过所述音频主核对所述第一音频进行实例化处理,得到目标音频这一步骤,包括:

通过所述播放实例单元对所述第一音频进行实例化处理,创建若干播放实例;

通过所述混音层对声卡名参数相同的播放实例将混音处理,得到目标音频。

进一步地,在本申请的一个实施例中,所述方法还包括以下步骤:

通过所述混音层,根据预设参数对所述声卡名参数相同的播放实例进行实例化处理,创建音频启停任务;所述音频启停任务用于处理音频的播放或停止事件;

若接收到播放请求,所述音频启停服务通过调用所述本地音频接口将所述目标音频送至本地声卡;

或者,若接收到停止请求,所述音频启停服务退出服务。

进一步地,在本申请的一个实施例中,所述第一处理模块包括组件层,所述方法还包括以下至少之一:

所述实例层通过调用所述组件层设置通道映射;

或者,所述实例层通过调用所述组件层转换采样率;

或者,所述实例层通过调用所述组件层调节音频的幅度。

进一步地,在本申请的一个实施例中,所述第一音频通过以下步骤传至音频主核的实例层:

根据AMP服务机制,建立音频服务;所述音频服务包括音频配置、音频资源和音频动作;

根据所述音频服务,通过跨核音频接口将所述第一音频传至音频主核的实例层。

进一步地,在本申请的一个实施例中,所述第三处理模块包括屏蔽层,所述屏蔽层包括本地音频接口、跨核音频接口、第三音频接口中的至少之一,所述方法还包括:

将所述目标音频通过所述第三音频接口输出;所述第三音频接口包括蓝牙接口和USB接口。

另一方面,本申请实施例提出了一种跨核音频的实现系统,包括:

第一模块,用于接收第一音频请求至第一核;所述第一核用于表征多核系统中的任意一核;

第二模块,用于若所述第一核不是音频主核,通过所述第一核的跨核音频接口将所述第一音频传至所述音频主核的实例层;

第三模块,用于通过所述音频主核对所述第一音频进行实例化处理,得到目标音频;

第四模块,用于将所述目标音频通过所述音频主核的本地音频接口输出。

另一方面,本申请实施例提供了一种跨核音频的实现装置,包括:

至少一个处理器;

至少一个存储器,用于存储至少一个程序;

当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现上述的任一种跨核音频的实现方法。

另一方面,本申请实施例提供了一种存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于实现上述的任一种跨核音频的实现方法。

本申请实施例通过对当前接收音频请求的核进行判断,若不是音频主核,则通过跨核音频接口实现音频数据的传递;进而通过音频主核完成音频数据的输出,实现任一核的音频功能。因此,本申请实施例能够实现多核系统中任一核的音频功能,提升音频娱乐体验感。

附图说明

为了更清楚地说明本申请实施例或者现有技术中的技术方案,下面对本申请实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本申请的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。

图1为本申请提供的跨核音频的实现方法的一种实施场景示意图;

图2为本申请提供的跨核音频的实现方法的一种实施例的流程示意图;

图3为本申请提供的跨核音频架构的一种实施例的结构示意图;

图4为本申请提供的跨核音频的实现方法的另一种实施例的流程示意图;

图5为本申请提供的跨核播放实例的一种实施例的流程示意图;

图6为本申请提供的跨核录音实例的一种实施例的流程示意图;

图7为本申请提供的屏蔽层的一种实施例的结构示意图;

图8为本申请提供的跨核音频的实现系统的一种实施例的结构示意图;

图9为本申请提供的跨核音频的实现装置的一种实施例的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。

首先,对本申请中涉及的几个概念进行解释说明:

实时操作系统(Real-time operating system,RTOS),又称即时操作系统,它会按照排序运行、管理系统资源,并为开发应用程序提供一致的基础。实时操作系统与一般的操作系统相比,最大的特色就是“实时性”,如果有一个任务需要执行,实时操作系统会马上(在较短时间内)执行该任务,不会有较长的延时。这种特性保证了各个任务的及时执行。

非对称多进程AMP,多个核心相对独立的运行不同的任务,每个核心可能运行不同的操作系统或裸机程序,或者不同版本的操作系统。但是有一个主要核心,用来控制整个系统以及其它从核心。具有主从模式。

在多核异构系统中,不同核均有可能存在音频播放、录制相关的业务需求,例如音乐播放、麦克风拾音、语音通话等功能。针对那些多核异构的SoC来说,他们会各自独立运行不同的OS,而SoC的音频相关硬件资源(例如DMIC,I2S,DMA等)均只能被一个核单独操作使用。因此常见做法,是设定好音频业务核,只有指定的核可以操作到音频资源及功能服务,其他核均不涉及。该方案会对具体产品的业务功能受到限制,许多场景无法实现。

基于此,本申请实施例为多核异构系统上,不同核间同时使用音频播放、录制等业务提供可能性。解决了不同核间竞争音频硬件资源的问题,并为不同核上系统提供了统一的音频软件框架及接口,并实现了常用音频功能组件。

下面参照附图详细描述根据本申请实施例提出的跨核音频的实现方法和系统,首先将参照附图描述根据本申请实施例提出的跨核音频的实现方法。

参照图1和图2所示,本申请实施例中提供一种跨核音频的实现方法,本申请实施例中的跨核音频的实现方法,可应用于终端中,也可应用于服务器中,还可以是运行于终端或服务器中的软件等。终端可以是平板电脑、笔记本电脑、台式计算机等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。本申请实施例中的跨核音频的实现方法主要包括以下步骤:

S100:接收第一音频请求至第一核;第一核用于表征多核系统中的任意一核;

S200:若第一核不是音频主核,通过第一核的跨核音频接口将第一音频传至音频主核的实例层;

S300:通过音频主核对第一音频进行实例化处理,得到目标音频;

S400:将目标音频通过音频主核的本地音频接口输出。

在一些可能的实施方式中,第一核可以是多核系统中的任意一核,参见图1所示的本申请实施例的实施场景,其中RTOS上可以加载能够运行本申请实施例提供的跨核音频的实现方法的软件/程序,音频软件(Audio APP)通过本申请提供的跨核音频的实现方法进行任一核的音频播放或录音。本申请提供的跨核音频的实现方法可以是图1中的AudioSystem实施的,具体地,Audio APP发出第一音频请求,第一音频请求可以是音频的播放请求,也可以是音频的录音请求,本申请并不限制。若第一核接收了第一音频请求(示例性地,第一核可以是图1中的任意一个RTOS系统),那么由第一核进行第一音频的处理和展示。而如果第一核并不是音频主核,那么,第一核将第一音频相关数据通过Audio System提供的跨核音频接口传递给音频主核,由音频主核进行第一音频数据的处理和展示。可知,AudioSystem提供了跨核音频接口实现了音频数据的传输,通过本地音频接口实现了音频数据的播放。

需要说明的是,若第一核是音频主核,通过音频主核对第一音频进行实例化处理,得到目标音频;将目标音频通过音频主核的本地音频接口输出。

因此,本申请基于多核异构硬件系统上,为不同核实现同时使用音频功能的一套软件框架设计方法。他可运行于任意核上,屏蔽底层细节,可支持跨核音频、USB音频、BT音频、本地音频,并对上提供统一的操作接口,相关应用可无缝移植到各个核上,为客户的音频应用开发带来极大的便利。

可选地,在本申请的一个实施例中,该方法还包括:

在第一核和音频主核上构建跨核音频架构,跨核音频架构包括第一处理模块、第二处理模块和第三处理模块;

其中,第一处理模块用于获取音频请求,对音频进行实例化处理;第一处理模块包括实例层;

第二处理模块用于音频的处理和传输;

第三处理模块用于通过跨核音频接口进行音频的跨核传输,还用于通过本地音频接口进行音频的输出。

在一些可能的实施方式中,参照图3所示,本申请实施例在每个核上均搭建了音频跨核架构,用于实现本申请实施例提供的跨核音频的实现方法。具体地,在多个RTOS系统上均可以运行AudioSystem音频系统,各个Audio APP均可使用一样的接口进行录音或播放,而AudioSystem根据配置可以选择传输音频数据到实际音频硬件,或者通过跨核机制送到另一个核上的AudioSystem,当然也能通过USB传输实现UAC功能,或者通过BT传输实现A2DPSource功能。

可以理解的是,每个RTOS都有AudioSystem组件,可以实现混音、音量调节等动作;如果是音频主核(实际操作音频硬件接口的核,如DSP),第二处理模块的混音层MixerThread以及录音层SnoopThread才会使用本地音频接口alsa-lib;而如果是远端核(其它非音频主核),对象调用的还是AudioSystem提供的统一接口;但在第三处理模块的屏蔽层audio_hw调用跨核音频接口amp audio,实现第一核与音频主核通信。示例性地,参见图3所示,播放类的软件(如图3中的PlaybackAPP1或PlaybackAPP2)可以通过本申请提供的跨核音频框架选择音频主核实现音频数据的播放;而音频获取类软件(如图3中的CaptureAPP1或CaptureAPP2)可以通过本申请提供的跨核音频框架选择音频主核实现音频数据的录音功能等。

可选地,在本申请的一个实施例中,实例层包括播放实例单元,第二处理模块包括混音层,通过音频主核对第一音频进行实例化处理,得到目标音频这一步骤,包括:

通过播放实例单元对第一音频进行实例化处理,创建若干播放实例;

通过混音层对声卡名参数相同的播放实例将混音处理,得到目标音频。

在一些可能的实施方式中,通过第一处理模块的实例层,可以实现播放实例或录音实例的创建。可以理解的是,本申请中实例层包括录音实例单元,该方法还包括步骤:通过混音层对第一音频进行混音处理,得到第二音频,通过录音实例单元对第二音频进行实例化处理,创建若干录音实例,将若干录音实例通过本地音频接口输出。

可选地,在本申请的一个实施例中,方法还包括以下步骤:

通过混音层,根据预设参数对声卡名参数相同的播放实例进行实例化处理,创建音频启停任务;音频启停任务用于处理音频的播放或停止事件;

若接收到播放请求,音频启停服务通过调用本地音频接口将目标音频送至本地声卡;

或者,若接收到停止请求,音频启停服务退出服务。

在一些可能的实施方式中,本申请实施例还包括方法:通过录音层,根据预设参数对第二音频进行实例化处理,创建录音启停任务;若接收到录音请求,录音启停服务通过调用本地音频接口将若干录音实例送至本地声卡。同样,若接收到停止请求,录音启停服务退出服务。

具体地,参见图3中的混音层MixerThread用于实现混音任务,主要负责将mt_rb(缓冲区)数据送到硬件声卡中。一般由播放实例单元AT(AudioTrack)实例化时调用MixerThreadAddAT创建对应的MixerThread,每个声卡对应仅有一个MixerThread,有可能多个AT会使用同一个MixerThread,并实现混音功能。MixerThread会根据预设参数(示例性地,如rate,channels,format,period_size,periods)进行实例化,并申请环形缓冲区mt_rb,创建任务“AudioMT%d”,该任务仅用于接受处理消息(目前该任务不会退出),AudioMT任务目前主要处理播放/停止的事件;收到播放事件时,会调用mt_playback_start创建真正的播放任务“AudioMT%dpb”,AudioMTpb会不断的从mt_rb取数据,然后调用alsa接口将数据送入声卡中。收到停止事件时,会改变标志位pb->keep_alive,AudioMTpb任务识别到该标志,持续第一时长后,退出销毁(关闭声卡,任务退出)。另外,AudioMTpb任务每处理一笔数据(period_size帧数据),会发送信号给到所有绑定到该MixerThread的AT,用于唤醒功能(因为AT有可能因为mt_rb写满了,在等待MixerThread消耗)。

本申请实施例还提供了播放实例单元AudioTrack,可以创建多个AT,如果他们指定的“声卡名”参数一致,那么这些AT的数据最终都会混合写入到对应MixerThread的mt_rb中,实现混音效果。创建实例时,还可以指定stream_type,用于区分不同场景类型的音源,例如系统音、播放音乐场景、通知、蓝牙播歌等。不同类型的音源,都可以设置自己的音量曲线,及独立的音量控制创建实例的最后,会调用MixerThreadAddAT,尝试去绑定/创建MixerThread。

可以理解的是,录音层SnoopThread用于提供录音任务,主要负责获取录音数据,并将数据写入st_rb缓冲区中。一般由AR(AudioRecord)实例化时调用SnoopThreadAddAR创建对应的SnoopThread,每个声卡对应仅有一个SnoopThread,有可能多个AR会使用同一个SnoopThread,并实现多任务录音功能。SnoopThread会根据预设参数(示例性地,如rate,channels,format,period_size,periods)进行实例化,并申请环形缓冲区st_rb,创建任务“AudioST%d”,该任务仅用于接受处理消息(目前该任务不会退出),AudioST任务目前主要处理录音/停止的事件;收到录音事件时,会调用st_capture_start创建真正的录音任务”AudioST%dcap”,AudioSTcap会不断的调用alsa接口获取录音数据,然后将数据写入st_rb中。收到停止事件时,会改变标志位pb->keep_alive,AudioSTcap任务识别到该标志后,退出销毁(关闭声卡,任务退出)。另外,AudioSTcap任务每处理一笔数据(period_size帧数据),会发送信号给到所有绑定到该SnoopThread的AR,用于唤醒功能(因为AR有可能因为st_rb空了,在等待SnoopThread产生新的数据)。

可以理解的是,本申请实施例提供了录音实例单元AudioRecord,可以创建多个AR,如果他们指定的“声卡名”参数一致,那么,这些AR最终都会从同一个SnoopThread的st_rb中取数据,实现多任务录音效果。

本申请实施例中,参见图4所示,通过图4所示的流程实现跨核音频的播放或录音。具体地,参见图5所示的跨核播放的实施例,RTOS A核的播放应用发起播放流程(可以同时多个应用发起),通过RTOS A核上的AudioSystem将处理后数据发送到远端RTOS B核,并经过它的AudioSystem框架(可以同时多个核发起)送入本核音频硬件资源中,最终通过喇叭播放处理。示例性地,参见图6所示的完整跨核录音的流程:RTOS A核的录音应用发起录音流程(可以同时多个应用发起)。RTOS A核通过AudioSystem发起远端音频处理请求给到RTOS B。RTOS B核根据A核的请求发起本地录音流程(可以同时接受多个核的请求),通过本地AudioSystem框架从本核音频硬件资源(ADC)拿到麦克风数据,并将数据发送给RTOS A核。

可选地,在本申请的一个实施例中,第一处理模块包括组件层,方法还包括以下至少之一:

实例层通过调用组件层设置通道映射;

或者,实例层通过调用组件层转换采样率;

或者,实例层通过调用组件层调节音频的幅度。

在一些可能的实施方式中,本申请实施例为了实现多核间同时支持音频业务功能,支持多种音频系统常用功能(混音、音量调节、多声道合并、通道映射等),并为客户提供友好统一易用的接口。因此,参见图3所示,本申请实施例提供了组件层AudioPlugin。AudioPlugin主要包含AudioSystem常用的一些组件。AudioTrack以及AudioRecord会根据配置情况自动调用这些组件功能。具体的,可以支持的组件有:通道映射:可以设定输入及输出声道的映射关系。重采样:实现不同采样率之间的转换。音量调节:可以为不同音频流类型提供不同的音量曲线,实现独立音量调节。

可以理解的是,本申请实施例通过chmap组件实现通道映射。具体地,存在自定义和默认映射规则,该插件会根据映射规则调整通道数据,并将调整后的数据传递到下级audio plugin。

下面是部分默认映射规则:

a)如果输出数据为单声道,那么分配为输入声道的平均值;

b)如果输入数据为单声道,那么输出数据每个声道均与输入单声道数据一样;

c)如果输入数据声道数大于输出数据声道数,那么抛弃输入数据中多余的声道,其他一一对应分配到输出声道。

可以理解的是,resample组件用于重采样功能,用于转换采样率,当输入输出采样率不一致时,则会自动使用重采样组件。根据采样率、精度、长度等参数,对PCM数据进行处理,转换得到目标采样率数据,并进一步传递到下级audio plugin。

可以理解的是,softvol组件,用于调节音源数据幅度,调节软件音量调节功能。具体地,支持多种音频流类型,并可设定不同音量曲线,不同曲线可根据需要自定义音量值、幅度、范围,如下所示:

{1,-4800},

{2,-2400},

{5,-1200},

{10,0},

其中,第一列表示音量值,范围1~10,第二列表示幅度(衰减值,单位dB),即音量为5时,做-12dB衰减。而实际音量调节的原理,是将赋值转换为系数,并与原始PCM数据做处理得到最终调节后的数据,并继续传递到下一级audio plugin。

可选地,在本申请的一个实施例中,第一音频通过以下步骤传至音频主核的实例层:

根据AMP服务机制,建立音频服务;音频服务包括音频配置、音频资源和音频动作;

根据音频服务,通过跨核音频接口将第一音频传至音频主核的实例层。

在一些可能的实施方式中,参见图7所示的跨核音频接口(amp audio api)的流程,跨核音频接口是利用多RTOS的amp service机制,注册audio service并设定好相关音频配置、资源、动作,然后通过硬件msgbox(支持多核异构间的短小数据传输)发送到另一个核中。

可选地,在本申请的一个实施例中,第三处理模块包括屏蔽层,屏蔽层包括本地音频接口、跨核音频接口、第三音频接口中的至少之一,方法还包括:

将目标音频通过第三音频接口输出;第三音频接口包括蓝牙接口和USB接口。

在一些可能的实施方式中,本申请实施例提供了屏蔽层AudioHW,用于屏蔽底层音频数据处理细节,它可以支持本地声卡:通过tiny-alsa-lib进行本地声卡播放录音。也可以支持多声卡:通过multi操作进行多声卡录音。还可以支持跨核音频amp audio:对接远端核的AudioSystem,即AudioTrack,AudioRecord接口。还可以支持A2dp source功能:对接蓝牙接口。还可以支持USB音频:对接USB实现UAC功能。

可以理解的是,通过跨核音频amp audio,即可实现不同核间AudioSystem的联动,实现异构多核上的音频业务功能。参见图4所示的一种实施例,音频主核可以通过AudioTrack实例化实现播音功能,该核上AudioSystem的audio_hw会直接操作本地音频硬件资源,其它核也能通过AudioTrack实例化实现播音功能,但它对应AudioSystem的audio_hw是调用的amp audio接口,再远程调用音频主核AudioTrack实例化,完成跨核资源访问,而AudioSystem支持混音功能,因此可以实现多个核的播音服务同时工作的需求。

需要说明的是,本申请提供的跨核音频的实现方法已通过实际使用证明可行,完整功能在相关产品包上提供;同时也在某音箱产品上使用,效果可见。同时,本申请提供的方法可以扩展运用在Linux-RTOS这类异构系统上,Linux通过remoteproc+rpmsg与RTOS的opemAMP进行通信,并将Linux的音频功能对接到RTOS的AudioSystem软件框架中。

其次,参照附图8描述根据本申请实施例提出的一种跨核音频的实现系统。

图8是本申请一个实施例的跨核音频的实现系统结构示意图,系统具体包括:

第一模块810,用于接收第一音频请求至第一核;第一核用于表征多核系统中的任意一核;

第二模块820,用于若第一核不是音频主核,通过第一核的跨核音频接口将第一音频传至音频主核的实例层;

第三模块830,用于通过音频主核对第一音频进行实例化处理,得到目标音频;

第四模块840,用于将目标音频通过音频主核的本地音频接口输出。

可见,上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。

参照图9,本申请实施例提供了一种跨核音频的实现装置,包括:

至少一个处理器910;

至少一个存储器920,用于存储至少一个程序;

当至少一个程序被至少一个处理器910执行时,使得至少一个处理器910实现的跨核音频的实现方法。

同理,上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。

本申请实施例还提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,处理器可执行的程序在由处理器执行时用于执行上述的跨核音频的实现方法。

同理,上述方法实施例中的内容均适用于本存储介质实施例中,本存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。

在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本申请的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。

此外,虽然在功能性模块的背景下描述了本申请,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本申请是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本申请。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本申请的范围,本申请的范围由所附权利要求书及其等同方案的全部范围来决定。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干程序用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行程序的定序列表,可以具体实现在任何计算机可读介质中,以供程序执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从程序执行系统、装置或设备取程序并执行程序的系统)使用,或结合这些程序执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供程序执行系统、装置或设备或结合这些程序执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的程序执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。

尽管已经示出和描述了本申请的实施方式,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。

以上是对本申请的较佳实施进行了具体说明,但本申请并不限于所述实施例,熟悉本领域的技术人员在不违背本申请精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

技术分类

06120116571679