(57)【要約】  センサが劣化した場合でも正確な情報を取得する。実施形態に係るセンサ装置は、センサ情報を取得するセンサ（１１）と、前記センサで取得された前記センサ情報に所定の処理を実行するＦＰＧＡ（Field-Programmable  Gate  Array）（１２）と、前記ＦＰＧＡに前記所定の処理を実行させるためのデータを記憶するメモリ（１５）とを備える。
2020116046.tif 000002
【特許請求の範囲】
【請求項１】
センサ情報を取得するセンサと、
前記センサで取得された前記センサ情報に所定の処理を実行するＦＰＧＡ（Field-Programmable  Gate  Array）と、
前記ＦＰＧＡに前記所定の処理を実行させるためのデータを記憶するメモリと、
を備えるセンサ装置。
【請求項２】
前記メモリ内の前記データは、前記センサ情報の解析結果に応じて更新される請求項１に記載のセンサ装置。
【請求項３】
前記所定の処理が実行された前記センサ情報を所定のネットワークへ送信する送信部と、
前記所定のネットワークへ送信された前記センサ情報の解析結果に応じて生成された前記ＦＰＧＡを更新するための更新データを受信する受信部と、
をさらに備え、
前記メモリ内の前記データは、前記更新データで更新される
請求項１に記載のセンサ装置。
【請求項４】
前記送信部は、無線により前記センサ情報を所定のネットワークへ送信し、
前記受信部は、無線により前記所定のネットワークから前記更新データを受信する
請求項３に記載のセンサ装置。
【請求項５】
前記センサ情報を暗号化する暗号化部と、
前記更新データの暗号化を解除する復号部と、
をさらに備える請求項４に記載のセンサ装置。
【請求項６】
前記センサ情報を解析し、当該解析の結果に応じて前記ＦＰＧＡを更新するための更新データを生成し、当該生成された更新データで前記メモリ内の前記データを更新するプロセッサをさらに備える請求項１に記載のセンサ装置。
【請求項７】
前記センサ情報を機械学習により解析するＤＮＮ（Deep  Neural  Network）回路をさらに備え、
前記プロセッサは、前記ＤＮＮ回路による前記機械学習の結果に基づいて前記センサ情報を解析する請求項６に記載のセンサ装置。
【請求項８】
前記所定の処理が実行された前記センサ情報を所定のネットワークへ送信する送信部と、
前記所定のネットワークへ送信された前記センサ情報の解析結果に応じて生成された前記ＦＰＧＡを更新するための更新データを受信する受信部と、
前記センサ情報を解析し、当該解析の結果に応じて前記ＦＰＧＡを更新するための更新データを生成するプロセッサと、
前記センサ情報を、前記送信部を介して前記所定のネットワークへ送信するか、前記プロセッサに入力するかを切り替える切替部と、
をさらに備え、
前記メモリ内の前記データは、前記受信部で受信された前記更新データ、又は、前記プロセッサで生成された前記更新データで更新される
請求項１に記載のセンサ装置。
【請求項９】
前記センサ情報は、画像データであり、
前記センサは、複数の光電変換素子を備える受光部と、前記受光部から画像データを読み出す信号処理回路とを含む
請求項１に記載のセンサ装置。
【請求項１０】
前記所定の処理は、黒レベル処理と、欠陥補正と、シェーディング補正と、歪み補正と、自動露光、自動フォーカス、自動ホワイトバランス調整と、同期処理と、リニアマトリックス処理と、ガンマ補正と、輝度色彩分離と、エッジ強調処理と、色差マトリックス処理と、リサイズ・ズームとのうち少なくとも１つを含む請求項９に記載のセンサ装置。
【請求項１１】
前記データは、前記ＦＰＧＡに前記所定の処理を実行する回路構成を組み込むための回路データと、前記回路構成に設定するパラメータを含む設定データとを含む請求項１に記載のセンサ装置。
【請求項１２】
前記ＦＰＧＡと連携して前記所定の処理を実行するプロセッサをさらに備える請求項１に記載のセンサ装置。
【請求項１３】
前記センサを備える第１チップと、
前記ＦＰＧＡを備える第２チップと、
前記メモリを備える第３チップと、
をさらに備え、
前記第１〜第３チップが積層されたスタック構造を備える
請求項１に記載のセンサ装置。
【請求項１４】
前記第３チップは前記第１チップと前記第２チップとの間に位置する請求項１３に記載のセンサ装置。
【請求項１５】
前記ＦＰＧＡと連携して前記所定の処理を実行するプロセッサを備える第４チップをさらに備え、
前記スタック構造は、前記第１〜第４チップが積層された構造を備える請求項１３に記載のセンサ装置。
【請求項１６】
前記第１チップは、前記スタック構造の最上層に位置し、
前記第４チップは、前記スタック構造の最下層に位置する
請求項１５に記載のセンサ装置。
【請求項１７】
前記センサ情報は、画像データであり、
前記センサは、複数の光電変換素子を備える受光部と、前記受光部から画像データを読み出す信号処理回路とを含み、
前記第１チップは、前記受光部を備える第５チップと、前記信号処理回路を備える第６チップとを含む
請求項１３に記載のセンサ装置。
【請求項１８】
センサ情報を取得するセンサと、
前記センサで取得された前記センサ情報に所定の処理を実行するＦＰＧＡと、
前記ＦＰＧＡに前記所定の処理を実行させるためのデータを記憶するメモリと、
を備える電子機器。
【請求項１９】
電子機器とサーバとが所定のネットワークを介して接続されたセンサシステムであって、
前記電子機器は、
センサ情報を取得するセンサと、
前記センサで取得された前記センサ情報に所定の処理を実行するＦＰＧＡと、
前記ＦＰＧＡに前記所定の処理を実行させるためのデータを記憶するメモリと、
前記所定の処理が実行された前記センサ情報を所定のネットワークへ送信する送信部と、
前記所定のネットワークへ送信された前記センサ情報の解析結果に応じて生成された前記ＦＰＧＡを更新するための更新データを受信する受信部と、
を備え、
前記サーバは、前記所定のネットワークを介して前記電子機器から受信した前記センサ情報を解析し、当該解析の結果に応じて前記ＦＰＧＡを更新するための前記更新データを生成し、当該生成された更新データを前記所定のネットワークへ送信し、
前記メモリ内の前記データは、前記受信部が前記所定のネットワークを介して受信した前記更新データで更新される
センサシステム。
【請求項２０】
センサで取得されたセンサ情報を解析するステップと、
前記センサ情報の解析結果に応じて、前記センサ情報に所定の処理を実行するＦＰＧＡの回路構成及び前記回路構成の設定値のうちの少なくとも１つを変更するステップと、
を備える制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、センサ装置、電子機器、センサシステム及び制御方法に関する。
【背景技術】
【０００２】
近年、ＩｏＴ（Internet  of  Things）の社会への浸透に伴い、センサやデバイスといった「モノ」がインターネットを通じてクラウドやフォグやサーバなどに接続して情報交換することで、「モノ」同士で相互に制御するシステムの開発が盛んになってきている。また、ＩｏＴにより収集したビッグデータを活用して様々なサービスをユーザに提供するシステムの開発が盛んに行なわれている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２３５６４４号公報
【特許文献２】特開２０１８−２６６８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＩｏＴに限らず、カメラなどのセンサを用いて情報を取得する場合、センサ自体が使用や経年等で劣化することで、正確な情報を収集することができないという課題が存在する。【０００５】
そこで本開示では、センサが劣化した場合でも正確な情報を取得することを可能にするセンサ装置、電子機器、センサシステム及び制御方法を提案する。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本開示に係る一形態のセンサ装置は、センサ情報を取得するセンサと、前記センサで取得された前記センサ情報に所定の処理を実行するＦＰＧＡ（Field-Programmable  Gate  Array）と、前記ＦＰＧＡに前記所定の処理を実行させるためのデータを記憶するメモリとを備える。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係るセンサシステム１の概略構成例を示す模式図である。
【図２】第１の実施形態に係る電子機器としての通信デバイスの概略構成例を示すブロック図である。
【図３】第１の実施形態に係るイメージセンサのチップ構成を示す模式図である。
【図４】第１の実施形態に係るフレキシブルロジックチップの他の構成例を示す図である。
【図５】第１の実施形態に係るフレキシブルロジックチップのさらに他の構成例を示す図である。
【図６】第１の実施形態に係るイメージセンサの動作を説明するための図である。
【図７】第１の実施形態に係る通信デバイスの概略動作例を示すフローチャートである。
【図８】第１の実施形態に係るサーバの概略動作例を示すフローチャートである。
【図９】第１の実施形態に係る変更項目の例を示す図である。
【図１０】従来型のデバイス構成を示すブロック図である。
【図１１】図１０に例示したデバイス構成でデータを処理する際の流れを説明するための図である。
【図１２】図１０に例示したデバイス構成で１０００個のデータを処理する際に要するクロックサイクル数を示す図である。
【図１３】第１の実施形態に係るイメージセンサのデバイス構成を示すブロック図である。
【図１４】第１の実施形態に係るイメージセンサがデータを処理する際の流れを説明するための図である。
【図１５】第１の実施形態に係るイメージセンサで１０００個のデータを処理する際に要するクロックサイクル数を示す図である。
【図１６】第２の実施形態に係る通信デバイスの概略構成例を示すブロック図である。
【図１７】第２の実施形態に係るイメージセンサのチップ構成を示す模式図である。
【図１８】第３の実施形態に係る通信デバイスの概略構成例を示すブロック図である。
【図１９】第３の実施形態に係るイメージセンサのチップ構成を示す模式図である。
【図２０】第４の実施形態に係る通信デバイスの概略構成例を示すブロック図である。
【図２１】第４の実施形態に係るイメージセンサのチップ構成を示す模式図である。
【図２２】第５の実施形態に係る通信デバイスの概略構成例を示すブロック図である。
【図２３】第５の実施形態に係るイメージセンサのチップ構成を示す模式図である。
【図２４】第６の実施形態に係る通信デバイスの概略構成例を示すブロック図である。
【図２５】第６の実施形態に係る通信デバイスの他の概略構成例を示すブロック図である。
【図２６】第６の実施形態に係る通信デバイスのさらに他の概略構成例を示すブロック図である。
【図２７】第６の実施形態に係る通信デバイスのさらに他の概略構成例を示すブロック図である。
【図２８】第６の実施形態に係る通信デバイスのさらに他の概略構成例を示すブロック図である。
【図２９】第７の実施形態に係る通信デバイスの概略構成例を示すブロック図である。
【図３０】第７の実施形態に係るＤＮＮ解析処理（機械学習処理）の一例を説明するための図である。
【図３１】第７の実施形態に係る動作の概略例を示すフローチャートである。
【図３２】第８の実施形態に係る通信デバイスの概略構成例を示すブロック図である。
【図３３】車両制御システムの概略的な構成の一例を示すブロック図である。
【図３４】車外情報検出部及び撮像部の設置位置の一例を示す説明図である。
【発明を実施するための形態】
【０００８】
以下に、本開示の一実施形態について図面に基づいて詳細に説明する。なお、以下の実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
【０００９】
また、以下に示す項目順序に従って本開示を説明する。
１．はじめに
２．第１の実施形態
２．１  システム構成
２．２  デバイス構成
２．３  スタック構造
２．４  イメージセンサの動作
２．５  各処理とチップとの関係
２．６  イメージセンサの劣化補正
２．７  劣化補正の手順
２．８  画像データの解析（機械学習）
２．９  動作フロー
２．９．１  通信デバイス側の動作
２．９．２  サーバ側の動作
２．１０  設定データ／回路データの変更
２．１１  高速処理の手法
２．１２  作用・効果
３．第２の実施形態
３．１  デバイス構成
３．２  チップ構成
３．３  作用・効果
４．第３の実施形態
４．１  デバイス構成
４．２  チップ構成
４．３  作用・効果
５．第４の実施形態
５．１  デバイス構成
５．２  チップ構成
５．３  作用・効果
６．第５の実施形態
６．１  デバイス構成
６．２  チップ構成
６．３  作用・効果
７．第６の実施形態
７．１  デバイス構成
７．２  デバイス構成の変形例
７．３  作用・効果
８．第７の実施形態
８．１  デバイス構成
８．２  ＤＮＮ解析処理
８．３  動作フロー
８．４  作用・効果
９．第８の実施形態
１０．応用例
【００１０】
１．はじめに
現在、カメラモジュールなどのセンサを搭載するデバイスとしては、例えば、スマートフォンや携帯電話機などのウェアラブル端末、定点カメラや監視カメラなどの固定された撮像デバイス、ドローン、自動車、家庭内ロボット、ファクトリーオートメーション（ＦＡ）ロボット、監視ロボット、自律ロボットなどの移動するデバイス、医療機器等、種々のデバイスが存在するが、これらのデバイスでは、仕様頻度や使用年数が増えることにより、カメラの経年劣化が発生する。例えば、カメラが経年劣化した場合に浮上する問題としては、以下のような項目を例示することができる。
【００１１】
第１に、カメラの劣化に伴う画質や制御等の調整は、パーソナルコンピュータなどを用いて設定値の変更する必要があり、メーカ等へ修理に出すなどの手間が生じる。
【００１２】
第２に、デバイスに組み込まれたソフトウエアをアップデートすることで画質や制御等を変更することは可能であるが、画質や制御等の変化はデバイスごとに個体差があるため、ソフトウエアのアップデートでは個別の調整が困難である。
【００１３】
第３に、自動車やドローンや各種ロボットなど、リアルタイムに画像データを解析してその結果に基づき自律的に移動するデバイスについては、画質劣化や制御調整の不具合が生じた場合にリアルタイムで設定値を補正する必要が生じる。
【００１４】
第４に、医療の分野では、例えば、カプセル内視鏡などのカメラが劣化していた場合に再検査が必要となり、体力や費用等の面で患者への負担が大きくなる。
【００１５】
第５に、デバイス自身で画質や制御等の調整を行なう場合、デバイス内に調整用のシステムを組み込むか、あるいは、外部のシステムとデバイスとを接続する必要が生じ、全体としてシステム構成が大型化し、それにより、コストや設置面積や重量等が増加してしまう。
【００１６】
第６に、リアルタイムな画像解析が必要なデバイスでは、シーケンシャルに各段階の処理が実行されるが、その場合、各段階でメモリがシェアされる構造のため、例えば、割り込み処理が入った場合に処理時間が非常に長くなってしまう。
【００１７】
そこで、以下の実施形態では、カメラなどのセンサが使用や経年等で劣化した場合でも正確な情報を取得することを可能にするセンサ装置、電子機器、センサシステム及び制御方法について、例を挙げて説明する。
【００１８】
２．第１の実施形態
まず、第１の実施形態について、図面を参照して詳細に説明する。なお、本実施形態では、劣化を補正する対象のセンサをイメージセンサとし、それを搭載するデバイスを通信デバイスとした場合を例示する。ただし、センサは、イメージセンサに限られず、温度センサや湿度センサや放射線計測器などの種々のセンサを適用することが可能である。
【００１９】
２．１  システム構成
図１は、本実施形態に係るセンサシステム１の概略構成例を示す模式図である。図１に示すように、センサシステム１は、通信機能を備えた１台以上の通信デバイス２と、サーバ３とが、ネットワーク４を介して接続された構成を備える。
【００２０】
通信デバイス２は、撮像機能の他に、上述したように、ネットワーク４を介してサーバ３と通信するための通信機能を備えている。なお、通信デバイス２としては、スマートフォンや携帯電話機などのウェアラブル端末、定点カメラや監視カメラなどの固定された撮像デバイス、ドローン、自動車、家庭内ロボット、ファクトリーオートメーション（ＦＡ）ロボット、監視ロボット、自律ロボットなどの移動するデバイス、医療機器等、センシング機能と通信機能とを備える種々のデバイスを適用することが可能である。
【００２１】
サーバ３は、例えば、クラウドサーバやフォグサーバなど、ネットワークに接続された種々のサーバであってよい。また、ネットワーク４には、例えば、インターネットやＬＡＮ（Local  Area  Network）や移動体通信網や公衆回線網など、種々のネットワークを適用することが可能である。
【００２２】
２．２  デバイス構成
図２は、本実施形態に係る電子機器としての通信デバイスの概略構成例を示すブロック図である。図２に示すように、通信デバイス２は、例えば、固体撮像装置としてのイメージセンサ１０と、送受信部１８とを備える。イメージセンサ１０は、例えば、受光部１１と、高速信号処理回路１２と、フレキシブルロジック回路１３と、メインプロセッサ１４と、メモリ１５と、ドライバ１６と、不揮発性メモリ１７とを含んで構成される。
【００２３】
受光部１１は、例えば、フォトダイオードなどの光電変換素子が行方向及び列方向に２次元マトリクス状に配列された光センサアレイ（画素アレイともいう）と、光センサアレイの受光面に設けられたレンズ等の光学系及びそれを駆動するアクチュエータとを備える。
【００２４】
高速信号処理回路１２は、受光部１１の各光電変換素子から読み出されたアナログの画素信号をデジタルの画素信号に変換するＡＤＣなどのアナログ回路と、ＡＤＣでデジタル値に変換された画素信号に基づいてＣＤＳ（Correlated  Double  Sampling）処理などのデジタル処理を実行するロジック回路とを含む。
【００２５】
メモリ１５は、高速信号処理回路１２から出力されたデジタルの画像データを格納する。また、メモリ１５は、後述するフレキシブルロジック回路１３やメインプロセッサ１４で所定の処理が施された画像データを格納する。さらに、メモリ１５は、フレキシブルロジック回路１３に含まれるＦＰＧＡ（Field-Programmable  Gate  Array）に所定の回路構成を実現するための各種データも格納する。以下、ＦＰＧＡの論理コンポーネントを接続して回路構成を実現するためのデータを回路データと称し、回路データにより実現された回路構成に対して与えるパラメータを設定データと称する。
【００２６】
フレキシブルロジック回路１３は、上述したように、ＦＰＧＡを含み、後述するメインプロセッサ１４と連携することで、メモリ１５に格納された画像データに対して、黒レベル処理、欠陥補正、シェーディング補正、歪み補正、リニアマトリックス処理、ガンマ補正、輝度色彩分離、エッジ強調処理、色差マトリックス処理、リサイズ・ズームなどの処理を実行する。また、フレキシブルロジック回路１３は、その他にも、制御系補正、自動露光（ＡＥ）、自動フォーカス（ＡＦ）、自動ホワイトバランス調整（ＡＷＢ）、同期処理出力インタフェース（ＩＦ）処理など、各種処理を実行する。
【００２７】
メインプロセッサ１４は、通信デバイス２内の各部を制御する。また、メインプロセッサ１４は、フレキシブルロジック回路１３と連携して動作することで、上記列挙した各種処理をパイプライン処理として実行する。
【００２８】
ドライバ１６は、例えば、垂直駆動回路や水平転送回路やタイミング制御回路等を含み、高速信号処理回路１２における後述する画素回路を駆動することで、高速信号処理回路１２に受光部１１からの画素信号の読出しを実行させる。また、ドライバ１６は、受光部１１におけるレンズやシャッタなどの光学系を駆動するアクチュエータの制御も実行する。
【００２９】
不揮発性メモリ１７は、例えば、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read-Only  Memory）などで構成され、ドライバ１６が高速信号処理回路１２内の各種回路や受光部１１内のアクチュエータを制御する際のパラメータ等を記憶する。
【００３０】
送受信部１８は、ネットワーク４を介してサーバ３と通信するための通信部であり、例えば、送信データをＤＡ（Digital  to  Analog）変換するＤＡＣ１８１と、ＤＡ変換されたデータをネットワーク４へ送信する送信アンテナ１８２と、ネットワーク４からデータを受信する受信アンテナ１８４と、受信アンテナ１８４で受信されたデータをＡＤ（Analog  to  Digital）変換するＡＤＣ１８３とを備える。ただし、送受信部１８は、無線に限定されず、有線であってもよい。
【００３１】
２．３  スタック構造
図３は、本実施形態に係るイメージセンサのチップ構成を示す模式図である。なお、図３では、簡略化のため、ドライバ１６と不揮発性メモリ１７とが省略されている。
【００３２】
図３に示すように、イメージセンサ１０における、例えば、受光部１１、高速信号処理回路１２、フレキシブルロジック回路１３、メインプロセッサ１４及びメモリ１５は、それぞれ１つのチップで構成されている。
【００３３】
受光部１１は、半導体基板よりなる受光チップ１１０に光センサアレイ１１１が作り込まれた構成を備える。高速信号処理回路１２は、半導体基板よりなるアナログ・ロジックチップ１２０に、画素回路１２１とＡＤＣ１２２とＣＤＳ回路１２３とゲイン調整回路１２４とが作り込まれた構成を備える。なお、ゲイン調整回路１２４は、例えば、ＣＤＳ処理後のデジタルの画素信号のゲインをＲＧＢそれぞれで調整する回路であってよい。
【００３４】
フレキシブルロジック回路１３は、半導体基板よりなるフレキシブルロジックチップ１３０にＦＰＧＡ１３１が作り込まれた構成を備える。メインプロセッサ１４は、半導体基板よりなるプロセッサチップ１４０にＭＰＵ（Micro  Processing  Unit）１４１が作り込まれた構成を備える。なお、プロセッサチップ１４０に形成されるＭＰＵ１４１は、１つに限られず、複数であってもよい。
【００３５】
メモリ１５は、半導体基板よりなるメモリチップ１５０にＳＲＡＭ（Static  RAM）やＤＲＡＭ（Dynamic  RAM）などのメモリ領域１５１が作り込まれた構成を備える。メモリ領域１５１における一部の領域は、ＦＰＧＡ１３１に回路構成を設定するための回路データやその設定データを格納するためのメモリ領域（以下、プログラマブルメモリ領域という）１５２として使用される。
【００３６】
各チップ１１０、１２０、１３０、１４０及び１５０は、図３に示す順序で上から積層される。したがって、イメージセンサ１０は、受光チップ１１０と、アナログ・ロジックチップ１２０と、メモリチップ１５０と、フレキシブルロジックチップ１３０と、プロセッサチップ１４０とが順に積層されたスタック構造を備える。
【００３７】
なお、イメージセンサ１０を構成する他の構成、例えば、ドライバ１６及び不揮発性メモリ１７は、それぞれ独立又は共通のチップに作り込まれてもよいし、チップ１１０、１２０、１３０、１４０及び１５０における何れかのチップに作り込まれてもよい。同様に、送受信部１８は、独立のチップに作り込まれてもよいし、上記チップの何れかに作り込まれてもよい。
【００３８】
また、フレキシブルロジックチップ１３０には、ＦＰＧＡ１３１だけでなく、図４又は図５に例示するように、ロジック回路１３２が作り込まれていてもよい。なお、図４は、ＦＰＧＡ１３１とロジック回路１３２とが分離した領域にそれぞれ作り込まれている場合を例示し、図５は、ロジック回路１３２の一部にＦＰＧＡ１３１が作り込まれている場合を例示している。
【００３９】
さらに、本実施形態では、それぞれ個別のチップ１１０、１２０、１３０、１４０及び１５０に作り込まれた受光部１１、高速信号処理回路１２、フレキシブルロジック回路１３、メインプロセッサ１４及びメモリ１５を積層したスタック構造を例示しているが、上述する実施形態にあるように、スタック構造は、種々変形することが可能である。例えば、スマートフォンや携帯電話機などのウェアラブル端末、定点カメラや監視カメラなどの固定された撮像デバイスなど、高速な画像処理が要求されないデバイスを通信デバイス２とした場合には、メインプロセッサ１４とフレキシブルロジック回路１３とメモリ１５とを１つのチップとすることで、製造コストを抑えることが可能となる。また、ドローン、自動車、家庭内ロボット、ファクトリーオートメーション（ＦＡ）ロボット、監視ロボット、自律ロボットなどの移動するデバイスを通信デバイス２とした場合には、本実施形態や後述する実施形態で例示するようなスタック構造とすることで、処理スピードを高めてリアルタイム性を向上することが可能となる。
【００４０】
２．４  イメージセンサの動作
つづいて、図２に示す通信デバイス２におけるイメージセンサ１０の動作について、図６を用いて説明する。
【００４１】
図６に示すように、イメージセンサ１０が実行する動作は、大まかに、光電変換ステップＳ１００、信号処理ステップＳ２００、ベースステップＳ３００、制御系ステップＳ４００、及び、絵作りステップＳ５００の５段階に分けることができる。
【００４２】
光電変換ステップＳ１００では、受光部１１における光電変換素子が、入射した光を入射光量に応じた電荷に変換する光電変換１０１を実行する。
【００４３】
信号処理ステップＳ２００では、光電変換素子に蓄積された電荷が、高速信号処理回路１２における画素回路によりアナログの画像信号として読み出される。なお、高速信号処理回路１２は、例えば、行単位で画素信号を読み出す方式など、複数の画素から同時に画素信号を読み出すことが可能な方式が採用された信号処理回路であってよい。
【００４４】
読み出されたアナログの画素信号は、高速信号処理回路１２におけるＡＤＣにてデジタルの画素信号に変換される（２０１）。そして、ＡＤ変換された画素信号に対し、高速信号処理回路１２におけるＣＤＳ回路がＣＤＳ処理を実行する（２０１）。これにより、ノイズが除去された画像データが生成される。生成された画像データは、一時、メモリ１５に格納される。
【００４５】
ベースステップＳ３００では、メモリ１５に格納されている画像データに対し、黒レベル処理３０１と、欠陥補正３０２と、シェーディング補正３０３と、歪み補正３０４とが順次実行される。
【００４６】
なお、黒レベル処理３０１とは、例えば、受光部１１において発生した暗電流などによって生じるノイズを除去して画像データの黒レベルを補正する処理であってよい。
【００４７】
欠陥補正３０２とは、例えば、素子不良等により欠落した画素の画素値を隣接画素の画素値等に基づいて補間する処理であってよい。
【００４８】
シェーディング補正３０３とは、光源の向きやレンズ収差の影響による明るさのムラを補正する処理であってよい。
【００４９】
歪み補正３０４とは、像高の高い領域におけるレンズ等に起因した画像の歪みを補正する処理であってよい。
【００５０】
制御系ステップＳ４００では、ドライバ１６が受光部１１のアクチュエータや画素回路を駆動する際に使用する各種パラメータを補正する制御系補正４０１が実行される。なお、制御系ステップＳ４００は、信号処理ステップＳ２００の後に限られず、任意のタイミングで実行されてよい。
【００５１】
絵作りステップＳ５００では、自動露光（ＡＥ）、自動フォーカス（ＡＦ）及び自動ホワイトバランス調整（ＡＷＢ）（５０１）と、同期処理５０２と、リニアマトリックス処理５０３と、ガンマ補正５０４と、輝度色彩分離５０５と、エッジ強調処理５０６と、色差マトリックス処理５０７と、リサイズ・ズーム５０８とが順次実行される。
【００５２】
なお、自動露光（ＡＥ）とは、受光部１１の光電変換素子に対する電荷蓄積時間を自動的に調整する処理であってよい。また、自動フォーカス（ＡＦ）は、受光部１１の光学系の焦点を自動的に合せる処理であってよい。さらに、自動ホワイトバランス調整（ＡＷＢ）は、高速信号処理回路１２の画素回路によって読み出されたＲ／Ｇ／Ｂ値それぞれのゲインを調整することで白レベルを自動的に調整する処理であってよい。
【００５３】
同期処理５０２とは、非同期に処理された結果を同期させる処理であってよい。
【００５４】
リニアマトリックス処理５０３とは、高速信号処理回路１２の画素回路によって読み出されたＲ／Ｇ／Ｂ値をマトリックス変換することで受光部１１の入力分光特性を理想的な値に調整する処理であってよい。
【００５５】
ガンマ補正５０４とは、画像データの輝度レベルを表示デバイス（例えば、ＣＲＴ（Cathode  Ray  Tube））のガンマ特性にて補正する処理であってよい。
【００５６】
輝度色彩分離５０５とは、ＹＣ変換とも称され、Ｒ／Ｇ／Ｂの画像データの色空間を変換して、Ｙ／Ｂ−Ｙ／Ｒ−Ｙの画像データを生成する処理であってよい。
【００５７】
エッジ強調処理５０６とは、画像データの空間周波数特性の劣化を補償したり、輪郭を強調したりすることで、空間周波数特性の劣化に起因した輪郭のボケを改善するための処理であってよい。
【００５８】
色差マトリックス処理５０７とは、ＹＣ変換後の画像データにおけるＢ−Ｙ／Ｒ−Ｙに対してマトリックス変換を行なうことで、輝度を変化させることなく色相や飽和度を調整する処理であってよい。
【００５９】
リサイズ・ズーム５０８とは、表示デバイスの表示サイズに合せて画像データの大きさを変更したり、特定の領域をズームしたりする処理であってよい。
【００６０】
その後、上記処理後の画像データ（以下、処理済み画像データという）を不図示のインタフェースを介して外部のＩＳＰ（Image  Signal  Processor）やＡＰ（Application  Processor）等へ出力する出力ＩＦ処理５０９が実行される。なお、出力ＩＦ処理５０９は、例えば、ＮＴＳＣの場合には、ＹＵＶやエンコードやカメラリングなどを含む処理であってよい。また、処理済み画像データは、例えば、一旦、メモリ１５に再度格納された後に外部へ出力されてもよいし、フレキシブルロジック回路１３又はメインプロセッサ１４からインタフェースを介して直接出力されてもよい。
【００６１】
２．５  各処理とチップとの関係
以上の流れにおいて、光電変換１０１は、例えば、受光部１１の光センサアレイ１１１において実行される。また、Ａ／Ｄ及びＣＤＳ２０１は、例えば、高速信号処理回路１２のＡＤＣ１２２及びＣＤＳ回路１２３において実行される。
【００６２】
黒レベル処理３０１、欠陥補正３０２、シェーディング補正３０３、歪み補正３０４、制御系補正４０１、ＡＥ，ＡＦ及びＡＷＢ５０１、同期処理５０２、リニアマトリックス処理５０３、ガンマ補正５０４、輝度色彩分離５０５、エッジ強調処理５０６、色差マトリックス処理５０７、リサイズ・ズーム５０８及び出力ＩＦ処理５０９は、例えば、フレキシブルロジック回路１３におけるＦＰＧＡ１３１にプログラマブルメモリ領域１５２からそれぞれの回路構成を実現するための回路データを読み込むとともに、各回路構成に対する設定データを対応するレジスタに登録することで実行される。したがって、設定データや回路データを変更することで、各処理の入力に対する出力を調整することができる。
【００６３】
なお、図４又は図５に例示したように、フレキシブルロジック回路１３の一部をＦＰＧＡ１３１とし、残りをロジック回路１３２とした場合では、ＦＰＧＡ１３１が、欠陥補正３０２、シェーディング補正３０３、歪み補正３０４、制御系補正４０１、ＡＥ，ＡＦ及びＡＷＢ５０１、同期処理５０２、リニアマトリックス処理５０３及びエッジ強調処理５０６を実行し、ロジック回路１３２が、黒レベル処理３０１、ガンマ補正５０４、輝度色彩分離５０５、色差マトリックス処理５０７、リサイズ・ズーム５０８及び出力ＩＦ処理５０９を実行するように構成することも可能である。
【００６４】
また、メインプロセッサ１４は、フレキシブルロジック回路１３が実行する各処理をパイプライン処理するように、フレキシブルロジック回路１３と連携して動作する。
【００６５】
２．６  イメージセンサの劣化補正
上述した構成において、イメージセンサ１０の例えば光センサアレイ１１１は、仕様頻度や使用年数が増えることにより経年劣化する。このようなイメージセンサ１０の劣化は、例えば、ＦＰＧＡ１３１の回路構成やそのパラメータを変更することで補正することができる。
【００６６】
そこで本実施形態では、イメージセンサ１０の劣化の状態を常時、定期的又は任意のタイミングで検出し、検出された劣化の状態に応じて、ＦＰＧＡ１３１の回路構成及び／又はそのパラメータを変更する。これにより、イメージセンサ１０を劣化状態に応じてカスタマイズすることが可能となるため、イメージセンサ１０が使用や経年等で劣化した場合でも正確な情報（例えば、画像データ）を取得することが可能となる。
【００６７】
イメージセンサ１０の劣化補正は、例えば、イメージセンサ１０で取得された画像データを、ネットワーク４を介してサーバ３へ送信することで実行される。
【００６８】
サーバ３は、例えば、ネットワーク４を介して通信デバイス２から受信した画像データを解析することで、イメージセンサ１０における劣化箇所や劣化原因を特定する。そして、サーバ３は、特定された劣化箇所や劣化原因の補正を目的として、イメージセンサ１０のフレキシブルロジック回路１３のＦＰＧＡ１３１に設定する設定データ及び／又は回路データを生成し、生成した設定データ及び／又は回路データを、ネットワーク４を介して通信デバイス２へ送信（フィードバック）する。
【００６９】
サーバ３から設定データ及び／又は回路データを受信した通信デバイス２は、これをイメージセンサ１０におけるメモリ１５に格納する。イメージセンサ１０は、メモリ１５に格納された設定データ及び／又は回路データをＦＰＧＡ１３１に設定することで、劣化箇所や劣化原因を補正する。
【００７０】
なお、劣化箇所や劣化原因を補正するための設定データ及び／又は回路データは、例えば、過去のデータを機械学習することで得られた学習済みモデルを利用して生成することができる。
【００７１】
２．７  劣化補正の手順
サーバ３側で画像データを解析して通信デバイス２におけるフレキシブルロジック回路１３の設定及び／又は回路構成を変更する手順としては、以下のような手法を例示することができる。
【００７２】
まず第１に、通信デバイス２からサーバ３へ画像データを送信する。
第２に、サーバ３側で画像データを解析する（機械学習）。
第３に、サーバ３において解析結果に基づいて設定データ及び／又は回路データを生成する。
第４に、生成された設定データ及び／又は回路データをサーバ３から通信デバイス２へフィードバックする（バイナリデータ転送）。
第５に、通信デバイス２において受信した設定データ及び／回路データをメモリ１５のプログラマブルメモリ領域１５２における所定の番地に書き込む。
第６に、プログラマブルメモリ領域１５２内の設定データ及び／又は回路データをロードすることで、ＦＰＧＡ１３１に新規回路を構成したり、ＦＰＧＡ１３１に実現された回路構成のパラメータを変更したりする。
【００７３】
以上のような動作を、例えば、フレームごとに実行することで、ＦＰＧＡ１３１の更新を常時行うことができる。
【００７４】
なお、ＦＰＧＡ１３１のレイヤ構成としては、ＦＰＧＡ１３１のみ構成されているもの（図３参照）、ＦＰＧＡ１３１とロジック回路１３２とで構成されているもの（図４参照）、ＦＰＧＡ１３１とロジック回路１３２とが混載しているもの（ベースのロジック回路１３２に対してＦＰＧＡ１３１で回路変更を行っていくもの。図５参照）など、用途によって適宜変更することが可能である。
【００７５】
また、サーバ３側における機械学習の結果に基づき、ＦＰＧＡ１３１に新規回路を追加することや、スピード向上のためにＦＰＧＡ１３１の回路構成を変更すること（例えば、一部機能の削減）などを実現することも可能である。例えば、高速信号処理回路１２から出力される画像データを１０ビットの画像データから１４ビットの画像データに変更したり、８ビットの画像データに変更したりすることも、ＦＰＧＡ１３１の回路構成を変更することで可能となる。
【００７６】
２．８  画像データの解析（機械学習）
イメージセンサ１０の劣化の状態は、例えば、イメージセンサ１０で取得された画像データを解析することで、判断することができる。画像データの解析では、例えば、イメージセンサ１０で取得した画像データをサーバ３側で保管しておき、画像データの解析時に、保管しておいた画像データと新たに取得された画像データとを比較することで、イメージセンサ１０が劣化しているか否かを判断することが可能である。
【００７７】
その際、サーバ３側に保管しておく画像データとしては、通信デバイス２の出荷前に取得しておいた画像データや、通信デバイス２がユーザの手に渡った際の初期設定時に取得しておいた画像データなど、イメージセンサ１０の経年劣化が小さい段階での画像データを利用するとよい。
【００７８】
また、劣化判断のために通信デバイス２からサーバ３へ送信する画像データは、任意のタイミングで取得された画像データであってもよいし、所定の条件が満たされた際に取得された画像データであってもよい。なお、所定の条件としては、サーバ３において保管されている画像データと同じ領域を撮像した画像データであることや、サーバ３において保管されている画像データを撮像した際と同じ照度条件の下で撮像された画像データであることなどとすることができる。
【００７９】
若しくは、例えば、イメージセンサ１０が機械シャッタを備えている場合には、機械シャッタを閉じた状態で取得した画像データをサーバ３側に保管しておき、劣化判断時には、同じく機械シャッタを閉じた状態で画像データを取得し、その画像データをサーバ３へ送信するように構成されてもよい。その場合、黒レベルやノイズや欠陥画素等からイメージセンサ１０の劣化状態を確認することが可能となる。
【００８０】
また、画像データの解析においては、例えば、機械学習により画像データの劣化の状態とその原因とを学習して学習済みモデルを構築しておくことで、後の解析時における原因究明の正確性と迅速性とを上場することが可能となる。なお、機械学習の手法としては、ＲＮＮ（Recurrent  Neural  Network）やＣＮＮ（Convolution  Neural  Network）など、種々の手法を利用することが可能である。
【００８１】
２．９  動作フロー
つづいて、イメージセンサ１０の劣化を検出して補正する際の動作を、フローチャートを用いて詳細に説明する。図７は、本実施形態に係る通信デバイスの概略動作例を示すフローチャートである。図８は、本実施形態に係るサーバの概略動作例を示すフローチャートである。
【００８２】
２．９．１  通信デバイス側の動作
図７に示すように、通信デバイス２は、まず、常時又は定期的に、サーバ３に対して、イメージセンサ１０で取得された画像データの解析を要求し（ステップＳ１０１）、サーバ３から解析の許可応答を受信するのを待機する（ステップＳ１０２のＮＯ）。サーバ３から解析の許可応答を受信すると（ステップＳ１０２のＹＥＳ）、通信デバイス２は、解析の繰返し回数を管理する値Ｎに１をセットする（ステップＳ１０３）。つづいて、通信デバイス２は、イメージセンサ１０を駆動して画像データを取得する（ステップＳ１０４）。この際に取得される画像データは、図６に例示した各段階の処理が施された処理済み画像データであってよい。
【００８３】
次に、通信デバイス２は、処理済み画像データをアナログデータにＤＡ変換後に暗号化する（ステップＳ１０５）。なお、暗号化は、例えば、メインプロセッサ１４又は不図示のアプリケーションプロセッサ（暗号化部）において実行されてよい。つづいて、通信デバイス２は、暗号化済みの画像データをネットワーク４を介してサーバ３へ送信し（ステップＳ１０６）、サーバ３からの応答を待機する（ステップＳ１０７のＮＯ）。これに対し、サーバ３は、後述において図８を用いて説明するように、通信デバイス２から受信した画像データを解析し、画像劣化があると認められる場合には、当該画像劣化を解消するためにＦＰＧＡ１３１に設定する設定データを生成する。
【００８４】
サーバ３から画像劣化無しの解析結果を受信した場合（ステップＳ１０７のＹＥＳ）、通信デバイス２は、本動作を終了する。一方、画像劣化がある旨の解析結果を受信した場合（ステップＳ１０７のＮＯ）、通信デバイス２は、サーバ３からネットワーク４を介して暗号化済みの設定データを受信し（ステップＳ１０８）、受信した暗号化済み設定データの暗号化を解除する（ステップＳ１０９）。なお、暗号化の解除（復号）は、例えば、メインプロセッサ１４又は不図示のアプリケーションプロセッサ（復号部）において実行されてよい。つづいて、通信デバイス２は、暗号化が解除された設定データで、メモリ領域１５１のプログラマブルメモリ領域１５２に格納されているＦＰＧＡ１３１の設定データを更新し（ステップＳ１１０）、更新した設定データをＦＰＧＡ１３１に設定する（ステップＳ１１１）。なお、受信した設定データに受光部１１の光学系を駆動するアクチュエータや高速信号処理回路１２の各部に対する設定データが含まれていた場合には、通信デバイス２は、この設定データで不揮発性メモリ１７内の所定のパラメータを更新する。これにより、ドライバ１６による各部の駆動が調整される。
【００８５】
次に、通信デバイス２は、繰返し回数Ｎを１インクリメントし（ステップＳ１１２）、インクリメント後の値Ｎが予め設定しておいた繰返し回数の上限値（本例では３）より大きいか否かを判定する（ステップＳ１１３）。繰返し回数Ｎが上限値以下である場合（ステップＳ１１３のＮＯ）、通信デバイス２は、ステップＳ１０４へリターンし、再度、以降の動作を実行する。一方、繰返し回数Ｎが上限値よりも大きい場合（ステップＳ１１３のＹＥＳ）、通信デバイス２は、ステップＳ１１４へ進む。
【００８６】
ステップＳ１１４では、通信デバイス２は、繰返し回数Ｎを１にリセットする。つづいて、通信デバイス２は、上述のステップＳ１０４〜１０７と同様に、イメージセンサ１０から取得した画像データをＤＡ変換後に暗号化してサーバ３へ送信し（ステップＳ１０６）、その後、サーバ３からの応答を待機する（ステップＳ１１５〜Ｓ１１８）。これに対し、サーバ３は、後述において図８を用いて説明するように、通信デバイス２から受信した画像データを解析し、画像劣化があると認められる場合には、当該画像劣化を解消するためにＦＰＧＡ１３１に組み込む回路データを生成する。
【００８７】
サーバ３から画像劣化無しの解析結果を受信した場合（ステップＳ１１８のＹＥＳ）、通信デバイス２は、本動作を終了する。一方、画像劣化がある旨の解析結果を受信した場合（ステップＳ１１８のＮＯ）、通信デバイス２は、サーバ３からネットワーク４を介して暗号化済みの回路データを受信し（ステップＳ１１９）、受信した暗号化済み回路データの暗号化を解除する（ステップＳ１２０）。つづいて、通信デバイス２は、暗号化が解除された回路データで、メモリ領域１５１のプログラマブルメモリ領域１５２に格納されているＦＰＧＡ１３１の回路データを更新し（ステップＳ１２１）、更新した回路データをＦＰＧＡ１３１に組み込むことで、ＦＰＧＡ１３１の回路構成を変更する（ステップＳ１２２）。
【００８８】
次に、通信デバイス２は、繰返し回数Ｎを１インクリメントし（ステップＳ１２３）、インクリメント後の値Ｎが予め設定しておいた繰返し回数の上限値（本例では３）より大きいか否かを判定する（ステップＳ１２４）。繰返し回数Ｎが上限値以下である場合（ステップＳ１２４のＮＯ）、通信デバイス２は、ステップＳ１１５へリターンし、再度、以降の動作を実行する。一方、繰返し回数Ｎが上限値よりも大きい場合（ステップＳ１２４のＹＥＳ）、通信デバイス２は、本動作を終了する。
【００８９】
２．９．２  サーバ側の動作
図８に示すように、サーバ３は、本動作を起動後、通信デバイス２から解析要求を受信するまで待機し（ステップＳ１３１のＮＯ）、解析要求を受信すると（ステップＳ１３１のＹＥＳ）、まず、解析要求を送信した通信デバイス２を特定する（ステップＳ１３２）。
【００９０】
次に、サーバ３は、解析要求を送信した通信デバイス２の特定に成功すると、特定した通信デバイス２のプログラマブルメモリ領域１５２に格納されている回路データ及び設定データを、所定の記憶装置から読み出すとともに（ステップＳ１３３）、解析要求を送信した通信デバイス２に対して、解析の許可応答を送信する（ステップＳ１３４）。なお、サーバ３の記憶装置には、登録済みの通信デバイス２のプログラマブルメモリ領域１５２に格納されている回路データ及び設定データが、通信デバイス２ごとに格納されている。すなわち、各通信デバイス２の回路データ及び設定データは、通信デバイス２とサーバ３とで共有されている。
【００９１】
次に、サーバ３は、繰返し回数Ｎに１をセットし（ステップＳ１３５）、その後、通信デバイス２から暗号化済み画像データを受信するまで待機する（ステップＳ１３６のＮＯ）。暗号化済み画像データを受信すると（ステップＳ１３６のＹＥＳ）、サーバ３は、暗号化済み画像データの暗号化を解除し（ステップＳ１３７）、暗号化が解除された画像データを解析し（ステップＳ１３８）、その結果に基づいて、画像劣化があるか否かを判定する（ステップＳ１３９）。
【００９２】
画像劣化がない場合（ステップＳ１３９のＮＯ）、サーバ３は、画像劣化がないことを通信デバイス２へ通知し（ステップＳ１５７）、ステップＳ１５８へ進む。一方、画像劣化がある場合（ステップＳ１３９のＹＥＳ）、ステップＳ１３８の解析結果に基づいて、イメージセンサ１０における画像劣化の原因となる箇所を特定し、特定された箇所の新たな設定データを生成する（ステップＳ１４０）。そして、サーバ３は、生成した設定データを通信デバイス２に対応付けて所定の記憶装置に保存する（ステップＳ１４１）とともに、生成した設定データを暗号化し（ステップＳ１４２）、暗号化済みの設定データをネットワーク４を介して通信デバイス２へ送信する（ステップＳ１４３）。なお、新たな設定データを生成には、上述したように、過去のデータに対する機械学習により得られた学習済みモデルが用いられてよい。
【００９３】
次に、サーバ３は、繰返し回数Ｎを１インクリメントし（ステップＳ１４４）、インクリメント後の値Ｎが予め設定しておいた繰返し回数の上限値（本例では３）より大きいか否かを判定する（ステップＳ１４５）。繰返し回数Ｎが上限値以下である場合（ステップＳ１４５のＮＯ）、サーバ３は、ステップＳ１３６へリターンし、再度、以降の動作を実行する。一方、繰返し回数Ｎが上限値よりも大きい場合（ステップＳ１４５のＹＥＳ）、通信デバイス２は、ステップＳ１４６へ進む。
【００９４】
ステップＳ１４６では、サーバ３は、繰返し回数Ｎを１にリセットする。つづいて、サーバ３は、通信デバイス２から暗号化済み画像データを受信するまで待機する（ステップＳ１４７のＮＯ）。暗号化済み画像データを受信すると（ステップＳ１４７のＹＥＳ）、サーバ３は、暗号化済み画像データの暗号化を解除し（ステップＳ１４８）、暗号化が解除された画像データを解析し（ステップＳ１４９）、その結果に基づいて、画像劣化があるか否かを判定する（ステップＳ１５０）。
【００９５】
画像劣化がない場合（ステップＳ１５０のＮＯ）、サーバ３は、画像劣化がないことを通信デバイス２へ通知し（ステップＳ１５７）、ステップＳ１５８へ進む。一方、画像劣化がある場合（ステップＳ１５０のＹＥＳ）、ステップＳ１４９の解析結果に基づいて、イメージセンサ１０における画像劣化の原因となる箇所を特定し、特定された箇所の新たな回路データを生成する（ステップＳ１５１）。そして、サーバ３は、生成した回路データを通信デバイス２に対応付けて所定の記憶装置に保存する（ステップＳ１５２）とともに、生成した回路データを暗号化し（ステップＳ１５３）、暗号化済みの回路データをネットワーク４を介して通信デバイス２へ送信する（ステップＳ１５４）。なお、新たな回路データを生成には、上述したように、過去のデータに対する機械学習により得られた学習済みモデルが用いられてよい。
【００９６】
次に、サーバ３は、繰返し回数Ｎを１インクリメントし（ステップＳ１５５）、インクリメント後の値Ｎが予め設定しておいた繰返し回数の上限値（本例では３）より大きいか否かを判定する（ステップＳ１５６）。繰返し回数Ｎが上限値以下である場合（ステップＳ１５６のＮＯ）、サーバ３は、ステップＳ１４７へリターンし、再度、以降の動作を実行する。一方、繰返し回数Ｎが上限値よりも大きい場合（ステップＳ１５６のＹＥＳ）、通信デバイス２は、ステップＳ１５８へ進む。
【００９７】
ステップＳ１５８では、サーバ３は、本動作を終了するか否かを判定し、終了する場合（ステップＳ１５８のＹＥＳ）、本動作を終了する。一方、終了しない場合（ステップＳ１５８のＮＯ）、サーバ３は、ステップＳ１３１へリターンし、以降の動作を実行する。
【００９８】
以上のような動作を実行することで、通信デバイス２のフレキシブルロジック回路１３におけるＦＰＧＡ１３１の回路構成及び／又はパラメータがカスタマイズされて、イメージセンサ１０の劣化が補正される。それにより、通信デバイス２において、良好な状態の画像データを取得することが可能となる。
【００９９】
なお、通信デバイス２からサーバ３へ画像データをアップロードする頻度は、適宜変更されてよい。また、例えば、リアルタイム性が重要となるドローンや自動車やロボットなどでは、通信デバイス２からサーバ３へ送信する画像データのデータ量は小さい方が好ましい。そのような場合には、画像データのデータ量を低減するために、送信対象の画像データをＶＧＡレベルやＱＶＧＡレベルで圧縮したり、ビニングなどでデータを圧縮したりしてもよい。
【０１００】
２．１０  設定データ／回路データの変更
また、画像データの解析から特定されたイメージセンサ１０の劣化状態に応じて変更される項目（設定データ及び回路データ）の例を、図９の表に示す。
【０１０１】
図９に示すように、劣化の原因には、イメージセンサ１０の光センサアレイ１１１における光電変換素子によるものと、レンズやアクチュエータなどの光学系のモジュールによるものとが存在する。例えば、黒レベル処理３０１、ＡＥ，ＡＦ，ＡＷＢ５０１、同期処理５０２、リニアマトリックス処理５０３、ガンマ補正５０４、輝度色彩分離５０５、エッジ強調処理５０６、色差マトリックス処理５０７等に劣化の原因が認められる場合には、光電変換素子（センサ）に劣化の原因があると考えられる。また、シェーディング補正３０３、歪み補正３０４、制御系補正４０１、リサイズ・ズーム５０８等に劣化の原因が認められる場合には、光学系のモジュールに劣化の原因があると考えられる。なお、欠陥補正３０２に劣化の原因が認められる場合には、光電変換素子及びモジュールの少なくとも一方に劣化の原因があると考えられる。
【０１０２】
そこで、本実施形態では、図９の表に示すように、黒レベル処理３０１に劣化の原因が認められる場合には、例えば、設定データの１つであるオプティカルブラック（ＯＢ）値を変更する。
【０１０３】
また、欠陥補正３０２に劣化の原因が認められる場合には、例えば、設定データに欠陥補正値を追加するか、回路データにおけるクラスタ以上の補正回路を変更するか、又は、回路データにおけるシミ改善回路を変更する。
【０１０４】
さらに、シェーディング補正３０３に劣化の原因が認められる場合には、例えば、設定データの１つであるシェーディング補正値を変更するか、又は、回路データにおけるシェーディングアルゴリズムを変更する（例えば、シェーディングカーブ関数の変更）。
【０１０５】
さらにまた、歪み補正３０４に劣化の原因が認められる場合には、例えば、回路データに歪み補正回路（糸巻き型又は樽型）を追加する。
【０１０６】
さらにまた、制御系補正４０１に劣化の原因が認められる場合には、例えば、設定データであるＡＦ、ＯＩＳ（手ブレ補正）及び／又はキャリブレーションデータを変更するか、又は、回路データにサーボ調整、ホールゲイン調整及び／又は光軸調整を目的としたドライバ制御調整フォワード回路を追加する。
【０１０７】
さらにまた、ＡＥ，ＡＦ，ＡＷＢ５０１に劣化の原因が認められる場合には、例えば、回路データにおけるＡＥ，ＡＷＢを実行する回路のアルゴリズムを変更する。
【０１０８】
さらにまた、同期処理５０２に劣化の原因が認められる場合には、例えば、設定データの１つである補間補正値を変更するか、又は、回路データにおける補間アルゴリズムを変更する。
【０１０９】
さらにまた、リニアマトリックス処理５０３に劣化の原因が認められる場合には、例えば、設定データの１つである分光補正値を変更するか、又は、回路データにける等式関数アルゴリズムを変更する。
【０１１０】
さらにまた、ガンマ補正５０４に劣化の原因が認められる場合には、例えば、設定データの１つであるガンマ補正値（コントラスト）を変更する。
【０１１１】
さらにまた、エッジ強調処理５０６に劣化の原因が認められる場合には、例えば、設定データの１つである輪郭（アパーチャ）補正・ノイズ補正値を変更するか、又は、回路データにおける輪郭（アパーチャ）補正・ノイズ補正アルゴリズムを変更する。
【０１１２】
さらにまた、色差マトリックス処理５０７に劣化の原因が認められる場合には、例えば、設定データの１つであるカラーマトリックス値を変更する。
【０１１３】
さらにまた、リサイズ・ズーム５０８に劣化の原因が認められる場合には、例えば、設定データの１つであるズーム値を変更する。
【０１１４】
さらにまた、出力ＩＦ処理５０９に劣化の原因が認められる場合には、例えば、設定データの１つであるモードによる出力レーンを変更する。
【０１１５】
以上のような設定データの変更及び／又は回路データの変更を実行することで、例えば、像高８０パーセント以上の領域で画像劣化を抑制することが可能となる。なお、メモリを追加したい場合には、メモリを追加することが可能なように構成されてもよい。
【０１１６】
２．１１  高速処理の手法
次に、本実施形態に係る通信デバイス２が実行する高速処理の手法について、従来と比較しつつ説明する。
【０１１７】
図１０は、従来型のデバイス構成を示すブロック図である。図１１は、図１０に例示したデバイス構成でデータを処理する際の流れを説明するための図である。図１２は、図１０に例示したデバイス構成で１０００個のデータを処理する際に要するクロックサイクル数を示す図である。一方、図１３は、本実施形態に係るイメージセンサのデバイス構成を示すブロック図である。図１４は、本実施形態に係るイメージセンサがデータを処理する際の流れを説明するための図である。図１５は、本実施形態に係るイメージセンサで１０００個のデータを処理する際に要するクロックサイクル数を示す図である。
【０１１８】
図１０に示すように、ロジック回路９１３、メインプロセッサ９１４及びメモリ９１５がバス９１９を介して接続されている従来型のデバイス構成では、１つのレイヤにロジック回路９１３とメインプロセッサ９１４とメモリ１５とが混載している。そのため、シーケンシャルな処理により、複雑のプログラムをフレキシブルに実行することができる。
【０１１９】
ただし、各処理を実行する回路（演算器ともいう）間でメモリ１５をシェアする仕組みであるため、プロセッサコアの増加に伴い性能が落ちたり、並列処理に時間がかかったりなどのデメリットが発生する。例えば、図６に例示した各処理を実行する際には、メインプロセッサ９１４がバス９１９を介してメモリ９１５から対象の１つずつデータを吸い上げ、これをロジック回路９１３に順次入力して処理を実行する必要がある。したがって、従来型のデバイス構造では、図１１に例示するように、各データＤに対する処理が順次行なわれるような、シーケンシャルな処理の流れとなる。
【０１２０】
そのため、例えば、同じレベルの１０００個の命令を処理する場合には、１クロックあたりに実行できる命令数が１であることから、図１２に示すように、全ての命令を処理するためには、少なくとも１０００クロックサイクルが必要となってしまう。
【０１２１】
これに対し、本実施形態に係るイメージセンサ１０は、各処理を実行するチップ１１０、１２０、１３０、１４０及び１５０が積層されたスタック構造を備える。そのため、イメージセンサ１０では、図１３に示すように、フレキシブルロジック回路１３がメモリ１５から直接データを吸い上げて処理することが可能となる。
【０１２２】
このようなスタック構造であることの利点を生かすことで、複雑なプログラムをフレキシブルに実行することが可能になることや、メインプロセッサ１４で待機中のデータを吸い上げ、フレキシブルロジック回路１３でレジスタと演算回路を生成して並列処理に処理することなどのメリットが得られる。例えば、図１４に示すように、イメージセンサ１０では、複数のデータＤを並列に処理するパイプライン処理が可能となる。
【０１２３】
このように、並列処理を可能とすることで、リアルタイム性能を向上することが可能となる。また、次処理が別処理の場合でも、ＦＰＧＡ１３１の回路構成を変更して複雑なプログラムもフレキシブルに実行することが可能となる。
【０１２４】
例えば、１クロックあたりに実行できる命令数を２とした場合には、すなわち、パイプライン処理の並列度を２とした場合には、図１５に示すように、同じレベルの１０００個の命令を処理するのに要するクロックサイクル数を、例えば、図１２に例示した従来型のデバイス構造と比較して、半分の５００クロックサイクルとすることが可能となる。すなわち、パイプライン処理の並列度をさらに上げることで、同じレベルの命令を処理するのに要するクロックサイクル数をその倍数分の１程度に低減することが可能である。
【０１２５】
また、図１４に示すように、１回目の処理Ｓ１を機械学習しておくことで、２回目以降の処理Ｓ２において、処理すべきデータＤの数を低減することが可能となるため、より高速な処理を実現することも可能となる。
【０１２６】
なお、ＦＰＧＡ１３１への新規回路の追加、処理スピード向上のための回路構成の変更（並列処理の改善、一部機能の削減等）などは、サーバ３側における画像データの解析による機械学習によって行われてよい。
【０１２７】
２．１２  作用・効果
以上で説明したように、本実施形態によれば、イメージセンサ１０で取得された画像データに基づき、画像劣化を補正するように、ＦＰＧＡ１３１のパラメータや回路構成を変更することが可能となる。それにより、イメージセンサ１０が劣化した場合でも正確な画像データを取得することが可能になる。
【０１２８】
また、本実施形態に係るイメージセンサ１０は、受光チップ１１０、アナログ・ロジックチップ１２０、メモリチップ１５０、フレキシブルロジックチップ１３０及びプロセッサチップ１４０が積層されたスタック構造を備える。それにより、受光部１１、高速信号処理回路１２、メモリ１５、フレキシブルロジック回路１３及びメインプロセッサ１４をバスを介さずに接続することが可能となるため、複雑のプログラムをフレキシブルに動かせたり、メインプロセッサ１４の待機中にデータを吸い上げてＦＰＧＡ１３１側でレジスタと演算回路を生成したり、各処理をパイプラインにて並列処理したりすることが可能となる。それにより、リアルタイム性能の向上や、複雑なプログラムに対するフレキシブルな対応が可能になる。
【０１２９】
３．第２の実施形態
次に、第２の実施形態について、図面を参照して詳細に説明する。上述した第１の実施形態では、受光部１１と高速信号処理回路１２とが異なるチップ（受光チップ１１０及びアナログ・ロジックチップ１２０。図３参照）に作り込まれていた場合を例示した。これに対し、第２の実施形態では、受光部１１と高速信号処理回路１２とが同一のチップに作り込まれている場合について、例を挙げて説明する。なお、以下の説明において、第１の実施形態と同様の構成、動作及び効果については、それを引用することで、その重複する説明を省略する。
【０１３０】
３．１  デバイス構成
図１６は、本実施形態に係る通信デバイスの概略構成例を示すブロック図である。図１６に示すように、本実施形態に係るイメージセンサ２０は、例えば、受光部＋高速信号処理回路２１と、フレキシブルロジック回路１３と、メインプロセッサ１４と、メモリ１５と、ドライバ１６と、不揮発性メモリ１７とを含んで構成される。フレキシブルロジック回路１３、メインプロセッサ１４、メモリ１５、ドライバ１６及び不揮発性メモリ１７、並びに、送受信部１８は、第１の実施形態において図２を用いて説明したそれらと同様であってよい。
【０１３１】
３．２  チップ構成
図１７は、本実施形態に係るイメージセンサのチップ構成を示す模式図である。なお、図１７では、図３と同様に、簡略化のため、ドライバ１６と不揮発性メモリ１７とが省略されている。
【０１３２】
図１７に示すように、イメージセンサ２０では、受光部１１を構成する光センサアレイ１１１と、高速信号処理回路１２を構成する画素回路１２１、ＡＤＣ１２２、ＣＤＳ回路１２３及びゲイン調整回路１２４とが、１つの受光チップ１１０に作り込まれた構成を備える。
【０１３３】
３．３  作用・効果
以上のような構成によっても、第１の実施形態と同様に、イメージセンサ２０で取得された画像データに基づき、画像劣化を補正するように、ＦＰＧＡ１３１のパラメータや回路構成を変更することが可能となる。それにより、イメージセンサ２０が劣化した場合でも正確な画像データを取得することが可能になる。
【０１３４】
その他の構成、動作及び効果は、上述した実施形態と同様であってよいため、ここでは詳細な説明を省略する。
【０１３５】
４．第３の実施形態
また、上述した第１の実施形態では、高速信号処理回路１２の直下にメモリ１５を配置した場合を例示したが、メモリ１５の位置は、高速信号処理回路１２の直下に限定されない。そこで第３の実施形態では、メモリ１５をスタック構造における最下層に配置した場合について、例を挙げて説明する。なお、以下の説明において、上述した実施形態と同様の構成、動作及び効果については、それを引用することで、その重複する説明を省略する。
【０１３６】
４．１  デバイス構成
図１８は、本実施形態に係る通信デバイスの概略構成例を示すブロック図である。図１８に示すように、本実施形態に係るイメージセンサ３０では、例えば、第１の実施形態において図２を用いて説明したイメージセンサ１０と同様の構成において、メモリ１５が最下層であるメインプロセッサ１４の下層に配置された構成を備える。また、イメージセンサ３０は、イメージセンサ１０における高速信号処理回路１２が信号処理回路３２に置き換えられている。信号処理回路３２は、高速信号処理回路１２のような高速な読出しが可能な信号処理回路であってもよいし、高速信号処理回路１２よりも低速な読出しを実行する信号処理回路であってもよい。また、その他の構成は、第１の実施形態において図２を用いて説明した構成と同様であってよい。
【０１３７】
４．２  チップ構成
図１９は、本実施形態に係るイメージセンサのチップ構成を示す模式図である。なお、図１９では、図３と同様に、簡略化のため、ドライバ１６と不揮発性メモリ１７とが省略されている。
【０１３８】
図１９に示すように、イメージセンサ３０では、フレキシブルロジックチップ１３０とメモリチップ１５０との間に介在するプロセッサチップ１４０に、フレキシブルロジックチップ１３０のＦＰＧＡ１３１と、メモリチップ１５０のメモリ領域１５１におけるプログラマブルメモリ領域１５２とを直接的に接続するための貫通配線１４２が設けられている。ＦＰＧＡ１３１とプログラマブルメモリ領域１５２とは、この貫通配線１４２を介して直接接続されている。
【０１３９】
なお、貫通配線１４２は、例えば、プロセッサチップ１４０を貫通するＴＳＶ（Through  Silicon  Via）などであってよい。
【０１４０】
４．３  作用・効果
以上のような構成によっても、上述した実施形態と同様に、イメージセンサ３０で取得された画像データに基づき、画像劣化を補正するように、ＦＰＧＡ１３１のパラメータや回路構成を変更することが可能となる。それにより、イメージセンサ３０が劣化した場合でも正確な画像データを取得することが可能になる。
【０１４１】
その他の構成、動作及び効果は、上述した実施形態と同様であってよいため、ここでは詳細な説明を省略する。
【０１４２】
５．第４の実施形態
また、上述した第３の実施形態では、受光部１１と信号処理回路３２とが異なるチップ（受光チップ１１０及びアナログ・ロジックチップ１２０。図１９参照）に作り込まれていた場合を例示した。これに対し、第４の実施形態では、受光部１１と信号処理回路３２とが同一のチップに作り込まれている場合について、例を挙げて説明する。なお、以下の説明において、上述した実施形態と同様の構成、動作及び効果については、それを引用することで、その重複する説明を省略する。
【０１４３】
５．１  デバイス構成
図２０は、本実施形態に係る通信デバイスの概略構成例を示すブロック図である。図２０に示すように、本実施形態に係るイメージセンサ４０は、例えば、受光部＋信号処理回路４１と、フレキシブルロジック回路１３と、メインプロセッサ１４と、メモリ１５と、ドライバ１６と、不揮発性メモリ１７とを含んで構成される。フレキシブルロジック回路１３、メインプロセッサ１４、メモリ１５、ドライバ１６及び不揮発性メモリ１７、並びに、送受信部１８は、第１の実施形態において図２を用いて説明したそれらと同様であってよい。
【０１４４】
５．２  チップ構成
図２１は、本実施形態に係るイメージセンサのチップ構成を示す模式図である。なお、図２１では、図３と同様に、簡略化のため、ドライバ１６と不揮発性メモリ１７とが省略されている。
【０１４５】
図２１に示すように、イメージセンサ４０では、受光部１１を構成する光センサアレイ１１１と、信号処理回路３２を構成する画素回路１２１、ＡＤＣ１２２、ＣＤＳ回路１２３及びゲイン調整回路１２４とが、１つの受光チップ１１０に作り込まれた構成を備える。
【０１４６】
５．３  作用・効果
以上のような構成によっても、上述した実施形態と同様に、イメージセンサ４０で取得された画像データに基づき、画像劣化を補正するように、ＦＰＧＡ１３１のパラメータや回路構成を変更することが可能となる。それにより、イメージセンサ４０が劣化した場合でも正確な画像データを取得することが可能になる。
【０１４７】
その他の構成、動作及び効果は、上述した実施形態と同様であってよいため、ここでは詳細な説明を省略する。
【０１４８】
６．第５の実施形態
また、上述した第４の実施形態では、受光部１１と信号処理回路３２とが同一の受光チップ１１０（図２１参照）に作り込まれていた場合を例示した。これに対し、第５の実施形態では、信号処理回路３２とフレキシブルロジック回路１３とが同一のチップに作り込まれている場合について、例を挙げて説明する。なお、以下の説明において、上述した実施形態と同様の構成、動作及び効果については、それを引用することで、その重複する説明を省略する。
【０１４９】
６．１  デバイス構成
図２２は、本実施形態に係る通信デバイスの概略構成例を示すブロック図である。図２２に示すように、本実施形態に係るイメージセンサ５０は、例えば、受光部１１と、信号処理回路＋フレキシブルロジック回路５３と、メインプロセッサ１４と、メモリ１５と、ドライバ１６と、不揮発性メモリ１７とを含んで構成される。受光部１１、メインプロセッサ１４、メモリ１５、ドライバ１６及び不揮発性メモリ１７、並びに、送受信部１８は、第１の実施形態において図２を用いて説明したそれらと同様であってよい。
【０１５０】
６．２  チップ構成
図２３は、本実施形態に係るイメージセンサのチップ構成を示す模式図である。なお、図２３では、図３と同様に、簡略化のため、ドライバ１６と不揮発性メモリ１７とが省略されている。
【０１５１】
図２３に示すように、イメージセンサ５０では、信号処理回路３２を構成する画素回路１２１、ＡＤＣ１２２、ＣＤＳ回路１２３及びゲイン調整回路１２４と、フレキシブルロジック回路１３を構成するＦＰＧＡ１３１（及びロジック回路１３２）とが、１つのフレキシブルロジックチップ１３０に作り込まれた構成を備える。
【０１５２】
６．３  作用・効果
以上のような構成によっても、上述した実施形態と同様に、イメージセンサ５０で取得された画像データに基づき、画像劣化を補正するように、ＦＰＧＡ１３１のパラメータや回路構成を変更することが可能となる。それにより、イメージセンサ５０が劣化した場合でも正確な画像データを取得することが可能になる。
【０１５３】
その他の構成、動作及び効果は、上述した実施形態と同様であってよいため、ここでは詳細な説明を省略する。
【０１５４】
７．第６の実施形態
上述した第１〜第５の実施形態では、イメージセンサ１０、２０、３０、４０又は５０で取得した画像データをサーバ３側で解析することでその劣化の原因を特定し、特定された劣化原因に基づいて、サーバ３がＦＰＧＡ１３１の設定データ及び／又は回路データの更新データを生成する場合について例示した。これに対し、第６の実施形態では、通信デバイス側で画像データの解析から更新データの生成までを実行する場合について、例を挙げて説明する。
【０１５５】
７．１  デバイス構成
図２４は、本実施形態に係る通信デバイスの概略構成例を示すブロック図である。図２４に示すように、本実施形態に係る通信デバイスにおけるイメージセンサ１０は、例えば、第１の実施形態において図２を用いて説明したイメージセンサ１０と同様の構成を備える。ただし、本実施形態では、例えば、メインプロセッサ１４が、メモリ１５内に格納されている処理済み画像データを解析してその劣化の原因を特定し、特定された劣化原因に基づいて、ＦＰＧＡ１３１の設定データ及び／又は回路データの更新データを生成する。生成された設定データ及び／又は回路データの更新データは、上述した実施形態と同様に、メモリ１５における所定のプログラマブルメモリ領域１５２内に格納され、ＦＰＧＡ１３１に設定される。
【０１５６】
なお、メインプロセッサ１４は、上述した実施形態におけるサーバ３と同様に、過去のデータを機械学習することで学習済みモデルを生成し、生成した学習済みモデルを利用して設定データ及び／又は回路データの更新データを生成するように構成されてもよい。
【０１５７】
７．２  デバイス構成の変形例
なお、図２４では、第１の実施形態をベースとした場合を例示したが、ベースとなるイメージセンサの構成は、第１の実施形態に限られない。例えば、図２５に示すように、第２の実施形態に係るイメージセンサ２０をベースとすることも可能であるし、図２６に示すように、第３の実施形態に係るイメージセンサ３０をベースとすることも可能であるし、図２７に示すように、第４の実施形態に係るイメージセンサ４０をベースとすることも可能であるし、図２８に示すように、第５の実施形態に係るイメージセンサ５０をベースとすることも可能である。
【０１５８】
７．３  作用・効果
以上のように、画像データの解析から更新データの生成までを通信デバイス側で行なう構成とした場合でも、上述した実施形態と同様に、イメージセンサ１０、２０、３０、４０又は５０で取得された画像データに基づき、画像劣化を補正するように、ＦＰＧＡ１３１のパラメータや回路構成を変更することが可能となる。それにより、イメージセンサ１０、２０、３０、４０又は５０が劣化した場合でも正確な画像データを取得することが可能になる。
【０１５９】
その他の構成、動作及び効果は、上述した実施形態と同様であってよいため、ここでは詳細な説明を省略する。
【０１６０】
８．第７の実施形態
上述した第６の実施形態では、メインプロセッサ１４が機械学習を実行して学習済みモデルを作成し、それを用いて設定データ及び／又は回路データの更新データを生成する場合について例示したが、通信デバイス側で画像データの解析から更新データの生成までを実行する場合、通信デバイス内に機械学習を実行する専用のチップが設けられてもよい。
【０１６１】
８．１  デバイス構成
図２９は、本実施形態に係る通信デバイスの概略構成例を示すブロック図である。図２９に示すように、本実施形態に係る通信デバイスにおけるイメージセンサ６０は、例えば、第６の実施形態において図２４を用いて説明したイメージセンサ１０と同様の構成に対し、機械学習を実行するＤＮＮ（Deep  Neural  Network）回路６１が追加された構成を備える。ＤＮＮ回路６１は、例えば、フレキシブルロジック回路１３とメインプロセッサ１４との間の層に配置されてもよい。
【０１６２】
８．２  ＤＮＮ解析処理
図３０は、本実施形態に係るＤＮＮ解析処理（機械学習処理）の一例を説明するための図である。図３０に示すように、ＤＮＮ解析ステップＳ６００では、例えば、第１の実施形態において図６を用いて例示した、光電変換ステップＳ１００、信号処理ステップＳ２００、ベースステップＳ３００、制御系ステップＳ４００、及び、絵作りステップＳ５００の５つのステップのうち、信号処理ステップＳ２００、ベースステップＳ３００、制御系ステップＳ４００、及び、絵作りステップＳ５００それぞれの処理の結果が入力層に与えられる。ＤＮＮ解析ステップＳ６００は、入力層から隠れ層を介して出力層までの各層のノード（ニューロンともいう）間を結ぶ各エッジの重みを求めることで、画像データの劣化を低減するのに最適となる設定データ及び／又は回路データを出力層に出現させる学習済みモデルが作成される。
【０１６３】
ＤＮＮ回路６１及びメインプロセッサ１４は、以上のようにして作成された学習済みモデルを用いることで、画像データの劣化を低減するのに最適となる設定データ及び／又は回路データの更新データを生成し、作成した更新データを、メモリ１５のプログラマブルメモリ領域１５２に格納する。
【０１６４】
８．３  動作フロー
つづいて、イメージセンサ６０の劣化を検出して補正する際の動作を、フローチャートを用いて詳細に説明する。図３１は、本実施形態に係る動作の概略例を示すフローチャートである。
【０１６５】
図３１に示すように、本動作では、まず、メインプロセッサ１４が、解析の繰返し回数を管理する値Ｎに１をセットする（ステップＳ２０１）。つづいて、高速信号処理回路１２を制御することで、受光部１１から画像データが読み出される（ステップＳ２０２）。
【０１６６】
次に、メインプロセッサ１４及びフレキシブルロジック回路１３が、取得した画像データに対して、図６に例示した各段階の処理を施し、それぞれの段階の結果をＤＮＮ回路６１に入力することで、画像データを解析する（ステップＳ２０３）。そして、メインプロセッサ１４は、解析結果に基づいて、画像劣化があるか否かを判定する（ステップＳ２０４）。
【０１６７】
画像劣化がない場合（ステップＳ２０４のＮＯ）、メインプロセッサ１４は、本動作を終了する。一方、画像劣化がある場合（ステップＳ２０４のＹＥＳ）、メインプロセッサ１４及びＤＮＮ回路６１は、ステップＳ２０３の解析結果に基づいて、イメージセンサ６０における画像劣化の原因となる箇所を解析し（ステップＳ２０５）、その解析結果に基づいて、新たな設定データ及び／又は回路データを生成する（ステップＳ２０６）。
【０１６８】
次に、メインプロセッサ１４は、生成した設定データ及び／又は回路データで、メモリ領域１５１のプログラマブルメモリ領域１５２に格納されているＦＰＧＡ１３１設定データ及び／又は回路データを更新し（ステップＳ２０７）、更新した設定データをＦＰＧＡ１３１に設定するとともに、更新した回路データをＦＰＧＡ１３１に組み込むことで、ＦＰＧＡ１３１の回路構成を変更する（ステップＳ２０８）。なお、受光部１１の光学系を駆動するアクチュエータや高速信号処理回路１２の各部に対する設定データを更新する場合には、この設定データで不揮発性メモリ１７内の所定のパラメータが更新される。これにより、ドライバ１６による各部の駆動が調整される。
【０１６９】
次に、メインプロセッサ１４は、繰返し回数Ｎを１インクリメントし（ステップＳ２０９）、インクリメント後の値Ｎが予め設定しておいた繰返し回数の上限値（本例では３）より大きいか否かを判定する（ステップＳ２１０）。繰返し回数Ｎが上限値以下である場合（ステップＳ２１０のＮＯ）、メインプロセッサ１４は、ステップＳ２０２へリターンし、再度、以降の動作を実行する。一方、繰返し回数Ｎが上限値よりも大きい場合（ステップＳ２１０のＹＥＳ）、メインプロセッサ１４は、本動作を終了する。
【０１７０】
８．４  作用・効果
以上のように、ＤＮＮ回路６１を通信デバイス側に組み込むことで、通信デバイス側で機械学習に基づいて、画像データの解析から更新データの生成までを行なうことが可能となる。それにより、イメージセンサ１０、２０、３０、４０又は５０が劣化した場合でも正確な画像データを取得することが可能になる。
【０１７１】
なお、本実施形態では、第６の実施形態において図２４を用いて説明したイメージセンサ１０をベースとした場合を説明したが、これに限定されず、図２５〜図２８を用いて説明したイメージセンサ２０、３０、４０又は５０など、他の実施形態をベースとすることも可能である。
【０１７２】
その他の構成、動作及び効果は、上述した実施形態と同様であってよいため、ここでは詳細な説明を省略する。
【０１７３】
９．第８の実施形態
また、上述した実施形態のうち、第１〜第５の実施形態では、サーバ３側で画像データの解析から更新データの生成までを実行する場合を例示し、第６の実施形態では、通信デバイス側で画像データの解析から更新データの生成までを実行する場合を例示したが、画像データの解析から更新データの生成までを実行する構成は、サーバ３と通信デバイスとの何れか一方に限定されない。
【０１７４】
例えば、図３２に例示するように、画像データの解析から更新データの生成までを実行する構成を、サーバ３と通信デバイスとから選択できる構成とすることも可能である。
【０１７５】
例えば、通信デバイスがドローンや自動車や自律ロボットなどの移動するデバイスである場合、移動中は通信デバイス内で画像データの解析から更新データの生成までを実施し、停止中はサーバ３側で画像データの解析から更新データの生成までを実施する等、適宜切り替えて実行するように構成することも可能である。
【０１７６】
又は、画像データの解析から更新データの生成までの処理のうち、一部をサーバ３側で実行し、残りを通信デバイス側で実行するように構成することも可能である。
【０１７７】
画像データの解析から更新データの生成までの実行をサーバ３側で実行するか通信デバイス２側で実行するかの切替えは、例えば、メインプロセッサ１４又は不図示のアプリケーションプロセッサ（切替部）で実行されてよい。
【０１７８】
なお、本実施形態では、第１の実施形態において図２を用いて説明したイメージセンサ及び第６の実施形態において図２４を用いて説明したイメージセンサ１０をベースとした場合を説明したが、これに限定されず、他の実施形態をベースとすることも可能である。
【０１７９】
その他の構成、動作及び効果は、上述した実施形態と同様であってよいため、ここでは詳細な説明を省略する。
【０１８０】
１０．応用例
本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、飛行機、ドローン、船舶、ロボット、建設機械、農業機械（トラクター）などのいずれかの種類の移動体に搭載される装置として実現されてもよい。
【０１８１】
図３３は、本開示に係る技術が適用され得る移動体制御システムの一例である車両制御システム７０００の概略的な構成例を示すブロック図である。車両制御システム７０００は、通信ネットワーク７０１０を介して接続された複数の電子制御ユニットを備える。図３３に示した例では、車両制御システム７０００は、駆動系制御ユニット７１００、ボディ系制御ユニット７２００、バッテリ制御ユニット７３００、車外情報検出ユニット７４００、車内情報検出ユニット７５００、及び統合制御ユニット７６００を備える。これらの複数の制御ユニットを接続する通信ネットワーク７０１０は、例えば、ＣＡＮ（Controller  Area  Network）、ＬＩＮ（Local  Interconnect  Network）、ＬＡＮ（Local  Area  Network）又はＦｌｅｘＲａｙ（登録商標）等の任意の規格に準拠した車載通信ネットワークであってよい。
【０１８２】
各制御ユニットは、各種プログラムにしたがって演算処理を行うマイクロコンピュータと、マイクロコンピュータにより実行されるプログラム又は各種演算に用いられるパラメータ等を記憶する記憶部と、各種制御対象の装置を駆動する駆動回路とを備える。各制御ユニットは、通信ネットワーク７０１０を介して他の制御ユニットとの間で通信を行うためのネットワークＩ／Ｆを備えるとともに、車内外の装置又はセンサ等との間で、有線通信又は無線通信により通信を行うための通信Ｉ／Ｆを備える。図３３では、統合制御ユニット７６００の機能構成として、マイクロコンピュータ７６１０、汎用通信Ｉ／Ｆ７６２０、専用通信Ｉ／Ｆ７６３０、測位部７６４０、ビーコン受信部７６５０、車内機器Ｉ／Ｆ７６６０、音声画像出力部７６７０、車載ネットワークＩ／Ｆ７６８０及び記憶部７６９０が図示されている。他の制御ユニットも同様に、マイクロコンピュータ、通信Ｉ／Ｆ及び記憶部等を備える。
【０１８３】
駆動系制御ユニット７１００は、各種プログラムにしたがって車両の駆動系に関連する装置の動作を制御する。例えば、駆動系制御ユニット７１００は、内燃機関又は駆動用モータ等の車両の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、車両の舵角を調節するステアリング機構、及び、車両の制動力を発生させる制動装置等の制御装置として機能する。駆動系制御ユニット７１００は、ＡＢＳ（Antilock  Brake  System）又はＥＳＣ（Electronic  Stability  Control）等の制御装置としての機能を有してもよい。
【０１８４】
駆動系制御ユニット７１００には、車両状態検出部７１１０が接続される。車両状態検出部７１１０には、例えば、車体の軸回転運動の角速度を検出するジャイロセンサ、車両の加速度を検出する加速度センサ、あるいは、アクセルペダルの操作量、ブレーキペダルの操作量、ステアリングホイールの操舵角、エンジン回転数又は車輪の回転速度等を検出するためのセンサのうちの少なくとも一つが含まれる。駆動系制御ユニット７１００は、車両状態検出部７１１０から入力される信号を用いて演算処理を行い、内燃機関、駆動用モータ、電動パワーステアリング装置又はブレーキ装置等を制御する。
【０１８５】
ボディ系制御ユニット７２００は、各種プログラムにしたがって車体に装備された各種装置の動作を制御する。例えば、ボディ系制御ユニット７２００は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、あるいは、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカー又はフォグランプ等の各種ランプの制御装置として機能する。この場合、ボディ系制御ユニット７２００には、鍵を代替する携帯機から発信される電波又は各種スイッチの信号が入力され得る。ボディ系制御ユニット７２００は、これらの電波又は信号の入力を受け付け、車両のドアロック装置、パワーウィンドウ装置、ランプ等を制御する。
【０１８６】
バッテリ制御ユニット７３００は、各種プログラムにしたがって駆動用モータの電力供給源である二次電池７３１０を制御する。例えば、バッテリ制御ユニット７３００には、二次電池７３１０を備えたバッテリ装置から、バッテリ温度、バッテリ出力電圧又はバッテリの残存容量等の情報が入力される。バッテリ制御ユニット７３００は、これらの信号を用いて演算処理を行い、二次電池７３１０の温度調節制御又はバッテリ装置に備えられた冷却装置等の制御を行う。
【０１８７】
車外情報検出ユニット７４００は、車両制御システム７０００を搭載した車両の外部の情報を検出する。例えば、車外情報検出ユニット７４００には、撮像部７４１０及び車外情報検出部７４２０のうちの少なくとも一方が接続される。撮像部７４１０には、ＴｏＦ（Time  of  Flight）カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ及びその他のカメラのうちの少なくとも一つが含まれる。車外情報検出部７４２０には、例えば、現在の天候又は気象を検出するための環境センサ、あるいは、車両制御システム７０００を搭載した車両の周囲の他の車両、障害物又は歩行者等を検出するための周囲情報検出センサのうちの少なくとも一つが含まれる。
【０１８８】
環境センサは、例えば、雨天を検出する雨滴センサ、霧を検出する霧センサ、日照度合いを検出する日照センサ、及び降雪を検出する雪センサのうちの少なくとも一つであってよい。周囲情報検出センサは、超音波センサ、レーダ装置及びＬＩＤＡＲ（Light  Detection  And  Ranging、Laser  Imaging  Detection  And  Ranging）装置のうちの少なくとも一つであってよい。これらの撮像部７４１０及び車外情報検出部７４２０は、それぞれ独立したセンサないし装置として備えられてもよいし、複数のセンサないし装置が統合された装置として備えられてもよい。
【０１８９】
ここで、図３４は、撮像部７４１０及び車外情報検出部７４２０の設置位置の例を示す。撮像部７９１０，７９１２，７９１４，７９１６，７９１８は、例えば、車両７９００のフロントノーズ、サイドミラー、リアバンパ、バックドア及び車室内のフロントガラスの上部のうちの少なくとも一つの位置に設けられる。フロントノーズに備えられる撮像部７９１０及び車室内のフロントガラスの上部に備えられる撮像部７９１８は、主として車両７９００の前方の画像を取得する。サイドミラーに備えられる撮像部７９１２，７９１４は、主として車両７９００の側方の画像を取得する。リアバンパ又はバックドアに備えられる撮像部７９１６は、主として車両７９００の後方の画像を取得する。車室内のフロントガラスの上部に備えられる撮像部７９１８は、主として先行車両又は、歩行者、障害物、信号機、交通標識又は車線等の検出に用いられる。
【０１９０】
なお、図３４には、それぞれの撮像部７９１０，７９１２，７９１４，７９１６の撮影範囲の一例が示されている。撮像範囲ａは、フロントノーズに設けられた撮像部７９１０の撮像範囲を示し、撮像範囲ｂ，ｃは、それぞれサイドミラーに設けられた撮像部７９１２，７９１４の撮像範囲を示し、撮像範囲ｄは、リアバンパ又はバックドアに設けられた撮像部７９１６の撮像範囲を示す。例えば、撮像部７９１０，７９１２，７９１４，７９１６で撮像された画像データが重ね合わせられることにより、車両７９００を上方から見た俯瞰画像が得られる。
【０１９１】
車両７９００のフロント、リア、サイド、コーナ及び車室内のフロントガラスの上部に設けられる車外情報検出部７９２０，７９２２，７９２４，７９２６，７９２８，７９３０は、例えば超音波センサ又はレーダ装置であってよい。車両７９００のフロントノーズ、リアバンパ、バックドア及び車室内のフロントガラスの上部に設けられる車外情報検出部７９２０，７９２６，７９３０は、例えばＬＩＤＡＲ装置であってよい。これらの車外情報検出部７９２０〜７９３０は、主として先行車両、歩行者又は障害物等の検出に用いられる。
【０１９２】
図３３に戻って説明を続ける。車外情報検出ユニット７４００は、撮像部７４１０に車外の画像を撮像させるとともに、撮像された画像データを受信する。また、車外情報検出ユニット７４００は、接続されている車外情報検出部７４２０から検出情報を受信する。車外情報検出部７４２０が超音波センサ、レーダ装置又はＬＩＤＡＲ装置である場合には、車外情報検出ユニット７４００は、超音波又は電磁波等を発信させるとともに、受信された反射波の情報を受信する。車外情報検出ユニット７４００は、受信した情報に基づいて、人、車、障害物、標識又は路面上の文字等の物体検出処理又は距離検出処理を行ってもよい。車外情報検出ユニット７４００は、受信した情報に基づいて、降雨、霧又は路面状況等を認識する環境認識処理を行ってもよい。車外情報検出ユニット７４００は、受信した情報に基づいて、車外の物体までの距離を算出してもよい。
【０１９３】
また、車外情報検出ユニット７４００は、受信した画像データに基づいて、人、車、障害物、標識又は路面上の文字等を認識する画像認識処理又は距離検出処理を行ってもよい。車外情報検出ユニット７４００は、受信した画像データに対して歪補正又は位置合わせ等の処理を行うとともに、異なる撮像部７４１０により撮像された画像データを合成して、俯瞰画像又はパノラマ画像を生成してもよい。車外情報検出ユニット７４００は、異なる撮像部７４１０により撮像された画像データを用いて、視点変換処理を行ってもよい。
【０１９４】
車内情報検出ユニット７５００は、車内の情報を検出する。車内情報検出ユニット７５００には、例えば、運転者の状態を検出する運転者状態検出部７５１０が接続される。運転者状態検出部７５１０は、運転者を撮像するカメラ、運転者の生体情報を検出する生体センサ又は車室内の音声を集音するマイク等を含んでもよい。生体センサは、例えば、座面又はステアリングホイール等に設けられ、座席に座った搭乗者又はステアリングホイールを握る運転者の生体情報を検出する。車内情報検出ユニット７５００は、運転者状態検出部７５１０から入力される検出情報に基づいて、運転者の疲労度合い又は集中度合いを算出してもよいし、運転者が居眠りをしていないかを判別してもよい。車内情報検出ユニット７５００は、集音された音声信号に対してノイズキャンセリング処理等の処理を行ってもよい。
【０１９５】
統合制御ユニット７６００は、各種プログラムにしたがって車両制御システム７０００内の動作全般を制御する。統合制御ユニット７６００には、入力部７８００が接続されている。入力部７８００は、例えば、タッチパネル、ボタン、マイクロフォン、スイッチ又はレバー等、搭乗者によって入力操作され得る装置によって実現される。統合制御ユニット７６００には、マイクロフォンにより入力される音声を音声認識することにより得たデータが入力されてもよい。入力部７８００は、例えば、赤外線又はその他の電波を利用したリモートコントロール装置であってもよいし、車両制御システム７０００の操作に対応した携帯電話又はＰＤＡ（Personal  Digital  Assistant）等の外部接続機器であってもよい。入力部７８００は、例えばカメラであってもよく、その場合搭乗者はジェスチャにより情報を入力することができる。あるいは、搭乗者が装着したウェアラブル装置の動きを検出することで得られたデータが入力されてもよい。さらに、入力部７８００は、例えば、上記の入力部７８００を用いて搭乗者等により入力された情報に基づいて入力信号を生成し、統合制御ユニット７６００に出力する入力制御回路などを含んでもよい。搭乗者等は、この入力部７８００を操作することにより、車両制御システム７０００に対して各種のデータを入力したり処理動作を指示したりする。
【０１９６】
記憶部７６９０は、マイクロコンピュータにより実行される各種プログラムを記憶するＲＯＭ（Read  Only  Memory）、及び各種パラメータ、演算結果又はセンサ値等を記憶するＲＡＭ（Random  Access  Memory）を含んでいてもよい。また、記憶部７６９０は、ＨＤＤ（Hard  Disc  Drive）等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等によって実現してもよい。
【０１９７】
汎用通信Ｉ／Ｆ７６２０は、外部環境７７５０に存在する様々な機器との間の通信を仲介する汎用的な通信Ｉ／Ｆである。汎用通信Ｉ／Ｆ７６２０は、ＧＳＭ（登録商標）（Global  System  of  Mobile  communications）、ＷｉＭＡＸ（登録商標）、ＬＴＥ（登録商標）（Long  Term  Evolution）若しくはＬＴＥ−Ａ（LTE−Advanced）などのセルラー通信プロトコル、又は無線ＬＡＮ（Ｗｉ−Ｆｉ（登録商標）ともいう）、Ｂｌｕｅｔｏｏｔｈ（登録商標）などのその他の無線通信プロトコルを実装してよい。汎用通信Ｉ／Ｆ７６２０は、例えば、基地局又はアクセスポイントを介して、外部ネットワーク（例えば、インターネット、クラウドネットワーク又は事業者固有のネットワーク）上に存在する機器（例えば、アプリケーションサーバ又は制御サーバ）へ接続してもよい。また、汎用通信Ｉ／Ｆ７６２０は、例えばＰ２Ｐ（Peer  To  Peer）技術を用いて、車両の近傍に存在する端末（例えば、運転者、歩行者若しくは店舗の端末、又はＭＴＣ（Machine  Type  Communication）端末）と接続してもよい。
【０１９８】
専用通信Ｉ／Ｆ７６３０は、車両における使用を目的として策定された通信プロトコルをサポートする通信Ｉ／Ｆである。専用通信Ｉ／Ｆ７６３０は、例えば、下位レイヤのＩＥＥＥ８０２．１１ｐと上位レイヤのＩＥＥＥ１６０９との組合せであるＷＡＶＥ（Wireless  Access  in  Vehicle  Environment）、ＤＳＲＣ（Dedicated  Short  Range  Communications）、又はセルラー通信プロトコルといった標準プロトコルを実装してよい。専用通信Ｉ／Ｆ７６３０は、典型的には、車車間（Vehicle  to  Vehicle）通信、路車間（Vehicle  to  Infrastructure）通信、車両と家との間（Vehicle  to  Home）の通信及び歩車間（Vehicle  to  Pedestrian）通信のうちの１つ以上を含む概念であるＶ２Ｘ通信を遂行する。
【０１９９】
測位部７６４０は、例えば、ＧＮＳＳ（Global  Navigation  Satellite  System）衛星からのＧＮＳＳ信号（例えば、ＧＰＳ（Global  Positioning  System）衛星からのＧＰＳ信号）を受信して測位を実行し、車両の緯度、経度及び高度を含む位置情報を生成する。なお、測位部７６４０は、無線アクセスポイントとの信号の交換により現在位置を特定してもよく、又は測位機能を有する携帯電話、ＰＨＳ若しくはスマートフォンといった端末から位置情報を取得してもよい。
【０２００】
ビーコン受信部７６５０は、例えば、道路上に設置された無線局等から発信される電波あるいは電磁波を受信し、現在位置、渋滞、通行止め又は所要時間等の情報を取得する。なお、ビーコン受信部７６５０の機能は、上述した専用通信Ｉ／Ｆ７６３０に含まれてもよい。
【０２０１】
車内機器Ｉ／Ｆ７６６０は、マイクロコンピュータ７６１０と車内に存在する様々な車内機器７７６０との間の接続を仲介する通信インタフェースである。車内機器Ｉ／Ｆ７６６０は、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Near  Field  Communication）又はＷＵＳＢ（Wireless  USB）といった無線通信プロトコルを用いて無線接続を確立してもよい。また、車内機器Ｉ／Ｆ７６６０は、図示しない接続端子（及び、必要であればケーブル）を介して、ＵＳＢ（Universal  Serial  Bus）、ＨＤＭＩ（登録商標）（High-Definition  Multimedia  Interface、又はＭＨＬ（Mobile  High-definition  Link）等の有線接続を確立してもよい。車内機器７７６０は、例えば、搭乗者が有するモバイル機器若しくはウェアラブル機器、又は車両に搬入され若しくは取り付けられる情報機器のうちの少なくとも１つを含んでいてもよい。また、車内機器７７６０は、任意の目的地までの経路探索を行うナビゲーション装置を含んでいてもよい。車内機器Ｉ／Ｆ７６６０は、これらの車内機器７７６０との間で、制御信号又はデータ信号を交換する。
【０２０２】
車載ネットワークＩ／Ｆ７６８０は、マイクロコンピュータ７６１０と通信ネットワーク７０１０との間の通信を仲介するインタフェースである。車載ネットワークＩ／Ｆ７６８０は、通信ネットワーク７０１０によりサポートされる所定のプロトコルに則して、信号等を送受信する。
【０２０３】
統合制御ユニット７６００のマイクロコンピュータ７６１０は、汎用通信Ｉ／Ｆ７６２０、専用通信Ｉ／Ｆ７６３０、測位部７６４０、ビーコン受信部７６５０、車内機器Ｉ／Ｆ７６６０及び車載ネットワークＩ／Ｆ７６８０のうちの少なくとも一つを介して取得される情報に基づき、各種プログラムにしたがって、車両制御システム７０００を制御する。例えば、マイクロコンピュータ７６１０は、取得される車内外の情報に基づいて、駆動力発生装置、ステアリング機構又は制動装置の制御目標値を演算し、駆動系制御ユニット７１００に対して制御指令を出力してもよい。例えば、マイクロコンピュータ７６１０は、車両の衝突回避あるいは衝撃緩和、車間距離に基づく追従走行、車速維持走行、車両の衝突警告、又は車両のレーン逸脱警告等を含むＡＤＡＳ（Advanced  Driver  Assistance  System）の機能実現を目的とした協調制御を行ってもよい。また、マイクロコンピュータ７６１０は、取得される車両の周囲の情報に基づいて駆動力発生装置、ステアリング機構又は制動装置等を制御することにより、運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行ってもよい。
【０２０４】
マイクロコンピュータ７６１０は、汎用通信Ｉ／Ｆ７６２０、専用通信Ｉ／Ｆ７６３０、測位部７６４０、ビーコン受信部７６５０、車内機器Ｉ／Ｆ７６６０及び車載ネットワークＩ／Ｆ７６８０のうちの少なくとも一つを介して取得される情報に基づき、車両と周辺の構造物や人物等の物体との間の３次元距離情報を生成し、車両の現在位置の周辺情報を含むローカル地図情報を作成してもよい。また、マイクロコンピュータ７６１０は、取得される情報に基づき、車両の衝突、歩行者等の近接又は通行止めの道路への進入等の危険を予測し、警告用信号を生成してもよい。警告用信号は、例えば、警告音を発生させたり、警告ランプを点灯させたりするための信号であってよい。
【０２０５】
音声画像出力部７６７０は、車両の搭乗者又は車外に対して、視覚的又は聴覚的に情報を通知することが可能な出力装置へ音声及び画像のうちの少なくとも一方の出力信号を送信する。図３３の例では、出力装置として、オーディオスピーカ７７１０、表示部７７２０及びインストルメントパネル７７３０が例示されている。表示部７７２０は、例えば、オンボードディスプレイ及びヘッドアップディスプレイの少なくとも一つを含んでいてもよい。表示部７７２０は、ＡＲ（Augmented  Reality）表示機能を有していてもよい。出力装置は、これらの装置以外の、ヘッドホン、搭乗者が装着する眼鏡型ディスプレイ等のウェアラブルデバイス、プロジェクタ又はランプ等の他の装置であってもよい。出力装置が表示装置の場合、表示装置は、マイクロコンピュータ７６１０が行った各種処理により得られた結果又は他の制御ユニットから受信された情報を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。また、出力装置が音声出力装置の場合、音声出力装置は、再生された音声データ又は音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
【０２０６】
なお、図３３に示した例において、通信ネットワーク７０１０を介して接続された少なくとも二つの制御ユニットが一つの制御ユニットとして一体化されてもよい。あるいは、個々の制御ユニットが、複数の制御ユニットにより構成されてもよい。さらに、車両制御システム７０００が、図示されていない別の制御ユニットを備えてもよい。また、上記の説明において、いずれかの制御ユニットが担う機能の一部又は全部を、他の制御ユニットに持たせてもよい。つまり、通信ネットワーク７０１０を介して情報の送受信がされるようになっていれば、所定の演算処理が、いずれかの制御ユニットで行われるようになってもよい。同様に、いずれかの制御ユニットに接続されているセンサ又は装置が、他の制御ユニットに接続されるとともに、複数の制御ユニットが、通信ネットワーク７０１０を介して相互に検出情報を送受信してもよい。
【０２０７】
なお、図１を用いて説明した本実施形態に係るセンサシステム１の各機能を実現するためのコンピュータプログラムを、いずれかの制御ユニット等に実装することができる。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体を提供することもできる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
【０２０８】
以上説明した車両制御システム７０００において、図２を用いて説明した本実施形態に係る通信デバイス２は、図３３に示した応用例の統合制御ユニット７６００に適用することができる。例えば、通信デバイス２のメインプロセッサ１４、メモリ１５、送受信部１８は、統合制御ユニット７６００のマイクロコンピュータ７６１０、記憶部７６９０、車載ネットワークＩ／Ｆ７６８０に相当する。
【０２０９】
また、図２を用いて説明した通信デバイス２の少なくとも一部の構成要素は、図３３に示した統合制御ユニット７６００のためのモジュール（例えば、一つのダイで構成される集積回路モジュール）において実現されてもよい。さらに、図１を用いて説明したセンサシステム１は、図３３に示した車両制御システム７０００の複数の制御ユニットによって実現されてもよい。
【０２１０】
以上、本開示の実施形態について説明したが、本開示の技術的範囲は、上述の実施形態そのままに限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、異なる実施形態及び変形例にわたる構成要素を適宜組み合わせてもよい。
【０２１１】
また、本明細書に記載された各実施形態における効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
【０２１２】
なお、本技術は以下のような構成も取ることができる。
（１）
センサ情報を取得するセンサと、
前記センサで取得された前記センサ情報に所定の処理を実行するＦＰＧＡ（Field-Programmable  Gate  Array）と、
前記ＦＰＧＡに前記所定の処理を実行させるためのデータを記憶するメモリと、
を備えるセンサ装置。
（２）
前記メモリ内の前記データは、前記センサ情報の解析結果に応じて更新される前記（１）に記載のセンサ装置。
（３）
前記所定の処理が実行された前記センサ情報を所定のネットワークへ送信する送信部と、
前記所定のネットワークへ送信された前記センサ情報の解析結果に応じて生成された前記ＦＰＧＡを更新するための更新データを受信する受信部と、
をさらに備え、
前記メモリ内の前記データは、前記更新データで更新される
前記（１）又は（２）に記載のセンサ装置。
（４）
前記送信部は、無線により前記センサ情報を所定のネットワークへ送信し、
前記受信部は、無線により前記所定のネットワークから前記更新データを受信する
前記（３）に記載のセンサ装置。
（５）
前記センサ情報を暗号化する暗号化部と、
前記更新データの暗号化を解除する復号部と、
をさらに備える前記（４）に記載のセンサ装置。
（６）
前記センサ情報を解析し、当該解析の結果に応じて前記ＦＰＧＡを更新するための更新データを生成し、当該生成された更新データで前記メモリ内の前記データを更新するプロセッサをさらに備える前記（１）又は（２）に記載のセンサ装置。
（７）
前記センサ情報を機械学習により解析するＤＮＮ（Deep  Neural  Network）回路をさらに備え、
前記プロセッサは、前記ＤＮＮ回路による前記機械学習の結果に基づいて前記センサ情報を解析する前記（６）に記載のセンサ装置。
（８）
前記所定の処理が実行された前記センサ情報を所定のネットワークへ送信する送信部と、
前記所定のネットワークへ送信された前記センサ情報の解析結果に応じて生成された前記ＦＰＧＡを更新するための更新データを受信する受信部と、
前記センサ情報を解析し、当該解析の結果に応じて前記ＦＰＧＡを更新するための更新データを生成するプロセッサと、
前記センサ情報を、前記送信部を介して前記所定のネットワークへ送信するか、前記プロセッサに入力するかを切り替える切替部と、
をさらに備え、
前記メモリ内の前記データは、前記受信部で受信された前記更新データ、又は、前記プロセッサで生成された前記更新データで更新される
前記（１）又は（２）に記載のセンサ装置。
（９）
前記センサ情報は、画像データであり、
前記センサは、複数の光電変換素子を備える受光部と、前記受光部から画像データを読み出す信号処理回路とを含む
前記（１）〜（８）の何れか１項に記載のセンサ装置。
（１０）
前記所定の処理は、黒レベル処理と、欠陥補正と、シェーディング補正と、歪み補正と、自動露光、自動フォーカス、自動ホワイトバランス調整と、同期処理と、リニアマトリックス処理と、ガンマ補正と、輝度色彩分離と、エッジ強調処理と、色差マトリックス処理と、リサイズ・ズームとのうち少なくとも１つを含む前記（９）に記載のセンサ装置。
（１１）
前記データは、前記ＦＰＧＡに前記所定の処理を実行する回路構成を組み込むための回路データと、前記回路構成に設定するパラメータを含む設定データとを含む前記（１）〜（１０）の何れか１項に記載のセンサ装置。
（１２）
前記ＦＰＧＡと連携して前記所定の処理を実行するプロセッサをさらに備える前記（１）又は（２）に記載のセンサ装置。
（１３）
前記センサを備える第１チップと、
前記ＦＰＧＡを備える第２チップと、
前記メモリを備える第３チップと、
をさらに備え、
前記第１〜第３チップが積層されたスタック構造を備える
前記（１）〜（１２）の何れか１項に記載のセンサ装置。
（１４）
前記第３チップは前記第１チップと前記第２チップとの間に位置する前記（１３）に記載のセンサ装置。
（１５）
前記ＦＰＧＡと連携して前記所定の処理を実行するプロセッサを備える第４チップをさらに備え、
前記スタック構造は、前記第１〜第４チップが積層された構造を備える前記（１３）又は（１４）に記載のセンサ装置。
（１６）
前記第１チップは、前記スタック構造の最上層に位置し、
前記第４チップは、前記スタック構造の最下層に位置する
前記（１５）に記載のセンサ装置。
（１７）
前記センサ情報は、画像データであり、
前記センサは、複数の光電変換素子を備える受光部と、前記受光部から画像データを読み出す信号処理回路とを含み、
前記第１チップは、前記受光部を備える第５チップと、前記信号処理回路を備える第６チップとを含む
前記（１３）〜（１６）の何れか１項に記載のセンサ装置。
（１８）
センサ情報を取得するセンサと、
前記センサで取得された前記センサ情報に所定の処理を実行するＦＰＧＡと、
前記ＦＰＧＡに前記所定の処理を実行させるためのデータを記憶するメモリと、
を備える電子機器。
（１９）
電子機器とサーバとが所定のネットワークを介して接続されたセンサシステムであって、
前記電子機器は、
センサ情報を取得するセンサと、
前記センサで取得された前記センサ情報に所定の処理を実行するＦＰＧＡと、
前記ＦＰＧＡに前記所定の処理を実行させるためのデータを記憶するメモリと、
前記所定の処理が実行された前記センサ情報を所定のネットワークへ送信する送信部と、
前記所定のネットワークへ送信された前記センサ情報の解析結果に応じて生成された前記ＦＰＧＡを更新するための更新データを受信する受信部と、
を備え、
前記サーバは、前記所定のネットワークを介して前記電子機器から受信した前記センサ情報を解析し、当該解析の結果に応じて前記ＦＰＧＡを更新するための前記更新データを生成し、当該生成された更新データを前記所定のネットワークへ送信し、
前記メモリ内の前記データは、前記受信部が前記所定のネットワークを介して受信した前記更新データで更新される
センサシステム。
（２０）
センサで取得されたセンサ情報を解析するステップと、
前記センサ情報の解析結果に応じて、前記センサ情報に所定の処理を実行するＦＰＧＡの回路構成及び前記回路構成の設定値のうちの少なくとも１つを変更するステップと、
を備える制御方法。
【符号の説明】
【０２１３】
１  センサシステム
２  通信デバイス
３  サーバ
１０、２０、３０、４０、５０、６０  イメージセンサ
１１  受光部
１２  高速信号処理回路
１３  フレキシブルロジック回路
１４  メインプロセッサ
１５  メモリ
１６  ドライバ
１７  不揮発性メモリ
１８  送受信部
２１  受光部＋高速信号処理回路
３２  信号処理回路
４１  受光部＋信号処理回路
５３  信号処理回路＋フレキシブルロジック回路
６１  ＤＮＮ回路
１１０  受光チップ
１１１  光センサアレイ
１２０  アナログ・ロジックチップ
１２１  画素回路
１２２  ＡＤＣ
１２３  ＣＤＳ回路
１２４  ゲイン調整回路
１３０  フレキシブルロジックチップ
１３１  ＦＰＧＡ
１３２  ロジック回路
１４０  プロセッサチップ
１４１  ＭＰＵ
１５０  メモリチップ
１５１  メモリ領域
１５２  プログラマブルメモリ領域
１８１  ＤＡＣ
１８２  送信アンテナ
１８３  ＡＤＣ
１８４  受信アンテナ
１０１  光電変換
２０１  Ａ／Ｄ，ＣＤＳ
３０１  黒レベル処理
３０２  欠陥補正
３０３  シェーディング補正
３０４  歪み補正
４０１  制御系補正
５０１  ＡＥ，ＡＦ，ＡＷＢ
５０２  同期処理
５０３  リニアマトリックス処理
５０４  ガンマ補正
５０５  輝度色彩分離
５０６  エッジ強調処理
５０７  色差マトリックス処理
５０８  リサイズ・ズーム
５０９  出力ＩＦ処理
【図１】
2020116046.tif 000003
【図２】
2020116046.tif 000004
【図３】
2020116046.tif 000005
【図４】
2020116046.tif 000006
【図５】
2020116046.tif 000007
【図６】
2020116046.tif 000008
【図７】
2020116046.tif 000009
【図８】
2020116046.tif 000010
【図９】
2020116046.tif 000011
【図１０】
2020116046.tif 000012
【図１１】
2020116046.tif 000013
【図１２】
2020116046.tif 000014
【図１３】
2020116046.tif 000015
【図１４】
2020116046.tif 000016
【図１５】
2020116046.tif 000017
【図１６】
2020116046.tif 000018
【図１７】
2020116046.tif 000019
【図１８】
2020116046.tif 000020
【図１９】
2020116046.tif 000021
【図２０】
2020116046.tif 000022
【図２１】
2020116046.tif 000023
【図２２】
2020116046.tif 000024
【図２３】
2020116046.tif 000025
【図２４】
2020116046.tif 000026
【図２５】
2020116046.tif 000027
【図２６】
2020116046.tif 000028
【図２７】
2020116046.tif 000029
【図２８】
2020116046.tif 000030
【図２９】
2020116046.tif 000031
【図３０】
2020116046.tif 000032
【図３１】
2020116046.tif 000033
【図３２】
2020116046.tif 000034
【図３３】
2020116046.tif 000035
【図３４】
2020116046.tif 000036
【国際調査報告】
2020116046.tif 000037
2020116046.tif 000038
2020116046.tif 000039
2020116046.tif 000040