牵着老婆满街逛

严以律己,宽以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

YUV Formats

转载自:http://blog.csdn.net/jerrytong/article/details/5655439

YUV Color Space

Color is decomposed in three components.

      Y: represents Luminance. 
      U (Cb): is the Chroma channel, U axis, blue component.
      V (Cr): is the Chroma channel, V axis, red component.

The first reason to use the YUV decomposition is that a conversion of an RGB signal (such as the one used on computer monitors) to YUV requires just a linear transform, which is really easy to do with analogue circuitry and it is cheap to compute numerically.

The second reason that YUV allows separating the color information from the luminance component (which we perceive as brightness). For this reason YUV is used worldwide for television and motion picture encoding standards such as PAL, SECAM and for JPEG/MPEG compression. Since the human eye is also much more responsive to luminance, JPEG compresses more heavily the chroma channels which are less likely to cause perceptible differences in the resulting image.

 

There are several YUV formats. There are interleaved formats and planar formats (also called packed formats). The main difference is how they are stored in memory.

Interleaved images have all color components needed to represent a pixel placed at the same place in memory. For planar formats the data is not interleaved, but stored separately for each color channel (also called color plane).

For filter writers this means that they can write one simple function that is called three times, one for each color channel, assuming that the operations are channel-independent (which is not always the case). Again, using aligned for both color and luma channels will allow easy memory access. The use of a planar format gives in most cases a significant speedup, since all bytes of each plane can be treated the same way. It can also give a speedup because your filter doesn't have to work on all planes, if it only modifies one or two of them.

 

4:4:4 Format (Base YUV Format)

 

 

In this format size of matrices of Y, U and V value are as same as RGB.

Image size: 176x144.
RGB: 3 matrices in size of 176x144.
YUV: 3 matrices in size of 176x144.

 

4:2:2 Format (Known as YUY2)

However in 4:2:2 format Y value is 176x144 but U and V values are half sizes, 88x72.

Image size: 176x144.
RGB: 3 matrices in size of 176x144.
     Y: 176x144.
     U: 88x72.
     V: 88x72.

 

YUY2 colorformat

YUY2 is an interleaved image format. Bytes are arranged in memory like this:

YUYV|YUYV|YUYV|YUYV|YUYV|YUYV|...
^first byte in a row.

 

 

So when converting back to RGB color space each U and V value is used four times to complete the conversion. Figure 1 shows the usage of the 4:2:2 format while converting back to RGB.

Figure 1. YUV 4:2:2 format.

 


posted on 2013-01-25 12:06 杨粼波 阅读(329) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理