《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > MPEG-2信道解復(fù)用器的DSP+FPGA設(shè)計(jì)
MPEG-2信道解復(fù)用器的DSP+FPGA設(shè)計(jì)
摘要: 在詳細(xì)介紹了MPEG-2標(biāo)準(zhǔn)以及MPEG-2傳送流語法規(guī)范的基礎(chǔ)上,,給出了符合該標(biāo)準(zhǔn)的信道解復(fù)用器的各個(gè)模塊實(shí)現(xiàn)的原理及設(shè)計(jì)方案,。
關(guān)鍵詞: FPGA MPEG-2 DSP
Abstract:
Key words :

  數(shù)字高清晰度電視(High Definition Television)簡稱HDTV,是繼黑白電視和彩色電視之后的第三代電視系統(tǒng),。其圖像細(xì)膩逼真,,質(zhì)量與35 mm電影相當(dāng),再配以環(huán)繞音響,,使收視效果大幅度提高,。它將成為21世紀(jì)的主要電視產(chǎn)品,,具有潛在的巨大經(jīng)濟(jì)效益。因此,,日,、歐、美等發(fā)達(dá)國家都相繼投入了大量人力,、物力來開發(fā)HDTV系統(tǒng),。我國從1996年啟動(dòng)國家重大產(chǎn)業(yè)工程項(xiàng)目HDTV功能樣機(jī)系統(tǒng)研究開發(fā)工程,。

  1  MPEG-2標(biāo)準(zhǔn)簡介以及數(shù)字電視功能分析

  MPEG(Motion pictures expert group)譯為運(yùn)動(dòng)圖像專家組,,他是在ISO的召集下,,為數(shù)字視頻和音頻制定壓縮標(biāo)準(zhǔn)的專家組,。該組織于1994年推出MPEG-2標(biāo)準(zhǔn)。此標(biāo)準(zhǔn)分為4個(gè)文件,,分別是:

  系統(tǒng)層(System,ISO13818-1)描述視頻,,音頻的數(shù)據(jù)復(fù)用方式和視頻,音頻同步方式,。

  視頻壓縮層(Video,,ISO13818-2)描述數(shù)字視頻編碼方式和解碼過程。

  音頻壓縮層(Audio,ISO13818-3)描述數(shù)字音頻編碼方式和解碼過程。

  一致

 

性(Conformance,ISO13818-4)說明測試編碼碼流的過程,,檢驗(yàn)是否符合前3個(gè)文件的規(guī)定,。

 

  MPEG-2運(yùn)動(dòng)圖像及其伴音通用國際標(biāo)準(zhǔn)在數(shù)字音/視頻領(lǐng)域得到了廣泛的應(yīng)用,。在MPEG-2中,定義了兩種形式的碼流,即傳輸流(TS)和節(jié)目流(PS),。節(jié)目流一般用于相對無錯(cuò)的環(huán)境中,,如交互式多媒體業(yè)務(wù),其長度是可變的,。傳輸流則用于有錯(cuò)誤的環(huán)境中,,如數(shù)字電視的地面廣播傳輸,其分組長度固定為188 b。傳輸流和節(jié)目流都是編碼后的基本數(shù)據(jù)流(ES)按照一定的格式打包后形成PES包,,再加上一些系統(tǒng)級信息而構(gòu)成,。碼流的形成過程可以用圖1來表示。其中,,采樣得到的視頻數(shù)據(jù)流和音頻數(shù)據(jù)流經(jīng)過編碼器后,成為MPEG-2 基本流(ES),,再通過打包,成為包化ES流(PES),再經(jīng)過傳輸復(fù)用器,,將音頻PES,視頻PES,以及其他的數(shù)據(jù)和控制信息,,轉(zhuǎn)換成MPEG2傳輸流(TS).TS流經(jīng)過信道編碼和調(diào)制之后,發(fā)送到信道中,。在接收端,正好相反,,經(jīng)過解調(diào),,信道解碼和前向糾錯(cuò)之后,,再通過傳輸解復(fù)用器,,分別輸出視頻PES流,音頻PES流,,以及數(shù)據(jù)和控制信息,再通過視頻解碼器和音頻解碼器后,,分別送入DTV顯示系統(tǒng)和音頻播放系統(tǒng),。

碼流的形成過程

  2  關(guān)于傳輸流以及傳輸流中幾個(gè)重要概念

  傳輸流TS包的結(jié)構(gòu)如圖2所示,。

傳輸流TS包的結(jié)構(gòu)

  傳輸流由一道或多道節(jié)目組成,,每道節(jié)目由一個(gè)或多個(gè)原始流和一些其他流復(fù)合在一起,包括視頻流,,音頻流,,節(jié)目特殊信息流和其他數(shù)據(jù)包。

  首先介紹視頻和音頻PES流是如何轉(zhuǎn)換成TS流的,。PES流是由視頻或音頻基本流分別打包處理后形成的PES包系列,PES包的長度是不定的,。每個(gè)PES包的包頭攜帶了:

  流標(biāo)識(SID)由同一個(gè)ES經(jīng)打包處理后得到的PES,,其流標(biāo)識相同。

  顯示時(shí)間戳(PTS)用于視頻和音頻之間的同步控制,,它指示對解碼后視頻和音頻播放的適當(dāng)時(shí)刻,。

  解碼時(shí)間戳(DTS)用于視頻基本流解碼器和音頻基本流解碼器的同步控制,它指示對視頻和音頻基本流解碼的適當(dāng)時(shí)刻基本流的速率控制信息,。

  由于TS包長固定為188 b,,所以在打包時(shí),PES包長若大于188 b,則對其進(jìn)行分段處理,,因?yàn)镻ES是放在TS包的有效載荷區(qū)進(jìn)行傳送的,,所以分段后每段大小為184 b,不足184 b的加上適應(yīng)字段構(gòu)成184 b,有沒有適應(yīng)字段則由包頭中的適應(yīng)字段控制來指示,。每段加上TS包頭就形成一個(gè)TS包,。

  TS包包頭中各字段含義如下:

  同步字節(jié)指示一個(gè)TS包的開始。

  傳輸錯(cuò)誤指示表示該傳輸包在傳輸過程中有無錯(cuò)誤,。

  有效傳輸開始指示若有效載荷區(qū)傳輸?shù)氖莵碜訮ES包的數(shù)據(jù),則有效傳輸開始指示表示有效載荷區(qū)的第一字節(jié)是否為被分段的PES包的起首字節(jié),。若有效載荷區(qū)傳輸?shù)氖莵碜怨?jié)目特殊信息的數(shù)據(jù),則有效傳輸開始指示表示載荷區(qū)第一字節(jié)是否是PSI數(shù)據(jù)起首字節(jié)的位置指針,。

  傳輸優(yōu)先指示表示的是具有相同的PID的傳輸包的優(yōu)先級,。

  連續(xù)計(jì)數(shù)器PID相同的傳輸包的計(jì)數(shù)。

  此外,,在TS包包頭的調(diào)整字段中,,有一個(gè)重要的域PCR,即節(jié)目時(shí)鐘基準(zhǔn),。它以固定的頻率插入包頭。在解碼端,,正是根據(jù)PCR來恢復(fù)系統(tǒng)時(shí)鐘的,。   PSI信息使用4個(gè)表來定義碼流的結(jié)構(gòu),分別為節(jié)目關(guān)聯(lián)表(PAT),、節(jié)目映射表(PMT),、條件接收表(CAT)和網(wǎng)絡(luò)信息表(NIT)。其中,,最重要的表信息是PAT和PMT,。PAT是PSI信息的根,其PID是0,,表中列出了傳送碼流中所有節(jié)目的節(jié)目映射表的PID,,PMT表中列出與該節(jié)目有關(guān)的所有基本碼流,如視頻,、音頻和PCR及有關(guān)信息的PID,。除PAT表包的PID永遠(yuǎn)是0外,還有兩種包的PID是預(yù)留的:

 

 ?、倏瞻?,用來作碼流填充,PID是8191,。

 ?、贑AT包,PID值是1,。所有PSI信息必須以一定的頻率發(fā)送,,每秒鐘至少要發(fā)送20次。

  3  信道解復(fù)用器的原理

  信道解復(fù)用器位于信道調(diào)制前端,,它對輸入TS流進(jìn)行處理以適應(yīng)該信道要求,,基于MPEG-2的實(shí)時(shí)TS流信道解復(fù)用器的原理框圖如圖3所示。系統(tǒng)包括碼流輸入接口,、PCR校正模塊,、PSI分析和重新生成模塊及用戶接口等部分。

基于MPEG-2的實(shí)時(shí)TS流信道解復(fù)用器的原理框圖

  碼流輸入接口支持ASI(異步串行接口)和SPI(同步并行接口)兩種輸入格式,。輸入信號經(jīng)過接口電平轉(zhuǎn)換,,變?yōu)椴⑿蠺TL電平信號。輸入TS流的最大數(shù)據(jù)率可達(dá)120 Mb/s,,該系統(tǒng)實(shí)現(xiàn)兩路獨(dú)立的TS流輸出,,它們各自的數(shù)據(jù)率分別由CLOCK1和CLOCK2時(shí)鐘決定。其取值范圍從1.5 Mb/s到120 Mb/s,。

  系統(tǒng)中核心部分為2片FPGA和1片DSP,,其中1片F(xiàn)PGA主要完成PID過濾和PCR延時(shí)補(bǔ)償,,另外1片負(fù)責(zé)用戶接口。而DSP則負(fù)責(zé)分析TS流,,根據(jù)用

 

戶設(shè)定分路,,并生成新的PAT及PMT數(shù)據(jù)包。CLOCK1和CLOCK2來自后端信道調(diào)制器的時(shí)鐘,,輸入的單路多節(jié)目TS流的內(nèi)容將根據(jù)用戶的設(shè)定被分別分配到TS1和TS2,,輸出碼率分別決定于CLOCK1和CLOCK2。DSP前端和后端的FIFO消除了輸入輸出碼率不同所帶來的數(shù)據(jù)丟失現(xiàn)象,。27 MHz的本地時(shí)鐘用來補(bǔ)償輸入TS流的PCR在系統(tǒng)中所產(chǎn)生的延時(shí),。用戶接口通過一雙口RAM與系統(tǒng)交換相關(guān)的設(shè)定信息。下面對系統(tǒng)的幾個(gè)重要部分說明如下:

 

3.1  碼流分析

  信道解復(fù)用器系統(tǒng)進(jìn)入正常狀態(tài)工作前要完成用戶參數(shù)設(shè)定,,用戶最關(guān)心的參數(shù)是輸入TS流中所含節(jié)目類型,、PID號、碼率等信息,。系統(tǒng)首先會(huì)對輸入的TS進(jìn)行分析,,從中提取出所有的節(jié)目信息,并且計(jì)算出不同類型數(shù)據(jù)包的碼率,。用戶根據(jù)這些分析結(jié)果可以了解到目前輸入TS流的所有基本信息,。

  3.2  用戶設(shè)定  

  根據(jù)用戶的實(shí)際需要,輸入TS流的節(jié)目內(nèi)容可以分別被指定分配到兩個(gè)輸出通道,,并且允許同一個(gè)節(jié)目同時(shí)被分配到兩個(gè)通道,用戶也被允許修改PID號,。比如:輸入為一個(gè)22 Mb/s的TS流,,包含3個(gè)節(jié)目,每個(gè)節(jié)目又包含多個(gè)視頻,、音頻等數(shù)據(jù)流,。假如目前用戶有兩個(gè)輸出信道,一個(gè)為829 Mb/s,,另一個(gè)為2356 Mb/s,,并且用戶打算將輸入碼流中的節(jié)目1分配到信道1,節(jié)目2和3分配到信道2,。用戶則可根據(jù)需要做相應(yīng)的設(shè)定,,解復(fù)用器系統(tǒng)將根據(jù)用戶的設(shè)定來分別為輸出TS1和TS2生成新的PAT和PMT并且將相應(yīng)的視頻、音頻等數(shù)據(jù)包分配到相應(yīng)的通道,。用戶選擇節(jié)目時(shí)也可以只選擇該節(jié)目中的部分?jǐn)?shù)據(jù)流,。比如某個(gè)節(jié)目包含4個(gè)視頻流,而用戶只對其中的兩個(gè)視頻流感興趣,,那么用戶在設(shè)定時(shí)可以只選擇需要的視頻流,,在系統(tǒng)進(jìn)入正常工作時(shí),,未被選中的數(shù)據(jù)流將被自動(dòng)過濾。

  3.3  PCR補(bǔ)償

  PCR是TS流的重要部分,,它的精度決定了解碼端恢復(fù)時(shí)鐘的精度,,直接關(guān)系到解碼器是否能正常的工作。輸入TS流中各節(jié)目的數(shù)據(jù)包從進(jìn)來到出去會(huì)在信道解復(fù)用器的FIFO內(nèi)產(chǎn)生一定的延時(shí),,如果不對其PCR做相應(yīng)的延時(shí)補(bǔ)償,,其輸出TS流的PCR誤差將有可能遠(yuǎn)大于協(xié)議所規(guī)定的±500 ns的誤差范圍,從而導(dǎo)致解碼不正常,。假定某個(gè)PCR在T1時(shí)刻進(jìn)入信道解復(fù)用器,,在T2時(shí)刻從解復(fù)用器輸出,則該時(shí)刻的PCR值將被替換為PCR′,。

  PCR′ = PCR +(T2-T1)

  延時(shí)補(bǔ)償運(yùn)算中所用到的時(shí)間標(biāo)記T1,、T2是由本地27 MHz時(shí)鐘計(jì)數(shù)所得,由于碼流在解復(fù)用器內(nèi)的停留時(shí)間并不會(huì)太大,,所以用本地27MHz記錄延時(shí)帶來的累積誤差很小,。

  3.4  用戶接口

  對于解復(fù)用器后端的信道調(diào)制器來說,最關(guān)心的是如何從信道解復(fù)用器中得到節(jié)目信息,,以及如何將所選節(jié)目分配到TS1和TS2上,。這些信息是通過用戶接口進(jìn)行交換的。

  考慮到本系統(tǒng)需交換的信息較多,,這里采用一容量較大的16位地址的雙端口RAM(DPRAM),,作為信道調(diào)制器和解復(fù)用器交換信息的平臺。信道解復(fù)用器在對輸入TS流進(jìn)行分析后,,將所提取的各種節(jié)目信息放在雙口RAM的相應(yīng)地址中,,以供信道調(diào)制器讀取和修改。解復(fù)用器根據(jù)調(diào)制器送入的讀寫信號及相關(guān)數(shù)據(jù)和地址信息,,由FPGA電路實(shí)現(xiàn)取指和譯碼,,將調(diào)制器所需信息從DPRAM的相應(yīng)地址中取出并送給信道調(diào)制器,或?qū)⑿诺勒{(diào)制器修改后的信息從DPRAM的相應(yīng)地址中取出,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。