專利名稱:利用數(shù)字信號處理器實現(xiàn)小波視頻編碼和解碼的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種利用數(shù)字信號處理器實現(xiàn)小波視頻編碼和解碼的方法,屬于視頻信號的編碼解碼技術(shù)領(lǐng)域。
現(xiàn)在,小波變換已經(jīng)作為JPEG2000的國際標(biāo)準(zhǔn),廣泛應(yīng)用于JEPG2000、MPEG4的靜態(tài)紋理信息壓縮和醫(yī)學(xué)圖像壓縮等領(lǐng)域。但是,由于小波變換編碼算法目前還處在不斷發(fā)展之中,并且小波壓縮通常是針對整幀圖像進(jìn)行的,在硬件實現(xiàn)中對硬件的處理速度和存儲器要求很苛刻,給硬件的實時實現(xiàn)帶來了困難,因此小波變換在產(chǎn)品中使用較少,特別是硬件實現(xiàn)方面更少。
本發(fā)明的目的是這樣實現(xiàn)的一種利用數(shù)字信號處理器實現(xiàn)小波視頻編碼和解碼的方法,其特征在于該方法由兩部分組成在發(fā)送端,(A)對輸入的原始圖像數(shù)據(jù)進(jìn)行整型小波變換;(B)對整型小波變換后產(chǎn)生的系數(shù)進(jìn)行無鏈表層次樹集合劃分的圖像(NL_SPIHT,No ListSet Partitioning in Hierarchical Trees)編碼;(C)在編碼后生成的數(shù)據(jù)碼流中插入控制信息,再按幀輸出到信道上傳輸;在接收端,(D)接收發(fā)送端發(fā)送的碼流,并按幀分離和從編碼碼流中分離出其他控制信息,再把編碼碼流傳送給NL_SPIHT解碼部分;(E)對接收后的碼流順序進(jìn)行NL_SPIHT解碼;(F)對解碼后的數(shù)據(jù)進(jìn)行整型小波逆變換,得到還原的圖像數(shù)據(jù)送去顯示。
所述的在發(fā)送端步驟(A)中對圖像數(shù)據(jù)順序進(jìn)行整型小波變換是指對圖像進(jìn)行四層二維Daubechies(5,3)小波變換。
所述的四層二維Daubechies(5,3)小波變換被分割成多個一維整型小波行變換和一維整型小波列變換,在小波變換過程中,把一維整型小波行/列變換的數(shù)據(jù)結(jié)構(gòu)存儲在數(shù)字信號處理器的內(nèi)部存儲器,采用較小的片內(nèi)緩沖區(qū)一次處理部分圖像數(shù)據(jù)。
所述的一維整型小波行變換和一維整型小波列變換是交叉穿插進(jìn)行的,即在完成部分行數(shù)據(jù)的行變換之后,接著在這些數(shù)據(jù)上進(jìn)行列變換;而不是在行變換全部完成后,再做列變換;這樣做的目的是避免大量數(shù)據(jù)在數(shù)字信號處理器的外部存儲器、內(nèi)部存儲器和高速緩存之間進(jìn)行頻繁交換。
所述的被分割成的一維整型小波行變換和一維整型小波列變換的算法如下sl(0)=s2l]]>dl(0)=s2l+1]]>dl(1)=dl(0)+α(sl(0)+sl+1(0))]]>sl(1)=sl(0)+β(dl(1)+dl-1(1))]]>sl=k·sl(1)]]>dl=dl(1)/k]]>式中si(0)為圖像信號的偶數(shù)樣本,dl(0)為圖像信號的奇數(shù)樣本,sl為變換后的偶數(shù)樣本,dl為變換后的奇數(shù)樣本;小波變換系數(shù)α=-0.5、β=0.25,伸縮變換系數(shù)k的取值范圍是[1.2,1.8]。
所述的一維小波變換算法包括有下列操作步驟(其中變換的奇偶系數(shù)共有2×(k+1)個,數(shù)據(jù)邊界采用對稱延拓);(A1)分別對行和列信號進(jìn)行Lazy變換,分成偶數(shù)樣本(s0(0),s1(0),s2(0)......sk(0))和奇數(shù)樣本(d0(0),d1(0),d2(0)......dk(0));(A2)將每兩個相鄰的偶數(shù)樣本相加的和(si(0)+si+1(0))分別乘以小波變換參數(shù)α,再將得到的積與中間的奇數(shù)樣本di(0)相加,生成新的奇數(shù)樣本di(1);(A3)將每兩個新生成的相鄰的奇數(shù)樣本相加的和(di(1)+di-1(1))分別乘以小波變換參數(shù)β,再將得到的積與中間的偶數(shù)樣本si(0)相加,生成新的偶數(shù)樣本si(1);(A4)將每個偶數(shù)樣本si(1)乘以伸縮變換系數(shù)k;(A5)將每個奇數(shù)樣本di(1)除以伸縮變換系數(shù)k。
所述的在發(fā)送端步驟(B)中對小波系數(shù)進(jìn)行NL_SPIHT編碼過程包括有下列步驟(B1)程序的初始化部分對程序所用到的數(shù)據(jù)結(jié)構(gòu)進(jìn)行初始化,包括將小波系數(shù)的符號和絕對值分離,初始化表示非重要象素LIP、重要象素LSP和非重要集合LIS的三個狀態(tài)數(shù)組;(B2)位平面的細(xì)化部分將在當(dāng)前位平面上已經(jīng)成為重要象素的點細(xì)化輸出;同時輸出相應(yīng)的比特信息;(B3)集合的分裂排序部分將非重要象素集合按照零樹分裂的算法重新分裂為非重要集合、非重要象素和重要象素,同時輸出相應(yīng)的比特信息;(B4)變長碼編碼部分對步驟(B2)和(B3)輸出的比特信息進(jìn)行拼接,并形成最終的碼流。
所述的在發(fā)送端步驟(B)中對小波系數(shù)進(jìn)行NL_SPIHT編碼中用二維數(shù)組表示編碼過程的狀態(tài)值。
所述的用于表示編碼過程的狀態(tài)值的二維數(shù)組的每一個分量,用不同比特位分別表示編碼過程中的不同狀態(tài)。
所述的在接收端步驟(E)中,對接收后的碼流順序進(jìn)行NL_SPIHT解碼過程是發(fā)送端步驟(B)對小波系數(shù)進(jìn)行NL_SPIHT編碼過程的逆過程,包括有下列步驟(E1)程序的初始化部分對程序所用到的數(shù)據(jù)結(jié)構(gòu)進(jìn)行初始化,包括將小波系數(shù)的符號和絕對值分離,初始化表示非重要象素LlP、重要象素LSP和非重要集合LIS的三個狀態(tài)數(shù)組;(E2)位平面的細(xì)化部分從碼流中按比特輸入信息,根據(jù)這些信息在當(dāng)前位平面上做細(xì)化;(E3)集合的分裂排序部分從碼流中輸入信息比特,根據(jù)這些信息將非重要象素集合按照零樹分裂的算法重新分裂為非重要集合、非重要象素和重要象素。
所述的在接收端步驟(F)中對中對解碼后的數(shù)據(jù)碼流進(jìn)行小波逆變換是指對圖像進(jìn)行四層二維Daubechies(5,3)小波逆變換。
所述的在接收端步驟(F)中對解碼后的數(shù)據(jù)碼流進(jìn)行的四層二維小波逆變換被分割成多個一維整型小波行逆變換和一維整型小波列逆變換;在小波逆變換過程中,把一維整型小波行/列逆變換的數(shù)據(jù)結(jié)構(gòu)存儲在數(shù)字信號處理器的內(nèi)部存儲器,采用較小的片內(nèi)緩沖區(qū)一次處理部分圖像數(shù)據(jù)。
所述的被分割的一維整型小波行逆變換和一維整型小波列逆變換的算法是dl(1)=κ·dl]]>sl(1)=sl/κ]]>sl(0)=sl(1)-β(dl(1)+dl-1(1))]]>dl(0)=dl(1)-α(sl(0)+sl+1(0))]]>x2l+1=dl(0)]]>s2l=sl(0)]]>式中dl信號的高頻樣本,sl信號的低頻樣本,dl(1)為經(jīng)伸縮變換后的高頻樣本,sl(1)為經(jīng)伸縮變換后的高頻樣本,α、13為小波變換系數(shù),sl(0)為變換后的高頻樣本,dl(0)為變換后的低頻樣本;小波變換系數(shù)α=-0.5、β=0.25,伸縮變換系數(shù)k的取值范圍是[1.2,1.8]。
所述的一維小波行逆變換和一維小波列逆變換算法包括有下列操作步驟(F1)按低頻樣本(s0,s1,s2.....sk)和高頻樣本(d0,d1,d2......dk)分別在一維數(shù)組中存放小波變換的系數(shù);(F2)將每個高頻樣本di(j=0.....k)分別乘以伸縮變換系數(shù)k;(F3)將每個低頻樣本si(i=0......k)分別除以伸縮變換系數(shù)k;(F4)將每兩個相鄰的高頻樣本相加的和(di(1)+di-1(1))乘以小波變換參數(shù)-β,再將得到的積與中間的低頻樣本si(1)相加,生成新的低頻樣本si(0);(F5)將每兩個新生成的相鄰的低頻樣本相加的和(si(0)+si-1(0))分別乘以小波變換參數(shù)-α,再將得到的積與中間的高頻樣本di(1)相加,生成新的高頻樣本di(0)。
本發(fā)明的主要技術(shù)特點是采用目前視頻壓縮領(lǐng)域比較先進(jìn)的整型小波變換、NL SPIHT算法對視頻數(shù)據(jù)進(jìn)行了適合于硬件化的改造,可以在較大的壓縮比下仍然保持較好的圖像質(zhì)量,徹底消除了方塊效應(yīng)對圖像的主觀質(zhì)量造成的影響。另外,由于沒有采用運(yùn)算量巨大的運(yùn)動估計和補(bǔ)償,本發(fā)明算法的運(yùn)算量較小,在通用的數(shù)字信號處理器上就可以實現(xiàn)實時的視頻序列的壓縮與解壓。其中整型小波運(yùn)算時需要處理的圖像數(shù)據(jù)量較大,不能全部放到數(shù)字信號處理器的片內(nèi)存貯區(qū),而片外運(yùn)算的效率較低,因此,本發(fā)明的整型小波變換是在較小的片內(nèi)緩沖區(qū)一次最多處理四行或者四列圖像數(shù)據(jù),以提高執(zhí)行效率。而對小波運(yùn)算前后的數(shù)據(jù)在片內(nèi)和片外存貯區(qū)之間的搬運(yùn),本發(fā)明是采用Lazy變換和矩陣的行列轉(zhuǎn)置完成的,它們均是使用數(shù)字信號處理器的快速直接存儲器訪問完成的,搬運(yùn)速度快,且不占用處理器的處理時間。另外,本發(fā)明將單一的二維整型小波變換函數(shù)分割成多個一維小波變換函數(shù),使操作更加靈活。并且,針對不同的圖像格式(例如720×288、480×320)將二維圖像整型小波變換轉(zhuǎn)換為一維整型小波變換,并在片內(nèi)進(jìn)行一維小波計算和設(shè)計了相應(yīng)的片內(nèi)臨時矩陣。而且借鑒一維整型小波變換的實現(xiàn),使二維整型小波的行列變換集成同步進(jìn)行,避免了以前先做完所有的行(列)變換,然后才開始做列(行)變換所造成的時間浪費(fèi)。
在NL_SPIHT算法方面,本發(fā)明以二維數(shù)組取代鏈表結(jié)構(gòu)來實現(xiàn)數(shù)據(jù)結(jié)構(gòu),將不規(guī)則的存儲結(jié)構(gòu)改變?yōu)橐?guī)則有序的存儲結(jié)構(gòu),大大提高了在數(shù)字信號處理器中執(zhí)行算法的效率。再者,用非常少的空間表示重要象素、非重要象素和非重要集合等狀態(tài)位,大大減少了系統(tǒng)存儲量,提高了數(shù)字信號處理器中高速緩存的命中率,也提高了算法執(zhí)行速度。此外,將NL_SPIHT的比特輸出與碼流拼接分離,對NL_SPIHT的比特輸出先保存為變長碼,然后通過專門函數(shù)拼接這些變長碼,大大降低了變換和編碼循環(huán)的復(fù)雜性,提高了程序處理的效率和并行度。
本發(fā)明在小波變換和NL_SPIHT編碼過程中,大量使用數(shù)字信號處理器的快速直接存儲器訪問(qdma)硬件獨(dú)立完成片外和片內(nèi)的數(shù)據(jù)處理任務(wù),使大多數(shù)的數(shù)據(jù)搬運(yùn)和變換運(yùn)算(包括數(shù)據(jù)的拷貝,小波變換前的Lazy變換,小波行變換后的行列轉(zhuǎn)置等)操作都是同時進(jìn)行的。
小波視頻壓縮變換中有一個伸縮變換參數(shù)K,其作用主要是使低頻系數(shù)值得到拉伸,高頻系數(shù)值得到縮短,從而拉大高低頻系數(shù)的差距和優(yōu)化系數(shù)的分布,為其后的編碼提供良好的編碼結(jié)構(gòu)。因此,它的數(shù)值在硬件設(shè)計中頗為關(guān)鍵。本發(fā)明對此作了大量的數(shù)據(jù)試驗證明,在保證圖像質(zhì)量的前提下,在軟件應(yīng)用中,將伸縮變換系數(shù)k的取值范圍設(shè)置為[1.2,1.8],可以得到最大壓縮比。經(jīng)過多次試驗,本發(fā)明在保證圖像質(zhì)量的情況下,實現(xiàn)了較大倍數(shù)的壓縮比,且傳輸速率和圖像分辨率都可以根據(jù)需要在33kb/s~1024kb/s之間靈活調(diào)整。從目前軟件仿真測示的壓縮圖像效果來看,本發(fā)明的編碼效果與國際領(lǐng)先的realplayer和mediaplayer的效果基本相當(dāng)。
此外,由于本發(fā)明的視頻壓縮算法在設(shè)計伊始時就同步開展其硬件實現(xiàn)的研究,因此該算法除了能夠提供優(yōu)秀的圖像壓縮性能以外,另外一個重要特性是其可以獨(dú)立于PC平臺實現(xiàn),從而大大降低了系統(tǒng)成本,提高了系統(tǒng)靈活性。該特點也是本發(fā)明整型小波算法與國際上具有相同性能的壓縮技術(shù)(如realplayer、media player)相比的主要優(yōu)勢所在,該優(yōu)勢將在本發(fā)明的產(chǎn)業(yè)化過程中凸現(xiàn)出明顯的商業(yè)價值。基于本發(fā)明的算法,在硬件方面,在德州儀器C62系列數(shù)字信號處理器芯片基礎(chǔ)上開發(fā)出了小波視頻編解碼器件,利用該芯片,可以開發(fā)出720×288或480×320分辨率的視頻編碼解碼器;其性價比優(yōu)于目前市場上ADI公司的小波圖像壓縮專用芯片ADV601。
本發(fā)明的小波壓縮處理的核心器件是基于德州儀器公司的數(shù)字信號處理器C6X系列產(chǎn)品實現(xiàn)的,開發(fā)比較容易,成本也具有競爭力;同時由于編碼算法完全由軟件完成,因而具有很強(qiáng)的可擴(kuò)展性和靈活性。與同樣采用小波壓縮技術(shù)的ADI公司的專用芯片ADV601相比,根據(jù)本發(fā)明方法研制的壓縮模塊優(yōu)越性主要表現(xiàn)在低碼率壓縮時的圖像質(zhì)量大大優(yōu)于ADV601。因此,本發(fā)明在低比特率視頻編碼和靜態(tài)圖像壓縮編碼方面有很強(qiáng)的實用價值。
圖2是本發(fā)明方法中一維整型小波變換函數(shù)實現(xiàn)過程的示意圖。
圖3是本發(fā)明方法中NL_SPIHT編碼實現(xiàn)過程的流程圖。
圖4是本發(fā)明方法中NL_SSPIHT解碼實現(xiàn)過程的流程圖。
圖5是本發(fā)明方法中一維整型小波逆變換函數(shù)實現(xiàn)過程的示意圖。
參見圖2,本發(fā)明的一維整型小波變換函數(shù)的實現(xiàn)過程是對圖像數(shù)據(jù)運(yùn)用數(shù)字信號處理器的快速直接存儲器訪問(qdma)進(jìn)行奇偶分離,奇偶分離后的數(shù)據(jù)在循環(huán)內(nèi)進(jìn)行處理,產(chǎn)生整型小波變換系數(shù)。
參見圖3,本發(fā)明的NL_SPIHT編碼的實現(xiàn)過程是首先對程序初始化,然后在各個位平面內(nèi)對整型小波變換后產(chǎn)生的系數(shù)進(jìn)行位平面的細(xì)化過程和集合排序分裂過程,細(xì)化過程和集合排序分裂過程中輸出編碼的信息比特,在變長編碼/連接部分將這些信息比特連接為完整的碼流。
參見圖4,本發(fā)明的NL_SPIHT解碼的實現(xiàn)過程是首先對程序初始化,然后在各個位平面內(nèi),從輸入碼流中讀入信息,根據(jù)這些信息進(jìn)行位平面細(xì)化過程和集合分裂排序過程,做完所有位平面后,解碼結(jié)束。
參見圖5,本發(fā)明的一維整型小波逆變換函數(shù)的實現(xiàn)過程是對NL_SPIHT解碼后產(chǎn)生的數(shù)據(jù)的高頻和低頻分量通過快速直接存儲器訪問(qdma)分離,分離后的系數(shù)在循環(huán)內(nèi)處理,產(chǎn)生整型小波逆變換的系數(shù)。
權(quán)利要求
1.一種利用數(shù)字信號處理器實現(xiàn)小波視頻編碼和解碼的方法,其特征在于該方法由兩部分組成在發(fā)送端,(A)對輸入的原始圖像數(shù)據(jù)進(jìn)行整型小波變換;(B)對整型小波變換后產(chǎn)生的系數(shù)進(jìn)行無鏈表層次樹集合劃分的圖像(NL_SPIHT,No ListSet Partitioning in Hierarchical Trees)編碼;(C)在編碼后生成的數(shù)據(jù)碼流中插入控制信息,再按幀輸出到信道上傳輸;在接收端,(D)接收發(fā)送端發(fā)送的碼流,并按幀分離和從編碼碼流中分離出其他控制信息,再把編碼碼流傳送給NL_SPIHT解碼部分;(E)對接收后的碼流順序進(jìn)行NL_SPIHT解碼;(F)對解碼后的數(shù)據(jù)進(jìn)行整型小波逆變換,得到還原的圖像數(shù)據(jù)送去顯示。
2.根據(jù)權(quán)利要求1所述的實現(xiàn)小波視頻編碼和解碼的方法,其特征在于所述的在發(fā)送端步驟(A)中對圖像數(shù)據(jù)順序進(jìn)行整型小波變換是指對圖像進(jìn)行四層二維Daubechies(5,3)小波變換。
3.根據(jù)權(quán)利要求2所述的實現(xiàn)小波視頻編碼和解碼的方法,其特征在于所述的四層二維Daubechies(5,3)小波變換被分割成多個一維整型小波行變換和一維整型小波列變換,在小波變換過程中,把一維整型小波行/列變換的數(shù)據(jù)結(jié)構(gòu)存儲在數(shù)字信號處理器的內(nèi)部存儲器,采用較小的片內(nèi)緩沖區(qū)一次處理部分圖像數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的實現(xiàn)小波視頻編碼和解碼的方法,其特征在于所述的一維整型小波行變換和一維整型小波列變換是交叉穿插進(jìn)行的,即在完成部分行數(shù)據(jù)的行變換之后,接著在這些數(shù)據(jù)上進(jìn)行列變換;而不是在行變換全部完成后,再做列變換。
5.根據(jù)權(quán)利要求3所述的實現(xiàn)小波視頻編碼和解碼的方法,其特征在于所述的被分割成的一維整型小波行變換和一維整型小波列變換的算法如下sl(0)=s2l]]>dl(0)=s2l+1]]>dl(1)=dl(0)+α(sl(0)+sl+1(0))]]>sl(1)=sl(0)+β(dl(1)+dl-1(1))]]>sl=k·sl(1)]]>dl=dl(1)/k]]>式中sl(0)為圖像信號的偶數(shù)樣本,dl(0)為圖像信號的奇數(shù)樣本,sl為變換后的偶數(shù)樣本,dl為變換后的奇數(shù)樣本;小波變換系數(shù)α=-0.5、β=0.25,伸縮變換系數(shù)k的取值范圍是[1.2,1.8]。
6.根據(jù)權(quán)利要求5所述的實現(xiàn)小波視頻編碼和解碼的方法,其特征在于所述的一維小波變換算法包括有下列操作步驟(其中變換的奇偶系數(shù)共有2×(k+1)個,數(shù)據(jù)邊界采用對稱延拓)(A1)分別對行和列信號進(jìn)行Lazy變換,分成偶數(shù)樣本(s0(0),s1(0),s2(0)......sk(0))和奇數(shù)樣本(d0(0),d1(0),d2(0)......dk(0));(A2)將每兩個相鄰的偶數(shù)樣本相加的和(si(0)+si+1(0))分別乘以小波變換參數(shù)α,再將得到的積與中間的奇數(shù)樣本di(0)相加,生成新的奇數(shù)樣本di(1);(A3)將每兩個新生成的相鄰的奇數(shù)樣本相加的和(di(1)+di-1(1))分別乘以小波變換參數(shù)β,再將得到的積與中間的偶數(shù)樣本si(0)相加,生成新的偶數(shù)樣本si(1);(A4)將每個偶數(shù)樣本si(1)乘以伸縮變換系數(shù)k;(A5)將每個奇數(shù)樣本di(1)除以伸縮變換系數(shù)k。
7.根據(jù)權(quán)利要求1所述的實現(xiàn)小波視頻編碼和解碼的方法,其特征在于所述的在發(fā)送端步驟(B)中對小波系數(shù)進(jìn)行NL_SPIHT編碼過程包括有下列步驟(B1)程序的初始化部分對程序所用到的數(shù)據(jù)結(jié)構(gòu)進(jìn)行初始化,包括將小波系數(shù)的符號和絕對值分離,初始化表示非重要象素LIP、重要象素LSP和非重要集合LIS的三個狀態(tài)數(shù)組;(B2)位平面的細(xì)化部分將在當(dāng)前位平面上已經(jīng)成為重要象素的點細(xì)化輸出;同時輸出相應(yīng)的比特信息;(B3)集合的分裂排序部分將非重要象素集合按照零樹分裂的算法重新分裂為非重要集合、非重要象素和重要象素,同時輸出相應(yīng)的比特信息;(B4)變長碼編碼部分對步驟(B2)和(B3)輸出的比特信息進(jìn)行拼接,并形成最終的碼流。
8.根據(jù)權(quán)利要求1所述的實現(xiàn)小波視頻編碼和解碼的方法,其特征在于所述的在發(fā)送端步驟(B)中對小波系數(shù)進(jìn)行NL-SPIHT編碼中用二維數(shù)組表示編碼過程的狀態(tài)值。
9.根據(jù)權(quán)利要求8所述的實現(xiàn)小波視頻編碼和解碼的方法,其特征在于所述的用于表示編碼過程的狀態(tài)值的二維數(shù)組的每一個分量,用不同比特位分別表示編碼過程中的不同狀態(tài)。
10.根據(jù)權(quán)利要求1所述的實現(xiàn)小波視頻編碼和解碼的方法,其特征在于所述的在接收端步驟(E)中,對接收后的碼流順序進(jìn)行NL_SPIHT解碼過程是發(fā)送端步驟(B)對小波系數(shù)進(jìn)行NL_SPIHT編碼過程的逆過程,包括有下列步驟(E1)程序的初始化部分對程序所用到的數(shù)據(jù)結(jié)構(gòu)進(jìn)行初始化,包括將小波系數(shù)的符號和絕對值分離,初始化表示非重要象素LIP、重要象素LSP和非重要集合LIS的三個狀態(tài)數(shù)組;(E2)位平面的細(xì)化部分從碼流中按比特輸入信息,根據(jù)這些信息在當(dāng)前位平面上做細(xì)化;(E3)集合的分裂排序部分從碼流中輸入信息比特,根據(jù)這些信息將非重要象素集合按照零樹分裂的算法重新分裂為非重要集合、非重要象素和重要象素。
11.根據(jù)權(quán)利要求1所述的實現(xiàn)小波視頻編碼和解碼的方法,其特征在于所述的在接收端步驟(F)中對解碼后的數(shù)據(jù)碼流進(jìn)行小波逆變換是指對圖像進(jìn)行四層二維Daubechies(5,3)小波逆變換。
12.根據(jù)權(quán)利要求11所述的實現(xiàn)小波視頻編碼和解碼的方法,其特征在于所述的在接收端步驟(F)中對解碼后的數(shù)據(jù)碼流進(jìn)行的四層二維小波逆變換被分割成多個一維整型小波行逆變換和一維整型小波列逆變換;在小波逆變換過程中,把一維整型小波行/列逆變換的數(shù)據(jù)結(jié)構(gòu)存儲在數(shù)字信號處理器的內(nèi)部存儲器,采用較小的片內(nèi)緩沖區(qū)一次處理部分圖像數(shù)據(jù)。
13.根據(jù)權(quán)利要求12所述的實現(xiàn)小波視頻編碼和解碼的方法,其特征在于所述的被分割成的一維整型小波行逆變換和一維整型小波列逆變換的算法如下dl(1)=κ·dl]]>sl(1)=sl/κ]]>sl(0)=sl(1)-β(dl(1)+dl-1(1))]]>dl(0)=dl(1)-α(sl(0)+sl+1(0))]]>x2l+1=dl(0)]]>s2l=sl(0)]]>式中dl為信號的高頻樣本,sl為信號的低頻樣本,dl(1)為經(jīng)伸縮變換后的高頻樣本,sl(1)為經(jīng)伸縮變換后的高頻樣本,α、β為小波變換系數(shù),sl(0)為變換后的高頻樣本,dl(0)為變換后的低頻樣本;小波變換系數(shù)α=-0.5、β=0.25,伸縮變換系數(shù)k的取值范圍是[1.2,1.8]。
14.根據(jù)權(quán)利要求13所述的實現(xiàn)小波視頻編碼和解碼的方法,其特征在于所述的一維小波行逆變換和一維小波列逆變換算法包括有下列操作步驟(F1)按低頻樣本(s0,s1,s2......sk)和高頻樣本(d0,d1,d2......dk)分別在一維數(shù)組中存放小波變換的系數(shù);(F2)將每個高頻樣本di(i=0......k)分別乘以伸縮變換系數(shù)k;(F3)將每個低頻樣本si(i=0......k)分別除以伸縮變換系數(shù)k;(F4)將每兩個相鄰的高頻樣本相加的和(di(1)+di-1(1))乘以小波變換參數(shù)-β,再將得到的積與中間的低頻樣本si(1)相加,生成新的低頻樣本si(0);(F5)將每兩個新生成的相鄰的低頻樣本相加的和(si(0)+si-1(0))分別乘以小波變換參數(shù)-α,再將得到的積與中間的高頻樣本di(1)相加,生成新的高頻樣本di(0)。
全文摘要
一種利用數(shù)字信號處理器實現(xiàn)小波視頻編碼和解碼的方法,該方法由兩部分組成在發(fā)送端,(A)對輸入的原始圖像數(shù)據(jù)進(jìn)行整型小波變換;(B)對小波系數(shù)進(jìn)行層次樹集合劃分的圖像(NL_SPIHT,No List Set Partitioning in Hierarchical Trees)編碼;(C)在編碼后生成的數(shù)據(jù)碼流中插入控制信息,再按幀輸出到信道上傳輸;在接收端,(D)接收發(fā)送端發(fā)送的碼流,并按幀分離,從編碼碼流中分離出其他控制信息,再把編碼碼流傳送給NL SPIHT解碼部分;(E)對接收后的碼流順序進(jìn)行NL_SPIHT解碼;(F)對解碼后的數(shù)據(jù)進(jìn)行小波逆變換,得到還原的圖像數(shù)據(jù)送去顯示。該方法能在較低或甚低傳輸速率(32kb/s~1024kb/s)下,實現(xiàn)較高質(zhì)量的可靠的圖像壓縮,為各種視頻設(shè)備提供了較高性價比的視頻壓縮方案。
文檔編號G06T9/00GK1420692SQ02159499
公開日2003年5月28日 申請日期2002年12月31日 優(yōu)先權(quán)日2002年12月31日
發(fā)明者耿靜, 孫先濤, 陳小敬, 龐潼川 申請人:大唐電信科技股份有限公司