Computer Science/멀티미디어 공학

멀티미디어 공학 8주차 (컬러모델과 영상 포맷) - 기말고사 범위 시작

만능 엔터테이너 2024. 10. 14. 15:19
728x90
반응형
SMALL

색채 모델(Color Model / Color Space)

정의 : 색채를 어떻게 정의하느냐 하는 방법
역할 : 채널 수, 채널 심도 등이 결정됨
종류 : CIE, RGB, HSB, CMYK, YUV 등


CIE Color Space

정의 : 어떤 광원에 의해 인식되는 색채 혹은 3개의 파라미터에 의해 정의될 수 있다는 색체 이론에 의하여 정의된 색채 모델

역할 : 다른 색체 모델들의 교정 기준

RGB Color Space

정의 : 모든 색상은 Red/Green/Blue의 빛의 삼원색의 강도에 의해 결정된다는 사실을 기반으로 하는 색 표현 방법

역할 : CRT 등 Color Display Device에 가장 널리 쓰이는 색체 모델

CMYK Color Space

정의 : Cyan,Magenta,Yellow와 흑색 성분을 표현하기 위한 K(Black)의 4가지 성분으로 표현하는 색체 모델

원리 : 인쇄된 종이에 원하는 색을 표현하기 위하여, 원하는 색 이외의 성분을 모두 흡수하는 색을 정의하여 색상을 표현

(k 검은색은 실제 실용성 때문에 추가로 사용하는 것)

특징 :  프린터에 가장 많이 쓰이는 색체 모델

HSV Color Space

Hue - Red에서 Green을 지나 Blue까지 120도 간격으로 이루어진 원에서의 각을 나타내는 값으로 색채를 대표

빨강: 0°

노랑: 60°

초록: 120°

파랑: 240°

 
 

Saturation - Hue로 나타내진 색채의 강도, 원의 중심에서 시작하여 밖으로 갈수록 강해짐채도는 색상의 순도 또는 강도를 나타냅니다. 0%는 회색으로, 100%는 가장 강렬한 색상입니다. 채도가 높을수록 색상이 더 생생해집니다.

 

Value :

순수한 밝기를 나타내는 정도,

순수한 검은색에서 순수한 흰색

으로 이어지는 Gray성분으로 표현

명도는 색의 밝기를 나타냅니다. 0%는 검정색이며, 100%는 해당 색상의 가장 밝은 상태입니다.

 
 
 

YUV Color Space

- 정의 : Luminance(Y)Chrominance(UV) 성분으로 표현하는 색채 모델

- 원리 : U와 V각각 U는 Y(밝기)와 B(파란색)의 색상 차이, V는 Y(밝기)와 R(빨간색)의 색상 차이

- 특징 : TV에서 사용되는 색채 모델, 흑백 TV에서 Color 정보를 받았을 때, Y 성분만을 이용하여 표현할 수 있도록 구성


채널 수

: 이미지 합성에 쓰일 수 있는 이미지 전체 또는 일부의 투명/반투명한 영역을 정의하는 알파 채널과 각 색채 모델에서 사용되는 구성요소의 수 (알파 채널이 없는 CMYK는 4개의 채널을 가짐)

채널 심도

각 채널이 갖는 값을 코딩하기 위하여 하나의 색소가 갖는 bit 수 (bits/Pixel로 정의 / 1bit, 2bit, 4bit, 8bit가 주로 사용 / 채널 심도가 높을수록 다양한 색채 표현 가능)


디지털 이미지의 종류

"하나의 픽셀을 표현하는데 얼마나 많은 bit를 사용하는가"

- 1 bit Monochrome 이미지
- 8 bit Grayscale 이미지
- 8-bit Color 이미지
- 24-bit True Color 이미지


1-bit Monochrome 이미지 

- 정의 : 하나의 픽셀을 표현하는 데 1bit만을 사용하는 이미지 (Binary 이미지, 1-bit 흑백 이미지, 1-bit 단색 이미지)

특징 : 하나의 픽셀에 담긴 정보는 1 또는 0 (정해진 색이 있는지 여부의 정보만 표현이 가능), 1-bit 이미지는 흰색과 검은색만 갖는 단색이미지 또는 특정 색상의 유무에 따른 단색 이미지

 

8-bit Grayscale 이미지

- 정의 : 하나의 픽셀을 표현하는 데 8bit(1Byte)를 사용하는 이미지 (256레벨 Grayscale 이미지, 256레벨 회색조 이미지, 8-bit 회색조 이미지)

- 특징 : 8bit는 Unsigned Integer로 가정할 때 0인 경우 검은색, 값이 점차 커짐에 따라 밝아져서 255가 되는 경우 흰색256레벨 회색조(Grayscale) 이미지라고 불림 [회색조(Grayscale) : 색이 없고 밝기 정보만 보유]

 

8-bit Color 이미지

정의 :  각 픽셀당 1Byte가 할당되어 표현할 수 있는 색의 종류가 256가지로 제한되는 이미지 (2^(8)의 다른 값들로 표현)
특징 : 사용되는 256개의 색들은 24-bit Color에서 선택됨, Color Lookup Table 또는 Color 팔레트라고 불리는 테이블에 저장, 픽셀의 8bit는 테이블에 저장되어 있는 색의 INDEX 값(0 ~ 255번)을 가지고 있게 됨

Color Lookup Tables (LUTs):

  • LUT8비트 색상 인덱스(0~255 범위)24비트 색상 정보로 매핑해 줍니다.
  • 팔레트(palette)라고도 불립니다.

24-Bit True Color 이미지

정의 : 픽셀당 3Byte, 즉 24bit를 할당하여 16,777,216 종류의 다른 값들을 표현하는 이미지 (2^(24))의 다른 값들을 표현)
특징 : 일반적으로 R,G,B 값을 각각 1Byte씩 할당하여 표현 / R,G,B 성분을 각각 256종류로 표현, 24-bit color 이미지라고 불림, 실제 저장 포맷에서는 종종 알파채널 1 Byte가 추가되어 32bit 이미지로 사용되기도 함

  • 24-Bit Color Images (24비트 색상 이미지):
    • 각 픽셀은 RGB(Red, Green, Blue) 값을 나타내는 3바이트로 표현됩니다.
      • 빨강, 초록, 파랑 각각 8비트(1바이트)로 구성됩니다.
  • 색상 수:
    • 256 × 256 × 256 색상 조합이 가능하며, 이는 16,777,216가지의 색상을 의미합니다.

색소의 Aspect Ratio
 
이미지 전체의 가로/세로 크기 비율 or 한 색소의 가로/세로 크기 비율


한 색소의 가로/세로 크기 비율

: 이미지와 Display Device의 Pixel Aspect Ratio가 다른 경우, 가로나 세로로 늘어나거나 찌그러진 왜곡된 이미지가 나타나게 됨


코딩 방법 : 디지털 이미지를 저장/전송하기 위한 코딩 방법은 여러가지 

  • 정해진 규칙에 의하여 디지털 이미지를 코딩하였을 때, 이미지는 정해진 포맷을 갖게됨

코딩 포맷 : BMP, GIF, TIFF, JPEG 등

BMP 파일 포맷

  1. Device Dependent Bitmap (장치 의존 비트맵):
    • 이미지의 출력(예: 크기)은 디스플레이 장치(스크린, 프린터 등)에 따라 달라집니다.
    • 즉, 동일한 이미지라도 사용되는 장치에 따라 표시 결과가 달라질 수 있습니다.
  2. Device Independent Bitmap (장치 독립 비트맵):
    • 이 형식의 비트맵 이미지는 출력 장치와 무관하게 항상 의도한 대로 표시됩니다.
    • BMP 파일은 일반적으로 DIB(Device Independent Bitmap) 형식으로 Windows 환경에서 저장됩니다.

정리

  • BMP 파일은 두 가지 형태로 구분됩니다:
    1. 장치 의존 비트맵: 출력 장치의 특성에 영향을 받는 이미지.
    2. 장치 독립 비트맵: 출력 장치에 상관없이 일관된 결과를 제공하는 이미지.
  1. 비트맵 유형:
    • Grayscale Bitmap / 8비트 컬러 비트맵: 각 픽셀에 대해 색상 팔레트의 인덱스 번호저장됩니다.
    • Truecolor Bitmap: 각 픽셀의 실제 색상 값이 (B, G, R) 순서로 저장됩니다.
      • 일반적인 RGB 순서와는 다르게 파랑(B), 초록(G), 빨강(R) 순서로 배열됩니다.
  2. 데이터 저장 방식:
    • 거꾸로 저장(bottom-up): 비트맵 데이터는 이미지의 맨 아래부터 위로 저장됩니다.
      • 예시: 오른쪽 그림에서 이미지가 상하 반전된 것처럼 저장되는 모습을 보여줍니다.
  3. 비트맵 데이터 정렬:
    • 4바이트 단위(B,G,R과 추가적인 패딩 또는 알파채널(투명도)를 지칭)로 정렬(aligned)됩니다.
      • 오른쪽 하단 그림에서는 비트맵 데이터가 3열에서 4열 단위로 정렬되는 과정을 설명합니다. 이는 메모리 정렬 및 패딩 처리와 관련이 있습니다.

{ GIF 파일 형식 }

  • GIF (Graphics Interchange Format) :
    • LZW 알고리즘을 기반 ,8비트(256색) 컬러 이미지를 지원 (그래픽 및 도면에 적합)
    • 4단계 디스플레이 과정을 통해 인터레이싱(점진적 로딩) 지원

[ 인터레이싱(interlacing)은 이미지를 전송하거나 디스플레이할 때 전체 이미지를 한 번에 표시하지 않고, 여러 개의 패스로 나누어 순차적으로 표시하는 방식입니다.  

  • GIF89a 버전은 Graphics Control Extension 블록을 통해 간단한 애니메이션을 지원 (지연 시간, 투명 색상 인덱스 등에 대한 간단한 제어 가능)
  • 이미지는 반복이 되고 이미지의 반복되는 위치에 각기 다른 이미지를 투영하여 이미지가 움직이도록 하는 효과를 생성함(GIF)
REPEATED 영역

REPEATED 영역 3가지 : Image descriptor, Local color map, Raster Area (GIF87a 버전)

만약, Glocal Color Map이 없으로 디폴트 맵에서 색상을 가져옴
RGB 3바이트 형식이 1개의 컬러를 표현, 3바이트 씩 끊어서 나타냄

😎문제: GIF 파일의 컬러 맵은 각 색상의 RGB 값을 바이트 단위로 저장합니다. 각 색상은 3바이트(R, G, B)로 표현됩니다. 만약 GIF 파일의 pixel 깊이가 3이라고 할 때, 컬러 맵의 길이는 몇 바이트가 될까요?

풀이

  1. pixel 깊이가 3이므로, 컬러 맵의 길이는 2^(pixel+1)=2^(3+1)=16개의 색상을 포함합니다.
  2. 각 색상은 3바이트로 표현되므로, 총 바이트 수16×3=48 바이트입니다.

정답: 48 바이트

각 Pass 단계를 진행하면서 단계별 띄어지는 비트 수 (original GIT 87a 형식)

이미지는 GIF 파일 포맷에서 사용하는 4-패스 인터레이스 디스플레이 방식을 설명합니다.
이 방식은 GIF 이미지가 점진적으로 표시되도록 하여 로딩 시 전체 이미지를 순차적으로 보게 해주는 방법입니다.

    • Pass 1: 0, 8, 16, 24, ... 와 같이 8의 배수로 증가하는 행을 채웁니다.
      • 예시: 행 0 (1a), 행 8 (1b), 행 16, 행 24 등
    • Pass 2: 4, 12, 20, 28, ... 와 같이 4에서 시작하여 8의 배수로 증가하는 행을 채웁니다.
      • 예시: 행 4 (2a), 행 12 (2b), 행 20, 행 28 등
    • Pass 3: 2, 6, 10, 14, 18, ... 와 같이 2에서 시작하여 4씩 증가하는 행을 채웁니다.
      • 예시: 행 2 (3a), 행 6 (3b), 행 10 (3c), 행 14 (3d) 등
    • Pass 4: 1, 3, 5, 7, 9, ... 와 같이 1부터 시작하여 홀수로 증가하는 모든 남은 행을 채웁니다.
      • 예시: 행 1 (4a), 행 3 (4b), 행 5 (4c), 행 7 (4d) 등
  • Result: 최종 결과로 모든 행이 채워진 상태입니다. 각 행이 모든 패스를 거친 후 순서대로 채워져 최종 이미지를 형성합니다.

{ GIF File Format }

GIF89 : [애니메이션, 그래픽]

  • 애니메이션을 위한 확장 블록 정의 도입
  • 투명도(Transparency)(87a에서 추가됨)지연 시간(Delay) 설정 가능
  • 정렬된 색상 테이블(Sorted Color Tables): 가장 중요한 색상이 먼저 전송됨 (Color Table이 전부 오지 않을 경우를 대비하여 우선순위대로 이미지를 분류하여 순서대로 전송함)

{ Other File Formats }

1. JPEG (Joint Photographic Experts Group) : [순수 이미지]

  • 인간 시각 인식 시스템에 기반하여 이미지 압축 수행 :
    • 이미지 블록을 주파수 도메인에서 표현
    • 주파수 계수와 가중치를 평가
    • 저주파 성분은 양자화(Quantization) 단계에서 더 큰 비중을 부여받음

2. PNG (Portable Network Graphics) : 

  • GIF 기반 확장 형식
  • 최대 48비트 색상 정보 지원 (RGB +alpha, 1비트 당 12비트 지원)
  • 감마 보정(Gamma-correction)알파 채널 정보 포함 가능
  • 7단계 인터레이싱을 통해 점진적으로 픽셀을 표시
  • 8x8 블록을 7회 반복하며, 2차원 방식으로 픽셀을 순차적으로 디스플레이하여 점진적으로 이미지를 표시

3. TIFF (Tagged Image File Format)  :

  • 다양한 이미지 유형을 저장: 1비트, 그레이스케일, 8비트, 24비트 RGB
  • 원래는 무손실 형식으로 시작했지만, JPEG 태그를 추가하여 JPEG 압축을 선택할 수 있음

4. EXIF (Exchange Image File) : 

  • 디지털 카메라용 이미지 형식 ( 순수 이미지 + 메타 데이터 )
  • JEITA(Japan Electronics and Information Technology Industries Association)에서 개발
  • JPEG 형식을 기반으로 압축 수행
  • 촬영 조건에 관한 다양한 태그 포함
  • 오디오 데이터도 포함 가능

5. PS and PDF (PostScript and Portable Document Format) : [프린터 사용 포맷]

  • PostScript :
    • 조판 및 프린터용 언어
    • 벡터 기반 그래픽 언어
    • 텍스트, 벡터 그래픽, 비트맵 이미지 포함 가능
    • EPS(Encapsulated PostScript)로 다른 문서에 포함 가능
    • 압축을 제공하지 않으며 ASCII 형식으로 저장됨
  • PDF (Portable Document Format) :
    • LZW 압축 채택, 이미지 압축JPEG 사용

정리

  • GIF: 애니메이션과 투명도를 지원하는 간단한 이미지 형식
  • JPEG: 인간 시각을 기반으로 한 정교한 압축 방식 사용
  • PNG: 투명도와 색 보정을 지원하며, GIF를 확장한 형식
  • TIFF: 다양한 이미지 유형과 압축 방식을 지원하는 유연한 형식
  • EXIF: 디지털 카메라용, 촬영 정보와 오디오 포함
  • PS/PDF: 문서 및 그래픽 조판용, PDF는 JPEG로 이미지 압축 지원
728x90
반응형
LIST