(57)【要約】【課題】全方向画像データを処理するための方法，システム及びロボットを提供すること。【解決手段】本発明による全方向画像データを処理する方法は，パノラマ視界を表す全方向画像データを受信するステップと，１又は複数のプロセッサによって，全方向画像データを複数の画像スライスに分割するステップと，を含む。複数の画像スライスの各画像スライスは，全方向画像データのパノラマ視界の少なくとも一部を表す。この方法はさらに，複数の画像スライスの各画像スライスのスライス記述子を計算するステップと，スライス記述子の現在シーケンスを生成するステップとを含む。スライス記述子の現在シーケンスは，複数の画像スライスの各画像スライスの計算されたスライス記述子を含む。【選択図】図２
2014116006.tif 000002
【特許請求の範囲】
【請求項１】
全方向画像データを処理する方法であって，
パノラマ視界を表す全方向画像データを受信するステップと，
１又は複数のプロセッサが，前記全方向画像データを複数の画像スライスに分割するステップであって，前記複数の画像スライスの各画像スライスは，前記全方向画像データの前記パノラマ視界の少なくとも一部を表す，ステップと，
前記複数の画像スライスの各画像スライスのスライス記述子を計算するステップと，
スライス記述子の現在シーケンスを生成するステップであって，スライス記述子の前記現在シーケンスは，前記複数の画像スライスの各画像スライスの前記計算されたスライス記述子を含む，ステップと，
を有する方法。
【請求項２】
前記生成された現在シーケンスをデータ記憶装置に記憶するステップを更に有する，請求項１に記載の方法。
【請求項３】
データ記憶装置内のスライス記述子の参照シーケンスを利用するステップと，
スライス記述子の前記現在シーケンスがスライス記述子の前記参照シーケンスと一致するか否かを判定するステップと，
を更に有する，請求項１に記載の方法。
【請求項４】
スライス記述子の前記現在シーケンスがスライス記述子の前記参照シーケンスと一致するか否かは，
スライス記述子の現在順を決定するステップと，
スライス記述子の参照順を決定するステップと，
スライス記述子の前記現在順とスライス記述子の前記参照順とを比較するステップと，
によって判定される，請求項３に記載の方法。
【請求項５】
スライス記述子の前記現在シーケンスはスライス記述子の現在の循環結合リストであり，スライス記述子の前記参照シーケンスはスライス記述子の参照循環結合リストであって，
スライス記述子の前記現在順は，現在の開始ノードから始まるスライス記述子の前記現在の循環結合リストを横断することによって決定され，
スライス記述子の前記参照順は，参照開始ノードから始まるスライス記述子の前記参照循環結合リストを横断することによって決定され，
スライス記述子の前記現在順がスライス記述子の前記参照順と同じであるとき，スライス記述子の前記現在シーケンスはスライス記述子の前記参照シーケンスに一致する，請求項４に記載の方法。
【請求項６】
スライス記述子の前記現在シーケンスがスライス記述子の前記参照シーケンスに一致するとき，スライス記述子の前記現在シーケンスと，スライス記述子の前記参照シーケンスとに基づいて，１又は複数の画像取得装置を含む物体の方向を推定するステップを更に有する，請求項３に記載の方法。
【請求項７】
スライス記述子の前記現在シーケンスがスライス記述子の前記参照シーケンスに一致するとき，スライス記述子の前記現在シーケンスと，スライス記述子の前記参照シーケンスとに基づいて，１又は複数の画像取得装置を含む物体の位置を推定するステップを更に有する，請求項３に記載の方法。
【請求項８】
前記受信した全方向画像データの歪除去を行うステップであって，前記歪除去した全方向画像データは前記複数の画像スライスに分割される，ステップを更に有する，請求項１に記載の方法。
【請求項９】
前記複数の画像スライスは，中間画像スライスと，先行画像スライスと，後続画像スライスとを含み，前記中間画像スライスの中間視界は前記先行画像スライスの先行視界に隣接し，前記中間画像スライスの前記中間視界は前記後続画像スライスの後続視界に隣接し，
スライス記述子の前記現在シーケンスは，前記先行画像スライスに対応する先行ノードと，前記中間画像スライスに対応する中間ノードと，前記後続画像スライスに対応する後続ノードとを含み，前記先行ノードは前記中間ノードに結合し，前記中間ノードは前記後続ノードに結合する，請求項１に記載の方法。
【請求項１０】
前記複数の画像スライスの数は８と３６との間である，請求項１に記載の方法。
【請求項１１】
前記複数の画像スライスの各画像スライスは，前記全方向画像データの前記パノラマ視界の均等な部分を表し，前記複数の画像スライスの集合視界は，前記全方向画像データの前記パノラマ視界と同一である，請求項１に記載の方法。
【請求項１２】
前記スライス記述子は十進ベクトルを含む，請求項１に記載の方法。
【請求項１３】
前記スライス記述子は二進ベクトルを含む，請求項１に記載の方法。
【請求項１４】
前記スライス記述子は，尺度不変特徴変換と，加速ロバスト特徴と，有向グラディエントヒストグラムと，一般化探索木と，高速網膜キーポイントと，二値ロバスト不変調整可能キーポイントと，ステレオアルゴリズムとからなるグループから選択されたアルゴリズムを用いて計算される，請求項１に記載の方法。
【請求項１５】
全方向画像データ処理システムであって，
１又は複数のプロセッサと，
前記１又は複数のプロセッサに通信結合された非一時的メモリ部品と，
前記非一時的メモリ部品に記憶された機械可読命令であって，前記１又は複数のプロセッサによって実行されたとき，前記全方向画像データ処理システムに少なくとも，
パノラマ視界を表す全方向画像データを受信するステップと，
前記全方向画像データを複数の画像スライスに分割するステップであって，前記複数の画像スライスの各画像スライスは，前記全方向画像データの前記パノラマ視界の少なくとも一部を表す，ステップと，
前記複数の画像スライスの各画像スライスのスライス記述子を計算するステップと，
スライス記述子の現在シーケンスを生成するステップであって，スライス記述子の前記現在シーケンスは，前記複数の画像スライスの各画像スライスの前記計算されたスライス記述子を含む，ステップと，
を実行させる機械可読命令と，
を備える全方向画像データ処理システム。
【請求項１６】
１又は複数の画像取得装置を更に備え，前記全方向画像データは前記１又は複数の画像取得装置から受信される，請求項１５に記載の全方向画像データ処理システム。
【請求項１７】
データ記憶装置を更に備え，前記非一時的メモリ部品に記憶された前記機械可読命令は，前記１又は複数のプロセッサで実行されたとき，前記全方向画像データ処理システムに更に少なくとも，
前記データ記憶装置内のスライス記述子の参照シーケンスを利用するステップと，
スライス記述子の前記現在シーケンスがスライス記述子の前記参照シーケンスと一致するか否かを判定するステップと，
を実行させる，請求項１５に記載の全方向画像データ処理システム。
【請求項１８】
前記非一時的メモリ部品に記憶された前記機械可読命令は，前記１又は複数のプロセッサによって実行されたとき，前記全方向画像データ処理システムに更に少なくとも，
スライス記述子の現在順を決定するステップと，
スライス記述子の参照順を決定するステップと，
スライス記述子の前記現在順とスライス記述子の前記参照順とを比較するステップと，
を実行させる，請求項１７に記載の全方向画像データ処理システム。
【請求項１９】
ロボットであって，
１又は複数のプロセッサと，
前記１又は複数のプロセッサに通信結合された１又は複数の画像取得装置と，
前記１又は複数のプロセッサに通信結合された非一時的メモリ部品と，
前記非一時的メモリ部品に記憶された機械可読命令であって，前記１又は複数のプロセッサによって実行されたとき，前記ロボットに少なくとも，
パノラマ視界を表す全方向画像データを前記１又は複数の画像取得装置から受信するステップと，
前記全方向画像データを複数の画像スライスに分割するステップであって，前記複数の画像スライスの各画像スライスは，前記全方向画像データの前記パノラマ視界の少なくとも一部を表す，ステップと，
前記複数の画像スライスの各画像スライスのスライス記述子を計算するステップと，
スライス記述子の現在シーケンスを生成するステップであって，スライス記述子の前記現在シーケンスは，前記複数の画像スライスの各画像スライスの前記計算されたスライス記述子を含む，ステップと，
を実行させる機械可読命令と，
を備えるロボット。
【請求項２０】
データ記憶装置を更に備え，前記非一時的メモリ部品に記憶された前記機械可読命令は，前記１又は複数のプロセッサによって実行されたとき，前記ロボットに更に少なくとも，
前記データ記憶装置内のスライス記述子の参照シーケンスを利用するステップと，
スライス記述子の前記現在シーケンスがスライス記述子の前記参照シーケンスと一致するか否かを判定するステップと，
を実行させる，請求項１９に記載のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概略画像処理に関し，より特定すれば，全方向画像データを処理するための方法，システム及びロボットに関する。
【背景技術】
【０００２】
全方向画像データは全方向画像取得装置から取得することができ，いくつかの目的に用いることができる。例えば，ロボット又は移動装置は，当該ロボット又は移動装置の位置又は方向を推定するために，取得した全方向画像データを利用する全方向画像取得装置を含んでもよい。全方向画像データの解像度が向上し，全方向画像データを迅速に処理する必要性が増加したため，全方向画像データを簡潔かつ効率的に処理することが望まれる。
【０００３】
したがって，全方向画像データを処理するための方法，システム及びロボットに対する要望がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
一つの実施例においては，全方向画像データを処理する方法は，パノラマ視界を表す全方向画像データを受信するステップと，１又は複数のプロセッサによって，全方向画像データを複数の画像スライスに分割するステップと，を含む。複数の画像スライスの各画像スライスは，全方向画像データのパノラマ視界の少なくとも一部を表す。この方法はさらに，複数の画像スライスの各画像スライスのスライス記述子を計算するステップと，スライス記述子の現在シーケンスを生成するステップとを含む。スライス記述子の現在シーケンスは，複数の画像スライスの各画像スライスの計算されたスライス記述子を含む。
【０００５】
別の実施例においては，全方向画像データ処理システムは，１又は複数のプロセッサと，１又は複数のプロセッサと通信で結合された非一時的メモリ部品と，非一時的メモリ部品に記憶された機械可読命令とを含む。１又は複数のプロセッサで実行されたとき，機械可読命令は全方向画像データ処理システムにパノラマ視界を表す全方向画像データを受信し，全方向画像データを複数の画像スライスに分割させる。複数の画像スライスの各画像スライスは，全方向画像データのパノラマ視界の少なくとも一部を表す。１又は複数のプロセッサで実行されたとき，機械可読命令はさらに，全方向画像データ処理システムに複数の画像スライスの各画像スライスのスライス記述子を計算し，スライス記述子の現在シーケンスを生成させる。スライス記述子の現在シーケンスは，複数の画像スライスの各画像スライスの計算されたスライス記述子を含む。
【０００６】
また別の実施例においては，ロボットが，１又は複数のプロセッサと，１又は複数のプロセッサと通信で結合した非一時的メモリ部品と，非一時的メモリ部品に記憶された機械可読命令とを含む。１又は複数のプロセッサで実行されたとき，機械可読命令はロボットにパノラマ視界を表す全方向画像データを受信させる。全方向画像データはパララマ視界を表す。１又は複数のプロセッサで実行されたとき，機械可読命令はさらにロボットに全方向画像データを複数の画像スライスに分割させる。複数の画像スライスの各画像スライスは，全方向画像データのパノラマ視界の少なくとも一部を表す。１又は複数のプロセッサで実行されたとき，機械可読命令はさらに，ロボットに複数の画像スライスの各画像スライスのスライス記述子を計算し，スライス記述子の現在シーケンスを生成させる。スライス記述子の現在シーケンスは，複数の画像スライスの各画像スライスの計算されたスライス記述子を含む。
【０００７】
ここで説明する実施例によって提供される種々の特徴は，図面と共に以降の詳細な説明によって，より十分に理解されるであろう。
【０００８】
図面に示された実施例は本質的に説明的かつ例示的であって，請求項によって規定される発明を制限するものではない。説明的な実施例についての以降の詳細な説明は，次の図面と共に読むと理解できるであろう。ここで類似の構造は類似の参照符号によって示されている。
【図面の簡単な説明】
【０００９】
【図１】ここで説明し，例示する１又は複数の実施例による全方向画像データ処理システムを含むロボットを概略示す図である。
【図２】ここで説明し，例示する１又は複数の実施例による，全方向画像データを処理する方法のフローチャートである。
【図３】ここで説明し，例示する１又は複数の実施例による，歪除去していない全方向画像を処理する方法のフローチャートである。
【図４】ここで説明し，例示する１又は複数の実施例による，スライス記述子の現在シーケンスとスライス記述子の参照シーケンスとの比較に基づいて，位置又は方向を推定する方法のフローチャートである。
【発明を実施するための形態】
【００１０】
本発明の実施例は，全方向画像データを処理する方法，システム及びロボットに向けられている。ここで説明する実施例は，全方向画像データを複数の画像スライスに分割し，各スライスのスライス記述子を計算し，全方向画像データを表すスライス記述子のシーケンスを生成することができる。全方向画像をスライス記述子のシーケンスで表すことは，全方向画像データの調整可能（ｓｃａｌａｂｌｅ），簡潔かつ効率的な表現を提供することができる。このような全方向画像データの調整可能，簡潔かつ効率的な表現は，スライス記述子の現在シーケンスとスライス記述子の参照シーケンスとを比較することだけを伴う，位置又は方向の高速かつ効率的な推定を容易にすることができる。ここで説明する実施例は，位置推定又は方向推定のために全方向画像取得装置を利用するロボット又はほかの装置が用いてもよい。例えば，空間内で動作するロボットは，ロボットが動作する環境の全方向画像データを取得する１又は複数の全方向画像取得装置を備えてもよい。このようなロボットは，環境内のロボットの位置又は方向を推定するために，全方向画像データを利用してもよい。ここで説明する実施例は，このような位置推定又は方向推定用のデータ記憶及び処理の要求条件を改善することができる。全方向画像データを処理する方法，システム及びロボットの種々の実施例を以降詳細に説明する。
【００１１】
始めに図１を参照すると，全方向画像データ処理システム１００を含むロボット１０１が概略描かれている。図１に描かれた実施例において，全方向画像データ処理システム１００は，以降説明するように，ロボット１０１の位置又は方向を推定するために用いることができる。最初の問題として，全方向画像データ処理システム１００はロボット１０１と結合されているように描かれているが，ほかの実施例においては，全方向画像データ処理システム１００はロボットと結合していなくてもよく，そのような実施例においては，全方向画像データ処理システム１００は移動装置（例えば，スマートホン，ラップトップ計算機，等）に組み込まれているか，又は分離して存在する。
【００１２】
全方向画像データ処理システム１００は，１又は複数のプロセッサ１１０と，データ記憶装置１１２と，非一時的メモリ部品１１４と，任意選択の入出力ハードウェア１１６と，１又は複数の画像取得装置１１８と，任意選択の通信モジュール１２０とを含む。いくつかの実施例においては，１又は複数のプロセッサ１１０と，データ記憶装置１１２と，非一時的メモリ部品１１４とは，一つの集積回路（例えば，チップ上システム）で提供してもよい。いくつかの実施例においては，１又は複数のプロセッサ１１０と，データ記憶装置１１２と，非一時的メモリ部品１１４とは別個の集積回路として提供してもよい。
【００１３】
１又は複数のプロセッサ１１０はそれぞれ電気的に結合された部品と通信するように構成されており，全方向画像データ処理システム１００が動作するように設計されている特定の応用に適した，任意の商業的に入手可能なプロセッサ又は特注のプロセッサとして構成してもよい。１又は複数のプロセッサ１１０はそれぞれ，機械可読命令を実行することができる任意の装置であってよい。したがって，１又は複数のプロセッサ１１０はそれぞれ，制御器，集積回路，マイクロチップ，計算機又は任意のほかの計算装置であってよい。１又は複数のプロセッサ１１０は，全方向画像データ処理システム１００の種々のモジュール間に信号相互接続を提供する通信経路１３０に結合される。信号経路１３０は，任意の数のプロセッサを相互に通信で結合し，分散計算環境において動作するように通信経路１３０にモジュールが結合できるようにする。特に，モジュールはそれぞれ，データを送信及び／又は受信できるノードとして動作してもよい。ここで，「通信で結合」とは，結合された部品が，例えば導電性媒体を介した電気信号，空間を介した電磁信号，光導波路を介した光信号，などのようなデータ信号を相互に交換できることを意味する。
【００１４】
したがって，通信経路１３０は，信号を伝送することができる，例えば，電線，導電性トレース，光導波路，などのような任意の媒体で出来たものであってよい。さらに，通信経路１３０は信号を伝送することができる媒体の組合せで形成してもよい。一つの実施例においては，通信経路１３０は，プロセッサと，メモリと，センサと，入力装置と，出力装置と，通信装置とのような部品に電気データ信号を伝送できるようにするために協同する，導電性トレースと，電線と，コネクタと，バスとの組合せを含む。さらに，「信号」という用語は，媒体を介して進むことができる，直流，交流，正弦波，三角波，矩形波，振動，などの（例えば，電気，光，磁気，機械又は電磁の）波形を意味する。
【００１５】
非一時的メモリ部品１１４は通信経路１３０に結合してもよい。非一時的メモリ１１４は，ＲＡＭ，ＲＯＭ，フラッシュメモリ，ハードディスクのような揮発性及び／又は不揮発性計算機可読記憶媒体，又は機械可読命令が１又は複数のプロセッサ１１０によって利用可能であるように機械可読命令を記憶することができる任意の媒体を含んでもよい。機械可読命令は，例えばプロセッサによって直接実行できる機械言語，又は機械可読命令にコンパイル若しくはアセンブルして非一時的メモリ部品１１４に記憶することができるアセンブリ言語，オブジェクト指向プログラミング（ＯＯＰ）言語，スクリプト言語，マイクロコード，などのような任意世代（例えば，１ＧＬ，２ＧＬ，３ＧＬ，４ＧＬ又は５ＧＬ）の任意のプログラム言語で書かれた論理又はアルゴリズムを有してよい。代替として，機械可読命令は，フィールドプログラム可能ゲートアレイ（ＦＰＧＡ）構成，特定用途集積回路（ＡＳＣＩ），又はその均等物のいずれかで実現された論理のようなハードウェア記述言語（ＨＤＬ）で書いてもよい。したがって，ここで説明する方法は，事前にプログラムされたハードウェア要素又はハードウェア部品及びソフトウェア部品の組合せとして，任意の通常の計算機プログラム言語で実現することができる。
【００１６】
データ記憶装置１１２はまた，揮発性及び／又は不揮発性計算機可読記憶媒体として構成してもよく，また，以降説明する全方向画像の表現を記憶するように構成してもよい。一つの実施例においては，データ記憶装置１１２は非一時的メモリ部品１１４とは別のデータ記憶部品である。別の実施例においては，データ記憶装置１１２及び非一時的メモリ部品１１４は一つのデータ記憶部品として提供される（すなわち，データベース及び命令セットが一つのデータ記憶部品に記憶される）。更に別の実施例においては，データ記憶装置１１２は全方向画像データ処理システム１００から離れたところにあって，任意選択の通信モジュール１２０を介して遠隔から利用してもよい。
【００１７】
１又は複数の画像取得装置１１８は通信経路１３０に結合されていてもよい。１又は複数の画像取得装置１１８は１又は複数のプロセッサ１１０から制御信号を受信して周囲の物理環境の全方向画像データを取得し，次いで取得した全方向画像データを１又は複数のプロセッサ１１０及び／又はデータ記憶装置１１２に記憶及び／又は処理のために送信してもよい。１又は複数の画像取得装置１１８はデータ記憶装置１１２に直接接続してもよいし，代替実施例においては，取得のために１又は複数のプロセッサ１１０を利用できる専用メモリ装置（例えば，フラッシュメモリ）を含んでもよい。
【００１８】
１又は複数の画像取得装置１１８はそれぞれ任意の解像度を有してもよく，また，紫外波長帯，近紫外波長帯，可視波長帯，近赤外波長帯，又は赤外波長帯のような任意の所望の波長帯の放射を検出するように構成してもよい。いくつかの実施例においては，１又は複数の画像取得装置１１８のうち少なくとも一つは標準解像度（例えば，６４０画素×４８０画素）のカメラであってよい。いくつかの実施例においては，１又は複数の画像取得装置１１８のうち少なくとも一つは，６４０画素×４８０画素，１４４０画素×１０２４画素又は１２８０画素×１０２４画素以外の解像度を有してもよい。１又は複数の画像取得装置１１８は，デジタル映像及び／又は１又は複数のデジタル写真の形態の全方向画像データを提供することができる。
【００１９】
いくつかの実施例においては，１又は複数の画像取得装置１１８はパノラマ視界を取得するように構成された全方向撮像システムを含んでもよい。いくつかの実施例においては，「パノラマ視界」とは３６０度の視界であってよい。いくつかの実施例においては，「パノラマ視界」とは，１８０度より大きく３６０度より小さい視界のように，３６０度視界より小さくてもよい。
【００２０】
いくつかの実施例においては，全方向撮像システムは回転軸の周りを回転するカメラを含み，カメラは回転軸の周りを全回転したとき，パノラマ視界を取得するように構成される。いくつかの実施例においては，全方向撮像システムはカメラの光路に配置された魚眼レンズを備えたカメラを含む。いくつかの実施例においては，全方向撮像システムは複数の部分視界カメラを含み，それぞれの部分視界カメラはパノラマ視界より小さい視野を取得するが，複数の部分視界カメラが集合的にパノラマ視界を取得するように構成されている。いくつかの実施例においては，全方向撮像システムは，カメラがパノラマ視界を撮像するように，カメラと，カメラの光路に配置された１又は複数の鏡（例えば，１又は複数の平面鏡及び／又は１又は複数の曲面鏡）とを含む。
【００２１】
任意選択の通信モジュール１２０は通信経路１３０に結合されていてもよく，また，全方向画像データ処理システム１００が外部のシステム及び装置と通信できるように，無線通信回路として構成してもよい。任意選択の通信モジュール１２０は，限定するものではないが，衛星通信，ＷｉＦｉ（登録商標），ＷｉＭａｘ（登録商標），セルラ（例えば，３Ｇ，４Ｇ，ＬＴＥ，など）及び独自の無線通信プロトコルのような任意の種類の無線通信プロトコルで通信するように構成してもよい。
【００２２】
ここで図２を参照すると，全方向画像を処理する方法２００のフローチャートが簡略に示されている。いくつかの実施例においては，方法２００は，１又は複数のプロセッサ１１０で実行されたとき，自動的に全方向画像データを処理する機械可読命令内の論理として実現してもよい。方法２００は特定の順序を示しているが，本発明の更なる実施例はいかなる特定の順序にも限定されないことに注意されたい。
【００２３】
ここで図１〜２を参照すると，ブロック２０２において，全方向画像データ処理システム１００はパノラマ視界を表す全方向画像データを受信する。いくつかの実施例においては，全方向画像データ処理システム１００は物理環境内で動作し，全方向画像データを取得し，次いで物理環境の取得された全方向画像データを記憶及び／又は処理するために，１又は複数のプロセッサ１１０及び／又はデータ記録装置１１２に送信するように構成される。いくつかの実施例においては，全方向画像データ処理システム１００は，例えば通信モジュール１２０を介して，全方向画像データ処理システム１００の外部の情報源から全方向画像データを受信してもよい。取得された全方向画像データは，デジタル映像及び／又は１又は複数のデジタル写真の形態であってよい。
【００２４】
更に図１〜２を参照すると，ブロック２０４において，非一時的メモリ部品１１４に記憶されている機械可読命令は，１又は複数のプロセッサ１１０で実行されたとき，全方向画像データ処理システム１００に全方向画像データを複数の画像スライスに分割させる。図２に示された実施例においては，受信された全方向画像は８個のスライス（Ｓ１，Ｓ２，Ｓ３，Ｓ４，Ｓ５，Ｓ６，Ｓ７及びＳ８）に分割される。いくつかの実施例においては，全方向画像は任意の数のスライスに分割してもよい。いくつかの実施例においては，スライスの数は８と３６との間であってよい。しかし，スライスの数は８より小さくてもよいし，３６より大きくてもよいことを理解されたい。
【００２５】
複数のスライスはそれぞれ，全方向画像データのパノラマ視界の少なくとも一部，すなわち全方向画像データの部分パノラマ視界を表す。いくつかの実施例においては，複数のスライスは中間画像スライス（例えば，図２のスライスＳ２）と，先行画像スライス（例えば，図２のスライスＳ１）と，後続画像スライス（例えば，図２のスライスＳ３）を含み，中間画像スライス（例えば，図２のスライスＳ２）は後続画像スライス（例えば，図２のスライスＳ３）の後続視界に隣接又は重複する。
【００２６】
いくつかの実施例においては，複数の画像スライスの画像スライスはそれぞれ，全方向画像データのパノラマ視界の均等な部分を表し，複数の画像スライスの集合視界は全方向画像データのパノラマ視界と同一である。例えば，図２の実施例において，８個のスライスはそれぞれ全方向画像データの全パノラマ視界の１／８を取得し，８個の画像スライスの集合視野は，ブロック２０２で受信された全方向画像データのパノラマ視界と同一である。いくつかの実施例においては，複数のスライスの第１スライスの視界は，複数のスライスの第２スライスの視界より大きくてもよい。いくつかの実施例においては，複数のスライスの集合視界は全パノラマ視界より小さくてもよい。いくつかの実施例においては，隣接するスライスの視界は重複してもよい。
【００２７】
更に図１〜２を参照すると，非一時的メモリ部品１１４に記憶された機械可読命令は，１又は複数のプロセッサ１１０で実行したとき，全方向画像データ処理システム１００に，複数の画像スライスの画像スライスそれぞれのスライス記述子を計算させる。ここで，「スライス記述子」とは，全方向画像データの特定のスライスの画像データの視覚的特徴（例えば，色，テキスチャ，形状，動き，等）の記述を指す。例えば，図２に示された実施例において，スライス記述子ｄ１はスライスＳ１用に計算され，スライス記述子ｄ２はスライスＳ２用に計算され，スライス記述子ｄ３はスライスＳ３用に計算され，スライス記述子ｄ４はスライスＳ４用に計算され，スライス記述子ｄ５はスライスＳ５用に計算され，スライス記述子ｄ６はスライスＳ６用に計算され，スライス記述子ｄ７はスライスＳ７用に計算され，スライス記述子ｄ８はスライスＳ８用に計算される。
【００２８】
いくつかの実施例においては，スライス記述子は，例えば，尺度不変特徴変換（“ＳＩＦＴ”)と，加速ロバスト特徴（“ＳＵＲＦ”）と，有向グラディエントヒストグラム（“ＨＯＧ“）と，一般化探索木（“ＧＩＳＴ”）と，高速網膜キーポイント（“ＦＲＥＡＫ”）と，などのようなアルゴリズムを用いて計算される。しかし，スライス記述子を計算するためにほかのアルゴリズムを用いてもよいことを理解されたい。いくつかの実施例においては，スライス記述子は十進ベクトルを含んでもよい。いくつかの実施例においては，スライス記述子は二進ベクトルを含んでもよい。別の実施例においては，スライス記述子は二進ベクトル又は十進ベクトル以外の形式で表してもよい。二つの画像取得装置１１８を含むいくつかの実施例においては，ステレオアルゴリズムの応用から得られる深度情報もまた，スライス記述子を計算するために用いてよい。
【００２９】
更に図１〜２を参照すると，ブロック２０８において，非一時的メモリ部品１１４に記憶された機械可読命令は，１又は複数のプロセッサによって実行されたとき，全方向画像データ処理システム１００に，ブロック２０２で受信した全方向画像データのスライス記述子の現在シーケンスを生成させる。スライス記述子の現在シーケンスは，複数の画像スライスの各画像スライスの計算されたスライス記述子を含む。例えば，図２に示された実施例においては，ノードｎ１はスライスＳ１に対応するスライス記述子ｄ１を含み，ノードｎ２はスライスＳ２に対応するスライス記述子ｄ２を含み，ノードｎ３はスライスＳ３に対応するスライス記述子ｄ３を含み，ノードｎ８はスライスＳ８に対応するスライス記述子ｄ８を含む。
【００３０】
いくつかの実施例においては，スライス記述子の現在シーケンスは，中間ノード（例えば，図２のノードｎ２）が中間画像スライス（例えば，図２のスライスＳ２）に対応し，先行ノード（例えば，図２のノードｎ１）が先行画像スライス（例えば，図２のスライスＳ１）に対応し，後続ノード（例えば，図２のノードｎ３）が後続画像スライス（例えば，図２のスライスＳ３）に対応するように構造化されてもよい。先行ノード（例えば，図２のノードｎ１）は中間ノード（例えば，図２のノードｎ２）に結合され，中間ノード（例えば，図２のノードｎ２）は後続ノード（例えば，図２のノードｎ３）に結合される。
【００３１】
いくつかの実施例においては，非一時的メモリ部品１１４に記憶された機械可読命令は，１又は複数のプロセッサによって実行されたとき，全方向画像データ処理システム１００に，データ記録装置１１２にスライス記述子の現在シーケンスを記憶させる。いくつかの実施例においては，データ記録装置１１２はスライス記述子の参照シーケンスのデータベースを含んでもよく，スライス記述子はそれぞれ，全方向画像データ処理システム１００が遭遇した，前に処理した全方向画像に対応する。
【００３２】
いくつかの実施例においては，スライス記述子の現在シーケンスは，スライス記述子の現在の結合リスト（ｌｉｎｋｅｄ  ｌｉｓｔ）としてデータ記録装置１１２に記憶してもよい。スライス記述子の現在シーケンスがスライス記述子の現在の結合リストとしてデータ記録装置１１２に記憶されている実施例においては，結合リストの各ノードは結合ノードの後続ノードに結合してもよい（例えば，ノードｎ１はノードｎ２に結合し，ノードｎ２はノードｎ３に結合する）。いくつかの実施例においては，スライス記述子の現在シーケンスは，スライス記述子の循環結合リストとしてデータ記録装置１１２に記憶してもよく，第１ノードは第２ノードに結合（例えば，ノードｎ１はノードｎ２に結合）し，第２ノードは第３ノードに結合（例えば，ノードｎ２はノードｎ３に結合）し，最後のノードは第１ノードに結合（例えば，ノードｎ８はノードｎ１に結合）する。いくつかの実施例においては，スライス記述子の現在シーケンスは，スライス記述子の現在の２重結合リストとしてデータ記録装置１１２に記憶してもよい。ほかの実施例においては，スライス記述子の現在シーケンスは，配列などの結合リスト以外のデータ構造体を用いて，データ記憶装置１１２に記憶してもよいことを理解されたい。
【００３３】
ブロック２０２で受信された全方向画像は，図２に示した実施例においてブロック２０４で全方向画像を分割する前に歪除去（ｕｎｗａｒｐ）していないが，ほかの実施例においては，図３に示した実施例のように，分割の前に全方向画像を歪除去してもよい。
【００３４】
ここで図３を参照すると，全方向画像の歪除去及び処理の方法３００のフローチャートが簡略に示されている。いくつかの実施例においては，方法３００は，１又は複数のプロセッサ１１０で実行されたとき，自動的に全方向画像データを処理する機械可読命令内の論理として実現してもよい。方法３００は特定の順序を示しているが，本発明の更なる実施例はいかなる特定の順序にも限定されないことに注意されたい。
【００３５】
ここで図１及び３を参照すると，ブロック２０２に関して上で説明したように，ブロック３０１において全方向画像が受信される。ブロック３０２において，非一時的メモリ部品１１４に記憶されている機械可読命令は，１又は複数のプロセッサ１１０で実行されたとき，全方向画像データ処理システム１００に，任意の現存するか，これから開発される歪除去アルゴリズムを用いて，全方向画像データの歪除去を行わせる。
【００３６】
更に図１及び３を参照すると，ブロック３０４において，非一時的メモリ部品１１４に記憶されている機械可読命令は，１又は複数のプロセッサ１１０で実行されたとき，全方向画像データ処理システム１００に，ブロック２０４に関して上で説明したように，歪除去された全方向画像データを分割させる。
【００３７】
更に図１及び３を参照すると，ブロック３０６において，非一時的メモリ部品１１４に記憶されている機械可読命令は，１又は複数のプロセッサ１１０で実行されたとき，全方向画像データ処理システム１００に，ブロック２０６に関して上で説明したように，複数の画像スライスの各画像スライスのスライス記述子を計算させる。
【００３８】
更に図１及び３を参照すると，ブロック３０８において，非一時的メモリ部品１１４に記憶されている機械可読命令は，１又は複数のプロセッサ１１０で実行されたとき，全方向画像データ処理システム１００に，ブロック３０１に関して上で説明したように，歪除去された全方向画像データのスライス記述子の現在シーケンスを生成させる。
【００３９】
いくつかの実施例においては，スライス記述子の現在シーケンスがブロック２０８又はブロック３０８で生成された後，１又は複数の画像取得装置１１８の位置又は動作を推定するために，図４のフローチャートに示すように，スライス記述子の現在シーケンスをデータ記憶装置１１２に記憶されているスライス記述子の参照シーケンスと比較してもよい。いくつかの実施例においては，１又は複数の画像取得装置１１８が取り付けられている物体の位置又は方向を推定するために，スライス記述子の現在シーケンスをデータ記憶装置１１２に記憶されているスライス記述子の参照シーケンスと比較できるように，１又は複数の画像取得装置１１８を物体（例えば，ロボット，移動装置，人間，など）に取り付けてもよい。
【００４０】
ここで図４を参照すると，ブロック４０２において，非一時的メモリ部品１１４に記憶されている機械可読命令は，１又は複数のプロセッサ１１０で実行されたとき，全方向画像データ処理システム１００に，データ記憶装置１１２内のスライス記述子の参照シーケンスを利用させる。例えば，図４に示した実施例においては，スライス記述子の参照シーケンスは，参照ノードｒ１に対応する参照スライス記述子ｄ３，参照ノードｒ２に対応する参照スライス記述子ｄ４，参照ノードｒ３に対応する参照スライス記述子ｄ５，参照ノードｒ４に対応する参照スライス記述子ｄ６，参照ノードｒ５に対応する参照スライス記述子ｄ７，参照ノードｒ６に対応する参照スライス記述子ｄ８，参照ノードｒ７に対応する参照スライス記述子ｄ１，参照ノードｒ８に対応する参照スライス記述子ｄ２，を含む。
【００４１】
更に図４を参照すると，ブロック４０４において，非一時的メモリ部品１１４に記憶されている機械可読命令は，１又は複数のプロセッサ１１０で実行されたとき，全方向画像データ処理システム１００に，スライス記述子の現在シーケンスが参照シーケンスに一致するか否かを判定させる。いくつかの実施例においては，スライス記述子の現在シーケンスが参照シーケンスに一致するか否かは，スライス記述子の現在シーケンスを決定し，スライス記述子の参照順を決定し，スライス記述子の現在シーケンスをスライス記述子の参照シーケンスと比較することによって判定される。例えば，図４に示した実施例におけるスライス記述子の現在シーケンスは｛ｄ１，ｄ２，ｄ３，ｄ４，ｄ５，ｄ６，ｄ７，ｄ８｝として決定してもよい。図４に示した実施例におけるスライス記述子の参照順は｛ｄ３，ｄ４，ｄ５，ｄ６，ｄ７，ｄ８，ｄ１，ｄ２｝として決定してもよい。スライス記述子の現在シーケンスがスライス記述子の参照順に一致するか否かを判定するために，スライス記述子の現在シーケンス｛ｄ１，ｄ２，ｄ３，ｄ４，ｄ５，ｄ６，ｄ７，ｄ８｝を，スライス記述子の参照順｛ｄ３，ｄ４，ｄ５，ｄ６，ｄ７，ｄ８，ｄ１，ｄ２｝と比較してもよい。
【００４２】
いくつかの実施例においては，スライス記述子の現在シーケンスはスライス記述子の現在の循環結合リストであり，スライス記述子の参照シーケンスはスライス記述子の参照循環結合リストである。このような実施例においては，スライス記述子の現在順は，現在の開始ノードから始まるスライス記述子の現在の循環結合リストを横断（ｔｒａｖｅｒｓｅ）することによって決定してもよい（例えば，スライス記述子の現在順は，スライス記述子の現在の循環結合リストのノードｎ１から始まる現在の循環結合リストを横断することによって，｛ｄ１，ｄ２，ｄ３，ｄ４，ｄ５，ｄ６，ｄ７，ｄ８｝として決定してもよい）。スライス記述子の参照順は，参照開始ノードから始まるスライス記述子の参照循環結合リストを横断することによって決定してもよい（例えば，スライス記述子の参照順は，スライス記述子の参照循環結合リストのノードｎ７から始まる参照循環結合リストを横断することによって，｛ｄ１，ｄ２，ｄ３，ｄ４，ｄ５，ｄ６，ｄ７，ｄ８｝として決定してもよい）。スライス記述子の現在順がスライス記述子の参照順と同一であるとき，スライス記述子の現在シーケンスはスライス記述子の参照シーケンスと一致する。図４に示した実施例においては，ノードｒ７から始まるスライス記述子の参照循環結合リストを横断したときのスライス記述子の参照順は，ノードｎ１から始まるスライス記述子の現在の循環結合リストを横断したときのスライス記述子の現在順と同一であるため，スライス記述子の現在シーケンスはスライス記述子の参照シーケンスと一致すると判定してもよい。
【００４３】
更に図４を参照すると，ブロック４０６において，非一時的メモリ部品１１４に記憶されている機械可読命令は，１又は複数のプロセッサ１１０で実行されたとき，全方向画像データ処理システム１００に，スライス記述子の現在シーケンス及びスライス記述子の参照シーケンスに基づいて方向又は位置を推定させる。例えば，スライス記述子の現在シーケンスとスライス記述子の参照シーケンスとの差を，スライス記述子の参照シーケンスと関係する既知の位置又は方向に対する現在の位置又は方向を決定するために用いてもよい。いくつかの実施例においては，スライス記述子の現在シーケンスとスライス記述子の参照シーケンスとの差の比較に基づいて，現在の位置又は方向を決定するために，拡張カルマンフィルタ，粒子フィルタ，などのような標準フィルタ技法を用いてもよい。
【００４４】
ここで説明したとおり，全方向画像を複数の画像スライスに分割するステップと，各スライスのスライス記述子を計算するステップと，全方向画像データを表すスライス記述子のシーケンスを生成するステップとが，全方向画像データの調整可能，簡潔かつ効率的な表現を提供できることを理解されたい。このような全方向画像データの調整可能，簡潔かつ効率的な表現は，スライス記述子の現在シーケンスをスライス記述子の参照シーケンスと比較するステップだけを伴う，位置又は方向の高速かつ効率的な推定を容易にすることができる。このような全方向画像データの調整可能，簡潔かつ効率的な表現は，全方向画像取得装置を含むロボット又はほかの装置の現在の位置又は方向の高速かつ効率的な推定を容易にすることができる。したがって，ここに説明した実施例は，処理及びデータ記憶の要求条件を減少させることができる。全方向画像データの調整可能，簡潔かつ効率的な表現は，実時間高解像度全方向画像処理システムのような大量データを処理する実時間全方向画像処理システムに有用である。
【００４５】
ここでは特定の実施例を例にとって説明したが，請求項に記載した発明の精神及び範囲から逸脱することなく，種々のほかの変更物及び修正物を作ることができることを理解されたい。さらに，ここでは請求項に記載した発明の種々の態様を説明したが，このような態様を組み合わせて利用する必要はない。したがって，本願請求項は，請求項に記載した発明の範囲内であるすべてのこのような変更物及び修正物も含むものとする。
【符号の説明】
【００４６】
１００    全方向画像データ処理システム
１０１    ロボット
１１０    プロセッサ
１１２    データ記憶装置
１１４    非一時メモリ部品
１１６    入出力ハードウェア
１１８    画像取得装置
１２０    通信モジュール
１３０    通信経路
【図１】
2014116006.tif 000003
【図２】
2014116006.tif 000004
【図３】
2014116006.tif 000005
【図４】
2014116006.tif 000006
【手続補正書】
【提出日】平成25年12月9日(2013.12.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
全方向画像データを処理する方法であって，
パノラマ視界を表す全方向画像データを受信するステップと，
１又は複数のプロセッサが，前記全方向画像データを複数の画像スライスに分割するステップであって，前記複数の画像スライスの各画像スライスは，前記全方向画像データの前記パノラマ視界の少なくとも一部を表す，ステップと，
前記複数の画像スライスの各画像スライスのスライス記述子を計算するステップと，
スライス記述子の現在シーケンスを生成するステップであって，スライス記述子の前記現在シーケンスは，前記複数の画像スライスの各画像スライスの前記計算されたスライス記述子を含む，ステップと，
を有する方法。
【請求項２】
前記生成された現在シーケンスをデータ記憶装置に記憶するステップを更に有する，請求項１に記載の方法。
【請求項３】
データ記憶装置内のスライス記述子の参照シーケンスを利用するステップと，
スライス記述子の前記現在シーケンスがスライス記述子の前記参照シーケンスと一致するか否かを判定するステップと，
を更に有する，請求項１に記載の方法。
【請求項４】
スライス記述子の前記現在シーケンスがスライス記述子の前記参照シーケンスと一致するか否かは，
スライス記述子の現在順を決定するステップと，
スライス記述子の参照順を決定するステップと，
スライス記述子の前記現在順とスライス記述子の前記参照順とを比較するステップと，
によって判定される，請求項３に記載の方法。
【請求項５】
スライス記述子の前記現在シーケンスはスライス記述子の現在の循環結合リストであり，スライス記述子の前記参照シーケンスはスライス記述子の参照循環結合リストであって，
スライス記述子の前記現在順は，現在の開始ノードから始まるスライス記述子の前記現在の循環結合リストを横断することによって決定され，
スライス記述子の前記参照順は，参照開始ノードから始まるスライス記述子の前記参照循環結合リストを横断することによって決定され，
スライス記述子の前記現在順がスライス記述子の前記参照順と同じであるとき，スライス記述子の前記現在シーケンスはスライス記述子の前記参照シーケンスに一致する，請求項４に記載の方法。
【請求項６】
スライス記述子の前記現在シーケンスがスライス記述子の前記参照シーケンスに一致するとき，スライス記述子の前記現在シーケンスと，スライス記述子の前記参照シーケンスとに基づいて，１又は複数の画像取得装置を含む物体の方向を推定するステップを更に有する，請求項３に記載の方法。
【請求項７】
スライス記述子の前記現在シーケンスがスライス記述子の前記参照シーケンスに一致するとき，スライス記述子の前記現在シーケンスと，スライス記述子の前記参照シーケンスとに基づいて，１又は複数の画像取得装置を含む物体の位置を推定するステップを更に有する，請求項３に記載の方法。
【請求項８】
前記受信した全方向画像データの歪除去を行うステップであって，前記歪除去した全方向画像データは前記複数の画像スライスに分割される，ステップを更に有する，請求項１に記載の方法。
【請求項９】
前記複数の画像スライスは，中間画像スライスと，先行画像スライスと，後続画像スライスとを含み，前記中間画像スライスの中間視界は前記先行画像スライスの先行視界に隣接し，前記中間画像スライスの前記中間視界は前記後続画像スライスの後続視界に隣接し，
スライス記述子の前記現在シーケンスは，前記先行画像スライスに対応する先行ノードと，前記中間画像スライスに対応する中間ノードと，前記後続画像スライスに対応する後続ノードとを含み，前記先行ノードは前記中間ノードに結合し，前記中間ノードは前記後続ノードに結合する，請求項１に記載の方法。
【請求項１０】
前記複数の画像スライスの各画像スライスは，前記全方向画像データの前記パノラマ視界の均等な部分を表し，前記複数の画像スライスの集合視界は，前記全方向画像データの前記パノラマ視界と同一である，請求項１に記載の方法。
【請求項１１】
前記スライス記述子は，尺度不変特徴変換と，加速ロバスト特徴と，有向グラディエントヒストグラムと，一般化探索木と，高速網膜キーポイントと，二値ロバスト不変調整可能キーポイントと，ステレオアルゴリズムとからなるグループから選択されたアルゴリズムを用いて計算される，請求項１に記載の方法。
【請求項１２】
全方向画像データ処理システムであって，
１又は複数のプロセッサと，
前記１又は複数のプロセッサに通信結合された非一時的メモリ部品と，
前記非一時的メモリ部品に記憶された機械可読命令であって，前記１又は複数のプロセッサによって実行されたとき，前記全方向画像データ処理システムに少なくとも，
パノラマ視界を表す全方向画像データを受信するステップと，
前記全方向画像データを複数の画像スライスに分割するステップであって，前記複数の画像スライスの各画像スライスは，前記全方向画像データの前記パノラマ視界の少なくとも一部を表す，ステップと，
前記複数の画像スライスの各画像スライスのスライス記述子を計算するステップと，
スライス記述子の現在シーケンスを生成するステップであって，スライス記述子の前記現在シーケンスは，前記複数の画像スライスの各画像スライスの前記計算されたスライス記述子を含む，ステップと，
を実行させる機械可読命令と，
を備える全方向画像データ処理システム。
【請求項１３】
１又は複数の画像取得装置を更に備え，前記全方向画像データは前記１又は複数の画像取得装置から受信される，請求項１２に記載の全方向画像データ処理システム。
【請求項１４】
データ記憶装置を更に備え，前記非一時的メモリ部品に記憶された前記機械可読命令は，前記１又は複数のプロセッサで実行されたとき，前記全方向画像データ処理システムに更に少なくとも，
前記データ記憶装置内のスライス記述子の参照シーケンスを利用するステップと，
スライス記述子の前記現在シーケンスがスライス記述子の前記参照シーケンスと一致するか否かを判定するステップと，
を実行させる，請求項１２に記載の全方向画像データ処理システム。
【請求項１５】
ロボットであって，
１又は複数のプロセッサと，
前記１又は複数のプロセッサに通信結合された１又は複数の画像取得装置と，
前記１又は複数のプロセッサに通信結合された非一時的メモリ部品と，
前記非一時的メモリ部品に記憶された機械可読命令であって，前記１又は複数のプロセッサによって実行されたとき，前記ロボットに少なくとも，
パノラマ視界を表す全方向画像データを前記１又は複数の画像取得装置から受信するステップと，
前記全方向画像データを複数の画像スライスに分割するステップであって，前記複数の画像スライスの各画像スライスは，前記全方向画像データの前記パノラマ視界の少なくとも一部を表す，ステップと，
前記複数の画像スライスの各画像スライスのスライス記述子を計算するステップと，
スライス記述子の現在シーケンスを生成するステップであって，スライス記述子の前記現在シーケンスは，前記複数の画像スライスの各画像スライスの前記計算されたスライス記述子を含む，ステップと，
を実行させる機械可読命令と，
を備えるロボット。