Professional Documents
Culture Documents
Thien NhatMMD Report
Thien NhatMMD Report
BI TP MN HC
SHSV: 20111940
Nguyn Vn Thin
SHSV: 20112282
H NI 2014
1
Mc lc
1. Tng quan ................................................................................................................................ 3
2. Gii thiu H.264/AVC .............................................................................................................. 3
3. Cu trc ca b quy chun H.264/AVC ................................................................................. 4
3.1.
3.2.
Video Coding Layer (VCL) trong NAL Unit v phng thc ng gi ............................................ 4
D on ........................................................................................................................................ 5
4.1.1.
Intra-prediction........................................................................................................................ 5
4.1.2.
Inter-prediction........................................................................................................................ 7
4.1.3.
4.2.
4.3.
M ha Entropy ........................................................................................................................... 10
Cc h s - profile. ...................................................................................................................... 11
6.2.
Cc cp - Level. ...................................................................................................................... 12
6.3.
1.
Tng quan
MPEG-4 l mt phng php nh ngha cch thc nn m thanh v cc ni dung trc quan.
MPEG-4 bao gm nhiu chun, hay cn c gi l cc phn. MPEG-4 hin nay bao gm tt c
30 phn (1 phn ang trong qu trnh pht trin), a s cc phn hin nay vn cha c trin
khai.
2.
u Blu-ray, cc dch v pht video trc tuyn qua internet nh YouTube, iTunes Store, Vimeo,
cc phn mm nh Adobe Flash Player, Silverlight, VLC, v cc dch v truyn hnh HDTV, truyn
hnh v tinh.
Ngoi ra H264 cn c cc hng cng ngh pht trin phc v cho cc mc ch khc nh:
- XAVC: nh dng thu video c th h tr phn gii ln ti 4K (40962160) v tc khung
hnh / giy ln ti 60.
- AVCHD: c pht trin bi Sony v Panasonic, dng thu video phn gii cao, c s
dng trong nhiu a Blu-ray v my PlayStation 3. V c bn l H264 nhng c thm mt
s tnh nng c bit phc v cho cc thit b ca hng.
3.
3.1.
c s dng nhm to tnh thn thin vi mi trng mng cho nh dng H.264/AVC. Cng
vi nhiu h thng khc nhau nh:
RTP/TP cho mi loi giao tip c dy v khng dy thi gian thc.
Cc nh dng file (ISO, MP4, MMS,).
H.32x cho dch v m thoi.
MPEG2 cho truyn hnh.
D liu video c m ha, v cha trong cc n v thuc lp NAL, gi l cc NAL Unit. Ngoi ra
cn cc gi NAL Unit cha cc thng tin khc, nn NAL Unit c chia lm 2 loi:
VCL NAL Unit: NAL unit cha thng tin v video m ha.
Non-VCL NAL Unit: NAL unit cha cc thng tin khc.
Header Byte: Byte u tin ca mi n v NAL, cho bit loi thng tin m NAL ny cha.
Enumeration Prevention Bytes: Byte c chn vo d liu ti trng nhm ngn vic to ra tip
u m (net code prefix ngoi mun).
Gii thch: Net Code Prefix c s dng nhm nh danh nh dng file. Trong H264, code ny
c a vo gia cc lp NAL, gm 3 bytes, ch khng c a trc tip vo lp NAL trong
cu trc Byte Stream (dng byte). Code c t cui NAL unit ny l tip u m ca NAL unit
tip theo (EOF).
3.2.
Mi NAL Unit (NALU) bao gm 1 byte NALU Header, sau l dy byte ni dung video m ha
(VCL) hoc thng tin iu khin (Non-VCL).
Byte header cha thng tin v loi NALU v tnh quan trng ca NALU (NALU c cha
thng tin v slice s dng tham chiu khng? v nu khng c cc slice ny s gy kh khn
cho vic gii m cc ni dung cn tham chiu).
NALU c th c truyn pht (stream) di dng cc dng bit hoc ng gi di dng cc file.
4.
Qu trnh nn ca H.264/AVC
Qu trnh nn / m ha ca H.264/AVC bao gm 3 cng on (xem hnh 1): D on, Bin i &
Lng t ha v M ha Entropy.
4.1.
D on
Cng on ny x l mt khung hnh video theo tng khi nh c gi l cc Macroblock
(kch thc 16x16 pixels). V cng l l do ti sao cc video hin nay c chiu ngang v
chiu dc u l cc s chia ht cho 16 m bo nn cao nht (VD: 1280720,
720480,). Vy i vi nhng video c phn gii khng chia ht cho 16? Dng hoc
ct cui cng s c lm gi (clone). V d video 19201080 s c thm 8 dng cui
tr thnh 19201088, sau s ch nh cho decoder ct bt cc dng / ct gi ny
trong qu trnh gii m (decode).
Cng on ny phng on macroblock da theo cc d liu c m ha t trc: t
chnh khung hnh video hin ti (intra prediction) hoc t cc khung hnh trc c
m ha v truyn ti (inter prediction). Sau , encoder s tr phn phng on ny t
macroblock hin thi to ra phn d (residual).
Vic tm kim mt d on interframe hp l cho macroblock cn c gi l c lng chuyn ng.
Vic tr d on interframe vi macroblock gc c gi l b chuyn ng.
Cc phng thc phng on trong H.264/AVC linh hot hn cc nh dng trc , cho
ra kt qu phng on tt hn cng nh kh nng nn cao hn.
4.1.1.
Intra-prediction
M A B C D E F G H
I
L m n
Hnh 4: Cc phng php intra-prediction dng cho d on thnh phn Luma (Y)
trong khi 4x4
Phng php th 2 (DC) c thay i ty thuc vo vic mu A-M c tn ti hay
khng, cc phng php khc ch c thc hin khi tt c cc mu cn thit u
c sn (nu cc mu E, F, G, H khng c, gi tr ca mu D s c sao chp vo
v tr thiu ca chng).
Sau khi p dng ln lt c 9 phng php d on trn, vic tip theo encoder
s phi tnh ton gi tr sai s tuyt i (SAE - Sum of Absolute Errors) ca tng
block c d on so vi block hnh nh gc. Phng php no cho gi tr SAE
nh nht s c chn. (p dng cho c d on Luma 16x16 v 2 thnh phn
Chroma).
= | |
=1 =1
4 phng php dnh cho d on intraframe ca thnh phn Luma (Y) trong khi
16x16.
6
4.1.2.
Inter-prediction
Inter-prediction s dng kch thc khi (block size) trong mt khong (t 1616 n 44)
d on cc pixel trong khung hnh hin thi t cc khung hnh trc v cng nm trn
mt vng tng t.
Cc thut ton dng trong d on interframe: Diamond Search, Hexagon Search, Four
Step Search,...
Chng xoay quanh mt hm tiu chun i snh. Cc hm thng dng l:
Sai khc trung bnh tuyt i MAD:
1 1
1
= 2 | |
=0 =0
1
2
= 2 ( )
=0 =0
4.1.3.
B lc kh khi vung
4.2.
Bin i v Lng t ha
Khi d liu phn d sau cng on d on s c bin i thng qua mt b chuyn
i s nguyn (tng t bin i Cosin ri rc - DCT). Php bin i ny s cho ra mt
tp cc h s, mi thnh phn s l mt gi tr trng s cho mt nn chun c trc. Khi
c kt hp vi nhau, cc nn chun ny s c th ti to li khi d liu phn d ban
u.
4.3.
M ha Entropy
Kt qu m ha t 2 cng on trc s cho mt dng cc bit, vic cui cng l m ha
dng bit ny bng cc thut ton m ha entropy. H.264/AVC s dng 2 thut ton m ha
entropy l CABAC (Context Adaptive Binary Arithmetic Coding) v CAVLC (Context
Adaptive Variable Length Coding).
CABAC cho cht lng nn tt hn nhng gii m phc tp hn. 2 thut ton ny u l
cc thut ton nn khng mt thng tin nn s dng CABAC c th gim c bitrate so
vi CAVLC m vn gi c cht lng. CABAC c th ci thin cht lng nn khong
10-15% so vi CAVLC.
Cng on ny c thc hin Network Abstraction Layer (NAL).
5.
6.
Chun H.264/AVC
6.1.
Cc h s - profile.
y l cc rng buc dnh cho encoder, thng qua profile m decoder c th nhn ra
nhng yu cu cn thit gii m video. Profile l cch sp lp ng dng nht nh ca
H.264/AVC:
Baseline Profile (BP): Dng cho cc ng dng/thit b gi r vi kh nng tnh ton cn hn
ch. Loi ny c s dng trong hi ngh video v cc thit b di ng.
Main Profile (MP): S dng cho ng dng tm trung, pht hoc lu tr. Thng c
dng cho nh dng pht sng v tuyn phn gii chun trc y.
Extended Profile (XP): S dng cho cc ng dng pht video, vi nn cao, kh nng
chu li tt v tng thch khi chuyn dng pht gia cc server vi nhau.
High Profile (HiP): Loi s dng chnh cho truyn hnh phn gii cao v lu tr trn a
(HDTV, Bluray, HD DVD,).
High 10bit Profile (Hi10P): Ging nh HiP nhng hin nay cc thit b cn c sa i
tng thch vi nh dng s dng 10bit mi mu mu.
High 4:2:2 Profile (Hi422P): S dng cho cc ng dng chuyn nghip vi video interlaced
v s dng video 10bit. H tr ly mu mu dng 4:2:2.
High 4:4:4 Profile (Hi444P): Tng t nh trn nhng ly mu mu dng 4:4:4, h tr ln
ti 14bit mu mu. H tr m ha khng mt thng tin.
Ngoi ra, cc h s ny cn bao gm mt s loi con h tr cho all-intra, tc l mt s thit
b thu / ghi hnh, chnh sa chuyn nghip ch s dng Intra-Frame. Tng ng vi cc loi
profile lit k trn:
High 10 Intra Profile.
High 4:2:2 Intra Profile.
High 4:4:4 Intra Profile.
CAVLC 4:4:4 Intra Profile (ch s dng m ha entropy CAVLC).
Trn PC, Bluray, Mac, ch yu s dng Main Profile v High Profile.
So snh cc tnh nng gia cc profile:
11
Baseline
Extended
Main
High
High 10
High
4:2:2
High
4:4:4
Khng
a khung hnh
tham chiu
B lc kh khi
vung
CAVLC
CABAC
Khng
Khng
M ha interlace
Khng
Chuyn i 8x8
hoc 4x4
Khng
Khng
Khng
Lng t theo ma
trn
Khng
Khng
Khng
iu khin
Chroma ring
Khng
Khng
Khng
M ha khun
mu ring
Khng
Khng
Khng
Khng
Khng
Khng
M ha khng mt
mt thng tin
Khng
Khng
Khng
Khng
Khng
Khng
I / P Slice
B Slice
6.2.
Cc cp - Level.
y l cc cp yu cu cho decoder c tm tt:
12
Level
Tc gii m ti a
Kch thc
khung hnh ti a
Video bitrate ti a
Mu
Luma/s
Mu
Luma/s
Baseline /
Extended /
Main
Profile
High
Profile
Hi10
Profile
MB/s
MB
phn gii@tc
khung hnh (s
khung hnh lu
trong buffer)
12896@30.9 (8)
176144@15.0 (4)
380 160
1 485
25 344
99
64
80
192
3.1
27 648 000
108 000
921 600
3 600
14 000
17 500
42 000
62 500
1 280720@68.3 (9)
150 000 1 9201 080@30.1 (4)
2 0481 024@30.0 (4)
4.1
62 914 560
245 760
2 097 152
8 192
50 000
720480@80.0 (13)
720576@66.7 (11)
1 280720@30.0 (5)
6.3.
7.
-
Ging nhau:
Qu trnh m ha u da trn khng gian mu YUV.
u s dng php bin i ri rc cc khi trc khi a h s vo qu trnh lng t ha.
13
Khc nhau:
MPEG-1
-
H.264/AVC
-
8.
14
Kt qu
MPEG-1
H.264/AVC
Dung lng
video sau m ha
Cht lng hnh
nh
Chuyn ng
Chuyn ng ca chic vt b
nhe, khng nhn r
Chuyn ng ca chic vt c th
hin
9.
[7]
[8]
[9]
[10]
https://en.wikipedia.org/wiki/Inter_frame
https://en.wikipedia.org/wiki/Bilinear_interpolation
H.264 / MPEG-4 Part 10 White Paper
Understanding the Application: An Overview of the H.264 Standard
16