CN113228097B - 图像处理方法和系统 - Google Patents
图像处理方法和系统 Download PDFInfo
- Publication number
- CN113228097B CN113228097B CN201880100471.6A CN201880100471A CN113228097B CN 113228097 B CN113228097 B CN 113228097B CN 201880100471 A CN201880100471 A CN 201880100471A CN 113228097 B CN113228097 B CN 113228097B
- Authority
- CN
- China
- Prior art keywords
- pixel
- image
- image processing
- interest
- frequency 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 6
- 238000012545 processing Methods 0.000 claims abstract description 353
- 238000000034 method Methods 0.000 claims abstract description 153
- 238000004891 communication Methods 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 11
- 239000003086 colorant Substances 0.000 claims description 7
- 230000008569 process Effects 0.000 description 105
- 230000006870 function Effects 0.000 description 68
- 238000001514 detection method Methods 0.000 description 47
- 230000004048 modification Effects 0.000 description 39
- 238000012986 modification Methods 0.000 description 39
- 230000009467 reduction Effects 0.000 description 17
- 238000012937 correction Methods 0.000 description 13
- 230000002950 deficient Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000000670 limiting effect Effects 0.000 description 9
- 230000001960 triggered effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 108010001267 Protein Subunits Proteins 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000579895 Chlorostilbon Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 239000010976 emerald Substances 0.000 description 1
- 229910052876 emerald Inorganic materials 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000003707 image sharpening Methods 0.000 description 1
- 239000010977 jade Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation 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 transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4015—Demosaicing, e.g. colour filter array [CFA], Bayer pattern
-
- G06T5/70—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4084—Transform-based scaling, e.g. FFT domain scaling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/21—Circuitry for suppressing or minimising disturbance, e.g. moiré or halo
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20004—Adaptive image processing
- G06T2207/20012—Locally adaptive
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
Abstract
本申请公开了一种图像处理方法和系统。所述方法包括在第一图像中选择一个或以上的块。所述方法还包括对于一个或以上的块中的每个,基于第二图像对块内的图像处理区域执行K次迭代的图像处理操作,每次迭代用于减小图像处理区域的大小,其中,K为大于2的整数。
Description
技术领域
本申请一般涉及数字图像处理,具体涉及用于降低噪声的方法和系统。
背景技术
在生成、传输和压缩等过程中,数字视频流可能会受到噪声的影响。噪声可以通过生成视频流的图像传感器或者通过模拟通道传输视频流产生,并可能影响整个图像处理流程,导致严重降低数字视频流的视觉效果。因此,需要减少数字视频流中的噪声。
发明内容
根据本申请的一个方面,提供了一种图像处理方法。所述方法可以包括:在第一图像中选择一个或以上的块。所述方法还可以包括:对所述一个或以上的块中的每个,基于第二图像对块内的图像处理区域执行K次迭代的图像处理操作,每次迭代用于减小所述图像处理区域的大小,其中K为大于2的整数。
在一些实施例中,在所述K次迭代的每次迭代中,所述图像处理操作可以用于修改所述图像处理区域中的一个或以上的像素的像素值,一个或以上的修改后的像素可以构成已处理区域,所述已处理区域的大小可以小于对应的所述图像处理区域的大小。所述方法还可以包括:将当前迭代的所述已处理区域确定为下一次迭代的所述图像处理区域。
在一些实施例中,在所述K次迭代的每次迭代中,对所述图像处理区域执行图像处理操作可以包括:通过在所述图像处理区域上运行滑动窗口,确定一个或以上的窗口区域,其中,一个或以上的窗口区域中的每个与所述第一图像的第一像素块对应,第一像素块包括第一感兴趣像素;以及确定所述一个或以上的窗口区域中的每个的输出值,以修改所述第一感兴趣像素。
在一些实施例中,所述确定一个或以上的窗口区域中的每个的输出值可以包括:从第二图像中获取与所述第一像素块对应的第二像素块,所述第二像素块包括与所述第一感兴趣像素对应的第二感兴趣像素;计算差异指标,所述差异指标表征第一像素块与第二像素块之间的差异;以及至少基于所述差异指标、所述第一感兴趣像素的像素值、以及所述第二感兴趣像素的像素值,计算所述输出值。
在一些实施例中,所述第一图像和所述第二图像可根据色彩滤镜矩阵进行格式化。
在一些实施例中,所述方法可以进一步包括:基于被色彩滤镜矩阵覆盖的图像传感器,生成所述第一图像和所述第二图像。
在一些实施例中,计算所述差异指标可以包括:计算所述第一像素块中具有预设颜色的像素的像素值的第一平均值;计算第二像素块中具有所述预设颜色的像素的像素值的第二平均值;以及至少基于所述第一平均值和所述第二平均值之间的差异,确定所述差异指标。
在一些实施例中,计算所述输出值可以包括:获取所述第一感兴趣像素的第一高频分量和所述第一感兴趣像素的第一低频分量;获取第二感兴趣像素的第二高频分量;至少基于第一差异指标、所述第一高频分量以及所述第二高频分量,计算所述第一感兴趣像素的更新后的高频分量;以及基于所述第一感兴趣像素的更新后的高频分量和所述第一低频分量,得到所述输出值。
在一些实施例中,计算所述第一感兴趣像素的更新后的高频分量可以包括:至少基于所述第一差异指标,获取与第一感兴趣像素和第二感兴趣像素相关的权重;以及计算所述第一感兴趣像素的初始高频分量和所述第二感兴趣像素的高频分量的加权和或加权平均值,作为所述更新后的高频分量。
在一些实施例中,所述方法可以进一步包括:在所述K次迭代的至少一次迭代中,对于所述一个或以上的窗口区域中的每个,确定表征所述第一像素块的亮度的亮度指标,其中,进一步根据所述亮度指标确定第一权重和第二权重。
在一些实施例中,可以通过处理第三图像获取所述第二图像。在所述K次迭代的至少一次迭代中,对于一个或以上的窗口区域中的每个,可以进一步基于与所述第二感兴趣像素相关的参考参数,确定所述第一权重和所述第二权重。所述方法可以进一步包括:在K次迭代的第k次迭代中,针对一个或以上的窗口区域中的每个,将所述第一差异指标存储为与所述第一感兴趣像素相关的参考参数。
根据本申请的另一方面,提供了一种图像处理系统。所述系统可以包括存储介质,存储一组指令集,和与所述存储介质通信的至少一个处理器,当执行指令集时,至少一个处理器可以执行:在第一图像中选择一个或以上的块,对于一个或以上的块中的每个,基于第二图像对块内的图像处理区域执行K次迭代的图像处理操作,每次迭代用于减小图像处理区域的大小,其中K为大于2的整数。
根据本申请的另一方面,提供了一种非暂时性计算机可读介质。非暂时性计算机可读介质可以包括用于处理图像的至少一组指令集,当执行电子设备的逻辑电路时,所述至少一个指令集可以用于指示所述逻辑电路执行:在第一图像中选择一个或以上的块;对一个或以上的块中的每个,基于第二图像对块内的图像处理区域执行K次迭代的图像处理操作,每次迭代用于减小所述图像处理区域的大小,其中K为大于2的整数。
本申请的一部分附加特性可以在以下描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本申请的特征可以通过对以下描述的具体实施例的各个方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
本申请将通过示例性的实施例进行进一步描述。这些示例性的实施例将通过附图进行详细描述。这些实施例是非限制性的示例性的实施例,在这些实施例中,各图中相同的编号表示相似的结构,其中:
图1是根据本申请的一些实施例所示的示例性图像处理系统的示意图;
图2是示出示例性的计算设备的示意图;
图3根据本申请的一些实施例所示的示例性图像处理设备;
图4是根据本申请的一些实施例所示的示例性图像处理的流程图;
图5是根据本申请的一些实施例所示的示例性处理模块的示意图;
图6是根据本申请的一些实施例所示的示例性图像处理过程的流程图;
图7是根据本申请的一些实施例所示的示例性像素修改单元的示意图;
图8是根据本申请的一些实施例所示的修改感兴趣像素块中的像素的示例性过程的流程图;
图9是根据本申请的一些实施例所示的由拜耳滤波器覆盖的图像传感器生成原始数字视频流的示例性过程的流程图;
图10至15是根据本申请的一些实施例所示的图9所示的过程的示意图。
具体实施方式
本申请提供了用于基于第二图像处理第一图像的图像处理方法和系统。可以执行至少两次迭代的图像处理过程,并且每次迭代可以减小图像处理区域。在一些实施例中,第一图像和第二图像可以是数字视频流的两个连续帧,并且执行图像处理过程可以逐帧减少数字视频流中的噪声。
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。然而,本领域技术人员应该明白,可以在没有这些细节的情况下实施本申请。在其他情况下,已经以相对高的级别描述了众所周知的方法、程序、系统、组件和/或电路,以避免不必要地模糊本申请的各方面。对于本领域的普通技术人员来讲,显然可以对所披露的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请不限于所示的实施例,而是符合与申请专利范围一致的最广泛范围。
本申请中所使用的术语仅出于描述特定示例实施例的目的,而非限制性的。如本申请使用的单数形式“一”、“一个”及“该”同样可以包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本申请说明书中使用的术语“包括”、“包含”仅提示存在所述特征、整数、操作、操作、组件和/或部件,但并不排除存在或添加一个或以上其它特征、整数、操作、操作、组件、部件和/或其组合的情况。
可以理解的是,本文中使用的术语“系统”、“单元”、“模块”和/或“区块”是用于按升序区分不同级别的不同构件、元件、零件、部分或组件的方法。然而,如果可以达到相同的目的,这些术语也可以被其他表达替换。
通常,这里使用的单词“模块”、“子模块”、“单元”、或“块”是指硬件或固件中体现的逻辑,或者对软件指令的集合。本文描述的模块、单元或块可以实现为软件和/或硬件,并且可以存储在任何类型的非暂时性计算机可读介质或其他存储设备中。在一些实施例中,可以编译软件模块/单元/块并将其链接到可执行程序中。应当理解,软件模块可以从其他模块/单元/块或从它们自身调用,和/或可以响应检测到的事件或中断来调用。
在计算设备或逻辑电路(例如,如图1所示的图像处理电路114和如图1所示的处理器210)上执行的软件模块/单元/块可以设置在计算机可读介质上,例如光盘,数字视频光盘、闪光灯驱动器、磁盘或任何其他有形介质、或作为数字下载(并且可以预先以压缩或可安装的格式存储,在执行之前需要安装、解压缩或解密)。这里的软件代码可以被部分的或全部的储存在执行操作的计算设备的存储设备中,并应用在计算设备的操作之中。软件指令可以嵌入在固件中,例如EPROM。还应当理解,硬件模块/单元/块可以包括在连接的逻辑组件中,例如门和触发器,和/或可以包括可编程单元,例如可编程门阵列或处理器。这里描述的模块/单元/块或计算设备功能可以实现为软件模块/单元/块,但是可以用硬件或固件表示。通常,这里描述的模块/单元/块指的是逻辑模块/单元/块,其可以与其他模块/单元/块组合或者分成子模块/子单元/子块,尽管它们是物理组织或存储器件。该描述可适用于系统、引擎或其一部分。
可以理解的是,除非上下文另有明确说明,当单元、引擎、模块或块被称为在另一单元、引擎、模块或块“上”、“连接”或“耦合至”另一单元、引擎、模块或块时,其可以直接在其它单元、引擎、模块或块上,与其连接或耦合或与之通信,或者可能存在中间单元、引擎、模块或块。在本申请中,术语“和/或”可包括任何一个或以上相关所列条目或其组合。
根据以下对附图的描述,本申请的这些和其它的特征、特点以及相关结构元件的功能和操作方法,以及部件组合和制造经济性,可以变得更加显而易见,这些附图都构成本申请说明书的一部分。然而,应当理解的是,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。
图1是根据本申请的一些实施例所示的示例性图像处理系统的示意图。图像处理系统100可以包括相机110、控制台120、网络130、以及一个或以上的终端设备140。在一些实施例中,图像处理系统100还可以包括基于实际需求确定的其他组件。
相机110可以被配置为获取图像或视频流。相机110可以包括图像传感器电路113、图像处理电路114和输出电路115。值得注意的,图1中所示的相机110的简化结构仅用于演示目的,而不是旨在限制。
图像传感器电路113可以产生对应场景的原始数字图像或原始数字视频流。图像传感器电路113可以包括或与图像传感器111(例如,CMOS传感器,CCD传感器)通信,用于检测来自场景的光线。图像传感器111可以是光电传感器阵列的形式。色彩滤镜矩阵112可以放置在图像传感器111(或光电传感器阵列)上方,使得图像传感器111的每个光电传感器可以响应于单个颜色,并且光电传感器的输出信号可以仅表示对应的颜色。图像传感器电路113可以接收像素阵列的输出信号,用于生成原始数字图像或原始数字视频流。根据色彩滤镜阵列112可以对生成的原始数字图像或原始数字视频流进行格式化。原始数字图像的每个像素或原始数字视频的一帧可以仅具有对应颜色的一个像素值。
为简化起见,在本申请中,数字图像、数字视频的帧、其信号形式或其数据形式,可以作为本申请中的图像。例如,原始数字图像、原始数字视频的帧、其信号形式或数据形式,可以作为原始图像。
色彩滤镜阵列112可以是本领域中的任何适当的色彩滤镜阵列,例如,拜耳滤波器、RGBE滤波器、CYYM滤波器、CYGM滤波器、RGBW拜耳滤波器等或其组合。仅作为示例,色彩滤镜阵列112可以是拜耳滤波器。由图像传感器电路113生成的原始图像可以基于拜耳滤波器进行格式化。图像(例如,原始图像)根据拜耳滤波器格式化后,可以被称为拜耳图像。拜耳图像的颜色空间可以是RGB颜色空间,包括R通道(红色),G通道(绿色)和B通道(蓝色)。拜耳图像的每个像素可以仅具有与三种颜色信道中的一个对应的一个像素值。
图像处理电路114可以通过图像处理流程,处理由图像传感器电路113生成的原始图像,该图像处理流程可以以预设顺序对由图像传感器电路113生成的原始图像,执行至少两个图像处理操作。例如,降噪、去马赛克操作、色彩平衡、图像重建、图像锐化、模糊、缺陷像素校正等或其组合。至少两个图像处理操作中的每个可以接收前一个图像处理操作的输出图像,作为输入图像(对于第一图像处理操作,输入图像是原始图像),然后处理输入图像以生成对应的输出图像。除最后的图像处理操作之外的至少两个图像处理操作中的每个的输出图像可以被称为中间图像。
在一些实施例中,图像处理电路114可以对原始图像或中间图像执行去马赛克操作,以重建全色图像。全色图像的每个像素可以有与所有颜色信道对应的多个像素值。在去马赛克操作之前,之前的图像处理操作生成的所有中间图像(以及原始图像)均可以根据色彩滤镜阵列112进行格式化。在去马赛克操作之后,之后的图像处理操作(如果有)生成的所有中间图像和图像处理流程的最后输出的图像都可以是全色图像。
在一些实施例中,在去马赛克操作之后的图像处理操作可以包括:改变输入图像对应的格式或颜色空间的格式转换操作(例如,从RGB颜色空间转换至YUV颜色空间),以便于压缩或传输最后的输出图像。
图像处理电路114可以对根据色彩滤镜阵列格式化后的图像(原始图像,中间图像)或全彩图像(例如,MEMOSICEDIMAGE)执行本申请所述的图像处理过程,以实现各种图像处理,例如,降噪、减少模糊、颜色校正、镜头校正、图像增强等。
在一些实施例中,本申请描述的图像处理过程可以在根据用于降噪的色彩滤镜阵列格式化后的图像上执行,以便图像处理流程的后续处理不受噪声的影响。
在一些实施例中,可以执行本申请描述的过程以同时实现多种类型的图像处理(例如,降噪和颜色校正)。
图像处理电路114可以实现为硬件电路、可编程处理器等或其组合。例如,图像处理电路114可以包括实现图像处理流程的一个或以上的图像处理器。图像处理电路114可以包括一个或以上的逻辑电路、集成芯片或处理器,以执行本申请中描述的图像处理过程。
图像处理流程最后输出的图像可以被发送到输出电路115。输出电路115可以通过一个或以上的电缆或网络130输出图像。
在一些实施例中,输出电路115可以将由图像处理电路114处理后的图像(或视频帧),以模拟信号或数字信号的形式通过一根或多跟电缆传输至控制台120。在接收到信号之后,控制台120可以通过显示器121显示图像或将图像存储在存储设备122中。可选地或另外地,控制台120可以通过网络130将图像发送到一个或以上终端设备140。
在一些实施例中,输出电路115可以通过网络130将图像(或视频)发送到一个或以上的终端设备140和/或控制台120。输出电路115可以包括与网络130通信的电路或组件。
控制台120可以将控制信号发送到相机110,并从相机110接收图像(或视频)。控制台120可以是一个计算机或计算机组。在一些实施例中,控制台120可以是安装在车辆上的车载计算设备。
控制台120可以与显示接收的图像的显示器121、和/或存储接收的图像的存储设备122通信。在一些实施例中,存储装置122和/或显示器121可以是控制台120的一部分,或者通过一个或以上电缆耦合到控制台120。在一些实施例中,控制台120可以通过网络130与存储设备122和/或显示器121通信。
在一些实施例中,本申请中描述的图像处理过程可以由控制台120或包括在控制台120中的一个或以上处理器执行。被处理的图像(根据色彩滤镜矩阵112格式化后的图像或全色图像)可以由输出电路115发送到控制台120,其中,图像处理电路114可以是可选的。
在一些实施例中,相机110也可以由控制台120供电。例如,相机110和控制台120可以通过同轴电缆耦合。通过采用同轴电(POC)技术,同轴电缆可以将来自相机110的图像信号发送到控制台120,同时将来自控制台120的直流电流发送到相机110。输出电路115和控制台120可以均具有用于分离图像信号和直流电流的电路或组件。通过本申请中描述的图像处理过程(当由控制台120执行时),可以减少由这种传输引起的噪音以及其他噪声。
在一些实施例中,与相机110的相同或类似的至少两个相机可以与控制台120通信。至少两个相机的图像处理电路114可以并行地处理由至少两个相机获取的图像。控制台120可以接收至少两个相机的输出图像。控制台120可以基于接收的图像生成全景或三维(3D)图像。
网络130可以包括任何合适的网络,其可以促图像处理系统100的各组件之间的数据和信号的传输。例如,网络130可以方便地将图像数据从相机110传输到控制台120和/或将控制信号从控制台120传输到相机110。
网络130可以是、和/或包括一种或多种类型的网络。例如,网络130可以是、和/或包括公共网络(例如,因特网)、专用网络(例如,局域网(LAN)、广域网(WAN))、有线网络(例如,以太网网络)、无线网络(例如,802.11网络、Wi-Fi网络)、蜂窝网络(例如,长期演进(LTE)网络)、帧中继网络、虚拟专用网络(“VPN”)、卫星网络、蓝牙TM网络、ZigBeeTM网络、近场通信(NFC)等或其任何组合。网络130还可以包括有线和/或无线网络接入点,例如,基站、因特网交换点、路由器、集线器、网关、交换机、服务器计算机和/或其任何组合。
终端设备140可以通过网络130从相机110或控制台120接收图像或视频。终端设备140可以包括移动计算设备141、平板计算机142、膝上型计算机143、智能家庭设备(未示出)、桌面计算机(现在示出)等或其任何组合。在一些实施例中,移动计算设备141可以包括可穿戴设备、移动电话、虚拟现实设备、增强现实设备、个人数字辅助(PDA)、导航设备等或其任何组合。
应当注意,上述关于图像处理系统100的描述仅仅是为了说明目的,而不限制本申请的范围。可以理解的是,在学习本申请的主要概念和机制之后,本领域技术人员可以以无创造性的方式改变系统100。改变可以包括组合和/或分离某些设备/组件/模块/单元,添加或移除可选设备/组件/模块/单元,改变设备/组件/模块/单元的连接状态,在相对领域中应用图像处理系统100等或其任何组合。所有这些修改都在本申请的范围内。
图2是示出示例性计算设备的示意图。计算设备200可以被配置为实现相机110和/或控制台120,并执行本申请中公开的一个或以上操作。计算设备200可以被配置为实现本申请中描述的各种模块、单位和它们的功能。
计算设备200可以包括总线270、处理器210(或至少两个处理器210)、只读存储器(ROM)230、随机存取存储器(RAM)240、存储设备220(例如,大量存储设备,如硬盘、光盘、固态盘、存储卡等)、输入/输出(I/O)端口250和通信接口260。可以注意到,图2中所示的计算设备200的架构仅用于演示目的,而不是限制性的。计算设备200可以是能够执行计算的任何设备。
总线270可以耦合计算设备200的各种组件,并促进它们之间的数据和/或信息的传输。总线270可以具有本领域中的任何总线结构。例如,总线270可以是或可以包括存储器总线和/或外围总线。I/O端口250可以允许在总线270和一个或以上其他设备(例如,相机110、控制台120、触摸屏、键盘、鼠标、麦克风、麦克风显示器、扬声器)之间传输数据和/或信息。通信接口260可以允许网络130和总线270之间传输数据和/或信息。例如,通信接口260可以是或可以包括网络接口卡(NIC)、蓝牙模块、NFC模块等。
ROM230、RAM240和/或存储设备220可以被配置为存储可以由处理器210执行的指令。RAM240和/或存储设备220还可以存储在执行指令期间由处理器210生成的日期和/或信息。
处理器210可以是或包括本领域中的任何处理器,其被配置为执行存储在ROM230、RAM240和/或存储设备220中的指令,以便执行在本申请中公开的一个或以上操作或实现一个或以上模块/单元。仅作为示例,处理器210可以包括一个或以上硬件处理器,例如中央处理单元(CPU)、应用特定的集成电路(ASIC)、应用程序特定的指令集处理器(ASIP)、a图形处理单元(GPU)、物理处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、微控制器单元、简化指令集计算机(RISC)、微处理器等或其任何组合。
在一些实施例中,计算设备200的一个或以上组件可以在单个芯片上实现。例如,处理器210、ROM230和RAM240可以集成到单个芯片中。
在一些实施例中,可以从计算设备200中移除I/O端口250和通信接口260中的一个。
在一些实施例中,计算设备200可以实现相机110。图像传感器电路113也可以耦合到总线270。图像处理电路114可以在处理器210上实现。I/O端口250和/或通信接口260可以实现输出电路115。
在一些实施例中,计算设备200可以实现控制台120。计算设备200可以是单个设备。或者,计算设备200可以包括具有相同或类似架构的至少两个计算设备,如图2所示,计算设备200的一个或以上组件可以在至少两个计算设备中的一个或以上上实现。
在一些实施例中,计算设备200可以实现个人计算机(PC)或任何其他类型的工作站或终端设备。如果适当地编程,计算设备200还可以充当服务器。
图3是根据本申请的一些实施例所示的示例性图像处理设备300。图像处理设备300可以在图像处理电路114或控制台120上实现,以通过如图4中所示的过程处理图像。图像处理设备300可以包括图像模块310、块模块320和处理模块330。在一些实施例中,图像处理设备300可以进一步包括去马赛克模块340和/或缺陷像素校正模块350。
图像模块310可以被配置为获取第一图像。第一图像可以是根据色彩滤镜阵列进行格式化后的图像(例如,拜耳图像)、全彩图像(例如,RGB图像或YUV图像)或灰度图像。第一图像可以是由图像传感器电路113生成的原始图像,或者是图像处理电路114在处理原始图像的过程中生成的中间图像,或者,第一图像可以是由控制台120接收的图像。
块模块320可以在第一图像中选择一个或以上的块。“块”可以是包括像素块的图像中的局部区域。块可以具有任何预设形状。为了说明目的,本申请中描述的“块”为矩形(或方形)网格。块模块320可以在第一图像上执行预设分割,确定至少两个块。或者,块模块320可以在第一图像上运行滑动窗口,以在第一图像中确定至少两个窗口区域。至少两个窗口区域中的每个可以是像素块,该像素块可以被视为块。
处理模块330可以针对一个或以上块中的每个,基于第二图像的块内的图像处理区域执行K次迭代的图像处理操作,每次迭代用于减小图像处理区域的大小,K可以是大于2的整数。在K次迭代的每次迭代中,处理模块330可以修改图像处理区域中的一个或以上的像素的像素值(或被称为修改一个或以上的像素)。一个或以上的修改后的像素可以构成大小小于对应的图像处理区域的已处理区域。
第二图像的像素可以与第一图像的像素对应。在一些实施例中,第一图像和第二图像可以是数字视频流的两个连续帧。优选地,第二图像可以是第一图像的前一帧。然而,第二图像也可以是第一图像的后一帧。
第一图像和第二图像可以具有相同的图像格式。在一些实施例中,可以基于色彩滤镜阵列112对第一图像和第二图像进行格式化。或者,第一图像和第二图像均为全色图像或灰度图像。
在一些实施例中,可以基于彩色滤镜阵列112对第一图像和第二图像进行格式化。图像处理设备300还可以包括去马赛克模块340。去马赛克模块340可以对第一图像执行图像处理操作所获得的图像,执行去马赛克操作,以将处理后的第一图像转换为用于显示或存储的全色图像。
在一些实施例中,图像处理设备300还可包括缺陷像素校正模块350。缺陷像素校正模块350可以检测图像中的缺陷像素,生成第一图像(例如,由图像传感器电路113生成的原始图像),并校正图像中检测到的缺陷像素,以生成缺陷像素校正后的图像。缺陷像素校正后的图像可以作为要处理的第一图像。或者,图像处理设备300可以进一步处理缺陷像素校正后的图像,生成第一图像。通过在执行本申请中描述的图像处理过程之前校正缺陷像素,可以获得增强的图像处理结果。
可以结合图4中所示的图像处理过程进一步描述图像处理设备300以及其组件。
值得注意的是,关于上述图像处理设备300的描述仅用于说明目的,而不是旨在限制本申请。可以了解的,在学习本申请的主要概念和原理后,本领域技术人员可以以非创造性的方式改变图像处理设备300。改变可以包括:组合和/或拆分模块或子模块、添加或移除可选模块或子模块等。例如,第一图像和第二图像可以是全色图像,并且可以从图像处理设备300移除去马赛克模块340。作为另一示例,第一图像和第二图像可以是由图像传感器电路113生成的原始图像,并且可以从图像处理设备300中移除缺陷像素校正模块350。所有这些修改都在本申请的保护范围内。
图4是根据本申请的一些实施例所示的示例性图像处理过程400的流程图。过程400可以由图像处理设备300执行,以减少图像中的噪声、模糊和/或校正颜色等。在一些实施例中,图4所示的过程400的一个或以上操作可以在图1所示的图像处理系统100中实现。例如,图4所示的过程400可以以指令的形式存储在存储设备(例如,RAM240、存储设备220)中,并由一个或以上处理器(例如,处理器210、图像处理电路114执行)调用和/或执行实现图像处理设备300的对应模块。
在410中,图像模块310可以获取第一图像。第一图像可以是根据色彩滤镜阵列进行格式化后的图像(例如,拜耳图像)、灰度图像或全色图像。在一些实施例中,第一图像可以是数字视频流的帧。图像模块310可以从图像传感器电路113、输出电路115、网络130或内置存储设备(例如,存储设备220、RAM240)获取第一图像。
在420中,块模块320可以在第一图像中选择一个或以上的块。
在一些实施例中,块模块320可以在第一图像中确定至少两个的块,并且根据预设顺序从至少两个块中选择块,以逐个处理至少两个块。
在一些实施例中,块模块320可以在第一图像中确定至少两个块,并根据预设顺序从至少两个的块中选择一批块,以分批处理至少两个块。例如,图像处理设备300可以由至少两个处理器实现,并且每次至少两个处理器可以并行地处理对应数量的块。
在一些实施例中,块模块320可以在第一图像中执行预设分割,以将第一图像划分为至少两个的非重叠图像区域,作为至少两个的块。块可以具有预设的尺寸和形状。在一些实施例中,块可以是矩形(或正方形),并且可以具有Tw*Th的尺寸。Th可以是表示像素高度的正整数,且Tw可以是表示像素宽度的正整数。Tw和Th可能相同或不同。
Tw和Th可以基于相机110的硬件配置设置。可替代地或另外地,Tw和Th可以基于目的(例如,用于减少噪声、用于校正颜色)和/或过程400的性能设置。在一些实施例中,Tw和Th可以均为13。
优选地,块模块320确定的块可以具有相同的形状和相同的尺寸。然而,在一些实施例中,第一图像的宽度/高度可以不是块的宽度/高度的整数倍。例如,第一图像的宽度可以是1024个像素,而块的预设宽度可以是13个像素。因此,第一图像的边缘确定的块与其他块相比,可以具有不同的宽度/高度。例如,在上述情况下,沿第一图像的宽度,块模块320可以确定78个宽度为13个像素的块和1个宽度为10个像素的块。或者,块模块320可以在第一图像的边缘补零,使得第一图像的宽度/高度可以增加到块的宽度/高度的下一个整数倍。例如,在上述情况下,沿第一图像的宽度,块模块320可以在第一图像的边缘处补零,以将其宽度增加到1027,并从宽度上确定79个块。
在一些实施例中,块模块320可以将第一图像划分为至少两个的重叠图像区域,作为至少两个块。在本实施例中,在过程400的后续操作中可以修改每个块的部分像素。在块中被修改的像素形成的区域(已处理区域)可以不与另一个块重叠,对一个块中的像素的修改能够不影响另一个块中的像素的修改。
在430中,处理模块330可以针对至少两个块中的每个,基于第二图像对块内的图像处理区域执行K(K≥2)次迭代的图像处理操作,每次迭代用于减小图像处理区域的大小。
在每次迭代的过程中,通过执行与迭代相关的图像处理操作,处理模块330可以修改图像处理区域中的一个或以上的像素的像素值。一个或以上的修改后的像素可以形成已处理区域。已处理区域的大小可以等于或小于对应图像处理区域的大小。
图像处理区域可以由用于修改所述修改后的像素的所有像素构成。然而,图像处理区域中并非所有的像素都必须被修改。在一些实施例中,可以不修改图像处理区域的边缘或边缘附近(例如,距离边缘个像素)的像素。
初始图像处理区域(即,K次迭代的第1次迭代对应的图像处理区域)可以对应块本身。图像处理区域和已处理区域的大小可以随着每次迭代减小。例如,在K次迭代中,第k+1次迭代的图像处理区域可以在第k次迭代(1≤k≤K)的图像处理区域内,且第k+1次迭代的已处理区域也可以在第k次迭代的已处理区域内。
在一些实施例中,K次迭代的图像处理区域和已处理区域各自可以在对应块的中心处或附近(例如,距离中心1或2个像素处),具有中心。因此,靠近块的中心处的像素可以比块的边缘处的像素,执行更多次迭代,从而在块上实现图像处理强度从边缘到中心的逐渐变化。与使用相同图像处理强度处理整个块(例如,用于降噪)的传统图像处理技术相比,本申请中公开的过程(例如,过程400)对不同的块施加不同的图像处理强度,可以减少马赛克效果,同时提供足够的图像处理强度。
在一些实施例中,在K次迭代的每次迭代中,已处理区域可以小于对应的图像处理区域。例如,图像处理区域的边缘或边缘附近(例如,距离边缘的1或2个像素)处的像素可以不处理(即,未修改像素值)。处理模块330可以将第k次迭代的已处理区域指定为第k+1次迭代的图像处理区域,以通过每次迭代减小图像处理区域。
K次迭代的每次迭代可以与一个或以上的图像处理模型相关,该图像处理模型用于修改图像处理区域中的一个或以上的像素的像素值。一个或以上的图像处理模型可以包括:降低噪声的模型、减少模糊的模型、校正颜色的模型等或其组合。
所有的K次迭代可以与相同的图像处理模型或相同的图像处理模型组相关。或者,K次迭代的两个或以上的迭代可以与不同的图像处理模型相关。应当注意的,采用相同原理但不同参数的图像处理模型也可以被认为是不同的图像处理模型。例如,K次迭代的两次或以上的迭代,可以与使用不同的参数集降低噪声的图像处理模型相关。这种结构(或其他图像处理技术)可以在每次迭代中改变降噪的强度,以增强处理后的图像的视觉效果。
在一些实施例中,K可以是预设数量,例如,2、3、4等。在一些实施例中,K可以是系统默认参数或由用户设置。
在一些实施例中,K可以取决于每次迭代中的图像处理操作的性能或结果。处理模块330可以迭代执行图像处理操作,直到满足终止条件。例如,终止条件可以包括已处理区域的大小或图像处理区域的大小,小于或等于预定阈值。作为另一示例,终止条件可以包括已处理区域在当前次前后的差异(例如,L1距离的形式(即,直线距离)或是L2距离(即,欧几里得距离)),小于或等于预设阈值(即,实现收敛)。
在一些实施例中,处理模块330可以在图像处理区域上运行滑动窗口,以在图像处理区域中确定至少两个的重叠窗口区域(或者一个窗口区域,如果图像处理区域的大小只能提供一个窗口区域)。滑动窗口移动到的每个位置(或区域)可以与图像处理区域的窗口区域对应。处理模块330可以计算每个窗口区域的输出值,以修改窗口区域中的感兴趣像素。详细描述可以在本申请中的其他地方(例如,与图6相关)找到。
在一些实施例中,第一图像可以是视频的帧,第二图像可以是第一图像的前一帧。通过重复过程400,图像处理设备300可以逐帧处理视频。处理后的第一图像还可以作为“第二图像”,用于处理视频的下一帧。
在一些实施例中,图像处理设备300可以由至少两个处理核(例如,一组计算设备、至少两个单核处理器、一个或以上多核处理器、在计算设备中并行耦合的至少两个逻辑电路)实现。至少两个处理核中的每个可以对应于生成第一图像的图像传感器111的光电传感器阵列中的光电传感器块。至少两个处理核可以各自检索对应的光电传感器块生成的第一图像的部分,作为操作420中的选择的块,并对选择的块并行执行操作430,以处理第一图像。
在一些实施例中,块模块320可以在第一图像上运行滑动窗口,以选择一个或以上的块。通过运行滑动窗口,块模块320可以将第一图像中的至少两个窗口区域,作为至少两个的块。块模块320每次运行滑动窗口确定一个窗口区域,选择一个块时(操作420),处理模块330可以执行操作430以处理块,然后块模块320可以移动滑动窗口设置下一个窗口区域,选择下一个块。先前选择的块的处理可能会影响后续选择的块的处理。每次块模块320可以沿着第一图像的宽度或高度,以一个或以上的像素的距离(例如,滑动窗口的宽度1/2或高度1/2)移动滑动窗口,选择一个或以上的块。
在一些实施例中,在选择第一图像中的一个或以上的块之前,块模块320可以确定第一图像中的一个或以上感兴趣区域,然后,在确定的感兴趣的区域中选择一个或以上的块(例如,通过分割或运行滑动窗口)。例如,块模块320可以对第一图像执行对象检测,以检测包含或可能包含的一个或以上的特定对象(例如,人脸),作为感兴趣区域。作为另一示例,块模块320可以对第一图像执行异常检测,以检测包含或可能包含一个或以上异常的图像区域,以作为感兴趣区域使用流程400进行处理。一个或以上的异常可以包括:噪声(例如,超过预设水平)、失真、模糊、伪颜色、过度曝光、曝光不足等或其组合。
在一些实施例中,上述感兴趣区域可作为由块模块320确定的块。
应当注意,上述过程400的描述仅用于演示目的,而不是为了限制本申请的范围。可以理解的是,在学习本申请的主要原理之后,本领域技术人员可以以非创造性的方式改变过程400。例如,上述操作可以以不同于图4所示的顺序来执行,可以将一个或以上可选操作添加到流程图中,可以分割或组合一个或以上操作。所有这些修改都在本申请的范围内。
图5是根据本申请的一些实施例所示的示例性处理模块500的示意图。在一些实施例中,图像处理模块500可以是处理模块330的示例。处理模块500可以通过图6所示的过程或其它示例,在图像处理电路114或控制台120上实现,以处理图像。处理模块500可以包括图像处理区域单元510、窗口区域单元520、第一像素块单元530、第二像素块单元540、差异指示单元550、像素修改单元560、第一检测单元570和第二检测单元580。应当注意的,可以组合或分离处理模块500的一个或以上单元。可以根据实际需求添加一个或以上的可选单元。
图像处理区域单元510可以被配置为:为K次迭代的每次迭代确定图像处理区域,每次迭代用于减小图像处理区域的大小。
窗口区域单元520可以被配置为:通过在图像处理区域上运行滑动窗口,确定一个或以上的窗口区域。在运行滑动窗口的过程中,窗口区域单元520可以将滑动窗口依次移动到图像处理区域中的一个或以上位置。一个或以上的位置中的每个可以对应图像处理区域中的窗口区域。窗口区域可以对应(或由构成)第一图像中的像素(或称为像素块)。
第一像素块单元530可以被配置为:从第一图像中获取与窗口区域对应的第一像素块。第一像素块可以包括第一感兴趣像素。
第二像素块单元540可以被配置为:从第二图像中获取与第一像素块对应的第二像素块。第二像素块可以包括与第一感兴趣像素对应的第二感兴趣像素。在一些实施例中,第一像素块和第二像素块的坐标范围可以相同。
差异指示单元550可以被配置为:计算差异指标,差异指标表征第一像素块和第二像素块之间的差异。差异指示单元550可以基于第一像素块和第二像素块中的所有像素、或者根据第一像素块和第二像素块中的选定(例如,某种颜色)像素的像素值,计算差异指标。
像素修改单元560可以被配置为:至少基于差异指标、第一感兴趣像素的像素值、以及第二感兴趣像素的像素值,计算输出值,以修改第一感兴趣像素。
第一检测单元560可以被配置为:检测图像处理区域的处理是否完成,并根据检测结果进行操作。
第二检测单元570可以被配置为检测块的处理是否完成,并根据检测结果执行操作。
处理模块500的单元及其功能可以进一步结合图6进行描述。
可以注意到,关于上述处理模块500的描述仅用于说明目的,而不是旨在限制本申请。可以理解,在学习本申请的主要概念和机制之后,本领域技术人员可以以非创造性的方式改变处理模块500。改变可以包括组合和/或分离单元或子单元、添加或移除可选单元或子单元等。例如,第一像素块单元530和第二像素块单元540可以组合为一个单元。作为另一示例,第一检测单元570和第二检测单元580可以组合为一个单元。所有这些修改都在本申请的保护范围内。
图6是根据本申请的一些实施例所示的示例性图像处理过程600的流程图。在一些实施例中,过程600可以由图5所示的处理模块500执行,以实现图4所示的操作430。在一些实施例中,可以在图1所示的图像处理系统100中,实现图6所示的过程600中的一个或以上的操作。例如,图6中所示的过程600可以以指令的形式存储在存储设备(例如,RAM240、存储设备220)中,并由一个或以上处理器(例如,处理器210、图像处理电路114)调用和/或执行实现处理模块500。
通过过程600,处理模块500可以在图像处理区域上运行滑动窗口,以处理操作420中的块的集合。处理模块500可以计算滑动窗口的每个位置的输出值,以修改对应的像素。
为了简洁起见,可以在根据色彩滤镜阵列格式化后的图像(例如,拜耳图像)的前提下描述过程600。然而,过程600还可以处理灰度图像或全色图像(例如,RGB图像,YUV图像)的第一图像。
在610中,图像处理区域单元510可以确定图像处理区域Rk,图像处理区域Rk与K次迭代(1≤k≤K)的第k次迭代的待处理的块对应。在一些实施例中,当k=1时,图像处理区域单元510可以将全部块确定为图像处理区域R1。当k>1时,图像处理区域Rk可以小于第k-1次迭代对应的图像处理区域Rk-1。例如,如果图像处理区域Rk-1是13×13的像素矩阵,则图像处理区域Rk可以是9×9的像素矩阵。图像处理区域Rk可以是图像处理区域Rk-1的子区域。
在一些实施例中,图像处理区域单元510确定的图像处理区域Rk,可以在对应块的中心或附近(例如,距离1~2个像素)处,具有中心。
在620中,窗口区域单元520可以在图像处理区域Rk中确定窗口区域Wi。i可以是1与第k次迭代中窗口区域单元520确定的图像处理区域Rk中的窗口区域总数之间的整数。窗口区域Wi可以与窗口区域单元520运行的滑动窗口的第i个位置对应。窗口区域Wi的尺寸可以与滑动窗口的尺寸相同。窗口区域Wi的宽度可以等于或不同于窗口区域Wi的高度。在一些实施例中,窗口区域Wi的尺寸可以是5×5(以像素为单位)。
在一些实施例中,对于所有次迭代,窗口区域单元520确定的窗口区域可以具有固定大小(例如,5×5)。
在一些实施例中,对于K次迭代的至少两次迭代,窗口区域单元520设置的窗口区域可以具有不同大小。例如,窗口区域单元520可以在第一次迭代中运行7×7(以像素为单位)的滑动窗口,确定7×7(以像素为单位)的窗口区域,在第二次迭代中运行5×5(以像素为单位)的滑动窗口,确定5×5(以像素为单位)的窗口区域。
在一些实施例中,与第k次迭代相关的滑动窗口的大小可以取决于第k次迭代中采用的图像处理模型和/或图像处理区域Rk的大小/形状。
在630中,第一像素块单元530可以从第一图像中获取与窗口区域Wi对应的像素块B1,i(第一像素块)。在一些实施例中,第一像素块单元530可以从存储设备(例如,RAM240、存储设备220),读取与像素块B1,i对应的数据。
在640中,第二像素块单元540可以从第二图像中获取与像素块B1,i对应的像素块B2,i(第二像素块)。在一些实施例中,第一像素块单元530可以从存储设备(例如,RAM240、存储设备220)读取与像素块B2,i对应的数据。
操作630和操作640可以以任何顺序执行或并行执行。
在650中,差异指示单元550可以计算差异指标Di,差异指标Di表征像素块B1,i和像素块B2,i之间的差异。
差异指示单元550可以基于像素块B1,i中的所有像素和像素块B2,i中的所有像素,计算差异指标Di。或者,差异指示单元550可以基于像素块B1,i中选择的一个或以上的像素和与像素块B2,i中的对应像素,计算差异指标Di。下面列出了一些计算差异指标Di的示例性方法,这仅用于演示目的而不具备限制性。
方法a:差异指示单元550可以计算像素块B1,i和像素块B2,i之间的距离L1或距离L2,作为差异指标Di,或者作为计算差异指标Di的基础。
方法b:差异指示单元550可以计算像素块B1,i中的所有像素的像素值的平均值以及像素块B2,i中的所有像素的像素值的平均值/>然后,差异指示单元550可以通过以下方式计算差异指标Di:
在一些实施例中,平均值和平均值/>可以是加权平均值。不同的权重可以与像素的不同颜色相关。
方法c:差异指示单元550可以计算像素块B1,i中预设颜色的像素的像素值的平均值以及像素块B2,i中相同预设颜色的像素的像素值的平均值/>然后差异指示单元550可以通过以下方式计算差异指标Di:
在一些实施例中,预设颜色可以是绿色,因为绿色的像素可能比其他颜色的像素受到噪声的影响更小。
差异指示单元550还可以通过其他任何方法计算差异指标Di。例如,差异指示单元550可以通过对帧执行运动检测或运动分析的方法,计算差异指标Di。
结合图9-图11描述计算差异指标Di的一个示例。
在660中,像素修改单元560可以计算输出值Oi,以修改像素块B1,i中的像素P1,i(例如,第一感兴趣像素)。例如,像素修改单元560可以使用输出值Oi替换像素P1,i的像素值V1,i,或将像素值V1,i调整为输出值Oi。像素P1,i可以是窗口区域Wi的中心或附近(例如,个像素距离)处的像素。值得注意的是,像素P1,i也可以是窗口区域Wi中的其他任何像素。
在一些实施例中,像素修改单元560至少可以基于差分指标Di、像素值V1,i、与像素P1,i对应的像素块B2,i中的像素P2,i的像素值V2,i,计算输出值Oi。在一些实施例中,像素修改单元560可以使用与第k次迭代相关的图像处理模型,计算输出值Oi。例如,像素修改单元560可以通过用于减少噪声的模型计算输出值Oi,以减少第一图像中的噪声。作为另一示例,像素修改单元560可以通过组合模型计算输出值Oi,该组合模型可以包括用于减少噪声的模型和用于校正颜色的模型(例如,通过依次执行用于降低噪声的模型和用于校正颜色的模型,计算输出值Oi),以便同时对第一图像进行降噪和校正颜色。
在一些实施例中,像素修改单元560可以至少基于差异指标Di,得到与像素P1,i和像素P2,i相关的权重。然后,像素修改单元560可以使用获取的权重,计算输出值Oi。
在一些实施例中,像素修改单元560可以计算像素值V1,i和像素值V2,i的加权和、或加权平均值,作为输出值Oi。
在一些实施例中,像素修改单元560可以通过如图8所述的过程,使用权重计算输出值Oi。
在一些实施例中,像素修改单元560可以基于表征像素块B1,i的亮度的亮度指标,计算输出值Oi。例如,像素修改单元560可以使用亮度指标,确定与像素P1,i和像素P2,i相关的权重。
在一些实施例中,上述(加权或未加权)或/>可以作为亮度指,或作为像素修改单元560计算亮度指标的基础。
在一些实施例中,像素修改单元560可以基于与像素块B2,i相关的参考参数,计算输出值Oi。例如,像素修改单元560可以使用参考参数确定与像素P1,i和像素P2,i相关的权重。
在一些实施例中,参考参数可以是通过过程400(通过过程600实现操作430),基于另一图像,处理第二图像的过程中获取的差异指标。例如,第一图像可以是视频的第f(≥3)帧,第二图像可以是视频的第f-1帧。第二图像可以利用过程400,基于视频的第f-2帧(已处理或未处理),处理其原始版本(即未处理的版本)得到。处理第f-1帧和第f帧的过程、对应的模型和对应的参数可以是相同的。在处理第二图像时,差异指标Di’可以通过差异指示单元500修改第二图像中的像素P2,i得到。差异指示单元550可以将差异指标Di’确为与像素P2,i相关的参考参数,存储在存储设备(例如,RAM240、存储设备220)中。当处理第一图像时,像素修改单元560可以使用差异指标Di’作为参考参数,以修改第一图像中的像素P1,i。
在670中,第一检测单元570可以检测图像处理区域Rk的处理是否完成。在检测到未完成图像处理区域Rk的处理时,第一检测单元570可以再次触发操作620,以修改另一个像素(P1,i+1)。在检测到图像处理区域Rk的处理完成后,第一检测单元570可以结束第k次迭代,并且触发操作680。
例如,为了检测图像处理区域Rk的处理是否完成,第一检测单元570可以检测窗口区域Wi是否是窗口区域单元520在第k次迭代中确定的所有窗口区域的最后一个窗口区域。在检测到窗口区域Wi不是最后一个窗口区域时,第一检测单元570可以再次触发操作620,并且窗口区域单元520可以通过将滑动窗口移动到下一个位置(第i+1位置)确定窗口区域Wi+1,以在窗口区域Wi+1中修改另一个像素P1,i+1。窗口区域Wi+1和窗口区域Wi可以重叠,并且可以使用修改后的P1,i修改P1,i+1。
窗口区域单元520可以根据预设图案移动(或运行)滑动窗口。例如,窗口区域单元520可以沿着一个或以上预设轨迹移动滑动窗口。在一些实施例中,一个或以上预设轨迹可以与图像处理区域Rk的边缘平行。在一些实施例中,窗口区域单元520可以沿着一个或以上的预设轨迹中的每个,以步长为1个像素移动滑动窗口,以及通过重复操作620至670修改所有的像素,生成连续的已处理区域。在K次迭代的每次迭代中,已处理区域的大小可以小于对应的图像处理区域。
在680中,第二检测单元580可以检测块的处理是否完成。当检测到块的处理未完成时,第二检测单元580可以再次触发操作610,以开始第k+1次迭代。当检测到块的处理完成时,第二检测单元580可以结束过程600。
在一些实施例中,K可以是预设数量,例如2,3,4等。为了检测块的处理是否完成,第二检测单元580可以检测第k次迭代是否是第K次迭代。当检测到当前k小于K时,第二检测单元580可以结束过程600。否则,第二检测单元580可以再次触发操作610。
在一些实施例中,K可以取决于图像处理操作的性能或结果。为了检测块的处理是否完成,第二检测单元580可以检测是否满足终止块处理的终止条件。例如,第二检测单元580可以检测已处理区域或图像处理区域Rk的大小是否小于或等于阈值Tsize。当检测到已处理区域的大小或图像处理区域Rk的大小小于或等于阈值Tsize时,第二检测单元580可以结束过程600。否则,第二检测单元可以再次触发操作610。作为另一示例,第二检测单元580可以检测第k次迭代之前和之后的已处理区域的差异是否小于或等于阈值Tdif(即,是否实现收敛)。例如,第二检测单元580可以通过与上所述方法a、b或c的类似方法确定差异。当检测到差异小于或等于阈值Tdif时,第二检测单元可以结束过程600。否则,第二检测单元580可以再次触发操作610。
在一些实施例中,当重新触发操作610时,图像处理区域单元510可以将第k次迭代的已处理区域确定为第k+1次迭代的图像处理区域Rk+1,减小图像处理区域Rk+1的大小。例如,如果在经过一次迭代之后,通过处理13×13的图像处理区域获得了9×9的已处理区域,则图像处理区域单元510可以将9×9的已处理区域设置为下次迭代的图像处理区域。
在一些实施例中,当重新触发操作610时,图像处理区域单元510可以基于第k次迭代的已处理区域确定图像处理区域Rk+1。例如,如果在一次迭代之后,得到一个M×M的已处理区域(M是正整数),图像处理单元510可以确定一个(M+2)×(M+2)的区域,作为下一次迭代的图像处理区域,该区域的中心位于M×M的已处理区域的中心。
在一些实施例中,当重新触发操作610时,图像处理区域单元510可以确定已处理区域Rk+1,不管第k次迭代的已处理区域。例如,如果在经过一次迭代之后,通过处理13×13的图像处理区域获得了9×9的已处理区域,则图像处理区域单元510可以将13×13的图像处理区域中的n×n的区域确定为下一次迭代的图像处理区域,其中,n是小于13的任意正整数。作为另一示例,图像处理区域单元510可以将9×9的已处理区域中的m×m的区域确定为下一次迭代的图像处理区域,其中,m是小于或等于9的任意正整数。在一些实施例中,图像处理区域单元510可以通过预设公共差异(例如,2、4、6),减小图像处理区域的高度和/或宽度。图像处理区域减小的高度和宽度可以是相同或不同的。
通过重复过程600,处理模块500可以处理在操作420中确定的一个或以上的块中的每个。
在一些实施例中,可以执行过程600处理灰度图像。灰度图像的处理可以与基于色彩滤镜矩阵格式化后的图像相同或类似。
在一些实施例中,可以执行过程600处理全色图像。全色图像可以看作是由至少两个子图像构成的,每个子图像对应全色图像的颜色空间的一个颜色通道。例如,对于RGB图像,每个像素可以分别具有三个像素值,分别对应于R、G和B通道。一个RGB图像可以看作是由三个子图像构成,由对应颜色通道(R、G或B)的像素值构成。然后,处理600可以执行:分别处理全色图像的至少两个子图像中的每个。
在一些实施例中,处理模块500可以进一步基于全色图像的一个或以上的其他子图像,对全色图像的至少两个子图像执行过程600(例如,用于计算差异指标或计算输出值)。
应当注意,上述过程600的描述仅用于演示目的,而不是为了限制本申请的范围。可以理解的是,在学习本申请的主要概念之后,本领域技术人员可以以无创造性的方式改变过程600。例如,上述的操作可以以不同于与图6所示的顺序来实现。可以将一个或以上可选操作添加到流程图中。可以分割或组合一个或以上操作。所有这些修改都在本申请的范围内。
图7是根据本申请的一些实施例所示的示例性像素修改单元700的示意图。在一些实施例中,像素修改单元700可以是像素修改单元560的示例。像素修改单元700可以由图像处理电路114或控制台120实现,以通过图8所示的过程或其实示例修改像素。像素修改单元700可以包括低频分量子单元710、高频分量子单元720、权重子单元730、更新子单元740和输出值子单元750。
低频分量子单元710可以被配置为获取第一感兴趣像素和第二感兴趣像素(例如过程600中的像素P1,i和像素P2,i)的低频分量。
高频分量子单元710可以被配置为获取第一感兴趣像素和第二感兴趣像素的高频分量。
权重子单元720可以被配置为获取与第一感兴趣像素和第二感兴趣像素相关的权重。
更新子单元730可以被配置为基于第一感兴趣像素和第二感兴趣像素的高频分量、以及与第一感兴趣像素和第二感兴趣像素相关的权重,计算第一感兴趣像素的更新后的高频分量。
输出值子单元740可以被配置为至少基于第一感兴趣像素的更新后的高频分量和第一感兴趣像素的低频分量,计算输出值,以修改第一感兴趣像素。
可以根据图8进一步描述像素修改单元700的子单元及其功能。
图8是根据本申请的一些实施例所示的修改感兴趣像素块中的像素的示例性过程800的流程图。过程800可以是降低第一图像中噪声的过程,并且可以由像素修改单元700执行,以实现图6中所示的操作660。在一些实施例中,过程800也可以与另一种类型的图像处理(例如,颜色校正、模糊降低)的过程组合,以实现操作660。
在一些实施例中,可以在图1所示的图像处理系统100中实现图8所示的过程800的一个或以上操作。例如,图8中所示的过程800可以以指令的形式存储在存储设备(例如,RAM240、存储设备220)中,并由一个或以上处理器(例如,处理器210、图像处理电路114)调用和/或执行实现图7所示的像素修改单元700。
可以结合图6中所示的过程600来描述过程800。相同的参数可以在过程800和过程600中具有相同的含义。
在810中,低频分量子单元710可以获取像素P1,i的低频分量V1,i_l和像素P2,i的低频分量V2,i_l。
获取低频分量V1,i_l和低频分量V2,i_l的示例性的方法如下所示,其仅用于演示目的,而不具备限制性。
在一些实施例中,低频分量V1,i_l或V2,i_l可以是频率低于预设截止频率的分量。为了说明目的,描述了一种基于第一图像生成低频图像I1-l和基于第二图像生成低频图像I2-l的操作。为了生成低频图像I1-l,低频图像模块可以对第一图像执行傅里叶变换,生成变换后的图像F1,在变换后的图像F1中选择部分图像F1_l,该部分代表其像素值的分量的频率低于截止频率,对部分图像F1_l进行反傅里叶变换,得到低频图像I1_l。类似地,低频图像模块可以生成第二图像的低频图像I2-l。然后,低频分量子单元710可以获取低频图像I1-l中对应像素的像素值,作为低频分量V1,i_l,以及低频图像I2-l中对应像素的像素值作为低频分量V2,i_l。
在一些实施例中,低频分量子单元710可以使用像素块B1,i中所有像素的像素值的平均值(即,上述),作为低频分量V1,i_l,以及使用像素块B2,i中所有像素的像素值的平均值(即,上述/>),作为低频分量V2,i_l。例如,低频分量V1,i_l和低频分量V2,i_l可以由差异指示单元550计算并存储,用于在操作650中确定差异指标Di(例如,通过方法b或c)。低频分量子单元710可以检索在操作810中存储的V1,i_l和V2,i_l,以确定后续操作中的输出值Oi。
在一些实施例中,低频分量子单元710可以计算像素块B1,i中具有颜色的像素P1,i的像素值的平均值,作为低频分量V1,i_l,以及计算像素块B2,i中具有相同颜色的像素的像素值的平均值,作为低频分量V2,i_l。
在一些实施例中,低频分量子单元710可以通过前述方法获取像素P1,i的低频分量V1,i_l,并将低频分量V1,i_l确定为像素的低频分量V2,i。低频分量V2,i_l的计算可以省略。
在一些实施例中,操作810可以在操作650之前执行,并且可以根据像素P1,i和像素P2,i的低频分量V1,i_l和低频分量V2,i_l,确定差异指标Di。例如,首先,低频分量子单元710可以获取像素P1,i和像素P2,i的低频分量V1,i_l和低频分量V2,i_l,然后差异指示单元550可以通过以下方式获得差异指标Di:
Di=abs(V1,i_l-V2,i_l)函数(3)
在820中,高频分量子单元720可以获取像素P1,i的高频分量V1,i_h和像素P2,i的高频分量V2,i_h。高频分量子单元720可以基于低频分量V1,i_l和像素值V1,i,获取高频分量V1,i_h,并基于低频分量V2,i_l和像素值V2,i,获取高频分量V2,i_h。在一些实施例中,高频分量子单元720可以通过从像素的像素值中减去该像素对应的低频分量,获取像素的高频分量。例如,高频分量子单元720可以通过以下方式获取像素P1,i的高频分量V1,i_h和像素P2,i的高频分量V2,i_h:
V1,i_h=V1,i-V1,il 函数(4)
V2,i_h=V2,i-V2,i_l 函数(5)
在830中,权重子单元730可以至少基于差异指标Di,获取与像素P1,i和像素P2,i相关的权重。例如,权重子单元730可以被配置为:基于差异指标Di,计算与像素P1,i相关的权重W1,i(第一权重)和与像素P2,i相关的权重W2,i(第二权重),当满足差异指标Di在某一取值范围内时,像素块B1,i与像素块B2,i之间的差异越大(即,差异指标Di指示的值),则权重W1,i相比权重W2,i更大。当第一图像和第二图像(例如,连续的两帧)显著不同时,这种结构可以减少第一图像中可能出现的模糊。在一些实施例中,当差分指示符Di在一个或以上的特定值的范围内时,权重W1,i和权重W2,i可以具有预设值。当差分指示符Di在其他值的范围内时,权重W1,i和权重W2,i可以通过插值和/或推断得到。例如,权重子单元730可以通过逐级函数(6)获得权重W1,i,并通过逐级函数(7)获得权重W2,i。函数(6)和函数(7)可以表示为:
w2,i=1-w1,i 函数(7)
其中,一个或以上的参数coe1,k、coe2,k、coe3,k、Ck、d1,k、d2,k、d3,k和d4,k可以是与第k次迭代相关的预设参数,或者是由权重子单元730通过与第k次迭代相关的函数或模型确定的可变参数。函数(6)和(7)中的预设参数可以在不同的迭代中保持相同或变化。用于确定变量参数的功能或模型可以保持相同或在不同的迭代中变化。在一些实施例中,不同的迭代可以与不同的预定参数和/或模型相关联,用于确定可变参数以调节每次迭代中的降噪强度。
在一些实施例中,在K次迭代的一个或以上的迭代(例如,在每次迭代中,当k=1时,或者当k在[1,3]的范围内)中,权重子单元730可以进一步基于表示像素块B1,i的亮度的亮度指标Li,得到权重W1,i和W2,i。例如,在函数(6)中,参数coe1,k、coe2,k、coe3,k和Ck可以是预设参数(例如,4、25、60和64),并且权重子单元730可以基于亮度指标Li调整参数d1,k、d2,k、d3,k和d4,k。因为不同亮度的局部区域可能有不同程度的噪声,这种结构可以调节降噪强度,以适应不同亮度的局部区域。
在一些实施例中,亮度指标Li可以是像素块B1,i中所有像素的像素值的平均值(即,上述)或像素块B1,i中预设颜色(例如,绿色)的像素的像素值的平均值(即上述/>)。在一些实施例中,差异指示单元550可以计算和存储亮度指标Li,用于确定操作650中的差异指标Di(例如,通过方法b或c)。权重子单元730可以检索操作830中存储的Li,以确定权重W1,i和W2,i。
在一些实施例中,可以基于像素块B1,i中的绿色像素计算亮度指标Li。例如,如果Li小于或等于第一阈值(例如,8或任何其他适当值),则参数d1,k、d2,k、d3,k和d4,k可以具有第一组预设值(例如,分别为0、2、2和4);如果Li大于或等于第二阈值(例如,255或任何其他适当的值),则参数d1,k、d2,k、d3,k和d4,k可以具有第二组预设值(例如,分别为8、40、40和72);如果Li在第一阈值和第二阈值之间,则权重子单元730可以通过线性插值等方式获取参数的值d1,k、d2,k、d3,k和d4,k。例如,为了获取函数(6)中的变量参数dn,k(n是1和4之间的整数),权重子单元730可以使用逐级函数(8),其可以由以下方式表示:
其中,参数an,k和bn,k是与第k次迭代相关的预设值,其可以在不同的迭代中保持相同或变化。可以根据实际需求设置函数(8)的每个部分的范围值。
第一组预设值和/或第二组预设值可以在不同的迭代中保持相同或变化。
在一些实施例中,在K次迭代的一次或以上迭代(例如,在每次迭代中,或当k=K)中,权重子单元730可以进一步基于与像素P2,i相关的参考参数,得到权重W1,i和权重W2,i。例如,第一图像和第二图像可以是视频的连续帧,并且第二图像可以通过流程400,基于其前一帧处理其原始版本(即未处理版本)获得。参考参数可以是由差异指示单元550获取得差异指标Di',用于修改第二图像中的像素P2,i。差异指示单元550可以将差异指标Di'作为与像素P2,i相关的参考参数,存储在存储设备(例如,RAM240、存储设备220)中。然后,权重子单元730可以被配置为:从存储设备检索差异指标Di',并基于差异指标Di',计算权重W1,i和权重W2,i。当差异指标Di'高于阈值时,可以增加权重W1,i与权重W2,i的比值。当第二图像与其前一帧明显不同时,这种结构可以减少第一图像中可能出现的模糊。
在一些实施例中,权重子单元730可以被配置为基于差异指标Di',获取函数(6)的一个或以上参数。例如,权重子单元730可以基于差异指标Di'和阈值T,确定参数coe1,k、coe2,k和coe3,k。当Di'>T时,参数coe1,k、coe2,k和coe3,k可以具有第一组值(例如,40、50和64);否则,参数coe1,k、coe2,k和coe3,k可以具有第二组值(例如,10、35和64)。
在一些实施例中,阈值T可以是预设值(例如,20、30、40)。当K次迭代的多次迭代使用一个参考参数确定权重时,可以针对不同的迭代固定或改变阈值T。
在一些实施例中,权重子单元730可以基于亮度指标Li确定阈值T,以适应不同亮度的局部区域。例如,如果Li小于或等于第一阈值(例如,8或任何其他适当的值),阈值T可以具有第一数值(例如,4);如果Li大于或等于第二阈值(例如,255或任何其他适当的值),阈值T可以具有第二数值(例如,40);如果Li在第一阈值和第二阈值之间,则权重子单元730可以通过线性插值(例如,类似于函数(8))等方式获取阈值T的值。当K次迭代的多次迭代使用一个参考参数确定权重时,可以为不同的迭代,固定或改变阈值的第一数值和第二数值。
在840中,更新子单元740可以基于高频分量V1,i_h、V2,i_h、以及与像素P1,i和P2,i相关的权重,计算像素P1,i的更新后的高频分量V1,i_h’。当权重的总和等于1时,更新子单元740可以计算高频分量V1,i_h和V2,i_h的加权和,作为更新后的高频分量V1,i_h'。或者,当权重的总和不等于1时,更新子单元740可以计算高频分量V1,i_h和V1,i_h的加权平均值,作为更新后的高频分量V1,i_h'。
例如,通过函数(6)和函数(7),权重子单元730可以获取与像素P1,i和像素P2,i相关的权重W1,i和权重W2,i。当W1,i+W2,i=1时,更新子单元740可以通过函数(9)计算更新后的高频分量V1,i_h’,该函数(9)可以表示为:
在850中,输出值子单元750可以计算输出值Oi,用于,例如替换像素P1,i的值V1,i。输出值子单元750可以基于添加的更新后的高频分量V1,i_h’和像素P1,i的低频分量V1,i_l,计算输出值Oi。例如,输出值子单元750可以通过函数(10)计算输出值,该函数(10)可以表示为:
Oi=V′1,i_h+V1,i_l 函数(10)
由于像素值的高频分量受噪声的影响更大,通过修改像素值的高频分量,保留其低频分量,可以进一步增强降噪效果。
应当注意,上述过程800的描述仅用于演示目的,而不是用于限制本申请的范围。可以理解的是,在学习本申请的主要概念之后,本领域普通技能的人可以以不可创建的方式改变过程800。例如,上面的操作可以以与图4所示的顺序的顺序来实现。8。可以将一个或以上可选操作添加到流程图中。可以分割或组合一个或以上操作。所有这些修改都在本申请的范围内。
在一些实施例中,操作830和840可以组合为单个操作。权重子单元730可以被移除或集成到更新子单元740中。可以将函数(6),(7)和(9)组合为一个组合函数,该组合函数可以直接输出像素的更新后的高频分量,而无需分别获取与像素相关的权重。例如,组合的功能可以表示为函数(11)到(14)的组合:
图9是根据本申请的一些实施例所示的由拜耳滤波器覆盖的图像传感器生成原始数字视频流的示例性过程900的流程图。在一些实施例中,图6所示的过程600(通过过程800实现操作660)可以与图9所示的过程900结合。过程900可以由图像处理模块500执行(例如,由相机110的图像处理电路114实现),以减少原始数字视频流的帧中的噪声。
可以结合图10至15,描述过程900。图10至15是根据本申请的一些实施例所示的图9所示的过程的示意图。
在一些实施例中,处理模块500可以由至少两个处理核来实现。至少两个处理核可以并行地执行过程900,以同时处理对应数量的块。在本实施例中,第一图像的块可以是非重叠的。
过程900可以包括三次迭代(K=3),用于在第一图像中处理13×13的块(例如,图10中的块1010)。出于示例目的,可以结合图10至图15描述过程900。
在910中,图像处理区域单元510可以在原始数字视频流的第f帧Ff中,读取待处理的13×13的块的图像数据,其中,f可以是大于0的正整数。帧Ff可以是拜耳图像。图像模块310可以从,例如,图像传感器电路113,输出电路115,网络130,RAM240或存储设备220等,检索图像数据。
在920中,图像模块310可以检测帧Ff是否是第一帧F1(即,是否f=1)。在检测到帧Ff是第一帧F1时,图像模块310可以触发操作970,以在没有处理的情况下输出图像数据,并将图像数据存储在存储设备925中(例如,RAM240,存储设备220,处理器210的缓存)。所有块的存储图像数据可以形成完整的帧F1。在检测到帧Ff不是第一帧F1时,图像模块310可以从存储设备925检索与待处理的块对应的帧Ff-1的图像数据(第二图像),并触发操作930,以启动块的第一次迭代(迭代I)。图像处理区域单元510可以将整个13×13的块确定为迭代I中的图像处理区域R1。
在930中,第一检测单元570可以检测图像处理区域R1的处理是否完成。当检测到图像处理区域R1的处理完成时,第一检测单元570可以触发操作938,以启动块的第二次迭代(迭代II)。当检测到图像处理区域R1的处理未完成时,如图10所示,第一检测单元570可以使窗口区域单元520运行5×5的滑动窗口,确定窗口区域Wi。i可以是1至迭代I中确定的窗口区域的总数之间的正整数。
例如,在迭代I中,首次确定窗口区域Wi,窗口区域单元520可以在图像处理区域R1中确定窗口区域Wi(例如,图10中的窗口区域1020)。窗口区域Wi可以对应于迭代I中的5×5的滑动窗口的初始位置。然后,在下一次确定窗口区域时,窗口区域单元520可以将滑动窗口移动到第二位置,并确定与滑动窗口第二位置对应的窗口区域W2(例如,图10中的窗口区域1021),以此类推。
在设置窗口区域Wi之后,第一像素块单元530可以在第一图像中读取被窗口区域Wi覆盖的像素块B1,i的图像数据,第二像素块单元540可以在第二图像中读取与像素块B1,i对应的像素块B2,i的图像数据。像素块B1,i可以具有中心像素P1,i(例如,窗口区域1020的像素1030),并且像素块B2,i可以具有与像素P1,i对应的中心像素P2,i。像素P1,i可以是窗口区域Wi中待修改的像素。
在931中,差异指示单元550可以计算差异指标Di,所述差异指标Di表征像素块B1,i和像素块B2,i之间的差异的。差异指示单元550可以基于像素块B1,i和像素块B2,i的绿色像素,计算差异指标:
其中,是像素块B1,i的绿色像素的像素值的平均值,和/>是像素块B2,i的绿色像素的像素值的平均值。
由于不同的像素块可以有不同颜色阵列的结构,可以采用不同的函数,计算绿色像素的像素值的平均值(例如,和/>)。图11至14示出了笛卡尔坐标系,用于描述5×5的像素块中具有不同颜色的中心像素的像素位置。如图11和图12所示,对于具有绿色中心像素P(2,2)的像素块,像素块的绿色像素可以满足(w+h)%2=0(即,w及h的和是2的整数倍),其中,w及h为整数,表示的像素在笛卡尔坐标系中对应于像素块的坐标。差异指示单元550可以通过以下方式计算像素块中绿色像素的像素值的平均值/>
其中,Vw,h是具有坐标(W,H)的像素的像素值。且,如图13和14所示,对于具有红色/蓝色中心像素P(2,2)的像素块,像素块的绿色像素可以满足(w+h)%2=1(即,w及h的和不是2的整数倍)。差异指示单元550可以通过以下方式计算像素块中绿色像素的像素值的平均值
再次参考图9,在932中,低频分量子单元710可以获取像素P1,i的低频分量V1,i_l和像素P2,i的低频分量V2,i_l。低频分量子单元710可以计算像素块B1,i中具有颜色的像素P1,i的像素值的平均值以及像素块B2,i中具有相同颜色的像素的像素值的平均值/>作为低频分量V2,i_l。在一些实施例中,低频分量子单元710可以仅计算/>并使用/>作为低频分量V1,i_l和V2,i_l。
由于不同的像素块可以具有不同的色彩阵列结构,可以采用不同的函数计算具有颜色的中心像素(例如,P1,i和P2,i)的像素值的平均值(例如,/>和/>)。如图13和14所示,对于具有红色/蓝色的中心像素P(2,2)的像素块,像素块的红色/蓝色像素可以满足w%2=0和h%2=0(即,w和h都是2的整数倍),其中,w和h表示像素在笛卡尔坐标系中对应于像素块的坐标。低频分量子单元710可以计算平均值/>
其中,Vw,h是具有坐标(w,h)的像素的像素值。且,如图11和12所示,对于具有绿色中心像素P(2,2)的像素块,像素块中的绿色像素可以满足(w+h)%2=0。低频分量子单元710可以计算平均值
函数(19)类似于函数(16)。在一些实施例中,当像素P1,i和P2,i是绿色像素时,低频分量子单元710可以检索在操作931中计算的和/>分别作为低频分量V1,i_l和V2,i_l。
在933中,高频分量子单元720可以获取像素P1,i的高频分量V1,i_h和像素P2,i的高频分量V2,i_h。高频分量子单元720可以使用函数(4)和(5),获取高频分量V1,i_h和V2,i_h。
在934中,权重子单元730可以使用函数(8)(k=1),调整函数(6)的参数d1,1、d2,1、d3,1、和d4,1。权重子单元730可以检索在操作931得到的平均值或低频分量V1,i_l,作为函数(8)中使用的亮度指标Li。在迭代I中,参数d1,1、d2,1、d3,1、和d4,1的预设值an,1可以分别为0、2、2、4,以及参数d1,1、d2,1、d3,1、和d4,1的预设值bn,1可以分别为8、40、40、72。
值得注意的,操作931至934可以以任何顺序执行,并且操作931至934中的一个或以上可以组合或分开。例如,操作932可以在操作931之前执行,可以与操作931并行执行,或者在操作931之后执行。
在935中,权重子单元730可以使用函数(6)和函数(7)(k=1),获取与像素P1,i相关的权重w1,i以及与像素P2,i相关的权重w2,i。在迭代I中,参数coe1,1、coe2,1、coe3,1和C1,可以分别为4、25、60和64。通过函数(6)和函数(7),权重子单元730可以利用操作931获得的差异指标Di、和操作934获得的参数d1,1、d2,1、d3,1、和d4,1,得到权重w1,i和w1,i。
在936中,更新子单元740可以基于操作935中获得的w1,i和w1,i、和操作933中使用函数(9)获得的高频分量V1,i_h和V2,i_h,获取像素P1,i的更新后的高频分量V′1,i_h。
在一些实施例中,可以将操作935和936合并为单个操作。更新子单元740可以使用函数(11)至(14),获得像素P1,i的更新后的高频分量V′1,i_h。
在937中,输出值子单元750可以修改像素P1,i。输出值子单元750可以基于操作936中获得的更新后的高频分量V′1,i_h、和操作932中使用函数(10)获得的低频分量V1,i_l,得到输出值Oi,然后使用输出值Oi替换像素P1,i的值V1,i。
在操作937之后,可以重新执行操作930,以检测图像处理区域R1的处理是否完成,并根据检测结果执行操作。在图像处理区域R1的处理完成之前,可以针对基于滑动窗口确定的每个窗口区域,重复执行操作930至937。由于所有窗口区域在图像处理区域R1内,只修改了窗口区域的中心像素,因此,在完成13×13的图像处理区域R1的处理之后,只修改了图像处理区域中的一部分像素。修改后的像素可以在图像处理区域R1中构成9×9的已处理区域(例如,图10和15所示的区域1040)。
当图像处理区域R1的处理完成时,可以触发执行操作938,以启动第二迭代(迭代II),用于处理块。在938中,图像处理区域单元510可以将9×9的已处理区域1040确定为图像处理区域R2。
可以对图像处理区域执行第二次迭代(迭代II)。迭代II的操作940至948可以类似于迭代I的操作930至938。在一些实施例中,用于修改已处理区域R2中像素的参数,可能与用于修改已处理区域R1中像素的参数不同。
在940中,第一检测单元570可以检测图像处理区域R2的处理是否完成。在检测到图像处理区域R2的处理完成时,第一检测单元570可以触发执行操作948,以启动第三次迭代(迭代III),用于处理块。当检测到图像处理区域R2的处理未完成时,第一检测单元570可以使窗口区域单元520通过运行5×5的滑动窗口,确定如图14所示的窗口区域Wj。j可以是1和迭代II中的窗口区域的总数之间的正整数。
例如,在迭代II中,首次确定窗口区域Wj,窗口区域单元520可以在图像处理区域R1内确定窗口区域W1(例如,图15中的窗口区域1420)。窗口区域W1可以对应迭代II中5×5的滑动窗口的初始位置。然后,在下一次确定窗口区域时,窗口区域单元520可以将滑动窗口移动到第二位置,并确定对应于滑动窗口的第二位置的窗口区域W2(例如,图15中的窗口区域1421),以此类推。
在确定窗口区域Wj之后,第一像素块单元530可以在第一图像中读取被窗口区域Wj覆盖的像素块B1,j的图像数据,第二像素块单元540可以在第二图像中读取与像素块B1,j对应的像素块B2,j的图像数据。像素块B1,j可以具有中心像素P1,j(例如,窗口区域1420的像素1430),并且像素块B2,j可以具有与像素P1,j对应的中心像素P2,j。像素P1,j可以是窗口区域Wj中待修改的像素。
在941中,差异指示单元550可以计算差异指标Dj,差异指标Dj指示像素块B1,j和像素块B2,j之间的差异。差异指示单元550可以通过以下计算差异指标Dj:
其中,是像素块B1,j中绿色像素的像素值的平均值,并且/>是像素块B2,j中绿色像素的像素值的平均值。
在942中,低频分量子单元710可以获取像素P1,j的低频分量V1,j_l和像素P2,j的低频分量V2,j_l。
在943中,高频分量子单元720可以获取像素P1,j的高频分量V1,j_h和像素P2,j的高频分量V2,j_h。
操作941至943的描述可以类似于操作931至933。
在944中,权重子单元730可以使用该函数(8)(k=2),调整函数(6)中参数d1,2、d2,2、d3,2、和d4,2。权重子单元730可以检索在操作931中获得的平均值或低频分量V1,j_l,作为函数(8)中使用的亮度指标Lj。在迭代II中,参数d1,2、d2,2、d3,2、和d4,2的预设值an,2可以分别是0、4、4、6,以及参数d1,2、d2,2、d3,2、和d4,2的预设值bn,2可以分别是12、35、50、80。
值得注意的,操作941至944可以以任何顺序执行,并且操作941至944中的一个或以上可以组合或分开。
在945中,权重子单元730可以使用函数(6)和函数(7)(k=2),获取与像素P1,j相关的权重w1,j以及与像素P2,j相关的权重w2,j。在迭代II中,参数coe1,2、coe2,2、coe3,2和C2可以分别是10、35、60和64。权重子单元730可以通过函数(6)和函数(7),基于在操作941中获得的差异指标Dj和操作944中获得的参数d1,2、d2,2、d3,2、和d4,2,获得权重w1,j和w2,j。
在946中,更新子单元740可以基于操作945获得的权重,和操作943中使用函数(9)获得的高频分量,获得像素的更新后的高频分量。
在一些实施例中,操作945和946可以合并为单个操作。更新子单元740可以使用函数(11)至(14),获得像素P1,j的更新后的高频分量V1′,j_h。
在947中,输出值子单元750可以修改像素P1,j。输出值子单元750可以基于在操作946中获得的更新后的高频分量V1′,j_h和操作942中使用函数(10)获得的低频分量V1,j_l,获得输出值Oj,然后使用输出值Oj替换像素P1,j的值V1,j。
在操作947之后,可以重新执行操作940,以检测图像处理区域R2的处理是否完成,并根据检测结果执行操作。在图像处理区域R2的处理完成之前,可以针对滑动窗口确定的每个窗口区域,重复执行操作940至947。在9×9的图像处理区域R2的处理完成之后,修改后的像素可以构成5×5的已处理区域(例如,图15所示的区域1440)。
当完成图像处理区域R2的处理时,可以触发执行操作938,以启动第三次迭代(迭代III),用于处理块。在938中,图像处理区域单元510可以将5×5的已处理区域设置为图像处理区域R3。
可以在图像处理区域R3上执行第三次迭代(迭代III)。由于图像处理区域R3只能提供一个窗口区域,因此操作950至957只能执行一次。尽管未在图9中示出,在一些实施例中,第一检测单元570也可以在迭代(III)中,检测图像处理区域R3的处理是否完成,并且执行对应的操作(例如,类似于操作930和940)。
窗口区域单元520可以将整个的图像处理区域R3(例如,区域1440)确定为唯一的窗口区域We。在一些实施例中,窗口区域单元520也可以通过运行5×5的滑动窗口确定窗口区域We,其可以在图像处理区域R3上只有一个位置。在确定窗口区域We之后,第一像素块单元530可以在第一图像中读取被窗口区域We覆盖的像素块B1,e的图像数据,第二像素块单元540可以在第二图像中读取与像素块B1,e对应像素块B2,e的图像数据。像素块B1,e可以具有中心像素P1,e(例如,图15中所示的像素1450),并且像素块B2,e可以具有与像素P1,e对应的中心像素P2,e。像素P1,e可以是窗口区域We中待修改的像素。
迭代III中的操作951至958可以类似于迭代I中的操作931至938。在一些实施例中,可以改变用于修改已处理区域R3中的像素P1,e的一些参数。在迭代III中可以进一步引入操作960,以进一步基于参考差异指标De′修改像素P1,e。在帧Ff-1上执行过程900的过程中,可以获得用于修改像素P2,e的参考差异指标De′。差异指标De′可以存储在存储设备950中(例如,RAM240,存储设备220,处理器210的缓存)。
在一些实施例中,存储设备950和存储设备925可以是相同的双数据速率(DDR)内存中的不同存储单元。
在951中,差异指示单元550可以计算差异指标De,所述差异指标De表征像素块B1,e和像素块B2,e之间的差异的。差异指示单元550可以通过以下计算差异指标De:
其中,是像素块B1,e的绿色像素的像素值的平均值,并且/>是像素块B2,e的绿色像素的像素值的平均值。获得的差异指标De可以存储在存储设备960中,并作为参考参数,以处理数字视频流的帧Ff+1(如果有)。
在952中,低频分量子单元710可以获取像素P1,e的低频分量V1,e_l和像素P2,e的低频分量V2,e_l。
在953中,高频分量子单元720可以获取像素P1,e的高频分量V1,e_h和像素P2,e的高频分量V2,e_h。
操作952和953的描述可以类似于操作932和933的描述。
在954中,权重子单元730可以使用函数(8)(k=3),调整函数(6)中的参数d1,3、d2,3、d3,3和d4,3。权重子单元730可以检索在操作951中获得的平均值或低频分量V1,e_l,作为函数(8)中使用的亮度指标Le。在迭代III中,参数d1,3、d2,3、d3,3和d4,3的预设值an,3可以分别为0、4、4、6,以及参数d1,3、d2,3、d3,3和d4,3的预设值bn,2可以分别为20、40、64、100。
在950中,权重子单元730可以检索参考差异指标De′,以调整函数(6)(k=3)中的参数coe1,3、coe2,3和coe3,3。例如,权重子单元730可以首先获得阈值Te,然后基于参考异指标De′和阈值Te,确定参数coe1,3、coe2,3和coe3,3。
权重子单元730可以基于操作954中使用的亮度指标Le确定阈值Te。当Te小于或等于8(或任何其他适当值)时,阈值Te可能为4;当Te大于或等于255(或任何其他适当值)时,阈值Te可能为40;当在8和255之间时,权重子单元730可以通过线性插值(例如,类似于函数(8)),获得阈值Te。
当De′>T时,权重子单元730可以分别确定参数coe1,3、coe2,3和coe3,3,如40、50和60;否则,权重子单元730可以分别确定参数coe1,3、coe2,3和coe3,3,如10,35和64。
应当注意,可以以任何顺序执行操作950至954,并且可以组合或分割操作950至954中的一个或以上。
在955中,权重子单元730可以使用函数(6)和函数(7)(k=3),得到与像素P1,e相关的权重w1,e以及与像素P2,e相关的权重w2,e。在迭代III中,参数C3可以是64。权重子单元730可以通过函数(6)和函数(7),基于在操作950中得到的参数coe1,3、coe2,3和coe3,3,在操作951中得到的差异指标De,以及在操作954中得到的参数d1,3、d2,3、d3,3和d4,3,获得权重w1,e和w2,e。
在956中,更新子单元740可以使用函数(9),基于操作955中得到的权重w1,e和w2,e、操作953中得到的高频分量V1,e_h和V2,e_h,获得像素P1,e的更新后的高频分量V1′,e_h。
在一些实施例中,操作955和956可以作为单个操作组合。更新子单元740可以使用函数(11)至(14),获得像素P1,e的更新的高频分量V1′,e_h。
在957中,输出值子单元750可以修改像素P1,e。输出值子单元750可以基于在操作956中获得的更新后的高频分量V1′,e_h和操作952中使用函数(10)获得的低频分量V1,e_l,得到输出值Oe,然后使用输出值Oe替换像素P1,e的值V1,e。
在操作947之后,可以完成图像处理区域R3的处理。同时,也完成了整个13×13的块的处理。
值得注意的,尽管在上述描述中未提及且未在图9中示出,每次第一检测单元570检测到对应图像处理区域(例如,R1、R2和R3)的处理完成后,第二检测单元580可以检测整个块的处理是否完成。在检测到整个块的处理完成之后,第二检测单元580可以触发执行操作970,以输出已处理的块的图像数据。输出的图像数据也可以存储在存储设备925中。当检测到整个块的处理未完成时,第二检测单元580可以启动下一次迭代,使图像处理区域单元510确定对应的图像处理区域。如图9所示,第二检测单元580可以检测是否总共进行了三次迭代,以确定整个块的处理是否完成。
可以注意到,过程900仅用于演示目的而不是限制性的。过程900中提供的参数可以基于实际需求变化。例如,块的大小可以大于13×13,并且执行迭代的次数可以大于三个。作为另一示例,用于获得权重的预设参数,例如,coe1,1、C1、an,1和bn,1可以调整,以实现更好的性能。还可以将一个或以上附加操作引入流程900中。例如,迭代I和迭代II还可以包括类似于操作950的操作,并且可以进一步基于用于处理帧Ff-1中的对应像素的差异指标(参考差异指标),确定用于处理帧Ff中的像素对应的权重。参考差异指标可以是用于处理帧Ff-1中的对应像素的最后一个或最新的差异指标。
如此描述了基本概念,对于本领域技术人员来说,在读取本详细的公开内容之后可能是显而易见的,所以前述详细的公开内容可以仅作为示例的方式呈现并且可能不是限制性的。虽然此处并未明确说明,但本领域的普通技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。例如,术语“一个实施例”,“一个实施例”和/或“一些实施例”的意思是,结合该实施例描述的特定特征,结构或特征可以包括在本申请的至少一个实施例中。因此,可以强调,应该理解,在该说明书的各种部分中的两个或更多个引用“一个实施例”或“一个实施例”或“替代实施例”不一定是全部参考同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改进。因此,本申请的各方面可以完全实现硬件,完全软件(包括固件,驻留软件,微码等)或组合软件和硬件实现,这些软件和硬件实现在这里可以所有通常被称为“单元”、“模块”或“系统”。此外,本申请的各方面可以采用体现在一个或以上计算机可读介质中的计算机程序产品的形式,其中具有其上体现的计算机可读程序代码。
计算机可读信号介质可以包含一个内含有计算机程序代码的传播数据信号,例如,在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合。计算机可读信号介质可以是任何计算机可读介质,其可以不是计算机可读存储介质,并且可以通过指令执行系统,装置或设备进行通信,传播或传输程序以与指令执行或连接。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF等,或任何上述介质的组合。
用于对本申请的各方面进行操作的计算机程序代码可以以一种或多种编程语言的任何组合写入,包括面向对象的编程语言,例如Java,Scala,Smalltalk,埃菲尔,玉器,祖母绿,C,C程序代码可以在用户的计算机上完全执行用户计算机,作为独立软件包,部分在用户的计算机上,部分在远程计算机上或完全位于远程计算机或服务器上。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以将连接到外部计算机(用于示例,通过互联网使用因特网服务提供商)或在云计算环境中或作为服务(如服务)(SaaS)提供的服务。
此外,所附处理元件或序列的顺序或数量,字母或其他名称的顺序可以不旨在不旨在将索赔的过程和方法限制为任何顺序,除非可以在权利要求中指定。尽管上面的公开内容通过各种示例讨论了可能当前被认为是本申请的各种有用实施例,但是可以理解,这些细节可以仅用于该目的,并且所附权利要求不限于此相反,所公开的实施例旨在涵盖在所公开实施例的精神和范围内的修改和等效布置。例如,尽管上述各种组件的实现可以体现在硬件设备中,但是它也可以仅实现为仅软件解决方案,例如,在现有服务器或移动设备上的安装。
类似地,应当理解,在本申请的实施例的前述描述中,有时在单个实施例,图中或其描述中分组各种特征,以便简化本申请,以便在理解一个或以上中各种发明实施例。然而,这种公开内容的方法可以不被解释为反映所要求保护的主题需要比在每个权利要求中明确所述特征更多的特征的意图。相反,发明的主体应具备比上述单一实施例更少的特征。
在一些实施例中,表达用于描述和索取应用的某些实施例的数量或性质的数字应理解为在某些情况下由术语“约”的“近似”或“基本上”的某些情况进行修改。例如,除非另有说明,否则“近似”,“近似”或“大致”或“基本上”可以指示所描述的值的±20%变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
本文可以通过该参考文章,专利申请,专利申请的专利申请,专利申请的出版物和其他材料,例如文章,书籍,规格,出版物,文献,事物和/等。对于所有目的,除了与其相关的任何起诉文件历史,任何可能与本文件中可能不一致或与本文件冲突的历史记录,或者任何可能对现在或更高版本的最广泛的影响可能有限制影响与本文件相关联。举例来说,如果在描述、定义和/或与任何所结合的材料相关联的术语的使用和与本文件相关联的术语之间存在任何不一致或冲突,则描述、定义和/或在本文件中使用的术语以本文件为准。
最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其他的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。
Claims (23)
1.一种图像处理系统,所述系统包括:
存储介质,存储一组指令集;和
与所述存储介质通信的至少一个处理器,当执行所述指令集时,所述至少一个处理器执行:
在第一图像中选择一个或以上的像素块,所述第一图像是视频帧;
对于所述一个或以上的像素块中的每个,基于第二图像对像素块内的图像处理区域执行K次迭代的图像处理操作,每次迭代用于减小所述图像处理区域的大小,其中,K为大于2的整数,所述第二图像是所述第一图像的前一帧。
2.如权利要求1所述的系统,其中:
在所述K次迭代的每次迭代中,所述图像处理操作用于修改所述图像处理区域中的一个或以上的像素的像素值,一个或以上的修改后的像素构成已处理区域,所述已处理区域的大小小于对应的所述图像处理区域的大小;以及
所述至少一个处理器进一步执行:
将当前迭代的所述已处理区域确定为下一次迭代的所述图像处理区域。
3.如权利要求1所述的系统,其中,为了对所述图像处理区域执行所述图像处理操作,在所述K次迭代的每次迭代中,所述至少一个处理器执行:
通过在所述图像处理区域上运行滑动窗口,确定一个或以上的窗口区域,其中,所述一个或以上的窗口区域中的每个与所述第一图像的第一像素块对应,所述第一像素块包括第一感兴趣像素;以及
确定所述一个或以上的窗口区域中的每个的输出值,以修改所述第一感兴趣像素。
4.如权利要求3所述的系统,其中,为了确定所述一个或以上的窗口区域中的每个的输出值,所述至少一个处理器执行:
从所述第二图像中获取与所述第一像素块对应的第二像素块,所述第二像素块包括与所述第一感兴趣像素对应的第二感兴趣像素;
计算差异指标,所述差异指标表征所述第一像素块与所述第二像素块之间的差异;以及
至少基于所述差异指标、所述第一感兴趣像素的像素值、以及所述第二感兴趣像素的像素值,计算所述输出值。
5.如权利要求4所述的系统,其中:
所述第一图像和所述第二图像根据色彩滤镜矩阵进行格式化。
6.如权利要求5所述的系统,还包括:
被所述色彩滤镜矩阵覆盖的图像传感器,其中,所述第一图像和所述第二图像由所述图像传感器生成。
7.如权利要求5所述的系统,其中,为了计算所述差异指标,所述至少一个处理器执行:
计算所述第一像素块中具有预设颜色的像素的像素值的第一平均值;
确定所述第二像素块中具有所述预设颜色的像素的像素值的第二平均值;以及
至少基于所述第一平均值和所述第二平均值之间的差异,确定所述差异指标。
8.如权利要求4所述的系统,其中,为了计算所述输出值,所述至少一个处理器执行:
获取所述第一感兴趣像素的第一高频分量和所述第一感兴趣像素的第一低频分量;
获取所述第二感兴趣像素的第二高频分量;
至少基于差异指标、所述第一高频分量以及所述第二高频分量,计算所述第一感兴趣像素的更新后的高频分量;以及
基于所述第一感兴趣像素的更新后的高频分量和所述第一低频分量,得到所述输出值。
9.如权利要求8所述的系统,其中,为了计算所述第一感兴趣像素的更新后的高频分量,所述至少一个处理器执行:
至少基于所述差异指标,得到与所述第一感兴趣像素和所述第二感兴趣像素相关的权重;以及
计算所述第一感兴趣像素的初始高频分量和所述第二感兴趣像素的高频分量的加权和或加权平均值,作为所述更新后的高频分量。
10.如权利要求9所述的系统,其中,在所述K次迭代的至少一次迭代中,对于所述一个或以上的窗口区域中的每个,至少一个处理器进一步执行:
确定表征所述第一像素块的亮度的亮度指标,其中,进一步根据所述亮度指标确定第一权重和第二权重。
11.如权利要求10所述的系统,其中:
通过处理第三图像获取所述第二图像;
在所述K次迭代的至少一次迭代中,对于所述一个或以上的窗口区域中的每个,进一步基于与所述第二感兴趣像素相关的参考参数,确定所述第一权重和所述第二权重;以及
所述至少一个处理器进一步执行,在所述K次迭代的第k次迭代中,针对所述一个或以上的窗口区域中的每个,将所述差异指标存储为与所述第一感兴趣像素相关的参考参数。
12.一种图像处理方法,在图像处理设备上实现,所述方法包括:
通过所述图像处理设备,在第一图像中选择一个或以上的像素块,所述第一图像是视频帧;
通过所述图像处理设备,对所述一个或以上的像素块中的每个,基于第二图像对像素块内的图像处理区域执行K次迭代的图像处理操作,每次迭代用于减小所述图像处理区域的大小,其中K为大于2的整数,所述第二图像是所述第一图像的前一帧。
13.如权利要求12所述的方法,其中:
在所述K次迭代的每次迭代中,所述图像处理操作用于修改所述图像处理区域中的一个或以上的像素的像素值,一个或以上的修改后的像素构成已处理区域,所述已处理区域的大小小于对应的所述图像处理区域的大小;以及
该方法还包括:
将当前迭代的已处理区域确定为下一次迭代的所述图像处理区域。
14.如权利要求12所述的方法,其中,在所述K次迭代的每次迭代中,对所述图像处理区域执行所述图像处理操作,包括:
通过在所述图像处理区域上运行滑动窗口,确定一个或以上的窗口区域,其中,所述一个或以上的窗口区域中的每个与所述第一图像的第一像素块对应,所述第一像素块包括第一感兴趣像素;以及
确定所述一个或以上的窗口区域中的每个的输出值,以修改所述第一感兴趣像素。
15.如权利要求14所述的方法,其中,所述确定所述一个或以上的窗口区域中的每个的输出值,包括:
从所述第二图像中获取与所述第一像素块对应的第二像素块,所述第二像素块包括与所述第一感兴趣像素对应的第二感兴趣像素;
计算差异指标,所述差异指标表征所述第一像素块与所述第二像素块之间的差异;以及
至少基于所述差异指标、所述第一感兴趣像素的像素值、以及所述第二感兴趣像素的像素值,计算所述输出值。
16.如权利要求15所述的方法,其中,
所述第一图像和所述第二图像根据色彩滤镜矩阵进行格式化。
17.如权利要求16所述的方法,进一步包括:
基于被色彩滤镜矩阵覆盖的图像传感器,生成所述第一图像和所述第二图像。
18.如权利要求16所述的方法,其中,计算所述差异指标,包括:
计算所述第一像素块中具有预设颜色的像素的像素值的第一平均值;
确定所述第二像素块中具有所述预设颜色的像素的像素值的第二平均值;以及
至少基于所述第一平均值和所述第二平均值之间的差异,确定所述差异指标。
19.如权利要求15所述的方法,其中,计算所述输出值,包括:
获取所述第一感兴趣像素的第一高频分量和所述第一感兴趣像素的第一低频分量;
获得所述第二感兴趣像素的第二高频分量;
至少基于所述差异指标、所述第一高频分量以及所述第二高频分量,计算所述第一感兴趣像素的更新后的高频分量;以及
基于所述第一感兴趣像素的更新后的高频分量和所述第一低频分量,得到所述输出值。
20.如权利要求19所述的方法,其中,所述计算所述第一感兴趣像素的更新后的高频分量,包括:
至少基于所述差异指标,得到与所述第一感兴趣像素和所述第二感兴趣像素相关的权重;以及
计算所述第一感兴趣像素的初始高频分量和所述第二感兴趣像素的高频分量的加权和或加权平均值,作为所述更新后的高频分量。
21.如权利要求20所述的方法,还包括:
在所述K次迭代的至少一次迭代中,对于所述一个或以上的窗口区域中的每个,
确定表征所述第一像素块的亮度的亮度指标,其中,进一步根据所述亮度指标确定第一权重和第二权重。
22.如权利要求21所述的方法,其中:
通过处理第三图像获取所述第二图像;
在所述K次迭代的至少一次迭代中,对于所述一个或以上的窗口区域中的每个,进一步基于与所述第二感兴趣像素相关的参考参数,确定所述第一权重和所述第二权重;以及
所述方法还包括:在所述K次迭代的第k次迭代中,针对所述一个或以上的窗口区域中的每个,将所述差异指标存储为与所述第一感兴趣像素相关的参考参数。
23.一种非暂时性计算机可读介质,包括用于处理图像的至少一组指令集,其中,当执行电子设备的逻辑电路时,所述至少一组指令集用于指示所述逻辑电路执行:
在第一图像中选择一个或以上的像素块,所述第一图像是视频帧;
对所述一个或以上的像素块中的每个,基于第二图像对像素块内的图像处理区域执行K次迭代的图像处理操作,每次迭代用于减小所述图像处理区域的大小,其中K为大于2的整数,所述第二图像是所述第一图像的前一帧。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/125755 WO2020133462A1 (en) | 2018-12-29 | 2018-12-29 | Methods and systems for image processing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113228097A CN113228097A (zh) | 2021-08-06 |
CN113228097B true CN113228097B (zh) | 2024-02-02 |
Family
ID=71128287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880100471.6A Active CN113228097B (zh) | 2018-12-29 | 2018-12-29 | 图像处理方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210327023A1 (zh) |
EP (1) | EP3881280B1 (zh) |
CN (1) | CN113228097B (zh) |
WO (1) | WO2020133462A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113473138B (zh) * | 2021-06-30 | 2024-04-05 | 杭州海康威视数字技术股份有限公司 | 视频帧编码方法、装置、电子设备及存储介质 |
CN116563279B (zh) * | 2023-07-07 | 2023-09-19 | 山东德源电力科技股份有限公司 | 基于计算机视觉的量测开关检测方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103679641A (zh) * | 2012-09-26 | 2014-03-26 | 株式会社理光 | 深度图像增强方法和装置 |
CN104240211A (zh) * | 2014-08-06 | 2014-12-24 | 中国船舶重工集团公司第七0九研究所 | 用于视频拼接的图像亮度与色彩均衡方法及系统 |
CN105027161A (zh) * | 2013-02-28 | 2015-11-04 | 日本电气株式会社 | 图像处理方法和图像处理设备 |
AU2015258162A1 (en) * | 2012-02-29 | 2015-12-03 | Sony Corporation | Image Processing Device and Method |
CN105814873A (zh) * | 2013-12-11 | 2016-07-27 | 来特荣国际有限公司 | 面向tv影像的加速超分辨率处理方法、及基于该方法的面向tv影像的加速超分辨率处理装置、第一~第六加速超分辨率处理程序、以及第一~第二存储介质 |
CN106663311A (zh) * | 2014-08-06 | 2017-05-10 | 谷歌公司 | 用于增加图像的位深的系统和方法 |
CN106897983A (zh) * | 2016-12-30 | 2017-06-27 | 青岛海信电器股份有限公司 | 一种多帧图像集合的处理方法和图像处理装置 |
CN107564018A (zh) * | 2017-08-30 | 2018-01-09 | 北京航空航天大学 | 一种利用改进迭代算法提取目标图像的方法 |
CN107909058A (zh) * | 2017-11-30 | 2018-04-13 | 广东欧珀移动通信有限公司 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
CN108605100A (zh) * | 2016-02-17 | 2018-09-28 | 三星电子株式会社 | 用于处理图像的方法和用于支持该方法的电子装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19516742A1 (de) * | 1995-05-06 | 1996-11-07 | Philips Patentverwaltung | Verfahren zur Datenreduktion mittels fraktaler Bildkodierung |
US6968012B1 (en) * | 2000-10-02 | 2005-11-22 | Firepad, Inc. | Methods for encoding digital video for decoding on low performance devices |
WO2007089803A2 (en) * | 2006-01-31 | 2007-08-09 | Thomson Licensing | Methods and apparatus for edge-based spatio-temporal filtering |
WO2008055381A1 (en) * | 2006-11-08 | 2008-05-15 | Intel Corporation | Graphics processor pipelined reduction operations |
JP4725802B2 (ja) * | 2006-12-27 | 2011-07-13 | 富士フイルム株式会社 | 撮影装置、合焦方法および合焦プログラム |
CN103810692B (zh) * | 2012-11-08 | 2016-12-21 | 杭州海康威视数字技术股份有限公司 | 视频监控设备进行视频跟踪的方法及该视频监控设备 |
US20170084007A1 (en) | 2014-05-15 | 2017-03-23 | Wrnch Inc. | Time-space methods and systems for the reduction of video noise |
CN103997592B (zh) * | 2014-05-29 | 2017-08-29 | 广东威创视讯科技股份有限公司 | 视频降噪方法和系统 |
CN107437238B (zh) * | 2016-05-25 | 2020-11-24 | 上海联影医疗科技股份有限公司 | 一种图像分块自适应递归降噪方法及装置 |
CN116566410A (zh) * | 2022-01-28 | 2023-08-08 | 智原微电子(苏州)有限公司 | 接收装置以及基于眼图的控制参数调整方法 |
-
2018
- 2018-12-29 EP EP18945063.8A patent/EP3881280B1/en active Active
- 2018-12-29 CN CN201880100471.6A patent/CN113228097B/zh active Active
- 2018-12-29 WO PCT/CN2018/125755 patent/WO2020133462A1/en unknown
-
2021
- 2021-06-29 US US17/304,945 patent/US20210327023A1/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2015258162A1 (en) * | 2012-02-29 | 2015-12-03 | Sony Corporation | Image Processing Device and Method |
CN103679641A (zh) * | 2012-09-26 | 2014-03-26 | 株式会社理光 | 深度图像增强方法和装置 |
CN105027161A (zh) * | 2013-02-28 | 2015-11-04 | 日本电气株式会社 | 图像处理方法和图像处理设备 |
CN105814873A (zh) * | 2013-12-11 | 2016-07-27 | 来特荣国际有限公司 | 面向tv影像的加速超分辨率处理方法、及基于该方法的面向tv影像的加速超分辨率处理装置、第一~第六加速超分辨率处理程序、以及第一~第二存储介质 |
CN104240211A (zh) * | 2014-08-06 | 2014-12-24 | 中国船舶重工集团公司第七0九研究所 | 用于视频拼接的图像亮度与色彩均衡方法及系统 |
CN106663311A (zh) * | 2014-08-06 | 2017-05-10 | 谷歌公司 | 用于增加图像的位深的系统和方法 |
CN108605100A (zh) * | 2016-02-17 | 2018-09-28 | 三星电子株式会社 | 用于处理图像的方法和用于支持该方法的电子装置 |
CN106897983A (zh) * | 2016-12-30 | 2017-06-27 | 青岛海信电器股份有限公司 | 一种多帧图像集合的处理方法和图像处理装置 |
CN107564018A (zh) * | 2017-08-30 | 2018-01-09 | 北京航空航天大学 | 一种利用改进迭代算法提取目标图像的方法 |
CN107909058A (zh) * | 2017-11-30 | 2018-04-13 | 广东欧珀移动通信有限公司 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
Image enhancement and dynamic range compression using novel intensity-specific stochastic resonance-based parametric image enhancement model;R. Chouhan等;2014 IEEE International Conference on Image Processing (ICIP);第4532-4536页 * |
图像梯度场双区间均衡化的细节增强;丁畅等;电子学报;第45卷(第05期);第1165-1174页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2020133462A1 (en) | 2020-07-02 |
CN113228097A (zh) | 2021-08-06 |
EP3881280B1 (en) | 2023-09-13 |
US20210327023A1 (en) | 2021-10-21 |
EP3881280A1 (en) | 2021-09-22 |
EP3881280A4 (en) | 2021-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220207680A1 (en) | Image Processing Method and Apparatus | |
CN107278314B (zh) | 用于非局部均值图像去噪的装置、移动计算平台和方法 | |
CN112419151B (zh) | 图像退化处理方法、装置、存储介质及电子设备 | |
EP3198848A1 (en) | Non-local means image denoising with detail preservation using self-similarity driven blending | |
JP2016525840A (ja) | 画像アーティファクトを補正するシステム及び方法 | |
CN113168669B (zh) | 图像处理方法、装置、电子设备及可读存储介质 | |
US20190043220A1 (en) | Multi-camera processor with feature matching | |
CN113228097B (zh) | 图像处理方法和系统 | |
WO2019090580A1 (en) | System and method for image dynamic range adjusting | |
WO2022099600A1 (en) | Method and system of image hashing object detection for image processing | |
CN109255774B (zh) | 一种图像融合方法、装置及其设备 | |
CN116438804A (zh) | 帧处理和/或捕获指令系统及技术 | |
CN115461780A (zh) | 基于机器学习的图像调整 | |
CN110717864B (zh) | 一种图像增强方法、装置、终端设备及计算机可读介质 | |
CN113962859A (zh) | 一种全景图生成方法、装置、设备及介质 | |
CN113744159B (zh) | 一种遥感图像去雾方法、装置及电子设备 | |
US10567777B2 (en) | Contrast optimization and local adaptation approach for high dynamic range compression | |
CN110838088A (zh) | 一种基于深度学习的多帧降噪方法、装置及终端设备 | |
CN104954749B (zh) | 一种信息记录方法 | |
CN104883573B (zh) | 一种信号高效处理方法 | |
US8750648B2 (en) | Image processing apparatus and method of processing image | |
US11521300B2 (en) | Edge preserving noise reduction algorithm using inverse exponential function optimization | |
CN115375909A (zh) | 一种图像处理方法及装置 | |
CN115760658A (zh) | 图像处理方法、装置、存储介质及电子设备 | |
GB2593523A (en) | Image data compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |