以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。説明は以下の順序により行う。
1.第1の実施の形態(ユーザ情報や管理情報に基づいて無線通信に関する制御を行う例)
2.第2の実施の形態(アクセスポイントを経由したソース機器およびシンク機器間の接続と、ソース機器およびシンク機器間のダイレクト接続とを切り替える(または同時に接続する)例)
3.第3の実施の形態(ソース機器のユーザとシンク機器側の表示部との位置関係に基づいてソース機器から送信された画像の表示態様(表示部の表示態様)を決定する例)
4.応用例
<1.第1の実施の形態>
[通信システムの構成例]
図1は、本技術の第1の実施の形態における通信システム100のシステム構成例を示すブロック図である。図1では、P2P(Peer to Peer)ダイレクト通信により無線接続を行うことができる通信システムの一例を示す。
通信システム100は、情報処理装置200と、情報処理装置300と、情報処理装置400とを備える。また、通信システム100は、情報処理装置200および情報処理装置400のうちの少なくとも1つから送信されるデータ(例えば、画像データや音声データ)を情報処理装置300が受信する通信システムである。
また、情報処理装置200、300、400は、無線通信機能を備える送受信機器である。例えば、情報処理装置200、300、400は、無線通信機能を備える表示装置(例えば、パーソナルコンピュータ)や携帯型の情報処理装置(例えば、スマートフォン、タブレット端末)である。また、例えば、情報処理装置200、300、400は、IEEE(Institute of Electrical and Electronics Engineers)802.11、IEEE802.15、IEEE802.16、3GPP(3rd Generation Partnership Project)仕様(例えば、W−CDMA(Wideband Code Division Multiple Access)、GSM(登録商標)(Global System for Mobile Communications)、WiMAX(Worldwide Interoperability for Microwave Access)、WiMAX2、LTE(Long Term Evolution)、LTE−A(Advanced))に準拠した無線通信装置である。そして、情報処理装置200、300、400は、無線通信機能を利用して各種情報のやり取りを行うことができる。
ここで、一例として、情報処理装置200および情報処理装置300間、または、情報処理装置400および情報処理装置300間で無線LAN(Local Area Network)を用いた無線通信を行う場合の例を説明する。
この無線LANとして、例えば、Wi−Fi(Wireless Fidelity) Direct、TDLS(Tunneled Direct Link Setup)、アドホックネットワーク、メッシュネットワークを用いることができる。また、通信システム100に用いられる近距離無線AV(Audio Visual)伝送通信として、例えば、Wi−Fi CERTIFIED Miracast(技術仕様書名:Wi−Fi Display)を用いることができる。なお、Wi−Fi CERTIFIED Miracastは、Wi−Fi DirectやTDLSの技術を利用して、一方の端末で再生される音声や表示画像を他の端末に送信し、他の端末でも同様にその音声、画像データを出力させるミラーリング技術である。
また、Wi−Fi CERTIFIED Miracastでは、TCP/IP(Transmission Control Protocol/Internet Protocol)上でUIBC(User Input Back Channel)を実現している。UIBCは、一方の端末から他方の端末へマウスやキーボード等の入力機器の操作情報を送信する技術である。なお、Wi−Fi CERTIFIED Miracastの代わりに、他のリモートデスクトップソフトウェア(例えば、VNC(Virtual Network Computing))を適用するようにしてもよい。
ここで、Wi−Fi CERTIFIED Miracastでは、画像(映像)を、例えば、H.264を用いて圧縮・展開することが定められている。また、例えば、Wi−Fi CERTIFIED Miracastでは、H.264を送信側で調整することができる。なお、H.264に限らず、例えば、H.265(例えば、HEVC(high efficiency video coding)、SHVC(scalable video coding extensions of high efficiency video coding))、MPEG(Moving Picture Experts Group)4、JPEG(Joint 1Photographic Experts Group)2000にも対応することができる。また、例えば、1ライン以上を束ねて圧縮したり、2ライン以上を2×2以上のマクロブロックに分割して圧縮・展開を行うラインベースコーデック(例えば、Wavelet、DCT(Discrete Cosine Transform))にも対応することができる。また、例えば、特定の符号量領域(Pictureまたは複数ラインの束またはマクロブロック等)の前符号量領域との差分を求めることでDCTやWavelet等の圧縮を行わずに伝送レートを減らすコーデックにも対応することができる。また、非圧縮で画像(映像)を送信・受信するようにしてもよい。
また、本技術の第1の実施の形態では、情報処理装置200は、撮像動作により生成された画像データおよび音声データを送信対象とする例を示す。また、本技術の第1の実施の形態では、情報処理装置400は、記憶部(例えば、ハードディスク)に保存されているコンテンツ(例えば、画像データおよび音声データからなるコンテンツ)を送信対象とする例を示す。なお、情報処理装置200として、カメラを搭載した電子機器(例えば、パソコン、ゲーム機、スマートフォン、タブレット端末)を用いるようにしてもよい。また、情報処理装置300として、表示部を備える他の電子機器(例えば、撮像装置、ゲーム機、スマートフォン、タブレット端末)を用いるようにしてもよい。また、情報処理装置400がテザリング機能を備える場合には、無線または有線ネットワークを介してISP(Internet Services Provider)に保存されたコンテンツを送信対象とするようにしてもよい。
例えば、情報処理装置200の撮像動作により生成された画像データが情報処理装置300に送信され、その画像データに基づく画像11が情報処理装置300の表示部351に表示される。また、情報処理装置400の記憶部(例えば、ハードディスク)に保存されているコンテンツが情報処理装置300に送信され、そのコンテンツに基づく画像12が情報処理装置300の表示部351に表示される。
このように、本技術の第1の実施の形態では、ソース側の情報処理装置(ソース機器)を情報処理装置200、400とし、シンク側の情報処理装置(シンク機器)を情報処理装置300とする例を示す。
また、図1では、P2P(Peer to Peer)ダイレクト接続により、無線通信を利用して情報処理装置300が直接通信することができる範囲を情報伝達範囲101として示す。この情報伝達範囲101は、情報処理装置300を基準とした場合における情報伝達範囲(サービス範囲)である。
[情報処理装置(ソース機器)の構成例]
図2は、本技術の第1の実施の形態における情報処理装置200の機能構成例を示すブロック図である。なお、情報処理装置400の無線通信に関する機能構成は、情報処理装置200と略同一の構成である。このため、本技術の第1の実施の形態では、情報処理装置200についてのみ説明し、情報処理装置400の説明を省略する。
情報処理装置200は、アンテナ210と、無線通信部220と、制御信号受信部230と、制御部240と、画像・音声信号生成部250と、画像・音声圧縮部260と、ストリーム送信部270とを備える。
無線通信部220は、制御部240の制御に基づいて、無線通信を利用して、他の情報処理装置(例えば、情報処理装置300)との間で各情報(例えば、画像データおよび音声データ)の送受信をアンテナ210を介して行うものである。例えば、画像データの送信処理が行われる場合には、画像・音声信号生成部250により生成された画像データが画像・音声圧縮部260により圧縮され、この圧縮された画像データ(画像ストリーム)が無線通信部220を経由してアンテナ210から送信される。
また、無線通信部220は、複数の周波数チャネルを利用して、他の情報処理装置(例えば、情報処理装置300)との間で各情報の送受信を行うことが可能であるものとする。本技術の第1の実施の形態では、無線通信部220が、2.4GHz、5GHz、60GHzの3種類の周波数チャネルを送受信可能な機能を備える例を示す。このように、ソース機器が、複数の周波数チャネルを送受信可能な機能を備える場合には、シンク機器(例えば、情報処理装置300)は、各ソース機器にどの周波数チャネルを使用させるかを制御することができる。
制御信号受信部230は、無線通信部220により受信された各情報のうちから、他の情報処理装置(例えば、情報処理装置300)から送信された制御信号(例えば、情報処理装置300とのやりとりの情報)を取得するものである。そして、制御信号受信部230は、その取得された制御信号を制御部240に出力する。
制御部240は、情報処理装置200から送信される各情報に関する制御を行うものである。例えば、制御部240は、制御信号受信部230により受信された制御信号に基づいて、画像・音声信号生成部250および画像・音声圧縮部260に対する制御を行う。例えば、制御部240は、送信対象となる画像データの解像度や音声のチャネル数を変更させるための制御や、送信対象となる画像データの画像領域を変更させるための制御を行う。すなわち、制御部240は、制御信号受信部230により受信された制御信号に基づいて、送信対象となるストリームの伝送制御(例えば、データ伝送速度制御、スケーラビリティ伝送レート制御)を行う。
また、制御部240は、無線通信を利用してシンク機器との間でデータの送受信が行われている際における電波伝搬状況(リンク電波伝搬状況)を測定する機能を備え、その測定結果(電波伝搬測定情報)をシンク機器に送信するようにしてもよい。
ここで、電波伝搬測定情報は、例えば、シンク機器との回線品質が、画像データおよび音声データの送受信を行うことができる品質であるか否かを判断する際に用いられる情報である。また、電波伝搬測定情報は、例えば、ストリームの伝送制御(例えば、データ伝送速度制御、スケーラビリティ伝送レート制御)を行う際に用いられる。なお、電波伝搬測定情報については、図4を参照して詳細に説明する。なお、電波伝搬測定情報の代わりに、制御部240から同一パケットの再送回数をカウントさせ、このカウント数に応じて、ストリームの伝送制御を行うようにしてもよい。
ここで、データ伝送速度は、主に、通信路を占有する率を意味し、通信速度や通信容量の意味を含むものとする。また、解像度は、例えば、画像データの画枠(縦・横のピクセル数)、画像データのビットレート(圧縮率)等の要素から構成される画質の指標と定義する。また、画質の指標としては、ストリームのスループットを用いることができる。また、音声のチャネル数は、モノラル(1.0ch)、ステレオ(2.0ch)等の音声の記録再生方法の意味を含むものとする。また、音声のチャネル数は、音声データのビットレート(圧縮率)やチャネル数等の要素から構成される音質の指標と定義する。また、音質の指標としては、ストリームのスループットを用いることができる。
また、制御部240は、データレート制御では安定化することができない状態を改善させるための制御を行う。例えば、制御部240は、シンク機器(例えば、情報処理装置300)との情報のやりとりにより、シンク機器のシステム性能情報を把握する。ここで、システム性能情報は、例えば、シンク機器のシステムに関する性能情報である。例えば、システム性能情報は、使用可能な周波数チャネル、解像度、TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)である。また、システム性能情報は、例えば、暗号化方法の対応、SD(Standard Definition)/HD(High Definition)対応、低消費電力モードの対応のそれぞれを示す情報である。例えば、制御部240は、シンク機器が低消費電力モードに対応しているか否かに応じて、通信システム100のシステム全体の安定度をさらに向上させるストリームの伝送制御(例えば、データ伝送速度制御、スケーラビリティ伝送レート制御)方法を選ぶことができる。
例えば、制御部240は、情報処理装置300との情報のやりとりの中に、情報処理装置200がモバイル機器であるかどうかの情報を入れるものとする。例えば、情報処理装置200に関するCapability情報に、情報処理装置200がモバイル機器であるかどうかの情報を含めることができる。また、情報処理装置300は、情報処理装置200がモバイル機器であることを把握すると、他に接続した情報処理装置との関連に基づいて、情報処理装置200を動作させる必要がないと判断することができる。このように、情報処理装置200を動作させる必要がないと判断された場合には、情報処理装置200は、情報処理装置300から送信停止コマンドを受信する。そして、制御部240は、その送信停止コマンドを把握すると、画像・音声信号生成部250と、画像・音声圧縮部260と、ストリーム送信部270とのそれぞれの機能の電源を一定時間ダウンさせることができる。また、制御部240は、無線通信部220についても間欠受信(情報処理装置300からコマンドを受信できる程度に定期的に起き上がり、他は電源をダウンさせるモード)に移行することができる。
画像・音声信号生成部250は、制御部240の制御に基づいて、出力対象となるデータ(画像データ、音声データ)を生成するものであり、生成されたデータを画像・音声圧縮部260に出力する。例えば、画像・音声信号生成部250は、撮像部(図示せず)および音声取得部(図示せず)を備える。この撮像部(例えば、レンズ、撮像素子、信号処理回路)は、被写体を撮像して画像(画像データ)を生成するものである。また、音声取得部(例えば、マイク)は、その画像データの生成時における周囲の音声を取得するものである。このように生成されたデータは、他の情報処理装置(例えば、情報処理装置300)への送信対象となる。
画像・音声圧縮部260は、制御部240の制御に基づいて、画像・音声信号生成部250により生成されたデータ(画像データおよび音声データ)を圧縮(エンコード)するものである。そして、画像・音声圧縮部260は、その圧縮されたデータ(画像データおよび音声データ)をストリーム送信部270に出力する。なお、画像・音声圧縮部260は、ソフトウェアによるエンコードの実行により実現するようにしてもよく、ハードウエアによるエンコードの実行により実現するようにしてもよい。また、画像・音声圧縮部260は、コーデックとして機能することを想定しているが、非圧縮の画像または音声を扱えるものとする。さらに、画像・音声圧縮部260は、スケーラブル・コーデックとしても機能するものとする。ここで、スケーラブル・コーデックは、例えば、受信側の情報処理装置(シンク機器)の解像度やネットワーク環境等に応じて、自在に適応することができるコーデックを意味する。
ストリーム送信部270は、制御部240の制御に基づいて、画像・音声圧縮部260により圧縮されたデータ(画像データおよび音声データ)をストリームとして無線通信部220を経由してアンテナ210から送信する送信処理を行うものである。
なお、情報処理装置200は、上述した各部以外にも、表示部、音声出力部、操作受付部等を備えることができるが、これらについては、図2での図示を省略する。また、情報処理装置200が、送信対象となる画像データおよび音声データを生成する例を示すが、情報処理装置200は、送信対象となる画像データおよび音声データを外部装置から取得するようにしてもよい。例えば、情報処理装置200は、マイクロフォン付きのWebカメラから、送信対象となる画像データおよび音声データを取得するようにしてもよい。また、情報処理装置200は、情報処理装置200の内部、外部にかかわらず、記憶装置(例えば、ハードディスク)に保存されているコンテンツ(例えば、画像データおよび音声データからなるコンテンツ)を送信対象とするようにしてもよい。この場合に、その記憶装置に保存されているコンテンツが圧縮済のコンテンツである場合も想定される。この場合に、その圧縮済のコンテンツが、通信システム100で採用されている規格で定義されたエンコード方式で圧縮されている場合には、その圧縮済のコンテンツを復号(デコード)せずにそのまま送信するようにしてもよい。
情報処理装置200の表示部(図示せず)は、例えば、画像・音声信号生成部250により生成された画像を表示する表示部である。なお、表示部として、例えば、有機EL(Electro Luminescence)、クリスタルLED(Light Emitting Diode)ディスプレイ(Crystal LED Display)、LCD(Liquid Crystal Display)等の表示パネルを用いることができる。
情報処理装置200の音声出力部(図示せず)は、例えば、画像・音声信号生成部250により生成された音声を出力する音声出力部(例えば、スピーカ)である。なお、画像については、送信機器および受信機器の双方から出力することもできるが、音声については何れか一方のみから出力することが好ましい。
情報処理装置200の操作受付部(図示せず)は、ユーザにより行われた操作入力を受け付ける操作受付部であり、例えば、キーボード、マウス、ゲームパッド、タッチパネル、カメラ、マイクである。なお、操作受付部および表示部については、使用者がその指を表示面に接触または近接することにより操作入力を行うことが可能なタッチパネルを用いて一体で構成することができる。
[情報処理装置(受信側)の構成例]
図3は、本技術の第1の実施の形態における情報処理装置300の機能構成例を示すブロック図である。
情報処理装置300は、アンテナ310と、無線通信部320と、ストリーム受信部330と、画像・音声展開部340と、画像・音声出力部350と、ユーザ情報取得部360と、制御部370と、制御信号送信部380と、管理情報保持部390とを備える。
無線通信部320は、制御部370の制御に基づいて、無線通信を利用して、他の情報処理装置(例えば、情報処理装置200)との間で各情報(例えば、画像データおよび音声データ)の送受信をアンテナ310を介して行うものである。例えば、画像データの受信処理が行われる場合には、アンテナ310により受信された画像データが、無線通信部320、ストリーム受信部330を経由して画像・音声展開部340により展開(復号)される。そして、その展開された画像データが画像・音声出力部350に供給され、その展開された画像データに応じた画像が画像・音声出力部350から出力される。すなわち、その展開された画像データに応じた画像が表示部351に表示される。
また、無線通信部320は、複数の周波数チャネルを利用して、他の情報処理装置(例えば、情報処理装置200)との間で各情報の送受信を行うことが可能であるものとする。本技術の第1の実施の形態では、無線通信部320が、2.4GHz、5GHz、60GHzの3種類の周波数チャネルを送受信可能な機能を備える例を示す。すなわち、無線通信部320は、第1の周波数帯を用いる通信と、第1の周波数帯よりも高速なデータ伝送速度の第2の周波数帯を用いる通信とを行うことが可能である。また、制御部370は、各ソース機器との無線通信に、複数の周波数チャネルのうちのどの周波数チャネルを使用させるかを制御する。
なお、情報処理装置200および情報処理装置300間のリンクと、情報処理装置400および情報処理装置300間のリンクとは同一の周波数チャネルとするようにしてもよく、異なる周波数チャネルとするようにしてもよい。
また、本技術の第1の実施の形態では、無線通信部320が、2.4GHz、5GHz、60GHzの3種類の周波数チャネルを送受信可能な機能を備える例を示すが、これに限定されない。例えば、無線通信部320が、他の周波数チャネルや、2または4以上の周波数チャネルを送受信可能な機能を備えるようにしてもよい。
ストリーム受信部330は、制御部370の制御に基づいて、無線通信部320により受信された各情報のうちから、各ソース機器とのやりとりの情報およびストリーム(例えば、画像ストリーム、音声ストリーム)を受信するものである。そして、ストリーム受信部330は、受信したコマンド情報を制御部370に出力し、受信したストリームを画像・音声展開部340および制御部370に出力する。
ここで、各ソース機器とのやりとりの情報は、ソース機器(例えば、情報処理装置200)から送信される情報であり、例えば、情報処理装置300のシステム性能情報の取得要求を含む。このシステム性能情報は、例えば、使用可能な周波数チャネル、解像度、TCP、UDPや、暗号化方法の対応、SD/HD対応、低消費電力モードの対応のそれぞれを示す情報である。
また、ストリーム受信部330は、無線通信を利用してシンク機器との間でデータの送受信が行われている際における電波伝搬状況(リンク電波伝搬状況)を測定する機能を備える。そして、ストリーム受信部330は、その測定結果(電波伝搬測定情報)を制御部370に出力する。なお、電波伝搬測定情報については、図4を参照して詳細に説明する。
画像・音声展開部340は、制御部370の制御に基づいて、他の情報処理装置(例えば、情報処理装置200)から送信されたストリーム(画像データおよび音声データ)を展開(デコード)するものである。そして、画像・音声展開部340は、その展開されたデータ(画像データおよび音声データ)を画像・音声出力部350に出力する。なお、画像・音声展開部340は、ソフトウェアによるデコードの実行により実現するようにしてもよく、ハードウエアによるデコードの実行により実現するようにしてもよい。また、画像・音声展開部340は、コーデックとして機能することを想定しているが、非圧縮の画像または音声を扱えるものとする。また、画像・音声展開部340は、スケーラブル・コーデックとしても機能するものとする。
画像・音声出力部350は、表示部351および音声出力部352を備える。
表示部351は、画像・音声展開部340により展開された画像データに基づく各画像(例えば、図1に示す画像11、12)を表示する表示部である。なお、表示部351として、例えば、有機ELパネル、クリスタルLEDディスプレイ、LCDパネル等の表示パネルを用いることができる。なお、表示部351として、使用者がその指を表示面に接触または近接することにより操作入力を行うことが可能なタッチパネルを用いるようにしてもよい。
音声出力部352は、画像・音声展開部340により展開された音声データに基づく各種音声(表示部351に表示された画像に関する音声等)を出力する音声出力部(例えば、スピーカ)である。ここで、音声の出力方法としては、例えば、中央チャネル(メイン画像)に割り当てられたソース機器の音声のみをスピーカから再生して周辺チャネル(サブ画像)に割り当てられたソース機器の音声を再生しない方法を用いることができる。また、他の音声の出力方法として、例えば、中央チャネルに割り当てられたソース機器の音声の音量をメインにして、周辺チャネルに割り当てられたソース機器の音声の音量を下げて再生する方法を用いることができる。なお、これら以外の音声の出力方法を用いるようにしてもよい。
ユーザ情報取得部360は、ユーザに関する情報(ユーザ情報)を取得するものであり、その取得されたユーザ情報を制御部370に出力する。例えば、ユーザ情報取得部360は、ユーザが表示方法を直接設定することができる操作受付部(キーボード、マウス、リモコン、ゲームパッド、タッチパネル)からの入力を受け付けることによりユーザ情報を取得することができる。なお、操作受付部は、例えば、表示部351に表示される画像における任意の領域を指定するための操作部材である。また、例えば、ユーザ情報取得部360は、カメラ、マイク、各種センサ(例えば、ジャイロセンサ、人体を感知するセンサ)等のようにユーザの意図を把握することができるデバイスからの入力を受け付けることによりユーザ情報を取得することができる。
例えば、ユーザ情報取得部360は、無線通信を利用して他の情報処理装置(例えば、情報処理装置200)から受信したストリームに基づく情報が画像・音声出力部350から出力されている際におけるユーザ動作により生じるユーザ情報を取得する。このユーザ情報は、例えば、表示部351に表示されている画像に関するユーザ動作により生じるユーザ情報である。例えば、ユーザ情報は、表示部351に表示されている画像に関するユーザ操作に基づいて生成される情報である。
例えば、ユーザ情報取得部360は、撮像部361(図1に示す)により生成された画像データを取得してユーザ情報を生成することができる。また、例えば、ユーザ情報取得部360は、外部装置(例えば、各センサ、ウェアラブルデバイス)により取得される情報(例えば、位置情報、識別情報)を取得してユーザ情報を生成するようにしてもよい。
制御部370は、ストリーム受信部330により取得された各情報を管理情報保持部390に保持させ、管理情報保持部390に保持されている管理情報に基づいて各ソース機器を管理するものである。また、制御部370は、複数のソース機器から送信されるストリームをシステム全体で安定度が向上するようにストリームの伝送制御(例えば、データ伝送速度制御、スケーラビリティ伝送レート制御)を行う。
例えば、制御部370は、ユーザ情報取得部360により取得されたユーザ情報と、管理情報保持部390に保持されている管理情報とに基づいてストリームの伝送制御(例えば、データ伝送速度制御、スケーラビリティ伝送レート制御)を行う。具体的には、制御部370は、管理情報保持部390に保持されている管理情報に基づいて、ストリームの伝送制御(例えば、データ伝送速度制御、スケーラビリティ伝送レート制御)を行うための制御信号をソース機器毎に生成する。そして、制御部370は、その生成された制御信号を制御信号送信部380に出力する。例えば、制御部370は、ユーザ情報および管理情報に基づいて、表示部351に表示される画像の解像度を変更し、この解像度と同等の送信レートを各ソース機器に要求するための制御信号を生成する。また、例えば、制御部370は、ユーザ情報および管理情報に基づいて、表示部351における画像の表示領域を決定するための制御信号を生成する。また、例えば、制御部370は、ユーザ情報および管理情報に基づいて、表示部351における画像のサイズを決定するための制御信号を生成する。
また、制御部370は、ユーザ情報および管理情報に基づいて、使用する周波数チャネルと解像度を設定するための制御を行う。例えば、制御部370は、無線通信部320が備える複数の周波数チャネルについて、使用する周波数チャネルをソース機器毎に設定する。また、制御部370は、周波数チャネル毎に、消費電力モードが異なる場合には、それぞれのモードを把握し、モバイル機器の消費電力をケアした周波数チャネルを設定することができるようにする。すなわち、制御部370は、第1の周波数帯に関する第1の消費電力モードと、第1の周波数帯よりも高速なデータ伝送速度の第2の周波数帯に関する第2の消費電力モードを別々に設定することができる。
制御信号送信部380は、制御部370から出力された制御信号を無線通信部320、アンテナ310を介して、他の無線通信装置に送信する送信処理を行うものである。
管理情報保持部390は、無線通信を利用して情報処理装置300に接続される各ソース機器を管理するための情報(管理情報)を保持するテーブルである。なお、管理情報保持部390の保持内容については、図4を参照して詳細に説明する。
[管理情報保持部の保持内容例]
図4は、本技術の第1の実施の形態における管理情報保持部390の保持内容の一例を模式的に示す図である。
管理情報保持部390は、無線通信を利用して情報処理装置300に接続される各ソース機器を管理するための情報(管理情報)を保持するテーブルである。例えば、管理情報保持部390には、端末識別情報391と、周波数チャネル392と、電波伝搬測定情報393と、機器情報394と、帯域使用レベル395と、表示形態396と、スタンバイ/ウェークアップ397と、マルチ受信ダイバーシティ対応398とが関連付けて保持される。
端末識別情報391には、無線通信を利用して情報処理装置300に接続されるソース機器を識別するための識別情報が格納される。
周波数チャネル392には、無線通信を利用して情報処理装置300に接続されるソース機器が実際に使用している周波数チャネルが格納される。
電波伝搬測定情報393には、無線通信を利用して情報処理装置300に接続されるソース機器に関する電波伝搬測定情報が格納される。この電波伝搬測定情報は、無線通信を利用して情報処理装置300に接続されるソース機器毎にストリーム受信部330により測定される。
電波伝搬測定情報393として、例えば、PER(Packet Error Rate)、BER(Bit Error Rate)、パケットの再送回数、スループットが格納される。また、電波伝搬測定情報393として、例えば、フレーム落ち、SIR(Signal to Interference Ratio)、RSSI(Received Signal Strength Indicator)が格納される。ここで、SIRの代わりにSINR(Signal to Interference plus Noise Ratio)を用いてもよい。なお、図4に示す電波伝搬測定情報393は、一例であり、これらのうちの少なくとも1つを格納するようにしてもよく、他の電波伝搬測定情報をストリーム受信部330が測定して格納するようにしてもよい。また、ソース機器により測定された電波伝搬測定情報を取得して格納するようにしてもよい。さらに、受信側が受け取るパケット遅延を判断し、このパケット遅延に関する情報を電波伝搬測定情報として用いるようにしてもよい。このパケット遅延は、例えば、エラー発生時に、レイヤ2での再送処理によって受信側への伝送に遅延が発生されるため、電波伝搬に関する1つの指標となる。さらに、パケット遅延は、例えば、複数の装置で無線帯域を共有している無線システムでは、どこかのリンク特性が劣化しているかを示す指標となる。
機器情報394には、無線通信を利用して情報処理装置300に接続されるソース機器の種別(ソース機器の属性)が格納される。例えば、ソース機器の種別として、モバイル機器、または、据え置き機器の何れかが格納される。なお、ソース機器の種別として、電源を挿しながら使用する機器、または、それ以外の機器の何れかを格納するようにしてもよい。また、ソース機器の種別として、バッテリ駆動の機器、または、それ以外の機器の何れかを格納するようにしてもよい。
帯域使用レベル395には、無線通信を利用して情報処理装置300に接続されるソース機器による帯域の使用レベルが格納される。帯域使用レベルとしては、例えば、解像度やスループットを用いることができる。また、例えば、帯域使用レベルには、使用中のスループットを格納するようにしてもよく、予め決められたテーブルを用意し、そのテーブルのどの範囲に相当するかを示す番号を格納して管理するようにしてもよい。
表示形態396には、無線通信を利用して情報処理装置300に接続されるソース機器から送信されるストリームに基づくデータの表示形態(出力形態)が格納される。例えば、ソース機器から送信されるストリームに基づく画像データの表示部351における表示形態(メイン画像(中央チャネル)、サブ画像(周辺チャネル))が格納される。また、例えば、ソース機器から送信されるストリームに基づく音声データの音声出力部352からの出力形態(メイン音声、サブ音声)が格納される。なお、表示形態によって、周辺チャネルを表示しないという形式であってもよい。
スタンバイ/ウェークアップ397には、無線通信を利用して情報処理装置300に接続されるソース機器のモード(スタンバイモード、ウェークアップモード)が格納される。なお、スタンバイモードおよびウェークアップモードについては、図6乃至図8を参照して詳細に説明する。
マルチ受信ダイバーシティ対応398には、無線通信を利用して情報処理装置300に接続されるソース機器がマルチ受信ダイバーシティに対応しているか否かを示す情報が格納される。
このように、管理情報保持部390に保持される管理情報は、他の情報処理装置を識別するための識別情報(端末識別情報391)と、他の情報処理装置に関するCapability情報とを紐付けて管理する情報である。また、管理情報保持部390に保持される管理情報は、他の情報処理装置に関するCapability情報として、他の情報処理装置との通信に関する電波伝播測定に関する情報(電波伝搬測定情報393)と、消費電力に関する情報(スタンバイ/ウェークアップ397)とを少なくとも含む。また、管理情報保持部390に保持される管理情報は、他の情報処理装置に関するCapability情報として、画像情報を表示するための表示形態に関する情報(表示形態396)を少なくとも含む。この表示形態に関する情報は、例えば、画像情報をメイン表示またはサブ表示することを示す情報である。
[画像の遷移例]
図5は、本技術の第1の実施の形態における情報処理装置300の表示部351に表示される画像の遷移例を示す図である。
図5のaには、画像11を中央チャネルとし、画像12を周辺チャネルとして、情報処理装置300の表示部351に画像11および画像12を表示する表示形式の一例を示す。
図5のbには、画像11を周辺チャネルとし、画像12を中央チャネルとして、情報処理装置300の表示部351に画像11および画像12を表示する表示形式の一例を示す。
例えば、情報処理装置200および情報処理装置400のそれぞれが、標準的な解像度のストリーム(画像データおよび音声データ)を情報処理装置300に送信する場合を想定する。この場合には、図1に示すように、情報処理装置200からの画像データに基づく画像11と、情報処理装置400からの画像データに基づく画像12とのそれぞれのサイズが同一となるように、情報処理装置300の表示部351に表示することができる。なお、この例では、与えられた解像度と表示領域とを同一と定義しているが、表示部351にスケーラ機能を追加し、画像11、画像12をリスケールして表示部351に表示するようにしてもよい。ただし、本技術の実施の形態では、説明を簡略化させるため、この機能を使用しない前提で説明を行う。
また、画像11および画像12のそれぞれの表示形式については、例えば、前回の通信時に設定された表示形式を保持しておき、この表示形式に応じて画像11および12を情報処理装置300の表示部351に表示するようにしてもよい。
また、情報処理装置300に接続された順序に基づいて、画像11および画像12のそれぞれの表示形式を決定するようにしてもよい。例えば、情報処理装置200が情報処理装置300に最初に接続され、この接続後に情報処理装置400が情報処理装置300に接続された場合を想定する。この場合には、画像11を中央チャネルとし、画像12を周辺チャネルとして、情報処理装置300の表示部351に画像11および画像12を表示する。すなわち、情報処理装置300への接続順序に基づいて、中央チャネル、周辺チャネルの順に表示するようにしてもよい。
また、図5のaに示すように、画像11を中央チャネルとし、画像12を周辺チャネルとして、表示部351に画像11および画像12が表示されている場合に、画像12を中央チャネルとするユーザ情報がユーザ情報取得部360により取得された場合を想定する。例えば、視聴者がリモコンやジェスチャー等のポインターを用いて画像12を中央チャネルとするための操作を行うことにより、画像12を中央チャネルとするユーザ情報がユーザ情報取得部360により取得される。この場合には、図5のbに示すように、画像12を中央チャネルとし、画像11を周辺チャネルとして、表示部351に画像11および画像12が表示される。また、表示部351の表示面における画像11および画像12の表示位置についても、ユーザ情報取得部360により取得されるユーザ情報(例えば、手動操作、視線)に基づいて決定される。
[通信システム全体の通信例]
図6乃至図8は、本技術の第1の実施の形態における通信システム100を構成する各装置間における通信処理例を示すシーケンスチャートである。なお、図6乃至図8では、情報処理装置200および情報処理装置300間における通信処理例を示す。
また、図6乃至図8では、情報処理装置200を構成する各部のうち、画像・音声信号生成部250、画像・音声圧縮部260およびストリーム送信部270をデータ送信系201として示す。また、アンテナ210、無線通信部220、制御信号受信部230および制御部240を回線制御系202として示す。
また、図6乃至図8では、情報処理装置300を構成する各部のうち、アンテナ310、無線通信部320、ストリーム受信部330、制御部370および制御信号送信部380を回線制御系301として示す。また、画像・音声展開部340、画像・音声出力部350およびユーザ情報取得部360を入出力系302として示す。
また、図6乃至図8では、最初に、情報処理装置200からの画像データに基づく画像を、周辺チャネルとして情報処理装置300の表示部351に表示させ、情報処理装置200において低消費電力モードを設定する例を示す。続いて、情報処理装置200からの画像データに基づく画像を、中央チャネルとして表示部351に表示させ、情報処理装置200において通常の消費電力モードを設定する例を示す。すなわち、図6乃至図8では、情報処理装置200および情報処理装置300の接続セットアップ例と、情報処理装置200における消費電力モードの遷移例とを示す。
最初に、情報処理装置300の電源がオンされたときには、情報処理装置300の表示形態(画像表示形式、音声表示形態)として前回の表示形態(情報処理装置300の電源のオフ時の表示形態)が設定される(501)。また、情報処理装置300の制御部370は、無線通信を利用して情報処理装置300に接続されている各ソース機器の管理情報を管理情報保持部390(図4に示す)に保持させる。また、情報処理装置300の制御部370は、図5に示すように、前回の表示形態に基づいて、情報処理装置200および情報処理装置400のそれぞれから送信された2つのストリームに対応する画像11、12を表示部351に表示させる。
続いて、ユーザによる表示形態の設定操作(変更操作)が行われた場合を想定する(502)。この場合には、その設定操作に係る制御信号がユーザ情報としてユーザ情報取得部360に取得され、そのユーザ情報が制御部370に出力される。そして、制御部370は、そのユーザ情報に基づいて、管理情報保持部390(図4に示す)における保持内容を変更する(503、504)。例えば、図5のbに示すように、情報処理装置200からの画像データに基づく画像11を周辺チャネルとするための設定操作(変更操作)が行われた場合を想定する。この場合には、制御部370は、管理情報保持部390における情報処理装置200の表示形態396(図4に示す)を「サブ」に変更する(503、504)。
また、情報処理装置200は、定期的または不定期(開始時のみも含む)に、モードテーブル要求(解像度/音質、低消費電力モード等の問い合わせ要求)を情報処理装置300に送信する(505、506)。このモードテーブル要求は、情報処理装置300において管理されている各情報(情報処理装置300に関する管理情報で情報処理装置200との通信を行う上で使用する情報(例えば、情報処理装置200が表示可能な解像度情報))の送信を要求するものである。
モードテーブル要求を受信すると(506)、情報処理装置300は、そのモードテーブル要求に応じたコマンド情報を送信する(507、508)。このコマンド情報は、情報処理装置300が、電波伝搬環境と表示形態を加味して情報処理装置200に設定要望するための、情報処理装置200に関する情報である。
例えば、コマンド情報は、解像度/音質の表示形態情報(例えば、中央チャネル、周辺チャネル)、低消費電力モードへの対応可否、メーカ名、マルチ受信ダイバーシティ機能の有無を含む情報である。また、例えば、コマンド情報は、解像度/音質、画像・音声コーデックの種類、3D機能の有無、コンテンツプロテクションの有無、ディスプレイ機器の表示サイズ、トポロジ情報、使用可能なプロトコル、これらのプロトコルの設定情報(ポート情報等)、接続インターフェース情報(コネクタタイプ等)、水平同期・垂直同期の位置、ソース機器の性能プライオリティ要求情報、低消費電力モードへの対応可否等のモード制御テーブル返答、無線での送信最大スループットまたは受信可能な最大スループット、CPU(Central Processing Unit)パワー、電池残量、電源供給情報を含む情報である。また、これらの各情報はCapability情報の一部に含まれる。ここで、情報処理装置200に関する解像度/音質の表示形態情報は、例えば、情報処理装置200からのデータの表示形態が、メインであるかサブであるかを示す情報である。
また、情報処理装置300は、情報処理装置300の視点で、解像度/音質や低消費電力モードの設定に関する要望をパラメータとしてコマンド情報に含めて送信する。
なお、情報処理装置300は、情報処理装置200に関する各情報以外に、全てのソース機器に関する各情報を、コマンド情報として送信するようにしてもよい。この場合、情報処理装置200が自装置向けの情報のみを選択して使用する。なお、Wi−Fi CERTIFIED Miracast準拠の装置の場合、RTSP Messageとして定義されるwfd−audio−codecs、wfd−video−formats、wfd−content−protection、wfd−displayedid、wfd−coupledsink、wfd−client−rtpports、wfd−I2C、wfd−uibcCapability、wfd−connectortype、wfd−standby−resume−Capability等に対応するが、本コマンドにおいて、送信するメッセージ内容には限定はないものとする。
コマンド情報を受信した場合には(508)、情報処理装置200の制御部240は、コマンド情報に基づいて、情報処理装置200からのデータの表示形態がメインであるかサブであるかを特定する。また、情報処理装置200の制御部240は、コマンド情報に基づいて、消費電力動作モードに対応する機能を情報処理装置300が備えるか否かを判断する。続いて、情報処理装置200の制御部240は、その特定された表示形態に設定する旨を示すモード設定情報を情報処理装置300に送信する(509、510)。ここでは、情報処理装置200からのデータの表示形態がサブであることが特定されたものとする。また、低消費電力モードに対応する機能を情報処理装置300が備えるものとする。そこで、情報処理装置200の制御部240は、その特定された表示形態(サブ)に設定する旨と、低消費電力モードを設定する旨とを通知するためのモード設定情報を情報処理装置300に送信する(509、510)。
なお、この例では、コマンド情報に基づいて、中央チャネルであるか周辺チャネルであるかを特定して低消費電力モードを設定する例を示すが、中央チャネルであるか周辺チャネルであるかを判断基準として使用せずに低消費電力モードを設定するようにしてもよい。例えば、低消費電力モードに移行可能な許可フラグのやりとりをソース機器およびシンク機器間で行うことにより、低消費電力モードを設定するようにしてもよい。
続いて、情報処理装置200の制御部240は、送信モードとして低速画像音声送信モード(待機モード)(周辺チャネル)を設定する(511)。これにより、データ送信系201では、周辺チャネルを表示するための解像度と、サブ音声を出力するための音質とが設定される(512)。また、回線制御系202では、低消費電力モードが設定される(513)。
ここで、このように、低消費電力モードを設定する場合には、シンク機器およびソース機器の双方がその機能を備える必要があるものとする。また、例えば、モバイル機器(例えば、携帯電話、スマートフォン、タブレット端末)は、バッテリ駆動により動作を行うことが多い。このため、自装置からのデータの表示形態がメインでない場合(サブである場合)には、自装置のバッテリ消費を極力低減させることが好ましい。そこで、シンク機器における表示形態がサブに設定されているソース機器については、低消費電力モードを設定することが好ましい。さらに、設定処理(512)において、中央チャネルに割り当てられたソース機器の音声のみをスピーカから再生して周辺チャネルに割り当てられたソース機器の音声を再生しない設定をするようにしてもよい。また、中央チャネルに割り当てられたソース機器の音声の音量をメインとし、周辺チャネルに割り当てられたソース機器の音声の音量を下げて再生する設定をするようにしてもよい。
このように、情報処理装置300の制御部370は、表示形態が周辺チャネル(サブ表示)として設定されていた場合に、情報処理装置200に低消費電力モードを設定するための制御を行う。すなわち、情報処理装置300の制御部370は、ストリームに基づいて画像情報を出力する表示部351の表示形態に基づいて情報処理装置200における消費電力モードを設定する制御を行う。
このように、低消費電力モードが設定された場合には(513)、情報処理装置200の制御部240は、間欠送信を開始する(514乃至522)。
具体的には、情報処理装置200は、一定時間だけ送信処理を停止させ、各部をスリープさせる(514)。続いて、一定時間経過すると(514)、情報処理装置200は、
送信処理を行うため、情報処理装置200の各部をウェークアップ(WakeUp)させ、情報処理装置300へ送信処理を行う(515乃至520)。
例えば、情報処理装置200の制御部240は、情報処理装置300において何らかの変更(例えば、表示形態の変更)があるか否かを確認するための問合せメッセージを情報処理装置300に送信する(515、516)。
問合せメッセージを受信すると(516)、情報処理装置300の制御部370は、何らかの変更(例えば、表示形態の変更)があるか否かを通知するための応答メッセージを情報処理装置200に送信する(517、518)。ここでは、情報処理装置300において変更(例えば、表示形態の変更)がないものとする。このため、情報処理装置300の制御部370は、変更(例えば、表示形態の変更)がない旨を通知するための応答メッセージを情報処理装置200に送信する(517、518)。
このように、変更(例えば、表示形態の変更)がない旨の応答メッセージを受信した場合には(518)、情報処理装置200において設定の変更を行う必要がない。このため、情報処理装置200の制御部240は、周辺チャネルおよびサブ音声を出力するためのストリームを情報処理装置300に送信する(519、520)。このように、ストリームを受信すると(520)、情報処理装置300は、受信したストリームに基づく画像および音声を出力させる(521)。例えば、図5のbに示すように、情報処理装置200からのストリームに基づく画像11が周辺チャネルとして表示部351に表示される。
また、送信処理が終了すると(519)、情報処理装置200は、一定時間だけ送信処理を停止させ、各部をスリープさせる(522)。また、情報処理装置300からの変更要求があるまでの間、間欠送信が継続して行われる。
ここで、間欠送信では、情報処理装置200からストリームが送信されない期間が発生する。このため、情報処理装置300は、最後に情報処理装置200から受信したストリームに対応する画像を補間して表示するような表示処理を行うことが好ましい。しかしながら、情報処理装置300が補間処理機能を備えていないことも想定される。この場合には、スリープ期間中に、情報処理装置200からの画像を表示部351に表示させておくことができない。このため、情報処理装置300が補間処理機能を備えていない場合には、情報処理装置200からの画像データの送信を継続して行うようにしてもよい。例えば、情報処理装置200からの送信対象となるストリームのうち、送信停止時における最後の画像データを送信バッファに保持させる。そして、スリープ期間中には、情報処理装置200の画像処理を停止させるが、無線リンクについては送信処理を継続して行い、その送信バッファに保持されている画像データの送信を継続して行うようにする。
また、スリープ期間中には、情報処理装置400から送信されたストリームに対応する画像のみを表示部351に表示するようにしてもよい。例えば、情報処理装置400から送信されたストリームに対応する画像を表示部351の全面に表示することができる。
次に、ユーザによる表示形態の設定操作(変更操作)が行われた場合の例を示す。
ユーザによる表示形態の設定操作(変更操作)が行われた場合には(531)、上述したように、制御部370は、その設定操作に係るユーザ情報に基づいて、管理情報保持部390(図4に示す)における保持内容を変更する(532、533)。例えば、図5のaに示すように、情報処理装置200からの画像データに基づく画像11を中央チャネルとするための設定操作(変更操作)が行われた場合を想定する。この場合には、制御部370は、管理情報保持部390における情報処理装置200の表示形態396(図4に示す)を「メイン」に変更する(532、533)。
ここで、上述したように、情報処理装置200において低消費電力モードが設定されている場合には、情報処理装置200がスリープとなっていることが想定される。このように、情報処理装置200がスリープとなっている場合には、ユーザによる表示形態の設定操作(変更操作)が行われた旨を情報処理装置200に通知することができない。
そこで、ユーザによる表示形態の設定操作(変更操作)が行われ(531)、管理情報保持部390(図4に示す)における保持内容が変更された場合には(532、533)、情報処理装置300の制御部370は、変更トリガを設定する(534)。この変更トリガは、情報処理装置200から問合せメッセージを受信した場合に、ユーザによる表示形態の設定操作(変更操作)が行われた旨を情報処理装置200に通知するためのトリガである。この変更トリガにより、情報処理装置200がStandbyモードになっている状態を解除させ、ユーザによる表示形態の設定操作(変更操作)が行われた旨を情報処理装置200に通知する。
ここで、情報処理装置200の各部がウェークアップされ、情報処理装置300へ送信処理が開始された場合を想定する。この場合には、情報処理装置300の制御部370は、Standby解除メッセージを情報処理装置200に送信する(535、536)。
Standby解除メッセージを受信すると(536)、情報処理装置200の制御部240は、応答メッセージを情報処理装置300に送信する(537、538)。
このように、シンク機器からのStandbyモード解除要求により(535乃至538)、情報処理装置200において設定の状況を問い合わせる必要がある。このため、情報処理装置200の制御部240は、モードテーブル要求を情報処理装置300に送信する(539、540)。このモードテーブル要求は、上述したように、情報処理装置300において管理されている各情報(情報処理装置200に関する管理情報)の送信を要求するものである。なお、上述した各処理(535乃至538)において、変更(例えば、表示形態の変更)がある旨のやりとり(例えば、各処理(515乃至518)における問合せメッセージに対する応答メッセージ)をするようにしてもよい。
モードテーブル要求を受信すると(540)、情報処理装置300は、そのモードテーブル要求に応じたコマンド情報を送信する(541、542)。ここで、情報処理装置300から情報処理装置200にコマンド情報が既に送信されている場合には、情報処理装置200は、そのコマンド情報に含まれる情報については既に取得していることになる。このため、ここでは、情報処理装置300は、そのモードテーブル要求に応じたコマンド情報として、差分情報のみを送信するようにしてもよい(541、542)。この差分情報は、変更に係る情報であり、例えば、情報処理装置200に関する解像度/音質の表示形態情報である。
コマンド情報を受信した場合には(542)、情報処理装置200の制御部240は、コマンド情報に基づいて、情報処理装置200からのデータの表示形態がメインであるかサブであるかを特定する。続いて、情報処理装置200の制御部240は、その特定された表示形態に設定する旨を示すモード設定情報を情報処理装置300に送信する(543、544)。ここでは、情報処理装置200からのデータの表示形態がメインであることが特定されたものとする。そこで、情報処理装置200の制御部240は、その特定された表示形態(メイン)に設定する旨と、通常の消費電力モードを設定する旨とを通知するためのモード設定情報を情報処理装置300に送信する(543、544)。なお、各処理(539乃至544)は、Wi−Fi CERTIFIED Miracast準拠の装置の場合、Capability Re−negotiationで行うようにしてもよい。Capability Re−negotiationの場合、処理(534)で表示形態に変化がない設定値に関しては再度ネゴシエーションする必要はない。例えば、wfd−displayedid、wfd−client−rtpports、wfd−I2C、wfd−connectortype等が挙げられる。
続いて、情報処理装置200の制御部240は、送信モードとして高速画像音声送信モード(中央チャネル)を設定する(545)。これにより、データ送信系201では、中央チャネルを表示するための解像度と、メイン音声を出力するための音質とが設定される(546)。また、回線制御系202では、通常の消費電力モードが設定される(547)。
このように、通常の消費電力モードが設定された場合には(547)、情報処理装置200の制御部240は、通常の送信処理を開始する(548、549)。すなわち、情報処理装置200は、中央チャネルおよびメイン音声を出力するためのストリームを情報処理装置300に送信する(548、549)。このように、ストリームを受信すると(549)、情報処理装置300は、受信したストリームに基づく画像および音声を出力させる(550)。例えば、図5のaに示すように、情報処理装置200からのストリームに基づく画像11が中央チャネルとして表示部351に表示される。
なお、この例では、情報処理装置300の電源がオンされた場合において、表示部351の表示形式は、前回の表示形態(情報処理装置300の電源のオフ時の表示形態)を設定する例を示した。ただし、情報処理装置300の電源がオンされた場合には、他の表示形態を設定するようにしてもよい。例えば、情報処理装置300の電源がオンされた場合には、デフォルトの表示形態を常に設定するようにしてもよい。または、情報処理装置300に接続された順序に基づいて、表示形式を決定するようにしてもよい。
なお、図6乃至図8では、情報処理装置200が、情報処理装置300の設定情報を問い合わせて、受信したパラメータ情報を元に、送信パラメータを設定する例を示した。ただし、情報処理装置200が設定したいパラメータを情報処理装置300へ設定依頼し、情報処理装置300が問題ない旨の応答を受信した時点で設定するようにしてもよい。この例を、図9および図10に示す。
[通信例]
図9乃至図11は、本技術の第1の実施の形態における通信システム100を構成する各装置間における通信処理例を示すシーケンスチャートである。なお、図9および図10は、図6乃至図8に示す通信処理例の一部を変形したものである。このため、図9および図10では、図6乃至図8に示す通信処理例と共通する部分については、同一の符号を付して、これらの説明の一部を省略する。また、図11は、図9に示す通信処理例の一部を変形したものである。このため、図11では、図9に示す通信処理例と共通する部分については、同一の符号を付して、これらの説明の一部を省略する。
図9に示す各処理(561乃至564)は、図6に示す各処理(501乃至504)に対応する。
続いて、情報処理装置300の制御部370は、ユーザにより設定された表示形態を通知するためのモードステータス通知を情報処理装置200に送信する(565、566)。このモードステータス通知は、ユーザにより設定された表示形態(例えば、メインであるかサブであるか)とともに、情報処理装置200が設定可能な解像度/音質、画像・音声コーデックの種類、3D機能の有無、コンテンツプロテクションの有無、ディスプレイ機器の表示サイズ、トポロジ情報、使用可能なプロトコル、これらのプロトコルの設定情報(ポート情報等)、接続インターフェース情報(コネクタタイプ等)、水平同期・垂直同期の位置、ソース機器の性能プライオリティ要求情報、低消費電力モードへの対応可否等のモード制御テーブル返答、無線での送信最大スループットまたは受信可能な最大スループット、CPUパワー、電池残量、電源供給情報等を通知するための情報である。
このように、情報処理装置300においてユーザによる表示形態の設定操作が行われた直後に、その設定操作に係る表示形態を通知するためのモードステータス通知を情報処理装置200に送信することができる。このため、無線通信を利用して接続されている情報処理装置200および情報処理装置300間における設定時間(変更時間)を短縮させることができる。
モードステータス通知を受信すると(566)、情報処理装置200の制御部240は、受信したモードステータス通知により特定されるステータスパラメータと、自装置のステータスパラメータとを比較する。続いて、情報処理装置200の制御部240は、その比較結果に基づいて、設定内容(例えば、解像度/音声、消費電力モード)を決定する。続いて、情報処理装置200の制御部240は、その決定された設定内容(例えば、解像度/音声、消費電力モード)を通知するためのモード設定要求を情報処理装置300に送信する(567、568)。
モード設定要求を受信すると(568)、情報処理装置300の制御部370は、受信したモード設定要求により特定される設定内容(例えば、解像度/音声、消費電力モード)を許可するか否かを判断する。そして、情報処理装置300の制御部370は、その判断結果を通知するためのモード設定可否コマンドを情報処理装置200に送信する(569、570)。
モード設定可否コマンドを受信すると(570)、情報処理装置200の制御部240は、モード設定可否コマンドの内容を確認する。例えば、情報処理装置200が送信したモード設定要求に係る設定内容を許可する旨のモード設定可否コマンドを受信した場合には、情報処理装置200の制御部240は、送信モードとして低速画像音声送信モード(周辺チャネル)を設定する(571)。なお、図9に示す各処理(571乃至574)は、図6に示す各処理(511乃至514)に対応する。また、図10に示す各処理(575乃至578)は、図7に示す各処理(519乃至522)に対応する。
なお、情報処理装置200が送信したモード設定要求に係る設定内容を許可しない旨のモード設定可否コマンドを受信した場合には、情報処理装置200の制御部240は、新たに設定内容(例えば、解像度/音声、消費電力モード)を決定する。そして、情報処理装置200の制御部240は、その新たに決定された設定内容(例えば、解像度/音声、消費電力モード)を通知するためのモード設定要求を情報処理装置300に送信する。
図10に示す各処理(581乃至583)は、図7に示す各処理(531乃至533)に対応する。
続いて、情報処理装置300の制御部370は、ユーザにより変更された表示形態を通知するためのモードステータス変更通知を情報処理装置200に送信する(584、585)。このモードステータス変更通知は、ユーザにより変更された表示形態(例えば、メインであるかサブであるか)とともに、情報処理装置200が設定可能な解像度/音質、低消費電力モードへの対応可否等を通知するための情報である。
モードステータス変更通知を受信すると(585)、情報処理装置200の制御部240は、設定内容(例えば、解像度/音声、消費電力モード)を決定する。この設定内容の決定処理については、上述した決定処理と同様である。続いて、情報処理装置200の制御部240は、その決定された設定内容(例えば、解像度/音声、消費電力モード)を通知するためのモード変更要求を情報処理装置300に送信する(586、587)。
モード変更要求を受信すると(587)、情報処理装置300の制御部370は、受信したモード変更要求により特定される設定内容(例えば、解像度/音声、消費電力モード)を許可するか否かを判断する。そして、情報処理装置300の制御部370は、その判断結果を通知するためのモード設定可否コマンドを情報処理装置200に送信する(588、589)。
モード設定可否コマンドを受信すると(589)、情報処理装置200の制御部240は、モード設定可否コマンドの内容を確認し、送信モードを設定する(590)。なお、この確認処理については、上述した確認処理と同様である。また、図10に示す各処理(590乃至595)は、図8に示す各処理(545乃至550)に対応する。
ここで、ソース機器は、周辺チャネルおよび中央チャネルの切り替えを行った場合に、その切り替わりのタイミングを示す情報(例えば、GOP(Group of Picture)の先頭を把握する情報やPicture先頭を把握する情報)をストリームに含めて送信するようにしてもよい。言い換えると、ソース機器は、メイン表示およびサブ表示の切換を行う場合に、その切り替わりのタイミングを示す情報をシンク機器に送信するようにしてもよい。この場合には、そのストリームを受信したシンク機器は、そのタイミングを示す情報に基づいて、周辺チャネルおよび中央チャネルの切り替えを適切なタイミングで切り替えることができる。
ここで、図6乃至図10では、シンク機器に接続されているソース機器のスタンバイ・ウエークアップを制御する例を示している。ただし、シンク機器に接続されているソース機器のスタンバイ・ウェークアップに基づいて、シンク機器のスタンバイ・ウェークアップを制御するようにしてもよい。例えば、シンク機器に接続されている全てのソース機器がスタンバイとなった場合にシンク機器をスタンバイとするように制御することができる。また、シンク機器に接続されているソース機器のうちの少なくとも1つがウェークアップである場合には、シンク機器をウェークアップとするように制御することができる。
また、図9に示す各処理(565乃至570)において、処理(564)で保持された保持内容が変更されたことをシンク機器からソース機器へ通知し、ソース機器からモードテーブル要求を送信する場合の変形例を図11に示す。
図11に示すように、情報処理装置300は、表示形態が変更したこと(564)を情報処理装置200に通知するとともに、情報処理装置200からモード設定要求の送信を促すため、モードステータス通知を送信する(565、566)。このモードステータス通知を受信した情報処理装置200は、対応が可能な場合には、モードステータス通知を承認する旨を示すモードステータス通知承認を情報処理装置300に送信する(851、852)。
このように、モードステータス通知承認が送信された後に(851)、各処理が行われる(853乃至858)。なお、この各処理(853乃至858)は、図6に示す各処理(505乃至510)に対応する。このように、モードステータス通知承認が送信された後に(851)、各処理(853乃至858)を行うことにより、状態変化(表示形態の変更(564))に対して、ストリームの伝送制御(例えば、データ伝送速度制御、スケーラビリティ伝送レート制御)を適切に行うことができる。
ここで、例えば、Wi−Fi CERTIFIED Miracastで用意されているコマンドにおいて、wfd−triggered−methodを含むRTSPM5 Messageは、現状、情報処理装置200が情報処理装置300へ送信するコマンドとして定義されている。ただし、wfd−triggered−methodを含むRTSPM5 Messageが、情報処理装置300が情報処理装置200へ送信するコマンドとして拡張できた場合、wfd−triggered−methodを含むRTSPM5 Messageを情報処理装置200が受信し、情報処理装置200は情報処理装置300との間で、Capability Re−negotiationを開始することができる。すなわち、wfd−triggered−methodを含むRTSPM5 Messageを用いて管理情報の交換を行うことができる。例えば、情報処理装置300の制御部370は、Wi−Fi CERTIFIED Miracast仕様に定められるwfd−triggered−methodを含むRTSPM5 Messageを、管理情報が変更された場合にその変更を情報処理装置200に通知するためのコマンドとして情報処理装置200に送信する制御を行うことができる。また、これらのコマンド以外に新規にコマンドを定義し、同等のことができるようにしてもよい。
[情報処理装置(ソース機器)の動作例]
図12は、本技術の第1の実施の形態における情報処理装置200によるデータ送信処理の処理手順の一例を示すフローチャートである。図12では、最初に、情報処理装置200が、標準的な解像度のストリーム(画像データおよび音声データ)を情報処理装置300に送信している場合の例を示す。この場合には、情報処理装置300には、そのストリームに基づく出力が行われているものとする。
最初に、制御部240は、モードテーブル要求を情報処理装置300に送信する(ステップS1001)。続いて、制御部240は、コマンド情報を情報処理装置300から受信したか否かを判断し(ステップS1002)、コマンド情報を受信していない場合には、監視を継続して行う。なお、ある一定時間待機しても、コマンド情報を受信できない場合にはタイムアウトし、処理を終了してもよい。例えば、Wi−Fi CERTIFIED Miracastでは、状況に応じて5秒から9秒のタイムアウト時間を設定している。
コマンド情報を情報処理装置300から受信した場合には(ステップS1002)、制御部240は、受信したコマンド情報に基づいてモードを設定する旨を示すモード設定情報を情報処理装置300に送信する(ステップS1003)。
続いて、制御部240は、受信したコマンド情報に基づいてモードを設定する(ステップS1004)。また、制御部240は、解像度を向上するための変更要求がコマンド情報に含まれている場合には、その変更要求に応じて、画像および音声の解像度を設定する。また、制御部240は、解像度を低下するための変更要求がコマンド情報に含まれている場合には、その変更要求に応じて、画像の解像度および音声の音質を設定する。
続いて、制御部240は、その設定に応じてストリームを情報処理装置300に送信する送信処理を行う(ステップS1005)。
続いて、制御部240は、低消費電力モードが設定されているか否かを判断し(ステップS1006)、低消費電力モードが設定されていない場合(すなわち、通常の消費電力モードが設定されている場合)には、ステップS1011に進む。一方、低消費電力モードが設定されている場合には(ステップS1006)、制御部240は、一定時間スリープとする(ステップS1007)。
続いて、制御部240は、問合せメッセージを情報処理装置300に送信する(ステップS1008)。続いて、制御部240は、応答メッセージを情報処理装置300から受信したか否かを判断し(ステップS1009)、応答メッセージを受信していない場合には、監視を継続して行う。ある一定時間待機しても、応答メッセージを受信できない場合にはタイムアウトし、処理を終了してもよい。例えば、Wi−Fi CERTIFIED Miracastでは、状況に応じて5秒から9秒のタイムアウト時間を設定している。
応答メッセージを情報処理装置300から受信した場合には(ステップS1009)、制御部240は、その応答メッセージに変更要求が含まれているか否かを判断する(ステップS1010)。そして、その応答メッセージに変更要求が含まれている場合には(ステップS1010)、ステップS1001に戻る。
その応答メッセージに変更要求が含まれていない場合には(ステップS1010)、制御部240は、変更要求を受信したか否かを判断する(ステップS1011)。そして、変更要求を受信した場合には(ステップS1011)、ステップS1001に戻る。一方、変更要求を受信していない場合には(ステップS1011)、制御部240は、送信停止操作が行われたか否かを判断する(ステップS1012)。そして、送信停止操作が行われた場合には(ステップS1012)、データ送信処理の動作を終了する。一方、送信停止操作が行われていない場合には(ステップS1012)、ステップS1005に戻る。
[情報処理装置(シンク機器)の動作例]
図13は、本技術の第1の実施の形態における情報処理装置300によるデータ伝送速度制御処理の処理手順の一例を示すフローチャートである。図13では、情報処理装置300が、ストリーム(画像データおよび音声データ)を受信している場合に、ソース機器に関する設定内容(例えば、解像度、消費電力モード)を決定する例を示す。
例えば、情報処理装置300の制御部370は、中央チャネルとするためのユーザ情報や、情報処理装置300および各ソース機器間のリンク電波伝搬環境に応じて、使用する解像度や使用する周波数チャネルを決定することができる。
例えば、図5のaに示す状態で画像12を選択するためのユーザ操作が行われた場合を想定する。この場合には、画像12に関する解像度をアップさせ、画像11の解像度をダウンさせることが好ましい。また、時間の経過に応じて、各ソース機器のリンク電波伝搬環境に基づいて、画像11および画像12にとっての最適な解像度が選択することが好ましい。
例えば、情報処理装置300は、複数の周波数チャネルに、該当するスループットに相当するデータを流してみて、電波伝搬特性を把握することができる。また、例えば、情報処理装置300は、複数の周波数チャネル毎に理想的なスループットを把握するテーブルを保持しておく。そして、情報処理装置300は、同時に使用しているソース機器の数とPERとに基づいて、使用する周波数チャネルの利用可能データ伝送速度を把握し、周波数チャネル毎に最適な周波数チャネルを選択するようにしてもよい。
例えば、制御部370は、管理情報保持部390から管理情報を取得し、ユーザ情報取得部360からユーザ情報を取得する(ステップS1021)。続いて、制御部370は、取得された管理情報およびユーザ情報に基づいて、表示形態を決定する(ステップS1022)。この決定された表示形態に基づいて、複数のソース機器のそれぞれから送信された2つのストリームに対応する画像が表示部351に表示される。
続いて、制御部370は、管理情報に含まれるPERが閾値以下となるソース機器が存在するか否かを判断する(ステップS1023)。管理情報に含まれるPERが閾値以下となるソース機器が存在する場合には(ステップS1023)、制御部370は、そのソース機器の解像度を向上するための変更要求を決定する(ステップS1024)。なお、ユーザ情報に基づく表示形態によって、中央チャネルに多くのデータ伝送速度を割り振る制御を制御部370が行う。この変更要求は、例えば、コマンド情報(例えば、図6に示すコマンド情報)に含めてそのソース機器に送信される。なお、そのソース機器の解像度を向上させた後のスループットが閾値以内であるか否かを判断し、この判断結果に基づいて、ストリームのレートを制御するようにしてもよい。
管理情報に含まれるPERが閾値以下となるソース機器が存在しない場合には(ステップS1023)、制御部370は、管理情報に基づいて、各ソース機器のスループットが閾値以下であるか否かを判断する(ステップS1025)。すなわち、各リンクのスループットが現在の周波数チャネルでも問題ないか否かが判断される(ステップS1025)。
各ソース機器のスループットが閾値以下でない場合には(ステップS1025)、ステップS1021に戻る。一方、各ソース機器のスループットが閾値以下である場合には(ステップS1025)、制御部370は、管理情報に基づいて、低消費電力モードに対応するソース機器が存在するか否かを判断する(ステップS1026)。
低消費電力モードに対応するソース機器が存在する場合には(ステップS1026)、制御部370は、その低消費電力モードに対応するソース機器について低消費電力モードを設定するための変更要求を決定する(ステップS1028)。この変更要求は、例えば、コマンド情報(例えば、図6に示すコマンド情報)に含めてそのソース機器に送信される。
低消費電力モードに対応するソース機器が存在しない場合には(ステップS1026)、制御部370は、そのソース機器(PERが閾値以下となるソース機器)の解像度を低下するための変更要求を決定する(ステップS1027)。この変更要求は、例えば、コマンド情報(例えば、図6に示すコマンド情報)に含めてそのソース機器に送信される。
また、受信停止操作が行われたか否かが判断され(ステップS1029)、受信停止操作が行われた場合には、データ伝送速度制御処理の動作を終了し、受信停止操作が行われていない場合には、ステップS1021に戻る。なお、低消費電力モードの設定によりスリープ状態となっているソース機器が存在する場合には、情報処理装置300に接続するソース機器の数が減る。この場合には、ステップS1025におけるスループット閾値を変更するようにしてもよい。また、このようにスループット閾値を変更した後に、ステップS1025に相当するステップをさらに実行するようにしてもよい。
このように、シンク機器が回線環境を一定時間トレーニングし、安定的な映像通信が行える解像度をソース機器に通知する制御プロトコルを実現することができる。なお、ソース機器が回線環境を一定時間トレーニングし、安定的な映像通信が行える解像度を要求し、シンク機器が応答する制御プロトコルとするようにしてもよい。
このように、情報処理装置300の制御部370は、管理情報保持部390の管理情報とユーザ情報取得部360により取得されたユーザ情報とに基づいて、各ソース機器のそれぞれから送信された2つのストリームの伝送制御(例えば、データ伝送速度制御、スケーラビリティ伝送レート制御)を行うことができる。
なお、情報処理装置200および情報処理装置400のそれぞれから送信された2つのストリームの合計データ伝送速度を最小にするように制御を行うようにしてもよい。例えば、その合計データ伝送速度の最大許容値を受信側の情報処理装置300の制御部370に設定する。そして、制御部370は、ビットレートを低下するための変更要求を情報処理装置200に送信した後に、情報処理装置200および400のそれぞれから送信された2つのストリームのビットレートをストリーム受信部330から取得する。続いて、制御部370は、取得された2つのストリームの合計データ伝送速度を計算する。続いて、制御部370は、設定された最大許容値を超えない範囲で、情報処理装置400から送信されるストリームのビットレートを決定し、このビットレートに向上させるための変更要求を情報処理装置400に送信する。なお、最低ビットレートに設定してもPERが大きく同一周波数チャネルに収容できない場合には、別の周波数チャネルを用いてもよい。また、画像(中央チャネル、周辺チャネル)が一定時間以上、止まっている場合には、ユーザからの操作(例えば、ポインティング)が発生しない限り、画像データを停止させておくようにしてもよい。
このように、本技術の第1の実施の形態によれば、複数のソース機器から送信された複数のストリームを1つのシンク機器で受信する場合でも、ユーザの操作・状況・意図に応じた適切なストリームの伝送制御(例えば、データ伝送速度制御)を行うことができる。例えば、ユーザの操作・状況・意図に応じて、複数の画像・音声ストリームのうち一部のデータ伝送速度を減らし、残りのストリームのデータ伝送速度を増加させることができる。
また、例えば、シンク機器が複数のストリームを受信して表示しているような場合には、その時々に応じてユーザが設定したとおりに、重要な画像・音声を高品質で楽しむことができる。また、そうでない画像・音声については、そのデータ伝送速度を自動的に最適な周波数チャネル、消費電力、伝送レートに調節することができる。
ここで、管理情報保持部390に保持される管理情報について、例えば、管理情報の交換は、Wi−Fi CERTIFIED Miracastで用意されているコマンドを用いることもできる。この場合、Wi−Fi Display仕様で定められるCapability negotiationまたはCapability re−negotiationで行うことができる。ここで、Capability negotiationまたはCapability re−negotiationとして、例えば、RFC5939やWi−Fi CERTIFIED Miracast仕様が挙げられる。ただし、Capability negotiationまたはCapability re−negotiationは、これらに限定されるものではなく、装置性能情報のやりとりと定義する。このWi−Fi CERTIFIED Miracast仕様コマンドを用いたやりとりの通信例を図14乃至図16に示す。
[Wi−Fi CERTIFIED Miracast仕様コマンドを用いたやりとりの通信例]
図14乃至図16は、本技術の第1の実施の形態におけるソース機器およびシンク機器間における通信処理例を示すシーケンスチャートである。図14乃至図16では、RTSPプロトコルを用いたやりとりの通信例を示す。なお、ソース機器820は、情報処理装置200、400に対応し、シンク機器830は、情報処理装置300に対応する。
最初に、図14を参照して説明する。例えば、図14の点線の矩形840内に示すように、ソース機器からシンク機器に送信される「RTSP M3 Request」(RTSP GET_PARAMETER Request)メッセージと、これに応答してシンク機器からソース機器に送信される「RTSP M3 Response」(RTSP GET_PARAMETER Response)メッセージとを用いることができる。この交換処理は、例えば、図6に示す処理(505乃至508)、図8に示す処理(539乃至542)に対応する。一方、ソース機器からシンク機器に適宜送信するようにしてもよい。例えば、「RTSP M3 Request」(RTSP GET_PARAMETER Request)メッセージと、「RTSP M3 Response」(RTSP GET_PARAMETER Response)メッセージとのやりとりを省略し、ソース機器からシンク機器に送信されるメッセージに管理情報を含めて、ソース機器からシンク機器に管理情報を送信し、シンク機器が情報を選択して管理情報保持部390に保持するようにしてもよい。例えば、コンテンツプロテクション設定を行う場合、M3 Response後にリンクプロテクションセットアップを行う。このため、M4以上のメッセージのみを行うことで、一度設定されたリンクの秘話性を確保したまま、通信を行えることが望まれることもある。
また、消費電力モードに関する情報のやりとりについては、RTSPプロトコルを用いた所定のメッセージで行うことができる。例えば、以下の(1)乃至(3)の3種類の管理情報の交換を行うことができる。
(1)"Standbyモードへの設定"
(2)"ソース機器がStanbyモードを解除する場合またはソース機器がシンク機器のStandbyモードを解除する場合"
(3)"シンク機器がStandbyモードを解除する場合またはシンク機器がソース機器のStandbyモードを解除する場合"
最初に、図15を参照して説明する。例えば、Wi−Fi CERTIFIED Miracastで用意されているコマンドを用いる場合、上述した(1)"Standbyモードへの設定"のやりとりでは、ソース機器820からシンク機器830に送信される「RTSP M12 Request」(RTSP SET_PARAMETER(with WFD−standby))メッセージと、これに応答してシンク機器830からソース機器820に送信される「RTSP M12 Response」(RTSP OK)メッセージとを用いることができる。一方、シンク機器830からソース機器820へのStanbyモードへの設定も同様である。
次に、図16を参照して説明する。例えば、上述した(2)"ソース機器がStanbyモードを解除する場合またはソース機器がシンク機器のStandbyモードを解除する場合"、ソース機器820は、シンク機器830に送信される「RTSP M5 Request」(RTSP SET_PARAMETER(Request(wfd−trigger−method:PLAY))メッセージと、これに応答してシンク機器830からソース機器820に送信される「RTSP M5 Response」(RTSP OK)メッセージとをやりとりする。シンク機器830は、ソース機器820に送信される「RTSP M7 Request」(RTSP PLAY Request)メッセージと、これに応答してソース機器820からシンク機器830に送信される「RTSP M7 Response」(RTSP OK)メッセージとを用いることができる。
また、例えば、上述した(3)"シンク機器がStandbyモードを解除する場合またはシンク機器がソース機器のStandbyモードを解除する場合"のやり取りの場合、シンク機器830は、ソース機器820に送信される「RTSP M7 Request」(RTSP PLAY Request)メッセージと、これに応答してソース機器820からシンク機器830に送信される「RTSP M7 Response」(RTSP OK)メッセージとを用いることができる。これらのやり取りは、例えば、図7に示す処理(515乃至518)、図7に示す処理(535乃至538)に対応する。
また、例えば、図9に示す処理(565乃至570)のやりとりは、シンク機器830からソース機器820に送信される「RTSP M12 Request」(RTSP SET_PARAMETER(with WFD−standby))メッセージと、これに応答してソース機器820からシンク機器830に送信される「RTSP M12 Response」(RTSP OK)メッセージとを用いることができる。
さらに、例えば、図10に示す処理(584乃至589)のやりとりは、シンク機器830からソース機器820に送信される「RTSP M7 Request」(RTSP PLAY Request)メッセージと、これに応答してソース機器820からシンク機器830に送信される「RTSP M7 Response」(RTSP OK)メッセージとを用いてもよい。
このように、無線通信部320は、Capability情報の交換を、Wi−Fi Display仕様に定められるCapability negotiationまたはCapability re−negotiationで行うことができる。また、Capability情報は、例えば、Capability negotiationまたはCapability re−negotiationにおけるRTSP M3 Messageにおいて交換される。
このように、例えば、情報処理装置300の無線通信部320は、情報処理装置300に関するCapability情報と、情報処理装置200に関するCapability情報とを交換するための通信をソース機器との間で行う。また、情報処理装置200の無線通信部220は、情報処理装置200に関するCapability情報と、情報処理装置300に関するCapability情報とを交換するための通信を情報処理装置300との間で行う。これらの場合に、無線通信部220、320は、Capability情報の交換をCapability negotiationまたはCapability re−negotiationで行うことができる。
また、情報処理装置300の制御部370は、情報処理装置200に関するCapability情報と、情報処理装置200との通信に関する電波伝搬測定情報と、情報処理装置300の使われ方とに基づいて情報処理装置200とのストリームの伝送制御(例えば、データ伝送速度制御、スケーラビリティ伝送レート制御)を行う。また、本技術の実施の形態とストリーム伝送の方法は異なるが、情報処理装置200の制御部240は、情報処理装置200に関するCapability情報と、情報処理装置300とのストリームの通信に関する電波伝搬測定情報とに基づく情報処理装置300からの制御に基づいて情報処理装置300とのストリームの伝送制御(例えば、データ伝送速度制御、スケーラビリティ伝送レート制御)を行うこともできる。
また、情報処理装置300の制御部370は、情報処理装置200に関するCapability情報(例えば、モバイル機器であるか否かを示す情報)に基づいて情報処理装置200における消費電力モードを設定する制御を行う。この場合に、制御部370は、情報処理装置200に関するCapability情報と、情報処理装置200を管理するための管理情報とに基づいて情報処理装置200に低消費電力モードを設定する制御を行うことができる。また、情報処理装置200の制御部240は、情報処理装置200に関するCapability情報に基づく情報処理装置300からの制御に基づいて消費電力モードを設定する。なお、本技術の実施の形態ではソース機器を2台にしたトポロジでの一例を説明したが、本技術は本技術の実施の形態に限定されない。例えば、2台以上であれば、台数分のデータ伝送速度制御を行う必要があり、状態遷移が多いため、制御が難しくなるが、有益である。2台以上のソース機器が接続するトポロジでも対応することができる。
<2.第2の実施の形態>
本技術の第2の実施の形態では、アクセスポイントを経由したソース機器およびシンク機器間の接続と、ソース機器およびシンク機器間のダイレクト接続とを切り替える(または同時に接続する)例を示す。
[通信システムの構成例]
図17は、本技術の第2の実施の形態における通信システム700のシステム構成例を示す図である。
通信システム700は、アクセスポイント701と、ネットワーク702と、情報処理装置703、704、710、720、730と、表示装置731と、制御装置740とを備える。
アクセスポイント701は、無線LAN(例えば、Wi−Fi)のアクセスポイント(Access Point)である。例えば、アクセスポイント701は、IEEE802.11規格のInfrastructureモードの機能を有する。そして、アクセスポイント701は、1または複数の情報処理装置(例えば、送信側の情報処理装置(ソース機器)、受信側の情報処理装置(シンク機器))に接続される。
また、アクセスポイント701は、有線回線(例えば、Ethernet(登録商標))を経由して情報処理装置730と接続することができる。例えば、アクセスポイント701は、ネットワーク702を経由して情報処理装置730と接続することができる。また、アクセスポイント701は、情報処理装置730の内部バスと接続して処理を行うようにしてもよい。情報処理装置730の内部バスは、例えば、USB(Universal Serial Bus)、PCI(Peripheral Components Interconnect)、PCI Expressである。さらに、アクセスポイント701と情報処理装置730との接続は有線でなく、無線接続(例えば、無線LAN)とするようにしてもよい。例えば、無線LANの場合、ネットワーク702は情報処理装置730に接続し、情報処理装置730は、アクセスポイント701との送受信処理か、情報処理装置710との送受信処理かを判断する必要がある。
本技術の第2の実施の形態では、アクセスポイント701と情報処理装置703、704、710、720とは、無線LAN(例えば、IEEE802.11a/b/g/n/ac/adに相当する無線LAN)を用いて接続する例を示す。また、アクセスポイント701と情報処理装置730とは、Ethernet回線で接続する例を示す。
また、情報処理装置703、704、710、720を送信側の情報処理装置(ソース機器)とし、情報処理装置730を受信側の情報処理装置(シンク機器)とする例を示す。また、情報処理装置703、704、710、720は、図2に示す情報処理装置200に対応し、情報処理装置730は、図3に示す情報処理装置300に対応するものとする。なお、以下では、ソース機器として、主に、情報処理装置710について説明するが、情報処理装置703、704、720についても同様であるものとする。
情報処理装置710は、画像を送信する送信側の情報処理装置(ソース機器)である。また、情報処理装置710は、Infrastructureモードで、アクセスポイント701との接続が可能な情報処理装置である。
ここで、Infrastructureモードで、情報処理装置710がアクセスポイント701との接続を行う接続例について説明する。情報処理装置710は、アクセスポイント701から送信されるビーコン信号に対して、接続要求信号をアクセスポイント701に送信する。このように、情報処理装置710は、接続要求信号を送信することにより、アクセスポイント701との接続を確立するための動作(接続確立動作)を開始する。
この接続確立動作は、レイヤ2のレベルを繋げるための動作である。例えば、無線LANで行われているPID(Packet Identification)によるパスワード認証の他に、情報処理装置710をアプリケーションとして接続するか否かを判断する接続認証処理も必要になる。
また、情報処理装置710は、情報処理装置730とP2Pダイレクト通信(例えば、WiFi Direct)により接続することができる。例えば、情報処理装置710は、情報処理装置730とWiFi Directにより接続し、Wi−Fi CERTIFIED MiracastやDLNA(Digital Living Network Alliance)等の画像音声(映像音声)伝送を可能にするプロトコルを有する。
また、情報処理装置710は、アクセスポイント701と接続して、アクセスポイント701を経由して情報処理装置730との間で、各種情報のやりとりのみを行う低速画像音声送信装置(待機装置)とするようにしてもよい。なお、情報処理装置710を低速画像音声送信装置としてのみ使用する場合には、情報処理装置710は、高速画像音声送信を可能にするプロトコルを有していなくてもよい。
情報処理装置730は、アクセスポイント701、情報処理装置703、704、710、720、制御装置740と接続するための通信機能を備える。また、情報処理装置730は、アクセスポイント701、情報処理装置703、704、710、720、制御装置740と接続して全体のプロトコルを制御する機能を備える。また、情報処理装置730は、構内LANやグローバルLANと接続するための通信機能を備える。
ここで、情報処理装置730と、情報処理装置703、704、710、720との接続を安定させることが重要である。このため、アクセスポイント701が使用している無線周波数と効率良く共存する必要がある。そこで、例えば、伝送速度を振り分けて、情報処理装置730と、情報処理装置703、704、710、720との接続に用いることが好ましい。または、異なる周波数を、情報処理装置730と、情報処理装置703、704、710、720との接続に用いることが好ましい。なお、本技術の第2の実施の形態では、IEEE802.11a/b/g/n/ac/ad等の2.4GHz帯、5GHz帯、60GHz等の周波数帯を使用する例を示す。ただし、他の無線規格、周波数帯を使用するようにしてもよく、または、同じ周波帯をシェアしてもよい。
また、情報処理装置730は、画像を表示させる表示機能を備える。この表示機能は、TV(テレビジョン)やプロジェクタ等の画面表示を行う機能である。情報処理装置730は、情報処理装置730が備える表示部に画像を表示させるようにしてもよく、外部の表示装置に画像を表示させるようにしてもよい。なお、本技術の第2の実施の形態では、情報処理装置730とは別体型の表示装置731を設ける例を示す。
このように、情報処理装置730とは別体型の表示装置731を設ける場合には、情報処理装置730および表示装置731間を、有線接続または無線接続することができる。例えば、情報処理装置730および表示装置731間を有線接続する場合には、有線ケーブル(例えば、HDMI(登録商標)(High-Definition Multimedia Interface)やMHL(Mobile High-definition Link)、DisplayPort、USB3.0)を利用して接続することができる。また、例えば、情報処理装置730および表示装置731間を無線接続する場合には、無線LANを利用して接続することができる。また、情報処理装置730に接続する表示装置は複数台でもよいものとする。
制御装置740は、通信システム700を構成する各情報処理装置(情報処理装置703、704、710、720、730)を管理し、各情報処理装置の接続や表示状態を把握して制御する接続制御装置である。例えば、制御装置740は、各情報処理装置に関する情報(例えば、端末識別情報、Capability情報)、各情報処理装置の動作状態(例えば、通信モード、グループ参加状態)を管理して把握する。また、制御装置740は、無線通信を利用して情報処理装置730と接続される。この無線通信として、例えば、情報処理装置730が備える通信方式(例えば、無線LAN)を用いることができる。また、赤外線、他の無線方式、有線回線を用いるようにしてもよい。なお、制御装置740にアクセスポイント701と接続するためのプロトコルを備え、アクセスポイント701経由で情報処理装置730と接続するようにしてもよい。
例えば、制御装置740は、グループへの参加、離脱を把握することにより、各情報処理装置を管理することができる。例えば、グループに参加している各ソース機器は、消費電力に影響を与えない程度に、アクセスポイント701または情報処理装置730にコマンドを発信する等の処理を行う。このコマンドを直接受信した場合、または、アクセスポイント701を経由して間接的に受信した場合には、情報処理装置730は、コマンドを受信したソース機器に関する情報を制御装置740に通知する。これにより、制御装置740は、ソース機器がグループから離脱しているか否かを確認することができる。
例えば、制御装置740は、グループに参加しているソース機器に対応する画像(例えば、アイコン)を入出力部743に表示させる。また、例えば、制御装置740は、グループに参加しているソース機器がグループから離脱しているか否かを確認し、離脱したソース機器を検出した場合には、その離脱したソース機器に対応する画像(例えば、アイコン)を入出力部743から削除する。例えば、ある情報処理装置からのコマンドを、所定時間以上受信していないと判断した場合には、制御装置740は、その情報処理装置がグループから離脱したと判断する。そして、制御装置740は、その離脱した情報処理装置に対応する画像(例えば、アイコン)を入出力部743から削除する。
制御装置740は、グループに参加している情報処理装置に対応する画像(例えば、アイコン)を、各情報処理装置が存在する場所に応じて入出力部743に表示させることができる。例えば、各情報処理装置の位置情報(例えば、緯度および経度)を取得し、この位置情報に基づいて、各情報処理装置の絶対的な位置を決定することができる。このように決定された各情報処理装置の位置に基づいて、各情報処理装置の相対的な位置を決定して各学生を配置することができる。なお、各情報処理装置は、例えば、GPS(Global Positioning System)により位置情報を取得することができる。
また、例えば、各情報処理装置の相対的な位置については、電波を利用して検出することができる。例えば、情報処理装置730は、複数の情報処理装置からの電波強度を取得し、これらの電波強度に基づいて、三角測量の測量方法を利用して、他の情報処理装置との相対的な位置(自装置の位置)を求めることができる。このように求められた相対的な位置を制御装置740が取得して、各情報処理装置の画像を配置することができる。
なお、ここでは、情報処理装置730に接続されている1または複数の情報処理装置を制御装置740が管理し、制御装置740の入出力部743に各情報処理装置を表す画像を表示する例を示した。ただし、情報処理装置730に接続されている1または複数の情報処理装置を、情報処理装置730が管理し、情報処理装置730の表示部または表示装置731に各情報処理装置を表す画像を表示するようにしてもよい。
[ソース機器の通信モードの切替例]
ここで、ソース機器の通信モード(低速画像音声送信モード(待機モード)、高速画像音声送信モード)を切り替える場合の切替方法について説明する。
例えば、次の(B1)乃至(B3)を、ソース機器の通信モードの切替のトリガとすることができる。
(B1)ソース機器を用いた切替(例えば、ソース機器を用いたユーザ操作による能動的な切替)
(B2)制御装置を用いた切替(例えば、制御装置740を用いたユーザ操作による切替(遠隔操作切替))
(B3)シンク機器を用いた切替(例えば、シンク機器(または、これに接続される表示装置731)を用いたユーザ操作による切替)
なお、各装置におけるユーザ操作(切替操作)は、例えば、各装置が備える操作受付部(例えば、操作部材、タッチパネル)を用いたユーザ操作や、各装置が備えるユーザ情報取得部(例えば、ジェスチャーを検出する検出部)を用いたユーザ操作である。
(B1)は、例えば、ソース機器に予め内蔵されているアプリケーションや操作部材の操作入力を切替トリガとすることができる。例えば、ソース機器において切替操作が行われると、通信モードの切替に関するコマンドがシンク機器(情報処理装置730)に送信される。このコマンドを受信した場合には、シンク機器(情報処理装置730)は、その他の帯域を含めて制御しながら、そのコマンドを送信したソース機器の帯域を増減させていく制御を行う。また、シンク機器(情報処理装置730)は、そのコマンドを送信したソース機器の通信モードを切り替えた旨の情報を制御装置740に送信する。この場合に、制御装置740は、通信モードを切り替えた旨の通知情報を出力(表示、音声出力)するようにしてもよい。
(B2)は、例えば、シンク機器(情報処理装置730)におけるユーザ操作を切替トリガとすることができる。例えば、シンク機器(情報処理装置730)においてソース機器の切替操作が行われると、その他の帯域を含めて制御しながら、その切替操作が行われたソース機器の帯域を増減させていく制御を行う。また、シンク機器(情報処理装置730)は、その切替操作が行われたソース機器の通信モードを切り替えた旨の情報を制御装置740に送信する。この場合には、(B1)の場合と同様に、制御装置740は、通信モードを切り替えた旨の通知情報を出力するようにしてもよい。
(B3)は、例えば、制御装置740におけるユーザ操作を切替トリガとすることができる。例えば、制御装置740においてソース機器の切替操作が行われると、その切替操作が行われたソース機器に関する情報(例えば、端末識別情報)をシンク機器(情報処理装置730)に送信する。その情報を受信した場合には、シンク機器(情報処理装置730)は、その他の帯域を含めて制御しながら、その切替操作が行われたソース機器の帯域を増減させていく制御を行う。
また、制御装置740は、上述したように、制御装置740に接続されている各機器を管理している。そして、制御装置740は、これらの各機器がグループから脱退していないかを確認し、脱退している場合には、自装置の管理下から脱退した機器に対応する画像(例えば、アイコン)を入出力部743から削除する。
ここで、制御装置740におけるユーザ操作について説明する。例えば、制御装置740は、グループに参加している各情報処理装置に対応する画像(例えば、アイコン)を、各情報処理装置が存在する場所に応じた配置となるように入出力部743に表示する。この場合に、低速画像音声送信モードに設定されている情報処理装置を高速画像音声送信モード(周辺チャネル)に切り替える場合を想定する。この場合には、切替対象となる情報処理装置に対応する画像を、第1領域(例えば、プレゼン領域)まで移動させる操作を行う。例えば、ドラッグ&ドロップ操作を行う。これにより、低速画像音声送信モードに設定されている情報処理装置を高速画像音声送信モード(周辺チャネル)に切り替えることができる。
また、例えば、高速画像音声送信モード(中央チャネル、周辺チャネル)に設定されている情報処理装置を低速画像音声送信モードに切り替える場合を想定する。この場合には、切替対象となる情報処理装置に対応する画像を、第2領域(例えば、待機領域)まで移動させる操作を行う。例えば、ドラッグ&ドロップ操作を行う。これにより、高速画像音声送信モード(中央チャネル、周辺チャネル)に設定されている情報処理装置を低速画像音声送信モードに切り替えることができる。
また、(B1)、(B2)の場合と同様に、制御装置740は、通信モードを切り替えた旨の通知情報を出力するようにしてもよい。
また、制御装置740は、各情報処理装置を表す画像を、通信モード毎に異なる表示態様としてもよい。例えば、高速画像音声送信モード(中央チャネル)に設定されている情報処理装置を表す画像の輪郭を太線とし、高速画像音声送信モード(周辺チャネル)に設定されている情報処理装置を表す画像の輪郭を細線とする。また、低速画像音声送信モードに設定されている情報処理装置を表す画像の輪郭を点線とすることができる。また、例えば、高速画像音声送信モード(中央チャネル)に設定されている情報処理装置を表す画像の色を赤とし、高速画像音声送信モード(周辺チャネル)に設定されている情報処理装置を表す画像の色を青とする。また、低速画像音声送信モードに設定されている情報処理装置を表す画像の色を白とすることができる。
また、本技術の第2の実施の形態では、上述したように、低速画像音声送信モードでは、アクセスポイントを経由してソース機器およびシンク機器を間接的に接続する接続方式を採用する。また、高速画像音声送信モードでは、アクセスポイントを経由せずにソース機器およびシンク機器を直接接続する接続方式を採用する。
[接続処理例]
図18は、本技術の第2の実施の形態におけるソース機器およびシンク機器間で行われる接続処理例を示すシーケンスチャートである。なお、図18では、情報処理装置(ソース機器)710および情報処理装置(シンク機器)730間における接続処理例を示す。
最初に、情報処理装置710は、Device Discoveryを行う(615)。このDevice Discoveryにより情報処理装置730が検出されると、情報処理装置710は、情報処理装置730との間で、Formationにより親子関係の決定や認証処理を行う(620)。これらの各処理が完了すると、情報処理装置710および情報処理装置730間の接続が確立される。そして、情報処理装置710は、情報処理装置730との間でダイレクト通信(Operation)を行う(616)。
ここで、Formation(620)について説明する。
最初に、情報処理装置710および情報処理装置730間で、GO_Negotiationが行われる。このGO_Negotiationでは、情報処理装置710および情報処理装置730のそれぞれが、グループオーナー(GO)として動作する優先度を交換し、優先度が高い情報処理装置がグループオーナー(GO)として動作することを決定する。図18では、情報処理装置730の優先度が高く、情報処理装置730がグループオーナー(GO)として決定される例を示す。
具体的には、情報処理装置710が、GO_Negotiation_Requestを情報処理装置730に送信する(621)。このGO_Negotiation_Requestを受信すると(621)、情報処理装置730は、GO_Negotiation_Responseを情報処理装置710に送信する(622)。このGO_Negotiation_Responseを受信すると(622)、情報処理装置710は、GO_Negotiation_Confirmationを情報処理装置730に送信する(623)。
これらのやりとり(621乃至623)により、情報処理装置730がグループオーナー(GO)として決定され、情報処理装置710がクライアントとして決定される。
続いて、情報処理装置710および情報処理装置730は、WPS(Wi-Fi Protected Access)_exchangeを実行する(624)。このWPS_exchangeの実行により、情報処理装置710および情報処理装置730は、クレデンシャル(例えば、SSID(Service Set Identifier)、WPS2(Wi-Fi Protected Access 2)−PSK(Pre-Shared Key)を共有する。
続いて、情報処理装置710および情報処理装置730は、4−way_handshakeを実行する(625)。
[通信例]
図19および図20は、本技術の第2の実施の形態における通信システム700を構成する各装置間における通信処理例を示すシーケンスチャートである。なお、図19および図20では、情報処理装置(ソース機器)710、情報処理装置(シンク機器)730、アクセスポイント701間における通信処理例を示す。
また、図19および図20では、情報処理装置(シンク機器)730がグループ認証サーバとして機能する例を示す。すなわち、情報処理装置(シンク機器)730は、グループ認証機能を備えるものとする。
図49乃至図53は、本技術の第2の実施の形態における通信システム700を構成する各装置間によりやりとりされるWFD IEフォーマットの一例を示す図である。
図54は、本技術の第2の実施の形態における通信システム700を構成する各装置間によりやりとりされるASP(Application Service Platform)用の新規メッセージの一例を示す図である。
最初に、情報処理装置710において情報処理装置730と間で通信を行うためのアプリケーション(情報処理装置710に予めインストールされているアプリケーション)が起動される(631)。このアプリケーションの起動は、例えば、ユーザ操作(例えば、アプリボタンの押下操作)により行われる。
ここで、図19および図20では、デフォルトで、ソース機器がアクセスポイントに直接接続した後に各処理を開始する例を示す。すなわち、情報処理装置710は、予めインストールされているアプリケーションを起動し、特定のアクセスポイント(アクセスポイント701)経由でシンク機器(情報処理装置730)への接続要求を行う。
具体的には、情報処理装置710は、アクセスポイント701に接続した後に、機器発見(図18に示すDevice Discovery(615)に相当)を行い、接続可能なシンク機器を表示部711に表示させる。
ここで、機器発見の方法として、例えば、WiFi Directのプロトコルをアクセスポイント701経由で実行できるようにし、Probe Request等のメッセージを受信し、機器発見する方法を用いることができる。また、例えば、アクセスポイント701に接続されたStation間でUPnP(Universal Plug and Play)に代表されるDevice Service Typeをやりとりし、機器発見を行う方法を用いることができる。
ここでは、Deivce DescoveryまたはService Descoveryの制御方法の一例について説明する。
情報処理装置710(ソース機器)は、アクセスポイント701を経由して、情報処理装置730(シンク機器)へProbe Requestを送信し、P2P接続可能な装置をサーチする。
例えば、情報処理装置730(シンク機器)がP2P接続可能な装置である場合には、アクセスポイント701を経由して、Probe Responseを受信することにより、P2P接続で使用する周波数チャネルを検出することが可能となる。ここでは、情報処理装置730(シンク機器)がP2P接続可能な機器であることを想定し、Probe Responseを受信できたことを前提にして説明する。
上述した処理によって、情報処理装置710(ソース機器)は、情報処理装置730(シンク機器)とP2P接続するための周波数チャネルを把握し、P2P接続のコネクションを確立する。
P2P接続のコネクションを確立後、情報処理装置710(ソース機器)は、情報処理装置730(シンク機器)とTCPコネクションまたはRTSPコネクションのリンクを確立した後に、次の(C1)乃至(C4)の何れか1つ以上のやりとりを行う。
(C1)P2P IE(Information Element)
(C2)WFD IE(Information Element)
(C3)ASP(Application Service Platform)(例えば、ASPのフォーマットコマンドで新規フォーマット)
(C4)UPnP標準でのプロトコル
例えば、Probe RequestやProbe Responseのペイロード部分にWFD IEをカプセル化させ、やりとりする方法について説明する。
上述した(C2)のWFD IEを用いたフォーマット例を、図49乃至図53に示す。図49乃至図51は、既にMiracast Release1で割り当てられているフォーマットである。ただし、図51に示すSubelement ID(11)に、新規のビットを割り当てる。具体的には、このSubelement ID(11)に
対応する新規Fieldについては、図52、図53に示す。
図51において、New Device Informationフィールドの[5:0]は、情報処理装置730(シンク機器)がP2P接続において、最適な周波数チャネルを判断するための情報である。
上述した(C1)乃至(C3)の何れか1つを用いたシーケンスの過程で、情報処理装置710(ソース機器)は、各情報を把握することにより、情報処理装置730(シンク機器)とのP2P接続において、最適な周波数チャネルを判断することができる。例えば、アクセスポイント701および情報処理装置730(シンク機器)間のアソシエイトされた周波数情報(図53に示す[23:14]のフィールド)を用いることができる。また、例えば、情報処理装置730(シンク機器)の無線回線のコンカレント情報(図53に示す[5:2]のフィールド)を用いることができる。このコンカレント情報は、例えば、同じ周波数チャネルの時分割接続、違う周波数チャネルの時分割接続、同じ周波数チャネルの同時接続、違う周波数チャネルの同時接続等の接続形態が可能か否かの情報である(図53に示す[5:2]のフィールド)。また、例えば、無線機能としての端末能力(図53に示す[13:8]のフィールド)を用いることができる。
また、アクセスポイント701および情報処理装置730(シンク機器)間がEthernetケーブルやUSBケーブル・コネクタのように有線接続またはコネクタ接続されている場合もある。この場合、情報処理装置730(シンク機器)が、アクセスポイント701との接続が有線であること(図53に示す[1:0])と、P2P接続用無線を備えるか否かとを情報処理装置710(ソース機器)に通知する。これにより、情報処理装置710(ソース機器)は、最適な周波数チャネルを判断することができる。例えば、情報処理装置730(シンク機器)が、有線回線にのみ対応する場合には、P2P接続へ移行せずにそのままアクセスポイント701と接続する。一方、情報処理装置730(シンク機器)が、無線回線にも対応する場合には、サポートする周波数チャネルの1つを選択して接続することが可能である。
以上が、Probe RequestやProbe Responseのペイロード部分にWFD IEをカプセル化させた例であるが、本技術はこれに限定されない。
例えば、Wi−Fi Direct ServicesのDisplay Servieを使う場合には、ASP準拠のメッセージを介してデバイス間でService Capability情報を交換することができる。具体的には、WFD IEに含まれる情報を、4bit毎に区切って16進数にしたものをtext stringとしたものを送受信する。さらに、WFD IEに含まれる情報は現時点の仕様に限らない。例えば、図54に示すService Capability情報をペイロードに含むようにしてもよい。
なお、アソシエイトされた周波数情報、デバイスのコンカレント情報のネゴシエーションは、Deivce DiscoveryまたはService Discoveryの処理の一貫として行うようにしてもよい。また、アソシエイトされた周波数情報、デバイスのコンカレント情報のネゴシエーションは、伝送途中に周波数チャネル変更が必要な際にリネゴシエーションしてもよい。さらに、ネゴシエーションの開始時に、(C1)乃至(C4)のどのやりとりが可能かを、情報処理装置710(ソース機器)および情報処理装置730(シンク機器)間でネゴシエーションし、どの方法で情報のやりとりを行うかを選択するようにしてもよい。
なお、上述した各処理では、情報処理装置710(ソース機器)は、Probe Responseを受信後、P2P接続リンクのTCPコネクションまたはRTSPコネクションを確立後に(C1)乃至(C4)を行う例を示した。ただし、P2P接続リンクを確立する前に、アクセスポイント701を経由して、情報処理装置710(ソース機器)および情報処理装置730(シンク機器)が接続されたTCPコネクションまたはRTSPコネクションを用いて、WFD IEを含むProbe RequestとProbe Responseのやりとりを行ってもよい。また、この例では、情報処理装置710(ソース機器)が主導して行う例を示したが、情報処理装置730(シンク機器)が主導して行うようにしてもよい。
また、上述した各処理にかかわらず、上述したProbe RequestにP2P接続するための周波数が記載されており、情報処理装置730(シンク機器)からのProbe Responseを返信する周波数チャネルはProbe Requestが使用した周波数チャネルでなくてもよい。また、受信はP2P接続経由で行うようにしてもよい。
また、本技術の実施の形態では、アプリーションを立ち上げた直後に、機器発見を行う例を示すが、本技術はこれに限定されない。例えば、ソース機器およびシンク機器のうちの少なくとも1つがNFCのタグ機能またはReader/Write機能を備える場合を想定する。この場合には、何れかの機器でNFCを用いて、NFCによってタッチされたタイミングで、上述したDeivce DescoveryまたはService Descoveryの制御方法を開始するようにしてもよい。さらに、アクセスポイントへの接続を開始するか否かをNFCによってタッチされたタイミングとするようにしてもよい。また、上述した(C1)乃至(C4)の選択基準をNFCを介して情報処理装置710(ソース機器)および情報処理装置730(シンク機器)間で行うようにしてもよい。例えば、次の(D1)、(D2)の切替にNFCのタッチタイミングを用いてもよい。
(D1)タッチされたタイミングでアクセスポイントを切断してダイレクトに接続
(D2)タッチされたタイミングでTDLSで接続
また、機器発見処理により、起動したアプリケーションに対応するシンク機器が複数発見されることも想定される。この場合には、ソース機器の表示部に、発見された複数のシンク機器から所望のシンク機器を選択するための選択画面を表示させ、この選択画面においてユーザ操作により選択させることができる。また、発見された複数のシンク機器のうち、ソース機器から一番近い機器を自動的に選択して接続するようにしてもよい。なお、一番近い機器を自動的に選択する場合には、例えば、各機器により取得される位置情報を用いることができる。
このように、情報処理装置710においてアプリケーションが起動され、シンク機器が選択される(631)。図19および図20では、情報処理装置730が選択された場合の例を示す。
このようにシンク機器(情報処理装置730)が選択されると(631)、情報処理装置710の制御部(図2に示す制御部240に相当)は、アクセスポイント701経由でシンク機器(情報処理装置730)への接続要求を行う(632乃至635)。この接続要求には、例えば、情報処理装置710を特定するための識別情報(例えば、図4に示す端末識別情報391)と、起動するアプリケーションを特定するための識別情報(アプリケーション情報)とが含まれる。
情報処理装置710からの接続要求を受信した場合には(635)、情報処理装置730の制御部(図3に示す制御部370に相当)は、グループ認証処理を行う(636)。このグループ認証処理では、情報処理装置710において起動されたアプリケーションにより動作させるグループに情報処理装置710を参加させるか否かが判断される(636)。すなわち、情報処理装置730の制御部は、情報処理装置710において起動されたアプリケーションを動作するための接続を情報処理装置710に許可するか否かを判断するグループ認証処理を行う(636)。
例えば、グループ認証処理では、同一のグループに属し、かつ、既に接続状態となっているソース機器、シンク機器、制御装置740の何れかにおいて、情報処理装置710を許可するためのユーザ操作が行われたか否かを判断する。そして、それらの各装置(ソース機器、シンク機器、制御装置740)の何れかにおいて、情報処理装置710を許可するためのユーザ操作が行われたことを条件に、情報処理装置710をグループに参加させることを許可する判断を行うことができる。
例えば、各装置(ソース機器、シンク機器、制御装置740)のうちの少なくとも1つの表示部に、情報処理装置710を許可するためのユーザ操作を行うための表示画面(例えば、ホップアップ)を表示させる。そして、その表示画面において、情報処理装置710を許可するためのユーザ操作が行われた場合には、情報処理装置730の制御部は、情報処理装置710をグループに参加させることを許可する判断を行う(636)。
また、例えば、制御装置740に登録されているか否かに基づいて、グループ認証処理を行うようにしてもよい。例えば、制御装置740が保持するグループ管理情報に端末識別情報が格納されている情報処理装置については、情報処理装置730の制御部は、グループに参加させることを許可する判断を行う(636)。ただし、制御装置740が保持するグループ管理情報にグループ参加可能時間が格納されている場合には、そのグループ参加可能時間の時間内である場合に限り、情報処理装置730の制御部は、グループに参加させることを許可する判断を行う(636)。
グループ認証処理において情報処理装置710をグループに参加させることを許可すると判断した場合には(636)、情報処理装置730の制御部は、接続許可情報を情報処理装置710にアクセスポイント701を経由して送信する(637乃至640)。ここで、接続許可情報は、情報処理装置710において起動されたアプリケーションにより動作させるグループに情報処理装置710が参加することを許可する旨を示す情報である。
なお、グループ認証処理において情報処理装置710をグループに参加させないと判断した場合(認証を不許可とした場合)には(636)、情報処理装置730の制御部は、アクセスポイント701を経由して接続不許可情報を情報処理装置710に送信する。ここで、接続不許可情報は、情報処理装置710において起動されたアプリケーションにより動作させるグループに情報処理装置710を参加することを不許可とする旨を示す情報である。この接続不許可情報を情報処理装置710が受信した場合には、データ送信処理の動作を終了する。
情報処理装置730からの接続許可情報を受信した場合には(640)、情報処理装置710の制御部は、情報処理装置710に関するMiracast Service情報を情報処理装置730に送信する(641乃至644)。この場合に、情報処理装置710の制御部は、情報処理装置710に関するMiracast Service情報を情報処理装置730にアクセスポイント701を経由して送信する(641乃至644)。
このMiracast Service情報は、情報処理装置730との間でWi−Fi CERTIFIED Miracast通信を行うためのMiracast Service情報である。また、このMiracast Service情報には、アクセスポイント701との接続を維持したまま情報処理装置730へP2Pダイレクト接続を行うための情報を含む。また、このMiracast Service情報には、情報処理装置710に関するCapability情報を含む。
情報処理装置710からのMiracast Service情報を受信した場合には(644)、情報処理装置730の制御部は、設定要求情報を情報処理装置710にアクセスポイント701を経由して送信する(645乃至648)。この設定要求情報は、Wi−Fi CERTIFIED Miracast規格での画像音声送信を行うための設定を要求する情報(Miracast設定要求情報)である。
ここで、情報処理装置730は、情報処理装置730と接続されている各ソース機器の帯域制御および表示画面制御を行う。このため、新たに接続された情報処理装置710に対して、他のソース機器との関係に基づいて、グループ共有を加味したパラメータの設定を要求する必要がある。そこで、情報処理装置730は、情報処理装置710がグループに参加することが許可された後に、情報処理装置730と接続されている各ソース機器に関する各情報に基づいて、情報処理装置710に関する設定要求情報を送信する(645乃至648)。
なお、上述したように、情報処理装置730からの指示に基づいて、情報処理装置710において、最初に低速画像音声送信モードが設定される。すなわち、情報処理装置730からの設定要求情報を受信した場合には(648)、初期状態として、情報処理装置710において低速画像音声送信モードが設定される。
また、情報処理装置730からの指示に基づいて、情報処理装置710における通信モードが切り替えられる。例えば、自動で切り替えられる場合には、低速画像音声送信モード→高速画像音声送信モード(周辺チャネル)→高速画像音声送信モード(中央チャネル)→低速画像音声送信モード…の順序で、順次切り替えられる。
ここで、上述した(B1)乃至(B3)の何れかの切替方法により、情報処理装置710の通信モードが切り替えられた場合を想定する。ここでは、情報処理装置710の通信モードが、低速画像音声送信モードから高速画像音声送信モード(周辺チャネル)に切り替えられる例を示す。
このように、高速画像音声送信モードが設定された場合には(649)、情報処理装置710の制御部は、アクセスポイント701を経由する情報処理装置730へのアクセスを切断する(650、651)。
続いて、情報処理装置710の制御部は、情報処理装置730とダイレクト接続を行うためのP2P接続処理を行う(652、653)。このP2P接続処理が完了した後に(652、653)、情報処理装置710の制御部は、情報処理装置730から受信した設定要求情報に基づいて、情報処理装置730に接続要求を行う(654、655)。すなわち、情報処理装置710の制御部は、情報処理装置730から受信した設定要求情報に基づいて、情報処理装置730に接続要求を送信する(654、655)。この接続要求は、レイヤ3までの接続設定に関する接続要求である。
接続要求を受信した場合には(655)、情報処理装置730の制御部は、その接続要求に対応する画像および音声の受信を許可する旨を示す確認情報を情報処理装置710に送信する(656、657)。この確認情報を受信した場合には(657)、情報処理装置710の制御部は、情報処理装置730との間でP2Pダイレクト接続を開始する(658、659)。
すなわち、情報処理装置710の制御部は、受信した確認情報に対応する接続要求(Miracast要求情報)に基づいて、画像パラメータや音声パラメータのネゴシエーションを情報処理装置730との間で行い、画像データの送信を行う(658、659)。
ここで、上述した(B1)乃至(B3)の何れかの切替方法により、情報処理装置710の通信モードが切り替えられた場合を想定する。ここでは、情報処理装置710の通信モードが、高速画像音声送信モード(中央チャネル)から低速画像音声送信モードに切り替えられる例を示す。
このように、低速画像音声送信モードが設定された場合には(660)、情報処理装置710の制御部は、情報処理装置730とのダイレクト接続を切断する(661、662)。
続いて、情報処理装置710の制御部は、アクセスポイント701を経由して情報処理装置730と接続を行うための接続処理を行う(663、664)。
なお、上述したように、情報処理装置710およびアクセスポイント701間、または、情報処理装置710および情報処理装置730間の接続方式が異なる。このため、迅速な接続処理を行うとともに、ユーザに接続が継続されているように感じさせることが重要である。そこで、例えば、ダイレクト接続と、アクセスポイント701を経由した接続とを切り替える場合に、その接続時間を事前に把握し、表示装置731に最後に表示された画像をシンク機器(情報処理装置730)がそのまま保持するようにしてもよい。そして、シンク機器(情報処理装置730)は、表示装置731における表示位置を変更させる処理の間に、コネクション切替を行うようにする。すなわち、シンク機器は、ユーザに切断されたことが分かりづらい補間処理を行うようにする。これにより、物理的に発生してしまう切替時間をユーザに感じさせずに切り替えることができる。
[情報処理装置(ソース機器)の動作例]
図21は、本技術の第2の実施の形態における情報処理装置710によるデータ送信処理の処理手順の一例を示すフローチャートである。図21では、デフォルトで、ソース機器(情報処理装置710)がアクセスポイントに直接接続した後に各処理を開始する例を示す。すなわち、情報処理装置710は、予めインストールされているアプリケーションを起動し、特定のアクセスポイント(アクセスポイント701)経由でシンク機器への接続要求を行う。また、図21では、シンク機器として情報処理装置730に接続され、特定のアクセスポイントとしてアクセスポイント701に接続される例を示す。
最初に、情報処理装置710においてシンク機器(情報処理装置730)と間で通信を行うためのアプリケーションが起動される(ステップS1031)。この起動後に、接続対象となるシンク機器(情報処理装置730)が選択される(ステップS1031)。
続いて、情報処理装置710の制御部は、アクセスポイント701(AP)経由で情報処理装置730への接続要求を行う(ステップS1032)。続いて、情報処理装置710の制御部は、アクセスポイント701経由で情報処理装置730から接続許可情報を受信したか否かを判断する(ステップS1033)。情報処理装置730から接続許可情報を受信していない場合には(ステップS1033)、データ送信処理の動作を終了する。この場合には、所定時間以内に接続許可情報を受信していないことを条件に、データ送信処理の動作を終了するようにしてもよい。
接続許可情報を受信した場合には(ステップS1033)、情報処理装置710の制御部は、情報処理装置710のMiracast Service情報を情報処理装置730にアクセスポイント701を経由して送信する(ステップS1034)。
続いて、情報処理装置710の制御部は、アクセスポイント701経由で情報処理装置730から設定要求情報を受信したか否かを判断する(ステップS1035)。設定要求情報を受信していない場合には(ステップS1035)、監視を継続して行う。
設定要求情報を受信した場合には(ステップS1035)、初期状態として、情報処理装置710において低速画像音声送信モードが設定される。そして、情報処理装置710の制御部は、低速画像音声送信モードが設定されているか否かを判断する(ステップS1036)。そして、情報処理装置710において低速画像音声送信モードが設定されている場合には(ステップS1036)、監視を継続して行う。なお、低速画像音声送信モードおよび高速画像音声送信モードについては、ユーザの閲覧場所に応じて自動で選択するようにしてもよい。
低速画像音声送信モードが設定されていない場合(高速画像音声送信モードが設定された場合)には(ステップS1036)、情報処理装置710の制御部は、情報処理装置710がグループから離脱したか否かを判断する(ステップS1037)。ここで、情報処理装置710がグループから離脱する場合は、例えば、情報処理装置710がアクセスポイントまたはシンク機器の何れの電波も届かない場所に移動するような場合、グループから離脱するためのユーザ操作が行われた場合が想定される。このユーザ操作は、例えば、離脱ボタンの押下操作(例えば、操作部材の押下操作、タッチパネルの押下操作)とすることができる。また、そのユーザ操作は、情報処理装置710、他のソース機器、シンク機器、制御装置740の何れかにおいて行うものとする。
そして、情報処理装置710がグループから離脱した場合には(ステップS1037)、データ送信処理の動作を終了する。また、情報処理装置710がグループから離脱していない場合には(ステップS1037)、情報処理装置710の制御部は、アクセスポイント701を経由する情報処理装置730との接続を切断する(ステップS1038)。
続いて、情報処理装置710の制御部は、情報処理装置730とダイレクト接続を行うためのP2P接続処理を行う(ステップS1039)。このP2P接続処理が完了した後に(ステップS1039)、情報処理装置710の制御部は、情報処理装置730から受信した設定要求情報に基づいて、情報処理装置730に接続要求を行う(ステップS1040)。
続いて、情報処理装置710の制御部は、その接続要求に対応する画像の受信を許可する旨を示す確認情報を情報処理装置730から送信したか否かを判断する(ステップS1041)。確認情報を情報処理装置730から送信していない場合には(ステップS1041)、監視を継続して行う。
確認情報を情報処理装置730から送信した場合には(ステップS1041)、情報処理装置710の制御部は、情報処理装置730との間でP2Pダイレクト接続を開始する(ステップS1042)。そして、情報処理装置710の制御部は、受信した確認情報に対応する接続要求に基づいて、画像パラメータや音声パラメータのネゴシエーションを情報処理装置730との間で行い、画像データの送信を行う(ステップS1043)。
続いて、情報処理装置710の制御部は、高速画像音声送信モードが設定されているか否かを判断する(ステップS1044)。そして、情報処理装置710において高速画像音声送信モードが設定されている場合には(ステップS1044)、ステップS1043に戻る。
高速画像音声送信モードが設定されていない場合(低速画像音声送信モードが設定された場合)には(ステップS1044)、情報処理装置710の制御部は、回線が切断されたか否かを判断する(ステップS1045)。例えば、情報処理装置710がグループから離脱したような場合には、アクセスポイント701または情報処理装置730との回線が切断される。そして、回線が切断された場合には(ステップS1045)、データ送信処理の動作を終了する。
回線が切断されていない場合には(ステップS1045)、情報処理装置710の制御部は、情報処理装置730とのダイレクト接続を切断する(ステップS1046)。続いて、情報処理装置710の制御部は、アクセスポイント701との接続を開始する(ステップS1047)。
なお、情報処理装置710の制御部は、接続状態を切り替える場合には、切替前の接続に関するポート情報およびIP情報のうちの少なくとも1つを用いて接続処理を行うよう制御するようにしてもよい。なお、接続状態の切替は、アクセスポイント701を経由した情報処理装置730との接続状態から、ダイレクト通信による情報処理装置730との接続状態への切替、または、その逆の切替である。
<3.第3の実施の形態>
本技術の第3の実施の形態では、複数のソース機器が存在する場合に、各ソース機器のユーザとシンク機器側の表示部との位置関係に基づいてソース機器から送信された画像の表示態様(表示部の表示態様)を決定する例を示す。
[通信システムの構成例]
図22および図23は、本技術の第3の実施の形態における通信システム1100のシステム構成例を示す図である。
通信システム1100は、情報処理装置1110と、情報処理装置1120と、情報処理装置1130とを備える。また、情報処理装置1110、情報処理装置1120および情報処理装置1130のそれぞれは、ユーザ情報取得部(図3に示すユーザ情報取得部360に相当)を備える。このユーザ情報取得部は、請求の範囲に記載の取得部の一例である。
図22では、情報処理装置1120を所有するユーザ31が、情報処理装置1120から送信された画像データに基づく画像21を見ている場合(ユーザ31の視線を点線32で示す)を示す。また、図22では、情報処理装置1130を所有するユーザ33が、情報処理装置1130から送信された画像データに基づく画像22を見ている場合(ユーザ33の視線を点線34で示す)を示す。
また、図23では、ユーザ31およびユーザ33が移動した後における画像23、24の表示例を示す。また、図23では、ユーザ31の視線を点線36で示し、ユーザ33の視線を点線35で示す。
なお、情報処理装置1110は、本技術の第1および第2の実施の形態で示したシンク機器(例えば、図1に示す情報処理装置300)に対応する。また、情報処理装置1120および情報処理装置1130は、本技術の第1および第2の実施の形態で示したソース機器(例えば、図1に示す情報処理装置200、400)に対応する。このため、本技術の第3の実施の形態では、本技術の第1および第2の実施の形態と異なる点を中心に説明し、共通する点についても説明の一部を省略する。
このように、図22および図23では、複数のユーザ31、33が存在し、複数のソース機器(情報処理装置1120、1130)が存在する通信システム1100の一例を示す。この通信システム1100において、各ソース機器(情報処理装置1120、1130)から送信された画像をシンク機器(情報処理装置1110)が表示する場合に、各ユーザ31、33が見易くなるように、各画像の表示態様を決定する例を示す。すなわち、ソース機器の物理的位置と、シンク機器における画像表示とが異なる状況においても、各ユーザにとって見やすい表示を行い、ユーザが移動した場合には、その画像もユーザが見やすい表示位置へ移動する例を示す。
具体的には、各ユーザがどのソース機器のユーザであるかを判定し、シンク機器に表示される複数の画像の表示領域(表示ウィンドウ(表示窓))とユーザとのリンクを行う。そして、このリンク情報をソース機器とシンク機器とのやりとりにより管理し、ユーザの移動に応じてそのユーザにリンクされている画像の表示領域を決定する。
なお、図22および図23では、2人以上のユーザが存在し、各ユーザが所有する機器以外の機器(情報処理装置1110)を共有する場合の例を示すが、本技術はこれに限定されない。例えば、複数のユーザが1人のユーザのディスプレイを共有するケースにも対応することができる。この場合には、複数のユーザの中から画像をリンクしているユーザを常に識別していることが必要となる。さらに、画像にリンクしているユーザを途中で変更するユーザインターフェースがあってもよいものとする。
[ユーザ認識Capability情報のテーブル例]
図24は、本技術の第3の実施の形態における通信システム1100を構成する各装置間でやりとりされるユーザ認識Capability情報のテーブル例を示す図である。なお、図24に示すテーブルは、一例であり、これに限定されない。
図24では、ユーザ情報の取得、ユーザ情報に基づく個人情報の生成、個人情報とソース機器との関連付け(マッピング)の各処理の何れかを行う機器間でやりとりされる情報を分類して示す。
例えば、シンク機器は、ユーザ情報取得部(図3に示すユーザ情報取得部360に相当)を用いて、ユーザが表示画面にタッチした旨およびその位置をユーザ情報として取得することができる。
また、例えば、ソース機器およびシンク機器は、撮像部(図22、図23に示す撮像部1112、1122、1132)を用いて、静止画データまたは動画データを生成してユーザ情報を取得することができる。例えば、ユーザの顔、顔の向き、視線先の情報、腕輪/リング/首輪/時計/ネックレス/タッチペン、衣服、タグ/コインのマーク、指紋、静脈、身長(体の外形)、体重(体の外形)等を含む静止画データまたは動画データを撮像部により生成することができる。また、例えば、近距離無線通信を行うことが可能なウェアラブルデバイス(例えば、腕輪/リング/首輪/時計)をユーザが装着している場合には、近距離無線通信を利用してそのウェアラブルデバイスから情報を取得してユーザ情報として用いることができる。例えば、そのウェアラブルデバイスから位置情報(例えば、GPSの位置情報、加速度センサの位置情報)、ユーザ識別情報等を取得してユーザ情報として用いることができる。
また、例えば、ソース機器およびシンク機器は、そのように取得されたユーザ情報に基づいて、他のユーザ情報を取得することができる。例えば、静止画データまたは動画データに含まれる顔画像について画像認識処理を行うことにより、顔の向きやユーザの視線を検出することができる(例えば、特開2013−239074号公報、特開2009−251303号公報参照。)。
また、例えば、ソース機器およびシンク機器は、静止画データまたは動画データに含まれる顔画像について画像認識処理を行うことにより、ユーザの衣服、身長、体重を検出することができる。また、例えば、ソース機器およびシンク機器は、時間軸上の画像の変化に基づいて、ユーザの移動距離(例えば、画像上における移動距離)、移動方向(例えば、画像上における移動方向)を検出することができる。
また、例えば、ソース機器およびシンク機器は、音声取得部(例えば、マイク)を用いて、音声データを取得してユーザ情報を取得することができる。例えば、その音声データを用いて、音声認識処理によりユーザを識別することができる。また、その音声データの特徴量(例えば、強弱)の変化等を用いて、音声認識処理によりユーザの移動を検出することができる。
なお、ソース機器およびシンク機器以外の他のデバイスを用いてユーザ情報を取得するようにしてもよい。例えば、ソース機器を所有するユーザが装着しているウェアラブルデバイスを用いるようにしてもよい。なお、ウェアラブルデバイスは、例えば、ユーザの体の一部(例えば、顔、腕、首、足、胴体)に装着されて使用される機器である。そして、ウェアラブルデバイスが備える各種センサ(例えば、加速度センサ、GPS、小型カメラ)により取得されるユーザ情報を用いることができる。また、例えば、ソース機器は、ウェアラブルデバイスのタグ情報をソース機器の撮像部により撮像して静止画データを生成し、この静止画データをユーザ情報として用いることができる。
なお、図24では、データ抽出能力を記録するテーブルの一例を示したが、これに限定されない。例えば、データ抽出能力と照合能力とのフラグを別々にテーブルに記録し、これらの各テーブルの全部または一部をソース機器およびシンク機器間でやりとりするようにしてもよい。
[機器情報の内容]
図25は、本技術の第3の実施の形態における機器情報保持部1140の保持内容の一例を模式的に示す図である。なお、機器情報保持部1140は、ソース機器またはシンク機器の少なくとも1つに備えられるものとする。
機器情報保持部1140は、無線通信を利用して情報処理装置1110に接続される各ソース機器と、各ソース機器からのデータに基づく表示画像との関係を管理するための情報(機器情報)を保持するテーブルである。
例えば、機器情報保持部1140には、端末識別情報1141と、表示位置1142と、MAC(Media Access Control address)アドレス1143とが関連付けて保持される。なお、これらの各情報をシンク機器が保持する場合には、図4に示す各情報と関連付けて保持するようにしてもよい。
端末識別情報1141には、無線通信を利用して情報処理装置1110に接続されるソース機器を識別するための識別情報が格納される。
表示位置1142には、無線通信を利用して情報処理装置1110に接続されるソース機器に表示される画像(各ソース機器から送信されたデータに基づく画像)の表示位置(表示画面における位置)を特定するための情報が格納される。例えば、表示画面における画像の座標(例えば、画像に対応する矩形の1つの頂点(例えば、左下の頂点)の座標)と、表示画面における画像のサイズ(例えば、画像に対応する矩形の水平方向および垂直方向の長さ)とが格納される。
MACアドレス1143には、無線通信を利用して情報処理装置1110に接続されるソース機器に付与されているMACアドレスが格納される。なお、MACアドレスの代わりに、ソース機器を識別することができる他の情報(例えば、IP(Internet Protocol)アドレス)を格納するようにしてもよい。また、端末識別情報1141およびMACアドレス1143のうちの何れか1つを格納するようにしてもよい。
例えば、シンク機器がDHCP(Dynamic Host Configuration Protocol)サーバとして機能する場合を想定する。この場合には、ソース機器は、そのシンク機器(DHCPサーバ)からIPアドレスを取得することができる(例えば、図18に示すOperation(616))。また、例えば、ソース機器は、図18に示す4−way handshake(625)で把握するMACアドレスを取得することができる。
なお、ソース機器を所有するユーザに装着されているウェアラブルデバイスに関する情報をシンク機器が取得し、このウェアラブルデバイスに関する情報に基づいてユーザを識別するようにしてもよい。この場合には、ウェアラブルデバイスを識別するための識別情報を機器情報保持部1140に記録することができる。
[ユーザ情報の内容]
図26は、本技術の第3の実施の形態におけるユーザ情報保持部1150の保持内容の一例を模式的に示す図である。なお、ユーザ情報保持部1150は、ソース機器またはシンク機器の少なくとも1つに備えられるものとする。
ユーザ情報保持部1150は、無線通信を利用して情報処理装置1110に接続される各ソース機器を所有するユーザを管理するための情報(ユーザ情報)を保持するテーブルである。
例えば、ユーザ情報保持部1150には、ユーザ識別情報1151と、照合情報1152とが関連付けて保持される。
ユーザ識別情報1151には、無線通信を利用して情報処理装置1110に接続されるソース機器を所有するユーザを識別するための識別情報が格納される。
照合情報1152には、ユーザ識別情報1151に格納されているユーザを認識する際に用いられる照合情報が格納される。例えば、ユーザ情報としてユーザの顔画像を用いる場合には、照合情報として、そのユーザ情報(顔画像)とのマッチングを行うための顔画像や、そのユーザ情報(顔画像)における特徴量とのマッチングを行うための特徴量等が格納される。
[リンク情報の内容]
図27は、本技術の第3の実施の形態におけるリンク情報保持部1160の保持内容の一例を模式的に示す図である。なお、リンク情報保持部1160は、ソース機器またはシンク機器の少なくとも1つに備えられるものとする。
リンク情報保持部1160は、無線通信を利用して情報処理装置1110に接続されるソース機器とソース機器を所有するユーザとの関係を管理するための情報(リンク情報)を保持するテーブルである。
例えば、リンク情報保持部1160には、端末識別情報1161と、ユーザ識別情報1162とが関連付けて保持される。なお、端末識別情報1161は、図25に示す端末識別情報1141に対応する。また、ユーザ識別情報1162は、図26に示すユーザ識別情報1151に対応する。
[ソース機器とシンク機器の表示位置とのリンクを行う場合の通信例]
図28は、本技術の第3の実施の形態におけるソース機器およびシンク機器間における通信処理例を示すシーケンスチャートである。図28では、ソース機器とシンク機器の表示位置とのリンクを行う場合の通信例を示す。なお、図28は、図14に示す通信例の変形例であり、Capability Exchangeを完了するまでの各処理については、図14と共通する。このため、ここでは、図14と異なる点と中心に説明をする。なお、ソース機器820は、情報処理装置1120、1130に対応し、シンク機器830は、情報処理装置1110に対応する。
例えば、Capability Exchangeを完了することにより、ソース機器820からシンク機器830への画像データおよび音声データの送信が開始される(1171)。この送信が開始された後に、ソース機器820を所有するユーザと、シンク機器830の表示部に表示されている表示領域(表示ウィンドウ)とのリンクを行うための処理が開始される(1172乃至1175)。
最初に、ユーザ認識Capability通知が行われる(1172)。すなわち、ソース機器820が備えるユーザ認識Capabilityを、ソース機器820からシンク機器830に通知するメッセージが送信される(1172)。例えば、図24に示すCapablityのテーブルの全部または一部がやりとりされる(1172)。
続いて、受信可能ユーザ認識Capability通知が行われる(1173)。すなわち、シンク機器830が備えるユーザ認識Capabilityを、シンク機器830からソース機器820に通知するメッセージが送信される(1173)。例えば、図24に示すCapablityのテーブルがやりとりされる(1172)。この場合には、例えば、シンク機器830が備えるユーザ認識Capabilityのうち、ソース機器820からシンク機器830に送信されたユーザ認識Capabilityと共通するものを有効とするテーブルを送信することが好ましい。すなわち、ソース機器820およびシンク機器830がともに対応可能な機能のみを有効とするテーブルを、シンク機器830からソース機器820に通知することが好ましい。ただし、これに限定されない。例えば、シンク機器830が備えるユーザ認識Capabilityの全てを有効とするテーブルを送信し、ソース機器820およびシンク機器830がともに対応可能な機能をソース機器820側で判断するようにしてもよい。
ここでは、シンク機器830が受信可能なユーザ認識Capability情報について、ソース機器820がユーザ情報を取得してシンク機器に送信する例を示す。
続いて、送信が決定されたユーザ認識データ(ユーザ情報)が送信される(1174)。すなわち、受信可能ユーザ認識Capabilityのテーブルの受信により、ソース機器820は、シンク機器830が受信可能なユーザ認識Capabilityに対応するユーザ情報を取得する。そして、ソース機器820は、そのユーザ情報をユーザ認識データ(照合前データ)としてシンク機器830に送信する。
例えば、ソース機器820は、ウェアラブルデバイスのタグ情報を撮像部により撮像して静止画データを生成し、この静止画データをユーザ認識データ(照合前データ)としてシンク機器830に送信することができる。
続いて、ユーザ認識処理終了通知が行われる(1175)。すなわち、シンク機器830は、ソース機器820からユーザ情報(例えば、静止画)を受信した後に、その静止画とシンク機器830が保持するユーザ認識用の照合情報(図26に示す照合情報1152)との照合を行い、個人情報を生成する。顔識別方法として、例えば、顔画像から抽出された特徴量と、登録人物の顔に関する特徴量とを比較して特徴量の類似度を算出し、その類似度が閾値を超えた場合に、その顔画像に含まれる顔が登録人物の顔であると判定する識別方法を用いることができる。また、顔識別方法として、例えば、特徴量として特徴ベクトルを用いて識別処理を行う識別方法を用いることができる(例えば、特開2008−129830号参照。)。
続いて、シンク機器830は、その生成された個人情報に基づいて、ユーザID(図26に示すユーザ情報1151)を表示部(例えば、図22に示す表示部1111)の表示画面に表示する。また、シンク機器830は、そのユーザIDとともに、閲覧している画像をユーザにタッチしてもらうためのメッセージを表示する。
例えば、図22に示す例では、表示部1111に表示されている画像21、22のうち、ユーザ31が見ている画像21をユーザ31にタッチしてもらうためのメッセージを、表示部1111に表示させる。そして、ユーザ31が画像21にタッチする動作を行った場合には、画像21がタッチされた旨と、表示部1111の表示画面における位置に関する情報とが、情報処理装置1110の制御部により取得される。このため、情報処理装置1110の制御部は、ユーザ31に関連付けるべき画像21を把握することができる。
そして、シンク機器830は、ユーザによるタッチ操作を確認すると、ユーザと表示領域(表示ウインドウ)とを関連付けて、この結果をリンク情報保持部1160(図27に示す)に格納してリンク処理を終了する。続いて、シンク機器830は、ユーザ認識処理終了通知をソース機器820に送信する。
なお、図28では、Wi−Fi CERTIFIED Miracastのプロトコルにより、画像音声送信を開始した後に、ユーザと表示画面とのリンクを行う例を示したが、これに限定されない。例えば、これらの順序を入れ替えるようにしてもよい。
例えば、ソース機器820およびシンク機器830が、L3 Connectivityを終了した後に、上述したリンク処理(1172乃至1175)を行うようにしてもよい。また、ソース機器820を所有するユーザと、表示領域(表示ウィンドウ)とを関連付けるための他の例については、図41に示す。
また、図28では、ソース機器820がユーザ識別Capability情報を送信し、シンク機器830がユーザ識別Capability情報を受信する例を示した。ただし、本技術は、これらに限定されない。例えば、シンク機器がソース機器にユーザ識別Capability情報をRequestし、ソース機器がそのRequest情報に対応し、ソース機器のユーザ識別Capability情報を送信するようにしてもよい。
また、ソース機器が、処理可能なユーザ情報/位置情報/表示画面、リンク方法をシンク機器にRequestし、シンク機器側のCapabilityを受信するようにしてもよい。そして、ソース機器が、シンク機器側のCapabilityの受信後に、シンク機器が受信可能なソース機器のユーザ識別Capability情報を設定する。この場合、Requestパケットは、MiracastシステムでのGet_Pameter Requestコマンドに類似するパケットとすることができる。また、Responseパケットは、MiracastシステムでのGet_Pameter Responseコマンドに類似するパケットとすることができる。これらの各例を、図29乃至図33に示す。
[ソース機器とシンク機器の表示位置とのリンクを行う場合の通信例]
図29乃至図33は、本技術の第3の実施の形態におけるソース機器およびシンク機器間における通信処理例を示すシーケンスチャートである。図29乃至図33は、図28に示す通信例の一部を変形したものである。このため、図28に示す通信例のうちの対応する部分(1171乃至1175)のみを示し、他の部分の図示を省略する。
図29には、ソース機器がユーザ情報を取得する例を示す。
図29のaには、図28と同一の通信例(1401乃至1404)を示す。例えば、シンク機器が共通のユーザ認識処理を選択する場合には、図29のaに示す通信例を適用することが好ましい。
図29のbには、ソース機器からCapabilityを要求する場合の通信例(1405乃至1408)を示す。例えば、ソース機器が自装置に備えられているユーザ認識処理を選択する場合には、図29のbに示す通信例を適用することが好ましい。
図30には、シンク機器がユーザ情報を取得する例を示す。
図30のaには、ソース機器からCapabilityを通知する場合の通信例(1411乃至1416)を示す。例えば、ソース機器は、シンク機器がユーザ認識処理を実行可能であることを把握することができ、ユーザ認識処理の主体をシンク機器とする場合には、図30のaに示す通信例を適用することが好ましい。また、照合情報のような個人情報をソース機器側で管理する場合に、図30のaに示す通信例を適用することが好ましい。
図30のbには、ソース機器からCapabilityを要求する場合の通信例(1421乃至1427)を示す。例えば、シンク機器の処理を分散させる場合(例えば、ソース機器のCapabilityが異なるような場合には、ユーザ認識処理をソース機器に依頼する)には、図30のbに示す通信例を適用することが好ましい。例えば、ソース機器は、シンク機器がユーザ認識処理を実行可能であることを把握することができ、ユーザ認識処理の主体をシンク機器とする場合には、図30のbに示す通信例を適用することが好ましい。
図31には、ソース機器がユーザ情報を取得する例を示す。
図31のaには、ソース機器からCapabilityを通知する場合の通信例(1431乃至1434)を示す。例えば、シンク機器が共通のユーザ認識処理を選択する場合には、図31のaに示す通信例を適用することが好ましい。
図31のbには、ソース機器からCapabilityを要求する場合の通信例(1435乃至1438)を示す。例えば、ソース機器が自装置に備えられているユーザ認識処理を選択する場合には、図31のbに示す通信例を適用することが好ましい。
図31のcには、シンク機器からCapabilityまたは照合結果を要求する場合の通信例(1441乃至1444)を示す。例えば、シンク機器が主導してソース機器を制御する場合には、図31のcに示す通信例を適用することが好ましい。
図32には、シンク機器がユーザ情報を取得する例を示す。
図32のaには、ソース機器からCapabilityを通知する場合の通信例(1451乃至1456)を示す。例えば、ソース機器は、シンク機器がユーザ認識処理を実行可能であることを把握することができ、ユーザ認識処理の主体をシンク機器とする場合には、図32のaに示す通信例を適用することが好ましい。また、照合情報のような個人情報をソース機器側で管理する場合に、図30のaに示す通信例を適用することが好ましい。
図32のbには、ソース機器からCapabilityを要求する場合の通信例(1457乃至1463)を示す。例えば、シンク機器の処理を分散させる場合(例えば、ソース機器のCapabilityが異なるような場合には、ユーザ認識処理をソース機器に依頼する)には、図32のbに示す通信例を適用することが好ましい。例えば、照合後の情報をユーザに通知し、ユーザの確認後に関連付けを行う場合には、図32のbに示す通信例を適用することが好ましい。
図32のcには、シンク機器からCapabilityまたは照合結果を要求する場合の通信例(1464乃至1469)を示す。例えば、シンク機器が主導してユーザ確認を行った後に関連付けを行う場合には、図32のcに示す通信例を適用することが好ましい。
図33には、ソース機器がユーザ情報を取得する例を示す。
図33のaには、ソース機器からCapabilityを通知する場合の通信例(1471乃至1474)を示す。例えば、シンク機器が共通のユーザ認識処理を選択する場合には、図33のaに示す通信例を適用することが好ましい。
図33のbには、ソース機器からCapabilityを要求する場合の通信例(1475乃至1478)を示す。例えば、ソース機器が自装置に備えられているユーザ認識処理を選択する場合には、図33のbに示す通信例を適用することが好ましい。
図33のcには、シンク機器からCapabilityまたは照合結果を要求する場合の通信例(1481乃至1484)を示す。例えば、シンク機器が主導してソース機器を制御する場合には、図33のcに示す通信例を適用することが好ましい。
[情報処理装置(ソース機器)の動作例]
図34は、本技術の第3の実施の形態における情報処理装置1120によるユーザ情報送信処理の処理手順の一例を示すフローチャートである。図34では、ソース機器(情報処理装置1120)がユーザ情報の取得(抽出)および送信を行い、シンク機器(情報処理装置1110)が個人情報の生成と、個人情報およびソース機器の関連付けとを行う例を示す。
最初に、情報処理装置1120の制御部(図2に示す制御部240に相当)は、自装置が備えるユーザ認識Capability情報を情報処理装置1110に送信する(ステップS1201)。続いて、情報処理装置1120の制御部は、情報処理装置1110が受信可能なユーザ認識Capability情報を受信したか否かを判断する(ステップS1202)。そして、その情報を受信していない場合には(ステップS1202)、監視を継続して行う。
これらの各情報(ユーザ認識Capability情報)については、ソース機器およびシンク機器間でやりとりされる各情報に付加することにより、ソース機器およびシンク機器間でやりとりすることができる。
例えば、Probe Request時のIE(Information Element)にユーザ識別Capability情報を格納することができる。なお、IEの中でユーザ識別Capability情報を格納する領域は限定されない。また、WSC(Wi-Fi Simple Config) IE、P2P IE、WFD(Wi-Fi Direct) IEの何れに格納するようにしてもよい(例えば、Wi−Fi P2P Technical Specification v1.1(Wi−Fi Direct)参照)。
また、例えば、TCPとのコネクションを行った後に、UIBCの反対方法に相当する(ソース機器からシンク機器への制御)制御リンクを用意し、この制御リンクによりユーザ識別Capability情報をやりとりするようにしてもよい。
また、図14に示すRTSPプロトコルを用いて、ユーザ識別Capability情報をやりとりするようにしてもよい。
なお、ソース機器およびシンク機器間で静止画、動画等をやりとりする場合には、TCPやRTSPだけでなく、RTPまたはUDPを用いることもできる。
情報処理装置1110が受信可能なユーザ認識Capability情報を受信した場合には(ステップS1202)、情報処理装置1120の制御部は、それらのうちから、送信対象とするユーザ情報の種類を選択する(ステップS1203)。例えば、送信対象とするユーザ情報を取得するデバイス(例えば、ユーザに装着されているウェアラブルデバイス、情報処理装置1120に装着されているデバイス(ユーザ識別デバイス)が選択される。
続いて、情報処理装置1120の制御部は、選択されたユーザ認識デバイスにより取得されたユーザ情報を情報処理装置1110に送信する(ステップS1204)。
例えば、送信対象とするユーザ情報が動画データである場合には、情報処理装置1120の撮像部1122は、定期的または不定期(例えば、撮影指示があったタイミング)に被写体を撮像して動画データを生成する。この場合に、情報処理装置1120の制御部は、撮像部1122により生成された動画データをユーザ情報として情報処理装置1110に送信する(ステップS1204)。
続いて、情報処理装置1120の制御部は、情報処理装置1110からユーザ認識処理を終了した旨の通知(ユーザ認識処理終了通知)を受信したか否かを判断する(ステップS1205)。そして、その通知を受信していない場合には(ステップS1205)、監視を継続して行う。
ユーザ認識処理終了通知を受信した場合には(ステップS1205)、情報処理装置1120の制御部は、選択されたユーザ認識デバイスにより取得されたユーザ情報に変化があるか否かを判断する(ステップS1206)。すなわち、情報処理装置1120の制御部は、ユーザに変化があるか否かを判断する(ステップS1206)。
例えば、ユーザ情報として画像データ(静止画データ、動画データ)を用いる場合には、比較対象となる画像を構成する各画素の輝度の差分の合計値が閾値を超えているか否かを基準として、ユーザ情報に変化があるか否かを判断することができる。
ここで、ユーザ情報に変化がある場合には(ステップS1206)、ユーザが移動していると推定される。そこで、ユーザ情報に変化がある場合には(ステップS1206)、情報処理装置1120の制御部は、最新のユーザ情報を情報処理装置1110に送信する(ステップS1208)。なお、ユーザ情報とともに、そのユーザに関する位置情報を取得することができる場合には、ユーザ情報および位置情報、または、位置情報のみを情報処理装置1110に送信するようにしてもよい(ステップS1208)。例えば、画像データに含まれる対象物が画像内においてどの方向にどの程度移動したかを検出することにより、位置情報(どの方向にどの程度移動したかを示す情報)を生成することができる。
また、情報処理装置1120の制御部は、ユーザ情報に変化があった後に、一定時間毎にユーザ情報(または、位置情報)を送信するようにしてもよい。この場合における一定時間の長さについては、ユーザ操作により変更できるようにしてもよく、自動で変更するようにしてもよい。例えば、ソース機器が消費電力にケアが必要な機器である場合には、その一定時間を長くすることができる。また、シンク機器からの制御に基づいて、その一定時間を変更するようにしてもよい。例えば、シンク機器に接続されるソース機器の数が閾値を超えて増加したような場合には、その増加した数に応じて、一定時間を延ばす等の処理を行うようにしてもよい。
また、ソース機器は、ユーザの移動に応じて画像の表示態様を変更する変更要求がユーザから受け付けられたことを条件に、ユーザ情報に基づく位置情報をシンク機器に定期的または不定期に送信するようにしてもよい。
また、図34では、ユーザ情報を送信した後に(ステップS1208)、ユーザ情報送信処理を終了する例を示す。ただし、ユーザ情報を送信した後に(ステップS1208)、ステップS1206に戻り、ユーザ情報の変化があるか否かを継続して監視するようにしてもよい。
また、ユーザ情報に変化がない場合には(ステップS1206)、情報処理装置1120の制御部は、ユーザ情報の送信処理をオフし(ステップS1207)、ステップS1206に戻る。これにより、送信処理に関する消費電力を削減させることができる。なお、ユーザ情報の送信処理をオフしてから所定時間が経過した後に、ステップS1206に戻るようにしてもよい。
ここで、ユーザ情報に変化がある場合には(ステップS1206)、シンク機器に表示されている画像を、ユーザの移動に追従させるか否かを判断させるための操作情報(例えば、ボタンやポップアップによるメッセージ表示)を表示させるようにしてもよい。そして、その操作情報を用いたユーザ操作に基づいて、情報処理装置1120の制御部は、ユーザ情報を送信するか否かを判断するようにしてもよい。例えば、その操作情報を用いて、ユーザの移動に追従させるための操作が行われた場合には、情報処理装置1120の制御部は、ユーザ情報を送信する(ステップS1208)。一方、例えば、その操作情報を用いて、ユーザの移動に追従させないための操作が行われた場合には、情報処理装置1120の制御部は、ユーザ情報を送信せずに送信処理をオフする(ステップS1207)。なお、これらの設定内容については、ユーザが予め設定しておくことができる。
また、ユーザ情報について閾値を設けるようにしてもよい。この場合には、ユーザ情報の変化があった場合でも(ステップS1206)、そのユーザ情報の変化が閾値を超えていない場合には、ステップS1207に進むようにしてもよい。例えば、情報処理装置1110の制御部が、ユーザ情報に基づいてユーザの移動距離を算出することができる場合には、ユーザの移動距離について閾値を設けることができる。この場合には、情報処理装置1110の制御部は、ユーザ情報に基づいて算出される移動距離が閾値を超えているか否かに基づく判断を行う(ステップS1206)。
[情報処理装置(シンク機器)の動作例]
図35は、本技術の第3の実施の形態における情報処理装置1110による表示制御処理の処理手順の一例を示すフローチャートである。図35では、ソース機器(情報処理装置1120)がユーザ情報の取得(抽出)および送信を行い、シンク機器(情報処理装置1110)が個人情報の生成と、個人情報およびソース機器の関連付けとを行う例を示す。
最初に、情報処理装置1110の制御部(図3に示す制御部370に相当)は、情報処理装置1120が備えるユーザ認識Capability情報を情報処理装置1120から受信したか否かを判断する(ステップS1301)。そして、その情報を受信していない場合には(ステップS1301)、監視を継続して行う。
ユーザ認識Capability情報を受信した場合には(ステップS1301)、情報処理装置1110の制御部は、情報処理装置1110が受信可能なユーザ認識Capability情報を情報処理装置1120に送信する(ステップS1302)。
続いて、情報処理装置1110の制御部は、ユーザ情報(または、位置情報)を情報処理装置1120から受信したか否かを判断する(ステップS1303)。そして、その情報を受信していない場合には(ステップS1303)、監視を継続して行う。
ユーザ情報(または、位置情報)を受信した場合には(ステップS1303)、情報処理装置1110の制御部は、情報処理装置1110において、ユーザ認識処理を行うことが可能な空きプロセスがあるか否かを判断する(ステップS1304)。ユーザ認識処理を行うことが可能な空きプロセスがない場合には(ステップS1304)、情報処理装置1110の制御部は、ユーザ認識処理を停止して待機し、一時的にユーザ認識処理を停止していることをユーザに通知する(ステップS1305)。例えば、表示部1111の表示画面を薄く表示したり、処理中のアイコンを表示したりすることにより、その旨をユーザに通知することができる。
なお、ここでは、ユーザ認識処理を行うことが可能な空きプロセスがあるか否かを判断する例を示した。ただし、空きプロセスあるか否かではなく、情報処理装置1110の処理負荷が重くユーザ認識処理を行うことが可能であるか否かを判断するようにしてもよい(ステップS1304)。
また、ユーザ認識処理を行うことが可能な空きプロセスがある場合には(ステップS1304)、情報処理装置1110の制御部は、ユーザ認識処理を行う(ステップS1306)。
続いて、情報処理装置1110の制御部は、受信したユーザ情報と一致する照合情報1152がユーザ情報保持部1150(図26に示す)に存在するか否かを判断する(ステップS1307)。受信したユーザ情報と一致する照合情報1152が存在する場合には、情報処理装置1110の制御部は、情報処理装置1120の端末識別情報と、受信したユーザ情報とを関連付けてリンク情報保持部1160に格納する(ステップS1308)。
続いて、情報処理装置1110の制御部は、ユーザ認識処理を終了した旨の通知(ユーザ認識終了通知)を情報処理装置1120に送信する(ステップS1309)。
続いて、情報処理装置1110の制御部は、受信したユーザ情報に関連付けられたソース機器に対応する表示領域と、受信したユーザ情報とを関連付ける(ステップS1310)。例えば、図25に示す機器情報保持部1140に各情報が格納される。
続いて、情報処理装置1110の制御部は、受信したユーザ情報に基づいて、このユーザ情報に関連付けられたソース機器に対応する表示領域を移動させる(ステップS1311)。
例えば、表示部1111に対して水平方向(長辺方向)にユーザが移動したような場合には、そのユーザに関連付けられている画像を表示部1111の水平方向に移動させるようにすることができる。
また、例えば、表示部1111に対して前後方向にユーザが移動したような場合には、そのユーザに関連付けられている画像を表示部1111の垂直方向に移動させるようにすることができる。これらの場合に、例えば、情報処理装置1110の制御部は、受信したユーザ情報(または、位置情報)に基づいてユーザの移動距離およびその方向を推定し、この推定結果に基づいて画像の表示領域を移動させることができる。
ここで、例えば、表示領域の移動中に、複数の表示領域が重複するような場合には、固定されている表示領域を優先させることができる。例えば、移動中の表示領域の画像を薄くしたり、固定されている表示領域の画像を前側に表示したりすることができる。
また、受信したユーザ情報と一致する照合情報1152が存在しない場合には(ステップS1307)、情報処理装置1110の制御部は、認証依頼を情報処理装置1120に要求する(ステップS1313)。
ここで、認証依頼要求(Requestパケット)を送信する送信方法として、Probe Response時のIE(Information Element)に認証依頼要求を格納することができる。なお、IEの中で認証依頼要求を格納する領域は限定されない。また、WSC IE、P2P IE、WFD IEの何れに格納するようにしてもよい。
また、例えば、TCPとのコネクションを行った後に、UIBCの反対方法に相当する(ソース機器からシンク機器への制御)制御リンクを用意し、この制御リンクにより認証依頼要求をやりとりするようにしてもよい。
また、図14に示すRTSPプロトコルを用いて、認証依頼要求をやりとりするようにしてもよい。
ここで、認証依頼要求を送信した後の処理について説明する。例えば、情報処理装置1110の制御部は、送信されたユーザ情報の登録がされていない旨を、情報処理装置1120のユーザに通知することができる。例えば、情報処理装置1120の表示部1121に、その旨のメッセージと、ユーザに撮像部1122を用いて顔を撮影することを促すメッセージとを表示することができる。この表示後に、例えば、ユーザが撮像部1122を用いて顔を撮影した場合には、情報処理装置1120の制御部は、その撮影により生成された画像データ(ユーザの顔を含む)を情報処理装置1110に送信する。その画像データを受信した場合には、情報処理装置1110の制御部は、その画像データに含まれる顔を、情報処理装置1120のユーザとして認識する。そして、情報処理装置1110の制御部は、その画像データ(または、その顔を認識することができる情報)を、ユーザ情報保持部1150の照合情報1152に格納する。
なお、これらの各処理については、情報処理装置1110の表示部1111に接続するための接続処理の一部として行うようにしてもよい。
このように、情報処理装置1110の制御部は、無線通信を利用して複数のソース機器から送信された画像情報に基づく画像を表示部1111における何れかの領域にソース機器毎に表示させる制御を行う。また、情報処理装置1110の制御部は、ソース機器に関連付けられているユーザと、表示部1111との位置関係に基づいて、表示部1111におけるそのソース機器に対応する画像の表示態様を決定する制御を行う。
例えば、情報処理装置1110の制御部は、ユーザが移動した場合には、その移動に基づいて、表示部1111におけるそのユーザに関連付けられているソース機器に対応する画像の表示領域を移動させることができる。
例えば、情報処理装置1110の制御部は、登録されている登録ユーザ情報(照合情報)と、ソース機器から送信されたユーザ情報とに基づいてユーザ認識処理を行う。そして、情報処理装置1110の制御部は、そのユーザ認識処理の結果に基づいて、そのユーザについて登録ユーザ情報と、表示部1111に表示されている画像との関連付けを行う。また、情報処理装置1110の制御部は、ユーザ情報の変化に基づいて、画像の表示態様を決定する。
例えば、情報処理装置1110の制御部は、ユーザ認識処理の結果、ソース機器から送信されたユーザ情報に対応する登録ユーザ情報が存在しない場合には、そのユーザ情報に係る登録ユーザ情報を依頼するための依頼情報をそのソース機器に送信する。
次に、ソース機器(情報処理装置1120)がユーザ情報の取得(抽出)、個人情報の生成およびこれらの送信を行い、シンク機器(情報処理装置1110)が個人情報およびソース機器の関連付けを行う例を図36、図37に示す。
[情報処理装置(ソース機器)の動作例]
図36は、本技術の第3の実施の形態における情報処理装置1120によるユーザ情報送信処理の処理手順の一例を示すフローチャートである。なお、図36は、図34の変形例であるため、図34と共通する部分についての説明の一部を省略する。具体的には、ステップS1211乃至S1213、S1217は、図34に示すステップS1201乃至S1203、S1207に対応する。
情報処理装置1120の制御部は、選択されたユーザ認識デバイスにより取得されたユーザ情報を用いて個人情報および位置情報を生成する(ステップS1214)。続いて、情報処理装置1120の制御部は、その生成された個人情報および位置情報を情報処理装置1110に送信する(ステップS1215)。
続いて、情報処理装置1120の制御部は、選択されたユーザ認識デバイスにより取得されたユーザ情報に変化があるか否かを判断する(ステップS1216)。
ユーザ情報に変化がある場合には(ステップS1216)、情報処理装置1120の制御部は、最新の個人情報および位置情報を情報処理装置1110に送信する(ステップS1218)。
[情報処理装置(シンク機器)の動作例]
図37は、本技術の第3の実施の形態における情報処理装置1110による表示制御処理の処理手順の一例を示すフローチャートである。なお、図37は、図35の変形例であるため、図35と共通する部分についての説明の一部を省略する。具体的には、ステップS1321、S1322、S1325、S1326、S1327乃至S1332は、図35に示すステップS1301、S1302、S1304、S1305、S1307、S1308、S1310乃至S1313に対応する。
情報処理装置1110の制御部は、個人情報および位置情報を情報処理装置1120から受信したか否かを判断する(ステップS1323)。そして、個人情報および位置情報を受信していない場合には(ステップS1323)、監視を継続して行う。
個人情報および位置情報を受信した場合には(ステップS1323)、情報処理装置1110の制御部は、ユーザ操作(例えば、タッチ操作)に基づいて、個人情報と、位置情報と、表示領域とを関連付ける(ステップS1324)。
続いて、情報処理装置1110の制御部は、情報処理装置1110において、空きプロセスがあるか否かを判断する(ステップS1325)。空きプロセスがない場合には(ステップS1325)、情報処理装置1110の制御部は、ユーザ認識処理を停止して待機し、一時的にユーザ認識処理を停止していることをユーザに通知する(ステップS1326)。
また、空きプロセスがある場合には(ステップS1325)、情報処理装置1110の制御部は、受信した個人情報と一致するユーザ識別情報が存在するか否かを判断する(ステップS1327)。受信した個人情報と一致するユーザ識別情報が存在する場合には(ステップS1327)、情報処理装置1110の制御部は、情報処理装置1120の端末識別情報と、受信した個人情報とを関連付けてリンク情報保持部1160に格納する(ステップS1328)。
続いて、情報処理装置1110の制御部は、受信したユーザ情報に関連付けられたソース機器に対応する表示領域と、受信した個人情報とを関連付ける(ステップS1329)。
続いて、情報処理装置1110の制御部は、受信した位置情報に基づいて、受信した個人情報に関連付けられたソース機器に対応する表示領域を移動させる(ステップS1330)。
このように、ソース機器は、ユーザに関するユーザ情報を取得し、登録されている登録ユーザ情報とユーザ情報とに基づいてユーザ認識処理を行い、そのユーザ認識処理の結果を情報処理装置1110に送信することができる。この場合には、情報処理装置1110の制御部は、ソース機器から送信されたユーザ認識処理の結果に基づいて、ユーザについて登録ユーザ情報と表示部1111に表示されている画像との関連付けを行う。また、情報処理装置1110の制御部は、ユーザ情報(または、位置情報)の変化に基づいて、表示部1111における画像の表示態様を決定することができる。
次に、ソース機器(情報処理装置1120)がユーザ情報の取得(抽出)、個人情報の生成、個人情報およびソース機器の関連付け、これらの送信を行い、シンク機器(情報処理装置1110)が各ユーザに関する情報の更新を行う例を図38乃至図41に示す。
[情報処理装置(ソース機器)の動作例]
図38は、本技術の第3の実施の形態における情報処理装置1120によるユーザ情報送信処理の処理手順の一例を示すフローチャートである。なお、図38は、図34の変形例であるため、図34と共通する部分についての説明の一部を省略する。
最初に、情報処理装置1120の制御部は、ユーザ認識処理要求を受信したか否かを判断する(ステップS1221)。ユーザ認識処理要求を受信していない場合には(ステップS1221)、監視を継続して行う。
ユーザ認識処理要求を受信した場合には(ステップS1221)、情報処理装置1120の制御部は、自装置のユーザ認識Capability情報を確認する(ステップS1222)。続いて、情報処理装置1120の制御部は、自装置が処理可能なユーザ認識処理を選択する(ステップS1223)。
続いて、情報処理装置1120の制御部は、ユーザ認識処理を行う(ステップS1224)。続いて、情報処理装置1120の制御部は、位置情報を生成する(ステップS1225)。
続いて、情報処理装置1120の制御部は、ユーザ情報(または、位置情報)に変化があるか否かを判断する(ステップS1226)。ユーザ情報に変化がある場合には(ステップS1226)、情報処理装置1120の制御部は、IPアドレスの割り当てが終了しているか否かを判断する(ステップS1228)。IPアドレスの割り当てが終了していない場合には(ステップS1228)、情報処理装置1120の制御部は、DHCPサーバにIPアドレスを要求する(ステップS1229)。
IPアドレスの割り当てが終了している場合には(ステップS1228)、情報処理装置1120の制御部は、IPアドレスと個人情報と位置情報とを情報処理装置1110に送信する(ステップS1230)。なお、IPアドレスの代わりに、他の端末識別情報を用いるようにしてもよい。
このように、情報処理装置1120の制御部は、ユーザ情報を取得し、登録されている登録ユーザ情報と、ユーザ情報とに基づいてユーザ認識処理を行う。そして、情報処理装置1120の制御部は、ユーザ認識処理の結果に基づいて、ユーザについて登録ユーザ情報と表示部1111に表示されている画像との関連付けを行う。また、情報処理装置1120の制御部は、関連付けの結果と、ユーザ情報に基づく位置情報とを情報処理装置1110に送信する。
これにより、ソース毎に異なるユーザ認識処理を選択することが可能となる。なお、例えば、ユーザが移動している場合にのみ各情報をシンク機器に送信することにより、ソース機器の処理負荷を軽減することができる。
[情報処理装置(シンク機器)の動作例]
図39は、本技術の第3の実施の形態における情報処理装置1110による表示制御処理の処理手順の一例を示すフローチャートである。なお、図39は、図35の変形例であるため、図35と共通する部分についての説明の一部を省略する。
情報処理装置1110の制御部は、ユーザ認識処理要求を情報処理装置1120に送信する(ステップS1341)。
続いて、情報処理装置1110の制御部は、IPアドレスと個人情報と位置情報とを情報処理装置1120から受信したか否かを判断する(ステップS1342)。そして、これらの情報を受信していない場合には(ステップS1342)、監視を継続して行う。
IPアドレスと個人情報と位置情報とを受信した場合には(ステップS1343)、情報処理装置1110の制御部は、情報処理装置1110において、空きプロセスがあるか否かを判断する(ステップS1343)。空きプロセスがない場合には(ステップS1343)、情報処理装置1110の制御部は、ユーザ認識処理を停止して待機し、一時的にユーザ認識処理を停止していることをユーザに通知する(ステップS1344)。
また、空きプロセスがある場合には(ステップS1343)、情報処理装置1110の制御部は、受信した各情報を管理情報として記録する(ステップS1345)。続いて、情報処理装置1110の制御部は、受信した位置情報に基づいて、受信した個人情報に関連付けられたソース機器に対応する表示領域を移動させる(ステップS1346)。
このように、情報処理装置1110の制御部は、ソース機器から送信された関連付けの結果(IPアドレスおよび個人情報)を記録し、ソース機器から送信された位置情報に基づいて表示部1111における画像の表示態様を決定する。
[ソース機器とシンク機器の表示位置とのリンクを行う場合の通信例]
図40および図41は、本技術の第3の実施の形態におけるソース機器およびシンク機器間における通信処理例を示すシーケンスチャートである。図40および図41は、図28の変形例であり、一部が図28と共通する。このため、ここでは、図28と異なる点を中心に説明をする。
例えば、Capability Exchangeを完了することにより、ソース機器820からシンク機器830への画像データおよび音声データの送信が開始される(1181)。この送信が開始された後に、ソース機器820を所有するユーザと、シンク機器830の表示部に表示されている表示領域(表示ウィンドウ)とのリンクを行うための処理が開始される(1182乃至1184)。
最初に、シンク機器830からソース機器820にユーザ認識処理要求が送信される(1182)。これにより、ソース機器820において各処理が行われる。
続いて、ソース機器820からシンク機器830にユーザ認識処理終了通知が送信される(1183)。続いて、ソース機器820からシンク機器830に各情報(ユーザ認識情報(個人情報)、端末識別情報(IPアドレス)、位置情報)が送信される(1184)。
なお、図40では、Wi−Fi CERTIFIED Miracastのプロトコルにより、画像音声送信を開始した後に、ユーザと表示画面とのリンクを行う例を示したが、これに限定されない。例えば、これらの順序を入れ替えるようにしてもよい。
例えば、ソース機器820およびシンク機器830が、L3 Connectivityを終了した後に、上述したリンク処理(1182乃至1184)を行うようにしてもよい。この例(1185乃至1187)を図41に示す。
[ユーザ認識処理例]
ここで、ソース機器がモバイル機器であるか否か、シンク機器に接続されているソース機器の数等を考慮して、ソース機器、シンク機器により行われるユーザ認識処理を適切に選択することが好ましい。そこで、ユーザ認識処理を適切に選択する例を図42乃至図45に示す。
最初に、ソース機器がモバイル機器であるか否かと、ソース機器のバッテリ残容量とに基づいてユーザ認識処理を選択する例を示す。
[情報処理装置(ソース機器)の動作例]
図42は、本技術の第3の実施の形態における情報処理装置1120によるユーザ認識処理選択処理の処理手順の一例を示すフローチャートである。
最初に、情報処理装置1120の制御部は、自装置がモバイル機器であるか否かを判断する(ステップS1401)。自装置がモバイル機器である場合には(ステップS1401)、情報処理装置1120の制御部は、モバイル対応のユーザ認識処理のリストを選択する(ステップS1402)。ここで、モバイル機器は、処理能力が低いことも想定される。そこで、例えば、処理の負荷が比較的軽い所定数の処理をモバイル対応のユーザ認識処理としてリスト化することができる。
続いて、情報処理装置1120の制御部は、自装置のバッテリ残容量が閾値以上であるか否かを判断する(ステップS1403)。自装置のバッテリ残容量が閾値未満である場合には(ステップS1403)、情報処理装置1120の制御部は、モバイル対応のユーザ認識処理のリストのうちから比較的軽いユーザ認識処理を選択する(ステップS1404)。この場合に、自装置のバッテリ残容量に応じて、処理の軽さを選択するようにしてもよい。
また、自装置がモバイル機器でない場合(ステップS1401)、または、自装置のバッテリ残容量が閾値以上である場合には(ステップS1403)、情報処理装置1120の制御部は、精度が高いユーザ認識処理を選択する(ステップS1405)。
[情報処理装置(シンク機器)の動作例]
図43は、本技術の第3の実施の形態における情報処理装置1110によるユーザ認識処理選択処理の処理手順の一例を示すフローチャートである。
最初に、情報処理装置1110の制御部は、接続先のソース機器がモバイル機器であるか否かを判断する(ステップS1411)。接続先のソース機器がモバイル機器である場合には(ステップS1411)、情報処理装置1110の制御部は、モバイル対応のユーザ認識処理のリストを選択する(ステップS1412)。
続いて、情報処理装置1110の制御部は、接続先のソース機器のバッテリ残容量が閾値以上であるか否かを判断する(ステップS1413)。例えば、ソース機器から定期的または不定期にバッテリ残容量に関する情報を取得することによりその判断を行うことができる。
接続先のソース機器のバッテリ残容量が閾値未満である場合には(ステップS1413)、情報処理装置1110の制御部は、モバイル対応のユーザ認識処理のリストのうちから比較的軽いユーザ認識処理を選択する(ステップS1414)。
また、ソース機器がモバイル機器でない場合(ステップS1411)、または、ソース機器のバッテリ残容量が閾値以上である場合には(ステップS1413)、情報処理装置1120の制御部は、精度が高いユーザ認識処理を選択する(ステップS1415)。
次に、シンク機器に接続されているソース機器の数に基づいてユーザ認識処理を選択する例を示す。
[情報処理装置(シンク機器)の動作例]
図44は、本技術の第3の実施の形態における情報処理装置1110によるユーザ認識処理選択処理の処理手順の一例を示すフローチャートである。
最初に、情報処理装置1110の制御部は、同時接続数N(パラメータN)を決定する(ステップS1421)。続いて、情報処理装置1110の制御部は、情報処理装置1110に接続されているソース機器の数がNの場合に処理が可能なユーザ認識処理のリストを作成する(ステップS1422)。
続いて、情報処理装置1110の制御部は、情報処理装置1110に接続されているソース機器の数がN以上であるか否かを判断する(ステップS1423)。
情報処理装置1110に接続されているソース機器の数がN以上である場合には(ステップS1423)、情報処理装置1110の制御部は、情報処理装置1110が行っているユーザ認識処理をソース機器での処理に変更する(ステップS1424)。
また、情報処理装置1110に接続されているソース機器の数がN未満である場合には(ステップS1423)、情報処理装置1110の制御部は、精度が高いユーザ認識処理を選択する(ステップS1425)。
続いて、情報処理装置1110の制御部は、情報処理装置1110に接続されているソース機器の数が接続上限値を超えたか否かを判断する(ステップS1426)。情報処理装置1110に接続されているソース機器の数が接続上限値を超えた場合には(ステップS1426)、ユーザ認識処理選択処理の動作を終了する。
情報処理装置1110に接続されているソース機器の数が接続上限値を超えていない場合には(ステップS1426)、情報処理装置1110の制御部は、同時接続数N(パラメータN)を変更する(ステップS1427)。
図45は、本技術の第3の実施の形態における情報処理装置1110によるユーザ認識処理選択処理の処理手順の一例を示すフローチャートである。なお、図45は、図44の変形例である。このため、図44と共通する部分についての説明の一部を省略する。
最初に、情報処理装置1110の制御部は、同時接続数N(パラメータN)を決定する(ステップS1431)。続いて、情報処理装置1110の制御部は、情報処理装置1110に接続されているソース機器のユーザの数が閾値以上であるか否かを判断する(ステップS1432)。
ユーザの数が閾値以上である場合には(ステップS1432)、情報処理装置1110の制御部は、ユーザの数が多いとユーザ認識が難しいユーザ認識処理を排除したリストを作成する(ステップS1433)。
ユーザの数が閾値未満である場合には(ステップS1432)、情報処理装置1110の制御部は、全てのユーザ認識処理を含むリストを作成する(ステップS1434)。
続いて、情報処理装置1110の制御部は、情報処理装置1110に接続されているソース機器の数がN以上であるか否かを判断する(ステップS1435)。
情報処理装置1110に接続されているソース機器の数がN以上である場合には(ステップS1435)、情報処理装置1110の制御部は、情報処理装置1110が行っているユーザ認識処理をソース機器での処理に変更する(ステップS1436)。
また、シンク機器に接続されているソース機器の数がN未満である場合には(ステップS1435)、情報処理装置1110の制御部は、精度が高いユーザ認識処理を選択する(ステップS1437)。
続いて、情報処理装置1110の制御部は、情報処理装置1110に接続されているソース機器の数が接続上限値を超えたか否かを判断する(ステップS1438)。情報処理装置1110に接続されているソース機器の数が接続上限値を超えた場合には(ステップS1438)、ユーザ認識処理選択処理の動作を終了する。
情報処理装置1110に接続されているソース機器の数が接続上限値を超えていない場合には(ステップS1438)、ステップS1435に戻る。
なお、ユーザ認識処理を行う前に、ユーザ認識処理の対象となるソース機器またはシンク機器に、接続してよいかを確認するための画面を表示させ、ユーザの確認操作が行われたことを条件にユーザ認識処理を行うようにしてもよい。例えば、シンク機器にその画面を表示させる場合には、対応する画像の表示領域の付近に、そのユーザの識別情報(ユーザID、ユーザ名称)を表示させることができる。これにより、シンク機器における無駄な処理を削減させることができる。また、処理をソース側にする場合には、シンク機器の負荷をさらに軽減させ、複数のソース機器の接続による負荷の分散をすることができる。
[画像の表示領域および向きを決定する例]
以上では、ユーザの位置に応じて画像の表示領域を決定する例を示した。ここでは、ユーザの位置に応じて画像の表示領域および向きを決定する例を示す。
図46乃至図48は、本技術の第3の実施の形態における通信システム1500のシステム構成例を示す図である。なお、図46乃至図48では、通信システム1500が設置されている空間の上面図を簡略化して示す。
通信システム1500は、テーブル表示装置1510と、情報処理装置1520と、情報処理装置1530とを備える。テーブル表示装置1510は、矩形のテーブル型の情報処理装置であり、矩形のテーブル表面の全部または一部を表示部1511とする。
図46では、情報処理装置1520を所有するユーザ41が椅子に座り、情報処理装置1520から送信された画像データに基づく画像51を見ている場合(ユーザ31の視線を点線42で示す)を示す。また、図46では、情報処理装置1530を所有するユーザ43が、情報処理装置1530から送信された画像データに基づく画像52を見ている場合(ユーザ43の視線を点線44で示す)を示す。
また、図47では、ユーザ41およびユーザ43が移動した後における画像53、54の表示例を示す。また、図47では、ユーザ41の視線を点線46で示し、ユーザ43の視線を点線45で示す。
また、図48では、ユーザ43が移動した後における画像55の表示例を示す。また、図48では、ユーザ43の視線を点線47で示す。
なお、テーブル表示装置1510は、図22等に示す情報処理装置1110(または、これに接続される表示装置)に対応する。また、情報処理装置1520および情報処理装置1530は、図22等に示す情報処理装置1120、1130に対応する。
例えば、表示部1511の矩形の長辺方向にユーザが移動したような場合には、そのユーザに関連付けられている画像を表示部1511の矩形の長辺方向に移動させるようにすることができる。
また、例えば、表示部1511の矩形の短辺方向にユーザが移動したような場合には、そのユーザに関連付けられている画像を表示部1511の矩形の短辺方向に移動させるようにすることができる。これらの場合における移動距離および方向は、例えば、ユーザ情報や位置情報に基づいて求めることができる。
ここで、例えば、表示部1511の矩形の短辺方向にユーザが移動したような場合には、テーブル(テーブル表示装置1510)の反対側に移動することも想定される。そこで、表示部1511の矩形の短辺方向にユーザが閾値以上移動したような場合には、そのユーザに関連付けられている画像の向きを表示部1511において反転(上下方向の向きを逆にする)させるようにすることができる。
例えば、ユーザ41、43が、図46に示す位置から、図47に示す位置に移動した場合を想定する。この場合には、上述したように、テーブル表示装置1510は、ユーザ41、43の移動に応じて、表示部1511における画像51、52の表示領域を決定して画像53、54を表示させる。ここで、ユーザ41は、表示部1511の矩形の長辺の辺上を移動しているが、ユーザ43は、表示部1511の矩形の長辺の反対側の長辺側に移動している。このような場合には、図47に示すように、ユーザ43が見ている画像53の向きを決定して表示するようにする。
例えば、ユーザがテーブルの何れの辺の近くに存在するかを、ユーザ情報として取得し、このユーザ情報に基づいて、画像の表示領域および向きを決定して表示するようにする。例えば、テーブル、椅子の付近に複数のセンサ(例えば、温度センサ、人検知センサ)を設置し、これらの各センサによりユーザ情報を取得して用いるようにしてもよい。
また、例えば、通信システム1500において、テーブル表示装置1510および12脚の椅子の全体またはその一部を撮像範囲とする撮像センサまたは撮像装置を設置することができる。なお、撮像センサは、例えば、立体撮像を行い、ユーザの前後左右を含む位置関係を認識することが可能なセンサである。また、撮像装置は、例えば、固定型のデジタルスチルカメラ、デジタルビデオカメラである。
このように、撮像センサまたは撮像装置を設置する場合には、テーブル表示装置1510(または、これに接続される情報処理装置)は、その機器(撮像センサまたは撮像装置)により生成される画像データを取得し、その画像データを解析する。この解析結果に基づいて、テーブル表示装置1510(または、これに接続される情報処理装置)は、その画像データに含まれるユーザを検出することができる。また、テーブル表示装置1510(または、これに接続される情報処理装置)は、その画像データにおけるユーザの位置に基づいて、テーブル表示装置1510とユーザとの位置関係を把握することができる。このように、テーブル表示装置1510とユーザとの位置関係を把握することにより、テーブル表示装置1510は、ユーザが存在する場所に応じて、画像の表示領域および向きを決定することができる。例えば、テーブル表示装置1510の表示部1511のうち、ユーザが存在する場所に最も近い表示領域を、そのユーザに関連付けられているソース機器に対応する画像の表示領域とし、そのユーザが存在する場所の方向をその画像の下側とすることができる。
例えば、ユーザ43が、図47に示す位置から、図48に示す位置に移動した場合を想定する。この場合には、上述したように、テーブル表示装置1510は、ユーザ43の移動に応じて、表示部1511における画像53の表示領域を決定して画像55を表示させる。また、ユーザ43は、表示部1511の矩形の4頂点のうちの1つに相当する位置に移動しているため、ユーザ43の視線(点線47)は、表示部1511の矩形の長辺方向に対して斜めとなる。このような場合には、図48に示すように、ユーザ43の視線(点線47)の方向に応じて画像55の向きを決定して表示するようにする。
また、例えば、ユーザ43は、図47に示す位置から、図48に示す位置に移動したときに、情報処理装置1530を持たずに移動している。この場合でも、情報処理装置1530の位置とは無関係に、ユーザ43の位置を基準として、画像55の表示領域および向きを決定することができる。
また、テーブル表示装置1510(または、これに接続される情報処理装置)は、外部装置から、ユーザに関する位置情報を取得し、この位置情報に基づいて、テーブル表示装置1510とユーザとの位置関係を把握するようにしてもよい。この場合についても同様に、テーブル表示装置1510は、ユーザが存在する場所に応じて、画像の表示領域および向きを決定することができる。なお、外部装置は、例えば、ユーザが装着している機器(例えば、位置情報を取得可能な時計)である。
このように、テーブル表示装置1510の制御部は、ユーザの移動に基づいて、表示部1511におけるそのユーザに関連付けられているソース機器に対応する画像の表示領域の移動およびその画像の向きのうちの少なくとも1つを決定することができる。
なお、図46乃至図48では、2人以上のユーザが存在し、各ユーザが所有する機器以外の機器(テーブル表示装置1510)を共有する場合の例を示すが、本技術はこれに限定されない。例えば、複数のユーザが1人のユーザのディスプレイを共有するケースにも対応することができる。この場合には、複数のユーザの中から画像をリンクしているユーザを常に識別していることが必要となる。さらに、画像にリンクしているユーザを途中で変更するユーザインターフェースがあってもよいものとする。
なお、本技術の第3の実施の形態では、主に、シンク機器でリンク情報を管理する例を示したが、ソース機器でリンク情報を管理するようにしてもよい。
例えば、複数のソース機器が接続される環境では、シンク機器が全てのソース機器のCapability情報を把握することができるため、シンク機器側でリンク情報を管理することが好ましい。ただし、複数のシンク機器が接続される環境では、ソース機器が全てのシンク機器のCapability情報を把握することができるため、シンク機器の制御に基づいてソース機器がリンク情報を管理することができる。
また、例えば、トポロジに応じて、ソース機器とシンク機器との管理方法を切り替えるようにしてもよい。例えば、ユーザ情報の取得能力(抽出能力)と照合能力とをフラグでソース機器からシンク機器に送信し、シンク機器が各ソース機器の管理方法を設定することができる。これにより、ソース機器の能力に応じて、ユーザ認識処理と、リンク情報の管理とを適切に行うことができる。
また、本技術の第3の実施の形態では、主に、ソース機器により取得されたユーザ情報を用いる例を示したが、図30、図32に示すように、シンク機器により取得されたユーザ情報を用いることができる。
例えば、シンク機器の制御部は、自装置で取得したユーザ情報に基づく位置情報に基づいて、表示部における画像の表示態様を決定することができる。
また、例えば、ソース機器の制御部は、登録されている登録ユーザ情報と、シンク機器から送信されたユーザ情報とに基づいてユーザ認識処理を行うことができる。そして、ソース機器の制御部は、そのユーザ認識処理の結果に基づいて、ユーザについて登録ユーザ情報と、シンク機器側の表示部に表示されている画像との関連付けを行い、その関連付けの結果をシンク機器に送信することができる。
また、例えば、シンク機器の制御部は、登録されている登録ユーザ情報と、自装置で取得したユーザ情報とに基づいてユーザ認識処理を行い、このユーザ認識処理の結果をソース機器に送信することができる。この場合には、ソース機器の制御部は、そのユーザ認識処理の結果に基づいて、ユーザについて登録ユーザ情報と、シンク機器側の表示部に表示されている画像との関連付けを行い、その関連付けの結果をシンク機器に送信する。
また、例えば、シンク機器の制御部は、登録されている登録ユーザ情報と、自装置で取得したユーザ情報とに基づいてユーザ認識処理を行う。そして、シンク機器の制御部は、そのユーザ認識処理の結果に基づいて、ユーザについて登録ユーザ情報と、シンク機器側の表示部に表示されている画像との関連付けを行う。また、例えば、シンク機器の制御部は、表示部における画像の表示態様を決定するか否かを確認するための確認情報をソース機器に送信することができる。この場合に、ソース機器の制御部は、ユーザ操作によりその確認情報についての承認がされた場合には、承認情報をシンク機器に送信する。そして、シンク機器の制御部は、その承認情報を受信した場合には、ユーザ情報に基づく位置情報に基づいて、表示部における画像の表示態様を決定するようにする。このように、ユーザが画面の移動要求を行った場合にのみ、ユーザの動きに追従してそのユーザが見ている画像を移動させるようにしてもよい。
このように、本技術の第3の実施の形態では、ソース機器を所有するユーザが複数存在し、これらの各ソース機器からの画像をシンク機器側の表示部に表示する場合において、ユーザが移動したような場合でも、そのユーザに見易い画像を提供することができる。例えば、壁がディスプレイとなっている場合や、リビングテーブルがディスプレイとなっている場合においても、ユーザに見易い画像を提供することができる。例えば、ソース機器の物理的位置と、シンク機器の表示領域とが異なるような状況でも、各ユーザにとって見やすい画像を提供することができる。
また、ソース機器の制御に基づいて、ソース機器およびシンク機器間で各処理を分担させることができる。例えば、ソース機器およびシンク機器は、ユーザ認識処理を実行できる機器を容易に把握することができる。そして、シンク機器の制御に基づいて、ユーザ認識処理を実行する機器を適切に選択することができる。
例えば、シンク機器にユーザ認識処理を実行させる場合には、ソース機器における無駄な処理を削減させ、処理をシンク機器にまとめることができ、ソース機器の負荷軽減をすることができる。
また、例えば、ソース機器にユーザ認識処理を実行させる場合には、シンク機器側では、ユーザのみを把握していればよいため、処理の負荷を軽減させることができる。また、例えば、ソース機器毎に異なるアルゴリズムを利用することが可能であるため、全てのソース機器で同一のユーザ識別処理を選択する必要がない。
また、例えば、シンク機器側で認識することができないユーザについては、そのユーザのソース機器に認証要求(認証依頼)を行うことができる。これにより、全てのユーザについて画像の表示態様を決定することができる。また、全てのユーザが認証を終了したか否かを判断することが可能となる。
また、例えば、ソース機器にユーザ認識処理を実行させる場合には、照合情報のような個人情報をソース機器側で保持して管理することができる。また、シンク機器の負荷を分散させることができる。また、照合後のユーザ情報をユーザに伝え、ユーザに確認をした後にリンクさせることができる。
なお、本技術の第3の実施の形態では、ソース機器のユーザが移動する場合の例を示した。ただし、シンク機器(または、これに接続される表示装置)が移動することも想定される。例えば、シンク機器(例えば、大型ディスプレイ)が移動体(例えば、自動車)に設置されている場合には、シンク機器が移動することがある。このように、シンク機器(または、これに接続される表示装置)が移動する場合についても本技術の第3の実施の形態を適用することができる。すなわち、シンク機器は、ソース機器に関連付けられているユーザと、表示部(シンク機器、これに接続される表示装置)との位置関係(相対的な位置関係)に基づいて、表示部におけるそのソース機器に対応する画像の表示態様を決定する制御を行うことができる。
<4.応用例>
本開示に係る技術は、様々な製品へ応用可能である。例えば、情報処理装置200、300、400、703、704、710、720、730、1110、1120、1130、1510、1520、1530は、スマートフォン、タブレットPC(Personal Computer)、ノートPC、携帯型ゲーム端末若しくはデジタルカメラなどのモバイル端末、テレビジョン受像機、プリンタ、デジタルスキャナ若しくはネットワークストレージなどの固定端末、又はカーナビゲーション装置などの車載端末として実現されてもよい。また、情報処理装置200、300、400、703、704、710、720、730、1110、1120、1130、1510、1520、1530は、スマートメータ、自動販売機、遠隔監視装置又はPOS(Point Of Sale)端末などの、M2M(Machine To Machine)通信を行う端末(MTC(Machine Type Communication)端末ともいう)として実現されてもよい。さらに、情報処理装置200、300、400、703、704、710、720、730、1110、1120、1130、1510、1520、1530は、これら端末に搭載される無線通信モジュール(例えば、1つのダイで構成される集積回路モジュール)であってもよい。
[4−1.第1の応用例]
図55は、本開示に係る技術が適用され得るスマートフォン900の概略的な構成の一例を示すブロック図である。スマートフォン900は、プロセッサ901、メモリ902、ストレージ903、外部接続インタフェース904、カメラ906、センサ907、マイクロフォン908、入力デバイス909、表示デバイス910、スピーカ911、無線通信インタフェース913、アンテナスイッチ914、アンテナ915、バス917、バッテリー918及び補助コントローラ919を備える。
プロセッサ901は、例えばCPU(Central Processing Unit)又はSoC(System on Chip)であってよく、スマートフォン900のアプリケーションレイヤ及びその他のレイヤの機能を制御する。メモリ902は、RAM(Random Access Memory)及びROM(Read Only Memory)を含み、プロセッサ901により実行されるプログラム及びデータを記憶する。ストレージ903は、半導体メモリ又はハードディスクなどの記憶媒体を含み得る。外部接続インタフェース904は、メモリーカード又はUSB(Universal Serial Bus)デバイスなどの外付けデバイスをスマートフォン900へ接続するためのインタフェースである。
カメラ906は、例えば、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子を有し、撮像画像を生成する。センサ907は、例えば、測位センサ、ジャイロセンサ、地磁気センサ及び加速度センサなどのセンサ群を含み得る。マイクロフォン908は、スマートフォン900へ入力される音声を音声信号へ変換する。入力デバイス909は、例えば、表示デバイス910の画面上へのタッチを検出するタッチセンサ、キーパッド、キーボード、ボタン又はスイッチなどを含み、ユーザからの操作又は情報入力を受け付ける。表示デバイス910は、液晶ディスプレイ(LCD)又は有機発光ダイオード(OLED)ディスプレイなどの画面を有し、スマートフォン900の出力画像を表示する。スピーカ911は、スマートフォン900から出力される音声信号を音声に変換する。
無線通信インタフェース913は、IEEE802.11a、11b、11g、11n、11ac及び11adなどの無線LAN標準のうちの1つ以上をサポートし、無線通信を実行する。無線通信インタフェース913は、インフラストラクチャーモードにおいては、他の装置と無線LANアクセスポイントを介して通信し得る。また、無線通信インタフェース913は、アドホックモード又はWi−Fi Direct等のダイレクト通信モードにおいては、他の装置と直接的に通信し得る。なお、Wi−Fi Directでは、アドホックモードとは異なり2つの端末の一方がアクセスポイントとして動作するが、通信はそれら端末間で直接的に行われる。無線通信インタフェース913は、典型的には、ベースバンドプロセッサ、RF(Radio Frequency)回路及びパワーアンプなどを含み得る。無線通信インタフェース913は、通信制御プログラムを記憶するメモリ、当該プログラムを実行するプロセッサ及び関連する回路を集積したワンチップのモジュールであってもよい。無線通信インタフェース913は、無線LAN方式に加えて、近距離無線通信方式、近接無線通信方式又はセルラ通信方式などの他の種類の無線通信方式をサポートしてもよい。アンテナスイッチ914は、無線通信インタフェース913に含まれる複数の回路(例えば、異なる無線通信方式のための回路)の間でアンテナ915の接続先を切り替える。アンテナ915は、単一の又は複数のアンテナ素子(例えば、MIMOアンテナを構成する複数のアンテナ素子)を有し、無線通信インタフェース913による無線信号の送信及び受信のために使用される。また、IEEE802.16、3GPP仕様(例えば、W−CDMA、GSM、WiMAX、WiMAX2、LTE、LTE−A)等の公衆回線に接続するための無線通信インターフェースの機能を有し、公衆回線と通信し得る。
なお、図55の例に限定されず、スマートフォン900は、複数のアンテナ(例えば、無線LAN用のアンテナ及び近接無線通信方式用のアンテナ、公衆回線通信用アンテナなど)を備えてもよい。その場合に、アンテナスイッチ914は、スマートフォン900の構成から省略されてもよい。
バス917は、プロセッサ901、メモリ902、ストレージ903、外部接続インタフェース904、カメラ906、センサ907、マイクロフォン908、入力デバイス909、表示デバイス910、スピーカ911、無線通信インタフェース913及び補助コントローラ919を互いに接続する。バッテリー918は、図中に破線で部分的に示した給電ラインを介して、図55に示したスマートフォン900の各ブロックへ電力を供給する。補助コントローラ919は、例えば、スリープモードにおいて、スマートフォン900の必要最低限の機能を動作させる。
図55に示したスマートフォン900において、図2を用いて説明した制御部240、図3を用いて説明した制御部370は、無線通信インタフェース913において実装されてもよい。また、これら機能の少なくとも一部は、プロセッサ901又は補助コントローラ919において実装されてもよい。
なお、スマートフォン900は、プロセッサ901がアプリケーションレベルでアクセスポイント機能を実行することにより、無線アクセスポイント(ソフトウェアAP)として動作してもよい。また、無線通信インタフェース913が無線アクセスポイント機能を有していてもよい。
[4−2.第2の応用例]
図56は、本開示に係る技術が適用され得るカーナビゲーション装置920の概略的な構成の一例を示すブロック図である。カーナビゲーション装置920は、プロセッサ921、メモリ922、GPS(Global Positioning System)モジュール924、センサ925、データインタフェース926、コンテンツプレーヤ927、記憶媒体インタフェース928、入力デバイス929、表示デバイス930、スピーカ931、無線通信インタフェース933、アンテナスイッチ934、アンテナ935及びバッテリー938を備える。
プロセッサ921は、例えばCPU又はSoCであってよく、カーナビゲーション装置920のナビゲーション機能及びその他の機能を制御する。メモリ922は、RAM及びROMを含み、プロセッサ921により実行されるプログラム及びデータを記憶する。
GPSモジュール924は、GPS衛星から受信されるGPS信号を用いて、カーナビゲーション装置920の位置(例えば、緯度、経度及び高度)を測定する。センサ925は、例えば、ジャイロセンサ、地磁気センサ及び気圧センサなどのセンサ群を含み得る。データインタフェース926は、例えば、図示しない端子を介して車載ネットワーク941に接続され、車速データなどの車両側で生成されるデータを取得する。
コンテンツプレーヤ927は、記憶媒体インタフェース928に挿入される記憶媒体(例えば、CD又はDVD)に記憶されているコンテンツを再生する。入力デバイス929は、例えば、表示デバイス930の画面上へのタッチを検出するタッチセンサ、ボタン又はスイッチなどを含み、ユーザからの操作又は情報入力を受け付ける。表示デバイス930は、LCD又はOLEDディスプレイなどの画面を有し、ナビゲーション機能又は再生されるコンテンツの画像を表示する。スピーカ931は、ナビゲーション機能又は再生されるコンテンツの音声を出力する。
無線通信インタフェース933は、IEEE802.11a、11b、11g、11n、11ac及び11adなどの無線LAN標準のうちの1つ以上をサポートし、無線通信を実行する。無線通信インタフェース933は、インフラストラクチャーモードにおいては、他の装置と無線LANアクセスポイントを介して通信し得る。また、無線通信インタフェース933は、アドホックモード又はWi−Fi Direct等のダイレクト通信モードにおいては、他の装置と直接的に通信し得る。無線通信インタフェース933は、典型的には、ベースバンドプロセッサ、RF回路及びパワーアンプなどを含み得る。無線通信インタフェース933は、通信制御プログラムを記憶するメモリ、当該プログラムを実行するプロセッサ及び関連する回路を集積したワンチップのモジュールであってもよい。無線通信インタフェース933は、無線LAN方式に加えて、近距離無線通信方式、近接無線通信方式又はセルラ通信方式などの他の種類の無線通信方式をサポートしてもよい。アンテナスイッチ934は、無線通信インタフェース933に含まれる複数の回路の間でアンテナ935の接続先を切り替える。アンテナ935は、単一の又は複数のアンテナ素子を有し、無線通信インタフェース933による無線信号の送信及び受信のために使用される。
なお、図56の例に限定されず、カーナビゲーション装置920は、複数のアンテナを備えてもよい。その場合に、アンテナスイッチ934は、カーナビゲーション装置920の構成から省略されてもよい。
バッテリー938は、図中に破線で部分的に示した給電ラインを介して、図56に示したカーナビゲーション装置920の各ブロックへ電力を供給する。また、バッテリー938は、車両側から給電される電力を蓄積する。
図56に示したカーナビゲーション装置920において、図2を用いて説明した制御部240、図3を用いて説明した制御部370は、無線通信インタフェース933において実装されてもよい。また、これら機能の少なくとも一部は、プロセッサ921において実装されてもよい。
また、本開示に係る技術は、上述したカーナビゲーション装置920の1つ以上のブロックと、車載ネットワーク941と、車両側モジュール942とを含む車載システム(又は車両)940として実現されてもよい。車両側モジュール942は、車速、エンジン回転数又は故障情報などの車両側データを生成し、生成したデータを車載ネットワーク941へ出力する。
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、CD(Compact Disc)、MD(MiniDisc)、DVD(Digital Versatile Disc)、メモリカード、ブルーレイディスク(Blu-ray(登録商標)Disc)等を用いることができる。
なお、本明細書に記載された効果はあくまで例示であって、限定されるものではなく、また、他の効果があってもよい。
なお、本技術は以下のような構成もとることができる。
(1)
無線通信を利用して少なくとも1つの第1情報処理装置から送信された画像情報に基づく画像を表示部における何れかの領域に前記第1情報処理装置毎に表示させ、前記第1情報処理装置に関連付けられているユーザと前記表示部との位置関係に基づいて前記表示部における当該第1情報処理装置に対応する画像の表示態様を決定する制御を行う制御部を具備する情報処理装置。
(2)
前記制御部は、前記ユーザの移動に基づいて前記表示部における当該ユーザに関連付けられている第1情報処理装置に対応する画像の表示領域の移動および当該画像の向きのうちの少なくとも1つを決定する前記(1)に記載の情報処理装置。
(3)
前記第1情報処理装置は、前記ユーザに関するユーザ情報を取得して前記ユーザ情報を前記情報処理装置に送信し、
前記制御部は、登録されている登録ユーザ情報と前記第1情報処理装置から送信された前記ユーザ情報とに基づいて前記ユーザに関するユーザ認識処理を行い、前記ユーザ認識処理の結果に基づいて前記ユーザについて前記登録ユーザ情報と前記表示部に表示されている画像との関連付けを行い、前記ユーザ情報の変化に基づいて前記画像の表示態様を決定する
前記(2)に記載の情報処理装置。
(4)
前記第1情報処理装置は、前記ユーザに関するユーザ情報を取得し、登録されている登録ユーザ情報と前記ユーザ情報とに基づいて前記ユーザに関するユーザ認識処理を行い、前記ユーザ認識処理の結果を前記情報処理装置に送信し、
前記制御部は、前記第1情報処理装置から送信された前記ユーザ認識処理の結果に基づいて前記ユーザについて前記登録ユーザ情報と前記表示部に表示されている画像との関連付けを行い、前記ユーザ情報の変化に基づいて前記画像の表示態様を決定する
前記(2)に記載の情報処理装置。
(5)
前記第1情報処理装置は、前記ユーザに関するユーザ情報を取得し、登録されている登録ユーザ情報と前記ユーザ情報とに基づいて前記ユーザに関するユーザ認識処理を行い、前記ユーザ認識処理の結果に基づいて前記ユーザについて前記登録ユーザ情報と前記表示部に表示されている画像との関連付けを行い、前記関連付けの結果と前記ユーザ情報に基づく位置情報とを前記情報処理装置に送信し、
前記制御部は、前記第1情報処理装置から送信された前記関連付けの結果を記録し、前記第1情報処理装置から送信された前記位置情報に基づいて前記画像の表示態様を決定する
前記(2)に記載の情報処理装置。
(6)
前記第1情報処理装置は、前記ユーザの移動に応じて前記画像の表示態様を決定する決定要求が前記ユーザから受け付けられた場合には、前記ユーザ情報に基づく位置情報を前記情報処理装置に定期的または不定期に送信する前記(2)から(5)のいずれかに記載の情報処理装置。
(7)
前記制御部は、前記ユーザ認識処理の結果、前記第1情報処理装置から送信された前記ユーザ情報に対応する前記登録ユーザ情報が存在しない場合には、当該ユーザ情報に係る前記登録ユーザ情報を依頼するための依頼情報を前記第1情報処理装置に送信する前記(3)または(4)に記載の情報処理装置。
(8)
前記ユーザに関するユーザ情報を取得する取得部をさらに具備し、
前記制御部は、前記ユーザ情報を前記第1情報処理装置に送信し、
前記第1情報処理装置は、登録されている登録ユーザ情報と前記情報処理装置から送信された前記ユーザ情報とに基づいて前記ユーザに関するユーザ認識処理を行い、前記ユーザ認識処理の結果に基づいて前記ユーザについて前記登録ユーザ情報と前記表示部に表示されている画像との関連付けを行い、前記関連付けの結果を前記情報処理装置に送信し、
前記制御部は、前記ユーザ情報に基づく位置情報に基づいて前記画像の表示態様を決定する
前記(2)に記載の情報処理装置。
(9)
前記ユーザに関するユーザ情報を取得する取得部をさらに具備し、
前記制御部は、登録されている登録ユーザ情報と前記ユーザ情報とに基づいて前記ユーザに関するユーザ認識処理を行い、前記ユーザ認識処理の結果を前記第1情報処理装置に送信し、
前記第1情報処理装置は、前記ユーザ認識処理の結果に基づいて前記ユーザについて前記登録ユーザ情報と前記表示部に表示されている画像との関連付けを行い、前記関連付けの結果を前記情報処理装置に送信し、
前記制御部は、前記ユーザ情報に基づく位置情報に基づいて前記画像の表示態様を決定する
前記(2)に記載の情報処理装置。
(10)
前記ユーザに関するユーザ情報を取得する取得部をさらに具備し、
前記制御部は、登録されている登録ユーザ情報と前記ユーザ情報とに基づいて前記ユーザに関するユーザ認識処理を行い、前記ユーザ認識処理の結果に基づいて前記ユーザについて前記登録ユーザ情報と前記表示部に表示されている画像との関連付けを行い、前記画像の表示態様を決定するか否かを確認するための確認情報を前記第1情報処理装置に送信し、
前記第1情報処理装置は、ユーザ操作により前記確認情報についての承認がされた場合には承認情報を前記情報処理装置に送信し、
前記制御部は、前記承認情報を受信した場合には、前記ユーザ情報に基づく位置情報に基づいて前記画像の表示態様を決定する
前記(2)に記載の情報処理装置。
(11)
前記第1情報処理装置は、前記ユーザ認識処理を行うためのCapabilityを前記情報処理装置に通知して前記情報処理装置との間で前記ユーザ認識処理を行うための情報のやりとりを行う前記(3)から(5)、(7)から(10)のいずれかに記載の情報処理装置。
(12)
前記第1情報処理装置は、前記ユーザ認識処理を行うためのCapability要求を前記情報処理装置に送信して前記情報処理装置のCapabilityを取得して前記情報処理装置との間で前記ユーザ認識処理を行うための情報のやりとりを行う前記(3)から(5)、(7)から(10)のいずれかに記載の情報処理装置。
(13)
前記制御部は、前記ユーザ認識処理を行うためのCapability要求を前記第1情報処理装置に送信して前記第1情報処理装置のCapabilityを取得して前記第1情報処理装置との間で前記ユーザ認識処理を行うための情報のやりとりを行う前記(8)から(10)のいずれかに記載の情報処理装置。
(14)
前記第1情報処理装置は、Wi−Fi(Wireless Fidelity) CERTIFIED Miracast仕様に従って前記情報処理装置との間でリアルタイム画像伝送を行う前記(1)から(13)のいずれかに記載の情報処理装置。
(15)
無線通信を利用して画像情報を送信する、少なくとも1つの第1情報処理装置と、
前記少なくとも1つの第1情報処理装置から送信された画像情報に基づく画像を表示部における何れかの領域に前記第1情報処理装置毎に表示させ、前記第1情報処理装置に関連付けられているユーザと前記表示部との位置関係に基づいて前記表示部における当該第1情報処理装置に対応する画像の表示態様を決定する制御を行う第2情報処理装置と
を具備する通信システム。
(16)
無線通信を利用して少なくとも1つの第1情報処理装置から送信された画像情報に基づく画像を表示部における何れかの領域に前記第1情報処理装置毎に表示させる第1手順と、
前記第1情報処理装置に関連付けられているユーザと前記表示部との位置関係に基づいて前記表示部における当該第1情報処理装置に対応する画像の表示態様を決定する第2手順と
を具備する情報処理方法。
(17)
無線通信を利用して少なくとも1つの第1情報処理装置から送信された画像情報に基づく画像を表示部における何れかの領域に前記第1情報処理装置毎に表示させる第1手順と、
前記第1情報処理装置に関連付けられているユーザと前記表示部との位置関係に基づいて前記表示部における当該第1情報処理装置に対応する画像の表示態様を決定する第2手順と
をコンピュータに実行させるプログラム。