Chapter 15. Graphics File Formats 2009-1학기 Chapter 15. Graphics File Formats
Image File Configurations Graphics file or image file 저장시킨 그림 표현을 말함 래스터 그래픽스 시스템(Raster graphics system)에서는 컬러 스크린 디스플레이가 프레임버퍼에 픽셀의 RGB 값들로 표현된다. pixmap 프레임버퍼의 내용이나 프레임버퍼의 일부 사각형 부분을 말함 단색 이미지의 경우 하나의 비트맵(픽셀당 한 개 비트 이용)으로 나타내기도 하나 대부분 raster image 는 pixmap 으로 저장됨 Full color raster file은 사이즈가 크기 때문에 대부분의 파일 포맷은 보관과 전송을 위해 파일 크기를 줄이기 위한 압축을 적용한다. 래스터 이미지 파일의 픽셀 컬러값은 보통 양의 정수로 저장된다. 컬러값의 범위는 픽셀당 가능한 비트수에 따라 다르다. Full-color RGB 이미지의 경우(픽셀당 24비트), 각 컬러요소값은 1 바이트에 저장되고, R, G, B 값들의 범위는 0~255 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats Raw data or raw raster file RGB 컬러값로 구성된 압축되지 않은 래스터 그래픽스 파일을 말함 파일 형식은 보통 파일의 구조에 관한 정보를 제공하는 헤더를 포함한다. 압축 파일의 경우에는 압축된 이미지를 복원하고 디스플레이하는데 필요한 테이블이나 세부사항을 포함하는 헤더가 있다. 헤더의 정보: 파일 크기(스캔라인 수와 스캔라인 당 픽셀 수), 픽셀당 비트 혹은 바이트 수, 압축방법, 픽셀값의 컬러 범위, 이미지 배경컬러 등의 정보가 포함된다. 파일 내 바이트 순서: 래스터 이미지 파일의 다른 특징 Big endian: Most significant byte 를 우선으로 multibyte integers 저장 혹은 Little endian: Least significant byte 를 우선으로 multibyte integers 저장 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats Vector format 그림을 기하 표현으로 저장 선분들의 좌표 위치 및 다른 정보, 채움 영역, 스플라인 곡선, 프리미티브 등을 포함하는 리스트 속성 정보와 뷰잉 파라미터도 포함 Hybrid format or metafiles 기하와 이미지 표현을 다 지원하는 파일 형식을 말함 2009-1학기 Chapter 15. Graphics File Formats
Color Reduction Methods 컬러 샘플링 이미지 디스플레이에 쓰이는 컬러 수를 줄이는 방법 중 가장 인기 있는 방법 중 하나로 원래 컬러들에 근접하는 컬러 샘플링을 생성 Color reduction method를 quantization 이라고도 함 연속적으로 분산되어 있는데서 분리된 값들을 생성해냄 래스터 이미지 파일은 연속적 분산이 아니고 한정적이며 분리된 값들을 가지고 있으므로, color reduction 에서는 분리된 값들의 집합을 좀 더 작은 값들로 바꾼다. Uniform Color Reduction R, G, B 컬러 값들을 하나의 정수로 나누어서 결과값을 잘라내는 방법 예를 들어 2로 나누어 R, G, B 각각을 128 단계로 표현 연속적인 컬러 단계를 축소된 컬러 단계로 교체 R, G, B 컬러 단계를 서로 다르게 두기도 함. 즉, R, G는 3비트로, B는 2비트로 컬러 이미지를 나타내기도 함. 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats Popularity Color Reduction 이미지 표현에서 가장 자주 나타나는 컬러값들을 보유하도록 함 K 컬러를 나타낼 경우엔 이미지 파일에 나타난 컬러 중 가장 자주 나타난 k 컬러를 선택한다. Median-Cut Color Reduction 이미지 파일의 컬러 공간을 k 서브공간으로 나누어 각 서브공간의 평균 컬러를 계산한다. 평균 컬러가 각 서브블록에 대해 계산되고 한 서브블록의 모든 컬러들이 평균 컬러로 대체된다. 2009-1학기 Chapter 15. Graphics File Formats
File Compression Techniques 많은 압축방법이 있으나 효과는 이미지 타입에 따라 다르다. 간단히 이미지 파일 내 패턴을 찾는 방법은 단일 컬러가 광범위하게 있는 기하 디자인에 효과적이다. 복잡한 압축 방법의 경우에는 사진과 같은 컴퓨터 그래픽스 이미지나 디지틀화된 사진 이미지 등에 적합하다. 압축 방법에 따라 floating-point operations을 포함하므로 round-off errors를 발생하며, 어떠한 방법은 이미지 컬러를 변화시키는 근사치 방법을 쓰기 때문에 압축된 파일이 때때로 원본 이미지 파일과 다른 경우가 발생한다. Lossless compression 이미지 파일의 값을 변화시키지 않는 file-reduction method를 말함 Lossy compression 컬러의 변화를 가져오는 경우를 말함 Compression ratio: 원본파일의 바이트수를 압축된 파일의 바이트수로 나눈 수 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats Run-Length Encoding 이미지 파일에서 연속적이며 반복되는 값을 찾는 방법 반복된 값을 하나의 파일 값과 반복된 수로 저장함 한 스캔라인에 연속적으로 125가 8번 나올 경우 압축 파일에 125와 8을 저장 단일 컬러 영역이 큰 경우에는 효과적이나 디지털 사진 이미지와 같이 컬러 변화가 많고 연속적인 반복 값이 적을 경우에는 적당하지 않다. Variations 반복적이지 않은 경우에는 음수 사용 {20, 20, 20, 20, 99, 68, 31, 40, 40, 40, 40, 40, 40, 40, …} => {4, 20, -3, 99, 68, 31, 8, 40, …} 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats LZW Encoding 반복된 패턴을 한 코드로 바꾼다. (128, 96, 200, 30, 10, 128, 96, 50, 240, 200, 30, 10, …} {128, 96} => c1 {200, 30, 10} => c2 {50, 240} => c3 {c1, c2, c1, c3, c2, ..} 로 바꿈 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats Huffman Encoding 이미지 파일내 값들에 대해 여러 길이 코드를 이용하여 압축 파일내 가장 자주 나타나는 값에는 가장 짧은 코드를 주고, 가장 적게 나타나는 값에는 가장 긴 코드를 준다. 첫번째 단계에서 입력 이미지 파일내 각 값이 나타나는 수를 센다. 빈도수에 따라 값들에 비트 코드를 부여한다. 여러 길이의 비트 코드를 지정하는 방법으로 자주 나타나는 값들을 트리의 root 가까이에 두고 적게 나타나는 값들을 leaf 노드에 둔다. 적게 나타나는 값들부터 시작해서 subtree 를 생성해간다. 각 subtree 의 루트 노드엔 빈도수의 합이나 노드 라벨을 붙인다. 트리가 완성되면 모든 좌측 subtree 들은 이진수 0을 주고 우측 subtree 들은 이진수 1을 준다. 파일의 각 값들은 트리의 루트에서 부터 시작하여 각 가지(branch)에 붙여진 이진수 값을 연결하여 얻어진다. 2009-1학기 Chapter 15. Graphics File Formats
Table 15-1 Frequency count for values Field Value Frequency Count 96 8 177 4 141 3 85 210 2 43 1 Total Values in File 21 2009-1학기 Chapter 15. Graphics File Formats
Figure 15-8 Huffman binary tree 21 1 Field Value Frequency Count 96 8 177 4 141 3 85 210 2 43 1 Total Values in File 21 13 8 (96) 1 7 6 1 1 3 (141) 4 3 (85) (177) 3 1 2 1 (210) (43) 2009-1학기 Chapter 15. Graphics File Formats
Table 15-2 Indexed Huffman codes File value Binary code 1 96 2 177 000 3 141 010 4 85 011 5 210 0010 6 43 0011 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats Arithmetic Encoding 파일내 빈도수를 이용하여 파일 값의 수치 코드를 얻음 첫번째로 각 값이 차지하는 파일의 부분을 계산한다. 이로 인해 단위 간격 0.0 과 1.0 사이에 부분간격들을 생성하게 된다. 각 파일 부분들이 반복하여 부분간격들에 매핑되어서 파일 값들의 조합에 대한 새로운 부분간격들을 생성해낸다. 이 부분간격들의 수치 범위값을 이용하여 인코드와 디코드가 이루어진다. 보통은 각 단위 간격들의 실수 값들을 바이너리 값으로 구현하여 압축 파일이 바이너리 값들을 가지도록 한다. 2009-1학기 Chapter 15. Graphics File Formats
Table 15-4 Frequency counts and fraction of occurrences for values File value Frequency count File fraction Unit-interval range V1 16 0.20 0.00-0.20 V2 24 0.30 0.20-0.50 V3 40 0.50 0.50-1.00 Total 80 1.00 2009-1학기 Chapter 15. Graphics File Formats
Table 15-5 Unit-Interval Range for each two-value sequence V3V1 0.50-0.60 V3V2 0.60-0.75 V3V3 0.75-1.00 2009-1학기 Chapter 15. Graphics File Formats
Discrete Cosine Transform 압축속도가 빠르고 복원률이 높음 n개 수치값 Vk, k = 0, 1, …, n-1, 에 대해 discrete cosine method 는 다음의 변환값들을 정의한다. n-1 2(k+1)j Vj’ = cj Vk cos , j = 0, 1, …, n-1 k=0 2n 1 n , j = 0 cj = 2 n , j 0 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats 원래 값들은 다음 식에 의해 복원된다. n-1 2(k+1)j Vk = cj Vj’ cos , k = 0, 1, …, n-1 k=0 2n 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats 파일 형식 JPEG: Joint Photographic Experts Group ISO의 JPEG committee 에서 개발 4개 파일 압축 모드 정의 Lossless, sequential, progressive, hierarchical JPEG lossless mode Huffman encoding 혹은 Arithmetic encoding 을 이용하는 패턴 인식 방법 다른 lossless 보다 비효율적이라서 많이 사용 안됨 JPEG baseline sequential mode JPEG 에서 가장 많이 이용되는 버전 컬러 구성요소의 수치값이 8비트로 저장되고 압축알고리즘은 discrete cosine transform과 Huffman 혹은 Arithmetic encoding 을 이용한다. 컬러구성요소를 16비트로 표현하기도 함 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats JPEG progressive mode 이미지 파일이 다양한 해상도의 여러 레이어로 생성될 수 있도록 여러 패스를 거침 즉, 완전한 이미지 파일을 다운로드 하기 전에 그림의 개략적인 모습을 볼 수 있도록 함 JPEG hierarchical mode 이미지를 여러 서브이미지로 나눔 그림의 선택된 부분들에 의해 점진적으로 전체 그림을 완성함 복잡하기 때문에 많이 사용 안함 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats JPEG File Interchange Format (JFIF) 인코딩 방법 Color Conversion Pixel RGB 컬러값이 YCrCb 컬러 성분으로 전환됨 Color Sampling 컬러값의 수가 선택된 픽셀들에 의한 값 혹은 인접 픽셀 그룹의 평균값으로 줄어듬 Discrete Cosine Transform 8x8 픽셀 컬러 값이 discrete consine transform 값들로 바뀜 Reduction of Transformed Values 압축을 위해 일부 축소된 변환값들이 저장됨 Huffman Encoding Discrete consine transform 값들을 Huffman code 로 변환함 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats CGM: Computer Graphics Metafile Format ISO/ANSI 에 의해 개발 어떤 컴퓨터나, GKS 혹은 PHIGS 그래픽스 라이브러리를 사용하는 어떤 그래픽스 분야에서도 사용가능 하도록 함 이미지 기술(Image description) 허용 Pixmap, geometric definitions, attributes 등을 기술 파일 크기를 줄이기 위해 character-encoding 방법이 쓰이며 바이너리 코드로 최적화하여 표시된다. 픽셀값들은 RGB, CMYK, YCrCb, CIE models, color table과 같은 여러 컬러 방식으로 표현됨 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats TIFF: Tag Image-File Format 여러 응용이나 컴퓨터시스템간 래스터 이미지 전송을 위해 효율적인 형식 Medical imaging, desktop publishing, graphical user interface, satellite image storage, fax transmission 등 다양한 응용에 이용 Bi-level, grayscale, full-color image 에 이용 픽셀값은 RGB 값이나 컬러테이블로 제공 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats PNG: Portable Network-Graphics Format Lossless compression 압축 알고리즘에 Huffman encoding과 LZ encoding 방식이 포함됨 인터넷에서의 이미지 저장과 전송에 많이 쓰임 단순한 컴퓨터 그래픽스 이미지에 대해서 압축률이 좋음 XBM: X Window System Bitmap Format, XPM: X Window System Pixmap Format 그림 정보를 워크스테이션에서 X Windows System 을 사용하여 처리한 C 나 C++ 코드로 저장한다. 픽셀값들이 스캔라인 순으로 좌측에서 오른쪽으로 저장된 배열로 표현된다. 대부분의 웹브라우저에서 지원됨 압축알고리즘은 없으나 특수하게 설계된 압축프로그램으로 크기를 줄임(#define preprocessor 를 이용하여 스캔라인당 픽셀수나 스캔라인수를 지정함) 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats Adobe Photoshop Format 크기가 크고 full color 래스터 이미지를 빠른 속도로 액세스하도록 최적화됨. 압축에는 run-length encoding 을 쓰는데 압축률은 낮음 Pixmap, bitmaps(monochrome images), gray-scale images 지원 Multiple colors per pixel, halftone images, transparency parameters 지원 MacPaint: Macintosh Paint Format 모든 매킨토시 응용의 표준 형식 텍스트, line drawing, clip art 등에 많이 이용 압축알고리즘으로 run-length encoding 사용 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats PICT: Picture Data Format 매킨토시 응용에 쓰임 Bitmap, pixmaps, geometric representations 지원 Line segments, polygons, arcs, bitmaps, clipping parameters, attributes 등 매킨토시의 QuickDraw 함수들을 포함함 이미지들이 bitmap, RGB components, color table을 이용하여 표현됨 Run-length encoding 알고리즘 사용 BMP: Bitmap Format 픽셀당 복수개 비트를 포함하는 이미지 파일 지원 Microsoft 사에서 Windows 응용을 위해 개발 픽셀 컬러 값은 RGB 컬러 요소나 컬러 테이블 이용하여 표현 스캔라인이 밑에서 위로 저장되고 pixmap 의 시작 위치가 좌측 아래가 원점이 됨 보통은 압축되지 않으나 픽셀당 4 or 8 bits 로 run-length encoding 이 사용되기도 함 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats PCX: PC Paintbrush File Format Windows OS 에서 쓰이는 pixmap format 이미지 파일이 픽셀당 24 비트로 저장됨 픽셀값들이 RGB 요소 혹은 컬러테이블을 이용하여 표현 스캔라인 순서는 위에서부터 시작하여 아래로 진행함 Run-length encoding 으로 압축됨 TGA: Truevision Graphics-Adapter Format Targa format 으로 알려짐 비디오 편집에 많이 쓰임 이미지 파일은 픽셀당 8, 16, 24, 32 비트로 저장됨 픽셀 컬러는 RGB 요소나 컬러 테이블로 표현됨 보통은 압축되지 않으나 큰 이미지 파일의 경우 run-length encoding 알고리즘이 쓰이기도 함 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats GIF: Graphics Interchange Format 래스터 이미지 파일의 전화망 전송에 효율적인 형식 LZW 압축 알고리즘 이용 단순한 컴퓨터 그래픽스 이미지에서는 압축 효율이 좋으나 사진이미지에서는 JPEG, PNG 보다 압축 효율이 떨어진다. 많은 응용에서 이용되고 있으나 LZW 압축 알고리즘의 특허 문제로 사용이 줄어들고 있다. Monochrome 혹은 multicolor pictures 에 다 사용 픽셀값이 1-8 비트만 사용해서 최대 256 컬러를 허용 픽셀값들이 컬러테이블을 이용하여 저장됨 2009-1학기 Chapter 15. Graphics File Formats
Chapter 15. Graphics File Formats 2009-1학기 Chapter 15. Graphics File Formats