提升小波的學習筆記
提升樣式(lifting scheme),叫做提升方案.
小波變換是現在研究的比較多的時(空)頻域分析理論,離散的小波變換(DWT)的快速演算法時最近研究的熱點.Swelden提出的一種不依賴於傅立葉變換
的新的小波構造方案-----lifting scheme,其複雜度只有原來卷積方法的一半左右,因此成為計算離散小波變換的主流方法.
其實lifting scheme就是為了構造第二代小波,使得不像第一代小波那樣構造,非常依賴Fourier變換.同時已經證明了提升方式可以實現所有的第一代小波變換.
提升方式的特點:
1. 繼承了第一代小波的多解析度的特性
2. 不依賴傅立葉變換
3.不佔用系統記憶體
4.反變換很容易從正變換得到,只是改變了資料流的方向和正負號
正因為小波提升樣式由於其計算速度快,佔用記憶體少,可以實現整數變換等等特點所以被JPEG 2000所推薦作為小波變換,是JPEG 2000裡面的核心演算法.其通過預測和更新兩個提升環節實現訊號的高低頻分離,由於訊號有區域性相關性,
某一點的訊號值可以通過其相鄰的訊號的值通過適當的預測運算元預測出來,同時預測出來的誤差就是高頻的資訊,從而這個過程就是預測環節.預測環節下面得到的
高頻資訊又通過更新運算元來調整訊號的下抽樣來得到低頻資訊,這個過程就是更新環節,在整個的提升演算法中,更新環節叫做primary
lifting,而預測環節叫做dual lifting.
實際上,小波提升的核心就是更新演算法和預測演算法,通過預測演算法可以得到高頻資訊,而通過更新運算元可以得到正確的低頻資訊.提升樣式可以實現原位計算和整數提升,並且變換的中間結果是交織排列的.其中原位計算和整數提升在硬體實現中很有價值.
原位計算
提升樣式中一個很大的特點就是進行小波變換的時候在原位計算各個係數.原位計算,只是佔用了跟輸入大小相同的空間,不需要其他的輔助空間.
整數提升
在傳統的小波變換演算法中(即Mallat演算法),採取了輸入訊號與高通和低通濾波器相卷積的方法來實現高頻和低頻資訊的分離.但是小波濾波器的係數都是小 數,中間結果中有一些是小數,如果對小數進行取整,會丟失很多資訊,使得重構和分解是不可逆,從而無法實現精確重構.但是在提升方案中,可以進行整數變 換,並且整數變換是不影響精確重構.
分解結果交織
下面就一維訊號進行分解為例:
X進行第一級分解,低頻資訊在奇數上面,高頻在偶數上面,進行第二級分解,對第一級的低頻資訊進行分解,分解的結果則是在奇數資料中的奇數位數為低頻信
息,偶數位數為高頻資訊.
演算法 Algorithm
變換演算法
while(true) do
{
for each odd sample do
odd=odd+Conv(-P,even)
endfor
for each even sample do
even=even+Conv(U,odd)
endfor
if completed then
break
endif
}
反變換演算法
while(true) do
{
for each scale coefficient do
Cs=Cs+Conv(-U,Cw)
endfor
for each wavelet coefficient do
Cw=Cw+Conv(P,Cs)
endfor
if completed then
break
endif
}
相關文章
- 卡爾曼濾波器學習筆記筆記
- 微信小程式學習筆記微信小程式筆記
- react小書學習筆記React筆記
- Activiti 學習筆記 小結筆記
- 小魚JCL學習筆記(一)筆記
- 【影像處理筆記】小波變換筆記
- numpy的學習筆記\pandas學習筆記筆記
- 小波變換與深度學習深度學習
- 小程式學習筆記(未完待續)筆記
- 微信小程式入門學習筆記微信小程式筆記
- 小程式學習筆記(6)-菜譜小程式的製作筆記
- Django學習筆記—Comments庫的使用方法小記Django筆記
- 微信小程式開發學習筆記[4]微信小程式筆記
- 微信小程式開發學習筆記[2]微信小程式筆記
- 微信小程式開發學習筆記[3]微信小程式筆記
- 【DWT筆記】傅立葉變換與小波變換筆記
- h5學習筆記:sessionStorage 小測試H5筆記Session
- 微信小程式--學習筆記(思維導圖)微信小程式筆記
- 棧的學習筆記筆記
- Cypress 的學習筆記筆記
- Git的學習筆記Git筆記
- MongoDB的學習筆記MongoDB筆記
- IT學習筆記筆記
- 學習筆記筆記
- java學習小記Java
- MQ學習小記MQ
- Dubbo學習小記
- Activiti 學習筆記一到六小結筆記
- 【學習筆記】數學筆記
- 《JAVA學習指南》學習筆記Java筆記
- 【學習筆記】初次學習斜率最佳化的程式碼及筆記筆記
- React Hooks的學習筆記ReactHook筆記
- Cris 的 Docker 學習筆記Docker筆記
- 學習JavaScript的原型筆記JavaScript原型筆記
- Elasticsearch的配置學習筆記Elasticsearch筆記
- 機器學習的學習筆記1機器學習筆記
- 重新學習JAVA的筆記Java筆記
- 中斷的學習筆記筆記