智能手机的音频技术介绍.doc

智能手机的音频技术介绍.doc

ID:28098956

大小:138.00 KB

页数:7页

时间:2018-12-08

智能手机的音频技术介绍.doc_第1页
智能手机的音频技术介绍.doc_第2页
智能手机的音频技术介绍.doc_第3页
智能手机的音频技术介绍.doc_第4页
智能手机的音频技术介绍.doc_第5页
资源描述:

《智能手机的音频技术介绍.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、智能手机的音频技术介绍  手机可以说是现在人日常生活中最离不开的电子设备了。它自诞生以来,从模拟的发展到数字的,从1G发展到目前的4G以及不久将来的5G,从最初的只有唯一的功能(打电话)发展到目前的全功能,从功能机(featurephone)发展到智能机(smartphone),可谓变化巨大。对于手机上的音频来说,刚开始只有语音通信功能,现在不仅语音通信,还可以听音乐、录音、智能语音(语音输入/语音交互)等。智能手机中的音频场景众多,可以说是手机多媒体系统中最复杂的子系统了。今天我们就谈谈Android智能手机上的音频。  先从硬件谈起吧。下

2、图是android智能手机中目前主流的跟音频相关的硬件框图。    上图中AP是应用处理器(applicaTIonprocessor),在上面主要运行的是操作系统(OS,例如android)和应用程序。CP是通信处理器(communicaTIonprocessor),也叫基带处理器(basebandprocessor,BP)或者modem,上面主要处理跟通信相关的,比如手机信号好不好就跟它相关。AudioDSP,顾名思义,就是一个处理音频的DSP。我在刚做手机的时候就很纳闷现在AP处理器频率那么高,音频处理(尤其是语音)CPUload不高,A

3、P上完全可以处理,为啥还要额外加一个音频DSP处理音频呢,这不是增加了成本吗?随着做的深入,知道了这主要是出于功耗的考虑。功耗是手机上的一个重要指标,也是过认证的必选项,它决定了手机的续航能力。在手机电池技术没有获得突破的现在,要想续航能力强,就得降功耗。音频中的打电话和听音乐是手机上的最主要功能之一,必须在这两种场景下降功耗。怎么降呢?就是加一块专门处理音频的DSP,在打电话和听音乐时让AP在绝大多数时间都出于sleep状态,这样功耗就降下来了。AP、CP和audioDSP之间通过IPC(inter-processorcommunicaTI

4、on)通信,交互控制消息和音频数据。通常AP、CP和audioDSP(当然还包括其他功能的处理器)集成在一个芯片内,形成一个SOC(systemonchip,片上系统)。此外有一个主要用于音频采集和播放的硬件codec芯片,它受AP控制(使能以及选择不同音频路径等,主要是配置寄存器),与audioDSP通过I2S总线交换音频数据。连着硬件codec的是各种外设,有MIC(现在主流的是双MIC方案)、earpiece(听筒)、speaker(扬声器)、有线耳机(有三段式四段式两种,三段式没有MIC功能,四段式有)等。但是蓝牙耳机比较特殊,它是直

5、接通过I2S总线与audioDSP连接的,主要是因为音频的采集和播放在蓝牙芯片里都有了。当用蓝牙耳机听音乐时,音频码流在AP上解码成PCM数据用A2DP协议经过UART直接送给蓝牙耳机播放,而不是经过audioDSP通过IIS总线送给蓝牙耳机播放。  再来看软件。音频相关的软件在三个处理器(AP/CP/audioDSP)上都有,先看AP上的音频软件。本文讲的是Android智能手机上的音频,运行的当然就是Android系统了,Android系统就运行在AP上。Android里有mulTImediaframework,audio是其中的一部分,

6、AP上audio部分的软件框图如下:    Android音频软件分不同的层,主要有kernel/user/Framework/JNI/Java。从底层kernel向上讲吧。Android的核用的是Linux的。Linux上音频相关的子系统叫ALSA,包括kernelspace和userspace两部分。Kernelspace里是音频驱动,userspace里主要是提供API给应用程序调用。Android的音频驱动跟Linux是一样的,在userspace里对ALSA进行了裁剪形成了tinyalsa。关于这些我在前面的文章(音频的采集和播放)

7、里简单描述过,有兴趣可以去看看。同时userspace里还有音频软件编解码的各种库,包括音乐的(MP3/AAC等)和语音的(AMR-NB/AMR-WB等)。再向上就是Framework,里面模块众多,主要有NuPlayer/stageFrightRecord/openMAX/AudioFlinger等,网上讲audioFramework的文章太多了,这里就不细讲了。AuidoHAL(HardwareAdapterLayer,硬件适配层)也在这一层。Framework上层是JNI(JavaNativeInterface),提供接口供Java调用

8、,提供的接口主要有MediaRecorder/MediaPlayer/AudioTrack/AudioRecorder。最上层是Java层,也就是各种带有音频功能的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。