BMP
비트맵(bitmap
) 방식. extension(확장자)가 bmp
임.
압축도 가능하나 주로 압축되지 않는 방식으로 많이 사용됨.
- pixel 들을 2-Dimension(이차원)으로 정렬하여 표현
- 각각의 픽셀은 정수를 component로 가지는 vector로 표현되는 고유의 색을 갖고 있다
- 예를 들어 8 bit bmp image는 픽셀의 color 혹은 intensity를 나타내기 위해 8자리의 이진수를 사용.
- 8 bit channel의 경우, 256가지의 intensity 중 하나의 값을 pixel이 가지게 됨. (0~255)
width
,height
,channel
로 구성되는게 일반적이며, channel은 depth라고도 불리기도 하고, RGB color space를 통해 색을 표현.- 즉, channle은 color image의 경우 3개를, 흑백 영상은 1개를 가짐.
- 채널의 크기는
1,4,8,16,24,32 bit
를 가질 수 있음. - 주로 사용되는 건
24bit
(True color image, $3ch \times 8bit$)와8bit
(gray-scale image).
- 압축 : Run-Length Compression방식 (RLE4, RLE8)
- 블록 형태의 이미지 압축에 유리.
Bitmap Data Structure
- File Header
- 14bytes로 현재 파일이 bmp file인지 여부 등을 알려주는 역할 담당.
- Image Header
- 이미지의 폭, 높이, 비트수 등등 기재됨. windows version3의 경우 최소 40bytes.
- Color Table
- Color Palette로도 불림. 1,4,8 bit에서 RGB값을 어떻게 얻어내는지 나타냄. 4bytes
- Pixel Data :
- 실제 픽셀데이터. 보통 bottom-up방식을 저장.
GIF
Graphics Interchange Format의 줄임말로, 1987년 미국의 Compuserve에서 개발.
GIF는 LZW; Lempel-Ziv-Welch 로 압축이 되는데 특허권 문제가 있었고, 이 때문에 PNG 개발로 이어짐.
IE 가 많이 쓰이던 당시 web에서 널리 사용되었던 방식임.
현재는 움직이는 이미지 (일명 짤)로 많이 사용됨.
장점
- 한 파일에 여러 이미지를 저장하여 다중 프레임 애니메이션 을 구현
- 투명 이미지 를 지원. →
PNG
처럼alpha
값을 제공하는 게 아닌 256개의 color 중 하나의 값을 투명으로 지정 하여 사용. IE
브라우저에선 alpha cahnnel 인식이 안되었기 때문에 투명 이미지를 위해 GIF가 많이 사용되었음 (현재IE
는 한 시대의 유물로)- 애니메이션을 특별한 플러그인 없이 여러 환경에서 쉽게 적용할 수 있다는 장점을 가짐.
단점
- 8비트 256 컬러로 제한됨 (표현할 수 있는 색이 매우 적음).
- lossless compression 이긴하나, 표현 가능한 color의 숫자가 제한되기 때문에 제한 이상의 컬러값 종류를 가진 영상을 GIF로 만들면 화질의 손상을 피할 수 없음.
- 정말 오래된 표준임 : 최근의 경우, 동영상도 mp4로 인코딩하면 GIF에 비해 ⅕ 이하의 용량으로 encoding이 가능하기 때문에 점점 이용이 줄어드는 포맷임.
PNG
Portable Network Graphics 의 줄임말.
GIF 포맷을 대체하기 위해 개발됨.
TIFF
와 함께 대표적인 lossless compression(무손실 압축) 포맷- 투명 배경(
alpha
channel) 이미지 를 만들 때 가장 일반적으로 사용됨.
장점
- lossless compression(비손실 압축방식)으로 원본에 손상 없이 파일의 크기를 줄여줌.
- 이미지의 모든 컬러 정보와 alpha 채널을 보존 → 이미지 처리 S/W에서 활용하기 쉬움.
- 문자 혹은 날카로운 경계가 있는 이미지인 경우
JPG
보다PNG
가 효과적이다.
단점
- 애니메이션을 만들 수 없다.
JPG
와GIF
보다 용량이 크다.
JPEG
Joint Picture Experts Groups (JPEG을 만든 그룹명이기도 함)의 약자.
국제 표준화 기구ISO ( International Standard Organization ) 와 국제 전신 전화 위원회 CCITT (International Telegraph and Telephone Consultative Committee) 에서 공동으로 제정한 정지 영상 파일 포맷 (두 기관이 만든 그룹이 JPEG
)으로 1982년에 표준화를 시작하여 1992년 국제 표준으로 채택됨.
장점
RGB
모드와CMYK
모드를 둘 다 지원.- 이미지의 질과 파일의 크기를 손실압축방식(DCT)을 통해 조정 가능.
- web 상에서 가장 널리 사용되는 방식.
단점
- 고주파 성분 표현 (영상의 detail 부분)이 경쟁기술(
PNG
)등에 비해 나쁜 편. - Lossless encoding도 지원 하나,
PNG
등의 경쟁기술에 비해 많이 사용되지는 않음. - color의 경우, 붉은 색 표현이 좋지 못한 것으로 알려짐.
- 투명 배경 이미지(alpha channle)를 지원하지 않음
- 레이어 지원하지 않음.
jp2, jpx, j2c
JPEG 2000의 확장자 (jp2
, j2c
, jpx
, jpf
, jpc
, j2k
)
JPEG
과 다음과 같은 차이점을 가짐.
- DCT 기반의 JPEG의 단점을 개선하기 위해
Wavelet transform
에 기반 을 둠 (DCT도 지원하여 JPEG와의 역방향 호환성도 지원). - Compression ratio(기존 대비 2배 이상의 압축률 개선)와 화질(0.25 bpp = 0.25 bit per pixel 에서도 매우 우수한 화질을 보임 )이 개선됨.
- 기존 JPEG의 경우 1/10정도의 압축률이었던 것과 달리
JPEG2000은 1/20으로 압축해도 JPEG의 1/10 압축률과 같은 화질의 영상을 얻음.
- 기존 JPEG의 경우 1/10정도의 압축률이었던 것과 달리
- Lossless compression이 가능.
- 64k × 64k 크기 이상의 영상도 압축 가능.
TIFF
대표적인 무손실 압축 이미지 포맷 이며 스캐너, 디지털카메라, 인쇄, 출판 등에서 표준으로 자리잡음.
확장 가능한 tag를 지원하는 것이 장점이자 단점.
- 24비트나 48비트를 사용하 하나의 색(빨강, 녹색, 파랑) 에 각각 8비트나 16비트를 할당하여 저장하는 유연한 포맷
- 손실과 무손실 압축 제공 → 주로 무손실 인 경우 가 많음.
- 쉽게 확장 가능한 tag(태그) 구조를 제공하여 벤더들이 유연하게 확장 가능 → 반대급부로 모든
TIFF
를 읽는 뷰어 개발이 불가능. - 프린팅 업계에서 사진 영상의 표준으로 사용 → 논문 등의 출판물 제출시 많이 요구됨.
Raw Data Format
- 별도의 헤더 정보 없이, 영상 데이터(픽셀 값)로만 구성
- 영상의 크기에 대한 별도 정보 필요.
References
2022.09.21 - [Programming/DIP] - [DIP] Color Space or Color Model
'Programming > DIP' 카테고리의 다른 글
[DIP] Kornia 소개 (0) | 2023.02.07 |
---|---|
[DIP] Dithering (0) | 2023.01.17 |
[DIP] Deconvolution: Richardson-Lucy deconvolution algorithm (0) | 2022.10.11 |
[NumPy] Fancy Indexing & Combined Indexing (1) | 2022.10.03 |
[DIP] OpenCV : Region of Interest (ROI) : Callback으로 구현. (0) | 2022.10.03 |