情報処理装置、情報処理方法およびプログラム
【課題】直感的な操作で接続対象となる他の機器との隣接関係を把握する。
【解決手段】情報処理装置10は、1または2以上の機器と接続するための表示画面上における操作体の操作を検出する検出部112と、検出部112により検出された操作体の操作に基づいて、接続対象となる他の機器の相対的な向きを判定する判定部118と、を備え、判定部118は、検出部112により検出された操作体の操作に基づいて、他の機器と接続を確立する場合の他の機器との相対関係を判定する。
【解決手段】情報処理装置10は、1または2以上の機器と接続するための表示画面上における操作体の操作を検出する検出部112と、検出部112により検出された操作体の操作に基づいて、接続対象となる他の機器の相対的な向きを判定する判定部118と、を備え、判定部118は、検出部112により検出された操作体の操作に基づいて、他の機器と接続を確立する場合の他の機器との相対関係を判定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置および情報処理方法に関し、特に、直感的な操作で複数の機器と接続することが可能な情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
近年、Wi−Fiに代表される無線LANや、Bluetooth(登録商標)、近距離無線通信の普及により、端末間のデータ転送において、複数端末に対するマルチキャストなデータ転送や、複数端末からの選択的なデータ転送などが必要となってきている。複数の端末と通信接続したりデータ転送を行ったりする場合には、接続先や転送先となる端末を各々選択する必要がある。複数の端末同士がリンクしている状況において接続を確立するためには、各端末を識別する名称や識別番号などをユーザが理解しなければならず、直感的な操作で通信接続やデータ転送を行ったりすることができないという問題があった。また、データ転送をする際に、どの端末からどの端末に対してどのようにデータが転送されているかを把握することが困難であるという問題があった。
【0003】
そこで、端末同士を衝突させて接続を確立したりデータ転送をしたり、端末の方向を仮想的に表示してその方向に転送オブジェクトをフリックしたりといった、直感的な操作で接続や転送を実現する技術が開示されている。また、端末同士の位置関係を検出可能なセンサを用いてデータ転送の方向性を求める技術も開示されている(例えば、特許文献1〜3)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4164758号
【特許文献2】特許第3900605号
【特許文献3】特開2005−99064号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、端末同士を衝突させて接続と転送を実現する場合には、1対1の端末を通信させる場合にしか適用できず、端末の方向を仮想的に表示するだけでは、実際の端末の位置関係を把握することができないという問題があった。また、端末同士の位置関係を検出可能なセンサに依存せず、直感的な操作だけで接続先や転送先を特定することが求められている。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、直感的な操作で接続対象となる他の機器との隣接関係を把握することが可能な、新規かつ改良された情報処理装置および情報処理方法を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のある観点によれば、1または2以上の機器と接続するための表示画面上における操作体の操作を検出する検出部と、前記検出部により検出された前記操作体の操作に基づいて、接続対象となる他の機器の相対的な向きを判定する判定部と、を備える、情報処理装置が提供される。
【0007】
また、前記判定部は、前記検出部により検出された前記操作体の操作に基づいて、前記他の機器と接続を確立する場合の前記他の機器との相対関係を判定してもよい。
【0008】
また、前記検出部は、前記操作体の操作により表示画面上に入力された軌跡を検出してもよい。
【0009】
また、自己の機器および前記他の機器により検出された前記操作体の操作の軌跡を示す軌跡データを取得する取得部を備えてもよい。
【0010】
また、前記取得部により取得された前記軌跡データを格納する格納部を備えてもよい。
【0011】
また、前記判定部は、前記格納部に格納された前記軌跡データを時刻順に整列して、接続対象となる前記他の機器分のデータが前記格納部に格納されているか否かを判定してもよい。
【0012】
また、前記検出部は、前記操作体により表示画面上への入力が開始された入力開始領域および入力が終了された入力終了領域を検出してもよい。
【0013】
また、前記検出部は、前記操作体により表示画面上への入力が開始された入力開始時刻および入力が終了された入力終了時刻を検出してもよい。
【0014】
また、前記取得部は、自己の機器および接続対象となる他の機器において検出された前記入力開始領域および前記入力開始時刻を含む軌跡開始データと、前記入力終了領域よび前記入力終了時刻とを含む軌跡終了データを取得してもよい。
【0015】
また、前記格納部には、前記取得部により取得された前記軌跡開始データおよび前記軌跡終了データが格納されていてもよい。
【0016】
また、前記判定部は、接続対象となる機器の機器数が既知の場合に、時刻順に整列された前記軌跡開始データおよび前記軌跡終了データにおいて、前記機器数番目に格納されている前記軌跡終了データの前記軌跡終了領域が前記操作体の軌跡入力の終了を示す領域であり、前記格納されているデータ数が前記機器数に対応するときに、前記軌跡開始データおよび前記軌跡終了データを前記接続対象となる他の機器との相対的な向きを示すデータであると判定してもよい。
【0017】
また、前記判定部は、接続対象となる機器の機器数が未知の場合に、時刻順に整列された前記軌跡開始データおよび前記軌跡終了データにおいて、所定の端末の入力開始時刻と他の端末の入力終了時刻との時刻差のうち、データが隣接している他の入力終了時刻との時刻差が最小となっており、当該時刻差が所定の閾値以下であり、最後に格納されている前記軌跡終了データの前記軌跡終了領域が前記操作体の軌跡入力の終了を示す領域であるときに、前記軌跡開始データおよび前記軌跡終了データを前記接続対象となる他の機器との相対的な向きを示すデータであると判定してもよい。
【0018】
また、前記検出部は、静電容量式または赤外線によるタッチパネルを用いて、前記情報処理装置への前記操作体による操作を検出してもよい。
【0019】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、1または2以上の機器と接続するための表示画面上における操作体の操作を検出する検出部と、前記検出部により検出された前記操作体の操作に基づいて、接続対象となる他の機器の相対的な向きを判定する判定部と、を備える、情報処理装置として機能させるための、プログラムが提供される。
【0020】
また、上記課題を解決するために、本発明の別の観点によれば、1または2以上の機器と接続するための表示画面上における操作体の操作を検出するステップと、前記検出された前記操作体の操作に基づいて、接続対象となる他の機器と相対的な向きを判定するステップと、を含む、情報処理方法が提供される。
【発明の効果】
【0021】
以上説明したように本発明によれば、直感的な操作で接続対象となる他の機器との隣接関係を把握することができる。
【図面の簡単な説明】
【0022】
【図1】本発明の実施形態に係る情報処理装置の表示装置の構成を示す説明図である。
【図2】同実施形態にかかる報処理装置のハードウェア構成を示すブロック図である。
【図3】同実施形態にかかる情報処理装置の制御部の機能構成を示したブロック図である。
【図4】同実施形態にかかる操作体の操作の軌跡について説明する説明図である。
【図5】同実施形態にかかるタッチパネルの分割領域について説明する説明図である。
【図6】同実施形態にかかる情報処理装置および他の機器の動作の概要を説明する説明図である。
【図7】同実施形態にかかる相対位置判定処理の詳細を示すフローチャートである。
【図8】同実施形態にかかるネットワークの確立処理を示すフローチャートである。
【図9】同実施形態にかかるデータの送受信処理を示すフローチャートである。
【図10】同実施形態にかかる軌跡開始テーブルの内容を説明する説明図である。
【図11】同実施形態にかかる軌跡終了テーブルの内容を説明する説明図である。
【図12】同実施形態にかかる隣接関係の計算処理を示したフローチャートである。
【図13】同実施形態にかかる隣接関係の計算処理を示したフローチャートである。
【図14】同実施形態にかかる複数端末の関係を説明する説明図である。
【図15】同実施形態にかかる隣接関係の計算処理を示したフローチャートである。
【図16】同実施形態にかかる軌跡入力について説明する説明図である。
【図17A】同実施形態にかかるデータの送受信について説明する説明図である。
【図17B】同実施形態にかかるデータの送受信について説明する説明図である。
【図18A】同実施形態にかかる接続レベルの選択入力を説明する説明図である。
【図18B】同実施形態にかかる接続レベルの選択入力を説明する説明図である。
【発明を実施するための形態】
【0023】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0024】
また、以下に示す順序に従って、当該「発明を実施するための形態」を説明する。
<1.本実施形態の目的>
<2.情報処理装置のハードウェア構成>
<3.情報処理装置の機能構成>
<4.情報処理装置の動作の詳細>
【0025】
<1.本実施形態の目的>
まず、本発明の実施形態の目的について説明する。近年、Wi−Fiに代表される無線LANや、Bluetooth(登録商標)、近距離無線通信の普及により、端末間のデータ転送において、複数端末に対するマルチキャストなデータ転送や、複数端末からの選択的なデータ転送などが必要となってきている。複数の端末と通信接続したりデータ転送を行ったりする場合には、接続先や転送先となる端末を各々選択する必要がある。複数の端末同士がリンクしている状況において接続を確立するためには、各端末を識別する名称や識別番号などをユーザが理解しなければならず、直感的な操作で通信接続やデータ転送を行ったりすることができないという問題があった。
【0026】
また、赤外線通信などでは、転送元および転送先のそれぞれの端末にプログレスバーが表示され、送受信したデータのサイズのみが示されて、データ転送における端末間の方向性が示されることはなかった。接続する端末が増えて、頻繁にデータが送受信されると、データ転送をする際に、どの端末からどの端末に対してどのようにデータが転送されているかを把握することが困難となるという問題があった。
【0027】
そこで、端末同士を衝突させて接続と転送を行うbump(登録商標)では、1対1の通信において手に把持した端末を衝突させるという直感的なインタラクションで接続確立やデータ転送を実現させている。しかし、bump(登録商標)では、1対複数の通信は不可能であった。また、端末の方向を仮想的に表示してその方向に転送オブジェクトをフリックするという、直感的な操作で接続や転送を実現する技術が開示されている。また、端末同士の位置関係を検出可能なセンサを用いてデータ転送の方向性を求める技術も開示されている
【0028】
しかし、上記したように、端末同士を衝突させて接続と転送を実現する場合には、1対1の端末を通信させる場合にしか適用できず、端末の方向を仮想的に表示するだけでは、実際の端末の位置関係を把握することができないという問題があった。また、端末同士の位置関係を検出可能なセンサに依存せず、直感的な操作だけで接続先や転送先を特定することが求められている。そこで、上記のような事情を一着眼点として、本発明の実施形態にかかる情報処理装置10が創作されるに至った。本実施形態にかかる情報処理装置10によれば、直感的な操作で接続対象となる他の機器との隣接関係を把握することが可能となる。
【0029】
本実施形態では、情報処理装置10として、小型のオーディオプレイヤーやメディアプレイヤー、PDA(personal digitl assistant)、携帯電話などを例示して説明するが、かかる例に限定されず、パーソナルコンピュータなどに適用することも可能である。また、ディスプレイ等の表示装置と一体の装置として構成したが、かかる例に限定されず、情報処理装置10と表示装置とを別体の装置として構成するようにしてもよい。
【0030】
<2.情報処理装置のハードウェア構成>
以上、本発明の実施形態の目的について説明した。次に、図1を参照して、本実施形態に係る情報処理装置10の表示装置の構成について説明する。図1は、情報処理装置10の表示装置の構成を示す説明図である。本実施形態にかかる情報処理装置10は、情報を表示する表示装置の表示画面を指などの操作体で接触または近接することにより、情報を入力可能な装置である。情報処理装置10を所有するユーザは、表示装置に表示されたアイコンや文字キー等で示される対象に操作体を接触させることにより、操作体が接触した対象を選択したり決定したりすることができる。また、表示画面を操作体でなぞるなどの一連の操作の軌跡を入力したり、当該軌跡に応じた処理を実行したりすることができる。
【0031】
このような情報処理装置10の入力表示部は、図1に示すように、表示装置106の表示画面側にタッチパネル102を積層して構成される。タッチパネル102は、表示と入力の2つの機能を備えている。本実施形態にかかるタッチパネル102は、近接または接触しているユーザの指等の操作体による操作を検出することができる。検出方法としては、透明電極を構成する金属薄膜を利用した抵抗膜方式、指先と導電膜との間での静電容量の変化を捉えて位置を検出する静電容量方式や、赤外線遮光方式、電磁誘導方式など、ディスプレイにおける操作体の位置情報を検出できる方法であればよい。
【0032】
以下では、特に、例えば、静電式タッチパネルを用いて操作体の操作を検出する方法について説明する。静電式タッチパネル102は、格子状に配置された静電センサを備えており、静電容量の変化によってその値を常時変化させる。静電センサに操作体である指が近付いたり触れたりした場合に、静電センサにより検知される静電容量が増加する。各静電センサの静電容量は同時に取得することが可能である。すべての静電センサの静電容量の変化を同時に検出し、補間することによって近接または接触している指による操作などを検出することが可能である。静電式タッチパネル102は、検出した静電容量の値を、CPU(Central Processing Unit;図2の符号101)へ出力する。
【0033】
CPUは、静電式タッチパネル102から入力された各種情報と表示装置106に表示された表示内容の表示位置との対応付けを行い、操作体の動きを解析する。そして、CPUは、解析された操作体の動きから、情報処理装置10へ入力された入力情報を認識して、入力情報に対応する処理を実行する。このように、ユーザは、表示画面に表示された内容を操作して、入力情報を入力することができる。なお、操作体を表示装置106の表示画面に接触させたり押圧させたりするとき、実際、操作体は、表示装置106の表示画面に接触しているのではなく静電式タッチパネル102の表面に接触している。このように、操作体が実際には静電式タッチパネル102の表面に接触している場合にも、以下では、「操作体を表示装置106の表示画面に接触させる」として説明する場合がある。
【0034】
次に、図2を参照して、情報処理装置10のハードウェア構成について説明する。本実施形態にかかる情報処理装置10は、図2に示したように、タッチパネル102と、CPU104と、表示装置106と、不揮発性メモリ108と、RAM(Random Access Memory)110とを備える。
【0035】
CPU104は、上述したように、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置10内の動作全般を制御する。また、CPU104は、マイクロプロセッサであってもよい。RAM110は、CPU104の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバスなどから構成されるホストバスにより相互に接続されている。不揮発性メモリ108は、CPU104が使用するプログラムや演算パラメータ等を記憶する。不揮発性メモリ108は、例えばROM(Read Only Memory)やフラッシュメモリ等を用いることができる。
【0036】
表示装置106は、情報を出力する出力装置の一例である。表示装置106として、例えば液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置などを用いることができる。静電式タッチパネル102は、ユーザが情報を入力する入力装置の一例であって、情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU104に出力する入力制御回路などから構成されている。
【0037】
ユーザは、静電式タッチパネル102を操作することにより、情報処理装置10に対して各種のデータを入力したり処理動作を指示したりすることができる。本実施形態の情報処理装置10では、静電式タッチパネル102により接触操作面の接触操作を検出する。無線通信モジュール111は、無線通信網に接続するための通信デバイス等で構成された通信インタフェースである。情報処理装置10は、無線通信モジュール111を介して、他の機器とBlurtooth(登録商標)接続をしたり、Wi−Fiや近距離無線通信などにより無線通信したりする。
【0038】
<3.情報処理装置の機能構成>
以上、本実施形態にかかる情報処理装置10のハードウェア構成について説明した。次に、図3を参照して、情報処理装置10の機能構成について説明する。以下では、特に、情報処理装置10の制御部(CPU104)の機能構成について説明する。図3は、情報処理装置10の制御部の機能構成を示したブロック図である。
【0039】
図3に示したように、情報処理装置10の制御部は、検出部112、取得部114、格納部116、判定部118などを備える。検出部112は、1または2以上の機器と接続するための表示画面(図示せず)上における操作体の操作を検出する機能を有する。ここで、表示画面は、上記した入力装置としてのタッチパネル102の機能と、表示装置106としてのLCDの機能とを有している。
【0040】
また、検出部112は、操作体の操作の軌跡を検出する機能を有する。ここで、図4を参照して、検出部112により検出された操作体の操作の軌跡について説明する。以下では、情報処理装置10と他の2台の機器を接続する操作について説明する。図4では、情報処理装置10を端末Aとし、2台の他の機器をそれぞれ端末B、端末Cとして説明する。
【0041】
図4に示したように、端末A、B、Cの3端末を接続する場合の操作について説明する。ユーザは、接続操作として、接続したい端末を並べて、表示画面上を一本の線でつなぐような操作をする。図4の矢印で示したように、ユーザにより、端末Aから端末Bを経て端末Cまで、タッチパネルへの指(操作体)などを用いた入力が行われる。
【0042】
また、検出部112は、操作体により表示画面上への入力が開始された入力開始領域および入力が終了された入力終了領域を検出する。さらに、検出部112は、操作体により表示画面上への入力が開始された入力開始時刻および入力が終了された入力終了時刻を検出する。検出部112は、タッチパネル102を仮想的に所定の領域に分割して、分割されたいずれの領域から軌跡入力が開始されて、いずれの領域で軌跡入力が終了しているかを検出する。
【0043】
ここで、図5を参照して、タッチパネル102上で仮想的に分割される領域について説明する。図5に示したように、タッチパネル102は、仮想的に例えば、5つの領域に分割される。タッチパネル102の中央部分を領域0とし、領域0を囲むように上側を領域1、右側を領域2、下側を領域3、左側を領域4と定義する。例えば、図4に示したように操作体が軌跡入力を行った場合、端末Aでは、操作体により入力が開始された入力開始領域は「領域0」、入力が終了された入力終了領域は「領域2」と検出される。
【0044】
同様に、端末Bでは、入力開始領域は「領域4」、入力終了領域は「領域2」と検出される。また、端末Cでは、入力開始領域は「領域4」、入力終了領域は「領域0」と検出される。また、入力を開始した入力開始時刻と入力が終了した入力終了時刻がそれぞれ検出される。なお、図5では、タッチパネル102を5つの領域に分割して、操作体の操作の入力開始位置と入力終了位置がいずれの領域に含まれるかを判定しているが、かかる例に限定されない。例えば、領域を中央と上下左右だけでなく、斜め上や斜め下の領域にさらに細かく分割してもよい。
【0045】
また、本実施形態では、接続対象となる端末は、図4に示したように、同様の大きさや形状をしているものとして説明しているが、かかる例に限定されない。例えば、端末の厚みが異なっていてもよい。この場合、端末の厚みを考慮して、図5に示した分割領域の大きさを変更するようにしてもよい。例えば、接続順が2番目または3番目となる端末の厚みが他の端末より厚い場合には、横に並べた複数端末の表示画面を指でなぞった場合に、領域4を超えて領域0が入力開始位置となってしまうことが考えられる。そこで、領域4の領域を大きくすることにより、正しく軌跡入力を検出することが可能となる。また、表示画面の大きさが異なっていたり、端末ごとに表示画面の位置が異なる場合にも、分割する領域の大きさを変更したり、より細かく分割したりすることにより、正しく軌跡入力を検出することが可能となる。
【0046】
図3に戻り、取得部114は、自己の機器および他の機器により検出された操作体の操作の軌跡を示す軌跡データを取得する機能を有する。検出部112により、図4に示したような、端末A、B、Cの表示画面上を一本の線でつなぐような操作の軌跡が検出される。そして、各端末においてそれぞれ入力開始領域と入力終了領域および、入力開始時刻と入力終了領域が検出される。したがって、取得部114は、自己の機器および他の機器により検出された入力開始領域と入力終了領域および入力開始時刻と入力終了領域を含む軌跡データをそれぞれ取得する。
【0047】
格納部116は、取得部114により取得された軌跡データをRAM等の記憶媒体に格納する機能を有する。格納部116は、例えば、入力開始時刻と入力開始領域とを対応付けて格納している軌跡開始データテーブルと、入力終了時刻と入力終了領域とを対応付けて格納している軌跡終了テーブルを格納する。
【0048】
判定部118は、検出部112により検出された操作体の操作に基づいて、他の機器と接続を確立する場合の他の機器との相対関係を判定する機能を有する。例えば、検出部112により、入力開始領域が領域0であると検出された場合には、軌跡データの開始点であるため、他の端末との関係において、自己の機器はBluetooth(登録商標)接続におけるマスターであると判定することができる。また、接続開始領域が0以外であると検出された場合には、自己の機器はBluetooth(登録商標)接続におけるスレーブであると判定することができる。
【0049】
以下では、軌跡データの開始点のデータを持つ端末であり、マスターであると判定された端末をサーバとして説明する。また、軌跡データの中間のデータを持つ端末であり、スレーブであると判定された端末をクライアント1とし、軌跡データの終了点のデータを持つ端末をクライアント2として説明する。
【0050】
また、判定部118は、検出部112により検出された操作体の操作に基づいて、接続対象となる他の機器の相対的な向きを判定する機能を有する。具体的には、判定部118は、格納部116により格納された軌跡データを時刻順に整列して、接続対象となる他の機器分のデータが格納部116に格納されているか否かを判定する。判定部118は、格納部116に格納された接続対象となる機器分の軌跡データにより、全端末の相対的な向きを判定することが可能となる。
【0051】
上記したように、操作体により入力された軌跡データを、図5に示したような領域に分割して、いずれの領域に入力があったかを検出することにより、他の機器と通信することなく、入力データの開始点を持つ端末か否かを判別することが可能となる。また、自己の端末および他の端末により検出された軌跡データから、近接する端末との相対的な向きを判定することができる。以下では、他の機器との相対的な向きを示す情報を、隣接関係データと称して説明する場合もある。
【0052】
<4.情報処理装置の動作の詳細>
以上、情報処理装置10の制御部の機能について説明した。次に、図6〜図15を参照して、情報処理装置10および情報処理装置10と接続する他の機器の動作の詳細について説明する。以下では、情報処理装置10を軌跡入力の開始点となるサーバに適用して説明する。図6は、情報処理装置10および他の機器の動作の概要を説明する説明図である。
【0053】
図6に示したように、以下では、1台のサーバと2台のクライアントにより接続を行う場合について説明する。上記したように、タッチパネルを用いて操作体の操作を検出する場合、各端末でタッチパネルにより検出される入力データを軌跡入力と称して以下説明する。
【0054】
まず、表示画面上において、操作体により、他の機器と接続するための接続インタラクションが行われて、検出部112により軌跡入力が検出される(S100、S200、S300)。そして、検出された軌跡入力に基づいて、各端末がサーバ、クライアント1か、クライアント2かを判定する(S102、S202、S302)。
【0055】
そして、順次サーバ(マスター)とクライアント(スレーブ)との間でBluetooth(登録商標)接続が確立される(S106、S306)。以下では、複数端末を接続するための無線通信の例としてBluetooth(登録商標)で接続する場合について説明するが、かかる例に限定されず、Wi−Fiや近距離無線通信などを用いてもよい。
【0056】
Bluetooth(登録商標)接続が確立された後に、クライアント1およびクライアント2は、サーバに操作体の操作の軌跡を示す軌跡データを送信する(S206、S308)。サーバは、各クライアントから軌跡データを受信する(S110)。サーバは、各クライアントから軌跡データを受信するたびに軌跡データを格納して、接続対象となるすべてのクライアントからの軌跡データが揃うまで全端末の隣接関係の計算を行う(S112)。
【0057】
そして、サーバは、各クライアントからの軌跡データが揃った時点で、全端末の隣接関係の計算を終了し、隣接関係データを保持する。そして、サーバは、各クライアントへ同一の全端末の隣接関係データを送信する(S114)。また、各クライアントはサーバから送信された隣接関係データを受信する(S208、S310)。これにより、各端末は、接続対象となる端末のすべてについての隣接関係を把握することが可能となる。
【0058】
以上、情報処理装置10および他の機器の動作の概要について説明した。次に、図6の相対位置判定処理(S102、S202、S302)の詳細について説明する。各端末における相対位置判定処理は共通の処理である。図7に示したように、まず、軌跡入力が検出されたか否かが判定される(S122)。ステップS122において、軌跡入力が検出されたと判定された場合には、軌跡入力の開始時刻(入力開始時刻)および位置(入力開始領域)を記録する(S124)。
【0059】
そして、操作体による入力が継続しているか否かを判定する(S126)。ステップS126において、操作体の入力が継続していないと判定された場合には、軌跡入力の終了時刻(入力終了時刻)および位置(入力終了領域)を記録する(S128)。そして、ステップS124において記録された入力開始位置が、図5に示した領域のいずれに含まれるかを判定する(S130)。
【0060】
ステップS130において、入力開始位置が領域0に含まれると判定された場合には、入力終了位置が図5に示した領域のいずれに含まれるかを判定する(S132)。ステップS132において、入力終了位置が領域0に含まれると判定された場合には、端末を接続するための操作ではないため、軌跡入力を破棄する(S134)。ステップS132において、入力終了位置が領域0以外に含まれると判定された場合には、自己の端末をサーバと判定する(S136)。
【0061】
ステップS130において、入力開始位置が領域0以外に含まれると判定された場合には、入力終了位置が図5に示した領域のいずれに含まれるかを判定する(S138)。ステップS138において、入力終了位置が領域0以外に含まれると判定された場合には、自己の端末をクライアント1と判定する(S140)。また、ステップS138において、入力終了位置が領域0に含まれると判定された場合には、自己の端末をクライアント2と判定する(S142)。
【0062】
次に、図8を参照して、サーバ/クライアント判定処理およびBluetooth Connectionの確立処理について説明する。まず、自己の端末がサーバであるか否かを判定する(S152)。ステップS152において、自己の端末がサーバであると判定された場合には、他の機器を発見するためのDiscover処理を実行する(S154)。ステップS154において、他の機器を発見したと判定された場合には、発見した他の機器に対して接続を要求(Connect要求)する(S158)。
【0063】
そして、他の機器により接続が許可(Connect許可)されたか否かを判定する(S160)。ステップS160において、接続が許可されたと判定された場合には、他の機器との接続を確立(Connect確立)する(S162)。そして、隣接関係の判定が終了したか否かを判定する(S164)。ステップS164における隣接関係の判定処理は、後で詳細に説明する。ステップS164において、隣接関係の判定が終了したと判断された場合には、Discover処理を停止する(S166)。
【0064】
ステップS152において、自己の端末がサーバではないと判定された場合には、Discoverableモードに切替える(S168)。そして、サーバである端末からのConnect要求を受信したか否かを判定する(S170)。ステップS170において、サーバからConnect要求を受信したと判定された場合には、Connectを許可し、サーバとのConnectを確立する(S174)。
【0065】
次に、軌跡データの送受信および隣接関係データの送受信処理について説明する。図9に示したように、サーバは、クライアントとConnectが確立した後、クライアントからの軌跡データを受信したか否かを判定する(S182)。ステップS182において、クライアントからの軌跡データを受信したと判定された場合には、受信した軌跡データをテーブルに追加する(S184)。ステップS184において、受信した軌跡データのうち、入力開始時刻と入力開始領域とを対応付けて軌跡開始データテーブルに追加し、入力終了時刻と入力終了領域とを対応付けて軌跡終了データテーブルに追加する。
【0066】
図10に軌跡開始データテーブルの例を示し、図11に軌跡終了データテーブルの例を示した。図10および図11では、Bluetooth Connectionが確立した端末、すなわち、接続が完了した端末数をnとしている。以下では、接続が完了した端末数(データテーブルの行数)をnとし、接続インタラクションを行った端末数(ユーザが接続したい端末数)をNとして説明する。
【0067】
そして、図10に示した軌跡開始データテーブルおよび図11に示した軌跡終了データテーブルのデータを時刻順にソート(整列)する(S186)。ステップS186でデータをソートした後に、隣接関係の計算を行う(S188)。ステップS188における隣接関係の計算処理については、後で詳細に説明する。
【0068】
そして、隣接関係の判定が終了したか否かを判断する(S190)。ステップS190において隣接関係の判定が終了したと判断された場合には、全クライアントに隣接関係データを送信する(S192)。ここで、隣接関係データとは、全端末について、端末を識別する番号と入力軌跡内の端末の位置を記述したデータテーブルである。そして、ステップS192において送信した隣接関係データを記録する(S194)。
【0069】
また、クライアントは、サーバとConnectが確立した後、サーバに自己の端末で検出された軌跡データを送信する(S212)。そして、サーバにより計算された隣接関係データを受信したか否かを判定する(S214)。ステップS214において、サーバから隣接関係データを受信したと判定された場合には、受信した隣接関係データを記録する(S216)。
【0070】
次に、図9のステップS188におけるサーバの隣接関係の計算処理の詳細について説明する。サーバが隣接関係の計算をするに際しては、以下の2通りの場合が考えられる。
(A)ユーザが接続を意図した端末数Nがユーザからの入力により既知である場合
(B)端末数Nが未知である場合
【0071】
まず、上記(A)の端末数Nが既知である場合の隣接関係の計算処理について説明する。(A)の場合、端末数Nが既知であるため、図10および図11に示した各データテーブルの行数nが端末数Nとなったときに、隣接する端末の軌跡データが揃っていると判断できる。サーバは、隣接する端末の軌跡データが揃った時点で、全端末の隣接関係の判定が可能であると判断することができる。
【0072】
図12に、端末数Nが既知の場合の隣接関係の計算処理を示した。図12に示したように、軌跡開始データテーブルおよび軌跡終了データテーブルのデータを時刻順にソートした後、軌跡終了データテーブルのn行2列目のデータに領域0が記録されているか否かを判定する(S222)。軌跡終了データテーブルのn行2列目のデータに領域0が記録されている場合とは、すなわち、軌跡終了データテーブルの最後の行のデータが軌跡入力の終了を示すデータとなっていることを示している。
【0073】
ステップS222において、軌跡終了データテーブルのn行2列目のデータに領域0が記録されていると判定された場合には、各データテーブルの行数がNであるか否かを判定する(S224)。また、ステップS222において、軌跡終了データテーブルのn行2列目のデータに領域0が記録されていないと判定された場合には、クライアントからの軌跡データ受信待ち状態に戻る(S228)。
【0074】
ステップS224において、各データテーブルの行数がNである場合とは、端末数N分のデータがサーバに送信されていることを示している。ステップS224において、各データテーブルの行数がNであると判定された場合には、隣接関係の計算を終了する(S226)。また、ステップS224において、各データテーブルの行数がNではないと判定された場合には、クライアントからの軌跡データ受信待ち状態に戻る(S228)。
【0075】
次に、上記(B)の端末数Nが未知である場合について説明する。端末数Nが未知である場合には、以下の2つの判定方法を例示できる。
(B−1)Bluetooth Connectionの確立速度やタイミングを接続インタラクションに用いるGUI表示の工夫により、隣接し合う端末から順次接続を完了するように接続タイミングをコントロールして、隣接関係の判定を判別する場合。
(B−2)画面の跨ぎ時間について、固定の閾値を用いて、Connectionの確立順序に依存せず、隣接関係の判定の可否を判別する場合。
【0076】
上記(B−1)の場合について説明する。(B−1)の場合は、上記した接続の確立速度やタイミングを接続インタラクションによりコントロールして、図13に示した判定処理を実行する。接続インタラクションによるコントロールは、例えば、Bluetooth Connectionの確立時に、接続が確立しなければタッチパネルへの軌跡入力を継続して実行できないことを画面上に表示してユーザに通知する。これにより、ユーザにより接続される端末について、順次接続を確立しながらタッチパネルへの軌跡入力を行うことができる。このように、軌跡入力が行われた順に順次接続が確立されるため、軌跡入力終了点を持つ端末、すなわち、クライアント2までの接続が確立された時点で、全端末の隣接関係の判定が可能であると判別することができる。
【0077】
図13に示したように、(B−1)の場合には、軌跡開始データテーブルおよび軌跡終了データテーブルのデータを時刻順にソートした後、軌跡終了データテーブルのn行2列目のデータに領域0が記録されているか否かを判定する(S232)。ステップS232において、軌跡終了データテーブルのn行2列目のデータに領域0が記録されていると判定された場合には、隣接関係の計算を終了する(S234)。ステップS232において、軌跡終了データテーブルのn行2列目のデータに領域0が記録されていないと判定された場合には、クライアントからの軌跡データ受信待ち状態に戻る(S236)。
【0078】
次に、上記(B−2)の場合について説明する。(B−2)の場合は、端末数Nは未知であるため、データテーブルの行数nがNと等しい条件に代わる、全端末の隣接関係の判定の可否を行うための判別条件が必要となる。当該判別条件は、複数の端末が図14に示す関係である場合に、以下の条件1が成立し、かつ、軌跡入力終了点を持つ端末(クライアント2)までの接続が確立していること、となる。
【0079】
【0080】
上記条件1は、Bluetooth Connectionが確立された各端末について、ある端末より早くに接続を完了した端末との入出力の時刻差を比較し、その時刻差のうちデータテーブル上で隣接する端末と入出力との時刻差が最小である、という条件である。(B−2)の場合の処理について図15を参照して説明する。図15では、初期値として、k=1、Nneighboring=0が設定されている。Nneighboringは、隣接関係決定済みの端末数である。
【0081】
図15に示したように、まず、上記の条件1を満たすか否かを判定する(S242)。ステップS242において、条件1を満たしていると判定された場合には、Nneighboringに1を加算する(S244)。ステップS242において、条件1を満たしていないと判定された場合には、ステップS246の処理を実行する。
【0082】
そして、kに1を加算して(S246)、k=n−1か否かを判定する(S248)。ここで、nは、データテーブルの行数である。ステップS248において、k=n−1ではないと判定された場合には、ステップS242の処理に戻る。ステップS248において、k=n−1であると判定された場合には、Nneighboring=n−1であるか否かを判定する(S250)。ステップS250において、Nneighboring=n−1であると判定された場合には、軌跡終了データテーブルのn行2列目のデータに領域0が記録されているか否かを判定する(S252)。ステップS250において、Nneighboring=n−1ではないと判定された場合には、クライアントからの軌跡データ受信待ち状態に戻る(S258)。
【0083】
ステップS252において、軌跡終了データテーブルのn行2列目のデータに領域0が記録されていると判定された場合には、以下の条件式2が成立するか否かを判定する(S254)。
【0084】
【0085】
ステップS252において、軌跡終了データテーブルのn行2列目のデータに領域0が記録されていないと判定された場合には、クライアントからの軌跡データ受信待ち状態に戻る(S258)。ステップS254において、条件式2を満たしていると判定された場合には、隣接関係の計算を終了する(S256)。また、ステップS254において、条件式2を満たしていないと判定された場合には、クライアントからの軌跡データ受信待ち状態に戻る(S258)。
【0086】
以上、本実施形態にかかる情報処理装置10の動作の詳細について説明した。次に、図16を参照して、ステップS100、S200、S300において検出される軌跡入力について説明する。図16は、操作体による端末間の接続操作について説明する説明図である。図16では、タッチパネルを用いて操作体の操作を検出する場合について説明する。
【0087】
図16の説明図502に示したように、2台の端末を接続する場合には、2台の端末が横に並べられて、操作体により2台の端末を跨ぐように表示画面上に一本の線を描く入力がなされる。また、表示画面上に説明図502に示した線が表示されている場合には、当該線をなぞるようにしてもよい。
【0088】
また、説明図502のように並べられた2台の端末に対し、左側の端末から右側の端末の表示画面上をフリック操作した後に、連続して右側の端末から左側の端末の表示画面上をフリック操作することも考えられる。このように、連続したフリック操作が行われることにより、表示画面上に一本の線を描くのと同様の入力を与えるようにしてもよい。
【0089】
また、説明図504に示したように、3台以上の端末を接続する場合には、3台の端末が横に並べられて、3台の表示画面上に1本の線を一度に描く入力がなされる。また、説明図506に示したように、3台以上の端末をユーザの所望の位置に置いて、3台の端末を跨ぐように表示画面上に一本の線を描く入力がなされる場合もある。このように、ユーザにより複数端末の表示画面上に一方の線を描く直感的な入力が行われるだけで、複数端末間でネットワーク接続を確立して、マルチキャストなデータ転送を行うことが可能となる。
【0090】
また、接続操作をするに際して、説明図502、504のように端末間の表示画面を跨いで一本の線を描く入力がなされた場合には、実際に接続が確立する前に、操作体の操作の軌跡を表示させてもよい。これにより、よりスムーズな接続感を生じさせることができる。
【0091】
また、ネットワークを切断する際には、ネットワークを接続していることを示す表示画面上の線を仮想的な消しゴムなどで消すような入力をしてもよい。また、ネットワークを接続していることを示す表示画面上の線の上から「×」を描くような入力を行うことにより、ネットワークを切断するようにしてもよい。このように、本実施形態では、直感的な入力により、ネットワークを接続したり切断したりすることが可能となる。
【0092】
次に、図17A、図17Bを参照して、上記方法により接続され、端末同士の隣接関係が把握された場合のデータの送受信について説明する。図17Aは、左側に位置する端末から右側に位置する端末に画像データを送信する場合について説明している。図17Aにおいては、ユーザは、指などの操作体で転送対象となる画像が表示されている表示画面を矢印方向に押下する。操作体により画像が矢印方向に押下されている間、表示画面に表示されている画像は、矢印方向(転送方向)に少しずつ移動する。そして、操作体により、一定時間以上押下され続けた場合に、画像データの転送を実行するようにしてもよい。操作体である指により、例えば、一定時間以上のロングタップが実行された場合に、画像データを転送するようにしてもよい。
【0093】
また、図17Bに示したように、右側に位置する端末から左側に位置する端末に画像データが転送された場合には、転送元となる右側の端末の方向から画像がスライドインする表示としてもよい。また、送信先となる端末の表示画面では、当該端末の画面サイズに画像サイズが変更されてもよい。また、転送先の端末では、操作体の操作により、画像が画面サイズに表示されるようにしてもよい。ここで、操作体の操作とは、例えば、表示画面をタップする操作などを例示できる。
【0094】
このように、端末同士の隣接関係が把握されているため、転送先となる端末の方向を特定することができ、直感的な入力により所望の方向に位置する端末にデータを転送することが可能となる。さらに、転送するデータの表示方法を工夫することにより、より、直観的な操作感を実現させることが可能となる。
【0095】
また、ネットワーク接続が確立された後、データ転送を行う際に、操作体の接続入力に応じて端末の接続レベルを選択したり、接続レベルに応じてデータの転送可能範囲を選択したりするようにしてもよい。
【0096】
例えば、図18Aに示したように、1本の指で線を引いた場合と、2本の指で線を引いた場合で、接続レベルを変更するようにしてもよい。説明図532では、1本の指で2台の端末を跨ぐように線が引かれている。このように、1本の指で線が引かれた場合には、低レベルの接続レベルを選択する。また、説明図534では、2本の指で2台の端末を跨ぐように線が引かれている。こように、2本の指で線が引かれた場合には、高レベルの接続レベルを選択する。
【0097】
また、図18Bに示したように、軌跡入力が開始される端末の表示画面上に表示された選択画面のGUI上で接続レベルを選択するようにしてもよい。説明図542および説明図542では、軌跡入力が開始される端末に選択レベルを示すGUIが表示されている。説明図542では、表示画面の「レベル1」が表示されている表示領域を軌跡入力の開始位置としている。この場合、レベル1の接続レベルが選択される。また、説明図544では、表示画面の「レベル3」が表示されている表示領域を軌跡入力の開始位置としている。この場合、レベル3の接続レベルが選択される。
【0098】
図18Aおよび図18Bに示したように、ユーザ操作に応じて接続レベルが選択された場合には、選択された接続レベルでデータが転送される。例えば、「レベル1」の接続レベルが選択された場合には、風景写真のみ転送するようにしてもよい。また、「レベル2」の接続レベルが選択された場合には、風景写真に加えて、人物写真も転送するようにしてもよい。また、「レベル3」の接続レベルが選択された場合には、さらに顔のアップ写真も転送するようにしてもよい。このように、接続レベルに応じて、転送するコンテンツの質や種類を変更させることができる。
【0099】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【0100】
例えば、本明細書の情報処理装置10の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、の処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
【0101】
また、情報処理装置10のナビゲーション装置に内蔵されるCPU、ROMおよびRAMなどのハードウェアを、上述した情報処理装置10の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供される。
【符号の説明】
【0102】
10 情報処理装置
102 タッチパネル
104 CPU
106 表示装置
108 不揮発性メモリ
110 RAM
111 無線通信モジュール
112 検出部
114 取得部
116 格納部
118 判定部
【技術分野】
【0001】
本発明は、情報処理装置および情報処理方法に関し、特に、直感的な操作で複数の機器と接続することが可能な情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
近年、Wi−Fiに代表される無線LANや、Bluetooth(登録商標)、近距離無線通信の普及により、端末間のデータ転送において、複数端末に対するマルチキャストなデータ転送や、複数端末からの選択的なデータ転送などが必要となってきている。複数の端末と通信接続したりデータ転送を行ったりする場合には、接続先や転送先となる端末を各々選択する必要がある。複数の端末同士がリンクしている状況において接続を確立するためには、各端末を識別する名称や識別番号などをユーザが理解しなければならず、直感的な操作で通信接続やデータ転送を行ったりすることができないという問題があった。また、データ転送をする際に、どの端末からどの端末に対してどのようにデータが転送されているかを把握することが困難であるという問題があった。
【0003】
そこで、端末同士を衝突させて接続を確立したりデータ転送をしたり、端末の方向を仮想的に表示してその方向に転送オブジェクトをフリックしたりといった、直感的な操作で接続や転送を実現する技術が開示されている。また、端末同士の位置関係を検出可能なセンサを用いてデータ転送の方向性を求める技術も開示されている(例えば、特許文献1〜3)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4164758号
【特許文献2】特許第3900605号
【特許文献3】特開2005−99064号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、端末同士を衝突させて接続と転送を実現する場合には、1対1の端末を通信させる場合にしか適用できず、端末の方向を仮想的に表示するだけでは、実際の端末の位置関係を把握することができないという問題があった。また、端末同士の位置関係を検出可能なセンサに依存せず、直感的な操作だけで接続先や転送先を特定することが求められている。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、直感的な操作で接続対象となる他の機器との隣接関係を把握することが可能な、新規かつ改良された情報処理装置および情報処理方法を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のある観点によれば、1または2以上の機器と接続するための表示画面上における操作体の操作を検出する検出部と、前記検出部により検出された前記操作体の操作に基づいて、接続対象となる他の機器の相対的な向きを判定する判定部と、を備える、情報処理装置が提供される。
【0007】
また、前記判定部は、前記検出部により検出された前記操作体の操作に基づいて、前記他の機器と接続を確立する場合の前記他の機器との相対関係を判定してもよい。
【0008】
また、前記検出部は、前記操作体の操作により表示画面上に入力された軌跡を検出してもよい。
【0009】
また、自己の機器および前記他の機器により検出された前記操作体の操作の軌跡を示す軌跡データを取得する取得部を備えてもよい。
【0010】
また、前記取得部により取得された前記軌跡データを格納する格納部を備えてもよい。
【0011】
また、前記判定部は、前記格納部に格納された前記軌跡データを時刻順に整列して、接続対象となる前記他の機器分のデータが前記格納部に格納されているか否かを判定してもよい。
【0012】
また、前記検出部は、前記操作体により表示画面上への入力が開始された入力開始領域および入力が終了された入力終了領域を検出してもよい。
【0013】
また、前記検出部は、前記操作体により表示画面上への入力が開始された入力開始時刻および入力が終了された入力終了時刻を検出してもよい。
【0014】
また、前記取得部は、自己の機器および接続対象となる他の機器において検出された前記入力開始領域および前記入力開始時刻を含む軌跡開始データと、前記入力終了領域よび前記入力終了時刻とを含む軌跡終了データを取得してもよい。
【0015】
また、前記格納部には、前記取得部により取得された前記軌跡開始データおよび前記軌跡終了データが格納されていてもよい。
【0016】
また、前記判定部は、接続対象となる機器の機器数が既知の場合に、時刻順に整列された前記軌跡開始データおよび前記軌跡終了データにおいて、前記機器数番目に格納されている前記軌跡終了データの前記軌跡終了領域が前記操作体の軌跡入力の終了を示す領域であり、前記格納されているデータ数が前記機器数に対応するときに、前記軌跡開始データおよび前記軌跡終了データを前記接続対象となる他の機器との相対的な向きを示すデータであると判定してもよい。
【0017】
また、前記判定部は、接続対象となる機器の機器数が未知の場合に、時刻順に整列された前記軌跡開始データおよび前記軌跡終了データにおいて、所定の端末の入力開始時刻と他の端末の入力終了時刻との時刻差のうち、データが隣接している他の入力終了時刻との時刻差が最小となっており、当該時刻差が所定の閾値以下であり、最後に格納されている前記軌跡終了データの前記軌跡終了領域が前記操作体の軌跡入力の終了を示す領域であるときに、前記軌跡開始データおよび前記軌跡終了データを前記接続対象となる他の機器との相対的な向きを示すデータであると判定してもよい。
【0018】
また、前記検出部は、静電容量式または赤外線によるタッチパネルを用いて、前記情報処理装置への前記操作体による操作を検出してもよい。
【0019】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、1または2以上の機器と接続するための表示画面上における操作体の操作を検出する検出部と、前記検出部により検出された前記操作体の操作に基づいて、接続対象となる他の機器の相対的な向きを判定する判定部と、を備える、情報処理装置として機能させるための、プログラムが提供される。
【0020】
また、上記課題を解決するために、本発明の別の観点によれば、1または2以上の機器と接続するための表示画面上における操作体の操作を検出するステップと、前記検出された前記操作体の操作に基づいて、接続対象となる他の機器と相対的な向きを判定するステップと、を含む、情報処理方法が提供される。
【発明の効果】
【0021】
以上説明したように本発明によれば、直感的な操作で接続対象となる他の機器との隣接関係を把握することができる。
【図面の簡単な説明】
【0022】
【図1】本発明の実施形態に係る情報処理装置の表示装置の構成を示す説明図である。
【図2】同実施形態にかかる報処理装置のハードウェア構成を示すブロック図である。
【図3】同実施形態にかかる情報処理装置の制御部の機能構成を示したブロック図である。
【図4】同実施形態にかかる操作体の操作の軌跡について説明する説明図である。
【図5】同実施形態にかかるタッチパネルの分割領域について説明する説明図である。
【図6】同実施形態にかかる情報処理装置および他の機器の動作の概要を説明する説明図である。
【図7】同実施形態にかかる相対位置判定処理の詳細を示すフローチャートである。
【図8】同実施形態にかかるネットワークの確立処理を示すフローチャートである。
【図9】同実施形態にかかるデータの送受信処理を示すフローチャートである。
【図10】同実施形態にかかる軌跡開始テーブルの内容を説明する説明図である。
【図11】同実施形態にかかる軌跡終了テーブルの内容を説明する説明図である。
【図12】同実施形態にかかる隣接関係の計算処理を示したフローチャートである。
【図13】同実施形態にかかる隣接関係の計算処理を示したフローチャートである。
【図14】同実施形態にかかる複数端末の関係を説明する説明図である。
【図15】同実施形態にかかる隣接関係の計算処理を示したフローチャートである。
【図16】同実施形態にかかる軌跡入力について説明する説明図である。
【図17A】同実施形態にかかるデータの送受信について説明する説明図である。
【図17B】同実施形態にかかるデータの送受信について説明する説明図である。
【図18A】同実施形態にかかる接続レベルの選択入力を説明する説明図である。
【図18B】同実施形態にかかる接続レベルの選択入力を説明する説明図である。
【発明を実施するための形態】
【0023】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0024】
また、以下に示す順序に従って、当該「発明を実施するための形態」を説明する。
<1.本実施形態の目的>
<2.情報処理装置のハードウェア構成>
<3.情報処理装置の機能構成>
<4.情報処理装置の動作の詳細>
【0025】
<1.本実施形態の目的>
まず、本発明の実施形態の目的について説明する。近年、Wi−Fiに代表される無線LANや、Bluetooth(登録商標)、近距離無線通信の普及により、端末間のデータ転送において、複数端末に対するマルチキャストなデータ転送や、複数端末からの選択的なデータ転送などが必要となってきている。複数の端末と通信接続したりデータ転送を行ったりする場合には、接続先や転送先となる端末を各々選択する必要がある。複数の端末同士がリンクしている状況において接続を確立するためには、各端末を識別する名称や識別番号などをユーザが理解しなければならず、直感的な操作で通信接続やデータ転送を行ったりすることができないという問題があった。
【0026】
また、赤外線通信などでは、転送元および転送先のそれぞれの端末にプログレスバーが表示され、送受信したデータのサイズのみが示されて、データ転送における端末間の方向性が示されることはなかった。接続する端末が増えて、頻繁にデータが送受信されると、データ転送をする際に、どの端末からどの端末に対してどのようにデータが転送されているかを把握することが困難となるという問題があった。
【0027】
そこで、端末同士を衝突させて接続と転送を行うbump(登録商標)では、1対1の通信において手に把持した端末を衝突させるという直感的なインタラクションで接続確立やデータ転送を実現させている。しかし、bump(登録商標)では、1対複数の通信は不可能であった。また、端末の方向を仮想的に表示してその方向に転送オブジェクトをフリックするという、直感的な操作で接続や転送を実現する技術が開示されている。また、端末同士の位置関係を検出可能なセンサを用いてデータ転送の方向性を求める技術も開示されている
【0028】
しかし、上記したように、端末同士を衝突させて接続と転送を実現する場合には、1対1の端末を通信させる場合にしか適用できず、端末の方向を仮想的に表示するだけでは、実際の端末の位置関係を把握することができないという問題があった。また、端末同士の位置関係を検出可能なセンサに依存せず、直感的な操作だけで接続先や転送先を特定することが求められている。そこで、上記のような事情を一着眼点として、本発明の実施形態にかかる情報処理装置10が創作されるに至った。本実施形態にかかる情報処理装置10によれば、直感的な操作で接続対象となる他の機器との隣接関係を把握することが可能となる。
【0029】
本実施形態では、情報処理装置10として、小型のオーディオプレイヤーやメディアプレイヤー、PDA(personal digitl assistant)、携帯電話などを例示して説明するが、かかる例に限定されず、パーソナルコンピュータなどに適用することも可能である。また、ディスプレイ等の表示装置と一体の装置として構成したが、かかる例に限定されず、情報処理装置10と表示装置とを別体の装置として構成するようにしてもよい。
【0030】
<2.情報処理装置のハードウェア構成>
以上、本発明の実施形態の目的について説明した。次に、図1を参照して、本実施形態に係る情報処理装置10の表示装置の構成について説明する。図1は、情報処理装置10の表示装置の構成を示す説明図である。本実施形態にかかる情報処理装置10は、情報を表示する表示装置の表示画面を指などの操作体で接触または近接することにより、情報を入力可能な装置である。情報処理装置10を所有するユーザは、表示装置に表示されたアイコンや文字キー等で示される対象に操作体を接触させることにより、操作体が接触した対象を選択したり決定したりすることができる。また、表示画面を操作体でなぞるなどの一連の操作の軌跡を入力したり、当該軌跡に応じた処理を実行したりすることができる。
【0031】
このような情報処理装置10の入力表示部は、図1に示すように、表示装置106の表示画面側にタッチパネル102を積層して構成される。タッチパネル102は、表示と入力の2つの機能を備えている。本実施形態にかかるタッチパネル102は、近接または接触しているユーザの指等の操作体による操作を検出することができる。検出方法としては、透明電極を構成する金属薄膜を利用した抵抗膜方式、指先と導電膜との間での静電容量の変化を捉えて位置を検出する静電容量方式や、赤外線遮光方式、電磁誘導方式など、ディスプレイにおける操作体の位置情報を検出できる方法であればよい。
【0032】
以下では、特に、例えば、静電式タッチパネルを用いて操作体の操作を検出する方法について説明する。静電式タッチパネル102は、格子状に配置された静電センサを備えており、静電容量の変化によってその値を常時変化させる。静電センサに操作体である指が近付いたり触れたりした場合に、静電センサにより検知される静電容量が増加する。各静電センサの静電容量は同時に取得することが可能である。すべての静電センサの静電容量の変化を同時に検出し、補間することによって近接または接触している指による操作などを検出することが可能である。静電式タッチパネル102は、検出した静電容量の値を、CPU(Central Processing Unit;図2の符号101)へ出力する。
【0033】
CPUは、静電式タッチパネル102から入力された各種情報と表示装置106に表示された表示内容の表示位置との対応付けを行い、操作体の動きを解析する。そして、CPUは、解析された操作体の動きから、情報処理装置10へ入力された入力情報を認識して、入力情報に対応する処理を実行する。このように、ユーザは、表示画面に表示された内容を操作して、入力情報を入力することができる。なお、操作体を表示装置106の表示画面に接触させたり押圧させたりするとき、実際、操作体は、表示装置106の表示画面に接触しているのではなく静電式タッチパネル102の表面に接触している。このように、操作体が実際には静電式タッチパネル102の表面に接触している場合にも、以下では、「操作体を表示装置106の表示画面に接触させる」として説明する場合がある。
【0034】
次に、図2を参照して、情報処理装置10のハードウェア構成について説明する。本実施形態にかかる情報処理装置10は、図2に示したように、タッチパネル102と、CPU104と、表示装置106と、不揮発性メモリ108と、RAM(Random Access Memory)110とを備える。
【0035】
CPU104は、上述したように、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置10内の動作全般を制御する。また、CPU104は、マイクロプロセッサであってもよい。RAM110は、CPU104の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバスなどから構成されるホストバスにより相互に接続されている。不揮発性メモリ108は、CPU104が使用するプログラムや演算パラメータ等を記憶する。不揮発性メモリ108は、例えばROM(Read Only Memory)やフラッシュメモリ等を用いることができる。
【0036】
表示装置106は、情報を出力する出力装置の一例である。表示装置106として、例えば液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置などを用いることができる。静電式タッチパネル102は、ユーザが情報を入力する入力装置の一例であって、情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU104に出力する入力制御回路などから構成されている。
【0037】
ユーザは、静電式タッチパネル102を操作することにより、情報処理装置10に対して各種のデータを入力したり処理動作を指示したりすることができる。本実施形態の情報処理装置10では、静電式タッチパネル102により接触操作面の接触操作を検出する。無線通信モジュール111は、無線通信網に接続するための通信デバイス等で構成された通信インタフェースである。情報処理装置10は、無線通信モジュール111を介して、他の機器とBlurtooth(登録商標)接続をしたり、Wi−Fiや近距離無線通信などにより無線通信したりする。
【0038】
<3.情報処理装置の機能構成>
以上、本実施形態にかかる情報処理装置10のハードウェア構成について説明した。次に、図3を参照して、情報処理装置10の機能構成について説明する。以下では、特に、情報処理装置10の制御部(CPU104)の機能構成について説明する。図3は、情報処理装置10の制御部の機能構成を示したブロック図である。
【0039】
図3に示したように、情報処理装置10の制御部は、検出部112、取得部114、格納部116、判定部118などを備える。検出部112は、1または2以上の機器と接続するための表示画面(図示せず)上における操作体の操作を検出する機能を有する。ここで、表示画面は、上記した入力装置としてのタッチパネル102の機能と、表示装置106としてのLCDの機能とを有している。
【0040】
また、検出部112は、操作体の操作の軌跡を検出する機能を有する。ここで、図4を参照して、検出部112により検出された操作体の操作の軌跡について説明する。以下では、情報処理装置10と他の2台の機器を接続する操作について説明する。図4では、情報処理装置10を端末Aとし、2台の他の機器をそれぞれ端末B、端末Cとして説明する。
【0041】
図4に示したように、端末A、B、Cの3端末を接続する場合の操作について説明する。ユーザは、接続操作として、接続したい端末を並べて、表示画面上を一本の線でつなぐような操作をする。図4の矢印で示したように、ユーザにより、端末Aから端末Bを経て端末Cまで、タッチパネルへの指(操作体)などを用いた入力が行われる。
【0042】
また、検出部112は、操作体により表示画面上への入力が開始された入力開始領域および入力が終了された入力終了領域を検出する。さらに、検出部112は、操作体により表示画面上への入力が開始された入力開始時刻および入力が終了された入力終了時刻を検出する。検出部112は、タッチパネル102を仮想的に所定の領域に分割して、分割されたいずれの領域から軌跡入力が開始されて、いずれの領域で軌跡入力が終了しているかを検出する。
【0043】
ここで、図5を参照して、タッチパネル102上で仮想的に分割される領域について説明する。図5に示したように、タッチパネル102は、仮想的に例えば、5つの領域に分割される。タッチパネル102の中央部分を領域0とし、領域0を囲むように上側を領域1、右側を領域2、下側を領域3、左側を領域4と定義する。例えば、図4に示したように操作体が軌跡入力を行った場合、端末Aでは、操作体により入力が開始された入力開始領域は「領域0」、入力が終了された入力終了領域は「領域2」と検出される。
【0044】
同様に、端末Bでは、入力開始領域は「領域4」、入力終了領域は「領域2」と検出される。また、端末Cでは、入力開始領域は「領域4」、入力終了領域は「領域0」と検出される。また、入力を開始した入力開始時刻と入力が終了した入力終了時刻がそれぞれ検出される。なお、図5では、タッチパネル102を5つの領域に分割して、操作体の操作の入力開始位置と入力終了位置がいずれの領域に含まれるかを判定しているが、かかる例に限定されない。例えば、領域を中央と上下左右だけでなく、斜め上や斜め下の領域にさらに細かく分割してもよい。
【0045】
また、本実施形態では、接続対象となる端末は、図4に示したように、同様の大きさや形状をしているものとして説明しているが、かかる例に限定されない。例えば、端末の厚みが異なっていてもよい。この場合、端末の厚みを考慮して、図5に示した分割領域の大きさを変更するようにしてもよい。例えば、接続順が2番目または3番目となる端末の厚みが他の端末より厚い場合には、横に並べた複数端末の表示画面を指でなぞった場合に、領域4を超えて領域0が入力開始位置となってしまうことが考えられる。そこで、領域4の領域を大きくすることにより、正しく軌跡入力を検出することが可能となる。また、表示画面の大きさが異なっていたり、端末ごとに表示画面の位置が異なる場合にも、分割する領域の大きさを変更したり、より細かく分割したりすることにより、正しく軌跡入力を検出することが可能となる。
【0046】
図3に戻り、取得部114は、自己の機器および他の機器により検出された操作体の操作の軌跡を示す軌跡データを取得する機能を有する。検出部112により、図4に示したような、端末A、B、Cの表示画面上を一本の線でつなぐような操作の軌跡が検出される。そして、各端末においてそれぞれ入力開始領域と入力終了領域および、入力開始時刻と入力終了領域が検出される。したがって、取得部114は、自己の機器および他の機器により検出された入力開始領域と入力終了領域および入力開始時刻と入力終了領域を含む軌跡データをそれぞれ取得する。
【0047】
格納部116は、取得部114により取得された軌跡データをRAM等の記憶媒体に格納する機能を有する。格納部116は、例えば、入力開始時刻と入力開始領域とを対応付けて格納している軌跡開始データテーブルと、入力終了時刻と入力終了領域とを対応付けて格納している軌跡終了テーブルを格納する。
【0048】
判定部118は、検出部112により検出された操作体の操作に基づいて、他の機器と接続を確立する場合の他の機器との相対関係を判定する機能を有する。例えば、検出部112により、入力開始領域が領域0であると検出された場合には、軌跡データの開始点であるため、他の端末との関係において、自己の機器はBluetooth(登録商標)接続におけるマスターであると判定することができる。また、接続開始領域が0以外であると検出された場合には、自己の機器はBluetooth(登録商標)接続におけるスレーブであると判定することができる。
【0049】
以下では、軌跡データの開始点のデータを持つ端末であり、マスターであると判定された端末をサーバとして説明する。また、軌跡データの中間のデータを持つ端末であり、スレーブであると判定された端末をクライアント1とし、軌跡データの終了点のデータを持つ端末をクライアント2として説明する。
【0050】
また、判定部118は、検出部112により検出された操作体の操作に基づいて、接続対象となる他の機器の相対的な向きを判定する機能を有する。具体的には、判定部118は、格納部116により格納された軌跡データを時刻順に整列して、接続対象となる他の機器分のデータが格納部116に格納されているか否かを判定する。判定部118は、格納部116に格納された接続対象となる機器分の軌跡データにより、全端末の相対的な向きを判定することが可能となる。
【0051】
上記したように、操作体により入力された軌跡データを、図5に示したような領域に分割して、いずれの領域に入力があったかを検出することにより、他の機器と通信することなく、入力データの開始点を持つ端末か否かを判別することが可能となる。また、自己の端末および他の端末により検出された軌跡データから、近接する端末との相対的な向きを判定することができる。以下では、他の機器との相対的な向きを示す情報を、隣接関係データと称して説明する場合もある。
【0052】
<4.情報処理装置の動作の詳細>
以上、情報処理装置10の制御部の機能について説明した。次に、図6〜図15を参照して、情報処理装置10および情報処理装置10と接続する他の機器の動作の詳細について説明する。以下では、情報処理装置10を軌跡入力の開始点となるサーバに適用して説明する。図6は、情報処理装置10および他の機器の動作の概要を説明する説明図である。
【0053】
図6に示したように、以下では、1台のサーバと2台のクライアントにより接続を行う場合について説明する。上記したように、タッチパネルを用いて操作体の操作を検出する場合、各端末でタッチパネルにより検出される入力データを軌跡入力と称して以下説明する。
【0054】
まず、表示画面上において、操作体により、他の機器と接続するための接続インタラクションが行われて、検出部112により軌跡入力が検出される(S100、S200、S300)。そして、検出された軌跡入力に基づいて、各端末がサーバ、クライアント1か、クライアント2かを判定する(S102、S202、S302)。
【0055】
そして、順次サーバ(マスター)とクライアント(スレーブ)との間でBluetooth(登録商標)接続が確立される(S106、S306)。以下では、複数端末を接続するための無線通信の例としてBluetooth(登録商標)で接続する場合について説明するが、かかる例に限定されず、Wi−Fiや近距離無線通信などを用いてもよい。
【0056】
Bluetooth(登録商標)接続が確立された後に、クライアント1およびクライアント2は、サーバに操作体の操作の軌跡を示す軌跡データを送信する(S206、S308)。サーバは、各クライアントから軌跡データを受信する(S110)。サーバは、各クライアントから軌跡データを受信するたびに軌跡データを格納して、接続対象となるすべてのクライアントからの軌跡データが揃うまで全端末の隣接関係の計算を行う(S112)。
【0057】
そして、サーバは、各クライアントからの軌跡データが揃った時点で、全端末の隣接関係の計算を終了し、隣接関係データを保持する。そして、サーバは、各クライアントへ同一の全端末の隣接関係データを送信する(S114)。また、各クライアントはサーバから送信された隣接関係データを受信する(S208、S310)。これにより、各端末は、接続対象となる端末のすべてについての隣接関係を把握することが可能となる。
【0058】
以上、情報処理装置10および他の機器の動作の概要について説明した。次に、図6の相対位置判定処理(S102、S202、S302)の詳細について説明する。各端末における相対位置判定処理は共通の処理である。図7に示したように、まず、軌跡入力が検出されたか否かが判定される(S122)。ステップS122において、軌跡入力が検出されたと判定された場合には、軌跡入力の開始時刻(入力開始時刻)および位置(入力開始領域)を記録する(S124)。
【0059】
そして、操作体による入力が継続しているか否かを判定する(S126)。ステップS126において、操作体の入力が継続していないと判定された場合には、軌跡入力の終了時刻(入力終了時刻)および位置(入力終了領域)を記録する(S128)。そして、ステップS124において記録された入力開始位置が、図5に示した領域のいずれに含まれるかを判定する(S130)。
【0060】
ステップS130において、入力開始位置が領域0に含まれると判定された場合には、入力終了位置が図5に示した領域のいずれに含まれるかを判定する(S132)。ステップS132において、入力終了位置が領域0に含まれると判定された場合には、端末を接続するための操作ではないため、軌跡入力を破棄する(S134)。ステップS132において、入力終了位置が領域0以外に含まれると判定された場合には、自己の端末をサーバと判定する(S136)。
【0061】
ステップS130において、入力開始位置が領域0以外に含まれると判定された場合には、入力終了位置が図5に示した領域のいずれに含まれるかを判定する(S138)。ステップS138において、入力終了位置が領域0以外に含まれると判定された場合には、自己の端末をクライアント1と判定する(S140)。また、ステップS138において、入力終了位置が領域0に含まれると判定された場合には、自己の端末をクライアント2と判定する(S142)。
【0062】
次に、図8を参照して、サーバ/クライアント判定処理およびBluetooth Connectionの確立処理について説明する。まず、自己の端末がサーバであるか否かを判定する(S152)。ステップS152において、自己の端末がサーバであると判定された場合には、他の機器を発見するためのDiscover処理を実行する(S154)。ステップS154において、他の機器を発見したと判定された場合には、発見した他の機器に対して接続を要求(Connect要求)する(S158)。
【0063】
そして、他の機器により接続が許可(Connect許可)されたか否かを判定する(S160)。ステップS160において、接続が許可されたと判定された場合には、他の機器との接続を確立(Connect確立)する(S162)。そして、隣接関係の判定が終了したか否かを判定する(S164)。ステップS164における隣接関係の判定処理は、後で詳細に説明する。ステップS164において、隣接関係の判定が終了したと判断された場合には、Discover処理を停止する(S166)。
【0064】
ステップS152において、自己の端末がサーバではないと判定された場合には、Discoverableモードに切替える(S168)。そして、サーバである端末からのConnect要求を受信したか否かを判定する(S170)。ステップS170において、サーバからConnect要求を受信したと判定された場合には、Connectを許可し、サーバとのConnectを確立する(S174)。
【0065】
次に、軌跡データの送受信および隣接関係データの送受信処理について説明する。図9に示したように、サーバは、クライアントとConnectが確立した後、クライアントからの軌跡データを受信したか否かを判定する(S182)。ステップS182において、クライアントからの軌跡データを受信したと判定された場合には、受信した軌跡データをテーブルに追加する(S184)。ステップS184において、受信した軌跡データのうち、入力開始時刻と入力開始領域とを対応付けて軌跡開始データテーブルに追加し、入力終了時刻と入力終了領域とを対応付けて軌跡終了データテーブルに追加する。
【0066】
図10に軌跡開始データテーブルの例を示し、図11に軌跡終了データテーブルの例を示した。図10および図11では、Bluetooth Connectionが確立した端末、すなわち、接続が完了した端末数をnとしている。以下では、接続が完了した端末数(データテーブルの行数)をnとし、接続インタラクションを行った端末数(ユーザが接続したい端末数)をNとして説明する。
【0067】
そして、図10に示した軌跡開始データテーブルおよび図11に示した軌跡終了データテーブルのデータを時刻順にソート(整列)する(S186)。ステップS186でデータをソートした後に、隣接関係の計算を行う(S188)。ステップS188における隣接関係の計算処理については、後で詳細に説明する。
【0068】
そして、隣接関係の判定が終了したか否かを判断する(S190)。ステップS190において隣接関係の判定が終了したと判断された場合には、全クライアントに隣接関係データを送信する(S192)。ここで、隣接関係データとは、全端末について、端末を識別する番号と入力軌跡内の端末の位置を記述したデータテーブルである。そして、ステップS192において送信した隣接関係データを記録する(S194)。
【0069】
また、クライアントは、サーバとConnectが確立した後、サーバに自己の端末で検出された軌跡データを送信する(S212)。そして、サーバにより計算された隣接関係データを受信したか否かを判定する(S214)。ステップS214において、サーバから隣接関係データを受信したと判定された場合には、受信した隣接関係データを記録する(S216)。
【0070】
次に、図9のステップS188におけるサーバの隣接関係の計算処理の詳細について説明する。サーバが隣接関係の計算をするに際しては、以下の2通りの場合が考えられる。
(A)ユーザが接続を意図した端末数Nがユーザからの入力により既知である場合
(B)端末数Nが未知である場合
【0071】
まず、上記(A)の端末数Nが既知である場合の隣接関係の計算処理について説明する。(A)の場合、端末数Nが既知であるため、図10および図11に示した各データテーブルの行数nが端末数Nとなったときに、隣接する端末の軌跡データが揃っていると判断できる。サーバは、隣接する端末の軌跡データが揃った時点で、全端末の隣接関係の判定が可能であると判断することができる。
【0072】
図12に、端末数Nが既知の場合の隣接関係の計算処理を示した。図12に示したように、軌跡開始データテーブルおよび軌跡終了データテーブルのデータを時刻順にソートした後、軌跡終了データテーブルのn行2列目のデータに領域0が記録されているか否かを判定する(S222)。軌跡終了データテーブルのn行2列目のデータに領域0が記録されている場合とは、すなわち、軌跡終了データテーブルの最後の行のデータが軌跡入力の終了を示すデータとなっていることを示している。
【0073】
ステップS222において、軌跡終了データテーブルのn行2列目のデータに領域0が記録されていると判定された場合には、各データテーブルの行数がNであるか否かを判定する(S224)。また、ステップS222において、軌跡終了データテーブルのn行2列目のデータに領域0が記録されていないと判定された場合には、クライアントからの軌跡データ受信待ち状態に戻る(S228)。
【0074】
ステップS224において、各データテーブルの行数がNである場合とは、端末数N分のデータがサーバに送信されていることを示している。ステップS224において、各データテーブルの行数がNであると判定された場合には、隣接関係の計算を終了する(S226)。また、ステップS224において、各データテーブルの行数がNではないと判定された場合には、クライアントからの軌跡データ受信待ち状態に戻る(S228)。
【0075】
次に、上記(B)の端末数Nが未知である場合について説明する。端末数Nが未知である場合には、以下の2つの判定方法を例示できる。
(B−1)Bluetooth Connectionの確立速度やタイミングを接続インタラクションに用いるGUI表示の工夫により、隣接し合う端末から順次接続を完了するように接続タイミングをコントロールして、隣接関係の判定を判別する場合。
(B−2)画面の跨ぎ時間について、固定の閾値を用いて、Connectionの確立順序に依存せず、隣接関係の判定の可否を判別する場合。
【0076】
上記(B−1)の場合について説明する。(B−1)の場合は、上記した接続の確立速度やタイミングを接続インタラクションによりコントロールして、図13に示した判定処理を実行する。接続インタラクションによるコントロールは、例えば、Bluetooth Connectionの確立時に、接続が確立しなければタッチパネルへの軌跡入力を継続して実行できないことを画面上に表示してユーザに通知する。これにより、ユーザにより接続される端末について、順次接続を確立しながらタッチパネルへの軌跡入力を行うことができる。このように、軌跡入力が行われた順に順次接続が確立されるため、軌跡入力終了点を持つ端末、すなわち、クライアント2までの接続が確立された時点で、全端末の隣接関係の判定が可能であると判別することができる。
【0077】
図13に示したように、(B−1)の場合には、軌跡開始データテーブルおよび軌跡終了データテーブルのデータを時刻順にソートした後、軌跡終了データテーブルのn行2列目のデータに領域0が記録されているか否かを判定する(S232)。ステップS232において、軌跡終了データテーブルのn行2列目のデータに領域0が記録されていると判定された場合には、隣接関係の計算を終了する(S234)。ステップS232において、軌跡終了データテーブルのn行2列目のデータに領域0が記録されていないと判定された場合には、クライアントからの軌跡データ受信待ち状態に戻る(S236)。
【0078】
次に、上記(B−2)の場合について説明する。(B−2)の場合は、端末数Nは未知であるため、データテーブルの行数nがNと等しい条件に代わる、全端末の隣接関係の判定の可否を行うための判別条件が必要となる。当該判別条件は、複数の端末が図14に示す関係である場合に、以下の条件1が成立し、かつ、軌跡入力終了点を持つ端末(クライアント2)までの接続が確立していること、となる。
【0079】
【0080】
上記条件1は、Bluetooth Connectionが確立された各端末について、ある端末より早くに接続を完了した端末との入出力の時刻差を比較し、その時刻差のうちデータテーブル上で隣接する端末と入出力との時刻差が最小である、という条件である。(B−2)の場合の処理について図15を参照して説明する。図15では、初期値として、k=1、Nneighboring=0が設定されている。Nneighboringは、隣接関係決定済みの端末数である。
【0081】
図15に示したように、まず、上記の条件1を満たすか否かを判定する(S242)。ステップS242において、条件1を満たしていると判定された場合には、Nneighboringに1を加算する(S244)。ステップS242において、条件1を満たしていないと判定された場合には、ステップS246の処理を実行する。
【0082】
そして、kに1を加算して(S246)、k=n−1か否かを判定する(S248)。ここで、nは、データテーブルの行数である。ステップS248において、k=n−1ではないと判定された場合には、ステップS242の処理に戻る。ステップS248において、k=n−1であると判定された場合には、Nneighboring=n−1であるか否かを判定する(S250)。ステップS250において、Nneighboring=n−1であると判定された場合には、軌跡終了データテーブルのn行2列目のデータに領域0が記録されているか否かを判定する(S252)。ステップS250において、Nneighboring=n−1ではないと判定された場合には、クライアントからの軌跡データ受信待ち状態に戻る(S258)。
【0083】
ステップS252において、軌跡終了データテーブルのn行2列目のデータに領域0が記録されていると判定された場合には、以下の条件式2が成立するか否かを判定する(S254)。
【0084】
【0085】
ステップS252において、軌跡終了データテーブルのn行2列目のデータに領域0が記録されていないと判定された場合には、クライアントからの軌跡データ受信待ち状態に戻る(S258)。ステップS254において、条件式2を満たしていると判定された場合には、隣接関係の計算を終了する(S256)。また、ステップS254において、条件式2を満たしていないと判定された場合には、クライアントからの軌跡データ受信待ち状態に戻る(S258)。
【0086】
以上、本実施形態にかかる情報処理装置10の動作の詳細について説明した。次に、図16を参照して、ステップS100、S200、S300において検出される軌跡入力について説明する。図16は、操作体による端末間の接続操作について説明する説明図である。図16では、タッチパネルを用いて操作体の操作を検出する場合について説明する。
【0087】
図16の説明図502に示したように、2台の端末を接続する場合には、2台の端末が横に並べられて、操作体により2台の端末を跨ぐように表示画面上に一本の線を描く入力がなされる。また、表示画面上に説明図502に示した線が表示されている場合には、当該線をなぞるようにしてもよい。
【0088】
また、説明図502のように並べられた2台の端末に対し、左側の端末から右側の端末の表示画面上をフリック操作した後に、連続して右側の端末から左側の端末の表示画面上をフリック操作することも考えられる。このように、連続したフリック操作が行われることにより、表示画面上に一本の線を描くのと同様の入力を与えるようにしてもよい。
【0089】
また、説明図504に示したように、3台以上の端末を接続する場合には、3台の端末が横に並べられて、3台の表示画面上に1本の線を一度に描く入力がなされる。また、説明図506に示したように、3台以上の端末をユーザの所望の位置に置いて、3台の端末を跨ぐように表示画面上に一本の線を描く入力がなされる場合もある。このように、ユーザにより複数端末の表示画面上に一方の線を描く直感的な入力が行われるだけで、複数端末間でネットワーク接続を確立して、マルチキャストなデータ転送を行うことが可能となる。
【0090】
また、接続操作をするに際して、説明図502、504のように端末間の表示画面を跨いで一本の線を描く入力がなされた場合には、実際に接続が確立する前に、操作体の操作の軌跡を表示させてもよい。これにより、よりスムーズな接続感を生じさせることができる。
【0091】
また、ネットワークを切断する際には、ネットワークを接続していることを示す表示画面上の線を仮想的な消しゴムなどで消すような入力をしてもよい。また、ネットワークを接続していることを示す表示画面上の線の上から「×」を描くような入力を行うことにより、ネットワークを切断するようにしてもよい。このように、本実施形態では、直感的な入力により、ネットワークを接続したり切断したりすることが可能となる。
【0092】
次に、図17A、図17Bを参照して、上記方法により接続され、端末同士の隣接関係が把握された場合のデータの送受信について説明する。図17Aは、左側に位置する端末から右側に位置する端末に画像データを送信する場合について説明している。図17Aにおいては、ユーザは、指などの操作体で転送対象となる画像が表示されている表示画面を矢印方向に押下する。操作体により画像が矢印方向に押下されている間、表示画面に表示されている画像は、矢印方向(転送方向)に少しずつ移動する。そして、操作体により、一定時間以上押下され続けた場合に、画像データの転送を実行するようにしてもよい。操作体である指により、例えば、一定時間以上のロングタップが実行された場合に、画像データを転送するようにしてもよい。
【0093】
また、図17Bに示したように、右側に位置する端末から左側に位置する端末に画像データが転送された場合には、転送元となる右側の端末の方向から画像がスライドインする表示としてもよい。また、送信先となる端末の表示画面では、当該端末の画面サイズに画像サイズが変更されてもよい。また、転送先の端末では、操作体の操作により、画像が画面サイズに表示されるようにしてもよい。ここで、操作体の操作とは、例えば、表示画面をタップする操作などを例示できる。
【0094】
このように、端末同士の隣接関係が把握されているため、転送先となる端末の方向を特定することができ、直感的な入力により所望の方向に位置する端末にデータを転送することが可能となる。さらに、転送するデータの表示方法を工夫することにより、より、直観的な操作感を実現させることが可能となる。
【0095】
また、ネットワーク接続が確立された後、データ転送を行う際に、操作体の接続入力に応じて端末の接続レベルを選択したり、接続レベルに応じてデータの転送可能範囲を選択したりするようにしてもよい。
【0096】
例えば、図18Aに示したように、1本の指で線を引いた場合と、2本の指で線を引いた場合で、接続レベルを変更するようにしてもよい。説明図532では、1本の指で2台の端末を跨ぐように線が引かれている。このように、1本の指で線が引かれた場合には、低レベルの接続レベルを選択する。また、説明図534では、2本の指で2台の端末を跨ぐように線が引かれている。こように、2本の指で線が引かれた場合には、高レベルの接続レベルを選択する。
【0097】
また、図18Bに示したように、軌跡入力が開始される端末の表示画面上に表示された選択画面のGUI上で接続レベルを選択するようにしてもよい。説明図542および説明図542では、軌跡入力が開始される端末に選択レベルを示すGUIが表示されている。説明図542では、表示画面の「レベル1」が表示されている表示領域を軌跡入力の開始位置としている。この場合、レベル1の接続レベルが選択される。また、説明図544では、表示画面の「レベル3」が表示されている表示領域を軌跡入力の開始位置としている。この場合、レベル3の接続レベルが選択される。
【0098】
図18Aおよび図18Bに示したように、ユーザ操作に応じて接続レベルが選択された場合には、選択された接続レベルでデータが転送される。例えば、「レベル1」の接続レベルが選択された場合には、風景写真のみ転送するようにしてもよい。また、「レベル2」の接続レベルが選択された場合には、風景写真に加えて、人物写真も転送するようにしてもよい。また、「レベル3」の接続レベルが選択された場合には、さらに顔のアップ写真も転送するようにしてもよい。このように、接続レベルに応じて、転送するコンテンツの質や種類を変更させることができる。
【0099】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【0100】
例えば、本明細書の情報処理装置10の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、の処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
【0101】
また、情報処理装置10のナビゲーション装置に内蔵されるCPU、ROMおよびRAMなどのハードウェアを、上述した情報処理装置10の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供される。
【符号の説明】
【0102】
10 情報処理装置
102 タッチパネル
104 CPU
106 表示装置
108 不揮発性メモリ
110 RAM
111 無線通信モジュール
112 検出部
114 取得部
116 格納部
118 判定部
【特許請求の範囲】
【請求項1】
1または2以上の機器と接続するための表示画面上における操作体の操作を検出する検出部と、
前記検出部により検出された前記操作体の操作に基づいて、接続対象となる他の機器の相対的な向きを判定する判定部と、
を備える、情報処理装置。
【請求項2】
前記判定部は、前記検出部により検出された前記操作体の操作に基づいて、前記他の機器と接続を確立する場合の前記他の機器との相対関係を判定する、請求項1に記載の情報処理装置。
【請求項3】
前記検出部は、前記操作体の操作により表示画面上に入力された軌跡を検出する、請求項1に記載の情報処理装置。
【請求項4】
自己の機器および前記他の機器により検出された前記操作体の操作の軌跡を示す軌跡データを取得する取得部を備える、請求項3に記載の情報処理装置。
【請求項5】
前記取得部により取得された前記軌跡データを格納する格納部を備える、請求項4に記載の情報処理装置。
【請求項6】
前記判定部は、前記格納部に格納された前記軌跡データを時刻順に整列して、接続対象となる前記他の機器分のデータが前記格納部に格納されているか否かを判定する、請求項5に記載の情報処理装置。
【請求項7】
前記検出部は、前記操作体により表示画面上への入力が開始された入力開始領域および入力が終了された入力終了領域を検出する、請求項1に記載の情報処理装置。
【請求項8】
前記検出部は、前記操作体により表示画面上への入力が開始された入力開始時刻および入力が終了された入力終了時刻を検出する、請求項7に記載の情報処理装置。
【請求項9】
前記取得部は、自己の機器および接続対象となる他の機器において検出された前記入力開始領域および前記入力開始時刻を含む軌跡開始データと、前記入力終了領域よび前記入力終了時刻とを含む軌跡終了データを取得する、請求項4に記載の情報処理装置。
【請求項10】
前記格納部には、前記取得部により取得された前記軌跡開始データおよび前記軌跡終了データが格納されている、請求項9に記載の情報処理装置。
【請求項11】
前記判定部は、接続対象となる機器の機器数が既知の場合に、時刻順に整列された前記軌跡開始データおよび前記軌跡終了データにおいて、前記機器数番目に格納されている前記軌跡終了データの前記軌跡終了領域が前記操作体の軌跡入力の終了を示す領域であり、前記格納されているデータ数が前記機器数に対応するときに、前記軌跡開始データおよび前記軌跡終了データを前記接続対象となる他の機器との相対的な向きを示すデータであると判定する、請求項10に記載の情報処理装置。
【請求項12】
前記判定部は、接続対象となる機器の機器数が未知の場合に、時刻順に整列された前記軌跡開始データおよび前記軌跡終了データにおいて、所定の端末の入力開始時刻と他の端末の入力終了時刻との時刻差のうち、データが隣接している他の入力終了時刻との時刻差が最小となっており、当該時刻差が所定の閾値以下であり、最後に格納されている前記軌跡終了データの前記軌跡終了領域が前記操作体の軌跡入力の終了を示す領域であるときに、前記軌跡開始データおよび前記軌跡終了データを前記接続対象となる他の機器との相対的な向きを示すデータであると判定する、請求項10に記載の情報処理装置。
【請求項13】
前記検出部は、静電容量式または赤外線によるタッチパネルを用いて、前記情報処理装置への前記操作体による操作を検出する、請求項1に記載の情報処理装置。
【請求項14】
コンピュータを、
1または2以上の機器と接続するための表示画面上における操作体の操作を検出する検出部と、
前記検出部により検出された前記操作体の操作に基づいて、接続対象となる他の機器の相対的な向きを判定する判定部と、
を備える、情報処理装置として機能させるための、プログラム。
【請求項15】
1または2以上の機器と接続するための表示画面上における操作体の操作を検出するステップと、
前記検出された前記操作体の操作に基づいて、接続対象となる他の機器と相対的な向きを判定するステップと、
を含む、情報処理方法。
【請求項1】
1または2以上の機器と接続するための表示画面上における操作体の操作を検出する検出部と、
前記検出部により検出された前記操作体の操作に基づいて、接続対象となる他の機器の相対的な向きを判定する判定部と、
を備える、情報処理装置。
【請求項2】
前記判定部は、前記検出部により検出された前記操作体の操作に基づいて、前記他の機器と接続を確立する場合の前記他の機器との相対関係を判定する、請求項1に記載の情報処理装置。
【請求項3】
前記検出部は、前記操作体の操作により表示画面上に入力された軌跡を検出する、請求項1に記載の情報処理装置。
【請求項4】
自己の機器および前記他の機器により検出された前記操作体の操作の軌跡を示す軌跡データを取得する取得部を備える、請求項3に記載の情報処理装置。
【請求項5】
前記取得部により取得された前記軌跡データを格納する格納部を備える、請求項4に記載の情報処理装置。
【請求項6】
前記判定部は、前記格納部に格納された前記軌跡データを時刻順に整列して、接続対象となる前記他の機器分のデータが前記格納部に格納されているか否かを判定する、請求項5に記載の情報処理装置。
【請求項7】
前記検出部は、前記操作体により表示画面上への入力が開始された入力開始領域および入力が終了された入力終了領域を検出する、請求項1に記載の情報処理装置。
【請求項8】
前記検出部は、前記操作体により表示画面上への入力が開始された入力開始時刻および入力が終了された入力終了時刻を検出する、請求項7に記載の情報処理装置。
【請求項9】
前記取得部は、自己の機器および接続対象となる他の機器において検出された前記入力開始領域および前記入力開始時刻を含む軌跡開始データと、前記入力終了領域よび前記入力終了時刻とを含む軌跡終了データを取得する、請求項4に記載の情報処理装置。
【請求項10】
前記格納部には、前記取得部により取得された前記軌跡開始データおよび前記軌跡終了データが格納されている、請求項9に記載の情報処理装置。
【請求項11】
前記判定部は、接続対象となる機器の機器数が既知の場合に、時刻順に整列された前記軌跡開始データおよび前記軌跡終了データにおいて、前記機器数番目に格納されている前記軌跡終了データの前記軌跡終了領域が前記操作体の軌跡入力の終了を示す領域であり、前記格納されているデータ数が前記機器数に対応するときに、前記軌跡開始データおよび前記軌跡終了データを前記接続対象となる他の機器との相対的な向きを示すデータであると判定する、請求項10に記載の情報処理装置。
【請求項12】
前記判定部は、接続対象となる機器の機器数が未知の場合に、時刻順に整列された前記軌跡開始データおよび前記軌跡終了データにおいて、所定の端末の入力開始時刻と他の端末の入力終了時刻との時刻差のうち、データが隣接している他の入力終了時刻との時刻差が最小となっており、当該時刻差が所定の閾値以下であり、最後に格納されている前記軌跡終了データの前記軌跡終了領域が前記操作体の軌跡入力の終了を示す領域であるときに、前記軌跡開始データおよび前記軌跡終了データを前記接続対象となる他の機器との相対的な向きを示すデータであると判定する、請求項10に記載の情報処理装置。
【請求項13】
前記検出部は、静電容量式または赤外線によるタッチパネルを用いて、前記情報処理装置への前記操作体による操作を検出する、請求項1に記載の情報処理装置。
【請求項14】
コンピュータを、
1または2以上の機器と接続するための表示画面上における操作体の操作を検出する検出部と、
前記検出部により検出された前記操作体の操作に基づいて、接続対象となる他の機器の相対的な向きを判定する判定部と、
を備える、情報処理装置として機能させるための、プログラム。
【請求項15】
1または2以上の機器と接続するための表示画面上における操作体の操作を検出するステップと、
前記検出された前記操作体の操作に基づいて、接続対象となる他の機器と相対的な向きを判定するステップと、
を含む、情報処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17A】
【図17B】
【図18A】
【図18B】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17A】
【図17B】
【図18A】
【図18B】
【公開番号】特開2011−197776(P2011−197776A)
【公開日】平成23年10月6日(2011.10.6)
【国際特許分類】
【出願番号】特願2010−61126(P2010−61126)
【出願日】平成22年3月17日(2010.3.17)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成23年10月6日(2011.10.6)
【国際特許分類】
【出願日】平成22年3月17日(2010.3.17)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]