當前位置:學問君>學習教育>畢業論文>

嵌入式MPEG—4解碼系統的設計與實現

學問君 人氣:9.27K
摘要:介紹了一種嵌入式高圖像質量的MPEC—4視頻流解碼系統。該系統以嵌入式Linux作爲操作系統,採用硬解碼方式,把IDE接口設備或網絡端口輸入的MPEC—4視頻碼流(ES、PS和TS)轉換成PAL/NTSC制式的電視信號輸出。重點討論了系統控制和MPEG—4解碼部分的設計。

隨着通信和網絡技術的飛速發展,多媒體及其視頻流應用越來越廣泛,同時用戶也對視頻傳輸速率和圖像質量有更高的要求,MPEG-4標準適時地解決了多媒體壓縮存儲和傳輸的問題。但是目前多數播放器都是在PC機上執行,應用範圍受到很大限制。研究和開發一種嵌入式的MPEG-4解碼系統終端具有重要的現實意義和實用價值。

嵌入式MPEG—4解碼系統的設計與實現

MPEG-4標準是由國際運動圖像專家組於2000年10月公佈的一種面向多媒體應用的視頻壓縮標準。它採用了基於對象的壓縮編碼技術,在編碼前首先對視頻序列進行分析,從原始圖像中分割出各個視頻對象,然後再分別對每個視頻對象的形狀資訊、運動資訊、紋理資訊單獨編碼,並透過比MPEG-2更優的運動預測和運動補償來去除連續幀之間的時間冗餘。其核心是基於內容的尺度可變性(Content-based scalability),可以對圖像中各個對象分配優先級,對比較重要的對象用高的空間和時間分辯率表示,對不甚重要的對象(如監控系統的背景)以較低的分辯率表示,甚至不顯示。因此它具有自適應調配資源能力,可以實現高質量低速率的圖像通信和視頻傳輸。

圖1

MPEG-4以其高質量、低傳輸速率等優點已經被廣泛應用到網絡多媒體、視頻會議和多媒體監控等圖像傳輸系統中。目前國內外大部分成熟的MPEG-4應用均爲基於PC層面的客戶端和服務器模式,應用在嵌入式系統上的並不多,且多數嵌入式MPEG-4解碼系統大多使用商業的嵌入式操作系統,如Windows CE、VxWorks等,成本高、靈活性差。如以嵌入式Linux作爲操作系統不僅開發方便,且可以節約成本,並可以根據實際情況進行裁減,佔用資源少、靈活性強,網絡性能好,適用範圍更廣。

下面詳細地介紹此嵌入式MPEG-4解碼系統的設計原理、硬件和軟件組成。

1 系統設計原理

系統設計包括硬件和軟件。硬件主要分控制系統、MPEG-4解碼系統、輸入數據源三部分。數據源可以是IDE接口設備(如硬盤)或網絡端口。控制系統對系統各部分進行監測和控制、完成數據流的傳輸等。如圖1所示,它主要由主控芯片、Flash和SRAM組成。主控芯片透過PCI總線控制系統其他模組,是控制系統的核心;Flash裏固化嵌入式Linux操作系統,存放應用軟件和備份數據;SDRAM作爲內存供系統執行使用。MPEG-4硬件解碼系統採用硬解碼方式,負責將輸入的MPEG-4數據流解碼成普通的電視信號,其核心是解碼芯片。爲解決數據流不穩定的問題,解碼芯片通常使用SDRAM進行數據緩衝纔可以保證正常解碼過程,解碼芯片的輸出數字音頻、視頻數據還要經數模轉換器(DAC)轉換成模擬電視圖像信號和聲音信號。解碼芯片透過I2C總線發送指令配置音、視頻數模轉換器。整個系統框圖如圖1所示。

圖2

軟件主要包括嵌入式Linux移植、解碼驅動和應用程序編寫。嵌入式Linux移植到由主控芯片Flash控制器控制的Flash裏,操作系統程序檔案分成五個主要部分:bootloader、kernel、ramdisk、usr和boot_param,分別放在Flash內的'五個模組中。根據不同模組的具體功能採用不同的檔案方式:bootloader、kernel、ramdisk和boot param,開發好後不需要動態改變,且容量小,使用節省空間的ROMFS只讀檔案系統,usr模組內容較多並需要進行讀寫操作,要使用支援動態擦寫儲存的JFFS檔案系統。

2 系統硬件設計

系統的硬件設計主要分三部分:數據源接口設計、控制系統設計和解碼系統設計。數據流先要從數據源經數據源接口送至PCI總線,此係統數據源接口爲PCI總線上的PCI/IDE橋芯片和網絡控制芯片。這部分採用通用的電路,本文不做詳細介紹。