『壹』 醫學圖像處理中,常用的變換編碼方法有幾種
三種,分別是預測編碼、變換編碼、熵編碼。
相關介紹:
1、預測編碼:
根據離散信號之間存在著一定關聯性的特點,利用前面一個或多個信號預測下一個信號進行,然後對實際值和預測值的差(預測誤差)進行編碼。
2、變換編碼:
從頻域的角度減小圖像信號的空間相關性,它在降低數碼率等方面取得了和預測編碼相近的效果。
3、熵編碼:
按熵原理不丟失任何信息的編碼。
(1)圖像壓縮編碼的方法擴展閱讀
預測編碼的最大優點在於它實現方便,且對大部分實際信源相當有效,所以預測編碼在實際中有廣泛應用。增量調制和差分脈碼調制就是兩種很好的例子。
變換編碼雖然實現時比較復雜,但在分組編碼中還是比較簡單的,所以在語音和圖像信號的壓縮中都有應用。國際上已經提出的靜止圖像壓縮和活動圖像壓縮的標准中都使用了離散餘弦變換編碼技術。
熵編碼把一系列用來表示視頻序列的元素符號轉變為一個用來傳輸或是存儲的壓縮碼流。輸入的符號可能包括量化後的變換系數,運動向量,頭信息(宏塊頭,圖像頭,序列的頭等)以及附加信息。
『貳』 數字圖像壓縮技術
『叄』 什麼壓縮方法適用於動態圖像的壓縮
可以考慮MPEG的使用。
MPEG是運動圖像專家組的簡稱,其制定的動態圖像壓縮標准稱為MPEG標准,包括MPEG-1、MPEG-2、MPEG-4、MPEG-7和MPEG-21
MPEG(通常指MPEG-1)圖像編碼是基於變換的有損壓縮。光學信號線經過采樣形成視頻信號,視頻信號基本的單位叫做幀,一個幀就是一個獨立的圖像,然後幀被分區成小塊做變換編碼,然後量化,最後進行熵編碼
『肆』 你認為圖像壓縮的方式有哪些
去除多餘數據·以數學的觀點來看,這一過程實際上就是將二維像素陣列變換為一個在統計上無關聯的數據集合,圖像壓縮是指以較少的比特有損或無損地表示原來的像素矩陣的技術,也稱圖像編碼·減少表示數字圖像時需要的數據量。圖像數據之所以能被壓縮,就是因為數據中存在著冗餘。圖像數據的冗餘主要表現為:圖像中相鄰像素間的相關性引起的空間冗餘;圖像序列中不同幀之間存在相關性引起的時間冗餘;不同彩色平面或頻譜帶的相關性引起的頻譜冗餘。數據壓縮的目的就是通過去除這些數據冗餘來減少表示數據所需的比特數。由於圖像數據量的龐大,在存儲、傳輸、處理時非常困難,因此圖像數據的壓縮就顯得非常重要。信息時代帶來了「信息爆炸」,使數據量大增,因此,無論傳輸或存儲都需要對數據進行有效的壓縮。在遙感技術中,各種航天探測器採用壓縮編碼技術,將獲取的巨大信息送回地面。圖像壓縮是數據壓縮技術在數字圖像上的應用,它的目的是減少圖像數據中的冗餘信息從而用更加高效的格式存儲和傳輸數據。圖像壓縮可以是有損數據壓縮也可以是無損數據壓縮。對於如繪制的技術圖、圖表或者漫畫優先使用無損壓縮,這是因為有損壓縮方法,尤其是在低的位速條件下將會帶來壓縮失真。如醫療圖像或者用於存檔的掃描圖像等這些有價值的內容的壓縮也盡量選擇無損壓縮方法。有損方法非常適合於自然的圖像,例如一些應用中圖像的微小損失是可以接受的(有時是無法感知的),這樣就可以大幅度地減小位速。將色彩空間化減到圖像中常用的顏色。所選擇的顏色定義在壓縮圖像頭的調色板中,圖像中的每個像素都用調色板中顏色索引表示。這種方法可以與 抖動(en:dithering)一起使用以模糊顏色邊界。色度抽樣,這利用了人眼對於亮度變化的敏感性遠大於顏色變化,這樣就可以將圖像中的顏色信息減少一半甚至更多。變換編碼,這是最常用的方法。
『伍』 如何用哈夫曼編碼對圖像進行壓縮
% 演示圖象的哈夫曼編解碼過程
% chenyong 2009.04.20
clear all;
close all;
clc;
Dimens = 256; % 矩陣維數,假設矩陣為方陣即256*256
src_size = Dimens^2; % 矩陣元素的個數
gray_level = 9; % 灰度級
src = randn(Dimens); %產生模擬圖像矩陣,滿足正態分布,零均值,方差為1
%src = randint(Dimens,Dimens,gray_level); % 產生隨機圖像矩陣,灰度值為0~63,滿足均勻分布
src_one = reshape(src,1,src_size);
src_max = max(src_one);
src_min = min(src_one);
quan = linspace(src_min,src_max,gray_level); % 產生均勻量化區間
src_d = []; % 數字矩陣
for row = 1:Dimens % 逐點量化
for vol = 1:Dimens
diff = abs(src(row,vol)-quan);
[min_diff,min_index] = min(diff);
quan_gray = min_index -1;
src_d(row,vol) = quan_gray;
end
end
%將數字圖像矩陣還原成模擬矩陣
src_a = [];
quan_space = quan(2)-quan(1);
for row = 1:Dimens
for vol = 1:Dimens
src_a(row,vol) = src_d(row,vol) * quan_space + src_min;
end
end
% prob數組保存圖像中各灰度出現的概率
prob = [];
for src_value=0:(gray_level-1)
index = find(src_d==src_value);
i = src_value + 1;
prob(i) = length(index)/src_size;
end
% 畫出直方圖
% stem(0:gray_level-1,prob);
% xlabel('灰度值');
% ylabel('概率');
% title('灰度直方圖');
% huffman編碼
p = prob;
n=length(p);
q=p;
m=zeros(n-1,n);
for i=1:n-1
[q,l]=sort(q);
m(i,:)=[l(1:n-i+1),zeros(1,i-1)];
q=[q(1)+q(2),q(3:n),1];
end
bre=zeros(n-1,n);
bre(n-1,1)=0+j; %虛部表示當前的二進制數的位數,以下類似
bre(n-1,2)=1+j;
for time=1:n-2
loc_1 = find(real(m(n-time,:))==1);
prebit = bre(n-time,loc_1);
bre(n-time-1,1) = (real(prebit)*2 + 0) + j*(imag(prebit)+1);
bre(n-time-1,2) = (real(prebit)*2 + 1) + j*(imag(prebit)+1);
loc_not1 = find(real(m(n-time,:))>1);
bre(n-time-1,3:3+time-1) = bre(n-time,loc_not1);
end
[m1,index] = sort(m(1,:));
code = bre(1,index);
code_data = real(code);
code_bits = imag(code);
disp(['gray level',' ', 'huffman code']);
for i = 1:length(code)
disp([num2str(i-1),' ' ,num2str(dec2bin(code_data(i)))]);
disp([num2str(i-1),' ' ,num2str(dec2bin(code_data(i),code_bits(i)))]);
end
code_binary = dec2bin(code_data);
%逐點編碼
out = [];
for row = 1:Dimens
for vol = 1:Dimens
now_gray = src_d(row,vol);
now_code = code_binary(now_gray+1,:);
now_bits = code_bits(now_gray+1);
now_code = now_code(end-now_bits+1:end);
out = [out, now_code];
end
end
%計算壓縮比
real_bitnum = length(out);
bitnum_no_huffman = src_size*nextpow2(gray_level);
comp_ratio =bitnum_no_huffman/real_bitnum;
Lavg = real_bitnum/src_size;
Hshannon = (-1)*prob*(log2(prob))';
disp(['Lavg = ',num2str(Lavg)]);
disp(['normal bit num = ',num2str(nextpow2(gray_level))]);
disp(['comp_ratio = ',num2str(comp_ratio)]);
disp(['Hshannon = ',num2str(Hshannon)]);
『陸』 簡述JPEG靜態圖象壓縮編碼的過程及其實現技術
不是吧。。。。啥專業?
10、詳述JPEG靜態圖象壓縮編碼原理及實現技術。
答:JPEG是由國際電報咨詢委員會(CCITT)和國際標准化協會(OSI)聯合組成的一個圖象專家小組開發研製的連續色調、多級灰度、靜止圖象的數字圖象壓縮編碼方法。JPEG適於靜止圖象的壓縮,此外,電視圖象序列的幀內圖象的壓縮編碼也常採用JPEG壓縮標准。JPEG數字圖象壓縮文件作為一種數據類型,如同文本和圖形文件一樣地存儲和傳輸。基於離散餘弦變換(DCT)的編碼方法是JPEG演算法的核心內容。演算法的編解碼過程如教材136頁圖4.25-4.26所示。編碼處理過程包括原圖象數據輸入、正向DCT變換器、量化器、熵編碼器和壓縮圖象數據的輸出,除此之外還附有量化表和熵編碼表(即哈夫曼表);接收端由信道收到壓縮圖象數據流後,經過熵解碼器、逆量化器、逆變換(IDCT),恢復並重構出數字圖象,量化表和熵編碼表同發送端完全一致。編碼原圖象輸入,可以是單色圖象的灰度值,也可以是彩色圖象的亮度分量或色差分量信號。DCT的變換壓縮是對一系列8*8采樣數據作塊變換壓縮處理,可以對一幅像,從左到右、從上到下、一塊一塊(8*8/塊)地變換壓縮,或者對多幅圖輪流取8*8采樣數據塊壓縮。解碼輸出數據,需按照編碼時的分塊順序作重構處理,得到恢復數字圖象。
具體的實現技術如下:
(1)首先把一幅圖象分8*8的子塊按圖中的框圖進行離散餘弦正變換(FDCT)和離散餘弦逆變換(IDCT)。
在編碼器的輸入端,原始圖象被分成一系列8*8的塊,作為離散餘弦正變換(FDCT)的輸入。在解碼器的輸出端,離散餘弦逆變換(IDCT)輸出許多8*8的數據塊,用以重構圖象。8*8 FDCT和8*8 IDCT數學定義表達式如下:
離散餘弦正變換(FDCT)可看作為一個諧波分析儀,把離散餘弦逆變換(IDCT)看作一個諧波合成器。每個8*8二維原圖象采樣數據塊,實際上是64點離散信號,該信號是空間二維參數x和y的函數。FDCT把這些信號作為輸入,然後把它分解成64個正交基信號,每個正交信號對應於64個二維(2D)空間頻率中的一個,這些空間頻率是由輸入信號的頻譜組成。FDCT的輸出是64個基信號的幅值(即DCT系數),每個系數值由64點輸入信號唯一地確定,即離散餘弦變換的變換系數。在頻域平面上變換系數二維頻域變數u和v的函數。對應於u=0,v=0的系數,稱做直流分量(DC系數),其餘63個系數稱做交流分量(AC系數)。因為在一幅圖象中像素之間的灰度或色差信號變化緩慢,在8*8子塊中像素之間相關性很強,所以通過離散餘弦正變換處理後,在空間頻率低頻范圍內集中了數值大的系數,這樣為數據壓縮提供了可能。遠離直流系數的高頻交流系數大多為零或趨於零。如果FDCT和IDCT變換計算中計算精度足夠高,並且DCT系數沒有被量化,那麼原始的64點信號就能精確地恢復。
(2)量化
為了達到壓縮數據的目的,對DCT系數F(u,v)需作量化處理。量化處理是一個多到一的映射它是造成DCT編解碼信息損失的根源。在JPEG標准中採用線性均勻量化器。量化定義為,對64個DCT變換系數F(u,v)除以量化步長Q(u,v)後四捨五入取整。即量化器步長是量化表的元素,量化表元素隨DCT變換系數的位置而改變,同一像素的亮度量化表和色差量化表不同值,量化表的尺寸也是64,與64個變換系數一一對應。量化表中的每一個元素值為1至255之間的任意整數,其值規定了對應位置變換系數的量化器步長。在接收端要進行逆量化,逆量化的計算公式為:
不同頻率的餘弦函數對視覺的影響不同,量化處理是在一定的主觀保真度圖像質量的前提下,可據不同頻率的視覺閾值來選擇量化表中的元素值的大小。根據心理視覺加權函數得到亮度化表和色度量化表。DCT變換系數F(u,v)除以量化表中對應位置的量化步長,其幅值下降,動態范圍變窄,高頻系數的零值數目增加。
(3)熵編碼
為進一步達到壓縮數據的目的,需對量化後的DC系數和行程編碼後的AC系數進行基於統計特性的熵編碼。64個變換系數經量化後,坐標u=v=0的值是直流分量(即DC系數)。DC系數是64個圖像采樣平均值。因為相鄰的8×8塊之間有強的相關性,所以相鄰塊的DC系數值很接近,對量化後前後兩塊之間的DC系數差值進行編碼,可以用較少的比特數。DC系數包含了整個圖像能量的主要部分。經量化後的63個AC系數編碼時從左上方AC(u=7,v=7)開始,沿箭頭方向,以「Z」字形行程掃描,直到AC(u=7,v=7)掃描結束。量化後特編碼的AC系數通常有許多零值,沿「Z」字形路徑行進,可使零AC系數集中,便於使用行程編碼方法。63個AC系數行程編碼和碼字,可用兩個位元組表示。JPEG建議使用兩種熵編碼方法:Huffman編碼和自適應二進制算術編碼。熵編碼可分成兩步進行,首先把DC和AC系數轉換成一個中間格式的符號序列,第二步是給這些符號賦以變長碼字。