圖像壓縮編碼和解碼原理
為頻率域的數(shù)值,這里稱為DCT系數(shù)。
對于上述64點陣列來說,可得到64個DCT系數(shù),轉(zhuǎn)換為圖(d)矩形陣列表格。它已經(jīng)將64個點的圖像采樣值組成的陣列,變?yōu)橐粋€直流平均值和63個不同頻率余弦波幅值組成的64個點陣列,并稱為DCT系數(shù)陣列。經(jīng)過上述變換后,已將空間坐標的數(shù)據(jù)轉(zhuǎn)換為頻率坐標的數(shù)據(jù),即DCT頻率系數(shù)。原有8×8區(qū)塊的各個像素的數(shù)值取樣量化后,轉(zhuǎn)變?yōu)轭l率域圖像信號的頻譜系數(shù),即可用64個頻率系數(shù)來表述,稱它們?yōu)?4個“正交基信號”,每個基信號對應于64個獨立二維空間頻率中的一個。這些空間頻率是由輸入信號的“頻譜”組成。所得64個變換系數(shù)當中,第一項代表直流分量,即64個空間圖像采樣值的平均值,其余63個系數(shù)代表各基信號的幅度。
觀察圖2.3.2(d)數(shù)據(jù)可發(fā)現(xiàn)規(guī)律,矩陣左上角的數(shù)值較大,而右下角的數(shù)值較小,且趨近于零值。于是,可以按照Z字形掃描順序,將各基信號的DCT系數(shù)列成一個表格。Z字形掃描的具體軌跡,如圖2.3.2(e)所示。按照此規(guī)律將DCT系數(shù)排列成數(shù)據(jù)系列,成為DCT系數(shù)編碼順序。經(jīng)過上述處理后,已將二維數(shù)據(jù)量轉(zhuǎn)換為一維數(shù)據(jù)量,該數(shù)列第一項是該區(qū)塊的平均亮度值,后面各項系數(shù)的分布和大小可以反映亮度起伏變化的劇烈程度。若系數(shù)較大,說明亮度起伏較大,該區(qū)域圖像輪廓較細致;若數(shù)值較小,則說明該區(qū)內(nèi)亮度變化較平緩;若數(shù)值為零,表示數(shù)列中高頻分量數(shù)值為零,亮度電平無變化。在實際數(shù)據(jù)處理過程中,排在后面的系數(shù)值基本上都有是零值,或者趨于零值。由63個系數(shù)集合及變化情況,可反映出該區(qū)塊內(nèi)圖像細節(jié)情況,即圖像清晰度狀況。
圖(d)矩陣數(shù)值非常具有實用價值。左上角數(shù)值較大,它們代表了圖像信息的直流成分和低頻分量,它是圖像信息的主體部分,也是區(qū)塊內(nèi)信息的主要部分;而右下角數(shù)值較小,它們代表了圖像信息的高頻分量,其幅值原本就比較小,它主要反映圖像的細節(jié)部分。人眼睛對圖像的亮度信息有較高的相對靈敏度,對圖像的彩色信息不夠敏感;還有,人眼睛對圖像信息的低頻分量具有較高的視覺靈敏度。經(jīng)Z字形字掃描后所形成的數(shù)據(jù)系列,恰好與人眼睛對圖像信息的敏感程度形成良好的對應關系。根據(jù)視覺生理的上述規(guī)律,可對圖像數(shù)據(jù)進行壓縮。
2、DCT系數(shù)的再量化處理
經(jīng)過上述DCT處理的頻率數(shù)據(jù)可以進行再處理,進一步壓縮數(shù)據(jù)量。人眼睛對各種頻率的敏感程度不同,并可取得統(tǒng)計性靈敏度數(shù)值。由此可對每種頻率分量設定不同的折算值,將前述經(jīng)轉(zhuǎn)換得到的DCT系數(shù)再次進行折算,以便進一步突出視覺效果影響大的成分,而消弱或忽略視覺效果影響小的成分。這種處理方法稱為量化處理,簡稱Q處理。對于64點陣列的64個系數(shù)來說,對應了64種不同頻率,可使用64個不同的折算值。通常稱這64個折算值為量化表,每個折算值稱為量化步長,或稱量化值。在64點陣列中,左上角的數(shù)據(jù)量化值較小,右下角的數(shù)據(jù)量化值較大。對DCT系數(shù)的再量化處理,可利用量化器電路來實現(xiàn)。該電路可將區(qū)塊的64個系數(shù)分別除以量化表中對應位置量化步長,再進行四舍五入取整后,即可得到經(jīng)過再量化處理的64個數(shù)據(jù)值。
經(jīng)過量化處理后,量化值大的系數(shù)值所得商值較小,也就是數(shù)據(jù)壓縮比較大,原圖像相應部分的忽略內(nèi)容較多;量化值小的系數(shù)所得商數(shù)值較大,也就是數(shù)據(jù)壓縮比較小,原圖像相應部分不予忽略或極小忽略。于是,經(jīng)過量化處理后的DCT系數(shù)矩陣,可出現(xiàn)許多零值。一般左上角位置的數(shù)據(jù)的商數(shù)是非0,在右下角位置的數(shù)據(jù)的商數(shù)很小,經(jīng)四舍五入取整值后可簡寫為0。在系數(shù)矩陣上出現(xiàn)了許多0值,則大大減少了數(shù)據(jù)量。一方面保留了圖像信息的主體部分,另一方面大大壓縮了像數(shù)據(jù)。
3.可變長度編碼(VLC)
經(jīng)量化處理的系數(shù)矩陣出現(xiàn)了許多0值,若進行Z字形掃描時,后面的系數(shù)將也出現(xiàn)連續(xù)0的狀況。此時,數(shù)據(jù)傳輸總量已經(jīng)明顯減少,但碼位并未減少,仍為64個系數(shù)位。為了進一步壓縮數(shù)據(jù)總量,可采用可變長度編碼,并簡稱VLC(Variable Length Coding)。
通常,采用兩種方法進行可變長度編碼。第一種,是根據(jù)數(shù)據(jù)出現(xiàn)的頻率,分配以不同長度的碼字來代替,對于頻繁出現(xiàn)的數(shù)據(jù),分配以較短的碼字,那些不經(jīng)常出現(xiàn)的數(shù)據(jù),則賦予較長的碼字,這樣處理后可減少傳輸?shù)目偞a率。第二種方法,雖然Z字形掃描使系數(shù)列尾部出現(xiàn)多個0個值,但不需要逐位地傳輸0值,僅需傳送表0的“個數(shù)”碼,待重放時再按規(guī)定恢復為0位,以便填滿矩陣的64位。例如00000,則可表示為50,在解碼時恢復為00000。
總之,對于靜止畫面來說,采用離散余弦變換,Z字形掃描、量化處理和可變長度編碼等方法,可使圖像數(shù)據(jù)量大大壓縮。在數(shù)據(jù)解碼時,先經(jīng)過可變長度解碼,恢復為數(shù)據(jù)的固定長度;再對系數(shù)進行反量化,恢復為原來的DCT頻率系數(shù);再經(jīng)過反向離散余弦變換,恢復為圖像的空間坐標數(shù)值,即原來圖像的數(shù)據(jù)。
三、幀間數(shù)據(jù)壓縮技術
對于活動圖像來說,相鄰幀的圖像具有強烈的相關性。在保存和記錄動態(tài)圖像時,不需要將每一幀圖像的全部信息都記錄和保存下來,可以將前面第一幀圖像全部數(shù)據(jù)都記錄下來,把它看成是靜態(tài)圖像,可用靜態(tài)圖像數(shù)據(jù)壓縮方法來處理。而后面諸幀圖像,可以僅記錄與前面幀圖像有差異的信息。于是,在重放時,利用前面幀圖像的數(shù)據(jù)和后面幀的差異數(shù)據(jù),即可恢復出后面幀的圖像。這種處理方法省去許多數(shù)據(jù)。
1、三種畫面
按照MPEG-1標準,傳送的活動畫面可分為3種類型。第1種,是場景更換后的第1幀畫面,它是一種獨立的畫面,這種畫面采用較高清晰度的逐點取樣法進行傳送,此畫面稱為I畫面(內(nèi)碼幀,或稱幀內(nèi)編碼幀)。該畫面信息是由自身畫面決定,不必參考其它畫面。該畫面的數(shù)據(jù)代表了活動圖像的主體內(nèi)容和背景內(nèi)容,它是電視畫面的基礎。第2種,是與I畫面相隔一定時間、活動圖像主體位置在同一背景上已發(fā)生明顯變化的畫面,此畫面稱P畫面(預測幀,或稱前向預測編碼幀)。該畫面用前面的I畫面作為參考畫面,該畫面不傳送背景等重復性信息,僅傳送主體變化的差值,這就省略了一部分細節(jié)信息,而在重放時依靠幀存儲器將I畫面的主要部分和P畫面的差值進行運算,即可得出新畫面的完整內(nèi)容,它是既有背景又有現(xiàn)時運動主體狀態(tài)的實際畫面。第3種,其情況與P畫面相似,用來傳送在I、P畫面之間的畫面,稱B畫面(雙向預測幀,或稱雙向預測內(nèi)插編碼幀)。該畫面僅反映在I、P畫面之間的運動主體變化情況,并用位移矢量(或稱運動矢量等)表示畫面主體移動情況。其信息量更小些。因為在重放它時,既可參考I畫面內(nèi)容,也要參考P畫面內(nèi)容,所以稱為雙向預測幀。
將一串連續(xù)相關的畫面分為I、P、B型后,傳輸信息量明顯減少。在P、B畫面當中,幾乎不傳送反映實物的象素,僅傳送其主體移動的差值,其具體的處理方法是采用了區(qū)塊對比的方法,在兩個變化的畫面當中,將區(qū)塊或宏塊作為處理單元,將一個畫面的宏、區(qū)塊與參與 畫面中鄰近范圍內(nèi)的宏、區(qū)塊進行數(shù)值運算對比,尋找與該塊最相近、誤差最小的區(qū)塊,找到近似的該區(qū)塊后,記錄該區(qū)塊在兩個畫面中的位移值,即為位移矢量以及反映兩畫面的差值量。若位移矢量坐標變化為0,說明該塊沒有移動,例如相同的背景景物;若位移矢量值有變化,而區(qū)塊差值為0,則說明景物有移動,而形狀沒有變化,例如飛行中的球類和奔馳的車輛等??梢?,位移矢量和區(qū)塊差值可在重放時依靠參考畫面得出新畫面的完整場景,而傳送時卻省略了背景和主體內(nèi)容,只傳送代表位移矢量和差值的少量數(shù)據(jù),使圖像得到大量壓縮。
2、三種畫面的連接
通常,更換場景后的第一幀就是I幀,I幀應當全幀傳送。從壓縮的程度來看,I畫面的壓縮量最少;P畫面次之,它是以I畫面為基礎;B畫面壓縮最多。為了加大壓縮比,通常在I幀后面相隔2幀(最多3幀)設置1個P幀,在I、P幀之間都是B幀,在兩個P幀之間也是設置2~3幀B幀。B幀傳送它與I幀或P幀之間的差值信息,或者P幀與后面P幀或I幀之間的差值信息,或者它與前后I、P幀或P、P幀平均值之間的差值信息。當主體內(nèi)容變化愈大時,兩個I畫面之間的幀數(shù)值越?。划斨黧w內(nèi)容變化小時,I面畫的間隔可以適當大一些?;蛘哒f,B幀、P幀所占比例越大,圖像壓縮比越高。一般兩個I畫面相隔13~15幀,相隔幀數(shù)不宜再多。
下面以15幀為例,說明VCD圖像幀的排列順序。I、P、B三種畫面的典型設置方式,對NTSC制共約需半秒時間。節(jié)目輸入順序是按實際出現(xiàn)順序排列的,即I、B、B、P、B、B、P、B、B……I、B、B、P……;但為了解碼時便于從I、P畫面插補得到B畫面,在編碼錄制節(jié)目時,將順序改變了,即按照I、P、B、B……順序,即改為按原來0、3、1、2、6、4、5、9、7、8…的畫面順序。解碼時先解出0幀、3幀,再由其插補預測計算得出1幀、2幀等等。為此,須在解碼器內(nèi)設置動態(tài)存儲器,將I、P幀先解碼并存儲,再計算出各個B幀。不過最后輸出時,還是應當按照實際播放順序重組讀出,按正確順序輸出。
VCD采用的幀間壓縮技術標準,對圖像編碼順序和各幀間隔是有具體規(guī)定的。采用幀壓縮技術后,各幀之間的信息冗余量大大減少,圖像碼率進一步壓縮,壓縮比可達3-20余倍。
四、圖像壓縮編碼過程和解壓縮過程
1、編碼過程
這里談談VCD所采用MPEG-1標準的編碼過程。因為相鄰幀畫面相同或基本相同,將這種畫面群的第1幅畫面作為I畫面,將它送入編碼器。編碼器首先將它割裂為許多片、宏塊、區(qū)塊等,將各區(qū)塊分割為8×8=64點陣列,再進行Z字形描述和DCT變換,將64個亮度(或色度)取樣數(shù)值變換為64個DCT系數(shù),再對64個系數(shù)值分別進行相應的量化,經(jīng)量化處理后再進行VLC處理,即得到了代表一個區(qū)塊數(shù)據(jù)的最短的數(shù)碼,至此,完成了該畫面群第1幀的第1列圖像中第1宏塊的編碼。依次類推,可得到第1幀畫面的全部壓縮數(shù)據(jù)編碼。原為二維空間的一幀圖像信息已經(jīng)轉(zhuǎn)變?yōu)橐痪S空間的串行數(shù)據(jù),這些數(shù)據(jù)被全部存儲起來,成為繼續(xù)進行數(shù)據(jù)處理的基礎。至此,I畫面數(shù)據(jù)處理完畢。
完成第1幀圖像壓縮編碼后,接著輸入第2幀圖像。編碼器按照相同的方法步驟對第2幀進行壓縮編碼,得到第2幀數(shù)據(jù)。此時,編碼器不再將第2幀數(shù)據(jù)進行完整的存儲和傳送,而是將它與第1幀數(shù)據(jù)進行比較運算。若運算中發(fā)現(xiàn),兩幀間數(shù)據(jù)差別很小時,說明兩幀圖像差別不大,僅將其差值存入存儲器,而舍掉其大部分重復數(shù)據(jù)。按照此方法再進行第3、第4幀編碼,并進行比較運算,直到找到某一幀,差別較大且超過規(guī)定值時,再將此幀數(shù)據(jù)中與第1幀的差別(包括位移矢量和差值)部分存儲起來,并將此幀數(shù)據(jù)排在第1幀(I幀)后面?zhèn)魉统鋈ィ搸褪荘畫面。當傳送I、P畫面后,再傳送3、4幀的差別數(shù)據(jù),這些畫面都是B畫面。它們之間的差別不大,是處于I、P之間的畫面。按照此程序和方法,可再選出許多組P和B畫面。通常,每隔13~15幀后,再設置一個I畫面,作為后續(xù)畫面的參考基準。如遇到較新的場景,將出現(xiàn)一幅不相同的新畫面,這幅新出現(xiàn)的畫面也作為I畫面。
圖2.2.3是MPEG-1圖像壓縮編碼器方框圖。代表亮度Y和色度分量CB、CR的二進制數(shù)碼
色差儀相關文章:色差儀原理
評論