IEC 61966-2-1:1999/AMD1:2003
(Amendment)Amendment 1 - Multimedia systems and equipment - Colour measurement and management - Part 2-1: Colour management - Default RGB colour space - sRGB
Amendment 1 - Multimedia systems and equipment - Colour measurement and management - Part 2-1: Colour management - Default RGB colour space - sRGB
General Information
Relations
Standards Content (Sample)
INTERNATIONAL IEC
STANDARD
61966-2-1
AMENDMENT 1
2003-01
Amendment 1
Multimedia systems and equipment –
Colour measurement and management –
Part 2-1:
Colour management –
Default RGB colour space - sRGB
Amendement 1
Mesure et gestion de la couleur dans les systèmes
et appareils multimédia –
Partie 2-1:
Gestion de la couleur –
Espace chromatique RVB par défaut - sRVB
IEC 2003 Droits de reproduction réservés Copyright - all rights reserved
International Electrotechnical Commission, 3, rue de Varembé, PO Box 131, CH-1211 Geneva 20, Switzerland
Telephone: +41 22 919 02 11 Telefax: +41 22 919 03 00 E-mail: inmail@iec.ch Web: www.iec.ch
PRICE CODE
P
For price, see current catalogue
– 2 – 61966-2–1 Amend. 1 IEC:2003(E)
FOREWORD
This amendment has been prepared by Technical Area 2: Colour measurement and
management, of IEC technical committee 100: Audio, video and multimedia systems
and equipment and ISO TC 42: Photography.
The text of this amendment is based on the following documents:
FDIS Report on voting
100/555A/FDIS 100/625/RVD
Full information on the voting for the approval of this amendment can be found in the report on
voting indicated in the above table.
It is published as a double logo standard.
In the ISO the Standard has been approved by 10 P-members out of 10 having cast the vote.
_____________
Page 5
CONTENTS
Add the titles of Annexes F, G and H as follows:
Annex F (normative) Default YCC encoding transformation for a standard luma-chroma-
chroma colour space: sYCC
Annex G (informative) Extended gamut encoding for sRGB: bg-sRGB and its YCC
transformation: bg-sYCC
Annex H (informative) CIELAB (L*a*b*) transformation
Page 49
Add the following new Annexes F, G and H after Annex E:
61966-2–1 Amend. 1 IEC:2003(E) – 3 –
Annex F
(normative)
Default YCC encoding transformation for a
standard luma-chroma-chroma colour space: sYCC
The method of digitization in this annex is designed to complement current sRGB-based colour
management strategies by explicitly standardizing a default transformation between sRGB and
a standard luma-chroma-chroma colour space (sYCC). Application and hardware developers
who want to support various colour compression schemes based on luma-chroma-chroma
spaces can utilize this annex. Since this sYCC colour space is a simple extension of the sRGB
colour space as defined in this standard, the same reference conditions are shared by both
colour spaces.
F.1 General
The encoding transformations between sYCC values and CIE 1931 XYZ values provide
unambiguous methods to represent optimum image colorimetry when viewed on a hypothetical
reference display that is capable of producing all colours defined by sYCC encoding, in the
reference viewing conditions by the reference observer. Non-linear floating point sR′G′B′
represent the appearance of the image as displayed on the reference display in the reference
viewing condition described in Clause 4 of this standard.
F.2 Transformation from sYCC values ( Y , Cb , Cr ) to CIE 1931 XYZ
sYCC sYCC sYCC
values
The non-linear sY′C ′C′ values can be computed using the following relationship:
b r
′
Y =()Y − KDC(WDC − KDC)
sYCC sYCC
′ (F.1)
Cb =()Cb − Offset Range
sYCC sYCC
Cr′ =()Cr − Offset Range
sYCC sYCC
For 24-bit encoding (8-bit/channel), WDC = 255, KDC = 0, Range = 255, and Offset = 128, and
the relationship is defined as;
′
Y = (Y − 0)()255 − 0 = Y 255
sYCC sYCC sYCC
(8) (8)
Cb′ =()Cb −128 255 (F.2)
sYCC sYCC
(8)
′
Cr =()Cr −128 255
sYCC sYCC
(8)
24-bit encoding (8-bit/channel) shall be the default sYCC encoding bit depth. Other bit depths
may be unsupported for general use.
Where other N-bit/channel encoding is supported ( N > 8), the relationship is defined as;
– 4 – 61966-2–1 Amend. 1 IEC:2003(E)
N
′
Y = Y (2 −1)
sYCC sYCC
(N)
N −1 N
Cb′ =()Cb − 2 ()2 −1 (F.2′)
sYCC sYCC
(N)
N −1 N
′
Cr =()Cr − 2 ()2 −1
sYCC sYCC
(N)
For 24-bit encoding (8-bit/channel), the non-linear sY′C ′C′ values are transformed to the non-
b r
linear sR′G′B′ values as follows;
R′ 1,000 0 0,000 0 1,402 0 Y ′
sRGB sYCC
′ ′
G = 1,000 0 − 0,344 1 − 0,714 1 Cb (F.3)
sRGB sYCC
′ ′
B 1,000 0 1,772 0 0,000 0 Cr
sRGB sYCC
For N-bit/channel encoding ( N > 8), it is recommended to replace the matrix coefficients in the
equation F.3 with the coefficients of the inverse matrix of the equation F.12 with enough
accuracy decimal points. For example, following matrix with 6 decimal points has enough
accuracy for the case of 16-bit/channel.
R′ 1,000 000 0,000 037 1,401 988 Y ′
sRGB sYCC
′ ′
G = 1,000 000 − 0,344 113 − 0,714 104 Cb (F.3′)
sRGB sYCC
B′ 1,000 000 1,771 978 0,000 135 Cr′
sRGB sYCC
The non-linear sR′G′B′ values are then transformed to CIE 1931 XYZ values as follows:
′ ′ ′
If R ,G ,B < −0,040 45
sRGB sRGB sRGB
2,4
′
()− R + 0,055
sRGB
R = −
sRGB
1,055
2,4
′
()− G + 0,055
sRGB
G = − (F.4)
sRGB
1,055
2,4
′
()− B + 0,055
sRGB
B = −
sRGB
1,055
′ ′ ′
If − 0,040 45 ≤ R ,G , B ≤ 0,040 45 ,
sRGB sRGB sRGB
′
R = R ÷12,92
sRGB sRGB
′
G = G ÷12,92 (F.5)
sRGB sRGB
′
B = B ÷12,92
sRGB sRGB
′ ′ ′
If R ,G , B > 0,040 45 ,
sRGB sRGB sRGB
2,4
′
()R + 0,055
sRGB
R =
sRGB
1,055
2,4
′
()G + 0,055
sRGB
G = (F.6)
sRGB
1,055
2,4
′
()B + 0,055
sRGB
B =
sRGB
1,055
61966-2–1 Amend. 1 IEC:2003(E) – 5 –
For 24-bit encoding (8-bit/channel), the linear sRGB values are transformed to CIE 1931 XYZ
values as follows:
X 0,412 4 0,357 6 0,180 5R
sRGB
Y = 0,212 6 0,715 2 0,072 2 G (F.7)
sRGB
Z 0,019 3 0,119 2 0,950 5 B
sRGB
F.3 Transformation from CIE 1931 XYZ values to sYCC values
( Y , Cb , Cr )
sYCC sYCC sYCC
The CIE 1931 XYZ values can be transformed to non-linear sR′G′B′ values as follows
R 3,240 6 −1,537 2 − 0,498 6 X
sRGB
G = − 0,968 9 1,875 8 0,041 5 Y (F.8)
sRGB
B 0,055 7 − 0,204 0 1,057 0 Z
sRGB
For N-bit/channel encoding ( N > 8), it is recommended to replace the matrix coefficients in the
equation F.8 with the coefficients of the inverse matrix of the equation F.7 with enough
accuracy decimal points. For example, following matrix with 7 decimal points has enough
accuracy for the case of 16-bit/channel.
R 3,240 625 5 −1,537 208 0 − 0,498 628 6 X
sRGB
G = − 0,968 930 7 1,875 756 1 0,041 517 5 Y (F.8′)
sRGB
B 0,055 710 1 − 0,204 021 1 1,056 995 9 Z
sRGB
In the sYCC encoding process, negative sRGB tristimulus values, and sRGB tristimulus values
greater than 1,0 are retained.
If R ,G , B < −0,003 130 8
sRGB sRGB sRGB
()1,0 / 2,4
′
R = −1,055 ×()− R + 0,055
sRGB sRGB
()1,0 / 2,4
′ () (F.9)
G = −1,055 × − G + 0,055
sRGB sRGB
()1,0 / 2,4
′
B = −1,055 ×()− B + 0,055
sRGB sRGB
If − 0,003 130 8 ≤ R ,G , B ≤ 0,003 130 8 ,
sRGB sRGB sRGB
′
R = 12,92 × R
sRGB sRGB
G′ = 12,92 × G (F.10)
sRGB sRGB
′
B = 12,92 × B
sRGB sRGB
– 6 – 61966-2–1 Amend. 1 IEC:2003(E)
If R ,G ,B > 0,003 130 8 ,
sRGB sRGB sRGB
()1,0 / 2,4
′
R = 1,055 ×()R − 0,055
sRGB sRGB
()1,0 / 2,4
′ () (F.11)
G = 1,055 × G − 0,055
sRGB sRGB
()1,0 / 2,4
′
B = 1,055 ×()B − 0,055
sRGB sRGB
The relationship between non-linear sRGB and sYCC is defined as follows:
Y ′ 0,299 0 0,587 0 0,114 0 R′
sYCC sRGB
′ ′
Cb = − 0,168 7 − 0,331 3 0,500 0 G (F.12)
sYCC sRGB
Cr′ 0,500 0 − 0,418 7 − 0,081 3 B′
sYCC sRGB
NOTE The coefficients in equation F.12 are from ITU-R BT.601-5. The ITU-R BT.601-5 defines Y′ of YCC to the
three decimal place accuracy. An additional decimal place is defined above to be consistent with the other matrix
coefficients defined in this standard.
And quantization for sYCC is defined as;
′
Y = round[]()WDC − KDC × Y + KDC
sYCC sYCC
′
Cb = round[]()Range × Cb + Offset (F.13)
sYCC sYCC
[]()′
Cr = round Range × Cr + Offset
sYCC sYCC
For 24-bit encoding (8-bit/channel), the relationship is defined as:
Y = round[]()255 − 0 × Y ′ + 0 = round[255 × Y ′]
sYCC sYCC sYCC
(8)
′ (F.14)
Cb = round[]()255 × Cb + 128
sYCC sYCC
(8)
′
Cr = round[]()255 × Cr + 128
sYCC sYCC
(8)
For 24-bit encoding, the sYCC values shall be limited to a range from 0 to 255 after equation
(8)
F.14.
24-bit encoding (8-bit/channel) shall be the default sYCC encoding bit depth. Other bit depths
may be unsupported in general use.
Where other N-bit/channel encoding is supported ( N > 8 ), the relationship is defined as;
N
′
Y = round[(2 −1)×Y ]
sYCC sYCC
(N)
N N −1
[]()() ′ (F.14′)
Cb = round 2 −1 × Cb + 2
sYCC sYCC
(N)
N N −1
′
Cr = round[]()()2 −1 × Cr + 2
sYCC sYCC
(N)
For N-bit/channel encoding ( N > 8), the sYCC values shall be limited to a range from 0 to
(N)
N
2 –1 after equation F.14′.
61966-2–1 Amend. 1 IEC:2003(E) – 7 –
F.4 Transformation from 8-bit sYCC values ( Y , Cb , Cr )
sYCC sYCC sYCC
(8) (8) (8)
to 8-bit sRGB values ( R , G , B )
sRGB(8) sRGB(8) sRGB(8)
Y ′ = Y 255
sYCC sYCC
(8)
′
Cb =()Cb −128 255 (F.15)
sYCC sYCC
(8)
Cr′ =()Cr −128 255
sYCC sYCC
(8)
′ ′
R 1,000 0 0,000 0 1,402 0 Y
sRGB sYCC
′ ′ (F.16)
G = 1,000 0 − 0,344 1 − 0,714 1 Cb
sRGB sYCC
′ ′
B 1,000 0 1,772 0 0,000 0 Cr
sRGB sYCC
′
R = round(255 × R )
sRGB(8) sRGB
G = round(255 × G′ ) (F.17)
sRGB(8) sRGB
′
B = round(255 × B )
sRGB(8) sRGB
NOTE Since 8 bit sYCC values are not limited by the gamut of 8 bit sRGB values, some kind of mapping is
needed for the colours that contains over-ranged non-linear floating point sR′G′B′ tristimulus values (under 0,0 or
over 1,0), when converting 8 bit sYCC to 8 bit sRGB.
F.5 Transformation from 8-bit sRGB values ( R , G , B )
sRGB(8) sRGB(8) sRGB(8)
to 8-bit sYCC values ( )
Y , Cb , Cr
sYCC sYCC sYCC
(8) (8) (8)
′
R = R 255
sRGB sRGB(8)
′
G = G 255 (F.18)
sRGB sRGB(8)
′
B = B 255
sRGB sRGB(8)
Y ′ 0,299 0 0,587 0 0,114 0 R′
sYCC sRGB
′ ′
Cb = − 0,168 7 − 0,331 3 0,500 0 G (F.19)
sYCC sRGB
Cr′ 0,500 0 − 0,418 7 − 0,081 3 B′
sYCC sRGB
Y = round()255 × Y ′
sYCC sYCC
(8)
′ (F.20)
Cb = round[]()255 × Cb + 128
sYCC sYCC
(8)
′
Cr = round[]()255 × Cr + 128
sYCC sYCC
(8)
– 8 – 61966-2–1 Amend. 1 IEC:2003(E)
Annex G
(informative)
Extended gamut encoding for sRGB: bg-sRGB
and its YCC transformation: bg-sYCC
G.1 General
This annex provides equations necessary for extended gamut encoding for sRGB. While the
main body of this standard imply that extended gamut encoding is possible by replacing the
KDC and WDC variables in equations 2 and 11, no clear recommendation is given. This annex
provides such specific recommendations, where for 10 bits, KDC = 384 and WDC = 894
(N −3) (N −9)
(KDC= 3× 2 and WDC= 255× 2 +KDC, for N bits where N > 10). This encoding is
called bg-sRGB, and its YCC transformation is called bg-sYCC.
G.2 Transformation from bg-sRGB values ( R , G , B )
bg-sRGB bg-sRGB bg-sRGB
to CIE 1931 XYZ values
The non-linear floating point sR′G′B′ values can be computed using following relationship
′ ()
R = (R − KDC ) WDC − KDC
sRGB bg-sRGB
′
G =()G − KDC()WDC − KDC (G.1)
sRGB bg-sRGB
′
B =()B − KDC()WDC − KDC
sRGB bg-sRGB
For 30-bit encoding (10-bit/channel), WDC = 894, KDC = 384, and the relationship is defined as;
(R − 384)
bg-sRGB
(10)
′
R =
sRGB
()
G − 384
bg-sRGB
(10)
′
G = (G.2)
sRGB
()B − 384
bg-sRGB
(10)
B′ =
sRGB
30-bit encoding (10-bit/channel) shall be the default bg-sRGB encoding bit depth. Other bit
depths may be unsupported in general use.
Where other N-bit/channel encoding is supported ( N > 10 ), the relationship is defined as;
(N −3)
(R − (3× 2 ))
bg-sRGB
(N)
′
R =
sRGB
(N −9)
255 × 2
(N −3)
()G −()3× 2
bg-sRGB
(N)
G′ = (G.2’)
sRGB
(N −9)
255 × 2
(N −3)
()()
B − 3× 2
bg-sRGB
(N0)
′
B =
sRGB
(N −9)
255× 2
61966-2–1 Amend. 1 IEC:2003(E) – 9 –
The non-linear sR′G′B′ values are then transformed to CIE 1931 XYZ values as follows:
′ ′ ′
If R ,G , B < −0,040 45
sRGB sRGB sRGB
2,4
()− R′ + 0,055
sRGB
R = −
sRGB
1,055
2,4
()− G′ + 0,055
sRGB
G = − (G.3)
sRGB
1,055
2,4
()− B′ + 0,055
sRGB
B = −
sRGB
1,055
′ ′ ′
If − 0,040 45 ≤ R ,G , B ≤ 0,040 45 ,
sRGB sRGB sRGB
′
R = R ÷12,92
sRGB sRGB
′
G = G ÷12,92 (G.4)
sRGB sRGB
′
B = B ÷12,92
sRGB sRGB
′ ′ ′
If R ,G , B > 0,040 45 ,
sRGB sRGB sRGB
2,4
()R′ + 0,055
sRGB
R =
sRGB
1,055
2,4
()G′ + 0,055
sRGB
G = (G.5)
sRGB
1,055
2,4
()B′ + 0,055
sRGB
B =
sRGB
1,055
For 24-bit encoding (8-bit/channel), the linear sRGB values are transformed to CIE 1931 XYZ
values as follows:
X 0,412 4 0,357 6 0,180 5 R
sRGB
Y = 0,212 6 0,715 2 0,072 2 G (G.6)
sRGB
Z 0,019 3 0,119 2 0,950 5 B
sRGB
G.3 Transformation from CIE 1931 XYZ values to bg-sRGB values
( R , G , B )
bg-sRGB bg-sRGB bg-sRGB
The CIE 1931 XYZ values can be transformed to non-linear sR′G′B′ values as follows
R 3,240 6 −1,537 2 − 0,498 6X
sRGB
G = − 0,968 9 1,875 8 0,041 5 Y (G.7)
sRGB
B 0,055 7 − 0,204 0 1,057 0 Z
sRGB
– 10 – 61966-2–1 Amend. 1 IEC:2003(E)
For N-bit/channel encoding ( N > 10), it is recommended to replace the matrix coefficients in
the equation G.7 with the coefficients of the inverse matrix of the equation G.6 with enough
accuracy decimal points. For example, following matrix with 7 decimal points has enough
accuracy for the case of 16-bit/channel.
R 3,240 625 5 −1,537 208 0 − 0,498 628 6 X
sRGB
(G.7′)
G = − 0,968 930 7 1,875 756 1 0,041 517 5 Y
sRGB
B 0,055 710 1 − 0,204 021 1 1,056 995 9 Z
sRGB
In the bg-sRGB encoding process, negative sRGB tristimulus values, and sRGB tristimulus
values greater than 1,0 are retained.
If R ,G ,B < −0,003130 8
sRGB sRGB sRGB
(1,0 / 2,4)
′
R = −1,055 ×()− R + 0,055
sRGB sRGB
(1,0 / 2,4)
G′ = −1,055 ×()− G + 0,055 (G.8)
sRGB sRGB
(1,0 / 2,4)
′
B = −1,055 ×()− B + 0,055
sRGB sRGB
If − 0,003130 8 ≤ R ,G , B ≤ 0,003130 8 ,
sRGB sRGB sRGB
R′ = 12,92 × R
sRGB sRGB
G′ = 12,92 × G (G.9)
sRGB sRGB
′
B = 12,92 × B
sRGB sRGB
If R ,G ,B > 0,003130 8 ,
sRGB sRGB sRGB
(1,0 / 2,4)
′ ()
R = 1,055 × R − 0,055
sRGB sRGB
(1,0 / 2,4)
′
G = 1,055 ×()G − 0,055 (G.10)
sRGB sRGB
(1,0 / 2,4)
B′ = 1,055 ×()B − 0,055
sRGB sRGB
Quantization for bg-sRGB is defined as;
[]′
R = round()WDC − KDC × R + KDC
bg-sRGB sRGB
′
G = round[]()WDC − KDC × G + KDC (G.11)
bg-sRGB sRGB
′
B = round[]()WDC − K
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.