專利名稱:基于圖像塊動(dòng)態(tài)劃分矢量量化算法的圖像壓縮芯片的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于集成電路設(shè)計(jì)技術(shù)領(lǐng)域及其圖像的壓縮傳輸領(lǐng)域,具體涉及到在VQ(矢量量化)硬件實(shí)現(xiàn)中,對(duì)部分關(guān)鍵電路的專用設(shè)計(jì),得到編碼速度快、有較高壓縮比、還原圖像質(zhì)量較高的基于圖像塊動(dòng)態(tài)劃分矢量量化(PDVQ)算法的圖像壓縮芯片。
背景技術(shù):
從20世紀(jì)80年代開始,人們就致力于圖像編碼技術(shù)的研究,不斷提出新的編碼算法,并且結(jié)合新技術(shù)對(duì)已有算法進(jìn)行改進(jìn)。上個(gè)世紀(jì)90年代,靜止圖像專家組(JointPhotographic Experts Group)提出多灰度靜止圖像的數(shù)字編碼標(biāo)準(zhǔn)——JPEG標(biāo)準(zhǔn)。同時(shí),運(yùn)動(dòng)圖像專家組(Moving Pictures Experts Group)結(jié)合JPEG標(biāo)準(zhǔn)和H.261標(biāo)準(zhǔn)提出運(yùn)動(dòng)圖像的國(guó)際壓縮標(biāo)準(zhǔn)——MPEG系列標(biāo)準(zhǔn)。JPEG專家組又結(jié)合小波變換技術(shù)提出JPEG2000標(biāo)準(zhǔn),大大加強(qiáng)了靜止圖像的編碼效率。這些標(biāo)準(zhǔn)是人們根據(jù)圖像數(shù)據(jù)的大量冗余性發(fā)展出以消除數(shù)據(jù)冗余為目的的編碼技術(shù),因此被稱為第一代視頻編碼技術(shù)。現(xiàn)在人們把目光投向第二代視頻編碼技術(shù),其編碼技術(shù)充分考慮人眼的視覺特性,以消除視頻冗余為目的,而最具有代表性的就是MPEG的第四代運(yùn)動(dòng)圖像壓縮編碼標(biāo)準(zhǔn)MPEG-4。
雖然有各種圖像壓縮算法對(duì)圖像進(jìn)行壓縮,但目前實(shí)現(xiàn)圖像實(shí)時(shí)壓縮傳輸還是要靠圖像壓縮芯片,因此基于VLSI技術(shù)的壓縮算法的硬件實(shí)現(xiàn),是一個(gè)國(guó)內(nèi)外研究的一個(gè)熱點(diǎn),取得了不少的研究成果。如美國(guó)模擬器件公司(ADI)發(fā)布的圖像壓縮芯片ADV-JP2000,是世界上首款支持JPEG2000圖像壓縮編碼標(biāo)準(zhǔn)的芯片。國(guó)內(nèi)也有單位在進(jìn)行這方面的研究,如清華大學(xué)集成電路與系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)室正在研究的以小波變換為基礎(chǔ)的課題《基于JPEG2000的圖像壓縮芯片系統(tǒng)的設(shè)計(jì)》,目前仍處于研究階段。鑒于圖像壓縮處理對(duì)民用尤其是軍用具有重要意義,所以開發(fā)出具有自主知識(shí)產(chǎn)權(quán)的性能優(yōu)良的圖像壓縮芯片是非常必要的。而國(guó)內(nèi)目前還未有自主知識(shí)產(chǎn)權(quán)的圖像壓縮芯片問世,因此這是一個(gè)非常迫切的工作。
為了普及可以傳輸接受圖像的通信系統(tǒng),特別是面向個(gè)人的攜帶型設(shè)備,迫切希望能夠開發(fā)出一種運(yùn)算速度快、易于硬件實(shí)現(xiàn)的壓縮解碼算法。
矢量量化(Vector Quantization,VQ)技術(shù)是一種20世紀(jì)70年代后期發(fā)展起來(lái)的數(shù)據(jù)壓縮技術(shù),基于VQ技術(shù)的圖像壓縮方法是利用相鄰圖像數(shù)據(jù)之間的高度相關(guān)性,將輸入的圖像數(shù)據(jù)序列分組,形成一個(gè)k維空間Rk中的一個(gè)矢量,然后對(duì)此矢量進(jìn)行量化,只傳輸或存儲(chǔ)矢量地址,因而可以大大提高壓縮率。由于VQ技術(shù)具有壓縮率大、算法簡(jiǎn)單的特點(diǎn),因此非常適合于硬件實(shí)現(xiàn)。但是由于矢量量化的編碼算法的大運(yùn)算量和高復(fù)雜度制約了其在高速和實(shí)時(shí)編碼系統(tǒng)中的應(yīng)用。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于圖像塊動(dòng)態(tài)劃分矢量量化算法的圖像壓縮芯片,該芯片具有較高的壓縮比、編碼速度快、還原后圖像質(zhì)量較高。
為了實(shí)現(xiàn)上述任務(wù),本發(fā)明采用如下的技術(shù)解決方案一種基于PDVQ算法的圖像壓縮芯片,其特征在于,該圖像壓縮芯片包括一個(gè)外部存儲(chǔ)器,用于保存待編碼圖像;一控制單元,用于負(fù)責(zé)協(xié)調(diào)整個(gè)系統(tǒng)的正常運(yùn)行;一個(gè)數(shù)據(jù)緩沖器,用于存放8×8圖像塊,圖像塊包括當(dāng)前子圖像塊CV和相鄰子圖像塊DV、RV和RDV的數(shù)據(jù);一個(gè)分類模塊,用于對(duì)當(dāng)前子圖像塊CV進(jìn)行分類;一個(gè)碼書地址編碼器,用于將分類模塊輸出的相對(duì)地址轉(zhuǎn)化為碼字在碼書中的實(shí)際物理地址計(jì)算,并將結(jié)果碼書地址輸出給碼書存儲(chǔ)器;一個(gè)碼書存儲(chǔ)器,用于向失真度計(jì)算單元輸出碼書內(nèi)對(duì)應(yīng)地址的矢量;一個(gè)失真度計(jì)算單元,用于完成失真度計(jì)算;一個(gè)預(yù)測(cè)控制器,用于完成預(yù)測(cè);一個(gè)量化控制器,用于將得到的失真度與當(dāng)前最小失真度進(jìn)行比較,更新最小失真度,同時(shí)記錄與最小失真度相對(duì)應(yīng)的碼字地址;一個(gè)和值存儲(chǔ)器,該和值存儲(chǔ)器與分類模塊相連接;數(shù)據(jù)緩沖器通過16位數(shù)據(jù)線與外部存儲(chǔ)器相連;數(shù)據(jù)緩沖器還通過16位數(shù)據(jù)線分別與失真度計(jì)算單元、分類模塊以及控制單元連接;分類模塊通過碼書地址編碼器與碼書存儲(chǔ)器連接,碼書存儲(chǔ)器和失真度計(jì)算單元相連,失真度計(jì)算單元分別與預(yù)測(cè)控制器和量化控制器相連,控制單元分別與數(shù)據(jù)緩沖器、分類模塊、碼書存儲(chǔ)器、預(yù)測(cè)控制器和量化控制器相連;控制單元通過使能信號(hào)控制各個(gè)功能模塊,各個(gè)功能模塊通過工作完成信號(hào)向控制單元報(bào)告工作狀態(tài)。
本發(fā)明的基于動(dòng)態(tài)劃分矢量量化算法的圖像壓縮芯片,帶來(lái)的技術(shù)效果是(1)如果使用普通VQ技術(shù),當(dāng)選用1024的碼書時(shí),壓縮比為12.8。可以看出,PDVQ圖像編碼的壓縮比得到很大的提高,比如對(duì)于較多細(xì)節(jié)的圖像,其壓縮率可以提高大約10%左右,達(dá)到14.22;對(duì)于中等細(xì)節(jié)圖像,壓縮率可以達(dá)到18.66,提高了大約46%;效果最明顯的是對(duì)于細(xì)節(jié)較少圖像的編碼,其壓縮率達(dá)到23.76,提高了大約一倍。
(2)同時(shí)還可以看出,在提高壓縮比的同時(shí),PSNR值相對(duì)于普通VQ只是略有降低,大約在0.3%左右,因此保證了重建圖像的質(zhì)量。通過對(duì)使用普通VQ和PDVQ對(duì)標(biāo)準(zhǔn)圖像“Peppers”進(jìn)行編碼后的重建圖像對(duì)比,可以看出,PDVQ重建圖像的視覺效果是令人滿意的。
(3)此外,申請(qǐng)人又對(duì)PDVQ的編碼速度進(jìn)行了測(cè)試,測(cè)試環(huán)境為P4-1.4GHz,測(cè)試平臺(tái)為Matlab6.0,其結(jié)果為普通VQ進(jìn)行一次全編碼平均需要67秒,而PDVQ只需要大約45秒,速度提高了30%。這個(gè)結(jié)果與預(yù)測(cè)的結(jié)果相當(dāng)吻合。無(wú)論是理論分析,還是實(shí)驗(yàn)結(jié)果,都可以驗(yàn)證圖像塊動(dòng)態(tài)劃分(PDVQ)技術(shù)的性能。本發(fā)明的目的是充分利用該芯片的優(yōu)勢(shì),在對(duì)圖像質(zhì)量沒有特別要求的情況下,使用PDVQ技術(shù)進(jìn)行VQ編碼,達(dá)到提高圖像壓縮比和編碼速度,同時(shí)兼顧了這些性能的提高對(duì)重建圖像質(zhì)量的影響微乎其微的要求。
經(jīng)申請(qǐng)人使用證明,達(dá)到的預(yù)期目的。
圖1是矢量量化圖像編碼系統(tǒng)的構(gòu)成圖;圖2是圖像子塊的標(biāo)記圖;圖3是PDVQ圖像編碼系統(tǒng)硬件結(jié)構(gòu)圖;圖4是分塊搜索電路結(jié)構(gòu)圖;圖5是大塊預(yù)測(cè)電路結(jié)構(gòu)圖;圖6是分類判別電路結(jié)構(gòu)圖;圖7是基于和值分塊查找電路結(jié)構(gòu)圖;圖8是分類編碼電路結(jié)構(gòu)圖。
上述圖之間的關(guān)系說(shuō)明圖3中虛線框內(nèi)的電路結(jié)構(gòu)包含了圖4的分塊搜索電路,圖6的分類判別電路和圖7的基于和值分塊查找電路結(jié)構(gòu)。
圖4是圖3中虛線框內(nèi)分塊搜索電路實(shí)現(xiàn)的詳細(xì)結(jié)構(gòu)。
圖5是大塊預(yù)測(cè)電路在整個(gè)系統(tǒng)中的位置對(duì)應(yīng)圖3中的失真度計(jì)算單元(Distortion)。
圖6分類判別電路在整個(gè)系統(tǒng)中的位置對(duì)應(yīng)圖3中的分類模塊(Sort)。
圖7是圖3中虛線框內(nèi)基于和值分塊查找電路實(shí)現(xiàn)的詳細(xì)結(jié)構(gòu)。
下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明。
具體實(shí)施例方式
本發(fā)明的基于圖像塊動(dòng)態(tài)劃分矢量量化算法的圖像壓縮芯片具體結(jié)構(gòu)參見圖3,該芯片包括外部存儲(chǔ)器、控制單元、數(shù)據(jù)緩沖器、分類模塊、碼書地址編碼器、碼書存儲(chǔ)器、失真度計(jì)算單元、預(yù)測(cè)控制器、量化控制器、和值存儲(chǔ)器;待編碼圖像保存在外部存儲(chǔ)器中,緩沖器(Cache)存放8×8圖像塊(包括當(dāng)前子圖像塊CV和相鄰子圖像塊DV、RV和RDV)的數(shù)據(jù)。數(shù)據(jù)緩沖器(Cache)通過16位數(shù)據(jù)線data_im與外部存儲(chǔ)器相連,在來(lái)自控制單元(Controller)的信號(hào)shift_load_n,shift_en_n,ram_wr_n,ram_oe_n控制下,它輸出像素值給失真度計(jì)算單元(distortion)以及分類模塊(Sort)。
數(shù)據(jù)緩沖器(Cache)與失真度計(jì)算單元(distortion)之間連接通過16位數(shù)據(jù)線data_cv和data_xv實(shí)現(xiàn)。通過16位數(shù)據(jù)線data_cv傳送當(dāng)前子圖像塊CV的像素值,通過16位數(shù)據(jù)線data_xv傳送相鄰子圖像塊DV、RV和RDV的像素值。
數(shù)據(jù)緩沖器(Cache)與分類模塊(Sort)之間通過16位數(shù)據(jù)線data_cv_in連接,傳送當(dāng)前子圖像塊CV的像素值。
分類模塊(Sort)在來(lái)自控制單元(Controller)的信號(hào)Sort_en的控制下工作,分類完成后,向控制單元(Controller)返回Sort_end信號(hào);向碼書地址編碼器輸出對(duì)當(dāng)前子圖像塊CV進(jìn)行編碼的參考地址addr_top。
碼書地址編碼器根據(jù)輸入的參考地址addr_top信號(hào),完成將分類模塊輸出的相對(duì)地址轉(zhuǎn)化為碼字在碼書中的實(shí)際物理地址計(jì)算,并將結(jié)果碼書地址addr_cb輸出給碼書存儲(chǔ)器(ROM_CB)。
碼書存儲(chǔ)器(ROM_CB)在來(lái)自控制單元(Controller)的信號(hào)rom_cb_oe的控制下工作,向失真度計(jì)算單元(distortion)輸出碼書內(nèi)對(duì)應(yīng)地址addr_cb的矢量data_cb。
失真度計(jì)算單元(distortion)完成失真度計(jì)算,將結(jié)果通過12位數(shù)據(jù)線distortion輸出給預(yù)測(cè)控制器(pred_CTR)和量化控制器(encd_CTR)。
預(yù)測(cè)控制器(pred_CTR)在來(lái)自控制單元(Controller)的信號(hào)pred_en的控制下工作,預(yù)測(cè)完成后,將標(biāo)志位信號(hào)Flag及預(yù)測(cè)結(jié)束信號(hào)pred_end輸出給控制單元(Controller);失真度計(jì)算單元(distortion)在預(yù)測(cè)階段和量化階段都要工作。對(duì)子圖像塊進(jìn)行量化編碼時(shí),失真度計(jì)算單元(distortion)根據(jù)待量化子圖像塊的像素值和來(lái)自碼書存儲(chǔ)器(ROM_CB)的矢量data_cb進(jìn)行失真度計(jì)算,將結(jié)果通過12位數(shù)據(jù)線distortion輸出給量化控制器(encd_CTR)。
量化控制器在來(lái)自控制單元(Controller)的信號(hào)encd_en的控制下工作,根據(jù)得到的失真度,與當(dāng)前最小失真度進(jìn)行比較,更新最小失真度,同時(shí)記錄與最小失真度相對(duì)應(yīng)的碼字地址。當(dāng)量化結(jié)束時(shí),該模塊輸出匹配碼字對(duì)應(yīng)的地址碼addr_match和量化完成信號(hào)(encd_end),該地址碼與預(yù)測(cè)所產(chǎn)生的Flag共同構(gòu)成圖像塊的匹配地址。
控制單元(Controller)負(fù)責(zé)協(xié)調(diào)整個(gè)系統(tǒng)的正常運(yùn)行??刂茊卧ㄟ^使能信號(hào)(_en)控制各個(gè)功能模塊,各個(gè)功能模塊通過工作完成信號(hào)(_end)向控制單元報(bào)告工作狀態(tài)。
圖像塊的相關(guān)度計(jì)算采用了失真測(cè)度的方法,所以對(duì)于整個(gè)系統(tǒng)來(lái)說(shuō)除了常用的求和電路以外,最主要的運(yùn)算單元就是失真度計(jì)算單元(Distortion)。由于量化和相關(guān)度計(jì)算在不同的階段進(jìn)行,所以在硬件系統(tǒng)中只需要一個(gè)失真度計(jì)算單元。失真度計(jì)算單元的使用由控制單元進(jìn)行管理。當(dāng)進(jìn)行圖像塊相關(guān)度計(jì)算或量化時(shí)將失真度計(jì)算單元分別分配到預(yù)測(cè)控制器或量化控制器,其他時(shí)間則通過使能信號(hào)使失真度模塊處于空閑狀態(tài),以降低功耗。
其具體制備方法,按以下方式進(jìn)行1、通過分塊搜索電路為了消除VQ編碼的冗余計(jì)算量,研究者們通常設(shè)計(jì)新的碼字匹配算法來(lái)代替窮盡搜索算法,以此來(lái)提高編碼速度,如多級(jí)矢量量化(MVQ)、預(yù)測(cè)矢量量化(PVQ)等,而本設(shè)計(jì)中提出的分塊搜索算法是一種效率較高的匹配算法。另外還可以通過減少有效的待編碼圖像塊矢量達(dá)到消除冗余計(jì)算量的目的。
2、通過圖像塊動(dòng)態(tài)劃分矢量量化(PDVQ)技術(shù)及其電路本設(shè)計(jì)中提出的圖像塊動(dòng)態(tài)劃分矢量量化(PDVQ)技術(shù)就是通過確定相鄰圖像塊之間的相關(guān)性,只對(duì)非相關(guān)圖像塊進(jìn)行量化編碼,從而減少了有效的編碼矢量的數(shù)量。
PDVQ算法是針對(duì)專用芯片應(yīng)用,在傳統(tǒng)VQ算法基礎(chǔ)上開發(fā)的快速算法,其核心結(jié)構(gòu)分為三個(gè)部分大塊預(yù)測(cè),類型判別和基于和值分塊查找。
①大塊預(yù)測(cè)電路原始的圖像數(shù)據(jù)被劃分成8×8的圖像塊,這些塊進(jìn)一步分成4個(gè)4×4的子圖像塊,計(jì)算各子圖像塊之間的相似度關(guān)系,如果相似,認(rèn)為該8×8的圖像塊是平滑的,只需對(duì)其中一個(gè)4×4的塊進(jìn)行矢量量化編碼,其他各塊的編碼結(jié)果與其一致。如果不平滑,則需要對(duì)每個(gè)子塊都進(jìn)行矢量量化編碼。
②分類判別電路對(duì)每個(gè)4×4的子圖像塊進(jìn)行統(tǒng)計(jì)時(shí)發(fā)現(xiàn),圖像存在著水平,垂直,對(duì)角等方向性。因此可以根據(jù)這個(gè)特性預(yù)先對(duì)碼書進(jìn)行排序,在對(duì)圖像塊編碼時(shí),只需要先對(duì)圖像塊進(jìn)行類型判別,即可在對(duì)應(yīng)的碼書范圍內(nèi)進(jìn)行矢量匹配,這樣大大縮小了運(yùn)算量。
③基于和值分塊查找電路硬件實(shí)現(xiàn)時(shí),采用的矢量匹配準(zhǔn)則是一范數(shù),而圖像塊的和值與一范數(shù)之間存在著對(duì)映關(guān)系。這表現(xiàn)在對(duì)于任一個(gè)圖像矢量,與碼書矢量進(jìn)行完匹配之后,一范數(shù)最小的那個(gè)碼書矢量的和值往往也最接近圖像矢量的和值。這樣就可以預(yù)先對(duì)碼書矢量按照和值進(jìn)行排序,分成若干個(gè)區(qū)。在進(jìn)行匹配運(yùn)算之前先計(jì)算圖像塊的和值,然后到和值最接近的區(qū)域內(nèi)進(jìn)行匹配運(yùn)算,這樣可以減少計(jì)算量。
將上述三個(gè)部分綜合到一起,合理的選取相關(guān)參數(shù),就構(gòu)成了PDVQ算法。
3、通過分類編碼電路研究者通過優(yōu)化碼書的組織結(jié)構(gòu)來(lái)提高VQ編碼性能,本設(shè)計(jì)中提出的分類編碼算法就是基于分類碼書提出的VQ快速編碼算法。
本發(fā)明將結(jié)合PDVQ、分類編碼算法以及分塊搜索算法等三種算法,提出完整的VQ編碼器的設(shè)計(jì)方案,并給出了編碼器在0.35um CMOS工藝下的ASIC結(jié)構(gòu)。為了降低計(jì)算復(fù)雜度,本發(fā)明采用平均絕對(duì)值誤差(MAE)作為失真測(cè)度,這已被證明是非常有效的。
PDVQ編碼的具體實(shí)施過程如下1)圖像塊讀取。從外部存儲(chǔ)器中的待編碼圖像中讀取一個(gè)8×8的圖像塊,作為PDVQ技術(shù)的目標(biāo)圖像塊。將該圖像塊按照?qǐng)D2所示劃分為四個(gè)子圖像塊,并轉(zhuǎn)化為一維矢量,分別如圖所示標(biāo)記為CV、DV、RV與RDV。
2)相關(guān)度計(jì)算。分別計(jì)算CV和DV、RV、RDV的相關(guān)度,并按照公式(3-1)標(biāo)記。
CCR=C(CV,RV)CCD=C(CV,DV)CCRD=C(CV,RDV)---(3-1)]]>3)子圖像塊矢量之間的相關(guān)度與相關(guān)度閾值的比較。將步驟(2)得到的相關(guān)度分別與相關(guān)度閾值T進(jìn)行比較,如果滿足關(guān)系式(3-2),則代表讀取的8×8圖像塊為相關(guān)圖像塊,只需要對(duì)CV進(jìn)行矢量量化,編碼流程進(jìn)入步驟(4);反之,則代表該8×8圖像塊不滿足相關(guān)性要求,需要對(duì)每一個(gè)子圖像塊矢量進(jìn)行矢量量化,編碼流程進(jìn)入步驟(6)。
(CCR<T)&(CCD<T)&(CCRD<T)……………(3-2)3)相關(guān)圖像塊的量化。如果讀取的8×8圖像為相關(guān)圖像塊,則只對(duì)子圖像塊矢量CV進(jìn)行矢量量化,得到CV的匹配地址碼,并將這個(gè)地址碼作為整個(gè)8×8圖像塊的地址碼,即DV、RV和RDV的匹配地址碼與CV相同。
4)相關(guān)圖像塊匹配地址碼的生成。為了與非相關(guān)圖像塊區(qū)別,如上所述,需要附加標(biāo)志位Flag,所以完整的匹配地址碼如公式(3-3)所示。在公式(3-9)中,Match_Index代表附加了標(biāo)志位Flag后的完整的匹配地址碼,Match_Address代表通過矢量量化得出的匹配地址碼。
Match_Index={Flag,Match_Address}………(3-3)5)非相關(guān)圖像塊的量化。如果判定所讀取的8×8圖像塊為非相關(guān)圖像塊,則需要對(duì)每個(gè)子圖像塊矢量進(jìn)行矢量量化。PDVQ按照CV→DV→RV→RDV的順序分別對(duì)子圖像塊矢量進(jìn)行量化,并將得到的匹配地址碼送到步驟(7)。
6)非相關(guān)圖像塊匹配地址碼的生成。與步驟(5)相同。需要說(shuō)明的是對(duì)于相關(guān)圖像塊,F(xiàn)lag設(shè)定為‘0’,匹配地址碼的碼長(zhǎng)為9比特;對(duì)于非相關(guān)圖像塊,F(xiàn)lag設(shè)定為‘1’,匹配地址碼的碼長(zhǎng)為4×9比特。
7)當(dāng)前圖像塊編碼結(jié)束,繼續(xù)讀取下一個(gè)8×8圖像塊,重復(fù)步驟(1)~(8)直到整幅圖像編碼結(jié)束。
參見圖4,待編碼的子圖像塊x,經(jīng)和值計(jì)算單元計(jì)算出和值S(x),送給和值匹配單元,得到與子圖像塊和值最匹配和值對(duì)應(yīng)的碼書塊j;然后將這一碼書塊的碼字輸出給失真度計(jì)算及比較單元;失真度計(jì)算及比較單元對(duì)經(jīng)延遲單元處理的待編碼的子圖像塊x及來(lái)自碼書的碼字進(jìn)行運(yùn)算,輸出結(jié)果i。
參見圖5,數(shù)據(jù)加載單元在來(lái)自預(yù)測(cè)控制單元的信號(hào)pred_en的控制下,輸出當(dāng)前子圖像塊像素值data_cv和相臨子圖像塊像素值data_xv到失真度計(jì)算單元,失真度計(jì)算單元在來(lái)自預(yù)測(cè)控制單元的進(jìn)位信號(hào)pixe_carry的控制下,輸出計(jì)算中間結(jié)果data_temp給累加及比較單元,得到最終的失真度值distortion輸出給預(yù)測(cè)控制單元。預(yù)測(cè)結(jié)束后,預(yù)測(cè)控制單元將最終失真度值distortion輸出給標(biāo)志位確定單元,標(biāo)志位確定單元根據(jù)預(yù)先確定的閾值TH_VALUE及distortion的值,確定標(biāo)志位flag并輸出。
參見圖6,數(shù)據(jù)加載單元讀入4×4圖像塊(16個(gè)像素值),通過數(shù)據(jù)線In_Data_Bus送給2x2塊劃分單元,得到4個(gè)2×2圖像塊;2×2塊劃分單元輸出劃分后的像素值給和值計(jì)算單元,分別得到4個(gè)2×2圖像塊的像素值和In_SB1,In_SB2,In_SB3,In_SB4,送給減法及比較單元,經(jīng)過減法及比較運(yùn)算,輸出6組進(jìn)位信號(hào),Carry23,Carry14,Carry24,Carry13,Carry34,Carry12給類型確定單元,類型確定單元在來(lái)自分類控制單元的分類結(jié)束信號(hào)sort_end的控制下,根據(jù)6組進(jìn)位信號(hào),確定輸入的4×4圖像塊的類型out_type并輸出。
參見圖7,待編碼的圖像塊數(shù)據(jù)data_im,送給和值計(jì)算單元,計(jì)算出和值data_sum送給參考地址確定單元,參考地址確定單元根據(jù)該圖象塊的類型信息type_value及和值data_sum,利用和值碼書中的信息,確定與該子圖象塊和值最匹配的和值在碼書中對(duì)應(yīng)的碼書塊的參考地址refer_addr并輸出。
參見圖8,地址更新單元在來(lái)自編碼控制單元的使能信號(hào)encd_en的控制下,向數(shù)據(jù)加載單元輸出地址addr(信號(hào)位寬11),同時(shí)將addr的低8位輸出給地址確定單元;數(shù)據(jù)加載單元根據(jù)來(lái)自地址更新單元的輸入的碼書地址信號(hào)addr(信號(hào)位寬11),輸出待編碼的當(dāng)前圖像塊的像素值data_cv及來(lái)自碼書對(duì)應(yīng)地址addr(信號(hào)位寬11)的碼字data_cb給失真度計(jì)算單元,失真度計(jì)算單元將計(jì)算結(jié)果dist(distortion)送失真度比較單元,得到多次失真度計(jì)算結(jié)果中最小的失真度值dist_min輸出給編碼控制單元;當(dāng)編碼結(jié)束后,編碼控制單元通過改變向地址更新單元發(fā)出ence_en的值,使地址更新單元停止向數(shù)據(jù)加載單元輸出地址,同時(shí),地址確定單元將對(duì)應(yīng)最小失真度的碼字的地址作為最終編碼地址addr_match輸出。
表1給出了VQ圖像編碼系統(tǒng)仿真結(jié)果,表2給出了采用本發(fā)明的方法得到的PDVQ芯片性能參數(shù)。
表1VQ圖像編碼系統(tǒng)仿真結(jié)果
表2PDVQ芯片性能參數(shù)
權(quán)利要求
1.一種基于圖像塊動(dòng)態(tài)劃分矢量量化算法的圖像壓縮芯片,其特征在于,該圖像壓縮芯片包括一個(gè)外部存儲(chǔ)器,用于保存待編碼圖像;一控制單元,用于負(fù)責(zé)協(xié)調(diào)整個(gè)系統(tǒng)的正常運(yùn)行;一個(gè)數(shù)據(jù)緩沖器,用于存放8×8圖像塊,圖像塊包括當(dāng)前子圖像塊CV和相鄰子圖像塊DV、RV和RDV的數(shù)據(jù);一個(gè)分類模塊,用于對(duì)當(dāng)前子圖像塊CV進(jìn)行分類;一個(gè)碼書地址編碼器,用于將分類模塊輸出的相對(duì)地址轉(zhuǎn)化為碼字在碼書中的實(shí)際物理地址計(jì)算,并將結(jié)果碼書地址輸出給碼書存儲(chǔ)器;一個(gè)碼書存儲(chǔ)器,用于向失真度計(jì)算單元輸出碼書內(nèi)對(duì)應(yīng)地址的矢量;一個(gè)失真度計(jì)算單元,用于完成失真度計(jì)算;一個(gè)預(yù)測(cè)控制器,用于完成預(yù)測(cè);一個(gè)量化控制器,用于將得到的失真度與當(dāng)前最小失真度進(jìn)行比較,更新最小失真度,同時(shí)記錄與最小失真度相對(duì)應(yīng)的碼字地址;一個(gè)和值存儲(chǔ)器,該和值存儲(chǔ)器與分類模塊相連接;數(shù)據(jù)緩沖器通過16位數(shù)據(jù)線與外部存儲(chǔ)器相連;數(shù)據(jù)緩沖器還通過16位數(shù)據(jù)線分別與失真度計(jì)算單元、分類模塊以及控制單元連接;分類模塊通過碼書地址編碼器與碼書存儲(chǔ)器連接,碼書存儲(chǔ)器和失真度計(jì)算單元相連,失真度計(jì)算單元分別與預(yù)測(cè)控制器和量化控制器相連,控制單元分別與數(shù)據(jù)緩沖器、分類模塊、碼書存儲(chǔ)器、預(yù)測(cè)控制器和量化控制器相連;控制單元通過使能信號(hào)控制各個(gè)功能模塊,各個(gè)功能模塊通過工作完成信號(hào)向控制單元報(bào)告工作狀態(tài)。
2.如權(quán)利要求1所述的基于PDVQ算法的圖像壓縮芯片,其特征在于,所述的碼書地址編碼器根據(jù)輸入的參考地址信號(hào),完成將分類模塊輸出的相對(duì)地址轉(zhuǎn)化為碼字在碼書中的實(shí)際物理地址計(jì)算。
3.如權(quán)利要求1所述的基于PDVQ算法的圖像壓縮芯片,其特征在于,所述的碼書存儲(chǔ)器在來(lái)自控制單元的信號(hào)的控制下工作,向失真度計(jì)算單元輸出碼書內(nèi)對(duì)應(yīng)地址的矢量;失真度計(jì)算單元完成失真度計(jì)算,將結(jié)果通過12位數(shù)據(jù)線輸出給預(yù)測(cè)控制器和量化控制器;預(yù)測(cè)控制器在來(lái)自控制單元的信號(hào)的控制下工作,預(yù)測(cè)完成后,將標(biāo)志位信號(hào)Flag及預(yù)測(cè)結(jié)束信號(hào)輸出給控制單元;失真度計(jì)算單元在預(yù)測(cè)階段和量化階段都要工作,對(duì)子圖像塊進(jìn)行量化編碼時(shí),失真度計(jì)算單元根據(jù)待量化子圖像塊的像素值和來(lái)自碼書存儲(chǔ)器的矢量進(jìn)行失真度計(jì)算,將結(jié)果通過12位數(shù)據(jù)線輸出給量化控制器;量化控制器在來(lái)自控制單元的信號(hào)的控制下工作,根據(jù)得到的失真度,與當(dāng)前最小失真度進(jìn)行比較,更新最小失真度,同時(shí)記錄與最小失真度相對(duì)應(yīng)的碼字地址;當(dāng)量化結(jié)束時(shí),該模塊輸出匹配碼字對(duì)應(yīng)的地址碼和量化完成信號(hào),該地址碼與預(yù)測(cè)所產(chǎn)生的Flag共同構(gòu)成圖像塊的匹配地址。
全文摘要
一種基于圖像塊動(dòng)態(tài)劃分矢量量化算法的圖像壓縮芯片,芯片采用PDVQ算法,包括外部存儲(chǔ)器、控制單元、數(shù)據(jù)緩沖器、分類模塊、碼書地址編碼器、碼書存儲(chǔ)器、失真度計(jì)算單元、預(yù)測(cè)控制器、量化控制器、和值存儲(chǔ)器;數(shù)據(jù)緩沖器通過16位數(shù)據(jù)線與外部存儲(chǔ)器相連;數(shù)據(jù)緩沖器還通過16位數(shù)據(jù)線分別與失真度計(jì)算單元、分類模塊以及控制單元連接;分類模塊通過碼書地址編碼器與碼書存儲(chǔ)器連接,碼書存儲(chǔ)器和失真度計(jì)算單元相連,失真度計(jì)算單元分別與預(yù)測(cè)控制器和量化控制器相連,控制單元分別與數(shù)據(jù)緩沖器、分類模塊、碼書存儲(chǔ)器、預(yù)測(cè)控制器和量化控制器相連;控制單元通過使能信號(hào)控制各個(gè)功能模塊,各個(gè)功能模塊通過工作完成信號(hào)向控制單元報(bào)告工作狀態(tài)。
文檔編號(hào)H04N7/32GK1878313SQ20061004281
公開日2006年12月13日 申請(qǐng)日期2006年5月15日 優(yōu)先權(quán)日2006年5月15日
發(fā)明者余寧梅, 王冬芳, 張玉倫, 張如亮, 劉松, 馬海俠 申請(qǐng)人:西安理工大學(xué)