비트맵의 유형
비트맵은 픽셀의 사각형 배열에서 각 픽셀의 색을 지정하는 비트 배열입니다. 개별 픽셀에 적용되는 비트 수에 따라 해당 픽셀에 할당할 수 있는 색 수가 결정됩니다. 예를 들어 각 픽셀이 4비트로 표시되는 경우 지정된 픽셀을 16가지 색 중 하나로 할당할 수 있습니다(2^4 = 16). 다음 표에서는 지정된 비트 수로 표시되는 픽셀에 할당할 수 있는 색 수의 몇 가지 예를 보여 줍니다.
픽셀당 비트 수 | 픽셀에 할당할 수 있는 색 수 |
---|---|
1 | 2^1 = 2 |
2 | 2^2 = 4 |
4 | 2^4 = 16 |
8 | 2^8 = 256 |
16 | 2^16 = 65,536 |
24 | 2^24 = 16, 777, 216 |
비트맵을 저장하는 디스크 파일에는 일반적으로 픽셀당 비트 수, 각 행의 픽셀 수 및 배열의 행 수와 같은 정보를 저장하는 하나 이상의 정보 블록이 포함됩니다. 이러한 파일에는 색 테이블(색상표라고도 함)이 포함될 수도 있습니다. 색 테이블은 비트맵의 숫자를 특정 색에 매핑합니다. 다음 그림에서는 비트맵 및 색 테이블과 함께 확대된 이미지를 보여 줍니다. 각 픽셀은 4비트 숫자로 표시되므로 색 테이블에는 2^4 = 16색이 있습니다. 테이블의 각 색은 24비트 숫자로 표시됩니다. 빨간색은 8비트, 녹색은 8비트, 파란색은 8비트입니다. 숫자는 16진수(기수 16) 형식으로 표시되어 A = 10, B = 11, C = 12, D = 13, E = 14, F = 15입니다.
이미지의 행 3, 열 5의 픽셀을 확인합니다. 비트맵의 해당 숫자는 1입니다. 색 표는 1이 빨간색을 나타내므로 픽셀이 빨간색임을 알려줍니다. 비트맵의 맨 위 행에 있는 모든 항목은 3입니다. 색 테이블은 3이 파란색을 나타내므로 이미지의 맨 위 행에 있는 모든 픽셀이 파란색임을 알려줍니다.
참고
일부 비트맵은 상향식 형식으로 저장됩니다. 비트맵의 첫 번째 행에 있는 숫자는 이미지의 아래쪽 행에 있는 픽셀에 해당합니다.
색 테이블에 인덱스를 저장하는 비트맵을 색상표 인덱싱 비트맵이라고 합니다. 일부 비트맵에는 색 테이블이 필요하지 않습니다. 예를 들어 비트맵에서 픽셀당 24비트가 사용되는 경우 해당 비트맵은 색 테이블에 인덱스가 아닌 색 자체를 저장할 수 있습니다. 다음 그림에서는 색 테이블을 사용하는 대신 색을 직접 저장하는 비트맵(픽셀당 24비트)을 보여 줍니다. 또한 해당 이미지의 확대 보기를 보여 줍니다. 비트맵에서 FFFFFF는 흰색을 나타내고, FF0000은 빨간색을, 00FF00은 녹색을, 0000FF는 파란색을 나타냅니다.
그래픽 파일 형식
파일에 비트맵을 저장하기 위한 많은 표준 형식이 있습니다. Windows GDI+는 다음 단락에 설명된 그래픽 파일 형식을 지원합니다.
BMP(비트맵)
BMP는 Windows에서 디바이스 독립적 및 애플리케이션 독립적 이미지를 저장하는 데 사용하는 표준 형식입니다. 지정된 BMP 파일의 픽셀당 비트 수(1, 4, 8, 15, 24, 32 또는 64)는 파일 헤더에 지정됩니다. 픽셀당 24비트가 있는 BMP 파일은 일반적입니다.
GIF(Graphics Interchange Format)
GIF는 웹 페이지에 표시되는 이미지에 대한 일반적인 형식입니다. GIF는 선 그리기, 단색 블록이 있는 그림, 색 사이에 선명하게 경계가 있는 그림에 적합합니다. GIF는 압축되지만 압축 프로세스에서는 정보가 손실되지 않습니다. 압축 해제된 이미지는 원본과 정확히 동일합니다. GIF의 한 색을 투명으로 지정하여 이미지를 표시하는 모든 웹 페이지의 배경색을 가질 수 있습니다. 애니메이션 GIF를 형성하기 위해 하나의 파일에 GIF 이미지 시퀀스를 저장할 수 있습니다. GIF는 픽셀당 최대 8비트까지 저장되므로 256색으로 제한됩니다.
JPEG(Joint Photographic Experts Group)
JPEG는 스캔한 사진과 같은 자연스러운 장면에 잘 작동하는 압축 구성표입니다. 일부 정보는 압축 프로세스에서 손실되지만 종종 인간의 눈에는 손실을 인식할 수 없습니다. 색 JPEG 이미지는 픽셀당 24비트 저장되므로 1,600만 개 이상의 색을 표시할 수 있습니다. 픽셀당 8비트만 저장하는 회색조 JPEG 형식도 있습니다. JPEG는 투명도 또는 애니메이션을 지원하지 않습니다.
JPEG 이미지의 압축 수준은 구성할 수 있지만 압축 수준(작은 파일)이 높을수록 정보가 더 많이 손실됩니다. 20:1 압축 비율은 종종 사람의 눈이 원본과 구별하기 어려운 이미지를 생성합니다. 다음 그림에서는 BMP 이미지와 해당 BMP 이미지에서 압축된 두 개의 JPEG 이미지를 보여 줍니다. 첫 번째 JPEG의 압축 비율은 4:1이고 두 번째 JPEG의 압축 비율은 약 8:1입니다.
JPEG 압축은 선 그리기, 단색 블록, 날카로운 경계에서 잘 작동하지 않습니다. 다음 그림에서는 두 개의 JPEG 및 GIF와 함께 BMP를 보여 줍니다. JPEG와 GIF는 BMP에서 압축되었습니다. 압축 비율은 GIF의 경우 4:1, 더 작은 JPEG의 경우 4:1, 더 큰 JPEG의 경우 8:3입니다. GIF는 선을 따라 날카로운 경계를 유지하지만 JPEG는 경계를 흐리게 하는 경향이 있습니다.
JPEG는 파일 형식이 아닌 압축 체계입니다. JFIF(JPEG 파일 교환 형식)는 JPEG 체계에 따라 압축된 이미지를 저장하고 전송하는 데 일반적으로 사용되는 파일 형식입니다. 웹 브라우저에서 표시하는 JFIF 파일은 .jpg 확장을 사용합니다.
교환 가능한 이미지 파일(Exif)
Exif는 디지털 카메라로 캡처한 사진에 사용되는 파일 형식입니다. Exif 파일에는 JPEG 사양에 따라 압축되는 이미지가 포함되어 있습니다. Exif 파일에는 사진(촬영 날짜, 셔터 속도, 노출 시간 등)에 대한 정보와 카메라(제조업체, 모델 등)에 대한 정보도 포함되어 있습니다.
PNG(이동식 네트워크 그래픽)
PNG 형식은 GIF 형식의 많은 장점을 유지하지만 GIF 이외의 기능도 제공합니다. GIF 파일과 마찬가지로 PNG 파일은 정보 손실 없이 압축됩니다. PNG 파일은 픽셀당 8, 24 또는 48비트와 픽셀당 1, 2, 4, 8 또는 16비트인 회색 눈금을 사용하여 색을 저장할 수 있습니다. 반면 GIF 파일은 픽셀당 1, 2, 4 또는 8비트만 사용할 수 있습니다. PNG 파일은 각 픽셀의 알파 값을 저장할 수도 있습니다. 이 값은 해당 픽셀의 색이 배경색과 혼합되는 정도를 지정합니다.
PNG는 이미지를 점진적으로 표시하는 기능에서 GIF를 개선합니다. 즉, 네트워크 연결을 통해 도착하는 이미지의 더 나은 근사치를 표시합니다. PNG 파일은 다양한 디스플레이 디바이스에서 이미지를 정확하게 렌더링할 수 있도록 감마 보정 및 색 보정 정보를 포함할 수 있습니다.
TIFF(태그 이미지 파일 형식)
TIFF는 다양한 플랫폼 및 이미지 처리 애플리케이션에서 지원하는 유연하고 확장 가능한 형식입니다. TIFF 파일은 픽셀당 임의 비트 수로 이미지를 저장할 수 있으며 다양한 압축 알고리즘을 사용할 수 있습니다. 여러 이미지를 단일 다중 페이지 TIFF 파일에 저장할 수 있습니다. 이미지와 관련된 정보(스캐너 만들기, 호스트 컴퓨터, 압축 유형, 방향, 픽셀당 샘플 등)는 파일에 저장하고 태그를 사용하여 정렬할 수 있습니다. TIFF 형식은 새 태그의 승인 및 추가에 따라 필요에 따라 확장할 수 있습니다.