án tt nghip i hc c lc
Th Hnh – D04VT1 i
C LC
MC LC i
THUT NG VIT TT iii
DANH MC HÌNH V v
LI GII THIU vi
CHNG 1: TNG QUAN V NÉN NH VÀ CHUN NÉN NH JPEG 7
1.1. Gii thiu tng quan v nén nh 7
1.1.1 Phân loi k thut nén 8
1.1.2 Mt s k thut mã hóa 9
1.2 Chun nén JPEG 12
1.2.1 Gii thiu 12
1.2.2 Bin i cosin ri c DCT 14
1.2.3 Lng t hóa 19
1.2.4 Quét zig-zag 21
1.2.5 Mã hóa dài thay i VLC 23
1.2.6 Quá trình gii nén 25
1.2.7 Mã hóa và gii mã JPEG tun t 28
1.2.8 Nén JPEG y tin 29
1.3. Kt lun 30
CHNG 2: BIN I WAVELET 31
2.1 Bin i Wavelet 31
2.1.1 Bin i wavelet ri rc 33
2.1.2 Khái nim phân tích a phân gii 34
2.1.3 S dng b lc và thut toán hình chóp 36
2.2 M rng i vi các tín hiu 2-D. 39
2.3 Trin khai Lifting cho bin i wavelet ri rc 41
2.3.1 Lifting 43
2.3.2 S ph thuc d liu cho tính toán Lifting 47
2.4. Kt lun 49
CHNG 3: CHUN JPEG2000 DA TRÊN BIN I WAVELET 50
3.1. Gii thiu 50
3.1.1 c m JPEG2000 51
3.1.2 Các thành phn ca chun JPEG2000. 54
án tt nghip i hc c lc
Th Hnh – D04VT1 ii
3.2 Các bc thc hin nén nh 56
3.2.1 Tin x lý nh 56
3.2.2 Nén 58
3.2.2.1 Bin i Wavelet ri rc 59
3.2.2.2 Lng t hóa 63
3.2.2.3 Mã hóa theo vùng 64
3.2.2.4 iu khin tc 67
3.2.2.5 Mã hóa Entropy (Tier-1 và Tier-2) 67
3.3 So sánh JPEG2000 và JPEG 80
3.4. Kt lun 81
KT LUN 82
TÀI LIU THAM KHO 83
án tt nghip i hc Thut ng vit tt
Th Hnh – D04VT1 iii
THUT NG VIT TT
AC Alternatingg Current Dòng xoay chiu
BPC Bit Plane Coder B mã hóa mt phng bit
CB Code Block Khi mã
CODEC enCOder/DECoder Cp mã hóa/gii mã
CWT Continute Wavelet Transform Bin i Wavelet liên tc
DC Direct Current Dòng mt chiu
DCT Discrete Cosin Transform Bin i Cosin ri rc
DPCM Differential Pulse Code Modulation iu ch xung mã vi sai
DTWT Discrete Time Wavelet Transform Bin i Wavelet thi gian ri rc
DWT Decrete Wavelet Transform Bin i wavelet ri rc
EBCOT Embedded Block Coding with
optimized Truncation
Thut toán mã hóa cho BPC
EPH End of Packet Header Kt thúc tiêu gói
FDCT Forward Decrete Cosin Transform Bin i cosin ri rc thun
FIR Finite Impulse Response áp ng xung hn ch
ICT I Colour Transform Nhóm các nh
IDCT High Definition Television Truyn hình phân gii cao
ISO/IEC International Standards
Organisation/International
Electrotechnical Commission
T chc chun quc ty ban k
thutin quc t
IWT Interger Wavelet Transform Bin i Wavelet nguyên
JPEG Joint Photographic Experts Group Nhóm chuyên môn vnh
án tt nghip i hc Thut ng vit tt
Th Hnh – D04VT1 iv
JPWL JPEG Wireless JPEG cho không dây
LSB Least Significant Bit Bit có quan trng thp nht
MJPEG Motion JPEG Mt chun trong h JPEG
MPEG Motion Picture Experts Group Nhóm chuyên môn v phim nh
MSB Most Significant Bit Bit có quan trng cao nht
MSE Mean - Squared Error Sai s bình phng trung bình
PSNR Peak Signal to Noise Ratio T l tín hiu nh trên nhiu
QMF Quardrature mirror filters B lc gng cu phng
RGB Red, Green and Blue Các màu c bn
RCT Reversible Colour Transform Bin i màu thun nghch
RLC Run Length Coding Mã hóa dài chy
RVLC Reversible Variable Length Code Mã hóa dài thayi nghch
RMSE Root-Mean- Squared Error n bc hai ca sai s trung bình
bình phng
ROI Region of Interest Mã hóa vùng
SOP Start of Packet Bt u gói
VLC Variable Length Code Mã hóa dài thay i
án tt nghip i hc Danh mc hình v
Th Hnh – D04VT1 v
DANH MC HÌNH V
Hình 1.1 B mã hóa ngun, b mã hóa kênh, kênh 7
Hình 1.2 CODEC hình nh hoc video 9
Hình
1.3
minh ho k thut mã hoá ng con – M bng con
10
Hình 1.4 Minh ho quá trình phân ly bng con cây bát phân
12
Hình
1.5
Phân ly hai nh mu thành bn bng con
12
Hình 1.6 S mã hóa và gii mã theo JPEG 14
Hình 1.7 Mã hóa khi 8x8 bng DCT 2 chiu 17
Hình 1.8 Khai trin DCT và bng trng s Q(u,v) 18
Hình 1.9 Khai trin DCT cho khi nh có chói dng bàn c 19
Hình 1.10 Các ng lng t cho tín hiu chói và màu theo chun JPEG 20
Hình 1.11 Quét zig-zag các h s lng t hóa DCT 21
Hình 1.12 Quá trình mã hóa RLC 22
ng 1.1 Phm vi giá tr các h s trong các nhóm (category). 23
ng 1.2 Ví d bng Huffman cho h s AC 24
Hình 1.13 S khi h thng mã VLC cho h s DC và AC 25
Hình 1.14 S khi h thng gii mã JPEG 25
Hình 1.15 Khôi phc các m nh trong khi 8x8 27
Hình 1.16 Sai s ca các m nh c khôi phc so vi giá tr ban u 27
Hình 1.17 S khi mã hóa và gii mã JPEG 28
Hình 1.18 Quá trình gii mã JPEG ly tin và tun t 29
Hình 2.1 Hàm wavelet m (t) 32
Hình 2.2 Phân tích và tái to tín hiu wavelet a phân gii 3 mc s dng cu trúc b
lc hình chóp. 38
Hình 2.3 Tính toán hàng-ct ca DWT 2-D. 40
Hình 2.4 M rng DWT cho các tín hiu 2-D 40
Hình 2.5 nh xe p ban u và sau các mc phân tích; 41
Hình 2.6 Phân tích và tái to tín hiu trong DWT 43
Hình 2.7 DWT thun và ngc da trên Lifting 45
Hình 2.8 S quan h d liu vi các h s lifting. 48
Hình 3.1 Kin trúc ca b mã hóa JPEG-2000 50
Hình 3.2 Ví d minh ha kh nng ca công ngh JPEG2000 53
Hình 3.3 Minh ha các kiu nén 55
Hình 3.4 S khi ca thut toán b mã hóa JPEG2000 và lung d liu 59
Hình 3.5 Lng t hóa dead-zone 63
Hình 3.6 Mã hóa theo vùng 64
Hình 3.7 Mt n ROI 65
Hình 3.8 MAXSHIF 66
Hình 3.9 Ví d cu trúc d liu cây tag 70
Hình 3.10 Cu trúc cây Quad 71
Hình 3.11 Lung bit c to ra sau mã hóa 71
Hình 3.12 nh dng lung bit 72
án tt nghip i hc Li gii thiu
Th Hnh – D04VT1 vi
I GII THIU
Nhng nm tr li ây, nén nh ã tr thành công ngh ch yu cho các ng
dng t máy tính cá nhânn truyn hình. Do s phát trin mnh m ca Internet và
nhu cu dch v d liu trên mng nht là d liu a phng tin là rt ln nên ã t
ra yêu cu cp thit v mt phng pháp nén nh nhm gim bt không gian lu tr
thông tin và truyn thông trên mng mà vnm bo v mt hiu sut và cht lng.
So vi các chun nén trc ây nh JPEG, MPEG-1, 2 chun nén JPEG2000 có
nhiu u im nh tính linh hot và hiu sut cao cùng nhng tính nng phù hp cho
nhiu ng dng. Vì vy tác giã chn tài cho án tt nghip ca mình: “Nén nh
JPEG2000 s dng bin i wavelet”.
Ni dung ca án gm 3 chng c trình bày nh sau:
Chng 1: Tng quan v nén nh và nén nh JPEG. Chng này gii thiu
mt cách tng quan v nén nh, phân loi các k thut nén nh và các bc trong nén
nh chun JPEG.
Chng 2: Bin i Wavelet. Mc ích ca chng này là gii thiu c s toán
hc ca bin i wavelet.
Chng 3: Nén nh s dng JPEG2000.ây là ni dung chính ca án.
Chng này trình bày các c m và k thut c s dng nén nh trong
JPEG2000c bit là k thut mã hóa.
Do thi gian không cho phép và kin thc còn hn ch nên chc rng không tránh
khi nhng thiu sót, tác gi rt mong nhn c s ch bo, góp ý ca các thy cô
giáo và các bn án hoàn thin hn. Xin trân trng cm n cô giáo Thc s
Nguyn Th Thu Hng, các thy cô giáo trong Hc vin ã hng dn, giúp trong
sut thi gian hc tp và làm án tt nghip. Tôi cng xin cm n các bn trong lp
D2004VT1 ã dành s quan tâm, giúp trong sut thi gian va qua.
Hà Ni, ngày 15 tháng 11 nm 2008
Sinh viên thc hin
Th Hnh
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 7
CHNG 1: TNG QUAN V NÉN NH VÀ CHUN NÉN
NH JPEG
Mc ích ca chng này là gii thiu chung v nén nh, bao gm khái nim,
phân loi các k thut c bn ca nén nh, mt s phng pháp trong mã hóa nh: mã
hóa doán, mã hóa da trên phép bin i, mã hóa bng con. Chng 1 cng trình
bày v mt h thng nén nh theo chun JPEG.
1.1. Gii thiu tng quan v nén nh
S phân tích các tín hiu video cho thy có s liên quan cht ch gia các khung
nh liên tip và c trong bn thân nhng phn tnh. V mt lý thuyt, vic gim s
ng quan ca nhng tín hiu này có th dn ti vic nén bng tn mà không nh
ng áng k ti phân gii hình nh. Hn na, có th tn dng nhy ca h
thng th giác ca con ngi i vi s mt mát mt s thông tin có th gim c
nhiu s tng quan hn. Do ó, các công ngh nén có tn tht có thc s dng
làm gim s lng bit biu din trong khi vn gic mt cht lng hình nh
chp nhn c.
Nh vy, nhng tín hiu mang thông tin có thc nén, tc là chuyn sang mt
s biu din hoc mt dng mà yêu cu ít bit hn tín hiu ban u (không nén). Mt
thit b hoc chng trình dùng nén mt tín hiu là mt encoder và thit b hay
chng trình gii nén tín hiu là mt decoder. Mt b enCOder/DECoder c gi
là mt CODEC.
Hình 1.1 B mã hóa ngun, b mã hóa kênh, kênh
Hình 1.1 th hin mt ví dn hình v mt CODEC là mt phn ca h thng
truyn thông. Thông tin ban u (cha nén) c mã hoá (nén): ó là quá trình mã hoá
ngun. Tín hiu ã mã hoá ngun sau ó c tip tc mã hoá thêm kh nng
chng li (mã hoá kênh) và u tiên truyn dn qua mt kênh. Ti u thu, mt
b gii mã kênh s tách và (hoc) sa nhng li trong quá trình truyn dn và mt b
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 8
gii mã ngun s gii nén tín hiu. Tín hiu ã c gii nén có th ging ht nh tín
hiu ban u (nén không tn tht) hoc nó cng có th b méo hoc suy bin theo mt
vài cách nào ó (nén có tn tht).
1.1.1 Phân loi k thut nén
Nén d liu c chia thành 2 dng c bn: Nén không tn tht (lossless) và nén
có tn tht (lossy).
i vi dng nén không tn tht, nh c khôi phc hoàn toàn ging nh gc.
Tuy nhiên iu này òi hi phi có thit b lu tr và ng truyn ln. Các thut toán
ca nén không tn tht thng da vào vic thay th mt nhóm các ký t trùng lp bi
mt nhóm các ký tc bit khác ngn hn mà không quan tâm ti ý ngha ca dòng
bit d liu. Các ví d ca dng nén không tn tht nh s dng RLE (Run Length
Encoding), mã hóa Huffman, mã hóa s hc,…
i vi dng nén có tn tht, nh c khôi phc không ging hoàn toàn vi nh
gc. Dng nén này phù hp vi vic lu tr và truyn nh qua mt mng có bng
thông hn ch. Các dng nén này thng cho h s nén cao hn, nó liên quan ti vic
dùng các phép bin i tín hiu t min này sang min khác. Các ví d ca bin i có
mt d liu gm: Mã hóa vi sai (Differential Encoding), DCT (Discrete Cosine
Transform), lng t hóa vect (Vector Quantization), …
Các tín hiu nh có thc nén li bi chúng có các tính cht:
• Có s tng quan (d tha) v mt không gian: Trong phm vi mt bc nh tn
ti s tng quan áng k gia các im nh lân cn.
• Có s tng quan (d tha) v ph: Các d liu thu c t các b cm bin
ca thit b thu nhn nh tn ti s tng quan áng k gia các mu thu, ây
chính là s tng quan v ph.
• Có s tng quan (d tha) v thi gian: Trong mt chui nh, tn ti s tng
quan gia các m nh ca các khung (frame).
Ngoài ra có s d tha v mã và v tâm sinh lý. Thông thng các CODEC c
thit k vi mc ích là mã hoá và nén d liu có cha s d tha tnh. Ví d, các ký
t trong mt file vn bn xut hin vi nhng tn s khác nhau: trong ting Anh, các
ch cái E, T và A xut hin thng xuyên hn các ch cái Q, Z và X. iu này to ra
kh nng nén mt file vn bn thông qua vic biu din các ký t xut hin thng
xuyên bng các mã ngn và các ký t xut hin không thng xuyên bng các mã dài
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 9
n (nguyên lý này c s dng trong mã hoá Huffman). Vic nén c to ra bi
vic làm gim s tha tnh trong file vn bn. Loi CODEC c s dng cho mc
ích này c bit n là CODEC entropy. Mô hình ngun s khai thác các c tính
ca d liu hình nh và biu din nó di mt dng có th nén bi mt b mã hoá
entropy. Hình 1.2 th hin mt thit k c bn ca mt CODEC hình nh hoc video
bao gm mt mô hình ngun và mt b mã hoá/gii mã entropy.
Hình 1.2 CODEC hình nh hoc video
1.1.2 Mt s k thut mã hóa
a) Mã hóa doán:
i vi mã hoá doán (predictive coding) các giá tr mang thông tin ã c gi
hay ang sn có sc s dng doán các giá tr khác, và ch mã hoá s sai lch
gia chúng. Phng pháp này n gin và rt phù hp vi vic khai thác các c tính
cc b ca bc nh. K thut DPCM chính là mt ví dn hình ca phng pháp
này. u. Trong phng pháp mã hoá d oán, sai lch nh gc và nh doán vn
có ý ngha (còn s dng bc tip theo) sau khi lng t hoá, chính u này làm
cho phng pháp mã hoá doán có nhiu d liu c truyn i hn so vi phng
pháp mã hoá bin i.
b) Mã hóa da trên phép bin i:
Mã hoá da trên phép bin i (transform based coding) thc hin nh sau: trc
tiên thc hin phép bin i vi nh chuyn s biu din nh t min không gian
sang mt min biu din khác. Các phép bin i thng dùng là: DCT - bin
i Cosine ri rc, DWT - bin i Wavelet ri rc tip ó thc hin mã hoá i vi
các h s bin i. Phng pháp này có hiu sut nén cao hn rt nhiu so vi phng
pháp nén doán bi vì chính các phép bin i (s dng các thuc tính nén nng
ng ca mình) ã gói gn toàn b nng lng bc nh ch bng mt s ít các h s,
s ln các h s còn li ít có ý ngha loi b sau khi lng t hoá và nh vy
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 10
ng d liu phi truyn nh i rt nhiMt phép bin i là mt hàm toán hc
c s dng bin i mt tp các giá tr này thành mt tp giá tr khác và to ra
mt cách biu din mi cho cùng mt ngun tin. Tt c các phép bin i mà chúng ta
nh trình by di ây u là không tn hao (lossless); vi s chính xác ca các phép
toán s hc thì các phép bin i vn bo tn c chính xác bt k mc nào.
Nhng hu ht các k thut mã hoá u có tn hao bc lng t hoá do có s làm
tròn giá tr cho các h s phép bin i.
Các k thut mã hoá da trên phép bin i c s dng trong nén nh.
+ K thut mã hoá da trên phép bin i cosine ri rc – DCT
+ K thut mã hoá da trên phép bin i DWT
c) Mã hóa bng con:
tng chính ca k thut mã hoá bng con là: các nh c ly mu u vào
c phân ly thành các bng tn khác nhau (gi là các tín hiu bng con). Yêu cu ca
k thut này là làm th nào các bng con không b chng chéo lên nhau.
Hình
1.3
minh ho k thut mã hoá ng con – M bng con
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 11
có th phân ly tín hiu b mã hoá (encoder) thành các bng con, nh
c cho qua mt bank lc (filter bank) gi là bank lc phân tích và mi u ra
ca bank lc bng con c ly mu xung h s 2.
Các u ra bng con tn sc ly mu xung s ln lt c: lng t hoá
c lp bng các b lc vô hng khác nhau, mã hoá entropy, lu tr và truyn i.
phía b gii mã (decoder), quá trình c thc hin ngc li: gii lng t bng
con tn s, ly mu lên vi h s 2, cho i qua bank lc bng con tng hp ri cng
tc các u ra ca b lc khôi phc li nh. Các b lc bng con thng c
thit k xp x tho mãn tiêu chun ca các áp ng tn s không chng
chéo. Mc ích là gii tng quan các h s tn s kt qu. ây chính là tính
cht quan trng mà quá trình lc bng con c gng t c. Các b lc bng con
c thit k xp x vi các b lc chn tn s lý tng, trong ó áp ng tng hp
t tt c các b lc bao trùm tt c bng tn ca nh. Tuy nhiên trong thc t, s tng
quan tng không bao git c do nhng b lc này ch xp x vi các b lc lý
ng. Hình 1.3 di ây là s tng quát gii thích k thut mã hoá bng con.
Các b lc s dng trong mã hoá bng con là các b lc gng t phng – QMF
(quardrature mirror filters), do vy chúng ta ch cn thit k các b lc thông thp
có áp ng H còn áp ng ca các b lc thông cao ch là s dch pha 180
0
so vi b
lc thông thp. S chính xác ca b lc ph thuc vào s các h s ca b lc.
Mt trong các phng pháp mã hoá bng con ó là áp dng s phân ly cây bát
phân phân ly d liu nh thành các bng tn khác nhau. Ý tng ca
phng pháp này là: trc tiên lc và lc bnh phân ly nh thành các bng con
tn s cao và thp, sau ó tip tc phân ly nhng ch áp dng cho ng con tn s thp
to thành các bng con tn s cao và thp tip tc lc b. K thut này rt ph
bin và cng c áp dng trong các b mã s dng bin i Wavelet. u ra ca các
ng con sau khi ã gin lc sc lng t hoá và mã hoá c lp. Mi bng con
s s dng b lng t hoá riêng và mi b lng t hoá này có tc ly mu riêng
(bít/mu).
N vy rõ ràng mã hoá ng con không t c s nén, mà nó ch thc hin
vic gii ng quan d nh gc và tp trung ng ng ca nh vào mt s
ng con. Nén ch t c là do s c b nh
(decimation)
và do s lng t
hoá
(quantization)
.
Trong các h thng mã hoá bng con hai chiu thc t, ngi ta chia min tn s -
không gian hai chiu ca nh gc thành các bng khác nhau bt k mc nào.
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 12
Hình 1.4 Minh ho quá trình phân ly bng con cây bát phân
Hình 1.5 di ây minh ho vic phân ly 2 nh mu thành 4 bng con LL, HL, LH
và HH mc u tiên.
Hình
1.5
Phân ly hai nh mu thành bn bng con
1.2 Chun nén JPEG
1.2.1 Gii thiu
JPEG (Joint Photographic Expert Group) là tên a mt t chc nghiên cu v các
chun nén nh c thành lp vào nm 1982. Tiêu chun này có th c ng ng
trong nhiu nh vc: u trnh, Fax màu, truyn nh báo chí,nh cho y c, camera
s
Tiêu chun JPEG c nh ra cho nén nh nh n sc và màu. Tuy nhiên ng
c s dng cho nhiu ng ng vi nh ng bi vì nó cho cht lng nh khôi
phc khá tt và ít tính toán hn so vi nén MPEG. Nén JPEG có th thc hin bi bn
mode mã hóa ó là:
a) Mã tun t (sequential DCT-based): nh c mã hóa theo kiu quét t trái qua
phi, t trên xung di da trên khi DCT.
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 13
b) Mã hóa y tin (progressive DCT-based): nh c mã hóa bng kiu quét
phc hp theo ch phân gii không gian cho các ng ng trên kiu bng p và do
ó thi gian truyn dn có dài.
c) Mã hóa không tn tht (lossless): nh c m o khôi phc chính xác cho
mi giá tr mu a ngun. Thông tin không cn thit mi ct cho nên hiu qu nén
thp hn so vi phng pháp có tn tht.
d) Mã hóa phân cp (hierarchical): nh c mã hóa ch phân gii không
gian phc hp, cho nhng nh có phân gii thp có th c truy xut và hin
th mà không cn gii nén nh nhng nh có phân gii trong không gian cao hn.
l nén nh tnh có th t t 1/10 n 1/50 mà không làmnh hng n cht
lng hin th ca nh. Khai trin DCT c chn là k thut then cht trong JPEG vì
nó cho nh nén cht lng tt nht i tc bit thp và gii thut chuyn i nhanh và
d dàng thc hin bng phn cng. Trc khi a vào chuyn i DCT, nh gc phi
c x lý nén di tn tín hiu hiu màu và chia nh thành các block. Vic nén ph
tín hiu hiu màu làm gim tha tâm sinh lý. thut này da vào c trng h
thng th giác a con ngi. Mt ngi kém nhy vi s thay i tín hiu màu hn s
thay i tín hiu chói. Vì vy, ta không cn thit truyn i thông tin a tín hiu màu
vi tn s nh truyn thông tin tín hiu chói.
l ly mu thông ng là 4:2:2 và 4:1:1. nh ng 4:2:2 ngha là c 4 mu tín
hiu chói thì có 2 mu cho mi loi tín hiu hiu màu. Nói cách khác, c 2 mu tín
hiu chói có 1 mu tín hiu hiu màu. nh ng 4:1:1 ngha là c 4 mu tín hiu chói
thì có 1 mu cho mi loi tín hiu hiu màu. Gi s tín hiu hiu màu ch c ly
mu theo chiu c và mi mu có 8 bit, s bit trung bình trên mt pixel theo l ly
mu 4:2:2 là 8×4/2, hay 16 bit/pixel. Theo l 4:1:1 là 8×6/4, 12bit/pixel. thut
ly mu tín hiu hiu màu c áp ng hai chiu ngang và dc. nhiên, iu này
làm gim hn na lng thông tin v tín hiu hiu màu.
Trc khi thc hin bin i DCT, nh c chia thành các khi ln riêng bit
không chng nhau (MB-Marco Block). Mi MB bao gm 4 block các tín hiu chói (Y)
và 2,4 hoc 8 block các mu tín hiu hiu màu (Cr,Cb). S các block a tín hiu hiu
màu ph thuc vào tiêu chun ly mu a tín hiu video: 4:2:2, 4:1:1 hay 4:2:0 v.v.
Tt các block có cùng kích thc và mi block là mt ma trn im nh 8×8
pixel c ly t mt nh màn hình theo chiu t trái sang phi, t trên xung di.
Kích thc block là 8×8c chn bi hai lý do sau:
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 14
a) Th nht, qua vic nghiên cu cho thy hàm tng quan suy gim rt nhanh khi
khong cách gia các pixel vt quá 8.
b) Th hai, là s tin li cho vic tính toán và thit k phn cng. Nói chung,
phc p v tính toán ng nu kích thc block tng.
Hình 1.6 mã hóa và gii mã theo JPEG
1.2.2 Bin i cosin ri c DCT
Công n u tiên a hu ht các quá trình nén là xác nh thông tin d tha
trong min không gian a tín hiu. Nén không gian c thc hin bi phép bin i
cosin ri c DCT (Discrete Cosine Transform). DCT bin i d liu di ng biên
thành d liu di ng tn s. c ích a quá trình bin i là thay i d liu
biu din thông tin: d liu a nh con tp trung vào mt phn nh các h s hàm
truyn. Vic mã hóa và truyn ch thc hin i vi các h s ng lng này, và có
th cho kt qu tt khi o i tín hiu. Các phép tính DCT c thc hin trong phm
vi các khi 8×8 mu tín hiu chói Y và các khi tng ng a tín hiu hiu màu. Vic
chia hình nh thành các block ã c thc hin khi tin x lý.
a) DCT mt chiu
DCT mt chiu bin i biên tín hiu ti các im ri rc theo thi gian hoc
không gian thành chui các h s ri rc, mi h s biu din biên ca mt thành
phn tn s nht nh có trong tín hiu gc. H s u tiên biu din mc DC trung
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 15
bình a tín hiu. T trái sang phi, các h s th hin các thành phn tn s không
gian cao hn a tín hiu và c i là các h s AC. Thông thng, nhiu h s AC
có giá tr gn hoc bng 0.
Quá trình bin i DCT thun (FDCT) dùng trong tiêu chun JPEG c nh
ngha nh sau:
( )
( )
1
0
2 (2 1)
( )cos
2
N
m
mk
X k C k xm
NN
π
−
=
+
=
∑
(1.1)
Hàm bin i DCT ngc (mt chiu):
( )
1
0
2 (2 1)
()()cos
2
N
k
mk
xm XkCk
NN
π
−
=
+
=
∑
(1.2)
trong ó: X(k) là chui kt qu.
x(m) là giá tr a mu m.
k-ch s ca h s khai trin.
m-ch s ca mu.
N- s mu có trong tín hiu
( )
1/20
10
k
Ck
k
=
=
≠
b) DCT hai chiu
tách tng quan ni dung nh cao hn, mã hóa DCT hai chiu (2-D) c
dùng cho các khi 8×8 giá tr các im chói. Quá trình bin i DCT thun dùng trong
tiêu chun JPEG c nh ngha nh sau:
F(u,v)=
4
)()( vCuC
16
)12(
cos
16
)12(
cos),(
7
0
7
0
ππ vkuj
kjf
jk
++
∑∑
==
(1.3)
trong ó:
f(j,k)- các mu gc trong khi 8×8 pixel.
F(u,v)-các h s ca khi DCT 8×8.
( ) ( )
1/2 ,0
,
1 ,0
uv
Cu Cv
uv
=
=
≠
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 16
Phng trình trên là mt liên kt a hai phng trình DCT mt chiu, mt cho
tn s ngang và mt cho tn s ng. Giá tr trung bình ca block 8x8 chính là h s
th nht (khi u,v= 0)
( )
77
00
1
0,0 (,)
8
jk
F f jk
==
=
∑∑
(1.4)
Phng trình này cng tt các giá tr pixel trong khi 8×8 và chia kt qu cho 8.
Kt qu phép tính bng 8 ln giá tr pixel trung bình trong khi. Do ó h s th nht
c i là h s DC. Các h s khác, di giá tr thành phn mt chiu, biu din các
tn s cao hn theo chiu c. Các h s v phía bên phi a thành phn mt chiu
biu th các tn s cao hn theo chiu ngang. H s trên cùng cn phi (0,7) c
trng cho tín hiu có tn s cao nht theo phng nm ngang a ma trn 8×8, và h
s hàng cui bên trái (7,0) c trng cho tín hiu có tn s cao nht theo phng
thng ng. Còn các h s khác ng vi nhng phi hp khác nhau a các tn s theo
chiu c và chiu ngang.
Phép bin i DCT hai chiu là bin i i xng và bin i nghch có th to i
các giá tr mu f(j,k) trên c s các h s F(u,v) theo công thc sau:
( )
( ) ( )
77
00
( 2 1) ( 2 1)
, ( , )cos cos
4 16 16
uv
CuCv
ju kv
f jk Fuv
ππ
==
++
=
∑∑
(1.5)
Nh vy, bin i DCT ging nh bin i Fourier và các h s F(u,v) ng ging
nhau v ý ngha. Nó biu din ph tn tín hiu c biu din bng các mu f(j,k). n
thân phép bin i DCT không nén c s liu, t 64 mu ta nhn c 64 h s.
Tuy nhiên, phép bin i DCT thay i phân b giá tr các h s so vi phân b các
giá tr mu. Phép bin i DCT cho ta giá tr DC tc F(0,0) thng ln nht và các h
s trc tip k nó ng vi tn s thp có giá tr nh hn, các h s còn i ng vi tn
s cao có giá tr rt nh.
Hình 1.7 là mt ví d minh ha quá trình DCT hai chiu a mt khi 8×8
im nh (chói) c trích ra t mt nh thc. Nu dùng quá trình DCT cho các tín
hiu s thành phn Y, C
R
,C
B
thì các tín hiu C
B
,C
R
có biên cc i ±128 ( giá tr
nh phân trong h thng ly mu 8 bit), còn tín hiu Y có mt khong cc i t 0 n
255 giá tr nh phân. n gin vic thit k b mã hóa DCT, tín hiu Y c ch
mc xung di bng cách tr 128 t tng giá tr pixel trong khi có khong cc
i a tín hiu ging nhi vi các tín hiu C
R
và C
B
.
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 17
Hình 1.7 Mã hóa khi 8x8 bng DCT 2 chiu
phn gii mã DCT, giá tr này (128) c cng vào các giá tr pixel chói. Giá tr
h s DC a khi DCT có mt khong t –1024 n 1016.
i vi h s AC ( vi u,v=1,2, ,7), C(u) và C(v)=1 và các giá tr cc i a nó
nm trong khong ±1020 theo phng trình FDCT. Khi 8×8 các giá tr ca h s
DCT a ra 1 giá tr DC ln (ví d =591), biu din sáng trung bình a khi 8×8
và các giá tr rt nh ca các thành phn tn s cao theo chiu ngang và chiu ng.
Nguyên tc chung là nu có s thay i nhiu giá tr pixel-n-pixel theo 1 chiu a
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 18
khi pixel (ngang, ng, chéo) to ra các giá tr h s cao theo các chiu tng ng
a khi h s DCT.
Hình 1.8 Khai trin DCT và bng trng s Q(u,v).
Khi nén nh theo JPEG, ma trn các h s khai trin sau DCT phi c nhân vi
bng trng s Q(u,v) loi b mt phn các h s có biên nh (thng là các
thành phn cao tn). Trên Hình 1.8 mô t quá trình bin i DCT tnh gc (a) và ma
trn h s DCT trc (b) và sau (d) khi nhân vi Q(u,v) (c).
Ví d c trình bày trong hình 1.9, quá trình bin i DCT mt khi pixel có
các giá tr pixels en (giá tr=0) và trng (giá tr=255) xen . Sau khi gim vi –128
thu c các giá tr pixels trong di ng +127 và –128. ây là khi nh có s bin
i ln nht v giá tr biên các im nh và các h s DCT kt qu xác nh nhn
xét này. Mc dù có nhiu h s tn s bng 0, giá tr ca các h s có tn s cao óng
vai trò quan trng trong vic tái o i hình nh khi bin i DCT ngc.
Tóm i, DCT làm gim ng quan không gian a thông tin trong block. iu
ó cho phép biu din thích hp min DCT do các h s DCT có xu hng có phn
tha ít hn. iu này có ngha là DCT gói mt phn ln nng lng tín hiu vào
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 19
các thành phn bin i có tn s ng i thp u tr hoc truyn dn, o 0 và
các giá tr rt thp i vi thành phn tn s cao.
Hình 1.9 Khai trin DCT cho khi nh có chói dng bàn c.
Nh c tính ca h thng nhìn a mt ngi, các h s DCT có th c mã hóa
phù hp, ch các h s DCT quan trng nht mi c mã hóa và truyn i. DCT
thun kt hp vi DCT nghch không cho tn tht nu dài t mã ca h s là 13
n 14 bit cho tín hiu video u vào c s hóa bng các mu dài 8 bit. Nu h s
c lng t hóa bng 11 bit (hoc ngn hn), thì nén bng DCT có tn hao.
1.2.3 Lng t hóa
Bc tip theo a quá trình nén trong nh là lng t hóa các h s F(u,v) sao
cho làm gim c s lng bit cn thit. Các h s ng ng vi tn s thp có các
giá tr ln hn, và nh vy nó cha phn nng lng chính a tín hiu, do ó phi
lng t hóa vi chính xác cao. Riêng h s mt chiu òi i chính xác cao
nht, bi nó biu th giá tr chói trung bình a tng khi phn tnh. Bt
mt sai sót nào trong quá trình lng t h s mt chiu u có kh ng nhn bit d
dàng bi nó làm thay i mc chói trung bình a khi. Ngc i, vi các h s
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 20
ng ng vi tn s cao và có các giá tr nh, thì có th biu din i bng tp giá tr
nh n hn các giá tr cho phép.
Chc nng c n a b lng t hóa là chia các h s F(u,v) cho các h s v
trí ng ng trong ng lng t Q(u,v) biu din s ln nh n các giá tr cho
phép a h s DCT. Các h s có tn s thp c chia cho các giá tr nh, các h s
ng vi tn s cao c chia cho các giá tr ln hn. Sau ó, các h s c làm tròn
( i các phn thp phân).
Kt qu ta nhn c ng Fq(u,v) mi, trong ó phn ln các h s có tn s cao
bng 0. H s lng t hóa thun c xác nh theo biu thc:
Fq(u,v)=
),(
),(
vuQ
vuF
=s nguyên t gn nht
+
),(
2
),(
),(
vuQ
vuQ
vuF
(1.6)
Các giá tr Fq(u,v) s c mã hóa trong các công n tip theo.
Cn phi xác nh là trong quá trình lng t hóa có trng s có xy ra mt thông
tin, gây tn hao. ây là bc tn hao duy nht trong thut toán nén. Mc tn hao
ph thuc vào giá tr các h s trên ng lng t. Sau khi nhân các h s lng t hóa
Fq(u,v) vi Q(u,v) và bin i ngc DCT không nhn c block s cp các mu
f(j,k). Tuy nhiên, trong trng hp nh t nhiên và la chn các giá tr Q(u,v) thích
hp, s khác nhau nhn mc mà mt ngi không phân bit c gia nh gc
và nh biu din.
Hình 1.10 Các ng lng t cho tín hiu chói và màu theo chun JPEG
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 21
Các thành phn DC và tn s thp là các thông s nhy m nht a khi pixel
gc. H s DC c lng t vi chính xác 12 bit nhm tránh các nhiu xut
hin gia các khi im nh. Ngc i, các h s tn s cao có th lng t hóa thô
vi chính xác 2 bit-do kh ng m nhn a mt ngi gim tn s cao. Theo
ó, h s chia trong ng lng t hóa là nh i vi các h s có tn s thp và ng
t t i vi các h s có tn s cao hn.
Trong hình 1.10, giá tr khi xác nh cho phép các giá tr tín hiu chói và tín
hiu màu c lng t khác nhau. Nhiu lng t i vi tín hiu màu khó nhìn thy
n i vi tín hiu chói, cho nên có th thc hin lng t hóa thô tín hiu màu.
Nh vy, khi DCT óng vai trò quan trng trong quá trình lng t hóa khi thit
k h thng nén video vì nó nh hng trc tip n vic cho i cht lng nh khôi
phc tt hay xu.
1.2.4 Quét zig-zag
mã hóa entropy các h s c lng t hóa Fq(u,v), trc ht, cn bin i
ng hai chiu a các h s Fq(u,v) thành chui s mt chiu bng cách quét zig-zag.
Vic x lý 64 h s ca khi 8x8 pixel bng cách quét zig-zag làm tng ti a
chui các giá tr 0 và do vy làm tng hiu qu nén khi dùng RLC.
Hình 1.11 Quét zig-zag các h s lng t hóa DCT
Mã hóa dài chy (RLC)
Các giá tr lng t hóa có th ch biu din nh các t mã có dài c nh hay
ng u, tc là các giá tr lng t hóa biu din bng cùng mt s bit. Tuy nhiên
hiu qu ca vic mã hóa không cao. ci tin hiu qu ngi ta dùng mã hóa
entropy. Mã hóa entropy dùng nhng c tính thng kê a tín hiu c mã hóa. Mt
tín hiu, ây là giá tr pixel hoc các h s chuyn , có cha mt lng thông tin
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 22
(entropy) tùy theo nhng xác sut a nhng giá tr hay s kin khác nhau xut hin.
Ví d nhng t mã nào ít y ra hn có nhiu thông tin hn t mã hay y ra.
Hình 1.12 Quá trình mã hóa RLC
Khi dùng mã hóa entropy có hai vn t ra: th nht, mã hóa entropy làm tng
phc p và yêu cu b nh ln hn so vi mã dài c nh. Th hai, mã hóa
entropy gn lin vi tính không n nh a tín hiu video làm tc bit thay i
theo thi gian. Do ó, cn mt c cu iu khin bm khi mã hóa ngun tc bit
bin i c ghép vi kênh tc bit hng.
B mã hóa entropy làm gim tha thng kê trong các phn t c mã hóa
truyn. S tha chính là phân b xác sut không ng u trên giá tr ca mi
phn t. Phân b xác sut càng lch khi phân bu thì hiu sut mã hóa entropy
càng tng. Mã Huffman là mt trong nhng s mã c s dng ph bin. Ngoài
ra, trong mã hóa entropy còn s dng mã RLC cho hiu sut nén rt cao
thut RLC c dùng mã hóa có hiu qu các h s DCT ã lng t hóa
n là dùng trc tip cho s liu nh. Sau quá trình quét zig-zag trên, RLC c
thc thi. Mt h s khác 0 sau giá tr DC c mã hóa bng 1 t mã bao gm 2 thông
s: s lng 0 chy trc 1 h s riêng khác 0 và mc a nó sau khi lng t hóa.
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 23
RLC thc cht là vic thay th các h s có giá tr 0 bng s lng các ch s 0 xut
hin.
Hình 1.12 là mt ví d v mã hóa entropy. Trong ví d này, chui mt chiu
các h s DCT sau khi quét zig-zag vi các giá tr ging nhau c gom i vi nhau
bng mã RLC. Lúc này, chui mt chiu có các n chui dài có cùng giá tr là các
symbol có dng:< chiu dài chui 0, giá tr>.
ây, giá tr 10 không có giá tr 0 nào trc ó c biu din bng <0,10>; giá
tr –2 có hai giá tr 0ng trc c biu din bng <2,-2>v.v Riêng mt du c
bit là End of Block (EOB) c dùng cho bit tt các h s tip theo trong khi
bng 0. Trong ví d này, ta có mt chui 49 t mã vi giá tr 0. Nh vy ch xét riêng
49 t mã giá tr 0c nén xung ch còn 3 t mã. iu này chng hiu sut nén rt
cao a mã hóa RLC. Nén bng mã RLC là quá trình nén không tn hao.
1.2.5 Mã hóa dài thay i VLC
Các t mã RLC tip c c mã hóa bng cách t các t mã ngn cho các mc
có xác sut xut hin cao và các t mã dài cho các mc có xác sut xut hin thp.
Bng 1.1 minh ha các phân nhóm các h s AC.
ng 1.2 là mt ví d v bng mã Huffman tng ng cho các nhóm. T mã ngn
báo hiu kt thúc khi (EOB) cho bit tt các h s còn i trong khi mang giá tr
0. Trong ví d khi h s DCT, h s DCT (40) c mã hóa DPCM bng cách dùng
giá tr DC (25) a khi DCT trc. Mã hóa DPCM m rng thang biu din tín hiu
Y t ( -1024 n 1016) n (-2048 n 2032).
ng 1.1 Phm vi giá tr các h s trong các nhóm (category).
Giá tr chênh lch h s DC c mã hóa VLC nh mt ng tìm kim (lookup
table). u ra a nó là mt s nh phân Huffman da trên giá tr chênh lch các h s
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 24
DC này. Các h s AC biu din bi các t mã RLC c mã hóa Huffman bng các
ng tìm kim. u ra kt hp vi giá tr chy (s ng s 0 trc h s AC) to
mt s nh phân Huffman biu din giá tr h s AC tng ng. Trong hai trng
hp mã hóa giá tr sai lch h s DC và ln các h s AC u s dng t mã nh
phân ngn nht biu din chúng.
ng 1.2 Ví d bng Huffman cho h s AC
i u ra VLC, tt các t mã ca cùng mt khi DCT c kt hp o thành
mt dòng tín hiu ra. Trong ví d trên, s liu tng ng vi khi DCT ban u
(8x8x8 bit =512 bit) c gim thành 48 bits sau khi mã hóa VLC. H s nén trong
trng hp này bng 512/48=10,6. H s nén ng thng c tính bng s bit biu
din im nh. Trong ví trên, 48 bit biu din cho 64 im nh, theo ó thu c h
s nén tng ng là 48/64=0,75 (bit/im nh).
Mã hóa VLC t nó là mt thut mã hóa không tn tht, nó cho phép gim thêm
tc dòng bit (ã c gii tng quan, làm tròn, và gim qua quá trình lng t hóa
DCT). Quá trình mã hóa VLC cho h s DC và các h s AC c mô t trong s
khi:
án tt nghip i hc Chng 1 Tng quan v nén nh…
Th Hnh – D04VT1 25
Hình 1.13 S khi h thng mã VLC cho h s DC và AC
1.2.6 Quá trình gii nén
Quá trình gii nén trong nh da trên c s thc hin thut toán ngc vi quá
trình nén.
Hình 1.14 khi h thng gii mã JPEG