JP4845263B2 - データのダウンロード - Google Patents

データのダウンロード Download PDF

Info

Publication number
JP4845263B2
JP4845263B2 JP2000515384A JP2000515384A JP4845263B2 JP 4845263 B2 JP4845263 B2 JP 4845263B2 JP 2000515384 A JP2000515384 A JP 2000515384A JP 2000515384 A JP2000515384 A JP 2000515384A JP 4845263 B2 JP4845263 B2 JP 4845263B2
Authority
JP
Japan
Prior art keywords
loader
receiver
decoder
data
tid
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 - Lifetime
Application number
JP2000515384A
Other languages
English (en)
Other versions
JP2001519627A (ja
Inventor
サラフティ,ジャン−クラウデ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2001519627A publication Critical patent/JP2001519627A/ja
Application granted granted Critical
Publication of JP4845263B2 publication Critical patent/JP4845263B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4351Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reassembling additional data, e.g. rebuilding an executable program from recovered modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8193Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/165Centralised control of user terminal ; Registering at central

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Circuits Of Receivers In General (AREA)
  • Computer And Data Communications (AREA)

Description

【0001】
本発明は、
・ データを受信機/デコーダにダウンロードする方法、
・ それ自体がこのような受信機/デコーダおよび
・ 送信システム
に関するものである。
【0002】
ここで使用される用語「受信機/デコーダ」は、いくつかの他の手段によって放送あるいは送信されてもよい符号化あるいは非符号化信号のいずれか、例えばテレビジョン信号および/またはラジオ信号を受信する受信機を意味してもよい。この用語は受信信号を復号化するデコーダも意味してもよい。このような受信機/デコーダの実施形態は、例えば、物理的に別個の受信機と組み合わせて機能を果たすデコーダのような、あるいはウェブブラウザ、ビデオレコーダ、あるいはテレビジョンのような付加的機能を含むデコーダのような「セットトップボックス」において受信機と一体であり、受信信号を復号化するデコーダを含んでもよい。 主にテレビジョン信号を放送することを意図しているディジタル伝送システムであるが、特に排他的な衛星テレビジョンシステムでないシステムの到来は、他の目的のためのこのようなシステムを使用する可能性を開いた。これらの1つはエンドユーザとの対話性を提供することにある。ここに示されているように、用語「ディジタル伝送システム」は、例えば主に視聴覚あるいはマルチメディアディジタルデータを送信あるいは放送するいかなる伝送システムも含んでいる。本発明は特に放送ディジタルテレビジョンシステムに応用可能であるが、本発明は、マルチメディアインターネット応用のための固定電気通信システムネットワーク、閉回路テレビジョン等にも応用可能であってもよい。
【0003】
これを行う一つの方法は、テレビジョン信号を受信する受信機/デコーダでアプリケーションを実行することにある。アプリケーションのためのコードは受信機/デコーダに永久に記憶することができる。しかしながら、これはむしろ限られたものである。好ましくは、受信機/デコーダは、必要なアプリケーションのためのコードをダウンロードできるべきである。このように、より多くの多様性が提供されてもよく、アプリケーションはユーザの一部に対する少しのアクションもなしに必要に応じて更新できる。
【0004】
MPEGシステムにおいて、アプリケーションは、MPEGビットストリームに送信されたMPEGテーブルにダウンロードされてもよい。用語MPEGは、「カラー動画符号標準化作業グループ」の国際規格機関作業グループによって開発されたデータ伝送システムを指しているが、特にディジタルテレビジョンアプリケーションのために開発され、文書ISO13818−1、ISO13818−2、ISO13818−3およびISO13818−4に発表されたMPEG−2規格を排他的に指していない。本発明出願に関して、用語は、ディジタルデータ伝送の分野に応用可能であるMPEGフォーマットの全ての変形例、修正例あるいは開発例を含んでいる。
【0005】
MPEGテーブルをダウンロードするソフトウェアは、受信機/デコーダに永久に記憶されねばならない。実行時間エンジンのアプリケーションコードあるいは更新バージョンのようなデータをダウンロードするために、複合ソフトウェアが要求され、このソフトウェアは、一般的には大量のメモリをとる。しかしながら、このようなソフトウェアは単独でだけ使用されてもよく、仮にもそうであるならば、大量のメモリは長い時間冗長であるソフトウェアによってとられてもよい。
【0006】
ビットストリームからデータをダウンロードする受信機/デコーダに記憶されたソフトウェアは、一般に「ブートストラップ」ローダと呼ばれる。ブートストラップローダは、好ましくは、例えば、受信機/デコーダのフラッシュメモリボリュームに記憶するためのビットストリームからソフトウェアを含む大部分のデータの形式をダウンロードするように構成されている。したがって、ブートストラップローダは、最少の機能性を有する幾分「基本の」構造を有する傾向があるので、全ての形式のソフトウェアはダウンロードできる。
【0007】
ブートストラップローダは、一般的には受信機/デコーダのROMメモリボリュームに記憶され、それから消去できない。一旦ブートストラップローダがROMメモリボリュームに書き込まれると、ブートストラップローダは修正できないので、生じるかもしれない処理エラーは、万一ローダが破損すると、訂正できない。さらに、ブートストラップローダの機能性は、一旦ROMに書き込まれたとすると、「固定」される。すなわち、ROMは、例えば、ビットストリームからデータをダウンロードするのにかかる時間を活用するように更新できない。したがって、ブートストラップローダに認識できない改良されたあるいは新しい構造を有するソフトウェアは、ビットストリームからダウンロードできない。
【0008】
受信機/デコーダに記憶されたデータの一部が破損する場合、ブートストラップローダはこのデータの完全な非破損バージョンをダウンロードするために使用できる。このデータの非常にわずかな部分だけが破損しなかった場合、このことは破損しなかったデータの一部のダウンロードに費やした著しい時間量に帰着する。
【0009】
本発明はこれらの問題および他の問題を解決しようとする。
【0010】
第1の態様において、本発明は、データを受信機/デコーダにダウンロードする方法を提供し、受信機/デコーダで、
データを含むビットストリームを受信するステップと、
ビットストリームからデータをロードするローダを受信機/デコーダにダウンロードするステップと、
前記ダウンロードされたデータローダを使用して前記ビットストリームから前記データをダウンロードするステップとを含む。
【0011】
一つの実施形態では、ダウンロードされたデータローダはデータローディングプログラムを含む。データローダの少なくとも一部、好ましくは、データローダの大部分、あるいはデータローダの全てさえ、ネイティブコードの形式であってもよい。ここで使用されるように、用語「ネイティブコード」は、ハードウェア固有コード、受信機/デコーダの特定のハードウェアプラットホームに固有なコード、非解釈であるコード、および/または受信機/デコーダのマイクロプロセッサによって直接実行できるコードを含む。したがって、受信機/デコーダによってダウンロードされる一つのネイティブコードによってとられた構造はこの受信機/デコーダのハードウェアプラットホームで使用された特定の装置によって決まる。これは、マイクロプロセッサによって実行できるように受信機/デコーダに記憶されたソフトウェアによって解釈を必要とし、したがって広範囲のハードウェアプラットホームにわたって機能的である「p−コード」として出願人に公知であるような「解釈コード」とは対照的である。データローダによってダウンロードされたデータは、ネイティブコード、p−コードの形式あるいはデータテーブルのような任意の他の適当な形式であってもよい。
【0012】
上記のことによって、ビットストリームからデータをロードするローダは、ビットストリームからダウンロードされ、好ましくは、受信機/デコーダのRAMに一時的に記憶される。ビットストリームから必要なデータのデータローダを使用するダウンロードに続いて、ダウンロードされたデータローダは、好ましくは、受信機/デコーダから削除される。したがって、一旦ダウンロードされたデータローダがその目的にかなったとすると、RAMの記憶容量は、データのダウンロードが必要とされない時間のために効率的に増加される。
【0013】
一旦ダウンロードされたデータローダがビットストリームから必要なデータの全てをダウンロードしたとすると、もちろん、ダウンロードされたデータローダを削除することは必要でない。これに反して、データローダは、その後に、フラッシュメモリボリュームのような受信機/デコーダの非揮発性メモリに記憶されてもよい。これによって、受信機/デコーダは、ビットストリームからデータローダを再ロードする必要なしに記憶されたデータローダを使用して他のデータをダウンロードでき、それによってこのデータをダウンロードするのにかかる時間を減少させる。したがって、複数の異なるデータローダは受信機/デコーダにいつでも記憶されてもよい。
【0014】
特に1つの特定のデータ項目のダウンロードのために記述されたデータローダは受信機/デコーダによって必要に応じてビットストリームからダウンロードできるので、改良された受信機/デコーダの機能性は、ブートストラップローダによってダウンロードできるデータの構造と異なる更新あるいは修正された構造を有するデータとして提供されてもよく、ダウンロードでき、受信機/デコーダに記憶できる。
【0015】
1つの好ましい実施形態において、データのダウンロードはダウンロードされたデータローダによって実行される。したがって、データのダウンロードに対して、ブートストラップローダは、効率的にダウンロードされたデータローダと一時的に取り換えられるので、受信機/デコーダによって使用されるデータローダを更新できるか、さもなければ改良できる。
【0016】
好ましくは、受信機/デコーダに記憶されたデータの一部だけがダウンロードされたデータローダによってダウンロードされたデータの対応する一部と取り換えられる。例えば、記憶データの一部が破損したあるいは古くなる場合、データのこの部分の非破損バージョンあるいは更新バージョンだけが受信機/デコーダによってダウンロードでき、ダウンロードされたデータローダは、適切である場合、ダウンロードされたデータの一部を記憶データに「パッチ」する。したがって、ダウンロードされたデータローダは、受信機/デコーダに記憶されたデータの全バージョンをダウンロードしない。破損しないデータの一部のダウンロードは必要ないので、記憶データを修理あるいは更新するのにかかる時間に著しい改良をもたらすことができる。他の実施形態では、受信機/デコーダに記憶されたデータの一部は、例えば、ダウンロードされたデータローダで送信されたデータのセクションの対応する一部と取り換えられる。
【0017】
このビットストリームは少なくとも1つのデータローダを含んでもよく、したがって、この方法はさらに、送信システムで、
データローダあるいは各データローダに対して、データローダを複数のモジュールに分割するステップと、
データローダあるいは各データローダに対して、データをそれぞれの複数のモジュールに分割するステップとを含んでもよく、各複数のデータモジュールはそれぞれの複数のデータローダモジュールに関連している。
【0018】
したがって、ビットストリームは、複数のデータローダおよび関連データを含んでもよい。これによって、異なるハードウェアプラットホームを有する受信機/デコーダは、適切なバージョンのデータローダおよび関連データをダウンロードできる。アプリケーションのようなデータは、ダウンロードできる多数のモジュールで便宜的に構成されてもよく、適切である場合、必要に応じて実行する。
【0019】
この方法はさらに、送信システムで、
データローダあるいは各データローダに対して、モジュールの各々をそれぞれのテーブルとしてフォーマット化するステップであって、このテーブルは、同じそれぞれのテーブルID(「TID」)およびそれぞれの異なるテーブルID拡張(「TID−拡張)を有することと、
データローダあるいは各データローダに対して、データのモジュールの各々をそれぞれのデータとしてフォーマット化するステップとを含んでもよく、このテーブルは、それに関連したデータローダモジュールのテーブルと同じそれぞれのTIDおよびそれぞれの異なるTID−拡張を有している。
【0020】
MPEGプロトコルが使用されることは好ましく、使用される場合、ダウンロードステップはモジュールMPEGテーブルをダウンロードすることを含んでいる。
【0021】
このテーブルは所定のTID−拡張以外のそれぞれの異なるTID−拡張を有してもよく、この方法はさらに、伝送システムで、同じTIDを有する複数のモジュールあるいは各複数のモジュールに対して、それぞれのディレクトリテーブルを生成するステップを含んでもよく、ディレクトリテーブルあるいは各ディレクトリテーブルは前記所定のTID−拡張およびこのTIDを有し、このディレクトリはテーブルモジュールの各々に対してこのモジュールの名前およびそれぞれのTID−拡張を含んでいる。
【0022】
この方法はさらに、受信機/デコーダで、
ディレクトリテーブルをダウンロードするために所定のTID−拡張を有するテーブルの中の1つをダウンロードするステップと、
ディレクトリテーブルの内容からディレクトリテーブルと同じTIDを有するモジュールテーブルのTID−拡張を決定するステップと、
前記ダウンロードステップにおいて、ダウンロードされたディレクトリテーブルのTIDと同じTIDおよびダウンロードされたディレクトリテーブルから決定されたTID−拡張を有するモジュールテーブルをダウンロードするステップとを含んでもよい。
【0023】
これらの特徴によって、ディレクトリテーブルは特定のTID−拡張を有しているために、ディレクトリテーブルは容易に識別でき、一旦それがダウンロードされたとすると、それによって受信機/デコーダはそのそれぞれのTID−拡張からデータローダのモジュールテーブルを識別できる。
【0024】
この方法はさらに、伝送システムで、所定のテーブルID(「TID」)を有し、かつ複数の受信機/デコーダのバージョンIDの各々に対して、このバージョンIDに関連したそれぞれのTIDを含むディレクトリテーブルを生成するステップを含んでもよい。
【0025】
そうであるならば、この方法はさらに、受信機/デコーダで、
所定のTIDを有する前記ディレクトリテーブルをダウンロードするステップと、
受信機/デコーダのバージョンIDを決定するステップとを含んでもよく、
ディレクトリテーブルをダウンロードするステップが、受信機/デコーダのバージョン番号に関連したTIDおよび所定のTID−拡張を有するテーブルの中のこの1つをダウンロードすることを含む。
【0026】
好ましくは、バージョンIDは、受信機/デコーダの製造者に割り当てられたコードおよび受信機/デコーダのバージョンに割り当てられたコードを含んでいる。
【0027】
受信機/デコーダはいろいろな異なる製造者によって設計され、製造されてもよいと推測される。各製造者は多数の異なるバージョンの受信機/デコーダを製造してもよい。したがって、受信機/デコーダはもちろん同じ機能仕様に従っているけれども、受信機/デコーダはいろいろな異なるハードウェア設計を有してもよい。したがって、アプリケーションのようなデータが受信機/デコーダ毎に同じように作動し、受信機/デコーダが全てのアプリケーションを同一の正しい方法で実行すべきであることは重要である。
【0028】
このデータが特定のバージョンの受信機/デコーダと互換性があることを保証するために、ビットストリームは、データローダおよび受信機/デコーダの各バージョンIDのためのデータを含んでもよく、所定のTIDを有するディレクトリテーブルによって、データローダおよび受信機/デコーダの各バージョンIDのためのデータのモジュールのTIDは容易に識別できる。
【0029】
好ましくは、この方法はさらに、送信システムで、
各送信ディレクトリテーブルにそのためのディレクトリバージョンIDを含めるステップと、
受信機/デコーダで、
現在送信されたディレクトリテーブルのディレクトリバージョンIDが現在送信されたディレクトリテーブルと同じTIDを有する予めダウンロードされたディレクトリテーブルのディレクトリバージョンIDよりもより最新であるかどうかを決定し、最新でない場合、データのダウンロードを打ち切るステップを含んでいる。
【0030】
ブートストラップローダは、例えば、アプリケーションによって、ディレクトリテーブルを周期的にダウンロードし、予めダウンロードされたディレクトリテーブルのディレクトリバージョンIDが変更されたかどうかを決定するように命令されてもよい。このことは、受信機/デコーダがビットストリームから任意の更新データを即座にダウンロードすることを保証できる。
【0031】
同一の受信データで受信機/デコーダに記憶された常駐データを上書きすることを避けるために、常駐データの更新を要求するアプリケーションは、テーブルディレクトリが常駐データの前の更新で使用されたテーブルディレクトリと同じである場合、データのダウンロードを打ち切るように選択できる。
【0032】
好ましくは、モジュールテーブルの中の少なくとも1つは、ビットストリームで別々に送信される複数のセクションとしてフォーマット化され、セクションの各々は、その所定の部分においてテーブルのこのセクションのIDおよびテーブルのセクション数の指示を含んでいる。
【0033】
この方法は、送信システムで、ビットストリームのテーブルを周期的に送信するステップをさらに含んでもよい。
【0034】
この方法はさらに、伝送システムにおいて、
ビットストリームにデータのデータバージョンIDを含めるステップと、
受信機/デコーダで、
受信されたデータのデータバージョンIDが現在記憶されているデータのデータバージョンIDよりもより最新であるかどうかを決定し、そうであるならば、ビットストリームから前記データをダウンロードするステップを実行するステップとを含んでもよい。
【0035】
この特徴によって、受信データのデータバージョンIDが受信機/デコーダに記憶されている常駐データのデータバージョンIDと同じである場合、ダウンロードは、常駐ソフトウェアの消去および/または受信データのダウンロードの開始をする前に打ち切ることができる。
【0036】
好ましくは、受信データのデータバージョンIDが現在記憶されているデータバージョンIDよりもより最新であるかどうかを決定するステップは、現在送信されたディレクトリテーブルのデータバージョンIDが現在送信されたディレクトリテーブルと同じTIDを有する予めダウンロードされたディレクトリテーブルのデータバージョンIDよりもより最新であると決定した後、行われる。
【0037】
他の好ましい実施形態では、ダウンロードされたデータローダは、受信機/デコーダに記憶され、データローダをダウンロードする手段を修正するので、データは修正されたダウンロード手段によってダウンロードできる。したがって、ダウンロード手段は、例えば、異なる構造を有するデータがダウンロード手段によってダウンロードできるようにビットストリームからダウンロードされたデータローダによって便宜的に修正できる。
【0038】
好ましくは、この方法は、送信システムで、
前記ビットストリームに含まれた第2のデータローダを送信するステップと、
受信機/デコーダで、
第2のデータローダをダウンロードするステップと、
最初に述べたデータローダおよびデータの中の1つをダウンロードするステップとを含み、前記送信されたダウンロード手段が最初に述べたデータローダおよびデータの中の1つのダウンロードを実行する。
【0039】
1つの実施形態では、第2のデータローダは他のデータローダプログラムによって提供され、第2のローダの少なくとも一部がネイティブコードの形式であるのが好ましい。
【0040】
このことによって、データローダのダウンロードは、ビットストリームから予めダウンロードされた異なるデータローダを使用することによって避けることができる。したがって、予めダウンロードされたデータローダがデータローダと同じように効率的にデータをダウンロードできる場合、新しいデータあるいは修正データがダウンロードされるべきである度にデータローダをビットストリームからダウンロードする必要がない。このことは、新しいデータあるいは修正データをビットストリームからダウンロードするのにかかる時間を著しく減少させることができる。第2のデータローダは、最初に述べたデータローダよりも改良された機能性を提供してもよく、例えば、第2のデータローダはコンピュータプログラムをダウンロードできてもよい。
【0041】
第2の態様において、本発明は、
データを含むビットストリームを受信する受信機と、
メモリのような記憶手段と、
ビットストリームから記憶手段にダウンロードするダウンロード手段と、
データをビットストリームから受信機/デコーダにロードするローダとを備える受信機/デコーダを提供する。
【0042】
1つの好ましい実施形態では、ダウンロード手段は受信機/デコーダに記憶されたブートプログラムによって提供される。
【0043】
受信機/デコーダは、データがビットストリームからダウンロードされた後、ダウンロードされたデータローダを記憶手段から削除する手段をさらに含んでもよい。削除手段は、中央プロセッサおよび受信機/デコーダに記憶された関連ソフトウェアによって提供されてもよい。
【0044】
受信機/デコーダはテーブルをダウンロードするように構成されてもよい。そうであるならば、ダウンロード手段は、ディレクトリデータをダウンロードするようにテーブルID(「TID」)および所定のテーブルID拡張(「TID−拡張」)を有するテーブルをダウンロードし、ディレクトリテーブルの内容からディレクトリテーブルと同じTIDを有するモジュールテーブルのTID−拡張を決定し、前記ローダをダウンロードするようにダウンロードされたディレクトリテーブルのTIDと同じTIDおよびダウンロードされたディレクトリテーブルから決定されたTID−拡張を有するモジュールテーブルをダウンロードするように構成されてもよい。
【0045】
ダウンロード手段は、所定のTIDを有し、かつ受信機/デコーダの複数のバージョンIDの各々に対して、このバージョンIDに関連したそれぞれのTIDを含むディレクトリテーブルをダウンロードし、受信機/デコーダのバージョンIDを決定し、受信機/デコーダのバージョン番号に関連したTIDおよび所定のTID−拡張を有するディレクトリテーブルをダウンロードするように構成されてもよい。
【0046】
好ましい実施形態では、ダウンロード手段は、現在送信されたディレクトリテーブルのバージョンIDが現在送信されたディレクトリテーブルと同じTIDを有する予めダウンロードされたディレクトリテーブルのバージョンIDよりもより最新であるかどうかを決定し、そうでなければ、前記ローダのダウンロードを打ち切るように構成されている。
【0047】
受信機/デコーダは、少なくとも1つのテーブルとしてフォーマット化されるデータを受信するように構成された並列ポートおよび/または直列ポートをさらに含んでもよい。
【0048】
好ましくは、前記ダウンロード手段は、最初に述べたデータローダおよびデータの中の1つをダウンロードするために前記ビットストリームに含まれたデータローダをダウンロードするように構成されている。
【0049】
第3の態様では、本発明は、
データを受信機/デコーダにロードする少なくとも1つのデータローダおよびデータローダあるいは各データローダに関連するデータを含むネイティブコードを含むビットストリームを送信する送信機のような手段と、
データローダあるいは各データローダを複数のモジュールに分割し、かつデータローダあるいは各データローダに関連したデータを前記送信手段による送信のためのそれぞれの複数のモジュールに分割するデータサーバのような手段とを備えている伝送システムを提供する。
【0050】
好ましくは、伝送システムはさらに、
データローダあるいは各データローダのモジュールの各々をフォーマットする手段であって、データローダあるいは各データローダのテーブルが、同じそれぞれのテーブルID(「TID」)およびそれぞれの異なるテーブルID拡張(「TID−拡張」)を有する手段と、
データローダあるいは各データローダに関連したデータのモジュールの各々をそれぞれのテーブルとしてフォーマット化する手段とをさらに備え、データのモジュールのテーブルはそれに関連したデータローダモジュールのテーブルと同一のそれぞれのTIDおよびそれぞれの異なるTID−拡張を有する。
【0051】
フォーマット化手段は便宜的にはデータサーバによって提供されてもよい。
【0052】
このテーブルは、所定のTID−拡張以外のそれぞれの異なるTID−拡張を有してもよく、このシステムは、同じTIDを有する複数のモジュールあるいは各複数のモジュールに対するそれぞれのディレクトリテーブルを生成する手段をさらに含んでもよく、各ディレクトリテーブルはこのTIDおよび前記所定のTID−拡張を有し、このディレクトリはモジュールの各々に対してこのモジュールの名前およびそれぞれのTID−拡張を含む。
【0053】
送信システムはさらに、
所定のテーブルID(「TID」)を有し、かつ受信機/デコーダの複数のバージョンIDの各々に対してこのバージョンIDに関連したそれぞれのTIDを含むディレクトリテーブルを生成する手段を含む。
【0054】
送信システムはさらに、各送信されたテーブルにそのためのバージョンIDを含める手段を含む。
【0055】
前述された手段の各々は便宜的にはデータサーバによって提供されてもよい。
本発明の第4の態様は、前述された受信機/デコーダおよび前述された伝送システムの組み合わせを提供する。
【0056】
本発明の第5の態様は、データを受信機/デコーダにロードする少なくとも1つのローダを含む信号およびデータローダあるいは各データローダに関連したデータを提供し、データローダあるいは各データローダが複数のモジュールに分割され、データローダあるいは各データローダに関連したデータがそれぞれの複数のモジュールに分割されている。
【0057】
本発明の方法の態様の全ての特徴は、適切であるような装置および信号態様およびその逆に利用できる。
【0058】
次に、本発明の好ましい特徴は、添付図面を参照して、完全に例として以下に述べる。
【0059】
ディジタルテレビジョンシステム1000の概要が図1に示される。ディジタルテレビジョンシステム1000は、圧縮ディジタル信号を伝送するために公知のMPEG−2圧縮システムを使用するおもに従来のディジタルテレビジョンシステム2000を含んでいる。より詳細には、放送センターのMPEG−2圧縮器2002は、ディジタル信号ストリーム(一般的にはビデオ信号のストリーム)を受信する。この圧縮器2002は、マルチプレクサ・スクランブラ2004にリンケージ2006によって接続されている。マルチプレクサ2004は、複数の他の入力信号を受信し、1つあるいはそれ以上のトランスポートストリームを組み立て、もちろん通信リンクを含むいろいろの形式をとることができるリンケージ2010を介して圧縮ディジタル信号を放送センターの送信機2008に送信する。送信機2008は、電磁信号をアップリンク2012を介してトランスポンダ2014の方へ送信する。このトランスポンダ2014で、電磁信号は電子的に処理され、概念上のダウンリンク2016を介して従来エンドユーザによって所有されるかあるいは賃貸される皿形の地上受信機2018に放送される。受信機2018によって受信された信号は、エンドユーザによって所有されるかあるいは賃貸され、エンドユーザのテレビジョン受像機2022に接続されている統合受信機/デコーダ2020に送信される。受信機/デコーダ2020は、圧縮MPEG−2信号をテレビジョン受像機2022のためのテレビジョン信号に復号化する。
【0060】
条件付アクセスシステム3000は、マルチプレクサ2004および受信機/デコーダ2020に接続され、部分的には放送センターに、および部分的にはデコーダに置かれている。それによって、エンドユーザは、ディジタルテレビジョン放送を1つあるいはそれ以上の放送サプライヤからアクセスできる。コマーシャル提供に関するメッセージを暗号解読できるスマートカード(すなわち、放送サプライヤによって販売された1つあるいはいくつかのテレビジョンプログラム)は、受信機/デコーダ2020の中に挿入できる。デコーダ2020およびスマートカードを使用して、エンドユーザは、加入モードあるいはペイ・パー・ビューモードのいずれかでコマーシャル提供を購入してもよい。
【0061】
マルチプレクサ2004および受信機/デコーダ2020にも接続され、さらに部分的には放送センターにおよび部分的にはデコーダに置かれた対話式システム4000によって、エンドユーザは、モデム化されたバックチャネル4002を介していろいろなアプリケーションと対話できる。
【0062】
図2は、ディジタルテレビジョンシステム1000の対話式テレビジョンシステム4000の一般アーキテクチャを示している。
【0063】
例えば、対話式システム4000によって、エンドユーザは、オンスクリーンカタログからいくつかの項目を購入し、要求に応じてローカルニュースおよび天気図を見て、テレビジョン受像機でゲームをすることができる。
【0064】
対話式システム4000は、おおまかに4つの主要な要素を備えている。
【0065】
・放送サプライヤがアプリケーションを作成し、開発し、デバッグし、試験することができる放送センターあるいはどこかほかのオーサリングツール4004;
・放送センターで、放送サプライヤが、マルチプレクサに供給するためのアプリケーションおよびデータを作成し、認証し、およびフォーマット化することができるオーサリングツール4004およびエンドユーザに放送されるMPEG−2トランスポートストリーム(一般的にはそれの専用セクション)に挿入されるスクランブラ2004に接続されたアプリケーション・データサーバ4006;
・エンドユーザによって所有されるかあるいは賃貸される受信機/デコーダ2020に設置され、エンドユーザが、アプリケーションを受信し、認証し、伸長し、実行するためにデコーダ2020の作業メモリにロードできる実行可能コードである実行時間エンジン(RTE)4008向きの仮想コンピュータ。このエンジン4008は常駐汎用アプリケーションも実行する。このエンジン4008はハードウェアおよびオペレーティングシステムとは無関係である;および
・エンドユーザの要求でMPEG−2トランスポートストリームにデータおよびアプリケーションを挿入するようにサーバ4006に命令する信号をイネーブルにする受信機/デコーダ2020とアプリケーション・データサーバ4006との間のモデム化バックチャネル4002。
【0066】
対話式テレビジョンシステムは、受信機/デコーダおよびそれの中に含まれるいろいろな装置の機能を制御する「アプリケーション」を使用して作動する。アプリケーションは「リソースファイル」としてエンジン4008に表示される。「モジュール」は、リソースファイルおよびデータのセットである。受信機/デコーダの「メモリボリューム」はモジュールのための記憶空間である。モジュールは、MPEG−2トランスポートストリームから受信機/デコーダ2020にダウンロードされてもよい。
【0067】
受信機/デコーダ2020の物理的インタフェースはデータをダウンロードするために使用される。図3を参照すると、デコーダ2020は、例えば、6つのダウンロード装置を含んでいる。すなわち、MPEGフローチューナー4028、直列インタフェース4030、並列インタフェース4032、モデム4034および2つのカードリーダー4036である。受信機/デコーダ2020はディスプレイ4038も含んでもよい。
【0068】
この明細書の目的のために、アプリケーションは、好ましくは受信機/デコーダ2020の高レベル機能を制御する1つのコンピュータコードである。例えば、エンドユーザが、テレビジョン受像機2022の画面上で確認されるボタンオブジェクト上に遠隔コントローラ2026の中心を位置決めし、バリデーションキーを押す場合、ボタンに関連した命令シーケンスが実行される。
【0069】
対話式アプリケーションは、メニューを提供し、エンドユーザの要求でコマンドを実行し、アプリケーションの目的に関連するデータを提供する。アプリケーションは、どちらかの常駐アプリケーション、すなわち受信機/デコーダ2020のROM(あるいはFLASHあるいは不揮発性メモリ)に記憶された常駐アプリケーションあるいはデコーダ2020のRAM(あるいはFLASH)に放送およびダウンロードされたアプリケーションのいずれかであってもよい。
【0070】
アプリケーションの例は、
・起動アプリケーション。受信機/デコーダ2020には、受信機/デコーダ2020がMPEG−2環境で直ちに作動できる、適応可能なモジュール(この用語は下記に詳述される)の集合である常駐起動アプリケーションが装備されている。このアプリケーションは必要ならば放送サプライヤによって修正できる中心機能である。このアプリケーションは常駐アプリケーションとダウンロードされたアプリケーションとの間にインタフェースも提供する。
【0071】
・スタートアップアプリケーション。スタートアップアプリケーションによって、ダウンロードされるかあるいは常駐のいずれかである任意のアプリケーションは受信機/デコーダ2020で実行できる。このアプリケーションは、アプリケーションを開始するためにサービスの到達で実行されたブートストラップの役目を果たす。スタートアップは、RAMにダウンロードされ、したがって容易に更新できる。それは、各チャネルで利用可能な対話式アプリケーションがダウンロードあるいはプレローディングのいずれかの直後に選択および実行できるように構成できる。プレローディングの場合、アプリケーションは、メモリ2024にロードされ、必要な場合、スタートアップによって作動される。
【0072】
・プログラムガイド。プログラムガイドは、プログラミングについての全情報を示す対話式アプリケーションである。例えば、プログラムガイドは、ディジタルテレビジョンブーケ(bouquet)の各チャネル上に提供された1週間のテレビジョンプログラムについての情報を示してもよい。遠隔コントローラ2026のキーを押下することによって、エンドユーザはアドオン画面にアクセスし、テレビジョン受信機2022の画面に示された事象にオーバーレイする。このアドオン画面は、ディジタルテレビジョンブーケの各チャネルの現事象および次の事象の情報を示すブラウザである。遠隔コントローラ2026の他のキーを押下することによって、エンドユーザは、1週間にわたる事象の情報のリストを表示するアプリケーションをアクセスする。エンドユーザは、簡単にカスタマイズ基準で事象も検索し、分類できる。エンドユーザは選択チャネルも直接にアクセスできる。
【0073】
・ペイ・パー・ビューアプリケーション。ペイ・パー・ビューアプリケーションは、条件付アクセスシステム3000とともにディジタルテレビジョンブーケの各PPVチャネルで利用できる対話式サービスである。エンドユーザは、テレビジョンガイドあるいはチャネルブラウザを使用してアプリケーションにアクセスできる。さらに、PPV事象がPPVチャネルで検出されるや否やアプリケーションは自動的に始まる。次に、エンドユーザは、(モデム、電話およびDTMFコード、MINITEL等を使用して)自分のドータースマートカード3020あるいは通信サーバ3022のいずれかを介して現事象を購入できる。このアプリケーションは、受信機/デコーダ2020のROMに常駐するかあるいは受信機/デコーダ2020のRAMにダウンロードされるかのいずれかであってもよい。
【0074】
・インターネットブラウザアプリケーション。インターネットブラウザアプリケーションの一例において、特定のURLを有するウェブページを見るリクエストのようなユーザからの命令は、遠隔コントローラ2026を使用して入力され、これらは、モデム化バックチャネル4002によってアプリケーションおよびデータサーバ4006に送られる。したがって、アップリンク2012、トランスポンダ2014およびダウンリンク2016を介して受信機/デコーダ2020によって受信され、テレビジョン2022上に表示された適切なウェブページは、放送センターからの送信に含められる。
【0075】
アプリケーションは、受信機/デコーダ2020のメモリロケーションに記憶され、リソースファイルとして示される。このリソースファイルは、グラフィックオブジェクト記述ファイルと、可変ブロックユニットファイルと、命令シーケンスファイルと、アプリケーションファイルと、データファイルとを備えている。 グラフィックオブジェクト記述ユニットファイルは、スクリーン、すなわちアプリケーションのマンマシンインタフェースを記述する。可変ブロックユニットファイルはアプリケーションによって処理されたデータ構造を記述する。命令シーケンスファイルはアプリケーションの処理動作を記述する。アプリケーションファイルはアプリケーションのためのエントリポイントを提供する。
【0076】
このように構成されたアプリケーションは、アイコンライブラリファイル、画像ファイル、文字フォントファイル、カラーテーブルファイルおよびASCIIテキストファイルのようなデータファイルを使用できる。対話式アプリケーションは、入力および/または出力を行うことによってオンラインデータも得ることができる。
【0077】
エンジン4008は、所与の時間に必要であるこれらのリソースファイルをそのメモリにロードだけする。これらのリソースファイルは、グラフィックオブジェクト記述ユニットファイル、命令シーケンスファイルおよびアプリケーションファイルから読み出される。すなわち、可変ブロックユニットファイルは、モジュールをロードする手順の呼び出しに続いてメモリに記憶され、モジュールのロードを解除する特定の呼び出しが行われるまでそこにロックされたままである。
【0078】
図5を参照すると、電話ショッピングモジュールのようなモジュール4010は下記のものよりなるリソースファイルおよびデータのセットである。すなわち、 単一アプリケーションファイル4012;
決定された数のグラフィックオブジェクト記述ユニットファイル4014;
決定された数の可変ブロックユニットファイル4016;
決定された数の命令シーケンスファイル4018;
適切である場合、アイコンライブラリファイル、画像ファイル、文字フォントファイル、カラーテーブルファイルおよびASCIIテキストファイルのようなデータファイル4020。
【0079】
少数のコードをダウンロードする概念とともにモジュール4010の概念はアプリケーションの容易な進化を可能にする。このアプリケーションは、常駐ソフトウェアとしてデコーダ2020の固定FLASHメモリにダウンロードするかあるいはエンドユーザによって必要とされる場合だけ、デコーダ2020のRAMにダウンロードされるために放送できる。
【0080】
MPEGフローの場合、1つのモジュール4010は1つの単一のMPEGテーブルに移送される。MPEGチューナー4028に送信されたモジュールの場合、長いMPEG−2フォーマットは長いヘッダおよびCRCコードと併用される。これは、より短いヘッダを有し、CRCを有しない「短い」MPEG−2が使用されることを除いて、5つの他のインタフェース(直列インタフェース4030、並列インタフェース4032、モデム4034および2つのカードリーダー4036)を有する場合でもある。
【0081】
特に、公知であるような図6を参照すると、MPEG−2ビットストリームは、0のパケット指示(「PID」)を有するプログラムアクセステーブル(「PAT」)10を含んでいる。PATは多数のプログラムのプログラムマップテーブル(「PMT」)12のPIDの参照を含む。各PMTは、このプログラムのためのオーディオMPEGテーブル14およびビデオMPEGテーブル16のストリームのPIDの参照を含んでいる。プログラムアクセステーブル10であるゼロのPIDを有するパケットは全てのMPEGアクセスのためのエントリポイントを提供する。
【0082】
アプリケーションおよびアプリケーションのためのデータをダウンロードするために、2つの新しいストリームタイプは規定され、関連PMTはアプリケーションMPEGテーブル18(あるいはテーブルのセクション)およびデータMPEGテーブル20(あるいはテーブルのセクション)のストリームのPIDの参照も含んでいる。
【0083】
図7を参照すると、アプリケーション22をダウンロードするために、このアプリケーションは、そのいくつかが単一のセクション18で構成され、その他のものは複数のセクション18によって構成される各々がMPEGテーブルによって形成されるモジュール24に分割される。典型的なセクション18は、1バイトテーブルID(「TID」)28、テーブルのこのセクションのセクション番号30、このテーブルのセクションの全数32および2バイトTID拡張34を含んでいるヘッダ26を有する。各セクションは、データ部36およびCRC38も含んでいる。この特定のモジュール/テーブル24に関しては、このテーブル24を構成するセクション18の全ては、同じTID28および同じTID拡張34を有する。特定のアプリケーション22に関しては、このアプリケーション22を構成するテーブル24の全ては同じTID28を有するが、異なるそれぞれのTID拡張を有する。
【0084】
次に、MPEGテーブルの認証は図8を参照して説明される。テーブル40は、データ42(一般的には、ヘッダ26と、TID28と、TID拡張34と、データ部36とを含む)、鍵ID44および暗号領域46を含んでいる。鍵ID44は、ブロックを暗号化するために使用される1バイトの特定の秘密鍵IDを含む。暗号領域46は96バイトのデータのブロックである。第1のバイト48はゼロである。16バイトのシグナチャ50は、一般的には第1のバイトの後の0と31バイトとの間のオフセットで開始する。シグナチャ50は、データ42の既知MD5シグナチャ生成処理を使用して発生される。ダミーデータ52は、第1のバイトとシグナチャ50との間に挿入され、ブロックは、既知の暗号化処理および鍵ID44が一致する秘密鍵を使用して暗号化される。
【0085】
複数のMPEGテーブルが認証されるべきである場合、テーブルの名前およびこれらのテーブルのシグナチャをリスティングするディレクトリは搬送波信号に含められる。MPEGフローの場合、このディレクトリは、一般的にはゼロのTID拡張34を有する1つの単一のMPEGテーブルに転送される。このディレクトリテーブルは前述の機構で認証される。一旦ディレクトリが搬送波信号からダウンロードされたとすると、アプリケーションはディレクトリにリストされたMPEGテーブルの中の1つあるいはそれ以上をダウンロードできる。
【0086】
次に、アプリケーションのダウンロード中にシグナチャおよび暗号解読を取り扱う受信機/デコーダ2020の動作を説明する。図9を参照すると、受信機/デコーダ2020は、EEPROM68、FLASH69、ROM70およびRAM72を含んでいる。EEPROM68は、仮想コンピュータによって使用され、仮想コンピュータだけ(通常のアプリケーションでない)が書き込みできる保護領域74を含んでいる。保護領域74は、16あるいは256ビットの鍵バリデーションビットマップ76および32ビットのオフセットビットマップ80を含んでいる。このROM70は、一方の実施形態では、16個の秘密鍵82を含み、その場合、16ビットの鍵バリデーションビットマップが使用され、他方の実施形態では、256個の公開鍵を含み、その場合、256個の鍵バリデーションビットマップが使用される。公開鍵は、ROM70のその物理的ロケーションによって識別されるかあるいは代わりにルックアップテーブルに含められてもよく、それによって特定の鍵IDは対応する公開鍵を生じる。RAM72はテンポラリ鍵84を記憶するために使用されてもよい。
【0087】
アプリケーションがダウンロードされるべきである場合、最初にこのアプリケーションに対する所定のTIDおよびゼロのTID拡張を有するディレクトリテーブルはダウンロードされる。次に、鍵ID44はディレクトリテーブルから抽出され、抽出された鍵ID44に対応するビットがセットされる保護メモリ74の鍵IDビットマップ76のチェックが行われる。セットされない場合、アプリケーションのさらなるダウンロードは打ち切られる。しかしながら、適切なキーがセットされる場合、抽出された鍵ID44に対応する公開鍵82はROM70から選択される。次に、選択された公開鍵および既知の暗号解読処理は、ディレクトリテーブル40の暗号化ブロック46を暗号解読するために使用され、暗号解読されたブロックを生じる。保護メモリ74のオフセットビットマップ80に含まれたオフセットは参照されるかあるいは2個以上のオフセットビットがセットされる場合、各オフセットビットは順に参照され、16バイトのデータは、参照オフセットで始まる暗号解読ブロックから抽出される。この参照オフセットあるいは各参照オフセットに関して、16バイトはディレクトリテーブル40とともに送信されたシグナチャとして処理される。ディレクトリテーブル40のディレクトリ42のエントリのシグナチャは公知のMD5処理を使用して計算され、この計算されたシグナチャは暗号解読ブロックから抽出されたシグナチャと比較される。この参照オフセットあるいは各参照オフセットに対する2つのシグナチャが一致しない場合、アプリケーションのさらなるダウンロードが打ち切られる。しかしながら、シグナチャの中の1つが一致する場合、ディレクトリ42に指定されたモジュールのダウンロードを進行できる。前述のように、特定のモジュールをダウンロードするために、このモジュールに対するTID拡張はディレクトリ42から得られ、ディレクトリテーブルと同じTIDおよび得られたTID拡張を有するMPEGテーブル24あるいはセクション18はダウンロードされる。一旦モジュールMPEGテーブルがダウンロードされたとすると、受信機/デコーダ2020は、既知のMD5処理を使用してダウンロードされたテーブルのシグナチャを計算し、次にこの計算されたシグナチャとディレクトリエントリに含まれたシグナチャとを比較する。シグナチャが一致する場合、モジュールが受信されるが、シグナチャが一致しない場合、モジュールが拒絶される。
【0088】
したがって、アプリケーションのモジュールの全ては上記に指定された方法でダウンロードでき、アプリケーションを受信機/デコーダ2020によって実行できる。
【0089】
次に、受信機/デコーダ2020へのデータのダウンロードは、図9〜図16を参照してより詳細に説明される。
【0090】
受信機/デコーダ2020は、製造者ファームウェア、実行時間エンジン4008および受信機/デコーダ2020のFLASHメモリ69に記憶するためにMPEGデータストリームにあるアプリケーションのようなソフトウェアをダウンロードするローダを主にダウンロードするために使用される「ブートストラップ」ローダ100と呼ばれるローダ100を含んでいる。ブートストラップローダ100は、受信機/デコーダ2020のFLASHメモリ69に記憶され、一般的にはそれから消去可能でない。ブートストラップローダ100は、受信機/デコーダ2020のハードウェアおよびそれに記憶されたソフトウェアの制御下で機能を果たす。
【0091】
受信機/デコーダに記憶されたソフトウェアの書き込み/更新は、
・受信機/デコーダ2020の使用の要求で、
・受信機/デコーダ2020に記憶されたアプリケーションの要求で、あるいは
・受信機/デコーダ2020に予め記憶されたソフトウェア(「常駐」ソフトウェアと呼ばれる)が破損された場合、
実行される。
【0092】
常駐ソフトウェアが破損されたかどうかを決定するために、受信機/デコーダ2020の製造者によって書き込まれ、それの中に記憶されたソフトウェアは、常駐ソフトウェアデータのチェックサムを計算し、これと常駐ソフトウェアに書き込まれたチェックサムとを比較する。2つのチェックサムの値が等しくない場合、常駐ソフトウェアは破損した。
【0093】
受信機/デコーダ2020のFLASHメモリ69およびEEPROM68は、ブートストラップローダ100がビットストリームからネイティブコードの形式のローダをダウンロードできるパラメータを含む。パラメータは、ブートストラップローダ100そのもの、すなわち、FLASHメモリ69、あるいはEEPROM68に記憶されてもよい。FLASHメモリ69に記憶されてもよいパラメータの例は、
・トランスポンダ2014が同調される周波数;
・受信機/デコーダ2020によって復調されるいろいろな信号の特性;
・ソフトウェアが送信されるべきPID;
・認証中に使用される公開鍵のセット(好ましくは3個の鍵);
・MPEGビットストリームからのディレクトリテーブルのローディングに対するタイムアウト;
・ブートストラップローダ100のバージョン数;および
・その値が受信機/デコーダ2020の製造者によって決定される常駐ソフトウェアの一貫性をチェックするために使用されたNバイトの「チェックサム」パラメータ、を含んでいる。
【0094】
EEPROM68に記憶され、受信機/デコーダ2020に記憶されたアプリケーションによって更新されてもよいパラメータの例は、
・受信機/デコーダ2020によって復調される他の信号の特性;および
・書き込み/更新のレポートが編集できるパラメータ、を含んでいる。
【0095】
これらのパラメータはFLASHメモリ69あるいはEEPROM68のそれぞれのパラメータフィールドに記憶される。図10を参照すると、各パラメータフィールド400は、長さ402と、予備バイト404と、一組のパラメータ406と、垂直冗長コード(LRC)チェックサム408とを含んでいる。パラメータフィールド400の直前のバイトの排他的ORであるCRL410およびCRL410の1の補数であるNCRL412を含む。受信機/デコーダ2020に記憶されたアプリケーションがパラメータフィールドに記憶されたパラメータ、例えば、PIDを更新したいならば、アプリケーションは、フィールドに対するLRCチェックサムを計算し、これをフィールドに記憶されたLRCチェックサム410と比較する。2つの値が一致する場合、パラメータフィールドの更新が作動される。一致しない場合、パラメータフィールドの更新は打ち切られる。
【0096】
受信機/デコーダ2020にダウンロードされるデータを含むMPEGビットストリームは、少なくともその一部が「インストリーム」ローダと呼ばれる付加ローダを含むネイティブコードを有する。ブートストラップローダ100は、インストリームローダをMPEGビットストリームから受信機/デコーダ2020のRAM72にダウンロードし、例えば、それは常駐ソフトウェアを更新するためにデータをMPEGビットストリームからダウンロードするこのインストリームローダである。
【0097】
受信機/デコーダ2020のFLASHメモリ69にダウンロードされるソフトウェアは、「常駐」ローダと呼ばれるローダも含んでもよい。このローダは、MPEGビットストリームからのソフトウェアの書き込み/更新を少なくとも実行できるべきであり、ローカルポートからの更新のような他の機能があってもよく、MPEGビットストリームのビデオおよびオーディオのデータを復号化できてもよい。常駐ローダは、アプリケーションの要求でビットストリームからロードされ、例えば、インストリームローダのダウンロードを実行するローダを補足するかあるいはデータをビットストリームからロードする。例えば、書き込み/更新が受信機/デコーダ2020に記憶されたアプリケーションによって要求され、常駐ソフトウェアが破損されなかった場合、常駐ローダはインストリームローダの代わりに更新を実行するために使用される。これは受信機/デコーダのソフトウェアを更新するのにかかる時間を減少させることができる。少なくとも常駐ローダの一部はネイティブコードの形式である。
【0098】
次に、受信機/デコーダ2020が必要とされるソフトウェアを探索し、ダウンロードできるMPEGビットストリームに含まれるいろいろなMPEGテーブルが図11および図12を参照して説明される。
【0099】
MPEGビットストリームは、少なくとも1つのハードウェアディレクトリテーブル200および複数のローダディレクトリ300を含んでいる。
【0100】
ハードウェアディレクトリテーブル200によって、ブートストラップローダ100は、インストリームローダおよび受信機/デコーダ2020の多数の異なるバージョンのためにダウンロードされるソフトウェアの正しいバージョンを探索できる。図11を参照すると、ハードウェアディレクトリテーブル200は、その値が受信機/デコーダ2020のEEPROM68に予め記憶され、例えば、ブートストラップローダ100がハードウェアディレクトリテーブル200を探索し、ダウンロードできるD0のTID202および0000のTID拡張204を含んでいる。
【0101】
ハードウェアディレクトリテーブル200は、
ハードウェアディレクトリ200のバージョン番号、HVERSION206を含んでいる。このバージョン番号は、ハードウェアディレクトリ200の内容の変更がある度に増加される。
【0102】
ハードウェアディレクトリ200に含まれたインストリームローダ記述の数、NL208;
受信機/デコーダ2020の各バージョンに対して、
このような受信機/デコーダ2020のバージョン番号の識別子、HVN210;
このHVN210、インストリームローダおよびダウンロードされるソフトウェアに関連されるローダディレクトリ300のために使用されるMPEGテーブルのTID212;
冗長バイト、RES214;
このHVN210に関連したローダディレクトリ300のために使用されるMPEGテーブルのセクションの最大サイズ、SECTION LEN216;
HVN210に関連したローダディレクトリ300のローディングに対するタイムアウトの値、TIME OUT218;および
HVN210に関連したローダディレクトリのシグナチャの値、SGN SIGN220;
ハードウェアディレクトリ200の認証のために使用された秘密鍵のID、KEY222;および
ハードウェアディレクトリ200のシグナチャSIGN H226を含む暗号化領域、CIPH AREA224、シグナチャはシグナチャオフセットSGN OFFSET228によってCIPH AREA224の開始からオフセットされる。
【0103】
受信機/デコーダのHVN210は4バイトの長さである。1バイトは将来使用するために予備に残され、2バイトは受信機/デコーダのハードウェアのバージョン番号のためのコードを含み、1バイトは受信機/デコーダの製造のためのコードを含んでいる。これによって、ブートストラップローダは、受信機/デコーダのハードウェアプラットホームと互換性があるインストリームローダのバージョンをダウンロードできる。
【0104】
ハードウェアディレクトリテーブル200をダウンロードした場合、ブートストラップローダ100は、受信機/デコーダ2020のHVN210と対応するエントリに対するテーブル200を探索する。一致が生じない場合、ダウンロードは打ち切られる。一致が生じる場合、ブートストラップローダ100は、テーブル200から受信機/デコーダ2020のHVN210、インストリームローダおよびダウンロードされるソフトウェアに関連したローダディレクトリ300に割り当てられたTID212を識別する。
【0105】
図12を参照するに、受信機/デコーダ2020のHVN210に関連した各ローダディレクトリ300は下記を含む。
【0106】
ローダディレクトリ300のバージョン番号、LVERSION302。このバージョン番号はローダディレクトリ300の内容の変更がある度に増加される;
インストリームローダのMPEGテーブルの数、NL304;
インストリームローダのバージョン番号、LVERS306;
ダウンロードされるソフトウェアのMPEGテーブルの数、NS308;
ダウンロードされるソフトウェアのバージョン番号、SVERS310;
インストリームローダの各MPEGテーブルに対して:
このMPEGテーブルのID、SE ID312;
このMPEGテーブルのTID拡張、TID EXT314;
2つの冗長バイト、RES316;
このMPEGテーブルのMPEGセクションの最大サイズ、SECTION LEN318;
このMPEGテーブルのローディングに対するタイムアウトの値、TIME OUT320;および
このMPEGテーブルのシグナチャの値、SGN SIGN322;
ソフトウェアの各MPEGテーブルに対して:
このMPEGテーブルのID、SEG ID324;
このMPEGテーブルのTID拡張、TID EXT326;
2つの冗長ビット、RES328;
このMPEGテーブルのMPEGセクションの最大サイズ、SECTION LEN330;
このMPEGテーブルのローディングに対するタイムアウトの値、TIME OUT332;
このMPEGテーブルのシグナチャの値、SIGN SIGN334;
ローダディレクトリ300の認証のために使用される秘密鍵のID、KEY336;および
ローダディレクトリ300のシグナチャSIGN L340を含む暗号化領域、CIPH AREA338、シグナチャはシグナチャオフセットSEG OFFSET342により、CIPH AREA338の最初からオフセットされる。
【0107】
更新中、とりわけ、例えば、書き込み/更新処理の各ステップの詳細、例えばこのステップが効果的に完了されたか否かを含むレポートが編集されるので、書き込み/更新が失敗した可能性があるステップは後で識別される。このレポートは、
ハードウェアディレクトリ200のHVERSION206;
エラーがハードウェアディレクトリ200の処理中に生じた場合のエラーの種類およびエラーが生じたハードウェアディレクトリ200のMPEGテーブルのTID拡張の指示;
ローダディレクトリのLVERSION302;
エラーがローダディレクトリ300の処理中に生じた場合のエラーの種類およびエラーが生じたローダディレクト300のMPEGテーブルのTID拡張の指示;および
エラーがインストリームローダの処理中に生じた場合のエラーの種類およびエラーが生じたインストリームローダのMPEGテーブルのTID拡張の指示;および
エラーがソフトウェアの処理中に生じた場合のエラーの種類およびエラーが生じたソフトウェアのMPEGテーブルのTID拡張の指示を含んでいる。
【0108】
何故書き込み/更新が実行されたに関する理由、例えば、アプリケーションの要求で、検出されるソフトウェアの不整合数および更新の故障数も含んでいる。
【0109】
アプリケーションの要求でMPEGビットストリームにあるソフトウェアで常駐ソフトウェアを更新する場合、受信機/デコーダ2020は、新しくダウンロードされたローダディレクトリテーブル300で識別されたソフトウェアのSVERS310と常駐ソフトウェアのバージョン番号とを比較するように構成されている。SVERS310がより最近である場合、常駐ソフトウェアと関連したモジュールはFLASHメモリ69から消去され、更新ソフトウェアのモジュールはダウンロードされ、取り付けられる。
【0110】
受信機/デコーダ2020の正面パネルLEDディスプレイ4038は、データのダウンロード中、受信機/デコーダ2020のユーザにメッセージを表示するように構成される。例えば、4つの下記のメッセージは受信機/デコーダ2020のFLASH69に記憶されたパラメータフィールドに指定される。
【0111】
・書き込み/更新が「通常」状態で進行している、すなわちアプリケーションの要求で示している「LOAD」メッセージ;
・更新が「ネイティブ」状態で進行している、すなわち、常駐ソフトウェアが破損したために示している「NATIV」メッセージ;
・受信機/デコーダ2020のメモリの整合しているかあるいは有効なパラメータ(例えば、MPEGチューナ4028がセットされるべき周波数あるいはMPEGビットストリームのPID)を探索できないためにブートストラップローダ100は書き込み/更新を実行できないことを示す「OOO」メッセージ;および
・OOOメッセージに関して指定された以外のエラーが書き込み/更新中に生じたことを示す「ERRL」メッセージ。
【0112】
静止メッセージの代替物として、動画の形式のメッセージは受信機/デコーダ上に表示されてもよい。
【0113】
次に、例えば、常駐ソフトウェアの更新のステップは図13〜図16を参照して説明される。
【0114】
ステップS101において、受信機/デコーダに記憶されたソフトウェアは、チェックサム計算を実行し、この計算の結果と受信機ソフトウェアに記憶されたチェックサムの値とを比較することによって任意の常駐ソフトウェアの一貫性をチェックする。2つの値が異なる場合、更新はネイティブ状態で継続し;2つの値が同じである場合あるいは常駐ソフトウェアが全然探索されない場合、更新は通常状態で継続する。
【0115】
このネイティブ状態では、次に前の更新結果がステップS102でなお保留しているかどうかが決定される。アプリケーションからのこのような更新要求が保留している場合、この要求はステップS103で消去され、S102は繰り返される。このような更新要求がなお全然保留していない場合、前の更新のレポートはステップS104で消去され、この更新のログを開始するために初期化される。レポートは更新要求のための理由をログし、すなわち破損ソフトウェアを取り換える。
【0116】
ステップS104に続いて、NATIVメッセージはステップS105で受信機/デコーダ2020のディスプレイ4038上に表示される。
【0117】
ステップS106で、EEPROMおよびFLASHメモリ69のパラメータフィールドに記憶されたパラメータがチェックされる。チューニングパラメータおよび/またはPIDパラメータは規定されていない場合、ディスプレイ4038にOOOメッセージを表示させ、更新が打ち切られる。
【0118】
これらのパラメータがパラメータフィールドに規定される場合、更新は、ブートストラップローダ100がパラメータフィールドに記憶されたパラメータに従ってMPEGチューナ4028をトランスポンダ2014に同調させるステップS107に進む。チューニングが失敗する場合、更新は打ち切られ、ERRLメッセージが表示される。
【0119】
チューニングが成功した場合、ブートストラップローダ100は、ステップS108でハードウェアディレクトリ200をダウンロードし、認証する。ハードウェアディレクトリ200がタイムアウトに達する前にダウンロードされない場合かあるいはハードウェアディレクトリ200が(ダウンロード中エラーが生じたので)認証されない場合、更新は打ち切られ、ERRLメッセージが表示される。
【0120】
ダウンロードおよび認証が成功した場合、ブートストラップローダ100は、パラメータフィールドに規定されるように、受信機/デコーダ2020のバージョン番号に対応するHVN210を検索する。このようなHVNが探索されない場合、更新は打ち切られ、ERRLメッセージが表示される。
【0121】
このようなエントリが探索される場合、ブートストラップローダ100は、このHVN210、インストリームローダおよびダウンロードされるソフトウェアに関連したローダディレクトリ300のために使用されるMPEGテーブルのTID212を読み出し、ステップS109で、正しいローダディレクトリ300をダウンロードし、認証する。ローダディレクトリ300がタイムアウトに達する前にダウンロードされない場合、あるいはローダディレクトリが(ダウンロード中エラーが生じたので)認証されない場合、更新は打ち切られ、ERRLメッセージが表示される。
【0122】
ダウンロードおよび認証が成功した場合、ブートストラップローダ100は、ステップS110で、インストリームローダをMPEGビットストリームから受信機/デコーダ2020のRAM72にダウンロードする。インストリームローダがタイムアウトに達する前にダウンロードされない場合、あるいはインストリームローダが(ダウンロード中エラーが生じたので)認証されない場合、更新は打ち切られ、ERRLメッセージが表示される。
【0123】
インストリームローダのロードおよび認証が成功した場合、インストリームローダはステップS111で実行され、ステップS112で、常駐ソフトウェアの破損部分が消去され、ダウンロードされるソフトウェアのセグメントはインストリームローダによってダウンロードされ、認証され、FLASHメモリ69の適切なアドレスロケーションに書き込まれる。ソフトウェアがタイムアウトに達する前にダウンロードされない場合、あるいはソフトウェアが(ダウンロード中エラーが生じたので)認証されない場合、もしくはエラーがFLASHメモリ69へのソフトウェアの書き込み中に生じる場合、更新は打ち切られ、ERRLメッセージが表示される。
【0124】
常駐ソフトウェアの更新が成功した場合、レポートの書き込みはステップS113で停止され、受信機/デコーダ2020は、更なる更新が開始できるようにリセットされる。
【0125】
更新が打ち切られるいかなるステップにおいても、完了が成功するまでかあるいはこのステップを実行するタイムアウトに達するまで、このステップは代わりに所定の回数再実行されてもよい。
【0126】
更新が通常の状態に進むためのものである場合、ブートストラップローダ100は、ステップS201で、アプリケーションからの更新要求が既に保留しているかどうかを決定する。保留していない場合、更新は通常のように継続する。既に更新要求を保留している場合、保留要求が最初に処理される。
【0127】
前の更新のレポートは、ステップS202で消去され、この更新のログを開始するために初期化される。レポートは、例えば、アプリケーションの要求で更新要求のための理由およびアプリケーションによって選択される任意の更新オプションをログする。
【0128】
次に、ステップS203で、常駐ローダが受信機/デコーダ2020のFLASHメモリ69に記憶されているかどうかが決定される。このようなローダが受信機/デコーダに記憶されている場合、ステップS204で、常駐ローダが受信機/デコーダ2020に記憶されているソフトウェアからのコマンドに応じて実行されたかどうかが決定される。常駐ローダが実行された場合、常駐ローダは、ブートストラップローダ100によって通常実行される更新処理でその後のステップを実行する。
【0129】
常駐ローダがないかあるいは実行されなかった場合、ブートストラップローダ100が使用される。たとえ常駐ローダがFLASHメモリ69に記憶されたとしても、受信機/デコーダ2020に記憶されたソフトウェアはブートストラップローダ100に強制的に更新処理を続けさせることもできる。
【0130】
LOADメッセージは、ステップS205で、受信機/デコーダ2020のディスプレイ4038に表示される。
【0131】
ステップS206において、EEPROMおよびFLASHメモリ69のパラメータフィールドに記憶されたパラメータがチェックされる。チューニングパラメータおよび/またはPIDパラメータが規定されない場合、ディスプレイ4038にOOOメッセージを表示させ、更新が打ち切られる。
【0132】
これらのパラメータがパラメータフィールドに規定される場合、更新は、ブートストラップあるいは常駐ローダがパラメータフィールドに記憶されたパラメータに従ってチューナ4028をトランスポンダ2014に同調させるステップS207に進む。チューニングが失敗する場合、更新は打ち切られ、ERRLメッセージが表示される。
【0133】
チューニングが成功した場合、ブートストラップあるいは常駐ローダは、ステップS208で、ハードウェアディレクトリ200をダウンロードし、認証する。ハードウェアディレクトリ200がタイムアウトに達する前にダウンロードされない場合、ハードウェアディレクトリが(ダウンロード中エラーが生じたので)認証されない場合かあるいは更新を要求するアプリケーションによって選択されたオプションに応じて、成功した更新が同じHVERSION206を有するハードウェアディレクトリを使用して実行された場合、更新は打ち切られ、ERRLメッセージが表示される。
【0134】
ダウンロードおよび認証が成功して、更新がアプリケーションによって可能にされる場合、ブートストラップあるいは常駐ローダは、パラメータフィールドに規定されるように、受信機/デコーダ2020のバージョン番号に対応するHVN210を検索する。このようなHVNが探索されない場合、更新は打ち切られ、ERRLメッセージが表示される。
【0135】
このようなエントリが探索される場合、ブートストラップあるいは常駐ローダは、HVN210、インストリームローダおよびダウンロードされるソフトウェアに関連したローダディレクトリのために使用されるMPEGテーブルのTID212を読み出し、正しいローダディレクトリ300をダウンロードし、認証する。
【0136】
ローダディレクトリ300がタイムアウトに達する前にダウンロードされない場合、ローダディレクトリが(ダウンロード中エラーが生じたので)認証されない場合かあるいは更新を要求するアプリケーションによって選択されたオプションに応じて、成功した更新が同じLVERS306を有するローダディレクトリを使用して実行された場合、更新は打ち切られ、ERRLメッセージが表示される。
【0137】
ダウンロードおよび認証が成功して、更新がアプリケーションによって可能にされる場合、ブートストラップ100は、ステップS210で、インストリームローダをMPEGビットストリームから受信機/デコーダ2020のRAM72にダウンロードする。インストリームローダがタイムアウトに達する前にダウンロードされない場合かあるいはインストリームローダが(ダウンロード中エラーが生じたので)認証されない場合更新は打ち切られ、ERRLメッセージが表示される。
【0138】
インストリームローダのロードおよび認証が成功した場合、インストリームローダは、ステップS211で実行され、ステップS212で、MPEGビットストリームのソフトウェアのバージョン番号SVERS310は常駐ソフトウェアのバージョン番号と比較される。
【0139】
バージョン番号が同じである場合、FLASHメモリ69へのソフトウェアの書き込みは実行されず、アプリケーション更新要求が消去される。バージョン番号が異なる場合、常駐ソフトウェアは消去され、ダウンロードされるソフトウェアのセグメントは、インストリームローダによってダウンロードされ、認証され、ステップS213でFLASHメモリ69に書き込みされる。
【0140】
ソフトウェアがタイムアウトに達する前にダウンロードされない場合かあるいはソフトウェアが(ダウンロード中エラーが生じたので)認証されない場合もしくはエラーがFLASHメモリ69へのソフトウェアの書き込み中に生じる場合、更新は打ち切られ、ERRLメッセージが表示される。
【0141】
常駐ソフトウェアの更新が成功した場合、レポートの書き込みがステップS214で停止され、保留更新要求が消去され、受信機/デコーダ2020は、更なる更新が開始できるようにリセットされる。
【0142】
ネイティブ状態におけるように、更新が打ち切られるいかなるステップにおいても、このステップは、完了が成功するまで、代わりに再実行されてもよい。
【0143】
本発明は例として単に上記に述べられ、詳細の修正は本発明の範囲内で行うことができることが理解される。
【0144】
各特徴は説明で開示され、(適切である場合)特許請求の範囲および図面は、個別にあるいは任意の適当な組み合わせで提供されてもよい。前述の好ましい実施形態では、本発明の若干の特徴はコンピュータソフトウェアを使用して実行された。しかしながら、もちろん、これらの特徴のいずれもがハードウェアを使用して実行されてもよいことは当業者に明らかである。さらに、ハードウェア、コンピュータソフトウェア等によって実行される機能が電気信号等であるいは電気信号を使用して実行されることが容易に理解される。
【図面の簡単な説明】
【図1】 ディジタルテレビジョンシステムの全アーキテクチャを示している。
【図2】 図1のディジタルテレビジョンシステムの対話式システムのアーキテクチャを示している。
【図3】 図1および図2のシステムの一部を形成する受信機/デコーダのインタフェースの概略図である。
【図4】 ディジタルテレビジョンシステムで使用された遠隔コントローラの概略図である。
【図5】 対話式受信機/デコーダのメモリにダウンロードされたモジュール内のファイルの配置を示している。
【図6】 MPEGストリームの多数の構成要素間の相互関係を示している。
【図7】 アプリケーションが、セクションでも構成されてもよい、モジュール/テーブルで構成されてもよい方法を示している。
【図8】 MPEGテーブルの認証を示している。
【図9】 テレビジョンシステムの受信機/デコーダのメモリのいろいろな領域を示している。
【図10】 パラメータフィールドを示している。
【図11】 ハードウェアディレクトリテーブルを示している。
【図12】 ローダディレクトリテーブルを示している。
【図13】 データをダウンロードする手順を示すフローチャートである。
【図14】 データをダウンロードする手順を示すフローチャートである。
【図15】 データをダウンロードする手順を示すフローチャートである。
【図16】 データをダウンロードする手順を示すフローチャートである。

Claims (11)

  1. データを受信機/デコーダにダウンロードする方法であって、前記受信機/デコーダは、ブートストラップローダと、前記受信機/デコーダの消去可能な不揮発性メモリに記憶された特定の常駐ソフトウェアとを備え、
    (a)前記データを含むビットストリームを受信するステップと、
    (b)前記受信機/デコーダのハードウェア・プラットフォームと互換であるインストリームローダを前記受信ビットストリームにおいて前記ブートストラップローダによって位置特定するステップと、
    (c)前記受信機/デコーダの前記ハードウェア・プラットフォームと互換である前記インストリームローダを前記受信機/デコーダに前記ビットストリームから前記ブートストラップローダによってダウンロードするステップと、
    (d)前記ダウンロードされたインストリームローダを使用して前記データを前記ビットストリームから前記受信機/デコーダにダウンロードし、前記データを前記受信機/デコーダの前記消去可能な不揮発性メモリに書き込み、それにより、前記消去可能な不揮発性メモリから消去された前記常駐ソフトウェアの全部、又は特定の一部を置き換えるステップとを前記受信機/デコーダにおいて含み、
    前記ダウンロードされたデータは、前記ブートストラップローダの代わりにステップ(b)及び(c)をその後に行うために前記ブートストラップローダを補完することが意図された常駐ローダを含むことを特徴とする方法。
  2. 請求項1記載の方法であって、前記ビットストリームにおいて受信された前記データは、前記受信機/デコーダに記憶された前記常駐ソフトウェアを更新することが意図されたソフトウェア・データを含み、前記方法が、送信システムで、
    前記インストリームローダ又は少なくとも1つのインストリームローダを複数のモジュールに分割するステップと、
    前記ソフトウェア・データをそれぞれの複数のモジュールに分割するステップとを更に含み、複数のソフトウェア・モジュールがそれぞれ、複数のインストリームローダ・モジュールそれぞれに関連していることを特徴とする方法。
  3. 請求項2記載の方法であって、前記送信システムで、
    前記複数のインストリームローダ・モジュールをそれぞれのMPEGテーブルとしてフォーマット化するステップであって、前記テーブルが、同じそれぞれのテーブルID(「TID」)及びそれぞれの異なるテーブルID拡張(「TID−拡張」)を有するステップと、
    複数のソフトウェアデ―タ・モジュールをそれぞれのMPEGテーブルとしてフォーマット化するステップとを更に含み、前記テーブルが、それに関連した前記インストリームローダのテーブルと同じそれぞれのTIDを有し、かつそれぞれの異なるTID−拡張を有することを特徴とする方法。
  4. 請求項3記載の方法であって、前記送信システムで、
    同じTIDを有する前記複数のモジュールあるいは各複数のモジュールに対してそれぞれのローダ・ディレクトリMPEGテーブルを生成するステップを更に含み、前記ローダ・ディレクトリテーブルあるいは各ローダ・ディレクトリテーブルが受信機/デコーダの特定のバージョンIDに関連し、前記ローダ・ディレクトリテーブルが、
    前記複数のインストリームローダ・モジュールの各々に対してこのモジュールのID及び前記それぞれのTID−拡張を含み、
    複数のソフトウェア・モジュールの各々に対してこのモジュールのID及び前記それぞれのTID−拡張を含むことを特徴とする方法。
  5. 請求項4記載の方法であって、送信システムで、
    所定のテーブルID(「TID」)を有し、かつ受信機/デコーダの複数のバージョンIDの各々に対して、このバージョンIDに関連したそれぞれのTIDを含むハードウェア・ディレクトリMPEGテーブルを生成するステップを更に含むことを特徴とする方法。
  6. 請求項5記載の方法であって、前記バージョンIDが、前記受信機/デコーダのバージョンに対するコード及び前記受信機/デコーダの製造者に対するコードを含むことを特徴とする方法。
  7. 請求項5又は6に記載の方法であって、前記受信機/デコーダで、
    前記所定のTIDを有する前記ハードウェア・ディレクトリテーブルをダウンロードするステップと、
    前記受信機/デコーダの前記バージョンIDを判定するステップと、
    前記ハードウェア・ディレクトリテーブルから、このバージョンIDに関連した前記TIDを得るステップと、
    前記得られたTIDを有する前記ローダ・ディレクトリテーブルをダウンロードするステップと、
    前記ローダ・ディレクトリテーブルの内容から、前記ローダ・ディレクトリテーブルと同じTIDを有するインストリームロ―ダMPEGテーブルの前記TID拡張を判定するステップと、
    前記ダウンロードされたローダ・ディレクトリテーブルから判定された前記TID拡張及び前記ダウンロードされたローダ・ディレクトリテーブルと同じTIDを有する前記インストリームロ―ダ・テーブルをダウンロードするステップとを更に含むことを特徴とする方法。
  8. 請求項4乃至7の何れか一項に記載の方法であって、
    前記送信システムで、
    各送信ハードウェア・ディレクトリテーブルにおいて、それに対するディレクトリバージョンIDを含むステップと、
    前記受信機/デコーダで、
    現在送信されたハードウェア・ディレクトリテーブルの前記ディレクトリバージョンIDが、前記現在送信されたハードウェア・ディレクトリテーブルと同じTIDを有する予めダウンロードされたハードウェア・ディレクトリテーブルの前記ディレクトリバージョンIDよりもより最新であるか否かを決定し、かつ最新でない場合、前記データのダウンロードを打ち切るステップとを更に含むことを特徴とする方法。
  9. 請求項2乃至8の何れか一項に記載の方法であって、送信システムにおいて、
    ソフトウェア・バージョンIDを前記ビットストリームに含めるステップと、
    前記受信機/デコーダで、
    受信ソフトウェアの前記ソフトウェア・バージョンIDが現在記憶されている常駐ソフトウェアの前記ソフトウェア・バージョンIDよりもより最新であるか否かを決定するステップと、
    前記受信ソフトウェアのバージョンが前記常駐ソフトウェアのバージョンよりもより最新である場合、前記受信ソフトウェアを前記ビットストリームからダウンロードするステップとを更に含むことを特徴とする方法。
  10. 請求項1乃至9の何れか一項に記載の方法であって、前記インストリームローダは、前記受信機/デコーダのハードウェアに特有であるコードの形式を有することを特徴とする方法。
  11. 受信機/デコーダであって、
    データを含むビットストリームを受信するための受信機と、
    記憶手段と、
    消去可能な永久メモリに記憶された特定の常駐ソフトウェアと、
    前記受信機/デコーダのハードウェア・プラットフォームと互換であるインストリームローダを前記受信ビットストリームにおいて位置特定するためのブートストラップローダと、
    前記受信機/デコーダの前記ハードウェア・プラットフォームと互換であるインストリームローダを前記ビットストリームから前記記憶手段にダウンロードするためのダウンロード手段とを備え、前記ダウンロードされたインストリームローダは、前記常駐ソフトウェアの全部又は特定の一部を消去可能な永久メモリから消去し、その代わりに、前記ビットストリームからロードされたデータを書き込むことができ、
    前記ビットストリームからロードされたデータは、前記ブートストラップローダの代わりにステップをその後に行うために前記ブートストラップローダを補完することが意図された常駐ローダを含むことを特徴とする受信機/デコーダ。
JP2000515384A 1997-10-03 1998-10-05 データのダウンロード Expired - Lifetime JP4845263B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP97402335A EP0907285A1 (en) 1997-10-03 1997-10-03 Downloading data
EP97402335.0 1997-10-03
PCT/IB1998/001613 WO1999018724A1 (en) 1997-10-03 1998-10-05 Downloading data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009137352A Division JP4971388B2 (ja) 1997-10-03 2009-06-08 データのダウンロード

Publications (2)

Publication Number Publication Date
JP2001519627A JP2001519627A (ja) 2001-10-23
JP4845263B2 true JP4845263B2 (ja) 2011-12-28

Family

ID=8229869

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000515384A Expired - Lifetime JP4845263B2 (ja) 1997-10-03 1998-10-05 データのダウンロード
JP2009137352A Expired - Lifetime JP4971388B2 (ja) 1997-10-03 2009-06-08 データのダウンロード

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2009137352A Expired - Lifetime JP4971388B2 (ja) 1997-10-03 2009-06-08 データのダウンロード

Country Status (19)

Country Link
US (1) US6970960B1 (ja)
EP (2) EP0907285A1 (ja)
JP (2) JP4845263B2 (ja)
KR (1) KR20010030926A (ja)
CN (1) CN1280740A (ja)
AU (1) AU749089B2 (ja)
BR (1) BR9813235A (ja)
CA (1) CA2304144C (ja)
HR (1) HRP20000164A2 (ja)
HU (1) HUP0100358A2 (ja)
ID (1) ID24163A (ja)
IL (2) IL135412A0 (ja)
NO (1) NO331878B1 (ja)
PL (1) PL339580A1 (ja)
RU (1) RU2226042C2 (ja)
TR (1) TR200001280T2 (ja)
UA (1) UA63976C2 (ja)
WO (1) WO1999018724A1 (ja)
ZA (1) ZA988996B (ja)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393585B1 (en) * 1998-12-23 2002-05-21 Scientific-Atlanta, Inc. Method and apparatus for restoring operating systems in a set-top box environment
US7409546B2 (en) * 1999-10-20 2008-08-05 Tivo Inc. Cryptographically signed filesystem
CN1355997A (zh) * 1999-04-21 2002-06-26 通用仪器公司 在有线电视系统通过置顶盒接收的信号中用于定位控制频道和数据传输流的方法和系统
WO2000064181A1 (en) * 1999-04-21 2000-10-26 General Instrument Corporation Automatic initialization of an advanced set-top box in a cable television system by downloading software or firmware over the cable system
US6718374B1 (en) 1999-04-21 2004-04-06 General Instrument Corporation Method and system for identifying and downloading appropriate software or formware specific to a particular model of set-top box in a cable television system
ES2253222T3 (es) * 1999-04-21 2006-06-01 General Instrument Corporation Procedimiento y sistema de actualizaciones de programacion especificas o universales en un conjunto de decodificadores avanzados en un sistema de television por cable.
US7640571B1 (en) * 1999-07-15 2009-12-29 General Instrument Corporation Method and apparatus for preventing disruptions in set-top terminal function due to the download of updated programming or data to the set-top terminal
US6813778B1 (en) * 1999-08-16 2004-11-02 General Instruments Corporation Method and system for downloading and managing the enablement of a list of code objects
AU6775600A (en) * 1999-08-16 2001-03-13 General Instrument Corporation Method and system for automatically purging code objects being updated by download
EP1427214A3 (en) * 1999-09-02 2004-12-22 General Instrument Corporation Method and system of identifying software and firmware objects available for download over a network such as a cable television system
US6904611B1 (en) * 1999-09-03 2005-06-07 General Instrument Corporation Method and system for directing the download of software and firmware objects over a network such as a cable television system
JP2003532951A (ja) * 2000-01-07 2003-11-05 トムソン ライセンシング ソシエテ アノニム コードを更新中の電源障害時にアプリケーションコードをバックアップするための方法および装置
JP2001275092A (ja) * 2000-01-20 2001-10-05 Matsushita Electric Ind Co Ltd デジタル放送の伝送方法、デジタル放送受信機、デジタル放送局システム
US7069578B1 (en) 2000-02-04 2006-06-27 Scientific-Atlanta, Inc. Settop cable television control device and method including bootloader software and code version table for maintaining and updating settop receiver operating system software
JP4766770B2 (ja) * 2000-06-13 2011-09-07 パナソニック株式会社 蓄積型放送サービスシステムおよび受信蓄積装置
GB0016061D0 (en) 2000-06-30 2000-08-23 Koninkl Philips Electronics Nv Efficient recording of object carousels
US6735601B1 (en) 2000-12-29 2004-05-11 Vmware, Inc. System and method for remote file access by computer
FR2822329B1 (fr) * 2001-03-14 2003-06-20 Sagem Dispositif de chargement d'applications dediees a la reception de signaux de television
FR2824646B1 (fr) * 2001-05-09 2003-08-15 Canal Plus Technologies Procede de selection d'une image de logiciel executable
GB2381090B (en) * 2001-10-17 2005-02-02 Bitarts Ltd Software loading
US7136982B2 (en) 2001-11-09 2006-11-14 Danger, Inc. Apparatus and method for allocating memory blocks
EP1452023B1 (en) 2001-12-07 2008-07-16 Matsushita Electric Industrial Co., Ltd. Media contents distribution system and method
US9134989B2 (en) * 2002-01-31 2015-09-15 Qualcomm Incorporated System and method for updating dataset versions resident on a wireless device
US7206862B2 (en) * 2002-04-24 2007-04-17 Microsoft Corporation Method and apparatus for efficiently matching responses to requests previously passed by a network node
CA2486937C (en) * 2002-05-22 2011-09-13 Thomson Licensing S.A. Signing and authentication devices and processes and corresponding products, notably for dvb/mpeg mhp digital streams
KR100484144B1 (ko) * 2002-06-20 2005-04-18 삼성전자주식회사 원격 관리 서버 및 원격 관리 방법
FR2845854B1 (fr) * 2002-10-11 2005-01-14 Thomson Licensing Sa Desactivation a distance de decodeurs d'acces a des donnees numeriques multimedia
US9092286B2 (en) 2002-12-20 2015-07-28 Qualcomm Incorporated System to automatically process components on a device
RU2325782C2 (ru) * 2002-12-30 2008-05-27 Конинклейке Филипс Электроникс Н.В. Способ передачи интерактивного телевидения
US7500092B2 (en) 2003-01-17 2009-03-03 International Business Machines Corporation Hardware abstraction for set-top box operating systems
US7673297B1 (en) * 2003-09-03 2010-03-02 The Directv Group, Inc. Automatic software update detection and flexible installer for set-top boxes
US8626146B2 (en) 2003-10-29 2014-01-07 Qualcomm Incorporated Method, software and apparatus for performing actions on a wireless device using action lists and versioning
KR100574230B1 (ko) * 2003-11-14 2006-04-26 한국전자통신연구원 디지털 데이터 방송의 헤드엔드 또는 가입자 단말에서변경 어플리케이션 데이터 처리 방법
EP1533695B1 (en) * 2003-11-19 2013-08-07 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Updating data in a mobile terminal
WO2005073845A2 (en) * 2004-01-28 2005-08-11 Koninklijke Philips Electronics, N.V. Use loader for signaling the system software update service
US8037456B2 (en) 2004-04-06 2011-10-11 Panasonic Corporation Program execution device
US7425992B2 (en) * 2004-10-29 2008-09-16 Sharp Laboratories Of America, Inc. Method and apparatus for upgrading a television system
KR100630729B1 (ko) * 2005-01-04 2006-10-02 삼성전자주식회사 플래쉬 메모리의 메인 코드 다운로드 방법
KR100719022B1 (ko) * 2005-08-18 2007-05-17 삼성전자주식회사 디지털 방송시스템 및 디지털 방송시스템의소프트웨어 다운로드 방법과, 디지털tv 및 디지털tv 의소프트웨어 다운로드 방법
JP4548307B2 (ja) * 2005-10-31 2010-09-22 ソニー株式会社 分離型処理装置及びそのソフトウエアの版更新方法
JP4932390B2 (ja) * 2006-08-31 2012-05-16 株式会社日立製作所 仮想化システム及び領域割当て制御方法
US20080293395A1 (en) * 2007-05-21 2008-11-27 Motorola, Inc. Using downloadable specifications to render a user interface on a mobile device
EP2163075A2 (en) 2007-06-19 2010-03-17 Qualcomm Incorporated Methods and apparatus for dataset synchronization in a wireless environment
KR20100050098A (ko) * 2008-11-05 2010-05-13 삼성전자주식회사 영상처리장치 및 그 제어 방법
WO2013040241A1 (en) 2011-09-13 2013-03-21 Privatecore, Inc. Software cryptoprocessor
US9477603B2 (en) 2013-09-05 2016-10-25 Facebook, Inc. System and method for partitioning of memory units into non-conflicting sets
US9983894B2 (en) 2013-09-25 2018-05-29 Facebook, Inc. Method and system for providing secure system execution on hardware supporting secure application execution
US10049048B1 (en) 2013-10-01 2018-08-14 Facebook, Inc. Method and system for using processor enclaves and cache partitioning to assist a software cryptoprocessor
US9747450B2 (en) 2014-02-10 2017-08-29 Facebook, Inc. Attestation using a combined measurement and its constituent measurements
US9734092B2 (en) 2014-03-19 2017-08-15 Facebook, Inc. Secure support for I/O in software cryptoprocessor
GB2546239A (en) * 2015-11-23 2017-07-19 Acadiant Ltd A Method and system for providing and executing web applications
US9588758B1 (en) * 2015-12-18 2017-03-07 International Business Machines Corporation Identifying user managed software modules
CN107194237B (zh) * 2017-04-05 2020-04-03 百富计算机技术(深圳)有限公司 应用程序安全认证的方法、装置、计算机设备及存储介质
KR102830966B1 (ko) 2019-12-16 2025-07-07 주식회사 엘엑스세미콘 펌웨어 라이트 방법

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4430704A (en) * 1980-01-21 1984-02-07 The United States Of America As Represented By The Secretary Of The Navy Programmable bootstrap loading system
US4712141A (en) 1985-03-30 1987-12-08 Dainippon Screen Mfg. Co., Ltd. Method and apparatus for interpolating image signals
US5146568A (en) * 1988-09-06 1992-09-08 Digital Equipment Corporation Remote bootstrapping a node over communication link by initially requesting remote storage access program which emulates local disk to load other programs
US5367571A (en) * 1992-12-02 1994-11-22 Scientific-Atlanta, Inc. Subscriber terminal with plug in expansion card
US5608732A (en) * 1993-09-01 1997-03-04 Zenith Electronics Corporation Television distribution system having virtual memory downloading
RU2033704C1 (ru) * 1994-02-24 1995-04-20 Акционерное общество закрытого типа "ТВ-Информ" Способ передачи и приема сигнала дополнительной информации совместно с телевизионным сигналом изображения и варианты систем для его осуществления
US5539920A (en) * 1994-04-28 1996-07-23 Thomson Consumer Electronics, Inc. Method and apparatus for processing an audio video interactive signal
US5563648A (en) * 1994-04-28 1996-10-08 Thomson Consumer Electronics, Inc. Method for controlling execution of an audio video interactive program
US5819034A (en) * 1994-04-28 1998-10-06 Thomson Consumer Electronics, Inc. Apparatus for transmitting and receiving executable applications as for a multimedia system
DE69535646T2 (de) * 1994-04-28 2008-11-06 OpenTV, Inc., San Francisco Vorrichtung und Verfahren zum Formulieren eines interaktiven Signales
US5666293A (en) * 1994-05-27 1997-09-09 Bell Atlantic Network Services, Inc. Downloading operating system software through a broadcast channel
US5581706A (en) * 1994-06-30 1996-12-03 Rca Thomson Licensing Corporation Method forming an audio/video interactive data signal
JPH08305561A (ja) * 1995-04-28 1996-11-22 Nec Corp ファームウエアダウンロード方法とその装置
RU2090011C1 (ru) * 1995-06-28 1997-09-10 Закрытое акционерное общество "Техно-ТМ" Устройство кодирования-декодирования видеосигнала изображений
US5625693A (en) * 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
US5689825A (en) * 1995-07-28 1997-11-18 Motorola, Inc. Method and apparatus for downloading updated software to portable wireless communication units
US6067500A (en) * 1995-08-14 2000-05-23 Aisin Aw Co., Ltd. Navigation system
US5771064A (en) * 1995-11-29 1998-06-23 Scientific-Atlanta, Inc. Home communications terminal having an applications module
WO1997030375A1 (en) * 1996-02-13 1997-08-21 Obsidian Imaging, Inc. Method and apparatus for configuring a camera through external means
JPH11504457A (ja) * 1996-02-16 1999-04-20 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ マルチメディア アプリケーション タイトルを実行するプラットフオーム サブシステムおよびそれを記憶する方法
US6112025A (en) * 1996-03-25 2000-08-29 Sun Microsystems, Inc. System and method for dynamic program linking
GB9623298D0 (en) * 1996-11-08 1997-01-08 Int Computers Ltd Updating mechanism for software
US5787017A (en) * 1997-04-18 1998-07-28 Lmi Corporation Method and apparatus for acquiring data from a measurement transducer
US5961586A (en) * 1997-05-14 1999-10-05 Citrix Systems, Inc. System and method for remotely executing an interpretive language application
US5987135A (en) * 1997-07-25 1999-11-16 Prc Inc. System and method for controlling and monitoring remote distributed processing system

Also Published As

Publication number Publication date
EP1020078A1 (en) 2000-07-19
CN1280740A (zh) 2001-01-17
JP4971388B2 (ja) 2012-07-11
IL135412A0 (en) 2001-05-20
CA2304144A1 (en) 1999-04-15
JP2001519627A (ja) 2001-10-23
NO331878B1 (no) 2012-04-23
WO1999018724A1 (en) 1999-04-15
HUP0100358A2 (hu) 2001-06-28
AU9278398A (en) 1999-04-27
NO20001651L (no) 2000-06-05
US6970960B1 (en) 2005-11-29
JP2009238238A (ja) 2009-10-15
HRP20000164A2 (en) 2001-12-31
EP0907285A1 (en) 1999-04-07
IL135412A (en) 2006-08-01
ZA988996B (en) 1999-05-24
UA63976C2 (uk) 2004-02-16
TR200001280T2 (tr) 2001-01-22
CA2304144C (en) 2010-09-28
ID24163A (id) 2000-07-13
RU2226042C2 (ru) 2004-03-20
NO20001651D0 (no) 2000-03-30
PL339580A1 (en) 2000-12-18
BR9813235A (pt) 2000-08-22
AU749089B2 (en) 2002-06-20
KR20010030926A (ko) 2001-04-16

Similar Documents

Publication Publication Date Title
JP4845263B2 (ja) データのダウンロード
JP4062367B2 (ja) Mpeg受信機/デコーダ及びデータをmpeg受信機/デコーダにダウンロードする方法
US7673297B1 (en) Automatic software update detection and flexible installer for set-top boxes
CA2284018C (en) Extracting data sections from a transmitted data stream
US6832323B1 (en) Object and feature authorization for digital communication terminals
EP1224799B1 (en) Object and feature authorization for digital communication terminals
JP2006050625A (ja) 端末における動作強制
MXPA00003214A (en) Downloading data
AU776683B2 (en) Method of downloading of data to an MPEG receiver/decoder and MPEG transmission system for implementing the same
CZ20001197A3 (cs) Zavádění dat
HK1025450B (en) Method of downloading of data to an mpeg receiver/decoder
CZ331399A3 (cs) Způsob zavádění dat do MPEG přijímače/dekodéru a MPEG vysílací systém pro jeho realizaci
CZ331499A3 (cs) Organizace počítačové paměti
MXPA99008549A (en) Method of downloading of data to an mpeg receiver/decoder and mpeg transmission system for implementing the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051003

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070313

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071030

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080121

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080603

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080827

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081203

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090608

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090617

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090918

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110111

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110114

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110525

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110804

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

EXPY Cancellation because of completion of term