SlideShare a Scribd company logo
1 of 27
Download to read offline
xvYCC Implementation in the
RGB color space
Shereef Shehata
1
Why use xvYCC? Better Gamut coverage
sRGB
xvYCC
2
What is the color gamut
The gamut of any RGB system is mostly visualized by a triangle in xyY. For different luminances
Y=const (or CIECAM02 J = const), we get the intersection of a vertical plane and the RGB cube. The intersection
delivers a polygon. These polygons are projected onto the xy-plane.
3
xvYCC space for 8-bit representation
• 0<Y_xvYCC_8 < 255
• 0<Cb_xvYCC_8 < 255
• 0<Cr_xvYCC_8 < 255
4
xvYCC space for 8-bit representation
• 0<Y_xvYCC_8 < 255
• 0<Cb_xvYCC_8 < 255
• 0<Cr_xvYCC_8 < 255
Original space in
blue(RGB in [0,1])
Expanded space in
yellow
A plane describing
R = 1.0
A plane describing
R = 0.
5
xvYCC space for 8-bit representation
• 0<Y_xvYCC_8 < 255
• 0<Cb_xvYCC_8 < 255
• 0<Cr_xvYCC_8 < 255
Original space in
blue(RGB in [0,1])
Expanded space in
yellow
A Plane
Describing
B = 1.0
A plane
Describing
B = 0.
6
Extended YCC space: normalized 0:1
representation (gamma corrected)
• -0.068< Y’ < 1.086758
• -0.566964< Cb’ < 0.562500
• -0.566964< Cr’ < 0.562500
• Y’Cb’Cr’ are gamma corrected
7
xvYCC RGB space: normalized 0:1 representation
(gamma corrected, REC.709)
• -0.9614< R_gamma < 1.9726
• -0.4213< G_gamma < 1.4583
• -1.1206< B_gamma < 2.1306
• Nonlinear gamma exist










⋅










−−=










'
'
'
08556.11
4681.01873.01
5748.101
_
_
_
Cr
Cb
Y
gammaB
gammaG
gammaR
8
Gamma corrected RGB space: Original vs. xvYCC
• Original RGB space 0<R_gamma, G_gamma, B_gamma < 1: in blue
• Nonlinear gamma exist
Expanded RGB space: in yellow
9
Linear RGB space: Original vs. xvYCC
• Original Linear RGB space 0<R_lin, G_lin, B_lin < 1: shown in blue
• After de-gamma is performed
Expanded linear
RGB space:
Shown in yellow
10
Rec.709: Original Gamma function
• The gamma definition as of Rec.709
11
Gamma function for xvYCC
• The same gamma definition as Rec.709
• Due to the extended range: requires more dynamic range
12
Gamma Mapping for xvYCC
•The values around Zero expanded & larger
values are compressed (when gamma is
applied)
13
De-Gamma Mapping for xvYCC
•The values around Zero are compressed &
larger values are expanded (when degamma
is applied)
14
xvYCC space: Effect on the Red (with gamma)
component
• R_gamma >1 is shown in blue
• R_gamma < 0 is shown in yellow
• 0<R_gamma<1 is shown in red
• R_gamma is gamma corrected Red
Specular Red >1 Negative
Red
Original Red Range
Original space
Shown in black
15
xvYCC space: Effect on the Red (with gamma)
component
• R_gamma >1 is shown in blue
• R_gamma < 0 is shown in yellow
• 0<R_gamma<1 is shown in red
Specular Red>1
(blue)
Negative
Red (yellow)
Original Red Range
(shown in red, 0<R<1)
Original space, RGB
[0,1] (black)
G<0 and B<0
0<R<1.0 (cyan)
G>1 and B>1
0<R<1 (magenta)
16
xvYCC space: Effect on the Red (with gamma)
component
• R_gamma >1 is shown in blue
• R_gamma < 0 is shown in yellow
• 0<R_gamma<1 is shown in red
Specular Red>1
(blue)
Negative
Red (yellow)Original space, RGB
[0,1] (black)
G<0 or B<0 and
0<R<1.0 (cyan)
G>1 or B>1 and
0<R<1 (magenta)
17
18
TI Proprietary- Strictly
xvYCC space: Effect on the Blue (with gamma)
component
• B_gamma >1 is shown in blue
• B_gamma < 0 is shown in yellow
• 0<B_gamma<1 is shown in red
• B_gamma is gamma corrected B
Negative
Blue
Original Blue Range
Specular Blue>1
Original space
Shown in black
xvYCC space: Effect on the Blue (with gamma)
component
Negative Blue (yellow)
Original Blue Range
[0,1] (red)
Specular Blue
>1
R,G,B
in [0,1]
Shown in
(Black)
R?,G? and 0<B<1
R?,G? and 0<B<1
19
xvYCC space: Effect on the Blue (with gamma)
component
Negative Blue (shown
in yellow)
Original Blue Range
[0,1] shown in (red)
Specular Blue>1
(blue)
R,G,B
in [0,1]
Shown in
Black
R>1,G>1 and 0<B<1
(magenta)
0<B<1,
R<0,G<0
(cyan)
20
xvYCC space: Effect on the Blue (with gamma)
component
Negative Blue
(shown in yellow)
Specular Blue>1
(blue)
R,G,B in [0,1]
(Black)
0<B<1 and Either R>1 or G>1
(magenta)
0<B<1 and
Either
R<0 or G<0
(cyan)
21
xvYCC space: Effect on the Green (with gamma)
component
• G_gamma >1 is shown in blue
• G_gamma < 0 is shown in yellow
• 0<G_gamma<1 is shown in red
• G_gamma is gamma corrected G
Negative
Green
Original Green Range
Specular Green >1
Original space
Shown in black
22
xvYCC space: Effect on the Green (with gamma)
component
• G_gamma >1 is shown in blue
• G_gamma < 0 is shown in yellow
• 0<G_gamma<1 is shown in red
• G_gamma is gamma corrected G
Negative
Green
Original Green Range
Specular Green >1
Original space
Shown in black
23
xvYCC space: Effect on the Green (linear)
component
• G_lin >1 is shown in blue
• G_lin < 0 is shown in yellow
• 0<G_lin<1 is shown in red
• G_lin is gamma corrected G
Negative
Green
Original Green Range
Specular Green>1
Original space
Shown in black
24
xvYCC space: Effect on the Green (gamma)
component
Negative
Green
Original Green Range
0<G<1
Specular Green>1
25
xvYCC space: Effect on the Green (gamma)
component
Negative Green
(yellow)
Original RGB Range
(black)
Specular Green>1
(blue)
0<G<1, Both R<0 and
B <0 (cyan)
0<G<1, Both
R>1 and B>1
(magenta)
Original Green Range
0<G<1 (red)
26
xvYCC space: Effect on the Green (gamma)
component
Negative Green
(yellow)
Original RGB Range
(black)
Specular Green>1
(blue)
0<G<1, Either
R<0 or B <0
(cyan)
0<G<1, Either
R>1 or B>1
(magenta)
27

More Related Content

What's hot

Histogram equalization
Histogram equalizationHistogram equalization
Histogram equalization11mr11mahesh
 
Tao Fayan_Iso and Full_volume rendering
Tao Fayan_Iso and Full_volume renderingTao Fayan_Iso and Full_volume rendering
Tao Fayan_Iso and Full_volume renderingFayan TAO
 
The Problems of Constructing Optimal Onboard Colored RGB Depicting UAV Systems
The Problems of Constructing Optimal Onboard Colored RGB Depicting UAV SystemsThe Problems of Constructing Optimal Onboard Colored RGB Depicting UAV Systems
The Problems of Constructing Optimal Onboard Colored RGB Depicting UAV SystemsIRJESJOURNAL
 
Histogram based enhancement
Histogram based enhancementHistogram based enhancement
Histogram based enhancementliba manopriya.J
 
Generation and weighting of 3D point correspondences for improved registratio...
Generation and weighting of 3D point correspondences for improved registratio...Generation and weighting of 3D point correspondences for improved registratio...
Generation and weighting of 3D point correspondences for improved registratio...Kourosh Khoshelham
 
DIGITAL SIGNAL PROCESSING - Day 3 colour Image processing
DIGITAL SIGNAL PROCESSING - Day 3 colour Image processingDIGITAL SIGNAL PROCESSING - Day 3 colour Image processing
DIGITAL SIGNAL PROCESSING - Day 3 colour Image processingvijayanand Kandaswamy
 
"The Perspective Transform in Embedded Vision," a Presentation from Cadence
"The Perspective Transform in Embedded Vision," a Presentation from Cadence"The Perspective Transform in Embedded Vision," a Presentation from Cadence
"The Perspective Transform in Embedded Vision," a Presentation from CadenceEdge AI and Vision Alliance
 
Visual Impression Localization of Autonomous Robots_#CASE2015
Visual Impression Localization of Autonomous Robots_#CASE2015Visual Impression Localization of Autonomous Robots_#CASE2015
Visual Impression Localization of Autonomous Robots_#CASE2015Soma Boubou
 
A Comparative Study of Histogram Equalization Based Image Enhancement Techniq...
A Comparative Study of Histogram Equalization Based Image Enhancement Techniq...A Comparative Study of Histogram Equalization Based Image Enhancement Techniq...
A Comparative Study of Histogram Equalization Based Image Enhancement Techniq...Shahbaz Alam
 
Memory mapping plan
Memory mapping planMemory mapping plan
Memory mapping planJames Chang
 
Computer Graphics Part1
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1qpqpqp
 
ICPR2014-Poster
ICPR2014-PosterICPR2014-Poster
ICPR2014-PosterBo Dong
 
Paper & electronic charts lrg
Paper & electronic charts lrgPaper & electronic charts lrg
Paper & electronic charts lrgLance Grindley
 
Final presentation optical flow estimation with DL
Final presentation  optical flow estimation with DLFinal presentation  optical flow estimation with DL
Final presentation optical flow estimation with DLLeapMind Inc
 

What's hot (20)

Histogram equalization
Histogram equalizationHistogram equalization
Histogram equalization
 
Tao Fayan_Iso and Full_volume rendering
Tao Fayan_Iso and Full_volume renderingTao Fayan_Iso and Full_volume rendering
Tao Fayan_Iso and Full_volume rendering
 
The Problems of Constructing Optimal Onboard Colored RGB Depicting UAV Systems
The Problems of Constructing Optimal Onboard Colored RGB Depicting UAV SystemsThe Problems of Constructing Optimal Onboard Colored RGB Depicting UAV Systems
The Problems of Constructing Optimal Onboard Colored RGB Depicting UAV Systems
 
Histogram based enhancement
Histogram based enhancementHistogram based enhancement
Histogram based enhancement
 
Generation and weighting of 3D point correspondences for improved registratio...
Generation and weighting of 3D point correspondences for improved registratio...Generation and weighting of 3D point correspondences for improved registratio...
Generation and weighting of 3D point correspondences for improved registratio...
 
DIGITAL SIGNAL PROCESSING - Day 3 colour Image processing
DIGITAL SIGNAL PROCESSING - Day 3 colour Image processingDIGITAL SIGNAL PROCESSING - Day 3 colour Image processing
DIGITAL SIGNAL PROCESSING - Day 3 colour Image processing
 
"The Perspective Transform in Embedded Vision," a Presentation from Cadence
"The Perspective Transform in Embedded Vision," a Presentation from Cadence"The Perspective Transform in Embedded Vision," a Presentation from Cadence
"The Perspective Transform in Embedded Vision," a Presentation from Cadence
 
Image restoration and reconstruction
Image restoration and reconstructionImage restoration and reconstruction
Image restoration and reconstruction
 
Image enhancement
Image enhancementImage enhancement
Image enhancement
 
Histogram processing
Histogram processingHistogram processing
Histogram processing
 
Visual Impression Localization of Autonomous Robots_#CASE2015
Visual Impression Localization of Autonomous Robots_#CASE2015Visual Impression Localization of Autonomous Robots_#CASE2015
Visual Impression Localization of Autonomous Robots_#CASE2015
 
A Comparative Study of Histogram Equalization Based Image Enhancement Techniq...
A Comparative Study of Histogram Equalization Based Image Enhancement Techniq...A Comparative Study of Histogram Equalization Based Image Enhancement Techniq...
A Comparative Study of Histogram Equalization Based Image Enhancement Techniq...
 
Memory mapping plan
Memory mapping planMemory mapping plan
Memory mapping plan
 
Computer Graphics Part1
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1
 
ICPR2014-Poster
ICPR2014-PosterICPR2014-Poster
ICPR2014-Poster
 
Open source adobe lightroom like
Open source adobe lightroom likeOpen source adobe lightroom like
Open source adobe lightroom like
 
Paper & electronic charts lrg
Paper & electronic charts lrgPaper & electronic charts lrg
Paper & electronic charts lrg
 
Sr 01-40 good
Sr 01-40 goodSr 01-40 good
Sr 01-40 good
 
point processing
point processingpoint processing
point processing
 
Final presentation optical flow estimation with DL
Final presentation  optical flow estimation with DLFinal presentation  optical flow estimation with DL
Final presentation optical flow estimation with DL
 

More from Shereef Shehata

Windows_Scaling_2X_Speedup
Windows_Scaling_2X_SpeedupWindows_Scaling_2X_Speedup
Windows_Scaling_2X_SpeedupShereef Shehata
 
2D_block_scaling_Software
2D_block_scaling_Software2D_block_scaling_Software
2D_block_scaling_SoftwareShereef Shehata
 
2D_BLIT_software_Blackness
2D_BLIT_software_Blackness2D_BLIT_software_Blackness
2D_BLIT_software_BlacknessShereef Shehata
 
CIECAM02_Color_Management
CIECAM02_Color_ManagementCIECAM02_Color_Management
CIECAM02_Color_ManagementShereef Shehata
 
Temporal_video_noise_reduction
Temporal_video_noise_reductionTemporal_video_noise_reduction
Temporal_video_noise_reductionShereef Shehata
 
Shereef_Color_Processing
Shereef_Color_ProcessingShereef_Color_Processing
Shereef_Color_ProcessingShereef Shehata
 
The_Mismatch_Noise_Cancellation_Architecture
The_Mismatch_Noise_Cancellation_ArchitectureThe_Mismatch_Noise_Cancellation_Architecture
The_Mismatch_Noise_Cancellation_ArchitectureShereef Shehata
 
Architectural_Synthesis_for_DSP_Structured_Datapaths
Architectural_Synthesis_for_DSP_Structured_DatapathsArchitectural_Synthesis_for_DSP_Structured_Datapaths
Architectural_Synthesis_for_DSP_Structured_DatapathsShereef Shehata
 
High_Level_Synthesis_of_DSP_Archiectures_Targeting_FPGAs
High_Level_Synthesis_of_DSP_Archiectures_Targeting_FPGAsHigh_Level_Synthesis_of_DSP_Archiectures_Targeting_FPGAs
High_Level_Synthesis_of_DSP_Archiectures_Targeting_FPGAsShereef Shehata
 

More from Shereef Shehata (19)

Windows_Scaling_2X_Speedup
Windows_Scaling_2X_SpeedupWindows_Scaling_2X_Speedup
Windows_Scaling_2X_Speedup
 
2D_block_scaling_Software
2D_block_scaling_Software2D_block_scaling_Software
2D_block_scaling_Software
 
2D_BLIT_software_Blackness
2D_BLIT_software_Blackness2D_BLIT_software_Blackness
2D_BLIT_software_Blackness
 
CIECAM02_Color_Management
CIECAM02_Color_ManagementCIECAM02_Color_Management
CIECAM02_Color_Management
 
Deblocking_Filter_v2
Deblocking_Filter_v2Deblocking_Filter_v2
Deblocking_Filter_v2
 
log_algorithm
log_algorithmlog_algorithm
log_algorithm
 
Temporal_video_noise_reduction
Temporal_video_noise_reductionTemporal_video_noise_reduction
Temporal_video_noise_reduction
 
Shereef_Color_Processing
Shereef_Color_ProcessingShereef_Color_Processing
Shereef_Color_Processing
 
Inertial_Sensors
Inertial_SensorsInertial_Sensors
Inertial_Sensors
 
magentometers
magentometersmagentometers
magentometers
 
Shereef_MP3_decoder
Shereef_MP3_decoderShereef_MP3_decoder
Shereef_MP3_decoder
 
Fusion_Class
Fusion_ClassFusion_Class
Fusion_Class
 
Gyroscope_sensors
Gyroscope_sensorsGyroscope_sensors
Gyroscope_sensors
 
2DCompsitionEngine
2DCompsitionEngine2DCompsitionEngine
2DCompsitionEngine
 
Block_Scaler_Control
Block_Scaler_ControlBlock_Scaler_Control
Block_Scaler_Control
 
2D_BitBlt_Scale
2D_BitBlt_Scale2D_BitBlt_Scale
2D_BitBlt_Scale
 
The_Mismatch_Noise_Cancellation_Architecture
The_Mismatch_Noise_Cancellation_ArchitectureThe_Mismatch_Noise_Cancellation_Architecture
The_Mismatch_Noise_Cancellation_Architecture
 
Architectural_Synthesis_for_DSP_Structured_Datapaths
Architectural_Synthesis_for_DSP_Structured_DatapathsArchitectural_Synthesis_for_DSP_Structured_Datapaths
Architectural_Synthesis_for_DSP_Structured_Datapaths
 
High_Level_Synthesis_of_DSP_Archiectures_Targeting_FPGAs
High_Level_Synthesis_of_DSP_Archiectures_Targeting_FPGAsHigh_Level_Synthesis_of_DSP_Archiectures_Targeting_FPGAs
High_Level_Synthesis_of_DSP_Archiectures_Targeting_FPGAs
 

xvYCC_RGB

  • 1. xvYCC Implementation in the RGB color space Shereef Shehata 1
  • 2. Why use xvYCC? Better Gamut coverage sRGB xvYCC 2
  • 3. What is the color gamut The gamut of any RGB system is mostly visualized by a triangle in xyY. For different luminances Y=const (or CIECAM02 J = const), we get the intersection of a vertical plane and the RGB cube. The intersection delivers a polygon. These polygons are projected onto the xy-plane. 3
  • 4. xvYCC space for 8-bit representation • 0<Y_xvYCC_8 < 255 • 0<Cb_xvYCC_8 < 255 • 0<Cr_xvYCC_8 < 255 4
  • 5. xvYCC space for 8-bit representation • 0<Y_xvYCC_8 < 255 • 0<Cb_xvYCC_8 < 255 • 0<Cr_xvYCC_8 < 255 Original space in blue(RGB in [0,1]) Expanded space in yellow A plane describing R = 1.0 A plane describing R = 0. 5
  • 6. xvYCC space for 8-bit representation • 0<Y_xvYCC_8 < 255 • 0<Cb_xvYCC_8 < 255 • 0<Cr_xvYCC_8 < 255 Original space in blue(RGB in [0,1]) Expanded space in yellow A Plane Describing B = 1.0 A plane Describing B = 0. 6
  • 7. Extended YCC space: normalized 0:1 representation (gamma corrected) • -0.068< Y’ < 1.086758 • -0.566964< Cb’ < 0.562500 • -0.566964< Cr’ < 0.562500 • Y’Cb’Cr’ are gamma corrected 7
  • 8. xvYCC RGB space: normalized 0:1 representation (gamma corrected, REC.709) • -0.9614< R_gamma < 1.9726 • -0.4213< G_gamma < 1.4583 • -1.1206< B_gamma < 2.1306 • Nonlinear gamma exist           ⋅           −−=           ' ' ' 08556.11 4681.01873.01 5748.101 _ _ _ Cr Cb Y gammaB gammaG gammaR 8
  • 9. Gamma corrected RGB space: Original vs. xvYCC • Original RGB space 0<R_gamma, G_gamma, B_gamma < 1: in blue • Nonlinear gamma exist Expanded RGB space: in yellow 9
  • 10. Linear RGB space: Original vs. xvYCC • Original Linear RGB space 0<R_lin, G_lin, B_lin < 1: shown in blue • After de-gamma is performed Expanded linear RGB space: Shown in yellow 10
  • 11. Rec.709: Original Gamma function • The gamma definition as of Rec.709 11
  • 12. Gamma function for xvYCC • The same gamma definition as Rec.709 • Due to the extended range: requires more dynamic range 12
  • 13. Gamma Mapping for xvYCC •The values around Zero expanded & larger values are compressed (when gamma is applied) 13
  • 14. De-Gamma Mapping for xvYCC •The values around Zero are compressed & larger values are expanded (when degamma is applied) 14
  • 15. xvYCC space: Effect on the Red (with gamma) component • R_gamma >1 is shown in blue • R_gamma < 0 is shown in yellow • 0<R_gamma<1 is shown in red • R_gamma is gamma corrected Red Specular Red >1 Negative Red Original Red Range Original space Shown in black 15
  • 16. xvYCC space: Effect on the Red (with gamma) component • R_gamma >1 is shown in blue • R_gamma < 0 is shown in yellow • 0<R_gamma<1 is shown in red Specular Red>1 (blue) Negative Red (yellow) Original Red Range (shown in red, 0<R<1) Original space, RGB [0,1] (black) G<0 and B<0 0<R<1.0 (cyan) G>1 and B>1 0<R<1 (magenta) 16
  • 17. xvYCC space: Effect on the Red (with gamma) component • R_gamma >1 is shown in blue • R_gamma < 0 is shown in yellow • 0<R_gamma<1 is shown in red Specular Red>1 (blue) Negative Red (yellow)Original space, RGB [0,1] (black) G<0 or B<0 and 0<R<1.0 (cyan) G>1 or B>1 and 0<R<1 (magenta) 17
  • 18. 18 TI Proprietary- Strictly xvYCC space: Effect on the Blue (with gamma) component • B_gamma >1 is shown in blue • B_gamma < 0 is shown in yellow • 0<B_gamma<1 is shown in red • B_gamma is gamma corrected B Negative Blue Original Blue Range Specular Blue>1 Original space Shown in black
  • 19. xvYCC space: Effect on the Blue (with gamma) component Negative Blue (yellow) Original Blue Range [0,1] (red) Specular Blue >1 R,G,B in [0,1] Shown in (Black) R?,G? and 0<B<1 R?,G? and 0<B<1 19
  • 20. xvYCC space: Effect on the Blue (with gamma) component Negative Blue (shown in yellow) Original Blue Range [0,1] shown in (red) Specular Blue>1 (blue) R,G,B in [0,1] Shown in Black R>1,G>1 and 0<B<1 (magenta) 0<B<1, R<0,G<0 (cyan) 20
  • 21. xvYCC space: Effect on the Blue (with gamma) component Negative Blue (shown in yellow) Specular Blue>1 (blue) R,G,B in [0,1] (Black) 0<B<1 and Either R>1 or G>1 (magenta) 0<B<1 and Either R<0 or G<0 (cyan) 21
  • 22. xvYCC space: Effect on the Green (with gamma) component • G_gamma >1 is shown in blue • G_gamma < 0 is shown in yellow • 0<G_gamma<1 is shown in red • G_gamma is gamma corrected G Negative Green Original Green Range Specular Green >1 Original space Shown in black 22
  • 23. xvYCC space: Effect on the Green (with gamma) component • G_gamma >1 is shown in blue • G_gamma < 0 is shown in yellow • 0<G_gamma<1 is shown in red • G_gamma is gamma corrected G Negative Green Original Green Range Specular Green >1 Original space Shown in black 23
  • 24. xvYCC space: Effect on the Green (linear) component • G_lin >1 is shown in blue • G_lin < 0 is shown in yellow • 0<G_lin<1 is shown in red • G_lin is gamma corrected G Negative Green Original Green Range Specular Green>1 Original space Shown in black 24
  • 25. xvYCC space: Effect on the Green (gamma) component Negative Green Original Green Range 0<G<1 Specular Green>1 25
  • 26. xvYCC space: Effect on the Green (gamma) component Negative Green (yellow) Original RGB Range (black) Specular Green>1 (blue) 0<G<1, Both R<0 and B <0 (cyan) 0<G<1, Both R>1 and B>1 (magenta) Original Green Range 0<G<1 (red) 26
  • 27. xvYCC space: Effect on the Green (gamma) component Negative Green (yellow) Original RGB Range (black) Specular Green>1 (blue) 0<G<1, Either R<0 or B <0 (cyan) 0<G<1, Either R>1 or B>1 (magenta) 27