MPEG-2傳輸流解復(fù)用在內(nèi)嵌ARM核的FPGA上的實現(xiàn)
發(fā)布時間:2008/5/28 0:00:00 訪問次數(shù):916
摘??? 要:本文介紹了mpeg-2傳輸流解復(fù)用的原理,使用內(nèi)嵌arm的fpga芯片epxa10實現(xiàn)了mpeg-2傳輸流的解復(fù)用,并從硬件設(shè)計和軟件結(jié)構(gòu)兩個方面詳細地介紹了設(shè)計思想。
關(guān)鍵詞: arm;fpga;mpeg-2;解復(fù)用
引言
隨著芯片技術(shù)的發(fā)展,fpga的容量已經(jīng)達到上百萬門級,從而使fpga成為設(shè)計的選擇之一。altera公司的fpga芯片epxa10應(yīng)用sopc技術(shù),集高密度邏輯(fpga)、存儲器(sram)及嵌入式處理器(arm)于單片可編程邏輯器件上,實現(xiàn)了risc和fpga的完美結(jié)合。本文使用epxa10芯片,利用片上的arm微處理器對mpeg-2傳輸流進行解碼,得到必要的解碼參數(shù),實現(xiàn)了將傳輸流分成視頻流和音頻流的解復(fù)用。
epax10器件
簡要介紹
altera公司的epxa10器件單片集成了arm硬核,百萬門級的fpga,以及sdram存儲器的接口。它將fpga和arm處理器完美結(jié)合在一起,是一個典型的sopc結(jié)構(gòu)。
其中arm處理器是32位的arm922t,工作頻率可以達到200mhz,具有8k的數(shù)據(jù)緩存和8k的指令緩存。通過板上的jtag接口,可以實現(xiàn)斷點調(diào)試功能。
片上的百萬門級fpga可用于實現(xiàn)用戶自定義的邏輯。它通過ahb總線和arm處理器相互連接。為了更加靈活的使用,fpga用戶自定義邏輯可以定義為主模塊(master),在總線通信時處于發(fā)起端;或是定義為從模塊(slave),在總線通信時處于接收端。fpga器件內(nèi)部有3m大小的存儲器,同時集成了sdram控制器。在fpga開發(fā)板上可以外接128m的sdram,為了便于內(nèi)部fpga和外部sdram大數(shù)據(jù)量的交換,用戶還可以定義自己的dma模塊,用于訪問外部sdram。通過uart、網(wǎng)卡接口、jtag接口,fpga可以很方便地同外部計算機通信、下載程序,及調(diào)試程序等。
mpeg-2傳輸流解復(fù)用原理
mpeg-2傳輸流簡要介紹
作為數(shù)字視頻壓縮技術(shù)的國際通用標準,mpeg-2標準于1994年被運動圖像專家組制定出來,分成系統(tǒng)層、視頻壓縮層和音頻壓縮層。系統(tǒng)層主要用來描述音、視頻的數(shù)據(jù)復(fù)用和音、視頻的同步方式。在系統(tǒng)層定義了ts(傳輸流)和ps(節(jié)目流)兩種形式的碼流。ps通常用于相對無錯的環(huán)境,例如dvd中,其長度為2048字節(jié);ts通常用于相對有錯的環(huán)境,例如數(shù)字電視的地面廣播傳輸中,分組長度規(guī)定為188字節(jié)。ts流和ps流都是由編碼后的基本數(shù)據(jù)流(es)根據(jù)一定的格式打包形成pes包,再加入一些系統(tǒng)信息而構(gòu)成的,碼流形成過程如圖2所示。根據(jù)mpeg-2協(xié)議,在發(fā)送端,基本流的pes打包由音/視頻編碼器完成,復(fù)用器接收編碼端的音、視頻數(shù)據(jù)流以及輔助數(shù)據(jù)流,按照一定的復(fù)用方法將其交織成為單一的ts流。為了實現(xiàn)音、視頻同步,在碼流中還必須加入各種時間的標志和系統(tǒng)的控制信息。接收端和發(fā)送端正好相反。
傳輸流及其psi表
傳輸流ts的結(jié)構(gòu)長度為188字節(jié),分成包頭和包負荷兩部分。包頭主要包括同步字節(jié)和pid以及其他的信息,同步字節(jié)用來指示一個ts包開始(0x47),pid表示ts包的類型。例如一個節(jié)目里的音頻pes包,在轉(zhuǎn)換成為ts包后會具備同樣的pid,這樣,接收端只需要接收具有此pid的ts包,就可以將該節(jié)目的音頻解出來了。包負荷是包的實際內(nèi)容,根據(jù)具體情況,可以放置pes包或psi包。傳輸流由一個或者多個節(jié)目構(gòu)成,而每一個節(jié)目由視頻流、音頻流、私有信息流以及其他的數(shù)據(jù)包構(gòu)成。
psi包在傳輸流解復(fù)用中占據(jù)重要地位,它通過四個表格來定義碼流的結(jié)構(gòu),分別是節(jié)目關(guān)聯(lián)表(pat)、節(jié)目映射表(pmt)、條件接收表(cat)和網(wǎng)絡(luò)信息表(nit)。其中最為關(guān)鍵的部分是pat表和pmt表。
pat表是psi信息的索引表,pid值固定為0。在pat表中列出了該傳輸碼流中所有節(jié)目的pmt表的pid值。如果接收方希望接收其中的一個節(jié)目,即可根據(jù)這個pid值解出對應(yīng)于該節(jié)目的pmt表,從中可以查詢到與該節(jié)目相關(guān)的所有音頻流、視頻流,以及私有信息的pid,在接收時就可以只接收具有這些pid值的包。
pat表的pid值為0,根據(jù)pat表可以得到各個節(jié)目對應(yīng)的pid值,如節(jié)目0,pid=122,對應(yīng)nit網(wǎng)絡(luò)信息表;節(jié)目1,pid=60;節(jié)目20,pid=200等。如果希望看節(jié)目20,就根據(jù)200這個pid值得到節(jié)目20對應(yīng)的pmt表,再進一步查到節(jié)目20的視頻、音頻及私有信息包對應(yīng)的pid值,分別為500、510和540。解有這些pid值的傳輸包就可以解出音頻和視頻的pes包,最終解出音頻流和視頻流。cat表的pid值固定為1,用來傳遞加密信息,不在本文的討論范圍內(nèi)。
在mpeg-2系統(tǒng)層解碼時,需要由一個解復(fù)用器按照上述的原理對psi表進行處理,同時將各個音、視頻基本流從傳輸流中分離出來,送入對應(yīng)的解碼器中,所以解復(fù)用器在mpeg-2解碼中占據(jù)重要的地位。
解復(fù)用系統(tǒng)的具體實現(xiàn)
本文設(shè)計的是dvb的sdtv系統(tǒng)集成解碼芯片,視頻解碼最高支持mpeg-2的mp@ml,分辨率為720×576,實時解碼;音頻解碼滿足ac-3標準。
從前面的部分可知,解復(fù)用器需要承擔(dān)將數(shù)據(jù)分流的工作,所以數(shù)據(jù)處理量相當大,很多解復(fù)用器都采
摘??? 要:本文介紹了mpeg-2傳輸流解復(fù)用的原理,使用內(nèi)嵌arm的fpga芯片ea10實現(xiàn)了mpeg-2傳輸流的解復(fù)用,并從硬件設(shè)計和軟件結(jié)構(gòu)兩個方面詳細地介紹了設(shè)計思想。
關(guān)鍵詞: arm;fpga;mpeg-2;解復(fù)用
引言
隨著芯片技術(shù)的發(fā)展,fpga的容量已經(jīng)達到上百萬門級,從而使fpga成為設(shè)計的選擇之一。altera公司的fpga芯片ea10應(yīng)用sopc技術(shù),集高密度邏輯(fpga)、存儲器(sram)及嵌入式處理器(arm)于單片可編程邏輯器件上,實現(xiàn)了risc和fpga的完美結(jié)合。本文使用ea10芯片,利用片上的arm微處理器對mpeg-2傳輸流進行解碼,得到必要的解碼參數(shù),實現(xiàn)了將傳輸流分成視頻流和音頻流的解復(fù)用。
epax10器件
簡要介紹
altera公司的ea10器件單片集成了arm硬核,百萬門級的fpga,以及sdram存儲器的接口。它將fpga和arm處理器完美結(jié)合在一起,是一個典型的sopc結(jié)構(gòu)。
其中arm處理器是32位的arm922t,工作頻率可以達到200mhz,具有8k的數(shù)據(jù)緩存和8k的指令緩存。通過板上的jtag接口,可以實現(xiàn)斷點調(diào)試功能。
片上的百萬門級fpga可用于實現(xiàn)用戶自定義的邏輯。它通過ahb總線和arm處理器相互連接。為了更加靈活的使用,fpga用戶自定義邏輯可以定義為主模塊(master),在總線通信時處于發(fā)起端;或是定義為從模塊(slave),在總線通信時處于接收端。fpga器件內(nèi)部有3m大小的存儲器,同時集成了sdram控制器。在fpga開發(fā)板上可以外接128m的sdram,為了便于內(nèi)部fpga和外部sdram大數(shù)據(jù)量的交換,用戶還可以定義自己的dma模塊,用于訪問外部sdram。通過uart、網(wǎng)卡接口、jtag接口,fpga可以很方便地同外部計算機通信、下載程序,及調(diào)試程序等。
mpeg-2傳輸流解復(fù)用原理
mpeg-2傳輸流簡要介紹
作為數(shù)字視頻壓縮技術(shù)的國際通用標準,mpeg-2標準于1994年被運動圖像專家組制定出來,分成系統(tǒng)層、視頻壓縮層和音頻壓縮層。系統(tǒng)層主要用來描述音、視頻的數(shù)據(jù)復(fù)用和音、視頻的同步方式。在系統(tǒng)層定義了ts(傳輸流)和ps(節(jié)目流)兩種形式的碼流。ps通常用于相對無錯的環(huán)境,例如dvd中,其長度為2048字節(jié);ts通常用于相對有錯的環(huán)境,例如數(shù)字電視的地面廣播傳輸中,分組長度規(guī)定為188字節(jié)。ts流和ps流都是由編碼后的基本數(shù)據(jù)流(es)根據(jù)一定的格式打包形成pes包,再加入一些系統(tǒng)信息而構(gòu)成的,碼流形成過程如圖2所示。根據(jù)mpeg-2協(xié)議,在發(fā)送端,基本流的pes打包由音/視頻編碼器完成,復(fù)用器接收編碼端的音、視頻數(shù)據(jù)流以及輔助數(shù)據(jù)流,按照一定的復(fù)用方法將其交織成為單一的ts流。為了實現(xiàn)音、視頻同步,在碼流中還必須加入各種時間的標志和系統(tǒng)的控制信息。接收端和發(fā)送端正好相反。
傳輸流及其psi表
傳輸流ts的結(jié)構(gòu)長度為188字節(jié),分成包頭和包負荷兩部分。包頭主要包括同步字節(jié)和pid以及其他的信息,同步字節(jié)用來指示一個ts包開始(0x47),pid表示ts包的類型。例如一個節(jié)目里的音頻pes包,在轉(zhuǎn)換成為ts包后會具備同樣的pid,這樣,接收端只需要接收具有此pid的ts包,就可以將該節(jié)目的音頻解出來了。包負荷是包的實際內(nèi)容,根據(jù)具體情況,可以放置pes包或psi包。傳輸流由一個或者多個節(jié)目構(gòu)成,而每一個節(jié)目由視頻流、音頻流、私有信息流以及其他的數(shù)據(jù)包構(gòu)成。
psi包在傳輸流解復(fù)用中占據(jù)重要地位,它通過四個表格來定義碼流的結(jié)構(gòu),分別是節(jié)目關(guān)聯(lián)表(pat)、節(jié)目映射表(pmt)、條件接收表(cat)和網(wǎng)絡(luò)信息表(nit)。其中最為關(guān)鍵的部分是pat表和pmt表。
pat表是psi信息的索引表,pid值固定為0。在pat表中列出了該傳輸碼流中所有節(jié)目的pmt表的pid值。如果接收方希望接收其中的一個節(jié)目,即可根據(jù)這個pid值解出對應(yīng)于該節(jié)目的pmt表,從中可以查詢到與該節(jié)目相關(guān)的所有音頻流、視頻流,以及私有信息的pid,在接收時就可以只接收具有這些pid值的包。
pat表的pid值為0,根據(jù)pat表可以得到各個節(jié)目對應(yīng)的pid值,如節(jié)目0,pid=122,對應(yīng)nit網(wǎng)絡(luò)信息表;節(jié)目1,pid=60;節(jié)目20,pid=200等。如果希望看節(jié)目20,就根據(jù)200這個pid值得到節(jié)目20對應(yīng)的pmt表,再進一步查到節(jié)目20的視頻、音頻及私有信息包對應(yīng)的pid值,分別為500、510和540。解有這些pid值的傳輸包就可以解出音頻和視頻的pes包,最終解出音頻流和視頻流。cat表的pid值固定為1,用來傳遞加密信息,不在本文的討論范圍內(nèi)。
在mpeg-2系統(tǒng)層解碼時,需要由一個解復(fù)用器按照上述的原理對psi表進行處理,同時將各個音、視頻基本流從傳輸流中分離出來,送入對應(yīng)的解碼器中,所以解復(fù)用器在mpeg-2解碼中占據(jù)重要的地位。
解復(fù)用系統(tǒng)的具體實現(xiàn)
本文設(shè)計的是dvb的sdtv系統(tǒng)集成解碼芯片,視頻解碼最高支持mpeg-2的mp@ml,分辨率為720×576,實時解碼;音頻解碼滿足ac-3標準。
從前面的部分可知,解復(fù)用器需要承擔(dān)將數(shù)據(jù)分流的工作,所以數(shù)據(jù)處理量相當大,很多解復(fù)用器都采
熱門點擊
- PLC和PLD的區(qū)別與聯(lián)系
- Xilinx FPGA全局時鐘和第二全局時鐘
- 基于FPGA片上PowerPC和VxWork
- 使用C編譯器+ICD2調(diào)試程序需要注意的問題
- Altera發(fā)布低成本低功耗CPLD EPM
- 基于VHDL的彩燈控制
- 32位單精度浮點乘法器的FPGA實現(xiàn)
- 用CAM實現(xiàn)OC-48線速字符串匹配的FPG
- FPGA與DDR3 SDRAM的接口設(shè)計
- DesignWare® USB 2.
推薦技術(shù)資料
- 聲道前級設(shè)計特點
- 與通常的Hi-Fi前級不同,EP9307-CRZ這臺分... [詳細]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究