JP2005073239A - サービス実行装置 - Google Patents

サービス実行装置 Download PDF

Info

Publication number
JP2005073239A
JP2005073239A JP2004225696A JP2004225696A JP2005073239A JP 2005073239 A JP2005073239 A JP 2005073239A JP 2004225696 A JP2004225696 A JP 2004225696A JP 2004225696 A JP2004225696 A JP 2004225696A JP 2005073239 A JP2005073239 A JP 2005073239A
Authority
JP
Japan
Prior art keywords
service
resource
unit
execution environment
servicecontext
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.)
Withdrawn
Application number
JP2004225696A
Other languages
English (en)
Inventor
Makoto Harada
真 原田
Yoshio Kawakami
義雄 川上
Ryuichi Shiomi
隆一 塩見
Takasato Suzuki
孝聡 鈴木
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004225696A priority Critical patent/JP2005073239A/ja
Publication of JP2005073239A publication Critical patent/JP2005073239A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】 複数のデバイスの「組」の制御を行うサービス実行装置を提供する。
【解決手段】 Abstractサービス用のServiceContext2108においてサービスを実行するサービス実行部5701と、アプリケーションがサービス実行部5701に対してサービスの実行を要求した際に、ServiceContext2108とサービスが使用する複数のリソースを示すリース組情報とを関連付けるメソッド6112と、そのメソッド6112により関連付けられたServiceContext2108とリソース組情報とを保持するServiceContext管理部2001と、ServiceContext管理部2001に保持されたリソース組情報をサービスに供給するJMF1705aとを備える。
【選択図】 図17

Description

本発明は、デジタルテレビに関するものであり、特に複数のビデオ等処理装置を備える端末に関するものである。
テレビやSTBに代表される放送受信装置のハードウェア上では、異なる機能を持つ複数のデバイスが、他方の出力がもう一方の入力となるように互いに接続され、一連の流れを形成することで大機能を実現する構成を採る。例えば、デジタル放送受信装置で映像・音声を画面に出力する場合を例にとると、ハードウェア上では、放送信号を入力とし、周波数をキーとしてフィルタリングしてMPEG2(Motion Picture Expert Group−2)トランスポートストリームを出力する「チューナー」、MPEG2トランスポートストリームを入力とし、その中から所望の映像・音声、データ選別し、合致したTSパケットが伝送する、映像・音声データ、あるいはデータを出力する「TSデコーダ」、TSデコーダから伝送された映像・音声データをデコードし、画面表示可能な状態で出力する「オーディオデコーダ」、「ビデオデコーダ」、「ビデオデコーダ」あるいはCPUから指示された映像等を合成する「表示デバイス」が述べた順で接続され、各々のデバイスがそれぞれの機能を果たすことで映像などを画面に表示し、音声を流すことを可能としている。
このような放送受信装置において、処理を並列化するために、同一種類のデバイスが複数個存在する場合がある。例えば「チューナー」「ビデオデコーダ」が複数存在する場合、同時に複数の映像データをデコードすることが可能となり、「Picture In Picture(以下PinP)」と呼ばれる、例えば2種類の映像を同時に表示する機能を実現することが可能となる。このように複数の同一種類のデバイスが存在する場合、例えばどの「チューナー」と「ビデオデコーダ」が接続するかは自由に接続可能であるわけではなく、通常は特定の「チューナー」と特定の「ビデオデコーダ」が接続されているようにあらかじめ決まっており、一連のデバイスを「組」として扱う。そのような場合における各デバイスの利用手法の代表例として「特開平8−289220」(特許文献1)に開示された技術を挙げる。この発明は、2つの組「主チューナー」、「主映像用デコーダ」、「挿入用チューナー」、「挿入用デコーダ」を有し、PinP表示の際は「挿入用チューナー」を利用することで既に選択済みの映像・音声を画面全域に表示したまま、選択候補の映像・音声を画面上の指定領域に出力することを可能としている。
現在、DVB−MHP(Digital Video Broadcasting−Multimedia Home Platform ETSI TS 101 812 V1.2.1 (2002−06))(非特許文献1)と呼ばれる、放送受信装置上でサービスを動作させるための仕様が欧州で定義され、既に運用が開始されている。一方、米国ではDVB−MHP仕様をベースとしてOCAP(OpenCable Application Protocol OCAP1.0 Profile OC−SP−OCAP1.0−I07−030522)仕様を策定中であり、2005年度中に運用が開始される予定である。また、その他各国でも同様の仕様の策定、運用が進められている。このようなサービス実行仕様に準拠する放送受信装置は、放送信号からダウンロードする等の手法を用いて入手したプログラムを実行する機能を備えている。このようなプログラムの代表例としてゲームやEPG(Electoric Program Guide)アプリケーションを挙げることができる。
特開平8−289220号公報 DVB−MHP(Digital Video Broadcasting−Multimedia Home Platform ETSI TS 101 812 V1.2.1 (2002−06))
放送受信装置上で実行されるサービスとして、前述したPinPや高機能EPG等、複数の映像・音声を同時に一画面に表示するようなアプリケーションは当然想定される。一画面に複数の映像・音声を同時に出力するためには、前述の特許に記載される例に代表されるように、複数デバイスの「組」の制御を行わなくてはならない。しかしながら、DVB−MHP/OCAP仕様では、複数のデバイスの「組」を制御する仕組みが明記されていない。
そこで、本発明は、複数のデバイスの「組」をServiceContextクラスによって特定するという概念を導入することで、複数のデバイスの「組」の制御を行うサービス実行装置を提供することを目的とする。また、他のServiceContextクラスによって特定されるデバイスの「組」を利用する仕組みを提供する。
上記目的を達成するために、本発明に係るサービス実行装置は、1または複数のリソースを使用するサービスを実行するためのサービス実行環境において前記サービスを実行するサービス実行手段と、アプリケーションが前記サービス実行手段に対してサービスの実行を要求した際に、前記サービス実行環境と前記サービスが使用する1または複数のリソースを示すリソース組情報とを関連付ける関連付け手段と、前記関連付け手段により関連付けられた前記サービス実行環境と前記リソース組情報とを保持する保持手段と、前記保持手段により保持されたサービス実行環境において、前記保持手段に保持された前記リソース組情報を前記サービスに供給するリソース管理手段とを備えることを特徴とする。
これにより、サービス実行環境であるServiceContextと、サービスが使用する1または複数のリソースを示すリソース組情報とが関連付けられるため、サービスの実行に際して、1または複数のリソースをリソースの「組」として制御することができる。
本発明のサービス実行装置は、サービスの実行に際して、1または複数のリソースをリソースの「組」として制御することができるという作用効果を奏する。
以下本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
本発明に係るケーブルテレビシステムの実施の形態を、図面を参照しながら説明する。図1は、ケーブルシステムを構成する装置の関係を表したブロック図であり、ヘッドエンド101及び3個の端末装置A111、端末装置B112、端末装置C113で構成される。本実施の形態では、1つのヘッドエンドに対して3つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。
ヘッドエンド101は、複数の端末装置に対して映像・音声・データ等の放送信号を送信するとともに、端末装置からのデータ送信を受信する。これを実現するため、ヘッドエンド101と端末装置A111、端末装置B112、端末装置C113間の伝送に用いられる周波数帯域は、分割して用いられる。
図2は、周波数帯域の分割の一例を示す表である。周波数帯域は、Out Of Band(略称OOB)とIn−Bandの2種類に大別される。5〜130MHzがOOBに割り当てられ、主にヘッドエンド101と端末装置A111、端末装置B112、端末装置C113間のデータのやり取りに使用される。130MHz〜864MHzはIn−Bandに割り当てられ、主として、映像・音声を含む放送サービスに使用される。OOBではQPSK変調方式が、In−BandではQAM64変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。
図3は、OOB周波数帯域の更に詳細な使用の一例である。70MHz〜74MHzはヘッドエンド101からのデータ送信に使用され、全ての端末装置A111、端末装置B112、端末装置C113が、ヘッドエンド101から同じデータを受け取ることになる。一方、10.0MHz〜10.1MHzは端末装置A111からヘッドエンド101へのデータ送信に使用され、10.1MHz〜10.2MHzは端末装置B112からヘッドエンド101へのデータ送信に使用され、10.2MHz〜10.3MHzは端末装置C113からヘッドエンド101へのデータ送信に使用される。これにより、各端末装置固有のデータを各端末装置A111、端末装置B112、端末装置C113からヘッドエンド101に送信することができる。
図4は、In−Bandの周波数帯に対する使用の一例である。150〜156MHzと156〜162MHzはそれぞれテレビチャンネル1とテレビチャンネル2に割り当てられ、以降、6MHz間隔でテレビチャンネルが割り当てられている。310MHz以降は、1MHz単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、MPEG2仕様に基づいたトラスポートパケット形式で伝送され、音声や映像に加え、各種データ放送用データも送信することができる。
ヘッドエンド101は、これらの周波数帯域に適切な放送信号を送信するため、QPSK変調部やQAM変調部等を有する。また、端末装置からのデータを受信するため、QPSK復調器を有する。また、ヘッドエンド101は、これら変調部及び復調部に関連する様々な機器を有すると考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
端末装置A111、端末装置B112、端末装置C113は、ヘッドエンド101からの放送信号を受信し再生する。また、ヘッドエンド101に対して、各端末装置固有のデータを送信する。
本実施の形態では、端末装置のうち、例えばPicture in Picture、Double Windowなどに代表される2画面同時表示できる端末装置を考える。なお、本発明は2画面に限定されるものではなく任意の数の画面同時表示できる端末でも実施可能である。
図5は、端末装置のハードウエア構成を表すブロック図である。500は端末装置であり、チューナーA501a、チューナーB501b、QPSK復調部502、QPSK変調部503、TSデコーダA505a、TSデコーダB505b、オーディオデコーダA506a、オーディオデコーダB506b、スピーカ507、ビデオデコーダA508a、ビデオデコーダB508b、ディスプレイ509、2次記憶部510、1次記憶部511、ROM512、入力部513、CPU514、デマルチプレクサ515、マルチプレクサ516、表示デバイスA520a、表示デバイスB520bで構成される。また端末装置500には、POD504が着脱できる。
図6は、端末装置500の外観の一例である薄型テレビである。
601は、薄型テレビの筐体であり、POD504を除く、端末装置500の構成要素をすべてを内蔵している。
602はディスプレイであり、図5におけるディスプレイ509に相当する。
603は複数のボタンで構成されるフロントパネル部であり、図5の入力部513に相当する。
604は信号入力端子であり、ヘッドエンド101との信号の送受信を行うためにケーブル線を接続する。信号入力端子は、図5のチューナーA501a、チューナーB501b、QPSK復調部502、QPSK変調部503と接続されている。
605は、図5のPOD504に相当するPODカードである。POD504は、図6のPODカード605のように、端末装置500とは独立した形態を取り、端末装置500に着脱可能となっている。POD504の詳細は後述する。
606はPODカード605を挿入する挿入スロットである。
また、図5に示される本端末装置は、図8の表示画面801で示されるように全画面表示可能であると同時に、図9に示されるように2画面同時表示も可能である。図9において、ディスプレイ509は2つの画面を表示し、表示画面801は図5においてチューナーA501aによってヘッドエンド101から送信されてきた信号が復調されたものを元に再生した映像・音声、表示画面901は図5において、チューナーB501bによってヘッドエンド101から送信されてきた信号が復調されたものを元に再生した映像・音声を示す。
図5を参照して、チューナーA501a、チューナーB501bは、CPU514から指定された周波数を含むチューニング情報で、ヘッドエンド101でQAM変調され送信されてきた信号を復調し、マルチプレクサ516に渡す。マルチプレクサ516では多重化を行い、POD504に引き渡す。
QPSK復調部502は、CPU514から指定された周波数を含むチューニング情報で、ヘッドエンド101でQPSK変調され送信されてきた信号を復調し、POD504に引き渡す。
QPSK変調部503は、CPU514から指定された周波数を含む復調情報で、POD504から渡された信号をQPSK復調し、ヘッドエンド101に送信する。
POD504は、図6のように端末装置本体500から着脱可能な形態をしている。端末本体500とPOD504の接続インターフェースは、OpenCable(TM) HOST−POD Interface Specification(OC−SP−HOSTPOD−IF−I12−030210)及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。
図7は、POD504の内部構成を表すブロック図である。POD504は、第1デスクランブラ部701、第2デスクランブラ部702、スクランブラ部703、第1記憶部704、第2記憶部705、CPU706で構成される。
第1デスクランブラ部701は、CPU706からの指示により、端末装置500のチューナーA501a、チューナーB501bから暗号化された信号がマルチプレクサ516によって多重化された信号を受け取り、復号を行う。そして、復号された信号を端末装置500のデマルチプレクサ515に送り逆多重化を行い、TSデコーダA505a、TSデコーダB505bに送る。デコードに必要な鍵などの情報はCPU706から適宜与えられる。具体的には、ヘッドエンド101はいくつかの有料チャンネルを放送している。ユーザーが、この有料チャンネルを購買すると、第1デスクランブラ部701は、CPU706から鍵等の必要な情報を受け取りデスクランブルすることで、ユーザーは有料チャンネルを閲覧することができる。鍵などの必要な情報が与えられない場合は、第1デスクランブラ部701は、デスクランブルを行わず、受け取った信号をそのまま、デマルチプレクサ515を経てTSデコーダA505a、TSデコーダB505bに送る。
第2デスクランブラ部702は、CPU706からの指示により、端末装置500のQPSK復調部502から暗号化された信号を受け取り、復号を行う。そして、復号されたデータをCPU706に引き渡す。
スクランブラ部703は、CPU706からの指示により、CPU706から受け取ったデータを暗号化し、端末装置500のQPSK変調部503に送る。
第1記憶部704は、具体的にはRAM等の一次記憶メモリーで構成され、CPU706が処理を行う際、一時的にデータを保存するために使用される。
第2記憶部705は、具体的にはフラッシュROM等の2次記憶メモリーで構成され、CPU706が実行するプログラムを格納し、また、電源OFFになっても消去されては困るデータの保存に使用される。
CPU706は、第2記憶部705が記憶するプログラムを実行する。プログラムは複数のサブプログラムで構成される。図10は、第2記憶部705が記憶するプログラムの一例である。図10では、プログラム1000は、メインプログラム1001、初期化サブプログラム1002、ネットワークサブプログラム1003、再生サブプログラム1004、PPVサブプログラム1005等複数のサブプログラムで構成されている。
ここでPPVとはPay Per Viewの略であり、映画など特定の番組を有料で視聴できるようにするサービスである。ユーザーが暗証番号を入力すると、購入したことがヘッドエンド101に通知され、スクランブルが解除され、視聴することが出来る。この視聴により、ユーザーは後日、購入代金を支払うものである。
メインプログラム1001は、CPU706が電源投入時に最初に起動するサブプログラムであり、他のサブプログラムの制御を行う。
初期化サブプログラム1002は、電源投入時にメインプログラム1001によって起動され、端末装置500との情報交換等を行い、初期化処理を行う。初期化処理の詳細は、OpenCable(TM) HOST−POD Interface Specification(OC−SP−HOSTPOD−IF−I12−030210)及び、この仕様書から参照されている仕様書で定義されている。また、仕様書に定義されていない初期化処理も行う。ここでは、その一部を紹介する。電源が投入されると、初期化サブプログラム1002は、第2記憶部705が記憶する第1の周波数を端末装置500のCPU514を通して、QPSK復調部502に通知する。QPSK復調部502は、与えられた第1の周波数でチューニングを行い、信号を第2デスクランブラ部702に送る。また、初期化サブプログラム1002は、第2記憶部705が記憶する第1の鍵等の復号情報を第2デスクランブラ部702に与える。その結果、第2デスクランブラ部702は、デスクランブルを行い、初期化サブプログラム1002を実行するCPU706に引き渡す。よって、初期化サブプログラム1002は情報を受け取ることができる。本実施の形態では、初期化サブプログラム1002はネットワークサブプログラム1003を通して情報を受け取ることとする。詳細は後述する。
また、初期化サブプログラム1002は、第2記憶部705が記憶する第2の周波数を端末装置500のCPU514を通して、QPSK変調部503に通知する。初期化サブプログラム1002は第2記憶部705が記憶する暗号化情報をスクランブラ部703に与える。初期化サブプログラム1002が送信したい情報を、ネットワークサブプログラム1003を介して、スクランブラ部703に与えると、スクランブラ部703は、与えられた暗号化情報を用いて、データを暗号化し、端末装置500のQPSK変調部503に与える。QPSK変調部503は、与えられた暗号化された情報を変調し、ヘッドエンド101に送信する。
この結果、初期化サブプログラム1002は、端末装置500、第2デスクランブラ部702、スクランブラ部703、ネットワークサブプログラム1003を通して、ヘッドエンド101と双方向通信を行うことができる。
ネットワークサブプログラム1003は、メインプログラム1001、初期化サブプログラム1002等の複数のサブプログラムから使用される、ヘッドエンド101との双方向通信を行うためのサブプログラムである。具体的には、ネットワークサブプログラム1003を使用する他のサブプログラムに対して、TCP/IPによって、ヘッドエンド101と双方向通信を行っているように振舞う。TCP/IPは、複数の装置間で情報交換を行うためのプロトコルを規定した公知の技術であり、詳細な説明は省略する。ネットワークサブプログラム1003は、電源投入時に初期化サブプログラム1002に起動されると、予め第2記憶部705が記憶しているPOD504を識別する識別子であるMACアドレス(Media Access Controlアドレスの略)を、端末装置500を通してヘッドエンド101に通知し、IPアドレスの取得を要求する。ヘッドエンド101は、端末装置500を介してPOD504にIPアドレスを通知し、ネットワークサブプログラム1003は、IPアドレスを第1記憶部704に記憶する。以降、ヘッドエンド101とPOD504は、このIPアドレスを、POD504の識別子として使用し、通信を行う。
再生サブプログラム1004は、第2記憶部705が記憶する第2の鍵等の復号情報や、端末装置500から与えられる第3の鍵等の復号情報を第1デスクランブラ部701に与えて、デスクランブルを可能にする。また、ネットワークサブプログラム1003を通して、第1デスクランブラ部701に入力されている信号が、PPVチャンネルであることの情報を受け取る。PPVチャンネルと知ったときは、PPVサブプログラム1005を起動する。
PPVサブプログラム1005は、起動されると、端末装置500に番組の購入を促すメッセージを表示し、ユーザーの入力を受け取る。具体的には、端末装置500のCPU514に画面に表示したい情報を送ると、端末装置500のCPU514上で動作するプログラムが、端末装置500のディスプレイ509上にメッセージを表示する。ユーザーは、端末装置500の入力部513を通して暗証番号を入力すると、端末装置500のCPU514が、それを受け取り、POD504のCPU706上で動作するPPVサブプログラム1005に通知する。PPVサブプログラム1005は、受け取った暗証番号をネットワークサブプログラム1003を通してヘッドエンド101に送信する。ヘッドエンド101は、暗証番号が正しければ、復号に必要な第4の鍵などの復号化情報をネットワークサブプログラム1003を介して、PPVサブプログラム1005に通知する。PPVサブプログラム1005は受け取った第4の鍵などの復号化情報を第1デスクランブラ部701に与え、第1デスクランブラ部701は、入力されている信号をデスクランブルする。
図5を参照して、TSデコーダA505a、TSデコーダB505bは、デマルチプレクサ515を経てPOD504から受け取った信号のフィルタリングを実施し、必要なデータをオーディオデコーダA506a、オーディオデコーダB506b及びビデオデコーダA508a、ビデオデコーダB508b、1次記憶部510に引き渡す。図11AはTSデコーダA505aを示し、図11BはTSデコーダB505bを示す。PIDフィルタ1101a〜1101fは指定されたパケットIDのフィルタリングを行う。PIDフィルタは、TSデコーダ内に複数ある。セクションフィルタA1102a、セクションフィルタB1102bは、映像、音声以外のデータをフィルタリングし、1次記憶装置に格納する。ここで、POD504から来る信号はMPEG2トランスポートストリームである。MPEG2トランスポートストリームの詳細はMPEG規格書 ISO/IEC138181−1に記載されており、本実施の形態では詳細は省略する。MPEG2トランスポートストリームは、複数の固定長パケットで構成され、各パケットには、パケットIDが振られている。
図12はパケットの構成図である。1200はパケットであり、固定長の188バイトで構成される。先頭4バイトがヘッダー1201で、パケットの識別情報を格納しており、残り184バイトがペイロード1202で、送信したい情報を含んでいる。1203は、ヘッダー1201の内訳である。先頭から12ビット目〜24ビット目までの13ビットにパケットIDが含まれている。図13は送られてくる複数のパケットの列を表現した模式図である。パケット1301は、ヘッダーにパケットID「1」を持ち、ペイロードには映像Aの1番目の情報が入っている。パケット1302は、ヘッダーにパケットID「2」を持ち、ペイロードには音声Aの1番目の情報が入っている。パケット1303は、ヘッダーにパケットID「3」を持ち、ペイロードには音声Bの1番目の情報が入っている。パケット1310はパケットID「100」を持ち、ペイロードにはデータ1の1番目の情報が入っている。
パケット1304は、ヘッダーにパケットID「1」を持ち、ペイロードには映像Aの2番目の情報が入っており、これはパケット1301の続きになっている。同様にパケット1305、1311、1326、1327も他のパケットの後続データを格納している。このように、同じパケットIDを持つ、パケットのペイロードの内容を連結すると、連続した映像や音声を再生することができる。また、同じパケットIDを持つ、パケットのペイロードの内容を連結し、映像、音声以外のデータは、1次記憶部511に格納する。
図5を参照して、CPU514がパケットID「1」と出力先として「ビデオデコーダA508a」をTSデコーダA505aに指示すると、TSデコーダA505aのPIDフィルタ1101bはPOD504からデマルチプレクサ515を経て受け取ったMPEG2トランスポートストリームからパケットID「1」のパケットを抽出し、ビデオデコーダA508aに引き渡す。図5においては、映像データのみをビデオデコーダA508aに引き渡すことになる。同時に、CPU514がパケットID「2」と「オーディオデコーダA506a」をTSデコーダA505aに指示すると、TSデコーダA505aのPIDフィルタ1101aはPOD504から受け取ったMPEG2トランスポートストリームからパケットID「2」のパケットを抽出し、オーディオデコーダA506aに引き渡す。またCPU514がパケットID「100」と「1次記憶部511」をTSデコーダA505aに指示すると、TSデコーダA505aのPIDフィルタ1101cはPOD504から受け取ったMPEG2トランスポートストリームからパケットID「100」のパケットを抽出し、1次記憶装置に引き渡す。
このパケットIDに応じて必要なパケットだけを取り出す処理が、TSデコーダ505が行うフィルタリングである。TSデコーダA505aはCPU514から指示された複数のフィルタリングを同時に実行することができる。
図5を参照して、オーディオデコーダA506a、オーディオデコーダB506bは、それぞれTSデコーダA505a、TSデコーダB505bから与えられたMPEG2トランスポートストリームのパケットに埋め込まれたオーディオデータを連結し、デジタル−アナログ変換を行いスピーカ507に出力する。
スピーカ507は、オーディオデコーダA506a、オーディオデコーダB506bから与えられた信号を音声出力する。
ビデオデコーダA508a、ビデオデコーダB508bは、それぞれTSデコーダA505a、TSデコーダB505bから与えられたMPEG2トランスポートストリームのパケットに埋め込まれたビデオデータを連結し、デジタル−アナログ変換を行い表示デバイスA520a、表示デバイスB520bへ出力し、合成してディスプレイ509に表示する。表示デバイスA520a、表示デバイスB520bは図15のように構成されている。図15においてグラフィックスデバイス1501は、画像を表示するのに用いられる。ビデオデバイス1502は、映像を表示するのに用いられ、バックグラウンドデバイス1503は映像の背景を表示するのに用いられる。最終的には、各デバイスに表示された映像、画像を合成し、ディスプレイ509に出力する。表示デバイスA520a、表示デバイスB520bはまた、図16のように1つにまとめられることもまた可能である。図16において、1610は表示デバイスA520a、表示デバイスB520bをあわせたものを示す。図16において、グラフィックスデバイスA1601、ビデオデバイスA1603、バックグラウンドデバイスA1505はそれぞれ表示デバイスA520aの構成要素、グラフィックスデバイスB1602、ビデオデバイスB1504、バックグラウンドデバイスB1506はそれぞれ表示デバイスB520bの構成要素と考える。これらの各デバイスは、合成され、ディスプレイ509に出力される。
ディスプレイ509は、具体的にはブラウン管や液晶等で構成される。
2次記憶部510は、具体的には、フラッシュメモリーやハードディスク等で構成され、CPU514から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された状態でも保存しつづける。
1次記憶部511は、具体的には、RAM等で構成され、CPU514から指示されたデータやプログラムを一次的に保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された際に、抹消される。
ROM512は、書き換え不可能なメモリーデバイスであり、具体的にはROMやCD−ROM、DVDなどで構成される。ROM512には、CPU514が実行するプログラムが格納されている。
入力部513は、具体的には、フロントパネルやリモコンで構成され、ユーザーからの入力を受け付ける。図14は、フロントパネルで入力部513を構成した場合の一例である。1400はフロントパネルであり、図6のフロントパネル部603に相当する。フロントパネル1400は7つのボタン、上カーソルボタン1401、下カーソルボタン1402、左カーソルボタン1403、右カーソルボタン1404、OKボタン1405、取消ボタン1406、EPGボタン1407、2画面ボタン1408、画面選択ボタン1409を備えている。ユーザーがボタンを押下すると、押下されたボタンの識別子が、CPU514に通知される。
CPU514は、ROM512が記憶するプログラムを実行する。実行するプログラムの指示に従い、チューナーA501a、チューナーB501b、QPSK復調部502、QPSK変調部503、POD504、TSデコーダA505a、TSデコーダB505b、ディスプレイ509、2次記憶部510、1次記憶部511、オーディオデコーダA506a、オーディオデコーダB506b、ビデオデコーダA508a、ビデオデコーダB508b、ROM512、表示デバイスA520a、表示デバイスB520bを制御する。
図17は、ROM512に記憶され、CPU514に実行されるプログラムの構成図の一例である。
プログラム1700は、複数のサブプログラムで構成され、具体的にはOS1701、サービス再生部1702、Java(登録商標)VM1703、サービスマネージャ1704、Javaライブラリ1705で構成される。
OS1701は、端末装置500の電源が投入されると、CPU514が起動するサブプログラムである。OS1701は、オペレーティングシステムの略であり、Linux(登録商標)等が一例である。OS1701は、他のサブプログラムを平行して実行するカーネル1701a及びライブラリ1701bで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、OS1701のカーネル1701aは、JavaVM1703をサブプログラムとして実行する。また、ライブラリ1701bは、これらサブプログラムに対して、端末装置500が保持する構成要素を制御するための複数の機能を提供する。
機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをチューナーA501a、あるいはチューナーB501bに引き渡す。
ここでは、チューナーA501aに引き渡す場合を考える。チューナーA501aは与えられたチューニング情報に基づき復調処理を行い、復調したデータをマルチプレクサ516を経てPOD504に引き渡すことができる。この結果、他のサブプログラムはライブラリ1701bを通してチューナーA501aを制御することができる。
サービス再生部1702はサービス識別子を用いて、サービスの再生を指示する。サービス再生部1702は1つのJavaプログラムであり、ユーザーからの入力をJavaVM1703を通して受け付ける。サービスに関しては、後述する。サービスの識別子とサービスの関係は、サービス情報として、2次記憶部510に予め格納されている。図18は2次記憶部510に格納されているサービス情報の一例である。サービス情報は表形式で格納されている。列1801は、サービスの識別子である。列1802は、サービス名である。列1803はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、チューナーA501aに与える値である。列1804はプログラムナンバーである。プログラムナンバーとは、MPEG2規格で規定されているPMTを識別するための番号である。PMTに関しては、後述する。行1811〜1814の各行は、各サービスの識別子、サービス名、チューニング情報の組となる。行1811は識別子が「1」、サービス名が「チャンネル1」、チューニング情報に周波数「312MHz」、プログラムナンバーが「101」を含む組となっている。サービス再生部1702は、サービスの再生を行うため、サービスの識別子をそのままサービスマネージャ1704に引き渡す。サービス再生部1702とサービスマネージャ1704とのやり取りの詳細は後述する。
また、図18において、1820は最後に選択されたサービスの識別子を示す。再生中に、ユーザーがフロントパネル1400の上カーソル1401と下カーソル1402を押下すると、入力部513からCPU514を通して、押下された通知を受け取り、再生しているサービスを変更する。まず、サービス再生部1702は、2次記憶部510に現在再生中のサービスの識別子を記憶する。図19A及び図19B並びに図19Cは、2次記憶部510に保存しているサービスの識別子の例である。図19Aでは識別子「3」が記憶されており、図18を参照し、サービス名「TV 3」のサービスが再生中であることを示す。図19Aの状態で、ユーザーが上カーソル1401を押下するとサービス再生部1702は、図18のサービス情報を参照し、表中の前のサービスであるサービス名「チャンネル2」のサービスに再生を切り変えるため、サービスマネージャにサービス名「チャンネル2」の識別子「2」を引き渡す。同時に、2次記憶部510に記憶されているサービス識別子「2」に書き換える。図19Bは、サービス識別子が書き換えられた状態を表す。また、図19Aの状態で、ユーザーが下カーソル1402を押下するとサービス再生部1702は、図18のサービス情報を参照し、表中の次のサービスであるサービス名「TV Japan」のサービスに再生を切り変えるため、サービスマネージャにサービス名「TV Japan」の識別子「4」を引き渡す。同時に、1次記憶部511に記憶されているサービス識別子「4」に書き換える。図19Cは、サービス識別子が書き換えられた状態を表す。
JavaVM1703は、Java(TM)言語で記述されたプログラムを逐次解析し実行するJavaバーチャルマシンである。Java言語で記述されたプログラムはバイトコードと呼ばれる、ハードウエアに依存しない中間コードにコンパイルされる。Javaバーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のJavaバーチャルマシンは、バイトコードをCPU514が理解可能な実行形式に翻訳してから、CPU514に引渡し、実行することも行う。JavaVM1703は、カーネル1701aに実行するJavaプログラムを指定され起動される。本実施の形態では、カーネル1701aは、実行するJavaプログラムとしてサービスマネージャ1704を指定する。Java言語の詳細は、書籍「Java Language Specification(ISBN 0−201−63451−1)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、JavaVM自体の詳細な動作などは、「Java Virtual Machine Specification(ISBN 0−201−63451―X)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
サービスマネージャ1704は、Java言語で書かれたJavaプログラムであり、JavaVM1703によって逐次実行される。サービスマネージャ1704は、JNI(Java Native Interface)を通して、Java言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。JNIに関しても、書籍「Java Native Interface」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
サービスマネージャ1704は図20のように構成される。サービスマネージャ1704はServiceContext管理部2001とServiceContext取得部2002、XAIT情報取得部2003、およびXAIT情報保存部2004からなる。ServiceContext管理部2001はServiceContextの識別子とServiceContextを対にして保持する。図21で示されるように、2101の列は、ServiceContextの識別子を示し、2102の列は、ServiceContextを表す。行2103はServiceContextの識別子「1」がIn−bandのサービス用ServiceContextAと対応付けられることを表す。行2104はServiceContextの識別子「2」によってIn−bandのサービス用ServiceContextBを表す。行2105はServiceContextの識別子「3」でAbstractサービス用ServiceContextを表す。
ここでいうIn−bandのサービスとは映像・音声、Javaプログラムなどを含む表示・実行をする単位であり、DVB−MHP規格(正式には、ETSI TS 101 812 DVB−MHP仕様V1.0.2)では9章に定義されているサービスのことをいう。
ServiceContextはJavaTV(Java TV API Version1.0 specification)の仕様によって定義される。In−bandのサービス用ServiceContextA2106,In−bandのサービス用ServiceContextB2107とは、1つのサービスを動作させるために必要なリソースの組を特定し、そのリソースの組を用いて1つのIn−bandのサービスを実行するものである。
図22はIn−bandのサービス用ServiceContextA2106、あるいはIn−bandのサービス用ServiceContextB2107を示したものである。2201はサービス実行部であり、2202はリソースの組保持部、2203はリソースの組取得部である。サービス識別子をサービス実行部2201に渡すと、サービス実行部2201はリソースの組保持部2202によって示されたリソースの組を用いてIn−bandのサービスを実行する。リソースの組保持部2202は、図23によって示される。図23は、リソースの組識別子2301とリソースの組2302(1又は複数のリソースを示すリソース組情報を含む情報)を対にして保持している例を示したものである。リソースの組取得部2203はリソースの組保持部2202によって保持されるリソースの組を取得する。本実施の形態ではリソースの組取得部2203はJavaライブラリ1705からのみ利用される。
図24ではリソースの一例を示す。図24で示されるリソースはチューナーA501a,チューナーB501b、TSデコーダA505a,TSデコーダB505b、オーディオデコーダA506a,オーディオデコーダB506b、ビデオデコーダA508a,ビデオデコーダB508bである。2410、2411はそれぞれのリソースの組を表す。チューナーA501a,チューナーB501b、TSデコーダA505a,TSデコーダB505b、オーディオデコーダA506a,オーディオデコーダB506b、ビデオデコーダA508a,ビデオデコーダB508bは図5において説明したものであるので、ここでは省略する。
なお、本実施の形態では、リソースとして、チューナーA501a,チューナーB501b、TSデコーダA505a,TSデコーダB505b、オーディオデコーダA506a,オーディオデコーダB506b、ビデオデコーダA508a,ビデオデコーダB508bを考えているが、他の構成、あるいは他のリソースがあっても本実施の形態は実施可能である。
1つのIn−bandのサービスを動作させるためには、サービスマネージャ1704が管理するServiceContextA2002,あるいはServiceContextB2003のサービス実行部2201に動作させたいサービス識別子を指定する。図25はその一連のフローチャートを示す。例えばサービス再生部1702がIn−bandのサービスを実行したい場合、サービス再生部1702はまずサービスマネージャ1704のServiceContext取得部2002に対してServiceContextの取得要求を行う(ステップS2501)。ServiceContext取得部2002は取得要求に応じてServiceContext管理部2001からServiceContextA2106またはServiceContextB2107を取得し、サービス再生部1702に通知する。(ステップS2502)。サービス再生部1702は取得したServiceContextA2106、またはServiceContextB2107のサービス実行部2201にサービス識別子を渡す(ステップS2503)。サービス識別子を渡されたServiceContextA2106、またはServiceContextB2107のサービス実行部2201は使用するリソースの組A2410またはリソースの組B2411を用いてサービス識別子に対応するIn−bandのサービスA2601またはサービスB2602を実行する(ステップS2504)。
図26はサービスとServiceContextとリソースの組の関係を示す。ServiceContextA2106はリソースの組A2410を用いてIn−bandのサービスA2601を実行する。ServiceContextB2107はリソースの組B2411を用いてサービスB2602を実行する。その他の構成要素は図24に示したとおりであるので省略する。
本実施の形態では、まず、ユーザーによって電源を投入され、その後、フロントパネル1400の2画面ボタン408によって2画面表示される場合を考える。
ユーザーによって、電源を投入されると、2次記憶部510に記憶してある最後に選択したサービス識別子が示すIn−bandのサービスを実行する。
サービス再生部1702はIn−bandのサービス用ServiceContextA2106のサービス実行部2201にサービス識別子を渡す。
In−bandのサービス用ServiceContextA2106のサービス実行部2201は、最初にJavaライブラリ1705の中にあるTuner1705cに、サービス識別子を引き渡し、チューニングを依頼する。チューニングを依頼するためにサービス実行部2201は図27のフローチャートに示す動作をする。サービス実行部2201はTuner1705cにおいてチューナーA501aのJavaのクラスのインスタンスを取得要求する(ステップS2701)。Tuner1705cはチューナーA501aのJavaのクラスのインスタンスを要求した呼び出し元を特定する(ステップS2702)。例えば、Tuner1705cは、インスタンスを要求した呼び出し元をスレッドによって判断する。ここで、スレッドはそのスレッドが属する組によってJavaプログラムを識別することができる。Javaプログラムから属しているServiceを取得し、そこから、サービスマネージャに問い合わせ、ServiceContextA2106を特定することができる。Tuner1705cはステップS2702で特定したServiceContextA2106のリソースの組取得部2203より、リソースの組A2410を取得する(ステップS2703)。Tuner1705cはステップS2703において取得したリソースの組2410に含まれるチューナーA501aを用いるチューナーを表現するJavaのクラスのインスタンスを返す(ステップS2704)。サービス実行部2201はステップS2704で取得したインスタンスを指定してTuner1705cにチューニング要求を行う(ステップS2705)。Tuner1705cはチューニング要求を受けると、2次記憶部510が記憶するサービス情報を参照し、チューニング情報を獲得する。In−bandのサービス用ServiceContextA2001のサービス実行部2201がサービス識別子「2」をTuner1705cに引き渡すと、Tuner1705cは、図18の行1812を参照して、対応するチューニング情報「156MHz」を獲得する。Tuner1705cは、OS1701のライブラリ1701bを通して、チューナーA501aにチューニング情報を引き渡す。チューナーA501aは与えられたチューニング情報に従ってヘッドエンド101から送信されてきた信号を復調し、マルチプレクサ516を通してPOD504に引き渡す。
次にIn−bandのサービス用ServiceContextA2001のサービス実行部2201は、Javaライブラリ1705の中にあるCA1705dにデスクランブルを依頼する。CA1705dは、OS1701のライブラリ1701bを通して復号に必要な情報をPOD504に与える。POD504は、与えられた情報を元に、チューナーA501aから与えられた信号を復号しデマルチプレクサ515を通してTSデコーダ505に引き渡す。
次にIn−bandのサービス用ServiceContextA2001のサービス実行部2201は、Javaライブラリ1705の中にあるJMF1705aにサービス識別子を与え、映像・音声の再生を依頼する。
図28はフローチャートを示す。
まず、サービス実行部2201はJMF1705aにおいて映像・音声を再生するためのリソース(TSデコーダA505a、オーディオデコーダ506a、ビデオデコーダ508a)を表すJavaのクラスのインスタンスの取得要求する(ステップS2801)。
JMF1705aは映像・音声を再生するためのリソースのJavaのクラスのインスタンスを要求した呼び出し元を例えばスレッドによって判断する。(ステップS2802)。ここで、スレッドは、そのスレッドが属する組によってJavaプログラムを識別することができ、そこから、サービスを特定し、サービスマネージャ1704に問い合わせることによってServiceContextA2106を特定することができる。
JMF1705aはステップS2802で特定したServiceContextA2106のリソースの組取得部2203より、リソースの組A2410を取得する(ステップS2803)。
JMF1705aはステップS2803において取得したリソースの組2410に含まれる映像・音声を再生するためのリソースの組を表現するJavaのクラスのインスタンスを返す(ステップS2804)。
サービス実行部2201はステップS2804で取得したインスタンスを用いてJMF1705aに映像・音声の再生要求を行う(ステップS2805)。JMF1705aは再生要求を受けた後、再生すべき映像と音声を特定するためのパケットIDをPAT、PMTから取得する。PATやPMTはMPEG2規格で規定されている、MPEG2トランスポートストリーム内の番組構成を表現するテーブルであり、MPEG2トランスポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明する。
PATは、Program Association Tableの略で、パケットID「0」のパケットに格納され送信されている。JMF1705aは、PATを取得するため、OS1701のライブラリ1701bを通して、TSデコーダA505aにパケットID「0」とCPU514を指定する。TSデコーダA505aがパケットID「0」でフィルタリングを行い、CPU514に引き渡すことでJMF1705aは、PATのパケットを収集する。
図29は、収集したPATの情報の一例を模式的に表した表である。列2901は、プログラムナンバーである。列2902は、パケットIDである。列2902のパケットIDはPMTを取得するために用いられる。行2911〜2913は、サービスのプログラムナンバーと対応するパケットIDの組である。ここでは、3つのサービスが定義されている。行2911はプログラムナンバー「101」とパケットID「501」の組が定義されている。
今、JMF1705aに与えられたサービス識別子が「2」とすると、JMF1705aは、図18の行1812を参照して、対応するプログラムナンバー「102」を獲得し、次に、図29のPATの行2912を参照し、プログラムナンバー「102」に対応するパケットID「502」を獲得する。PMTは、Program Map Tableの略で、PATで規定されたパケットIDのパケットに格納され送信されている。JMF1705aは、PMTを取得するため、OS1701のライブラリ1701bを通して、TSデコーダA505aにパケットIDとCPU514を指定する。ここで、指定するパケットIDは「502」とする。TSデコーダA505aがパケットID「502」でフィルタリングを行い、CPU514に引き渡すことでJMF1705aは、PMTのパケットを収集する。
図30は、収集したPMTの情報の一例を模式的に表した表である。列3001は、ストリーム種別であり、列3002は、パケットIDである。列3002で指定されるパケットIDのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列3003は補足情報である。行3011〜3014はエレメンタリ−ストリームと呼ばれる、パケットIDと送信している情報の種別の組である。行3011は、ストリーム種別「音声」とパケットID「5011」の組であり、パケットID「5011」のペイロードには音声が格納されていることを表す。JMF1705aは、PMTから再生する映像と音声のパケットIDを獲得する。図30を参照して、JMF1705aは、行3011から音声のパケットID「5011」を、行3012から映像のパケットID「5012」を獲得する。
次に、JMF1705aは、OS1701のライブラリ1701bを通して、獲得した音声のパケットIDと出力先としてオーディオデコーダA506a、映像のパケットIDと出力先としてビデオデコーダ508aの組を、TSデコーダA505aに与える。TSデコーダA505aは与えられたパケットIDと出力先に基づいて、フィルタリングを行う。ここではパケットID「5011」のパケットをオーディオデコーダA506aに、パケットID「5012」のパケットをビデオデコーダA508aに引き渡す。オーディオデコーダA506aは、与えられたパケットのデジタル−アナログ変換を行いスピーカ507を通して音声を再生する。ビデオデコーダA508aは、与えられたパケットのデジタル−アナログ変換を行い表示デバイスA520aに出力し、合成してディスプレイ509に映像を表示する。
最後にIn−bandのサービス用ServiceContextA2106のサービス実行部2201は、Javaライブラリ1705の中にあるAM1705bにサービス識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、MPEG2トランスポートストリームに含まれるJavaプログラムを抽出し、JavaVM1703に実行させることである。MPEG2トランスポートストリームにJavaプログラムを埋め込む方法は、MPEG規格書 ISO/IEC138181−6に記述されたDSMCCという方式を用いる。ここではDSMCCの詳細な説明は省略する。DSMCC方式は、MPEG2トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。また、実行するJavaプログラムの情報はAITと呼ばれる形式で、MPEG2トランスポートストリームのパケットの中に埋め込まれ送信されている。AITは、DVB−MHP規格(正式には、ETSI TS 101 812 DVB−MHP仕様V1.0.2)の10章に定義されている、Application Information Tableの略である。
AM1705bは、利用するTSデコーダA505aを呼び出し元のJavaプログラムをスレッドによって判断し、ServiceContextA2106を取得することによって特定する。まず、AITを獲得するため、JMF1705a同様PAT、PMTを取得し、AITが格納されているパケットのパケットIDを獲得する。今、与えられたサービス識別子が「2」で、図29のPAT、図30のPMTが送信されていると、JMF1705aと同様の手順で、図30のPMTを獲得する。AM1705bは、PMTからストリーム種別が「データ」で補足情報として「AIT」を持つエレメンタリ−ストリームからパケットIDを抽出する。図30を参照して、行3013のエレメンタリ−ストリームが該当し、パケットID「5013」を獲得する。
AM1705bは、OS1701のライブラリ1701bを通してTSデコーダA505aにAITのパケットIDと、出力先として1次記憶部511を与える。TSデコーダA505aは、与えられたパケットIDでフィルタリングを行い、DSMCC形式のデータを1次記憶部511に格納する。この結果、AM1705bは、AITのパケットを収集することができる。図31は、収集したAITの情報の一例を模式的に表した表である。列3101はJavaプログラムの識別子である。列3102はJavaプログラムの制御情報である。制御情報には「autostart」「present」「kill」などがあり、「autostart」は即時に端末装置500がこのプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味し、「kill」はプログラムを停止することを意味する。列3103は、DSMCC方式でJavaプログラムを含んでいるパケットIDを抽出するためのDSMCC識別子である。列3104はJavaプログラムのプログラム名である。行3111と3112は、Javaプログラムの情報の組である。行3111で定義されるJavaプログラムは、識別子「301」、制御情報「autostart」、DSMCC識別子「1」、プログラム名「a/TopXlet」の組である。行3112で定義されるJavaプログラムは、識別子「302」、制御情報「present」、DSMCC識別子「1」、プログラム名「b/GameXlet」の組である。ここで2つのJavaプログラムは同じDSMCC識別子を持つが、これは1つのDSMCC方式でエンコードされたファイルシステム内に2つのJavaプログラムが含まれていることを表す。ここでは、Javaプログラムに対して4つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はDVB−MHP規格を参照されたい。
AM1705bは、AITの中から「autostart」のJavaプログラムを見つけ出し、対応するDSMCC識別子及びJavaプログラム名を抽出する。図31を参照して、AM1705bは行3111のJavaプログラムを抽出し、DSMCC識別子「1」及びJavaプログラム名「a/TopXlet」を獲得する。
次にAM1705bは、AITから取得したDSMCC識別子を用いて、JavaプログラムをDSMCC方式で格納しているパケットのパケットIDをPMTから獲得する。具体的には、PMTの中でストリーム種別が「データ」で、補足情報のDSMCC識別子が合致するエレメンタリ−ストリームのパケットIDを取得する。
今、DSMCC識別子が「1」であり、PMTが図30とすると、行3014のエレメンタリ−ストリームが合致し、パケットID「5014」を取り出す。
AM1705bは、OS1701のライブラリ1701bを通してTSデコーダA505aにDSMCC方式でデータが埋めこめられたパケットのパケットIDと出力先として1次記憶部511を指定する。ここでは、パケットID「5014」を与える。TSデコーダA505aは、与えられたパケットIDでフィルタリングを行い、AITを1次記憶部511に格納する。この結果、AM1705bは、必要なパケットを収集することができる。AM1705bは、収集したパケットから、DSMCC方式に従ってファイルシステムを復元し、1次記憶部511に保存する。MPEG2トランスポート中のパケットからファイルシステム等のデータを取り出し1次記憶部511等の記憶手段に保存すことを以降、ダウンロードと呼ぶ。
図32は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、3201はルートディレクトリ、3202はディレクトリ「a」,3203はディレクトリ「b」,3204はファイル「TopXlet.class」、3205はファイル「GameXlet.class」である。
次にAM1705bは、1次記憶部511にダウンロードしたファイルシステム中から実行するJavaプログラムをJavaVM1703に引き渡す。今、実行するJavaプログラム名が「a/TopXlet」とすると、Javaプログラム名の最後に「.class」を付加したファイル「a/TopXlet.class」が実行すべきファイルとなる。「/」はディレクトリやファイル名の区切りであり、図32を参照して、ファイル3204が実行すべきJavaプログラムである。次にAM1705bは、ファイル3204をJavaVM1703に引き渡す。
JavaVM1703は、引き渡されたJavaプログラムを実行する。図33はサービス識別子「2」によって示されるIn−bandのサービスを実行している例を示す。509はディスプレイを表し、603、606は図6のとおりである。3301はサービス識別子「2」で示されるIn−bandのサービスを表し、3302は、実行されたJavaプログラムによって表示されたアイコンを示す。例えば、フロントパネルの「OK」ボタン1405をユーザーが押下することによって、図34のように全画面に総合情報プログラム3401を表示することもできる。
次にユーザーがフロントパネル1400の「2画面」ボタン1408を押下すると、2つのサービスが表示される。例えば、サービス再生部1702はIn−bandのサービス用ServiceContextB2107のサービス実行部2201にサービス識別子「1」を渡す。
この場合、図5のチューナーB501b、TSデコーダB505b、オーディオデコーダB506b、ビデオデコーダB508bを用いて同様にサービスB2602を実行する。図35は2つのサービスが表示される例を示す。図35において、3501はサービス識別子「1」によって表されるIn−bandのサービスを表す。その他の構成要素は、図33に示してあるので、説明は省略する。3502はカーソルを表し、入力部がフロントパネル1400である場合、「画面選択」ボタン1409を押下することによって図36で示されるようにカーソル3502が移動する。また、カーソル3502は、一定時間経過すると、自動的に消える。
図36では、カーソル3502はサービス識別子「2」によって表されるIn−bandのサービスをさしている。このとき、ユーザーが例えば下カーソルボタン1402を押下すると、サービス識別子「2」で表されるIn−bandのサービスを実行しているServiceContextA2002のサービス実行部2201は他のサービス識別子、例えばサービス識別子「3」を受け取り、Javaライブラリ1705に含まれる各ライブラリを通してServiceContextA2002で実行させているIn−bandのサービスA2601に含まれる再生している映像・音声及びJavaプログラムの実行を、同じくJavaライブラリ1705に含まれる各ライブラリを通して停止し、新たに受け取ったサービス識別子「3」に基づいて、新たなIn−bandのサービスに含まれる映像・音声の再生及びJavaプログラムの実行を行う。その際、ServiceContextB2403の上で実行しているIn−bandのサービスB2602は停止されず、実行したままである。図37はサービス識別子「3」とサービス識別子「1」を同時に表示している一例である。3701はサービス識別子「3」によって表されるIn−bandのサービスである。 Javaライブラリ1705は、ROM512に格納されている複数のJavaライブラリの集合である。本実施の形態では、ここでは、Javaライブラリ1705は、JMF1705a,AM1705b,Tuner1705c,CA1705d、POD Lib1705e等を含んでいる。
なお本実施の形態では、ROM512が保存する内容を2次記憶部510が保存することで、ROM512を削除することも実施可能である。また、2次記憶部510は、複数のサブ2次記憶部で構成し、個々のサブ2次記憶部が異なる情報を保存しても実施可能である。例えば、1つのサブ2次記憶部は、チューニング情報のみ保存し、別のサブ2次記憶部は、OS1201のライブラリ1201bを保存し、更に別の2次記憶部は、ダウンロードしたJavaプログラムを保存するなど、詳細に分割することが可能である。
Abstractサービスとは、1つまたは複数のJavaのプログラムで構成されている。Abstractサービスは、チューニングには依存せず、例えば、EPGなどが実現できる。EPGはElectric Program Guideの略である。EPGについては後述する。
Abstractサービス用ServiceContextは、Abstractサービスを実行する。
図39はAbstractサービス用ServiceContextを示したものである。Abstractサービス用ServiceContext2108はサービス実行部3901とServiceContext設定部3902、およびServiceContext保持部3903からなる。ServiceContext設定部3902は、Abstractサービス用ServiceContextと、In−bandのサービス用ServiceContextを関連付け、ServiceContext保持部3903に保持させることにより、サービス実行部3901においてサービスを実行する際、利用するリソースの組を特定する。
サービスマネージャ1704のXAIT情報取得部2003は、Javaライブラリ1705に含まれるPOD Lib1705eを通してヘッドエンド101と双方向通信を行う。この双方向通信は、POD Lib1705eはOS1701のライブラリ1701b及び、POD504を介して、QPSK復調部502、QPSK変調部503を使用して実現される。
サービスマネージャ1704のXAIT情報取得部2003は、この通信を用いてヘッドエンド101から、端末装置500が2次記憶部510に保存すべきJavaプログラムの情報を受け取る。この情報をXAIT情報と呼ぶ。XAIT情報は、ヘッドエンド101とPOD504間で、任意の形式で送信される。どのような送信形式を採用しても、XAITに必要とする情報が含まれていれば、本発明は実施可能である。
図41は、ヘッドエンド101から取得したXAITの情報の一例を模式的に表した表である。列4101はAbstractサービスの識別子である。このAbstractサービスの識別子はまた、それぞれ1つのAbstractサービスに対応している。列4102はAbstractサービスの制御情報である。制御情報には「true」、「false」などがあり、「true」は端末装置500が電源投入時にこのプログラムを自動的に実行することを意味し、「false」は自動実行しないことを意味する。列4103は、DSMCC方式でJavaプログラムを含んでいるパケットIDを抽出するためのDSMCC識別子である。列4104はJavaプログラムのプログラム名である。列4105は、Javaプログラムの優先度である。列4106はJavaプログラムの制御情報であり、サービスが実行したとき、「autostart」ならば実行する。列4107はJavaプログラムの識別子である。行4111、4112および4113は、Javaプログラムの情報の組である。行4111で定義されるJavaプログラムは、識別子「701」、サービス制御情報「true」、Javaプログラム識別子「7011」DSMCC識別子「1」、プログラム名「a/EPGXlet」、Javaプログラムの優先度「200」、Javaプログラムの制御情報「autostart」の組である。ここでは、Javaプログラムに対して7つの情報を規定しているが、より多くのあるいは少ない情報が定義されていても本発明は実施可能である。
サービスマネージャ1704はXAIT情報取得部2003によってXAIT情報を受け取ると、AIT情報からJavaプログラムをダウンロードした手順と同じ手順で、MPEG2トランスポートストリームからファイルシステムをXAIT情報保存部2004によって1次記憶部511に保存する。その後、保存したファイルシステムを2次記憶部510に複写する。なお、1次記憶部511を介さず、直接2次記憶部510にダウンロードすることも実施可能である。
なお、本実施の形態では、2次記憶部510に複写するが、1次記憶部511に保存することも可能である。ただし、1次記憶部511に保存する場合、電源OFF時に保存された情報は全て消える。
次に、サービスマネージャ1704のXAIT情報保存部2004は、XAIT情報にダウンロードしたファイルシステムの格納位置を対応つけて2次記憶部510に保存する。図42は、2次記憶部510がXAIT情報とダウンロードしたファイルシステムが対応つけられて保存されている一例を表す。図42の中で、図41と同じ番号の要素は図41と同じなので、説明は省略する。列4411は対応するダウンロードしたファイルシステムの保存位置を格納する。図中、保存位置は矢印で示している。4210はダウンロードしたファイルシステムであり、内部にトップディレクトリ4211、ディレクトリ「a」4212、ディレクトリ「b」4213、ファイル「EPGXlet.class」4214、ファイル「TOPXlet.class」4215、ファイル「PPVXlet.class」4216、を保持する。
ここで、Javaプログラムを保存してから、XAIT情報を保存しているが、Javaプログラムを保存する前に保存することも実施可能である。制御情報「true」であるAbstractサービスの識別子が示すAbstractサービスは、端末装置500によって自動的に動作させられる。
サービスマネージャ1704をJavaVM1703に指定し、JavaVM1703がサービスマネージャ1704を起動した後、サービス再生部1702はXAIT情報取得部2003よりXAIT情報保持部2004から各Abstractサービスの制御情報を参照し「true」であるAbstractサービスを取得し、またServiceContext取得部2002からAbstractサービス用ServiceContext2108を取得し、Abstractサービス用ServiceContext2108のサービス実行部2201によって実行する。
本実施の形態では、Abstractサービスに含まれるJavaプログラムとして、EPGが実行している場合を考える。
図81はEPGの構成例を表す。EPG8101はユーザーに番組一覧を表示及び、ユーザーからの入力を受け付ける番組表示部8102と、サービス選局を行う番組再生部8103で構成される。ユーザーが電源を投入した際には、ディスプレイ509は最後に実行していたサービスを表示しており、EPG8101を表すJavaのプログラムは、実行中ではあるが、画面には表示されない。入力部513が図14で示されるフロントパネルで構成されている場合、ユーザーが、入力部513のEPGボタン1407を押下することによってはじめてディスプレイ509に表示される。
本実施の形態では、ディスプレイ509が図37に示すような表示のときに、ユーザーが、入力部513のEPGボタン1407を押下した場合を考える。ユーザーが、入力部513のEPGボタン1407を押下するとEPG8101の番組表示部8102は、この識別子を受け取り、番組情報をディスプレイ509に表示する。図38はEPGボタン1407が押下されたときのディスプレイ509を示す。3801はEPGを表す。図40A及び図40Bは、ディスプレイ509に表示されたEPG3801の一例である。図40Aを参照して、ディスプレイ509には、格子状に番組情報が表示されている。列4001には、時刻情報が表示されている。列4002には、サービス名「チャンネル1」と、列4001の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル1」では、9:00〜10:30に番組「ニュース9」が放映され、10:30〜12:00は「映画AAA」が放映されることを表す。列4003も列4002同様、サービス名「チャンネル2」と、列4001の時刻に対応する時間帯に放映される番組が表示されている。9:00〜11:00に番組「映画BBB」が放映され、11:00〜12:00は「ニュース11」が放映される。4030は、カーソルである。カーソル4030は、フロントパネル1400の左カーソル1403と右カーソル1404を押下すると移動する。図40Aの状態で、右カーソル1404を押下すると、カーソル4030は右に移動し、図40Bのようになる。また、図40Bの状態で、左カーソル1403を押下すると、カーソル4030は左に移動し、図40Aのようになる。
図40Aの状態で、フロントパネル1400のOKボタン1405が押下されると、番組表示部8102は、「チャンネル1」の識別子を再生部8103に通知する。図40Bの状態で、フロントパネル1400のOKボタン1405が押下されると、番組表示部1702aは、「チャンネル2」の識別子を再生部1402bに通知する。
また、番組表示部8102は、表示する番組情報を、POD504を通してヘッドエンド101から定期的に、1次記憶部511に記憶しておく。一般的に、ヘッドエンドからの番組情報の取得は時間が掛かる。入力部513のEPGボタン1407が押下された時、1次記憶部511に予め保存された番組情報を表示することで、素早く番組表を表示することができる。
図40A及び図40Bにおいて4010、4011は、カーソルがあるサービスの映像、音声を再生したものである。Abstractサービスに含まれるJavaプログラムは、映像・音声を再生するとき、プログラムJMF1705aを用いて再生したい映像・音声の識別子を指定し、オーディオデコーダA506aあるいはオーディオデコーダB506b、ビデオデコーダA508aあるいはビデオデコーダB508bを用いて再生される。
本実施の形態では、Abstractサービス用ServiceContext上で動作するAbstractサービスに含まれるJavaプログラムがどのリソースの組を用いて映像・音声を再生するかを指定するために、Abstractサービス用ServiceContextとIn−bandのサービス用ServiceContextA2106、あるいはB2107と関連付ける。
図39にAbstractサービス用ServiceContextを示す。ServiceContext設定部3902はAbstractサービス用ServiceContextとIn−bandのサービス用ServiceContextAを関連付ける。JavaプログラムがServiceContext設定部3902にIn−bandのServiceContextA2106を指定することによって、使用するリソースの組をリソースの組A2410に特定することができる。
図43はAbstractサービス用ServiceContextとIn−bandのサービス用ServiceContextAを関連付けた図である。2108はAbstractサービス用ServiceContextを表し、AbstractサービスE4301はその上で動作する。その他の要素は図26と同じなので、説明は省略する。図43では、Abstractサービス用ServiceContext2108をServiceContextA2106と関連付けることにより、ServiceContextA2106が特定するリソースの組を指定できる。
図44はAbstractサービス用ServiceContextとIn−bandのサービス用ServiceContextを関連付けるための方法の一例である。
図44においてAbstractサービス用ServiceContextはAbstractServiceContextクラス4402として定義する。AbstractServiceContextクラス4402はIn−bandのサービス用ServiceContextのServiceContextクラス4401を継承する。図39に示されるサービス実行部2201はServiceContextクラス4401と同一のものである。ServiceContext設定部3902はメソッドを定義する。図44では例としてsetServiceContext(ServiceContext)メソッド4410が定義されている。このメソッドの引数に関連付けたいIn−bandのサービス用ServiceContextを指定することによってIn−bandのサービス用ServiceContextが保持するリソースの組を特定できる。
本実施の形態ではAbstractサービス用ServiceContextはsetServiceContext(ServiceContext)の引数に2つのIn−bandのサービス用ServiceContextのうちどちらかのIn−bandのサービス用ServiceContextを指定することによりリソースの組を特定でき、例えば図37で表示している2つのIn−bandのサービス3701、3501のどちらにAbstractサービスを表示するかを指定することができる。
図45はAbstractサービスに含まれるJavaプログラムが映像・音声を再生するときのフローチャートである。
本実施の形態では、図38で示すようにEPGを表すJavaプログラムはIn−bandのサービス用ServiceContextAのリソースを用いる例を示す。JavaプログラムはIn−bandのサービス用ServiceContextを、サービスマネージャ1704のServiceContext取得部から取得する(ステップS4501)。次にJavaプログラムはAbstractサービス用ServiceContext2108とIn−bandのサービス用ServiceContextA2106をsetServiceContext(ServiceContext)4410を用いて関連付ける。引数のServiceContextは、Abstractサービス用ServiceContext2108のServiceContext保持部3903に保持される(ステップS4502)。JavaプログラムはJMF1705aにリソースの組を表すJavaのクラスのインスタンス(リソース組情報)を取得させ、そのインスタンスを用いて映像・音声の再生を要求する(ステップS4503)。JMF1705aは指定されたインスタンスが用いるリソースの組2410によって指定された映像・音声を再生する(ステップS4504)。ここで、ステップS4503の詳細は図28に示したとおりである。
また、Abstractサービス用ServiceContextに含まれるJavaプログラムが2つの映像・音声を同時に再生したい場合、図46の手順によって映像・音声を同時に再生することも可能である。
まず、JavaプログラムはIn−bandのサービス用ServiceContextを、サービスマネージャ1704のServiceContext取得部から取得する(ステップS4601)。次にJavaプログラムはAbstractサービス用ServiceContext2108とIn−bandのサービス用ServiceContextA2106をsetServiceContext(ServiceContextA)4410を用いて関連付ける(ステップS4602)。JavaプログラムはJMF1705aにリソースの組を表すJavaのクラスのインスタンスを取得させ、そのインスタンスを用いて映像・音声を指定することで、その映像・音声の再生を要求する(ステップS4603)。JMF1705aはそのインスタンスが特定するリソースの組A2410によって指定された映像・音声を再生する(ステップS4604)。次にAbstractサービス用ServiceContextをIn−bandのサービス用ServiceContextB2107とAbstractServiceContextのメソッドsetServiceContext(ServiceContextB)4410を用いて関連付ける(ステップS4605)。JavaプログラムはJMF1705aにリソースの組を表すJavaのクラスのインスタンスを取得させ、そのインスタンスを用いて映像・音声を指定することで、その映像・音声の再生を要求する(ステップS4606)。JMF1705aはそのインスタンスが特定するリソースの組A2410を用いて指定された映像・音声を再生する(ステップS4607)。このように本実施の形態は、複数のリソースの組を操作することもまた可能である。 なお、本実施の形態では、明示的にIn−bandのサービス用ServiceContextと関連付けたが、デフォルトで、あるIn−bandのサービス用ServiceContextと関連付けておくことも可能である。
なお、本実施例では、In−bandのサービス用ServiceContextと関連付けられるAbstractサービス用ServiceContextの例を示したが、他のServiceContextと関連付けることができないAbstractサービス用ServiceContextがあってもよい。
なお、本実施の形態では、POD504は着脱可能な形態としているが、内蔵していても実施可能である。なお、内蔵した場合、POD504のCPU706を取り外し、CPU514がCPU706の動作も行うことも実施可能である。
POD Lib1705eに登録されるJavaプログラムは、ダウンロードされたJavaプログラムだけでなく、あらかじめ内蔵されているJavaプログラムでも実施可能である。また、SDメモリーカードなどの着脱可能な記憶媒体を着脱すると、スロット部を取り付け、そこからJavaプログラムを取り込むことも可能である。また、ネットワークに接続するネットワーク部を取り付け、インターネットからJavaプログラムを取り出すことも可能である。
(実施の形態2)
本実施の形態は実施の形態1において定義された、図39のAbstractサービス用ServiceContextとは異なる構成のAbstractサービス用ServiceContextを定義する。それ以外の部分は、実施の形態1と同じなので、本実施の形態では、Abstractサービス用ServiceContextの構成、特にAbstractサービス用ServiceContextとIn−bandのサービス用ServceContextの関連付け方に絞って説明を行う。
本実施の形態におけるAbstractサービス用ServiceContextを、図47に示す。構成要素は、サービス実行部4701とServiceContext保持部3903からなる。サービス実行部4701は、Abstractサービス用ServiceContext2108のサービス実行部4701においてサービス識別子を受け取るとき同時にIn−bandのサービス用ServiceContextを受け取ることで、Abstractサービス用ServiceContextとIn−bandのサービス用ServiceContextを関連付ける。受け取ったIn−bandのサービス用ServiceContextはServiceContext保持部3903に保持される。図49は、Abstractサービス用ServiceContextとIn−bandのサービス用ServiceContextを関連付けるための方法の一例である。図49において、ServiceContext4401は図44に定義してある。AbstractServiceContextクラス4902はServiceContextクラス4401を継承する。サービス実行部4701は新たにサービスを実行するメソッドselect(Service、ServiceContext)4911を持つ。このメソッドによって、引数に指定されたAbstractサービスを実行すると同時に、引数に指定されたIn−bandのサービス用ServiceContextをServiceContext保持部3903に保存し、関連付けられる。これによってAbstractサービス用ServiceContext上で指定されたAbstractサービスを実行する際、In−bandのサービス用ServiceContextが特定するリソースの組を用いる。また、Abstractサービスに含まれるJavaプログラムが何らかのリソースを必要としたとき(例えば映像・音声の再生)、selectメソッドの引数に指定されたServiceContextが特定するリソースを用いる。
本実施の形態のフローチャートを図50に示す。サービス再生部1702はIn−bandのサービス用ServiceContextを、サービスマネージャ1704のServiceContext取得部2002から取得する(ステップS5001)。サービス再生部1702はAbstractサービスを実行する際、AbstractServceContextのselect(Service、ServiceContext)メソッド4911にIn−bandのサービス用ServiceContextを指定することにより、サービス実行部4701は引数に指定されたIn−bandのサービス用ServiceContextをServiceContext保持部3903に格納する(ステップS5002)。JavaプログラムはJMF1705aにリソースの組を表すJavaのクラスのインスタンスを取得させ、そのインスタンスを用いて映像・音声を指定することで、その映像・音声の再生を要求する(ステップS5003)。JMF1705aはステップS5003で取得したインスタンスが特定するリソースの組A2410、あるいはリソースの組B2411を用いて指定された映像・音声を再生する(ステップS5004)。ここで、ステップS5003の詳細は図28に示したとおりである。
(実施の形態3)
本実施の形態は実施の形態1とは、Abstractサービス用ServiceContext2108とIn−bandのサービス用ServiceContextの関連付け方が異なる。それ以外の部分は、実施の形態1と同じなので、本実施の形態では、Abstractサービス用ServiceContextとIn−bandのサービス用ServceContextの関連付け方に絞って説明を行う。
本実施の形態におけるサービスマネージャ1704の構成を図51に示す。本実施の形態では、Abstractサービス用ServiceContextとIn−bandのサービス用ServiceContextの関連付けをサービスマネージャ1704のServiceContextマッピング部5101によって実現する。ServiceContextマッピング部5101は、Abstractサービス用ServiceContextとIn−bandのサービス用ServiceContextの関連を保持する。図52はServiceContextマッピング部5101の構成を示したものである。ServiceContextマッピング部5101はServiceContextマッピング保持部5201、In−bandのサービス用ServiceContext取得部5202、ServiceContextのマッピング実現部5203からなる。図53はServiceContextマッピング保持部5201の一例を示す。図53において列5303はAbstractサービス用ServiceContext、列5304はIn−bandのサービス用ServiceContextを示す。行5301,5302では同一の行にあるIn−bandのサービス用とAbstractサービス用ServiceContextがそれぞれ関連付けられている。同一の行であれば、同じリソースの組を用いる。
なお、図53では1つのIn−bandのサービス用ServiceContextに対して多くて1つのAbstractサービス用ServiceContextが関連付けられているが、複数のAbstractサービス用ServiceContextが同一のIn−bandのサービス用ServiceContextに関連付けても本実施の形態は適用できる。
In−bandのサービス用ServiceContext取得部5202は、Abstractサービス用ServiceContextが関連付けられているIn−bandのサービス用ServiceContextをServiceContextマッピング保持部5203から取得し、返す。ServiceContextのマッピング実現部5203は、Abstractサービス用ServiceContextとIn−bandのサービス用ServiceContextを関連付ける。図48は、本実施の形態におけるAbstractサービス用ServiceContextを示したものである。Abstractサービス用ServiceContextは、サービス実行部4801からなる。サービス実行部4801はサービス識別子を渡されると、ServiceContextマッピング部5101のIn−bandのサービス用ServiceContextを取得し、リソースの組を特定してサービスを実行する。
図54は、Abstractサービス用ServiceContextとIn−bandのサービス用ServiceContextを関連付けるための方法の一例である。図54において、ServiceContextマッピング部はServiceContextMapクラス5401として表される。ServiceContextマッピング実現部5203を実現するために、void setServiceContext(AbstractServiceContext、ServiceContext)5413を定義する。getServiceContext(AbstractServiceContext)5412は引数のAbstractServiceContextクラスが現在関連付けられているServiceContextをServiceContextマッピング保持部5201を表現するserviceContextMap5411から取得する。setServiceContext(AbstractServiceContext、ServiceContext)5413は引数の2つのServiceContextを関連付け、serviceContextMapに保存する。また、In−bandのサービス用ServiceContext取得部5202を実現するメソッドとして、serviceContextMap5411からIn−bandのサービス用ServiceContextを取得するServiceContext getServiceContext(AbstractServiceContext)5412を定義する。
図55は本実施の形態のフローチャートを示す。
Abstractサービスに含まれるJavaプログラムはIn−bandのサービス用ServiceContextを、サービスマネージャ1704のServiceContext取得部2002から取得する(ステップS5501)。次にJavaプログラムはAbstractサービス用ServiceContext2108とIn−bandのサービス用ServiceContextA0106をsetServiceContext(AbstractService、ServiceContext)5413を用いて関連付ける(ステップS5502)。JavaプログラムはJMF1705aにリソースの組を表すJavaのクラスのインスタンスを取得させ、そのインスタンスを用いて映像・音声を指定することで、その映像・音声の再生を要求する(ステップS5503)。JMF1705aはステップS5503で取得したインスタンスが特定するリソースの組A2410、あるいはリソースの組B2411を用いて指定された映像・音声を再生する(ステップS5504)。
(実施の形態4)
実施の形態1〜実施の形態3では、Abstractサービス用ServiceContextとIn−bandのサービス用ServiceContextを関連付けることによって、リソースの組を特定した。本実施の形態では、実施の形態1〜実施の形態3と異なり、Abstractサービス用ServiceContextに直接リソースの組を特定することにより実現する。それ以外の部分は、実施の形態1と同じなので、本実施の形態では、リソースの組とAbstractサービス用ServciceContextのマッピングの仕方に絞って説明を行う。本実施の形態におけるIn−bandのサービス用ServiceContextの構成を図22に示す。また、Abstractサービス用ServiceContextの構成を図56に示す。Abstractサービス用ServiceContextはサービス実行部5611、リソースの組指定部5601、リソースの組保持部5602からなる。図56において、サービス実行部5611はサービス識別子を渡されると、In−bandのサービス用ServiceContextのリソースの組取得部2203からリソースの組を取得し、リソースの組を特定しサービスを実行する。リソースの組指定部5601はリソースの組取得部2203で取得したリソースの組を指定することにより、そのリソースの組と関連付けられる。リソースの組指定部5601により指定されたリソースの組は、リソースの組保持部5602に保持される。図58は、Abstractサービス用ServiceContextとリソースの組を関連付けるための方法の一例である。図58において、In−bandのサービス用ServiceContextはリソースの組取得部2203として新たにgetResourceSet()4411を定義する。このメソッドによって関連付けられているリソースの組を取得できる。AbstractServiceContextクラス4402はIn−bandのサービス用ServiceContextクラスを継承し、リソースの組指定部5601は新たにメソッドを定義する。図58では例としてsetResourceSet(ResourceSet)4412というメソッドが定義されている。ここで引数のResourceSet5801はリソースの組を表すクラスである。このメソッドの引数に関連付けたいリソースの組を指定することによってリソースの組を特定できる。
図60は本実施の形態のフローチャートを示す。
Abstractサービスに含まれるJavaプログラムはIn−bandのサービス用ServiceContextを、サービスマネージャ1704のServiceContext取得部から取得する(ステップS6001)。次にJavaプログラムは取得したIn−bandのサービス用ServiceContextからgetResourceSet()によってResourceSetを取得する(ステップS6002)。Abstractサービス用ServiceContext2108とResourceSet5801をsetResourceSet(ResourceSet)を用いて関連付ける(ステップS6003)。JavaプログラムはJMF1705aにリソースの組を表すJavaのクラスのインスタンスを取得させ、そのインスタンスを用いて映像・音声を指定することで、その映像・音声の再生を要求する(ステップS6004)。JMF1705aはステップS6003で取得したインスタンスが特定するリソースの組A2410、あるいはリソースの組B2411を用いて指定された映像・音声を再生する(ステップS6005)。
ここで、ステップS6004の詳細なフローチャートを図59に示す。まず、サービス実行部5611はJMF1705aにおいて映像・音声を再生するためのリソース(TSデコーダA505a、オーディオデコーダ506a、ビデオデコーダ508a)を表すJavaのクラスのインスタンスの取得要求する(ステップS5901)。JMF1705aは映像・音声を再生するためのリソースのJavaのクラスのインスタンスを要求した呼び出し元を例えばスレッドによって判断する(ステップS5902)。ここで、スレッドは、そのスレッドが属する組によってJavaプログラムを識別することができ、そこから、サービスを特定し、サービスマネージャ1704に問い合わせることによってServiceContextA2106を取得し、ResourceSet及びリソースの組を取得することができる(ステップS5903)。JMF1705aはステップS5903において取得したリソースの組2410に含まれる映像・音声を再生するためのリソースの組を表現するJavaのクラスのインスタンスを返す(ステップS5904)。サービス実行部2201はステップS5904で取得したインスタンスを用いてJMF1705aに映像・音声の再生要求を行う(ステップS5905)。即ち、JMF1705aは、ServiceContextA2106に関連付けられたリソースの組(リソース組情報を含む情報)を取得し、取得した前記リソース組情報をサービスに供給するリソース管理手段として機能する。
(実施の形態5)
本実施の形態は、実施の形態1〜実施の形態3と異なり、Abstractサービス用ServiceContextに直接リソースの組を特定することにより使用するリソースを特定する。それ以外の部分は、実施の形態1と同じなので、本実施の形態では、リソースの組とAbstractサービス用ServciceContextのマッピングの仕方に絞って説明を行う。
本実施の形態におけるIn−bandのサービス用ServiceContextの構成は、図22に示されるので、その説明は省略する。
図57はAbstractサービス用ServiceContext(サービス実行環境)の構成図である。Abstractサービス用ServiceContextはサービス実行部5701(サービス実行手段)とリソースの組保持部5702からなる。Abstractサービス用ServiceContextとリソースの組(1または複数のリソースを示すリソース組情報を含む情報)は、図57のAbstractサービス用ServiceContextのサービス実行部5701においてサービスの識別子を受け取るとき同時にリソースの組を受け取ることによって、関連付けられる。また、受け取ったリソースの組は、リソースの組保持部5702によって保持される。即ち、このようなリソースの組保持部5702を有するAbstractサービス用ServiceContext2108は、ServiceContext管理部2001に保持されるため、このServiceContext管理部2001が、互いに関連付けられたAbstractサービス用ServiceContextとリソースの組とを保持する保持手段として機能する。
図61は、Abstractサービス用ServiceContextとリソースの組を関連付けるための方法の一例である。図61において、ServiceContextクラス6101はIn−bandのサービス用ServiceContext、AbstractServiceContextクラス6102はAbstractサービス用ServiceContext、ResourceSetクラス5801はリソースの組を表す。ServiceContextクラス6101はリソースの組取得部2203として新たにgetResourceSet()6111を定義する。このメソッドによって使用しているリソースの組を取得できる。AbstractServiceContextクラス6102はIn−bandのサービス用ServiceContextクラス6101を継承する。サービス実行部5701は新たにselect(Service、ResourceSet)メソッド6112を追加する。ここで、ServiceはAbstractサービスを表し、ResourceSetはリソースの組を表すクラスである。このメソッドによって、引数に指定されたAbstractサービスを実行すると同時に、引数に指定されたResourceSetと関連付けられる。これによってAbstractサービス用ServiceContext上でAbstractサービスを実行する際、指定されたリソースの組を用いる。また、Abstractサービスに含まれるJavaプログラムが何らかのリソースを必要としたとき(例えば映像・音声の再生)、selectメソッドの引数に指定されたリソースの組を用いる。即ち、このselect(Service、ResourceSet)メソッド6112がサービス実行環境とリソースの組とを関連付ける関連付け手段として機能する。
このように本発明では、サービス実行環境であるServiceContextとリソースの組とが関連付けられるため、サービスの実行に際して、1または複数のリソースをリソースの「組」として制御することができる。
本実施の形態のフローチャートは図62に示される。サービス再生部1702はIn−bandのサービス用ServiceContextを、サービスマネージャ1704のServiceContext取得部から取得する(ステップS6201)。次にサービス再生部1702は取得したIn−bandのサービス用ServiceContextからgetResourceSet()によってResourceSetを取得する(ステップS6202)。サービス再生部1702は、Abstractサービスを実行する際、AbstractServceContextのselect(Service、ResourceSet)メソッドにResourceSetを指定し、使用するResourceSetを特定する(ステップS6203)。つまり、AbstractServceContextとResourceSetを関連付ける。JavaプログラムはJMF1705aにリソースの組を表すJavaのクラスのインスタンスを取得させ、そのインスタンスを用いて映像・音声を指定することで、その映像・音声の再生を要求する(ステップS6204)。JMF1705aはステップS6203で関連付けられたResourceSetが特定するリソースの組A2410、あるいはリソースの組B2411を用いて指定された映像・音声を再生する(ステップS6205)。ここで、ステップS6204の詳細なフローチャートは図59に示す。
(実施の形態6)
本実施の形態は、実施の形態1〜実施の形態3と異なり、Abstractサービス用ServiceContextに直接リソースの組を特定することにより使用するリソースを特定する。それ以外の部分は、実施の形態1と同じなので、本実施の形態では、リソースの組とAbstractサービス用ServciceContextのマッピングの仕方に絞って説明を行う。
本実施の形態は、Abstractサービス用ServiceContextとリソースの組のマッピングをサービスマネージャ1704において行う。図63に本実施の形態におけるサービスマネージャ1704の構成を示す。図63において6301はServiceContext−リソースの組マッピング部である。ServiceContext−リソースの組マッピング部の構成は、図64に示す。ServiceContext−リソースの組マッピング部6301は、リソースの組保持部6401、リソースの組取得部6402、リソースの組マッピング実現部6403からなる。リソースの組保持部6401を図65に示す。図65において、列6504は、Abstractサービス用、あるいはIn−bandのサービス用ServiceContextを表す。列6505は、リソースの組を表す。行6501〜6503はそれぞれ関連付けられているServiceContextとリソースの組を表す。
リソースの組取得部6402は、Abstractサービス用ServiceContext、あるいはIn−bandのサービス用ServiceContextが関連付けられているリソースの組を取得する。リソースの組マッピング実現部6403は、Abstractサービス用ServiceContextとリソースの組を関連付ける。
図66は、Abstractサービス用ServiceContextとリソースの組を関連付けるための方法の一例である。図66において、リソースの組保持部6401はresourceSetMapクラス6211として表される。リソースの組取得部6402を実現するメソッドとして、getResourceSet(ServiceContext)6212を定義する。また、リソースの組マッピング実現部6403を実現するために、void setResourceSet(AbstractServiceContext、ResourceSet)メソッド6213を定義する。getResourceSet(ServiceContext)6212は引数のServiceContextと関連付けられているResourceSetを、リソースの組保持部6401を表現するResourceMapから取得する。setResourceSet(AbstractServiceContext、ResourceSet)6213は引数のAbstractServiceContextとResourceSetを関連付け、ResourceSetMapに保存する。ここで、resourceSet5801はリソースの組を表すクラスである。
本実施の形態のフローチャートは図67に示される。
Abstractサービスに含まれるJavaプログラムはIn−bandのサービス用ServiceContextを、サービスマネージャ1704のServiceContext取得部から取得する(ステップS6701)。次にJavaプログラムは取得したIn−bandのサービス用ServiceContextを用いてgetResourceSet(ServiceContext)6212によってResourceSetを取得する(ステップS6702)。JavaプログラムはResourceSetMap6201のsetResourceSet(AbstractServiceContext,ResourceSet)6213メソッドによってResourceSetを指定し、使用するResourceSetを特定する(ステップS6703)。つまり、JavaプログラムがAbstractServiceContextとResourceSetを関連付ける。Javaプログラムは、JMF1705aにリソースの組を表すJavaのクラスのインスタンスを取得させ、そのインスタンスを用いて映像・音声を指定することで、その映像・音声の再生を要求する(ステップS6704)。JMF1705aはステップS6703で関連付けられたResourceSetが特定するリソースの組A2410、あるいはリソースの組B2411を用いて指定された映像・音声を再生する(ステップS6705)。ここで、ステップS6704の詳細なフローチャートは図59に示す。
(実施の形態7)
本実施の形態は、実施の形態1〜実施の形態6と異なり、Abstractサービス用ServiceContextに直接リソースを指定することにより、そのリソースを含むリソースの組を特定する。それ以外の部分は、実施の形態1と同じなので、本実施の形態では、リソースの組とAbstractサービス用ServciceContextのマッピングの仕方に絞って説明を行う。
本実施の形態では、サービスマネージャ1704がServiceContextとリソースの組のマッピング、リソースの組と個々のリソースのマッピングを行い、Abstractサービス用ServiceContextに個々のリソースを指定することによって、自動的にそのAbstractサービス用ServiceContextにリソースの組を指定する。図68に本実施の形態におけるサービスマネージャ1704の構成を示す。図68において6801はServiceContext−リソースマッピング部である。ServiceContext−リソースマッピング部の構成は、図69に示す。ServiceContext−リソースマッピング部6801は、リソース保持部6901、リソースの組保持部6401、リソース取得部6902、リソースの組取得部6402、リソースマッピング実現部6903からなる。リソースの組取得部6402、リソースの組保持部6401は図64に示されるので、ここでは説明を省略する。リソース保持部6901の一例は図70に示される。行7001はリソースの組、行7002はチューナー、行7003はTSデコーダ、行7004はオーディオデコーダ、行7005はビデオデコーダを示す。また、列7006はリソースの組A2410とリソースの組A2410に含まれるリソース、列7007はリソースの組B2411とリソースの組B2411に含まれるリソースを表す。
なお、リソース保持部6901はリソースとして、上記チューナー、TSデコーダ、オーディオデコーダ、ビデオデコーダを保持しているが、他の構成でも本実施の形態は実施可能である。
リソース取得部6902は、Abstractサービス用ServiceContext、あるいはIn−bandのサービス用ServiceContextが関連付けられているリソースを取得する。リソースマッピング実現部6903は、Abstractサービス用ServiceContextとリソースを関連付ける。
図71は、Abstractサービス用ServiceContextとリソースの組を関連付けるための方法の一例である。
図71において、リソースの組保持部6401はresourceSetMap6211として表される。リソース保持部6901はresourceMap7111として表される。リソースの組取得部6402を実現するメソッドとして、getResourceSet(ServiceContext)6212を定義する。リソース取得部6902として、getResource(ServiceContext、String)メソッド7112を定義する。また、リソースマッピング実現部6903を実現するために、void setResource(AbstractServiceContext、Object)メソッド7113を定義する。getResource(ServiceContext、String)7112は引数のServiceContextが現在利用しているResourceSetに含まれるStringで表されるリソースを、resourceSetMap6211、resourceMap7111を用いて取得する。Stringにはリソースの名前、例えば、"Tuner"などの文字列によって指定し、その結果、返り値として例えば、TunerA501aを表すObjectが返される。setResource(AbstractServiceContext、Object)7113は引数のAbstractServiceContextと引数で指定したObjectが表すリソースが含まれるResourceSetを関連付け、resourceSetMap6211に保存する。ここで、ResourceSet5801はリソースの組を表すクラスである。
本実施の形態のフローチャートは図72に示される。
Abstractサービスに含まれるJavaプログラムはIn−bandのサービス用ServiceContextを、サービスマネージャ1704のServiceContext取得部から取得する(ステップS7201)。次にJavaプログラムは取得したIn−bandのサービス用ServiceContextと取得したいリソースの名前を用いてgetResource(ServiceContext、String)によってリソースをあらわすObjectを取得する(例えばチューナーを表すObject)(ステップS7202)。JavaプログラムはResourceMapのsetResourceSet(AbstractServiceContext,Object)メソッドによってAbstractServiceContextにリソースのObjectを指定し、使用するResourceSetを特定する(ステップS7203)。つまり、Javaプログラムは、AbstractServiceContextと、ステップS7202で取得したリソースが含まれるResourceSetとを関連付ける。Javaプログラムは、JMF1705aにリソースの組を表すJavaのクラスのインスタンスを取得させ、そのインスタンスを用いて映像・音声を指定して、その映像・音声の再生を要求する(ステップS7204)。JMF1705aはステップS7203で関連付けられたResourceSetが特定するリソースの組A2410、あるいはリソースの組B2411を用いて指定された映像・音声を再生する(ステップS7205)。ここで、ステップS7204の詳細は図59に示したとおりである。
(実施の形態8)
本実施の形態では、実施の形態1から実施の形態7では、Abstractサービス用ServiceContextとIn−bandのサービス用ServiceContext、あるいはリソースの組を関連付けることによって、In−bandのサービス用ServiceContextからリソースの組、あるいはリソースを特定するオブジェクトを指定した。しかし、Abstractサービス用ServiceContextが例えば、2つのビデオデコーダを使用したい場合、ビデオデコーダを操作するたびに、In−bandのサービス用ServiceContextあるいはリソースの組を関連付ける煩雑さがある。図75は2つのビデオデコーダを使用する一例である。7501はCMの映像である。その他の構成要素は図38で示してあるので省略する。
本実施の形態では、Javaライブラリ1705を用いて、実際のリソースと関連付けられたJavaのオブジェクトを取得することによって、リソースを特定する。他は、実施の形態1と同じであるので、本実施の形態では、リソースの特定方法を中心に述べる。
実施の形態1において参照した図17のJavaライブラリ1705が図73のように構成されている場合を考える。図73において、SFL7301はセクションフィルタを表す。SFL7301は、図11A及び図11Bで示したセクションフィルタA1102a、セクションフィルタB1102bを用いて、セクションのフィルタリングを行い、1次記憶部511に格納する。Device7302は図5で示した表示デバイスA520a、表示デバイスB520bを制御する。サウンド7303はオーディオデコーダA506a、あるいはオーディオデコーダB506bを用いて音声を再生する。その他の構成要素は、図17において説明したので省略する。
これらのライブラリは、物理的なリソースを表す、あるいはリソースを特定し、実行することができるJavaのクラスを定義する。それぞれのクラスと実際のリソースの関係を記す図74は、物理的なリソースを表す、あるいはリソースを特定し、実行することができるJavaのクラスと実際のリソースの関係を記す。図74において、7420の中にはJavaのクラスのインスタンス、7421の中には実際のリソースを表す。NetworkInterfaceクラス7401は、DAVIC仕様(DAVIC1.4.1 Specification Part9、Complete DAVIC Specifications、以下DAVIC仕様と呼ぶ)で定義されており、NetworkInterfaceクラスのインスタンスを管理するクラスNetworkInterfaceManagerにメソッドpublic NetworkInterface[] getNetworkInterfaces()、あるいはpublic NetworkInterface getNetworkInterface(TransportStream)によって取得されることができる。NetworkInterfaceクラスはTuner1705aに定義され、チューナーA501aを内部的に特定する。SectionFilterGroup7402は、DAVIC仕様で定義され、SectionFilterGroupのコンストラクタで取得できる。SectionFilterGroupクラスはSFL7301に定義され、セクションフィルタ7411を利用する。Player7403はインタフェースでその実装クラスは映像を再生する。PlayerはJava Media Framework仕様(Java Media Framework API Version 1.0 Constants)において定義される。Playerの実装クラスのインスタンスは、Playerを生成するクラスManagerのメソッドcreatePlayer(DataSource)、createPlayer(MediaLocator)、createPlayer(URL)によって取得することができる。PlayerはJMF1705aに定義され、その実装クラスは内部的には、TSデコーダ505a、オーディオデコーダA506a、ビデオデコーダA508aを用いて実現される。HSound7404は音を再生する。HSoundクラスは、HAVi仕様(HAVi v1.1 Java L2 APIs、 15−May−2001 以下HAVi仕様と呼ぶ)で定義され、HSoundクラスのコンストラクタによって取得できる。HSoundクラスは、サウンド7303に定義され、オーディオデコーダA506aを利用する。HGraphicsDevice7405、HVideoDevice7406、HBackgroundDevice7407は、HAVi仕様で定義され、それぞれのクラスのインスタンスは、HGraphicsDevice7405、HVideoDevice7406、HBackgroundDevice7407を管理するHScreenクラスのメソッドpublic HGraphicsDevice[] getHVideoDevices()、public HVideoDevice[] getHVideoDevices()、public HBackgroundDevice[] getHBackgroundDevices()、あるいはpublic HGraphicsDevice getDefaultHGraphicsDevice()、public HVideoDevice getDefaultHVideoDevice()、public HBackgroundDevice getDefaultHBackgroundDevice()によって取得できる。HGraphicsDevice7405、HVideoDevice7406、HBackgoundDevice7407はデバイス7302に定義され、それぞれ、グラフィックスデバイス7412、ビデオデバイス7413、バックグラウンドデバイス7414を示す。
なお、本実施の形態では、リソースを表す、あるいは利用するJavaのクラスのインスタンスと物理的なリソースをそれぞれ図74に示す構成で考えたが、他の構成でも本実施の形態は実施可能である。
図76はIn−bandのサービス用ServiceContextの一例を示す。In−bandのサービス用ServiceContextは、getResourceSet()メソッド7611を定義し、ResourceSetインスタンスを返す。ResourceSet7602は、リソースの組を表し、getResource(String)7612を定義する。getResource(String)7612は、Stringにリソースを利用するJavaのクラスを指定することにより、このリソースの組に含まれるリソースを表す、あるいは、使用するJavaのインスタンスを返す。例えば、getResource("NetworkInterface")と指定することにより、NetworkInterfaceクラスのインスタンスを取得できる。この引数は、String(文字列)で指定しているが、リソースの識別子等、指定できるものであれば何でもよい。また、getResources()メソッド7613はすべてのリソースを表現するJavaのクラスのインスタンスを返す。例えば、NetworkInterfaceクラスのインスタンス7401、SectionFilterGroupクラスのインスタンス7402、Playerクラスのインスタンス7403、HSoundクラスのインスタンス7404、HGraphicsDeviceクラスのインスタンス7405、HVideoDeviceクラスのインスタンス7406、HBackgroundDeviceクラスのインスタンス7407を返す。Abstractサービス用ServiceContext2108は、ServiceContextのgetResource(String)、あるいは、getResources()を呼ぶことによって、リソースに関連付けられたJavaのインスタンスを取得することができ、リソースを特定できる。
なお、1つのServiceContextが複数のResourceSetを保持していても、ServiceContext7601にpublic ResourceSet[] getResourceSet()を定義することによって実現できる。
なお、ServiceContextにpublic Object[] getResources()、public Object getReousrce(String)を定義して、リソースを表すクラスのインスタンスを取得してもよい。
(実施の形態9)
実施の形態8では、In−bandのサービス用ServiceContextからJavaのクラスのインスタンスを取得することによってリソースを特定できた。しかし、Abstractサービス用ServiceContextが直接Javaライブラリ1705から、物理的なリソースを表すインスタンス、あるいはリソースを利用するJavaのクラスのインスタンスを取得した場合、どのIn−bandのサービス用ServiceContextによって特定されるリソースの組にリソースが含まれるかはわからない。本実施の形態では、Javaライブラリから取得したインスタンスをIn−bandのサービス用ServiceContextにたずねることによってIn−bandのサービス用ServiceContextが特定するリソースの組にリソースが含まれるかどうかを決定する。他は、実施の形態1と同じであるので、本実施の形態では、リソースの特定方法を中心に述べる。
図77はIn−bandのサービス用ServiceContextの一例を示す。7701はIn−bandのサービス用ServiceContextを表す。isContained(Object)メソッド7711は引数に指定された物理的なリソースを表す、あるいはリソースを利用するJavaのクラスのインスタンスをとり、その引数に指定されたインスタンスが、そのServiceContextが特定するリソースの組に含まれるリソースを用いるかどうかを判断する。そのServiceContextが特定するリソースを用いる場合、trueを返し、用いない場合、falseを返す。これによって、引数のObjectで指定したリソースがどのリソースの組に含まれるかを特定できる。
(実施の形態10)
実施の形態9ではJavaのクラスのインスタンスがServiceContextの特定するリソースの組に含まれるリソースを用いるかどうかを判断した。しかしながら、たとえば、図5の表示デバイスが1つであらわされ、かつその構成要素が図78に示されるようにビデオデバイス7801が1つである場合、2つのIn−bandのサービス用ServiceContextは1つのビデオデバイスを共有するということもありうる。このような場合、あるServiceContextに関連付けられているかどうかの判断以外にも共有しているかどうかを見分ける方法が必要である。図79はIn−bandのServiceContextの一例を示す。図79では、In−bandのサービス用ServiceContextを表すServiceContextクラス7901に図77に示されるisContainedメソッド7711のほかに新たにメソッドisShared(Object)7911を定義する。このメソッド7911は2つのIn−bandのサービス用ServiceContext間でリソースを共有していれば、例えば、同じビデオデバイス7801を共有していればこのメソッドはtrueを返し、共有していなければfalseを返す。
(実施の形態11)
実施の形態9に加えて、物理リソースが使用中であるかどうかを調べるメソッドを追加する。これによって、空いているリソースを特定することができる。図80はIn−bandのServiceContextの一例を示す。図80において、ServiceContextクラス8001はIn−bandのサービス用ServiceContextを表す。ServiceContextクラス8001において、isUsed(Object)メソッド8011は、引数に渡されたJavaのクラスのインスタンスが使用する物理的なリソースが現在使用中であればtrue、使用していなければfalseを返す。isContained(Object)7711は図77に示したので省略する。
なお、実施の形態8と実施の形態9から実施の形態11のいずれかの組み合わせを同時に定義すること可能である。
(実施の形態12)
実施の形態9から実施の形態11においてJavaライブラリ1705から、リソースを表すインスタンス、あるいはリソースを利用するクラスのインスタンスを取得するとき、使用したいリソースの組に関連付けられたインスタンスを取得できない可能性がある。コンストラクタからインスタンスを生成する場合、あるいはPlayerを取得するときには、つねにある特定のリソースの組を利用するインスタンス、例えば、SectionFilterGroup、HSoundのインスタンス等しか取得できない可能性もある。そのとき、これらのメソッドに対して、In−bandのサービス用ServiceContextにおいて、例えばpublic void connectResource(Object)メソッドを定義することによって、関連付けるリソースの組を変更することができるようにする。引数のObjectには、リソースを表すインスタンス、あるいはリソースを利用するクラスのインスタンスを指定する。
なお、本実施の形態は、In−bandのサービス用ServiceContextにpublic void connectResource(Object)メソッドを定義することによってリソースを特定しているが、Abstractサービス用ServiceContextに、public void connectResource(ServiceContext、Object)を定義することによっても実現可能である。ここで、引数のServiceContextには、In−bandのサービス用ServiceContextを指定する。
なお、本実施の形態は、引数のObjectに指定するリソースを表すインスタンス、あるいはリソースを利用するクラスのインスタンスを特定のものに限定しても実施可能である。例えば、実施の形態8に述べたインスタンスのうちNetworkInterfaceクラスのインスタンスは、現実のリソースと関連付けられたインスタンスをすべて取得することができるので、本実施の形態のメソッドの引数に指定することができないようにする等が考えられる。
(実施の形態13)
実施の形態8では、In−bandのサービス用ServiceContextからJavaのクラスのインスタンスを取得することによってリソースを特定できた。しかし、Abstractサービス用ServiceContextが直接Javaライブラリ1705から物理的なリソースを表すインスタンス、あるいはリソースを利用するJavaのクラスのインスタンス取得した場合、どのIn−bandのServiceContextによって特定されるリソースの組にリソースが含まれるかはわからない。
本実施の形態では、物理的なリソースを表すインスタンス、あるいはリソースを利用するJavaのクラスのインスタンスを取得するときに、ServiceContextを引数に与えることによって、使用するリソース、およびリソースの組を特定する。他は、実施の形態1と同じであるので、本実施の形態では、リソースの特定方法を中心に述べる。以下のメソッドを、Javaライブラリ1705を用いて定義する。
NetworkInterfaceクラスのインスタンスを取得するときは、NetworkInterfaceクラスのインスタンスを管理するクラスNetworkInterfaceManagerにメソッドpublic NetworkInterface[] getNetworkInterfaces(ServiceContext)を追加することにより、物理的なリソースを特定するNetworkInterfaceクラスのインスタンスを取得する。SectionFilterGroupのコンストラクタにおいて、ServiceContextを引数に与えることにより、物理的なリソースを特定するSectionFilterGroupクラスのインスタンスを取得する。引数にServiceContextを与えるメソッドcreatePlayer(DataSource、ServiceContext)、createPlayer(MediaLocator、ServiceContext)、createPlayer(URL、ServiceContext)のいずれか、あるいはすべてを、Playerを生成するクラスManagerのメソッドに追加することにより、物理的なリソースを特定するPlayerクラスのインスタンスを取得する。ここで、DataSource、MediaLocator、URLは再生するAVのソースの場所を指定する。
HGraphicsDevice、HVideoDevice、HBackgroundDeviceは、HScreenクラスのメソッドpublic HGraphicsDevice[] getHVideoDevices(ServiceConext)、public HVideoDevice[] getHVideoDevices(ServiceConext)、public HBackgroundDevice[] getHBackgroundDevices(ServiceConext)、あるいはpublic HGraphicsDevice getDefaultHGraphicsDevice(ServiceConext)、public HVideoDevice getDefaultHVideoDevice(ServiceConext)、public HBackgroundDevice getDefaultHBackgroundDevice(ServiceConext)を追加することによって、物理リソースを特定する。
なお、本実施の形態では、引数にServiceContextを指定したが、リソースの組を特定するクラスResourceSetを定義し、それを引数に指定するなど、リソースの組を表す識別子を指定することによっても実現可能である。
なお、本実施の形態では、上記リソースを表すインスタンス、あるいはリソースを利用するクラスのインスタンスの取得方法として、上記のメソッドを考えているが、これらのメソッド以外でも、引数にServiceContext、あるいはResourceSetクラスのインスタンスを指定することにより、実施可能である。
以上のように本発明によれば、1ないし複数のサービスを実行するサービス実行手段と、前記サービスが使用するリソース集合を特定する実行環境を保持する実行環境保持手段と前記実行環境保持手段が保持する実行環境と前記サービスを対応付けることにより前記サービスと前記実行環境が特定するリソース集合を対応付ける実行環境選定手段を備えることにより、前記実行環境で動作する前記サービス内の映像、音声、プログラムなどを実行する際に必要となるリソース集合を割り当てることができる。
また、前記実行環境を表す実行環境識別子を前記実行環境保持手段から取得する実行環境識別子取得手段を備え、前記実行環境識別子はサービスの識別子を受け取るサービスの識別子受け取り部を備えることにより、前記サービスは前記リソース集合を割り当てて実行することができる。
また、前記実行環境保持手段は、複数の実行環境を保持し、前記実行環境を表す実行環境識別子を前記実行環境保持手段から取得する実行環境識別子取得手段を備え、前記実行環境識別子は、第二の実行環境識別子を受け取る実行環境識別子受け取り部を有し、前記実行環境識別子受け取り部が前記第二の実行環境識別子を受け付けたとき、実行環境選定手段は、前記実行環境識別子が示す実行環境で動作するサービスと前記第二の実行環境識別子が示す実行環境のリソース集合を対応付けることによって、前記実行環境で動作する前記サービスに含まれる映像、音声、プログラムを実行する際に必要となるリソース集合として任意の実行環境が特定するリソース集合を割り当てることができ、また、複数のリソース集合を交互に割り当てることで、複数のリソース集合の制御ができる。
また、前記実行環境識別子が示す実行環境で動作するサービスは、前記実行環境識別子取得手段により第二の実行環境識別子を取得し、前記第二の実行環境識別子のサービスの識別子受け取り部に第二のサービスを渡し、前記第二のサービスを動作させることによって、前記実行環境で動作するサービスが前記第二の実行環境識別子が示す実行環境で第二のサービスを動作させることができる。
また、前記実行環境識別子が示す実行環境で動作するサービスのうち限定されたものだけが、前記実行環境識別子取得手段により第二の実行環境識別子を取得し、前記第二の実行環境識別子のサービス受け取り部に第二のサービスを渡し、前記第二のサービスを動作させることによって、実行環境で動作するサービスのうち、限定されたサービスが第二の実行環境識別子が示す実行環境で第二のサービスを動作させることができる。
また、前記サービスの識別子受け取り部はサービスの識別子を受け取ると同時に実行環境識別子も受け取り、前記サービスの識別子受け取り部がサービスの識別子とともに前記実行環境識別子取得手段により取得した第二の実行環境識別子を受け取ったとき、実行環境選定手段は、前記実行環境識別子が示す実行環境で動作するサービスと前記第二の実行環境識別子が示す実行環境のリソース集合を対応付けることによって、前記実行環境で動作するサービスに含まれる映像、音声、プログラムを実行する際に必要となるリソース集合として他の実行環境によって特定されるリソース集合を割り当てることができ、柔軟なリソース集合の制御ができる。
また、前記実行環境を表す実行環境識別子を前記実行環境保持手段から取得する実行環境識別子取得手段を備え、前記実行環境識別子は、前記実行環境識別子が示す実行環境が特定するリソース集合を取得するリソース集合取得部を有することにより、リソース集合を取得することができ、装置内のリソース集合を知ることができる。
また、前記実行環境保持手段は、複数の実行環境を保持し、前記実行環境識別子は、前記実行環境識別子取得手段から取得した第二の実行環境識別子の前記リソース集合取得部から取得したリソース集合を受け取るリソース集合受け取り部を有し、前記リソース集合受け取り部が前記リソース集合を受け付けたとき、前記実行環境選定手段は、前記実行環境識別子が示す実行環境で動作するサービスと前記実行環境が特定する前記リソース集合を対応付けることによって、前記実行環境で動作するサービス内の映像、音声、プログラムなどを実行する際に必要となるリソース集合として前記リソース集合を明示的に割り当てることができ、柔軟なリソース集合の制御ができる。
また、前記リソース集合は個々のリソースを取得する個別リソース取得部を有することにより、個々のリソースの制御が可能となり、リソースの集合を特定して映像、音声、プログラムなどを個別に実行できる。
また、前記個別リソース取得部が、前記リソース集合に含まれる全てのリソースを取得することによって、前記リソース集合に含まれる全リソースを知ることができる。
また、前記実行環境を表す実行環境識別子を前記実行環境保持手段から取得する実行環境識別子取得手段を備え、前記実行環境識別子は、前記実行環境識別子が示す実行環境が特定するリソース集合に含まれる個々のリソースを取得するリソース取得部を有することにより、リソース集合に含まれる個々のリソースを取得することができ、リソース集合を特定して映像、音声、プログラムなどを個別に実行できる。
また、前記リソース取得部が、前記リソース集合の全てリソースを取得することにより、全てのリソースを取得することができ、前記リソース集合に含まれる全リソースを知ることができる。
また、前記実行環境保持手段が保持する実行環境が特定するリソース集合に含まれる個々のリソースを取得できる個別リソース取得手段を備えることにより、全ての実行環境のリソース集合に含まれる個々のリソースを取得することができ、リソース集合を特定して、映像、音声、プログラムなどを個別に実行できる。
また、前記実行環境を表す実行環境識別子を前記実行環境保持手段から取得する実行環境識別子取得手段を備え、前記実行環境識別子が示す実行環境が特定するリソース集合が前記個別リソース取得手段によって取得したリソースを含むか否かを判定するリソース判定部を備えることにより、個々のリソースが含まれるリソース集合を特定することによって、特定のリソース集合に含まれるリソースを判別でき、リソース集合を特定して、映像、音声、プログラムなどを個別に実行できる。
また、前記実行環境識別子取得手段によって取得した第二の実行環境識別子が示す実行環境が特定するリソース集合と前記実行環境識別子が示す実行環境が特定するリソース集合が前記個別リソース取得手段によって取得したリソースを共有するか否かを判定するリソース共有判定部を備えることにより、個々のリソースが複数のリソース集合によって共有されているか否かを判定できることによって、共有されていない場合は、前記実行環境識別子が示す実行環境で動作するプログラムが、そのリソースを、排他的に使うことを保障でき、他のサービスに影響を与えずに映像、音声、プログラムなどを個別に実行できる。
また、前記実行環境識別子が示す実行環境は、前記個別リソース取得手段によって取得した前記リソースが、実行環境識別子取得手段から取得した実行環境識別子が示す実行環境が使用中であるか否かを判定するリソース使用判定部を備えることにより、個々のリソースが、現在使用中であるか否かを判定できることによって、空いているリソースを用いて映像、音声、プログラムなどを個別に実行できる。
また、前記実行環境を表す実行環境識別子を前記実行環境保持手段から取得する実行環境識別子取得手段を備え、前記実行環境識別子は前記実行環境識別子が示す実行環境が特定するリソース集合と前記個別リソース取得手段によって取得したリソースを対応付けるリソース接続部を備えることにより、前記リソースを前記リソース集合に含めることによって、リソースを制御したいリソースの集合に含めることができる。
また、前記実行環境を表す実行環境識別子を前記実行環境保持手段から取得する実行環境識別子取得手段を備え、前記個別リソース取得手段は前記実行環境識別子取得手段によって取得した実行環境識別子を指定することにより、前記実行環境識別子が示す実行環境の特定するリソース集合に含まれるリソースを取得することによって、前記実行環境が特定するリソース集合に含まれるリソースを用いて映像、音声、プログラムなど個別に実行できる。
また、前記実行環境保持手段は、複数の実行環境を保持し、前記実行環境を表す実行環境識別子を前記実行環境保持手段から取得する実行環境識別子取得手段と、前記実行環境識別子と前記実行環境識別子取得手段により取得した第二の実行環境識別子を対応付ける実行環境対応付け手段を備え、前記実行環境対応付け手段により前記実行環境識別子と前記第二の実行環境識別子を対応付けたとき、実行環境選定手段は、前記実行環境識別子が示す実行環境で動作するサービスと前記第二の実行環境識別子が示す実行環境のリソース集合を対応付けることによって、実行環境で動作するサービス内の映像、音声、プログラムなどを実行する際に必要となるリソース集合として第二の実行環境識別子が示す実行環境が特定するリソース集合を割り当てることができる。
また、前記実行環境保持手段は、複数の実行環境を保持し、前記実行環境を表す実行環境識別子を前記実行環境保持手段から取得する実行環境識別子取得手段を備え、前記実行環境識別子は、前記実行環境識別子が示す実行環境が特定するリソース集合を取得するリソース集合取得部を有し、前記実行環境識別子と第二の実行環境識別子のリソース集合取得部から取得したリソース集合を対応付けるリソース集合対応付け手段を備え、前記リソース集合対応付け手段により前記実行環境識別子と前記リソース集合を対応付けたとき、実行環境選定手段は、前記実行環境識別子が示す実行環境で動作するサービスと前記リソース集合を対応付ける実行環境とリソース集合を対応付けることによって、実行環境で動作するサービス内の映像、音声、プログラムなどを実行する際に必要となるリソース集合として第二の実行環境識別子が示す実行環境が特定するリソース集合を割り当てることができる。
また、コンピュータ読み取り可能な記憶媒体であって、1ないし複数のサービスを実行するサービス実行手段と、前記サービスが使用するリソース集合を特定する実行環境を保持する実行環境保持手段と前記実行環境保持手段が保持する実行環境と前記サービスを対応付けることにより前記サービスと前記実行環境が特定するリソース集合を対応付ける実行環境選定手段の各機能を発揮するプログラムを記録したコンピュータ読み取り可能な記録媒体であることにより、可搬性を高めることができる。
本発明にかかるサービス実行装置は、1ないし複数のサービスを実行するサービス実行手段と、前記サービスが使用するリソース集合を特定する実行環境を保持する実行環境保持手段と、前記実行環境保持手段が保持する実行環境と前記サービスを対応付けることにより前記サービスと前記実行環境が特定するリソース集合を対応付ける実行環境選定手段を備えることによって、デジタル放送受信機において、サービスに含まれるプログラムがPicture in PictureやDouble Windowなどの複数のリソース集合を制御する際に有用である。またデジタル放送受信機に限らずパーソナルコンピュータや携帯電話などソフトウエアによって制御される情報機器の複数のリソース集合を制御などの用途にも応用できる。
本発明に係るケーブルテレビシステムの実施の形態1の構成図である。 本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。 本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。 本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。 本発明に係るケーブルテレビシステムにおいて端末装置の構成図である。 本発明に係るケーブルテレビシステムにおいて端末装置の外観の一例を示す図である。 本発明に係るPOD504のハードウェア構成の構成図である。 本発明に係るディスプレイ509の表示の一例を示す図である。 本発明に係るディスプレイ509の表示の一例を示す図である。 本発明に係るPOD504が保存するプログラム構成の構成図である。 (a)は、本発明に係るTSデコーダAの構成図であり、(b)は、本発明に係るTSデコーダBの構成図である。 MPEG規格で定義されているパケットの構成図である。 MPEG2トランスポートストリームの一例を示す図である。 入力部513をフロントパネルで構成した場合の外観の一例を示す図である。 本発明に係る表示デバイスA520a、あるいは表示デバイスB520bの構成図である。 本発明に係る表示デバイスの構成図である。 本発明に係る端末装置500が保存するプログラム構成の構成図である。 本発明に係る2次記憶部510が保存する情報の一例を示す図である。 (a)は、本発明に係る1次記憶部511が保存する情報の一例を示す図であり、(b)は、本発明に係る1次記憶部511が保存する情報の他の例を示す図であり、(c)は、本発明に係る1次記憶部511が保存する情報のさらに他の例を示す図である。 本発明に係るサービスマネージャ1704の構成図である。 本発明に係るServiceContext管理部の一例を示す図である。 本発明に係るIn−bandのサービス用ServiceContextの一例を示す図である。 本発明に係るリソースの組保持部の一例を示す図である。 本発明に係るリソースの組の一例を示す図である。 本発明に係るServiceContext取得に関するフローチャートである。 本発明に係るServiceContextとリソースの組の関係を示す図である。 本発明に係るチューナーを表すJavaのクラスのインスタンスを取得するフローチャートである。 本発明に係る映像、音声を再生するJavaのクラスのインスタンスを取得するフローチャートである。 本発明に係るMPEG2規格が規定するPATの内容を表す模式図である。 本発明に係るMPEG2規格が規定するPMTの内容を表す模式図である。 本発明に係るDVB−MHP規格が規定するAITの内容を表す模式図である。 本発明に係るDSMCC方式で送信されるファイルシステムを表す模式図である。 本発明に係るディスプレイ509の表示の一例を示す図である。 本発明に係るディスプレイ509の表示の一例を示す図である。 本発明に係るディスプレイ509の表示の一例を示す図である。 本発明に係るディスプレイ509の表示の一例を示す図である。 本発明に係るディスプレイ509の表示の一例を示す図である。 本発明に係るディスプレイ509の表示の一例を示す図である。 本発明に係るAbstractサービス用ServiceContextの構成図である。 (a)は、本発明に係るディスプレイ509の表示の一例を示す図であり、(b)は、本発明に係るディスプレイ509の表示の他の例を示す図である。 本発明に係るXAITの内容を表す模式図である。 本発明に係る2次記憶部510が保存する情報の一例を示す図である。 本発明に係るServiceContextとリソースの組の関係を示す図である。 本発明に係るJavaのクラスを示す図である。 本発明に係る映像・音声を再生するフローチャートである。 本発明に係る映像・音声を再生するフローチャートである。 Abstractサービス用ServiceContextの構成図である。 Abstractサービス用ServiceContextの構成図である。 本発明に係るJavaのクラスを示す図である。 本発明に係る映像・音声を再生するフローチャートである。 本発明に係るサービスマネージャ1704の構成図である。 本発明に係るServiceContextマッピング部の構成図である。 本発明に係るServiceContextマッピング保持部の一例を示す図である。 本発明に係るJavaのクラスを示す図である。 本発明に係る映像・音声を再生するフローチャートである。 Abstractサービス用ServiceContextの構成図である。 Abstractサービス用ServiceContextの構成図である。 本発明に係るJavaのクラスを示す図である。 本発明に係る映像、音声を再生するJavaのクラスのインスタンスを取得するフローチャートである。 本発明に係る映像・音声を再生するフローチャートである。 本発明に係るJavaのクラスを示す図である。 本発明に係る映像、音声を再生するJavaのクラスのインスタンスを取得するフローチャートである。 本発明に係るサービスマネージャ1704の構成図である。 本発明に係るServiceContext―リソースの組マッピング部の構成図である。 本発明に係るリソースの組保持部の一例を示す図である。 本発明に係るJavaのクラスを示す図である。 本発明に係る映像・音声を再生するフローチャートである。 本発明に係るサービスマネージャ1704の構成図である。 本発明に係るServiceContext−リソースマッピング部の構成図である。 本発明に係るリソース保持部の一例を示す図である。 本発明に係るJavaのクラスを示す図である。 本発明に係る映像・音声を再生するフローチャートである。 本発明に係るJavaライブラリ1705の構成図である。 本発明に係るJavaのクラスと物理的なリソースの関係を示した図である。 本発明に係るディスプレイ509の表示の一例を示す図である。 本発明に係るJavaのクラスを示す図である。 本発明に係るJavaのクラスを示す図である。 本発明に係る表示デバイスの構成図である。 本発明に係るJavaのクラスを示す図である。 本発明に係るJavaのクラスを示す図である。 本発明に係るEPGを示す図である。
符号の説明
1701 OS
1702 サービス再生部
1703 JavaVM
1704 サービスマネージャ
1705 Javaライブラリ
1705a JMF
2001 ServiceContext管理部
2108 Abstractサービス用ServiceContext
5701 サービス実行部
5702 リソースの組保持部
6112 メソッド

Claims (5)

  1. 1または複数のリソースを使用するサービスを実行するためのサービス実行環境において前記サービスを実行するサービス実行手段と、
    アプリケーションが前記サービス実行手段に対してサービスの実行を要求した際に、前記サービス実行環境と前記サービスが使用する1または複数のリソースを示すリソース組情報とを関連付ける関連付け手段と、
    前記関連付け手段により関連付けられた前記サービス実行環境と前記リソース組情報とを保持する保持手段と、
    前記保持手段により保持されたサービス実行環境において、前記保持手段に保持された前記リソース組情報を前記サービスに供給するリソース管理手段と
    を備えることを特徴とするサービス実行装置。
  2. 前記リソース管理手段は、前記サービス実行環境に関連付けられた前記リソース組情報を取得し、取得した前記リソース組情報を前記サービスに供給する
    ことを特徴とする請求項1記載のサービス実行装置。
  3. 前記リソースは選局手段であることを特徴とする請求項1記載のサービス実行装置。
  4. 1または複数のリソースを使用するサービスの実行がアプリケーションから要求された際に、前記サービスを実行するためのサービス実行環境と、前記サービスが使用する1または複数のリソースを示すリソース組情報とを関連付ける関連付けステップと、
    前記関連付けステップで関連付けられた前記サービス実行環境と前記リソース組情報とを記憶媒体に格納する格納ステップと、
    前記記憶媒体に格納された前記サービス実行環境において、前記記憶媒体に格納された前記リソース組情報を前記サービスに供給するリソース管理ステップと
    前記リソース管理ステップで供給されたリソース組情報により示される1または複数のリソースを使用することにより、前記サービス実行環境において前記サービスを実行するサービス実行ステップと
    を含むことを特徴とするサービス実行方法。
  5. 1または複数のリソースを使用するサービスの実行がアプリケーションから要求された際に、前記サービスを実行するためのサービス実行環境と、前記サービスが使用する1または複数のリソースを示すリソース組情報とを関連付ける関連付けステップと、
    前記関連付けステップで関連付けられた前記サービス実行環境と前記リソース組情報とを記憶媒体に格納する格納ステップと、
    前記記憶媒体に格納された前記サービス実行環境において、前記記憶媒体に格納された前記リソース組情報を前記サービスに供給するリソース管理ステップと
    前記リソース管理ステップで供給されたリソース組情報により示される1または複数のリソースを使用することにより、前記サービス実行環境において前記サービスを実行するサービス実行ステップと
    をコンピュータに実行させることを特徴とするプログラム。
JP2004225696A 2003-08-06 2004-08-02 サービス実行装置 Withdrawn JP2005073239A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004225696A JP2005073239A (ja) 2003-08-06 2004-08-02 サービス実行装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003287625 2003-08-06
US54776704P 2004-02-27 2004-02-27
JP2004225696A JP2005073239A (ja) 2003-08-06 2004-08-02 サービス実行装置

Publications (1)

Publication Number Publication Date
JP2005073239A true JP2005073239A (ja) 2005-03-17

Family

ID=34426672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004225696A Withdrawn JP2005073239A (ja) 2003-08-06 2004-08-02 サービス実行装置

Country Status (1)

Country Link
JP (1) JP2005073239A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100760087B1 (ko) 2006-02-13 2007-09-18 엘지전자 주식회사 서비스 또는 컴포넌트의 재생을 위한 미디어 플레이어설정방법
JP2009525657A (ja) * 2006-02-03 2009-07-09 エーティーアイ・テクノロジーズ・インコーポレーテッド トランスポート・ストリームのジッタの除去
US7765330B2 (en) 2006-02-13 2010-07-27 Lg Electronics Inc. Apparatus for playing media and method of setting resources thereof
US8291458B2 (en) 2007-06-14 2012-10-16 Panasonic Corporation Digital broadcasting receiver and digital broadcasting receiving system
JP2012244386A (ja) * 2011-05-19 2012-12-10 Nippon Hoso Kyokai <Nhk> 受信機
JP2013009347A (ja) * 2011-05-20 2013-01-10 Nippon Hoso Kyokai <Nhk> 放送通信連携受信装置
JP2016001908A (ja) * 2015-08-11 2016-01-07 ソニー株式会社 受信方法、受信装置、供給方法、および供給装置
US9813743B2 (en) 2011-01-25 2017-11-07 Saturn Licensing Llc Receiving device, receiving method, providing device, providing method, programs, and broadcasting system

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009525657A (ja) * 2006-02-03 2009-07-09 エーティーアイ・テクノロジーズ・インコーポレーテッド トランスポート・ストリームのジッタの除去
KR100760087B1 (ko) 2006-02-13 2007-09-18 엘지전자 주식회사 서비스 또는 컴포넌트의 재생을 위한 미디어 플레이어설정방법
US7720937B2 (en) 2006-02-13 2010-05-18 Lg Electronics Inc. Apparatus for playing media and method of setting the same
US7765330B2 (en) 2006-02-13 2010-07-27 Lg Electronics Inc. Apparatus for playing media and method of setting resources thereof
US8291458B2 (en) 2007-06-14 2012-10-16 Panasonic Corporation Digital broadcasting receiver and digital broadcasting receiving system
US9813743B2 (en) 2011-01-25 2017-11-07 Saturn Licensing Llc Receiving device, receiving method, providing device, providing method, programs, and broadcasting system
JP2012244386A (ja) * 2011-05-19 2012-12-10 Nippon Hoso Kyokai <Nhk> 受信機
JP2013009347A (ja) * 2011-05-20 2013-01-10 Nippon Hoso Kyokai <Nhk> 放送通信連携受信装置
JP2016001908A (ja) * 2015-08-11 2016-01-07 ソニー株式会社 受信方法、受信装置、供給方法、および供給装置

Similar Documents

Publication Publication Date Title
US9264757B2 (en) Service executing apparatus
US8144174B2 (en) Display processing method and display processing apparatus
JP4243571B2 (ja) 放送受信装置
KR20040027956A (ko) 리시버/디코더에 관한 방법 및 장치
US20090222867A1 (en) Broadcast receiving apparatus, video storing apparatus, and multimedia delivering system
JPWO2006077720A1 (ja) デジタルテレビおよび画像合成方法
JPWO2007072680A1 (ja) データ出力装置、機器制御装置およびマルチメディア配信システム
JP2008543121A (ja) 記録再生装置および記録再生方法
WO2006137463A1 (en) Program execution apparatus and execution method
KR20090079848A (ko) 프로그램 치환 방법
JPWO2005099250A1 (ja) プログラム実行装置
JP2005073239A (ja) サービス実行装置
JP2004166256A (ja) 受信装置、受信方法、プログラム及び記録媒体
JP2013149171A (ja) プログラム実行方法およびその装置
JP4149414B2 (ja) プログラム置き換え方法およびプログラム置き換え装置
JP4554659B2 (ja) プログラム置き換え方法およびプログラム置き換え装置
JP4728307B2 (ja) プログラム置き換え方法およびプログラム置き換え装置
JP4149502B2 (ja) プログラム置き換え方法およびプログラム置き換え装置
JP2010011115A (ja) 放送受信装置
JP2008187333A (ja) プログラム実行装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070720

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20091204