图像格式与视频数字化 && sensor的类型(YUV sensor ,Raw sensor)&& RAW sensor预览碰到的颜色问题

      位图又叫点阵图或像素图,计算机屏幕上的图是由屏幕上的发光点(即像素)构成的,每个点用二进制数据来描述其颜色与亮度等信息,这些点是离散的,类似于点阵。多个像素的色彩组合就形成了图像,称之为位图。 位图在放大到一定限度时会发现它是由一个个小方格组成的,这些小方格被称为像素点,一个像素是图像中最小的图像元素。在处理位图图像时,所编辑的是像素而不是对象或形状,它的大小和质量取决于图像中的像素点的多少,每平方英寸中所含像素越多,图像越清晰,颜色之间的混和也越平滑。

      而视频是由连续的图像组成的,原始电视是黑白图像。为了保持彩色电视机对黑白电视的兼容性,彩色信号在黑白电视机中必须也能播放黑白图像,而之前电视射频频带的一个个连续的频道已经占满资源,后来采用在亮度信号(实际上还有调频的伴音信号)上采用压缩亮度信号带宽,大面积着色等技术解决了这个问题。

      图像数字化的结果有两种:RGB 16/18/24-bit format 和 YCbCr 4:2:0/4:2:2 format。RGB的是三基色都用数字信号表示,16位的是RGB565,18位的是RGB666,24位的是RGB888;YCbCr信号对应的亮度,U色差,V色差的采样率之比。RGB和YCbCr的转化公式如下面列出。

                         

      对于很多系统中使用的RGB三基色彩色空间,用在彩色还原图像并不是很好。原因有一:与黑白图像不兼容,灰度=R*0.3+G*0.59+B*0.11,这个过程比较复杂,而且黑白电视不具备解码器,所以彩色信号不可能在黑白电视上显示黑白图像;二是RGB占用同等的带宽,资源不够;三是由于G占亮度值的59%,这使得亮度会受到绿色度的很大影响作用。所以基于以上原因,在视频信号中采用的是YUV空间,Y代表亮度,U代表蓝色色差(蓝色信号与亮度的差值),V代表红色色差。它的优点表现在:一是与黑白图像兼容,忽略UV分量,直接取出Y分量,即把彩色图像转成黑白图像。二是节省带宽。三是由于亮度信号是单独表示的,所以就算色差信号收到干扰,不会影响到亮度。整个过程就是接收到的彩色视频信号首先分解成亮度信号Y和色度信号,色度信号再分解为U色差信号和V色差信号(CCIR656或者CCIR601)。

      CCIR601标准规定,PAL视频信号解码成YUV分量后,分别进行A/D采样量化,转换为数字视频流。亮度信号的采样频率是13.5MHZ,色度信号的采样频率是6.75MHZ,采用8位PCM编码。这样,每行的Y采样数为864(13.5M/15.625K=864)个,其中有效的采样数是720个;每行的U或V采样数是432(6.75M/15.625K=432)个,其中有效的U或V采样数为360个。平均每个象素的YUV位数分别是8BIT,4BIT,4BIT,所以又叫YUV422编码方案。计算下数字视频的数据量=(水平720象素×竖直576行×25帧)×2字节=165Mbps,数据量相当大。YUV与RGB相互转换的公式如下(RGB取值范围均为0-255):
  Y = 0.299R + 0.587G + 0.114B
  U = -0.147R - 0.289G + 0.436B
  V = 0.615R - 0.515G - 0.100B
  R = Y + 1.14V
  G = Y - 0.39U - 0.58V
  B = Y + 2.03U

                       

      细分起来,YUV主要的采样格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。其中YCbCr 4:1:1 比较常用,其含义为:每个点保存一个 8bit 的亮度值(也就是Y值),每 2x2 个点保存一个 Cr 和Cb 值,图像在肉眼中的感觉不会起太大的变化。所以, 原来用RGB888(R,G,B 都是 8bit unsigned) 模型,4个点需要 4x3=12 bytes。而现在4个点仅需要4+1+1=6bytes,平均每个点占12bites。这样就把图像的数据压缩了一半。下面给出几种具体的存储形式:

(1) YUV 4:4:4:YUV三个信道的抽样率相同,因此在生成的图像里,每个象素的三个分量信息完整(每个分量通常8比特),经过8比特量化之后,未经压缩的每个像素占用3个字节。下面的四个像素为: [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
  存放的码流为: Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3

(2) YUV 4:2:2:每个色差信道的抽样率是亮度信道的一半,所以水平方向的色度抽样率只是4:4:4的一半。对非压缩的8比特量化的图像来说,4个像素要占用4+2+2=8,平均每个像素占2个字节。下面的四个像素为:[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3] ,存放的码流为:Y0 U0 Y1 V1 Y2 U2 Y3 V3,映射出像素点为:[Y0 U0 V1] [Y1 U0 V1] [Y2 U2 V3] [Y3 U2 V3]

(3) YUV 4:1:1:是在水平方向上对色度进行4:1:1抽样。对于低端用户和消费类产品这仍然是可以接受的。对非压缩的8比特量化的视频来说,每个由4个水平方向相邻的像素组成的宏像素需要占用6字节内存,平均每个像素6/4字节。下面的四个像素为: [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3],存放的码流为: Y0 U0 Y1 Y2 V2 Y3,映射出像素点为:[Y0 U0 V2] [Y1 U0 V2] [Y2 U0 V2] [Y3 U0 V2]

       以上三种单位像素占的字节数,便于记忆是:(4+4+4)/4=3,(4+2+2)/4=2,(4+1+1)/4=1.5字节。YUV的另一种特性是数据传送顺序的差别,所以YUV422会有:YCBYCR,YCRYCB,CBYCRY,CRYCBY。

        YUV和RGB的详细细节,参见:https://www.cnblogs.com/silence-hust/p/4465354.html

==============sensor的类型(YUV sensor ,Raw sensor)===================

        YUV Sensor:YUV Sensor输出的格式是YUV,图像的处理效果使用sensor内部的ISP,BB端接收到的YUV格式数据后只能进行格式的转换,效果方面不进行处理,由于Sensor内部的ISP处理能力有限,且YUV Sensor的数据量比较大(YUV422格式1个pixel占据两个bytes),所以YUV Sensor的size都比较小,常见的YUV sensor都在5MB以下。
        Raw Sensor:Raw Sensor输出的格式为Raw,图像的处理效果使用BB端的ISP,BB端接受到Raw data进行一系列的图像处理(OB, Shading, AWB, Gamma, EE, ANR等),效果方面是由BB进行控制,需要针对不同的模组进行效果调试,Raw sensor是目前的主流,数据量比YUV Sensor小(RAW10格式的sensor 1个pixel占用10bit),使用平台ISP处理,能支持较大的size。
        YUV  sensor 又叫soc senor , 和 RAW  sensor 的区别为 ISP  是在 模组内部,还是BB 上;YUV是一种压缩后的图像数据格式,包含很多具体的格式类型,包含很多具体的格式类型,摄像头对应的是YCBCr( 8bits,4:2:2,Interpolated color)。

关于sensor类型的详细叙述,可以参见 Sensor信号输出YUV、RGB、RAW DATA、JPEG 4种方式区别http://blog.chinaunix.net/uid-27134408-id-4145092.html

 =============RAW sensor预览碰到的颜色问题==================================

         RAW摄像头预览颜色不对,可从下面着手实验。

            

         如上图所示,sensor的感光面可以感知R /G /B 3种color,对应的color format 第一行为R   Gr   R   Gr ......;第二行为Gb  B   Gb  B  ......。可以发现,同一行,第N 及N+2 是相同的color format;同一列,第N 及N+2 是相同的color format。所以,相邻的四个piexl position,(N,N),(N,N+1),(N+1,N),(N+1,N+1)涵盖了R,Gr,Gb,B 4种corlor format,也就是说,在相邻的4个pixel,总是可以找到某个color format。
         所以在固定起始pixel的条件下,通过修改程序中设定的颜色格式,总会有一种是正常的颜色。假设当前是SENSOR_OUTPUT_FORMAT_RAW_B,可以试下其他的三种:SENSOR_OUTPUT_FORMAT_RAW_Gb、SENSOR_OUTPUT_FORMAT_RAW_Gr、SENSOR_OUTPUT_FORMAT_RAW_R。 

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值