JP6627950B2 - 送信装置および送信方法 - Google Patents

送信装置および送信方法 Download PDF

Info

Publication number
JP6627950B2
JP6627950B2 JP2018210494A JP2018210494A JP6627950B2 JP 6627950 B2 JP6627950 B2 JP 6627950B2 JP 2018210494 A JP2018210494 A JP 2018210494A JP 2018210494 A JP2018210494 A JP 2018210494A JP 6627950 B2 JP6627950 B2 JP 6627950B2
Authority
JP
Japan
Prior art keywords
application
broadcast
ait
xml
broadcast managed
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.)
Active
Application number
JP2018210494A
Other languages
English (en)
Other versions
JP2019050601A (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of JP2019050601A publication Critical patent/JP2019050601A/ja
Application granted granted Critical
Publication of JP6627950B2 publication Critical patent/JP6627950B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25816Management of client data involving client authentication
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • 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/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/4627Rights management associated to the content
    • 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
    • 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/485End-user interface for client configuration
    • H04N21/4858End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • 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

Description

本技術は、放送コンテンツの提示とともに、アプリケーション情報テーブルを用いてアプリケーションを実行することが可能な送信装置および送信方法に関する。
近年、放送コンテンツの再生と同時に、インターネット等のネットワークを通じて配信されるアプリケーションの実行を行うことを可能とする技術が知られている。このような技術として、ハイブリッドブロードバンド放送(Hybrid Broadcast Broadband TV、以下「HbbTV」と称する。)と呼ばれる技術が知られている。HbbTVの標準規格として、欧州では「ETSI TS 102 796」(非特許文献1参照。)が策定されている。また、我が国でもこれに相当する標準規格「IPTVFJ STD-0010」(非特許文献2参照。)、「IPTVFJ STD-0011」(非特許文献3参照。)が策定されている。
例えばHbbTVなどのように、放送コンテンツの再生と同時にアプリケーションが実行されるシステムでは、アプリケーションの起動から終了までのライフサイクルが、放送コンテンツに重畳されたAITセクション(Application Information Table)と呼ばれるデータ構造によって管理される。AITセクションを取得した情報端末は、AITセクションに含まれるアプリケーション制御用のコードをもとにアプリケーションの制御を行う。
また、放送AITセクションと同等の情報を有し、インターネットなど通信網を利用して受信機にアプリケーションに関する情報を提供するために最適なフォーマットとして、XML形式で記述されたXML−AITがある。
ETSI(European Telecommunications Standards Institute)「ETSI TS 102 796 V1.1.1 (2010-06)」http://www.etsi.org/deliver/etsi_ts/102700_102799/102796/01.01.01_60/ts_102796v010101p.pdf(平成23年10月21日閲覧) 一般社団法人IPTVフォーラム「放送通信連携システム仕様1.0 版」https://www.iptvforum.jp/download/input.html(平成25年12月4日閲覧) 一般社団法人IPTVフォーラム「IPTVFJ STD-0011 HTML5 ブラウザ仕様1.0 版」https://www.iptvforum.jp/download/input.html(平成25年12月4日閲覧)
今後、放送局以外の事業者、例えば端末メーカやサードパーティなどのアプリケーション事業者から、放送番組を何らかのかたちで利用するアプリケーションが提供されることが想定される。以後、このようなアプリケーションを「放送外マネージドアプリケーション」と呼ぶこととする。
しかし、このような放送外マネージドアプリケーションを利用したサービスを実際に運用するにあたっては、解決すべき様々な課題が未だ残されており、その対策が望まれている。
以上のような事情を鑑み、本技術の目的は、放送外マネージドアプリケーションを利用したサービスの品質を向上させることのできる送信装置および送信方法を提供することにある。
上記の課題を解決するために、本技術に係る送信装置は、放送信号を利用するアプリケーションの動作を制御する情報と、前記アプリケーションの画面制御方法のタイプを示す情報が少なくとも記述されたアプリケーション情報テーブルを送信する送信部を備え、前記画面制御方法のタイプは、画面全体の表示を制御するタイプ、画面における一部分の表示を制御するタイプ、画面表示をせずにスクリプトのみ実行するタイプを含むものである。
本技術に係る送信方法は、送信部が、放送信号を利用するアプリケーションの動作を制御する情報と、前記アプリケーションの画面制御方法のタイプを示す情報が少なくとも記述されたアプリケーション情報テーブルを送信し、前記画面制御方法のタイプは、画面全体の表示を制御するタイプ、画面における一部分の表示を制御するタイプ、画面表示をせずにスクリプトのみ実行するタイプを含む。
以上のように、本技術によれば、放送外マネージドアプリケーションを利用したサービスの品質を向上させることができる。
本実施形態の情報処理システムの概要を示す図である。 XML−AITのデータ構造を示す図である。 利用許諾情報記述子のシンタクスを示す図である。 セクションAITのデータ構造を示す図である。 外部アプリケーション制御記述子のシンタクスを示す図である。 アプリケーション制御コードの定義を示す図である。 本実施形態の情報処理装置の構成を示すブロック図である。 情報処理装置においてリモートコントローラのアプリショップ呼び出しボタンが操作されから、情報処理装置においてユーザにより選択された放送外マネージドアプリケーションが起動されるまでのアプリケーションサーバ、XML−AITサーバ、情報処理装置およびストアサーバの間でのやりとりの流れを示すシーケンス図である。 情報処理装置のアプリケーションコントローラによる処理手順を示すフローチャートである。 アプリケーションローンチャの例を示す図である。 放送外マネージドアプリケーションが起動されてから以後の放送リソースの利用許諾範囲の制御に関する放送局、アプリケーションサーバ、XML−AITサーバおよび情報処理装置の間でのやりとりの流れを示すシーケンス図である。 放送外マネージドアプリケーションの実行中にダイレクト選局操作が発生した場合の放送局、アプリケーションサーバ、XML−AITサーバ、および情報処理装置の間でのやりとりの流れを示すシーケンス図である。 放送外マネージドアプリケーションの実行中にダイレクト選局操作が発生した場合のアプリケーションコントローラの制御の流れを示すフローチャートである。 XML−AITの利用許諾情報記述子21の中のオーバーレイエリア情報に基づくオーバーレイエリアの設定例を示す図である。 オーバーレイエリアの第1の更新例を示す図である。 オーバーレイエリアの第2の更新例を示す図である。 オーバーレイエリアの第3の更新例を示す図である。 電子署名の生成と検証の仕組みについて説明するためのブロック図である。 専用モジュール方式の概念図である。 放送局公開鍵証明書記述子の構成を示す図である。 専用モジュール方式による放送局公開鍵証明書の取得および更新に関するフローチャートである。 データ放送拡張方式(その1)によるルート証明書記述子の構成を示す図である。 データ放送拡張方式(その1)による放送局公開鍵証明書の取得および更新に関するフローチャートである。 データ放送拡張方式(その2)によるルート証明書記述子の構成を示す図である。 データ放送拡張方式(その2)による放送局公開鍵証明書の取得および更新に関するフローチャートである。 電子署名およびハッシュ値の生成とこれらの検証の仕組みについて説明するための図である。 アプリケーションローンチャにおいて起動したい放送外マネージドアプリケーションが選択されてからXML−AITの有効期限をもとに放送外マネージドアプリケーションの起動の可否を決定するまでの制御の流れを示すフローチャートである。 アプリケーションタイプ記述子のシンタクスを示す図である。 全画面制御を説明するための図である。 全画面制御を説明するための図である。 部分画面制御を説明するための図である。 部分画面制御を説明するための図である。 部分画面制御を説明するための図である。 放送外マネージドアプリケーション(パッケージタイプ)の構成を説明する図である。 アプリケーション志向の放送外マネージドアプリケーションを、この放送外マネージドアプリケーションに対するユーザからの操作に応じた動作とともに説明するための図である 放送受信志向の放送外マネージドアプリケーションを、この放送外マネージドアプリケーションに対するユーザからの操作に応じた動作とともに説明するための図である。
以下、本技術の実施の形態を図面をもとに説明する。
<第1の実施形態>
[情報処理システム]
図1は、本実施形態の情報処理システムの構成を示す図である。
本実施形態の情報処理システム10は、放送局100と、インターネットなどの第1のネットワーク200と、アプリケーションサーバ300と、XML−AITサーバ400と、エッジルータ500と、LAN(Local Area Network)などの第2のネットワーク600と、放送用の受信機としての情報処理装置700と、ストアサーバ800とを有する。
放送局100(放送装置)は、例えば、地上波、衛星波、IP(Internet Protocol)ネットワークなどの通信媒体を介してデジタル放送信号を送信する放送設備(放送部)を有する。放送局100は、映像、音声、字幕などの各トランスポートストリームが多重化されたAVストリームと、AVストリームに付随するデータなどが重畳されたいわゆる放送ストリームを送出する。AVストリームに付随するデータとしては、HTML、BMLなどなどのマークアップ言語やJava(登録商標)スクリプトなどのスクリプト言語で記述された放送マネージドアプリケーションおよび起動後の放送外マネージドアプリケーションの動作を制御するためのセクション形式のAIT(Application Information Table)などが含まれる。以後、このAITを「セクションAIT」と呼ぶ。
なお、本実施形態において、映像、音声、字幕などの各トランスポートストリームが多重化されて伝送されるAVストリームのことを「放送コンテンツ」と呼び、この用語にはアプリケーション、セクションAITの意味は含まれないこととする。
ストアサーバ800は、情報処理装置700のユーザに、利用したい放送外マネージドアプリケーションを選択あるいは購入可能な環境を提供し、ユーザによって選択あるいは購入された放送外マネージドアプリケーションを利用するために必要な情報を付与するサービスを行う。「放送外マネージドアプリケーション」とは、放送リソースの制作者以外の者、例えば、端末メーカやサードパーティなどのアプリケーション事業者から提供されるアプリケーションである。放送外マネージドアプリケーションと上記の放送マネージドアプリケーションとの根本的な相違点は、放送マネージドアプリケーションが起動から終了までの動作が放送波により配信されるセクションAITによって管理されるのに対し、放送外マネージドアプリケーションは、ネットワークを通じて取得されるXML−AIT(Extensible Markup Language-Application Information Table)によって、少なくとも起動などの動作の制御が行われる点にある。
ストアサーバ800は、ユーザからの任意の放送外マネージドアプリケーションの利用のリクエストに対して、そのユーザの情報処理装置700に、当該放送外マネージドアプリケーションを利用可能とするために必要な情報を配信する。当該放送外マネージドアプリケーションを利用可能とするために必要な情報とは、例えば、放送外マネージドアプリケーションのXML−AITのロケーション情報などである。
XML−AITサーバ400は、第1のネットワーク200に接続可能とされている。XML−AITサーバ400は、情報処理装置700からのリクエストに応じて、XML−AITを第1のネットワーク200を通じて配信する。このXML−AITは放送外マネージドアプリケーションの少なくとも起動の制御をするための情報を含む。なお、セクションAITは、XML−AITに従って起動された放送外マネージドアプリケーションの起動後の動作を制御するための情報を含む場合がある。
アプリケーションサーバ300は、第1のネットワーク200に接続可能とされている。アプリケーションサーバ300は、情報処理装置700からのリクエストに応じて放送外マネージドアプリケーションを応答する。また、アプリケーションサーバ300は、放送マネージドアプリケーションを提供することも可能としてよい。
なお、ストアサーバ800、アプリケーションサーバ300およびXML−AITサーバ400は1つのサーバであってもよい。ストアサーバ800、アプリケーションサーバ300およびXML−AITサーバ400は、それぞれCPU、メインメモリ、データ記憶装置、ユーザインタフェースなどを備え、典型的なコンピュータとしての構成を備える。
エッジルータ500は、第1のネットワーク200と第2のネットワーク600とを接続するためのルータである。第2のネットワーク600は有線、無線を問わない。
情報処理装置700は、例えば、パーソナルコンピュータ、携帯電話、スマートフォン、テレビジョン装置、ゲーム機、タブレット端末、オーディオ・ビデオ再生機器などであるが、具体的な製品の形態は問わない。
情報処理装置700は、放送局100からデジタル放送信号を受信し、復調してトランスポートストリームを得る。情報処理装置700は、このトランスポートストリームから放送ストリームを分離し、デコードして情報処理装置700に接続される表示部(図示せず)及びスピーカ部(図示せず)や、記録装置(図示せず)に出力することが可能である。
なお、表示部、スピーカ部および記録装置はそれぞれ、情報処理装置700と一体であってもよいし、互いに独立した機器として直接又は第2のネットワーク600を介して情報処理装置700に接続されていてもよい。あるいは、表示部及びスピーカ部を有する機器(図示せず)が直接又は第2のネットワーク600を介して情報処理装置700に接続されていてもよい。
また、情報処理装置700は、取得したトランスポートストリームから放送マネージドアプリケーションやAITセクションを含むPSI/SIを抽出し、当該AITセクションを解釈して放送マネージドアプリケーションの制御を行うことが可能である。情報処理装置700は、放送マネージドアプリケーションが可視的なアプリケーションである場合には、この放送マネージドアプリケーションの実行により生成された映像信号を、上記放送コンテンツの映像信号及び字幕信号と合成して表示部に出力する。
また、情報処理装置700は、ユーザから与えられる指令に従ってストアサーバ800にアクセスすることによって、ユーザが利用したい放送外マネージドアプリケーションを選択あるいは購入することが可能である。情報処理装置700がストアサーバ800にアクセスして放送外マネージドアプリケーションを選択あるいは購入するタイミングは、放送ストリームのタイミングに依存しない。すなわち、任意である。
情報処理装置700は、放送外マネージドアプリケーションを選択あるいは購入により、その放送外マネージドアプリケーションを利用するために必要な情報として、ストアサーバ800から、当該放送外マネージドアプリケーションのためのXML−AITのロケーション情報を取得する。
情報処理装置700は、取得したXML−AITのロケーション情報を用いてXML−AITサーバ400にネットワークを通じてアクセスすることによってXML−AITを取得することができる。
さらに、情報処理装置700は、取得したXML−AITに記述されている、放送外マネージドアプリケーションのロケーション情報を用いてアプリケーションサーバ300にネットワークを通じてアクセスすることによって、当該XML−AITの制御対象である放送外マネージドアプリケーションを取得することができる。
さらに、情報処理装置700は、取得したXML−AITから制御対象である放送外マネージドアプリケーションのアプリケーション識別子を抽出し、受信されたトランスポートストリームに多重化された1以上のセクションAITの中から当該アプリケーション識別子を有するセクションAITを抽出する。情報処理装置700は、このセクションAITに従って、既に起動された放送外マネージドアプリケーションの動作を制御することも可能である。
ここで、放送外マネージドアプリケーションについて説明を補足する。
放送外マネージドアプリケーションは、パッケージタイプの放送外マネージドアプリケーションとウェブタイプの放送外マネージドアプリケーションとに大別される。
図34は、放送外マネージドアプリケーション(パッケージタイプ)の構成を説明する図である。
放送外マネージドアプリケーション30は、例えば、HTML(Hyper Text Markup Language)文書、BML文書(Broadcast Markup Language)、MHEG文書(Multimedia and Hypermedia information coding)などのマークアップ文書31,32と、このマークアップ文書31,32に紐付けられた、例えば、静止画、動画、音声、ベクター図形などのデータファイル33,34,35,36、Java(登録商標)スクリプトなどのスクリプトファイル37、さらにはCSS(Cascading Style Sheets)などのスタイルシート38などで構成される。
放送外マネージドアプリケーション30は1以上のページで構成される。各々のページはハイパーリンクによって互いに連結されることによって、全体として1つの放送外マネージドアプリケーション30を構成する。
パッケージタイプの放送外マネージドアプリケーション30は、放送外マネージドアプリケーション30を構成する全てのリソースファイルがパッケージ化されたものである。このパッケージは、アプリケーションサーバ300に配置され、情報処理装置700からの取得要求に応じて情報処理装置700に送付される。情報処理装置700は取得したパッケージを保存する。したがって、情報処理装置700は自身に保存されたパッケージ内の各リソースファイルにアクセスするだけで、放送外マネージドアプリケーション30を起動させることができる。
これに対し、ウェブタイプの放送外マネージドアプリケーションは、必要なリソースファイルがページ単位で情報処理装置700により取得されて起動されるアプリケーションである。取得されたページ単位のリソースファイルは、情報処理装置700に保存されることはない。放送外マネージドアプリケーションを起動させるために、情報処理装置700は、その都度、サーバに対して必要なページ単位のリソースファイルにアクセスする。
以降、主に、パッケージタイプの放送外マネージドアプリケーションを情報処理装置700が取得し、利用する場合を想定して説明を行う。
放送外マネージドアプリケーションは可視的な状態と不可視の状態をとり得る。可視的な状態とは、画面を通じてその放送外マネージドアプリケーションの動作をユーザが視ることのできる状態である。不可視の状態とは、放送外マネージドアプリケーションの動作を画面を通じてユーザが視ることができない状態である。
また、放送外マネージドアプリケーションは、情報処理装置700のユーザによる操作に従って提示する情報や機能を変えることができる双方向型アプリケーションでもよいし、ユーザに対して一方向に情報を提示するアプリケーションでもよい。
[XML−AITのデータ構造]
次に、XML−AITのデータ構造について説明する。
図2は、本実施形態のXML−AITのデータ構造を示す図である。
XML−AITには、放送外マネージドアプリケーション毎の、アプリケーション名(appName)、アプリケーション識別子(applicationId)、アプリケーション記述子(applicationDescriptor)、トランスポートプロトコル記述子(applicationTransport)、アプリケーションロケーション記述子(applicationLocation)、アプリケーションバウンダリ記述子(applicationBoundary)、アプリケーションスペシフィック記述子(applicationSpecificDescriptor)、アプリケーションユーセジ記述子(applicationUsageDescriptor)、利用許諾情報記述子21(broadcastResourcePermissionDescriptor)、有効期限(expireDate)22、親アプリケーションID(parentAppID)23、アプリケーションのハッシュ記述子(applicationHashDescriptor)24、およびアプリケーションタイプ記述子(applicationTypeDescriptor)25などが格納される。
アプリケーション記述子には、アプリケーションタイプ(applicationType)、アプリケーション制御コード(controlCode)26、アプリケーションの可視、不可視性を指定するフラグ(visibility)、アプリケーションがサービスに紐づいているかを示すフラグ(serviceBound)、アプリケーションの優先度(priority)、アプリケーションのバージョン(version)、アイコン情報(icon)、情報処理装置700がアプリケーションを記録またはキャッシュするための情報(storageCapability)などが格納される。
利用許諾情報記述子21は、放送外マネージドアプリケーションに放送リソースの利用が許諾されている場合に付加される記述子である。
有効期限22は、情報処理装置700がネットワークに接続されていないとき(オフライン時)、情報処理装置700にキャッシュされているXML−AITの有効期限を指定する情報である。
親アプリケーションID23は、有効期限が連動する関係を有する親の放送外マネージドアプリケーションのIDである。ここで、「有効期限が連動する関係」とは、例えば、
1.親の放送外マネージドアプリケーションの有効期限と同期して自放送外マネージドアプリケーションの有効期限とする。
2.親の放送外マネージドアプリケーションの有効期限が尽きたときに自放送外マネージドアプリケーションの有効期限が有効になる。
3.親の放送外マネージドアプリケーションの有効期限と同期して自放送外マネージドアプリケーションの有効期限が尽きる。
ことなどが挙げられる。
なお、この例では、親の放送外マネージドアプリケーションの有効期限の影響を自放送外マネージドアプリケーションが受ける場合を想定している。すなわち、自放送外マネージドアプリケーションの有効期限の影響を親の放送外マネージドアプリケーションが受けるかどうかは、その親の放送外マネージドアプリケーションのXML−AITの親アプリケーションIDに依存する。
図3は、利用許諾情報記述子21のシンタクスを示す図である。
利用許諾情報記述子21には、1以上のサービス利用許諾情報(Service_permission)と1以上のオーバーレイエリア情報(Overlay_area)を記述できる。
サービス利用許諾情報は、利用許諾の適用範囲を示すパーミッション指定単位(scope)を含む。パーミッション指定単位には次のものがある。
all:全ての放送事業者
affiliate:系列局
broadcaster:放送事業者
service:チャンネル
event:番組
series:シリーズ
パーミッション指定単位が"affiliate"である場合、どの系列局であるかが系列ID(affiation_id)により指定される。
パーミッション指定単位が"broadcaster"である場合には、どの放送事業者であるかが放送事業者ID(broadcaster_id)により指定される。
パーミッション指定単位が"service"である場合には、どのチャンネルであるかがネットワークID(network_Id)、トランスポートストリームID(transport_stream_id)およびサービスID(service_id)により指定される。
パーミッション指定単位が"event"である場合、どの番組であるかがネットワークID、トランスポートストリームID、サービスIDおよびイベントID(event_id)により指定される。
パーミッション指定単位が"series"である場合、どのシリーズであるかがネットワークID、トランスポートストリームID、サービスIDおよびシリーズID(series_id)により指定される。
サービス利用許諾情報には、さらに、パーミッションビットマップ(permission)が格納される。パーミッションビットマップは、サービス利用許諾情報のバイナリデータである。
パーミッションビットマップはアプリケーションコントローラ708のメモリに保持される。アプリケーションコントローラ708はこのメモリに保持されたパーミッションビットマップを参照して放送外マネージドアプリケーションによる放送リソースの利用範囲を制御する。
メモリに保持されたパーミッションビットマップは、放送外マネージドアプリケーションを起動後に情報処理装置700が取得するセクションAITの外部アプリケーション制御記述子に格納されたパーミッションビットマップと比較される。双方のパーミッションビットマップに差分があれば、セクションAITの外部アプリケーション制御記述子に格納されたパーミッションビットマップで、メモリのパーミッションビットマップが上書きされる。以後はこの上書きがされたパーミッションビットマップを参照して放送外マネージドアプリケーションによる放送リソースの利用範囲の制御がアプリケーションコントローラ708によって行われる。
これにより、例えば、放送外マネージドアプリケーションの提供者などの第三者によって作成されたXML−AITに設定された利用許諾情報の範囲を、放送局側がセクションAITを用いて動的に変更できる仕組みが実現される。
サービス利用許諾情報には、さらに、パーミッションエラー時の振る舞いに関する情報(Overlay_Permission_error_behaviour)が記述される。パーミッションエラー時の振る舞いに関する情報としては、例えば次のものがある。
app_off:アプリケーションを非表示にする。
video_off:放送リソースのビデオを非表示にする。
app_suspend:アプリケーションを非表示にし、アプリケーションの動作を一時停止する。
このように、パーミッションンエラーが発生したとき、放送リソースの少なくともビデオが非表示の状態とされるため、実質的に放送リソースの利用が不可の状態となる。
次に、オーバーレイエリア情報(Overlay_area)について説明する。
オーバーレイエリア情報はオーバーレイエリアを定義するための情報である。オーバーレイエリアとは、放送外マネージドアプリケーションを表示してよい表示画面上の領域のことである。言い換えれば、オーバーレイエリアは、主に放送映像が表示される領域の上に重ねて設定される領域である。
オーバーレイエリアを定義するための情報としては、エリアID(areaId)、HTMLアプリケーション内の要素のID(elementId)、エリア左上水平座標(upper_left_horizontal)、エリア左上垂直座標(upper_left_vertical)、エリア水平サイズ(horizontal_size)およびエリア垂直サイズ(vertical_size)などがある。
エリアIDはオーバーレイエリアを識別するための識別子である。
HTMLアプリケーション内の要素のIDは、オーバーレイエリアと紐付けられる放送外マネージドアプリケーションまたは放送外マネージドアプリケーション内の要素を特定する識別子である。
エリア左上水平座標とエリア左上垂直座標はオーバーレイエリアの左上角の座標を指定する情報である。
エリア垂直サイズとエリア水平サイズはオーバーレイエリアの縦横のサイズを指定する情報である。
[XML−AITの電子署名]
XML−AITには、改ざんを検出するための電子署名が添付される。電子署名としては、例えばXML署名などが用いられる。XML署名の形式は、XML−AITに対して独立したdetached署名、XML−AITを包含した形式を有するenveloping署名、XML−AITに包含された形式のenveloped署名のいずれであるかを問わない。なお、XML−AITのフォーマットへの影響を抑えるにはdetached署名を採用するのがよい。
情報処理装置700のアプリケーションコントローラ708は、リファレンス検証(Reference Validation)と署名検証(Signature Validation)とを含むコア検証(Core Validation)の手続きに従って、XML署名を検証する。
リファレンス検証とは、リソース(XML−AIT)に正規化変換プロセス(Transform)及びダイジェスト計算アルゴリズム(DigestMethod)を適用することにより、リファレンス(Reference)のダイジェスト値(DigestValue)を検証する方式である。リファレンス検証により得られた結果と、登録されたダイジェスト値(DigestValue)とが比較され、これらが一致しない場合、検証失敗となる。
署名検証とは、署名情報(SignatureInfo)要素をXML正規化アルゴリズム(CanonicalizationMethod)で指定された正規化方式でシリアル化し、鍵情報(KeyInfo)等を用いて鍵データを取得し、署名アルゴリズム(SignatureMethod)で指定された方式を用いて署名を検証する方式である。
[セクションAITの構成]
図4はセクションAITのデータ構造を示す図である。
セクションAITは、テーブルID(table_id)、セクションシンタックス指示(section_syntax_indicator)、セクション長(section_length)、アプリケーションタイプ(application_type)、バージョン番号(version_number)、カレントネクスト指示(current_next_indicator)、セクション番号(section_number)、最終セクション番号(last_section_number)、共通記述子領域41(descriptor)、アプリケーション情報ループ長(application_loop_length)、アプリケーション識別子(application_identifier)、アプリケーション制御コード42(application_control_code)、アプリケーション記述子(application_descriptor)などが格納される。
共通記述子領域41には、放送外マネージドアプリケーションの動作を制御するための外部アプリケーション制御記述子(External_application_control_descriptor)が格納される。
[外部アプリケーション制御記述子のシンタクス]
図5は、外部アプリケーション制御記述子(External_application_control_descriptor)のシンタクスを示す図である。
外部アプリケーション制御記述子には、記述子タグ(descriptor_tag)、記述子長(descriptor_length)、パーミッションビットマップ数(permission_bitmap_count)、パーミッションビットマップ58(permission_bitmap)などが記述される。
セクションAITに記述されるパーミッションビットマップ58は、情報処理装置700において既に起動されている放送外マネージドアプリケーションによる放送リソースの利用許諾の範囲を示すバイナリデータ、すなわち、サービス利用許諾情報のバイナリデータである。このパーミッションビットマップは、情報処理装置700のアプリケーションコントローラ708のメモリに既に保持されているパーミッションビットマップと比較される。
なお、XML−AITのパーミッションビットマップとセクションAITのパーミッションビットマップには、パーミッションエラー時の振る舞いに関する情報のバイナリデータが含まれていてもよい。但し、この実施形態では、XML−AITの方にのみ、パーミッションエラー時の振る舞いに関する情報のバイナリデータがパーミッションビットマップに含まれるようにした。
外部アプリケーション制御記述子には、オーバーレイエリアに関する情報として、オーバーレイ許可極性(overlay_admission_polarity)、オーバーレイ制御エリア数(overlay_contolled_area_count)が記述される。
オーバーレイ許可極性は、セクションAITで定義されるオーバーレイエリアを利用できるエリアとするか、利用できないエリアとするかを指定する情報である。
オーバーレイ制御エリア数は、オーバーレイエリアの数を指定する情報である。
外部アプリケーション制御記述子には、さらに、オーバーレイエリアに関する情報として、オーバーレイエリアタグ(overlay_controlled_area_tag)、エリア左上水平座標(upper_left_horizontal)、エリア左上垂直座標(upper_left_vertical)、エリア水平サイズ(horizontal_size)およびエリア垂直サイズ(vertical_size)などが記述される。
オーバーレイエリアタグは、オーバーレイエリアを識別するタグ情報である。
エリア左上水平座標、エリア左上垂直座標、エリア水平サイズおよびエリア垂直サイズの各々が指定する情報は、XML−AITの利用許諾情報記述子において同じ名前の記述子と同じである。
外部アプリケーション制御記述子には、さらに、ブラック・ホワイトアプリケーションリスト数(bw_application_list_count)、アプリケーションID(application_identifier)、ブラック・ホワイト極性(black_white_polarity)などが記述される。
ブラック・ホワイトアプリケーションリスト数は、放送リソースの利用を許諾する、または禁止するアプリケーションの数を指定する情報である。
アプリケーションIDは、放送リソースの利用を許諾する、または禁止するアプリケーションのアプリケーションIDである。
ブラック・ホワイト極性は、放送リソースの利用を許諾する、または禁止するかのいずれかを指定する情報である。例えば、オーバーレイ許可極性として、オーバーレイエリアを利用できる極性が指定されている場合であっても、特定の放送外マネージドアプリケーションに対してブラック・ホワイト極性によって"禁止"が指定されている場合には、その特定の放送外マネージドアプリケーションによる放送リソースの利用は禁止される。また、オーバーレイ許可極性として、オーバーレイエリアを利用できない極性が指定されている場合であっても、特定の放送外マネージドアプリケーションに対してブラック・ホワイト極性によって"許諾"が指定されている場合には、その特定の放送外マネージドアプリケーションによる放送リソースの利用は許諾される。
[アプリケーション制御コードの定義]
アプリケーションのライフサイクルは、XML−AITおよびセクションAITに格納されるアプリケーション制御コード26、42をもとに、情報処理装置700によって動的に制御される。
図6はアプリケーション制御コード26、42の定義を示す図である。
同図に示すように、アプリケーション制御コード26、42としては、"AUTOSTART"、"PRESENT"、"DESTROY"、"KILL"、"PREFETCH"、"REMOTE"、"DISABLED"、"PLAYBACK_AUTOSTART"が標準規格上存在する。これらアプリケーション制御コードの定義は以下のとおりである。
"AUTOSTART"は、サービスの選択に伴いアプリケーションを自動で起動することを指示するコードである。アプリケーションが既に実行されている場合にはこの限りでない。
"PRESENT"は、サービスが選択されている間、アプリケーションを実行可能な状態とすることを指示するコードである。但し、対象のアプリケーションは、サービスの選択に伴って自動的にアプリケーションは起動されず、ユーザからの起動の指示を受けて起動される。
"DESTROY"は、アプリケーションの終了の許可を指示するコードである。
"KILL"は、アプリケーションの強制的な終了を指示するコードである。
"PREFETCH"は、アプリケーションのキャッシュを指示するコードである。
"REMOTE"は、現在のトランスポートストリームでは取得できないアプリケーションであることを示すコードである。そのアプリケーションは、別のトランスポートストリームあるいはキャッシュから取得して利用可能となる。
"DISABLED"は、アプリケーションの起動を禁止することを示すコードである。
"PLAYBACK_AUTOSTART"は、ストレージ(記録装置)に録画された放送コンテンツの再生に伴いアプリケーションを起動させるためのコードである。
[情報処理装置700の構成]
図7は本実施形態の情報処理装置700の構成を示すブロック図である。
情報処理装置700は、放送インタフェース701、デマルチプレクサ702、出力処理部703、映像デコーダ704、音声デコーダ705、字幕デコーダ706、通信インタフェース707、アプリケーションコントローラ708(コントローラ)を有する。
放送インタフェース701(放送受信部)は、アンテナ及びチューナを有し、これらを用いてユーザにより選局されたデジタル放送信号を受信する。放送インタフェース701は、受信したデジタル放送信号に対して復調処理などを施して得たトランスポートストリームをデマルチプレクサ702に出力する。
デマルチプレクサ702は、トランスポートストリームから放送コンテンツのストリームパケット、アプリケーションのパケット、AITセクションのパケットをそれぞれ分離する。デマルチプレクサ702は、放送コンテンツのストリームパケットから映像ES(Elementary Stream)、音声ES、字幕ESを分離する。デマルチプレクサ702は、映像ESを映像デコーダ704に、音声ESを音声デコーダ705に、字幕ESを字幕デコーダ706に、そしてアプリケーションのパケット、およびAITセクションを含むPSI/SI(Program Specific Information/Service Information)のパケットをアプリケーションコントローラ708にそれぞれ分配する。
映像デコーダ704は、映像ESをデコードして映像信号を生成し、生成した映像信号を出力処理部703に出力する。音声デコーダ705は、音声ESをデコードして音声信号を生成し、生成した音声信号を出力処理部703に出力する。
字幕デコーダ706は、字幕ESをデコードして字幕信号を生成し、生成した字幕信号を出力処理部703に出力する。
放送インタフェース701、デマルチプレクサ702、出力処理部703、映像デコーダ704、音声デコーダ705、字幕デコーダ706は、放送コンテンツを受信し提示する処理を行う放送コンテンツ処理部である。
通信インタフェース707は、LANなどの第2のネットワーク600を通じて外部の機器と通信を行うためのインタフェースである。通信インタフェース707は無線による通信、有線による通信を問わない。
アプリケーションコントローラ708(コントローラ)は、アプリケーションの制御に関する処理を行うコントローラである。
出力処理部703は、映像デコーダ704からの映像信号、音声デコーダ705からの音声信号、字幕デコーダ706からの字幕信号及びアプリケーションコントローラ708からの映像信号や音声信号等を合成し、情報処理装置700に接続された記録装置(図示せず)、表示部及びスピーカ部(図示せず)に出力する。
上記の情報処理装置700の少なくともアプリケーションコントローラ708を含む構成の一部または全ては、CPU(Central Processing Unit)およびメモリを有するコンピュータと、このコンピュータをアプリケーションコントローラ708などとして機能させるプログラムとにより提供される。
[情報処理システム10の動作]
次に、本実施形態の情報処理システム10の動作を説明する。
動作の説明は、以下の順番で行うこととする。
1.放送外マネージドアプリケーションの取得
2.放送リソースの利用許諾範囲の制御(その1)
3.放送リソースの利用許諾範囲の制御(その2)
4.オーバーレイエリアの制御
5.電子署名の生成と検証
6.XML−AITの有効期限の管理
7.アプリケーションタイプによる制御
(1.放送外マネージドアプリケーションの取得)
図8は情報処理装置700においてリモートコントローラのアプリショップ呼び出しボタンが操作されから、情報処理装置700においてユーザにより選択された放送外マネージドアプリケーションが起動されるまでのアプリケーションサーバ300、XML−AITサーバ400、情報処理装置700およびストアサーバ800の間でのやりとりの流れを示すシーケンス図である。
例えば、情報処理装置700のリモートコントローラの所定のボタンには、アプリケーションサーバ300が運営するアプリケーションストアのURLなどのロケーション情報が予め紐付けられたアプリショップ呼び出しボタンが設けられている。ユーザによって、リモートコントローラのアプリショップ呼び出しボタンが操作されると、情報処理装置700のアプリケーションコントローラ708は、このアプリショップボタンに紐付けられたロケーション情報を用いてストアサーバ800にアクセスすることによってアプリストア画面を取得し、これを情報処理装置700の表示部に表示させる。
アプリストア画面には、1以上の放送外マネージドアプリケーションが、機能の説明、利用条件などの各種情報とともに提示されている。このアプリストア画面で、ユーザは所望の放送外マネージドアプリケーションを選択することができる。この後、ユーザは、例えば、当該放送外マネージドアプリケーションが有料のアプリケーションである場合には、例えば購入などの手続きを行う。なお、無料の放送外マネージドアプリケーションである場合には購入などの手続きは不要であることは言うまでもない。
ストアサーバ800は、当該放送外マネージドアプリケーションを情報処理装置700にて利用可能なアプリケーションとするために、例えば、当該放送外マネージドアプリケーションの名前、アイコン情報(ビットマップ画像)、当該放送外マネージドアプリケーションの動作を制御するXML−AITの置き場所を示すURLなどのロケーション情報などを含むアプリケーション情報を当該ユーザの情報処理装置700に応答する。
情報処理装置700のアプリケーションコントローラ708は、ストアサーバ800から応答されたアプリケーション情報を保存する。
なお、情報処理装置700のアプリケーションコントローラ708は、続けてアプリストア画面で別の放送外マネージドアプリケーションを選択し、ストアサーバ800から応答された当該別の放送外マネージドアプリケーションのアプリケーション情報を取得し、保存することができる。
図9は、アプリケーションローンチャが表示されてから以後の情報処理装置700のアプリケーションコントローラ708による処理手順を示すフローチャートである。
情報処理装置700のリモートコントローラの別の所定のボタンには、アプリケーションローンチャを表示させるためのアプリケーションローンチャボタンが設けられている。このアプリケーションローンチャボタンが情報処理装置700のユーザによって操作されると、アプリケーションコントローラ708は、保存されている各々のアプリケーション情報をもとに図10に示したようなアプリケーションローンチャ61を生成し、情報処理装置700の表示部に表示するように制御を行う(図9のステップ101)。
図10はアプリケーションローンチャの例を示す図である。
同図に示すように、アプリケーションローンチャ61は、選択可能な放送外マネージドアプリケーションのメニュー画面である。ここで、App1−App8は、個々の放送外マネージドアプリケーションの選択用のアイコンである。アイコンの近傍には当該放送外マネージドアプリケーションの名前や機能説明文などが表示される。各々の選択用のアイコンApp1−App8には、対応する放送外マネージドアプリケーションの動作を制御するXML−AITの置き場所を示すURLなどのロケーション情報が紐付けられている。
表示されたアプリケーションローンチャ61において、ユーザにより起動させたい放送外マネージドアプリケーションのアイコンが選択されると、アプリケーションコントローラ708は、その選択された放送外マネージドアプリケーションを認識する(図9のステップS102)。
情報処理装置700のアプリケーションコントローラ708は、アプリケーションローンチャ61においてユーザにより選択されたアイコンに紐付けられたロケーション情報を用いて、上記ユーザにより選択された放送外マネージドアプリケーションの動作を制御するXML−AITの取得要求を生成し、XML−AITサーバ400に送信する。XML−AITサーバ400は、情報処理装置700からのXML−AITの取得要求を受けて、該当するXML−AITを含む応答を情報処理装置700に返信する(図9のステップS103)。このようにして情報処理装置700は、ユーザにより選択された放送外マネージドアプリケーションの動作を制御するXML−AITを取得することができる。
続いて、情報処理装置700のアプリケーションコントローラ708は、取得したXML−AITに記述されているアプリケーションのロケーション情報をもとにアプリケーションサーバ300にアクセスすることによって、放送外マネージドアプリケーションを取得する(図9のステップS104)。
ここで、取得される放送外マネージドアプリケーションが、パッケージング化されたアプリケーションである場合を想定する。パッケージング化されたアプリケーションとは、このアプリケーションの実行に必要なすべての情報(HTML5、スクリプト、画像など)が情報処理装置700に保存(インストール)されて実行される形式のアプリケーションである。
放送外マネージドアプリケーションの取得後、アプリケーションコントローラ708は、取得した放送外マネージドアプリケーションを、XML−AITに記述されたアプリケーション制御コード"AUTOSTART"に従って起動する(図9のステップS105)。
以上が、情報処理装置700においてリモートコントローラのアプリショップ呼び出しボタンが操作されから、情報処理装置700においてユーザにより選択された放送外マネージドアプリケーションが起動されるまでの動作の説明である。
(2.放送リソースの利用許諾範囲の制御(その1))
図11は、放送外マネージドアプリケーションが起動されてから以後の放送リソースの利用許諾範囲の制御に関する放送局100、アプリケーションサーバ300、XML−AITサーバ400、および情報処理装置700の間でのやりとりの流れを示すシーケンス図である。
アプリケーションコントローラ708は、放送外マネージドアプリケーションを起動させた後、放送外マネージドアプリケーションからの放送リソースのアクセス要求を監視する(図9のステップS106)。アプリケーションコントローラ708は、放送外マネージドアプリケーションからの放送リソースのアクセス要求を検出すると(図9のステップS106のY)、この放送リソースに対応する放送局公開鍵証明書が情報処理装置700内のメモリに保存されているかどうかを調べる(図9のステップS107)。
情報処理装置700のアプリケーションコントローラ708は、放送局公開鍵証明書が情報処理装置700内のメモリに保存されていない場合には、目的の放送局公開鍵証明書がデータカルーセルで伝送されてくるのを待つ。アプリケーションコントローラ708は、目的の放送局公開鍵証明書を受信すると、これをメモリに保存する(図9のステップS108)。
アプリケーションコントローラ708は、実行中の放送外マネージドアプリケーションに添付された電子署名を、メモリに保存された放送局公開鍵証明書を用いて検証する(図9のステップS110)。もし電子署名の検証に失敗した場合(図9のステップS111のN)、アプリケーションコントローラ708は、当該放送外マネージドアプリケーションが放送局によって認証されていないものとして、その放送局のすべての放送リソースのアクセスを禁止するように設定をする(図9のステップS112)。放送リソースのアクセスを禁止された状態では、放送外マネージドアプリケーションが起動されても放送リソースへのアクセスは不可の状態となる。
電子署名の検証に成功した場合(ステップS111のY)、アプリケーションコントローラ708は、XML−AITに記述された利用許諾情報記述子21の中のサービス利用許諾情報をもとに、放送外マネージドアプリケーションによってアクセス要求された放送リソースへのアクセスの可否を判定する(図9のステップS113)。
なお、XML−AITに記述された利用許諾情報記述子21の中のサービス利用許諾情報は、アプリケーションコントローラ708のメモリにパーミッションビットマップ(バイナリデータ)として保持されている。アプリケーションコントローラ708は、このパーミッションビットマップを参照して放送外マネージドアプリケーションによってアクセス要求された放送リソースへのアクセスの可否を判定する。
ここで、例えば、サービス利用許諾情報の中のパーミッション指定単位が"service"である場合を想定する。この場合、利用許諾情報記述子21の中のサービス利用許諾情報によって、チャンネルを特定するための情報がネットワークID、トランスポートストリームIDおよびサービスIDにより指定されている。ここで、そのチャンネルを"チャンネルx"とする。この例では、放送外マネージドアプリケーションがアクセス要求するチャンネルが"チャンネルx"ならば、アプリケーションコントローラ708はそのアクセス要求を許可して、"チャンネルx"へのアクセスを許可する。
もし、その他のチャンネルが放送外マネージドアプリケーションによってアクセス要求された場合には、アプリケーションコントローラ708は、パーミッションエラーが発生したことを判定する。この場合、アプリケーションコントローラ708は、利用許諾情報記述子21の中のサービス利用許諾情報に格納された、パーミッションエラー時の振る舞いに関する情報に従って、放送外マネージドアプリケーションの動作を制御する。
このようにして、アプリケーションコントローラ708は、電子署名の検証に成功した場合に、XML−AITのサービス利用許諾情報をもとに許可された範囲で、放送外マネージドアプリケーションが放送リソースをアクセスするように制御を行う(図9のステップS114)。
一方、放送局100からは情報処理装置700にて起動中の放送外マネージドアプリケーションの動作を制御するためのセクションAITが周期的に送出される。セクションAITの送出周期は例えば100ms程度とされている。セクションAITは、バージョン番号によって世代が管理されている。アプリケーションコントローラ708は、最後に取得したセクションAITのバージョン番号を保持し、この保持されているバージョン番号と異なるバージョン番号を有するセクションAITを受信する(図9のステップS115)。
アプリケーションコントローラ708は、受信したセクションAITに外部アプリケーション制御記述子が付加されているかどうかを確認する(図9のステップS116)。外部アプリケーション制御記述子が付加されていない場合(図9のステップS116のN)、XML−AITに格納された利用許諾情報記述子21(メモリに保持されたパーミッションビットマップ)に基づく放送リソースの利用許諾の制御が継続される。
取得したセクションAITに外部アプリケーション制御記述子が付加されている場合(図9のステップS116のY)、アプリケーションコントローラ708は、この外部アプリケーション制御記述子のパーミッションビットマップと、メモリに保持されたパーミッションビットマップとを比較する(図9のステップS117)。アプリケーションコントローラ708は、双方のパーミッションビットマップに差分があれば(図9のステップS117のY)、外部アプリケーション制御記述子のパーミッションビットマップでメモリのパーミッションビットマップを更新する(図9のステップS118)。これにより、放送局の側が意図する放送リソースの利用許諾範囲が情報処理装置700において設定される。
なお、外部アプリケーション制御記述子のパーミッションビットマップと、メモリに保持されたパーミッションビットマップとの差分がない場合には(図9のステップS117のN)、メモリに保持されたパーミッションビットマップはそのままにして、このパーミッションビットマップに基づく放送リソースの利用許諾の制御が継続される。
この後、例えば、ユーザによるリモコンの操作によるアプリケーションの終了指示や別のアプリケーションへの遷移などが発生すると(図9のステップS120のYES)、情報処理装置700のアプリケーションコントローラ708は放送外マネージドアプリケーションを終了させる(図9のステップS122)。
また、情報処理装置700のアプリケーションコントローラ708は、放送外マネージドアプリケーションの実行中に取得したセクションAITに"AUTOSTART"、"DESTROY"、"KILL"以外のアプリケーション制御コードが記述されている場合には、そのアプリケーション制御コードに従って放送外マネージドアプリケーションの状態を遷移させるなどの処理を行った後(図9のステップS121)、次のセクションAITを待機する。
以後、受信されたセクションAITについても同様の処理が行われる。
その後、同一チャンネル(チャンネルx)内での番組の切り替わり(番組A→番組B)が発生した場合にも、その番組Bの切り替わり後に取得したセクションAITについて同様の処理が繰り返される。
また、チャンネルの切り替えが発生した場合も、そのチャンネルの切り替わり後に取得したセクションAITについて同様の処理が繰り返される。
(3.放送リソースの利用許諾範囲の制御(その2))
放送外マネージドアプリケーションが実行中であるとき、例えば、ユーザのマニュアル操作などによって放送チャンネルが切り替えられる操作(ダイレクト選局操作)が行われることがある。
図12は、放送外マネージドアプリケーションの実行中にダイレクト選局操作が発生した場合の放送局100、アプリケーションサーバ300、XML−AITサーバ400、および情報処理装置700の間でのやりとりの流れを示すシーケンス図である。図13は放送外マネージドアプリケーションの実行中にダイレクト選局操作が発生した場合のアプリケーションコントローラ708の制御の流れを示すフローチャートである。
放送外マネージドアプリケーションの実行中にダイレクト選局操作が発生したとき(図13のステップS201)、情報処理装置700のアプリケーションコントローラ708は、このダイレクト選局された放送チャンネルに対応する放送局公開鍵証明書が情報処理装置700内のメモリに保存されているかどうかを調べる(図13のステップS202)。
情報処理装置700のアプリケーションコントローラ708は、放送局公開鍵証明書が情報処理装置700内のメモリに保存されていない場合には、目的の放送局公開鍵証明書が切り替えられた放送チャンネルのデータカルーセルなどで伝送されてくるのを待ち、データカルーセルなどによって伝送されてきた目的の放送局公開鍵証明書を受信すると、これをメモリに保存する(図13のステップS203)。
なお、ここでは、データカルーセルで放送局公開鍵証明書が伝送されてくる例を示したが、予め指定されたサーバから公開鍵証明書を取得するなど、通信を用いた公開鍵証明書を取得するようにしてもよい。
アプリケーションコントローラ708は、実行中の放送外マネージドアプリケーションに添付された電子署名を、メモリに保存された放送局公開鍵証明書を用いて検証する(図13のステップS205)。この電子署名の署名に失敗した場合(図13のステップS206のN)、アプリケーションコントローラ708は、当該放送外マネージドアプリケーションを終了させる(図13のステップS209)。
電子署名の署名に成功した場合(図13のステップS206のY)、アプリケーションコントローラ708は、放送外マネージドアプリケーションの動作を継続させ、パーミッションビットマップをもとに許可された範囲で、放送外マネージドアプリケーションが放送リソースをアクセスするように制御を行う(図13のステップS207)。
以後の動作は、図9のステップS120より以降と同じである。
また、図13に示すように、放送外マネージドアプリケーションの動作中、例えば、放送外マネージドアプリケーションに組み込まれたスクリプトの実行、あるいは、ユーザのマニュアル操作などによって、別の放送外マネージドアプリケーションへの遷移の指示が発生することがある。この場合、アプリケーションコントローラ708は、上述したアプリケーションローンチャから放送外マネージドアプリケーションがユーザにより選択された場合と同様に制御を行う。
(4.オーバーレイエリアの制御)
既に説明したように、XML−AITおよびセクションAITには、放送外マネージドアプリケーションを表示させてもよい表示画面Dにおける領域をオーバーレイエリアとして定義するためのオーバーレイエリア情報(Overlay_area)を記述することができる。
図14はXML−AITの利用許諾情報記述子21の中のオーバーレイエリア情報をもとにしたオーバーレイエリアの設定例を示す図である。
この設定例では、areaId=1とareaId=2の2つのオーバーレイエリアが存在する。各々のオーバーレイエリアは、エリア左上水平座標(upper_left_horizontal)、エリア左上垂直座標(upper_left_vertical)、エリア水平サイズ(horizontal_size)およびエリア垂直サイズ(vertical_size)によって表示画面Dにおける領域が定義される。
アプリケーションコントローラ708は、XML−AITの利用許諾情報記述子21の中のオーバーレイエリア情報(Overlay_area)をもとに、各々のオーバーレイエリアを作成する。
アプリケーションコントローラ708は、放送外マネージドアプリケーションの起動後に取得したセクションAITの共通記述子領域41(descriptor)の外部アプリケーション制御記述子(External_application_control_descriptor)に含まれるオーバーレイエリアに関する情報をもとに、あらためてオーバーレイエリアを作成することができる。すなわち、放送局100の意図するオーバーレイエリアに更新することができる。
図15はオーバーレイエリアの第1の更新例を示す図である。
この例では、XML−AITの利用許諾情報記述子21の中のオーバーレイエリア情報(Overlay_area)をもとにオーバーレイエリア1が作成される。さらに、オーバーレイエリア1内には放送外マネージドアプリケーションの表示領域2が設けられていることとする。
例えばチャンネル切り替えなどの後、アプリケーションコントローラ708は、受信したセクションAITの外部アプリケーション制御記述子に含まれるオーバーレイエリアに関する情報をもとに、既存のオーバーレイエリア1に代えて新たなオーバーレイエリア3を作成する。
アプリケーションコントローラ708は、オーバーレイエリア1からオーバーレイエリア3への変更が発生した場合、自身に予め組み込まれたプログラムに従って、新しく作成されたオーバーレイエリア3内に放送外マネージドアプリケーションの表示領域2を移動させるように制御を行う。
なお、放送外マネージドアプリケーションの表示領域2の位置はアプリケーションコントローラ708によって制御される。例えば、予め決められた位置に放送外マネージドアプリケーションの表示領域2が配置されるように制御される。同時に複数の放送外マネージドアプリケーションの表示領域2が表示される場合には、アプリケーションコントローラ708によって互いの位置が排他的に制御される。
図16は、オーバーレイエリアの第2の更新例を示す図である。
この例では、アプリケーションコントローラ708は、セクションAITの外部アプリケーション制御記述子に含まれるオーバーレイエリアに関する情報をもとに、既存のオーバーレイエリア1からオーバーレイエリア3への変更が発生した場合、自身に予め組み込まれたプログラムに従って以下の制御を行う。
まず、アプリケーションコントローラ708は、表示画面Dの例えば全面を放送映像表示エリア4として使用していた状態から、放送映像表示エリア4を縮小させ、これによりできた空き領域をアプリケーション表示エリア5として設定する。アプリケーションコントローラ708は、放送外マネージドアプリケーションの表示領域2を、外部アプリケーション制御記述子のオーバーレイエリアに関する情報に拠らず、アプリケーション表示エリア5に表示させるように制御を行う。
これにより、放送映像表示エリア4の映像の上に放送外マネージドアプリケーションが重ねて表示されることを回避できる。
図17は、オーバーレイエリアの第3の更新例を示す図である。
この例は、XML−AITのオーバーレイエリア情報をもとに表示画面Dの全画面を使用するオーバーレイエリア1が設定されている場合を想定する。このオーバーレイエリア1の全体に放送外マネージドアプリケーションの表示領域2が割り当てられており、その一部に放送映像表示エリア4が設定される。
アプリケーションコントローラ708は、例えば、チャンネル切り替えなどの後に受信したセクションAITの外部アプリケーション制御記述子に含まれるオーバーレイエリアに関する情報をもとに、既存のオーバーレイエリア1に代えて新たなオーバーレイエリア3を作成する。
このとき、アプリケーションコントローラ708は、自身に予め組み込まれたプログラムに従って、放送映像表示エリア4を表示画面Dの全画面に設定し、放送外マネージドアプリケーションの表示領域2を非表示の状態にする。これにより、放送映像表示エリア4の映像が放送外マネージドアプリケーションによって一部隠れてしまうことを回避できる。また、この第3の更新例において、放送外マネージドアプリケーションを構成する(elementIdで指定される)子要素がオーバーレイエリア3の位置に指定されている場合、その子要素を表示させるようにしてもよい。
(5.電子署名の生成と検証)
次に、電子署名の生成と検証について説明する。
図18は電子署名の生成と検証の仕組みについて説明するためのブロック図である。
XML−AITサーバ400およびアプリケーションサーバ300はアプリケーション制作者が所有する一台のサーバであってもよく、別々のサーバであってもよい。ここでは、XML−AITサーバ400およびアプリケーションサーバ300を総称して「サーバ」と呼ぶ。サーバは、典型的なコンピュータの構成を有する機器である。したがって、CPU、メインメモリ、HDDなどのストレージデバイス、マウスやキーボードなどの入力装置、液晶ディスプレイなどの表示部などで構成される。メインメモリおよびストレージデバイスには、OS(Operating System)、サーバ用のアプリケーションプログラムなどのソフトウェア、情報処理装置700に提供される放送外マネージドアプリケーション、アプリケーション毎のXML−AITのファイル、署名生成鍵などが格納される。
サーバは、署名付きアプリケーション生成部350を有する。署名付きアプリケーション生成部350は、具体的にはメインメモリにロードされたプログラムと、このプログラムを実行するCPUとで実現される。
アプリケーション制作者は、放送外マネージドアプリケーション351とXML−AIT355について放送局100に対して認証を依頼する。
放送局100は、アプリケーション制作者より依頼された認証の対象である放送外マネージドアプリケーション351とXML−AIT355の内容を精査し、問題がなければ、ルートCA900(図1)より発行された秘密鍵と放送局公開鍵証明書のペアのうち秘密鍵を署名生成鍵357として署名生成器356に設定する。署名生成器356は放送外マネージドアプリケーション351について署名用のハッシュ関数を用いてダイジェストを生成し、このダイジェストを署名生成鍵(秘密鍵)357で暗号化してXML署名358を生成する。放送局100は、生成したXML署名358をサーバに応答する。署名付きアプリケーション生成部350は、放送局100より応答されたXML署名358を放送外マネージドアプリケーション351に付加して電子署名付きのアプリケーション360を生成し、情報処理装置700に配信する。
情報処理装置700のアプリケーションコントローラ708は、サーバより取得した電子署名付きのアプリケーション360から署名生成器753にてXML署名を抽出し、このXML署名を放送局公開鍵証明書から取り出した署名検証鍵である公開鍵754を用いて検証して署名検証結果755を得る。
次に、放送局100から情報処理装置700に放送局公開鍵証明書を伝送する方法について説明する。
放送局100から情報処理装置700に放送局公開鍵証明書を伝送する方法には、専用モジュール方式、データ放送拡張方式(その1)、データ放送拡張方式(その2)などがある。
(専用モジュール方式)
図19は専用モジュール方式の概念図である。
専用モジュール方式では、データ放送番組がユーザにより選択された時最初に起動させるべきスタート文書を含むモジュールであるcomponent_tag=0x40に、放送局公開鍵証明書43を伝送するための専用のモジュール(例えばmodule_id=0xFFFEなど)44が新たな配置される。
また、上記の専用モジュールで配布する放送局公開鍵証明書の更新を情報処理装置700に知らせるために、放送局公開鍵証明書記述子がDII(Download Info Indication)が配置される。
図20は、放送局公開鍵証明書記述子の構成を示す図である。
放送局公開鍵証明書記述子(broadcast certificate_descriptor)は放送局公開鍵証明書を識別するID(broadcaster_certificate_id)および放送局公開鍵証明書のバージョン(broadcaster_certificate_version)を含む。
図21は専用モジュール方式による放送局公開鍵証明書の取得および更新に関するフローチャートである。
まず、情報処理装置700のアプリケーションコントローラ708は、データカルーセルで伝送されるDIIのモジュール情報を監視する(ステップS401)。情報処理装置700のアプリケーションコントローラ708は、DIIのモジュール情報に放送局公開鍵証明書記述子が含まれていることを検出すると(ステップS402のY)、この放送局公開鍵証明書記述子を解析し、この放送局公開鍵証明書記述子の中からIDとバージョンをそれぞれ抽出する(ステップS403)。
アプリケーションコントローラ708は、メモリに既に格納されている放送局公開鍵証明書のIDと今回取得したIDとを比較し、IDが一致した放送局公開鍵証明書がメモリに格納されているかどうかを調べる(ステップS404)。該当する放送局公開鍵証明書が格納されていない場合(ステップS405のN)、アプリケーションコントローラ708は、データカルーセルで伝送される放送局公開鍵証明書を取得し、メモリに格納する(ステップS406)。この後、DIIのモジュール情報の監視状態に戻る。
該当する放送局公開鍵証明書が格納されている場合(ステップS405のY)、アプリケーションコントローラ708は、メモリに格納されている放送局公開鍵証明書のバージョンを確認する(ステップS407)。アプリケーションコントローラ708は、確認した放送局公開鍵証明書のバージョンと今回取得した放送局公開鍵証明書のバージョンとを比較し、放送局公開鍵証明書のバージョンアップの発生の有無を判定する(ステップS408)。
放送局公開鍵証明書のバージョンアップが発生していないことが判定された場合は(ステップS408のN)、アプリケーションコントローラ708はDIIのモジュール情報の監視状態に戻る。
放送局公開鍵証明書のバージョンアップが発生したことを判定した場合(ステップS408のN)、アプリケーションコントローラ708はデータカルーセルで伝送される放送局公開鍵証明書を取得し、メモリに格納する(ステップS409)。この後、DIIのモジュール情報の監視状態に戻る。
以上のようにして、情報処理装置700は、IDの異なる1以上の種類の最新バージョンの放送局公開鍵証明書を取得し、メモリに格納することができる。
(データ放送拡張方式(その1))
図22はデータ放送拡張方式(その1)によるルート証明書記述子の構成を示す図である。
データ放送拡張方式(その1)は、ルート証明書記述子のroot_certificate_typeに新しいサービスの公開鍵証明書を伝送するための拡張を施し、そこに放送局公開鍵証明書を識別するID(broadcaster_certificate_id)および放送局公開鍵証明書のバージョン(broadcaster_certificate_version)を記述するようにしたものである。
図23はデータ放送拡張方式(その1)による放送局公開鍵証明書の取得および更新に関するフローチャートである。
まず、情報処理装置700のアプリケーションコントローラ708は、データカルーセルで伝送されるDIIのルート証明書記述子を監視する(ステップS501)。情報処理装置700のアプリケーションコントローラ708は、DIIのルート証明書記述子を検出すると(ステップS502のY)、このルート証明書記述子を解析し、このルート証明書記述子に新しいサービスを示す値(root_certificate_type = 2)が記述されているかどうかを判定する(ステップS503)。新しいサービスを示す値(root_certificate_type = 2)が記述されていなければデータ放送の処理を行い(ステップS504)、その後、DIIのルート証明書記述子の監視状態に戻る。
ルート証明書記述子に新しいサービスを示す値(root_certificate_type = 2)が記述されている場合、アプリケーションコントローラ708は、ルート証明書記述子の中から放送局公開鍵証明書のIDとバージョンをそれぞれ抽出する(ステップS505)。以降のステップS506からステップS511までの動作は、専用モジュール方式のステップS404からステップS409と同じであるため、説明を省略する。
アプリケーションコントローラ708は、メモリに既に格納されている放送局公開鍵証明書のIDと今回取得したIDとを比較し、IDが一致した放送局公開鍵証明書がメモリに格納されているかどうかを調べる(ステップS404)。該当する放送局公開鍵証明書が格納されていない場合(ステップS405のN)、アプリケーションコントローラ708は、データカルーセルで伝送される放送局公開鍵証明書を取得し、メモリに格納する(ステップS406)。この後、DIIのルート証明書記述子の監視状態に戻る。
該当する放送局公開鍵証明書が格納されている場合(ステップS405のY)、アプリケーションコントローラ708は、メモリに格納されている放送局公開鍵証明書のバージョンを確認する(ステップS407)。アプリケーションコントローラ708は、確認した放送局公開鍵証明書のバージョンと今回取得した放送局公開鍵証明書のバージョンとを比較し、放送局公開鍵証明書のバージョンアップの発生の有無を判定する(ステップS408)。
放送局公開鍵証明書のバージョンアップが発生していないことが判定された場合は(ステップS408のN)、アプリケーションコントローラ708はDIIのモジュール情報の監視状態に戻る。
放送局公開鍵証明書のバージョンアップが発生したことを判定した場合(ステップS408のN)、アプリケーションコントローラ708はデータカルーセルで伝送される放送局公開鍵証明書を取得し、メモリに格納する(ステップS409)。この後、DIIのモジュール情報の監視状態に戻る。
以上のようにして、情報処理装置700は、IDの異なる1以上の種類の最新バージョンの放送局公開鍵証明書を取得し、メモリに格納することができる。
(データ放送拡張方式(その2))
データ放送拡張方式(その2)は、ルート証明書記述子の中でデータ放送向け公開鍵証明書を伝送できる格納領域のうち、固定の1つの格納領域が新しいサービス向けに割り当てられ、そこに放送局公開鍵証明書を識別するID(broadcaster_certificate_id)および放送局公開鍵証明書のバージョン(broadcaster_certificate_version)が記述される。また、例えば図24に示すように、ルート証明書記述子に新たなフラグ(broadcaster_certificate_flag)が配置される。例えば、このフラグの値が"1"であるとき、放送局公開鍵証明書が伝送されることを示し、フラグの値が"0"であるとき、放送局公開鍵証明書が伝送されないことを示す。
図25は、データ放送拡張方式(その2)による放送局公開鍵証明書の取得および更新に関するフローチャートである。
まず、情報処理装置700のアプリケーションコントローラ708は、データカルーセルで伝送されるDIIのルート証明書記述子を監視する(ステップS601)。情報処理装置700のアプリケーションコントローラ708は、DIIのルート証明書記述子を検出すると(ステップS502のY)、このルート証明書記述子を解析し、フラグ(broadcaster_certificate_flag)の値を確認する。フラグの値が"0"である場合、アプリケーションコントローラ708はデータ放送の処理を行い(ステップS504)、その後、DIIのルート証明書記述子の監視状態に戻る。
フラグの値が"0"である場合、アプリケーションコントローラ708は、ルート証明書記述子の中でデータ放送向け公開鍵証明書を伝送できる複数の格納領域のうち予め決められた格納領域から、放送局公開鍵証明書のIDとバージョンをそれぞれ抽出する(ステップS605)。以降のステップS606からステップS611までの動作は、専用モジュール方式のステップS404からステップS409と同じであるため、説明を省略する。
以上のようにして、情報処理装置700は、IDの異なる1以上の種類の最新バージョンの放送局公開鍵証明書を取得し、メモリに格納することができる。
(XML−AITに電子署名を添付して検証を行う方式)
上記の方式ではアプリケーションに電子署名が添付されることとしたが、XML−AITに電子署名を添付してもよい。この方式によると、1つのアプリケーションに対して、複数の放送局が放送リソースの利用を許可する場合には、XML−AITには放送リソースの利用を許可するすべての放送局の電子署名が添付される。
この方式では、アプリケーションの改ざんを直接に検出することができない。そこでアプリケーションのハッシュ値をXML−AITに埋め込み、情報処理装置700において、アプリケーションの実体から計算されるハッシュ値とXML−AITに埋め込まれて通知されるハッシュ値とを比較することで、アプリケーションの改ざんを間接的に検出することが可能である。以下、この方式について説明する。
図26はXML−AITに添付される電子署名およびハッシュ値の生成とこれらの検証の仕組みについて説明するための図である。
サーバは、署名付きAIT生成部350Aを有する。署名付きAIT生成部350Aは、具体的にはメインメモリにロードされた、電子署名およびハッシュ値の生成を行うプログラムと、このプログラムを実行するCPUとで実現される。
署名付きAIT生成部350Aは、放送外マネージドアプリケーション351Aの実体から所定のハッシュ演算器352Aを用いてハッシュ値353Aを算出する。ハッシュのアルゴリズムとしては、例えばFIPS PUB 180-1,180-2で標準規格化されているSHA-1やSHA-2などがある。
署名付きAIT生成部350Aは、当該放送外マネージドアプリケーション351AのXML−AIT362Aにハッシュ値353Aを合成して、ハッシュ値付きのXML−AIT355Aを生成する。
アプリケーション制作者は、放送外マネージドアプリケーション351AとXML−AIT355Aについて放送局100Aに対して認証を依頼する。
放送局100は、アプリケーション制作者より依頼された認証の対象である放送外マネージドアプリケーション351AとXML−AIT355Aの内容を精査し、問題がなければ、ルートCA900(図1参照)より発行された秘密鍵と放送局公開鍵証明書のペアのうち秘密鍵を署名生成鍵357Aとして署名生成器356Aに設定する。署名生成器356AはXML−AIT355Aについて署名用のハッシュ関数を用いてダイジェストを生成し、このダイジェストを署名生成鍵(秘密鍵)357Aで暗号化してXML署名358Aを生成する。放送局100Aは、生成したXML署名358Aをサーバに応答する。
サーバの署名付きAIT生成部350Aは、放送局100Aより応答されたXML署名358Aをハッシュ値付きのXML−AIT355Aに付加して電子署名付きのXML−AIT360Aを生成し、情報処理装置700Aに配信する。
情報処理装置700のアプリケーションコントローラ708Aは、サーバより取得した放送外マネージドアプリケーション351Aから所定のハッシュ演算器751A(ハッシュ関数)を用いてハッシュ値752Aを算出する。ここで用いられるハッシュ関数は、サーバの署名付きAIT生成部350Aのハッシュ演算器352Aのそれと同じである必要がある。そこでアプリケーションコントローラ708Aは、サーバより取得した電子署名付きのXML−AIT360Aに記述されたハッシュアルゴリズムを確認して、ハッシュ演算器751A(ハッシュ関数)のハッシュアルゴリズムとの整合がとれているかどうかを判定する。もしハッシュアルゴリズムの不整合が判定された場合、アプリケーションコントローラ708Aはハッシュ演算器751A(ハッシュ関数)を切り替えてサーバの署名付きAIT生成部350Aのハッシュ演算器352Aのそれと整合させる。
アプリケーションコントローラ708Aは、サーバより取得した電子署名付きのXML−AIT360Aから抽出したハッシュ値353Aとハッシュ値752Aとをハッシュ比較器756Aを用いて比較し、一致/不一致の結果757Aを得る。
アプリケーションコントローラ708Aは、署名生成器753Aにて、サーバより取得した電子署名付きのXML−AIT360AからXML署名を抽出し、このXML署名を署名検証鍵(公開鍵)754Aを用いて検証して署名検証結果755Aを得る。
この変形例によれば、アプリケーションにハッシュ値を追加して情報処理装置700に提供されるので、情報処理装置700はアプリケーションサーバ300より取得したアプリケーションに対して算出したハッシュ値とXML−AITにより伝達されたハッシュ値とを比較することによって、アプリケーションの正当性を判定することができる。
(6.XML−AITの有効期限の管理)
次に、XML−AITの有効期限の管理について説明する。
本実施形態の情報処理システム10では、XML−AITサーバ400に保存されるXML−AITつまり情報処理装置700に配信されるXML−AITが更新される場合がある。
そこで情報処理装置700のアプリケーションコントローラ708は、取得したXML−AITを内部のメモリにキャッシュし、オフライン時はキャッシュされたXML−AITを参照して放送外マネージドアプリケーションの動作を制御することが行われる。
アプリケーションコントローラ708は、アプリケーションローンチャにおいて起動させたい放送外マネージドアプリケーションがユーザによって選択される都度、XML−AITサーバ400に最新のXML−AITの更新日時を問い合わせる。アプリケーションコントローラ708は、問い合わせた最新のXML−AITの更新日時とキャッシュされたXML−AITのキャッシュ日時とを比較する。最新のXML−AITの更新日時がキャッシュされたXML−AITのキャッシュ日時よりも遅い(新しい)場合には、アプリケーションコントローラ708はXML−AITサーバ400からXML−AITを取得して、キャッシュされたXML−AITに上書きする。また、問い合わせた最新のXML−AITの更新日時がキャッシュされたXML−AITのキャッシュ日時と等しい、あるいは早い(古い)場合には、アプリケーションコントローラ708はXML−AITサーバ400からXML−AITを取得せずにキャッシュされたXML−AITをそのまま残すように制御を行う。
そして情報処理装置700がオフライン状態であるとき放送外マネージドアプリケーションがユーザによって選択された場合には、アプリケーションコントローラ708は、キャッシュされたXML−AITを用いて、放送外マネージドアプリケーションの動作を制御する。
ところで、キャッシュされたXML−AITを時間的に無制限に利用可能とすると、XML−AITの更新の意図が放送外マネージドアプリケーションの動作の制御にいつまでも反映されない。
そこで、XML−AITのデータ構造にはXML−AITの有効期限(expireDate)22(図2参照)が設けられている。有効期限22は、絶対的な日時あるいは相対的な日時によって指定される。絶対的な日時は、例えば、年月日と時刻などにより与えられる。勿論、年月日だけで与えられてもよい。相対的な日時は、例えば、XML−AITを取得してからの経過時間などにより与えられる。なお、本実施形態では、有効期限22は、絶対的な日時により与えられる場合を想定している。
情報処理装置700のアプリケーションコントローラ708は、アプリケーションローンチャにおいて起動したい放送外マネージドアプリケーションが選択される都度、XML−AITサーバ400より取得したXML−AITおよびキャッシュされているXML−AITの有効期限22が超過しているかどうかを判断する。有効期限22が超過していなければ、アプリケーションコントローラ708は、そのXML−AITをもとに放送外マネージドアプリケーションを起動させる。有効期限22が超過している場合は、アプリケーションコントローラ708は、放送外マネージドアプリケーションを起動させないようにする。
次に、図27を参照して、アプリケーションローンチャにおいて起動したい放送外マネージドアプリケーションが選択されてからXML−AITの有効期限22をもとに放送外マネージドアプリケーションの起動の可否を決定するまでの制御の流れを説明する。
アプリケーションローンチャにおいて起動させたい放送外マネージドアプリケーションがユーザによって選択されると(ステップS701)、アプリケーションコントローラ708は、選択された放送外マネージドアプリケーションのためのXML−AITがキャッシュとして保存されているかどうかを調べる(ステップS702)。
キャッシュが保存されていない場合(ステップS702のN)、アプリケーションコントローラ708は、現在、情報処理装置700がオンライン接続されているかどうかを調べる(ステップS703)。オンライン接続されていない場合(ステップS703のN)、アプリケーションコントローラ708は放送外マネージドアプリケーションの起動させることができないとして、動作を終了する(ステップS704)。
オンライン接続されている場合(ステップS703のY)、アプリケーションコントローラ708は、XML-AITサーバ400より最新のXML−AITを取得し、保存する(ステップS705)。
次に、アプリケーションコントローラ708は、取得したXML−AITの有効期限22が超過しているかどうかを判断する(ステップS706)。有効期限22が超過しているならば(ステップS706のY)、アプリケーションコントローラ708は放送外マネージドアプリケーションの起動させることができないとして、動作を終了する(ステップS704)。有効期限22が超過していないならば(ステップS706のN)、アプリケーションコントローラ708は、そのXML−AITにより放送外マネージドアプリケーションを起動させる(ステップS707)。
次に、ステップS702で、キャッシュが保存されていない場合を説明する。
この場合、アプリケーションコントローラ708は、現在、情報処理装置700がオンライン接続されているかどうかを調べる(ステップS708)。オンライン接続されていない場合(ステップS708のN)、アプリケーションコントローラ708は、キャッシュされているXML−AITの有効期限22が超過しているかどうかを判断する(ステップS709)。有効期限22が超過しているならば(ステップS709のY)、アプリケーションコントローラ708は放送外マネージドアプリケーションの起動させることができないとして、動作を終了する(ステップS704)。有効期限22が超過していないならば(ステップS709のN)、アプリケーションコントローラ708は、キャッシュされているXML−AITにより放送外マネージドアプリケーションを起動させる(ステップS710)。
ステップS708で、オンライン接続されている場合(ステップS708のY)、アプリケーションコントローラ708は、XML-AITサーバ400にXML−AITの最新の更新日時を問い合わせる(ステップS711)。
次に、アプリケーションコントローラ708は、XML−AITの最新の更新日時とキャッシュされているXML−AITの更新日時を比較する。XML−AITの最新の更新日時がキャッシュされているXML−AITの更新日時より新しい場合(ステップS712のY)、アプリケーションコントローラ708は、XML-AITサーバ400よりその最新のXML−AITを取得し、キャッシュされているXML−AITに対して上書きして保存する(ステップS713)。
この後、アプリケーションコントローラ708は、上書き保存したXML−AITの有効期限22が超過しているかどうかを判断する(ステップS714)。有効期限22が超過しているならば(ステップS714のY)、アプリケーションコントローラ708は放送外マネージドアプリケーションの起動させることができないとして、動作を終了する(ステップS704)。有効期限22が超過していないならば(ステップS714のN)、アプリケーションコントローラ708は上書き保存したXML−AITにより放送外マネージドアプリケーションを起動させる(ステップS715)。
(7.アプリケーションタイプによる制御)
次に、アプリケーションタイプによる制御について説明する。
図2に示したように、XML−AITにはアプリケーションタイプ記述子(applicationType)25が含まれる。
図28は、アプリケーションタイプ記述子25のシンタクスを示す図である。
アプリケーションタイプ記述子25としては、エリアタイプ(area_type)、フォーマットタイプ(format_type)、コンテキストタイプ(context_type)などを記述できる。
(エリアタイプについて)
はじめに、エリアタイプ(area_type)について説明する。
エリアタイプは、放送外マネージドアプリケーションが使用する画面制御のタイプを定義するための情報である。画面制御のタイプを定義する情報としては以下がある。
1.whole:全画面制御
2.partial:部分画面制御
3.invisible:非画面制御
[全画面制御]
図29および図30は全画面制御を説明するための図である。
全画面制御は、表示部のスクリーン全体の表示を制御するタイプである。
全画面制御の放送外マネージドアプリケーションでは、オブジェクト要素により放送映像が指定され、かつその放送映像を表示するエリアが定義される。放送映像と放送外マネージドアプリケーションとの表示の形態には、例えば、図29に示すように、全画面を用いて表示される放送映像11の上に、全画面サイズより小さい、放送外マネージドアプリケーションの表示エリア12をオーバーレイで配置する形態などがある。また、図30に示すように、全画面を用いて表示される放送外マネージドアプリケーションの表示エリア12Aの上にスケーリングにより子画面化した放送映像11Aを表示する形態などがある。
なお、全画面制御の放送外マネージドアプリケーションは、非画面制御の放送外マネージドアプリケーションとの組み合わせにおいてのみ、複数の放送外マネージドアプリケーションの並行動作が可能である。すなわち、1つの全画面制御の放送外マネージドアプリケーションと1以上の非画面制御の放送外マネージドアプリケーションとの並行動作が可能である。
[部分画面制御]
図31、図32および図33は部分画面制御を説明するための図である。
部分画面制御は、表示部の画面における一部分の表示を制御するタイプである。
部分画面制御の放送外マネージドアプリケーションでは、放送外マネージドアプリケーションの表示エリア12Bのサイズのみが指定され、その表示エリア12Bの位置はアプリケーションコントローラ708による制御に依存する。
放送映像と放送外マネージドアプリケーションとの表示の形態には、例えば、図31に示すように、全画面を用いて表示される放送映像11Bの上に、全画面サイズより小さいサイズの、放送外マネージドアプリケーションの表示エリア12Bをオーバーレイで配置する形態などがある。ここで、全画面制御による図29との違いは、全画面制御により全画面を用いて表示される放送映像11は、放送外マネージドアプリケーションのオブジェクト要素により指定されたものであるのに対し、部分画面制御により全画面を用いて表示される放送映像11Bはユーザによって選局された放送映像であることにある。
また、図32に示すように、スケーリングにより縮小された放送映像11Cを画面の片側に寄せ、空いた領域に放送外マネージドアプリケーションの表示エリア12Cを配置する形態などがある。ここで、放送映像表示エリア11Cの縮小率および位置、さらには放送外マネージドアプリケーションの表示エリア12Cの位置は、アプリケーションコントローラ708による制御に依存する。
さらに、図33に示すように、スケーリングにより縮小された放送映像11Dを画面の片側に寄せ、空いた領域に複数の放送外マネージドアプリケーションの表示エリア12D、13Dを配置する形態などがある。この例においても、放送映像11Dの縮小率および位置、さらには複数の放送外マネージドアプリケーションの表示エリア12D、13Dの位置は、アプリケーションコントローラ708による制御に依存する。
なお、部分画面制御の放送外マネージドアプリケーションは、1以上の非画面制御の放送外マネージドアプリケーションとの並行動作が可能である。
[非画面制御]
非画面制御の放送外マネージドアプリケーションは、表示部の画面に何も表示することなくスクリプトのみが実行される不可視の放送外マネージドアプリケーションである。非画面制御の放送外マネージドアプリケーションは、同時に複数の並行動作が可能であり、また、他の画面制御のタイプの放送外マネージドアプリケーションとの並行動作も可能である。
(フォーマットタイプについて)
次に、フォーマットタイプ(format_type)について説明する。
放送外マネージドアプリケーションのフォーマットタイプには、以下がある。
1.packaged:パッケージタイプ
2.web:ウェブタイプ
パッケージタイプの放送外マネージドアプリケーションおよびウェブタイプの放送外マネージドアプリケーションがどのようなものであり、どのようにして情報処理装置700が取得するかについては既に説明した通りである。
ここでは情報処理装置700のアプリケーションコントローラ708による、フォーマットタイプに基づく制御について説明する。このフォーマットタイプに基づく制御は、XML−AITに電子署名を添付して検証を行う方式において有効である。前述したように、この方式では、放送外マネージドアプリケーションの改ざんを検出できるように、放送外マネージドアプリケーションのハッシュ値が計算されてXML−AITに添付される。
このとき、パッケージタイプの放送外マネージドアプリケーションのためのXML−AITに記述されるハッシュ値には、放送外マネージドアプリケーションを構成する全てのリソースファイルに対して計算されたものが採用される。すなわち、図26に示した署名付きAIT生成部350Aが、パッケージタイプの放送外マネージドアプリケーション351Aを構成する全てのリソースファイルから所定のハッシュ演算器352Aを用いてハッシュ値353Aを算出する。
情報処理装置700のアプリケーションコントローラ708(図26のアプリケーションコントローラ708A)は、放送外マネージドアプリケーションの起動後、XML−AITを参照して放送外マネージドアプリケーションのフォーマットタイプを確認する。
放送外マネージドアプリケーションのフォーマットタイプがパッケージタイプである場合、アプリケーションコントローラ708Aは、その放送外マネージドアプリケーション351Aを構成する全てのリソースファイルからハッシュ値752Aを算出する。アプリケーションコントローラ708Aは、算出したハッシュ値752AをXML−AITに記述されたハッシュ値353Aと比較し、一致/不一致を判定する。
また、ウェブタイプの放送外マネージドアプリケーションのためのXML−AITに記述されるハッシュ値には、放送外マネージドアプリケーションの先頭ページを構成するHTML文書などのマークアップ文書ファイルに対して計算されたものが採用される。あるいは、先頭ページを構成する全てのリソースファイルに対してハッシュ値を算出するようにしてもよい。この実施形態では、先頭ページを構成するHTML文書などのマークアップ文書ファイルに対してハッシュ値を算出する場合を想定して説明を行う。
アプリケーションコントローラ708Aは、ウェブタイプの放送外マネージドアプリケーションを起動した後、XML−AITを参照して当該放送外マネージドアプリケーションのフォーマットタイプを調べる。放送外マネージドアプリケーションのフォーマットタイプがウェブタイプである場合、アプリケーションコントローラ708Aは、その放送外マネージドアプリケーション351Aの先頭ページを構成するHTML文書などのマークアップ文書ファイルからハッシュ値752Aを算出する。アプリケーションコントローラ708Aは、算出したハッシュ値752AをXML−AITに格納されたハッシュ値353Aと比較し、一致/不一致を判定する。
(コンテキストタイプについて)
次に、コンテキストタイプについて説明する。
コンテキストタイプ(context_type)には以下がある。
1.application:アプリケーション志向
2.tv:放送受信志向
[アプリケーション志向について]
アプリケーション志向は、例えば、オブジェクト要素で参照される放送サービスが、情報処理装置700のユーザによって指定されるのではなく、放送外マネージドアプリケーションによって指定されるタイプである。
図35は、アプリケーション志向の放送外マネージドアプリケーションを、この放送外マネージドアプリケーションに対するユーザからの操作に応じた動作とともに説明するための図である。
放送ストリーム0を選局した状態で、情報処理装置700のユーザによって、例えばリモートコントローラのアプリケーションローンチャボタンが操作されることによって、情報処理装置700の表示部にアプリケーションローンチャ50が表示される。
アプリケーションローンチャ50で放送外マネージドアプリケーションがユーザにより選択されると、情報処理装置700のアプリケーションコントローラ708は、当該放送外マネージドアプリケーションのXML−AITをもとにその放送外マネージドアプリケーションを起動させる。このとき、アプリケーションコントローラ708は、XML−AITを参照して当該放送外マネージドアプリケーションのコンテキストタイプを調べる。
ここでは、ユーザにより選択された放送外マネージドアプリケーションのコンテキストタイプがアプリケーション志向である場合を想定する。
この場合、オブジェクト要素で参照される放送サービスは放送外マネージドアプリケーションに依存するため、ユーザにより選局である放送ストリーム0の選局状態がアプリケーションコントローラ708によって解除される。
アプリケーションコントローラ708は、放送外マネージドアプリケーションを起動させる。この例では、はじめに放送外マネージドアプリケーションの先頭ページ51が表示されるものとする。先頭ページ51には、例えば、1以上の放送局に関連するページに遷移するための1以上のハイパーリンクが設けられている。なお、この例において、放送外マネージドアプリケーションは、先頭ページ51およびリンク先の1以上のページ52,53で構成される。リンク先の各々の放送局に関連するページ52,53は、自放送局の放送ストリームをオブジェクト要素で参照される放送サービスとするように構成されている。すなわち、ページ52,53内に自放送局の放送ストリームの映像を子画面52a,53aで表示するように構成されたものである。
先頭ページ51で情報処理装置700のユーザによって、所望の放送局に関連するページに遷移するための操作が行われると、遷移先である放送局に関連するページ52が表示される。このページ52内には遷移先である放送局の放送ストリーム(放送ストリーム1)の映像を表示する子画面52aが配置される。
この後、同様に、情報処理装置700のユーザによって他の放送局に関連するページに遷移するための操作が行われたこととする。すなわち、ページ51には、1以上の他の放送局に関連するページに遷移するための1以上のハイパーリンクが設けられている。
このページ遷移操作によって、遷移先である他の放送局に関連するページ53が表示される。このページ53には、遷移先である他の放送局の放送ストリーム(放送ストリーム2)の映像を表示する子画面53aが配置される。
情報処理装置700のユーザによって放送外マネージドアプリケーションの終了操作が行われると、当該放送外マネージドアプリケーションが終了する。放送外マネージドアプリケーションの終了により、放送ストリームの選局状態がコンテキストタイプによって決定される。
今回起動させた放送外マネージドアプリケーションのコンテキストタイプはアプリケーション志向である。この場合、情報処理装置700のアプリケーションコントローラ708は、放送外マネージドアプリケーションを終了させた後、当該放送外マネージドアプリケーションの起動直前に選局されていた放送ストリーム0に選局状態を戻すように制御を行う。
放送外マネージドアプリケーションの実行中に発生した放送ストリームの選局は、ユーザ自身の直接の選局行為によるものではない。したがって、放送外マネージドアプリケーションを終了させた後、当該放送外マネージドアプリケーションの起動直前に選局されていた放送ストリーム0に選局状態を戻すことは、ユーザに違和感を与えないために望ましい。
[放送受信志向について]
放送受信志向は、例えば、オブジェクト要素で参照される放送サービスが、放送外マネージドアプリケーションによって指定されるのではなく、情報処理装置700のユーザによって指定されるタイプである。
図36は、放送受信志向の放送外マネージドアプリケーションを、この放送外マネージドアプリケーションに対するユーザからの操作に応じた動作とともに説明するための図である。
放送ストリーム0を選局した状態で、情報処理装置700のユーザによって、例えばリモートコントローラのアプリケーションローンチャボタンが操作されることによって、情報処理装置700の表示部にアプリケーションローンチャ54が表示される。
なお、アプリケーションローンチャ54は、放送受信志向の放送外マネージドアプリケーションのみ選択可能なものとしてよい。この場合、その時点で選局されていた放送ストリーム0の映像の上にアプリケーションローンチャ54が半透明の状態で表示させるようにしてもよい。
アプリケーションローンチャ54で放送外マネージドアプリケーションがユーザにより選択されると、情報処理装置700のアプリケーションコントローラ708は、当該放送外マネージドアプリケーションのXML−AITをもとにその放送外マネージドアプリケーションを起動させる。このとき、アプリケーションコントローラ708は、XML−AITを参照して当該放送外マネージドアプリケーションのコンテキストタイプを調べる。
ここでは、ユーザにより選択された放送外マネージドアプリケーションのコンテキストタイプが放送受信志向である場合を想定する。この場合、オブジェクト要素で参照される放送サービスはユーザにより選局された放送ストリームである。
この例では、放送外マネージドアプリケーションのページ55が、ユーザにより選局された放送ストリームをオブジェクト要素で参照される放送サービスとするように構成されたものであることを想定する。すなわち、ページ55内にユーザにより選局された放送ストリームの映像を子画面55aで表示するように構成されたものである。
放送外マネージドアプリケーションのページ55が表示された状態で(放送外マネージドアプリケーションの実行時)、ユーザにより別の放送ストリームが選局されると、ページ55内の子画面55aの内容が、新たに選局された放送ストリームの映像に変化する。図36の例は、子画面55aに放送ストリーム0の映像が表示された状態から、ユーザによる選局先の切り替え操作が行われる都度、子画面55aの映像が放送ストリーム0、放送ストリーム1、放送ストリーム2の順に切り替わったことを示している。
情報処理装置700のユーザによって放送外マネージドアプリケーションの終了操作が行われると、当該放送外マネージドアプリケーションが終了する。放送外マネージドアプリケーションの終了により、放送ストリームの選局状態がコンテキストタイプによって決定される。
今回起動させた放送外マネージドアプリケーションのコンテキストタイプは放送受信志向である。この場合、情報処理装置700のアプリケーションコントローラ708は、放送外マネージドアプリケーションを終了させた後、選局中の放送ストリームをそのまま表示させるように制御を行う。
[第1の実施形態の効果等]
本実施形態では、次のような効果が得られる。
1.アプリケーションコントローラ708は、セクションAITの外部アプリケーション制御記述子をもとに、放送外マネージドアプリケーションによる放送リソースの利用範囲を制御する。これにより、放送外マネージドアプリケーションの提供者などの第三者によって作成されたXML−AITに設定された利用許諾情報の範囲を、放送局側がセクションAITを用いて動的に変更できる仕組みが実現される。
これにより、例えば、スポーツ中継など、タイムスケジュールが流動的な放送番組において、番組の進行や編成の変更などの変化に合わせて放送外マネージドアプリケーションの動作の制御を変更することができる。
また、複数のチャンネル(放送局)の放送リソースを利用することを想定した放送外マネージドアプリケーションの動作の制御を、放送局毎に指定することができる。
2.アプリケーションコントローラ708は、XML−AITのサービス利用許諾情報のバイナリデータであるパーミッションビットマップをメモリに保持する。アプリケーションコントローラ708はメモリに保持されたパーミッションビットマップと放送外マネージドアプリケーションを起動後に取得されるセクションAITの中のパーミッションビットマップとをバイナリ演算によって比較することによって差分を求めることができる。これにより、情報処理装置700のアプリケーションコントローラ708の負担を軽減し、高速化を図れる。
3.アプリケーションコントローラ708は、セクションAITの外部アプリケーション制御記述子をもとに、放送外マネージドアプリケーションの表示画面での表示位置を制御する。これにより、放送外マネージドアプリケーションの提供者などの第三者によって作成されたXML−AITに設定された利用許諾情報の範囲を、放送局側がセクションAITを用いて動的に変更できる仕組みが実現される。
4.XML−AITに有効期限22が設けられたことによって、アプリケーションコントローラ708は、情報処理装置700のオフライン時、情報処理装置700にキャッシュされている有効期限切れのXML−AITによる放送外マネージドアプリケーションの起動を無効化するように制御することができる。これにより、XML−AITの更新の意図が放送外マネージドアプリケーションの動作の制御にいつまでも反映されないという不具合を解消できる。
5.XML−AITに設けられたアプリケーションタイプ記述子25のエリアタイプをもとに、アプリケーションコントローラ708は、放送映像と放送外マネージドアプリケーションとの表示の形態を多様に制御することができる。
6.XML−AITに設けられたアプリケーションタイプ記述子25のフォーマットタイプをもとに、アプリケーションコントローラ708は、起動させた放送外マネージドアプリケーションがパッケージタイプであるか、ウェブタイプであるかを判別できる。パッケージタイプとウェブタイプとでハッシュ値の計算対象が異なる場合に、フォーマットタイプから、その計算対象をアプリケーションコントローラ708が認識できる。
7.XML−AITに設けられたアプリケーションタイプ記述子25のコンテキストタイプをもとに、アプリケーションコントローラ708は、放送外マネージドアプリケーションの終了後の放送映像の最適な選局状態を選定できる。
以上、HbbTVの標準規格を前提とした実施形態を説明したが、本技術は、HbbTVの標準規格を前提とすることに必ずしも限定されるものではない。
[本技術の別の構成]
本技術は以下のような構成も採ることができる。
(1)放送信号を受信可能な放送受信部と、
少なくとも、前記放送受信部により受信される放送信号を利用するアプリケーションの動作を制御する情報と、前記アプリケーションのタイプを示す情報が記述されたアプリケーション情報テーブルを取得し、前記取得されたアプリケーション情報テーブルをもとに前記アプリケーションの動作を前記タイプ別に制御するように構成されるコントローラと
を具備する情報処理装置。
(2)前記(1)に記載の情報処理装置であって、
前記アプリケーションのタイプを示す情報が画面制御のタイプを示す情報であり、
前記コントローラは、前記取得されたアプリケーション情報テーブルをもとに、前記アプリケーションのタイプに応じた画面の制御を行うように構成される
情報処理装置。
(3)前記(1)または(2)に記載の情報処理装置であって、
前記アプリケーションのタイプを示す情報が、前記アプリケーションを構成する全てのリソースファイルのパッケージが情報処理装置に保存されるタイプのアプリケーションであるか、必要なリソースファイルがページ単位で情報処理装置によりアクセスされるタイプのアプリケーションであるかを示すフォーマットのタイプを示す情報であり、
前記コントローラは、前記取得されたアプリケーション情報テーブルをもとに前記アプリケーションのフォーマットのタイプに応じた検証を行うように構成される
情報処理装置。
(4)前記(1)から(3)のいずれかに記載の情報処理装置であって、
前記アプリケーションが前記放送信号の映像を表示するものであり、
前記アプリケーションのタイプを示す情報が、前記アプリケーションによって前記放送信号が選局されるタイプであるか、ユーザによって前記放送信号が選局されるタイプであるかを示すコンテキストのタイプを示す情報であり、
前記コントローラは、前記取得されたアプリケーション情報テーブルをもとに前記アプリケーションのコンテキストのタイプに応じた制御を行うように構成される
情報処理装置。
(5)前記(1)から(4)のいずれかに記載の情報処理装置であって、
前記コントローラは、前記アプリケーションによって前記放送信号が選局されるタイプである場合、前記アプリケーションの終了後、前記アプリケーションの起動直前の選局状態に戻し、前記アプリケーションによって前記放送信号が選局されるタイプである場合、前記アプリケーションの終了後、前記アプリケーションの実行中の最後の選局状態を継続するように構成される
情報処理装置。
(6)前記(1)から(5)のいずれかに記載の情報処理装置であって、
前記コントローラは、通信により前記アプリケーションを取得するように構成される
情報処理装置。
(7)前記(1)から(6)のいずれかに記載の情報処理装置であって、
前記コントローラは、通信により前記アプリケーション情報テーブルを取得するように構成される
情報処理装置。
その他、本技術は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
100…放送局
200…第1のネットワーク
300…アプリケーションサーバ
400…XML−AITサーバ
600…第2のネットワーク
700…情報処理装置
701…放送インタフェース
702…デマルチプレクサ
703…出力処理部
704…映像デコーダ
705…音声デコーダ
706…字幕デコーダ
707…通信インタフェース
708…アプリケーションコントローラ
800…ストアサーバ

Claims (3)

  1. 放送リソースを利用するアプリケーションと、放送リソースを利用する前記アプリケーションの動作を制御する情報と、前記アプリケーションの画面制御方法のタイプを示す情報が少なくとも記述されたアプリケーション情報テーブルを送信する送信部を備え、
    前記画面制御方法のタイプは、画面全体の表示を制御するタイプ、画面における一部分
    の表示を制御するタイプ、画面表示をせずにスクリプトのみ実行するタイプを含む
    送信装置。
  2. 請求項1に記載の送信装置であって、
    前記アプリケーション情報テーブルには、前記アプリケーションが前記放送リソースを利用できるかどうかを示すアクセス可否情報をさらに記述される
    送信装置。
  3. 送信部が、放送リソースを利用するアプリケーションと、放送リソースを利用する前記アプリケーションの動作を制御する情報と、前記アプリケーションの画面制御方法のタイプを示す情報が少なくとも記述されたアプリケーション情報テーブルを送信し、
    前記画面制御方法のタイプは、画面全体の表示を制御するタイプ、画面における一部分
    の表示を制御するタイプ、画面表示をせずにスクリプトのみ実行するタイプを含む
    送信方法。
JP2018210494A 2014-01-07 2018-11-08 送信装置および送信方法 Active JP6627950B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014001000 2014-01-07
JP2014001000 2014-01-07

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015556630A Division JP6432525B2 (ja) 2014-01-07 2014-11-18 情報処理装置および情報処理方法

Publications (2)

Publication Number Publication Date
JP2019050601A JP2019050601A (ja) 2019-03-28
JP6627950B2 true JP6627950B2 (ja) 2020-01-08

Family

ID=53523604

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015556630A Active JP6432525B2 (ja) 2014-01-07 2014-11-18 情報処理装置および情報処理方法
JP2018210494A Active JP6627950B2 (ja) 2014-01-07 2018-11-08 送信装置および送信方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2015556630A Active JP6432525B2 (ja) 2014-01-07 2014-11-18 情報処理装置および情報処理方法

Country Status (6)

Country Link
US (1) US11012747B2 (ja)
EP (2) EP3094101B1 (ja)
JP (2) JP6432525B2 (ja)
PE (1) PE20161060A1 (ja)
PH (1) PH12016501320A1 (ja)
WO (1) WO2015104742A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102586630B1 (ko) * 2015-08-28 2023-10-11 소니그룹주식회사 수신 장치, 송신 장치, 및 데이터 처리 방법
CN106937258B (zh) * 2017-03-10 2019-07-12 Oppo广东移动通信有限公司 一种广播的控制方法、装置及移动终端

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4165445B2 (ja) * 2004-05-07 2008-10-15 ソニー株式会社 情報処理装置および方法、並びにプログラム
US9213538B1 (en) * 2004-02-06 2015-12-15 Time Warner Cable Enterprises Llc Methods and apparatus for display element management in an information network
JP4764112B2 (ja) * 2004-09-17 2011-08-31 株式会社リコー 電子装置システム
WO2006046797A1 (en) * 2004-10-25 2006-05-04 Electronics And Telecommunications Research Institute Pmcp extension metadata, data stream generating device, digital data broadcasting emission szstem and digital data boradcasting emission method thereof
JP4377948B1 (ja) * 2008-06-30 2009-12-02 株式会社東芝 映像信号処理装置及び映像信号処理方法
KR20110010052A (ko) * 2009-07-14 2011-01-31 삼성전자주식회사 방송 네트워크 및 인터넷 네트워크에 접속 가능한 클라이언트의 어플리케이션을 수신하는 방법 및 장치
WO2011027504A1 (ja) 2009-09-02 2011-03-10 パナソニック株式会社 デジタル放送受信機およびデジタル放送受信方法
JP5493627B2 (ja) * 2009-09-15 2014-05-14 ソニー株式会社 情報処理装置、データ管理方法、およびプログラム
EP2320650B1 (en) * 2009-10-20 2014-06-04 Lg Electronics Inc. Method of processing application in digital broadcast receiver connected with interactive network and the digital broadcast receiver
JP2012182779A (ja) * 2011-01-31 2012-09-20 Nippon Hoso Kyokai <Nhk> 受信装置、放送システム及びプログラム
EP2712187A4 (en) * 2011-05-20 2014-10-15 Japan Broadcasting Corp BROADCASTING / COMMUNICATION CONNECTION SYSTEM, APPLICATION MANAGEMENT SERVER, RECEIVER, RECEIVER RECEIVER METHOD AND APPLICATION MANAGEMENT METHOD WITH THE APPLICATION MANAGEMENT SERVER
JP5586657B2 (ja) * 2011-05-20 2014-09-10 日本放送協会 受信機
KR20130000142A (ko) * 2011-06-22 2013-01-02 삼성전자주식회사 방송 수신 서비스를 제공하는 휴대용 단말기의 어플리케이션 실행 장치 및 방법
KR101995425B1 (ko) * 2011-08-21 2019-07-02 엘지전자 주식회사 영상 표시 장치, 단말 장치 및 그 동작 방법
JP5978000B2 (ja) * 2011-08-26 2016-08-24 日本放送協会 受信機
US20140214967A1 (en) * 2011-08-26 2014-07-31 Nippon Hoso Kyokai Receiver and reception method
CN103035922B (zh) 2011-10-07 2019-02-19 株式会社半导体能源研究所 蓄电装置
US8910224B1 (en) * 2011-11-10 2014-12-09 Cox Communications, Inc. Application and server based control of dynamic channel mapping
JP6146406B2 (ja) * 2012-03-08 2017-06-14 日本電気株式会社 表示システム、表示装置、表示方法、およびプログラム
CN103703787B (zh) 2012-06-01 2018-04-06 索尼公司 信息处理装置、信息处理方法和应用信息表传送装置
KR101952724B1 (ko) * 2012-07-31 2019-02-28 삼성전자주식회사 방송 시스템에서 엔-스크린 서비스 제공 장치 및 방법
US10390066B2 (en) * 2012-08-21 2019-08-20 Saturn Licensing Llc Information processing apparatus, information processing method, program, and server apparatus
KR102069547B1 (ko) * 2013-04-19 2020-01-28 삼성전자주식회사 방송 통신 시스템에서 부가 정보를 송수신하는 방법 및 장치
JP6213197B2 (ja) * 2013-12-05 2017-10-18 ソニー株式会社 情報処理装置および受信方法

Also Published As

Publication number Publication date
PH12016501320B1 (en) 2016-08-15
JPWO2015104742A1 (ja) 2017-03-23
EP3920544A1 (en) 2021-12-08
EP3094101B1 (en) 2021-04-07
US20170041663A1 (en) 2017-02-09
US11012747B2 (en) 2021-05-18
JP2019050601A (ja) 2019-03-28
EP3094101A1 (en) 2016-11-16
PE20161060A1 (es) 2016-10-17
JP6432525B2 (ja) 2018-12-05
PH12016501320A1 (en) 2016-08-15
EP3094101A4 (en) 2017-08-23
WO2015104742A1 (ja) 2015-07-16

Similar Documents

Publication Publication Date Title
JP7460698B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP7409448B2 (ja) 受信装置及び受信方法
JPWO2013094110A1 (ja) 情報処理装置、サーバ装置、情報処理方法、サーバ処理方法およびプログラム
JP6213197B2 (ja) 情報処理装置および受信方法
EP3054701B1 (en) Receiver device, broadcast device, server device and reception method
JP6627950B2 (ja) 送信装置および送信方法
WO2014030283A1 (ja) 署名検証情報の伝送方法、情報処理装置、情報処理方法および放送送出装置
JP6984709B2 (ja) 受信装置および受信方法
JP6663892B2 (ja) 送信システム及び送信方法
JP7334772B2 (ja) 情報処理装置及び受信方法
JP6766918B2 (ja) 受信装置および受信方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181210

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191021

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: 20191105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191118

R151 Written notification of patent or utility model registration

Ref document number: 6627950

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151