180 likes | 383 Views
What are Images?. 2-D function F(x, y) or I(r, c) F : pixel value, intensity, color x, y : coordinate. Digital Image. image : analog, continuous digital image : discrete 2-D array, matrix pixel, picture element. Image types. pixel value types binary images : 2 values monochrome
E N D
What are Images? • 2-D function F(x, y) or I(r, c) • F : pixel value, intensity, color • x, y : coordinate
Digital Image • image : analog, continuous • digital image : discrete • 2-D array, matrix • pixel, picture element
Image types • pixel value types • binary images : 2 values • monochrome • gray-scale, black-and-white • color images : R, G, B • multispectral images
Digital Image Files • header • image size, bits per pixel • no. of bands, file type • raw data : pixel values • (un)compressed • palatte, lookup table (LUT)
Image Files • bmp • gif • png • jpg
PNG – Portable Network Graphics • pronounced “ping” • Lossless compression • Chunk로 구성됨 • GIF와의 비교 • 최대 256 색상만 지원하는 GIF에 비해 PNG는 true color도 지원 • GIF에 비해 20~30%정도 압축률이 좋음 • GIF가 animation을 지원하는 데 반해 PNG는 지원하지 않음; PNG의 확장인 MNG는 animation을 지원함 • GIF는 background color transparency를 지원하는데 비해, PNG는 alpha channel transparency를 지원 • Gamma correction transparency 비교
JPEG • Joint Photographic Expert Group • ISO/IEC IS 10918-1 • ITU-T Recommendation T.81 • JPEG 표준은 영상을 어떤 식으로 압축하는가에 대해서만 규정하고, 실제 파일 저장 형태는 JFIF (JPEG File Interchange Format)에 의해 규정된다 • 손실 압축방법 (lossy compression) • 사람의 눈이 색의 미세한 차이를 인식하지 못하는 점을 이용 • 실제 사진과 같이 인접한 픽셀간 색의 차이가 작은 영상에 효과적 • 여러 가지 압축 방법 • Baseline JPEG • DCT (Discrete Cosine Transform) 압축 방법 • Progressive JPEG • 하나의 파일을 여러 번의 스캔으로 나눈다; 첫 번째 스캔은 매우 낮은 화질의 이미지를 만들고, 이어지는 스캔에서 점차적으로 화질을 높인다 • Hierarchical JPEG • 하나의 파일에 여러 가지 해상도를 가지는 영상을 동시에 저장하는 방법 • 여러 파일에 나누어 저장하는 것보다 압축률을 높일 수 있다
컬러모델 변환 Chrominance down-sampling DCT transform Quantization Huffman encoding Decompressed image Compressed image 컬러모델 역변환 Chrominance up-sampling Inverse DCT transform Inverse quantization Huffman decoding Baseline JPEG • RGB model을 YIQ model로 변환 • Luminance (Y), Chrominance (Inphase, Quadrature) • 사람의 눈이 chrominance의 차이를 잘 인식하지 못하므로 이를 손실 압축하기 위함 (chrominance down-sampling) • DCT transform • 주파수 영역으로 변환하여 상대적으로 정보량이 적은 고주파 성분을 구분하여 손실 압축하기 위함
JPEG 파일 구조 <SOI> <DHT> ... <DQT> ... <SOF> ... <SOS> ... <SOS> ... <SOS> ... <EOF> <EOI> JPEG 파일 전체 구조 : SOI Tables Frames EOI SOF Frame Header Scan Data 1 Scan Data 2 ... SOS Scan Header ECS Data 1 ECS Data 2 ... MCU Data ... Frame Header : SOF (2) Lf (2) P (1) Y (2) X (2) Nf (1) C (1) H (0.5) V (0.5) Tq (1) Scan Header : SOS (2) Ls (2) Ns (1) Cs (1) Td (0.5) Ta (0.5) Ss (1) Se (1) Ah (0.5) Ai (0.5) Quantization table : DQT (2) Lq (2) Pq (0.5) Tq (0.5) Quantization table (64) Huffman table : DHT (2) Lh (2) Th (0.5) Huffman Code Length (16) Huffman codes (64)
Lf : frame header의 길이 • P : 양자화 비트 수 • Y : 영상의 세로 크기 • X : 영상의 가로 크기 • Nf : 프레임을 구성하는 컴포넌트 수 • C : 컴포넌트 번호 • H : 수평 샘플링 인자 • V : 수직 샘플링 인자 • Tq : 양자화 테이블 번호 • Ls : scan header 블록의 길이 • Ns : 스캔 컴포넌트 수 • Ss : 스펙트럴 선택 방식의 개시 • Se : 스펙트럴 선택 방식의 종료 • Ah, Ai : 비트 위치를 표시하는 상위 정보와 하위 정보 • Cs : 컴포넌트 번호 • Td : DC 계수 엔트로피 부호 테이블 번호 • Ta : AC 계수 엔트로피 부호 테이블 번호 • Lq : table header의 길이 • Pq : 양자화 테이블의 각 값의 비트수 • Tq : 양자화 테이블 번호 • Lh : huffman table header의 길이 • Th : 허프만 테이블 번호
Image Files • bmp • gif – lossless (LZW) • png – lossless (LZW) • jpg – lossy (DCT)
Binary image • BMP • Palette contains two entries, each bit in the bitmap array represents a pixel • GIF • Microsoft의 경우 : palette에 2개의 색상을 정하고, 8bpp color index를 사용하는 bitmap을 생성한 후에, 이를 LZW 압축 방법으로 저장 • PNG • GIF와 유사 • JPEG • 자연 영상을 대상으로 한 압축 방식이기 때문에 binary image에는 적합하지 않음
Monochrome image • BMP • Either palette(2, 16, 256) or true color can be used • GIF • Either palette(2, 16, 256) or true color can be used • PNG • Either palette(2, 16, 256) or true color can be used • JPEG • As there is no palette information, only true color can be used