70 likes | 468 Views
4.4.3 이미지의 압축 이미지 데이터의 양을 줄이는 방법 한 화소당 데이터의 양을 줄이는 방법 이미지를 구성하는 화소의 수를 줄이는 방법 데이터를 압축하는 방법 (1) GIF 압축 RLE(Run Length Encoding) 방식을 응용한 LZW(Lempel-Ziv-Welch) 알고리즘을 사용 RLE 압축방식. 수평으로 같은 색을 갖는 이미지의 경우 압축 효과가 크다 .
E N D
4.4.3 이미지의 압축 • 이미지 데이터의 양을 줄이는 방법 • 한 화소당 데이터의 양을 줄이는 방법 • 이미지를 구성하는 화소의 수를 줄이는 방법 • 데이터를 압축하는 방법 (1) GIF 압축 • RLE(Run Length Encoding) 방식을 응용한 LZW(Lempel-Ziv-Welch) 알고리즘을 사용 RLE 압축방식 1
수평으로 같은 색을 갖는 이미지의 경우 압축 효과가 크다. 154 bytes 213 bytes 318bytes 501 bytes 1,148 bytes 8,236 bytes 이미지의 특성에 따른 GIF 압축률 2
(2) JPEG(Joint Photographic Experts Group) 압축 • 특별히 컬러 사진의 압축을 위하여 고안되었으며, 1992년 국제 표준으로 확정됨 • 손실(Lossy) 압축은 JPEG에서 일반적으로 쓰이는 방식이며, 무손실(Lossless) 압축은 X-레이 등 픽셀 하나 하나가 중요한 경우 사용 • 24비트 컬러를 사용하며 압축 특성으로 인한 색번짐(Blocking Effect)이 나타날 수 있음 • JPEG 압축 과정 • RGB모델에서 YIQ모델로 변환 • YIQ모델 : Y는 밝기, I는 색상, Q는 순도의 정보를 가짐 • 인간의 시각은 밝기 정보에 더 민감하게 반응 3
RGB모델을 YIQ모델로 변환 • YIQ의 매크로 블록(Macroblock)화 • Y는 16 * 16, I와 Q는 8 * 8의 크기로 나눔 • 매크로 블록을 8 * 8 블록화 • JPEG 압축은 전체 이미지를 8 * 8 픽셀 블록 단위로 나누어 압축을 수행 4
DCT 변환(Discrete Cosine Transformation) • 2차원 평면 공간의 컬러 정보를 2차원의 주파수 정보로 푸리에 변환(Fourier Transform)하는 과정 • 1개의 DC 계수와 63개의 AC 계수를 얻음 • 양자화(Quantization) • 인간이 구별하기 힘든 범위 내에서 DCT 계수를 정수로 나누고 반올림 • 이 과정에서 인간의 눈이 잘 인식하지 못하는 높은 주파수의 DCT계수들은 거의 0 이 됨 • 가장 큰 데이터 압축이 일어나는 동시에 가장 데이터 손실이 많은 과정 5
지그재그 스캐닝(Zig-zag Scanning) • DCT 계수 지그재그로 읽어 일차원 형태로 배열 • 낮은 주파수의 계수는 앞쪽에, 높은 주파수의 계수는 뒤쪽에 위치 DCT계수 및 지그재그 스캐닝 • 엔트로피 코딩(Entropy Coding) • 무손실 압축을 사용하여 최종 압축을 수행 • 일반적으로 허프만 코딩(Huffman coding)을 많이 사용 7