[bootlin/training-materials updates] master: graphics: theory: Rework the color quantization slides (a40f10b1)

Paul Kocialkowski paul.kocialkowski at bootlin.com
Fri Oct 14 22:52:12 CEST 2022

Repository : https://github.com/bootlin/training-materials
On branch  : master
Link       : https://github.com/bootlin/training-materials/commit/a40f10b1a6f23965809a33119d1b990a91d2f0b9


commit a40f10b1a6f23965809a33119d1b990a91d2f0b9
Author: Paul Kocialkowski <paul.kocialkowski at bootlin.com>
Date:   Fri Oct 14 22:51:02 2022 +0200

    graphics: theory: Rework the color quantization slides
    Resolve some confusion about colorspace vs color model as well.
    Signed-off-by: Paul Kocialkowski <paul.kocialkowski at bootlin.com>


 slides/graphics-theory/gamut.png           | Bin 0 -> 106794 bytes
 slides/graphics-theory/graphics-theory.tex |  58 +++++++++++++++++++++--------
 2 files changed, 43 insertions(+), 15 deletions(-)

diff --git a/slides/graphics-theory/gamut.png b/slides/graphics-theory/gamut.png
new file mode 100644
index 00000000..e5983624
Binary files /dev/null and b/slides/graphics-theory/gamut.png differ
diff --git a/slides/graphics-theory/graphics-theory.tex b/slides/graphics-theory/graphics-theory.tex
index e1074cff..21ac5310 100644
--- a/slides/graphics-theory/graphics-theory.tex
+++ b/slides/graphics-theory/graphics-theory.tex
@@ -163,18 +163,40 @@ u_s > 2 \times u_{max}, ~v_s > 2 \times v_{max}
-\begin{frame}{Light representation, color quantization}
+\begin{frame}{Light and color representation}
     \item \textbf{Light} itself must be quantized in digital representations\\
     \textit{distinct from and unrelated to spatial quantization}
+    \item Perceived as \textbf{colors} based on the Human visual system
+      \begin{itemize}
+      \item Perception based on \textbf{trichromacy} (red, green, blue)
+      \item Not necessarily a unique frequency of the spectrum\\
+      \textit{e.g. pink is not a color of the visible spectrum}
+      \end{itemize}
     \item \textbf{Translating} light information (colors) to numbers:
-      \item Using a translation referential called \textbf{colorspace}
-      \item The translated color has \textbf{coordinates} in the colorspace\\
-      \textit{e.g. 3 for a human-eye-alike referential: red, green, blue}
+      \item A \textbf{color model} defines a base of color components\\
+      \textit{typically 3 components (e.g. red, green, blue)}
+      \item A \textbf{colorspace} is a precise translation referential\\
+      \textit{unique association of a color and coordinates in the base}
+      \item The \textbf{color gamut} is the range of colors in the colorspace\\
+      \textit{not every color can be represented in every colorspace}
-    \item Different approaches exist for color quantization:
+    \end{itemize}
+  \end{minipage}
+  \hfill
+  \begin{minipage}[c]{0.225\textwidth}
+    \centering
+    \includegraphics[width=\textwidth]{slides/graphics-theory/gamut.png}\\
+    \textit{\small Color gamut of a given colorspace}
+  \end{minipage}
+\begin{frame}{Color quantization approaches}
+  \begin{minipage}[c]{0.75\textwidth}
+  \begin{itemize}
+    \item Different approaches exist for \textbf{color quantization}:
       \item \textbf{Uniform} quantization in the color range (most common)\\
         \textit{values are attributed to colors with a regular step (resolution)}
@@ -188,7 +210,13 @@ u_s > 2 \times u_{max}, ~v_s > 2 \times v_{max}
       \item A given \textbf{range}:
       \textit{the span of representable colors}
-    \end{itemize}
+    \item A given number of bits are used for quantization: \textbf{bit depth}
+    \item A \textbf{trade-off} between range and resolution must be defined
+      \begin{itemize}
+      \item Increasing the resolution reduces the range
+      \item Increasing the range reduces the resolution
+      \end{itemize}
+  \end{itemize}
@@ -225,7 +253,7 @@ u_s > 2 \times u_{max}, ~v_s > 2 \times v_{max}
     \textbf{16 colors (4 bits per pixel)}
-    \item low color resolution
+    \item medium color resolution
     \item low color range
@@ -250,7 +278,7 @@ u_s > 2 \times u_{max}, ~v_s > 2 \times v_{max}
     \textbf{16 million colors (24 bits per pixel)}
-    \item high color resolution
+    \item low color resolution
     \item high color range
@@ -259,7 +287,7 @@ u_s > 2 \times u_{max}, ~v_s > 2 \times v_{max}
     \textbf{16 colors (4 bits per pixel)}
-    \item lower color resolution
+    \item low color resolution
     \item high color range
@@ -268,8 +296,8 @@ u_s > 2 \times u_{max}, ~v_s > 2 \times v_{max}
 \begin{frame}{Colorspaces and channels}
-    \item Each component of a colorspace is called a \textbf{channel}
-    \item Examples for usual types of colorspaces:
+    \item Each component of a color model is called a \textbf{channel}
+    \item Examples for usual types of color models:
       \item RGB, with 3 channels:\\ \textbf{R} (red) / \textbf{G} (green) / \textbf{B} (blue)
       \item HSV, with 3 channels:\\ \textbf{H} (hue) / \textbf{S} (saturation) / \textbf{V} (value)
@@ -288,7 +316,7 @@ u_s > 2 \times u_{max}, ~v_s > 2 \times v_{max}
   \item An additional channel can exist for transparency: the \textbf{alpha channel}\\
   \textit{mostly relevant for composition, not for final display}
-  \item Color coordinates can be \textbf{converted} from one colorspace to another (CSC)\\
+  \item Color coordinates can be \textbf{converted} between colorspaces and color models\\
   \textit{using translation formulas and associated constants}
@@ -348,9 +376,9 @@ u_s > 2 \times u_{max}, ~v_s > 2 \times v_{max}
   \item The human visual system has specificities:
     \item High sensitivity to \textbf{luminosity} (luminance)
-    \item Low sensibility to \textbf{colors} (chrominance)
+    \item Low sensitivity to \textbf{colors} (chrominance)
-  \item YUV colorspaces offer the relevant channel separation
+  \item The YUV color model offers the relevant channel separation
   \item Sub-sampling can be applied to the chrominance channel\\
   \textit{less data (and precision) on colors to reduce size}
@@ -412,7 +440,7 @@ u_s > 2 \times u_{max}, ~v_s > 2 \times v_{max}
   \item Pixel-level attributes are grouped as a \textbf{pixel format} that defines:
-    \item Colorspace in use
+    \item Color model in use
     \item Number of bits per channel and per pixel (bpp)
     \item Bit attribution and byte order
     \item Per-channel sub-sampling ratios

More information about the training-materials-updates mailing list