海思开发板中的YUV420格式解析

一、什么是YUV
YUV是被欧洲电视系统所采用的一种颜色编码方法(属于PAL),是PAL和SECAM模拟彩色电视制式采用的颜色空间。
YUV主要是用于优化彩色视频信号的传输,使其与早期的黑白电视机相容。采用YUV色彩空间的重要性是它的亮度信号Y和色度信号U、V是分离的。其中“Y”表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。如果只有Y信号分量而没有U、V分量,那么这样表示的图像就是黑白灰度图像。
二、YUV采样格式类型
YUV采样格式主要有YUV420,YUV422,YUV411,YUV444四种。其中,YUV411比较常见,其含义为:Y、U、V三个分量采样比为4:1:1,每采样4个Y,分别采样一个U和V。如果每个采样值用8位来保存,那四个像素点只需要保存4+1+1个字节的数据。理论上保存的数据[Y0U0V0][Y1U1V1]…[Y7U7V7]实际映射为[Y0U0V0][Y1U0V0][Y2U0V0][Y3U0V0][Y4U1V1][Y5U1V1][Y6U1V1][Y7U1V1]。注意,这里讨论的不是实际硬件的存储结构,仅站在理论的角度上分析。
YUV420并不意味着没有V分量,而是指是对每行扫描线来说,只有一种色度分量以2:1的抽样率存储,相邻的扫描行存储不同的色度分量。如果一行是4:2:0,那下一行就是4:0:2,再下一行是4:0:2,依此类推。
对于YUV422,每个色差信道的抽样率是亮度信道的一半,所以水平方向的色度抽样率只是4:4:4的一半。
三、YUV420详解
YUV420格式可分为两类:打包(packed)格式和平面(planar)格式。前者将YUV存放在一起,一般将几个像素组成一个宏像素(macro-pixel)。而planar格式将Y、U、V三种像素值分开存储。
YUV420 planar又可分为semi-planar和planar两种。semi-planar与planar的区别在于存储UV的方式有所不同。semi-planar将UV分量绑定在一起,按[U0V0][U1V1]…的格式存储。而planar将UV两种分量分开存储,按[U0U1U2…][V0V1V2…]的方式存储。
例如,对于一个8*1像素大小的图片来说,两种格式的存储方式如下:


假如Y0对应的物理存储地址为0x00,则Y1~Y7地址分别为0x01~0x07。假如U0物理地址为0x20,则对于planar格式,V0U1V1物理地址分别为0x21,0x22,0x23。对于semi-planar格式,U1V0V1物理地址分别为0x21,0x22,0x23。
在实际应用系统(例如arm)中,具体如何获取各个像素分量的值,还得根据提供的技术手册来进行操作。例如,在海思HI3520D中,系统提供了对应的调用库函数来获取存储YUV素值的物理地址,然后要通过函数将地址映射到虚拟地址空间,然后才能对数据进行读取操作。

参考文献:
1,http://baike.baidu.com/link?url=a_ixvpgaaVPqrmeCaWZE4KA3hSDQSYM57DI1lNHI2a68UIFneY5pjPln1dJIhuwbyvwhoCEyj2tdVKpmEPor5a
2,http://blog.csdn.net/sunnylgz/article/details/7580628
3,http://blog.csdn.net/jefry_xdz/article/details/7931018

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值