基于TMS320C64xDSPs的MPEG-4實(shí)時(shí)編碼器設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2007/4/23 0:00:00 訪問(wèn)次數(shù):609
關(guān)鍵詞:MPEG-4 TMS320C64x 軟件優(yōu)化 運(yùn)動(dòng)估計(jì)
信息時(shí)代對(duì)于視頻通訊的需求越來(lái)越廣,從較低碼率的可視電話、視頻會(huì)議、實(shí)時(shí)監(jiān)控到高碼率的空中偵察、數(shù)字電視等,迫切要求將高效率、高質(zhì)量的視頻壓縮算法實(shí)用化。MPEG-4于2000年正式成為國(guó)標(biāo)標(biāo)準(zhǔn)并不斷地?cái)U(kuò)展。它不僅支持碼率低于64kbps的多媒體通信,還能支持廣播級(jí)的視頻應(yīng)用。與以前的視頻標(biāo)準(zhǔn)相比,MPEG-4可以提供更高的壓縮效率、更好的交互性以及更強(qiáng)的抗誤碼能力。目前,MPEG-4已經(jīng)成為視頻壓縮標(biāo)準(zhǔn)的主流。
MPEG-4算法非常復(fù)雜,其編碼碼的實(shí)時(shí)性難以保證,通常只能實(shí)現(xiàn)對(duì)中低分辨率視頻的實(shí)時(shí)編碼。本文基于TI公司的C64x系列DSPs設(shè)計(jì)并實(shí)現(xiàn)了一種MPEG-4編碼器,實(shí)現(xiàn)了對(duì)DI分辨率(720×576)視頻的實(shí)時(shí)編碼,且在保證輸出碼率低于1Mbps的同時(shí),解碼圖像具有較高的峰值信噪比和較好的視覺(jué)效果。
1 編碼系統(tǒng)的硬件結(jié)構(gòu)
編碼系統(tǒng)以TMS320DM642高性能通用DSP芯片為核心。圖1為系統(tǒng)框圖。
1.1 TMS320DM642芯片的特點(diǎn)
DM642屬于TI公司的C64x系列DSPs。Veloci TI結(jié)構(gòu)使C6000 DSPs在視頻和圖像處理中得到廣泛應(yīng)用。CPU的VLIW結(jié)構(gòu)由多個(gè)并行運(yùn)行的執(zhí)行單元組成,這些單元在單個(gè)周期內(nèi)可執(zhí)行多種指令。并行是C6000獲得高性能的關(guān)鍵。C64x在C6000的基礎(chǔ)上有一些重要的改進(jìn)。除了有更高的時(shí)鐘頻率外,C64x從以前的Veloci TI結(jié)構(gòu)擴(kuò)展到Veloci TI.2結(jié)構(gòu),包含了許多新的指令,增加了額外的數(shù)據(jù)通道,寄存器的數(shù)量也增加了一倍。這些擴(kuò)展使得CPU可以在一個(gè)時(shí)鐘周期內(nèi)處理更多的數(shù)據(jù),從而獲得更高的運(yùn)算性能。
DM642芯片集成了各種片內(nèi)外設(shè),使得開(kāi)發(fā)視頻和圖像領(lǐng)域的應(yīng)用更為方便。它帶有三個(gè)可配置的視頻端口,提供與視頻輸入、視頻輸出以及碼流輸入的無(wú)縫接口。這些視頻端口支持許多格式的視頻輸入/輸出,包括BT.656、HDTV Y/C、RGB以及MPEG-2碼流的輸入。利用DM642開(kāi)發(fā)視頻編碼器,其視頻輸入部分只需要一塊視頻采集芯片即可,如Phillips的SAA7113,無(wú)需外加邏輯控制電路和FIFO緩存,使硬件系統(tǒng)更為簡(jiǎn)單和穩(wěn)定。DM642的其它外設(shè)包括:10Mbps/100Mbps的以太網(wǎng)口(EMAC)、多通道音頻串口(McASP)、外部存儲(chǔ)器接口(EMAC)、主機(jī)接口(HPI)、多通道緩沖串口(McBSP以及PCI接口等。
1.2 系統(tǒng)工作流程
該編碼系統(tǒng)可分為圖像壓縮卡和主機(jī)兩部分。其工作流程如圖2所示。
首先主機(jī)通過(guò)PCI初始化DSP并對(duì)其加載程序;DSP開(kāi)始運(yùn)行MPEG-4編碼程序,從視頻端口獲取實(shí)時(shí)采集的視頻,如圖1所示。SAA7113輸出BT.656格式的數(shù)字視頻,作為DM642 VPORT的輸入,VPORT輸出YUV(4:2:0)格式的圖像,作為編碼程序的輸入;DSP完成一幀圖像的編碼,通過(guò)PCI向主機(jī)發(fā)出中斷;主機(jī)響應(yīng)中斷,從DSP 存儲(chǔ)空間讀取原始圖像數(shù)據(jù)和壓縮后的碼流。主機(jī)程序在VC++環(huán)境下編寫(xiě),提供與用戶交互的界面,可對(duì)數(shù)據(jù)進(jìn)行各種處理,包括原始視頻的實(shí)時(shí)播放、保存,壓縮碼流的實(shí)時(shí)解壓播放、保存、回放、網(wǎng)絡(luò)傳輸,從網(wǎng)絡(luò)接收壓縮碼流實(shí)時(shí)解壓回放等。
需要注意的是原始圖像和壓縮碼流在DSP中的存儲(chǔ)。視頻端口、編碼程序和主機(jī)都要訪問(wèn)原始圖像,例如在某一時(shí)刻,編碼程序訪問(wèn)當(dāng)前幀圖像,主機(jī)讀取上一幀圖像,而視頻端口正在輸入下一幀圖像,為了避免訪問(wèn)沖突,原始圖像在DSP中采用三緩沖區(qū)進(jìn)行管理。壓縮碼流由編碼程序?qū)懭搿V鳈C(jī)讀取,所以采用乒乓制進(jìn)行存儲(chǔ)。
1.3 內(nèi)存分配
DM642片內(nèi)只有256KB的存儲(chǔ)空間,因此當(dāng)前幀、參考幀和當(dāng)前幀的重建幀都必須放至片外存儲(chǔ)器,壓縮碼流若被主機(jī)讀取,也放至片外。其它數(shù)據(jù)如程序代碼、全局變量、VLC碼表、各編碼模塊產(chǎn)生的中間數(shù)據(jù)等均可放至片內(nèi)。
由于CPU訪問(wèn)片外的速度通常要比訪問(wèn)片內(nèi)慢幾十倍,片外數(shù)據(jù)的傳輸通常成為程序運(yùn)行時(shí)的瓶頸,即使代碼
關(guān)鍵詞:MPEG-4 TMS320C64x 軟件優(yōu)化 運(yùn)動(dòng)估計(jì)
信息時(shí)代對(duì)于視頻通訊的需求越來(lái)越廣,從較低碼率的可視電話、視頻會(huì)議、實(shí)時(shí)監(jiān)控到高碼率的空中偵察、數(shù)字電視等,迫切要求將高效率、高質(zhì)量的視頻壓縮算法實(shí)用化。MPEG-4于2000年正式成為國(guó)標(biāo)標(biāo)準(zhǔn)并不斷地?cái)U(kuò)展。它不僅支持碼率低于64kbps的多媒體通信,還能支持廣播級(jí)的視頻應(yīng)用。與以前的視頻標(biāo)準(zhǔn)相比,MPEG-4可以提供更高的壓縮效率、更好的交互性以及更強(qiáng)的抗誤碼能力。目前,MPEG-4已經(jīng)成為視頻壓縮標(biāo)準(zhǔn)的主流。
MPEG-4算法非常復(fù)雜,其編碼碼的實(shí)時(shí)性難以保證,通常只能實(shí)現(xiàn)對(duì)中低分辨率視頻的實(shí)時(shí)編碼。本文基于TI公司的C64x系列DSPs設(shè)計(jì)并實(shí)現(xiàn)了一種MPEG-4編碼器,實(shí)現(xiàn)了對(duì)DI分辨率(720×576)視頻的實(shí)時(shí)編碼,且在保證輸出碼率低于1Mbps的同時(shí),解碼圖像具有較高的峰值信噪比和較好的視覺(jué)效果。
1 編碼系統(tǒng)的硬件結(jié)構(gòu)
編碼系統(tǒng)以TMS320DM642高性能通用DSP芯片為核心。圖1為系統(tǒng)框圖。
1.1 TMS320DM642芯片的特點(diǎn)
DM642屬于TI公司的C64x系列DSPs。Veloci TI結(jié)構(gòu)使C6000 DSPs在視頻和圖像處理中得到廣泛應(yīng)用。CPU的VLIW結(jié)構(gòu)由多個(gè)并行運(yùn)行的執(zhí)行單元組成,這些單元在單個(gè)周期內(nèi)可執(zhí)行多種指令。并行是C6000獲得高性能的關(guān)鍵。C64x在C6000的基礎(chǔ)上有一些重要的改進(jìn)。除了有更高的時(shí)鐘頻率外,C64x從以前的Veloci TI結(jié)構(gòu)擴(kuò)展到Veloci TI.2結(jié)構(gòu),包含了許多新的指令,增加了額外的數(shù)據(jù)通道,寄存器的數(shù)量也增加了一倍。這些擴(kuò)展使得CPU可以在一個(gè)時(shí)鐘周期內(nèi)處理更多的數(shù)據(jù),從而獲得更高的運(yùn)算性能。
DM642芯片集成了各種片內(nèi)外設(shè),使得開(kāi)發(fā)視頻和圖像領(lǐng)域的應(yīng)用更為方便。它帶有三個(gè)可配置的視頻端口,提供與視頻輸入、視頻輸出以及碼流輸入的無(wú)縫接口。這些視頻端口支持許多格式的視頻輸入/輸出,包括BT.656、HDTV Y/C、RGB以及MPEG-2碼流的輸入。利用DM642開(kāi)發(fā)視頻編碼器,其視頻輸入部分只需要一塊視頻采集芯片即可,如Phillips的SAA7113,無(wú)需外加邏輯控制電路和FIFO緩存,使硬件系統(tǒng)更為簡(jiǎn)單和穩(wěn)定。DM642的其它外設(shè)包括:10Mbps/100Mbps的以太網(wǎng)口(EMAC)、多通道音頻串口(McASP)、外部存儲(chǔ)器接口(EMAC)、主機(jī)接口(HPI)、多通道緩沖串口(McBSP以及PCI接口等。
1.2 系統(tǒng)工作流程
該編碼系統(tǒng)可分為圖像壓縮卡和主機(jī)兩部分。其工作流程如圖2所示。
首先主機(jī)通過(guò)PCI初始化DSP并對(duì)其加載程序;DSP開(kāi)始運(yùn)行MPEG-4編碼程序,從視頻端口獲取實(shí)時(shí)采集的視頻,如圖1所示。SAA7113輸出BT.656格式的數(shù)字視頻,作為DM642 VPORT的輸入,VPORT輸出YUV(4:2:0)格式的圖像,作為編碼程序的輸入;DSP完成一幀圖像的編碼,通過(guò)PCI向主機(jī)發(fā)出中斷;主機(jī)響應(yīng)中斷,從DSP 存儲(chǔ)空間讀取原始圖像數(shù)據(jù)和壓縮后的碼流。主機(jī)程序在VC++環(huán)境下編寫(xiě),提供與用戶交互的界面,可對(duì)數(shù)據(jù)進(jìn)行各種處理,包括原始視頻的實(shí)時(shí)播放、保存,壓縮碼流的實(shí)時(shí)解壓播放、保存、回放、網(wǎng)絡(luò)傳輸,從網(wǎng)絡(luò)接收壓縮碼流實(shí)時(shí)解壓回放等。
需要注意的是原始圖像和壓縮碼流在DSP中的存儲(chǔ)。視頻端口、編碼程序和主機(jī)都要訪問(wèn)原始圖像,例如在某一時(shí)刻,編碼程序訪問(wèn)當(dāng)前幀圖像,主機(jī)讀取上一幀圖像,而視頻端口正在輸入下一幀圖像,為了避免訪問(wèn)沖突,原始圖像在DSP中采用三緩沖區(qū)進(jìn)行管理。壓縮碼流由編碼程序?qū)懭。主機(jī)讀取,所以采用乒乓制進(jìn)行存儲(chǔ)。
1.3 內(nèi)存分配
DM642片內(nèi)只有256KB的存儲(chǔ)空間,因此當(dāng)前幀、參考幀和當(dāng)前幀的重建幀都必須放至片外存儲(chǔ)器,壓縮碼流若被主機(jī)讀取,也放至片外。其它數(shù)據(jù)如程序代碼、全局變量、VLC碼表、各編碼模塊產(chǎn)生的中間數(shù)據(jù)等均可放至片內(nèi)。
由于CPU訪問(wèn)片外的速度通常要比訪問(wèn)片內(nèi)慢幾十倍,片外數(shù)據(jù)的傳輸通常成為程序運(yùn)行時(shí)的瓶頸,即使代碼
熱門(mén)點(diǎn)擊
- 為音頻設(shè)備提供高性能的低通30kHz貝塞爾濾
- 帶RF輸出的全數(shù)字調(diào)制器設(shè)計(jì)
- DSP基條碼掃描器
- TMS320VC33并行自舉的兩種巧妙實(shí)現(xiàn)方
- 支持以太網(wǎng)寬帶接入的IP機(jī)頂盒解決方案
- 基于ARM的MPEG4視頻解碼器
- 外掛Flash的TMS320VC5409引導(dǎo)
- 基于DSP的雷達(dá)視頻信號(hào)數(shù)字采集與檢測(cè)
- 基于XC166單片機(jī)的DSP優(yōu)化方法
- VINETIC語(yǔ)音處理器在VoIP解決方案中
推薦技術(shù)資料
- 業(yè)余條件下PCM2702
- PGM2702采用SSOP28封裝,引腳小而密,EP3... [詳細(xì)]
- AMOLED顯示驅(qū)動(dòng)芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計(jì)
- GB300 超級(jí)芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個(gè)最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究