CN102640499B - 用加权的梯度对图像数据去马赛克的系统和方法 - Google Patents
用加权的梯度对图像数据去马赛克的系统和方法 Download PDFInfo
- Publication number
- CN102640499B CN102640499B CN201080054765.3A CN201080054765A CN102640499B CN 102640499 B CN102640499 B CN 102640499B CN 201080054765 A CN201080054765 A CN 201080054765A CN 102640499 B CN102640499 B CN 102640499B
- Authority
- CN
- China
- Prior art keywords
- value
- pixel
- green
- interpolation
- component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 125
- 238000012545 processing Methods 0.000 claims abstract description 257
- 238000003384 imaging method Methods 0.000 claims abstract description 44
- 238000003491 array Methods 0.000 claims abstract 55
- 238000001914 filtration Methods 0.000 claims description 119
- 230000008034 disappearance Effects 0.000 claims description 22
- 238000009826 distribution Methods 0.000 claims description 7
- 235000021384 green leafy vegetables Nutrition 0.000 claims 4
- 229910002059 quaternary alloy Inorganic materials 0.000 claims 4
- 210000003141 lower extremity Anatomy 0.000 claims 2
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims 1
- 230000007547 defect Effects 0.000 description 180
- 238000012937 correction Methods 0.000 description 82
- 230000008569 process Effects 0.000 description 78
- 238000001514 detection method Methods 0.000 description 77
- 238000005516 engineering process Methods 0.000 description 75
- 230000015654 memory Effects 0.000 description 72
- 230000003068 static effect Effects 0.000 description 58
- 238000010586 diagram Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 30
- 238000011282 treatment Methods 0.000 description 28
- 101100218716 Rattus norvegicus Bhlhb3 gene Proteins 0.000 description 27
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 26
- 238000003707 image sharpening Methods 0.000 description 18
- 238000006467 substitution reaction Methods 0.000 description 18
- 238000003860 storage Methods 0.000 description 16
- 230000002950 deficient Effects 0.000 description 14
- 230000009467 reduction Effects 0.000 description 14
- 238000006243 chemical reaction Methods 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 13
- 239000000872 buffer Substances 0.000 description 12
- 230000000295 complement effect Effects 0.000 description 12
- 230000014509 gene expression Effects 0.000 description 11
- 230000009471 action Effects 0.000 description 10
- 230000007423 decrease Effects 0.000 description 10
- 230000002829 reductive effect Effects 0.000 description 9
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 230000010354 integration Effects 0.000 description 8
- 239000003550 marker Substances 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000002708 enhancing effect Effects 0.000 description 6
- 238000005286 illumination Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 239000003086 colorant Substances 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000007667 floating Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 238000004040 coloring Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 241001125929 Trisopterus luscus Species 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 3
- 238000007600 charging Methods 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 230000001788 irregular Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 241000023320 Luma <angiosperm> Species 0.000 description 2
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 2
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000002401 inhibitory effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 210000003127 knee Anatomy 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001915 proofreading effect Effects 0.000 description 2
- 238000011946 reduction process Methods 0.000 description 2
- 238000012958 reprocessing Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 206010019133 Hangover Diseases 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 241001085205 Prenanthella exigua Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- -1 and Y Substances 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 239000012535 impurity Substances 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000008595 infiltration Effects 0.000 description 1
- 238000001764 infiltration Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000007769 metal material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000004033 plastic Substances 0.000 description 1
- 229920003023 plastic Polymers 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 201000007094 prostatitis Diseases 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000010415 tropism Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4015—Image demosaicing, e.g. colour filter arrays [CFA] or Bayer patterns
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/10—Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/60—Noise processing, e.g. detecting, correcting, reducing or removing noise
- H04N25/61—Noise processing, e.g. detecting, correcting, reducing or removing noise the noise originating only from the lens unit, e.g. flare, shading, vignetting or "cos4"
- H04N25/611—Correction of chromatic aberration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/60—Noise processing, e.g. detecting, correcting, reducing or removing noise
- H04N25/68—Noise processing, e.g. detecting, correcting, reducing or removing noise applied to defects
- H04N25/683—Noise processing, e.g. detecting, correcting, reducing or removing noise applied to defects by defect estimation performed on the scene signal, e.g. real time or on the fly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2209/00—Details of colour television systems
- H04N2209/04—Picture signal generators
- H04N2209/041—Picture signal generators using solid-state devices
- H04N2209/042—Picture signal generators using solid-state devices having a single pick-up sensor
- H04N2209/045—Picture signal generators using solid-state devices having a single pick-up sensor using mosaic colour filter
- H04N2209/046—Colour interpolation to calculate the missing colour values
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Color Television Image Signal Generators (AREA)
- Image Processing (AREA)
- Studio Devices (AREA)
Abstract
提供了用于对成像系统所获取和处理的图像进行去马赛克的各种技术。成像系统包括图像信号处理器(32)和利用滤色器阵列(CFA)并使用一个像素阵列来获取红色、绿色和蓝色数据的图像传感器(30)。在一个实施例中,CFA可包括拜耳模式。在图像信号处理期间,可应用去马赛克以内插原始图像模式中缺失的颜色样本。在一个实施例中,对绿色通道的内插可包括采用具有水平和垂直滤波值的加权梯度的边缘自适应滤波器。可利用具有绿色通道的同位置内插值的颜色差样本,对红色和蓝色通道进行内插。在另一个实施例中,可利用颜色比值(例如相对于颜色差数据)来执行红色和蓝色通道的内插。
Description
技术领域
本公开一般涉及数字成像设备,具体而言,涉及用于处理使用数字成像设备的图像传感器而获得的图像数据的系统和方法。
背景技术
该部分用于向阅读者介绍涉及以下所描述和/或请求保护的本技术的多个方面的领域的多个方面。相信该讨论有助于向阅读者提供背景信息以使其更好地理解本公开的多个方面。因此,需要理解的是就此而论这些陈述是用来阅读的,而非承认是它们是现有技术。
在近些年,数字成像设备已经变得更加普及,这至少得益于这些设备对于一般消费者来说变得越来越消费得起。此外,除了一些刚上市的独立数码相机之外,数字成像设备整合为另一个电子设备(例如膝上或笔记本电脑、蜂窝电话或便携媒体播放器)的一部分也很常见。
为了获取图像数据,大多数数字成像设备包括图像传感器,其提供多个被配置为将图像传感器检测到的光转换为电信号的光检测元件(例如光电检测器)。图像传感器还可包括滤色器阵列,其对由图像传感器捕捉的光进行滤波以获得颜色信息。接着通过图像处理流水线来处理由图像传感器捕捉的图像数据,该图像处理流水线可以对图像数据应用多种图像处理操作以生成可被显示在显示设备(例如监视器)上以供观看的全彩图像。
传统图像处理技术一般致力于产生在主观上和客观上都使观看者愉悦的可观看图像,这样的传统技术可能无法充分地解决图像数据中由成像设备和/或图像传感器引入的错误和/或失真。例如,可能因制造缺陷或操作错误而导致的图像传感器中的缺陷像素可能无法准确地感测光线水平,并且如果不加校正,可能会在得到的经处理图像中产生伪影(artifact)。此外,可能因镜头制造的不完美而导致的在图像传感器的边缘处的光强度下降,可能对特性测量有不利影响,并且可能导致一张图像内的整体光强度不均匀。图像处理流水线还可执行一个或多个处理以锐化图像。然而传统锐化技术可能未充分地计及图像信号中存在的噪声,或者可能无法将噪声与图像中的边缘和纹理区域区分开。在这些情况下,传统锐化技术可能实际上增加了图像中噪声的显现,而这通常是不期望发生的。
可被应用于由图像传感器获得的图像数据的另一个图像处理操作是去马赛克(demosaicing)操作。因为滤色器阵列一般为每个传感器像素提供一个波长的颜色数据,所以一般针对每个颜色通道进行内插得到颜色数据的完整集合,以再现全彩图像(例如RGB图像)。通常,传统去马赛克技术一般依据某种类型的固定阈值,在水平或垂直方向上内插缺失的颜色数据的值。然而,这些传统去马赛克技术可能未充分计及图像内各边缘的位置和方向,这可能导致引入到全彩图像中的特别是沿着图像内的对角边缘的边缘伪影,例如混叠(aliasing)、棋盘格伪影或彩虹伪影。
因此,当处理由数码相机或其他成像设备获得的数字图像时,应当注意多种考虑以提高结果图像的外观。具体而言,以下公开的特定方面可以解决以上简要提及的一个或多个缺点。
发明内容
以下将阐述此处公开的特定实施例的概述。可以理解的是这里仅仅呈现这些方面以向阅读者提供这些特定实施例的简要概述,并且这些方面并不限制本公开的范围。实际上,本公开可以涵盖以下没有阐述的多个方面。
本公开提供了用于处理利用数字图像传感器获取的图像数据的各种技术。根据本公开的一些方面,一种这样的技术可涉及图像传感器的缺陷像素的检测和校正。根据一个实施例,提供了存储有已知静态缺陷的位置的静态缺陷表。在这样的实施例中,缺陷像素校正和检测可以在两个阶段中进行。在第一阶段,将图像处理帧内的当前像素的位置与存储在静态缺陷表中的信息进行比较。如果发现当前像素的位置位于静态缺陷表中,则将当前像素识别为静态缺陷并且使用替代值来校正,该替代值可以被选择为相同颜色的前一像素的值。如果当前像素未被识别为静态缺陷,则第二阶段可以通过将当前像素和邻近像素集合之间的像素至像素梯度与动态缺陷阈值进行比较,来确定当前像素是否为动态缺陷。用于校正动态缺陷的替代值可以通过对在表现出最小梯度的方向上位于当前像素相对两侧的两个邻近像素的值进行内插来确定。
根据本公开的一些方面,另一种图像处理技术可涉及应用多尺度虚光蒙版(multi-scale unsharp mask)来提供图像锐化。根据一个实施例,首先获得数字图像传感器所获取的图像数据的亮度图像。多尺度虚光蒙版可包括具有不同半径的至少两个高斯滤波器,并且可应用于亮度图像以确定多个虚光(unsharp)值。每个虚光值可以与相对应的阈值进行比较,并且,对于超过其相应阈值的虚光值,可以应用相应的增益,并且经过增益的虚光值可被加到基本图像上,该基本图像可被选择为所述亮度图像或高斯滤波器之一的输出。每个经过增益的虚光值可以与基本图像相加以产生最终的锐化输出。在另一个实施例中,衰减增益可被应用到不超过其相应阈值的虚光值。进一步的实施例还可提供对锐化图像的附加处理以增强边缘和抑制色度。
根据本公开的另一个方面,另一种图像处理技术可涉及对数字图像传感器所获取的图像数据进行去马赛克以产生全彩图像。在一个实施例中,图像传感器可包括拜耳滤色器阵列,并且去马赛克可被应用于所得到的拜耳图像模式。在这样的实施例中,可以通过利用自适应边缘检测滤波器确定垂直和水平能量,来为每个非绿色像素内插缺失的绿色值。根据所公开的实施例,绿色、红色和蓝色分量可对确定垂直和水平能量时的边缘检测作出贡献。利用垂直和水平能量对用于当前非绿色像素的内插绿色值的垂直和水平分量加权,并且对加权后的值求和以确定该内插的绿色值。根据这样的实施例,该内插的绿色值可用于内插缺失的红色和蓝色样本。
根据本公开的再一个方面,提供了一种用于校正镜头明暗不规则的技术。在一个实施例中,确定当前像素相对于具有分布在水平和垂直方向上的多个栅格点的增益栅格的位置。如果当前像素的位置对应于栅格点,那么与该栅格点相关联的镜头明暗增益被应用到该当前像素。如果当前像素的位置位于四个栅格点之间,那么双线性内插被应用于这四个栅格点,以确定内插的镜头明暗增益。在另一个实施例中,通过确定图像中心到当前像素的径向距离并将该径向距离乘以基于当前像素颜色的全局增益参数,来确定径向镜头明暗增益。径向镜头明暗增益然后与所确定的镜头明暗栅格增益或镜头明暗内插增益一起被应用到该当前像素。
以上所示特征的多种细化存在于本公开涉及的多个方面。其他特征也可并入到这些方面。这些细化和附加特征可独立存在或组合地存在。例如,以下讨论的涉及一个或多个示例实施例的多种特征可被单独或任意组合地并入到本公开的上述方面中。再次,以上呈现的简要概述仅旨在使阅读者熟悉本公开的实施例的特定方面和内容,而非对要求保护的主题的限制。
附图说明
阅读以下详细描述以及参考附图可以更好的理解本公开的多个方面,在附图中:
图1是描述包括被配置为实现本公开中阐述的一个或多个图像处理技术的成像设备和图像处理电路的电子设备的一个例子的部件的简单方框图;
图2示出了在图1的成像设备中实现的拜耳滤色器阵列的2×2像素块的示意图;
图3是依照本公开的一些方面的膝上型计算设备形式的图1的电子设备的透视图;
图4是依照本公开的一些方面的桌上型计算设备形式的图1的电子设备的前视图;
图5是依照本公开的一些方面的手持便携型电子设备形式的图1的电子设备的前视图;
图6是图5所示的电子设备的后视图;
图7是例示了依照本公开的一些方面的可以在图1的图像处理电路中实现的前端图像信号处理(ISP)逻辑和ISP流水处理逻辑的方框图;
图8是示出了依照本公开的一些方面的图7的ISP前端逻辑的实施例的更详细的方框图;
图9是依照本公开的一些方面的可在由图像传感器捕捉的源图像帧中定义的各种成像区域的图解说明;
图10是依照本公开的一些方面的提供对如图8的ISP前端逻辑中所示的ISP前端像素处理单元的一个实施例的更详细视图的方框图;
图11是依照一个实施例的例示了如何将时域滤波应用到由图10所示的ISP前端像素处理单元接收到的图像像素数据的处理框图;
图12例示了可被用于确定图11所示的时域滤波处理的一个或多个参数的一组参考图像像素和一组对应的当前图像像素;
图13是示出了依照本公开一些方面的可在图10的ISP前端像素处理单元中实现的像素合并补偿滤波器的一个实施例的更详细视图;
图14示出依照一个实施例的使用图13的像素合并补偿滤波器来缩放图像数据的处理;
图15是示出了依照本公开一些方面的可在图8所示的ISP前端处理逻辑中实现的统计处理单元的实施例的更详细方框图;
图16示出了依照本公开一些方面的当应用用于在图15的统计处理单元进行统计处理时检测和校正缺陷像素的技术时可能要考虑的各种图像帧边界情况;
图17是例示了依照一个实施例的用于在统计处理过程中执行缺陷像素检测和校正的处理的流程图;
图18示出了描绘成像设备的传统镜头的光强度相对于像素位置的三维分布;
图19是表现图像中不均匀光强度的照片,这可能是镜头明暗(lens shading)不规则的结果;
图20是依照本公开一些方面的包括镜头明暗纠正区域和增益栅格(gain grid)的原始成像帧的图解例示;
图21例示了依照本公开一些方面的用于被周围四个栅格增益点包围的图像像素的增益值的内插;
图22是例示了依照本技术一个实施例的用于确定在镜头明暗校正操作期间可被应用到成像像素的内插增益值的处理的流程图;
图23是描绘了依照本公开一些方面的当执行镜头明暗校正时,可被应用到表现出图18所示的光强度特性的图像的内插增益值的三维分布;
图24示出了依照本公开一些方面的来自图19的照片在应用了镜头明暗校正操作之后表现出改进的光强度均匀性的有色图;
图25图解例示了依照一个实施例的可以如何计算和使用当前像素和图像的中心之间的径向距离来确定用于镜头明暗校正的径向增益分量;
图26是例示了依照本技术一个实施例的使用来自增益栅格的径向增益和内插增益来确定总增益的处理的流程图,在镜头明暗校正操作期间可将该总增益应用到成像像素;
图27是示出了依照本公开一些方面的图7的ISP流水处理逻辑的一个实施例的方框图;
图28是示出了依照本公开一些方面的可在图27的ISP流水处理逻辑中实现的原始像素处理块的一个实施例的更详细视图;
图29示出了依照本公开一些方面的当在图28所示的原始像素处理块执行处理期间应用用于检测和校正缺陷像素的技术时要考虑的各种图像帧边界情况;
图30-32是依照一个实施例的描绘可由图28的原始像素处理块执行的用于检测和校正缺陷像素的多种处理的流程图;
图33示出了依照本公开一些方面的在图28的原始像素处理逻辑执行处理期间应用绿色非均匀性校正技术时可进行内插的拜耳图像传感器的2×2像素块内的两个绿色像素的位置;
图34例示了依照本公开一些方面的包括中心像素和关联的水平邻近像素在内的可被用作用于降噪的水平滤波处理的一部分的像素集合;
图35例示了依照本公开一些方面的包括中心像素和关联的垂直邻近像素在内的可被用作用于降噪的垂直滤波处理的一部分的像素集合;
图36是描绘了如何将去马赛克应用到原始拜耳图像模式(pattern)以产生全彩RGB图像的简化流程图;
图37表示依照一个实施例的拜耳图像模式的像素集合,在该拜耳图像模式的去马赛克期间,可以从其中导出用于内插绿色值的水平和垂直能量分量;
图38示出了依照本技术一些方面的水平像素集合,在拜耳图像模式的去马赛克期间,可对其应用滤波以确定内插的绿色值的水平分量;
图39示出了依照本技术一些方面的垂直像素集合,在拜耳图像模式的去马赛克期间,可对其应用滤波以确定内插的绿色值的垂直分量;
图40示出了依照本技术一些方面的多种3x3像素块,在拜耳图像模式的去马赛克期间,可对其应用滤波以确定内插的红色和蓝色值;
图41-44提供依照一个实施例的描绘在拜耳图像模式的去马赛克期间用于内插绿色、红色和蓝色值的各种处理的流程图;
图45示出了可由图像传感器捕捉的并依照此处公开的去马赛克技术的一些方面而处理的初始图像场景;
图46示出了如图45所示的图像场景的拜耳图像模式;
图47示出了使用传统去马赛克技术基于图46的拜耳图像模式而重构的RGB图像;
图48示出了依照此处公开的去马赛克技术的一些方面从图46的拜耳图像模式重构的RGB图像;
图49是示出了依照本公开一些方面的可在图27的ISP流水处理逻辑中实现的RGB处理块的一个实施例的更详细视图;
图50是示出了依照本公开一些方面的可在图27的ISP流水处理逻辑中实现的YCbCr处理块的一个实施例的更详细视图;
图51是依照本公开一些方面的在使用1平面格式的源缓冲器内定义的用于亮度(luma)和色度(chroma)的活动源区域的图解描绘;
图52是依照本公开一些方面的在使用2平面格式的源缓冲器内定义的用于亮度和色度的活动源区域的图解描绘;
图53是例示了依照一个实施例的可在如图50所示的YCbCr处理块中实现的图像锐化逻辑的方框图;
图54是例示了依照一个实施例的可在如图50所示的YCbCr处理块中实现的边缘增强逻辑的方框图;
图55是示出了依照本公开一些方面的色度衰减因子与锐化的亮度值之间的关系的图;
图56是例示了依照一个实施例的可在如图50所示的YCbCr处理块中实现的图像明亮度(brightness)、对比度(contrast)和颜色(BCC)调整逻辑的方框图;以及
图57示出了在如图56所示的BCC调整逻辑执行颜色调整期间可以在定义各种色相(hue)角和饱和度(saturation)值的YCbCr颜色空间中应用的色相和饱和度颜色轮(color wheel)。
具体实施方式
以下将描述本公开的一个或多个特定实施例。这些描述的实施例都仅是当前公开的技术的示例。此外,为了提供这些实施例的简明描述,可能不会在说明书中描述实际实现的全部特征。应当明了的是在任意这些实际实现的开发中,如同在任何工程或设计项目中一样,都必须做出众多特定于实现的决定以达到开发者的特定目的,例如顺从因实现的不同而变化的涉及系统的和涉及商业的限制。此外,应当明了的是这样的开发努力可能是复杂且很耗时间的,但仍然是从本公开获益的本领域技术人员的日常设计、生产和制造任务。
当介绍本公开的多个实施例的要素时,冠词“a”、“an”和“the”旨在表示一个或多个要素。术语“包含”、“包括”和“具有”旨在是开放的,并且表示除了所列的要素之外还可能有额外的要素。此外,应当理解的是,对于本公开“一个实施例”或“一实施例”的提及并不旨在将其解释为排除同样具有所列举的特征的其他实施例的存在。
如以下将要描述的,本公开一般涉及用于处理经由一个或多个图像感测设备获取的图像数据的技术。具体而言,本公开的特定方面可以涉及用于检测和校正缺陷像素的技术,用于对原始图像模式进行去马赛克的技术,用于使用多尺度虚光蒙版来锐化亮度图像的技术,以及用于应用镜头明暗增益以校正镜头明暗不规则的技术。此外,应当理解的是这里公开的技术可被应用到静态图像和运动图像(例如视频)这两者,并且可被用于任何合适类型的成像应用,例如数码相机、具有集成数码相机的电子设备、安全或视频监视系统、医疗成像系统等等。
留意以上要点,图1是例示电子设备10的一个示例的方框图,所述电子设备10可以提供使用以上简单提及的一个或多个图像处理技术对图像数据进行的处理。电子设备10可以是任何类型的电子设备,例如膝上或桌上型计算机、移动电话、数字媒体播放器等等,其被配置为接收和处理图像数据,例如使用一个或多个图像感测部件获取的数据。仅作为示例,电子设备10可以是便携式电子设备,例如可从加利福尼亚州库比蒂诺的苹果公司获得的或的模型。此外,电子设备10可以是桌上或膝上型计算机,例如可从苹果公司获得的Pro、MacBook Mini或Mac的模型。在另外的实施例中,电子设备10还可以是来自其他制造商的能够获取并处理图像数据的电子设备的模型。
无关其形式(例如便携式或非便携式),应当理解的是电子设备10可以提供使用以上简要讨论的一个或多个图像处理技术对图像数据进行的处理,这些技术可包括缺陷像素校正和/或检测技术、镜头明暗校正技术、去马赛克技术、或图像锐化技术,等等。在某些实施例中,电子设备10可将这样的图像处理技术应用到存储在电子设备10的存储器中的图像数据。在其他实施例中,电子设备10可包括一个或多个被配置为获得图像数据的成像设备,例如集成的或外置的数码相机,于是电子设备10可使用一个或多个以上提及的图像处理技术来处理这些图像数据。以下将在图3-6中进一步讨论示出电子设备10的便携式和非便携式实施例的实施例。
如图1所示,电子设备10可包括各种用于实现设备10的功能的内置和/或外置部件。本领域技术人员可以理解如图1所示的各种功能块可包括硬件要素(包括电路)、软件要素(包括存储在计算机可读介质上的计算机代码)或硬件和软件要素这两者的组合。例如,在当前所示的实施例中,电子设备10可包括输入/输出(I/O)端口12、输入结构14、一个或多个处理器16、存储器设备18、非易失性存储器20、(一个或多个)扩展卡22、联网设备24、电源26和显示器28。此外,电子设备10可包括一个或多个成像设备30(例如数码相机)以及图像处理电路32。如下所要进一步讨论的,图像处理电路32可被配置为在处理图像数据时执行一个或多个以上讨论的图像处理技术。可以明了的是,可以从存储器18和/或非易失性存储设备20检索或者可以使用成像设备30获得供图像处理电路32处理的图像数据。
在继续之前,应当理解的是如图1所示的设备10的系统方框图旨在表示描述可能包括在该设备10中的各部件的高级控制框图。也就是说,在如图1所示的每个独立元件之间的连接线并不是一定表示在设备10的各部件之间的数据流动或传输的路径或方向。实际上,如下所讨论的,在某些实施例中,描绘的(一个或多个)处理器16可以包括多个处理器,例如主处理器(例如CPU)和专用图像和/或视频处理器。在这样的实施例中,可主要由这些专用处理器来执行对图像数据的处理,有效地使得主处理器(CPU)免于装载这样的任务。
关于图1所示的每个元件,I/O端口12可包括被配置为连接多种外置设备的端口,这些外置设备例如是电源、音频输出设备(例如耳机或头戴受话器)、或其他电子设备(例如手持设备和/或计算机、打印机、投影仪、外置显示器、调制解调器、坞站(dockingstation)等等)。在一个实施例中,I/O端口12可被配置为连接到外置成像设备,例如数码相机,用以获取可使用图像处理电路32处理的图像数据。I/O端口12可以支持任何适合类型的接口,例如通用串行总线(USB)端口、串行连接端口、IEEE-1394(FireWire)端口、以太网或调制解调器端口、和/或AC/DC电源连接端口。
在某些实施例中,特定的I/O端口12可被配置为提供多于一种功能。例如,在一个实施例中,I/O端口12可包括苹果公司专有的端口,其功能不仅在于方便在电子设备10和外部源之间进行数据传输,还将设备10耦合到电源充电接口,例如被设计为从墙壁插座提供电力的电源适配器,或者耦合到被配置为从诸如桌上或膝上型计算机的另一个电子设备吸取电力以用于对电源26(其可包括一个或多个可充电电池)进行充电的接口电缆。以此方式,例如,取决于通过I/O端口12被耦合到设备10的外置元件,I/O端口12可被配置为具有数据传输端口和AC/DC电源连接端口的双重功能。
输入结构14可向(一个或多个)处理器16提供用户输入或反馈。例如,输入结构14可被配置为控制电子设备10的一个或多个功能,例如在电子设备10中运行的应用。仅作为示例,输入结构14可包括按钮、滑块、开关、控制板、按键、旋钮、滚轮、键盘、鼠标、触摸板等,或以上这些的某些组合。在一个实施例中,输入结构14可以允许用户导航在设备10上显示的图形用户界面(GUI)。此外,输入结构14可包括与显示器28一起提供的触摸敏感机构。在这些实施例中,用户可通过触摸敏感机构来选择所显示的界面元素或与之交互。
输入结构14可包括多种设备、电路和路径,通过这些将用户的输入或反馈提供给一个或多个处理器16。这样的输入结构14可被配置为控制设备10的功能、在设备10上运行的应用和/或连接到电子设备10或被电子设备10使用的任何接口或设备。例如,输入结构14可允许用户导航显示的用户界面或应用界面。输入结构14的示例可包括按钮、滑块、开关、控制板、按键、旋钮、滚轮、键盘、鼠标、触摸板等等。
在特定实施例中,输入结构14和显示器28可被一并提供,例如“触摸屏”的情况,籍此与显示器28一并提供触摸敏感机构。在这样的实施例中,用户可通过触摸敏感机构来选择所显示的界面元素或与之交互。以此方式,显示的界面可提供交互功能,允许用户通过触摸显示器28来导航显示的界面。例如,利用输入结构14进行的用户交互,例如与用户交互或与显示在显示器28上的应用界面交互,可生成指示用户输入的电信号。这些输入信号可以通过合适的路径(例如输入集线器或数据总线)被路由到一个或多个处理器16以做进一步处理。
除了处理通过(一个或多个)输入结构14接收到的各种输入信号之外,(一个或多个)处理器16还控制设备10的一般操作。例如,处理器16可提供处理能力以运行操作系统、程序、用户和应用界面、以及电子设备10的任何其他功能。(一个或多个)处理器16可包括一个或多个微处理器,例如一个或多个“通用”微处理器、一个或多个专用微处理器和/或特定于应用的微处理器(ASIC)、或这些处理部件的组合。例如,(一个或多个)处理器16可包括一个或多个指令集(例如RISC)处理器,以及图形处理器(GPU)、视频处理器、音频处理器和/或相关芯片组。将明了的是,(一个或多个)处理器16可耦合到一个或多个用于在设备10的各个部件之间传输数据和指令的数据总线。在特定实施例中,(一个或多个)处理器16可提供处理能力以在电子设备10中运行成像应用,例如可从苹果公司获得的Photo或或由苹果公司提供的“相机”和/或“照片”应用,这些都是的模型上可用的。
将由(一个或多个)处理器16处理的指令或数据可被存储在计算机可读介质中,例如存储器设备18中。存储器设备18可以被提供为易失性存储器,例如随机存取存储器(RAM),或非易失性存储器,例如只读存储器(ROM),或一个或多个RAM和ROM设备的组合。存储器18可存储多种信息并被用于各种用途。例如,存储器18可存储用于电子设备10的固件,例如基本输入/输出系统(BIOS)、操作系统、各种程序、应用或可在电子设备10中上运行的任何其他例程,包括用户界面功能、处理器功能等等。此外,在电子设备10的操作期间,存储器18可被用来缓冲或高速缓存。例如,在一个实施例中,存储器18包括一个或多个帧缓冲器,用以缓冲要被输出到显示器28的视频数据。
除了存储器设备18,电子设备10还可包括非易失性存储器20以用于持久存储数据和/或指令。非易失性存储器20可以包括闪存、硬盘驱动器或任何其他光学、磁和/或固态存储介质,或以上这些的组合。因此,尽管为了清楚的目的只在图1中描绘了单个设备,但是应当理解的是(一个或多个)非易失性存储器20可以包括一个或多个以上列出的与(一个或多个)处理器16一起操作的存储设备的组合。非易失性存储器20可被用来存储固件、数据文件、图像数据、软件程序和应用、无线连接信息、个人信息、用户偏好和任何其他合适的数据。依照本公开一些方面,在输出到显示器之前,可通过图像处理电路32来处理存储在非易失性存储器20和/或存储器设备18中的图像数据。
如图1所示的实施例还可包括一个或多个卡槽或扩展槽。卡槽可被配置为接收扩展卡22,其可被用于增加电子设备10的功能,例如额外的存储器、I/O功能或联网能力。这样的扩展卡22可通过任何类型的合适连接器被连接到设备上,并且可以相对于电子设备10的壳体而被内部地或外部地访问。例如,在一个实施例中,扩展卡22可以是闪存卡,例如安全数字(SD)卡、迷你或微SD、紧凑闪存卡等,或者可以是PCMCIA设备。此外,对于提供移动电话能力的电子设备10的实施例,扩展卡22可以是订户标识模块(SIM)卡。
电子设备10还包括网络设备24,其可以是通过无线802.11标准或任何其他合适的联网标准(例如局域网(LAN)、广域网(WAN),例如GSM演进的增强数据率(EDGE)网络、3G数据网络或因特网)而提供网络连接的网络控制器或网络接口卡(NIC)。在特定实施例中,网络设备24可以提供至在线数字媒体内容提供商(例如可从苹果公司获得的音乐服务)的连接。
设备10的电源26可包括在非便携和便携设置下向设备10供电的能力。例如,在便携设置下,设备10可包括一个或多个用于向设备10供电的电池,例如锂离子电池。可以通过将设备10连接到外部电源(例如墙壁插座)来对电池重新充电。在非便携设置下,电源26可包括供电单元(PSU),其被配置为从墙壁插座取得电力,并将所述电力分配给非便携电子设备(例如桌上型计算系统)的各个部件。
显示器28可被用于显示由设备10生成的各种图像,例如用于操作系统的GUI,或由图像处理电路32处理的图像数据(包括静止图像和视频数据),以下将对其进行进一步讨论。如上所述,图像数据可包括使用成像设备30获取的图像数据或从存储器18和/或非易失性存储器20检索出的图像数据。显示器28可以是任何合适类型的显示器,例如液晶显示器(LCD)、等离子显示器或有机发光二极管(OLED)显示器。此外,如上所讨论的,显示器28可以具有可作为电子设备10的控制界面的一部分的、如上所述的触摸敏感机构(例如触摸屏)。
所例示的(一个或多个)成像设备30还可被提供为被配置以获取静态图像和运动图像(例如视频)的数码相机的形式。相机30可包括镜头和一个或多个被配置为捕捉光并将光转换为电信号的图像传感器。仅作为示例,图像传感器可包括CMOS图像传感器(例如CMOS有源像素传感器(APS))或CCD(电荷耦合器件)传感器。一般来说,相机30中的图像传感器包括具有像素阵列的集成电路,其中每个像素包括一个用于感测光的光电检测器。本领域技术人员应当明了,成像像素中的光电检测器一般检测通过相机镜头捕捉的光的强度。然而,光电检测器一般无法自己检测所捕捉的光的波长,因此,无法确定颜色信息。
因此,图像传感器可进一步包括滤色器阵列(CFA),其可覆盖图像传感器的像素阵列或被置于像素阵列之上,以捕捉颜色信息。滤色器阵列可包括小型滤色器的阵列,每一个小型滤色器可以覆盖图像传感器的一个相应像素,并且按波长对捕捉的光进行滤波。因此,当一并使用时,滤色器阵列和光电检测器可提供关于通过相机所获得的光的波长和强度信息,这可以表示所捕捉的图像。
在一个实施例中,滤色器阵列可包括拜耳滤色器阵列,其提供50%绿色元素,25%红色元素和25%蓝色元素的滤波器模式。例如,图2示出了包括2个绿色元素(Gr和Gb),1个红色元素(R)和1个蓝色元素(B)的拜耳CFA的2×2像素块。因此,利用拜耳滤色器阵列的图像传感器可提供关于相机30在绿色、红色和蓝色波长处接收到的光的强度的信息,由此每个图像像素仅记录三种颜色(RGB)之一。被称为“原始图像数据”或“原始域”中的数据的这一信息随后被使用一种或多种去马赛克技术进行处理,由此将原始图像数据转换为全彩图像,这一般是通过为每个像素内插一组红色、绿色和蓝色值而实现的。如以下将描述的那样,可由图像处理电路32来执行这样的去马赛克技术。
如上所述,图像处理电路32可提供各种图像处理步骤,例如缺陷像素检测/校正、镜头明暗校正、去马赛克、以及图像锐化、降噪、伽马校正、图像增强、颜色空间变换、图像压缩、色度亚采样和图像缩放操作等等。在一些实施例中,图像处理电路32可包括多个子部件和/或离散的逻辑单元,其集合地形成用于执行各个图像处理步骤中的每一个步骤的图像处理“流水线”。可以使用硬件(例如数字信号处理器或ASIC)或软件,或通过硬件和软件部件的组合来实现这些子部件。以下将更加详细的描述可由图像处理电路32提供的各种图像处理操作,尤其是涉及缺陷像素检测/校正、镜头明暗校正、去马赛克和图像锐化的那些处理操作。
在继续之前,应当注意的是虽然以下所讨论的各种图像处理技术的多个实施例可以利用拜耳CFA,但是当前公开的技术并不限于此。实际上,本领域技术人员将明了此处提供的图像处理技术可适用于任何适合类型的滤色器阵列,包括RGBW滤色器、CYGM滤色器等。
再次参考电子设备10,图3-6例示了电子设备10可采用的各种形式。如上所述,电子设备10可采用计算机的形式,包括通常便携的计算机(例如膝上型、笔记本和平板计算机)以及通常不便携的计算机(例如桌上型计算机、工作站和/或服务器),或其他类型的电子设备,例如手持便携电子设备(例如数字媒体播放器或移动电话)。具体而言,图3和图4分别描绘了膝上型计算机40形式和桌上型计算机50形式的电子设备10。图5和图6分别示出了手持便携设备60形式的电子设备10的前视图和后视图。
如图3所示,描绘的膝上型计算机40包括壳体42、显示器28、I/O端口12和输入结构14。输入结构14可包括与壳体42集成的键盘和触摸板鼠标。此外,输入结构14可包括多种可用于与计算机40交互(例如给计算机加电或启动计算机)的其他按钮和/或开关,以操作GUI或在计算机40中运行的应用,以及调整多种涉及计算机40操作的其他方面(例如音量、显示器亮度等)。计算机40还可包括提供至其他设备的连接的多种I/O端口12,如上所述,例如或USB端口、高清多媒体接口(HDMI)端口或任何其他类型的适于连接到外部设备的端口。此外,计算机40可包括如以上图1所示的网络连接(例如网络设备26)、存储器(例如存储器20)和存储能力(例如存储设备22)。
另外,在所示的实施例中,膝上型计算机40可包括集成的成像设备30(例如相机)。在另一个实施例中,膝上型计算机40可利用连接到一个或多个I/O端口12的外置相机(例如外置USB相机或“摄像头”)以作为集成相机30的替代或附加。例如,外置相机可以是可从苹果公司得到的相机。不管集成的还是外置的,相机30可以提供图像的捕捉和记录。接着这些图像可由用户使用图像观看应用来观看,或者可以被其他应用来使用,包括视频会议应用,例如以及图像编辑/观看应用,例如可从苹果公司得到的Photo或在特定实施例中,所描绘的膝上型计算机40可以是可从苹果公司获得的Pro、MacBook或的模型。
图4进一步例示了电子设备10被提供作为桌上型计算机50的一个实施例。将明了的是,桌上型计算机50可包括多种与由图4所示的膝上型计算机40提供的大致类似的特征,但是也可能具有通常更大的整体形状。如图所示,桌上型计算机50可被装入包括显示器28和如图1所示的方框图中所讨论的各种其他部件的外壳42中。另外,桌上型计算机50可包括通过一个或多个I/O端口(例如USB)耦合至该计算机50的、或能够与该计算机50无线通信(例如通过RF、蓝牙等)的外置键盘和鼠标(输入结构14)。如上所述,桌上型计算机50还可包括可以是集成的或外置相机的成像设备30。在特定实施例中,所描绘的桌上型计算机50可以是可从苹果公司获得的mini或Mac的模型。
如进一步所示,显示器28可被配置为生成可被用户观看的各种图像。例如,在计算机50的操作期间,显示器28可显示图形用户界面(“GUI”)52以允许用户与在计算机50中运行的操作系统和/或应用进行交互。GUI 52可包括各种层、窗口、屏幕、模板或可在整个或部分显示设备28上显示的其他图形元素。例如,在所描绘的实施例中,操作系统GUI 52可包括各种图形图标54,每一种图标可对应于可基于检测到用户的选择(例如通过键盘/鼠标或触摸屏输入)被打开或执行的各种应用。图标54可被显示在停靠栏56中或在屏幕上显示的一个或多个图形窗口元素58内。在一些实施例中,对图标54的选择可导致分级导航处理,使得对图标54的选择导致一个屏幕或打开另一个包括一个或多个附加图标或其他GUI元素的图形窗口。仅作为示例,图4显示的操作系统GUI 52可以是来自可从苹果公司获得的Mac操作系统的一个版本。
继续至图5和6,电子设备10进一步被例示为便携手持电子设备60的形式,其可以是可从苹果公司获得的或的模型。在所描绘的实施例中,手持设备60包括外壳42,其可以起到保护内部部件免于物理损伤同时屏蔽电磁干扰的作用。外壳42可由任何合适的材料或这些材料的组合来形成,例如塑料、金属或复合材料,并且能够允许特定频率的电磁辐射(例如无线联网信号)穿透以到达如图5所示的可置于外壳42内的无线通信电路(例如网络设备24)。
外壳42还包括各种用户输入结构14,通过这些输入结构14用户可与手持设备60交互。例如,每个输入结构14可被配置为在被按压或启动时控制一个或多个相应的设备功能。作为示例,一个或多个输入结构14可被配置为调用“home”屏幕(主屏幕)42或菜单以便显示,被配置为在睡眠、唤醒或开机/关机模式之间切换,被配置为使蜂窝电话应用的铃声静音,被配置为增加或减小音量输出等等。应当理解的是所例示的输入结构14仅是示例性的,并且手持设备60可包括任意数量的合适的用户输入结构,其可以具有各种形式,包括按钮、开关、按键、旋钮、滚轮等等。
如图5所示,手持设备60可包括各种I/O端口12。例如,所描绘的I/O端口12可包括用于传输和接收数据文件或用于给电源26充电的专有连接端口12a,和用于将设备60连接到音频输出设备(例如头戴式耳机或扬声器)的音频连接端口12b。此外,在手持设备60提供移动电话功能的实施例中,设备60可包括用于接收订户标识模块(SIM)卡(例如扩展卡22)的I/O端口12c。
显示设备28可以是LCD、OLED或任何适合类型的显示器,其可以显示由手持设备60生成的各种图像。例如,显示器28可以显示向用户提供关于手持设备60的一个或多个状态(例如电源状态、信号强度、外置设备连接等)的反馈的各种系统指示符64。参考以上图4所讨论的,显示器还可显示GUI 52以允许用户与设备60交互。GUI 52可以包括图形元素,例如图标54,其可以对应于基于检测到用户对相应图标54的选择而打开或执行的各种应用。作为示例,图标54之一可以表示可与相机30(如图5中的虚线所示)一并使用以获取图像的相机应用66。简单地参考图6,例示了在图5中所描绘的手持电子设备60的后视图,其示出了相机30被集成于壳体42且位于手持设备60背面。
如上所述,用相机30获得的图像数据可使用图像处理电路32进行处理,所述图像处理电路32可以包括硬件(例如位于外壳42内部)和/或存储在设备60的一个或多个存储设备(例如存储器18或非易失性存储器20)中的软件。使用相机应用66和相机30获得的图像可被存储到设备60(例如在存储设备20中),并且可使用照片观看应用68在稍后观看这些图像。
手持设备60还可包括各种音频输入和输出元件。例如,一般地由参考标记70所描绘的音频输入/输出元件可以包括输入接收器,例如一个或多个麦克风。例如,在手持设备60包括蜂窝电话功能的情况下,输入接收器可被配置为接收用户音频输入,例如用户语音。此外,音频输入/输出元件70可包括一个或多个输出发射器。这些输出发射器可包括一个或多个扬声器,其可以例如在使用媒体播放器应用72回放音乐数据时起到将音频信号传送给用户的作用。此外,在手持设备60包括蜂窝电话应用的实施例中,如图5所示,还可提供附加的音频输出发射器74。类似于音频输入/输出元件70的输出发射器,输出发射器74也可包括一个或多个被配置为将音频信号(例如在电话呼叫期间接收到的语音数据)传送至用户的扬声器。因此,音频输入/输出元件70和74可联合地操作以作为电话的音频接收和发射元件。
现已提供了一些关于电子设备10可采用的多种形式的背景,于是本公开将关注于图1所描绘的图像处理电路32。如上所述,图像处理电路32可使用硬件和/或软件部件来实现,并且可以包括定义图像信号处理(ISP)流水线的各种处理单元。具体而言,以下讨论会关注在本公开中阐述的图像处理技术的各方面,尤其是涉及缺陷像素检测/校正技术、镜头明暗校正技术、去马赛克技术和图像锐化技术的那些方面。
现在参考图7,例示了依照当前公开的技术的一个实施例的描绘了可实现为图像处理电路32的一部分的多个功能性部件的简化顶层方框图。具体地,图7旨在依照至少一个实施例来例示图像数据可如何流过图像处理电路32。为了提供对图像处理电路32的一般概观,这里参考图7提供了这些功能性部件如何操作以处理图像数据的一般描述,同时,后面将进一步提供所示的功能性部件的每一个及其各自的子部件的更具体的描述。
参考所示的实施例,图像处理电路32可包括图像信号处理(ISP)前端处理逻辑80、ISP流水处理逻辑82和控制逻辑84。由成像设备30捕捉的图像数据首先由ISP前端逻辑80处理,并对其进行分析以获得可被用于确定ISP流水逻辑82和/或成像设备30的一个或多个控制参数的图像统计信息。ISP前端逻辑80可被配置为从图像传感器输入信号获得图像数据。例如,如图7所示,成像设备30可包括具有一个或多个镜头88和(一个或多个)图像传感器90的相机。如上所述,(一个或多个)图像传感器90可以包括滤色器阵列(例如拜耳滤波器),并且因此可以提供由图像传感器90的每个成像像素获得的光强和波长信息,从而提供可由ISP前端逻辑80处理的一组原始图像数据。例如,成像设备30的输出92可由传感器接口94接收,随后例如基于传感器接口类型,传感器接口94可将原始图像数据96提供给ISP前端逻辑80。作为示例,传感器接口94可利用标准移动成像架构(SMIA)接口或移动工业处理器接口(MIPI),或它们的某些组合。在特定实施例中,ISP前端逻辑80可在其自身的时钟域内操作,并且可以向传感器接口94提供异步接口以支持具有不同大小和定时需求的图像传感器。
原始图像数据96可被提供给ISP前端逻辑80,并以多种格式被逐像素地处理。例如,每个图像像素可具有8,10,12或14位的位深。ISP前端逻辑80可对原始图像数据96执行一个或多个图像处理操作,并收集关于图像数据96的统计数据。可以以相同的或不同的位深精度来执行图像处理操作和统计数据的收集。例如,在一个实施例中,可以以14位精度来执行原始图像像素数据96的处理。在这些实施例中,由ISP前端逻辑80接收到的具有小于14位(例如8位,10位,12位)位深的原始像素数据被上采样至14位以用于图像处理目的。在另一个实施例中,可以以8位精度进行统计处理,因此具有更高位深的原始像素数据可被下采样至8位格式用以统计目的。可以明了的是,下采样至8位可降低硬件大小(例如面积)并且还能减少用于统计数据的处理/计算复杂度。此外,原始图像数据可被空间平均以允许统计数据对噪声更为鲁棒。
此外,如图7所示,ISP前端逻辑80还可从存储器108接收像素数据。例如,如参考标记98所示,原始像素数据可从传感器接口94被发送到存储器108。如参考标记100所示,驻留在存储器108中的原始像素数据随后可被提供给ISP前端逻辑80以供处理。存储器108可以是存储设备20、存储器设备18的一部分,或者可以是电子设备10内的单独的专用存储器并且可包括直接存储器访问(DMA)特征。此外,在特定实施例中,ISP前端逻辑80可在其本身的时钟域内操作,并且向传感器接口94提供异步接口以支持不同大小并且具有不同定时需求的传感器。
一旦接收到原始图像数据96(从传感器接口94)或100(从存储器108),ISP前端逻辑80可以执行一个或多个图像处理操作,例如时域滤波和/或像素合并补偿滤波。经处理的图像数据随后可被提供给ISP流水逻辑82(输出信号109)以便在被显示(例如在显示设备28上)之前进行其他处理,或者可被发送到存储器(输出信号110)。ISP流水逻辑82直接从ISP前端逻辑80或者从存储器108(输入信号112)接收“前端”经处理的数据,并且提供对原始域中以及RGB和YCbCr颜色空间中的图像数据的其他处理。由ISP流水逻辑82处理后的图像数据随后可被输出(信号114)到显示器28以供用户观看和/或可由图形引擎或GUP进行进一步处理。此外,ISP流水逻辑82的输出可被发送到存储器108(信号115),并且显示器28可从在特定实施例中被配置为实现一个或多个帧缓冲器的存储器108(信号116)读取图像数据。此外,在一些实施方式中,ISP流水逻辑82的输出还可被提供给压缩引擎118(信号117)以用于在由显示器28读取(信号119)之前编码图像数据。作为示例,压缩引擎或“编码器”118可以是用于编码静态图像的JPEG压缩引擎,或用于编码视频图像的H.264压缩引擎,或它们的组合。后面将参考图27-57来更加详细的讨论可在ISP流水逻辑82中提供的关于图像处理操作的附加信息。同样的,应当注意的是ISP流水逻辑82还可从存储器108接收原始图像数据,其被描述为输入信号112。
由ISP前端逻辑80确定的统计数据102可被提供给控制逻辑单元84。统计数据102可包括,例如关于自动曝光、自动白平衡、自动对焦、闪烁检测、黑度补偿(BLC)、镜头明暗校正等的图像传感器统计信息。控制逻辑84可包括处理器和/或微控制器,其被配置为执行一个或多个例程(例如固件),所述例程可被配置为基于接收到的统计数据102来确定用于成像设备30的控制参数104和用于ISP流水处理逻辑82的控制参数106。仅作为示例,控制参数104可包括传感器控制参数(例如增益、曝光控制的累积时间)、相机闪光灯控制参数、镜头控制参数(例如对焦的对焦长度或变焦的焦距)或这些参数的组合。ISP控制参数106可包括用于自动白平衡和颜色调整(例如在RGB处理期间)的增益等级和颜色校正矩阵(CCM)系数,以及如下所讨论的可基于白点平衡参数而确定的镜头明暗校正参数。在一些实施例中,除了分析统计数据102之外,控制逻辑84还可分析可存储在电子设备10上(例如存储器18或存储器20内)的历史统计信息。
由于此处所示的图像处理电路32的总体复杂设计,如下所示,将关于ISP前端逻辑80和ISP流水处理逻辑82的讨论划分为单独的部分会是有益的。具体而言,本申请的图8至26可涉及ISP前端逻辑80的多个实施例和各方面的讨论,而本申请的图27至57可涉及ISP流水处理逻辑82的多个实施例和各方面的讨论。
ISP前端处理逻辑
图8是示出了依照一个实施例的可在ISP前端逻辑80中实现的功能性逻辑块的更详细方框图。基于成像设备30和/或传感器接口94的构造,如图7所示,可由一个或多个图像传感器90将原始图像数据提供给ISP前端逻辑80。在所描绘的实施例中,可通过第一图像传感器90a(传感器0)和第二图像传感器90b(传感器1)将原始图像数据提供给ISP前端逻辑80。如图所示,图像传感器90a和90b可分别提供原始图像数据作为信号Sif0和Sif1。图像传感器90a和90b中的每一个可与相应的统计处理单元120和122相关联。
进一步地,应当注意,原始图像数据Sif0和Sif1可直接提供给它们相应的处理单元120和122,或者可以存储在或写入存储器108中并随后分别作为信号SifIn0和SifIn1被检索。因而,ISP前端逻辑80可包括选择逻辑124,选择逻辑124可以向统计处理单元120提供表示由传感器0(90a)捕捉的原始图像数据的Sif0或SifIn0信号,并且,ISP前端逻辑80还可以包括选择逻辑126,选择逻辑126可以向统计处理单元122提供表示由传感器1(90b)捕捉的原始图像数据的Sif1或SifIn1信号。每一个统计处理单元120和122可确定通过分析原始图像传感器数据所获得的各种统计数据,并且可以确定相应的统计信息集合,如输出信号Stats0和Stats1所示。如上所述,统计数据(Stats0和Stats1)可被提供给控制逻辑84以用于各控制参数的确定,这些控制参数可被用于操作成像设备30和/或ISP流水处理逻辑82。
除了统计处理单元120和122,ISP前端逻辑80可进一步包括像素处理单元130。像素处理单元130可逐像素地对原始图像数据执行各种图像处理操作。如所示的,通过选择逻辑132,像素处理单元130可接收原始图像信号Sif0(来自传感器0)或Sif1(来自传感器1),或者可以接收来自存储器108的原始图像数据FEProcIn。如同可以明了的,可由任何适合类型的逻辑来提供图8所示的选择逻辑块(120、122和132),例如响应于控制信号而选择多个输入信号中的一个的多路复用器。在执行以下将进一步讨论的像素处理操作时,FEProc130还可接收和输出多种信号(例如可表示在时域滤波期间使用的运动历史和亮度数据的Rin、Hin、Hout和Yout)。然后,像素处理单元130的输出109(FEProcOut)可诸如通过一个或多个先进先出(FIFO)队列被转发到ISP流水逻辑82,或者可被发送到存储器108。
在继续图8的ISP前端逻辑80中描绘的统计处理和像素处理操作的更详细描述之前,相信关于各种ISP帧区域的定义的简要介绍会有助于更好的理解本技术方案。带着这样的想法,图9例示了在图像源帧内定义的各种帧区域。提供给图像处理电路32的源帧的格式可以使用以上所述的分块或线性寻址模式,并且可利用8、10、12或14位精度的像素格式。如图9所示的图像源帧150可包括传感器帧区域152、原始帧区域154和活动区域156。传感器帧152一般是图像传感器90可以提供给图像处理电路32的最大帧大小。原始帧区域154可被定义为传感器帧152的被发送到ISP前端处理逻辑80的区域。活动区域256可被定义为源帧150的一部分,其是典型地位于原始帧区域156内并对其进行具体图像处理操作的那部分。依照本技术的实施例,对于不同的图像处理操作,活动区域156可以相同或不同。
依照本技术的一些方面,ISP前端逻辑80仅接收原始帧154。因此,出于本讨论的目的,用于ISP前端处理逻辑80的全局帧大小可假设为由宽158和高160确定的原始帧大小。在一些实施例中,可以通过控制逻辑84确定和/或保存从传感器帧152到原始帧154的边界偏移量。例如,控制逻辑84可包括基于输入参数来确定原始帧区域154的固件,所述输入参数诸如是所指定的相对于传感器帧152的x偏移量162和y偏移量164。此外,在一些情况下,在ISP前端逻辑80或ISP流水逻辑82内的处理单元可具有预定义的活动区域,使得在原始帧内但在活动区域156外的像素将不被处理,即,保持不变。例如,可基于相对于原始帧154的x偏移量170和y偏移量172来定义用于具体处理单元的具有宽166和高168的活动区域156。此外,对于活动区域没有被具体定义的情况,图像处理电路32的一个实施例可以假设活动区域156与原始帧154相同(例如x偏移量170和y偏移量172都等于0)。因此,为了对图像数据进行图像处理操作,关于原始帧154或活动区域156的边界,可以定义边界条件。
带着这样的想法并参考图10,例示了依照本技术一个实施例的ISP前端像素处理逻辑130(之前在图8中讨论了)的更详细视图。如图所示,ISP前端像素处理逻辑130包括时域滤波器180和像素合并补偿滤波器182。时域滤波器180可接收输入图像信号Sif0、Sif1或FEProcIn中的一个,并且可在执行任何附加处理之前对原始像素数据进行操作。例如,时域滤波器180可首先处理图像数据以通过在时间方向上对图像帧进行平均而降低噪声。
时域滤波器180可以是基于运动和明亮度特征而像素自适应的。例如,当像素运动较大时,可降低滤波强度以避免得到的经处理的图像中出现“拖尾”或“重影伪像”,反之当检测到轻微运动或无运动时,可增加滤波强度。此外,还可基于明亮度数据(例如“亮度”)来调整滤波强度。例如,随着图像明亮度增加,滤波伪影变得更容易被人眼察觉。因此,当像素具有较高明亮度水平时应当进一步降低滤波强度。
在应用时域滤波时,时域滤波器180可接收可来自于前一经滤波的帧或初始帧的参考像素数据(Rin)和运动历史输入数据(Hin)。使用这些参数,时域滤波器180可提供运动历史输出数据(Hout)和经滤波的像素输出(Yout)。接着经滤波的像素输出Yout被传递到像素合并补偿滤波器182,后者可被配置为对经滤波的像素输出数据Yout执行一个或多个缩放操作以产生输出信号FEProcOut。接着,经处理的像素数据FEProcOut可被转发至如上所述的ISP流水处理逻辑82。
参考图11,例示了根据一个实施例描绘的可由图10所示的时域滤波器执行的时域滤波处理190的处理框图。时域滤波器180可包括2抽头滤波器,其中滤波器系数可至少部分基于运动和明亮度数据而逐像素地进行自适应调整。例如,可将具有表示时间值的变量“t”的输入像素x(t)与在前一经滤波的帧或前一初始帧中的参考像素r(t-1)作比较,以生成在可包含滤波器系数的运动历史表(M)192中的运动索引查找。此外,基于运动历史输入数据h(t-1),可以确定对应于当前输入像素x(t)的运动历史输出h(t)。
可基于运动增量d(j,i,t)来确定运动历史输出h(t)和滤波器系数K,其中(j,i)表示当前像素x(j,i,t)的空间位置的坐标。可通过确定对于具有相同颜色的水平并置的三个像素的初始和参考像素之间的三个绝对增量的最大值来计算运动增量d(j,i,t)。例如,简单参考图12,例示了对应于初始输入像素206、208和210的三个并置参考像素200、202和204的空间位置。在一个实施例中,可使用以下的公式基于这些初始和参考像素来计算运动增量:
d(j,i,t)=max3[abs(x(j,i-2,t)-r(j,i-2,t-1)),
(abs(x(j,i,t)-r(j,i,t-1)), (1)
(abs(x(j,i+2,t)-r(j,i+2,t-1))]
参考回图11,一旦确定了运动增量值,可以通过将用于当前像素(例如在空间位置(j,i))的运动增量d(t)与运动历史输入h(t-1)相加来计算可被用来从运动表(M)192中选择滤波器系数K的运动索引查找。例如,可通过以下等式来确定滤波器系数K:
K=M[d(j,i,t)+h(j,i,t-1)] (2)
此外,可使用以下公式来确定运动历史输出h(t):
h(j,i,t)=d(j,i,t)+(1-K)×h(j,i,t-1) (3)
接着,可以使用当前输入像素x(t)的明亮度来生成亮度表(L)194内的亮度索引查找。在一个实施例中,亮度表可包括可位于0和1之间且可基于亮度索引而被选择的衰减因子。可通过将第一滤波器系数K乘上亮度衰减因子来计算第二滤波器系数K’,如以下等式所示:
K'=K×L[x(j,i,t)] (4)
所确定的值K’随后可被用作时域滤波器180的滤波系数。如上所述,时域滤波器180可以是2抽头滤波器。此外,时域滤波器180可被配置为使用前一经滤波的帧的无限脉冲响应(IIR)滤波器,或使用前一初始帧的有限脉冲响应(FIR)滤波器。时域滤波器180可以使用当前输入像素x(t)、参考像素r(t-1)和滤波器系数K’通过以下公式来计算经滤波的输出像素y(t)(Yout):
y(j,i,t)=r(j,i,t-1)+K'(x(j,i,t)-r(j,i,t-1)) (5)
如上所讨论的,可逐像素地执行如图11所示的时域滤波处理190。在一个实施例中,可以对于所有颜色分量(例如R、G和B)使用相同的运动表M和亮度表L。此外,一些实施例可提供旁路机制,其中可以例如响应于来自控制逻辑84的控制信号而旁路时域滤波。
随后可将时域滤波器180的输出发送到像素合并补偿滤波器(BCF)182,后者可处理图像像素以补偿颜色样本的非线性分布,使得随后在ISP流水逻辑82中的依赖于颜色样本的线性分布的图像处理操作(例如去马赛克等)能够正确运行。此外,BCF 182还可通过应用一个或多个缩放操作,诸如垂直和/或水平缩放,来处理像素数据。图13示出了依照一个公开的实施例的可包括缩放逻辑214和微分分析器216的像素合并补偿滤波器182的框图,并且图14示出了可用于执行缩放操作的处理220。
如图13所示,缩放逻辑214可产生输出FEProcOut(109),如上所述的,FEProcOut(109)可被转发到ISP流水逻辑82以供其它处理,下面将对此进行进一步讨论。在一个实施例中,可使用一个或多个多抽头多相滤波器来执行由BCF 182的执行的(一个或多个)缩放操作,该多抽头多相滤波器可从源图像中选择像素,将每个像素乘以加权因子,然后计算像素值的总和以形成目的像素。应当理解,缩放操作中所使用的像素的选择可至少部分取决于当前像素位置和滤波器提供的抽头数量。此外,滤波操作可以使用相同颜色的像素对每个颜色分量进行,并且加权因子(或系数)可以从查找表获得并基于当前的像素间分数位置来确定。
在所描绘的实施例中,微分分析器216可以是数字微分分析器(DDA),并且可以被配置为在缩放操作期间控制当前像素位置。仅作为示例,DDA 216可被提供为32位数据寄存器,其包含具有12位整数部分和20位分数部分的二进制补码定点数。12位整数部分可被用于确定当前像素位置。分数部分被用作到系数表中的索引。在一个实施例中,垂直和水平缩放部件可利用8深度系数表,由此20位分数部分的3个高位被用于索引。
为了提供基于32位DDA寄存器(DDA[31:0])的例子,当前中心源像素位置(currPixel)可由12位整数部分DDA[21:20]来定义,并且如果下一位DDA[19]为1则可以向上取整(+1)。然后,与currPixel邻近的像素的源像素值可以根据滤波器提供的抽头数量来获得。例如,在一个实施例中,垂直缩放可以用3抽头多相滤波器来执行,从而currPixel每一侧的具有相同颜色的一个像素被选择(例如,-1,0,+1),而水平缩放可以用5抽头多相滤波器来执行,其中currPixel每一侧的具有相同颜色的两个像素被选择(例如,-2,-1,0,+1,+2)。进一步地,每个抽头可具有其自己相应的系数表。因而,可以为3抽头垂直缩放滤波器提供三个8深度表,并且可以为5抽头水平缩放滤波器提供五个8深度表。当前系数索引(currIndex)可以由DDA[19:16](分数部分DDA[19:0]的3个高位)来定义,并且如果下一位DDA[15]为1则可以向上取整(+1)。
因此,在BCF 182中发生的滤波处理可包括获取在中心像素(currPixel)周围的源像素值,并将它们乘以利用currIndex从表中访问得到的合适的系数。一旦完成了针对给定像素的滤波处理,步进值(DDAstep)可被加到DDA 216以确定下一像素的位置,并且可以为该随后的像素重复滤波/缩放操作。这进一步由图14中说明的处理220示出。例如,在步骤222开始,DDA 216被初始化并且当前像素位置被识别。如上面所讨论的,当DDA 216包括32位寄存器以用于存储二进制补码定点数时,当前像素位置可以由寄存器数据的高12位(整数部分)来指定。
在步骤224,为垂直和水平缩放二者执行多抽头滤波。例如,假设分别为垂直和水平滤波使用3抽头和5抽头多相滤波器,并且假设图像传感器90使用拜耳颜色滤波器模式(图2),则垂直缩放部件可包括四个分开的3抽头多相滤波器,各自用于一个颜色分量:Gr、R、B和Gb。每个3抽头滤波器可使用一个DDA来控制当前中心像素的步进和用于系数的索引。同样,水平缩放部件可包括四个分开的5抽头多相滤波器,各自用于一个颜色分量:Gr、R、B和Gb。每个5抽头滤波器可使用一个DDA来控制当前中心像素的步进和用于系数的索引。对于边界的情况,水平和垂直滤波处理中所使用的像素可取决于由DDA所确立的当前像素的位置。例如,如果DDA值表明当前像素(currPixel)靠近帧边界,从而滤波器所需的源像素中的一个或多个位于边界之外,则可以重复边界像素。
最后,如步骤226所示,一旦针对给定当前像素(currPixel)的垂直和水平缩放操作已经完成,DDA 216可步进到下一像素的位置,并且处理220可返回步骤224以便对下一像素执行垂直和水平缩放。如上所述的,BCF 182的输出(其可以是输出FEProcOut(109))可被转发到ISP流水处理逻辑82以供其他处理。然而,在将该讨论的焦点转移到ISP流水处理逻辑82之前,首先将给出对可在ISP前端逻辑80中实现的统计处理单元(例如122和124)可提供的各种功能的更详细描述。
重新参考统计处理单元120和122的一般描述,这些单元可被配置为收集关于捕捉并提供原始图像信号(Sif0和Sif1)的图像传感器的各种统计信息,例如关于自动曝光、自动白平衡、自动对焦、闪烁检测、黑度补偿和镜头明暗校正等的统计信息。因此,统计处理单元120和122首先可向它们各自的输入信号Sif0(来自传感器0)和Sif1(来自传感器1)应用一个或多个图像处理操作。
例如,参考图15,例示了依照一个实施例的与传感器0(90a)相关联的统计处理单元120的更详细方框图视图。如图所示,统计处理单元120可包括以下功能块:缺陷像素检测和校正逻辑230、黑度补偿(BLC)逻辑232、镜头明暗校正逻辑234、逆BLC逻辑236和统计信息收集逻辑238。以下将讨论这些功能块的每一个。此外,应当理解的是可以通过类似的方式来实现与传感器1(90b)相关联的统计处理单元122。
首先,通过前端缺陷像素校正逻辑230来接收选择逻辑124的输出(Sif0或SifIn0)。将明了的是,“缺陷像素”可以理解为在图像传感器90内的无法准确感应光水平的成像像素。缺陷像素可归咎于一些因素,并且其可包括“燥点(hot pixel)”(或漏电像素)、“亮点(stuck pixel)”和“坏点(dead pixel)”。“燥点”一般表现为比对于在相同空间位置的给予相同光亮的非缺陷像素更亮。燥点的产生可归因于重置失败和/或高泄漏。例如,燥点可呈现出比非缺陷像素的正常电荷泄漏更高的电荷泄漏,因此可能比非缺陷像素表现得更亮。此外,“坏点”和“亮点”可能是诸如灰尘或其他微量材料之类的杂质在制造和/或装配过程中污染了图像传感器的结果,其可导致某些缺陷像素比非缺陷像素更暗或更亮,或者可导致缺陷像素固定在特定值而不管其实际曝光的光量。此外,在图像传感器操作期间发生的电路故障也可导致坏点和亮点。作为示例,亮点可以看上去为常开(全充电)并且因此看上去更亮,而坏点则看上去为常关。
在ISP前端逻辑80中的缺陷像素检测和校正(DPDC)逻辑230可在统计信息收集(例如238)中考虑缺陷像素之前对这些缺陷像素进行校正(例如替换缺陷像素值)。在一个实施例中,对于每个颜色分量(例如拜耳模式的R、B、Gr和Gb)独立地执行缺陷像素校正。一般来说,前端DPDC逻辑230可提供动态缺陷校正,其中可基于使用相同颜色的邻近像素算出的方向性梯度来自动地确定缺陷像素的位置。将理解的是,在给定时刻将某个像素认为是有缺陷的像素可取决于邻近像素中的图像数据,在此意义上缺陷可以是“动态的”。作为示例,如果总是处于最大亮度的亮点的位置处于当前图像的由更亮颜色或白色主导的区域内,那么该亮点可能不会被认为是缺陷像素。相反,如果亮点处于当前图像的由黑色或更暗颜色主导的区域,则在由DPDC逻辑230处理期间该亮点可被识别为缺陷像素,并被相应地校正。
DPDC逻辑230可利用在当前像素每一侧的一个或多个具有相同颜色的水平邻近像素,使用像素至像素方向性梯度来确定当前像素是否有缺陷。如果当前像素被识别为缺陷的,可使用水平邻近像素的值来代替缺陷像素的值。例如,在一个实施例中,使用在原始帧154(图9)边界内的五个具有相同颜色的水平邻近像素,其中这五个水平邻近像素包括当前像素和每一侧的两个邻近像素。因此,如图16所示,对于给定的颜色分量c和当前像素P,DPDC逻辑230可考虑水平的邻居像素P0、P1、P2和P3。然而,应当注意的是,依赖于当前像素P的位置,当计算像素至像素梯度时,不考虑在原始帧154之外的像素。
例如,如图16所示,在“左边缘”情况240中,当前像素P位于原始帧154的最左边,因此不考虑在原始帧154之外的邻近像素P0和P1,仅留下像素P、P2和P3(N=3)。在“左边缘+1”情况242中,当前像素P离原始帧154的最左边一个单位像素,因此不考虑像素P0。仅留下像素P1、P、P2和P3(N=4)。此外,在“居中”情况244中,在当前像素P左侧的像素P0和P1和在当前像素右侧的像素P2和P3都处于原始帧154边界之内,因此在计算像素至像素梯度时考虑所有邻近像素P0、P1、P2和P3(N=5)。此外,还可遇到接近原始帧154的最右边的类似情况246和248。例如,在“右边缘-1”情况246中,当前像素P离原始帧154的最右边一个单位像素,因此不考虑像素P3(N=4)。同样的,在“右边缘”情况248中,当前像素P处于原始帧154的最右边,因此不考虑邻近像素P2和P3(N=3)。
在所示的实施例中,对于在图片(例如原始帧154)边界内的每个邻近像素(k=0至3),可如下计算像素至像素梯度:
Gk=abs(P-Pk),对于0≤k≤3(仅对于在原始帧内的k) (6)
一旦确定了像素至像素梯度,将由DPDC逻辑230执行如下的缺陷像素检测。首先,如果一定数量的像素梯度Gk等于或小于由变量dprTh表示的特定阈值,则假设该像素是有缺陷的。因此对于每个像素,图片边界内的邻近像素等于或小于阈值dprTh的梯度数量的计数(C)被累加。作为示例,对于原始帧154内的每个邻居像素,可如下的计算等于或小于阈值dprTh的梯度Gk的累加计数C:
对于0≤k≤3(仅对于在原始帧内的k)
将明了的是,取决于颜色分量,阈值dprTh可以是变化的。接着,如果累加的计数C被确定为小于或等于由变量dprMaxC表示的最大计数,则像素可被考虑为是有缺陷的。该逻辑由以下表示:
if(C≤dprMaxC),then像素是有缺陷的。(8)
使用多种替代约定来对缺陷像素进行替代。例如,在一个实施例中,可使用紧靠其左边的像素P1来代替缺陷像素。在一种边界情况下(例如P1位于原始帧154之外),可使用紧靠其右边的像素P2来代替缺陷像素。此外,应当理解的是,替代值可被保留或传播以用于后续的缺陷像素检测操作。例如,参考如图16所示的水平像素集合,如果P0或P1在之前被DPDC逻辑230识别为缺陷像素,则它们对应的替代值可被用于当前像素P的缺陷像素检测和替代。
为了总结上述的缺陷像素检测和校正技术,图17提供了描绘这种处理的流程图,并由参考标记250指代。如图所示,处理250开始于步骤252,其中接收当前像素(P)并识别一组邻居像素。依照以上所述的实施例,邻居像素可包括来自当前像素相对两侧的具有相同颜色分量的两个水平像素(例如P0、P1、P2和P3)。接着,在步骤254,如以上等式6所述,针对原始帧154内的每个邻近像素计算水平方向的像素至像素梯度。此后,在步骤256,确定小于或等于特定阈值dprTh的梯度的数量的计数C。如判定逻辑258所示,如果C小于或等于dprMaxC,则处理250继续到步骤260,并且当前像素被识别为有缺陷的。接着在步骤262使用替代值来校正缺陷像素。另外,再参考判定逻辑258,如果C大于dprMaxC,则处理继续到步骤264,并且当前像素被识别为没有缺陷,且其值不被改变。
应当注意的是在ISP前端统计处理期间应用的缺陷像素检测/校正技术可能比在ISP流水逻辑82中执行的缺陷像素检测/校正的鲁棒性要差。例如,如以下将进一步详细讨论的,在ISP流水逻辑82中执行的缺陷像素检测/校正除了动态缺陷校正之外还可提供固定缺陷校正,其中可先验得知缺陷像素的位置,并将其载入一个或多个缺陷表。此外,如下所述,在ISP流水逻辑82中的动态缺陷校正还可以考虑水平和垂直方向两者上的像素梯度,并且还可以提供对斑点(speckle)的检测/校正。
回到图15,DPDC逻辑230的输出随后被传送到黑度补偿(BLC)逻辑232。BLC逻辑232可为每个颜色分量“c”(例如拜耳的R、B、Gr和Gb)中用于统计信息收集的像素独立地提供数字增益、偏移和截短(clipping)。例如,如以下运算所示,首先通过带符号的值来偏移当前像素的输入值,接着将其乘上增益。
Y=(X+O[c])×G[c], (9)
其中X表示给定颜色分量c(例如R、B、Gr或Gb)的输入像素值,O[c]表示当前颜色分量c的带符号的16位偏移量,以及G[c]表示该颜色分量c的增益值。在一个实施例中,增益G[c]可以是具有2个整数位和14个分数位的16位无符号数(例如以浮点表示的2.14),并且可对增益G[c]应用舍入。仅作为示例,增益G[c]可具有在0至4X(例如输入像素值的四倍)之间的范围。
接着,如以下等式10所示,可将计算得到的带符号的值Y截短到最小值和最大值范围:
Y=(Y<min[c])?min[c]:(Y>max[c])?max[c]:Y) (10)
变量min[c]和max[c]分别表示最小和最大输出值的带符号的16位截短值。在一个实施例中,BLC逻辑232还可被配置成分别为每个颜色分量保存在最大值之上和在最小值之下而被截短的像素的数量的计数。
随后,BLC逻辑232的输出被转发到镜头明暗校正(LSC)逻辑234。LSC逻辑234可被配置为逐像素地应用合适的增益以补偿强度的衰落,该强度衰落一般大致正比于与成像设备30的镜头88的光学中心的距离。可以明了的是,这种衰落可能是镜头的几何光学的结果。作为示例,具有理想光学性质的镜头可被建模为入射角余弦的四次方,即cos4(θ),其被称为cos4定律。然而,由于镜头制造工艺并非完美,镜头中的各种不规则性可能导致光学性质偏离假设的cos4模型。例如,镜头的较薄的边缘(thinner edged)通常呈现最大的不规则性。另外,镜头明暗图案的不规则性也可能是在图像传感器内的微透镜阵列没有与滤色器阵列完美对齐的结果。此外,在一些镜头中的红外(IR)滤波器也可能导致衰落依赖于发光体,于是可以根据检测到的光源来调整镜头明暗增益。
参考图18,例示了用于描述典型镜头的光强度相对于像素位置的三维分布。如图所示,光强度从镜头的中心272附近向镜头的角落或边缘274逐渐降低。可通过图19更好的例示图18中所描绘的镜头明暗不规则性,图19示出了展示向着角落和边缘而光强度降低的照片276。更具体的,应当注意的是在大致位于图像中心的光强度看上去比位于图像的角落和/或边缘的光强度更亮。
依据本技术的一些实施例,镜头明暗校正增益可被指定为每个颜色通道(例如用于拜耳滤波器的Gr、R、B、Gb)一个二维增益栅格。增益栅格点可在原始帧154(图19)内以固定的水平和垂直间隔分布。如以上图9所讨论的,原始帧154可包括活动区域156,其定义了由特定图像处理操作对其执行处理的区域。关于镜头明暗校正操作,在原始帧区域154内定义了可被称为LSC区域的活动处理区域。如以下将讨论的那样,LSC区域必须完全在增益栅格边界内或边界处,否则结果可能是不明确的。
例如,参考图20,示出了可在原始帧154内定义的LSC区域280和增益栅格282。LSC区域280可具有宽284和高286,并且可由相对于原始帧154边界的x偏移量288和y偏移量290来定义。还可提供从增益栅格282的基准296到LSC区域280内的第一个像素298的栅格偏移量(例如栅格x偏移量292和栅格y偏移量294)。这些偏移量可以位于用于给定颜色分量的第一栅格间隔内。可分别为每个颜色通道独立地指定水平(x方向)和垂直(y方向)栅格点间隔300和302。
如上所述,假设使用了拜耳滤色器阵列,则可定义4个具有栅格增益的颜色通道(R、B、Gr和Gb)。在一个实施例中,总共有4K(4096)个栅格点可用,并且例如可通过使用指示器,为每个颜色通道提供用于栅格增益的开始位置的基准地址。此外,还可以以在一个颜色平面的分辨率下的像素为单位来定义水平(300)和垂直(302)栅格点间隔,在特定实施例中,在水平和垂直方向上可分别提供2的幂(例如8、16、32、64或128等)个像素的栅格点间隔。可以明了的是,通过利用2的幂,可以使用移位(例如除法)和相加操作来获得增益内插的有效实现。使用这些参数,即使图像传感器裁剪区域发生改变仍可使用相同的增益值。例如,只有少数参数需要被更新以将栅格点对齐到裁剪区域(例如更新栅格偏移量300和302),而非更新所有的栅格增益值。仅作为示例,这在数字变焦操作期间使用裁剪时可能是有益的。此外,虽然如图20的实施例所示的增益栅格282被描绘为具有基本相等间隔的栅格点,但是应当理解在其他实施例中,栅格点不是必须相等间隔。例如,在一些实施例中,栅格点可以非均匀地分布(例如对数分布),使得栅格点在LSC区域280的中心较不集中,而向着LSC区域280的角落(通常在那里镜头明暗失真更容易被察觉)更为集中。
依照此处公开的镜头明暗校正技术,在当前像素位置位于LSC区域280之外时,不应用增益(例如像素未经改变地通过)。在当前像素位置位于增益栅格位置时,可以使用该特定栅格点处的增益值。然而,在当前像素位置位于栅格点之间时,可使用双线性内插来内插增益。以下图21提供了一种为像素位置“G”内插增益的例子。
如图21所示,像素G位于栅格点G0、G1、G2和G3之间,G0、G1、G2和G3可分别对应于当前像素位置G的左上、右上、左下和右下增益。栅格间隔的水平和垂直大小分别由X和Y表示。另外,ii和jj分别表示相对于左上增益G0的位置的水平和垂直像素偏移量。基于这些因子,可如下内插对应于位置G的增益:
随后可组合以上等式11a中的各项以获得下述表达式:
在一个实施例中,可以增量方式执行该内插法,以代替对每个像素使用乘法器,从而降低计算复杂度。例如,可使用可在增益栅格282的位置(0,0)处被初始化为0并每次当前列号增大一个像素时以当前行号作为增量的加法器来实现项(ii)(jj)。如上所述,因为可将X和Y的值选为2的幂,于是可以使用简单的移位操作来实现增益内插。因此,仅在栅格点G0(而非每个像素)处需要乘法器,并且仅需要加法操作以确定用于剩下的像素的内插增益。
在特定实施例中,在栅格点之间的增益的内插可使用14位精度,且栅格增益可以是具有2个整数位和8个分数位的不带符号的10位值(例如2.8浮点表示)。使用该约定,增益可具有在0至4X之间的范围,并且在栅格点之间的增益分辨率可以是1/256。
镜头明暗校正技术可由图22所示的处理310进一步例示。如图所示,处理310开始于步骤312,其中确定当前像素相对于图20的LSC区域280边界的位置。接着,判定逻辑314确定当前像素位置是否在LSC区域280之内。如果当前像素位置在LSC区域280之外,处理310继续到步骤316,并且不对当前像素应用增益(例如,像素未经改变地通过)。
如果当前像素位置在LSC区域280之内,处理310继续到判定逻辑318,在此进一步确定当前像素位置是否对应于在增益栅格280内的栅格点。如果当前像素位置对应于栅格点,则如步骤320所示,选择在该栅格点的增益值并将其应用到当前像素。如果当前像素位置不对应于栅格点,则处理310继续到步骤322,并基于其周围的栅格点(例如图21的G0、G1、G2和G3)来内插增益。例如,可依照如上所述的等式11a和11b来计算内插增益。此后,处理310结束于步骤324,在此将来自步骤322的内插增益应用至当前像素。
将明了的是,可对图像数据的每个像素重复处理310。例如,如图23所示,例示了描绘可被应用到LSC区域(例如280)内的每个像素位置的增益的三维分布。如图所示,应用到图像角落328的增益通常可大于应用到图像中心的增益,这是因为如图18和19所示,角落具有更大的光强度衰落。使用此处描述的镜头明暗校正技术,可以减少或基本上消除图像中呈现出的光强度衰落。例如,图24提供一个在应用了镜头明暗校正之后来自图19的照片276将如何呈现的例子。如图所示,相比于来自图19的初始图像,全幅图像的整体光强度基本上更为均匀。更具体的,在图像近似中心处的光强度可与在图像的角落和/或边缘处的光强度值大致地相等。另外,如上所述,在一些实施例中,内插增益的计算(等式11a和11b)可通过利用顺序的列和行增量结构而用栅格点之间的加性“增量”来代替。将明了的是,这会降低计算复杂度。
在进一步的实施例中,除了使用栅格增益,还为每个颜色分量使用一个全局增益,其根据与图像中心的距离而缩放。图像中心可被提供为输入参数,且可通过分析被均匀照明的图像内每个图像像素的光强度幅度而估计所述图像中心。如下所示,于是可以使用在识别的中心像素和当前像素之间的径向距离来获得经线性缩放的径向增益Gr:
Gr=Gp[c]×R, (12)
其中Gp[c]表示用于每个颜色分量c(例如拜耳模式的R、B、Gr和Gb分量)的全局增益参数,并且其中R表示中心像素和当前像素之间的径向距离。
参考示出了以上讨论的LSC区域280的图25,可使用多种技术来计算或估计距离R。如图所示,对应于图像中心的像素C可具有坐标(x0,y0),并且当前像素G可具有坐标(xG,yG)。在一个实施例中,LSC逻辑234可使用以下等式来计算距离R:
在另一个实施例中,可利用以下所示的更简单的估计公式来获得R的估计值:
R=α×max(abs(xG-x0),abs(yG-y0))+β×min(abs(xG-x0),abs(yG-y0)) (14)
在等式14中,估计系数α和β可被缩放至8位值。仅作为示例,在一个实施例中,α可大致等于123/128,且β可大致等于51/128,以提供R的估计值。使用这些系数值,最大误差可大致为4%,中间误差大致为1.3%。因此,尽管该估计技术的准确度多少会低于利用计算技术(等式13)来确定R,但是误差幅度还是足够低以使得估计值或R适用于确定本发明镜头明暗校正技术的径向增益分量。
接着可将径向增益Gr乘上用于当前像素的内插栅格增益值G(等式11a和11b)以确定可被应用到当前像素的总增益。如下所示,通过将输入像素值X乘上总增益来获得输出像素Y:
Y=(G×Gr×X) (15)
因此,依照本技术,可仅使用内插增益或者使用内插增益和径向增益分量两者来执行镜头明暗校正。作为替换,可仅使用径向增益连同补偿径向近似误差的径向栅格表来完成镜头明暗校正。例如,可以提供具有定义径向和角向的增益的多个栅格点的径向增益栅格以代替如图20所示的矩形增益栅格282。因此,当确定增益要被应用到未与LSC区域280内的径向栅格点之一对齐的像素时,可以使用四个围绕该像素的栅格点来应用内插以确定合适的内插镜头明暗增益。
参考图26,由处理340例示了镜头明暗校正中内插和径向增益分量的使用。应当注意的是,处理340可以包括与在图22中描述的处理310相似的步骤。因而,这样的步骤被标记为相同的参考标号。其开始于步骤312,接收当前像素并确定其相对于LSC区域280的位置。接着,判定逻辑314确定当前像素位置是否处于LSC区域280之内。如果当前像素位置在LSC区域280之外,处理340继续到步骤316,并且不对当前像素应用增益(例如,像素未经改变地通过)。如果当前像素位置处于LSC区域280之内,则处理340可同时继续到步骤342和判定逻辑318。首先参考步骤342,检索用于识别图像中心的数据。如上所述,确定图像中心可包括分析在均匀照明下的像素的光强度幅度。例如,这可在校准期间发生。因此,应当理解的是步骤342没有必要包括为处理每个像素而重复计算图像中心,而是可涉及检索出先前确定的图像中心的数据(例如,坐标)。一旦识别了图像中心,处理340可继续到步骤344,其中确定图像中心和当前像素位置之间的距离(R)。如上所述,可以计算(等式13)或估计(等式14)R的值。接着,在步骤346,可使用距离R和与当前像素的颜色分量相对应的全局增益参数来计算径向增益分量Gr(等式12)。如以下将在步骤350要讨论的那样,径向增益分量Gr可被用于确定总增益。
参考回判定逻辑318,其确定当前像素位置是否对应于处于增益栅格280之内的栅格点。如果当前像素位置对应于栅格点,则如步骤348所示,确定在栅格点上的增益值。如果当前像素位置不对应于栅格点,则处理340继续到步骤322,并且基于其周围的栅格点(例如,图21的G0、G1、G2和G3)来计算内插增益。例如,可依照以上讨论的等式11a和11b来计算内插增益。接着,在步骤350,基于在步骤346确定的径向增益以及栅格增益(步骤348)或内插增益(322)之一来确定总增益。可以明了的是,这可取决于在处理340期间判定逻辑318采用哪一个分支。然后如步骤352所示,将总增益应用到当前像素。再次,应当注意的是,类似于处理310,也可以为图像数据的每个像素重复处理340。
径向增益连同栅格增益的使用可提供多种优点。例如,使用径向增益允许对所有颜色分量使用单个共用增益栅格。这将大大减少用于为每个颜色分量存储的单独的增益栅格所需要的总存储空间。例如,在拜耳图像传感器中,为所有R、B、Gr和Gb分量都使用单个增益栅格可以减少大约75%的增益栅格数据。将明了的是,栅格增益数据的这一减少可降低实现成本,因为栅格增益数据表可能会占用图像处理硬件中存储器或芯片区域的很大部分。此外,取决于硬件实现,使用单个增益栅格值集合还可提供其他优点,例如降低总芯片面积(例如当增益栅格值被存储在芯片上的存储器内时)以及降低存储器带宽需求(例如当增益栅格值被存储在芯片外的外部存储器内时)。
在透彻描述了如图15所示的镜头明暗校正逻辑234的功能后,LSC逻辑234的输出随后被转发给逆黑度补偿(IBLC)逻辑236。IBLC逻辑236为每个颜色分量(例如R、B、Gr和Gb)独立地提供增益、偏移和截短,并且通常执行BLC逻辑232的逆功能。例如,如以下运算所示,首先将输入像素值乘上增益,接着使用带符号的值进行偏移。
Y=(X×G[c])+O[c], (16)
其中X表示给定颜色分量c(例如R、B、Gr或Gb)的输入像素值,O[c]表示用于当前颜色分量c的带符号的16位偏移量,以及G[c]表示用于颜色分量c的增益值。在一个实施例中,增益G[c]可具有大约在0至4X(输入像素值X的四倍)之间的范围。应当注意的是,这些变量可以是如上所讨论的等式9中的相同变量。使用例如等式10,计算出的值Y可被截短到最小值和最大值范围。在一个实施例中,IBLC逻辑236可被配置成为每个颜色分量保存分别在最大值之上和在最小值之下而被截短的像素数量计数。
此后,由统计信息收集块238来接收IBLC逻辑236的输出,该统计信息收集块238可提供关于(一个或多个)图像传感器90的各种统计数据点的收集,例如关于自动曝光(AE)、自动白平衡(AWB)、自动对焦(AF)、闪烁检测等的统计数据点。以下提供简要概述来讨论AWB、AE和AF统计信息的意义。
关于白平衡,图像传感器在每个像素上的响应可以取决于照明源,因为光源从图像场景中的物体被反射。于是,图像场景中所记录的每个像素值与光源的色温有关。当以低色温照明白色物体时,该物体在被捕捉的图像中可能看上去偏红。反之,以高色温照明白色物体时,该物体在被捕捉的图像中可能看上去偏蓝。因此,白平衡的目的是调整RGB值,以使得图像在人眼看上去像是在规范光下拍摄的。于是,在关于白平衡的成像统计信息的情况中,收集关于白色物体的颜色信息以确定光源的色温。一般来说,白平衡算法可包括两个主要步骤。首先,估计光源的色温。其次,使用估计的色温来调整颜色增益值和/或确定/调整颜色校正矩阵的系数。这样的增益可以是模拟和数字图像传感器增益以及ISP数字增益的组合。
接下来,自动曝光通常指的是调整像素积分时间和增益以控制所捕捉图像的亮度的处理。例如,自动曝光可通过设置积分时间来控制由(一个或多个)图像传感器捕捉的场景的光量。此外,自动对焦可以指确定镜头的最佳对焦长度以充分地优化图像的对焦。因此,可经由统计信息收集块238来确定并收集尤其是这些各种类型的统计信息。如所示的,统计信息收集块238的输出STATS0可被发送到存储器108并且然后被路由到控制逻辑84,或者可替换地,可被直接发送到控制逻辑84。
如上所述,控制逻辑84可处理收集到的统计数据以确定用于控制成像设备30和/或图像处理电路32的一个或多个控制参数。例如,这样的控制参数可以包括用于操作图像传感器90的镜头的参数(例如对焦长度调整参数)、图像传感器参数(例如模拟和/或数字增益、积分时间)以及ISP流水处理参数(例如数字增益值、颜色校正矩阵(CCM)系数)。另外,如上所述,在特定实施例中,可以8位的精度来进行统计处理,因此,具有更高位深的原始像素数据可被下采样到8位格式以用于统计目的。如上所述,下采样到8位(或任何其他更低位分辨率)可减小硬件尺寸(例如面积),还能降低处理复杂度,并且使得统计数据对于噪声更为鲁棒(例如使用图像数据的空间平均)。
在对ISP前端逻辑80下游的ISP流水逻辑82进行详细讨论之前,应当理解的是在统计处理单元120和122中的各种功能性逻辑块(例如逻辑块230、232、234、236和238),以及ISP前端像素处理单元130中的各种功能性逻辑块(例如逻辑块180和182)的布置仅旨在例示本技术的一个实施例。实际上,在其他实施例中,可以按照不同顺序来布置此处例示的逻辑块,或者可包括用于执行未在此处特别描述的附加图像处理功能的附加逻辑块。此外,应当理解的是在统计处理单元(例如120和122)中执行的图像处理操作,例如镜头明暗校正、缺陷像素检测/校正和黑度补偿,是出于收集统计数据的目的而在统计处理单元内执行的。因此,对由统计处理单元接收到的图像数据执行的处理操作实际上没有反映在从ISP前端像素处理逻辑130输出并被转发到ISP流水处理逻辑82的图像信号109上(FEProcOut)。
在继续之前,还应当注意的是,假设充足的处理时间和此处所描述的各种操作的许多处理需求之间的相似性,有可能重新配置此处所示的功能块以顺序方式来执行图像处理,而不是流水线性质。将会理解,这可能进一步降低整体硬件实现成本,但是可能增加到外部存储器的带宽(例如为了高速缓存/存储中间结果/数据)。
ISP流水线(“流水”)处理逻辑
以上已详细描述了ISP前端逻辑80,现在本讨论将其重点转移到ISP流水处理逻辑82。一般来说,ISP流水逻辑82的功能是接收可由ISP前端逻辑80提供的或从存储器108检索出的原始图像数据,并且对其执行附加图像处理操作,也就是在将图像数据输出到显示设备28之前进行处理。
图27描绘了示出ISP流水逻辑82的一个实施例的方框图。如图所示,ISP流水逻辑82可包括原始处理逻辑360、RGB处理逻辑362和YCbCr处理逻辑364。原始处理逻辑360可执行多种图像处理操作,例如以下将进一步讨论的缺陷像素检测和校正、镜头明暗校正、去马赛克、以及为自动白平衡应用增益和/或设置黑度。如本实施例所示,取决于选择逻辑368的当前配置,到原始处理逻辑360的输入信号370可以是来自ISP前端逻辑80的原始像素输出109(信号FEProcOut)或来自存储器108的原始像素数据112。
作为在原始处理逻辑360内执行去马赛克操作的结果,图像信号输出372可以处于RGB域,并可以在随后被转发至RGB处理逻辑362。例如,如图27所示,RGB处理逻辑362接收信号378,取决于选择逻辑376的当前配置,该信号378可以是输出信号372或来自存储器108的RGB图像信号374。RGB处理逻辑362可提供多种RGB颜色调整操作,包括以下将进一步讨论的颜色校正(例如使用颜色校正矩阵)、用于自动白平衡的颜色增益的应用、以及全局色调映射。RGB处理逻辑364还可提供RGB图像数据到YCbCr(亮度/色度)颜色空间的颜色空间变换。于是,图像信号输出380可以处于YCbCr域,并可在随后被转发至YCbCr处理逻辑364。
例如,如图27所示,YCbCr处理逻辑364接收信号386,取决于选择逻辑384的当前配置,该信号386可以是来自RGB处理逻辑362的输出信号380,或是来自存储器108的YCbCr信号382。如以下将进一步进行详细讨论的,YCbCr处理逻辑364可提供在YCbCr颜色空间内的图像处理操作,包括缩放,色度抑制,亮度锐化,亮度、对比度和颜色(BCC)调整,YCbCr伽马映射,色度抽选等。YCbCr处理逻辑364的图像信号输出390可被发送到存储器108,或可作为图像信号114(图7)从ISP流水处理逻辑82输出。图像信号114可被发送到显示设备28(直接地或通过存储器108),以供用户观看,或者可使用压缩引擎(例如编码器118)、CPU/GPU、图形引擎等而被进一步处理。
依照本技术的实施例,ISP流水逻辑82可支持8位、10位、12位或14位格式的原始像素数据的处理。例如在一个实施例中,8位、10位或12位的输入数据可在原始处理逻辑360的输出处被变换为14位,并且可使用14位精度来执行原始处理和RGB处理操作。在后一个实施例中,可在将RGB数据变换到YCbCr颜色空间之前,将14位图像数据下采样到10位,并且可以使用10位精度来执行YCbCr处理(逻辑364)。
为了提供对由ISP流水处理逻辑82所提供的多种功能的全面描述,以下将顺序的讨论原始处理逻辑360、RGB处理逻辑362和YCbCr处理逻辑364中的每一个,以及可在各个逻辑单元360、362和364中实现的用于执行各种图像处理操作的内部逻辑,首先从原始处理逻辑360开始。例如,现在参考图28,根据本技术的一个实施例,例示了示出原始处理逻辑360的一个实施例的更详细视图的方框图。如图所示,原始处理逻辑360包括增益、偏移和钳位(GOC)逻辑394,缺陷像素检测/校正(DPDC)逻辑396,降噪逻辑398,镜头明暗校正逻辑400,GOC逻辑402和去马赛克逻辑404。此外,虽然以下所讨论的例子假设结合(一个或多个)图像传感器90使用拜耳滤色器阵列,但是应当理解本技术的其他实施例也可利用不同类型的滤色器。
可以是原始图像信号的输入信号370首先由增益、偏移和钳位(GOC)逻辑394接收。GOC逻辑394可以提供与如以上图15中所讨论的有关ISP前端逻辑80的统计处理单元120的BLC逻辑232类似的功能,并以类似的方式来实现。例如GOC逻辑394可为拜耳图像传感器的每个颜色分量R、B、Gr和Gb独立地提供数字增益、偏移和钳位(截短)。更具体的,GOC逻辑394可以执行自动白平衡或设置原始图像数据的黑度。此外,在一些实施例中,GOC逻辑394还可被用来校正或补偿Gr和Gb颜色分量之间的偏移。
在操作中,当前像素的输入值首先由带符号的值来偏移,并与增益相乘。该操作可使用以上在等式9中示出的公式来执行,其中X表示用于给定颜色分量R、B、Gr或Gb的输入像素值,O[c]表示用于当前颜色分量c的带符号的16位偏移量,G[c]表示用于颜色分量c的增益值。可在统计处理期间(例如在ISP前端块80中)预先确定G[c]的值。在一个实施例中,增益G[c]可以是具有2个整数位和14个分数位的16位无符号数(例如2.14浮点表示),还可对增益G[c]应用舍入。仅作为示例,增益G[c]可具有0至4X之间的范围。
接着依照等式10将由等式9计算出的像素值Y(其包括增益G[c]和偏移量O[c])截短到最小值和最大值范围。如上所述,变量min[c]和max[c]可分别表示用于最小和最大输出值的带符号的16位“截短值”。在一个实施例中,GOC逻辑394还可被配置为保存每个颜色分量的分别在最大值范围之上和在最小值范围之下而被截短的像素的数量的计数。
随后,GOC逻辑394的输出被转发到缺陷像素检测和校正逻辑396。如以上参考图15所述(DPDC逻辑230),缺陷像素可归咎于一些因素,并且可包括“燥点”(或漏电像素)、“亮点”和“坏点”,其中燥点相对于非缺陷像素呈现出高于正常电荷泄漏的泄漏,因此可能比非缺陷像素看上去更亮;并且其中亮点看上去为常开(例如,全充电)并且因此表现的更亮,而坏点则看上去为常关。因此,希望能得到一种足够鲁棒以识别和解决不同类型的故障情形的像素检测方案。更具体的,当与可能仅能提供动态缺陷检测/校正的前端DPDC逻辑230相比较时,流水DPDC逻辑396可提供固定或静态缺陷检测/校正、动态缺陷检测/校正以及斑点移除。
依照此处公开的技术的实施例,由DPDC逻辑396执行的缺陷像素校正/检测可以为每个颜色分量(例如R、B、Gr和Gb)独立地进行,并且可包括多种用于检测缺陷像素的操作和多种用于校正检测到的缺陷像素的操作。例如,在一个实施例中,缺陷像素检测操作可提供对静态缺陷、动态缺陷的检测以及对斑点的检测,斑点可以指的是可能存在于成像传感器中的电干扰或噪声(例如光子噪声)。作为类比,斑点可能作为看上去的随机噪声伪影出现在图像中,类似于静态噪声可出现在诸如电视显示器的显示器上的方式。此外,如上所述,动态缺陷校正被在如下意义上认为是动态的:在给定的时刻将像素认为是有缺陷可取决于邻近像素中的图像数据。例如,如果总是处于最大亮度的亮点位于当前图像中由明亮白色主导的区域,则该亮点可能不被认为是缺陷像素。反之,如果亮点处于当前图像中由黑色或暗色主导的区域,则该亮点在经由DPDC逻辑396进行处理期间可被识别为缺陷像素,并被相应地校正。
关于静态缺陷检测,将每个像素的位置与静态缺陷表相比较,该表可存储了对应于已知有缺陷的像素的位置的数据。例如,在一个实施例中,DPDC逻辑396可监视缺陷像素的检测(例如使用计数器机制或寄存器),并且如果某特定像素被观察到重复地失败,该像素的位置被存储到静态缺陷表。因此,在静态缺陷检测期间,如果确定当前像素的位置处于静态缺陷表中,当前像素于是被识别为缺陷像素,并且一替代值被确定并临时存储。在一个实施例中,替代值可以是相同颜色分量的前一像素的值(基于扫描顺序)。如下所述,替代值可被用来在动态/斑点缺陷检测和校正期间校正静态缺陷。另外,如果前一像素处于原始帧154之外(图9),则不使用该前一像素的值,并可在动态缺陷校正处理期间校正静态缺陷。此外,考虑到存储器,静态缺陷表可存储有限数量的位置条目。例如,在一个实施例中,静态缺陷表可被实现为FIFO队列,其被配置为针对图像数据的每两条线存储共计16个位置。虽然如此,在静态缺陷表中定义的位置将使用前一像素替代值(而不是通过以下讨论的动态缺陷检测处理)来校正。如上所述,本技术的实施例还能够随时间间歇地更新静态缺陷表。
实施例可提供在片上存储器或片外存储器中实现的静态缺陷表。将明了的是,使用片上实现可能增加总体芯片面积/尺寸,而使用片外实现可降低芯片面积/尺寸,但会增加存储器带宽需求。因此,应当理解可取决于特定实现需求(即,将要存储在静态缺陷表中的像素的总数),片上或片外地实现该静态缺陷表。
动态缺陷和斑点检测处理可以相对于上述讨论的静态缺陷检测处理具有时移。例如,在一个实施例中,动态缺陷和斑点检测处理可于静态缺陷检测处理已经分析了两条扫描线(例如,行)的像素之后开始。可以明了的是,这允许在动态/斑点检测发生之前确定静态缺陷的识别以及它们各自的替代值。例如,在动态/斑点检测处理期间,如果当前像素在先前就被标记为静态缺陷,则使用先前估计的替代值来对静态缺陷进行简单校正,而不是应用动态/斑点检测操作。
关于动态缺陷和斑点检测,这些处理可顺序的或并行的发生。由DPDC逻辑396执行的动态缺陷和斑点检测和校正可依赖于使用像素至像素方向性梯度的自适应边缘检测。在一个实施例中,DPDC逻辑396可在所使用的原始帧154(图9)内选择当前像素的具有相同颜色分量的八个直接相邻的像素。换而言之,如下图29所示,当前像素及其八个直接相邻的像素P0、P1、P2、P3、P4、P5、P6和P7可形成3x3区域。
然而,应当注意的是,取决于当前像素P的位置,当计算像素至像素梯度时不考虑在原始帧154之外的像素。例如,对于如图29所示的“左上”情况410,当前像素P处于原始帧154的左上角,因此不考虑在原始帧154之外的邻近像素P0、P1、P2、P3和P5,仅剩下像素P4、P6和P7(N=3)。在“上”情况412,当前像素P处于原始帧154的最上边缘,因此不考虑在原始帧154之外的邻近像素P0、P1和P2,仅剩下像素P3、P4、P5、P6和P7(N=5)。接着,在“右上”情况414,当前像素P处于原始帧154的右上角,因此不考虑在原始帧154之外的邻近像素P0、P1、P2、P4和P7,仅剩下像素P3、P5和P6(N=3)。在“左”情况416,当前像素P处于原始帧154的最左边缘,因此不考虑在原始帧154之外的邻近像素P0、P3和P5,仅剩下像素P1、P2、P4、P6和P7(N=5)。
在“中心”情况418,所有像素P0-P7都位于原始帧154内,于是都被用来确定像素至像素梯度(N=8)。在“右”情况420,当前像素P处于原始帧154的最右边缘,因此不考虑在原始帧154之外的邻近像素P2、P4和P7,仅剩下像素P0、P1、P3、P5和P6(N=5)。另外,在“左下”情况422,当前像素P处于原始帧154的左下角,因此不考虑在原始帧154之外的邻近像素P0、P3、P5、P6和P7,仅剩下像素P1、P2和P4(N=3)。在“下”情况424,当前像素P处于原始帧154的最下边缘,因此不考虑在原始帧154之外的邻近像素P5、P6和P7,仅剩下像素P0、P1、P2、P3和P4(N=5)。最后,在“右下”情况426,当前像素P处于原始帧154的右下角,因此不考虑在原始帧154之外的邻近像素P2、P4、P5、P6和P7,仅剩下像素P0、P1和P3(N=3)。
因此,取决于当前像素P的位置,被用于确定像素至像素梯度的像素数量可能是3、5或8。在所示的实施例中,对于在图片(例如原始帧154)边界内的每个邻近像素(k=0至7),可如下的计算像素至像素梯度:
Gk=abs(P-Pk),对于0≤k≤7(仅对于在原始帧内的k) (17)
另外,可通过如下所示的等式来计算当前像素和其周围像素的平均Pav之间的差作为平均梯度Gav:
Gav=abs(P-Pav) (19)
像素至像素梯度值(等式17)可被用来确定动态缺陷情况,邻近像素的平均(等式18和19)可被用来识别以下所讨论的斑点情况。
在一个实施例中,DPDC逻辑396可如下地执行动态缺陷检测。首先,如果一定数量的梯度Gk等于或低于由变量dynTh(动态缺陷阈值)表示的特定阈值,则假设该像素是有缺陷的。因此,对于每个像素,在图片边界内的邻近像素的等于或低于阈值dynTh的梯度的数量的计数(C)被累加。阈值dynTh可以是固定阈值分量和可取决于周围像素中出现的“活动性”的动态阈值分量的组合。例如,在一个实施例中,可通过计算高频分量值Phf来确定dynTh的动态阈值分量,计算高频分量值Phf则基于对平均像素值Pav(等式18)和每个邻近像素之间的差的绝对值求和,如下所示:
在像素位于图像一角(N=3)或位于图像边缘(N=5)的情况下,Phf可分别乘上8/3或8/5。可以明了的是,这保证了基于八个邻近像素(N=8)来归一化高频分量Phf。
一旦确定了Phf,可如下所示计算动态缺陷检测阈值dynTh:
dynTh=dynTh1+(dynTh2×Phf), (21)
其中dynTh1表示固定阈值分量,dynTh2表示动态阈值分量,并且是等式21中用于Phf的乘数。可以为各个颜色分量提供不同的固定阈值分量dynTh1,但是对于每个相同颜色的像素,dynTh1是相同的。仅作为示例,可以设置dynTh1以使得其至少大于图像中的噪声方差。
可基于图像的某些特征来确定动态阈值分量dynTh2。例如,在一个实施例中,可使用存储的关于曝光和/或传感器积分时间的经验数据来确定dynTh2。该经验数据可在图像传感器(例如,90)的校准期间确定,并可将可为dynTh2选择的动态阈值分量值与多个数据点的每一个相关联。于是,基于可在由ISP前端逻辑80执行的统计处理期间确定的当前曝光和/或传感器积分时间值,可通过从存储的经验数据中选择对应于当前曝光和/或传感器积分时间值的动态阈值分量值来确定dynTh2。另外,如果当前曝光和/或传感器积分时间值没有直接对应于经验数据点中的一个点,则可通过对与当前曝光和/或传感器积分时间值落入其间的数据点相关联的动态阈值分量值进行内插而确定dynTh2。此外,类似于固定阈值分量dynTh1,对于每个颜色分量,动态阈值分量dynTh2可具有不同的值。因此,对于每个颜色分量(例如R、B、Gr、Gb),组合阈值dynTh可以不同。
如上所述,针对每个像素,确定在图片边界内的邻近像素的等于或低于阈值dynTh的梯度的数量的计数C。例如,对于在原始帧154内的每个邻近像素,可以如下计算等于或低于阈值dynTh的梯度Gk的累加计数C:
对于0≤k≤7(仅对于在原始帧内的k)
接着,如果累加计数C被确定为小于或等于由变量dynMaxC表示的最大计数,则该像素可被认为是动态缺陷。在一个实施例中,可为N=3(角)、N=5(边缘)和N=8的情况提供dynMaxC的不同值。该逻辑被表达为如下:
if(C≤d ynMaxC),then当前像素P是有缺陷的。 (23)
如上所述,缺陷像素的位置可被存储到静态缺陷表。在一些实施例中,在用于当前像素的动态缺陷检测期间计算的最小梯度值(min(Gk))可被存储并被用于分类缺陷像素,使得更大的最小梯度值指示缺陷的更大的“严重性”,并且应当在像素校正期间在不那么严重的缺陷被校正之前被校正。在一个实施例中,像素在被存储到静态缺陷表之前可能需要对其进行跨多个成像帧的处理,例如通过随着时间而过滤缺陷像素的位置。在后一实施例中,可仅当缺陷出现在特定数量的连续图像的相同位置时才将该缺陷像素的位置存储到静态缺陷表中。此外,在一些实施例中,静态缺陷表可被配置为基于最小梯度值来分类所存储的缺陷像素位置。例如,最高的最小梯度值可指示缺陷具有更大的“严重性”。通过以这种方式来对位置排序,可以设置静态缺陷校正的优先级,使得可以首先校正最严重或重要的缺陷。另外,静态缺陷表可随着时间被更新以包括新检测到的静态缺陷,并且由此基于它们各自的最小梯度值来对其进行排序。
可以通过确定值Gav(等式19)是否高于斑点检测阈值spkTh来执行可与以上所述的动态缺陷检测处理并行发生的斑点检测。类似于动态缺陷阈值dynTh,斑点阈值spkTh也可包括固定和动态分量,其分别由spkTh1和spkTh2指代。一般来说,相比于dynTh1和dynTh2值,固定和动态分量spkTh1和spkTh2可被更“侵略性地”设置,以避免在可能具有较重纹理或其他(例如文字、树叶、特定织物图案等)的图像区域中错误地检测斑点。因而,在一个实施例中,动态斑点阈值分量spkTh2可以针对图像的高纹理区域有所增加,而对于“更平缓”或更均匀的区域则有所减小。可如下所示计算斑点检测阈值spkTh:
spkTh=spkTh1+(spkTh2×Phf), (24)
其中spkTh1表示固定阈值分量,并且其中spkTh2表示动态阈值分量。随后可依照以下表达式来确定斑点的检测:
if(Gav>spkTh),then当前像素P是斑点。 (25)
一旦识别了缺陷像素,DPDC逻辑396可取决于检测到的缺陷类型来应用像素校正操作。例如,如果缺陷像素被识别为静态缺陷,则如上所述使用存储的替代值(例如相同颜色分量的前一像素的值)来代替该像素。如果像素被识别为动态缺陷或斑点,则可如下的执行像素校正。首先,如下所示,梯度在四个方向(水平(h)方向、垂直(v)方向、正对角方向(dp)和负对角方向(dn))上被计算为当前像素与第一和第二邻居像素之间的差的绝对值(例如等式17对Gk的计算)之和:
Gh=G3+G4 (26)
Gv=G1+G6 (27)
Gdp=G2+G5 (28)
Gdn=G0+G7 (29)
接着,经由与方向性梯度Gh、Gv、Gdp和Gdn中具有最小值的方向性梯度相关联的两个邻近像素的线性内插来确定校正像素值PC。例如,在一个实施例中,以下的逻辑陈述可表示对PC的计算:
if(min==Gh) (30)
else if(min==Gv)
else if(min==Gdp)
else if(min==Gdn)
由DPDC逻辑396实现的像素校正技术还可考虑到边界条件处的例外。例如,如果关联于所选择的内插方向的两个邻近像素中的一个在原始帧之外,则用在原始帧内的那个邻居像素的值来代替。因此,使用该技术,校正像素值将等于在原始帧内的该邻居像素的值。
应当注意的是,在ISP流水处理期间由DPDC逻辑396应用的缺陷像素检测/校正技术相比于在ISP前端逻辑80中的DPDC逻辑230更为鲁棒。如以上实施例所讨论,DPDC逻辑230仅使用水平方向上的邻近像素来仅仅执行动态缺陷检测和校正,反之,DPDC逻辑396使用水平和垂直两方向上的邻近像素提供静态缺陷、动态缺陷和斑点的检测和校正。
将明了的是,使用静态缺陷表存储缺陷像素的位置可以以较低的存储器需求提供对缺陷像素的时域滤波。例如,相比于那些存储整个图像并随时间应用时域滤波以识别静态缺陷的传统技术,本技术的实施例仅存储缺陷像素的位置,这典型地可使用存储整个图像帧所需的存储器的仅仅一小部分就能实现。此外,如上所讨论,最小梯度值(min(Gk))的存储允许有效使用对缺陷像素被校正的位置的顺序区分优先级(例如开始于那些最显著的像素)的静态缺陷表。
另外,使用包括动态分量(例如,dynTh2和spkTh2)的阈值可有助于减少错误的缺陷检测,这是传统图像处理系统在处理图像的高纹理区域(例如文字、树叶、特定织物图案等)时经常遇到的问题。此外,使用方向性梯度(例如h、v、dp、dn)来进行像素校正可降低当发生错误的缺陷检测时可视伪影的出现。例如,在最小梯度方向上的滤波可导致即使在错误检测的情况下,仍然能产生在大多数情况下可接受的结果的校正。另外,在梯度计算中包括当前像素P可提高梯度检测的准确度,尤其是在燥点的情况下。
以上所讨论的由DPDC逻辑396所实现的缺陷像素检测和校正技术可总结为图30-32所提供的一系列流程图。例如,首先参考图30,例示了用于检测静态缺陷的处理430。其开始于步骤432,在第一时间T0接收到输入像素P。接着,在步骤434,将像素P的位置与存储在静态缺陷表中的值相比较。判定逻辑436确定是否在静态缺陷表中找到像素P的位置。如果P的位置在静态缺陷表中,则处理430继续到步骤438,其中像素P被标记为静态缺陷并且确定替代值。如上所述,可基于相同颜色分量的前一像素(以扫描顺序)的值来确定替代值。处理430接着继续到步骤440,在这里,处理430进行到如图31所示的动态和斑点检测处理444。另外,如果判定逻辑436确定像素P的位置不在静态缺陷表中,则处理430进行到步骤440而不执行步骤438。
继续到图31,如步骤446所示,在时间T1接收输入像素P以供处理来确定是否存在动态缺陷或斑点。时间T1可表示相对于图30的静态缺陷检测处理430的时移。如上所讨论,可在静态缺陷检测处理已经分析了两条扫描线(例如行)的像素之后开始动态缺陷和斑点检测处理,从而允许在动态/斑点检测发生之前具有用于识别静态缺陷及确定他们各自的替代值的时间。
判定逻辑448确定输入像素P是否先前被标记为静态缺陷(例如通过处理430的步骤438)。如果P被标记为静态缺陷,则处理444可继续到如图32所示的像素校正处理,并且了绕过图31所示的其他步骤。如果判定逻辑448确定输入像素P不是静态缺陷,则处理继续到步骤450,并且识别可在动态缺陷和斑点处理中使用的邻近像素。例如,依照以上讨论并在图29中所示的实施例,邻近像素可包括像素P的8个直接相邻的像素(例如P0-P7),从而形成3x3像素区域。接着,在步骤452,如以上等式17所示,计算关于原始帧154内每个邻近像素的像素至像素梯度。另外,如等式18和19所示,将当前像素和其周围像素的平均值之差计算为平均梯度(Gav)。
处理444随后分支到用于动态缺陷检测的步骤454以及用于斑点检测的判定逻辑464。如上所述,在一些实施例中,可以并行地进行动态缺陷检测和斑点检测。在步骤454,确定小于或等于阈值dynTh的梯度的数量的计数C。如上所述,阈值dynTh可包括固定和动态分量,并且在一个实施例中,可依照以上等式21而被确定。如果C小于或等于最大计数dynMaxC,则处理444继续到步骤460,并且当前像素被标记为动态缺陷。此后,处理444可继续到以下将讨论的如图32所示的像素校正处理。
参考回步骤452之后的分支,对于斑点检测,判定逻辑464确定平均梯度Gav是否大于同样包括固定和动态分量的斑点检测阈值spkTh。如果Gav大于阈值spkTh,在步骤466将像素P标记为包含斑点,此后,处理444继续到图32用于斑点像素的校正。此外,如果判定逻辑块456和464两者的输出都为“否”,这指示像素P不包括动态缺陷、斑点或静态缺陷(判定逻辑448)。因此,当判定逻辑456和464的输出都为“否”时,处理444可结束于步骤458,由此使像素P不经改变的通过,因为没有检测到缺陷(例如静态、动态或斑点)。
继续到图32,提供了依照上述技术的像素校正处理470。在步骤472,从图31的处理444接收输入像素P。应当注意的是处理470可从步骤448(静态缺陷)或从步骤460(动态缺陷)和466(斑点缺陷)接收像素P。接着判定逻辑474确定像素P是否被标记为静态缺陷。如果像素P是静态缺陷,则步骤470继续并结束于步骤476,在此使用在步骤438(图30)确定的替代值来校正静态缺陷。
如果像素P没有被识别为静态缺陷,则处理470从判定逻辑474继续到步骤478,并且计算方向性梯度。例如,如以上参考等式26-29所讨论的,将梯度计算为针对四个方向(h、v、dp和dn),中心像素与第一和第二邻近像素之差的绝对值之和。接着,在步骤480,识别具有最小值的方向性梯度,并在此后,判定逻辑482估计关联于该最小梯度的两个邻近像素中的一个是否位于图像帧(例如原始帧154)之外。如果两个邻近像素都在图像帧之内,则处理470继续到步骤484,并且如等式30所示,通过对这两个邻近像素的值应用线性内插以确定像素校正值(PC)。此后,如步骤492所示,可使用经内插得到的像素校正值PC来校正输入像素P。
回到判定逻辑482,如果其确定两个邻近像素中的一个位于图像帧(例如原始帧165)之外,则如步骤488所示,代替使用该外部像素(Pout)的值,DPDC逻辑396可使用位于图像帧内的另一个邻近像素(Pin)的值来代替该Pout的值。此后,在步骤490,通过对Pin的值以及Pout的替代值进行内插而确定像素校正值PC。换而言之,在这种情况下,PC可等于Pin的值。结束于步骤492,使用值PC来校正像素P。在继续之前,应当理解此处所讨论的参考DPDC逻辑396的特定缺陷像素检测和校正处理仅旨在反映本技术的一个可能的实施例。实际上,取决于设计和/或成本约束,可以做出多种改变,并且可以增加或移除一些特征,使得缺陷检测/校正逻辑的整体复杂度和鲁棒性介于在ISP前端块80中实现的较为简单的检测/校正逻辑230和此处参考DPDC逻辑396所讨论的缺陷检测/校正逻辑之间。
参考回图28,校正后的像素数据被从DPDC逻辑396输出,并被降噪逻辑398接收以做进一步处理。在一个实施例中,降噪逻辑398可被配置为在维持细节和纹理的同时,实现二维边缘自适应低通滤波以降低图像数据中的噪声。可基于当前光照水平来设置(例如通过控制逻辑84)边缘自适应阈值,使得在弱光条件下可以增强滤波。此外,如同以上确定dynTh和spkTh值时曾简要提及的,可提前为给定传感器确定噪声方差,以使得降噪阈值被设置为刚好在噪声方差之上,因此在降噪处理期间,噪声被降低而不会显著影响场景的纹理和细节(例如,避免/减少错误检测)。假设为拜耳滤色器实施方式,降噪逻辑398可以使用可分离的7抽头水平滤波器和5抽头垂直滤波器来独立地处理每个颜色分量Gr、R、B和Gb。在一个实施例中,可通过校正绿色颜色分量(Gb和Gr)中的不均匀性,并在随后执行水平滤波和垂直滤波来开展所述降噪处理。
一般通过在均匀地照明平坦表面的情况下Gr和Gb像素之间的微小的明亮度差来表征绿色不均匀性(GNU)。如果不对这种不均匀性进行校正或补偿,在去马赛克之后,例如“迷宫式”伪影的特定伪影可能出现在全彩图像上。绿色不均匀性处理期间可包括为原始拜耳图像数据中的每个绿色像素确定当前绿色像素(G1)和当前绿色像素右下方的绿色像素(G2)之差的绝对值是否小于GNU校正阈值(gnuTh)。图33例示了在拜耳模式的2×2区域中的G1和G2像素的位置。如图所示,G1周围的像素的颜色可取决于当前绿色像素是Gb还是Gr像素。例如,如果G1是Gr,则G2是Gb,G1右边的像素是R(红色),G1下边的像素是B(蓝色)。作为替换,如果G1是Gb,则G2是Gr,G1右边的像素是B,而G1下边的像素是R。如果G1和G2之差的绝对值小于GNU校正阈值,则用G1和G2的平均值来代替当前绿色像素G1,其如以下逻辑所示:
id(abs(G1-G2)≤gnuTh);
可以明了的是,通过这种方式来应用绿色不均匀性校正可以有助于防止G1和G2像素被跨边缘平均,由此改善和/或保留锐度。
水平滤波可在绿色不均匀性校正之后应用,并且在一个实施例中可提供7抽头水平滤波器。计算每个滤波器抽头的跨边缘梯度,并且如果其大于水平边缘阈值(horzTh),则如下面将例示的,滤波器抽头被折叠到中心像素。水平滤波器可以针对每个颜色分量(R、B、Gr、Gb)独立处理所述图像数据,并可使用未经滤波的值作为输入值。
作为示例,图34示出了用于一组水平像素P0-P6的图形表示,其中中心抽头位于P3。基于如图34所示的像素,可如下计算对于每个滤波器抽头的边缘梯度:
Eh0=abs(P0-P1) (32)
Eh1=abs(P1-P2) (33)
Eh2=abs(P2-P3) (34)
Eh3=abs(P3-P4) (35)
Eh4=abs(P4-P5) (36)
Eh5=abs(P5-P6) (37)
边缘梯度Eh0-Eh5于是可被水平滤波器部件利用以使用如下所示的公式38来确定水平滤波输出Phorz:
Phorz=C0×[(Eh2>horzTh[c])?P3:(Eh1>horzTh[c])?P2:(Eh0>horzTh[c])?P1:P0]+
C1×[(Eh2>horzTh[c])?P3:(Eh1>horzTh[c])?P2:P1]+
C2×[(Eh2>horzTh[c])?P3:P2]+
C3×P3+ (38)
C4×[(Eh3>horzTh[c])?P3:P4]+
C5×[(Eh3>horzTh[c])?P3:(Eh4>horzTh[c])?P4:P5]+
C6×[(Eh3>horzTh[c])?P3:(Eh4>horzTh[c])?P4:(Eh5>horzTh[c])?P5:P6],
其中horzTh[c]是用于每个颜色分量c(例如R、B、Gr和Gb)的水平边缘阈值,并且其中C0-C6分别是对应于像素P0-P6的滤波器抽头系数。水平滤波器输出Phorz可被应用到中心像素P3的位置。在一个实施例中,滤波器抽头系数C0-C6可以是16位二进制补码值,其具有3个整数位和13个分数位(3.13浮点)。此外,应当注意的是滤波器抽头系数C0-C6不是必须要关于中心像素P3对称。
在绿色不均匀性校正和水平滤波处理之后由降噪逻辑398应用垂直滤波。在一个实施例中,如图35所示,垂直滤波操作可提供5抽头滤波器,其中垂直滤波器的中心抽头位于P2。可以按照如同以上所述的水平滤波处理类似的方式来进行垂直滤波处理。例如,计算每个滤波器抽头的跨边缘的梯度,如果其大于垂直边缘阈值(vertTh),滤波器抽头被折叠到中心像素P2。垂直滤波器可针对每个颜色分量(R、B、Gr、Gb)独立处理图像数据,并且可以使用未经滤波的值作为输入值。
基于如图35所示的像素,可如下计算每个滤波器抽头的垂直边缘梯度:
Ev0=abs(P0-P1) (39)
Ev1=abs(P1-P2) (40)
Ev2=abs(P2-P3) (41)
Ev3=abs(P3-P4) (42)
边缘梯度Ev0-Ev5于是可由垂直滤波器利用,以使用如下所示的公式43来确定垂直滤波输出Pvert:
Pvert=C0×[(Ev1>vertTh[c])?P2:(Ev0>vertTh[c])?P1:P0]+
C1×[(Ev1>vertTh[c])?P2:P 1]+
C2×P2+ (43)
C3×[(Ev2>vertTh[c])?P2:P3]+
C4×[(Ev2>vertTh[c])?P2:(Eh3>vertTh[c])?P3:P4],
其中vertTh[c]是用于每个颜色分量c(例如R、B、Gr和Gb)的垂直边缘阈值,并且其中C0-C4分别是对应于图35中的像素P0-P4的滤波器抽头系数。垂直滤波输出Pvert可被应用到中心像素P2的位置。在一个实施例中,滤波器抽头系数C0-C4可以是16位二进制补码值,其具有3个整数位和13个分数位(3.13浮点)。此外,应当注意的是滤波器抽头系数C0-C4不是必须要关于中心像素P2对称。
另外,关于边界条件,当邻近像素在原始帧154(图9)之外时,使用在原始帧的边缘处的相同颜色像素的值来复制边界外像素的值。该约定可对水平和垂直滤波操作两者实施。作为示例,再次参考图34,在水平滤波的情况下,如果像素P2是位于原始帧最左边的边缘像素,并且像素P0和P1处于原始帧之外,则使用像素P2的值来代替像素P0和P1的值以用于水平滤波。
再次参考回图28中所示的原始处理逻辑360的方框图,降噪逻辑398的输出被随后发送到镜头明暗校正(LSC)逻辑400以供处理。如上所讨论的,镜头明暗校正技术可包括逐像素应用合适的增益以补偿光强度的衰落,该光强度的衰落可能是由镜头的几何光学、制造缺陷、微镜头阵列和颜色阵列滤波器之间的未对准等导致的。此外,在一些镜头中的红外(IR)滤波器也可导致衰落依赖于发光体,并且于是镜头明暗增益可以取决于检测到的光源而被修改。
在所描绘的实施例中,ISP流水82的LSC逻辑400可以按照类似的方式来实现,并且于是一般地提供与以上参考图18-26所讨论的ISP前端块80的LSC逻辑234相同的功能。因此,为了避免冗余,应当理解的是此处例示实施例的LSC逻辑400被配置为以与LSC逻辑230大体相同的方式操作,因此在此将不再重复以上提供的对镜头明暗校正技术的描述。然而,为了一般性地总结,应当理解的是LSC逻辑400可以独立地处理原始像素数据流的每个颜色分量以确定将应用到当前像素的增益。依照以上所述的实施例,可基于跨成像帧分布的一组定义的增益栅格点来确定镜头明暗校正增益,其中由多个像素(例如8个像素,16个像素等)来定义每个栅格点之间的间隔。如果当前像素的位置对应于栅格点,则将关联于该栅格点的增益值应用到当前像素。然而,如果当前像素的位置在栅格点之间(例如图21的G0、G1、G2和G3),则可通过对当前像素位于其间的栅格点进行内插来计算LSC增益值(等式11a和11b)。该处理由图22的处理310所描绘。此外,如参考图20所提及的,在一些实施例中,栅格点可被非均匀地分布(例如对数分布),使得栅格点在LSC区域280的中心较不集中,而是朝向LSC区域280的各角(通常在那里镜头明暗失真更容易被察觉)更为集中。
另外,如参考图25和26所讨论的,LSC逻辑400还可与栅格增益值一起应用径向增益分量。径向增益分量可基于当前像素与图像的中心像素的距离来确定(等式12-14)。如所述的,使用径向增益允许对所有颜色分量使用单个共用增益栅格,这将大大地减少为每个颜色分量存储单独的增益栅格所需的总存储空间。栅格增益数据的这一减少可降低实现成本,因为栅格增益数据表会占据图像处理硬件中的存储器或芯片区域的很大一部分。
接着,再次参考图28的原始处理逻辑方框图360,LSC逻辑400的输出随后被传递到第二增益、偏移和钳位(GOC)块402。GOC逻辑402可在去马赛克(通过逻辑块404)之前被应用,并且可被用来对LSC逻辑400的输出执行自动白平衡。在所描绘的实施例中,GOC逻辑402可以按照与GOC逻辑394(和BLC逻辑232)相同的方式来实现。因此,依照以上的等式9,由GOC逻辑402接收到的输入首先被偏移一个带符号的值,随后乘以增益。结果值然后依照等式10被截短到最小值和最大值范围。
此后,GOC逻辑402的输出被转发到去马赛克逻辑404以供处理,从而基于原始拜耳输入数据产生全彩(RGB)图像。将明了的是,使用滤色器阵列(例如拜耳滤波器)的图像传感器的原始输出在以下意义上是“不完整的”:每个像素被滤波以仅获取单个颜色分量。因此仅为单个像素收集的数据不足以确定颜色。因此,去马赛克技术可被用来通过为每个像素内插缺失的颜色数据而从原始拜耳数据生成全彩图像。
现在参考图36,例示了提供关于可如何将去马赛克应用到原始拜耳图像模式502以产生全彩RGB的一般概观的图形处理流程500。如图所示,原始拜耳图像502的4×4部分504可包括用于每个颜色分量的分开的通道,包括绿色通道506、红色通道508和蓝色通道510。因为在拜耳传感器中的每个成像像素仅获取关于一种颜色的数据,所以每个颜色通道506、508和510的颜色数据是不完整的,其由符号“?”指示。通过应用去马赛克技术512,可以进行内插得到每个通道的缺失颜色样本。例如,如参考标记514所示,经内插得到的数据G’可被用来填充绿色颜色通道中的缺失样本,类似地,经内插得到的数据R’可(与经内插得到的数据G’514组合)被用来填充红色颜色通道516中的缺失样本,经内插得到的数据B’可(与经内插得到的数据G’514组合)被用来填充蓝色颜色通道518中的缺失样本。因此,作为去马赛克处理的结果,每个颜色通道(R、G、B)将具有一组完整的颜色数据,这些数据随后可被用来重构全彩RGB图像520。
现将依照一个实施例描述可由去马赛克逻辑404实现的去马赛克技术。在绿色颜色通道中,可对已知的绿色样本使用低通方向性滤波器并对相邻的颜色通道(例如红色和蓝色)使用高通(或梯度)滤波器来内插缺失的颜色样本。对于红色和蓝色颜色通道,可通过类似的方式来内插缺失的颜色样本,但是对已知的红色或蓝色值使用低通滤波并且对同一位置的(co-located)内插绿色值使用高通滤波。此外,在一个实施例中,对绿色颜色通道的去马赛克可利用基于初始拜耳颜色数据的5×5像素块边缘自适应滤波器。如以下将进一步讨论的那样,使用边缘自适应滤波器可提供以经水平和垂直滤波的值的梯度为基础的连续加权,这可减少传统去马赛克技术中常见的某些伪影的出现,例如混叠、“棋盘格”或“彩虹”伪影。
在对绿色通道去马赛克期间,使用拜耳图像模式的绿色像素(Gr和Gb像素)的初始值。然而,为了获得用于绿色通道的一组完整数据,可在拜耳图像模式的红色和蓝色像素处内插绿色像素值。依照本技术,基于上述的5×5像素块,首先在红色和蓝色像素处计算分别被称为Eh和Ev的水平和垂直能量分量。如以下将进一步讨论的那样,Eh和Ev的值可被用于获得来自水平和垂直滤波步骤的边缘加权的经滤波值。
作为示例,图37例示了对位于5×5像素块中心位置(j,i)的红色像素的Eh和Ev值的计算,其中j对应于行而i对应于列。如图所示,Eh的计算考虑了5×5像素块的中间三行(j-1,j,j+1),Ev的计算考虑了5×5像素块的中间三列(i-1,i,i+1)。为了计算Eh,将在红色列(i-2,i,i+2)中被乘上对应系数(例如-1用于列i-2和i+2,2用于列i)的像素的每一个的和的绝对值与在蓝色列(i-1,i+1)中被乘上对应系数(例如1用于列i-1,-1用于列i+1)的像素的每一个的和的绝对值相加。为了计算Ev,将在红色行(j-2,j,j+2)中被乘上对应系数(例如-1用于行j-2和j+2,2用于行j)的像素的每一个的和的绝对值与在蓝色行(j-1,j+1)中被乘上对应系数(例如1用于行j-1,-1用于行j+1)的像素的每一个的和的绝对值相加。这些计算可由以下的等式44和45所例示:
Eh=abs[2((P(j-1,i)+P(j,i)+P(j+1,i))– (44)
(P(j-1,i-2)+P(j,i-2)+P(j+1,i-2))–
(P(j-1,i+2)+P(j,i+2)+P(j+1,i+2)]+
abs[(P(j-1,i-1)+P(j,i-1)+P(j+1,i-1))–
(P(j-1,i+1)+P(j,i+1)+P(j+1,i+1)]
Ev=abs[2(P(j,i-1)+P(j,i)+P(j,i+1))– (45)
(P(j-2,i-1)+P(j-2,i)+P(j-2,i+1))–
(P(j+2,i-1)+P(j+2,i)+P(j+2,i+1]+
abs[(P(j-1,i-1)+P(j-1,i)+P(j-1,i+1))–
(P(j+1,i-1)+P(j+1,i)+P(j+1,i+1)]
因此,总能量和可被表达为:Eh+Ev。此外,虽然如图37所示的例子例示了对于在(j,i)的红色中心像素的Eh和Ev的计算,但应当理解的是可以通过类似的方式确定用于蓝色中心像素的Eh和Ev值。
接着,水平和垂直滤波可被应用到拜耳模式以获得经垂直和水平滤波的值Gh和Gv,其分别可表示在水平和垂直方向上的内插的绿色值。除了使用相邻颜色(R和B)的方向性梯度以在缺失的绿色样本的位置处获得高频信号之外,还可对已知的邻近绿色样本使用低通滤波器,从而确定经滤波的值Gh和Gv。例如,参考图38,现将例示用于确定Gh的水平内插的例子。
如图38所示,可以在确定Gh时考虑拜耳图像的红色行530的五个水平像素(R0、G1、R2、G3和R4),其中假设R2是位于(j,i)的中心像素。分别关联于这五个像素的滤波系数由参考标记532指示。因此,可以如下确定用于中心像素R2的、被称为G2’的绿色值的插值:
于是可以利用多种数学运算来产生如以下等式47和48所示的G2’的表达式:
因此,参考图38和以上的等式46-48,可以导出用于在(j,i)处的绿色值的水平插值的一般表达式:
可以通过与Gh类似的方式来确定垂直滤波分量Gv。例如,参考图39,在确定Gv时考虑拜耳图像的红色列534的五个垂直像素(R0、G1、R2、G3和R4)以及它们各自的滤波系数536,其中假设R2是位于(j,i)处的中心像素。在垂直方向上,对已知的绿色样本使用低通滤波,对红色通道使用高通滤波,可以导出如下用于Gv的表达式:
虽然此处所讨论的例子已经示出了对红色像素进行绿色值的内插,但应当理解的是,等式49和50中阐述的表达式还可被用于对蓝色像素进行绿色值的水平和垂直内插。
可通过使用如上讨论的能量分量(Eh和Ev)对水平和垂直滤波器输出(Gh和Gv)进行加权来确定用于中心像素(j,i)的最终的内插绿色值G’,以产生如下等式:
如上所述,能量分量Eh和Ev可提供水平和垂直滤波器输出Gh和Gv的边缘自适应加权,这可有助于减少重构的RGB图像中的图像伪影,例如彩虹、混叠或棋盘格伪影。另外,去马赛克逻辑404可提供通过将Eh和Ev值分别设为1来旁路边缘自适应加权特征的可选项,使得Gh和Gv被相等地加权。
在一个实施例中,如上述等式51所示的水平和垂直加权系数可被量化,以将加权系数的精度降低到一组“粗略”值。例如,在一个实施例中,加权系数可被量化为八个可能的权重比率:1/8、2/8、3/8、4/8、5/8、6/8、7/8和8/8。其他实施例可将加权系数量化为16个值(例如1/16至16/16),32个值(1/32至32/32)等。可以明了的是,当与使用全精度值(例如32位浮点值)相比较时,加权系数的量化可降低在确定加权系数并将其应用到水平和垂直滤波器输出的情况下的实现复杂度。
在其他实施例中,除了确定和使用水平和垂直能量分量以将加权系数应用到经水平(Gh)和垂直(Gv)滤波的值之外,此处公开的技术还可在正对角和负对角方向上确定和利用能量分量。例如,在这样的实施例中,也可将滤波应用到正对角和负对角方向。滤波器输出的加权可包括选择两个最高能量分量,以及使用所选择的能量分量来加权它们各自的滤波器输出。例如,假设两个最高能量分量对应于垂直和正对角方向,则垂直和正对角能量分量被用来加权垂直和正对角滤波器输出以确定内插的绿色值(例如在拜耳模式中的红色或蓝色像素位置处)。
接着,可通过在拜耳图像模式的绿色像素处内插红色和蓝色值、在拜耳图像模式的蓝色像素处内插红色值和在拜耳图像模式的红色像素处内插蓝色值,而执行对红色和蓝色颜色通道的去马赛克。依照此处讨论的技术,可通过使用基于已知的邻近红色和蓝色像素的低通滤波和基于相同位置的绿色像素值(取决于当前像素的位置,其可能是初始值或内插的值(来自上述的绿色通道去马赛克处理))的高通滤波,来内插缺失的红色和蓝色像素值。因此,关于这个实施例,应当理解的是可以首先执行缺失的绿色值的内插,以使得在内插缺失的红色和蓝色样本时可以使用完整的绿色值集合(初始值和内插值两者)。
可参考图40来描述红色和蓝色像素值的内插,图40表示拜耳图像模式的可对其应用红色和蓝色去马赛克的各种3×3块,以及在对绿色通道去马赛克期间已经获得的内插绿色值(表示为G’)。首先参考块540,可如下确定用于Gr像素(G11)的内插红色值R’11:
其中G’10和G’12表示内插绿色值,如参考标记548所示。同样地,可如下确定用于Gr像素(G11)的内插蓝色值B’11:
其中G’01和G’21表示内插绿色值(548)。
接着,参考像素块542,其中中心像素是Gb像素(G11),可根据以下所示的等式54和55来确定内插的红色值R’11和蓝色值B’11:
此外,参考像素块544,可如下确定对蓝色像素B11进行的红色值的内插:
其中,G’00、G’02、G’11、G’20和G’22表示内插绿色值,如参考标记550所示。最后,如像素块546所示,可如下计算对红色像素进行的蓝色值的内插:
虽然以上所讨论的实施例依赖于颜色差(例如梯度)来确定红色和蓝色内插值,另一个实施例可使用颜色比值来提供内插的红色和蓝色值。例如,内插的绿色值(块548和550)可被用来获得在拜耳图像模式的红色和蓝色像素位置处的颜色比值,并且这些比值的线性内插可被用来确定用于缺失的颜色样本的内插颜色比值。将可以是内插值或初始值的绿色值与内插颜色比值相乘以获得最终的内插颜色值。例如,可依照以下公式来执行使用颜色比值的红色和蓝色像素值的内插,其中等式58和59表示用于Gr像素的红色和蓝色值的内插,等式60和61表示用于Gb像素的红色和蓝色值的内插,等式62表示对蓝色像素进行的红色值的内插,等式63表示对红色像素进行的蓝色值的内插:
(当G11是Gr像素时内插的R’11)
(当G11是Gr像素时内插的B’11)
(当G11是Gb像素时内插的R’11)
(当G11是Gb像素时内插的B’11)
(对蓝色像素B11内插的R’11)
(对红色像素R11内插的B’11)
一旦为来自拜耳图像模式的每个图像像素内插了缺失的颜色样本,可将用于红色、蓝色和绿色颜色通道(例如图36中的514、516和518)的每一个的颜色值的完整样本组合在一起以生成全彩RGB图像。例如,回去参考图27和28,原始像素处理逻辑360的输出372可以是以8、10、12或14位格式的RGB图像信号。
现在参考图41-44,其表示依照公开的实施例的描述用于对原始拜耳图像模式去马赛克的处理的多种流程图。特别地,图41的处理560描述对于给定的输入像素P,确定哪些颜色分量将被内插。基于处理560的确定,可以执行(例如通过去马赛克逻辑404)用于内插绿色值的处理572(图42)、用于内插红色值的处理584(图43)或用于内插蓝色值的处理598(图44)中的一个或多个。
从图41开始,当接收到输入像素P时,处理560从步骤562开始。判定逻辑564确定输入像素的颜色。例如,这可能取决于位于拜耳图像模式内的像素的位置。因此,如果P被识别为绿色像素(例如Gr或Gb),处理器560进行到步骤566以获得用于P的内插红色和蓝色值。这可包括,例如分别继续到图43和44的处理584和598。如果P被识别为红色像素,则处理560进行到步骤568以获得用于P的内插绿色和蓝色值。这可包括进一步分别执行图42和44的处理572和598。另外,如果P被识别为蓝色像素,则处理560进行到步骤570以获得用于P的内插绿色和红色值。这可包括进一步分别执行图42和43的处理572和584。以下将进一步讨论处理572、584和598的每一个。
图42表示用于确定输入像素P的内插绿色值的处理572,其包括步骤574-582。在步骤574,接收到输入像素P(例如来自处理560)。接着,在步骤576,识别形成5×5像素块的邻近像素集合,其中P处于该5×5块的中心。此后,在步骤578分析该像素块以确定水平和垂直能量分量。例如,可依照用于计算Eh和Ev的等式44和45来分别确定水平和垂直能量分量。如上所述,能量分量Eh和Ev可被用作加权系数以提供边缘自适应滤波,从而在最终图像中降低特定去马赛克伪影的出现。在步骤580,将低通滤波和高通滤波应用到水平和垂直方向上以确定水平和垂直滤波输出。例如,可依照等式49和50来计算水平和垂直滤波输出Gh和Gv。接着,处理560继续到步骤582,如等式51所示,其基于使用能量分量Eh和Ev加权后的Gh和Gv的值来进行内插以得到内插绿色值G’。
接着,关于图43的处理584,红色值的内插开始于步骤586,其接收输入像素P(例如来自处理560)。在步骤588,识别形成3×3像素块的邻近像素集合,其中P处于该3×3像素块的中心。此后,在步骤590,将低通滤波应用到该3×3块内的邻近红色像素,将高通滤波应用到相同位置的绿色邻近值(其可能是由拜耳图像传感器捕捉的初始绿色值或内插的值(例如通过图42的处理572确定的))。如步骤594所示,可基于低通和高通滤波输出来确定用于P的内插红色值R’。基于P的颜色,可依照等式52、54或56中的一个来确定R’。
关于蓝色值的内插,可以应用图44的处理598。其步骤600和602与处理584(图43)的步骤586和588大体相同。在步骤604,将低通滤波应用到3×3块内的邻近蓝色像素,在步骤606,将高通滤波应用到相同位置的绿色邻近值(其可能是由拜耳图像传感器捕捉的初始绿色值或内插的值(例如通过图42的处理572确定的))。如步骤608所示,可基于低通和高通滤波输出来确定用于P的内插蓝色值B’。基于P的颜色,可依照等式53、55或57中的一个来确定B’。此外,如上所述,可使用颜色差(等式52-57)或颜色比值(等式58-63)来确定红色和蓝色值的内插。同样,应当理解的是可首先执行缺失的绿色值的内插,这样当内插缺失的红色和蓝色样本时可以使用绿色值的完整集合(初始的和内插的值两者)。例如,在分别执行图43和44的处理584和598之前可应用图42的处理572以内插所有缺失的绿色颜色样本。
参考图45-48,其提供了由ISP流水82中的原始像素处理逻辑360处理的照片图像的例子。图45表示可由成像设备30的图像传感器90捕捉的初始图像场景620。图46示出可表示由图像传感器90捕捉的原始像素数据的原始拜耳图像622。如上所述,传统的去马赛克技术可能无法提供基于图像数据中对边缘(例如在两个或更多个颜色区域之间的边界)的检测的自适应滤波,这可能在得到的重构全彩RGB图像中产生不期望的伪影。例如,图47表示使用传统去马赛克技术来重构的RGB图像624,其可能包括伪影,例如在边缘628处的“棋盘格”伪影626。然而,将图像624与图48的RGB图像630相比较,图48可以是使用以上描述的去马赛克技术来重构的图像的一个例子,可见在图47中出现的棋盘格伪影626不再出现,或者至少在边缘628处充分降低了伪影的外观。因此,如图45-48所示的图像旨在图示出此处公开的去马赛克技术相对于传统方法的至少一个优点。
回去参考图27,现在已经彻底地描述了原始像素处理逻辑360的操作,其可输出RGB图像信号372,本讨论现在将关注于描述由RGB处理逻辑362对RGB图像信号372的处理。如图所示,RGB图像信号372可被发送到选择逻辑376和/或存储器108。RGB处理逻辑362可接收输入信号378,输入信号378可以是来自信号372或来自存储器108的如信号374所示的RGB图像数据,这取决于选择逻辑376的配置。可通过RGB处理逻辑362来处理RGB图像数据378以执行包括颜色校正(例如使用颜色校正矩阵)的颜色调整操作、用于自动白平衡的颜色增益的应用以及全局色调映射等。
图49表示用于描述RGB处理逻辑362的一个实施例的更详细视图的方框图。如图所示,RGB处理逻辑362包括增益、偏移和钳位(GOC)逻辑640,RGB颜色校正逻辑642,GOC逻辑644,RGB伽马调整逻辑和颜色空间变换逻辑648。输入信号378首先被增益、偏移和钳位(GOC)逻辑640接收。在所示的实施例中,在颜色校正逻辑642执行处理之前,GOC逻辑640可应用增益以在R、G或B颜色通道的一个或多个上执行自动白平衡。
GOC逻辑640可与原始图像处理逻辑360的GOC逻辑394类似,除了处理的是RGB域的颜色分量而不是拜耳图像数据的R、B、Gr和Gb分量。在操作中,如以上的等式9所示,首先使用带符号的值O[c]来偏移当前像素的输入值,接着将其乘上增益G[c],其中c表示R、G和B。如上所述,增益G[c]可以是16位的无符号数,其具有2个整数位和14个分数位(例如2.14浮点表示),可预先在统计处理期间(例如在ISP前端块80)确定增益G[c]的值。接着依照等式10将计算得到的像素值Y(基于等式9)截短到最小值和最大值范围。如上所述,变量min[c]和max[c]分别表示用于最小和最大输出值的带符号的16位“截短值”。在一个实施例中,GOC逻辑640还可被配置为为每个颜色分量R、G和B保存分别在最大值之上和在最小值之下而被截短的像素的数量的计数。
接着GOC逻辑640的输出被转发到颜色校正逻辑642。依照此处公开的技术,颜色校正逻辑642可被配置为使用颜色校正矩阵(CCM)而应用颜色校正到RGB图像数据。在一个实施例中,CCM可以是3×3RGB变换矩阵,尽管其他实施例还可以利用其他尺寸的矩阵(例如4×3等)。因此,可如下的表示对具有R、G和B分量的输入像素执行颜色校正的处理:
其中R、G和B表示输入像素的当前红色、绿色和蓝色值,CCM00-CCM22表示颜色校正矩阵的系数,以及R’、G’和B’表示输入像素的校正后的红色、绿色和蓝色值。因此,可依照以下的等式65-67来计算校正颜色值:
R'=(CCM00×R)+(CCM01×G)+(CCM02×B) (65)
G'=(CCM10×R)+(CCM11×G)+(CCM12×B) (66)
B'=(CCM20×R)+(CCM21×G)+(CCM22×B) (67)
如上所述,可以在ISP前端块80的统计处理期间确定CCM的系数(CCM00-CCM22)。在一个实施例中,可以选择用于给定颜色通道的系数,以使得这些系数(例如用于红色颜色校正的CCM00、CCM01和CCM02)之和等于1,这可有助于维持明亮度和颜色平衡。此外,系数通常被选择为使得正增益将被应用到要被校正的颜色。例如,对于红色颜色校正,系数CCM00可以大于1,而系数CCM01和CCM02的一个或两个可小于1。通过这样的方式来设置系数可以增强在得到的经校正的R’值中的红色(R)分量,同时减弱蓝色(B)和绿色(G)分量。将明了的是,这可以应对在获取初始拜耳图像期间可能发生的颜色重叠的问题,这一问题是因为用于特定颜色像素的经滤波的光的一部分可能“渗透”(bleed)到不同颜色的邻近像素中。在一个实施例中,CCM的系数可被提供为16位的二进制补码数,其具有4个整数位和12个分数位(表示为4.12浮点)。另外,如果该值超过最大值或小于最小值,颜色校正逻辑642可提供对计算出的经校正颜色值的截短。
接着将RGB颜色校正逻辑642的输出传递给另一个GOC逻辑块644。GOC逻辑644可以按照跟GOC逻辑640相同的方式来实现,因此,这里不再重复对增益、偏移和钳位功能的详细描述。在一个实施例中,在颜色校正之后应用GOC逻辑644可提供基于校正后的颜色值的图像数据的自动白平衡,并且其还可以调整红色与绿色比以及蓝色与绿色比的传感器变化。
接着,GOC逻辑644的输出被发送到RGB伽马调整逻辑646以供进一步处理。例如,RGB伽马调整逻辑646可提供伽马校正、色调映射、直方图匹配等。依照公开的实施例,伽马调整逻辑646可将输入RGB值映射成相应的输出RGB值。例如,伽马调整逻辑可提供包括三个查找表的集合,每个表用于R、G和B分量的一个。作为示例,每个查找表可被配置为存储10位值的256个条目,每个值表示一个输出等级。表条目可均匀的分布在输入像素值的范围内,从而当输入值落入在两个条目之间时,可进行线性内插得到输出值。在一个实施例中,可复制用于R、G和B的三个查找表的每一个,以使得查找表被“双重缓存”于存储器中,从而允许在处理期间使用一个表时还能对其拷贝进行更新。基于以上所述的10位输出值,应当注意的是通过本实施例中的伽马校正处理,14位RGB图像信号将被有效地下采样至10位。
伽马调整逻辑646的输出可被发送到存储器108和/或颜色空间变换逻辑648。颜色空间变换(CSC)逻辑648可被配置为将来自伽马调整逻辑646的RGB输出变换到YCbCr格式,其中Y表示亮度分量,Cb表示蓝色差色度分量,Cr表示红色差色度分量,由于在伽马调整操作期间执行了将RGB数据从14位变换为10位的位深变换,以上这些分量都可以是10位格式。如上所述,在一个实施例中,伽马调整逻辑646的RGB输出可被下采样到10位,并通过CSC逻辑648将其变换到10位YCbCr值,接着可将10位YCbCr值转发到以下将进一步描述的YCbCr处理逻辑364。
可使用颜色空间变换矩阵(CSCM)来执行从RGB域到YCbCr颜色空间的变换。例如,在一个实施例中,CSCM可以是3×3变换矩阵。可依照已知的变换等式,例如BT.601和BT.709标准,来设置CSCM的系数。另外,CSCM系数可灵活地基于期望的输入和输出的范围。因此,在一些实施例中,可基于在ISP前端块80中的统计处理期间收集的数据来确定和编程CSCM系数。
用于对RGB输入像素执行YCbCr颜色空间变换的处理可如下表示:
其中R、G和B表示输入像素的10位格式的当前红色、绿色和蓝色值(例如通过伽马调整逻辑646的处理),CSCM00-CSCM22表示颜色空间变换矩阵的系数,Y、Cb和Cr表示得到的输入像素的亮度和色度分量。因此,可依照以下的等式69-71来计算Y、Cb和Cr的值:
Y=(CSCM00×R)+(CSCM01×G)+(CSCM02×B) (69)
Cb=(CSCM10×R)+(CSCM11×G)+(CSCM12×B) (70)
Cr=(CSCM20×R)+(CSCM21×G)+(CSCM22×B) (71)
如以下将讨论的,在颜色空间变换操作之后,得到的YCbCr值可从CSC逻辑648输出作为信号380,其可由YCbCr处理逻辑364处理。
在一个实施例中,CSCM的系数可以是16位的二进制补码数,其具有4个整数位和12个分数位(4.12)。在另一个实施例中,CSC逻辑648可进一步被配置为应用偏移量到Y、Cb和Cr值的每一个,并将结果值截短到最小和最大值。仅作为示例,假设YCbCr值是10位格式,偏移量可在-512至512的范围内,并且最小和最大值可以分别是0和1023。
再次参考图27中的ISP流水逻辑82的方框图,YCbCr信号380可被发送到选择逻辑384和/或存储器108。YCbCr处理逻辑364可接收输入信号386,其可以是来自信号380或来自存储器108的如信号382所示的YCbCr图像数据,这取决于选择逻辑384的配置。接着可通过YCbCr处理逻辑364来处理YCbCR图像数据386以执行亮度锐化,色度抑制,色度降噪,以及亮度、对比度和颜色调整等。此外,YCbCr处理逻辑364可提供在水平和垂直方向上对经处理的图像数据的伽马映射和缩放。
图50表示描述YCbCr处理逻辑364的一个实施例的更详细的视图的方框图。如图所示,YCbCr处理逻辑364包括图像锐化逻辑660,用于调整亮度、对比度和/或颜色的逻辑662,YCbCr伽马调整逻辑664,色度抽选逻辑668以及缩放逻辑670。YCbCr处理逻辑364可被配置为使用1平面、2平面或3平面存储器配置来处理4:4:4、4:2:2或4:2:0格式的像素数据。此外,在一个实施例中,YCbCr输入信号386可提供10位值的亮度和色度信息。
将明了的是,提到1平面、2平面或3平面,指的是在图片存储器中利用的成像平面的数量。例如,在3平面格式中,Y、Cb和Cr分量的每一个都可利用单独的各自的存储器平面。在2平面格式中,第一平面可被提供给亮度分量(Y),并且交织Cb和Cr样本的第二平面可被提供给色度分量(Cb和Cr)。在1平面格式中,存储器中的单个平面以亮度和色度样本相交织。此外,关于4:4:4、4:2:2和4:2:0格式,可以明了的是4:4:4格式表示以相同的速率对三个YCbCr分量中的每一个进行采样的采样格式。在4:2:2格式中,以亮度分量Y的采样率的一半对色度分量Cb和Cr进行亚采样,从而将色度分量Cb和Cr的分辨率在水平方向上降低一半。同样的,4:2:0格式在垂直和水平方向上都亚采样色度分量Cb和Cr。
YCbCr信息的处理可发生在源缓冲器内定义的活动的源区域中,其中该活动源区域包含“有效的”像素数据。例如,参考图51,其表示在其内定义了活动源区域678的源缓冲器676。在所示的例子中,源缓冲器可表示提供10位值的源像素的4:4:4的1平面格式。可分别地为亮度(Y)样本和色度样本(Cb和Cr)来指定活动源区域678。因此,应当理解的是活动源区域678可实际上包括用于亮度和色度样本的多个活动源区域。可基于从源缓冲器的基地址(0,0)680偏移的偏移量而确定用于亮度和色度的活动源区域678的起点。例如,可通过相对于基地址680的x偏移量686和y偏移量690来定义用于亮度活动源区域的开始位置(Lm_X,Lm_Y)682。同样的,可通过相对于基地址680的x偏移量688和y偏移量692来定义用于色度活动源区域的开始位置(Ch_X,Ch_Y)684。应当注意的是,在本例子中,分别用于亮度和色度的y偏移量688和692可以相等。基于开始位置682,可通过宽度694和高度696来定义亮度活动源区域,宽度694和高度696可分别表示在x和y方向上的亮度样本的数量。另外,基于开始位置684,可通过宽度698和高度700来定义色度活动源区域,宽度698和高度700可分别表示在x和y方向上的色度样本的数量。
图52进一步提供了表示可如何在2平面格式中确定用于亮度和色度样本的活动源区域的例子。例如,如图所示,可在第一源缓冲器676(具有基地址680)中通过由相对于开始位置682的宽度694和高度696所指定的区域来定义亮度活动源区域678。可在第二源缓冲器702(具有基地址680)中通过相对于开始位置684的宽度698和高度700所指定的区域来定义色度活动源区域704。
带着上述的思想回去参考图50,首先通过图像锐化逻辑660来接收YCbCr信号386。图像锐化逻辑660可被配置为执行图片锐化和边缘增强处理以增加图像中的纹理和边缘细节。将明了的是,图像锐化可提高所感知的图像分辨率。然而,通常希望图像中的现有噪声不被检测为纹理和/或边缘,从而在锐化处理期间不被放大。
依照本技术,图像锐化逻辑660可使用多尺度虚光蒙版滤波器对YCbCr信号的亮度(Y)分量执行图片锐化。在一个实施例中,可以提供具有不同尺度大小的两个或更多个低通高斯滤波器。例如,在提供了两个高斯滤波器的实施例中,从具有第二半径(y)的第二高斯滤波器的输出中减去具有第一半径(x)的第一高斯滤波器的输出(例如高斯模糊)以生成虚光蒙版,其中x大于y。还可通过从Y输入中减去高斯滤波器的输出来获得额外的虚光蒙版。在特定实施例中,该技术还可提供自适应核阈值(coring threshold)比较操作,可使用虚光蒙版来执行该操作,使得基于比较结果,可为基本图像增加增益量以生成最终输出,其中该基本图像可被选择为初始Y输入图像或高斯滤波器之一的输出。
参考图53,其表示依照此处公开的技术的实施例描述用于执行图像锐化的示例性逻辑710的方框图。逻辑710表示可被应用到输入亮度图像Yin的多尺度虚光蒙版。例如,如图所示,两个低通高斯滤波器712(G1)和714(G2)接收并处理Yin。在该例子中,滤波器712可以是3×3滤波器,滤波器714可以是5×5滤波器。然而应当明了的是,在其他实施例中,还可以使用包括不同尺度的滤波器的多于两个高斯滤波器(例如7×7,9×9等)。将明了的是,因为低通滤波处理,可将一般对应于噪声的高频分量从G1和G2的输出中移除以生成“虚光(unsharp)”图像(G1out和G2out)。如以下将讨论的,使用虚光输入图像作为基本图像将会允许降噪作为锐化滤波器的一部分。
可如下的定义3×3高斯滤波器712和5×5高斯滤波器714:
仅作为示例,在一个实施例中可如下的选择高斯滤波器G1和G2的值:
基于Yin、G1out和G2out可以生成三个虚光蒙版Sharp1、Sharp2和Sharp3。可通过从高斯滤波器712的虚光图像G1out中减去高斯滤波器714的虚光图像G2out而确定Sharp1。因为Sharp1本质上是两个低通滤波器之差,其可被称为“中间带(mid band)”蒙版,因为更高频率的噪声分量已从G1out和G2out虚光图像中被滤除了。另外,可通过从输入亮度图像Yin中减去G2out来计算Sharp2,从输入亮度图像Yin中减去G1out来计算Sharp3。如以下将描述的那样,可使用虚光蒙版Sharp1、Sharp2和Sharp3来应用自适应阈值核方案。
参考选择逻辑716,可基于控制信号UnsharpSel来选择基本图像。在所示的实施例中,基本图像可以是输入图像Yin或滤波输出G1out或G2out。将明了的是,当初始图像具有高噪声方差时(例如基本与信号方差一样高),使用初始图像Yin作为执行锐化的基本图像可能无法在锐化期间充分地降低噪声分量。因此,当在输入图像中检测到特定阈值的噪声含量时,选择逻辑716可被适配为选择已降低了包括噪声在内的高频含量的低通滤波输出G1out或G2out中的一个。在一个实施例中,可通过分析在ISP前端块80的统计处理期间获取的统计数据来确定图像的噪声含量,以确定控制信号UnsharpSel的值。作为示例,如果输入图像Yin具有低的噪声含量,从而在锐化处理的结果中表现出的噪声可能不会增加,则输入图像Yin可被选为基本图像(例如UnsharpSel=0)。如果输入图像Yin被确定为包含明显的噪声水平,从而锐化处理可能放大这些噪声,则可选择滤波后的图像G1out或G2out中的一个(例如分别地,UnsharpSel=1或2)。因此,通过应用用来选择基本图像的自适应技术,逻辑710实质上提供降噪功能。
接着,依照如上所述的自适应核阈值方案,可将增益应用到Sharp1、Sharp2或Sharp3蒙版中的一个或多个。接着,通过比较器块718、720和722,可将虚光值Sharp1、Sharp2和Sharp3与多个阈值SharpThd1、SharpThd2和SharpThd3(不必须是分别的)作比较。例如,Sharp1值总是在比较器块718中与SharpThd1作比较。关于比较器块720,阈值SharpThd2可与Sharp1或Sharp2作比较,这取决于选择逻辑726。例如,选择逻辑726可根据控制信号SharpCmp2的状态来选择Sharp 1或Sharp2(例如SharpCmp2=1选择Sharp1;SharpCmp2=0选择Sharp2)。例如,在一个实施例中,可根据输入图像(Yin)的噪声方差/含量来确定SharpCmp2的状态。
在所示的实施例中,一般优选的是设置SharpCmp2和SharpCmp3值以选择Sharp1,除非检测到图像数据具有相对低的噪声量。这是因为Sharp1作为高斯低通滤波器G1和G2的输出之差,其一般对噪声不太敏感,因此这可有助于降低在“嘈杂”图像数据中因噪声水平的波动而导致的SharpAmt1、SharpAmt2和SharpAmt3值的变化量。例如,如果初始图像具有高噪声方差,当使用固定阈值时,一些高频分量可能没被捕捉到,因此可能在锐化处理期间被放大。因此,如果输入图像的噪声含量高,则在Sharp2中可能会出现一些噪声含量。在这种情况下,可将SharpCmp2设为1以选择以上所述的中间带蒙版Sharp1,Sharp1由于是两个低通滤波器输出之差,所以具有降低的高频含量,并且因此对噪声不太敏感。
将明了的是,类似的操作可应用到选择逻辑724在SharpCmp3的控制下执行的Sharp1或Sharp3的选择。在一个实施例中,SharpCmp2和SharpCmp3被缺省的设置为1(例如使用Sharp1),并且仅在输入图像被识别为一般具有低噪声方差时被设为0。这实质上提供了一种自适应核阈值方案,其中比较值的选择(Sharp1、Sharp2或Sharp3)是基于输入图像的噪声方差而自适应的。
基于比较器块718、720和722的输出,可通过对基本图像(例如通过逻辑716选择的)应用增益虚光蒙版而确定经锐化的输出图像Ysharp。例如,首先参考比较器块722,SharpThd3与选择逻辑724提供的B输入作比较,B输入在这里被称为“SharpAbs”,并且基于SharpCmp3的状态而可能等于Sharp1或Sharp3。如果SharpAbs大于阈值SharpThd3,则将增益SharpAmt3应用到Sharp3,并且将结果值加到基本图像上。如果SharpAbs小于阈值SharpThd3,则可以应用衰减增益Att3。在一个实施例中,可如下的确定衰减增益Att3:
其中,SharpAbs是由选择逻辑724确定的Sharp1或Sharp3。可通过选择逻辑728基于比较器块722的输出来执行对加上了完整增益(SharpAmt3)或衰减增益(Att3)的基本图像的选择。将明了的是,衰减增益的使用可应对SharpAbs不大于阈值(例如SharpThd3),但是图像的噪声方差还是接近该给定阈值的情况。其可有助于降低在锐利和不锐利像素之间的显著的转变。例如,如果在这种情况下直接传递未使用衰减增益的图像数据,所得到的像素可能表现为缺陷像素(例如亮点)。
接着,对比较器块720也可应用类似的处理。例如,根据SharpCmp2的状态,选择逻辑726可提供Sharp1或Sharp2作为到比较器块720的输入以与阈值SharpThd2作比较。如上所述,根据比较器块720的输出,将增益SharpAmt2或基于SharpAmt2的衰减增益Att2应用到Sharp2,并将其加入到以上所述选择逻辑728的输出。将明了的是,可以按照与以上的等式72类似的方式来计算衰减增益Att2,不同之处在于对SharpAbs应用的是增益SharpAmt2和阈值SharpThd2,其中SharpAbs可被选择为Sharp 1或Sharp2。
此后,增益SharpAmt1或衰减增益Att1被应用到Sharp1,并且将结果值加上选择逻辑730的输出以生成锐化的像素输出Ysharp。可基于比较Sharp1和阈值SharpThd1的比较器块718的输出来确定是应用增益SharpAmt1还是应用衰减增益Att1这一选择。同样,可通过与以上的等式72类似的方式来确定衰减增益Att1,不同之处在于对Sharp1应用的是增益SharpAmt1和阈值SharpThd1。使用三个蒙版中的每一个进行缩放所得到锐化像素值被增加到输入像素Yin中以生成锐化的输出Ysharp,在一个实施例中,可将锐化的输出Ysharp截短到10位(假设YCbCr处理以10位精度进行)。
将明了的是,当与传统虚光蒙版技术相比时,本公开中所阐述的图像锐化技术可以提供纹理和边缘的增强,同时还降低输出图像中的噪声。特别是,本技术可以很好地适用于使用例如CMOS图像传感器捕捉的图像(例如在低光照条件下使用集成在便携式设备(例如移动电话)中的低分辨率相机所拍摄的图像)具有较差信噪比的应用。例如,当噪声方差与信号方差可比时,对于锐化使用固定阈值是困难的事,因为一些噪声分量会与纹理和边缘一起被锐化。因此如上所述,此处所提供的技术可使用多尺度高斯滤波器来将噪声从输入图像中滤除,以从虚光图像(例如G1out和G2out)中提取特征,从而提供降低了噪声含量的锐化图像。
在继续之前,应当理解的是所示的逻辑710仅旨在提供本技术的一个示例性实施例。在其他实施例中,图像锐化逻辑660可以提供额外的或更少的特征。例如,在一些实施例中,逻辑710可简单的传输基本值而不是应用衰减增益。另外,一些实施例可以不包括选择逻辑块724、726或716。例如,比较器块720和722可分别简单地接收Sharp2和Sharp3的值,而不是分别接收来自选择逻辑块724和726的选择输出。虽然这些实施例可能没有提供如同图53所示的实施方式一样鲁棒的用于锐化和/或降噪特征,应当明了的是这样的设计选择是成本和/或商业相关限制的结果。
在本实施例中,一旦获得了锐化的图像输出YSharp,图像锐化逻辑660还可提供边缘增强和色度抑制特征。以下将讨论这些附加特征的每一个。首先参考图54,其表示依照一个实施例的可在图53所示的锐化逻辑710的下游实现的用于执行边缘增强的示例性逻辑738。如图所示,通过Sobel滤波器740来处理初始输入值Yin以进行边缘检测。Sobel滤波器740可基于初始图像的3×3像素块(称为“A”)(其中Yin是该3×3块的中心像素)来确定梯度值YEdge。在一个实施例中,Sobel滤波器740可通过对初始图像数据进行卷积以检测水平和垂直方向上的变化来计算YEdge。该处理如以下的等式73-75所示:
Gx=Sx×A, (73)
Gy=Sy×A, (74)
YEdge=Gx×Gy, (75)
其中Sx和Sy分别表示用于在水平和垂直方向上的梯度边缘强度检测的矩阵算子,以及其中Gx和Gy分别表示包含水平和垂直变化导数的梯度图像。因此可由Gx和Gy的乘积来确定输出YEdge。
如以上图53中所述,接着选择逻辑744可以接收YEdge以及中间带Sharp1蒙版。基于控制信号EdgeCmp,在比较器块742中将Sharp1或YEdge与阈值EdgeThd相比较。例如可根据图像中的噪声含量来确定EdgeCmp的状态,从而提供用于边缘检测和增强的自适应核阈值方案。接着比较器块742的输出可被提供给选择逻辑746,并可应用完整增益或衰减增益。例如,当到比较器块742的所选择的B输入(Sharp1或YEdge)大于EdgeThd时,将YEdge乘上边缘增益EdgeAmt以确定将要应用的边缘增强的量。如果比较器块742的B输入小于EdgeThd,则可应用衰减边缘增益AttEdge以避免增强的边缘与初始像素之间的显著转变。将明了的是,可以通过与以上的等式72所示的类似的方式来计算AttEdge,但是其中EdgeAmt和EdgeThd被应用到“SharpAbs”,取决于选择逻辑744的输出,SharpAbs可以是Sharp1或YEdge。因此,使用增益(EdgeAmt)或衰减增益(AttEdge)而增强的边缘像素可被加入到YSharp(图53的逻辑710的输出)以获得边缘增强的输出像素Yout,在一个实施例中,Yout可被截短到10位(假设YCbCr处理以10位精度进行)。
关于由图像锐化逻辑660提供的色度抑制特征,这种特征可在亮度边缘处对色度进行衰减。一般来说,可通过应用小于1的色度增益(衰减因子)来执行色度抑制,该色度增益取决于从以上所述的亮度锐化和/或边缘增强步骤获得的值(YSharp,Yout)。作为示例,图55表示包括曲线752的图表750,曲线752表示可以为相应的经锐化的亮度值(YSharp)选择的色度增益。图750表示的数据可被实现为YSharp值和相应的在0和1之间的色度增益(衰减因子)的查找表。查找表被用来近似曲线752。对于同样位于查找表中的两个衰减因子之间的YSharp值,可对与位于当前YSharp值之上和之下的YSharp值相对应的两个衰减因子应用线性内插。此外,在其他实施例中,输入亮度值还可被选择为如以上图53所述的由逻辑710确定的Sharp1、Sharp2或Sharp3值中的一个,或者如图54所述的由逻辑738确定的YEdge值。
接着,通过亮度、对比度和颜色(BCC)调整逻辑662来处理图像锐化逻辑660(图50)的输出。图56表示BCC调整逻辑662的一个实施例的功能性方框图。如图所示,逻辑662包括明亮度和对比度处理块760、全局色相控制块762和饱和度控制块764。此处所示的实施例提供对10位精度的YCbCr数据的处理,尽管其他实施例可利用不同位深。以下讨论每个块760、762和764的功能。
首先参考明亮度和对比度处理块760,首先从亮度(Y)数据中减去偏移量YOffset以将黑度设为0。这是为了保证对比度调整不会改变黑度。接着,将亮度值乘上对比度增益值以应用对比度控制。作为示例,对比度增益值可以是包括2个整数位和10个分数位的12位无符号值,从而提供高达四倍于像素值的对比度增益范围。此后,可通过向亮度数据增加(或减去)明亮度偏移值来实现明亮度调整。作为示例,本实施例中的明亮度偏移量可以是具有-512至+512之间的范围的10位的二进制补码值。此外,应当注意的是,在对比度调整之后执行明亮度调整,以避免在改变对比度时发生DC偏移量的变化。此后,初始的YOffset被加回到调整后的亮度数据以重定位黑度。
块762和764提供基于Cb和Cr数据的色相特性的颜色调整。如图所示,首先从Cb和Cr数据中减去512的偏移量(假设是10位处理)以将范围大致定位到0。接着依照以下等式来调整色相:
Cbadj=Cb cos(θ)+Cr sin(θ), (76)
Cradj=Cr cos(θ)-Cb sin(θ), (77)
其中Cbadj和Cradj表示调整后的Cb和Cr值,以及其中θ表示色相角,可如下的计算得到θ:
以上操作都由全局色相控制块762内的逻辑来表示,并且可由以下矩阵运算来表示:
其中,Ka=cos(θ),Kb=sin(θ),θ在以上等式78中已定义。
接着,如饱和度控制块764所示,饱和度控制可被应用到Cbadj和Cradj值。在所示实施例中,通过为Cb和Cr值的每一个应用全局饱和度乘子和基于色相的饱和度乘子来执行饱和度控制。基于色相的饱和度控制可提高色彩的再现。颜色的色相可在YCbCr颜色空间中表示,如图57中的颜色轮图770所示。将明了的是,可通过将相同的颜色轮在HSV颜色空间(色相、饱和度和强度)中移位大约109度而导出YCbCr色调和饱和度颜色轮770。如图所示,图表770包括在范围0至1内的表示饱和度乘子(S)的圆周值,以及在0°至360°范围内的表示以上定义的θ的角度值。每个θ可表示一种不同的颜色(例如49°=品红,109°=红色,229°=绿色等)。可通过选择合适的饱和度乘子S来调整在特定色相角θ处的颜色的色相。
回去参考图56,色相角θ(在全局色相控制块762中计算得到的)可被用作用于Cb饱和度查找表766和Cr饱和度查找表768的索引。在一个实施例中,饱和度查找表766和768可包括256个在0-360°色相范围内均匀分布的饱和度值(例如第一个查找表条目在0°,最后一个条目在360°),并且可以通过对查找表中刚刚低于和高于当前色相角θ的饱和度值进行线性内插而确定给定像素处的饱和度值S。可通过将全局饱和度值(可以是用于Cb和Cr的每一个的全局对比度)乘上所确定的基于色相的饱和度值来获得用于Cb和Cr分量的每一个的最终饱和度值。因此,如基于色相的饱和度控制块764所示,可通过将Cbadj和Cradj乘上它们各自的最终饱和度值来确定最终校正的Cb’和Cr’值。
此后,BCC逻辑662的输出被传送到YCbCr伽马调整逻辑664,如图50所示。在一个实施例中,伽马调整逻辑664可提供Y、Cb和Cr通道的非线性映射功能。例如,输入Y、Cb和Cr值被映射到相应的输出值。再次,假设以10位来处理YCbCr数据,可以利用内插型10位256条目查找表。可以提供三个这样的查找表,每个用于Y、Cb和Cr信道之一。可均匀地分布256个条目的每一个,并且可通过对映射到刚刚在当前输入索引之上和之下的索引的输出值进行线性内插而确定输出。在一些实施例中,也可以使用具有1024个条目(对于10位数据)的非内插型查找表,但其可能具有高得多的存储器需求。将明了的是,通过调整查找表的输出值,YCbCr伽马调整功能可被用来执行特定图像滤波效果,例如黑白、褐色调、负片、过曝等。
接着,色度抽选逻辑668可将色度抽选应用到伽马调整逻辑664的输出。在一个实施例中,色度抽选逻辑668可被配置为执行水平抽选以将YCbCr数据从4:4:4格式转换为4:2:2格式,其中以亮度数据的速率的一半对色度(Cr和Cb)信息进行亚采样。仅作为示例,可通过对7个水平像素组成的集合应用7抽头低通滤波器(例如半带lanczos滤波器)来执行抽选,如下所示:
其中,in(i)表示输入像素(Cb或Cr),以及C0-C6表示7抽头滤波器的滤波系数。每个输入像素具有独立的滤波器系数(C0-C6)以允许为色度滤波样本应用灵活的相位偏移。
此外,在某些情况下,还可不使用滤波来执行色度抽选。当初始接收到的源图像是4:2:2格式,但其被上采样到了4:4:4格式以用于YCbCr处理时,这是有益的。在该情况下,得到的抽选的4:2:2图像与初始图像相同。
随后,在从YCbCr处理块364中输出之前,可使用缩放逻辑670来缩放从色度抽选逻辑668输出的YCbCr数据。缩放逻辑670的功能与如上参考图13所述的前端像素处理单元130的像素合并补偿滤波器182中的缩放逻辑214的功能类似。例如,缩放逻辑670可通过两个步骤来执行水平和垂直缩放。在一个实施例中,5抽头多相滤波器可被用于垂直缩放,9抽头多相滤波器可被用于水平缩放。多抽头多相滤波器可将从源图像中选择的像素乘上加权因子(例如滤波器系数),并且接着对输出求和以形成目的像素。可根据当前像素位置和滤波器抽头的数量来选择所选的像素。例如,对于垂直5抽头滤波器,可以选择在当前像素的每个垂直侧的两个邻近像素,对于水平9抽头滤波器,可以选择当前像素的每个水平侧的四个邻近像素。可由查找表提供滤波系数,并可通过当前的像素间分数位置来确定滤波系数。接着将缩放逻辑670的输出390从YCbCr处理块364输出。
回去参考图27,经处理的输出信号390可被发送到存储器108,或者可作为图像信号114从ISP流水处理逻辑82中输出给显示硬件(例如显示器28)以供用户观看,或输出给压缩引擎(例如编码器118)。在一些实施例中,图像信号114可在被路由到显示器之前由图形处理单元和/或压缩引擎进一步处理。另外,还可提供一个或多个帧缓冲器以控制输出到显示器的图像数据的缓冲,特别是视频图像数据。
应当理解的是,此处仅以示例方式提供了以上所描述的各种图像处理技术及涉及的缺陷像素检测和校正、镜头明暗校正、去马赛克和图像锐化,等等。因此,应当理解的是本公开不应当被解释为仅限制于以上所提供的例子。实际上,此处描述的示例性逻辑可在其他实施例中经历多种变形和/或其他特征。此外,应当明了的是还可以通过任何合适的方式来实现以上所述的技术。例如可使用硬件(例如恰当配置的电路)、软件(通过包括存储在一个或多个有形计算机可读介质上的可执行代码的计算机程序),或者通过硬件和软件元素的组合来实现图像处理电路32的部件,尤其是ISP前端块80和ISP流水块82。
以上所描述的特定实施例仅是作为示例,应当理解的是这些实施例具有多种变形和替换形式。还应当理解的是权利要求不是旨在限制于此处公开的特定形式,而是旨在覆盖落入本公开的精神和范围内的所有修改、等同形式和替换。
Claims (28)
1.一种处理图像数据的方法,包括:
接收利用图像传感器获取的原始图像模式,该原始图像模式包括按照滤色器阵列布置的多个绿色、红色和蓝色像素;
为图像模式中的每个非绿色像素内插绿色值,以获得用于图像数据的完整的绿色值集合,其中为每个非绿色像素内插绿色值包括:
接收当前非绿色像素;
利用与以每个非绿色像素为中心的像素块的相应多个中间行中的各行共有的像素值之和的绝对值来确定用于当前非绿色像素的水平能量分量,并且利用多个与所述像素块的相应多个中间列中的各列共有的像素值之和的绝对值来确定用于当前非绿色像素的垂直能量分量;
应用水平滤波以确定用于当前非绿色像素的内插绿色值的水平分量;
应用垂直滤波以确定用于当前非绿色像素的内插绿色值的垂直分量;
对水平分量应用第一加权因子并对垂直分量应用第二加权因子,其中第一加权因子至少部分基于垂直能量分量与水平和垂直能量分量之和的比值,并且其中第二加权因子至少部分基于水平能量分量与水平和垂直能量分量之和的比值;以及
对加权的垂直和水平分量求和,以确定用于当前非绿色像素的内插绿色值;
为原始图像模式的每个蓝色和绿色像素内插红色值,以获得用于图像数据的完整的红色值集合;
为原始图像模式的每个红色和绿色像素内插蓝色值,以获得用于图像数据的完整的蓝色值集合;
利用完整的绿色值集合、红色值集合和蓝色值集合,生成全彩图像。
2.如权利要求1所述的方法,其中确定水平和垂直能量分量是基于边缘自适应滤波器来进行的,该边缘自适应滤波器被定义为形成5×5阵列的一组像素,其中当前非绿色像素P(j,i)位于该5×5阵列的中心,并且其中该5×5阵列包括五行和五列,第一行定义该5×5阵列的上边缘,第二行在第一行的正下方,第三行在第二行的正下方并包含当前非绿色像素,第四行在第三行的正下方,第五行在第四行的正下方并定义该5×5阵列的下边缘,第一列定义该5×5阵列的左边缘,第二列紧邻第一列的右侧,第三列紧邻第二列的右侧并包含当前非绿色像素,第四列紧邻第三列的右侧,第五列紧邻第四列的右侧并定义该5×5阵列的右边缘;以及
其中确定水平能量分量包括:
对所述5×5阵列的第一、第二、第三、第四和第五列分别应用第一、第二、第三、第四和第五系数;
确定第一值,第一值为以下三者之和的绝对值:所述5×5阵列的第一列与第二、第三和第四行共有的像素的值之和与第一系数的乘积,所述5×5阵列的第三列与第二、第三和第四行共有的像素的值之和与第三系数的乘积,所述5×5阵列的第五列与第二、第三和第四行共有的像素的值之和与第五系数的乘积;
确定第二值,第二值为以下两者之和的绝对值:所述5×5阵列的第二列与第二、第三和第四行共有的像素的值之和与第二系数的乘积,所述5×5阵列的第四列与第二、第三和第四行共有的像素的值之和与第四系数的乘积;以及
对第一值和第二值求和。
3.根据权利要求2所述的方法,其中,确定水平能量分量包括根据以下来计算水平能量分量:
Eh=abs[2((P(j-1,i)+P(j,i)+P(j+1,i))-
(P(j-1,i-2)+P(j,i-2)+P(j+1,i-2))-
(P(j-1,i+2)+P(j,i+2)+P(j+1,i+2)]+
abs[(P(j-1,i-1)+P(j,i-1)+P(j+1,i-1))-
(P(j-1,i+1)+P(j,i+1)+P(j+1,i+1)];
以及其中,确定垂直能量分量包括根据以下来计算垂直能量分量:
Ev=abs[2(P(j,i-1)+P(j,i)+P(j,i+1))-
(P(j-2,i-1)+P(j-2,i)+P(j-2,i+1))-
(P(j+2,i-1)+P(j+2,i)+P(j+2,i+1)]+
abs[(P(j-1,i-1)+P(j-1,i)+P(j-1,i+1))-
(P(j+1,i-1)+P(j+1,i)+P(j+1,i+1)];
其中,Eh表示水平能量分量,Ev表示垂直能量分量,P(j,i)表示当前非绿色像素,j表示5×5阵列中的行坐标,以及i表示5×5阵列中的列坐标。
4.如权利要求2所述的方法,其中确定垂直能量分量包括:
对所述5×5阵列的第一、第二、第三、第四和第五行分别应用第一、第二、第三、第四和第五系数;
确定第一值,第一值为以下三者之和的绝对值:所述5×5阵列的第一行与第二、第三和第四列共有的像素的值之和与第一系数的乘积,所述5×5阵列的第三行与第二、第三和第四列共有的像素的值之和与第三系数的乘积,所述5×5阵列的第五行与第二、第三和第四列共有的像素的值之和与第五系数的乘积;
确定第二值,第二值为以下两者之和的绝对值:所述5×5阵列的第二行与第二、第三和第四列共有的像素的值之和与第二系数的乘积,所述5×5阵列的第四行与第二、第三和第四列共有的像素的值之和与第四系数的乘积;以及
对第一值和第二值求和。
5.如权利要求2所述的方法,其中应用水平滤波以确定内插绿色值的水平分量包括:
基于所述5×5阵列的中心行中邻近当前非绿色像素的绿色像素应用低通滤波,以获得水平低通滤波后的值;
基于当前非绿色像素和所述5×5阵列的中心行的左边缘和右边缘处的非绿色像素应用高通滤波,以确定水平高通滤波后的值;以及
对水平低通滤波后的值和水平高通滤波后的值求和,以确定所述内插绿色值的水平分量。
6.如权利要求5所述的方法,其中所述内插绿色值的水平分量相当于:对当前非绿色像素和中心行中邻近当前非绿色像素的绿色像素中的两个绿色像素中的每一个的值求和并将结果乘以值为2的滤波系数以获得第一值,对中心行的左边缘和右边缘处的每个非绿色像素的值求和并将结果乘以值为-1的滤波系数以获得第二值,并且将第一值与第二值之和除以4。
7.如权利要求5所述的方法,其中应用垂直滤波以确定内插绿色值的垂直分量包括:
基于所述5×5阵列的中心列中邻近当前非绿色像素的绿色像素应用低通滤波,以获得垂直低通滤波后的值;
基于当前非绿色像素和所述5×5阵列的中心列的上边缘和下边缘处的非绿色像素应用高通滤波,以确定垂直高通滤波后的值;以及
对垂直低通滤波后的值和垂直高通滤波后的值求和,以确定所述内插绿色值的垂直分量。
8.如权利要求7所述的方法,其中所述内插绿色值的垂直分量相当于:对当前非绿色像素和中心列中邻近当前非绿色像素的绿色像素中的两个绿色像素中的每一个的值求和并将结果乘以值为2的滤波系数以获得第一值,对中心列的上边缘和下边缘处的每个非绿色像素的值求和并将结果乘以值为-1的滤波系数以获得第二值,并且将第一值与第二值之和除以4。
9.如权利要求1所述的方法,其中为原始图像模式的每个蓝色和绿色像素内插红色值以获得用于图像数据的完整的红色值集合包括:
接收当前非红色像素;
识别形成3×3阵列的一组像素,其中当前非红色像素位于该3×3阵列的中心;
通过计算该3×3阵列内红色邻近像素的值的平均值,确定用于当前非红色像素的内插红色值的低通滤波分量;
如果当前非红色像素为绿色,通过计算当前绿色像素的值与同样位于红色邻近像素的位置处的每个内插绿色值之间的梯度的平均值,来确定高通滤波分量;
如果当前非红色像素为蓝色,通过计算与当前蓝色像素的位置相对应的内插绿色值与同样位于红色邻近像素的位置处的每个内插绿色值之间的梯度的平均值,来确定高通滤波分量;以及
对所述低通滤波分量和所述高通滤波分量求和,以确定用于当前非红色像素的内插红色值。
10.如权利要求1所述的方法,其中为原始图像模式的每个红色和绿色像素内插蓝色值以获得用于图像数据的完整的蓝色值集合包括:
接收当前非蓝色像素;
识别形成3×3阵列的一组像素,其中当前非蓝色像素位于该3×3阵列的中心;
通过计算该3×3阵列内蓝色邻近像素的值的平均值,确定用于当前非蓝色像素的内插蓝色值的低通滤波分量;
如果当前非蓝色像素为绿色,通过计算当前绿色像素的值与同样位于蓝色邻近像素的位置处的每个内插绿色值之间的梯度的平均值,来确定高通滤波分量;
如果当前非蓝色像素为红色,通过计算与当前红色像素的位置相对应的内插绿色值与同样位于蓝色邻近像素的位置处的每个内插绿色值之间的梯度的平均值,来确定高通滤波分量;以及
对所述低通滤波分量和高通滤波分量求和,以确定用于当前非蓝色像素的内插蓝色值。
11.如权利要求1所述的方法,其中对水平分量应用第一加权因子并对垂直分量应用第二加权因子包括:
量化第一加权因子和第二加权因子。
12.一种处理图像数据的系统,包括:
具有图像传感器的成像设备,其中所述图像传感器包括定义了颜色模式的滤色器阵列,所述颜色模式包括第一颜色分量、第二颜色分量和第三颜色分量,其中所述颜色模式被布置为使得第一颜色分量在所述颜色模式内的分布是第二颜色分量和第三颜色分量中每一种颜色分量的分布的两倍大;以及
图像处理电路,被配置为处理利用图像传感器获取的图像模式,其中所述图像处理电路包括:
去马赛克逻辑,被配置为:为图像模式中每个缺失的第一颜色样本内插第一颜色值以便获得用于图像数据的完整的第一颜色值集合,为图像模式中每个缺失的第二颜色样本内插第二颜色值以便获得用于图像数据的完整的第二颜色值集合,以及为图像模式中每个缺失的第三颜色样本内插第三颜色值以便获得用于图像数据的完整的第三颜色值集合;
其中缺失的第一颜色样本的内插包括:
对于当前非第一颜色像素,确定与当前非第一颜色像素对应的内插第一颜色值的水平分量和垂直分量;
对5×5像素阵列应用边缘自适应滤波,以确定与当前非第一颜色像素对应的水平能量分量和垂直能量分量,其中当前非第一颜色像素位于该5×5阵列的中心,其中确定所述水平能量分量包括:利用与以当前非第一颜色像素为中心的5×5像素阵列的相应多个中间行中的各行共有的像素值之和的绝对值,并且确定所述垂直能量分量包括:利用多个与以当前非第一颜色像素为中心的5×5像素阵列的相应多个中间列中的各列共有的像素值之和的绝对值;
利用垂直能量分量与水平和垂直能量分量之和的比值来对所述水平分量加权,并且利用水平能量分量与水平和垂直能量分量之和的比值,对所述垂直分量加权;以及
通过加权的垂直和水平分量求和,确定用于当前非第一颜色像素的内插第一颜色值。
13.如权利要求12所述的系统,其中所述去马赛克逻辑被配置为通过将水平和垂直能量分量的值都设为1,禁用所述水平和垂直分量的加权。
14.如权利要求12所述的系统,其中所述滤色器阵列包括拜耳滤色器阵列,并且其中第一颜色分量、第二颜色分量和第三颜色分量分别对应于绿色、红色和蓝色。
15.如权利要求12所述的系统,其中所述图像处理电路被配置为基于完整的第一颜色值集合、第二颜色值集合和第三颜色值集合来重构全彩图像。
16.如权利要求12所述的系统,包括电子设备,并且其中该电子设备包括以下之一:膝上型计算机、桌上型计算机、数码相机、或手持便携式设备、或它们的某种组合。
17.一种处理图像数据的方法,包括:
接收基于利用图像传感器获取的图像数据的原始图像模式,该原始图像模式包括按照滤色器阵列布置的多个绿色、红色和蓝色像素;
为图像模式中的每个非绿色像素内插绿色值,以获得用于图像数据的完整的绿色值集合,其中内插绿色值包括:
使用边缘自适应滤波来确定用于当前非绿色像素的水平能量分量、垂直能量分量、正对角能量分量和负对角能量分量;
确定与用于当前非绿色像素的水平能量分量、垂直能量分量、正对角能量分量和负对角能量分量分别相对应的内插绿色值的水平分量、垂直分量、正对角分量和负对角分量,其中利用与以每个非绿色像素为中心的像素块的相应多个中间行中的各行共有的像素值之和的绝对值来确定水平分量,利用多个与所述像素块的相应多个中间列中的各列共有的像素值之和的绝对值来确定垂直分量;
对所述水平分量、垂直分量、正对角分量和负对角分量中的至少两个分量应用一个或多个加权系数;以及
对加权后的至少两个分量求和,以确定用于当前非绿色像素的内插绿色值。
18.如权利要求17所述的方法,包括:
为原始图像模式的每个蓝色和绿色像素内插红色值,以获得用于图像数据的完整的红色值集合,其中内插该红色值至少部分是基于一3×3像素阵列内邻近当前非红色像素的至少两个红色像素的值与至少两个位于相同位置的内插绿色值的比值的平均值,其中当前非红色像素位于该3×3像素阵列的中心;以及
为原始图像模式的每个红色和绿色像素内插蓝色值,以获得用于图像数据的完整的蓝色值集合,其中内插该蓝色值至少部分是基于一3×3像素阵列内邻近当前非蓝色像素的至少两个蓝色像素的值与至少两个位于相同位置的内插绿色值的比值的平均值,其中当前非蓝色像素位于该3×3像素阵列的中心。
19.如权利要求18所述的方法,其中为非红色像素内插红色值包括:
如果非红色像素是绿色,确定3×3阵列内的第一红色邻近像素的值与位于相同位置的第一内插绿色值的比值和3×3阵列内的第二红色邻近像素的值与位于相同位置的第二内插绿色值的比值的平均值,并将所确定的平均值乘以当前绿色像素的值,以确定用于当前绿色像素的内插红色值;以及
如果非红色像素是蓝色,确定3×3阵列内的第一、第二、第三和第四红色邻近像素的值与分别位于相同位置的内插绿色值的比值的平均值,并将所确定的平均值乘以与当前蓝色像素的值位于相同位置的内插绿色值,以确定用于当前蓝色像素的内插红色值;并且
其中为非蓝色像素内插蓝色值包括:
如果非蓝色像素是绿色,确定3×3阵列内的第一蓝色邻近像素的值与位于相同位置的第一内插绿色值的比值和3×3阵列内的第二蓝色邻近像素的值与位于相同位置的第二内插绿色值的比值的平均值,并将所确定的平均值乘以当前绿色像素的值,以确定用于当前绿色像素的内插蓝色值;以及
如果非蓝色像素是红色,确定3×3阵列内的第一、第二、第三和第四蓝色邻近像素的值与分别位于相同位置的内插绿色值的比值的平均值,并将所确定的平均值乘以与当前红色像素的值位于相同位置的内插绿色值,以确定用于当前红色像素的内插蓝色值。
20.如权利要求17所述的方法,其中对所述水平分量、垂直分量、正对角分量和负对角分量中的至少两个分量应用一个或多个加权系数包括:
选择所述水平能量分量、垂直能量分量、正对角能量分量和负对角能量分量中的两个最高能量分量;
确定与所选择的两个最高能量分量中的每一个对应的加权系数;以及
将所确定的加权系数应用到所述水平分量、垂直分量、正对角分量和负对角分量中与所选择的两个能量分量相对应的两个分量。
21.一种处理图像数据的装置,包括:
用于接收利用图像传感器获取的原始图像模式的部件,该原始图像模式包括按照滤色器阵列布置的多个绿色、红色和蓝色像素;
用于为图像模式中的每个非绿色像素内插绿色值,以获得用于图像数据的完整的绿色值集合的部件,其中为每个非绿色像素内插绿色值包括:
接收当前非绿色像素;
利用与以每个非绿色像素为中心的像素块的相应多个中间行中的各行共有的像素值之和的绝对值来确定用于当前非绿色像素的水平能量分量,并且利用多个与所述像素块的相应多个中间列中的各列共有的像素值之和的绝对值来确定用于当前非绿色像素的垂直能量分量;
应用水平滤波以确定用于当前非绿色像素的内插绿色值的水平分量;
应用垂直滤波以确定用于当前非绿色像素的内插绿色值的垂直分量;
对水平分量应用第一加权因子并对垂直分量应用第二加权因子,其中第一加权因子至少部分基于垂直能量分量与水平和垂直能量分量之和的比值,并且其中第二加权因子至少部分基于水平能量分量与水平和垂直能量分量之和的比值;以及
对加权的垂直和水平分量求和,以确定用于当前非绿色像素的内插绿色值;
用于为原始图像模式的每个蓝色和绿色像素内插红色值,以获得用于图像数据的完整的红色值集合的部件;
用于为原始图像模式的每个红色和绿色像素内插蓝色值,以获得用于图像数据的完整的蓝色值集合的部件;
用于利用完整的绿色值集合、红色值集合和蓝色值集合,生成全彩图像的部件。
22.如权利要求21所述的装置,其中确定水平和垂直能量分量是基于边缘自适应滤波器来进行的,该边缘自适应滤波器被定义为形成5×5阵列的一组像素,其中当前非绿色像素P(j,i)位于该5×5阵列的中心,并且其中该5×5阵列包括五行和五列,第一行定义该5×5阵列的上边缘,第二行在第一行的正下方,第三行在第二行的正下方并包含当前非绿色像素,第四行在第三行的正下方,第五行在第四行的正下方并定义该5×5阵列的下边缘,第一列定义该5×5阵列的左边缘,第二列紧邻第一列的右侧,第三列紧邻第二列的右侧并包含当前非绿色像素,第四列紧邻第三列的右侧,第五列紧邻第四列的右侧并定义该5×5阵列的右边缘;以及
其中确定水平能量分量包括:
对所述5×5阵列的第一、第二、第三、第四和第五列分别应用第一、第二、第三、第四和第五系数;
确定第一值,第一值为以下三者之和的绝对值:所述5×5阵列的第一列与第二、第三和第四行共有的像素的值之和与第一系数的乘积,所述5×5阵列的第三列与第二、第三和第四行共有的像素的值之和与第三系数的乘积,所述5×5阵列的第五列与第二、第三和第四行共有的像素的值之和与第五系数的乘积;
确定第二值,第二值为以下两者之和的绝对值:所述5×5阵列的第二列与第二、第三和第四行共有的像素的值之和与第二系数的乘积,所述5×5阵列的第四列与第二、第三和第四行共有的像素的值之和与第四系数的乘积;以及
对第一值和第二值求和。
23.根据权利要求22所述的装置,其中,确定水平能量分量包括根据以下来计算水平能量分量:
Eh=abs[2((P(j-1,i)+P(j,i)+P(j+1,i))-
(P(j-1,i-2)+P(j,i-2)+P(j+1,i-2))-
(P(j-1,i+2)+P(j,i+2)+P(j+1,i+2)]+
abs[(P(j-1,i-1)+P(j,i-1)+P(j+1,i-1))-
(P(j-1,i+1)+P(j,i+1)+P(j+1,i+1)];
以及其中,确定垂直能量分量包括根据以下来计算垂直能量分量:
Ev=abs[2(P(j,i-1)+P(j,i)+P(j,i+1))-
(P(j-2,i-1)+P(j-2,i)+P(j-2,i+1))-
(P(j+2,i-1)+P(j+2,i)+P(j+2,i+1)]+
abs[(P(j-1,i-1)+P(j-1,i)+P(j-1,i+1))-
(P(j+1,i-1)+P(j+1,i)+P(j+1,i+1)];
其中,Eh表示水平能量分量,Ev表示垂直能量分量,P(j,i)表示当前非绿色像素,j表示5×5阵列中的行坐标,以及i表示5×5阵列中的列坐标。
24.如权利要求22所述的装置,其中确定垂直能量分量包括:
对所述5×5阵列的第一、第二、第三、第四和第五行分别应用第一、第二、第三、第四和第五系数;
确定第一值,第一值为以下三者之和的绝对值:所述5×5阵列的第一行与第二、第三和第四列共有的像素的值之和与第一系数的乘积,所述5×5阵列的第三行与第二、第三和第四列共有的像素的值之和与第三系数的乘积,所述5×5阵列的第五行与第二、第三和第四列共有的像素的值之和与第五系数的乘积;
确定第二值,第二值为以下两者之和的绝对值:所述5×5阵列的第二行与第二、第三和第四列共有的像素的值之和与第二系数的乘积,所述5×5阵列的第四行与第二、第三和第四列共有的像素的值之和与第四系数的乘积;以及
对第一值和第二值求和。
25.一种处理图像数据的装置,包括:
用于接收基于利用图像传感器获取的图像数据的原始图像模式的部件,该原始图像模式包括按照滤色器阵列布置的多个绿色、红色和蓝色像素;
用于为图像模式中的每个非绿色像素内插绿色值,以获得用于图像数据的完整的绿色值集合的部件,其中内插绿色值包括:
使用边缘自适应滤波来确定用于当前非绿色像素的水平能量分量、垂直能量分量、正对角能量分量和负对角能量分量;
确定与用于当前非绿色像素的水平能量分量、垂直能量分量、正对角能量分量和负对角能量分量分别相对应的内插绿色值的水平分量、垂直分量、正对角分量和负对角分量,其中利用与以每个非绿色像素为中心的像素块的相应多个中间行中的各行共有的像素值之和的绝对值来确定水平分量,利用多个与所述像素块的相应多个中间列中的各列共有的像素值之和的绝对值来确定垂直分量;
对所述水平分量、垂直分量、正对角分量和负对角分量中的至少两个分量应用一个或多个加权系数;以及
对加权后的至少两个分量求和,以确定用于当前非绿色像素的内插绿色值。
26.如权利要求25所述的装置,包括:
用于为原始图像模式的每个蓝色和绿色像素内插红色值,以获得用于图像数据的完整的红色值集合的部件,其中内插该红色值至少部分是基于一3×3像素阵列内邻近当前非红色像素的至少两个红色像素的值与至少两个位于相同位置的内插绿色值的比值的平均值,其中当前非红色像素位于该3×3像素阵列的中心;以及
用于为原始图像模式的每个红色和绿色像素内插蓝色值,以获得用于图像数据的完整的蓝色值集合的部件,其中内插该蓝色值至少部分是基于一3×3像素阵列内邻近当前非蓝色像素的至少两个蓝色像素的值与至少两个位于相同位置的内插绿色值的比值的平均值,其中当前非蓝色像素位于该3×3像素阵列的中心。
27.如权利要求26所述的装置,其中为非红色像素内插红色值包括:
如果非红色像素是绿色,确定3×3阵列内的第一红色邻近像素的值与位于相同位置的第一内插绿色值的比值和3×3阵列内的第二红色邻近像素的值与位于相同位置的第二内插绿色值的比值的平均值,并将所确定的平均值乘以当前绿色像素的值,以确定用于当前绿色像素的内插红色值;以及
如果非红色像素是蓝色,确定3×3阵列内的第一、第二、第三和第四红色邻近像素的值与分别位于相同位置的内插绿色值的比值的平均值,并将所确定的平均值乘以与当前蓝色像素的值位于相同位置的内插绿色值,以确定用于当前蓝色像素的内插红色值;并且
其中为非蓝色像素内插蓝色值包括:
如果非蓝色像素是绿色,确定3×3阵列内的第一蓝色邻近像素的值与位于相同位置的第一内插绿色值的比值和3×3阵列内的第二蓝色邻近像素的值与位于相同位置的第二内插绿色值的比值的平均值,并将所确定的平均值乘以当前绿色像素的值,以确定用于当前绿色像素的内插蓝色值;以及
如果非蓝色像素是红色,确定3×3阵列内的第一、第二、第三和第四蓝色邻近像素的值与分别位于相同位置的内插绿色值的比值的平均值,并将所确定的平均值乘以与当前红色像素的值位于相同位置的内插绿色值,以确定用于当前红色像素的内插蓝色值。
28.如权利要求24所述的装置,其中对所述水平分量、垂直分量、正对角分量和负对角分量中的至少两个分量应用一个或多个加权系数包括:
选择所述水平能量分量、垂直能量分量、正对角能量分量和负对角能量分量中的两个最高能量分量;
确定与所选择的两个最高能量分量中的每一个对应的加权系数;以及
将所确定的加权系数应用到所述水平分量、垂直分量、正对角分量和负对角分量中与所选择的两个能量分量相对应的两个分量。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/582,414 US8638342B2 (en) | 2009-10-20 | 2009-10-20 | System and method for demosaicing image data using weighted gradients |
US12/582,414 | 2009-10-20 | ||
PCT/US2010/052293 WO2011049781A1 (en) | 2009-10-20 | 2010-10-12 | System and method for demosaicing image data using weighted gradients |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102640499A CN102640499A (zh) | 2012-08-15 |
CN102640499B true CN102640499B (zh) | 2014-12-10 |
Family
ID=43304063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080054765.3A Expired - Fee Related CN102640499B (zh) | 2009-10-20 | 2010-10-12 | 用加权的梯度对图像数据去马赛克的系统和方法 |
Country Status (8)
Country | Link |
---|---|
US (3) | US8638342B2 (zh) |
EP (1) | EP2491721B1 (zh) |
JP (1) | JP5688090B2 (zh) |
KR (1) | KR101303415B1 (zh) |
CN (1) | CN102640499B (zh) |
AU (1) | AU2010308353B2 (zh) |
TW (1) | TWI454153B (zh) |
WO (1) | WO2011049781A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12148126B2 (en) | 2021-11-12 | 2024-11-19 | National Taiwan University | Data processing method for rapidly suppressing high-frequency background noise in a digitized image |
Families Citing this family (143)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5266957B2 (ja) * | 2008-08-21 | 2013-08-21 | パナソニック株式会社 | 欠陥画素検出装置、撮像装置、および欠陥画素検出方法 |
US8704908B1 (en) * | 2008-11-03 | 2014-04-22 | Marvell International Ltd. | Method and apparatus for multiple zone statistics collection for digital image/video capture systems |
US8284271B2 (en) * | 2009-06-05 | 2012-10-09 | Apple Inc. | Chroma noise reduction for cameras |
US8274583B2 (en) * | 2009-06-05 | 2012-09-25 | Apple Inc. | Radially-based chroma noise reduction for cameras |
JP4991907B2 (ja) * | 2010-05-11 | 2012-08-08 | キヤノン株式会社 | 画像処理装置、および、画像処理装置の制御方法 |
KR101103624B1 (ko) * | 2010-05-18 | 2012-01-09 | 엠텍비젼 주식회사 | 이미지 처리 장치, 이미지 신호 처리 칩 및 isp 체인 구성 방법 |
KR101650842B1 (ko) * | 2010-05-27 | 2016-08-25 | 삼성전자주식회사 | 영상 처리 장치, 영상 처리 방법, 및 이를 실행하기 위해 프로그램을 저장한 기록 매체 |
US8325248B2 (en) * | 2010-06-04 | 2012-12-04 | Apple Inc. | Dual processing of raw image data |
TW201215149A (en) * | 2010-09-17 | 2012-04-01 | Alpha Imaging Technology Corp | Notebook computer for processing original high resolution images and image processing device thereof |
US8488055B2 (en) | 2010-09-30 | 2013-07-16 | Apple Inc. | Flash synchronization using image sensor interface timing signal |
US8508612B2 (en) * | 2010-09-30 | 2013-08-13 | Apple Inc. | Image signal processor line buffer configuration for processing ram image data |
JP5656561B2 (ja) | 2010-10-28 | 2015-01-21 | キヤノン株式会社 | 画像処理装置、その制御方法、および制御プログラム |
TWI458347B (zh) * | 2010-12-20 | 2014-10-21 | Ind Tech Res Inst | 影像擷取裝置及其方法 |
JP5664255B2 (ja) * | 2011-01-14 | 2015-02-04 | ソニー株式会社 | 画像処理装置、および画像処理方法、並びにプログラム |
JP5195942B2 (ja) * | 2011-01-24 | 2013-05-15 | ブラザー工業株式会社 | 走査型画像表示装置 |
US8520080B2 (en) | 2011-01-31 | 2013-08-27 | Hand Held Products, Inc. | Apparatus, system, and method of use of imaging assembly on mobile terminal |
JP5423697B2 (ja) * | 2011-02-09 | 2014-02-19 | 株式会社ニコン | 画像処理装置、撮像装置、画像処理プログラム、及び画像処理方法 |
GB2494629A (en) * | 2011-09-09 | 2013-03-20 | St Microelectronics Res & Dev | Optical navigation device with sleep mode and active mode |
US8976161B2 (en) | 2012-03-01 | 2015-03-10 | Apple Inc. | Systems and methods for image processing |
CN104285435B (zh) * | 2012-05-10 | 2016-09-28 | 富士胶片株式会社 | 摄像装置及信号校正方法 |
WO2013169384A1 (en) * | 2012-05-11 | 2013-11-14 | Intel Corporation | Systems, methods, and computer program products for compound image demosaicing and warping |
US8953882B2 (en) | 2012-05-31 | 2015-02-10 | Apple Inc. | Systems and methods for determining noise statistics of image data |
US9014504B2 (en) * | 2012-05-31 | 2015-04-21 | Apple Inc. | Systems and methods for highlight recovery in an image signal processor |
US9031319B2 (en) | 2012-05-31 | 2015-05-12 | Apple Inc. | Systems and methods for luma sharpening |
US9077943B2 (en) | 2012-05-31 | 2015-07-07 | Apple Inc. | Local image statistics collection |
US9105078B2 (en) | 2012-05-31 | 2015-08-11 | Apple Inc. | Systems and methods for local tone mapping |
US9025867B2 (en) | 2012-05-31 | 2015-05-05 | Apple Inc. | Systems and methods for YCC image processing |
US9743057B2 (en) | 2012-05-31 | 2017-08-22 | Apple Inc. | Systems and methods for lens shading correction |
US8817120B2 (en) | 2012-05-31 | 2014-08-26 | Apple Inc. | Systems and methods for collecting fixed pattern noise statistics of image data |
US20130321675A1 (en) * | 2012-05-31 | 2013-12-05 | Apple Inc. | Raw scaler with chromatic aberration correction |
US9142012B2 (en) | 2012-05-31 | 2015-09-22 | Apple Inc. | Systems and methods for chroma noise reduction |
US8917336B2 (en) | 2012-05-31 | 2014-12-23 | Apple Inc. | Image signal processing involving geometric distortion correction |
US11089247B2 (en) | 2012-05-31 | 2021-08-10 | Apple Inc. | Systems and method for reducing fixed pattern noise in image data |
US9332239B2 (en) | 2012-05-31 | 2016-05-03 | Apple Inc. | Systems and methods for RGB image processing |
US8872946B2 (en) | 2012-05-31 | 2014-10-28 | Apple Inc. | Systems and methods for raw image processing |
US9160912B2 (en) | 2012-06-08 | 2015-10-13 | Apple Inc. | System and method for automatic image capture control in digital imaging |
CN103517048B (zh) * | 2012-06-20 | 2017-03-01 | Vixs系统公司 | 自适应边缘增强 |
CN103049878A (zh) * | 2012-12-10 | 2013-04-17 | 天津天地伟业数码科技有限公司 | 基于fpga和边缘预测算法的颜色插值方法 |
CN103067708B (zh) * | 2012-12-25 | 2015-06-17 | 太原理工大学 | 基于w-z结构的贝尔模板数字图像编解码方法 |
CN104143176A (zh) * | 2013-05-10 | 2014-11-12 | 富士通株式会社 | 图像放大方法和装置 |
US9042643B2 (en) * | 2013-06-20 | 2015-05-26 | Himax Imaging Limited | Method for demosaicking |
KR102233965B1 (ko) * | 2013-07-01 | 2021-03-30 | 삼성전자주식회사 | 필터링을 수반한 비디오 부호화 및 복호화 방법 및 그 장치 |
US9549161B2 (en) | 2013-07-08 | 2017-01-17 | Samsung Display Co., Ltd. | Image and video in mosaic formats |
US9034696B2 (en) | 2013-07-15 | 2015-05-19 | Invensas Corporation | Microelectronic assemblies having reinforcing collars on connectors extending through encapsulation |
US8883563B1 (en) | 2013-07-15 | 2014-11-11 | Invensas Corporation | Fabrication of microelectronic assemblies having stack terminals coupled by connectors extending through encapsulation |
US9023691B2 (en) | 2013-07-15 | 2015-05-05 | Invensas Corporation | Microelectronic assemblies with stack terminals coupled by connectors extending through encapsulation |
US9270959B2 (en) | 2013-08-07 | 2016-02-23 | Qualcomm Incorporated | Dynamic color shading correction |
JP5822411B2 (ja) * | 2013-08-12 | 2015-11-24 | 株式会社アポロジャパン | 画像情報のコード変換装置、画像情報のコード変換方法、画像コードを用いた画像関連情報提供システム、画像情報のコード変換プログラム、及びそのプログラムを記録した記録媒体 |
CN103491280B (zh) * | 2013-09-30 | 2016-01-20 | 上海交通大学 | 一种拜耳图像联合去噪插值方法 |
CN103533320B (zh) * | 2013-10-25 | 2015-04-01 | 上海交通大学 | 一种Bayer格式图像联合去噪插值的方法和系统 |
US9392166B2 (en) * | 2013-10-30 | 2016-07-12 | Samsung Electronics Co., Ltd. | Super-resolution in processing images such as from multi-layer sensors |
JP6242171B2 (ja) * | 2013-11-13 | 2017-12-06 | キヤノン株式会社 | 画像処理装置、画像処理方法、プログラム |
CN103686028A (zh) * | 2013-11-29 | 2014-03-26 | 浙江大学 | 一种用于大屏幕多投影系统的视频像素交替插值方法 |
KR102159991B1 (ko) | 2013-12-27 | 2020-09-25 | 삼성전자주식회사 | 렌즈 쉐이딩 보정 방법, 그것을 이용하는 영상 신호 처리 장치 및 이미지 센서 시스템 |
KR102128468B1 (ko) * | 2014-02-19 | 2020-06-30 | 삼성전자주식회사 | 복수의 이미지 신호 프로세서들을 포함하는 이미지 처리 장치 및 이미지 처리 방법 |
US9214454B2 (en) | 2014-03-31 | 2015-12-15 | Invensas Corporation | Batch process fabrication of package-on-package microelectronic assemblies |
US10783696B2 (en) | 2014-04-05 | 2020-09-22 | Sony Interactive Entertainment LLC | Gradient adjustment for texture mapping to non-orthonormal grid |
US9652882B2 (en) | 2014-04-05 | 2017-05-16 | Sony Interactive Entertainment America Llc | Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location |
US9495790B2 (en) | 2014-04-05 | 2016-11-15 | Sony Interactive Entertainment America Llc | Gradient adjustment for texture mapping to non-orthonormal grid |
US10068311B2 (en) | 2014-04-05 | 2018-09-04 | Sony Interacive Entertainment LLC | Varying effective resolution by screen location by changing active color sample count within multiple render targets |
US11302054B2 (en) | 2014-04-05 | 2022-04-12 | Sony Interactive Entertainment Europe Limited | Varying effective resolution by screen location by changing active color sample count within multiple render targets |
US9710881B2 (en) | 2014-04-05 | 2017-07-18 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location by altering rasterization parameters |
US9710957B2 (en) | 2014-04-05 | 2017-07-18 | Sony Interactive Entertainment America Llc | Graphics processing enhancement by tracking object and/or primitive identifiers |
WO2015154004A1 (en) | 2014-04-05 | 2015-10-08 | Sony Computer Entertainment America Llc | Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters |
US9865074B2 (en) | 2014-04-05 | 2018-01-09 | Sony Interactive Entertainment America Llc | Method for efficient construction of high resolution display buffers |
US9836816B2 (en) | 2014-04-05 | 2017-12-05 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport |
DE102014008686B4 (de) * | 2014-06-13 | 2017-04-06 | Basler Aktiengesellschaft | Verfahren und Vorrichtung zur Farbinterpolation |
US9161029B1 (en) * | 2014-07-03 | 2015-10-13 | Interra Systems, Inc. | Systems and methods for detecting defective pixels in a video sequence |
US9386234B2 (en) | 2014-07-31 | 2016-07-05 | Apple Inc. | Auto filter extent management |
US9219870B1 (en) | 2014-07-31 | 2015-12-22 | Apple Inc. | Sensor data rescaler for image signal processing |
US9210391B1 (en) | 2014-07-31 | 2015-12-08 | Apple Inc. | Sensor data rescaler with chroma reduction |
US9462189B2 (en) | 2014-07-31 | 2016-10-04 | Apple Inc. | Piecewise perspective transform engine |
JP6080190B2 (ja) | 2014-09-15 | 2017-02-15 | エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd | デモザイク化の方法 |
KR102154697B1 (ko) * | 2014-09-19 | 2020-09-11 | 엘지디스플레이 주식회사 | 표시장치의 과구동 회로 |
KR102357680B1 (ko) | 2014-11-17 | 2022-02-03 | 삼성전자주식회사 | 이벤트에 기반하여 객체의 이동을 감지하는 장치 및 방법 |
KR102218832B1 (ko) | 2014-12-16 | 2021-02-24 | 삼성전자주식회사 | 컬러 프린지를 제거하기 위한 이미지 처리 장치 |
KR102255218B1 (ko) | 2014-12-18 | 2021-05-24 | 삼성전자주식회사 | 컬러 프린지를 제거하기 위한 이미지 처리 장치 |
US10089081B2 (en) * | 2014-12-31 | 2018-10-02 | Excalibur Ip, Llc | Method and/or apparatus for generating signal processing pipelines |
KR102402678B1 (ko) | 2015-03-18 | 2022-05-26 | 삼성전자주식회사 | 이벤트 기반 센서 및 프로세서의 동작 방법 |
CN104900213B (zh) * | 2015-06-05 | 2017-08-11 | 武汉精测电子技术股份有限公司 | 液晶模组亮度调节装置和方法 |
WO2017007989A1 (en) * | 2015-07-08 | 2017-01-12 | Vid Scale, Inc. | Enhanced chroma coding using cross plane filtering |
CN104952422B (zh) * | 2015-07-13 | 2017-06-16 | 武汉精测电子技术股份有限公司 | 一种在mipi模组显示图像时调节模组显示参数的方法及系统 |
TWI543616B (zh) * | 2015-07-21 | 2016-07-21 | 原相科技股份有限公司 | 在數位域降低影像感測器之固定圖案雜訊的方法與裝置 |
US10440299B2 (en) * | 2015-09-04 | 2019-10-08 | Apple Inc. | Correcting pixel defects based on defect history in an image processing pipeline |
KR102437588B1 (ko) | 2015-09-22 | 2022-08-30 | 삼성전자주식회사 | 영상 캡처 장치 |
KR102401582B1 (ko) | 2015-09-24 | 2022-05-24 | 삼성전자주식회사 | 렌즈 쉐이딩 정정 회로 및 이를 포함하는 장치들 |
US10025492B2 (en) * | 2016-02-08 | 2018-07-17 | Microsoft Technology Licensing, Llc | Pointing detection |
US10863158B2 (en) * | 2016-05-17 | 2020-12-08 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and program |
US9992467B2 (en) * | 2016-06-30 | 2018-06-05 | Apple Inc. | Parallel computer vision and image scaling architecture |
US10360687B2 (en) * | 2016-07-01 | 2019-07-23 | Intel Corporation | Detection and location of active display regions in videos with static borders |
CN106303474A (zh) * | 2016-09-29 | 2017-01-04 | 杭州雄迈集成电路技术有限公司 | 一种基于g模式色彩滤波阵列的去马赛克方法及装置 |
US10148871B2 (en) | 2016-12-07 | 2018-12-04 | Microsoft Technology Licensing, Llc | Advanced raw conversion to produce high dynamic range, wide color gamut output |
DE102017200915A1 (de) * | 2017-01-20 | 2018-07-26 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren und Vorrichtung zum Anzeigen eines Hinweises für einen Anwender und Arbeitsvorrichtung |
EP3361444A1 (en) * | 2017-02-10 | 2018-08-15 | ABB Schweiz AG | Real-time, full web image processing method and system for web manufacturing supervision |
GB2559776B (en) * | 2017-02-17 | 2022-04-06 | Grass Valley Ltd | Decoding a bayer-mask or like coded image |
KR102357513B1 (ko) * | 2017-03-21 | 2022-02-04 | 에스케이하이닉스 주식회사 | 이미지 센서 |
CN108737747B (zh) * | 2017-04-18 | 2021-06-11 | 上海富瀚微电子股份有限公司 | 一种去马赛克方法及装置 |
US10038500B1 (en) * | 2017-05-11 | 2018-07-31 | Qualcomm Incorporated | Visible light communication |
US10863135B2 (en) * | 2017-07-12 | 2020-12-08 | Dell Products L.P. | Information handling system integrated multi-angle camera |
CA3073291C (en) | 2017-09-11 | 2023-01-17 | Farmers Edge Inc. | Generating a yield map for an agricultural field using classification and regression methods |
US10983249B2 (en) | 2017-09-14 | 2021-04-20 | Farmers Edge Inc. | Indicator interpolation to predict a weather state |
CN108171668A (zh) * | 2017-12-29 | 2018-06-15 | 南京邮电大学盐城大数据研究院有限公司 | 一种基于定向加权插值的cfa图像去马赛克方法 |
EP3740932B1 (en) | 2018-01-16 | 2024-07-03 | Dolby Laboratories Licensing Corporation | Image demosaicing system and method |
KR102553150B1 (ko) | 2018-03-23 | 2023-07-10 | 삼성전자주식회사 | 외부 전자 장치와 이미지를 처리하는 전자 장치 및 그 동작 방법 |
US10572974B2 (en) * | 2018-04-11 | 2020-02-25 | Omnivision Technologies, Inc. | Image demosaicer and method |
CN110807731B (zh) * | 2018-07-20 | 2023-06-30 | 宁波舜宇光电信息有限公司 | 用于补偿图像坏点的方法、装置、系统及存储介质 |
US10750135B2 (en) * | 2018-10-19 | 2020-08-18 | Qualcomm Incorporated | Hardware-friendly model-based filtering system for image restoration |
CN111163301B (zh) * | 2018-11-07 | 2021-04-20 | 浙江宇视科技有限公司 | 色彩调整方法、装置及计算机可读存储介质 |
WO2020177123A1 (en) * | 2019-03-07 | 2020-09-10 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Color imaging system |
GB2583519B (en) * | 2019-05-02 | 2021-12-08 | Apical Ltd | Image processing |
CN112312046B (zh) * | 2019-07-26 | 2023-05-23 | 瑞昱半导体股份有限公司 | 应用于图像感测电路的像素通道不平衡补偿方法与系统 |
CN110706237B (zh) * | 2019-09-06 | 2023-06-06 | 上海衡道医学病理诊断中心有限公司 | 一种基于YCbCr色彩空间的二氨基联苯胺分离和评估方法 |
JP7437921B2 (ja) * | 2019-11-22 | 2024-02-26 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
CN111182242B (zh) * | 2019-12-20 | 2021-11-05 | 翱捷智能科技(上海)有限公司 | 一种rgb-ir图像的校正方法和装置 |
US11509869B2 (en) | 2020-02-04 | 2022-11-22 | Samsung Electronics Co., Ltd. | Pixel array reducing loss of image information and image sensor including same |
CN111127370B (zh) * | 2020-03-26 | 2021-05-14 | 上海安翰医疗技术有限公司 | 胶囊内窥镜无线传输数据丢失的修复方法和系统 |
CN113542864B (zh) * | 2020-04-24 | 2023-04-25 | 腾讯科技(深圳)有限公司 | 视频的花屏区域检测方法、装置、设备及可读存储介质 |
CN111629432B (zh) * | 2020-05-18 | 2022-04-12 | 上海图聚智能科技股份有限公司 | 基于多阶滤波算法的蓝牙指纹定位方法、装置和设备 |
KR20210142382A (ko) * | 2020-05-18 | 2021-11-25 | 에스케이하이닉스 주식회사 | 그리드 게인 계산 회로, 이미지 센싱 장치 및 그 동작방법 |
CN113744138A (zh) * | 2020-05-29 | 2021-12-03 | 北京小米移动软件有限公司 | 图像处理方法、图像处理装置及存储介质 |
KR20220010285A (ko) | 2020-07-17 | 2022-01-25 | 에스케이하이닉스 주식회사 | 디모자익 동작 회로, 이미지 센싱 장치 및 그 동작방법 |
CN111972928B (zh) * | 2020-08-21 | 2023-01-24 | 浙江指云信息技术有限公司 | 一种具有环绕音场的助睡眠枕头及其调控方法 |
CN114493987A (zh) * | 2020-10-27 | 2022-05-13 | 西安诺瓦星云科技股份有限公司 | 图像处理方法及装置和视频处理设备 |
CN113058238B (zh) * | 2020-12-05 | 2021-12-17 | 林周容 | 篮球内胎自动贴片系统及方法 |
JP7545588B2 (ja) * | 2020-12-08 | 2024-09-04 | イー インク コーポレイション | 電気光学ディスプレイを駆動するための方法 |
CN113259636B (zh) * | 2021-07-14 | 2021-09-14 | 贝壳找房(北京)科技有限公司 | 用于对图像去马赛克的方法、装置以及电子设备、介质 |
CN113781303B (zh) * | 2021-09-01 | 2024-05-10 | 瑞芯微电子股份有限公司 | 图像处理方法、介质、处理器及电子设备 |
CN115760659A (zh) | 2021-09-03 | 2023-03-07 | 三星电子株式会社 | 图像处理设备及其操作方法 |
CN117957839A (zh) * | 2021-09-16 | 2024-04-30 | 谷歌有限责任公司 | 使用上下文设计的滤波器过滤侧信息 |
KR20230041327A (ko) * | 2021-09-17 | 2023-03-24 | 삼성전자주식회사 | 이미지 신호 프로세서, 이미지 센싱 장치, 이미지 센싱 방법 및 전자 장치 |
TWI776733B (zh) * | 2021-11-12 | 2022-09-01 | 國立臺灣大學 | 快速抑制數位影像中的背景高頻雜訊的資料處理方法 |
CN116347186A (zh) * | 2021-12-15 | 2023-06-27 | 超威半导体(上海)有限公司 | 用于图像去马赛克的装置和方法 |
US11509836B1 (en) | 2021-12-29 | 2022-11-22 | Insight Direct Usa, Inc. | Dynamically configured processing of a region of interest dependent upon published video data selected by a runtime configuration file |
US11704891B1 (en) | 2021-12-29 | 2023-07-18 | Insight Direct Usa, Inc. | Dynamically configured extraction, preprocessing, and publishing of a region of interest that is a subset of streaming video data |
US11936992B2 (en) | 2022-01-18 | 2024-03-19 | Apple Inc. | Multi-mode demosaicing for raw image data |
US11617026B1 (en) * | 2022-02-03 | 2023-03-28 | Apple Inc. | Lens shading correction for quadra image sensors |
CN114697468B (zh) * | 2022-02-16 | 2024-04-16 | 瑞芯微电子股份有限公司 | 图像信号处理方法和装置、电子设备 |
CN114693580B (zh) * | 2022-05-31 | 2022-10-18 | 荣耀终端有限公司 | 图像处理方法及其相关设备 |
US11778167B1 (en) | 2022-07-26 | 2023-10-03 | Insight Direct Usa, Inc. | Method and system for preprocessing optimization of streaming video data |
CN116055698B (zh) * | 2022-12-30 | 2024-04-12 | 爱芯元智半导体(宁波)有限公司 | 色彩调整方法、色彩调整装置及电子设备 |
CN117714858A (zh) * | 2023-07-31 | 2024-03-15 | 荣耀终端有限公司 | 一种图像处理方法、电子设备及可读存储介质 |
CN116896688B (zh) * | 2023-09-11 | 2023-12-26 | 归芯科技(深圳)有限公司 | Bayer图像的处理方法、装置、芯片及存储介质 |
CN117676325B (zh) * | 2023-10-27 | 2024-08-06 | 荣耀终端有限公司 | 多摄场景中的控制方法及相关装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101151907A (zh) * | 2005-02-04 | 2008-03-26 | 高通股份有限公司 | 自适应颜色内插 |
Family Cites Families (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US38911A (en) * | 1863-06-16 | Van eensselaee powell | ||
US39213A (en) * | 1863-07-14 | Improvement in the manufacture of alkaline carbonates | ||
US38896A (en) * | 1863-06-16 | Improvement in sheep-racks | ||
US4475172A (en) | 1978-05-30 | 1984-10-02 | Bally Manufacturing Corporation | Audio/visual home computer and game apparatus |
US4589089A (en) | 1978-05-30 | 1986-05-13 | Bally Manufacturing Corporation | Computer-peripheral interface for a game apparatus |
US4799677A (en) | 1983-09-02 | 1989-01-24 | Bally Manufacturing Corporation | Video game having video disk read only memory |
US4979738A (en) | 1983-12-06 | 1990-12-25 | Midway Manufacturing Corporation | Constant spatial data mass RAM video display system |
US4605961A (en) | 1983-12-22 | 1986-08-12 | Frederiksen Jeffrey E | Video transmission system using time-warp scrambling |
US4682360A (en) | 1983-12-22 | 1987-07-21 | Frederiksen Jeffrey E | Video transmission system |
US4742543A (en) | 1983-12-22 | 1988-05-03 | Frederiksen Jeffrey E | Video transmission system |
US4694489A (en) | 1983-12-22 | 1987-09-15 | Frederiksen Jeffrey E | Video transmission system |
US4743959A (en) | 1986-09-17 | 1988-05-10 | Frederiksen Jeffrey E | High resolution color video image acquisition and compression system |
US5227863A (en) | 1989-11-14 | 1993-07-13 | Intelligent Resources Integrated Systems, Inc. | Programmable digital video processing system |
US5272529A (en) | 1992-03-20 | 1993-12-21 | Northwest Starscan Limited Partnership | Adaptive hierarchical subband vector quantization encoder |
US5247355A (en) | 1992-06-11 | 1993-09-21 | Northwest Starscan Limited Partnership | Gridlocked method and system for video motion compensation |
JPH08502865A (ja) | 1992-09-01 | 1996-03-26 | アプル・コンピュータ・インコーポレーテッド | 改良されたベクトルの量子化 |
JP2931520B2 (ja) | 1993-08-31 | 1999-08-09 | 三洋電機株式会社 | 単板式カラービデオカメラの色分離回路 |
US6122411A (en) | 1994-02-16 | 2000-09-19 | Apple Computer, Inc. | Method and apparatus for storing high and low resolution images in an imaging device |
US5694227A (en) | 1994-07-15 | 1997-12-02 | Apple Computer, Inc. | Method and apparatus for calibrating and adjusting a color imaging system |
US5764291A (en) | 1994-09-30 | 1998-06-09 | Apple Computer, Inc. | Apparatus and method for orientation-dependent camera exposure and focus setting optimization |
US5496106A (en) | 1994-12-13 | 1996-03-05 | Apple Computer, Inc. | System and method for generating a contrast overlay as a focus assist for an imaging device |
US5640613A (en) | 1995-04-14 | 1997-06-17 | Apple Computer, Inc. | Corrective lens assembly |
US6011585A (en) | 1996-01-19 | 2000-01-04 | Apple Computer, Inc. | Apparatus and method for rotating the display orientation of a captured image |
US5867214A (en) | 1996-04-11 | 1999-02-02 | Apple Computer, Inc. | Apparatus and method for increasing a digital camera image capture rate by delaying image processing |
US5809178A (en) | 1996-06-11 | 1998-09-15 | Apple Computer, Inc. | Elimination of visible quantizing artifacts in a digital image utilizing a critical noise/quantizing factor |
US6031964A (en) | 1996-06-20 | 2000-02-29 | Apple Computer, Inc. | System and method for using a unified memory architecture to implement a digital camera device |
US6028611A (en) | 1996-08-29 | 2000-02-22 | Apple Computer, Inc. | Modular digital image processing via an image processing chain |
US5991465A (en) | 1996-08-29 | 1999-11-23 | Apple Computer, Inc. | Modular digital image processing via an image processing chain with modifiable parameter controls |
US6157394A (en) | 1996-08-29 | 2000-12-05 | Apple Computer, Inc. | Flexible digital image processing via an image processing chain with modular image processors |
US5790705A (en) | 1996-09-13 | 1998-08-04 | Apple Computer, Inc. | Compression techniques for substantially lossless digital image data storage |
US6141044A (en) | 1996-09-26 | 2000-10-31 | Apple Computer, Inc. | Method and system for coherent image group maintenance in memory |
US6198514B1 (en) | 1998-02-27 | 2001-03-06 | Apple Computer, Inc. | Color misconvergence measurement using a common monochrome image |
JP4038867B2 (ja) * | 1998-03-19 | 2008-01-30 | 株式会社ニコン | 補間処理方法 |
JP2000341701A (ja) * | 1999-05-25 | 2000-12-08 | Nikon Corp | 補間処理装置および補間処理プログラムを記録した記録媒体 |
US6954193B1 (en) | 2000-09-08 | 2005-10-11 | Apple Computer, Inc. | Method and apparatus for correcting pixel level intensity variation |
US6745012B1 (en) | 2000-11-17 | 2004-06-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive data compression in a wireless telecommunications system |
US6959044B1 (en) | 2001-08-21 | 2005-10-25 | Cisco Systems Canada Co. | Dynamic GOP system and method for digital video encoding |
US7170938B1 (en) | 2001-08-21 | 2007-01-30 | Cisco Systems Canada Co. | Rate control method for video transcoding |
US6933971B2 (en) | 2002-05-14 | 2005-08-23 | Kwe International, Inc. | Reconstruction of color components in digital image processing |
US7277595B1 (en) | 2003-01-06 | 2007-10-02 | Apple Inc. | Method and apparatus for digital image manipulation to remove image blemishes |
EP1447977A1 (en) * | 2003-02-12 | 2004-08-18 | Dialog Semiconductor GmbH | Vignetting compensation |
JP4350706B2 (ja) | 2003-03-28 | 2009-10-21 | オリンパス株式会社 | 画像処理装置及び画像処理プログラム |
US7310371B2 (en) | 2003-05-30 | 2007-12-18 | Lsi Corporation | Method and/or apparatus for reducing the complexity of H.264 B-frame encoding using selective reconstruction |
US7327786B2 (en) | 2003-06-02 | 2008-02-05 | Lsi Logic Corporation | Method for improving rate-distortion performance of a video compression system through parallel coefficient cancellation in the transform |
US7324595B2 (en) | 2003-09-22 | 2008-01-29 | Lsi Logic Corporation | Method and/or apparatus for reducing the complexity of non-reference frame encoding using selective reconstruction |
US7602849B2 (en) | 2003-11-17 | 2009-10-13 | Lsi Corporation | Adaptive reference picture selection based on inter-picture motion measurement |
US7362804B2 (en) | 2003-11-24 | 2008-04-22 | Lsi Logic Corporation | Graphical symbols for H.264 bitstream syntax elements |
JP2005159957A (ja) | 2003-11-28 | 2005-06-16 | Mega Chips Corp | 色補間方法 |
US7362376B2 (en) | 2003-12-23 | 2008-04-22 | Lsi Logic Corporation | Method and apparatus for video deinterlacing and format conversion |
US7345708B2 (en) | 2003-12-23 | 2008-03-18 | Lsi Logic Corporation | Method and apparatus for video deinterlacing and format conversion |
US7515765B1 (en) | 2004-01-30 | 2009-04-07 | Apple Inc. | Image sharpness management |
US7502505B2 (en) | 2004-03-15 | 2009-03-10 | Microsoft Corporation | High-quality gradient-corrected linear interpolation for demosaicing of color images |
US7231587B2 (en) | 2004-03-29 | 2007-06-12 | Lsi Corporation | Embedded picture PSNR/CRC data in compressed video bitstream |
JP4446818B2 (ja) * | 2004-07-06 | 2010-04-07 | 株式会社メガチップス | 画素補間方法 |
US7620103B2 (en) | 2004-12-10 | 2009-11-17 | Lsi Corporation | Programmable quantization dead zone and threshold for standard-based H.264 and/or VC1 video encoding |
US7612804B1 (en) | 2005-02-15 | 2009-11-03 | Apple Inc. | Methods and apparatuses for image processing |
US7949044B2 (en) | 2005-04-12 | 2011-05-24 | Lsi Corporation | Method for coefficient bitdepth limitation, encoder and bitstream generation apparatus |
US8031766B2 (en) | 2005-08-02 | 2011-10-04 | Lsi Corporation | Performance adaptive video encoding with concurrent decoding |
US7903739B2 (en) | 2005-08-05 | 2011-03-08 | Lsi Corporation | Method and apparatus for VC-1 to MPEG-2 video transcoding |
US8045618B2 (en) | 2005-08-05 | 2011-10-25 | Lsi Corporation | Method and apparatus for MPEG-2 to VC-1 video transcoding |
US8208540B2 (en) | 2005-08-05 | 2012-06-26 | Lsi Corporation | Video bitstream transcoding method and apparatus |
US7881384B2 (en) | 2005-08-05 | 2011-02-01 | Lsi Corporation | Method and apparatus for H.264 to MPEG-2 video transcoding |
US8155194B2 (en) | 2005-08-05 | 2012-04-10 | Lsi Corporation | Method and apparatus for MPEG-2 to H.264 video transcoding |
JP2007086559A (ja) * | 2005-09-26 | 2007-04-05 | Pentax Corp | カメラ |
US7596280B2 (en) | 2005-09-29 | 2009-09-29 | Apple Inc. | Video acquisition with integrated GPU processing |
US7711200B2 (en) | 2005-09-29 | 2010-05-04 | Apple Inc. | Video acquisition with integrated GPU processing |
CN101490694B (zh) * | 2005-11-10 | 2012-06-13 | 德萨拉国际有限公司 | 马赛克域中的图像增强 |
US7551214B2 (en) | 2005-12-01 | 2009-06-23 | Megachips Lsi Solutions Inc. | Pixel interpolation method |
US7830426B2 (en) | 2005-12-29 | 2010-11-09 | Micron Technology, Inc. | Method and apparatus providing color interpolation in color filter arrays using edge detection and correction terms |
JP5183880B2 (ja) | 2006-03-14 | 2013-04-17 | ソニー株式会社 | カラーフィルタおよび撮像素子 |
US7893975B2 (en) | 2006-10-13 | 2011-02-22 | Apple Inc. | System and method for processing images using predetermined tone reproduction curves |
US7773127B2 (en) | 2006-10-13 | 2010-08-10 | Apple Inc. | System and method for RAW image processing |
TWI419079B (zh) * | 2006-11-07 | 2013-12-11 | Digitaloptics Corp Internat | 於馬賽克域之影像加強 |
US7907791B2 (en) * | 2006-11-27 | 2011-03-15 | Tessera International, Inc. | Processing of mosaic images |
JP4284628B2 (ja) | 2006-12-15 | 2009-06-24 | ソニー株式会社 | 撮像装置、画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体 |
US20080253652A1 (en) | 2007-04-10 | 2008-10-16 | Aricent Inc. | Method of demosaicing a digital mosaiced image |
US20080292219A1 (en) * | 2007-05-24 | 2008-11-27 | Gary Keall | Method And System For An Image Sensor Pipeline On A Mobile Imaging Device |
US8724895B2 (en) | 2007-07-23 | 2014-05-13 | Nvidia Corporation | Techniques for reducing color artifacts in digital images |
US8175378B2 (en) * | 2007-11-15 | 2012-05-08 | Marvell World Trade Ltd. | Method and system for noise management for spatial processing in digital image/video capture systems |
US8405727B2 (en) | 2008-05-01 | 2013-03-26 | Apple Inc. | Apparatus and method for calibrating image capture devices |
-
2009
- 2009-10-20 US US12/582,414 patent/US8638342B2/en active Active
-
2010
- 2010-05-28 US US12/789,815 patent/US8358319B2/en active Active
- 2010-05-28 US US12/789,810 patent/US8330772B2/en active Active
- 2010-10-12 AU AU2010308353A patent/AU2010308353B2/en not_active Ceased
- 2010-10-12 CN CN201080054765.3A patent/CN102640499B/zh not_active Expired - Fee Related
- 2010-10-12 WO PCT/US2010/052293 patent/WO2011049781A1/en active Application Filing
- 2010-10-12 KR KR1020127012990A patent/KR101303415B1/ko active IP Right Grant
- 2010-10-12 JP JP2012535234A patent/JP5688090B2/ja not_active Expired - Fee Related
- 2010-10-12 EP EP10768154.6A patent/EP2491721B1/en not_active Not-in-force
- 2010-10-20 TW TW099135792A patent/TWI454153B/zh not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101151907A (zh) * | 2005-02-04 | 2008-03-26 | 高通股份有限公司 | 自适应颜色内插 |
Non-Patent Citations (2)
Title |
---|
Color demosaicing using asymmetric directional interpolation and hue vector smoothing;TAKAHASHI Y ET AL;《IEICE TRANSACTIONS ON FUNDAMENTALS OF ELECTRONICS,COMMUNICATIONS AND COMPUTER SCIENCES,ENGINEERING SCIENCES SOCIETY》;20080401;第978页第1栏第1段-980页第2栏第1段 * |
TAKAHASHI Y ET AL.Color demosaicing using asymmetric directional interpolation and hue vector smoothing.《IEICE TRANSACTIONS ON FUNDAMENTALS OF ELECTRONICS,COMMUNICATIONS AND COMPUTER SCIENCES,ENGINEERING SCIENCES SOCIETY》.2008, * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12148126B2 (en) | 2021-11-12 | 2024-11-19 | National Taiwan University | Data processing method for rapidly suppressing high-frequency background noise in a digitized image |
Also Published As
Publication number | Publication date |
---|---|
EP2491721A1 (en) | 2012-08-29 |
US8638342B2 (en) | 2014-01-28 |
KR101303415B1 (ko) | 2013-09-06 |
TWI454153B (zh) | 2014-09-21 |
AU2010308353B2 (en) | 2014-01-23 |
EP2491721B1 (en) | 2016-06-08 |
KR20120089490A (ko) | 2012-08-10 |
US20110090380A1 (en) | 2011-04-21 |
US20110090381A1 (en) | 2011-04-21 |
JP5688090B2 (ja) | 2015-03-25 |
CN102640499A (zh) | 2012-08-15 |
US20110090242A1 (en) | 2011-04-21 |
US8330772B2 (en) | 2012-12-11 |
WO2011049781A1 (en) | 2011-04-28 |
US8358319B2 (en) | 2013-01-22 |
AU2010308353A1 (en) | 2012-05-17 |
JP2013509093A (ja) | 2013-03-07 |
TW201143466A (en) | 2011-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102640499B (zh) | 用加权的梯度对图像数据去马赛克的系统和方法 | |
CN102640489B (zh) | 用于检测和校正图像传感器中的缺陷像素的系统和方法 | |
CN102640184B (zh) | 用于图像信号处理的时域滤波技术 | |
CN102404582B (zh) | 用于自动白平衡处理的灵活的颜色空间选择 | |
CN102572265B (zh) | 使用具有粗略和精细自动对焦分数的图像统计数据的自动对焦控制 | |
CN102523456B (zh) | 双图像传感器图像处理系统和方法 | |
US20110090370A1 (en) | System and method for sharpening image data | |
US20110091101A1 (en) | System and method for applying lens shading correction during image processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141210 Termination date: 20201012 |
|
CF01 | Termination of patent right due to non-payment of annual fee |