两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于數(shù)字信號處理器的整數(shù)小波變換方法

文檔序號:7710183閱讀:371來源:國知局
專利名稱:基于數(shù)字信號處理器的整數(shù)小波變換方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種小波變換方法,特別涉及一種基于數(shù)字信號處理器的整數(shù)小波變換方法。
然而在很多實(shí)際系統(tǒng)中,如數(shù)碼相機(jī)、可視電話、便攜式攝像機(jī)以及掌上電腦等,考慮到速度和面積的要求,需要用芯片實(shí)現(xiàn)壓縮系統(tǒng)。與傳統(tǒng)的分塊運(yùn)算的DCT比較,目前已有的2D DWT芯片結(jié)構(gòu)中并沒有充分利用小波變換的并行操作,雖然減小了控制復(fù)雜度,卻也減小了硬件利用率,增加了芯片成本。因此,研究小波變換的實(shí)時(shí)處理能力,是很有實(shí)用價(jià)值的。
對于二維圖像而言,傳統(tǒng)的小波變換方法是首先對圖像的全部行做行變換,之后,在行變換全部完成后再做列變換,如果要進(jìn)行多層的小波變換,則對上一次二維小波變換后的左上角1/4的低頻系數(shù),繼續(xù)進(jìn)行二維小波變換。運(yùn)算步驟與1、2相同,行列數(shù)各除以2,如果需要對小波系數(shù)進(jìn)行量化,則需要在所有小波變換層數(shù)結(jié)束后,對每個(gè)系數(shù)進(jìn)行量化操作。
可以看出,對于硬件實(shí)現(xiàn)而言,以上的操作有幾個(gè)很大的弊端1、運(yùn)算的并行度很差,每一個(gè)步驟之間都是順序執(zhí)行的。以二維圖像尺寸M×N,進(jìn)行一層小波變換為例,其中需要M次行變換循環(huán),需要N次列變換循環(huán),而每個(gè)行變換需要N/2次循環(huán),每個(gè)列變換需要M/2次循環(huán),共計(jì)(N/2)×M+(M/2)×N=M×N次循環(huán)。
2、運(yùn)算對整幅圖像進(jìn)行,而硬件DSP的內(nèi)存空間十分有限,當(dāng)圖像尺寸較大時(shí),只能將圖像數(shù)據(jù)放到片外的存儲空間中,使運(yùn)算速度大大降低。以CIF格式為例,一幅圖像的尺寸為352×288×2=198KB,而TI C6000 DSP的片內(nèi)RAM不能滿足需要,而當(dāng)圖像尺寸更大一些時(shí),這種內(nèi)存空間的不足就更為突出。
3、在一個(gè)二維圖像的小波變換中,一個(gè)系數(shù)需要被反復(fù)調(diào)用至少兩次(行濾波一次,列濾波一次),頻繁的片內(nèi)片外數(shù)據(jù)調(diào)度,使算法的執(zhí)行效率降低。
4、量化操作在小波變換完成后單獨(dú)執(zhí)行,需要M×N次循環(huán)操作,大大增加了運(yùn)算的執(zhí)行時(shí)間。
5、有很多小波變換的濾波器參數(shù)為浮點(diǎn)數(shù),而浮點(diǎn)數(shù)的運(yùn)算對硬件而言非常耗時(shí),影響了實(shí)時(shí)性的實(shí)現(xiàn)。
針對上述缺陷雖然也出現(xiàn)了一些改進(jìn),例如將小波變換的浮點(diǎn)運(yùn)算改為整數(shù)的提升運(yùn)算,用移位加運(yùn)算代替乘除運(yùn)算;采用公用子表達(dá)式技術(shù),將低通濾波器和高通濾波器操作中的公共項(xiàng)合并等方案,但這些改進(jìn)只是從計(jì)算式的角度提高了小波變換的運(yùn)算效率,并沒有從根本上解決小波變換在硬件實(shí)現(xiàn)上所遇到的整體運(yùn)算并行度低、耗內(nèi)存、數(shù)據(jù)重復(fù)調(diào)度等問題。
本發(fā)明提供一種基于數(shù)字信號處理器的整數(shù)小波正變換方法,包括如下步驟(1)將圖像數(shù)據(jù)劃分為若干個(gè)數(shù)據(jù)段;(2)對當(dāng)前數(shù)據(jù)段的行數(shù)據(jù)進(jìn)行行正變換;(3)對當(dāng)前數(shù)據(jù)段的列數(shù)據(jù)進(jìn)行列正變換;(4)對其他數(shù)據(jù)段重復(fù)步驟(2)、(3)。
一種基于數(shù)字信號處理器的整數(shù)小波反變換方法,包括如下步驟(1)將圖像數(shù)據(jù)劃分為若干個(gè)數(shù)據(jù)段;(2)對當(dāng)前數(shù)據(jù)段的列數(shù)據(jù)進(jìn)行列反變換;(3)對當(dāng)前數(shù)據(jù)段的行數(shù)據(jù)進(jìn)行行反變換;(4)對其他數(shù)據(jù)段重復(fù)步驟(2)、(3)。
本發(fā)明適用于內(nèi)存空間較小的具備并行處理能力的數(shù)字信號處理器,對原始圖像進(jìn)行實(shí)時(shí)整型小波正反變換,運(yùn)算速度比浮點(diǎn)運(yùn)算快,變換后的小波系數(shù)分布明顯優(yōu)于傳統(tǒng)的浮點(diǎn)小波變換。在變換的同時(shí)采取多種預(yù)選擇的量化系數(shù),在不增加運(yùn)算開銷和時(shí)間開銷的前提下,完成對小波系數(shù)的量化。這種方法便于硬件實(shí)現(xiàn),能運(yùn)用于很多低碼率的視頻傳輸系統(tǒng)等。
圖5是應(yīng)用本發(fā)明的小波列反變換運(yùn)算示意圖;圖6是應(yīng)用本發(fā)明的小波行反變換運(yùn)算示意圖。
將圖像劃分為若干個(gè)數(shù)據(jù)段的方式有很多種,對于小波正變換,可以將圖像數(shù)據(jù)劃分為多個(gè)大循環(huán),大循環(huán)的次數(shù)可以被圖像數(shù)據(jù)的行數(shù)整除;再將所述每個(gè)大循環(huán)中包含的每行數(shù)據(jù)劃分為多個(gè)小循環(huán),小循環(huán)的次數(shù)可以被所述圖像數(shù)據(jù)的列數(shù)整除。


圖1所示,即是本發(fā)明在編碼端的實(shí)施例流程圖,提供一種基于數(shù)字信號處理器的整數(shù)小波正變換方法,首先將圖像數(shù)據(jù)劃分為多個(gè)大循環(huán),大循環(huán)的次數(shù)可以被圖像數(shù)據(jù)的行數(shù)整除,例如,圖像數(shù)據(jù)的行列數(shù)均能被4整除,則可以將圖像數(shù)據(jù)的行數(shù)除以4(步驟101);然后將所述每個(gè)大循環(huán)中包含的每行數(shù)據(jù)劃分為多個(gè)小循環(huán),小循環(huán)的次數(shù)可以被所述圖像數(shù)據(jù)的列數(shù)整除,則可以將圖像數(shù)據(jù)的列數(shù)除以4(步驟102);將當(dāng)前大循環(huán)中包含的行數(shù)據(jù)分別做行正變換(步驟103);在所述行數(shù)據(jù)的行濾波完成后對其做列正變換(步驟104);然后重復(fù)步驟103、104,直至全部循環(huán)結(jié)束(步驟105)。
其中所述步驟103包括對當(dāng)前行數(shù)據(jù)做Lazy變換,將其中奇偶列的系數(shù)分開放置(也就是說先將所有的偶系數(shù)連續(xù)放置,然后在其后將所有的奇系數(shù)也連續(xù)放置);進(jìn)行一維小波變換,其中一維小波變換又包括奇數(shù)變換和偶數(shù)變換。
所述步驟104包括對各行同一列的數(shù)據(jù)做lazy變換,將其中奇偶行的系數(shù)分開放置;然后進(jìn)行一維小波變換,其中一維小波變換又包括奇數(shù)變換和偶數(shù)變換。
在所述小波正變換過程中,如果需要對小波系數(shù)進(jìn)行量化,則通過預(yù)設(shè)量化系數(shù)為2的冪,在小波變換的過程中同時(shí)完成量化。
所述小波正變換后的小波系數(shù)采用一個(gè)伸縮系數(shù)k進(jìn)行優(yōu)化,k=1.2~1.5,并可以將其改造成整數(shù)乘法和移位運(yùn)算。
所述的小波正變換是在片內(nèi)緩沖區(qū)內(nèi)完成的,而對變換前后的數(shù)據(jù)在片內(nèi)和片外存儲區(qū)之間的搬運(yùn),Lazy變換和矩陣的行列轉(zhuǎn)置,是使用數(shù)字信號處理器的快速直接存儲器訪問完成的。
相應(yīng)的,在解碼端,本發(fā)明提供一種基于數(shù)字信號處理器的整數(shù)小波反變換方法,首先將圖像數(shù)據(jù)劃分為若干個(gè)數(shù)據(jù)段,分別對當(dāng)前數(shù)據(jù)段的列數(shù)據(jù)進(jìn)行列反變換,然后對當(dāng)前數(shù)據(jù)段的行數(shù)據(jù)進(jìn)行行反變換,列行變換穿插進(jìn)行,直至處理完整個(gè)圖像數(shù)據(jù)。
同樣,劃分圖像的方式可以是通過將圖像數(shù)據(jù)劃分為多個(gè)大循環(huán),大循環(huán)的次數(shù)可以被圖像數(shù)據(jù)的列數(shù)整除;將所述每個(gè)大循環(huán)中包含的每列數(shù)據(jù)劃分為多個(gè)小循環(huán),小循環(huán)的次數(shù)可以被所述圖像數(shù)據(jù)的行數(shù)整除。
如圖2所示,即是本發(fā)明在解碼端的實(shí)施例流程圖,首先將圖像數(shù)據(jù)劃分為多個(gè)大循環(huán),大循環(huán)的次數(shù)可以被圖像數(shù)據(jù)的列數(shù)整除,例如,將所述圖像數(shù)據(jù)的列數(shù)除以4(步驟201);然后將所述每個(gè)大循環(huán)中包含的每列數(shù)據(jù)劃分為多個(gè)小循環(huán),小循環(huán)的次數(shù)可以被所述圖像數(shù)據(jù)的行數(shù)整除,例如是所述圖像數(shù)據(jù)的行數(shù)除以4(步驟202);將當(dāng)前大循環(huán)中包含的部分列數(shù)據(jù)分別做列反變換(步驟203);在所述部分列數(shù)據(jù)的列反變換完成后對其做行反變換(步驟204);重復(fù)步驟203、204,直至全部循環(huán)結(jié)束(步驟205)。
所述步驟203包括對各列數(shù)據(jù)做一維小波反變換,其中一維小波反變換又包括奇數(shù)反變換和偶數(shù)反變換;將經(jīng)過小波反變換之后的系數(shù)進(jìn)行反Lazy變換,將其中奇偶列的系數(shù)間隔放置(也就是恢復(fù)到原始圖像的放置位置,即奇偶奇偶的順序)。
所述步驟204包括對各列同一行數(shù)據(jù)做一維小波反變換,其中一維小波反變換又包括奇數(shù)反變換和偶數(shù)反變換;將經(jīng)過小波反變換之后的系數(shù)進(jìn)行反Lazy變換,將其中奇偶列的系數(shù)間隔放置。
在所述小波反變換過程中,如果需要對小波系數(shù)進(jìn)行反量化,則將反量化系數(shù)預(yù)設(shè)為1/(2的冪),在小波反變換的過程中同時(shí)完成反量化。
所述小波反變換后的小波系數(shù)采用一個(gè)伸縮系數(shù)k進(jìn)行優(yōu)化,k=1.2~1.5,并可以將其改造成整數(shù)乘法和移位運(yùn)算所述的小波反變換是在片內(nèi)緩沖區(qū)內(nèi)完成的,而對變換前后的數(shù)據(jù)在片內(nèi)和片外存儲區(qū)之間的搬運(yùn),Lazy變換和矩陣的行列轉(zhuǎn)置,是使用數(shù)字信號處理器的快速直接存儲器訪問完成的。
下面以二維圖像尺寸M×N,M和N均能被4整除,進(jìn)行一層整數(shù)雙正交Daubechies(5,3)小波變換為例,來進(jìn)一步說明本發(fā)明,但本發(fā)明不限于此實(shí)施例。
編碼端1、將圖像劃分為M/4個(gè)大循環(huán),每個(gè)大循環(huán)又包括N/4個(gè)小循環(huán)。
2、每個(gè)循環(huán)中對圖像的4~6行數(shù)據(jù)分別做行濾波首先對該行數(shù)據(jù)做lazy變換,將其中奇偶列的系數(shù)分開放置,然后進(jìn)行一維小波變換。其中一維小波變換又包括奇數(shù)變換和偶數(shù)變換。在小波變換的過程中同時(shí)完成量化。
2、對經(jīng)過步驟1小波變換運(yùn)算完成的4~6行數(shù)據(jù),同時(shí)進(jìn)行列濾波首先對各行同一列的數(shù)據(jù)做lazy變換,將其中奇偶行的系數(shù)分開放置,然后進(jìn)行一維小波變換。其中一維小波變換又包括奇數(shù)變換和偶數(shù)變換。在小波變換的過程中同時(shí)完成量化。
重復(fù)步驟2、3直到循環(huán)結(jié)束。
從硬件角度來說,程序的循環(huán)數(shù)越多,代碼的執(zhí)行就越不容易實(shí)現(xiàn)流水和并行,執(zhí)行效率很低。但是,如果循環(huán)數(shù)太少,那么在一個(gè)循環(huán)中所需耗費(fèi)的平均資源數(shù)(比如存儲空間等等)過多,計(jì)算量過于復(fù)雜,也會影響代碼執(zhí)行效率。因此,在本發(fā)明的實(shí)施例中,劃分為圖像行數(shù)M/4個(gè)循環(huán)是一個(gè)比較優(yōu)化的選擇。由于小波變換是先做行濾波,后做列濾波,大循環(huán)的劃分是以列濾波為基礎(chǔ)的,所以不能選擇N/4作為大的循環(huán)次數(shù),一次大循環(huán)完成4行系數(shù)的行列濾波,另外,大循環(huán)數(shù)必須要被整個(gè)圖像的行數(shù)整除。同理,小循環(huán)的劃分是以行濾波為基礎(chǔ)的,在這里選擇了N/4,即,一次小循環(huán)完成4個(gè)系數(shù)的行濾波,小循環(huán)數(shù)必須要被整個(gè)圖像的列數(shù)整除。這與一次執(zhí)行圖像數(shù)據(jù)的幾行幾列是一個(gè)道理,只是利用小波變換的特點(diǎn),對整幅圖像進(jìn)行切割和分別處理。
相應(yīng)的,在解碼端4、將圖像劃分為N/4個(gè)大循環(huán),每個(gè)大循環(huán)又包括M/4個(gè)小循環(huán)。
5、每個(gè)循環(huán)中對圖像的4~6列數(shù)據(jù)分別做列反變換首先對各列的數(shù)據(jù)做一維小波反變換。其中一維小波反變換又包括奇數(shù)反變換和偶數(shù)反變換。在小波反變換的過程中同時(shí)完成反量化。最后將經(jīng)過小波逆變換之后的系數(shù)進(jìn)行反lazy變換,將其中奇偶行的系數(shù)間隔放置。
6、對經(jīng)過步驟5小波反變換完成的幾列數(shù)據(jù)同時(shí)進(jìn)行行逆變換首先對各列同一行數(shù)據(jù)做一維小波反變換。其中一維小波反變換又包括奇數(shù)反變換和偶數(shù)反變換。在小波反變換的過程中同時(shí)完成反量化。最后將經(jīng)過小波逆變換之后的系數(shù)進(jìn)行反lazy變換,將其中奇偶列的系數(shù)間隔放置。
7、重復(fù)步驟5、6直到循環(huán)結(jié)束。
其中,以Daubechies(5,3)為例,一維小波正變換的公式如下sl(0)=x2l]]>dl(0)=x2l+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)為一維圖像信號x的偶數(shù)樣本,dl(0)為一維圖像信號x的奇數(shù)樣本,sl為變換后的偶數(shù)樣本,dl為變換后的奇數(shù)樣本;α、β為小波變換系數(shù),k為伸縮變換系數(shù)(α=-0.5,β=0.25,k=1.2~1.5)。
Daubechies(5,3)一維小波反變換的公式如下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)]]>x2l=sl(0)]]>式中dl為信號的高頻樣本,sl為信號的低頻樣本,dl(1)為經(jīng)伸縮變換后的高頻樣本,sl(1)為經(jīng)伸縮變換后的低頻樣本,α、β為小波變換系數(shù),sl(0)為變換后的偶數(shù)樣本,dl(0)為變換后的奇數(shù)樣本;x為恢復(fù)的一維圖像信號(α=-0.5,β=0.25,k=1.2~1.5)。
|α|=0.5,對它的浮點(diǎn)乘法運(yùn)算,可以改造成右移1位。
|β|=0.25,對它的浮點(diǎn)乘法運(yùn)算,可以改造成右移2位。
其中伸縮變換系數(shù)k的選取,經(jīng)過實(shí)驗(yàn)得到,當(dāng)k取值為1.2~1.5時(shí),對于整形小波變換后的系數(shù)值分布起到了進(jìn)一步優(yōu)化的作用,進(jìn)一步將大系數(shù)集中到了整個(gè)圖像二維數(shù)組的左上角,有利于進(jìn)一步的編碼運(yùn)算,使圖像的壓縮比更大。
k值可以改造成整數(shù)乘法和移位運(yùn)算,即k乘以2L,取整,得到新的拉伸系數(shù)值k1,然后右移L位;1/k也可以改造成整數(shù)乘法和移位運(yùn)算,即1/k乘以2L,取整,得到新的拉伸系數(shù)值k2,然后右移L位。
伸縮系數(shù)k采用了整數(shù)乘法和移位運(yùn)算來實(shí)現(xiàn),因此,可以利用這個(gè)操作的同時(shí)對小波系數(shù)進(jìn)行量化,而不需要浪費(fèi)額外的循環(huán)。預(yù)設(shè)量化系數(shù),只需使用移位運(yùn)算,在整數(shù)小波變換伸縮運(yùn)算的同時(shí)可方便快速的完成不同頻帶小波系數(shù)的量化。
對小波系數(shù)的量化主要針對高頻系數(shù),目的是為了提高后續(xù)的壓縮編碼算法的壓縮效率。具體的做法是將量化系數(shù)預(yù)設(shè)為2的冪,這樣就可以只用移位操作來完成量化。通過一個(gè)預(yù)設(shè)參數(shù)確定是否根據(jù)小波變換層數(shù)的提高而以2的整數(shù)倍減低這個(gè)初始量化系數(shù)。
由于經(jīng)試驗(yàn)和理論證明,人眼對對角線方向的高頻信息沒有對水平和垂直方向的高頻信息那么敏感,所以,我們對對角線方向的高頻信息的量化要求較高。由于對角線方向高頻信息在一層二維整形小波變換中要乘以行、列兩次高頻系數(shù)的伸縮系數(shù),所以就自然的提高了對角線方向高頻信息的量化。
例如,在編碼端,對低頻分量的量化值為2n,則sl=k·sl(1)]]>可改寫為sl=sl(1)·k1>>(L+n);]]>對高頻分量的量化值為2n,則dl=dl(1)/k]]>可改寫為dl=dl(1)·k2>>(L+n).]]>在解碼端,對低頻分量的反量化值為1/2n,則sl=sl(1)/k]]>可改寫為sl=sl(1)·k2>>(L-n);]]>對高頻分量的反量化值為1/2n,則dl=k·dl(1)]]>可改寫為d.l=dl(1)·k1>>(L-n).]]>這種量化算法科學(xué)而且效率很高,不需要額外的時(shí)間和計(jì)算開銷就可以完成不同預(yù)設(shè)的量化目的。
由于圖像信息的數(shù)據(jù)量較大,因此不能將整幀的數(shù)據(jù)放到DSP的內(nèi)存中,而頻繁的在片內(nèi)和片外調(diào)用數(shù)據(jù),又會使運(yùn)算效率降低,在本實(shí)施例中,DSP的內(nèi)存需求僅為max(M,N)×2×6個(gè)字節(jié),即6行/列圖像數(shù)據(jù)。本實(shí)施例的整型小波變換是在較小的片內(nèi)緩沖區(qū)內(nèi)完成,一次最多處理四行或者四列圖像數(shù)據(jù),以提高執(zhí)行效率。而對整型小波運(yùn)算前后的數(shù)據(jù)在片內(nèi)和片外存貯區(qū)之間的搬運(yùn),Lazy變換和矩陣的行列轉(zhuǎn)置,本發(fā)明是采用數(shù)字信號處理器的快速直接存儲器訪問完成的,搬運(yùn)速度快,且不占用處理器的處理時(shí)間。
見圖3所示,以行濾波為例,一個(gè)循環(huán)內(nèi)可以完成兩個(gè)奇數(shù)樣本的高頻濾波和兩個(gè)偶數(shù)樣本的低頻濾波。以行濾波為例,將傳統(tǒng)算法原來需要N個(gè)循環(huán)完成的運(yùn)算,只需要N/4個(gè)循環(huán)就可以完成。大大提高了運(yùn)算效率。
在小波變換的傳統(tǒng)步驟中,列濾波需要在行濾波完全執(zhí)行完之后才能進(jìn)行。以前人們提出的所謂提高并行操作也只分別限于行濾波內(nèi)和列濾波內(nèi),而對二者之間的并行運(yùn)算沒有考慮。見圖4所示,本發(fā)明將列濾波和行濾波操作并行處理。列濾波不需要在所有的行濾波完成后才開始進(jìn)行,只要列濾波所需的那幾行數(shù)據(jù)完成行濾波,即可對這幾行的所有列數(shù)據(jù)進(jìn)行列濾波運(yùn)算。這樣,二維圖像一層小波正變換的循環(huán)次數(shù)從過去的M×N變成了現(xiàn)在的M×N/16。
列反變換如圖5所示,一個(gè)循環(huán)內(nèi)可以完成兩個(gè)高頻樣本和兩個(gè)低頻樣本的反變換。以行反變換為例,將傳統(tǒng)算法原來需要N個(gè)循環(huán)完成的運(yùn)算,只需要N/4個(gè)循環(huán)就可以完成。大大提高了運(yùn)算效率。
行反變換的運(yùn)算方法如圖6所示,將行反變換和列反變換操作并行處理。行反變換不需要在所有的列變換完成后才開始進(jìn)行,只要行反變換所需的那幾列數(shù)據(jù)完成列反變換,即可對這幾列的所有行數(shù)據(jù)進(jìn)行行反變換運(yùn)算。這樣,二維圖像一層小波反變換的循環(huán)次數(shù)從過去的M×N變成了現(xiàn)在的M×N/16。
下面以一圖像的實(shí)際數(shù)據(jù)為例,進(jìn)一步說明本發(fā)明,以二維圖像尺寸16×16,進(jìn)行一層整數(shù)雙正交Daubechies(5,3)小波變換為例,原始圖像數(shù)據(jù)為X 傳統(tǒng)做法是先對每一行數(shù)據(jù)進(jìn)行小波正變換(行濾波),每次處理一行,每個(gè)行變換需要16/2次循環(huán),則經(jīng)過16×16/2次循環(huán)后,得到行濾波的結(jié)果Y0 再對每一列數(shù)據(jù)進(jìn)行小波正變換(列濾波),每次處理一列,每個(gè)列變換需要16/2次循環(huán),則經(jīng)過16×16/2次循環(huán)后,得到一層小波正變換的結(jié)果Y。 用傳統(tǒng)算法計(jì)算16×16原始數(shù)據(jù)的一層小波變換,需要16+16=32次大循環(huán),其中每個(gè)大循環(huán)中包括16/2=8次小循環(huán),所以共包括32×8=256次循環(huán)計(jì)算。
本發(fā)明則是將行列濾波并行處理,將16×16的原始數(shù)據(jù)劃分為16/4=4次大循環(huán),其中每個(gè)大循環(huán)中包括4行數(shù)據(jù)的處理,每行數(shù)據(jù)的正變換需要16/4=4次小循環(huán),完成一層小波正變換,僅需要4×4×4=64次循環(huán)計(jì)算。
其中經(jīng)過1次大循環(huán)后,完成原始圖像前4行(0~3)數(shù)據(jù)的小波正變換,放到結(jié)果矩陣的相應(yīng)位置,得到結(jié)果X1 其中經(jīng)過2次大循環(huán)后,完成原始圖像4~7行數(shù)據(jù)的小波正變換,放到結(jié)果矩陣的相應(yīng)位置,得到結(jié)果X2 其中經(jīng)過3次大循環(huán)后,完成原始圖像8~11行數(shù)據(jù)的小波正變換,放到結(jié)果矩陣的相應(yīng)位置,得到結(jié)果X3 其中經(jīng)過4次大循環(huán)后,完成原始圖像12~16行數(shù)據(jù)的小波正變換,放到結(jié)果矩陣的相應(yīng)位置,得到最終結(jié)果Y(Y與傳統(tǒng)算法流程的結(jié)果相同)。
權(quán)利要求
1.一種基于數(shù)字信號處理器的整數(shù)小波正變換方法,其特征在于包括如下步驟(1)將圖像數(shù)據(jù)劃分為若干個(gè)數(shù)據(jù)段;(2)對當(dāng)前數(shù)據(jù)段的行數(shù)據(jù)進(jìn)行行正變換;(3)對當(dāng)前數(shù)據(jù)段的列數(shù)據(jù)進(jìn)行列正變換;(4)對其他數(shù)據(jù)段重復(fù)步驟(2)、(3)。
2.如權(quán)利要求1所述的方法,其特征在于所述步驟(1)包括如下步驟(1A)將圖像數(shù)據(jù)劃分為多個(gè)大循環(huán),大循環(huán)的次數(shù)可以被圖像數(shù)據(jù)的行數(shù)整除;(1B)將所述每個(gè)大循環(huán)中包含的每行數(shù)據(jù)劃分為多個(gè)小循環(huán),小循環(huán)的次數(shù)可以被所述圖像數(shù)據(jù)的列數(shù)整除。
3.如權(quán)利要求1所述的方法,其特征在于所述步驟(2)是將當(dāng)前大循環(huán)中包含的行數(shù)據(jù)分別做行正變換;步驟(3)是將當(dāng)前大循環(huán)中包含的列數(shù)據(jù)分別做列正變換。
4.如權(quán)利要求1所述的方法,其特征在于所述步驟(2)包括如下步驟對當(dāng)前行數(shù)據(jù)做Lazy變換,將其中奇偶列的系數(shù)分開放置;進(jìn)行一維小波變換,其中一維小波變換又包括奇數(shù)變換和偶數(shù)變換。
5.如權(quán)利要求1所述的方法,其特征在于所述步驟(3)包括如下步驟對各行同一列的數(shù)據(jù)做lazy變換,將其中奇偶行的系數(shù)分開放置;進(jìn)行一維小波變換,其中一維小波變換又包括奇數(shù)變換和偶數(shù)變換。
6.如權(quán)利要求1所述的方法,其特征在于所述小波正變換過程中,如果需要對小波系數(shù)進(jìn)行量化,則通過預(yù)設(shè)量化系數(shù)為2的冪,在小波變換的過程中同時(shí)完成量化。
7.如權(quán)利要求1所述的方法,其特征在于所述小波正變換后的小波系數(shù)采用一個(gè)伸縮系數(shù)k進(jìn)行優(yōu)化,k=1.2~1.5,并可以將其改造成整數(shù)乘法和移位運(yùn)算。
8.如權(quán)利要求1所述的方法,其特征在于所述的小波正變換是在片內(nèi)緩沖區(qū)內(nèi)完成的,而對變換前后的數(shù)據(jù)在片內(nèi)和片外存儲區(qū)之間的搬運(yùn),Lazy變換和矩陣的行列轉(zhuǎn)置,是使用數(shù)字信號處理器的快速直接存儲器訪問完成的。
9.一種基于數(shù)字信號處理器的整數(shù)小波反變換方法,其特征在于包括如下步驟(1)將圖像數(shù)據(jù)劃分為若干個(gè)數(shù)據(jù)段;(2)對當(dāng)前數(shù)據(jù)段的列數(shù)據(jù)進(jìn)行列反變換;(3)對當(dāng)前數(shù)據(jù)段的行數(shù)據(jù)進(jìn)行行反變換;(4)對其他數(shù)據(jù)段重復(fù)步驟(2)、(3)。
10.如權(quán)利要求9所述的方法,其特征在于所述步驟(1)包括如下步驟(1A)將圖像數(shù)據(jù)劃分為多個(gè)大循環(huán),大循環(huán)的次數(shù)可以被圖像數(shù)據(jù)的列數(shù)整除;(1B)將所述每個(gè)大循環(huán)中包含的每列數(shù)據(jù)劃分為多個(gè)小循環(huán),小循環(huán)的次數(shù)可以被所述圖像數(shù)據(jù)的行數(shù)整除。
11.如權(quán)利要求9所述的方法,其特征在于所述步驟(2)是將當(dāng)前大循環(huán)中包含的列數(shù)據(jù)分別做列反變換;步驟(3)是將當(dāng)前大循環(huán)中包含的行數(shù)據(jù)分別做行反變換。
12.如權(quán)利要求9所述的方法,其特征在于所述步驟(2)包括如下步驟對各列數(shù)據(jù)做一維小波反變換,其中一維小波反變換又包括奇數(shù)反變換和偶數(shù)反變換;將經(jīng)過小波反變換之后的系數(shù)進(jìn)行反Lazy變換,將其中奇偶列的系數(shù)間隔放置。
13.如權(quán)利要求9所述的方法,其特征在于所述步驟(3)包括如下步驟對各列同一行數(shù)據(jù)做一維小波反變換,其中一維小波反變換又包括奇數(shù)反變換和偶數(shù)反變換;將經(jīng)過小波反變換之后的系數(shù)進(jìn)行反Lazy變換,將其中奇偶列的系數(shù)間隔放置。
14.如權(quán)利要求9所述的方法,其特征在于在所述小波反變換過程中,如果需要對小波系數(shù)進(jìn)行反量化,則將反量化系數(shù)預(yù)設(shè)為1/(2的冪),在小波反變換的過程中同時(shí)完成反量化。
15.如權(quán)利要求9所述的方法,其特征在于所述小波反變換后的小波系數(shù)采用一個(gè)伸縮系數(shù)k進(jìn)行優(yōu)化,k=1.2~1.5,并可以將其改造成整數(shù)乘法和移位運(yùn)算。
16.如權(quán)利要求9所述的方法,其特征在于所述的小波反變換是在片內(nèi)緩沖區(qū)內(nèi)完成的,而對變換前后的數(shù)據(jù)在片內(nèi)和片外存儲區(qū)之間的搬運(yùn),反Lazy變換和矩陣的行列轉(zhuǎn)置,是使用數(shù)字信號處理器的快速直接存儲器訪問完成的。
全文摘要
一種基于數(shù)字信號處理器的整數(shù)小波變換方法,在小波正變換時(shí),首先將圖像數(shù)據(jù)劃分為若干個(gè)數(shù)據(jù)段,然后分別對當(dāng)前數(shù)據(jù)段的行數(shù)據(jù)進(jìn)行行正變換,對當(dāng)前數(shù)據(jù)段的列數(shù)據(jù)進(jìn)行列正變換,在小波反變換時(shí),首先將圖像數(shù)據(jù)劃分為若干個(gè)數(shù)據(jù)段,然后分別對當(dāng)前數(shù)據(jù)段的列數(shù)據(jù)進(jìn)行列反變換,對當(dāng)前數(shù)據(jù)段的行數(shù)據(jù)進(jìn)行行反變換,行列變換穿插進(jìn)行,直至處理完整個(gè)圖像數(shù)據(jù),本發(fā)明適用于內(nèi)存較小,具備并行或流水線處理能力的數(shù)字信號處理器的實(shí)現(xiàn),對原始圖像進(jìn)行實(shí)時(shí)小波正反變換。
文檔編號H04N7/26GK1460968SQ03148079
公開日2003年12月10日 申請日期2003年6月30日 優(yōu)先權(quán)日2003年6月30日
發(fā)明者耿靜, 陳小敬, 龐潼川, 周閏 申請人:大唐微電子技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
广宗县| 曲松县| 商水县| 方正县| 奎屯市| 建阳市| 安康市| 晋江市| 西吉县| 通河县| 海阳市| 若尔盖县| 外汇| 翁牛特旗| 彭泽县| 合阳县| 锦州市| 南康市| 汝城县| 保山市| 南投市| 丹阳市| 无棣县| 牟定县| 元朗区| 吐鲁番市| 延庆县| 高淳县| 霍山县| 泰来县| 昌黎县| 时尚| 庄浪县| 贵州省| 文成县| 塔河县| 河北省| 云南省| 武冈市| 建湖县| 基隆市|