개념 기초적인 압축 기법 압축절차 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) 비트 위치(bit position) 서브샘프링(subsampling) 서브밴드 코딩(subband coding) 벡터 정량화(vector quantization) 혼합방식 JPEG, MPEG, P*64, DVI
기초적인 압축 기법 엔트로피 인코딩(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) 240 +1 +1 +9 (14 bit) --- --- --- --- --- --- --- --- 8 8 8 8 8 1 1 4 (비트수)
기초적인 압축 기법 혼합방식 변환방식(transformation) 다단계 코딩(layered coding) 벡터 정량화 주어진 도메인을 압축이 용이한 다른 도메인으로 변환시켜 압축을 수행함 다단계 코딩(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 인코더의 처리과정 JPEG 디코더의 처리과정 DCT 정량화 ZIG ZAG AC 허프만 DPCM DC 허프만 압축결과 DC AC 8*8 이미지 블록 복원결과 AC 허프만 IDCT DC 허프만 IDPCM 압축이미지
JPEG(Joint Photographic Experts Group) DCT 변환을 이용해 공간 도메인상의 64개 픽셀값들을 주파수 도메인으로 바꾼다 ( 1개의 DC계수, 63개의 AC계수) 8 8 픽셀 행렬입력 : i번째 행, j번째 열의 DCT 계수를 구하는 식 IDCT(Inverse DCT) : x번째 행, y번째 열의 픽셀값을 구하는 식
JPEG(Joint Photographic Experts Group) 정량화 테이블을 이용해 64개 계수값의 유효 자리수를 줄여 정량화 계수를 얻는다 정량화 테이블을 이용해 정량화 계수를 구하는 식 정량화 계수 ( i , j ) = DCT ( i , j ) / 정량화테이블 ( i , j ) JPEG 압축 3단계 엔트로피 인코딩을 이용해 정량화된 계수의 크기를 더욱 줄인다 기준이 되는 1개의 DC 계수는 이전 압축 블록의 DC 계수와의 델타값을 구해 DPCM 방식과 허프만 코딩을 이용해 크기를 줄임 63개의 AC 계수들은 지그재그 순서로 허프만 코딩을 적용하여 더욱 크기를 줄인다
JPEG(Joint Photographic Experts Group) 압축 예 8 8 이미지 블록의 예 압축 1단계 수행후 얻은 DCT 계수 행렬 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 172 -18 15 -8 23 -9 14 19 21 -34 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단계에서 사용된 정량화 테이블 압축 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 43 3 2 0 0 0 0 0 3 3 2 0 0 0 0 0 1 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 10001 4비트 5비트 (비트수) 차분 DC 계수에 대한 비트 길이 결정 그림 8-3 차분 DC 계수값 해당 비트 길이 비트 길이의 BCD 표현 0 0 0000 1 1 0001 2,3 2 0010 4,5,6,7 3 0011 8~15 4 0100 16~31 5 0101 32~63 6 0110 64~127 7 0111 128~255 8 1000 256~511 9 1001 512 ~1023 10 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) 모션보상 : 인접한 프레임간의 중복정보를 제거해 압축율을 높이믄 방법 모션백터 : 이전프레임에서 현재프레임으로 해당 블록이 이동한 위치를 나타내는 역할 매칭과정 : 예측이나 보간법을 이용하여 수행 정량화 역정량화 IDCT 허프만 코더 + 과거프레임 미래프레임 MUX 모션 보상 DCT 압축 결과 매크로블록 입력
MPEG(Moving Picture Experts Group) 오디오 압축절차 Layer 1.2는 정량화의 결과를 PCM방식으로 인코딩 Layer 3 허프만 방법으로 인코딩 MPEG 오디오의 인코더 구조 비압축 오디오 심리음향적 모델 필터 뱅크 정량화 멀티플렉서 엔트로피 코더 압축 32 서브밴드 제어