YJK

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
File:Rgb vs YJK.png
Cropped and zoomed comparison between the original true color image (left) and the YJK (right) version.

YJK[1][2][3] is a proprietary color space implemented by the Yamaha V9958[4][5][6] graphic chip on MSX2+ computers.[7][8] It has the advantage of encoding images by implementing less resolution for color information than for brightness, taking advantage of the human visual systems' lower acuity for color differences.[9] This saves memory, transmission and computing power.

File:YJK example image.png
YJK converted image

YJK is composed of three components: Y, J and K. Y is similar to luminance (but computed differently), J and K are the chrominance components (representing the red and green color differences). The Y component is a 5-bit value (0 to 31), specified for each individual pixel.

File:Rgb.png
Original full color image

The J and K components are stored together in 6 bits (-32 to 31) and shared between 4 nearby pixels (4:2:0 chroma sub-sampling).[10][11][12]

While conceptually similar to YUV, chroma sampling, numerical relationship between the components, and transformation to and from RGB are different in YJK.

Formulas

The three component signals are created from an original RGB (red, green and blue) source. The weighted values of R, G and B are added together to produce a single Y signal, representing the overall brightness of that pixel. The J signal is then created by subtracting the Y from the red signal of the original RGB, and then scaling; and K by subtracting the Y from the green, and then scaling by a different factor.

These formulae approximate the conversion between the RGB color space and YJK:[7]

From RGB to YJK:

Y = B/2 + R/4 + G/8
J = R-Y
K=G-Y

From YJK to RGB:

R =  Y + J
G =  Y + K
B= (5/4)Y -J/2 -K/4

You may note that the Y component of YJK is not true luminance, since the green component has less weight than the blue component.[13] Also, contrary to YUV where chrominance is based on Red-Blue differences, on YJK its calculated based on Red-Green differences.[10]

References

<templatestyles src="Reflist/styles.css" />

Cite error: Invalid <references> tag; parameter "group" is allowed only.

Use <references />, or <references group="..." />

See also

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. 7.0 7.1 Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. 10.0 10.1 Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.