Upload
trandung
View
253
Download
0
Embed Size (px)
Citation preview
Chosun Univ. Multimedia ASIC Lab. 1
http://vlsi.chosun.ac.kr
4. H.263 Video Codec for Low Bitrate Communcations
1998. 02. 18.
/ß¿�� ÃOÔ³t�´�» MEDALMultimedia Engineering & Design ASIC Lab.
3 Ô Ã[email protected]
http://vlsi.chosun.ac.kr
Chosun Univ. Multimedia ASIC Lab. 2
http://vlsi.chosun.ac.kr
H.263 Overview
• ¬¤1 Y��(èD�� ¨ø�, ØÄ�)è �M�ȸÈ/è¸È ÀèHtÀ }¥e¹� ù9üÔ¨��¤
• ¬¤1 Y��tÀü ä��¸X ÀèH ¨�Ô�D ÀX �¤� H.324 �tÀ PM¼�, ¤õü8ðÕù9�¤ä G.723.1��.
• H.261è Ô¼à� 4Àü Ä�$Üø Í9� L¤Ì
• ¥e��: 5)ü(sub-QCIF, QCIF, CIF, 4CIF, 16CIF)
Chosun Univ. Multimedia ASIC Lab. 3
http://vlsi.chosun.ac.kr
H.263 Overview
Coding control
Sourcecoder
Sourcedecoder
Video multiplexcoder
Video multiplexdecoder
Transmissionbuffer
Receivingbuffer
Codedbitstream
Videosignal
a) Video coder
b) Video decoder
External control
Chosun Univ. Multimedia ASIC Lab. 4
http://vlsi.chosun.ac.kr
H.263 Overview
• 8 ]y ³ Ä� ÔI– Forced updating: Pátü ¥MB8 �0� 132, µ �,ä INTRA$Üø– Buffering: Hypothetical Reference Decoder¤ <P� ¼ ,è ¹h– Forward Error Corection: BCH(511,493)– Fast Update Request/Freeze Picture Request/Freeze Picture Release– Multipoint Operation: CPM(Continuous Presence Multipoint)– Negotiable Coding Options
* Unrestrcted Motion Vector modeá<ü �¡th MV lM; 5ä áttÀ átü edge Ô À de(� ,8 aT LÌ¥(.´� MVü 8¨ ùIü� �ø ü de(� � aT L ¥(
* Syntax-based Arithmatic Coding modeVLC TÄ$Üø� ¤X�; SNR�< �t¥eä ½à< $ÜøÌ� 6èt
* Advanced Prediction modeOverlapped Block Motion Compensation(OBMC); 4Àü MV� è\mä A¤üdp �� IeÀ¬Åè ¼-�. -, blocking effect ¨� ¤¥ ølè ÀÄ�
* PB-frames modePátä Bát ôát ü<ü �¨� $Üø�; e¤¥à�è\Ìü A¤j� ¨¬(ÌèA¤�X.
Chosun Univ. Multimedia ASIC Lab. 5
http://vlsi.chosun.ac.kr
H.263 Overview
• Source FormatPicture Format
Aspact ratio8 4:3(H.261ü QCIF/CIFä ½�)Encoder: Sub-QCIF, QCIFµ ¥Xh ü< dtDecoder: Sub-QCIF, QCIF ¼�� ü� dt
Picture Format number of pixels forluminance (dx)
number of lines forluminance (dy)
number of pixels forchrominance (dx/2)
number of lines forchrominance (dy/2)
sub-QCIF 128 96 64 48
QCIF 176 144 88 72
CIF 352 288 176 144
4CIF 704 576 352 288
16CIF 1408 1152 704 576
Chosun Univ. Multimedia ASIC Lab. 6
http://vlsi.chosun.ac.kr
H.263 Overview
• Source Format(conti)– Luminanceä Chrominanceü |° ¨ü
Luminance SampleChrominance SampleBlock Edge
– Sampled values : Black = 16, White = 235 Zero color difference = 128 Peak color difference = 16 and 240 coding input values: 1 ~ 254
Chosun Univ. Multimedia ASIC Lab. 7
http://vlsi.chosun.ac.kr
H.263 Encoder
DCT : Descrite Cosine TransformIDCT : Inverse DCT Q : QuantizerIQ: Inverse Q VLC(C): Variable Length Coder for Transform CoefficientsVLC(M): VLC for Motion Vector MBTYPE: Macroblock Type and Pattern PRED: PredictionME1: Integer-Pel Motion Estimation and Intra/Inter Decision ME2: Half-Pel Motion Estimation M: Previous Reconstructed Frame MemoryCC: Coding Control
DCT Q VLC(C) BUF
M VLC(M)
IQ
IDCT
+_
++
Video Input
MUX
CC
PRED
ME2ME1
MBTYPE
CodedBitstream
Out
0
Intra/Inter
Video signalSide information
Chosun Univ. Multimedia ASIC Lab. 8
http://vlsi.chosun.ac.kr
H.263 Decoder
Coded BitstreamInput IDCTIQVLD(C)
+Reconstructed
Video Out
MC M
+DMUXBUF
VLD(M)
MBTYPEIntra/Inter
0
VLD(C): Variable Length Decoder for Transform CoefficientsVLD(M): VLD for Motion VectorM: Previous Reconstructed Frame MemoryMC: Motion CompensationDMUX: Demultiplexer
Chosun Univ. Multimedia ASIC Lab. 9
http://vlsi.chosun.ac.kr
H.263 �Óã cw{ +/
4 h٠��
• Picture• Group of Blocks• Macroblock• Block
Chosun Univ. Multimedia ASIC Lab. 10
http://vlsi.chosun.ac.kr
H.263 �Óã cw{ �ô+/
...
GOB 0
GOB 1
GOB 7
GOB 8
9 GOBs/picturePicturesex) QCIF
144 lines/ picture
176 pixels/line
11 MBs/GOBMB MB MB MB MB
1
3
2
4
5 6
CB CR
Y 6 Blocks/MB
8x8 pels/block(zig-zag scan)
Chosun Univ. Multimedia ASIC Lab. 11
http://vlsi.chosun.ac.kr
Picture Layer
PSPARE(0/8/16...)
PSC(22)
TR(8)
PTYPE(13)
PQUANT(5)
PSBI(2)
CPM(1)
TRB(3)
DBQUANT(2)
PEI(1)
GOBs(...)
ESTUF(...)
EOS(22)
PSTUF(...)
Picture Header
Picture Stuffing
PSC: Picture Start CodeTR: Temporal ReferencePTYPE: Picture TypePQUANT: Quantizer Informaton for PictureCPM: Continuous Presence MultipointPSBI: Picture Sub Bitstream IndicatorTRB: Temporal Reference for B-picture
DBQUANT: Quantization information for B-picturePEI: Extra Insertion InformationPSPARE: Spare InformationGOB: Group of BlockESTUF: Stuffing for EOSEOS: End of SequencePSTUF: Stuffing for PSC
Chosun Univ. Multimedia ASIC Lab. 12
http://vlsi.chosun.ac.kr
GOB Layer
GSTUF(...)
GN(5)
GBSC(17)
GSBI(2)
GFID(2)
GQUANT(1)
MBs(...)
GOB Header
GSTUF: Stuffing for GBSCGBSC: Group of Block Start CodeGN: Group NumberGFID: GOB Sub Bitstream IndicatorGFID: GOB Frame IDGQUANT: Quantizer Information for GOBMB: Macro Block
Chosun Univ. Multimedia ASIC Lab. 13
http://vlsi.chosun.ac.kr
Macro Block Layer
COD(1)
MCBPC MODB CBPB(6)
DQUANT(2)
CBPY MVD MVD2-4 MVDB BLOCKs
MB Header
COD: Coded Macroblock IndicationMCBPC: MB Type & Coded Block Pattern for ChrominanceMODB: MB mode for B-blocksCBPB: Coded Block Pattern for B-blocksCBPY: Coded Block Pattern for LuminanceDQUANT: Quantizer InformationMVD: Motion Vector DataMVD2-4: Motion Vector Data for Advanced Prediction modeMVDB: Motion Vector Data for B-macroblock
Chosun Univ. Multimedia ASIC Lab. 14
http://vlsi.chosun.ac.kr
Block Layer
INTRADC(8)
TCOEFs
INTRADC DC Coefficient for INTRA blocksTCOEFF: Trnsform Coefficient
• 6 Blocks(4 luminance blocks, 2 color difference blocks)INTRADC8 MB type 3,4� MBü ¥ ¸�t �PTCOEFF8 MCBPC< CBPYt Ô �P
• PB-frameL�8 12 Blocks(6 P-blocks, 6 B-blocks)INTRADC8 MB type 3,4� MBü L� P-blockt �P, B-blockt8 jðTCOEFF8 MCBPC< CBPYt Ô P-blockt �P,
B-blockt8 CBPBt Ô �P�
Chosun Univ. Multimedia ASIC Lab. 15
http://vlsi.chosun.ac.kr
?÷� èT� ï·SK
• de(¬Å L�Ä�• Macroblock Prediction• Transform• Quantization• VLC Encoding• Buffering• Buffer Regulation
Chosun Univ. Multimedia ASIC Lab. 16
http://vlsi.chosun.ac.kr
��C Çà» g�ß�
• de(¬Å(ME)ä MBü Luminancet ¤�Àp ¼-Ì• Error Measure: SAD(Sum of Absolute Difference)• Integer Pixel ME
– Vectort ¤� ¸��Ô: 16 x 16, 8 x 8(at Advanced Prediction Mode)– Full search; tm¥�: ¼e/¼m +/- 15 pixelsðd
ÒÀà ÷ ø îñèæèíàë ïñäõèîôò ÷ ø ôï óî Í îñÍ
è é
Í Í
§ « ¨ « « ¡ ¡««
«
= − = ± == =∑° °
°´ °µ ·
ÒÀà ÒÀðµ °µ
¯ ¯ °¯¯§ «¯¨ § «¯¨= −
– 16x16 Integer pixel MV(V0) : the lowest SAD16(x,y)– 4 8x8 integer pixel MVs(V1,V2,V3,V4): the lowest SAD8(x,y)– 16x16 ¬Å ð– Advanced Prediction ð8ÒÀà ÒÀà ÷ ø ÒÀà öçäñä ÒÀà ÒÀà ÷ ø
äñ ÷ ÷èíóìèí§ § « ¨« ¨« § « ¨= = ∑°µ ³ · ³ · ·
°
³
ÒÀÃ ÒÀÃ ÷ øäñèíó
§ « ¨=°µ
to favour the zero vector
Chosun Univ. Multimedia ASIC Lab. 17
http://vlsi.chosun.ac.kr
Macroblock Prediction
• Prediction ModesMODE PREDICTION/DQUANT 0 INTER 1 INTER + Q 2 INTER4V 3 INTRA 4 INTRA + Q
• Chrominance Prediction, MV/2
+ Chrominance pixel position
1/4 pixel chrominance position
a=A
b=(A+B)//2
c=(A+B)//2
d=(A+B)//2
e=(A+C)//2
f=(A+B+C+D)//4
g=(A+B+C+D)//4
h=(A+B+C+D)//4
+ +A B
C D
a b c d
++
e f g h
i j k l
m n o p
i=(A+C)//2
j=(A+B+C+D)//4
k=(A+B+C+D)//4
l=(A+B+C+D)//4
m=(A+C)//2
n=(A+B+C+D)//4
o=(A+B+C+D)//4
p=(A+B+C+D)//4
Chosun Univ. Multimedia ASIC Lab. 18
http://vlsi.chosun.ac.kr
Transform
• Forward 2-D DCT
Å ô õ â â å ÷ ø÷ ô ø õ
ô õ
ø÷
§ « ¨ § « ¨âîò§ ¨
âîò§ ¨= +
+
==
∑∑°
³
± °
°µ
± °
°µ¯
¶
¯
¶ π π
• Inverse 2-D DCT
å ÷ ø â â Å ô õ÷ ô ø õ
öèóç ô õ ÷ ø öçäñä âê
ê
ô õ
õô
ê
§ « ¨ § « ¨âîò§ ¨
âîò§ ¨
« « « « ««® «
«
= +
+
= ==≠
==∑∑°
³
± °
°µ
± °
°µ
¯ ° ¶° ± ¯
° ¯
¯
¶
¯
¶ π π
x,y: spatial coordinates in the pixel domain
u,v: coordinates in the transform domain
Chosun Univ. Multimedia ASIC Lab. 19
http://vlsi.chosun.ac.kr
Transform
f(x,y)
Data domain Transform domain ==> 8x8 2-D DCT
followed
by...
8-point 1-D DCTalong columns
8-point 1-D DCTalong rows
• Separable 2-D DCT(column and row/row and column)
• Frequency distribution & Structural decomposition
Chosun Univ. Multimedia ASIC Lab. 20
http://vlsi.chosun.ac.kr
Quantization
• INTRA DCQuant.:Dequant.:
• QunatizationINTRA AC:
INTER:
• Inverse Quantization
ËÄÕÄË Âëèïïèíæ ÂÎÄÅ=°
±´³
·®®
ËÄÕÄË Âëèïïèíæ òèæí ÂÎÄÅ ÷ ÂÎÄÅÐÏ
ÐÏ= −
−°±¶
°±¶
±±§ ¨ ®
ÑÄÂÎÍ ËÄÕÄË ÷= ·
( )( )
ÑÄÂ èå ËÄÕÄË
ÑÄÂ òèæí ËÄÕÄË ÷ ÐÏ ÷ ËÄÕÄË ÐÏ èå ËÄÕÄË ÐÏ èò îãã
ÑÄÂ òèæí ËÄÕÄË ÷ ÐÏ ÷ ËÄÕÄË ÐÏ èå ËÄÕÄË ÐÏ èò äõäí
ÑÄÂ Âëèïïèíæ ÑÄÂ
= =
= + ≠
= + − ≠
=−
¯ ¯
± ¯
± ° ¯
±¯³·
±¯³¶
«
§ ¨ « «
§ ¨ « «
( )ËÄÕÄË Âëèïïèíæ òèæí ÂÎÄÅ ÷ ÂÎÄÅ ÐÏ=−°±¶
°±¶
±§ ¨ ®
QP: Quantization Parameter(1~31)
Quantization stepsize: 2QP
Chosun Univ. Multimedia ASIC Lab. 21
http://vlsi.chosun.ac.kr
VLC Encoding
• VLC Encoding of quantized transform coefficents– 8x8 blocks are scaned with “zig-zag” scanning– Lossless coding– 3-dimmential VLC(EVENT): combination of LAST,RUN, LEVEL
most commonly occuring combi. of (LAST,RUN,LEVEL): VLC remainning combination: ESCAPE(7bits)+LAST(1)+RUN(6)+LEVEL(8)
: FLC; 22 bits– Run-length Coding ¬¤¹: 0¶� �T ì,ü�.
¶: 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 3 1 2 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
$ÜX: (0,5,1) (0,11,3) (0,0,1) (0,0,2) (1,2,1)
ø�enon-zero¶�jðè <dhnon-zero¶ �t
<Ì “0” Ó¼
$ÜXü À�ù�t Ô Huffman codingè ¼-ü�VLCð�¸è p�
Chosun Univ. Multimedia ASIC Lab. 22
http://vlsi.chosun.ac.kr
Buffer Regulation
• Regulation of stepsize and frame rate– MB leveltÀ stepsize(=2QP) dø�X
ÐÏ ÐÏÁ
Á
Á
ÑÁ Á Á Á Á
ìá
ÌÁÁ
íäö è è è ìá= + +
= − = −− −°
° ±
° ° ±°±
°±∆ ∆ ∆ ∆« « «
3,��tü� $Üøü8}ì QP¤ døÌ
l�X QP¶à� �¬üÔ¨� DQUANT¶è d¹�
l�MBt dø�P QP¶
�¨átü m�QP¶
�¨áttÀ PM� è\¼
át� M�è\¼
¨P MB ,Ü
� átü MB¼
átt¤� ¨Pðd 0èÀ è\¼
è\Ì
ÐÏíäö
Ð Ïè −°
Áè −°
Á
ìá
ÌÁ
Ñ
Áè ìá«
Chosun Univ. Multimedia ASIC Lab. 23
http://vlsi.chosun.ac.kr
Bufferring
• Hypothetical Reference Decoder(HRD)– $ÜÔtÀ8 HRDü 8�t �0 @É bitstreamè ÀX� �– � át¤ BPPmaxKb ¬ � ¼ jð– HRD¼�( : (B + BPPmaxKb*1024bits)
t
t
R (t)d t
B
b
n+1
n
n
n+ 1
d
n+1
t n n+1t
b
n+ 1 n
HRD bu ffe roccupancy(bit)
T im e(C IF in te rval)
N O T E – T im e (t – t ) is a n integer nu m ber o f C IF p ic tu re pe r iod s (1 /2 9 .97 , 2 /2 9 .97 , 3 /2 9 .9 7 , ...) .
Source format BPPmaxKb
sub-QCIF 64
QCIF 64
CIF 256
4CIF 512
16CIF 1024
ÁÑ= ³±¸
ìà÷
¸¶
ã á Ñ ó ãó Áí í
ó
ó
í
í
+ ≥ + −+∫°
°
§ ¨
Chosun Univ. Multimedia ASIC Lab. 24
http://vlsi.chosun.ac.kr
Advanced Prediction mode
• Overlapped Block Motion Compensation(OBMC)• MB� 4 MVs¤ Ä ¼ ,ð• át ah ¼8 MV d¹ lM(UMV)• UMV¤ Ä�¼lè aTtp MV8¨ ùI• PB-framesL�ä �| ¥MÄð OBMCä Pátü ¬Åtp ¥M¼�, Bátt8 ¥MìÌ
Chosun Univ. Multimedia ASIC Lab. 25
http://vlsi.chosun.ac.kr
Advanced Prediction mode
• ���¸�� 4Àü de(EÔ– 1 or 4 MVs T¹ ---> MCBPCt d¹; 1MV aT 4MVs8 ½ä ¶– h� ¬ÅEÔ(V1/V2/V3) P¹ü�:
– Õ(ü MV:
= (sum of the 4 luminance vectors)/8ÌÕÃÂÇÑ
MV2 MV3
MV1 MV
MV2 MV3
MV1 MV
MV1
MV2 MV3
MV
MV2 MV3
MV1 MV
Chosun Univ. Multimedia ASIC Lab. 26
http://vlsi.chosun.ac.kr
Advanced Prediction mode
• Luminanceü OBMC(]� de(�e)
4 5 5 5 5 5 5 4
5 5 5 5 5 5 5 5
5 5 6 6 6 6 5 5
5 5 6 6 6 6 5 5
5 5 6 6 6 6 5 5
5 5 6 6 6 6 5 5
5 5 5 5 5 5 5 5
4 5 5 5 5 5 5 4
2 2 2 2 2 2 2 2
1 1 2 2 2 2 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 2 2 2 2 1 1
2 2 2 2 2 2 2 2
2 1 1 1 1 1 1 2
2 2 1 1 1 1 2 2
2 2 1 1 1 1 2 2
2 2 1 1 1 1 2 2
2 2 1 1 1 1 2 2
2 2 1 1 1 1 2 2
2 2 1 1 1 1 2 2
2 1 1 1 1 1 1 2
Ç è 鯧 « ¨
¨Pluma¸�ü MVä ¬Åè ¨� ¤µü
above/belowt ¨ü� luma¸�ü MVä ¬Åè¨� ¤µü
left/rightt ¨ü� luma¸�ü MVä ¬Åè¨� ¤µü
Ç è é°§ « ¨ Ç è é
±§ « ¨
previousblock
currentblock
above
left
right
below
Each pixel in 8x8 luma prediction block= (weighted sum of 3 prediction values)/8
Chosun Univ. Multimedia ASIC Lab. 27
http://vlsi.chosun.ac.kr
Reference
• ITU-T DRAFT H.263, Video Coding for Low Bitrate Communication, 2May, 1996.
• Telenor Research(TR), VIDEO CODEC TEST MODEL, TMN5, 31Jan., 1995
• Digital Video Coding at Telenor R&D,http://www.fou.telenor.no/brukere/DVC/
• TMN H.263 Encoder/Decoder/Player v.2.0 C Sources & QCIF files,ftp://bonde.nta.no/pub/tmn/software,ftp://bonde.nta.no/pub/tmn/qcif_sources