專利名稱:運(yùn)用于圖像編碼和視頻編碼的離散余弦變換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電數(shù)字?jǐn)?shù)據(jù)處理技術(shù)領(lǐng)域,特別是一種運(yùn)用于圖像編碼和視頻編碼的離散余弦變換方法。
背景技術(shù):
傳統(tǒng)的視頻編碼標(biāo)準(zhǔn)如ITU制定的H.261,H.263標(biāo)準(zhǔn)以及ISO的MPEG組織制定的MEPG-1,MPEG-2,MPEG-4等都是基于混合編碼。所謂混合編碼框架是綜合考慮預(yù)測(cè),變換以及熵編碼的方法的編碼框架,有以下主要特點(diǎn)1)利用預(yù)測(cè)去除時(shí)間域的冗余度;2)利用變換去除空間域的冗余度;3)而用熵編碼去除統(tǒng)計(jì)上的冗余度;上述視頻編碼標(biāo)準(zhǔn)都具有幀內(nèi)編碼幀,即I幀,和幀間編碼幀,即P幀,I幀和P幀采用不同的編碼方法。I幀的編碼過程如下對(duì)原始圖像數(shù)據(jù)或幀內(nèi)預(yù)測(cè)得到的殘差塊進(jìn)行二維變換;然后在變換域中對(duì)變換系數(shù)進(jìn)行量化;最后進(jìn)行熵編碼,即Huffman編碼或者算術(shù)編碼等。P幀的編碼過程如下采用運(yùn)動(dòng)估計(jì)得到運(yùn)動(dòng)矢量,然后采用基于運(yùn)動(dòng)補(bǔ)償?shù)膸g預(yù)測(cè),接著對(duì)幀間預(yù)測(cè)得到的殘差塊進(jìn)行二維變換,再對(duì)變換域系數(shù)進(jìn)行量化,最后進(jìn)行熵編碼。
傳統(tǒng)的圖像編碼標(biāo)準(zhǔn),如JPEG標(biāo)準(zhǔn),與視頻編碼標(biāo)準(zhǔn)有著相近之處,對(duì)原始圖像數(shù)據(jù)或圖像內(nèi)預(yù)測(cè)得到的殘差塊進(jìn)行二維變換;然后在變換域中對(duì)變換系數(shù)進(jìn)行量化;最后進(jìn)行熵編碼。
由于視頻數(shù)據(jù)和圖像數(shù)據(jù)在空間域上較強(qiáng)的相關(guān)性,二維變換是提高編碼增益的關(guān)鍵因素,因此二維變換是視頻編碼和圖像編碼的很重要的部分。
離散余弦變換(DCT)變換通常用于圖像數(shù)據(jù)和視頻數(shù)據(jù)的塊變換編碼,這是因?yàn)閷?duì)于各種信號(hào),離散余弦變換非常近似于統(tǒng)計(jì)最佳的K-L變換。離散余弦變換被廣泛應(yīng)用于各種視頻/圖像編碼標(biāo)準(zhǔn)中。
對(duì)于輸入的8×1矩陣f8×1,一維理論離散余弦正變換定義如下F8×1=DCT8×f8×1一維理論離散余弦反變換定義如下f8×1=DCT8T×F8×1對(duì)于輸入的1×8矩陣f8×1,一維理論離散余弦正變換定義如下
F1×8=f1×8×DCT8T一維理論離散余弦反變換定義如下f1×8=F1×8×DCT8對(duì)于輸入的8×8矩陣F8×8,二維理論離散余弦正變換定義如下F8×8=DCT8×f8×8×DCT8T二維理論離散余弦反變換定義如下f8×8=DCT8T×F8×8×DCT8其中DCT8為理論的8×8DCT矩陣,DCT8T為理論的8×8DCT矩陣的轉(zhuǎn)置矩陣。理論的8×8DCT矩陣中的元素定義如下DCT(i,j)=18i=0,0≤j≤n-112cos(2i+116jπ)1≤i≤n-1,0≤j≤n-1]]>離散余弦變換的一個(gè)缺點(diǎn)是矩陣中的部分系數(shù)是無理數(shù),所以在數(shù)字計(jì)算機(jī)上用迭代的方法進(jìn)行變換和反變換后,不能得到一模一樣的初始值。在解碼端,由于沒有定義具體的反離散余弦變換(IDCT)的具體過程,所以不同的解碼器解碼的結(jié)果可能不同,導(dǎo)致了解碼器失配(decoder mismatch)的問題。因此,符合標(biāo)準(zhǔn)的解碼器必須達(dá)到一定的精度要求。但是高的精度通常要求高的實(shí)現(xiàn)復(fù)雜度。在設(shè)計(jì)和實(shí)現(xiàn)時(shí)要根據(jù)不同需要對(duì)精度和實(shí)現(xiàn)復(fù)雜度兩者進(jìn)行權(quán)衡。
圖1和圖2分別為現(xiàn)有技術(shù)采用的離散余弦反變換蝶形結(jié)構(gòu)和現(xiàn)有技術(shù)采用的離散余弦正變換蝶形結(jié)構(gòu)。該結(jié)構(gòu)的缺點(diǎn)是都采用兩輸入三乘法結(jié)構(gòu),而在某些情況下采用等價(jià)的兩輸入四乘法結(jié)構(gòu)能用更少的加法和移位實(shí)現(xiàn),復(fù)雜度更低,而精度相當(dāng)。同時(shí),采用兩輸入三乘法結(jié)構(gòu),每個(gè)乘法器的輸入都不相同,無法把乘法器相同的因子提取到蝶形結(jié)構(gòu)外進(jìn)行預(yù)處理或/和后處理來進(jìn)一步降低實(shí)現(xiàn)的復(fù)雜度。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種運(yùn)用于圖像編碼和視頻編碼的離散余弦變換的方法。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是1、一種運(yùn)用于圖像編碼和視頻編碼的離散余弦變換的方法離散余弦反變換過程采用或包含離散余弦反變換蝶形結(jié)構(gòu);離散余弦反變換蝶形結(jié)構(gòu)對(duì)其輸入數(shù)據(jù)處理的過程由下面或與下面等價(jià)的式子表示a0=y(tǒng)7+y3,a1=y(tǒng)5+y1,b0=y(tǒng)0+y4,b1=y(tǒng)0-y4,b2=αy2-βy6,b3=βy2+αy6,b4=κy7+λy1,b7=κy1-λy7,b5=μy5+νy3,b6=μy3-νy5,b8=δa1-γa0,b9=δa0+γa1,c0=b0+b3,c3=b0-b3,c1=b1+b2,c2=b1-b2,c4=b8-b4,c5=b9-b5,c6=b6+b8,c7=b7+b9,x0=c0+c7,x7=c0-c7,x1=c1+c6,x6=c1-c6,x2=c2+c5,x5=c2-c5,x3=c3+c4,x4=c3-c4,其中y0、y1、y2、y3、y4、y5、y6、y7為離散余弦反變換蝶形結(jié)構(gòu)的輸入,x0、x1、x2、x3、x4、x5、x6、x7為離散余弦反變換蝶形結(jié)構(gòu)的輸出,α、β、κ、λ、μ、ν、δ、γ為離散余弦反變換蝶形結(jié)構(gòu)中預(yù)先設(shè)定的乘法器參數(shù),a0、a1、b0、b1、b2、b3、b4、b5、b6、b7、b8、b9、c0、c1、c2、c3、c4、c5、c6、c7為離散余弦反變換蝶形結(jié)構(gòu)中的中間變量;或者通過對(duì)離散余弦反變換蝶形結(jié)構(gòu)中的一個(gè)或多個(gè)輸入、中間數(shù)據(jù)、輸出數(shù)據(jù)進(jìn)行取反,或/并對(duì)離散余弦反變換蝶形結(jié)構(gòu)中的一個(gè)或多個(gè)減法器用加法器實(shí)現(xiàn),或/并對(duì)離散余弦反變換蝶形結(jié)構(gòu)中的一個(gè)或多個(gè)加法器用減法器實(shí)現(xiàn)。
離散余弦反變換蝶形結(jié)構(gòu)中的一個(gè)、兩個(gè)或三個(gè)兩輸入四乘法結(jié)構(gòu)用等價(jià)的兩輸入三乘法結(jié)構(gòu)代替;兩輸入三乘法結(jié)構(gòu)中的乘法參數(shù)由兩輸入四乘法結(jié)構(gòu)中的乘法參數(shù)計(jì)算得到;即對(duì)于o1=±m(xù)1i1±m(xù)2i2,o2=±m(xù)2i1±m(xù)1i2,用o1=±m(xù)3i1±m(xù)4(i1+i2),o2=±m(xù)5i2±m(xù)4(i1+i2)代替,其中i1、i2為兩輸入四乘法結(jié)構(gòu)和兩輸入三乘法結(jié)構(gòu)的輸入,o1、o2為兩輸入四乘法結(jié)構(gòu)和兩輸入三乘法結(jié)構(gòu)的輸出。
離散余弦反變換蝶形結(jié)構(gòu)中的乘法器參數(shù)如下α=cos(3π/8),β=sin(3π/8),γ=cos(5π/16),δ=sin(5π/16),κ=(cos(π/16)-cos(5π/16)),λ=(sin(5π/16)-sin(π/16)),μ=(cos(5π/16)-sin(π/16)),ν=(cos(π/16)+sin(5π/16))。
采用該離散余弦反變換蝶形結(jié)構(gòu)進(jìn)行一維離散余弦反變換,離散余弦反變換蝶形結(jié)構(gòu)中的乘法器參數(shù)為預(yù)先設(shè)定的參數(shù),使得將離散余弦反變換的輸入1×8或8×1矩陣A1i作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,離散余弦反變換蝶形結(jié)構(gòu)的輸出為1×8或8×1矩陣B1i,矩陣B1i中的元素和對(duì)矩陣A1i作一維理論離散余弦反變換得到的1×8或8×1矩陣C1i中的元素的差的絕對(duì)值不大于1;
采用該離散余弦反變換蝶形結(jié)構(gòu)進(jìn)行二維離散余弦反變換,離散余弦反變換蝶形結(jié)構(gòu)中的乘法器參數(shù)為預(yù)先設(shè)定的參數(shù),使得將離散余弦反變換的輸入8×8矩陣A2i的行或列依次作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的行或列得到8×8中間矩陣B2i,再將矩陣B2i的列或行依次作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的列或行得到8×8矩陣C2i,矩陣C2i中的元素和對(duì)矩陣A2i作二維理論離散余弦反變換得到的8×8矩陣D2i中的元素的差的絕對(duì)值不大于1。
采用該離散余弦反變換蝶形結(jié)構(gòu)進(jìn)行一維離散余弦反變換,離散余弦反變換蝶形結(jié)構(gòu)中的乘法器參數(shù)為預(yù)先設(shè)定的參數(shù),使得離散余弦反變換過程先對(duì)輸入的1×8或8×1矩陣A1i進(jìn)行預(yù)處理得到1×8或8×1矩陣B1i,將矩陣B1i作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,離散余弦反變換蝶形結(jié)構(gòu)的輸出為1×8或8×1矩陣C1i,再對(duì)矩陣C1i進(jìn)行后處理得到1×8或8×1矩陣D1i,矩陣D1i中的元素和對(duì)A作二維理論離散余弦反變換的結(jié)果E1i中的元素的差的絕對(duì)值不大于1;采用該離散余弦反變換蝶形結(jié)構(gòu)進(jìn)行二維離散余弦反變換,離散余弦反變換蝶形結(jié)構(gòu)中的乘法器參數(shù)為預(yù)先設(shè)定的參數(shù),使得離散余弦反變換過程先對(duì)輸入的8×8矩陣A2i進(jìn)行預(yù)處理得到8×8矩陣B2i,對(duì)矩陣B2i的行或列依次作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的行或列得到8×8中間矩陣C2i,再將矩陣C2i的列或行依次作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的列或行得到8×8矩陣D2i;再對(duì)矩陣D2i進(jìn)行后處理得到8×8矩陣E2i,矩陣E2i中的元素和對(duì)A2i作二維理論離散余弦反變換的結(jié)果F2i中的元素的差的絕對(duì)值不大于1。
2、一種運(yùn)用于圖像編碼和視頻編碼的離散余弦變換的方法離散余弦正變換過程采用或包含離散余弦正變換蝶形結(jié)構(gòu);離散余弦正變換蝶形結(jié)構(gòu)對(duì)其輸入數(shù)據(jù)處理的過程由下面或與下面等價(jià)的式子表示a0=x0+x7,a7=x0-x7,a1=x1+x6,a6=x1-x6,a2=x2+x5,a5=x2-x5,a3=x3+x4,a4=x3-x4,b0=a0+a3,b3=a0-a3,b1=a1+a2,b2=a1-a2,b4=a4+a6,b5=a5+a7,c0=b0+b1,c1=b0-b1,c2=αb2-βb3,c3=βb2+αb3,c4=κa4+λa7,c7=κa7-λa4,c5=μa5+νa6,c6=μa6-νa5,c8=δb5-γb4,c9=γb5+δb4,y0=c0,y4=c1,y2=c2,y6=c3,y7=c8-c4,y5=c9-c5,y3=c6+c8,y1=c7+c9,其中x0、x1、x2、x3、x4、x5、x6、x7為離散余弦正變換蝶形結(jié)構(gòu)的輸入,y0、y1、y2、y3、y4、y5、y6、y7為離散余弦正變換蝶形結(jié)構(gòu)的輸出,α、β、κ、λ、μ、ν、δ、γ為離散余弦正變換蝶形結(jié)構(gòu)中預(yù)先設(shè)定的乘法器參數(shù),a0、a1、a2、a3、a4、a5、a6、a7、b0、b1、b2、b3、b4、b5、c0、c1、c2、c3、c4、c5、c6、c7、c8、c9為離散余弦正變換過程中的中間變量;或者通過對(duì)離散余弦正變換蝶形結(jié)構(gòu)中的一個(gè)或多個(gè)輸入、中間數(shù)據(jù)、輸出數(shù)據(jù)進(jìn)行取反,或/并對(duì)離散余弦正變換蝶形結(jié)構(gòu)中的一個(gè)或多個(gè)減法器用加法器實(shí)現(xiàn),或/并對(duì)離散余弦正變換蝶形結(jié)構(gòu)中的一個(gè)或多個(gè)加法器用減法器實(shí)現(xiàn)。
離散余弦正變換蝶形結(jié)構(gòu)中的一個(gè)、兩個(gè)或三個(gè)兩輸入四乘法結(jié)構(gòu)用兩輸入三乘法結(jié)構(gòu)代替;兩輸入三乘法結(jié)構(gòu)中的乘法參數(shù)由兩輸入四乘法結(jié)構(gòu)中的乘法參數(shù)計(jì)算得到;即對(duì)于o1=±m(xù)1i1±m(xù)2i2,o2=±m(xù)2i1±m(xù)1i2,用o1=±m(xù)3i1±m(xù)4(i1+i2),o2=±m(xù)5i2±m(xù)4(i1+i2)代替,其中i1、i2為兩輸入四乘法結(jié)構(gòu)和兩輸入三乘法結(jié)構(gòu)的輸入,o1、o2為兩輸入四乘法結(jié)構(gòu)和兩輸入三乘法結(jié)構(gòu)的輸出。
離散余弦正變換蝶形結(jié)構(gòu)中的乘法器參數(shù)如下α=cos(3π/8),β=sin(3π/8),γ=cos(5π/16),δ=sin(5π/16),κ=(cos(π/16)-cos(5π/16)),λ=(sin(5π/16)-sin(π/16)),μ=(cos(5π/16)-sin(π/16)),ν=(cos(π/16)+sin(5π/16))。
采用該離散余弦反變換蝶形結(jié)構(gòu)進(jìn)行一維離散余弦正變換,離散余弦正變換蝶形結(jié)構(gòu)中的乘法器參數(shù)為預(yù)先設(shè)定的參數(shù),使得將離散余弦正變換的輸入1×8或8×1矩陣A1f作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,離散余弦反變換蝶形結(jié)構(gòu)的輸出為1×8或8×1矩陣B1f,矩陣B1f中的元素和對(duì)矩陣A1f作一維理論離散余弦正變換得到的1×8或8×1矩陣C1f中的元素的差的絕對(duì)值不大于3;采用該離散余弦反變換蝶形結(jié)構(gòu)進(jìn)行二維離散余弦正變換,離散余弦正變換蝶形結(jié)構(gòu)中的乘法器參數(shù)為預(yù)先設(shè)定的參數(shù),使得將離散余弦正變換的輸入8×8矩陣A2f的行或列依次作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的行或列得到8×8中間矩陣B2f,再將矩陣B2f的列或行依次作為離散余弦正變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的列或行得到8×8矩陣C2f,矩陣C2f中的元素和對(duì)矩陣A2f作二維理論離散余弦正變換得到的8×8矩陣D2f中的元素的差的絕對(duì)值不大于3。
采用該離散余弦正變換蝶形結(jié)構(gòu)進(jìn)行一維離散余弦正變換,離散余弦正變換蝶形結(jié)構(gòu)中的乘法器參數(shù)為預(yù)先設(shè)定的參數(shù),使得離散余弦正變換過程先對(duì)輸入的1×8或8×1矩陣A1f進(jìn)行預(yù)處理得到1×8或8×1矩陣B1f,將矩陣B1f作為離散余弦正變換蝶形結(jié)構(gòu)的輸入,離散余弦正變換蝶形結(jié)構(gòu)的輸出為1×8或8×1矩陣C1f,再對(duì)矩陣C1f進(jìn)行后處理得到1×8或8×1矩陣D1f,矩陣D1f中的元素和對(duì)A1f作二維理論離散余弦反變換的結(jié)果E1f中的元素的差的絕對(duì)值不大于3;采用該離散余弦反變換蝶形結(jié)構(gòu)進(jìn)行二維離散余弦反變換,離散余弦正變換蝶形結(jié)構(gòu)中的乘法器參數(shù)為預(yù)先設(shè)定的參數(shù),使得離散余弦正變換過程先對(duì)輸入的8×8矩陣A2f進(jìn)行預(yù)處理得到8×8矩陣B2f,對(duì)矩陣B2f的行或列依次作為離散余弦正變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的行或列得到8×8中間矩陣C2f,再將矩陣C2f的列或行依次作為離散余弦正變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的列或行得到8×8矩陣D2f;再對(duì)矩陣D2f進(jìn)行后處理得到8×8矩陣E2f,矩陣E2f中的元素和對(duì)A2f作二維理論離散余弦正變換的結(jié)果F2f中的元素的差的絕對(duì)值不大于3。
本發(fā)明與背景技術(shù)相比,具有有益的效果通過采用兩輸入四乘法結(jié)構(gòu)代替兩輸入三乘法結(jié)構(gòu),使得具有相同輸入的乘法器能夠聯(lián)合實(shí)現(xiàn),同時(shí),可以把兩輸入四乘法結(jié)構(gòu)相同的因子提取到蝶形結(jié)構(gòu)外進(jìn)行預(yù)處理或/和后處理,有效地降低了實(shí)現(xiàn)離散余弦變換所需的位寬和運(yùn)算操作次數(shù),而精度和現(xiàn)有技術(shù)相當(dāng)。
圖1現(xiàn)有技術(shù)采用的離散余弦反變換蝶形結(jié)構(gòu);圖2現(xiàn)有技術(shù)采用的離散余弦正變換蝶形結(jié)構(gòu);圖3離散余弦反變換蝶形結(jié)構(gòu);圖4離散余弦正變換蝶形結(jié)構(gòu);圖5實(shí)施例5采用的離散余弦反變換蝶形結(jié)構(gòu);圖6實(shí)施例6采用的離散余弦正變換蝶形結(jié)構(gòu);圖7兩輸入四乘法結(jié)構(gòu);圖8兩輸入三乘法結(jié)構(gòu)。
具體實(shí)施例方式
實(shí)施例1采用圖3所示的離散余弦反變換蝶形結(jié)構(gòu)。
離散余弦反變換過程如下將離散余弦反變換輸入8×8矩陣A的行或列依次作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的行或列得到8×8中間矩陣B,再將矩陣B的列或行依次作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的列或行得到8×8輸出矩陣C。
圖3所示的離散余弦反變換蝶形結(jié)構(gòu)中的乘法器參數(shù)如下α=cos(3π/8),β=sin(3π/8),γ=cos(5π/16),δ=sin(5π/16),κ=(cos(π/16)-cos(5π/16)),λ=(sin(5π/16)-sin(π/16)),μ=(cos(5π/16)-sin(π/16)),ν=(cos(π/16)+sin(5π/16)),使得矩陣C中的元素和對(duì)A和作二維理論離散余弦反變換的結(jié)果D中的元素的差的絕對(duì)值不大于1。
實(shí)施例2采用圖4所示的離散余弦正變換蝶形結(jié)構(gòu)。
離散余弦正變換過程如下將離散余弦正變換輸入8×8矩陣A的行或列依次作為離散余弦正變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的行或列得到8×8中間矩陣B,再將矩陣B的列或行依次作為離散余弦正變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的列或行得到8×8輸出矩陣C。
圖4所示的離散余弦正變換蝶形結(jié)構(gòu)中的乘法器參數(shù)如下α=cos(3π/8),β=sin(3π/8),γ=cos(5π/16),δ=sin(5π/16),κ=(cos(π/16)-cos(5π/16)),λ=(sin(5π/16)-sin(π/16)),μ=(cos(5π/16)-sin(π/16)),ν=(cos(π/16)+sin(5π/16)),使得矩陣C中的元素和對(duì)A和作二維理論離散余弦正變換的結(jié)果D中的元素的差的絕對(duì)值不大于3。
實(shí)施例3采用圖3所示的離散余弦反變換蝶形結(jié)構(gòu)。
離散余弦反變換過程如下先對(duì)輸入8×8矩陣A進(jìn)行預(yù)處理得到8×8矩陣B。預(yù)處理過程如下B(i,j)=A(i,j)×S(i,j)0≤i,j≤7。矩陣S定義如下S=abcdabcdbdfdbdfdcfefcfefbdfdbdfdabcdabcdbdfdbdfdcfefcfefbdfdbdfd]]>其中a=1024,b=979,c=1525,d=936,e=2271,f=1458。然后將8×8矩陣B的行或列依次作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的行或列得到8×8矩陣C,再將8×8矩陣C的列或行依次作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的列或行得到8×8矩陣D,再對(duì)8×8矩陣D進(jìn)行后處理得到8×8輸出矩陣E,后處理過程如下E(i,j)=(D(i,j)+4096)>>130≤i,j≤7。
圖3所示的離散余弦反變換蝶形結(jié)構(gòu)中的乘法器參數(shù)如下α=5954/16384,β=14374/16384,γ=13464/16384,δ=20151/16384,κ=10306/16384,λ=15423/16384,μ=8736/16384,ν=43921/16384,使得矩陣E中的元素和對(duì)A和作二維理論離散余弦反變換的結(jié)果F中的元素的差的絕對(duì)值不大于1。
實(shí)施例4采用圖4所示的離散余弦正變換蝶形結(jié)構(gòu)。
離散余弦正變換過程如下先對(duì)輸入8×8矩陣A進(jìn)行預(yù)處理得到8×8矩陣B。預(yù)處理過程如下B(i,j)=A(i,j)×S(i,j)0≤i,j≤7。矩陣S定義如下S=abcdabcdbdfdbdfdcfefcfefbdfdbdfdabcdabcdbdfdbdfdcfefcfefbdfdbdfd]]>其中a=1024,b=979,c=1525,d=936,e=2271,f=1458。然后將8×8矩陣B的行或列依次作為離散余弦正變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的行或列得到8×8矩陣C,再將8×8矩陣C的列或行依次作為離散余弦正變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的列或行得到8×8矩陣D,再對(duì)8×8矩陣D進(jìn)行后處理得到8×8輸出矩陣E,后處理過程如下E(i,j)=(D(i,j)+4096)>>13 0≤i,j≤7。
圖4所示的離散余弦正變換蝶形結(jié)構(gòu)中的乘法器參數(shù)如下α=5954/16384,β=14374/16384,γ=13464/16384,δ=20151/16384,κ=10306/16384,λ=15423/16384,μ=8736/16384,ν=43921/16384,使得矩陣E中的元素和對(duì)A和作二維理論離散余弦正變換的結(jié)果F中的元素的差的絕對(duì)值不大于3。
實(shí)施例5采用圖5所示的離散余弦反變換蝶形結(jié)構(gòu),和圖3中的離散余弦反變換蝶形結(jié)構(gòu)相比,它用等價(jià)的三個(gè)兩輸入三乘法結(jié)構(gòu)代替了三個(gè)兩輸入四乘法結(jié)構(gòu)。
離散余弦反變換過程如下
先對(duì)輸入8×8矩陣A進(jìn)行預(yù)處理得到8×8矩陣B,預(yù)處理過程如下B(i,j)=A(i,j)<<100≤i,j≤7。然后將8×8矩陣B的行或列依次作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的行或列得到8×8矩陣C,再將8×8矩陣C的列或行依次作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的列或行得到8×8矩陣D,再對(duì)8×8矩陣D進(jìn)行后處理得到8×8輸出矩陣E,后處理過程如下E(i,j)=(D(i,j)+4096)>>130≤i,j≤7。
圖5所示的離散余弦反變換蝶形結(jié)構(gòu)中的乘法器參數(shù)如下e0=-15136/8192,e1=4433/8192,e2=6270/8192,d0=2446/8192,d1=4176/8192,d2=-20996/8192,d3=12300/8192,d4=-7373/8192,d6=-16069/8192,d7=-3197/8192,d8=9633/8192,使得矩陣E中的元素和對(duì)A和作二維理論離散余弦反變換的結(jié)果F中的元素的差的絕對(duì)值不大于1。
實(shí)施例6采用圖6所示的離散余弦正變換蝶形結(jié)構(gòu),和圖4中的離散余弦正變換蝶形結(jié)構(gòu)相比,它用等價(jià)的三個(gè)兩輸入三乘法結(jié)構(gòu)代替了三個(gè)兩輸入四乘法結(jié)構(gòu)。
離散余弦正變換過程如下先對(duì)輸入8×8矩陣A進(jìn)行預(yù)處理得到8×8矩陣B,預(yù)處理過程如下B(i,j)=A(i,j)<<100≤i,j≤7。然后將8×8矩陣B的行或列依次作為離散余弦正變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的行或列得到8×8矩陣C,再將8×8矩陣C的列或行依次作為離散余弦正變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的列或行得到8×8矩陣D,再對(duì)8×8矩陣D進(jìn)行后處理得到8×8輸出矩陣E,后處理過程如下E(i,j)=(D(i,j)+4096)>>130≤i,j≤7。
圖6所示的離散余弦正變換蝶形結(jié)構(gòu)中的乘法器參數(shù)如下e0=-15136/8192,e1=4433/8192,e2=6270/8192,d0=2446/8192,d1=4176/8192,d2=-20996/8192,d3=12300/8192,d4=-7373/8192,d6=-16069/8192,d7=-3197/8192,d8=9633/8192,使得矩陣E中的元素和對(duì)A和作二維理論離散余弦正變換的結(jié)果F中的元素的差的絕對(duì)值不大于3。
上述實(shí)施例用來解釋說明本發(fā)明,而不是對(duì)本發(fā)明進(jìn)行限制,在本發(fā)明的精神和權(quán)利要求的保護(hù)范圍內(nèi),對(duì)本發(fā)明作出的任何修改和改變,都落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種運(yùn)用于圖像編碼和視頻編碼的離散余弦變換的方法,其特征在于離散余弦反變換過程采用或包含離散余弦反變換蝶形結(jié)構(gòu);離散余弦反變換蝶形結(jié)構(gòu)對(duì)其輸入數(shù)據(jù)處理的過程由下面或與下面等價(jià)的式子表示a0=y(tǒng)7+y3,a1=y(tǒng)5+y1,b0=y(tǒng)0+y4,b1=y(tǒng)0-y4,b2=αy2-βy6,b3=βy2+αy6,b4=κy7+λy1,b7=κy1-λy7,b5=μy5+vy3,b6=μy3-vy5,b8=δa1-γa0,b9=δa0+γa1,c0=b0+b3,c3=b0-b3,c1=b1+b2,c2=b1-b2,c4=b8-b4,c5=b9-b5,c6=b6+b8,c7=b7+b9,x0=c0+c7,x7=c0-c7,x1=c1+c6,x6=c1-c6,x2=c2+c5,x5=c2-c5,x3=c3+c4,x4=c3-c4,其中y0、y1、y2、y3、y4、y5、y6、y7為離散余弦反變換蝶形結(jié)構(gòu)的輸入,x0、x1、x2、x3、x4、x5、x6、x7為離散余弦反變換蝶形結(jié)構(gòu)的輸出,α、β、κ、λ、μ、v、δ、γ為離散余弦反變換蝶形結(jié)構(gòu)中預(yù)先設(shè)定的乘法器參數(shù),a0、a1、b0、b1、b2、b3、b4、b5、b6、b7、b8、b9、c0、c1、c2、c3、c4、c5、c6、c7為離散余弦反變換蝶形結(jié)構(gòu)中的中間變量;或者通過對(duì)離散余弦反變換蝶形結(jié)構(gòu)中的一個(gè)或多個(gè)輸入、中間數(shù)據(jù)、輸出數(shù)據(jù)進(jìn)行取反,或/并對(duì)離散余弦反變換蝶形結(jié)構(gòu)中的一個(gè)或多個(gè)減法器用加法器實(shí)現(xiàn),或/并對(duì)離散余弦反變換蝶形結(jié)構(gòu)中的一個(gè)或多個(gè)加法器用減法器實(shí)現(xiàn)。
2.根據(jù)權(quán)利要求1中所述的運(yùn)用于圖像編碼和視頻編碼的離散余弦變換的方法,其特征在于離散余弦反變換蝶形結(jié)構(gòu)中的一個(gè)、兩個(gè)或三個(gè)兩輸入四乘法結(jié)構(gòu)用等價(jià)的兩輸入三乘法結(jié)構(gòu)代替;兩輸入三乘法結(jié)構(gòu)中的乘法參數(shù)由兩輸入四乘法結(jié)構(gòu)中的乘法參數(shù)計(jì)算得到;即對(duì)于o1=±m(xù)1i1±m(xù)2i2,o2=±m(xù)2i1±m(xù)1i2,用o1=±m(xù)3i1±m(xù)4(i1+i2),o2=±m(xù)5i2±m(xù)4(i1+i2)代替,其中i1、i2為兩輸入四乘法結(jié)構(gòu)和兩輸入三乘法結(jié)構(gòu)的輸入,o1、o2為兩輸入四乘法結(jié)構(gòu)和兩輸入三乘法結(jié)構(gòu)的輸出。
3.根據(jù)權(quán)利要求1中所述的運(yùn)用于圖像編碼和視頻編碼的離散余弦變換的方法,其特征在于還包括離散余弦反變換蝶形結(jié)構(gòu)中的乘法器參數(shù)如下α=cos(3π/8),β=sin(3π/8),γ=cos(5π/16),δ=sin(5π/16),κ=(cos(π/16)-cos(5π/16)),λ=(sin(5π/16)-sin(π/16)),μ=(cos(5π/16)-sin(π/16)),ν=(cos(π/16)+sin(5π/16))。
4.根據(jù)權(quán)利要求1中所述的運(yùn)用于圖像編碼和視頻編碼的離散余弦變換的方法,其特征在于還包括采用該離散余弦反變換蝶形結(jié)構(gòu)進(jìn)行一維離散余弦反變換,離散余弦反變換蝶形結(jié)構(gòu)中的乘法器參數(shù)為預(yù)先設(shè)定的參數(shù),使得將離散余弦反變換的輸入1×8或8×1矩陣A1i作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,離散余弦反變換蝶形結(jié)構(gòu)的輸出為1×8或8×1矩陣B1i,矩陣b1i中的元素和對(duì)矩陣A1i作一維理論離散余弦反變換得到的1×8或8×1矩陣C1i中的元素的差的絕對(duì)值不大于1;采用該離散余弦反變換蝶形結(jié)構(gòu)進(jìn)行二維離散余弦反變換,離散余弦反變換蝶形結(jié)構(gòu)中的乘法器參數(shù)為預(yù)先設(shè)定的參數(shù),使得將離散余弦反變換的輸入8×8矩陣A2i的行或列依次作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的行或列得到8×8中間矩陣B2i,再將矩陣B2i的列或行依次作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的列或行得到8×8矩陣c2i,矩陣C2i中的元素和對(duì)矩陣A2i作二維理論離散余弦反變換得到的8×8矩陣D2i中的元素的差的絕對(duì)值不大于1。
5.根據(jù)權(quán)利要求1中所述的運(yùn)用于圖像編碼和視頻編碼的離散余弦變換的方法,其特征在于還包括采用該離散余弦反變換蝶形結(jié)構(gòu)進(jìn)行一維離散余弦反變換,離散余弦反變換蝶形結(jié)構(gòu)中的乘法器參數(shù)為預(yù)先設(shè)定的參數(shù),使得離散余弦反變換過程先對(duì)輸入的1×8或8×1矩陣A1i進(jìn)行預(yù)處理得到1×8或8×1矩陣B1i,將矩陣B1i作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,離散余弦反變換蝶形結(jié)構(gòu)的輸出為1×8或8×1矩陣C1i,再對(duì)矩陣C1i進(jìn)行后處理得到1×8或8×1矩陣D1i,矩陣D1i中的元素和對(duì)A作二維理論離散余弦反變換的結(jié)果E1i中的元素的差的絕對(duì)值不大于1;采用該離散余弦反變換蝶形結(jié)構(gòu)進(jìn)行二維離散余弦反變換,離散余弦反變換蝶形結(jié)構(gòu)中的乘法器參數(shù)為預(yù)先設(shè)定的參數(shù),使得離散余弦反變換過程先對(duì)輸入的8×8矩陣A2i進(jìn)行預(yù)處理得到8×8矩陣B2i,對(duì)矩陣B2i的行或列依次作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的行或列得到8×8中間矩陣C2i,再將矩陣C2i的列或行依次作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的列或行得到8×8矩陣C2i;再對(duì)矩陣D2i進(jìn)行后處理得到8×8矩陣E2i,矩陣E2i中的元素和對(duì)A2i作二維理論離散余弦反變換的結(jié)果F2i中的元素的差的絕對(duì)值不大于1。
6.一種運(yùn)用于圖像編碼和視頻編碼的離散余弦變換的方法,其特征在于離散余弦正變換過程采用或包含離散余弦正變換蝶形結(jié)構(gòu);離散余弦正變換蝶形結(jié)構(gòu)對(duì)其輸入數(shù)據(jù)處理的過程由下面或與下面等價(jià)的式子表示a0=x0+x7,a7=x0-x7,a1=x1+x6,a6=x1-x6,a2=x2+x5,a5=x2-x5,a3=x3+x4,a4=x3-x4,b0=a0+a3,b3=a0-a3,b1=a1+a2,b2=a1-a2,b4=a4+a6,b5=a5+a7,c0=b0+b1,c1=b0-b1,c2=αb2-βb3,c3=βb2+αb3,c4=κa4+λa7,c7=κa7-λa4,c5=μa5+νa6,c6=μa6-νa5,c8=δb5-γb4,c9=γb5+δb4,y0=c0,y4=c1,y2=c2,y6=c3,y7=c8-c4,y5=c9-c5,y3=c6+c8,y1=c7+y9,其中x0、x1、x2、x3、x4、x5、x6、x7為離散余弦正變換蝶形結(jié)構(gòu)的輸入,y0、y1、y2、y3、y4、y5、y6、y7為離散余弦正變換蝶形結(jié)構(gòu)的輸出,α、β、κ、λ、μ、ν、δ、γ為離散余弦正變換蝶形結(jié)構(gòu)中預(yù)先設(shè)定的乘法器參數(shù),a0、a1、a2、a3、a4、a5、a6、a7、b0、b1、b2、b3、b4、b5、c0、c1、c2、c3、c4、c5、c6、c7、c8、c9為離散余弦正變換過程中的中間變量;或者通過對(duì)離散余弦正變換蝶形結(jié)構(gòu)中的一個(gè)或多個(gè)輸入、中間數(shù)據(jù)、輸出數(shù)據(jù)進(jìn)行取反,或/并對(duì)離散余弦正變換蝶形結(jié)構(gòu)中的一個(gè)或多個(gè)減法器用加法器實(shí)現(xiàn),或/并對(duì)離散余弦正變換蝶形結(jié)構(gòu)中的一個(gè)或多個(gè)加法器用減法器實(shí)現(xiàn)。
7.根據(jù)權(quán)利要求6中所述的運(yùn)用于圖像編碼和視頻編碼的離散余弦變換的方法,其特征在于離散余弦正變換蝶形結(jié)構(gòu)中的一個(gè)、兩個(gè)或三個(gè)兩輸入四乘法結(jié)構(gòu)用兩輸入三乘法結(jié)構(gòu)代替;兩輸入三乘法結(jié)構(gòu)中的乘法參數(shù)由兩輸入四乘法結(jié)構(gòu)中的乘法參數(shù)計(jì)算得到;即對(duì)于o1=±m(xù)1i1±m(xù)2i2,o2=±m(xù)2i1±m(xù)1i2,用o1=±m(xù)3i1±m(xù)4(i1+i2),o2=±m(xù)5i2±m(xù)4(i1+i2)代替,其中i1、i2為兩輸入四乘法結(jié)構(gòu)和兩輸入三乘法結(jié)構(gòu)的輸入,o1、o2為兩輸入四乘法結(jié)構(gòu)和兩輸入三乘法結(jié)構(gòu)的輸出。
8.根據(jù)權(quán)利要求6中所述的運(yùn)用于圖像編碼和視頻編碼的離散余弦變換的方法,其特征在于還包括離散余弦正變換蝶形結(jié)構(gòu)中的乘法器參數(shù)如下α=cos(3π/8),β=sin(3π/8),γ=cos(5π/16),δ=sin(5π/16),κ=(cos(π/16)-cos(5π/16)),λ=(sin(5π/16)-sin(π/16)),μ=(cos(5π/16)-sin(π/16)),ν=(cos(π/16)+sin(5π/16))。
9.根據(jù)權(quán)利要求6中所述的運(yùn)用于圖像編碼和視頻編碼的離散余弦變換的方法,其特征在于還包括采用該離散余弦反變換蝶形結(jié)構(gòu)進(jìn)行一維離散余弦正變換,離散余弦正變換蝶形結(jié)構(gòu)中的乘法器參數(shù)為預(yù)先設(shè)定的參數(shù),使得將離散余弦正變換的輸入1×8或8×1矩陣A1f作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,離散余弦反變換蝶形結(jié)構(gòu)的輸出為1×8或8×1矩陣B1f,矩陣B1f中的元素和對(duì)矩陣A1f作一維理論離散余弦正變換得到的1×8或8×1矩陣C1f中的元素的差的絕對(duì)值不大于3;采用該離散余弦反變換蝶形結(jié)構(gòu)進(jìn)行二維離散余弦正變換,離散余弦正變換蝶形結(jié)構(gòu)中的乘法器參數(shù)為預(yù)先設(shè)定的參數(shù),使得將離散余弦正變換的輸入8×8矩陣A2f的行或列依次作為離散余弦反變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的行或列得到8×8中間矩陣B2f,再將矩陣B2f的列或行依次作為離散余弦正變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的列或行得到8×8矩陣C2f,矩陣C2f中的元素和對(duì)矩陣A2f作二維理論離散余弦正變換得到的8×8矩陣D2f中的元素的差的絕對(duì)值不大于3。
10.根據(jù)權(quán)利要求6中所述的運(yùn)用于圖像編碼和視頻編碼的離散余弦變換的方法,其特征在于還包括采用該離散余弦正變換蝶形結(jié)構(gòu)進(jìn)行一維離散余弦正變換,離散余弦正變換蝶形結(jié)構(gòu)中的乘法器參數(shù)為預(yù)先設(shè)定的參數(shù),使得離散余弦正變換過程先對(duì)輸入的1×8或8×1矩陣A1f進(jìn)行預(yù)處理得到1×8或8×1矩陣B1f,將矩陣B1f作為離散余弦正變換蝶形結(jié)構(gòu)的輸入,離散余弦正變換蝶形結(jié)構(gòu)的輸出為1×8或8×1矩陣C1f,再對(duì)矩陣C1f進(jìn)行后處理得到1×8或8×1矩陣D1f,矩陣D1f中的元素和對(duì)A1f作二維理論離散余弦反變換的結(jié)果E1f中的元素的差的絕對(duì)值不大于3;采用該離散余弦反變換蝶形結(jié)構(gòu)進(jìn)行二維離散余弦反變換,離散余弦正變換蝶形結(jié)構(gòu)中的乘法器參數(shù)為預(yù)先設(shè)定的參數(shù),使得離散余弦正變換過程先對(duì)輸入的8×8矩陣A2f進(jìn)行預(yù)處理得到8×8矩陣B2f,對(duì)矩陣B2f的行或列依次作為離散余弦正變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的行或列得到8×8中間矩陣C2f,再將矩陣C2f的列或行依次作為離散余弦正變換蝶形結(jié)構(gòu)的輸入,輸出作為相應(yīng)的列或行得到8×8矩陣D2f;再對(duì)矩陣D2f進(jìn)行后處理得到8×8矩陣E2f,矩陣E2f中的元素和對(duì)A2f作二維理論離散余弦正變換的結(jié)果F2f中的元素的差的絕對(duì)值不大于3。
全文摘要
本發(fā)明公開了一種運(yùn)用于圖像編碼和視頻編碼的離散余弦變換的方法。該方法通過采用兩輸入四乘法結(jié)構(gòu)代替兩輸入三乘法結(jié)構(gòu),使得具有相同輸入的乘法器能夠聯(lián)合實(shí)現(xiàn),同時(shí),可以把兩輸入四乘法結(jié)構(gòu)相同的因子提取到蝶形結(jié)構(gòu)外進(jìn)行預(yù)處理或/和后處理,有效地降低了實(shí)現(xiàn)離散余弦變換所需的位寬和運(yùn)算操作次數(shù),而精度和現(xiàn)有技術(shù)相當(dāng)。本發(fā)明可以用于圖像編碼和視頻編碼相關(guān)的領(lǐng)域中。
文檔編號(hào)H04N7/30GK1889690SQ20061005241
公開日2007年1月3日 申請(qǐng)日期2006年7月12日 優(yōu)先權(quán)日2006年7月12日
發(fā)明者虞露, 張賜勛 申請(qǐng)人:浙江大學(xué)