1、概述
呼叫提示音是语音呼叫过程中的一项重要功能,对用户的便利性、友好性以及个性化服务等起着重要的作用。如果在呼叫过程中缺少或者提供错误的呼叫提示音,无疑会大大降低用户的满意度。呼叫提示音既可由网络产生,也可由本地终端产生。由网络产生的呼叫提示音称为带内音,彩铃就是由网络产生的呼叫提示音。呼叫提示音的种类见表1。
在实际运行过程中,运营商既可以选择由网络产生呼叫提示音,也可以由信令通知终端产生呼叫提示音。根据3GPP的规定,对同一呼叫提示音来说,由网络产生的呼叫提示音的优先级要高于终端产生的呼叫提示音。这样运营商就可以根据市场需要充分定制网络侧的呼叫提示音,而不用关心移动终端的差异性。移动运营商的彩铃就是在这个基础上发展起来的。网络与终端产生的呼叫提示音对比见表2。
2、WCDMA终端呼叫提示音的控制
与GSM/GPRS终端相比,WCDMA终端的软硬件复杂度有了很大的提高。GSM/GPRS终端以语音通信为主,主要由一个核心处理器(通信处理器)构成。随着多媒体移动终端时代的到来,越来越多的多媒体处理功能需要由一个独立于通信处理器的专门应用处理器来完成,单处理器架构也逐渐被“通信+应用”的双处理器架构所取代。此外,完整的手机平台还包括丰富的外围软硬件资源。笔者所参与开发的一款WCDMA终端平台就是采用双处理器构架,如图1所示。一个处理器芯片还可能包含一个或多个内核。例如,在应用处理器芯片中,就包含一个专门处理多媒体应用控制的ARM9内核(应用处理单元)和一个处理语音编解码的DSP内核(一般来说,该DSP还可以完成多媒体图像、声音、数据的编解码功能)。通信处理器芯片完成射频、模拟基带和数字基带的处理,并且包含对GSM/GPRS/WCDMA信令协议层L1、L2和L3的处理。图1中的电源/音频设备控制器就是一个较为独立的外围芯片。
表1 呼叫提示音的种类
表2 网络与终端产生的呼叫提示音对比
图1WCDMA双处理器移动终端构架
2.1实现呼叫提示音的硬件支持
移动终端对于由网络产生的呼叫提示音(带内音)的处理与普通语音流的处理一样,而对于由终端本地产生的呼叫提示音的处理,则需要有相应的硬件支持。
(1)Tone发生器
移动终端硬件系统必须包含一个支持双频的Tone发生器,用来产生和控制3GPP所规定的呼叫控制提示音以及需要报告给用户的各种设备或操作的报警音。实际上,随着WCDMA终端硬件集成度的增加,一般把Tone发生器嵌入在一个多功能的音频设备控制器中。
(2)音源合成器
将移动终端支持多个硬件设备作为音源同时发声称为声音重叠。例如,从Tone发生器产生的呼叫提示音与从网络侧发过来的普通语音流同时送往扬声器播出。声音重叠取决于音频设备控制器的电路设计能否将各路音源信号进行合成。目前,WCDMA终端的音频设备控制器大多已经包含音源合成器,从硬件上支持将多路音源的信号合成,然后再送往DA/AD转换器。
2.2实现呼叫提示音的软件控制
在WCDMA终端侧实现对呼叫提示音的控制,关键点在于实现多音声通道的建立、管理和有效控制。如果说从网络来的语音流通过通信处理器、应用处理器以及音频设备控制器等的处理,最后通过外设输出是一条音声通道,那么本地呼叫提示音从Tone发生器产生到通过外设输出则是另外一条音声通道,实际的终端平台支持更多的音声通道,比如MP3播放器产生的音乐从外设播出也是一条音声通道。除了多音源产生的多通道外,还存在同一音源在不同外设输出导致的单一音源多通道的情况。多音声通道的处理是由应用处理单元来完成的。应用处理单元采用基于优先级的多通道竞争算法来完成通道的建立、切换以及释放,这样用户就能得到最佳的声音体验。针对呼叫提示音的情况,带内音以及无语音通道时的呼叫提示音只涉及一个音声通道的处理,而通话中的本地呼叫提示音就涉及两个音声通道的处理,以下分别进行介绍。
2.2.1带内音
由网络产生的呼叫提示音是以带内音的形式传送到移动终端的。带内音的控制流程如下。
(1)在带内音发送之前,网络已经指示移动终端建立无线接口的业务信道。当数字基带处理单元完成业务信道的建立后,通过控制信令建立与语音/数据处理DSP的通道。
(2)数字基带处理单元收到特定的非接入层网络消息(如Alerting),通过控制信令将该消息通知应用处理单元。
(3)应用处理单元分析后得知需要接听网络传来的带内音,则通知语音/数据处理DSP建立与外围电源/音频设备控制器的通道。
(4)应用处理单元通知外围电源/音频设备控制器与外设建立通道,此时是单一音源(语音流)采用单一外设(取决于终端目前的设置,比如听筒、扬声器或者耳机),该语音通道能够建立成功。语音通道建立成功后,从网络传送来的AMR(或FR/EFR/HR)语音流,经过语音/数据处理DSP解码后转换为PCM语音流,传输到音频设备控制器,再转换为模拟语音流,发送到外设,这样终端用户就可以听到网络传来的带内音了。
在带内音的处理过程中,一定要避免Tone发生器产生本地提示音,否则终端用户就不知所措了。这就需要应用处理单元正确分析和处理网络信令,控制Tone发生器不要建立本地音声通道。
2.2.2无语音通道时本地呼叫提示音