標清電視信號的MJPEG2000實時編解碼系統(tǒng)
關鍵詞:JPEG2000 MJPEG2000 ADV202
JPEG2000基于小波變換,具有優(yōu)秀的圖像壓縮性能,支持更高的比特位深,支持質量漸進模式、適當的編碼和碼流設計,從而具有更強的誤碼魯棒性。而基于JPEG2000[1]的MOTION MJPEG2000[2]用于運動圖像的壓縮,繼承了JPEG2000的優(yōu)點,同時由于沒有采用幀間預測和補償,其硬件實現的復雜度要比MPEG2小得多,因此MJPEG2000能廣泛應用于數碼相機、高誤碼率環(huán)境、視頻采集、專業(yè)廣播和膠片轉靈的高質量數據視頻錄像、高分辨率醫(yī)學圖像或衛(wèi)星遙感圖像等方面。
1 JPEG2000簡介
JPEG2000的編碼框圖如圖1。
JPEG2000基于小波變換,放棄了離散余弦變換的區(qū)塊編碼方式,采用以小波轉換為主的多分辨率的編碼方式,將圖像分解成不同分辨率。每種分辨包括四種子帶:水平和垂直方向都低通的LL子帶、水平高通垂直直低通的HL子帶、水平低通垂直高速的LH子帶、水平和垂直方向都是高速的HH子帶。每種分辨率與子帶對圖像的重構貢獻不一樣。根據小波分解后小波系數的特點。JPEG2000采用了最佳截斷嵌入式碼塊編碼EBCOT對小波系數進行編碼,EBCOT將小波分解后的子帶分成互不重疊的編碼塊(例如塊的大小64x64),然后對每個編碼塊的系數進行獨立的比特層編碼,對每個比特層都用重要性傳播過程掃描、幅度精確過程掃描和精理過程掃描三種方式;接著對每種掃描的結果采用四種編碼方式:重要要性編碼、符號編碼、幅度精練編碼和精理編碼。這些編碼都采用基于上下文的MQ算術編碼,因此每個編碼塊都獨立生成一個編碼流,然后根據后壓縮率失真優(yōu)化PCRT-opt算法將每個編碼流分成若干段,每段碼流長度失真長度斜率從大到小排列,可以將大于某個失真長度斜率的所有編碼塊的編碼流組合在一起形成一個質量層。EBCOT的最大特點就是鈄位流的生成和組合分開進行,這樣可根據需要靈活處理碼流的生成。
運動JPEG2000標準是在JPEG2000標準的第三部分定義的,稱為MJPEG2000,其文件格式如圖2所示。MJP2可以在一個文件里包含一系列JPEG2000圖像和時序,還可以容納背景聲音和元數據。用戶可以編輯、顯示、交換和流媒體化圖像序列。Motion JPEGL2000是一種針對圖像序列的標準,在一個單獨編解碼器中同時支持無損和有損壓縮。它允許一個或多個JPEG2000壓縮圖像序列,與聲音、元數據同步后,存儲為MJ2的文件格式。
JPEG2000標志主要說明這個編碼流符合JPEG2000標準,“文件類型”用來更具體說明這個碼流的文件格式,如JP2格式、MJP2格式等。MJ2 moov box主要包含MJ2中的視頻、音頻的一些解碼所需的描述信息。而mdata box則包含實際的視頻、音頻壓縮數據和一些元數據。JPEG2000編碼流就是視頻預序列中的每幀的JPEG2000碼流。
2 ADV202結構
通過JPEG2000的編碼過程知道,小波變換、EBCOT最優(yōu)截斷嵌入式塊編碼(上下文的MQ算術編碼、后壓縮率失真優(yōu)化和碼流打包)是JPEG2000的主要編碼步驟ADV202采用小波編碼模塊處理小波變換、三個熵編碼模塊處理MQ算術編碼,另外用RISC處理器實現了JPEG2000碼流的打包。這樣的分工模式極大地提高了JPEG2000的編碼速度。ADV202支持9/7和5/3小波變換,最高支持6級變換,三分量4:2:2隔行模式最大支持2048像素,單分量模式最大支持4096像素;最大圖像高度是4096像素。對于不可逆模式,ADV202的最大處理能力為65M樣本/秒,可逆模式為40M樣本/秒,因此對于標清的PAL和NTSC格式的視頻,一片ADV202即能夠處理。如果用多片ADV202,則ADV202也能支持HDTV的高清視頻圖像處理。
ADV202有兩種輸入接口,像素接口和主機接口。當視頻序列人像素接口輸入時,表示輸入數據的時鐘確定,能直接將數據送入小波變換模塊,進行小波變換,例如從標清視頻解碼器輸出數字視頻數據;如果從主機接口輸入,則輸入數據的速率與系統(tǒng)時鐘不匹配,需先送入像素FIFO,系統(tǒng)通過FIFO的讀寫來匹配系統(tǒng)時鐘,將FIFO讀出的數據送入小波變換模塊進行小波變換。然后進行EBCOT量化編碼,最后由RISC將編碼流打包成JPEG2000編碼流或者JPEG2000的JP2文件格式,最后打包的碼流送入編碼流FIFO。外部設備通過主機接口訪問編碼流FIFO得到JPEG2000壓縮碼流。
ADV202作為解碼器時,則像素接口和像素FIFO作為輸出,編碼流FIFO接收JPEG2000編碼流,圖3是ADV202的內容模塊。
3 總體設計方案
3.1 MJPEG2000編碼系統(tǒng)
本方案采用芯片ADV202來作MJPEG2000的編解碼處理,模擬標清電視信號輸入通過視頻解碼器連接到像素接口,ADV202將JPEG2000編碼流從主機接口輸出,PC機通過PCI接口芯片將JPEG2000編碼流以DMA方式取出,并存入PC機硬盤。然后由PC軟件JPEG2000碼流打包成標準的MJPEG2000文件格式。同時ADV202接收PC機傳送的編碼參數,如有損無損壓縮選擇、編碼塊大小選擇、小波分解級數、量化步長、MQ算術編碼模式選擇、JPEG2000碼率的漸進模式選擇、CSF參數、壓縮選擇等。如果將ADV202的RISC程序改為JPEG2000的解碼程序,則ADV202可以從編碼功能轉變?yōu)榻獯a功能。因為ADV202支持豐富的參數選項,因此本系統(tǒng)采用基于PC機的設計,以更好地發(fā)揮ADV202的靈活性和MJPEG2000壓縮流的存儲。
MJPEG2000編碼系統(tǒng)如圖4所示,ADV202的像素接口和主機接口都是通過ispGDX(即I/O的連接器)再與其它芯片相連。因為在這個系統(tǒng)中,ADV202即可做編碼器,也可做解碼器,其像素接口即要連著視頻解碼器的輸出口,也要連著視頻編碼器的輸入口。使用ispCPLD則能輕松解決這個問題,同時ADV202最高支持分量樣本位深為12位,可以支持視頻解碼器分量樣本位深8、10、12比特和雙輸入8、10或12比特分量等,通過ispCPLD增加了系統(tǒng)的靈活性。
PCI接口芯片連接PCI總線和CPLD,負責ADV202的壓縮輸出碼流與PC機之間的連接,將壓縮流通過PCI總線存入PC機的硬盤,或將壓縮流通過PCI接口芯片送入ADV202的編碼流FIFO解驪。
CPLD的主要功能:
評論