CN115242990A - 图像传感器模块和操作图像传感器模块的方法 - Google Patents
图像传感器模块和操作图像传感器模块的方法 Download PDFInfo
- Publication number
- CN115242990A CN115242990A CN202210434100.XA CN202210434100A CN115242990A CN 115242990 A CN115242990 A CN 115242990A CN 202210434100 A CN202210434100 A CN 202210434100A CN 115242990 A CN115242990 A CN 115242990A
- Authority
- CN
- China
- Prior art keywords
- image
- memory
- bank
- data
- image sensor
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000015654 memory Effects 0.000 claims abstract description 247
- 238000012545 processing Methods 0.000 claims abstract description 99
- 238000004364 calculation method Methods 0.000 claims description 80
- 238000013528 artificial neural network Methods 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 23
- 238000011176 pooling Methods 0.000 claims description 21
- 238000010586 diagram Methods 0.000 description 24
- 238000006243 chemical reaction Methods 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 6
- 101100256167 Homo sapiens SASH1 gene Proteins 0.000 description 5
- 102100025543 SAM and SH3 domain-containing protein 1 Human genes 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 239000003086 colorant Substances 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 230000003936 working memory Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 229910010272 inorganic material Inorganic materials 0.000 description 1
- 239000011147 inorganic material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000011368 organic material Substances 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/76—Addressed sensors, e.g. MOS or CMOS sensors
- H04N25/77—Pixel circuitry, e.g. memories, A/D converters, pixel amplifiers, shared circuits or shared components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- 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/80—Camera processing pipelines; Components thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/21—Intermediate information storage
- H04N1/2104—Intermediate information storage for one or a few pictures
- H04N1/2112—Intermediate information storage for one or a few pictures using still video cameras
- H04N1/2129—Recording in, or reproducing from, a specific memory area or areas, or recording or reproducing at a specific moment
-
- 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/60—Control of cameras or camera modules
-
- 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/60—Control of cameras or camera modules
- H04N23/665—Control of cameras or camera modules involving internal camera communication with the image sensor, e.g. synchronising or multiplexing SSIS control signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/76—Addressed sensors, e.g. MOS or CMOS sensors
- H04N25/766—Addressed sensors, e.g. MOS or CMOS sensors comprising control or output lines used for a plurality of functions, e.g. for pixel output, driving, reset or power
-
- 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/20021—Dividing image into blocks, subimages or windows
-
- 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/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
提供了图像传感器模块和操作图像传感器模块的方法。所述图像传感器模块包括:图像传感器,被配置为生成图像数据;存储器,包括存储器内处理器(PIM)电路和被配置为存储图像数据的多个存储体,PIM电路包括多个处理元件;以及信号处理器,其中,存储器被配置为:从所述多个存储体读取图像数据,通过使用与所述多个存储体对应的所述多个处理元件对图像数据执行第一图像处理操作,并且将被执行了第一图像处理操作的图像处理后的图像数据存储在所述多个存储体中或者输出图像处理后的图像数据。
Description
本申请基于并要求于2021年4月23日提交到韩国知识产权局的第10-2021-0053166号韩国专利申请的优先权,所述韩国专利申请的公开通过引用全部包含于此。
技术领域
发明构思提供了图像传感器模块和操作图像传感器模块的方法,更具体地,提供了包括用于执行计算处理的存储器的图像传感器模块和操作图像传感器模块的方法。
背景技术
图像传感器是用于捕获目标对象的二维图像或三维图像的装置。图像传感器通过使用对由目标对象反射的光的强度敏感的光电转换元件来生成目标对象的图像。近来,随着互补金属氧化物半导体(CMOS)技术发展,CMOS图像传感器已被广泛使用。
近来,随着对高质量和高分辨率照片和视频的需求增大,由图像传感器生成的图像数据的大小一直在增大。同时,当图像数据的大小增大时,高带宽有利于平滑计算处理。
发明内容
发明构思提供了包括用于执行计算处理的存储器的图像传感器模块和操作图像传感器模块的方法。
根据发明构思的一个方面,提供了一种图像传感器模块,所述图像传感器模块包括:图像传感器,被配置为生成图像数据;存储器,包括存储器内处理器(PIM)电路,PIM电路包括多个处理元件和被配置为存储图像数据的多个存储体;以及信号处理器,其中,存储器被配置为:从所述多个存储体读取图像数据,通过使用与所述多个存储体对应的所述多个处理元件对图像数据执行第一图像处理操作,并且将被执行了第一图像处理操作的图像处理后的图像数据存储在所述多个存储体中或者输出图像处理后的图像数据。
根据发明构思的另一方面,提供了一种操作图像传感器模块的方法,图像传感器模块包括图像传感器和存储器,所述方法包括:通过使用图像传感器获得图像数据;将图像数据存储在包括在存储器中的存储体中;通过使用包括在存储器中的并且与存储体对应的处理元件对图像数据执行图像处理操作;以及将图像处理后的图像数据存储在存储器中,或者从存储器输出图像处理后的图像数据。
根据发明构思的另一方面,提供了一种图像传感器模块,所述图像传感器模块包括:图像传感器,被配置为生成图像数据;以及存储器,被配置为存储图像数据,其中,存储器包括:存储器存储体,包括彼此相邻的第一存储体和第二存储体;存储器内处理器(PIM)电路,包括连接到第一存储体的第一处理元件和连接到第二存储体的第二处理元件;以及局部总线,用于在存储器存储体与PIM电路之间发送和接收数据。
附图说明
从下面的结合附图的详细描述,将更清楚地理解发明构思的示例实施例,其中:
图1是示出根据发明构思的一些示例实施例的图像传感器模块的框图;
图2是示出神经网络结构的示例的示图;
图3A至图3C是示出根据发明构思的一些示例实施例的存储器的部分的框图;
图4是示出根据发明构思的一些示例实施例的存储器的结构的框图;
图5是详细示出根据发明构思的一些示例实施例的存储器的结构的示图;
图6是示出根据发明构思的一些示例实施例的彼此相邻的存储体的结构的示图;
图7是示出彼此相邻的图像区域的示图;
图8是示出根据发明构思的一些示例实施例的彼此相邻的存储器存储体的结构的示图;
图9是示出根据发明构思的一些示例实施例的存储器的示例实施方式的框图;
图10是根据发明构思的一些示例实施例的操作图像传感器模块的方法的流程图;
图11是图像传感器模块的分解立体图;
图12是图像传感器模块的平面图;以及
图13是根据发明构思的一些示例实施例的电子装置的框图。
具体实施方式
图1是示出根据发明构思的一些示例实施例的图像传感器模块的框图。
图像传感器模块100可感测关于目标对象的图像,处理感测的图像,将感测的图像存储在存储器中,或者将处理的图像存储在存储器中。根据一些示例实施例,图像传感器模块100可被安装在数字相机、数字摄像机、移动电话、平板PC、便携式电子装置等上。便携式电子装置可包括膝上型计算机、移动电话、智能电话、平板PC、个人数字助理(PDA)、企业数字助理(EDA)、数字静态相机、数字视频相机、音频装置、便携式多媒体播放器(PMP)、个人导航装置(PND)、MP3播放器、手持式游戏机、电子书装置、可穿戴装置等。此外,图像传感器模块100可作为部件被安装在无人机、高级驾驶辅助系统(ADAS)或作为车辆、家具、制造设施、门和各种测量装置的组件提供的电子装置上。
参照图1,图像传感器模块100可包括图像传感器110、存储器120、信号处理器130和接口(I/F)140。根据一些示例实施例,图像传感器模块100可由多个半导体芯片实现。然而,发明构思不限于此,并且图像传感器模块100也可由一个半导体芯片实现。
图像传感器模块100可拍摄外部目标对象(或对象),并且生成图像数据。图像传感器模块100可包括图像传感器110,图像传感器110可将通过透镜LS入射的目标对象的光学信号转换为电信号。图像传感器110可包括其中多个像素被二维地布置的像素阵列,并且可输出包括分别与像素阵列的像素对应的多个像素值的图像数据。
像素阵列可包括多条行线、多条列线以及分别连接到行线和列线并以矩阵状形式布置的多个像素。像素可各自包括至少一个光电转换元件(或光感测元件)。光电转换元件可感测光,并且将感测的光转换为光电荷。例如,光电转换元件可以是包括有机材料或无机材料的光感测元件(例如,光电二极管、有机光电二极管、钙钛矿光电二极管、光电晶体管、光电门、钉扎光电二极管等)。根据一些示例实施例,像素可各自包括多个光电转换元件。
像素阵列的像素可各自感测多个参考颜色之中的至少一种颜色的光信号。例如,参考颜色可包括红色、绿色和蓝色,可包括红色、绿色、蓝色和白色,或者可包括其它颜色。例如,参考颜色可包括青色、黄色、绿色和品红色。像素阵列可生成包括关于各个像素的参考颜色的信息的像素信号。
用于透射特定光谱范围的光的滤色器阵列可设置在像素上方,并且根据分别布置在像素上的滤色器,可由相应像素感测的颜色可被确定。然而,发明构思不限于此。在一些示例实施例中,特定光电转换元件可根据施加到光电转换元件的电信号的电平将特定波长带的光转换为电信号。
在一些示例实施例中,由图像传感器110生成的图像数据可包括原始图像数据(row image data),或者可包括通过对原始图像数据执行预处理获得的图像数据,原始图像数据包括通过从像素阵列输出的多个像素信号的数模转换获得的多个像素值。在一些示例实施例中,图像传感器110可包括用于控制像素阵列并将从像素阵列接收的像素信号转换为像素值的驱动和读取电路。例如,驱动和读取电路可包括行驱动器、读出电路、斜坡信号发生器、时序控制器等。驱动和读取电路可生成包括分别与接收的像素信号对应的像素值的原始图像数据。在一些示例实施例中,图像传感器110还可包括用于对原始图像数据执行预处理的处理逻辑。图像传感器110可将原始图像数据或预处理的图像数据发送到存储器120和/或信号处理器130。
存储器120可包括存储器存储体122、存储器内处理器(processor in memory,PIM)电路124和控制逻辑126。存储器存储体122可包括多个存储体Bank1至BankN(N是正整数),并且存储体Bank1至BankN可各自包括存储器单元阵列,存储器单元阵列包括多个存储器单元。可以以各种方式定义存储体。例如,存储体可被定义为包括存储器单元的配置,或者可被定义为包括存储器单元以及一个或多个外围电路的配置。
存储器120可存储由图像传感器110生成的图像数据或由信号处理器130处理的图像数据。在一些示例实施例中,存储器存储体122可将从图像传感器110或信号处理器130接收的图像数据存储在存储体Bank1至BankN中的至少一个中。例如,存储器存储体122可将从图像传感器110或信号处理器130接收的图像数据划分为预定的(或者,可选地,期望的)大小,并且将划分的图像数据存储在存储体Bank1至BankN中的至少一个中。此外,存储器存储体122可在图像传感器模块100的控制下读出预先存储的图像数据,并且将读出的图像数据发送到信号处理器130或接口140。
存储器120可通过使用PIM电路124对从图像传感器110接收的图像数据或存储在存储器120中的图像数据执行计算处理。在一些示例实施例中,PIM电路124可通过使用处理元件(PE)执行与各种类型的图像处理操作有关的计算处理。
在一些示例实施例中,PIM电路124可对包括在图像数据中的图像伪像(artifact)执行各种图像处理操作(如,应用了图像增强算法的操作、分类操作和/或分段(segmentation)操作)。应用了图像增强算法的操作可包括白平衡、去噪、去马赛克(demosaicing)、重马赛克(remosaicing)、透镜阴影(lens shading)和/或伽马(gamma)校正。然而,发明构思不限于此,并且应用了图像增强算法的操作可包括各种其它图像处理操作。
在一些示例实施例中,图像处理操作可被实现为基于神经网络的任务,并且PIM电路124可执行基于神经网络的计算处理中的至少一些。神经网络可以是基于人工神经网络(ANN)、卷积神经网络(CNN)、区域卷积神经网络(R-CNN)、区域候选网络(RegionProposalNetwork,RPN)、循环神经网络(RNN)、基于堆叠的深度神经网络(S-DNN)、状态空间动态神经网络(S-SDNN)、去卷积网络、深度信念网络(DBN)、受限玻尔兹曼机(RBM)、全卷积网络、长短期记忆(LSTM)网络、分类网络、普通残差网络、密集网络、分层金字塔网络等中的至少一个的神经网络模型。然而,神经网络模型的类型不限于上述示例。以下将参照图2详细描述PIM电路124执行基于神经网络的计算处理的方法。
在一些示例实施例中,PIM电路124的PE可从存储器存储体122的存储体Bank1至BankN读出图像数据,并且对读出的图像数据执行上述图像处理操作。存储器120可将通过使用PIM电路124被执行计算处理的图像数据存储回存储器存储体122中。此外,存储器120可将通过使用PIM电路124被执行计算处理的图像数据提供给信号处理器130。此外,存储器120可通过接口140将被执行了计算处理的图像数据输出到图像传感器模块100外部的装置。
控制逻辑126可执行关于存储器存储体122和PIM电路124的控制操作。在一些示例实施例中,控制逻辑126可对提供给存储器120的命令和地址执行解码操作并控制存储器存储体122和PIM电路124,使得存储器操作根据解码操作的结果而被执行。例如,提供给存储器120的命令可包括与存储器操作(如,数据的写入/读取)有关的命令和与计算操作有关的命令。根据解码操作的结果,控制逻辑126可控制存储器存储体122以执行用于将数据写入与地址对应的存储区域/从与地址对应的存储区域读取数据的存储器操作,或者控制PIM电路124以基于在与地址对应的存储区域中写入的数据来执行计算操作。
存储器120可包括动态随机存取存储器(DRAM)(如,双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率LPDD(LPDDR)SDRAM、图形双倍数据速率(GDDR)SDRAM和Rambus动态随机存取存储器(RDRAM))。然而,发明构思的示例实施例不必限于此。例如,存储器120还可包括非易失性存储器(如,闪存、磁RAM(MRAM)、铁电RAM(FeRAM)、相变RAM(PRAM)、电阻式RAM(ReRAM)等)。
此外,存储器120可以是与包括各自具有独立接口的多个通道的存储器装置中的一个半导体芯片或一个通道对应的配置。在一些示例实施例中,存储器120可以是与存储器模块对应的配置。在一些示例实施例中,存储器模块可包括多个存储器芯片,并且图1的存储器120可对应于安装在模块板上的一个存储器芯片。
信号处理器130可对从图像传感器110或存储器120接收的图像数据执行计算处理。例如,信号处理器130可包括中央处理器(CPU)、微处理器或微控制器单元(MCU)。在一些示例实施例中,信号处理器130可执行与各种图像处理操作有关的计算处理。例如,信号处理器130可执行各种图像处理操作(如,白平衡、去噪、去马赛克、重马赛克、透镜阴影、伽马校正、分类操作和分段操作)。
在一些示例实施例中,信号处理器130可接收由存储器120被执行了特定图像处理操作的图像数据,并且对接收的图像数据执行剩余的图像处理操作。例如,信号处理器130可接收由存储器120被执行了去噪的图像数据,并且对接收的图像数据执行白平衡、去马赛克、重马赛克、透镜阴影、伽马校正、分类操作和分段操作中的至少一个。
在一些示例实施例中,信号处理器130可从图像传感器110接收图像数据,并且对接收的图像数据执行各种图像处理操作。接下来,信号处理器130可将处理的图像数据发送到存储器120。存储器120可存储从信号处理器130接收的图像数据。
图像传感器模块100可通过接口140输出图像数据。在一些示例实施例中,接口140可输出存储在存储器120中的图像数据或由信号处理器130处理的图像数据。例如,接口140可被实现为基于移动行业处理器接口(MIPI)的相机串行接口(CSI)。然而,接口140的类型不限于此,并且接口140可根据各种协议标准来实现。
根据发明构思的一些示例实施例的图像传感器模块100通过使用能够执行计算处理的存储器120来执行计算处理,因此,图像处理操作的计算速度可被增大。详细地,因为存储器120中的存储器存储体122与PIM电路124之间的带宽通常比存储器120与信号处理器130之间的带宽高,所以在计算处理通过使用存储器120而被执行时,计算速度可被增大。此外,当计算速度提高时,应用了更多层的神经网络运算可在相同的时间段内被执行,因此,图像传感器模块100的计算操作的准确度可被提高。
另外,在图1中示出的一些示例实施例中,PE可包括各种数量的PE。例如,每个PE可与一个存储体对应地被设置,或者每个PE可与两个或更多个存储体对应地被设置。
此外,尽管为了便于理解,图1示出存储器存储体122和PIM电路124彼此分开,但是发明构思不限于此,并且存储器存储体122和PIM电路124可至少部分地彼此集成。以下将参照图3A至图3C给出其详细描述。
图2是示出神经网络结构的示例的示图。图1的PIM电路124可被应用于实施图2的神经网络NN的结构的至少一部分。
参照图2,神经网络NN可包括多个层L1至Ln。具有这样的多层结构的神经网络可被称为深度神经网络(DNN)或深度学习架构。层L1至Ln中的每个可以是线性层或非线性层,并且在一些示例实施例中,至少一个线性层和至少一个非线性层可被彼此组合,以被称为一个层。例如,线性层可包括卷积层和全连接层,并且非线性层可包括池化层(poolinglayer)和激活层。
例如,第一层L1可以是卷积层,第二层L2可以是池化层,并且作为输出层的第n层Ln可以是全连接层。神经网络NN还可包括激活层,并且还可包括用于执行其它类型的操作的层。
层L1至Ln可各自接收输入图像帧或在前一层中生成的特征图(feature map)作为输入特征图,并且通过处理输入特征图来生成输出特征图或识别信号REC。这里,特征图表示输入数据的各种特性被表示的数据。特征图FM1、FM2、FM3和FMn可各自具有例如包括多个特征值(或被称为张量)的二维矩阵形状或三维矩阵形状。特征图FM1、FM2、FM3和FMn具有宽度W(或列)、高度H(或行)和深度D,宽度W(或列)、高度H(或行)和深度D可分别对应于坐标系中的x轴、y轴和z轴。这里,深度D可被称为通道的数量。
第一层L1可通过将第一特征图FM1与权重图WM进行卷积来生成第二特征图FM2。权重图WM可具有包括多个权重值的二维矩阵或三维矩阵的形式。权重图WM也可被称为内核。权重图WM可对第一特征图FM1进行滤波,并且可被称为滤波器或内核。权重图WM的深度(例如,通道的数量)与第一特征图FM1的深度(例如,通道的数量)相同,并且权重图WM和第一特征图FM1的相同的通道可彼此进行卷积。权重图WM以作为滑动窗遍历(traverse)第一输入特征图FM1的方式被移动。在每次移动期间,包括在权重图WM中的每个权重可和与第一特征图FM1重叠的区域中的所有特征值相乘并求和。当第一特征图FM1和权重图WM彼此进行卷积时,第二特征图FM2的一个通道可被生成。尽管在图2中一个权重图WM被示出,但是由于多个权重图实际上与第一特征图FM1进行卷积,因此第二特征图FM2的多个通道可被生成。换句话说,第二特征图FM2的通道的数量可对应于权重图的数量。
第二层L2可通过经由池化改变第二特征图FM2的空间大小来生成第三特征图FM3。池化可被称为采样或下采样。二维池化窗PW可在第二特征图FM2上以池化窗PW的大小作为单位被移动,并且与池化窗PM重叠的区域中的特征值的最大值(或平均值)可被选择。因此,可从第二特征图FM2生成具有改变的空间大小的第三特征图FM3。第三特征图FM3的通道的数量与第二特征图FM2的通道的数量相同。
第n层Ln可通过组合第n特征图FMn的特征来对输入数据的类CL进行分类。此外,可生成与各个类对应的识别信号REC。然而,神经网络NN的结构不限于上述示例,并且层L1至Ln中的一些可被省略,或者其它层可被附加地设置。
根据发明构思的一些示例实施例,图1的PIM电路124的PE可实施神经网络NN的卷积层、完全连接层、池化层和激活层中的至少一个。例如,PIM电路124的一些PE可被配置为对从存储体Bank1至BankN读出的图像数据执行卷积运算,并且PIM电路124的一些其它PE可被配置为对卷积运算的结果执行池化运算。
图3A至图3C是示出根据发明构思的一些示例实施例的存储器的部分的框图。图3A至图3C的存储器200、200a和200b可各自对应于图1的存储器120。
首先,参照图3A,存储器200包括存储体组210、PE组220和局部总线230。在一些示例实施例中,存储体组210包括第一存储体Bank1至第四存储体Bank4,并且PE组220包括分别与第一存储体Bank1至第四存储体Bank4对应的第一PE PE1至第四PE PE4。此外,PE组220还可包括独立于存储体组210的第五PE PE5。
在一些示例实施例中,第一存储体Bank1至第四存储体Bank4可根据对应关系分别连接到第一PE PE1至第四PE PE4。例如,参照图3A,第一存储体Bank1可连接到第一PE PE1,第二存储体Bank2可连接到第二PE PE2,第三存储体Bank3可连接到第三PE PE3,第四存储体Bank4可连接到第四PE PE4。
在存储器200的存储操作期间,存储体组210可存储通过局部总线230传送的数据。在一些示例实施例中,存储器200可从图1的图像传感器110接收图像数据,并且第一存储体Bank1至第四存储体Bank4中的至少一个可存储图像数据的至少一部分。例如,图像数据可被划分为预设的(或者,可选地,期望的)大小的多个部分,并且被存储在第一存储体Bank1至第四存储体Bank4中的至少一个中。
在存储器200的计算操作期间,PE组220的一些PE(例如,第一PE PE1至第四PEPE4)可各自基于存储在存储体组210的对应的存储体中的数据来执行计算操作。此时,第一PE PE1至第四PE PE4可并行地执行计算操作。作为非限制性示例,第一PE PE1至第四PEPE4可基于存储在对应的存储体中的图像数据来执行神经网络运算之中的卷积运算。换句话说,第一PE PE1至第四PE PE4可并行地执行神经网络运算。
例如,参照图3A,第一PE PE1可基于存储在第一存储体Bank1中的数据来执行计算操作,第二PE PE2可基于存储在第二存储体Bank2中的数据来执行计算操作,第三PE PE3可基于存储在第三存储体Bank3中的数据来执行计算操作,第四PE PE4可基于存储在第四存储体Bank4中的数据来执行计算操作。
在一些示例实施例中,PE组220中的独立于存储体组210的PE(例如,第五PE PE5)可基于第一PE PE1至第四PE PE4的计算操作的结果来执行计算操作。作为非限制性示例,第五PE PE5可基于第一PE PE1至第四PE PE4的计算操作的结果来执行神经网络运算之中的池化运算。第五PE PE5可通过局部总线230接收第一PE PE1至第四PE PE4的计算操作的结果,并且基于计算操作的结果执行池化运算。换句话说,第五PE PE5可基于计算操作的结果来执行神经网络运算。
在一些示例实施例中,PE组220的计算操作的结果可被存储在存储体组210中。例如,第一PE PE1至第四PE PE4的计算操作的结果可分别被存储在对应的存储体中。此外,第五PE PE5的计算操作的结果可被存储在第一存储体Bank1至第四存储体Bank4中的至少一个中。
然而,用于存储PE组220的计算操作的结果的位置不限于此,并且可独立于PE与存储体之间的对应关系。例如,第一PE PE1的计算操作的结果可通过局部总线230被发送到第二存储体Bank2并被存储在第二存储体Bank2中。
参照图3B,存储器200a包括存储体组210a、PE组220a和局部总线230a。在一些示例实施例中,存储体组210a包括第一存储体Bank1至第四存储体Bank4,并且PE组220a包括分别与第一存储体Bank1至第三存储体Bank3对应的第一PE PE1至第三PE PE3。此外,PE组220a还可包括独立于存储体组210a的第四PE PE4。在下文中,与以上参照图3A给出的描述相同的描述将被省略。
在存储器200a的存储操作期间,存储体组210a可存储通过局部总线230a发送的数据。在一些示例实施例中,存储器200a可从图1的图像传感器110接收图像数据,并且第一存储体Bank1至第四存储体Bank4中的至少一个可存储图像数据的至少一部分。例如,图像数据可被划分为预设的(或者,可选地,期望的)大小的多个部分,并且被存储在第一存储体Bank1至第四存储体Bank4中的至少一个中。
在存储器200a的计算操作期间,PE组220a中的一些PE(例如,第一PE PE1至第三PEPE3)可各自基于存储在存储体组210a的对应的存储体中的数据来执行计算操作。此时,第一PE PE1至第三PE PE3可并行地执行计算操作。作为非限制性示例,第一PE PE1至第三PEPE3可基于存储在对应的存储体中的图像数据来执行神经网络运算中的卷积运算。
在一些示例实施例中,尽管图3B的PE组220a不包括与第四存储体Bank4对应的PE,但是存储在第四存储体Bank4中的数据可通过局部总线230a被发送到PE组220a。然后,PE组220a可基于通过局部总线230a接收的第四存储体Bank4的数据来执行计算操作。
例如,参照图3B,第一PE PE1至第三PE PE3之中的第一PE PE1可基于存储在第四存储体Bank4中的图像数据执行神经网络运算之中的卷积运算。详细地,存储在第四存储体Bank4中的目标图像数据可通过局部总线230a被发送到连接到第一PEPE1的第一存储体Bank1,并且被存储在第一存储体Bank1中。然后,第一PE PE1可对从第一存储体Bank1读出的目标图像数据执行计算操作。此外,根据一些示例实施例,存储在第四存储体Bank4中的目标图像数据可通过局部总线230a被发送到第一PE PE1,而不被发送到第一存储体Bank1、被存储在第一存储体Bank1中以及从第一存储体Bank1读出。然后,第一PE PE1可对通过局部总线230a接收的目标图像数据执行计算操作。在一些示例实施例中,如上所述,存储在第四存储体Bank4中的目标图像数据可通过局部总线230a被发送到第一存储体Bank1至第三存储体Bank3和/或第一PE PE1至第三PE PE3中的一个或多个。换句话说,存储在第四存储体Bank4中的目标图像数据可被传送到一个或多个位置,使得处理元件PE(例如,第一PEPE1至第三PE PE3中的一个或多个)可对通过局部总线230a接收的目标图像数据执行计算操作。
换句话说,根据图3B的一些示例实施例的PE可不仅基于存储在对应的存储体中的数据执行计算操作,而且还接收存储在非对应的存储体中的数据并基于接收的数据执行计算操作。例如,第一PE PE1可不仅基于存储在对应的存储体Bank1中的数据执行计算操作,而且还接收存储在非对应的存储体Bank2至Bank4中的至少一个中的数据并基于接收的数据执行计算操作。因此,即使在PE组220a包括相对少量的PE时,卷积运算也可针对存储在存储体组210a中的数据被执行。
为了执行如上描述的卷积运算,图1的控制逻辑126可基于地址信息和操作序列信息来控制图1的存储器存储体122和图1的PIM电路124。例如,控制逻辑126可基于关于第四存储体Bank4的地址信息从第四存储体Bank4读出第四图像数据,并且将第四图像数据发送到第一PE PE1。此时,第一PE PE1也可被设置为对从第一存储体Bank1读出的第一图像数据执行计算处理。因此,根据操作序列信息,控制逻辑126可在对从第一存储体Bank1读出的第一图像数据的计算处理被执行之前或之后将第四图像数据发送到第一存储体Bank1,并且控制第一PE PE1对第四图像数据执行计算处理。
在一些示例实施例中,PE组220a中的独立于存储体组210a的PE(例如,第四PEPE4)可基于第一PE PE1至第三PE PE3的计算操作的结果来执行计算操作。作为非限制性示例,第四PE PE4可基于第一PE PE1至第三PE PE3的计算操作的结果来执行神经网络运算之中的池化运算。第四PE PE4可通过局部总线230a接收第一PE PE1至第三PE PE3的计算操作的结果,并且基于计算操作的结果执行池化运算。
在一些示例实施例中,PE组220a的计算操作的结果可被存储在存储体组210a中。例如,第一PE PE1至第三PE PE3的计算操作的结果可分别被存储在对应的存储体中。在一些示例实施例中,第一PE PE1至第三PE PE3的计算操作的结果可通过局部总线230a被发送到第四存储体Bank4,并且被存储在第四存储体Bank4中。此外,第四PE PE4的计算操作的结果可被存储在第一存储体Bank1至第四存储体Bank4中的至少一个中。
然而,用于存储PE组220a的计算操作的结果的位置不限于此,并且可独立于PE与存储体之间的对应关系。例如,第一PE PE1的计算操作的结果可通过局部总线230a被发送到第二存储体Bank2,并且被存储在第二存储体Bank2中。
在图3A和图3B中示出的一些示例实施例中,包括在存储体组210(存储体组210和210a)中的存储体的数量和包括在PE组220(PE组220和220a)中的PE的数量仅是示例,并且发明构思不限于此。存储体组210和210a可包括更多或更少的存储体,PE组220和220a可包括更多或更少的PE。
此外,在图3A和图3B中示出的一些示例实施例中,已经示出和描述了存储器200或200a包括执行池化运算的PE(例如,图3A的第五PE PE5或图3B的第四PE PE4),但是发明构思不限于此。例如,存储器200或200a可不包括执行池化运算的PE。
参照图3C,存储器200b可包括第一存储体组210_1b、第二存储体组210_2b、第一PE组220_1b和第二PE组220_2b。在一些示例实施例中,第一存储体组210_1b包括第一存储体Bank1至第四存储体Bank4,第一PE组220_1b包括分别与第一存储体Bank1至第四存储体Bank4对应的第一PE PE1至第四PE PE4。此外,第二存储体组210_2b包括第五存储体Bank5至第八存储体Bank8,第二PE组220_2b包括分别与第五存储体Bank5至第八存储体Bank8对应的第五PE PE5至第八PE PE8。在下文中,与以上参照图3A和图3B给出的描述相同的描述将被省略。
在一些示例实施例中,存储器200b可具有第一存储体组210_1b和第一PE组220_1b堆叠在第二存储体组210_2b和第二PE组220_2b上的结构。此外,存储器200b的各种数据可通过局部总线230b而被发送到第一存储体组210_1b、第二存储体组210_2b、第一PE组220_1b和第二PE组220_2b。
在存储器200b的存储操作期间,第一存储体组210_1b和第二存储体组210_2b可存储通过局部总线230b发送的数据。在一些示例实施例中,存储器200b可从图1的图像传感器110接收图像数据,并且第一存储体Bank1至第八存储体Bank8中的至少一个可存储图像数据的至少一部分。例如,图像数据可被划分为预设的(或者,可选地,期望的)大小的多个部分,并且被存储在第一存储体Bank1至第八存储体Bank8中的至少一个中。
在存储器200b的计算操作期间,第一PE组220_1b可基于存储在第一存储体组210_1b中的数据来执行第一计算操作,第二PE组220_2b可基于存储在第二存储体组210_2b中的数据来执行第二计算操作。第一计算操作和第二计算操作可彼此相同或不同,并且可在相同时间或不同时间被执行。
然而,发明构思不限于此,并且第一PE组220_1b可通过局部总线230b接收存储在第二存储体组210_2b中的数据,并且基于接收的数据执行第一计算操作。此外,第二PE组220_2b可通过局部总线230b接收存储在第一存储体组210_1b中的数据,并且基于接收的数据执行第二计算操作。
此外,根据一些示例实施例,第一PE组220_1b可通过局部总线230b接收由第二PE组220_2b执行的第二计算操作的第二计算结果,并且基于第二计算结果执行第一计算操作。此外,第二PE组220_2b可通过局部总线230b接收由第一PE组220_1b执行的第一计算操作的第一计算结果,并且基于第一计算结果执行第二计算操作。
同时,在图3C中示出的一些示例实施例中,已经示出和描述了存储器200b不包括执行池化运算的PE(例如,图3A的第五PE PE5或图3B的第四PE PE4),但是发明构思不限于此。例如,存储器200b还可包括执行池化运算的PE(例如,第一PE组220_1b和第二PE组220_2b可共享执行池化运算的PE,或者可各自具有执行池化运算的PE)。
图4是示出根据发明构思的一些示例实施例的存储器的结构的框图。图4的存储器300可对应于图1的存储器120和图3A至图3C的存储器200、200a和200b。此外,图4是示出存储器300中彼此连接的存储体和PE的结构的框图,其中,该结构可被应用于例如图3A的第一存储体Bank1和第一PE PE1。
参照图4,存储器300可包括存储器单元阵列310、地址缓冲器320、行解码器330、列解码器340、感测放大器(SA)350、输入/输出(I/O)门控电路360、PE 370、数据I/O电路380以及控制逻辑390。
存储器单元阵列310包括以包括行和列的矩阵的形式设置的多个存储器单元。存储器单元阵列310包括连接到存储器单元的多条字线WL和多条位线BL。字线WL可连接到存储器单元的行,多条位线BL可连接到存储器单元的列。
地址缓冲器320接收地址ADDR。地址ADDR包括寻址存储器单元阵列310的行的行地址RA和寻址存储器单元阵列310的列的列地址CA。地址缓冲器320可将行地址RA发送到行解码器330,并且将列地址CA发送到列解码器340。
行解码器330可选择连接到存储器单元阵列310的字线WL中的任何一条。行解码器330可对从地址缓冲器320接收的行地址RA进行解码,选择与行地址RA对应的任何一条字线WL,并且激活选择的字线WL。
列解码器340可从存储器单元阵列310的位线BL之中选择预定的(或者,可选地,期望的)位线BL。列解码器340可通过对从地址缓冲器320接收的列地址CA进行解码来生成列选择信号,并且通过I/O门控电路360选择连接到列选择信号的位线BL。
感测放大器350连接到存储器单元阵列310的位线BL。感测放大器350感测位线BL的电压的变化,放大该变化,并且输出放大的变化。由感测放大器350感测并放大的位线BL可由I/O门控电路360选择。
I/O门控电路360可包括读取数据锁存器和写入驱动器,读取数据锁存器用于存储由列选择信号选择的位线BL的读取数据,写入驱动器用于将写入数据写入存储器单元阵列310。存储在读取数据锁存器中的数据可通过数据I/O电路380而被提供给数据垫(datapad)DQ。通过数据垫DQ提供给数据I/O电路380的写入数据可通过写入驱动器而被写入存储器单元阵列310。数据垫DQ可连接到存储器300内部的局部总线(例如,图3A的局部总线230)。
PE 370可设置在I/O门控电路360与数据I/O电路380之间。PE 370可基于从存储器单元阵列310读出的数据或从数据I/O电路380接收的数据来执行计算操作。PE 370可以是算术逻辑单元(ALU)。PE 370可将计算结果写入存储器单元阵列310,或者通过数据I/O电路380将计算结果提供给数据垫DQ。
控制逻辑390可接收时钟信号CLK和命令CMD,并且生成用于控制存储器300的操作时序、存储器操作和/或计算操作的控制信号CTRLS。控制逻辑390可使用控制信号CTRLS来从存储器单元阵列310读取数据和将数据写入存储器单元阵列310。此外,控制逻辑390可使用控制信号CTRLS来控制PE 370执行计算处理。
尽管已经参照图4示出和描述了控制逻辑390控制存储器300的存储器操作和计算操作,但是发明构思不限于此。例如,存储器300可包括生成用于控制存储器300的计算操作的控制信号的单独的组件(例如,处理控制器)。在一些示例实施例中,处理控制器可生成用于控制PE 370的控制信号。
此外,已经参照图4示出和描述了存储器300包括PE 370,但是发明构思不限于此。例如,当没有PE连接到存储体(如,图3B的第四存储体Bank4的情况)时,PE 370可在图4的示例实施例中被省略。
图5是详细示出根据发明构思的一些示例实施例的存储器的结构的示图。详细地,图5是详细示出图4的存储器300的结构的示图。在下文中,与以上参照图4给出的描述相同的描述将被省略。
参照图4和图5,存储器300还可包括与计算操作有关的各种组件。例如,PE370可包括分别与存储器单元阵列(MCA)310的多条位线BL1至BLK(K是正整数)对应的ALU。
ALU可包括第一乘法电路MC1、第二乘法电路MC2、第三乘法电路MC3、第一加法电路AC1和第二加法电路AC2。第一乘法电路MC1、第二乘法电路MC2和第三乘法电路MC3可通过在分别从相应的位线和与其相邻的位线读出的数据与权重之间执行乘法运算来输出多个乘法运算结果。
例如,参照图5,第二乘法电路MC2可通过在从相应的位线读出的数据与第二权重之间执行乘法运算来输出第二乘法运算结果。第一乘法电路MC1可通过在从布置在相应的位线左侧的位线读出的数据与第一权重之间执行乘法运算来输出第一乘法运算结果。此外,第三乘法电路MC3可通过在从布置在相应的位线右侧的位线读出的数据与第三权重之间执行乘法运算来输出第三乘法运算结果。这里,第一权重至第三权重可彼此相同或不同。此外,分别从相应的位线和与其相邻的位线读出的数据可与通过感测放大器350存储在读取数据锁存器Latch1中的数据对应。
第一加法电路AC1可通过在第一乘法电路MC1的第一乘法运算结果、第二乘法电路MC2的第二乘法运算结果和第三乘法电路MC3的第三乘法运算结果之间执行加法运算来输出第一加法运算结果。此外,第二加法电路AC2可通过在第一加法运算结果与从相应的位线读出的数据之间执行加法运算来输出第二加法运算结果。这里,从相应的位线读出的数据可与从存储器单元阵列310在没有感测放大器350和读取数据锁存器Latch1的干预的情况下直接发送的数据对应。
如上所述,使用ALU的第一乘法电路MC1、第二乘法电路MC2、第三乘法电路MC3、第一加法电路AC1和第二加法电路AC2的计算操作不仅基于相应的位线的数据而且还基于与相应的位线相邻的位线的数据而被执行。因此,技术配置可被应用于卷积运算。
数据I/O电路380可包括计算数据锁存器Latch2和数据选择器,计算数据锁存器Latch2用于存储由第二加法电路AC2输出的第二加法运算结果,数据选择器用于选择将被提供给数据垫DQ的数据。计算数据锁存器Latch2可存储由第二加法电路AC2输出的第二乘法运算结果。在一些示例实施例中,数据选择器可包括至少一个复用器(未示出)。
尽管图4和图5是示出彼此连接的存储体和PE的结构的示图,但是发明构思不限于此。例如,在没有PE连接的存储体(例如,图3B的第四存储体Bank4)的情况下,图4和图5的PE370以及图5的包括在数据I/O电路380中的计算数据锁存器Latch2可被省略。
图6是示出根据发明构思的一些示例实施例的彼此相邻的存储体的结构的示图。图7是示出彼此相邻的图像区域的示图。将基于作为示例的第一存储体Bank1和第二存储体Bank2来描述图6的彼此相邻的存储体的结构。第一PE PE1和第二PE PE2可分别布置在图6的第一存储体Bank1和第二存储体Bank2处。此外,因为以上参照图4和图5描述的存储器的结构可被应用于图6的第一存储体Bank1和第二存储体Bank2,所以与以上参照图4和图5已经给出的描述相同的描述将被省略。
在一些示例实施例中,第一存储体Bank1和第二存储体Bank2可存储一个图像中彼此相邻的图像区域(的数据)(例如,图像数据的相邻区域(的数据))。例如,参照图7,对于彼此相邻的第一图像区域AR1和第二图像区域AR2,第一存储体Bank1可存储第一图像区域AR1,第二存储体Bank2可存储第二图像区域AR2。
此外,第一存储体Bank1的第一PE PE1和第二存储体Bank2的第二PE PE2可通过数据线DL彼此连接。详细地,第一存储体Bank1和第二存储体Bank2可各自包括多个ALU ALU1至ALUK,并且彼此相邻的ALU可通过数据线DL彼此连接。
此外,根据发明构思的一些示例实施例,第一存储体Bank1和第二存储体Bank2中的每个的ALU ALU1至ALUK之中的最外面的ALU可通过数据线DL连接到相邻存储体的最外面的ALU。
参照图6,第一存储体Bank1的ALU ALUK和第二存储体Bank2的ALU ALU1可通过数据线DL彼此连接。在一些示例实施例中,第一存储体Bank1的ALU ALUK可通过数据线DL接收与第二存储体Bank2的ALU ALU1对应的位线BL1的数据。接收的数据可被输入到包括在第一存储体Bank1的ALU ALUK中的第三乘法电路MC3。此外,第二存储体Bank2的ALU ALU1可通过数据线DL接收与第一存储体Bank1的ALU ALUK对应的位线BLK的数据。接收的数据可被输入到包括在第二存储体Bank2的ALU ALU1中的第一乘法电路MC1。
总而言之,包括在特定存储体中的多个ALU之中的最外面的ALU可通过数据线DL连接到包括在与特定存储体相邻的存储体中的多个ALU之中的最外面的ALU。详细地,最左(或最右)ALU可通过数据线DL连接到包括在左侧(或右侧)的相邻存储体中的最右(或最左)ALU。然而,发明构思不限于此,并且相邻的存储体可定向在不同的平面上、另一个上方/下方以及其它配置。
因此,图6的第一PE PE1和第二PE PE2可对图像区域的边缘执行计算操作(例如,卷积运算)。例如,参照图7,因为与彼此相邻的第一图像区域AR1和第二图像区域AR2的边缘对应的数据可通过数据线DL而被输入到第一PEPE1和第二PE PE2,所以第一PEPE1和第二PEPE2可对第一图像区域AR1和第二图像区域AR2的边缘执行计算操作。
尽管已经参照图6示出和描述了数据线DL形成在第一PEPE1和第二PE PE2的ALUALU1至ALUK之间,但是发明构思不限于此。例如,数据线DL还可被实现为连接到ALU ALU1至ALUK,并且连接到I/O门控电路的输出线。例如,第一存储体Bank1的ALU ALUK可通过数据线DL来接收数据,该数据线DL连接到第二存储体Bank2的I/O门控电路的输出线之中的与第一位线BL1对应的输出线。
图8是示出根据发明构思的一些示例实施例的彼此相邻的存储器存储体的结构的示图。图8是示出图6的一些示例实施例的可行修改的示图。将基于作为示例的第一存储体Bank1、第二存储体Bank2和第N存储体BankN来描述图8的彼此相邻的存储体的结构。图8的第一存储体Bank1和第二存储体Bank2可分别与图6的第一存储体Bank1和第二存储体Bank2对应,并且第N PE PEN可设置在图8的第N存储体BankN处。此外,因为以上参照图4和图5描述的存储器的结构可被应用于图8的第一存储体Bank1、第二存储体Bank2和第N存储体BankN,所以与以上参照图4和图5已经给出的描述相同的描述将被省略。
在一些示例实施例中,第一存储体Bank1和第二存储体Bank2可存储一个图像中的彼此相邻的图像区域,并且第一PE PE1和第二PE PE2可对存储在第一存储体Bank1和第二存储体Bank2中的图像区域执行计算处理。此外,第N存储体BankN可存储用于第一PEPE1和第二PE PE2的计算处理的权重,并且将存储的权重提供给第一存储体Bank1和第二存储体Bank2。
例如,参照图8,第二数据线DL2可将与第N存储体BankN的存储器单元阵列MCA的位线BL1至BLK对应的线连接到第一PE PE1和第二PE PE2。第N存储体BankN可通过第二数据线DL2将存储在第N存储体BankN的存储器单元阵列MCA中的权重发送到第一PE PE1和第二PEPE2。
在一些示例实施例中,第二数据线DL2可连接到包括在第一PE PE1和第二PE PE2中的ALU。例如,第二数据线DL2可连接到图5的ALU,并且每个ALU可基于通过第二数据线DL2接收的权重来执行计算操作。通过第二数据线DL2接收的权重可以是用于ALU的第一乘法电路MC1、第二乘法电路MC2、第三乘法电路MC3、第一加法电路AC1和第二加法电路AC2中的至少一个的计算操作的权重。
尽管已经参照图8示出和描述了第N存储体BankN通过第二数据线DL2将权重发送到第一PE PE1和第二PE PE2,但是发明构思不限于此。在一些示例实施例中,即使在第二数据线DL2未被设置时,第N存储体BankN也可将权重发送到第一PE PE1和第二PE PE2。例如,图1的控制逻辑126可控制第N存储体BankN读出权重,并且通过局部总线(例如,图3A的局部总线230)将权重发送到第一PE PE1和第二PE PE2。
此外,尽管图8示出第N PE PEN被布置在第N存储体BankN处,但是发明构思不限于此,并且第N PE PEN可不被布置在第N存储体BankN处。
图9是示出根据发明构思的一些示例实施例的存储器的示例实施方式的框图。
参照图9,存储器400可包括第一存储体组(BG1)410_1至第四存储体组(BG4)410_4、第一PE组(PEG1)420_1至第四PE组(PEG4)420_4、第一局部总线(LB1)430_1至第四局部总线(LB4)430_4、数据垫DQ、主总线440和控制逻辑450。
第一存储体组410_1至第四存储体组410_4可各自包括多个存储体,并且第一PE组420_1至第四PE组420_4可各自包括多个PE。在一些示例实施例中,第一PE组420_1至第四PE组420_4可分别与第一存储体组410_1至第四存储体组410_4对应地布置。此外,第一局部总线430_1至第四局部总线430_4可分别与第一PE组420_1至第四PE组420_4对应地布置,并且可通过数据垫DQ将数据发送到主总线440和从主总线440接收数据。主总线440可包括用于在存储器400内部的组件之间传送数据的路径。
控制逻辑450可控制用于从第一存储体组410_1至第四存储体组410_4读取数据或者将数据写入第一存储体组410_1至第四存储体组410_4的存储器操作。在一些示例实施例中,控制逻辑450可控制第一存储体组410_1至第四存储体组410_4中的至少一个基于与写入位置对应的地址来存储图像数据,或者控制第一存储体组410_1至第四存储体组410_4中的至少一个基于与读取位置对应的地址来读取图像数据。
此外,控制逻辑450可控制第一PE组420_1至第四PE组420_4的计算操作。在一些示例实施例中,控制逻辑450可控制第一存储体组410_1至第四存储体组410_4中的至少一个以及第一PE组420_1至第四PE组420_4中的至少一个,以基于与目标数据的存储位置对应的地址来读出用于计算处理的目标数据并执行计算处理。
在一些示例实施例中,当PE的数量小于存储体的数量时,没有对应的PE的特定存储体的数据可通过第一局部总线430_1至第四局部总线430_4中的至少一条而被发送到与另一存储体对应的PE,随后计算处理可对其被执行。控制逻辑450可控制存储体组以将没有对应的PE的特定存储体的数据发送到与另一存储体对应的PE,并且可控制接收到数据的PE执行计算处理。
在一些示例实施例中,第一存储体组410_1至第四存储体组410_4中的一些可被配置为存储与单个帧对应的图像数据。例如,当存储器400使用与3个帧对应的图像数据执行图像处理操作(例如,去噪操作)时,控制逻辑450可控制第一存储体组410_1存储与第一帧对应的图像数据,控制第二存储体组410_2存储与第二帧对应的图像数据,并且控制第三存储体组410_3存储与第三帧对应的图像数据。此外,控制逻辑450可控制第一PE组420_1至第三PE组420_3通过使用与第一帧至第三帧对应的图像数据来执行计算操作。
此外,第一存储体组410_1至第四存储体组410_4中的一些可被配置为存储用于神经网络运算的权重。例如,第四存储体组410_4可存储应用于第一PE组420_1至第三PE组420_3的计算操作的权重。控制逻辑450可控制第四存储体组410_4读出存储在第四存储体组410_4中的权重并将权重发送到第一PE组420_1至第三PE组420_3,并且可控制第一PE组420_1至第三PE组420_3基于接收的权重来执行计算处理。
然而,发明构思不限于此,并且一个存储体组可包括存储计算处理的目标数据的存储体和存储权重的存储体二者。此外,在图9中示出的一些示例实施例中,存储器400可包括各种数量的存储体组、PE组和局部总线。
图10是根据发明构思的一些示例实施例的操作图像传感器模块的方法的流程图。可通过使用以上参照图1描述的图像传感器模块100来执行图10的方法。将理解,参照图10描述的操作可由根据任何示例实施例的任何图像传感器模块执行。还将理解,图10中示出的操作的次序可被调整,包括使至少一些操作将被至少部分地同时(例如,并行)执行。图10中示出的一个或多个操作可从根据一些示例实施例的操作图像传感器模块的方法被省略,并且图10中未示出的一个或多个附加操作可被添加到该方法。
参照图1和图10,图像传感器模块100可通过图像传感器110获得图像数据(操作S100)。接下来,图像传感器模块100可将图像数据存储在包括在存储器120中的多个存储体中(操作S200)。在一些示例实施例中,图像传感器模块100可将一个图像数据划分为多个图像区域,并且将图像区域存储在存储体中。例如,图像传感器模块100可将图像数据的第一图像区域存储在第一存储体中,并且将图像数据的第二图像区域存储在第二存储体中。
在一些示例实施例中,图像传感器模块100可通过使用包括在存储器120中并且与存储体对应的PE来对存储的图像数据执行图像处理操作(操作S300)。详细地,图像传感器模块100可从多个存储体读出图像数据,并且通过使用与存储体对应的PE对读出的图像数据执行计算处理。在一些示例实施例中,图像传感器模块100可读出存储在多个存储体中的多个图像区域,并且通过使用分别连接到存储体的PE对读出的图像区域执行计算处理。在一些示例实施例中,由图像传感器模块100执行的计算处理可对应于图像处理操作,并且可对应于基于神经网络的计算处理。
在一些示例实施例中,图像传感器模块100可通过连接在多个PE之间的数据线来交换与多个图像区域的边缘对应的数据。例如,彼此相邻的第一PE和第二PE可通过数据线交换与第一图像区域的边缘对应的数据和与第二图像区域的边缘对应的数据。
在一些示例实施例中,图像传感器模块100可通过使用PE基于多个读出的图像区域和交换的数据来执行图像处理操作。例如,第一PE可基于由自身读出的与第一图像区域的边缘对应的数据和通过交换获得的与第二图像区域的边缘对应的数据来执行图像处理操作。此外,第二PE可基于由自身读出的与第二图像区域的边缘对应的数据和通过交换获得的与第一图像区域的边缘对应的数据来执行图像处理操作。
在一些示例实施例中,图像传感器模块100可将图像处理后的图像数据存储在存储器120中,或者从存储器120输出图像处理后的图像数据(操作S400)。在一些示例实施例中,图像传感器模块100可将由存储器120计算处理后的图像数据存储在存储器120中。在一些示例实施例中,图像传感器模块100可将由存储器120计算处理后的图像数据直接发送到信号处理器130。信号处理器130可对接收的图像数据执行附加的图像处理操作。在一些示例实施例中,信号处理器130可通过接口140将接收的图像数据输出到图像传感器模块100的外部。
图11是图像传感器模块的分解立体图,图12是图像传感器模块的平面图。参照图11和图12,图像传感器模块100a可具有第一芯片CH1、第二芯片CH2和第三芯片CH3被堆叠的结构。包括在图像传感器(图1的110)的像素阵列中的多个像素的像素核(例如,至少一个光电转换元件和像素电路)可被形成在第一芯片CH1上。包括逻辑电路(如,行驱动器、读出电路、斜坡信号发生器和时序控制器)的驱动和读取电路可被形成在第二芯片CH2上。存储器(图1的120)可被形成在第三芯片CH3上。第一芯片CH1、第二芯片CH2和第三芯片CH3可通过连接构件或贯穿通孔(through via)彼此电连接。然而,发明构思不限于此,并且图像传感器模块100a也可由一个半导体芯片实现。
如图12中所示,第一芯片CH1、第二芯片CH2和第三芯片CH3可分别包括布置在中心和外围区域处的像素阵列、逻辑电路和存储器(图1的120)。
在第三方向(Z方向)上延伸的贯穿通孔TV可被布置在第一芯片CH1、第二芯片CH2和第三芯片CH3的外围区域中。第一芯片CH1和第二芯片CH2可通过贯穿通孔TV彼此电结合。在第一方向(X方向)或第二方向(Y方向)上延伸的线路(未示出)可在第一芯片CH1、第二芯片CH2和第三芯片CH3的外围区域中被形成。
图13是根据发明构思的一些示例实施例的电子装置的框图。电子装置1000可被实现为数字相机、数字摄像机、移动电话、平板PC或便携式电子装置。便携式电子装置可包括膝上型计算机、移动电话、智能电话、平板PC、个人数字助理(PDA)、企业数字助理(EDA)、数字静态相机、数字视频相机、音频装置、便携式多媒体播放器(PMP)、个人导航装置(PND)、MP3播放器、手持式游戏机、电子书装置、可穿戴装置等。此外,电子装置1000可作为部件被安装在无人机、高级驾驶辅助系统(ADAS)或作为车辆、家具、制造设施、门和各种测量装置的组件提供的电子装置上。参照图13,电子装置1000可包括应用处理器1100、相机模块1200、工作存储器1300、存储设备1400、显示装置1600、用户接口1700和无线收发器1500。
应用处理器1100控制电子装置1000的整体操作,并且可被实现为驱动应用程序、操作系统等的片上系统(SoC)。应用处理器1100可将从相机模块1200提供的图像数据提供给显示装置1600,或者将图像数据存储在存储设备1400中。
以上参照图1至图12描述的图像传感器模块100或100a可被应用于相机模块1200。相机模块1200可包括执行计算处理的存储器1210,并且存储器1210可通过使用PIM电路对存储在存储器1210的存储体中的图像数据执行计算处理。
应用处理器1100可对从相机模块1200接收的图像数据执行附加的图像处理操作,并且将图像处理后的图像数据显示在显示装置1600上,或者将图像处理后的图像数据存储在存储设备1400中。
工作存储器1300可由易失性存储器(如,动态随机存取存储器(DRAM)或静态RAM(SRAM))或非易失性存储器(如,铁电RAM(FeRAM)、电阻式RAM(RRAM)或相变RAM(PRAM))来实现。工作存储器1300可存储由应用处理器1100处理或执行的程序和/或数据。
存储设备1400可用非易失性存储器装置(如,NAND闪存或电阻式存储器)来实现。例如,存储设备1400可被提供为存储卡(MMC、eMMC、SD、微型SD等)。存储设备1400可存储从相机模块1200接收的数据或由应用处理器1100处理或生成的数据。
用户接口1700可用能够接收用户输入的各种装置(例如,键盘、帘键面板、触摸面板、指纹传感器、麦克风等)来实现。用户接口1700可接收用户输入,并且将与接收的用户输入对应的信号提供给应用处理器1100。
无线收发器1500可包括收发器1510、调制解调器1520和天线1530。
在一些示例实施例中,如在此参照附图中的任何一个描述的设备、系统、电子装置和/或它们的元件中的一些或全部(包括但不限于图像传感器模块100至100a、存储器200至200b、300、400中的任何一个、电子装置1000等的元件)和/或它们的任何部分(包括但不限于任何块、模块、处理器、相机等)可包括处理器的一个或多个实例(诸如,包括逻辑电路的硬件、硬件/软件组合(诸如,执行软件的处理器)或它们的组合),可被包括在处理器的一个或多个实例中,和/或可由处理器的一个或多个实例实施。例如,如在此更具体地描述的处理器可包括但不限于中央处理器(CPU)、算术逻辑单元(ALU)、图形处理器(GPU)、应用处理器(AP)、数字信号处理器(DSP)、微计算机、现场可编程门阵列(FPGA)、可编程逻辑单元、微处理器、专用集成电路(ASIC)、神经网络处理器(NPU)、电子控制单元(ECU)、图像信号处理器(ISP)等。在一些示例实施例中,处理器可包括存储指令的程序的非暂时性计算机可读存储装置(例如,固态驱动器(SSD))以及处理器硬件的实例(例如,CPU),其被配置为执行指令的程序以实施由根据任何示例实施例的任何设备、系统和/或元件(包括但不限于根据任何示例实施例的任何设备、系统和/或元件的任何部分、块、模块、处理器、相机等)中的一些或全部执行的功能和/或方法(包括例如根据任何示例实施例的任何方法(包括图10中示出的方法))。
虽然已经参照发明构思的示例实施例具体示出并描述了发明构思,但是将理解,在不脱离所附权利要求的精神和范围的情况下,可在其中做出形式上和细节上的各种改变。
Claims (20)
1.一种图像传感器模块,包括:
图像传感器,被配置为生成图像数据;
存储器,包括存储器内处理器PIM电路和被配置为存储图像数据的多个存储体,PIM电路包括多个处理元件;以及
信号处理器,
其中,存储器被配置为:从所述多个存储体读取图像数据,通过使用与所述多个存储体对应的所述多个处理元件对图像数据执行第一图像处理操作,并且将被执行了第一图像处理操作的图像处理后的图像数据存储在所述多个存储体中或者输出图像处理后的图像数据。
2.根据权利要求1所述的图像传感器模块,其中,在所述多个存储体之中,第一存储体连接到所述多个处理元件之中的第一处理元件,并且
第一处理元件基于从第一存储体读出的数据执行与第一图像处理操作对应的计算处理。
3.根据权利要求2所述的图像传感器模块,其中,在所述多个存储体之中,第二存储体与第一存储体相邻并连接到所述多个处理元件之中的第二处理元件,并且
第一处理元件通过数据线连接到第二处理元件。
4.根据权利要求3所述的图像传感器模块,其中,第一处理元件基于从第二存储体读出的数据的至少一部分和从第一存储体读出的数据来执行与第一图像处理操作对应的计算处理。
5.根据权利要求4所述的图像传感器模块,其中,第一处理元件包括与第一存储体的位线对应的算术逻辑单元,并且
第二处理元件包括与第二存储体的位线对应的算术逻辑单元。
6.根据权利要求5所述的图像传感器模块,其中,在第一处理元件的算术逻辑单元之中,与第二存储体相邻的第一算术逻辑单元通过所述数据线连接到第二处理元件的算术逻辑单元之中的与第一存储体相邻的第二算术逻辑单元。
7.根据权利要求3所述的图像传感器模块,其中,存储器包括用于在所述多个存储体与所述多个处理元件之间发送和接收数据的局部总线。
8.根据权利要求7所述的图像传感器模块,其中,在所述多个存储体之中,第三存储体存储分别与所述多个处理元件对应的权重信息,并且通过局部总线将权重信息发送到所述多个处理元件中的至少一个。
9.根据权利要求7所述的图像传感器模块,其中,存储器读出存储在所述多个存储体之中的第四存储体中的数据,并且通过局部总线将读出的数据发送到第一处理元件或第二处理元件。
10.根据权利要求1至权利要求9中的任一项所述的图像传感器模块,其中,第一图像处理操作是基于神经网络的计算处理。
11.根据权利要求10所述的图像传感器模块,其中,所述多个处理元件执行基于神经网络的计算处理之中的卷积运算和池化运算中的至少一种。
12.根据权利要求10所述的图像传感器模块,其中,第一图像处理操作包括去噪、去马赛克和重马赛克中的至少一种。
13.一种操作图像传感器模块的方法,图像传感器模块包括图像传感器和存储器,所述方法包括:
通过使用图像传感器获得图像数据;
将图像数据存储在包括在存储器中的存储体中;
通过使用包括在存储器中的并且与存储体对应的处理元件,对图像数据执行图像处理操作;以及
将图像处理后的图像数据存储在存储器中,或者从存储器输出图像处理后的图像数据。
14.根据权利要求13所述的方法,其中,将图像数据存储在存储体中的步骤包括:
将图像数据划分为多个图像区域;以及
将所述多个图像区域存储在存储体中。
15.根据权利要求14所述的方法,其中,执行图像处理操作的步骤包括:
读出存储在存储体中的所述多个图像区域;以及
通过使用分别连接到存储体的处理元件对所述多个图像区域执行图像处理操作。
16.根据权利要求15所述的方法,其中,对所述多个图像区域执行图像处理操作的步骤包括:
通过连接在处理元件之间的数据线交换与所述多个图像区域的边缘对应的数据;以及
通过使用分别连接到存储体的处理元件,基于所述多个图像区域和交换的数据对所述多个图像区域执行图像处理操作。
17.一种图像传感器模块,包括:
图像传感器,被配置为生成图像数据;以及
存储器,被配置为存储图像数据,
其中,存储器包括:
存储器存储体,包括彼此相邻的第一存储体和第二存储体;
存储器内处理器PIM电路,包括连接到第一存储体的第一处理元件和连接到第二存储体的第二处理元件;以及
局部总线,用于在存储器存储体与PIM电路之间发送和接收数据。
18.根据权利要求17所述的图像传感器模块,其中,
存储器将图像数据的第一图像区域存储在第一存储体中;
将图像数据的与第一图像区域相邻的第二图像区域存储在第二存储体中,以及
通过使用第一处理元件和第二处理元件对第一图像区域和第二图像区域执行图像处理操作。
19.根据权利要求18所述的图像传感器模块,其中
第一处理元件包括与第一存储体的位线对应的算术逻辑单元,并且
第二处理元件包括与第二存储体的位线对应的算术逻辑单元。
20.根据权利要求19所述的图像传感器模块,其中,在第一处理元件的算术逻辑单元之中,与第二存储体相邻的第一算术逻辑单元通过数据线连接到第二处理元件的算术逻辑单元之中的与第一存储体相邻的第二算术逻辑单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0053166 | 2021-04-23 | ||
KR1020210053166A KR20220146197A (ko) | 2021-04-23 | 2021-04-23 | 이미지 센서 모듈 및 이의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115242990A true CN115242990A (zh) | 2022-10-25 |
Family
ID=83668443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210434100.XA Pending CN115242990A (zh) | 2021-04-23 | 2022-04-24 | 图像传感器模块和操作图像传感器模块的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220345624A1 (zh) |
KR (1) | KR20220146197A (zh) |
CN (1) | CN115242990A (zh) |
TW (1) | TW202308374A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024087244A1 (zh) * | 2022-10-27 | 2024-05-02 | 华中科技大学 | 一种基于相变材料的电可控彩色滤光阵列及人工视觉系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6849702B2 (ja) * | 2017-01-17 | 2021-03-24 | オリンパス株式会社 | メモリアクセス装置、画像処理装置、および撮像装置 |
KR20210092078A (ko) * | 2020-01-15 | 2021-07-23 | 삼성전자주식회사 | 병렬 연산 처리를 수행하는 메모리 장치 및 그 동작방법, 그리고 메모리 장치를 제어하는 메모리 컨트롤러의 동작방법 |
-
2021
- 2021-04-23 KR KR1020210053166A patent/KR20220146197A/ko active Search and Examination
-
2022
- 2022-04-22 US US17/727,055 patent/US20220345624A1/en active Pending
- 2022-04-22 TW TW111115437A patent/TW202308374A/zh unknown
- 2022-04-24 CN CN202210434100.XA patent/CN115242990A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024087244A1 (zh) * | 2022-10-27 | 2024-05-02 | 华中科技大学 | 一种基于相变材料的电可控彩色滤光阵列及人工视觉系统 |
Also Published As
Publication number | Publication date |
---|---|
TW202308374A (zh) | 2023-02-16 |
US20220345624A1 (en) | 2022-10-27 |
KR20220146197A (ko) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11849226B2 (en) | Image processing device including neural network processor and operating method thereof | |
US11562046B2 (en) | Neural network processor using dyadic weight matrix and operation method thereof | |
US11651201B2 (en) | Memory device including arithmetic circuit and neural network system including the same | |
KR102441747B1 (ko) | 시스톨릭 어레이 구조를 가지는 뉴럴 네트워크 가속기 | |
US20230289601A1 (en) | Integrated circuit that extracts data, neural network processor including the integrated circuit, and neural network | |
TW202014934A (zh) | 電子系統以及非暫時性電腦可讀記錄媒體 | |
US11830574B2 (en) | Dual-port, dual-function memory device | |
CN115242990A (zh) | 图像传感器模块和操作图像传感器模块的方法 | |
CN114598827A (zh) | 包括神经网络处理器的图像处理装置及操作其的方法 | |
US20200356844A1 (en) | Neural network processor for compressing featuremap data and computing system including the same | |
KR20200062014A (ko) | 다이어딕 매트릭스 형태의 웨이트를 이용해 뉴럴 네트워크를 가속하는 장치 및 그것의 동작 방법 | |
US20220188612A1 (en) | Npu device performing convolution operation based on the number of channels and operating method thereof | |
US11943557B2 (en) | Image sensor module, image processing system, and operating method of image sensor module | |
CN113393368B (zh) | 基于神经网络模型的图像处理方法、介质和电子设备 | |
US11627250B2 (en) | Image compression method, encoder, and camera module including the encoder | |
US11748862B2 (en) | Image processing apparatus including neural network processor and method of operation | |
US11902676B2 (en) | Image signal processor, operation method of image signal processor, and image sensor device including image signal processor | |
KR20230034875A (ko) | 프리-프로세서 및 뉴럴 네트워크 프로세서를 구비하는 이미지 처리 장치 및 이의 동작 방법 | |
KR20230008586A (ko) | 이미지 신호 처리기, 이미지 신호 처리기의 동작 방법, 및 이미지 신호 처리기를 포함하는 이미지 센서 장치 |
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 |