JP2005020724A - Program replacing method - Google Patents
Program replacing method Download PDFInfo
- Publication number
- JP2005020724A JP2005020724A JP2004161831A JP2004161831A JP2005020724A JP 2005020724 A JP2005020724 A JP 2005020724A JP 2004161831 A JP2004161831 A JP 2004161831A JP 2004161831 A JP2004161831 A JP 2004161831A JP 2005020724 A JP2005020724 A JP 2005020724A
- Authority
- JP
- Japan
- Prior art keywords
- program
- pod
- java
- message
- terminal device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
本発明は、プログラムをダウンロードして既存のプログラムと置き換える更新方法に関する。特に、デジタルテレビにおいて、ダウンロードしたプログラムを既存のプログラムに対して一時的に置き換えて実行することに関する。 The present invention relates to an update method for downloading a program and replacing an existing program. In particular, in digital television, it relates to executing a program that has been downloaded by temporarily replacing an existing program.
従来のデジタルテレビにおけるプログラムをダウンロードして更新する機能は、特許文献1や特許文献2に記載されている。
図43は、従来のプログラムをダウンロードし実行するデジタルケーブルテレビシステムの構成図であり、ヘッドエンド4110と、2台の端末装置4120と4130で構成されている。ヘッドエンド4110は、3つのプログラムA4111、プログラムB4112、プログラムC4113を保存し、端末装置4120及び4130に供給する。端末装置4120は、予め保存している3つのプログラムA4121、プログラムB4122、プログラムC4123とこれらプログラムを実行するプロセッサ4124を有する。同様に、端末装置4130も、予め保存している3つのプログラムA4131、プログラムB4132、プログラムC4133とこれらプログラムを実行するプロセッサ4134を有する。端末装置4120及び4130は、ヘッドエンド4110より新しいプログラムを送信されると既存のプログラムと置き換えて保存し、以後、更新されたプログラムを実行する。例えば、ヘッドエンド4110より新しいプログラムA4111が端末装置4120及び4130に送られると、端末装置4120及び4130は、プログラムA4121及び4131をプログラムA4111に置き換える。以降、プロセッサ4124及び4134は、プログラムA4121及び4131の代わりに、更新されたプログラムA4111を実行する。このように、端末装置が保存するプログラムの更新を行うことにより、端末装置の機能の更新及び新しい機能の追加を実現することができる。
FIG. 43 is a configuration diagram of a digital cable television system that downloads and executes a conventional program, and includes a
しかしながら、従来の技術においては、既存のプログラムを更新してしまうため、更新する前のプログラムに簡単に戻すことが出来ない。期間や時間限定で、特定の機能を提供したい場合、もう一度、ヘッドエンドからプログラムをダウンロードして元に戻すことが必要となる。一般的にダウンロードは時間を要すると共に、端末装置の他の機能を使用できなくなるため、ダウンロード回数が増えるとユーザーが端末装置を使用できないという問題が発生する。 However, in the prior art, since an existing program is updated, it is not possible to easily return to the program before the update. If you want to provide a specific function for a limited time or time, you need to download the program from the headend again and restore it. In general, downloading takes time and other functions of the terminal device cannot be used. Therefore, when the number of downloads increases, there is a problem that the user cannot use the terminal device.
そこで、本発明は、放送受信端末装置内のプログラムの更新を可能とすると同時に、既存のプログラムを容易に戻すことを可能にするプログラム置き換え方法を提供することを目的とする。 SUMMARY OF THE INVENTION An object of the present invention is to provide a program replacement method that makes it possible to update a program in a broadcast receiving terminal device and at the same time easily return an existing program.
上記目的を達成するために、本発明は、放送受信端末装置に着脱可能に取り付けられたPODと前記放送受信端末装置内のプログラムとの間でメッセージの送受信をする場合に、前記PODとのメッセージの送受信を行えるように登録された前記放送受信端末装置内のプログラムを書き換える方法であって、プログラムの種類を特定するために識別子を有する第1のプログラムが前記PODとのメッセージの送受信が可能となるように登録するステップと、前記第1のプログラムの識別子と同じ内容の識別子を有し、既に前記放送受信端末装置内に存在する第2のプログラムに対し、前記第2のプログラムと前記PODとのメッセージの送受信を停止することを通知するステップと、前記第2のプログラムと前記PODとのメッセージの送受信を停止するステップとを有することを特徴とする。これによって、更新(置き換え)用の新たな第1のプログラムがダウンロードされた場合であっても、既存の第2のプログラムを削除することなく保存しているので、更新前の状態に簡単に戻すことができる。なお、PODとは、例えば、CableCard(TM)と呼ばれるデスクランブル等を行うカードである。 In order to achieve the above object, the present invention provides a message to / from the POD when a message is transmitted / received between a POD detachably attached to the broadcast receiving terminal device and a program in the broadcast receiving terminal device. Is a method for rewriting a program in the broadcast receiving terminal device registered so as to be able to send and receive messages, wherein a first program having an identifier for specifying the type of program can send and receive messages to and from the POD. The second program, the POD, and the second program having an identifier having the same content as the identifier of the first program and existing in the broadcast receiving terminal device. A step of notifying that transmission / reception of the message is stopped, and transmission / reception of the message between the second program and the POD Characterized by a step of stopping. As a result, even when a new first program for update (replacement) is downloaded, the existing second program is saved without being deleted, so that it is easily returned to the state before the update. be able to. The POD is a card that performs descrambling or the like called CableCard (TM), for example.
ここで、前記第1のプログラムが前記PODとのメッセージの送受信が可能になったことを前記第1のプログラムに通知するステップを有してもよい。これによって、第1のプログラムは、PODとのメッセージ送受信が可能になったことを知り、PODとのメッセージ送受信を開始することができる。 Here, the method may further comprise a step of notifying the first program that the first program can send and receive messages to and from the POD. Thereby, the first program knows that message transmission / reception with the POD has become possible, and can start message transmission / reception with the POD.
なお、前記第2のプログラムと前記PODとのメッセージの送受信を停止するとは、例えば、前記PODとのメッセージの送受信が可能となるように登録していた前記第2のプログラムを非登録とすることである。また、前記第1のプログラムは放送波の一部として送られてもよい。 Note that stopping message transmission / reception between the second program and the POD means, for example, deregistration of the second program that has been registered so that message transmission / reception with the POD is possible. It is. The first program may be sent as part of a broadcast wave.
また、前記PODとのメッセージの送受信を停止することの通知を受けた第2のプログラムは、前記PODとのメッセージの送受信が可能となるように登録していた前記第2のプログラムを非登録とするために必要な処理を実行してもよい。これによって、第2のプログラムは、更新後の後処理等を実行することができる。 In addition, the second program that has received the notification that the transmission / reception of the message with the POD is to be stopped is the non-registration of the second program that has been registered so that the transmission / reception of the message with the POD can be performed. It is also possible to execute processing necessary for the purpose. Thereby, the second program can execute post-processing after the update and the like.
また、前記第1のプログラムと前記PODとのメッセージの送受信を停止するステップと、前記PODとのメッセージの送受信を停止していた前記第2のプログラムを再び送受信が可能となるように登録するステップとを有してもよい。これによって、第2のプログラムから第1のプログラムに更新した後に、再び、元の第2のプログラムに戻す際に、第2のプログラムをダウンロードすることなく、登録処理を行うだけで元の状態に戻すことができる。 A step of stopping transmission / reception of messages between the first program and the POD, and a step of registering the second program that has stopped transmission / reception of messages with the POD so that transmission / reception can be performed again. You may have. As a result, after updating from the second program to the first program, when returning to the original second program again, it is possible to restore the original state by simply performing the registration process without downloading the second program. Can be returned.
なお、前記第1のプログラムと前記PODとのメッセージの送受信を停止するステップよりも以前に、前記第1のプログラムに対して前記第1のプログラムと前記PODとのメッセージの送受信を停止することを通知するステップを有してもよい。これによって、第1のプログラムは、停止される前に、その旨を事前に知ることができるので、停止前に必要となる処理を完了しておくことができる。 In addition, before the step of stopping the transmission / reception of the message between the first program and the POD, the transmission / reception of the message between the first program and the POD is stopped with respect to the first program. You may have the step to notify. As a result, the first program can know in advance before it is stopped, so that the processing necessary before the stop can be completed.
また、上記目的を達成するために、本発明は、放送受信端末装置に着脱可能に取り付けられたPODと前記放送受信端末装置内のプログラムとの間でメッセージの送受信をする場合に、前記PODとのメッセージの送受信を行えるように登録された前記放送受信端末装置内のプログラムを書き換える方法であって、プログラムの種類を特定するための識別子を有し、かつ、前記PODとのメッセージの送受信が可能となるように登録がなされた第1のプログラムに対して前記PODとのメッセージの送受信を停止することを通知するステップと、プログラムの種類を特定するための識別子を有し、かつ、前記PODとのメッセージの送受信が可能となるように登録がなされた第1のプログラムに対して前記PODとのメッセージの送受信を停止するステップと、前記第1のプログラムの識別子と同じ内容の識別子を有し、既に前記放送受信端末装置内に存在する第2のプログラムに対し、前記第2のプログラムと前記PODとのメッセージの送受信が可能となるように登録するステップとを有することを特徴とする。これによって、更新後の第1のプログラムを更新前の第2のプログラムに置き換えることで、簡単に、更新前の状態に戻すことができる。 In order to achieve the above object, the present invention relates to the POD when transmitting / receiving a message between a POD detachably attached to a broadcast receiving terminal device and a program in the broadcast receiving terminal device. Is a method of rewriting a program in the broadcast receiving terminal device registered so as to be able to send and receive a message, having an identifier for specifying the type of program, and capable of sending and receiving a message to and from the POD A step of notifying the first program registered so as to stop sending / receiving messages with the POD, an identifier for identifying the type of program, and the POD Message transmission to the POD is stopped for the first program that has been registered so that the message can be sent and received. And transmitting and receiving messages between the second program and the POD with respect to a second program having an identifier having the same content as the identifier of the first program and already existing in the broadcast receiving terminal device And a step of registering so as to be possible. Thereby, the state before the update can be easily restored by replacing the first program after the update with the second program before the update.
なお、本発明は、このようなプログラム置き換え方法として実現できるだけでなく、各ステップを回路等で実装したプログラム置き換え装置として実現したり、各ステップをコンピュータに実行させるプログラムとして実現したり、そのようなプログラムが記録されたコンピュータ読み取り可能な記録媒体として実現したりすることができる。 The present invention can be realized not only as such a program replacement method, but also as a program replacement device in which each step is implemented with a circuit or the like, or as a program for causing a computer to execute each step. It can be realized as a computer-readable recording medium on which the program is recorded.
本発明によれば、既存のプログラムを削除することなく、一時的にダウンロードしたプログラムを代わりに実行することで、プログラムの更新が可能になると同時に、既存のプログラムを容易に戻すことも可能になる。また、既存のプログラムと同時に実行可能となるようにプログラムをダウンロードして保存することで、既存のプログラムに無い機能を追加することができる。 According to the present invention, instead of deleting an existing program, a temporarily downloaded program is executed instead, so that the program can be updated and at the same time the existing program can be easily returned. . Also, by downloading and saving a program so that it can be executed simultaneously with the existing program, it is possible to add a function that does not exist in the existing program.
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
(実施の形態1)
まず、本発明に係るケーブルテレビシステムの実施の形態1を、図面を参照しながら説明する。図1は、ケーブルシステムを構成する装置の関係を表したブロック図であり、ヘッドエンド101及び3個の端末装置A111、端末装置B112、端末装置C113で構成される。本実施の形態では、1つのヘッドエンドに対して3つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(Embodiment 1)
First,
ヘッドエンド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仕様に基づいたMOEG2トラスポートパケット形式で伝送され、音声や映像に加え、各種データ放送用データも送信することができる。
The
ヘッドエンド101は、これらの周波数帯域に適切な放送信号を送信するため、QPSK変調部やQAM変調部等を有する。また、端末装置からのデータを受信するため、QPSK復調器を有する。また、ヘッドエンド101は、これら変調部及び復調部に関連する様々な機器を有すると考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
The
端末装置A111、端末装置B112、端末装置C113は、ヘッドエンド101からの放送信号を受信し再生する。また、ヘッドエンド101に対して、各端末装置固有のデータを送信する。3つの、端末装置は本実施の形態では同じ構成を取る。
The terminal device A111, the terminal device B112, and the terminal device C113 receive and reproduce the broadcast signal from the
図5は、端末装置のハードウエア構成を表すブロック図である。500は端末装置であり、QAM復調部501、QPSK復調部502、QPSK変調部503、TSデコーダ505、オーディオデコーダ506、スピーカ507、ビデオデコーダ508、ディスプレイ509、2次記憶部510、1次記憶部511、ROM512、入力部513、CPU514で構成される。また端末装置500には、POD504が着脱できる。
FIG. 5 is a block diagram illustrating a hardware configuration of the terminal device.
図6は、端末装置500の外観の一例である薄型テレビである。
601は、薄型テレビの筐体であり、POD504を除く、端末装置500の構成要素をすべてを内蔵している。
FIG. 6 is a thin television that is an example of the appearance of the
602はディスプレイであり、図5におけるディスプレイ509に相当する。
603は複数のボタンで構成されるフロントパネル部であり、図5の入力部513に相当する。
604は信号入力端子であり、ヘッドエンド101との信号の送受信を行うためにケーブル線を接続する。信号入力端子は、図5のQAM復調部501、QPSK復調部502、QPSK変調部503と接続されている。
Reference numeral 604 denotes a signal input terminal for connecting a cable line in order to transmit / receive a signal to / from the
605は、図5のPOD504に相当するPODカードである。POD504は、図6のPODカード605のように、端末装置500とは独立した形態を取り、端末装置500に着脱可能となっている。POD504の詳細は後述する。
606はPODカード605を挿入する挿入スロットである。
図5を参照して、QAM復調部501は、CPU514から指定された周波数を含むチューニング情報で、ヘッドエンド101でQAM変調され送信されてきた信号を復調し、POD504に引き渡す。
Referring to FIG. 5,
QPSK復調部502は、CPU514から指定された周波数を含むチューニング情報で、ヘッドエンド101でQPSK変調され送信されてきた信号を復調し、POD504に引き渡す。
The QPSK demodulator 502 demodulates a signal transmitted by QPSK modulation at the
QPSK変調部503は、CPU514から指定された周波数を含む復調情報で、POD504から渡された信号をQPSK復調し、ヘッドエンド101に送信する。
POD504は、図6のように端末装置本体500から着脱可能な形態をしている。POD504の一例としては、CableCard(TM)と呼ばれるデスクランブル等を行うカードがある。端末本体500とPOD504の接続インターフェースは、OpenCable(TM) HOST−POD Interface Specification(OC−SP−HOSTPOD−IF−I12−030210)及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。
The
The
図7は、POD504の内部構成を表すブロック図である。POD504は、第1デスクランブラ部701、第2デスクランブラ部702、スクランブラ部703、第1記憶部704、第2記憶部705、CPU706で構成される。
FIG. 7 is a block diagram showing the internal configuration of the
第1デスクランブラ部701は、CPU706からの指示により、端末装置500のQAM復調部501から暗号化された信号を受け取り、復号を行う。そして、復号された信号を端末装置500のTSデコーダ505に送る。デコードに必要な鍵などの情報はCPU706から適宜与えられる。具体的には、ヘッドエンド101はいくつかの有料チャンネルを放送している。ユーザーが、この有料チャンネルを購買すると、第1デスクランブラ部701は、CPU706から鍵等の必要な情報を受け取りデスクランブルすることで、ユーザーは有料チャンネルを閲覧することができる。鍵などの必要な情報が与えられない場合は、第1デスクランブラ部701は、デスクランブルを行わず、受け取った信号をそのまま、TSデコーダ505に送る。
The
第2デスクランブラ部702は、CPU706からの指示により、端末装置500のQPSK復調部502から暗号化された信号を受け取り、復号を行う。そして、復号されたデータをCPU706に引き渡す。
The
スクランブラ部703は、CPU706からの指示により、CPU706から受け取ったデータを暗号化し、端末装置500のQPSK変調部503に送る。
第1記憶部704は、具体的にはRAM等の一次記憶メモリーで構成され、CPU706が処理を行う際、一時的にデータを保存するために使用される。
The
Specifically, the
第2記憶部705は、具体的にはフラッシュROM等の2次記憶メモリーで構成され、CPU706が実行するプログラムを格納し、また、電源OFFになっても消去されては困るデータの保存に使用される。
Specifically, the
CPU706は、第2記憶部705が記憶するプログラムを実行する。プログラムは複数のサブプログラムで構成される。図8は、第2記憶部705が記憶するプログラムの一例である。図8では、プログラム800は、メインプログラム801、初期化サブプログラム802、ネットワークサブプログラム803、再生サブプログラム804、PPVサブプログラム805等複数のサブプログラムで構成されている。
The
ここでPPVとはPay Per Viewの略であり、映画など特定の番組を有料で視聴できるようにするサービスである。ユーザーが暗証番号を入力すると、購入したことがヘッドエンド101に通知され、スクランブルが解除され、視聴することが出来る。この視聴により、ユーザーは後日、購入代金を支払うものである。
Here, PPV is an abbreviation for Pay Per View, and is a service that enables a specific program such as a movie to be viewed for a fee. When the user inputs a personal identification number, the purchase is notified to the
メインプログラム801は、CPU706が電源投入時に最初に起動するサブプログラムであり、他のサブプログラムの制御を行う。
初期化サブプログラム802は、電源投入時にメインプログラム801によって起動され、端末装置500との情報交換等を行い、初期化処理を行う。初期化処理の詳細は、OpenCable(TM) HOST−POD Interface Specification(OC−SP−HOSTPOD−IF−I12−030210)及び、この仕様書から参照されている仕様書で定義されている。また、仕様書に定義されていない初期化処理も行う。ここでは、その一部を紹介する。電源が投入されると、初期化サブプログラム802は、第2記憶部705が記憶する第1の周波数を端末装置500のCPU514を通して、QPSK復調部502に通知する。QPSK復調部502は、与えられた第1の周波数でチューニングを行い、信号を第2デスクランブラ部702に送る。また、初期化サブプログラム802は、第2記憶部705が記憶する第1の鍵等の復号情報を第2デスクランブラ部702に与える。その結果、第2デスクランブラ部702は、デスクランブルを行い、初期化サブプログラム802を実行するCPU706に引き渡す。よって、初期化サブプログラム802は情報を受け取ることができる。本実施の形態では、初期化サブプログラム802はネットワークサブプログラム803を通して情報を受け取ることとする。詳細は後述する。
The
The
また、初期化サブプログラム802は、第2記憶部705が記憶する第2の周波数を端末装置500のCPU514を通して、QPSK変調部503に通知する。初期化サブプログラム802は第2記憶部705が記憶する暗号化情報をスクランブラ部703に与える。初期化サブプログラム802が送信したい情報を、ネットワークサブプログラム803を介して、スクランブラ部703に与えると、スクランブラ部703は、与えられた暗号化情報を用いて、データを暗号化し、端末装置500のQPSK変調部503に与える。QPSK変調部503は、与えられた暗号化された情報を変調し、ヘッドエンド101に送信する。
In addition, the
この結果、初期化サブプログラム802は、端末装置500、第2デスクランブラ部702、スクランブラ部703、ネットワークサブプログラム803を通して、ヘッドエンド101と双方向通信を行うことができる。
As a result, the
ネットワークサブプログラム803は、メインプログラム801、初期化サブプログラム802等の複数のサブプログラムから使用される、ヘッドエンド101との双方向通信を行うためのサブプログラムである。具体的には、ネットワークサブプログラム803を使用する他のサブプログラムに対して、TCP/IPによって、ヘッドエンド101と双方向通信を行っているように振舞う。TCP/IPは、複数の装置間で情報交換を行うためのプロトコルを規定した公知の技術であり、詳細な説明は省略する。ネットワークサブプログラム803は、電源投入時に初期化サブプログラム802に起動されると、予め第2記憶部705が記憶しているPOD504を識別する識別子であるMACアドレス(Media Access Controlアドレスの略)を、端末装置500を通してヘッドエンド101に通知し、IPアドレスの取得を要求する。ヘッドエンド101は、端末装置500を介してPOD504にIPアドレスを通知し、ネットワークサブプログラム803は、IPアドレスを第1記憶部704に記憶する。以降、ヘッドエンド101とPOD504は、このIPアドレスを、POD504の識別子として使用し、通信を行う。
The
再生サブプログラム804は、第2記憶部705が記憶する第2の鍵等の復号情報や、端末装置500から与えられる第3の鍵等の復号情報を第1デスクランブラ部701に与えて、デスクランブルを可能にする。また、ネットワークサブプログラム803を通して、第1デスクランブラ部701に入力されている信号が、PPVチャンネルであることの情報を受け取る。PPVチャンネルと知ったときは、PPVサブプログラム805を起動する。
The
PPVサブプログラム805は、起動されると、端末装置500に番組の購入を促すメッセージを表示し、ユーザーの入力を受け取る。具体的には、端末装置500のCPU514に画面に表示したい情報を送ると、端末装置500のCPU514上で動作するプログラムが、端末装置500のディスプレイ509上にメッセージを表示する。ユーザーは、端末装置500の入力部513を通して暗証番号を入力すると、端末装置500のCPU514が、それを受け取り、POD504のCPU706上で動作するPPVサブプログラム805に通知する。PPVサブプログラム805は、受け取った暗証番号をネットワークサブプログラム803を通してヘッドエンド101に送信する。ヘッドエンド101は、暗証番号が正しければ、復号に必要な第4の鍵などの復号化情報をネットワークサブプログラム803を介して、PPVサブプログラム805に通知する。PPVサブプログラム805は受け取った第4の鍵などの復号化情報を第1デスクランブラ部701に与え、第1デスクランブラ部701は、入力されている信号をデスクランブルする。
When the
図5を参照して、TSデコーダ505は、POD504から受け取った信号のフィルタリングを実施し、必要なデータをオーディオデコーダ506及びビデオデコーダ508、CPU514に引き渡す。ここで、POD504から来る信号はMPEG2トランスポートストリームである。MPEG2トランスポートストリームの詳細はMPEG規格書 ISO/IEC13818−1に記載されており、本実施の形態では詳細は省略する。MPEG2トランスポートストリームは、複数の固定長パケットで構成され、各パケットには、パケットIDが振られている。図9はパケットの構成図である。900はパケットであり、固定長の188バイトで構成される。先頭4バイトがヘッダー901で、パケットの識別情報を格納しており、残り184バイトがペイロード902で、送信したい情報を含んでいる。903は、ヘッダー901の内訳である。先頭から12ビット目〜24ビット目までの13ビットにパケットIDが含まれている。図10は送られてくる複数のパケットの列を表現した模式図である。パケット1001は、ヘッダーにパケットID「1」を持ち、ペイロードには映像Aの1番目の情報が入っている。パケット1002は、ヘッダーにパケットID「2」を持ち、ペイロードには音声Aの1番目の情報が入っている。パケット1003は、ヘッダーにパケットID「3」を持ち、ペイロードには音声Bの1番目の情報が入っている。
Referring to FIG. 5,
パケット1004は、ヘッダーにパケットID「1」を持ち、ペイロードには映像Aの2番目の情報が入っており、これはパケット1001の続きになっている。同様にパケット1005、1026、1027も他のパケットの後続データを格納している。このように、同じパケットIDを持つ、パケットのペイロードの内容を連結すると、連続した映像や音声を再現することができる。
The
図10を参照して、CPU514がパケットID「1」と出力先として「ビデオデコーダ508」をTSデコーダ505に指示すると、TSデコーダ505はPOD504から受け取ったMPEG2トランスポートストリームからパケットID「1」のパケットを抽出し、ビデオデコーダ508に引き渡す。図10においては、映像データのみをビデオデコーダ508に引き渡すことになる。同時に、CPU514がパケットID「2」と「オーディオデコーダ506」をTSデコーダ505に指示すると、TSデコーダ505はPOD504から受け取ったMPEG2トランスポートストリームからパケットID「2」のパケットを抽出し、オーディオデコーダ506に引き渡す。図10においては、音声データのみをビデオデコーダ508に引き渡すことになる。
Referring to FIG. 10, when
このパケットIDに応じて必要なパケットだけを取り出す処理が、TSデコーダ505が行うフィルタリングである。TSデコーダ505はCPU514から指示された複数のフィルタリングを同時に実行することができる。
The process of extracting only necessary packets according to the packet ID is filtering performed by the
図5を参照して、オーディオデコーダ506は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたオーディオデータを連結し、デジタル−アナログ変換を行いスピーカ507に出力する。
Referring to FIG. 5,
スピーカ507は、オーディオデコーダ506から与えられた信号を音声出力する。
ビデオデコーダ508は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたビデオデータを連結し、デジタル−アナログ変換を行いディスプレイ509に出力する。
The speaker 507 outputs the signal given from the
The
ディスプレイ509は、具体的にはブラウン管や液晶等で構成され、ビデオデコーダ508から与えられたビデオ信号を出力したり、CPU514から指示されたメッセージを表示したりする。
The
2次記憶部510は、具体的には、フラッシュメモリーやハードディスク等で構成され、CPU514から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された状態でも保存しつづける。
Specifically, the
1次記憶部511は、具体的には、RAM等で構成され、CPU514から指示されたデータやプログラムを一次的に保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された際に、抹消される。
Specifically, the
ROM512は、書き換え不可能なメモリーデバイスであり、具体的にはROMやCD−ROM、DVDなどで構成される。ROM512は、CPU514が実行するプログラムが格納されている。
The
入力部513は、具体的には、フロントパネルやリモコンで構成され、ユーザーからの入力を受け付ける。図11は、フロントパネルで入力部513を構成した場合の一例である。1100はフロントパネルであり、図6のフロントパネル部603に相当する。フロントパネル1100は7つのボタン、上カーソルボタン1101、下カーソルボタン1102、左カーソルボタン1103、右カーソルボタン1104、OKボタン1105、取消ボタン1106、EPGボタン1107を備えている。ユーザーがボタンを押下すると、押下されたボタンの識別子が、CPU514に通知される。
Specifically, the
CPU514は、ROM512が記憶するプログラムを実行する。実行するプログラムの指示に従い、QAM復調部501、QPSK復調部502、QPSK変調部503、POD504、TSデコーダ505、ディスプレイ509、2次記憶部510、1次記憶部511、ROM512を制御する。
The
図12は、ROM512に記憶され、CPU514に実行されるプログラムの構成図の一例である。
プログラム1200は、複数のサブプログラムで構成され、具体的にはOS1201、EPG1202、Java(登録商標)VM1203、サービスマネージャ1204、Javaライブラリ1205で構成される。
FIG. 12 is an example of a configuration diagram of a program stored in the
The
OS1201は、端末装置500の電源が投入されると、CPU514が起動するサブプログラムである。OS1201は、オペレーティングシステムの略であり、Linux等が一例である。OS1201は、他のサブプログラムを平行して実行するカーネル1201a及びライブラリ1201bで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、OS1201のカーネル1201aは、EPG1202とJavaVM1203をサブプログラムとして実行する。また、ライブラリ1201bは、これらサブプログラムに対して、端末装置500が保持する構成要素を制御するための複数の機能を提供する。
The
機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをQAM復調部501に引き渡す。QAM復調部501は与えられたチューニング情報に基づき復調処理を行い、復調したデータをPOD504に引き渡すことができる。この結果、他のサブプログラムはライブラリ1201bを通してQAM復調器を制御することができる。
The tuning function is introduced as an example of the function. The tuning function receives tuning information including a frequency from another subprogram and passes it to the
EPG1202は、ユーザーに番組一覧を表示及び、ユーザーからの入力を受け付ける番組表示部1202aと、チャンネル選局を行う再生部1102bで構成される。ここで、EPGはElectric Program Guideの略である。EPG1202は、端末装置500の電源が投入されると、カーネル1201aによって起動される、起動されたEPG1202の内部では、番組表示部1202aが端末装置500の入力部513を通して、ユーザーからの入力を待つ。ここで、入力部513が図11で示されるフロントパネルで構成されている場合、ユーザーが、入力部513のEPGボタン1107を押下すると、EPGボタンの識別子がCPU514に通知される。CPU514上で動作するサブプログラムであるEPG1202の番組表示部1202aは、この識別子を受け取り、番組情報をディスプレイ509に表示する。図13(1)及び(2)は、ディスプレイ509に表示された番組表の一例である。図13(1)を参照して、ディスプレイ509には、格子状に番組情報が表示されている。列1301には、時刻情報が表示されている。列1302には、チャンネル名「チャンネル1」と、列1301の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル1」では、9:00〜10:30に番組「ニュース9」が放映され、10:30〜12:00は「映画AAA」が放映されることを表す。列1303も列1302同様、チャンネル名「チャンネル2」と、列1301の時刻に対応する時間帯に放映される番組が表示されている。9:00〜11:00に番組「映画BBB」が放映され、11:00〜12:00は「ニュース11」が放映される。1330は、カーソルである。カーソル1330は、フロントパネル1100の左カーソル1103と右カーソル1104を押下すると移動する。図13(1)の状態で、右カーソル1104を押下すると、カーソル1330は右に移動し、図13(2)のようになる。また、図13(2)の状態で、左カーソル1103を押下すると、カーソル1330は左に移動し、図13(1)のようになる。
The
図13(1)の状態で、フロントパネル1100のOKボタン1105が押下されると、番組表示部1202aは、「チャンネル1」の識別子を再生部1102bに通知する。図13(2)の状態で、フロントパネル1100のOKボタン1105が押下されると、番組表示部1202aは、「チャンネル2」の識別子を再生部1102bに通知する。
When the OK button 1105 on the front panel 1100 is pressed in the state of FIG. 13A, the
また、番組表示部1202aは、表示する番組情報を、POD504を通してヘッドエンド101から定期的に、1次記憶部511に記憶しておく。一般的に、ヘッドエンドからの番組情報の取得は時間が掛かる。入力部513のEPGボタン1107が押下された時、1次記憶部511に予め保存された番組情報を表示することで、素早く番組表を表示することができる。
Further, the
再生部1102bは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、2次記憶部510に予め格納されている。図14は2次記憶部510に格納されているチャンネル情報の一例である。チャンネル情報は表形式で格納されている。列1401は、チャンネルの識別子である。列1402は、チャンネル名である。列1403はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、QAM復調部501に与える値である。列1404はプログラムナンバーである。プログラムナンバーとは、MPEG2規格で規定されているPMTを識別するための番号である。PMTに関しては、後述する。行1411〜1414の各行は、各チャンネルの識別子、チャンネル名、チューニング情報の組となる。行1411は識別子が「1」、チャンネル名が「チャンネル1」、チューニング情報に周波数「312MHz」、プログラムナンバーが「101」を含む組となっている。再生部1102bは、チャンネルの再生を行うため、受け取ったチャンネルの識別子をそのままサービスマネージャに引き渡す。
The
また、再生部1102bは、再生中に、ユーザーがフロントパネル1100の上カーソル1101と下カーソル1102を押下すると、入力部513からCPU514を通して、押下された通知を受け取り、再生しているチャンネルを変更する。まず、再生部1102bは、1次記憶部511に現在再生中のチャンネルの識別子を記憶する。図15(1)(2)及び(3)は、1次記憶部511に保存しているチャンネルの識別子の例である。図15(1)では識別子「3」が記憶されており、図14を参照し、チャンネル名「TV 3」のチャンネルが再生中であることを示す。図15(1)の状態で、ユーザーが上カーソル1101を押下すると再生部1102bは、図14のチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル2」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「チャンネル2」の識別子「2」を引き渡す。同時に、1次記憶部511に記憶されているチャンネル識別子「2」に書き換える。図15(2)は、チャンネル識別子が書き換えられた状態を表す。また、図15(1)の状態で、ユーザーが下カーソル1102を押下すると再生部1102bは、図14のチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「TV Japan」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「TV Japan」の識別子「4」を引き渡す。同時に、1次記憶部511に記憶されているチャンネル識別子「4」に書き換える。図15(3)は、チャンネル識別子が書き換えられた状態を表す。
When the user presses the upper cursor 1101 and the lower cursor 1102 on the front panel 1100 during playback, the
JavaVM1203は、Java(TM)言語で記述されたプログラムを逐次解析し実行するJavaバーチャルマシンである。Java言語で記述されたプログラムはバイトコードと呼ばれる、ハードウエアに依存しない中間コードにコンパイルされる。Javaバーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のJavaバーチャルマシンは、バイトコードをCPU514が理解可能な実行形式に翻訳してから、CPU514に引渡し、実行することも行う。JavaVM1203は、カーネル1201aに実行するJavaプログラムを指定され起動される。本実施の形態では、カーネル1201aは、実行するJavaプログラムとしてサービスマネージャ1204を指定する。Java言語の詳細は、書籍「Java Language Specification(ISBN 0−201−63451−1)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、JavaVM自体の詳細な動作などは、「Java Virtual Machine Specification(ISBN 0−201−63451―X)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
The
サービスマネージャ1204は、Java言語で書かれたJavaプログラムであり、JavaVM1203によって逐次実行される。サービスマネージャ1204は、JNI(Java Native Interface)を通して、Java言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。JNIに関しても、書籍「Java Native Interface」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
The
サービスマネージャ1204は、JNIを通して、再生部1102bよりチャンネルの識別子を受け取る。
サービスマネージャ1204は、最初にJavaライブラリ1205の中にあるTuner1205cに、チャンネルの識別子を引き渡し、チューニングを依頼する。Tuner1205cは、2次記憶部510が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ1204がチャンネルの識別子「2」をTuner1205cに引き渡すと、Tuner1205cは、図14の列1412を参照して、対応するチューニング情報「156MHz,」を獲得する。Tuner1205cは、OS1201のライブラリ1201bを通して、QAM復調部501にチューニング情報を引き渡す。QAM復調部501は与えられたチューニング情報に従ってヘッドエンド101から送信されてきた信号を復調し、POD504に引き渡す。
The
First, the
次にサービスマネージャ1204は、Javaライブラリ1205の中にあるCA1205dにデスクランブルを依頼する。CA1205dは、OS1201のライブラリ1201bを通して復号に必要な情報をPOD504に与える。POD504は、与えられた情報を元に、QAM復調部501から与えられた信号を復号しTSデコーダ505に引き渡す。
Next, the
次にサービスマネージャ1204は、Javaライブラリ1205の中にあるJMF1205aにチャンネルの識別子を与え、映像・音声の再生を依頼する。
まず、最初にJMF1205aは、再生すべき映像と音声を特定するためのパケットIDをPAT、PMTから取得する。PATやPMTはMPEG2規格で規定されている、MPEG2トランスポートストリーム内の番組構成を表現するテーブルであり、MPEG2トランスポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明する。PATは、Program Association Tableの略で、パケットID「0」のパケットに格納され送信されている。JMF1205aは、PATを取得するため、OS1201のライブラリ1201bを通して、TSデコーダ505にパケットID「0」とCPU514を指定する。TSデコーダ505がパケットID「0」でフィルタリングを行い、CPU514に引き渡すことでJMF1205aは、PATのパケットを収集する。図16は、収集したPATの情報の一例を模式的に表した表である。列1601は、プログラムナンバーである。列1602は、パケットIDである。列1602のパケットIDはPMTを取得するために用いられる。行1611〜1613は、チャンネルのプログラムナンバーと対応するパケットIDの組である。ここでは、3つのチャンネルが定義されている。行1611はプログラムナンバー「101」とパケットID「501」の組が定義されている。今、JMF1205aに与えられたチャンネルの識別子が「2」とすると、JMF1205aは、図14の列1412を参照して、対応するプログラムナンバー「102」を獲得し、次に、図16のPATの列1612を参照し、プログラムナンバー「102」に対応するパケットID「502」を獲得する。PMTは、Program Map Tableの略で、PATで規定されたパケットIDのパケットに格納され送信されている。JMF1205aは、PMTを取得するため、OS1201のライブラリ1201bを通して、TSデコーダ505にパケットIDとCPU514を指定する。ここで、指定するパケットIDは「502」とする。TSデコーダ505がパケットID「502」でフィルタリングを行い、CPU514に引き渡すことでJMF1205aは、PMTのパケットを収集する。図17は、収集したPMTの情報の一例を模式的に表した表である。列1701は、ストリーム種別であり。列1702は、パケットIDである。列1702で指定されるパケットIDのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列1703は補足情報である。列1711〜1714はエレメンタリ−ストリームと呼ばれる、パケットIDと送信している情報の種別の組である。列1711は、ストリーム種別「音声」とパケットID「5011」の組であり、パケットID「5011」のペイロードには音声が格納されていることを表す。JMF1205aは、PMTから再生する映像と音声のパケットIDを獲得する。図17を参照して、JMF1205aは、行1711から音声のパケットID「5011」を、行1712から映像のパケットID「5012」を獲得する。
Next, the
First, the
次に、JMF1205aは、OS1201のライブラリ1201bを通して、獲得した音声のパケットIDと出力先としてオーディオデコーダ506、映像のパケットIDと出力先としてビデオデコーダ508の組を、TSデコーダ505に与える。TSデコーダ505は与えられたパケットIDと出力先に基づいて、フィルタリングを行う。ここではパケットID「5011」のパケットをオーディオデコーダ506に、パケットID「5012」のパケットをビデオデコーダ508に引き渡す。オーディオデコーダ506は、与えられたパケットのデジタル−アナログ変換を行いスピーカ507を通して音声を再生する。ビデオデコーダ508は、与えられたパケットのデジタル−アナログ変換を行いディスプレイ509に映像を表示する。
Next, the
最後にサービスマネージャ1204は、Javaライブラリ1205の中にあるAM1205bにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、MPEG2トランスポートストリームに含まれるJavaプログラムを抽出し、JavaVM1203に実行させることである。MPEG2トランスポートストリームにJavaプログラムを埋め込む方法は、MPEG規格書 ISO/IEC13818−6に記述されたDSMCCという方式を用いる。ここではDSMCCの詳細な説明は省略する。DSMCC方式は、MPEG2トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。また、実行するJavaプログラムの情報はAITと呼ばれる形式で、MPEG2トランスポートストリームのパケットの中に埋め込まれ送信されている。AITは、DVB−MHP規格(正式には、ETSI TS 101 812 DVB−MHP仕様V1.0.2)の10章に定義されている、Application Information Tableの略である。
Finally, the
AM1205bは、まず、AITを獲得するため、JMF1205a同様PAT、PMTを取得し、AITが格納されているパケットのパケットIDを獲得する。今、与えられたチャンネルの識別子が「2」で、図16のPAT、図17のPMTが送信されていると、JMF1205aと同様の手順で、図17のPMTを獲得する。AM1205bは、PMTからストリーム種別が「データ」で補足情報として「AIT」を持つエレメンタリ−ストリームからパケットIDを抽出する。図17を参照して、行1713のエレメンタリ−ストリームが該当し、パケットID「5013」を獲得する。
First, the
AM1205bは、OS1201のライブラリ1201bを通してTSデコーダ505にAITのパケットIDと出力先CPU514を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1205bは、AITのパケットを収集することができる。図18は、収集したAITの情報の一例を模式的に表した表である。列1801はJavaプログラムの識別子である。列1802はJavaプログラムの制御情報である。制御情報には「autostart」「present」「kill」などがあり、「autostart」は即時に端末装置500がこのプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味し、「kill」はプログラムを停止することを意味する。列1803は、DSMCC方式でJavaプログラムを含んでいるパケットIDを抽出するためのDSMCC識別子である。列1804はJavaプログラムのプログラム名である。列1811と1812は、Javaプログラムの情報の組である。列1811で定義されるJavaプログラムは、識別子「301」、制御情報「autostart」、DSMCC識別子「1」、プログラム名「a/TopXlet」の組である。列1812で定義されるJavaプログラムは、識別子「302」、制御情報「present」、DSMCC識別子「1」、プログラム名「b/GameXlet」の組である。ここで2つのJavaプログラムは同じDSMCC識別子を持つが、これは1つのDSMCC方式でエンコードされたファイルシステム内に2つのJavaプログラムが含まれていることを表す。ここでは、Javaプログラムに対して4つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はDVB−MHP規格を参照されたい。
The
AM1205bは、AITの中から「autostart」のJavaプログラムを見つけ出し、対応するDSMCC識別子及びJavaプログラム名を抽出する。図18を参照して、AM1205bは行1811のJavaプログラムを抽出し、DSMCC識別子「1」及びJavaプログラム名「a/TopXlet」を獲得する。
The
次にAM1205bは、AITから取得したDSMCC識別子を用いて、JavaプログラムをDSMCC方式で格納しているパケットのパケットIDをPMTから獲得する。具体的には、PMTの中でストリーム種別が「データ」で、補足情報のDSMCC識別子が合致するエレメンタリ−ストリームのパケットIDを取得する。
Next, the
今、DSMCC識別子が「1」であり、PMTが図17とすると、行1714のエレメンタリ−ストリームが合致し、パケットID「5014」を取り出す。
AM1205bは、OS1201のライブラリ1201bを通してTSデコーダ505にDSMCC方式でデータが埋めこめられたパケットのパケットIDと出力先としてCPU514を指定する。ここでは、パケットID「5014」を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1205bは、必要なパケットを収集することができる。AM1205bは、収集したパケットから、DSMCC方式に従ってファイルシステムを復元し、1次記憶部511に保存する。MPEG2トランスポートストリーム中のパケットからファイルシステム等のデータを取り出し1次記憶部511等の記憶手段に保存することを以降、ダウンロードと呼ぶ。
Now, assuming that the DSMCC identifier is “1” and the PMT is FIG. 17, the elementary stream in the
The
図19は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、1901はルートディレクトリ、1902はディレクトリ「a」,1903はディレクトリ「b」,1904はファイル「TopXlet.class」、1905はファイル「GameXlet.class」である。 FIG. 19 is an example of a downloaded file system. In the figure, a circle represents a directory, a square represents a file, 1901 a root directory, 1902 a directory “a”, 1903 a directory “b”, 1904 a file “TopXlet.class”, and 1905 a file “GameXlet.class”. is there.
次にAM1205bは、1次記憶部511にダウンロードしたファイルシステム中から実行するJavaプログラムをJavaVM1203に引き渡す。今、実行するJavaプログラム名が「a/TopXlet」とすると、Javaプログラム名の最後に「.class」を付加したファイル「a/TopXlet.class」が実行すべきファイルとなる。「/」はディレクトリやファイル名の区切りであり、図19を参照して、ファイル1904が実行すべきJavaプログラムである。次にAM1205bは、ファイル1904をJavaVM1203に引き渡す。
Next, the
JavaVM1203は、引き渡されたJavaプログラムを実行する。
サービスマネージャ1204は、他のチャンネルの識別子を受け取ると、Javaライブラリ1205に含まれる各ライブラリを通して再生している映像・音声及びJavaプログラムの実行を、同じくJavaライブラリ1205に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びJavaプログラムの実行を行う。
The
When the
Javaライブラリ1205は、ROM512に格納されている複数のJavaライブラリの集合である。本実施の形態では、ここでは、Javaライブラリ1205は、JMF1205a,AM1205b,Tuner1205c,CA1205d、POD Lib1205e等を含んでいる。
The
次に、本発明の主要機能であるJavaプログラムのダウンロード・保存及び実行機能について説明する。
サービスマネージャ1204は、Javaライブラリ1205に含まれるPOD Lib1205eを通してヘッドエンド101と双方向通信を行う。この双方向通信は、POD Lib1205eはOS1201のライブラリ1201b及び、POD504を介して、QPSK復調部502、QPSK変調部503を使用して実現される。
Next, Java program download / save and execution functions, which are the main functions of the present invention, will be described.
The
サービスマネージャ1204は、この通信を用いてヘッドエンド101から、端末装置500が2次記憶部510に保存すべきJavaプログラムの情報を受け取る。この情報をXAIT情報と呼ぶ。XAIT情報は、ヘッドエンド101とPOD504間で、任意の形式で送信される。どのような送信形式を採用しても、XAITに必要とする情報が含まれていれば、本発明は実施可能である。
The
図20は、ヘッドエンド101から取得したXAITの情報の一例を模式的に表した表である。列2001はJavaプログラムの識別子である。列2002はJavaプログラムの制御情報である。制御情報には「autoselect」「present」などがあり、「autoselect」は端末装置500が電源投入時にこのプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味する。列2003は、DSMCC方式でJavaプログラムを含んでいるパケットIDを抽出するためのDSMCC識別子である。列2004はJavaプログラムのプログラム名である。列2005は、Javaプログラムの優先度である。列2011と2012は、Javaプログラムの情報の組である。列2011で定義されるJavaプログラムは、識別子「701」、制御情報「autoselect」、DSMCC識別子「1」、プログラム名「a/PPV1Xlet」の組である。ここでは、Javaプログラムに対して5つの情報しか規定しないが、より多くの情報が定義されていても本発明は実施可能である。
FIG. 20 is a table schematically showing an example of XAIT information acquired from the
サービスマネージャ1204は、XAIT情報を受け取ると、AIT情報からJavaプログラムをダウンロードした手順と同じ手順で、MPEG2トランスポートストリームからファイルシステムを1次記憶部511に保存する。その後、保存したファイルシステムを2次記憶部510に複写する。なお、1次記憶部511を介さず、直接2次記憶部510にダウンロードすることも実施可能である。次に、サービスマネージャ1204は、XAIT情報にダウンロードしたファイルシステムの格納位置を対応づけて2次記憶部510に保存する。図21は、2次記憶部510がXAIT情報とダウンロードしたファイルシステムが対応づけられて保存されている一例を表す。図21の中で、図20と同じ番号の要素は図20と同じなので、説明は省略する。列2101は対応するダウンロードしたファイルシステムの保存位置を格納する。図中、保存位置は矢印で示している。2110はダウンロードしたファイルシステムであり、内部にトップディレクトリ2111、ディレクトリ「a」2112、ディレクトリ「b」2113、ファイル「PPV1Xlet.class」2114、ファイル「PPV2Xlet.class」2115を保持する。
Upon receiving the XAIT information, the
ここで、XAIT情報は、Javaプログラムを保存してから保存しているが、Javaプログラムを保存する前に保存することも実施可能である。
端末装置500に電源が投入後、OS1201が、サービスマネージャ1204をJavaVM1203に指定し、JavaVM1203がサービスマネージャ1204を起動した後、サービスマネージャ1204は、最初に2次記憶部510に保存されたXAIT情報を参照する。ここで各Javaプログラムの制御情報を参照し「autoselect」のプログラムをJavaVM1203に引き渡し、起動する。図21を参照して、行2011で定義されるJavaプログラム「PPV1Xlet」が起動される。
Here, the XAIT information is saved after the Java program is saved, but it is also possible to save the XAIT information before saving the Java program.
After the
ここで、Javaプログラム「PPV1Xlet」はPOD504が内部に持つPPVサブプログラム805に対応して、PPV対象の番組情報を表示するプログラムとする。端末装置500に、Javaプログラム「PPV1Xlet」が無いときは、PPVサブプログラム805が端末装置500のCPU514に画面に表示したい情報を送ると、OS1201のライブラリ1201bに含まれるダイアログ表示プログラムが、図22に示すような番組購入を促すメメッセージをディスプレイ509に表示する。2201はダイアログボックスであり、メッセージ2202、4桁の暗証番号を入力するための暗証番号ボックス2203、OKボタン2204、取消ボタン2205の表示要素を持つ。しかしながら、この表示では、番組内容が不明なため、ユーザーは番組ガイドなどの本を参照するなどして番組内容を確認する必要があり不便である。
Here, the Java program “PPV1Xlet” is a program that displays PPV target program information corresponding to the
端末装置500に、Javaプログラム「PPV1Xlet」が保存され、起動されると、Javaプログラム「PPV1Xlet」は、Javaライブラリ1205のPOD Lib1205eに自身を、POD504から参照可能なJavaプログラムとして登録する。登録の際、自身のJavaプログラムの識別子と動作種別、優先度も同時に登録する。POD Lib1205eは登録された内容を2次記憶部510に記憶する。図23は、2次記憶部510が、登録されたPOD504から参照可能なJavaプログラムの情報を保存している状態の一例である。この例では、表形式で保存しており、列2301はJavaプログラムの識別子、列2302はJavaプログラムの動作種別、列2303Javaプログラムの優先度、列2304はJavaプログラムの名前を記憶している。ここで、Javaプログラムの動作種別は、図24の通り「1」と「2」の2通りの値があり、値「1」は、登録されたJavaプログラムが他に登録されたJavaプログラムや、OS1201のライブラリ1201bに含まれるプログラムと同時に実行されることが不可能なことを表す。値「2」は、登録されたJavaプログラムが他に登録されたJavaプログラムや、OS1201のライブラリ1201bに含まれるプログラムと同時に実行可能なことを表す。図23を参照して、行2311〜2312は登録されているJavaプログラムを表す。行2311は、識別子「PPV」、動作種別「2」、優先度「200」、Javaプログラムの名前「PPV1Xlet」の組となっている。
When the Java program “PPV1Xlet” is stored in the
POD Lib1205eは、登録されたJavaプログラムの情報をPOD504に通知し、POD504内のサブプログラムと、登録されたJavaプログラム間でデータの送受信が可能となる。例えば、POD504内のPPVサブプログラム805は、図23の行2311で示される登録されたJavaプログラムに、PPV購入対象の番組内容を送り、Javaプログラムは、図25のようにディスプレイ509に表示を行うことができる。図22と同じ番号の要素は、図22と同じなので説明を省略する。2501は登録されたJavaプログラムが表示している番組情報である。ここでは、OS1201のライブラリ1201bのダイアログ表示プログラムと登録されたJavaプログラムが同時に実行されている。この際、POD504からは、登録されたJavaプログラムの種別を参照してデータを送る相手のJavaプログラムを識別している。
The
一方、OS1201のライブラリ1201bのダイアログ表示プログラムと登録されたJavaプログラムは別々に開発されて、結果として、2201と2501が重なって表示されてしまうかもしれない。これを回避するため、OS1201のライブラリ1201bのダイアログ表示プログラムを停止することも可能である。具体的には、Javaプログラムは、OS1201のライブラリ1201bのダイアログ表示プログラムが行うべき暗証番号入力などの機能も全て備え、更に、動作種別「1」で登録する。図26は、この場合の登録されたJavaプログラムがPOD504のPPVサブプログラムから指示を受けてディスプレイ509に表示を行った一例である。
On the other hand, the dialog display program of the
ここで、図27のように2次記憶部510が登録されたJavaプログラムを保存しているとする。この例では、2つのJavaプログラムは同じ識別子「PPV」を持っており、更に動作種別は「1」で共存不可能である。このような場合、POD Lib1205eは、優先度の高いJavaプログラムのみを動作させる。あるいは、両方動作させるが、POD504からのメッセージは優先度の高いJavaプログラムのみに配送する。
Here, it is assumed that the registered Java program is stored in the
図28・図29は、POD Lib1205eにJavaプログラムが登録された場合の、POD Lib1205eの動作をまとめたフローチャートである。POD Lib1205eは、Javaプログラムの登録を受け付ける(ステップS2801)。受け付けた情報を2次記憶部510に保存する(ステップS2802)。既に2次記憶部510に登録されているJavaプログラムと、受け付けたJavaプログラムの識別子を比較し、同じ識別子のJavaプログラムが複数あるかどうか判定する(ステップS2803)。同じ識別子のJavaプログラムがある場合は、図29のステップS2901に進む。同じ識別子のJavaプログラムが無い場合、受け付けたJavaプログラムの動作種別が共存実行可能かどうかしらべる(ステップS2804)。不可能な場合、POD504から、OS1201のライブラリ1201bへのメッセージ配送を停止する(ステップS2805)。その後、受け付けたJavaプログラムへのPOD504からのメッセージ配送を有効にし(ステップS2806)、登録処理を終了する。ステップS2803で、同じ識別子のJavaプログラムがある場合は、複数の同じ識別子のJavaプログラムの動作種別が全て共存実行可能かどうかを調べる(ステップS2901)。共存実行不可能なJavaプログラムがある場合は、受け付けたJavaプログラムの優先度と、既存のJavaプログラムの優先度を比較する(ステップS2902)。受け付けたJavaプログラムの優先度が最も高いときは、POD504から、既存のJavaプログラムへのメッセージ配送を停止し(ステップS2903)、POD504から受け付けたJavaプログラムへのメッセージ配送を有効にする(ステップS2904)。ステップS2901で、全Javaプログラムの動作種別が全て共存実行可能な場合、ステップS2904に進む。ステップS2902で、受け付けたJavaプログラムの優先度が最高で無い場合は既存のJavaプログラムがメッセージを受け続けるため、何もせずに、処理を終了する。
28 and 29 are flowcharts summarizing the operation of the
図30、図31、図32は、本動作のフローチャートに基づいて、POD504からのメッセージの配送先の変化を表す模式図である。図30(1)は、Javaプログラムが登録されていない状態を表し、POD504から全てのメッセージがOS1201のライブラリ1201bに配送されている。矢印3001は、メッセージ配送を表す。図30(1)の状態で、Javaプログラムが登録されると、登録されたJavaプログラムの動作種別が共存動作可能な場合、図28のフローチャートを参照して、ステップS2801、S2802、S2803、S2804、S2806の処理が行われ、図30(2)の状態になる。ここで3011は登録されたJavaプログラムであり、矢印3002は、新規に設定されたPOD504からJavaプログラム3011へのメッセージの流れである。厳密には、POD504とJavaプログラムの間には、CPU514やPOD Lib1205eが介在している。登録されたJavaプログラムの動作種別が共存動作不可能な場合、図28のフローチャートを参照して、ステップS2801、S2802、S2803、S2804、S2805、S2806の処理が行われ、図30(3)の状態になる。矢印3001で表されるPOD504からライブラリ1201bのメッセージの流れを停止し、新規POD504からJavaプログラム3011へのメッセージの配送が設定される。
30, FIG. 31, and FIG. 32 are schematic diagrams showing changes in the delivery destination of messages from the
図31(1)は、Javaプログラムが1つ登録され、POD504から全てのメッセージがOS1201のライブラリ1201bと登録されているJavaプログラム3111に配送されている状態を表す。矢印3101と3102は、メッセージ配送を表す。図31(1)の状態で、Javaプログラムが登録されると、登録されたJavaプログラムの動作種別が共存動作可能な場合、図28、図29のフローチャートを参照して、ステップS2801、S2802、S2803、S2901、S2904の処理が行われ、図31(2)の状態になる。ここで3112は登録されたJavaプログラムであり、矢印3103は、新規に設定されたPOD504からJavaプログラム3112へのメッセージの配送を表す。
FIG. 31 (1) shows a state in which one Java program is registered and all messages are delivered from the
図32(1)は、Javaプログラムが1つ登録され、POD504から全てのメッセージが登録されているJavaプログラム3211に配送されている状態を表す。Javaプログラム3211は、動作種別が共存実行不可能なため、このような状態になっている。矢印3201は、メッセージ配送を表す。図31(1)の状態で、Javaプログラムが登録されると、登録されたJavaプログラムの動作種別が共存動作可能な場合、既存のJavaプログラム3211と登録されたJavaプログラムの優先度が比較される。登録されたJavaプログラムの優先度が高い場合、図28、図29のフローチャートを参照して、ステップS2801、S2802、S2803、S2901、S2902、S2903、S2904の処理が行われ、図31(2)の状態になる。矢印3201で表されるPOD504からJavaプログラム3211へのメッセージの配送を停止し、新規POD504からJavaプログラム3212へのメッセージの配送が設定される。既存のJavaプログラム3211の優先度が高い場合、図28、図29のフローチャートを参照して、ステップS2801、S2802、S2803、S2901、S2902の処理が行われ、図31(3)の状態になる。メッセージの配送は変わらない。
FIG. 32 (1) shows a state in which one Java program is registered and all messages are delivered from the
なお、ステップS2902で既存のJavaプログラムの最高優先度と受け付けたJavaプログラムの優先度が等しい場合、制御をステップS2903に写し、受け付けたJavaプログラムがメッセージを受け取れるようにしてもよい。これは、複数のJavaプログラムの優先度が等しい場合、任意の1つを選び一考することを意味する。 When the highest priority of the existing Java program is equal to the priority of the accepted Java program in step S2902, control may be copied to step S2903 so that the accepted Java program can receive the message. This means that if a plurality of Java programs have the same priority, an arbitrary one is selected and considered.
あるいは、複数のJavaプログラムを実行し、複数のJavaプログラムに同じメッセージを送る。この場合は、意図的に複数のJavaプログラムは同じ優先度と識別子が与えられており、お互いの動作を理解し、同時に動作しても問題が起こらないよう実装されているものとする。図33は、複数のJavaプログラムが同じ識別子と優先度を持っている場合の一例である。ここで、POD504からは番組に内容と、料金の情報を送る。行3311のJavaプログラムは料金表示と暗証番号入力の受付を行い、行3312のJavaプログラムは番組内容の表示のみを行うことも実施可能である。
Alternatively, a plurality of Java programs are executed and the same message is sent to the plurality of Java programs. In this case, it is assumed that a plurality of Java programs are intentionally given the same priority and identifier, and are implemented so that they understand each other's operation and cause no problems even if they operate simultaneously. FIG. 33 shows an example in which a plurality of Java programs have the same identifier and priority. Here, the contents and fee information are sent from the
POD Lib1205eは、Javaプログラムの登録を受け付けると共に、削除も受け付ける。図34・図35は、POD Lib1205eがJavaプログラムの登録を削除する場合の、POD Lib1205eの動作をまとめたフローチャートである。POD Lib1205eは、Javaプログラムの削除を受け付ける(ステップS3401)。2次記憶部510より受け付けたJavaプログラムを削除する(ステップS3402)。削除するJavaプログラムが現在、POD504からメッセージを受け取っているかを調べ(ステップS3403)、受け取っていれば、POD504から受け付けたJavaプログラムへのメッセージ配送を無効にする(ステップS3404)。2次記憶部510に同じ識別子のJavaプログラムがあるかどうかを調べ(ステップS3405)、なければPOD504からOS1201のライブラリ1201bへのメッセ維持配送を有効にする(ステップS3406)。ステップS3403において、削除するJavaプログラムがPOD504からメッセージを受け取っていなければ、処理を終了する。ステップS3405で、削除するJavaプログラムと同じ識別子のJavaプログラムがある場合は、図35を参照して、全Javaプログラムが共存実行可能かどうかを調べる(ステップS3501)。識別子が等しい共存可能な全てのJavaプログラム及びOS1201のライブラリ1201bへのPOD504からのメッセージ配送を有効にする(ステップS3502)。全Javaプログラムが共存実行でない場合、最高の優先度を持つJavaプログラムを抽出する(ステップS3503)。抽出したJavaプログラムへのPOD504からのメッセージ配送を有効にする(ステップS3504)。
The
以上のように、本実施の形態によれば、既存のプログラムを削除することなく、一時的にダウンロードしたプログラムを代わりに実行することで、プログラムの更新が可能になると同時に、既存のプログラムを容易に戻すことも可能になる。また、既存のプログラムと同時に実行可能となるようにプログラムをダウンロードして保存することで、既存のプログラムに無い機能を追加することができる。 As described above, according to the present embodiment, it is possible to update a program by executing a temporarily downloaded program instead without deleting the existing program, and at the same time, the existing program can be easily performed. It is also possible to return to. Also, by downloading and saving a program so that it can be executed simultaneously with the existing program, it is possible to add a function that does not exist in the existing program.
なお、本実施の形態においては、POD504内のPPVサブプログラム805とJavaプログラムがメッセージ交換を行い、動作を行うこととしているが、PPVに限らず、POD504上のいかなるサブプログラムと、端末装置500上のいかなるJavaプログラムの間でメッセージ交換を行い、動作することに対しても適応可能である。また、JavaプログラムはJavaで記述された部分と、CPUが直接実行できるバイナリ形式の部分の混合でもよいし、CPUが直接実行できるバイナリ形式のみで構成されていても実施可能である。
In this embodiment, the
本実施の形態では、ROM512が保存する内容を2次記憶部510が保存することで、ROM512を削除することも実施可能である。また、2次記憶部510は、複数のサブ2次記憶部で構成し、個々のサブ2次記憶部が異なる情報を保存しても実施可能である。例えば、1つのサブ2次記憶部はチューニング情報のみを保存し、別のサブ2次記憶部は、OS1201のライブラリ1201bを保存し、更に別のサブ2次記憶部は、ダウンロードしたJavaプログラムを保存するなど、詳細に分割することが可能である。
In the present embodiment, it is possible to delete the
(実施の形態2)
実施の形態1においては、Javaプログラムが登録されると、OS1201のライブラリ1201bや2次記憶部510に既登録のJavaプログラムがPOD504とのメッセージ通信を突然停止されてしまう。例えば、ユーザーがPPV購入処理の途中で、Javaプログラムが登録されると、購買処理が中断され、途中まで入力した暗証番号が無効になる可能性がある。
(Embodiment 2)
In the first embodiment, when the Java program is registered, the Java program already registered in the
よって、本実施の形態においては、メッセージ通信を停止されるOS1201のライブラリ1201bや既存のJavaプログラムに対して、事前に通知を行い、了承を得てから停止することとする。具体的には、実施の形態1における動作を表すフローチャートである図28のステップS2805のライブラリ1201bへのメッセージの配送の停止、図29のステップS2903の既存のJavaプログラムへのメッセージ配送停止を図33に記述されたフローチャートに置き換える。
Therefore, in the present embodiment, notification is made in advance to the
図36を参照して、POD Lib1205eは、メッセージ送信が停止される対象、具体的にはJavaプログラムやOS1201のライブラリ1201bに対して、メッセージ送信が停止することを事前通知する(ステップS3601)。停止通知を受けたJavaプログラムやOS1201のライブラリ120は、必要な処理を終了したあと、POD Lib1205eにメッセージ送信の停止の了解を通知する(ステップS3602)。POD Lib1205eはメッセージの送信を停止する(ステップS3603)。
Referring to FIG. 36, the
また、POD504上のサブプログラムもメッセージ通知先が変更されることを知らせる必要がある。図37は、POD Lib1205eがPOD504にメッセージ通知先が変更されることを通知する動作を表すフローチャートである。
Also, the subprogram on the
POD Lib1205eは、POD504に対して、メッセージ送信が停止することを事前通知する(ステップS3701)。停止通知を受けたPOD504は、必要な処理を終了したあと、POD Lib1205eにメッセージ送信の停止の了解を通知する(ステップS3702)。POD Lib1205eはメッセージの送信を停止し(ステップS3703)、新たな配送先を設定する(ステップS3704)。POD Lib1205eは最後に、新たな配送先が設定されたことを、POD504に通知する(ステップS3705)。
The
また、新たに配送先に設定されたJavaプログラムやOS1201のライブラリ1201bも、設定されたことの通知を受けてもよい。JavaプログラムやOS1201のライブラリ1201bは、POD504からメッセージ受け取るだけでなく、メッセージをPOD504に送る場合もあるからである。具体的には、PPVでユーザーが入力する暗証番号をPOD504に送るなどが挙げられる。メッセージ送信が有効になったことを知ることが出来ると、無駄にメッセージを送る必要がなくなる。
In addition, the Java program newly set as the delivery destination and the
(実施の形態3)
実施の形態1においては、登録されたJavaプログラムを2次記憶部510に保存していたが、1次記憶部511に保存することも実施可能である。
(Embodiment 3)
In the first embodiment, the registered Java program is stored in the
1次記憶部511に保存する場合、電源OFF時に、保存された情報は全て消える。しかしながら、前述の通りXAITに基づきJavaプログラムをダウンロードし実行すると、実行されたJavaプログラムが自身をPOD Lib1205eに登録するので、復元可能である。しかし、この場合、電源投入後しばらくは、OS1201のライブラリ1201bが動作しているため、切り替えが発生する。図38は、端末装置500が電源投入されてから、POD504からのメッセージ配送が変更されるまでの動作を表すフローチャートである。端末装置500に電源が投入されると(ステップS3801)、端末装置500及びPOD504のプログラムが起動され、POD504とライブラリ1201b間にメッセージ配送が確立される(ステップS3802)。AM1205bは、XAIT情報に基づいて、Javaプログラムをダウンロードし、JavaVM1203は、このJavaプログラムを実行する(ステップS3803)。JavaプログラムがPOD504とのメッセージ交換が必要な場合は、自身をPOD Lib1205eに登録する(ステップS3804)。図28、図29で規定されたフローチャートに基づき、メッセージ配送が必要に応じて変更される(ステップS3805)。
When storing in the
一方、実施の形態1のように、登録されたJavaプログラムを2次記憶部510に保存していた場合は、電源投入後から、OS1201のライブラリ1201bの代わりに登録されたJavaプログラムにPOD504からのメッセージが配送される。しかし、前述の通りXAITに基づきJavaプログラムをダウンロードし実行すると、実行されたJavaプログラムが自身をPOD Lib1205eに登録するため、二重登録になる。これを防ぐため、POD Lib1205eは,既に登録されているJavaプログラムの登録は、受け付けないこととする。図39は、端末装置500が電源投入されてから、POD504からのメッセージ配送が変更されるまでの動作を表すフローチャートである。端末装置500に電源が投入されると(ステップS3901)、端末装置500及びPOD504のプログラムが起動され、2次記憶部510が保存された登録情報に基づき、POD504とJavaプログラムあるいはライブラリ1201b間にメッセージ配送が確立される(ステップS3902)。AM1205bは、XAIT情報に基づいて、Javaプログラムをダウンロードし、JavaVM1203は、このJavaプログラムを実行する(ステップS3903)。JavaプログラムがPOD504とのメッセージ交換が必要な場合は、自身をPOD Lib1205eに登録する(ステップS3904)。POD Lib1205eは、2次記憶部510を参照し、既に同じJavaプログラムが登録されているかどうか調べる(ステップS3905)。保存されていなければ、登録処理が行われ、図28、図29で規定されたフローチャートに基づき、メッセージ配送が必要に応じて変更される(ステップS3906)。
On the other hand, when the registered Java program is stored in the
なお、実施の形態1、2,3を通して、以下の応用が可能である。
本発明は、パーソナルコンピュータや携帯電話などの情報機器であれば、適応可能である。
The following application is possible through the first, second, and third embodiments.
The present invention is applicable to any information device such as a personal computer or a mobile phone.
また、POD504は着脱可能な形態としているが、内蔵していても実施可能である。なお、内蔵した場合、POD504のCPU706を取り外し、CPU514がCPU706の動作も行うことも実施可能である。
Although the
POD Lib1205eに登録されるJavaプログラムは、ダウンロードされたJavaプログラムだけでなく、予め内蔵されているJavaプログラムでも実施可能である。また、SDメモリーカードなどの着脱可能な記憶媒体を着脱するとスロット部を取り付け、そこからJavaプログラムを取り込むことも可能である。また、ネットワークに接続するネットワーク部を取り付け、インターネットからJavaプログラムを取り出すことも可能である。
The Java program registered in the
更に、本実施の形態1〜3では、POD504上の1つのサブプログラムのみが、Javaプログラムにメッセージを配送しているが、2つ以上のサブプログラム及びJavaプログラムが、それぞれ個別にメッセージを配送することも実施可能である。図40は、POD504上の複数のサブプログラム及び複数のJavaプログラム間での、メッセージの配送の一例を示す。POD504にはサブプログラムA4001、サブプログラムB4002、サブプログラムC4003が動作しており、端末装置500上では、JavaプログラムX4011、JavaプログラムY4012、JavaプログラムZ4013が動作している。矢印4021、4022、4023、4024は設定されているメッセージ配送のパスを示す。サブプログラムA4001からJavaプログラムX4011へメッセージ配送のパス4021が設定されており、サブプログラムとJavaプログラムが1対1になっている。一方、サブプログラムB4002は、JavaプログラムY4012、JavaプログラムZ4013の2つのJavaプログラムにメッセージ配送のパスを持つ。逆に、JavaプログラムZ4013は、サブプログラムB4002、サブプログラムC4003の2つのサブプログラムからメッセージを受け取る。
Further, in the first to third embodiments, only one subprogram on the
また、この図ではサブプログラムからJavaプログラムにメッセージが配送されているが、Javaプログラムからサブプログラムへメッセージを配送することも実施可能である。また、双方向でメッセージを交換することも可能である。 In this figure, the message is delivered from the subprogram to the Java program, but it is also possible to deliver the message from the Java program to the subprogram. It is also possible to exchange messages in both directions.
ここで、メッセージの配送のパスに、メッセージパスIDを割り当て、サブプログラム及びJavaプログラムは、メッセージパスIDを用いて、メッセージの送信相手を特定しても良い。また、Javaプログラムを登録する際、同時に登録するJavaプログラムの識別子の代わりに、このメッセージパスIDを用いても、本発明は実施可能である。競合するJavaプログラムとPOD504上のサブプログラムのメッセージパスに対して、動作種別などを元にメッセージ配送を行うJavaプログラムを特定できる。あるいは、POD504上のサブプログラムを識別するためのサブプログラム識別子を定義し、Javaプログラムを登録する際、同時に登録するJavaプログラムの識別子の代わりに、このサブプログラム識別子を用いても、本発明は実施可能である。
Here, a message path ID may be assigned to the message delivery path, and the subprogram and the Java program may specify the message transmission partner using the message path ID. Further, when registering a Java program, the present invention can also be implemented by using this message path ID instead of the identifier of the Java program to be registered at the same time. It is possible to specify a Java program that delivers a message based on an operation type or the like with respect to message paths of competing Java programs and subprograms on the
また、メッセージを配送するJavaプログラムを、動作種別を用いて決定していたが、動作種別を用いず、最後に登録されたJavaプログラムを優先する、あるいは、先に登録されたJavaプログラムを優先する等、予め用意された規則に基づいて決定してもよい。 In addition, the Java program for delivering the message has been determined using the action type, but the action type is not used, and the Java program registered last is given priority, or the Java program registered first is given priority. It may be determined based on rules prepared in advance.
本実施の形態1〜3において、POD Lib1205eに登録されるJavaプログラムの動作とは、メッセージの配送を受けて行う動作を意味している。つまり、Javaプログラムは、メッセージの配送を受けることによって動作する。一方、Javaプログラムは、一般に複数の処理を平行して行うことが可能である。本発明では、メッセージの配送を受けることによって動作する処理以外のJavaプログラムが有するその他の処理に対して、一切制限することなく、実施可能である。
In the first to third embodiments, the operation of the Java program registered in the
また、上述の実施の形態で説明したようにPOD Lib1205eはメッセージの配送の対象となるJavaプログラムに対するメッセージの配送の登録と共に削除(つまり非登録とすること)も受け付けるようにしている。
Further, as described in the above embodiment, the
図41は、POD Lib1205eにJavaプログラムが登録される場合におけるPOD Lib1205eの動作をまとめたフローチャートである。
POD Lib1205eは、Javaプログラムとのメッセージの配送(送信/受信の少なくとも一方をまたは両方を含む)の登録を受け付けると、2次記憶部510へ必要な情報(例えば図27に示すような情報)を保存し(ステップSX101)、ステップSX101において登録を受け付けたJavaプログラムの識別子と、既に2次記憶部510に登録されている他のJavaプログラムの識別子とを比較することで、登録を受け付けたJavaプログラムの識別子と同じ識別子のJavaプログラムが2次記憶部510にあるかどうか判定する(ステップSX102)。
FIG. 41 is a flowchart summarizing the operations of the
When the
その結果、同じ識別子のJavaプログラムが2次記憶部510にある場合(つまりステップSX101において登録を受け付けたJavaプログラムと同じ識別子を有する他のJavaプログラムに対しメッセージの配送を受け付ける登録がステップSX101の時点よりも前にPOD Lib1205eによりなされている場合)は(ステップSX102でYes)、POD Lib1205eは、メッセージ送信が停止される対象、具体的には、2次記憶部510に登録されている他のJavaプログラム(つまりステップSX101においてメッセージの配送の登録を受け付けたJavaプログラムと同じ識別子を有し、メッセージの配送を受け付ける登録がなされた他のJavaプログラム)やOS1201のライブラリ1201bに対して、メッセージ送信が停止することを事前通知する(ステップSX103)。停止通知を受けたJavaプログラムやOS1201のライブラリ1201bは、必要な処理(POD504からのメッセージの配送の停止(つまりメッセージの配送の登録を非登録とすること)前に終了すべき必要な内部処理)を終了したあと、POD Lib1205eにメッセージ送信の停止の了解を通知する(ステップSX104)。その了解通知を受けたPOD Lib1205eは、POD504から既存の(2次記憶部510に既に登録されており、POD504からのメッセージの配送の停止の対象となっている)JavaプログラムまたはOS1201のライブラリ1201bとのメッセージ配送の登録を削除(つまり非登録)し、Javaプログラムへのメッセージ配送を停止する(ステップSX105)。そして、ステップSX101において登録を受け付けたJavaプログラムに対しメッセージ配送を開始する旨の通知をした後に(ステップSX106)、ステップSX101において登録を受け付けたJavaプログラムへのPOD504からのメッセージの配送を受け付ける登録を行うことで、メッセージの配送を有効にする(ステップSX107)。
As a result, when a Java program with the same identifier exists in the secondary storage unit 510 (that is, registration for accepting message delivery to another Java program having the same identifier as the Java program accepted for registration in step SX101 is the time at step SX101). (If done by
一方、同じ識別子のJavaプログラムが2次記憶部510にない場合は(ステップSX102でNo)、POD Lib1205eは、ステップSX101において登録を受け付けたJavaプログラムに対してメッセージ配送を開始する旨を通知した後に(ステップSX106)、ステップSX101において登録を受け付けたJavaプログラムへのPOD504からのメッセージの配送を受け付ける登録を行うことで、メッセージの配送を有効にする(ステップSX107)。
On the other hand, if there is no Java program with the same identifier in the secondary storage unit 510 (No in step SX102), the
図42は、POD Lib1205eがJavaプログラムの登録を削除する(つまり2次記憶部510に登録したJavaプログラムとのメッセージの配送の登録を非登録とする)場合におけるPOD Lib1205eの動作をまとめたフローチャートである。
FIG. 42 is a flowchart summarizing the operation of the
POD Lib1205eは、Javaプログラムの削除を受け付けると(ステップSX201)、削除の対象となるJavaプログラムに対して、メッセージの配送が停止することを事前通知する(ステップSX202)。停止通知を受けたJavaプログラムは、必要な処理(POD504からのメッセージの配送の停止(つまりメッセージの配送の登録を非登録とすること)前に終了すべき必要な内部処理)を終了したあと、POD Lib1205eにメッセージの配送の停止の了解を通知する(ステップSX203)。その了解通知を受けたPOD Lib1205eは、2次記憶部510に登録されたJavaプログラムのうち要求された削除の対象となっているJavaプログラムへのメッセージ配送の登録を削除する(つまり非登録とする)ことにより、POD504から対象となるJavaプログラムへのメッセージ配送を停止する(ステップSX204)。そして、POD Lib1205eは、OS1201のライブラリ1201bに対しPOD504とのメッセージの配送を受け付ける登録を行うことでOS1201のライブラリ1201bとのメッセージの配送を有効にする(ステップSX205)。
When the
また、ステップSX205において2次記憶部510に登録されている他のJavaプログラムまたは新たに登録されたJavaプログラムがありこれらのJavaプログラムのいずれか1つとのメッセージの配送を行いたい(または行える)場合には、POD504と対象となるJavaプログラムとのメッセージの配送を受け付ける登録を行うことで対象となるJavaプログラムとのメッセージの配送を有効にするようにしても良い。更にPOD504とのメッセージの配送において配送の対象となるJavaプログラムとOS1201のライブラリ1201bとが互いに共存しうる(つまり互いに競合しない)ならばOS1201のライブラリ1201bとのメッセージの配送を受け付ける登録を行い、対象となるJavaプログラムとOS1201のライブラリ1201bとにメッセージを配送するようにしても良い。
Also, when there is another Java program registered in the
以上のように、本実施の形態によれば、既存のプログラムを削除することなく、一時的にダウンロードしたプログラムを代わりに実行することで、プログラムの更新(置き換え)が可能になるとともに、既存のプログラムを容易に戻すことも可能となる。 As described above, according to the present embodiment, it is possible to update (replace) a program by executing a temporarily downloaded program instead without deleting the existing program. It is also possible to return the program easily.
本発明に係るプログラム置き換え方法は、放送受信端末装置等として、特に、着脱可能なPODを備える放送受信端末装置等として利用することができる。 The program replacement method according to the present invention can be used as a broadcast receiving terminal device or the like, particularly as a broadcast receiving terminal device or the like having a detachable POD.
111 端末装置A
112 端末装置B
113 端末装置C
500 端末装置
501 QAM復調部
502 QPSK復調部
503 QPSK変調部
504 POD
505 TSデコーダ
506 オーディオデコーダ
507 スピーカ
508 ビデオデコーダ
509 ディスプレイ
510 2次記憶部
511 1次記憶部
512 ROM
513 入力部
514 CPU
603 フロントパネル部
605 PODカード
701 第1デスクランブラ部
702 第2デスクランブラ部
703 スクランブラ部
704 第1記憶部
705 第2記憶部
706 CPU
800 プログラム
801 メインプログラム
802 初期化サブプログラム
803 ネットワークサブプログラム
804 再生サブプログラム
805 PPVサブプログラム
1200 プログラム
1201 OS
1201a カーネル
1201b ライブラリ
1202 EPG
1202a 番組表示部
1202b 再生部
1203 JavaVM
1204 サービスマネージャ
1205 ライブラリ
1205a JMF
1205b AM
1205c Tuner
1205d CA
1205e POD Lib
111 Terminal A
112 Terminal device B
113 Terminal device C
500
505
513
603
800
1202a Program display unit
1204
1205b AM
1205c Tuner
1205d CA
1205e POD Lib
Claims (12)
プログラムの種類を特定するために識別子を有する第1のプログラムが前記PODとのメッセージの送受信が可能となるように登録するステップと、
前記第1のプログラムの識別子と同じ内容の識別子を有し、既に前記放送受信端末装置内に存在する第2のプログラムに対し、前記第2のプログラムと前記PODとのメッセージの送受信を停止することを通知するステップと、
前記第2のプログラムと前記PODとのメッセージの送受信を停止するステップとを有することを特徴とするプログラム置き換え方法。 The broadcast reception registered so that the message can be transmitted / received to / from the POD when the message is transmitted / received between the POD detachably attached to the broadcast receiving terminal device and the program in the broadcast receiving terminal device. A method for rewriting a program in a terminal device,
Registering a first program having an identifier to identify the type of program so that messages can be sent to and received from the POD;
Stop transmission / reception of messages between the second program and the POD with respect to a second program that has the same content as the identifier of the first program and already exists in the broadcast receiving terminal device. A step of notifying
A program replacement method comprising: stopping transmission / reception of a message between the second program and the POD.
前記PODとのメッセージの送受信を停止していた前記第2のプログラムを再び送受信が可能となるように登録するステップとを有する請求項1又は2記載のプログラム置き換え方法。 Stopping the transmission and reception of messages between the first program and the POD;
3. The program replacement method according to claim 1, further comprising a step of registering the second program, which has stopped transmission / reception of messages with the POD, so that transmission / reception can be performed again.
プログラムの種類を特定するための識別子を有し、かつ、前記PODとのメッセージの送受信が可能となるように登録がなされた第1のプログラムに対して前記PODとのメッセージの送受信を停止することを通知するステップと、
プログラムの種類を特定するための識別子を有し、かつ、前記PODとのメッセージの送受信が可能となるように登録がなされた第1のプログラムに対して前記PODとのメッセージの送受信を停止するステップと、
前記第1のプログラムの識別子と同じ内容の識別子を有し、既に前記放送受信端末装置内に存在する第2のプログラムに対し、前記第2のプログラムと前記PODとのメッセージの送受信が可能となるように登録するステップとを有することを特徴とするプログラム置き換え方法。 The broadcast reception registered so that the message can be transmitted / received to / from the POD when the message is transmitted / received between the POD detachably attached to the broadcast receiving terminal device and the program in the broadcast receiving terminal device. A method for replacing a program in a terminal device,
Stop transmission / reception of messages to / from the POD with respect to the first program that has an identifier for specifying the type of program and has been registered so that transmission / reception of messages to / from the POD is possible. A step of notifying
A step of stopping transmission / reception of a message to / from the POD with respect to a first program which has an identifier for specifying a type of program and is registered so as to be able to transmit / receive a message to / from the POD. When,
It is possible to send and receive messages between the second program and the POD with respect to a second program that has the same content as the identifier of the first program and already exists in the broadcast receiving terminal device. A program replacement method comprising the steps of:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004161831A JP4149414B2 (en) | 2003-06-04 | 2004-05-31 | Program replacement method and program replacement device |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US47549703P | 2003-06-04 | 2003-06-04 | |
JP2003158928 | 2003-06-04 | ||
JP2004161831A JP4149414B2 (en) | 2003-06-04 | 2004-05-31 | Program replacement method and program replacement device |
Related Child Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007274473A Division JP4149502B2 (en) | 2003-06-04 | 2007-10-22 | Program replacement method and program replacement device |
JP2007274474A Division JP4554659B2 (en) | 2003-06-04 | 2007-10-22 | Program replacement method and program replacement device |
JP2007274475A Division JP4728307B2 (en) | 2003-06-04 | 2007-10-22 | Program replacement method and program replacement device |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005020724A true JP2005020724A (en) | 2005-01-20 |
JP2005020724A5 JP2005020724A5 (en) | 2007-12-13 |
JP4149414B2 JP4149414B2 (en) | 2008-09-10 |
Family
ID=34198736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004161831A Expired - Fee Related JP4149414B2 (en) | 2003-06-04 | 2004-05-31 | Program replacement method and program replacement device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4149414B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007228386A (en) * | 2006-02-24 | 2007-09-06 | Funai Electric Co Ltd | Digital broadcast receiver |
JP2009253978A (en) * | 2008-04-04 | 2009-10-29 | Irdeto Access Bv | Conditional access system and smart card for use in conditional access system |
JP2010166407A (en) * | 2009-01-16 | 2010-07-29 | Nippon Hoso Kyokai <Nhk> | Device, device and program for obtaining program |
JP2011019279A (en) * | 2003-11-04 | 2011-01-27 | Korea Electronics Telecommun | Apparatus and method for receiving data broadcasting service to support connection with mobile communication networks |
JP2011528217A (en) * | 2008-07-14 | 2011-11-10 | ソニー株式会社 | Upgrade TV software using TV Internet Adapter |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2004202425A1 (en) | 2003-06-04 | 2004-12-23 | Panasonic Corporation | Program replacing method |
JP4554659B2 (en) * | 2003-06-04 | 2010-09-29 | パナソニック株式会社 | Program replacement method and program replacement device |
-
2004
- 2004-05-31 JP JP2004161831A patent/JP4149414B2/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011019279A (en) * | 2003-11-04 | 2011-01-27 | Korea Electronics Telecommun | Apparatus and method for receiving data broadcasting service to support connection with mobile communication networks |
JP2007228386A (en) * | 2006-02-24 | 2007-09-06 | Funai Electric Co Ltd | Digital broadcast receiver |
JP2009253978A (en) * | 2008-04-04 | 2009-10-29 | Irdeto Access Bv | Conditional access system and smart card for use in conditional access system |
US9237309B2 (en) | 2008-04-04 | 2016-01-12 | Irdeto B.V. | Conditional access system and smartcard for use in conditional access system |
JP2011528217A (en) * | 2008-07-14 | 2011-11-10 | ソニー株式会社 | Upgrade TV software using TV Internet Adapter |
JP2010166407A (en) * | 2009-01-16 | 2010-07-29 | Nippon Hoso Kyokai <Nhk> | Device, device and program for obtaining program |
Also Published As
Publication number | Publication date |
---|---|
JP4149414B2 (en) | 2008-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100990247B1 (en) | Method for replacing a program | |
JP4243571B2 (en) | Broadcast receiver | |
US9264757B2 (en) | Service executing apparatus | |
US20070174356A1 (en) | Program execution device, program execution method, and program | |
JPWO2006080361A1 (en) | Download execution device | |
JP4149414B2 (en) | Program replacement method and program replacement device | |
JP4149502B2 (en) | Program replacement method and program replacement device | |
JP4554659B2 (en) | Program replacement method and program replacement device | |
JP4728307B2 (en) | Program replacement method and program replacement device | |
JP2005073239A (en) | Service executing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070515 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070713 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071022 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20071022 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071030 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20071126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080129 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080325 |
|
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: 20080603 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080625 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110704 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |