(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-05-19
(54)【発明の名称】画像センサアーキテクチャ
(51)【国際特許分類】
H04N 5/369 20110101AFI20220512BHJP
G06N 3/063 20060101ALI20220512BHJP
G06T 7/00 20170101ALI20220512BHJP
【FI】
H04N5/369
G06N3/063
G06T7/00 350C
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021556590
(86)(22)【出願日】2020-03-30
(85)【翻訳文提出日】2021-11-17
(86)【国際出願番号】 US2020025734
(87)【国際公開番号】W WO2020205743
(87)【国際公開日】2020-10-08
(32)【優先日】2019-04-05
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】317015065
【氏名又は名称】ウェイモ エルエルシー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100126480
【氏名又は名称】佐藤 睦
(72)【発明者】
【氏名】イオン,ルシアン
(72)【発明者】
【氏名】カルデイ,ブラッド コンスタンタン
(72)【発明者】
【氏名】クラドック,カール ウォーレン
【テーマコード(参考)】
5C024
5L096
【Fターム(参考)】
5C024CX43
5C024CY25
5C024HX01
5C024HX23
5C024HX58
5L096AA06
5L096CA18
5L096DA02
5L096FA19
5L096FA69
5L096HA11
5L096JA22
5L096LA17
(57)【要約】
画像センサが、位置に基づいて画素センサグループにグループ化される画素センサを含む第1の集積回路層と、第1の集積回路層と電気通信する第2の集積回路層であって、第2の集積回路層が、対応する画素センサグループから画素情報を各々受信するように構成された画像処理回路グループを含み、画像処理回路グループが、画像センサの動作中、処理された画素情報を提供するために、画素情報に関して画像処理動作を遂行するようにさらに構成されている、第2の集積回路層と、第2の集積回路層と電気通信する第3の集積回路層であって、第3の集積回路層が、対応する画像処理回路グループから処理された画素情報を各々受信するように構成されたニューラルネットワーク回路グループを含み、画像センサの動作中、処理された画素情報に関して対象物検出のために分析を遂行する、第3の集積回路層と、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
画像センサであって、
位置に基づいて画素センサグループにグループ化された画素センサを含む第1の集積回路層と、
前記第1の集積回路層と電気通信する第2の集積回路層であって、対応する画素センサグループから画素情報を各々受信するように構成された画像処理回路グループを含み、前記画像処理回路グループが、前記画像センサの動作中、処理された画素情報を提供するために、前記画素情報に対して画像処理動作を遂行するようにさらに構成されている、第2の集積回路層と、
前記第2の集積回路層と電気通信する第3の集積回路層であって、対応する画像処理回路グループから前記処理された画素情報を各々受信するように構成されたニューラルネットワーク回路グループを含み、前記ニューラルネットワーク回路グループが、前記画像センサの動作中、前記処理された画素情報に対して対象物検出のための分析を遂行するようにさらに構成されている、第3の集積回路層と、
前記ニューラルネットワーク回路グループによる前記対象物検出のための分析の結果を示す情報を出力する回路と、を備え
前記第1の集積回路層が前記第2の集積回路層上に積層され、前記第2の集積回路層が前記第3の集積回路層上に積層されている、画像センサ。
【請求項2】
前記対象物検出のための分析の前記結果が、
検出を表現する画素のために選択された対象領域と、
時間的および幾何学的位置情報を含むメタデータと、
対象物検出前の中間計算結果と、
ネットワーク確実性レベルに関する統計情報と、
検出された対象物の分類と、からなる群のうちの少なくとも1つを含む、請求項1に記載の画像センサ。
【請求項3】
前記ニューラルネットワーク回路グループが、畳み込みニューラルネットワークを実装するように構成された回路を各々含む、請求項1に記載の画像センサ。
【請求項4】
前記畳み込みニューラルネットワークが、前記ニューラルネットワーク回路グループに対応する前記画像処理回路グループに対応する前記画素センサグループによって感知された対象物を各々検出する、請求項1に記載の画像センサ。
【請求項5】
前記第3の集積回路層が、リカレントニューラルネットワークを実装するように構成された回路を含む、請求項1に記載の画像センサ。
【請求項6】
前記リカレントニューラルネットワークが、前記ニューラルネットワーク回路グループのすべてによって検出された前記対象物に関する前記情報を受信し、前記画素センサグループの複数にわたって感知された対象物を検出する、請求項1に記載の画像センサ。
【請求項7】
前記ニューラルネットワーク回路グループの各々が、前記処理された画素情報を前記ニューラルネットワーク回路グループに提供する前記画像処理回路グループの直下に配置されている、請求項1に記載の画像センサ。
【請求項8】
前記画像処理回路グループの各々が、前記画素情報を前記画像処理回路グループに提供する前記画素センサグループの直下または直近に配置されている、請求項1に記載の画像センサ。
【請求項9】
前記第1の集積回路層、前記第2の集積回路層、および前記第3の集積回路層が単一の集積チップに統合されている、請求項1に記載の画像センサ。
【請求項10】
前記画素センサグループの各々が、同数の画素センサを備える、請求項1に記載の画像センサ。
【請求項11】
前記画素情報に対して遂行される前記画像処理動作が、処理前の高ダイナミックレンジ融合を含む、請求項1に記載の画像センサ。
【請求項12】
前記画像処理回路グループの各々が、アナログデジタル変換器を含む、請求項1に記載の画像センサ。
【請求項13】
方法であって、
第1の集積回路層内の、位置に基づいて画素センサグループにグループ化された画素センサによって、画素情報を取得することと、
前記第1の集積回路と電気通信する第2の集積回路層内の画像処理回路グループによって、対応する画素センサグループからの前記画素情報に対して画像処理動作を遂行して、処理された画素情報を提供することと、
前記第2の集積回路層と電気通信する第3の集積回路層内のニューラルネットワーク回路グループによって、対応する画像処理回路グループからの前記処理された画素情報に対する対象物検出のための分析を遂行することと、
前記ニューラルネットワーク回路グループによる前記対象物検出のための分析の結果を示す情報を出力することと、を含み、
前記第1の集積回路層が前記第2の集積回路層上に積層され、前記第2の集積回路層が前記第3の集積回路層上に積層されている、方法。
【請求項14】
前記対象物検出のための分析の前記結果が、
検出を表現する画素のために選択された対象領域と、
時間的および幾何学的位置情報を含むメタデータと、
対象物検出前の中間計算結果と、
ネットワーク確実性レベルに関する統計情報と、
検出された対象物の分類と、からなる群のうちの少なくとも1つを含む、請求項13に記載の方法。
【請求項15】
前記ニューラルネットワーク回路グループが、畳み込みニューラルネットワークを実装するように構成された回路を各々含む、請求項12に記載の方法。
【請求項16】
前記畳み込みニューラルネットワークが、前記ニューラルネットワーク回路グループに対応する前記画像処理回路グループに対応する前記画素センサグループによって感知された対象物を各々検出する、請求項12に記載の方法。
【請求項17】
前記第3の集積回路層が、リカレントニューラルネットワークを実装するように構成された回路を含む、請求項12に記載の方法。
【請求項18】
前記リカレントニューラルネットワークが、前記ニューラルネットワーク回路グループのすべてによって検出されている前記対象物に関する前記情報を受信し、前記画素センサグループの複数にわたって感知された対象物を検出する、請求項12に記載の方法。
【請求項19】
前記ニューラルネットワーク回路グループの各々が、前記処理された画素情報を前記ニューラルネットワーク回路グループに提供する前記画像処理回路グループの直下に配置されている、請求項12に記載の方法。
【請求項20】
画像センサを形成する方法であって、
位置に基づいて画素センサグループにグループ化される画素センサを含む第1の集積回路層を形成することと、
対応する画素センサグループから画素情報を各々受信するように構成された画像処理回路グループを含み、前記画像処理回路グループが、前記画像センサの動作中、処理された画素情報を提供するために、前記画素情報に対して画像処理動作を遂行するようにさらに構成されている、第2の集積回路層を、前記第1の集積回路層と電気的に結合することと、
対応する画像処理回路グループから前記処理された画素情報を各々受信するように構成されたニューラルネットワーク回路グループを含み、前記ニューラルネットワーク回路グループが、前記画像センサの動作中、前記処理された画素情報からの対象物検出に対して対象物検出のための分析を遂行するようにさらに構成されている、第3の集積回路層を、前記第2の集積回路層と電気的に結合することと、
前記ニューラルネットワーク回路グループによる前記対象物検出のための分析の結果を示す情報を出力する回路を、前記ニューラルネットワーク回路グループに電気的に結合することと、を含み、
前記第1の集積回路層が前記第2の集積回路層上に積層され、前記第2の集積回路層が前記第3の集積回路層上に積層されている、方法。
【請求項21】
方法であって、
画像センサの画素センサによってキャプチャされた複数の画像を取得することと、
前記画像センサに統合されたニューラルネットワーク回路を使用して、対象物検出のための前記複数の画像を分析することと、
前記画像センサに統合された前記ニューラルネットワーク回路を使用して、前記複数の画像の各々について、前記対象物検出のための複数の画像の前記分析の結果に関するニューラルネットワーク出力データを生成することと、
前記画像センサから、前記複数の画像の各々の画像データの代わりに、前記複数の画像の各々の前記ニューラルネットワーク出力データおよび前記複数の画像のサブセットの画像データを送信することと、を含む、方法。
【請求項22】
前記複数の画像の各々の画像データの代わりに、前記複数の画像の各々の前記ニューラルネットワーク出力データおよび前記複数の画像のサブセットの画像データを送信することが、
前記複数の画像内の第1の画像の前記画像データおよび前記第1の画像の前記ニューラルネットワーク出力データを送信することと、第2の画像の前記ニューラルネットワーク出力データを送信することと、前記第2の画像の前記画像データの送信の前にかつそれをすることなしに、前記複数の画像内の第3の画像の前記画像データおよび前記第3の画像の前記ニューラルネットワーク出力データを送信することと、を含む、請求項21に記載の方法。
【請求項23】
前記複数の画像内の前記第1の画像の前記画像データおよび前記第1の画像の前記ニューラルネットワーク出力データを送信しながら、前記対象物検出のための複数の画像内の前記第2の画像を分析することを含む、請求項22に記載の方法。
【請求項24】
前記第3の画像をキャプチャしながら、前記対象物検出のための複数の画像の前記分析の結果に関する前記ニューラルネットワーク出力データを生成することを含む、請求項22に記載の方法。
【請求項25】
前記画像センサから、前記複数の画像の各々の画像データの代わりに、前記複数の画像の各々の前記ニューラルネットワーク出力データおよび前記複数の画像のサブセットの画像データを送信することが、
前記複数の画像の前記サブセットの画像データを、毎秒特定のフレーム数で送信することと、前記複数の画像の前記サブセットの前記画像データが送信されていない間の前記画像の前記ニューラルネットワーク出力データを送信することと、を含む、請求項21に記載の方法。
【請求項26】
前記複数の画像の前記サブセットが、前記画像センサによってキャプチャされたN番目ごとの画像を含み、Nが、1よりも大きい整数である、請求項21に記載の方法。
【請求項27】
前記画像の特定の画像の前記画像データが、前記画像内の各画素の値を示すデータを含む、請求項21に記載の方法。
【請求項28】
前記画像の特定の画像の前記ニューラルネットワーク出力データが、
検出を表現する画素のために選択された対象領域と、
時間的および幾何学的位置情報を含むメタデータと、
対象物検出前の中間計算結果と、
ネットワーク確実性レベルに関する統計情報と、
検出された対象物の分類と、のうちの1つ以上を含む、請求項21に記載の方法。
【請求項29】
前記画像のうちの特定の画像の前記ニューラルネットワーク出力データが、さらなる処理のためにプロセッサに提供される部分的に処理されたデータを表す、請求項21に記載の方法。
【請求項30】
前記ニューラルネットワーク出力データおよび前記画像データを送信することが、前記ニューラルネットワーク出力データおよび前記画像データを中央処理装置に送信することを含む、請求項21に記載の方法。
【請求項31】
回路を備えた画像センサであって、
前記画像センサの画素センサによってキャプチャされた複数の画像を取得することと、
前記画像センサに統合されたニューラルネットワーク回路を使用して、対象物検出のための前記複数の画像を分析することと、
前記画像センサに統合された前記ニューラルネットワーク回路を使用して、前記複数の画像の各々について、前記対象物検出のための複数の画像の前記分析の結果に関するニューラルネットワーク出力データを生成することと、
前記画像センサから、前記複数の画像の各々の画像データの代わりに、前記複数の画像の各々の前記ニューラルネットワーク出力データおよび前記複数の画像のサブセットの画像データを送信することと、の処理を遂行するように構成されている、回路を備えた画像センサ。
【請求項32】
前記複数の画像の各々の画像データの代わりに、前記複数の画像の各々の前記ニューラルネットワーク出力データおよび前記複数の画像のサブセットの画像データを送信することが、
前記複数の画像内の第1の画像の前記画像データおよび前記第1の画像の前記ニューラルネットワーク出力データを送信することと、第2の画像の前記ニューラルネットワーク出力データを送信することと、前記第2の画像の前記画像データの送信の前にかつそれをすることなしに、前記複数の画像内の第3の画像の前記画像データおよび前記第3の画像の前記ニューラルネットワーク出力データを送信することと、を含む、請求項31に記載の画像センサ。
【請求項33】
前記複数の画像内の前記第1の画像の前記画像データおよび前記第1の画像の前記ニューラルネットワーク出力データを送信しながら、前記対象物検出のための複数の画像内の前記第2の画像を分析することを含む、請求項32に記載の画像センサ。
【請求項34】
前記第3の画像をキャプチャしながら、前記対象物検出のための複数の画像の前記分析の結果に関する前記ニューラルネットワーク出力データを生成することを含む、請求項33に記載の画像センサ。
【請求項35】
前記画像センサから、前記複数の画像の各々の画像データの代わりに、前記複数の画像の各々の前記ニューラルネットワーク出力データおよび前記複数の画像のサブセットの画像データを送信することが、
前記複数の画像の前記サブセットの前記画像データを、毎秒特定のフレーム数で送信することと、前記複数の画像の前記サブセットの前記画像データが送信されていない間の前記画像の前記ニューラルネットワーク出力データを送信することと、を含む、請求項31に記載の画像センサ。
【請求項36】
前記複数の画像の前記サブセットが、前記画像センサによってキャプチャされたN番目ごとの画像を含み、Nが、1よりも大きい整数である、請求項31に記載の画像センサ。
【請求項37】
前記画像の特定の画像の前記画像データが、前記画像内の各画素の値を示すデータを含む、請求項31に記載の画像センサ。
【請求項38】
前記画像の特定の画像の前記ニューラルネットワーク出力データが、
検出を表現する画素のために選択された対象領域と、
時間的および幾何学的位置情報を含むメタデータと、
対象物検出前の中間計算結果と、
ネットワーク確実性レベルに関する統計情報と、
検出された対象物の分類と、のうちの1つ以上を含む、請求項31に記載の画像センサ。
【請求項39】
前記画像の特定の画像の前記ニューラルネットワーク出力データが、さらなる処理のためにプロセッサに提供される部分的に処理されたデータを表す、請求項31に記載の画像センサ。
【請求項40】
前記ニューラルネットワーク出力データおよび前記画像データを送信することが、前記ニューラルネットワーク出力データおよび前記画像データを中央処理装置に送信することを含む、請求項31に記載の画像センサ。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年4月5日に出願された米国特許出願第16/376,634号に対する優先権を主張するものであり、その全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
本明細書は、画像センサおよび画像センサを含むシステムに関する。
【発明の概要】
【0003】
本明細書は、画像センサに関する、画像をキャプチャし、対象物を検出するために画像センサ上で処理を遂行する技術を説明している。本明細書はさらに、画像センサから遠隔プロセッサにデータを送信するためのデータ送信プロトコルについて説明している。
【0004】
一般に、本明細書に記載される主題の1つの革新的な側面は、位置に基づいて画素センサグループにグループ化される画素センサを含む第1の集積回路層と、第1の集積回路層と電気通信する第2の集積回路層であって、第2の集積回路層が、対応する画素センサグループから画素情報を各々受信ように構成された画像処理回路グループを含み、画像処理回路グループが、画像センサの動作中、処理された画素情報を提供するために、画素情報に関して画像処理動作を遂行するようにさらに構成されている、第2の集積回路層と、第2の集積回路層と電気通信する第3の集積回路層であって、第3の集積回路層が、対応する画像処理回路グループから処理された画素情報を各々受信するように構成されたニューラルネットワーク回路グループを含み、ニューラルネットワーク回路グループが、画像センサの動作中、処理された画素情報に関して対象物検出のために分析を遂行するようにさらに構成されている、第3の集積回路層と、ニューラルネットワーク回路グループを使って対象物検出のための分析の結果を示す情報を出力する回路と、を含み、第1の集積回路層が、第2の集積回路層上に積層され、第2の集積回路層が、第3の集積回路層上に積層されている、画像センサに具現化され得る。
【0005】
本態様の他の実施形態は、画像センサに対応する作業を遂行し、画像センサを形成するために作業を遂行する、対応する方法を含む。
【0006】
これらおよび他の実装形態は各々、以下の特徴のうちの1つ以上を任意選択的に含み得る。いくつかの態様では、対象物検出のための分析の結果は、検出を表現する画素のために選択された対象領域、時間的および幾何学的位置情報を含むメタデータ、対象物検出前の中間計算結果、ネットワーク確実性レベルに関する統計情報、ならびに検出された対象物の分類、からなるグループのうちの少なくとも1つを含む。ある特定の態様では、ニューラルネットワーク回路グループは各々、畳み込みニューラルネットワークを実装するように構成された回路を含む。
【0007】
いくつかの態様では、畳み込みニューラルネットワークは各々、ニューラルネットワーク回路グループに対応する画像処理回路グループに対応する画素センサグループによって感知された対象物を検出する。いくつかの実施態様では、第3の集積回路層は、リカレントニューラルネットワークを実装するように構成された回路を含む。ある特定の態様では、リカレントニューラルネットワークは、ニューラルネットワーク回路グループのすべてによって検出された対象物に関する情報を受信し、画素センサグループのうちの複数にわたって感知された対象物を検出する。
【0008】
いくつかの態様では、ニューラルネットワーク回路グループの各々は、処理された画素情報をニューラルネットワーク回路グループに提供する、画像処理回路グループの直下に配置されている。ある特定の態様では、画像処理回路グループの各々は、画素情報を画像処理回路グループに提供する、画素センサグループの直下または直近に配置されている。いくつかの実施態様では、第1の集積回路層、第2の集積回路層、および第3の集積回路層は、単一の集積チップに統合されている。
【0009】
いくつかの態様では、画素センサグループの各々は、同じ数の画素センサを含む。ある特定の態様では、画素情報に対して遂行される画像処理動作は、処理前の高ダイナミックレンジ融合を含む。いくつかの実施態様では、
画像処理回路グループの各々は、アナログデジタル変換器を含む。
一般に、本明細書に記載される主題の1つの革新的な側面は、画像センサの画素センサによってキャプチャされた複数の画像を取得することと、画像センサに統合されたニューラルネットワーク回路を使用して対象物検出のための複数の画像を分析することと、画像センサに統合されたニューラルネットワーク回路を使用する複数の画像の各々ために、対象物検出のための複数の画像の分析の結果に関するニューラルネットワーク出力データを生成することと、画像センサから、複数の画像の各々の画像データの代わりに、複数の画像の各々のニューラルネットワーク出力データを、および複数の画像のサブセットの画像データを、送信することと、の作業を含む方法に具現化され得る。
【0010】
本態様の他の実施形態は、方法の作業を遂行するように構成された対応する画像センサを含む。
【0011】
これらおよび他の実装形態は各々、以下の特徴のうちの1つ以上を任意選択的に含み得る。いくつかの態様では、複数の画像の各々の画像データの代わりに、複数の画像の各々のニューラルネットワーク出力データを、および複数の画像のサブセットの画像データを、送信することは、複数の画像内の第1の画像の画像データおよび第1の画像のニューラルネットワーク出力データを送信することと、第2の画像のニューラルネットワーク出力データを送信することと、第2の画像の画像データの送信の前にかつそれをすることなしに、複数の画像内の第3の画像の画像データおよび第3の画像のニューラルネットワーク出力データを送信することと、を含む。
【0012】
ある特定の態様では、作業は、複数の画像内の第1の画像の画像データおよび第1の画像のニューラルネットワーク出力データを送信しながら、対象物検出のための複数の画像内の第2の画像を分析することを含む。いくつかの実施態様では、作業は、第3の画像をキャプチャしながら、対象物検出のための複数の画像の分析の結果に関するニューラルネットワーク出力データを生成することを含む。いくつかの態様では、画像センサから、複数の画像の各々の画像データの代わりに、複数の画像の各々のニューラルネットワーク出力データを、および複数の画像のサブセットの画像データを、送信することは、複数の画像のサブセットの画像データを、毎秒特定のフレーム数で送信することと、複数の画像のサブセットの画像データが送信されていない間の画像のニューラルネットワーク出力データを送信することと、を含む。
【0013】
ある特定の態様では、複数の画像のサブセットは、画像センサによってキャプチャされたN番目ごとの画像を含み、ここで、Nは、1よりも大きい整数である。いくつかの実施態様では、画像のうちの特定の画像の画像データは、画像内の各画素の値を示すデータを含む。いくつかの態様では、画像のうちの特定の画像のニューラルネットワーク出力データは、検出を表現する画素のために選択された対象領域、時間的および幾何学的位置情報を含むメタデータ、対象物検出前の中間計算結果、ネットワーク確実性レベルに関する統計情報、および検出された対象物の分類、のうちの1つ以上を含む。
【0014】
ある特定の態様では、画像のうちの特定の画像のニューラルネットワーク出力データは、さらなる処理のためにプロセッサに提供される部分的に処理されたデータを表す。いくつかの実施態様では、ニューラルネットワーク出力データおよび画像データを送信することは、ニューラルネットワーク出力データおよび画像データを中央処理装置に送信することを含む。
【0015】
本明細書に記載の主題の特定の実施形態は、以下の利点のうちの1つ以上を実現するように実施され得る。本技術の利点は、画像センサ内に複数の積層された集積回路層を含むことにより、画像データを処理するために画像センサから離れたプロセッサを排他的に使用することとは対照的に、処理を層間で分散させることが可能になり、それにより、層による並列処理および/または画像センサ上でより多くの処理を発生させることが可能になり得ることである。
【0016】
画像センサの外部の代わりに、画像センサの層を使用して追加の処理を遂行することで、画像センサの外部で一定のデータを処理する必要がなくなり、それにより、画像センサから情報を出力するために使用される帯域幅の量を低減し得る。例えば、画像センサ上のいくつかの処理が、フレームのためにすでになされ得るので、画像センサによってキャプチャされたフレームのサブセットのみが、出力されることを必要とし得る。別の利点は、情報が層間の短い距離を伝送され得るように、複数の層が配設され得、それにより、データのより速い送信を可能にし得ることであり得る。
【0017】
本明細書で説明されている主題の1つ以上の実施形態の詳細が、添付図面および以下の説明に記載されている。主題の他の特徴、態様、および利点は、明細書、図面、および特許請求の範囲から、明らかになるであろう。
【図面の簡単な説明】
【0018】
【
図1】3つの集積回路層を有する一例の画像センサのブロックダイアグラムである。
【
図2】画像センサの3つの集積回路層を有する対象物の検出のための一例の処理のフローチャートである。
【
図3】画素センサグループを有する一例の集積回路層のブロックダイアグラムである。
【
図4】画像処理回路グループを有する一例の集積回路層のブロックダイアグラムである。
【
図5】ニューラルネットワーク回路グループを有する一例の集積回路層のブロックダイアグラムである。
【
図6】ニューラルネットワーク回路なしの一例の画像センサのタイミングのダイアグラムである。
【
図7】ニューラルネットワーク回路を有する一例の画像センサのタイミングのダイアグラムである。
【
図8】ニューラルネットワーク回路を有する画像センサからニューラルネットワーク出力データおよび画像データを送信するための一例の処理のフローチャートである。
【
図9】自律型車両によって使用される画像センサを含む一例のシステムのブロックダイアグラムである。
【
図10】個別のチップ上に画素センサグループおよびニューラルネットワーク回路を含む一例のシステムのブロックダイアグラムである。
【0019】
様々な図面の中の同様の参照番号および名称は、同様の要素を示す。
【発明を実施するための形態】
【0020】
図1は、3つの集積回路層を有する一例の画像センサ100のブロックダイアグラムである。画像センサ100は、対象物を検出するために、3つの集積回路層を使用し得る。例えば、画像センサ100は、人物を含む画像をキャプチャし、「人物が検出された」という指標を出力し得る。別の例では、画像センサ100は、画像をキャプチャし、画像センサ100によって検出された車両を含む画像の一部を出力し得る。
【0021】
3つの集積回路層は、第1の集積回路層110、第2の集積回路層120、および第3の集積回路層130を含む。第1の集積回路層110は、第2の集積回路層120上に積層され、第2の集積回路層120は、第3の集積回路層130上に積層されている。例えば、第1の集積回路層110は、第2の集積回路層120の上部と直接接触しており、第3の集積回路層130は、第2の集積回路層120の底部と直接接触している。
【0022】
第1の集積回路層110は、第2の集積回路層120と電気通信し得る。例えば、第1の集積回路層110および第2の集積回路層120は、相互配線を用いて互いに物理的に接続され得る。第2の集積回路層120は、第3の集積回路層130と電気通信し得る。例えば、第2の集積回路層120および第3の集積回路層130は、相互配線を用いて互いに物理的に接続され得る。
【0023】
第1の集積回路層110は、第2の集積回路層120と同じ面積を有し得る。例えば、第1の集積回路層110および第2の集積回路層120の長さおよび幅は、同じであり得るが、高さは異なり得る。第3の集積回路層130は、第1および第2の集積回路層110、120よりも大きな面積を有し得る。例えば、第3の集積回路層130は、第1および第2の集積回路層110、120の長さおよび幅よりも両方とも20パーセント大きい長さおよび幅を有し得る。
【0024】
第1の集積回路層110は、位置によって画素センサグループ(
図1では「画素グループ」と称される各画素センサグループ)112A~112C(まとめて112で称される)にグループ化された画素センサのアレイを含み得る。例えば、第1の集積回路層110は、320×240の画素センサグループにグループ化された画素センサの6400×4800アレイを含み得、各画素センサグループは、20×20画素センサのアレイを含む。
【0025】
画素センサグループ112の各々は、2×2画素センササブグループを含み得る。例えば、20×20画素センサの各画素センサグループの各々は、10×10個の画素センササブグループを含み得、各画素センササブグループは、左上に赤い画素センサ、右下に緑の画素センサ、左下に最初のクリア画素センサ、右上に2番目のクリア画素センサを含み、各サブグループは、Red-Clear-Clear-Green(RCCG)サブグループとも称される。
【0026】
いくつかの実施態様では、画素センサグループのサイズは、シリコン利用率を向上させるために選択され得る。例えば、画素センサグループのサイズは、より多くのシリコンが、同じ画素センサのパターンを有する画素センサグループによって覆われているようなものであり得る。
【0027】
第2の集積回路層120は、画像処理回路グループ(
図1では「処理グループ」と称される各画像処理回路グループ)122A~122C(まとめて122で称される)を含み得る。例えば、第2の集積回路層120は、320×240の画像処理回路グループを含み得る。
【0028】
画像処理回路グループ122は、対応する画素センサグループから画素情報を各々受信するように構成され得、さらに、画像センサ100の動作中、処理された画素情報を提供するために、画素情報に対して画像処理動作を遂行するように構成され得る。
【0029】
いくつかの実施態様では、各画像処理回路グループ122は、画素情報を単一の対応する画素センサグループ112から受信し得る。例えば、画像処理回路グループ122Aは、画素情報を他の任意の画素グループからではなく、画素センサグループ112Aから受信し得、画像回路処理グループ122Bは、画素情報を他の任意の画素グループからではなく、画素センサグループ112Bから受信し得る。
【0030】
いくつかの実施態様では、各画像処理回路グループ122は、複数の対応する画素センサグループ112から画素情報を受信し得る。例えば、画像処理回路グループ122Aは、画素情報を他の画素グループからでなく、画素センサグループ112Aおよび112Bの両方から受信し得、画像処理回路グループ122Bは、画素情報を他の画素グループからでなく、画素グループ112Cおよび別の画素グループから受信し得る。
【0031】
画像処理回路グループ122に画素情報を対応する画素グループから受信させることは、画像処理回路グループ122が対応する画素センサグループ112に物理的に近接し得るので、第1の集積回路層110から第2の層120への画素情報の高速伝送をもたらし得る。情報が伝送される距離が長くなるほど、伝送にかかる時間がより長くなり得る。例えば、画素センサグループ112Aは、画像処理回路グループ122Aの直上にあり得、画素センサグループ112Aは、画像処理回路グループ122Cの直上にない可能性があるので、画素センサグループ112Aと画像処理回路グループ122Cとの間に相互配線があるとした場合、画素情報を画素センサグループ112Aから画像処理回路グループ122Aに伝送することは、画素情報を画素センサグループ112Aから画像処理回路グループ122Cに伝送するよりも高速であり得る。
【0032】
画像処理回路グループ122は、画像処理回路グループ122が画素グループから受信する画素情報に対して、画像処理動作を遂行するように構成され得る。例えば、画像処理回路グループ122Aは、画素センサグループ112Aからの画素情報に対して、高ダイナミックレンジ融合を遂行し得、画像処理回路グループ122Bは、画素センサグループ112Bからの画素情報に対して、高ダイナミックレンジ融合を遂行し得る。他の画像処理動作は、例えば、アナログからデジタルへの信号変換およびモザイク処理を含み得る。
【0033】
画像処理回路グループ122に、対応する画素センサグループ112からの画素情報に対して画像処理動作を遂行させることにより、画像処理動作が、画像処理回路グループ122によって並列に分散して遂行されることが可能になり得る。例えば、画像処理回路グループ122Aは、画像処理回路グループ122Bが画素グループ122Bからの画素情報に対して画像処理動作を遂行するのと同時に、画素センサグループ112Aからの画素情報に対して画像処理動作を遂行し得る。
【0034】
第3の集積回路層130は、ニューラルネットワーク回路グループ132A~132C(
図1では「NNグループ」と称される各ニューラルネットワーク回路グループ)132A~132C(まとめて132で称される)およびフル画像ニューラルネットワーク回路134を含み得る。例えば、第3の集積回路層130は、320×240のニューラルネットワーク回路グループを含み得る。
【0035】
ニューラルネットワーク回路グループ132は、対応する画像処理回路グループから処理された画素情報を各々受信するように構成され得、さらに、画像センサ100の動作中、処理された画素情報に対する対象物検出のための分析を遂行するように構成され得る。いくつかの実施態様では、ニューラルネットワーク回路グループ132は各々、畳み込みニューラルネットワーク(CNN)を実装し得る。
【0036】
いくつかの実施態様では、各ニューラルネットワーク回路グループ132は、単一の対応する画像処理回路グループ122から、処理された画素情報を受信し得る。例えば、ニューラルネットワーク回路グループ132Aは、処理された画素情報を他の任意の画像処理回路グループからではなく、画像処理回路グループ122Aから受信し得、ニューラルネットワーク回路グループ132Bは、処理された画素情報を他の任意の画像処理回路グループからではなく、画像処理回路グループ122Bから受信し得る。
【0037】
いくつかの実施態様では、各ニューラルネットワーク回路グループ132は、複数の対応する画像処理回路グループ122から、処理された画素情報を受信し得る。例えば、ニューラルネットワーク回路グループ132Aは、処理された画素情報を他の画像処理回路グループからではなく、画像処理回路グループ122Aおよび122Bの両方から受信し得、ニューラルネットワーク回路グループ132Bは、処理された画素情報を他の画素グループからではなく、画像処理回路グループ122Cおよび別の画素グループの両方から受信し得る。
【0038】
ニューラルネットワーク回路グループ132に処理された画素情報を対応する画像処理回路グループから受信させることは、ニューラルネットワーク回路グループ132が対応する画像処理回路グループ122に物理的に近接し得るので、第2の集積回路層120から第3の集積回路層130への処理された画素情報の高速伝送をもたらし得る。情報が伝送される距離が長くなるほど、伝送にかかる時間がより長くなり得る。例えば、画像処理回路グループ122Aは、ニューラルネットワーク回路グループ132Aの直上にあり得るので、画像処理回路グループ122Aとニューラルネットワーク回路グループ132Cとの間に相互配線があるとした場合、処理された画素情報を画像処理回路グループ122Aからニューラルネットワークグループ132Aに伝送することは、処理された画素情報を画像処理回路グループ122Aからニューラルネットワーク回路グループ132Cに伝送するよりも高速であり得る。
【0039】
ニューラルネットワーク回路グループ132は、ニューラルネットワーク回路グループ132が画像処理回路グループ122から受信する処理された画素情報から対象物を検出するように構成され得る。例えば、ニューラルネットワーク回路グループ132Aは、画像処理回路グループ122Aからの処理された画素情報から対象物を検出し得、ニューラルネットワーク回路グループ132Bは、画像処理回路グループ122Bからの処理された画素情報から対象物を検出し得る。
【0040】
ニューラルネットワーク回路グループ132に、対応する画像処理回路グループ122からの処理された画素情報から対象物を検出させることにより、検出が、ニューラルネットワーク回路グループ132の各々によって並列に分散して遂行されることが可能になる。例えば、ニューラルネットワーク回路グループ132Aは、ニューラルネットワーク回路グループ132Bが画像処理回路グループ122Bからの処理された画素情報から対象物を検出し得るのと同時に、画像処理回路グループ122Aからの処理された画素情報から対象物を検出し得る。
【0041】
いくつかの実施態様では、ニューラルネットワーク回路グループ132は、中間処理を遂行し得る。したがって、画像センサ100は、3つの集積回路層110、120、および130を使用して、いくつかの中間処理を遂行し、中間結果のみを出力し得る。例えば、画像センサ100は、人物を含む画像をキャプチャし、対象とする対象物(人物)を分類することなしに、「画像のある領域における対象とする領域」の指標を出力し得る。画像センサ100の外部で遂行される他の処理は、対象とする領域を人物として分類し得る。
【0042】
したがって、画像センサ100からの出力は、いくつかの畳み込みニューラルネットワークの出力を表すいくつかのデータを含み得る。このデータ自体が、解読することが難しいこともあるが、画像センサ100の外部で処理され続けた後には、データは、領域を、人物を含むものとして分類するために使用され得る。このハイブリッド手法は、必要とされる帯域幅を低減するという利点を有し得る。したがって、ニューラルネットワーク回路グループ132からの出力は、検出を表現する画素のために選択された対象領域、時間的および幾何学的位置情報を含むメタデータ、対象物検出前の中間計算結果、ネットワーク確実性レベルに関する統計情報、および検出された対象物の分類、のうちの1つ以上を含み得る。
【0043】
いくつかの実施態様では、ニューラルネットワーク回路グループ132は、高い再現率および低い精細度を有するCNNを実装するように構成され得る。ニューラルネットワーク回路グループ132は、検出された対象物のリスト、対象物が検出された場所、および対象物検出のタイミングを各々出力し得る。
【0044】
フル画像ニューラルネットワーク回路134は、ニューラルネットワーク回路グループ132の各々から、ニューラルネットワーク回路グループ132が検出した対象物を示すデータを受信し、データから対象物を検出するように構成され得る。例えば、ニューラルネットワーク回路グループ132は、個々のニューラルネットワーク回路グループが対象物に対応する処理された画素情報の一部のみを受信し得るので、複数の画素グループによってキャプチャされる対象物を検出することができないことがあるが、フル画像ニューラルネットワーク回路134は、複数のニューラルネットワーク回路グループ132からデータを受信し得るので、複数の画素グループによって感知された対象物を検出することができる。いくつかの実施態様では、フル画像ニューラルネットワーク回路134は、リカレントニューラルネットワーク(RNN)を実装し得る。ニューラルネットワークは、それらのアーキテクチャ(層の数およびタイプ、活性化関数など)に関して、ならびにニューラルネットワーク構成要素の実際の値(例えば、重み、バイアスなど)に関しての両方で構成可能であり得る。
【0045】
いくつかの実施態様では、画像センサ100に処理を遂行させることにより、処理パイプラインアーキテクチャを簡素化し、より広い帯域幅およびより短い待ち時間を提供し、選択的なフレームレート動作を可能にし、スタックアーキテクチャに伴うコストを低減し、集積回路がより少ない潜在故障箇所を有するのでより高いシステム信頼性を提供し、計算リソースの大幅なコストおよび電力の節約を提供し得る。
【0046】
いくつかの実施態様では、第3の集積回路層130は、シリコン間直接結合法または「フリップチップ」手法を使用して、第2の集積回路層120に結合され得、ここで、基板は、層間に差し挟まれ、接続は、シリコンから基板へ、ワイヤボンディングを使用して実装される。
【0047】
図2は、画像センサの3つの集積回路層を有する対象物の検出のための一例の処理200のフローチャートである。処理200は、
図1の画像センサ100、または他のいくつかの画像センサによって遂行され得る。
【0048】
処理200は、第1の集積回路層内の、位置に基づいて画素センサグループにグループ化された画素センサによって、画素情報を取得することを含み得る(210)。例えば、第1の集積回路層110内の画素センサグループ112内の画素センサの各々は、画素センサによって感知された光の強度を表すアナログ信号である画素情報を生成し得る。いくつかの実施態様では、画素センサグループの各々は、同じ数の画素センサを含む。例えば、画素センサグループ112の各々は、20×20のRCCGサブグループを形成する400の画素センサを含み得る。
【0049】
処理200は、第2の集積回路層内の画像処理回路グループによって、対応する画素センサグループからの画素情報に対して画像処理動作を遂行して、処理された画素情報を提供することを含み得る(220)。例えば、画像処理回路グループ122Aは、画素センサグループ112Aから画素情報を受信し、画素センサグループ112Aからの画素情報に対して画像処理動作を遂行し得、一方、画像処理回路グループ122Bは、画素センサグループ112Bから画素情報を受信し、画素センサグループ112Bからの画素情報に対して画像処理動作を遂行する。
【0050】
いくつかの実施態様では、画像処理回路グループの各々は、画素情報を画像処理回路グループに提供する画素センサグループの直下に配置されている。例えば、画像処理回路グループ122Aは、画素センサグループ112Aの直下に配置され得、画像処理回路グループ122Bは、画素センサグループ112Bの直下に配置され得る。いくつかの実施態様では、画像処理回路グループの各々は、画素情報を画像処理回路グループに提供する画素センサグループの直近に配置され得る。いくつかの実施態様では、第2の集積回路層は、第1の集積回路層と電気通信し得る。例えば、第2の集積回路層120は、導電性材料で形成された相互配線によって、第1の集積回路層110に接続され得る。
【0051】
処理200は、第3の集積回路層内のニューラルネットワーク回路グループによって、対応する画像処理回路グループからの処理された画素情報に対する対象物検出のための分析を遂行することを含み得る(230)。例えば、ニューラルネットワーク回路グループ132Aは、画像処理回路グループ122Aから処理された画素情報を受信し、画像処理回路グループ122Aからの処理された画素情報から対象物を検出し得、一方、ニューラルネットワーク回路グループ132Bは、画像処理回路グループ122Bから画素情報を受信し、画像処理回路グループ122Bからの処理された画素情報から対象物を検出する。別の例では、ニューラルネットワーク回路グループ132は、対応する画像処理回路グループ122から処理された画素情報を受信し、検出を表現する画素のために選択された対象領域、時間的および幾何学的位置情報を含むメタデータ、対象物検出前の中間計算結果、ネットワーク確実性レベルに関する統計情報、および検出された対象物の分類、のうちの1つ以上を出力し得る。
【0052】
いくつかの実施態様では、ニューラルネットワーク回路グループは各々、CNNを実装するように構成された回路を含む。例えば、ニューラルネットワーク回路グループ132Aは、第1のCNNを実装するための回路を含み得、ニューラルネットワーク回路グループ132Bは、第2の異なるCNNを実装するための回路を含み得る。
【0053】
畳み込みニューラルネットワークは各々、ニューラルネットワーク回路グループに対応する画像処理回路グループに対応する画素センサグループによって感知された対象物を検出し得る。例えば、ニューラルネットワーク回路グループ132AのCNNは、画素センサグループ112A内の画素センサによってキャプチャされた第1の対象物を検出し得、ニューラルネットワーク回路グループ132BのCNNは、画素センサグループ112B内の画素センサによってキャプチャされた第2の対象物を検出し得る。
【0054】
いくつかの実施態様では、第3の集積回路層は、RNNを実装するように構成された回路を含む。例えば、第3の集積回路層130は、ニューラルネットワーク回路グループのすべてによって検出された対象物に関する情報を受信し、画素センサグループのうちの複数にわたって感知された対象物を検出する、RNNのために構成された回路を含み得る。
【0055】
いくつかの実施態様では、ニューラルネットワーク回路グループの各々は、処理された画素情報をニューラルネットワーク回路グループに提供する画像処理回路グループの直下に配置されている。例えば、ニューラルネットワーク回路グループ132Aは、画像処理回路グループ122Aの直下に配置され得、ニューラルネットワーク回路グループ132Bは、画像処理回路グループ122Bの直下に配置され得る。
【0056】
いくつかの実施態様では、第3の集積回路層は、第2の集積回路層と電気通信し得る。例えば、第3の集積回路層130は、導電性材料で形成された相互配線によって、第2の集積回路層120に接続され得る。
【0057】
処理200は、ニューラルネットワーク回路グループによる対象物検出のための分析の結果を示す情報を出力することを含み得る(240)。例えば、第3の集積回路層130は、メタデータを画像センサ100から画像センサ100の外部の中央処理装置に出力するように構成された回路を含み得、ここで、メタデータは、ニューラルネットワーク回路グループ132によって検出された対象物を指定する。
【0058】
いくつかの実施態様では、処理200は、第1の集積回路層が第2の集積回路層に積層され、第2の集積回路層が第3の集積回路層に積層されている場合に、遂行され得る。例えば、処理200は、第1の集積回路層110の底部が第2の集積回路層120の上部に直接接触し、第2の集積回路層120の底部が第3の集積回路層130の上部に直接接触している場合に、画像センサ100によって遂行され得る。
【0059】
いくつかの実施態様では、処理200は、第1の集積回路層、第2の集積回路層、および第3の集積回路層が、単一の集積チップに統合されている場合に、遂行され得る。例えば、処理200は、単一の集積チップである画像センサ100によって遂行され得る。
【0060】
図3は、画素センサグループを有する一例の集積回路層300のブロックダイアグラムである。いくつかの実施態様では、集積回路層300は、
図1に示される第1の集積回路層110であり得る。集積回路層300は、画素センサグループ310と、行ドライバ、タイミング、および自動車安全完全性レベルのための回路320と、相互配線330と、を含む。
図3に示すように、画素センサグループ310は各々、RCCGサブグループの複数の2×2アレイを含み、画素センサグループ310の各々は、同数の2×2アレイのRCCGサブグループを含む。しかしながら、集積回路層300の他の実装は、異なる画素センサグループを含み得る。例えば、各画素グループは、RCCGサブグループの3×3アレイが含み得る。
【0061】
図4は、画像処理回路グループを有する一例の集積回路層400のブロックダイアグラムである。いくつかの実施態様では、集積回路層400は、
図1に示される第2の集積回路層120であり得る。集積回路層400は、画像処理回路グループ410、ロジックおよび自動車安全完全性レベルのための回路420、および相互配線430を含み得る。
図3に示されるように、画像処理回路グループ410の各々は、高/低アナログ-デジタル変換器(ADCS)のための回路、高ダイナミックレンジ融合のための回路、自動車安全完全性レベルのための回路、画素メモリのための回路、およびマルチプレクサのための回路を含み得る。マルチプレクサは、ニューラルネットワーク回路グループを備えた集積回路層500に向けて、単一画素(画素当たり複数ビット)として層間でまたは単一リンク(接続)でシリアル化された画素のグループとして層間で、情報を柔軟にルーティングすることを可能にし得る。画像処理回路グループ410の各々は、画素情報を画像処理回路グループ410に提供する画素センサグループ310と同じ領域を覆い得る。
【0062】
図5は、ニューラルネットワーク回路グループを有する一例の集積回路層500のブロックダイアグラムである。いくつかの実施態様では、集積回路層500は、
図1に示される第3の集積回路層130であり得る。集積回路層400は、ニューラルネットワーク回路グループ510、ロジックおよび自動車安全完全性レベルのための回路520、相互配線530、ならびにRNNを含み得る。
【0063】
図5に示されるように、ニューラルネットワーク回路グループ510の各々は、メモリ、CNN、およびデマルチプレクサのための回路を含み得る。デマルチプレクサは、ビットおよび画素を非直列化して、キャプチャされた画素構成を復元し得る。ニューラルネットワーク回路グループ510の各々は、処理された画素情報をニューラルネットワーク回路グループ410に提供する画像処理回路グループ410と同じ領域を覆い得る。
【0064】
図6は、ニューラルネットワーク回路なしの一例の画像センサのタイミングのダイアグラム600である。ダイアグラム600は、フレームを伝送するタイミングを表す第1の行610、フレームをキャプチャするタイミングを表す第2の行620、および上記の作業に関連する例示的なタイムフレームを示す第3の行630を含み得る。
【0065】
ダイアグラム600は、画像とも称されるフレームが、100ミリ秒ごとに10ミリ秒間に画像センサによってどのようにキャプチャされ、次に伝送されるフレームが20ミリ秒間にどのように伝送されるかを示している。画像センサは、100ミリ秒のうち残りの80ミリ秒の間アイドル状態であり得る。フレームに対する処理は画像センサの外部で行われ、フレームごとに80ミリ秒かかるため、画像センサは100ミリ秒ごとに単一画像のみを伝送し得る。例えば、画像センサの外部にある中央処理装置によるフル画像に対する対象物検出は、80ミリ秒かかり得る。したがって、ダイアグラム600は、100ミリ秒ごとに単一のフレームのみがどのように使用されるかを示し得る。
【0066】
ダイアグラム7は、ニューラルネットワーク回路を有する一例の画像センサのタイミング
図700である。例えば、ダイアグラム700は、
図1の画像センサ100のタイミングを示し得る。
【0067】
ダイアグラム700は、フレームの伝送のタイミングを表す第1の行710、フレーム内の検出される対象物に関するニューラルネットワーク出力データを生成するタイミングを表す第2の行720、フレームをキャプチャするタイミングを表す第3の行730、および上記の作業に関する例示のタイムフレームを示す第4の行740を含み得る。
【0068】
ダイアグラム700は、フレームが画像センサによって10ミリ秒ごとにどのようにキャプチャされるかを示し得、ここで、100ミリ秒ごとに、画像センサは20ミリ秒間でフレームを伝送し、画像センサによってキャプチャされた10フレームに対して生成されるニューラルネットワーク出力データは、残りの80ミリ秒間に伝送される。したがって、ダイアグラム700では、画像センサは、ダイアグラム600の10倍のフレームの情報を提供し得、単一フレームの画像データが依然として100ミリ秒ごとに伝送されるのに対して、10フレームのためのニューラルネットワーク出力データもまた、100ミリ秒ごとに提供される。
【0069】
画像センサからのニューラルネットワーク出力データは、対象物がフレームおよび他のフレームで検出されたか否かをすでに示していることがあり得、ニューラルネットワーク出力データとともにさらに処理するためのフレームを画像センサに伝送させることは、画像センサの外部でのより少ない処理をもたらし得る。
【0070】
ダイアグラム700に示すように、フレームがキャプチャされると、フレームのニューラルネットワーク出力データが生成される。例えば、フレームAがキャプチャされると、ニューラルネットワーク出力データが次にフレームAから生成され得る。別の実施例では、フレームBがキャプチャされると、ニューラルネットワーク出力データが次にフレームBから生成され得る。
【0071】
フレームのニューラルネットワーク出力データは、別のフレームがキャプチャされている間に生成される。例えば、フレームAのニューラルネットワーク出力データが生成されている間に、フレームBがキャプチャされ得る。画像センサ100を使用して、第1の集積回路層110はフレームBをキャプチャし、一方、第3の集積回路層130は対象物を検出し、検出された対象物を示すニューラルネットワーク出力データを生成する。
【0072】
ダイアグラム700に示すように、フレームのニューラルネットワーク出力データは、それが生成された後に伝送される。例えば、フレームAからのニューラルネットワーク出力データは、それが生成され、フレームAが伝送され終えると、伝送され得る。いくつかの実施態様では、グループが処理をなされると、ニューラルネットワーク出力データの伝送が開始され得る。これは、ローリングシャッターセンサに効果的であり得る。
【0073】
いくつかの実施態様では、送信に関して、画像センサ100はまた、画像のグレースケールまたはカラーデータをニューラルネットワーク出力データと多重化し得る。例えば、前処理された対象物および時間情報を含むフル画像グレースケールまたはカラーデータは、単一のデータストリームに多重化され得る。多重化されたデータストリームは、フル画像ストリーム情報よりもずっと低い出力帯域幅要件、例えば、4分の1よりも優位な要件を有し得る。複数のリンクの代わりに多重化された情報の単一のシリアルリンクをカメラ出力として有するように多重化することで、物理リンクの数が低減され得るため、車両レベルのアーキテクチャを大幅に簡素化し得る。
【0074】
図8は、ニューラルネットワーク回路を有する画像センサからニューラルネットワーク出力データおよび画像データを送信するための一例の処理800のフローチャートである。処理800は、
図1の画像センサ100または他のいくつかの画像センサによって遂行され得る。
【0075】
処理800は、画像センサの画素センサによってキャプチャされた複数の画像を取得することを含み得る(810)。例えば、画像センサ100の第1の集積回路層110内の画素グループ112Cの画素センサは、10ミリ秒ごとに異なるフレームをキャプチャし得る。
【0076】
処理800は、画像センサに統合されたニューラルネットワーク回路を使用して、対象物検出のための複数の画像を分析することを含み得る(820)。例えば、画像センサ100の第3の集積回路層130内のニューラルネットワーク回路グループ132は、ニューラルネットワーク回路グループが処理された画素情報を受信したフレームの部分の各々の内にある対象物を検出し得る。
【0077】
処理800は、画像センサに統合されたニューラルネットワーク回路を使用して複数の画像の各々について、対象物検出のための複数の画像の分析の結果に関するニューラルネットワーク出力データを生成することを含み得る(830)。例えば、第1のニューラルネットワーク回路グループ132Aは、第1の対象物がフレームAの一部で検出されたことを示すメタデータを生成し得、第2のニューラルネットワーク回路グループ132Bは、対象物がフレームAの別の部分で検出されなかったことを示すメタデータを生成し得る。
【0078】
処理800は、画像センサから、複数の画像の各々の画像データの代わりに、複数の画像の各々のニューラルネットワーク出力データおよび複数の画像のサブセットの画像データを送信することを含み得る(840)。例えば、画像センサ100は、ニューラルネットワーク回路グループが、画像センサ100によってキャプチャされたフレームの各々のそれぞれの部分で対象物を検出したか否かを示す、ニューラルネットワーク回路グループの各々によって生成されたメタデータに対応するデータを、および画像センサによってキャプチャされた10フレームごとのみの画像データを、送信し得る。
【0079】
いくつかの実施態様では、複数の画像の各々の画像データの代わりに、複数の画像の各々のニューラルネットワーク出力データを、および複数の画像のサブセットの画像データを、送信することは、複数の画像内の第1の画像の画像データおよび第1の画像のニューラルネットワーク出力データを送信することと、第2の画像のニューラルネットワーク出力データを送信することと、第2の画像の画像データの送信の前にかつそれをすることなしに、複数の画像内の第3の画像の画像データおよび第3の画像のニューラルネットワーク出力データを送信することと、を含む。例えば、画像センサ100は、フレームAの画像データを送信し、次にフレームA~Iのニューラルネットワーク出力データを送信し、次にフレームKの画像データを送信し、次にフレームJ~Tのニューラルネットワーク出力データを送信し得る。
【0080】
いくつかの実施態様では、画像センサから、複数の画像の各々の画像データの代わりに、複数の画像の各々のニューラルネットワーク出力データを、および複数の画像のサブセットの画像データを、送信することは、複数の画像のサブセットの画像データを、毎秒特定のフレーム数で送信することと、複数の画像のサブセットの画像データが送信されていない間の画像のニューラルネットワーク出力データを送信することと、を含む。例えば、画像センサ100は、各フレームの画像データが10ミリ秒間で送信される毎秒10フレームで画像データを送信し、画像データが送信されていない間に、毎秒の残りの900ミリ秒間に他の画像のニューラルネットワーク出力データを送信し得る。
【0081】
いくつかの実施態様では、ニューラルネットワーク出力データおよび画像データを送信することは、ニューラルネットワーク出力データおよび画像データを中央処理装置に送信することを含む。例えば、画像センサ100は、コンピュータがフレームAおよびフレームA~Iのニューラルネットワーク出力データを使用して追加の対象物検出を遂行し得るように、フレームAの画像データおよびフレームA~Iのニューラルネットワーク出力データをコンピュータに送信し得る。
【0082】
いくつかの実施態様では、処理800は、複数の画像内の第1の画像の画像データおよび第1の画像のニューラルネットワーク出力データを送信しながら、対象物検出のために複数の画像内の第2の画像を分析することを含む。例えば、第3の集積回路層130のニューラルネットワーク回路グループ132は、フレームAのために生成されたニューラルネットワーク出力データが画像センサ100から出力されている間に、フレームB内の対象物を検出し得る。
【0083】
いくつかの実施態様では、処理800は、第3の画像をキャプチャしながら、対象物検出のための複数の画像の分析の結果に関するニューラルネットワーク出力データを生成することを含む。例えば、第3の集積回路層130のニューラルネットワーク回路グループ132は、第1の集積回路層110の画素グループがフレームCをキャプチャしている間に、フレームB内の対象物検出に関するニューラルネットワーク出力データを生成し得る。
【0084】
いくつかの実施態様では、処理800において、画像データが伝送される複数の画像のサブセットは、画像センサによってキャプチャされたN番目ごとの画像を含み、ここで、Nは、1よりも大きい整数である。例えば、複数の画像のサブセットは、画像センサ100によってキャプチャされた10番目ごとの画像であり得る。いくつかの実施態様では、処理800において、画像のうちの特定の画像の画像データは、画像内の各画素の値を示すデータを含む。例えば、画像データは、画像内の各画素の赤-緑-青(RGB)強度値であり得る。
【0085】
いくつかの実施態様では、処理800において、画像のうちの特定の画像のニューラルネットワーク出力データは、検出を表現する画素のために選択された対象領域、時間的および幾何学的位置情報を含むメタデータ、対象物検出前の中間計算結果、ネットワーク確実性レベルに関する統計情報、および検出された対象物の分類、のうちの1つ以上を含む。例えば、フレームAのニューラルネットワーク出力データは、フレームAの特定の座標で人間が検出されたことを示し得る。いくつかの実施態様では、処理800において、画像のうちの特定の画像のニューラルネットワーク出力データは、さらなる処理のためにプロセッサに提供される部分的に処理されたデータを表す。例えば、検出された対象物を表す代わりに、ニューラルネットワーク出力データは、対象物を検出するために画像センサ100の外部でさらに処理されるべき部分的に処理されたデータを表し得る。
【0086】
図9は、自律型車両910によって使用される画像センサ100を含む一例のシステム900のブロックダイアグラムである。自律型車両910は、画像をキャプチャし、画像内の対象物を検出し、次に自律型車両910が検出した対象物に基づいて運転する自動運転車両であり得る。例えば、自律型車両910は、自律型車両910の前を移動する別の車両を検出し、その車両の真後ろでペースを維持し得る。別の実施例では、自律型車両910は、自律型車両910の前にいる人間を検出して停止し得る。
【0087】
自律型車両910は、カメラ光学系920、画像センサ100、およびコンピュータ処理モジュール940を含み得る。カメラ光学系920は、光を変更するレンズを含み得る。例えば、カメラ光学系920は、パノラマレンズを含み得る。画像センサ100は、カメラ光学系920によって変更された光を受光し、画像センサ100に当たる光に基づいて画像をキャプチャし得る。
【0088】
次に、画像センサ100は、画像センサ100とコンピュータ処理モジュール940とを電気的に結合するデータ送信ケーブルの両端間で、データをコンピュータ処理モジュール940に送信し得る。例えば、画像センサ100は、100ミリ秒ごとに10ミリ秒間フレームをキャプチャし、データ送信ケーブルの両端間で、コンピュータ処理モジュール940に、キャプチャされた10フレームごとの画像データおよびすべての画像センサ100によってキャプチャされたフレームのニューラルネットワーク出力データを送信し得る。コンピュータ処理モジュール940は、画像センサ100から画像データおよびニューラルネットワーク出力データを受信し、任意選択的に、画像データおよびニューラルネットワーク出力データを使用してさらなる対象物検出を遂行し、検出された対象物に基づいて自律車両910がどのように動くべきかを判定する。
【0089】
したがって、画像センサ100上で対象物検出のための少なくともいくつかの処理を遂行する画像センサ100を使用して、コンピュータ処理モジュール940は、10ミリ秒ごとに取得された画像に基づいてどのように動くかを判定し得るが、一方、別の画像センサを使用して、コンピュータ処理モジュール940は、100ミリ秒ごとに取得した画像に基づいてどのように動くかを判定し得る。したがって、別の画像センサの代わりに画像センサ100を使用することによって、自律型車両940は、対象物をより迅速に検出し、それらの対象物に応答して移動し得る。
【0090】
図10は、個別のチップ上に画素センサグループおよびニューラルネットワーク回路を含む一例のシステム1000のブロックダイアグラムである。システム1000は、画素センサグループを含む第1のチップ1110と、ニューラルネットワーク回路を含む第2のチップ1120と、を含むカメラであり得る。画素センサグループおよびニューラルネットワーク回路は、それらが単一の集積チップ内の異なる層に含まれず、代わりに第1のチップ1110および第2のチップ1120に含まれることを除いて、上記のものと同様であり得る。例えば、第1のチップ1110および第2のチップ1120は、システム1000内で互いの上に配置され、データが対応する画素センサグループとニューラルネットワーク回路との間で伝送され得るように、導電性材料によって接続され得る。
【0091】
本明細書に記載の主題および動作の実施形態は、デジタル電子回路内に、またはコンピュータソフトウェア、ファームウェア、もしくは本明細書に開示された構造体およびそれらの構造上の等価物を含むコンピュータハードウェア内に、あるいはそれらのうちの1つ以上を組み合わせて、実装され得る。本明細書に記載の主題の実施形態は、1つ以上のコンピュータプログラムとして、すなわち、データ処理装置によって実行するために、またはデータ処理装置の動作を制御するためにコンピュータ記憶媒体に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実装され得る。
【0092】
コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらのうちの1つ以上の組み合わせとし得る、またはそれらの中に含まれ得る。さらに、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号に符号化されたコンピュータプログラム命令の送信元または送信先であり得る。コンピュータ記憶媒体はまた、1つ以上の個別の物理的構成要素または媒体(例えば、複数のCD、ディスク、もしくは他の記憶デバイス)であり得る、またはそれらに含まれ得る。
【0093】
本明細書に記載されている動作は、1つ以上のコンピュータ可読記憶デバイスに記憶されている、または他の送信元から受信された、データに対してデータ処理装置によって遂行される動作として実装され得る。
【0094】
用語「データ処理装置」は、例としてプログラム可能なプロセッサ、コンピュータ、システムオンチップ、または以上のものの複数もしくは組み合わせを含む、あらゆる種類の装置、デバイス、およびマシンを包含する。装置はまた、特定目的ロジック回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含み得る。装置はまた、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらのうちの1つ以上の組み合わせを構成するコードを含み得る。装置および実行環境は、ウェブサービス、分散コンピューティング、およびグリッドコンピューティングインフラストラクチャなどの、様々な異なるコンピューティングモデルインフラストラクチャを実現し得る。
【0095】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている)は、コンパイル式またはインタープリット式言語、宣言型または手順型言語を含む、任意の形式のプログラミング言語で記述され得、独立型プログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクトもしくはコンピューティング環境で使用するために好適な他のユニットとして含まれる任意の形式で配備され得る。プログラムは、ファイルシステム内のファイルに対応し得るが、必ずしもそうである必要はない。プログラムは、他のプログラムもしくはデータを保持するファイルの一部(例えば、マークアップ言語ドキュメントに記憶された1つ以上のスクリプト)、当該プログラム専用の単一ファイル、または複数の調整ファイル(例えば、1つ以上のモジュール、サブプログラム、もしくはコードの一部を記憶するファイル)に格納され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つの場所に配置されたもしくは複数の場所に分散され、通信ネットワークによって相互配線された複数のコンピュータ上で、実行されるように配備され得る。
【0096】
本明細書で説明される処理およびロジックフローは、入力データを操作し、出力を生成することによって作業を遂行するために、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって遂行され得る。処理およびロジックフローはまた、特定目的ロジック回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって遂行され得、装置もまた、そのようなものとして実装され得る。
【0097】
コンピュータプログラムの実行に好適なプロセッサは、一例として、汎用および特定目的マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータのうちの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリ、またはその両方から命令およびデータを受信することになる。コンピュータの必須構成要素は、命令による作業を遂行するためのプロセッサ、ならびに命令およびデータを記憶するための1つ以上のメモリデバイスである。一般に、コンピュータはまた、例えば、磁気、光磁気ディスク、もしくは、光ディスクなど、データを記憶するための1つ以上の大容量記憶デバイスを含むか、または、それらからデータを受信するもしくはそれらに伝送する、またはその両方をするように動作可能に結合されることになる。しかしながら、コンピュータは、必ずしもそのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、例えば、ほんの数例を挙げると、携帯電話、電子手帳(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブなど)に組み込まれ得る。コンピュータプログラム命令およびデータを記憶するのに好適なデバイスは、不揮発性メモリ、媒体、およびメモリデバイスのあらゆる形態を含み、例として、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスクまたは取り外し可能なディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、特定目的ロジック回路によって補足されるか、または特定目的ロジック回路に組み込まれ得る。
【0098】
ユーザとの対話を提供するために、本明細書に記載の主題の実施形態は、コンピュータ上で実施することができ、コンピュータは、ユーザがコンピュータに入力を提供することができる、ユーザに情報を表示するための表示デバイス、例えば、CRT(陰極線管)もしくはLCD(液晶ディスプレイ)モニタ、ならびにキーボードおよびマウス、トラックボールなどのポインティングデバイスを有する。他の種類のデバイスを使用して、ユーザとの対話を提供することもできる。例えば、ユーザに提供されるフィードバックは、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックなどの任意の形の感覚的フィードバックであり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受信することができる。さらに、コンピュータは、ユーザによって使用されるデバイスとの間でドキュメントを送受信することによって、例えば、ウェブブラウザから受信した要求に応答して、ユーザのユーザデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話し得る。
【0099】
本明細書に記載の主題の実施形態は、例えばデータサーバとしての、バックエンドコンポーネントを含むか、またはミドルウェアコンポーネント、例えば、アプリケーションサーバを含むか、またはフロントエンドコンポーネント、例えばユーザがそれを通して本明細書に記載の主題の実施形態と対話し得るグラフィカルユーザインターフェースもしくはウェブブラウザを有するユーザコンピュータを含む、コンピューティングシステム、または1つ以上のそのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組み合わせに実装され得る。システムのコンポーネントは、デジタルデータ通信の任意の形式または媒体、例えば、通信ネットワークによって相互配線され得る。通信ネットワークの実施例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(例えば、インターネット)、ならびにピアトゥピアネットワーク(例えば、特別ピアトゥピアネットワーク)を含む。
【0100】
コンピューティングシステムは、ユーザおよびサーバを含み得る。ユーザおよびサーバは一般に、互いに遠隔にあり、典型的には通信ネットワークを介して相互作用する。ユーザとサーバとの関係は、それぞれのコンピュータで実行され、かつユーザとサーバとの互いの関係を有する、コンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、データ(例えば、HTMLページ)をユーザデバイスに送信する(例えば、ユーザデバイスと対話するユーザにデータを表示し、ユーザ入力を受信する目的で)。ユーザデバイスで生成されたデータ(例えば、ユーザ対話の結果)は、サーバのユーザデバイスから受信され得る。
【0101】
本明細書は、多くの個々の実装形態の詳細を内包しているが、これらは、任意の特徴の範囲、または特許請求され得る事項の範囲を限定するものとしてではなく、特定の実施形態に特有の特徴の説明として解釈されるものとする。別個の実施形態の文脈で本明細書に記載された特定の特徴を、単一の実施形態で組み合わせて実装することもできる。逆に、単一の実施形態の局面で本明細書に記載された様々な特徴を、複数の実施形態で別個に、または任意の好適な副次的組み合わせで実装することもできる。また、特徴は、特定の組み合わせで作用するものとして上述され、および当初はそのように特許請求され得るが、いくつかの場合、特許請求された組み合わせからの1つ以上の特徴を、その組み合わせから削除することができ、特許請求された組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。
【0102】
同様に、動作が特定の順序で図面に図示されているが、これは、望ましい結果を達成するために、かかる動作がその示された特定の順序、もしくは一連の順序で遂行されるべきであること、または例証したすべての動作が遂行されるべきであることを要求するものとして理解されるべきではない。特定の状況では、マルチタスクおよび並列処理が有利な場合がある。また、上述した実施形態における様々なシステムコンポーネントの分離は、すべての実施形態においてこのような分離を必要とするものと理解されないものとし、記載されたプログラムコンポーネントおよびシステムは、一般に、単一のソフトウェア製品内にまとめて一体化することができるか、または複数のソフトウェア製品にパッケージ化することができる。
【0103】
したがって、主題の特定の実施形態を説明してきた。他の実装形態は、以下の特許請求の範囲内に存在する。いくつかの事例では、特許請求の範囲に記載されている作業は、異なる順序で遂行することができ、望ましい結果を依然として達成することができる。加えて、添付の図に図示された処理は、望ましい結果を達成するために、必ずしも示された特定の順序、または連続した順序を必要としない。ある実施態様では、マルチタスクおよび並列処理が、有利である場合がある。
【国際調査報告】