360 likes | 884 Views
Basics of Video Coding and H.263 Video Coding. 김성재 Sep. 6, 2000. Content. Basics of Video Coding Introduction Color Coordinate and Picture Format Transform Coding - DCT Quantization Entropy Coding H.263 Video Coding Introduction Encoder Block Diagram Overall Process Motion Estimation
E N D
Basics of Video Codingand H.263 Video Coding 김성재 Sep. 6, 2000
Basics of Video Coding and H.263 Video Coding Content • Basics of Video Coding • Introduction • Color Coordinate and Picture Format • Transform Coding - DCT • Quantization • Entropy Coding • H.263 Video Coding • Introduction • Encoder Block Diagram • Overall Process • Motion Estimation • Quantization • VLC encoding of quantized transform coefficient
Basics of Video Coding and H.263 Video Coding Introduction (1/4) Basics of Video Coding • Image Coding (Video Coding) • To represent an image(video) with as few bits as possible while preserving the level of distortion (quality)
Basics of Video Coding and H.263 Video Coding Introduction (2/4) Basics of Video Coding • Typical Image Coding System • Three Components in Image Coder
Basics of Video Coding and H.263 Video Coding Introduction (3/4) Basics of Video Coding • Classification of Image Coding Techniques
Basics of Video Coding and H.263 Video Coding Introduction (4/4) Basics of Video Coding • Features of Video Compression Algorithm • Random Access • Fast Forward/Reverse Searches • Reverse Playback • Audio-Visual Synchronization • Robustness to Errors • Coding/Decoding Delay • Format Flexibility
Basics of Video Coding and H.263 Video Coding Color Coordinate and Picture Format (1/3) Basics of Video Coding • Human Visual System • Cone : near to fovea, for day vision, 7 million • Rod : away from fovea, for night vision, 120 million • Color Coordinate • RGB • YUV • YCrCb
Basics of Video Coding and H.263 Video Coding Color Coordinate and Picture Format (2/3) Basics of Video Coding • Picture Format
Basics of Video Coding and H.263 Video Coding Color Coordinate and Picture Format (3/3) Basics of Video Coding
Basics of Video Coding and H.263 Video Coding DCT(Discrete Cosine Transform) (1/2) Basics of Video Coding • N개의 입력 신호 에 대해서 1-D forward DCT 는 다음과 같이 정의
Basics of Video Coding and H.263 Video Coding DCT(Discrete Cosine Transform) (2/2) Basics of Video Coding • 4x4 2-D DCT
Basics of Video Coding and H.263 Video Coding Scalar Quantization Basics of Video Coding 0 n bits/pixel Q r bits/pixel Original image Reconstructed image
Basics of Video Coding and H.263 Video Coding Vector Quantization Basics of Video Coding Original image Codebook Reconstructed image
Basics of Video Coding and H.263 Video Coding Huffman Coding Basics of Video Coding
Basics of Video Coding and H.263 Video Coding Arithmetic Coding Basics of Video Coding • Green-Green-Red
Basics of Video Coding and H.263 Video Coding Introduction (1/2) H.263 Video Coding • Two basic compression algorithm • Block-based motion estimation/compensation : Reduction of the temporal redundancy • Transform domain(DCT)-based compression : Reduction of the spatial redundancy • 3 types of pictures • I(Intra picture), P(Predicted picture), B(Interpolated picture)
Basics of Video Coding and H.263 Video Coding Introduction (2/2) H.263 Video Coding • Structure of Video Data • Macroblock • Four Luminance(Y) Block • Two Chrominence(Cr, Cb) Block • Block : 8x8 pixel
Basics of Video Coding and H.263 Video Coding Encoder Block Diagram (1/2) H.263 Video Coding
Basics of Video Coding and H.263 Video Coding Encoder Block Diagram (2/2) H.263 Video Coding • ME1 Integer pixel motion estimation and INTRA/INTER decision • ME2 Half pixel motion estimation • M1 Input frame store • M2 Decoded frame store • PRED Make prediction block • MBTYPE Decide block type and block pattern • VLC(C) VLC coding of transform coefficients • VLC(M) VLC coding of motion vectors • CC Coding control • DCT Discrete Cosine Transform • Q Quantizer
Basics of Video Coding and H.263 Video Coding Overall Process (1/2)
Basics of Video Coding and H.263 Video Coding Overall Process (2/2)
Basics of Video Coding and H.263 Video Coding Motion Estimation (1/4) H.263 Video Coding • Integer pixel motion estimation • 움직임 탐색은 Y에 대해 정수 화소 단위로 이루어진다. • 현재 입력 Block 과 이전 Frame 의 영상과 Macroblock 단위로 비교하여 SAD(Sum of Absolute Difference)가 가장 작은 위치를 찾는다. • Full search가 사용되며 탐색범위는 현재 Macroblock 의 위치에서 수평, 수직방향으로 화소가 된다
Basics of Video Coding and H.263 Video Coding Motion Estimation (2/4) H.263 Video Coding • INTRA/INTER Mode Decision • Integer pixel motion estimation을 한 후에 Coder는 INTRA로 부호화할 것인지 INTER로 부호화 할 것인지를 결정한다. • A < (SAD - 500)이면 INTRA 모드로 선택된다. • INTER 모드가 선택되면 계속해서 Half pixel search가 이루어진다.
Basics of Video Coding and H.263 Video Coding Motion Estimation (3/4) H.263 Video Coding • Half pixel search • 이전에 재생된 영상을 이용 • 탐색 범위는 정수단위의 움직임 벡터 위치에서 Half pixel 이 된다. • SAD(0,0)는 100을 뺀 값과 비교 A B a b Integer pixel position Half pixel position c d C D a = A b = (A+B)//2 c = (A+C)//2 d = (A+B+C+D)//4 // : Integer division with rounding to nearest integer
MV : Current motion vector MV1 : Previous motion vector MV2 : Above motion vector MV3 : Above right motion vector MV2 MV3 MV1 MV MV2 MV3 MV1 MV1 MV2 (0, 0) (0, 0) MV MV1 MV MV1 MV : Picture or GOB border Basics of Video Coding and H.263 Video Coding Motion Estimation (4/4) H.263 Video Coding • Differential coding of motion vectors • Motion vector의 전송은 이전 Macroblock의 Motion vector와의 차이를 전송 • Motion vector difference :
Basics of Video Coding and H.263 Video Coding Quantization (1/2) H.263 Video Coding • Notation • QP(Quantization Parameter) : 1~32 사이의 정수값 • Quantization step size : 2xQP • COF : 양자화 될 DCT 영역의 계수값 • LEVEL : COF 를 양자화한 절대값 • COF’ : 재생된 DCT 영역의 계수값 • Quantization • For INTRA : • For INTER :
Basics of Video Coding and H.263 Video Coding Quantization (2/2) H.263 Video Coding • Dequantization • Quantization for INTRA DC coefficient • 8 bit가 사용 • Quantization : • Dequantization :
Basics of Video Coding and H.263 Video Coding VLC encoding of quantized transform coefficient H.263 Video Coding • Event는 3개의 Parameter의 조합으로 이루어진다. (LAST, RUN, LEVEL) • LAST • 0 : Not last coefficient • 1 : Last nonzero coefficient • RUN : Number of zero coefficients preceding the current nonzero coefficient • LEVEL : Magnitude of the coefficient