(57)【特許請求の範囲】
【請求項１】
映像データを取得するデータ取得部と、
ウェブソケットコネクションを介して情報出力装置を操作するための機器操作命令を送信する第１インタフェース部と、
前記情報出力装置で再生可能な映像データを前記情報出力装置に送信する第２インタフェース部と、
前記ウェブソケットコネクションの確立と前記機器操作命令の前記情報出力装置への送信とを行うウェブアプリケーションを実行するアプリケーション実行部と、
前記ウェブアプリケーションからの要求に基づいて行われる、前記第１インタフェース部を介して前記機器操作命令を送信するコネクションの確立と、前記第２インタフェース部を介して前記映像データを送信するコネクションの確立とが、同一の前記情報出力装置に対してなされた場合に、前記第２インタフェース部で前記映像データを前記情報出力装置に送信するコネクション管理部と
前記アプリケーション実行部で実行可能なウェブアプリケーションの一覧を表示装置に表示させる第１画面出力部と、
前記第１画面出力部で表示させたウェブアプリケーションの一覧の中から特定のウェブアプリケーションを選択するアプリ選択部と、
前記アプリ選択部で選択されたウェブアプリケーションを提供するＵＲＬを前記アプリケーション実行部に通知するランチャー部と、
前記データ取得部で取得した前記映像データを前記第２インタフェース部を介して前記情報出力装置に送信する準備が整った後は、前記情報出力装置を操作する情報を前記表示装置に表示させる第２画面出力部と、を備え、
前記第１画面出力部による前記表示装置の表示制御と、前記第２画面出力部による前記表示装置の表示制御とは、排他的に行われ、
前記アプリケーション実行部は、前記ランチャー部により通知されたＵＲＬにアクセスしてウェブアプリケーションを取得して実行することにより、前記第１インタフェース部を介して前記前記機器操作命令を前記情報出力装置に送信するタイミングを決定するとともに、前記第２画面出力部が前記表示装置に表示させる前記情報出力装置を操作する情報を生成することを特徴とする情報生成装置。
【請求項２】
前記機器操作命令は、前記情報出力装置が前記第２インタフェース部を介して入力される前記映像データを表示するか、あるいは前記情報出力装置内のチューナ部で受信した映像データを表示するかを切り替える入力切替命令を含むことを特徴とする請求項１に記載の情報生成装置。
【請求項３】
前記第１および第２画面出力部による前記表示装置の表示制御とは排他的に行われ、取得可能な前記映像データの一覧情報を前記表示装置に表示させる第３画面出力部を備え、
前記アプリケーション実行部は、前記ランチャー部により通知されたＵＲＬにアクセスしてウェブアプリケーションを取得して実行することにより、前記第３画面出力部が前記表示装置に表示させる前記映像データの一覧情報を生成することを特徴とする請求項１または２に記載の情報生成装置。
【請求項４】
前記アプリケーション実行部は、
ブラウザを用いて前記ウェブアプリケーションを実行するブラウザ処理部と、
前記ウェブアプリケーションには記述されていない当該情報生成装置に固有の処理を行う機器固有処理部と、を有することを特徴とする請求項１乃至３のいずれかに記載の情報生成装置。
【請求項５】
前記機器固有処理部は、
前記ウェブアプリケーションからの要求に応じて、前記第１インタフェース部を介して前記情報出力装置に対して前記情報出力装置の識別情報の送信を要求する機器検索処理部と、
前記ウェブアプリケーションからの要求に応じて、前記機器操作命令を送信する前記第１インタフェース部を有する前記情報出力装置が前記第２インタフェース部を有するか否かを確認する接続確認部と、を有することを特徴とする請求項４に記載の情報生成装置。
【請求項６】
前記アプリケーション実行部は、前記ウェブアプリケーションを実行することにより取得した映像データを、前記情報出力装置が再生可能なデータ形式に変換した上で、前記第２インタフェース部を介して前記情報出力装置に送信することを特徴とする請求項１乃至５のいずれかに記載の情報生成装置。
【請求項７】
前記画面出力部に表示されたウェブアプリケーションの一覧から前記アプリケーション実行部で実行すべきウェブアプリケーションの選択と、映像データを前記第２インタフェース部を介して前記情報出力装置に送信する準備が整った後に前記情報出力装置の操作情報の選択とを行うタッチパネル入力部を備えることを特徴とする請求項１乃至６のいずれかに記載の情報生成装置。
【請求項８】
前記情報出力装置から前記第１インタフェース部を介してウェブアプリケーションの取得要求を受信した場合には、該ウェブアプリケーションを前記情報出力装置に送信する第３インタフェース部を備え、
前記ウェブアプリケーションは、前記映像データの取得先を示すＵＲＬ（Universal Resource Locator）に関する記述を含み、
前記アプリケーション実行部は、前記情報出力装置から前記第１インタフェース部を介して映像データの再生要求があった場合に、該映像データを前記ウェブアプリケーションに記述されたＵＲＬから取得して、前記第２インタフェース部を介して前記情報出力装置に送信することを特徴とする請求項１乃至７のいずれかに記載の情報生成装置。
【請求項９】
前記アプリケーション実行部は、前記情報出力装置から前記第１インタフェース部を介して、前記情報出力装置で受信中の放送番組のチャンネル情報が送信されてきた場合に、予め指定したウェブサーバに該チャネル情報を送信するチャネル番号送信部と、
前記チャネル番号の送信に応答して前記ウェブサーバから返送されたＵＲＬを取得するＵＲＬ取得部と、
前記ＵＲＬ取得部で取得されたＵＲＬにアクセスしてウェブアプリケーションを取得するアプリ取得部と、を備え、
前記アプリケーション実行部は、前記アプリ取得部で取得したウェブアプリケーションを実行し、
前記第２インタフェース部は、前記アプリケーション実行部がウェブアプリケーションを実行することにより取得した映像データを前記第２インタフェース部を介して前記情報出力装置に送信することを特徴とする請求項８に記載の情報生成装置。
【請求項１０】
ウェブソケットコネクションを介して情報生成装置から送信された機器操作命令を受信する第１インタフェース部と、
前記情報生成装置から送信された映像データを受信する第２インタフェース部と、
前記第２インタフェース部で受信された映像データを表示するための映像処理を行う映像処理部と、
ウェブアプリケーションからの要求に基づいて、前記第１インタフェース部を介して前記機器操作命令を送信するコネクションの確立と、前記第２インタフェース部を介して前記情報生成装置からの前記映像データを受信するコネクションの確立とが、同一の前記情報生成装置に対してなされた場合に、前記情報生成装置から前記第２インタフェース部を介して受信された映像データを表示する画面出力部と、
放送番組を受信するチューナ部と、
前記第１インタフェース部を介して受信された前記機器操作命令に含まれる入力切替命令に基づいて、前記チューナ部で受信した放送番組と、前記第２インタフェース部を介して受信された前記映像データとを切り替えて前記画面出力部に表示させる画像切替部と、
前記画面出力部に前記情報生成装置から送信された映像データを表示している最中は、前記情報生成装置から前記第１インタフェース部を介して受信された前記機器操作命令に基づいて、機器操作処理を行う機器操作命令処理部と、を備えることを特徴とする情報出力装置。
【請求項１１】
前記画面出力部は、
前記チューナ部で受信された放送番組を表示するための第１表示領域と、
前記第２インタフェース部で受信された映像データを表示するための第２表示領域とを有することを特徴とする請求項１０に記載の情報出力装置。
【請求項１２】
前記第２インタフェース部および前記映像処理部を有するドングル装置を別筐体として本体部から独立させ、前記ドングル装置と前記本体部との間では、前記映像処理部で映像処理された非圧縮の映像データを伝送することを特徴とする請求項１０または１１に記載の情報出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態の実施形態は、ウェブアプリケーションを取得して表示可能な情報生成装置および情報出力装置に関する。
【背景技術】
【０００２】
近年、タブレットやスマートフォンなどの、無線LANや3G網を経由してインターネットに接続する機能を持つ携帯端末が普及している。この種の携帯端末の多くは、Webブラウザを搭載しており、タッチパッドによって文字を入力したり、自端末を操作したり、Webページの中に埋め込まれたリンク（ハイパーリンク）にアクセスする操作を自在に行うことができる。
【０００３】
また、インターネットからアプリケーションをダウンロードすることにより、自端末を任意にカスタマイズしたり、種々の機能を追加したりすることもできる。
【０００４】
その一方で、携帯端末は既存のデジタルＴＶに比べて画面サイズが圧倒的に小さく、大人数で画面を共有するような利用シーンには向かないという問題がある。
【０００５】
逆に、デジタルＴＶはデジタル放送など高精細の動画を大画面で再生する機能は優れているものの、デジタルＴＶを操作するリモコンはもともと放送番組を選局したり音量を調節したりすることを目的としており、PC（パソコン）のマウスのように画面上の任意の部分をポイントするような機能がないため、サムネイル一覧の中から特定の画像や動画を選択したり、Webページの中に埋め込まれたリンクをクリックするといったような多くの選択肢の中から一つを選択する操作には向いていない。
【０００６】
デジタルＴＶはもともと放送番組を視聴することを目的としている。放送ではデジタルＴＶの互換性を確保する観点で、その伝送方式や動画フォーマットが法律や規格によって定められているのが一般的である。また、放送方式を規定した規格書は頻繁には変更されず、またコスト上の観点からデコーダ等をハードウェアとして実装するのが一般的である。
【０００７】
一方、インターネット上には、ユーザ自身が撮影した動画データや、映画などのプレミアムコンテンツを提供する映像配信サービスが存在するが、それらの動画フォーマットは動画を配信するサービス事業者が個々に選択するため、放送で採用されている動画フォーマットと同一とは限らず、その種類やパラメータも多々存在する。従って、デジタルＴＶでインターネット上の様々な動画フォーマットに対応した動画再生機能を実現するには、コストがかかる。
【０００８】
タブレットやスマートフォンはインターネットに接続することを前提としており、デジタルＴＶに比べて高機能なプロセッサを搭載しているため、デコーダをソフトウェアとして実行したり、様々な動画フォーマットに対応したデコーダを搭載するなどして、インターネット上の様々な動画フォーマットを再生することができる。もし、インターネットから取得した動画コンテンツをタブレットやスマートフォンでデコードし、それをデジタルＴＶに出力することができれば、ユーザは大画面のデジタルＴＶで動画コンテンツを楽しむことができる。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】DTCP Volume 1 Supplement E Mapping DTCP to IP, Revision 1.4ed1 (Informational Version).http://www.dtcp.com/documents/dtcp/Info%2020111214%20DTCP%20V1SE%20IP%20Rev%201.4ed1.pdf
【非特許文献２】HDCP Specification Rev. 1.4http://www.digital-cp.com/files/static_page_files/5C3DC13B-9F6B-D82E-D77D8ACA08A448BF/HDCP%20Specification%20Rev1_4.pdf
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本実施形態は、様々な情報の表示に適用可能で、表示情報の切り替え等の操作性も向上可能な情報生成装置および情報出力装置を提供するものである。
【課題を解決するための手段】
【００１１】
本実施形態によれば、ウェブソケットコネクションを介して情報出力装置を操作するための機器操作命令を送信する第１インタフェース部と、
前記情報出力装置で再生可能な映像データを前記情報出力装置に送信する第２インタフェース部と、
前記ウェブソケットコネクションの確立と前記機器操作命令の前記情報出力装置への送信とを行うウェブアプリケーションを実行するアプリケーション実行部と、
前記ウェブアプリケーションからの要求に基づいて行われる、前記第１インタフェース部を介して前記機器操作命令を送信するコネクションの確立と、前記第２インタフェース部を介して前記映像データを送信するコネクションの確立とが、同一の前記情報出力装置に対してなされたことが確認された場合に、前記第２インタフェース部で前記映像データを前記情報出力装置に送信するコネクション管理部と
前記アプリケーション実行部で実行可能なウェブアプリケーションの一覧を表示装置に表示させる第１画面出力部と、
前記第１画面出力部で表示させたウェブアプリケーションの一覧の中から特定のウェブアプリケーションを選択するアプリ選択部と、
前記アプリ選択部で選択されたウェブアプリケーションを提供するＵＲＬを前記アプリケーション実行部に通知するランチャー部と、
前記ランチャー部により通知されたＵＲＬに前記アプリケーション実行部がアクセスしてウェブアプリケーションを取得して実行することにより、前記映像データを前記第２インタフェース部を介して前記情報出力装置に送信した後は、前記情報出力装置を操作する情報を前記表示装置に表示させる第２画面出力部と、を備えることを特徴とする情報生成装置が提供される。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態に係る情報処理システム３の概略構成を示す図。
【図２】情報生成装置１と情報出力装置２の内部構成を示すブロック図。
【図３】情報生成装置１内のアプリ実行部２３の内部構成の一例を示すブロック図。
【図４Ａ】画面出力部２８の画面に表示されるウェブアプリの一覧の第１表示例を示す図。
【図４Ｂ】画面出力部２８の画面に表示されるウェブアプリの一覧の第２表示例を示す図。
【図４Ｃ】画面出力部２８の画面に表示されるウェブアプリの一覧の第３表示例を示す図。
【図５Ａ】情報出力装置２と情報生成装置１の第１例の組み合わせを示す図。
【図５Ｂ】情報出力装置２と情報生成装置１の第２例の組み合わせを示す図。
【図５Ｃ】情報出力装置２と情報生成装置１の第３例の組み合わせを示す図。
【図６】情報生成装置１上に表示されるウェブアプリの画面の一例を示す図。
【図７】第１の実施形態の処理手順を示すシーケンス図。
【図８】動画再生コントローラー用の画面例を示す図。
【図９】ドングル装置６を設けた例を示すブロック図。
【図１０】第２の実施形態に係る情報出力装置２の内部構成を示すブロック図。
【図１１】情報出力装置２内のアプリ実行部４１の内部構成を示すブロック図。
【図１２】第２の実施形態の処理手順を示すシーケンス図。
【図１３】図１２に続くシーケンス図。
【図１４】アプリ配布部を備えた情報生成装置１の内部構成を示すブロック図。
【図１５】図１４に対応するシーケンス図。
【図１６】第３の実施形態に係る情報出力装置２の内部構成を示すブロック図。
【図１７】第３の実施形態の処理手順を示すシーケンス図。
【図１８】図１７に続くシーケンス図。
【図１９】画面出力部１７が生成する画面の一例を示す図。
【図２０】情報出力装置２の画面表示例を示す図。
【図２１】図２０の画面表示を実現する情報出力装置２の内部構成を示すブロック図。
【図２２】放送コンテンツと映像コンテンツを二画面表示する場合の処理手順を示す図。
【図２３】図２２に続くシーケンス図。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら、本実施形態を説明する。
【００１４】
（第１の実施形態）
図１は第１の実施形態に係る情報生成装置１と情報出力装置２を備えた情報処理システム３の概略構成を示す図である。図１の情報処理システム３は、放送波に含まれるＡＶデータや文字情報を出力可能な情報出力装置２と、インターネット４上の映像コンテンツを再生可能な情報生成装置１と、ウェブサーバ５とを備えている。
【００１５】
情報出力装置２と情報生成装置１は、ネットワーク６で接続されており、情報生成装置１は映像コンテンツと情報出力装置２に対する機器操作命令を情報出力装置２に送信する。
【００１６】
情報生成装置１から情報出力装置２に機器操作命令を送るための物理レイヤとリンクレイヤとして、赤外線、IEEE802.11規格に準拠した無線LAN、イーサネット（登録商標）などの種々の通信形態が採用可能である。情報生成装置１から情報出力装置２に動画コンテンツを送信するための物理レイヤとリンクレイヤとして、HDMI（High-Definition Multimedia Interface）（登録商標）やWirelessHD、WHDIのような非圧縮映像を送信するインタフェースを用いてもよいし、情報生成装置１がいったんエンコードした圧縮映像を、情報出力装置２がデコードすることで圧縮映像を送信する無線LAN、イーサネット、HDMI-HEC（HDMI Ethernet Channel）、WiFi Display、WiDiなどのインタフェースを用いてもよい。
【００１７】
なお、これらインタフェースが有線であるか無線であるかは問わない。ネットワークレイヤとして、インターネットプロトコル（IP）を使用する場合は、IPv4でもよいし、IPv6でもよい。もちろんインタフェースがIPの場合には情報出力装置２と情報生成装置１の間に不図示の無線アクセスポイント機器やルータ機器等が接続されていてもよい。ここでは一例として、情報生成装置１から情報出力装置２に機器操作命令を送る場合には無線LANを、情報生成装置１から情報出力装置２に映像ストリームを送信する手段としてはWiFi Displayを用いるものとして説明する。
【００１８】
ここで、機器操作命令とは、情報出力装置２が有するチューナ部を制御する命令（チューナ部に対する選局命令など）や音量調節命令などを指す。情報出力装置２が放送コンテンツを録画・蓄積する機能を備えている場合は、録画コンテンツの一覧表示命令、指定した録画コンテンツに対する再生命令、指定した録画コンテンツに対する削除命令などを指す。また、情報生成装置１から情報出力装置２に送られる映像ストリームは物理レイヤまたはリンクレイヤの伝送方式で定められたフォーマットとする。映像ストリームのフォーマットについての詳細は後述する。
【００１９】
情報生成装置１は、情報出力装置２と通信するコネクションとは別に、宅内もしくはインターネット４上のウェブサーバ５と通信するためのIPインタフェースを備える。このIPインタフェースの物理レイヤとリンクレイヤとして、IEEE802.11規格に準拠した無線LANやイーサネットなど種々の通信形態が採用可能である。ネットワークレイヤとして、インターネットプロトコル（IP）を使用する場合は、IPv4でもよいし、IPv6でもよい。
【００２０】
また、情報生成装置１とウェブサーバ５は、例えばインターネット４を介してIPで接続されている。情報生成装置１はウェブサーバ５から後述するウェブアプリケーションをダウンロードして実行する。
【００２１】
図２は第１の実施形態に係る情報生成装置１と情報出力装置２の内部構成を示すブロック図である。図２の情報出力装置２は、チューナ部１１、機器操作命令処理部１２、IPコネクション管理部（第１インタフェース部）１３、映像コネクション管理部（第２インタフェース部）１４、接続管理部１５、映像処理部１６、画面出力部１７および機器検索処理部１８を有する。
【００２２】
チューナ部１１はアンテナ等から受信した放送波から、特定の放送番組や放送関連情報を抽出し、デコード処理を行う。
【００２３】
機器操作命令処理部１２は、情報生成装置１から受信した機器操作命令を処理し、チューナ部１１を制御したり、画面出力部１７に表示する映像等を切り替える指示を送ったりする。
【００２４】
IPコネクション管理部１３は、情報生成装置１と通信して、情報生成装置１からの機器操作命令を受信する機器操作命令用のコネクションを管理する。機器操作命令は後述するWebsocketと呼ばれるプロトコルを用いて伝送されるため、IPコネクション管理部１３はWebsocketサーバ機能を有する。
【００２５】
映像コネクション管理部１４は、情報生成装置１と通信して、情報生成装置１からの映像ストリームを受信する映像ストリーム用のコネクションを管理する。
【００２６】
接続管理部１５は、機器操作命令用のコネクションと映像ストリーム用のコネクションが同一の情報生成装置１に対して確立されるようにコネクションを管理する。
【００２７】
図１では、情報出力装置２と情報生成装置１を１対１で接続する構成を図示したが、情報出力装置２は複数の情報生成装置１と接続していてもよい。その場合、情報出力装置２は情報生成装置１の台数分の映像ストリーム用のコネクションと機器操作命令用のコネクションを管理する必要がある。接続管理部１５は、各コネクションがどの情報生成装置１のコネクションに対応しているかを管理する。
【００２８】
映像処理部１６は、情報生成装置１からの映像ストリームに基づいて画面生成処理を行う。例えば、映像ストリームのデマルチプレクス処理やデコード処理などを行う。映像ストリーム用のコネクションがWiFi Display規格準拠の場合、映像処理部１６は情報生成装置１から受信したH.264フォーマットのデータのデコード処理などを行う。
【００２９】
画面出力部１７は、映像処理部１６が生成した画面を不図示の液晶モニターや外部出力インタフェースに出力する。外部出力インタフェースとは、例えばHDMI（High-Definition Multimedia Interface）やコンポジット、S-Video、コンポーネントのようなインタフェースのことを指す。
【００３０】
機器検索処理部１８は、後述する情報生成装置１からの装置検索要求に応答して自装置の名前やIPアドレスを返信する処理を行う。装置検索のプロトコルとしてDLNA (Digital Living Network Alliance)規格やUPnP (Universal Plug and Play)規格で定められた方式や、NetBIOS (Network Basic Input Output System)による名前検索方式を用いてもよい。なお、この機器検索処理部１８は必須の構成ではない。
【００３１】
図２の情報生成装置１は、IP処理部２１、入力受信部２２、アプリ実行部（アプリケーション実行部）２３、IPコネクション管理部（第１インタフェース部）２４、映像コネクション管理部（第２インタフェース部）２５、接続管理部２６、画面生成部２７、および画面出力部２８を有する。
【００３２】
IP処理部２１は、ネットワークインタフェースを介してインターネット４やローカルネットワーク上のウェブサーバ５からIPデータグラムとしてカプセル化されたHTMLやJavaScript（登録商標）等のウェブアプリケーションを構成するためのリソースファイルを読み込む処理を行ったり、動画コンテンツを入力したりする処理を行う。ＩＰ処理部２１は、ウェブアプリケーションをアプリ実行部２３に送信する。ＩＰ処理部２１は、動画コンテンツを画面生成部２７に送信する。なお、ここでウェブアプリケーションとはHTML4、HTML5、JavaScript、静止画データ、テキストデータなどで構成され、Webブラウザで実行するアプリケーションのことを指す。以下、ウェブアプリと省略して記述する。
【００３３】
入力受信部２２は、タッチパッドやキーボード、マウスなどの入力機器を介してユーザが入力した情報を受信し、入力した情報をアプリ実行部２３に通知する。
【００３４】
アプリ実行部２３は、IP処理部２１を経由してインターネット４からダウンロードしたウェブアプリや、情報生成装置１内のデータ蓄積部（不図示）に保存されたウェブアプリをWebブラウザを用いて実行し、画面を生成する。詳細は後述する。なお、データ蓄積部は、ウェブアプリを保存しておく記憶部であり、例えば、フラッシュメモリやSDカード、ハードディスクなどを用いればよい。アプリ実行部２３は生成した画面を画面出力部２８に出力する。
【００３５】
IPコネクション管理部２４は、情報出力装置２と通信して、情報出力装置２に機器操作命令を送信するためのコネクションを管理する。機器操作命令は、RFC6455規格で定められたWebsocketと呼ばれるプロトコルを用いて伝送されるが、IPコネクション管理部２４はトランスポート層以下（TCP/IP層および物理層）の通信処理を行う。
【００３６】
映像コネクション管理部２５は、情報出力装置２と通信して、情報出力装置２に映像ストリームを送信するためのコネクションを管理する。
【００３７】
接続管理部２６は、IPコネクション管理部によって確立された機器操作命令用のコネクションと映像コネクション管理部によって確立された映像ストリーム用のコネクションが同一の情報出力装置２に対して確立されるようにコネクションを管理し、確認する。
【００３８】
画面生成部２７は、IP処理部２１から入力した動画コンテンツを映像コネクション管理部２５で伝送するフォーマットに変換する処理を行う。
【００３９】
画面出力部２８は、アプリ実行部２３で生成した画面を自装置内のモニターに表示もしくは外部出力インタフェースに出力する。この画面出力部２８は画面生成部２７が生成した動画データを出力してもよい。
【００４０】
図３は情報生成装置１内のアプリ実行部２３の内部構成の一例を示すブロック図である。図３のアプリ実行部２３は、ブラウザ部３１、機器検索処理部３２およびウェブアプリランチャー部３３を有する。
【００４１】
ブラウザ部３１は、さらに詳細には、ウェブアプリ取得部３４、HTTP処理部３５、ウェブアプリ実行部３６、およびWebsocket処理部３７を有する。アプリ実行部２３は、図３に示した各部以外に、画面表示を行う処理部や、HTMLやXMLを解析するパース処理部を備えていてもよいが、簡略化のために図３では表記を省略している。
【００４２】
HTTP処理部３５は、ウェブアプリ取得部３４から指示されたURLから、HTTP（ないしはHTTPS）のプロトコルに従ってネットワーク経由でウェブアプリを取得する。なお、TCP層以下の処理はIP処理部２１が実行する。
【００４３】
ウェブアプリ取得部３４は、入力受信部２２で選択したウェブアプリをインターネット４上のウェブサーバ５ないしは情報生成装置１のデータ蓄積部（不図示）から取得する。
【００４４】
情報生成装置１は、画面出力部２８の画面に、ユーザが選択可能なウェブアプリの一覧を表示させて（第１画面出力部）、その中から任意のウェブアプリを、タッチパッドやマウスなどの入力機器を利用して、ユーザに選択させる（アプリ選択部）。
【００４５】
ウェブアプリランチャー部３３はウェブアプリ取得部３４にURLを渡し、このURLにウェブアプリ実行部３６がアクセスすることでウェブアプリを起動させる。
【００４６】
図４Ａ、図４Ｂおよび図４Ｃは画面出力部２８の画面に表示されるウェブアプリの一覧の表示例を示す図である。図４Ａ〜図４Ｃはそれぞれ別々の表示例を示している。ここでは、ウェブアプリが情報生成装置１外のネットワーク上のウェブサーバ５に保存されており、情報生成装置１はIP処理部２１を介してネットワーク経由でウェブアプリをダウンロードする場合について説明する。
【００４７】
図４Ａはウェブアプリをアイコンとして列挙する例である。ユーザが例えば不図示のランチャーアプリを選択すると、入力受信部２２はウェブアプリランチャー部３３に通知し、ウェブアプリランチャー部３３はブラウザ部３１を起動する。ブラウザ部３１はウェブアプリのリスト（ウェブアプリのアイコンリスト（図４Ａ））を表示する。入力受信部を使ってユーザが選択したウェブアプリをウェブアプリ取得部３４に通知する。すなわち、各ウェブアプリのアイコンはウェブアプリが保存されている位置（URL）へのリンクとなっている。ウェブアプリ取得部３４は、ウェブアプリＡに対応するURLを取得する処理を行い、ウェブアプリ取得部３４に対してHTTP処理部３５を使って指定されたURLからウェブアプリを取得するように指示する。
【００４８】
なお、図４Ａのように、画面に各ウェブアプリのリンク情報が張られる際、どのウェブアプリがどのURLに対応するかを示す対応情報が各ウェブアプリのアイコンと共に不図示のデータベースに保存される。ウェブアプリ取得部３４は、そのデータベースに基づいて、選択されたウェブアプリのURLを取得する。
【００４９】
図４Ｂはウェブアプリをブラウザのブックマークとして列挙する例である。ユーザがブラウザのブックマーク一覧ボタン(一覧ボタン)を押すと、情報生成装置１にインストールされているウェブアプリの一覧を表示する。ブックマークにウェブアプリを登録したり削除したりするにはブラウザのブックマーク管理機能を利用すればよい。ウェブアプリの登録とは、ウェブアプリの名前とウェブアプリのURLの対応をブラウザ部３１が有する不図示のデータベースで管理し、一覧ボタンが押された場合にウェブアプリの名前の一覧を表示することを指す。逆にウェブアプリの削除とは、ウェブアプリの名前と対応URLをブラウザ部３１が有する不図示のデータベースから削除することを指す。図４Ｂに示した一覧ボタンや閉じるボタン、ヘルプボタンを表示しているアプリはウェブアプリであってもよいし、情報生成装置１のプラットホームに固有のアプリケーションであってもよい。ウェブアプリの場合には、ブラウザ部３１によって実行されるし、情報生成装置１のプラットホームに固有のアプリケーションの場合には不図示のネイティブアプリ実行部２３によって実行される。ユーザはウェブアプリの一覧の中からウェブアプリ（たとえばウェブアプリＡ）を選択すると、入力受信部２２はウェブアプリＡが選択されたことをウェブアプリ取得部３４に通知する。ウェブアプリ取得部３４は、ウェブアプリＡに対応するURLをブラウザ部３１が有する不図示のデータベースから取得する処理を行い、HTTP処理部３５に対して指定されたURLからウェブアプリを取得するように指示する。
【００５０】
図４Ｃはウェブアプリランチャー部３３とウェブアプリが１対１で対応しており、ウェブアプリランチャー部３３からウェブアプリを起動する例である。この場合、ユーザはまず情報生成装置１内のウェブアプリランチャー部３３（この場合、アプリ２）を実行する。アプリ２が起動されると、アプリ２は自身が管理するウェブアプリのリストを表示する。ユーザはその中からウェブアプリ（たとえばウェブアプリＡ）を選択すると、ウェブアプリランチャー部３３はウェブアプリＡに対応するURLを取得する処理を行い、ブラウザ部３１を起動する。ブラウザ部３１のウェブアプリ取得部３４はアプリ２からURLを取得し、HTTP処理部３５に対して指定されたURLからウェブアプリを取得するように指示する。なお、ここではアプリ２が複数のウェブアプリを管理する例について示したが、アプリ２が一つのウェブアプリを管理するような構成になっていてもよい。すなわち、アプリ２が起動されると、アプリ２に対応したウェブアプリランチャー部３３はブラウザを起動して自身が管理するウェブアプリのURLをブラウザ部３１のウェブアプリ取得部３４に設定するような構成になっていてもよい。
【００５１】
以上示したように、図４Ａ〜図４Ｃのいずれかの手法によってブラウザ部３１のウェブアプリ取得部３４がURLを取得し、ウェブアプリ実行部３６に最初に実行するHTMLファイルを通知する。
【００５２】
図３のウェブアプリ実行部３６は、HTTP処理部３５を介してウェブアプリ取得部３４が取得したウェブアプリを実行する。上述のようにウェブアプリはHTML4, HTML5, JavaScript, 静止画データなどのリソースで構成されるが、ウェブアプリ取得部３４は、最初に実行されるHTMLファイルをウェブアプリ実行部３６に通知する。そのHTMLファイルにはどのようなリソースをどのURLから取得してくるかが記載されている。ウェブアプリ実行部３６はそのHTMLファイルを解釈して、HTMLファイルに記載されているリソースを取得し、画面レイアウトを構成して画面出力部２８にその画面を出力する。ウェブアプリの画面構成の例に関しては後述する。
【００５３】
Websocket処理部３７は、機器操作命令をＩＰコネクション管理部２４を介して情報出力装置２に送信する。ウェブアプリには情報出力装置２に対する機器操作命令がプログラムとして含まれている場合がある。一例として、情報出力装置２の入力をチューナ部１１から映像管理コネクション部に切り替える旨を指示する命令が含まれている場合を説明する。この命令は、たとえばウェブアプリに含まれるJavaScriptの中で以下のようなプログラムコードとして記述される。
var ws = new WebSocket（"ws://server/input_service"）;
ws.onopen = function（）{
ws.send（"change input from tuner to network"）; 
};
【００５４】
ウェブアプリ実行部３６は、これらの命令を解釈し、Websocketプロトコルに従って情報出力装置２（server/input_service）に文字列（change input from tuner to network）を送信するようWebsocket処理部３７に指示する。Websocket処理部３７はRFC 6455規格で定義されたプロトコルに従ってヘッダ情報等を付加し、ウェブアプリが指定した上記文字列を情報出力装置２に送信する処理を行う。Websocketの送信処理の中でもTCP層以下の処理はIP処理部２１が行う。
【００５５】
接続管理部２６は、ウェブアプリからの要求に基づいてウェブアプリ実行部３６が機器操作命令用のコネクションに対応する映像ストリーム用コネクションが存在するか否かを確認し、ウェブアプリ実行部３６に問い合わせ結果を通知し、ウェブアプリ実行部３６はウェブアプリにその結果を通知する。
【００５６】
機器検索処理部３２は、ウェブアプリからの要求に基づいてネットワーク上に情報出力装置２など他の装置が存在するかどうかを検索する。具体的には、ウェブアプリからの要求に基づいてウェブアプリ実行部３６が機器検索処理部３２に機器検索要求を送信し、機器検索処理部３２はその結果をウェブアプリ実行部３６に通知し、ウェブアプリ実行部３６はウェブアプリにその結果を通知する。現在、機器を検索する共通のAPI仕様がW3CやIETFなどで定義されていないため、この処理部はブラウザ部３１ではなくアプリ実行部２３で処理される。機器検索の詳細は後述する。
【００５７】
（コネクション確立フェーズ）
まず、情報生成装置１と情報出力装置２を接続する際のコネクション確立処理について説明する。情報生成装置１と情報出力装置２は映像ストリームを伝送するコネクションと機器操作命令を送信するコネクションの二つのコネクションを共有する。セットアップフェーズでは情報出力装置２と情報生成装置１の間でこの二つのコネクションを確立するために必要な情報を収集する処理を行う。なお、以下では１台の情報出力装置２と１台の情報生成装置１の組み合わせを決定する処理について説明するが、１台の情報生成装置１を複数台の情報出力装置２に接続してもよい。
【００５８】
情報出力装置２と情報生成装置１の組み合わせを決定する手法として以下の４種類が考えられる。
（1）ウェブアプリが管理する手法
（2）機器操作命令用コネクションを確立し、そのコネクションを使って映像ストリーム用コネクションを確立する手法
（3）UPnP Discoveryプロトコルを使って機器操作用命令と映像ストリーム用のコネクションを確立する手法
（4）情報出力装置２と情報生成装置１が独立に設定する手法
【００５９】
上記（1）の場合、情報生成装置１が実行するウェブアプリが情報出力装置２のIPアドレスまたはDNSホスト名と映像ストリーム用及び機器操作命令用のコネクションに使うポート番号を管理する。情報生成装置１にDHCPサーバ機能が備わっていて、情報出力装置２のIPアドレスを情報生成装置１が配布する場合、情報出力装置２のIPアドレスを固定アドレスにする場合、情報出力装置２の名前（DNSホスト名）が固定されており情報生成装置１は不図示のDNSサーバを通じて情報出力装置２のIPアドレスが取得可能な場合、情報出力装置２が不図示のサーバに自身のIPアドレスを通知して情報生成装置１がそのサーバから情報出力装置２のIPアドレスを取得可能な場合、および映像ストリーム用と機器操作命令用のコネクションに使うポート番号が仕様書等で規定されている場合は、この(1)を用いればよい。
【００６０】
上記（2）の場合、まず機器操作命令用のコネクションに使うポート番号を仕様書等で規定しておく。次に、図５Ａに示すように、情報生成装置１はウェブアプリ実行部３６でウェブアプリを実行し、ウェブアプリの中に装置検索命令が含まれていると（ステップＳ１）、ウェブアプリ実行部３６は機器検索処理部３２を使ってその装置検索命令をブロードキャストとして同一ネットワーク内に送信する（ステップＳ２）。
【００６１】
この装置検索命令に応答して、情報出力装置２がIPアドレスまたはDNSホスト名を送信すると（ステップＳ３）、情報生成装置１は、そのIPアドレスまたはDNSホスト名を取得する（ステップＳ４）。
【００６２】
なお、情報生成装置１は、上記（1）に示したいずれかの手法で情報出力装置２のIPアドレスまたはDNSホスト名を取得することも可能である。情報生成装置１は情報出力装置２のIPアドレスまたはDNSホスト名を取得すると、前述のように仕様書等で規定されたポート番号を使って情報出力装置２と機器操作命令用のコネクション（Websocketコネクション）を確立する。さらに、その機器操作命令用のコネクションを用いて情報出力装置２に対して、映像ストリーム用ポート番号の取得命令を送信する（ステップＳ５）。
【００６３】
情報生成装置１は、情報出力装置２が送信した映像ストリーム用コネクションに使うポート番号を取得する（ステップＳ６）。この場合、情報出力装置２は機器操作命令用コネクションと映像ストリーム用コネクションのサーバとなる。情報生成装置１のウェブアプリが機器操作命令用のコネクション（Websocketコネクション）を使って情報出力装置２の映像ストリーム用コネクションに使うポート番号を取得する場合の、ウェブアプリに含まれるJavaScriptのプログラムコードの一例を以下に示す。
var ws = new WebSocket（"ws://server/input_service"）;
ws.onmessage = function（event）{
var port_number = event.data;
};
【００６４】
別の手法として、図５Ｂに示すように、情報生成装置１は情報出力装置２と機器操作命令用のコネクション（Websocketコネクション）を確立し、そのコネクションを用いて情報出力装置２に自装置の映像ストリーム用コネクションに使うポート番号を通知し（ステップＳ７）、情報出力装置２に対して映像ストリーム用のコネクションを確立するよう指示する。この場合、情報出力装置２は機器操作命令用コネクションのサーバとなり、情報生成装置１は映像ストリーム用コネクションのサーバとなる。以下に機器操作命令用のコネクション（Websocketコネクション）を用いて、情報生成装置１のウェブアプリが情報出力装置２に対して自装置の映像ストリーム用コネクションに使うポート番号が10000番であることを通知するJavaScriptのプログラムコードの例を示す。
var ws = new WebSocket（"ws://server/input_service"）;
ws.onopen = function（）{
ws.send（"10000"）; 
};
【００６５】
なお、上記では情報出力装置２の機器操作命令用のコネクションのIPアドレスと映像ストリーム用のコネクションのIPアドレスが同一の場合について述べてきたが、情報出力装置２はそれぞれのコネクションのIPアドレスが異なるようにしてもよい。その場合、機器操作用のコネクションを使って映像ストリーム用のコネクションのポート番号だけでなくIPアドレスも取得するようにすればよい。
【００６６】
上記（3）の場合、図５Ｃに示すように、情報生成装置１は映像ストリーム用のコネクションと機器操作用命令用のコネクションの確立に先立ち、ネットワークに接続された情報出力装置２を検索してIPアドレスを取得する（ステップＳ１〜Ｓ３）。情報出力装置２を検索する手段としてはNetBIOSのプロトコルや、DLNA規格やUPnP規格で定められたUPnP Discoveryプロトコルなどよく知られた方法を用いればよい。情報生成装置１と情報出力装置２は機器検索のための複数の方法をサポートしていてもよい。このUPnP Discoveryで機器を検索する命令はJavaScript APIとしてアプリ実行部２３がウェブアプリに提供する。ウェブアプリが使う機器検索のためのAPIの一例を以下に示す。ここでtypeは検索する装置の種別（この場合、情報出力装置２）、戻り値は検索結果である装置のリストを示す。なお、装置の種別は必須ではなく、ネットワーク上に存在するすべての装置のリストを取得するようにしてもよい。
Array UPnPsearchDevice（String type）;
【００６７】
ウェブアプリはこのAPIを利用してネットワーク上に存在する装置のIPアドレスのリストを取得する。このAPIの実行はユーザの確認なしでウェブアプリが自動的に行ってもよいし、装置を検索するボタンをユーザに提示し、ユーザがそのボタンを押した時にこのAPIを実行して装置のリストを取得するようにしてもよい。ウェブアプリは装置のリストを取得すると、そのリストをユーザに提示する。ユーザはどの装置に接続するかリストから選択する（ステップＳ８）。なお、検索の結果、情報出力装置２がネットワーク上に一つしか存在しない場合や、あらかじめ設定しておいた装置に接続する場合はユーザが選択する処理を省略してもよい。
【００６８】
次に、情報生成装置１は指定された装置と映像ストリーム用コネクションを確立するため、UPnP Discoveryプロトコルで機器操作命令用のコネクション（Websocketコネクション）と映像ストリーム用コネクションに使う情報出力装置２のIPアドレスとポート番号を取得する（ステップＳ９〜Ｓ１０）。なお、機器操作命令用のコネクションと映像ストリーム用のコネクションでIPアドレスが同一の場合はポート番号のみ取得してもよい。また、映像ストリーム用と機器操作命令用のコネクションに使うポート番号が仕様書等で規定されている場合はポート番号の取得処理を省略してもよい。
【００６９】
上記（4）の場合、映像ストリームを送るコネクションとリモコン命令を送るコネクションの設定はユーザが設定アプリケーション等を用いて手動で行う。または機器出荷時にあらかじめプリセットしておいてもよい。
【００７０】
なお、接続管理部２６は映像出力装置２と機器操作用のコネクションおよび映像ストリーム用のコネクションの確立が完了すると、それぞれのコネクションの映像出力装置２のIPアドレスおよびポート番号を記憶しておくようにしてもよい。その場合、機器操作用のコネクションまたは映像ストリーム用のコネクションのいずれかが切断した場合には、エラー状態であることを記憶しておく。
【００７１】
なお、（1）〜（4）のいずれの場合でも、映像ストリームを伝送するか否かに限らず、機器操作命令用のコネクションを確立する時に映像ストリーム用コネクションでコンテンツの著作権を保護するための認証鍵交換処理を行えばよい。たとえば、映像ストリーム用コネクションにHDMIやWiFi Displayなどを利用する場合、機器操作命令用のコネクションを確立する時に、映像ストリーム用コネクションで映像ストリームを伝送するか否かに限らず、映像ストリーム用コネクションでHDCP (High-bandwidth Digital Content Protection)の認証処理を行えばよい。これにより、コンテンツの送信を開始する時点では、すでに認証鍵を所持していることになり、高速にコンテンツの伝送を開始できる。
【００７２】
（利用フェーズ）
次に、情報生成装置１と情報出力装置２の間で映像ストリームを伝送するコネクションと機器操作命令を伝送するコネクションの二つのコネクションを確立し、情報生成装置１から情報出力装置２を制御したり、情報生成装置１から情報出力装置２に映像ストリームを伝送したりする処理について説明する。
【００７３】
まず、初期状態として情報出力装置２はチューナ部１１から入力した放送コンテンツを画面出力部１７に出力しているものとする。また、情報生成装置１ではウェブアプリ実行部３６でウェブアプリを実行中の状態とする。情報生成装置１上に表示されるウェブアプリの画面の一例を図６に示す。図６では、ウェブアプリ実行部３６はインターネット４上のウェブサーバ５と通信し、動画コンテンツのサムネイルのリストをウェブサーバ５から取得して表示するウェブアプリを実行している。なお、画面内の各サムネイルには対応する動画コンテンツの場所を示すURLが埋め込まれている。
【００７４】
図７は第１の実施形態における情報生成装置１と情報出力装置２の処理手順を示すシーケンス図である。図７は、ユーザが図６の画面から特定のサムネイルを選択した場合の処理手順を示している。
【００７５】
情報生成装置１でウェブアプリを起動すると（ステップＳ２１）、ウェブアプリ実行部３６はウェブアプリの命令により情報生成装置１内の画面出力部２８に図６のようなサムネイルの一覧を表示させる（ステップＳ２２、第３画面出力部）。
【００７６】
ユーザが情報生成装置１内の入力受信部２２（タッチパネルなど）で特定のサムネイルを選択すると（ステップＳ２３）、入力受信部２２はウェブアプリ実行部３６に対してどのサムネイルが選択されたのかを通知する。ウェブアプリ実行部３６は選択されたサムネイルをウェブアプリに通知し、ウェブアプリはウェブアプリ実行部３６を使ってWebsocket処理部３７に対して機器操作命令用コネクションを介して情報出力装置２に機器操作命令を送信するよう指示する。これにより、情報出力装置２の画面出力部１７の入力をチューナ部１１から映像処理部１６からの入力に切り替える入力切替命令が機器操作命令用のコネクション（Websocketコネクション）を使って情報生成装置１から情報出力装置２に送信される（ステップＳ２４）。
【００７７】
情報出力装置２は、入力切替命令を受信する前は、チューナ部１１で受信した情報を画面出力部１７に表示している（ステップＳ２５）。情報出力装置２は、情報生成装置１から機器操作命令用のコネクション（Websocketコネクション）を経由して入力切替命令を受信すると、受信した命令を解析し（ステップＳ２６）、入力切替命令であることが分かると画面出力部１７の入力をチューナ部１１から映像処理部１６からの入力に切り替える（ステップＳ２７）。この処理は機器操作命令処理部１２が画面出力部１７に対して切り替え命令を送信することで実現する。
【００７８】
次に、情報生成装置１のウェブアプリはウェブアプリ実行部３６を使って映像ストリーム用のコネクションが情報出力装置２と確立されているか否かを確認する（ステップＳ２８）。この処理はウェブアプリからの指示に基づいて接続管理部２６が行う。具体的な方法を以下に示す。
【００７９】
接続管理部２６が映像出力装置２の機器操作用のコネクションおよび映像ストリーム用のコネクションのIPアドレスおよびポート番号を記憶している場合、ウェブアプリはウェブアプリ実行部３６を経由して接続管理部２６に問い合わせ、エラー状態でない事を確認する。ウェブアプリはエラー処理を行う。このエラー処理は、ユーザにエラーが起こった事を通知する処理でもよいし、コネクション確立フェーズを再実行する処理を行ってもよい。
【００８０】
接続管理部２６がIPアドレスおよびポート番号を記憶していない場合で、かつ情報出力装置２の機器操作命令用のコネクションのIPアドレスと映像ストリーム用のコネクションのIPアドレスが同一の場合、ウェブアプリはウェブアプリ実行部３６を経由して機器操作命令用のコネクションのIPアドレスを接続管理部２６に通知する。接続確認部２６が映像コネクション管理部２５から情報出力装置２のIPアドレスを取得し、一致するか検査する。接続管理部２６は検査結果をウェブアプリ実行部３６に返し、ウェブアプリはその結果を取得する。IPアドレスが一致していないという検査結果であれば、ウェブアプリはエラー処理を行う。このエラー処理は、ユーザにエラーが起こった事を通知する処理でもよいし、コネクション確立フェーズを再実行する処理を行ってもよい。なお、接続管理部２６が検査結果を返す以外にも、ウェブアプリはウェブアプリ実行部３６を経由して機器操作命令用のコネクションのIPアドレスを問い合わせる命令を接続管理部２６に送り、接続管理部２６はその命令を受信すると映像コネクション管理部２５から情報出力装置２のIPアドレスを取得し、そのIPアドレスをウェブアプリ実行部３６に返す。ウェブアプリがウェブアプリ実行部３６を経由してIPアドレスを取得して、機器操作命令用のコネクションのIPアドレスと一致するか比較処理を行うようにしてもよい。
【００８１】
接続管理部２６がIPアドレスおよびポート番号を記憶していない場合で、かつ情報出力装置２の機器操作命令用のコネクションのIPアドレスと映像ストリーム用のコネクションのIPアドレスが異なる場合、ウェブアプリがウェブアプリ実行部３６を経由して接続管理部２６に通信相手の情報出力装置２が同一機器であるか確認する。具体的には、接続管理部２６は機器操作命令用のコネクションを利用して情報出力装置２に対して映像ストリーム用のコネクションのIPアドレスとポート番号を問い合わせ、かつ映像コネクション管理部２５から情報出力装置２のIPアドレスとポート番号を取得して、それらが一致するかどうか確認処理を行う。ウェブアプリ実行部３６を経由してその結果をウェブアプリに通知するようにしてもよい。
【００８２】
映像ストリーム用のコネクションが確立されていない場合は、セットアップフェーズで入力した情報（IPアドレスまたはDNSホスト名とポート番号）を元に、情報出力装置２と映像ストリーム用のコネクションを確立する（ステップＳ２９）。なお、既に映像ストリーム用のコネクションが確立されている場合は、この処理を省略する。この際、著作権保護されたコンテンツを伝送する場合に備えて、非特許文献１や非特許文献２で示された方式等を適用して、コネクションで伝送されるデータの不正コピーや改変を防ぐように保護してもよい。
【００８３】
次に、情報生成装置１のウェブアプリはウェブアプリ実行部３６を使って図６に示したサムネイルの一覧表示画面から、図８に示すような情報出力装置２の画面制御を行うための動画再生コントローラー用の画面に表示内容を切り替える（ステップＳ３０）。この切り替えはウェブアプリのページ遷移によって実現する。すなわち、ウェブアプリは図６に示したURLから、図８の画面を構成するURLに遷移したり、JavaScriptによって画面を切り替えたりして実現している。
【００８４】
図８に示すように、動画再生コントローラー用の画面はコンテンツ一覧画面（図６）に戻るボタンや、音量調整ボタン、タイムバーなどを含んでいる。なお、ここでは情報生成装置１から情報出力装置２に映像ストリームを送信し、情報出力装置２に映像ストリームを表示させることを意図しているが、情報出力装置２が映像ストリーム再生中であっても情報出力装置２の表示内容を放送コンテンツに切り替えることができるようにボタン（「放送に戻る」ボタン）を設けてもよい。
【００８５】
情報生成装置１のウェブアプリは動画再生コントローラー用の画面に遷移すると共に、選択したサムネイルに対応したURLを元に映像ストリームをウェブサーバ５から受信し（ステップＳ３１）、その映像ストリームを映像ストリーム用のコネクションを用いて情報出力装置２に送信する（ステップＳ３２）。すなわち、映像コネクション管理部２５は映像ストリーム用のコネクションと機器操作命令用のコネクションが同一の情報出力装置に対してなされたことが確認された場合に、映像ストリーム用のコネクションで映像ストリームを情報出力装置に送信する。なお、図７では画面をリモコン用の画面に切り替えてから映像データを送信するシーケンスについて示しているが、映像データの送信を開始してからリモコン用の画面に切り替えるようにしてもよい。映像ストリーム用のコネクションにWiFi Display規格が適用されている場合、情報生成装置１が受信した映像データのフォーマットと、WiFi Display規格で定義している映像データフォーマットが異なる場合がある。その場合、情報生成装置１の画面生成部２７でウェブサーバ５から受信した映像データをデコード一旦デコードした後、WiFi Display規格準拠のフォーマットになるよう再エンコードする。なお、サムネイルに対応する映像コンテンツが情報生成装置１内のデータ蓄積部（不図示）に蓄積されている場合、情報生成装置１は映像ストリームをウェブサーバ５から受信するのではなく、自装置内に蓄積された映像ストリームをそのまま情報出力装置２に送信すればよい。
【００８６】
情報出力装置２は情報生成装置１から受信したWiFi Display規格準拠の映像ストリームを映像処理部１６でデコードし、画面生成部２７にデータ（映像）を出力する（ステップＳ３３、画面切替部）。
【００８７】
情報生成装置１が映像ストリームの受信元ウェブサーバ５からデータ終了のシグナルを受信すると（ステップＳ３４）、情報出力装置２に対して機器操作命令用のコネクション（Websocketコネクション）で画面出力部１７の入力を映像処理部１６からチューナ部１１に切り替える命令を送信する（ステップＳ３５）。情報出力装置２は受信した命令を解析し、入力切替命令であることが分かると画面出力部１７の入力を映像処理部１６からチューナ部１１に切り替える（ステップＳ３６）。
【００８８】
なお、画面出力部１７の入力を映像処理部１６からチューナ部１１に切り替える際に、情報生成装置１または情報出力装置２は映像ストリーム伝送用コネクションを切断してもよい。また、情報生成装置１は、機器操作命令処理部１２の指示で画面出力部１７の入力をチューナ部１１から映像処理部１６に切り替えるよう指示する入力切替命令の送信に先立ち、現在受信中の放送コンテンツのチャンネル番号をチューナ部１１から取得して保存しておき、映像ストリーム終了時に機器操作命令処理部１２が映像処理部１６からチューナ部１１に切り替える際、元のチャンネル番号となるようにチャンネル番号の情報を付与してもよい。このようにすることで、ユーザに対しては情報生成装置１で選択したコンテンツの再生が終了すると、画面出力装置２に表示される画面は、入力切替が起こる前の状態で見ていた放送コンテンツのチャンネルに戻ることになり、ユーザの利便性を改善することができる。
【００８９】
なお、情報生成装置１が映像ストリームの受信元ウェブサーバ５からデータ終了の信号を受信した場合（ステップＳ３４）、映像ストリーム用のコネクションを切断せず、情報生成装置１から情報出力装置２に映像ストリーム用のコネクションで何もデータを送らない状態を維持してもよい。
【００９０】
また、情報生成装置１がウェブサーバ５からデータ終了のシグナルを受信する前に、情報生成装置１内の入力受信部２２は図８に示した「放送に戻る」ボタンの入力を検出し、ウェブアプリ実行部３６は、画面出力装置２の画面出力部１７の入力を映像処理部１６からチューナ部１１に切り替えるよう指示する入力切替命令を機器操作命令用のコネクション（Websocketコネクション）を使って情報出力装置２に送信するようWebsocket処理部３７に対して指示してもよい。さらに、この命令にチャンネル番号を付与するようにしてもよい。
【００９１】
以上述べてきた例では情報生成装置１と情報出力装置２が無線LANで接続されており、映像ストリームが無線(WiFi Display)で送信されることを想定していた。しかしながら、本実施形態では情報出力装置２と情報生成装置１の間にドングル装置を設置し、情報生成装置１は映像ストリームを無線でドングル装置に送信し、ドングル装置は有線で情報出力装置２に送信するような構成になっていてもよい。
【００９２】
図９は情報生成装置１と情報出力装置２との間にドングル装置６を設けた例を示すブロック図である。図９の情報出力装置２は、図２の情報出力装置２から映像処理部１６を省略した構成になっている。ドングル装置６は、映像処理部１６と、映像コネクション管理部１４ａと、映像出力インタフェース処理部１９とを有する。映像出力インタフェース処理部１９は、映像処理部１６から受信した非圧縮の映像データを有線インタフェースに出力する処理を行う。ここで、有線インタフェースとはHDMIのようなインタフェースのことを指す。
【００９３】
ドングル装置６は、情報出力装置２の一部が別筐体となったものと見なすことができるが、ドングル装置６と情報出力装置２はそれぞれ異なるIPアドレスを有する。この場合、機器検索要求処理部は映像管理コネクション管理部からドングル装置６のIPアドレスを取得する。このIPアドレス取得処理はHDMI-CECを利用して映像コネクション管理部１４がドングル装置６の映像出力インタフェースと通信を行って取得すればよい。
【００９４】
なお、セットアップフェーズで、上記（4）のように映像ストリームを送るコネクションと機器操作命令を送るコネクションの設定はユーザが設定アプリケーション等を用いて手動で行ってもよいし、これらコネクションを機器出荷時にあらかじめプリセットしておく場合はこの処理は不要である。
【００９５】
情報生成装置１とドングル装置６が映像ストリーム用コネクションを確立させるまでは前述した図７のステップＳ２１〜Ｓ２８と同様の処理を行えばよい。その後、ドングル装置６は、情報生成装置１から映像コネクション管理部１４ａを使って映像ストリームを受信し、映像処理部１６を使って映像ストリームをデコードして、非圧縮形式に変換して映像出力インタフェース処理部１９に出力する。映像出力インタフェース出力部は情報出力装置２と有線ケーブルで物理的に1対1に接続されており、情報出力装置２に非圧縮形式で映像ストリームを送信する。
【００９６】
このように、第１の実施形態では、情報生成装置１がウェブアプリ実行部３６上でウェブアプリを実行し、インターネット上のサーバから取得ないし自装置に蓄積しておいた映像ストリームを映像ストリーム用コネクションを介して情報出力装置２に送信し、この映像ストリームを受信した情報出力装置２は、それまで視聴していたチューナ部１１の受信映像を映像ストリームに切り替えて表示し、また、情報生成装置１も画面出力部２８の出力を切り替えて、情報出力装置２の画面表示を制御するための各種ボタンを表示する。したがって、ユーザは、情報出力装置２に標準装備されているリモートコントローラを操作する代わりに、情報生成装置１のタッチパネル等で情報出力装置２の画面表示を制御でき、操作性が著しく向上する。
【００９７】
より詳細には、情報生成装置１が情報出力装置２に対して情報出力装置２の画面出力部１７の入力をチューナ部１１から映像処理部１６からの入力に切り替える入力切替命令を送信し、情報出力装置２はその命令を受信すると、機器操作命令処理部１２が画面出力部１７に対して、チューナ部１１からの入力を映像コネクション管理部１４からの入力に切り替えるよう指示する。
【００９８】
従来方式では、サムネイルリストの中からコンテンツを選択する場合、ＴＶのリモコンキーや十字キーを押してコンテンツを選択する必要があった。このため、画面内に数多くのサムネイルが表示されている場合や、スクロールキーなどの複数回入力しなければならないキーがある場合、使い勝手が悪かった。一方、本実施形態によれば、ユーザは情報生成装置１に備わっているタッチパッドなどの使い勝手の良い入力機器を利用でき、数多くのサムネイルの中からコンテンツを選択する作業も容易になり、ユーザの利便性が向上できる。
【００９９】
さらに、情報生成装置１のサムネイルリスト表示画面はウェブアプリとして実現しているため、配色やボタンの配置など見た目やレイアウトを変更する場合でも、ウェブアプリに含まれるCSS（Cascading Style Sheets）を変更するだけでロジック部分を作りかえる必要がない。このため、アプリケーションの実装コストを削減することができる。
【０１００】
また、従来方式では画面レイアウトを変更する場合、情報生成装置１に新しいファームウェアを配布して装置内のファームウェアをアップデートする必要があった。これはサーバのファームウェア配信コストも高く、ユーザが一斉にファームウェアを更新する事は困難であった。一方、本実施形態によれば、情報生成装置１に配信するウェブアプリ配布サーバ上のウェブアプリを修正すればよいため、複数の情報生成装置１に一斉に新しく更新したウェブアプリを配布することができる。
【０１０１】
また、機器操作命令を送信するプロトコルにWebsocketを用いることで、他の装置に対する機器操作命令をウェブアプリから実行することが可能となる。すなわち、情報出力装置２に対する機器操作命令を変更したい場合は情報生成装置１のファームウェアやアプリ実行部２３を修正する必要はなく、ウェブサーバから配信するウェブアプリだけを更新すればよいため、容易に機能拡張を行うことができる。
【０１０２】
また、情報生成装置１がネットワーク経由で受信した映像ストリームを映像ストリーム伝送用のコネクションのフォーマット（たとえばWiFi Display規格準拠のフォーマット）に変換して伝送するため、情報出力装置２は単一の動画フォーマットだけサポートしていれば良く、情報出力装置２のコストを抑えることができる。
【０１０３】
（第２の実施形態）
第１の実施形態では、情報出力装置２が情報生成装置１から受信した映像データをそのまま画面出力部１７に渡すことを実現していた。第２の実施形態では、情報出力装置２上のウェブアプリ実行部３６でウェブアプリを実行すると共に、情報生成装置１から送信された映像データを再生してウェブアプリと同時に画面出力するものである。
【０１０４】
図１０は第２の実施形態に係る情報出力装置２の内部構成を示すブロック図である。図２に示した情報出力装置２との違いは、アプリ実行部４１とIP処理部４２を備えている点である。IP処理部４２は図２の情報生成装置１内のIP処理部２１と同等の機能を有する。
【０１０５】
図１１は情報出力装置２内のアプリ実行部４１の内部構成を示すブロック図である。図１１のアプリ実行部４１は、図３の情報生成装置１内のアプリ実行部２３と比較して、機器検索処理部１８がない点で異なっている。図１１のウェブアプリ取得部３４は機器操作命令処理部１２からURLを受け取り、HTTP処理部３５に対して、指定されたURLからウェブアプリを取得するように指示する。HTTP処理部３５、ウェブアプリ実行部３６、およびWebsocket処理部３７は、図３に示した各部と同じ機能を有する。
【０１０６】
（情報出力装置２が外部のウェブサーバ５からウェブアプリを取得する場合）
次に、第２の実施形態において、情報生成装置１と情報出力装置２の間で映像ストリームを伝送するコネクションと機器操作命令を伝送するコネクションの二つのコネクションを確立し、情報生成装置１から情報出力装置２を制御したり、情報生成装置１から情報出力装置２に映像ストリームを伝送したりする処理について説明する。
【０１０７】
図１２および図１３は第２の実施形態における情報生成装置１と情報出力装置２の処理手順を示すシーケンス図である。以下、図１２を用いてユーザが選択した動画を情報出力装置２に表示する手順について説明する。
【０１０８】
情報生成装置１にサムネイルのリストを表示させるまで（ステップＳ４１，Ｓ４２）は図７に示した処理と同様である。情報生成装置１上でサムネイルが選択されると（ステップＳ４３）、入力受信部２２はウェブアプリ実行部３６に対してどのサムネイルが選択されたのかを通知する。ウェブアプリ実行部３６は選択されたサムネイルをウェブアプリに通知し、ウェブアプリはウェブアプリ実行部３６を使ってWebsocket処理部３７に対して機器操作命令用コネクションでウェブアプリのURLを情報出力装置２に送信する（ステップＳ４４）。なお、画面出力装置２がこのURLを受信するまでは、情報出力装置２は、チューナ部１１で受信した映像を画面出力部１７に表示している（ステップＳ４５）。
【０１０９】
情報出力装置２は受信した命令を解析し（ステップＳ４６）、ウェブアプリ取得命令であることが分かると情報生成装置１から受信したURLを利用してウェブアプリ取得命令を送信してウェブアプリを取得する（ステップＳ４７）。この処理はブラウザ部３１のウェブアプリ取得部３４を用いて行う。
【０１１０】
情報出力装置２はウェブアプリをネットワークからダウンロードすると、そのダウンロードしたウェブアプリをウェブアプリ実行部３６で実行する（ステップＳ４８）。
【０１１１】
次に、情報出力装置２のウェブアプリは映像ストリーム用のコネクションが情報生成装置１と確立されているか確認する（ステップＳ４９）。この処理はウェブアプリからの指示に基づいて接続管理部１５が行う。映像ストリーム用のコネクションが確立されていない場合は、情報生成装置１に対して機器操作命令用のコネクション（Websocketコネクション）を使って映像ストリーム用のコネクションを確立するように命令する（ステップＳ５０）。その場合の、ウェブアプリに含まれるJavaScriptのプログラムコードの例を以下に示す。
var ws = new WebSocket（"ws://server/input_service"）;
ws.onopen = function（）{
ws.send（"establish stream connection"）; 
};
【０１１２】
なお、情報生成装置１がウェブアプリのURLを送信する際に映像ストリーム用コネクションを確立するための情報を添付しておき、情報出力装置２が情報生成装置１に対して映像ストリーム用コネクションの確立要求を送信できるようにしておけば、情報出力装置２が上記命令を送信する事は不要である。既に映像ストリーム用のコネクションが確立されている場合は、これらの処理を省略する。
【０１１３】
次に情報出力装置２のアプリ実行部４１で動作するウェブアプリは、アプリ実行部４１を使って画面出力部１７に対して入力をチューナ部１１から映像処理部１６に切り替えるように指示し（ステップＳ５１）、機器操作命令用コネクション（Websocketコネクション）で映像ストリームの再生開始要求を送信する（ステップＳ５２）。
【０１１４】
情報生成装置１は再生開始要求を受信すると、選択したサムネイルに対応するURLからネットワーク経由で受信ないし自装置内に蓄積された映像ストリームを取得し（ステップＳ５３）、映像ストリーム用コネクションで情報出力装置２に送信する（ステップＳ５４）。
【０１１５】
情報出力装置２は入力した映像ストリームを再生し、画面出力部１７に出力する（ステップＳ５５）。
【０１１６】
情報生成装置１は映像ストリームの受信元ウェブサーバ５からデータ終了のシグナルを受信すると（ステップＳ５６）、情報出力装置２に対して機器操作命令用コネクションで、映像ストリームが終了したことを通知する（ステップＳ５７）。
【０１１７】
情報出力装置２のウェブアプリがWebsocketを使って情報生成装置１から映像ストリームの受信が完了したことを受信する場合の、情報出力装置２のウェブアプリに含まれるJavaScriptのプログラムコードの一例を以下に示す。
var ws = new WebSocket（"ws://server/input_service"）;
ws.onmessage = function（event）{
var end_data = event.data;
};
【０１１８】
画像出力装置のウェブアプリはアプリ実行部４１に対して映像ストリームの受信が完了し、画面出力部１７に対して入力を映像処理部１６からチューナ部１１に切り替えるよう指示する（ステップＳ５８）。なお、この際、情報生成装置１または情報出力装置２は映像ストリーム伝送用コネクションを切断してもよい。
【０１１９】
（情報出力装置２が情報生成装置１内のウェブサーバ５からウェブアプリを取得する場合）
上述した図１２および図１３の処理手順では、情報出力装置２のブラウザ部３１のウェブアプリ取得部３４はインターネット４上のサーバからウェブアプリを受信することを想定していた。これに対して、情報出力装置２は、情報生成装置１からウェブアプリを受信してもよい。すなわち、情報生成装置１が情報出力装置２に送信するURLのホスト部分は情報生成装置１のアドレスを指していてもよい。この場合の情報生成装置１の内部構成は図１４のようになる。図２との違いは、アプリ配布部２９を備えている点である。アプリ配布部２９は情報出力装置２からウェブアプリの取得命令を受け付けて、ウェブアプリを配布する処理を行う。
【０１２０】
図１５は情報出力装置２のウェブアプリ取得部３４が図１４の情報生成装置１のアプリ配布部２９からウェブアプリを配布する場合の処理手順を示すシーケンス図である。
【０１２１】
図１５のステップＳ６１〜Ｓ６６は図１２のステップＳ４１〜Ｓ４６と同様であり、情報出力装置２が情報生成装置１から機器操作命令用コネクションを使い、ウェブアプリのURLを情報出力装置２に送信する。この際、情報生成装置１内のアプリ実行部２３は、アプリ配布部２９からウェブアプリを保存したURLの情報を取得し、情報出力装置２に送信する。
【０１２２】
情報出力装置２は、受信した命令を解析し、ウェブアプリ取得命令であることが分かると、情報生成装置１から受信したURLを利用して、ウェブアプリ取得命令を送信して（ステップＳ６８）、これに応じて情報生成装置１が送信したウェブアプリを取得する（ステップＳ６９）。この処理はブラウザ部３１のウェブアプリ取得部３４を用いて行う。このURLのホスト名は情報出力装置２のアドレスである。
【０１２３】
その後、情報出力装置２のウェブアプリ実行部４１は受信したウェブアプリを実行し（ステップＳ７０）、映像ストリーム用のコネクションの確立の確認と確立処理を行って、画面出力部１７の表示を切り替える（ステップＳ７１〜Ｓ７３）。
【０１２４】
このように、第２の実施形態では、情報生成装置１だけでなく、情報出力装置２の内部にもアプリ実行部４１を設けるため、情報出力装置２から情報生成装置１に対して映像データの送信要求を行うことができる。
【０１２５】
（第３の実施形態）
第１の実施形態と第２の実施形態では、情報生成装置１の入力受信部２２に入力された指示内容に従って情報生成装置１が機器操作命令を情報出力装置２に送信していた。第３の実施形態では、情報出力装置２の状態情報を情報生成装置１に送信し、情報生成装置１のウェブアプリ実行部３６がその状態情報に基づいて機器操作命令を情報出力装置２に送信する。
【０１２６】
図１６は第３の実施形態に係る情報出力装置２の内部構成を示すブロック図である。図２に示した情報生成装置１との違いは情報取得部４３を備えている点である。
【０１２７】
情報取得部４３は、チューナ部１１の現在の状態やチューナ部１１で受信した放送コンテンツに関するチャンネル情報を取得する。すなわち、情報取得部４３は、機器操作命令処理部１２からの指示によってチューナ部１１の状態やチャンネル情報をチューナ部１１から取得したり、機器操作命令部に送信したりする処理を行う。
【０１２８】
図１７および図１８は第３の実施形態に係る情報生成装置１と情報出力装置２の処理手順を示すシーケンス図であり、情報生成装置１のウェブアプリ実行部３６がその状態情報に基づいて情報生成装置１が機器操作命令を情報出力装置２に送信する処理手順を示している。
【０１２９】
情報生成装置１は、アプリ実行部２３でウェブアプリを起動・実行し（ステップＳ８１）、機器操作命令用コネクション（Websocketコネクション）を使って、情報出力装置２が現在画面出力部１７に出力している放送番組のチャンネル番号を問い合わせる命令を送信する（ステップＳ８２）。この命令が受信されるまでは、情報出力装置２はチューナ部１１で受信した映像ストリームを画面出力部１７に表示している（ステップＳ８３）。
【０１３０】
情報出力装置２は、受信した命令を解析し（ステップＳ８４）、チャンネル番号取得要求命令であることが分かると、情報取得部４３を使ってチューナ部１１からチャンネル番号を取得する（ステップＳ８５）。そして機器操作命令用コネクションを使い、チャンネル番号を情報生成装置１に送信する（ステップＳ８６、チャネル番号送信部）。
【０１３１】
次に、情報生成装置１のウェブアプリは放送番組のチャンネル番号に応じた画面を生成する（ステップＳ８７）。これは、情報生成装置１のウェブアプリが、情報生成装置１と不図示のインターネット４上のサーバにチャンネル番号を送信し、その応答としてインターネット４上のサーバはウェブアプリを配信するようにしてもよい（インターネット４上のサーバはウェブアプリを示すURLを情報生成装置１に返信する）。情報生成装置１は、サーバから返信されたURLを取得し（ＵＲＬ取得部）、取得したURLからウェブアプリを取得して（アプリ取得部）、アプリ実行部２３はその新しく取得したウェブアプリに切り替える。このインターネット４上のサーバは現在放送中のコンテンツに関連した番組情報やお勧めコンテンツ、広告情報などをウェブアプリに含めてもよい。また、情報生成装置１はチャンネル番号をサーバに送信する際、放送受信地域に関する情報を付けておいてもよい。情報生成装置１はインターネット４上のサーバから受信したウェブアプリをアプリ実行部２３で実行し、ウェブアプリが生成する画面を画面出力部１７に出力する。
【０１３２】
情報生成装置１はアプリ実行部２３でウェブアプリを実行し、ウェブアプリからの命令に基づいて映像ストリーム用のコネクションが情報出力装置２と確立されているか確認する（ステップＳ８８）。映像ストリーム用のコネクションが確立されていない場合は、情報出力装置２に対して機器操作命令用のコネクションを使って映像ストリーム用のコネクションを確立するように命令する（ステップＳ８９）。さらに、ウェブアプリはアプリ実行部２３を使って機器操作命令用コネクション（Websocketコネクション）を使って情報出力装置２を二画面モードに切り替えるよう命令を送信する（ステップＳ９０）。
【０１３３】
情報出力装置２は受信した命令を解析し、二画面切り替え命令であることが分かると映像処理部１６とチューナ部１１の双方から画面出力部１７にデータを入力するように設定する（ステップＳ９１）。なお、情報生成装置１が二画面切り替え命令を情報出力装置２に送信する際、二画面の比率や左右どちらにチューナ部１１から入力したコンテンツを配置するかといった情報を含め、それを受信した情報出力装置２がその情報を利用して二画面モードに設定してもよい。
【０１３４】
画面生成部２７は画面出力部１７に送信するのと同じ画面を映像コネクション管理部２５に出力する。ここで、画面生成部２７で映像データのフォーマットを映像ストリーム伝送用コネクションで伝送するデータフォーマット（たとえばWiFi Display規格準拠のフォーマット）になるようにエンコードし（ステップＳ９２）、映像ストリーム伝送用コネクションで情報出力装置２に送信する（ステップＳ９３）。
【０１３５】
情報出力装置２は映像処理部１６のデータを画面出力部１７に出力する（ステップＳ９４）。この時の画面出力部１７が生成する画面の一例を図１９に示す。
【０１３６】
図１９に示すように、画面出力部１７は一画面に二つの映像ストリームを表示する。一つは映像処理部１６から入力した映像ストリームであり、もう一つはチューナ部１１から入力したものである。映像処理部１６を経由して情報生成装置１から入力した映像ストリームは元々は情報生成装置１の画面出力部２８に表示される画面である。つまり、図１４で示した情報生成装置１がインターネット４上のサーバから取得したウェブアプリの画面である。かりにウェブアプリの画面が変化しなかったとしても、情報生成装置１は情報出力装置２に対してウェブアプリの画面をそのまま映像ストリームとして送信し続ける。
【０１３７】
ここで、図１８のステップＳ９５で、情報出力装置２が図１に示したリモコン装置でチャンネルを切り替えたとする（ステップＳ９５）。チャンネルの切り替えは情報出力装置２でチューナ部１１に指示し、放送番組を切り替えることに相当する。情報取得部４３はチューナ部１１のチャンネル切り替えを検出し（ステップＳ９６）、機器操作命令処理部１２に対して切り替えたチャンネル番号を通知する。機器操作命令処理部１２はIPコネクション管理部１３を使って機器操作命令用コネクション（Websocketコネクション）で情報生成装置１に対してチャンネル番号を送信する（ステップＳ９７）。
【０１３８】
情報生成装置１はチャンネル番号を受信すると、先に述べたのと同じ手順でインターネット４上の不図示のサーバにチャンネル番号を送信し、その応答としてウェブアプリを受信する。そして、先に述べたのと同じ手順でウェブアプリの画面を映像ストリームとして情報出力装置２に送信する（ステップＳ９８〜Ｓ１００）。
【０１３９】
情報生成装置１の入力受信部２２でウェブアプリが終了させられると（ステップＳ１０１）、映像ストリーム（ウェブアプリの画面）の送信を中止する（ステップＳ１０２）。機器操作命令用コネクションで情報生成装置１のウェブアプリが終了したことを通知する（ステップＳ１０３）。
【０１４０】
情報出力装置２は図１７に示した二画面表示モードから一画面表示モードに切り替え、さらに入力をチューナ部１１のみに切り替える（ステップＳ１０４）。
【０１４１】
上述の実施形態では、情報生成装置１がウェブアプリの画面を映像ストリームとして生成し、情報出力装置２に送信する例を示した。これに対して、情報生成装置１がインターネット４上の不図示のサーバから受信した映像ストリームを情報出力装置２に送信し、情報出力装置２はチューナ部１１で受信した放送コンテンツと、情報生成装置１から受信した映像コンテンツの二つを二画面モードで受信して画面出力部１７に出力してもよい。この場合の情報出力装置２の画面表示例は図２０のようになる。図２０に示すように、情報出力装置２の画面出力部１７はチューナ部１１で受信した放送コンテンツと、情報生成装置１から受信した映像コンテンツの二つを二画面モードで受信して画面出力部１７に同時に出力する。
【０１４２】
図２１は図２０の画面表示を実現するための情報出力装置２の内部構成を示すブロック図である。図２１の情報出力装置２は、図１６の情報出力装置２にアプリ実行部４１を追加したものである。このアプリ実行部４１は図１０に示した情報出力装置２内のアプリ実行部４１と同様の機能を備えていればよい。
【０１４３】
図２２および図２３は、図２１の情報出力装置２を用いて、情報生成装置１がチューナ部１１で受信した放送コンテンツと、情報生成装置１から受信した映像コンテンツの二つを二画面表示する場合の処理手順を示すシーケンス図である。
【０１４４】
まず、情報生成装置１は、ウェブアプリを起動する（ステップＳ１１１）。起動したウェブアプリはウェブアプリ実行部３６を使ってWebsocket処理部３７に対して機器操作命令用コネクションを使い、ウェブアプリのURLを情報出力装置２に送信する（ステップＳ１１２）。このURLを受信する前は、情報出力装置２はチューナ部１１で受信した映像ストリームを画面出力部１７に表示している（ステップＳ１１３）。
【０１４５】
情報出力装置２は受信した命令を解析し（ステップＳ１１４）、ウェブアプリ取得命令であることが分かると情報生成装置１から受信したURLを利用してウェブアプリ取得命令を送信してウェブアプリを取得する（ステップＳ１１５）。この処理はブラウザ部３１のウェブアプリ取得部３４を用いて行う。
【０１４６】
情報出力装置２はウェブアプリをネットワークからダウンロードすると、ウェブアプリ実行部３６でそのダウンロードしたウェブアプリを実行する（ステップＳ１１６）。
【０１４７】
次に情報出力装置２のウェブアプリは映像ストリーム用のコネクションが情報生成装置１と確立されているか確認する（ステップＳ１１７）。この処理はウェブアプリからの指示に基づいて接続管理部１５が行う。映像ストリーム用のコネクションが確立されていない場合は、情報生成装置１に対して機器操作命令用のコネクションを使って映像ストリーム用のコネクションを確立するように命令する。
【０１４８】
次に、情報出力装置２のウェブアプリ実行部３６で動作するウェブアプリは機器操作命令処理部１２を介してチューナ部１１からチャンネル情報を取得する（ステップＳ１１９）。そして機器操作命令用コネクション（Websocketコネクション）を使い、チャンネル番号を画面生成部２７に送信する（ステップＳ１２０）。さらに情報出力装置２のウェブアプリは機器操作命令処理部１２を介して、二画面モードに切り替え（ステップＳ１２１）、映像処理部１６とチューナ部１１の双方から画面出力部１７にデータを入力するように設定する（ステップＳ１２２）。
【０１４９】
情報生成装置１はチャンネル番号を受信すると放送番組のチャンネルに応じた映像ストリームをインターネット４上の不図示のサーバから受信する（ステップＳ１２３）。これは、情報生成装置１のウェブアプリがサーバにチャンネル番号を送信し、その応答として映像ストリームのURLを受信し、そのURLに対して映像ストリームの取得を要求するようにすればよい。情報生成装置１は受信した映像ストリームを映像ストリーム用のコネクションを用いて情報出力装置２に送信する（ステップＳ１２４）。
【０１５０】
ここで、情報出力装置２が図１に示したリモコン装置でチャンネルを切り替えたとする（ステップＳ１２５）。情報取得部４３はチューナ部１１の番組切り替えを検出し、機器操作命令処理部１２に対して切り替えたチャンネル番号を通知する（ステップＳ１２６）。機器操作命令処理部１２はIPコネクション管理部１３を使って機器操作命令用コネクションで情報生成装置１に対してチャンネル番号を送信する。
【０１５１】
情報生成装置１はチャンネル番号を受信すると、先に述べたのと同じ手順でインターネット４上の不図示のサーバにチャンネル番号を送信し、その返答として映像ストリームを受信する（ステップＳ１２７）。そして、先に述べたのと同じ手順でサーバから受信した映像ストリームを情報出力装置２に送信する（ステップＳ１２８）。
【０１５２】
情報生成装置１の入力受信部２２でウェブアプリが終了させられると（ステップＳ１２９）、映像ストリームの送信を中止する。機器操作命令用コネクションで情報生成装置１のウェブアプリが終了したことを通知する（ステップＳ１３０）。
【０１５３】
情報出力装置２は図１８に示した二画面表示モードから一画面表示モードに切り替え（ステップＳ１３１）、さらに入力をチューナ部１１のみに切り替える（ステップＳ１３２）。
【０１５４】
上述した図２２および図２３の処理手順は、図１７および図１８の処理手順と比較して以下の点が異なっている。
【０１５５】
１）図２２および図２３の処理手順では、情報出力装置２でウェブアプリを実行するが、図１７および図１８の処理手順では、情報出力装置２ではウェブアプリの実行を行わない。
【０１５６】
２）情報出力装置２と情報生成装置１の間で映像ストリーム用のコネクションを確立するために、図２２および図２３の処理手順では、情報出力装置２からコネクションを張りに行くのに対して、図１７および図１８の処理手順では、情報生成装置１からコネクションを張りに行く。
【０１５７】
このように、第３の実施形態では、情報出力装置２で受信していたチャンネル番号を情報生成装置１に送信して、そのチャンネル番号に対応する映像ストリームを情報生成装置１で取得して情報出力装置２に送信し、情報出力装置２は、チューナ部１１の受信画像と情報生成装置１からの映像ストリームとを二画面表示するため、ユーザにとって関心の高い情報をリアルタイムで提供でき、利便性が向上する。
【０１５８】
上述した実施形態で説明した情報生成装置１と情報出力装置２の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、装置の少なくとも一部の機能を実現するプログラムをフロッピーディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の携帯可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【０１５９】
また、情報生成装置１と情報出力装置２の少なくとも一部の機能を実現するプログラムを、インターネット４等の通信回線（無線通信も含む）を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット４等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【０１６０】
本実施形態の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本実施形態の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容およびその均等物から導き出される本実施形態の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。
【符号の説明】
【０１６１】
１  情報生成装置、２  情報出力装置、３  情報処理システム、６  ネットワーク、１１  チューナ部、１２  機器操作命令処理部、１３  IPコネクション管理部、１４  映像コネクション管理部、１５  接続管理部、１６  映像処理部、１７  画面出力部、１８  機器検索処理部、２１  IP処理部、２２  入力受信部、２３  アプリ実行部、２４  IPコネクション管理部、２５  映像コネクション管理部、２６  接続管理部、２７  画面生成部、２８  画面出力部、３１  ブラウザ部、３２  機器検索処理部、３３  ウェブアプリランチャー部
【図１】
0005607095.tif 000002
【図２】
0005607095.tif 000003
【図３】
0005607095.tif 000004
【図４Ａ】
0005607095.tif 000005
【図４Ｂ】
0005607095.tif 000006
【図４Ｃ】
0005607095.tif 000007
【図５Ａ】
0005607095.tif 000008
【図５Ｂ】
0005607095.tif 000009
【図５Ｃ】
0005607095.tif 000010
【図６】
0005607095.tif 000011
【図７】
0005607095.tif 000012
【図８】
0005607095.tif 000013
【図９】
0005607095.tif 000014
【図１０】
0005607095.tif 000015
【図１１】
0005607095.tif 000016
【図１２】
0005607095.tif 000017
【図１３】
0005607095.tif 000018
【図１４】
0005607095.tif 000019
【図１５】
0005607095.tif 000020
【図１６】
0005607095.tif 000021
【図１７】
0005607095.tif 000022
【図１８】
0005607095.tif 000023
【図２０】
0005607095.tif 000024
【図２１】
0005607095.tif 000025
【図２２】
0005607095.tif 000026
【図２３】
0005607095.tif 000027
【図１９】
0005607095.tif 000028