Luminance-normalised colour spaces
A method of processing image data for an image, the image data including colour data expressed in a first colour space, transforms the colour data to a luminance-normalised colour space, and performs one or more image processing operations on the transformed colour data to generate processed image data.
1. An apparatus for processing image data for an image, wherein the image data comprises colour data expressed in a first colour space, the apparatus comprising:
a transformation unit configured to transform the colour data expressed in the first colour space to transformed colour data expressed in a lum inance-normalised colour space comprising a luminance component, a first luminance-normalised chrominance component and a second luminance-normalised chrominance component; and
one or more processing units configured to perform one or more processing operations on the transformed colour data expressed in the luminance-normalised colour space to generate processed image data, wherein the one or more processing units comprises a correction unit configured to apply a gamma correction to the luminance component of the transformed colour data.
2. An apparatus as claimed in claim 1 , wherein the apparatus further comprises a second transformation unit configured to transform the processed image data to the first colour space.
3. An apparatus as claimed in claim 1 , wherein the chrominance components are dependent on the luminance.
4. An apparatus as claimed in claim 1 , wherein the luminance-normalised colour space is a luminance-normalised version of a YCbCr colour space.
5. An apparatus as claimed in claim 1 , wherein the luminance-normalised colour space has components:
Y
=
K
R
R
+
K
g
G
+
K
B
B
;
Cr
~
=
R
-
Y
YN
R
;
Cb
~
=
B
-
Y
YN
B
,
where R, G and B are red, green and blue colour components respectively, Y is the luminance component, and are luminance-normalised chrominance components and K R , K g , K R and N B are constants.
6. An apparatus as claimed in claim 1 , wherein the luminance-normalised colour space has components:
Y
′
=
K
R
R
′
+
K
g
G
′
+
K
B
B
′
;
Cr
~
=
R
′
-
Y
′
Y
′
N
R
;
Cb
~
=
B
′
-
Y
′
Y
′
N
B
,
where R′, G′ and B′ are gamma-corrected red, green and blue colour components respectively, Y′ is the gamma-corrected luminance, and are luminance-normalised chrominances and K R , K g , K B , N R and N B are constants.
7. An apparatus as claimed in claim 1 , wherein the colour data is expressed in an RGB colour space and is in fixed point format, and the transformation unit is configured to apply one of the following transformations to the colour data to transform the colour data to the luminance-normalised colour space:
Y
←
(
k
R
R
+
k
G
G
+
k
B
B
+
2
o
-
1
)
2
-
o
←
(
l
R
(
R
-
Y
)
)
Y
-
1
←
(
l
B
(
B
-
Y
)
)
Y
-
1
where
k
R
=
int
(
2
o
K
R
)
,
k
G
=
int
(
2
o
K
G
)
,
k
B
=
2
o
-
k
R
-
k
G
,
l
R
=
int
(
2
p
N
r
)
,
l
B
=
int
(
2
p
N
b
)
(
1
)
and o and p are specified integer values; or
Y
′
←
(
k
R
R
′
+
k
G
G
′
+
k
B
B
′
+
2
o
-
1
)
2
-
o
←
(
l
R
(
R
′
-
Y
′
)
)
Y
-
1
←
(
l
B
(
B
′
-
Y
′
)
)
Y
-
1
where
k
R
=
int
(
2
o
K
R
)
,
k
G
=
int
(
2
o
K
G
)
,
k
B
=
2
o
-
k
R
-
k
G
,
l
R
=
int
(
2
p
N
r
)
,
l
B
=
int
(
2
p
N
b
)
;
(
2
)
o and p are specified integer values; and R′ G′ and B′ are gamma-corrected red, green and blue colour components respectively.
8. An apparatus as claimed in claim 7 , wherein the colour data comprises a set of n-bit RGB colour values, and the transformed colour data comprises a set of colour values each having and values, the transformation unit being configured to output m-bit and values, where m≥n.
9. An apparatus as claimed in claim 8 , wherein m≥n+6.
10. An apparatus as claimed in claim 7 , wherein k R =k G =1,N r =N b =1,o=1.
11. An apparatus as claimed in claim 10 , wherein the colour data comprises a set of n-bit RGB colour values, and the transformed colour data comprises a set of colour values each having and values, the transformation unit being configured to output m-bit and values, where m=n+1.
12. An apparatus as claimed in claim 1 , wherein the one or more processing units comprises a filtering unit configured to filter luminance-normalised chrominance channels of the transformed colour data.
13. An apparatus as claimed in claim 1 , wherein at least one of the one or more processing units is configured to perform a processing operation comprising determining a median value of a plurality of luminance-normalised chrominance values of pixels within a kernel.
14. An apparatus as claimed claim 1 , wherein the transformation unit is configured to perform a division operation to divide one or more chrominance values for a pixel by a luminance value for the pixel as part of transforming the colour data to a luminance-normalised colour space.
15. An apparatus as claimed in claim 14 , wherein the transformation unit is configured to implement the division operation using a CORDIC algorithm, the transformation unit being configured to determine the number of iterations of the CORDIC algorithm based on the range of possible luminance-normalised chrominance values in the luminance-normalised colour space.
16. A method of processing image data for an image in an image processor, the method comprising:
receiving the image data, wherein the image data comprises colour data expressed in a first colour space;
transforming the colour data expressed in the first colour space to transformed colour data expressed in a luminance-normalised colour space comprising a luminance component, a first luminance-normalised chrominance component and a second luminance-normalised chrominance component; and
performing one or more image processing operations on the transformed colour data expressed in the luminance-normalised colour space to generate processed image data, comprising applying a gamma correction to the luminance component of the transformed colour data.
17. A method as claimed in claim 16 , wherein the method further comprises transforming the processed image data to the first colour space.
18. A method as claimed in claim 16 , wherein the chrominance components are dependent on the luminance.
19. A non-transitory computer readable storage medium having stored thereon computer readable instructions that, when executed at a computer system, cause the computer system to perform a method of processing image data for an image, comprising:
receiving the image data, wherein the image data comprises colour data expressed in a first colour space;
transforming the colour data expressed in the first colour space to transformed colour data expressed in a luminance-normalised colour space comprising a luminance component, a first luminance-normalised chrominance component and a second luminance-normalised chrominance component; and
performing one or more image processing operations on the transformed colour data expressed in the luminance-normalised colour space to generate processed image data, comprising applying a gamma correction to the luminance component of the transformed colour data.