戶珊珊,楊 帆,華 中,寇志強,潘國峰
( 1. 河北工業大學 信息工程學院,天津 300401;2. 天津鉑創國茂電子科技發展有限公司,天津 300384 )
基于安卓系統的模擬智能機頂盒的設計與實現
戶珊珊1,楊 帆1,華 中2,寇志強2,潘國峰1
( 1. 河北工業大學 信息工程學院,天津 300401;2. 天津鉑創國茂電子科技發展有限公司,天津 300384 )
為了解決數字廣播電視收費的設定,給一些酒店、旅館等多房間大型場所帶來的成本提升問題,設計并實現了智能模擬機頂盒,該機頂盒硬件層次上對HI3716C平臺進行了擴展,軟件層次上用安卓自帶組件播放模擬信號,實現了NDK環境搭建以及上層應用(JAVA)與底層(C語言)的無縫銜接。實驗結果表明,該產品效果良好,具有廣闊的應用前景及商業價值,可廣泛地應用在各種多房間大型場所。
智能機頂盒;安卓;模擬信號;系統移植
機頂盒(Set Top Box, STB)是廣播媒介實現數字化后用于接收端的重要設備[1],它搭載了智能操作系統,相當于一臺簡化的電腦主機,接入電視顯示器之后,電視機就可以實現網頁瀏覽、視頻電影觀看、聊天辦公、購物游戲等功能。
隨著Android系統的迅猛發展,目前機頂盒搭載Android已成最常規的配置[2],小米、樂視、阿里等大型電商都推出了自己的Android智能機頂盒,同時,由于Android系統的巨大優勢,機頂盒有了良好的用戶體驗。
但是,由于數字廣播電視收費的設定,每個機頂盒需要特定的智能卡才能收看數字電視,這就給一些大型酒店、旅館等多房間的場所帶來巨大的成本壓力。雖然機頂盒也可以通過網絡收看網絡電視,但由于網絡速度的原因,節目會出現卡頓和清晰度不高的問題。本文設計并實現了智能模擬機頂盒,使得機頂盒不僅具備正常網頁瀏覽、視頻電影觀看、聊天辦公、購物游戲等功能,還可以接收傳統的模擬電視,降低酒店等大型場所的成本,應用前景非常廣闊。
1.1 系統結構設計
智能模擬機頂盒主要由電源模塊、數據接收模塊、數據編碼模塊、指令接收模塊、控制處理模塊和顯示模塊組成[3],系統結構如圖1所示。

圖1 系統結構組成圖
其中,數據接收模塊主要完成模擬信號的接收,并分離出音頻數據和視頻數據;數據編碼模塊主要完成音頻數據和視頻數據的編碼,編碼為處理器可以處理的數字音頻格式和數字視頻格式;指令接收模塊主要完成指令的接收和上傳,控制處理器做出相應的操作;顯示模塊完成視頻和音頻播放;控制處理模塊為系統的核心,完成數字音頻和數字視頻數據的處理和轉換、指令控制、音視頻數據的傳輸和控制顯示。
1.2 功能設計
本文設計并實現了模擬播放器客戶端[4],由于智能機頂盒搭載Android系統,機頂盒有了良好的用戶體驗,使用戶可以可視化地完成傳統電視不能完成的操作,這也是本產品在功能上的優勢。
機頂盒可視化功能包括:1)運行狀態控制功能,即實現正常運行、待機控制和關機功能。2)節目搜索功能,即實現自動搜索功能、手動搜索功能和全頻段搜索功能。3)節目管理功能,包括節目的編輯以及節目屬性的設定。4)參數調整功能,即對機頂盒選單的透明度、圖像顯示的亮度、對比度以及色度進行調整。5)節目播放功能,主要實現音視頻服務的播放和停止功能。
1.3 硬件系統設計
本產品在硬件層次上對HI3716C平臺[5]進行擴展,圖2所示為硬件框圖。

圖2 產品硬件系統框圖
產品核心芯片為HI3716C,可應用于機頂盒,也可應用于高清多媒體播放、可視通信和家庭娛樂。芯片采用ARM公司的Cortex A9處理器,內置豐富的外圍接口功能,能夠提供靈活的連接方案,滿足多媒體播放的要求。提供音頻和視頻的輸入輸出接口。
Tuner采用ZG-9885W芯片,內部包括低噪聲前置放大器、混頻器、振蕩器、鎖相環等。射頻電視信號進入調諧器的高頻放大器進行放大,其增益由AGC電路自動控制,再由跟蹤濾波器將鏡像信號去除,利用混頻器和本地振蕩器混出中頻信號,最后經由中頻濾波器濾除雜波、輸出2路中頻信號,完成調諧器的功能。
視頻編碼器采用tvp5150A,是一款超低功耗、支持NTSC/PAL/SECAM等格式的高性能視頻解碼器。它可以接收2路復合視頻信號(CVBS)或1路S2Video信號。通過I2C總線設置內部寄存器,可以輸出8位4∶2∶2的ITU2RBT.656信號(同步信號內嵌),以及8位4∶2∶2的ITU2RBT.601信號(同步信號分離,單獨引腳輸出)。
音頻編碼器采用pcm1808,是一款高性能、低成本、單芯片、立體聲模數轉換器,支持單端模擬電壓輸入。PCM1808采用delta-sigma調制器以64倍過采樣,并包括一個數字抽取濾波器和高通濾波器,可以消除輸入信號的直流成分。
1.4 軟件系統設計
軟件層次上通過分析Android的OS,運用遙控器驅動框架[6]和MediaPlayer播放器[7-9]完成模擬播放器的功能,軟件主要為信號的播放、換臺、搜索和參數調節等功能。如圖3所示為軟件總體框圖,從應用層、框架層、系統運營層和驅動層進行分析。
開啟機頂盒后,進入模擬播放器應用,播放器會從本地文件中讀取上次退出播放器時播放的頻點,調諧器會鎖存該頻點,從該頻點讀取視頻和音頻數據,視頻和音頻編碼器會對數據進行編碼,并將數據送入處理器,處理器會完成對Snd,Disp,VO,AVPLAY初始化,并開啟兩個線程,分別將數字音頻和數字視頻放入相應的緩沖區,然后海思自帶的播放庫函數完成音視頻的播放。
當用戶按下OK鍵或上下鍵時,可以選擇播放特定的電視節目,此時,調諧器會鎖存相應的頻點,并將數據送入處理器,完成播放。
當用戶按下F4鍵后,出現系統管理界面,當選擇頻道搜索時,調諧器會從起始頻點處開始進行鎖頻,檢測該頻點有沒有相應的音視頻信息,如果有,將該頻點寫入相應的數據庫,保存頻點。

圖3 軟件系統框圖
本系統采用海思提供的Android系統開發包,將本系統代碼移植到Android開發包并對相關方法進行改寫,并重新編譯[10]。模擬信號播放器主要用到VideoView控件的VideoView.setVideoURI、VideoView.start、VideoView.seekTo方法,其中VideoView.setVideoURI設置數據源;VideoView.start準備播放,設置播放的surface、聲音等參數;VideoView.seekTo設置換臺參數。以上方法主要依賴libmedia_jni.so、libmedia.so、libmediaplayerservice.so 和調諧器驅動等庫函數。
2.1 源碼準備
將名為APP_AnalogTunerPlay文件夾放于Android SDK源代碼目錄下的:Hidevicehisilicon godbox driversdksample目錄下。
將名為6EPNF_1.c、6EPNF_1.h、hi_adp_mpi.c、hi_adp_mpi.h 文件放于Android SDK源代碼目錄下的Hidevicehisilicongodboxdriversdksamplecommon目錄下。
將名為YH_AT_MediaPlayer.h、YH_AT_MediaPlayer.cpp、MediaPlayerService.cpp、Android.mk放于Android SDK源代碼目錄下的Hiframeworksasemedialibmediaplayerservice下。
將名為tvp5150.c文件放于Android SDK 源代碼目錄下的:Hidevicehisilicongodboxdriver sdkmspecsdrv vp5150下。
2.2 庫文件編譯
進入到Hidevicehisilicongodboxdriversdksample目錄下,執行mm命令,可以編譯生成APP_AnalogTunerPlay庫。
進入到Hidevicehisilicongodboxdriversdksamplecommon目錄中下,運行mm命令,可以編譯生成libsample_common.so庫文件。
進入Hiframeworksasemedialibmediaplayerservice目錄下,執行mm命令,可以編譯生成libmediaplayerservice.so庫文件。
進入Hidevice hisilicon godbox driversdk目錄下,運行make -f mpi.mk,可以生成hi_tvp5150.ko庫文件。
最后將這些庫文件分別放入系統相應的文件夾,運行系統應用,完成播放器的運行。
由于Android系統的優勢,本產品具有良好的用戶體驗,可視化程度很高;相比普通模擬電視,本產品的清晰度更高。圖4所示仿真圖展示了節目播放畫面及系統參加調解界面。

圖4 產品演示圖(截圖)
隨著Android系統推廣普及,Android系統將徹底改變傳統收視習慣,Android機頂盒將會進一步發展,但由于模擬信號具備免費這一優勢,短期內也不會消亡,因此搭載Android系統的智能模擬機頂盒也將有廣闊的應用空間。本文設計的Android智能機頂盒,使得機頂盒不僅具備正常網頁瀏覽、視頻電影觀看、聊天辦公、購物游戲等功能,還可以接收傳統的模擬電視,降低酒店等大型場所的成本,應用前景非常廣闊。
[1]魏沖,李智浩,于華. 淺淡Android系統機頂盒的前景[J].有線電視技術,2012(3):97-99.
[2]雙模智能機頂盒的關鍵技術研究[J].電視技術,2012,36(22):39-41.
[3]高峰,畢經平,郭景峰,等.汽車狀態感知系統的Android 客戶端[J].清華大學學報:自然科學版,2011(S1):1393-1396.
[4]陳穎琪,馮亞林,余松煜.數字電視機頂盒設計及其向交互式方向的發展[J].上海交通大學學報,2000(2):286-290.
[5]LIU L ,ZHANG Y, SHEN H, et al. Improved method of computer keyboard driver based on embedded linux[C]//Proc. 2012 9th International Conference on Fuzzy Systems and Knowledge Discovery(FSKD). Chengdu:IEEE Press,2012:2482-2486.
[6]ZHAO Xueliang,TIAN Dan. The architecture design of streaming media app lications for Android OS[C] //Proc. 2012 IEEE 3rd International Conference on Software Engineering and Service Science. Beijing:IEEE Press,2012:280-283.
[7]SONG Maoqiang,XIONG Wenkuo,FU Xiangling. Research on architecture of multimedia and its design based on Android[C]//Proc. 2010 International Conference on Internet Technology and Applications. Wuhan:IEEE Press,2010:1-4.
[8]SONG Maoqiang,SUN Jie,FU Xiangling. Design and implementaion of media player based on Android[C]//Proc. 2010 6th International Conference on Wireless Communications Networking and Mobile Computing. Chengdu:IEEE Press,2010:1-4.
[9]郭利全,謝維波. i.MX51平臺的Android系統移植[J].華僑大學學報:自然科學版,2013(3):286-291.
[10]胡安,任平安,李文莉. 基于Android系統的FFmpeg 多媒體同步傳輸算法研究[J].計算機技術與發展,2011,21(10):85-87.
Design and Implementation of Intelligent Simulation of STB Based on Android System
HU Shanshan1,YANG Fan1,HUA Zhong2,KOU Zhiqiang2,PAN Guofeng1
(1.CollegeofInformationEngineering,HebeiUniversityofTechnology,Tianjin300401,China; 2.TianjinBotroElectronicalTech.Co.,Ltd.,Tianjin300384,China)
In order to solve the problem that the digital broadcasting television installations always charge too much for the multi-room venues such as hotels and inns, an intelligent simulation of STB is designed and implemented. From the hardware level, the HI3716C platform is expanded, and from the software level, analog signal with Android built-in components is utilized. The construction of the NDK environment of the Android system and the seamless connection between the top layer application(JAVA) and the bottom layer(C programming language) are also realized. The experiment results indicate that the product performance is quite satisfying. The broad application prospects and commercial value can be predicted in big multi-room sites.
intelligent set-top boxes;Android;Analog signal;system migration
國家科技重大專項課題項目(2009ZX02308-004)
TN27
A
10.16280/j.videoe.2015.01.008
2014-05-08
【本文獻信息】戶珊珊,楊帆,華中,等.基于安卓系統的模擬智能機頂盒的設計與實現[J].電視技術,2015,39(1).
戶珊珊,碩士生,主要研究方向為信號與信息處理;
楊 帆,教授,博士生導師,主要從事電子電路、機器視覺及系統設計等方面的研究。
責任編輯:許 盈