- 論壇徽章:
- 0
|
一. 引言
在數(shù)字電視廣播系統(tǒng)中,節(jié)目復(fù)用器和傳輸流再?gòu)?fù)用器是必不可少的。節(jié)目復(fù)用器的作用是將編碼后的視頻基本流(ES)、音頻基本流、節(jié)目描述信息(Program Specification Information,PSI)和輔助數(shù)據(jù)按MPEG-2系統(tǒng)層標(biāo)準(zhǔn)規(guī)定的格式復(fù)用成為一個(gè)傳輸流。同時(shí),為了使收發(fā)端同步工作,系統(tǒng)時(shí)鐘(STC)計(jì)數(shù)器的值將被插入到相應(yīng)包的PCR字段中去。按照輸出傳輸流中所含的節(jié)目數(shù),傳輸流分為單節(jié)目傳輸流(SPTS)和多節(jié)目傳輸流(MPTS),相應(yīng)地,節(jié)目復(fù)用器也被分為單節(jié)目復(fù)用器和多節(jié)目復(fù)用器。在傳輸流最終被送到信道設(shè)備進(jìn)行信道發(fā)送之前,需要一臺(tái)設(shè)備將不同來源的傳輸流合成為一個(gè)新的傳輸流,即傳輸流再?gòu)?fù)用器。同時(shí),數(shù)據(jù)廣播、電子節(jié)目指南(Electrical Program Guide,EPG)、條件接收(Conditional Access CA)等服務(wù)信息(SI)一般也通過再?gòu)?fù)用器插入到輸出傳輸流。PCR校正是復(fù)用器的關(guān)鍵技術(shù)之一,PCR的作用是將發(fā)端的27MHz的時(shí)鐘以PCR時(shí)間戳的形式注入碼流中,而收端是否能夠根據(jù)該信息無偏差地恢復(fù)出發(fā)端的參考時(shí)鐘以達(dá)到收發(fā)同步,在對(duì)系統(tǒng)的性能有至關(guān)重要的影響,所以本文對(duì) PCR校正進(jìn)行了詳細(xì)的介紹。
二. MPEG-2系統(tǒng)層標(biāo)準(zhǔn)
MPEG-2標(biāo)準(zhǔn),即ISOIEC13818是數(shù)字電視系統(tǒng)的基礎(chǔ),它規(guī)定了兩種系統(tǒng)層碼流格式:一種是節(jié)目碼流(Program Stream,PS),即PS復(fù)用器將一個(gè)或幾個(gè)具有公共時(shí)間基準(zhǔn)的PES包組合成單一碼流,包的長(zhǎng)度相對(duì)較長(zhǎng)而且不固定,它適用于錯(cuò)誤相對(duì)較少、信道較好的環(huán)境,如演播室、家庭環(huán)境存儲(chǔ)媒介中。另一種是傳輸碼流(Transport Stream,TS),即PES流進(jìn)入傳輸復(fù)用器中切割成一個(gè)個(gè)固定長(zhǎng)度為188字節(jié)的包。適用于較容易發(fā)生錯(cuò)誤的環(huán)境,如廣播傳輸信道。在MPEG-2傳輸流中,包長(zhǎng)固定為188byte每個(gè)包由4byte包頭、可變數(shù)字節(jié)的適配域(Adaptation field)以及凈荷(Payload)組成。包頭包括:同步字節(jié)、根據(jù)內(nèi)容不同且長(zhǎng)度固定為13bit的包標(biāo)識(shí)(Packet Identifier,PID)、包連續(xù)計(jì)數(shù)器及其他各種標(biāo)志位.在自適應(yīng)字段中,比較重要的信息包括42bit的節(jié)目時(shí)鐘基準(zhǔn)(Program Clock Reference,PCR)字段。
三. 復(fù)用器的關(guān)鍵技術(shù)
如果在一個(gè)電視頻道內(nèi)復(fù)用幾路TS流,也即在一個(gè)常規(guī)頻道內(nèi)傳輸多套數(shù)字電視節(jié)目,則稱為多路節(jié)目的雙層復(fù)用。第一層復(fù)用稱為節(jié)目復(fù)用,第二層復(fù)用稱為傳輸復(fù)用。傳輸復(fù)用器的基本功能是將來自不同傳輸流的包進(jìn)行重新組合,然后放到輸出傳輸流中去。其關(guān)鍵技術(shù)有PCR的校正、PSI信息的重構(gòu)和PID的映射。
(1)PCR校正(PCR correction):PCR由33bit基值(Base)和9bit擴(kuò)展值(Extension)組成,PCR值以系統(tǒng)參考時(shí)鐘周期為單位記錄了源端的時(shí)間信息,對(duì)于整個(gè)數(shù)字電視系統(tǒng)的同步起著關(guān)鍵作用。在節(jié)目復(fù)用器中,有一個(gè)分為兩段的42bitPCR計(jì)數(shù)器,分別對(duì)應(yīng)傳輸流PCR字段的基值和擴(kuò)展值。擴(kuò)展值以節(jié)目復(fù)用器系統(tǒng)參考時(shí)鐘(2MHz)為基準(zhǔn)在0~299之間循環(huán)計(jì)數(shù);擴(kuò)展值每計(jì)到300時(shí)清零,同時(shí),基值加1。在PCR字段最后1個(gè)字節(jié)離開節(jié)目復(fù)用器前的那一時(shí)刻,基值和擴(kuò)展值分別被插入到傳輸流包的相應(yīng)位置。在接收端,通過對(duì)PCR值的提取,利用鎖相環(huán)電路恢復(fù)出與源端基本一致的27MHz時(shí)鐘,作為接收端工作的基準(zhǔn)時(shí)鐘。在再?gòu)?fù)用器中,由于輸入傳輸流的各個(gè)包經(jīng)過再?gòu)?fù)用器的處理后延時(shí)各不相同,有必要對(duì)各個(gè)節(jié)目PCR字段的內(nèi)容分別進(jìn)行修正,這種操作稱為PCR校正。其基本算法用公式表示如下:
其中,PCRin和PCRout分別為同一個(gè)包的PCR字段在進(jìn)入再?gòu)?fù)用器和離開再?gòu)?fù)用器時(shí)的數(shù)值;為此字段數(shù)據(jù)隨著相應(yīng)的傳輸流包在整個(gè)再?gòu)?fù)用器進(jìn)行各種處理后產(chǎn)生的延時(shí)總和。
(2)PSI信息由MPEG-2標(biāo)準(zhǔn)規(guī)定,記錄了關(guān)于信道、傳輸流和節(jié)目的基本信息。它主要包括節(jié)目關(guān)聯(lián)表(Program Association Table,PAT)、節(jié)目映射表(Program Map Table,PMT)、網(wǎng)絡(luò)信息表(Network Information Table,NIT)和條件接收表(Conditional Access Table,CAT)。PSI的插入可以看作再?gòu)?fù)用器數(shù)據(jù)插入功能的一個(gè)特例。因?yàn)樵購(gòu)?fù)用器的輸出傳輸流是由多個(gè)輸入傳輸流和數(shù)據(jù)組合而成,所以輸出TS的PSI信息需要根據(jù)輸出流的組成結(jié)構(gòu)重新生成。為了保證碼流的隨機(jī)接入性,MPEG-2標(biāo)準(zhǔn)規(guī)定PSI表的重復(fù)間隔不得超過100ms,而DVB標(biāo)準(zhǔn)則更加嚴(yán)格,要求不得超過40ms。
(3)PID映射(PID mapping):在同一個(gè)傳輸流中,不同數(shù)據(jù)包PID的分配是互不沖突的,當(dāng)來自多個(gè)傳輸流的包復(fù)用到一起時(shí),則可能發(fā)生PID沖突的現(xiàn)象。另外,用戶也可能需要修改某些PID,或?qū)⒛承㏄ID的包過濾掉。修改PID、根據(jù)PID使包選擇性通過等操作統(tǒng)稱為PID映射。
四. PCR校正的重要性及PCR抖動(dòng)
1.PCR校正的重要性
PCR是TS流中節(jié)目參考時(shí)鐘的英文縮寫,利用PCR可以使數(shù)字電視接收機(jī)或機(jī)頂盒的解碼視頻輸出與編碼器端的視頻源同步。從MPEG-2的模型來看,必須要保證傳輸系統(tǒng)是一個(gè)恒定延時(shí)系統(tǒng),它的端到端的延遲(從信號(hào)進(jìn)入編碼器到信號(hào)從解碼器輸出)是一個(gè)常數(shù)。如果不進(jìn)行校正或者校正精度不能滿足要求,解碼器所恢復(fù)的圖像容易掉彩色,還會(huì)出現(xiàn)周期性的黑屏現(xiàn)象,同時(shí)圖像會(huì)伴有馬賽克,嚴(yán)重時(shí)會(huì)出現(xiàn)死機(jī)。
PCR是整個(gè)MPEG-2傳輸系統(tǒng)中的統(tǒng)一時(shí)鐘,它的作用是將發(fā)端的27MHz時(shí)鐘以PCR時(shí)間戳的形式注入碼流中,而收端是否能夠根據(jù)該信息無偏差地恢復(fù)出發(fā)端的參考時(shí)鐘以達(dá)到收發(fā)時(shí)鐘的同步,這對(duì)系統(tǒng)的性能有至關(guān)重要的影響,因此對(duì)PCR的研究一直是熱點(diǎn)問題,其中主要的難點(diǎn)是如何校正并消除人為處理和網(wǎng)路阻塞等影響帶來的PCR抖動(dòng)。
2.非均勻延時(shí)和PCR抖動(dòng)
通常情況下,經(jīng)過復(fù)用和再?gòu)?fù)用后,PCR值并不能完全精確地反映信源編碼端的時(shí)間信息,這種現(xiàn)象稱為PCR抖動(dòng)(PCR jitter)。復(fù)用器增加的PCR抖動(dòng)量主要有以下幾個(gè)來源:①本地27MHz時(shí)鐘與節(jié)目復(fù)用器中系統(tǒng)參考時(shí)鐘不一致;②本地27MHz時(shí)鐘與輸入傳輸流時(shí)鐘不一致;③本地27MHz時(shí)鐘與輸出傳輸流時(shí)鐘不一致。
下面通過一個(gè)例子說明非均勻延遲。假若在某TS流中,PCR1和PCR2之間的原始碼速率是a,設(shè)為所表示的換算為秒的時(shí)間,兩者的間隔為m1(bit),顯然,根據(jù)PCR原理得到a=m1/△PCR。現(xiàn)在,由于傳輸過程中的各種原因,PCR1和PCR2之間的碼流速率變?yōu)閎,兩者間隔為m2,如果要求b=m2/△PCR(即變化后的PCR仍然能夠準(zhǔn)確地反映當(dāng)前速率),則必須有:
滿足式(1)的延遲稱為均勻延遲,否則稱為非均勻延遲,顯然在一個(gè)隨機(jī)變化的網(wǎng)路中均勻延遲幾乎是不可能的,我們把這種非均勻延遲帶來的PCR值不能正確放映碼流當(dāng)前的速率信息的狀況稱為PCR抖動(dòng)。
引起非均勻延遲的原因主要有兩大類:一類是數(shù)據(jù)在網(wǎng)路中傳輸時(shí)端到端的非均勻傳輸延遲造成的,這類抖動(dòng)一般來說都比較小,大多數(shù)系統(tǒng)是可以容忍的;另一類是根據(jù)傳輸?shù)男枰藶榈母淖兇a速率所引起的,碼流復(fù)用和碼速率調(diào)整所引起的PCR抖動(dòng)都屬于這一類,這類情況所引起的抖動(dòng)一般是比較大的。PCR抖動(dòng)較大會(huì)對(duì)收端恢復(fù)同步時(shí)鐘產(chǎn)生很大的影響,如果抖動(dòng)過大會(huì)進(jìn)一步影響圖像畫面的效果。不同的系統(tǒng)能夠容忍的最大抖動(dòng)是不同的,在DVB系統(tǒng)中要求小于500ns,因此要對(duì)PCR進(jìn)行校正。
五. PCR 校正的基本原理
1.TS流的幀結(jié)構(gòu)
有線電視傳送采用GB/17975.1-2000中規(guī)定的MPEG-2傳送層,MPEG-2數(shù)據(jù)傳送層由188個(gè)字節(jié)的包組成,每個(gè)包由分組包頭及有效負(fù)荷組成,如圖1所示。包含PCR的TS流包結(jié)構(gòu)如圖2所示。
2.PCR的作用
PCR是節(jié)目參考時(shí)鐘的英文縮寫。包頭自適應(yīng)區(qū)中周期性地包含6個(gè)字節(jié)的編碼,用來產(chǎn)生解碼器的鎖定時(shí)鐘。利用節(jié)目參考時(shí)鐘,可使數(shù)字電視接收機(jī)或機(jī)頂盒的解碼視頻輸出鎖定于編碼器輸入端的視頻信號(hào)源。在編碼器/復(fù)用器中,節(jié)目時(shí)鐘鎖定于輸入視頻信號(hào),由于標(biāo)清電視(SD)視頻(625行50Hz或525行59.94Hz)以27MHz時(shí)鐘為基準(zhǔn),那么節(jié)目時(shí)鐘也就是27MHz。PCR是計(jì)數(shù)器的抽點(diǎn)表示,由節(jié)目時(shí)鐘驅(qū)動(dòng),以某種特定的時(shí)間周期(推薦為40ms,ISO/IEC13818-1規(guī)定為100ms)插入到流中。
3.PCR的產(chǎn)生及再生
傳輸中的為一路節(jié)目提供參考時(shí)鐘,其中節(jié)目為具有共同時(shí)間基點(diǎn)的基本流集合,將被同步解碼和顯示。傳輸流中可能有多路節(jié)目,每一路節(jié)目都有獨(dú)立的時(shí)間基點(diǎn)和各自的。PCR分兩部分編碼:一部分以系統(tǒng)時(shí)鐘頻率27MHz的1/300為計(jì)數(shù)單位,稱為PCR_ base(方程),它的作用是在解碼器切換節(jié)目時(shí),提供給解碼器PCR計(jì)數(shù)器的初始值。另一部分以系統(tǒng)時(shí)鐘頻率27MHz作為計(jì)數(shù)單位,稱為PCR_ ext(方程),它的作用是通過解碼器端的鎖相環(huán)電路修正解碼器的系統(tǒng)時(shí)鐘,使其達(dá)到和編碼器一致。編碼在PCR(i)中的數(shù)值代表了t(i),i指包含PCR_ base字段的最后一位的字節(jié)。具體表達(dá)式如下:
由5.2節(jié)可知,PCR的取樣時(shí)鐘為27MHz,也就是說,單個(gè)時(shí)鐘周期為37ns,因此,PCR的插入誤差不得大于37ns。此外,復(fù)用器中的PCR插入機(jī)制應(yīng)能在TS流中確定的準(zhǔn)確位置,從而插入正確的數(shù)值,該位置的任何計(jì)算錯(cuò)誤將會(huì)導(dǎo)致PCR不準(zhǔn)確。對(duì)于再?gòu)?fù)用器和QAM調(diào)制器由于必須改變TS流中數(shù)據(jù)包的相對(duì)位置,因此當(dāng)再插入PCR值時(shí),其相應(yīng)變化量應(yīng)當(dāng)反映任何位置的變化。由此可見,由27MHz時(shí)鐘以及復(fù)用器(或再?gòu)?fù)用器和QAM調(diào)制器)的插入(或再插入)的計(jì)算錯(cuò)誤會(huì)造成PCR的不準(zhǔn)確,必須進(jìn)行PCR校正。
六. PCR校正的方法
不同的復(fù)用器中,由于PCR校正實(shí)現(xiàn)的方法各不相同,以附加PCR抖動(dòng)大。葱U龋橹饕笜(biāo)的性能差別也很大。下面分別介紹幾種PCR校正方法。
1.基于相同實(shí)際的PCR校正方案
在13818協(xié)議中并沒有對(duì)PCR的時(shí)基作明確的規(guī)定,即1路TS流中的多路節(jié)目的PCR 可以使用相互獨(dú)立的時(shí)基,也可以使用統(tǒng)一時(shí)基(顯然現(xiàn)實(shí)中不同節(jié)目的產(chǎn)生是不相關(guān)的,所以往往在復(fù)用時(shí)保留原有不相關(guān)的時(shí)基),PCR的作用在于為收端提供一個(gè)時(shí)鐘基準(zhǔn),所需要的是PCR之間的差值,而每一個(gè)PCR的絕對(duì)值是沒有意義的。所以,利用一個(gè)本地27MHz時(shí)鐘按照13818協(xié)議的規(guī)則重新生成42位PCR值,當(dāng)TS流中存在多路節(jié)目時(shí),不區(qū)分當(dāng)前的PCR域內(nèi)為哪一路節(jié)目的PCR,而是利用一個(gè)統(tǒng)一的時(shí)鐘根據(jù)時(shí)間在每一個(gè)PCR域內(nèi)順序置入新的PCR值,這樣多路節(jié)目的PCR共享一個(gè)時(shí)基,而在恢復(fù)時(shí)鐘時(shí)無需判斷是哪一路節(jié)目的PCR,只需根據(jù)PCR的先后順序進(jìn)行鎖相恢復(fù)即可。由于第二次PCR置入是在速率變化之后,最終輸出的PCR值可以無抖動(dòng)地反映調(diào)整之后的碼流速率,可見盡管碼率調(diào)整使得PCR出現(xiàn)抖動(dòng),但是重新置入PCR使得抖動(dòng)消除。
2.關(guān)于基于相同時(shí)基的PCR校正策略的改進(jìn)[4]
基于相同時(shí)基的PCR校正方法存在一定的弊端,由于采用本地27MHz時(shí)鐘進(jìn)行PCR的重新置入,最終恢復(fù)出來的27MHz時(shí)鐘必然是本地的參考時(shí)鐘,假如這個(gè)時(shí)鐘與原參考時(shí)鐘有偏差,那么這個(gè)偏差將不斷積累,假如原參考時(shí)鐘是產(chǎn)生PS流時(shí)產(chǎn)生PCR的參考時(shí)鐘(這個(gè)時(shí)鐘也是最終收端所需要的時(shí)鐘基準(zhǔn)),這個(gè)偏差的積累最終可能導(dǎo)致緩沖區(qū)的溢出并使解碼產(chǎn)生不良效果,所以在置入時(shí)準(zhǔn)確地恢復(fù)出原27MHz時(shí)鐘,使重新置入PCR參考時(shí)鐘無偏差或偏差較小,基于此,對(duì)該方案提出了改進(jìn)。
具體方法是從第一次PCR的重新注入開始,每一次重新注入PCR之前,首先通過,碼流中的原有PCR恢復(fù)出參考時(shí)鐘,并用這一時(shí)鐘來產(chǎn)生新的PCR,從PS流開始,第一次引起PCR抖動(dòng)的是MPEG-2復(fù)用器,而在碼流被復(fù)用以前其PCR是完全沒有抖動(dòng)的,從這里開始使用上述方法,可以解決時(shí)鐘偏移量積累的問題。最終的整體FPGA實(shí)現(xiàn)框圖如下。
3.改進(jìn)的PCR校正算法
改進(jìn)的PCR調(diào)整方法有別于原來的方法,它不是對(duì)原有的PCR值進(jìn)行修改,而是重新生成正確的PCR值,并替代原有的PCR值;驹硎怯帽镜27MHz時(shí)鐘計(jì)數(shù)值代替原有的PCR值,同時(shí)保存它們之間的差值,在用這個(gè)差值調(diào)整PTS,DTS值。如圖4所示,原PCR值進(jìn)入PCR校正模塊,被本地27MHz時(shí)鐘計(jì)數(shù)值代替輸出,同時(shí)計(jì)算兩者的差值并保存到RAM中;如圖5所示,原PTS,DTS值進(jìn)入PTS,DTS 校正模塊,原PTS和DTS值減去保存在RAM中的相應(yīng)差值,輸出正確的PTS和DTS值。
七. 結(jié)束語
在復(fù)用器系統(tǒng)中凡涉及到TS流的解復(fù)用和在復(fù)用都不可避免的要涉及到PCR校正問題。通過分析PCR校正的原因,介紹PCR校正的基本原理和現(xiàn)有的一些不同的PCR校正方法,可以為以后的研究和設(shè)計(jì)奠定一定的基礎(chǔ)。
參考文獻(xiàn)
[1] 王興東,余松煜,梁龍飛.MPEG-2傳輸流再?gòu)?fù)用器的設(shè)計(jì)[J].上海交通大學(xué)學(xué)報(bào).2003年6月
[2] 楊德鵬,鄒倫開,徐亮. MPEG-2節(jié)目復(fù)用器中的關(guān)鍵技術(shù)及實(shí)現(xiàn)[J].中國(guó)有線電視.2006年2月
[3] 鄭鑫,張曉玲.數(shù)字電視QAM調(diào)制器中PCR校正的設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)有線電視.2005年7月
[4] 張煒,劉鵬.基于MPEG-2的PCR校正策略[J].中國(guó)有線電視.2006年
[5] 張磊,王宏遠(yuǎn).基于改進(jìn)的PCR校正算法的MPEG-2復(fù)用器[J].電視技術(shù).2006年第3期
本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/19273/showart_2185678.html |
|