信源編碼第四次作業-基於LBG的向量量化演算法
阿新 • • 發佈:2018-12-25
1、LBG演算法背景介紹
LBG演算法是由Linde,Buzo,Gray三人在1980年提出的。它其實相當於Lord-Max方法的多維推廣,但它並不需要知道輸入向量的概率分佈,LBG演算法通過訓練向量集和一定的迭代演算法來逼近最優的再生碼本。
2、LBG演算法的思想
1)隨意選取n個影象塊作為碼向量
2)由這n個碼向量對所有的影象塊進行劃分,即分成n個集合,使每個集合中的影象塊,都是與各碼向量距離中,與對應的碼向量的距離最小的
3)由這n個集合的重心,得到n個新的碼向量
4)如果這些個碼向量與原來的碼向量變化不大(收斂),就完成碼書的訓練,否則重新進行2、3步
3、LBG演算法的侷限性
1)最優量化器是對於訓練向量集而言,對於實際的未經訓練的向量集是否最優還很難說,這要依賴於訓練向量的代表性到底真實到何種程度。
2)由於優化分割的過程沒有依據資料結構方面的規則或者限制,而是自由進行,這就使得對碼本進行有效組織時遇到極大的困難。
3)在有些時候根本無法找到真正有代表性的訓練向量集
4、演算法流程圖
4、實驗過程
該程式分為三個部分:trvqsp_img、vqimg_enc、vqimg_enc。trvqsp_img的作用是根據輸入影象得到碼書;vqimg_enc的作用是根據碼書對影象進行向量量化;vqimg_dec的作用是根據碼書檔案和壓縮後的檔案重構原始影象。
(備註:檔案開啟編譯時會出現unistd.h無法開啟的問題,參照一下這個方法解決http://blog.csdn.net/earbao/article/details/51757334)