YJK
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.
YJK is composed of three components: ,
and
.
is similar to luminance (but computed differently),
and
are the chrominance components (representing the red and green color differences). The
component is a 5-bit value (0 to 31), specified for each individual pixel.
The and
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 ,
and
are added together to produce a single
signal, representing the overall brightness of that pixel. The
signal is then created by subtracting the
from the red signal of the original RGB, and then scaling; and
by subtracting the
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:
From YJK to RGB:
You may note that the 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.
<references />
, or <references group="..." />
See also
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 7.0 7.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 10.0 10.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.