bfeb50a1_jpeg,mpeg

Download Report

Transcript bfeb50a1_jpeg,mpeg

8장 멀티미디어 압축
개념
기초적인
압축절차
JPEG
MPEG
압축 기법
개념

저장 장치 용량의 한계, 통신라인의 데이타 전송율 한계
 이미지, 오디오, 비디오의 압축이 필수적임

주요 압축 알고리즘
–

용어
–
–
–
–
–
–

JPEG, MPEG, P*64(H.261), DVI, C-Cube 등이 대표적
압축(compression), 코딩(coding)
복원(decompression)
인코더(encoder)/디코더(decoder)
인코더와 디코더를 합쳐 코덱(codec)이라 함
손실(lossy) 기법, 무손실(lossless) 기법
대칭(symmetric) 기법, 비대칭(asymmetric) 기법
압축기법의 요구사항
–
–
–
–
–
압축후 복원의 결과가 원래의 데이타와 큰 차이가 없어야 함
압축 알고리즘 자체의 복잡도가 높지 않아야 함
압축과 복원으로 인한 지연 시간이 너무 길지 않아야 함
다양한 데이타 압축율을 지원할 수 있어야 함
H/W적인 구현과 S/W적인 구현이 모두 가능해야 함
기초적인 압축 기법
엔트리피 인코딩 런-길이 코딩(run-leugth coding), 허프만 코딩(Huffman coding),
산술 코딩(arithmetic coding)
소스 인코딩
예측(prediction)방식
DPCM, DM
변환(transformation)방식
FFT, DCT
다단계 코딩(layered coding)
벡터 정량화(vector quantization)
혼합방식
JPEG, MPEG, P*64, DVI
비트 위치(bit position)
서브샘프링(subsampling)
서브밴드 코딩(subband coding)
기초적인 압축 기법

엔트로피 인코딩(entropy encoding)
– 런-길이 코딩(run-length coding)
동일한 바이트가 일정 개수( 4) 이상 발생하면 ‘해당문자 플래그 바
이트 개수’ 의 형태로 표현
예) AAAAAAAABCCCC(13 byte) -> A!4BC!0(7 byte)
– 허프만 코딩(Huffman coding)
문자의 발생 빈도에 따라 각 문자에 해당하는 비트의 수를 차별화시
켜 문자의 필요한 공간을 감소시키는 방법
예) A B C (3바이트)  001 1 011 (7비트)
기초적인 압축 기법

소스 인코딩
– 예측방식(prediction)
차이 인코딩(differential encoding) 또는 상대적 인코딩(relative
encoding) 이라고도 함
• DPCM(Differential Pulse Code Modulation)
– 오디오 샘플값 자체를 모두 저장하는 것이 아니라 인접한 샘플의 델타
(delta)값만을 저장
– DPCM 압축은 고주파수 정보가 많아지면 델타값이 커져 사용할 수 없다.
예) 240 241 242 251 (32 bit)  240 +1 +1 +9 (20 bit)
--8
--8
--8
--8
--8
--- --- --4 4 4 (bit)
• ADPCM(Adaptive DPCM)
– 신호가 낮으면 델타값을 적은 비트수로 표현하고, 신호가 커지면 델타값을 더
많은 비트를 사용해 표현
예) 240 241 242 251 (32 bit) 
--- --- --- --8
8
8
8
240 +1 +1 +9 (14 bit)
--- --- --- --8 1 1 4 (비트수)
기초적인 압축 기법
– 변환방식(transformation)
주어진 도메인을 압축이 용이한 다른 도메인으로 변환시켜 압축을
수행함
– 다단계 코딩(layered coding)
다단계 코딩에 속하는 서브밴드 코딩(subband coding)은 주어진 데이
타를 여러개의 성분(component)으로 나누고 여러 단계를 거쳐가면서
성분의 수를 줄여가는 방법
– 벡터 정량화
전형적인 패턴의 집합을 테이블로 미리 정의

혼합방식
– 엔트로피 인코딩과 소스 인코딩 기법등이 섞여서 사용
– JPEG, MPEG, P*64, DVI등이 속함
압축절차
압축전
이미지

이미지
준비
이미지
처리
정량화
엔트로피
인코딩
압축
이미지
준비
– 아날로그를 디지탈로 변환(A/D conversion)하고 압축에 사용될 단위로
나눔

처리
– DCT 등을 이용하여 시간 도메인을 주파수 도메인으로 변환시켜 관련
계수를 얻음

정량화
– 2단계의 처리 결과로 얻은 실수 계수를 정수로 사상시키거나, 정수 계
수의 크기를 더욱 줄이기 위해 유효 자리수를 감소

엔트로피 인코딩
– 결과 데이타 스트림을 무손실로 더 압축
JPEG(Joint Photographic Experts Group)

개요
– ISO/IEC JTC1/SC29/WG1에서 표준안이 제정
– 압축 비율은 손상없이는 20:1 정도까지 가능 손상을 허용하는 경우
75:1까지 압축 가능

구성요소
– JPEG 표준의 3레벨
• 베이스라인 시스템
– JPEG의 모든 코덱은 베이스라인 순차 코덱을 구현해야 함
– S/W나 VLSI나 DSP로 구현 가능함
• 확장 시스템
– 가변-길이 인코딩, 점진적 인코딩, 계층적 인코딩등을 포함
– 다양한 형태의 응용을 지원하기 위해 필요함
• 특별 무손실 시스템
– 예측 무손실 코딩은 복원된 이미지가 압축전 이미지와 동일하도록 보장
JPEG(Joint Photographic Experts Group)
– 베이스라인 순차 코덱
• DCT 계수 형성, 정량화, 엔트로피 인코딩의 3단계로 압축 작업을
수행
– DCT 점진적 모드
• DCT 계수 형성과 정량화 과정은 베이스라인 순차 코덱과 같지만
이미지 성분이 단일 스캔이 아닌 다중 스캔을 통해 코딩 되는 것이
다름
• 정량화 테이블에 설정한 이미지 품질에 이를 때까지 연속적인 스
캔을 통해 이미지를 개선
– 예측 무손실 인코딩
• 예측기가 샘플 영역을 조합해 인접 영역의 값을 예측하는 방법을
통해 무손실 압축을 수행
– 계층모드
• 다중 해상도의 제공에 사용되며, 이미지의 연속적인 인코딩은 수
직, 또는 수평 방향으로 반씩 감소시켜가며 진행
JPEG(Joint Photographic Experts Group)

압축절차
– JPEG은 8  8 크기의 이미지 블록을 단위로 해서 압축 수행
– JPEG 인코더의 처리과정
DC
8*8
이미지 블록
DCT
DC 허프만
DPCM
압축결과
정량화
AC 허프만
ZIG ZAG
AC
– JPEG 디코더의 처리과정
DC 허프만
IDPCM
압축이미지
IDCT
AC 허프만
복원결과
JPEG(Joint Photographic Experts Group)
– JPEG 압축 1단계
• DCT 변환을 이용해 공간 도메인상의 64개 픽셀값들을 주파수 도메
인으로 바꾼다 ( 1개의 DC계수, 63개의 AC계수)
• 8  8 픽셀 행렬입력 : i번째 행, j번째 열의 DCT 계수를 구하는 식
• IDCT(Inverse DCT) : x번째 행, y번째 열의 픽셀값을 구하는 식
JPEG(Joint Photographic Experts Group)
– JPEG 압축 2단계
• 정량화 테이블을 이용해 64개 계수값의 유효 자리수를 줄여 정량
화 계수를 얻는다
• 정량화 테이블을 이용해 정량화 계수를 구하는 식
정량화 계수 ( i , j ) = DCT ( i , j ) / 정량화테이블 ( i , j )
– JPEG 압축 3단계
• 엔트로피 인코딩을 이용해 정량화된 계수의 크기를 더욱 줄인다
• 기준이 되는 1개의 DC 계수는 이전 압축 블록의 DC 계수와의 델타
값을 구해 DPCM 방식과 허프만 코딩을 이용해 크기를 줄임
• 63개의 AC 계수들은 지그재그 순서로 허프만 코딩을 적용하여 더
욱 크기를 줄인다
JPEG(Joint Photographic Experts Group)

압축 예
– 8  8 이미지 블록의 예
132 136 138 140 144 145 147 155
136 140 140 147 140 148 155 156
140 143 144 148 150 152 154 155
144 144 146 145 149 150 153 160
150 152 155 156 150 145 144 140
144 145 146 148 143 158 150 140
150 156 157 156 140 146 156 145
148 145 146 148 156 160 140 145
– 압축 1단계 수행후 얻은 DCT 계수 행렬
172 -18
21 -34
15
-8
23
-9
14
19
24 -8
10
11
14
7
9
-8
-4
6
-5
4
3
-1
10
6
-5
4
-4
4
2
1
8
-2
-3
5
-3
3
4
6
4
-2
-4
6
-4
4
2
-1
4
-3
-4
5
6
3
1
1
0
-8
-4
3
2
1
4
0
JPEG(Joint Photographic Experts Group)
– 압축 2단계에서 사용된 정량화 테이블
4
7
10
13
16
19
22
25
7
10
13
16
19
22
25
28
10
13
16
19
22
25
28
31
13
16
19
22
25
28
31
34
16
19
22
25
28
31
34
37
19
22
25
28
31
34
37
40
22
25
28
31
34
37
40
43
25
28
31
34
37
40
43
46
– 압축 2단계 수행후 얻은 정량화계수 테이블
43
3
2
0
0
0
0
0
3
3
2
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
JPEG(Joint Photographic Experts Group)
– 압축 3단계에서 정량화계수 테이블을 행우선으로 나열
43 3 2 0 0 0 0 0 3 3 2 0 0 0 0 0 1 0 0 0 ...
– 압축 3단계에서 정량화계수 테이블을 읽는 지그재그 순서및 결
과
43 3 3 1 3 2 0 2 0 1 0 0 0 0 0 0 0 0 0 0 ....
JPEG(Joint Photographic Experts Group)
– 허프만 코딩을 사용할 경우, 현재 DC 계수 43에서 이전 이미지
블록에 대한 DC 계수값(예를들어, 26)을 뺀 차분 DC 계수 17은
0101
4비트
10001
5비트 (비트수)
– 차분 DC 계수에 대한 비트 길이 결정
그림DC
8-3 계수값
차분
0
±1
±2,3
±4,5,6,7
±8~15
±16~31
±32~63
±64~127
±128~255
±256~511
±512 ~1023
해당 비트 길이
비트 길이의 BCD 표현
0
1
2
3
4
5
6
7
8
9
10
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
MPEG(Moving Picture Experts Group)

개요
–
–
–
–
–
모션 이미지를 압축하기 위한 기법
오디오 정보도 같이 압축
압축 속도가 느리고 복원은 실시간으로 수행 (비대칭 시스템)
손상없는 압축비율은 50:1이며 최대 200:1까지 가능
MPEG-1
• 모션픽쳐와 관련된 오디오를 압축
• 압축률은 50:1 이며 화질은 VHS 테이블 수준
– MPEG-2
• 모션픽쳐와 관련된 오디오를 압축하기 위한 일반적인 방법
• 표준안은 MPEG-Video, MPEG-Audio, MPEG-System으로 구성
• 압축률은 100:1 화질은 HDTV 수준
MPEG(Moving Picture Experts Group)

비디오 압축절차
– 프레임간의 연관성을 이용해 동영상의 압축율을 더 높임
– I(Intrapictures), B(Bidirectionally predicted pictures),
P(unidirectionally Predicted pictures)
– MPEG의 코딩 단위인 GOP내에서 프레임간의 참조 관계
• GOP(Group Of Picture) :독립적인 코딩 단위
MPEG(Moving Picture Experts Group)
– MPEG 비디오 인코더의 구조
매크로블록
입력
+
DCT
정량화
허프만 코더
역정량화
IDCT
모션
보상
과거프레임
미래프레임
MUX
압축
결과
+
허프만 코더
• 모션보상 : 인접한 프레임간의 중복정보를 제거해 압축율을 높이믄 방법
• 모션백터 : 이전프레임에서 현재프레임으로 해당 블록이 이동한 위치를
나타내는 역할
• 매칭과정 : 예측이나 보간법을 이용하여 수행
MPEG(Moving Picture Experts Group)

오디오 압축절차
– Layer 1.2는 정량화의 결과를 PCM방식으로 인코딩
– Layer 3 허프만 방법으로 인코딩
– MPEG 오디오의 인코더 구조
비압축
오디오
압축
오디오
32 서브밴드
필터 뱅크
정량화
제어
심리음향적
모델
멀티플렉서
엔트로피 코더