Posts Tagged ‘摄影 图像处理 算法’

Demosaicing

星期四, 四月 3rd, 2008

数码相机的感光器件是由数以百万计的感光原件阵列来采集生成数字图像的。每一个“像素”上有一个感光元件“Photosite”,可以把这些Photosite看做是一个个的小穴。当按下快门开始曝光,这些小穴就开始收集照射在其上的光子。曝光结束后,通过计算光子的数量就反应了明暗的关系。把光子的相对数量排序为一组光强的等级,反应出来就是灰度级。Bit Depth决定了灰度级的分级精度,8bit的图像有255个灰度级。

Photosite只能计算其中采集的光子数量来反映光强,却无法分辨颜色。因此彩色图像的采集需要额外的辅助。通过在Photosite上加滤光片,可以只允许一种颜色的光进入采集穴,这样就有了能采集不同颜色强度的Photosite。光的世界中,红绿蓝是基本的三原色。使用分别带有三原色滤光器的photosite组成阵列就可以采集信息生成彩色图像了。

常见的一种阵列方式是Bayer Array,如左图所示:

蓝绿交替的一行接着红绿交替的一行。可见:绿色感光器远多于红色和蓝色的感光器,这种设计是因为人眼对绿色更敏感,可以达到降噪的目的。同时也解释了大部分数码照片中绿色通道的噪点要远远少于其他两色通道。

当然也有其他的排列方式,如SONY的排列方式是在同一行里,红色、绿色、蓝色、祖母绿依次排列。

通过这样的阵列我们可以得到原始的图像数据,类似于右图所示:

这样的图像有明显的区块,Demosaicing就是使用算法来进行颜色估计,有原始的三原色估计出完整的颜色信息。如在Bayer  Array,就可以将每个2*2的区域作为一个单位,进行整合估计。大部分的Demosaicing算法基于颜色的连续性原理,因此对于边缘恰好的颜色突变处理存在问题,而感光片的像素增加便可以使得边缘得以更精确的表现。

不同的Demosaicing算法有不同的特性。即便经过多年的发展,依旧有进步的空间。常见的Demosaicing算法主要方式有:

  • 快速方法(低级不精确):如最近邻居替代法等;
  • 差值方法:利用网格差值计算估计颜色;
  • 适应方法:算法根据像素周围的“环境”进行自适应,进行优化估计;
  • 与高分别率相结合的方法:超高分辨率可以带来更优化的结果。

我们可以感觉到,一个私有的更优的Demosaicing算法对于数码图像软硬件厂商来说都是竞争力的一个重要组成部分。一个好的Demosaicing算法可以提供处理速度和处理质量的双重优势。

图片和参考资料来源:Understanding Digital Camera SensorsWiki::Demosaicing 及一些学术论文。

—-

P.S. 今天继续跑步,腿疼得明显比昨天更厉害了,提早结束避免受伤。于是只跑了1000米,用时5分钟左右,心跳基本没过120,运动量严重不够。记得以前跑步都是因为心肺和全身的疲劳,今天只是腿疼的厉害,喘都没有。真不知道怎么解决腿的问题了,在网上查有几个人和我症状一样。希望不是什么问题,只是长时间不运动而已。看来锻炼体质对于孱弱的我来说是个艰巨的任务啊!坚持一下,便会不同。怎么地也得坚持下去……