summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStéphane Marchesin <marcheu@chromium.org>2012-08-25 14:39:40 -0700
committerStéphane Marchesin <marcheu@chromium.org>2012-08-25 14:39:40 -0700
commitfc98e98591590dbc1bdad08774c7f3fad1c42ecd (patch)
treebc6535e7fd265030d54171c3584242b55a02b8d6
parent10e748517a4ddce51e48fa7293dc88461a13857d (diff)
video decode chapter improvements.
-rw-r--r--linuxgraphicsdrivers.lyx36
1 files changed, 22 insertions, 14 deletions
diff --git a/linuxgraphicsdrivers.lyx b/linuxgraphicsdrivers.lyx
index f9c5c65..9110e59 100644
--- a/linuxgraphicsdrivers.lyx
+++ b/linuxgraphicsdrivers.lyx
@@ -7008,21 +7008,22 @@ A color space is the way color is represented.
\begin_layout Standard
\lang english
-In order to save space, perception principles are applied to movie encoding.
+In order to save space, perception principles are applied to video encoding.
\lang american
The color space conversion stage exploits the fact that the human eye is
- more perceptive of the luminance than the chrominance, and separates the
- color data into those two components.
+ more perceptive in the luminance than the chrominance domain, and separates
+ the color data into those two components.
Intuitively, the luminance is the amount of light in the color, and the
chrominance is the name of the color (red, green, yellow...) and its amount
of saturation.
\end_layout
\begin_layout Standard
-The quality of the chrominance data can lowered to conserve space, for example
- by downsampling it, and the missing chrominance data is interpolated at
- playing time while minimally impacting the perceived video quality.
+The quality of the chrominance data can be lowered to conserve space, for
+ example by downsampling it.
+ Then the missing chrominance data is interpolated at play time while minimally
+ impacting the perceived video quality.
\end_layout
\begin_layout Standard
@@ -7031,24 +7032,30 @@ The quality of the chrominance data can lowered to conserve space, for example
This is how the YUV color space works: it separates the color information
into one luminance component (Y) and two chrominance components (U and
V).
- The chrominance information is less relevant to the eye than the luminance,
- so usually chrominance is subsampled and luminance is at the original resolutio
-n.
+ The chrominance information is less relevant to the human eye than the
+ luminance, so usually chrominance is subsampled and luminance is at the
+ original resolution.
Therefore, the Y plane usually has a higher resolution than the U and V
planes.
+ For example, in the YUV420 video format, the U and V data is subsampled
+ by a factor of two in both the X and Y directions, so U and V planes have
+ a quarter of the number of pixels compared to the Y plane.
\end_layout
\begin_layout Standard
\lang english
-Bandwidth gain example (RGBA32 vs YV12)
+Converting to YUV and downsampling the U and V planes can result in huge
+ bandwidth gains.
+ For example in the case of an RGB888 video encoded in YV12, the YUV version
+ uses 12 bits per pixel compared to the original 24 bit per pixel.
\end_layout
\begin_layout Standard
\lang english
The color conversion from the YUV to the RGB color space is a linear relation,
- and can therefore be represented by a matrix/vector multipliy, the matrix
+ and can therefore be represented by a matrix/vector multiply, the matrix
being the conversion formula.
\end_layout
@@ -7169,13 +7176,14 @@ reference "fig:YUV-to-RGB"
\end_inset
shows the conversion matrices from ITU-R BT Recommendation 601 (standard
- content) and recommendation 709 (intended for HD content).
+ definition content) and recommendation 709 (intended for high definition
+ content).
Notice that although these matrices are very similar, there are numerical
differences which will result in slight off-colored rendering if one is
used in place of the other.
This is indeed often the case that video decoders with YUV to RGB hardware
- are used to playback high definition content but no attention is made to
- the proper conversion matrix that should be used.
+ are used to playback high definition content but still use the ITU-R RB
+ recommendation 601 color space conversion matrix.
Since the colors are only slightly wrong, this problem is commonly overlooked,
whereas most hardware features at least a BT601/BT709 switch, or a fully
programmable conversion matrix.