Bmp 형식


BMP Format


BMP(Bitmap) 파일 포맷은 2차원 디지털 이미지를 저장하는 래스터 그래픽스 포맷으로, Microsoft Windows와 IBM OS/2 운영 체제에서 주로 사용된다. BMP는 장치 독립적 비트맵(Device-Independent Bitmap, DIB) 포맷으로 설계되어 다양한 장치에서 동일한 이미지를 표시할 수 있다.


구조


  1. 파일 헤더

  2. DIB 헤더

  3. 컬러 팔레트

  4. 비트맵 데이터


파일 헤더


  • 파일이 BMP 포맷임을 나타냄

  • 파일 크기와 이미지 데이터의 시작 위치를 포함


DIB 헤더 (Device Independent Bitmap)


  • 이미지의 크기(너비와 높이), 색상 깊이(비트당 픽셀 수), 압축 방식 등을 정의

  • BMP 버전에 따라 다양한 DIB 헤더 형식이 존재


컬러 팔레트


  • 색상 정보를 저장하며, 낮은 비트 깊이(예: 1bpp, 4bpp, 8bpp)에서 사용

  • 24bpp 이상의 경우 컬러 팔레트는 사용되지 않음


비트맵 데이터


  • 실제 픽셀 데이터가 저장됨

  • 데이터는 일반적으로 하단에서 상단으로 저장되며, 각 스캔 라인은 4바이트 단위로 패딩됨


주요 특징


  1. 비압축 데이터

  2. 다양한 색상 깊이 지원

  3. 장치 독립성

  4. 압축 옵션


비압축 데이터


대부분의 BMP 파일은 압축되지 않은 상태로 저장되며, 이는 이미지 품질을 완전히 보존하지만 파일 크기가 크다는 단점이 있음


다양한 색상 깊이 지원


BMP는 1비트(흑백)부터 최대 32비트(알파 채널 포함)까지 다양한 색상 깊이를 지원


장치 독립성


DIB 구조를 통해 특정 하드웨어나 디스플레이 장치에 의존하지 않고 이미지를 표현 가능


압축 옵션


일부 BMP 포맷은 RLE(Run-Length Encoding)과 같은 간단한 무손실 압축 방식을 지원(주로 4bpp 및 8bpp에서 사용)


장점


  • 고품질 이미지 : 비압축 방식이라서 이미지 품질 손실 없음

  • 간단한 구조 : 읽기와 쓰기가 쉬운 단순한 구조

  • Windows 환경과 높은 호환성


단점


  • 큰 파일 크기 : 압축되지 않은 데이터로 인해 많은 저장 공간 차지

  • 낮은 유연성 : JPEG나 PNG 같은 현대적인 포맷에 비해 기능이 제한적(투명도 부족, 효율적인 압축 미지원)