JP4149502B2 - Program replacement method and program replacement device - Google Patents

Program replacement method and program replacement device Download PDF

Info

Publication number
JP4149502B2
JP4149502B2 JP2007274473A JP2007274473A JP4149502B2 JP 4149502 B2 JP4149502 B2 JP 4149502B2 JP 2007274473 A JP2007274473 A JP 2007274473A JP 2007274473 A JP2007274473 A JP 2007274473A JP 4149502 B2 JP4149502 B2 JP 4149502B2
Authority
JP
Japan
Prior art keywords
program
pod
java
java program
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.)
Expired - Fee Related
Application number
JP2007274473A
Other languages
Japanese (ja)
Other versions
JP2008112448A (en
Inventor
隆一 塩見
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2007274473A priority Critical patent/JP4149502B2/en
Publication of JP2008112448A publication Critical patent/JP2008112448A/en
Application granted granted Critical
Publication of JP4149502B2 publication Critical patent/JP4149502B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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に記載されている。   The function of downloading and updating a program in a conventional digital television is described in Patent Document 1 and Patent Document 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を実行する。このように、端末装置が保存するプログラムの更新を行うことにより、端末装置の機能の更新及び新しい機能の追加を実現することができる。
特開平10−326192号公報 特開2003−122578号公報
FIG. 43 is a configuration diagram of a digital cable television system that downloads and executes a conventional program, and includes a head end 4110 and two terminal devices 4120 and 4130. The head end 4110 stores three programs A 4111, B 4112, and C 4113, and supplies them to the terminal devices 4120 and 4130. The terminal device 4120 includes three programs A4121, B4122, and C4123 stored in advance, and a processor 4124 that executes these programs. Similarly, the terminal device 4130 also includes three programs A4131, B413, and C4133 that are stored in advance, and a processor 4134 that executes these programs. When a new program is transmitted from the head end 4110, the terminal devices 4120 and 4130 replace and store the existing program, and thereafter execute the updated program. For example, when a new program A 4111 is sent from the head end 4110 to the terminal devices 4120 and 4130, the terminal devices 4120 and 4130 replace the programs A 4121 and 4131 with the program A 4111. Thereafter, the processors 4124 and 4134 execute the updated program A4111 instead of the programs A4121 and 4131. Thus, by updating the program stored in the terminal device, it is possible to update the function of the terminal device and add a new function.
Japanese Patent Laid-Open No. 10-326192 JP 2003-122578 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のプログラムを登録するステップと、前記第1のプログラムを登録した後に、前記登録した第1のプログラムの識別子と同じ内容の識別子を有し、既に前記放送受信端末装置内に存在し、前記PODとのメッセージの送受信が可能となるように登録していた第2のプログラムに対し、前記第2のプログラムと前記PODとのメッセージの送受信を停止することを通知するステップと、前記通知した第2のプログラムと前記PODとのメッセージの送受信を停止するステップとを有し、前記通知した第2のプログラムと前記PODとのメッセージの送受信を停止するとは、前記PODとのメッセージの送受信が可能となるように登録していた前記第2のプログラムを非登録とすることであることを特徴とする。 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. The broadcast receiving terminal device operates so as to replace the program in the broadcast receiving terminal device registered so as to be able to transmit / receive the first information, and has a first identifier having an identifier for specifying the type of the program Registering the first program so that the program can send and receive messages to and from the POD; and after registering the first program, an identifier having the same content as the identifier of the registered first program the have already present in the broadcast receiving terminal in the apparatus, to register to allow transmission and reception of messages with the POD Step for the second program, to stop the the step of notifying that the second program stops the transmission and reception of messages with the POD, the sending and receiving of messages between the the second program the notification POD was And stopping transmission / reception of messages between the notified second program and the POD means that the second program that has been registered so as to be able to transmit / receive messages to / from the POD is not registered. It is characterized by that.

お、PODとは、例えば、CableCard(TM)と呼ばれるデスクランブル等を行うカードである。 Name your, and POD, for example, a card that performs the descrambling called CableCard (TM).

なお、前記第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.

なお、本発明は、このようなプログラム置き換え方法として実現できるだけでなく、各ステップを回路等で実装したプログラム置き換え装置として実現したり、各ステップをコンピュータに実行させるプログラムとして実現したり、そのようなプログラムが記録されたコンピュータ読み取り可能な記録媒体として実現したりすることができる。   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.

以下、本発明の実施の形態について、図面を用いて詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

(実施の形態1)
まず、本発明に係るケーブルテレビシステムの実施の形態1を、図面を参照しながら説明する。図1は、ケーブルシステムを構成する装置の関係を表したブロック図であり、ヘッドエンド101及び3個の端末装置A111、端末装置B112、端末装置C113で構成される。本実施の形態では、1つのヘッドエンドに対して3つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。
(Embodiment 1)
First, Embodiment 1 of the cable television system according to the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing the relationship between the devices constituting the cable system, and includes a head end 101, three terminal devices A111, a terminal device B112, and a terminal device C113. In this embodiment, three terminal devices are coupled to one head end. However, the present invention can be implemented even if an arbitrary number of terminal devices are coupled to the head end.

ヘッドエンド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 head end 101 transmits broadcast signals such as video / audio / data to a plurality of terminal devices and receives data transmission from the terminal devices. In order to realize this, the frequency band used for transmission between the head end 101 and the terminal device A111, the terminal device B112, and the terminal device C113 is divided and used. FIG. 2 is a table showing an example of frequency band division. Frequency bands are roughly classified into two types, Out Of Band (abbreviated as OOB) and In-Band. 5 to 130 MHz is allocated to the OOB, and is mainly used for data exchange between the head end 101 and the terminal device A111, the terminal device B112, and the terminal device C113. 130 MHz to 864 MHz is assigned to In-Band and is mainly used for broadcast channels including video and audio. QPSK modulation is used for OOB, and QAM64 modulation is used for In-Band. The modulation technique is a well-known technique that is not very related to the present invention, and thus detailed description thereof is omitted. FIG. 3 is an example of a more detailed use of the OOB frequency band. 70 MHz to 74 MHz are used for data transmission from the head end 101, and all the terminal devices A111, B112, and C113 receive the same data from the headend 101. On the other hand, 10.0 MHz to 10.1 MHz is used for data transmission from the terminal device A 111 to the head end 101, and 10.1 MHz to 10.2 MHz is used for data transmission from the terminal device B 112 to the head end 101. 2 MHz to 10.3 MHz is used for data transmission from the terminal device C 113 to the head end 101. Thereby, data specific to each terminal device can be transmitted from each terminal device A111, terminal device B112, and terminal device C113 to the head end 101. FIG. 4 is an example of use for the In-Band frequency band. 150-156 MHz and 156-162 MHz are assigned to TV channel 1 and TV channel 2, respectively, and thereafter, TV channels are assigned at intervals of 6 MHz. After 310 MHz, radio channels are allocated in 1 MHz units. Each of these channels may be used as an analog broadcast or a digital broadcast. In the case of digital broadcasting, the data is transmitted in the MOEG2 transport packet format based on the MPEG2 specification, and various data broadcasting data can be transmitted in addition to audio and video.

ヘッドエンド101は、これらの周波数帯域に適切な放送信号を送信するため、QPSK変調部やQAM変調部等を有する。また、端末装置からのデータを受信するため、QPSK復調器を有する。また、ヘッドエンド101は、これら変調部及び復調部に関連する様々な機器を有すると考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。   The head end 101 includes a QPSK modulation unit, a QAM modulation unit, and the like in order to transmit appropriate broadcast signals in these frequency bands. Moreover, in order to receive the data from a terminal device, it has a QPSK demodulator. The head end 101 is considered to have various devices related to the modulation unit and the demodulation unit. However, since the present invention mainly relates to the terminal device, detailed description thereof is omitted.

端末装置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 head end 101. In addition, data specific to each terminal device is transmitted to the head end 101. The three terminal devices have the same configuration in this embodiment.

図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. Reference numeral 500 denotes a terminal device, which includes a QAM demodulation unit 501, a QPSK demodulation unit 502, a QPSK modulation unit 503, a TS decoder 505, an audio decoder 506, a speaker 507, a video decoder 508, a display 509, a secondary storage unit 510, and a primary storage unit. 511, a ROM 512, an input unit 513, and a CPU 514. Further, the POD 504 can be attached to and detached from the terminal device 500.

図6は、端末装置500の外観の一例である薄型テレビである。
601は、薄型テレビの筐体であり、POD504を除く、端末装置500の構成要素をすべてを内蔵している。
FIG. 6 is a thin television that is an example of the appearance of the terminal device 500.
Reference numeral 601 denotes a casing of a flat-screen television, which incorporates all the components of the terminal device 500 except for the POD 504.

602はディスプレイであり、図5におけるディスプレイ509に相当する。
603は複数のボタンで構成されるフロントパネル部であり、図5の入力部513に相当する。
Reference numeral 602 denotes a display, which corresponds to the display 509 in FIG.
Reference numeral 603 denotes a front panel unit composed of a plurality of buttons, which corresponds to the input unit 513 in FIG.

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 head end 101. The signal input terminal is connected to the QAM demodulator 501, QPSK demodulator 502, and QPSK modulator 503 of FIG.

605は、図5のPOD504に相当するPODカードである。POD504は、図6のPODカード605のように、端末装置500とは独立した形態を取り、端末装置500に着脱可能となっている。POD504の詳細は後述する。   Reference numeral 605 denotes a POD card corresponding to the POD 504 in FIG. The POD 504 takes a form independent of the terminal device 500 and can be attached to and detached from the terminal device 500, like the POD card 605 in FIG. Details of the POD 504 will be described later.

606はPODカード605を挿入する挿入スロットである。
図5を参照して、QAM復調部501は、CPU514から指定された周波数を含むチューニング情報で、ヘッドエンド101でQAM変調され送信されてきた信号を復調し、POD504に引き渡す。
Reference numeral 606 denotes an insertion slot into which the POD card 605 is inserted.
Referring to FIG. 5, QAM demodulating section 501 demodulates a signal that has been QAM modulated and transmitted by head end 101 with tuning information including a frequency designated by CPU 514, and delivers the signal to POD 504.

QPSK復調部502は、CPU514から指定された周波数を含むチューニング情報で、ヘッドエンド101でQPSK変調され送信されてきた信号を復調し、POD504に引き渡す。   The QPSK demodulator 502 demodulates a signal transmitted by QPSK modulation at the head end 101 with tuning information including a frequency designated by the CPU 514, and passes it to the POD 504.

QPSK変調部503は、CPU514から指定された周波数を含む復調情報で、POD504から渡された信号をQPSK復調し、ヘッドエンド101に送信する。   The QPSK modulation unit 503 performs QPSK demodulation on the signal passed from the POD 504 with demodulation information including the frequency designated by the CPU 514, and transmits it to the head end 101.

POD504は、図6のように端末装置本体500から着脱可能な形態をしている。POD504の一例としては、CableCard(TM)と呼ばれるデスクランブル等を行うカードがある。端末本体500とPOD504の接続インターフェースは、OpenCable(TM) HOST−POD Interface Specification(OC−SP−HOSTPOD−IF−I12−030210)及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。   The POD 504 is configured to be detachable from the terminal device body 500 as shown in FIG. An example of the POD 504 is a card that performs descrambling or the like called CableCard (TM). The connection interface between the terminal main body 500 and the POD 504 is defined by the OpenCable (TM) HOST-POD Interface Specification (OC-SP-HOSTOPOD-IF-I12-030210) and the specifications referenced from this specification. Here, the details are omitted, and only the part related to the present invention will be described.

図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 POD 504. The POD 504 includes a first descrambler unit 701, a second descrambler unit 702, a scrambler unit 703, a first storage unit 704, a second storage unit 705, and a CPU 706.

第1デスクランブラ部701は、CPU706からの指示により、端末装置500のQAM復調部501から暗号化された信号を受け取り、復号を行う。そして、復号された信号を端末装置500のTSデコーダ505に送る。デコードに必要な鍵などの情報はCPU706から適宜与えられる。具体的には、ヘッドエンド101はいくつかの有料チャンネルを放送している。ユーザーが、この有料チャンネルを購買すると、第1デスクランブラ部701は、CPU706から鍵等の必要な情報を受け取りデスクランブルすることで、ユーザーは有料チャンネルを閲覧することができる。鍵などの必要な情報が与えられない場合は、第1デスクランブラ部701は、デスクランブルを行わず、受け取った信号をそのまま、TSデコーダ505に送る。   The first descrambler unit 701 receives an encrypted signal from the QAM demodulator 501 of the terminal device 500 according to an instruction from the CPU 706 and performs decryption. Then, the decoded signal is sent to the TS decoder 505 of the terminal device 500. Information such as a key necessary for decoding is appropriately given from the CPU 706. Specifically, the head end 101 broadcasts several pay channels. When the user purchases the paid channel, the first descrambler unit 701 receives necessary information such as a key from the CPU 706 and descrambles it, so that the user can view the paid channel. If necessary information such as a key is not given, the first descrambler unit 701 sends the received signal to the TS decoder 505 without performing descrambling.

第2デスクランブラ部702は、CPU706からの指示により、端末装置500のQPSK復調部502から暗号化された信号を受け取り、復号を行う。そして、復号されたデータをCPU706に引き渡す。   The second descrambler unit 702 receives the encrypted signal from the QPSK demodulator 502 of the terminal device 500 according to an instruction from the CPU 706 and performs decryption. Then, the decrypted data is delivered to the CPU 706.

スクランブラ部703は、CPU706からの指示により、CPU706から受け取ったデータを暗号化し、端末装置500のQPSK変調部503に送る。   The scrambler unit 703 encrypts data received from the CPU 706 according to an instruction from the CPU 706 and sends the data to the QPSK modulation unit 503 of the terminal device 500.

第1記憶部704は、具体的にはRAM等の一次記憶メモリーで構成され、CPU706が処理を行う際、一時的にデータを保存するために使用される。   Specifically, the first storage unit 704 includes a primary storage memory such as a RAM, and is used for temporarily storing data when the CPU 706 performs processing.

第2記憶部705は、具体的にはフラッシュROM等の2次記憶メモリーで構成され、CPU706が実行するプログラムを格納し、また、電源OFFになっても消去されては困るデータの保存に使用される。   Specifically, the second storage unit 705 is composed of a secondary storage memory such as a flash ROM, stores a program executed by the CPU 706, and is used for storing data that cannot be erased even when the power is turned off. Is done.

CPU706は、第2記憶部705が記憶するプログラムを実行する。プログラムは複数のサブプログラムで構成される。図8は、第2記憶部705が記憶するプログラムの一例である。図8では、プログラム800は、メインプログラム801、初期化サブプログラム802、ネットワークサブプログラム803、再生サブプログラム804、PPVサブプログラム805等複数のサブプログラムで構成されている。   The CPU 706 executes a program stored in the second storage unit 705. The program is composed of a plurality of subprograms. FIG. 8 is an example of a program stored in the second storage unit 705. In FIG. 8, a program 800 is composed of a plurality of subprograms such as a main program 801, an initialization subprogram 802, a network subprogram 803, a reproduction subprogram 804, and a PPV subprogram 805.

ここで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 head end 101, the scramble is released, and viewing is possible. By this viewing, the user pays the purchase price at a later date.

メインプログラム801は、CPU706が電源投入時に最初に起動するサブプログラムであり、他のサブプログラムの制御を行う。   The main program 801 is a subprogram activated first by the CPU 706 when the power is turned on, and controls other subprograms.

初期化サブプログラム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 initialization subprogram 802 is started by the main program 801 when the power is turned on, performs information exchange with the terminal device 500, and performs initialization processing. The details of the initialization process are defined in the OpenCable (TM) HOST-POD Interface Specification (OC-SP-HOSTODD-IF-I12-03210) and the specifications referenced from this specification. Also, initialization processing that is not defined in the specification is performed. Here are some of them. When the power is turned on, the initialization subprogram 802 notifies the QPSK demodulation unit 502 of the first frequency stored in the second storage unit 705 through the CPU 514 of the terminal device 500. The QPSK demodulator 502 performs tuning at the given first frequency and sends a signal to the second descrambler unit 702. In addition, the initialization subprogram 802 provides the second descrambler unit 702 with decryption information such as the first key stored in the second storage unit 705. As a result, the second descrambler unit 702 performs descrambling and delivers it to the CPU 706 that executes the initialization subprogram 802. Therefore, the initialization subprogram 802 can receive information. In this embodiment, the initialization subprogram 802 receives information through the network subprogram 803. Details will be described later.

また、初期化サブプログラム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 initialization subprogram 802 notifies the QPSK modulation unit 503 of the second frequency stored in the second storage unit 705 through the CPU 514 of the terminal device 500. The initialization subprogram 802 gives the encrypted information stored in the second storage unit 705 to the scrambler unit 703. When the initialization subprogram 802 gives information to be transmitted to the scrambler unit 703 via the network subprogram 803, the scrambler unit 703 encrypts data using the given encryption information, and the terminal device 500 is supplied to the QPSK modulator 503. The QPSK modulation unit 503 modulates the given encrypted information and transmits it to the head end 101.

この結果、初期化サブプログラム802は、端末装置500、第2デスクランブラ部702、スクランブラ部703、ネットワークサブプログラム803を通して、ヘッドエンド101と双方向通信を行うことができる。   As a result, the initialization subprogram 802 can perform bidirectional communication with the head end 101 through the terminal device 500, the second descrambler unit 702, the scrambler unit 703, and the network subprogram 803.

ネットワークサブプログラム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 network subprogram 803 is a subprogram for performing bidirectional communication with the head end 101, which is used from a plurality of subprograms such as the main program 801 and the initialization subprogram 802. Specifically, it behaves as if bidirectional communication with the headend 101 is performed by TCP / IP with respect to other subprograms using the network subprogram 803. TCP / IP is a known technique that defines a protocol for exchanging information between a plurality of devices, and detailed description thereof is omitted. When the network subprogram 803 is activated by the initialization subprogram 802 when the power is turned on, a MAC address (abbreviation for Media Access Control address) that is an identifier for identifying the POD 504 stored in the second storage unit 705 in advance is set. The head end 101 is notified through the terminal device 500 to request acquisition of the IP address. The head end 101 notifies the POD 504 of the IP address via the terminal device 500, and the network subprogram 803 stores the IP address in the first storage unit 704. Thereafter, the head end 101 and the POD 504 communicate using this IP address as the identifier of the POD 504.

再生サブプログラム804は、第2記憶部705が記憶する第2の鍵等の復号情報や、端末装置500から与えられる第3の鍵等の復号情報を第1デスクランブラ部701に与えて、デスクランブルを可能にする。また、ネットワークサブプログラム803を通して、第1デスクランブラ部701に入力されている信号が、PPVチャンネルであることの情報を受け取る。PPVチャンネルと知ったときは、PPVサブプログラム805を起動する。   The playback subprogram 804 provides the first descrambler unit 701 with the decryption information such as the second key stored in the second storage unit 705 and the decryption information such as the third key provided from the terminal device 500. Enable scrambling. In addition, the network subprogram 803 receives information that the signal input to the first descrambler unit 701 is a PPV channel. When the PPV channel is found, the PPV subprogram 805 is activated.

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 PPV subprogram 805 is activated, it displays a message prompting the user to purchase a program on the terminal device 500 and receives user input. Specifically, when information to be displayed on the screen is sent to the CPU 514 of the terminal device 500, a program that operates on the CPU 514 of the terminal device 500 displays a message on the display 509 of the terminal device 500. When the user inputs the personal identification number through the input unit 513 of the terminal device 500, the CPU 514 of the terminal device 500 receives the notification and notifies the PPV subprogram 805 operating on the CPU 706 of the POD 504. The PPV subprogram 805 transmits the received personal identification number to the head end 101 through the network subprogram 803. If the personal identification number is correct, the head end 101 notifies the PPV subprogram 805 of the decryption information such as the fourth key necessary for decryption via the network subprogram 803. The PPV subprogram 805 gives the received decryption information such as the fourth key to the first descrambler unit 701, and the first descrambler unit 701 descrambles the input signal.

図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, TS decoder 505 performs filtering of the signal received from POD 504, and passes necessary data to audio decoder 506, video decoder 508, and CPU 514. Here, the signal coming from the POD 504 is an MPEG2 transport stream. Details of the MPEG2 transport stream are described in the MPEG standard document ISO / IEC13818-1, and the details are omitted in the present embodiment. The MPEG2 transport stream is composed of a plurality of fixed-length packets, and a packet ID is assigned to each packet. FIG. 9 is a configuration diagram of a packet. A packet 900 is composed of 188 bytes having a fixed length. The first 4 bytes are a header 901, which stores packet identification information, and the remaining 184 bytes are a payload 902, which contains information to be transmitted. Reference numeral 903 denotes a breakdown of the header 901. The packet ID is included in 13 bits from the 12th bit to the 24th bit from the top. FIG. 10 is a schematic diagram expressing a plurality of packets that are sent. The packet 1001 has a packet ID “1” in the header, and the payload contains the first information of the video A. The packet 1002 has a packet ID “2” in the header, and the payload contains the first information of the voice A. The packet 1003 has a packet ID “3” in the header, and the payload contains the first information of the voice B.

パケット1004は、ヘッダーにパケットID「1」を持ち、ペイロードには映像Aの2番目の情報が入っており、これはパケット1001の続きになっている。同様にパケット1005、1026、1027も他のパケットの後続データを格納している。このように、同じパケットIDを持つ、パケットのペイロードの内容を連結すると、連続した映像や音声を再現することができる。   The packet 1004 has a packet ID “1” in the header, and the payload contains the second information of the video A. This is a continuation of the packet 1001. Similarly, packets 1005, 1026, and 1027 also store subsequent data of other packets. In this way, continuous video and audio can be reproduced by concatenating the contents of packet payloads having the same packet ID.

図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 CPU 514 instructs packet decoder “1” and “video decoder 508” as an output destination to TS decoder 505, TS decoder 505 receives packet ID “1” from the MPEG2 transport stream received from POD 504. The packet is extracted and delivered to the video decoder 508. In FIG. 10, only video data is delivered to the video decoder 508. At the same time, when the CPU 514 indicates the packet ID “2” and “audio decoder 506” to the TS decoder 505, the TS decoder 505 extracts the packet with the packet ID “2” from the MPEG2 transport stream received from the POD 504, and the audio decoder 506. To hand over. In FIG. 10, only audio data is delivered to the video decoder 508.

このパケットIDに応じて必要なパケットだけを取り出す処理が、TSデコーダ505が行うフィルタリングである。TSデコーダ505はCPU514から指示された複数のフィルタリングを同時に実行することができる。   The process of extracting only necessary packets according to the packet ID is filtering performed by the TS decoder 505. The TS decoder 505 can simultaneously execute a plurality of filtering instructions from the CPU 514.

図5を参照して、オーディオデコーダ506は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたオーディオデータを連結し、デジタル−アナログ変換を行いスピーカ507に出力する。   Referring to FIG. 5, audio decoder 506 concatenates audio data embedded in the MPEG2 transport stream packet provided from TS decoder 505, performs digital-analog conversion, and outputs the result to speaker 507.

スピーカ507は、オーディオデコーダ506から与えられた信号を音声出力する。
ビデオデコーダ508は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたビデオデータを連結し、デジタル−アナログ変換を行いディスプレイ509に出力する。
The speaker 507 outputs the signal given from the audio decoder 506 as sound.
The video decoder 508 connects the video data embedded in the packet of the MPEG2 transport stream supplied from the TS decoder 505, performs digital-analog conversion, and outputs the result to the display 509.

ディスプレイ509は、具体的にはブラウン管や液晶等で構成され、ビデオデコーダ508から与えられたビデオ信号を出力したり、CPU514から指示されたメッセージを表示したりする。   The display 509 is specifically composed of a cathode ray tube, liquid crystal, or the like, and outputs a video signal given from the video decoder 508 or displays a message instructed from the CPU 514.

2次記憶部510は、具体的には、フラッシュメモリーやハードディスク等で構成され、CPU514から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された状態でも保存しつづける。   Specifically, the secondary storage unit 510 is configured by a flash memory, a hard disk, or the like, and saves or deletes data or programs instructed from the CPU 514. The stored data and programs are referred to by the CPU 514. The stored data and programs continue to be stored even when the terminal device 500 is powered off.

1次記憶部511は、具体的には、RAM等で構成され、CPU514から指示されたデータやプログラムを一次的に保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された際に、抹消される。   Specifically, the primary storage unit 511 is configured by a RAM or the like, and temporarily stores or deletes data and programs instructed from the CPU 514. The stored data and programs are referred to by the CPU 514. The stored data and programs are erased when the terminal device 500 is powered off.

ROM512は、書き換え不可能なメモリーデバイスであり、具体的にはROMやCD−ROM、DVDなどで構成される。ROM512は、CPU514が実行するプログラムが格納されている。   The ROM 512 is a non-rewritable memory device, and specifically includes a ROM, a CD-ROM, a DVD, and the like. The ROM 512 stores a program executed by the CPU 514.

入力部513は、具体的には、フロントパネルやリモコンで構成され、ユーザーからの入力を受け付ける。図11は、フロントパネルで入力部513を構成した場合の一例である。1100はフロントパネルであり、図6のフロントパネル部603に相当する。フロントパネル1100は7つのボタン、上カーソルボタン1101、下カーソルボタン1102、左カーソルボタン1103、右カーソルボタン1104、OKボタン1105、取消ボタン1106、EPGボタン1107を備えている。ユーザーがボタンを押下すると、押下されたボタンの識別子が、CPU514に通知される。   Specifically, the input unit 513 includes a front panel and a remote controller, and receives input from the user. FIG. 11 shows an example in which the input unit 513 is configured with a front panel. Reference numeral 1100 denotes a front panel, which corresponds to the front panel unit 603 in FIG. The front panel 1100 includes seven buttons, an up cursor button 1101, a down cursor button 1102, a left cursor button 1103, a right cursor button 1104, an OK button 1105, a cancel button 1106, and an EPG button 1107. When the user presses the button, the CPU 514 is notified of the identifier of the pressed button.

CPU514は、ROM512が記憶するプログラムを実行する。実行するプログラムの指示に従い、QAM復調部501、QPSK復調部502、QPSK変調部503、POD504、TSデコーダ505、ディスプレイ509、2次記憶部510、1次記憶部511、ROM512を制御する。   The CPU 514 executes a program stored in the ROM 512. The QAM demodulating unit 501, the QPSK demodulating unit 502, the QPSK modulating unit 503, the POD 504, the TS decoder 505, the display 509, the secondary storage unit 510, the primary storage unit 511, and the ROM 512 are controlled in accordance with instructions of the program to be executed.

図12は、ROM512に記憶され、CPU514に実行されるプログラムの構成図の一例である。   FIG. 12 is an example of a configuration diagram of a program stored in the ROM 512 and executed by the CPU 514.

プログラム1200は、複数のサブプログラムで構成され、具体的にはOS1201、EPG1202、Java(登録商標)VM1203、サービスマネージャ1204、Javaライブラリ1205で構成される。   The program 1200 includes a plurality of subprograms, and specifically includes an OS 1201, an EPG 1202, a Java (registered trademark) VM 1203, a service manager 1204, and a Java library 1205.

OS1201は、端末装置500の電源が投入されると、CPU514が起動するサブプログラムである。OS1201は、オペレーティングシステムの略であり、Linux等が一例である。OS1201は、他のサブプログラムを平行して実行するカーネル1201a及びライブラリ1201bで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、OS1201のカーネル1201aは、EPG1202とJavaVM1203をサブプログラムとして実行する。また、ライブラリ1201bは、これらサブプログラムに対して、端末装置500が保持する構成要素を制御するための複数の機能を提供する。   The OS 1201 is a subprogram that is activated by the CPU 514 when the terminal device 500 is powered on. The OS 1201 is an abbreviation for an operating system, and Linux or the like is an example. The OS 1201 is a general term for known techniques including a kernel 1201a and a library 1201b that execute other subprograms in parallel, and detailed description thereof is omitted. In the present embodiment, the kernel 1201a of the OS 1201 executes the EPG 1202 and the Java VM 1203 as subprograms. Further, the library 1201b provides a plurality of functions for controlling the components held by the terminal device 500 for these subprograms.

機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それを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 QAM demodulator 501. The QAM demodulator 501 can perform demodulation processing based on the given tuning information, and deliver the demodulated data to the POD 504. As a result, other subprograms can control the QAM demodulator through the library 1201b.

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 EPG 1202 includes a program display unit 1202a that displays a list of programs to the user and receives input from the user, and a playback unit 1102b that performs channel selection. Here, EPG is an abbreviation for Electric Program Guide. When the terminal device 500 is powered on, the EPG 1202 is activated by the kernel 1201a. In the activated EPG 1202, the program display unit 1202a waits for input from the user through the input unit 513 of the terminal device 500. Here, when the input unit 513 includes the front panel shown in FIG. 11, when the user presses the EPG button 1107 of the input unit 513, the identifier of the EPG button is notified to the CPU 514. The program display unit 1202a of the EPG 1202, which is a subprogram operating on the CPU 514, receives this identifier and displays program information on the display 509. FIGS. 13A and 13B are examples of the program guide displayed on the display 509. Referring to FIG. 13A, program information is displayed on the display 509 in a grid pattern. A column 1301 displays time information. A column 1302 displays a channel name “Channel 1” and a program broadcast in a time zone corresponding to the time in the column 1301. In “Channel 1”, the program “News 9” is broadcast from 9:00 to 10:30, and “Movie AAA” is broadcast from 10:30 to 12:00. Similarly to the column 1302, the column 1303 displays a channel name “channel 2” and a program that is broadcast in a time zone corresponding to the time in the column 1301. The program “Movie BBB” is broadcast from 9:00 to 11:00, and “News 11” is broadcast from 11:00 to 12:00. Reference numeral 1330 denotes a cursor. The cursor 1330 moves when the left cursor 1103 and the right cursor 1104 on the front panel 1100 are pressed. When the right cursor 1104 is pressed in the state of FIG. 13A, the cursor 1330 moves to the right, as shown in FIG. 13B. Further, when the left cursor 1103 is pressed in the state of FIG. 13B, the cursor 1330 moves to the left, as shown in FIG.

図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 program display unit 1202a notifies the reproduction unit 1102b of the identifier of “channel 1”. When the OK button 1105 on the front panel 1100 is pressed in the state of FIG. 13 (2), the program display unit 1202a notifies the reproduction unit 1102b of the identifier of “channel 2”.

また、番組表示部1202aは、表示する番組情報を、POD504を通してヘッドエンド101から定期的に、1次記憶部511に記憶しておく。一般的に、ヘッドエンドからの番組情報の取得は時間が掛かる。入力部513のEPGボタン1107が押下された時、1次記憶部511に予め保存された番組情報を表示することで、素早く番組表を表示することができる。   Further, the program display unit 1202a periodically stores program information to be displayed in the primary storage unit 511 from the head end 101 through the POD 504. In general, it takes time to acquire program information from the head end. When the EPG button 1107 of the input unit 513 is pressed, by displaying the program information stored in the primary storage unit 511 in advance, the program guide can be displayed quickly.

再生部1102bは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、2次記憶部510に予め格納されている。図14は2次記憶部510に格納されているチャンネル情報の一例である。チャンネル情報は表形式で格納されている。列1401は、チャンネルの識別子である。列1402は、チャンネル名である。列1403はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、QAM復調部501に与える値である。列1404はプログラムナンバーである。プログラムナンバーとは、MPEG2規格で規定されているPMTを識別するための番号である。PMTに関しては、後述する。行1411〜1414の各行は、各チャンネルの識別子、チャンネル名、チューニング情報の組となる。行1411は識別子が「1」、チャンネル名が「チャンネル1」、チューニング情報に周波数「312MHz」、プログラムナンバーが「101」を含む組となっている。再生部1102bは、チャンネルの再生を行うため、受け取ったチャンネルの識別子をそのままサービスマネージャに引き渡す。   The playback unit 1102b plays back a channel using the received channel identifier. The relationship between the channel identifier and the channel is stored in advance in the secondary storage unit 510 as channel information. FIG. 14 is an example of channel information stored in the secondary storage unit 510. Channel information is stored in tabular form. A column 1401 describes channel identifiers. A column 1402 is a channel name. A column 1403 is tuning information. Here, the tuning information includes a frequency, a transfer rate, a coding rate, and the like, and is a value given to the QAM demodulator 501. A column 1404 is a program number. The program number is a number for identifying a PMT defined in the MPEG2 standard. The PMT will be described later. Each row of the rows 1411 to 1414 is a set of an identifier, a channel name, and tuning information of each channel. The row 1411 is a set including an identifier “1”, a channel name “channel 1”, tuning information having a frequency “312 MHz”, and a program number “101”. The playback unit 1102b delivers the received channel identifier to the service manager as it is to play back the channel.

また、再生部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 playback unit 1102b receives the pressed notification from the input unit 513 through the CPU 514 and changes the channel being played back. . First, the playback unit 1102b stores the identifier of the channel currently being played back in the primary storage unit 511. 15 (1), (2), and (3) are examples of channel identifiers stored in the primary storage unit 511. FIG. In FIG. 15 (1), the identifier “3” is stored, and referring to FIG. 14, it is indicated that the channel with the channel name “TV 3” is being reproduced. When the user presses the up cursor 1101 in the state of FIG. 15A, the playback unit 1102b refers to the channel information of FIG. 14 and plays back the channel with the channel name “channel 2” which is the previous channel in the table. In order to switch, the identifier “2” of the channel name “channel 2” is delivered to the service manager. At the same time, the channel identifier “2” stored in the primary storage unit 511 is rewritten. FIG. 15 (2) shows a state in which the channel identifier has been rewritten. In addition, when the user presses the down cursor 1102 in the state of FIG. 15A, the playback unit 1102 b refers to the channel information of FIG. 14 and sets the channel of the next channel in the table with the channel name “TV Japan”. In order to switch playback, the identifier “4” of the channel name “TV Japan” is delivered to the service manager. At the same time, the channel identifier “4” stored in the primary storage unit 511 is rewritten. FIG. 15 (3) shows a state in which the channel identifier has been rewritten.

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 Java VM 1203 is a Java virtual machine that sequentially analyzes and executes a program written in the Java (TM) language. Programs written in the Java language are compiled into intermediate codes called bytecodes that do not depend on hardware. The Java virtual machine is an interpreter that executes this bytecode. Some Java virtual machines also translate the bytecode into an execution format that can be understood by the CPU 514, and then deliver it to the CPU 514 for execution. The Java VM 1203 is activated by specifying a Java program to be executed by the kernel 1201a. In the present embodiment, the kernel 1201a designates the service manager 1204 as a Java program to be executed. Details of the Java language are described in many books such as the book “Java Language Specification (ISBN 0-201-63451-1)”. The details are omitted here. The detailed operation of JavaVM itself is described in many books such as “Java Virtual Machine Specification (ISBN 0-201-6451-X)”. The details are omitted here.

サービスマネージャ1204は、Java言語で書かれたJavaプログラムであり、JavaVM1203によって逐次実行される。サービスマネージャ1204は、JNI(Java Native Interface)を通して、Java言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。JNIに関しても、書籍「Java Native Interface」等の多くの書籍で解説されている。ここでは、その詳細を省略する。   The service manager 1204 is a Java program written in the Java language, and is sequentially executed by the Java VM 1203. The service manager 1204 can call or be called by other subprograms not described in the Java language through JNI (Java Native Interface). JNI is also described in many books such as the book “Java Native Interface”. The details are omitted here.

サービスマネージャ1204は、JNIを通して、再生部1102bよりチャンネルの識別子を受け取る。   The service manager 1204 receives the channel identifier from the playback unit 1102b through JNI.

サービスマネージャ1204は、最初にJavaライブラリ1205の中にあるTuner1205cに、チャンネルの識別子を引き渡し、チューニングを依頼する。Tuner1205cは、2次記憶部510が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ1204がチャンネルの識別子「2」をTuner1205cに引き渡すと、Tuner1205cは、図14の列1412を参照して、対応するチューニング情報「156MHz,」を獲得する。Tuner1205cは、OS1201のライブラリ1201bを通して、QAM復調部501にチューニング情報を引き渡す。QAM復調部501は与えられたチューニング情報に従ってヘッドエンド101から送信されてきた信号を復調し、POD504に引き渡す。   First, the service manager 1204 hands over the channel identifier to the Tuner 1205c in the Java library 1205 and requests tuning. The tuner 1205c refers to the channel information stored in the secondary storage unit 510 and acquires tuning information. Now, when the service manager 1204 hands over the channel identifier “2” to the Tuner 1205c, the Tuner 1205c refers to the column 1412 in FIG. 14 and acquires the corresponding tuning information “156 MHz,”. The Tuner 1205c delivers tuning information to the QAM demodulator 501 through the library 1201b of the OS 1201. The QAM demodulator 501 demodulates the signal transmitted from the head end 101 according to the given tuning information, and delivers it to the POD 504.

次にサービスマネージャ1204は、Javaライブラリ1205の中にあるCA1205dにデスクランブルを依頼する。CA1205dは、OS1201のライブラリ1201bを通して復号に必要な情報をPOD504に与える。POD504は、与えられた情報を元に、QAM復調部501から与えられた信号を復号しTSデコーダ505に引き渡す。   Next, the service manager 1204 requests the CA 1205d in the Java library 1205 for descrambling. The CA 1205d gives information necessary for decoding to the POD 504 through the library 1201b of the OS 1201. The POD 504 decodes the signal given from the QAM demodulator 501 based on the given information and delivers it to the TS decoder 505.

次にサービスマネージャ1204は、Javaライブラリ1205の中にあるJMF1205aにチャンネルの識別子を与え、映像・音声の再生を依頼する。   Next, the service manager 1204 gives a channel identifier to the JMF 1205a in the Java library 1205, and requests video / audio reproduction.

まず、最初に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」を獲得する。   First, the JMF 1205a first acquires a packet ID for specifying video and audio to be reproduced from the PAT and PMT. PAT and PMT are tables defined in the MPEG2 standard and representing the program structure in the MPEG2 transport stream, which are embedded in the payload of packets included in the MPEG2 transport stream and transmitted together with audio and video. It is. For details, refer to the specifications. Here, only an outline will be described. PAT is an abbreviation of Program Association Table, and is stored in a packet with a packet ID “0” and transmitted. The JMF 1205a designates the packet ID “0” and the CPU 514 to the TS decoder 505 through the library 1201b of the OS 1201 in order to obtain the PAT. The TS decoder 505 performs filtering with the packet ID “0” and passes it to the CPU 514, whereby the JMF 1205a collects the PAT packets. FIG. 16 is a table schematically illustrating an example of collected PAT information. A column 1601 is a program number. A column 1602 is a packet ID. The packet ID in column 1602 is used to obtain the PMT. Rows 1611 to 1613 are a set of channel program numbers and corresponding packet IDs. Here, three channels are defined. A row 1611 defines a set of a program number “101” and a packet ID “501”. Now, assuming that the identifier of the channel given to the JMF 1205a is “2”, the JMF 1205a refers to the column 1412 in FIG. 14 and obtains the corresponding program number “102”, and then the PAT column in FIG. Referring to 1612, the packet ID “502” corresponding to the program number “102” is acquired. PMT is an abbreviation of Program Map Table, and is stored and transmitted in a packet with a packet ID defined by PAT. The JMF 1205a designates the packet ID and the CPU 514 to the TS decoder 505 through the library 1201b of the OS 1201 in order to acquire the PMT. Here, the designated packet ID is “502”. The TS decoder 505 performs filtering with the packet ID “502” and passes it to the CPU 514, whereby the JMF 1205a collects the PMT packets. FIG. 17 is a table schematically illustrating an example of collected PMT information. A column 1701 is a stream type. A column 1702 is a packet ID. In the packet with the packet ID specified in the column 1702, information specified by the stream type is stored in the payload and transmitted. A column 1703 is supplementary information. Columns 1711 to 1714 are combinations of packet IDs and types of information being transmitted, which are called elementary streams. A column 1711 is a set of a stream type “voice” and a packet ID “5011”, and represents that voice is stored in the payload of the packet ID “5011”. The JMF 1205a acquires video and audio packet IDs to be reproduced from the PMT. Referring to FIG. 17, JMF 1205 a obtains audio packet ID “5011” from row 1711 and video packet ID “5012” from row 1712.

次に、JMF1205aは、OS1201のライブラリ1201bを通して、獲得した音声のパケットIDと出力先としてオーディオデコーダ506、映像のパケットIDと出力先としてビデオデコーダ508の組を、TSデコーダ505に与える。TSデコーダ505は与えられたパケットIDと出力先に基づいて、フィルタリングを行う。ここではパ
ケットID「5011」のパケットをオーディオデコーダ506に、パケットID「5012」のパケットをビデオデコーダ508に引き渡す。オーディオデコーダ506は、与えられたパケットのデジタル−アナログ変換を行いスピーカ507を通して音声を再生する。ビデオデコーダ508は、与えられたパケットのデジタル−アナログ変換を行いディスプレイ509に映像を表示する。
Next, the JMF 1205a provides the TS decoder 505 with a set of the acquired audio packet ID and output destination as the audio decoder 506 and the video packet ID and output destination as the video decoder 508 through the library 1201b of the OS 1201. The TS decoder 505 performs filtering based on the given packet ID and output destination. Here, the packet with the packet ID “5011” is delivered to the audio decoder 506, and the packet with the packet ID “5012” is delivered to the video decoder 508. The audio decoder 506 performs digital-analog conversion of a given packet and reproduces sound through the speaker 507. The video decoder 508 performs digital-analog conversion of the given packet and displays an image on the display 509.

最後にサービスマネージャ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 service manager 1204 gives a channel identifier to the AM 1205b in the Java library 1205 and requests data broadcast reproduction. Here, the data broadcast reproduction means that a Java program included in the MPEG2 transport stream is extracted and executed by the JavaVM 1203. As a method for embedding a Java program in an MPEG2 transport stream, a method called DSMCC described in the MPEG standard document ISO / IEC13818-6 is used. Here, detailed description of DSMCC is omitted. The DSMCC method defines a method for encoding a file system composed of directories and files used in a computer in a packet of an MPEG2 transport stream. Information on the Java program to be executed is embedded in a packet of the MPEG2 transport stream in a format called AIT and transmitted. AIT is an abbreviation of Application Information Table defined in Chapter 10 of the DVB-MHP standard (formally, ETSI TS 101 812 DVB-MHP specification V1.0.2).

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 AM 1205b acquires the PAT and PMT in the same manner as the JMF 1205a in order to acquire the AIT, and acquires the packet ID of the packet in which the AIT is stored. Now, if the given channel identifier is “2” and the PAT of FIG. 16 and the PMT of FIG. 17 are transmitted, the PMT of FIG. 17 is obtained in the same procedure as the JMF 1205a. The AM 1205b extracts the packet ID from the elementary stream having the stream type “data” and the supplementary information “AIT” from the PMT. Referring to FIG. 17, the elementary stream in row 1713 corresponds to the packet ID “5013”.

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 AM 1205 b gives the AIT packet ID and the output destination CPU 514 to the TS decoder 505 through the library 1201 b of the OS 1201. The TS decoder 505 performs filtering with the given packet ID, and delivers it to the CPU 514. As a result, the AM 1205b can collect AIT packets. FIG. 18 is a table schematically showing an example of collected AIT information. A column 1801 is an identifier of the Java program. A column 1802 is Java program control information. The control information includes “autostart”, “present”, “kill”, etc. “autostart” means that the terminal device 500 automatically executes this program immediately, and “present” means that it is not automatically executed. “Kill” means to stop the program. A column 1803 is a DSMCC identifier for extracting a packet ID including a Java program in the DSMCC format. A column 1804 is a program name of the Java program. Columns 1811 and 1812 are information sets of Java programs. The Java program defined in the column 1811 is a set of an identifier “301”, control information “autostart”, a DSMCC identifier “1”, and a program name “a / TopXlet”. The Java program defined in the column 1812 is a set of an identifier “302”, control information “present”, a DSMCC identifier “1”, and a program name “b / GameXlet”. Here, the two Java programs have the same DSMCC identifier, which indicates that two Java programs are included in a file system encoded in one DSMCC format. Here, only four pieces of information are defined for the Java program, but more information is actually defined. For details, refer to the DVB-MHP standard.

AM1205bは、AITの中から「autostart」のJavaプログラムを見つけ出し、対応するDSMCC識別子及びJavaプログラム名を抽出する。図18を参照して、AM1205bは行1811のJavaプログラムを抽出し、DSMCC識別子「1」及びJavaプログラム名「a/TopXlet」を獲得する。   The AM 1205b finds the “autostart” Java program from the AIT, and extracts the corresponding DSMCC identifier and Java program name. Referring to FIG. 18, AM 1205b extracts the Java program in line 1811 and acquires the DSMCC identifier “1” and the Java program name “a / TopXlet”.

次にAM1205bは、AITから取得したDSMCC識別子を用いて、JavaプログラムをDSMCC方式で格納しているパケットのパケットIDをPMTから獲得する。具体的には、PMTの中でストリーム種別が「データ」で、補足情報のDSMCC識別子が合致するエレメンタリ−ストリームのパケットIDを取得する。   Next, the AM 1205b obtains, from the PMT, the packet ID of the packet storing the Java program in the DSMCC format, using the DSMCC identifier obtained from the AIT. Specifically, the packet ID of the elementary stream in which the stream type is “data” in the PMT and the DSMCC identifier of the supplementary information matches is acquired.

今、DSMCC識別子が「1」であり、PMTが図17とすると、行1714のエレメンタリ−ストリームが合致し、パケットID「5014」を取り出す。   Now, assuming that the DSMCC identifier is “1” and the PMT is FIG. 17, the elementary stream in the row 1714 matches and the packet ID “5014” is extracted.

AM1205bは、OS1201のライブラリ1201bを通してTSデコーダ505にDSMCC方式でデータが埋めこめられたパケットのパケットIDと出力先としてCPU514を指定する。ここでは、パケットID「5014」を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1205bは、必要なパケットを収集することができる。AM1205bは、収集したパケットから、DSMCC方式に従ってファイルシステムを復元し、1次記憶部511に保存する。MPEG2トランスポートストリーム中のパケットからファイルシステム等のデータを取り出し1次記憶部511等の記憶手段に保存することを以降、ダウンロードと呼ぶ。   The AM 1205b designates the CPU 514 as the packet ID and output destination of the packet in which data is embedded in the TS decoder 505 by the DSMCC method through the library 1201b of the OS 1201. Here, the packet ID “5014” is given. The TS decoder 505 performs filtering with the given packet ID, and delivers it to the CPU 514. As a result, the AM 1205b can collect necessary packets. The AM 1205b restores the file system from the collected packets according to the DSMCC method, and saves it in the primary storage unit 511. The extraction of data such as a file system from the packet in the MPEG2 transport stream and saving it in the storage means such as the primary storage unit 511 is hereinafter referred to as download.

図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 is a root directory, 1902 is a directory “a”, 1903 is a directory “b”, 1904 is a file “TopXlet.class”, and 1905 is 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 AM 1205 b delivers the Java program to be executed from the file system downloaded to the primary storage unit 511 to the Java VM 1203. If the name of the Java program to be executed is “a / TopXlet”, the file “a / TopXlet.class” with “.class” added to the end of the Java program name is the file to be executed. “/” Is a delimiter between directories and file names. With reference to FIG. 19, the file 1904 is a Java program to be executed. Next, the AM 1205b delivers the file 1904 to the Java VM 1203.

JavaVM1203は、引き渡されたJavaプログラムを実行する。
サービスマネージャ1204は、他のチャンネルの識別子を受け取ると、Javaライブラリ1205に含まれる各ライブラリを通して再生している映像・音声及びJavaプログラムの実行を、同じくJavaライブラリ1205に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びJavaプログラムの実行を行う。
The Java VM 1203 executes the delivered Java program.
When the service manager 1204 receives an identifier of another channel, the service manager 1204 stops the execution of the video / audio and the Java program being played through each library included in the Java library 1205 through each library also included in the Java library 1205. Based on the newly received channel identifier, video / audio playback and Java program execution are performed.

Javaライブラリ1205は、ROM512に格納されている複数のJavaライブラリの集合である。本実施の形態では、ここでは、Javaライブラリ1205は、JMF1205a,AM1205b,Tuner1205c,CA1205d、POD Lib1205e等を含んでいる。   The Java library 1205 is a set of a plurality of Java libraries stored in the ROM 512. In the present embodiment, here, the Java library 1205 includes JMF 1205a, AM 1205b, Tuner 1205c, CA 1205d, POD Lib 1205e, and the like.

次に、本発明の主要機能であるJavaプログラムのダウンロード・保存及び実行機能について説明する。   Next, Java program download / save and execution functions, which are the main functions of the present invention, will be described.

サービスマネージャ1204は、Javaライブラリ1205に含まれるPOD Lib1205eを通してヘッドエンド101と双方向通信を行う。この双方向通信は、PO
D Lib1205eはOS1201のライブラリ1201b及び、POD504を介して、QPSK復調部502、QPSK変調部503を使用して実現される。
The service manager 1204 performs bi-directional communication with the head end 101 through the POD Lib 1205e included in the Java library 1205. This two-way communication is
The D Lib 1205e is realized by using the QPSK demodulator 502 and the QPSK modulator 503 via the OS 1201 library 1201b and the POD 504.

サービスマネージャ1204は、この通信を用いてヘッドエンド101から、端末装置500が2次記憶部510に保存すべきJavaプログラムの情報を受け取る。この情報をXAIT情報と呼ぶ。XAIT情報は、ヘッドエンド101とPOD504間で、任意の形式で送信される。どのような送信形式を採用しても、XAITに必要とする情報が含まれていれば、本発明は実施可能である。   The service manager 1204 receives information on the Java program that the terminal device 500 should store in the secondary storage unit 510 from the headend 101 using this communication. This information is called XAIT information. XAIT information is transmitted between the head end 101 and the POD 504 in an arbitrary format. Regardless of the transmission format, the present invention can be implemented as long as the information necessary for XAIT is included.

図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 head end 101. A column 2001 is an identifier of the Java program. A column 2002 is Java program control information. The control information includes “autoselect” and “present”. “Autoselect” means that the terminal device 500 automatically executes this program when the power is turned on, and “present” means that it is not automatically executed. A column 2003 is a DSMCC identifier for extracting a packet ID including a Java program in the DSMCC format. A column 2004 is a program name of the Java program. Column 2005 is the priority of the Java program. Columns 2011 and 2012 are information sets of Java programs. The Java program defined in the column 2011 is a set of an identifier “701”, control information “autoselect”, a DSMCC identifier “1”, and a program name “a / PPV1Xlet”. Here, only five pieces of information are defined for the Java program, but the present invention can be implemented even if more information is defined.

サービスマネージャ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 service manager 1204 stores the file system from the MPEG2 transport stream in the primary storage unit 511 in the same procedure as the procedure for downloading the Java program from the AIT information. Thereafter, the saved file system is copied to the secondary storage unit 510. It is also possible to download directly to the secondary storage unit 510 without going through the primary storage unit 511. Next, the service manager 1204 associates the storage location of the downloaded file system with the XAIT information and stores it in the secondary storage unit 510. FIG. 21 shows an example in which the secondary storage unit 510 stores the XAIT information and the downloaded file system in association with each other. In FIG. 21, elements with the same numbers as in FIG. 20 are the same as those in FIG. Column 2101 stores the storage location of the corresponding downloaded file system. In the figure, the storage position is indicated by an arrow. A downloaded file system 2110 includes a top directory 2111, a directory “a” 2112, a directory “b” 2113, a file “PPV1Xlet.class” 2114, and a file “PPV2Xlet.class” 2115.

ここで、XAIT情報は、Javaプログラムを保存してから保存しているが、Javaプログラムを保存する前に保存することも実施可能である。   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.

端末装置500に電源が投入後、OS1201が、サービスマネージャ1204をJavaVM1203に指定し、JavaVM1203がサービスマネージャ1204を起動した後、サービスマネージャ1204は、最初に2次記憶部510に保存されたXAIT情報を参照する。ここで各Javaプログラムの制御情報を参照し「autoselect」のプログラムをJavaVM1203に引き渡し、起動する。図21を参照して、行2011で定義されるJavaプログラム「PPV1Xlet」が起動される。   After the terminal device 500 is powered on, the OS 1201 designates the service manager 1204 as the Java VM 1203, and after the Java VM 1203 activates the service manager 1204, the service manager 1204 first stores the XAIT information stored in the secondary storage unit 510. refer. Here, referring to the control information of each Java program, the “autoselect” program is transferred to the Java VM 1203 and started. Referring to FIG. 21, the Java program “PPV1Xlet” defined in line 2011 is activated.

ここで、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 PPV subprogram 805 that the POD 504 has. When the terminal device 500 does not have the Java program “PPV1Xlet”, when the PPV subprogram 805 sends information to be displayed on the screen to the CPU 514 of the terminal device 500, the dialog display program included in the library 1201b of the OS 1201 is shown in FIG. A message prompting the user to purchase a program as shown is displayed on the display 509. Reference numeral 2201 denotes a dialog box, which has display elements of a message 2202, a password number box 2203 for inputting a 4-digit password, an OK button 2204, and a cancel button 2205. However, in this display, since the program content is unknown, it is inconvenient because the user needs to check the program content by referring to a book such as a program guide.

端末装置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 terminal device 500 and activated, the Java program “PPV1Xlet” registers itself as a Java program that can be referred to from the POD 504 in the POD Lib 1205e of the Java library 1205. At the time of registration, the identifier of the own Java program, the operation type, and the priority are also registered. The POD Lib 1205e stores the registered contents in the secondary storage unit 510. FIG. 23 shows an example of a state in which the secondary storage unit 510 stores information on a Java program that can be referenced from the registered POD 504. In this example, the table is stored in a table format, the column 2301 stores the identifier of the Java program, the column 2302 stores the operation type of the Java program, the column 2303 indicates the priority of the Java program, and the column 2304 stores the name of the Java program. Here, the operation type of the Java program has two values of “1” and “2” as shown in FIG. 24, and the value “1” indicates the Java program in which the registered Java program is registered elsewhere, This means that it cannot be executed simultaneously with the program included in the library 1201b of the OS 1201. The value “2” represents that the registered Java program can be executed simultaneously with other registered Java programs or programs included in the library 1201b of the OS 1201. Referring to FIG. 23, rows 2311 to 2312 represent registered Java programs. A row 2311 is a set of an identifier “PPV”, an operation type “2”, a priority “200”, and a Java program name “PPV1Xlet”.

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 POD Lib 1205e notifies the POD 504 of information on the registered Java program, and data can be transmitted and received between the sub program in the POD 504 and the registered Java program. For example, the PPV subprogram 805 in the POD 504 sends the program contents to be purchased for PPV to the registered Java program indicated by the row 2311 in FIG. 23, and the Java program displays on the display 509 as shown in FIG. be able to. Elements having the same numbers as those in FIG. 22 are the same as those in FIG. Reference numeral 2501 denotes program information displayed by the registered Java program. Here, the dialog display program of the library 1201b of the OS 1201 and the registered Java program are executed simultaneously. At this time, the POD 504 identifies the partner Java program to which the data is to be sent with reference to the registered Java program type.

一方、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 library 1201b of the OS 1201 and the registered Java program are developed separately, and as a result, 2201 and 2501 may overlap and be displayed. In order to avoid this, the dialog display program of the library 1201b of the OS 1201 can be stopped. Specifically, the Java program has all the functions such as input of a personal identification number to be performed by the dialog display program of the library 1201b of the OS 1201, and further registers with the operation type “1”. FIG. 26 shows an example in which the registered Java program in this case displays on the display 509 in response to an instruction from the PPV subprogram of the POD 504.

ここで、図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 secondary storage unit 510 as shown in FIG. In this example, the two Java programs have the same identifier “PPV”, and the operation type is “1” and cannot coexist. In such a case, the POD Lib 1205e operates only the Java program having a high priority. Alternatively, both are operated, but the message from the POD 504 is delivered only to the Java program having a high priority.

図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 POD Lib 1205e when the Java program is registered in the POD Lib 1205e. The POD Lib 1205e accepts registration of the Java program (step S2801). The received information is stored in the secondary storage unit 510 (step S2802). The Java program already registered in the secondary storage unit 510 is compared with the identifiers of the accepted Java programs, and it is determined whether there are a plurality of Java programs with the same identifier (step S2803). If there is a Java program with the same identifier, the process proceeds to step S2901 in FIG. If there is no Java program with the same identifier, it is checked whether or not the operation type of the accepted Java program can be executed together (step S2804). If not possible, message delivery from the POD 504 to the library 1201b of the OS 1201 is stopped (step S2805). Thereafter, message delivery from the POD 504 to the accepted Java program is validated (step S2806), and the registration process is terminated. If there is a Java program with the same identifier in step S2803, it is checked whether all the operation types of the plurality of Java programs with the same identifier can be executed together (step S2901). If there is a Java program that cannot be executed together, the priority of the accepted Java program is compared with the priority of the existing Java program (step S2902). When the received Java program has the highest priority, message delivery from the POD 504 to the existing Java program is stopped (step S2903), and message delivery from the POD 504 to the received Java program is enabled (step S2904). . If it is determined in step S2901 that all Java program operation types can be executed together, the process advances to step S2904. If the priority of the accepted Java program is not the highest in step S2902, the existing Java program continues to receive messages, so the process is terminated without doing anything.

図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 POD 504 based on the flowchart of this operation. FIG. 30 (1) shows a state in which the Java program is not registered, and all messages are delivered from the POD 504 to the library 1201b of the OS 1201. Arrow 3001 represents message delivery. When the Java program is registered in the state of FIG. 30 (1), when the registered Java program operation types are capable of coexistence, steps S2801, S2802, S2803, S2804, The process of S2806 is performed, and the state shown in FIG. Here, reference numeral 3011 is a registered Java program, and an arrow 3002 is a message flow from the newly set POD 504 to the Java program 3011. Strictly speaking, a CPU 514 and a POD Lib 1205e are interposed between the POD 504 and the Java program. If the registered Java program operation type cannot coexist, the processing of steps S2801, S2802, S2803, S2804, S2805, S2806 is performed with reference to the flowchart of FIG. 28, and the state of FIG. become. The message flow from the POD 504 represented by the arrow 3001 to the library 1201b is stopped, and message delivery from the new POD 504 to the Java program 3011 is set.

図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 POD 504 to the registered Java program 3111 with the library 1201 b of the OS 1201. Arrows 3101 and 3102 represent message delivery. When a Java program is registered in the state of FIG. 31 (1), if the registered operation type of the Java program can coexist, operations S2801, S2802, and S2803 are referred to with reference to the flowcharts of FIGS. , S2901 and S2904 are performed, and the state shown in FIG. Here, 3112 is a registered Java program, and an arrow 3103 represents delivery of a message from the newly set POD 504 to the Java program 3112.

図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 POD 504 to the registered Java program 3211. The Java program 3211 is in this state because the operation types cannot be co-executed. Arrow 3201 represents message delivery. When a Java program is registered in the state shown in FIG. 31 (1), the priority of the registered Java program 3211 and the registered Java program is compared if the registered Java program operation types can coexist. . When the priority of the registered Java program is high, the processes of steps S2801, S2802, S2803, S2901, S2902, S2903, and S2904 are performed with reference to the flowcharts of FIGS. It becomes a state. Message delivery from the POD 504 represented by the arrow 3201 to the Java program 3211 is stopped, and message delivery from the new POD 504 to the Java program 3212 is set. When the priority of the existing Java program 3211 is high, the processing of steps S2801, S2802, S2803, S2901, and S2902 is performed with reference to the flowcharts of FIGS. 28 and 29, and the state of FIG. 31 (3) is obtained. Message delivery remains the same.

なお、ステップ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 504 to the program. The Java program on the line 3311 can accept the charge display and the input of the password, and the Java program on the line 3312 can only display the program contents.

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 POD Lib 1205e accepts registration of a Java program and also accepts deletion. 34 and 35 are flowcharts summarizing the operation of the POD Lib 1205e when the POD Lib 1205e deletes the registration of the Java program. The POD Lib 1205e accepts the deletion of the Java program (Step S3401). The Java program received from the secondary storage unit 510 is deleted (step S3402). It is checked whether the Java program to be deleted currently receives a message from the POD 504 (step S3403). If received, the message delivery from the POD 504 to the Java program received is invalidated (step S3404). It is checked whether there is a Java program with the same identifier in the secondary storage unit 510 (step S3405). If not, message delivery from the POD 504 to the library 1201b of the OS 1201 is validated (step S3406). If the Java program to be deleted does not receive a message from the POD 504 in step S3403, the process ends. If it is determined in step S3405 that there is a Java program having the same identifier as the Java program to be deleted, it is checked whether or not all Java programs can be executed together with reference to FIG. 35 (step S3501). The message delivery from the POD 504 to all the coexisting Java programs having the same identifier and the library 1201b of the OS 1201 is enabled (step S3502). If all the Java programs are not co-executed, the Java program having the highest priority is extracted (step S3503). The message delivery from the POD 504 to the extracted Java program is validated (step S3504).

以上のように、本実施の形態によれば、既存のプログラムを削除することなく、一時的にダウンロードしたプログラムを代わりに実行することで、プログラムの更新が可能になると同時に、既存のプログラムを容易に戻すことも可能になる。また、既存のプログラムと同時に実行可能となるようにプログラムをダウンロードして保存することで、既存のプログラムに無い機能を追加することができる。   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 PPV subprogram 805 and the Java program in the POD 504 exchange messages and perform operations. However, not only the PPV but also any subprogram on the POD 504 and the terminal device 500 It can be adapted to exchange messages between any Java programs. Further, the Java program may be a mixture of a part written in Java and a part in a binary format that can be directly executed by the CPU, or may be implemented only if it is composed only of a binary form that can be directly executed by the CPU.

本実施の形態では、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 ROM 512 by storing the content stored in the ROM 512 in the secondary storage unit 510. Further, the secondary storage unit 510 is configured by a plurality of sub-secondary storage units, and can be implemented even when individual sub-secondary storage units store different information. For example, one sub-secondary storage unit stores only tuning information, another sub-secondary storage unit stores the library 1201b of the OS 1201, and another sub-secondary storage unit stores the downloaded Java program. It is possible to divide in detail, such as.

(実施の形態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 library 1201b of the OS 1201 or the secondary storage unit 510 suddenly stops message communication with the POD 504. For example, if a Java program is registered in the middle of a PPV purchase process, the purchase process may be interrupted and the password entered halfway may become invalid.

よって、本実施の形態においては、メッセージ通信を停止されるOS1201のライブラリ1201bや既存のJavaプログラムに対して、事前に通知を行い、了承を得てから停止することとする。具体的には、実施の形態1における動作を表すフローチャートである図28のステップS2805のライブラリ1201bへのメッセージの配送の停止、図29のステップS2903の既存のJavaプログラムへのメッセージ配送停止を図33に記述されたフローチャートに置き換える。   Therefore, in the present embodiment, notification is made in advance to the library 1201b of the OS 1201 and the existing Java program for which message communication is to be stopped, and it is stopped after obtaining approval. Specifically, the message delivery stop to the library 1201b in step S2805 in FIG. 28 and the message delivery stop to the existing Java program in step S2903 in FIG. Replace with the flowchart described in.

図36を参照して、POD Lib1205eは、メッセージ送信が停止される対象、具体的にはJavaプログラムやOS1201のライブラリ1201bに対して、メッセージ送信が停止することを事前通知する(ステップS3601)。停止通知を受けたJavaプログラムやOS1201のライブラリ1201bは、必要な処理を終了したあと、POD Lib1205eにメッセージ送信の停止の了解を通知する(ステップS3602)。POD Lib1205eはメッセージの送信を停止する(ステップS3603)。   Referring to FIG. 36, the POD Lib 1205e notifies in advance that the message transmission is stopped to the object whose message transmission is stopped, specifically, the Java program or the library 1201b of the OS 1201 (step S3601). Upon receiving the stop notification, the Java program or the library 1201b of the OS 1201 notifies the POD Lib 1205e that the message transmission has been stopped after completing the necessary processing (step S3602). The POD Lib 1205e stops the message transmission (step S3603).

また、POD504上のサブプログラムもメッセージ通知先が変更されることを知らせる必要がある。図37は、POD Lib1205eがPOD504にメッセージ通知先が変更されることを通知する動作を表すフローチャートである。   Also, the subprogram on the POD 504 needs to notify that the message notification destination is changed. FIG. 37 is a flowchart showing an operation in which the POD Lib 1205e notifies the POD 504 that the message notification destination is changed.

POD Lib1205eは、POD504に対して、メッセージ送信が停止することを事前通知する(ステップS3701)。停止通知を受けたPOD504は、必要な処理を終了したあと、POD Lib1205eにメッセージ送信の停止の了解を通知する(ステップS3702)。POD Lib1205eはメッセージの送信を停止し(ステップS3703)、新たな配送先を設定する(ステップS3704)。POD Lib1205eは最後に、新たな配送先が設定されたことを、POD504に通知する(ステップS3705)。   The POD Lib 1205e notifies the POD 504 in advance that message transmission will be stopped (step S3701). Upon receiving the stop notification, the POD 504 completes the necessary processing, and then notifies the POD Lib 1205e that the message transmission has been stopped (step S3702). The POD Lib 1205e stops message transmission (step S3703) and sets a new delivery destination (step S3704). Finally, the POD Lib 1205e notifies the POD 504 that a new delivery destination has been set (step S3705).

また、新たに配送先に設定されたJavaプログラムやOS1201のライブラリ1201bも、設定されたことの通知を受けてもよい。JavaプログラムやOS1201のライブラリ1201bは、POD504からメッセージ受け取るだけでなく、メッセージをPOD504に送る場合もあるからである。具体的には、PPVでユーザーが入力する暗証番号をPOD504に送るなどが挙げられる。メッセージ送信が有効になったことを知ることが出来ると、無駄にメッセージを送る必要がなくなる。   In addition, the Java program newly set as the delivery destination and the library 1201b of the OS 1201 may also receive notification of the setting. This is because the Java program or the library 1201b of the OS 1201 not only receives a message from the POD 504 but also sometimes sends a message to the POD 504. Specifically, a password entered by the user using PPV is sent to the POD 504. If it is possible to know that message transmission is enabled, it is not necessary to send a message in vain.

(実施の形態3)
実施の形態1においては、登録されたJavaプログラムを2次記憶部510に保存していたが、1次記憶部511に保存することも実施可能である。
(Embodiment 3)
In the first embodiment, the registered Java program is stored in the secondary storage unit 510, but it is also possible to store it in the primary storage unit 511.

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 primary storage unit 511, all stored information is erased when the power is turned off. However, as described above, when a Java program is downloaded and executed based on XAIT, the executed Java program registers itself in the POD Lib 1205e and can be restored. However, in this case, since the library 1201b of the OS 1201 is operating for a while after the power is turned on, switching occurs. FIG. 38 is a flowchart showing an operation from when the terminal device 500 is powered on until message delivery from the POD 504 is changed. When the terminal device 500 is turned on (step S3801), the programs of the terminal device 500 and the POD 504 are activated, and message delivery is established between the POD 504 and the library 1201b (step S3802). The AM 1205b downloads the Java program based on the XAIT information, and the Java VM 1203 executes this Java program (step S3803). When the Java program needs to exchange a message with the POD 504, the Java program registers itself in the POD Lib 1205e (step S3804). The message delivery is changed as necessary based on the flowcharts defined in FIGS. 28 and 29 (step S3805).

一方、実施の形態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 secondary storage unit 510 as in the first embodiment, after the power is turned on, the registered Java program is transferred from the POD 504 to the registered Java program instead of the library 1201b of the OS 1201. The message is delivered. However, as described above, when a Java program is downloaded and executed based on XAIT, the executed Java program registers itself in the POD Lib 1205e, so double registration is performed. To prevent this, the POD Lib 1205e does not accept registration of Java programs that have already been registered. FIG. 39 is a flowchart showing an operation from when the terminal device 500 is powered on until message delivery from the POD 504 is changed. When the terminal device 500 is turned on (step S3901), the programs of the terminal device 500 and the POD 504 are activated, and a message is sent between the POD 504 and the Java program or library 1201b based on the registration information stored in the secondary storage unit 510. Delivery is established (step S3902). The AM 1205b downloads the Java program based on the XAIT information, and the Java VM 1203 executes the Java program (step S3903). When the Java program needs to exchange a message with the POD 504, the Java program registers itself in the POD Lib 1205e (step S3904). The POD Lib 1205e refers to the secondary storage unit 510 and checks whether the same Java program has already been registered (step S3905). If not stored, registration processing is performed, and message delivery is changed as necessary based on the flowcharts defined in FIGS. 28 and 29 (step S3906).

なお、実施の形態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 504 is detachable, it can be implemented even if it is built in. Note that when the CPU 706 is incorporated, the CPU 706 of the POD 504 can be removed and the CPU 514 can also perform the operation of the CPU 706.

POD Lib1205eに登録されるJavaプログラムは、ダウンロードされたJavaプログラムだけでなく、予め内蔵されているJavaプログラムでも実施可能である。また、SDメモリーカードなどの着脱可能な記憶媒体を着脱するとスロット部を取り付け、そこからJavaプログラムを取り込むことも可能である。また、ネットワークに接続するネットワーク部を取り付け、インターネットからJavaプログラムを取り出すことも可能である。   The Java program registered in the POD Lib 1205e can be implemented not only by a downloaded Java program but also by a pre-built Java program. Further, when a removable storage medium such as an SD memory card is attached / detached, a slot portion can be attached and a Java program can be taken in from the slot portion. It is also possible to attach a network unit connected to the network and take out the Java program from the Internet.

更に、本実施の形態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 POD 504 delivers a message to the Java program, but two or more subprograms and the Java program each deliver a message individually. Can also be implemented. FIG. 40 shows an example of message delivery between a plurality of subprograms and a plurality of Java programs on the POD 504. In the POD 504, a sub program A 4001, a sub program B 4002, and a sub program C 4003 operate. On the terminal device 500, a Java program X 4011, a Java program Y 4012, and a Java program Z 4013 operate. Arrows 4021, 4022, 4023, and 4024 indicate the set message delivery paths. A message delivery path 4021 is set from the subprogram A 4001 to the Java program X4011, and the subprogram and the Java program are in a one-to-one relationship. On the other hand, the sub-program B 4002 has a message delivery path in two Java programs, a Java program Y 4012 and a Java program Z 4013. Conversely, the Java program Z4013 receives messages from two subprograms, a subprogram B4002 and a subprogram C4003.

また、この図ではサブプログラムから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. In addition, when registering a Java program, the present invention can be implemented by using this message path ID instead of the identifier of the Java program to be registered at the same time. A Java program for delivering a message can be identified based on an operation type or the like with respect to a message path of a competing Java program and a subprogram on the POD 504. Alternatively, by defining a subprogram identifier for identifying a subprogram on the POD 504 and registering a Java program, the present invention can be implemented even if this subprogram identifier is used instead of the identifier of the Java program to be registered at the same time. Is possible.

また、メッセージを配送する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 Lib 1205e means an operation performed upon receipt of message delivery. In other words, the Java program operates by receiving message delivery. On the other hand, Java programs can generally perform a plurality of processes in parallel. In the present invention, other processes included in the Java program other than the processes that operate by receiving message delivery can be implemented without any limitation.

また、上述の実施の形態で説明したようにPOD Lib1205eはメッセージの配送の対象となるJavaプログラムに対するメッセージの配送の登録と共に削除(つまり非登録とすること)も受け付けるようにしている。   Further, as described in the above embodiment, the POD Lib 1205e accepts deletion (that is, unregistration) as well as registration of message delivery to the Java program that is the target of message delivery.

図41は、POD Lib1205eにJavaプログラムが登録される場合におけるPOD Lib1205eの動作をまとめたフローチャートである。   FIG. 41 is a flowchart summarizing the operations of the POD Lib 1205e when a Java program is registered in the POD Lib 1205e.

POD Lib1205eは、Javaプログラムとのメッセージの配送(送信/受信の少なくとも一方をまたは両方を含む)の登録を受け付けると、2次記憶部510へ必要な情報(例えば図27に示すような情報)を保存し(ステップSX101)、ステップSX101において登録を受け付けたJavaプログラムの識別子と、既に2次記憶部510に登録されている他のJavaプログラムの識別子とを比較することで、登録を受け付けたJavaプログラムの識別子と同じ識別子のJavaプログラムが2次記憶部510にあるかどうか判定する(ステップSX102)。   When the POD Lib 1205e receives registration of message delivery (including at least one of transmission / reception or both) with the Java program, the POD Lib 1205e sends necessary information (for example, information shown in FIG. 27) to the secondary storage unit 510. Save (Step SX101) and compare the identifier of the Java program whose registration was accepted in Step SX101 with the identifier of another Java program already registered in the secondary storage unit 510, thereby accepting the registration of the Java program It is determined whether or not there is a Java program having the same identifier as that in the secondary storage unit 510 (step SX102).

その結果、同じ識別子の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 POD Lib 1205e before) (Yes in Step SX102), POD Lib 1205e is a target for which message transmission is stopped, specifically, other Java registered in secondary storage unit 510. A program (that is, another Java program that has the same identifier as that of the Java program that received the message delivery registration in step SX101 and has been registered to accept the message delivery) or the library 1201b of the OS 1201 Is notified in advance that the message transmission is stopped (step SX103). The Java program or the library 1201b of the OS 1201 that has received the stop notification requires the necessary processing (necessary internal processing to be terminated before stopping delivery of the message from the POD 504 (that is, unregistering message delivery)) After completing the above, the POD Lib 1205e is notified of the termination of message transmission (step SX104). The POD Lib 1205e that has received the notification of consent is an existing Java program from the POD 504 (already registered in the secondary storage unit 510 and subject to suspension of message delivery from the POD 504) or the library 1201b of the OS 1201. Message delivery registration is deleted (that is, unregistered), and message delivery to the Java program is stopped (step SX105). Then, after notifying the Java program that has received registration in step SX101 that message delivery is to be started (step SX106), registration for accepting delivery of the message from the POD 504 to the Java program that has received registration in step SX101 is performed. By doing so, message delivery is validated (step SX107).

一方、同じ識別子の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 POD Lib 1205e notifies the Java program that has accepted registration in step SX101 that it will start message delivery. (Step SX106) The message delivery is validated by performing registration for accepting delivery of the message from the POD 504 to the Java program whose registration has been accepted in Step SX101 (Step SX107).

図42は、POD Lib1205eがJavaプログラムの登録を削除する(つまり2次記憶部510に登録したJavaプログラムとのメッセージの配送の登録を非登録とする)場合におけるPOD Lib1205eの動作をまとめたフローチャートである。   FIG. 42 is a flowchart summarizing the operation of the POD Lib 1205e when the POD Lib 1205e deletes the registration of the Java program (that is, the registration of message delivery with the Java program registered in the secondary storage unit 510 is not registered). is there.

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 POD Lib 1205e accepts the deletion of the Java program (step SX201), the POD Lib 1205e notifies the Java program to be deleted in advance that the message delivery is stopped (step SX202). The Java program that has received the stop notification finishes the necessary processing (necessary internal processing to be terminated before stopping the message delivery from the POD 504 (that is, unregistering the message delivery registration)), The POD Lib 1205e is notified of the completion of message delivery stop (step SX203). The POD Lib 1205e that has received the notification of approval deletes the message delivery registration to the requested Java program of the Java programs registered in the secondary storage unit 510 (that is, unregisters). ) To stop message delivery from the POD 504 to the target Java program (step SX204). Then, the POD Lib 1205e validates message delivery with the library 1201b of the OS 1201 by performing registration for accepting delivery of the message with the POD 504 to the library 1201b of the OS 1201 (step SX205).

また、ステップ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 secondary storage unit 510 in step SX205 or a newly registered Java program, and it is desired to deliver (or be able to deliver) a message to any one of these Java programs. Alternatively, message delivery between the POD 504 and the target Java program may be validated by performing registration for accepting message delivery between the POD 504 and the target Java program. Further, if the Java program to be delivered and the library 1201b of the OS 1201 can coexist with each other in the delivery of the message to the POD 504 (that is, they do not compete with each other), registration for accepting delivery of the message to the library 1201b of the OS 1201 is performed. The message may be delivered to the Java program and the library 1201b of the OS 1201.

以上のように、本実施の形態によれば、既存のプログラムを削除することなく、一時的にダウンロードしたプログラムを代わりに実行することで、プログラムの更新(置き換え)が可能になるとともに、既存のプログラムを容易に戻すことも可能となる。   As described above, according to the present embodiment, the program can be updated (replaced) by executing the 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.

本発明に係るケーブルテレビシステムの実施の形態1の構成図である。It is a block diagram of Embodiment 1 of the cable television system which concerns on this invention. 本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す。An example of how to use the frequency band used for communication between the head end and the terminal device in the cable television system according to the present invention is shown. 本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す。An example of how to use the frequency band used for communication between the head end and the terminal device in the cable television system according to the present invention is shown. 本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す。An example of how to use the frequency band used for communication between the head end and the terminal device in the cable television system according to the present invention is shown. 本発明に係るケーブルテレビシステムにおいて端末装置の構成図である。It is a block diagram of a terminal device in the cable television system according to the present invention. 本発明に係るケーブルテレビシステムにおいて端末装置の外観の一例を示す。1 shows an example of the appearance of a terminal device in a cable television system according to the present invention. 本発明に係るPODのハードウエア構成の構成図である。It is a block diagram of the hardware constitution of POD which concerns on this invention. 本発明に係るPODが保存するプログラム構成の構成図である。It is a block diagram of the program structure which POD which concerns on this invention preserve | saves. MPEG規格で定義されているパケットの構成図である。It is a block diagram of a packet defined in the MPEG standard. MPEG2トランスポートストリームの一例を示す。An example of an MPEG2 transport stream is shown. 入力部をフロントパネルで構成した場合の外観の一例を示す。An example of the external appearance when the input unit is configured by a front panel is shown. 本発明に係る端末装置が保存するプログラム構成の構成図である。It is a block diagram of the program structure which the terminal device concerning this invention preserve | saves. 本発明に係るディスプレイの表示の一例を示す。An example of the display of the display which concerns on this invention is shown. 本発明に係る2次記憶部が保存する情報の一例を示す。An example of the information which the secondary memory | storage part which concerns on this invention preserve | saves is shown. 本発明に係る1次記憶部が保存する情報の一例を示す。An example of the information which the primary storage part which concerns on this invention preserve | saves is shown. 本発明に係るMPEG2規格が規定するPATの内容を表す模式図である。It is a schematic diagram showing the content of PAT prescribed | regulated by the MPEG2 specification which concerns on this invention. 本発明に係るMPEG2規格が規定するPMTの内容を表す模式図である。It is a schematic diagram showing the content of PMT prescribed | regulated by the MPEG2 specification which concerns on this invention. 本発明に係るDVB−MHP規格が規定するAITの内容を表す模式図である。It is a schematic diagram showing the content of AIT prescribed | regulated by the DVB-MHP specification which concerns on this invention. 本発明に係るDSMCC方式で送信されるファイルシステムを表す模式図である。It is a schematic diagram showing the file system transmitted by the DSMCC system based on this invention. 本発明に係るXAITの内容を表す模式図である。It is a schematic diagram showing the content of XAIT which concerns on this invention. 本発明に係る2次記憶部が保存する情報の一例を示す。An example of the information which the secondary memory | storage part which concerns on this invention preserve | saves is shown. 本発明に係るディスプレイの表示の一例を示す。An example of the display of the display which concerns on this invention is shown. 本発明に係る2次記憶部が保存する情報の一例を示す。An example of the information which the secondary memory | storage part which concerns on this invention preserve | saves is shown. 本発明に係るJavaプログラムの動作種別コードとその意味をまとめた表。The table | surface which put together the operation | movement classification code of the Java program which concerns on this invention, and its meaning. 本発明に係るディスプレイの表示の一例を示す。An example of the display of the display which concerns on this invention is shown. 本発明に係るディスプレイの表示の一例を示す。An example of the display of the display which concerns on this invention is shown. 本発明に係る2次記憶部が保存する情報の一例を示す。An example of the information which the secondary memory | storage part which concerns on this invention preserve | saves is shown. 実施の形態1において、POD LibがJavaプログラムの登録を受け付ける際の動作を表すフローチャートである。4 is a flowchart illustrating an operation when a POD Lib receives registration of a Java program in the first embodiment. 実施の形態1において、POD LibがJavaプログラムの登録を受け付ける際の動作を表すフローチャートである。4 is a flowchart illustrating an operation when a POD Lib receives registration of a Java program in the first embodiment. PODからのメッセージの配送を表す模式図である。It is a schematic diagram showing delivery of the message from POD. PODからのメッセージの配送を表す模式図である。It is a schematic diagram showing delivery of the message from POD. PODからのメッセージの配送の表す模式図である。It is a schematic diagram showing delivery of the message from POD. 本発明に係る2次記憶部が保存する情報の一例を示す。An example of the information which the secondary memory | storage part which concerns on this invention preserve | saves is shown. 実施の形態1において、POD LibがJavaプログラムの削除を受け付ける際の動作を表すフローチャートである。5 is a flowchart illustrating an operation when a POD Lib accepts deletion of a Java program in the first embodiment. 実施の形態1において、POD LibがJavaプログラムの削除を受け付ける際の動作を表すフローチャートである。5 is a flowchart illustrating an operation when a POD Lib accepts deletion of a Java program in the first embodiment. 実施の形態1において、POD LibがJavaプログラムの登録を受け付ける際の動作の一部を表すフローチャートである。4 is a flowchart showing a part of an operation when a POD Lib accepts registration of a Java program in the first embodiment. 実施の形態1において、POD LibがJavaプログラムの登録を受け付ける際の動作の一部を表すフローチャートである。4 is a flowchart showing a part of an operation when a POD Lib accepts registration of a Java program in the first embodiment. 端末装置が電源投入されてから、PODからのメッセージ配送が変更されるまでの動作を表すフローチャートである。It is a flowchart showing operation | movement until a message delivery from POD is changed after a terminal device is turned on. 端末装置が電源投入されてから、PODからのメッセージ配送が変更されるまでの動作を表すフローチャートである。It is a flowchart showing operation | movement until a message delivery from POD is changed after a terminal device is turned on. 端末装置上のJavaプログラムと、POD上のサブプログラム間の、メッセージ配送パスの一例を表す図である。It is a figure showing an example of the message delivery path | route between the Java program on a terminal device, and the subprogram on POD. POD LibにJavaプログラムが登録される場合におけるPOD Libの動作をまとめたフローチャートである。It is the flowchart which put together the operation | movement of POD Lib when a Java program is registered into POD Lib. POD LibがJavaプログラムの登録を削除する(つまり2次記憶部に登録したJavaプログラムとのメッセージの配送の登録を非登録とする)場合におけるPOD Libの動作をまとめたフローチャートである。6 is a flowchart summarizing the operation of the POD Lib when the POD Lib deletes the registration of the Java program (that is, unregisters message delivery registration with the Java program registered in the secondary storage unit). 従来のプログラム置き換え方法の構成を表す構成図である。It is a block diagram showing the structure of the conventional program replacement method.

符号の説明Explanation of symbols

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サブプログラム
1102b 再生部
1200 プログラム
1201 OS
1201a カーネル
1201b ライブラリ
1202 EPG
1202a 番組表示部
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 Terminal device 501 QAM demodulator 502 QPSK demodulator 503 QPSK modulator 504 POD
505 TS decoder 506 Audio decoder 507 Speaker 508 Video decoder 509 Display 510 Secondary storage unit 511 Primary storage unit 512 ROM
513 Input unit 514 CPU
603 Front panel unit 605 POD card 701 First descrambler unit 702 Second descrambler unit 703 Scrambler unit 704 First storage unit 705 Second storage unit 706 CPU
800 program 801 main program 802 initialization subprogram 803 network subprogram 804 playback subprogram 805 PPV subprogram 1102b playback unit 1200 program 1201 OS
1201a Kernel 1201b Library 1202 EPG
1202a Program display section 1203 JavaVM
1204 Service manager 1205 Library 1205a JMF
1205b AM
1205c Tuner
1205d CA
1205e POD Lib

Claims (3)

放送受信端末装置に着脱可能に取り付けられたPODと前記放送受信端末装置内のプログラムとの間でメッセージの送受信をする場合に、前記PODとのメッセージの送受信を行えるように登録された前記放送受信端末装置内のプログラムを置き換えるように前記放送受信端末装置が動作するための方法であって、
プログラムの種類を特定するための識別子を有する第1のプログラムが前記PODとのメッセージの送受信が可能となるように前記第1のプログラムを登録するステップと、
前記第1のプログラムを登録した後に、前記登録した第1のプログラムの識別子と同じ内容の識別子を有し、既に前記放送受信端末装置内に存在し、前記PODとのメッセージの送受信が可能となるように登録していた第2のプログラムに対し、前記第2のプログラムと前記PODとのメッセージの送受信を停止することを通知するステップと、
前記通知した第2のプログラムと前記PODとのメッセージの送受信を停止するステップとを有し、
前記通知した第2のプログラムと前記PODとのメッセージの送受信を停止するとは、前記PODとのメッセージの送受信が可能となるように登録していた前記第2のプログラムを非登録とすることであることを特徴とするプログラム置き換え方法。
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 operating the broadcast receiving terminal device to replace a program in the terminal device,
Registering the first program so that a first program having an identifier for identifying the type of program can send and receive messages to and from the POD;
After registering the first program, it has an identifier with the same content as the identifier of the registered first program, already exists in the broadcast receiving terminal device, and can send and receive messages with the POD. Informing the second program that has been registered to stop sending and receiving messages between the second program and the POD;
A step of stopping transmission and reception of messages between the notified second program and the POD,
Stopping message transmission / reception between the notified second program and the POD is to unregister the second program that has been registered so that message transmission / reception with the POD is possible. A program replacement method characterized by that.
前記PODとのメッセージの送受信を停止することの通知を受けた第2のプログラムは、前記PODとのメッセージの送受信が可能となるように登録していた前記第2のプログラムを非登録とするために必要な処理を実行することを特徴とする請求項1記載のプログラム置き換え方法。   The second program that has received notification that the transmission / reception of the message with the POD has been stopped is to unregister the second program that has been registered so that the transmission / reception of the message with the POD can be performed. The program replacement method according to claim 1, further comprising: performing processing necessary for the program. 放送受信端末装置に着脱可能に取り付けられたPODと前記放送受信端末装置内のプログラムとの間でメッセージの送受信をする場合に、前記PODとのメッセージの送受信を行えるように登録された前記放送受信端末装置内のプログラムを置き換える装置であって、
プログラムの種類を特定するための識別子を有する第1のプログラムが前記PODとのメッセージの送受信が可能となるように前記第1のプログラムを登録する登録部と、
前記第1のプログラムを登録した後に、前記登録した第1のプログラムの識別子と同じ内容の識別子を有し、既に前記放送受信端末装置内に存在し、前記PODとのメッセージの送受信が可能となるように登録していた第2のプログラムに対し、前記第2のプログラムと前記PODとのメッセージの送受信を停止することを通知する通知部と、
前記通知した第2のプログラムと前記PODとのメッセージの送受信を停止する停止部とを有し、
前記停止部による前記通知した第2のプログラムと前記PODとのメッセージの送受信を停止するとは、前記PODとのメッセージの送受信が可能となるように登録していた前記第2のプログラムを非登録とすることであることを特徴とするプログラム置き換え装置。
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 device that replaces a program in a terminal device,
A registration unit for registering the first program so that a first program having an identifier for specifying the type of the program can send and receive messages to and from the POD;
After registering the first program, it has an identifier with the same content as the identifier of the registered first program, already exists in the broadcast receiving terminal device, and can send and receive messages with the POD. A notification unit that notifies the second program that has been registered to stop sending and receiving messages between the second program and the POD;
A stop unit that stops transmission and reception of messages between the notified second program and the POD;
Stopping transmission / reception of messages between the notified second program and the POD by the stop unit means that the second program that has been registered so as to be able to transmit / receive messages to / from the POD is not registered. program replacement device according to claim that it is possible to.
JP2007274473A 2003-06-04 2007-10-22 Program replacement method and program replacement device Expired - Fee Related JP4149502B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007274473A JP4149502B2 (en) 2003-06-04 2007-10-22 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
JP2007274473A JP4149502B2 (en) 2003-06-04 2007-10-22 Program replacement method and program replacement device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2004161831A Division JP4149414B2 (en) 2003-06-04 2004-05-31 Program replacement method and program replacement device

Publications (2)

Publication Number Publication Date
JP2008112448A JP2008112448A (en) 2008-05-15
JP4149502B2 true JP4149502B2 (en) 2008-09-10

Family

ID=39444898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007274473A Expired - Fee Related JP4149502B2 (en) 2003-06-04 2007-10-22 Program replacement method and program replacement device

Country Status (1)

Country Link
JP (1) JP4149502B2 (en)

Also Published As

Publication number Publication date
JP2008112448A (en) 2008-05-15

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