專利名稱:圖像或視頻的編碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種圖像或視頻的編碼方法,具體是一種采用類整系數(shù)六角變換方法的圖像或視頻的編碼方法。本發(fā)明主要是在圖像編碼或者視頻編碼端,將圖像數(shù)據(jù)或者視頻數(shù)據(jù)進行快速正向六角變換處理,變換到以正向六角變換矩陣表達的向量空間中;在圖像解碼端或者視頻解碼端,將正向六角變換后的數(shù)據(jù)進行快速逆向六角變換處理,恢復(fù)得到原始的圖像數(shù)據(jù)或者視頻數(shù)據(jù)。有利于加快對圖像數(shù)據(jù)或者視頻數(shù)據(jù)的壓縮和分析。
背景技術(shù):
傳統(tǒng)的視頻編碼標(biāo)準(zhǔn)如ITU制定的H. 261, H. 263, H. 263+, H. 264標(biāo)準(zhǔn)以及ISO的 MPEG組織制定的MPEG-1,MPEG-2,MPEG-4等都是建立在混合編碼(Hybrid Coding)框架之上的。所謂混合編碼框架是一種綜合考慮預(yù)測、變換和熵編碼的方法框架,有以下主要特占.
(1)利用預(yù)測去除時間域的冗余度;
(2)利用變換去除空間域的冗余度;
(3)利用熵編碼去除統(tǒng)計上的冗余度。上述視頻編碼標(biāo)準(zhǔn)都具有幀內(nèi)編碼幀(I幀)和幀間編碼幀(P/B幀)。對圖像或者視頻幀以宏塊為基本單位進行編碼,首先進行幀內(nèi)或者幀間的預(yù)測,然后將預(yù)測殘差進行二維變換、量化,最后對量化系數(shù)進行熵編碼。由于視頻數(shù)據(jù)和圖像數(shù)據(jù)在空間域上有較強的相關(guān)性,二維變換是提高編碼增益的關(guān)鍵因素,因此二維變換是視頻編碼和圖像編碼的很重要的部分。離散余弦變換(DCT)通常用于圖像數(shù)據(jù)和視頻數(shù)據(jù)的塊變換編碼,這是因為對于各種信號,離散余弦變換非常近似于統(tǒng)計最佳的K-L變換。離散余弦變換被廣泛應(yīng)用于各種視頻/圖像編碼標(biāo)準(zhǔn)中。離散余弦變換的一個缺點是將待變換數(shù)據(jù)塊的各個位置上的數(shù)據(jù)同等對待,和預(yù)測殘差的分布規(guī)律不相吻合。經(jīng)過各種預(yù)測后,圖像和視頻中的塊數(shù)據(jù)的空間相關(guān)性發(fā)生了變化,在統(tǒng)計意義上,塊中心的像素預(yù)測匹配較好,預(yù)測殘差較小,而塊邊緣的像素預(yù)測匹配較差,預(yù)測殘差較大。六角變換能夠適應(yīng)預(yù)測殘差的統(tǒng)計特性,克服DCT的不足之處。所謂六角變換,即根據(jù)六個角度導(dǎo)出的變換矩陣進行的變換。設(shè)A、^、^、^、^、^是六個角度,令
C-Cosaj, D-Sinaj, E-Cosa2, F-Sina2, G二CQsa3’ N-Sina3, I-Cosa4 ,J-si Xia4,
M-Cosa6,yV=s i na6, 則變換矩陣如下
權(quán)利要求
1.一種圖像或視頻的編碼方法,其特征在于包括如下操作步驟圖像分塊與預(yù)測補償處理將輸入圖像分割成16X16的宏塊,并對I幀圖像進行幀內(nèi)像素預(yù)測和補償處理,對P幀圖像進行幀間運動估計及運動補償處理; 正向變換處理對輸入預(yù)測殘差數(shù)據(jù)進行正向變換處理; 量化與熵編碼處理對變換系數(shù)進行量化及熵編碼處理,并將熵編碼輸出; 熵解碼與逆量化處理對所述編碼碼流進行熵解碼,并對所述變換系數(shù)進行逆量化處理;反向變換處理對經(jīng)逆量化的變換系數(shù)進行反向變換處理;幀內(nèi)幀間補償與解碼輸出處理對經(jīng)逆變換處理后的圖像數(shù)據(jù)進行幀內(nèi)像素補償或幀間運動補償,并將解碼后的圖像輸出。
2.如權(quán)利要求1所述的圖像或視頻的編碼方法,其特征在于所述步驟⑵對輸入預(yù)測差值數(shù)據(jù)進行正向變換處理的方法是基于正向六角變換 Y = TXY的類整系數(shù)處理方法,其中,X表示輸入的8X8數(shù)據(jù)塊矩陣,Y表示8X8輸出數(shù)據(jù)塊矩陣,T表示變換矩陣,T'表示矩陣T的轉(zhuǎn)置。
3.如權(quán)利要求2所述的圖像或視頻的編碼方法,其特征在于所述的變換矩陣T按如下方法得到.h、a2、a3、a4、a5、a6是所選取的六個角度,令
4.如權(quán)利要求3所述的圖像或視頻的編碼方法,其特征在于所選擇的六個角度,它們的正弦值和余弦值都是有理數(shù),即D、E、F、G、H、I、J、K、L、M、N都是有理數(shù),其中其中,c、d、e、f、g、h、i、j、k、I、m、n、r0、rl、r2、r3、r4、r5 都是整數(shù)。
5.如權(quán)利要求2所述的圖像或視頻的編碼方法,其特征在于所述正向變換Γ = Π處理過程中,采用S=及T以方便計算;則正向變換可用ν來代替,其中,I = Afh / Δζ = xs的整系數(shù)處理方法可用如下方法實現(xiàn)設(shè) Xi=(x0, xl, x2, x3, x4, x5, x6, x7)是 X 的第 i 行,Zi=(Zi), zl, z2, z3, z4, z5, z6, z7)是 Z的第i行;用aM表示計算的中間結(jié)果 a
= x0 + x7; a[7] = xO - x7; a[l] = xl + x6; a[6] = xl - x6; a[2] = x2 + x5; a[5] = x2 - x5; a[3] = x3 + x4; a[4] = x3 - x4;a[10]=(C氺a
+ d氺a[3]-f rO/'2)/'rOa[13]=(d氺a
-C氺a[3]-f rO/'2)/'rOa[ll]=(e氺a[l]+ f氺a[2]-—rl/'2)/‘rla[12]=(f氺a[l]-e氺a[2]-—rl/'2)/丨rla[8] = (h * a[6] - g * a[5] + r2/2) / r2; a[9] = (g * a[6] + h * a[5] + r2/2) / r2;a[14]=(h氺a [4]+ g氺a [8]-f r2/I‘r2a[15]=(g氺a [4]-h氺a [8]-f r2/iT) ι‘r2a[16]=(d氺a[7]-C氺a [9]-f rO/iT) ι'rOa[17]=(C氺a[7]+ d氺a [9]-f rO/丨 ) I丨rO則Zi用如下處理方法得到 zO = (g * a[10] + h * a[ll] + r2/2) / r2; z4 = (h * a[10] - g * a[ll] + r2/2) / r2; z2 = (j * a[13] + i * a[12] + r3/2) / r3; z6 = (i * a[13] - j * a[12] + r3/2) / r3; zl = (1 * a[17] + k * a[14] + r4/2) / r4; z7 = (k * a[17] - 1 * a[14] + r4/2) / r4; z5 = (n * a[16] + m * a[15] + r5/2) / r5; z3 = (m * a[16] - η * a[15] + r5/2) / r5。
6.如權(quán)利要求1所述的圖像或視頻的編碼方法,其特征在于所述步驟(5)對經(jīng)逆量化的變換系數(shù)進行反向變換處理的方法是基于逆向六角變換iT = IiT'的類整系數(shù)處理方法,其中,Y表示輸入的8X8數(shù)據(jù)塊矩陣,X表示8X8輸出數(shù)據(jù)塊矩陣,T表示變換矩陣,T' 表示矩陣T的轉(zhuǎn)置。
7.如權(quán)利要求6所述的圖像或視頻的編碼方法,其特征在于所述逆向變換I=TTT處理過程中,采用S=^r以方便計算;則逆向變換可用1 = ; 3^”來代替,其中,V = YS'的整系數(shù)處理方法可用如下方法實現(xiàn)設(shè) Yi= (x0, xl, x2, x3, x4, x5, x6, x7)是 Y 的第 i 行,Vi= (vO, vl, v2, v3, v4, v5, v6, v7)是 V的第i行;用aM表示計算的中間結(jié)果a[14]=(k氺yi -1氺y7+ r4/r4a[17]=(1氺yi +k氺y7+ r4/r4a[15]=(m *y5 -η氺y3+ r5/r5a[16]=(η氺y5 +m氺y3+ r5/r5a[10]=(g *yO +h氺y4+ r2/r2a[ll]=(h氺yO -g氺y4+ r2/r2a[12]=(i *y2 -j氺y6+ r3/r3a[13]=(j *y2 +i氺y6+ r3/々)/r3a
=C氺a[10]+d氺a[13]+ rO/2)/ rO;a[3]=d氺a[10]-C氺a[13]+ rO/2)/ rO;a[l]=e氺a[ll]+f氺a[12]+ rl/2)/ rl;a[2]=f氺a[ll]-e氺a[12]+ rl/2)/ rl;a [4]=h氺a[14]+g氺a[15]+ r2/2)/ r2;a [8]=g氺a[14]-h氺a[15]+ r2/2)/ r2;a [9]=d氺a[17]-C氺a[16]+ rO/2)/ rO;a[7]=C氺a[17]+d氺a[16]+ rO/2)/ rO;a[5]=h氺a[ 9]-g氺a[8]+ r2/2)/ r2;a [6]=g氺a[ 9]+h氺a[8]+ r2/2)/ r2;則Vi用如下處理方法得到vO= a
+ a[7];v7= a
- a[7];vl= a[l]+ a[6];v6= a[l]- a[6];v2= a[2]+ a[5];v5= a[2]- a[5];v3= a[3]+ a[4];v4= a[3]- a[4]。
全文摘要
本發(fā)明涉及一種運用于圖像或視頻的編碼方法,本方法的操作步驟如下圖像分塊與預(yù)測補償處理、正向變換處理、量化與熵編碼處理、熵解碼與逆量化處理、反向變換處理以及幀內(nèi)幀間補償與解碼輸出處理,其中正向變換處理的方法是基于正向六角變換Y=T′XT的類整系數(shù)處理方法,反向變換處理方法是基于逆向六角變換X=TYT′的類整系數(shù)處理的方法。本發(fā)明的方法,使得六角變換可以完全用整數(shù)運算來實現(xiàn),實現(xiàn)用整數(shù)運算代替浮點數(shù)運算。
文檔編號H04N7/26GK102413331SQ20111039161
公開日2012年4月11日 申請日期2011年12月1日 優(yōu)先權(quán)日2011年12月1日
發(fā)明者朱洪波, 李國平, 殷汶杰, 滕國偉, 王國中, 王小根, 程武, 范濤, 趙海武 申請人:上海大學(xué)