(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、この発明の一実施形態による放送通信連携システム1の構成を示す概略ブロック図である。放送通信連携システム1は、受信装置10、リモートコントローラ20、放送送出装置30、アプリ配信装置40、ネットワーク50を含んで構成される。なお、
図1では、受信装置10、リモートコントローラ20、放送送出装置30、アプリ配信装置40を、それぞれ1つずつ記載したが、いずれも複数であってもよい。なお、放送通信連携サービスの形態は複数存在するが、本実施形態の放送通信連携システム1では、ハイブリッドキャスト技術仕様に基づき、デジタル放送サービスと、インターネットなどによる通信サービスとが、受信装置10において連携する。
【0017】
放送送出装置30は、放送波を用いて放送サービスの信号である放送信号を送信する。放送サービスの信号では、符号化された映像、音声や、Webブラウザ上で実行されるアプリケーション(Webアプリケーション、Webアプリともいう)が配信される。アプリ配信装置40は、受信装置10からの要求に応じて、ネットワーク50を介して、Webブラウザ上で実行されるアプリケーションを送信する。ネットワーク50は、インターネットなどのネットワークであり、受信装置10とアプリ配信装置40とを通信可能に接続する。
【0018】
受信装置10は、テレビジョン受像装置など、放送サービスの信号を受信する装置である。受信装置10は、放送送出装置30またはアプリ配信装置40から配信されるアプリケーションを実行することで、ネットワーク50上のコンテンツを取得できるようになる。これにより、ユーザが放送通信連携サービスを利用できる。また、ハイブリッドキャストにおいては、アプリケーションとして、放送マネージドアプリと放送外マネージドアプリについて規定されているが、ここでは、放送外マネージドアプリに関して、主に説明する。
なお、受信装置10は、無線LAN等のネットワークを介して連携端末(タブレット、スマートフォンなど)と接続するが、ここでは省略する。
【0019】
リモートコントローラ20は、ユーザが受信装置10を操作するための入力デバイスである。例えば、リモートコントローラ20は、複数のボタンを有し、ユーザが押下したボタンに応じた赤外線の信号を出力する。リモートコントローラ20は、ボタンに替えて、タッチパネルなどその他の入力デバイスを有していてもよい。また、リモートコントローラ20は、赤外線ではなく、電波などその他の信号を出力してもよい。
【0020】
図2は、受信装置10の構成を示す概略ブロック図である。受信装置10は、放送受信部101、分離部102、映像復号部103、映像合成部104、映像表示部105、音声復号部106、音声合成部107、音声出力部108、放送通信連携部109、アプリケーション処理部110、通信入出力部111、放送外アプリ統合管理部112、リモコン入力制御部113を含んで構成される。
【0021】
放送受信部101は、放送信号を処理するモジュールであり、放送送出装置30より送出された放送信号をアンテナ(不図示)を介して受信する。分離部102は、放送受信部101が受信した放送信号を映像、音声、データといった各メディアの信号に分離する。映像復号部103は、分離部102が分離した映像の信号を復号する。音声復号部106は、分離部102が分離した音声の信号を復号する。
【0022】
通信入出力部111は、ネットワーク50を介して、アプリ配信装置40と通信する。受信装置10の各部がアプリ配信装置40と通信を行うときは、通信入出力部111を介して行う。放送外アプリ統合管理部112は、ネットワーク50を介してアプリ配信装置40から配信されるアプリケーションを処理するモジュールであり、放送外アプリケーションをユーザに提供するためのアプリロンチャーの管理を行う。
【0023】
アプリケーション処理部110は、アプリケーションを実行する。本実施形態では、アプリーションは、HTML(Hypertext Markup Language)、JavaScript(登録商標)、CSS(Cascading Style Sheets)などを用いてコーディングされたWebアプリケーションであり、アプリケーション処理部110はWebブラウザがWebアプリケーションを実行することで実現される。
【0024】
放送通信連携部109は、放送送出装置30が提供する放送サービスとアプリ配信装置40から取得したアプリケーションとを連携動作させる。ハイブリッドキャスト技術仕様(IPTVFJ STD-0011)では、受信中の放送信号に含まれるSI(Service Information)やイベントメッセージなどの情報へのアクセス手段、受信装置10の備える機能へのアクセス手段を提供する拡張API仕様が規定されている。放送通信連携部109は、アプリケーション処理部110に対して、この拡張API仕様と同様の機能を提供する。アプリケーション処理部110が、この機能(以降、拡張APIという)を使用する際には、そのとき実行しているアプリケーションの属性情報に応じたアクセス制御を行う。なお、拡張APIには、放送サービスが提供する情報(SI(Service Information)など)を取得する処理、自装置が受信する放送サービスを選択する処理、放送サービスの蓄積を予約する処理などがある。
【0025】
また、放送通信連携部109は、受信中の放送サービスの放送信号から、放送外アプリケーションの表示レイアウトを決定するためのレイアウト制御信号を取得し、アプリケーション処理部110に通知する。レイアウト制御信号としては、表示レイアウトを指定するIDが含められたEIT(Event Information Table)、AIT(Application Information Table)などが挙げられるが、これらに限られない。
【0026】
リモコン入力制御部113は、リモートコントローラ20が送信した信号を受信し、該信号をアプリケーション処理部110、放送外アプリ統合管理部112に通知する。映像合成部104は、アプリケーション処理部110がアプリケーションを実行して生成した映像と、映像復号部103が復号した映像とを合成する。なお、映像合成部104は、映像復号部103が復号した映像の配置を、アプリケーション処理部110が決定した表示レイアウトに従ったものにする。音声合成部107は、アプリケーション処理部110がアプリケーションを実行して生成した音声と、音声復号部106が復号した音声とを合成する。映像表示部105は、映像合成部104が合成した映像を表示する。音声出力部108は、音声合成部107が合成した音声を出力する。
【0027】
図3は、放送外マネージドアプリケーションの起動までの画面遷移例を示す遷移図である。ここでは、放送サービス表示状態の画面Aからの起動のシーケンスを説明する。画面Aを表示している状態において、ユーザがリモートコントローラ20の所定のボタンを押下すると、放送外アプリ統合管理部112からの指示によりアプリケーション処理部110は、起動するアプリケーションを選択するためのアプリロンチャーを起動する(アプリロンチャー起動状態の画面B)。
【0028】
アプリロンチャーは、アプリケーション処理部110で実行されるWebアプリケーションであり、放送外アプリ統合管理部112で管理される。ただし、本実施形態における説明において、特段の断りが無い限り、アプリロンチャーは、アプリケーションに含めない。アプリロンチャーは、リモートコントローラ20の専用ボタンが押されたとき、放送マネージドアプリケーションに張られたリンクが選択されたときなどに、アプリロンチャーは起動される。アプリロンチャーのプログラム(HTMLドキュメントなど)は、放送外アプリ統合管理部112により記憶されている。アプリロンチャーは起動されると、アプリケーション処理部110は、ユーザにより登録されたアプリケーションの一覧などを表示させる。具体的には、登録されたアプリケーションのURLのリンクが張られたアイコンが表示される。
【0029】
画面Bを表示している状態において、ユーザが、リモートコントローラ20を用いて、起動したいアプリケーションを選択・決定すると、アプリケーション処理部110は、選択決定されたアプリケーションを起動する(アプリケーション起動状態Cの画面C1、C2)。同様のシーケンスを繰り返すことにより、複数のアプリケーションが起動される。なお、状態Cにおいては、放送信号から前述したレイアウト制御信号を取得すると、アプリケーション処理部110は、該レイアウト制御信号に従い、表示レイアウトを変更する。
【0030】
図3では、状態Cにおいて、表示レイアウトの異なる画面の例として画面C1、C2を挙げている。画面C1は、放送サービスによる映像C11の右側に第1のアプリケーションによる画像C12と、第2のアプリケーションによる画像C13とが配置されている画面である。画面C2は、放送サービスによる映像C21の下側に、映像C21と一部重複して、第1のアプリケーションによる画像C22と、第2のアプリケーションによる画像C23とが配置されている画面である。
【0031】
また、画面Bに表示されるアプリケーションのURLは、予めユーザが指定し、ロンチャーに登録されている。具体的には、例えば、画面BにおけるボタンB1が選択されると、アプリケーション処理部110は、画面Dを表示させる。画面Dでは、アプリ配信装置40により提供されるアプリケーションの一覧が表示されている。画面Dにおける各アプリケーションのアイコンを選択することで遷移した画面Eにおいて、インストールボタンD1を選択すると、ロンチャーに登録される。
【0032】
図4に、アプリケーション処理部110の構成を示す概略ブロック図である。
図4は、2つのアプリケーションが実行されているときの、アプリケーション処理部110の構成を示す図である。アプリケーション処理部110は、Webブラウザ部120、統合管理部130、第1子フレーム部141、第2子フレーム部142を含んで構成される。統合管理部130は、放送連携仲介部151、アクセス制御部152、レイアウト制御部153、放送外アプリ管理部154を含んで構成される。
【0033】
Webブラウザ部120は、統合管理部130、各アプリケーション(第1アプリ161、第2アプリ162)を実行するためのHTML5に対応したWebブラウザである。
統合管理部130は、アプリケーションの管理と制御を行う。統合管理部130は、アプリケーション処理部110で実行されるWebアプリケーションであり、アプリロンチャーとして動作したり、表示レイアウトを制御したり、放送通信連携部109が提供する拡張APIをアプリケーションが使用する際のアクセス制御を行ったりする。なお、本実施形態における説明において、特段の断りが無い限り、統合管理部130は、アプリケーションに含めない。
【0034】
なお、Webブラウザ部120は、起動されたときに所定のURLで示されるWebアプリケーションのプログラム(HTMLドキュメントなど)を読み込み実行することで、統合管理部130を実現する。本実施形態では、該所定のURLは、例えば、http:/localhost/tougou.htmlというように、自装置内を示すURLであるが、外部装置のURLであってもよい。その場合、Webブラウザ部120は、ネットワーク50を介して、外部装置から読み込んだプログラムを実行することで、統合管理部130を実現する。
【0035】
第1子フレーム部141は、1つ目のアプリケーション(第1アプリ161)を表示する領域を管理する。第2子フレーム部142は、2つ目のアプリケーション(第2アプリ162)を表示する領域を管理する。第1子フレーム部141、第2子フレーム部142は、例えば、統合管理部130のHTMLドキュメント内にiframe(Inline Frame)を用いて記述される。1つの子フレームは、1つのアプリケーションを実行する。本実施形態では、子フレームは、予め複数個統合管理部130のHTMLドキュメント内に記述されているが、これに限らない。
【0036】
放送外アプリ管理部154(アプリ管理部)は、以下の4つの機能を有する。1つ目は、
図3の画面Bで示したアプリロンチャーとして動作する機能である。具体的には、アプリロンチャーは、起動されると、アプリ配信装置40に対してアカウントを通知し、アプリ配信装置40より、該ユーザが登録(インストール)したアプリケーションの一覧を取得して、表示させる。2つ目は、アプリ配信装置40が蓄積しているアプリケーションの一覧(
図3の画面D)を表示させ、その中から、ユーザが選択したアプリケーション(
図3の画面E)を登録する機能である。
【0037】
3つ目は、アプリロンチャーの画面(
図3の画面B)において、ユーザが選択したアプリケーションを、アプリ配信装置40から取得して子フレームの中にロードする機能である。このロードには、例えばJavaScript(登録商標)のonloadイベントを用いる。ロードする際には、放送外アプリ管理部154は、ロード先の子フレームの割当を行い、割り当てた子フレームのIDと、ロードしたアプリケーションのURLとを記憶する。放送外アプリ管理部154は、すでに割当のある子フレームに対してはアプリケーションを割り当てない。一方、放送外アプリ管理部154は、アプリケーションの終了時には割当を解除する。
【0038】
4つ目は、リモートコントローラ20でアプリケーションを操作するために、第1アプリ161、第2アプリ162、統合管理部130の間でフォーカスを移動させる機能である。放送外アプリ管理部154は、リモートコントローラ20への入力操作を、第1アプリ161、第2アプリ162、統合管理部130のうち、フォーカスが当たっているものに通知する。
【0039】
レイアウト制御部153は、表示レイアウトを、放送通信連携部109から取得したレイアウト制御信号に基づき制御する。なお、放送通信連携部109が取得するレイアウト制御信号は、受信中の放送サービスにより配信されたレイアウト制御信号である。すなわち、アプリケーションとともに表示する映像を配信している放送サービスにより配信されたレイアウト制御信号である。ここで、表示レイアウトは、放送サービスによる映像(放送画面)と、アプリケーション(第1アプリ161、第2アプリ162)による画像(アプリケーション画面)との表示画面中の配置のことである。なお、レイアウト制御部153は、放送サービスによる映像を配置する位置と大きさとを映像合成部104に通知する。レイアウト制御部153は、具体的には、統合管理部130のHTMLドキュメントに、複数の子フレームと放送サービスによる映像のオブジェクトとを記述し、各オブジェクトの位置や大きさをCSSで規定する。子フレームそれぞれには、アプリケーションが一つ割り当てられる。レイアウト制御部153は、このCSSを複数用意しておき、レイアウト制御信号が示すIDに応じて、使用するCSSを切り替えることでレイアウトの制御を行う。
【0040】
また、レイアウト制御部153は、子フレームのレイアウトを制御するだけでなく、Cross Document Messagingなどのframe間通信の機能を使い、子フレームの大きさや位置を子フレームの中で実行されるアプリケーション(第1アプリ161、第2アプリ162)に通知する。これにより、各アプリケーションは、割り当てられている子フレームの大きさや位置に合致した表示を行うことができる。
【0041】
放送連携仲介部151は、子フレーム(第1子フレーム部141、第2子フレーム部142)内のアプリケーション(第1アプリ161、第2アプリ162)に、放送通信連携部109が提供する拡張APIを提供する。子フレーム内のアプリケーションのドメインは、統合管理部130とドメインが異なるため、Webブラウザ部120のセキュリティ制限(サンドボックス)により直接放送通信連携部109の機能(拡張API)にアクセスできない。そこで、放送連携仲介部151は、Cross Document Messagingなどのframe間通信を用いて、各アプリケーションからの拡張APIへのアクセスを仲介する。このとき、放送連携仲介部151は、アクセス制御部152に対して、そのアプリケーションがアクセス可能か否かの照会を行う。
【0042】
アクセス制御部152は、いずれかのアプリケーションから、放送連携仲介部151を介した、放送通信連携部109が提供する拡張APIへのアクセスがあったときに、該アプリケーションが、該APIへのアクセス権限を有しているか否かを判定する。具体的には、アクセス制御部152は、判定の対象となるAPIと、該APIへのアクセスを許可するアプリのURLまたはその一部(例えばドメイン名)とを対応付けたリスト(以降、アクセス許可情報という)を保持しており、該リストを参照して判定する。
【0043】
なお、アクセス制御部152は、アプリケーションが起動された際には、どの子フレームにどのアプリケーションが割り当てられたのかを示す情報(子フレームのIDとアプリケーションのURLもしくはドメイン名の対応、以降、子フレーム対応情報という)を
レイアウト制御部153から取得する。放送連携仲介部151は、アクセス制御部152に対して子フレームのIDとアクセスしようとするAPIの情報をアクセス制御部152に対して照会する。アクセス制御部152は、アクセス許可情報、子フレーム対応情報を参照して、アクセス権限を有しているか否かの判定を行う。また、アクセス制御部152は、受信しているチャンネル(放送サービスのサービスID)や番組(イベント)ごとにアクセス許可情報を有し、受信している放送サービスのSI(Service Information)を放送通信連携部109から随時通知されることで、チャンネルや番組に応じたアクセス制御を行うようにしてもよい。
【0044】
図5は、アプリ配信装置40の構成を示す概略ブロック図である。アプリ配信装置40は、複数の種類のアプリケーションとユーザアカウントとを統合的に管理する。すなわち、アプリ配信装置40は、いわゆるアプリケーションマーケットを提供する。アプリ配信装置40は、ユーザアカウント管理部401、アプリ登録情報管理部402、アプリ蓄積部403、アプリ管理部404、アプリ配信部405を含んで構成される。
【0045】
ユーザアカウント管理部401は、アプリ配信装置40を利用するユーザのアカウント管理を行う。アプリ管理部404は、当該アプリ配信装置40に登録されているアプリケーションのロケーション(URL)、ID、名称、アイコンなどを管理する。アプリ登録情報管理部402は、ユーザアカウント管理部401とアプリ管理部404と連携し、ユーザごとに登録されているアプリケーションのリストを管理する。アプリ蓄積部403は、当該アプリ配信装置40に登録されているアプリケーションのプログラム(HTMLドキュメントなど)を蓄積する。アプリ配信部405は、受信装置10に対して、アプリケーションを配信する。
【0046】
図6は、アプリロンチャーを起動するまでのシーケンスを示すフローチャートである。本実施形態では、リモートコントローラ20にアプリロンチャー起動ボタンがある場合を説明する。リモコン入力制御部113が、リモートコントローラ20からの信号を受信し、アプリロンチャー起動ボタンの押下を検出する(Sa1)。次に、リモコン入力制御部113は、放送外アプリ統合管理部112を介して、放送外アプリ管理部154に、アプリロンチャー起動の指示を通知する(Sa2)。アプリロンチャー起動の指示を通知された放送外アプリ管理部154は、アプリ配信装置40のユーザアカウント管理部401に対して、ユーザアカウントを送信する(Sa3)。
【0047】
ユーザアカウントを受信したユーザアカウント管理部401は、該ユーザアカウントをアプリ登録情報管理部402に通知する(Sa4)。ユーザアカウントを通知されたアプリ登録情報管理部402は、該ユーザアカウントの登録されたアプリケーションを示す情報を、放送外アプリ管理部154に送信する(Sa5)。登録されたアプリケーションを示す情報を受信した放送外アプリ管理部154は、該情報を用いて、アプリロンチャーを起動する(Sa6)。
【0048】
図7は、アプリロンチャーを起動した状態からアプリケーションを起動している状態までのシーケンスを示すフローチャートである。放送外アプリ管理部154は、リモートコントローラ20を用いた、起動するアプリケーションの選択を検出する(Sb1)。次に、放送外アプリ管理部154は、検出した選択が示すアプリケーションのURLを取得する(Sb2)。次に、放送外アプリ管理部154は、該アプリケーションをロードする子フレームを決定する(Sb3)。次に、レイアウト制御部153は、放送通信連携部109から放送信号中のレイアウト制御信号を取得し、該レイアウト制御信号に従い、放送サービスによる映像と子フレームの位置、大きさをCSSで制御する(Sb4)。
【0049】
次に、放送外アプリ管理部154は、ステップSb2で取得したURLを参照してアプリケーションをアプリ配信装置40から取得する。放送外アプリ管理部154は、取得したアプリケーションを、ステップSb3で決定した子フレームにロードする(Sb5)。次に、レイアウト制御部153は、放送信号に対してレイアウト制御信号の検出処理を行う(Sb6)。次に、レイアウト制御部153は、検出したレイアウト制御信号が、以前のレイアウト制御信号から変更されているか否かを判定する(Sb7)。変更されていないと判定したときは(Sb7−No)、レイアウト制御部153は、ステップSb6に戻る。一方、変更されていると判定したときは(Sb7−Yes)、レイアウト制御部153は、新たなレイアウト制御信号に従い、放送サービスによる映像と子フレームの位置、大きさをCSSで制御する(Sb8)。次に、レイアウト制御部153は、アプリケーションに該アプリケーションが割り当てられている子フレームの位置、大きさを通知し(Sb9)、ステップSb6に戻る。
【0050】
図8は、アクセス制御部152が記憶するアクセス許可情報の例を示す表である。アクセス許可情報は、
図8の例に示すように、APIと、URLまたはその一部とを対応付けたリストである。
図8の例では、API「ReceiverDevice.getDeviceIdentifier」と、URLの一部「http://xxx.co.jp/」とを対応付けている。なお、API「ReceiverDevice.getDeviceIdentifier」は、受信装置10のIDを取得するAPIである。同様に、API「ReceiverDevice.tuneTo」と、URLの一部「http://xxx.co.jp/」とを対応付けている。なお、API「ReceiverDevice.tuneTo」は、受信する放送サービスを指定するAPIである。
また、API「Capabilities」のように、APIのメソッドまで指定せずに、オブジェクトが指定されるようにしてもよい。この場合、該オブジェクトの全てのメソッドが許可されていることを意味する。
【0051】
なお、アプリロンチャーなど、統合管理部130のプログラムは、放送外アプリ統合管理部112が記憶しているとして説明したが、放送外アプリ統合管理部112は、アプリロンチャーのプログラムへのURLのみを記憶していてもよい。アプリロンチャーを起動するときは、アプリケーション処理部110は、該URLを参照して、アプリロンチャーのプログラムを、ネットワーク50に接続されたサーバなどから取得する。
【0052】
また、
図3、
図4では、2つのアプリケーションが実行されている場合を示したが、1つのみが実行されてもよいし、3つ以上のアプリケーションが実行されてもよい。また、表示レイアウトは、レイアウト制御信号で指定されたIDと、実行されているアプリケーションの数とに応じて決まるようにしてもよい。例えば、画面C1のときと、レイアウト制御信号で指定されたIDが同じで、実行されているアプリケーションが1つのときに、画面C1における画像C12、画像C13、およびこれらの間の領域を含めた領域に、実行されているアプリケーションによる画像が配置されるようにしてもよい。
【0053】
本実施形態では、ハイブリッドキャストなどの放送通信連携サービスにおいて、放送外マネージドアプリケーションを同時に複数起動することができる。これにより、ユーザは同時に複数のサービスを表示して利用したり、複数のアプリケーションをウィジェットとして起動しておくことで、各アプリケーションに対する情報の更新があったときにすばやく情報を利用したりすることができ、ユーザにとってのサービスへのアクセシビリティと利便性が向上する。
【0054】
また、緊急地震速報やニュース速報などの緊急情報、または、CMの放送時にはアプリのオーバーレイをやめて放送映像を優先して表示したいという放送事業者の意思もある。本実施形態では、放送局が放送信号に多重するレイアウト制御信号によって表示する放送外マネージドアプリケーションの位置を制御できる。このため、ユーザによる受信装置10上での自由なアプリケーションの実行環境を提供する一方で、放送事業者の映像に対する意思を尊重することができる。
【0055】
また、放送外マネージドアプリケーションは放送通信連携機能を利用できる一方で、すべてのアプリケーションに利用を許可すると、ユーザが意図しないところで視聴ログを収集するような不適切なアプリケーションが提供される可能性がある。本実施形態では、APIごとにアプリケーションのアクセス制御をすることが可能であるため、プラットフォーム事業者や放送事業者の意図に従ってアクセス制御ができる。
【0056】
さらに、本実施形態では上記の機能をWeb技術(HTML、JavaScript(登録商標)、CSS)で実現できる。したがって、Webブラウザを搭載しているハイブリッドキャスト対応テレビであれば、ミドルウェアを改修することなくブラウザ上で本機能を実現できる。
【0057】
また、
図1における受信装置10、アプリ配信装置40の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより受信装置10、アプリ配信装置40を実現するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0058】
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0059】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。