1. Multimedia Communications
Chapter 4
Video Compression Techniques (2)
아주대학교 정보및컴퓨터공학부
모바일 멀티미디어통신 연구실 (http://mmcn.ajou.ac.kr)
노병희 (bhroh@ajou.ac.kr)
Contents
Video Compression Basics
Video Compression Standards : H.26x
H.261
H.263
MPEG Video Compression Standards
MPEG-1
MPEG-2 (H.262)
MPEG-4
H.264
1
2. MPEG-1 개요
MPEG-1
ISO/IEC 11172-1,2,3,4,5
Coding of moving pictures and associated audio for digital
storage media at up to about 1,5 Mbit/s
MPEG 압축 기법 개요
MPEG 표준화
ISO의 MPEG (Moving Picture Experts Group)에 의하여 표준화 됨
MPEG 표준 방법들
• MPEG-1
– CD-ROM과 같은 디지털 저장 매체에 VHS 테이프 수준의 동영상과
음향을 최대 1.5 Mbps 로 압축 저장하기 위하여 개발
• MPEG-2
– MPEG-1의 확장형
– 디지털 TV방송, HDTV, 대화형 TV등 더욱 높은 화질과 음질을
필요로 하는 응용 분야에 더 높은 비트율에서 영상과 음향을
압축하기 위한 목적으로 개발
• MPEG-4
– 높은 비트 효율이 요구되는 원격회의나 관련 응용을 위해 아주
낮은 비트율을 사용하는 압축 표준
2
3. MPEG-1 개요
MPEG-1 표준 개요
표준화 추진 기구
• ISO/IEC JTC1 산하의 The Moving Picture Experts Group
(MPEG)에서 표준화 작업
• 1988년에 시작하여 1992년에 표준화 완료
디지털 저장 매체를 대상으로 함
• CD, VTR과 같은 디지털저장 매체에 1.5 Mbps 이내로 동영상과
음향을 압축하여 다중화 하기 위한 표준
디코더 부분이 표준화 대상
• MPEG 표준은 저장 및 전송을 위한 Syntax를 지정하고, 디코딩
프로세스를 정의함
• 인코딩은 표준화 대상이 아님
– 인코더는 표준을 따르는 압축 비트 스트림을 생성하면 되고,
인코딩 메커니즘은 독자적인 방법을 사용 가능
MPEG-1 개요
MPEG-1 표준 구성
MPEG-1 Video : at < 1.5 Mbps
MPEG-1 Audio : at the rates of 64, 128, 192 kpbs per channel
MPEG-1 System : 여러 압축된 A/V 스트림의 다중화 및 동기화.
ISO/IEC 11172-2
’92.11
ISO/IEC 11172-1
’92.11 Decoded
Video Video
Decoder
Medium System Clock
Specific
Decoder Control
Digital Decoder
Storage
Medium Decoded
Audio Audio
Decoder
ISO/IEC 11172-3
’92.11
3
4. MPEG-1 기본 특징
MPEG-1 비디오 표준 부호화 기법의 기본 특징
임의 접근성 (random access)의 제공
• GOP (Group Of Picture) 형식에 의함
편집 가능성
• 화면을 정렬하거나 부분적 사용을 위하여 GOP 단위의 편집 기능 제공
고속의 순방향 탐색, 역방향 탐색 및 역방향 재생
음성-영상 동기화
형태의 유연성
• 부호화 화면의 크기와 프레임율을 조절 가능.
MPEG-1 기본 특징
MPEG-1 비디오 입력 영상
스케닝 방식 : progressive scan 만을 사용함.
화면 크기 : SIF (source input format)만을 사용
• Y, CB, CR 칼라 표현 방식만 지원
• 4:2:0 칼라 샘플링 방식만 지원
• NTSC, PAL, SECAM등 표준 TV 와 호환성
Size
Type NTSC (525) PAL (625)
Luminance ITU-R 720x480 720x576
(Y) SIF 360x240 360x288
SPA 352x240 352x288
Color ITU-R 360x240 360x288
(Cr, Cb) SIF 180x120 180x144
SPA 176x120 176x144
SPA (Significant Pixel Area) : MPEG에서의 움직임 보상 단위인 16x16의
매크로 블록 크기에 맞춘 실제로 부호화에 유효한 면적
4
5. MPEG-1 화면 형태
MPEG 의 화면 형태
I-picture (Intra-coded Picture)
• 다른 픽쳐의 참조없이 자신만을 이용하여 JPEG으로 부호화
• 임의 접근성(random access)을 제공하는 기준 화면
P-picture (Predictive Coded Picture)
• 바로 이전의 I- 또는 P-픽쳐로 부터 움직임 예측 및 보상 방식을
사용하여 부호화
• H.261의 inter-frame 모드와 유사
• I-픽쳐에 비하여 비트량이 30-50% 정도임
B-picture (Bidirectionally Predictive Coded Picture)
• 바로 이전 이후의 I-또는 P-픽쳐들을 참조하여 부호화
• P-픽쳐에 비하여 비트량이 50% 정도임
D-picture
• DCT DC 계수만을 사용하는 특수한 화면
• 고속 탐색등과 같은 기능을 제공하기 위하여 사용
MPEG-1 화면 형태
P-picture : 바로 이전의 I 또는 P 프레임을 참
조한 움직임 예측을 통하여 부호화됨
I P P
I-picture: 이전 또는 B B B B
이후 프레임들과 상관
없이 부호화됨
B-picture : 바로 이전과 이후의 I 또는 P 프레임
을 참조한 움직임 예측을 통하여 부호화됨
5
6. MPEG-1 화면 형태
B-picture
Interpolated Position
Trajectory
Previous Current Futere
frame (n-1) frame (n) frame (n+1)
Bidirectional (B) frames = Previous frame
- Futere frame
+ Bidirectinal motion vectors
MPEG-1 화면 형태
전형적인 MPEG의 비트 발생 형태
발생 비트수 : I-picture >> P-picture >> B-picture
4
12x10
4
10x10
화면당 발생 비트수
4
8x10 GOP
6x10
4 I-화면
4
4x10
4
2x10
B-화면 P-화면
0
0 50 100 150 200 300
화면 번호
6
7. MPEG-1 화면 형태
비트율의 조정
일반적으로 다음과 같은 상황에서 좋은 결과가 나옴
• I-picture와 P-picture의 화질을 비슷하게 유지
• B-picture의 화질을 상대적으로 낮게 유지
• 위와 같이 함으로써
– 전체적으로 느껴지는 화질을 일정수준이상 가능하고
– 비트율을 큰 폭으로 감축시킬수 있음
일반적으로
• 일반적인 자연 장면들의 경우
– P-picture 비트수는 B-picture 비트수의 2~5배정도
– I-picture 비트수는 P-picture 비트수의 3배정도
• 움직임이 적은 경우
– I-picture에 더 많은 비트수를 할당
• 움직임이 많은 경우
– I-picture의 비트수를 줄이고, 그만큼을 P-picture에 할당
MPEG-1 화면의 구성
GOP (Group of Pictures)
비디오 시퀀스에의 임의 접근 및 독립적인 편집 기능
하나 이상의 픽쳐들의 집합으로 구성
• N : 한 GOP를 구성하는 픽쳐의 수
• M : 인접한 I-화면과 P-화면 사이의 프레임 수
GOP (N=9)
M=3
I B B P B B P B B I B B P
7
8. MPEG-1 화면 처리 순서
화면 처리 순서
화면이 발생된 순서와 화면이 부호화되고 전송되는 순서는 달라짐
• B-picture의 갯수만큼씩 차이가 남 (지연 발생)
• Encoder/Decoder 모두 이를 위한 프레임 버퍼가 필요함
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
원래
화면 I B B P B B P B B I B B P B B
순서
1 4 2 3 7 5 6 10 8 9 13 11 12 16 14
화면
전송 I P B B P B B I B B P B B P B
순서
MPEG-1 화면 손실의 효과 (1)
I-picture의 손실
I B B P B B P B B I B B P B B P B B I B
loss or
damage
un-decodable
I B B P B B P I B
B B I B B P B B P B B
8
9. MPEG-1 화면 손실의 효과 (2)
P-picture의 손실
I B B P B B P B B I B B P B B P
loss or
damage
un-decodable
I I B B P B B P
B B P B B P B B
MPEG-1 화면 손실의 효과 (3)
B-picture의 손실
I B B P B B P B B I B B P B B P
loss or
damage no effects to
other pictures
I B P B B P B B I B B P B B P
B
9
10. MPEG-1 데이터 스트림 구조
MPEG-1 비디오 데이터 스트림 구조 (1)
Video
Sequence
GOP GOP
1 2 3 4 5 6 Slice
Slice
A Slice
1 2
5 6
CB CR Picture
3 4
Y
Macro-Block Block
(4:2:0) (8x8 pixels)
MPEG-1 데이터 스트림 구조
MPEG-1 비디오 데이터 스트림 구조 (2)
비디오 시퀀스 (video sequence)
• 영상 및 부호화의 기본 정보
GOP (Group of Pictures)
• 비디오 시퀀스에의 임의 접근 기능
Pictures (픽쳐)
• TV또는 모니터에 display의 기본 단위이고 예측 기능
• I, P, B의 세가지 형태의 픽쳐가 존재
Slice (슬라이스)
• 픽쳐내에서 하나이상의 연속된 매크로 블럭들로 구성.
• 오류(error)를 처리하는데 주요한 역할을 함
– 한 슬라이스에서 비트 스트림에 오류 발생시, 디코더는 다음
슬라이스로 skip
• 시간 재동기 기능을 갖음
10
11. MPEG-1 데이터 스트림 구조
MPEG-1 비디오 데이터 스트림 구조 (3)
Macro-Block (매크로 블록)
• 16x16 크기의 블록
• 움직임 예측 및 보상의 기본 단위가 됨
Block(블록)
• 8x8 크기의 블록
• DCT의 기본 단위가 됨
MPEG-1 : Encoder
MPEG-1 부호화기
MPEG-1 표준은 부호기(encoder)를 정의하지 않고
복호기(decoder)만 정의한다.
• encoder는 MPEG-1 표준에서 규정된 비트열의 데이터 구조와 의미(
syntax와 semantics)에 따라 복호화될 수 있는 적합한 비트열을
생성하기만 하면 됨.
MPEG-1 부호화 방식의 세가지 기본 단계
• 대역폭 축소 단계
– 입력 신호원의 해상도를 목표 해상도에 맞추고, 색조의
해상도를 주관적으로 만족할 만한 비율로 낮춤
• 손실 압축 단계
– 시간 중복성 제거 : 16x16크기 매크로블록 기반의 움직임 보상
– 공간 중복성 제거 : 8x8 블록 단위 DCT-기반의 압축
• 무손실 압축 단계
– VLC등을 사용하여 정보를 손실없이 비트열로 대응 시킴
11
12. MPEG-1 : Encoder
MPEG-1 부호화기 구조의 예
H.261과 유사한 구조
화면모음(GOP)
버퍼 제어
화면순서
재배열
+ DCT 양자화
+
- 역양자화
VLC
+ IDCT
다중화
예측
메모리1
버퍼
움직임 움직임 보상
추정 예측
예측
메모리2 비트열
MPEG-1 : Decoder
Decoder 모델
비트열
수신버퍼
VLC 역양자
IDCT +
Decoder 화
화면 순서
재배열
부가 정보
예측메모리
움직임 벡터 및
예측기 출력 화면
12
13. MPEG-1 과 H.261의 비교
비교 대상 H.261 MPEG-1
주요 응용 대상 통신 미디어 디지털 저장 미디어
부호화 비트율 Px64 kbps (p = 1~30) 약 1.5 Mbps 까지
복호 시작 시점 통신 개시 GOP 와 화면열 헤더
화면의 부호화 형태 기본적으로 한 종류(P) 세 종류 (I,P.B)
화면의 누락 있음 없음
예측 구조 순방향 예측 순방향/쌍방향 예측
화면내 구조 GOB 슬라이스
매크로블록 위치정보 MBA(macroblock address) MBA 확장(extension)
매크로블록 형태 MB 타입 화면 유형별 MB 타입
양자화 선택 단위 MQUANT MQUANT, 양자화 행렬
움직임 벡터의 단위 정수 화소 단위 반화소 단위
루프 필터 있음 없음
CBP (coded block pattern) 있음 있음
변환 계수 부호화 2 차원 VLC 2 차원 VLC
공간 부호화 DCT DCT
MPEG-2 개요
MPEG-2
ISO/IEC 13818-1,2,3,4,5,6,7,9,10
Generic coding of moving pictures and associated audio
information
13
14. MPEG-2 개요
MPEG-2 관련 표준들
ISO/IEC 13818-1
: System
ISO/IEC 13818-2
: Video
ISO/IEC 13818-3
: Audio
ISO/IEC 13818-4
: Conformance Testing
ISO/IEC 13818-5
: Software Simulation
ISO/IEC 13818-6
: Extension for DSM-CC (Digital Storage Media-
Command and Control)
ISO/IEC 13818-7 : Advanced Audio Coding (AAC)
ISO/IEC 13818-9 : Extension for Real Time Interface for Systems
Decoders
ISO/IEC 13818-10 : Conformance Extensions for DSM-CC
MPEG-2 개요
ISO/IEC 13818-1
’94.11
ISO/IEC 13818-2
’94.11
Video
D ISO/IEC 13818-3
e ’94.11
Source Delivery m
u Audio
x
ISO/IEC 13818-6
’96.7
Interaction
14
15. MPEG-2 비디오 : 압축 개요
입출력 영상
scanning mode
• interlaced 와 progressive를 모두 지원
• 디지털 위성방송, 디지털 TV방송, 케이블 TV, 고선명 그래픽, 의료장비,
극장등 다양한 응용분야 적용 가능
color sampling
• 4:2:0, 4:2:2, 4:4:4 를 모두 지원함
영상의 크기 및 압축률
• profile/level에 따라 달라짐
• 3~5 Mbps : 일반 방송 (NTSC/PAL/SECAM) 수준
• 8~10 Mbps : CCIR 601 표준에 근접한 화질
– CCIR 601 - 방송 TV 신호의 디지털 표현을 규정
• 40Mbps이상 : HDTV 화질
MPEG-2 비디오 : Profile 과 Level
Profile 과 Level
다양한 서비스를 제공하기 위한 부호화기 구현의 선택 범위
Profile
• MPEG-2의 여러 기능들중에서 목적별로 필요한 부분만을 모은
집함으로서 알고리즘의 차이로써 나타남
• 영상 비트 스트림의 syntax의 차이, 즉, 기능상의 차이를 표현
Level
• 특정 profile에서 관련되는 변수들에 대한 제한 조건을 표현
– 예: 입력영상의 크기, 초당 화면수, 초당 전송 비트량등
표기 예
• MP@ML (Mail Profile at Main Level)
15
16. MPEG-2 비디오 : Profile 과 Level
Profile
profile Simple Main Spatial SNR High
(SP) (MP) Scaleable Scaleable (HP)
features (Spatial) (SNR)
지원 색도 4:2:0 4:2:0 4:2:0 4:2:0 4:2:2 or
형식 4:2:0
픽쳐 형태 I, P I, P, B I, P, B I, P, B I, P, B
확장성 no no yes yes yes
확장 모드 none none SNR SNR or SNR or
Spatial Spatial
– SP는 소프트웨어 디코더를 위함.
– MP는 cable TV나 위성 방송등을 위하여 저가의 단일 칩으로
구현 가능한 MPEG 부호화기를 대상으로 함.
– Spatial은 HDTV급의 부호화기
MPEG-2 비디오 : Profile 과 Level
확장성(scalability)
MPEG-2를 다양한 응용에 적용할 수 있도록 하는 기능
선별적인 서비스 제공이 가능
5가지 scalability
• Satial Scalability
• Temporal Scalability
• SNR (signal to noise ratio) Scalability
• Data partitioning Scalability
• Hybrid Scalability
16
17. MPEG-2 비디오 : Profile 과 Level
Spatial Scalability
• 낮은 해상도를 지원하는 base layer를 높은 해상도를 지원하는
enhanced layer간의 확장성
base layer
enhanced
Temporal Scalability layer
• 공간적으로 해상도는 같으나, 시간 해상도를 높여줌
– 예. base layer(odd field) ->base layer+enhanced layer (even)
base layer
enhanced
layer
MPEG-2 비디오 : Profile 과 Level
SNR (signal to noise ratio) Scalability
• 양자화 간격 크기에 따라 영상의 화질과 전송 대역폭이 달라짐
• 예. base layer(큰 양자화 간격) -> enhanced layer(차이신호에 대하여
조밀한 양자화기로 부호화)
Data partitioning Scalability
• 비디오 비트 스트림을 두개 이상의 계층으로 나눔
• 예. base layer (DCT 저주파 성분) -> enhanced layer (DCT 고주파
성분)
Hybrid Scalability
• 서로 다른 두가지 형태의 scalability의 조합으로 구성
17
18. MPEG-2 비디오 : Profile 과 Level
Level
Level
features 전송속도 화면크기 프레임/초 Application
Level (Mbits/sec)
Low Level 4 352x240 30 VHS equipment
(LL)
Main Level 15 / 20(HP) 720x480 30 Broadcast quality
(ML)
High-1440 60 / 80(HP) 1440x1152 60 HDTV
(H14)
High Level 80 / 100(HP) 1920x1080 60 Film production
(HL)
기본적으로, SP@ML 부터 HP@HL 방향으로 forward compatibility가
성립된다.
모든 Profile/Level의 디코더는 MPEG-1 비디오 데이터를 디코딩 할
수 있다.
MPEG-2 비디오 : Profile 과 Level
MP@ML의 주요 특징
DVD, DTV-DBS 방송에 적용
항목 내용
해상도 720x480 (59.94 field/sec), 720x576 (50 field/sec)
스캐닝 방식 interlaced, progressive
컬러 샘플링 4:2:0
비트율 up to 15 Mbps
버퍼크기 1.75 Mbits
예측모드 adaptive field/frame, dual prime only for successive P-pictures
호환성 MPEG-1 forward compatibility
DCT only 8x8 2D DCT
움직임 추정블록 크기 16x16 (frame mode), 16x8 (field)
DCT 계수 스캐닝 zigzag scanning, alternative scanning
입력데이터 표시 8 bits/pixel
scalability 수용하지 않음
18
19. MPEG-2 비디오 : 부호화 주요 특징들
MPEG-2 부호화 구조
기본 구조는 MPEG-1과 동일
다양한 응용과 기능 지원을 위하여 세부적으로 MPEG-2 에서
확장된 기능을 갖음
입력 영상의 형태
MPEG-2에서는 영상을
홀수필드 짝수필드 홀수필드 짝수필드
화면(picture)라는
단위로 표현
픽쳐는 프레임(frame) 필드
구조
Interlaced
scanning
화면과 필드(field)
1/60 초
화면의 두 종류가 있음 1/30초 시간
프레임 Progressive
구조 scanning
MPEG-2 비디오 : 부호화 주요 특징들
움직임 예측 및 보상 방법
interaced 방식 지원에 의한 네가지 예측 방법이 적용됨
예측 화면 프레임 구조 필드 구조
필드 예측 MV 2 개 MV 1 개
16×8 필드 예측 − MV 2 개
프레임 예측 MV 1 개 −
듀얼 프라임 예측 MV 1 개와 DMV 1 개 MV 1 개와 DMV 1 개
16x8 필드 예측
16x8 블록에 대하여
필드 화면에서의 각각 움직임 보상
16x16
매크로 블록
Motion Vector
Motion Vector
19
20. MPEG-2 비디오 : 부호화 주요 특징들
DCT 변환과 Alternate Scan
X
Y
(a) 프레임 DCT 변환 블록
alternate scan
(b) 필드 DCT 변환 블록
MPEG 압축 성능 비교
Picture
Quality
MPEG-2
10 4:2:2@ML
IBP
MPEG-2 IP
MP@ML
I
5
MPEG-1
0
0 5 10 20 30 40 Bit rates
(Mbps)
주: 위의 성능 관계는 일반적인 경우에 대한 것이며, profile, GOP등에 따라 달라 질 수 있음
20
21. MPEG-2 비디오 : MPEG-1과의 비교
MPEG-1과 MPEG-2의 비교
MPEG-1 MPEG-2
디지털저장매체, 디저털 TV 방송, 디지털
응용 대상 디지털 저장매체
통신등 다양
SIF(360x240) ITU-R 601 (720x480), 최대 1920x1152
입력 영상의 형태
4:2:0 4:2:0, 4:2:2, 4:4:4
스캐닝 방식 Progressive Progressive, Interaced
부호화 비트율 약 1.5Mbps 까지 약 100Mbps 까지
공간적 확장성, 시간적 확장성, SNR 확
확장성 (scalability) 해당사항 없음
장성
순방향, 역방향, 상향,
호환성 (compatibility) 해당사항 없음
하향 호환성 지원
non-interlaced scan 을 위
DCT 방법 프레임 DCT / 필드 DCT
한 DCT
non-interlaced scan 을 위 프레임 예측, 필드 예측, 16×8 필드 예측,
움직임 추정 방법
한 움직임 추정 듀얼 프라임 예측
P, B-화면에 대해 움직임 P, B-화면 뿐만 아니라 I-화면에 대해 오
움직임 벡터
벡터 할당 류 은닉을 위한 움직임 벡터 할당
DCT 계수 zig-zag scan 방식 / 필드 구조를 위한
zig-zag scan 방식
주사 방법 alternate scanning 방식 지원
MPEG-2 시스템 : DTV 표준
디지털 TV 표준
주도 기관 : ATSC (미국), DVB (유럽)
비디오 : MPEG-2 (SD급과 HD급으로 분류됨)
• SD : MPEG-2 MP@ML (720x576, 30fps, 4/6 Mbps)
• HD : MPEG-2 MP@HL (1920x1080, 60fps)
오디오 : 돌비 AC3 (미국), MPEG-1/2 (유럽)
전송 : MPEG-2 TS (Transport Stream)
변조방식
• 위성 : QPSK
• 케이블 : QAM
• 지상파 : 8VSB (미국), COFDM (유럽), BST-OFDM (일본)
21
22. MPEG-2 시스템 : 개요
ISO/IEC IS 13818 Part1 - MPEG-2 Systems
디지털 오디오와 비디오 데이터를 동기화하여 다중화하기 위한
비트 스트림에 대한 syntax와 semantics를 정의
• 다중화 되는 오디오와 비디오는 MPEG 압축에 대한 제약이 없음
디지털 TV 방송에서의 전송 표준 규격으로 사용됨
다중화되는 신호들간의 동기화를 이룸
• 비디오
• 오디오
• 기타 개별 용도의 데이터
• 시간 동기화 정보
• 서비스와 제어 정보
MPEG-2 시스템 : 다중화 과정
MPEG-2 시스템 다중화 과정
ES PES
(Elementary (Packetized
Stream) Elementary Stream)
Digital Video PES
Video Encoder Packetizer
Multiplexer TS or PS
Digital TS (Transport
Audio Audio PES
Stream)
Encoder Packetizer
PS (Program Stream)
Private Data Scope Of MPEG-2
System
Time Sync. Information
Service and Control
Information
22
23. MPEG-2 시스템 : 계층 구조
MPEG-2 시스템 계층 구조
ES (Elementary Stream)
• 비디오 또는 오디오 부호기로 부터의 개별 출력
PES (Packetized Elementary Stream)
• 비디오 : 한 화면에 대한 압축 비트열에 헤더를 붙여 하나의 PES 패킷
구성
• 오디오: 한 압축 프레임 단위 (MPEG-1 Layer II의 경우 1152 샘플에
해당)에 헤더를 붙여 하나의 PES 패킷 구성
PES
Header ES
비디오 비디오 비디오
1 2 N
오디오 오디오 오디오
1 2 N
PES ES
Header
MPEG-2 시스템 : 계층 구조
MPEG-2 시스템 계층 구조 (cont’d)
PS (Program Stream)
• 한 개의 TV 프로그램에 관련된
– 오디오와 비디오 등의 PES 패킷을 다중화 하고
– 이 프로그램에 관련된 오디오와 비디오등의 PES 패킷들을
다중화함
• 전달과정이 단순한 디지털 저장 매체 응용을 전제로 한 MPEG-1 다중화
시스템임
TS (Transport Stream)
• PES 패킷을 세분화하여 188 바이트의 길이가 되도록 만들어진 패킷
• 4 바이트의 헤더 + 184 바이트의 적응필드와 유료부하 로 구성됨
• 오류가 심한 채널을 통하여 전달하는 것을 목적으로 함
– 오류 복원, 타이밍과 기타 부가 정보를 포함
23
24. MPEG-2 시스템 : 계층 구조
MPEG-2 시스템 계층 구조
PES 패킷
계층
PS PS TS TS
팩(Pack) 압축 패킷
계층 계층 계층
시스템
계층
MPEG-2 시스템 :Transport Stream
TS 패킷 생성 과정
variable variable variable
Elementary Stream
Access Unit:
I-Picture P-Picture
Pictures
Packettized Elementary Stream
PES Packets
PES Header Data from I-Picture PES Header Data from P-Picture
variable variable
Transport Stream
TS Packets
TS Data from TS Data from TS Data from
Header PES Packet Header PES Packet Header PES Packet
fixed fixed fixed
24
25. MPEG-2 시스템 : Transport Stream
Mapping of MPEG-2 TS to AAL5
188 bytes 188 bytes
MPEG-2 Transprt Packet MPEG-2 Transprt Packet
AAL5 CPCS-PDU Payload CPCS-Trailer
376 bytes 8 bytes
MPEG-2 시스템 : Transport Stream
타이밍 모델
일정 지연 (constant delay)
전송 채널
비디오 비디오
입력 비디오 PES PES 비디오 출력
부호기 패킷화기 역 패킷화기 복호기
PS, PS,
PTS, DTS TS TS PTS, DTS
다중화 역다중화
오디오 오디오
입력 오디오 PES PES 오디오 출력
부호기 패킷화기 역 패킷화기 복호기
PTS SCR, SCR, PTS
PCR PCR
STC STC
송신부 수신부
STC: System Time Clock PTS: Presentation Time Stamp
SCR: System Clock Reference DTS: Decoding Time Stamp
PCR: Program Clock Reference
25
26. MPEG-4
MPEG-4
ISO/IEC 14496
Information Technology - Coding of Audio-Visual Objects
MPEG-4 개요
MPEG-4 표준화 배경
이전의 통신용 부호화 기법과 고화질 부호화 기법
• 비디오 카메라를 사용하여 얻어진 자연 영상 (natural image)의 압축 및
재생을 목적으로 함
새로운 영상 형태의 등장
• 컴퓨터 그래픽에 의한 인공 영상 (artificial image)
• 다양한 화면으로 만들어진 합성 영상 (synthetic image)
• 새로운 형태의 부호화 기법이 필요
MPEG-4
• 새로운 영상 형태에 대한 응용들을 목적으로 함
– 1993 - 표준화 시동
– 1999 - MPEG-4 Visual Part 표준
– 2001 - MPEG-4 Edition 2 표준
– 2003 - H.264/MPEG-4 Part 10 (Advanced Video Coding) 표준
26
27. MPEG-4 개요
MPEG-4 관련 표준들
ISO/IEC 14496-1 :
System
ISO/IEC 14496-2 :
Visual
ISO/IEC 14496-3 :
Audio
ISO/IEC 14496-4 :
Conformance Testing
ISO/IEC 14496-5 :
Reference Software
ISO/IEC 14496-6 :
Delivery Multimedia Integration
Framework (DMIF)
ISO/IEC 14496-7 : Optimized Reference Software
ISO/IEC 14496-8 : Carriage of MPEG-4 Content
Across IP Networks
ISO/IEC 14496-9 : Reference Hardware Description
MPEG-4 개요
Overview of the Parts of the MPEG-4 standard
Ref: K. Diepold, S. Moeritz, Understanding MPEG-4, Elsvier, 2005
27
28. MPEG-4 Visual Objects
MPEG-1/2 비디오와의 비교
MPEG-1/2 비디오
• 프레임 기반의 부호화 기술
– 사각형의 비디오 프레임이 압축의 기본 단위로 사용됨
• 압축을 최대로 하는 것이 기본 고려 사항
MPEG-4 비디오
• 객체(object) 기반의 부호화 기술
– 객체는 자연적(natural)이거나 인공적(synthetic)일수 있음
• 객체단위의 압축율의 향상 뿐만이 아니라, 디지털 비디오의
합성(composition), 조작(manipulation), 인덱싱 (indexing),
검색(retireval)등이 가능함
MPEG-4 Visual Objects
Object-based Representation Architecture (1/2)
Production stage
Precoded
Objects
Multiplexing & Synchronization
Compos.
Encoder
Object 1
Scene Encoder
Definition
Object 2
Encoder
Object N
서울-대체로맑음 Encoder
28
31. MPEG-4 Visual Objects
Four Types of Objects
Ref: J. Watkinson, The MPEG Handbook : MPEG-1, MPEG-2, MPEG-4, 2nd ed., Elsevier, 2004,
pp.287
MPEG-4 Natural Video Coding
MPEG-4 비디오 비트스트림의 계층 구조 (1/3)
Visual Object Sequence (VS) VS1 VS2
Visual Object (VO) VO1 VO2
Video Object Layer VOL1 VOL2
(VOL)
Group Of VOPs (GOV) GOV1 GOV2
Video Object Plane
(VOP) VOP1 VOPK VOPK+1 VOP1 VOP2
31
32. MPEG-4 Natural Video Coding
MPEG-4 비디오 비트스트림의 계층 구조 (2/3)
Visual Object Sequence (VS)
• 2D 또는 3D의 natural 또는 synthetic object를 포함하는 완전한 MPEG-4
visual scene를 포함
Visual Object (VO)
• scene 내의 특정 객체로서
• 객체 또는 scene의 배경에 해당하는 arbitrary (nonrectangular)
shape일수 있음
Video Object Layer (VOL)
• (multilayered) scalable coding 을 지원하기 위한 방법을 제공
• 공간적 해상도나 이미지 품질과 관련됨
Group of Video Object Planes (GOV)
• 연속된 VOP들의 집합 (optional level)
• GOV는 임의 접근, 재동기화에 사용되는 헤더 정보를 포함
MPEG-4 Natural Video Coding
MPEG-4 비디오 비트스트림의 계층 구조 (3/3)
Video Object Plane (VOP)
• 임의의 모양(arbitrary shape)을 갖는 이미지
• VO(visual object)의 모양, 배경, 움직임 파라메터를 반영하는, 특정
순간에서의 VO의 모습
de yp ct
vi of t bje
e
O lO
(V ua
o
s
)
Vi
time
VOP (YUV) VOP (shape)
32
33. MPEG-4 Natural Video Coding
Video Object Plane (VOP)
• Features of MPEG-4 Video Coding
* VLBV (Very Low Bitrate Video)
MPEG-4 Natural Video Coding
Visual Object Example (1/2)
Video Scene consisting of three VOs
33
34. MPEG-4 Natural Video Coding
Visual Object Example (2/2)
Video Scene composed of VOs from separate sources
MPEG-4 Natural Video Coding
Video Object Plane (VOP)
VOP Encoder Structure
34
35. MPEG-4 Natural Video Coding
MPEG-4 Natural Video Coding (1/2)
Coding of Rectangular Video Objects
Coding of Arbitrarily Shaped Video Objects
• Binary Shape Coding
• Gray-Level Shape Coding
• Coding of Boundary Macroblocks
Scalable Video Coding
• Spatial and Temporal Scalability
• SNR Fine Granularity Scalability
Special Video Coding Tools
• Interlaced Coding
• Error-Resilient Coding
• Reduced Resolution Coding, Sprite Coding
MPEG-4 Natural Video Coding
MPEG-4 Natural Video Coding (2/2)
Visual Texture Coding (VTC)
• VTC tools
• Wavelet Coding
• Shape-Adaptive Wavelet Coding
• Spatial and Quality Scalability
• Bitstream Packetization
• Tiling
35
36. MPEG-4 Visual SNHC Coding
SNHC (Synthetic and Natural Hybrid Coding)
자연 영상 정보와 컴퓨터 그래픽의 합성 정보를 포함한 다양한
종류의 멀티미디어 정보를 효율적으로 표현하고 조작하기 위함
• 자연적인 영상 정보에 움직이는 2차원 또는 3차원 컴퓨터 그래픽과
인위적으로 만든 영상이나 소리를 융합하는데 그 목적을 두고 있음
인공적으로 소리를 만드는 방법도 제공함.
응용 분야
• 인공의 모델과 동기가 맞추어져 가상 현실을 적용한 비디오 영상 회의,
네트워크 대화 게임, 원격 교육 등에 이용될 수 있음
MPEG-4 Visual SNHC Coding
MPEG-4 SNHC Tools (1/3)
2D Mesh Coding
• 그물 객체 (mesh object)
– 삼각형 조각들로 분할된 구조
– 시간이 변함에 따라 움직이는 하나의 객체를 표현하는데 적합
• 컴퓨터 그래픽 분야에서 3차원 물체를 표현하기 위하여 널리
사용됨
움직임 이전 움직임 이후
36
37. MPEG-4 Visual SNHC Coding
MPEG-4 SNHC Tools (2/3)
3D Mesh Coding
• 얼굴 객체 (FO, face object), 신체 객체 (BO, body object)
– 인간의 얼굴과 신체를 표현하기 위하여 사용됨
– 아주 낮은 비트율에서 다양한 형태와 표정을 갖는 얼굴 또는
신체를 묘사하는 것이 가능
MPEG-4 Visual SNHC Coding
MPEG-4 SNHC Tools (3/3)
View-Dependent Scalability
37
38. MPEG-4 System
MPEG-4 System
기존의 MPEG-1/2 System
• 오디오와 비디오 정보를 다중화하고 동기화하는 것에 초점을 맞춘
시스템 디코더 모델
MPEG-4 시스템
• 오디오, 비디오 컴퓨터그래픽스, 아바타등의 멀티미디어 객체의 가상
시공간상의 배치
• 사용자 상호작용의 지원
• 저작권 보호기술과 메타데이터 기술을 통합한 일반적인 멀티미디어
컨텐츠의 부호 표준
• BIFS (Binary Formatted Scene Description)
– MPEG-4 시스템 분야의 표준
BIFS 응용
양방향 데이터 서비스 (T-DMB)
38
39. BIFS 응용
Hot Spot Service (T-DMB)
MPEG-4 System
DMIF
DSM-CC (Digital Storage Media-Command and Control)
• MPEG-2에서의 전송규약
• 혼합망 환경에서 VoD (Video on Demand)와 같은 특정 응용을 목표로
함
DMIF (Delivery Multimedia Integration Framework)
• MPEG-4의 전송규약
• 방송, 네트워크, 저장 매체등 서로 다른 전송 방식을 통하여 전송되는
멀티미디어 스트림들을 응용 프로그램에서 통합하여 사용하는 것을
지원하는 보다 일반적인 전송규약
• FlexMux
– 미디어 스트림들의 효율적인 멀티플렉싱 기능을 지원
• TransMux
– 미디어 스트림의 QoS를 지원
39
40. MPEG-4 System
MPEG-4 System과 DMIF간의 관계
MPEG-4 오디오 MPEG-4 비디오 기타 데이터
MPEG-4 시스템
media-related part
network-related part
DMIF
H.223 MPEG-2 TS RTP MPEG-2 PS
통신 방송 인터넷 저장미디어
MPEG-4 System
MPEG-4 Standard Structure
Composition
Media Aware, delivery
unaware : ODs Scene
14496-2/3 Audio and Visual
14496-1 Scene Description CL CL CL
and Object Descriptor
Protocol
ES ES ES ES ES ES ESI
Media and Delivery unaware :
14496-1 Systems, adaptation Sync. Layer
SL SL SL SL SL SL
of the MPEG-2 traditional
activities DAI
Delivery Aware, media unaware : Delivery Layer
FlexMux
14496-6 DMIF
FlexMux
FlexMux Tool
14496-1 FlexMux
DNI
DMIF (Delivery Multimedia Integration TransMux Tool
Various Transport Protocols (MPEG-2, UDP/IP,
Framwork) ATM, PSTN, DAB, etc)
ESI (Elementary Stream Interface)
DAI (DMIF-Application Interface)
40
41. MPEG-4 System
데이터 전송 (예)
MPEG4 MPEG-4 compression layer
data
elementary stream
SL MPEG4 MPEG-4 sync layer
header data
SL packet stream
FlexMux SL MPEG4
FlexMux layer
MPEG-4 Delivery layer
header header data
FlexMux stream
RTP FlexMux SL MPEG4
header header header data Transport layer
UDP RTP FlexMux SL MPEG4 Transport layer
header header header header data
IP UDP RTP FlexMux SL MPEG4 Network layer
header header header header header data
TransMux stream
20 8 16 3 3
DMIF
MPEG-4 스트리밍 아키텍쳐
41
42. H.264/MPEG-4 Part 10/H.264
MPEG-4
ISO/IEC 14496-10
Advanced Video Coding
MPEG-4 Part10/H.264
H.264
ISO/IEC와 ITU-T의 공동 표준
• ISO/IEC MPEG의 JVT(Joint Video Team)
– ISO/IEC MPEG-4 Part 10
• ITU-T VCEG (Video COding Experts Group)
– ITU-T H.264
초기에 H.26L로 이름이 붙여져 연구가 시작되어 2003년에 완성됨
성능 향상 정도
• MPEG-2에 비하여 50%
• H.263+와 MPEG-4의 advanced simple profile에 비하여 30%
MPEG-2보다 월등한 압축 성능으로 HDTV 비디오 컨텐츠를
전달하기 위한 강력한 후보로서 여겨지고 있음
42
43. MPEG-4 Part10/H.264
History
MPEG-4 Part10/H.264
H.264 Profiles
Core 기능들
• VLC-based Entory Decoding
• Motion Compensation (P-Prediction)
• Intra Prediction (I-Prediction)
• 4x4 단위의 DCT와 Nonlinear Quantization
• In-Loop Deblocking Filters에 의한 주관적 화질의 개선
Baseline Profile 기능들
• 화상회의와 같은 실시간 대화형 응용을 위한 기능들
– Arbitrary Slice Order
– Flexible Macroblock Order
– Redundant Slices
43
44. MPEG-4 Part10/H.264
H.264 Profiles (계속)
Main Profile 기능들
• 방송, 저장매체와 같은 지연에 문제가 없는 응용들을 위하여 최대의
압축 효율을 목적으로 함
– B Slices
– Context Adaptive Binary Arithmetic Coding
– Weighted Prediction
Extended Profile 기능들
• 비디오 스트리밍 응용들을 위하여 설계됨
• 지연을 허용하며, 비트스트림 스위칭 기능, 오류 강인성을 제공함
– B Slices
– Weighted Prediction
– Slice Data Partitioning
– SP and SI Slice Types
MPEG-4 Part10/H.264
H.264 Profiles (계속)
Ref: J. Watkinson, The MPEG Handbook : MPEG-1, MPEG-2, MPEG-4, 2nd ed., Elsevier,
2004
44
45. MPEG-4 Part10/H.264
Performances
Ref: W. Cliff, A Practical Guide to Video and Audio Compression: From Sprockets and
Rasters to Macroblocks, Elsevier, 2005 (pp.239)
MPEG-4 Part10/H.264
Comparisons with MPEG-2
MPEG-2
Ref: W. Cliff, A Practical Guide to Video and Audio Compression: From Sprockets and
Rasters to Macroblocks, Elsevier, 2005 (pp.245)
45
46. MPEG-4 Part10/H.264
Comparisons with MPEG-2
H.264
Ref: W. Cliff, A Practical Guide to Video and Audio Compression: From Sprockets and
Rasters to Macroblocks, Elsevier, 2005 (pp.246)
MPEG-4 Part10/H.264
Comparisons with MPEG-4 Visual
MPEG-4 Visual H.264
Rectangular Video Frames and
Fields
Arbitrary-shpaed Video Objects
Supported data
Still Textures and Sprites Rectangular Video Frames and Fields
types
Synthetic or Synthetic-Natural
Hybrid Video Objects
2D and 3D mesh objects
Number of
19 3
Profiles
Compression
Medium High
Efficiency
Minimum MB
8x8 4x4
size
MV accuracy Half or quarter-pixel Quarter-pixel
Transform 8x8 DCT 4x4 DCT approximation
License Probably not (for baseline profile)
Yes for commercial implementation
Payment Probably (main and extended profiles)
46
47. MPEG-4 Part10/H.264
MPEG-4
Simple
Profile
MPEG-2
H.264
Baseline
Profile
MPEG-4 정리
기존 방식과의 비교
기존 방식들 MPEG-4
2D 와 3D 컨텐츠
대부분 2D 컨텐츠 자연적인 오디오와 비디오와 컴퓨터에 의하여 생
카메라 또는 마이크를 사용한 자연 성된 오디오와 비디오가 결합된 컨텐츠
컨텐츠 생성
영상 및 음성 컨텐츠 전통적인 사각형 형태와 특정부분만을 갖는 다양
(Production)
생성 단계에서 객체들의 혼합 한 형태의 비디오 컨텐츠
(mixing)이 이루어짐 분리된 객체들의 임의적 결합을 제공하는 부호화
방식
제한된 네트워크 (satellite, LAN,
모든 네트워크 환경에서의 멀티미디어 정보의 전
ISDN)을 통한 멀티미디어 정보 전
달
달 가능
전달 네트워크에 독립적인 공통적인 컨텐츠 표현 방식
네트워크마다 고유의 컨텐츠 표현
(Delivery) 의 제공
방식을 갖음
여러 종류의 이종(heterogeneous) 네트워크를 통
동종(homogeneous) 네트워크를 통
한 통신과 전달 방식을 제공
한 통신 및 전달
소비 단계에서 객체들의 임의 결합에 의한 정보
대부분 수동적인 컨텐츠 표현 가능
소비
사전에 제작되어 변경 불가능한 컨 정보는 상호적(interactive)이고 개인화된
(Consumption)
텐츠 (personalized) 용도로 읽혀지고, 보여지고, 들려질
수 있음
47
48. MPEG-4 정리
MPEG-1/2 참조 모델
ISO/IEC 13818-1
’94.11
ISO/IEC 13818-2
’94.11
Video
D ISO/IEC 13818-3
e ’94.11
Source Delivery m
u Audio
x
ISO/IEC 13818-6
’96.7
Interaction
MPEG-4 정리
MPEG-4 참조 모델
BIFS
Audio
Composition
Presentation
D
e Video
Source m
Delivery u
x Animaiton
Text
Interaction
48