羅才華,江 維
(四川九州電子科技股份有限公司技術(shù)開發(fā)中心,四川 綿陽(yáng) 621000)
隨著國(guó)家模擬電視向數(shù)字電視整體轉(zhuǎn)換的快速推進(jìn)和隨著存儲(chǔ)技術(shù)的日趨發(fā)展,在數(shù)字電視機(jī)頂盒上嵌入個(gè)人視頻錄像(PVR),功能已經(jīng)成為現(xiàn)實(shí)。PVR與數(shù)字機(jī)頂盒的緊密結(jié)合,帶來了數(shù)字電視的新概念,極大地促進(jìn)了數(shù)字電視業(yè)務(wù)的推廣[1-3]。
在數(shù)字電視機(jī)頂盒中實(shí)現(xiàn)PVR功能,其基本原理為:1)電視節(jié)目的RF信號(hào)通過機(jī)頂盒前端調(diào)諧、解調(diào),獲取到TS流數(shù)據(jù);2)TS流數(shù)據(jù)經(jīng)過數(shù)字機(jī)頂盒解復(fù)用模塊后,得到選擇的電視節(jié)目音視頻數(shù)據(jù);3)將該音視頻數(shù)據(jù)按某一特定文件格式寫入存儲(chǔ)介質(zhì)中;4)從存儲(chǔ)介質(zhì)中讀取某節(jié)目數(shù)據(jù)包文件,送入音視頻解碼器解碼[4]。
原理框圖如圖1所示。
數(shù)字機(jī)頂盒采取的解碼芯片不一樣,其PVR實(shí)現(xiàn)的機(jī)制也不同,主要體現(xiàn)在采取的存儲(chǔ)模式有較大差異。但總體來說,還是可以分為節(jié)目錄制部分、節(jié)目回放部分、存儲(chǔ)部分等,下面將分別論述。
在數(shù)字機(jī)頂盒中,錄像功能就是把一個(gè)時(shí)間段的節(jié)目按特定的方式保存下來。本設(shè)計(jì)方案中,實(shí)現(xiàn)一段節(jié)目的錄像,首先對(duì)該節(jié)目一些基本信息,比如音視頻PID值、節(jié)目開始時(shí)間、節(jié)目時(shí)長(zhǎng)等進(jìn)行記錄并寫入存儲(chǔ)介質(zhì)。與此同時(shí),也將音視頻MPEG數(shù)據(jù)記錄下來寫入存儲(chǔ)介質(zhì)中。其數(shù)據(jù)流程如圖2所示。
在設(shè)計(jì)中,將存儲(chǔ)的內(nèi)容作為重要設(shè)計(jì)內(nèi)容:存儲(chǔ)的基本信息要能描述出該段音視頻數(shù)據(jù)的基本特性;存儲(chǔ)的MPEG文件僅僅包含了AV數(shù)據(jù),沒有附加其他額外的數(shù)據(jù)流信息,以充分保證能存儲(chǔ)更大時(shí)長(zhǎng)的節(jié)目流。
回放,就是從存儲(chǔ)介質(zhì)中讀取有效數(shù)據(jù),送入解碼器進(jìn)行解碼的過程。在本部分中,由于數(shù)據(jù)是來自于本地存儲(chǔ)介質(zhì),而非實(shí)時(shí)碼流。因此,老百姓所期望的自主應(yīng)用都可以實(shí)現(xiàn)了。在軟件設(shè)計(jì)上,根據(jù)獲取到的音視頻數(shù)據(jù)的編碼格式,通過扔掉B幀/P幀、改變STC(System Time Clock)的速率、重映射PTS等來實(shí)現(xiàn)技巧模式,如快進(jìn)、快退、跳轉(zhuǎn)等。其數(shù)據(jù)流程如圖3所示。
本設(shè)計(jì)方案是基于文件系統(tǒng)進(jìn)行數(shù)據(jù)的讀和寫。在設(shè)計(jì)中,讀和寫要求以異步的方式進(jìn)行訪問;讀和寫的完成通過回調(diào)函數(shù)進(jìn)行通知。因此,軟件設(shè)計(jì)時(shí),建立了兩個(gè)線程,為文件的輸入和輸出服務(wù)。其目的是,當(dāng)一個(gè)線程完成了I/O請(qǐng)求后,另一個(gè)線程已經(jīng)做好訪問的準(zhǔn)備。這兩個(gè)線程都能被節(jié)目錄制和節(jié)目回放的文件讀寫所訪問,但錄制要優(yōu)先于回放。而數(shù)據(jù)存儲(chǔ)的緩沖區(qū)支持線性緩沖和環(huán)形緩沖兩種模式,在進(jìn)行寫時(shí),優(yōu)先判斷緩沖區(qū)是否已經(jīng)滿,讀取時(shí),優(yōu)先判斷緩沖區(qū)是否是空。這也是緩沖區(qū)不能上溢和下溢的保證。其機(jī)制如圖4所示。
圖4 存儲(chǔ)機(jī)制圖
由于嵌入式設(shè)備資源的因素,特別是在數(shù)字機(jī)頂盒這個(gè)特殊設(shè)備中,集成PVR功能時(shí),需要重點(diǎn)考慮如下要點(diǎn):
1)寫入存儲(chǔ)介質(zhì)的速率。在設(shè)計(jì)過程中,發(fā)現(xiàn)寫入速率會(huì)影響錄像的節(jié)目在回放時(shí)是否會(huì)導(dǎo)致馬賽克或者U盤丟失等問題。一般來說,在數(shù)字機(jī)頂盒中,是通過USB接口、SATA接口外接移動(dòng)硬盤、U盤作為存儲(chǔ)設(shè)備。通過SATA接口外接的硬盤,寫入速率能得到保證。但通過USB接口外接的存儲(chǔ)介質(zhì),一是會(huì)受到硬件布板影響,二是各種USB接口的存儲(chǔ)介質(zhì)存在較大差異。因此,在選擇設(shè)備時(shí)會(huì)受到制約。在本方案是通過調(diào)整USB帶寬識(shí)別范圍而得到改善。
2)錄像中,移動(dòng)設(shè)備拔出的處理機(jī)制。設(shè)備的突然拔出會(huì)影響數(shù)據(jù)的完整性,產(chǎn)生空數(shù)據(jù)文件等。在本設(shè)計(jì)方案中,有兩種機(jī)制來應(yīng)對(duì):一是通過設(shè)定固定文件大小的存儲(chǔ)機(jī)制,當(dāng)達(dá)到規(guī)定大小時(shí),會(huì)形成新的存儲(chǔ)文件;二是設(shè)定固定時(shí)長(zhǎng)的文件的存儲(chǔ)機(jī)制,該文件大小將會(huì)隨著數(shù)據(jù)碼流碼率不同而不同。這樣,即使突然拔出移動(dòng)設(shè)備,也僅僅影響很有限的一段數(shù)據(jù)。
3)用戶接口(UI)的配合。PVR功能的實(shí)現(xiàn)必須要有相配合的界面,才能簡(jiǎn)明、易懂。特別是細(xì)節(jié)的提示信息、通用的圖標(biāo)配合。
在欣賞一段節(jié)目時(shí),想把這段節(jié)目進(jìn)行收藏,那么可以拿起遙控器,按錄像鍵即可以實(shí)現(xiàn)對(duì)節(jié)目的實(shí)時(shí)錄像。同時(shí),也不影響對(duì)該節(jié)目的繼續(xù)觀看。當(dāng)然也可以瀏覽其他節(jié)目。
數(shù)字機(jī)頂盒一般具備EPG(電子節(jié)目指南)功能,那么可以結(jié)合EPG功能,對(duì)預(yù)報(bào)的節(jié)目信息進(jìn)行預(yù)約錄像。也可以手動(dòng)修改未來的某個(gè)時(shí)間段進(jìn)行錄像。這樣,外出的時(shí)候也不會(huì)把精彩的節(jié)目錯(cuò)過。
當(dāng)正在錄制一段節(jié)目時(shí),恰好瀏覽到另一套喜愛的節(jié)目,怎么辦?PVR的此項(xiàng)功能可以輕松解決。當(dāng)然,數(shù)字機(jī)頂盒需要配備多個(gè)Tuner。
當(dāng)正在錄制一段節(jié)目時(shí),想對(duì)之前錄制的節(jié)目進(jìn)行觀看,那么在一邊錄制當(dāng)前節(jié)目的同時(shí),也可以進(jìn)入回放頁(yè)面進(jìn)行節(jié)目觀看。
在回放節(jié)目的過程中,可以進(jìn)行快退、快進(jìn)、慢進(jìn)等操作,達(dá)到隨心所欲地控制節(jié)目的進(jìn)程。
當(dāng)正在觀看喜愛的電視節(jié)目時(shí),電話來了,那么可以按暫停鍵暫停當(dāng)前節(jié)目播放,結(jié)束電話通話后,可以按播放鍵,節(jié)目會(huì)從暫停處繼續(xù)播放,不會(huì)錯(cuò)過電視節(jié)目。
闡述了在數(shù)字機(jī)頂盒中如何采用存儲(chǔ)技術(shù)實(shí)現(xiàn)PVR的功能。并針對(duì)實(shí)現(xiàn)過程中遇到的一些問題及處理方法進(jìn)行了描述。該實(shí)現(xiàn)已經(jīng)在市場(chǎng)中進(jìn)行了應(yīng)用,豐富了觀眾的精神文化生活。相信隨著未來存儲(chǔ)技術(shù)、數(shù)字化技術(shù)的更深發(fā)展,PVR功能會(huì)帶給觀眾更多的自主性。
[1]ISO/IEC 13818-1/2/3/4,運(yùn)動(dòng)圖像及其伴音信息的通用編碼[S].2007.
[2]Universal Serial Bus Specification Revision 2.0,通用串行總線[S].2000.
[3]BAR M.Linux文件系統(tǒng)[M].天宏工作室,譯.北京:清華大學(xué)出版社,2003.
[4]余健,周華梅,趙力,等.個(gè)人視頻錄像技術(shù)及其在數(shù)字電視機(jī)頂盒中的應(yīng)用[J].電子產(chǎn)品世界,2006(13):124-126.
[5]許長(zhǎng)亮,侯正信.一種實(shí)現(xiàn)數(shù)字電視PVR功能的設(shè)計(jì)方法[J].電視技術(shù),2005,29(11):80-82.
[6]張啟武,于鴻洋,張萍.基于STi7109的PVR數(shù)字電視機(jī)頂盒設(shè)計(jì)[J].電視技術(shù),2010,34(S1):113-114.
[7]朱亮,劉衛(wèi)忠,馮卓明,等.單芯片DVB-C錄像機(jī)頂盒[J].有線電視技術(shù),2004(3):107-108.