標準化されたロスレス音声規格IEEE 1857.2、くっそ怪しい。 リファレンスエンコーダが公開されてないっぽい。 一応概要みたいのは以下:
さっと読んだ。工夫したのは、ブロック先頭で残差が大きくなるから、それをビットシフトして振幅を潰し、下位ビットの情報は別に送ること、算術符号はテンプレートとなる確率分布を使用すること、がメインである。うーん。かなり泥臭いと思う。モデルがすごいと言うよりは工夫メインな印象を受ける。また、他の論文でウェーブレットを使っているみたいな話があるけど、どうにもこちらも怪しい。
ロスレス音声でウェーブレット+BPを使う話。
音声圧縮でウェーブレットを使うのは筋が悪かったので、少なくとも自分には衝撃ではある。で、ちゃんと読んでみようと思ったのだが4pで概要しか示されてない。
肝となる部分でわからないのが、ウェーブレット辞書を結合して過完備な辞書を作るところ。基礎が抜けていることを疑って、Donohoを読む:
そして論文ではliftingを使ったと行っているが、liftingを使った場合、どうなるのか?画像に対して試したのが下:
ロッシーなんだよなあ。
BPで辞書作るときって、基底をサンプリングして作るんだっけか?BPの動きを確認し始める。
ウェーブレットの場合の答えが以下にある。精読していく。
そもそもウェーブレット変換って行列表現できたっけ?と思ったら、余裕でできてた。これの高速算方が離散ウェーブレット変換(DWT)だったわ。
論文が参照しているウェーブレット系のペーパーが重い。
- Building Your Own Wavelets at Home 有名なペーパー。ウェーブレット自分自身で構築できるようだ(2nd Generation Wavelet)。その計算方法がLifting Schemeとなる。
- Factoring Wavelet Transforms into Lifting Steps 1st Generation WaveletはLiftingの形式に持っていけると言っている
非常にボリュームが大きい。。。弱った。
- INTEGER WAVELET TRANSFORM BASED LOSSLESS AUDIO COMPRESSION 古いけど、ウェーブレットを使ったロスレス音声圧縮がここに。
理論一切抜きで、計算法は分かった。しかし、BPによってどのように基底を選んでいるのかさっぱり分からん。ウェーブレットは固定辞書だから、L1正則化問題を解析的に解いてはいないはず。Basis Pursuitはアルゴリズムじゃなくて原理だと 原論文 で言っていたし:
BP is an optimization principle, not an algorithm. Over the last 40 years, a tremendous amount of work has been done on the solution of linear programs. Until the 1980s, most work focused on variants of Dantzig’s sim- plex algorithm, which many readers have no doubt studied. In the last ten years, some spectacular breakthroughs have been made by the use of so-called interior-point methods, which use an entirely different principle.
うーん、妄想してみると、こんなかんじだろうか?
- 辞書作成: Cohen-Daubechies-Feuveau(cdf) wavelet, Daubechies(db) wavelet, Symlets(sym) 等("等"は謎。全部書いてくれよ...)から辞書を作る。ここでは、cdf,db,symの3つ使ったと考える。
- ウェーブレット変換: cdf, db, symの3つで変換を行う。変換はLifting Schemeで行う。
- 基底選択: 最もL1ノルム(残差絶対値和)が小さかったウェーブレット基底を選び、出力を確定させる。
この操作を低域/高域成分の両方に対し、高解像度から低解像度に向かって行っていく。(高域/低域両方に対して分析をおこなうのをウェーブレットパケット解析というようだ。低域成分(画像で言うなら左上)だけに分析を続けるのはウェーブレット解析。ウェーブレットパケット解析は二分木をなす。)
最終的に得られた出力をエントロピー符号化する。 解像度の深さと、選んだ基底の情報はside informationとして渡す。
- ウェーブレット理論と工学への応用 日本語でちゃんと書かれたリフティングの話。印刷して、読もう。
わからないのは後はエントロピー符号化(BCB)のはず。クローズっぽいんだよなあ…。 明日、プロットをまとめる。