You are on page 1of 37

6

CHNG 2: TNG QUAN V CHUN NN


VIDEO H.264/AVC
2.1 Tng quan v cc chun video
Hin nay trn th gii c hai t chc chu trch nhim chnh trong vic a
ra cc chun v nn v gii nn video l ITU v ISO.
- T chc ITU International Telecommunications Union chuyn tp
trung vo cc ng dng truyn thng vi dng video chun H.26x, vi
dung lng lu tr nh v hiu qu cao trong vic truyn ti trn mng.
Dng H.26x bao gm cc chun H.261, H.262, H.263, v H.264.
- T chc ISO International Standards Organization a ra dng MPEG
ch yu tp trung pht trin cc ng dng a ngi dng (phim,
video,...). Dng MPEG bao gm cc chun MPEG-1, MPEG-2, MPEG-
4.
Hai t chc ny cng nhau lp nn nhm JVT Joint Video Team a ra
chun H.264 (t chc ISO gi chun ny l MPEG-4 Part 10). H.264 l chun nn
video mi nht hin nay v c xem l dng nn video th h th 3.

Hnh 2. 1: Qu trnh pht trin cc dng video H.26x v MPEG
7


2.1.1 Dng H.26x
2.1.1.1 Chun H.261
Chun H.261 l chun nn video hon chnh u tin trn th gii, c gii
thiu vo nm 1993 bi t chc ITU. H.261 c thit k cho nhng ng dng hi
ngh trc tuyn video hai chiu vi d liu video sau khi nn c tc trong khong
40Kbps 2Mbps. H.261 c hai phn gii l CIF (352x288) v QCIF (176x144),
s dng k thut ly mu 4:2:0. Thut ton nn ca chun ny khng phc tp do
yu cu vic nn v gii nn phi c thc hin theo thi gian thc.
2.1.1.2 Chun H.263
H.263 l chun m ha video/audio do nhm VCEG (Video Coding Experts
Group) thuc t chc ITU a ra nm 1998 v l mt chun vi tc bit thp,
c dng cho cc hi ngh video trc tuyn. Nm 1998, ITU ci tin chun ny v
cho ra chun H.263v2 (cn gi l H.263+ hay H.263 1998). Nm 2000, chun
H.263v3 ra i (cn gi l H.263++ hay H.263 2000).
H.263 c pht trin da trn nhng kinh nghim c rt ra t cc chun
H.261, MPEG-1 v MPEG-2. So vi cc chun trc, H.263 c cht lng video
tt hn v tc bit (lng bit lu tr cho mt n v thi gian) nh hn. Mc tiu
ca H.263 l truyn c video cht lng chp nhn c trn ng truyn in
thoi vi tc 28.8Kbps. H.263 h tr phn gii t 128x96 n 352x288.
H.263 c nhng ci tin trong vic d on cc chuyn ng v thut ton
gim d liu d tha, phn lp c ti u hn nhiu so vi cc chun trc .
2.1.1.3 Chun H.264/AVC
H.264/AVC c a ra bi nhm JVT. Nhm JVT c thnh lp t vic
st nhp hai nhm MPEG v VCEG. Vi MPEG, chun ny c gi l MPEG-4
Part 10 (ISO 14496-10). Vi ITU, n c gi l H.264. Hin nay, chun ny c
bit n di tn gi thng nht l Advanced Video Coding (AVC).
8


H.264 c k tha t cc chun nn video trc nh MPEG-2 v
MPEG-4 Visual. Do H.264 cho ra hiu sut nn tt hn v linh hot hn trong
vic lu tr, truyn dn video.
u im ln nht ca chun H.264 so vi cc chun trc y l t l
nn. So vi cc chun nn video trc y nh MPEG-2 hoc MPEG-4 Visual,
H.264 c th cung cp:
Cht lng nh tt hn vi cng mt bitrate (s lng bit c gi trong
mt n v thi gian).
H s bitrate thp hn vi cng cht lng nn nh.

Hnh 2. 2: Mt nh video c nn vi cng bitrate dng MPEG-2 (tri), MPEG-4
(gia) v h.264 (phi)
T l nn nng cao ca H.264 ng ngha vi chi ph tnh ton s ln hn,
phc tp hn so vi cc chun nn video trc. iu ny cng c ngha l H.264 s
dng nhiu ti nguyn x l hn trong khi thc hin qu trnh nn v gii nn
video.
Hin nay, H.264 c ng dng trong mt s lnh vc sau:
Truyn hnh k thut s.
Lu tr video trn a DVD vi cc nh dng HD-DVD v Blu-Ray.
Truyn hnh di ng, hi ngh trc tuyn.
Truyn d liu trong mng RTP/IP.
H thng in thoi a phng tin ca ITU-T.

9


HD video phone (in thoi h tr truyn ti hnh nh tc cao trong
khi ni).
2.1.2 Dng MPEG
2.1.2.1 Chun MPEG-1
MPEG-1 l chun nn video u tin ca ISO, cn c gi l ISO/IEC
11172. D liu c lu tr trn cc phng tin s nh a video-CD vi phn
gii SIF (352x240 29.97fps hay 352x288 25fps), c tc bit xp x 1.15Mbps.
MPEG-1 gn nh tng t vi chun H.261, ngoi tr vic m ha c i cht khc
bit v h tr B-frames.
2.1.2.2 Chun MPEG 2
MPEG-2 cn c gi l ISO/IEC13818, c m rng da trn chun
MPEG-1 phc v vic nn d liu video. Cc ng dng s dng MPEG2 bao
gm truyn hnh k thut s (SDTV), truyn hnh theo yu cu (VOD) v a DVD.
2.1.2.3 Chun MPEG 4
MPEG-4 cn c gi l ISO/IEC14496 c cng b vo thng 10-1998
v c cng nhn l tiu chun quc t thng 1-1999. MPEG-4 l chun thng
dng trong cc ng dng v ho, video tng tc hai chiu (games, hi ngh trc
tuyn, ), cc ng dng a phng tin tng tc hai chiu (World Wide Web)
hoc cc ng dng truyn ti d liu video nh truyn hnh cp, Internet Video....
S ra i ca MPEG-4 gip gii quyt cc vn v dung lng cc thit b lu tr
v gii hn bng thng ca ng truyn.
u im ln nht ca MPEG-4 l vic lu tr v x l d liu m thanh v
hnh nh trn c s hng i tng, iu ny lm tng kh nng tng tc v hiu
chnh cho cc chng trnh truyn hnh cng nh cc ng dng a phng tin.
2.2 Cu trc H.264
2.2.1 Khng gian mu YCrCb v kiu ly mu 4:2:0
H thng th gic ca con ngi nhn cc thng tin hnh nh bao gm
sng v thng tin mu mt cch ri rc, vi nhy cm ca sng ln hn so vi
10


mu sc. H thng truyn dn video c thit k da trn c im ny ca mt
ngi (iu ny cng c p dng cho cc h thng tivi analog v digital thng
thng). Trong H.264/AVC cng nh trong cc chun video trc, iu ny c
thc hin bng cch s dng khng gian mu YCrCb. Khng gian mu YCrCb chia
mt mu hin th thnh 3 thnh phn Y, Cr, v Cb. Trong , Y c gi l thnh
phn luma i din cho sng ca hnh nh. Cb v Cr l cc thnh phn chroma
- i din cho thng tin mu xanh v mu ca hnh nh.
Bi v h thng cm quan ca mt ngi t nhy cm i vi chroma hn
luma, H.264 s dng cu trc ly mu: thnh phn chroma c s im nh ch bng
so vi s im nh ca thnh phn luma. y l kiu ly mu 4:2:0 (hay cn
c gi l YV12). Kiu ly mu ny c s dng ph bin trong cc ng dng
nh l hi ngh trc tuyn, truyn hnh s v a DVD.
2.2.2 Macroblock
Mt nh khi x l c chia thnh nhiu macroblock. Mi macroblock ng
vi vng nh gm 16x16 im nh trong mt nh. Macroblock l n v x l c
bn cho d on b chuyn ng trong mt s chun nn video thng dng nh
MPEG-1, MPEG-2, MPEG-4, H.261, H.263 v H.264. Chun H.264 thc hin ly
mu theo nh dng 4:2:0. V th, mt macroblock 16x16 im nh s bao gm bi
256 thnh phn luma Y (c sp xp trong 4 block 8x8 ), 64 thnh phn chroma
mu xanh Cb (c sp xp trong 1 block 8x8), v 64 thnh phn chroma mu
Cr (c sp xp trong 1 block 8x8) nh hnh 2.3. V vy, mt macroblock c th
c thay th bi 6 block 8x8 gm cc thnh phn Y, Cr, v Cb.
11



Hnh 2. 3: Macroblock 16x16 c i din bi cc block thnh phn Y, Cr, Cb
theo t l ly mu (4:2:0) trong H.264
Mi macroblock trong H.264 cha cc thnh phn d liu sau [13]:
mb_type: xc nh macroblock c m ha theo kiu Inter hay Intra; xc
nh kch thc cc phn chia ca macroblock.
mb_pred: xc nh cc mode c la chn trong d bo Intra; xc nh
danh sch cc nh tham chiu; xc nh cc vector cho mi phn chia
macroblock trong trng hp m ha Inter, ngoi tr phn chia
macroblock m ha Inter c kch thc 8x8.
sub_mb_pred: ch dng cho cc phn chia macroblock c m ha Inter
c kch thc 8x8. Xc nh kch thc cc phn chia ph ca phn chia
macroblock ny v cc vector chuyn ng ca cc phn chia ph ny.
code_block_pattern: xc nh block 8x8 no cha cc h s bin i
c m ha.
mb_qb_delta: thng tin thay i bin lng t
residual: cc h s bin i c m ha ng vi cc vng nh khc bit
sau qu trnh d on.
2.2.3 Slice
nh khi m ha c chia thnh mt hoc nhiu slice. Mt slice c th cha
mt hoc nhiu macroblock. Trong trng hp nh ch c mt slice, slice s cha
tt c cc macroblock trong nh . S lng cc macroblock trong cc slice ca
nh khng cn thit phi ging nhau.
12



Hnh 2. 4: Minh ha cch phn chia nh thnh nhiu slice
C 5 loi slice v mt nh c th cha nhiu loi slice khc nhau. Cc nh
c m ha ca profile c bn cha cc slice loi P v I, cc nh c m ha ca
profile chnh v profile m rng c th cha tp cc slice kiu I, P, B, SI v SP.
Loi Slice M t Profile h tr
I (Intra) Cha cc macroblock I (mi macroblock c
d on t cc d liu c m ha trong
cng slice).
Tt c
P (Predicted) Cha cc macroblock P (mi macroblock
hoc phn chia macroblock c d on t
danh sch nh tham chiu list 0 v /hoc t
cc macroblock I).
Tt c
B (Bi-predictive ) Cha cc macroblock B (mi macroblock
hoc phn chia macroblock c d on t
danh sch nh tham chiu list 0 v/hoc list 1
v/hoc cc maroblock I).
Profile chnh
v m rng

SP (Switching P) Cha cc macroblock kiu I v/hoc P, cung
cp kh nng chuyn i d dng gia nhng
lung bit c m ha.
Profile m
rng
SI (Switching I) Cha cc macroblock SI (loi maroblock c
bit trong m ha Intra), cung cp kh nng
chuyn i d dng gia nhng lung bit
c m ha.
Profile m
rng
Bng 2. 1: Cc loi slice m ha trong H.264
13


Hnh 2.5 m t cu trc n gin ca mt slice c m ha. Phn thng tin
m u cho bit loi slice, nh c m ha cha slice v c th cha cc ch
dn lin quan n vic qun l nh tham chiu. Phn d liu ca slice bao gm tp
cc macroblock c m ha v/hoc ch s ca mt macroblock khng c m
ha (skipped macroblock). Mi macroblock cha mt tp cc thng tin m u v
d liu khc bit c m ha.

Hnh 2. 5: Cu trc slice
2.2.4 Profile
Chun H.264 bao gm 3 profile. Mi profile h tr mt tp cc chc nng v
cng c m ha xc nh cho b nn v b gii nn nhm to ra lung bit nn
ng vi profile .
Profile c bn (Baseline Profile): H tr m ha Inter v m ha Intra
(dng cc slice I v slice P), nn entropy s dng thut ton m ha chiu
di thay i ng ng cnh CAVLC Context Adaptive Variable Length
Coding. Cc ng dng ca profile ny l trong in thoi video, hi ngh
trc tuyn v cc h thng truyn thng khng dy.
Profile chnh (Main Profile): Ngoi cc slice I, P c m ha, profile
ny cn m ha video dng cc slice B. M ha entropy dng thut ton
m ha s hc ng ng cnh (CABAC). Profile chnh c ng dng cho
cc h thng broadcast nh truyn hnh k thut s, cc h thng lu tr
d liu.
14


Profile m rng (Extended Profile): Ngoi cc k thut c s dng
trong profile c bn v mt phn ca profile chnh, profile m rng cn
s dng thm cc slice SI v SP trong m ha nh. Profile m rng c
dng trong cc ng dng xem hoc truyn ti video trc tuyn, c kh
nng nn cao v mt s ci tin ring x l vic mt d liu v ng
b ha cc dng d liu khi gp s c v ng truyn Internet.

Hnh 2. 6: Cc profile ca H.264/AVC v cc cng c vi ng dng mi profile
2.3 Tng quan v qui trnh nn v gii nn ca H.264
B nn (Encoder) s thc thi cc qu trnh d on, bin i v nn lung
video nhp nhm to thnh lung bit nn H.264 lu tr hoc truyn dn cho b
gii nn. B gii nn (Decoder) s gii nn, bin i ngc v ti xy dng to
thnh chui video dng cho vic hin th nh hnh 2.7.
15



Hnh 2. 7: Tng quan v qui trnh nn v gii nn ca H.264
2.3.1 Quy trnh nn

Hnh 2. 8: Qu trnh nn H.264/AVC
Mt Frame F
n
c chia thnh cc marcroblock. Vi mi block trong mt
macroblock c a vo qu trnh d on Inter hoc Intra v kt qu ra l mt
block d on P. Trong qu trnh d on Intra, P c tnh t slice hin ti
c m ha, gii m v ti xy dng. Cn trong qu trnh d on Inter th P c
tnh t d on s b chuyn ng ca mt hoc hai nh c chn t nhng nh
tham chiu trong list 0 v/hoc list 1. Block d on P c tr vi block hin ti
Video Ngun
D
on
Bin
i
M
Ha
Lung bit
H.264 c
lu tr hoc
truyn dn
Quy trnh nn
Ti Xy
Dng
Bin i
Ngc
Gii
M
Quy trnh gii nn
Video Xut
X
+
D
n
F
n
(Frame hin
ti)
F
n-1
(Frame
tham chiu)
Qu trnh
c lng
chuyn ng
Qu trnh
b chuyn
ng
Chn d
on Intra
D on
Intra
F
n
(Frame
phc hi)
Lc
T
(Bin
i)
Q
(lng
t ha)
Ti cu
trc
M ha
Entropy
NAL
T
-1
(Bin i
ngc)
Q
-1
(lng t
ha ngc)
+
-
D
n
P
Inter
Intra
1 hoc 2 frames
c m ha
trc
+
uF
n
16


cho ra block D
n
ch s khc nhau gia hai block. Sau , block D
n
c bin i
T (thng l DCT) v ri lng t ha Q kt qu cho ra X. Kt qu ca qu trnh ti
cu trc v m ha entropy X, cng vi nhng thng tin cn cho qu trnh gii m
mi block nh tham s lng t, thng tin vector chuyn ng, c chuyn
thnh lung d liu NAL cho vic truyn ti hoc lu tr.
Song song vi qu trnh ti cu trc v m ha entropy X, th nhng h s X
c lng t ha ngc Q
-1
v bin i ngc T
-1
ri cho ra block D
n
. Block d
on P c cng vi D
n
to ra block ti cu trc uF
n
. Mt b lc c p
dng ln block uF
n
lm gim nhiu v c kt qu F
n
.
2.3.1.1 D on
Qu trnh d on c thc thi ng vi tng block trong macroblock ca
khung nh. u tin, block d on cho mi block ny s c to da trn d liu
c m ha trc . D liu d on ny c th t nh hin ti cha
macroblock (trong d on Intra) hoc t cc nh khc c nn v truyn
dn (trong d on Inter). B nn s thc hin tr block hin ti cn m ha cho
block d on to nn block khc bit. D liu ca block khc bit s c thc
hin bin i, lng t v nn entropy. Qu trnh d on Inter trong H.264 c
thc hin i vi tng phn chia vi cc kch thc khc nhau trong macroblock
thay i t 4x4 n 16x16 im nh (cc kch thc phi tho mn l bi s ca 4).
Phng thc d on ca chun H.264 c ci tin hn so vi cc chun
nn video trc y. Chng hn trong kiu d on Intra, H.264 h tr nhiu kch
thc block khc nhau thay i t 4x4 n 16x16 im nh. Vi d on Inter th
H.264 c chnh xc b chuyn ng ln n khong cch gia 2 im nh, h
tr lc tch khi,
D on Inter
D on Inter hay d on b chuyn ng (Motion Compensation
Prediction) l dng d on c s dng thng dng trong H.264.
17


D on Inter li dng thc t rng d liu cc im nh ca nh hin ti
cn c m ha c tnh tng ng cao vi d liu ca cc nh c m ha
trc .
Vi mi block kch thc MxN im nh, b nn s tm mt vng c cng
kch thc trong nh tham chiu c m ha la chn vng nh thch hp
nht. Tiu chun cho vng nh tham chiu c chn l nng lng ca vic tr
block MxN hin ti cho vng nh MxN ny phi l nh nht. Qu trnh tm kim
vng nh tt nht tham chiu c gi l qu trnh c lng chuyn ng
(Motion Estimation).

Hnh 2. 9: M t c lng chuyn ng trong d bo Inter
Vng nh c chn s tr thnh block d on cho block MxN hin ti cn
c m ha. Phn khc bit ny cng vi thng tin v v tr ca block hin ti v
block tham chiu s c nn v truyn dn.
D on Inter bao gm 3 quy trnh chnh: qun l danh sch nh tham chiu,
tnh ton cc vector chuyn ng v ni suy cc gi tr sub-sample.
Qun l danh sch nh tham chiu
Mi b nn v b gii nn qun l danh sch gm cc nh tham chiu nhm
phc v cho d on b chuyn ng ti cc macroblock c m ha Inter trong
cc slice P. Danh sch List 0 cha cc nh c gii nn, cc nh ny c th
18


trc hoc sau nh hin ti theo th t hin th. C hai loi nh khc nhau c lu
trong danh sch nh tham chiu bao gm:
nh ngn hn (shortterm picture): nh va c thc hin qu trnh nn
v ti xy dng trong b gii nn. nh c xc nh bi s khung nh.
nh di hn (longterm picture): nh c lu lu hn trong b nh nh
tham chiu. nh di hn c lu trong danh sch cc nh tham chiu
cho n khi c thay th hoc loi b. nh c xc nh bi gi tr
longtermpicnum.
Cc nh ngn hn c lu trong b nh nh tham chiu theo th t tng
dn ca s nh v cc nh di hn c lu sau nh ngn hn cui cng
v theo th t tng dn ca gi tr longtermpicnum.
Khi tng s cc nh ngn hn v di hn bng vi s lng ti a cc nh
tham chiu th nh ngn hn lu nht trong danh sch s c loi b
khi b nh cc nh tham chiu.
B nn s gi cc lnh iu khin b nh thch ng (adaptive control
command) qun l cc nh ngn hn hoc di hn.
Danh sch nh tham chiu
Hot ng 0 1 2 3 4
Trng thi ban u - - - - -
Nn nh 250 250 - - - -
Nn nh 251 251 250 - - -
Nn nh 252 252 251 250 - -
Nn nh 253 253 252 251 250 -
Gn 251 n LongTermPicNum 0 253 252 250 0 -
Nn nh 254 254 253 252 250 -
Gn 253 n LongTermPicNum 4 254 252 250 0 0
Nn nh 255 255 254 252 0 4
Gn 255 n LongTermPicNum 3 254 252 0 3 4
19


Nn nh 256 256 254 0 3 4
Bng 2. 2: V d v t chc b nh nh tham chiu vi nh hin ti l 250, s nh
tham chiu l 5
B chuyn ng theo cu trc cy
Thnh phn luma ca mi macroblock c th c chia theo bn cch v
c cc phn chia macroblock (maroblock partition) c kch thc nh hn. Cc
maroblock partition ny c th bao gm mt phn 16x16, hai phn 8x16 hoc hai
phn 16x8 hoc bn phn 8x8. i vi cc maroblock partition c kch thc 8x8
th c th c chia thnh 4 phn nh hn c gi l cc sub-macroblock
partition. Mi sub-macroblock partition c kch thc 4x4 im nh.

Hnh 2. 10: S phn chia marcoblock khi m ha
Qu trnh c lng chuyn ng v b chuyn ng trong d bo Inter s
c thc hin vi tng phn chia macroblock ny.
S la chn kch thc ca cc maroblock partition hoc sub-macroblock
partition khi chia nh l yu t quan trng nh hng n t l nn nh. Thng
thng, chia nh thnh cc phn c kch thc ln ti nhng vng nh t chuyn
ng v c tnh ng nht cao, v thnh nhng vng c kch thc nh ti nhng
nh chuyn ng c nhiu chi tit bin i.
20



Hnh 2. 11: Cc phn chia khc nhau trong mt nh
Trong mt macroblock ca H.264 (ly mu 4:2:0) c th tnh kch thc cc
phn chia ca thnh phn chroma t cc phn chia ca thnh phn luma. Trong
macroblock, thnh phn chroma c phn gii theo chiu ngang v chiu ng
bng so vi thnh phn luma. Do , mi block chroma cng c chia thnh
cc phn vi t l ging vi thnh phn luma, ngoi tr kch thc phn chia bng
so vi cc block ca thnh phn luma.
Chng hn, phn chia 8x16 trong luma tng ng vi phn chia 4x8 trong
phn chroma. Cc gi tr (x,y) ca cc vector chuyn ng ng vi mi partition
trong cc block luma cng gim khi i vi cc block chroma.
Vector chuyn ng
Mi maroblock partition hoc sub-macroblock partition ca mt macroblock
m ha Inter c d on t vng nh c cng kch thc trong nh tham chiu.
Vector chuyn ng th hin s dch chuyn gia hai vng nh hin ti v tham
chiu c v tr cc ta bng khong cch hai pixel ng vi thnh phn luma
v bng 1/8 ng vi cc thnh phn chroma (Cr v Cb). Tuy nhin, cc im nh ti
cc v tr ny (cn gi l sub-sample) khng tn ti trong nh tham chiu nn cn
phi tnh bng php ni suy t cc im nh ln cn c m ha trong nh tham
chiu.
Hnh 2.12a m t block 4x4 im nh (16 hnh trn t en) trong nh hin ti
c d on t mt vng trong nh tham chiu. Nu cc gi tr ca vector chuyn
21


ng l nguyn, cc v tr im nh thc s tn ti (Hnh 2.12b). Nu cc gi tr ca
vector chuyn ng khng nguyn, cc v tr im nh ca block tham chiu khng
tn ti trong nh tham chiu v s c ni suy t cc im nh ln cn. (Hnh
2.12c).

Hnh 2. 12: Cc im nh sub-sample (quater-pixel hoc half-pixel) trong nh tham
chiu
Php ni suy cc v tr sub-sample trong nh tham chiu :
Cc im nh half-pixel (im nh gia 2 im nh c v tr nguyn trong
nh tham chiu) s c ni suy trc. Mi im nh half-pixel nm lin
k vi 2 im nh c v tr nguyn (v d b, h, m, s trong hnh 2.16) s
c ni suy t cc im nh v tr nguyn ny bng cch s dng b lc
FIR gm 6 h s (Finite Impulse Response) vi gi tr cc h s l
(1/32,5/32, 5/8, 5/8,5/32, 1/32).


Hnh 2. 13: Ni suy cc im nh ti cc v tr half-pixel trong nh tham chiu
22


Chng hn, half-pixel b c tnh t 6 gi tr theo chiu ngang ng vi 6
pixel E, F, G, H, I, J theo cng thc sau:
b = round((E 5F + 20G + 20H 5I + J) /32)
Tng t, h c ni suy t cc im nh A, C, G, M, R, T. Khi tt c
cc im nh half-pixel k vi cc im nh c v tr nguyn c tnh
ht, v tr half-pixel cn li c tnh bng cch ni suy t 6 v tr half-
pixel c tnh theo chiu ngang hoc chiu thng ng so vi v tr
half-pixel cn li ny. V d, j c tnh bng cch lc FIR cc v tr cc,
dd, h, m, ee, ff. Vic lc ni suy 6 trng s FIR tng i phc tp nhng
cho kt qu kh chnh xc so vi v tr ca cc im nh nguyn v th
lm tng s hiu qu ca b chuyn ng trong d on Inter.
Khi tt c cc v tr half-pixel c tnh, v tr cc pixel ng vi khong
cch khong cch gia 2 im nh c v tr nguyn trong nh tham
chiu (v d a, c, i, k v d, f, n,q trong hnh 2.14) c th c suy ra t
cc gi tr half-pixel ny.


Hnh 2. 14: Ni suy cc im nh ti cc v tr quarter-pixel
V tr ca 1 quarter-pixel c suy t 2 loi pixel : pixel ti v tr nguyn
v half-pixel nm k vi pixel ny c th theo chiu ngang hoc chiu
thng ng. V d quarter-pixel a c th c ni suy theo cng thc:
a = round((G + b) / 2)
Cc v tr quarter-pixel cn li nh e, g, p, r c ni suy t cc im nh
half-pixel nm i din trn cng ng cho so vi v tr ny. Chng
23


hn, e c suy t hai im nh b v h, g c suy t hai im nh b v
m.
D on Intra
Trong qu trnh nn cc nh, d bo Inter khng phi lc no cng c s
dng. c bit, i vi cc cnh chuyn trong mt on phim, khi nh u tin ca
cnh mi khng c hoc c rt t tng ng so vi cc nh truc . Lc , d
on Intra cho nh ny s c b nn s dng.
Trong d on Intra, block d don P c to thnh da trn cc block
c m ha trc trong cng 1 nh. Block khc bit c c bng cch tr
block hin ti cho block d on P. Block khc bit s thc hin qu trnh bin i,
lng t v nn entropy (hnh 2.15).


Hnh 2. 15: M hnh d bo Intra
i vi thnh phn luma, block d on P c c th gm 4x4 im nh
(Intra 4x4) hoc 16x16 im nh (Intra 16x16). Trong mt nh, d on Intra 4x4
c dng cho cc vng nh c nhiu chi tit thay i, cn Intra 16x16 dng cho
cc vng nh c tnh tng ng cao.
C 9 mode d on tm block d on P cho block 4x4 luma; 4 mode d
on cho block 16x16 luma; v 4 mode d on cho cc thnh phn chroma trong
macroblock. B nn s la chn mode to P thch hp sao cho khc bit gia P v
block cn m ha l nh nht. Mode d on s c gi nn entropy.
Cc mode d on cho thnh phn luma 4x4
24


Hnh 2.16 m t block 4x4 thuc thnh phn luma trong macroblock cn
c d on Intra. Cc im nh trn v bn tri c k hiu t A n H, t M
n L (hnh 2.17) l cc im nh c m ha v c th c dng lm tham
chiu khi d on bi b nn v b gii nn.

Hnh 2. 16: Block 4x4 luma cn c
d on Intra (trong ng vin trng)

Hnh 2. 17: Cc im nh c
nn dng tham chiu
C 9 mode to block d on P cho block 4x4 luma. B nn s la chn
mode to P thch hp nht p dng cho tng block. Gi tr SAE (The Sum of
Absolute Errors) ng vi mi mode to P s xc nh mode c dng to block
d on P ng vi gi tr SAE nh nht.

Hnh 2. 18: Cc mode d on cho block 4x4 luma
Cc mode d on cho block luma 16x16
D on Intra 16x16 c dng cho vng nh c tnh tng ng cao, t c
s khc bit. Ton b thnh phn luma gm 16x16 im nh ca mt macroblock
c d on.
25


C 4 mode d on i vi Intra 16x16 l horizontal, vertical, DC v
plane. Tt c cc mode ny s s dng 16 im nh k trn, 16 im nh pha tri
v/hoc mt im nh pha trn-bn tri ca marcoblock cn d on. Tt c cc
im nh ny iu c gii nn v c th c dng tham chiu. d on
mt im nh trong Intra 16x16 :
Mode horizontal : dng im nh ngay pha tri ca im nh ny.
Mode vertical dng im nh ngay pha trn ca im nh ny.
Mode DC ly gi tr trung bnh ca 32 im nh trn v bn tri ca
macroblock v gn gi tr ny cho tt c 256 im nh ca marcoblock.
Mode plane s dng cng thc gm tt c 33 im nh c gii
nn v v tr ca im nh hin ti cn d on suy ra gi tr cho im
nh ny.
Hnh 2.19 m t mt macroblock luma vi cc pixel c nn v ti xy
dng ti cc v tr pha trn v bn tri. Kt qu ca cc mode d on to ra P
c hin th hnh 2.20. V macroblock d on ng vi mode plane s c
chn l ph hp nht v c ch s SAE l nh nht.

Hnh 2. 19: Macroblock 16x16 (luma)
cn d on

Hnh 2. 20: Cc block c d on Intra 16x16
Cc mode d on cho block chroma 8x8
Mi thnh phn chroma 8x8 ca mt macroblock c d on t cc im
nh chroma c m ha pha trn hoc bn tri. Cc thnh phn chroma (Cr,
Cb) lun s dng cng mt mode d on.
26


C 4 mode d on ging vi cc mode d on ca macroblock 16x16
luma nhng c thay i s th t ca cc mode. Cc mode bao gm: Mode 0 (DC),
Mode 1 (Horizontal), Mode 2 (Vertical), Mode 3 (Plane).
2.3.1.2 Bin i v lng t ha
Qu trnh bin i DCT c thc hin vi tng block trong macroblock v
thu c mt tp cc h s bin i. Cc h s ny s c lng t ha bng nhiu
phng php khc nhau, chng hn nh mi h s s c chia bi mt gi tr
nguyn, Qu trnh lng t s lm gim chnh xc ca cc h s bin i vi
cc mc khc nhau. Nu gi tr lng t cao th cng ng ngha vi vic xut
hin nhiu h s bin i c gi tr 0. iu ny s lm tng hiu sut nn nh nhng
b li cht lng nh sau khi c gii nn s gim v ngc li. Thng thng sau
qu trnh lng t, hu ht cc h s c gi tr l 0, mt vi h s khc 0.
H.264 dng 3 kiu bin i ty vo loi d liu khc bit c m ha:
Bin i Hadamard c s dng cho mng gm 4x4 cc h s DC trong
16 block luma (block -1 trong hnh 2.21) cho cc maroblock m ha
Intra 16x16.
Bin i Hadamard c s dng cho mng 2x2 cc h s DC ca block
chroma (block 16, 17 trong hnh 2.21) cho tt c cc macroblock.
Bin i ta DCT (DCT-Based Transform) c s dng cho tt c cc
block 4x4 cn li trong cc block chroma v luma.
D liu bn trong trong mt macroblock c truyn dn theo th t t -1
n 25 (hnh 2.21). Nu macroblock c m ha Intra 16x16 th block -1 bao
gm 16 h s DC (cc h s nm ti v tr (0,0)) ca 16 block 4x4 thuc thnh phn
luma s c bin i trc. Tip theo, cc block luma khc bit t 0->15 c
bin i (cc h s DC ca macroblock c m ha Intra 16x16 s ko c gi v
bin i trong block -1). Tip theo, cc block 16,17 (bao gm cc h s DC ca
cc thnh phn Cr v Cb) c bin i. Cui cng, cc block t 18->25 (lc ny
khng c cc h s DC) s c bin i.
27



Hnh 2. 21: Th t truyn dn ca cc block bn trong macroblock
Bin i DCT v lng t v hng
Bin i ny p dng cho block X gm NxN im nh (thng thng l phn
d liu khc bit sau qu trnh d on). Sau qu trnh bin i s to ra block Y
gm NxN cc h s bin i. Qu trnh bin i xui FDCT v bin i DCT ngc
(Inverse DCT) c th c biu din da theo ma trn bin i A nh sau.
Bin i xui FDCT (Forward DCT) ca block gm NxN im nh nh
sau:
Y = AXA
T
(2.1)
Bin i DCT ngc (Inverse DCT):
X = A
T
YA (2.2)
Vi X: ma trn cc im nh cn bin i.
Y: ma trn cc h s i din cho X
A: ma trn bin i NxN
Lng t ha: l qu trnh bin i mt tp cc gi tr ca tn hiu X thnh
tp cc gi tr ca tn hiu Y thay th cho X sao cho s bit cn dng biu din
cho Y t hn X. C 2 loi lng t : lng t v hng v lng t vector. Lun
vn ch trnh by lng t v hng v c H.264 s dng trong qu trnh nn v
gii nn video.
Lng t v hng thc hin bin i mt gi tr ca tn hiu nhp X thnh
mt tp cc gi tr c lng t cho tn hiu xut Y. M t ca lng t v
28


hng l s lm trn ca mt s thc ti s nguyn gn nht vi n. Qu trnh
lng t v hng s lm mt mt thng tin v gi tr sau khi c lng t khng
th khi phc v gi tr ban u.
Cng thc tnh lng t v hng:
Q
coeff
= round (coeff / Q
step
) (2.3)
Vi coeff: ma trn cc gi tr trc khi lng t
Q
coeff
: tp cc gi tr sau khi lng t
Q
step
: bc lng t
Trong nn v gii nn video, qu trnh lng t v hng c chia thnh 2
bc:
Lng t xui FQ (Forward Quantiser) ti b nn cn gi l scaled
Lng t ngc IQ (Inverse Quantiser) ti b gii nn cn gi l
rescaled.
D liu xut ca qu trnh lng t xui FQ l mt mng cc h s c
lng t ha, trong phn ln l cc gi tr 0.
Nu gi tr bc lng t Q
step
ln th cc gi tr h s sau khi lng t s
c thay th vi t bit hn v do t l nn s cao hn so vi bc lng t nh.
Tuy nhin, vi bc lng t ln th cc h s sau khi c rescaled s c cc gi
tr sai lch so vi cc gi tr trc khi lng t ln hn so vi bc lng t nh.
29



Hnh 2. 22: Minh ha bin i DCT v lng t ha
Qu trnh bin i v lng t vi cc block khc bit 4x4
Bin i ny c thc hin trn cc block c kch thc 4x4 im nh ca
d liu khc bit (c nh du l cc block t 0-15 v 18-25 trong hnh 2.21) sau
qu trnh d on b chuyn ng (d on Inter) hoc d on Intra. Bin i ny
da trn php bin i cosin ri rc DCT (Discrete Cosine Transform) nhng c
mt vi s khc nhau ch yu sau:
L mt bin i nguyn. Tt c cc php ton u c thc thi trn s
nguyn, khng lm mt s chnh xc khi gii nn.
Phn chnh ca bin i ch s dng php cng v php dch bit.
Nhn v hng (mt phn ca php bin i) c tch hp vo qu
trnh lng t nn lm gim tng s lng cc php nhn.
Cc php ton ca qu trnh bin i ngc v lng t ngc c th c
thc thi trn cc s nguyn 16 bit vi ch mt php nhn trn mt h s m khng
lm mt i chnh xc. Qu trnh pht trin bin i ta DCT t bin i DCT
4x4 nh sau:
30


[ ]
a a a a a b a c
b c -c -b a c -a -b T
Y=AXA = (2.4)
a -a -a a a -c -a b
c -b b -c a -b a -c
X
1 1
1 1
1 1
1 1
1 1
] ]

Vi
1 1 1 3
, b = cos , c = cos
2 2 8 2 8
a
_ _


, ,

T cng thc bin i DCT trn, php nhn ma trn trn c th c t
tha s chung. Lc ny, cng thc (2.4) tr thnh :
[ ]
1 1 1 d 1 1 1 1
1 d -d -1 1 d -1 -1 T
Y=(CXC ) E=
1 -1 -1 1 1 -d -1 1
d -1 1 -d 1 -1 1 -d
2
ab b ab
X
1 1
1 1
1 1

1 1
1 1
] ]
2 2
a ab b ab
2 2
ab b ab b
(2.5)
2 2
a ab b ab
2
b
1
1
1
1
1
1
1
]

Vi CXC
T
: Phn chnh ca bin i.
E : ma trn cc h s t l
: ch nh rng mi gi tr ca CXC
T
c nhn vi 1 gi tr
cng v tr ca ma trn E (nhn v hng)
d = c/b = 0.414.
n gin cho vic trin khai bin i, cc h s a, b, d s c xp x ng
vi cc gi tr sau :
1 2 1
, b = , c =
2 5 2
a
Cng thc bin i (2.5) lc ny tr thnh:
[ ]
1 1 1 1 1 2 1 1
T 2 1 -1 -2 1 1 -1 -2
Y=(C XC ) E =
1 -1 -1 1 1 -1 -1 2
1 -2 2 -1 1 -2 1 -1
2

2 4
X
j j j
ab b a
1 1
1 1
1 1
1 1
1 1
] ]
2 2
a a
2
2
2 2

2 4 2 4
(2.6)
2 2
a a
2
2
2

2 4
ab
ab
ab b ab b
ab
ab
b b
1
1
1
1
1
1
1
1
1
1
1
1
]

31


Cng thc (2.6) tng ng vi cng thc (2.4) nhng v c nhng s thay
i ca cc h s b, d nn kt qu ca bin i cc block khc bit 4x4 trong H.264
khng tng ng so vi bin i DCT 4x4 ban u.
Qu trnh bin i ngc (IDCT): H.264 nh ngha qu trnh bin i ny
mt cch tng minh vi mt chui cc php ton s hc sau:
[ ]
1
1 1 1
2
2 2
a ab a
1
1 -1 -1
2 2
ab b ab b 2
X=C (Y E )C = (
1 2 2
a ab a ab
1 -1 1
2
2 2
ab b ab b
1
1 -1 1
2
T
X
i i i
1
1
1
1
1
1
1
1
1

1
1
]
1 1 1 1
ab
1 1
1 -1
2 2
) (2.7)
1 -1 -1 1
1 1
-1 1
2 2
1
1
1
1

1
1
1
1
1
1
1
1
1
1
] 1
]

Cc h s 1/2 trong cc ma trn C
i
v C
i
T
c th c thay th bng php
Shift phi.
V kha cnh lng t ha, H.264 s dng php lng t ha v hng. C
ch ca lng t thun v lng t ngc trong chun nn video H.264 phc tp
hn bi yu cu trnh cc php chia, php x l trn s thc v x l cc php tnh
cho cc ma trn E
i
v E
f
c gi t qu trnh bin i. Cng thc lng t xui c
bn:
Z
ij
= round (Y
ij
/ Q
step
) (2.8)
Vi Y
ij
: Cc h s bin i
Q
step
: bc lng t
Z
ij
: cc h s c lng t
Trong H.264, bc lng t Q
step
c tt c 52 gi tr, c nh ch mc
bi mt bin lng t QP (Quantisation Parameter). Khi QP tng ln 6 n v th
gi tr Qstep s c tng gp i.
QP 0 1 2 3 4 5 6 7 8 9 10 11 12 .
Qstep 0.625 0.6875 0.8125 0.875 1 1.125 1.25 1.375 1.625 1.75 2 2.25 2.5 .
QP 18 24 30 36 . 42 48 51
Qstep 5 10 20 40 80 160 224
Bng 2. 3: Cc kch thc bc lng t trong H.264/AVC Codec
32


Min gi tr rng ln ca bc lng t gip cho b nn iu chnh s tng
quan thay i gia t l bit/s v cht lng thch hp nhm t cht lng th hin
tt nht. Trong mt macroblock, gi tr QP c th khc nhau i vi thnh phn
luma v chroma. Cc h s a
2
, ab/2 v b
2
/4 trong cng thc (2.6) c tch hp tnh
ton trong qu trnh lng t thun.
Vi lng t thun, u tin block X c bin i to thnh block gm
cc h s bin i theo cng thc:
W = CXC
T
(2.9)
Sau mi h s W
ij
c lng t vi cng thc:
Z
ij
= round (W
ij
*PF / Q
step
) (2.10)
Ty thuc vo v tr ca i, j m PF s c cc gi tr sau:
V tr PF
(0,0), (2,0), (0,2) hoc (2,2)
(1,1), (1,3), (3,1) hoc (3,3)
Cc v tr khc
a
2
b
2

ab/4
trnh s dng php chia nhm lm n gin thut ton, h s (PF/Qstep)
s c trin khai dng mt php nhn vi h s PF v mt php dch bit phi nh
sau:
Z
ij
= round (W
ij
* MF / 2
qbits
) (2.11)
Vi MF / 2
qbits
= PF / Q
step

qbits = 15 + floor (QP / 6)
Theo php tnh s nguyn, c th c trin khai nh sau:
|Z
ij
| = (|W
ij
|*MF + f) >> qbits (2.12)
sign (Z
ij
) = sign (W
ij
)
vi php >> l php dch phi bit nh phn.
Gi tr f = 2
qbits
/3 i vi cc block c m ha Intra v f = 2
qbits
/6 i vi
cc block c m ha Inter.
QP V tr V tr Gi tr
33


(0,0), (2,0), (0,2), (2,2) (1,1), (1,3), (3,1), (3,3)
0
1
2
3
4
5
13107
11916
10082
9362
8192
7282
5243
4660
4194
3647
3355
2893
8066
7490
6554
5825
5243
4559
Bng 2. 4: H s nhn MF
Trong bng 2.4, 6 gi tr u ca h s nhn MF (Mutiplication Factor) c
dng bi H.264 c hin th. Ct th 2 v th 3 ng vi cc h s b
2
/4 v ab/2.
Khi QP > 5 th gi tr MF cn li khng thay i nhng s chia tng theo h s 2
khi QP tng ln 6 n v. Chng hn, qbits = 16 vi 6<= QP <= 11, qbits = 17 vi
12<= QP <=17,
Cn lng t ngc (rescaled) c cng thc:
W
ij
= Z
ij
Q
step
* PF * 64 (2.13)
W
ij
l cc h s c rescaled. Tuy nhin, H.264 khng s dng mt cch
tng minh cc h s Q
step
v PF trong cng thc ny. Thay vo , mt h s V =
PF.Qstep.64 s c thay th vi 0 QP 5 v cho mi v tr h s.
V th cng thc lng t ngc tr thnh:
W
ij
= Z
ij
* V
ij
*2
floor (QP/6)
(2.14)
Gi tr V c nh ngha trong chun H.264 vi 0 QP 5 c m t
trong bng 4.5. H s 2
floor(QP/6)
lm cc h s c lng t tng ln 2 ln ng vi
gi tr QP tng ln 6 n v.
QP V tr
(0,0), (2,0), (0,2), (2,2)
V tr
(1,1), (1,3), (3,1), (3,3)
V tr khc
0
1
2
10
11
13
16
18
20
13
14
16
34


3
4
5
14
16
18
23
25
29
18
20
23
Bng 2. 5: H s scaling V
Bin i v lng t cc block 4x4 luma gm cc h s DC
Nu macroblock c nn theo kiu d bo Intra (v d ton b thnh phn
luma 16x16 c d on t nhng im nh ln cn) th mi block 4x4 c bin
i trc. Sau , cc h s DC ca mi block 4x4 s c bin i dng bin i
Hadamard 4x4.
1 1 1 1 1 1 1 1
1 1 -1 -1 1 1 -1 -1
Y = W /2 (2.15)
1 -1 -1 1 1 -1 -1 1
1 -1 1 -1 1 -1 1 -1
D D
1 1
1 1
1
1 1
1
1 1
]
1 1
] ]

Trong W
D
chnh l block gm 4x4 cc h s DC c nh du l -1
trong hnh 2.21, Y
D
l block sau khi bin i gm cc h s bin i. Cc h s bin
i ny s c lng t to thnh block gm cc h s bin i DC c
lng t theo cng thc sau:
|Z
D(i,j)
| = (|Y
D(i,j)
| MF
(0,0)
+ 2f) >> (qbits + 1) (2.16)
sign (Z
D(i,j)
) = sign (Y
D(i,j)
)
Trong , MF
(0,0)
l h s nhn cho v tr (0,0), cc h s f, qbits c
nh ngha trc.
Ti b gii nn, mt bin i Hadamard ngc c thc hin :
W =
1 1 1 1 1 1 1 1
1 1 -1 -1 1 1 -1 -1
(2.17)
1 -1 -1 1 1 -1 -1 1
1 -1 1 -1 1 -1 1 -1
QD
Z
D
1 1
1 1
1
1 1
1
] 1 1
1 1
] ]

Qu trnh lng t ngc (Rescaled):
W
D(i,j)
= W
QD(i,j)
V
(0,0)
2
floor(QP/6) - 2

(QP 12) (2.18)
35


W
D(i,j)
= [W
QD(i,j)
V
(0,0)
+ 2
1-floor(QP/6) 2
] >> (2-floor(QP/6)) (QP<12)
Trong , V
(0,0)
ng vi v tr (0,0) c cho bi bng sau:
QP V tr
(0,0), (2,0), (0,2), (2,2)
V tr
(1,1), (1,3), (3,1), (3,3)
V tr khc
0
1
2
3
4
5
10
11
13
14
16
18
16
18
20
23
25
29
13
14
16
18
20
23
Bng 2. 6: Gi tr ca h s V ng vi cc v tr khc nhau
Cc h s DC c lng t ngc W
D
s c chn vo cc block 4x4
tng ng.
Bin i v lng t cc block 2x2 chroma gm cc h s DC
Mi block 4x4 ca thnh phn chroma c bin i DCT. Cc h s DC
ca mi block ny c nhm li thnh block 2x2 (W
D
). Block ny s c bin
i trc khi lng t ha.
1 1 1 1
W = W (2.19)
QD
1 -1 1 -1
D
1 1
1
1 1
1
]
] ]

Lng t ha ca block Y
D
2x2 sau khi bin i c biu din nh sau:
|Z
D(i,j)
| = (|Y
D(i,j)
|. MF
(0,0)
+ 2f) >> (qbits + 1) (2.20)
sign (Z
D(i,j)
) = sign (Y
D(i,j)
)
Trong , MF
(0,0)
l h s nhn ti v tr (0,0) v cc h s f, qbits c
nh ngha trn.
Trong qu trnh gii nn, bin i ngc c thc hin trc :
1 1 1 1
W = (2.21)
QD
1 -1 1 -1
D
Z
1 1
1
1 1
1
]
] ]

Tip , qu trnh lng t ngc s c thc hin cho block W
QD
:
36


W
D(i,j)
= W
QD(i,j)
. V
(0,0)
. 2
floor (QP/6) 1
(QP 6) (2.22)
W
D(i,j)
= [W
QD(i,j).
V
(0,0)
] >> 1 (QP < 6)
Cc h s sau khi thc hin qu trnh lng t ngc s c thay th ti cc
v tr tng ng ca chng trong cc block 4x4 trc khi c bin i trong qu
trnh nn.
2.3.1.3 Ti sp xp
Trong b nn, mi block 4x4 ca cc h s bin i c lng t s c
nh x thnh mt mng gm 16 phn t theo th t zig-zag.

Hnh 2. 23: Qut Zig-Zag i vi block 4x4 luma

Hnh 2. 24: M hnh bin i block 4x4 thnh mng sau khi ti sp xp
2.3.1.4 M ha lung bit nn hay m ha Entropy
Trong qu trnh nn video, mt s gi tr phi c m ha to thnh
lung bit nn lu tr hoc truyn dn nhm phc v cho b gii nn. Cc gi tr
ny bao gm:
Cc h s sau khi bin i v lng t.
Cc thng tin lin quan nhm gip cho b gii nn ti to li block d
on.
Thng tin v cu trc ca d liu nn.
Thng tin v chui video hon chnh.
37


Thng tin v mode d on trong cc maroblock trong d on Intra.
Gi tr bin lng t (QP).
Cc gi tr ny v mt s thnh phn khc s c m ha thnh lung bit
nh phn bng cch dng cc thut ton m ha di thay i CAVLC v/hoc m
ha s hc CABAC. Lung bit nh phn ny s thay th cho thng tin video ban u
vi kch thc nh nn hiu qu hn trong vic lu tr hoc truyn dn.
C 3 loi m ha entropy c s dng trong H.264 l m ha Exp-
Golomb, m ha CAVLC, v m ha CABAC.
M ha Entropy Exp-Golomb
M ha Exp-Golomb c dng nn hu nh cc thnh phn d liu ca
lung video cn m ha ngoi tr phn d liu ca block khc bit.
Cc m Exp-Golomb (Exponential Golomb Codes) l cc m vi chiu di
thay i. Cc m ny c xy dng trn cng mt nguyn tc.

Bng 2. 7: Cc t m Exp-Golomb
Trong bng 2.7, vi mt vi t m (codeword) u tin c th bit c cc
t m ny c xy dng theo cch logic nh sau:
[M zeros] [1] [INFO] (2.23)
Trong , INFO l mt trng gm c M bit mang thng tin cho gi tr
code_num cn thay th. Chiu di ca mi t m Exp-Golomb l (2.M +1) bit. Mi
t m c th c b nn xy dng da trn ch s code-num ca n
M = floor (log
2
[code_num + 1]) (2.24)
38


INFO = code_num + 1 2
M

Mt t m c th c gii m to thnh s m n thay th trong b gii
nn nh sau:
c tng s zero trong M zeros ng trc 1
Tnh gi tr ca M bit INFO sau 1.
Gi tr code_num = 2
M
+ INFO - 1
Tuy nhin, m Exp-Golomb c dng m ha cc thnh phn d liu
khc nhau trong H.264, nhng khng phi tt c chng l cc s nguyn dng. V
vy, i vi mt s thnh phn d liu, mt bng ph c thm vo thay th
cho cc gi tr ny.

Bng 2. 8: nh x cc codeNum cho cc syntax elements c du
i vi cc bng nh x ny, c gi tr thng dng hn ca cc thnh phn
m ha c nh x ti cc codeNum nh, v th vic m ha s t hiu qu nn
cao hn.
M ha chiu di thay i ng ng cnh CAVLC
CAVLC (Context-based Adaptive Variable Length Coding): m ha chiu
di thay i ng ng cnh. y l mt dng m ha entropy m bng t m
(codeword table) p dng cho block hin ti cn m ha s c chiu di thay i
39


da vo cc phn d liu c m ha trc (cc block ln cn c m
ha). CAVLC l phng php m ha entropy ca profile c bn ca H.264. N
c dng m ha cc block khc bit 4x4 hoc 2x2 gm cc h s lng t
sau khi block c ti sp xp. M ha CAVLC da trn cc c im sau ca mt
block sau qu trnh lng t:
Sau cc qu trnh d on, bin i v lng t, cc block thng mang
tnh cht tha (cha hu ht cc h s mang gi tr 0). CAVLC dng m
ha ng chy th thay th chui cc 0 lm cho hiu qu nn tt hn.
Tng s cc h s khc zero trong cc block k nhau l tng ng vi
nhau. Cc h s c nn da trn mt bng tm kim (look-up table) v
s la chn ca bng ny ph thuc vo s cc h s khc zero trong cc
block ln cn ca block cn m ha.
Sau qu trnh ti sp xp, gi tr level ( ln) ca cc h s khc zero
thng c khuynh hng ln ti cc v tr bt u ca mng (gn cc h
s DC) v gim dn khi i v pha cui mng. CAVLC li dng im ny
bng cch la chn bng tm kim (look-up table) ph thuc vo ln
cc level c m ha gn nht cho level hin ti cn m ha.
Trong CAVLC, vic m ha mt block gm cc h s bin i c thc
hin theo th t sau [24] :
coeff_token: m ha cc h s khc 0 (TotalCoeff) v cc Trailing Ones
(cc h s vi gi tr tuyt i bng 1).
trailing_one_sign_flag: du ca cc gi tr Trailing One.
level_prefix: phn u ca m cc h s khc 0 (mt gi tr cho mt h
s).
level_suffix: phn th 2 ca m cc h s khc 0 (mt gi tr cho mt h
s).
total_zeros: tng s zero tnh t u mng cho n h s khc zero cui
cng.
40


run_before: s cc zero trc mi h s khc 0. Vic m ha cc
run_before c thc hin theo th t ngc t cui mng.
M ha nh phn s hc ng ng cnh CABAC
CABAC (Context-based Adaptive Binary Arithmetic Coding): m ha nh
phn s hc ng ng cnh. Ging nh CAVLC, CABAC s m ha phn d liu
hin ti da trn phn d liu trc c m ha trong cc block ln cn.
CABAC t c t l nn tt da vo vic la chn m hnh thch hp cho mi d
liu cn m ha theo ng cnh ca n v s c lng hp l da trn cc thng k
cc b v dng m ha s hc (arithmetic coding) thay cho m ha chiu di thay
i (variable-length coding) nh trong CAVLC. CABAC dng m ha s hc c
ngha l ch c 2 gi tr nh phn (0 v 1) c m ha. Nu mt gi tr khng phi
l nh phn (chng hn cc h s bin i, cc vector chuyn ng) th s c nh
phn ha chuyn thnh dng nh phn trc khi dng m ha s hc. M ha
CABAC c dng trong profile chnh.
2.3.1.5 Lc tch khi
Lc c thc hin vi mi macroblock sau khi c gii nn lm m i
nhng cnh gia cc block v cung cp kh nng hin th hnh nh sau khi gii nn
tt hn. y l mt ci tin ca H.264 so vi cc chun nn video trc.
Ti b nn, lc tch khi c thc hin cho cc macroblock trc qu trnh
lu tr macroblock lm tham chiu cho cc d on sau ny. Cc maroblock sau
khi lc c th c s dng cho vic d don b chuyn ng cho cc nh tng
lai. Ti b gii nn, lc c thc hin trc khi macroblock c ti xy dng v
hin th.
Qu trnh lc tch khi c p dng cho cc cnh theo chiu ngang v
thng ng ca cc block 4x4 trong mt macroblock (ngoi tr cc cnh ng thi
l ng bin ca slice) theo th t sau:
41



Hnh 2. 25: Th t lc cc cnh ca thnh phn luma v chroma trong 1 macroblock
Lc 4 ng bin thng ng ca thnh phn luma (theo th t a, b, c, d).
Lc 4 ng bin ngang ca thnh phn luma (theo th t e, f, g, h).
Lc 2 ng bin thng ng ca mi thnh phn chroma (i, j).
Lc 2 ng bin ngang ca mi thnh phn chroma (k, l).
2.3.2 Quy trnh gii nn

Hnh 2. 26: Quy trnh gii nn vide ca chun H.264/AVC
B gii nn nhn lung bit nn c truyn dn bi b nn, thc hin gii
nn entropy v ti sp xp cc thnh phn d liu to tp cc h s bin i
lng t X. Sau , tp h s X ny s c lng t ngc v bin i ngc
to block khc bit D
n
.
X
+
D
n
F
n-1
, ....
(Frames
tham chiu)
Qu trnh
b chuyn
ng
D on
Intra
F
n
(Frame
tham chiu)
Lc
Ti cu
trc
M ha
Entropy
NAL
T
-1
(Bin i
ngc)
Q
-1
(lng t
ha ngc)
P
Inter
Intra
+
uF
n
42


B gii nn dng cc thng tin c c t vic gii nn lung bit to mt
block d on P bng mt trong hai phng php d on (Inter hoc Intra), block
ny s ging vi block d on c to ra trong b nn. Block P s cng vi block
khc bit Dn to thnh block uFn. Block uFn s c lc tch khi to
thnh block Fn lc c th c dng cho vic hin th.
2.3.2.1 Gii m lung bit nn
B gii nn s nhn lung bit nn H.264, tin hnh gii nn cc thnh phn
d liu, ti to li cc thng tin c nn bi b nn nh cc h s bin i c
lng t, thng tin d on,... Sau thng tin ny c c dng thc hin li
qu trnh bin i v lng t ngc nhm ti xy dng li chui gm cc nh
video.
2.3.2.2 Rescaling v bin i ngc
Cc h s bin i lng t s c re-scaled. (mi h s c nhn vi
mt gi tr nguyn phc hi li gi tr ban u ca n).
2.3.2.3 Ti xy dng
Vi mi macroblock, b gii nn to mt block P ging vi block c to
bi b nn. B gii nn s cng block ny vi phn block khc bit c to thnh
trong qu trnh gii nn ti xy dng block. Sau , cc block ny c lc v c
th c dng hin th nh mt phn ca nh video.

You might also like