(57)【要約】      （修正有）【課題】ネットワーク構成を複雑化することなく、タスクを効率的に分散処理する。【解決手段】情報処理装置１は、通信部２と、他の通信装置が配信したメッセージを受信する広告受信部３と、受信されたメッセージを送信した他の通信装置との間での情報を取得するネットワーク情報取得部４と、ネットワーク情報と受信メッセージとを管理する周辺装置情報管理部５と、他の通信装置からの依頼タスクを受け付けるタスク受付部６と、処理すべきタスクの割り当てを行い、通信部を介して他の通信装置に依頼するタスク割当部７と、タスクを実行するタスク処理部８と、タスク処理部の処理能力と処理負荷との少なくとも一方を含む情報の処理関連情報生成部９と、処理関連情報を含むメッセージを生成しネットワークを介して他の通信装置に送信するメッセージ送信部１０とを備える。【選択図】図１
2014102691.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して他の通信装置との間で通信を行う通信部と、
前記他の通信装置が前記ネットワークに配信したメッセージを、前記通信部を介して受信するメッセージ受信部と、
前記メッセージ受信部で受信されたメッセージを送信した、前記他の通信装置との間での通信に関するネットワーク情報を取得するネットワーク情報取得部と、
前記ネットワークに接続された前記他の通信装置のそれぞれについて、前記ネットワーク情報取得部で取得した前記ネットワーク情報と、前記メッセージ受信部で受信されたメッセージとを管理する周辺装置情報管理部と、
前記他の通信装置から前記通信部を介して依頼されたタスクを受け付けるタスク受付部と、
前記メッセージ受信部で受信されたメッセージと前記ネットワーク情報とに基づいて、処理すべきタスクの割り当てを行い、他の通信装置に割り当てたタスクを前記通信部を介して前記他の通信装置に依頼するタスク割当部と、
前記タスク割当部により割り当てられた分のタスクを実行するタスク処理部と、
前記タスク処理部の処理能力と前記タスク処理部の処理負荷との少なくとも一方を含む処理関連情報を生成する処理関連情報生成部と、
前記処理関連情報を含むメッセージを生成して、前記通信部および前記ネットワークを介して前記他の通信装置に送信するメッセージ送信部と、を備えることを特徴とする情報処理装置。
【請求項２】
前記周辺装置情報管理部で管理する、前記他の通信装置ごとの前記ネットワーク情報を対応づけて登録する周辺装置データベース部を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ネットワーク情報は、前記他の通信装置の処理能力、前記他の通信装置の処理負荷、前記他の通信装置との接続形態、通信品質、通信遅延、通信エラー率、ホップ数、および信号強度の少なくとも一つの情報を含むことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記タスク割当部は、前記他の通信装置にタスクを割り当てる際には、所定の条件に基づいて前記他の通信装置のそれぞれに対して優先順位を付けてタスクを割り当てることを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
前記所定の条件は、前記他の通信装置との間の通信時間と、前記他の通信装置のタスク処理時間と、の少なくとも一方を含むことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記タスク割当部は、タスクを割り当てた前記他の通信装置から処理できない旨を応答を受けた場合には、前記他の通信装置のそれぞれに付けた優先順位を更新して、該応答を受けたタスクの割当先を再検討することを特徴とする請求項４または５に記載の情報処理装置。
【請求項７】
画像処理を行うべき画像を取得する画像取得部を備え、
前記タスク割当部は、画像処理のためのタスクの割り当てを行い、
前記タスク処理部は、前記タスク割当部により割り当てられた画像処理と前記タスク受付部が受け付けた画像処理とを実行し、
前記処理関連情報生成部は、前記タスク処理部の画像処理能力と、前記タスク処理部が画像処理を行う際の処理負荷との少なくとも一方を含む前記処理関連情報を生成し、
前記メッセージ送信部は、前記ネットワークに接続された前記他の通信装置に対して前記タスク割当部が割り当てた画像処理のためのタスクの処理を依頼する内容を含む前記メッセージを生成することを特徴とする請求項１乃至６のいずれかに記載の情報処理装置。
【請求項８】
前記タスク割当部が割り当てるべきタスクは、画像に含まれる人間の顔認識処理のタスクと、顔認識した人物の性別判別処理のタスクとを含むことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記タスク割当部は、画像を複数の領域に分割する処理に関するタスクを前記タスク処理部に割り当てて、分割された各領域内の画像処理に関するタスクを前記ネットワークに接続された前記他の通信装置に割り振ることを特徴とする請求項７または８に記載の情報処理装置。
【請求項１０】
前記処理関連情報生成部は、
処理負荷による影響を受けない装置固有の処理能力を取得する処理能力取得部と、
現在の処理負荷、処理負荷の傾向および将来の処理負荷予想の少なくとも一つを含み、処理負荷により変動する動的な処理負荷情報を生成する処理負荷生成部と、を含み、
前記処理関連情報は、前記処理能力取得部が取得した装置固有の処理能力と、前記処理負荷生成部が生成した前記静的な処理負荷情報とを含むことを特徴とする請求項１乃至９のいずれかに記載の情報処理装置。
【請求項１１】
前記動的な処理負荷情報は、前記タスク処理部の処理負荷と、前記通信部が前記ネットワークを介して前記他の通信装置と通信を行う際のネットワーク処理の負荷と、前記ネットワークに接続されてタスクの分散処理を行うすべての前記他の通信装置の処理負荷とを含むことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記通信部は、ルーティングプロトコルのメッセージに含まれる前記メッセージを前記メッセージ受信部に供給し、前記ルーティングプロトコルの前記メッセージに含まれるルーティング情報と受信時の信号強度とを含む情報を前記ネットワーク情報取得部に供給することを特徴とする請求項１乃至１１のいずれかに記載の情報処理装置。
【請求項１３】
動画像または静止画像の少なくとも一方を撮影する撮影部と、
前記撮影部で撮影した動画像または生成画像を記憶する画像記憶部と、
ネットワークを介して他の通信装置との間で通信を行う通信部と、
前記他の通信装置が前記ネットワークに配信したメッセージを、前記通信部を介して受信するメッセージ受信部と、
前記メッセージ受信部で受信されたメッセージを送信した、前記他の通信装置との間での通信に関するネットワーク情報を取得するネットワーク情報取得部と、
前記ネットワークに接続された前記他の通信装置のそれぞれについて、前記ネットワーク情報取得部で取得した前記ネットワーク情報と、前記メッセージ受信部で受信されたメッセージとを管理する周辺装置情報管理部と、
前記他の通信装置から前記通信部を介して依頼されたタスクを受け付けるタスク受付部と、
前記メッセージ受信部で受信されたメッセージと前記ネットワーク情報とに基づいて、処理すべきタスクの割り当てを行い、前記他の通信装置に割り当てたタスクを前記通信部を介して前記他の通信装置に依頼するタスク割当部と、
前記タスク割当部により割り当てられたタスクと前記タスク受付部が受け付けたタスクとを実行するタスク処理部と、
前記タスク処理部の処理能力と前記タスク処理部の処理負荷との少なくとも一方を含む処理関連情報を生成する処理関連情報生成部と、
前記処理関連情報を含むメッセージを生成して、前記通信部および前記ネットワークを介して送信するメッセージ送信部と、を備えることを特徴とする通信機能を持つカメラ。
【請求項１４】
他の通信装置が前記ネットワークに配信したメッセージを、通信部を介して受信するステップと、
前記受信されたメッセージを送信した、前記他の通信装置との間での通信に関するネットワーク情報を取得するステップと、
前記ネットワークに接続された前記他の通信装置のそれぞれについて、前記取得されたネットワーク情報と、前記受信されたメッセージとを管理するステップと、
前記他の通信装置から前記通信部を介して依頼されたタスクを受け付けるステップと、
前記受信されたメッセージと前記管理されるネットワーク情報とに基づいて、処理すべきタスクの割り当てを行い、前記他の通信装置に割り当てたタスクを前記通信部を介して前記他の通信装置に依頼するステップと、
自装置に割り当てられたタスクと前記受け付けたタスクとをタスク処理部にて実行するステップと、
前記タスク処理部の処理能力と前記タスク処理部の処理負荷との少なくとも一方を含む処理関連情報を生成するステップと、
前記処理関連情報を含むメッセージを生成して、前記通信部および前記ネットワークを介して送信するステップと、を備えることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、タスクを分散して処理する情報処理装置、通信機能を持つカメラ、および情報処理方法に関する。
【背景技術】
【０００２】
ネットワークに接続された複数の画像処理装置を用いて、画像処理を分散して実行する技術が提案されている。
【０００３】
また、画像処理の一例として、カメラで撮影した画像に含まれる人の顔を認識して、認識した顔が特定の人物か否かを自動判別する技術も提案されている。
【０００４】
従来の技術では、画像処理を分散処理するにあたって、画像処理の分散の仕方を決定する制御装置を設けて、この制御装置が画像処理をどの装置に割り振るかを決定していた。このため、画像処理を分散処理する装置の他に、制御装置が必須となり、システム構成が複雑になるという問題があった。
【０００５】
画像に含まれる人間の顔を認識する処理や、認識した顔が特定人物か否かを判別する処理は、画像に含まれる人間の数が増えるほど、画像処理装置の処理負担が大きくなる。この種の画像処理をネットワークに接続された複数の画像処理装置で分散して行う場合、各画像処理装置の処理性能や処理状況だけでなく、依頼元から依頼先までの通信時間等のネットワーク負荷も考慮に入れなければならない。
【０００６】
ところが、従来の技術には、各画像処理装置の処理性能や処理状況、ネットワーク負荷を総合的に勘案して画像処理を分散化するという着想はなかった。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−８５９６７号公報
【特許文献２】特開２００１−２６６１５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本実施形態は、ネットワーク構成を複雑化することなく、タスクを効率的に分散処理することができる情報処理装置、通信機能を持つカメラ、および情報処理方法を提供するものである。
【課題を解決するための手段】
【０００９】
本実施形態では、ネットワークを介して他の通信装置との間で通信を行う通信部と、
前記他の通信装置が前記ネットワークに配信したメッセージを、前記通信部を介して受信するメッセージ受信部と、
前記メッセージ受信部で受信されたメッセージを送信した、前記他の通信装置との間での通信に関するネットワーク情報を取得するネットワーク情報取得部と、
前記ネットワークに接続された前記他の通信装置のそれぞれについて、前記ネットワーク情報取得部で取得した前記ネットワーク情報と、前記メッセージ受信部で受信されたメッセージとを管理する周辺装置情報管理部と、
前記他の通信装置から前記通信部を介して依頼されたタスクを受け付けるタスク受付部と、
前記メッセージ受信部で受信されたメッセージと前記ネットワーク情報とに基づいて、処理すべきタスクの割り当てを行い、他の通信装置に割り当てたタスクを前記通信部を介して前記他の通信装置に依頼するタスク割当部と、
前記タスク割当部により割り当てられたタスクと前記タスク受付部が受け付けたタスクとを実行するタスク処理部と、
前記タスク処理部の処理能力と前記タスク処理部の処理負荷との少なくとも一方を含む処理関連情報を生成する処理関連情報生成部と、
前記処理関連情報を含むメッセージを生成して、前記通信部および前記ネットワークを介して前記他の通信装置に送信するメッセージ送信部と、を備えることを特徴とする情報処理装置が提供される。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係る情報処理装置１の概略構成を示すブロック図。
【図２】本実施形態のネットワーク構成図。
【図３】ネットワーク２０の具体的な構成を示す図。
【図４】監視カメラ１ａの概略構成を示すブロック図。
【図５】周辺装置ＤＢ１１に格納される情報の一例を示す図。
【図６】自ノードのタスク割当部７の処理手順の一例を示すフローチャート。
【図７】図２とは異なる例のネットワーク構成図。
【図８】エラー出力の一例を示す図。
【図９】第６の実施形態に係るネットワーク構成図。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら、本発明の実施形態について説明する。
【００１２】
図１は一実施形態に係る情報処理装置１の概略構成を示すブロック図である。図１の情報処理装置１は、通信部２と、広告受信部（メッセージ受信部）３と、ネットワーク情報取得部４と、周辺装置情報管理部５と、タスク受付部６と、タスク割当部７と、タスク処理部８と、処理関連情報生成部９と、広告送信部（メッセージ送信部）１０とを備えている。
【００１３】
通信部２は、ネットワーク２０を介して他の通信装置３０との間で通信を行う。広告受信部３は、他の通信装置３０がネットワークに配信した広告メッセージを、通信部２を介して受信する。
【００１４】
ネットワーク情報取得部４は、広告受信部３で受信された広告メッセージを送信した、他の通信装置３０との間での通信に関するネットワーク情報を取得する。このネットワーク情報は、自ノードと通信を行う他の通信ノードとの間のネットワーク接続に関する情報、接続形態、通信品質、通信帯域、信号遅延、エラー率、ホップ数、信号強度などが含まれる。ネットワーク情報の詳細については後述する。
【００１５】
周辺装置情報管理部５は、ネットワーク２０に接続された他の通信装置３０のそれぞれについて、ネットワーク情報取得部４で取得したネットワーク情報と広告受信部３で受信された広告メッセージの内容とを管理する。各通信装置ごとのネットワーク情報と広告メッセージの内容は、それぞれ対応づけられて周辺装置データベース（周辺装置ＤＢ）１１に格納される。
【００１６】
タスク受付部６は、他の通信装置３０から通信部２を介して依頼されたタスクを受け付ける。タスク割当部７は、広告受信部３で受信された広告メッセージとネットワーク情報に基づいて、処理すべきタスクの割り当てを行い、他の通信装置３０に割り当てたタスクを通信部２を介して他の通信装置３０に依頼する。タスク処理部８は、タスク割当部７により自装置に割り当てられたタスクとタスク受付部６が受け付けたタスクとを実行する。
【００１７】
処理関連情報生成部９は、タスク処理部８の処理能力とタスク処理部８の処理負荷との少なくとも一方を含む処理関連情報を生成する。
【００１８】
広告送信部１０は、処理関連情報を含む広告メッセージを生成して、通信部２とネットワーク２０を介して他の通信装置３０に広告する。
【００１９】
本実施形態では、図１の情報処理装置１以外に、ネットワーク２０に複数の通信装置が接続されることを念頭に置いている。ネットワーク構成では、情報処理装置１と通信装置のそれぞれは（通信）通信ノードとみなすことができるため、本実施形態のネットワーク構成図は図２のようなものになる。
【００２０】
図２では、ネットワーク２０の具体的な構成を明示していないが、例えば図３のような具体例が考えられる。図３の例では、通信ノード１０１、１０３および１０４のそれぞれは通信ノード１０２と通信を行い、通信ノード１０６と１０７のそれぞれは通信ノード１０５と通信を行う。通信ノード１０２と１０５が通信を行うものとすると、他のすべての通信ノードは、通信ノード１０２と１０５を介して、任意に通信を行うことができる。
【００２１】
このように、図２および図３に示す通信ノードは、ルーティングトポロジを形成する。ルーティングトポロジは、静的なルーティングトポロジを採用してもよいし、通信状況等によってルーティング経路を任意に変更する動的なルーティングトポロジを採用してもよい。動的なルーティングトポロジを形成する具体的手法として、ＲＰＬ（IPv6 Routing Protocol for Low power and Lossy Networks）、ＡＯＤＶ（Ad hoc On-Demand Distance Vector）ルーティング、ＯＬＳＲ（Optimized Link State Routing Protocol）などを採用可能であり、他のルーティングトポロジを採用してもよい。
【００２２】
図３に示した通信ノード１０１〜１０７は、図１の情報処理装置１か、あるいはネットワーク２０に接続された他の通信装置３０である。他の通信装置３０は、サーバ装置や中継装置などの通信機能を備えた種々の通信機器を含むことができるが、以下では、図１の情報処理装置１と同様の機能を有する通信機器を他の通信装置３０として、タスクの分散処理を行う例を説明する。
【００２３】
本実施形態におけるタスクの具体的な処理内容は問わないが、以下では、タスクとして画像処理を行う例を説明する。
【００２４】
図１の情報処理装置１と他の通信装置３０の具体例は、例えばネットワーク接続された監視カメラである。本実施形態では、例えば、一台の監視カメラが撮影した画像に含まれる人間の顔認識を行うタスクと、認識された顔から性別を判別して画像中の人物の数を性別ごとに算出するタスクとを、ネットワーク２０に接続された複数の監視カメラで分散して処理する。例えば、図３の各通信ノードが監視カメラであり、撮影した監視カメラ自身で撮影画像の画像処理のためのタスクを行うこともできるし、他の通信ノードの監視カメラに画像処理用のデータを送信して、複数の監視カメラで画像処理を分担して行ってもよい。
【００２５】
より具体的な例としては、繁華街等の多人数が通行する場所に設置された監視カメラで撮影した画像には、特定の時間帯に数多くの人間の顔が写しこまれることが予想され、監視カメラ単体で撮影画像を解析して顔認識と性別判別等の画像処理を行うにはかなりの時間がかかってしまう。そこで、同じネットワーク２０に接続された他の複数の監視カメラで画像処理を分担しあうことで、比較的短時間で顔認識と性別判別を行うことができる。
【００２６】
このように、ネットワーク２０に接続された複数の監視カメラが画像処理のタスクを分担して行うようにすれば、各監視カメラの設置場所付近の通行者の数が時間帯によって大きく変動したとしても、通行者の数が多くて画像処理のタスク処理が追いつかない監視カメラから、通行者の数が少なくて処理に余裕がある監視カメラにタスク処理を依頼することで、短時間で画像処理を完了することが可能となる。
【００２７】
図１の情報処理装置１が監視カメラ１ａの場合、図４に示すように、図１に示したブロック構成に加えて、少なくとも撮影部１４と、撮影画像を記憶する記憶部１５とが新たに必要になる。撮影部１４は、動画像と静止画像の少なくとも一方を撮影するものである。
【００２８】
監視カメラ１ａの場合、タスク割当部７は、画像処理のためのタスクの割り当てを行い、タスク処理部８は、タスク割当部７が割り当てた分の画像処理を実行する。また、処理関係情報生成部は、タスク処理部８の画像処理能力と、タスク処理部８が画像処理を行う際の処理負荷との少なくとも一方を含む処理関連情報を生成する。また、必要に応じて、タスク割当部７は、ネットワーク２０に接続された監視カメラに対して、撮影部１４が取得した画像に関する画像処理の少なくとも一部を依頼することを決定し、その旨の指示メッセージを通信部２を介して送信する。
【００２９】
本実施形態に係る情報処理装置１と他の通信装置３０は、いずれも図１と同様のブロック構成を備えているものとする。これらの装置内の処理関連情報生成部９は例えば、図１に示すように、処理能力取得部１２と処理負荷生成部１３を有する。処理能力取得部１２は、処理負荷による影響を受けない装置固有の処理能力を取得する。ここでいう処理能力とは、例えば装置自体のハードウェア構成情報やハードウェア性能である。処理負荷生成部１３は、自装置の処理負荷により変動する動的な処理負荷情報を生成する。この処理負荷情報には、自装置の現在の処理負荷、処理負荷の傾向および将来の処理負荷予想の少なくとも一つを含んでいる。処理負荷の傾向とは、処理負荷が時間の経過とともに増える傾向にあるか、減る傾向にあるかの処理負荷の傾向に関する情報や、処理負荷が高い時間帯、曜日、月などの処理負荷と時間に関する情報などである。
【００３０】
処理負荷生成部１３は、これらの装置固有の処理能力と動的な処理負荷情報とを含む処理関連情報を生成する。なお、処理関連情報は、装置固有の処理能力と動的な処理負荷情報の２つを必ず含んでいる必要はなく、いずれか一方の情報だけを含んでいてもよい。
【００３１】
処理能力取得部１２と処理負荷生成部１３で生成された処理関連情報は、広告送信部１０とネットワーク２０を介して、他の通信ノードの情報処理装置１または通信装置３０に広告される。そして、各通信ノードの情報処理装置１または通信装置３０は、他の通信ノードが広告した処理関連情報を含む広告メッセージを広告受信部３で受信する。広告メッセージに含まれる処理関連情報はネットワーク情報取得部４に送られる。ネットワーク情報取得部４は、処理関連情報を広告した通信ノードの情報処理装置１または他の通信装置３０との間での通信に関するネットワーク情報を取得する。このネットワーク情報は、他の通信ノードとの接続形態、通信品質、通信遅延、通信エラー率、ホップ数、信号強度などを含んでいる。これらの情報は一例であり、これらの情報の一部のみを含んでいてもよし、他の情報を含んでいてもよい。このネットワーク情報および処理関連情報は、広告元通信ノードである情報処理装置１または通信装置３０と対応づけて、周辺装置ＤＢ１１に格納される。
【００３２】
図５は周辺装置ＤＢ１１に格納される情報の一例を示す図である。この例では、ネットワーク２０に接続された情報処理装置１と通信装置のそれぞれを識別するための通信ノード識別子に対応づけて、ネットワーク情報が周辺装置ＤＢ１１に登録されている。登録されているネットワーク情報は、例えば、処理能力、処理負荷、自ノードからのホップ数、パケットエラー率、通信帯域、通信遅延、情報更新時からの経過時間（タイムスタンプ）である。
【００３３】
以下では、自ノードに図１の情報処理装置１が位置し、その周辺ノードのそれぞれに他の通信装置３０が位置するものとし、情報処理装置１と他の通信装置３０のいずれもが、図１と同様の構成を備えているものとする。
【００３４】
自ノードのタスク割当部７は、周辺装置ＤＢ１１に格納されたネットワーク情報および処理関連情報を参照して、周辺ノードの通信装置が分担すべき画像処理のタスクを決定する。より具体的には、タスク割当部７は、カメラなどから取得した画像データの画像処理を自ノードで行うか、あるいは周辺ノードに依頼するかを決定し、周辺ノードに依頼する場合は、どのような処理単位（タスク）を依頼するかを判断する。
【００３５】
次に、画像に含まれる男性と女性の数を割り出す処理を例に取って、タスク割当部７の処理手順を説明する。図６は自ノードのタスク割当部７の処理手順の一例を示すフローチャートである。
【００３６】
まず、入力画像データ中の顔領域の抽出をタスク処理部８に指示する（ステップＳ１）。タスク処理部８の処理結果に基づいて、次の入力画像データが入力されるまでの間に自ノードで性別判定処理を完了できるか否かを判定する（ステップＳ２）。このステップＳ２は、入力画像データ中に含まれる顔領域の個数や自ノードの処理性能、自ノードの処理負荷などから、自ノードで性別判定処理を完了できるか否かを判定する。
【００３７】
自ノードで性別判定処理を完了できると判定した場合は、タスク処理部８に性別判定処理を行うように指示し（ステップＳ３）、図６の処理を終了する。
【００３８】
一方、自ノードだけでは性別判定処理を完了できないと判定した場合は、周辺装置情報管理部５から周辺ノードのネットワーク情報および処理関連情報を取得して、性別判定処理を所定の時間内に完了可能な周辺ノードを選択する（ステップＳ４）。
【００３９】
このステップＳ４の処理を行うにあたっては、周辺装置情報管理部５から取得できる、周辺ノードの処理能力や処理負荷から、周辺ノードが性別判定処理を行った場合の処理時間を推定する。また、ネットワーク情報に基づいて、自ノードと周辺ノードまでの通信経路上の通信帯域や通信遅延などを検出して、自ノードと周辺ノードで画像データを送受するのに要する通信時間を推定する。これらの推定処理は、周辺ノードのすべてについて行ってもよいし、一部の周辺ノードに対して行ってもよい。次に、推定した処理時間と通信時間に基づいて、周辺ノードのそれぞれに優先順位を付ける。優先順位は、推定した処理時間と通信時間だけでなく、予め定めた所定のポリシーも考慮に入れて、決定する。所定のポリシーとは、処理時間と通信時間の合計が小さい周辺ノードほど優先順位を高くするポリシーや、処理時間よりも通信時間の短さを優先し、通信時間が同じ場合には処理時間が短い周辺ノードの優先順位を高くするポリシーなどであり、ネットワーク２０システムの要求に従って種々のポリシーが考えられる。
【００４０】
次に、ステップＳ４で選択した周辺ノードに対して依頼すべきタスクを決定する（ステップＳ５）。例えば、入力画像データに含まれる複数の顔領域のそれぞれについて、別個の周辺ノードに性別判定処理を依頼することにし、ステップＳ５では、ステップＳ４で選択した周辺ノードに、どの顔領域の性別判定処理を依頼するかを決定する。
【００４１】
次に、ステップＳ４で選択した周辺ノードに、ステップＳ５で決定したタスクの処理を指示する指示メッセージを送信する（ステップＳ６）。この指示メッセージには、割り当てたタスクの処理を完了する期限情報を含めてもよい。
【００４２】
次に、自ノードに割り当てられたタスクの処理の実行をタスク処理部８に指示する（ステップＳ７）。
【００４３】
ステップＳ６の指示メッセージを受け取った周辺ノードの通信装置は、その内部のタスク受付部６で指示メッセージを解析する。そして、自身の通信ノードの処理能力や処理負荷などを考慮して、依頼されたタスクの処理を行うか否かを決定する。依頼されたタスクの処理を行う場合は、そのノードのタスク処理部８に、依頼されたタスクの処理を指示する。依頼されたタスクの処理を行わない場合は、指示メッセージの送信元ノードである情報処理装置１または通信装置３０に、依頼拒否メッセージを送信する。
【００４４】
ところで、ある通信ノードの情報処理装置１または通信装置３０から依頼されたタスクの処理結果は、依頼元ノードに返す場合もあるし、返さない場合もあり得る。処理結果をどうするかについては、処理依頼時の指示メッセージに含めてもよいし、予め何等かの手法で通知してもよい。
【００４５】
このように、第１の実施形態では、自ノードだけでは画像処理等の複数のタスクを所定の時間内に実行できない場合に、周辺ノードにタスクを割り当てることができるため、複数の通信ノードが協力しあって短時間で複数のタスクを実行できる。周辺ノードにタスクを割り当てる際には、自ノードと周辺ノードとの間での通信に関するネットワーク情報と周辺ノードの処理関連情報に基づいて、どの周辺ノードにどのタスクを割り当てるかを決定するため、自ノードと周辺ノードの処理能力や処理負荷、あるいは自ノードと周辺ノードとの間の通信帯域や通信遅延などを考慮に入れてタスク割当を決定できることから、最適なタスク割当を行える。
【００４６】
本実施形態によれば、ネットワーク２０に接続されたすべての通信ノード同士で、相互に通信を行いながらタスクを分担して処理するため、サーバ装置のようなすべての通信ノードを統括的に制御するものが不要となり、ネットワーク構成を簡略化できる。したがって、例えば、周囲にある複数の監視カメラ同士で、画像処理を分担して実行することにより、撮影画像に写し込まれた人物の性別を判別して男性と女性の数を検出する処理も短時間で実行することができる。
【００４７】
（第２の実施形態）
上述した第１の実施形態では、広告送信部１０は、広告メッセージに自ノードに関する処理関連情報を含めてネットワーク２０に送信する例を示したが、この広告メッセージは、複数の通信ノード間でのルーティングトポロジを構築、管理および維持するためのルーティングプロトコルのメッセージに含めてもよい。
【００４８】
なお、ネットワーク２０に接続された通信ノードのうち少なくとも一部の通信ノード同士は、相互通信が可能でなくてもよい。例えば、図７のネットワーク構成の場合、通信ノード６０１，６０２は、通信ノード１０１としか通信できない。通信ノード６０１，６０２は、通信ノード１０１の負荷分散のために用いられる。
【００４９】
（第３の実施形態）
タスクの処理を依頼した周辺ノードから拒否の応答を受けた場合、依頼元ノードの情報処理装置１または通信装置３０内のタスク割当部７は、周辺装置情報管理部５が管理するネットワーク情報に基づいて、代替の周辺ノードを選択する処理を行う。タスク割当部７は、代替の周辺ノードがない場合は、エラーログを残したり、図８に示すようにマン・マシン・インタフェースを介してエラーを出力したりするのが望ましい。
【００５０】
（第４の実施形態）
撮影画像に対する画像処理を行う場合に、本来の画像処理（例えば、顔領域検出処理や性別判別処理）を行う前に、撮影画像の傾き補正処理を行う必要が生じる場合がある。このとき、傾き補正角度を複数通りに変えて同じ画像処理を繰り返し行うことは、処理負荷が非常に大きいことから、周辺ノードの情報処理装置１や通信装置を利用して、周辺ノードごとに異なる傾き補正角度の補正と、その後の画像処理とを依頼するようにしてもよい。これにより、どの傾き補正角度のときに最適な画像処理を行えるかが、自ノードに極端な処理負荷をかけることなく短時間で把握できるようになる。
【００５１】
（第５の実施形態）
自ノード内の処理能力処理部は、自ノードが所持している装置固有の処理能力を取得するものであるが、自ノードが所持している機能の中で、周辺ノードが利用できる機能があるのであれば、その機能を周辺ノードが利用できるようにしてもよい。
【００５２】
例えば、自ノードが、入力画像データの特徴量を高速に抽出する機能を備えている場合、特徴量の高速抽出機能を備えていることを、広告メッセージに含めて周辺ノードに広告することが考えられる。これにより、ある通信ノードのタスク割当部７が、特徴量を抽出するタスクを処理する必要が生じた場合は、このタスクを特徴量の高速抽出機能を持つ周辺ノードに依頼することができる。
【００５３】
上述した特徴量の抽出以外にも、例えばデータベースの辞書機能が充実している通信ノードがあった場合には、データベースの検索タスクについては、その通信ノードに依頼するといった使い方も考えられる。
【００５４】
（第６の実施形態）
以下に説明する第６の実施形態は、タスク割当部７が通信コストも考慮に入れてタスクの割当を行うものである。
【００５５】
図９は第６の実施形態に係るネットワーク構成図である。図９は、２種類のネットワーク２０，２１を備えており、ノード８０１はネットワーク２１のみに接続され、ノード１０１は両方のネットワーク２０，２１に接続され、それ以外のノード１０２〜１０７はネットワーク２０のみに接続されている。
【００５６】
ネットワーク２０は例えばＬＡＮなどのローカル接続回線で、ネットワーク２１は例えば公衆携帯電話網である。ネットワーク２０を介して通信を行う場合の通信コストは例えば定額料金であるのに対して、ネットワーク２１を介して通信を行う場合の通信コストはパケット量に応じた従量金額である。
【００５７】
このような状況で、ノード１０１の情報処理装置１または通信装置３０が周辺ノードにタスクの割当を行う場合、ノード１０１の周辺装置情報管理部５は、管理しているネットワーク情報の中に、周辺ノードとの通信コストも含めておく。そして、タスク割当部７は、周辺ノード１０２〜１０７，８０１のそれぞれにタスクの依頼をしたときに要する通信コストを考慮に入れて、できるだけ通信コストを抑制できるようなタスク割当を行う。例えば、できるだけノード８０１にはタスクを割り当てないようにし、割り当てるとしても、通信費用が少なくて済むようなデータ量の小さいタスクを割り当てる。
【００５８】
（第７の実施形態）
上述した第１〜第６の実施形態では、撮影または取得した対象画像から顔領域を抽出して、性別判定を行う画像処理の例を説明したが、これ以外の画像処理を行う場合にも適用可能である。
【００５９】
例えば、対象画像から顔領域を抽出して、年齢、人種、顔向き、または目線向き等の判別処理を行ってもよい。あるいは、顔領域を抽出して、特定人物や特定グループとのマッチングを行ってもよい。特定グループとは、特定の組織に所属している人物かどうかのマッチングである。
【００６０】
また、対象画像から人物を抽出して、身長、性別、服装、体向き、手足位置等の判別処理を行ってもよい。
【００６１】
また、対象画像から乗物を抽出して、その乗物の種類、速度、プレートナンバー、または乗物の名称等の判別処理を行ってもよい。
【００６２】
また、対象画像から動物を抽出して、その動物の種類、毛色、サイズ等の判別処理を行ってもよい。
【００６３】
また、対象画像から植物を抽出して、その植物の種類、鮮度、価格等の判別処理を行ってもよい。
【００６４】
また、対象画像から料理を抽出して、その料理の種類、カロリー、価格等の判別処理を行ってもよい。
【００６５】
このように、複数のタスクからなる画像処理であれば、どのような画像処理にも適用可能である。
【００６６】
さらに、本発明は、画像処理以外の処理にも適用可能である。すなわち、本発明は、分散してタスクを処理可能な複数のタスクからなる情報処理に広く適用可能である。
【００６７】
上述した実施形態で説明した情報処理装置１の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、情報処理装置１の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【００６８】
また、情報処理装置１の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線（無線通信も含む）を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【００６９】
本発明の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本発明の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容およびその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。
【符号の説明】
【００７０】
１  情報処理装置、１ａ  通信機能を持つカメラ、２  通信部、３  広告受信部、４  ネットワーク情報取得部、５  周辺装置情報管理部、６  タスク受付部、７  タスク割当部、８  タスク処理部、９  処理関連情報生成部、１０  広告送信部、１１  周辺装置データベース、１２  処理能力取得部、１３  処理負荷生成部
【図１】
2014102691.tif 000003
【図２】
2014102691.tif 000004
【図３】
2014102691.tif 000005
【図４】
2014102691.tif 000006
【図５】
2014102691.tif 000007
【図６】
2014102691.tif 000008
【図７】
2014102691.tif 000009
【図８】
2014102691.tif 000010
【図９】
2014102691.tif 000011