[筆記] 資訊理論與編碼技巧 Lecture 9.1 Image Data Compression
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
資訊理論與編碼技巧 (共筆)
課程內容出處:
- Image Data Compression
Lecture 9.1
1.Introduction
- 資料壓縮的目的在於減少表達一個圖像或資料所需要的bits,進而達到增加資料傳輸速度或是減少資料所需的儲存空間之效,更進一步地,若我們處理的是壓縮過的資料(working with compressed data),也會使處理的速度變快,因此也可以將資料壓縮的應用看成使演算法加速。
- Image data compression method 分兩大類
- Redundancy Coding : 將重複性的data壓縮,不失真
- Entropy Coding : 使用有限的domain去coding連續的domain的data,不可避免地會失真,真實世界是在連續的domain,所以理論上,只有已經 digitized data才有可能讓我們做到 "不失真壓縮"
- Entropy Coding 的典型方法
- Subsampling : 例如每兩個點(Pixel)選一點留下來,降低sample rate
- Coarse Quantization : 例如原本每個 Pixel 用 8 bits 存,共有256種Level,現在只降為 4 bits,剩下16 種Level,可存放的資料描述的精確度降低
- Frame Repetition/Interlacing : 例如原本每秒鐘 30 個 frame,人眼會有視覺暫留,所以我們每秒 frame 在送的時候,採用每兩個 frame 只送一張,這樣實際上每秒只送了 15 張 frame,那漏掉的另外 15 張 frame 可以採用下列兩種方法來補上,多用在相鄰兩frame變化不大的時候
- Repetion : 複製前一張 frame
- Interlacing : 利用前一張 frame 與後面一張 frame 取平均值
- Pixel(Picture element) Coding : 以一個Pixel為Coding unit
- Predictive Coding : 用已知的資訊去猜要Coding的資料,真正Coding的是Prediction error (Intra-frame為同一個時間點所產生的資料,例如一張相片中的所有Pixel;Inter-frame為不同時間點所產生的資料,其有前後關係,在Coding時可能會利用兩個時間點差的關係來Coding ),to remove mutual redundancy between successive pixels and encode only the new information.
- Transform Coding : 將原來的資料轉換到利於之後處理(Ex : Quantization)的Domain
2. DPCM
(differential pulse code modulation)
p.s. PCM: Pulse-code modulation
- 原理
- 在資料序列u(m)中,目前已經Coding到時間點m=n-1,也就是說時間點n以前的都已經reproduce完成, 而
- 表示在時間點n-1的reproduce資料(上標wave表reproduce資料),在m=n時,有新(未壓縮的原始)資料u(n),我們可以根據預測規則
- 加上已經reproduce出來的資料可以推測出時間點n的資料
- 以下列方式表示時間點n的預測資料(上標wave+bar表根據預測規則所預測出來的reproduce資料)
- 因此預測錯誤(prediction error)就為(其中u(n)為原始資料)
- e(n)經過處理(編碼或量化)得到(有所誤差)
- 最後我們所reproduce的時間點m=n的資料就為
- 架構圖
- 整體的編碼解碼所造成的錯誤即是quantization error
- DPCM的預測方式是基於past output的方式,意思是在時間點n-1的prediction error會feedback給下一個時間點n的quantizer並當作其input之一(在控制理論中稱為負回授),因此又稱為feedback prediction,可以有穩定prediction error之作用並避免prediction error的累加
- Feedback V.s. Feedforward Prediction
Feedback Prediction (DPCM) | Feedforward Prediction | ||
based on | past output | past input | |
Mean square error of e(n) | 較小 | 較大 | |
error accumulation | 無 | 有 | |
- Example :
3. Delta Modulation (DM)
- 最簡單的一種 predicted coding 的方法
- Predictor : one-step delay function 直接拿上時間點的output (u(n-1)wave) 作為現在時間點的預測資料
- Quantizer : one-bit quantizer,看 input 跟預測資料誰大誰小,如果input比較大就得到正的prediction error ;反之得到負的 prediction error
- DM 所遇到的問題
- Slope overload:如果input有比較快速的變化,但是由於我們的 step size 都是固定的1個 delta 所以output的slope的成長速度跟不上實際slope的變化速度
- Granularity Noise:在slope比較平滑的區域時,由於DM的 1 bit Quantizer 只要稍微比較大一點,或是比較小一點,就會有 +delta 與 - delta 的明顯變化,呈現有不穩定跳動noise的情形,因此通道雜訊(Channel noise)的影響會很大
- DM 問題的解決方法:Adaptive Delta Modulation
- 讓 delta size可以調整,如果連續三次delta 都是成長的,那代表可能正在快速成長中,就把 delta 的單位提升1.5倍;反之,如果正負delta連續出現時,代表可能處在slope比較平的地方,此時就把 delta 的單位調整為 0.5 倍
4. DPCM System Design
- There are two components to design DPCM system:
- 1. The predictor
- 2. The quantizer
- 使用 linear 與 nonlinear的方法調配 predictor 跟 quantizer 以獲取最佳的DPCM效果
- 以下列出幾種方法
- 1. Linear Predictor
- 2. Zero-memory quantizer
- 在這些方法中,我們定義 Quantizing Level (M) 即直接影響到壓縮率,經驗上 M >= 8 可得到好的壓縮效果
Quantizer
上面兩張圖都是 Uniform Quantizer
- Midtread quantizer 有一個 y = 0 的對應區域 (0 是 one of quantization of Y)
- Midriser quantizer 沒有 y = 0 的對應
Zero-Memory quantization: sample 之間都是independant
QE: Quantization Error
D: Quantization Distortion (失真)
SNR: Signal to Noise Ratio 單位 dB
在一些 sample 分布的狀況下,使用 Non-uniform Quantizer 會得到更好的壓縮效果
例如我們 sample 的pdf分佈如下圖的情形,呈現 Laplacian 分佈
補充說明: pdf 代表 probability distribution function
Uniform Quantizer 轉換 non-Uniform Quantizer
右上圖是 uniform quantizer 左下圖是我們要得到的 Non-uniform Quantizer
- 將 uniform quantizer Y軸的點 水平投影透過一個 Compressor function 轉換,在垂直投影到 non-Uniform Quantizer X軸,得到Non-uniform Quantizer X軸上的 sample
- 將 uniform quantizer X軸的點 垂直投影透過一個 Expander function 轉換,在垂直投影到 non-Uniform Quantizer X軸,得到Non-uniform Quantizer Y軸上的 sample
Compressor function 與 Expander function 互為反函數
5. Non-uniform Quantizer
最有名的 Non-uniform Quantizer - Lloyd-Max Quantizer
Lloyd-Max Quantizer 有兩種實作法
- u-law (mu law) 用於美國 加拿大 日本 台灣
- a-law 歐洲用 變化細節很微小的情況下,表現更好
結果比較
在一般情況下,每增加1個bit的,可以提昇 SNR 6dB
PCM 與 DPCM 的 SNR 效果差距在最下面那行 -> DPCM 可以 improve 訊雜比 (SNR) 的程度
SNR 衡量
如果我們有辦法提出一個方法 SNR 如果改善 0.5dB 就可以發Paper發表了!
6. 各種 DPCM 種類與改善訊雜比的排名
- 使用 DPCM 可以相較於 PCM 好,訓雜比整整差距了 8~10 dB 這是相當大的改善差距!
- Two-Dimensional DPCM 在圖上,由左到右,由上到下掃描
- 所以目前的X點,只能參考到 "左上, 上, 右上, 左" 這四個點去 predict
SNR最佳排名:用 2D DPCM 比 Line-by-line DPCM 好,PCM 最差
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
留言
張貼留言