IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特開2024-70152情報処理装置、情報処理方法、及びプログラム
<>
  • 特開-情報処理装置、情報処理方法、及びプログラム 図1
  • 特開-情報処理装置、情報処理方法、及びプログラム 図2
  • 特開-情報処理装置、情報処理方法、及びプログラム 図3
  • 特開-情報処理装置、情報処理方法、及びプログラム 図4
  • 特開-情報処理装置、情報処理方法、及びプログラム 図5
  • 特開-情報処理装置、情報処理方法、及びプログラム 図6
  • 特開-情報処理装置、情報処理方法、及びプログラム 図7
  • 特開-情報処理装置、情報処理方法、及びプログラム 図8
  • 特開-情報処理装置、情報処理方法、及びプログラム 図9
  • 特開-情報処理装置、情報処理方法、及びプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024070152
(43)【公開日】2024-05-22
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
   H04L 47/125 20220101AFI20240515BHJP
【FI】
H04L47/125
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022180590
(22)【出願日】2022-11-10
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110002044
【氏名又は名称】弁理士法人ブライタス
(72)【発明者】
【氏名】柴田 誠也
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030HB15
5K030LE03
5K030LE16
(57)【要約】
【課題】 エッジ側の処理が所定期間に実行できない場合に、処理できなかった残りの処理を、処理内容に基づいてクラウド側に分担することで、処理遅延を低減する。
【解決手段】 情報処理装置は、処理期間ごとに画像に対して第一の画像処理を実行し、第一の情報を生成する第一の画像処理部と、処理期間に、第一の情報を用いて第二の画像処理を実行し、第二の情報を生成する第二の画像処理部と、第一の画像処理に要した時間と、第一の情報とに基づいて、現時点の処理期間内で第二の画像処理を完了できるか否かを推定する第一の推定部と、現時点の処理期間において第二の画像処理が完了できないと推定された場合、現時点の処理期間より後の処理期間に、残りの第二の画像処理で用いる第一の情報を、第二の画像処理部と、第二の画像処理を実行する第三の画像処理部と、に分配する分配部と、を有する。
【選択図】図1
【特許請求の範囲】
【請求項1】
あらかじめ設定された処理期間ごとに取得した画像に対して第一の画像処理を実行し、第一の情報を生成する第一の画像処理手段と、
前記処理期間に、前記第一の情報を用いて第二の画像処理を実行し、第二の情報を生成する第二の画像処理手段と、
前記第一の画像処理に要した時間と、前記第一の情報とに基づいて、現時点の処理期間内で前記第二の画像処理を完了できるか否かを推定する第一の推定手段と、
前記現時点の処理期間において前記第二の画像処理が完了できないと推定された場合、現時点の処理期間より後のあらかじめ設定された数の処理期間に、残りの第二の画像処理を実行させるために、前記残りの第二の画像処理で用いる前記第一の情報を、前記第二の画像処理手段と、前記第二の画像処理手段と別に設けられた前記第二の画像処理を実行する第三の画像処理手段と、に分配する分配手段と、
を有する情報処理装置。
【請求項2】
前記分配手段は、前記現時点の処理期間より後のあらかじめ設定された数の処理期間に、前記残りの第二の画像処理で用いる全ての前記第一の情報を、前記第二の画像処理手段と、前記第三の画像処理手段に分配し、
前記第二の画像処理手段は、前記現時点より後のあらかじめ設定された数の処理期間に、前記残りの第二の画像処理を実行可能な余裕期間がある場合、前記余裕期間において前記残りの第二の画像処理で用いる前記第一の情報を用いて、前記第二の画像処理を実行する、
請求項1に記載の情報処理装置。
【請求項3】
さらに、前記第二の画像処理手段と前記第三の画像処理手段のうち、前記残りの第二の画像処理を早く完了した方から、前記残りの第二の画像処理で生成された第二の情報を取得し、取得した前記第二の情報を用いて第三の画像処理を実行する第四の画像処理手段を有する、
請求項2に記載の情報処理装置。
【請求項4】
さらに、前記現時点の処理期間において前記第二の画像処理が完了できないと推定された場合、前記現時点の処理期間より後の処理期間において取得した第一の画像と、当該処理期間より前の処理期間において取得した第二の画像との変化に基づいて、当該処理期間において前記残りの第二の画像処理を実行可能な余裕期間があるか否かを推定する第二の推定手段を有する、
請求項1に記載の情報処理装置。
【請求項5】
前記第二の画像処理手段は、前記余裕期間があると推定された場合、前記余裕期間において前記残りの第二の画像処理で用いる前記第一の情報を用いて、前記第二の画像処理を実行し、
前記分配手段は、前記余裕期間がないと推定された場合、前記残りの第二の画像処理で用いる前記第一の情報を、前記第三の画像処理手段に分配する、
請求項4に記載の情報処理装置。
【請求項6】
前記第三の画像処理手段は、分配された前記第一の情報を用いて前記第二の画像処理を実行する、
請求項5に記載の情報処理装置。
【請求項7】
さらに、前記第二の画像処理手段と前記第三の画像処理手段とで生成された第二の情報を取得し、取得した前記第二の情報を用いて第三の画像処理を実行する第五の画像処理手段を有する、
請求項6に記載の情報処理装置。
【請求項8】
前記第二の推定手段は、前記第一の画像の画素と、前記第二の画像の画素の差分に基づいて、前記余裕期間があるか否かを推定する、
請求項4に記載の情報処理装置。
【請求項9】
情報処理装置が、
あらかじめ設定された処理期間ごとに取得した画像に対して第一の画像処理を実行し、第一の情報を生成し、
前記処理期間に、前記第一の情報を用いて第二の画像処理を実行し、第二の情報を生成し、
前記第一の画像処理に要した時間と、前記第一の情報とに基づいて、現時点の処理期間内で前記第二の画像処理を完了できるか否かを推定し、
前記現時点の処理期間において前記第二の画像処理が完了できないと推定された場合、現時点の処理期間より後のあらかじめ設定された数の処理期間に、残りの第二の画像処理を実行させるために、前記残りの第二の画像処理で用いる前記第一の情報を、前記情報処理装置と、前記情報処理装置と別に設けられた前記第二の画像処理を実行する他の情報処理装置と、に分配する、
情報処理方法。
【請求項10】
コンピュータに、
あらかじめ設定された処理期間ごとに取得した画像に対して第一の画像処理を実行させ、第一の情報を生成させ、
前記処理期間に、前記第一の情報を用いて第二の画像処理を実行し、第二の情報を生成させ、
前記第一の画像処理に要した時間と、前記第一の情報とに基づいて、現時点の処理期間内で前記第二の画像処理を完了できるか否かを推定させ、
前記現時点の処理期間において前記第二の画像処理が完了できないと推定された場合、現時点の処理期間より後のあらかじめ設定された数の処理期間に、残りの第二の画像処理を実行させるために、前記残りの第二の画像処理で用いる前記第一の情報を、前記コンピュータと、前記コンピュータと別に設けられた前記第二の画像処理を実行する他のコンピュータと、に分配させる、
命令を含むプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
クラウド・コンピューティングでは、クラウド上のサーバコンピュータ(クラウドサーバ)が、コンピュータネットワークの周縁部分(エッジ)に配置されたエッジデバイスから集約したデータを用いて、情報処理を実行している。ところが、通信遅延、ネットワーク負荷などが増加した場合、情報処理に影響がでることがある。そこで、エッジ・コンピューティングが提案されている。
【0003】
エッジ・コンピューティングでは、エッジデバイス、エッジデバイスの周辺領域に配置されたサーバコンピュータ(エッジサーバ)を用いて、情報処理の一部を実行し、処理されたデータをクラウド上のサーバコンピュータに送信している。このように、エッジ・コンピューティングでは、クラウド・コンピューティングを補強することで、通信遅延、ネットワーク負荷などの影響を低減している。
【0004】
ところが、エッジデバイス、エッジサーバは、通常、クラウドサーバのように高性能ではないので、処理する情報量が増えた場合、エッジデバイス、エッジサーバに処理遅延が生じる場合がある。
【0005】
関連する技術として特許文献1には、データ処理を引き継ぐ処理ノードに転送されるデータの過不足を低減する情報処理装置が開示されている。特許文献1の情報処理装置は、バッファと、該バッファに保持されたデータを処理する処理部とを含む複数の処理ノードを管理する。また、情報処理装置は、データ処理中の処理ノードのリソース負荷が所定量に到達する到達予測時刻におけるバッファ内の処理済みデータと未処理データとの境界を予測し、予測に基づいて、未処理データを処理順が遅い側から境界に向けて、データ処理を引き継ぐ他の処理ノードに転送する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2022-74864号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1の情報処理装置は、エッジ・コンピューティングで用いるエッジデバイス、エッジサーバそれぞれが実行する処理(エッジ側の処理)を、エッジ側とクラウドサーバ(クラウド側)に分担するか否かの推定を、リソース負荷に基づいて決定しているので、処理遅延を低減することができない。
【0008】
本開示の目的の一例は、エッジ側の処理が所定期間に実行できないと推定された場合、処理できなかった残りの処理を、処理内容に基づいてクラウド側に分配することで、処理遅延を低減することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本開示の一側面における情報処理装置は、
あらかじめ設定された処理期間ごとに取得した画像に対して第一の画像処理を実行し、第一の情報を生成する第一の画像処理部と、
前記処理期間に、前記第一の情報を用いて第二の画像処理を実行し、第二の情報を生成する第二の画像処理部と、
前記第一の画像処理に要した時間と、前記第一の情報とに基づいて、現時点の処理期間内で前記第二の画像処理を完了できるか否かを推定する第一の推定部と、
前記現時点の処理期間において前記第二の画像処理が完了できないと推定された場合、現時点の処理期間より後のあらかじめ設定された数の処理期間に、残りの第二の画像処理を実行させるために、前記残りの第二の画像処理で用いる前記第一の情報を、前記第二の画像処理手段と、前記第二の画像処理手段と別に設けられた前記第二の画像処理を実行する第三の画像処理手段と、に分配する分配部と、
を有することを特徴とする。
【0010】
また、上記目的を達成するため、本開示の一側面における情報処理方法は、
情報処理装置が、
あらかじめ設定された処理期間ごとに取得した画像に対して第一の画像処理を実行し、第一の情報を生成し、
前記処理期間に、前記第一の情報を用いて第二の画像処理を実行し、第二の情報を生成し、
前記第一の画像処理に要した時間と、前記第一の情報とに基づいて、現時点の処理期間内で前記第二の画像処理を完了できるか否かを推定し、
前記現時点の処理期間において前記第二の画像処理が完了できないと推定された場合、現時点の処理期間より後のあらかじめ設定された数の処理期間に、残りの第二の画像処理を実行させるために、前記残りの第二の画像処理で用いる前記第一の情報を、前記情報処理装置と、前記情報処理装置と別に設けられた前記第二の画像処理を実行する他の情報処理装置と、に分配する、
ことを特徴とする。
【0011】
さらに、上記目的を達成するため、本開示の一側面におけるプログラムは、
コンピュータに、
あらかじめ設定された処理期間ごとに取得した画像に対して第一の画像処理を実行させ、第一の情報を生成させ、
前記処理期間に、前記第一の情報を用いて第二の画像処理を実行し、第二の情報を生成させ、
前記第一の画像処理に要した時間と、前記第一の情報とに基づいて、現時点の処理期間内で前記第二の画像処理を完了できるか否かを推定させ、
前記現時点の処理期間において前記第二の画像処理が完了できないと推定された場合、現時点の処理期間より後のあらかじめ設定された数の処理期間に、残りの第二の画像処理を実行させるために、前記残りの第二の画像処理で用いる前記第一の情報を、前記コンピュータと、前記コンピュータと別に設けられた前記第二の画像処理を実行する他のコンピュータと、に分配させる、
命令を実行させることを特徴とする。
【発明の効果】
【0012】
以上のように本開示によれば、エッジ側の処理が所定期間に実行できないと推定された場合に、処理できなかった残りの処理を、処理内容に基づいてクラウド側に分配することで、処理遅延を低減することができる。
【図面の簡単な説明】
【0013】
図1図1は、実施形態1のシステムの一例を説明するための図である。
図2図2は、実施形態1のシステムの動作の一例を説明するための図である。
図3図3は、実施形態1のシステムの動作の一例を説明するための図である。
図4図4は、実施形態1のエッジ側の情報処理装置の動作の一例を説明するための図である。
図5図5は、実施形態2のシステムの一例を説明するための図である。
図6図6は、実施形態2のシステムの動作の一例を説明するための図である。
図7図7は、実施形態2のエッジ側の情報処理装置の動作の一例を説明するための図である。
図8図8は、実施例1のシステムの一例を説明するための図である。
図9図9は、実施例2のシステムの一例を説明するための図である。
図10図10は、実施形態1、2、実施例1、2における情報処理装置を実現するコンピュータの一例を説明するための図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して実施形態について説明する。なお、以下で説明する図面において、同一の機能又は対応する機能を有する要素には同一の符号を付し、その繰り返しの説明は省略することもある。
【0015】
(実施形態1)
実施形態1において、エッジ・コンピューティングを実現するシステムに設けられた、エッジ側の情報処理装置は、複数の処理期間それぞれにおいて、所定の処理を実行する。
【0016】
エッジ側の情報処理装置は、現時点の処理期間において、所定の処理が完了できないと推定した場合、所定の処理のうち現時点の処理期間に実行できなった残りの処理を、現時点の処理期間より後の期間において、エッジ側の情報処理装置とクラウド側の情報処理装置で実行する。
【0017】
具体的には、エッジ側の情報処理装置では、現時点の処理期間より後の、一つ以上の処理期間に、残りの処理を実行する余裕期間があれば、余裕期間を利用して残りの処理を実行する。また、クラウド側の情報処理装置にも、早期に残りの処理を実行させる。
【0018】
その後、エッジ側の情報処理装置とクラウド側の情報処理装置のうち、残りの処理を早く完了した方から、残りの処理に対応する処理結果を取得する。
【0019】
すなわち、エッジ側の情報処理装置が、クラウド側の情報処理装置よりも早く残りの処理を完了した場合には、エッジ側の情報処理装置で実行した残りの処理の結果を取得する。対して、クラウド側の情報処理装置が、エッジ側の情報処理装置よりも早く残りの処理を完了した場合には、クラウド側の情報処理装置で実行した残りの処理の結果を取得する。
【0020】
このように、実施形態1では、残りの処理を早く完了した方から、残りの処理に対応する処理結果を取得できるので、従来よりも処理遅延を低減できる。
【0021】
例えば、エッジ側の情報処理装置において、現時点の処理期間より後の処理期間において、十分な余裕期間が確保できずに、残りの処理がなかなか完了できない場合がある。そのような場合でも、クラウド側の情報処理装置において残りの処理を実行する。そして、クラウド側の情報処理装置が早く残りの処理を完了すれば、クラウド側の情報処理装置で実行した残りの処理の結果を利用する。その結果、現時点の処理期間で実行するはずだった残りの処理を、早く完了できるので、処理全体の処理遅延を低減できる。
【0022】
[システム構成]
図1を用いて、実施形態1について具体的に説明する。図1は、実施形態1のシステムの一例を説明するための図である。
【0023】
システム100は、エッジ・コンピューティングを実現するシステムである。図1のシステム100は、エッジ側に設けられた情報処理装置10と、クラウド側に設けられた情報処理装置20と、ネットワーク30とを有する。また、情報処理装置10と情報処理装置20は、ネットワーク30を介して通信をする。
【0024】
情報処理装置10は、例えば、CPU(Central Processing Unit)、又はFPGA(Field-Programmable Gate Array)などのプログラマブルなデバイス、又はGPU(Graphics Processing Unit)、又はそれらのうちのいずれか一つ以上を搭載した回路、サーバコンピュータ、パーソナルコンピュータ、モバイル端末などである。
【0025】
情報処理装置20は、例えば、CPU、又はFPGAなどのプログラマブルなデバイス、又はGPU、又はそれらのうちのいずれか一つ以上を搭載した回路、一つ以上のサーバコンピュータなどである。
【0026】
ネットワーク30は、例えば、インターネット、LAN(Local Area Network)、専用回線、電話回線、企業内ネットワーク、移動体通信網、ブルートゥース(登録商標)、WiFi(Wireless Fidelity)などの通信回線を用いて構築された一般的な通信ネットワークである。
【0027】
●エッジ側の情報処理装置10について説明する。
情報処理装置10は、図1に示すように、第一の画像処理部11と、第二の画像処理部12と、第一の推定部13と、分配部14と、第四の画像処理部15とを有する。
【0028】
第一の画像処理部11は、あらかじめ設定された処理期間T1ごとに、時系列に、画像を取得し、取得した画像に対して第一の画像処理を実行し、第一の情報を生成する。画像は、例えば、撮像装置、記憶装置などから、時系列に取得する。
【0029】
第一の情報は、後述する第二の画像処理で用いる情報である。また、第一の情報は、第二の画像処理で用いる複数の入力データを有する。
【0030】
第二の画像処理部12は、処理期間T1において、第一の情報を用いて第二の画像処理を実行し、第二の情報を生成する。第二の情報は、後述する第三の画像処理で用いる情報である。
【0031】
第一の推定部13は、第一の画像処理に要した時間(期間Ti1)と、当該第一の画像処理において生成された第一の情報とに基づいて、現時点の処理期間T1_0に第二の画像処理が完了できるか否かを推定する。
【0032】
具体的には、第一の推定部13は、現時点の処理期間T1_0において第二の画像処理に使用できる時間(期間Ti2)を推定し、推定した期間Ti2内に、第一の情報を用いて第二の画像処理が完了できるかを推定する。
【0033】
期間Ti2中に第二の画像処理が完了できるか推定する方法としては、例えば、事前に、情報処理装置10における第二の画像処理の一つの入力データに対する処理時間(平均又は最悪)t2を計測しておき、第一の情報に含まれるデータ数nを用いて、Ti2とTi2×nの大小関係を比較することなどが考えられる。
【0034】
このように、実行時に簡単に把握可能な処理時間の変動要因(先の例での入力データ数)と、その変動要因の1単位あたりに対する処理時間(先の例での、一つの入力データに対する処理時間)の事前に把握可能な値(平均値又は最悪値)を用いることで第二の画像処理に必要な処理時間を推定することができ、その推定した処理時間と期間Ti2を比較することで第二の画像処理が完了できるか推定することができる。
【0035】
分配部14は、現時点の処理期間T1_0において第二の画像処理が完了できないと推定された場合、現時点の処理期間T1_0より後のあらかじめ設定された数の処理期間(期間T3)に、残りの第二の画像処理を実行させるために、残りの第二の画像処理で用いる第一の情報を、第二の画像処理部12と、第二の画像処理部12と別に設けられた第二の画像処理を実行する第三の画像処理部21と、に分配する。
【0036】
具体的には、実施形態1では、分配部14は、現時点の処理期間T1_0より後のあらかじめ設定された数の処理期間(期間T3)に、残りの第二の画像処理を実行するため、残りの第二の画像処理で用いる全ての第一の情報を、第二の画像処理部12と、第三の画像処理部21に分配する。
【0037】
なお、現時点の処理期間T1_0において第二の画像処理で処理したかった第一の情報が100個の入力データを有していた場合、現時点の処理期間T1_0において実際に第二の画像処理で利用された第一の情報が60個の入力データであれば、残りの第二の画像処理で用いる第一の情報は40個の入力データとなる。
【0038】
残りの第二の画像処理で用いる第一の情報が分配されると、第二の画像処理部12は、現時点の処理期間T1_0より後のあらかじめ設定された数の処理期間(期間T3)に、残りの第二の画像処理を実行可能な余裕期間において、残りの第二の画像処理で用いる全ての第一の情報を用いて第二の画像処理を実行する。また、第三の画像処理部21でも、残りの第二の画像処理で用いる全ての第一の情報を用いて、第二の画像処理を実行する。
【0039】
第四の画像処理部15は、第二の画像処理部12と第三の画像処理部21のうち、残りの第二の画像処理を早く完了した方から、残りの第二の画像処理で生成された第二の情報を取得する。また、第四の画像処理部15は、現時点の処理期間T1_0で生成した第二の情報と、現時点の処理期間T1_0より後のあらかじめ設定された数の処理期間(期間T3)で生成された第二の情報と、を用いて第三の画像処理を実行する。
【0040】
●クラウド側の情報処理装置20について説明する。
情報処理装置20は、図1に示すように、上述した第三の画像処理部21を有する。なお、図1の例では、第四の画像処理部15がエッジ側の情報処理装置10に設けられているが、クラウド側の情報処理装置が20に設けてもよい。
【0041】
第三の画像処理部21は、まず、分配部14から送信された残りの第二の画像処理で用いる全ての第一の情報を、ネットワーク30を介して受信する。次に、第三の画像処理部21は、取得した残りの第二の画像処理で用いる全ての第一の情報を用いて、第二の画像処理を実行し、第二の情報を生成する。次に、第三の画像処理部21は、生成した第二の情報を、ネットワーク30を介して、第四の画像処理部15へ送信する。
【0042】
[システム動作]
図2図3は、実施形態1のシステムの動作の一例を説明するための図である。図2のAの期間T2は、5個の処理期間T1_0、T1_1、T1_2、T1_3、T1_4を有する。ただし、処理期間の数は5個に限定されるものではない。
【0043】
また、図2のAには、処理期間T1_0、T1_1、T1_2、T1_3、T1_4内に、第一の画像処理と第二の画像処理を完了し、処理期間T1_4において第三の画像処理を完了した例を示している。すなわち、図2のAのような場合には、エッジ側の情報処理装置10だけで、期間T2内に、第一の画像処理、第二の画像処理、第三の画像処理を、完了できる。
【0044】
ところが、図2のBのように、処理期間T1_0において、第二の画像処理が処理期間T1_0内に完了せずに、第二の画像処理が溢れることがある。そこで、図3のAに示す期間Tsにおいて、第一の推定部13が、第一の画像処理に要した時間Ti1と、第一の情報とに基づいて、現時点の処理期間T1_0内で第二の画像処理が完了できるか否かを推定する。
【0045】
次に、第一の推定部13により、現時点の処理期間T1_0において第二の画像処理が完了できないと推定された場合、分配部14は、現時点の処理期間T1_0より後の期間T3に、残りの第二の画像処理を実行するために、残りの第二の画像処理で用いる第一の情報を、第二の画像処理部12と第三の画像処理部21とに分配する。
【0046】
具体的には、分配部14は、クラウド側の情報処理装置20の第三の画像処理部21に、残りの第二の画像処理で用いる全ての第一の情報を、ネットワーク30を介して送信する。次に、図3のBに示すように、期間Toにおいて、第三の画像処理部21は、全ての第一の情報を用いて残りの第二の画像処理を実行する。
【0047】
また、図3のCに示すように、第二の画像処理部12は、処理期間T1_1、T1_2、T1_3の余裕期間To1、To2、To3それぞれにおいて、余裕期間To1、To2、To3で実行可能な、残りの第二の画像処理で用いる第一の情報を用いて、第二の画像処理(溢れ処理)を実行する。
【0048】
次に、第四の画像処理部15は、第二の画像処理部12と第三の画像処理部21のうち、残りの第二の画像処理を早く完了した方から、残りの第二の画像処理で生成された第二の情報を取得する。図3のCの場合、クラウド側の第三の画像処理部21の方が、残りの第二の画像処理を早く完了しているので、第四の画像処理部15は、第三の画像処理部21から第二の情報を取得する。
【0049】
次に、第四の画像処理部15は、処理期間T1_0、T1_1、T1_2、T1_3、T1_4それぞれにおいて生成された全ての第二の情報を用いて、第三の画像処理を実行する。
【0050】
[装置動作]
実施形態1におけるエッジ側の情報処理装置10の動作について図4を用いて説明する。図4は、実施形態1のエッジ側の情報処理装置の動作の一例を説明するための図である。以下の説明においては、適宜図を参照する。また、実施形態1では、情報処理装置10を動作させることによって、情報処理方法が実施される。よって、実施形態1における情報処理方法の説明は、以下の情報処理装置の動作説明に代える。
【0051】
図4に示すように、第一の画像処理部11は、処理期間T1ごとに、時系列に、画像を取得する(ステップA1)。次に、第一の画像処理部11は、第一の画像処理を実行して第一の情報を生成し、生成した第一の情報をメモリに記憶する(ステップA2)。なお、ステップA2において、第一の画像処理に要した時間(期間Ti1)も計測する。
【0052】
次に、第一の推定部13は、第一の画像処理に要した時間(期間Ti1)と、当該第一の画像処理において生成された第一の情報とに基づいて、現時点の処理期間T1_0に第二の画像処理が完了できるか否かを推定する(ステップA3)。
【0053】
具体的には、ステップA3において、第一の推定部13は、現時点の処理期間T1_0において第二の画像処理に使用できる時間(期間Ti2)を推定し、推定した期間Ti2内に、第一の情報を用いて第二の画像処理が完了できるかを推定する。
【0054】
次に、分配部14は、現時点の処理期間T1_0において第二の画像処理が完了できないと推定された場合(ステップA4:No)、現時点の処理期間T1_0より後のあらかじめ設定された数の処理期間(期間T3)に、残りの第二の画像処理を実行させるために、残りの第二の画像処理で用いる第一の情報を、第二の画像処理部12と、第二の画像処理部12と別に設けられた第二の画像処理を実行する第三の画像処理部21と、に分配する(ステップA5)。
【0055】
具体的には、ステップA5において、分配部14は、現時点の処理期間T1_0より後のあらかじめ設定された数の処理期間(期間T3)に、残りの第二の画像処理で用いる全ての第一の情報を、第二の画像処理部12と、第三の画像処理部21に分配する。なお、第三の画像処理部21は、残りの第二の画像処理で用いる全ての第一の情報を用いて、第二の画像処理を実行して、第二の情報を生成する。
【0056】
分配部14は、現時点の処理期間T1_0において第二の画像処理が完了できると推定された場合(ステップA4:Yes)、ステップA6の処理に移行する。
【0057】
次に、第二の画像処理部12は、現時点の処理期間T1_0において、残りの第二の画像処理で用いない第一の情報を用いて第二の画像処理を実行して第二の情報を生成し、生成した第二の情報をメモリに記憶する(ステップA6)。
【0058】
次に、第四の画像処理部15は、第三の画像処理部21から、残りの第二の画像処理に対応する第二の情報を取得している場合(ステップA7:Yes)、すなわち第二の画像処理部12より第三の画像処理部21の方が早く残りの第二の画像処理に対応する第二の情報を生成した場合、残りの第二の画像処理に対応する第二の情報をメモリに記憶する(ステップA12)。
【0059】
なお、ステップA7における第二の情報は、直前のステップA5において分配した結果だけでなく、以前のループ(T1_1に対するT1_0など)におけるステップA5で分配したものの結果としての第二の情報も含む。
【0060】
また、第三の画像処理部21から、残りの第二の画像処理に対応する第二の情報を取得していない場合(ステップA7:No)、ステップA8の処理に移行する。
【0061】
次に、第二の画像処理部12は、残りの第二の画像処理があり(ステップA8:Yes)、かつ余裕期間がある場合(ステップA9:Yes)、余裕期間において、残りの第二の画像処理で用いる第一の情報を用いて、第二の画像処理を実行する(ステップA10)。
【0062】
また、残りの第二の画像処理がない場合(ステップA8:No)で、かつ余裕期間がない場合(ステップA9:No)、ステップA1の処理に移行する。
【0063】
次に、第二の画像処理部12が、残りの第二の画像処理を全て完了した場合(ステップA11:Yes)、残りの第二の画像処理に対応する第二の情報をメモリに記憶する(ステップA12)。また、残りの第二の画像処理を全て完了していない場合(ステップA11:No)、ステップA1の処理に移行する。
【0064】
次に、期間T3の処理期間それぞれにおいて、全ての第二の画像処理を完了又は分配済みで(ステップA13:Yes)、未完了の第二の画像処理がある場合(ステップA14:Yes)、第三の画像処理の完了を待ち、第二の情報を取得する(ステップA15)。その後、第四の画像処理部15は、期間T3の処理期間それぞれにおいて生成された全ての第二の情報を用いて、第三の画像処理を実行する(ステップA16)。
【0065】
また、期間T3の処理期間それぞれにおいて、全ての第二の画像処理を完了又は分配済みで(ステップA13:Yes)、未完了の第二の画像処理がない場合(ステップA14:No)、第四の画像処理部15は、期間T3の処理期間それぞれにおいて生成された全ての第二の情報を用いて、第三の画像処理を実行する(ステップA16)。
【0066】
なお、第四の画像処理部15は、期間T3の処理期間それぞれにおいて、全ての第二の画像処理を完了又は分配済みでない場合(ステップA13:No)、ステップA1の処理に移行する。
【0067】
なお、実施形態1では、上述したステップA1からA16の処理を繰り返し実行する。
【0068】
[実施形態1の効果]
以上のように実施形態1によれば、第二の画像処理部12と第三の画像処理部21のうち、残りの第二の画像処理を早く完了した方から、残りの第二の画像処理で生成された第二の情報を取得するので、処理全体の処理遅延を低減できる。
【0069】
[プログラム]
実施形態1におけるプログラムは、コンピュータに、図4に示すステップA1からA16を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、実施形態1におけるエッジ側の情報処理装置と情報処理方法とを実現することができる。この場合、コンピュータのプロセッサは、第一の画像処理部11、第二の画像処理部12、第一の推定部13、分配部14、第四の画像処理部15として機能し、処理を行なう。
【0070】
また、実施形態1におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、第一の画像処理部11、第二の画像処理部12、第一の推定部13、分配部14、第四の画像処理部15のいずれかとして機能してもよい。
【0071】
(実施形態2)
実施形態2において、エッジ・コンピューティングを実現するシステムに設けられた、エッジ側の情報処理装置は、複数の処理期間それぞれにおいて、所定の処理を実行する。
【0072】
エッジ側の情報処理装置は、現時点の処理期間において、所定の処理が完了できないと推定した場合、所定の処理のうち現時点の処理期間に実行できなった残りの処理を、現時点の処理期間より後の期間において、エッジ側の情報処理装置とクラウド側の情報処理装置で実行する。
【0073】
具体的には、エッジ側の情報処理装置は、現時点の処理期間より後の一つ以上の処理期間それぞれにおいて、残りの処理を実行する余裕期間があるか否かを推定する。
【0074】
次に、エッジ側の情報処理装置は、余裕期間があると推定された場合、余裕期間を利用して残りの処理を実行する。対して、余裕期間がないと推定された場合、早期にクラウド側での情報処理装置で残りの処理を実行させる。
【0075】
このように、実施形態2では、エッジ側の情報処理装置とクラウド側の情報処理装置とで処理を分担して、両方から残りの処理に対応する処理結果を取得し、処理期間内で実行するはずだった残りの処理を、早く完了できるので、従来よりも処理遅延を低減できる。
【0076】
[システム構成]
図5を用いて、実施形態2について具体的に説明する。図5は、実施形態2のシステムの一例を説明するための図である。
【0077】
システム500は、エッジ・コンピューティングを実現するシステムである。図5のシステム500は、エッジ側に設けられた情報処理装置10aと、クラウド側に設けられた情報処理装置20aと、ネットワーク30とを有する。また、情報処理装置10aと情報処理装置20aは、ネットワーク30を介して通信をする。
【0078】
なお、情報処理装置10a、情報処理装置20a、ネットワーク30のハードウェアの説明は、図1の情報処理装置10、情報処理装置20、ネットワーク30と同じであるため説明を省略する。
【0079】
●エッジ側の情報処理装置10aについて説明する。
情報処理装置10aは、図5に示すように、第一の画像処理部11と、第二の画像処理部12と、第一の推定部13と、第二の推定部51と、分配部52と、第五の画像処理部53とを有する。
【0080】
なお、第一の画像処理部11、第二の画像処理部12、第一の推定部13の説明は、既に実施形態1で説明したので省略する。
【0081】
第二の推定部51は、現時点の処理期間T0_1において第二の画像処理が完了できないと推定された場合、現時点の処理期間T1_0より後の処理期間において取得した第一の画像と、当該処理期間より前の処理期間において取得した第二の画像との変化に基づいて、当該処理期間において残りの第二の画像処理を実行可能な余裕期間があるか否かを推定する。
【0082】
第一の画像と第二の画像の変化は、第一の画像の画素と第二の画像の画素の差分である。画素の差分Subの計算については、例えば、数1に示すように、画像の幅Wと高さHとし、第一の画像の画素位置(x,y)の値をp1、第二の画像の画素位置(x,y)の値を p2として、以下の式で得ることができる。なお、p1、p2はそれぞれ、RGB三色の各チャネルそれぞれを8bitで表した24bit値(を包含する32bit値)、又はそれを正規化した浮動小数点16bit値、32bit値などで表現されうる。
【0083】
【数1】
【0084】
余裕期間があるか否かの推定は、画素の差分Subが、あらかじめ設定した差分閾値Tha以下である場合(Sub≦Tha)、余裕期間があると推定する。すなわち、画素の差分が大きいほど画像間の変化が大きいので、第二の画像処理もそれに伴い増加し、相対的に余裕期間は短くなることが期待できる。また、差分が小さいほど画像間の変化が小さいので、第二の画像処理にかかる時間が短くなり、相対的に余裕期間は長くなることが期待できる。
【0085】
なお、差分閾値Thaは、実験、シミュレーションなどによって事前に決定することが考えられる。
【0086】
分配部52は、余裕期間がないと推定された場合、残りの第二の画像処理で用いる第一の情報を、第三の画像処理部21に分配する。そして、第三の画像処理部21は、分配された第一の情報を用いて第二の画像処理を実行する。
【0087】
対して、余裕期間があると推定された場合、第二の画像処理部12は、余裕期間において残りの第二の画像処理で用いる第一の情報を用いて、第二の画像処理を実行する。
【0088】
第五の画像処理部53は、第二の画像処理部12と第三の画像処理部21とで生成された第二の情報を取得し、取得した第二の情報を用いて第三の画像処理を実行する。
【0089】
●クラウド側の情報処理装置20aについて説明する。
情報処理装置20aは、図5に示すように、上述した第三の画像処理部21を有する。なお、図5の例では、第五の画像処理部53がエッジ側の情報処理装置10aに設けられているが、クラウド側の情報処理装置が20aに設けてもよい。なお、第三の画像処理部21の説明は、既に実施形態1で説明したので省略する。
【0090】
[システム動作]
図6は、実施形態2のシステムの動作の一例を説明するための図である。なお、図6のCの期間T2は、5個の処理期間T1_0、T1_1、T1_2、T1_3、T1_4を有する。ただし、処理期間の数は5個に限定されるものではない。
【0091】
また、図6のCには、処理期間T1_0、T1_1、T1_2、T1_3、T1_4内に、第一の画像処理と第二の画像処理を完了し、処理期間T1_4において第三の画像処理を完了した例を示している。
【0092】
図6のAのように、処理期間T1_0において、第二の画像処理が処理期間T1_0内に完了せずに、第二の画像処理が溢れることがある。そのような場合、図6のCに示す期間Tsにおいて、第一の推定部13が、第一の画像処理に要した時間Ti1と、第一の情報とに基づいて、現時点の処理期間T1_0内で第二の画像処理が完了できるか否かを推定する。
【0093】
次に、現時点の処理期間T1_0において第二の画像処理が完了できないと推定された場合、第二の推定部51は、現時点の処理期間T1_0より後の処理期間T1_1において余裕期間があるか否かを推定する。
【0094】
具体的には、第二の推定部51は、現時点の処理期間T1_0より後の処理期間T1_1において取得した第一の画像と、当該処理期間T1_1より前の処理期間T1_0において取得した第二の画像との変化に基づいて、当該処理期間T1_1において残りの第二の画像処理を実行可能な余裕期間があるか否かを推定する。
【0095】
図6のCでは、処理期間T1_1において余裕期間があると推定されたので、余裕期間To1において、残りの第二の画像処理で用いる第一の情報を用いて、第二の画像処理(溢れ処理)を実行している。
【0096】
次に、図6のCでは、現時点の処理期間T1_2においては、余裕期間がないと推定されたので、分配部14は、処理期間T1_0、T1_1、T1_2で出力された第一の情報のうち、第二の画像処理に未入力である第一の情報を、第三の画像処理部21に分配する。
【0097】
その後、図6のBに示すように、期間Toaにおいて、第三の画像処理部21は、余裕期間To1で用いられなかった第一の情報を用いて、第二の画像処理を実行する。
【0098】
次に、第五の画像処理部53は、第二の画像処理部12と第三の画像処理部21の両方で生成された第二の情報を取得する。図6のCの場合、第五の画像処理部53は、第二の画像処理部12と第三の画像処理部21で生成された第二の情報を用いて、第三の画像処理を実行する。
[装置動作]
実施形態2におけるエッジ側の情報処理装置10aの動作について図7を用いて説明する。図7は、実施形態2のエッジ側の情報処理装置の動作の一例を説明するための図である。以下の説明においては、適宜図を参照する。また、実施形態2では、情報処理装置10aを動作させることによって、情報処理方法が実施される。よって、実施形態2における情報処理方法の説明は、以下の情報処理装置の動作説明に代える。
【0099】
図7に示すように、第一の画像処理部11は、処理期間T1ごとに、時系列に、画像を取得する(ステップB1)。次に、第一の画像処理部11は、第一の画像処理を実行して第一の情報を生成し、生成した第一の情報をメモリに記憶する(ステップB2)。なお、ステップB2において、第一の画像処理に要した時間(期間Ti1)も計測する。
【0100】
次に、第一の推定部13は、第一の画像処理に要した時間(期間Ti1)と、当該第一の画像処理において生成された第一の情報とに基づいて、処理期間に第二の画像処理が完了できるか否かを推定する(ステップB3)。
【0101】
具体的には、ステップB3において、第一の推定部13は、処理期間T1において第二の画像処理に使用できる時間(期間Ti2)を推定し、推定した期間Ti2内に、第一の情報を用いて第二の画像処理が完了できるかを推定する。
【0102】
次に、処理期間T1において第二の画像処理が完了できると推定された場合(ステップB4:Yes)、第二の推定部51は、当該処理期間において残りの第二の画像処理を実行可能な余裕期間があるか否かを推定する(ステップB5)。
【0103】
具体的には、図6のCのような場合、ステップB5において、処理期間T1_1において取得した第一の画像と、処理期間T1_1より前の処理期間T1_0において取得した第二の画像との変化に基づいて、処理期間T1_1に余裕期間To1があるか否かを推定する。
【0104】
分配部14は、現時点の処理期間T1_0において第二の画像処理が完了できないと推定された場合(ステップB4:No)、ステップB7の処理に移行する。
【0105】
次に、当該処理期間において残りの第二の画像処理を実行可能な余裕期間があると推定された場合(ステップB6:Yes)、ステップB8の処理に移行する。
【0106】
また、当該処理期間において残りの第二の画像処理を実行可能な余裕期間がないと推定された場合(ステップB6:No)、分配部52は、残りの第二の画像処理で用いる第一の情報を、第三の画像処理部21に分配する(ステップB7)。そして、第三の画像処理部21は、分配された第一の情報を用いて第二の画像処理を実行する。
【0107】
次に、第二の画像処理部12は、処理期間T1において、残りの第二の画像処理で用いない第一の情報を用いて第二の画像処理を実行して第二の情報を生成し、生成した第二の情報をメモリに記憶する(ステップB8)。
【0108】
次に、第二の画像処理部12は、余裕期間があり(ステップB6:Yes)、かつ残りの第二の画像処理がある場合(ステップB9:Yes)、余裕期間において、残りの第二の画像処理で用いる第一の情報を用いて、第二の画像処理を実行する(ステップB10)。
【0109】
次に、第二の画像処理部12が、余裕期間における残りの第二の画像処理を完了した場合(ステップB11:Yes)、余裕期間における残りの第二の画像処理に対応する第二の情報をメモリに記憶する(ステップB12)。また、余裕期間における残りの第一、第二の画像処理を完了していない場合(ステップB11:No)、ステップB1の処理に移行する。
【0110】
次に、第五の画像処理部53は、第三の画像処理部21から、第二の情報(分配した第一の情報に対して第二の画像処理を実行した結果)を取得している場合(ステップB13:Yes)、取得した第二の情報をメモリに記憶する(ステップB14)。
【0111】
また、第五の画像処理部53が、第三の画像処理部21から、第二の情報を取得していない場合(ステップB13:No)、ステップB15の処理に移行する。
【0112】
次に、期間T3の処理期間T1それぞれにおいて、全ての第二の画像処理を完了又は分配済みで(ステップB15:Yes)、未完了の第二の画像処理がある場合(ステップB16:Yes)、第三の画像処理の完了を待ち、第二の情報を取得する(ステップB17)。その後、第五の画像処理部53は、期間T3の処理期間それぞれにおいて生成された全ての第二の情報を用いて、第三の画像処理を実行する(ステップB18)。
【0113】
また、期間T3の処理期間それぞれにおいて、全ての第二の画像処理を完了又は分配済みで(ステップB15:Yes)、未完了の第二の画像処理がない場合(ステップB16:No)、第五の画像処理部53は、期間T3の処理期間それぞれにおいて生成された全ての第二の情報を用いて、第三の画像処理を実行する(ステップB18)。
【0114】
なお、第五の画像処理部53は、期間T3の処理期間T1それぞれにおいて、全ての第二の画像処理を完了又は分配済みでない場合(ステップB15:No)、ステップB1の処理に移行する。
【0115】
なお、実施形態2では、上述したステップB1からB18の処理を繰り返し実行する。
[実施形態2の効果]
以上のように実施形態2によれば、第二の画像処理部12と第三の画像処理部21とで処理を分担して、両方から残りの第二の画像処理で生成された第二の情報を取得し、処理期間内で実行するはずだった残りの第二の画像処理を、早く完了できるので、従来よりも処理遅延を低減できる。
【0116】
[プログラム]
実施形態2におけるプログラムは、コンピュータに、図7に示すステップB1からB18を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、実施形態1におけるエッジ側の情報処理装置と情報処理方法とを実現することができる。この場合、コンピュータのプロセッサは、第一の画像処理部11、第二の画像処理部12、第一の推定部13、第二の推定部51、分配部52、第五の画像処理部53として機能し、処理を行なう。
【0117】
また、実施形態2におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、第一の画像処理部11、第二の画像処理部12、第一の推定部13、第二の推定部51、分配部52、第五の画像処理部53のいずれかとして機能してもよい。
【0118】
(実施例1)
図8を用いて、実施例1について具体的に説明する。図8は、実施例1のシステムの一例を説明するための図である。
【0119】
システム800は、エッジ・コンピューティングを実現するシステムである。図8のシステム800は、エッジ側に設けられた情報処理装置10bと、クラウド側に設けられた情報処理装置20bと、ネットワーク30とを有する。また、情報処理装置10bと情報処理装置20bは、ネットワーク30を介して通信をする。
【0120】
なお、情報処理装置10b、情報処理装置20b、ネットワーク30のハードウェアの説明は、図1の情報処理装置10、情報処理装置20、ネットワーク30と同じであるため説明を省略する。
【0121】
●エッジ側の情報処理装置10bについて説明する。
情報処理装置10bは、図8に示すように、第一の画像処理部11と、第二の画像処理部12と、第一の推定部13と、分配部14と、第四の画像処理部15とを有する。
【0122】
第一の画像処理部11は、検知部81と、生成部82とを有する。第二の画像処理部12は、特徴抽出部83を有する。第四の画像処理部15は、行動認識部84を有する。
【0123】
検知部81は、画像に撮像された一つ以上の物体に対応する物体画像を検知する画像処理を実行する。検知部81は、例えば、画像から、検知された物体画像を識別する物体識別情報と、画像上の物体画像の位置を表す物体位置情報とを検知する。物体のカテゴリ(クラス)と、物体を含む位置を含む矩形(バウンディングボックス)とを推定する。
【0124】
物体識別情報は、例えば、物体のカテゴリ(クラス)などを表す情報(トラッキングID)である。物体位置情報は、物体を含む位置を含む矩形(バウンディングボックス)を表す情報である。
【0125】
生成部82は、処理期間ごとに、画像を識別する画像識別情報と、物体識別情報と、物体位置情報とを関連付け、第一の情報を生成する。第一の情報は、画像ごとに生成される。
【0126】
特徴抽出部83は、物体画像それぞれの特徴を抽出する特徴抽出処理を実行し、第二の情報を生成する。第二の情報は、例えば、多次元ベクトル空間上の値、すなわち多次元ベクトル量などである。
【0127】
行動認識部84は、第二の画像処理部12又は第三の画像処理部21の早い方から、第二の情報を取得し、第二の情報を用いて行動認識処理を実行し、第三の情報を生成する。行動認識処理は、例えば、物体の行動を認識するための処理である。具体的には、物体が人である場合、歩いている、踊っているなどの行動を認識する。
【0128】
●クラウド側の情報処理装置20bについて説明する。
情報処理装置20bは、図8に示すように、上述した第三の画像処理部21を有する。第三の画像処理部21は、上述した特徴抽出部83を有する。
【0129】
なお、図8の例では、第四の画像処理部15がエッジ側の情報処理装置10bに設けられているが、クラウド側の情報処理装置が20bに設けてもよい。
【0130】
(実施例2)
図9を用いて、実施例2について具体的に説明する。図9は、実施例2のシステムの一例を説明するための図である。
【0131】
システム900は、エッジ・コンピューティングを実現するシステムである。図9のシステム900は、エッジ側に設けられた情報処理装置10cと、クラウド側に設けられた情報処理装置20cと、ネットワーク30とを有する。また、情報処理装置10cと情報処理装置20cは、ネットワーク30を介して通信をする。
【0132】
なお、情報処理装置10c、情報処理装置20c、ネットワーク30のハードウェアの説明は、図1の情報処理装置10、情報処理装置20、ネットワーク30と同じであるため説明を省略する。
【0133】
●エッジ側の情報処理装置10cについて説明する。
情報処理装置10cは、図9に示すように、第一の画像処理部11と、第二の画像処理部12と、第一の推定部13と、分配部52と、第五の画像処理部53とを有する。
【0134】
第一の画像処理部11は、検知部81と、生成部82とを有する。第二の画像処理部12は、特徴抽出部83を有する。第五の画像処理部53は、行動認識部84を有する。なお、検知部81、生成部82、特徴抽出部83、行動認識部84の説明は、実施例1で説明したので説明を省略する。
【0135】
第二の推定部について説明する。
実施例2における第二の推定部51では、例えば、現時点の処理期間T0_1において第二の画像処理が完了できないと推定された場合、次の処理期間において、第一の画像の物体画像の数と、第二の画像の物体画像の数との差分に基づいて、余裕期間があるか否かを推定してもよい。
【0136】
具体的には、第一の画像の物体画像の数と、第二の画像の物体画像の数との差分Sub2が、あらかじめ設定された閾値Thb以下である場合(Sub2≦Thb)、余裕期間があると推定する。なお、差分閾値Thbは、実験、シミュレーションなどによって決定することが考えられる。
【0137】
また、実施例2における第二の推定部51では、例えば、現時点の処理期間T0_1において第二の画像処理が完了できないと推定された場合、次の処理期間において、第一の画像の物体画像が、第二の画像において移動したフレーム間移動量に基づいて、余裕期間があるか否かを推定してもよい。
【0138】
具体的には、まず、一つ以上の対象の物体画像ごとに、第一の画像の対象の物体画像が、第二の画像において移動したフレーム間移動量Movを算出し、算出したフレーム間移動量Movを合計する。次に、合計したフレーム間移動量MovTolがあらかじめ設定された閾値Thc以下である場合(MovTol≦Thb)、余裕期間があると推定する。なお、差分閾値Thcは、実験、シミュレーションなどによって決定することが考えられる。
【0139】
フレーム間移動量Movは、例えば、同一の物体識別情報を持つ物体画像のバウンディングボックスの中心位置(中心点)が、第一の画像と第二の画像の間で移動した距離の総和又は平均値を表す。
【0140】
上述したように、対象の物体に対応する物体画像(オブジェクト)の数に変化が小さく、各オブジェクトにも動き(カメラ内位置移動量)が小さい場合、次の処理期間の画像と現時点の処理期間の画像の変化が小さい可能性は高いので、例えば、第二の画像処理を実施せず過去の結果を代替として使用することができ、次の処理期間の第二の画像処理(特徴抽出処理)時間が小さくなると推定できる。したがって、現時点の処理期間で溢れた第二の画像処理(特徴抽出処理)を実行する余裕期間があると判断できる。
【0141】
逆に、オブジェクト数の変化が大きく、各オブジェクトにも動きが激しい場合、次の処理期間の画像と現時点の処理期間の画像の変化が大きい可能性は高いので、次の処理期間の第二の画像処理(特徴抽出処理)時間が大きくなる、もしくは低減できない、と推定できる。したがって、現時点の処理期間で溢れた第二の画像処理(特徴抽出処理)を実行する余裕期間がないと判断できる。
【0142】
●クラウド側の情報処理装置20cについて説明する。
情報処理装置20cは、図9に示すように、上述した第三の画像処理部21を有する。第三の画像処理部21は、上述した特徴抽出部83を有する。
【0143】
なお、図9の例では、第五の画像処理部53がエッジ側の情報処理装置10cに設けられているが、クラウド側の情報処理装置が20cに設けてもよい。
【0144】
[物理構成]
ここで、実施形態1、2、実施例1、2におけるプログラムを実行することによって、情報処理装置を実現するコンピュータについて図10を用いて説明する。図10は、実施形態1、2、実施例1、2における情報処理装置を実現するコンピュータの一例を説明するための図である。
【0145】
図10に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU、又はFPGAを備えていてもよい。
【0146】
CPU111は、記憶装置113に格納された、実施形態1、2、実施例1、2におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置である。また、実施形態1、2、実施例1、2におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、実施形態1、2、実施例1、2におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであってもよい。なお、記録媒体120は、不揮発性記録媒体である。
【0147】
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリなどの半導体記憶装置があげられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
【0148】
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0149】
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)などの汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)などの磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体があげられる。
【0150】
なお、実施形態1、2、実施例1、2における情報処理装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。さらに、情報処理装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【0151】
以上、実施形態1、2、実施例1、2を参照して発明を説明したが、発明は上述した実施形態に限定されるものではない。発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【0152】
上述した記載によれば、エッジ側の処理が所定期間に実行できないと推定された場合に、処理できなかった残りの処理を、処理内容に基づいてクラウド側に分配することで、処理遅延を低減することができる。また、エッジ・コンピューティングの分野において有用である。
【符号の説明】
【0153】
10、10a、10b、10c 情報処理装置
11 第一の画像処理部
12 第二の画像処理部
13 第一の推定部
14 分配部
15 第四の画像処理部
20、20a、20b、20c 情報処理装置
21 第三の画像処理部
30 ネットワーク
51 第二の推定部
52 分配部
53 第五の画像処理部
81 検知部
82 生成部
83 特徴抽出部
84 行動認識部
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10