王 妍,楊 波
(北京郵電大學 信息與通信工程學院,北京 100876)
為了實現數字電視系統(tǒng)中的實時解碼、播放和音視頻同步,MPEG-2標準規(guī)定在編碼端采用一個公共的系統(tǒng)時鐘參考[1-2]。在傳輸流的TS,PES和ES 3個不同的碼流層次中規(guī)定了不同的時間信息字段,通過這些字段的聯合作用來完成接收端的實時解碼和同步,依次是節(jié)目時鐘參考(Program Clock Reference,PCR)、解碼時間戳(Decode Time Stamp,DTS)和顯示時間戳(Presentation Time Stamp,PTS)以及 VBV_Delay 域。
PCR字段有著關鍵的作用,因為解碼端解碼時首先需要利用PCR字段完成本地系統(tǒng)時鐘恢復,進而借助DTS和PTS使音視頻的解碼與播放達到同步狀態(tài)。然而傳輸網絡的延遲和抖動、節(jié)目切換、節(jié)目再復用等因素會造成PCR抖動,直接影響到音視頻的解碼及同步性能。由此可見,時鐘恢復和減小PCR抖動影響是數字電視系統(tǒng)中音視頻同步的關鍵所在,也是工程應用中的一個難題。
筆者在分析基本的本地系統(tǒng)時鐘恢復原理和PCR抖動成因之外,介紹了數字電視芯片PLM3K平臺的時鐘恢復和減小PCR抖動影響的方案,該方案具有較高的工程應用價值,且已成功商用化。
一般來說,接收端的本地系統(tǒng)時鐘恢復有2種方法:鎖相環(huán)法和異步置數法。MPEG-2標準介紹了鎖相環(huán)法,即接收系統(tǒng)通過相位鎖定環(huán)(Phase Locked Loop,PLL)來恢復系統(tǒng)時鐘,該法是經典的時鐘恢復方法,輸出的時鐘頻率和編碼端嚴格匹配,但也有部分接收系統(tǒng)采用獨立生成的系統(tǒng)時鐘,時鐘頻率和編碼端并不嚴格匹配,隨著時間的推移,會引起系統(tǒng)的誤差積累,因此在必要之時需要通過PCR字段更新系統(tǒng)時鐘的計數器來校正系統(tǒng)時鐘,這就是異步置數法。
鎖相環(huán)法的原理圖如圖1所示。
其基本工作原理是:當一個新節(jié)目開始,第一個PCR被載入計數器,其后是PLL閉環(huán)操作。在每個PCR達到解碼器的時刻,它的值與當前計數器值作比較,差值為一個數值,一個部分以90 kHz為單位,另一個部分以27 MHz為單位。該差值被線性化到單個的數值空間,通常以27 MHz為單位,稱為e,e值序列輸入到低通濾波增益。該階段的輸出是一個控制信號f,用于控制壓控晶振的瞬時頻率。壓控的輸出是一個標稱值為27 MHz的振蕩信號,即可用作本地的系統(tǒng)時鐘,同時該時鐘輸入到計數器中生成當前的計數值。
異步置數法的基本原理圖如圖2所示。
可以直接恢復本地27MHz的系統(tǒng)時鐘,該法比鎖相環(huán)法簡單,但時鐘精度卻比不上鎖相環(huán)。因此,必要時需要用PCR字段更新系統(tǒng)時鐘計數器,以此校正系統(tǒng)時鐘的頻率偏差。
網絡或傳輸流在復合器使從編碼器或存儲系統(tǒng)到解碼器的數據傳輸延遲不同,將導致PCR值和實際接收值之間產生差異,這就是PCR抖動。
PCR抖動會影響到本地系統(tǒng)時鐘的恢復,在鎖相環(huán)法中會延長鎖定時間甚至無法鎖定;在異步置數法中會導致系統(tǒng)時鐘計數器的數值錯誤,進而導致解碼緩沖區(qū)發(fā)生上溢或下溢以及音視頻不同步等現象。PCR抖動產生的原因大致有2種:網絡傳輸和再復用。
1)對于網絡傳輸引起的情況。實際的網絡存在傳輸時延和時延抖動、媒體共享系統(tǒng)隊列延遲或網絡存取時間變化,接收端收到的PCR具有可變延遲,這種PCR抖動范圍較小,持續(xù)時間較短。
2)對于再復用情況。傳輸流數據分組的順序和相對位置發(fā)生變化,因此PCR位置的改變會使原先正確的PCR值不再正確,并沒有反映它們經過一定的延遲后被傳送的時間,這種PCR抖動范圍較大,持續(xù)時間長。
減小PCR抖動影響的方法[3-6]有增大解碼緩沖區(qū)來擴大PCR抖動的范圍、對PCR進行常量基礎之上的校正和結合時鐘恢復的具體方案來選擇適合實際平臺的具體方案等。
PLM3K是一款高清數字電視芯片,它通過硬件方法獨立生成系統(tǒng)時鐘,并通過軟件方法利用PCR字段校正時鐘精準度和減小PCR抖動的影響,原理框圖如圖3所示,硬件和軟件的 “溝通橋梁”是2個寄存器:STC計數器和PCR寄存器。STC計數器對本地獨立產生的系統(tǒng)時鐘進行周期計數;PCR寄存器存儲并更新接收到的PCR字段。具體流程圖如圖4所示。
當一個新節(jié)目開始或者節(jié)目中插播廣告等其他流節(jié)目,或從插播中回到原始節(jié)目,用PCR寄存器中的值初始化STC寄存器。
PCR寄存器在前后相鄰2個PCR字段的差值與STC寄存器差值的差值freqTole在某種程度上反映了PLM3K自主產生的時鐘頻率與編碼端的系統(tǒng)時鐘的偏差以及PCR的抖動情況。筆者采用漸進法的思想在前一次PCR抖動平均值VarValue的基礎上計算新的PCR抖動平均值,當freqTole落入觀察區(qū)域,則計算更新VarValue;而VarValue一旦落入校正區(qū)域,即對本地時鐘頻率進行校正。觀察區(qū)域和校正區(qū)域如圖5所示。
本方案對時鐘的校正不僅會更新STC寄存器,也會對系統(tǒng)時鐘的頻率精度進行反饋微調。-810~+810Hz頻段共等分為30段,頻率間隔均是54 Hz,因此頻率調節(jié)共分30擋。在去除VarValue表征的PCR抖動影響后,可計算出期望頻率與實際頻率的差值落在哪個區(qū)域中,進而計算出精細的頻率校正值,重新設置相關寄存器,從而到達校正系統(tǒng)時鐘頻率的效果。
在PLM3K平臺上經過多次實驗、數據分析及大量的測試,筆者提出的時鐘恢復和減小PCR抖動影響的方案具有較好的效果和穩(wěn)定的性能,音視頻的播放平滑,同步效果較好,肉眼和耳朵沒有明顯不適,目前方案已投入商用。
[1]ISO/IEC 13818-1,Generic coding of moving picture and associated audio:systems[S].1994.
[2]王娟,徐元欣,劉文華,等.數字電視系統(tǒng)中的時間恢復和音視頻同步[J]. 中國有線電視,2004(11):17-19.
[3]鄔震宇.數字電視接收機減小PCR抖動影響的解決方法[J].電視技術,2005,29(4):46-47.
[4]杜鄧寶,潘長勇.數字電視傳輸系統(tǒng)中PCR抖動的校正分析與實現[J]. 電視技術,2005,29(7):47-50.
[5]秦娟,吳琪,宣玉棟,等.數字電視PCR分析及校正實現[J].現代電視技術,2008(1):47-48.
[6]蘇泉,黃偉,李和平.數字電視接收中PCR的作用及參數分析[J].有線電視技術,2009,16(4):85-90.