向量量化編碼也是在影象、語音頻號編碼技術中研究得較多的新型量化編碼方法,它的出現並不僅僅是作為量化器設計而提出的,更多的是將它作為壓縮編碼方法來研究的。在傳統的**和變換編碼中,首先將訊號經某種對映變換變成乙個數的序列,然後對其乙個乙個地進行標量量化編碼。而在向量量化編碼中,則是把輸入資料幾個一組地分成許多組,成組地量化編碼,即將這些數看成乙個k維向量,然後以向量為單位逐個向量進行量化。向量量化是一種限失真編碼,其原理仍可用資訊理論中的率失真函式理論來分析。而率失真理論指出,即使對無記憶信源,向量量化編碼也總是優於標量量化。
向量量化可以充分利用各分量間的統計依賴性,包括線性的和非線性的依賴關係,並可以充分利用訊號概率分布密度函式形狀中存在的剩餘度。它還可以充分利用訊號空間維數增加所帶來的好處。在維數足夠高時,可以任意接近率失真理論所給出的極限,而這在標量量化時是做不到的。
1 除錯前準備
1)利用matlab生成 .img 影象檔案
[plain]view plain
copy
clear variables;
filename='**';
im=imread(filename);
im=rgb2gray(im);
f=fopen([filename(1:end-4) '.img'],'wb');
for i=1:size(im,2)
for j=1:size(im,1)
fwrite(f,im(j,i),'uint8');
end
end
fclose(f);
2) 利用matlab檢視 .img 影象檔案
[plain]view plain
copy
clear variables;
f=fopen('**.img','rb');
%haha=fread(f,inf,'uint8');
haha=fread(f);
haha1=reshape(haha,800,1280);
haha2=zeros(800,1280);
for i=1:800
for j=1:1280
haha2(i,j)=haha((j-1)*800+i);
end
end
fclose(f);
2 輸入引數格式
1)trvqsp_img:獲得影象向量量化的碼書
呼叫引數格式:
trvqsp_img ts_img codefile [-b cb_size] [ -t block_height] [-w block_width] [-x row_size][-y col_size] [-h]
ts_img:是訓練影象,也即待量化壓縮的影象,假定為8位灰度級,使用光柵掃瞄順序儲存。
codefile:以二進位制格式存放碼書的檔案,有乙個包含12個位元組的檔案頭記錄:向量的維度,以及碼書的大小。
-b cb_size:碼書的大小
-t block_height:塊的高度(以畫素為單位)
-w block_width:塊的寬度(以畫素為單位)
實際上由block_width 、block_height決定著碼書向量的大小,也即每個輸出塊的大小。因此向量的維數是block_height *block_width
-x row_size:輸入影象的寬
-y col_size:輸入影象的高
-h 幫助
此處引數輸入可採用.bat檔案:
2)vqimg_enc:根據碼書對影象進行向量量化
呼叫格式:
vqimg_enc [-i imagein] [-o cmpfile] [-c codebook] [-x row_size] [-y col_size] [-h]
-i imagein:輸入的待編碼的影象檔名
-o cmpfile:輸出的量化壓縮後的檔名
-c cmpfile:碼書檔案
-x row_size:輸入影象的寬
-y col_size:輸入影象的高
-h 幫助
此處引數輸入可採用.bat檔案:
3)vqimg_dec:根據碼書檔案和壓縮後的檔案重構原始影象
呼叫格式:
vqimg_dec [-i cmpfile] [-o imageout] [-h]
-i cmpfile:壓縮檔案名
-o imageout:重建影象檔名
-h 幫助
此處引數輸入可採用.bat檔案:
向量量化程式除錯結果
1 除錯前準備 1 利用matlab生成 img 影象檔案 plain view plain copy clear variables filename im imread filename im rgb2gray im f fopen filename 1 end 4 img wb for i 1...
學習向量量化
與 k 均值演算法類似,學習向量量化 learning vector quantization,簡 稱 lvq 也是試圖找到一組原型向量來刻畫聚類結構,但與一般聚類演算法不同 的是,lvq 假設資料樣本帶有類別標記,學習過程利用樣本的這些監督資訊來 輔助聚類.可看作通過聚類來形成 類別 子類 結構,...
LVQ學習向量量化
現在已經2011年五月份了,今年的兩個多月幾乎沒什麼成果,想到水樣年華這個詞,額!總結過往,翹首未來,心中不免些許迷茫,程式設計師之路在何方?靡靡之音,不絕於耳,然何時我也能奏一首陽春白雪,不為流傳於世,只求一心靈安靜之所!lvq原理不再贅述,其本質可以看成是最近鄰分類,所謂競爭性神經網路,即把歐氏...