以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。説明は以下の順序により行う。
1.第1の実施の形態(ソース機器およびシンク機器間でUIBCおよびWebSocketを設定する例)
2.第2の実施の形態(アクセスポイントを経由したソース機器およびシンク機器間の接続と、ソース機器およびシンク機器間のダイレクト接続とを切り替える(または同時に接続する)例)
3.第3の実施の形態(ユーザ操作やユーザ動作により、ソース機器をシンク機器またはアクセスポイントに接続する例)
4.第4の実施の形態(1つのソース機器と複数のシンク機器とを接続する例)
5.応用例
<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)、5.1ch、9.1ch、ハイレゾ(ハイレゾリューションオーディオ(High-Resolution Audio))等の音声の記録再生方法の意味を含むものとする。また、音声のチャネル数は、音声データのビットレート(圧縮率)やチャネル数等の要素から構成される音質の指標と定義する。また、音質の指標としては、ストリームのスループットを用いることができる。
また、制御部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に接続されるソース機器のモード(スタンバイモード、ウェークアップモード)が格納される。
マルチ受信ダイバーシティ対応398には、無線通信を利用して情報処理装置300に接続されるソース機器がマルチ受信ダイバーシティに対応しているか否かを示す情報が格納される。
このように、管理情報保持部390に保持される管理情報は、他の情報処理装置を識別するための識別情報(端末識別情報391)と、他の情報処理装置に関するCapability情報とを紐付けて管理する情報である。また、その管理情報は、他の情報処理装置に関するCapability情報として、他の情報処理装置との通信に関する電波伝播測定に関する情報(電波伝搬測定情報393)と、消費電力に関する情報(スタンバイ/ウェークアップ397)とを少なくとも含む。また、管理情報保持部390に保持される管理情報は、他の情報処理装置に関するCapability情報として、画像情報を表示するための表示形態に関する情報(表示形態396)を少なくとも含む。この表示形態に関する情報は、例えば、画像情報をメイン表示またはサブ表示することを示す情報である。
このように、シンク機器側でソース機器に関する情報を管理しているため、シンク機器が把握可能なソース機器に関する情報(例えば、端末識別情報391やソース機器の名称)を表示させることができる。また、シンク機器が把握可能なソース機器に関する情報(例えば、端末識別情報391やソース機器の名称)と、そのソース機器の表示画面とを関連付けて表示させることもできる。すなわち、制御部370は、ソース機器の画像と、そのソース機器を表す情報とを表示部351に関連付けて表示させることができる。この場合には、そのソース機器の画像の一部(または、その付近)にそのソース機器に関する情報(例えば、端末識別情報、名称)を表示させることにより、どのユーザがどの表示画面を参照しているかを容易に把握することができる。これにより、操作可能なソース機器を他のユーザに把握させることが可能となる。この場合に、例えば、シンク機器は、操作を受け付けた順番に各制御を行うことができる。
[画像の遷移例]
図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は、本技術の第1の実施の形態における通信システム100を構成する各装置間における通信処理例を示すシーケンスチャートである。なお、図6では、情報処理装置200(ソース機器)および情報処理装置300(シンク機器)間において、情報処理装置300(シンク機器)の表示位置の要求をCapability Negotiationで行う場合の通信処理の一例を示す。
例えば、情報処理装置200から情報処理装置300へのCapability Negotiation時に各要求が行われた場合には、情報処理装置300は、自装置に関するCapabilityを返信することができる。例えば、情報処理装置200は、確認要求を情報処理装置300に送信する(501、502)。この確認要求は、情報処理装置200の表示面積、マルチソース分の表示面積(ただし、伝送する解像度ではない)、情報処理装置200の表示位置(例えば、座標)、表示画像の回転に関する情報の要求と、解像度/音質・消費電力性能に関する確認の要求とを行うためのものである。なお、この確認要求は、一例であり、他の内容を同時に要求するようにしてもよい。また、これらの各情報を一度に送信するようにしてもよく、順次送信するようにしてもよい。
その確認要求を受信した場合には(502)、情報処理装置300は、確認応答を情報処理装置200に送信する(503、504)。この確認応答は、情報処理装置200の表示面積、マルチソース分の表示面積(ただし、伝送する解像度ではない)、情報処理装置200の表示位置の応答と、表示画面の回転情報、解像度/音質・消費電力性能に関する確認の応答とを行うためのものである。なお、この確認応答は、一例であり、他の内容を同時に応答するようにしてもよい。
その確認応答を受信した場合には(504)、情報処理装置200は、モード要求(表示位置の指定を含む)を情報処理装置300に送信する(505、506)。これにより、情報処理装置200は、情報処理装置300に対して表示位置を指定することができる。
そのモード要求を受信した場合には(506)、情報処理装置300は、モード設定完了通知(表示位置の指定を含む)を情報処理装置200に送信する(507、508)。これにより、情報処理装置200は、指定した表示位置に画像を表示させることができる。
そのモード設定完了通知を受信した場合には(508)、情報処理装置200は、表示対象となる画像(画像データ)を情報処理装置300に送信する(509、510)。この場合には、情報処理装置200は、受信したモード設定完了通知に基づいて、表示対象となる画像(画像データ)を情報処理装置300に送信する。そして、情報処理装置300は、受信した画像を表示部351に表示する(511)。
このように、ソース機器およびシンク機器間のCapabilityのやりとりにおいて、シンク機器における表示面積、マルチソース分の表示面積(ただし、伝送する解像度ではない)、表示位置、表示画面の回転情報の要求を行うことができる。これにより、シンク機器の表示位置をリアルタイムでソース機器に通知することができ、ソース機器から表示位置を制御することができる。すなわち、マルチソース環境においても、適格な場所に適格な表示窓(各ソース機器の画像表示領域)を配置させることができる。
[通信例]
図7および図8は、本技術の第1の実施の形態における通信システム100を構成する各装置間における通信処理例を示すシーケンスチャートである。図7および図8では、図1に示すトポロジにおいて、図6に示すやりとりを行う場合の通信例を示す。
図7および図8では、情報処理装置200を構成する各部のうち、画像・音声信号生成部250、画像・音声圧縮部260およびストリーム送信部270をデータ送信系201として示す。また、アンテナ210、無線通信部220、制御信号受信部230および制御部240を回線制御系202として示す。また、情報処理装置400についても同様に、データ送信系401および回線制御系402として示す。
また、図7および図8では、情報処理装置300を構成する各部のうち、アンテナ310、無線通信部320、ストリーム受信部330、制御部370および制御信号送信部380を回線制御系301として示す。また、画像・音声展開部340、画像・音声出力部350およびユーザ情報取得部360を入出力系302として示す。
最初に、情報処理装置300の電源がオンされたときには、情報処理装置300の表示形態(画像表示形式、音声表示形態)として前回の表示形態(情報処理装置300の電源のオフ時の表示形態)が設定される(1001)。また、情報処理装置300の制御部370は、無線通信を利用して情報処理装置300に接続されている各ソース機器の管理情報を管理情報保持部390(図4に示す)に保持させる。また、情報処理装置300の制御部370は、図5に示すように、前回の表示形態に基づいて、情報処理装置200および情報処理装置400のそれぞれから送信された2つのストリームに対応する画像11、12を表示部351に表示させる。
続いて、ユーザによる表示形態の設定操作(変更操作)が行われた場合を想定する(1002)。この場合には、その設定操作に係る制御信号がユーザ情報としてユーザ情報取得部360に取得され、そのユーザ情報が制御部370に出力される。そして、制御部370は、そのユーザ情報に基づいて、管理情報保持部390(図4に示す)における保持内容を変更する(1003、1004)。例えば、図5のbに示すように、情報処理装置200からの画像データに基づく画像11を周辺チャネルとするための設定操作(変更操作)が行われた場合を想定する。この場合には、制御部370は、管理情報保持部390における情報処理装置200の表示形態396(図4に示す)を「サブ」に変更する(1003、1004)。
また、情報処理装置200から情報処理装置300へのCapability Negotiation時に、各要求を行い、情報処理装置300は、自装置に関するCapabilityを返信することができる。例えば、情報処理装置200は、第1確認要求を情報処理装置300に送信する(1005、1006)。この第1確認要求は、情報処理装置200の表示面積、マルチソース分の表示面積(ただし、伝送する解像度ではない)、情報処理装置200の表示位置、表示画像の回転に関する情報の要求を行うためのものである。
その第1確認要求を受信した場合には(1006)、情報処理装置300は、第1確認応答を情報処理装置200に送信する(1007乃至1010)。この第1確認応答は、情報処理装置200の表示面積、マルチソース分の表示面積(ただし、伝送する解像度ではない)、情報処理装置200の表示位置、表示画像の回転に関する情報の応答を行うためのものである。
その第1確認応答を受信した場合には(1008)、情報処理装置200は、モード要求(表示位置の指定を含む)を情報処理装置300に送信する(1011、1012)。これにより、情報処理装置200は、情報処理装置300に対して表示位置を指定することができる。
そのモード要求を受信した場合には(1012)、情報処理装置300は、モード設定完了通知(表示位置の指定を含む)を情報処理装置200に送信する(1013乃至1016)。これにより、情報処理装置200は、指定した表示位置に画像を表示させることができる。
また、情報処理装置300の電源がオンされ、情報処理装置300および情報処理装置400間でのやりとりが行われる場合を想定する。この場合についても、上述した各処理(1001乃至1016)と同様に、情報処理装置300および情報処理装置400間で各処理(1017乃至1032)が行われる。
なお、第1確認要求、第1確認応答は、一例であり、これらを同時にやりとりするようにしてもよく、他の順序でやりとりをしてもよい。また、他の内容を同時または順次送信するようにしてもよい。
図7および図8に示すように、複数のソース機器(情報処理装置200および情報処理装置400)がモード要求(図7に示すモード要求(1011、1012)、図8に示すモード要求(1027、1028))を送信する可能性がある。この場合に、複数のソース機器が同時にモード要求を送信する可能性がある。そこで、複数のソース機器から同時(または、略同時)にモード要求を受信した場合におけるシンク機器の制御例について説明する。
例えば、シンク機器(例えば、情報処理装置300)は、各ソース機器からのモード要求を受信した場合には、表示部の表示内容に応じて、どのソース機器からのモード要求を優先すべきかを決定することができる。この場合における決定方法として、次の(R1)、(R2)の2種類が考えられる。
(R1)シンク機器は、各ソース機器からのモード要求を並列して受信し、この受信した情報の中から選択を行う方法
(R2)シンク機器は、各ソース機器からのモード要求を束ねてIDで管理し、まとめて1つの情報として管理する方法
上述した(R1)では、シンク機器は、各ソース機器からのモード要求を直接把握することができる。このため、シンク機器は、各ソース機器からのモード要求をOn/Offする制御を行うことができる。そして、シンク機器は、あるソース機器からのモード要求の内容を優先させることを決定することができる。しかしながら、(R1)では、ソース機器の台数の増加に応じて、シンク機器の処理負荷が増加する。
上述した(R2)では、シンク機器は、複数のソース機器からのモード要求が束ねられた後に、モード要求の内容を切り替える。このため、シンク機器の処理負荷を低減させることができる。しかしながら、(R2)では、各ソース機器からのモード要求を束ねてIDで管理する。このため、シンク機器が、ソース機器からのモード要求をOn/Offする制御を行うためには、各ソース機器を判別するためのヘッダが必要となる。
ここで、画像伝送の規格では、モード要求の内容を切り替えるモード要求内容切替部(図9乃至図14に示す)から規格で決まることが多い。このため、例えば、TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)、RTSP(Real Time Streaming Protocol)、Websocket用ポートを用意して管理することが考えられる。
[Forward Channelのオンオフ制御例]
図9は、本技術の第1の実施の形態におけるシンク機器によるモード要求のオンオフを制御する場合における構成例を示す図である。
図9では、上述した(R1)の決定方法により、1つのシンク機器1100と、複数のソース機器1211乃至1214との間で行われるモード要求のオンオフを制御する例を示す。すなわち、シンク機器1100が、複数のソース機器1211乃至1214毎に複数のポートを用意し、上位レイヤからの要求や表示画面の状態に基づいてソース機器を選択する例を示す。例えば、シンク機器1100は、上位レイヤからのOff要求に基づいて、ソース機器のOffを設定することができる。また、例えば、シンク機器1100は、シンク機器1100における表示画面の表示状態に基づいて、ソース機器のOffを設定することができる。
ソース機器1211乃至1214のそれぞれは、Forward Channel情報(例えば、モード要求)をシンク機器1100に送信する(1215乃至1218)。
シンク機器1100は、表示制御部1110およびモード要求内容切替部1120を備える。表示制御部1110およびモード要求内容切替部1120は、図3に示すストリーム受信部330および制御部370に対応する。
表示制御部1110は、表示部に表示される画像(ソース機器から送信された画像)の表示位置に基づいて、どのソース機器からの入力に切り替えるかを決定するものである。また、表示制御部1110は、その決定された内容をモード要求内容切替部1120に通知する(1111)。
また、表示制御部1110は、その表示位置に基づいて、どのソース機器からの入力をOnにし、どのソース機器からの入力をOffにするかを決定する。また、シンク機器1100およびソース機器間でリンクを張った後に、シンク機器1100およびソース機器のやりとりにより、停止、再生、切断、開始等を適宜行うことができる。
表示制御部1110は、ソース機器1211乃至1214のそれぞれのポートについて、Forward Channel情報を無視することにより、排他制御を実現することができる。また、表示制御部1110は、それぞれのポートに対し、送出停止メッセージを出すことにより、排他制御を実現することができる。
モード要求内容切替部1120は、表示制御部1110により決定された内容に基づいて、各ソース機器からのForward Channel情報を切り替えて受信するものであり、受信した情報を表示制御部1110に出力する。例えば、モード要求内容切替部1120は、表示制御部1110により決定されたソース機器からのForward Channel情報のみを受信し、この情報を表示制御部1110に出力する。
図10は、本技術の第1の実施の形態におけるシンク機器によるモード要求のオンオフを制御する場合における構成例を示す図である。
図10では、上述した(R2)の決定方法により、1つのシンク機器1300と、複数のソース機器1211乃至1214との間で行われるモード要求のオンオフを制御する例を示す。すなわち、シンク機器1300が、Forward Channel情報を束ねて1つのポートを用意し、パケットに挿入されるID用ヘッダに基づいて、各ソース機器を管理する例を示す。なお、ソース機器1211乃至1214は、図9に示すソース機器1211乃至1214と同様である。
シンク機器1300は、表示制御部1310と、モード要求内容切替部1320と、共通入力切替部1330とを備える。表示制御部1310、モード要求内容切替部1320および共通入力切替部1330は、図3に示すストリーム受信部330および制御部370に対応する。
表示制御部1310は、表示部に表示される画像(ソース機器から送信された画像)の表示位置に基づいて、どのソース機器からの入力に切り替えるかを決定するものである。また、表示制御部1310は、その決定された内容をモード要求内容切替部1320に通知する(1311)。
また、表示制御部1310は、その表示位置に基づいて、どのソース機器からの入力をOnにし、どのソース機器からの入力をOffにするかを決定する。また、シンク機器1300およびソース機器間でリンクを張った後に、シンク機器1300およびソース機器のやりとりにより、停止、再生、切断、開始等を適宜行うことができる。
モード要求内容切替部1320は、表示制御部1310により決定された内容に基づいて、共通入力切替部1330により切り替えられた各ソース機器からのForward Channel情報を受信するものである。そして、モード要求内容切替部1320は、受信した情報を表示制御部1310に出力する。
共通入力切替部1330は、予め決められている標準規格に対応する情報を受信するものであり、受信した情報をモード要求内容切替部1320に出力する。例えば、共通入力切替部1330は、ソース機器毎のID情報等と、制御データとを受信する。
また、共通入力切替部1330は、予め決められているソース機器毎のID情報と、モード要求内容切替部1320からの要求とに基づいて、どのソース機器からの入力をOnにし、どのソース機器からの入力をOffにするかを切り替える。
[UIBCのオンオフ制御例]
上述した決定方法については、UIBCについても適用することができる。そこで、以下では、UIBCのオンオフ制御例について説明する。
図11は、本技術の第1の実施の形態におけるシンク機器によるUIBCのオンオフを制御する場合における構成例を示す図である。
図11では、上述した(R1)の決定方法を適用して、1つのシンク機器1100と、複数のソース機器1211乃至1214との間で行われるUIBCのオンオフを制御する例を示す。すなわち、シンク機器1100が、複数のソース機器1211乃至1214毎に複数のポートを用意し、上位レイヤからの要求や表示画面の状態に基づいてUIBCを選択する例を示す。例えば、シンク機器1100は、上位レイヤからのOff要求に基づいて、UIBCのOffを設定することができる。また、例えば、シンク機器1100は、シンク機器1100における表示画面の表示状態に基づいて、UIBCのOffを設定することができる。
ソース機器1211乃至1214のそれぞれは、UIBC情報をシンク機器1100に送信する。また、シンク機器1100は、ソース機器1211乃至1214のそれぞれにUIBC情報を送信する(1225乃至1228)。
表示制御部1110は、表示部に表示される画像(ソース機器から送信された画像)の表示位置に基づいて、どのソース機器からの入力に切り替えるかを決定する。また、表示制御部1110は、その決定された内容をモード要求内容切替部1120に通知する(1112)。
また、表示制御部1110は、その表示位置に基づいて、どのソース機器からの入力をOnにし、どのソース機器からの入力をOffにするかを決定する。また、シンク機器1100およびソース機器間でリンクを張った後に、ソース機器1100およびシンク機器のやりとりにより、停止、再生、切断、開始等を適宜行うことができる。
表示制御部1110は、ソース機器1211乃至1214のそれぞれのポートについて、UIBC情報を無視することにより、排他制御を実現することができる。また、表示制御部1110は、それぞれのポートに対し、送出停止メッセージを出すことにより、排他制御を実現することができる。
モード要求内容切替部1120は、表示制御部1110により決定された内容に基づいて、各ソース機器からのUIBC情報を切り替えて受信し、受信した情報を表示制御部1110に出力する。例えば、モード要求内容切替部1120は、表示制御部1110により決定されたソース機器からのUIBC情報のみを受信し、この情報を表示制御部1110に出力する。
図12は、本技術の第1の実施の形態におけるシンク機器によるUIBCのオンオフを制御する場合における構成例を示す図である。
図12では、上述した(R2)の決定方法を適用して、1つのシンク機器1300と、複数のソース機器1211乃至1214との間で行われるUIBCのオンオフを制御する例を示す。すなわち、シンク機器1300が、UIBC情報を束ねて1つのポートを用意し、パケットに挿入されるID用ヘッダに基づいて、各ソース機器を管理する例を示す。
表示制御部1310は、表示部に表示される画像(ソース機器から送信された画像)の表示位置に基づいて、どのソース機器からの入力に切り替えるかを決定する。また、表示制御部1310は、その決定された内容をモード要求内容切替部1320に通知する(1312)。
また、表示制御部1310は、その表示位置に基づいて、どのソース機器からの入力をOnにし、どのソース機器からの入力をOffにするかを決定する。また、シンク機器1300およびソース機器間でリンクを張った後に、ソース機器1300およびシンク機器のやりとりにより、停止、再生、切断、開始等を適宜行うことができる。
モード要求内容切替部1320は、表示制御部1310により決定された内容に基づいて、共通入力切替部1330により切り替えられた各ソース機器からのUIBC情報を受信する。そして、モード要求内容切替部1320は、受信した情報を表示制御部1310に出力する。
共通入力切替部1330は、予め決められている標準規格に対応する情報を受信するものであり、受信した情報をモード要求内容切替部1320に出力する。例えば、共通入力切替部1330は、ソース機器毎のID情報等と、制御データとを受信する。また、共通入力切替部1330は、予め決められているソース機器毎のID情報と、モード要求内容切替部1320からの要求とに基づいて、どのソース機器からの入力をOnにし、どのソース機器からの入力をOffにするかを決定する。例えば、モード要求内容切替部1320は、表示制御部1310により決定されたソース機器からのUIBC情報のみを受信し、この情報を表示制御部1310に出力する。
[マルチシンク時におけるUIBCのオンオフ制御例]
次に、複数のソース機器とシンク機器とが接続される場合におけるUIBCのオンオフ制御例について説明する。
図13は、本技術の第1の実施の形態におけるシンク機器によるUIBCのオンオフを制御する場合における構成例を示す図である。
図13では、上述した(R1)の決定方法を適用して、複数のシンク機器1501乃至1504と、1つのソース機器1400との間で行われるUIBCのオンオフを制御する例を示す。すなわち、ソース機器1400が、複数のシンク機器1501乃至1504毎に複数のポートを用意し、上位レイヤからの要求や表示画面のユーザ操作に基づいてUIBCを選択する例を示す。例えば、ソース機器1400は、上位レイヤからのOff要求に基づいて、UIBCのOff要求を行うことができる。また、例えば、ソース機器1400は、シンク機器1100における表示画面のユーザ操作に基づいて、UIBCのOff要求を行うことができる。
シンク機器1501乃至1504のそれぞれは、UIBC情報をソース機器1400に送信する(1505乃至1508)。
表示制御部1410は、シンク機器1501乃至1504の各表示部に表示される画像(ソース機器から送信された画像)の表示位置に基づいて、どのシンク機器からの入力に切り替えるかを決定する。また、表示制御部1410は、その決定された内容をモード要求内容切替部1420に通知する(1411)。
また、表示制御部1410は、その表示位置に基づいて、どのシンク機器からの入力をOnにし、どのシンク機器からの入力をOffにするかを決定する。また、ソース機器1400およびシンク機器間でリンクを張った後に、ソース機器1400およびシンク機器のやりとりにより、停止、再生、切断、開始等を適宜行うことができる。
表示制御部1410は、シンク機器1501乃至1504のそれぞれのポートについて、UIBC情報を無視することにより、排他制御を実現することができる。また、表示制御部1410は、それぞれのポートに対し、送出停止メッセージを出すことにより、排他制御を実現することができる。
モード要求内容切替部1420は、表示制御部1410により決定された内容に基づいて、各シンク機器からのUIBC情報を切り替えて受信し、受信した情報を表示制御部1410に出力する。例えば、モード要求内容切替部1420は、表示制御部1410により決定されたシンク機器からのUIBC情報のみを受信し、この情報を表示制御部1410に出力する。
図14は、本技術の第1の実施の形態におけるシンク機器によるUIBCのオンオフを制御する場合における構成例を示す図である。
図14では、上述した(R2)の決定方法を適用して、複数のシンク機器1501乃至504と、1つのソース機器1600との間で行われるUIBCのオンオフを制御する例を示す。すなわち、ソース機器1600が、UIBC情報を束ねて1つのポートを用意し、パケットに挿入されるID用ヘッダに基づいて、各シンク機器を管理する例を示す。
表示制御部1610は、各シンク機器の表示部に表示される画像(ソース機器から送信された画像)の表示位置に基づいて、どのシンク機器からの入力に切り替えるかを決定する。また、表示制御部1610は、その決定された内容をモード要求内容切替部1620に通知する(1611)。
また、表示制御部1610は、その表示位置に基づいて、どのシンク機器からの入力をOnにし、どのシンク機器からの入力をOffにするかを決定する。また、ソース機器1600およびソース機器間でリンクを張った後に、ソース機器1600およびシンク機器のやりとりにより、停止、再生、切断、開始等を適宜行うことができる。
モード要求内容切替部1620は、表示制御部1610により決定された内容に基づいて、共通入力切替部1630により切り替えられた各シンク機器からのUIBC情報を受信する。そして、モード要求内容切替部1620は、受信した情報を表示制御部1610に出力する(1611)。
共通入力切替部1630は、予め決められている標準規格に対応する情報を受信するものであり、受信した情報をモード要求内容切替部1620に出力する(1621)。例えば、共通入力切替部1630は、シンク機器毎のID情報等と、制御データとを受信する。また、共通入力切替部1630は、予め決められているシンク機器毎のID情報と、モード要求内容切替部1620からの要求とに基づいて、どのシンク機器からの入力をOnにし、どのシンク機器からの入力をOffにするかを決定する。例えば、モード要求内容切替部1620は、表示制御部1610により決定されたシンク機器からのUIBC情報のみを受信し、この情報を表示制御部1610に出力する。
このように、シンク機器およびソース機器間で制御データやUIBC情報のやりとりを行うことができる。また、例えば、シンク機器およびソース機器間で制御データやUIBC情報のやりとりを効率よく行うため、ポートの共有やWebSocketの利用等を行うことができる。そこで、図20および図21等では、WebSocketを利用してソース機器およびシンク機器間で各情報のやりとりを行う例を示す。
なお、本技術は、これらに限定されないものとする。例えば、本技術の実施の形態では、Forward Chanel、制御データやUIBC情報のオンオフ制御例を示すが、本技術は、これらに限定されないものとする。例えば、図18、図19記載のRTSPコマンド(Play/Pauseやstandby/resume、IDR refresh request等)でも同等のオンオフ制御をしてもよいものとする。また、オンオフ制御を短く切り替えることで、それぞれの装置間がユーザの視点でオンオフ制御されていないように制御する協調動作も可能である。なお、オンオフ制御とは、接続・切断、開始・停止、有効化(受付)・無効化(無視)を制御することを指してもよい。
また、例えば、ソース機器およびシンク機器以外の機器(例えば、表示位置制御クライアント)を追加し、その機器が各ソース機器の操作を、シンク機器を経由して行うようにしてもよい。この例を図15および図16に示す。すなわち、図15および図16では、情報処理装置203(表示位置制御クライアント)を追加し、情報処理装置203が情報処理装置200(ソース機器)の操作を、情報処理装置300(シンク機器)を経由して行う例を示す。
ここで、上述した追加する機器(ソース機器およびシンク機器以外の機器)は、一つ又は複数の、キーボード、マウス、ジョイスティック等の入力装置であってもよく、有線又は無線によってシンク機器と接続されていてもよい。また、それらの複数の入力装置をシンク機器に、固定的または着脱可能な態様で設けるようにしてもよい。このように、シンク機器が複数の入力装置を有する場合(例えば、着脱可能、有線又は無線による接続を含む)には、複数の入力装置の操作情報は、それぞれから、一以上のシンク機器経由でUIBC情報に含めて送信される。このとき、UIBC情報のパケットに挿入されるID情報は、複数の入力装置に係る複数のID情報として挿入してもよい。
[通信例]
図15および図16は、本技術の第1の実施の形態における通信システム100を構成する各装置間における通信処理例を示すシーケンスチャートである。
図15および図16では、情報処理装置200(ソース機器)および情報処理装置300(シンク機器)以外の表示位置制御クライアント(情報処理装置(ソース機器)203)が、シンク機器の表示位置を把握する場合の通信処理の一例を示す。表示位置制御クライアント(情報処理装置203)は、情報処理装置300(シンク機器)の表示位置を把握する制御クライアントであり、情報処理装置300(シンク機器)の表示位置イメージを表示装置(図示せず)に表示する。例えば、情報処理装置300(シンク機器)に表示される各画像の表示位置およびサイズをソース機器毎に表示装置に表示させる。これにより、ソース機器のユーザは、各画像を把握することができる。
また、図15および図16では、情報処理装置200を構成する各部のうち、画像・音声信号生成部250、画像・音声圧縮部260およびストリーム送信部270をデータ送信系201として示す。また、アンテナ210、無線通信部220、制御信号受信部230および制御部240を回線制御系202として示す。
また、図15および図16では、情報処理装置300を構成する各部のうち、アンテナ310、無線通信部320、ストリーム受信部330、制御部370および制御信号送信部380を回線制御系301として示す。また、画像・音声展開部340、画像・音声出力部350およびユーザ情報取得部360を入出力系302として示す。
最初に、情報処理装置300の電源がオンされたときには、情報処理装置300の表示形態(画像表示形式、音声表示形態)として前回の表示形態(情報処理装置300の電源のオフ時の表示形態)が設定される(521)。また、情報処理装置300の制御部370は、無線通信を利用して情報処理装置300に接続されている各ソース機器の管理情報を管理情報保持部390(図4に示す)に保持させる。また、情報処理装置300の制御部370は、図5に示すように、前回の表示形態に基づいて、情報処理装置200および情報処理装置400のそれぞれから送信された2つのストリームに対応する画像11、12を表示部351に表示させる。
続いて、ユーザによる表示形態の設定操作(変更操作)が行われた場合を想定する(522)。この場合には、その設定操作に係る制御信号がユーザ情報としてユーザ情報取得部360に取得され、そのユーザ情報が制御部370に出力される。そして、制御部370は、そのユーザ情報に基づいて、管理情報保持部390(図4に示す)における保持内容を変更する(523、524)。例えば、図5のbに示すように、情報処理装置200からの画像データに基づく画像11を周辺チャネルとするための設定操作(変更操作)が行われた場合を想定する。この場合には、制御部370は、管理情報保持部390における情報処理装置200の表示形態396(図4に示す)を「サブ」に変更する(523、524)。
また、情報処理装置200から情報処理装置300へのCapability Negotiation時に、各要求を行い、情報処理装置300は、自装置に関するCapabilityを返信することができる。例えば、情報処理装置200は、第1確認要求を情報処理装置300に送信する(525、526)。この第1確認要求は、情報処理装置200の表示面積、マルチソース分の表示面積(ただし、伝送する解像度ではない)、情報処理装置200の表示位置の要求を行うためのものである。
その第1確認要求を受信した場合には(526)、情報処理装置300は、第1確認応答を情報処理装置200に送信する(527乃至530)。この第1確認応答は、情報処理装置200の表示面積、マルチソース分の表示面積(ただし、伝送する解像度ではない)、情報処理装置200の表示位置の応答を行うためのものである。また、情報処理装置300は、その第1確認応答を情報処理装置203に送信する(531、532)。この場合に、情報処理装置300は、情報処理装置200以外の他のソース機器に関する各情報(他のソース機器の表示面積、マルチソース分の表示面積、他のソース機器の表示位置)を第1確認応答に含めて情報処理装置203に送信するようにしてもよい。これにより、情報処理装置203は、シンク機器における各ソース機器の表示位置を迅速に把握することができる。
また、情報処理装置200は、モード要求(表示位置の指定を含む)を情報処理装置300に送信する(533、534)。これにより、情報処理装置200は、情報処理装置300に対して表示位置を指定することができる。
そのモード要求を受信した場合には(534)、情報処理装置300は、モード設定完了通知(表示位置の指定を含む)を情報処理装置200に送信する(535乃至538)。また、情報処理装置300は、モード設定完了通知(表示位置の指定を含む)を情報処理装置203に送信する(539、540)。これにより、情報処理装置203は、指定した表示位置に画像を表示させることができる。
また、情報処理装置200は、第2確認要求を情報処理装置300に送信する(541、542)。この第2確認要求は、解像度/音質・消費電力性能に関する確認の要求を行うためのものであり、例えば、第1確認要求は、Wi−Fi規格(例えば、Wi−Fi CERTIFIED Miracast)の将来規格であり、第2確認要求は、現在のWi−Fi規格内(例えば、Wi−Fi CERTIFIED Miracast)の動作としてもよい。
その第2確認要求を受信した場合には(542)、情報処理装置300は、第2確認応答を情報処理装置200に送信する(543、544)。この第2確認応答は、解像度/音質・消費電力性能に関する確認の応答を行うためのものである。
なお、これらの第1、第2確認要求、第1、第2確認応答は、一例であり、これらを同時にやりとりするようにしてもよく、他の順序でやりとりをしてもよい。また、他の内容を同時または順次送信するようにしてもよい。
その第2確認応答を受信した場合には(544)、情報処理装置200の回線制御系202は、モード設定(表示位置の指定を含む)をデータ送信系201に出力する(545、546)。また、情報処理装置200の回線制御系202は、そのモード設定(表示位置の指定を含む)を情報処理装置300に送信する(547、548)。このモード設定は、解像度/音質・消費電力性能に関する設定を行うためのものである。
ここで、情報処理装置200からの画像の表示位置を中央画面(メイン画面)から周辺画面(サブ画面)に変更した場合を想定する(549)。この場合には、情報処理装置200において、周辺画面(サブ画面)に変更するための各設定が行われる(550、551)。また、情報処理装置203は、情報処理装置300における表示位置のイメージ(情報処理装置200のイメージ)をサブ画面として表示する。また、情報処理装置203は、情報処理装置200の表示位置を操作するコマンド(表示位置操作コマンド)を情報処理装置300に送信する(552、553)。
また、情報処理装置300は、情報処理装置200からのストリームを受信し(554、555)、そのストリームに基づく画像を表示部351に表示する(556)。そして、情報処理装置300は、その表示位置操作コマンドにより要求された表示位置への変更を行う際に、情報処理装置300にとって最適な解像度・音声・消費電力となるように設定変更を行う。また、ユーザによる表示形態の設定操作(変更操作)が行われた場合には(557)、その設定操作に応じた各処理を行う(558、559)。そして、情報処理装置300は、その設定変更を行うための設定変更要求を情報処理装置200、203に送信する(560乃至563)。
また、情報処理装置300は、情報処理装置200からのストリームを受信する(564、565)。
このように、シンク機器の表示位置をリアルタイムでソース機器に通知することができ、ソース機器から表示位置を制御することができる。
なお、図15および図16に示す例では、複数のソース機器をシンク機器に接続する例を示したが、本技術の実施の形態はこれに限定されない。例えば、シンク機器(情報処理装置300)に1台のソース機器のみが接続する接続環境についても対応することができる。
また、シンク機器(情報処理装置300)が表示する画面は、ソース機器(情報処理装置200)から受信した画像のみではなく、シンク機器(情報処理装置300)が備える他の接続回線からの画像情報を受信して表示するようにしてもよい。例えば、Hybridcast規格の情報処理装置をシンク機器として用いる場合についても対応することができる。例えば、Hybridcast規格の機器(例えば、映像視聴装置)は、放送波から画像(映像)を受信しつつ、通信回線から補助情報(動画を含む)を受信することができる。そこで、Hybridcast規格の環境の一部にソース機器(情報処理装置200)の画像を表示するようにしてもよい。この例については、本技術の第4の実施の形態で示す。
また、情報処理装置300は、情報処理装置200および情報処理装置400のそれぞれから送信された2つのストリームの合計データ伝送速度を最小にするように制御を行うようにしてもよい。例えば、その合計データ伝送速度の最大許容値を受信側の情報処理装置300の制御部370に設定する。そして、制御部370は、ビットレートを低下するための変更要求を情報処理装置200に送信した後に、情報処理装置200および400のそれぞれから送信された2つのストリームのビットレートをストリーム受信部330から取得する。続いて、制御部370は、取得された2つのストリームの合計データ伝送速度を計算する。続いて、制御部370は、設定された最大許容値を超えない範囲で、情報処理装置400から送信されるストリームのビットレートを決定し、このビットレートに向上させるための変更要求を情報処理装置400に送信する。なお、最低ビットレートに設定してもPER(Packet Error Rate)が大きく、同一周波数チャネルに収容することができない場合には、別の周波数チャネルを用いてもよい。また、画像(中央チャネル、周辺チャネル)が一定時間以上、止まっている場合には、ユーザからの操作(例えば、ポインティング)が発生しない限り、画像データを停止させておくようにしてもよい。
このように、本技術の第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仕様コマンドを用いたやりとりの通信例を図17乃至図19に示す。
[Wi−Fi CERTIFIED Miracast仕様コマンドを用いたやりとりの通信例]
図17乃至図19は、本技術の第1の実施の形態におけるソース機器410およびシンク機器420間における通信処理例を示すシーケンスチャートである。図17乃至図19では、RTSPプロトコルを用いたやりとりの通信例を示す。なお、ソース機器410は、情報処理装置200、400に対応し、シンク機器420は、情報処理装置300に対応する。
最初に、図17を参照して説明する。例えば、図17の点線の矩形430内に示すように、ソース機器410からシンク機器420に送信される「RTSP M3 Request」(RTSP GET_PARAMETER Request)メッセージと、これに応答してシンク機器420からソース機器410に送信される「RTSP M3 Response」(RTSP GET_PARAMETER Response)メッセージとを用いることができる。
一方、ソース機器410からシンク機器420に適宜送信するようにしてもよい。例えば、「RTSP M3 Request」(RTSP GET_PARAMETER Request)メッセージと、「RTSP M3 Response」(RTSP GET_PARAMETER Response)メッセージとのやりとりを省略し、ソース機器410からシンク機器420に送信されるメッセージに管理情報を含めて、ソース機器410からシンク機器420に管理情報を送信し、シンク機器420が情報を選択して管理情報保持部390に保持するようにしてもよい。例えば、コンテンツプロテクション設定を行う場合、M3 Response後にリンクプロテクションセットアップを行う。このため、M4以上のメッセージのみを行うことで、一度設定されたリンクの秘話性を確保したまま、通信を行えることが望まれることもある。
また、消費電力モードに関する情報のやりとりについては、RTSPプロトコルを用いた所定のメッセージで行うことができる。例えば、以下の(1)乃至(3)の3種類の管理情報の交換を行うことができる。
(1)"Standbyモードへの設定"
(2)"ソース機器がStanbyモードを解除する場合またはソース機器がシンク機器のStandbyモードを解除する場合"
(3)"シンク機器がStandbyモードを解除する場合またはシンク機器がソース機器のStandbyモードを解除する場合"
ここでは、図18を参照して説明する。例えば、Wi−Fi CERTIFIED Miracastで用意されているコマンドを用いる場合、上述した(1)"Standbyモードへの設定"のやりとりでは、ソース機器410からシンク機器420に送信される「RTSP M12 Request」(RTSP SET_PARAMETER(with WFD−standby))メッセージと、これに応答してシンク機器420からソース機器410に送信される「RTSP M12 Response」(RTSP OK)メッセージとを用いることができる。一方、シンク機器420からソース機器410へのStanbyモードへの設定も同様である。
次に、図19を参照して説明する。例えば、上述した(2)"ソース機器がStanbyモードを解除する場合またはソース機器がシンク機器のStandbyモードを解除する場合"、ソース機器410は、シンク機器420に送信される「RTSP M5 Request」(RTSP SET_PARAMETER(Request(wfd−trigger−method:PLAY))メッセージと、これに応答してシンク機器420からソース機器410に送信される「RTSP M5 Response」(RTSP OK)メッセージとをやりとりする。シンク機器420は、ソース機器410に送信される「RTSP M7 Request」(RTSP PLAY Request)メッセージと、これに応答してソース機器410からシンク機器420に送信される「RTSP M7 Response」(RTSP OK)メッセージとを用いることができる。
また、例えば、上述した(3)"シンク機器がStandbyモードを解除する場合またはシンク機器がソース機器のStandbyモードを解除する場合"のやり取りの場合、シンク機器420は、ソース機器410に送信される「RTSP M7 Request」(RTSP PLAY Request)メッセージと、これに応答してソース機器410からシンク機器420に送信される「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との間で行う。また、情報処理装置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台以上のソース機器が接続するトポロジでも対応することができる。
[WebSocketを利用したソース機器およびシンク機器間の通信例]
次に、WebSocketを利用してソース機器およびシンク機器間で各情報のやりとりを行う例を示す。
ここで、WebSocketは、サーバおよびクライアント間において一度でも接続が確立すると、明示的に切断しない限り、通信手順を意識することなくデータのやり取りをソケット通信により実施することができる通信規格である。また、WebSocketで接続が確立されているサーバと全てのクライアントとは同じデータを共有することができ、リアルタイムで送受信することができる。すなわち、WebSocketは、ポートを維持することができ、画像伝送、音声伝送をリアルタイムに行うことができる。
ここで、Wi−Fi CERTIFIED Miracastでは、上述したように、シンク機器からソース機器へのUIBCが存在する。また、ソース機器からシンク機器への制御等のように、制御回線に関する要求は、マルチソースやマルチシンクのトポロジ環境になると高くなると想定される。
そこで、本技術の第1の実施の形態では、WebSocketを利用してソース機器およびシンク機器間で各情報のやりとりを行うようにする。例えば、上述したCapability Negotiationにおいて、WebSocketを設定するための各情報のやりとりをソース機器およびシンク機器間で行い、WebSocketを新たに追加設定することができる。
[UIBCおよびWebSocketを別々に設定する例]
最初に、UIBCおよびWebSocketを別々に設定する例について説明する。
[UIBCの設定例]
図20および図21は、本技術の第1の実施の形態におけるソース機器410およびシンク機器420間における通信処理例を示すシーケンスチャートである。図20および図21では、Capability Negotiationにおいて、UIBCを設定するための通信例(UIBCの設定例)を示す。このUIBC設定方法については、Wi−Fi CERTIFIED Miracastの規格で規定されている。
UIBCを設定する場合には、M3メッセージ(RTSP GET_PARAMETER)により、Wfd−uibc−Capabilityのやりとりをソース機器410およびシンク機器420間で行う。このやりとりは、シンク機器420がUIBC機能を内蔵しているか否かを、ソース機器410が確認することが目的である。
また、図20のaに示すように、ソース機器410は、シンク機器420のCapability情報をシンク機器420から受信し、M4メッセージで、シンク機器420にUIBC回線設定要求を行う。なお、M4メッセージでUIBC回線設定要求を送信せずに、画像伝送を開始した後に、M14メッセージで接続要求を行うようにしてもよい。また、M14メッセージ送信時には、ソース機器410からの要求だけでなく、シンク機器420からソース機器410へUIBC回線設定要求を行うようにしてもよい。この例を図21のaに示す。
また、M4/M14メッセージのやりとりだけでは、UIBCがEnableにならない。このため、図20のb、図21のbに示すように、UIBC回線設定要求に対する返答を受信した後、M15メッセージのやりとりを行う。これにより、UIBC回線がEnableとなる。
[WebSocketの設定例]
図22および図23は、本技術の第1の実施の形態におけるソース機器410およびシンク機器420間における通信処理例を示すシーケンスチャートである。図22および図23では、Capability Negotiationにおいて、WebSocketを設定するための通信例(WebSocketの設定例)を示す。
WebSocketを設定する場合には、M3メッセージ(RTSP GET_PARAMETER)により、Wfd−websocket−Capabilityのやりとりをソース機器410およびシンク機器420間で行う。このやりとりは、シンク機器420がWebSocket機能を内蔵しているか否かを、ソース機器410が確認することが目的である。
また、図22のaに示すように、ソース機器410は、シンク機器420のCapability情報をシンク機器420から受信し、M4メッセージで、シンク機器420にWebSocket回線設定要求を行う。なお、M4メッセージでWebSocket回線設定要求を送信せずに、画像伝送を開始した後に、M14メッセージで接続要求を行うようにしてもよい。また、M14メッセージ送信時には、ソース機器410からの要求だけでなく、シンク機器420からソース機器410へWebSocket回線設定要求を行うようにしてもよい。この例を図23のaに示す。
また、M4/M14メッセージのやりとりだけでは、WebSocketがEnableにならない。このため、図22のb、図23のbに示すように、WebSocket回線設定要求に対する返答を受信した後、M15メッセージのやりとりを行う。これにより、WebSocket回線がEnableとなる。
[UIBCおよびWebSocketの設定例]
図24は、本技術の第1の実施の形態におけるソース機器410およびシンク機器420間における通信処理例を示すシーケンスチャートである。図24では、Capability Negotiationにおいて、UIBCおよびWebSocketを設定するための通信例(UIBCおよびWebSocketの設定例)を示す。
すなわち、図24では、図20および図21に示すUIBC接続要求/応答とともに、図22および図23に示すWebSocket接続要求/応答を行う通信例を示す。例えば、WebSocket用回線として、wfd−websocket−Capabilityを定義し、WebSocket回線を実装しているか否かをソース機器410およびシンク機器420間でCapability Negotiationする。
また、図24では、WebSocket用のポート番号を、UIBCとは別ポート番号に設定する例を示す。このように、WebSocketを別ポートにすることにより、UIBCおよびWebSocketの双方の接続リンクにおいて、同時利用を行いつつ、リアルタイム性の高い処理を行うことが可能となる。
また、図24では、新規コマンドおよびUIBCをTCP上で別ポートとして指定する場合に、新規コマンドおよびUIBCがリアルタイムのデータをやりとりするため、UIBCおよびWebSocketを別カテゴリとして判断する例を示す。
具体的には、M3メッセージ(Req.GET_PARAMETER_REQUEST)により、Wfd−uibc−Capabilityのやりとりをソース機器410およびシンク機器420間で行う。また、M3メッセージ(Req. GET_PARAMETER_REQUEST)により、Wfd−websocket−Capabilityのやりとりをソース機器410およびシンク機器420間で行う。このやりとりは、シンク機器420がUIBC機能およびWebSocket機能を内蔵しているか否かを、ソース機器410が確認することが目的である。
また、M3メッセージ(Res.GET_PARAMETER_RESPONSE)により、UIBCのCapabilityおよびWebSocketのCapabilityがシンク機器420からソース機器410に送信される。例えば、UIBCについて「GENERIC(座標)」を指定する場合には、次の内容が送信される。
wfd_uibc_capability: input_category_list = GENERIC;
generic_cap_list = Mouse, SingleTouch;
hidc_cap_list = none; port = none
また、例えば、UIBCについて「HIDC(USB)」を指定する場合には、次の内容が送信される。
wfd_uibc_capability: input_category_list = HIDC;
generic_cap_list = none;
hidc_cap_list = Mouse/BT, RemoteControl/Infrared; port = none
また、例えば、WebSocketについては、次の内容が送信される。
wfd-websocket-capability =
"wfd_websocket_capability:" SP ("none" / (input-category-val
";xxxx;" tcp-port)) CRLF; "none" if not supported
また、M4/M14メッセージ(Req.GET_PARAMETER_REQUEST)により、UIBCおよびWebSocketを指定するための情報がソース機器410からシンク機器420に送信される。例えば、UIBCについて「GENERIC(座標)」を指定する場合には、次の内容が送信される。この内容が送信される場合のフレームフォーマットの一例を図25に示す
wfd_uibc_capability: input_category_list = GENERIC;
generic_cap_list = Mouse, SingleTouch;
hidc_cap_list = none; port = 1000
wfd_uibc_setting: enable
また、例えば、UIBCについて「HIDC(USB)」を指定する場合には、次の内容が送信される。
wfd_uibc_capability: input_category_list = HIDC;
generic_cap_list = none;
hidc_cap_list = Mouse/BT, RemoteControl/Infrared; port = 1000
wfd_uibc_setting: enable
また、例えば、WebSocketについては、次の内容が送信される。
wfd-websocket-capability: 接続制御端末機能;
xxxx;
port=8000
Wfd_websocket_setting: enable
ここで、上述した「接続制御機能」には、例えば、CTRL(例えば、本技術の第2の実施の形態で示す(B1)乃至(B3)に相当)が記述される。
また、M4/M14メッセージ(Req.SET_PARAMETER_REQUEST)により、ソース機器410からシンク機器420に送信されるUIBCのフレームフォーマットの一例を図25に示す。
[UIBCのフレームフォーマット例]
図25は、本技術の第1の実施の形態におけるソース機器410およびシンク機器420間でやりとりされるUIBCのフレームフォーマットの一例である。図25では、Generic Inputを指定する場合のUIBCのフレームフォーマットの一例を示す。
図25のbには、図25のaに示すFieldの「Generic Input Type ID」に格納される内容を示す。
また、図25のcには、図25のaに示すFieldの「Describe」に格納される内容を示す。
以上では、WebSocketの接続方法については、UIBCの接続方法と同等とする例を示したが、WebSocketの接続方法として他の方法を用いるようにしてもよい。また、wfd−WebSocket−Capabilityという属性の定義を用いる例を示したが、これに限定されない。例えば、同等の機能を有するものであれば、他のものを用いるようにしてもよい。
なお、図24では、WebSocket用のポート番号として、UIBCとは別ポート番号を設定する例を示したが、UIBCおよびWebSocketを同一ポートとするようにしてもよい。そこで、UIBCおよびWebSocketを同一ポートで動作させる接続例を図26に示す。
[UIBCおよびWebSocketを同一ポートとする場合のUIBCおよびWebSocketの設定例]
図26は、本技術の第1の実施の形態におけるソース機器410およびシンク機器420間における通信処理例を示すシーケンスチャートである。図26では、Capability Negotiationにおいて、UIBCおよびWebSocketを設定するための通信例(UIBCおよびWebSocketの設定例)を示す。
例えば、Wi−Fi CERTIFIED Miracastの規格を拡張して実現することができる。例えば、M3メッセージ(Req.GET_PARAMETER_REQUEST)のinput−catというカテゴリに「WebSocket」を追加する。そして、例えば、GENERIC、HIDC、WebSocketの中から、シンク機器420がGENERICを選択することができるようにする。
この場合には、M3メッセージ(Res.GET_PARAMETER_RESPONSE)として、例えば、次の内容が、シンク機器420からソース機器410に送信される。
wfd_uibc_capability: input_category_list = Websocket;
generic_cap_list = 接続制御機能;
hidc_cap_list = none; port = none
なお、この例では、1つのカテゴリに対応する例を示したが、同時に2つ以上のカテゴリに対応することも可能である。
また、M4/M14メッセージ(Req.SET_PARAMETER_REQUEST)として、例えば、次の内容が、ソース機器410からシンク機器420に送信される。
wfd_uibc_capability: input_category_list = Websocket;
generic_cap_list = 接続制御機能;
hidc_cap_list = none; port = 1000
wfd_uibc_setting: enable
このように、UIBCおよびWebSocketをTCP上で同一ポートに指定することができる。
なお、この例では、1つのカテゴリに対応する例を示したが、同時に2つ以上のカテゴリに対応することも可能である。
以上では、同一ポートを設定する場合に、input−catにWebSocketを追加する例を示したが、これに限定されない。例えば、他のcategoryとして設定してもよい。また、input−catを同時に2つ設定するのではなく、Capability Negotiationを2回行うようにしてもよい。
また、以上では、UIBCおよびWebSocketを同一ポートか別ポートかに応じて、接続方法を変更する例を示した。ただし、接続途中(または接続後)に同一ポートから別ポート(または、別ポートから同一ポート)に変更することも可能である。例えば、UIBCおよびWebSocketで同一ポートのCapability Negotiationを行った後に、UIBCの利用頻度が多いため、別ポートに変更することが想定される。このように、ポートを変更する例を図27に示す。
[情報処理装置(シンク機器)の動作例]
図27は、本技術の第1の実施の形態における情報処理装置300によるポート設定処理の処理手順の一例を示すフローチャートである。
最初に、情報処理装置300の制御部370は、ソース機器との間でCapability Negotiationを開始する(ステップS801)。続いて、制御部370は、ソース機器からUIBCおよびWebSocketの要求を受信したか否かを判断する(ステップS802)。その要求を受信していない場合には(ステップS802)、ポート設定処理の動作を終了する。
また、ソース機器からUIBCおよびWebSocketの要求を受信した場合には(ステップS802)、制御部370は、表示部351の表示領域に基づいて、UIBCおよびWebSocketを同一ポートとするか否かを確認する(ステップS803)。
UIBCおよびWebSocketを同一ポートとしても問題ない場合には(ステップS804)、制御部370は、同一ポートによる接続制御設定を行う(ステップS805)。例えば、図26に示すように、UIBCおよびWebSocketを同一ポートとするためのやりとりが行われる。
また、UIBCおよびWebSocketを同一ポートとすると問題が生じる場合には(ステップS804)、制御部370は、別ポートによる接続制御設定を行う(ステップS806)。例えば、図24に示すように、UIBCおよびWebSocketを異なるポートとするためのやりとりが行われる。
続いて、制御部370は、そのソース機器から送信された画像を表示するため、表示部351の表示形態を変更する(ステップS807)。続いて、制御部370は、その表示形態の変更後に、ポート設定の変更が必要となるソース機器が存在するか否かを判断する(ステップS808)。ポート設定の変更が必要となるソース機器が存在しない場合には(ステップS808)、ポート設定処理の動作を終了する。
ポート設定の変更が必要となるソース機器が存在する場合には(ステップS808)、制御部370は、そのソース機器(UIBCおよびWebSocketが同一ポートに設定)について、それらを別ポートとするための制御を行う(ステップS809)。
続いて、制御部370は、ポート数の削減が必要であるか否かを判断する(ステップS810)。ポート数の削減が必要でない場合には(ステップS810)、ポート設定処理の動作を終了する。
ポート数の削減が必要である場合には(ステップS810)、制御部370は、UIBCおよびWebSocketが異なるポートに設定されているソース機器について、それらを同一ポートとするための制御を行う(ステップS811)。なお、ステップS802乃至S811は、請求の範囲に記載の制御手順の一例である。
このように、情報処理装置300の無線通信部320は、Wi−Fi CERTIFIED Miracast仕様に従ってソース機器との間でリアルタイム画像伝送を行う。また、制御部370は、ソース機器から送信された画像情報に基づく画像を表示部351に表示させ、その画像に関する制御情報をソース機器との間でやりとりするための複数の通信方式(UIBC、WebSocket)に使用されるポートを設定する制御を行う。この場合に、例えば、制御部370は、ソース機器との間で生成されたTCPセッション上でポートを設定する場合に、ポートを使用する複数の通信方式を指定する情報(例えば、図24、図26で説明した各情報)をソース機器に送信する。
また、制御部370は、複数の通信方式に使用されるポートとして複数の通信方式毎に複数のポートを設定することができる。この場合には、制御部370は、ソース機器からの要求に応じて複数のポートを設定することができる。
また、制御部370は、複数の通信方式に使用されるポートとして複数の通信方式について1つのポートを設定することができる。
また、制御部370は、複数の通信方式の何れかを用いて表示部351におけるソース機器の画像の表示態様に関する情報をそのソース機器に送信し、そのソース機器から送信された制御情報に基づいてその画像の表示態様を変更することができる。その制御情報は、例えば、そのソース機器において受け付けられたそのソース機器画像の表示態様を変更するための操作に関する操作情報である。
また、ソース機器側でも同様の動作を行うことができる。例えば、情報処理装置200の制御部240は、シンク機器側の表示部に画像を表示させるための画像情報をシンク機器に送信する。また、制御部240は、その画像に関する制御情報をシンク機器との間でやりとりするための複数の通信方式に使用されるポートを設定する制御を行うことができる。
ここで、例えば、UIBCおよびWebSocketを異なるポートとする場合には、ソース機器毎に2つの異なるリンクを設定する必要がある。すなわち、ソース機器のポートが2倍必要となる。このため、例えば、数万のソース機器をシンク機器に接続するような場合には、ポートの割り当てを行うことができないことも想定される。この場合には、システムレスポンスが悪化するおそれがある。そこで、本技術の第1の実施の形態では、使用環境に応じて1または複数のポートを適切に設定する。
また、シンク機器は、ソース機器からの要求に基づいて、シンク機器の表示位置に関する情報を伝送するため、接続途中、UIBCの制御チャネルを、要求があったソース機器に切り替えることもできる。また、ソース機器は、シンク機器からの操作により、ソース機器の表示位置情報を伝送するため、接続途中、UIBCの制御チャネルを、要求があったシンク機器に切り替えることもできる。
ここで、WebSocketの制御回線を用いて、テキストだけでなく、画像データや音声データを送受信することも可能である。そこで、以下では、WebSocketの制御回線を用いて、画像データや音声データを送受信する例を示す。
[WebSocketを用いた画像データおよび音声データの送信例]
図28は、本技術の第1の実施の形態におけるソース機器410およびシンク機器420間のWebSocketを用いた画像データおよび音声データの通信例を示す図である。図28のaには、ソース機器410およびシンク機器420間における通信処理例を示す。図28のbおよびcには、ソース機器410およびシンク機器420間でやりとりされるWebSocketのフレームフォーマットの一例を示す。
また、図28では、Wi−Fi CERTIFIED Miracastのソース機器410が、WebSocketのクライアントとして機能し、シンク機器420が、WebSocketのサーバとして機能する例を示す。
例えば、ソース機器410は、Host、Sec−WebSocket−Key、Sec−WebSocket−Versionをシンク機器420に送信する(441)。なお、Hostは、WebSocketの接続先を指定するものである。また、Sec−WebSocket−Keyは、ハンドシェイク応答を得るためのものである。また、Sec−WebSocket−Versionは、WebSocketのバージョンを指定するためのものである。
また、シンク機器420は、ソース機器410から受信したSec−WebSocket−Keyの値に基づいて、Sec−WebSocket−Acceptの値を作成する。そして、シンク機器420は、作成したSec−WebSocket−Acceptをソース機器410に送信する(442)。ここで、Sec−WebSocket−Acceptは、クライアントとのコネクションを維持するためのものである。
また、ソース機器410は、図28のbに示すフレームフォーマットをシンク機器に送信する(441)。このフレームフォーマットでは、送信対象となるデータを、WebSocket Type IDで指定することができる。このWebSocket Type IDの一例を図28のcに示す。
また、ソース機器410およびシンク機器420間で、WebSocketのバイナリデータとして画像データや音声データをやりとりする(443)。
例えば、FINが0x0のときは、Payloadが続くため、シンク機器420は直前のデータと連結する。また、FINが0x1のときは、Payloadが終了したフラグであるため、シンク機器420はPayloadの処理を行う。
また、例えば、RSVは、拡張ビットである。
また、例えば、opcodeが0x0のときは、Payloadが続くため、シンク機器420は直前のデータと連結する。また、opcodeが0x1のときは、Payloadがテキストであり、opcodeが0x2のときは、Payloadがバイナリであることを意味する。
また、例えば、MASKは、メッセージがエンコードされているかを示すビットである。なお、ソース機器410からシンク機器420へのメッセージは、常にエンコードされている。
このように、opcodeのバイナリを用いると、ソース機器410およびシンク機器420間で、WebSocketのバイナリデータとして画像データや音声データのやりとりが可能となる。すなわち、WebSocket規格フォーマットを用いて、画像データおよび音声データを伝送することができる。このため、事前認証を画像データや音声データで行うことができる。また、それ以外の各種のユースケースに対応することができる。
また、画像データおよび音声データのソース機器とシンク機器の間でのやりとりを、Wi−Fi CERTIFIED Miracast規格の画像伝送を行いつつ、WebSocketを利用しても行うことができる。
このように、情報処理装置300の制御部370は、WebSocketを利用してソース機器から送信された画像情報および音声情報を取得することができる。また、制御部370は、その画像情報に基づく画像を表示部351に表示させ、その音声情報に基づく音声を音声出力部352から出力させることができる。
このように、本技術の第1の実施の形態では、シンク機器は、全てのソース機器の接続制御端末管理を行うとともに、全てのソース機器から接続制御の操作を受け付けることができる。また、例えば、全てのソース機器が、伝送帯域の制限により、画像伝送モードになることができないような環境にも対応させることができる。すなわち、複数のソース機器からの画像をシンク機器側の表示部に表示する環境において、画像伝送モードを安定して動作させることができ、リアルタイム性がある接続制御の操作を行うことができる。
また、複数のソース機器からの画像を1つのシンク機器に表示する場合に、シンク機器における各画像の表示位置をリアルタイムでソース機器に通知することができ、ソース機器からその表示位置を制御することができる。また、UIBCおよびWebSocketを利用して表示位置に関する情報のやりとりを同時に行うことができる。
これにより、ソース機器の無駄な処理を削減させ、処理をシンク機器にまとめることにより、ソース機器の負荷を軽減することができる。また、UIBCおよびWebSocketの双方の接続リンクを用いることにより、リアルタイム性の高い処理を行うことができる。また、例えば、ソース機器の数が多い環境においても、シンク機器の負荷を少なくし、位置情報の処理とUIBCの送信処理を行うことが可能となる。
また、上述したように、シンク機器側の表示部にソース機器に関する情報とそのソース機器の画像とを関連付けて表示させることができる。この場合には、ソース機器からの要求に応じて、要求を受け付けた順序で操作することを可能とすることができる。
<2.第2の実施の形態>
本技術の第2の実施の形態では、アクセスポイントを経由したソース機器およびシンク機器間の接続と、ソース機器およびシンク機器間のダイレクト接続とを切り替える(または同時に接続する)例を示す。
[通信システムの構成例]
図29は、本技術の第2の実施の形態における通信システム600のシステム構成例を示す図である。
通信システム600は、アクセスポイント601と、ネットワーク602と、情報処理装置603、604、610、620、630と、表示装置631と、制御装置640とを備える。
アクセスポイント601は、無線LAN(例えば、Wi−Fi)のアクセスポイント(Access Point)である。例えば、アクセスポイント601は、IEEE802.11規格のInfrastructureモードの機能を有する。そして、アクセスポイント601は、1または複数の情報処理装置(例えば、送信側の情報処理装置(ソース機器)、受信側の情報処理装置(シンク機器))に接続される。
また、アクセスポイント601は、有線回線(例えば、Ethernet(登録商標))を経由して情報処理装置630と接続することができる。例えば、アクセスポイント601は、ネットワーク602を経由して情報処理装置630と接続することができる。また、アクセスポイント601は、情報処理装置630の内部バスと接続して処理を行うようにしてもよい。情報処理装置630の内部バスは、例えば、USB(Universal Serial Bus)、PCI(Peripheral Components Interconnect)、PCI Expressである。さらに、アクセスポイント601と情報処理装置630との接続は有線でなく、無線接続(例えば、無線LAN)とするようにしてもよい。例えば、無線LANの場合、ネットワーク602は情報処理装置630に接続し、情報処理装置630は、アクセスポイント601との送受信処理か、情報処理装置610との送受信処理かを判断する必要がある。
本技術の第2の実施の形態では、アクセスポイント601と情報処理装置603、604、610、620とは、無線LAN(例えば、IEEE802.11a/b/g/n/ac/adに相当する無線LAN)を用いて接続する例を示す。また、アクセスポイント601と情報処理装置630とは、Ethernet回線で接続する例を示す。
また、情報処理装置603、604、610、620を送信側の情報処理装置(ソース機器)とし、情報処理装置630を受信側の情報処理装置(シンク機器)とする例を示す。また、情報処理装置603、604、610、620は、図2に示す情報処理装置200に対応し、情報処理装置630は、図3に示す情報処理装置300に対応するものとする。なお、以下では、ソース機器として、主に、情報処理装置610について説明するが、情報処理装置603、604、620についても同様であるものとする。
情報処理装置610は、画像を送信する送信側の情報処理装置(ソース機器)である。また、情報処理装置610は、Infrastructureモードで、アクセスポイント601との接続が可能な情報処理装置である。
ここで、Infrastructureモードで、情報処理装置610がアクセスポイント601との接続を行う接続例について説明する。情報処理装置610は、アクセスポイント601から送信されるビーコン信号に対して、接続要求信号をアクセスポイント601に送信する。このように、情報処理装置610は、接続要求信号を送信することにより、アクセスポイント601との接続を確立するための動作(接続確立動作)を開始する。
この接続確立動作は、レイヤ2のレベルを繋げるための動作である。例えば、無線LANで行われているPID(Packet Identification)によるパスワード認証の他に、情報処理装置610をアプリケーションとして接続するか否かを判断する接続認証処理も必要になる。
また、情報処理装置610は、情報処理装置630とP2Pダイレクト通信(例えば、WiFi Direct)により接続することができる。例えば、情報処理装置610は、情報処理装置630とWiFi Directにより接続し、Wi−Fi CERTIFIED MiracastやDLNA(Digital Living Network Alliance)等の画像音声(映像音声)伝送を可能にするプロトコルを有する。
また、情報処理装置610は、アクセスポイント601と接続して、アクセスポイント601を経由して情報処理装置630との間で、各種情報のやりとりのみを行う低速画像音声送信装置(待機装置)とするようにしてもよい。なお、情報処理装置610を低速画像音声送信装置としてのみ使用する場合には、情報処理装置610は、高速画像音声送信を可能にするプロトコルを有していなくてもよい。
情報処理装置630は、アクセスポイント601、情報処理装置603、604、610、620、制御装置640と接続するための通信機能を備える。また、情報処理装置630は、アクセスポイント601、情報処理装置603、604、610、620、制御装置640と接続して全体のプロトコルを制御する機能を備える。また、情報処理装置630は、構内LANやグローバルLANと接続するための通信機能を備える。
ここで、情報処理装置630と、情報処理装置603、604、610、620との接続を安定させることが重要である。このため、アクセスポイント601が使用している無線周波数とは異なる周波数を、情報処理装置630と、情報処理装置603、604、610、620との接続に用いることが好ましい。なお、本技術の第2の実施の形態では、IEEE802.11a/b/g/n/ac/ad等の2.4GHz帯、5GHz帯、60GHz等の周波数帯を使用する例を示す。ただし、他の無線規格、周波数帯を使用するようにしてもよい。
また、情報処理装置630は、画像を表示させる表示機能を備える。この表示機能は、TV(テレビジョン)やプロジェクタ等の画面表示を行う機能である。情報処理装置630は、情報処理装置630が備える表示部に画像を表示させるようにしてもよく、外部の表示装置に画像を表示させるようにしてもよい。なお、本技術の第2の実施の形態では、情報処理装置630とは別体型の表示装置631を設ける例を示す。
このように、情報処理装置630とは別体型の表示装置631を設ける場合には、情報処理装置630および表示装置631間を、有線接続または無線接続することができる。例えば、情報処理装置630および表示装置631間を有線接続する場合には、有線ケーブル(例えば、HDMI(登録商標)(High-Definition Multimedia Interface)やMHL(Mobile High-definition Link)、DisplayPort、USB3.0)を利用して接続することができる。また、例えば、情報処理装置630および表示装置631間を無線接続する場合には、無線LANを利用して接続することができる。また、情報処理装置630に接続する表示装置は複数台でもよいものとする。
制御装置640は、通信システム600を構成する各情報処理装置(情報処理装置603、604、610、620、630)を管理し、各情報処理装置の接続や表示状態を把握して制御する接続制御装置である。例えば、制御装置640は、各情報処理装置に関する情報(例えば、端末識別情報、Capability情報)、各情報処理装置の動作状態(例えば、通信モード、グループ参加状態)を管理して把握する。また、制御装置640は、無線通信を利用して情報処理装置630と接続される。この無線通信として、例えば、情報処理装置630が備える通信方式(例えば、無線LAN)を用いることができる。また、赤外線、他の無線方式、有線回線を用いるようにしてもよい。なお、制御装置640にアクセスポイント601と接続するためのプロトコルを備え、アクセスポイント601経由で情報処理装置630と接続するようにしてもよい。
例えば、制御装置640は、グループへの参加、離脱を把握することにより、各情報処理装置を管理することができる。例えば、グループに参加している各ソース機器は、消費電力に影響を与えない程度に、アクセスポイント601または情報処理装置630にコマンドを発信する等の処理を行う。このコマンドを直接受信した場合、または、アクセスポイント601を経由して間接的に受信した場合には、情報処理装置630は、コマンドを受信したソース機器に関する情報を制御装置640に通知する。これにより、制御装置640は、ソース機器がグループから離脱しているか否かを確認することができる。
例えば、制御装置640は、グループに参加しているソース機器に対応する画像(例えば、アイコン)を入出力部643に表示させる。また、例えば、制御装置640は、グループに参加しているソース機器がグループから離脱しているか否かを確認し、離脱したソース機器を検出した場合には、その離脱したソース機器に対応する画像(例えば、アイコン)を入出力部643から削除する。例えば、ある情報処理装置からのコマンドを、所定時間以上受信していないと判断した場合には、制御装置640は、その情報処理装置がグループから離脱したと判断する。そして、制御装置640は、その離脱した情報処理装置に対応する画像(例えば、アイコン)を入出力部643から削除する。
制御装置640は、グループに参加している情報処理装置に対応する画像(例えば、アイコン)を、各情報処理装置が存在する場所に応じて入出力部643に表示させることができる。例えば、各情報処理装置の位置情報(例えば、緯度および経度)を取得し、この位置情報に基づいて、各情報処理装置の絶対的な位置を決定することができる。このように決定された各情報処理装置の位置に基づいて、各情報処理装置の相対的な位置を決定して各学生を配置することができる。なお、各情報処理装置は、例えば、GPS(Global Positioning System)により位置情報を取得することができる。
また、例えば、各情報処理装置の相対的な位置については、電波を利用して検出することができる。例えば、情報処理装置630は、複数の情報処理装置からの電波強度を取得し、これらの電波強度に基づいて、三角測量の測量方法を利用して、他の情報処理装置との相対的な位置(自装置の位置)を求めることができる。このように求められた相対的な位置を制御装置640が取得して、各情報処理装置の画像を配置することができる。
なお、ここでは、情報処理装置630に接続されている1または複数の情報処理装置を制御装置640が管理し、制御装置640の入出力部643に各情報処理装置を表す画像を表示する例を示した。ただし、情報処理装置630に接続されている1または複数の情報処理装置を、情報処理装置630が管理し、情報処理装置630の表示部または表示装置631に各情報処理装置を表す画像を表示するようにしてもよい。
[ソース機器の通信モードの切替例]
ここで、ソース機器の通信モード(低速画像音声送信モード(待機モード)、高速画像音声送信モード)を切り替える場合の切替方法について説明する。
例えば、次の(B1)乃至(B3)を、ソース機器の通信モードの切替のトリガとすることができる。
(B1)ソース機器を用いた切替(例えば、ソース機器を用いたユーザ操作による能動的な切替)
(B2)制御装置を用いた切替(例えば、制御装置640を用いたユーザ操作による切替(遠隔操作切替))
(B3)シンク機器を用いた切替(例えば、シンク機器(または、これに接続される表示装置631)を用いたユーザ操作による切替)
なお、各装置におけるユーザ操作(切替操作)は、例えば、各装置が備える操作受付部(例えば、操作部材、タッチパネル)を用いたユーザ操作や、各装置が備えるユーザ情報取得部(例えば、ジェスチャーを検出する検出部)を用いたユーザ操作である。
(B1)は、例えば、ソース機器に予め内蔵されているアプリケーションや操作部材の操作入力を切替トリガとすることができる。例えば、ソース機器において切替操作が行われると、通信モードの切替に関するコマンドがシンク機器(情報処理装置630)に送信される。このコマンドを受信した場合には、シンク機器(情報処理装置630)は、その他の帯域を含めて制御しながら、そのコマンドを送信したソース機器の帯域を増減させていく制御を行う。また、シンク機器(情報処理装置630)は、そのコマンドを送信したソース機器の通信モードを切り替えた旨の情報を制御装置640に送信する。この場合に、制御装置640は、通信モードを切り替えた旨の通知情報を出力(表示、音声出力)するようにしてもよい。
(B2)は、例えば、シンク機器(情報処理装置630)におけるユーザ操作を切替トリガとすることができる。例えば、シンク機器(情報処理装置630)においてソース機器の切替操作が行われると、その他の帯域を含めて制御しながら、その切替操作が行われたソース機器の帯域を増減させていく制御を行う。また、シンク機器(情報処理装置630)は、その切替操作が行われたソース機器の通信モードを切り替えた旨の情報を制御装置640に送信する。この場合には、(B1)の場合と同様に、制御装置640は、通信モードを切り替えた旨の通知情報を出力するようにしてもよい。
(B3)は、例えば、制御装置640におけるユーザ操作を切替トリガとすることができる。例えば、制御装置640においてソース機器の切替操作が行われると、その切替操作が行われたソース機器に関する情報(例えば、端末識別情報)をシンク機器(情報処理装置630)に送信する。その情報を受信した場合には、シンク機器(情報処理装置630)は、その他の帯域を含めて制御しながら、その切替操作が行われたソース機器の帯域を増減させていく制御を行う。
また、制御装置640は、上述したように、制御装置640に接続されている各機器を管理している。そして、制御装置640は、これらの各機器がグループから脱退していないかを確認し、脱退している場合には、自装置の管理下から脱退した機器に対応する画像(例えば、アイコン)を入出力部643から削除する。
ここで、制御装置640におけるユーザ操作について説明する。例えば、制御装置640は、グループに参加している各情報処理装置に対応する画像(例えば、アイコン)を、各情報処理装置が存在する場所に応じた配置となるように入出力部643に表示する。この場合に、低速画像音声送信モードに設定されている情報処理装置を高速画像音声送信モード(周辺チャネル)に切り替える場合を想定する。この場合には、切替対象となる情報処理装置に対応する画像を、第1領域(例えば、プレゼン領域)まで移動させる操作を行う。例えば、ドラッグ&ドロップ操作を行う。これにより、低速画像音声送信モードに設定されている情報処理装置を高速画像音声送信モード(周辺チャネル)に切り替えることができる。
また、例えば、高速画像音声送信モード(中央チャネル、周辺チャネル)に設定されている情報処理装置を低速画像音声送信モードに切り替える場合を想定する。この場合には、切替対象となる情報処理装置に対応する画像を、第2領域(例えば、待機領域)まで移動させる操作を行う。例えば、ドラッグ&ドロップ操作を行う。これにより、高速画像音声送信モード(中央チャネル、周辺チャネル)に設定されている情報処理装置を低速画像音声送信モードに切り替えることができる。
また、(B1)、(B2)の場合と同様に、制御装置640は、通信モードを切り替えた旨の通知情報を出力するようにしてもよい。
また、制御装置640は、各情報処理装置を表す画像を、通信モード毎に異なる表示態様としてもよい。例えば、高速画像音声送信モード(中央チャネル)に設定されている情報処理装置を表す画像の輪郭を太線とし、高速画像音声送信モード(周辺チャネル)に設定されている情報処理装置を表す画像の輪郭を細線とする。また、低速画像音声送信モードに設定されている情報処理装置を表す画像の輪郭を点線とすることができる。また、例えば、高速画像音声送信モード(中央チャネル)に設定されている情報処理装置を表す画像の色を赤とし、高速画像音声送信モード(周辺チャネル)に設定されている情報処理装置を表す画像の色を青とする。また、低速画像音声送信モードに設定されている情報処理装置を表す画像の色を白とすることができる。
また、本技術の第2の実施の形態では、上述したように、低速画像音声送信モードでは、アクセスポイントを経由してソース機器およびシンク機器を間接的に接続する接続方式を採用する。また、高速画像音声送信モードでは、アクセスポイントを経由せずにソース機器およびシンク機器を直接接続する接続方式を採用する。
[情報処理装置(ソース機器)の動作例]
図30は、本技術の第2の実施の形態における情報処理装置610によるデータ送信処理の処理手順の一例を示すフローチャートである。
図30では、デフォルトで、ソース機器(情報処理装置610)がアクセスポイントに直接接続した後に各処理を開始する例を示す。すなわち、情報処理装置610は、予めインストールされているアプリケーションを起動し、特定のアクセスポイント(アクセスポイント601)経由でシンク機器への接続要求を行う。また、図30では、シンク機器として情報処理装置630に接続され、特定のアクセスポイントとしてアクセスポイント601に接続される例を示す。
最初に、情報処理装置610においてシンク機器(情報処理装置630)と間で通信を行うためのアプリケーションが起動される(ステップS821)。この起動後に、接続対象となるシンク機器(情報処理装置630)が選択される(ステップS821)。
続いて、情報処理装置610の制御部は、アクセスポイント601(AP)経由で情報処理装置630への接続要求を行う(ステップS822)。続いて、情報処理装置610の制御部は、アクセスポイント601経由で情報処理装置630から接続許可情報を受信したか否かを判断する(ステップS823)。情報処理装置630から接続許可情報を受信していない場合には(ステップS823)、データ送信処理の動作を終了する。この場合には、所定時間以内に接続許可情報を受信していないことを条件に、データ送信処理の動作を終了するようにしてもよい。
情報処理装置630から接続許可情報を受信した場合には(ステップS823)、情報処理装置610の制御部は、情報処理装置610のCapability情報を情報処理装置630にアクセスポイント601を経由して送信する(ステップS824)。
続いて、情報処理装置610の制御部は、アクセスポイント601経由で情報処理装置630から設定要求情報を受信したか否かを判断する(ステップS825)。設定要求情報を受信していない場合には(ステップS825)、監視を継続して行う。
設定要求情報を受信した場合には(ステップS825)、初期状態として、情報処理装置610において待機モードが設定される。そして、情報処理装置610の制御部は、待機モードが設定されているか否かを判断する(ステップS826)。そして、情報処理装置610において待機モードが設定されている場合には(ステップS826)、監視を継続して行う。
待機モードが設定されていない場合(画像送信モードが設定された場合)には(ステップS826)、情報処理装置610の制御部は、情報処理装置610がグループから離脱したか否かを判断する(ステップS827)。ここで、情報処理装置610がグループから離脱する場合は、例えば、情報処理装置610がアクセスポイントまたはシンク機器の何れの電波も届かない場所に移動するような場合、グループから離脱するためのユーザ操作が行われた場合が想定される。このユーザ操作は、例えば、離脱ボタンの押下操作(例えば、操作部材の押下操作、タッチパネルの押下操作)とすることができる。また、そのユーザ操作は、情報処理装置610、他のソース機器、シンク機器、制御装置640の何れかにおいて行うものとする。
そして、情報処理装置610がグループから離脱した場合には(ステップS827)、データ送信処理の動作を終了する。また、情報処理装置610がグループから離脱していない場合には(ステップS827)、情報処理装置610の制御部は、アクセスポイント601を経由する情報処理装置630との接続を切断する(ステップS828)。
続いて、情報処理装置610の制御部は、情報処理装置630とダイレクト接続を行うためのP2P接続処理を行う(ステップS829)。このP2P接続処理が完了した後に(ステップS829)、情報処理装置610の制御部は、情報処理装置630から受信した設定要求情報に基づいて、情報処理装置630に接続要求を行う(ステップS830)。
続いて、情報処理装置610の制御部は、その接続要求に対応する画像の受信を許可する旨を示す確認情報を情報処理装置630から送信したか否かを判断する(ステップS831)。確認情報を情報処理装置630から送信していない場合には(ステップS831)、監視を継続して行う。
確認情報を情報処理装置630から送信した場合には(ステップS831)、情報処理装置610の制御部は、情報処理装置630との間でP2Pダイレクト接続を開始する(ステップS832)。そして、情報処理装置610の制御部は、受信した確認情報に対応する接続要求に基づいて、画像パラメータや音声パラメータのネゴシエーションを情報処理装置630との間で行い、画像データの送信を行う(ステップS833)。
続いて、情報処理装置610の制御部は、画像送信モードが設定されているか否かを判断する(ステップS834)。そして、情報処理装置610において画像送信モードが設定されている場合には(ステップS834)、ステップS833に戻る。
画像送信モードが設定されていない場合(待機モードが設定された場合)には(ステップS834)、情報処理装置610の制御部は、回線が切断されたか否かを判断する(ステップS835)。例えば、情報処理装置610がグループから離脱したような場合には、アクセスポイント601または情報処理装置630との回線が切断される。そして、回線が切断された場合には(ステップS835)、データ送信処理の動作を終了する。
回線が切断されていない場合には(ステップS835)、情報処理装置610の制御部は、情報処理装置630とのダイレクト接続を切断する(ステップS836)。続いて、情報処理装置610の制御部は、アクセスポイント601との接続を開始する(ステップS837)。
このように、情報処理装置610は、Wi−Fi CERTIFIED Miracast仕様に従って情報処理装置630との間でリアルタイム画像伝送を行う。また、情報処理装置610の制御部は、アクセスポイント601を経由して、リアルタイム画像伝送に関する設定を情報処理装置610に行うための設定要求情報を情報処理装置630から受信するよう制御する。また、情報処理装置610の制御部は、情報処理装置630とのダイレクト通信によりその設定要求情報に基づく設定を行うための設定要求を情報処理装置630に送信するよう制御する。その設定要求情報は、アクセスポイント601を経由して情報処理装置610および情報処理装置630間でやりとりされたCapability情報(情報処理装置610に関する)に基づいて生成される。
また、情報処理装置610の制御部は、接続状態を切り替える場合には、切替前の接続に関するポート情報およびIP情報のうちの少なくとも1つを用いて接続処理を行うよう制御することができる。なお、接続状態の切替は、アクセスポイント601を経由した情報処理装置630との接続状態から、ダイレクト通信による情報処理装置630との接続状態への切替、または、その逆の切替である。
また、情報処理装置610の制御部は、画像送信モード(周辺チャネル)では、表示装置631における周辺チャネル領域に表示させるための画像の送信を低周波帯域の無線伝送路で行うよう制御する。また、情報処理装置610の制御部は、画像送信モード(周辺チャネル)では、表示装置631における中央チャネル領域に表示させるための画像の送信を高周波帯域の無線伝送路で行うよう制御する。
また、情報処理装置610の制御部は、各装置の何れかにおけるユーザ操作に基づいてダイレクト通信により設定要求を情報処理装置630に送信するよう制御する。または、情報処理装置610の制御部は、所定順序(例えば、周辺チャネル領域に並べて表示されている画像の順序)に基づいて、ダイレクト通信により設定要求を情報処理装置630に送信するよう制御する。
また、情報処理装置630の制御部は、アクセスポイント601を経由して、リアルタイム画像伝送に関する設定を情報処理装置610に行うための設定要求情報を情報処理装置610に送信するよう制御する。また、情報処理装置630の制御部は、情報処理装置610とのダイレクト通信によりその設定要求情報に基づく設定を行うための設定要求を情報処理装置610から受信するよう制御する。
このように、アクセスポイントとダイレクト接続との切り替えを行う場合に、その切替時間を短くすることができる。例えば、複数のソース機器を帯域制御する環境において、Infrastructure環境と、WiFi Direct(または、Wi−Fi CERTIFIED Miracast)環境とにおいて、切替時間を少なくすることができる。これにより、シームレスな接続切替を提供することができる。
また、マルチソース環境において、複数のソース機器をグループに参加させつつ、接続順序を設け、より高品位な画像での画像情報共有を行うことができる。例えば、Infrastructure環境に参加するソース機器をシンク機器(または制御装置)に通知することができる。また、WiFi Direct(または、Wi−Fi CERTIFIED Miracast)環境では、Infrastructure環境とは異なる周波数チャネルでダイレクト通信により画像送信することができる。これにより、複数のソース機器が1台の表示装置(シンク機器)に接続される場合でも、安定した画像通信を行うことができる。また、無線帯域制限により、全てのソース機器が画像送信モードになることができない場合でも、全ての接続を安定的に接続させることができる。
また、グループ内の接続台数が多ければ多いほど、接続制御のオーバーヘッドが増え、帯域利用効率が悪くなるため、画像伝送を安定的に通すことが難しくなる。これに対して、本技術の実施の形態では、接続台数が多い環境においても、安定した画像伝送を行うことが可能な通信システムを提供することができる。すなわち、本技術の実施の形態では、複数の情報処理装置間で通信を行う場合に適切な制御を行うことができる。
ここで、接続機器の状態管理は、WebSocketのサーバをシンク機器に内蔵し、シンク機器で行うこともできる。例えば、接続器機の状態管理に必要なWebSocket用の接続回線は、待機モードの設定時には、アクセスポイントを経由してWebSocketを動作させることができる。また、画像伝送モードの設定時には、Wi−Fi CERTIFIED Miracast上で、WebSocketを動作させることができる。これらの動作により、WebSocktのクライアントが、上述した(1)乃至(3)のどの切り替えを行っても、リアルタイムにシンク機器にその切替情報が伝達される。また、シンク機器は、それらの管理結果をリアルタイムにWebSocktのクライアント(ソース機器)に戻すことができる。
[最初に接続されたアクセスポイント以外の公衆回線への接続を可能にする例]
以上では、ソース機器がシンク機器に接続する場合に、アクセスポイントを経由したシンク機器への接続、または、シンク機器へのダイレクト接続をする例を示した。ここで、ソース機器が携帯型の情報処理装置(例えば、スマートフォン、タブレット端末)である場合には、ソース機器を使用しているユーザが移動することが想定される。この場合に、例えば、ソース機器を使用しているユーザが、アクセスポイントとの接続が不可能な場所まで移動することも想定される。このような場合でも、シンク機器への接続を継続して行うことを所望するユーザも想定される。そこで、以下では、ソース機器を使用しているユーザが、アクセスポイントとの接続が不可能な場所まで移動する場合を考慮する例を示す。
[情報処理装置(ソース機器)の動作例]
図31および図32は、本技術の第2の実施の形態における情報処理装置610によるデータ送信処理の処理手順の一例を示すフローチャートである。
なお、図31および図32では、デフォルトで、ソース機器(情報処理装置610)がアクセスポイントに直接接続した後に各処理を開始し、アクセスポイント以外の公衆回線への接続も可能にする例を示す。また、図31および図32は、図30の変形例であるため、図30と共通する部分についての説明の一部を省略する。
最初に、アプリケーションが起動され(ステップS841)、アクセスポイント601(AP)経由で情報処理装置630への接続要求が行われる(ステップS842)。続いて、情報処理装置610の制御部は、アクセスポイント601経由で情報処理装置630から接続許可情報を受信したか否かを判断する(ステップS843)。情報処理装置630から接続許可情報を受信していない場合には(ステップS843)、データ送信処理の動作を終了する。なお、ステップS841乃至S843は、図30に示すステップS821乃至S823に対応する。
情報処理装置630から接続許可情報を受信した場合には(ステップS843)、情報処理装置610の制御部は、その接続許可情報に、屋外での利用を許可する情報(屋外使用情報)が含まれるか否かを判断する(ステップS844)。この屋外使用情報は、アクセスポイント601以外のアクセスポイントまたは基地局を経由した情報処理装置630との接続を許可するか否かを示す許可情報である。また、情報処理装置630は、アクセスポイント601(AP)経由で受信した接続要求に応答して接続許可情報を送信する場合には、屋外使用情報(許可、不許可)を制御装置640から取得して接続許可情報に含めて送信する。なお、情報処理装置630は、屋外使用情報として「許可」が格納されている場合であっても、グループ参加可能時間として設定されている時間帯以外の時間帯であるときには、不許可の屋外使用情報を接続許可情報に含めて送信する。すなわち、制御装置640でスケジューリング(スケジュール管理)を行い、参加者の予定時間を管理して、その時間帯になったときにのみ屋外使用を許可することができる。なお、屋外使用情報をCapability情報に含めてシンク機器からソース機器に送信するようにしてもよい。
また、情報処理装置630は、許可の屋外使用情報を接続許可情報に含めて送信する場合には、アクセスポイント601の電波が届かない場所において公衆網を利用するための設定情報を、その接続許可情報に含める。
なお、この例では、屋外使用の許可、不許可を予め設定しておく例を示したが、ソース機器からの接続要求がある毎に、各装置において許可、不許可を設定するようにしてもよい。例えば、他のソース機器(例えば、情報処理装置603、604、620)、シンク機器(情報処理装置630)、制御装置640の少なくとも1つの装置を用いて許可、不許可を設定するための操作を行うことができる。
例えば、情報処理装置630は、制御装置640の入出力部643に許可、不許可を選択するための表示画面を表示させ、この表示画面において行われた許可、不許可の選択操作を受け付けることができる。
また、例えば、情報処理装置630は、表示装置631の表示部632に許可、不許可を選択するための表示画面を表示させ、この表示画面を用いて許可、不許可の選択操作を受け付けることができる。例えば、操作部材を用いた操作入力や、ジェスチャーによる操作入力により許可、不許可の選択操作を受け付けることができる。
また、例えば、情報処理装置630は、他のソース機器(例えば、情報処理装置620)の表示部621に許可、不許可を選択するための表示画面(例えば、ホップアップ)を表示させる。そして、情報処理装置630は、その表示画面において行われた許可、不許可の選択操作を受け付けることができる。
このように、ソース機器からの接続要求がある毎に許可、不許可を設定することができる。このため、例えば、時間帯によって機密性や重要度が異なるような場合でも適切に許可、不許可を設定することができる。
なお、この例では、シンク機器がグループ認証サーバとして機能するとともに、シンク機器が、屋外使用を許可するか否かを判断するための管理を行う例を示す。ただし、屋外使用の許可不許可の管理と、ソース機器とをリンクさせて管理する管理装置(例えば、管理サーバ)を新たに設けて、その管理装置により屋外使用を許可するか否かを判断するための管理を行うようにしてもよい。
接続許可情報に、屋外での使用を許可する屋外使用情報が含まれている場合には(ステップS844)、情報処理装置610の制御部は、屋外使用が許可された旨を表示部611に表示させる(ステップS845)。例えば、同一フロア内(アクセスポイント601の電波が届く範囲)での使用と、屋外使用とが許可された旨をホップアップ表示してユーザに通知することができる。
続いて、情報処理装置610の制御部は、情報処理装置610に関するCapability情報と、公衆網サービス情報とを情報処理装置630にアクセスポイント601を経由して送信する(ステップS846)。ここで、公衆網サービス情報は、情報処理装置610が公衆網のサービスを利用するための情報であり、例えば、接続先電話番号(情報処理装置610の電話番号)、認証パスワード等である。
続いて、情報処理装置610の制御部は、通信処理を行う(ステップS847)。この通信処理では、図30に示す各処理(ステップS825乃至S837)が行われる。
続いて、情報処理装置610の制御部は、アクセスポイント601の電波伝達範囲の外側に移動したか否かを判断する(ステップS848)。そして、アクセスポイント601の電波伝達範囲の外側に移動していない場合には(ステップS848)、ステップS847に戻る。
アクセスポイント601の電波伝達範囲の外側に移動した場合には(ステップS848)、情報処理装置610の制御部は、ユーザが屋外での継続使用を希望するか否かを確認する(ステップS849)。例えば、ユーザがシンク機器との接続を切断する動作(例えば、通信終了操作)を行うことも想定される。このため、ユーザが屋外での継続使用を希望するか否かを確認するようにする。
例えば、情報処理装置610の制御部は、アクセスポイント601の電波伝達範囲の外側に移動した旨と、屋外での継続使用を希望するか否かを選択するための選択ボタンとを含むポップアップを表示部611に表示させる。そして、情報処理装置610の制御部は、そのポップアップにおいて、屋外での継続使用を選択する選択ボタンが押下されたか否かを判断する(ステップS849)。すなわち、情報処理装置610の制御部は、移動後の場所での継続使用が選択されたか否かを判断する(ステップS849)。移動後の場所での継続使用が選択されない場合には(ステップS849)、データ送信処理の動作を終了する。
このように、情報処理装置610の制御部は、屋外での使用を許可する屋外使用情報(許可情報)を受信した場合には、アクセスポイント601以外のアクセスポイントまたは基地局を経由した情報処理装置630とのやりとりを行うよう制御する。この場合に、情報処理装置610の制御部は、アクセスポイント601以外のアクセスポイントまたは基地局を経由して画像データおよび音声データの少なくとも1つを情報処理装置630から受信して出力させるよう制御することができる。
なお、この例では、アクセスポイント601の電波伝達範囲の外側への移動が検出される毎に、屋外での継続使用の確認を行う例を示したが、屋外での継続使用の有無を事前設定しておくようにしてもよい。このように事前設定をしておくことにより、自動的に同一フロア内での使用と屋外使用とをシームレスに切り替えられることができる。
移動後の場所での継続使用が選択された場合には(ステップS849)、移動後の場所に存在する基地局を経由した情報処理装置630による接続処理が行われる(ステップS850)。例えば、情報処理装置630の制御部は、情報処理装置610が、アクセスポイント601の電波伝達範囲の外側に移動したか否かを判断する。そして、情報処理装置610が、アクセスポイント601の電波伝達範囲の外側に移動した場合には、情報処理装置630の制御部は、移動後の場所に存在する基地局を経由して情報処理装置610と接続するための接続処理を行う。例えば、情報処理装置630の制御部は、情報処理装置610から受信した公衆回線サービス情報に電話番号が含まれる場合には、その電話番号に基づいて、公衆網を経由して情報処理装置610に発呼する。そして、情報処理装置610の制御部は、情報処理装置630との間で公衆網を経由した接続処理を行う。
ここで、アクセスポイント601の電波伝達範囲の外側に移動した場合には、情報処理装置610を所有するユーザは、表示装置631の表示部632を見ることができず、表示装置631から出力される音声を聞くことができないと想定される。そこで、情報処理装置630は、公衆網を経由して情報処理装置610と接続した時点で、情報処理装置610が画像および音声を受信可能であるか否かを確認するためのやりとりを行う。そして、情報処理装置630は、情報処理装置610が、画像および音声の両方を受信可能であるか、画像のみを受信可能であるか、音声のみを受信可能であるかを判断する。
その判断結果に基づいて、情報処理装置630は、情報処理装置610との間でデータ通信(画像データ、音声データ)を行う。すなわち、情報処理装置610の制御部は、公衆網を経由して、情報処理装置630との間でデータ通信(画像データ、音声データ)を行う。このデータ通信では、情報処理装置610および情報処理装置630間で双方向のやり取りが行われる。
例えば、情報処理装置630の制御部は、表示装置631の表示部632に表示されている表示画面と、表示装置631から出力される音声とのうちの少なくとも1つを送信する。また、屋外の場合には、情報処理装置610の表示部611に表示される表示画面を見ることができないことも想定される。この場合には、音声の送信のみとするようにしてもよい。この送信すべきデータについては、情報処理装置610のユーザにより変更可能とすることができる。
また、情報処理装置610および情報処理装置630間で双方向のデータのやりとりを行う場合に、情報処理装置630は、公衆網を経由した情報処理装置610までの伝送路(例えば、帯域や通信状況)を確認する。そして、情報処理装置630は、その確認結果に基づいて、送信すべきデータを切り替えるようにしてもよい。例えば、大容量の伝送路が確保されている場合には、情報処理装置630は、画像データおよび音声データの双方を送信するようにする。また、例えば、大容量の伝送路が確保されていない場合には、情報処理装置630は、画像データをトランスコードさせて容量を削減させたり、音声データのみを送信したりするようにする。
続いて、情報処理装置610の制御部は、公衆網を経由した情報処理装置630との接続を継続して行うか否かを判断する(ステップS852)。例えば、情報処理装置610の制御部は、公衆網を経由した情報処理装置630との接続を継続して行うか否かを選択するための表示画面を表示部611に表示(常時表示、または、定期的に表示)させる。そして、その表示画面における選択操作に基づいて、情報処理装置610の制御部は、公衆網を経由した情報処理装置630との接続を継続して行うか否かを判断することができる。
公衆網を経由した情報処理装置630との接続を継続して行う場合には(ステップS852)、ステップS851に戻る。また、公衆網を経由した情報処理装置630との接続を継続しない場合には(ステップS852)、情報処理装置610の制御部は、公衆網を経由した情報処理装置630との接続を切断する(ステップS853)。
接続許可情報に、屋外での使用を不許可とする屋外使用情報が含まれている場合には(ステップS844)、情報処理装置610の制御部は、屋外使用は不許可である旨を表示部611に表示させる(ステップS854)。
続いて、情報処理装置610の制御部は、情報処理装置610に関するCapability情報を情報処理装置630にアクセスポイント601を経由して送信する(ステップS855)。
続いて、情報処理装置610の制御部は、通信処理を行う(ステップS856)。この通信処理では、図30に示す各処理(ステップS825乃至S837)が行われる。
続いて、情報処理装置610の制御部は、アクセスポイント601の電波伝達範囲の外側に移動したか否かを判断する(ステップS857)。そして、アクセスポイント601の電波伝達範囲の外側に移動していない場合には(ステップS857)、ステップS856に戻る。また、アクセスポイント601の電波伝達範囲の外側に移動した場合には(ステップS857)、ステップS853に進む。
このように、シンク機器および複数のソース機器間で情報共有を行う場合に、ソース機器の場所にかかわらずに情報のやりとりを行うことができる。例えば、情報処理装置610を所有する学生が、アクセスポイント601の電波到達範囲705の外側に移動したような場合でも、基地局を経由して情報処理装置610を情報処理装置630に接続することができる。例えば、学生が、発表を行った教室から、研究室や大学外の場所に移動する場合が想定される。また、例えば、通信システム600が会社に設置されている場合には、営業マンが、プレゼンテーションを行った会議室から外出するような場合が想定される。この場合には、その営業マンが、屋外(例えば、電車内)で会議内容を聞くことができる。
また、図31および図32に示す例において、アクセスポイントおよびWi−Fi CERTIFIED Miracastに限らず、公衆回線との切り替えでも、WebSocketによる管理を行うことができる。また、例えば、公衆回線の使用時において、公衆回線上でWebSocketによる管理を行うようにしてもよい。
<3.第3の実施の形態>
本技術の第2の実施の形態では、ユーザ操作やユーザ動作により、ソース機器をシンク機器またはアクセスポイントに接続する例を示した。
ここで、無線LANを利用してアクセスポイントまたはシンク機器にソース機器を接続した後にその接続を切断した場合を想定する。この場合には、接続の切断後でも無線LANの接続設定がソース機器に保存されていることがある。この場合には、ソース機器を所有するユーザが、接続するための設定操作等を行わなくても、ソース機器が自動的にアクセスポイントまたはシンク機器に接続されてしまうことが想定される。
そこで、本技術の第3の実施の形態では、ソース機器がアクセスポイントまたはシンク機器に自動的に接続される例を示す。なお、ソース機器がアクセスポイントまたはシンク機器に自動的に接続されるような環境では、各種のシンク機器に接続されるアクセスポイントが複数存在することが想定される。このため、それらの複数のアクセスポイントにソース機器をソフトハンドオーバで継続的に接続させることにより、そのような環境が実現される。
最初に、ソース機器がアクセスポイントに自動的に接続される例を示す。例えば、構内の無線LANに自動的に継続接続される場合が想定される。
[情報処理装置(ソース機器)の動作例]
図33は、本技術の第3の実施の形態における情報処理装置610によるデータ送信処理の処理手順の一例を示すフローチャートである。なお、図33は、図30の変形例であるため、図30と共通する部分については、同一の符号を付してこれらの説明の一部を省略する。
最初に、情報処理装置610が存在する場所に設置されているアクセスポイントに、情報処理装置610が自動的にハンドオーバされて接続される(ステップS861)。例えば、情報処理装置610を所有するユーザが、グループに参加するため、特定のフロアに移動しているような場合が想定される。この環境では、情報処理装置610においてアプリケーションが起動する(ステップS862)。この起動後に、情報処理装置610の制御部は、接続を所望するシンク機器の機器発見処理を試みる。
この機器発見処理により、起動したアプリケーションに対応するシンク機器が複数発見されることも想定される。この場合には、情報処理装置610の表示部611に、発見された複数のシンク機器から所望のシンク機器を選択するための選択画面を表示させ、この選択画面においてユーザ操作により選択させることができる(ステップS863)。また、発見された複数のシンク機器のうち、ソース機器から一番近い機器を自動的に選択して接続するようにしてもよい(ステップS863)。
次に、ソース機器がシンク機器およびアクセスポイントに自動的に接続される例を示す。例えば、シンク機器の接続設定がソース機器に保存され、かつ、シンク機器の電波到達範囲内にソース機器が移動して自動接続される場合が想定される。
[情報処理装置(ソース機器)の動作例]
図34は、本技術の第3の実施の形態における情報処理装置610によるデータ送信処理の処理手順の一例を示すフローチャートである。なお、図34は、図30の変形例であるため、図30と共通する部分については、同一の符号を付してこれらの説明の一部を省略する。
最初に、情報処理装置610の制御部は、情報処理装置610が無線LAN機能としてコンカレント機能(時分割コンカレント機能または同時利用コンカレント機能)を備えるか否かを判断する(ステップS871)。コンカレント機能を備える場合には、情報処理装置610は、アクセスポイントおよびシンク機器の切断切替を行わなくても、アクセスポイントおよびシンク機器の双方への時分割または同時接続が可能である
情報処理装置610がコンカレント機能を備える場合には(ステップS871)、情報処理装置610の制御部は、自動的に繋がった接続でレイヤ3までの設定(IPアドレスの取得まで設定)を行う(ステップS872)。続いて、情報処理装置610の制御部は、アクセスポイントを経由してシンク機器との接続を試みる(ステップS873)。ここで、アクセスポイント経由とP2Pダイレクト接続との両リンクともにシンク機器と接続された場合には、機器発見処理を両方で行わないようにすることが好ましい。例えば、アクセスポイント経由を優先させ、P2Pダイレクト接続は、リンク接続のみを維持させ、Wi−Fi CERTIFIED Miracastの画像送信を停止させるようにしてもよい。この場合、画像送信モードにおいて、Wi−Fi CERTIFIED Miracastが使用する周波数帯の帯域を無駄にすることなく、次の切替時間を高速に行うことができる。
情報処理装置610がコンカレント機能を備えない場合には(ステップS871)、情報処理装置610の制御部は、シンク機器への接続状態を確認する(ステップS874)。ここで、例えば、シンク機器がP2Pダイレクト接続で接続されている場合には、P2Pダイレクト接続を一度切断し、アクセスポイント経由での接続に変更する。また、アクセスポイント経由で接続されている場合には、その接続を維持する。また、コンカレント機能を備えない場合には、接続状態のポート情報やIP情報を情報処理装置610が保持しておき流用するようにする。
続いて、情報処理装置610の制御部は、アクセスポイント経由で機器発見処理を行う(ステップS875)。この機器発見処理後に、情報処理装置610の制御部は、アクセスポイント経由でシンク機器から接続許可情報を受信したか否かを判断する(ステップS876)。
ここで、参加台数が少ない環境では、そのままP2Pダイレクト接続を継続して行うようにしてもよい。この場合には、アクセスポイント経由でシンク機器から接続許可情報を受信した場合には(ステップS876)、ステップS828に進むようにする。
このように、ユーザが接続設定を気にしなくても、現時点の設定情報を適宜把握することができる。そして、本技術の第2の実施の形態と同等の動作になるように対応させることができる。
このように、機器の接続管理においても、アクセスポイントを経由した回線が常に接続されているため、WebSocketによる管理をアクセスポイントとWi−Fi CERTIFIED Miracastで切り替える必要がない。このため、常にアクセスポイントを経由したリンクで管理することもできる。
<4.第4の実施の形態>
本技術の第1乃至第3の実施の形態では、複数のソース機器と1つのシンク機器とを接続する例を示した。ただし、1つのソース機器と複数のシンク機器とを接続する場合についても、本技術の第1乃至第3の実施の形態を適用することができる。また、複数のソース機器と複数のシンク機器とを接続する場合についても、本技術の第1乃至第3の実施の形態を適用することができる。
そこで、本技術の第4の実施の形態では、1つのソース機器と複数のシンク機器とを接続する例を示す。
[通信システムの構成例]
図35は、本技術の第4の実施の形態における通信システム700のシステム構成例を示す図である。
通信システム700は、インターネット701と、基地局702、703と、撮像装置704、705と、受信機710と、情報処理装置720、730とを備える。
基地局702、703は、受信機710と、情報処理装置720、730とが、無線通信を利用してインターネット701に接続するための基地局である。
撮像装置704、705は、被写体を撮像して画像データを生成する撮像装置である。また、撮像装置704、705は、生成された画像データをインターネット701を介して、受信機710、情報処理装置720、730に送信することができる。
受信機710は、各放送局からの放送波を受信して画像(立体視画像または平面画像)を表示するテレビジョン受像機(例えば、録画機能を備えるテレビジョン受像機)である。また、受信機710は、ハイブリッドキャストのように、放送および通信を融合した表示環境を提供することができる情報処理装置であるものとする。
また、受信機710は、無線通信を利用して、各種画像(例えば、外部装置から入力された画像、放送波に基づく画像、内部記憶部に記憶されている画像、表示部711に表示される画像)を、情報処理装置720、730に送信することができる。
また、受信機710を送信側の情報処理装置(ソース機器)とし、情報処理装置720、730を受信側の情報処理装置(シンク機器)とする例を示す。また、受信機710は、図2に示す情報処理装置200に対応し、情報処理装置720、730は、図3に示す情報処理装置300に対応するものとする。
例えば、情報処理装置720は、撮像装置704、705から送信された画像データ(例えば、風景を撮影した画像データ)を基地局702を介して受信し、その各画像データに基づく画像を表示部721に表示することができる。同様に、情報処理装置730は、撮像装置704、705から送信された画像データ(例えば、風景を撮影した画像データ)を基地局702を介して受信し、その各画像データに基づく画像を表示部731に表示することができる。
また、受信機710は、各放送局から受信した放送波に基づく画像を表示部711に表示することができる。また、受信機710は、各放送局から受信した放送波に基づく画像データを情報処理装置720、730に送信することができる。この場合には、情報処理装置720、730は、その放送波に基づく画像を表示部721、731に表示することができる。
ただし、放送波に基づく画像は、著作権との関係でソース機器およびシンク機器に同時に表示することができないことも想定される。そこで、ソース機器(受信機710)が放送波に基づく画像データをシンク機器(情報処理装置720、730)に送信して表示させる場合には、その画像をソース機器から消去して送信するようにする。また、シンク機器に表示される画像(放送波に基づく画像)には、他の画像を上書きしないようにする。
また、その放送波に基づく画像は、HDCP(High-bandwidth Digital Content Protection system)に対応する画像であることが想定される。このため、情報処理装置720は、その放送波に基づく画像(HDCP使用画像)を表示部721に表示する場合には、その放送波に基づく画像に他の画像を重ねないようにする。例えば、情報処理装置720は、撮像装置704、705から送信された画像を、その放送波に基づく画像(HDCP使用画像)に上書きして表示しないようにする。
また、1つのソース機器から送信された画像を複数のシンク機器に表示する場合には、本技術の第1乃至第3の実施の形態と同様に、ソース機器の表示位置をリアルタイムで各シンク機器に通知することができ、シンク機器から表示位置を制御することができる。例えば、受信機710から送信された画像を情報処理装置720、730に表示する場合には、受信機710の表示位置を情報処理装置720、730に通知することができ、情報処理装置720、730から表示位置を制御することができる。
また、例えば、情報処理装置720、730において、所望する画像を設定しておき、その画像を受信機710から取得することができる。例えば、情報処理装置720において、キーワード情報(例えば、サッカー日本代表)を設定しておく場合を想定する。この場合には、そのキーワード情報(例えば、サッカー日本代表)に関連する画像が受信機710において抽出され、この抽出された画像が受信機710から情報処理装置720に送信される。そして、そのキーワード情報(例えば、サッカー日本代表)に関連する画像を情報処理装置720の表示部721に表示させることができる。
[表示不可領域を通知する場合の動作例]
上述したように、HDCP使用画像には他の画像を重ねないようにする。そこで、ここでは、他の画像を重ねない領域(表示不可領域)を決定して他の機器に通知する例を示す。
最初に、マルチシンク環境におけるソース機器の動作例について説明する。
図36は、本技術の第4の実施の形態における受信機710(ソース機器)による表示不可領域通知処理の処理手順の一例を示すフローチャートである。
最初に、受信機710の制御部は、受信機710に接続するシンク機器のCapability Negotiationの際に、新規参入するシンク機器がHDCPをデコードできる能力を備えるか否かを接続情報として把握する(ステップS881)。
続いて、受信機710の制御部は、そのCapability Negotiationの際に、新規参入するシンク機器がHDCPをデコードして表示する場合には、受信機710の画像に他の画像を上書きしないように制御する(ステップS882)。
続いて、受信機710の制御部は、受信機710およびシンク機器との接続にHDCPを使用するか否かを、Capability情報に基づいて判断する(ステップS883)。受信機710およびシンク機器との接続にHDCPを使用しない場合には(ステップS883)、ステップS881に戻る。
受信機710およびシンク機器との接続にHDCPを使用する場合には(ステップS883)、受信機710の制御部は、複数のソース機器から受信した画像を重ねて表示してはいけない領域(表示不可領域)を決定する(ステップS884)。
続いて、受信機710の制御部は、受信機710に接続する他のシンク機器が存在するか否かを判断する(ステップS885)。受信機710に接続する他のシンク機器が存在する場合には(ステップS885)、ステップS881に戻る。
受信機710に接続する他のシンク機器が存在する場合には(ステップS885)、受信機710の制御部は、その決定された表示不可領域を各シンク機器に通知する(ステップS886)。
次に、マルチソース環境におけるシンク機器の動作例について説明する。なお、この動作例についても、図36を参照して説明する。
最初に、情報処理装置720の制御部は、情報処理装置720に接続するソース機器のCapability Negotiationの際に、新規参入するソース機器がHDCPを使用しているか否かを接続情報として把握する(ステップS881)。
続いて、情報処理装置720の制御部は、情報処理装置720に接続するソース機器のCapability Negotiationの際に、新規参入するソース機器がHDCPを使用している場合には、その画像を重ねずに表示する(ステップS882)。
続いて、情報処理装置720の制御部は、情報処理装置720およびソース機器との接続にHDCPを使用するか否かを、Capability情報に基づいて判断する(ステップS883)。情報処理装置720およびソース機器との接続にHDCPを使用しない場合には(ステップS883)、ステップS881に戻る。
情報処理装置720およびソース機器との接続にHDCPを使用する場合には(ステップS883)、情報処理装置720の制御部は、複数のソース機器から受信した画像を重ねて表示してはいけない領域(表示不可領域)を決定する(ステップS884)。
続いて、情報処理装置720の制御部は、情報処理装置720に接続する他のソース機器が存在するか否かを判断する(ステップS885)。情報処理装置720に接続する他のソース機器が存在する場合には(ステップS885)、ステップS881に戻る。
情報処理装置720に接続する他のソース機器が存在しない場合には(ステップS885)、情報処理装置720の制御部は、その決定された表示不可領域を各ソース機器に通知する(ステップS886)。
このように、1台のソース機器から送信された画像を複数のシンク機器に表示する場合において、ソース機器の表示位置をリアルタイムで各シンク機器に通知することができる。これにより、シンク機器から表示位置を制御することができる。
<5.応用例>
本開示に係る技術は、様々な製品へ応用可能である。例えば、情報処理装置200、300、400、603、604、610、620、630、720、730、受信機710は、スマートフォン、タブレットPC(Personal Computer)、ノートPC、携帯型ゲーム端末若しくはデジタルカメラなどのモバイル端末、テレビジョン受像機、プリンタ、デジタルスキャナ若しくはネットワークストレージなどの固定端末、又はカーナビゲーション装置などの車載端末として実現されてもよい。また、情報処理装置200、300、400、603、604、610、620、630、720、730、受信機710は、スマートメータ、自動販売機、遠隔監視装置又はPOS(Point Of Sale)端末などの、M2M(Machine To Machine)通信を行う端末(MTC(Machine Type Communication)端末ともいう)として実現されてもよい。さらに、情報処理装置200、300、400、603、604、610、620、630、720、730、受信機710は、これら端末に搭載される無線通信モジュール(例えば、1つのダイで構成される集積回路モジュール)であってもよい。
[5−1.第1の応用例]
図37は、本開示に係る技術が適用され得るスマートフォン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)等の公衆回線に接続するための無線通信インターフェースの機能を有し、公衆回線と通信し得る。
なお、図37の例に限定されず、スマートフォン900は、複数のアンテナ(例えば、無線LAN用のアンテナ及び近接無線通信方式用のアンテナ、公衆回線通信用アンテナなど)を備えてもよい。その場合に、アンテナスイッチ914は、スマートフォン900の構成から省略されてもよい。
バス917は、プロセッサ901、メモリ902、ストレージ903、外部接続インタフェース904、カメラ906、センサ907、マイクロフォン908、入力デバイス909、表示デバイス910、スピーカ911、無線通信インタフェース913及び補助コントローラ919を互いに接続する。バッテリー918は、図中に破線で部分的に示した給電ラインを介して、図37に示したスマートフォン900の各ブロックへ電力を供給する。補助コントローラ919は、例えば、スリープモードにおいて、スマートフォン900の必要最低限の機能を動作させる。
図37に示したスマートフォン900において、図2を用いて説明した制御部240、図3を用いて説明した制御部370は、無線通信インタフェース913において実装されてもよい。また、これら機能の少なくとも一部は、プロセッサ901又は補助コントローラ919において実装されてもよい。
なお、スマートフォン900は、プロセッサ901がアプリケーションレベルでアクセスポイント機能を実行することにより、無線アクセスポイント(ソフトウェアAP)として動作してもよい。また、無線通信インタフェース913が無線アクセスポイント機能を有していてもよい。
[5−2.第2の応用例]
図38は、本開示に係る技術が適用され得るカーナビゲーション装置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による無線信号の送信及び受信のために使用される。
なお、図38の例に限定されず、カーナビゲーション装置920は、複数のアンテナを備えてもよい。その場合に、アンテナスイッチ934は、カーナビゲーション装置920の構成から省略されてもよい。
バッテリー938は、図中に破線で部分的に示した給電ラインを介して、図38に示したカーナビゲーション装置920の各ブロックへ電力を供給する。また、バッテリー938は、車両側から給電される電力を蓄積する。
図38に示したカーナビゲーション装置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)
一以上のSink機器との間でWi−Fi(Wireless Fidelity) CERTIFIED Miracast仕様に従ったリアルタイム画像伝送を行う無線通信部と、
前記一以上のSink機器から受信した前記Wi−Fi CERTIFIED Miracast仕様に従って自装置を制御するための制御情報に基づいて前記リアルタイム画像伝送に関する制御を行う制御部とを有し、
前記制御部は、前記制御情報を複数受信した場合に、各制御情報を送信したSink機器における操作情報を伝送するためのUIBC(User Input Back Channel)のオンオフを切り換える制御を行う
情報処理装置。
(2)
前記無線通信部は、前記Sink機器との間で生成されたTCP(Transmission Control Protocol)セッション上で前記制御情報を受信する前記(1)に記載の情報処理装置。
(3)
前記オンオフを切り換える制御とは、接続、切断、開始、停止、有効化、無効化のいずれかの制御である前記(1)または(2)に記載の情報処理装置。
(4)
前記制御部は、前記一以上のSink機器のうち、第1のSink機器に対するUIBCを有効化し、第2のSink機器に対するUIBCを無効化する制御を行う前記(3)に記載の情報処理装置。
(5)
前記無線通信部は、前記第1のSink機器に対して、UIBCを有効と設定した旨を通知し、前記第2のSink機器に対して、UIBCを無効と設定した旨の通知を行う前記(4)に記載の情報処理装置。
(6)
前記制御情報は、GET_PARAMETER Responseであり、
前記通知は、SET_PARAMETERとして送信される
前記(5)に記載の情報処理装置。
(7)
前記制御部は、前記一以上のSink機器のうち、第1のSink機器に対するUIBCを有効化し、前記各制御情報を送信したSink機器のうち、前記第1のSink機器以外の全てのSink機器に対するUIBCを無効化する制御を行う前記(3)に記載の情報処理装置。
(8)
前記無線通信部は、ID情報と紐着いた複数の操作情報をUIBC情報として受信し、
前記制御部は、前記ID情報に含まれるID用ヘッダを参照することで、対応する操作情報を識別する
前記(1)から(7)のいずれかに記載の情報処理装置。
(9)
前記一以上のSink機器は、複数の入力装置を有し、
前記複数の操作情報は、前記複数の入力装置のそれぞれから、前記一以上のSink機器経由で送信される
請求項8に記載の情報処理装置。
前記(8)に記載の情報処理装置。
(10)
前記無線通信部は、前記複数のUIBC情報を束ねて一つのポートを設定して通信を行う前記(8)または(9)に記載の情報処理装置。
(11)
前記無線通信部は、Source機器としての通信を行う前記(1)から(10)のいずれかに記載の情報処理装置。
(12)
一以上のSink機器との間でWi−Fi(Wireless Fidelity) CERTIFIED Miracast仕様に従ったリアルタイム画像伝送を行う無線通信手順と、
前記一以上のSink機器から受信した前記Wi−Fi CERTIFIED Miracast仕様に従って自装置を制御するための制御情報に基づいて前記リアルタイム画像伝送に関する制御を行う制御手順とを有し、
前記制御手順は、前記制御情報を複数受信した場合に、各制御情報を送信したSink機器における操作情報を伝送するためのUIBC(User Input Back Channel)のオンオフを切り換える制御を行う
情報処理方法。
(13)
一以上のSource機器との間でWi−Fi(Wireless Fidelity) CERTIFIED Miracast仕様に従ったリアルタイム画像伝送を行う無線通信部と、
前記リアルタイム画像伝送により受信した画像を表示する表示部とを有し、
前記無線通信部は、前記一以上のSource機器のうち、第1のSoucer機器が一以上のSink機器との間で前記リアルタイム画像伝送を行う場合に、前記第1のSource機器から、前記一以上のSink機器のうち自装置における操作情報を伝送するためのUIBC(User Input Back Channel)のオンオフに関する制御情報を受信する
情報処理装置。
また、本技術は以下のような構成もとることができる。
(C1)
Wi−Fi(Wireless Fidelity) CERTIFIED Miracast仕様に従って他の情報処理装置との間でリアルタイム画像伝送を行う無線通信部と、
前記他の情報処理装置から送信された画像情報に基づく画像を表示部に表示させ、前記画像に関する制御情報を前記他の情報処理装置との間でやりとりするための複数の通信方式に使用されるポートを設定する制御を行う制御部と
を具備する情報処理装置。
(C2)
前記制御部は、前記他の情報処理装置との間で生成されたTCP(Transmission Control Protocol)セッション上で前記ポートを設定する場合に、前記ポートを使用する前記複数の通信方式を指定する情報を前記他の情報処理装置に送信する前記(C1)に記載の情報処理装置。
(C3)
前記制御部は、前記複数の通信方式としてUIBC(User Input Back Channel)およびWebSocketを指定する情報を前記他の情報処理装置に送信する前記(C2)に記載の情報処理装置。
(C4)
前記制御部は、前記WebSocketを利用して前記他の情報処理装置から送信された画像情報および音声情報を取得し、当該画像情報に基づく画像を前記表示部に表示させ、前記音声情報に基づく音声を音声出力部から出力させる前記(C3)に記載の情報処理装置。
(C5)
前記制御部は、前記複数の通信方式に使用されるポートとして前記複数の通信方式毎に複数のポートを設定する前記(C1)から(C4)のいずれかに記載の情報処理装置。
(C6)
前記制御部は、前記他の情報処理装置からの要求に応じて前記複数のポートを設定する前記(C5)に記載の情報処理装置。
(C7)
前記制御部は、前記複数の通信方式に使用されるポートとして前記複数の通信方式について1つのポートを設定する前記(C1)から(C4)のいずれかに記載の情報処理装置。
(C8)
前記制御部は、前記複数の通信方式の何れかを用いて前記表示部における前記画像の表示態様に関する情報を前記他の情報処理装置に送信し、前記他の情報処理装置から送信された制御情報に基づいて前記画像の表示態様を変更する前記(C1)から(C7)のいずれかに記載の情報処理装置。
(C9)
前記制御情報は、前記他の情報処理装置において受け付けられた前記画像の表示態様を変更するための操作に関する操作情報である前記(C8)に記載の情報処理装置。
(C10)
前記制御部は、前記画像と前記他の情報処理装置を表す情報とを前記表示部に関連付けて表示させる前記(C1)から(C9)のいずれかに記載の情報処理装置。
(C11)
Wi−Fi CERTIFIED Miracast仕様に従って他の情報処理装置との間でリアルタイム画像伝送を行う無線通信部と、
前記他の情報処理装置が備える表示部または前記他の情報処理装置に接続されている表示部に画像を表示させるための画像情報を前記他の情報処理装置に送信させ、前記画像に関する制御情報を前記他の情報処理装置との間でやりとりするための複数の通信方式に使用されるポートを設定する制御を行う制御部と
を具備する情報処理装置。
(C12)
Wi−Fi(Wireless Fidelity) CERTIFIED Miracast仕様に従って複数の情報処理装置との間でリアルタイム画像伝送を行う無線通信部と、
前記複数の情報処理装置から送信された画像情報に基づく画像を表示部に表示させ、前記画像に関する制御情報をやりとりするための複数のポートが前記複数の情報処理装置毎に設定されている場合に、前記複数の情報処理装置のうちから前記制御情報をやりとりする情報処理装置を選択して当該選択された情報処理装置との間で前記制御情報をやりとりするためのポートの切り替えを行う制御部と
を具備する情報処理装置。
(C13)
Wi−Fi CERTIFIED Miracast仕様に従って複数の情報処理装置との間でリアルタイム画像伝送を行う無線通信部と、
前記複数の情報処理装置が備える表示部または前記複数の情報処理装置に接続されている表示部に画像を表示させるための画像情報を前記複数の情報処理装置に送信し、前記画像に関する制御情報をやりとりするための複数のポートが前記複数の情報処理装置毎に設定されている場合に、前記複数の情報処理装置のうちから前記制御情報をやりとりする情報処理装置を選択して当該選択された情報処理装置との間で前記制御情報をやりとりするためのポートの切り替えを行う制御部と
を具備する情報処理装置。
(C14)
複数の他の情報処理装置との間でデータ伝送を行う無線通信部と、
前記複数の他の情報処理装置から自装置を制御するための制御情報を受信し、適切な装置からの制御情報を選択する制御部と
を具備する情報処理装置。
(C15)
前記制御部は、前記他の情報処理装置との間で生成されたTCP(Transmission Control Protocol)セッション上で制御情報を受信する前記(C14)に記載の情報処理装置。
(C16)
Wi−Fi CERTIFIED Miracast仕様に従ってリアルタイム画像伝送を行う第1情報処理装置および第2情報処理装置を具備し、
前記第1情報処理装置は、画像情報を前記第2情報処理装置に送信し、
前記第2情報処理装置は、前記第1情報処理装置から送信された前記画像情報に基づく画像を表示部に表示させ、前記画像に関する制御情報を前記第1情報処理装置との間でやりとりするための複数の通信方式に使用されるポートを設定する制御を行う制御部を備える
通信システム。
(C17)
Wi−Fi CERTIFIED Miracast仕様に従って他の情報処理装置から送信された画像情報に基づく画像を表示部に表示させる表示手順と、
前記画像に関する制御情報を前記他の情報処理装置との間でやりとりするための複数の通信方式に使用されるポートを設定する制御手順と
を具備する情報処理方法。
(C18)
Wi−Fi CERTIFIED Miracast仕様に従って他の情報処理装置から送信された画像情報に基づく画像を表示部に表示させる表示手順と、
前記画像に関する制御情報を前記他の情報処理装置との間でやりとりするための複数の通信方式に使用されるポートを設定する制御手順と
をコンピュータに実行させるプログラム。