圖像壓縮編碼和解碼原理
本節(jié)介紹圖像壓縮編碼的基本原理,圖像數(shù)據(jù)壓縮和解壓縮電路的基本結(jié)構(gòu)。它們是看影碟機(jī)電路圖的基礎(chǔ)知識(shí)。
一、圖像壓縮的基本途徑
圖像的數(shù)據(jù)量極大,必須對(duì)其數(shù)據(jù)總量大大壓縮,才能夠存儲(chǔ)在直徑12cm的光盤上。在實(shí)用技術(shù)上,可通過以下途徑來壓縮圖像數(shù)據(jù)的總量。
1、采用亮度(Y)、色度(C)取樣方式
實(shí)用彩色電視技術(shù)沒有傳輸、處理紅、藍(lán)、綠三基色信號(hào),而傳輸、處理亮度信號(hào)Y和色度信號(hào)C。這種處理方法有利于實(shí)現(xiàn)彩色電視和黑白電視的兼容,也利于限制彩色電視信號(hào)的頻帶寬度。在數(shù)字圖像處理技術(shù)中,仍然采用傳輸、處理亮度信號(hào)Y和色度信號(hào)C的方法。由于人眼晴對(duì)亮度信息敏感,對(duì)彩色信息不夠敏感,因而對(duì)Y信號(hào)以較高清晰度傳送,對(duì)C信號(hào)以較低清晰度傳送。實(shí)際作法是這樣的:對(duì)每個(gè)亮度Y像素都進(jìn)行傳送;而將色度C分解為U、V兩個(gè)色差信號(hào)(或?qū)憺镃b、Cr、B-Y、R-Y),分別進(jìn)行傳送;對(duì)亮度Y實(shí)行逐點(diǎn)取樣,而對(duì)色度C則取樣較少。即對(duì)應(yīng)于4個(gè)亮度取樣點(diǎn),僅對(duì)色度信號(hào)取樣1個(gè)點(diǎn),即對(duì)U、V像素的取樣較低,各取1個(gè)取樣點(diǎn),這種取樣格式稱為YUV411格式。
采用YUV411取樣格式后,它的數(shù)據(jù)總量將比三基色取樣量格式時(shí)減少一半。若采用三種基色取樣方式時(shí),各基色應(yīng)與亮度信號(hào)取樣方式一樣,即對(duì)每個(gè)紅、綠、藍(lán)色采取逐點(diǎn)取樣的方法。采用Y、C傳輸方式時(shí),取樣次數(shù)減少一半,傳輸數(shù)碼也減少一半。人眼睛對(duì)色度的敏感程度較低,利用人眼睛這一生理視覺特性,人們?cè)谥饔^感覺上并沒有感到圖像清晰度下降。顯然,這是壓縮圖像數(shù)據(jù)碼率的一個(gè)得力措施。
2、將整幅圖像分割為小區(qū)域進(jìn)行分割處理
對(duì)圖像進(jìn)行數(shù)據(jù)處理時(shí),對(duì)每幀圖像進(jìn)行分割處理。首先圖像橫向切成若干條,每一條稱為一片,將每一片再縱向切成若干塊,稱宏塊,宏塊是圖像壓縮的基本單位。每個(gè)宏塊的彩色圖像可用1個(gè)亮度信號(hào)Y和兩個(gè)色差信號(hào)Cb、Cr(即U、V)來表示,或者說,每個(gè)宏塊分為三層,一層亮度Y,兩層色度(各為Cb、Cr),統(tǒng)稱為一個(gè)宏塊。
由于人眼睛對(duì)亮度、色度的主觀敏感程度不同,通常把亮度宏塊再平均分成4塊,每一小塊稱為像塊或區(qū)塊,詳見示意圖2.2.1。每個(gè)區(qū)塊可以進(jìn)一步分割,稱為像素或像點(diǎn),像素是構(gòu)成圖像的最小單位。對(duì)于數(shù)字圖像來說,每一個(gè)像素作為一個(gè)取樣點(diǎn),有一個(gè)對(duì)應(yīng)的取樣數(shù)值??梢钥闯觯瑘D像分割越細(xì),像素?cái)?shù)越多,取樣點(diǎn)越多,圖像清晰度越高;反之,像素?cái)?shù)越少,圖像清晰度越低。實(shí)際上,對(duì)圖像壓縮處理,就是對(duì)圖像區(qū)塊的數(shù)據(jù)、像素的數(shù)據(jù)進(jìn)行壓縮處理。
彩電制式不同,分割圖像的具體數(shù)據(jù)將有所變化。例如PAL制,大多數(shù)為625行掃描標(biāo)準(zhǔn),那么每幀圖像被切為18片,每片再切成22個(gè)宏塊,即每幀圖像分成396個(gè)宏塊;而525行的NTSC制,每幀圖像被切為15片,每片再切成22個(gè)宏塊,即每幀圖像分成330個(gè)宏塊。對(duì)亮度信號(hào)來說,每個(gè)宏塊又分為4個(gè)區(qū)塊,每個(gè)區(qū)塊含有8×8=64個(gè)像素,則每個(gè)宏塊含有256個(gè)像素。但對(duì)兩個(gè)色差信號(hào)來說,宏塊像素?cái)?shù)等于區(qū)塊像素?cái)?shù),即像素?cái)?shù)是8×8=64個(gè),是亮度像素的1/4。盡管兩色差信號(hào)的像素較少,清晰度低,但不影響人眼睛的主觀感覺。在進(jìn)行數(shù)字圖像處理時(shí),按照?qǐng)D中各個(gè)8×8方塊( 共64塊) 編成次序,再按照編號(hào)順序依次處理。也就是說,以8×8像素的方塊作基本操作單元,依次處理每個(gè)像素(即取樣點(diǎn))的取樣數(shù)值。
3、采用幀間和幀內(nèi)數(shù)據(jù)壓縮技術(shù)。
實(shí)用電視每秒鐘傳送25-30幀畫面,使畫面變化具有連續(xù)感,電視活動(dòng)圖像是由各幀畫面差別很小的一系列畫面組成的。各幀畫面的微小變化主要表現(xiàn)于畫面主體部分,畫面的背景差別很小。圖像是由亮度、色度信息來描述的,在各相鄰幀圖像內(nèi),若分別比較同一相對(duì)位置的亮度、色度信號(hào),通常其差別較小。經(jīng)大量統(tǒng)計(jì)發(fā)現(xiàn),在各個(gè)像素當(dāng)中僅有10%以下的像素點(diǎn)的亮度差值變化超過去時(shí)2%,而色度差值變化在0.1%以下。在各幀圖像中具有大量重復(fù)內(nèi)容,這些重復(fù)內(nèi)容的數(shù)據(jù)屬于多余(冗余)信息,于是,可以通過減少時(shí)域冗余信息的方法,即運(yùn)作幀間數(shù)據(jù)壓縮技術(shù),來減少圖像傳輸?shù)臄?shù)碼率。
經(jīng)分析發(fā)現(xiàn),在同一幀畫面內(nèi)也存在相當(dāng)多的冗余信息。對(duì)圖像主體部分和眼睛最敏感的部分,應(yīng)當(dāng)準(zhǔn)確、詳細(xì)地處理,需要對(duì)每個(gè)像素點(diǎn)進(jìn)行精細(xì)傳輸;但對(duì)于圖像非主體部分和眼睛不敏感的部分,則可以進(jìn)行粗略地處理,即進(jìn)行信息數(shù)據(jù)的壓縮處理。于是,可以根據(jù)一幀圖像內(nèi)容的具體分布情況,對(duì)不同位置可采用不同的數(shù)據(jù)量來傳送,減少傳送圖像的數(shù)據(jù)量,使圖像數(shù)據(jù)得到壓縮。這種壓縮數(shù)據(jù)的方法,是在同一幀圖像的不同空間部位進(jìn)行數(shù)據(jù)壓縮,稱為空間域冗余壓縮。例如,有一幅人像畫面,其面部和頭部的線條清晰度可以不相同,尤其是眼睛、嘴唇部位表情豐富,線條比較精細(xì)復(fù)雜,是觀眾最注意的部位,應(yīng)當(dāng)用高清晰度傳送;而頭頂部位和面頰側(cè)面,輪廓變化較少,灰度層次變化較小,觀眾不太注意這些部位。顯然,圖像的主要部位,灰度層次變化較大的部位,人眼睛敏感的部位,應(yīng)當(dāng)以較大數(shù)據(jù)量進(jìn)行精細(xì)傳送;而那些圖像的次要部位,灰度層次變化較小的部位,人眼睛不注意的部位,則可用較少數(shù)據(jù)量進(jìn)行粗略傳送,甚至于僅僅傳送它們的平均亮度信息。
以下具體討論數(shù)字圖像的數(shù)據(jù)壓縮原理。先討論靜止圖像的數(shù)據(jù)壓縮技術(shù),即幀內(nèi)數(shù)據(jù)壓縮技術(shù);然后討論活動(dòng)圖像的數(shù)據(jù)壓縮技術(shù),即幀間數(shù)據(jù)壓縮技術(shù)。
二、幀內(nèi)數(shù)據(jù)壓縮技術(shù)
首先對(duì)整幅圖像進(jìn)行分割處理,經(jīng)分割取得最小操作單元。下面按8×8=64個(gè)像素組成的區(qū)塊來計(jì)論。每一個(gè)像素值都可以按一定規(guī)律取樣,例如可對(duì)亮度各個(gè)像素的亮度值取樣,若每個(gè)像素按8bit量化,則每個(gè)區(qū)塊的總數(shù)據(jù)量為8bit×64(像素點(diǎn)),即512bit。可見,對(duì)全畫面各像素量化處理后數(shù)據(jù)量十分龐大,需要進(jìn)行數(shù)據(jù)壓縮。通常,經(jīng)過離散余弦變換,Z字型掃描,可變長(zhǎng)度編碼等處理過程,可將數(shù)據(jù)總量進(jìn)行大量壓縮。
1、離散余弦變換(DCT)編碼
(1) 功能簡(jiǎn)述
離散余弦變換簡(jiǎn)稱為DCT(是英Discrete Cosine Transform的縮寫詞),是一種數(shù)字處理方法,經(jīng)常用于數(shù)據(jù)處理。DCT是多種數(shù)字變換方法的一種,它是把空間域圖像變換到頻率域進(jìn)行分析的方法。由于DCT的變換核構(gòu)成的基向量與圖像內(nèi)容無關(guān),而且變換核是可以分離的,既二維DCT可以用兩次一維DCT來完成,使得數(shù)學(xué)運(yùn)算難度大大簡(jiǎn)化,再配以已經(jīng)發(fā)現(xiàn)的其它快速算法,使得DCT編碼得到了廣泛的應(yīng)用。將DCT應(yīng)用于圖像數(shù)據(jù)壓縮,可以減少代表圖像亮度(或色度)層次數(shù)碼信息,達(dá)到數(shù)據(jù)壓縮的目的。利用DCT不僅可將圖像編碼,還可以在編碼變換過程發(fā)現(xiàn)圖像細(xì)節(jié)的位置,以便刪去或略去對(duì)視覺不敏感的部分,而更加突出視覺的敏感部分,通過選擇主要數(shù)據(jù)來傳輸、重視圖像。
利用DCT壓縮圖像數(shù)據(jù),主要是根據(jù)圖像信號(hào)在頻率域的統(tǒng)計(jì)特性。在空間域看來,圖像內(nèi)容千差萬別;但在頻率域上,經(jīng)過對(duì)大量圖像的統(tǒng)計(jì)分析發(fā)現(xiàn),圖像經(jīng)過DCT變換后,其頻率系數(shù)的主要成分集中于比較小的范圍,且主要位于低頻部分。利用DCT變換揭示出這種規(guī)律后,可以再采取一些措施把頻譜中能量較小的部分舍棄,盡量保留傳輸頻譜中主要的頻率分量,就能夠達(dá)到圖像數(shù)據(jù)壓縮目的。
(2)規(guī)律和特點(diǎn)
①時(shí)間域信號(hào)的頻譜
對(duì)于一個(gè)隨時(shí)間變化的波形來說,它是隨時(shí)間變化的周期信號(hào),它是以一定幅度值為波形的直流平均值,其波形可看成是基波與無數(shù)次諧波疊加而成。其基波振幅最大,然后各次諧波振幅逐漸減小。各次諧波疊加次數(shù)越高,則合成波形越接近于理想矩形波。此分析方法就是應(yīng)用日益廣泛的頻譜分析方法。其中各次正弦波諧波的振幅值經(jīng)常稱為頻譜系數(shù),將頻譜系數(shù)排列起來,可以組成一個(gè)系數(shù)列。上述事實(shí)說明,周期性矩形波可以由時(shí)間域 (反映幅度-時(shí)間關(guān)系)來描述,也可以由頻率域(幅度-頻率關(guān)系)來描述。兩者有互相對(duì)應(yīng)的關(guān)系。實(shí)際上,各種時(shí)間域信號(hào)都可以由頻率域的規(guī)律來描述,兩種描述方法存在內(nèi)在的聯(lián)系,可以互相轉(zhuǎn)換。
②空間域信號(hào)的頻譜系數(shù)
對(duì)于各種空間域分布的信號(hào),也可以進(jìn)行類似的頻率變換,即將空間域信號(hào)轉(zhuǎn)變?yōu)轭l率域信號(hào)。DCT就是其中一種頻率分析方法??蓞㈤唸D2.2.2來說明DCT變換過程。
由圖像內(nèi)取出一個(gè)區(qū)塊,分成8×8個(gè)像素的64格陣列,即由圖(a)轉(zhuǎn)變?yōu)閳D(b)。經(jīng)過對(duì)逐個(gè)像素的亮度(或討論色度)數(shù)值取樣,并將像素的亮度數(shù)值列成矩陣形表格,見圖(C)。然后利用離散余弦變換(DCT)可將各空間取樣值轉(zhuǎn)變
為頻率域的數(shù)值,這里稱為DCT系數(shù)。
對(duì)于上述64點(diǎn)陣列來說,可得到64個(gè)DCT系數(shù),轉(zhuǎn)換為圖(d)矩形陣列表格。它已經(jīng)將64個(gè)點(diǎn)的圖像采樣值組成的陣列,變?yōu)橐粋€(gè)直流平均值和63個(gè)不同頻率余弦波幅值組成的64個(gè)點(diǎn)陣列,并稱為DCT系數(shù)陣列。經(jīng)過上述變換后,已將空間坐標(biāo)的數(shù)據(jù)轉(zhuǎn)換為頻率坐標(biāo)的數(shù)據(jù),即DCT頻率系數(shù)。原有8×8區(qū)塊的各個(gè)像素的數(shù)值取樣量化后,轉(zhuǎn)變?yōu)轭l率域圖像信號(hào)的頻譜系數(shù),即可用64個(gè)頻率系數(shù)來表述,稱它們?yōu)?4個(gè)“正交基信號(hào)”,每個(gè)基信號(hào)對(duì)應(yīng)于64個(gè)獨(dú)立二維空間頻率中的一個(gè)。這些空間頻率是由輸入信號(hào)的“頻譜”組成。所得64個(gè)變換系數(shù)當(dāng)中,第一項(xiàng)代表直流分量,即64個(gè)空間圖像采樣值的平均值,其余63個(gè)系數(shù)代表各基信號(hào)的幅度。
觀察圖2.3.2(d)數(shù)據(jù)可發(fā)現(xiàn)規(guī)律,矩陣左上角的數(shù)值較大,而右下角的數(shù)值較小,且趨近于零值。于是,可以按照Z字形掃描順序,將各基信號(hào)的DCT系數(shù)列成一個(gè)表格。Z字形掃描的具體軌跡,如圖2.3.2(e)所示。按照此規(guī)律將DCT系數(shù)排列成數(shù)據(jù)系列,成為DCT系數(shù)編碼順序。經(jīng)過上述處理后,已將二維數(shù)據(jù)量轉(zhuǎn)換為一維數(shù)據(jù)量,該數(shù)列第一項(xiàng)是該區(qū)塊的平均亮度值,后面各項(xiàng)系數(shù)的分布和大小可以反映亮度起伏變化的劇烈程度。若系數(shù)較大,說明亮度起伏較大,該區(qū)域圖像輪廓較細(xì)致;若數(shù)值較小,則說明該區(qū)內(nèi)亮度變化較平緩;若數(shù)值為零,表示數(shù)列中高頻分量數(shù)值為零,亮度電平無變化。在實(shí)際數(shù)據(jù)處理過程中,排在后面的系數(shù)值基本上都有是零值,或者趨于零值。由63個(gè)系數(shù)集合及變化情況,可反映出該區(qū)塊內(nèi)圖像細(xì)節(jié)情況,即圖像清晰度狀況。
圖(d)矩陣數(shù)值非常具有實(shí)用價(jià)值。左上角數(shù)值較大,它們代表了圖像信息的直流成分和低頻分量,它是圖像信息的主體部分,也是區(qū)塊內(nèi)信息的主要部分;而右下角數(shù)值較小,它們代表了圖像信息的高頻分量,其幅值原本就比較小,它主要反映圖像的細(xì)節(jié)部分。人眼睛對(duì)圖像的亮度信息有較高的相對(duì)靈敏度,對(duì)圖像的彩色信息不夠敏感;還有,人眼睛對(duì)圖像信息的低頻分量具有較高的視覺靈敏度。經(jīng)Z字形字掃描后所形成的數(shù)據(jù)系列,恰好與人眼睛對(duì)圖像信息的敏感程度形成良好的對(duì)應(yīng)關(guān)系。根據(jù)視覺生理的上述規(guī)律,可對(duì)圖像數(shù)據(jù)進(jìn)行壓縮。
2、DCT系數(shù)的再量化處理
經(jīng)過上述DCT處理的頻率數(shù)據(jù)可以進(jìn)行再處理,進(jìn)一步壓縮數(shù)據(jù)量。人眼睛對(duì)各種頻率的敏感程度不同,并可取得統(tǒng)計(jì)性靈敏度數(shù)值。由此可對(duì)每種頻率分量設(shè)定不同的折算值,將前述經(jīng)轉(zhuǎn)換得到的DCT系數(shù)再次進(jìn)行折算,以便進(jìn)一步突出視覺效果影響大的成分,而消弱或忽略視覺效果影響小的成分。這種處理方法稱為量化處理,簡(jiǎn)稱Q處理。對(duì)于64點(diǎn)陣列的64個(gè)系數(shù)來說,對(duì)應(yīng)了64種不同頻率,可使用64個(gè)不同的折算值。通常稱這64個(gè)折算值為量化表,每個(gè)折算值稱為量化步長(zhǎng),或稱量化值。在64點(diǎn)陣列中,左上角的數(shù)據(jù)量化值較小,右下角的數(shù)據(jù)量化值較大。對(duì)DCT系數(shù)的再量化處理,可利用量化器電路來實(shí)現(xiàn)。該電路可將區(qū)塊的64個(gè)系數(shù)分別除以量化表中對(duì)應(yīng)位置量化步長(zhǎng),再進(jìn)行四舍五入取整后,即可得到經(jīng)過再量化處理的64個(gè)數(shù)據(jù)值。
經(jīng)過量化處理后,量化值大的系數(shù)值所得商值較小,也就是數(shù)據(jù)壓縮比較大,原圖像相應(yīng)部分的忽略內(nèi)容較多;量化值小的系數(shù)所得商數(shù)值較大,也就是數(shù)據(jù)壓縮比較小,原圖像相應(yīng)部分不予忽略或極小忽略。于是,經(jīng)過量化處理后的DCT系數(shù)矩陣,可出現(xiàn)許多零值。一般左上角位置的數(shù)據(jù)的商數(shù)是非0,在右下角位置的數(shù)據(jù)的商數(shù)很小,經(jīng)四舍五入取整值后可簡(jiǎn)寫為0。在系數(shù)矩陣上出現(xiàn)了許多0值,則大大減少了數(shù)據(jù)量。一方面保留了圖像信息的主體部分,另一方面大大壓縮了像數(shù)據(jù)。
3.可變長(zhǎng)度編碼(VLC)
經(jīng)量化處理的系數(shù)矩陣出現(xiàn)了許多0值,若進(jìn)行Z字形掃描時(shí),后面的系數(shù)將也出現(xiàn)連續(xù)0的狀況。此時(shí),數(shù)據(jù)傳輸總量已經(jīng)明顯減少,但碼位并未減少,仍為64個(gè)系數(shù)位。為了進(jìn)一步壓縮數(shù)據(jù)總量,可采用可變長(zhǎng)度編碼,并簡(jiǎn)稱VLC(Variable Length Coding)。
通常,采用兩種方法進(jìn)行可變長(zhǎng)度編碼。第一種,是根據(jù)數(shù)據(jù)出現(xiàn)的頻率,分配以不同長(zhǎng)度的碼字來代替,對(duì)于頻繁出現(xiàn)的數(shù)據(jù),分配以較短的碼字,那些不經(jīng)常出現(xiàn)的數(shù)據(jù),則賦予較長(zhǎng)的碼字,這樣處理后可減少傳輸?shù)目偞a率。第二種方法,雖然Z字形掃描使系數(shù)列尾部出現(xiàn)多個(gè)0個(gè)值,但不需要逐位地傳輸0值,僅需傳送表0的“個(gè)數(shù)”碼,待重放時(shí)再按規(guī)定恢復(fù)為0位,以便填滿矩陣的64位。例如00000,則可表示為50,在解碼時(shí)恢復(fù)為00000。
總之,對(duì)于靜止畫面來說,采用離散余弦變換,Z字形掃描、量化處理和可變長(zhǎng)度編碼等方法,可使圖像數(shù)據(jù)量大大壓縮。在數(shù)據(jù)解碼時(shí),先經(jīng)過可變長(zhǎng)度解碼,恢復(fù)為數(shù)據(jù)的固定長(zhǎng)度;再對(duì)系數(shù)進(jìn)行反量化,恢復(fù)為原來的DCT頻率系數(shù);再經(jīng)過反向離散余弦變換,恢復(fù)為圖像的空間坐標(biāo)數(shù)值,即原來圖像的數(shù)據(jù)。
三、幀間數(shù)據(jù)壓縮技術(shù)
對(duì)于活動(dòng)圖像來說,相鄰幀的圖像具有強(qiáng)烈的相關(guān)性。在保存和記錄動(dòng)態(tài)圖像時(shí),不需要將每一幀圖像的全部信息都記錄和保存下來,可以將前面第一幀圖像全部數(shù)據(jù)都記錄下來,把它看成是靜態(tài)圖像,可用靜態(tài)圖像數(shù)據(jù)壓縮方法來處理。而后面諸幀圖像,可以僅記錄與前面幀圖像有差異的信息。于是,在重放時(shí),利用前面幀圖像的數(shù)據(jù)和后面幀的差異數(shù)據(jù),即可恢復(fù)出后面幀的圖像。這種處理方法省去許多數(shù)據(jù)。
1、三種畫面
按照MPEG-1標(biāo)準(zhǔn),傳送的活動(dòng)畫面可分為3種類型。第1種,是場(chǎng)景更換后的第1幀畫面,它是一種獨(dú)立的畫面,這種畫面采用較高清晰度的逐點(diǎn)取樣法進(jìn)行傳送,此畫面稱為I畫面(內(nèi)碼幀,或稱幀內(nèi)編碼幀)。該畫面信息是由自身畫面決定,不必參考其它畫面。該畫面的數(shù)據(jù)代表了活動(dòng)圖像的主體內(nèi)容和背景內(nèi)容,它是電視畫面的基礎(chǔ)。第2種,是與I畫面相隔一定時(shí)間、活動(dòng)圖像主體位置在同一背景上已發(fā)生明顯變化的畫面,此畫面稱P畫面(預(yù)測(cè)幀,或稱前向預(yù)測(cè)編碼幀)。該畫面用前面的I畫面作為參考畫面,該畫面不傳送背景等重復(fù)性信息,僅傳送主體變化的差值,這就省略了一部分細(xì)節(jié)信息,而在重放時(shí)依靠幀存儲(chǔ)器將I畫面的主要部分和P畫面的差值進(jìn)行運(yùn)算,即可得出新畫面的完整內(nèi)容,它是既有背景又有現(xiàn)時(shí)運(yùn)動(dòng)主體狀態(tài)的實(shí)際畫面。第3種,其情況與P畫面相似,用來傳送在I、P畫面之間的畫面,稱B畫面(雙向預(yù)測(cè)幀,或稱雙向預(yù)測(cè)內(nèi)插編碼幀)。該畫面僅反映在I、P畫面之間的運(yùn)動(dòng)主體變化情況,并用位移矢量(或稱運(yùn)動(dòng)矢量等)表示畫面主體移動(dòng)情況。其信息量更小些。因?yàn)樵谥胤潘鼤r(shí),既可參考I畫面內(nèi)容,也要參考P畫面內(nèi)容,所以稱為雙向預(yù)測(cè)幀。
將一串連續(xù)相關(guān)的畫面分為I、P、B型后,傳輸信息量明顯減少。在P、B畫面當(dāng)中,幾乎不傳送反映實(shí)物的象素,僅傳送其主體移動(dòng)的差值,其具體的處理方法是采用了區(qū)塊對(duì)比的方法,在兩個(gè)變化的畫面當(dāng)中,將區(qū)塊或宏塊作為處理單元,將一個(gè)畫面的宏、區(qū)塊與參與 畫面中鄰近范圍內(nèi)的宏、區(qū)塊進(jìn)行數(shù)值運(yùn)算對(duì)比,尋找與該塊最相近、誤差最小的區(qū)塊,找到近似的該區(qū)塊后,記錄該區(qū)塊在兩個(gè)畫面中的位移值,即為位移矢量以及反映兩畫面的差值量。若位移矢量坐標(biāo)變化為0,說明該塊沒有移動(dòng),例如相同的背景景物;若位移矢量值有變化,而區(qū)塊差值為0,則說明景物有移動(dòng),而形狀沒有變化,例如飛行中的球類和奔馳的車輛等。可見,位移矢量和區(qū)塊差值可在重放時(shí)依靠參考畫面得出新畫面的完整場(chǎng)景,而傳送時(shí)卻省略了背景和主體內(nèi)容,只傳送代表位移矢量和差值的少量數(shù)據(jù),使圖像得到大量壓縮。
2、三種畫面的連接
通常,更換場(chǎng)景后的第一幀就是I幀,I幀應(yīng)當(dāng)全幀傳送。從壓縮的程度來看,I畫面的壓縮量最少;P畫面次之,它是以I畫面為基礎(chǔ);B畫面壓縮最多。為了加大壓縮比,通常在I幀后面相隔2幀(最多3幀)設(shè)置1個(gè)P幀,在I、P幀之間都是B幀,在兩個(gè)P幀之間也是設(shè)置2~3幀B幀。B幀傳送它與I幀或P幀之間的差值信息,或者P幀與后面P幀或I幀之間的差值信息,或者它與前后I、P幀或P、P幀平均值之間的差值信息。當(dāng)主體內(nèi)容變化愈大時(shí),兩個(gè)I畫面之間的幀數(shù)值越?。划?dāng)主體內(nèi)容變化小時(shí),I面畫的間隔可以適當(dāng)大一些?;蛘哒f,B幀、P幀所占比例越大,圖像壓縮比越高。一般兩個(gè)I畫面相隔13~15幀,相隔幀數(shù)不宜再多。
下面以15幀為例,說明VCD圖像幀的排列順序。I、P、B三種畫面的典型設(shè)置方式,對(duì)NTSC制共約需半秒時(shí)間。節(jié)目輸入順序是按實(shí)際出現(xiàn)順序排列的,即I、B、B、P、B、B、P、B、B……I、B、B、P……;但為了解碼時(shí)便于從I、P畫面插補(bǔ)得到B畫面,在編碼錄制節(jié)目時(shí),將順序改變了,即按照I、P、B、B……順序,即改為按原來0、3、1、2、6、4、5、9、7、8…的畫面順序。解碼時(shí)先解出0幀、3幀,再由其插補(bǔ)預(yù)測(cè)計(jì)算得出1幀、2幀等等。為此,須在解碼器內(nèi)設(shè)置動(dòng)態(tài)存儲(chǔ)器,將I、P幀先解碼并存儲(chǔ),再計(jì)算出各個(gè)B幀。不過最后輸出時(shí),還是應(yīng)當(dāng)按照實(shí)際播放順序重組讀出,按正確順序輸出。
VCD采用的幀間壓縮技術(shù)標(biāo)準(zhǔn),對(duì)圖像編碼順序和各幀間隔是有具體規(guī)定的。采用幀壓縮技術(shù)后,各幀之間的信息冗余量大大減少,圖像碼率進(jìn)一步壓縮,壓縮比可達(dá)3-20余倍。
四、圖像壓縮編碼過程和解壓縮過程
1、編碼過程
這里談?wù)刅CD所采用MPEG-1標(biāo)準(zhǔn)的編碼過程。因?yàn)橄噜弾嬅嫦嗤蚧鞠嗤?,將這種畫面群的第1幅畫面作為I畫面,將它送入編碼器。編碼器首先將它割裂為許多片、宏塊、區(qū)塊等,將各區(qū)塊分割為8×8=64點(diǎn)陣列,再進(jìn)行Z字形描述和DCT變換,將64個(gè)亮度(或色度)取樣數(shù)值變換為64個(gè)DCT系數(shù),再對(duì)64個(gè)系數(shù)值分別進(jìn)行相應(yīng)的量化,經(jīng)量化處理后再進(jìn)行VLC處理,即得到了代表一個(gè)區(qū)塊數(shù)據(jù)的最短的數(shù)碼,至此,完成了該畫面群第1幀的第1列圖像中第1宏塊的編碼。依次類推,可得到第1幀畫面的全部壓縮數(shù)據(jù)編碼。原為二維空間的一幀圖像信息已經(jīng)轉(zhuǎn)變?yōu)橐痪S空間的串行數(shù)據(jù),這些數(shù)據(jù)被全部存儲(chǔ)起來,成為繼續(xù)進(jìn)行數(shù)據(jù)處理的基礎(chǔ)。至此,I畫面數(shù)據(jù)處理完畢。
完成第1幀圖像壓縮編碼后,接著輸入第2幀圖像。編碼器按照相同的方法步驟對(duì)第2幀進(jìn)行壓縮編碼,得到第2幀數(shù)據(jù)。此時(shí),編碼器不再將第2幀數(shù)據(jù)進(jìn)行完整的存儲(chǔ)和傳送,而是將它與第1幀數(shù)據(jù)進(jìn)行比較運(yùn)算。若運(yùn)算中發(fā)現(xiàn),兩幀間數(shù)據(jù)差別很小時(shí),說明兩幀圖像差別不大,僅將其差值存入存儲(chǔ)器,而舍掉其大部分重復(fù)數(shù)據(jù)。按照此方法再進(jìn)行第3、第4幀編碼,并進(jìn)行比較運(yùn)算,直到找到某一幀,差別較大且超過規(guī)定值時(shí),再將此幀數(shù)據(jù)中與第1幀的差別(包括位移矢量和差值)部分存儲(chǔ)起來,并將此幀數(shù)據(jù)排在第1幀(I幀)后面?zhèn)魉统鋈?,該幀就是P畫面。當(dāng)傳送I、P畫面后,再傳送3、4幀的差別數(shù)據(jù),這些畫面都是B畫面。它們之間的差別不大,是處于I、P之間的畫面。按照此程序和方法,可再選出許多組P和B畫面。通常,每隔13~15幀后,再設(shè)置一個(gè)I畫面,作為后續(xù)畫面的參考基準(zhǔn)。如遇到較新的場(chǎng)景,將出現(xiàn)一幅不相同的新畫面,這幅新出現(xiàn)的畫面也作為I畫面。
圖2.2.3是MPEG-1圖像壓縮編碼器方框圖。代表亮度Y和色度分量CB、CR的二進(jìn)制數(shù)碼
化信號(hào),首先進(jìn)入幀改組器(或稱幀重排電路),將畫面分割為片、宏塊、區(qū)塊。區(qū)塊經(jīng)過比較
運(yùn)算電路再進(jìn)入DCT電路、量化器、VLC電路,取得已壓縮數(shù)據(jù)。再將數(shù)據(jù)送到多路混合器和傳輸緩沖器。傳輸緩沖器用于暫存壓縮數(shù)據(jù),并按照控制指令的先后按時(shí)序輸出數(shù)據(jù)。該緩沖器通過調(diào)整器(又稱為量化自適應(yīng)器)與量化器相連接。調(diào)整器可用來檢測(cè)緩沖器的緩沖區(qū)的數(shù)據(jù)暫存程度,并根據(jù)暫存數(shù)據(jù)量自動(dòng)調(diào)整量化步長(zhǎng)。在編碼器內(nèi)設(shè)置有反饋通路,它主要包括反量化器(Q-1)、離散余弦逆變換(IDCT)、相加器以及IPB畫面幀存儲(chǔ)器等。反饋回路用于預(yù)測(cè)圖像產(chǎn)生,進(jìn)行畫面分類處理(計(jì)算、區(qū)分并處理IPB畫面),主要用于幀間數(shù)據(jù)壓縮編碼處理。還有,運(yùn)動(dòng)預(yù)測(cè)和補(bǔ)償電路可用于運(yùn)動(dòng)補(bǔ)償。
2、圖像解壓縮電路方框圖
圖像解壓縮電路簡(jiǎn)稱為解壓電路、解碼電路。VCD視盤機(jī)內(nèi),經(jīng)過數(shù)字信號(hào)解調(diào)電路(CD-DSP)處理后,輸出壓縮編碼視頻數(shù)據(jù)流,需要經(jīng)過視頻解壓縮電路進(jìn)行數(shù)據(jù)解壓縮,恢復(fù)為未壓縮的視頻信號(hào)。解碼過程是編碼的逆過程,圖2.2.4是MPEG-1視頻解壓縮電路方框圖,其電路結(jié)構(gòu)比編碼器稍簡(jiǎn)單一些。
圖2.2.4 MPEG-1視頻解壓縮電路方框圖
來自CD-DSP電路的壓縮編碼信號(hào)送到輸入緩沖器,然后進(jìn)入去混合電路,將圖像的編碼模式標(biāo)志,運(yùn)動(dòng)向量(位移矢量)和圖像數(shù)據(jù)分離開,分別送往幀存儲(chǔ)器和解壓縮主通道電路。
主通道要處理I、P、B幀數(shù)據(jù),這些數(shù)據(jù)已經(jīng)按照?qǐng)D像編碼系列的規(guī)定,以數(shù)據(jù)封包頭標(biāo)指出,這些數(shù)據(jù)分別暫存在緩沖存儲(chǔ)器的存儲(chǔ)區(qū)內(nèi),根據(jù)數(shù)據(jù)量大小暫存在容量不同的存儲(chǔ)器區(qū)中。在微處理器控制下,先將I畫面數(shù)據(jù)按序取出,送到VLC(可變長(zhǎng)度碼解調(diào)器),按照ROM存放的可變長(zhǎng)度碼對(duì)照表,逐一將編碼時(shí)壓縮的碼位恢復(fù)為壓縮前的DCT量化值,再將各區(qū)塊分為64個(gè)數(shù)據(jù)的量化值逐位乘以反量化參數(shù),這些參數(shù)位于ROM中存放的64位視覺心理模式量化表的相對(duì)位置,重新恢復(fù)為DCT頻率系數(shù),完成反量化過程。
經(jīng)過反量化的數(shù)據(jù),再送入IDCT(離散余弦逆變換)電路。這是另一次逆變換,也是通過查表法,將反量化值所代表的各頻率余弦分量的幅值進(jìn)行逆變換,重新恢復(fù)為DCT變換前的圖像(Y、CB、CR)取樣數(shù)據(jù),從而取得代表圖像壓縮前的區(qū)塊信息。4個(gè)區(qū)塊的信息組成一個(gè)宏區(qū)塊,若干個(gè)宏區(qū)塊組成片,再由若干片組成完整畫面的總數(shù)據(jù),這就是I幀畫面。這些繁重的相加工作都需要在加法器中進(jìn)行。
恢復(fù)出來的I幀畫面數(shù)據(jù)存入幀存儲(chǔ)器。I畫面與后續(xù)輸入的P畫面數(shù)據(jù)相加,可恢復(fù)出P畫面,P畫面也存入幀存儲(chǔ)器。然后根據(jù)運(yùn)動(dòng)矢量和運(yùn)動(dòng)后圖像差值(即B畫面數(shù)據(jù)),與I、P畫面存儲(chǔ)數(shù)據(jù)在加法器中相加,并受編碼模式信號(hào)的控制,以便決定I、P圖像的成分多少,從而恢復(fù)出不同前后的B幀畫面。經(jīng)以上處理所得I、P、B各種畫面數(shù)據(jù)都需要存入緩沖存儲(chǔ)器,還要根據(jù)編碼模式的指示及輸出制式的幀頻要求,按照I、B、B、P、B、B、P、B、B…B、I、B、B、P、B…的正常順序進(jìn)行重新編排,按照一定的速度從幀重排電路輸出。輸出的解壓縮數(shù)據(jù)送到D/A轉(zhuǎn)換器,轉(zhuǎn)變?yōu)镽、G、B三基色模擬信號(hào)。
通常,在解壓縮電路還要輔設(shè)視頻編碼器和調(diào)制器。視頻編碼器可將三基色信號(hào)編碼為NTSC/PAL制彩色電視信號(hào),并加入同步、消隱、色同步和彩色副載波信號(hào)等,以視頻模擬全電視信號(hào)形式輸出。這種輸出形式的信號(hào)需要輸送到電視接收機(jī)的AV輸入端口。但是,有些老式電視機(jī)沒有設(shè)置AV輸入端口,為了適應(yīng)這種現(xiàn)象,輸出的視頻全電視信號(hào)需要再一次進(jìn)行高頻調(diào)制,利用調(diào)制器以某個(gè)特定頻道的RF調(diào)幅形式輸出電視信號(hào)。此時(shí),VCD機(jī)需要設(shè)置RF輸出端口,其輸出信號(hào)可直接送到電視機(jī)的天線輸入端口。
評(píng)論
查看更多