專利名稱:基于dct的分辨率可伸縮圖像編解碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像和視頻編碼領(lǐng)域,尤其涉及提供一種視頻傳輸過程中實現(xiàn)分辨率可伸 縮的方法。
背景技術(shù):
離散余弦變換(Discrete Cosine Transformation,簡稱DCT)在圖像和視頻編解碼中得 到廣泛應(yīng)用,比如靜態(tài)圖像專家組制定的圖像編碼標(biāo)準(zhǔn)JPEG,活動圖像專家組制定的視頻 編解碼標(biāo)準(zhǔn)MPEGl 、 MPEG2、 MPEG4,以及ITU制定的H.261、 H.262和H.263,以及JVT 制定的視頻編碼標(biāo)準(zhǔn)H.264/AVC,而且這些標(biāo)準(zhǔn)廣泛應(yīng)用于各類圖像視頻設(shè)備中,比如手 機(jī)、攝像機(jī)、數(shù)碼相機(jī)、攝像頭、電視機(jī)、DVD等跟媒體信息相關(guān)的設(shè)備。由于現(xiàn)在媒終 端的多樣性,比如PDA、計算機(jī)顯示器、電視等他們的顯示終端是不一樣的,PDA或者手 機(jī)大概2英寸、計算機(jī)顯示器14英寸 22英寸左右,電視機(jī)終端可能多數(shù)在19寸以上、 有的電視達(dá)到85英寸,因此對于同一個視頻源經(jīng)過網(wǎng)絡(luò)傳輸?shù)礁鱾€視頻終端的碼流如果根 據(jù)視頻終端信息或者網(wǎng)絡(luò)帶寬信息傳輸不同分辨率的信息,可以大大提高媒體信息服務(wù)質(zhì) 量。但是不幸的是,現(xiàn)有的基于DCT變換的編碼方法,通常采用把DCT變換后的一個數(shù) 據(jù)塊作為一個整體進(jìn)行編碼,他包含了所有的頻率信息份量。如圖2所示,他包含所有頻 率分量,在編碼的過程中按照zigzag掃描方式,如圖3所示,可以看出,其中分辨率信息 有幾處交替出現(xiàn),因此很難按照分辨率信息組織碼流,從而實現(xiàn)按照分辨率可伸縮編碼。 原始圖像經(jīng)過DCT和量化后的系數(shù)按照zigzag掃描編碼導(dǎo)致同一個獨立的編碼單元內(nèi)包含 所有頻率分量的系數(shù),無法實現(xiàn)分辨率可伸縮編碼。 發(fā)明內(nèi)容本發(fā)明的目的在于提供一種基于離散余弦變換(Discrete Cosine Transformation,簡稱 DCT)的基于DCT的分辨率可伸縮圖像編解碼方法,以克服上述現(xiàn)有的基于DCT變換的 編碼方法存在的很難按照分辨率信息組織碼流而實現(xiàn)按照分辨率可伸縮編碼的不足,提供 一種能夠在熵編碼前重排序的過程中實現(xiàn)分辨率可伸縮的方法。實現(xiàn)上訴發(fā)明目的的解決方案是,用于H.264的改進(jìn)的重排序算法;整個編碼過程如圖l所示 (1)將原始圖像或視頻幀分塊為(4XN) 2X (4XN) 2的宏塊,然后將宏塊切割成 (4XN) X (4XN)的碼塊,N4時碼塊如圖2,其中N為0.5、 1、 2、 3、......,這樣(4XN) 2X (4XN) 2宏塊變成(4XN) X (4XN)個(4XN) X (4XN)碼塊的結(jié)構(gòu), N=l時如圖4;(2)對宏塊內(nèi)的每一個(4XN) X (4XN)碼塊作離散余弦變換(Discrete Cosine Transform,簡稱DCT),然后再量化;將宏塊內(nèi)所有的碼塊進(jìn)行DCT和量化后,得到仍然 是圖4 (N=l)所示的數(shù)據(jù)結(jié)構(gòu),只是每一個(4XN) X (4XN)的碼塊內(nèi)的數(shù)據(jù)變換成 DCT系數(shù);(3)對圖像中所有(4XN) X (4XN)碼塊中的對應(yīng)位置的頻率份量,重新組織成 (4XN) X (4XN)的同頻率的編碼碼塊;N二l時如圖5所示;(4)每一個單頻率分量碼塊內(nèi)部系數(shù)柵格掃描順序編碼;對在一個宏塊范圍內(nèi)頻率塊 的編碼順序按照如圖6 (N=l)所示的分辨率由低到高的順序掃描編碼;返回到步驟(2) 編碼下一個宏塊,直到圖像編碼完成。 解碼過程,解碼過程如圖7所示(1) 根據(jù)得到的碼流依次對編碼重排后的DCT頻率系數(shù)塊進(jìn)行解碼,獲得相應(yīng)的離 散余弦頻率塊系數(shù);(2) 將解碼后的頻率塊系數(shù),根據(jù)其所在的行列頻率填入到原始DCT變換后的頻率位置;(3) 當(dāng)接收到一個分辨率的DCT系數(shù)后,根據(jù)當(dāng)前分辨率等級,選擇與當(dāng)前分辨率 等級相對應(yīng)的離散余弦反變換模塊重建出相應(yīng)分辨率的宏塊;(4) 對離散余弦反變換(IDCT)后的圖像數(shù)據(jù)宏塊重組獲得相應(yīng)分辨率的圖像;(5) 如果解碼終端的分辨率足夠或者用戶需要更高分辨率的圖像,繼續(xù)傳輸更高一級 分辨率的編碼重排數(shù)據(jù)塊,重復(fù)上述過程得到更高一級分辨率的數(shù)據(jù),從而選擇更大的 IDCT模塊,獲得更高一級分辨率的圖像;直到獲得全分辨率圖像位置。按照分辨率重建過 程如圖8 (N=l)所示。在按照上述編解碼過程,設(shè)置(4XN) 2X (4XN) 2 (N=0.5、 1、 2、 3、...)的宏塊, 碼塊分割為(4XN) X (4XN),按照編碼過程按照分辨率關(guān)系重組DCT系數(shù),并按照分 辨率由低到高的編碼順序編碼;在解碼過程中,根據(jù)分辨率等級選擇同分辨率模板的IDCT, 并重組宏塊,從而實現(xiàn)4XN級(1: (4XN)、 2: (4XN)、……、(4XN): (4XN))可伸 縮編解碼。
在基于DCT的視頻編解碼過程中,幀內(nèi)編碼采用本發(fā)明的圖像可伸縮編解碼方法實現(xiàn) 分辨率可伸縮視頻編解碼。本發(fā)明具有如下特點根據(jù)DCT系數(shù)的頻率和分辨率特性,重新組織DCT系數(shù),實 現(xiàn)分辨率可伸縮性編碼,即圖像具有了比離散小波變換(DWT)有更加靈活的可伸縮性特性。對于MXM的塊進(jìn)行離散小波變換只能實現(xiàn)M:M、 M:M/2.....M:l的分辨率等級,而對于MXM的DCT變換按照本發(fā)明的方法可以實現(xiàn)M:M、 M:(M-1)、 M:(M-2).....M:l的分辨率等級。以8X8的DCT為例,可以實現(xiàn)8級分辨率,而8X8DWT只能實現(xiàn)4級 分辨率。這種編碼解碼方式可以根據(jù)各種不同的接收終端傳輸相應(yīng)的編碼碼流從而可以有 效的節(jié)省傳輸帶寬,實現(xiàn)分辨率可伸縮編解碼。
圖1為本發(fā)明的基于DCT的分辨率可伸縮編碼過程示意圖。 圖2為4*4量化系數(shù)塊示意圖。圖3為4*4量化系數(shù)塊經(jīng)zigzag掃描后得到的系數(shù)序列示意圖。圖4為原始16X 16的宏塊數(shù)據(jù)和DCT量化后的宏塊數(shù)據(jù)結(jié)構(gòu)示意圖。圖5為宏塊數(shù)據(jù)重組后的宏塊示意圖。圖6為重排后的DCT系數(shù)塊在宏塊范圍內(nèi)的編碼順序示意圖。 圖7為本發(fā)明的基于DCT的分辨率可伸縮解碼過程示意圖。 圖8為本發(fā)明的基于DCT的分辨率可伸縮重建示意圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明的具體實施方式
進(jìn)行說明。原始圖像經(jīng)過離散余弦變換(Discrete Cosine Transformation,簡稱DCT)和量化后的 系數(shù)(圖2所示)按照zigzag掃描(圖3的掃描順序),頻率依次提高。但是針對DCT系 數(shù)反映的頻率特性而言,這種zigzag掃描編碼的模式無法實現(xiàn)分辨率可伸縮編碼。本發(fā)明 是利用DCT量化后塊的頻率及其在塊中的對應(yīng)位置關(guān)系,以及分辨率特性,將同一頻率安 排在同一個重組編碼塊,按照分辨率的優(yōu)先級進(jìn)行編碼;在解碼過程中,根據(jù)接收到的重 組編碼塊的頻率還原其在原始宏塊中DCT位置,并根據(jù)當(dāng)前編碼塊的分辨率等級選擇IDCT 編碼模塊重建分辨率可伸縮圖像。為使本發(fā)明的目的、技術(shù)策略和優(yōu)點更加清楚,下面將結(jié)合附圖以宏塊為16X16,碼 塊為4X4為實例對本發(fā)明的編碼和解碼過程作細(xì)描述
編碼過程本發(fā)明的編碼過程如圖1所示,首先對圖像進(jìn)行宏塊分割,然后對宏塊進(jìn)行DCT變換, 然后對DCT系數(shù)在宏塊范圍內(nèi)按照頻率份量進(jìn)重排,再按照分辨率等級對重排系數(shù)塊編 碼。詳細(xì)過程如下(1) 對原始圖像進(jìn)行16X16宏塊(Macro Block,簡稱MB)切割,然后把宏塊切割成4X4 碼塊(Code Block,如圖2)(2) 對每一個碼塊進(jìn)行離散余弦變換、量化得到整型的DCT系數(shù),根據(jù)系數(shù)所在的碼 塊和其在碼塊內(nèi)的位置定義系數(shù)",_/ = (), 1,2, 3(&,/)表示當(dāng)前DCT碼塊在宏塊中的位置;(/,y')表示當(dāng)前系數(shù)在DCT碼塊中的位置,它 代表著頻率分量(2/;r/4,2/;r/4)。如圖2所示, 一個4X4DCT碼塊的系數(shù)的頻率按照不同的采樣率(一定程度上也可以說分辨率)1: 4、 2: 4、 3: 4禾B 4: 4,即《°為1: 4的分辨 率;《,《,《組成2: 4的分辨率;《2,《,《, 組成3: 4的分辨率;《,《,《,《,《,",f,《組成4: 4的分辨率。傳統(tǒng)編碼方式按照zigzag掃描DCT編碼系數(shù)(順序如圖3所示)根本就無法滿足分辨率可伸縮性要求, 一方面它沒有按照分辨率順 序組織編碼;另一方面,每一個編碼碼塊作為一個獨立的編碼單元進(jìn)行編碼編碼,也即是 所有頻率分量無法進(jìn)行有效的選擇。故下面根據(jù)DCT數(shù)據(jù)的頻率特性按照分辨率進(jìn)行重 組。(3) 對一個宏塊內(nèi)的所有編碼塊完成DCT和量化后,把4X4的碼塊系數(shù)按照系數(shù)的頻 率特性重新組成4X4的碼塊。定義重組系數(shù)^ = 0,1,2,3(t/)表示當(dāng)前DCT塊在宏塊中的位置;(/,/)表示當(dāng)前系數(shù)在DCT塊中的位置。按照這樣重組后的4X4的碼塊只包含單頻率份量(2A:;r/4,2/;r/4),重組前的宏塊如圖4所示,重組后的宏塊如圖5所示。重新排列后的碼塊是按照行方向和列方向的采樣率 進(jìn)行排列,同一個采樣率放在同一個碼塊中,由于4X4的DCT變換系數(shù)按照行或者列方 向采樣率也有4X4種組合。因此排列前按照4X4的DCT系數(shù)碼塊排列,變換后的碼塊按 照4X4DCT的行列采樣率(DCT系數(shù)的位置)排列。
(4)每一個單頻率分量碼塊內(nèi)部系數(shù)柵格掃描順序編碼;再按照分辨率等級對重排系數(shù) 碼塊編碼。根據(jù)采樣率l: 4、 2: 4、 3: 4和4: 4在頻率域?qū)陦K內(nèi)的重排系數(shù)碼塊進(jìn)行分割,如圖5所示,行列方向的采樣率相同的在同一個分辨率等級及(0《及《3),即 (2Att/4,2/;t/4),其中A,/Si 。編碼時依次由低分辨率向高分辨率編碼;然后再按照行列頻率((2(yt + 7>r/4))和由低到高編碼碼塊。最終的編碼順序如圖6所示從0 15的碼塊編碼順序進(jìn)行熵編碼。(5)按照以上過程編碼完所有的圖像宏塊,組織成壓縮文件。 解碼過程整個解碼過程如圖7所示,首先對解碼器接收到的重組數(shù)據(jù)塊進(jìn)行解碼和反量化,然 后根據(jù)接收到的重組編碼塊的頻率還原其在原始宏塊中DCT位置,并根據(jù)當(dāng)前編碼塊的分 辨率等級選擇相應(yīng)的IDCT模塊重建分辨率可伸縮圖像,可以實現(xiàn)分辨率從l: 4、 2: 4、 3: 4到4: 4四種分辨率圖像。(1) 解碼。解碼器解碼接收到的重組編碼碼塊(A:,/),然后進(jìn)行反量化,得到每一個重組前宏塊中對應(yīng)頻率(2/br/4,2/;r/4)位置的DCT系數(shù)。(2) 重排序。將解碼的DCT系數(shù)根據(jù)它重組碼塊中的位置還原到對應(yīng)的原始宏塊中的 編碼碼塊中。也即是,將編碼重組碼塊(A,/)中的(/J)系數(shù)放到重建宏塊的(/,力編碼碼塊的(A:,/)位置上。(3) 當(dāng)解碼重建一個宏塊完整分辨率的DCT系數(shù)后,選擇對應(yīng)的IDCT模塊重建當(dāng)前 分辨率的宏塊。當(dāng)接收到第一個重組碼塊的時候,不進(jìn)行IDCT變換,直接獲得最低分辨 率宏塊信息。(4) 對重建的分辨率宏塊,然后對宏塊進(jìn)行重組得到對應(yīng)相應(yīng)分辨率的圖像。(5) 當(dāng)接收到更高一級分辨率的解碼重建數(shù)據(jù),重復(fù)前面解碼(1)到(4)選擇更高 一級的IDCT模板獲得更高一級分辨率圖像。如圖8所示,接收到l級的系數(shù),與0級系數(shù)一起,選擇2X2的IDCT重建出1級分 辨率宏塊;接收到2級系數(shù),與0、 1級系數(shù)疊加在一起,選擇3X3的IDCT模塊重建2 級分辨率宏塊;當(dāng)接收到3級系數(shù),與前面所有系數(shù)疊加在一起,選擇4X4IDCT重建全分辨率宏塊。這樣就可以重建從l: 4、 2: 4、 3: 4到4: 4四種分辨率宏塊。類似的方法,可以設(shè)置(4XN) 2X (4XN) 2 (N-0.5、 1、 2、 3、…)的宏塊,碼塊分 割為(4XN) X (4XN),按照編碼過程按照分辨率關(guān)系重組DCT系數(shù),并按照分辨率由 低到高的編碼順序編碼;在解碼過程中,根據(jù)分辨率等級選擇同分辨率模板的IDCT,并重 組宏塊,從而實現(xiàn)4XN級(1: (4XN)、 2: (4XN)、……、(4XN): (4XN))可伸縮編 解碼。本具體實施方式
只是以4X4為具體例子描述。經(jīng)過上面編解碼過程后,圖像具有了比離散小波變換(DWT)有更加靈活的可伸縮性 特性。對于MXM的塊進(jìn)行離散小波變換最多只能實現(xiàn)M:M、 M:M/2、 ...、 M:l的分辨率 等級,而對于MXM的DCT變換按照本發(fā)明的方法可以實現(xiàn)M:M、 M:(M-1)、 M:(M-2)、...、 M:l的分辨率等級。以8X8的DCT為例,可以實現(xiàn)8級分辨率,而8X8離散小波變換最 多只能實現(xiàn)4級分辨率。這種編碼解碼方式可以根據(jù)各種不同的接收終端傳輸相應(yīng)的編碼 碼流從而可以有效的節(jié)省傳輸帶寬,實現(xiàn)分辨率可伸縮編解碼。
權(quán)利要求
1、基于DCT的分辨率可伸縮圖像編解碼方法,其特征在于包括編碼過程和解碼過程,編碼過程為(1)將原始圖像或視頻幀分塊為(4×N)2×(4×N)2的宏塊,然后將宏塊切割成(4×N)×(4×N)的碼塊;N為0.5、1、2、3、......;(2)對宏塊內(nèi)的(4×N)×(4×N)的碼塊進(jìn)行離散余弦變換,然后進(jìn)行量化;將宏塊內(nèi)所有的碼塊進(jìn)行(4×N)×(4×N)的離散余弦變換和量化;(3)對圖像中所有(4×N)×(4×N)碼塊中的對應(yīng)位置的頻率分量,重新組織成(4×N)×(4×N)的同頻率的編碼碼塊;(4)每一個單頻率分量碼塊內(nèi)部系數(shù)柵格掃描順序編碼;對在一個宏塊范圍內(nèi)頻率塊的編碼順序按照分辨率由低到高的順序掃描編碼,完成整個宏塊編碼;返回到步驟(2)編碼下一個宏塊,直到圖像編碼完成;解碼過程為(1)根據(jù)得到的碼流依次對編碼重排后的離散余弦變換頻率系數(shù)塊的編碼碼流解碼,得到離散余弦頻率塊系數(shù);(2)將解碼后的頻率塊系數(shù),根據(jù)其所在的行列頻率填入到原始離散余弦變換變換后的頻率位置;(3)當(dāng)接收到一個分辨率的離散余弦變換系數(shù)后,選擇與當(dāng)前分辨率等級相對應(yīng)的離散余弦反變換模塊重建出相應(yīng)分辨率的宏塊;(4)對離散余弦反變換后的圖像數(shù)據(jù)宏塊重組獲得相應(yīng)分辨率的圖像。
2、 根據(jù)權(quán)利要求1所述的基于DCT的分辨率可伸縮圖像編解碼方法,其特征在于 編碼過程的步驟(2)中,根據(jù)系數(shù)所在的碼塊和其在碼塊內(nèi)的位置定義系數(shù)-《 = 0,1,2,…,4x7VA 7表示當(dāng)前DCT塊在宏塊中的位置;力J'表示當(dāng)前系數(shù)在離散余弦變換塊中的位置,代表著頻率分量2/冗/(4 x AO 、 2/(4 x TV);編碼過程的步驟(3)中,把(4XN) X (4XN)的碼塊系數(shù)按照系數(shù)的頻率特性重新 組成(4XN) X (4XN)的碼塊,定義重組系數(shù):《 A:,/,O'-0,l,2,…,4x7V 先J表示當(dāng)前DCT塊在宏塊中的位置;力J表示當(dāng)前系數(shù)在離散余弦變換塊中的位置;按 照《=《,重組后的(4XN) X (4XN)的碼塊只包含行列單頻率份量2A:;r/(4xA0、 2/;r/(4x7V),重新排列后的碼塊是按照行方向和列方向的采樣率進(jìn)行排列,同一個采樣率 放在同一個碼塊中。
3、 根據(jù)權(quán)利要求1所述的基于DCT的分辨率可伸縮圖像編解碼方法,其特征在于 編碼過程的步驟(4)中,按照分辨率等級對重排系數(shù)塊編碼,根據(jù)采樣率h (4XN)、 2:(4XN)、 3: (4XN)和4: (4XN)在頻率域?qū)陦K內(nèi)的重排系數(shù)塊進(jìn)行分割,行列方向 的采樣率相同的在同一個分辨率等級i , (Ki S4xiV-1,即在/ = / 的情況下^^^或者 在A-; 的情況下/Si ,編碼時依次由低分辨率向高分辨率編碼;然后再按照行列頻率和 2^ +刀;r/(4xTV)由低到高編碼同級分辨率的碼塊。
4、 根據(jù)權(quán)利要求1所述的基于DCT的分辨率可伸縮圖像編解碼方法,其特征在于 編碼過程為(1) 將原始圖像或視頻幀分塊為16X16的宏塊,然后將宏塊切割成4X4的碼塊;(2) 對4X4的碼塊進(jìn)行離散余弦變換,然后進(jìn)行量化;將宏塊內(nèi)所有的碼塊進(jìn)行離 散余弦變換和量化后,每一個4X4的碼塊內(nèi)的數(shù)據(jù)變成離散余弦變換系數(shù);(3) 對圖像中所有4X4碼塊中的對應(yīng)位置的頻率分量,重新組織成4X4的同頻率的 編碼碼塊;(4) 每一個單頻率分量碼塊內(nèi)部系數(shù)柵格掃描順序編碼;對在一個宏塊范圍內(nèi)頻率塊 的編碼順序按照分辨率由低到高的順序掃描編碼;解碼過程為(1) 根據(jù)得到的碼流依次對編碼重排后的離散余弦變換頻率系數(shù)塊的編碼碼流解碼, 得到離散余弦頻率塊系數(shù);(2) 將解碼后的頻率塊系數(shù),根據(jù)其所在的行列頻率填入到原始離散余弦變換變換后 的頻率位置;(3) 當(dāng)接收到一個分辨率的離散余弦變換系數(shù)后,選擇與當(dāng)前分辨率等級相對應(yīng)的離 散余弦反變換模塊重建出相應(yīng)分辨率的宏塊;(4) 對離散余弦反變換后的圖像數(shù)據(jù)宏塊重組獲得相應(yīng)分辨率的圖像。
全文摘要
本發(fā)明提供一種基于DCT的分辨率可伸縮圖像編解碼方法,在編碼過程中,對原始圖像或視頻幀分塊為(4×N)<sup>2</sup>×(4×N)<sup>2</sup>的宏塊,然后將宏塊切割成(4×N)×(4×N)的碼塊,利用DCT量化后碼塊中系數(shù)的頻率及其在塊中的對應(yīng)位置關(guān)系,以及分辨率特性,將同一頻率安排在同一個重組編碼塊,按照分辨率的優(yōu)先級進(jìn)行編碼;在解碼過程中,根據(jù)接收到的重組編碼塊的頻率還原其在原始宏塊中DCT位置,并根據(jù)當(dāng)前編碼塊的分辨率等級選擇IDCT編碼模塊重建分辨率可伸縮圖像,這種編碼解碼方式可以根據(jù)各種不同的接收終端傳輸相應(yīng)的編碼碼流從而可以有效的節(jié)省傳輸帶寬,實現(xiàn)比DWT更靈活的分辨率可伸縮編解碼。
文檔編號H04N7/30GK101127903SQ20071003064
公開日2008年2月20日 申請日期2007年9月29日 優(yōu)先權(quán)日2007年9月29日
發(fā)明者榮 余, 吳宗澤, 勰 張, 張克新, 謝勝利, 陳易光 申請人:華南理工大學(xué)