ICC Profile

2023. 7. 18. 08:49Multimedia

    목차
반응형

ICC profile?

ICC profile은 국제 컬러 표현의 표준 규격입니다.
색을 서로다른 여러 장치에서 표현할 때 동일하게 표현하기 위한 기준 정보를 저장하고 사용하는 방식에 대해 정의한 표준입니다.


JPEG, WebP, HEIF, PNG 등 많은 image file format이 이를 지원하며, 지원하는 경우 파일 내 헤더 부분에 ICC profile에 대한 메타 데이터가 저장되어 있습니다.

 

표준 사양은 다음의 link에서 다운 받을 수 있습니다.
https://www.color.org/icc32.pdf

 

parsing한 예를 다음의 link에서 참고할 수 있습니다.
https://teus.me/820

Refernce software

ICC profile을 parsing하는 software가 ICC 표준 단체에 의해 제공됩니다.
다음의 link에서 코드를 다운로드 받을 수 있습니다.
https://sampleicc.sourceforge.net/

 

IccProfLib: Main Page

 

sampleicc.sourceforge.net

 

간단히 ./configure 후 make를 수행하면 build가 됩니다.


이후 ICC profile 내용을 parsing 해 보려면 다음과 같이 iccDumpProfile을 실행하면 됩니다.

./Tools/CmdLine/IccDumpProfile/iccDumpProfile icc_data.dat ALL

 

이때 입력으로 주어지는 icc_data.dat는 ICC profile 데이터만 지는 binary file 입니다. 다른 부분이 섞여 있으면 제대로 parsing 되지 않습니다.

뒤에 ALL은 parsing 시 모든 profile tag를 parsing 한 결과를 보여달라는 option 입니다.

 

sample file을 parsing한 결과는 다음과 같습니다.

Profile ID:       Profile ID not calculated.
Size:             940(0x3ac) bytes

Header
------
Attributes:       Reflective | Glossy
Cmm:              Kodak
Creation Date:    12/1/1998  18:58:21
Creator:          'KODA' = 4B4F4441
Data Color Space: RgbData
Flags             EmbeddedProfileFalse | UseAnywhere
PCS Color Space:  XYZData
Platform:         Microsoft
Rendering Intent:Perceptual
Type:             DisplayClass
Version:          2.10
Illuminant:       X=0.9642, Y=1.0000, Z=0.8249

Profile Tags
------------
                      Tag    ID      Offset        Size
                     ----  ------    ------        ----
             copyrightTag  'cprt'       276          72
    profileDescriptionTag  'desc'       348         131
       mediaWhitePointTag  'wtpt'       480          20
                redTRCTag  'rTRC'       500          14
              greenTRCTag  'gTRC'       500          14
               blueTRCTag  'bTRC'       500          14
           redColorantTag  'rXYZ'       516          20
         greenColorantTag  'gXYZ'       536          20
          blueColorantTag  'bXYZ'       556          20
         deviceMfgDescTag  'dmnd'       576         110
       deviceModelDescTag  'dmdd'       688         209
Unknown 'mmod' = 6D6D6F64  'mmod'       900          40

Contents of copyrightTag tag ('cprt' = 63707274)
Type:   textType
content = "Copyright (c) Eastman Kodak Company, 1999, all rights reserved."


Contents of profileDescriptionTag tag ('desc' = 64657363)
Type:   textDescriptionType
content = "ProPhoto RGB"


Contents of mediaWhitePointTag tag ('wtpt' = 77747074)
Type:   XYZ Type
content = X=0.9642, Y=1.0000, Z=0.8249


Contents of redTRCTag tag ('rTRC' = 72545243)
Type:   curveType
content = BEGIN_CURVE In_Out
Y = X ^ 1.8008



Contents of greenTRCTag tag ('gTRC' = 67545243)
Type:   curveType
content = BEGIN_CURVE In_Out
Y = X ^ 1.8008



Contents of blueTRCTag tag ('bTRC' = 62545243)
Type:   curveType
content = BEGIN_CURVE In_Out
Y = X ^ 1.8008



Contents of redColorantTag tag ('rXYZ' = 7258595A)
Type:   XYZ Type
content = X=0.7977, Y=0.2880, Z=0.0000


Contents of greenColorantTag tag ('gXYZ' = 6758595A)
Type:   XYZ Type
content = X=0.1352, Y=0.7119, Z=0.0000


Contents of blueColorantTag tag ('bXYZ' = 6258595A)
Type:   XYZ Type
content = X=0.0313, Y=0.0001, Z=0.8249


Contents of deviceMfgDescTag tag ('dmnd' = 646D6E64)
Type:   textDescriptionType
content = "KODAK"


Contents of deviceModelDescTag tag ('dmdd' = 646D6464)
Type:   textDescriptionType
content = "Reference Output Medium Metric(ROMM)  "


Contents of Unknown 'mmod' = 6D6D6F64 tag ('mmod' = 6D6D6F64)
Type:   Unknown 'mmod' = 6D6D6F64
content = Unknown Tag Type of 32 Bytes.

Data Follows:
00000000: 00 00 06 10 00 00 9D 03 01 01 01 01 B0 CF 3B 80  ..............;. 
00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................ 
반응형

'Multimedia' 카테고리의 다른 글

JPEG 파일 분석 tool jpeginfo  (0) 2023.08.21
color  (0) 2023.07.24
Color format  (0) 2023.02.02
SVC vs. Streaming protocol  (0) 2023.01.19
SVC vs. Simulcast  (0) 2023.01.19