CN109416829A - 并行计算机视觉和图像缩放架构 - Google Patents
并行计算机视觉和图像缩放架构 Download PDFInfo
- Publication number
- CN109416829A CN109416829A CN201780040395.XA CN201780040395A CN109416829A CN 109416829 A CN109416829 A CN 109416829A CN 201780040395 A CN201780040395 A CN 201780040395A CN 109416829 A CN109416829 A CN 109416829A
- Authority
- CN
- China
- Prior art keywords
- image
- circuit
- luminance picture
- time period
- update
- 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.)
- Granted
Links
- 230000004438 eyesight Effects 0.000 title claims abstract description 66
- 238000012545 processing Methods 0.000 claims description 61
- 238000000034 method Methods 0.000 claims description 42
- 230000008569 process Effects 0.000 claims description 33
- 238000012937 correction Methods 0.000 claims description 22
- 238000001514 detection method Methods 0.000 claims description 21
- 238000003384 imaging method Methods 0.000 claims description 15
- 238000007689 inspection Methods 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 abstract description 10
- 238000003860 storage Methods 0.000 description 45
- 238000001914 filtration Methods 0.000 description 23
- 238000006243 chemical reaction Methods 0.000 description 21
- 230000007547 defect Effects 0.000 description 16
- 238000012952 Resampling Methods 0.000 description 11
- 238000013507 mapping Methods 0.000 description 10
- 241001269238 Data Species 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 230000033001 locomotion Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000000875 corresponding effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000011282 treatment Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 241000238370 Sepia Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000881 depressing effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000005764 inhibitory process Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000000059 patterning Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000003706 image smoothing Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 125000006850 spacer group Chemical group 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000001360 synchronised effect 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
- H04N9/646—Circuits for processing colour signals for image enhancement, e.g. vertical detail restoration, cross-colour elimination, contour correction, chrominance trapping filters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/40—Image enhancement or restoration using histogram techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
- G06T5/92—Dynamic range modification of images or parts thereof based on global image properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/2628—Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation
-
- 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/10—Image acquisition modality
- G06T2207/10024—Color image
-
- 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/20072—Graph-based image processing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
Abstract
本发明的实施方案涉及包括在图像信号处理器中的视觉管道的架构。该架构包括前端部分,该前端部分包括产生更新的亮度图像数据的一对图像信号流水线。视觉管道架构的后端部分从前端部分接收更新的亮度图像,并对更新的亮度图像数据并行地执行缩放和各种计算机视觉操作。后端部分可以对连续缩放的亮度图像重复执行计算机视觉操作的该并行操作,以生成金字塔图像。
Description
背景技术
由图像传感器捕获的图像数据或从其他数据源接收的图像数据通常在进一步处理或消耗之前在图像处理流水线中处理。例如,在提供给诸如视频编码器的后续部件之前,可校正、过滤或以其他方式修改原始图像数据。为了对捕获的图像数据执行校正或增强,可采用各种部件、单元级或模块。
可构造这样的图像处理流水线,使得能够以有利的方式执行对捕获的图像数据的校正或增强,而不消耗其他系统资源。虽然可通过在中央处理单元(CPU)上执行软件程序来执行许多图像处理算法,但是在CPU上执行这些程序将消耗CPU和其他外围资源的大量带宽以及增加功耗。因此,图像处理流水线通常被实现为与CPU分离的硬件部件,并且专用于执行一个或多个图像处理算法。
当处理更传统的图像信号处理算法时,传统的用于处理更复杂的图像信号处理算法的图像信号处理流水线结构常常牺牲性能。可向体系结构添加附加的硬件部件来提高性能,但是会导致更大的设备大小。然而,附加的硬件部件占用大量CPU带宽、增加功耗并增加设备大小。
发明内容
本发明实施方案涉及包括在图像信号处理器中的视觉管道的架构,其中调整大小操作和计算机视觉操作并行执行。所述架构包括前端部分和后端部分。前端部分包括产生当前亮度图像的预处理器和产生更新的亮度图像的缩放器。后端部分从前端部分接收更新的亮度图像数据,并且并行地对更新的亮度图像数据执行缩放和各种计算机视觉操作。后端部分包括一个或多个计算机视觉处理路径,其包括用于进一步缩放更新的亮度图像的缩放器和用于与缩放器执行缩放并行地执行计算机视觉操作的计算机视觉部件。可对由缩放器输出的更新的缩放亮度图像重复执行缩放和计算机视觉的并行操作。
附图说明
图1是根据一个实施方案的电子设备的高级图。
图2是示出根据一个实施方案的电子设备中的部件的框图。
图3是示出根据一个实施方案的使用图像信号处理器实现的图像处理流水线的框图。
图4是示出根据一个实施方案的图3的图像处理流水线的视觉模块的详细视图的框图。
图5示出了根据一个实施方案的用于与图像缩放操作并行地执行计算机视觉操作的流程图。
仅仅出于示例目的,附图描绘以及详细说明描述各种非限定性实施方案。
具体实施方式
现在将详细地参考实施方案,这些实施方案的示例在附图中示出。下面的详细描述中示出许多具体细节,以便提供对各种所描述的实施方案的充分理解。然而,可以在没有这些具体细节的情况下实施所述实施方案。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路和网络,从而不会不必要地使实施方案的各个方面晦涩难懂。
本公开的实施方案涉及用于与图像缩放并行地执行计算机视觉的视觉管道架构。视觉管道架构可包括用于执行预处理的前端电路部分和包括更多的计算机视觉电路和对当前亮度图像并行操作的缩放器电路的后端电路部分。计算机视觉电路可执行诸如生成方向梯度直方图(HOG)数据、卷积操作和关键点检测的操作。通过并行执行调整大小和计算机视觉操作,增强了图像处理性能。
示例性电子设备
本文描述了电子设备、此类设备的用户界面和使用此类设备的相关过程的实施方案。在一些实施方案中,该设备为还包含其他功能诸如个人数字助理PDA和/或音乐播放器功能的便携式通信设备,诸如移动电话。便携式多功能设备的示例性实施方案包括但不限于来自Apple Inc.(Cupertino,California)的设备、iPod设备、Apple设备和设备。可选地使用其他便携式电子设备,诸如可穿戴设备、膝上型电脑或平板电脑。在一些实施方案中,该设备不是便携式通信设备,而是台式计算机或不是为便携式使用而设计的其他计算设备。在一些实施方案中,所公开的电子设备可包括触敏表面(例如,触摸屏显示器和/或触摸板)。以下结合图1描述的示例电子设备。图1(例如,设备100)可包括用于接收用户输入的触敏表面。电子设备还可包括一个或多个其他物理用户接口设备,诸如物理键盘、鼠标和/或操纵杆。
图1是根据一个实施方案的电子设备100的高级图。设备100可包括一个或多个物理按钮,诸如“home”按钮或菜单按钮104。菜单按钮104例如用于导航到在设备100上执行的一组应用程序中的任何应用程序。在一些实施方案中,菜单按钮104包括识别菜单按钮104上的指纹的指纹传感器。指纹传感器能够被用来确定菜单按钮104上的手指是否具有与为解锁设备100存储的指纹匹配的指纹。另选地,在一些实施方案中,菜单按钮104被实现为触摸屏上显示的图形用户界面(GUI)中的软键。
在一些实施方案中,设备100包括触摸屏150、菜单按钮104、用于使设备开/关机和用于锁定设备的下压按钮106、音量调节按钮108、用户身份模块(SIM)卡槽110、耳麦插孔112和对接/充电外部端口124。下压按钮106可被用于通过压下该按钮并将该按钮保持在压下状态达预定义的时间间隔来对设备进行开关机;通过压下该按钮并在该预定义的时间间隔过去之前释放该按钮来锁定设备;和/或对设备进行解锁或发起解锁过程。在另选的实施方案中,设备100还通过麦克风113接受用于激活或去激活某些功能的语音输入。设备100包括各种部件,包括但不限于存储器(可包括一个或多个计算机可读存储介质)、存储器控制器、一个或多个中央处理单元(CPU)、外围设备接口、RF电路、音频电路、扬声器111、麦克风113、输入/输出(I/O)子系统和其他输入或控制设备。设备100可包括一个或多个图像传感器164、一个或多个接近传感器166,以及一个或多个加速度计168。设备100可包括图1中未示出的部件。
设备100仅是电子设备的一个示例,并且设备100可具有比上面列出的更多或更少的部件,其中一些部件可组合成部件或具有不同的配置或布置。以上列出的设备100的各种部件体现为硬件、软件、固件或其组合,包括一个或多个信号处理和/或专用集成电路(ASIC)。
图2是示出根据一个实施方案的设备100中的部件的框图。设备100可执行包括图像处理在内的各种操作。出于此目的和其他目的,设备100可包括图像传感器202、片上系统(SOC)部件204、系统存储器230、永久存储装置(例如,闪存)228、方向传感器234和显示器216,以及其他部件。图2中所示的部件仅为例示性的。例如,设备100可包括图2中未示出的其他部件(诸如扬声器或麦克风)。另外,一些部件(诸如方向传感器234)可从设备100中省略。
图像传感器202是用于捕获图像数据的部件,并且可实现为例如互补金属氧化物半导体(CMOS)有源像素传感器、相机、摄像机或其他设备。图像传感器202生成原始图像数据,其被发送到SOC部件204以进行进一步处理。在一些实施方案中,由SOC部件204处理的图像数据显示在显示器216上,存储在系统存储器230、永久存储装置228中,或经由网络连接发送到远程计算设备。由图像传感器202生成的原始图像数据可以是Bayer滤色器阵列(CFA)图案(下文中也称为“Bayer图案”)。
运动传感器234是用于感测设备100的运动的部件或一组部件。运动传感器234可生成指示设备100的取向和/或加速度的传感器信号。传感器信号被发送到SOC部件204以用于各种操作,诸如打开设备100或旋转显示器216上显示的图像。
显示器216是用于显示由SOC部件204生成的图像的部件。显示器216可包括例如液晶显示器(LCD)设备或有机发光二极管(OLED)设备。基于从SOC部件204接收的数据,显示器116可显示各种图像,诸如菜单、所选择的操作参数、由图像传感器202捕获并由SOC部件204处理的图像,和/或从设备100的用户界面接收的其他信息(未示出)。
系统存储器230是用于存储由SOC部件204执行的指令以及用于存储由SOC部件204处理的数据的部件。系统存储器230可体现为任何类型的存储器,包括例如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR、DDR2、DDR3等)RAMBUS DRAM(RDRAM)、静态RAM(SRAM)或其组合。在一些实施方案中,系统存储器230可以各种格式存储像素数据或其他图像数据或统计。
永久存储装置228是用于以非易失性方式存储数据的部件。即使电力不可用,永久存储装置228也保留数据。永久存储装置228可体现为只读存储器(ROM)、闪存或其他非易失性随机存取存储器设备。
SOC部件204体现为一个或多个集成电路(IC)芯片并执行各种数据处理过程。SOC部件204可包括图像信号处理器(ISP)206、中央处理器单元(CPU)208、网络接口210、传感器接口212、显示控制器214、图形处理器(GPU)220、存储器控制器222、视频编码器224、存储控制器226和各种其他输入/输出(I/O)接口218以及连接这些子部件的总线232等其他子部件。SOC部件204可包括比图1中所示的子部件更多或更少的子部件。
ISP 206是执行图像处理流水线的各级的硬件。在一些实施方案中,ISP206可从图像传感器202接收原始图像数据,并将原始图像数据处理成SOC部件204的其他子部件或设备100的部件可用的形式。ISP 206可执行各种图像处理操作,诸如图像翻译操作、水平和垂直缩放、颜色空间转换和/或图像稳定化变换,如下面参考图3详细描述的。
CPU 208可使用任何合适的指令集架构来实现,并且可被配置为执行在该指令集架构中定义的指令。CPU 208可以是使用各种指令集架构(ISA)中的任一者的通用或嵌入式处理器,诸如x86、PowerPC、SPARC、RISC、ARM或MIPS ISA,或任何其他合适的ISA。尽管图2中示出了单个CPU,但是SOC部件204可包括多个CPU。在多处理器系统中,每个CPU可共同实现相同的ISA,但不是必需的。
图形处理单元(GPU)220是用于执行图形数据的图形处理电路。例如,GPU 220可渲染要显示到帧缓冲器中的对象(例如,包括整个帧的像素数据的帧缓冲器)。GPU 220可包括一个或多个图形处理器,该图形处理器可执行图形软件以进行部分或全部的图形操作或某些图形操作的硬件加速。
I/O接口218是用于与设备100中的各种输入/输出部件交接的硬件、软件、固件或其组合。I/O部件可包括诸如键盘、按钮、音频设备和诸如全球定位系统的传感器之类的设备。I/O接口218处理用于将数据发送到此类I/O部件的数据或处理从这些I/O部件接收的数据。
网络接口210是使得能够经由一个或多个网络(例如,载体或代理设备)在设备100和其他设备之间交换数据的子部件。例如,视频或其他图像数据可经由网络接口210从其他设备接收并被存储在系统存储器230中以用于后续处理(例如,经由到ISP 206的后端接口,诸如下面在图3中讨论的)和显示。网络可包括但不限于局域网(LAN)(例如,以太网或公司网络)和广域网(WAN)。经由网络接口210接收的图像数据可由ISP206进行图像处理过程。
传感器接口212是用于与运动传感器234交接的电路。传感器接口212从运动传感器234接收传感器信息并处理传感器信息以确定设备100的取向或移动。
显示控制器214是用于发送要在显示器216上显示的图像数据的电路。显示控制器214从ISP 206、CPU 208、图形处理器或系统存储器230接收图像数据,并将图像数据处理成适于在显示器216上显示的格式。
存储器控制器222为用于与系统存储器230通信的电路。存储器控制器222可从系统存储器230读取数据以供ISP 206、CPU 208、GPU 220或SOC部件204的其他子部件处理。存储器控制器222还可将数据写入从SOC部件204的各种子部件接收的系统存储器230。
视频编码器224是硬件、软件、固件或其组合,用于将视频数据编码成适于存储在永久存储装置128中的格式,或者用于将数据传递到网络接口210以通过网络传输到另一设备。
在一些实施方案中,SOC部件204的一个或多个子部件或这些子部件的一些功能可由在ISP 206、CPU 208或GPU 220上执行的软件部件来执行。此类软件部件可存储在系统存储器230、永久存储装置228或经由网络接口210与设备100通信的另一设备中。
图像数据或视频数据可流过SOC部件204内的各种数据路径。在一个示例中,可从图像传感器202生成并由ISP 206处理原始图像数据,然后经由总线232和存储器控制器222发送到系统存储器230。在图像数据存储在系统存储器230中之后,它可由视频编码器224访问以进行编码,或者由显示器116访问以通过总线232进行显示。
在另一示例中,从图像传感器202以外的源接收图像数据。例如,视频数据可经由有线或无线网络流式传输、下载或以其他方式传送到SOC部件204。可以经由网络接口210接收图像数据并经由存储器控制器222将图像数据写入系统存储器230。然后,图像数据可由ISP 206从系统存储器230获得,并通过一个或多个图像处理流水线级处理,如下面参考图3详细描述的。然后可将图像数据返回到系统存储器230或者将其发送到视频编码器224、显示控制器214(用于在显示器216上显示)或存储控制器226以便存储在永久存储装置228中。
示例性图像信号处理流水线
图3是示出根据一个实施方案的使用ISP 206实现的图像处理流水线的框图。在图3的实施方案中,ISP 206耦接到图像传感器202以接收原始图像数据。ISP 206实现图像处理流水线,该图像处理流水线可包括从创建、捕获或接收到输出的处理图像信息的一组级。除了其他部件之外,ISP 206可包括传感器接口302、中央控制320、前端流水线级330、后端流水线级340、图像统计模块304、视觉模块322、后端接口342和输出接口316。ISP 206可包括图3中未示出的其他部件或者可省略图3中所示的一个或多个部件。
在一个或多个实施方案中,ISP 206的不同部件以不同的速率处理图像数据。在图3的实施方案中,前端流水线级330(例如,原始处理级306和重新采样处理级308)可以初始速率处理图像数据。因此,由这些前端流水线级330以初始速率执行各种不同技术、调整、修改或其他处理操作。例如,如果前端流水线级330每个时钟周期处理2个像素,则原始处理级308操作(例如,黑电平补偿、高亮恢复和缺陷像素校正)可一次处理2个像素的图像数据。相比之下,一个或多个后端流水线级340可以小于初始数据速率的不同速率处理图像数据。例如,在图3的实施方案中,可以降低的速率(例如,每个时钟周期1个像素)来处理后端流水线级340(例如,噪声处理级310、颜色处理级312和输出重新缩放314)。
传感器接口302从图像传感器202接收原始图像数据,并将原始图像数据处理成可由流水线中的其他级处理的图像数据。传感器接口302可执行各种预处理操作,诸如图像裁剪、合并或缩放以减小图像数据大小。在一些实施方案中,像素以光栅顺序(即,水平地、逐行地)从图像传感器202发送到传感器接口302。流水线中的后续处理也可以光栅顺序执行,并且结果也可以光栅顺序输出。尽管图3中仅示出了单个图像传感器和单个传感器接口302,当在设备100中提供多于一个图像传感器时,可在ISP206中提供相应数量的传感器接口以处理来自每个图像传感器的原始图像数据。
前端流水线级330处理原始或全色域中的图像数据。前端流水线级330可包括但不限于原始处理级306和重新采样处理级308。例如,原始图像数据可是Bayer原始格式。在Bayer原始图像格式中,在每个像素中提供特定于特定颜色(而不是所有颜色)的值的像素数据。在图像捕获传感器中,图像数据通常以Bayer模式提供。原始处理级308可以Bayer原始格式处理图像数据。
原始处理级308执行的操作包括但不限于传感器线性化、黑电平补偿、固定模式噪声降低、缺陷像素校正、原始噪声滤波、镜头阴影校正、白平衡增益和高光恢复。传感器线性化是指将非线性图像数据映射到线性空间以进行其他处理。黑电平补偿是指为图像数据的每个颜色分量(例如,Gr,R,B,Gb)独立地提供数字增益、偏移和剪辑。固定模式噪声降低是指通过从输入图像中减去暗帧并将不同增益乘以像素来去除偏移固定模式噪声并获得固定模式噪声。缺陷像素校正是指检测缺陷像素,然后替换缺陷像素值。原始噪声滤波是指通过平均亮度相似的相邻像素来降低图像数据的噪声。突出显示恢复是指对从其他通道剪辑(或接近剪辑)的那些像素的像素值进行估计。镜头阴影校正是指对每像素应用增益来补偿与距离透镜光学中心的距离大致成比例的强度下降。白平衡增益是指为所有颜色分量(例如Bayer格式的Gr,R,B,Gb)独立地提供针对白平衡的数字增益、偏移和剪辑。ISP 206的部件可将原始图像数据转换为全色域中的图像数据,因此,除了原始图像数据之外或代替原始图像数据,原始处理级308可处理全色域中的图像数据。
重采样处理级308执行各种操作以转换、重采样或缩放从原始处理级306接收的图像数据。由重采样处理级308执行的操作可包括但不限于去马赛克操作、每像素颜色校正操作、γ映射操作、颜色空间转换和缩小或子带分裂。去马赛克操作是指将颜色缺失样本从原始图像数据(例如,在Bayer模式中)转换或内插成输出图像数据输到全色域中。去马赛克操作可包括对内插样本进行的低通定向滤波以获得全色像素。每像素颜色校正操作是指使用关于每个颜色通道的相对噪声标准偏差的信息在每个像素的基础上执行颜色校正以校正颜色而不放大图像数据中的噪声的处理。γ映射是指将图像数据从输入图像数据值转换为输出数据值以执行特殊图像效果,包括黑白转换、棕褐色调转换、负转换或曝光转换。出于γ映射的目的,可使用针对每个像素的不同颜色分量或通道的查找表(或将像素值索引到另一值的其他结构)(例如,针对Y,Cb和Cr颜色分量的单独查找表)。颜色空间转换是指将输入图像数据的颜色空间转换为不同的格式。在一个实施方案中,重采样处理级308将RBD格式转换为YCbCr格式以供进一步处理。
中央控制模块320可控制和协调ISP 206中的其他部件的整体操作。中央控制模块320执行包括但不限于以下项的各种操作:监视各种操作参数(例如,记录时钟周期、存储器等待时间、服务质量和状态信息)、更新或管理ISP 206的其他部件的控制参数以及与传感器接口302交接以控制ISP 206的其他部件的开始和停止。例如,在ISP 206中的其他部件处于空闲状态时,中央控制模块320可更新其他部件的可编程参数。在更新可编程参数之后,中央控制模块320可将ISP 206的这些部件置于运行状态以执行一个或多个操作或任务。中央控制模块320还可指示ISP 206的其他部件在重采样处理级308之前、期间或之后存储图像数据(例如,通过写入图2中的系统存储器230)。以这种方式,除了处理从重采样处理级308通过后端流水线级340输出的图像数据之外或代替处理从重采样处理级308通过后端流水线级340输出的图像数据,可存储原始或全色域格式的全分辨率图像数据。
图像统计模块304执行各种操作以收集与图像数据相关联的统计信息。收集统计信息的操作可包括但不限于传感器线性化、掩模图案缺陷像素、子样本原始图像数据、检测和替换非图案化缺陷像素、黑电平补偿、镜头阴影校正和反相黑电平补偿。在执行一个或多个此类操作之后,可收集或跟踪统计信息诸如3A统计(自动白平衡(AWB)、自动曝光(AE)、自动聚焦(AF))、直方图(例如,2D颜色或分量)和任何其他图像数据信息。在一些实施方案中,当先前的操作识别被剪辑的像素时,某些像素的值或像素值的区域可从某些统计数据的集合(例如,AF统计)中排除。尽管图3中仅示出了单个统计模块304,多个图像统计模块可包括在ISP 206中。在此类实施方案中,每个统计模块可由中央控制模块320编程,以收集相同或不同图像数据的不同信息。
视觉模块322执行各种操作以促进CPU 208处的计算机视觉操作,诸如图像数据中的对象检测。视觉模块322可执行各种操作,包括预处理、全局色调映射和γ校正、视觉噪声滤波、尺寸调整、关键点检测,卷积以及方向梯度直方图(HOG)的生成。如果输入图像数据不是YCrCb格式,则预处理可包括子采样或合并操作以及亮度计算。可对亮度图像上的预处理数据执行全局映射和γ校正。执行视觉噪声滤波以去除像素缺陷并减少图像数据中存在的噪声,从而改善后续计算机视觉算法的质量和性能。此类视觉噪声滤波可包括检测和固定点或缺陷像素,以及通过平均相似亮度的相邻像素来执行双边滤波以降低噪声。各种视觉算法使用不同大小和比例的图像。例如,通过合并或线性插值操作来执行图像的尺寸调整。关键点是图像内被非常适合于匹配同一场景或对象的其他图像的图像块包围的位置。此类关键点在图像对齐、计算相机姿势和对象跟踪方面很有用。关键点检测是指识别图像中的此类关键点的过程。卷积是图像/视频处理和机器视觉中使用频繁的工具。例如,可以执行卷积以生成图像的边缘图或使图像平滑。HOG提供图像分析和计算机视觉中用于任务的图像块的描述。例如,可通过(i)使用简单的差分滤波器计算水平梯度和垂直梯度,(ii)根据水平梯度和垂直梯度计算梯度方向和量值,以及(iii)对梯度方向进行合并来生成HOG。图4中描述了视觉模块322的进一步描述。
后端接口342从图像传感器102之外的其他图像源接收图像数据,并将其转发到ISP 206的其他部件以进行处理。例如,可通过网络连接接收图像数据并将其存储在系统存储器230中。后端接口342检索存储在系统存储器230中的图像数据,并将其提供给后端流水线级340以进行处理。由后端接口342执行的许多操作之一是将检索的图像数据转换为可由后端处理级340使用的格式。例如,后端接口342可将RGB、YCbCr 4:2:0或YCbCr 4:2:2格式化的图像数据转换为YCbCr 4:4:4颜色格式。
后端流水线级340根据特定的全色格式(例如,YCbCr4:4:4或RGB)处理图像数据。在一些实施方案中,后端流水线级340的部件可在进一步处理之前将图像数据转换为特定的全色格式。后端流水线级340可包括噪声处理级310和颜色处理级312等其他级。后端流水线级340可包括图3中未示出的其他级。
噪声处理级310执行各种操作以减少图像数据中的噪声。由噪声处理级310执行的操作包括但不限于颜色空间转换、γ/去γ映射、时间滤波、噪声滤波、亮度锐化和色度噪声降低。颜色空间转换可将图像数据从一种颜色空间格式转换为另一种颜色空间格式(例如,转换为YCbCr格式的RGB格式)。γ/去γ操作将图像数据从输入图像数据值转换为输出数据值以执行特殊图像效果。时间滤波使用先前滤波的图像帧来滤除噪声以减少噪声。例如,先前图像帧的像素值与当前图像帧的像素值组合。噪声滤波可包括例如空间噪声滤波。亮度锐化可锐化像素数据的亮度值,而色度抑制可将色度衰减为灰色(即,没有颜色)。在一些实施方案中,亮度锐化和色度抑制可与空间噪声滤波同时进行。可针对图像的不同区域不同地确定噪声滤波的积极性。可包括空间噪声滤波作为实现时间滤波的时间循环的一部分。例如,先前的图像帧可以在被存储为用于待处理的下一个图像帧的参考帧之前由时间滤波器和空间噪声滤波器处理。在其他实施方案中,空间噪声滤波可不被包括作为用于时间滤波的时间循环的一部分(例如,空间噪声滤波器可以在图像帧被存储为参考图像帧(并且因此不是空间上过滤的参考帧)之后应用于图像帧)。
颜色处理级312可执行与调整图像数据中的颜色信息相关联的各种操作。在颜色处理级312中执行的操作包括但不限于局部色调映射、增益/偏移/剪辑、颜色校正、三维颜色查找、γ转换和颜色空间转换。局部色调映射指的是空间变化的局部色调曲线,以便在渲染图像时提供更多控制。例如,色调曲线的二维网格(其可以由中央控制模块320编程)可以是双线性内插的,由此使得在图像上产生平滑变化的色调曲线。在一些实施方案中,局部色调映射还可应用空间变化和强度变化的颜色校正矩阵,其可例如用于使天空更蓝,同时在图像中的阴影中调低蓝色。可为每个颜色通道或图像数据的分量提供数字增益/偏移/剪辑。颜色校正可将颜色校正变换矩阵应用于图像数据。3D颜色查找可利用颜色分量输出值的三维阵列(例如,R,G,B)来执行高级色调映射、颜色空间转换和其他颜色变换。例如,可通过将输入图像数据值映射到输出数据值来执行γ转换,以便执行γ校正、色调映射或直方图匹配。可以实现颜色空间转换以将图像数据从一个颜色空间转换为另一个颜色空间(例如,RGB到YCbCr)。其他处理技术也可以作为颜色处理级312的一部分来执行,以执行其他特殊图像效果,包括黑白转换、棕褐色调转换、负转换或曝光转换。
当ISP 206处理图像数据时,输出重缩放模块314可以即时重采样、变换和校正失真。输出重缩放模块314可以计算每个像素的分数输入坐标,并且使用该分数坐标来经由多相重采样滤波器内插输出像素。可以从输出坐标的多种可能的变换产生分数输入坐标,诸如对图像调整大小或裁剪(例如,经由简单的水平和垂直缩放变换)、旋转和剪切图像(例如,经由不可分离的矩阵变换)、透视翘曲(例如,经由附加的深度变换)以及以条带状分段施加的每像素透视分割以说明图像数据捕获期间(例如,由于卷帘式快门所引起的)的图像传感器中的变化的原因,以及几何失真校正(例如,经由计算距光学中心的径向距离以便索引内插的径向增益表,并且将径向扰动应用于坐标以说明径向透镜失真的原因)。
当在输出重缩放模块314处处理图像数据时,输出重缩放模块314可将变换应用于图像数据。输出重缩放模块314可包括水平缩放部件和垂直缩放部件。该设计的垂直部分可实现一系列图像数据行缓冲器以保持该垂直滤波器所需的“支持”。由于ISP 206可以是流设备,因此可能只有行的有限长度滑动窗口中的图像数据行可供过滤器使用。一旦行被丢弃来为新进来的行腾出空间,则该行可不可用。输出重缩放模块314可统计地监视先前行上的计算输入Y坐标,并使用它来计算要保持在垂直支持窗口中的一组最佳行。对于每个后续行,输出重缩放模块314可自动生成关于垂直支持窗口的中心的猜测。在一些实施方案中,输出重缩放模块314可实现被编码为数字差分分析器(DDA)步进器的分段透视变换表,以在输入图像数据和输出图像数据之间执行每像素透视变换,以便校正在图像帧的捕获期间由传感器运动引起的伪像和运动。输出重缩放模块314可经由输出接口316将图像数据提供给系统100的各种其他部件,如上面关于图1和图2所讨论的。
在各种实施方案中,部件302到342的功能可以与图3中所示的图像处理流水线中的这些功能单元的顺序所暗含的顺序不同的顺序执行或者可由与图3中所示的功能部件不同的功能部件来执行。此外,如图3中所描述的各种部件可以硬件、固件或软件的各种组合来体现。
示例性视觉模块结构
图4是示出根据一个实施方案的图3中的图像处理流水线的视觉模块322的详细视图的框图。视觉模块322使计算机视觉和/或计算机学习能够独立于任何附加图像处理来在一个或多个图像上执行。
在一个实施方案中,视觉模块322包括前端电路部分430和后端电路部分440。前端电路部分430可执行一个或多个操作,诸如预处理、全局色调映射和γ校正、视觉噪声滤波以及调整从原始处理级306、后端处理级340或者SOC部件204的其他部分接收的图像数据401的大小。在图4的实施方案中,前端电路部分430包括一对图像信号流水线,其中每个图像信号流水线通过处理一个或多个接收的图像数据401的一部分来生成更新的亮度图像454A、454B。由每个图像信号流水线生成的更新亮度图像454A、454B可单独提供给后端电路部分440以执行计算机视觉操作。此类架构允许用不同的计算机视觉操作对相同图像、相同图像的不同部分或者不同图像并行地执行图像缩放。尽管在图4的实施方案的前端电路部分430中仅设置了两个流水线,可在前端电路部分430中提供单个流水线或多于两个流水线,这取决于处理速度和/或图像数据401的大小。
前端电路部分430中的每个图像信号流水线可包括接口电路402、图案缺陷像素(PDP)电路404、预处理(PRE)电路406、查找表(LUT)408、视觉噪声滤波器(VNF)410和缩放器(RES)电路412。接口电路402被配置为从源(例如,永久存储装置228、系统存储器230、图像传感器、原始处理级306或后端电路部分440的输出)接收图像数据401并将图像数据401转发到前端电路部分430的后续级。接口电路402可实现为多路复用器,其包括耦接到来自中央控制320的控制信号的选择输入(未示出),以选择图像数据401的源。
PDP电路404校正在整个图像数据401中周期性放置的图案化缺陷像素(例如,焦点像素)。如果图像数据401不包括图案化缺陷像素,则可绕过或省略PDP电路404处的处理。PDP电路404还校正具有可从系统存储器230或永久存储装置228读入的已知位置的缺陷。
如本领域所公知的,PRE电路406将各种像素格式的图像数据转换为亮度图像数据450。在一个实施方案中,亮度图像数据450的宽度不超过与VNF 410中包括的行缓冲器的宽度对应的最大宽度。当从PDP电路404接收的图像数据超过包括在VNF 410中的行缓冲器的最大宽度时,PRE电路406可执行合并以减小亮度图像数据450的宽度。
LUT 408将亮度图像数据450变换为非线性空间(例如,γ校正的)以修改像素值,使得像素值遵循最终渲染图像的类似色调曲线,或者如果需要的话像素值可用于将非线性图像移动回到线性。
VNF电路410改善了后端电路部分440中包括的计算机视觉部件的质量和性能。VNF电路410从LUT 408接收变换的亮度信息,并去除像素缺陷以及降低图像数据中的噪声。像素缺陷可包括由于噪声分布的长尾导致的点缺陷,其在去噪过程中不被过滤。在一个实施方案中,VNF电路410采用一种或多种算法来执行点检测和校正,以基于每组像素固定任何点或缺陷像素。例如,一种算法评估以阵列(诸如3×3阵列)布置的像素组中的图像。对于每个3×3阵列,算法确定3×3阵列内的中心像素是否包括点或缺陷。为了进行该确定,算法确定:(1)中心像素的像素强度值减去阈值是否大于相邻像素的最大像素强度值;以及(2)中心像素的像素强度值加上阈值是否小于相邻像素的最小像素强度值。可通过用查找强度内插1维(1D)查找表(LUT)来确定阈值。如果中心像素被识别为点或缺陷像素,则VNF电路410沿最低梯度方向替换中心像素。否则,VNF电路410使中心像素通过。
VNF电路410可通过对与3×3阵列内的中心像素具有相似亮度的相邻像素求平均来执行双边滤波以降低噪声。例如,当中心像素和相邻像素之间的像素差异不高于阈值时,VNF电路410可执行在几何和光度上类似于中心像素的像素值的加权平均。另一方面,当中心像素和相邻像素之间的像素差异高于阈值时,不执行计算像素值的加权平均的此种操作。VNF电路410的输出可经由多路复用器424或RES电路412发送到存储器系统230。
RES电路412将从VNF电路410接收的亮度输出调整大小或缩放到指定的比例。RES电路412分别在水平和垂直方向上执行尺寸调整。由RES电路412生成的调整大小的输出可经由多路复用器424发送到系统存储器230,或者提供给后端电路部分440中包括的计算机视觉部件以进行进一步处理。在一个示例中,后端电路部分440处的进一步处理包括通过使用位于后端电路部分440中的附加缩放器来生成图像金字塔,以利用变化的缩放比率重复调整亮度图像的大小,其中RES电路412的输出用作对应于图像金字塔底部的第一级分辨率亮度图像。
后端电路部分440包括对由前端电路部分430中包括的图像信号流水线输出的缩放亮度图像执行各种计算机视觉算法的部件。在后端电路部分440处执行的示例计算机视觉算法可包括关键点检测、方向梯度直方图(HOG)数据生成和卷积等。对应于各种计算机视觉算法中的每一者的独立计算机视觉处理路径可接收该对图像信号流水线中的每个流水线的输出,以并行地执行多个计算机视觉操作。
关键点检测处理路径对由RES电路412A输出的更新亮度图像454A或由RES电路412B输出的更新亮度图像454B或由从存储系统230检索的由RES电路418A生成的更新缩放亮度图像执行关键点检测。关键点检测处理路径包括多路复用器(MUX)414A、LUT 416、关键点(KEY)420和RES电路418A。MUX 414A包括:第一输入部,其被耦接以接收第一图像信号流水线中的RES电路412A的输出;第二输入部,其被耦接以接收第二图像信号流水线中的RES电路412B的输出;以及第三输入部,其被耦接到存储器系统230以读取数据。MUX 414A选择输入以向下游馈送用于进一步处理关键点检测和调整大小。
MUX 414A的输出被馈送到LUT 416,以例如执行与在LUT 408处执行的操作类似的操作,除了LUT 416还可执行比特转换(例如,12比特到8比特的转换)。KEY 420接收LUT 416的输出,并在接收的图像中识别感兴趣的对象,称为关键点。在一个或多个实施方案中,可省略LUT 416。一般来讲,关键点是指图像内的被十分适于匹配同一场景或对象的其他图像的图像块包围的位置。KEY 420接收RES电路412A在第一时间段输出的更新亮度图像454A。在第一时间段期间,KEY 420可对更新的亮度图像454A执行关键点检测。RES电路418A以与RES电路412相同的方式操作,并从RES电路412A或412B的输出产生更新的缩放亮度图像。
由RES电路418A在第一时间段中生成的缩放亮度图像456A被保存在存储器系统230中,然后在随后的第二时间段中作为更新的缩放亮度图像被发送回MUX 414A(如图4中的虚线所示)用于RES电路418A和KEY420处的后续处理以及RES电路418A处的尺寸调整操作。RES电路418A缩放更新的缩放亮度图像,而KEY 420并行地对更新的缩放亮度图像执行关键点检测。在第二时间段中,由RES电路418B生成缩放亮度图像456B,保存在存储器系统230中,然后在随后的第三时间段中将其发送回MUX414A。RES电路418A和KEY 420可重复该过程,以对由RES电路418A产生的图像金字塔的连续缩放的亮度图像执行关键点检测。
在一个实施方案中,KEY 420可执行8位亮度图像的子采样以减小输入图像的大小。例如,KEY 420可水平和垂直地对每1、2、4或8个像素进行子采样。可使用可编程寄存器来设置子采样的类型。KEY 420还可根据感兴趣关键点的类型或特性以各种模式操作。各种操作模式包括用于2D匹配的第一或标准模式,用于识别垂直边缘的第二模式,以及用于识别水平边缘的第三模式。KEY 420采用多步算法以在以各种模式中的一者操作时检测关键点。KEY 420采用本领域公知的一种或多种算法来根据KEY420的操作模式识别关键点。KEY420的输出部可被耦接以写入存储器系统230以供ISP 206进一步处理。
HOG处理路径在每个连续缩放的亮度图像处计算HOG数据或金字塔图像。HOG处理路径包括MUX 414B、RES电路418B和HOG 422。与MUX 414A类似,MUX 414B包括三个输入部,每个输入部耦接到RES电路412A、RES电路412B或存储器系统230,并选择要向下游发送到HOG422和RES电路418B的输入。为了计算金字塔图像的HOG数据460A、460B,RES电路418B的输出部耦接到存储器系统230,该存储器系统230可由MUX 414B访问。基于更新的亮度图像454,在第一时间帧中生成缩放的亮度图像458A作为RES电路418B的输出,并且基于缩放的亮度图像458A,在随后的第二时间帧中生成更新的缩放的亮度图像458B作为RES电路418B的输出。MUX 414B可检索RES电路418B在先前时间段(如虚线所示)输出的亮度图像,并将亮度图像输出到RES电路418B和HOG422。RES电路418B缩放更新的缩放亮度图像,同时HOG 422并行计算更新的缩放亮度图像的HOG数据。HOG 422将其输出写入存储器系统230,其可由包括在后端电路部分440中的其他计算机视觉部件进一步处理。RES电路418B和HOG 422可重复该过程,以对图像金字塔的连续缩放的亮度图像执行HOG特征检测。
卷积(CONV)处理路径包括对来自前端电路部分430的更新亮度图像、来自HOG 422的HOG数据460A、460B和来自CONV处理路径的图像数据输出执行卷积算法的部件。CONV处理路径包括MUX 426和CONV428。CONV电路428使用本领域公知的算法执行卷积操作。MUX 426包括耦接到RES电路412A的输出部的第一输入部、耦接到RES电路412B的输出部的第二输入部、耦接到HOG 422的输出部的第三输入部,以及耦接到存储器系统230以接收在先前时间段获得的CONV 428的输出的第四输入部(如虚线所示)。MUX 426选择要发送到CONV 428的输入,该CONV 428又对从MUX 426接收的输入图像数据执行卷积操作。
CONV 428可与其他计算机视觉部件(诸如KEY 420和HOG 422)并行地执行卷积操作。在一个实施方案中,CONV 428在第一时间段期间对第一HOG数据460A执行卷积操作以生成第一结果462。在随后的第二时间段期间,CONV 428对HOG数据460B执行卷积操作以生成第二结果464。
在后端电路部分440中执行的操作仅仅是示例性的。后端电路部分440可包括仅执行关键点检测、HOG和卷积操作的子集的电路。另选地,后端电路部分440可包括另外的电路以执行附加的计算机视觉操作诸如附加的描述符生成、面部检测等。
执行计算机视觉操作的示例性过程
图5示出了根据一个实施方案的用于与图像缩放并行地执行计算机视觉操作的流程图。需注意,在其他实施方案中,可执行除图5所示的那些步骤之外的步骤。
在一个实施方案中,前端电路部分430经由接口电路402接收502图像数据。所接收的图像数据可包括相同图像的不同部分或不同图像。包括在前端电路部分430中的预处理器406根据接收的图像数据生成504当前亮度图像。RES电路412基于第一亮度图像生成506更新的亮度图像。更新的亮度图像是当前亮度图像的调整大小的版本。
后端电路部分440可生成形成图像金字塔的连续缩放的亮度图像,同时并行地对每个缩放的图像执行计算机视觉操作。例如,后端电路部分440包括RES电路418,其在第一时间段期间生成508缩放的亮度图像,该缩放的亮度图像是由前端电路部分430输出的更新的亮度图像的调整大小的版本。RES电路418将缩放的亮度图像写入512到存储器系统以进行进一步处理。
在第一时间段期间,后端电路部分440还执行510更新的亮度图像的计算机视觉操作。包括在后端电路部分440中的不同计算机视觉部件可并行地对每个缩放亮度图像执行不同的计算机视觉操作。例如,KEY 420可执行更新的亮度图像的关键点检测,而HOG 422对相同的更新的亮度图像,或不同的接收图像或相同的接收图像的不同部分的不同更新亮度图像执行HOG操作。在另一示例中,KEY 420、HOG 422和CONV 428中的一者或组合可在第一时间段期间并行操作,以通过与RES电路412A和RES电路412B的输出对应的图像信号处理流水线的一者或组合对更新的亮度数据输出执行它们相应的计算机视觉操作。
然后,后端电路部分440确定514缩放的亮度图像是否超过缩放限制。在一个示例中,缩放亮度图像的缩放极限是32像素宽。如果未达到缩放极限,则从存储器系统检索516更新的缩放亮度图像作为更新的缩放亮度图像,其可在第二时间段期间由RES电路418重新缩放并且由计算机视觉部件根据步骤508、510和512进行操作。后端电路部分440重复由步骤508、510和512形成的循环,直到确定514达到缩放极限。如果确定514达到了缩放极限,则该过程终止。
说明书中使用的语言主要是出于可读性和指导目的而选择的,并且可未选择它来描绘或限制本发明的主题。因此,意图在于本发明的实施方案的公开范围不受该详细描述的限制,而是受基于此处的应用发布的任何权利要求的限制。因此,本发明的实施方案的公开内容旨在说明而非限制本发明的范围,本发明的范围在所附权利要求中阐述。
Claims (20)
1.一种图像信号处理器,包括:
接口电路,所述接口电路被配置为接收图像;
前端电路部分,所述前端电路部分被配置为:
经由所述接口电路接收所述图像并基于所接收的图像生成当前亮度图像,以及
生成更新的亮度图像,所述更新的亮度图像为所述当前亮度图像的调整大小的版本;和
后端电路部分,所述后端电路部分耦接到所述前端电路的输出部,
所述后端电路包括:
缩放器电路,所述缩放器电路被配置为在第一时间段期间生成缩放亮度图像,所述缩放亮度图像为所述更新的亮度图像的调整大小的版本,所述缩放器电路被进一步配置为在所述第一时间段之后的第二时间段期间通过调整所述缩放亮度图像的大小来生成更新的缩放亮度图像,和
计算机视觉电路,所述计算机视觉电路被配置为在所述第一时间段期间对所述缩放亮度图像执行计算机视觉操作并在所述第二时间段期间对所述更新的缩放亮度图像执行所述计算机视觉操作。
2.根据权利要求1所述的图像信号处理器,其中所述缩放器电路被进一步配置为在所述第二时间段之后的第三时间段期间调整所述更新的缩放亮度图像的大小。
3.根据权利要求2所述的图像信号处理器,所述计算机视觉电路被配置为在所述第三时间段期间对所述更新的缩放亮度图像执行所述计算机视觉操作。
4.根据权利要求1所述的图像信号处理器,其中所述计算机视觉电路包括耦接到所述缩放器电路的方向梯度直方图(HOG)电路,所述HOG电路被配置为:
在所述第一时间段期间生成所述更新的亮度图像的第一HOG数据,以及
在所述第二时间段期间生成所述缩放亮度图像的第二HOG数据。
5.根据权利要求4所述的图像信号处理器,其中所述计算机视觉电路还包括耦接到所述HOG电路的卷积电路,所述卷积电路被配置为在所述第一时间段期间对所述第一HOG数据执行卷积操作,并在所述第二时间段期间对所述第二HOG数据执行所述卷积操作。
6.根据权利要求1所述的图像信号处理器,其中所述计算机视觉电路还包括耦接到所述前端电路的所述输出部的卷积电路,所述卷积电路被配置为接收所述更新的亮度图像,并在所述第一时间段期间对所述更新的亮度图像数据执行卷积操作。
7.根据权利要求1所述的图像信号处理器,其中所述计算机视觉电路还包括关键点检测电路,所述关键点检测电路被耦接以:
在所述第一时间段期间检测所述更新的亮度图像内的一个或多个图像位置,所述更新的亮度图像内所检测到的一个或多个图像位置包括用于匹配另一图像中的位置的候选位置;以及
在所述第二时间段期间检测所述缩放亮度图像内的一个或多个图像位置,所述缩放亮度图像内的所检测到的一个或多个图像位置包括用于匹配所述另一图像中的位置的候选位置。
8.根据权利要求1所述的图像信号处理器,其中所述前端电路部分包括一对图像信号流水线以生成所述更新的亮度图像,所述图像信号流水线中的每一者被配置为处理所接收的图像的一部分以生成所述更新的亮度图像的一部分。
9.根据权利要求8所述的图像信号处理器,其中所述图像信号流水线中的每一者还包括被配置为将来自所述接口电路的图像数据转换成颜色校正亮度数据的预处理器。
10.根据权利要求8所述的图像信号处理器,其中所述图像信号流水线中的每一者包括缩放器部件以减小所述当前亮度图像的所述部分的大小。
11.根据权利要求10所述的图像信号处理器,其中所述图像信号流水线中的每一者还包括被配置为生成所述当前亮度图像的所述部分的原始亮度图像的查找表。
12.根据权利要求11所述的图像信号处理器,其中所述图像信号流水线中的每一者还包括位于所述查找表和所述缩放器部件之间的双边滤波器以滤除所述原始亮度图像中的噪声。
13.根据权利要求1所述的图像信号处理器,其中所述接口电路耦接到传感器或者所述图像信号处理器的原始处理级。
14.根据权利要求13所述的图像信号处理器,其中所述接口电路为多路复用器。
15.根据权利要求14所述的图像信号处理器,其中所述多路复用器被配置为在所述第一时间段之后接收所述缩放亮度图像和在所述第二时间段之后接收所述更新的缩放亮度图像。
16.一种方法,包括:
经由接口电路在图像信号处理器的前端电路部分处接收图像;
生成与所接收的图像对应的当前亮度图像;
通过调整所述当前亮度图像的大小来生成更新的亮度图像;
在第一时间段期间生成缩放亮度图像,所述缩放亮度图像为所述更新的亮度图像的调整大小的版本;
在所述第一时间段期间对所述更新的亮度图像执行计算机视觉操作;
在所述第一时间段之后的第二时间段期间生成更新的缩放亮度图像,所述更新的缩放亮度图像为所述缩放亮度图像的调整大小的版本;以及
在所述第二时间段期间对所述缩放亮度图像执行所述计算机视觉操作。
17.根据权利要求16所述的方法,还包括:
在所述第一时间段期间生成所述更新的亮度图像的第一方向梯度直方图(HOG)数据;以及
在所述第二时间段期间生成所述缩放亮度图像的第二HOG数据。
18.根据权利要求17所述的方法,还包括
在所述第一时间段期间对所述第一HOG数据执行卷积操作;以及
在所述第二时间段期间对所述第二HOG数据执行所述卷积操作。
19.根据权利要求16所述的方法,其中执行所述计算机视觉操作还包括:
在所述第一时间段期间检测所述更新的亮度图像内的一个或多个图像位置,所述更新的亮度图像内的所检测到的一个或多个图像位置包括用于匹配另一图像中的位置的候选位置;以及
在所述第二时间段期间检测所述缩放亮度图像内的一个或多个图像位置,所述缩放亮度图像内的所检测到的一个或多个图像位置包括用于匹配所述另一图像中的位置的候选位置。
20.一种电子设备,包括:
图像传感器;
接口电路,所述接口电路被配置为接收来自所述图像传感器的图像;
前端电路部分,所述前端电路部分被配置为:
经由所述接口电路接收所述图像并基于所接收的图像生成当前亮度图像,以及
生成更新的亮度图像,所述更新的亮度图像是所述当前亮度图像的调整大小的版本;和
后端电路部分,所述后端电路部分耦接到所述前端电路的输出部,
所述后端电路包括:
缩放器电路,所述缩放器电路被配置为在第一时间段期间生成缩放亮度图像,所述缩放亮度图像为所述更新的亮度图像的调整大小的版本,所述缩放器电路被进一步配置为在所述第一时间段之后的第二时间段期间通过调整所述缩放亮度图像的大小来生成更新的缩放亮度图像,和
计算机视觉电路,所述计算机视觉电路被配置为在所述第一时间段期间对所述缩放亮度图像执行计算机视觉操作,并在所述第二时间段期间对所述更新的缩放亮度图像执行所述计算机视觉操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/198,907 | 2016-06-30 | ||
US15/198,907 US9992467B2 (en) | 2016-06-30 | 2016-06-30 | Parallel computer vision and image scaling architecture |
PCT/US2017/021646 WO2018004758A1 (en) | 2016-06-30 | 2017-03-09 | Parallel computer vision and image scaling architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109416829A true CN109416829A (zh) | 2019-03-01 |
CN109416829B CN109416829B (zh) | 2020-06-16 |
Family
ID=58455652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780040395.XA Active CN109416829B (zh) | 2016-06-30 | 2017-03-09 | 并行计算机视觉和图像缩放架构 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9992467B2 (zh) |
EP (1) | EP3459042B1 (zh) |
JP (1) | JP6574534B2 (zh) |
KR (1) | KR101965123B1 (zh) |
CN (1) | CN109416829B (zh) |
WO (1) | WO2018004758A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291540A (zh) * | 2019-07-22 | 2021-01-29 | 奇景光电股份有限公司 | 于深度感测系统中执行自动曝光控制的方法与装置 |
TWI722542B (zh) * | 2019-08-22 | 2021-03-21 | 奇景光電股份有限公司 | 於包含投影器之深度感測系統中執行自動曝光控制的方法與裝置 |
CN114845091A (zh) * | 2021-02-01 | 2022-08-02 | 扬智科技股份有限公司 | 投影装置与其梯形校正方法 |
US20220300749A1 (en) * | 2021-03-19 | 2022-09-22 | Apple Inc. | Configurable keypoint descriptor generation |
CN115428009A (zh) * | 2020-04-13 | 2022-12-02 | 苹果公司 | 基于内容的图像处理 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9977994B2 (en) | 2016-06-30 | 2018-05-22 | Apple Inc. | Configurable histogram-of-oriented gradients (HOG) processor |
US10769474B2 (en) | 2018-08-10 | 2020-09-08 | Apple Inc. | Keypoint detection circuit for processing image pyramid in recursive manner |
CN111372038B (zh) * | 2018-12-26 | 2021-06-18 | 厦门星宸科技有限公司 | 多串流影像处理装置及方法 |
US11025842B2 (en) | 2019-04-05 | 2021-06-01 | Apple Inc. | Binner circuit for image signal processor |
US11024006B2 (en) | 2019-04-22 | 2021-06-01 | Apple Inc. | Tagging clipped pixels for pyramid processing in image signal processor |
US11954819B1 (en) * | 2020-02-28 | 2024-04-09 | Unm Rainforest Innovations | System and methods for fast and scalable 2D convolutions and cross-correlations for processing image databases and videos on CPUs |
WO2022046152A1 (en) * | 2020-08-25 | 2022-03-03 | Google Llc | Color management caching for display processing pipelines |
CN113038195B (zh) * | 2021-03-17 | 2023-04-11 | 北京市商汤科技开发有限公司 | 视频处理方法、装置、系统、介质及计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120120256A1 (en) * | 2010-11-12 | 2012-05-17 | Qualcomm Incorporated | Parallel image processing using multiple processors |
CN103313134A (zh) * | 2012-03-08 | 2013-09-18 | 三星电子株式会社 | 图像处理装置及其处理图像的方法 |
CN204087272U (zh) * | 2014-10-07 | 2015-01-07 | 上海知津信息科技有限公司 | 通用机器视觉算法硬件加速引擎系统 |
CN105684424A (zh) * | 2013-11-18 | 2016-06-15 | 苹果公司 | 非模态视频和静态帧捕获 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100110222A1 (en) * | 2004-09-03 | 2010-05-06 | Texas Instruments Incorporated | Digital camera front-end architecture |
US7580070B2 (en) * | 2005-03-31 | 2009-08-25 | Freescale Semiconductor, Inc. | System and method for roll-off correction in image processing |
US7773127B2 (en) * | 2006-10-13 | 2010-08-10 | Apple Inc. | System and method for RAW image processing |
TWI349475B (en) * | 2008-01-14 | 2011-09-21 | Wintek Corp | Image processing apparatus and image processing method |
JP2010003251A (ja) | 2008-06-23 | 2010-01-07 | Panasonic Corp | 画像リサイズ処理装置及び画像リサイズ処理方法 |
JP4626692B2 (ja) * | 2008-09-12 | 2011-02-09 | ソニー株式会社 | 物体検出装置、撮像装置、物体検出方法およびプログラム |
US8259198B2 (en) * | 2009-10-20 | 2012-09-04 | Apple Inc. | System and method for detecting and correcting defective pixels in an image sensor |
US8638342B2 (en) * | 2009-10-20 | 2014-01-28 | Apple Inc. | System and method for demosaicing image data using weighted gradients |
US8593483B2 (en) * | 2009-10-20 | 2013-11-26 | Apple Inc. | Temporal filtering techniques for image signal processing |
US8565554B2 (en) | 2010-01-09 | 2013-10-22 | Microsoft Corporation | Resizing of digital images |
KR101662738B1 (ko) * | 2010-02-05 | 2016-10-05 | 삼성전자주식회사 | 영상 처리 방법 및 그 장치 |
US8340411B2 (en) | 2010-03-05 | 2012-12-25 | Xerox Corporation | Smart image resizing with color-based entropy and gradient operators |
JP5675233B2 (ja) * | 2010-09-09 | 2015-02-25 | キヤノン株式会社 | 情報処理装置、その認識方法及びプログラム |
US8786625B2 (en) * | 2010-09-30 | 2014-07-22 | Apple Inc. | System and method for processing image data using an image signal processor having back-end processing logic |
JP5719986B2 (ja) * | 2010-10-20 | 2015-05-20 | パナソニックIpマネジメント株式会社 | 画像処理装置および画像処理方法 |
WO2013076365A1 (en) | 2011-11-22 | 2013-05-30 | Nokia Corporation | Method for image processing and an apparatus |
ITVI20120041A1 (it) | 2012-02-22 | 2013-08-23 | St Microelectronics Srl | Rilevazione di caratteristiche di un'immagine |
KR101893406B1 (ko) * | 2012-03-28 | 2018-08-30 | 삼성전자 주식회사 | 카메라의 이미지처리 장치 및 방법 |
JP5993267B2 (ja) * | 2012-10-04 | 2016-09-14 | オリンパス株式会社 | 画像処理装置 |
US9432582B2 (en) * | 2013-01-04 | 2016-08-30 | Canon Kabushiki Kaisha | Image signal processing apparatus and a control method thereof, and an image pickup apparatus and a control method thereof |
US20140270479A1 (en) * | 2013-03-15 | 2014-09-18 | Sony Corporation | Systems and methods for parameter estimation of images |
US9760794B2 (en) * | 2015-09-25 | 2017-09-12 | Intel Corporation | Method and system of low-complexity histrogram of gradients generation for image processing |
JPWO2017149591A1 (ja) * | 2016-02-29 | 2018-12-20 | オリンパス株式会社 | 画像処理装置 |
KR102469567B1 (ko) * | 2016-04-11 | 2022-11-22 | 삼성전자주식회사 | 이미징 장치 및 그 동작 방법 |
-
2016
- 2016-06-30 US US15/198,907 patent/US9992467B2/en active Active
-
2017
- 2017-03-09 KR KR1020197000015A patent/KR101965123B1/ko active IP Right Grant
- 2017-03-09 WO PCT/US2017/021646 patent/WO2018004758A1/en unknown
- 2017-03-09 EP EP17714591.9A patent/EP3459042B1/en active Active
- 2017-03-09 CN CN201780040395.XA patent/CN109416829B/zh active Active
- 2017-03-09 JP JP2018567955A patent/JP6574534B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120120256A1 (en) * | 2010-11-12 | 2012-05-17 | Qualcomm Incorporated | Parallel image processing using multiple processors |
CN103313134A (zh) * | 2012-03-08 | 2013-09-18 | 三星电子株式会社 | 图像处理装置及其处理图像的方法 |
CN105684424A (zh) * | 2013-11-18 | 2016-06-15 | 苹果公司 | 非模态视频和静态帧捕获 |
CN204087272U (zh) * | 2014-10-07 | 2015-01-07 | 上海知津信息科技有限公司 | 通用机器视觉算法硬件加速引擎系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291540A (zh) * | 2019-07-22 | 2021-01-29 | 奇景光电股份有限公司 | 于深度感测系统中执行自动曝光控制的方法与装置 |
US10939047B2 (en) | 2019-07-22 | 2021-03-02 | Himax Technologies Limited | Method and apparatus for auto-exposure control in a depth sensing system |
CN112291540B (zh) * | 2019-07-22 | 2022-03-18 | 奇景光电股份有限公司 | 于深度感测系统中执行自动曝光控制的方法与装置 |
TWI722542B (zh) * | 2019-08-22 | 2021-03-21 | 奇景光電股份有限公司 | 於包含投影器之深度感測系統中執行自動曝光控制的方法與裝置 |
CN115428009A (zh) * | 2020-04-13 | 2022-12-02 | 苹果公司 | 基于内容的图像处理 |
CN115428009B (zh) * | 2020-04-13 | 2024-04-16 | 苹果公司 | 基于内容的图像处理 |
CN114845091A (zh) * | 2021-02-01 | 2022-08-02 | 扬智科技股份有限公司 | 投影装置与其梯形校正方法 |
CN114845091B (zh) * | 2021-02-01 | 2023-11-10 | 扬智科技股份有限公司 | 投影装置与其梯形校正方法 |
US20220300749A1 (en) * | 2021-03-19 | 2022-09-22 | Apple Inc. | Configurable keypoint descriptor generation |
US11475240B2 (en) * | 2021-03-19 | 2022-10-18 | Apple Inc. | Configurable keypoint descriptor generation |
Also Published As
Publication number | Publication date |
---|---|
EP3459042B1 (en) | 2021-05-26 |
WO2018004758A1 (en) | 2018-01-04 |
JP2019519862A (ja) | 2019-07-11 |
EP3459042A1 (en) | 2019-03-27 |
KR101965123B1 (ko) | 2019-04-02 |
CN109416829B (zh) | 2020-06-16 |
US9992467B2 (en) | 2018-06-05 |
KR20190005252A (ko) | 2019-01-15 |
US20180007334A1 (en) | 2018-01-04 |
JP6574534B2 (ja) | 2019-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10685421B1 (en) | Configurable convolution engine for interleaved channel data | |
CN109416829A (zh) | 并行计算机视觉和图像缩放架构 | |
US10606918B2 (en) | Configurable convolution engine | |
US10325342B2 (en) | Convolution engine for merging interleaved channel data | |
US10319066B2 (en) | Convolution engine with per-channel processing of interleaved channel data | |
US10262401B2 (en) | Noise reduction using sequential use of multiple noise models | |
US20240169481A1 (en) | Demosaicing circuit for demosaicing quad bayer raw image data | |
US9811892B1 (en) | Separating sub-band image data for processing and merging with unprocessed image data | |
US11936992B2 (en) | Multi-mode demosaicing for raw image data | |
US9916637B1 (en) | Splitting and merging subband image data | |
US20230289923A1 (en) | Machine learning based noise reduction circuit | |
US10692177B2 (en) | Image pipeline with dual demosaicing circuit for efficient image processing | |
US20240334073A1 (en) | Multi-illumination white balance circuit with thumbnail image processing |
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 |