<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計應(yīng)用 > 基于地面高清機(jī)頂盒的PVR系統(tǒng)設(shè)計與開發(fā)

          基于地面高清機(jī)頂盒的PVR系統(tǒng)設(shè)計與開發(fā)

          作者: 時間:2009-10-23 來源:網(wǎng)絡(luò) 收藏

          (4)錄像播放模式:通道3開,通道1、通道2關(guān)。打開硬盤音視頻文件,將數(shù)據(jù)送到緩存,然后經(jīng)過音視頻同步處理后再傳輸?shù)紻ECODER,最后進(jìn)行相應(yīng)的音/視頻輸出。
          (5)時移播放模式:通道2、通道3開,通道1關(guān)。時移播放即指通過硬盤的緩存能力,用戶可以像操作本地文件一樣暫停當(dāng)前播放的電視節(jié)目,過任意時間后繼續(xù)播放,或者隨時回放已播精彩鏡頭。在這種模式下,先將APES/VPES流經(jīng)緩存后保存為硬盤音/視頻文件,然后根據(jù)用戶需要可以隨時將硬盤文件音/視頻解碼并輸出。
          (6)預(yù)約錄制模式:與邊播邊錄模式類似,不同之處在于利用EPG和時鐘板定時喚醒系統(tǒng)進(jìn)行節(jié)目的錄制。

          本文引用地址:http://www.ex-cimer.com/article/166862.htm


          2 軟件結(jié)構(gòu)
          本系統(tǒng)采用sigma Designs公司提供的配套軟件包(SDK),主要分為兩個部分:Armutils包與EM8623L包。
          Armutils開發(fā)包主要包含uClinux內(nèi)核、文件系統(tǒng)、編譯工具、編譯環(huán)境等與ARM芯片相關(guān)的軟件。使用Armutils開發(fā)包來生成的運(yùn)行內(nèi)核,以及應(yīng)用程序的編譯與調(diào)試環(huán)境。
          EM8620L開發(fā)包主要包含Envision EM8623L開發(fā)板的相關(guān)驅(qū)動,啟動引導(dǎo)程序(Boot Loader),以及名為DCC(Decoding Chain Control)的用戶接口,用戶程序可通過DCC庫的調(diào)用實(shí)現(xiàn)對底層硬件的訪問,應(yīng)用程序的開發(fā)都是這些接口與驅(qū)動之上的。圖2簡單描述了解決方案提出的軟件開發(fā)層次結(jié)構(gòu)。

          3 關(guān)鍵實(shí)現(xiàn)技術(shù)
          3.1 音、視頻同步技術(shù)
          電視信號錄制產(chǎn)生的音、視頻數(shù)據(jù)各自以PES包的形式存儲在硬盤上,當(dāng)它們被讀出并且被解碼播放時,隨之就會產(chǎn)生音頻和視頻之間的同步問題。
          數(shù)字電視廣播的MPEG-2數(shù)字碼流中包括兩種時間信息:用于機(jī)頂盒本地系統(tǒng)時鐘與廣播系統(tǒng)前端時鐘同步的節(jié)目時鐘參考(Program Clock Reference,PCR),位于TS包的首部;以及用于音視頻同步的展現(xiàn)時間戳/解碼時間戳(Presentation Time stamp/Decoding Timestamp,PTS/DTS),位于PES包的首部。在本系統(tǒng)中,由于音、視頻數(shù)據(jù)是以PES包的格式被存儲到硬盤的,所以PCR并沒有被存儲;而另外一方面,在播放已錄節(jié)目時,音、視頻數(shù)據(jù)是實(shí)時從硬盤中讀出的,讀取數(shù)據(jù)和播放數(shù)據(jù)都同屬于PVR系統(tǒng)內(nèi)部的操作,所以并不存在系統(tǒng)間時鐘同步的問題,因此,在PVR系統(tǒng)的回放操作中不用考慮PCR。所以在錄像回放過程中,只能利用PTS/DTS來維持音頻與視頻的同步。播放錄像時,幀速率(FrameRate)決定了視頻數(shù)據(jù)的解碼速率,所以可以將視頻PTS作為基準(zhǔn),將音頻PTS與之相比較,以此調(diào)整音頻解碼的速率,從而達(dá)到使音頻與視頻同步的目的,具體采用的方法如下:
          (1)視頻數(shù)據(jù)被傳送到解碼單元的視頻緩沖區(qū)的過程中,對它進(jìn)行解析,記錄其中的PTS,并構(gòu)建視頻PTS表;
          (2)對于音頻數(shù)據(jù),也同樣構(gòu)建音頻PTS表;
          (3)在解碼過程中將視頻PTS作為基準(zhǔn),修正解碼單元中由系統(tǒng)時鐘驅(qū)動的SCR(系統(tǒng)時鐘參考)計數(shù)器的值;
          (4)根據(jù)音頻緩沖區(qū)指針的位置,在音頻PTS表中查找相應(yīng)的PTS值,將此值與SCR計數(shù)器的值相比較,作為調(diào)整音頻解碼速率的依據(jù),從而控制音頻解碼器解碼動作,實(shí)現(xiàn)音頻數(shù)據(jù)跟隨視頻數(shù)據(jù)的同步。
          3.2 緩存技術(shù)
          如圖2所示,經(jīng)過前端解調(diào)得到的TS流經(jīng)由2D圖像引擎處理后進(jìn)入DEMUX模塊。DEMUX模塊是一個集成在主控芯片中的特殊微處理器,主要任務(wù)是進(jìn)行TS流的分析和解復(fù)用。由于硬盤的傳輸速率有限,因此為了減少磁盤讀寫次數(shù),系統(tǒng)在內(nèi)存中開辟一塊緩沖區(qū)用以緩沖音、視頻數(shù)據(jù),當(dāng)緩沖區(qū)數(shù)值達(dá)到門限時,將其存儲數(shù)據(jù)寫入硬盤。寫數(shù)據(jù)與寫硬盤兩個操作采用并行的線程來執(zhí)行,線程間通過信號進(jìn)行同步。
          而在錄像文件的回放過程中,從硬盤中讀出的音、視頻PES文件分別放入音、視頻緩沖區(qū)中,系統(tǒng)不斷檢測緩沖區(qū)數(shù)據(jù)大小,如果數(shù)據(jù)小于門限值,則通知數(shù)據(jù)傳輸線程把新數(shù)據(jù)送入。
          錄像文件的記錄方式包括兩種。正常錄制的文件大小隨著錄制時長的增長而增加,直到節(jié)目錄制完成或者硬盤空間耗盡為止。而在時移錄制模式下,錄像文件大小固定,它包括了寫指針和讀指針。在開始時移錄制時,寫指針開始往后移動,畫面靜止在開始錄制的時刻。當(dāng)回復(fù)收看時,讀指針與寫指針同步向后移動,寫指針在節(jié)目結(jié)束時停止移動,而讀指針自然在與寫指針重合時停止移動。需要指出的是,由于時移錄制并不以錄制文件并回放為目的,所以播放過的節(jié)目即被丟棄,因此該文件是一個循環(huán)文件,寫指針與讀指針在到達(dá)文件末尾時跳回文件開頭。由于硬盤空間所限,循環(huán)文件大小即為最大時移錄制時長,超過該時長則時移模式失效。
          通過緩存技術(shù)的使用,系統(tǒng)大幅度減少了硬盤I/O次數(shù),提高了系統(tǒng)效率,同時也達(dá)到了保護(hù)硬盤的效果。同時,緩存技術(shù)和音、視頻同步技術(shù)相結(jié)合,實(shí)現(xiàn)了電視節(jié)目的回放以及時移播放,真正體現(xiàn)了數(shù)字化PVR的強(qiáng)大人機(jī)交互功能。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();