title: YJK
text: # YJK
  
  YJK is a proprietary color space implemented by the Yamaha V9958 graphic chip on MSX2+ computers. 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. This saves memory, transmission and computing power.
  
  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.
  
  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).
  
  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:
  
  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. Also, contrary to YUV where chrominance is based on Red-Blue differences, on YJK its calculated based on Red-Green differences.
  
  