[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>
>---------------------------------------------------------------
a40f10b1a6f23965809a33119d1b990a91d2f0b9
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}
\end{minipage}
\end{frame}
-\begin{frame}{Light representation, color quantization}
+\begin{frame}{Light and color representation}
\begin{minipage}[c]{0.75\textwidth}
\begin{itemize}
\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:
\begin{itemize}
- \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}
\end{itemize}
- \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}
+\end{frame}
+
+\begin{frame}{Color quantization approaches}
+ \begin{minipage}[c]{0.75\textwidth}
+ \begin{itemize}
+ \item Different approaches exist for \textbf{color quantization}:
\begin{itemize}
\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}
- \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}
\end{minipage}
\hfill
\begin{minipage}[c]{0.225\textwidth}
@@ -225,7 +253,7 @@ u_s > 2 \times u_{max}, ~v_s > 2 \times v_{max}
\centering
\textbf{16 colors (4 bits per pixel)}
\begin{itemize}
- \item low color resolution
+ \item medium color resolution
\item low color range
\end{itemize}
\end{minipage}
@@ -250,7 +278,7 @@ u_s > 2 \times u_{max}, ~v_s > 2 \times v_{max}
\centering
\textbf{16 million colors (24 bits per pixel)}
\begin{itemize}
- \item high color resolution
+ \item low color resolution
\item high color range
\end{itemize}
\end{minipage}
@@ -259,7 +287,7 @@ u_s > 2 \times u_{max}, ~v_s > 2 \times v_{max}
\centering
\textbf{16 colors (4 bits per pixel)}
\begin{itemize}
- \item lower color resolution
+ \item low color resolution
\item high color range
\end{itemize}
\end{minipage}
@@ -268,8 +296,8 @@ u_s > 2 \times u_{max}, ~v_s > 2 \times v_{max}
\begin{frame}{Colorspaces and channels}
\begin{minipage}[b]{0.7\textwidth}
\begin{itemize}
- \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:
\begin{itemize}
\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}
\begin{itemize}
\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}
\end{itemize}
\end{frame}
@@ -348,9 +376,9 @@ u_s > 2 \times u_{max}, ~v_s > 2 \times v_{max}
\item The human visual system has specificities:
\begin{itemize}
\item High sensitivity to \textbf{luminosity} (luminance)
- \item Low sensibility to \textbf{colors} (chrominance)
+ \item Low sensitivity to \textbf{colors} (chrominance)
\end{itemize}
- \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}
\end{itemize}
@@ -412,7 +440,7 @@ u_s > 2 \times u_{max}, ~v_s > 2 \times v_{max}
\end{itemize}
\item Pixel-level attributes are grouped as a \textbf{pixel format} that defines:
\begin{itemize}
- \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