[DIP] Image Format (summary)

2022. 12. 5. 08:37·Programming/DIP
728x90
728x90

https://99designs.com/blog/tips/image-file-types/

 

Digital Image 들의 대표적인 encoding 방식들은 다음과 같음:

더보기

encoding 과 decoding에 대한 일반적 정의:

https://dsaint31.me/mkdocs_site/CE/ch01/code_for_character/#code-encoding

 

BME

Codes for Characters Code 란 특정 형태의 information을 다른 방법으로 표현하는 규칙 또는 해당 규칙으로 표현된 결과물 을 가르킴. 문자를 나타내기 위한 code는 인간이 사용하는 문자 를 일종의 기호 또

dsaint31.me

 

BMP (Bitmap):

비트맵(bitmap) 방식. extension(확장자)가 bmp임.

압축도 가능하나 주로 압축되지 않는 방식으로 많이 사용됨 (1998년 Windows2.0과 함께 MS가 도입)

  • 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 포맷을 대체하기 위해 1996년 개발됨.

  • 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): 2000년 제안됨.

 

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 압축률과 같은 화질의 영상을 얻음.
  • Lossless compression도 가능.
  • 64k × 64k 크기 이상의 영상도 압축 가능.

TIFF

Tagged Image File Format이 풀네임임.

 

대표적인 무손실 압축 이미지 포맷 이며 스캐너, 디지털카메라, 인쇄, 출판 등에서 표준으로 자리잡음 (1986년 개발됨).

확장 가능한 tag를 지원하는 것이 장점이자 단점.

  • 24비트나 48비트를 사용하 하나의 색(빨강, 녹색, 파랑) 에 각각 8비트나 16비트를 할당하여 저장하는 유연한 포맷
  • 손실과 무손실 압축 제공 ▷주로 무손실 인 경우 가 많음.
  • 쉽게 확장 가능한 tag(태그) 구조를 제공하여 벤더들이 유연하게 확장 가능 → 반대급부로 모든 TIFF를 읽는 뷰어 개발이 불가능.
  • 프린팅 업계에서 사진 영상의 표준으로 사용 → 논문 등의 출판물 제출시 많이 요구됨.

SVG

Scalable Vector Graphics 의 줄임말.


웹에서 확대/축소해도 품질 손실 없는 벡터 그래픽을 위해 개발됨
( World Wide Web Consortium 1998년 SVG 1.0을 제안하고 2001년 정식표준이 됨)

  • XML 기반의 벡터 그래픽 포맷
  • 수학적 좌표와 경로로 이미지를 표현 ▷무한 확대/축소 가능
  • 로고, 아이콘, 단순한 일러스트레이션에 가장 적합함.

장점

  • 벡터 기반으로 어떤 해상도에서도 선명함 ▷ 반응형 웹디자인에 이상적.
  • 파일 크기가 작음 (특히 단순한 그래픽의 경우).
  • CSS와 JavaScript로 실시간 조작 가능 ▷ 인터랙티브한 그래픽 구현.
  • 텍스트 기반이라 SEO에 유리하고 접근성이 좋음.
  • 모든 현대 브라우저에서 지원하는 웹 표준.

단점

  • 복잡한 이미지(사진 등)에는 부적합 ▷ 파일 크기가 픽셀방시보다도 커질 수 있음.
  • 구형 브라우저(IE 8 이하)에서 지원 제한.
  • 벡터 그래픽 편집 도구나 코딩 지식이 필요함.

Raw Data Format

  • 별도의 헤더 정보 없이, 영상 데이터(픽셀 값)로만 구성
  • 영상의 크기에 대한 별도 정보 필요: shape, dtype 등등.

References

2022.09.21 - [Programming/DIP] - [DIP] Color Space or Color Model

 

[DIP] Color Space or Color Model

Color Space(색 공간)은 "사람의 눈"이 3개의 color에 반응하는 감각세포(cone cell)를 통해 색을 인식하는 것에 기반하여 Tristimulus values (X,Y,Z)와 각각의 color를 연관시키는 방식처럼 "특정 공간의 위치"에

dsaint31.tistory.com


 

'Programming > DIP' 카테고리의 다른 글

[DIP] Kornia 소개  (0) 2023.02.07
[DIP] Dithering  (0) 2023.01.17
[DIP] Deconvolution: Richardson-Lucy deconvolution algorithm  (1) 2022.10.11
[NumPy] Fancy Indexing & Combined Indexing  (1) 2022.10.03
[DIP] OpenCV : Region of Interest (ROI) : Callback으로 구현.  (0) 2022.10.03
'Programming/DIP' 카테고리의 다른 글
  • [DIP] Kornia 소개
  • [DIP] Dithering
  • [DIP] Deconvolution: Richardson-Lucy deconvolution algorithm
  • [NumPy] Fancy Indexing & Combined Indexing
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (748)
      • Private Life (13)
      • Programming (194)
        • DIP (112)
        • ML (26)
      • Computer (119)
        • CE (53)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (351)
        • Signals and Systems (103)
        • Math (172)
        • Linear Algebra (33)
        • Physics (42)
        • 인성세미나 (1)
      • 정리필요. (54)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (1)
        • PET Study 2009 (1)
        • 방사선 장해방호 (4)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    Vector
    math
    Optimization
    Convolution
    cv2
    인허가제도
    signal_and_system
    Python
    linear algebra
    SS
    signals_and_systems
    opencv
    Programming
    Probability
    numpy
    function
    Term
    DIP
    SIGNAL
    fourier transform
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
[DIP] Image Format (summary)
상단으로

티스토리툴바