BS ISO 20677:2019
$215.11
Image technology colour management. Extensions to architecture, profile format and data structure
Published By | Publication Date | Number of Pages |
BSI | 2019 | 236 |
This document is based on ISO 15076‑1, and describes an expanded profile specification and profile connections that permit greater flexibility and functionality than ISO 15076‑1. All definitions and requirements in ISO 15076‑1 are therefore in force unless otherwise specified by this document. This document defines minimum structural and operational requirements for writing and reading ICC profiles. Additional workflow requirements and restrictions are defined in domain-specific interoperability conformance specification (ICS) documents approved and registered by the ICC.
In this document, some ISO 15076‑1 types have been removed, and others have been added. A colour management module (CMM) compatible with profiles conforming to this document will have backwards compatibility with profiles conforming to ISO 15076‑1.
Where the name of a type in this document is the same as a type in ISO 15076‑1, the type definition is based on the ISO 15076‑1 definition. The exception is the definition of the MPE type, which has been expanded.
Where the extensions described in this document are not required in a particular workflow, ISO 15076‑1 is used as the basis for colour management profiles and architectures.
PDF Catalog
PDF Pages | PDF Title |
---|---|
2 | undefined |
11 | Foreword |
12 | Introduction |
15 | 1 Scope 2 Normative references 3 Terms, definitions and abbreviated terms 3.1 Terms and definitions |
16 | 3.2 Abbreviated terms |
17 | 4 Extended basic types 4.1 General 4.2 Extended basic type listing 4.2.1 azimuthNumber 4.2.2 float16Number |
18 | 4.2.3 float64Number 4.2.4 horizontalNumber 4.2.5 Sparse matrix encodings |
20 | 4.2.6 sparseMatrixEncodingType |
21 | 4.2.7 spectralRange 4.2.8 tintArray 4.2.9 valueEncodingType |
22 | 4.2.10 verticalNumber 4.2.11 zenithNumber |
23 | 5 Conformance 6 Expanded PCSs, rendering intents and device encoding 6.1 General considerations 6.2 Extensions to device colour encoding |
24 | 6.3 Extensions to PCSs 6.3.1 General 6.3.2 Profile connection conditions |
25 | 6.3.3 Spectral PCSs |
27 | 6.3.4 BRDF connection 6.3.5 Directional viewing connection 6.4 Multiplex connection spaces 6.4.1 General |
28 | 6.4.2 MCS signature encoding 6.5 Colour encoding space profiles |
29 | 7 Profile requirements 7.1 General |
31 | 7.2 Profile header 7.2.1 General 7.2.2 Extended profile header field definitions |
32 | 7.2.3 ColourEncodingSpace class profile header field definitions 7.2.4 Profile size field (bytes 0 to 3) 7.2.5 Preferred CMM type field (bytes 4 to 7) 7.2.6 Profile version and sub-version field (bytes 8 to 11) |
33 | 7.2.7 Profile/device class field (bytes 12 to15) 7.2.8 Data colour space field (Bytes 16 to 20) |
34 | 7.2.9 PCS field (Bytes 20 to 23) |
35 | 7.2.10 Date and time field (bytes 24 to 35) 7.2.11 Profile file signature field (bytes 36 to 39) 7.2.12 Primary platform field (bytes 40 to 43) 7.2.13 Profile flags field (bytes 44 to 47) |
36 | 7.2.14 Device manufacturer field (bytes 48 to 51) 7.2.15 Device model field (bytes 52 to 55) 7.2.16 Device attributes field (bytes 56 to 63) |
37 | 7.2.17 Rendering intent field (bytes 64 to 67) 7.2.18 PCS illuminant field (bytes 68 to 79) 7.2.19 Profile creator field (bytes 80 to 83) 7.2.20 Profile ID field (bytes 84 to 99) |
38 | 7.2.21 Spectral PCS field (bytes 100 to 103) |
39 | 7.2.22 Spectral PCS range field (bytes 104 to 109) 7.2.23 Bi-Spectral PCS range field (bytes 110 to 115) |
40 | 7.2.24 MCS field (bytes 116 to 119) 7.2.25 Profile/device sub-class (bytes 124 to 127) 7.2.26 Reserved field (bytes 124 to 127) 7.3 Tag table 7.3.1 Overview |
41 | 7.3.2 Tag count (byte position 0 to 3) 7.3.3 Tag signature (byte position 4 to 7 and repeating) 7.3.4 Offset to beginning of tag data element (byte position 8 to 11 and repeating) 7.3.5 Tag data element size (byte position 12 to 15 and repeating) |
42 | 7.4 Tag data 8 Required tags 8.1 General 8.2 Common requirements 8.3 Input profiles |
43 | 8.4 Display profiles 8.5 Output profiles |
44 | 8.6 DeviceLink profile 8.7 ColorEncodingSpace profile |
45 | 8.8 ColorSpace profile 8.9 Abstract profile 8.10 NamedColor profile |
46 | 8.11 MultiplexIdentification profile 8.12 MultiplexLink profile 8.13 MultiplexVisualization profile 8.14 Precedence order of tag usage 8.14.1 General 8.14.2 Input, display, output or colour space profile types |
47 | 8.14.3 Abstract profile types 8.14.4 DeviceLink profile types 8.14.5 MultiplexIdentification profile types 8.14.6 MultiplexLink profile types 8.14.7 MultiplexVisualization profile types |
48 | 8.14.8 MCS to parameter-based BRDF profile table usage 8.14.9 BRDF profile table usage |
49 | 8.14.10 Parameter-based BRDF profile table usage 8.14.11 Directional profile table usage |
50 | 9 Tag definitions 9.1 General 9.2 Specific tag listing 9.2.1 AToB0Tag |
51 | 9.2.2 AToB1Tag 9.2.3 AToB2Tag 9.2.4 AToB3Tag 9.2.5 AToM0Tag |
52 | 9.2.6 brdfColorimetricParameter0Tag 9.2.7 brdfColorimetricParameter1Tag 9.2.8 brdfColorimetricParameter2Tag |
53 | 9.2.9 brdfColorimetricParameter3Tag 9.2.10 brdfSpectralParameter0Tag 9.2.11 brdfSpectralParameter1Tag |
54 | 9.2.12 brdfSpectralParameter2Tag 9.2.13 brdfSpectralParameter3Tag 9.2.14 brdfAToB0Tag |
55 | 9.2.15 brdfAToB1Tag 9.2.16 brdfAToB2Tag 9.2.17 brdfAToB3Tag |
56 | 9.2.18 brdfBToA0Tag 9.2.19 brdfBToA1Tag |
57 | 9.2.20 brdfBToA2Tag 9.2.21 brdfBToA3Tag 9.2.22 brdfBToD0Tag |
58 | 9.2.23 brdfBToD1Tag 9.2.24 brdfBToD2Tag |
59 | 9.2.25 brdfBToD3Tag 9.2.26 brdfDToB0Tag 9.2.27 brdfDToB1Tag |
60 | 9.2.28 brdfDToB2Tag 9.2.29 brdfDToB3Tag 9.2.30 brdfMToB0Tag |
61 | 9.2.31 brdfMToB1Tag 9.2.32 brdfMToB2Tag 9.2.33 brdfMToB3Tag |
62 | 9.2.34 brdfMToS0Tag 9.2.35 brdfMToS1Tag 9.2.36 brdfMToS2Tag |
63 | 9.2.37 brdfMToS3Tag 9.2.38 BToA0Tag |
64 | 9.2.39 BToA1Tag 9.2.40 BToA2Tag 9.2.41 BToA3Tag 9.2.42 BToD0Tag |
65 | 9.2.43 BToD1Tag 9.2.44 BToD2Tag 9.2.45 BToD3Tag |
66 | 9.2.46 calibrationDateTimeTag 9.2.47 charTargetTag 9.2.48 colorEncodingParamsTag 9.2.49 colorSpaceNameTag |
67 | 9.2.50 colorantOrderTag 9.2.51 colorantOrderOutTag 9.2.52 colorantInfoTag 9.2.53 colorantInfoOutTag 9.2.54 colorimetricIntentImageStateTag |
69 | 9.2.55 copyrightTag 9.2.56 customToStandardPccTag |
70 | 9.2.57 cxfTag 9.2.58 deviceMfgDescTag 9.2.59 deviceModelDescTag 9.2.60 directionalAToB0Tag |
71 | 9.2.61 directionalAToB1Tag 9.2.62 directionalfAToB2Tag |
72 | 9.2.63 directionalAToB3Tag 9.2.64 directionalBToA0Tag |
73 | 9.2.65 directionalBToA1Tag 9.2.66 directionalBToA2Tag 9.2.67 directionalBToA3Tag |
74 | 9.2.68 directionalBToD0Tag 9.2.69 directionalBToD1Tag |
75 | 9.2.70 directionalBToD2Tag 9.2.71 directionalBToD3Tag 9.2.72 directionalDToB0Tag |
76 | 9.2.73 directionalDToB1Tag 9.2.74 directionalDToB2Tag 9.2.75 directionalDToB3Tag |
77 | 9.2.76 DToB0Tag 9.2.77 DToB1Tag 9.2.78 DToB2Tag |
78 | 9.2.79 DToB3Tag 9.2.80 gamutBoundaryDescription0Tag 9.2.81 gamutBoundaryDescription1Tag 9.2.82 gamutBoundaryDescription2Tag 9.2.83 gamutBoundaryDescription3Tag 9.2.84 multiplexDefaultValuesTag |
79 | 9.2.85 multiplexTypeArrayTag 9.2.86 measurementInfoTag 9.2.87 measurementInputInfoTag |
80 | 9.2.88 mediaWhitePointTag 9.2.89 metadataTag 9.2.90 MToA0Tag |
81 | 9.2.91 MToB0Tag 9.2.92 MToB1Tag 9.2.93 MToB2Tag |
82 | 9.2.94 MToB3Tag 9.2.95 MToS0Tag 9.2.96 MToS1Tag |
83 | 9.2.97 MToS2Tag 9.2.98 MToS3Tag 9.2.99 namedColorTag |
84 | 9.2.100 perceptualRenderingIntentGamutTag 9.2.101 profileDescriptionTag 9.2.102 profileSequenceInformationTag 9.2.103 referenceNameTag |
85 | 9.2.104 saturationRenderingIntentGamutTag 9.2.105 spectralViewingConditionsTag 9.2.106 spectralWhitePointTag 9.2.107 standardToCustomPccTag |
86 | 9.2.108 surfaceMapTag 9.2.109 technologyTag 10 Tag type definitions 10.1 General 10.2 Specific tag type listing 10.2.1 colorantOrderType |
87 | 10.2.2 curveType |
88 | 10.2.3 dataType 10.2.4 dateTimeType 10.2.5 dictType |
90 | 10.2.6 embeddedHeightImageType |
91 | 10.2.7 embeddedNormalImageType |
92 | 10.2.8 float16ArrayType |
93 | 10.2.9 float32ArrayType 10.2.10 float64ArrayType 10.2.11 gamutBoundaryDescriptionType |
94 | 10.2.12 lutAToBType |
97 | 10.2.13 lutBToAType |
100 | 10.2.14 measurementType |
102 | 10.2.15 multiLocalizedUnicodeType 10.2.16 multiProcessElementsType |
103 | 10.2.17 parametricCurveType |
105 | 10.2.18 s15Fixed16ArrayType 10.2.19 signatureType 10.2.20 sparseMatrixArrayType |
106 | 10.2.21 spectralViewingConditionsType |
108 | 10.2.22 tagArrayType |
109 | 10.2.23 tagStructType 10.2.24 u16Fixed16ArrayType |
110 | 10.2.25 uInt16ArrayType 10.2.26 uInt32ArrayType 10.2.27 uInt64ArrayType |
111 | 10.2.28 uInt8ArrayType 10.2.29 utf16Type 10.2.30 utf8Type 10.2.31 utf8ZipType |
112 | 10.2.32 XYZType 10.2.33 zipXmlType |
113 | 11 multiProcessingElementType definitions 11.1 General 11.2 Specific processing element listing 11.2.1 calculatorElement |
128 | 11.2.2 curveSetElement |
131 | 11.2.3 CLUTElement 11.2.4 emissionCLUTElement |
133 | 11.2.5 emissionMatrixElement |
135 | 11.2.6 emissionObserverElement |
136 | 11.2.7 extendedCLUTElement 11.2.8 inverseEmissionMatrixElement |
138 | 11.2.9 JabToXYZElement |
139 | 11.2.10 matrixElement 11.2.11 sparseMatrixElement |
140 | 11.2.12 reflectanceCLUTElement |
142 | 11.2.13 reflectanceObserverElement |
144 | 11.2.14 tintArrayElement 11.2.15 XYZToJabElement |
145 | 11.2.16 “Future” expansion elements |
146 | 12 Struct tag type definitions 12.1 General 12.2 Struct tag type listing 12.2.1 brdfTransformStructure |
152 | 12.2.2 colorantInfoStructure |
153 | 12.2.3 colorEncodingParamsStructure |
158 | 12.2.4 measurementInfoStructure |
160 | 12.2.5 namedColorStructure |
166 | 12.2.6 profileInfoStructure |
169 | 12.2.7 tintZeroStructure |
171 | 13 Tag Array Type definitions 13.1 General 13.2 Tag array indentifier type listing 13.2.1 namedColorArray 13.2.2 profileInfoArray |
172 | Annex A (informative) Elemental calculations and inter-PCS operations |
197 | Annex B (informative) Gamut Boundary Description |
200 | Annex C (informative) ICC colour appearance model transformations |
202 | Annex D (informative) Named colour profiles |
204 | Annex E (informative) Sparse matrix operations |
208 | Annex F (informative) calculatorElement text representation and examples |
212 | Annex G (informative) BRDF overview and description |
222 | Annex H (informative) Directional emissive colour |
223 | Annex I (informative) Multiplex connection spaces |
228 | Annex J (informative) ColorEncodingSpace profiles |
229 | Annex K (informative) Workflow scenarios and CMM processing control options |
234 | Bibliography |