KR20210135358A - Image sensor architecture - Google Patents

Image sensor architecture Download PDF

Info

Publication number
KR20210135358A
KR20210135358A KR1020217035827A KR20217035827A KR20210135358A KR 20210135358 A KR20210135358 A KR 20210135358A KR 1020217035827 A KR1020217035827 A KR 1020217035827A KR 20217035827 A KR20217035827 A KR 20217035827A KR 20210135358 A KR20210135358 A KR 20210135358A
Authority
KR
South Korea
Prior art keywords
image
neural network
images
integrated circuit
circuit layer
Prior art date
Application number
KR1020217035827A
Other languages
Korean (ko)
Inventor
루시안 이온
블라드 콘스탄틴 카르데이
카를 워렌 크라드도크
Original Assignee
웨이모 엘엘씨
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 웨이모 엘엘씨 filed Critical 웨이모 엘엘씨
Publication of KR20210135358A publication Critical patent/KR20210135358A/en

Links

Images

Classifications

    • H04N5/379
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/067Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/067Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
    • G06N3/0675Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means using electro-optical, acousto-optical or opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/14Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components sensitive to infrared radiation, light, electromagnetic radiation of shorter wavelength or corpuscular radiation and specially adapted either for the conversion of the energy of such radiation into electrical energy or for the control of electrical energy by such radiation
    • H01L27/144Devices controlled by radiation
    • H01L27/146Imager structures
    • H01L27/14601Structural or functional details thereof
    • H01L27/14603Special geometry or disposition of pixel-elements, address-lines or gate-electrodes
    • H01L27/14605Structural or functional details relating to the position of the pixel elements, e.g. smaller pixel elements in the center of the imager compared to pixel elements at the periphery
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/14Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components sensitive to infrared radiation, light, electromagnetic radiation of shorter wavelength or corpuscular radiation and specially adapted either for the conversion of the energy of such radiation into electrical energy or for the control of electrical energy by such radiation
    • H01L27/144Devices controlled by radiation
    • H01L27/146Imager structures
    • H01L27/14601Structural or functional details thereof
    • H01L27/14609Pixel-elements with integrated switching, control, storage or amplification elements
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/14Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components sensitive to infrared radiation, light, electromagnetic radiation of shorter wavelength or corpuscular radiation and specially adapted either for the conversion of the energy of such radiation into electrical energy or for the control of electrical energy by such radiation
    • H01L27/144Devices controlled by radiation
    • H01L27/146Imager structures
    • H01L27/14601Structural or functional details thereof
    • H01L27/14634Assemblies, i.e. Hybrid structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/54Mounting of pick-up tubes, electronic image sensors, deviation or focusing coils
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/617Upgrading or updating of programs or applications for camera control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/665Control of cameras or camera modules involving internal camera communication with the image sensor, e.g. synchronising or multiplexing SSIS control signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/40Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/76Addressed sensors, e.g. MOS or CMOS sensors
    • H04N25/77Pixel circuitry, e.g. memories, A/D converters, pixel amplifiers, shared circuits or shared components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/76Addressed sensors, e.g. MOS or CMOS sensors
    • H04N25/78Readout circuits for addressed sensors, e.g. output amplifiers or A/D converters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/79Arrangements of circuitry being divided between different or multiple substrates, chips or circuit boards, e.g. stacked image sensors
    • H04N5/2253
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/73Means for bonding being of different types provided for in two or more of groups H01L2224/10, H01L2224/18, H01L2224/26, H01L2224/34, H01L2224/42, H01L2224/50, H01L2224/63, H01L2224/71
    • H01L2224/732Location after the connecting process
    • H01L2224/73251Location after the connecting process on different surfaces
    • H01L2224/73261Bump and TAB connectors

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Neurology (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Electromagnetism (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Facsimile Heads (AREA)
  • Transforming Light Signals Into Electric Signals (AREA)

Abstract

이미지 센서는 포지션에 기초하여 픽셀 센서 그룹들로 그룹화되는 픽셀 센서들을 포함하는 제1 집적 회로 층; 제1 집적 회로 층과 전기적으로 통신하는 제2 집적 회로 층 - 제2 집적 회로 층은 대응하는 픽셀 센서 그룹으로부터 픽셀 정보를 각각 수신하도록 구성되는 이미지 프로세싱 회로망 그룹들을 포함하고, 이미지 프로세싱 회로망 그룹들은 이미지 센서의 동작 동안 프로세싱된 픽셀 정보를 제공하기 위해 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하도록 추가로 구성됨 -; 제2 집적 회로 층과 전기적으로 통신하는 제3 집적 회로 층 - 제3 집적 회로 층은 대응하는 이미지 프로세싱 회로망 그룹으로부터 프로세싱된 픽셀 정보를 각각 수신하고 이미지 센서의 동작 동안 프로세싱된 픽셀 정보에 대해 객체 검출을 위한 분석을 수행하도록 구성되는 신경망 회로망 그룹들을 포함함 - 을 포함한다.The image sensor comprises: a first integrated circuit layer comprising pixel sensors grouped into pixel sensor groups based on position; a second integrated circuit layer in electrical communication with the first integrated circuit layer, the second integrated circuit layer comprising image processing circuitry groups each configured to receive pixel information from a corresponding pixel sensor group, the image processing circuitry groups comprising: further configured to perform image processing operations on the pixel information to provide processed pixel information during operation of the sensor; a third integrated circuit layer in electrical communication with the second integrated circuit layer, the third integrated circuit layer each receiving processed pixel information from a corresponding image processing network group and object detection for the processed pixel information during operation of the image sensor containing groups of neural networks configured to perform analysis for

Description

이미지 센서 아키텍처Image sensor architecture

<관련 출원에 대한 상호 참조><Cross-Reference to Related Applications>

본 출원은 2019년 4월 5일에 출원된 미국 특허 출원 번호 제16/376,634호에 대한 우선권을 주장하며, 그 전체가 본 명세서에서 참조로 포함된다.This application claims priority to U.S. Patent Application Serial No. 16/376,634, filed April 5, 2019, which is incorporated herein by reference in its entirety.

<기술분야><Technology>

본 명세서는 이미지 센서들 및 이미지 센서들을 포함하는 시스템들에 관한 것이다.BACKGROUND This disclosure relates to image sensors and systems including image sensors.

본 명세서는 이미지들을 캡처하고, 객체들을 검출하기 위해 이미지 센서 상에서 프로세싱을 수행하는 이미지 센서에 관한 기술들을 설명한다. 본 명세서는 이미지 센서로부터 원격 프로세서로 데이터를 송신하기 위한 데이터 송신 프로토콜들을 추가로 설명한다.This specification describes techniques for an image sensor that captures images and performs processing on the image sensor to detect objects. This specification further describes data transmission protocols for transmitting data from an image sensor to a remote processor.

일반적으로, 본 명세서에서 설명되는 대상의 하나의 혁신적인 양태는 포지션에 기초하여 픽셀 센서 그룹들로 그룹화되는 픽셀 센서들을 포함하는 제1 집적 회로 층; 제1 집적 회로 층과 전기적으로 통신하는 제2 집적 회로 층 - 제2 집적 회로 층은 대응하는 픽셀 센서 그룹으로부터 픽셀 정보를 각각 수신하도록 구성되는 이미지 프로세싱 회로망 그룹들을 포함하고, 이미지 프로세싱 회로망 그룹(image processing circuitry group)들은 이미지 센서의 동작 동안 프로세싱된 픽셀 정보를 제공하기 위해 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하도록 추가로 구성됨 -; 제2 집적 회로 층과 전기적으로 통신하는 제3 집적 회로 층 - 제3 집적 회로 층은 대응하는 이미지 프로세싱 회로망 그룹으로부터 프로세싱된 픽셀 정보를 각각 수신하도록 구성되는 신경망 회로망 그룹들을 포함하고, 신경망 회로망 그룹들은 이미지 센서의 동작 동안 프로세싱된 픽셀 정보에 대해 객체 검출을 위한 분석을 수행하도록 추가로 구성됨 -; 및 신경망 회로망 그룹들에 의한 객체 검출을 위한 분석의 결과들을 나타내는 정보를 출력하는 회로망을 포함하고, 제1 집적 회로 층은 제2 집적 회로 층 상에 적층되고, 제2 집적 회로 층은 제3 집적 회로 층 상에 적층되는, 이미지 센서에서 구체화될 수 있다.Generally, one innovative aspect of the subject matter described herein includes: a first integrated circuit layer comprising pixel sensors grouped into pixel sensor groups based on position; a second integrated circuit layer in electrical communication with the first integrated circuit layer, the second integrated circuit layer comprising image processing circuitry groups each configured to receive pixel information from a corresponding pixel sensor group; processing circuitry groups further configured to perform image processing operations on the pixel information to provide processed pixel information during operation of the image sensor; a third integrated circuit layer in electrical communication with the second integrated circuit layer, the third integrated circuit layer comprising neural network groups each configured to receive processed pixel information from a corresponding image processing network group, the neural network groups comprising: further configured to perform analysis for object detection on the pixel information processed during operation of the image sensor; and a network for outputting information representing results of analysis for object detection by neural network groups, wherein a first integrated circuit layer is stacked on a second integrated circuit layer, and the second integrated circuit layer is a third integrated circuit layer It can be embodied in an image sensor, which is laminated on a circuit layer.

이 양태의 다른 실시예들은 이미지 센서에 대응하는 액션들을 수행하고 이미지 센서를 형성하기 위한 액션들을 수행하는 대응하는 방법들을 포함한다.Other embodiments of this aspect include corresponding methods of performing actions corresponding to an image sensor and performing actions to form an image sensor.

이들 및 다른 실시예들은 각각 다음의 특징들 중 하나 이상을 임의적으로 포함할 수 있다. 일부 양태들에서, 객체 검출을 위한 분석의 결과들은 검출들을 표현하는 픽셀들에 대한 선택된 관심 영역들; 시간 및 기하학적 위치 정보를 포함하는 메타데이터; 객체 검출 이전의 중간 계산 결과(intermediate computational result)들; 네트워크 확실성 레벨(network certainty level)에 관한 통계 정보; 및 검출된 객체들의 분류들로 구성되는 그룹 중 적어도 하나를 포함한다. 특정 양태들에서, 신경망 회로망 그룹들은 각각 컨볼루션 신경망(convolutional neural network)을 구현하도록 구성되는 회로망을 포함한다.Each of these and other embodiments may optionally include one or more of the following features. In some aspects, the results of the analysis for object detection include selected regions of interest for pixels representing the detections; metadata including time and geometric location information; intermediate computational results before object detection; statistical information regarding network certainty level; and at least one of a group consisting of classifications of detected objects. In certain aspects, the neural network network groups each include circuitry configured to implement a convolutional neural network.

일부 양태들에서, 컨볼루션 신경망들은 각각 신경망 회로망 그룹에 대응하는 이미지 프로세싱 회로망 그룹에 대응하는 픽셀 센서 그룹에 의해 감지된 객체들을 검출한다. 일부 구현들에서, 제3 집적 회로 층은 순환 신경망(recurrent neural network)을 구현하도록 구성되는 회로망을 포함한다. 특정 양태들에서, 순환 신경망은 신경망 회로망 그룹들 모두에 의해 검출된 객체들에 관한 정보를 수신하고, 픽셀 센서 그룹들 중 다수의 것들에 걸쳐 감지된 객체들을 검출한다.In some aspects, convolutional neural networks detect objects sensed by a pixel sensor group corresponding to an image processing network group, each corresponding to a neural network network group. In some implementations, the third integrated circuit layer includes circuitry configured to implement a recurrent neural network. In certain aspects, the recurrent neural network receives information about objects detected by all of the neural network groups, and detects objects sensed across multiple of the pixel sensor groups.

일부 양태들에서, 신경망 회로망 그룹들 각각은 신경망 회로망 그룹에 프로세싱된 픽셀 정보를 제공하는 이미지 프로세싱 회로망 그룹 바로 아래에 위치된다. 특정 양태들에서, 이미지 프로세싱 회로망 그룹들 각각은 이미지 프로세싱 회로망 그룹에 픽셀 정보를 제공하는 픽셀 센서 그룹의 바로 아래에 또는 바로 근처에 위치된다. 일부 구현들에서, 제1 집적 회로 층, 제2 집적 회로 층 및 제3 집적 회로 층은 단일 집적 칩에 통합된다.In some aspects, each of the neural network groups is located directly below an image processing network group that provides processed pixel information to the neural network group. In certain aspects, each of the image processing circuitry groups is located directly below or in the immediate vicinity of a pixel sensor group that provides pixel information to the image processing circuitry group. In some implementations, the first integrated circuit layer, the second integrated circuit layer, and the third integrated circuit layer are integrated into a single integrated chip.

일부 양태들에서, 픽셀 센서 그룹들 각각은 동일한 개수의 픽셀 센서를 포함한다. 특정 양태들에서, 픽셀 정보에 대해 수행되는 이미지 프로세싱 동작들은 프로세싱 이전에 높은 동적 범위 융합(high dynamic range fusion)을 포함한다. 일부 양태들에서, 이미지 프로세싱 회로망 그룹들 각각은 아날로그 디지털 변환기를 포함한다.In some aspects, each of the pixel sensor groups includes the same number of pixel sensors. In certain aspects, image processing operations performed on pixel information include high dynamic range fusion prior to processing. In some aspects, each of the image processing circuitry groups includes an analog-to-digital converter.

일반적으로, 본 명세서에서 설명되는 대상의 하나의 혁신적인 양태는 이미지 센서의 픽셀 센서들에 의해 캡처된 다수의 이미지들을 획득하는 액션; 이미지 센서에 통합된 신경망 회로망을 사용하여, 객체 검출을 위해 다수의 이미지들을 분석하는 액션; 이미지 센서에 통합된 신경망 회로망을 사용하여 다수의 이미지들 각각에 대해, 객체 검출을 위해 다수의 이미지들의 분석의 결과들과 관련된 신경망 출력 데이터를 생성하는 액션; 및 이미지 센서로부터, 다수의 이미지들 각각의 이미지 데이터 대신 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 액션을 포함하는 방법으로 구체화될 수 있다.Generally, one innovative aspect of the subject matter described herein is an action of acquiring a plurality of images captured by pixel sensors of an image sensor; analyzing the plurality of images for object detection using neural network circuitry integrated in the image sensor; generating, for each of the plurality of images using neural network circuitry integrated in the image sensor, neural network output data related to results of analysis of the plurality of images for object detection; and transmitting, from the image sensor, neural network output data for each of the plurality of images and image data for a subset of the plurality of images instead of image data of each of the plurality of images.

이 양태의 다른 실시예들은 본 방법의 액션들을 수행하도록 구성되는 대응하는 이미지 센서들을 포함한다.Other embodiments of this aspect include corresponding image sensors configured to perform the actions of the method.

이들 및 다른 실시예들은 각각 다음의 특징들 중 하나 이상을 임의적으로 포함할 수 있다. 일부 양태들에서, 다수의 이미지들 각각의 이미지 데이터 대신 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 액션은 다수의 이미지들의 제1 이미지에 대한 이미지 데이터 및 제1 이미지에 대한 신경망 출력 데이터를 송신하고, 제2 이미지에 대한 신경망 출력 데이터를 송신하고, 제2 이미지에 대한 이미지 데이터의 송신 전에 및 이를 송신하지 않고 다수의 이미지들의 제3 이미지에 대한 이미지 데이터 및 제3 이미지에 대한 신경망 출력 데이터를 송신하는 액션을 포함한다.Each of these and other embodiments may optionally include one or more of the following features. In some aspects, the action of transmitting the neural network output data for each of the plurality of images and image data for the subset of the plurality of images instead of image data of each of the plurality of images comprises an image for a first image of the plurality of images. data and neural network output data for the first image, and neural network output data for the second image, before and without sending the image data for the second image, for the third image of the plurality of images. and sending the image data and neural network output data for the third image.

특정 양태들에서, 액션들은 다수의 이미지들의 제1 이미지에 대한 이미지 데이터 및 제1 이미지에 대한 신경망 출력 데이터를 송신하면서, 객체 검출을 위해 다수의 이미지들의 제2 이미지를 분석하는 액션을 포함한다. 일부 구현들에서, 액션들은 제3 이미지를 캡처하면서, 객체 검출을 위해 다수의 이미지들의 분석의 결과들과 관련된 신경망 출력 데이터를 생성하는 액션을 포함한다. 일부 양태들에서, 이미지 센서로부터, 다수의 이미지들 각각의 이미지 데이터 대신 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 액션은 다수의 이미지들의 서브세트의 이미지 데이터를 초당 특정 수의 프레임들로 송신하고, 다수의 이미지들의 서브세트에 대한 이미지 데이터가 송신되고 있지 않는 동안 이미지들에 대한 신경망 출력 데이터를 송신하는 액션을 포함한다.In certain aspects, the actions include analyzing the second image of the plurality of images for object detection, while transmitting image data for the first image of the plurality of images and neural network output data for the first image. In some implementations, the actions include generating neural network output data related to results of analysis of the plurality of images for object detection, while capturing the third image. In some aspects, the action of transmitting, from the image sensor, neural network output data for each of the plurality of images and image data for the subset of the plurality of images instead of image data of each of the plurality of images, is the subset of the plurality of images. sending the image data of , at a certain number of frames per second, and sending neural network output data for the images while image data for the subset of the plurality of images is not being transmitted.

특정 양태들에서, 다수의 이미지들의 서브세트는 이미지 센서에 의해 캡처된 모든 제N 이미지를 포함하며, N은 1보다 큰 정수이다. 일부 구현들에서, 이미지들의 특정 이미지에 대한 이미지 데이터는 이미지 내의 각각의 픽셀에 대한 값들을 나타내는 데이터를 포함한다. 일부 양태들에서, 이미지들의 특정 이미지에 대한 신경망 출력 데이터는 검출들을 표현하는 픽셀들에 대한 선택된 관심 영역들; 시간 및 기하학적 위치 정보를 포함하는 메타데이터; 객체 검출 이전의 중간 계산 결과들; 네트워크 확실성 레벨에 관한 통계 정보; 및 검출된 객체들의 분류들 중 하나 이상을 포함한다.In certain aspects, the subset of the plurality of images includes all Nth images captured by the image sensor, where N is an integer greater than one. In some implementations, the image data for a particular image of the images includes data representing values for each pixel in the image. In some aspects, the neural network output data for a particular image of images includes selected regions of interest for pixels representing detections; metadata including time and geometric location information; intermediate calculation results before object detection; statistical information about the level of network certainty; and one or more of the classifications of the detected objects.

특정 양태들에서, 이미지들의 특정 이미지에 대한 신경망 출력 데이터는 추가 프로세싱을 위해 프로세서에 제공되는 부분적으로 프로세싱된 데이터를 표현한다. 일부 구현들에서, 신경망 출력 데이터 및 이미지 데이터를 송신하는 액션은 신경망 출력 데이터 및 이미지 데이터를 중앙 프로세싱 유닛에 송신하는 액션을 포함한다.In certain aspects, the neural network output data for a particular image of the images represents partially processed data provided to a processor for further processing. In some implementations, the action of sending the neural network output data and the image data includes sending the neural network output data and the image data to the central processing unit.

본 명세서에서 설명되는 대상의 특정 실시예들은 다음의 이점들 중 하나 이상을 실현하도록 구현될 수 있다. 이 기술의 이점은, 이미지 데이터를 프로세싱하기 위해 이미지 센서로부터 멀리 떨어진 프로세서들을 독점적으로 사용하는 것과 대조적으로, 이미지 센서에 다수의 적층된 집적 회로 층들을 포함하면 층들 간에 프로세싱이 분산될 수 있고, 이로 인해 이미지 센서 상에서 층들에 의한 병렬 프로세싱 및/또는 더 많은 프로세싱이 발생할 수 있다는 것일 수 있다.Certain embodiments of the subject matter described herein may be implemented to realize one or more of the following advantages. An advantage of this technology is that inclusion of multiple stacked integrated circuit layers in an image sensor allows processing to be distributed among the layers, as opposed to exclusively using processors remote from the image sensor to process the image data. It may be that parallel processing by layers and/or more processing may occur on the image sensor.

이미지 센서 외부 대신 이미지 센서의 층들에서 추가 프로세싱을 수행하면 이미지 센서 외부에서 특정 데이터를 프로세싱할 필요를 제거할 수 있으며, 이는 이미지 센서로부터 정보를 출력하는 데 사용되는 대역폭의 양을 감소시킬 수 있다. 예를 들어, 프레임들에 대해 이미지 센서 상에서 일부 프로세싱이 이미 수행되었을 수 있으므로, 이미지 센서에 의해 캡처된 프레임들의 서브세트만 출력될 필요가 있을 수 있다. 또 다른 이점은 정보가 층들 사이에서 짧은 거리로 전송될 수 있도록 다수의 층들이 배열될 수 있고, 이로 인해 데이터의 더 빠른 송신을 허용할 수 있다는 것일 수 있다.Performing additional processing in layers of the image sensor instead of outside the image sensor may eliminate the need to process specific data outside the image sensor, which may reduce the amount of bandwidth used to output information from the image sensor. For example, since some processing may have already been performed on the image sensor for the frames, only a subset of the frames captured by the image sensor may need to be output. Another advantage may be that multiple layers may be arranged such that information may be transmitted over short distances between the layers, thereby allowing for faster transmission of data.

본 명세서에서 설명되는 대상의 하나 이상의 실시예의 세부 사항은 첨부 도면들 및 아래의 설명에서 설명된다. 대상의 다른 특징들, 양태들 및 이점들은 설명, 도면들 및 청구범위로부터 명백해질 것이다.The details of one or more embodiments of the subject matter described herein are set forth in the accompanying drawings and the description below. Other features, aspects and advantages of the subject matter will become apparent from the description, drawings and claims.

도 1은 3개의 집적 회로 층을 갖는 예시적인 이미지 센서의 블록도이다.
도 2는 이미지 센서의 3개의 집적 회로 층을 이용한 객체의 검출을 위한 예시적인 프로세스의 흐름도이다.
도 3은 픽셀 센서 그룹들을 갖는 예시적인 집적 회로 층의 블록도이다.
도 4는 이미지 프로세싱 회로망 그룹들을 갖는 예시적인 집적 회로 층의 블록도이다.
도 5는 신경망 회로망 그룹들을 갖는 예시적인 집적 회로 층의 블록도이다.
도 6은 신경망 회로망이 없는 예시적인 이미지 센서에 대한 타이밍의 다이어그램이다.
도 7은 신경망 회로망을 갖는 예시적인 이미지 센서에 대한 타이밍의 다이어그램이다.
도 8은 신경망 회로망을 갖는 이미지 센서로부터 신경망 출력 데이터 및 이미지 데이터를 송신하기 위한 예시적인 프로세스의 흐름도이다.
도 9는 자율 주행 차량(autonomous vehicle)에 의해 사용되는 이미지 센서를 포함하는 예시적인 시스템의 블록도이다.
도 10은 별개의 칩들 상에 픽셀 센서 그룹들 및 신경망 회로망을 포함하는 예시적인 시스템의 블록도이다.
다양한 도면들에서 유사한 참조 번호들 및 명칭들은 유사한 요소들을 나타낸다.
1 is a block diagram of an exemplary image sensor having three integrated circuit layers.
2 is a flow diagram of an exemplary process for detection of an object using three integrated circuit layers of an image sensor.
3 is a block diagram of an exemplary integrated circuit layer having pixel sensor groups.
4 is a block diagram of an exemplary integrated circuit layer having groups of image processing circuitry.
5 is a block diagram of an exemplary integrated circuit layer having groups of neural networks.
6 is a diagram of timing for an exemplary image sensor without neural network circuitry.
7 is a diagram of timing for an exemplary image sensor having neural network circuitry.
8 is a flow diagram of an exemplary process for transmitting neural network output data and image data from an image sensor having neural network circuitry.
9 is a block diagram of an exemplary system including an image sensor used by an autonomous vehicle.
10 is a block diagram of an exemplary system including groups of pixel sensors and neural network circuitry on separate chips.
Like reference numbers and designations in the various drawings indicate like elements.

도 1은 3개의 집적 회로 층을 갖는 예시적인 이미지 센서(100)의 블록도이다. 이미지 센서(100)는 3개의 집적 회로 층을 사용하여 객체들을 검출할 수 있다. 예를 들어, 이미지 센서(100)는 인물을 포함하는 이미지를 캡처하고 "검출된 인물"의 표시를 출력할 수 있다. 다른 예로서, 이미지 센서(100)는 이미지를 캡처하고, 이미지 센서(100)에 의해 검출된 차량을 포함하는 이미지의 일부를 출력할 수 있다.1 is a block diagram of an exemplary image sensor 100 having three integrated circuit layers. The image sensor 100 may detect objects using three integrated circuit layers. For example, the image sensor 100 may capture an image including a person and output an indication of "detected person". As another example, the image sensor 100 may capture an image and output a part of the image including the vehicle detected by the image sensor 100 .

3개의 집적 회로 층은 제1 집적 회로 층(110), 제2 집적 회로 층(120) 및 제3 집적 회로 층(130)을 포함한다. 제1 집적 회로 층(110)은 제2 집적 회로 층(120) 상에 적층되고, 제2 집적 회로 층(120)은 제3 집적 회로 층(130) 상에 적층된다. 예를 들어, 제1 집적 회로 층(110)은 제2 집적 회로 층(120)의 상부와 직접 접촉하고, 제3 집적 회로 층(130)은 제2 집적 회로 층(120)의 하부와 직접 접촉한다.The three integrated circuit layers include a first integrated circuit layer 110 , a second integrated circuit layer 120 , and a third integrated circuit layer 130 . The first integrated circuit layer 110 is laminated on the second integrated circuit layer 120 , and the second integrated circuit layer 120 is laminated on the third integrated circuit layer 130 . For example, the first integrated circuit layer 110 is in direct contact with the top of the second integrated circuit layer 120 , and the third integrated circuit layer 130 is in direct contact with the bottom of the second integrated circuit layer 120 . do.

제1 집적 회로 층(110)은 제2 집적 회로 층(120)과 전기적으로 통신할 수 있다. 예를 들어, 제1 집적 회로 층(110)과 제2 집적 회로 층(120)은 인터커넥트들에 의해 서로 물리적으로 연결될 수 있다. 제2 집적 회로 층(120)은 제3 집적 회로 층(130)과 전기적으로 통신할 수 있다. 예를 들어, 제2 집적 회로 층(120)과 제3 집적 회로 층(130)은 인터커넥트들에 의해 서로 물리적으로 연결될 수 있다.The first integrated circuit layer 110 may be in electrical communication with the second integrated circuit layer 120 . For example, the first integrated circuit layer 110 and the second integrated circuit layer 120 may be physically connected to each other by interconnects. The second integrated circuit layer 120 may be in electrical communication with the third integrated circuit layer 130 . For example, the second integrated circuit layer 120 and the third integrated circuit layer 130 may be physically connected to each other by interconnects.

제1 집적 회로 층(110)은 제2 집적 회로 층(120)과 동일한 면적을 가질 수 있다. 예를 들어, 제1 집적 회로 층(110) 및 제2 집적 회로 층(120)의 길이 및 폭은 동일할 수 있지만, 높이들은 상이할 수 있다. 제3 집적 회로 층(130)은 제1 및 제2 집적 회로 층(110, 120)보다 더 큰 면적을 가질 수 있다. 예를 들어, 제3 집적 회로 층(130)은 제1 및 제2 집적 회로 층(110, 120)의 길이 및 폭보다 둘 다 20% 더 큰 길이 및 폭을 가질 수 있다.The first integrated circuit layer 110 may have the same area as the second integrated circuit layer 120 . For example, the length and width of the first integrated circuit layer 110 and the second integrated circuit layer 120 may be the same, but the heights may be different. The third integrated circuit layer 130 may have a larger area than the first and second integrated circuit layers 110 and 120 . For example, the third integrated circuit layer 130 may have a length and width that are both 20% greater than the length and width of the first and second integrated circuit layers 110 , 120 .

제1 집적 회로 층(110)은 포지션에 의해 픽셀 센서 그룹들(각각의 픽셀 센서 그룹은 도 1에서 "픽셀 그룹"으로 지칭됨)(112A-112C)(집합적으로 112로 참조됨)로 그룹화되는 픽셀 센서들의 어레이를 포함할 수 있다. 예를 들어, 제1 집적 회로 층(110)은 320x240 픽셀 센서 그룹들로 그룹화된 픽셀 센서들의 6400x4800 어레이를 포함할 수 있으며, 각각의 픽셀 센서 그룹은 20x20 픽셀 센서들의 어레이를 포함한다.The first integrated circuit layer 110 groups by position into pixel sensor groups (each pixel sensor group is referred to as a “pixel group” in FIG. 1 ) 112A- 112C (collectively referred to as 112 ). and an array of pixel sensors. For example, the first integrated circuit layer 110 may include a 6400x4800 array of pixel sensors grouped into 320x240 pixel sensor groups, each pixel sensor group containing an array of 20x20 pixel sensors.

픽셀 센서 그룹들(112) 각각은 2x2 픽셀 센서 서브-그룹들을 포함할 수 있다. 예를 들어, 20x20 픽셀 센서들의 픽셀 센서 그룹들 각각은 10x10 픽셀 센서 서브-그룹들을 포함할 수 있으며, 각각의 픽셀 센서 서브-그룹은 좌측 상단에 적색 픽셀 센서를, 우측 하단에 녹색 픽셀 센서를, 좌측 하단에 제1 투명 픽셀 센서(clear pixel sensor)를, 우측 상단에 제2 투명 픽셀 센서를 포함하며, 각각의 서브-그룹은 적색-투명-투명-녹색(Red-Clear-Clear-Green)(RCCG) 서브-그룹들로도 지칭된다.Each of the pixel sensor groups 112 may include 2x2 pixel sensor sub-groups. For example, each of the pixel sensor groups of 20x20 pixel sensors may include 10x10 pixel sensor sub-groups, each pixel sensor sub-group having a red pixel sensor in the upper left, a green pixel sensor in the lower right, a first clear pixel sensor on the lower left and a second transparent pixel sensor on the upper right, each sub-group being Red-Clear-Clear-Green ( RCCG) sub-groups.

일부 구현들에서, 픽셀 센서 그룹들의 사이즈는 실리콘 활용을 증가시키도록 선택될 수 있다. 예를 들어, 픽셀 센서 그룹들의 사이즈는 더 많은 실리콘이 동일한 패턴의 픽셀 센서들을 갖는 픽셀 센서 그룹들에 의해 덮이도록 할 수 있다.In some implementations, the size of the pixel sensor groups can be selected to increase silicon utilization. For example, the size of the pixel sensor groups may allow more silicon to be covered by pixel sensor groups having the same pattern of pixel sensors.

제2 집적 회로 층(120)은 이미지 프로세싱 회로망 그룹들(각각의 이미지 프로세싱 회로망 그룹은 도 1에서 "프로세스 그룹"으로 지칭됨)(122A-122C)(집합적으로 122로 참조됨)을 포함할 수 있다. 예를 들어, 제2 집적 회로 층(120)은 320x240 이미지 프로세싱 회로망 그룹들을 포함할 수 있다.The second integrated circuit layer 120 may include image processing circuitry groups (each image processing circuitry group is referred to as a “process group” in FIG. 1) 122A-122C (collectively referred to as 122). can For example, the second integrated circuit layer 120 may include 320x240 image processing circuitry groups.

이미지 프로세싱 회로망 그룹들(122)은 대응하는 픽셀 센서 그룹으로부터 픽셀 정보를 각각 수신하도록 구성될 수 있고, 이미지 센서(100)의 동작 동안 프로세싱된 픽셀 정보를 제공하기 위해 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하도록 추가로 구성될 수 있다.The image processing circuitry groups 122 may each be configured to receive pixel information from a corresponding pixel sensor group, and perform image processing operations on the pixel information to provide processed pixel information during operation of the image sensor 100 . may be further configured to perform

일부 구현들에서, 각각의 이미지 프로세싱 회로망 그룹(122)은 단일 대응하는 픽셀 센서 그룹(112)으로부터 픽셀 정보를 수신할 수 있다. 예를 들어, 이미지 프로세싱 회로망 그룹(122A)은 픽셀 센서 그룹(112A)으로부터 픽셀 정보를 수신하고 임의의 다른 픽셀 그룹으로부터는 수신하지 않을 수 있고, 이미지 회로망 프로세싱 그룹(122B)은 픽셀 센서 그룹(112B)으로부터 픽셀 정보를 수신하고 임의의 다른 픽셀 그룹으로부터는 수신하지 않을 수 있다.In some implementations, each image processing circuitry group 122 may receive pixel information from a single corresponding pixel sensor group 112 . For example, image processing circuitry group 122A may receive pixel information from pixel sensor group 112A and not any other pixel group, and image circuitry processing group 122B may receive pixel information from pixel sensor group 112B. ) and may not receive pixel information from any other group of pixels.

일부 구현들에서, 각각의 이미지 프로세싱 회로망 그룹(122)은 다수의 대응하는 픽셀 센서 그룹들(112)로부터 픽셀 정보를 수신할 수 있다. 예를 들어, 이미지 프로세싱 회로망 그룹(122A)은 픽셀 센서 그룹들(112A 및 112B) 둘 다로부터 픽셀 픽셀 정보를 수신하고 다른 픽셀 그룹들로부터는 수신하지 않을 수 있고, 이미지 프로세싱 회로망 그룹(122B)은 픽셀 그룹(112C) 및 다른 픽셀 그룹으로부터 픽셀 정보를 수신하고 다른 픽셀 그룹들로부터는 수신하지 않을 수 있다.In some implementations, each image processing circuitry group 122 can receive pixel information from a number of corresponding pixel sensor groups 112 . For example, image processing circuitry group 122A may receive pixel pixel information from both pixel sensor groups 112A and 112B and not from other pixel groups, and image processing circuitry group 122B may It may receive pixel information from pixel group 112C and other pixel groups and not from other pixel groups.

이미지 프로세싱 회로망 그룹들(122)은 대응하는 픽셀 센서 그룹들(112)에 물리적으로 가까울 수 있기 때문에, 이미지 프로세싱 회로망 그룹들(122)이 대응하는 픽셀 그룹들로부터 픽셀 정보를 수신하게 하면 제1 집적 회로 층(110)으로부터 제2 층(120)으로 픽셀 정보가 빠르게 전송되게 할 수 있다. 정보가 전송되는 거리가 더 멀수록 전송에 더 오래 걸릴 수 있다. 예를 들어, 픽셀 센서 그룹(112A)은 이미지 프로세싱 회로망 그룹(122A) 바로 위에 있을 수 있고, 픽셀 센서 그룹(112A)은 이미지 프로세싱 회로망 그룹(122C) 바로 위에 있지 않을 수 있으므로, 픽셀 센서 그룹(112A)과 이미지 프로세싱 회로망 그룹(122C) 사이에 인터커넥트들이 있는 경우, 픽셀 센서 그룹(112A)으로부터 이미지 프로세싱 회로망 그룹(122A)으로 픽셀 정보를 전송하면 픽셀 센서 그룹(112A)으로부터 이미지 프로세싱 회로망 그룹(122C)으로 픽셀 정보를 전송하는 것보다 더 빠를 수 있다.Because the image processing circuitry groups 122 may be physically close to the corresponding pixel sensor groups 112 , allowing the image processing circuitry groups 122 to receive pixel information from the corresponding pixel groups causes the first integration Pixel information may be rapidly transmitted from the circuit layer 110 to the second layer 120 . The greater the distance over which information is transmitted, the longer it may take to transmit. For example, pixel sensor group 112A may be directly above image processing circuitry group 122A, and pixel sensor group 112A may not be directly above image processing circuitry group 122C, so pixel sensor group 112A ) and the image processing circuitry group 122C, sending pixel information from the pixel sensor group 112A to the image processing circuitry group 122A sends the pixel information from the pixel sensor group 112A to the image processing circuitry group 122C. It can be faster than sending pixel information to

이미지 프로세싱 회로망 그룹들(122)은 이미지 프로세싱 회로망 그룹들(122)이 픽셀 그룹들로부터 수신하는 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하도록 구성될 수 있다. 예를 들어, 이미지 프로세싱 회로망 그룹(122A)은 픽셀 센서 그룹(112A)으로부터의 픽셀 정보에 대해 높은 동적 범위 융합(high dynamic range fusion)을 수행할 수 있고, 이미지 프로세싱 회로망 그룹(122B)은 픽셀 센서 그룹(112B)으로부터의 픽셀 정보에 대해 높은 동적 범위 융합을 수행할 수 있다. 다른 이미지 프로세싱 동작들은, 예를 들어, 아날로그 대 디지털(analog to digital) 신호 변환 및 디-모자이크(de-mosaicing)를 포함할 수 있다.The image processing circuitry groups 122 may be configured to perform image processing operations on pixel information that the image processing circuitry groups 122 receive from the pixel groups. For example, image processing circuitry grouping 122A may perform high dynamic range fusion on pixel information from pixel sensor group 112A, and image processing circuitry grouping 122B may include pixel sensors High dynamic range fusion can be performed on the pixel information from group 112B. Other image processing operations may include, for example, analog to digital signal conversion and de-mosaicing.

이미지 프로세싱 회로망 그룹들(122)이 대응하는 픽셀 센서 그룹들(112)로부터의 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하게 하면 이미지 프로세싱 동작들이 이미지 프로세싱 회로망 그룹들(122)에 의해 병렬로 분산 방식으로 수행되게 할 수 있다. 예를 들어, 이미지 프로세싱 회로망 그룹(122A)은 이미지 프로세싱 회로망 그룹(122B)이 픽셀 그룹(122B)으로부터의 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하는 것과 동시에 픽셀 센서 그룹(112A)으로부터의 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행할 수 있다.Having the image processing circuitry groups 122 perform image processing operations on pixel information from the corresponding pixel sensor groups 112 causes the image processing operations to be performed in parallel by the image processing circuitry groups 122 in a distributed fashion. can be done For example, the image processing circuitry group 122A may perform image processing operations on the pixel information from the pixel group 122B at the same time that the image processing circuitry group 122B performs image processing operations on the pixel information from the pixel sensor group 112A. image processing operations may be performed on the .

제3 집적 회로 층(130)은 신경망 회로망 그룹들(132A-132C)(각각의 신경망 회로망 그룹은 도 1에서 "NN 그룹"으로 지칭됨)(132A-132C)(집합적으로 132로 참조됨) 및 전체 이미지 신경망 회로망(134)을 포함할 수 있다. 예를 들어, 제3 집적 회로 층(130)은 320x240 신경망 회로망 그룹들을 포함할 수 있다.The third integrated circuit layer 130 comprises neural network groups 132A-132C (each neural network group is referred to as an “NN group” in FIG. 1 ) (132A-132C) (collectively referred to as 132). and full image neural network circuitry 134 . For example, the third integrated circuit layer 130 may include 320x240 neural network groups.

신경망 회로망 그룹들(132)은 대응하는 이미지 프로세싱 회로망 그룹으로부터 프로세싱된 픽셀 정보를 각각 수신하도록 구성될 수 있고, 이미지 센서(100)의 동작 동안 프로세싱된 픽셀 정보에 대해 객체 검출을 위한 분석을 수행하도록 추가로 구성될 수 있다. 일부 구현들에서, 신경망 회로망 그룹들(132)은 각각 컨볼루션 신경망(convolutional neural network)(CNN)을 구현할 수 있다.Neural network groups 132 may each be configured to receive processed pixel information from a corresponding image processing network group, and perform analysis for object detection on the processed pixel information during operation of image sensor 100 . may be further configured. In some implementations, the neural network groups 132 may each implement a convolutional neural network (CNN).

일부 구현들에서, 각각의 신경망 회로망 그룹(132)은 단일 대응하는 이미지 프로세싱 회로망 그룹(122)으로부터 프로세싱된 픽셀 정보를 수신할 수 있다. 예를 들어, 신경망 회로망 그룹(132A)은 이미지 프로세싱 회로망 그룹(122A)으로부터 프로세싱된 픽셀 정보를 수신하고 임의의 다른 이미지 프로세싱 회로망 그룹으로부터는 수신하지 않을 수 있고, 신경망 회로망 그룹(132B)은 이미지 프로세싱 회로망 그룹(122B)으로부터 프로세싱된 픽셀 정보를 수신하고 임의의 다른 이미지 프로세싱 회로망 그룹으로부터는 수신하지 않을 수 있다.In some implementations, each neural network group 132 may receive processed pixel information from a single corresponding image processing network group 122 . For example, neural network group 132A may receive processed pixel information from image processing circuitry group 122A and not from any other image processing network group, and neural network group 132B may receive image processing circuitry group 122A. It may receive processed pixel information from circuitry group 122B and not from any other image processing circuitry group.

일부 구현들에서, 각각의 신경망 회로망 그룹(132)은 다수의 대응하는 이미지 프로세싱 회로망 그룹들(122)로부터 프로세싱된 픽셀 정보를 수신할 수 있다. 예를 들어, 신경망 회로망 그룹(132A)은 이미지 프로세싱 회로망 그룹들(122A 및 122B) 둘 다로부터 프로세싱된 픽셀 정보를 수신하고 다른 이미지 프로세싱 회로망 그룹들로부터는 수신하지 않을 수 있고, 신경망 회로망 그룹(132B)은 이미지 프로세싱 회로망 그룹(122C) 및 다른 픽셀 그룹 둘 다로부터 프로세싱된 픽셀 정보를 수신하고 다른 픽셀 그룹들로부터는 프로세싱된 픽셀 정보를 수신하지 않을 수 있다.In some implementations, each neural network group 132 can receive processed pixel information from a number of corresponding image processing network groups 122 . For example, neural network group 132A may receive processed pixel information from both image processing network groups 122A and 122B and not from other image processing network groups, and neural network group 132B ) may receive processed pixel information from both image processing circuitry group 122C and other pixel groups and not processed pixel information from other pixel groups.

신경망 회로망 그룹들(132)은 대응하는 이미지 프로세싱 회로망 그룹들(122)에 물리적으로 가까울 수 있기 때문에, 신경망 회로망 그룹들(132)이 대응하는 이미지 프로세싱 회로망 그룹들로부터 프로세싱된 픽셀 정보를 수신하게 하면 제2 집적 회로 층(120)으로부터 제3 집적 회로 층(130)으로 프로세싱된 픽셀 정보가 빠르게 전송되게 할 수 있다. 정보가 전송되는 거리가 더 멀수록 전송에 더 오래 걸릴 수 있다. 예를 들어, 이미지 프로세싱 회로망 그룹(122A)은 신경망 회로망 그룹(132A) 바로 위에 있을 수 있으므로, 이미지 프로세싱 회로망 그룹(122A)과 신경망 회로망 그룹(132C) 사이에 인터커넥트들이 있는 경우, 이미지 프로세싱 회로망 그룹(122A)으로부터 신경망 회로망 그룹(132A)으로 프로세싱된 픽셀 정보를 전송하면 이미지 프로세싱 회로망 그룹(122A)으로부터 신경망 회로망 그룹(132C)으로 프로세싱된 픽셀 정보를 전송하는 것보다 더 빠를 수 있다.Because the neural network groups 132 may be physically close to the corresponding image processing network groups 122, allowing the neural network groups 132 to receive processed pixel information from the corresponding image processing network groups The processed pixel information may be rapidly transferred from the second integrated circuit layer 120 to the third integrated circuit layer 130 . The greater the distance over which information is transmitted, the longer it may take to transmit. For example, the image processing network group 122A may be directly above the neural network group 132A, so that if there are interconnects between the image processing network group 122A and the neural network group 132C, the image processing network group ( Sending processed pixel information from 122A to neural network group 132A may be faster than sending processed pixel information from image processing network group 122A to neural network group 132C.

신경망 회로망 그룹들(132)은 신경망 회로망 그룹들(132)이 이미지 프로세싱 회로망 그룹들(122)로부터 수신하는 프로세싱된 픽셀 정보로부터 객체들을 검출하도록 구성될 수 있다. 예를 들어, 신경망 회로망 그룹(132A)은 이미지 프로세싱 회로망 그룹(122A)으로부터의 프로세싱된 픽셀 정보로부터 객체들을 검출할 수 있고, 신경망 회로망 그룹(132B)은 이미지 프로세싱 회로망 그룹(122B)으로부터의 프로세싱된 픽셀 정보로부터 객체들을 검출할 수 있다.Neural network groups 132 may be configured to detect objects from processed pixel information that neural network groups 132 receive from image processing network groups 122 . For example, neural network group 132A may detect objects from processed pixel information from image processing circuitry group 122A, and neural network group 132B may detect objects from processed pixel information from image processing network group 122B. Objects can be detected from pixel information.

신경망 회로망 그룹들(132)이 대응하는 이미지 프로세싱 회로망 그룹(122)으로부터의 프로세싱된 픽셀 정보로부터 객체들을 검출하게 하면 검출이 신경망 회로망 그룹들(132) 각각에 의해 병렬로 분산 방식으로 수행되게 할 수 있다. 예를 들어, 신경망 회로망 그룹(132A)은 신경망 회로망 그룹(132B)이 이미지 프로세싱 회로망 그룹(122B)으로부터의 프로세싱된 픽셀 정보로부터 객체들을 검출하는 것과 동시에 이미지 프로세싱 회로망 그룹(122A)으로부터의 프로세싱된 픽셀 정보로부터 객체들을 검출할 수 있다.Allowing the neural network groups 132 to detect objects from processed pixel information from the corresponding image processing network group 122 may cause the detection to be performed by each of the neural network groups 132 in a distributed manner in parallel. have. For example, neural network group 132A may detect processed pixels from image processing network group 122A at the same time neural network group 132B detects objects from processed pixel information from image processing network group 122B. It is possible to detect objects from information.

일부 구현들에서, 신경망 회로망 그룹들(132)은 중간 프로세싱(intermediate processing)을 수행할 수 있다. 따라서, 이미지 센서(100)는 3개의 집적 회로 층(110, 120 및 130)을 사용하여 일부 중간 프로세싱을 수행하고 중간 결과만 출력할 수 있다. 예를 들어, 이미지 센서(100)는 인물을 포함하는 이미지를 캡처하고, 관심 객체(인물)를 분류하지 않고, "이미지의 일부 영역에서의 관심 영역"의 표시를 출력할 수 있다. 이미지 센서(100) 외부에서 수행되는 다른 프로세싱이 관심 영역을 인물로서 분류할 수 있다.In some implementations, neural network groups 132 may perform intermediate processing. Accordingly, the image sensor 100 may perform some intermediate processing using the three integrated circuit layers 110 , 120 , and 130 and output only intermediate results. For example, the image sensor 100 may capture an image including a person, and output an indication of "a region of interest in a partial region of an image" without classifying an object of interest (person). Other processing performed outside the image sensor 100 may classify the region of interest as a person.

따라서, 이미지 센서(100)로부터의 출력은 일부 컨볼루션 신경망의 출력을 표현하는 일부 데이터를 포함할 수 있다. 이 데이터 자체는 해독하기 어려울 수 있지만, 이미지 센서(100) 외부에서 계속 프로세싱되면, 데이터가 영역을 인물을 포함하는 것으로 분류하는 데 사용될 수 있다. 이 하이브리드 접근 방식은 필요한 대역폭을 감소시키는 이점을 갖는다. 따라서, 신경망 회로망 그룹들(132)로부터의 출력은 검출들을 표현하는 픽셀들에 대한 선택된 관심 영역들, 시간 및 기하학적 위치 정보를 포함하는 메타데이터, 객체 검출 이전의 중간 계산 결과들, 네트워크 확실성 레벨에 관한 통계 정보, 및 검출된 객체들의 분류들 중 하나 이상을 포함할 수 있다.Accordingly, the output from the image sensor 100 may include some data representing the output of some convolutional neural network. This data itself may be difficult to decipher, but as it continues to be processed outside of image sensor 100, the data can be used to classify regions as containing people. This hybrid approach has the advantage of reducing the required bandwidth. Thus, the output from neural network groups 132 is based on selected regions of interest for pixels representing detections, metadata including temporal and geometric position information, intermediate computation results prior to object detection, and network certainty level. statistical information about the object, and one or more of classifications of the detected objects.

일부 구현들에서, 신경망 회로망 그룹들(132)은 높은 재현율(recall) 및 낮은 정밀도(precision)들로 CNN들을 구현하도록 구성될 수 있다. 신경망 회로망 그룹들(132)은 각각 검출된 객체들의 리스트, 객체가 검출된 곳, 및 객체의 검출 타이밍을 출력할 수 있다.In some implementations, neural network groups 132 may be configured to implement CNNs with high recall and low precision. The neural network groups 132 may respectively output a list of detected objects, where the object was detected, and the detection timing of the object.

전체 이미지 신경망 회로망(134)은, 신경망 회로망 그룹들(132) 각각으로부터, 신경망 회로망 그룹들(132)이 검출한 객체들을 나타내는 데이터를 수신하고, 데이터로부터 객체들을 검출하도록 구성될 수 있다. 예를 들어, 신경망 회로망 그룹들(132)은 각각의 개별 신경망 회로망 그룹이 객체에 대응하는 프로세싱된 픽셀 정보의 일부만 수신할 수 있기 때문에 다수의 픽셀 그룹들에 의해 캡처되는 객체들을 검출할 수 없을 수 있지만, 전체 이미지 신경망 회로망(134)은 다수의 신경망 회로망 그룹들(132)로부터 데이터를 수신하여 다수의 픽셀 그룹들에 의해 감지된 객체들을 검출할 수 있다. 일부 구현들에서, 전체 이미지 신경망 회로망(134)은 순환 신경망(RNN)을 구현할 수 있다. 신경망들은 그들의 아키텍처(층들의 수 및 타입, 활성화 함수(activation function)들 등)뿐만 아니라, 신경망 컴포넌트들의 실제 값들(예를 들어, 가중치들, 바이어스들 등)과 관련하여 구성 가능할 수 있다.The full image neural network network 134 may be configured to receive, from each of the neural network groups 132 , data representing objects detected by the neural network groups 132 , and to detect objects from the data. For example, neural network groups 132 may not be able to detect objects captured by multiple pixel groups because each individual neural network group may only receive a portion of the processed pixel information corresponding to the object. However, the full image neural network network 134 may receive data from a plurality of neural network groups 132 to detect objects sensed by a plurality of pixel groups. In some implementations, the full image neural network circuitry 134 may implement a recurrent neural network (RNN). Neural networks may be configurable with respect to their architecture (number and type of layers, activation functions, etc.), as well as the actual values of neural network components (eg, weights, biases, etc.).

일부 구현들에서, 이미지 센서(100)가 프로세싱을 수행하게 하면 프로세싱 파이프라인 아키텍처를 단순화하게 하고, 더 높은 대역폭 및 더 낮은 레이턴시를 제공하게 하고, 선택적 프레임 레이트 동작들을 허용하게 하고, 적층된 아키텍처로 비용을 절감하게 하고, 집적 회로가 더 적은 잠재적인 실패 지점들을 가질 수 있음에 따라 더 높은 시스템 신뢰성을 제공하게 하고, 계산 리소스들에 대한 상당한 비용 및 전력 절감들을 제공하게 할 수 있다.In some implementations, letting the image sensor 100 perform processing simplifies the processing pipeline architecture, provides higher bandwidth and lower latency, allows for selective frame rate operations, and allows for a stacked architecture. This may result in cost savings, higher system reliability as the integrated circuit may have fewer potential points of failure, and significant cost and power savings for computational resources.

일부 구현들에서, 제3 집적 회로 층(130)은 실리콘 대 실리콘 직접 본딩 방법 또는 "플립 칩" 접근 방식을 사용하여 제2 집적 회로 층(120)에 본딩될 수 있으며, 여기서 층들 사이에 기판이 개재되고 실리콘으로부터 기판으로의 와이어 본딩을 사용하여 연결들이 구현된다.In some implementations, the third integrated circuit layer 130 may be bonded to the second integrated circuit layer 120 using a silicon-to-silicon direct bonding method or a “flip chip” approach, wherein the substrate is between the layers. It is interposed and the connections are implemented using wire bonding from the silicon to the substrate.

도 2는 이미지 센서의 3개의 집적 회로 층을 이용한 객체의 검출을 위한 예시적인 프로세스(200)의 흐름도이다. 프로세스(200)는 도 1의 이미지 센서(100) 또는 일부 다른 이미지 센서에 의해 수행될 수 있다.2 is a flow diagram of an exemplary process 200 for detection of an object using three integrated circuit layers of an image sensor. Process 200 may be performed by image sensor 100 of FIG. 1 or some other image sensor.

프로세스(200)는, 제1 집적 회로 층에 있고 포지션에 기초하여 픽셀 센서 그룹들로 그룹화되는 픽셀 센서들에 의해, 픽셀 정보를 획득하는 단계(210)를 포함할 수 있다. 예를 들어, 제1 집적 회로 층(110)의 픽셀 센서 그룹들(112)의 픽셀 센서들 각각은 픽셀 센서에 의해 감지된 광의 강도를 표현하는 아날로그 신호들인 픽셀 정보를 생성할 수 있다. 일부 구현들에서, 픽셀 센서 그룹들 각각은 동일한 수의 픽셀 센서를 포함한다. 예를 들어, 픽셀 센서 그룹들(112) 각각은 20x20 RCCG 서브-그룹들을 형성하는 400개의 픽셀 센서를 포함할 수 있다.The process 200 may include obtaining 210 pixel information by pixel sensors that are in the first integrated circuit layer and are grouped into pixel sensor groups based on position. For example, each of the pixel sensors of the pixel sensor groups 112 of the first integrated circuit layer 110 may generate pixel information that is analog signals representing the intensity of light sensed by the pixel sensor. In some implementations, each of the pixel sensor groups includes the same number of pixel sensors. For example, each of the pixel sensor groups 112 may include 400 pixel sensors forming 20x20 RCCG sub-groups.

프로세스(200)는, 제2 집적 회로 층의 이미지 프로세싱 회로망 그룹들에 의해, 프로세싱된 픽셀 정보를 제공하기 위해 대응하는 픽셀 센서 그룹으로부터의 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하는 단계(220)를 포함할 수 있다. 예를 들어, 이미지 프로세싱 회로망 그룹(122A)은 픽셀 센서 그룹(112A)으로부터 픽셀 정보를 수신하고 픽셀 센서 그룹(112A)으로부터의 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행할 수 있는 반면, 이미지 프로세싱 회로망 그룹(122B)은 픽셀 센서 그룹(112B)으로부터 픽셀 정보를 수신하고 픽셀 센서 그룹(112B)으로부터의 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행할 수 있다.The process 200 includes performing 220 image processing operations on pixel information from a corresponding pixel sensor group to provide pixel information processed by the image processing circuitry groups of the second integrated circuit layer. may include For example, image processing circuitry group 122A may receive pixel information from pixel sensor group 112A and perform image processing operations on pixel information from pixel sensor group 112A, while image processing circuitry group 122B may receive pixel information from pixel sensor group 112B and perform image processing operations on the pixel information from pixel sensor group 112B.

일부 구현들에서, 이미지 프로세싱 회로망 그룹들 각각은 이미지 프로세싱 회로망 그룹에 픽셀 정보를 제공하는 픽셀 센서 그룹 바로 아래에 위치된다. 예를 들어, 이미지 프로세싱 회로망 그룹(122A)은 픽셀 센서 그룹(112A) 바로 아래에 위치될 수 있고, 이미지 프로세싱 회로망 그룹(122B)은 픽셀 센서 그룹(112B) 바로 아래에 위치될 수 있다. 일부 구현들에서, 이미지 프로세싱 회로망 그룹들 각각은 이미지 프로세싱 회로망 그룹에 픽셀 정보를 제공하는 픽셀 센서 그룹의 바로 근처에 위치될 수 있다. 일부 구현들에서, 제2 집적 회로 층은 제1 집적 회로 층과 전기적으로 통신할 수 있다. 예를 들어, 제2 집적 회로 층(120)은 전기 전도성 재료로 형성된 인터커넥트들에 의해 제1 집적 회로 층(110)에 연결될 수 있다.In some implementations, each of the image processing circuitry groups is located directly below a pixel sensor group that provides pixel information to the image processing circuitry group. For example, image processing circuitry group 122A may be located directly below pixel sensor group 112A, and image processing circuitry group 122B may be located directly below pixel sensor group 112B. In some implementations, each of the image processing circuitry groups can be located in the immediate vicinity of a pixel sensor group that provides pixel information to the image processing circuitry group. In some implementations, the second integrated circuit layer can be in electrical communication with the first integrated circuit layer. For example, the second integrated circuit layer 120 may be connected to the first integrated circuit layer 110 by interconnects formed of an electrically conductive material.

프로세스(200)는, 제3 집적 회로 층의 신경망 회로망 그룹들에 의해, 대응하는 이미지 프로세싱 회로망 그룹으로부터의 프로세싱된 픽셀 정보에 대해 객체 검출을 위한 분석을 수행하는 단계(230)를 포함할 수 있다. 예를 들어, 신경망 회로망 그룹(132A)은 이미지 프로세싱 회로망 그룹(122A)으로부터 프로세싱된 픽셀 정보를 수신하고 이미지 프로세싱 회로망 그룹(122A)으로부터의 프로세싱된 픽셀 정보로부터 객체들을 검출할 수 있는 반면, 신경망 회로망 그룹(132B)은 이미지 프로세싱 회로망 그룹(122B)으로부터 픽셀 정보를 수신하고 이미지 프로세싱 회로망 그룹(122B)으로부터의 프로세싱된 픽셀 정보로부터 객체들을 검출할 수 있다. 다른 예에서, 신경망 회로망 그룹들(132)은 대응하는 이미지 프로세싱 회로망 그룹들(122)로부터 프로세싱된 픽셀 정보를 수신하고, 검출들을 표현하는 픽셀들에 대한 선택된 관심 영역들, 시간 및 기하학적 위치 정보를 포함하는 메타데이터, 객체 검출 이전의 중간 계산 결과들, 네트워크 확실성 레벨에 관한 통계 정보, 및 검출된 객체들의 분류들 중 하나 이상을 출력할 수 있다.The process 200 may include, by the neural network groups of the third integrated circuit layer, performing 230 analysis for object detection on the processed pixel information from the corresponding image processing network group. . For example, neural network group 132A may receive processed pixel information from image processing network group 122A and detect objects from processed pixel information from image processing network group 122A, whereas neural network group 122A Group 132B may receive pixel information from image processing circuitry group 122B and detect objects from the processed pixel information from image processing circuitry group 122B. In another example, neural network groups 132 receive processed pixel information from corresponding image processing network groups 122 , and display selected regions of interest, temporal and geometric location information for pixels representing detections. At least one of metadata including included metadata, intermediate calculation results before object detection, statistical information about a network certainty level, and classifications of detected objects may be output.

일부 구현들에서, 신경망 회로망 그룹들은 각각 CNN을 구현하도록 구성되는 회로망을 포함한다. 예를 들어, 신경망 회로망 그룹(132A)은 제1 CNN을 구현하기 위한 회로망을 포함할 수 있고, 신경망 회로망 그룹(132B)은 제2의 상이한 CNN을 구현하기 위한 회로망을 포함할 수 있다.In some implementations, the neural network network groups each include a circuitry configured to implement a CNN. For example, neural network group 132A may include circuitry for implementing a first CNN, and neural network network group 132B may include circuitry for implementing a second, different CNN.

컨볼루션 신경망들은 각각 신경망 회로망 그룹에 대응하는 이미지 프로세싱 회로망 그룹에 대응하는 픽셀 센서 그룹에 의해 감지된 객체들을 검출할 수 있다. 예를 들어, 신경망 회로망 그룹(132A)의 CNN은 픽셀 센서 그룹(112A)의 픽셀 센서들에 의해 캡처된 제1 객체를 검출할 수 있고, 신경망 회로망 그룹(132B)의 CNN은 픽셀 센서 그룹(112B)의 픽셀 센서들에 의해 캡처된 제2 객체를 검출할 수 있다.The convolutional neural networks may each detect objects sensed by the pixel sensor group corresponding to the image processing network group corresponding to the neural network network group. For example, the CNN of the neural network group 132A may detect a first object captured by the pixel sensors of the pixel sensor group 112A, and the CNN of the neural network group 132B is the pixel sensor group 112B ) and detect the second object captured by the pixel sensors of

일부 구현들에서, 제3 집적 회로 층은 RNN을 구현하도록 구성되는 회로망을 포함한다. 예를 들어, 제3 집적 회로 층(130)은 신경망 회로망 그룹들 모두에 의해 검출된 객체들에 관한 정보를 수신하고 픽셀 센서 그룹들 중 다수의 것들에 걸쳐 감지된 객체들을 검출하는 RNN에 대해 구성되는 회로망을 포함할 수 있다.In some implementations, the third integrated circuit layer includes circuitry configured to implement the RNN. For example, the third integrated circuit layer 130 is configured for an RNN that receives information about objects detected by all of the neural network groups and detects objects detected across multiple of the pixel sensor groups. It may include a network that is

일부 구현들에서, 신경망 회로망 그룹들 각각은 신경망 회로망 그룹에 프로세싱된 픽셀 정보를 제공하는 이미지 프로세싱 회로망 그룹 바로 아래에 위치된다. 예를 들어, 신경망 회로망 그룹(132A)은 이미지 프로세싱 회로망 그룹(122A) 바로 아래에 위치될 수 있고, 신경망 회로망 그룹(132B)은 이미지 프로세싱 회로망 그룹(122B) 바로 아래에 위치될 수 있다.In some implementations, each of the neural network groups is located directly below an image processing network group that provides processed pixel information to the neural network group. For example, neural network group 132A may be located directly below image processing circuitry group 122A, and neural network group 132B may be located directly below image processing circuitry group 122B.

일부 구현들에서, 제3 집적 회로 층은 제2 집적 회로 층과 전기적으로 통신할 수 있다. 예를 들어, 제3 집적 회로 층(130)은 전기 전도성 재료로 형성된 인터커넥트들에 의해 제2 집적 회로 층(120)에 연결될 수 있다.In some implementations, the third integrated circuit layer can be in electrical communication with the second integrated circuit layer. For example, the third integrated circuit layer 130 may be connected to the second integrated circuit layer 120 by interconnects formed of an electrically conductive material.

프로세스(200)는 신경망 회로망 그룹들에 의한 객체 검출을 위한 분석의 결과들을 나타내는 정보를 출력하는 단계(240)를 포함할 수 있다. 예를 들어, 제3 집적 회로 층(130)은 이미지 센서(100)로부터 이미지 센서(100) 외부의 중앙 프로세싱 유닛으로 메타데이터를 출력하도록 구성되는 회로망을 포함할 수 있으며, 메타데이터는 신경망 회로망 그룹들(132)에 의해 검출된 객체들을 지정한다.Process 200 may include outputting information 240 indicative of results of analysis for object detection by neural network groups. For example, the third integrated circuit layer 130 may include circuitry configured to output metadata from the image sensor 100 to a central processing unit external to the image sensor 100 , wherein the metadata is a group of neural network networks. Specifies the objects detected by the s 132 .

일부 구현들에서, 프로세스(200)는 제1 집적 회로 층이 제2 집적 회로 층 상에 적층되고 제2 집적 회로 층이 제3 집적 회로 층 상에 적층되는 경우 수행될 수 있다. 예를 들어, 프로세스(200)는 제1 집적 회로 층(110)의 하부가 제2 집적 회로 층(120)의 상부와 직접 접촉하고 제2 집적 회로 층(120)의 하부가 제3 집적 회로 층(130)의 상부와 직접 접촉하는 이미지 센서(100)에 의해 수행될 수 있다.In some implementations, process 200 may be performed when a first integrated circuit layer is deposited on a second integrated circuit layer and a second integrated circuit layer is deposited on a third integrated circuit layer. For example, the process 200 may be such that the lower portion of the first integrated circuit layer 110 is in direct contact with the upper portion of the second integrated circuit layer 120 and the lower portion of the second integrated circuit layer 120 is the third integrated circuit layer. This may be performed by the image sensor 100 in direct contact with the upper portion of the 130 .

일부 구현들에서, 프로세스(200)는 제1 집적 회로 층, 제2 집적 회로 층 및 제3 집적 회로 층이 단일 집적 칩에 통합되는 경우 수행될 수 있다. 예를 들어, 프로세스(200)는 단일 집적 칩인 이미지 센서(100)에 의해 수행될 수 있다.In some implementations, process 200 may be performed when the first integrated circuit layer, the second integrated circuit layer, and the third integrated circuit layer are integrated into a single integrated chip. For example, process 200 may be performed by image sensor 100 being a single integrated chip.

도 3은 픽셀 센서 그룹들을 갖는 예시적인 집적 회로 층(300)의 블록도이다. 일부 구현들에서, 집적 회로 층(300)은 도 1에 도시된 제1 집적 회로 층(110)일 수 있다. 집적 회로 층(300)은 픽셀 센서 그룹들(310), 행 드라이버들, 타이밍 및 자동차 안전 무결성 레벨(automotive safety integrity level)을 위한 회로망(320), 및 인터커넥트들(330)을 포함한다. 도 3에 도시된 바와 같이, 픽셀 센서 그룹들(310) 각각은 RCCG 서브-그룹들의 다수의 2x2 어레이들을 포함하고, 픽셀 센서 그룹들(310) 각각은 RCCG 서브-그룹들의 동일한 수의 2x2 어레이들을 포함한다. 그러나, 집적 회로 층(300)의 다른 구현들은 상이한 픽셀 센서 그룹들을 포함할 수 있다. 예를 들어, 각각의 픽셀 그룹은 RCCG 서브-그룹들의 3x3 어레이들을 포함할 수 있다.3 is a block diagram of an exemplary integrated circuit layer 300 having pixel sensor groups. In some implementations, the integrated circuit layer 300 may be the first integrated circuit layer 110 shown in FIG. 1 . The integrated circuit layer 300 includes pixel sensor groups 310 , row drivers, circuitry 320 for timing and automotive safety integrity level, and interconnects 330 . As shown in FIG. 3 , each of the pixel sensor groups 310 includes multiple 2×2 arrays of RCCG sub-groups, and each of the pixel sensor groups 310 includes the same number of 2×2 arrays of RCCG sub-groups. include However, other implementations of the integrated circuit layer 300 may include different pixel sensor groups. For example, each group of pixels may include 3x3 arrays of RCCG sub-groups.

도 4는 이미지 프로세싱 회로망 그룹들을 갖는 예시적인 집적 회로 층(400)의 블록도이다. 일부 구현들에서, 집적 회로 층(400)은 도 1에 도시된 제2 집적 회로 층(120)일 수 있다. 집적 회로 층(400)은 이미지 프로세싱 회로망 그룹들(410), 로직 및 자동차 안전 무결성 레벨을 위한 회로망(420), 및 인터커넥트들(430)을 포함할 수 있다. 도 3에 도시된 바와 같이, 이미지 프로세싱 회로망 그룹(410) 각각은 하이/로우 아날로그-대-디지털 컨버터(analog-to-digital converter)들(ADCS), 높은 동적 범위 융합을 위한 회로망, 자동차 안전 무결성 레벨을 위한 회로망, 픽셀 메모리를 위한 회로망, 및 멀티플렉서를 위한 회로망을 포함할 수 있다. 멀티플렉서는 신경망 회로망 그룹이 있는 집적 회로 층(500)을 향해 단일 픽셀(다수의 픽셀당 비트(bits per pixel)) 또는 단일 링크(연결) 상에 직렬화된 픽셀들의 그룹들로서 층들 사이의 정보를 라우팅하는 데 있어서 유연성을 허용할 수 있다. 이미지 프로세싱 회로망 그룹들(410) 각각은 이미지 프로세싱 회로망 그룹(410)에 픽셀 정보를 제공하는 픽셀 센서 그룹(310)과 동일한 영역을 커버할 수 있다.4 is a block diagram of an exemplary integrated circuit layer 400 having image processing circuitry groups. In some implementations, the integrated circuit layer 400 can be the second integrated circuit layer 120 shown in FIG. 1 . The integrated circuit layer 400 may include image processing circuitry groups 410 , circuitry 420 for logic and automotive safety integrity levels, and interconnects 430 . As shown in Figure 3, each image processing circuitry group 410 includes high/low analog-to-digital converters (ADCS), circuitry for high dynamic range fusion, automotive safety integrity. circuitry for the level, circuitry for the pixel memory, and circuitry for the multiplexer. The multiplexer routes information between the layers as groups of pixels serialized on a single pixel (multiple bits per pixel) or on a single link (connection) towards an integrated circuit layer 500 with a group of neural networks. may allow for flexibility. Each of the image processing circuitry groups 410 may cover the same area as the pixel sensor group 310 that provides pixel information to the image processing circuitry group 410 .

도 5는 신경망 회로망 그룹들을 갖는 예시적인 집적 회로 층(500)의 블록도이다. 일부 구현들에서, 집적 회로 층(500)은 도 1에 도시된 제3 집적 회로 층(130)일 수 있다. 집적 회로 층(400)은 신경망 회로망 그룹들(510), 로직 및 자동차 안전 무결성 레벨을 위한 회로망(520), 인터커넥트들(530) 및 RNN을 포함할 수 있다.5 is a block diagram of an exemplary integrated circuit layer 500 having groups of neural networks. In some implementations, the integrated circuit layer 500 may be the third integrated circuit layer 130 shown in FIG. 1 . The integrated circuit layer 400 may include neural network groups 510 , circuitry 520 for logic and automotive safety integrity levels, interconnects 530 and an RNN.

도 5에 도시된 바와 같이, 신경망 회로망 그룹들(510) 각각은 메모리, CNN 및 디-멀티플렉서(de-multiplexor)를 위한 회로망을 포함할 수 있다. 디-멀티플렉서는 캡처된 픽셀 구성을 복원하기 위해 비트들 및 픽셀들을 역직렬화(deserialize)할 수 있다. 신경망 회로망 그룹들(510) 각각은 신경망 회로망 그룹(410)에 프로세싱된 픽셀 정보를 제공하는 이미지 프로세싱 회로망 그룹(410)과 동일한 영역을 커버할 수 있다.As shown in FIG. 5 , each of the neural network network groups 510 may include circuitry for a memory, a CNN, and a de-multiplexer. The de-multiplexer may deserialize the bits and pixels to recover the captured pixel configuration. Each of the neural network groups 510 may cover the same area as the image processing network group 410 that provides the processed pixel information to the neural network group 410 .

도 6은 신경망 회로망이 없는 예시적인 이미지 센서에 대한 타이밍의 다이어그램(600)이다. 다이어그램(600)은 프레임들의 전송 타이밍을 표현하는 제1 행(610), 프레임들의 캡처 타이밍을 표현하는 제2 행(620), 및 상기 액션들과 관련된 예시적인 시간 프레임들을 나타내는 제3 행(630)을 포함할 수 있다.6 is a diagram 600 of timing for an exemplary image sensor without neural network circuitry. Diagram 600 shows a first row 610 representing the timing of transmission of frames, a second row 620 representing the timing of capture of frames, and a third row 630 representing exemplary time frames associated with the actions. ) may be included.

다이어그램(600)은 이미지로도 지칭되는 프레임이 10밀리초 동안 100밀리초마다 이미지 센서에 의해 캡처될 수 있고 그 후 전송되는 프레임이 20밀리초 동안 전송되는 방법을 도시한다. 이미지 센서는 100밀리초 중 나머지 80밀리초 동안 유휴 상태일 수 있다. 프레임에 대한 프로세싱이 이미지 센서 외부에서 수행되고 프레임당 80밀리초가 걸리기 때문에, 이미지 센서는 100밀리초마다 단일 이미지만 전송할 수 있다. 예를 들어, 이미지 센서 외부의 중앙 프로세싱 유닛에 의해 전체 이미지에서 객체를 검출하는 데 80밀리초가 걸릴 수 있다. 따라서, 다이어그램(600)은 100밀리초마다 단일 프레임만이 사용되는 방법을 도시할 수 있다.Diagram 600 shows how a frame, also referred to as an image, can be captured by the image sensor every 100 milliseconds for 10 milliseconds and then the transmitted frame is transmitted for 20 milliseconds. The image sensor may be idle for the remaining 80 milliseconds of the 100 milliseconds. Because the processing of the frames is done outside the image sensor and takes 80 milliseconds per frame, the image sensor can only send a single image every 100 milliseconds. For example, it may take 80 milliseconds to detect an object in the entire image by a central processing unit external to the image sensor. Accordingly, diagram 600 may show how only a single frame is used every 100 milliseconds.

도 7은 신경망 회로망을 갖는 예시적인 이미지 센서에 대한 타이밍의 다이어그램(700)이다. 예를 들어, 다이어그램(700)은 도 1의 이미지 센서(100)에 대한 타이밍을 도시할 수 있다.7 is a diagram 700 of timing for an exemplary image sensor having neural network circuitry. For example, diagram 700 may depict timing for image sensor 100 of FIG. 1 .

다이어그램(700)은 프레임들의 전송 타이밍을 표현하는 제1 행(710), 프레임들 내에서 검출된 객체들과 관련된 신경망 출력 데이터를 생성하는 타이밍을 표현하는 제2 행(720), 프레임들을 캡처하는 타이밍을 표현하는 제3 행(730), 및 상기 액션들과 관련된 예시적인 시간 프레임들을 나타내는 제4 행(740)을 포함할 수 있다.The diagram 700 shows a first row 710 representing the transmission timing of frames, a second row 720 representing the timing of generating neural network output data related to objects detected within the frames, and capturing the frames. a third row 730 representing timing, and a fourth row 740 representing exemplary time frames associated with the actions.

다이어그램(700)은 10밀리초마다 이미지 센서에 의해 프레임들이 캡처되는 방법을 도시할 수 있으며, 100밀리초마다 이미지 센서는 20밀리초 동안 프레임을 전송하고 나머지 80밀리초 동안 이미지 센서에 의해 캡처된 10개의 프레임에 대해 생성된 신경망 출력 데이터가 전송된다. 따라서, 다이어그램(700)에서는 단일 프레임에 대한 이미지 데이터가 여전히 100밀리초당 전송되긴 하지만, 10개의 프레임에 대한 신경망 출력 데이터도 100밀리초마다 제공되기 때문에, 이미지 센서는 다이어그램(600)에서보다 10배 많은 프레임들에 대한 정보를 제공할 수 있다.Diagram 700 may show how frames are captured by the image sensor every 10 milliseconds, where every 100 milliseconds the image sensor transmits a frame for 20 milliseconds and the remaining 80 milliseconds captured by the image sensor. The neural network output data generated for 10 frames is transmitted. Thus, although in diagram 700 the image data for a single frame is still transmitted per 100 milliseconds, since the neural network output data for 10 frames is also provided every 100 milliseconds, the image sensor is 10 times larger than in diagram 600 . It can provide information about many frames.

이미지 센서로부터의 신경망 출력 데이터는 이미 프레임 및 다른 프레임들에서 객체들이 검출되었는지를 나타낼 수 있으므로, 이미지 센서가 신경망 출력 데이터와 함께 추가 프로세싱을 위해 프레임을 전송하게 하면 이미지 센서 외부에서의 프로세싱의 양이 줄어들 수 있다.Since the neural network output data from the image sensor can already indicate whether objects have been detected in the frame and other frames, having the image sensor send the frame for further processing along with the neural network output data reduces the amount of processing outside the image sensor. can be reduced

다이어그램(700)에 도시된 바와 같이, 프레임이 캡처되면, 프레임에 대한 신경망 출력 데이터가 생성된다. 예를 들어, 프레임 A가 캡처되면, 신경망 출력 데이터가 프레임 A로부터 생성될 수 있다. 다른 예에서, 프레임 B가 캡처되면, 신경망 출력 데이터가 프레임 B로부터 생성될 수 있다.As shown in diagram 700, when a frame is captured, neural network output data for the frame is generated. For example, if frame A is captured, neural network output data may be generated from frame A. In another example, once frame B is captured, neural network output data may be generated from frame B.

프레임에 대한 신경망 출력 데이터는 다른 프레임이 캡처되고 있는 동안 생성된다. 예를 들어, 프레임 B는 프레임 A에 대한 신경망 출력 데이터가 생성되는 동안 캡처될 수 있다. 이미지 센서(100)를 사용하여, 제3 집적 회로 층(130)이 객체들을 검출하고 검출된 객체들을 나타내는 신경망 출력 데이터를 생성하는 동안, 제1 집적 회로 층(110)은 프레임 B를 캡처한다.Neural output data for a frame is generated while another frame is being captured. For example, frame B may be captured while neural network output data for frame A is being generated. Using the image sensor 100 , the first integrated circuit layer 110 captures frame B, while the third integrated circuit layer 130 detects objects and generates neural network output data representing the detected objects.

다이어그램(700)에 도시된 바와 같이, 프레임에 대한 신경망 출력 데이터는 생성된 후 전송된다. 예를 들어, 프레임 A로부터의 신경망 출력 데이터는 일단 생성되고 프레임 A가 전송되는 것이 종료되면 전송될 수 있다. 일부 구현들에서, 신경망 출력 데이터의 전송은 그룹이 프로세싱되는 것이 완료되면 시작할 수 있다. 이것은 롤링 셔터 센서(rolling shutter sensor)들에 효과적일 수 있다.As shown in diagram 700, neural network output data for a frame is generated and then transmitted. For example, neural network output data from frame A may be generated and transmitted once frame A has finished transmitting. In some implementations, transmission of the neural network output data may begin once the group is finished processing. This can be effective for rolling shutter sensors.

일부 구현들에서, 송신과 관련하여, 이미지 센서(100)는 또한 이미지 그레이스케일 또는 컬러 데이터를 신경망 출력 데이터와 멀티플렉싱할 수 있다. 예를 들어, 객체 및 시간 정보가 사전-프로세싱된 전체 이미지 그레이스케일 또는 컬러 데이터가 단일 데이터 스트림으로 멀티플렉싱될 수 있다. 멀티플렉싱된 데이터 스트림들은 전체 이미지 스트림 정보보다 훨씬 더 낮은 출력 대역폭 요구 사항들을 가질 수 있으며, 예를 들어, 4배 이상 더 적을 수 있다. 다수의 링크들 대신 카메라 출력으로서 멀티플렉싱된 정보의 단일 직렬 링크를 갖는 멀티플렉싱은 물리적 링크들의 수가 감소될 수 있으므로 차량 레벨 아키텍처를 크게 단순화할 수 있다.In some implementations, with respect to transmission, image sensor 100 may also multiplex image grayscale or color data with neural network output data. For example, the entire image grayscale or color data with object and temporal information pre-processed may be multiplexed into a single data stream. The multiplexed data streams may have much lower output bandwidth requirements than the full image stream information, eg, four or more times less. Multiplexing with a single serial link of multiplexed information as a camera output instead of multiple links can greatly simplify the vehicle level architecture as the number of physical links can be reduced.

도 8은 신경망 회로망을 갖는 이미지 센서로부터 신경망 출력 데이터 및 이미지 데이터를 송신하기 위한 예시적인 프로세스(800)의 흐름도이다. 프로세스(800)는 도 1의 이미지 센서(100) 또는 일부 다른 이미지 센서에 의해 수행될 수 있다.8 is a flow diagram of an exemplary process 800 for transmitting neural network output data and image data from an image sensor having neural network circuitry. Process 800 may be performed by image sensor 100 of FIG. 1 or some other image sensor.

프로세스(800)는 이미지 센서의 픽셀 센서들에 의해 캡처된 다수의 이미지들을 획득하는 단계(810)를 포함할 수 있다. 예를 들어, 이미지 센서(100)의 제1 집적 회로 층(110)의 픽셀 그룹들(112C)의 픽셀 센서들은 10밀리초마다 상이한 프레임을 캡처할 수 있다.Process 800 may include acquiring 810 a number of images captured by pixel sensors of the image sensor. For example, the pixel sensors of the pixel groups 112C of the first integrated circuit layer 110 of the image sensor 100 may capture a different frame every 10 milliseconds.

프로세스(800)는, 이미지 센서에 통합된 신경망 회로망을 사용하여, 객체 검출을 위해 다수의 이미지들을 분석하는 단계(820)를 포함할 수 있다. 예를 들어, 이미지 센서(100)의 제3 집적 회로 층(130)의 신경망 회로망 그룹들(132)은 신경망 회로망 그룹이 프로세싱된 픽셀 정보를 수신한 프레임의 부분들 각각 내에서 객체들을 검출할 수 있다.Process 800 may include analyzing 820 the plurality of images for object detection using neural network circuitry integrated into the image sensor. For example, the neural network groups 132 of the third integrated circuit layer 130 of the image sensor 100 may detect objects within each of the portions of a frame in which the neural network group has received processed pixel information. have.

프로세스(800)는, 이미지 센서에 통합된 신경망 회로망을 사용하여 다수의 이미지들 각각에 대해, 객체 검출을 위해 다수의 이미지들의 분석의 결과들과 관련된 신경망 출력 데이터를 생성하는 단계(830)를 포함할 수 있다. 예를 들어, 제1 신경망 회로망 그룹(132A)은 프레임 A의 일부에서 제1 객체가 검출되었음을 나타내는 메타데이터를 생성할 수 있고, 제2 신경망 회로망 그룹(132B)은 프레임 A의 다른 부분에서 객체가 검출되지 않았음을 나타내는 메타데이터를 생성할 수 있다.Process 800 includes generating, for each of the plurality of images, using neural network circuitry integrated in the image sensor, neural network output data related to results of analysis of the plurality of images for object detection ( 830 ) can do. For example, the first neural network group 132A may generate metadata indicating that a first object has been detected in a portion of frame A, and the second neural network group 132B may generate metadata indicating that an object is detected in another portion of frame A. It can generate metadata indicating that it was not detected.

프로세스(800)는, 이미지 센서로부터, 다수의 이미지들 각각의 이미지 데이터 대신 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 단계(840)를 포함할 수 있다. 예를 들어, 이미지 센서(100)는 신경망 회로망 그룹이 이미지 센서(100)에 의해 캡처된 프레임들 각각의 개개의 부분들에서 객체들을 검출했는지 여부를 나타내는 신경망 회로망 그룹들 각각에 의해 생성된 메타데이터에 대응하는 데이터, 및 이미지 센서에 의해 캡처된 모든 제10 프레임만의 이미지 데이터를 송신할 수 있다.Process 800 may include, from the image sensor, transmitting 840 neural network output data for each of the plurality of images and image data for a subset of the plurality of images instead of image data of each of the plurality of images. can For example, the image sensor 100 may include metadata generated by each of the neural network groups indicating whether the neural network group has detected objects in respective portions of each of the frames captured by the image sensor 100 . Data corresponding to , and image data of only all tenth frames captured by the image sensor may be transmitted.

일부 구현들에서, 다수의 이미지들 각각의 이미지 데이터 대신 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 단계는, 다수의 이미지들의 제1 이미지에 대한 이미지 데이터 및 제1 이미지에 대한 신경망 출력 데이터를 송신하고, 제2 이미지에 대한 신경망 출력 데이터를 송신하고, 제2 이미지에 대한 이미지 데이터의 송신 전에 및 이를 송신하지 않고 다수의 이미지들의 제3 이미지에 대한 이미지 데이터 및 제3 이미지에 대한 신경망 출력 데이터를 송신하는 단계를 포함한다. 예를 들어, 이미지 센서(100)는 프레임 A의 이미지 데이터를 송신하고, 프레임들 A-I에 대한 신경망 출력 데이터를 송신하고, 프레임 K에 대한 이미지 데이터를 송신하고, 프레임들 J-T에 대한 신경망 출력 데이터를 송신할 수 있다.In some implementations, transmitting the neural network output data for each of the plurality of images and image data for the subset of the plurality of images instead of image data of each of the plurality of images comprises: Send the image data and neural network output data for the first image, send the neural network output data for the second image, before and without sending the image data for the second image to the third image of the plurality of images and transmitting the neural network output data for the image data and the third image. For example, the image sensor 100 transmits image data of frame A, transmits neural network output data for frames AI, transmits image data for frame K, and transmits neural network output data for frames JT. can send

일부 구현들에서, 이미지 센서로부터, 다수의 이미지들 각각의 이미지 데이터 대신 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 단계는, 다수의 이미지들의 서브세트의 이미지 데이터를 초당 특정 수의 프레임들로 송신하고, 다수의 이미지들의 서브세트에 대한 이미지 데이터가 송신되고 있지 않는 동안 이미지들에 대한 신경망 출력 데이터를 송신하는 단계를 포함한다. 예를 들어, 이미지 센서(100)는 각각의 프레임에 대한 이미지 데이터가 10밀리초 동안 송신되는 경우 이미지 데이터를 초당 10프레임으로 송신할 수 있으며, 이미지 데이터가 송신되고 있지 않는 동안 초당 나머지 900밀리초 동안 다른 이미지들에 대한 신경망 출력 데이터를 송신할 수 있다.In some implementations, transmitting, from the image sensor, neural network output data for each of the plurality of images and image data for a subset of the plurality of images instead of image data of each of the plurality of images, comprises: transmitting the set of image data at a specific number of frames per second, and transmitting neural network output data for the images while image data for the subset of the plurality of images is not being transmitted. For example, the image sensor 100 may transmit image data at 10 frames per second when image data for each frame is transmitted for 10 milliseconds, and the remaining 900 milliseconds per second while image data is not being transmitted while sending neural network output data for other images.

일부 구현들에서, 신경망 출력 데이터 및 이미지 데이터를 송신하는 단계는 신경망 출력 데이터 및 이미지 데이터를 중앙 프로세싱 유닛에 송신하는 단계를 포함한다. 예를 들어, 이미지 센서(100)는 프레임 A에 대한 이미지 데이터 및 프레임들 A-I에 대한 신경망 출력 데이터를 컴퓨터에 송신하여, 컴퓨터가 프레임 A 및 프레임들 A-I에 대한 신경망 출력 데이터를 사용하여 추가적인 객체 검출을 수행하게 할 수 있다.In some implementations, transmitting the neural network output data and image data includes sending the neural network output data and image data to the central processing unit. For example, the image sensor 100 sends image data for frame A and neural network output data for frames AI to the computer, so that the computer detects additional objects using the neural network output data for frame A and frames AI can make you do

일부 구현들에서, 프로세스(800)는 다수의 이미지들의 제1 이미지에 대한 이미지 데이터 및 제1 이미지에 대한 신경망 출력 데이터를 송신하면서, 객체 검출을 위해 다수의 이미지들의 제2 이미지를 분석하는 단계를 포함한다. 예를 들어, 제3 집적 회로 층(130)의 신경망 회로망 그룹들(132)은 프레임 A에 대해 생성된 신경망 출력 데이터가 이미지 센서(100)로부터 출력되고 있는 동안 프레임 B의 객체들을 검출할 수 있다.In some implementations, process 800 includes analyzing the second image of the plurality of images for object detection, while transmitting image data for the first image of the plurality of images and neural network output data for the first image. include For example, the neural network groups 132 of the third integrated circuit layer 130 may detect objects of the frame B while the neural network output data generated for the frame A is being output from the image sensor 100 . .

일부 구현들에서, 프로세스(800)는 제3 이미지를 캡처하면서, 객체 검출을 위해 다수의 이미지들의 분석의 결과들과 관련된 신경망 출력 데이터를 생성하는 단계를 포함한다. 예를 들어, 제3 집적 회로 층(130)의 신경망 회로망 그룹들(132)은 제1 집적 회로 층(110)의 픽셀 그룹들이 프레임 C를 캡처하고 있는 동안 프레임 B 내의 객체들을 검출하는 것과 관련된 신경망 출력 데이터를 생성할 수 있다.In some implementations, process 800 includes generating neural network output data related to results of analysis of the plurality of images for object detection, while capturing the third image. For example, neural network groups 132 of third integrated circuit layer 130 are neural networks associated with detecting objects in frame B while pixel groups of first integrated circuit layer 110 are capturing frame C. You can create output data.

일부 구현들에서는, 프로세스(800)에서, 이미지 데이터가 전송되는 다수의 이미지들의 서브세트는 이미지 센서에 의해 캡처된 모든 제N 이미지를 포함하며, N은 1보다 큰 정수이다. 예를 들어, 다수의 이미지들의 서브세트는 이미지 센서(100)에 의해 캡처된 모든 제10 이미지일 수 있다. 일부 구현들에서는, 프로세스(800)에서, 이미지들의 특정 이미지에 대한 이미지 데이터가 이미지 내의 각각의 픽셀에 대한 값들을 나타내는 데이터를 포함한다. 예를 들어, 이미지 데이터는 이미지의 각각의 픽셀에 대한 적색-녹색-청색(red-green-blue)(RGB) 강도 값들일 수 있다.In some implementations, in process 800 , the subset of the plurality of images for which image data is transmitted includes all Nth images captured by the image sensor, where N is an integer greater than one. For example, the subset of multiple images may be all tenth images captured by image sensor 100 . In some implementations, in process 800 , image data for a particular image of images includes data representing values for each pixel in the image. For example, the image data may be red-green-blue (RGB) intensity values for each pixel of the image.

일부 구현들에서는, 프로세스(800)에서, 이미지들의 특정 이미지에 대한 신경망 출력 데이터는 검출들을 표현하는 픽셀들에 대한 선택된 관심 영역들, 시간 및 기하학적 위치 정보를 포함하는 메타데이터, 객체 검출 이전의 중간 계산 결과들, 네트워크 확실성 레벨에 관한 통계 정보, 및 검출된 객체들의 분류들 중 하나 이상을 포함한다. 예를 들어, 프레임 A에 대한 신경망 출력 데이터는 사람이 프레임 A의 특정 좌표에서 검출되었음을 나타낼 수 있다. 일부 구현들에서는, 프로세스(800)에서, 이미지들의 특정 이미지에 대한 신경망 출력 데이터는 추가 프로세싱을 위해 프로세서에 제공되는 부분적으로 프로세싱된 데이터를 표현한다. 예를 들어, 신경망 출력 데이터는, 검출된 객체들을 표현하는 대신, 객체들을 검출하기 위해 이미지 센서(100) 외부에서 추가로 프로세싱되어야 하는 부분적으로 프로세싱된 데이터를 표현할 수 있다.In some implementations, in process 800 , the neural network output data for a particular image of images is selected regions of interest for pixels representing the detections, metadata including temporal and geometric position information, intermediate prior to object detection, and in some implementations. It includes one or more of calculation results, statistical information about the network certainty level, and classifications of detected objects. For example, neural network output data for frame A may indicate that a person has been detected at specific coordinates of frame A. In some implementations, at process 800 , neural network output data for a particular image of images represents partially processed data that is provided to a processor for further processing. For example, the neural network output data may represent partially processed data that must be further processed outside the image sensor 100 to detect the objects, instead of representing the detected objects.

도 9는 자율 주행 차량(910)에 의해 사용되는 이미지 센서(100)를 포함하는 예시적인 시스템(900)의 블록도이다. 자율 주행 차량(autonomous vehicle)(910)은 이미지들을 캡처하고 이미지들에서 객체들을 검출한 다음 자율 주행 차량(910)이 검출하는 객체들에 기초하여 주행하는 자동-운전 차량(self-driving vehicle)일 수 있다. 예를 들어, 자율 주행 차량(910)은 자율 주행 차량(910)의 전방에서 이동하는 다른 차량을 검출하고, 해당 차량 바로 뒤에서 페이스를 유지할 수 있다. 다른 예에서, 자율 주행 차량(910)은 자율 주행 차량(910)의 전방에 있는 사람을 검출하고 정지할 수 있다.9 is a block diagram of an example system 900 that includes an image sensor 100 used by an autonomous vehicle 910 . An autonomous vehicle 910 is a self-driving vehicle that captures images, detects objects in the images, and then drives based on the objects that the autonomous vehicle 910 detects. can For example, the autonomous vehicle 910 may detect another vehicle moving in front of the autonomous vehicle 910 and maintain a pace immediately behind the vehicle. In another example, the autonomous vehicle 910 may detect and stop a person in front of the autonomous vehicle 910 .

자율 주행 차량(910)은 카메라 광학계(camera optics)(920), 이미지 센서(100) 및 컴퓨터 프로세싱 모듈(940)을 포함할 수 있다. 카메라 광학계(920)는 광을 수정하는 렌즈를 포함할 수 있다. 예를 들어, 카메라 광학계(920)는 파노라마 렌즈를 포함할 수 있다. 이미지 센서(100)는 카메라 광학계(920)에 의해 수정된 광을 수신하고, 이미지 센서(100)에 비치는 광에 기초하여 이미지들을 캡처할 수 있다.The autonomous vehicle 910 may include camera optics 920 , an image sensor 100 and a computer processing module 940 . The camera optical system 920 may include a lens that corrects light. For example, the camera optical system 920 may include a panoramic lens. The image sensor 100 may receive the light corrected by the camera optical system 920 , and capture images based on the light reflected on the image sensor 100 .

이미지 센서(100)는 이미지 센서(100)와 컴퓨터 프로세싱 모듈(940)을 전기적으로 커플링하는 데이터 송신 케이블을 통해 컴퓨터 프로세싱 모듈(940)에 데이터를 송신할 수 있다. 예를 들어, 이미지 센서(100)는 100밀리초마다 10밀리초 동안 프레임을 캡처하고, 데이터 송신 케이블을 통해 컴퓨터 프로세싱 모듈(940)에, 캡처된 모든 제10 프레임에 대한 이미지 데이터 및 이미지 센서(100)에 의해 캡처된 모든 프레임들에 대한 신경망 출력 데이터를 송신할 수 있다. 컴퓨터 프로세싱 모듈(940)은 이미지 센서(100)로부터 이미지 데이터 및 신경망 출력 데이터를 수신하고, 임의적으로 이미지 데이터 및 신경망 출력 데이터를 사용하여 추가 객체 검출을 수행하고, 검출되는 객체들에 기초하여 자율 주행 차량(910)이 이동해야 하는 방법을 결정할 수 있다.The image sensor 100 may transmit data to the computer processing module 940 through a data transmission cable electrically coupling the image sensor 100 and the computer processing module 940 . For example, the image sensor 100 captures a frame for 10 milliseconds every 100 milliseconds, and sends the image data for every tenth frame captured and the image sensor ( 100) can transmit neural network output data for all frames captured by . The computer processing module 940 receives image data and neural network output data from the image sensor 100 , optionally performs additional object detection using the image data and neural network output data, and autonomously drives based on the detected objects. It may determine how the vehicle 910 should move.

이미지 센서(100) 상에서 객체 검출을 위해 적어도 일부 프로세싱을 수행하는 이미지 센서(100)를 사용하면, 컴퓨터 프로세싱 모듈(940)은 10밀리초마다 획득된 이미지들에 기초하여 이동하는 방법을 결정할 수 있는 반면, 다른 이미지 센서를 사용하면, 컴퓨터 프로세싱 모듈(940)은 단지 100밀리초마다 획득된 이미지들에 기초하여 이동하는 방법을 결정할 수 있다. 따라서, 다른 이미지 센서 대신 이미지 센서(100)를 사용함으로써, 자율 주행 차량(940)은 더 빨리 객체들을 검출하고 해당 객체들에 반응하여 이동할 수 있다.Using the image sensor 100 that performs at least some processing for object detection on the image sensor 100, the computer processing module 940 can determine how to move based on images acquired every 10 milliseconds. On the other hand, using another image sensor, the computer processing module 940 can determine how to move based on images acquired only every 100 milliseconds. Thus, by using the image sensor 100 instead of other image sensors, the autonomous vehicle 940 can detect objects more quickly and move in response to the objects.

도 10은 별개의 칩들 상에 픽셀 센서 그룹들 및 신경망 회로망을 포함하는 예시적인 시스템(1000)의 블록도이다. 시스템(1000)은 픽셀 센서 그룹들을 포함하는 제1 칩(1110) 및 신경망 회로망을 포함하는 제2 칩(1120)을 포함하는 카메라일 수 있다. 픽셀 센서 그룹들 및 신경망 회로망은 단일 집적 칩 내의 상이한 층들에 포함되지 않고 대신 제1 칩(1110) 및 제2 칩(1120)에 있다는 점을 제외하고는 위에서 설명한 것들과 유사할 수 있다. 예를 들어, 제1 칩(1110) 및 제2 칩(1120)은 시스템(1000)에서 서로의 상부 상에 위치 결정될 수 있고 전기 전도성 재료에 의해 연결되어, 데이터가 대응하는 픽셀 센서 그룹들과 신경망 회로망 사이에서 전송되게 할 수 있다.10 is a block diagram of an example system 1000 that includes groups of pixel sensors and neural network circuitry on separate chips. System 1000 may be a camera comprising a first chip 1110 comprising pixel sensor groups and a second chip 1120 comprising neural network circuitry. The pixel sensor groups and neural network circuitry may be similar to those described above, except that they are not included in different layers within a single integrated chip, but instead are in first chip 1110 and second chip 1120 . For example, a first chip 1110 and a second chip 1120 may be positioned on top of each other in the system 1000 and connected by an electrically conductive material, so that the data can correspond to the pixel sensor groups and the neural network. It can be transmitted between networks.

본 명세서에서 설명되는 대상 및 동작들의 실시예들은 본 명세서에서 개시되는 구조물들 및 이들의 구조적 등가물들을 포함하여 디지털 전자 회로망으로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로, 또는 이들 중 하나 이상의 것의 조합들로 구현될 수 있다. 본 명세서에서 설명되는 대상의 실시예들은 하나 이상의 컴퓨터 프로그램, 즉, 데이터 프로세싱 장치에 의한 실행을 위해 또는 그 동작을 제어하기 위해 컴퓨터 저장 매체 상에 인코딩되는 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다.Embodiments of the objects and operations described herein, including the structures disclosed herein and structural equivalents thereof, may be implemented in digital electronic circuitry, or in computer software, firmware or hardware, or combinations of one or more of these. can be implemented. Embodiments of the subject matter described herein may be implemented as one or more computer programs, ie, one or more modules of computer program instructions encoded on a computer storage medium for execution by or for controlling the operation of a data processing apparatus. have.

컴퓨터 저장 매체는 컴퓨터 판독 가능 저장 디바이스, 컴퓨터 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스, 또는 이들 중 하나 이상의 것의 조합일 수도 있고, 또는 이에 포함될 수도 있다. 또한, 컴퓨터 저장 매체는 전파 신호가 아니지만, 컴퓨터 저장 매체는 인위적으로 생성된 전파 신호로 인코딩되는 컴퓨터 프로그램 명령어들의 소스 또는 목적지가 될 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 개별 물리적 컴포넌트 또는 매체(예를 들어, 다수의 CD들, 디스크들 또는 기타 저장 디바이스들)일 수도 있고, 또는 이에 포함될 수도 있다.A computer storage medium may be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of these. Further, while a computer storage medium is not a propagated signal, a computer storage medium may be a source or destination of computer program instructions encoded in an artificially generated propagated signal. A computer storage medium may also be, or be included in, one or more separate physical components or media (eg, multiple CDs, disks, or other storage devices).

본 명세서에서 설명되는 동작들은 하나 이상의 컴퓨터 판독 가능 저장 디바이스 상에 저장되거나 또는 다른 소스들로부터 수신되는 데이터에 대해 데이터 프로세싱 장치에 의해 수행되는 동작들로서 구현될 수 있다.The operations described herein may be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.

"데이터 프로세싱 장치"라는 용어는, 예를 들어, 프로그래밍 가능 프로세서, 컴퓨터, 시스템 온 칩, 또는 상기한 것들 중 다수의 것들 또는 이들의 조합들을 포함하여 데이터를 프로세싱하기 위한 모든 종류들의 장치, 디바이스들 및 머신들을 포함한다. 장치는 특수 목적 로직 회로망, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)를 포함할 수 있다. 장치는 또한, 하드웨어에 추가하여, 해당 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 플랫폼 간 런타임 환경, 가상 머신 또는 이들 중 하나 이상의 것의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라스트럭처들과 같은 다양한 상이한 컴퓨팅 모델 인프라스트럭처들을 실현할 수 있다.The term "data processing apparatus" refers to all kinds of apparatus, devices for processing data, including, for example, a programmable processor, a computer, a system on a chip, or many of the foregoing or combinations thereof. and machines. The device may include special purpose logic circuitry, for example, a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). The device may also include, in addition to hardware, code that creates an execution environment for the computer program in question, eg, processor firmware, protocol stack, database management system, operating system, cross-platform runtime environment, virtual machine, or one or more of these. It may contain code that constitutes a combination of things. The device and execution environment may realize a variety of different computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures.

컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은 컴파일된 또는 해석된 언어들, 선언적 또는 절차적 언어들을 포함한 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 이것은 독립형 프로그램(stand-alone program), 또는 모듈, 컴포넌트, 서브루틴, 객체 또는 컴퓨팅 환경에서 사용하기에 적절한 다른 유닛을 포함한 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만, 반드시 그런 것은 아니다. 프로그램은 다른 프로그램들 또는 데이터를 보유하는 파일의 일부(예를 들어, 마크업 언어 문서에 저장되는 하나 이상의 스크립트)로, 해당 프로그램 전용 단일 파일로, 또는 다수의 조정된 파일(coordinated file)들(예를 들어, 하나 이상의 모듈, 서브-프로그램들 또는 코드의 일부들을 저장하는 파일들)로 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에 또는 하나의 사이트에 위치되거나 다수의 사이트들에 분산되어 있고 통신 네트워크에 의해 상호 연결되는 다수의 컴퓨터들 상에서 실행되도록 배치될 수 있다.A computer program (also referred to as a program, software, software application, script or code) may be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, which alone program), or in any form, including modules, components, subroutines, objects, or other units suitable for use in a computing environment. A computer program may, but does not necessarily, correspond to a file in a file system. A program may be a part of a file that holds other programs or data (eg, one or more scripts stored in a markup language document), as a single file dedicated to that program, or as multiple coordinated files ( for example, one or more modules, sub-programs, or files that store portions of code). The computer program may be deployed to run on one computer or on multiple computers located at one site or distributed over multiple sites and interconnected by a communication network.

본 명세서에서 설명되는 프로세스들 및 로직 흐름들은 입력 데이터에 대해 동작하여 출력을 생성함으로써 액션들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능 프로세서에 의해 수행될 수 있다. 프로세스들 및 로직 흐름들은 특수 목적 로직 회로망, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)에 의해 수행될 수도 있고, 장치가 이것으로서 구현될 수도 있다.The processes and logic flows described herein may be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows may be performed by a special purpose logic circuitry, for example, a field programmable gate array (FPGA) or application-specific integrated circuit (ASIC), and an apparatus may be implemented as such.

컴퓨터 프로그램의 실행에 적절한 프로세서들은 예로서 범용 및 특수 목적 마이크로프로세서들, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은 명령어들에 따라 액션들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어, 자기, 광-자기 디스크(magneto-optical disk), 또는 광 디스크를 포함하거나, 또는 이들로부터 데이터를 수신하거나 이들로 데이터를 전송하거나 둘 다를 위해 동작 가능하게 커플링될 것이다. 그러나, 컴퓨터는 이러한 디바이스들을 가질 필요가 없다. 또한, 컴퓨터는 다른 디바이스, 예를 들어, 몇 가지만 말하자면, 이동 전화, 개인 휴대 정보 단말기(personal digital assistant)(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, 글로벌 포지셔닝 시스템(Global Positioning System)(GPS) 수신기, 또는 휴대용 저장 디바이스(예를 들어, 범용 직렬 버스(universal serial bus)(USB) 플래시 드라이브)에 임베딩될 수있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적절한 디바이스들은, 예를 들어, 반도체 메모리 디바이스들, 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들; 광-자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함한 모든 형태들의 비-휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로망에 의해 보완되거나 이에 통합될 수 있다.Processors suitable for the execution of a computer program include, by way of example, general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from either read-only memory or random access memory or both. The essential elements of a computer are a processor for performing actions according to the instructions and one or more memory devices for storing instructions and data. In general, a computer also includes one or more mass storage devices for storing data, eg, magnetic, magneto-optical disks, or optical disks to receive data from, or to transfer data thereto. may be operatively coupled to transmit data or both. However, the computer need not have these devices. Computers can also be used with other devices, such as mobile phones, personal digital assistants (PDAs), mobile audio or video players, game consoles, Global Positioning Systems (GPSs), to name just a few. ) receiver, or a portable storage device (eg, a universal serial bus (USB) flash drive). Devices suitable for storing computer program instructions and data include, for example, semiconductor memory devices such as EPROM, EEPROM and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and all forms of non-volatile memory, media and memory devices including CD-ROM and DVD-ROM disks. The processor and memory may be supplemented by or integrated with special purpose logic circuitry.

사용자와의 상호 작용을 제공하기 위해, 본 명세서에서 설명되는 대상의 실시예들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터, 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스, 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류들의 디바이스들도 사용자와의 상호 작용을 제공하기 위해 사용될 수 있으며, 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각적 피드백, 예를 들어, 시각적 피드백, 청각적 피드백 또는 촉각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자에 의해 사용되는 디바이스로 문서들을 전송하고 이로부터 문서들을 수신함으로써, 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 사용자 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써 사용자와 상호 작용할 수 있다.To provide interaction with a user, embodiments of the subject matter described herein include a display device for displaying information to the user, such as a cathode ray tube (CRT) or liquid crystal display (LCD) monitor, and It may be implemented on a computer with a keyboard and pointing device, such as a mouse or trackball, through which a user can provide input to the computer. Other types of devices may also be used to provide interaction with a user, eg, the feedback provided to the user may be any form of sensory feedback, eg, visual feedback, auditory feedback or tactile feedback. may be, and the input from the user may be received in any form including acoustic, voice, or tactile input. In addition, the computer sends documents to and receives documents from the device used by the user, for example, by sending web pages to a web browser on the user's user device in response to requests received from the web browser. can interact with

본 명세서에서 설명되는 대상의 실시예들은, 예를 들어, 데이터 서버로서 백-엔드 컴포넌트를 포함하거나, 또는 미들웨어 컴포넌트, 예를 들어, 애플리케이션 서버를 포함하거나, 또는 프론트-엔드 컴포넌트, 예를 들어, 사용자가 본 명세서에서 설명되는 대상의 구현과 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 사용자 컴퓨터를 포함하거나, 또는 하나 이상의 이러한 백-엔드, 미들웨어, 또는 프론트-엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템으로 구현될 수 있다. 시스템의 컴포넌트들은 임의의 형태 또는 매체의 디지털 데이터 통신, 예를 들어, 통신 네트워크에 의해 상호 연결될 수 있다. 통신 네트워크들의 예들은 근거리 네트워크(local area network)("LAN") 및 광역 네트워크(wide area network)("WAN"), 인터-네트워크(예를 들어, 인터넷) 및 피어-투-피어 네트워크들(예를 들어, 애드 혹(ad hoc) 피어-투-피어 네트워크들)을 포함한다.Embodiments of the subject matter described herein include, for example, a back-end component as a data server, or a middleware component, such as an application server, or a front-end component, for example, including a user computer having a graphical user interface or web browser through which a user may interact with an implementation of the subject matter described herein, or including any combination of one or more such back-end, middleware, or front-end components It can be implemented as a computing system that The components of the system may be interconnected by digital data communication in any form or medium, for example, a communication network. Examples of communication networks include local area networks (“LANs”) and wide area networks (“WANs”), inter-networks (eg, the Internet), and peer-to-peer networks ( for example, ad hoc peer-to-peer networks).

컴퓨팅 시스템은 사용자들 및 서버들을 포함할 수 있다. 사용자와 서버는 일반적으로 서로 멀리 떨어져 있으며, 통상적으로 통신 네트워크를 통해 상호 작용한다. 사용자와 서버의 관계는 개개의 컴퓨터들 상에서 실행되고 서로에 대한 사용자-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다. 일부 실시예들에서, 서버는 (예를 들어, 사용자 디바이스와 상호 작용하는 사용자에게 데이터를 디스플레이하고 이로부터 사용자 입력을 수신할 목적으로) 데이터(예를 들어, HTML 페이지)를 사용자 디바이스에 송신한다. 사용자 디바이스에서 생성된 데이터(예를 들어, 사용자 상호 작용의 결과)는 서버에서 사용자 디바이스로부터 수신될 수 있다.A computing system may include users and servers. A user and a server are generally remote from each other and typically interact through a communication network. The user-server relationship arises by virtue of computer programs running on individual computers and having a user-server relationship to each other. In some embodiments, the server sends data (eg, an HTML page) to the user device (eg, for the purpose of displaying data to, and receiving user input from, a user interacting with the user device) . Data generated at the user device (eg, a result of a user interaction) may be received from the user device at a server.

이 명세서는 많은 특정 구현 세부 사항들을 포함하지만, 이들은 임의의 특징들 또는 청구될 수 있는 것의 범위에 대한 제한들로서 해석되어서는 안되며, 오히려 특정 실시예들에 특정한 특징들에 대한 설명으로서 해석되어야 한다. 별도의 실시예들의 맥락에서 본 명세서에서 설명되는 특정 특징들은 또한 단일 실시예에서 조합하여 구현될 수도 있다. 역으로, 단일 실시예의 맥락에서 설명되는 다양한 특징들은 또한 개별적으로 다수의 실시예들에서 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 또한, 특징들이 특정 조합들로 작용하는 것으로 위에서 설명될 수 있고 심지어 초기에 그렇게 청구될 수도 있지만, 청구된 조합으로부터의 하나 이상의 특징은 일부 경우들에서 조합으로부터 제거될 수 있고, 청구된 조합은 하위 조합 또는 하위 조합의 변형에 관한 것일 수 있다.While this specification contains many specific implementation details, these should not be construed as limitations on the scope of what may be claimed or any features, but rather as descriptions of features specific to particular embodiments. Certain features that are described herein in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments individually or in any suitable sub-combination. Also, although features may be described above as acting in particular combinations and may even initially be claimed as such, one or more features from a claimed combination may in some cases be eliminated from the combination, and the claimed combination is a sub-combination. or to a variant of a sub-combination.

유사하게, 동작들이 도면들에 특정 순서로 도시되어 있지만, 이는 바람직한 결과들을 달성하기 위해 이러한 동작들이 도시된 특정 순서 또는 순차적인 순서로 수행되거나 또는 모든 예시된 동작들이 수행되어야 함을 요구하는 것으로 이해되어서는 안된다. 특정 상황들에서는, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 또한, 위에서 설명된 실시예들에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 이러한 분리를 요구하는 것으로 이해되어서는 안 되며, 설명된 프로그램 컴포넌트들 및 시스템들이 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 또는 다수의 소프트웨어 제품들로 패키징화될 수 있다는 것이 이해되어야 한다.Similarly, while acts are shown in a particular order in the figures, it is understood that this requires that such acts be performed in the particular order shown or sequential order or that all illustrated acts be performed to achieve desirable results. shouldn't be In certain circumstances, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the embodiments described above should not be construed as requiring such separation in all embodiments, that the described program components and systems are generally integrated together into a single software product or It should be understood that it may be packaged into multiple software products.

따라서, 대상의 특정 실시예들이 설명되었다. 다른 실시예들은 다음의 청구항의 범위 내에 있다. 일부 경우들에서, 청구항에 인용된 액션들은 상이한 순서로 수행될 수 있으며, 여전히 바람직한 결과들을 달성할 수 있다. 또한, 첨부된 도면들에 도시된 프로세스들은 바람직한 결과들을 달성하기 위해 도시된 특정 순서 또는 순차적인 순서를 반드시 필요로 하는 것은 아니다. 특정 구현들에서는, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다.Accordingly, specific embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims may be performed in a different order and still achieve desirable results. Moreover, the processes depicted in the appended drawings do not necessarily require the specific order shown or sequential order to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.

Claims (40)

이미지 센서로서,
포지션에 기초하여 픽셀 센서 그룹들로 그룹화되는 픽셀 센서들을 포함하는 제1 집적 회로 층;
상기 제1 집적 회로 층과 전기적으로 통신하는 제2 집적 회로 층 - 상기 제2 집적 회로 층은 대응하는 픽셀 센서 그룹으로부터 픽셀 정보를 각각 수신하도록 구성되는 이미지 프로세싱 회로망 그룹들을 포함하고, 상기 이미지 프로세싱 회로망 그룹(image processing circuitry group)들은 상기 이미지 센서의 동작 동안 프로세싱된 픽셀 정보를 제공하기 위해 상기 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하도록 추가로 구성됨 -;
상기 제2 집적 회로 층과 전기적으로 통신하는 제3 집적 회로 층 - 상기 제3 집적 회로 층은 대응하는 이미지 프로세싱 회로망 그룹으로부터 상기 프로세싱된 픽셀 정보를 각각 수신하도록 구성되는 신경망 회로망 그룹들을 포함하고, 상기 신경망 회로망 그룹들은 상기 이미지 센서의 동작 동안 상기 프로세싱된 픽셀 정보에 대해 객체 검출을 위한 분석을 수행하도록 추가로 구성됨 -; 및
상기 신경망 회로망 그룹들에 의한 객체 검출을 위한 분석의 결과들을 나타내는 정보를 출력하는 회로망
을 포함하고,
상기 제1 집적 회로 층은 상기 제2 집적 회로 층 상에 적층되고, 상기 제2 집적 회로 층은 상기 제3 집적 회로 층 상에 적층되는, 이미지 센서.
As an image sensor,
a first integrated circuit layer comprising pixel sensors grouped into pixel sensor groups based on position;
a second integrated circuit layer in electrical communication with the first integrated circuit layer, the second integrated circuit layer comprising image processing circuitry groups each configured to receive pixel information from a corresponding pixel sensor group; groups (image processing circuitry groups) further configured to perform image processing operations on the pixel information to provide pixel information processed during operation of the image sensor;
a third integrated circuit layer in electrical communication with the second integrated circuit layer, the third integrated circuit layer comprising groups of neural networks each configured to receive the processed pixel information from a corresponding group of image processing networks; neural network groups further configured to perform analysis for object detection on the processed pixel information during operation of the image sensor; and
A network for outputting information representing results of analysis for object detection by the neural network groups
including,
wherein the first integrated circuit layer is laminated on the second integrated circuit layer, and the second integrated circuit layer is laminated on the third integrated circuit layer.
제1항에 있어서, 상기 객체 검출을 위한 분석의 결과들은,
검출들을 표현하는 픽셀들에 대한 선택된 관심 영역들;
시간 및 기하학적 위치 정보를 포함하는 메타데이터;
객체 검출 이전의 중간 계산 결과(intermediate computational result)들;
네트워크 확실성 레벨(network certainty level)에 관한 통계 정보; 및
검출된 객체들의 분류들
로 구성되는 그룹 중 적어도 하나를 포함하는, 이미지 센서.
According to claim 1, wherein the results of the analysis for the object detection,
selected regions of interest for pixels representing detections;
metadata including time and geometric location information;
intermediate computational results before object detection;
statistical information regarding network certainty level; and
Classifications of detected objects
At least one of the group consisting of, the image sensor.
제1항에 있어서, 상기 신경망 회로망 그룹들은 각각 컨볼루션 신경망(convolutional neural network)을 구현하도록 구성되는 회로망을 포함하는, 이미지 센서.The image sensor of claim 1 , wherein the neural network network groups each include circuitry configured to implement a convolutional neural network. 제1항에 있어서, 상기 컨볼루션 신경망들은 각각 상기 신경망 회로망 그룹에 대응하는 이미지 프로세싱 회로망 그룹에 대응하는 픽셀 센서 그룹에 의해 감지된 객체들을 검출하는, 이미지 센서.The image sensor of claim 1 , wherein the convolutional neural networks each detect objects sensed by a pixel sensor group corresponding to an image processing network group corresponding to the neural network group. 제1항에 있어서, 상기 제3 집적 회로 층은 순환 신경망(recurrent neural network)을 구현하도록 구성되는 회로망을 포함하는, 이미지 센서.The image sensor of claim 1 , wherein the third integrated circuit layer comprises circuitry configured to implement a recurrent neural network. 제1항에 있어서, 상기 순환 신경망은 상기 신경망 회로망 그룹들 모두에 의해 검출된 객체들에 관한 정보를 수신하고, 상기 픽셀 센서 그룹들 중 다수의 것들에 걸쳐 감지된 객체들을 검출하는, 이미지 센서.The image sensor of claim 1 , wherein the recurrent neural network receives information about objects detected by all of the neural network groups and detects objects sensed across multiple of the pixel sensor groups. 제1항에 있어서, 상기 신경망 회로망 그룹들 각각은 상기 신경망 회로망 그룹에 상기 프로세싱된 픽셀 정보를 제공하는 이미지 프로세싱 회로망 그룹 바로 아래에 위치되는, 이미지 센서.The image sensor of claim 1 , wherein each of the neural network groups is located directly below an image processing network group that provides the processed pixel information to the neural network group. 제1항에 있어서, 상기 이미지 프로세싱 회로망 그룹들 각각은 상기 이미지 프로세싱 회로망 그룹에 상기 픽셀 정보를 제공하는 픽셀 센서 그룹의 바로 아래에 또는 바로 근처에 위치되는, 이미지 센서.The image sensor of claim 1 , wherein each of the image processing circuitry groups is located directly below or near a pixel sensor group that provides the pixel information to the image processing circuitry group. 제1항에 있어서, 상기 제1 집적 회로 층, 상기 제2 집적 회로 층, 및 상기 제3 집적 회로 층은 단일 집적 칩에 집적되는, 이미지 센서.The image sensor of claim 1 , wherein the first integrated circuit layer, the second integrated circuit layer, and the third integrated circuit layer are integrated on a single integrated chip. 제1항에 있어서, 상기 픽셀 센서 그룹들 각각은 동일한 개수의 픽셀 센서를 포함하는, 이미지 센서.The image sensor of claim 1 , wherein each of the pixel sensor groups includes the same number of pixel sensors. 제1항에 있어서, 상기 픽셀 정보에 대해 수행되는 이미지 프로세싱 동작들은 프로세싱 이전에 높은 동적 범위 융합(high dynamic range fusion)을 포함하는, 이미지 센서.The image sensor of claim 1 , wherein image processing operations performed on the pixel information include high dynamic range fusion prior to processing. 제1항에 있어서, 상기 이미지 프로세싱 회로망 그룹들 각각은 아날로그 디지털 변환기를 포함하는, 이미지 센서.The image sensor of claim 1 , wherein each of the image processing circuitry groups comprises an analog-to-digital converter. 방법으로서,
제1 집적 회로 층에 있고 포지션에 기초하여 픽셀 센서 그룹들로 그룹화되는 픽셀 센서들에 의해, 픽셀 정보를 획득하는 단계;
상기 제1 집적 회로 층과 전기적으로 통신하는 제2 집적 회로 층의 이미지 프로세싱 회로망 그룹들에 의해, 프로세싱된 픽셀 정보를 제공하기 위해 대응하는 픽셀 센서 그룹으로부터의 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하는 단계;
상기 제2 집적 회로 층과 전기적으로 통신하는 제3 집적 회로 층의 신경망 회로망 그룹들에 의해, 대응하는 이미지 프로세싱 회로망 그룹으로부터의 프로세싱된 픽셀 정보에 대해 객체 검출을 위한 분석을 수행하는 단계; 및
상기 신경망 회로망 그룹들에 의한 객체 검출을 위한 분석의 결과들을 나타내는 정보를 출력하는 단계
를 포함하고,
상기 제1 집적 회로 층은 상기 제2 집적 회로 층 상에 적층되고, 상기 제2 집적 회로 층은 상기 제3 집적 회로 층 상에 적층되는, 방법.
As a method,
obtaining pixel information by pixel sensors in the first integrated circuit layer and grouped into pixel sensor groups based on position;
performing image processing operations on pixel information from a corresponding pixel sensor group to provide pixel information processed by image processing circuitry groups of a second integrated circuit layer in electrical communication with the first integrated circuit layer step;
performing, by neural network groups of a third integrated circuit layer in electrical communication with the second integrated circuit layer, analysis for object detection on processed pixel information from a corresponding image processing network group; and
outputting information representing results of analysis for object detection by the neural network groups
including,
wherein the first integrated circuit layer is laminated on the second integrated circuit layer, and the second integrated circuit layer is laminated on the third integrated circuit layer.
제13항에 있어서, 상기 객체 검출을 위한 분석의 결과들은,
검출들을 표현하는 픽셀들에 대한 선택된 관심 영역들;
시간 및 기하학적 위치 정보를 포함하는 메타데이터;
객체 검출 이전의 중간 계산 결과들;
네트워크 확실성 레벨(network certainty level)에 관한 통계 정보; 및
검출된 객체들의 분류들
로 구성되는 그룹 중 적어도 하나를 포함하는, 방법.
The method of claim 13, wherein the results of the analysis for object detection are:
selected regions of interest for pixels representing detections;
metadata including time and geometric location information;
intermediate calculation results before object detection;
statistical information regarding network certainty level; and
Classifications of detected objects
A method comprising at least one of the group consisting of
제12항에 있어서, 상기 신경망 회로망 그룹들은 각각 컨볼루션 신경망을 구현하도록 구성되는 회로망을 포함하는, 방법.13. The method of claim 12, wherein the neural network network groups each comprise circuitry configured to implement a convolutional neural network. 제12항에 있어서, 상기 컨볼루션 신경망들은 각각 상기 신경망 회로망 그룹에 대응하는 이미지 프로세싱 회로망 그룹에 대응하는 픽셀 센서 그룹에 의해 감지된 객체들을 검출하는, 방법.The method of claim 12 , wherein the convolutional neural networks each detect objects sensed by a pixel sensor group corresponding to an image processing network group corresponding to the neural network network group. 제12항에 있어서, 상기 제3 집적 회로 층은 순환 신경망(recurrent neural network)을 구현하도록 구성되는 회로망을 포함하는, 방법.13. The method of claim 12, wherein the third integrated circuit layer comprises circuitry configured to implement a recurrent neural network. 제12항에 있어서, 상기 순환 신경망은 상기 신경망 회로망 그룹들 모두에 의해 검출된 객체들에 관한 정보를 수신하고, 상기 픽셀 센서 그룹들 중 다수의 것들에 걸쳐 감지된 객체들을 검출하는, 방법.13. The method of claim 12, wherein the recurrent neural network receives information about objects detected by all of the neural network groups and detects objects sensed across multiple of the pixel sensor groups. 제12항에 있어서, 상기 신경망 회로망 그룹들 각각은 상기 신경망 회로망 그룹에 상기 프로세싱된 픽셀 정보를 제공하는 이미지 프로세싱 회로망 그룹 바로 아래에 위치되는, 방법.13. The method of claim 12, wherein each of the neural network groups is located directly below an image processing network group that provides the processed pixel information to the neural network group. 이미지 센서를 형성하는 방법으로서,
포지션에 기초하여 픽셀 센서 그룹들로 그룹화되는 픽셀 센서들을 포함하는 제1 집적 회로 층을 형성하는 단계;
상기 제1 집적 회로 층과 제2 집적 회로 층을 전기적으로 커플링하는 단계 - 상기 제2 집적 회로 층은 대응하는 픽셀 센서 그룹으로부터 픽셀 정보를 각각 수신하도록 구성되는 이미지 프로세싱 회로망 그룹들을 포함하고, 상기 이미지 프로세싱 회로망 그룹들은 상기 이미지 센서의 동작 동안 프로세싱된 픽셀 정보를 제공하기 위해 상기 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하도록 추가로 구성됨 -;
상기 제2 집적 회로 층과 제3 집적 회로 층을 전기적으로 커플링하는 단계 - 상기 제3 집적 회로 층은 대응하는 이미지 프로세싱 회로망 그룹으로부터 상기 프로세싱된 픽셀 정보를 각각 수신하도록 구성되는 신경망 회로망 그룹들을 포함하고, 상기 신경망 회로망 그룹들은 상기 이미지 센서의 동작 동안 상기 프로세싱된 픽셀 정보로부터의 검출 객체들에 대해 객체 검출을 위한 분석을 수행하도록 추가로 구성됨 -; 및
상기 신경망 회로망 그룹들에 상기 신경망 회로망 그룹들에 의한 객체 검출을 위한 분석의 결과들을 나타내는 정보를 출력하는 회로망을 전기적으로 커플링하는 단계
를 포함하고,
상기 제1 집적 회로 층은 상기 제2 집적 회로 층 상에 적층되고, 상기 제2 집적 회로 층은 상기 제3 집적 회로 층 상에 적층되는, 방법.
A method of forming an image sensor, comprising:
forming a first integrated circuit layer comprising pixel sensors grouped into pixel sensor groups based on position;
electrically coupling the first integrated circuit layer and the second integrated circuit layer, the second integrated circuit layer comprising groups of image processing circuitry each configured to receive pixel information from a corresponding pixel sensor group; image processing circuitry groups further configured to perform image processing operations on the pixel information to provide pixel information processed during operation of the image sensor;
electrically coupling the second integrated circuit layer and a third integrated circuit layer, the third integrated circuit layer comprising neural network groups each configured to receive the processed pixel information from a corresponding image processing network group. and the neural network groups are further configured to perform analysis for object detection on detection objects from the processed pixel information during operation of the image sensor; and
electrically coupling a network for outputting information representing results of analysis for object detection by the neural network groups to the neural network groups;
including,
wherein the first integrated circuit layer is laminated on the second integrated circuit layer, and the second integrated circuit layer is laminated on the third integrated circuit layer.
방법으로서,
이미지 센서의 픽셀 센서들에 의해 캡처된 다수의 이미지들을 획득하는 단계;
상기 이미지 센서에 통합된 신경망 회로망을 사용하여, 객체 검출을 위해 상기 다수의 이미지들을 분석하는 단계;
상기 이미지 센서에 통합된 신경망 회로망을 사용하여 상기 다수의 이미지들 각각에 대해, 객체 검출을 위해 상기 다수의 이미지들의 분석의 결과들과 관련된 신경망 출력 데이터를 생성하는 단계; 및
상기 이미지 센서로부터, 상기 다수의 이미지들 각각의 이미지 데이터 대신 상기 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 상기 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 단계
를 포함하는, 방법.
As a method,
acquiring a plurality of images captured by pixel sensors of the image sensor;
analyzing the plurality of images for object detection using a neural network integrated in the image sensor;
generating, for each of the plurality of images using a neural network integrated in the image sensor, neural network output data related to results of analysis of the plurality of images for object detection; and
transmitting, from the image sensor, neural network output data for each of the plurality of images and image data for a subset of the plurality of images instead of image data for each of the plurality of images;
A method comprising
제21항에 있어서, 상기 다수의 이미지들 각각의 이미지 데이터 대신 상기 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 상기 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 단계는,
상기 다수의 이미지들의 제1 이미지에 대한 이미지 데이터 및 상기 제1 이미지에 대한 신경망 출력 데이터를 송신하고, 제2 이미지에 대한 신경망 출력 데이터를 송신하고, 상기 제2 이미지에 대한 이미지 데이터의 송신 전에 및 이를 송신하지 않고 상기 다수의 이미지들의 제3 이미지에 대한 이미지 데이터 및 상기 제3 이미지에 대한 신경망 출력 데이터를 송신하는 단계
를 포함하는, 방법.
22. The method of claim 21, wherein transmitting neural network output data for each of the plurality of images and image data for a subset of the plurality of images instead of image data for each of the plurality of images comprises:
before transmitting image data for a first image of the plurality of images and neural network output data for the first image, and transmitting neural network output data for a second image, before transmitting image data for the second image; Transmitting image data for a third image of the plurality of images and neural network output data for the third image without transmitting this
A method comprising
제22항에 있어서,
상기 다수의 이미지들의 제1 이미지에 대한 이미지 데이터 및 상기 제1 이미지에 대한 신경망 출력 데이터를 송신하면서, 객체 검출을 위해 상기 다수의 이미지들의 제2 이미지를 분석하는 단계
를 포함하는, 방법.
23. The method of claim 22,
analyzing a second image of the plurality of images for object detection while transmitting image data for the first image of the plurality of images and neural network output data for the first image;
A method comprising
제22항에 있어서,
상기 제3 이미지를 캡처하면서, 객체 검출을 위해 상기 다수의 이미지들의 분석의 결과들과 관련된 신경망 출력 데이터를 생성하는 단계
를 포함하는, 방법.
23. The method of claim 22,
generating neural network output data related to results of analysis of the plurality of images for object detection while capturing the third image;
A method comprising
제21항에 있어서, 상기 이미지 센서로부터, 상기 다수의 이미지들 각각의 이미지 데이터 대신 상기 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 상기 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 단계는,
상기 다수의 이미지들의 서브세트의 이미지 데이터를 초당 특정 수의 프레임들로 송신하고, 상기 다수의 이미지들의 서브세트에 대한 이미지 데이터가 송신되고 있지 않는 동안 상기 이미지들에 대한 신경망 출력 데이터를 송신하는 단계
를 포함하는, 방법.
22. The method of claim 21, wherein transmitting, from the image sensor, neural network output data for each of the plurality of images and image data for a subset of the plurality of images instead of image data for each of the plurality of images, comprises:
transmitting image data of the subset of the plurality of images at a specified number of frames per second, and transmitting neural network output data for the images while image data for the subset of the plurality of images is not being transmitted;
A method comprising
제21항에 있어서, 상기 다수의 이미지들의 서브세트는 상기 이미지 센서에 의해 캡처된 모든 제N 이미지를 포함하며, N은 1보다 큰 정수인, 방법.22. The method of claim 21, wherein the subset of the plurality of images includes all Nth images captured by the image sensor, where N is an integer greater than one. 제21항에 있어서, 상기 이미지들의 특정 이미지에 대한 이미지 데이터는 상기 이미지 내의 각각의 픽셀에 대한 값들을 나타내는 데이터를 포함하는, 방법.22. The method of claim 21, wherein the image data for a particular image of the images comprises data representing values for each pixel in the image. 제21항에 있어서, 상기 이미지들의 특정 이미지에 대한 신경망 출력 데이터는,
검출들을 표현하는 픽셀들에 대한 선택된 관심 영역들;
시간 및 기하학적 위치 정보를 포함하는 메타데이터;
객체 검출 이전의 중간 계산 결과들;
네트워크 확실성 레벨에 관한 통계 정보; 및
검출된 객체들의 분류들
중 하나 이상을 포함하는, 방법.
The method of claim 21, wherein the neural network output data for a specific image of the images,
selected regions of interest for pixels representing detections;
metadata including time and geometric location information;
intermediate calculation results before object detection;
statistical information about the level of network certainty; and
Classifications of detected objects
A method comprising one or more of
제21항에 있어서, 상기 이미지들의 특정 이미지에 대한 신경망 출력 데이터는 추가 프로세싱을 위해 프로세서에 제공되는 부분적으로 프로세싱된 데이터를 표현하는, 방법.The method of claim 21 , wherein the neural network output data for a particular image of the images represents partially processed data provided to a processor for further processing. 제21항에 있어서, 상기 신경망 출력 데이터 및 상기 이미지 데이터를 송신하는 단계는 상기 신경망 출력 데이터 및 상기 이미지 데이터를 중앙 프로세싱 유닛에 송신하는 단계를 포함하는, 방법.22. The method of claim 21, wherein transmitting the neural network output data and the image data comprises sending the neural network output data and the image data to a central processing unit. 동작들을 수행하도록 구성되는 회로망을 갖는 이미지 센서로서,
동작들은,
상기 이미지 센서의 픽셀 센서들에 의해 캡처된 다수의 이미지들을 획득하는 동작;
상기 이미지 센서에 통합된 신경망 회로망을 사용하여, 객체 검출을 위해 다수의 이미지들을 분석하는 동작;
상기 이미지 센서에 통합된 신경망 회로망을 사용하여 상기 다수의 이미지들 각각에 대해, 객체 검출을 위해 상기 다수의 이미지들의 분석의 결과들과 관련된 신경망 출력 데이터를 생성하는 동작; 및
상기 이미지 센서로부터, 상기 다수의 이미지들 각각의 이미지 데이터 대신 상기 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 상기 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 동작
을 포함하는, 이미지 센서,
An image sensor having circuitry configured to perform operations, the image sensor comprising:
actions are,
acquiring a plurality of images captured by pixel sensors of the image sensor;
analyzing a plurality of images for object detection using a neural network integrated in the image sensor;
generating, for each of the plurality of images, neural network output data related to results of analysis of the plurality of images for object detection using a neural network integrated in the image sensor; and
transmitting, from the image sensor, neural network output data for each of the plurality of images and image data for a subset of the plurality of images instead of image data for each of the plurality of images
comprising, an image sensor,
제31항에 있어서, 상기 다수의 이미지들 각각의 이미지 데이터 대신 상기 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 상기 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 동작은,
상기 다수의 이미지들의 제1 이미지에 대한 이미지 데이터 및 상기 제1 이미지에 대한 신경망 출력 데이터를 송신하고, 제2 이미지에 대한 신경망 출력 데이터를 송신하고, 상기 제2 이미지에 대한 이미지 데이터의 송신 전에 및 이를 송신하지 않고 상기 다수의 이미지들의 제3 이미지에 대한 이미지 데이터 및 상기 제3 이미지에 대한 신경망 출력 데이터를 송신하는 동작
을 포함하는, 이미지 센서.
The method of claim 31 , wherein transmitting neural network output data for each of the plurality of images and image data for a subset of the plurality of images instead of image data for each of the plurality of images comprises:
before transmitting image data for a first image of the plurality of images and neural network output data for the first image, and transmitting neural network output data for a second image, before transmitting image data for the second image; Transmitting image data for a third image of the plurality of images and neural network output data for the third image without transmitting this
Including, an image sensor.
제32항에 있어서,
상기 다수의 이미지들의 제1 이미지에 대한 이미지 데이터 및 상기 제1 이미지에 대한 신경망 출력 데이터를 송신하면서, 객체 검출을 위해 상기 다수의 이미지들의 제2 이미지를 분석하는 동작
을 포함하는, 이미지 센서.
33. The method of claim 32,
Analyze the second image of the plurality of images for object detection while transmitting image data for the first image of the plurality of images and neural network output data for the first image
Including, an image sensor.
제33항에 있어서,
상기 제3 이미지를 캡처하면서, 객체 검출을 위해 상기 다수의 이미지들의 분석의 결과들과 관련된 신경망 출력 데이터를 생성하는 동작
을 포함하는, 이미지 센서.
34. The method of claim 33,
generating neural network output data related to results of analysis of the plurality of images for object detection while capturing the third image;
Including, an image sensor.
제31항에 있어서, 상기 이미지 센서로부터, 상기 다수의 이미지들 각각의 이미지 데이터 대신 상기 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 상기 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 동작은,
상기 다수의 이미지들의 서브세트의 이미지 데이터를 초당 특정 수의 프레임들로 송신하고, 상기 다수의 이미지들의 서브세트에 대한 이미지 데이터가 송신되고 있지 않는 동안 상기 이미지들에 대한 신경망 출력 데이터를 송신하는 동작
을 포함하는, 이미지 센서.
The method of claim 31 , wherein transmitting, from the image sensor, neural network output data for each of the plurality of images and image data for a subset of the plurality of images instead of image data for each of the plurality of images, comprises:
transmitting image data of the subset of the plurality of images at a specified number of frames per second, and transmitting neural network output data for the images while the image data for the subset of the plurality of images is not being transmitted;
Including, an image sensor.
제31항에 있어서, 상기 다수의 이미지들의 서브세트는 상기 이미지 센서에 의해 캡처된 모든 제N 이미지를 포함하며, N은 1보다 큰 정수인, 이미지 센서.The image sensor of claim 31 , wherein the subset of the plurality of images includes all Nth images captured by the image sensor, where N is an integer greater than one. 제31항에 있어서, 상기 이미지들의 특정 이미지에 대한 이미지 데이터는 상기 이미지 내의 각각의 픽셀에 대한 값들을 나타내는 데이터를 포함하는, 이미지 센서.32. The image sensor of claim 31, wherein the image data for a particular image of the images comprises data representing values for each pixel in the image. 제31항에 있어서, 상기 이미지들의 특정 이미지에 대한 신경망 출력 데이터는,
검출들을 표현하는 픽셀들에 대한 선택된 관심 영역들;
시간 및 기하학적 위치 정보를 포함하는 메타데이터;
객체 검출 이전의 중간 계산 결과들;
네트워크 확실성 레벨에 관한 통계 정보; 및
검출된 객체들의 분류들
중 하나 이상을 포함하는, 이미지 센서.
The method of claim 31 , wherein the neural network output data for a specific image of the images comprises:
selected regions of interest for pixels representing detections;
metadata including time and geometric location information;
intermediate calculation results before object detection;
statistical information about the level of network certainty; and
Classifications of detected objects
An image sensor comprising one or more of:
제31항에 있어서, 상기 이미지들의 특정 이미지에 대한 신경망 출력 데이터는 추가 프로세싱을 위해 프로세서에 제공되는 부분적으로 프로세싱된 데이터를 표현하는, 이미지 센서.The image sensor of claim 31 , wherein the neural network output data for a particular image of the images represents partially processed data provided to a processor for further processing. 제31항에 있어서, 상기 신경망 출력 데이터 및 상기 이미지 데이터를 송신하는 동작은 상기 신경망 출력 데이터 및 상기 이미지 데이터를 중앙 프로세싱 유닛에 송신하는 동작을 포함하는, 이미지 센서.The image sensor of claim 31 , wherein transmitting the neural network output data and the image data comprises sending the neural network output data and the image data to a central processing unit.
KR1020217035827A 2019-04-05 2020-03-30 Image sensor architecture KR20210135358A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/376,634 2019-04-05
US16/376,634 US11037968B2 (en) 2019-04-05 2019-04-05 Image sensor architecture
PCT/US2020/025734 WO2020205743A1 (en) 2019-04-05 2020-03-30 Image sensor architecture

Publications (1)

Publication Number Publication Date
KR20210135358A true KR20210135358A (en) 2021-11-12

Family

ID=72662052

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217035827A KR20210135358A (en) 2019-04-05 2020-03-30 Image sensor architecture

Country Status (8)

Country Link
US (2) US11037968B2 (en)
EP (1) EP3949382A4 (en)
JP (1) JP7275307B2 (en)
KR (1) KR20210135358A (en)
CN (1) CN113647096B (en)
IL (1) IL286944A (en)
TW (1) TWI788652B (en)
WO (1) WO2020205743A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11284021B1 (en) * 2019-12-30 2022-03-22 Waymo Llc Smart sensor scheduler
US11861337B2 (en) * 2020-08-26 2024-01-02 Micron Technology, Inc. Deep neural networks compiler for a trace-based accelerator
US20220097690A1 (en) * 2020-09-30 2022-03-31 Toyota Motor Engineering & Manufacturing North America, Inc. Optical sense-compute solution for real-time navigation involving multiple vehicles
US11756283B2 (en) 2020-12-16 2023-09-12 Waymo Llc Smart sensor implementations of region of interest operating modes
US11706546B2 (en) * 2021-06-01 2023-07-18 Sony Semiconductor Solutions Corporation Image sensor with integrated single object class detection deep neural network (DNN)
US20230032925A1 (en) * 2021-07-29 2023-02-02 Meta Platforms Technologies, Llc Improved architecture for coupling digital pixel sensors and computing components
TWI786992B (en) 2021-12-14 2022-12-11 國立清華大學 Image sensor integrated with convolutional neural network computation circuit
EP4221188A1 (en) * 2022-01-27 2023-08-02 VoxelSensors SRL Efficient image sensor
US11979674B2 (en) * 2022-09-08 2024-05-07 Micron Technology, Inc. Image enhancement using integrated circuit devices having analog inference capability

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2617798B2 (en) 1989-09-22 1997-06-04 三菱電機株式会社 Stacked semiconductor device and method of manufacturing the same
US20030206236A1 (en) 2002-05-06 2003-11-06 Agfa Corporation CMOS digital image sensor system and method
US6894265B2 (en) 2003-01-31 2005-05-17 Foveon, Inc. Vertical color filter sensor group and semiconductor integrated circuit fabrication method for fabricating same
JP5500007B2 (en) * 2010-09-03 2014-05-21 ソニー株式会社 Solid-state imaging device and camera system
US9185307B2 (en) * 2012-02-21 2015-11-10 Semiconductor Components Industries, Llc Detecting transient signals using stacked-chip imaging systems
US8981511B2 (en) * 2012-02-29 2015-03-17 Semiconductor Components Industries, Llc Multi-chip package for imaging systems
US9350928B2 (en) 2012-05-02 2016-05-24 Semiconductor Components Industries, Llc Image data compression using stacked-chip image sensors
RU2018109081A (en) 2012-05-02 2019-02-26 Никон Корпорейшн DEVICE FOR IMAGE FORMATION
KR102159256B1 (en) 2013-11-25 2020-09-23 삼성전자 주식회사 Pixel array and image sensor including the same
US10078791B2 (en) * 2014-01-09 2018-09-18 Irvine Sensors Corporation Methods and devices for cognitive-based image data analytics in real time
MX2017008086A (en) 2014-12-17 2017-10-31 Nokia Technologies Oy Object detection with neural network.
WO2016121523A1 (en) 2015-01-30 2016-08-04 ソニー株式会社 Solid-state image pickup element and control method, and electronic equipment
US9740959B2 (en) 2015-03-13 2017-08-22 Trimble Inc. Acceleration of exposure fusion with pixel shaders
US9819889B2 (en) * 2015-08-07 2017-11-14 Omnivision Technologies, Inc. Method and system to implement a stacked chip high dynamic range image sensor
KR102147361B1 (en) 2015-09-18 2020-08-24 삼성전자주식회사 Method and apparatus of object recognition, Method and apparatus of learning for object recognition
US10460231B2 (en) 2015-12-29 2019-10-29 Samsung Electronics Co., Ltd. Method and apparatus of neural network based image signal processor
US9830709B2 (en) * 2016-03-11 2017-11-28 Qualcomm Incorporated Video analysis with convolutional attention recurrent neural networks
EP3439288B1 (en) * 2016-03-30 2024-04-10 Nikon Corporation Feature extraction element, feature extraction system, and determination apparatus
KR20210134066A (en) * 2016-08-03 2021-11-08 가부시키가이샤 한도오따이 에네루기 켄큐쇼 Imaging device, imaging module, electronic device, and imaging system
CN206139527U (en) * 2016-09-14 2017-05-03 郑州轻工业学院 Panoramic vision potato is selected separately and defect detecting device
JP6731819B2 (en) 2016-09-26 2020-07-29 日立オートモティブシステムズ株式会社 Mobile body trajectory prediction system
US10013773B1 (en) * 2016-12-16 2018-07-03 Waymo Llc Neural networks for object detection
US20180247199A1 (en) * 2017-02-24 2018-08-30 Qualcomm Incorporated Method and apparatus for multi-dimensional sequence prediction
DE102017204347A1 (en) * 2017-03-15 2018-09-20 Audi Ag Method and system for determining a kinematic property of an object, method for controlling an assistance system of a motor vehicle and motor vehicle
US20180278868A1 (en) * 2017-03-21 2018-09-27 The Charles Stark Draper Laboratory, Inc. Neuromorphic Digital Focal Plane Array
KR102415508B1 (en) 2017-03-28 2022-07-01 삼성전자주식회사 Convolutional neural network processing method and apparatus
JP2018182569A (en) 2017-04-14 2018-11-15 株式会社メガチップス Image processing device, image processing system, information processing system, and image processing method
TWI614624B (en) 2017-04-24 2018-02-11 太豪生醫股份有限公司 System and method for cloud medical image analyzing
US10726627B2 (en) * 2017-07-25 2020-07-28 Facebook Technologies, Llc Sensor system based on stacked sensor layers
US10217028B1 (en) * 2017-08-22 2019-02-26 Northrop Grumman Systems Corporation System and method for distributive training and weight distribution in a neural network
CN108806243B (en) * 2018-04-24 2020-09-29 东南大学 Traffic flow information acquisition terminal based on Zynq-7000
US11888002B2 (en) * 2018-12-17 2024-01-30 Meta Platforms Technologies, Llc Dynamically programmable image sensor

Also Published As

Publication number Publication date
TWI788652B (en) 2023-01-01
JP7275307B2 (en) 2023-05-17
JP2022525794A (en) 2022-05-19
US20200321374A1 (en) 2020-10-08
TW202105985A (en) 2021-02-01
US11972342B2 (en) 2024-04-30
CN113647096B (en) 2024-07-19
EP3949382A4 (en) 2022-10-26
US11037968B2 (en) 2021-06-15
CN113647096A (en) 2021-11-12
EP3949382A1 (en) 2022-02-09
US20210305295A1 (en) 2021-09-30
WO2020205743A1 (en) 2020-10-08
IL286944A (en) 2021-12-01

Similar Documents

Publication Publication Date Title
KR20210135358A (en) Image sensor architecture
US11888002B2 (en) Dynamically programmable image sensor
US20220076402A1 (en) High bandwidth camera data transmission
US11631246B2 (en) Method for outputting a signal from an event-based sensor, and event-based sensor using such method
KR101792866B1 (en) Method and Apparatus for Motion Recognition using event sensor and color sensor
CN114586076A (en) Image sensing and processing using neural networks to track regions of interest
US10313610B2 (en) Image sensors with dynamic pixel binning
RU2017143910A (en) METHOD AND DEVICE FOR DETERMINING THE LOCATION OF THE WEAR DETAIL ON THE IMAGE OF THE WORKING TOOL
JP2020038410A (en) Solid state image pickup apparatus, information processing apparatus, information processing system, information processing method and program
CN114026846A (en) Dynamic programmable image sensor
Gómez-Rodríguez et al. Real time multiple objects tracking based on a bio-inspired processing cascade architecture
CN114582009A (en) Monocular fixation point estimation method and system based on mixed attention mechanism
TW202321991A (en) Sparse image processing
EP3833008B1 (en) Active pixel sensor array, display panel and electronic device
US20180366139A1 (en) Employing vehicular sensor information for retrieval of data
Gómez-Rodríguez et al. Neuromorphic real-time objects tracking using address event representation and silicon retina
Delbruck Fun with asynchronous vision sensors and processing
JP7482011B2 (en) Information Processing System
US20240080573A1 (en) In-plane preprocessor and multiplane hardware neural network
US20220405553A1 (en) Sparse image processing
CN107454316B (en) Motion detection method and device
CN117099019A (en) Information processing apparatus
JP2005141400A (en) Perception processor and robot therewith

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application