羅才華,江 維
(四川九州電子科技股份有限公司技術開發中心,四川 綿陽 621000)
隨著國家模擬電視向數字電視整體轉換的快速推進和隨著存儲技術的日趨發展,在數字電視機頂盒上嵌入個人視頻錄像(PVR),功能已經成為現實。PVR與數字機頂盒的緊密結合,帶來了數字電視的新概念,極大地促進了數字電視業務的推廣[1-3]。
在數字電視機頂盒中實現PVR功能,其基本原理為:1)電視節目的RF信號通過機頂盒前端調諧、解調,獲取到TS流數據;2)TS流數據經過數字機頂盒解復用模塊后,得到選擇的電視節目音視頻數據;3)將該音視頻數據按某一特定文件格式寫入存儲介質中;4)從存儲介質中讀取某節目數據包文件,送入音視頻解碼器解碼[4]。
原理框圖如圖1所示。

數字機頂盒采取的解碼芯片不一樣,其PVR實現的機制也不同,主要體現在采取的存儲模式有較大差異。但總體來說,還是可以分為節目錄制部分、節目回放部分、存儲部分等,下面將分別論述。
在數字機頂盒中,錄像功能就是把一個時間段的節目按特定的方式保存下來。本設計方案中,實現一段節目的錄像,首先對該節目一些基本信息,比如音視頻PID值、節目開始時間、節目時長等進行記錄并寫入存儲介質。與此同時,也將音視頻MPEG數據記錄下來寫入存儲介質中。其數據流程如圖2所示。

在設計中,將存儲的內容作為重要設計內容:存儲的基本信息要能描述出該段音視頻數據的基本特性;存儲的MPEG文件僅僅包含了AV數據,沒有附加其他額外的數據流信息,以充分保證能存儲更大時長的節目流。
回放,就是從存儲介質中讀取有效數據,送入解碼器進行解碼的過程。在本部分中,由于數據是來自于本地存儲介質,而非實時碼流。因此,老百姓所期望的自主應用都可以實現了。在軟件設計上,根據獲取到的音視頻數據的編碼格式,通過扔掉B幀/P幀、改變STC(System Time Clock)的速率、重映射PTS等來實現技巧模式,如快進、快退、跳轉等。其數據流程如圖3所示。

本設計方案是基于文件系統進行數據的讀和寫。在設計中,讀和寫要求以異步的方式進行訪問;讀和寫的完成通過回調函數進行通知。因此,軟件設計時,建立了兩個線程,為文件的輸入和輸出服務。其目的是,當一個線程完成了I/O請求后,另一個線程已經做好訪問的準備。這兩個線程都能被節目錄制和節目回放的文件讀寫所訪問,但錄制要優先于回放。而數據存儲的緩沖區支持線性緩沖和環形緩沖兩種模式,在進行寫時,優先判斷緩沖區是否已經滿,讀取時,優先判斷緩沖區是否是空。這也是緩沖區不能上溢和下溢的保證。其機制如圖4所示。

圖4 存儲機制圖
由于嵌入式設備資源的因素,特別是在數字機頂盒這個特殊設備中,集成PVR功能時,需要重點考慮如下要點:
1)寫入存儲介質的速率。在設計過程中,發現寫入速率會影響錄像的節目在回放時是否會導致馬賽克或者U盤丟失等問題。一般來說,在數字機頂盒中,是通過USB接口、SATA接口外接移動硬盤、U盤作為存儲設備。通過SATA接口外接的硬盤,寫入速率能得到保證。但通過USB接口外接的存儲介質,一是會受到硬件布板影響,二是各種USB接口的存儲介質存在較大差異。因此,在選擇設備時會受到制約。在本方案是通過調整USB帶寬識別范圍而得到改善。
2)錄像中,移動設備拔出的處理機制。設備的突然拔出會影響數據的完整性,產生空數據文件等。在本設計方案中,有兩種機制來應對:一是通過設定固定文件大小的存儲機制,當達到規定大小時,會形成新的存儲文件;二是設定固定時長的文件的存儲機制,該文件大小將會隨著數據碼流碼率不同而不同。這樣,即使突然拔出移動設備,也僅僅影響很有限的一段數據。
3)用戶接口(UI)的配合。PVR功能的實現必須要有相配合的界面,才能簡明、易懂。特別是細節的提示信息、通用的圖標配合。
在欣賞一段節目時,想把這段節目進行收藏,那么可以拿起遙控器,按錄像鍵即可以實現對節目的實時錄像。同時,也不影響對該節目的繼續觀看。當然也可以瀏覽其他節目。
數字機頂盒一般具備EPG(電子節目指南)功能,那么可以結合EPG功能,對預報的節目信息進行預約錄像。也可以手動修改未來的某個時間段進行錄像。這樣,外出的時候也不會把精彩的節目錯過。
當正在錄制一段節目時,恰好瀏覽到另一套喜愛的節目,怎么辦?PVR的此項功能可以輕松解決。當然,數字機頂盒需要配備多個Tuner。
當正在錄制一段節目時,想對之前錄制的節目進行觀看,那么在一邊錄制當前節目的同時,也可以進入回放頁面進行節目觀看。
在回放節目的過程中,可以進行快退、快進、慢進等操作,達到隨心所欲地控制節目的進程。
當正在觀看喜愛的電視節目時,電話來了,那么可以按暫停鍵暫停當前節目播放,結束電話通話后,可以按播放鍵,節目會從暫停處繼續播放,不會錯過電視節目。
闡述了在數字機頂盒中如何采用存儲技術實現PVR的功能。并針對實現過程中遇到的一些問題及處理方法進行了描述。該實現已經在市場中進行了應用,豐富了觀眾的精神文化生活。相信隨著未來存儲技術、數字化技術的更深發展,PVR功能會帶給觀眾更多的自主性。
[1]ISO/IEC 13818-1/2/3/4,運動圖像及其伴音信息的通用編碼[S].2007.
[2]Universal Serial Bus Specification Revision 2.0,通用串行總線[S].2000.
[3]BAR M.Linux文件系統[M].天宏工作室,譯.北京:清華大學出版社,2003.
[4]余健,周華梅,趙力,等.個人視頻錄像技術及其在數字電視機頂盒中的應用[J].電子產品世界,2006(13):124-126.
[5]許長亮,侯正信.一種實現數字電視PVR功能的設計方法[J].電視技術,2005,29(11):80-82.
[6]張啟武,于鴻洋,張萍.基于STi7109的PVR數字電視機頂盒設計[J].電視技術,2010,34(S1):113-114.
[7]朱亮,劉衛忠,馮卓明,等.單芯片DVB-C錄像機頂盒[J].有線電視技術,2004(3):107-108.