以下、添付図面を参照しながら、本技術を実施するための形態(以下、実施の形態という)について説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。説明は以下の順序で行う。
1.データ処理システムの構成例
2.データ処理フロー
3.エッジアプリケーションアーキテクチャによる構成
4.データ処理フロー
5.リソースマネージャによるリソース管理
6.トラッキング処理モジュールの追加構成例
7.まとめ
8.その他のユースケース例
9.コンピュータ構成例
<1.データ処理システムの構成例>
図1は、本技術の一実施の形態であるデータ処理システムの構成例を示すブロック図である。
図1のデータ処理システム1は、クライアントデバイス11と、ネットワーク12内に配置されたリソースマネージャ21、オブジェクト認識アプリケーション22、および、クラウドセンサアプリケーション23とで構成される。
データ処理システム1は、クライアントデバイス11が撮像した画像のデータ(イメージデータ)をネットワーク12へ転送し、画像内のオブジェクトを認識するオブジェクト認識処理を、ネットワーク12内で実行するシステムである。
ネットワーク12には、複数のデータ処理装置と、それらを相互に接続可能とした所定の通信網とが含まれる。所定の通信網には、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、所謂4G回線や5G回線等の移動体通信網、IOWN Global Forum, Inc.が提唱するオールフォトニクスネットワークなどが挙げられる。データ処理装置は、例えば、センサデバイス、ルータ、モデム、ハブ、ブリッジ、スイッチングハブ、基地局制御装置、交換機、サーバ装置などで構成され、所定の通信網に接続するネットワーク接続機能と、ネットワークを介して取得したデータを処理するデータ処理機能とを有する。
リソースマネージャ21、オブジェクト認識アプリケーション22、および、クラウドセンサアプリケーション23は、ネットワーク12内の所定のデータ処理装置上で実行されるアプリケーション(モジュール)である。ネットワーク12は、イメージデータをネットワーク12へ注入するクライアントデバイス11に近いエッジ環境(エッジ側クラウド)と、コアネットワーク側のクラウド(センター側クラウド)とを含む。オブジェクト認識アプリケーション22は、所定の遅延要件を満たしてオブジェクト認識処理を実行する必要があるため、典型的にはエッジ環境で実行される。
クライアントデバイス11は、DVS31と、フレームベースドセンサ(FrameBasedSensor)32とを含んで構成される。ただし、DVS31は必須ではなく、省略される場合もある。以下では、クライアントデバイス11がDVS31を実装している場合と、DVS31を実装していない場合の2通りについて説明する。DVS31とフレームベースドセンサ32の撮像範囲は同一に調整されている。
DVS31は、光信号を光電変換して画素信号を出力する画素を有し、画素信号に基づき、光信号の時間的輝度変化をイベントデータとして出力するイベントセンサである。一般的なイメージセンサは、垂直同期信号に同期して撮影を行い、その垂直同期信号の周期でフレーム(画面)単位の画像データであるイメージデータを出力するが、DVS31は、イベントが発生したタイミングにおいてのみイベントデータを出力するため、非同期型またはアドレス制御型のイメージセンサであるということができる。DVSは、Event Based Sensorなどとも呼ばれる。
DVS31では、例えば、各画素に入射された受光量の対数値に応じた電圧信号が、画素信号として検出される。そして、DVS31は、画素信号が表す対数輝度の変化値が所定の閾値cを超えて明るく変化した場合に、正方向の輝度変化を表す“+1”を出力し、所定の閾値cを超えて暗く変化した場合に、負方向の輝度変化を表す“-1”を出力する。
イベントデータは、例えば、AER(Address-Event Representation) フォーマットと呼ばれる以下の形式で表される。
e = (x, y, p, t) ・・・・・・・・(1)
式(1)において、x,yは、輝度変化が発生した画素の座標を表す。イベントの時刻tは、イベントが発生したときの時刻を表すタイムスタンプであり、例えば、センサ内の所定のクロック信号に基づくカウンタのカウント値で表される。イベントが発生したタイミングに対応するタイムスタンプは、イベントどうしの間隔がイベントの発生時のまま維持されている限り、イベントが発生した(相対的な)時刻を表す時刻情報であるということができる。
極性pは、所定の閾値cを超える輝度変化(光量変化)がイベントとして発生した場合の輝度変化の方向を表し、輝度変化がプラス方向の変化(以下、ポジティブともいう。)か、または、マイナス方向の変化(以下、ネガティブともいう。)かを表す。イベントの極性pは、例えば、ポジティブのとき“+1”で表され、ネガティブのとき“-1”で表される。
以上のように、DVS31は、輝度変化を検出した画素の位置座標、極性、および、時間情報のみを出力する。DVS31は、位置座標、極性、および、時間情報という正味の変化(差分)のみ生成して出力するため、データの情報量に冗長度がなく、μsecオーダの高時間分解能を有する。また、情報量が少ないため、フレーム単位のイメージデータを出力するイメージセンサよりも低消費電力であり、データを処理する場合にも、無駄な処理負荷がなく、処理時間を短縮できる。高速、低遅延なデータ出力が可能であるため、イベントの起こった正確な時刻を取得することができる。
フレームベースドセンサ32は、上述した一般的なイメージセンサに相当し、垂直同期信号に同期して撮影を行い、その垂直同期信号の周期で動画像のイメージデータをフレーム単位で生成するセンサである。フレームベースドセンサ32は、フレーム単位の画像データを生成するイメージセンサであれば、その種類は問わず、例えば、RGB光を受光してRGB画像を生成するイメージセンサや、IR光を受光してIR画像を生成するイメージセンサなどで構成することができる。以下では、簡単のため、フレームベースドセンサ32をFBS32と記述して説明する。
FBS32は、撮像して得られた動画像のイメージデータを、複数フレームにまたがって圧縮を行うLongGOP圧縮方式によりエンコード(圧縮符号化)する。LongGOP圧縮方式のエンコーダには、例えば、MPEG-4 AVC、H.264などがある。エンコードされた動画像ストリームであるエンコードイメージストリームは、クライアントデバイス11からオブジェクト認識アプリケーション22へ転送される。
FBS32は、GOP(Group Of Picture)を構成するIフレーム、Pフレーム、およびBフレームのうちのIフレームの生成を検知し、Iフレームが転送されるタイミングを示すIフレーム転送タイミング通知をリソースマネージャ21へ送信する。Iフレームは一定周期で強制的に生成することも可能であるが、本実施の形態では、FBS32のエンコーダが、シーンチェンジ検知パラメータに基づいて、動画像にシーンチェンジが検出された場合にIフレームを生成する。したがって、FBS32は、動画像のシーンチェンジによるIフレーム生成にともなって、Iフレーム転送タイミング通知をリソースマネージャ21へ送信する。
クライアントデバイス11にDVS31が実装されている場合、DVS31は、上述したようにフレームベースのイメージデータでは検出できない時間粒度で輝度変化を観測できるため、FBS32のイメージデータよりも早く、シーンチェンジに対応する撮像範囲内への物体(オブジェクト)の進入を検出することができる。DVS31は、イベントデータに基づいて、撮像範囲内へ新たな物体の進入が検出された場合、物体の候補領域確定情報をリソースマネージャ21へ送信する。物体の候補領域確定情報には、検出された新たな物体に対応して、新たに必要となる候補領域の数と、候補領域それぞれを特定する位置情報とが含まれる。
リソースマネージャ21は、クライアントデバイス11から、Iフレーム転送タイミング通知または物体の候補領域確定情報を取得すると、オブジェクト認識アプリケーション22のリソースをネットワーク12内に予約(確保)し、オブジェクト認識アプリケーション22を実行させる。また、リソースマネージャ21は、オブジェクト認識アプリケーション22のリソース確保後、クラウドセンサアプリケーション23から、確保したリソースの解放要求が通知された場合、オブジェクト認識アプリケーション22のリソースを解放する。
オブジェクト認識アプリケーション22は、エンコードイメージストリームのトランスポート処理、デコード処理、オブジェクト検出、および、オブジェクト認識処理を行う。トランスポート処理、デコード処理、オブジェクト検出、および、オブジェクト認識処理は、個別の処理モジュールで構成され、独立して起動実行が可能である。トランスポート処理モジュールは、FBS32からのエンコードイメージストリームを取得する。デコード処理モジュールは、エンコードイメージストリームをデコードする。オブジェクト検出モジュールは、デコードされた動画像のオブジェクトを検出する。オブジェクト認識処理モジュールは、検出されたオブジェクトの分類を行う。各モジュールは、個別のアプリケーションであってもよい。オブジェクト認識アプリケーション22は、オブジェクト認識処理の認識結果を、クラウドセンサアプリケーション23へ通知する。
クラウドセンサアプリケーション23は、オブジェクト認識アプリケーション22で行われた動画像に対するオブジェクト認識処理の認識結果に基づいて、所定のアプリケーション処理を行う。クラウドセンサアプリケーション23は、認識結果を用いた所定のアプリケーション処理の実行後、リソースマネージャ21に対して、リソースの解放要求を通知する。
データ処理システム1は、以上のように、FBS32で撮像された動画像のオブジェクトを認識するオブジェクト認識処理を、ネットワーク12上のオブジェクト認識アプリケーション22で実行する構成とされている。
オブジェクト認識処理は、負荷の高い処理であり、できるだけ不必要な処理が軽減されなければならない。FBS32からのイメージデータを、常にベースバンドか、もしくはイントラ符号化データで送り、新しいオブジェクトが入ったか否かもわからずに、常時オブジェクト認識処理を稼働するシステムは、リソースが無駄となる。仮に、FBS32に搭載されるエンコーダが、Iフレーム生成を一定周期で強制的に実行する場合に、Iフレーム生成にともなってオブジェクト認識処理を稼働した場合には、常時オブジェクト認識処理を稼働する場合と比べると、負荷は若干軽減されるものの、まだリソースの無駄が多い。
エッジ環境で稼働されるオブジェクト認識処理の遅延要件は、今後益々厳しくなることが予想される。リソース確保のための事前準備にかかる遅延をなくするため、必要十分なリソースを常時過剰に確保しておけばよいが、常時過剰に確保することによる、リソースの枯渇や、エネルギー消費が大きな問題となる可能性がある。そのため、できるだけ、リソースを必要な時に逐次動的に確保できるような方法が求められる。
データ処理システム1は、FBS32の撮像範囲に新しいオブジェクト(物体)が入り、シーンチェンジが起こった場合にのみ、エンコードイメージストリームを転送するためのトランスポートリソース、オブジェクト認識処理の実行に必要な計算リソースや記憶リソース、等のリソースを必要十分な量だけ逐次動的に確保する。
図2は、オブジェクト認識処理の典型的な処理の流れを説明する図である。
オブジェクト認識処理は、画像中から物体の位置の特定し、物体のクラス分類を行う処理である。オブジェクト検出および分類処理としては、CNN(Convolutional Neural Network)をベースとする手法が提案されている。代表的な手法であるR-CNN(Regions with Convolutional Neural Networks)では、候補領域確定処理、特徴量抽出処理、および、オブジェクト分類処理が、その順番で実行される。候補領域確定処理は、領域提案部が、オブジェクト(物体)が含まれている可能性のある画像内の領域(候補領域)を検出する処理である。候補領域は、固定サイズの領域に変換される。特徴量抽出処理は、CNN特徴抽出部が、候補領域からCNN特徴量を抽出する処理である。オブジェクト分類処理は、SVM分類部が、抽出された特徴量をもとにオブジェクト分類を行う処理である。候補領域確定処理はオブジェクト検出処理に対応し、特徴量抽出処理およびオブジェクト分類処理がオブジェクト認識処理に対応する。一般に、特徴量抽出処理およびオブジェクト分類処理は、処理遅延を最小限にするために、候補領域ごとに並列に実行される。
オブジェクト認識処理は、以上のように候補領域ごとに並列に実行する必要があることから、新しいIフレームの画像にいくつの物体が新しく出現するかを事前に判定できれば、同時実行しなければならない認識器(推論エンジン)の処理リソースがどれだけ必要かについて正確に見積もれる可能性がある。
図3は、DVS31とFBS32が、それぞれ、イメージデータとイベントデータを時系列に生成する様子を示している。
FBS32は、時刻t10、t20、t30、t40に、それぞれ、フレーム画像FR1、FR2、FR3、FR4を生成している。時刻t10、t20、t30、t40の時間間隔は、フレームキャプチャ周期に対応する。
DVS31は、被写体の動き等に応じて生じた輝度変化を検出したタイミングで、イベントデータを生成している。時間軸上に示される棒線がイベントデータを表し、イベントデータが連続して発生しているタイミングでは、棒線が連結している。
FBS32のエンコーダは、時刻t10のフレーム画像FR1をIフレームとしてエンコードする。エンコーダは、時刻t20のフレーム画像FR2を、時刻t10のIフレームからの動き補償予測により、Pフレームとしてエンコードする。時刻t30のフレーム画像FR3は、時刻t10のIフレームまたは時刻t20のPフレームからの動き補償予測によりPフレームとしてエンコードされる。時刻t10のフレーム画像FR1には、物体aが写っており、時刻t20のフレーム画像FR2および時刻t30のフレーム画像FR3では、物体aが移動して写っている。
時刻t40のフレーム画像FR4には、物体aの他に、物体bおよび物体cが写っている。FBS32のエンコーダは、新たな物体bおよび物体cの撮像範囲内への進入により、フレーム画像FR4においてシーンチェンジが発生したと検出し、Iフレームでエンコードする。すなわち、エンコーダは、フレーム画像FR4をPフレームでエンコードしようとして始めた直前のPフレームからの動き補償予測のブロックマッチング等の演算を中止し、Iフレームとしてエンコードするように切り替える。この検出処理のタイミングは、あくまでも、時刻t40のフレーム画像FR4がFBS32内でキャプチャされた時点以降となる。
これに対して、DVS31が生成するイベントデータに注目すると、イベントデータEVa1は、時刻t10のフレーム画像FR1に含まれる物体aの撮像範囲内への進入に伴って生成されたイベントデータである。イベントデータEVa2、EVa3、およびEva4それぞれは、物体aの撮像範囲内の移動に伴って生成されたイベントデータである。
時刻t30から時刻t40までのフレームキャプチャ周期内の所定の時刻t34において、物体aと異なる新たな物体bおよび物体cが撮像範囲内へ進入してきたとする。フレーム画像FR3’は、仮に、FBS32が時刻t34に撮像した場合の画像を示している。DVS31は、時刻t34に、物体bの撮像範囲内への進入に伴うイベントデータEVb1を生成し、物体cの撮像範囲内への進入に伴うイベントデータEVc1を生成する。
一般的なイメージデータのネットワーク転送においては、エンコーダが、時刻t40においてIフレームを検知し、Iフレームとしてのエンコード(フレーム内圧縮等)を行って、そのIフレームのイメージデータをネットワーク12へ送信する。ネットワーク12内のオブジェクト認識サーバは、時刻t40のIフレームを受信、デコードし、認識エンジンの処理(候補領域確定処理、オブジェクト分類処理等)を実行して初めて、新しいオブジェクトがあることを検出する。したがって、オブジェクト認識サーバでは、新しいオブジェクトがいくつ含まれているかについては、候補領域確定処理が行われるまでわからないため、各候補領域内の特徴量抽出ならびにオブジェクト分類処理等の計算リソースを事前に見積もることができない。一般に遅延要件が厳しい場合には、オブジェクト数に比例した同時並列処理が必要となる。
これに対して、データ処理システム1のクライアントデバイス11は、DVS31が実装されていない場合、FBS32のエンコーダでのIフレーム生成を判定する閾値(シーンチェンジ検知の閾値)に基づくIフレーム生成判定結果をトラップし、エンコーダがIフレーム生成を開始する直前に、Iフレーム転送タイミング通知をリソースマネージャ21へ送信する。リソースマネージャ21は、オブジェクト認識アプリケーション22のリソースを早期に確保し、オブジェクト認識アプリケーション22が、オブジェクトの追加に対応したオブジェクト認識処理を即座に開始できるように準備する。ただし、この場合には、新しいオブジェクトがいくつ含まれるかについては事前にわからないため、オブジェクト毎の特徴量抽出ならびにオブジェクト分類処理等の計算リソースを事前に見積もることはできない。
図4は、図2の時刻t30から時刻40までのフレームキャプチャ周期におけるDVS31の物体検出を説明する図である。
DVS31は、細かな粒度での時間分解能を持つデータが採れるため、FBS32のフレームキャプチャ周期よりも、より小さな時間間隔で、オブジェクトの候補領域の時間遷移が判別できる。具体的には、クライアントデバイス11にDVS31が実装されている場合、DVS31は、時刻t34の時点で、時刻t30で観測された物体aの移動とは異なる新たな物体bおよび物体cに対応する候補領域を検出することができる。これにより、前述のFBS32のみの場合に比べて、必要な特徴量抽出処理からオブジェクト分類処理の計算リソースをより早く確保することが可能となる。すなわち、時刻t30から時刻40までの間で、予め、ネットワーク12のエッジ環境でどれほどのオブジェクト認識処理リソースが必要かを見積もり、確保することができるため、リソース確保処理を安全に、かつ、精度よく行うことができる。ここで、色を併用する高精度な認識処理にはイメージフレームが必要なため、エッジ環境でのオブジェクト認識処理は、FBS32のシーンチェンジによるIフレームをもとに実行することを前提としており、あくまでもDVS31は、FBS32のIフレームの認識に必要なリソースを事前確保するための”併用”扱いとしている。
以上のように、クライアントデバイス11にDVS31が実装されている場合、DVS31は、細かな時間粒度で新たな物体を検出し、事前に必要リソースを確保することができる。換言すれば、Iフレーム生成検知のタイミングで行う場合と比べて、候補領域確定処理を、より早く細かな時間粒度で行うことができる。このイベントデータにもとづく、クライアントデバイス11における候補領域の判定処理に基づいて、CNN特徴量抽出処理ならびにオブジェクト分類処理を行うことにより、Iフレーム生成検知のみによるオブジェクト認識処理と比べて、より早いオブジェクト認識処理が可能となり、かつ、同時実行されなければならない認識器の処理リソース(数)も正確に見積もることができる。
<2.データ処理フロー>
<DVSを実装していない場合>
図5を参照して、クライアントデバイス11がDVS31を実装していない場合のオブジェクト認識のデータ処理フローを説明する。この処理とは別に、FBS32による被写体の撮像は、継続的に実行されている。
初めに、ステップS11において、クライアントデバイス11のFBS32は、撮像した動画像をLongGOP圧縮方式によりエンコードする。FBS32は、エンコードの際、シーンチェンジが検出されると、Iフレームの生成を検知し、Iフレーム転送タイミング通知をリソースマネージャ21へ送信する。
ステップS12において、リソースマネージャ21は、FBS32からのIフレーム転送タイミング通知を受信する。リソースマネージャ21は、トランスポート処理、デコード処理、および、オブジェクト検出に必要なリソースを確保し、オブジェクト認識アプリケーション22のトランスポート処理モジュール、デコード処理モジュール、および、オブジェクト検出モジュールを実行させる。
ステップS13において、FBS32は、エンコードイメージストリームを、オブジェクト認識アプリケーション22のトランスポート処理モジュールへアップリンク(送信)する。
ステップS14において、オブジェクト認識アプリケーション22は、エンコードイメージストリームの受信からオブジェクト認識までの一連の処理を実行する。具体的には、先に実行されたトランスポート処理モジュール、デコード処理モジュール、および、オブジェクト検出モジュールにより、エンコードイメージストリームの受信、デコード、および、オブジェクト検出が順次行われる。その後、オブジェクト検出の結果に基づいて、オブジェクト認識処理に必要なリソースの確保およびモジュールの実行がリソースマネージャ21へ要求される。要求に応じて実行されたオブジェクト認識処理モジュールが、オブジェクト認識処理を実行し、その認識結果を、クラウドセンサアプリケーション23へ通知する。
リソースマネージャ21は、ステップS15において、オブジェクト認識アプリケーション22から、オブジェクト認識処理に必要なリソースの確保およびモジュール実行の要求が通知されると、そのリソースを確保してオブジェクト認識処理モジュールモジュールを実行させる。オブジェクト認識処理モジュールは、物体認識の候補領域数だけ並列に実行される。
ステップS16において、クラウドセンサアプリケーション23は、オブジェクト認識アプリケーション22から送信されてきたオブジェクト認識処理の認識結果に基づいて、所定のアプリケーション処理を行う。所定のアプリケーション処理の実行後、クラウドセンサアプリケーション23は、リソースマネージャ21に対して、リソースの解放要求を通知する。
ステップS17において、リソースマネージャ21は、クラウドセンサアプリケーション23からのリソースの解放要求を受信する。リソースマネージャ21は、オブジェクト認識アプリケーション22の各モジュールの実行を停止させ、リソースを解放する。トランスポート処理モジュール、デコード処理モジュール、オブジェクト検出モジュール、および、オブジェクト認識処理モジュールそれぞれの実行が停止され、それらのリソースが解放される。
<DVSを実装している場合>
次に、図6を参照して、クライアントデバイス11がDVS31を実装している場合のオブジェクト認識のデータ処理フローを説明する。この処理とは別に、DVS31によるイベント検出と、FBS32による被写体の撮像は、継続的に実行されている。
初めに、ステップS31において、クライアントデバイス11のDVS31は、撮像範囲内へ進入してきた新たな物体を検出し、検出された物体の候補領域確定情報をリソースマネージャ21へ通知する。
ステップS32において、リソースマネージャ21は、DVS31からの物体の候補領域確定情報を受信し、候補領域の数に応じたオブジェクト認識処理に必要なリソースを確保し、オブジェクト認識アプリケーション22のオブジェクト認識処理モジュールを実行させる。
ステップS33において、クライアントデバイス11のFBS32は、撮像した動画像をLongGOP圧縮方式によりエンコードする。FBS32は、エンコードの際、シーンチェンジが検出されると、Iフレームの生成を検知し、Iフレーム転送タイミング通知をリソースマネージャ21へ送信する。
ステップS34において、リソースマネージャ21は、FBS32からのIフレーム転送タイミング通知を受信する。リソースマネージャ21は、トランスポート処理とデコード処理に必要なリソースを確保し、オブジェクト認識アプリケーション22のトランスポート処理モジュールとデコード処理モジュールを実行させる。
ステップS35において、FBS32は、エンコードイメージストリームを、オブジェクト認識アプリケーション22のトランスポート処理モジュールへアップリンク(送信)する。
ステップS36において、オブジェクト認識アプリケーション22は、エンコードイメージストリームの受信からオブジェクト認識までの一連の処理を実行する。上述したステップS32の処理により、オブジェクト認識処理に必要なリソースの確保は既に行われている。確保されたリソースにより、オブジェクト認識処理である特徴量抽出処理とオブジェクト分類処理が、物体認識の候補領域数だけ並列に実行される。オブジェクト認識アプリケーション22は、オブジェクト認識処理の認識結果を、クラウドセンサアプリケーション23へ通知する。
ステップS37において、クラウドセンサアプリケーション23は、オブジェクト認識アプリケーション22から送信されてきたオブジェクト認識処理の認識結果に基づいて、所定のアプリケーション処理を行う。所定のアプリケーション処理の実行後、クラウドセンサアプリケーション23は、リソースマネージャ21に対して、リソースの解放要求を通知する。
ステップS38において、リソースマネージャ21は、クラウドセンサアプリケーション23からのリソースの解放要求を受信する。リソースマネージャ21は、オブジェクト認識アプリケーション22の各モジュールの実行を停止させ、リソースを解放する。トランスポート処理モジュール、デコード処理モジュール、および、オブジェクト認識処理モジュールそれぞれの実行が停止され、それらのリソースが解放される。
DVS31が実装されていない場合の図5の処理と、DVS31が実装されている場合の図6の処理とを比較すると、DVS31が実装されている場合には、ステップS31の処理が追加されている。それにともない、リソースマネージャ21が各モジュールのリソースを確保、実行する処理が、Iフレーム転送タイミング通知を受信する前のステップS32の処理と、Iフレーム転送タイミング通知を受信した後のステップS34の処理とに分けて実行される。
<DVS実装有りと無しの比較>
図7は、オブジェクト認識処理の具体的処理である、候補領域確定処理、特徴量抽出処理、および、オブジェクト分類処理について、図5のDVS31が実装されていない場合と、図6のDVS31が実装されている場合とを比較した処理フローである。
図7の上段は、図5に示したDVS31が実装されていない場合の詳細処理フローである。図7の下段は、図6に示したDVS31が実装されている場合の詳細処理フローである。
DVS31が実装されていない場合の処理では、ステップS51において、FBS32が、エンコードイメージストリームを、オブジェクト認識アプリケーション22のトランスポート処理モジュールへアップリンク(送信)する。
ステップS52において、オブジェクト認識アプリケーション22のオブジェクト検出モジュールが、撮像範囲内へ進入してきた新たな物体を検出し、検出された物体の候補領域確定情報をリソースマネージャ21へ通知する。
ステップS53において、リソースマネージャ21は、オブジェクト認識アプリケーション22からの物体の候補領域確定情報を受信し、候補領域の数に応じたオブジェクト認識処理に必要なリソースを確保し、実行させる。これにより、特徴量抽出処理モジュールおよびオブジェクト分類処理モジュールのリソースが候補領域ごとに確保され、候補領域ごとの特徴量抽出処理モジュールおよびオブジェクト分類処理モジュールが実行される。
そして、ステップS54において、特徴量抽出処理モジュールおよびオブジェクト分類処理モジュールが、候補領域ごとに特徴量抽出処理およびオブジェクト分類処理を実行する。オブジェクト分類処理の結果得られた認識結果は、クラウドセンサアプリケーション23へ通知される。
一方、DVS31が実装されている場合の処理では、ステップS71において、DVS31が、撮像範囲内へ進入してきた新たな物体を検出し、検出された物体の候補領域確定情報をリソースマネージャ21へ通知する。
ステップS72において、リソースマネージャ21が、DVS31からの物体の候補領域確定情報を受信し、候補領域の数に応じたオブジェクト認識処理に必要なリソースを確保し、実行させる。特徴量抽出処理モジュールおよびオブジェクト分類処理モジュールのリソースが候補領域ごとに確保され、候補領域ごとの特徴量抽出処理モジュールおよびオブジェクト分類処理モジュールが実行される。
ステップS73において、FBS32が、エンコードイメージストリームを、オブジェクト認識アプリケーション22のトランスポート処理モジュールへアップリンク(送信)する。
ステップS74において、特徴量抽出処理モジュールおよびオブジェクト分類処理モジュールが、候補領域ごとに特徴量抽出処理およびオブジェクト分類処理を実行する。オブジェクト分類処理の結果得られた認識結果は、クラウドセンサアプリケーション23へ通知される。
図7の上段と下段を比較して明らかなように、DVS31が実装されない場合には、ステップS52としてオブジェクト認識アプリケーション22で実行される処理が、DVS31が実装される場合には、ステップS71としてDVS31で実行される。換言すれば、候補領域確定処理(と同等の処理)を行うオブジェクト検出モジュールのリソースを、ネットワーク12上に確保する必要がない。また、DVS31が実装される場合には、候補領域ごとの特徴量抽出処理およびオブジェクト分類処理のリソース確保を、FBS32からエンコードイメージストリームを受信する前に実行することができるので、リソース確保に余裕を持たせることができ、リソース確保の信頼性を高めることができる。また、エンコードイメージストリームを受信する前に特徴量抽出処理およびオブジェクト分類処理のリソース確保ができるので、全体の処理遅延を低減することができる。
<3.エッジアプリケーションアーキテクチャによる構成>
<データ処理システム>
図8は、本技術の他の実施の形態であるデータ処理システムの構成例を示すブロック図である。
図8に示されるデータ処理システム100は、上述したデータ処理システム1を、移動通信の標準化団体である3GPP(Third Generation Partnership Project)-SA6で標準化が行われているエッジアプリケーションのアーキテクチャ(3GPP TS 23.558 “Architecture for enabling Edge Applications (Release 17)”)で実現する場合の構成例である。
このデータ処理システム100は、ユーザ装置111と、ネットワーク(クラウド)112内に配置されたリソースマネージャ(ResourceManager)121、ObjDetectionEAS122、および、クラウドセンサアプリケーション(CloudSensorApplication)123とで構成される。
ユーザ装置111は、DVS131、FBS(FrameBasedSensor)132、および、ObjDetectionEAC133を有する。なお、上述したデータ処理システム1と同様に、DVS131は、省略され得る。
エッジアプリケーションのアーキテクチャでは、EAC(EdgeAppClient)、および、EAS(EdgeAppServer)が定義されており、EASは、ユーザ装置(Use Equipment)のApplication Clientと対で設けられる。EACは、ユーザ装置上で所定のアプリケーションのクライアント機能を実行するアプリケーションであり、EASは、そのアプリケーションのServer機能をEdge環境(Edge Data Network)で実行するアプリケーションである。
ObjDetectionEAC133は、エッジアプリケーションアーキテクチャのEACで構成され、ObjDetectionEAS122は、エッジアプリケーションアーキテクチャのEASで構成される。リソースマネージャ121とクラウドセンサアプリケーション123は、本技術の実現のために新たに導入されたエンティティである。リソースマネージャ121は、Edge環境で実行するアプリケーションでもよいし、クラウドで実行するアプリケーションであってもよい。
ユーザ装置111のDVS131は、図1のDVS31と同様に、FBS132と同じ撮像範囲の輝度変化をイベントとして検出し、イベントデータをObjDetectionEAC133に出力する。FBS132は、図1のFBS32と同様に、フレームキャプチャ周期で動画像を撮像し、ベースバンドのイメージデータをObjDetectionEAC133に出力する。
ObjDetectionEAC133は、DVS131から供給されるイベントデータに基づいて、撮像範囲内へ進入してきた新たな物体を検出し、検出された物体の候補領域確定情報をリソースマネージャ121へ通知する。また、ObjDetectionEAC133は、FBS132で撮像された動画像をLongGOP圧縮方式によりエンコードし、その結果得られるエンコードイメージストリームをObjDetectionEAS122へ送信する。ObjDetectionEAC133は、エンコードの際、シーンチェンジにともなうIフレームの生成を検知し、Iフレーム転送タイミング通知をリソースマネージャ121へ送信する。
リソースマネージャ121は、ObjDetectionEAC133からのIフレーム転送タイミング通知に基づいて、ObjDetectionEAS122のトランスポートおよびデコード処理モジュールのリソース確保および実行を行う。また、リソースマネージャ121は、ObjDetectionEAC133またはObjDetectionEAS122のどちらか一方から通知される物体の候補領域確定情報に基づいて、ObjDetectionEAS122の特徴量抽出およびオブジェクト分類処理モジュールのリソース確保および実行を行う。さらに、リソースマネージャ121は、クラウドセンサアプリケーション123からリソースの解放要求が通知されると、ObjDetectionEAS122で実行中のトランスポートおよびデコード処理モジュール、特徴量抽出およびオブジェクト分類処理モジュール等の実行を停止させ、リソースを解放する。
ObjDetectionEAS122は、ObjDetectionEAC133から送信されてくるエンコードイメージストリームのトランスポート処理、デコード処理、および、オブジェクト認識処理(特徴量抽出処理およびオブジェクト分類処理)を行う。また、ユーザ装置111がDVS131を実装していない場合は、ObjDetectionEAS122は、デコード後のイメージデータに基づいてオブジェクト検出、言い換えれば、物体の候補領域確定処理も実行し、物体の候補領域確定情報を、リソースマネージャ121へ通知する。ObjDetectionEAS122は、オブジェクト認識処理の認識結果を、クラウドセンサアプリケーション123へ通知する。
クラウドセンサアプリケーション123は、ObjDetectionEAS122で行われた動画像に対するオブジェクト認識処理の認識結果に基づいて、所定のアプリケーション処理を行う。クラウドセンサアプリケーション123は、認識結果を用いた所定のアプリケーション処理の実行後、リソースマネージャ121に対して、リソースの解放要求を通知する。
<ユーザ装置>
図9は、ユーザ装置111の詳細構成例を示すブロック図である。
DVS131とFBS132についての説明は重複するので省略する。ユーザ装置111のObjDetectionEAC133には、DVS131からのイベントデータを処理するDVSデータ処理モジュール151と、FBS132からのイメージデータを処理するイメージフレームエンコーダモジュール152とが実装される。
DVSデータ処理モジュール151は、DVS131からのイベントデータを解析し、撮像範囲内に進入した新たな物体の候補領域を確定して、エッジ環境またはクラウド上で稼働するリソースマネージャ121に対して、物体の候補領域確定情報を通知する。
イメージフレームエンコーダモジュール152は、FBS132からのベースバンドのイメージデータをエンコードする。その際に、イメージフレームエンコーダモジュール152は、例えば、シーンチェンジ検知アルゴリズムによるIフレームの生成判定を行い、Iフレームを生成すると判定した場合には、Iフレームをエンコードする前に、Iフレーム転送タイミング通知をリソースマネージャ121へ送信する。また、イメージフレームエンコーダモジュール152は、ObjDetectionEAC133に対応するサーバ側装置であって、エッジ環境で稼働するObjDetectionEAS122に対して、エンコードイメージストリームを送信する。ObjDetectionEAS122からエンコードイメージストリームの転送停止が通知された場合には、エンコードイメージストリームの送信は停止される。
図10は、リソースマネージャ121の詳細構成例を示すブロック図である。
リソースマネージャ121は、エッジ環境またはクラウド上で稼働し、ObjDetectionEAS122の計算および記憶のためのリソースを管理する。リソースマネージャ121には、トランスポート及びデコーダリソース管理モジュール171と、特徴量抽出及び分類処理リソース管理モジュール172とが実装される。なお、図10では、「トランスポート及びデコーダリソース管理モジュール」を「トランスポート&デコーダリソース管理モジュール」と記載し、「特徴量抽出及び分類処理リソース管理モジュール」を、「特徴量抽出&分類処理リソース管理モジュール」と記載しており、「及び」が「&」で表記されている。図11以降についても同様の表記がある。
トランスポート及びデコーダリソース管理モジュール171は、ObjDetectionEAC133からのIフレーム転送タイミング通知を受信し、ObjDetectionEAS122のトランスポートおよびデコード処理モジュール191(図11)のリソース確保および実行を行う。トランスポートおよびデコード処理モジュール191のリソースは、ObjDetectionEAC133からのエンコードイメージストリームのIフレームが転送されるタイミングに間に合うように確保される。また、トランスポート及びデコーダリソース管理モジュール171は、ユーザ装置111にDVS131が実装されていない場合には、ObjDetectionEAS122の候補領域確定処理モジュール192(図11)のリソースの確保および実行も行う。
特徴量抽出及び分類処理リソース管理モジュール172は、物体の候補領域確定情報を受信する。物体の候補領域確定情報は、ユーザ装置111にDVS131が実装されている場合にはObjDetectionEAC133から通知され、DVS131が実装されていない場合にはObjDetectionEAS122から通知される。
DVS131が実装されている場合には、特徴量抽出及び分類処理リソース管理モジュール172は、ObjDetectionEAC133から通知された物体の候補領域確定情報に基づいて、特徴量抽出およびオブジェクト分類処理モジュール193(図11)のリソース確保および実行を行う。また、特徴量抽出及び分類処理リソース管理モジュール172は、通知された物体の候補領域確定情報を、ObjDetectionEAS122へ転送する。
一方、DVS131が実装されていない場合には、特徴量抽出及び分類処理リソース管理モジュール172は、ObjDetectionEAS122からの物体の候補領域確定情報に基づいて、特徴量抽出およびオブジェクト分類処理モジュール193(図11)のリソース確保および実行を行う。特徴量抽出およびオブジェクト分類処理モジュール193のリソースは、特徴量抽出処理およびオブジェクト分類処理を候補領域ごとに並列に実行するように確保される。
トランスポート及びデコーダリソース管理モジュール171は、クラウドセンサアプリケーション123からリソースの解放要求を受信すると、ObjDetectionEAS122のトランスポートおよびデコード処理モジュール191の実行を停止し、リソースを解放する。特徴量抽出及び分類処理リソース管理モジュール172は、クラウドセンサアプリケーション123からリソースの解放要求を受信すると、ObjDetectionEAS122の特徴量抽出およびオブジェクト分類処理モジュール193の実行を停止し、リソースを解放する。候補領域確定処理モジュール192も実行している場合には、特徴量抽出及び分類処理リソース管理モジュール172は、候補領域確定処理モジュール192の実行も停止し、リソースを解放する。
図11は、ObjDetectionEAS122の詳細構成例を示すブロック図である。
ObjDetectionEAS122には、トランスポートおよびデコード処理モジュール191、候補領域確定処理モジュール192、および、特徴量抽出およびオブジェクト分類処理モジュール193が実装される。ObjDetectionEAS122の各モジュールは、上述したように、リソースマネージャ121によって実行が開始されたり、停止される。ObjDetectionEAS122は、エッジ環境で稼働する。
トランスポートおよびデコード処理モジュール191は、ObjDetectionEAC133からのエンコードイメージストリームを受信し、デコードする。デコードにより得られたベースバンドのイメージデータは、特徴量抽出およびオブジェクト分類処理モジュール193に供給され、DVS131が実装されていない場合には候補領域確定処理モジュール192にも供給される。トランスポートおよびデコード処理モジュール191は、自身の実行を停止する場合には、エンコードイメージストリームの転送停止を、ユーザ装置111のObjDetectionEAC133へ通知する。
候補領域確定処理モジュール192は、ユーザ装置111にDVS131が実装されていない場合にのみ起動実行され、DVS131が実装されている場合には起動実行されない。
候補領域確定処理モジュール192は、トランスポートおよびデコード処理モジュール191から供給されるベースバンドのイメージデータを用いて候補領域確定処理を行う。すなわち、候補領域確定処理モジュール192は、撮像画像内の新たな物体を検出し、検出された物体の候補領域確定情報を、特徴量抽出およびオブジェクト分類処理モジュール193へ通知する。物体の候補領域確定情報は、リソースマネージャ121の特徴量抽出及び分類処理リソース管理モジュール172にも通知される。
特徴量抽出およびオブジェクト分類処理モジュール193には、ユーザ装置111にDVS131が実装されていない場合には、候補領域確定処理モジュール192から、物体の候補領域確定情報が供給される。一方、DVS131が実装されている場合には、リソースマネージャ121の特徴量抽出及び分類処理リソース管理モジュール172から、物体の候補領域確定情報が供給される。
特徴量抽出およびオブジェクト分類処理モジュール193は、トランスポートおよびデコード処理モジュール191からのベースバンドのイメージデータと、特徴量抽出およびオブジェクト分類処理モジュール193またはリソースマネージャ121からの物体の候補領域確定情報とに基づいて、特徴量抽出処理およびオブジェクト分類処理を候補領域ごとに並列に実行する。特徴量抽出およびオブジェクト分類処理モジュール193は、オブジェクト分類処理の結果、すなわち、オブジェクト認識処理の認識結果を、クラウドセンサアプリケーション123へ通知する。
<4.データ処理フロー>
<DVSを実装している場合>
次に、図12を参照して、ユーザ装置111がDVS31を実装している場合のオブジェクト認識のデータ処理フローを説明する。この処理とは別に、DVS131によるイベント検出と、FBS132による被写体の撮像は、継続的に実行されている。
初めに、ステップS101において、DVSデータ処理モジュール151は、DVS131から供給されるイベントデータを解析し、撮像範囲内の物体を検出する。DVSデータ処理モジュール151は、物体の候補領域を確定して、物体の候補領域確定情報をリソースマネージャ121へ通知する。
ステップS102において、特徴量抽出及び分類処理リソース管理モジュール172は、物体の候補領域確定情報を受信し、その候補領域確定情報に基づいて特徴量抽出およびオブジェクト分類処理モジュール193のリソース確保および実行を行う。特徴量抽出およびオブジェクト分類処理モジュール193は、候補領域の数に応じて確保、実行される。続いてステップS103において、特徴量抽出及び分類処理リソース管理モジュール172は、DVSデータ処理モジュール151から通知された物体の候補領域確定情報を、ObjDetectionEAS122の特徴量抽出およびオブジェクト分類処理モジュール193へ通知(転送)する。
ステップS104において、イメージフレームエンコーダモジュール152は、FBS132から供給されるベースバンドのイメージデータをエンコードする。その際、イメージフレームエンコーダモジュール152は、シーンチェンジ検知アルゴリズムによるIフレームの生成判定を行う。イメージフレームエンコーダモジュール152は、Iフレームを生成すると判定した場合、Iフレームをエンコードする前に、Iフレーム転送タイミング通知を、リソースマネージャ121のトランスポート及びデコーダリソース管理モジュール171へ送信する。
ステップS105において、トランスポート及びデコーダリソース管理モジュール171は、イメージフレームエンコーダモジュール152からのIフレーム転送タイミング通知を受信し、ObjDetectionEAS122のトランスポートおよびデコード処理モジュール191のリソース確保および実行を行う。トランスポートおよびデコード処理モジュール191のリソースは、次のステップS106においてイメージフレームエンコーダモジュール152からエンコードイメージストリームのIフレームが転送される前に確保される。
ステップS106において、イメージフレームエンコーダモジュール152は、撮像したベースバンドのイメージデータをエンコードしたエンコードイメージストリームを、ObjDetectionEAS122のトランスポートおよびデコード処理モジュール191へアップリンク(送信)する。
ステップS107において、トランスポートおよびデコード処理モジュール191は、エンコードイメージストリームのトランスポート処理およびデコードを行う。これにより、イメージフレームエンコーダモジュール152から送信されてきたエンコードイメージストリームが受信、デコードされ、ベースバンドのイメージデータに変換される。ベースバンドのイメージデータは、特徴量抽出およびオブジェクト分類処理モジュール193へ供給される。
ステップS108において、特徴量抽出およびオブジェクト分類処理モジュール193は、トランスポートおよびデコード処理モジュール191からのベースバンドのイメージデータと、特徴量抽出及び分類処理リソース管理モジュール172からの物体の候補領域確定情報とに基づいて、特徴量抽出処理およびオブジェクト分類処理を候補領域ごとに並列に実行する。特徴量抽出およびオブジェクト分類処理モジュール193は、オブジェクト分類処理結果、すなわち、オブジェクト認識結果を、クラウドセンサアプリケーション123へ通知する。
ステップS109において、クラウドセンサアプリケーション123は、特徴量抽出およびオブジェクト分類処理モジュール193からのオブジェクト認識処理の認識結果に基づいて、所定のアプリケーション処理を行う。クラウドセンサアプリケーション123は、所定のアプリケーション処理の実行後、リソースマネージャ121に対して、リソースの解放要求を通知する。
ステップS110において、リソースマネージャ121は、クラウドセンサアプリケーション123からのリソース解放要求を受信し、ObjDetectionEAS122のトランスポートおよびデコード処理モジュール191と特徴量抽出およびオブジェクト分類処理モジュール193のリソースを解放する。より具体的には、トランスポート及びデコーダリソース管理モジュール171が、トランスポートおよびデコード処理モジュール191の実行を停止し、リソースを解放する。特徴量抽出及び分類処理リソース管理モジュール172が、特徴量抽出およびオブジェクト分類処理モジュール193の実行を停止し、リソースを解放する。
ステップS111において、トランスポートおよびデコード処理モジュール191は、自身の実行を停止する前に、イメージフレームエンコーダモジュール152に対して、エンコードイメージストリームの転送停止を通知する。
ユーザ装置111がDVS31を実装している場合のオブジェクト認識のデータ処理は、以上のように実行される。
<DVSを実装していない場合>
次に、図13を参照して、ユーザ装置111がDVS31を実装していない場合のオブジェクト認識のデータ処理フローを説明する。この処理とは別に、FBS132による被写体の撮像は、継続的に実行されている。
初めに、ステップS131において、イメージフレームエンコーダモジュール152は、FBS132から供給されるベースバンドのイメージデータをエンコードする。その際、イメージフレームエンコーダモジュール152は、シーンチェンジ検知アルゴリズムによるIフレームの生成判定を行う。イメージフレームエンコーダモジュール152は、Iフレームを生成すると判定した場合、Iフレームをエンコードする前に、Iフレーム転送タイミング通知を、リソースマネージャ121のトランスポート及びデコーダリソース管理モジュール171へ送信する。
ステップS132において、トランスポート及びデコーダリソース管理モジュール171は、イメージフレームエンコーダモジュール152からのIフレーム転送タイミング通知を受信し、ObjDetectionEAS122のトランスポートおよびデコード処理モジュール191のリソース確保および実行を行う。トランスポートおよびデコード処理モジュール191のリソースは、後述するステップS134においてイメージフレームエンコーダモジュール152からエンコードイメージストリームのIフレームが転送される前に確保される。
ステップS133において、トランスポート及びデコーダリソース管理モジュール171は、候補領域確定処理モジュール192のリソース確保および実行を行う。
ステップS134において、イメージフレームエンコーダモジュール152は、撮像したベースバンドのイメージデータをエンコードしたエンコードイメージストリームを、ObjDetectionEAS122のトランスポートおよびデコード処理モジュール191へアップリンク(送信)する。
ステップS135において、トランスポートおよびデコード処理モジュール191は、エンコードイメージストリームのトランスポート処理およびデコードを行う。これにより、イメージフレームエンコーダモジュール152から送信されてきたエンコードイメージストリームが受信、デコードされ、ベースバンドのイメージデータに変換される。ベースバンドのイメージデータは、候補領域確定処理モジュール192と、特徴量抽出およびオブジェクト分類処理モジュール193へ供給される。
ステップS136において、候補領域確定処理モジュール192は、トランスポートおよびデコード処理モジュール191から供給されたベースバンドのイメージデータを用いて候補領域確定処理を行う。すなわち、候補領域確定処理モジュール192は、撮像画像内の物体を検出し、検出された物体の候補領域確定情報を、特徴量抽出およびオブジェクト分類処理モジュール193へ通知する。物体の候補領域確定情報は、リソースマネージャ121の特徴量抽出及び分類処理リソース管理モジュール172にも通知される。
ステップS137において、特徴量抽出及び分類処理リソース管理モジュール172は、候補領域確定処理モジュール192からの物体の候補領域確定情報に基づいて、特徴量抽出およびオブジェクト分類処理モジュール193のリソース確保および実行を行う。
ステップS138において、特徴量抽出およびオブジェクト分類処理モジュール193は、トランスポートおよびデコード処理モジュール191からのベースバンドのイメージデータと、候補領域確定処理モジュール192からの物体の候補領域確定情報とに基づいて、特徴量抽出処理およびオブジェクト分類処理を候補領域ごとに並列に実行する。特徴量抽出およびオブジェクト分類処理モジュール193は、オブジェクト分類処理結果、すなわち、オブジェクト認識結果を、クラウドセンサアプリケーション123へ通知する。
ステップS139において、クラウドセンサアプリケーション123は、特徴量抽出およびオブジェクト分類処理モジュール193からのオブジェクト認識処理の認識結果に基づいて、所定のアプリケーション処理を行う。クラウドセンサアプリケーション123は、所定のアプリケーション処理の実行後、リソースマネージャ121に対して、リソースの解放要求を通知する。
ステップS140において、リソースマネージャ121は、クラウドセンサアプリケーション123からのリソース解放要求を受信し、ObjDetectionEAS122の各モジュールの実行を停止し、リソースを解放する。これにより、トランスポートおよびデコード処理モジュール191、候補領域確定処理モジュール192、並びに、特徴量抽出およびオブジェクト分類処理モジュール193の実行が停止され、リソースが解放される。
ステップS141において、トランスポートおよびデコード処理モジュール191は、自身の実行を停止する前に、イメージフレームエンコーダモジュール152に対して、エンコードイメージストリームの転送停止を通知する。
ユーザ装置111がDVS31を実装していない場合のオブジェクト認識のデータ処理は、以上のように実行される。
<5.リソースマネージャによるリソース管理>
<リソース構成例>
図14は、リソースマネージャ121が管理するリソースの構成例を示す図である。
リソースマネージャ121は、ObjDetectionEAS122がエッジ環境(Edge Data Network)で稼働するようにアプリケーションリソースを管理する。より具体的には、トランスポートおよびデコード処理モジュール191、候補領域確定処理モジュール192、および、特徴量抽出およびオブジェクト分類処理モジュール193それぞれのリソースが管理される。
トランスポートおよびデコード処理モジュール191のリソースには、トランスポート処理とデコード処理の実行に必要なCPUタイムスロットとメモリが含まれる。候補領域確定処理モジュール192のリソースには、候補領域確定処理の実行に必要なCPUタイムスロットとメモリが含まれる。特徴量抽出およびオブジェクト分類処理モジュール193のリソースには、特徴量抽出処理およびオブジェクト分類処理の実行に必要なCPUタイムスロットとメモリが含まれる。
また、リソースマネージャ121は、ObjDetectionEAC133とObjDetectionEAS122との間でデータを転送するためのネットワーク/トランスポートリソースを管理する。このネットワーク/トランスポートリソースとしては、例えば、5G回線の移動体通信網(以下、5Gネットワークと称する。)をベースとするネットワークや、IOWN Global Forum, Inc.が提唱するオールフォトニクスネットワーク(以下、IOWNネットワークと称する。)をベースとするネットワークなどがある。
<DVSがない場合のアプリケーションリソースの管理>
図15は、ユーザ装置111にDVS131が実装されていない場合のObjDetectionEAS122のアプリケーションリソースのライフサイクル管理を説明する図である。
ObjDetectionEAC133が、Iフレーム生成を検知すると、ステップS161において、Iフレーム転送タイミング通知を、リソースマネージャ121のトランスポート及びデコーダリソース管理モジュール171へ送信する。
トランスポート及びデコーダリソース管理モジュール171は、Iフレーム転送タイミング通知を受信すると、ステップS162において、トランスポート処理、デコード処理、および、候補領域確定処理のそれぞれに必要なCPUタイムスロットおよびメモリを確保して各モジュールを起動させる。これにより、トランスポート処理モジュール191A、デコード処理モジュール191B、および候補領域確定処理モジュール192が、起動される。図15では、トランスポートおよびデコード処理モジュール191が、トランスポート処理モジュール191Aとデコード処理モジュール191Bに分けて示されている。
候補領域確定処理モジュール192は、ObjDetectionEAC133から転送され、デコードされたベースバンドのイメージデータを用いて候補領域確定処理を実行する。候補領域確定処理では、1枚のイメージフレームで候補領域が確定する場合もあれば、複数のイメージフレームのオブジェクトの遷移を利用して候補領域が確定する場合もある。複数のイメージフレームを利用する場合には、複数フレーム分のベースバンドのイメージフレームが生成されるまで待つ必要があるため、処理に遅延が生じる。
ステップS163において、候補領域確定処理モジュール192は、検出された物体の候補領域確定情報を、特徴量抽出及び分類処理リソース管理モジュール172へ通知する。
特徴量抽出及び分類処理リソース管理モジュール172は、物体の候補領域確定情報を、候補領域確定処理モジュール192から受信する。特徴量抽出及び分類処理リソース管理モジュール172は、ステップS164において、特徴量抽出処理及び分類処理を候補領域ごとに実行するのに必要なCPUタイムスロットおよびメモリを確保して、特徴量抽出およびオブジェクト分類処理モジュール193を候補領域の数だけ起動させる。
クラウドセンサアプリケーション123からリソース解放要求が通知されると、リソースマネージャ121は、ObjDetectionEAS122の各モジュールの実行を停止し、確保したCPUタイムスロットおよびメモリを解放する。トランスポート処理モジュール191Aは、自身の実行を停止する前に、ObjDetectionEAC133に対して、エンコードイメージストリームの転送停止を通知する。
<DVSがある場合のアプリケーションリソースの管理>
図16は、ユーザ装置111にDVS131が実装されている場合のObjDetectionEAS122のアプリケーションリソースのライフサイクル管理を説明する図である。
ObjDetectionEAC133が、ステップS181において、撮像範囲内に進入した新たな物体の候補領域を検出して、物体の候補領域確定情報を、リソースマネージャ121の特徴量抽出及び分類処理リソース管理モジュール172へ通知する。
特徴量抽出及び分類処理リソース管理モジュール172は、ステップS182において、ObjDetectionEAC133から通知された物体の候補領域確定情報に基づいて、特徴量抽出およびオブジェクト分類処理モジュール193を候補領域ごとに実行するのに必要なCPUタイムスロットおよびメモリを確保して、特徴量抽出およびオブジェクト分類処理モジュール193を候補領域の数だけ起動させる。起動後、各特徴量抽出およびオブジェクト分類処理モジュール193は、ベースバンドのイメージデータの待機状態となる。
ObjDetectionEAC133が、Iフレーム生成を検知すると、ステップS183において、Iフレーム転送タイミング通知を、リソースマネージャ121のトランスポート及びデコーダリソース管理モジュール171へ送信する。
トランスポート及びデコーダリソース管理モジュール171は、Iフレーム転送タイミング通知を受信すると、ステップS184において、トランスポート処理およびデコード処理に必要なCPUタイムスロットおよびメモリを確保して各モジュールを起動させる。これにより、トランスポート処理モジュール191A、および、デコード処理モジュール191Bが、起動される。図16では、トランスポートおよびデコード処理モジュール191が、トランスポート処理モジュール191Aとデコード処理モジュール191Bに分けて示されている。
ObjDetectionEAC133から転送され、デコードされたベースバンドのイメージデータは、待機状態である各特徴量抽出およびオブジェクト分類処理モジュール193に供給される。候補領域は特定されているので、1枚のイメージフレームが供給されれば、即座に特徴量抽出処理およびオブジェクト分類処理が実行可能である。
各モジュールの実行停止およびリソースの解放は、DVS131がない場合の図15と同様である。
以上のように、DVS131が実装されている場合には、DVS131が実装されていない場合と比較して、候補領域の数に応じた特徴量抽出およびオブジェクト分類処理モジュール193を予め起動させておき、即座に特徴量抽出処理およびオブジェクト分類処理を実行することができるので、リソースを必要な時に動的に確保しつつ、オブジェクト認識処理を高速に実行することができる。
<ネットワーク/トランスポートリソースの管理>
<5Gネットワークの場合>
図17は、5Gネットワークのネットワーク/トランスポートの構成例を示している。
5Gネットワークは、UE、AN(Access Network)、および、コアネットワークで構成される。5Gシステムのコアネットワークでは、サービスベースアーキテクチャが採用されている(3GPP TS.23.501 System architecture for the 5G System (5GS))。このサービスベースアーキテクチャでは、コアネットワークの機能であるNF(Network Function)を定義し、NFどうしがサービスベースインターフェイスと呼ばれる統一的なインターフェイスを介して接続される。
UE221は、ユーザ装置(移動端末)である。UE221は、AMF211によるモビリティ管理およびSMF212によるセッション管理の下、外部のデータネットワーク(ISPやVPNで接続された企業ネットワーク等)にパケット通信(IP、イーサネット等のパケットデータユニット(PDU)の転送による通信)で接続して、サービスを受ける。
AN222は、UE221とコアネットワークとの間の有線または無線のネットワークである。
AMF211は、UE221のモビリティ管理、認証、および認可などを行う。また、AMF211は、SMF212の制御も行う。SMF212は、UE221のセッション管理を行う。
UPF(User Plane Function)223は、ユーザデータの転送を行う。DN (Data Network)224は、アプリケーションサーバ等が配置される外部ネットワークである。
UE221上のアプリケーションであるObjDetectionEAC133と、DV224上のアプリケーションであるObjDetectionEAS122との間の論理的な接続関係が、PDUセッション225と称される。このPDUセッション225を形成するのに必要なリソース、例えば、パケットを転送する無線および有線の転送路や、転送プロトコルの処理に必要な計算リソース等が、リソースマネージャ121が管理する、ネットワーク/トランスポートリソースに相当する。
図18は、ネットワーク/トランスポートリソースが5Gネットワークである場合のネットワーク/トランスポートリソースのライフサイクル管理を説明する図である。図18は、図15に示したDVS131がない場合のアプリケーションリソースのライフサイクル管理と対応している。
ObjDetectionEAC133が、Iフレーム生成を検知すると、ステップS161において、Iフレーム転送タイミング通知が、リソースマネージャ121のトランスポート及びデコーダリソース管理モジュール171へ送信される。
トランスポート及びデコーダリソース管理モジュール171において、Iフレーム転送タイミング通知が受信されると、図15で説明したように、ステップS162において、トランスポート処理およびデコード処理に必要なCPUタイムスロットおよびメモリが確保されてモジュールが起動される。このとき同時に、トランスポート及びデコーダリソース管理モジュール171は、ステップS162として、5GシステムAPIを介して、5Gシステムに対して、ObjDetectionEAC133からObjDetectionEAS122へエンコードイメージストリームを転送するのに必要な、AN222とUPF223とを介したPDUセッション225のリソースを確保する。
リソースマネージャ121は、ObjDetectionEAS122の各モジュールの実行を停止し、確保したCPUタイムスロットおよびメモリを解放するタイミングで、PDUセッション225のリソースも解放する。
<IOWNネットワークの場合>
図19は、IOWNネットワークのネットワーク/トランスポートの構成例を示している。
IOWNネットワークでは、ObjDetectionEAC133とObjDetectionEAS122との間に形成される仮想パス231のトランスポートスタック構成は、図19のようになると想定される。
トランスポートスタックは、最下層側から、Fiber Layer(1本のファイバ内の空間分割多重(SDM: Space Division Multiplexing)や、モード分割多重(MDM: Mode Division Multiplexing))、WDM Layerの波長分割多重(WDM: Wavelength Division Multiplexing)、TDM Layerの時分割多重(TDM: Time Division Multiplexing)の順で構成され、その上に、上位位層のトランスポートとして、IPパケットレイヤー、もしくは、non-IPレイヤーで構成される。
このスタック上に実現されるセッションは、基本的にコネクションオリエンテッドで確立される。すなわち、コネクションセットアップ時に送信側と受信側の間にGMPLS(Generalized Multi-Protocol Label Switch)により仮想パス231が形成される(ネットワークリソースが確保される)。上述したエンコードイメージストリームの転送の場合では、ObjDetectionEAC133が送信側、ObjDetectionEAS122が受信側となるが、送信側が優先度等配信要件を満足する仮想パス231を確保する。仮想パス231の確保には、コントロールプレーンでやりとりされるGMPLS用のRSVP(Resource reSerVation Protocol)-TE(Traffic Engineering)拡張等が利用される。この仮想パス231を構成するためのリソースが、リソースマネージャ121が管理する、ネットワーク/トランスポートリソースに相当する。
図20は、ネットワーク/トランスポートのリソースがIOWNネットワークである場合のネットワーク/トランスポートリソースのライフサイクル管理を説明する図である。図20は、図15に示したDVS131がない場合のアプリケーションリソースのライフサイクル管理と対応している。
ObjDetectionEAC133が、Iフレーム生成を検知すると、ステップS161において、Iフレーム転送タイミング通知が、リソースマネージャ121のトランスポート及びデコーダリソース管理モジュール171へ送信される。
トランスポート及びデコーダリソース管理モジュール171において、Iフレーム転送タイミング通知が受信されると、図15で説明したように、ステップS162において、トランスポート処理およびデコード処理に必要なCPUタイムスロットおよびメモリが確保されてモジュールが起動される。このとき同時に、トランスポート及びデコーダリソース管理モジュール171は、ステップS162として、IOWNシステムAPIを介して、IOWNシステムに対して、ObjDetectionEAC133からObjDetectionEAS122へエンコードイメージストリームを転送するのに必要な、AN相当とUPF相当とを介した仮想パス231のリソースを確保する。
リソースマネージャ121は、ObjDetectionEAS122の各モジュールの実行を停止し、確保したCPUタイムスロットおよびメモリを解放するタイミングで、仮想パス231のリソースも解放する。
<6.トラッキング処理モジュールの追加構成例>
次に、データ処理システム100のその他の構成例として、ObjDetectionEAS122の処理の後に、認識された物体(オブジェクト)のトラッキング処理を行うアプリケーションを追加した構成について説明する。
図21は、トラッキング処理を行うアプリケーションを追加したデータ処理システム100の構成例を示すブロック図である。
なお、図21では、トラッキング処理を行うアプリケーションの説明に必要なデータ処理システム100の一部のみが示されており、重複する説明は適宜省略する。図21は、ユーザ装置111にDVS131が実装されている場合に対応する構成例を示している。
図21のデータ処理システム100では、トラッキング処理を行うアプリケーションとしてのObjTrackingEAS251が追加されている。また、ワークフローマネージャ252とワークフローディスクリプション253とが設けられている。
ObjTrackingEAS251には、ベースバンドのイメージデータとオブジェクト認識処理結果がObjDetectionEAS122から供給される。ObjDetectionEAS122のオブジェクト認識処理は、ObjTrackingEAS251が行うトラッキング処理の前に行われなければならない。
ObjTrackingEAS251は、オブジェクト認識処理で検出されたオブジェクトの軌跡を追跡するトラッキング処理モジュール271を有する。トラッキング処理モジュール271は、ObjDetectionEAS122において認識されたオブジェクトのそれぞれが、全体の画像の中でどのように移動しているか、および、その後どう移動するかを検出し、軌跡の追跡結果をクラウドセンサアプリケーション123へ通知する。ObjTrackingEAS251は、Edge環境またはクラウド上のいずれかで実行される。
ワークフローマネージャ252は、エッジ環境またはクラウド上で稼働し、各処理モジュールのリソースを管理する。ワークフローマネージャ252は、上述のリソースマネージャ21の名称を、MPEG-I-NBMPフレームワーク(ISO 23090-8:2018 Information technology - Coded representation of immersive media- Part 8: Network Based Media Processing)に合わせて変更したものである。
ワークフローマネージャ252は、トラッキング処理リソース管理モジュール281と、リソース調整/最適化管理モジュール282と、その他の処理リソース管理モジュールを有する。その他の処理リソース管理モジュールには、図10に示したトランスポート及びデコーダリソース管理モジュール171と、特徴量抽出及び分類処理リソース管理モジュール172とが含まれる。
トラッキング処理リソース管理モジュール281は、トラッキング処理モジュール271のリソース確保および実行を行う。また、トラッキング処理リソース管理モジュール281は、クラウドセンサアプリケーション123からリソースの解放要求を受信すると、トラッキング処理モジュール271の実行を停止し、リソースを解放する。
リソース調整/最適化管理モジュール282は、各アプリケーションの属性が記述されたワークフローディスクリプション(NBMP-WD)253を参照し、各アプリケーション(EAS)の実行場所の調整および最適化を行う。
すなわち、リソース調整/最適化管理モジュール282は、ワークフローディスクリプション(NBMP-WD)253を解析して、エッジ環境およびクラウドにおけるリソースの負荷状況を把握し、相対的に遅延要件の緩いアプリケーションを他のエッジ環境またはクラウドに移動するか否か、および、移動する場合の移動先の決定を行う。
ObjDetectionEAS122が実行されているエッジ環境において、そこで稼働するアプリケーションの負荷が高くなり、エッジ環境のCPUタイムスロットやメモリ等のアプリケーションリソース(ネットワーク/トランスポートリソースも含む)がひっ迫し、そのエッジ環境では、新たなObjTrackingEAS251の実行が困難になる場合があり得る。また、ObjTrackingEAS251が行うトラッキング処理は、オブジェクト認識処理ほど、処理の遅延要件が厳しくない場合がある。ObjTrackingEAS251の処理の遅延要件がObjDetectionEAS122に比べて緩いため、周辺のエッジ環境またはクラウド上においてObjTrackingEAS251を実行するのに必要なアプリケーションリソースが確保可能であれば、リソース調整/最適化管理モジュール282は、他の環境にObjTrackingEAS251を移動して実行するように、リソースを調整する。ワークフローディスクリプション(NBMP-WD)253には、所定のアプリケーション(処理モジュール)について、”処理の遅延要件がその他のアプリケーションに対して緩い場合には、他のエッジ環境またはクラウドで実行してもよい”というような条件がアプリケーションの属性として記述される。
図22を参照して、トラッキング処理を行うObjTrackingEAS251のリソース調整/最適化を含むデータ処理フローを説明する。
初めに、ステップS201において、ObjDetectionEAC133のDVSデータ処理モジュール151は、DVS131から供給されるイベントデータを解析し、撮像範囲内の物体を検出する。ObjDetectionEAC133は、物体の候補領域を確定して、物体の候補領域確定情報を、ワークフローマネージャ252の特徴量抽出及び分類処理リソース管理モジュール172およびトラッキング処理リソース管理モジュール281へ通知する。
ステップS202において、特徴量抽出及び分類処理リソース管理モジュール172は、物体の候補領域確定情報を受信し、その候補領域確定情報に基づいて、ObjDetectionEAS122の候補領域確定処理モジュール192のリソース確保および実行を行う。また、トラッキング処理リソース管理モジュール281は、物体の候補領域確定情報を受信し、その候補領域確定情報に基づいて、ObjTrackingEAS251のトラッキング処理モジュール271のリソース確保および実行を行う。
ステップS203において、ObjDetectionEAC133のイメージフレームエンコーダモジュール152は、FBS132から供給されるベースバンドのイメージデータをエンコードする。その際、イメージフレームエンコーダモジュール152は、シーンチェンジ検知アルゴリズムによるIフレームの生成判定を行う。イメージフレームエンコーダモジュール152は、Iフレームを生成すると判定した場合、Iフレームをエンコードする前に、Iフレーム転送タイミング通知を、ワークフローマネージャ252のトランスポート及びデコーダリソース管理モジュール171へ送信する。
ステップS204において、トランスポート及びデコーダリソース管理モジュール171は、イメージフレームエンコーダモジュール152からのIフレーム転送タイミング通知を受信し、ObjDetectionEAS122のトランスポートおよびデコード処理モジュール191のリソース確保および実行を行う。トランスポートおよびデコード処理モジュール191のリソースは、後述するステップS208においてイメージフレームエンコーダモジュール152からエンコードイメージストリームのIフレームが転送される前に確保される。
ステップS205において、ObjDetectionEAS122のトランスポートおよびデコード処理モジュール191またはObjTrackingEAS251のトラッキング処理モジュール271の一方または両方は、リソース負荷増大のため、リソースの確保および実行ができないことを検知し、リソース調整/最適化管理モジュール282へ通知する。
ステップS206において、ワークフローマネージャ252のリソース調整/最適化管理モジュール282は、ワークフローディスクリプション253を解析し、先に実行しようとしたエッジ環境以外のエッジ環境か、または、クラウドに、遅延要件の緩いObjTrackingEAS251を移動するか否かを判定する。ワークフローディスクリプション253は、ObjDetectionEAC133から与えられる場合もあれば、サービスプロバイダのワークフローディスクリプションを管理するエンティティから与えられる場合もある。
リソース調整/最適化管理モジュール282は、ObjTrackingEAS251を移動すると判定すると、移動先となる他のエッジ環境またはクラウドを決定し、ObjTrackingEAS251の移動命令を、トラッキング処理リソース管理モジュール281へ通知する。
トラッキング処理リソース管理モジュール281は、ステップS207において、リソース調整/最適化管理モジュール282から、ObjTrackingEAS251の移動命令と移動先の環境とを受信する。そして、トラッキング処理リソース管理モジュール281は、指定された移動先の環境においてObjTrackingEAS251のトラッキング処理モジュール271のリソース確保(再確保)および実行を行う。ObjTrackingEAS251は、再確保された環境上で実行される。
ステップS208において、ObjDetectionEAC133のイメージフレームエンコーダモジュール152は、撮像したベースバンドのイメージデータをエンコードしたエンコードイメージストリームを、ObjDetectionEAS122のトランスポートおよびデコード処理モジュール191へアップリンク(送信)する。
ステップS209において、ObjDetectionEAS122のトランスポートおよびデコード処理モジュール191は、エンコードイメージストリームのトランスポート処理およびデコードを行う。デコードにより得られた撮像範囲全体のベースバンドのイメージデータがObjTrackingEAS251のトラッキング処理モジュール271に供給される。
ステップS210において、ObjDetectionEAS122の特徴量抽出およびオブジェクト分類処理モジュール193は、ベースバンドのイメージデータと、物体の候補領域確定情報とに基づいて、特徴量抽出処理およびオブジェクト分類処理を候補領域ごとに並列に実行する。特徴量抽出およびオブジェクト分類処理モジュール193は、オブジェクト分類処理結果、すなわち、オブジェクト認識結果を、トラッキング処理モジュール271およびクラウドセンサアプリケーション123へ通知する。
トラッキング処理モジュール271は、画像のオブジェクトの軌跡を追跡するトラッキング処理を実行し、軌跡の追跡結果を、クラウドセンサアプリケーション123へ通知する。
以上のように、リソース調整/最適化管理モジュール282が、ワークフローディスクリプション253を参照し、リソースの負荷状況に応じて、遅延要件の緩いアプリケーションを、他のエッジ環境またはクラウドへ移動することにより、リソースを調整および最適化することができる。
図23は、ワークフローディスクリプション253の構造例を示している。
ワークフローディスクリプション253には、General Descriptor、Input Descriptor、Output Descriptor、Processing Descriptor、および、Requirements Descriptorが含まれる。このうちのRequirements Descriptorの属性に、“relativeProcessingDelayAcceptable”が導入される。“relativeProcessingDelayAcceptable”は、処理遅延を許容するか否かを、TrueまたはFalseにより指定することができる。
<7.まとめ>
データ処理システム100は、クライアント側の装置であるユーザ装置111で取得したイメージデータをネットワーク(クラウド)112へ転送し、ネットワーク112上でオブジェクト認識処理を実行させる。オブジェクト認識処理の認識結果は、クラウドセンサアプリケーション123へ送信され、所定のアプリケーション処理に利用される。
オブジェクト認識処理等は負荷の高い処理であり、できるだけ不必要な処理が軽減されなければならない。ユーザ装置111で取得したイメージデータを、エッジ環境およびクラウドを含むネットワーク112へ転送し、新しいオブジェクトが入ったか否かもわからずに、常時オブジェクト認識処理を稼働するシステムはリソースが無駄となる。遅延要件の厳しい認識系アプリケーションは、今後、増加していくものと考えられ、リソースの枯渇やエネルギー消費が大きな問題となる可能性がある。そのため、リソースを必要な時に逐次動的に確保できるような方法が求められる。
上述したデータ処理システム1および100では、動画像のシーンチェンジによるIフレーム生成にともなってオブジェクト認識処理に必要なリソースがネットワーク上のエッジ環境に確保される。換言すれば、シーンチェンジに対応する、新たな物体が検出されるタイミングでリソースが確保され、オブジェクト認識処理が稼働する。これにより、リソースを必要な時に逐次動的に確保することができる。
クライアント側装置が光信号の時間的輝度変化をイベントデータとして出力するDVS(DVS31またはDVS131)を実装している場合には、フレームベースのイメージデータでは検出できない時間粒度で新たな物体を検出することができるので、フレームベースのイメージセンサ(FBS32またはFBS132)のみの場合と比較して、より早くリソースを確保することができる。また、新たな物体の数も検出することができるので、リソース負荷も予測可能で、より適切なリソース準備が可能となる。
<8.その他のユースケース例>
本技術は、上述した画像内のオブジェクト認識処理以外の処理にも適用することができる。例えば、本技術は、ボディセンサにおいてリアルタイムに計測される生体情報をもとにした医療・ヘルスケアを行うシステムにも適用することができる。
ボディセンサネットワークは、身体の表面(ウェアラブル)及び体内(インプラント)に配置されたセンサによって作られるセンサネットワークの一種である。最近では、これらセンサ群を携帯ネットワーク、あるいは、院内ネットワーク(ローカルまたはパブリック5Gネットワーク)などを通して、外部のモニタリング/解析系のアプリケーションに接続し、心電図、動脈血酸素飽和度、体温といったリアルタイムに計測される生体情報をもとにした医療・ヘルスケアを行うシステムが急速に広まっている。
例えば、DVSの医療応用として、Event Based Sensorによる微小循環(毛細血管網とその輸入・輸出血管である細動脈,細静脈)の赤血球流量および濃度測定による急性または慢性病を検知する例が紹介されている。今後、FrameBasedSensorまたはEvent Based Sensor等のイメージセンサを利用して、血管内の赤血球の流れのみならず、何か異物(赤血球とは異なる形状または色をもつ物体)を検知して、認識した後、それが危険なものであれば、すぐに処置(滞留させたり、粉砕したりする等)ができるようにする緊急処置システムに、本技術を適用することができる。例えば、通常、一定の太さの血管を流れている赤血球の場合、形状は、ほぼ均一の状態で血管内を移動するだけなので、新しい赤血球が撮像範囲内に入ったとしても、エンコーダのシーンチェンジ検知に引っかからずに、動き予測のブロックマッチングで、あるオブジェクトの”移動”とみなされ、シーンチェンジは発生しない(PフレームやBフレームで処理される)。一方、剥離血栓等の異物が撮像範囲に入った場合には、エンコーダのシーンチェンジとして検出される。その場合、それが赤血球とは異なる”異物”であることをすぐに検知および認識して、その異物の内容に応じた緊急処置のトリガーをかける必要がある。この血管内異物発見のような処理は、頻繁に起こる事象ではないため、イメージセンサのフレームイメージをもとに常に異物認識処理にかけることは多大なリソースの無駄となる。今後、生体情報センサネットワークが各病院内のローカル5Gネットワークの普及とともに、広く展開されるようになると、患者のボディセンサから常時収集される膨大なイメージフレームデータ等を常に認識処理して緊急対応できるよう、ネットワークリソースおよび計算リソースを過剰に確保して運用するとなると、膨大な電力/エネルギーが常に無駄に消費されてしまう。本技術を適用することにより、異物が検知されそうな場合にのみ、必要なリソースをタイミングよく確保し、処理が終わった後は、すぐにリソースを解放することができる。
本技術は、医療センサネットワークのみならず、様々な産業分野にわたり膨大なセンサネットワークが展開していくに従い、データセンタのエネルギー消費問題、クラウド内センサアプリケーションのリソースの効率利用に大きく貢献することができる。
<9.コンピュータ構成例>
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているマイクロコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図24は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)301,ROM(Read Only Memory)302,RAM(Random Access Memory)303は、バス304により相互に接続されている。
バス304には、さらに、入出力インタフェース305が接続されている。入出力インタフェース305には、入力部306、出力部307、記憶部308、通信部309、及びドライブ310が接続されている。
入力部306は、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部307は、ディスプレイ、スピーカ、出力端子などよりなる。記憶部308は、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部309は、ネットワークインタフェースなどよりなる。ドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブル記録媒体311を駆動する。
以上のように構成されるコンピュータでは、CPU301が、例えば、記憶部308に記憶されているプログラムを、入出力インタフェース305及びバス304を介して、RAM303にロードして実行することにより、上述した一連の処理が行われる。RAM303にはまた、CPU301が各種の処理を実行する上において必要なデータなども適宜記憶される。
コンピュータ(CPU301)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体311に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブル記録媒体311をドライブ310に装着することにより、入出力インタフェース305を介して、記憶部308にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部309で受信し、記憶部308にインストールすることができる。その他、プログラムは、ROM302や記憶部308に、あらかじめインストールしておくことができる。
本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
また、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる場合はもちろん、必ずしも時系列的に処理されなくとも、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで実行されてもよい。
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、上述した実施の形態においては、複数のモジュールで構成されていたアプリケーションが1つのモジュールで構成されたり、さらに多数のモジュールに細分化されてもよい。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、本明細書に記載されたもの以外の効果があってもよい。
なお、本技術は、以下の構成を取ることができる。
(1)
イメージセンサのIフレーム生成のタイミングにともない、前記イメージセンサから転送されるイメージデータのオブジェクト認識処理に必要なリソースをネットワーク上に確保する管理モジュール
を備えるデータ処理装置。
(2)
前記管理モジュールは、前記イメージデータをエンコードするエンコーダが検出するシーンチェンジによるIフレーム生成のタイミングにともない、前記リソースを確保する
前記(1)に記載のデータ処理装置。
(3)
前記管理モジュールは、確保した前記リソースを用いて、オブジェクト認識処理アプリケーションを実行する
前記(1)または(2)に記載のデータ処理装置。
(4)
前記オブジェクト認識処理は、候補領域確定処理を含み、
前記管理モジュールは、前記候補領域確定処理で検出された候補領域の数に対応する前記リソースを確保する
前記(3)に記載のデータ処理装置。
(5)
前記イメージセンサを有するデバイスには、光信号の時間的輝度変化をイベントデータとして出力するイベントセンサが実装されており、
前記管理モジュールは、前記イベントデータに基づく前記Iフレーム生成に対応する新たな物体を検出したタイミングにともない、前記リソースを確保する
前記(1)ないし(4)のいずれかに記載のデータ処理装置。
(6)
前記管理モジュールは、前記新たな物体の候補領域確定情報を前記イベントセンサから受信したタイミングで、前記リソースを確保する
前記(5)に記載のデータ処理装置。
(7)
前記新たな物体の候補領域確定情報には、前記新たな物体の候補領域の数を含み、
前記管理モジュールは、前記新たな物体の候補領域の数に対応する前記リソースを確保する
前記(6)に記載のデータ処理装置。
(8)
前記管理モジュールは、さらに、前記オブジェクト認識処理で検出された物体を追跡するトラッキング処理に必要なリソースを前記ネットワーク上に確保する
前記(1)ないし(7)のいずれかに記載のデータ処理装置。
(9)
前記管理モジュールは、さらに、リソースの負荷状況と処理の遅延要件に応じて、アプリケーションの実行場所の調整を行う
前記(1)ないし(8)のいずれかに記載のデータ処理装置。
(10)
前記管理モジュールは、前記リソースの解放要求に基づいて、確保した前記リソースを解放する
前記(1)ないし(9)のいずれかに記載のデータ処理装置。
(11)
データ処理装置が、
イメージセンサのIフレーム生成のタイミングにともない、前記イメージセンサから転送されるイメージデータのオブジェクト認識処理に必要なリソースをネットワーク上に確保する
データ処理方法。
(12)
イメージセンサにより生成されたイメージデータをネットワークへ転送するクライアントデバイスと、
前記イメージセンサのIフレーム生成のタイミングにともない、前記イメージデータのオブジェクト認識処理に必要なリソースを前記ネットワーク上に確保する管理モジュールと
を備えるデータ処理システム。
(13)
前記クライアントデバイスは、光信号の時間的輝度変化をイベントデータとして出力するイベントセンサも備え、
前記管理モジュールは、前記イベントデータに基づいて、前記Iフレーム生成に対応する新たな物体を検出したタイミングにともない、前記リソースを確保する
前記(12)に記載のデータ処理システム。