JP5607095B2 - 情報生成装置および情報出力装置 - Google Patents

情報生成装置および情報出力装置 Download PDF

Info

Publication number
JP5607095B2
JP5607095B2 JP2012062548A JP2012062548A JP5607095B2 JP 5607095 B2 JP5607095 B2 JP 5607095B2 JP 2012062548 A JP2012062548 A JP 2012062548A JP 2012062548 A JP2012062548 A JP 2012062548A JP 5607095 B2 JP5607095 B2 JP 5607095B2
Authority
JP
Japan
Prior art keywords
unit
information
web application
information output
output device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012062548A
Other languages
English (en)
Other versions
JP2013197861A (ja
Inventor
崎 宏 磯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012062548A priority Critical patent/JP5607095B2/ja
Priority to US13/752,472 priority patent/US20130246905A1/en
Publication of JP2013197861A publication Critical patent/JP2013197861A/ja
Application granted granted Critical
Publication of JP5607095B2 publication Critical patent/JP5607095B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • H04N21/41265The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43637Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本実施形態の実施形態は、ウェブアプリケーションを取得して表示可能な情報生成装置および情報出力装置に関する。
近年、タブレットやスマートフォンなどの、無線LANや3G網を経由してインターネットに接続する機能を持つ携帯端末が普及している。この種の携帯端末の多くは、Webブラウザを搭載しており、タッチパッドによって文字を入力したり、自端末を操作したり、Webページの中に埋め込まれたリンク(ハイパーリンク)にアクセスする操作を自在に行うことができる。
また、インターネットからアプリケーションをダウンロードすることにより、自端末を任意にカスタマイズしたり、種々の機能を追加したりすることもできる。
その一方で、携帯端末は既存のデジタルTVに比べて画面サイズが圧倒的に小さく、大人数で画面を共有するような利用シーンには向かないという問題がある。
逆に、デジタルTVはデジタル放送など高精細の動画を大画面で再生する機能は優れているものの、デジタルTVを操作するリモコンはもともと放送番組を選局したり音量を調節したりすることを目的としており、PC(パソコン)のマウスのように画面上の任意の部分をポイントするような機能がないため、サムネイル一覧の中から特定の画像や動画を選択したり、Webページの中に埋め込まれたリンクをクリックするといったような多くの選択肢の中から一つを選択する操作には向いていない。
デジタルTVはもともと放送番組を視聴することを目的としている。放送ではデジタルTVの互換性を確保する観点で、その伝送方式や動画フォーマットが法律や規格によって定められているのが一般的である。また、放送方式を規定した規格書は頻繁には変更されず、またコスト上の観点からデコーダ等をハードウェアとして実装するのが一般的である。
一方、インターネット上には、ユーザ自身が撮影した動画データや、映画などのプレミアムコンテンツを提供する映像配信サービスが存在するが、それらの動画フォーマットは動画を配信するサービス事業者が個々に選択するため、放送で採用されている動画フォーマットと同一とは限らず、その種類やパラメータも多々存在する。従って、デジタルTVでインターネット上の様々な動画フォーマットに対応した動画再生機能を実現するには、コストがかかる。
タブレットやスマートフォンはインターネットに接続することを前提としており、デジタルTVに比べて高機能なプロセッサを搭載しているため、デコーダをソフトウェアとして実行したり、様々な動画フォーマットに対応したデコーダを搭載するなどして、インターネット上の様々な動画フォーマットを再生することができる。もし、インターネットから取得した動画コンテンツをタブレットやスマートフォンでデコードし、それをデジタルTVに出力することができれば、ユーザは大画面のデジタルTVで動画コンテンツを楽しむことができる。
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
本実施形態は、様々な情報の表示に適用可能で、表示情報の切り替え等の操作性も向上可能な情報生成装置および情報出力装置を提供するものである。
本実施形態によれば、ウェブソケットコネクションを介して情報出力装置を操作するための機器操作命令を送信する第1インタフェース部と、
前記情報出力装置で再生可能な映像データを前記情報出力装置に送信する第2インタフェース部と、
前記ウェブソケットコネクションの確立と前記機器操作命令の前記情報出力装置への送信とを行うウェブアプリケーションを実行するアプリケーション実行部と、
前記ウェブアプリケーションからの要求に基づいて行われる、前記第1インタフェース部を介して前記機器操作命令を送信するコネクションの確立と、前記第2インタフェース部を介して前記映像データを送信するコネクションの確立とが、同一の前記情報出力装置に対してなされたことが確認された場合に、前記第2インタフェース部で前記映像データを前記情報出力装置に送信するコネクション管理部と
前記アプリケーション実行部で実行可能なウェブアプリケーションの一覧を表示装置に表示させる第1画面出力部と、
前記第1画面出力部で表示させたウェブアプリケーションの一覧の中から特定のウェブアプリケーションを選択するアプリ選択部と、
前記アプリ選択部で選択されたウェブアプリケーションを提供するURLを前記アプリケーション実行部に通知するランチャー部と、
前記ランチャー部により通知されたURLに前記アプリケーション実行部がアクセスしてウェブアプリケーションを取得して実行することにより、前記映像データを前記第2インタフェース部を介して前記情報出力装置に送信した後は、前記情報出力装置を操作する情報を前記表示装置に表示させる第2画面出力部と、を備えることを特徴とする情報生成装置が提供される。
第1の実施形態に係る情報処理システム3の概略構成を示す図。 情報生成装置1と情報出力装置2の内部構成を示すブロック図。 情報生成装置1内のアプリ実行部23の内部構成の一例を示すブロック図。 画面出力部28の画面に表示されるウェブアプリの一覧の第1表示例を示す図。 画面出力部28の画面に表示されるウェブアプリの一覧の第2表示例を示す図。 画面出力部28の画面に表示されるウェブアプリの一覧の第3表示例を示す図。 情報出力装置2と情報生成装置1の第1例の組み合わせを示す図。 情報出力装置2と情報生成装置1の第2例の組み合わせを示す図。 情報出力装置2と情報生成装置1の第3例の組み合わせを示す図。 情報生成装置1上に表示されるウェブアプリの画面の一例を示す図。 第1の実施形態の処理手順を示すシーケンス図。 動画再生コントローラー用の画面例を示す図。 ドングル装置6を設けた例を示すブロック図。 第2の実施形態に係る情報出力装置2の内部構成を示すブロック図。 情報出力装置2内のアプリ実行部41の内部構成を示すブロック図。 第2の実施形態の処理手順を示すシーケンス図。 図12に続くシーケンス図。 アプリ配布部を備えた情報生成装置1の内部構成を示すブロック図。 図14に対応するシーケンス図。 第3の実施形態に係る情報出力装置2の内部構成を示すブロック図。 第3の実施形態の処理手順を示すシーケンス図。 図17に続くシーケンス図。 画面出力部17が生成する画面の一例を示す図。 情報出力装置2の画面表示例を示す図。 図20の画面表示を実現する情報出力装置2の内部構成を示すブロック図。 放送コンテンツと映像コンテンツを二画面表示する場合の処理手順を示す図。 図22に続くシーケンス図。
以下、図面を参照しながら、本実施形態を説明する。
(第1の実施形態)
図1は第1の実施形態に係る情報生成装置1と情報出力装置2を備えた情報処理システム3の概略構成を示す図である。図1の情報処理システム3は、放送波に含まれるAVデータや文字情報を出力可能な情報出力装置2と、インターネット4上の映像コンテンツを再生可能な情報生成装置1と、ウェブサーバ5とを備えている。
情報出力装置2と情報生成装置1は、ネットワーク6で接続されており、情報生成装置1は映像コンテンツと情報出力装置2に対する機器操作命令を情報出力装置2に送信する。
情報生成装置1から情報出力装置2に機器操作命令を送るための物理レイヤとリンクレイヤとして、赤外線、IEEE802.11規格に準拠した無線LAN、イーサネット(登録商標)などの種々の通信形態が採用可能である。情報生成装置1から情報出力装置2に動画コンテンツを送信するための物理レイヤとリンクレイヤとして、HDMI(High-Definition Multimedia Interface)(登録商標)やWirelessHD、WHDIのような非圧縮映像を送信するインタフェースを用いてもよいし、情報生成装置1がいったんエンコードした圧縮映像を、情報出力装置2がデコードすることで圧縮映像を送信する無線LAN、イーサネット、HDMI-HEC(HDMI Ethernet Channel)、WiFi Display、WiDiなどのインタフェースを用いてもよい。
なお、これらインタフェースが有線であるか無線であるかは問わない。ネットワークレイヤとして、インターネットプロトコル(IP)を使用する場合は、IPv4でもよいし、IPv6でもよい。もちろんインタフェースがIPの場合には情報出力装置2と情報生成装置1の間に不図示の無線アクセスポイント機器やルータ機器等が接続されていてもよい。ここでは一例として、情報生成装置1から情報出力装置2に機器操作命令を送る場合には無線LANを、情報生成装置1から情報出力装置2に映像ストリームを送信する手段としてはWiFi Displayを用いるものとして説明する。
ここで、機器操作命令とは、情報出力装置2が有するチューナ部を制御する命令(チューナ部に対する選局命令など)や音量調節命令などを指す。情報出力装置2が放送コンテンツを録画・蓄積する機能を備えている場合は、録画コンテンツの一覧表示命令、指定した録画コンテンツに対する再生命令、指定した録画コンテンツに対する削除命令などを指す。また、情報生成装置1から情報出力装置2に送られる映像ストリームは物理レイヤまたはリンクレイヤの伝送方式で定められたフォーマットとする。映像ストリームのフォーマットについての詳細は後述する。
情報生成装置1は、情報出力装置2と通信するコネクションとは別に、宅内もしくはインターネット4上のウェブサーバ5と通信するためのIPインタフェースを備える。このIPインタフェースの物理レイヤとリンクレイヤとして、IEEE802.11規格に準拠した無線LANやイーサネットなど種々の通信形態が採用可能である。ネットワークレイヤとして、インターネットプロトコル(IP)を使用する場合は、IPv4でもよいし、IPv6でもよい。
また、情報生成装置1とウェブサーバ5は、例えばインターネット4を介してIPで接続されている。情報生成装置1はウェブサーバ5から後述するウェブアプリケーションをダウンロードして実行する。
図2は第1の実施形態に係る情報生成装置1と情報出力装置2の内部構成を示すブロック図である。図2の情報出力装置2は、チューナ部11、機器操作命令処理部12、IPコネクション管理部(第1インタフェース部)13、映像コネクション管理部(第2インタフェース部)14、接続管理部15、映像処理部16、画面出力部17および機器検索処理部18を有する。
チューナ部11はアンテナ等から受信した放送波から、特定の放送番組や放送関連情報を抽出し、デコード処理を行う。
機器操作命令処理部12は、情報生成装置1から受信した機器操作命令を処理し、チューナ部11を制御したり、画面出力部17に表示する映像等を切り替える指示を送ったりする。
IPコネクション管理部13は、情報生成装置1と通信して、情報生成装置1からの機器操作命令を受信する機器操作命令用のコネクションを管理する。機器操作命令は後述するWebsocketと呼ばれるプロトコルを用いて伝送されるため、IPコネクション管理部13はWebsocketサーバ機能を有する。
映像コネクション管理部14は、情報生成装置1と通信して、情報生成装置1からの映像ストリームを受信する映像ストリーム用のコネクションを管理する。
接続管理部15は、機器操作命令用のコネクションと映像ストリーム用のコネクションが同一の情報生成装置1に対して確立されるようにコネクションを管理する。
図1では、情報出力装置2と情報生成装置1を1対1で接続する構成を図示したが、情報出力装置2は複数の情報生成装置1と接続していてもよい。その場合、情報出力装置2は情報生成装置1の台数分の映像ストリーム用のコネクションと機器操作命令用のコネクションを管理する必要がある。接続管理部15は、各コネクションがどの情報生成装置1のコネクションに対応しているかを管理する。
映像処理部16は、情報生成装置1からの映像ストリームに基づいて画面生成処理を行う。例えば、映像ストリームのデマルチプレクス処理やデコード処理などを行う。映像ストリーム用のコネクションがWiFi Display規格準拠の場合、映像処理部16は情報生成装置1から受信したH.264フォーマットのデータのデコード処理などを行う。
画面出力部17は、映像処理部16が生成した画面を不図示の液晶モニターや外部出力インタフェースに出力する。外部出力インタフェースとは、例えばHDMI(High-Definition Multimedia Interface)やコンポジット、S-Video、コンポーネントのようなインタフェースのことを指す。
機器検索処理部18は、後述する情報生成装置1からの装置検索要求に応答して自装置の名前やIPアドレスを返信する処理を行う。装置検索のプロトコルとしてDLNA (Digital Living Network Alliance)規格やUPnP (Universal Plug and Play)規格で定められた方式や、NetBIOS (Network Basic Input Output System)による名前検索方式を用いてもよい。なお、この機器検索処理部18は必須の構成ではない。
図2の情報生成装置1は、IP処理部21、入力受信部22、アプリ実行部(アプリケーション実行部)23、IPコネクション管理部(第1インタフェース部)24、映像コネクション管理部(第2インタフェース部)25、接続管理部26、画面生成部27、および画面出力部28を有する。
IP処理部21は、ネットワークインタフェースを介してインターネット4やローカルネットワーク上のウェブサーバ5からIPデータグラムとしてカプセル化されたHTMLやJavaScript(登録商標)等のウェブアプリケーションを構成するためのリソースファイルを読み込む処理を行ったり、動画コンテンツを入力したりする処理を行う。IP処理部21は、ウェブアプリケーションをアプリ実行部23に送信する。IP処理部21は、動画コンテンツを画面生成部27に送信する。なお、ここでウェブアプリケーションとはHTML4、HTML5、JavaScript、静止画データ、テキストデータなどで構成され、Webブラウザで実行するアプリケーションのことを指す。以下、ウェブアプリと省略して記述する。
入力受信部22は、タッチパッドやキーボード、マウスなどの入力機器を介してユーザが入力した情報を受信し、入力した情報をアプリ実行部23に通知する。
アプリ実行部23は、IP処理部21を経由してインターネット4からダウンロードしたウェブアプリや、情報生成装置1内のデータ蓄積部(不図示)に保存されたウェブアプリをWebブラウザを用いて実行し、画面を生成する。詳細は後述する。なお、データ蓄積部は、ウェブアプリを保存しておく記憶部であり、例えば、フラッシュメモリやSDカード、ハードディスクなどを用いればよい。アプリ実行部23は生成した画面を画面出力部28に出力する。
IPコネクション管理部24は、情報出力装置2と通信して、情報出力装置2に機器操作命令を送信するためのコネクションを管理する。機器操作命令は、RFC6455規格で定められたWebsocketと呼ばれるプロトコルを用いて伝送されるが、IPコネクション管理部24はトランスポート層以下(TCP/IP層および物理層)の通信処理を行う。
映像コネクション管理部25は、情報出力装置2と通信して、情報出力装置2に映像ストリームを送信するためのコネクションを管理する。
接続管理部26は、IPコネクション管理部によって確立された機器操作命令用のコネクションと映像コネクション管理部によって確立された映像ストリーム用のコネクションが同一の情報出力装置2に対して確立されるようにコネクションを管理し、確認する。
画面生成部27は、IP処理部21から入力した動画コンテンツを映像コネクション管理部25で伝送するフォーマットに変換する処理を行う。
画面出力部28は、アプリ実行部23で生成した画面を自装置内のモニターに表示もしくは外部出力インタフェースに出力する。この画面出力部28は画面生成部27が生成した動画データを出力してもよい。
図3は情報生成装置1内のアプリ実行部23の内部構成の一例を示すブロック図である。図3のアプリ実行部23は、ブラウザ部31、機器検索処理部32およびウェブアプリランチャー部33を有する。
ブラウザ部31は、さらに詳細には、ウェブアプリ取得部34、HTTP処理部35、ウェブアプリ実行部36、およびWebsocket処理部37を有する。アプリ実行部23は、図3に示した各部以外に、画面表示を行う処理部や、HTMLやXMLを解析するパース処理部を備えていてもよいが、簡略化のために図3では表記を省略している。
HTTP処理部35は、ウェブアプリ取得部34から指示されたURLから、HTTP(ないしはHTTPS)のプロトコルに従ってネットワーク経由でウェブアプリを取得する。なお、TCP層以下の処理はIP処理部21が実行する。
ウェブアプリ取得部34は、入力受信部22で選択したウェブアプリをインターネット4上のウェブサーバ5ないしは情報生成装置1のデータ蓄積部(不図示)から取得する。
情報生成装置1は、画面出力部28の画面に、ユーザが選択可能なウェブアプリの一覧を表示させて(第1画面出力部)、その中から任意のウェブアプリを、タッチパッドやマウスなどの入力機器を利用して、ユーザに選択させる(アプリ選択部)。
ウェブアプリランチャー部33はウェブアプリ取得部34にURLを渡し、このURLにウェブアプリ実行部36がアクセスすることでウェブアプリを起動させる。
図4A、図4Bおよび図4Cは画面出力部28の画面に表示されるウェブアプリの一覧の表示例を示す図である。図4A〜図4Cはそれぞれ別々の表示例を示している。ここでは、ウェブアプリが情報生成装置1外のネットワーク上のウェブサーバ5に保存されており、情報生成装置1はIP処理部21を介してネットワーク経由でウェブアプリをダウンロードする場合について説明する。
図4Aはウェブアプリをアイコンとして列挙する例である。ユーザが例えば不図示のランチャーアプリを選択すると、入力受信部22はウェブアプリランチャー部33に通知し、ウェブアプリランチャー部33はブラウザ部31を起動する。ブラウザ部31はウェブアプリのリスト(ウェブアプリのアイコンリスト(図4A))を表示する。入力受信部を使ってユーザが選択したウェブアプリをウェブアプリ取得部34に通知する。すなわち、各ウェブアプリのアイコンはウェブアプリが保存されている位置(URL)へのリンクとなっている。ウェブアプリ取得部34は、ウェブアプリAに対応するURLを取得する処理を行い、ウェブアプリ取得部34に対してHTTP処理部35を使って指定されたURLからウェブアプリを取得するように指示する。
なお、図4Aのように、画面に各ウェブアプリのリンク情報が張られる際、どのウェブアプリがどのURLに対応するかを示す対応情報が各ウェブアプリのアイコンと共に不図示のデータベースに保存される。ウェブアプリ取得部34は、そのデータベースに基づいて、選択されたウェブアプリのURLを取得する。
図4Bはウェブアプリをブラウザのブックマークとして列挙する例である。ユーザがブラウザのブックマーク一覧ボタン(一覧ボタン)を押すと、情報生成装置1にインストールされているウェブアプリの一覧を表示する。ブックマークにウェブアプリを登録したり削除したりするにはブラウザのブックマーク管理機能を利用すればよい。ウェブアプリの登録とは、ウェブアプリの名前とウェブアプリのURLの対応をブラウザ部31が有する不図示のデータベースで管理し、一覧ボタンが押された場合にウェブアプリの名前の一覧を表示することを指す。逆にウェブアプリの削除とは、ウェブアプリの名前と対応URLをブラウザ部31が有する不図示のデータベースから削除することを指す。図4Bに示した一覧ボタンや閉じるボタン、ヘルプボタンを表示しているアプリはウェブアプリであってもよいし、情報生成装置1のプラットホームに固有のアプリケーションであってもよい。ウェブアプリの場合には、ブラウザ部31によって実行されるし、情報生成装置1のプラットホームに固有のアプリケーションの場合には不図示のネイティブアプリ実行部23によって実行される。ユーザはウェブアプリの一覧の中からウェブアプリ(たとえばウェブアプリA)を選択すると、入力受信部22はウェブアプリAが選択されたことをウェブアプリ取得部34に通知する。ウェブアプリ取得部34は、ウェブアプリAに対応するURLをブラウザ部31が有する不図示のデータベースから取得する処理を行い、HTTP処理部35に対して指定されたURLからウェブアプリを取得するように指示する。
図4Cはウェブアプリランチャー部33とウェブアプリが1対1で対応しており、ウェブアプリランチャー部33からウェブアプリを起動する例である。この場合、ユーザはまず情報生成装置1内のウェブアプリランチャー部33(この場合、アプリ2)を実行する。アプリ2が起動されると、アプリ2は自身が管理するウェブアプリのリストを表示する。ユーザはその中からウェブアプリ(たとえばウェブアプリA)を選択すると、ウェブアプリランチャー部33はウェブアプリAに対応するURLを取得する処理を行い、ブラウザ部31を起動する。ブラウザ部31のウェブアプリ取得部34はアプリ2からURLを取得し、HTTP処理部35に対して指定されたURLからウェブアプリを取得するように指示する。なお、ここではアプリ2が複数のウェブアプリを管理する例について示したが、アプリ2が一つのウェブアプリを管理するような構成になっていてもよい。すなわち、アプリ2が起動されると、アプリ2に対応したウェブアプリランチャー部33はブラウザを起動して自身が管理するウェブアプリのURLをブラウザ部31のウェブアプリ取得部34に設定するような構成になっていてもよい。
以上示したように、図4A〜図4Cのいずれかの手法によってブラウザ部31のウェブアプリ取得部34がURLを取得し、ウェブアプリ実行部36に最初に実行するHTMLファイルを通知する。
図3のウェブアプリ実行部36は、HTTP処理部35を介してウェブアプリ取得部34が取得したウェブアプリを実行する。上述のようにウェブアプリはHTML4, HTML5, JavaScript, 静止画データなどのリソースで構成されるが、ウェブアプリ取得部34は、最初に実行されるHTMLファイルをウェブアプリ実行部36に通知する。そのHTMLファイルにはどのようなリソースをどのURLから取得してくるかが記載されている。ウェブアプリ実行部36はそのHTMLファイルを解釈して、HTMLファイルに記載されているリソースを取得し、画面レイアウトを構成して画面出力部28にその画面を出力する。ウェブアプリの画面構成の例に関しては後述する。
Websocket処理部37は、機器操作命令をIPコネクション管理部24を介して情報出力装置2に送信する。ウェブアプリには情報出力装置2に対する機器操作命令がプログラムとして含まれている場合がある。一例として、情報出力装置2の入力をチューナ部11から映像管理コネクション部に切り替える旨を指示する命令が含まれている場合を説明する。この命令は、たとえばウェブアプリに含まれるJavaScriptの中で以下のようなプログラムコードとして記述される。
var ws = new WebSocket("ws://server/input_service");
ws.onopen = function(){
ws.send("change input from tuner to network");
};
ウェブアプリ実行部36は、これらの命令を解釈し、Websocketプロトコルに従って情報出力装置2(server/input_service)に文字列(change input from tuner to network)を送信するようWebsocket処理部37に指示する。Websocket処理部37はRFC 6455規格で定義されたプロトコルに従ってヘッダ情報等を付加し、ウェブアプリが指定した上記文字列を情報出力装置2に送信する処理を行う。Websocketの送信処理の中でもTCP層以下の処理はIP処理部21が行う。
接続管理部26は、ウェブアプリからの要求に基づいてウェブアプリ実行部36が機器操作命令用のコネクションに対応する映像ストリーム用コネクションが存在するか否かを確認し、ウェブアプリ実行部36に問い合わせ結果を通知し、ウェブアプリ実行部36はウェブアプリにその結果を通知する。
機器検索処理部32は、ウェブアプリからの要求に基づいてネットワーク上に情報出力装置2など他の装置が存在するかどうかを検索する。具体的には、ウェブアプリからの要求に基づいてウェブアプリ実行部36が機器検索処理部32に機器検索要求を送信し、機器検索処理部32はその結果をウェブアプリ実行部36に通知し、ウェブアプリ実行部36はウェブアプリにその結果を通知する。現在、機器を検索する共通のAPI仕様がW3CやIETFなどで定義されていないため、この処理部はブラウザ部31ではなくアプリ実行部23で処理される。機器検索の詳細は後述する。
(コネクション確立フェーズ)
まず、情報生成装置1と情報出力装置2を接続する際のコネクション確立処理について説明する。情報生成装置1と情報出力装置2は映像ストリームを伝送するコネクションと機器操作命令を送信するコネクションの二つのコネクションを共有する。セットアップフェーズでは情報出力装置2と情報生成装置1の間でこの二つのコネクションを確立するために必要な情報を収集する処理を行う。なお、以下では1台の情報出力装置2と1台の情報生成装置1の組み合わせを決定する処理について説明するが、1台の情報生成装置1を複数台の情報出力装置2に接続してもよい。
情報出力装置2と情報生成装置1の組み合わせを決定する手法として以下の4種類が考えられる。
(1)ウェブアプリが管理する手法
(2)機器操作命令用コネクションを確立し、そのコネクションを使って映像ストリーム用コネクションを確立する手法
(3)UPnP Discoveryプロトコルを使って機器操作用命令と映像ストリーム用のコネクションを確立する手法
(4)情報出力装置2と情報生成装置1が独立に設定する手法
上記(1)の場合、情報生成装置1が実行するウェブアプリが情報出力装置2のIPアドレスまたはDNSホスト名と映像ストリーム用及び機器操作命令用のコネクションに使うポート番号を管理する。情報生成装置1にDHCPサーバ機能が備わっていて、情報出力装置2のIPアドレスを情報生成装置1が配布する場合、情報出力装置2のIPアドレスを固定アドレスにする場合、情報出力装置2の名前(DNSホスト名)が固定されており情報生成装置1は不図示のDNSサーバを通じて情報出力装置2のIPアドレスが取得可能な場合、情報出力装置2が不図示のサーバに自身のIPアドレスを通知して情報生成装置1がそのサーバから情報出力装置2のIPアドレスを取得可能な場合、および映像ストリーム用と機器操作命令用のコネクションに使うポート番号が仕様書等で規定されている場合は、この(1)を用いればよい。
上記(2)の場合、まず機器操作命令用のコネクションに使うポート番号を仕様書等で規定しておく。次に、図5Aに示すように、情報生成装置1はウェブアプリ実行部36でウェブアプリを実行し、ウェブアプリの中に装置検索命令が含まれていると(ステップS1)、ウェブアプリ実行部36は機器検索処理部32を使ってその装置検索命令をブロードキャストとして同一ネットワーク内に送信する(ステップS2)。
この装置検索命令に応答して、情報出力装置2がIPアドレスまたはDNSホスト名を送信すると(ステップS3)、情報生成装置1は、そのIPアドレスまたはDNSホスト名を取得する(ステップS4)。
なお、情報生成装置1は、上記(1)に示したいずれかの手法で情報出力装置2のIPアドレスまたはDNSホスト名を取得することも可能である。情報生成装置1は情報出力装置2のIPアドレスまたはDNSホスト名を取得すると、前述のように仕様書等で規定されたポート番号を使って情報出力装置2と機器操作命令用のコネクション(Websocketコネクション)を確立する。さらに、その機器操作命令用のコネクションを用いて情報出力装置2に対して、映像ストリーム用ポート番号の取得命令を送信する(ステップS5)。
情報生成装置1は、情報出力装置2が送信した映像ストリーム用コネクションに使うポート番号を取得する(ステップS6)。この場合、情報出力装置2は機器操作命令用コネクションと映像ストリーム用コネクションのサーバとなる。情報生成装置1のウェブアプリが機器操作命令用のコネクション(Websocketコネクション)を使って情報出力装置2の映像ストリーム用コネクションに使うポート番号を取得する場合の、ウェブアプリに含まれるJavaScriptのプログラムコードの一例を以下に示す。
var ws = new WebSocket("ws://server/input_service");
ws.onmessage = function(event){
var port_number = event.data;
};
別の手法として、図5Bに示すように、情報生成装置1は情報出力装置2と機器操作命令用のコネクション(Websocketコネクション)を確立し、そのコネクションを用いて情報出力装置2に自装置の映像ストリーム用コネクションに使うポート番号を通知し(ステップS7)、情報出力装置2に対して映像ストリーム用のコネクションを確立するよう指示する。この場合、情報出力装置2は機器操作命令用コネクションのサーバとなり、情報生成装置1は映像ストリーム用コネクションのサーバとなる。以下に機器操作命令用のコネクション(Websocketコネクション)を用いて、情報生成装置1のウェブアプリが情報出力装置2に対して自装置の映像ストリーム用コネクションに使うポート番号が10000番であることを通知するJavaScriptのプログラムコードの例を示す。
var ws = new WebSocket("ws://server/input_service");
ws.onopen = function(){
ws.send("10000");
};
なお、上記では情報出力装置2の機器操作命令用のコネクションのIPアドレスと映像ストリーム用のコネクションのIPアドレスが同一の場合について述べてきたが、情報出力装置2はそれぞれのコネクションのIPアドレスが異なるようにしてもよい。その場合、機器操作用のコネクションを使って映像ストリーム用のコネクションのポート番号だけでなくIPアドレスも取得するようにすればよい。
上記(3)の場合、図5Cに示すように、情報生成装置1は映像ストリーム用のコネクションと機器操作用命令用のコネクションの確立に先立ち、ネットワークに接続された情報出力装置2を検索してIPアドレスを取得する(ステップS1〜S3)。情報出力装置2を検索する手段としてはNetBIOSのプロトコルや、DLNA規格やUPnP規格で定められたUPnP Discoveryプロトコルなどよく知られた方法を用いればよい。情報生成装置1と情報出力装置2は機器検索のための複数の方法をサポートしていてもよい。このUPnP Discoveryで機器を検索する命令はJavaScript APIとしてアプリ実行部23がウェブアプリに提供する。ウェブアプリが使う機器検索のためのAPIの一例を以下に示す。ここでtypeは検索する装置の種別(この場合、情報出力装置2)、戻り値は検索結果である装置のリストを示す。なお、装置の種別は必須ではなく、ネットワーク上に存在するすべての装置のリストを取得するようにしてもよい。
Array UPnPsearchDevice(String type);
ウェブアプリはこのAPIを利用してネットワーク上に存在する装置のIPアドレスのリストを取得する。このAPIの実行はユーザの確認なしでウェブアプリが自動的に行ってもよいし、装置を検索するボタンをユーザに提示し、ユーザがそのボタンを押した時にこのAPIを実行して装置のリストを取得するようにしてもよい。ウェブアプリは装置のリストを取得すると、そのリストをユーザに提示する。ユーザはどの装置に接続するかリストから選択する(ステップS8)。なお、検索の結果、情報出力装置2がネットワーク上に一つしか存在しない場合や、あらかじめ設定しておいた装置に接続する場合はユーザが選択する処理を省略してもよい。
次に、情報生成装置1は指定された装置と映像ストリーム用コネクションを確立するため、UPnP Discoveryプロトコルで機器操作命令用のコネクション(Websocketコネクション)と映像ストリーム用コネクションに使う情報出力装置2のIPアドレスとポート番号を取得する(ステップS9〜S10)。なお、機器操作命令用のコネクションと映像ストリーム用のコネクションでIPアドレスが同一の場合はポート番号のみ取得してもよい。また、映像ストリーム用と機器操作命令用のコネクションに使うポート番号が仕様書等で規定されている場合はポート番号の取得処理を省略してもよい。
上記(4)の場合、映像ストリームを送るコネクションとリモコン命令を送るコネクションの設定はユーザが設定アプリケーション等を用いて手動で行う。または機器出荷時にあらかじめプリセットしておいてもよい。
なお、接続管理部26は映像出力装置2と機器操作用のコネクションおよび映像ストリーム用のコネクションの確立が完了すると、それぞれのコネクションの映像出力装置2のIPアドレスおよびポート番号を記憶しておくようにしてもよい。その場合、機器操作用のコネクションまたは映像ストリーム用のコネクションのいずれかが切断した場合には、エラー状態であることを記憶しておく。
なお、(1)〜(4)のいずれの場合でも、映像ストリームを伝送するか否かに限らず、機器操作命令用のコネクションを確立する時に映像ストリーム用コネクションでコンテンツの著作権を保護するための認証鍵交換処理を行えばよい。たとえば、映像ストリーム用コネクションにHDMIやWiFi Displayなどを利用する場合、機器操作命令用のコネクションを確立する時に、映像ストリーム用コネクションで映像ストリームを伝送するか否かに限らず、映像ストリーム用コネクションでHDCP (High-bandwidth Digital Content Protection)の認証処理を行えばよい。これにより、コンテンツの送信を開始する時点では、すでに認証鍵を所持していることになり、高速にコンテンツの伝送を開始できる。
(利用フェーズ)
次に、情報生成装置1と情報出力装置2の間で映像ストリームを伝送するコネクションと機器操作命令を伝送するコネクションの二つのコネクションを確立し、情報生成装置1から情報出力装置2を制御したり、情報生成装置1から情報出力装置2に映像ストリームを伝送したりする処理について説明する。
まず、初期状態として情報出力装置2はチューナ部11から入力した放送コンテンツを画面出力部17に出力しているものとする。また、情報生成装置1ではウェブアプリ実行部36でウェブアプリを実行中の状態とする。情報生成装置1上に表示されるウェブアプリの画面の一例を図6に示す。図6では、ウェブアプリ実行部36はインターネット4上のウェブサーバ5と通信し、動画コンテンツのサムネイルのリストをウェブサーバ5から取得して表示するウェブアプリを実行している。なお、画面内の各サムネイルには対応する動画コンテンツの場所を示すURLが埋め込まれている。
図7は第1の実施形態における情報生成装置1と情報出力装置2の処理手順を示すシーケンス図である。図7は、ユーザが図6の画面から特定のサムネイルを選択した場合の処理手順を示している。
情報生成装置1でウェブアプリを起動すると(ステップS21)、ウェブアプリ実行部36はウェブアプリの命令により情報生成装置1内の画面出力部28に図6のようなサムネイルの一覧を表示させる(ステップS22、第3画面出力部)。
ユーザが情報生成装置1内の入力受信部22(タッチパネルなど)で特定のサムネイルを選択すると(ステップS23)、入力受信部22はウェブアプリ実行部36に対してどのサムネイルが選択されたのかを通知する。ウェブアプリ実行部36は選択されたサムネイルをウェブアプリに通知し、ウェブアプリはウェブアプリ実行部36を使ってWebsocket処理部37に対して機器操作命令用コネクションを介して情報出力装置2に機器操作命令を送信するよう指示する。これにより、情報出力装置2の画面出力部17の入力をチューナ部11から映像処理部16からの入力に切り替える入力切替命令が機器操作命令用のコネクション(Websocketコネクション)を使って情報生成装置1から情報出力装置2に送信される(ステップS24)。
情報出力装置2は、入力切替命令を受信する前は、チューナ部11で受信した情報を画面出力部17に表示している(ステップS25)。情報出力装置2は、情報生成装置1から機器操作命令用のコネクション(Websocketコネクション)を経由して入力切替命令を受信すると、受信した命令を解析し(ステップS26)、入力切替命令であることが分かると画面出力部17の入力をチューナ部11から映像処理部16からの入力に切り替える(ステップS27)。この処理は機器操作命令処理部12が画面出力部17に対して切り替え命令を送信することで実現する。
次に、情報生成装置1のウェブアプリはウェブアプリ実行部36を使って映像ストリーム用のコネクションが情報出力装置2と確立されているか否かを確認する(ステップS28)。この処理はウェブアプリからの指示に基づいて接続管理部26が行う。具体的な方法を以下に示す。
接続管理部26が映像出力装置2の機器操作用のコネクションおよび映像ストリーム用のコネクションのIPアドレスおよびポート番号を記憶している場合、ウェブアプリはウェブアプリ実行部36を経由して接続管理部26に問い合わせ、エラー状態でない事を確認する。ウェブアプリはエラー処理を行う。このエラー処理は、ユーザにエラーが起こった事を通知する処理でもよいし、コネクション確立フェーズを再実行する処理を行ってもよい。
接続管理部26がIPアドレスおよびポート番号を記憶していない場合で、かつ情報出力装置2の機器操作命令用のコネクションのIPアドレスと映像ストリーム用のコネクションのIPアドレスが同一の場合、ウェブアプリはウェブアプリ実行部36を経由して機器操作命令用のコネクションのIPアドレスを接続管理部26に通知する。接続確認部26が映像コネクション管理部25から情報出力装置2のIPアドレスを取得し、一致するか検査する。接続管理部26は検査結果をウェブアプリ実行部36に返し、ウェブアプリはその結果を取得する。IPアドレスが一致していないという検査結果であれば、ウェブアプリはエラー処理を行う。このエラー処理は、ユーザにエラーが起こった事を通知する処理でもよいし、コネクション確立フェーズを再実行する処理を行ってもよい。なお、接続管理部26が検査結果を返す以外にも、ウェブアプリはウェブアプリ実行部36を経由して機器操作命令用のコネクションのIPアドレスを問い合わせる命令を接続管理部26に送り、接続管理部26はその命令を受信すると映像コネクション管理部25から情報出力装置2のIPアドレスを取得し、そのIPアドレスをウェブアプリ実行部36に返す。ウェブアプリがウェブアプリ実行部36を経由してIPアドレスを取得して、機器操作命令用のコネクションのIPアドレスと一致するか比較処理を行うようにしてもよい。
接続管理部26がIPアドレスおよびポート番号を記憶していない場合で、かつ情報出力装置2の機器操作命令用のコネクションのIPアドレスと映像ストリーム用のコネクションのIPアドレスが異なる場合、ウェブアプリがウェブアプリ実行部36を経由して接続管理部26に通信相手の情報出力装置2が同一機器であるか確認する。具体的には、接続管理部26は機器操作命令用のコネクションを利用して情報出力装置2に対して映像ストリーム用のコネクションのIPアドレスとポート番号を問い合わせ、かつ映像コネクション管理部25から情報出力装置2のIPアドレスとポート番号を取得して、それらが一致するかどうか確認処理を行う。ウェブアプリ実行部36を経由してその結果をウェブアプリに通知するようにしてもよい。
映像ストリーム用のコネクションが確立されていない場合は、セットアップフェーズで入力した情報(IPアドレスまたはDNSホスト名とポート番号)を元に、情報出力装置2と映像ストリーム用のコネクションを確立する(ステップS29)。なお、既に映像ストリーム用のコネクションが確立されている場合は、この処理を省略する。この際、著作権保護されたコンテンツを伝送する場合に備えて、非特許文献1や非特許文献2で示された方式等を適用して、コネクションで伝送されるデータの不正コピーや改変を防ぐように保護してもよい。
次に、情報生成装置1のウェブアプリはウェブアプリ実行部36を使って図6に示したサムネイルの一覧表示画面から、図8に示すような情報出力装置2の画面制御を行うための動画再生コントローラー用の画面に表示内容を切り替える(ステップS30)。この切り替えはウェブアプリのページ遷移によって実現する。すなわち、ウェブアプリは図6に示したURLから、図8の画面を構成するURLに遷移したり、JavaScriptによって画面を切り替えたりして実現している。
図8に示すように、動画再生コントローラー用の画面はコンテンツ一覧画面(図6)に戻るボタンや、音量調整ボタン、タイムバーなどを含んでいる。なお、ここでは情報生成装置1から情報出力装置2に映像ストリームを送信し、情報出力装置2に映像ストリームを表示させることを意図しているが、情報出力装置2が映像ストリーム再生中であっても情報出力装置2の表示内容を放送コンテンツに切り替えることができるようにボタン(「放送に戻る」ボタン)を設けてもよい。
情報生成装置1のウェブアプリは動画再生コントローラー用の画面に遷移すると共に、選択したサムネイルに対応したURLを元に映像ストリームをウェブサーバ5から受信し(ステップS31)、その映像ストリームを映像ストリーム用のコネクションを用いて情報出力装置2に送信する(ステップS32)。すなわち、映像コネクション管理部25は映像ストリーム用のコネクションと機器操作命令用のコネクションが同一の情報出力装置に対してなされたことが確認された場合に、映像ストリーム用のコネクションで映像ストリームを情報出力装置に送信する。なお、図7では画面をリモコン用の画面に切り替えてから映像データを送信するシーケンスについて示しているが、映像データの送信を開始してからリモコン用の画面に切り替えるようにしてもよい。映像ストリーム用のコネクションにWiFi Display規格が適用されている場合、情報生成装置1が受信した映像データのフォーマットと、WiFi Display規格で定義している映像データフォーマットが異なる場合がある。その場合、情報生成装置1の画面生成部27でウェブサーバ5から受信した映像データをデコード一旦デコードした後、WiFi Display規格準拠のフォーマットになるよう再エンコードする。なお、サムネイルに対応する映像コンテンツが情報生成装置1内のデータ蓄積部(不図示)に蓄積されている場合、情報生成装置1は映像ストリームをウェブサーバ5から受信するのではなく、自装置内に蓄積された映像ストリームをそのまま情報出力装置2に送信すればよい。
情報出力装置2は情報生成装置1から受信したWiFi Display規格準拠の映像ストリームを映像処理部16でデコードし、画面生成部27にデータ(映像)を出力する(ステップS33、画面切替部)。
情報生成装置1が映像ストリームの受信元ウェブサーバ5からデータ終了のシグナルを受信すると(ステップS34)、情報出力装置2に対して機器操作命令用のコネクション(Websocketコネクション)で画面出力部17の入力を映像処理部16からチューナ部11に切り替える命令を送信する(ステップS35)。情報出力装置2は受信した命令を解析し、入力切替命令であることが分かると画面出力部17の入力を映像処理部16からチューナ部11に切り替える(ステップS36)。
なお、画面出力部17の入力を映像処理部16からチューナ部11に切り替える際に、情報生成装置1または情報出力装置2は映像ストリーム伝送用コネクションを切断してもよい。また、情報生成装置1は、機器操作命令処理部12の指示で画面出力部17の入力をチューナ部11から映像処理部16に切り替えるよう指示する入力切替命令の送信に先立ち、現在受信中の放送コンテンツのチャンネル番号をチューナ部11から取得して保存しておき、映像ストリーム終了時に機器操作命令処理部12が映像処理部16からチューナ部11に切り替える際、元のチャンネル番号となるようにチャンネル番号の情報を付与してもよい。このようにすることで、ユーザに対しては情報生成装置1で選択したコンテンツの再生が終了すると、画面出力装置2に表示される画面は、入力切替が起こる前の状態で見ていた放送コンテンツのチャンネルに戻ることになり、ユーザの利便性を改善することができる。
なお、情報生成装置1が映像ストリームの受信元ウェブサーバ5からデータ終了の信号を受信した場合(ステップS34)、映像ストリーム用のコネクションを切断せず、情報生成装置1から情報出力装置2に映像ストリーム用のコネクションで何もデータを送らない状態を維持してもよい。
また、情報生成装置1がウェブサーバ5からデータ終了のシグナルを受信する前に、情報生成装置1内の入力受信部22は図8に示した「放送に戻る」ボタンの入力を検出し、ウェブアプリ実行部36は、画面出力装置2の画面出力部17の入力を映像処理部16からチューナ部11に切り替えるよう指示する入力切替命令を機器操作命令用のコネクション(Websocketコネクション)を使って情報出力装置2に送信するようWebsocket処理部37に対して指示してもよい。さらに、この命令にチャンネル番号を付与するようにしてもよい。
以上述べてきた例では情報生成装置1と情報出力装置2が無線LANで接続されており、映像ストリームが無線(WiFi Display)で送信されることを想定していた。しかしながら、本実施形態では情報出力装置2と情報生成装置1の間にドングル装置を設置し、情報生成装置1は映像ストリームを無線でドングル装置に送信し、ドングル装置は有線で情報出力装置2に送信するような構成になっていてもよい。
図9は情報生成装置1と情報出力装置2との間にドングル装置6を設けた例を示すブロック図である。図9の情報出力装置2は、図2の情報出力装置2から映像処理部16を省略した構成になっている。ドングル装置6は、映像処理部16と、映像コネクション管理部14aと、映像出力インタフェース処理部19とを有する。映像出力インタフェース処理部19は、映像処理部16から受信した非圧縮の映像データを有線インタフェースに出力する処理を行う。ここで、有線インタフェースとはHDMIのようなインタフェースのことを指す。
ドングル装置6は、情報出力装置2の一部が別筐体となったものと見なすことができるが、ドングル装置6と情報出力装置2はそれぞれ異なるIPアドレスを有する。この場合、機器検索要求処理部は映像管理コネクション管理部からドングル装置6のIPアドレスを取得する。このIPアドレス取得処理はHDMI-CECを利用して映像コネクション管理部14がドングル装置6の映像出力インタフェースと通信を行って取得すればよい。
なお、セットアップフェーズで、上記(4)のように映像ストリームを送るコネクションと機器操作命令を送るコネクションの設定はユーザが設定アプリケーション等を用いて手動で行ってもよいし、これらコネクションを機器出荷時にあらかじめプリセットしておく場合はこの処理は不要である。
情報生成装置1とドングル装置6が映像ストリーム用コネクションを確立させるまでは前述した図7のステップS21〜S28と同様の処理を行えばよい。その後、ドングル装置6は、情報生成装置1から映像コネクション管理部14aを使って映像ストリームを受信し、映像処理部16を使って映像ストリームをデコードして、非圧縮形式に変換して映像出力インタフェース処理部19に出力する。映像出力インタフェース出力部は情報出力装置2と有線ケーブルで物理的に1対1に接続されており、情報出力装置2に非圧縮形式で映像ストリームを送信する。
このように、第1の実施形態では、情報生成装置1がウェブアプリ実行部36上でウェブアプリを実行し、インターネット上のサーバから取得ないし自装置に蓄積しておいた映像ストリームを映像ストリーム用コネクションを介して情報出力装置2に送信し、この映像ストリームを受信した情報出力装置2は、それまで視聴していたチューナ部11の受信映像を映像ストリームに切り替えて表示し、また、情報生成装置1も画面出力部28の出力を切り替えて、情報出力装置2の画面表示を制御するための各種ボタンを表示する。したがって、ユーザは、情報出力装置2に標準装備されているリモートコントローラを操作する代わりに、情報生成装置1のタッチパネル等で情報出力装置2の画面表示を制御でき、操作性が著しく向上する。
より詳細には、情報生成装置1が情報出力装置2に対して情報出力装置2の画面出力部17の入力をチューナ部11から映像処理部16からの入力に切り替える入力切替命令を送信し、情報出力装置2はその命令を受信すると、機器操作命令処理部12が画面出力部17に対して、チューナ部11からの入力を映像コネクション管理部14からの入力に切り替えるよう指示する。
従来方式では、サムネイルリストの中からコンテンツを選択する場合、TVのリモコンキーや十字キーを押してコンテンツを選択する必要があった。このため、画面内に数多くのサムネイルが表示されている場合や、スクロールキーなどの複数回入力しなければならないキーがある場合、使い勝手が悪かった。一方、本実施形態によれば、ユーザは情報生成装置1に備わっているタッチパッドなどの使い勝手の良い入力機器を利用でき、数多くのサムネイルの中からコンテンツを選択する作業も容易になり、ユーザの利便性が向上できる。
さらに、情報生成装置1のサムネイルリスト表示画面はウェブアプリとして実現しているため、配色やボタンの配置など見た目やレイアウトを変更する場合でも、ウェブアプリに含まれるCSS(Cascading Style Sheets)を変更するだけでロジック部分を作りかえる必要がない。このため、アプリケーションの実装コストを削減することができる。
また、従来方式では画面レイアウトを変更する場合、情報生成装置1に新しいファームウェアを配布して装置内のファームウェアをアップデートする必要があった。これはサーバのファームウェア配信コストも高く、ユーザが一斉にファームウェアを更新する事は困難であった。一方、本実施形態によれば、情報生成装置1に配信するウェブアプリ配布サーバ上のウェブアプリを修正すればよいため、複数の情報生成装置1に一斉に新しく更新したウェブアプリを配布することができる。
また、機器操作命令を送信するプロトコルにWebsocketを用いることで、他の装置に対する機器操作命令をウェブアプリから実行することが可能となる。すなわち、情報出力装置2に対する機器操作命令を変更したい場合は情報生成装置1のファームウェアやアプリ実行部23を修正する必要はなく、ウェブサーバから配信するウェブアプリだけを更新すればよいため、容易に機能拡張を行うことができる。
また、情報生成装置1がネットワーク経由で受信した映像ストリームを映像ストリーム伝送用のコネクションのフォーマット(たとえばWiFi Display規格準拠のフォーマット)に変換して伝送するため、情報出力装置2は単一の動画フォーマットだけサポートしていれば良く、情報出力装置2のコストを抑えることができる。
(第2の実施形態)
第1の実施形態では、情報出力装置2が情報生成装置1から受信した映像データをそのまま画面出力部17に渡すことを実現していた。第2の実施形態では、情報出力装置2上のウェブアプリ実行部36でウェブアプリを実行すると共に、情報生成装置1から送信された映像データを再生してウェブアプリと同時に画面出力するものである。
図10は第2の実施形態に係る情報出力装置2の内部構成を示すブロック図である。図2に示した情報出力装置2との違いは、アプリ実行部41とIP処理部42を備えている点である。IP処理部42は図2の情報生成装置1内のIP処理部21と同等の機能を有する。
図11は情報出力装置2内のアプリ実行部41の内部構成を示すブロック図である。図11のアプリ実行部41は、図3の情報生成装置1内のアプリ実行部23と比較して、機器検索処理部18がない点で異なっている。図11のウェブアプリ取得部34は機器操作命令処理部12からURLを受け取り、HTTP処理部35に対して、指定されたURLからウェブアプリを取得するように指示する。HTTP処理部35、ウェブアプリ実行部36、およびWebsocket処理部37は、図3に示した各部と同じ機能を有する。
(情報出力装置2が外部のウェブサーバ5からウェブアプリを取得する場合)
次に、第2の実施形態において、情報生成装置1と情報出力装置2の間で映像ストリームを伝送するコネクションと機器操作命令を伝送するコネクションの二つのコネクションを確立し、情報生成装置1から情報出力装置2を制御したり、情報生成装置1から情報出力装置2に映像ストリームを伝送したりする処理について説明する。
図12および図13は第2の実施形態における情報生成装置1と情報出力装置2の処理手順を示すシーケンス図である。以下、図12を用いてユーザが選択した動画を情報出力装置2に表示する手順について説明する。
情報生成装置1にサムネイルのリストを表示させるまで(ステップS41,S42)は図7に示した処理と同様である。情報生成装置1上でサムネイルが選択されると(ステップS43)、入力受信部22はウェブアプリ実行部36に対してどのサムネイルが選択されたのかを通知する。ウェブアプリ実行部36は選択されたサムネイルをウェブアプリに通知し、ウェブアプリはウェブアプリ実行部36を使ってWebsocket処理部37に対して機器操作命令用コネクションでウェブアプリのURLを情報出力装置2に送信する(ステップS44)。なお、画面出力装置2がこのURLを受信するまでは、情報出力装置2は、チューナ部11で受信した映像を画面出力部17に表示している(ステップS45)。
情報出力装置2は受信した命令を解析し(ステップS46)、ウェブアプリ取得命令であることが分かると情報生成装置1から受信したURLを利用してウェブアプリ取得命令を送信してウェブアプリを取得する(ステップS47)。この処理はブラウザ部31のウェブアプリ取得部34を用いて行う。
情報出力装置2はウェブアプリをネットワークからダウンロードすると、そのダウンロードしたウェブアプリをウェブアプリ実行部36で実行する(ステップS48)。
次に、情報出力装置2のウェブアプリは映像ストリーム用のコネクションが情報生成装置1と確立されているか確認する(ステップS49)。この処理はウェブアプリからの指示に基づいて接続管理部15が行う。映像ストリーム用のコネクションが確立されていない場合は、情報生成装置1に対して機器操作命令用のコネクション(Websocketコネクション)を使って映像ストリーム用のコネクションを確立するように命令する(ステップS50)。その場合の、ウェブアプリに含まれるJavaScriptのプログラムコードの例を以下に示す。
var ws = new WebSocket("ws://server/input_service");
ws.onopen = function(){
ws.send("establish stream connection");
};
なお、情報生成装置1がウェブアプリのURLを送信する際に映像ストリーム用コネクションを確立するための情報を添付しておき、情報出力装置2が情報生成装置1に対して映像ストリーム用コネクションの確立要求を送信できるようにしておけば、情報出力装置2が上記命令を送信する事は不要である。既に映像ストリーム用のコネクションが確立されている場合は、これらの処理を省略する。
次に情報出力装置2のアプリ実行部41で動作するウェブアプリは、アプリ実行部41を使って画面出力部17に対して入力をチューナ部11から映像処理部16に切り替えるように指示し(ステップS51)、機器操作命令用コネクション(Websocketコネクション)で映像ストリームの再生開始要求を送信する(ステップS52)。
情報生成装置1は再生開始要求を受信すると、選択したサムネイルに対応するURLからネットワーク経由で受信ないし自装置内に蓄積された映像ストリームを取得し(ステップS53)、映像ストリーム用コネクションで情報出力装置2に送信する(ステップS54)。
情報出力装置2は入力した映像ストリームを再生し、画面出力部17に出力する(ステップS55)。
情報生成装置1は映像ストリームの受信元ウェブサーバ5からデータ終了のシグナルを受信すると(ステップS56)、情報出力装置2に対して機器操作命令用コネクションで、映像ストリームが終了したことを通知する(ステップS57)。
情報出力装置2のウェブアプリがWebsocketを使って情報生成装置1から映像ストリームの受信が完了したことを受信する場合の、情報出力装置2のウェブアプリに含まれるJavaScriptのプログラムコードの一例を以下に示す。
var ws = new WebSocket("ws://server/input_service");
ws.onmessage = function(event){
var end_data = event.data;
};
画像出力装置のウェブアプリはアプリ実行部41に対して映像ストリームの受信が完了し、画面出力部17に対して入力を映像処理部16からチューナ部11に切り替えるよう指示する(ステップS58)。なお、この際、情報生成装置1または情報出力装置2は映像ストリーム伝送用コネクションを切断してもよい。
(情報出力装置2が情報生成装置1内のウェブサーバ5からウェブアプリを取得する場合)
上述した図12および図13の処理手順では、情報出力装置2のブラウザ部31のウェブアプリ取得部34はインターネット4上のサーバからウェブアプリを受信することを想定していた。これに対して、情報出力装置2は、情報生成装置1からウェブアプリを受信してもよい。すなわち、情報生成装置1が情報出力装置2に送信するURLのホスト部分は情報生成装置1のアドレスを指していてもよい。この場合の情報生成装置1の内部構成は図14のようになる。図2との違いは、アプリ配布部29を備えている点である。アプリ配布部29は情報出力装置2からウェブアプリの取得命令を受け付けて、ウェブアプリを配布する処理を行う。
図15は情報出力装置2のウェブアプリ取得部34が図14の情報生成装置1のアプリ配布部29からウェブアプリを配布する場合の処理手順を示すシーケンス図である。
図15のステップS61〜S66は図12のステップS41〜S46と同様であり、情報出力装置2が情報生成装置1から機器操作命令用コネクションを使い、ウェブアプリのURLを情報出力装置2に送信する。この際、情報生成装置1内のアプリ実行部23は、アプリ配布部29からウェブアプリを保存したURLの情報を取得し、情報出力装置2に送信する。
情報出力装置2は、受信した命令を解析し、ウェブアプリ取得命令であることが分かると、情報生成装置1から受信したURLを利用して、ウェブアプリ取得命令を送信して(ステップS68)、これに応じて情報生成装置1が送信したウェブアプリを取得する(ステップS69)。この処理はブラウザ部31のウェブアプリ取得部34を用いて行う。このURLのホスト名は情報出力装置2のアドレスである。
その後、情報出力装置2のウェブアプリ実行部41は受信したウェブアプリを実行し(ステップS70)、映像ストリーム用のコネクションの確立の確認と確立処理を行って、画面出力部17の表示を切り替える(ステップS71〜S73)。
このように、第2の実施形態では、情報生成装置1だけでなく、情報出力装置2の内部にもアプリ実行部41を設けるため、情報出力装置2から情報生成装置1に対して映像データの送信要求を行うことができる。
(第3の実施形態)
第1の実施形態と第2の実施形態では、情報生成装置1の入力受信部22に入力された指示内容に従って情報生成装置1が機器操作命令を情報出力装置2に送信していた。第3の実施形態では、情報出力装置2の状態情報を情報生成装置1に送信し、情報生成装置1のウェブアプリ実行部36がその状態情報に基づいて機器操作命令を情報出力装置2に送信する。
図16は第3の実施形態に係る情報出力装置2の内部構成を示すブロック図である。図2に示した情報生成装置1との違いは情報取得部43を備えている点である。
情報取得部43は、チューナ部11の現在の状態やチューナ部11で受信した放送コンテンツに関するチャンネル情報を取得する。すなわち、情報取得部43は、機器操作命令処理部12からの指示によってチューナ部11の状態やチャンネル情報をチューナ部11から取得したり、機器操作命令部に送信したりする処理を行う。
図17および図18は第3の実施形態に係る情報生成装置1と情報出力装置2の処理手順を示すシーケンス図であり、情報生成装置1のウェブアプリ実行部36がその状態情報に基づいて情報生成装置1が機器操作命令を情報出力装置2に送信する処理手順を示している。
情報生成装置1は、アプリ実行部23でウェブアプリを起動・実行し(ステップS81)、機器操作命令用コネクション(Websocketコネクション)を使って、情報出力装置2が現在画面出力部17に出力している放送番組のチャンネル番号を問い合わせる命令を送信する(ステップS82)。この命令が受信されるまでは、情報出力装置2はチューナ部11で受信した映像ストリームを画面出力部17に表示している(ステップS83)。
情報出力装置2は、受信した命令を解析し(ステップS84)、チャンネル番号取得要求命令であることが分かると、情報取得部43を使ってチューナ部11からチャンネル番号を取得する(ステップS85)。そして機器操作命令用コネクションを使い、チャンネル番号を情報生成装置1に送信する(ステップS86、チャネル番号送信部)。
次に、情報生成装置1のウェブアプリは放送番組のチャンネル番号に応じた画面を生成する(ステップS87)。これは、情報生成装置1のウェブアプリが、情報生成装置1と不図示のインターネット4上のサーバにチャンネル番号を送信し、その応答としてインターネット4上のサーバはウェブアプリを配信するようにしてもよい(インターネット4上のサーバはウェブアプリを示すURLを情報生成装置1に返信する)。情報生成装置1は、サーバから返信されたURLを取得し(URL取得部)、取得したURLからウェブアプリを取得して(アプリ取得部)、アプリ実行部23はその新しく取得したウェブアプリに切り替える。このインターネット4上のサーバは現在放送中のコンテンツに関連した番組情報やお勧めコンテンツ、広告情報などをウェブアプリに含めてもよい。また、情報生成装置1はチャンネル番号をサーバに送信する際、放送受信地域に関する情報を付けておいてもよい。情報生成装置1はインターネット4上のサーバから受信したウェブアプリをアプリ実行部23で実行し、ウェブアプリが生成する画面を画面出力部17に出力する。
情報生成装置1はアプリ実行部23でウェブアプリを実行し、ウェブアプリからの命令に基づいて映像ストリーム用のコネクションが情報出力装置2と確立されているか確認する(ステップS88)。映像ストリーム用のコネクションが確立されていない場合は、情報出力装置2に対して機器操作命令用のコネクションを使って映像ストリーム用のコネクションを確立するように命令する(ステップS89)。さらに、ウェブアプリはアプリ実行部23を使って機器操作命令用コネクション(Websocketコネクション)を使って情報出力装置2を二画面モードに切り替えるよう命令を送信する(ステップS90)。
情報出力装置2は受信した命令を解析し、二画面切り替え命令であることが分かると映像処理部16とチューナ部11の双方から画面出力部17にデータを入力するように設定する(ステップS91)。なお、情報生成装置1が二画面切り替え命令を情報出力装置2に送信する際、二画面の比率や左右どちらにチューナ部11から入力したコンテンツを配置するかといった情報を含め、それを受信した情報出力装置2がその情報を利用して二画面モードに設定してもよい。
画面生成部27は画面出力部17に送信するのと同じ画面を映像コネクション管理部25に出力する。ここで、画面生成部27で映像データのフォーマットを映像ストリーム伝送用コネクションで伝送するデータフォーマット(たとえばWiFi Display規格準拠のフォーマット)になるようにエンコードし(ステップS92)、映像ストリーム伝送用コネクションで情報出力装置2に送信する(ステップS93)。
情報出力装置2は映像処理部16のデータを画面出力部17に出力する(ステップS94)。この時の画面出力部17が生成する画面の一例を図19に示す。
図19に示すように、画面出力部17は一画面に二つの映像ストリームを表示する。一つは映像処理部16から入力した映像ストリームであり、もう一つはチューナ部11から入力したものである。映像処理部16を経由して情報生成装置1から入力した映像ストリームは元々は情報生成装置1の画面出力部28に表示される画面である。つまり、図14で示した情報生成装置1がインターネット4上のサーバから取得したウェブアプリの画面である。かりにウェブアプリの画面が変化しなかったとしても、情報生成装置1は情報出力装置2に対してウェブアプリの画面をそのまま映像ストリームとして送信し続ける。
ここで、図18のステップS95で、情報出力装置2が図1に示したリモコン装置でチャンネルを切り替えたとする(ステップS95)。チャンネルの切り替えは情報出力装置2でチューナ部11に指示し、放送番組を切り替えることに相当する。情報取得部43はチューナ部11のチャンネル切り替えを検出し(ステップS96)、機器操作命令処理部12に対して切り替えたチャンネル番号を通知する。機器操作命令処理部12はIPコネクション管理部13を使って機器操作命令用コネクション(Websocketコネクション)で情報生成装置1に対してチャンネル番号を送信する(ステップS97)。
情報生成装置1はチャンネル番号を受信すると、先に述べたのと同じ手順でインターネット4上の不図示のサーバにチャンネル番号を送信し、その応答としてウェブアプリを受信する。そして、先に述べたのと同じ手順でウェブアプリの画面を映像ストリームとして情報出力装置2に送信する(ステップS98〜S100)。
情報生成装置1の入力受信部22でウェブアプリが終了させられると(ステップS101)、映像ストリーム(ウェブアプリの画面)の送信を中止する(ステップS102)。機器操作命令用コネクションで情報生成装置1のウェブアプリが終了したことを通知する(ステップS103)。
情報出力装置2は図17に示した二画面表示モードから一画面表示モードに切り替え、さらに入力をチューナ部11のみに切り替える(ステップS104)。
上述の実施形態では、情報生成装置1がウェブアプリの画面を映像ストリームとして生成し、情報出力装置2に送信する例を示した。これに対して、情報生成装置1がインターネット4上の不図示のサーバから受信した映像ストリームを情報出力装置2に送信し、情報出力装置2はチューナ部11で受信した放送コンテンツと、情報生成装置1から受信した映像コンテンツの二つを二画面モードで受信して画面出力部17に出力してもよい。この場合の情報出力装置2の画面表示例は図20のようになる。図20に示すように、情報出力装置2の画面出力部17はチューナ部11で受信した放送コンテンツと、情報生成装置1から受信した映像コンテンツの二つを二画面モードで受信して画面出力部17に同時に出力する。
図21は図20の画面表示を実現するための情報出力装置2の内部構成を示すブロック図である。図21の情報出力装置2は、図16の情報出力装置2にアプリ実行部41を追加したものである。このアプリ実行部41は図10に示した情報出力装置2内のアプリ実行部41と同様の機能を備えていればよい。
図22および図23は、図21の情報出力装置2を用いて、情報生成装置1がチューナ部11で受信した放送コンテンツと、情報生成装置1から受信した映像コンテンツの二つを二画面表示する場合の処理手順を示すシーケンス図である。
まず、情報生成装置1は、ウェブアプリを起動する(ステップS111)。起動したウェブアプリはウェブアプリ実行部36を使ってWebsocket処理部37に対して機器操作命令用コネクションを使い、ウェブアプリのURLを情報出力装置2に送信する(ステップS112)。このURLを受信する前は、情報出力装置2はチューナ部11で受信した映像ストリームを画面出力部17に表示している(ステップS113)。
情報出力装置2は受信した命令を解析し(ステップS114)、ウェブアプリ取得命令であることが分かると情報生成装置1から受信したURLを利用してウェブアプリ取得命令を送信してウェブアプリを取得する(ステップS115)。この処理はブラウザ部31のウェブアプリ取得部34を用いて行う。
情報出力装置2はウェブアプリをネットワークからダウンロードすると、ウェブアプリ実行部36でそのダウンロードしたウェブアプリを実行する(ステップS116)。
次に情報出力装置2のウェブアプリは映像ストリーム用のコネクションが情報生成装置1と確立されているか確認する(ステップS117)。この処理はウェブアプリからの指示に基づいて接続管理部15が行う。映像ストリーム用のコネクションが確立されていない場合は、情報生成装置1に対して機器操作命令用のコネクションを使って映像ストリーム用のコネクションを確立するように命令する。
次に、情報出力装置2のウェブアプリ実行部36で動作するウェブアプリは機器操作命令処理部12を介してチューナ部11からチャンネル情報を取得する(ステップS119)。そして機器操作命令用コネクション(Websocketコネクション)を使い、チャンネル番号を画面生成部27に送信する(ステップS120)。さらに情報出力装置2のウェブアプリは機器操作命令処理部12を介して、二画面モードに切り替え(ステップS121)、映像処理部16とチューナ部11の双方から画面出力部17にデータを入力するように設定する(ステップS122)。
情報生成装置1はチャンネル番号を受信すると放送番組のチャンネルに応じた映像ストリームをインターネット4上の不図示のサーバから受信する(ステップS123)。これは、情報生成装置1のウェブアプリがサーバにチャンネル番号を送信し、その応答として映像ストリームのURLを受信し、そのURLに対して映像ストリームの取得を要求するようにすればよい。情報生成装置1は受信した映像ストリームを映像ストリーム用のコネクションを用いて情報出力装置2に送信する(ステップS124)。
ここで、情報出力装置2が図1に示したリモコン装置でチャンネルを切り替えたとする(ステップS125)。情報取得部43はチューナ部11の番組切り替えを検出し、機器操作命令処理部12に対して切り替えたチャンネル番号を通知する(ステップS126)。機器操作命令処理部12はIPコネクション管理部13を使って機器操作命令用コネクションで情報生成装置1に対してチャンネル番号を送信する。
情報生成装置1はチャンネル番号を受信すると、先に述べたのと同じ手順でインターネット4上の不図示のサーバにチャンネル番号を送信し、その返答として映像ストリームを受信する(ステップS127)。そして、先に述べたのと同じ手順でサーバから受信した映像ストリームを情報出力装置2に送信する(ステップS128)。
情報生成装置1の入力受信部22でウェブアプリが終了させられると(ステップS129)、映像ストリームの送信を中止する。機器操作命令用コネクションで情報生成装置1のウェブアプリが終了したことを通知する(ステップS130)。
情報出力装置2は図18に示した二画面表示モードから一画面表示モードに切り替え(ステップS131)、さらに入力をチューナ部11のみに切り替える(ステップS132)。
上述した図22および図23の処理手順は、図17および図18の処理手順と比較して以下の点が異なっている。
1)図22および図23の処理手順では、情報出力装置2でウェブアプリを実行するが、図17および図18の処理手順では、情報出力装置2ではウェブアプリの実行を行わない。
2)情報出力装置2と情報生成装置1の間で映像ストリーム用のコネクションを確立するために、図22および図23の処理手順では、情報出力装置2からコネクションを張りに行くのに対して、図17および図18の処理手順では、情報生成装置1からコネクションを張りに行く。
このように、第3の実施形態では、情報出力装置2で受信していたチャンネル番号を情報生成装置1に送信して、そのチャンネル番号に対応する映像ストリームを情報生成装置1で取得して情報出力装置2に送信し、情報出力装置2は、チューナ部11の受信画像と情報生成装置1からの映像ストリームとを二画面表示するため、ユーザにとって関心の高い情報をリアルタイムで提供でき、利便性が向上する。
上述した実施形態で説明した情報生成装置1と情報出力装置2の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、装置の少なくとも一部の機能を実現するプログラムをフロッピーディスクやCD−ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の携帯可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
また、情報生成装置1と情報出力装置2の少なくとも一部の機能を実現するプログラムを、インターネット4等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット4等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
本実施形態の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本実施形態の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容およびその均等物から導き出される本実施形態の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。
1 情報生成装置、2 情報出力装置、3 情報処理システム、6 ネットワーク、11 チューナ部、12 機器操作命令処理部、13 IPコネクション管理部、14 映像コネクション管理部、15 接続管理部、16 映像処理部、17 画面出力部、18 機器検索処理部、21 IP処理部、22 入力受信部、23 アプリ実行部、24 IPコネクション管理部、25 映像コネクション管理部、26 接続管理部、27 画面生成部、28 画面出力部、31 ブラウザ部、32 機器検索処理部、33 ウェブアプリランチャー部

Claims (12)

  1. 映像データを取得するデータ取得部と、
    ウェブソケットコネクションを介して情報出力装置を操作するための機器操作命令を送信する第1インタフェース部と、
    前記情報出力装置で再生可能な映像データを前記情報出力装置に送信する第2インタフェース部と、
    前記ウェブソケットコネクションの確立と前記機器操作命令の前記情報出力装置への送信とを行うウェブアプリケーションを実行するアプリケーション実行部と、
    前記ウェブアプリケーションからの要求に基づいて行われる、前記第1インタフェース部を介して前記機器操作命令を送信するコネクションの確立と、前記第2インタフェース部を介して前記映像データを送信するコネクションの確立とが、同一の前記情報出力装置に対してなされた場合に、前記第2インタフェース部で前記映像データを前記情報出力装置に送信するコネクション管理部と
    前記アプリケーション実行部で実行可能なウェブアプリケーションの一覧を表示装置に表示させる第1画面出力部と、
    前記第1画面出力部で表示させたウェブアプリケーションの一覧の中から特定のウェブアプリケーションを選択するアプリ選択部と、
    前記アプリ選択部で選択されたウェブアプリケーションを提供するURLを前記アプリケーション実行部に通知するランチャー部と、
    前記データ取得部で取得した前記映像データを前記第2インタフェース部を介して前記情報出力装置に送信する準備が整った後は、前記情報出力装置を操作する情報を前記表示装置に表示させる第2画面出力部と、を備え
    前記第1画面出力部による前記表示装置の表示制御と、前記第2画面出力部による前記表示装置の表示制御とは、排他的に行われ、
    前記アプリケーション実行部は、前記ランチャー部により通知されたURLにアクセスしてウェブアプリケーションを取得して実行することにより、前記第1インタフェース部を介して前記前記機器操作命令を前記情報出力装置に送信するタイミングを決定するとともに、前記第2画面出力部が前記表示装置に表示させる前記情報出力装置を操作する情報を生成することを特徴とする情報生成装置。
  2. 前記機器操作命令は、前記情報出力装置が前記第2インタフェース部を介して入力される前記映像データを表示するか、あるいは前記情報出力装置内のチューナ部で受信した映像データを表示するかを切り替える入力切替命令を含むことを特徴とする請求項1に記載の情報生成装置。
  3. 前記第1および第2画面出力部による前記表示装置の表示制御とは排他的に行われ、取得可能な前記映像データの一覧情報を前記表示装置に表示させる第3画面出力部を備え
    前記アプリケーション実行部は、前記ランチャー部により通知されたURLにアクセスしてウェブアプリケーションを取得して実行することにより、前記第3画面出力部が前記表示装置に表示させる前記映像データの一覧情報を生成することを特徴とする請求項1または2に記載の情報生成装置。
  4. 前記アプリケーション実行部は、
    ブラウザを用いて前記ウェブアプリケーションを実行するブラウザ処理部と、
    前記ウェブアプリケーションには記述されていない当該情報生成装置に固有の処理を行う機器固有処理部と、を有することを特徴とする請求項1乃至3のいずれかに記載の情報生成装置。
  5. 前記機器固有処理部は、
    前記ウェブアプリケーションからの要求に応じて、前記第1インタフェース部を介して前記情報出力装置に対して前記情報出力装置の識別情報の送信を要求する機器検索処理部と、
    前記ウェブアプリケーションからの要求に応じて、前記機器操作命令を送信する前記第1インタフェース部を有する前記情報出力装置が前記第2インタフェース部を有するか否かを確認する接続確認部と、を有することを特徴とする請求項4に記載の情報生成装置。
  6. 前記アプリケーション実行部は、前記ウェブアプリケーションを実行することにより取得した映像データを、前記情報出力装置が再生可能なデータ形式に変換した上で、前記第2インタフェース部を介して前記情報出力装置に送信することを特徴とする請求項1乃至5のいずれかに記載の情報生成装置。
  7. 前記画面出力部に表示されたウェブアプリケーションの一覧から前記アプリケーション実行部で実行すべきウェブアプリケーションの選択と、映像データを前記第2インタフェース部を介して前記情報出力装置に送信する準備が整った後に前記情報出力装置の操作情報の選択とを行うタッチパネル入力部を備えることを特徴とする請求項1乃至6のいずれかに記載の情報生成装置。
  8. 前記情報出力装置から前記第1インタフェース部を介してウェブアプリケーションの取得要求を受信した場合には、該ウェブアプリケーションを前記情報出力装置に送信する第3インタフェース部を備え、
    前記ウェブアプリケーションは、前記映像データの取得先を示すURL(Universal Resource Locator)に関する記述を含み、
    前記アプリケーション実行部は、前記情報出力装置から前記第1インタフェース部を介して映像データの再生要求があった場合に、該映像データを前記ウェブアプリケーションに記述されたURLから取得して、前記第2インタフェース部を介して前記情報出力装置に送信することを特徴とする請求項1乃至7のいずれかに記載の情報生成装置。
  9. 前記アプリケーション実行部は、前記情報出力装置から前記第1インタフェース部を介して、前記情報出力装置で受信中の放送番組のチャンネル情報が送信されてきた場合に、予め指定したウェブサーバに該チャネル情報を送信するチャネル番号送信部と、
    前記チャネル番号の送信に応答して前記ウェブサーバから返送されたURLを取得するURL取得部と、
    前記URL取得部で取得されたURLにアクセスしてウェブアプリケーションを取得するアプリ取得部と、を備え、
    前記アプリケーション実行部は、前記アプリ取得部で取得したウェブアプリケーションを実行し、
    前記第2インタフェース部は、前記アプリケーション実行部がウェブアプリケーションを実行することにより取得した映像データを前記第2インタフェース部を介して前記情報出力装置に送信することを特徴とする請求項8に記載の情報生成装置。
  10. ウェブソケットコネクションを介して情報生成装置から送信された機器操作命令を受信する第1インタフェース部と、
    前記情報生成装置から送信された映像データを受信する第2インタフェース部と、
    前記第2インタフェース部で受信された映像データを表示するための映像処理を行う映像処理部と、
    ウェブアプリケーションからの要求に基づいて、前記第1インタフェース部を介して前記機器操作命令を送信するコネクションの確立と、前記第2インタフェース部を介して前記情報生成装置からの前記映像データを受信するコネクションの確立とが、同一の前記情報生成装置に対してなされた場合に、前記情報生成装置から前記第2インタフェース部を介して受信された映像データを表示する画面出力部と、
    放送番組を受信するチューナ部と、
    前記第1インタフェース部を介して受信された前記機器操作命令に含まれる入力切替命令に基づいて、前記チューナ部で受信した放送番組と、前記第2インタフェース部を介して受信された前記映像データとを切り替えて前記画面出力部に表示させる画像切替部と、
    前記画面出力部に前記情報生成装置から送信された映像データを表示している最中は、前記情報生成装置から前記第1インタフェース部を介して受信された前記機器操作命令に基づいて、機器操作処理を行う機器操作命令処理部と、を備えることを特徴とする情報出力装置。
  11. 前記画面出力部は、
    前記チューナ部で受信された放送番組を表示するための第1表示領域と、
    前記第2インタフェース部で受信された映像データを表示するための第2表示領域とを有することを特徴とする請求項10に記載の情報出力装置。
  12. 前記第2インタフェース部および前記映像処理部を有するドングル装置を別筐体として本体部から独立させ、前記ドングル装置と前記本体部との間では、前記映像処理部で映像処理された非圧縮の映像データを伝送することを特徴とする請求項10または11に記載の情報出力装置。
JP2012062548A 2012-03-19 2012-03-19 情報生成装置および情報出力装置 Expired - Fee Related JP5607095B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012062548A JP5607095B2 (ja) 2012-03-19 2012-03-19 情報生成装置および情報出力装置
US13/752,472 US20130246905A1 (en) 2012-03-19 2013-01-29 Information generator, information output device, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012062548A JP5607095B2 (ja) 2012-03-19 2012-03-19 情報生成装置および情報出力装置

Publications (2)

Publication Number Publication Date
JP2013197861A JP2013197861A (ja) 2013-09-30
JP5607095B2 true JP5607095B2 (ja) 2014-10-15

Family

ID=49158869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012062548A Expired - Fee Related JP5607095B2 (ja) 2012-03-19 2012-03-19 情報生成装置および情報出力装置

Country Status (2)

Country Link
US (1) US20130246905A1 (ja)
JP (1) JP5607095B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102022592B1 (ko) * 2013-03-04 2019-09-19 삼성전자주식회사 전자 장치에서 전송 정보를 관리하기 위한 방법 및 장치
JP6109617B2 (ja) 2013-03-26 2017-04-05 株式会社東芝 情報出力装置、情報操作装置、およびプログラム
JP6543617B2 (ja) * 2013-09-23 2019-07-10 サムスン エレクトロニクス カンパニー リミテッド 無線通信システムにおけるアプリケーション実行方法及び装置
US10469624B2 (en) * 2013-10-07 2019-11-05 Bose Corporation User interface control in a networked audio system
JP6400715B2 (ja) * 2014-01-14 2018-10-03 エルジー エレクトロニクス インコーポレイティド ネットワークにより連結された放送受信デバイスと他のデバイス間の連結を管理する方法及び装置
CN104954413B (zh) * 2014-03-31 2018-07-13 阿里巴巴集团控股有限公司 提供互联网应用服务的方法、系统、用户端设备及服务端
FR3019418A1 (fr) * 2014-03-31 2015-10-02 Orange Dispositif et procede de deport de la restitution de contenus multimedia
CN104010231A (zh) * 2014-04-30 2014-08-27 小米科技有限责任公司 数据同步方法及装置
FR3021831A1 (fr) * 2014-06-03 2015-12-04 Orange Procede et dispositif de partage d'application
US20160337424A1 (en) * 2015-05-13 2016-11-17 Qualcomm Incorporated Transferring media data using a websocket subprotocol
JP2017062759A (ja) * 2015-09-25 2017-03-30 株式会社カタリナ 携帯端末にプッシュ通知を行うための通知方法及び通知サーバ
CN109155872B (zh) * 2016-05-31 2022-02-22 索尼公司 信息处理设备和方法、电视接收器及信息处理系统
JP7142297B2 (ja) * 2019-07-09 2022-09-27 ソフトバンク株式会社 動画変換装置、動画変換装置の制御プログラムおよび放送番組生成方法
JP6888661B2 (ja) * 2019-11-07 2021-06-16 株式会社リコー 画像形成装置、ブラウザの制御方法およびプログラム
CN115103221B (zh) * 2022-06-28 2023-09-22 北京奇艺世纪科技有限公司 一种投屏方法、装置、电子设备及可读存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104334A (en) * 1997-12-31 2000-08-15 Eremote, Inc. Portable internet-enabled controller and information browser for consumer devices
JP2003244289A (ja) * 2002-02-19 2003-08-29 Toshiba Corp 携帯電話機の情報表示制御方法および外部装置に対する情報表示機能を有する携帯電話機および携帯電話機の情報表示機能を有する外部装置
JP2004222263A (ja) * 2002-12-26 2004-08-05 Toshiba Corp 通信装置と通信方法
US7743012B2 (en) * 2004-09-08 2010-06-22 Universal Electronics Inc. Configurable controlling device and associated configuration upload and download system and method
JP2006333101A (ja) * 2005-05-26 2006-12-07 Sharp Corp テレビジョン情報表示システムおよび装置ならびにリモコン装置
JP4553882B2 (ja) * 2006-10-25 2010-09-29 シャープ株式会社 携帯型電子機器,テレビジョン受像機,テレビジョン受像機操作システム
KR101407634B1 (ko) * 2007-09-20 2014-06-13 삼성전자주식회사 다중 채널의 영상을 동시에 재생하는 장치 및 방법
JP4479776B2 (ja) * 2007-10-05 2010-06-09 ソニー株式会社 表示装置および送信装置
US8792058B2 (en) * 2007-11-30 2014-07-29 Sony Corporation System and method for presenting guide data on a remote control
JP2009200788A (ja) * 2008-02-21 2009-09-03 Canon Inc 受信装置
JP2009284403A (ja) * 2008-05-26 2009-12-03 Sony Corp 情報処理装置、情報処理方法、プログラムおよびコンテンツ受信装置
JP2009290395A (ja) * 2008-05-28 2009-12-10 Kyocera Corp 無線通信システム、携帯通信端末および端末操作方法
US9106950B2 (en) * 2008-06-13 2015-08-11 Centurylink Intellectual Property Llc System and method for distribution of a television signal
US20110296484A1 (en) * 2010-05-28 2011-12-01 Axel Harres Audio and video transmission and reception in business and entertainment environments
US8554938B2 (en) * 2010-08-31 2013-10-08 Millind Mittal Web browser proxy-client video system and method
US20120066715A1 (en) * 2010-09-10 2012-03-15 Jain Shashi K Remote Control of Television Displays
US20120078953A1 (en) * 2010-09-24 2012-03-29 Rovi Technologies Corporation Browsing hierarchies with social recommendations
WO2012051539A2 (en) * 2010-10-14 2012-04-19 Cyandia, Inc. Methods, apparatus, and systems for presenting television programming and related information
CN102843398B (zh) * 2011-06-23 2017-08-25 索尼公司 遥控设备、远端设备、多媒体系统及其控制方法
US20130027315A1 (en) * 2011-07-25 2013-01-31 Arther Sing Hook Teng Techniques to display an input device on a mobile device
US20130067331A1 (en) * 2011-09-09 2013-03-14 Screenovate Technologies Ltd. Method and System of Simultaneous Display of Multiple Screens on a Target Display
US20130145407A1 (en) * 2011-12-06 2013-06-06 Sheng Han Method of outputting video content from a computing device to a playback device and related media sharing system

Also Published As

Publication number Publication date
US20130246905A1 (en) 2013-09-19
JP2013197861A (ja) 2013-09-30

Similar Documents

Publication Publication Date Title
JP5607095B2 (ja) 情報生成装置および情報出力装置
JP5073032B2 (ja) 情報出力装置、情報処理システムおよび情報処理方法
US11716497B2 (en) Control system for playing a data stream on a receiving device
JP5270608B2 (ja) コンテンツ再生制御システム、コンテンツ再生制御方法、コンテンツサーバ、携帯端末及びプログラム
JP4605273B2 (ja) 情報処理装置及び機能拡張方法
EP2469767B1 (en) Network System, Information Processing Apparatus, Content-Reproduction-Takeover Method, and Program
US20110302603A1 (en) Content output system, content output method, program, terminal device, and output device
KR20110059202A (ko) 단말 장치 및 그의 usb 기기 제어 방법
KR20070028077A (ko) 디지털 방송의 데이터 서비스가 가능한 dlna 시스템과그 데이터 서비스 처리 방법
US20100121942A1 (en) Content Reproduction Device and Content Reproduction Method
JP5453963B2 (ja) 情報端末
JP5009536B2 (ja) 情報処理システムおよび情報処理方法
KR101231821B1 (ko) 컨텐츠 이어보기 서비스 제공 방법 및 장치
JP2010056966A (ja) 画像コンテンツ送信サーバ、画像表示装置、画像コンテンツ送信方法、及び、画像表示方法
JP2009141856A (ja) 代理アクセス装置、代理アクセスシステム、映像装置
JP4774473B2 (ja) 機器登録方法及びサーバ装置
CN111654753B (zh) 一种应用程序启动方法及显示设备
EP2947843B1 (en) Server apparatus, display apparatus, system, and controlling methods thereof
US20130060910A1 (en) Content reproducing apparatus, content reproducing system, and control method thereof
JP5085680B2 (ja) コンテンツ再生装置およびコンテンツ再生方法
US20200213663A1 (en) Renderer device, renderer playback system and information updating method
JP2008011429A (ja) コンテンツ処理方法及びコンテンツ処理装置
JP2011223062A (ja) コンテンツ転送システム、コンテンツ転送システム制御方法およびその制御用プログラム
RU2715028C2 (ru) Сетевое устройство, способ обработки информации и устройство hdmi
JP2009282862A (ja) 情報処理システム、サーバ装置およびその制御方法、ならびに、クライアント端末およびその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140714

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140827

LAPS Cancellation because of no payment of annual fees