IOS Dev Intro - Color Space Convertion

来源:互联网 发布:网络首先是一种? 编辑:程序博客网 时间:2024/05/14 08:21


http://www.equasys.de/colorconversion.html


Color Conversion

This page contains the different equations for converting one of the luminance / chrominance based color formats (YUV, YCbCr and YPbPr) into the RGB color format and vice versa.

  • YUV - RGB Color Format Conversion
  • YCbCr - RGB Color Format Conversion
  • YPbPr - RGB Color Format Conversion

See also the page Color Formats to get basic information about the different color formats.

YUV - RGB Color Format Conversion

The YUV color format is used only for analog PAL or analog NTSC video - not for any digital video format. The following equation describes the conversion of an RGB color into the YUV color format:

RGB to YUV color conversion for analog TV

This is the inverse matrix to get the RGB components out of the YUV color:

YUV to RGB color conversion for analog TV

YCbCr - RGB Color Format Conversion

For digital component video the color format YCbCr is used. For standard definition TV applications (SDTV) the following equation describes the color conversion from RGB to YCbCr (according to ITU-R BT.601):

RGB to YCbCr color conversion for SDTV

To recover an RGB color from a YCbCr color, the following inverse matrix is used:

YCbCr to RGB color conversion for SDTV

The possible range of values for chrominance and luminance reserves some footroom and headroom, which is necessary to provide some space for overshooting, e.g. in combination with analog video equipment. For computer based applications using RGB and YCbCr color formats, in many cases the complete possible range of 8 bit is used, without providing a footroom or headroom. Typically, this full-range color format is used for JPEG images.

The conversion of RGB colors into full-range YCbCr colors is described by the following equation:

RGB to full range YCbCr color conversion

The other way round, to convert a full-range YCbCr color into RGB is described by the following equation:

Full range YCbCr to RGB color conversion

For high definition TV (HDTV), different coefficients are used. The possible range of values is identical to the SDTV, to provide the necessary footroom and headroom. The following equation describes the color conversion from RGB to YCbCr for HDTV (according to ITU-R BT.709):

RGB to YCbCr color conversion for HDTV

This is the corresponding inverse matrix to get the RGB color components out of a YCbCr color:

YCbCr to RGB color conversion for HDTV

YPbPr - RGB Color Format Conversion

The following equations describe the conversion from RGB to YPbPr color format for component analog video and vice versa. Again, different coefficients are used for SDTV and HDTV.

In case of SDTV, for converting RGB to YPbPr, the following matrix is used:

RGB to YPbPr color conversion for SDTV

This is the inverse matrix to recover an RGB value from a given YPbPr value:

YPbPr to RGB color conversion for SDTV

In case of HDTV, for converting RGB to YPbPr, the following matrix is used:

RGB to YPbPr color conversion for HDTV

Finally, this is the inverse matrix:

YPbPr to RGB color conversion for HDTV

Terms of Use

The section Technical Information on this website has been prepared very carefully - however, equasys GmbH does not warrant the accuracy or the completeness of the given information.
You are encouraged to use the technical service information by setting a link to the equasys web site. You are free to reproduce or to disseminate the technical service information, as long as you do not change the content and you give a proper reference to the source by setting a link to www.equasys.de.

Please use the Contact sheet to submit any comments, proposals or feedback.



0 0
原创粉丝点击