YIQ转换矩阵的生成方式及与YUV/YCbCr的差异咨询
Great question! Let's break this down step by step—YIQ's matrix design is rooted in specific broadcast needs that set it apart from YUV/YCbCr, so understanding those goals first makes the math click.
YIQ was built exclusively for the NTSC analog TV standard, and every part of its matrix ties back to two non-negotiable goals: backward compatibility with black-and-white TVs, and efficient use of limited broadcast bandwidth.
1. Start with the brightness (Y) component
First, the Y (luminance) channel had to match exactly what black-and-white TVs already used. That meant reusing the standard RGB-to-luminance formula that’s still the basis for most color systems:
Y = 0.299R + 0.587G + 0.114B
This formula weights green highest because human eyes are most sensitive to green light, red next, and blue least. No surprises here—it’s the same Y you’ll find in YUV/YCbCr.
2. Design the color difference (I/Q) components
The I and Q channels are where YIQ gets unique. The goal here was to split color information along axes that align with human visual sensitivity:
- I component: Covers the orange-to-cyan color axis, which our eyes pick up most easily. This channel got more bandwidth (1.3MHz in NTSC) because we notice changes here more.
- Q component: Covers the purple-to-yellow-green axis, which we’re far less sensitive to. It only got 0.5MHz of bandwidth to save broadcast space.
To turn these axes into a matrix, engineers did two key things:
- Orthogonalize the components: They made sure the I and Q vectors were mathematically perpendicular (orthogonal) so the two channels wouldn’t interfere with each other during transmission.
- Normalize signal levels: They scaled the coefficients so the resulting I/Q signals stayed within a manageable range (roughly ±1) to avoid overloading broadcast equipment.
The final RGB-to-YIQ matrix is the result of these constraints:
[Y] [0.299 0.587 0.114] [R] [I] = [0.596 -0.274 -0.322] [G] [Q] [0.211 -0.523 0.312] [B]
The inverse matrix (YIQ back to RGB) is just the mathematical inverse of this, ensuring you can fully recover the original RGB signal.
While all three systems split RGB into a luminance channel plus two color difference channels, their design priorities make them distinct:
- Primary use case:
- YIQ is a relic of NTSC analog TV—you’ll only encounter it in legacy video processing.
- YUV was designed for PAL/SECAM analog systems, and YCbCr is its digital successor (used in JPEG, H.264, streaming, etc.). YCbCr is the workhorse of modern digital media.
- Color difference definition:
- YUV’s U (blue difference) and V (red difference) are direct scaled versions of
B-YandR-Y. - YCbCr’s Cb/Cr are standardized, offset versions of U/V (e.g., in BT.601,
Cb = 0.564(B-Y) + 128andCr = 0.713(R-Y) + 128) to fit into 8-bit digital ranges. - YIQ’s I/Q aren’t simple
RGB-Ydifferences—they’re orthogonal axes tailored to human color sensitivity, not just raw color channel offsets.
- YUV’s U (blue difference) and V (red difference) are direct scaled versions of
- Bandwidth optimization:
- YIQ optimizes by reducing bandwidth for the less-sensitive Q channel.
- YUV/YCbCr optimize by downsampling color channels (e.g., 4:2:0) because our eyes care more about luminance resolution than color resolution, regardless of color axis.
- Gamut and compatibility:
- YIQ uses the narrow NTSC color gamut, which is smaller than modern sRGB or BT.709.
- YCbCr supports wider gamuts (like BT.2020 for 4K/8K) and is compatible with nearly all modern display hardware.
内容的提问来源于stack exchange,提问作者Manu Evans

