Post on 09-Feb-2020
Computer Vision &
Pattern Recognition Lab.
Computer Vision & Pattern Recognition Lab.
제12장 동영상 압축
Computer Vision & Pattern Recognition Lab. 2 /26 2014-02-13
동영상 압축 개요
동영상 압축
MPEG (Moving Picture Experts Group) 표준 알고리즘
정지 영상의 압축/복원 알고리즘 (JPEG) 을 동영상에
적용시키면서 시작됨
정지 영상의 공간적 상관성은 JPEG 기법을 그대로
적용하여 압축
공간적 압축뿐만 아니라, 시간적 압축 기법을 적용
인접 프레임간의 시간적 상관성을 이용하여, 변화된 정보만을 기록
Motion estimation / compensation도 사용
Computer Vision & Pattern Recognition Lab. 3 /26 2014-02-13
MPEG Algorithm :
JPEG + Differential Coding + Motion Estimation
MPEG Algorithm
동영상을 구성하는 각 영상 프레임은 I, B, P의 세가지 방법 중 한가지의 방법으로 압축
M개의 프레임으로 구성된 GOP(Group of picture)를 단위로 하여 I, B, P의 압축방법이 반복 됨
I B B P B B P B B I
GOP
Computer Vision & Pattern Recognition Lab. 4 /26 2014-02-13
(1) I-Picture(Intra Picture)
인트라 부호화의 약칭으로서 JPEG과 유사
움직임 보상을 이용하지 않고 해당 프레임만을 DCT 해서 부호화함
하나의 프레임으로부터 압축되어 독립적으로 복원이 가능한 프레임
(2) P-Picture(Predictive Picture)
예측 부호화 영상의 약칭으로서 프레임 간 순방향 예측 부호화 영상
을 말함
과거의 I 또는 P 픽처를 기준으로 삼아 움직임을 보상한 후, 나머지
차이분을 DCT 변환하여 부호화함
(3) B-Picture(Bi-directionally Predictive Picture) 쌍방향 예측 부호화 영상의 약칭으로서 과거로부터 예측하는 순방향
예측과 미래로부터 예측하는 역방향 예측 방식을 모두 수행함
I, P 픽처를 먼저 처리한 후 B 픽처를 부호화하므로 원래 화면의 순서
와 화면의 처리순서가 달라짐
프레임 압축의 세가지 방법
Computer Vision & Pattern Recognition Lab. 5 /26 2014-02-13
MPEG의 순방향/역방향 예측
과거 화면 미래 화면
사이에 위치 하는 화면
미래의 영상으로부터의 역방향 예측
과거의 영상으로 부터의 순방향 예측
Computer Vision & Pattern Recognition Lab. 6 /26 2014-02-13
Picture Type과 부호화 순서
Computer Vision & Pattern Recognition Lab. 7 /26 2014-02-13
MPEG Encoder 입력 123456789
MPEG Encoder의 출력 및 Decoder의 입력(전송 순서) 152349678
MPEG Decoder의 출력 123456789
1 2 3 4 5 6 7 8
I B B B P B B B
9
I
GOP
Computer Vision & Pattern Recognition Lab. 8 /26 2014-02-13
Input image Macro Block
8X8 Block
Zig-Zag Scan
3 0 0 0 2 0 0
0 0 0 1
3020000000100 2-D Run Length Coding
Event = (run,level)
(0,3)(1,2)(7,1)EOB Huffman Coding
Y(16x16) Cr(8x8) Cb(8x8)
DCT
양자화
Intra Coding (I-Picture)
Video Sequence
Computer Vision & Pattern Recognition Lab. 9 /26 2014-02-13
프레임 간 순방향 또는 역방향 예측 부호화
과거 또는 미래의 I, P 픽처를 기준으로 삼아 움직임을 보상한 후,
나머지 차이분을 DCT 변환하여 부호화함
Predictive Coding (B, P-Picture)
I B B P B B P B B I
GOP
Computer Vision & Pattern Recognition Lab. 10 /26 2014-02-13
Motion Estimation & Compensation
시간적으로 이웃한 화면들의 상관성을 이용하여 부호화의
성능을 높이는 방법
화면간 예측부호화(interframe predictive coding)
현재화면 화소의 예측치를 이전화면으로부터 구해서 그 차이를
부호화
움직임 추정(Motion Estimation) : 인코더
예측치를 구하기 위해 화면간의 움직임 벡터를 구하는 것
움직임 보상(Motion Compensation) : 디코더
추정한 움직임 벡터와 이전 영상를 이용하여 현재 영상을
재구성하는 것
매크로 블록단위(16*16)로 움직임 벡터 계산
블록매칭 알고리즘(BMA) 사용
Computer Vision & Pattern Recognition Lab. 11 /26 2014-02-13
움직임 추정을 위한 BMA(Block Matching Algorithm)
현재 프레임을 매크로 블록으로 나눈다.
정의된 탐색창 안에서 최적합 블록을 찾는다. 이때, 일정한
비용함수(MSE, MAE)에 따라, 현재 블록과 과거 프레임의 블록들
간의 차이값을 계산한다.
최소값을 찾아 움직임 벡터(Motion Vector)로 표시한다.
복호기(Decoder)에서는 전송된 움직임 벡터를 이용하여 복원된 과거
프레임에서 블록을 대체, 즉, 움직임 보상을 수행한다.
21
0
1
02
)1,,(),,(1
),(
N
y
N
x
tdyydxxftyxfN
dydxMSE
1
0
1
02
)1,,(),,(1
),(N
y
N
x
tdyydxxftyxfN
dydxMAE
Computer Vision & Pattern Recognition Lab. 12 /26 2014-02-13
(MxN)블록
현재 프레임
탐색영역
이전 프레임
N
M
n1 n1
m1
m1
(MxN) 블록 안의 화소값 단위로 차이를 계산한다.(MAE, MSE)
결국, 블록 전체의 차이가 가장 작은 블록(최정합 블록)을 찾아서 그 위치를 벡터로
표현 motion vector
Computer Vision & Pattern Recognition Lab. 13 /26 2014-02-13
Find (dx, dy) when E(dx,dy) is minimum
(dx,dy) : motion vector
yy
xx
N
y
N
x
wwdy
wwdx
tdyydxxftyxfdydxE
,...,0,...,
,...,0,...,
)1,,(),,(),(1
0
1
0
(x,y)
탐색영역
움직임벡터
(x,y)
이전영상 f(x,y,t-1) 현재영상 f(x,y, t)
Three-step Search(3ss)
Computer Vision & Pattern Recognition Lab. 14 /26 2014-02-13
Computer Vision & Pattern Recognition Lab. 15 /26 2014-02-13
Pre
processing
Frame
Memory
+
- DCT
움직임 보상
움직임 예측
Frame
Memory
+
IDCT
양자화
(Q)
Regulator
VLC
Encoder
Buffer
Q-1
Output
Input 예측
프레임
움직임
벡터
제어신호
MPEG 부호화기의 블록도
http://dvd-hq.info/
Frame 2
Macro blocks
Focusing on blocks A B C & D
Best match in reference frame
Detail
Computer Vision & Pattern Recognition Lab. 22 /26 2014-02-13
버퍼
Demux
Variable
Length
Decoder
움직임 보상
역양자화 B’ A’
+
+
양자화간격
움직임벡터
복호화기
Inverse
DCT
MPEG 복호화기의 블록도
Computer Vision & Pattern Recognition Lab. 23 /26 2014-02-13
Picture Layer 352 화소
22개의 MACROBLOCK
240
라인
15
개
의
M
A
C
R
O
B
L
O
C
K
SIF(Source Input Format)
의 1화면 (NTSC의 경우)
MACROBLOCK의 16x16 화소
MPEG1 비디오의 데이터 구조
Computer Vision & Pattern Recognition Lab. 24 /26 2014-02-13
352
240
Slice: Group of Macro Blocks
Computer Vision & Pattern Recognition Lab. 25 /26 2014-02-13
Adaptive Quantization과 Motion compensation의 기본 단위 16
16
8
8
8
8
Y
Cr
Cb
DCT의 기본 단위 ( ) 88
Macro Block (MB)
Block
Computer Vision & Pattern Recognition Lab. 26 /26 2014-02-13
MPEG1 비디오의 데이터 구조
MPEG-1 Video Layer Structure는 Sequence layer, GOP(Group Of
Picture) layer, Picture layer, Macroblock layer, Block layer로 구성됨
Sequence
Layer
GOP
Layer
Picture
Layer
Slice
Layer
Sequence
Header GOP GOP Sequence
End
GOP
Header
Picture
Header
Slice
Header
Picture Picture Picture Picture Picture
Slice Slice Slice Slice Slice
Macroblock Macroblock Macroblock Macroblock Macroblock
Macroblock
Layer
Macroblock
Information Y1
Y2
Y3
Y4
Cr
Cb
Macroblock_address_increment
quantiser_scale_code
motion_vector
coded_block_pattern DC Coeff.
AC Coeff.s
End_of_block
Computer Vision & Pattern Recognition Lab. 27 /26 2014-02-13
MPEG 데이터의 구조
Sequence Layer
화면 크기나 화면률(가로 : 세로 비율) 등과 같이 일련의 같은 속성을
갖는 화면 그룹
GOP Layer
랜덤 액세스가 가능한 독립적인 부호화 단위
시퀀스 선두로 부터의 시간 정보
Picture Layer
픽처 타입과 같이 1장의 스크린에 공통된 속성으로서 임의 길이의
슬라이스로 분해됨. (픽처 타입 정보 포함)
Slice Layer
매크로 블록이 여러 개 합쳐진 것.
Macro Block Layer
슬라이스 층을 더욱 분할한 MB에 공통인 정보를 포함, 휘도
신호(Luminance Y)와 색신호(Chrominance Cb, Cr) 블록으로 구성
Block Layer
DCT 처리 단위로서 8×8 비트의 크기를 가지며, 블록층의 종료는 EOB로
표시
Computer Vision & Pattern Recognition Lab. 28 /26 2014-02-13
MPEG 시스템의 구성
MPEG System Spec. : ISO/IEC 11172-1 (MPEG-1), 13818-1 (MPEG-2)
MPEG Video Spec. : ISO/IEC 11172-2 (MPEG-1), 13818-2 (MPEG-2)
MPEG Audio Spec. : ISO/IEC 11172-3 (MPEG-1), 13818-3 (MPEG-2)
Video
Encoding
Audio
Encoding
Video
Decoding
Audio
Decoding
Multiplexing
Demultiplexing
Video Source
Audio Source
Video
Audio
Computer Vision & Pattern Recognition Lab. 29 /26 2014-02-13
MPEG-1 특징
CD-ROM과 같은 읽기 전용 기억장치(Read-only memory)에서의 이용을 주요 대상으로 함
JPEG을 기본으로 하되, 이를 개량하여 만든 것으로서 , 1.5 Mbps까지의 부호화 비트율(bit rate)을 지원
프레임 단위의 압축은 물론 프레임간의 연관성을 이용한 압축방법 적용
비디오 시퀀스가 갖는 시간축 상의 중복을 없애기 위해 움직임 보상 방법을 이용
프레임 메모리 2장을 사용하여 쌍방향 예측 수행
임의 접근(Random access)을 가능케 하기 위해, 인트라 부호화 화면(I picture)을 주기적으로 도입하고, 인트라 부호화 화면이 적어도 1장 들어가는 GOP 구조를 제공함
압축에 소요되는 시간은 어느 정도 허용된 반면, 복원 처리는 실시간으로 가능하게 함
압축률은 50:1 정도이며 화질은 VHS 수준
다양한 화면 해상도 지원
Computer Vision & Pattern Recognition Lab. 30 /26 2014-02-13
MPEG-2 특징
대상 영상을 아날로그 TV품질 이상으로 하고 실제 표준화 작업에 있어서도 통신, 가전, 컴퓨터, 방송 등 각 분야로 광범위 하게 응용 가능
저장 미디어뿐 아니라 통신, 방송 미디어에서 적용 가능
기술적으로는 통신 미디어용인 H.261이나 저장 미디어용인 MPEG-1을 기반으로 개발
고품질 영상을 대상으로 하며,HDTV 서비스까지 확장 가능
MPEG-1과의 호환 가능하여, MPEG-1 비트 스트림도 복원 가능 MPEG-1과는 달리 순차 주사(Progressive scan)는 물론 비월 주사(Interlaced scan)도 처리 가능
표준안은 MPEG-Video, MPEG-Audio, MPEG-System으로 구성
압축률은 100:1 화질은 HDTV 수준
Computer Vision & Pattern Recognition Lab. 31 /26 2014-02-13
MPEG-1과 MPEG-2의 비교
Picture coding Frame or Field Frame
Motion Vector Estimation Interframe or Interfield Interframe
Decoder External Memory 8~32 Mbits 4~16 Mbits
Device Technology 0.5~0.8 m CMOS
Transistor Count
Power dissipation
Application
Digital Video Disk
Satellite TV
Digital Cable TV
Video-on-Demand
Video Game
CD Video
CD Karaoke
CD-I
Full Motion Video
Video Game
Specification MPEG-2(MP@ML) MPEG-1
Picture Format
Encoder Data Rate < 15 Mbps < 1.5 Mbps
480720 240350
0.7~1.0 m CMOS
0.8~2.5 million 0.3~1.2 million
1~3 W 1~2.5 W
Computer Vision & Pattern Recognition Lab. 32 /26 2014-02-13
비디오 관련 표준안
MPEG-4 64 kbps 이하의 저대역 전화선을 통한 오디오/비디오 통신을 위한 표준안으로 시작
다양한 Multimedia 서비스 (Internet Multimedia, Wireless Multimedia, Interactive Video Game, Virtual Reality 등) 에 대한 하나의 common coding technology가 요구됨
Object 단위의 Encoding/Decoding
Multimedia 콘텐츠와의 자유로운 Interaction
화면에서 소리/영상 객체들이 서로 복합되어 하나의 객체를 이룰 수 있도록 함
서로 다중화 및 동기화를 통해 장면들을 네트워크 채널들로 전송될 수 있도록 함
에러가 많은 환경에서도 겅건하게 동작
개별 객체별로 서로 다른 코딩 기법을 사용할 수 있음
Computer Vision & Pattern Recognition Lab. 33 /26 2014-02-13
MPEG-7
다양한 멀티미디어 자료를 효율적으로 색인 및 검색 (indexing & retrieval)하기 위한 목적
멀티미디어 자료의 표준화된 기술자(descriptors)를 정의함.
색상, 형태, 질감, 등 영상의 내용을 기반으로 하여 멀티미디어를 검색하기 위한 인터페이스 표준 (Multimedia Content Description Interface)
Description 의 예
Low-level 비디오 : 형태. 색상, 질감, 움직임, 등
오디오 : 분위기(mood), tempo 변화, 등
High-level Semantic Information : 영희와 철수가 만나서 서로 웃고 악수하는 장면
상용 시스템: QBIC, Virage