(57)【特許請求の範囲】
【請求項１】
メッセージを受信する少なくとも１個のポートと、
少なくとも１個のアプリケーションモジュールと、
バッファまたはＦＩＦＯを規定する命令により生成されるバッファセクションとＦＩＦＯセクションとを含む記憶装置と、
ポートに現われるメッセージに応答し、該メッセージを前記バッファセクションに書き込み、該メッセージの書き込みが完了した後、アプリケーションモジュールからの制御信号に応答して、該メッセージを前記バッファセクションからアプリケーションモジュールへと読み出すように作動可能であるバッファ制御手段と、
前記又は夫々のポート、前記記憶装置、及び前記又は夫々のアプリケーションモジュールに結合され、ポートに現われるメッセージに応答して、該メッセージを前記ＦＩＦＯセクションに書き込み、アプリケーションモジュールからの制御及び該メッセージの書き込み完了を待つことなく、該メッセージを前記ＦＩＦＯセクションからアプリケーションモジュール又は別のポートへと読み出すように作動可能なＦＩＦＯ制御手段と、
を有し、
前記ポートは、ビデオシーケンスのソースデバイスに結合された第１のポートと、ビデオデバイスに結合された別のポートを含み、
前記第１のポートにて受信されたビデオシーケンスは、前記ＦＩＦＯ制御手段の制御の下で前記ＦＩＦＯセクションを介して前記ビデオデバイスからの制御を必要とせずに、前記ビデオデバイスに結合された別のポートを経て前記ビデオデバイスへ転送される、
受信器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、受信器／復号器部に関し、特にそれらの中のメモリ管理とそれらの中のデータ転送に関する。本発明は物理装置に対する応用プログラムの引用仕様において特別のアプリケーションを見出すものである。
【０００２】
【従来の技術】
ここで使用される用語「受信器／復号器部」は、何か他の手段によって放送や送信が可能である、例えばテレビ及び／もしくは無線信号のような、符号化又は非符号化信号のいずれかを受信する受信器を内包し得るものである。この用語は亦受信された信号を復号化する復号器を内包し得る。このような受信器／復号器部の実施例は、例えば「セット・トップ  ボックス」において受信信号を復号化するための受信器と一体化した復号器を含むことができる。このような復号器は物理的に分離した受信器と結合して機能し、或はこのような復号器はウエブブラウザ、ビデオレコーダ、或はテレビジョンのような付加的機能を含むものである。
【０００３】
放送用ディジタルテレビシステムにおいて、受信信号は受信器／復号器部、それからテレビセットに送られる。本文に使用されるように、用語「ディジタルテレビシステム」は例えば或る衛星システム、地球システム、ケーブルシステムおよびその他のシステムを含んでいる。受信器／復号器部は圧縮されたＭＰＥＧ型信号を復号してテレビセット用のテレビ信号に変える。それは受信器／復号器部のインタフェースを介して遠隔操作ハンドセットにより制御される。この受信器／復号器部は入力ビット流れを処理するのに使用され、この受信器／復号器部をして種々の制御及びその他の機能を実行させる種々のアプリケーションモジュールを含んでいる。
【０００４】
このような受信器／復号器部は種々のデバイスをそれに結合させることが可能で、例えば利用者用カードリーダの場合、ユーザがホームバンキング操作を実行するのを許可するために、ハンドヘルド受信器操作棒（バンド）、ビデオ表示装置およびバンクカードと共に用いる第２のカードリーダのどのサービスを使用するのをユーザは認可するのかを確認するために利用権カードを通過させる。それは又種々のポートをそれに結合させることが可能で、例えばインターネットアクセス用及びホームバンキング・トランザクション実行用のモデム（変復調装置）の如きものである。
【０００５】
受信器／復号器部に対し種々の異なるポート、例えばモデム、直列チャンネル、並列チャンネル、ＭＰＥＧ（圧縮及び符号化ビデオ信号）チャンネル、スワイプ・カードリーダ等でインタフェースする能力を与えることが提案されて来た。該受信器／復号器部はランタイム（実行時）エンジンを含む仮想機械を備えている。仮想機械はデバイスマネージャに結合され、之はデバイスとデバイス・ドライバを介して種々のチャンネルの物理的インタフェースに順次結合しているデバイスマネージャに結合される。
【０００６】
本発明の少なくとも１個以上のポートやデバイスに結合される１個以上のアプリケーションモジュールを有する受信器／復号器部に特に関係し、１個以上のポートやデバイスはそれを通って情報がアプリケーション・モジュールへ送られ、及びそれから送られ得るものである。
【０００７】
一般に種々のポートは相異なる特性を有し、例えば多くのＭｂｐｓ（ＭＰＥＧビットストリーム用の）に対する携帯用受信器ワンド（ｗａｎｄ）用のデータ速度（少ないｂｐｓ（ｂｉｔｓ  ｐｅｒ  ｓｅｃｏｎｄ）から）の特性を有する。したがってアプリケーションモジュールとポートとの間に実際上インタフェースを形成するデバイス管理モジュールを設置するのが普通である。これによりアプリケーションモジュールは簡略化される。
【０００８】
アプリケーションモジュールが情報を送りたい時に、受信器／復号器部の条件に依存して伝送速度と他のパラメータを制御することが屡々可能となる。しかしながら情報を受信するために、伝送速度は屡々外部条件により決定される。情報の損失を避けるためには、したがって受信アプリケーションモジュールが入力情報を受け入れる準備完了まで、入力情報はバッファ内に格納されるように、デバイス管理モジュールは正規にはバッファ用装置を備えることになる。
【０００９】
このデバイス管理モジュールは種々のバッファの場所の規定をしたり指定したりするように都合よく設計することが可能で、したがってアプリケーションモジュール、デバイス管理モジュールおよびポート間の柔軟性のある通信配置を許容できる。
【００１０】
受信器／復号器部におけるバッファリングすることの基本的原理は、メモリにおけるメモリセクションがバッファとして指定されることである。ポートからの入力データは該バッファに送られ、アプリケーションモジュールはバッファからの情報を読取る。状況に応じてバッファ寸法は、大部分の又はすべての入力メッセージを収容するのに十分大きいように選択可能であり、又バッファはサイクリックに操作可能であるのは次の２つの点があるからであり、一方では新鮮な入力データがバッファに書き込まれ、他方では格納されたデータはバッファから読取られることである。デバイス間の独立した通信は可能でなく、そのシステムは何等かの点で対応不可能となり得るが、これはデータがそのバッファから別のポートに対し読取られる前に、バッファは一方のポートによって充満にされる必要があるからである。
【００１１】
【発明の開示】
本発明の主要な目的は、上記形式のシステムにおいて改良されたメッセージ処理装置を提供することである。
したがって本発明は：
メッセージを受信する少なくとも１個のポート；
ＦＩＦＯ（先着順サービス）セクションを備えたメモリ；
少なくとも１個のアプリケーションモジュール；および
ポートに現われるメッセージに応答して、メッセージをメモリのＦＩＦＯセクションに書き込み、メッセージをメモリのＦＩＦＯセクションからアプリケーションモジュール又は別のポートへと読み出すように作動可能な、上記又は夫々のポート、上記メモリ及び上記又は夫々のアプリケーションモジュールに結合されたＦＩＦＯ制御手段；
とを具備する受信器／復号器部を与える。
【００１２】
これは、アプリケーションモジュールの動作との干渉を最小にして、新来のメッセージをアプリケーションモジュールに効率的に送ることを可能にする。先のバッファリングシステムとは異なり、データ転送はＦＩＦＯ制御手段又はＦＩＦＯコントローラの制御を受けるもので、アプリケーション制御下にあるものではない。
【００１３】
ＦＩＦＯ制御手段は、メッセージの受信が完了する前に、メモリのＦＩＦＯセクションから上記アプリケーション又は上記別のポートへのメッセージの読み出しを開始するように構成されることが好ましい。斯くして、一つのポート又はデバイスから別のポート又はデバイスまでのデータの連続的な流れは維持可能である。例えば、ＭＰＥＧソースデバイスから受信したデータは、アプリケーションからの何等かの入力なしに、直接ビデオデバイスに流れ入ることが可能である。
【００１４】
ＦＩＦＯ制御手段はＦＩＦＯセクションからメッセージを湧き出るように配置され得る。この制御手段はＦＩＦＯセクションのオーバフロー（あふれ）の場合に維持されるべき情報の流れの処理を実施し得る。
【００１５】
ＦＩＦＯ制御手段は占有検知器手段、即ちＦＩＦＯの占有の状態を検知するための占有検知器を備えるのが好ましい。占有検知器手段はＦＩＦＯのオーバフローとアンダフローを検知し、更に該ＦＩＦＯの切離したオーバフローとアンダフローの少なくとも１つのしきい値を検出し得る。これはＦＩＦＯ制御器をして適切な制御メッセージをＦＩＦＯセクションが受信するメッセージのソースに送信したり、および／又はＦＩＦＯセクションが受信するメッセージの宛て先に送信することを実現可能とする。
【００１６】
上記ＦＩＦＯセクションは複数のＦＩＦＯバッファを具備し得るし、上記ＦＩＦＯ制御手段は夫々の複数のＦＩＦＯレジスタ制御手段即ちＦＩＦＯレジスタ・コントローラを具備し得る。
【００１７】
上記メモリは更にバッファセクションを具備し得る。上記受信器／復号器部はバッファ制御手段、即ちバッファコントローラを更に具備し、このバッファコントローラは、ポートに現われるメッセージに応答してメッセージをメモリのバッファセクションに書き込み、アプリケーションモジュールからの制御信号に応答してメッセージをバッファからアプリケーションモジュールへと読み出すように作動する。これにより例えば、受信したメッセージがメッセージの性質に依存してＦＩＦＯセクション又はバッファセクションのいずれに置かれるべきかを決定するようにアプリケーションを実行し得る。
【００１８】
バッファセクションはバッファ制御手段の夫々のバッファレジスタにより規定される２個のバッファ領域を具備し得る。これによりバッファコントローラをして２個のバッファ領域間のメッセージを相互にスイッチすることを可能にする。
【００１９】
入力しているビットストリームが現在選択されたバッファ領域に向けられ、それから夫々のバッファ領域が順番に一杯になる時に２つのバッファ領域間で切換えられるビット流れモードにおいて、バッファ制御手段は操作可能となり得る。入力しているメッセージの長さが、現在選択されたバッファ領域において自由空間と比較され、かつその自由空間がメッセージの長さより小であれば、他のバッファ領域が選択されるデータグラムモードにおいて、上記バッファ制御手段は更に動作可能となり得る。
【００２０】
受信器／復号器部は、ＦＩＦＯセクションから送られ、又ビデオビットストリームで送られるビデオチップユニットを供給するビデオデバイス・アプリケーションユニットを更に具備することが出来る。
本発明は又上記したように受信器／復号器部と、該受信器／復号器部にメッセージを送信する手段とを具備する放送システムに拡張される。
【００２１】
上記受信器／復号器部の種々の機能はハードウエア、例えば、専用集積回路において実施可能である。これは向上した動作速度を与え得る。しかしながら、機能の少なくともあるものはソフトウエアにおいて実施されるのが好ましく、上記アプリケーションを実行する処理手段により実行されるのが好ましい。これはより大きな柔軟性を許容するもので、構成要素が少なくてすみ、又受信器／復号器部をして更に容易に更新させ得る。
【００２２】
【発明を実施するための最良の形態】
図１を参照すれば、受信器／復号器部２０２０或はディジタル対話型テレビシステムにおいて使用されるセット・トップ・ボックスが概略的に図示されている。適切なディジタル対話型テレビシステムの詳細は我々の同時係属出願ＰＣＴ／ＥＰ９７／０２１０６−０２１１７において見出され得るが、その開示は引用例により具体化されている。引例の容易さのために、上記明細書においてより詳細に説明された部分は一般にそれらの明細書で使用された参照番号により表示される。
【００２３】
上記明細書においてより詳細に説明されたように、図１と２を参照して、受信器／復号器部２０２０は若干のポートを備える。特にＭＰＥＧの信号の流れ用チューナ４０２８、直列インタフェース４０３０、並列インタフェース４０３２、及び２個のカードリーダ４０３６であって、一つは上記システムの一部を形成するスマートカード用であり、もう一つはバンクカード（返済とかホームバンキング用等に使用される）用である。受信器／復号器部は亦ユーザがテレビ信号（プログラム）発生器への復帰する優先権等を示し得るようにテレビ信号発生器へモデムバックするチャネル４００２のインターフェース４０３４を備える。受信器／復号器部は亦、ユーザがテレビ信号（プログラム）発生器に戻す優先権を指示し得るように、テレビ信号発生器にモデムバックされるチャネル４００２のインタフェース４０３４を具備している。受信器／復号器部は亦ランタイム・エンジン４００８、デバイスマネージャ４０６８及び１個以上のアプリケーション４０５６を実行する複数のデバイス４０６２とデバイスドライバ４０６０とを具備している。
【００２４】
この明細書において、アプリケーションとは上記受信器／復号器部２０２０の高レベル機能を好適に制御するためのコンピュータコードの一つのことである。例えばエンドユーザが遠隔制御器の焦点をテレビセット２０２２のスクリーン上で見たボタンオブジェクト上に位置し、検証キーを押すと、このボタンに接続する命令シーケンスは実行される。
【００２５】
対話型アプリケーションはメニューを提出し、エンドユーザの要求で命令を実行し、アプリケーションの目的に関係するデータを与える。アプリケーションは常駐アプリケーション、即ち上記受信器／復号器部２０２０のＲＯＭ（又はフラッシュ又は他の不揮発性メモリ）に格納されたものであるか、或は上記受信器／復号器部２０２０のＲＡＭ又はフラッシュメモリにダウンロードされた又は放送されたものとすることが出来る。
【００２６】
アプリケーションは受信器／復号器部２０２０のメモリ位置に格納され、リソースファイルとして表現される。リソールファイルは上記特許明細書に詳細に述べられているように、図形化オブジェクト、記載ユニットファイル、可変ブロックユニットファイル、命令シーケンスファイル、アプリケーションファイル及びデータファイルなどを含んでいる。
【００２７】
上記受信器／復号器部はＲＡＭ容量、フラッシュ容量及びＲＯＭ容量に分割されたメモリを含んでいるが、然しこの物理的構造は論理的構造とは異なっている。上記メモリは更に種々のインタフェースに接続したメモリ容量に分割可能である。一つの見解からすれば、メモリはハードウエアの一部分と考えられる。他の見解からすれば、メモリはハードウエアから離れて示されるシステムの全体を支持又は含有するものと考えることが出来る。
【００２８】
上記受信器／復号器部は仮想マシン４００７の一部を形成する実行時エンジン４００８上に中心を置かれたものとみなし得る。之は一方では（「高レベル」側）アプリケーションに結合し、又他方では（「低レベル」側）以下に論ずる種々の中間論理ユニットを介して、受信器／復号器ハードウエア４０６１に結合されている。受信器／復号器ハードウエアは上記のように種々のポートを含むものと見なし得る（ハンドセット２０２６用のインタフェース２０３０、ＭＰＥＧストリームインタフェース４０２８、直列インタフェース４０３０、並列インタフェース４０３２、カードリーダのインタフェース４０３６、およびモデムバックされたチャネル４００２のインタフェース４０３４）。
【００２９】
図２を特別に参照すれば、種々のアプリケーション４０５６は、仮想マシン４００７に結合される。より普通に使用されるアプリケーションのあるものは、４０５７に指示されるように、上記システムに多かれ少なかれ永久に常駐することが可能であり、一方他のものは、例えばＭＰＥＧデータストリームから、或は必要に応じて他のポートから、上記システムにダウンロードされることになる。
【００３０】
仮想マシン４００７は、実行時エンジン４００８に加えて、ツールボックス４０５８を含む若干の常駐ライブラリ関数４００６を含んでいる。上記ライブラリはエンジン４００８が使用するＣ言語の種々の関数を含んでいる。之等の関数はデータ構造の圧縮、拡張操作或は比較、線引き等のようなデータ操作を含んでいる。ライブラリ４００６は亦ハードウエアとソフトウエアバージョン数と利用可能なＲＡＭ空間のような受信器／復号器部２０２０のファームウエアについての情報と、新デバイス４０６２をダウンロードする時に使用される関数を含んでいる。関数は、フラッシュメモリやラムメモリに格納されて、上記ライブラリにダウンロードされ得る。
【００３１】
実行時エンジン４００８はデバイスドライバ４０６０に結合される１組のデバイス４０６２に結合されたデバイスマネージャ４０６８に結合され、上記デバイスドライバ４０６０は順次ポート又はインタフェースに結合されている。広義の意味で、デバイスドライバは、２つの異なったデバイスドライバが共通の物理ポートに結合され得るように、論理的インタフェースを規定するものと見なし得る。デバイスは正式には１つ以上のデバイスドライバに結合される。もしデバイスが単一のデバイスドライバに結合されるならば、分離したデバイスドライバの必要を予め除くように、上記デバイスは普通には通信に必要な全機能性を合体化するように設計されるであろう。あるデバイスはデバイス相互間で通信可能である。
【００３２】
以下に説明する如く、デバイス４０６２から実行時エンジンまでの通信には３つの形式がある。即ち、変化するものによるもの、バッファによるもの及び１組の事象キーに送られる事象によるものの３つである。
【００３３】
受信器／復号器部２０２０の各機能はデバイス４０６２として表現される。デバイスは局部的なものや遠隔のものがある。局部デバイス４０６４は、スマートカード、スカート（ＳＣＡＲＴ）接続器信号、モデム、直列及び並列インタフェース、ＭＰＥＧビデオ及びオーディオプレーヤとＭＰＥＧセクション及びテーブル抽出器などを備えている。遠隔位置で実行される遠隔デバイス４０６６が局部デバイスと異なっている点は次の点である：即ちポートと方法とは、受信器／復号器部の製造業者により与えられ設計されるデバイスとデバイス・ドライバによるよりはむしろシステム権限或は設計者により規定されねばならない点である。
【００３４】
実行時エンジン４００８はマイクロプロセッサと共通なアプリケーションプログラム用インタフェースとの制御の下に動作する。アプリケーションの見地からすべての受信器／復号器部２０２０は同等であるように上記マイクロプロセッサと共通アプリケーションプログラム用インタフェースとはすべての受信器／復号器部２０２０に装着される。
【００３５】
上記エンジン４００８は上記受信器／復号器部上のアプリケーション４０５６を実行する。上記エンジンは応答型アプリケーション４０５６を実行し、上記受信器／復号器部２０２０の外側から事象を受信し、図形とテキストを表示し、サービス用のデバイスを呼出し、特定の計算用のエンジン４００８に接続されたライブラリ４００６の関数を使用する。
【００３６】
実行時エンジン４００８は夫々の受信器／復号器部２０２０に設置された実施可能なコードであって、アプリケーションを解釈し実行する解釈実行系を含む。上記エンジン４００８は（ＭＳ−ＤＯＳのよう）単一タスク・オペレーティングを含むいずれかのオペレーティングシステムに適用可能である。上記エンジン４００８は（種々のアクションを実施するためにキー押引のような種々の事象をとるプロセス・シーケンサユニットに基づいており、異なるハードウエアインタフェースから事象キーを管理するためにそれ自身のスケジューラを含んでいる。該エンジンは亦図形とテキストの表示を処理する。プロセスシーケンサユニットは一組のアクション群を具備している。夫々の事象はプロセスシーケンサユニットをして、事象の性格に従ってその現在のアクション群から別のアクション群へ移動せしめ、かつ新しいアクショングループのアクションを実行せしめる。
【００３７】
上記エンジン４００８はアプリケーション４０５６を受信器／復号器部メモリ２０２８にロードしたりダウンロードするためのコードローダを備えている。最適の使用を確保するために、必要なコードのみがＲＡＭメモリ又はフラッシュメモリにロードされる。ダウンロードされたデータは、アプリケーション４０５６の何等かの修正又は何等かの無認可のアプリケーションの実行を阻止するために認証機構により検証される。上記エンジン４００８は更にデイコンプレッサを具備する。アプリケーションコード（中間コードの一形式）が空間節約のためおよびＭＰＥＧストリームから急速ダウンロードするため、もしくは内蔵受信器／復号器部モードを介して圧縮された時に、該コードはそれをＲＡＭにロードする前に解凍されねばならない。該エンジン４００８は又種々の可変値を更新して状態変化を決定するためにアプリケーションコードを解釈するためのインタプリタとエラーチェッカを具備している。
【００３８】
或るデバイス４０６２のサービスを使用する前に、プログラム（アプリケーション命令シーケンスのような）が「クライエント」、換言すれば、デバイス４０６２への論理的アクセス方法或はデバイス・マネージャ４０６８として宣言されねばならない。マネージャはクライエントにクライエント番号を与えるが、これはデバイスへのすべてのアクセスにおいて参照されるものである。デバイス４０６２は若干のクライエントを有し得るが、夫々のデバイス４０６２に対するクライエントの数はデバイス４０６２の形式に特定して依存している。クライエントはデバイス４０６２に手続き「デバイス：チャンネル開放」により導入される。この手続きはクライエント番号をクライエントに指定する。クライエントは上記デバイスマネージャ４０６８のクライエントリストから手続き「デバイス：チャンネル閉止」により取出される。
【００３９】
上記デバイスマネージャ４０６８により与えられるデバイス４０６２へのアクセスは同期又は非同期とすることができる。同期アクセスに対して、手続き「デバイス：呼出」が使用される。これは即時利用可能なデータをアクセスする手段或は所望の応答待ちを含まない機能性である。非同期アクセスに対しては、手続き「デバイス：入出力」が使用される。これは応答待ちを含むデータアクセス手段、例えば多重化を見出すチューナ周波数を走査する又はＭＰＥＧストリームから表を戻す手段である。要求された結果が利用可能である時に、事象はその到来を信号化するためにエンジンの行列に入れられる。別の手続き「デバイス：事象」は期待していない事象を管理する手段を与える。
【００４０】
上記したように実行時エンジンの主ループは多様なプロセスシーケンサユニットに結合され、かつ主ループが適切な事象に遭遇する時に、制御は一時的にプロセス・シーケンサユニットの一つに転送される。
したがって、上記受信器／復号器部がアプリケーションを種々のデバイスと通信することを可能にする場合に相当の柔軟性を有するプラットフォームを上記受信器／復号器部が与えることが知られ得る。
【００４１】
現在の目的に対しては、デバイスとポートとは対等である。アプリケーションモジュールは情報を送信及び受信することが必要である。又通信はデバイス（之は一般に局部的で、バッファ管理システムに密接に結合している）に対しても、或はポート（之は一般に遠隔でおよび／又はシステムに独立している情報ソースに一般に結合している）に対して行われる。用語「ポート」はここからはデバイスを含むものとして用いられる。
【００４２】
今度は図３を参照すれば、受信器／復号器部は、データバス２０と制御バス２１を介してデバイス管理モジュール１１に結合された複数のポートユニット１０，１０’及び１０”を具備し、デバイス管理モジュール１１は順番にデータバス２２と制御バス２３を介して複数のアプリケーションモジュール１２，１２’，１２”に結合される。上記デバイス管理モジュール１１は亦データバス２４、アドレスバス２５及び制御バス２６を介してメモリ１３に結合される。
【００４３】
複数のポートと複数のアプリケーションの間を通過するメッセージはバッファ又はＦＩＦＯｓ（先入れ先出しメモリユニット）のいずれかを通過可能である。メモリ１３は夫々バッファとＦＩＦＯｓに対し２つのメモリ領域１３−Ｂと１３−Ｆを含み、デバイス管理モジュール１１は、夫々バッファ１３−ＢとＦＩＦＯｓ  １３−Ｆを通ってメッセージの通過を制御するための２個のコントローラ１４−Ｂと１４−Ｆを含んでいる。
【００４４】
バッファとＦＩＦＯを始動して、基本的には同じ方法で処理される。バッファ又はＦＩＦＯはその特性（メモリ位置、寸法、等）を規定する命令により始動され、同様に消去され得る。一度びバッファやＦＩＦＯが始動されると、上記の手続きの使用によりそれは次にポートとアプリケーションにより使用可能である。
【００４５】
最初、バッファレジスタを通過するメッセージの処理を考えて、バッファメモリ１３−Ｂは２個のバッファ領域３０と３１（図３Ａ）を含むが、之はデバイス管理モジュール１１のバッファコントローラ１４−Ｂにおけるバッファアドレスコントロールユニット３４の夫々のバッファレジスタユニット３２と３３により規定されるものである。デバイス管理モジュールのバッファコントローラは又バッファアドレスコントロールユニット３４を制御するコントロールユニット３５を含む。データバス３６はデバイス管理モジュール１１においてすべてのデータバスを一緒に結合させる。
【００４６】
図４Ａを参照すれば、バッファレジスタユニットの各々は多数のアドレスレジスタ３２−１，３２−２，…３２−ｎを含んでいる。これらのレジスタは、事前設定されメモリ１３における夫々のバッファ領域のトップとボトムを規定するトップレジスタ３２−１とボトムレジスタ３２−ｎ及び入力データが書かれる予定のバッファ領域における点を指示するポインタレジスタ３２’とを含んである。（したがってポインタレジスタ３２’は、バッファ領域において、データを含む部分と空である部分の間で境界を指示する。）
【００４７】
種々のポートユニット１０，１０'，１０"は、バッファレジスタ１３−Ｂを通過されるべき、種々のアプリケーションモジュール１２，１２'，１２"へのメッセージを起動し得る。之等のメッセージは２つの基本的形式、ビットストリームとデータグラムとを有し得る。之等２型式のメッセージ間の相異は、ビットストリームは規定されない長さのメッセージであり、一方データグラムは予め設定された長さのメッセージである。メッセージの形式はメッセージのソース（メッセージに後続する制御信号により指示されるように）により、或はメッセージヘッダー（データバス３６から制御ユニット３５により監視されるように）によって決定され得る。
【００４８】
若干のポートユニットは２つの形式のメッセージを開始することが可能である。その他のポートユニットは１つ又は他の形式を開始することが可能である。ポート１０がメッセージを開始したい時に、デバイス管理モジュール１１はそのポート１０と適切なアプリケーションモジュール１２を通常の方法で選択する。
【００４９】
制御ユニット３５は、入力メッセージがビットストリームかデータグラムであるかに従って２種の操作モードを有する。
制御ユニット３５は、２進セレクタ要素或はフリップフロップ３７を備え、このフリップフロップは２つのバッファ領域３０，３１のどちらが使用されるべきかを選択するものである。ビットストリームに対して、制御ユニット３５は、バッファ領域３０が充満されるまで、入力ビットストリームを現在選択されたバッファ領域３０に指向する。その点において、制御ユニット３５はセレクタ要素３７の状態を変更して他のバッファ領域３１を選択し、バッファ領域が充満されるまでビットストリームをバッファ領域に指向する。制御ユニット３５はそれから再び第１のバッファ領域３０を選択し、ビットストリームが終了するまで、２個のバッファ領域間で切換又はトグル切換を継続する。
【００５０】
上記されたように、制御ユニット３５はバッファ領域３０，３１の１つを選択し、入力するビットストリームをそのバッファ領域３０等に指向し、然し勿論その説明は簡略化された用語で実現されよう。より詳細には、制御ユニット３５は実際２個のバッファ・アドレスレジスタユニット３２，３３の１つを選択し、選択されたユニット３２のポインタレジスタ３２’を使用して入力データが書込まれるバッファ領域内のアドレスを選択し、且つ２個のバッファアドレスレジスタユニット３２，３３の間で適切なものとしてトグル切換を行う。
【００５１】
制御ユニット３５は亦アプリケーションモジュール１２にビットストリームが受信されていることを報告する。アプリケーションモジュール１２は、２個のバッファ領域３０，３１から交互にメッセージを部分毎にバッファ領域がオーバフローしないように読取ることが期待されている。（即ちビットストリームの一部分が古いデータを書きすぎているので、バッファ領域内のデータはフレッシュデータの来る前に、既にアプリケーションモジュールにより読取られるように）アプリケーションモジュール１２はこの読取りに対し一つ以上のアドレスレジスタを維持可能であり、或は付加的アドレスレジスタが、その目的のためにバッファアドレスレジスタユニット３２，３３の夫々に設置され得る。格納されたメッセージの読取りが完全であれば、バッファアドレスレジスタユニット３２，３３のポインタアドレスレジスタはリセットされる。
【００５２】
データグラムに対しては、制御ユニット３５はデータグラムの長さを決定し、どれだけの空間がその内部で利用可能かどうかを決定するために現在選択されたバッファアドレスレジスタユニットに質問する。この自由空間の値はトップアドレスレジスタとポインタアドレスレジスタの値の間の差を決定することにより得られる。制御ユニットはそれらの自由空間の値をデータグラムの長さと比較し、データグラムの長さが自由空間値より大であれば、制御ユニットはセレクタ要素３７の状態を変化して、他のバッファ領域を選択する。
【００５３】
ビットストリームモードにおいて、入力するメッセージがバッファ領域３０，３１をオーバフローするならば、或はデータグラムモードにおいて、バッファ領域が入力するメッセージを受け入れるための十分な自由空間を持たなければ、該システムは、メッセージ受信が禁じられている或は失敗させられる障害モードに入る。それから適切な回復措置を取ることが可能で、例えばそれが可能であるならばメッセージの再伝送を要求すること、或はメッセージ受信が始まる前にあった状態に上記システムをリセットすることである。
【００５４】
ビットストリームに対しては、入力メッセージは、どのバッファ領域が現在選択されているかに向けられ、かつ入力メッセージがその領域をオーバフローするならば、入力メッセージは自動的に他のバッファ領域に切換えられ、必要ならば２つのバッファ領域間の切換は繰返される。然しながら、データグラムに対しては、完全な入力メッセージは単一のバッファ領域に向けられる。
【００５５】
これは任意の公知の長さの入力メッセージをして、バッファレジスタの比較的簡単な構造を用いて、受信を成功させることを可能にする。
上記バッファは又アプリケーション間のメッセージの伝送に対してより一般的に使用が可能である。
【００５６】
さて今度は、ＦＩＦＯを通過するメッセージの処理に戻ると、バッファメモリ１３−Ｆは、デバイス管理モジュール１１におけるＦＩＦＯコントローラ１４−Ｆの夫々のＦＩＦＯレジスタユニット４１により規定される１組のＦＩＦＯｓ４０（図３Ｂ）を含んでいる。データは、データバス３６（図３Ａ）に結合するデータバス２４を超えてデータはＦＩＦＯ４０へ又はＦＩＦＯから通過する。デバイス管理モジュールのＦＩＦＯコントローラ１４−Ｆは亦１組のＦＩＦＯ制御ユニット４３を含むが、之等はメッセージのＦＩＦＯへの書込みとＦＩＦＯからのそれらのメッセージの読取りを制御する。
【００５７】
図４Ｂを参照すれば、ＦＩＦＯレジスタユニット４１の各々は多数のアドレス・レジスタ４２−１，４２−２，…４２−ｎを含んでいる。之等のレジスタはトップレジスタ４２−１とボトムレジスタ４２−２とを含み、之等は事前設定され、メモリ１３における夫々のＦＩＦＯ領域の頂上部と底面部を規定するものであり、又上記レジスタは入力データが書込まれるべきＦＩＦＯ領域の点を指示する書込ポインタレジスタ４２−３と、既に格納されたデータが読出されるべきＦＩＦＯ領域における点を指示する読出しポインタレジスタ４２−４とを含んでいる。
【００５８】
したがってデバイスマネージャを一般的に考察すれば、メッセージはポートからアプリケーションへ、アプリケーションからポートへ及びアプリケーションの間で、バッファかＦＩＦＯのいずれかを用いて通過可能である。
【００５９】
バッファの使用はトップレベルアプリケーションにより制御される。システムはイベントベースである。即ち、メッセージがトップレベルアプリケーションに送られると、該アプリケーションは、バッファの内容を読み取ることに向けた動作をとる前に、バッファマネージャ１４−Ｂからの「バッファ準備済」の受信を待つ。この構成では、ポート間の独立の通信は可能ではない。更に、該システムは幾分応答しないことがある。というのは、バッファが１つのポートによって充たされた後でしか、別のポートはその内容を読取ることができないからである。
【００６０】
ＦＩＦＯの場合、その使用は、ＦＩＦＯコントローラ又はハンドラー１４−Ｆ内のＦＩＦＯ制御ユニット４３によって制御される。情報は、対応するＦＩＦＯ制御ユニット４３を含むＦＩＦＯハンドラー１４−Ｆの制御の下で、ＦＩＦＯ４０に書き込まれ、それから読み出される。したがってデータ転送はアプリケーション１２により制御される代わりに、ＦＩＦＯハンドラー１４−Ｆの制御の下に行われる。情報のストリームはしたがって、ポート１０とアプリケーション１２の間と同様に、２個のポート１０間で直接に流れ得る。
【００６１】
書込及び読取りポインタ４２−１と４２−２を用いて、データはＦＩＦＯ４０に書き込まれ、それから読み出される。之等のポインタはＦＩＦＯハンドラー１４−Ｆにより制御される。これはＦＩＦＯ４０の読取りと書込みが独立に実行されるのを許容する。換言すれば、ポート１０又はアプリケーション１２は、ＦＩＦＯ４０から読み出されているメッセージの源に関し何等情報を持つ必要がないということである。ＦＩＦＯ４０からの情報の読出しはＦＩＦＯ４０が一杯になる前、或いはメッセージが完全に受信されてＦＩＦＯ４０に書込まれる前に開始され得る。これによって実質的に連続な情報の流れが達成可能となる。ＦＩＦＯ４０からの情報の読出しは連続である必要はなく、読出しはいかなる時にも停止及び再開始が可能である。
【００６２】
ＦＩＦＯハンドラー１４−Ｆは、ＦＩＦＯ４０に書き込まれている情報がＦＩＦＯボトムアドレスで始動するが、ＦＩＦＯトップアドレスを超えては進行しないことをチェックする。ＦＩＦＯ４０が操作される正確な方法は、それを形成する特別な使用に依存する。したがってＦＩＦＯ４０は単一メッセージの基礎で作動可能で、各メッセージの始動はＦＩＦＯボトムアドレスに書き込まれている。それと反対に、ＦＩＦＯ４０は巡回的に操作可能で、新しいメッセージの開始は、先行するメッセージの終了の直前に書き込まれ、ＦＩＦＯのトップとボトムとは連続として処理される。
【００６３】
もしもメッセージがＦＩＦＯ４０の長さより長ければ、或は先行するメッセージがＦＩＦＯ４０から完全に読取られる前にメッセージが到達を開始すれば、潜在的に矛盾の危険が存在する。上記ＦＩＦＯ制御ユニット４３はこのような矛盾を監視する。矛盾が検出された場合には、ＦＩＦＯ制御ユニット４３は勿論適切な制御信号をメッセージ源（例えばポート１０）、メッセージの宛て先（例えばアプリケーション１２）或は両方に送る。
【００６４】
書込みポインタレジスタ４２−３が読取りポインタレジスタ４２−４に追いつくか、或は読取りポインタレジスタ４２−４が書込みポインタレジスタ４２−３に追いつくならば実際の矛盾が発生する。しかしながら、ＦＩＦＯ制御ユニット４３は潜在的矛盾即ち、書込みポインタレジスタ４２−３が読取りポインタレジスタ４２−４の或る距離内に接近するならば、或はその逆の場合に、それを検出するように配置可能である。デバイス管理モジュール１１はＦＩＦＯ制御ユニット４３に対しこれらの距離（しきい値）を設定可能である。ＦＩＦＯ４０に対するオーバフローとアンダフローのしきい値は同じである必要はなく、又異なるＦＩＦＯ４０に対するしきい値も同じである必要はない。又実際のオーバフロー又はアンダフローが近迫する時により漸次至急の警告を与えるためにそれに対し２個以上のオーバフロー及び／又はアンダフローのしきい値の存在することが可能である。
【００６５】
その上、ＦＩＦＯ制御ユニット４３は、オーバフローの場合にはくどく書くのを許容したり、或は更に書くのを延期したりするように設定可能なフラグを含むことが可能である。前者は古い情報をＦＩＦＯ４０から有効に流すものである。情報の流れの連続的な処理を許容するために、このような情報を流すことは屡々望ましいことであろう。
【００６６】
ＦＩＦＯ制御ユニット４３は高レベルアプリケーションの代りに転送機能を実行する低レベルアプリケーションとして（或はある場合にはデバイスとして）見なすことが出来る。高レベルアプリケーションは転送機能から解放され、転送されているメッセージは実際自動的に高レベルアプリケーションに供給され、高レベルアプリケーションはメッセージを得ることにたずさわる必要なく、直接にメッセージを使用することができる。
【００６７】
図５は主ＭＰＥＧビットストリームのビデオ信号に関連しているビデオ信号を発生するのにＦＩＦＯはどのように使用され得るかを示している。図３、３Ｂおよび４Ｂのメッセージ処理システムは、ＭＰＥＧデバイスソースから受信したデータを、上部層アプリケーションから何等入力を必要とすることなく、直接にビデオデバイスに流れ込むように用いられる。
【００６８】
ＭＰＥＧビットストリーム（之は通常は図１の同調器４０２８から受信されたビットストリームとなる）は線路５０を介して、サービスデバイス５２に結合されているデマルチプレクサ５１に送られる。デバイス５２の機能は、ビデオを立上げることである。換言すれば、主ビデオの立上げについての情報を手に入れ、その表示を制御することである。デマルチプレクサ５１はＭＰＥＧビデオビットストリームから主ビデオシーケンス（ビデオＰＩＤシーケンス）を抽出するように制御される。この主ビデオシーケンスは線路５３上にてＭＰＥＧ−２チップ５２に送られる。
【００６９】
更に、ビデオＭＰＥＧ−２ビットストリームは線路５５上にて、１つ以上のＦＩＦＯ４０から抽出され得る。之等のビットストリームは、線路５３上の主ビデオ信号に結合されたビデオデバイス５６に送られる。線路５５上のビットストリームはビデオデバイス５６により処理され、線路５７上でＭＰＥＧ−２チップ５４に送られる補助ビデオシーケンスとして現われる。ビデオシーケンスはＭＰＥＧ層にのみ表示される。
【００７０】
上記ＭＰＥＧ層の各ビデオシーケンスはそれ自身のアルファ配合係数を有し、これは背景層の対応画素と混合するための画像の夫々の画素に加えられる。使用されないＭＰＥＧ層の部分は完全に透明である。
【００７１】
上記の種々の機能の実施化の精密な詳細とハードウエアとソフトウエアの間のそれらの分布とは実施者にとっての選択の問題であり、詳細には説明しないものとする。然しながら受信器／復号器部において必要とされる操作を実行し得る専用の集積回路は商業的に利用可能であり、或は容易に設計可能であることに注意すべきである。そしてこれらの集積回路はハードウエア加速器用の基礎として使用可能であり、或は専用のハードウエア加速器を製作し、種々の必要な操作を実施し、それによってソフトウエアを実行するのに必要な処理能力を減少するように修正することが更に好適である。然しながら必要な操作は、十分な処理能力が利用され得るならばソフトウエアにおいて実施可能である。
【００７２】
モジュール及び他の部品は、選択的及び好適な特徴と共に夫々の部品により与えられる特徴と機能によって説明されて来た。与えられた情報と与えられた仕様を用いて、之等の特徴の実際の実施は当該技術の専門家にとって率直明瞭であるべきであり、精密な詳細は実施者に残されている。一例としてあるモジュールがソフトウエアで実施可能とすれば、好ましくはＣプログラム言語で書かれるのが好ましく、アプリケーションを実行するのに使用されるプロセッサに関するように編集されるのが好ましい。しかしながらある部品は個別プロセッサに関することも可能であり、又あるもの或はすべての部品は専用のハードウエアにより実施可能である。
【００７３】
上記モジュールと部品とは図示的であるに過ぎず、本発明は種々の方法で実施可能であり、特にある部品は同様の機能を実施する他の部品と組合わせ可能であり、或は亦簡略化された実施化において省略可能である。夫々の機能をもつハードウエアとソフトウエアの実施は、各部品間において及び単一部品内での両方で、自由に混合することが可能である。
【００７４】
ハードウエア、コンピュータソフトウエアなどにより実行される機能は継続又は電気信号等を用いて実行されることが容易に理解されるであろう。ソフトウエアの実現方法はＲＯＭに格納可能であり、又はフラッシュメモリにおいてパッチ（小修正）可能である。
【００７５】
本発明の好適な実施例を要約するために、受信信号が受信器を通過して受信器／復号器部に、それからテレビセットに送られる放送ディジタルテレビシステム用の受信器／復号器部において特に使用されるデバイス管理モジュール１１が与えられる。モジュール１１は、ポートユニット１０からの入力メッセージをアプリケーションモジュール１２に結合させる。該モジュール１１に結合したメモリ１３は、バッファコントローラ／ハンドラー１４−ＢとＦＩＦＯコントローラ／ハンドラー１４−Ｆにより夫々制御されるバッファ領域１３−ＢとＦＩＦＯ領域１３−Ｆとを有している。入力メッセージはバッファに送られ、その指向するアプリケーションによりバッファから取戻される。２つの異なる操作モードが之に対し利用可能である。更にこのようなメッセージはＦＩＦＯに送られることが出来る。ＦＩＦＯハンドラーは低レベルアプリケーションとして作用するが、この低レベルアプリケーションは、何かのアクションを取らねばならぬアクションなしに、及び受信されるべき全メッセージを待つ必要なしに、該メッセージを高レベルアプリケーションに渡すことができる。ＦＩＦＯを通過するメッセージは組合せられてＭＰＥＧ信号ストリームに入れられる。
【００７６】
本発明は以上の如く純粋に例示により説明されたことをご理解願えると思うが、更に詳細部の修正は本発明の請求の範囲内であれば作成可能である。明細書で開示された夫々の特徴と、適切な場合にはクレームと図面も独立に、或は適当に組合わせられて提供され得るものである。
【図面の簡単な説明】
【図１】  受信器／復号器部のインタフェースの概略図である。
【図２】  受信器／復号器部の機能的ブロック図である。
【図３】  図３は受信器／復号器部におけるメッセージ管理システムの簡略化ブロック図である。
図３Ａはメッセージ管理システムにおけるバッファ・サブシステムを示すより詳細なブロック図である。
図３Ｂはメッセージ管理システムにおけるＦＩＦＯサブシステムを示すより詳細なブロック図である。
【図４】  図４Ａはバッファレジスタユニットの簡略図である。
図４ＢはＦＩＦＯレジスタユニットの簡略図である。
【図５】  図５はメッセージ処理システムが主ＭＰＥＧビットストリームとどのように対話し得るかを示すブロック図である。
【図１】
0004642230.tif 000002
【図２】
0004642230.tif 000003
【図３】
0004642230.tif 000004
【図３Ａ】
0004642230.tif 000005
【図３Ｂ】
0004642230.tif 000006
【図４Ｂ】
0004642230.tif 000007
【図４Ａ】
0004642230.tif 000008
【図５】
0004642230.tif 000009