제12장 동영상 -...

33
Computer Vision & Pattern Recognition Lab. Computer Vision & Pattern Recognition Lab. 12동영상 압축

Transcript of 제12장 동영상 -...

Page 1: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

Computer Vision &

Pattern Recognition Lab.

Computer Vision & Pattern Recognition Lab.

제12장 동영상 압축

Page 2: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

Computer Vision & Pattern Recognition Lab. 2 /26 2014-02-13

동영상 압축 개요

동영상 압축

MPEG (Moving Picture Experts Group) 표준 알고리즘

정지 영상의 압축/복원 알고리즘 (JPEG) 을 동영상에

적용시키면서 시작됨

정지 영상의 공간적 상관성은 JPEG 기법을 그대로

적용하여 압축

공간적 압축뿐만 아니라, 시간적 압축 기법을 적용

인접 프레임간의 시간적 상관성을 이용하여, 변화된 정보만을 기록

Motion estimation / compensation도 사용

Page 3: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

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

Page 4: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

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 픽처를 부호화하므로 원래 화면의 순서

와 화면의 처리순서가 달라짐

프레임 압축의 세가지 방법

Page 5: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

Computer Vision & Pattern Recognition Lab. 5 /26 2014-02-13

MPEG의 순방향/역방향 예측

과거 화면 미래 화면

사이에 위치 하는 화면

미래의 영상으로부터의 역방향 예측

과거의 영상으로 부터의 순방향 예측

Page 6: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

Computer Vision & Pattern Recognition Lab. 6 /26 2014-02-13

Picture Type과 부호화 순서

Page 7: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

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

Page 8: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

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

Page 9: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

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

Page 10: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

Computer Vision & Pattern Recognition Lab. 10 /26 2014-02-13

Motion Estimation & Compensation

시간적으로 이웃한 화면들의 상관성을 이용하여 부호화의

성능을 높이는 방법

화면간 예측부호화(interframe predictive coding)

현재화면 화소의 예측치를 이전화면으로부터 구해서 그 차이를

부호화

움직임 추정(Motion Estimation) : 인코더

예측치를 구하기 위해 화면간의 움직임 벡터를 구하는 것

움직임 보상(Motion Compensation) : 디코더

추정한 움직임 벡터와 이전 영상를 이용하여 현재 영상을

재구성하는 것

매크로 블록단위(16*16)로 움직임 벡터 계산

블록매칭 알고리즘(BMA) 사용

Page 11: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

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

Page 12: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

Computer Vision & Pattern Recognition Lab. 12 /26 2014-02-13

(MxN)블록

현재 프레임

탐색영역

이전 프레임

N

M

n1 n1

m1

m1

(MxN) 블록 안의 화소값 단위로 차이를 계산한다.(MAE, MSE)

결국, 블록 전체의 차이가 가장 작은 블록(최정합 블록)을 찾아서 그 위치를 벡터로

표현 motion vector

Page 13: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

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)

Page 14: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

Three-step Search(3ss)

Computer Vision & Pattern Recognition Lab. 14 /26 2014-02-13

Page 15: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

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 부호화기의 블록도

Page 16: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

http://dvd-hq.info/

Page 17: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

Frame 2

Page 18: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

Macro blocks

Page 19: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

Focusing on blocks A B C & D

Page 20: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

Best match in reference frame

Page 21: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

Detail

Page 22: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

Computer Vision & Pattern Recognition Lab. 22 /26 2014-02-13

버퍼

Demux

Variable

Length

Decoder

움직임 보상

역양자화 B’ A’

+

+

양자화간격

움직임벡터

복호화기

Inverse

DCT

MPEG 복호화기의 블록도

Page 23: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

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 비디오의 데이터 구조

Page 24: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

Computer Vision & Pattern Recognition Lab. 24 /26 2014-02-13

352

240

Slice: Group of Macro Blocks

Page 25: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

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

Page 26: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

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

Page 27: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

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로

표시

Page 28: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

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

Page 29: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

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 수준

다양한 화면 해상도 지원

Page 30: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

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 수준

Page 31: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

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

Page 32: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

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

화면에서 소리/영상 객체들이 서로 복합되어 하나의 객체를 이룰 수 있도록 함

서로 다중화 및 동기화를 통해 장면들을 네트워크 채널들로 전송될 수 있도록 함

에러가 많은 환경에서도 겅건하게 동작

개별 객체별로 서로 다른 코딩 기법을 사용할 수 있음

Page 33: 제12장 동영상 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Hanyang_erica/ParkKitae/16.pdf제12장 동영상 압축. 2014-02-13 Computer Vision & Pattern

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