ウェーブレットによるデータ圧縮
あるウェーブレット基底が与えられたとき、その基底の圧縮特性は、主に信号のウェーブレット領域表現の相対的なスパース性に関連しています。圧縮の概念は、(適切に選択されたレベルにおける) 少数の Approximation 係数、およびいくつかの Detail 係数を使用して、通常の信号成分を正確に近似できるという考えに基づいています。
ノイズ除去と同様に、圧縮は次の 3 つの手順で行います。
分解
ウェーブレットを選択し、レベル N を選択します。レベル N における信号 s のウェーブレット分解を計算します。
Detail 係数のしきい値処理
1 から N までの各レベルについて、しきい値を選択して Detail 係数にハードなしきい値処理を適用します。
再構成
レベル N の元の Approximation 係数と、レベル 1 から N までの変更済みの Detail 係数を使用して、ウェーブレットの再構成を計算します。
ノイズ除去手順との違いは、手順 2 にあります。利用可能な圧縮方法は 2 つあります。最初のアプローチでは、信号のウェーブレット拡張を利用し、最大の絶対値係数を維持します。この場合、グローバルしきい値、圧縮性能または相対的な二乗ノルムの回復性能を設定します。
したがって、1 つのパラメーターのみを選択する必要があります。2 番目のアプローチでは、決定済みのレベルに依存するしきい値を視覚的に適用します。
最適化されていないウェーブレットが与えられたときに、グローバルしきい値を使用して圧縮を行い、信号 (信号の圧縮を参照) とイメージ (イメージの圧縮を参照) に対してほぼ完全な二乗ノルム復元結果を生成する実際の 2 つの例について見てみましょう。
% Load electrical signal and select a part. load leleccum; indx = 2600:3100; x = leleccum(indx); % Perform wavelet decomposition of the signal. n = 3; w = 'db3'; [c,l] = wavedec(x,n,w); % Compress using a fixed threshold. thr = 35; keepapp = 1; [xd,cxd,lxd,perf0,perfl2] = ... wdencmp('gbl',c,l,w,n,thr,'h',keepapp);
信号の圧縮
結果は、ノルムの復元基準だけでなく、視認性の観点からも非常に満足のいくものとなっています。再構成では係数の 15% のみが使用されています。
% Load original image. load woman; x = X(100:200,100:200); nbc = size(map,1); % Wavelet decomposition of x. n = 5; w = 'sym2'; [c,l] = wavedec2(x,n,w); % Wavelet coefficients thresholding. thr = 20; keepapp = 1; [xd,cxd,lxd,perf0,perfl2] = ... wdencmp('gbl',c,l,w,n,thr,'h',keepapp);
イメージの圧縮
ウェーブレット表現が密すぎる場合は、ウェーブレット パケットのフレームワークで同様の手法を使用することで、よりスパースな表現を取得できます。次に、目的 (ノイズ除去または圧縮) に応じてエントロピーと同様の基準を適切に選択することで、その基準に関して最適な分解を決定することができます。
圧縮スコア
直交ウェーブレットを使用して圧縮する場合、"残りのエネルギー" (%) は次のように定義されます。
双直交ウェーブレットを使用して圧縮する場合、上記の定義はあまり便利ではありません。代わりに、次のように定義される "エネルギー比" (%) を使用します。
また、調整パラメーターとして、次のように定義される "ノルム係数の復元" を使用します。
"0 の数" (%) は次のように定義されます。