JP5488011B2 - 通信制御装置、通信制御方法及びプログラム - Google Patents

通信制御装置、通信制御方法及びプログラム Download PDF

Info

Publication number
JP5488011B2
JP5488011B2 JP2010022973A JP2010022973A JP5488011B2 JP 5488011 B2 JP5488011 B2 JP 5488011B2 JP 2010022973 A JP2010022973 A JP 2010022973A JP 2010022973 A JP2010022973 A JP 2010022973A JP 5488011 B2 JP5488011 B2 JP 5488011B2
Authority
JP
Japan
Prior art keywords
communication device
communication
data
user input
environment map
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010022973A
Other languages
English (en)
Other versions
JP2011164666A (ja
JP2011164666A5 (ja
Inventor
晃一 松田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2010022973A priority Critical patent/JP5488011B2/ja
Priority to TW099143812A priority patent/TWI446175B/zh
Priority to EP11150700.0A priority patent/EP2354894A3/en
Priority to US13/009,542 priority patent/US8717388B2/en
Priority to KR1020110008300A priority patent/KR20110090789A/ko
Priority to CN2011100374082A priority patent/CN102193725A/zh
Priority to BRPI1100726-5A priority patent/BRPI1100726A2/pt
Priority to RU2011103164/08A priority patent/RU2011103164A/ru
Publication of JP2011164666A publication Critical patent/JP2011164666A/ja
Publication of JP2011164666A5 publication Critical patent/JP2011164666A5/ja
Application granted granted Critical
Publication of JP5488011B2 publication Critical patent/JP5488011B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/025LAN communication management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller

Description

本発明は、通信制御装置、通信制御方法及びプログラムに関する。
近年、実空間を撮影して得られる画像を加工した上でユーザに呈示する拡張現実(AR:Augmented Reality)と呼ばれる技術が注目されている。AR技術においては、コンピュータが実空間の状況を把握することが重要である。実空間の状況の把握を目的とした技術としては、例えば、下記特許文献1に、カメラの位置や姿勢とカメラの画像に映る特徴点の位置とを同時に推定可能なSLAM(Simultaneous Localization And Mapping)とよばれる技術を応用して、実空間内に存在する物体の3次元位置を表現する環境マップを動的に生成する手法が記載されている。また、単眼カメラを用いたSLAM技術の基本的な原理は、下記非特許文献1において説明されている。
ところで、情報通信技術が一般ユーザの間に広く普及した現在において、相互に通信可能な複数の通信装置を保有するユーザは少なくない。例えば、PC(Personal Computer)からプリンタへの印刷データの送信、デジタルカメラからPCへの画像データの送信、デスクトップPCと携帯端末との間のデータ交換及び無線機器間の接続データの交換などは、いずれも相互に通信可能な通信装置間の通信である。このような通信装置間の通信に際してのユーザの利便性を向上するための技術は、例えば下記特許文献2に記載されている。
特開2008−304268号公報 特開2001−142825号公報
Andrew J.Davison, "Real-Time Simultaneous Localization and Mapping with a Single Camera", Proceedings of the 9th IEEE International Conference on Computer Vision Volume 2, 2003, pp.1403-1410
一般的に、上述した通信装置間でデータを交換する際、ユーザは、送信元又は送信先のいずれかの装置の画面上で送信したいデータと相手方の装置とを指定し、データ送信コマンドを発行する。データ送信コマンドの発行のやり方は、アイコンのドラッグ、メニューの選択又はテキストベースのコマンド入力など様々である。しかしながら、いずれのやり方においても、ユーザは、相手方の装置を表すアドレス、識別名又はアイコンなどを知っておかなければならない。かかる点は、ユーザにとって煩雑であり、直感的な操作を阻害していた。また、上記特許文献2に記載された「Pick and Drop」は、直感的なユーザインタフェースによる装置間のデータ交換を指向した手法である。しかしながら、「Pick and Drop」は、送信元及び送信先の双方の装置が特別なインタフェースを備えておくことが求められるため、ユーザが十分な利便性を享受し得るものではなかった。
これに対して、上述した環境マップは、実空間内に存在する通信装置の位置をコンピュータが的確に把握することを可能とする。そのため、環境マップを応用したユーザインタフェースによって、より直感的に装置間のデータ送信の指示を与えることが可能となるものと期待される。
そこで、本発明は、環境マップを応用することにより装置間のデータ送信のための直感的なユーザインタフェースを提供する、新規かつ改良された通信制御装置、通信制御方法及びプログラムを提供しようとするものである。
ある実施形態によれば、第1の通信装置に対するユーザ入力であって、当該第1の通信装置が有するいずれかのデータと方向とを指定する上記ユーザ入力を検出する検出部と、実空間内に存在する1つ以上の通信装置の位置を表現する環境マップから、上記ユーザ入力により指定された上記方向に基づいて、指定された上記データの送信先となるべき第2の通信装置を選択する選択部と、上記第1の通信装置から上記第2の通信装置へ、上記第1の通信装置が有する上記データを送信させる通信制御部と、を備える通信制御装置が提供される。
かかる構成によれば、データ送信元の第1の通信装置に対するユーザ入力が検出されると、ユーザ入力により指定された方向に基づいて環境マップから選択される第2の通信装置へ、第1の通信装置から指定されたデータが送信される。
また、上記選択部は、上記環境マップにおいて、上記第1の通信装置を基準として上記ユーザ入力により指定された上記方向に位置する通信装置を、上記第2の通信装置として選択してもよい。
また、上記選択部は、上記環境マップにおける上記第1の通信装置の位置及び姿勢並びに上記ユーザ入力により指定された上記方向に基づいて、上記第1の通信装置を起点とする1つの直線を特定し、当該直線の少なくとも近傍に位置する通信装置を上記第2の通信装置として選択してもよい。
また、上記選択部は、上記環境マップにおいて、上記第1の通信装置を基準として上記ユーザ入力により指定された上記方向に位置する通信装置が複数存在する場合には、当該複数の通信装置のうち上記第1の通信装置から最も近くに位置する通信装置を、上記第2の通信装置として選択してもよい。
また、上記通信制御装置は、上記第1の通信装置から上記第2の通信装置へ上記データが送信される際に、データ送信を表すアニメーションを表示装置に表示させる表示制御部、をさらに備えてもよい。
また、上記ユーザ入力は、上記第1の通信装置が有する画面上での当該画面に表示されたアイコンについてのドラッグであり、いずれのアイコンがユーザによりドラッグされたかに応じて、上記第1の通信装置から送信されるべき上記データが特定されてもよい。
また、別の実施形態によれば、通信制御装置により実行される通信制御方法において、第1の通信装置に対するユーザ入力であって、当該第1の通信装置が有するいずれかのデータと方向とを指定する上記ユーザ入力を検出するステップと、実空間内に存在する1つ以上の通信装置の位置を表現する環境マップから、上記ユーザ入力により指定された上記方向に基づいて、指定された上記データの送信先となるべき第2の通信装置を選択するステップと、上記第1の通信装置から上記第2の通信装置へ、上記第1の通信装置が有する上記データを送信させるステップと、を含む、通信制御方法が提供される。
また、別の実施形態によれば、通信制御装置を制御するコンピュータを、第1の通信装置に対するユーザ入力であって、当該第1の通信装置が有するいずれかのデータと方向とを指定する上記ユーザ入力を検出する検出部と、実空間内に存在する1つ以上の通信装置の位置を表現する環境マップから、上記ユーザ入力により指定された上記方向に基づいて、指定された上記データの送信先となるべき第2の通信装置を選択する選択部と、上記第1の通信装置から上記第2の通信装置へ、上記第1の通信装置が有する上記データを送信させる通信制御部と、として機能させるための、プログラムが提供される。
また、別の実施形態によれば、第1の通信装置に対するユーザ入力であって、当該第1の通信装置が有するいずれかのデータを指定する上記ユーザ入力を検出する検出部と、実空間内に存在する1つ以上の通信装置の位置を表現する環境マップにおける上記第1の通信装置の位置に基づいて、上記ユーザ入力により指定された上記データの送信先となるべき第2の通信装置を上記環境マップから選択する選択部と、上記第1の通信装置から上記第2の通信装置へ、上記第1の通信装置が有する上記データを送信させる通信制御部と、を備える通信制御装置が提供される。
また、上記選択部は、上記環境マップにおいて上記第1の通信装置の下方に位置する通信装置を上記第2の通信装置として選択してもよい。
また、別の実施形態によれば、通信制御装置により実行される通信制御方法において、第1の通信装置に対するユーザ入力であって、当該第1の通信装置が有するいずれかのデータを指定する上記ユーザ入力を検出するステップと、実空間内に存在する1つ以上の通信装置の位置を表現する環境マップにおける上記第1の通信装置の位置に基づいて、上記ユーザ入力により指定された上記データの送信先となるべき第2の通信装置を上記環境マップから選択するステップと、上記第1の通信装置から上記第2の通信装置へ、上記第1の通信装置が有する上記データを送信させるステップと、を含む、通信制御方法が提供される。
また、別の実施形態によれば、通信制御装置を制御するコンピュータを、第1の通信装置に対するユーザ入力であって、当該第1の通信装置が有するいずれかのデータを指定する上記ユーザ入力を検出する検出部と、実空間内に存在する1つ以上の通信装置の位置を表現する環境マップにおける上記第1の通信装置の位置に基づいて、上記ユーザ入力により指定された上記データの送信先となるべき第2の通信装置を上記環境マップから選択する選択部と、上記第1の通信装置から上記第2の通信装置へ、上記第1の通信装置が有する上記データを送信させる通信制御部と、として機能させるための、プログラムが提供される。
以上説明したように、本発明に係る通信制御装置、通信制御方法及びプログラムによれば、装置間のデータ送信のための直感的なユーザインタフェースを提供することができる。
一実施形態に係るシステムの概要について説明するための模式図である。 一実施形態に係る通信制御装置において取得され得る入力画像の一例を示す説明図である。 一実施形態に係る通信装置の構成の一例を示すブロック図である。 一実施形態に係る通信制御装置の構成の一例を示すブロック図である。 一実施形態に係る自己位置検出処理の流れの一例を示すフローチャートである。 オブジェクト上に設定される特徴点について説明するための説明図である。 特徴点の追加について説明するための説明図である。 予測モデルの一例について説明するための説明図である。 特徴データの構成の一例について説明するための説明図である。 一実施形態に係るオブジェクト認識処理の流れの一例を示すフローチャートである。 一実施形態に係る通信装置に対するユーザ入力について説明するための説明図である。 一実施形態に係る送信先の選択について説明するための第1の説明図である。 一実施形態に係る送信先の選択について説明するための第2の説明図である。 一実施形態に係る送信先選択処理の流れの一例を示すフローチャートである。 一実施形態に係るデータ送信に関するアニメーションの一例を示す説明図である。 一実施形態に係る通信制御処理の流れの一例を示すフローチャートである。 一変形例に係る送信先の選択について説明するための説明図である。 一変形例に係る送信先選択処理の流れの一例を示すフローチャートである。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
1.システムの概要
2.一実施形態に係る通信装置の構成
3.一実施形態に係る通信制御装置の構成
3−1.撮像部
3−2.環境マップ生成部
3−3.通信処理部
3−4.表示制御部
3−5.通信制御処理の流れ
4.変形例
5.まとめ
<1.システムの概要>
まず、図1及び図2を用いて、本発明の一実施形態に係るシステムの概要について説明する。図1は、本発明の一実施形態に係るシステムの概要について説明するための模式図である。図2は、図1に例示した一実施形態に係る通信制御装置100において取得され得る入力画像の一例を示す説明図である。
図1を参照すると、通信制御装置100が使用され得る一例としての環境1が示されている。環境1の内部には、テーブル10、並びに通信装置20a、20b、20c及び20dが存在している。テーブル10は、環境1の底面である床に設置されている。通信装置20aは、例えば、スマートフォンなどの携帯端末に相当し、ユーザにより把持されている。通信装置20bは、例えば、ノートブックPC(Personal Computer)に相当し、テーブル10の上に位置している。通信装置20cは、例えば、デジタルカメラに相当し、テーブル10の上に位置している。通信装置20dは、例えば、プリンタに相当し、床に設置されている。これら通信装置20a、20b、20c及び20dは、有線又は無線による通信接続を介して、相互に通信することができる。
通信制御装置100は、ユーザUaに装着されるカメラ及びHMD(Head Mounted Display)104を有する通信装置である。通信制御装置100の本体は、必ずしもユーザUaに装着されなくてもよい。通信制御装置100もまた、有線又は無線による通信接続を介して、通信装置20a、20b、20c及び20dと通信することができる。通信制御装置100は、図1に示した一例としての環境1を撮影し、一連の入力画像を取得する。そして、通信制御装置100は、取得した入力画像に基づいて、後に説明する環境マップを構築する。さらに、通信制御装置100は、環境1の内部に存在する通信装置20a、20b、20c及び20dのいずれかに対する、データの送信に関するユーザ入力を検出する。そして、通信制御装置100は、検出したユーザ入力に基づいて、1つの装置から他の装置へのデータの送信を制御する。
図2は、通信制御装置100により取得される一例としての入力画像106を示す説明図である。図2を参照すると、入力画像106には、図1に示した通信装置20a及び20dが映っている。また、通信装置20aの画面上には、通信装置20aが有するデータにそれぞれ対応する2つのアイコンが表示されている。本実施形態では、例えば、ユーザUaがかかるアイコンに対して後に説明するユーザ入力を行うことにより、通信制御装置100の制御の下に、通信装置20aから他の通信装置へのデータ送信が行われる。
なお、本明細書において、通信装置20a、20b、20c及び20dを互いに区別する必要がない場合には、符号の末尾のアルファベットを省略することにより、これら装置を通信装置20と総称する。また、その他の要素についても同様とする。
<2.一実施形態に係る通信装置の構成>
図3は、本発明の一実施形態に係る通信装置20の構成の一例を示すブロック図である。図3を参照すると、通信装置20は、記憶部40、表示部42、ユーザインタフェース(I/F)44、通信インタフェース(I/F)46及び制御部48を備える。
記憶部40は、ハードディスク又は半導体メモリなどの記憶媒体を用いて、データを記憶する。記憶部40により記憶されるデータは、アプリケーションデータ、テキストデータ、画像データ、音声データ又はプログラムデータなど、任意の種類のデータであってよい。
表示部42は、制御部48による制御に応じて、通信装置20に設けられる画面上に情報を表示する。例えば、表示部42は、図2に例示したように、記憶部40に記憶されているデータにそれぞれ対応するアイコンを画面上に表示する。また、表示部42は、記憶部40に記憶されている個々のデータを格納するデータファイルのファイル名の一覧などを画面上に表示してもよい。これらアイコン又はファイル名は、ユーザが通信装置20から他の装置へデータを送信しようとする際、送信すべきデータを特定するために用いられる。
ユーザI/F44は、ユーザが通信装置20に情報を入力し又は指示を与えるための入力手段を提供する。本実施形態において、ユーザI/F44は、通信装置20の画面上の任意の位置をユーザが指定することのできるポインティングデバイスを含む。ポインティングデバイスとは、例えば、表示部42と一体に構成されるタッチパネルであってもよく、その代わりに、マウス又はタッチパッドなどであってもよい。さらに、ユーザI/F44は、キーボード、ボタン又はホイールなどを追加的に含んでもよい。
通信I/F46は、通信装置20による他の装置(通信制御装置100及び他の通信装置20を含む)との間の通信を仲介する。通信I/F46は、例えば、無線LAN(Local Area Network)、Bluetooth(登録商標)若しくはWiMax(登録商標)などの無線通信インタフェースであってもよく、又は有線LAN若しくはUSB(Universal Serial Bus)などの有線通信インタフェースであってもよい。
制御部48は、CPU(Central Processing Unit)又はDSP(Digital Signal Processor)などのプロセッサを用いて、通信装置20の動作全般を制御する。例えば、制御部48は、記憶部40に格納されるプログラムを実行することにより、通信装置20の固有の機能(PCの情報処理機能、スマートフォンの通話機能又はその他のアプリケーション機能など)を動作させる。また、制御部48は、例えば、記憶部40に記憶されているデータにそれぞれ対応するアイコン等を表示部42により表示させる。さらに、本実施形態において、制御部48は、例えば、ユーザI/F44を介してデータの送信に関する所定のユーザ入力を検知すると、当該ユーザ入力の内容を通知するユーザ入力信号を、通信I/F46を介して通信制御装置100へ送信する。なお、データの送信に関するユーザ入力については、後により具体的に説明する。
さらに、制御部48は、通信制御装置100からの指示に応じて、ユーザにより指定されたデータを記憶部40から読み出し、当該データを通信I/F46を介して他の通信装置へ送信する。通信装置20からのデータの送信は、例えば、FTP(File Transfer Protocol)、HTTP(Hyper-Text Transfer Protocol)又はSambaなどの仕組みを用いて実現され得る。また、データの送信先は、通信制御装置100により選択される。
通信制御装置100は、このような通信装置20から他の通信装置へのデータの送信を制御するための装置である。次節では、本実施形態に係る通信制御装置100の構成について具体的に説明する。
<3.一実施形態に係る通信制御装置の構成>
図4は、本発明の一実施形態に係る通信制御装置100の構成の一例を示すブロック図である。図4を参照すると、通信制御装置100は、撮像部102、環境マップ生成部110、通信処理部180及び表示制御部190を備える。
[3−1.撮像部]
撮像部102は、例えば、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子を有するカメラとして実現され得る。撮像部102は、通信制御装置100の外部に設けられてもよい。撮像部102は、図1に例示した環境1などの実空間を撮影することにより取得した画像を、入力画像として環境マップ生成部110及び表示制御部190へ出力する。
[3−2.環境マップ生成部]
環境マップ生成部110は、撮像部102から入力される入力画像、及びデータ記憶部130により記憶されている後述するオブジェクトの特徴データに基づいて、実空間内に存在する1つ以上の物体の位置等を表現する環境マップを生成する。図4に示しているように、本実施形態において、環境マップ生成部110は、自己位置検出部120、データ記憶部130、画像認識部140、環境マップ構築部150、及び環境マップ記憶部152を含む。
(1)自己位置検出部
自己位置検出部120は、撮像部102から入力される入力画像、及びデータ記憶部130により記憶されている特徴データに基づいて、入力画像を映したカメラの位置を動的に検出する。例えば、自己位置検出部120は、上記非特許文献1に記載されているSLAM技術を応用することにより、カメラが単眼カメラである場合にも、当該カメラの位置及び姿勢、並びにカメラの撮像面における特徴点の位置を、フレームごとに動的に決定することができる。
まず、図5を用いて、自己位置検出部120によるSLAM技術を応用した自己位置検出処理の全体的な流れについて説明する。次に、図6〜図8を用いて、自己位置検出処理の詳細を説明する。
図5は、自己位置検出部120によるSLAM技術を応用した自己位置検出処理の流れの一例を示すフローチャートである。図5において、自己位置検出処理が開始すると、自己位置検出部120は、まず、状態変数を初期化する(ステップS102)。本実施形態において、状態変数とは、カメラの位置及び姿勢(回転角)、当該カメラの移動速度及び角速度、並びに1つ以上の特徴点の位置を要素として含むベクトルである。そして、自己位置検出部120は、撮像部102から入力画像を順次取得する(ステップS112)。ステップ112からステップS118までの処理は、各入力画像について(即ち毎フレーム)繰り返され得る。
ステップS114では、自己位置検出部120は、入力画像に映る特徴点を追跡する。例えば、自己位置検出部120は、データ記憶部130により予め記憶されている特徴点ごとのパッチ(例えば特徴点を中心とする3×3=9画素の小画像)を入力画像から検出する。ここで検出されたパッチの位置、即ち特徴点の位置は、後の状態変数の更新の際に用いられる。
ステップS116では、自己位置検出部120は、所定の予測モデルに基づいて、例えば1フレーム後の状態変数の予測値を生成する。また、ステップS118では、自己位置検出部120は、ステップS116において生成した状態変数の予測値と、ステップS114において検出した特徴点の位置に応じた観測値とを用いて、状態変数を更新する。自己位置検出部120は、ステップS116及びS118における処理を、拡張カルマンフィルタの原理に基づいて実行する。
このような処理の結果として、毎フレーム更新される状態変数の値が出力される。以下、特徴点の追跡(ステップS114)、状態変数の予測(ステップS116)、状態変数の更新(ステップS118)の各処理の内容について、より具体的に説明する。
(1−1)特徴点の追跡
本実施形態において、データ記憶部130は、実空間内に存在し得る物体(通信装置20及びその他の物体)に対応するオブジェクトの特徴を表す特徴データを予め記憶している。特徴データには、例えば、各オブジェクトの外観の特徴を表す1つ以上の特徴点についての小画像、即ちパッチ(Patch)が含まれる。パッチとは、例えば、特徴点を中心とする3×3=9画素よりなる小画像であってよい。
図6は、オブジェクトの2つの例、並びに各オブジェクト上に設定される特徴点(FP:Feature Point)及びパッチの例を示している。図6の左のオブジェクトは、PCを表すオブジェクトである(6a参照)。当該オブジェクト上には、特徴点FP1を含む複数の特徴点が設定されている。さらに、特徴点FP1と関連付けて、パッチPth1が定義されている。一方、図6の右のオブジェクトは、カレンダーを表すオブジェクトである(6b参照)。当該オブジェクト上には、特徴点FP2を含む複数の特徴点が設定されている。さらに、特徴点FP2と関連付けて、パッチPth2が定義されている。
自己位置検出部120は、撮像部102から入力画像を取得すると、入力画像に含まれる部分画像と、データ記憶部130に予め記憶されている図6に例示した特徴点ごとのパッチとを照合する。そして、自己位置検出部120は、照合の結果として、入力画像に含まれる特徴点の位置(例えば検出されたパッチの中心画素の位置)を特定する。
なお、特徴点の追跡(図5のステップS114)において、追跡される全ての特徴点に関するデータが予めデータ記憶部130に記憶されていなくてもよい。例えば、図7の例では、時刻T=t−1において、4つの特徴点が入力画像内で検出されている(7a参照)。次に、時刻T=tにおいてカメラの位置又は姿勢が変化すると、時刻T=t−1において入力画像に映っていた4つの特徴点のうち2つのみが入力画像内に映っている。この場合に、自己位置検出部120は、入力画像内で特徴的な画素のパターンを有する位置に新たに特徴点を設定し、その新たな特徴点を後のフレームにおける自己位置検出処理に用いてもよい。例えば、図7の例では、時刻T=tにおいて、3つの新たな特徴点がオブジェクト上に設定されている(7b参照)。かかる点は、SLAM技術の1つの特長であり、それにより、予め全ての特徴点を設定しておくコストを削減できると共に、追加される多数の特徴点を用いて処理の精度を高めることができる。
(1−2)状態変数の予測
本実施形態において、自己位置検出部120は、拡張カルマンフィルタを適用すべき状態変数として、次式に示す状態変数Xを用いる。
Figure 0005488011
(1)
式(1)における状態変数Xの第1の要素は、次式の通り、実空間に設定される座標系である世界座標系(x,y,z)でのカメラの3次元位置を表す。
Figure 0005488011
(2)
また、状態変数の第2の要素は、カメラの姿勢を表す回転行列に対応する四元数(クォータニオン)を要素として有する4次元ベクトルωである。なお、四元数の変わりにオイラー角を用いてカメラの姿勢が表されてもよい。また、状態変数の第3及び第4の要素は、カメラの移動速度及び角速度をそれぞれ表す。
さらに、状態変数の第5及びそれ以降の要素は、次式の通り、世界座標系での特徴点FP(i=1…N)の3次元位置pをそれぞれ表す。なお、上述したように、特徴点の数Nは、処理の間変化し得る。
Figure 0005488011
(3)
自己位置検出部120は、ステップS102において初期化された状態変数Xの値、又は前フレームにおいて更新された状態変数Xの値に基づいて、最新のフレームについての状態変数の予測値を生成する。状態変数の予測値は、次式に示す多次元正規分布に従った拡張カルマンフィルタの状態方程式に従って生成される。
Figure 0005488011
ここで、Fはシステムの状態遷移に関する予測モデル、aは予測条件である。また、wはガウシアンノイズであり、例えばモデル近似誤差や観測誤差等を含み得る。一般的に、ガウシアンノイズwの平均はゼロとなる。
図8は、本実施形態に係る予測モデルの一例について説明するための説明図である。図8を参照すると、本実施形態に係る予測モデルにおける2つの予測条件が示されている。まず、第1の条件として、特徴点の世界座標系における3次元位置は変化しないものとする。即ち、時刻Tにおける特徴点FP1の3次元位置をpとすると、次式の関係が成立する。
Figure 0005488011
(5)
次に、第2の条件として、カメラの運動は等速運動であるものとする。即ち、時刻T=t−1から時刻T=tにかけてのカメラの速度及び角速度について、次式の関係が成立する。
Figure 0005488011
(6)
Figure 0005488011
(7)
このような予測モデル及び式(4)に示した状態方程式に基づいて、自己位置検出部120は、最新のフレームについての状態変数の予測値を生成する。
(1−3)状態変数の更新
そして、自己位置検出部120は、観測方程式を用いて、例えば状態変数の予測値から予測される観測情報と、特徴点の追跡結果として得られる実際の観測情報との誤差を評価する。なお、式(8)におけるνがその誤差である。
Figure 0005488011
ここで、Hは観測モデルを表す。例えば、特徴点FPの撮像面(u−v平面)上の位置を、次式のように定義する。
Figure 0005488011
ここで、カメラの位置x、カメラの姿勢ω、及び特徴点FPの3次元位置pは、いずれも状態変数Xの要素として与えられる。そうすると、ピンホールモデルに従い、特徴点FPの撮像面上の位置は次式を用いて導かれる。
Figure 0005488011
(11)
ここで、λは正規化のためのパラメータ、Aはカメラ内部パラメータ、Rωは状態変数Xに含まれるカメラの姿勢を表す四元数ωに対応する回転行列である。カメラ内部パラメータAは、入力画像を撮影するカメラの特性に応じて、予め次式のように与えられる。
Figure 0005488011
(12)
ここで、fは焦点距離、θは画像軸の直交性(理想値は90°)、kは撮像面の縦軸のスケール(世界座標系から撮像面の座標系へのスケール変化率)、kは撮像面の横軸のスケール、(u,v)は撮像面の中心位置である。
従って、式(11)を用いて導かれる予測される観測情報、即ち各特徴点の撮像面上の位置と、図5のステップS114における特徴点の追跡結果との間の誤差を最小にする状態変数Xを探索することにより、尤もらしい最新の状態変数Xを得ることができる。
Figure 0005488011
自己位置検出部120は、このようにSLAM技術を応用して動的に更新したカメラの位置x及び姿勢ωを、環境マップ構築部150、通信処理部180及び表示制御部190へ出力する。
(2)データ記憶部
データ記憶部130は、ハードディスク又は半導体メモリなどの記憶媒体を用いて、実空間内に存在し得る物体に対応するオブジェクトの特徴を表す特徴データを予め記憶している。図4では、データ記憶部130が環境マップ生成部110の一部である例を示しているが、かかる例に限定されず、データ記憶部130は環境マップ生成部110の外部に設けられてもよい。図9は、特徴データの構成の一例について説明するための説明図である。
図9を参照すると、オブジェクトObj1についての一例としての特徴データFD1が示されている。特徴データFD1は、オブジェクト名称FD11、6方向から撮影した画像データFD12、パッチデータDF13、3次元形状データFD14、及びオントロジーデータFD15を含む。
オブジェクト名称FD11は、“スマートフォンA”など、対応するオブジェクトを特定することのできる名称である。
画像データFD12は、例えば、対応するオブジェクトを前・後・左・右・上・下の6方向からそれぞれ撮影した6つの画像データを含む。パッチデータFD13は、各オブジェクト上に設定される1つ以上の特徴点ごとの、各特徴点を中心とする小画像の集合である。画像データFD12及びパッチデータFD13は、後述する画像認識部140によるオブジェクト認識処理のために使用され得る。また、パッチデータFD13は、前述した自己位置検出部120による自己位置検出処理のために使用され得る。
3次元形状データFD14は、対応するオブジェクトの形状を認識するためのポリゴン情報、及び特徴点の3次元的な位置情報を含む。3次元形状データFD14は、後述する環境マップ構築部150による環境マップ構築処理のために使用され得る。
オントロジーデータFD15は、例えば、環境マップ構築部150による環境マップ構築処理を支援するために使用され得るデータである。図9の例では、オントロジーデータFD15は、スマートフォンであるオブジェクトObj1が、テーブルに対応するオブジェクトに接する可能性が高いこと、及び本棚に対応するオブジェクトに接する可能性が低いことを表している。
(3)画像認識部
画像認識部140は、データ記憶部130により記憶されている上述した特徴データを用いて、入力画像に映っている物体がそれぞれどのオブジェクトに対応するかを特定する。
図10は、画像認識部140によるオブジェクト認識処理の流れの一例を示すフローチャートである。図10を参照すると、まず、画像認識部140は、撮像部102から入力画像を取得する(ステップS212)。次に、画像認識部140は、入力画像に含まれる部分画像と、特徴データに含まれる各オブジェクトの1つ以上の特徴点のパッチとを照合し、入力画像に含まれる特徴点を抽出する(ステップS214)。なお、画像認識部140によるオブジェクト認識処理に用いられる特徴点と、自己位置検出部120による自己位置検出処理に用いられる特徴点とは、必ずしも同じでなくてもよい。但し、双方の処理で用いられる特徴点が共通している場合には、画像認識部140は、自己位置検出部120による特徴点の追跡結果を再利用してもよい。
次に、画像認識部140は、特徴点の抽出結果に基づいて、入力画像に映っているオブジェクトを特定する(ステップS216)。例えば、画像認識部140は、ある領域内で1つのオブジェクトに属す特徴点が高い密度で抽出された場合には、当該領域にそのオブジェクトが映っていると認識し得る。そして、画像認識部140は、特定したオブジェクトのオブジェクト名称(又は識別子)及びそのオブジェクトに属す特徴点の撮像面上の位置を、環境マップ構築部150へ出力する(ステップS218)。
(4)環境マップ構築部
環境マップ構築部150は、自己位置検出部120から入力されるカメラの位置及び姿勢、画像認識部140から入力される特徴点の撮像面上の位置、及びデータ記憶部130に記憶されている特徴データを用いて、環境マップを構築する。本明細書において、環境マップとは、実空間内に存在する1つ以上の物体の位置及び姿勢を表現するデータの集合である。特に、本実施形態では、環境マップは、実空間内に存在する物体としての2つ以上の通信装置20の位置及び姿勢を表現するデータを含む。また、環境マップには、例えば、物体に対応するオブジェクト名称、当該物体に属す特徴点の3次元位置、及び当該物体の形状を構成するポリゴン情報などが含まれ得る。環境マップは、例えば、画像認識部140から入力される特徴点の撮像面上の位置から、上述したピンホールモデルに従って各特徴点の3次元位置を求めることにより構築され得る。
式(11)に示したピンホールモデルの関係式を変形すると、特徴点FPの世界座標系における3次元位置pは、次式により求められる。
Figure 0005488011
(14)
ここで、dはカメラと各特徴点との間の世界座標系における距離を表す。環境マップ構築部150は、かかる距離dを、オブジェクトごとに少なくとも4つの特徴点の撮像面上の位置、及び当該特徴点間の距離に基づいて、算出することができる。特徴点間の距離は、図9を用いて説明した特徴データに含まれる3次元形状データFD14として、予めデータ記憶部130により記憶されている。なお、式(14)における距離dの算出処理については、上記特許文献1において詳しく説明されている。
距離dが算出されると、式(14)における右辺の残りの変数は、自己位置検出部120から入力されるカメラの位置及び姿勢、並びに画像認識部140から入力される特徴点の撮像面上の位置であり、いずれも既知となる。そこで、環境マップ構築部150は、式(14)に従って、画像認識部140から入力される各特徴点について、世界座標系における3次元位置を計算する。そして、環境マップ構築部150は、算出した特徴点ごとの3次元位置に応じて最新の環境マップを構築し、構築した環境マップを環境マップ記憶部152に記憶させる。なお、このとき、環境マップ構築部150は、図9を用いて説明した特徴データに含まれるオントロジーデータFD15を用いて、環境マップのデータの正確性を向上させてもよい。
環境マップ記憶部152は、ハードディスク又は半導体メモリなどの記憶媒体を用いて、環境マップ構築部150により構築される環境マップを記憶する。さらに、本実施形態では、環境マップ記憶部152において、各通信装置20に関するデータは、予め登録される各通信装置20の識別情報(例えば、IPアドレス、ホスト名又はMACアドレスなど)と関連付けられる。
[3−3.通信処理部]
通信処理部180は、環境マップ生成部110により生成される環境マップを使用し、通信装置20から受信されるユーザ入力に応じて、1つの通信装置20から他の装置へのデータの送信を制御する。図4に示しているように、本実施形態において、通信処理部180は、通信I/F182、検出部184、選択部186及び通信制御部188を含む。
(1)通信I/F
通信I/F182は、通信制御装置100による通信装置20との間の通信を仲介する。通信I/F182は、例えば、通信装置20の通信I/F46と同様の無線通信インタフェース又は有線通信インタフェースであってよい。通信I/F182は、通信装置20から受信される信号を、検出部184及び通信制御部188へ出力する。また、通信I/F182は、通信制御部188から入力される信号を通信装置20へ送信する。
(2)検出部
検出部184は、通信I/F182により受信される信号を監視することにより、ユーザによる通信装置20に対するユーザ入力であって、当該通信装置20が有するいずれかのデータと方向とを指定するユーザ入力を検出する。通信装置20が有するいずれかのデータと方向とを指定するユーザ入力は、例えば、通信装置20においてユーザ入力信号INに変換され、通信装置20から通信制御装置100へ送信される。検出部184は、かかるユーザ入力信号INが通信I/F182により受信されたことを検出すると、ユーザ入力の内容を選択部186へ通知し、ユーザ入力信号INの送信元の通信装置20からのデータの送信先とすべき装置を選択部186に選択させる。
図11は、検出部184によって検出される通信装置20に対するユーザ入力について説明するための説明図である。図11を参照すると、通信制御装置100のカメラにより撮像される一例としての入力画像Im1が示されている。また、入力画像Im1には、通信装置20a、20b及び20cが映っている。さらに、通信装置20aの画面上には、データD1及びD2をそれぞれ表す2つのアイコンが表示されている。
図11のような状況において、例えば、データD2を通信装置20bへ送信することを希望するユーザは、データD2を表すアイコンを通信装置20bが存在する方向(図中の右方向)へドラッグする。そうすると、通信装置20aは、ドラッグイベントを検知し、ユーザ入力により指定されたアイコンとドラッグ方向とを認識する。そして、通信装置20aは、指定されたアイコンに対応するデータD2を特定するための情報(例えばデータファイルのパス)とドラッグ方向とを内容とするユーザ入力信号INを、通信制御装置100へ送信する。通信制御装置100の検出部184は、通信I/F182により受信される信号を監視し、かかるユーザ入力信号INを検出する。
なお、検出部184は、例えば、通信装置20から送信されるユーザ入力信号INを検出する代わりに、撮像部102から入力される一連の入力画像を監視し、入力画像に映るユーザの動作を画像認識することにより、通信装置20に対するユーザ入力を検出してもよい。
(3)選択部
選択部186は、ユーザ入力により指定された方向に基づいて、指定されたデータの送信先となるべき通信装置を、環境マップ生成部110により生成される環境マップから選択する。本実施形態において、選択部186は、例えば、環境マップにおいて、ユーザ入力信号INの送信元の通信装置20を基準とし、ユーザ入力により指定された方向に位置する通信装置を、データ送信先の装置として選択する。また、選択部186は、当該方向に位置する通信装置が複数存在する場合には、例えば、それら複数の装置のうち送信元の通信装置20から最も近くに位置する装置を、データ送信先の装置として選択し得る。
図12及び図13は、本実施形態に係る選択部186による送信先の選択について説明するための説明図である。
図12を参照すると、環境マップに含まれる通信装置20a、20b及び20cが示されている。このうち、通信装置20aの位置は、環境マップの世界座標系(x,y,z)における3次元位置Xとして、環境マップに保持されている。また、通信装置20aの姿勢は、環境マップの世界座標系(x,y,z)における回転行列に対応する四元数ωとして、環境マップに保持されている。通信装置20aの姿勢ωは、通信装置20aの画面の法線の回転角に対応する。これら、通信装置20aの位置X及び姿勢ωに加えて、ユーザ入力信号INに含まれる通信装置20aの画面上のドラッグ方向(u,v)が定まると、位置Xを起点とし、ユーザがドラッグにより指定した方向に沿う直線L1を、環境マップの世界座標系において一意に特定することができる。
選択部186は、このように直線L1を特定し、直線L1上又は直線L1の少なくとも近傍に位置する通信装置20を、データ送信先の装置として選択する。図12の例では、通信装置20bが通信装置20aの位置Xを起点とする直線L1上に位置する。一方、通信装置20cは、直線L1から離れた位置にいる。そこで、選択部186は、通信装置20bを通信装置20aからのデータ送信先の装置として選択する。
図13を参照すると、環境マップに含まれる通信装置20a、20b及び20cが示されている。但し、これら装置は、図12の例とは異なる位置関係にある。この場合にも、選択部186は、環境マップにおける通信装置20aの位置X及び姿勢ω、ユーザ入力により指定されたドラッグ方向(u,v)に基づいて、通信装置20aを起点とする直線L1を特定する。図13の例では、直線L1上に通信装置20b及び20cが共に位置する。このとき、選択部186は、例えば、通信装置20b及び20cのうち、通信装置20aのより近くに位置する通信装置20bを、通信装置20aからのデータ送信先の装置として選択することができる。その代わりに、選択部186は、例えば、ユーザにいずれかの装置(通信装置20b又は20c)を指定させるためのメッセージを表示し、ユーザによる指定の結果に応じて、いずれかの装置をデータ送信先の装置として選択してもよい。
図14は、本実施形態に係る選択部186による送信先選択処理の流れの一例を示すフローチャートである。
図14を参照すると、選択部186は、まず、環境マップから各通信装置の位置及び姿勢を取得する(ステップS302)。次に、選択部186は、送信元の通信装置20の位置を起点とし、ユーザ入力により指定された方向に沿った直線L1を特定する(ステップS304)。
次に、選択部186は、特定した直線L1の少なくとも近傍に(即ち、直線L1上に又は直線L1の近傍に)他の通信装置が存在するか否かを判定する(ステップS306)。例えば、直線L1との間の距離が予め設定される閾値よりも小さい装置は、直線L1の近傍に位置すると判断され得る。ここで、選択部186は、直線L1の近傍に位置する他の通信装置が存在しない場合には、通信制御部188にエラーを出力し(ステップS314)、処理を終了する。一方、直線L1の少なくとも近傍に他の通信装置が存在する場合には、処理はステップS308へ進む。
次に、選択部186は、直線L1の少なくとも近傍に複数の他の通信装置が存在するか否かを判定する(ステップS308)。ここで、直線L1の少なくとも近傍に複数の他の通信装置が存在する場合には、選択部186は、送信元の通信装置20の最も近くに位置する通信装置を、データ送信先の装置として選択する(ステップS310)。一方、直線L1の少なくとも近傍に位置する他の通信装置が1つのみである場合には、選択部186は、当該他の通信装置を、データ送信先の装置として選択する(ステップS312)。
選択部186は、このような送信先選択処理により選択したデータ送信先の装置を識別するための識別情報を、通信制御部188へ出力する。なお、選択部186により選択されるデータ送信先の装置は、必ずしも本実施形態に係る通信装置20と同等の構成を有していなくてもよい。例えば、ユーザ入力信号INを通信制御装置100へ送信する機能を有しない一般的な通信装置であっても、環境マップ生成部110により生成される環境マップにおいて認識され得る装置であれば、選択部186によりデータ送信先の装置として選択されることができる。
(4)通信制御部
通信制御部188は、検出部184によりユーザ入力が検出された場合に、ユーザ入力の対象となった通信装置20から他の通信装置へ、ユーザ入力により指定されたデータを送信させる。より具体的には、通信制御部188は、例えば、1つの通信装置20からユーザ入力信号INが受信されると、データ送信を指示する指示信号SIGを、通信I/F182を介して当該1つの通信装置20へ送信する。指示信号SIGは、ユーザ入力により指定されたデータを、上述した送信先選択処理に従って選択部186により選択された他の通信装置へ送信すべきことを指示する信号である。その結果、上記1つの通信装置20から、ユーザ入力により指定された方向に位置する他の通信装置へ、ユーザ入力により指定されたデータが送信される。
さらに、通信制御部188は、指示信号SIGを送信すると共に、データ送信元の装置及びデータ送信先の装置を識別するための識別情報を、表示制御部190へ出力する。
[3−4.表示制御部]
表示制御部190は、データ送信元の装置からデータ送信先の装置へデータが送信される際に、データ送信を表すアニメーションを表示装置の画面上に表示させる。例えば、表示制御部190は、撮像部102から入力される入力画像にデータ送信を表すアニメーションを重畳することにより、出力画像を生成する。そして、表示制御部190は、生成した出力画像をHMD104に表示させる。データ送信を表すアニメーションは、例えば、データ送信元の装置からデータ送信先の装置へ何らかの仮想的なオブジェクト(図形、記号、又はキャラクターなど)が動くようなアニメーションであってよい。
より具体的には、例えば、表示制御部190は、アニメーションを入力画像に重畳すべき位置を、環境マップ生成部110から取得されるカメラの位置及び姿勢を用いて、ピンホールモデルの式(11)に従って算出する。例えば、式(11)における右辺の特徴点FPの3次元位置pにデータ送信元の装置の3次元位置を代入することにより、アニメーションの起点の表示位置が算出される。また、式(11)における右辺の特徴点FPの3次元位置pにデータ送信先の装置の3次元位置を代入することにより、アニメーションの終点の表示位置が算出される。そして、表示制御部190は、起点の表示位置と終点の表示位置との間をオブジェクトが動くようなアニメーションを一連の入力画像にわたって重畳する。
図15は、本実施形態に係るデータ送信に関するアニメーションの一例を示す説明図である。図15を参照すると、データ送信を表す一連のアニメーション192a〜192cが重畳された出力画像Im2a〜Im2cが、便宜的に1つの説明図に表されている。実際には、時間軸に沿って、出力画像Im2aにアニメーション192a、出力画像Im2bにアニメーション192b、出力画像Im2cにアニメーション192cが順に重畳され得る。図15に示したアニメーションは、矢印の形状をしている。このように、アニメーション192a〜192cが順に表示されることにより、ユーザは、通信装置20a0から通信装置20dへデータが送信されていることを把握することができる。なお、データ送信先の装置は、環境マップにおいてその位置が認識されている限り、必ずしも入力画像又は出力画像に映っていなくてもよい。即ち、ユーザ入力により指定された方向に位置する通信装置であって、画面の範囲外に位置する装置へ、データが送信されてもよい。
[3−5.通信制御処理の流れ]
図16は、本実施形態に係る通信制御装置100による通信制御処理の流れの一例を示すフローチャートである。
図16を参照すると、まず、検出部184により、通信装置20に対する所定のユーザ入力の有無が監視される(ステップS352)。そして、検出部184により、例えば通信装置20に対するいずれかのデータアイコンと方向とを指定するユーザ入力(ドラッグなど)が検出されると、処理はステップS354へ進む。
次に、選択部186は、環境マップ生成部110により生成される環境マップを取得する(ステップS354)。ここで取得される環境マップには、検出部184により検出されたユーザ入力の対象となった通信装置20に対応するオブジェクト、及び他の通信装置に対応するオブジェクトが含まれる。
次に、選択部186により、図14を用いて説明した送信先選択処理が行われる(ステップS356)。それにより、ユーザ入力の対象となった通信装置20からのデータ送信先の装置が選択される。
次に、通信制御部188により、選択結果におけるデータ送信先の装置の有無が判定される(ステップS358)。例えば、ユーザ入力により指定された方向に通信装置が存在しない場合には、選択部186から通信制御部188へエラーが出力される。その場合、通信制御部188は、表示制御部190に指示をして画面上にエラーメッセージを表示させる(ステップS360)。
一方、選択部186による選択結果においてデータ送信先の装置が存在する場合には、通信制御部188は、ユーザ入力の対象となった通信装置20へ指示信号SIGを送信し、選択部186により選択されたデータ送信先の装置へデータを送信させる(ステップS362)。また、データ送信が行われている間、表示制御部190は、HMD104の画面上にデータ送信を表すアニメーションを表示させる(ステップS364)。
<4.変形例>
上述した実施形態では、通信制御装置100の選択部186によって、ドラッグなどのユーザ入力により指定された方向に基づいて、データの送信先となるべき装置が環境マップから選択される。それにより、ユーザは、通信装置間のデータ送信に際して、送信先の指定を直感的に行うことができる。これに対し、送信先の直感的な指定は、他の手法によっても行われ得る。本節では、上述した実施形態の一変形例として、送信先の直感的な指定を可能とする他の手法について説明する。
図17は、一変形例に係る選択部186による送信先の選択について説明するための説明図である。
図17を参照すると、環境マップに含まれる通信装置20a、20b及び20cが示されている。また、通信装置20aの画面上には、データD1及びD2をそれぞれ表す2つのアイコンが表示されている。図17のような状況において、例えば、データD2を通信装置20bへ送信することを希望するユーザは、実世界において通信装置20bの上方で通信装置20aを把持し、データD2を表すアイコンをクリック又はタップする。そうすると、通信装置20aは、当該ユーザ入力を検知し、ユーザ入力信号INを通信制御装置100へ送信する。通信制御装置100の検出部184は、かかるユーザ入力信号INを検出する。
このとき、通信装置20aの位置は、環境マップの世界座標系(x,y,z)における3次元位置Xとして、環境マップに保持されている。そこで、選択部186は、通信装置20aの位置Xを起点とし、鉛直線に沿って下方へ伸びる直線L2を、環境マップの世界座標系において特定する。そして、選択部186は、直線L2上又は直線L2の少なくとも近傍に位置する通信装置20を、データ送信先の装置として選択する。図17の例では、通信装置20bが直線L2上に位置する。一方、通信装置20cは、直線L2から離れた位置にいる。そこで、選択部186は、通信装置20bを通信装置20aからのデータ送信先の装置として選択する。
図18は、一変形例に係る選択部186による送信先選択処理の流れの一例を示すフローチャートである。
図18を参照すると、選択部186は、まず、環境マップから各通信装置の位置を取得する(ステップS402)。次に、選択部186は、送信元の通信装置20の位置を起点とし、鉛直線に沿って下方へ伸びる直線L2を特定する(ステップS404)。
次に、選択部186は、直線L2の少なくとも近傍に(即ち、直線L2上に又は直線L2の近傍に)他の通信装置が存在するか否かを判定する(ステップS406)。例えば、直線L2との間の距離が予め設定される閾値よりも小さい装置は、直線L2の近傍に位置すると判断され得る。ここで、選択部186は、直線L2の近傍に位置する他の通信装置が存在しない場合には、通信制御部188にエラーを出力し(ステップS414)、処理を終了する。一方、直線L2の少なくとも近傍に他の通信装置が存在する場合には、処理はステップS408へ進む。
次に、選択部186は、直線L2の少なくとも近傍に複数の他の通信装置が存在するか否かを判定する(ステップS408)。ここで、直線L2の少なくとも近傍に複数の他の通信装置が存在する場合には、選択部186は、送信元の通信装置20の最も近くに位置する通信装置を、データ送信先の装置として選択する(ステップS410)。一方、直線L2の少なくとも近傍に位置する他の通信装置が1つのみである場合には、選択部186は、当該他の通信装置を、データ送信先の装置として選択する(ステップS412)。
このような変形例に係る送信先選択処理によれば、ユーザは、通信装置20が有するデータを重力を利用して落下させるような感覚で、直感的に他の通信装置へ送信させることができる。
<5.まとめ>
ここまで、図1〜図18を用いて、本発明の一実施形態に係る通信装置20及び通信制御装置100、並びに通信制御装置100の変形例について詳細に説明した。通信制御装置100によれば、実空間を撮影した入力画像に基づいて、複数の通信装置20に対応する複数のオブジェクトを含む環境マップが動的に構築される。そして、データ送信元の通信装置20に対するユーザ入力が検出されると、当該ユーザ入力により指定された方向に基づいて環境マップから選択されるデータ送信先の装置へ、指定されたデータが送信される。また、ユーザ入力により指定される方向の代わりに、重力の働く方向に基づいてデータ送信先の装置を選択することもできる。それにより、ユーザは、PCからプリンタへ、デジタルカメラからPCへ、又は携帯端末からPCへなどといった様々な形態のデータ送信を、送信元の装置に対する単純なユーザ入力(例えばドラッグ又はクリックなどの簡易な操作)により直感的に行うことができる。
また、データ送信先として選択される装置は、環境マップにおいて、データ送信元の装置を基準としてユーザ入力により指定された方向又は重力の働く方向に位置する装置であってよい。通信制御装置100は、環境マップにおけるデータ送信元の装置の位置等の情報に基づいて、上記データ送信先の装置を選択する。即ち、環境マップを応用したデータ送信先の装置の選択により、実世界における通信装置の位置関係に応じた直感的なユーザインタフェースを提供することができる。その際、指定された方向又は重力の働く方向に複数の通信装置が存在する場合には、通信制御装置100は、データ送信元の装置の最も近くに位置する装置をデータ送信先として選択し得る。即ち、実空間に対応する環境マップを応用することにより、複数の通信装置が存在する環境においても、データ送信先を一意に選択することができる。
また、通信制御装置100は、データ送信元の装置からデータ送信先の装置へのデータ送信の際に、データ送信を表すアニメーションを表示装置に表示させてもよい。通信制御装置100は、環境マップにおけるデータ送信元の装置及びデータ送信先の装置の位置に基づいて上記アニメーションを表示することにより、いずれの装置間でデータが送信されているかを、ユーザに分かり易く示すことができる。
なお、本明細書では、通信装置20と通信制御装置100とが物理的に別体に構成される例について主に説明した。しかしながら、カメラ及びHMDを除く通信制御装置100の諸機能は、データ送信元の通信装置20と物理的に同一の装置に実装されてもよい。
また、本明細書において説明した通信装置20及び通信制御装置100による一連の処理は、典型的には、ソフトウェアを用いて実現される。一連の処理を実現するソフトウェアを構成するプログラムは、例えば、各装置の内部又は外部に設けられる記憶媒体に予め格納される。そして、各プログラムは、例えば、実行時に各装置のRAM(Random Access Memory)に読み込まれ、CPUなどのプロセッサにより実行される。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
20 通信装置
100 通信制御装置
130 データ記憶部
150 環境マップ構築部
184 検出部
186 選択部
188 通信制御部
190 表示制御部

Claims (5)

  1. 第1の通信装置に対するユーザ入力であって、当該第1の通信装置が有するいずれかのデータを指定する前記ユーザ入力を検出する検出部と;
    実空間内に存在する1つ以上の通信装置の位置を表現する環境マップにおいて前記第1の通信装置の下方に位置する通信装置を前記ユーザ入力により指定された前記データの送信先となるべき第2の通信装置として前記環境マップから選択する選択部と;
    前記第1の通信装置から前記第2の通信装置へ、前記第1の通信装置が有する前記データを送信させる通信制御部と;
    を備える通信制御装置。
  2. 前記選択部は、前記環境マップにおいて、前記第1の通信装置の下方に位置する通信装置が複数存在する場合には、当該複数の通信装置のうち前記第1の通信装置から最も近くに位置する通信装置を、前記第2の通信装置として選択する、請求項に記載の通信制御装置。
  3. 前記ユーザ入力は、前記第1の通信装置が有する画面上での当該画面に表示されたアイコンについてのクリックまたはタップであり、いずれのアイコンがユーザによりクリックまたはタップされたかに応じて、前記第1の通信装置から送信されるべき前記データが特定される、請求項1に記載の通信装置。
  4. 通信制御装置により実行される通信制御方法において:
    第1の通信装置に対するユーザ入力であって、当該第1の通信装置が有するいずれかのデータを指定する前記ユーザ入力を検出するステップと;
    実空間内に存在する1つ以上の通信装置の位置を表現する環境マップにおいて前記第1の通信装置の下方に位置する通信装置を前記ユーザ入力により指定された前記データの送信先となるべき第2の通信装置として前記環境マップから選択するステップと;
    前記第1の通信装置から前記第2の通信装置へ、前記第1の通信装置が有する前記データを送信させるステップと;
    を含む、通信制御方法。
  5. 通信制御装置を制御するコンピュータを:
    第1の通信装置に対するユーザ入力であって、当該第1の通信装置が有するいずれかのデータを指定する前記ユーザ入力を検出する検出部と;
    実空間内に存在する1つ以上の通信装置の位置を表現する環境マップにおいて前記第1の通信装置の下方に位置する通信装置を前記ユーザ入力により指定された前記データの送信先となるべき第2の通信装置として前記環境マップから選択する選択部と;
    前記第1の通信装置から前記第2の通信装置へ、前記第1の通信装置が有する前記データを送信させる通信制御部と;
    として機能させるための、プログラム。
JP2010022973A 2010-02-04 2010-02-04 通信制御装置、通信制御方法及びプログラム Expired - Fee Related JP5488011B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2010022973A JP5488011B2 (ja) 2010-02-04 2010-02-04 通信制御装置、通信制御方法及びプログラム
TW099143812A TWI446175B (zh) 2010-02-04 2010-12-14 通信控制裝置、通信控制方法及相關之電腦可讀媒體
EP11150700.0A EP2354894A3 (en) 2010-02-04 2011-01-12 Communication control device, communication control method, and program
US13/009,542 US8717388B2 (en) 2010-02-04 2011-01-19 Communication control device, communication control method, and program
KR1020110008300A KR20110090789A (ko) 2010-02-04 2011-01-27 통신 제어 장치, 통신 제어 방법 및 프로그램
CN2011100374082A CN102193725A (zh) 2010-02-04 2011-01-28 通信控制装置、通信控制方法以及程序
BRPI1100726-5A BRPI1100726A2 (pt) 2010-02-04 2011-01-28 dispositivo e método de controle de comunicação, e, programa
RU2011103164/08A RU2011103164A (ru) 2010-02-04 2011-01-28 Устройство и способ управления связью

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010022973A JP5488011B2 (ja) 2010-02-04 2010-02-04 通信制御装置、通信制御方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2011164666A JP2011164666A (ja) 2011-08-25
JP2011164666A5 JP2011164666A5 (ja) 2013-01-31
JP5488011B2 true JP5488011B2 (ja) 2014-05-14

Family

ID=43901540

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010022973A Expired - Fee Related JP5488011B2 (ja) 2010-02-04 2010-02-04 通信制御装置、通信制御方法及びプログラム

Country Status (8)

Country Link
US (1) US8717388B2 (ja)
EP (1) EP2354894A3 (ja)
JP (1) JP5488011B2 (ja)
KR (1) KR20110090789A (ja)
CN (1) CN102193725A (ja)
BR (1) BRPI1100726A2 (ja)
RU (1) RU2011103164A (ja)
TW (1) TWI446175B (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5255674B2 (ja) * 2011-06-14 2013-08-07 シャープ株式会社 データ送信操作機器、および、データ送信制御方法
EP2602691A1 (en) * 2011-12-05 2013-06-12 Alcatel Lucent Method for gesture control, gesture server device and sensor input device
US9563278B2 (en) * 2011-12-19 2017-02-07 Qualcomm Incorporated Gesture controlled audio user interface
JP6012093B2 (ja) * 2012-03-27 2016-10-25 シャープ株式会社 データ送信操作機器、および、データ送信制御方法
CN102932412B (zh) * 2012-09-26 2016-02-03 华为终端有限公司 文件传输方法及系统、主控设备
JP6155593B2 (ja) * 2012-10-15 2017-07-05 株式会社ニコン システム、装置及び方法
JP5787099B2 (ja) * 2012-11-06 2015-09-30 コニカミノルタ株式会社 案内情報表示装置
JP6225469B2 (ja) * 2013-04-26 2017-11-08 株式会社ニコン 装置、情報処理装置、方法、及び、プログラム
JP2015115046A (ja) 2013-12-16 2015-06-22 ソニー株式会社 情報処理装置、プログラム、情報処理方法及び情報処理システム
JP6261038B2 (ja) * 2014-02-27 2018-01-17 日本電気通信システム株式会社 空間認識システム及び空間認識方法
IN2014DE00899A (ja) * 2014-03-28 2015-10-02 Samsung Electronics Co Ltd
JP6292181B2 (ja) * 2014-06-27 2018-03-14 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理システム、その制御方法及びプログラム
KR102332752B1 (ko) * 2014-11-24 2021-11-30 삼성전자주식회사 지도 서비스를 제공하는 전자 장치 및 방법
US9940521B2 (en) * 2015-02-27 2018-04-10 Sony Corporation Visibility enhancement devices, systems, and methods
JP6953948B2 (ja) * 2017-09-22 2021-10-27 富士フイルムビジネスイノベーション株式会社 情報処理装置、プログラム及び情報送信システム
GB2574882B (en) 2018-06-22 2020-08-12 Sony Interactive Entertainment Inc Method and system for displaying a virtual object
JP7274782B1 (ja) 2021-12-10 2023-05-17 株式会社 Sai 建屋内構造物認識システム及び建屋内構造物認識方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2332124Y (zh) * 1998-07-03 1999-08-04 机械工业部广州电器科学研究所 智能型家电遥控器
JP4178697B2 (ja) 1999-11-18 2008-11-12 ソニー株式会社 携帯型情報処理端末、情報入出力システム及び情報入出力方法
JP4332964B2 (ja) * 1999-12-21 2009-09-16 ソニー株式会社 情報入出力システム及び情報入出力方法
JP2002132618A (ja) * 2000-10-27 2002-05-10 Sony Corp 情報処理装置、情報提供媒体、情報処理方法及び情報処理システム
JP3944824B2 (ja) * 2001-11-09 2007-07-18 ソニー株式会社 データ通信装置、表示方法、プログラム及びプログラム格納媒体
JP3938892B2 (ja) * 2002-08-16 2007-06-27 富士フイルム株式会社 情報授受システム
KR100746995B1 (ko) * 2005-09-22 2007-08-08 한국과학기술원 직관적인 실제 공간적 조준에 따른 시스템 및 그식별방법과 통신방법
JP2008299619A (ja) * 2007-05-31 2008-12-11 Toshiba Corp モバイル機器、データ転送方法、およびデータ転送システム
JP5380789B2 (ja) * 2007-06-06 2014-01-08 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8397168B2 (en) * 2008-04-05 2013-03-12 Social Communications Company Interfacing with a spatial virtual communication environment
JP2009205556A (ja) * 2008-02-28 2009-09-10 Panasonic Corp ユーザインタフェース装置
US8077157B2 (en) * 2008-03-31 2011-12-13 Intel Corporation Device, system, and method of wireless transfer of files
JP2010154344A (ja) * 2008-12-25 2010-07-08 Kyocera Corp 情報処理装置、通信装置、無線通信システム、および、データ送信方法
US8312392B2 (en) * 2009-10-02 2012-11-13 Qualcomm Incorporated User interface gestures and methods for providing file sharing functionality

Also Published As

Publication number Publication date
TW201145024A (en) 2011-12-16
RU2011103164A (ru) 2012-08-10
CN102193725A (zh) 2011-09-21
US20110187725A1 (en) 2011-08-04
US8717388B2 (en) 2014-05-06
BRPI1100726A2 (pt) 2012-12-04
JP2011164666A (ja) 2011-08-25
EP2354894A3 (en) 2015-01-28
KR20110090789A (ko) 2011-08-10
EP2354894A2 (en) 2011-08-10
TWI446175B (zh) 2014-07-21

Similar Documents

Publication Publication Date Title
JP5488011B2 (ja) 通信制御装置、通信制御方法及びプログラム
JP5617246B2 (ja) 画像処理装置、物体選択方法及びプログラム
JP5942456B2 (ja) 画像処理装置、画像処理方法及びプログラム
US9430698B2 (en) Information input apparatus, information input method, and computer program
US10275046B2 (en) Accessing and interacting with information
JP5920352B2 (ja) 情報処理装置、情報処理方法及びプログラム
TW202105133A (zh) 在人工實境環境中使用周邊裝置的虛擬使用者介面
JP5724543B2 (ja) 端末装置、オブジェクト制御方法及びプログラム
JP5471626B2 (ja) 情報処理装置、マップ更新方法、プログラム及び情報処理システム
JP5776201B2 (ja) 情報処理装置、情報共有方法、プログラム及び端末装置
JP6424601B2 (ja) 表示制御方法、情報処理プログラム、及び情報処理装置
WO2013161182A1 (en) Image processing apparatus, image processing method, and program
JP5807686B2 (ja) 画像処理装置、画像処理方法及びプログラム
CN115039166A (zh) 增强现实地图管理
WO2015093130A1 (ja) 情報処理装置、情報処理方法およびプログラム
JP5565331B2 (ja) 表示システム、表示処理装置、表示方法、および表示プログラム
JP2010086367A (ja) 位置情報入力装置、位置情報入力方法、プログラム、情報処理システム、及び電子装置
JP6304305B2 (ja) 画像処理装置、画像処理方法及びプログラム
KR102156175B1 (ko) 멀티 모달리티를 활용한 유저 인터페이스를 제공하는 인터페이싱 장치 및 그 장치를 이용한 방법
WO2021190421A1 (zh) 基于虚拟现实的控制器光球追踪方法和虚拟现实设备
JP7373090B1 (ja) 情報処理システム、情報処理装置、プログラム及び情報処理方法
KR20220135072A (ko) 3차원 객체를 저작하는 방법 및 시스템
CN117075725A (zh) 一种基于增强现实的人—集群交互方法及系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121212

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130927

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140210

LAPS Cancellation because of no payment of annual fees