嵌入式世界專欄─Android 系統下的多媒體通訊問題 智慧應用 影音
D Book
231
ResearchDEMO
世平

嵌入式世界專欄─Android 系統下的多媒體通訊問題

  • 莊永莉

Android Audio Subsystem。
Android Audio Subsystem。

自從2008年9月全球第一支Android 手機 HTC Dream (G1)問世以來, 美國Google 公司所主導的Android即以旋風之姿,橫掃智慧型手機作業系統的佔有率,不但領先Windows Mobile、Symbian,並且與 iPhone OS分庭抗禮,由於其開放源代碼的策略,在全球擁有最多的開發者。

作為一個高階的嵌入式作業系統與智慧型手機通訊平台,Android 也面臨許多產品化與商業化的考驗。其中,手機用戶最關心的,就是語音品質以及進一步的視訊多媒體通訊品質。以音頻為例,Android Audio Subsystem音頻子系統下定義了一個叫做AudioFlinger的服務模組,負責所有的SRC (sample rate conversion),以及向下的音頻硬體介接(Audio hardware interface)。然而問題在於這個AudioFlinger對音頻串流造成不小的延遲(latency),同時因為Android 系統音頻以44.1KHz 為標準音頻輸出,在某些視訊音頻為48KHz的情況下,會造成SRC採樣率轉換的失真,類似的情況也發生在語音通訊,因為大部分的語音通訊為 8/16/32KHz,在Android 底下仍然會有SRC採樣率轉換的失真問題,這就是為什麼大部分的SOC廠商會針對GSM語音通道,製作一個客製化的驅動程式,以確保語音品質並降低延遲,但是,這種客製化驅動介面通常只給GSM使用,並不開放給上層的通訊應用程式(App),因此,以下載(Download)為基礎的通訊App,如網路電話VoIP、整合式通訊器Unified Communicator、通常無法達到好的通訊品質。

然而科技的進步,讓我們不斷有好消息,在Android 2.3以後,AudioFlinger不再是音頻系統的唯一服務方案,Android 2.3 開始採用OpenSL ES, the standard for embedded audio acceleration,它的概念類似 OpenGL ES 的3D視頻加速,在硬體的輔助與標準的API介面下,應用程式開發者可以發展非常可攜性的通訊應用App,並且能保證音頻的品質。針對未配備OpenSL ES硬體的晶片,以D2 Technologies(美商迪爾亞科技)所開發的即時語音方案為例(如圖示),相信在不久的未來,能看到更多具有優良品質的通訊應用在Android 上。

Android的視頻也有相類似的效能與品質問題,限於篇幅,在此簡短介紹,Android的視頻子系統目前是以視訊播放(Video Playback)為主,同樣是因為效能的關係,由原先的 OpenCore 架構演進到 Android 2.2 的 StageFright,但是這樣的改進仍然不夠,在通訊系統下,視訊必須是雙向的,亦即同時進行編碼(壓縮)與解碼(解壓縮),這裡往往有效能問題,多數的解決方案都發展往下層的 OpenMAX 或客製化的驅動程式,如何減少記憶體複製(memory copy)和視訊音訊的同步(audio/video synchronization)為其中的關鍵。

通訊技術已經進入4G (如 LTE),頻寬已不再是問題,電信業者也開始制定類似Skype 的通訊服務標準,如 IR.92 VoLTE、GSMA RCS (Rich Communication Suite)、3GPP IMS (IP Multimedia Subsystem),當人們開始在 PC 平台享受豐富的多媒體通訊時,對嵌入式系統的能力,應該也會有一定的期望吧。D2 Technologies Inc. 美商迪爾亞科技提供的全方位 VoLTE/IMS/RCS 終端軟體解決方案可以經由Android 中間層軟體的優化,其創新的mCUE通訊應用程式能在Android上展示優異的通訊品質。

[嵌入式世界專欄每週二刊載]