(57)【要約】【課題】従来の復号原理の諸問題を解決する。【構成】それぞれのデータ源から得られた１以上のオーディオデータストリームと１以上のビデオデータストリームとを復号する方法は、オーディオデータストリームの部分およびビデオデータストリームの部分をバッファメモリの組にロードするステップと、バッファメモリから、オーディオデータとビデオデータを少なくとも１つのオーディオデコーダの入力端子と少なくとも１つのビデオデコーダの入力端子にそれぞれ供給するステップと、ビデオデータおよびオーディオデータをそれぞれオーディオデコーダおよびビデオデコーダの支援により復号するステップとを備えている。最初のステップは、管理モジュールによりプルモードに従って実行される。あるいは、またはさらには、第２のステップは、管理モジュールによりプッシュモードに従って実行される。管理モジュールはビデオデコーダにより制御される。【選択図】  図３
2004208305.tif 000002
【特許請求の範囲】
【請求項１】
ＭＰＥＧ規格などのデータ圧縮規格に従って符号化された１以上のそれぞれのデータ源から得られた１以上のオーディオデータストリームと１以上のビデオデータストリームとを復号する方法であって、
ａ）前記オーディオデータストリームの部分および前記ビデオデータストリームの部分をバッファメモリの組にロードするステップと、
ｂ）前記バッファメモリから、オーディオデータとビデオデータを少なくとも１つのオーディオデコーダ（１３１）の入力端子と少なくとも１つのビデオデコーダ（１３２）の入力端子にそれぞれ供給するステップと、
ｃ）前記ビデオデータおよび前記オーディオデータをそれぞれ前記オーディオデコーダおよび前記ビデオデコーダの支援により復号するステップと、
を備え、
ステップａ）は管理モジュールによりプルモードに従って実行され、及び／または、ステップｂ）は前記管理モジュールによりプッシュモードに従って実行され、
前記管理モジュールはビデオデコーダにより制御される方法。
【請求項２】
前記オーディオデータストリームおよび前記ビデオデータストリームは、大容量記憶デジタル媒体からの読出しにより得られる請求項１に記載の方法。
【請求項３】
前記オーディオデータストリームおよび前記ビデオデータストリームは、大容量記憶デジタル媒体からの読出し、およびＭＰＥＧ規格の意味するところのトランスポートストリームの多重分離により得られる、請求項１に記載の方法。
【請求項４】
前記オーディオデータストリームおよび前記ビデオデータストリームは、ＭＰＥＧ規格の意味するところのトランスポートストリームの多重分離により得られ、前記トランスポートストリームは、所与の伝送チャネルを介して実時間で受信される、請求項１に記載の方法。
【請求項５】
前記バッファメモリにロードされるオーディオデータストリームの部分およびビデオデータストリームの部分は、パケット化されたデータストリームの部分である、請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記バッファメモリにロードされるオーディオデータストリームの部分およびビデオデータストリームの部分は、平文データストリームの部分である、請求項１乃至５のいずれか１項に記載の方法。
【請求項７】
前記管理モジュールは、画像表示の垂直同期信号のパルスと同期して、前記ビデオデコーダによって制御される、請求項１乃至６のいずれか１項に記載の方法。
【請求項８】
前記バッファメモリは、巻き戻しモードで画像を表示する意図で復号する場合を除き、線形な態様で管理される、請求項１乃至７のいずれか１項に記載の方法。
【請求項９】
各バッファメモリは、第１のメモリバンクおよび第２のメモリバンクを有し、前記方法は、指定されたバッファメモリの第１のメモリバンクに格納された前記オーディオデータストリームまたは前記ビデオデータストリームの第１の部分を解析するステップと、前記バッファメモリの第２のメモリバンクに格納された前記オーディオデータストリームまたは前記ビデオデータパケットのストリームの第２の部分内に含まれているオーディオフレームまたはビデオフレームをそれぞれ復号するステップとを備える、請求項１乃至８のいずれか１項に記載の方法。
【請求項１０】
ＭＰＥＧ規格などのデータ圧縮規格に従って符号化された１以上のそれぞれのデータ源から得られる１以上のオーディオデータストリームと１以上のビデオデータストリームとを復号する装置であって、
バッファメモリの組と、
オーディオデータおよびビデオデータの少なくとも１つの源と、
少なくとも１つのオーディオデコーダおよび少なくとも１つのビデオデコーダと、
前記源から前記バッファメモリへのローディングをプルモードに従って実行すること、及び、オーディオデコーダとビデオデコーダへのデータの供給をプッシュモードに従って実行すること、の少なくとも一方を行う管理モジュールと、
を備え、
前記管理モジュールは前記ビデオデコーダにより制御される、装置。
【請求項１１】
前記オーディオデータストリームおよび前記ビデオデータストリームを大容量記憶デジタル媒体（２０）からの読出しにより得る手段を備える、請求項１０に記載の装置。
【請求項１２】
前記オーディオデータストリームおよび前記ビデオデータストリームを大容量記憶デジタル媒体からの読出し、およびＭＰＥＧ規格の意味するところのトランスポートストリームの多重分離により得る手段を備える請求項１０に記載の装置。
【請求項１３】
前記オーディオデータストリームおよび前記ビデオデータストリームをＭＰＥＧ規格の意味するところのトランスポートストリームの多重分離により得る手段と、前記トランスポートストリームを所与の伝送チャネルを介して実時間で受信する手段と、を備える請求項１０に記載の装置。
【請求項１４】
前記バッファメモリにロードされる前記オーディオデータストリームの部分および前記ビデオデータストリームの部分は、パケット化されたデータストリームの部分である、請求項１０乃至１３のいずれか１項に記載の装置。
【請求項１５】
前記バッファメモリにロードされる前記オーディオデータストリームの部分および前記ビデオデータストリームの部分は、平文データストリームの部分である、請求項１０乃至１４のいずれか１項に記載の装置。
【請求項１６】
前記管理モジュールは、前記ビデオデコーダにより、画像表示の垂直同期のための信号（Ｖｓｙｎｃ）のパルスと同期して制御される、請求項１０乃至１５のいずれか１項に記載の装置。
【請求項１７】
前記バッファメモリは、巻き戻しモードで画像を表示する意図で復号する場合を除き、線形な態様で管理される、請求項１０乃至１６のいずれか１項に記載の装置。
【請求項１８】
各バッファメモリは、第１のメモリバンクおよび第２のメモリバンクを有し、前記装置は、所与のバッファメモリの第１のメモリバンクに格納された前記オーディオデータストリームまたは前記ビデオデータストリームの第１の部分を解析する手段と、前記バッファメモリの第２のメモリバンクに格納された前記オーディオデータストリームまたは前記ビデオデータパケットのストリームの第２の部分内に含まれているオーディオフレームまたはビデオフレームをそれぞれ復号する手段とを備える、請求項１０乃至１７のいずれか１項に記載の装置。
【請求項１９】
請求項１０乃至１８のいずれか１項に記載の装置を備えるビデオドライバ回路。
【請求項２０】
請求項１９に記載のビデオドライバ回路を備えるデコーダボックス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオドライバ回路、すなわち、所与の圧縮規格に従って符号化されたデジタルデータのストリームの形で符号化されたオーディオビジュアルプログラムの復号および表示を実行する回路に関する。
【背景技術】
【０００２】
ビデオドライバ回路は、個人用のデジタル記録機器（すなわち「パーソナルビデオレコーダ」を表すＰＶＲ）を備えるビデオデコーダで応用されている。そのようなデコーダにおいては、プログラム（番組）の記録が、ハードディスク、デジタルビデオカセット、ＤＶＤ(Degital Versatile Disk)などの大容量記憶デジタル媒体（すなわち「デジタル記憶媒体」を表すＤＳＭ）で行われる。
【０００３】
関連するデコーダは、特に、一方では、衛星、ケーブルまたは地上波デジタル放送による実時間デジタル信号放送（すなわち「デジタルビデオ放送」を表すＤＶＢ）のための入口と、他方では、アナログテレビジョンとの間のインタフェースを提供する、デコーダボックス（セットトップボックス）である。そのようなデコーダボックスは、スタンドアローンの装置である。しかし、本発明は、デジタルテレビジョンに組込まれる統合型デコーダや、ＤＶＤ再生機、デジタルビデオカセット再生機などのデジタル読出し／記録装置にも応用される。
【０００４】
デコーダボックスは、圧縮されたデジタルデータのストリームの形態、すなわち、それのビデオフレーム（すなわち画像）およびオーディオフレームがデータ放送の量を減少するようなやり方で符号化されている形態で、１つまたはそれ以上のプログラムを受ける。たとえば、この符号化は、ＭＰＥＧ‐２規格（ＩＳＯ／ＩＥＣ  １３８１８‐２）（以後ＭＰＥＧ(Motion Picture Expart Group)規格と呼ぶ）の仕様に適合する。この規格は、（特にデジタルテレビジョン用の）動画および音声の符号化のためのデータ圧縮技術を定めている。ＭＰＥＧ規格の用語に従って、圧縮されたデジタルデータストリームはトランスポートストリーム(transport stream)と呼ばれる。このストリームは、パケット化されたオーディオデータとパケット化されたビデオデータを含んでいる。
【０００５】
この明細書では、「提示(presentation)」という用語は、プログラム（番組）に関連して使用される場合には、ユーザによってそれぞれ視聴可能な形に復号されたオーディオデータおよびビデオデータの復元（リストア）を示すものとする。番組に関連して使用される「再生」（または「読出し」）という用語は、より具体的に、ハードディスク上での番組の記録から番組を復号および表示することを示す。「表示」という用語は、より具体的には、ビデオフレームの提示を示すために使用されるが、「表示する」という動詞は、ビデオの提示の動作を示すためにより特別に使用される。
【０００６】
図１に示すブロック図は、ＰＶＲ機能が組込まれていない初期世代のデコーダボックスで行われる復号の原理を示している。デマルチプレクサ７１が、指定された伝送チャネル（衛星、ケーブル、ＤＶＢ）を介して実時間で伝送されている１以上のトランスポートストリームを受ける。デマルチプレクサは、このストリームの多重分離（およびおそらくはスクランブル解除（デスクランブル））を行って、オーディオデータパケットのストリームおよびビデオデータパケットのストリームを出力する。オーディオデータパケットのストリームはオーディオ復号のためにオーディオデコーダ７２へ送られ、ビデオデータパケットストリームは、ビデオ復号のためにビデオデコーダ７３へ送られる。言い換えると、デマルチプレクサは、復号すべきデータの源（ソース）の役割を演ずる。
【０００７】
図１におけるものと同じ要素には同じ参照符号が付されている図２は、ＰＶＲ機能を提供する既知のデコーダボックスで実装されている復号原理を示している。デマルチプレクサ７１により供給されたオーディオデータパケットのストリームとビデオデータパケットのストリームは、ハードディスクなどの大容量記憶デジタル媒体７４に保存できる。その後で、ハードディスク７４から、オーディオデータパケットのストリームとビデオデータパケットのストリームは、復号のために、オーディオデコーダ７２とビデオデコーダ７３へ入力としてそれぞれ供給できる。この場合には、ＭＰＥＧ規格のある章が、復号すべきデータの源の役割をハードディスクが果たすようにすることを勧告している。
【０００８】
新しい世代のデコーダボックスのために、ハードディスクはいくつかの機能、特に、
・番組放送の実時間復号および提示と他の番組放送のハードディスクへの実時間記録とを同時行うこと、両方の番組とも、デコーダボックスにより受けられた１以上のトランスポートストリームに含まれている；
・提示中に「ポーズ」ボタンを押すことで番組放送を実時間で記録し、その後で、「読出し」ボタンを押して、番組をハードディスクから読出すことにより、時間経過による提示の中断なしに再開すること；
・たとえば、対応するアクセス権を有するユーザー（ビデオオンデマンドに対して）による肯定応答の後でのみアクセス可能にされるいわゆるプッシュモデル（または「プッシュモード」）に従う、スクランブルされている番組のロードと；
・読出しの“進歩した(advanced)”モード（または「トリックモード」）、すなわち、公称進み速さ（１倍速）とは異なる速さでの読出しを実行する、特に、高速での早送りまたは巻戻しあるいはその他のものを実行すること；
など、を提供することを可能にしている。
【０００９】
トランスポートストリームの処理は、基本的に、一方では、復号すべきデータの用意およびＭＰＥＧデコーダへのそれらのデータの供給と、他方では、ＭＰＥＧデコーダにより実行される画像および音声の復号および提示と、の２つのタスクを有する。
【００１０】
ＭＰＥＧ規格は、処理の制御を規定しかつ基準クロックを供給するのがデータ源であることを前提として、構成されている。番組放送を生（ライブ）で表示するために、トランスポートストリームの多重分離を行うデマルチプレクサにより、その制御がＭＰＥＧデコーダに対して課される。公称速さでの実時間復号および表示のために、画像の流れがビデオデータパケットのストリーム中に適切な順序で存在する。そうすると時間基準系は、トランスポートストリーム中に存在する番組クロック基準（ＰＣＲ；Programme Clock Reference）を基にする。またトランポートストリーム中に存在する提示時間スタンプ（ＰＴＳ；Presentation Time Stamp）がオーディオフレームのストリームとビデオフレームのストリームとを同期できるようにもする。復号作業の優先度は、実時間制約が適合させられること、および容量オーバーフロー状況ではハードウェア資源（たとえば、キューまたはバッファメモリ）がないことを保証するものである。
【００１１】
ハードディスクから番組を読出す場合には、復号すべきデータの処理を制御せねばならないのがハードディスクからのデータの読出しであることが、ＭＰＥＧ規格の上述した勧告からわかる。しかし、データは、おそらくバーストモードで実行されるハードディスクに対するアクセスの関数として、可変速さで到達することがあるかもしれない。いいかえると、実時間の概念が失われる。他方、ハードディスク自体は、容量オーバーフロー状況を補償できるバッファメモリを構成している、ということを見て取れる。
【００１２】
さらに、いくつかのそれぞれの番組に対応するいくつかのストリームの並列復号を、単一のＭＰＥＧデコーダによってさえ、実行できることが望ましいことがある（いわゆる「多重復号(multidecoding)」機能）。特に、それによって、ＭＰＥＧデコーダの再初期化に基づく時間浪費（何秒かかかることがある）なしに実時間提示からハードディスクからの読出しへの遷移を行うことができる。より一般的には、これによって、特に手を加えることなく、２つの番組列の終りと始まりを連続させることができ、特に予め記録されているコマーシャル枠またはその他のコマーシャル枠を番組中に滑らかにはめ込むことができる（いわゆる「継目なし継ぎ合わせ(Seamless Splicing)」機能）。
【００１３】
ある場合には、いくつかの番組の復号および表示と、静止画像の表示と同時に番組を表示することとの少なくとも一方を行うために、いくつかのＭＰＥＧデコーダを使用できることも望ましい。
【００１４】
最後に、“進歩した（アドバンスト）”読出しモードを実行すると、ＭＰＥＧ規格の上述した勧告に従う復号を制約する実時間の面で不利益をこうむる。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
本発明の目的は、諸欠点を小さくすることと前記の諸目標の全てまたは幾らかを達成することの少なくとも一方を可能にする復号原理を提案することにある。
【課題を解決するための手段】
【００１６】
本発明の第１の様相は、ＭＰＥＧ規格などのデータ圧縮規格に従って符号化された１以上のそれぞれのデータ源から得られる１以上のオーディオデータストリームと、１以上のビデオデータストリームとを復号する方法を提供する。この方法は、
ａ）前記オーディオデータストリームの部分および前記ビデオデータストリームの部分をバッファメモリの組にロードするステップと、
ｂ）前記バッファメモリから、オーディオデータとビデオデータを少なくとも１つのオーディオデコーダの入力端子と少なくとも１つのビデオデコーダの入力端子にそれぞれ供給するステップと、
ｃ）前記ビデオデータおよび前記オーディオデータをそれぞれ前記オーディオデコーダおよび前記ビデオデコーダの支援により復号するステップと、
を備えている。
【００１７】
バッファメモリにロードされるオーディオデータストリームの部分およびビデオデータストリームの部分は、パケット化されたデータストリームの部分と、平文（プレインテキスト、すなわちスクランブル解除された）データストリームの部分との少なくとも一方であることが望ましい。
【００１８】
復号すべきデータ源または複数のデータ源（デマルチプレクサ及び／またはハードディスク）と、データを消費するもの（すなわちオーディオデコーダおよびビデオデコーダ）の間のバッファメモリをストリームが通った結果として行われるプリバッファ作用によって、先行技術のビデオドライバ回路で行われる処理手順を分割することが可能にされる。それにより、後述する詳細な説明を読むことにより明らかになるであろうやり方で、本発明の目標を達成することが可能となる。
【００１９】
プルモード(Pull mode)に従ってバッファメモリをロードすると、バッファメモリの容量のオーバーフローの危険が避けられる。プッシュモード(Push mode)に従ってアンロード（ロード解除）すると、デコーダの入力端子にデータを確実に供給できる。ビデオデコーダによってバッファメモリの管理を制御するという事実により、復号すべきデータのストリームを効率的に制御できる。これはハードディスク読出しモードにおいて特に有利である。
【００２０】
本発明の第２の様相は、ＭＰＥＧ規格などのデータ圧縮規格に従って符号化された１以上のそれぞれのデータ源から得られる１以上のオーディオデータストリームと１以上のビデオデータストリームとを復号する装置に関するものである。この装置は、
バッファメモリの組と、
オーディオデータおよびビデオデータの少なくとも１つの源と、
少なくとも１つのオーディオデコーダおよび少なくとも１つのビデオデコーダと、
第１の様相に従う方法を実施する管理モジュールと、
を備える。
【００２１】
本発明の第３の様相は、第２の様相に従う装置を備えるビデオドライバ回路に関するものである。。
【００２２】
最後に、本発明の第４の様相は、第３の様相に従う回路を備えるデコーダボックスに関するものである。
【発明を実施するための最良の形態】
【００２３】
本発明のその他の諸特徴および諸利点は以下の説明を読むことにより一層明らかになるであろう。以下の説明は単なる例示であって添付図面を参照しつつ読むべきである。
【００２４】
図３は、本発明に基づくドライバ回路を包含しているデコーダボックス１のブロック図である。デコーダボックス１は、たとえば、入力端子２、３、４と、入出力端子５と、出力端子６ａ、６ｂ、７ａ、７ｂ、７ｃ、８、９とを有する。
【００２５】
入力端子２は、衛星テレビジョンデジタル信号を受信するためのパラボラアンテナに接続されるようになっている。入力端子３は、ケーブルテレビジョンデジタル信号を受信するための光ファイバに接続されるようになっている。入力端子４は、地上波放送テレビジョンデジタル信号（ＤＶＢ）を受信するためのアンテナに接続されるようになっている。最後に、入出力端子５は、他の装置、たとえばＤＶＤ再生機から出力される（オーディオまたはビデオ）トランスポートパケットのストリームＴＰ＿Ｉｎを受信し、あるいは、他の装置に送られるべき（オーディオまたはビデオ）トランスポートパケットのストリームＴＰ＿Ｏｕｔを出力するためのものである。出力端子６ａは、テレビジョン受像機のビデオ入力端子に接続されるようになっており、ＲＧＢ、ＹＵＶ、Ｙ／Ｃ（Ｓビデオ信号）で符号化され、またはＣＶＢＳ（コンポジットビデオベースバンド信号）フォーマットで符号化された信号であるビデオアナログ信号Ｖｉｄｅｏ＿Ｏｕｔ（Ａｎａｌｏｇ＿Ｖｉｄｅｏ＿１）を出力する。出力端子６ｂは、それ自身に関しては、たとえばＣＶＢＳ信号またはＹ／Ｃ信号などの同様な信号（Ａｎａｌｏｇ＿Ｖｉｄｅｏ＿２）を出力する。
【００２６】
出力端子７ａは、テレビジョン受像機の左右のオーディオアナログ入力端子にそれぞれ供給するようにされているオーディオアナログ信号Ａｕｄｉｏ＿Ｏｕｔ＿ＬおよびＡｕｄｉｏ＿Ｏｕｔ＿Ｒ（Ａｎａｌｏｇ＿Ａｕｄｉｏ＿Ｌ／Ｒ）を出力する。出力端子７ｂと出力端子７ｃは、たとえば、ＳＰ＿ＤＩＦおよびＰＣＭフォーマットでそれぞれ符号化されたオーディオデジタル信号（Ｄｉｇｉｔａｌ＿Ａｕｄｉｏ＿１，Ｄｉｇｉｔａｌ＿Ａｕｄｉｏ＿２）をそれぞれ出力する。
【００２７】
さらに、出力端子８、９は、テレビジョン受像機の対応する入力端子に接続するようになっていて、それぞれ、画像の表示を同期するための垂直同期信号Ｖｓｙｎｃおよび水平同期信号Ｈｓｙｎｃを出力する。
【００２８】
デコーダボックス１は、入力端子２、３、４に受けたデジタル信号の周波数を低くするために、それぞれ、チューナ２ａ、３ａ、４ａを有する。デコーダボックスは、受けた信号のチャネル復号を行う手段も有する。その手段は、たとえば各チューナ２ａ、３ａ、４ａの下流側に、
アナログ／デジタル変換器２ｂ、３ｂ、４ｂと、
ＱＡＭ復調、ＱＰＳＫ復調およびＣＯＦＤＭ復調をそれぞれ行う復調器２ｃ、３ｃ、４ｃと、
誤り訂正フィルタ（ＦＥＣ）２ｄ、３ｄ、４ｄと、
をそれぞれ有する。
【００２９】
これらのチャネル復号手段により供給された信号は、ＭＰＥＧ規格の意味するところでのトランスポートストリームである。それらは、いずれも、オーディオビジュアル番組に、サブタイトルと、テレテキストデータと、天候や番組の解説についての情報を含むユーザデータとの少なくとも１つなどを多重化したものを含んでいる。
【００３０】
デコーダボックス１は、ここではハードディスクである大容量記憶デジタル手段２０も有する。変形例として、大容量記憶デジタル手段は、ＤＶＤ‐ＲＯＭまたはＤＶＤ‐ＲＡＭとすることもできる。
【００３１】
デコーダボックス１は、さらに、システムメモリ３０と共有メモリ３１も有する。１つの例では、システムメモリ３０は、それぞれがＲＯＭ／Ｓフラッシュメモリ３０ａと、周辺ＳＲＡＭメモリ３０ｂと、２つのＳＤＲＡＭメモリ３０ｃ、３０ｄを有する３２ビットメモリである。１つの例では、共有メモリ３１は、１つまたは２つの１６メガビットＳＤＲＡＭメモリまたは１つの６４メガビットまたは１２８メガビットＳＤＲＡＭメモリを備える１３３ＭＨｚ（メガヘルツ）１６ビットメモリである。このメモリは、６４ビットあるいは１２８ビット構成とすることが好ましい。
【００３２】
デコーダボックス１は、さらに、ビデオドライバ回路１０を有する。このビデオドライバ回路は、受信したトランスポートストリームからの画像および音声の復号と提示を行う機能を有するが、ハードディスク２０への１つまたは複数の番組の記録と、それに記録されている番組の読出しも行う。
【００３３】
番組の実時間提示と時間ずれ（タイムシフト）読出しのために、ビデオドライバ回路１０は、ソース（源）復号を行う。それは、特に、多重分離／スクランブル解除、ＭＰＥＧ復号、ビデオデータのＰＡＬ、ＳＥＣＡＭまたはＮＴＳＣ方式へのフォーマット化、およびデジタルオーディオデータのアナログ形式への変換の機能を含む。ビデオドライバ回路は、データのハードディスク２０への記録とハードディスクからの読出しをも行う。
【００３４】
回路１０のハードウェアアーキテクチャが図４に詳細に示されている。
【００３５】
回路１０は、たとえばＳＴＭｉｃｒｏｅｌｅｃｔｒｏｎｉｃｓ製のＳＴ２０回路である中央演算装置（ＣＰＵ）１１を有する。このＣＰＵは、１６６ＭＨｚクロックの３２ビットＲＩＳＣプロセッサであって、命令キャッシュが８Ｋバイト、データキヤッシュが８Ｋバイト、オンボードＳＲＡＭメモリが８ＫバイトであるＳＴ２０Ｃ２＋型のプロセッサコアを有する。
【００３６】
ＳＴＢバス(STBus)という名称で知られているデータバスなどの相互接続プレーン（バス）１２が、中央演算装置１１と通信せねばならないビデオドライバ回路１０の種々の要素の相互接続を行う。変形例として、バス１２は、ＳｕｐｅｒＨｙｗａｙという名で知られているバスであってもよく、特に、中央演算装置１１が、ＳＴＭＩＣＲＯＥＬＥＣＴＲＯＮＩＣＳ製のＳＨ４０型マイクロプロセッサコアを基にしている場合には、そうすることができる。
【００３７】
中央演算装置１１はバス１２に双方向的に結合されている。
【００３８】
さらに、回路１０の種々のハードウェア要素の間のハードウェアチャネルを制御するように、一般的な使用のためのＤＭＡ（直接メモリアクセス）コントローラまたはＧＰＤＭＡコントローラ（汎用(General Purpose)ＤＭＡコントローラを指す）１２１が、バス１２に双方向的に結合されている。ＤＭＡは、回路の２つのハードウェアまたはソフトウエアエンティティの間のハードウェアチャネルであることが想起される。
【００３９】
ビデオドライバ回路１０は、オーディオ／ビデオデコーダ１３も有する。このオーディオ／ビデオデコーダは、たとえば、早送りでの表示や円滑な巻き戻しモードでの表示などの“進歩した（アドバンスト）”モードが備えられているＭＰ＠ＭＬ（主レベルにおける主プロフィール(Main Profile at Main Level)）型のＭＰＥＧ‐２デコーダである。
【００４０】
図５に詳しく示されているように、デコーダ１３は、専用の相互接続プレーンを介して内部結合されている、
オーディオデコーダ１３０と、
ビデオオデコーダ１３１と、
サブタイトルデコーダ１３２と、
２〜８ビットの画像はめ込み機能（スクリーン上表示すなわちＯＳＤ）をさらに有する、サブタイトルの挿入を管理するための表示合成器１３３と、
デコーダボックスの共有メモリと通信することを可能にする共有メモリインタフェース１３４と、
ＭＰＥＧ規格でＣＤ＿ＵＮＩＴとも呼ばれているＦＩＦＯ（先入れ先出し）型のバッファメモリ１３５と、
を備えている。
【００４１】
メモリインタフェース１３４は、一方では外部の共有メモリ３１に、他方ではバス１２に、双方向的に結合されている。バッファメモリ１３５は、復号すべきデータを受けるためにバス１２にも結合されている。
【００４２】
図４へ戻って、ビデオドライバ回路１０は、復号すべきデータを受けるためにバス１２に結合されているテレテキストデータデコーダ２２も有する。
【００４３】
ビデオドライバ回路１０は、オーディオ／ビデオデコーダ１３に結合されているビデオエンコーダ２１（ＤＥＮＣ(Display encoder)）も有する。ビデオエンコーダ２１は、テレビジョン受像機のスクリーンの形式の関数として、伸張された（圧縮解除された）ビデオデータをＰＡＬ、ＳＥＣＡＭまたはＮＴＳＣ方式に変換する機能を有する。これが、ビデオエンコーダ２１がＰＡＬ／ＳＥＣＡＭ／ＮＴＳＣビデオエンコーダとも呼ばれる理由である。ビデオデコーダ２１は、ビデオドライバ回路１０の出力端子６ａ′と６ｂ′に出力されるアナログビデオ信号ＲＧＢ、ＹＵＶ、Ｙ／Ｃ、ＣＶＢＳのうちの少なくとも１つを生成する。ビデオエンコーダ２１は、画像の表示を同期する垂直同期信号Ｖｓｙｎｃと水平同期信号Ｈｓｙｎｃも生ずる。それらの同期信号Ｖｓｙｎｃ、Ｈｓｙｎｃは、ビデオドライバ回路１０の出力端子８′と９′にそれぞれ出力される。これらの信号は、オーディオビジュアル番組を提示するテレビジョン受像機に供給されるようになっていることが想起される。
【００４４】
ビデオドライバ回路１０の出力端子６ａ′、６ｂ′、８′、９′は、回路１（図３参照）の出力端子６ａ、６ｂ、８、９にそれぞれ結合されるようになっている。
【００４５】
さらに、ビデオドライバ回路１０は、トランスポートストリームマルチプレクサ（ＴＳＭＵＸ）１４１と、プログラム可能トランスポートインタフェース（ＰＴＩ）ここでは３つのそのようなインタフェース１４２、１４３、１４４と、スクランブル解除モジュール１４５とを有するトランスポートブロック１４を有する。ＰＴＩは、バス１２に双方向結合されている。さらに、マルチプレクサ１４１は、ハードディスク２０から取り出されたデータを受けるためにバス１２に結合されれている。
【００４６】
ＰＴＩの機能は、ビデオドライバ回路１０の入力端子２′、３′、４′を介して受信され、またはハードディスク２０から読出されたトランスポートストリームの各１つを処理し、あるいはさもなければ、ビデオドライバ回路１０の入出力端子５′を介して受けた（デコーダボックス１の外部からの）トランスポートパケットのストリームＴＰ＿Ｉｎを処理することである。有利なことに、いくつか（すなわち、図示の例では３個）のＰＴＩを持つことによって、いくつかの異なるトランスポートストリームを同時に処理することが可能である。
【００４７】
入力端子２′、３′、４′と入出力端子５′は、デコーダボックス１内で、入力端子２、３、４と入出力端子５にそれぞれ結合されるようにされている（図３参照）。
【００４８】
ＰＴＩ１４２、１４３、１４４の各々は、いくつかの機能を有する処理を行う。まず、ＰＴＩは、指定された番組におのおの対応するトランスポートパケットのストリームを生成することにより、処理されたトランスポートストリーム（多重分離）の所与の番組のデータパケットの選択を行う。また、ＰＴＩは、トランスポートパケットのストリームのインデクシング（索引付け）を行う、すなわち、内部で事象（イベント）が起きるパケットの番号でそれらの事象にラベル付けする。インタフェースがプログラム可能であるという事実によって、このインデクシングを、特に条件付きアクセスに関する製造者の諸要求の関数として、柔軟に実行できる。その後で、各ＰＴＩは、オーディオパケットとビデオパケットとテレテキストパケットとサブタイトルパケットとを適切なデコーダへ送る。最後に、ＰＴＩは、放送データ（表）、特に番組に特有の情報（ＰＳＩ；Program Specific Information）のフィルタリングと取得とを行う。
【００４９】
一実施例では、ＰＴＩ１４２、１４３、１４４の各々は、１２０Ｍビット／ｓのビット速度をサポートする。これによって、６倍速（すなわち公称速度（１倍速）の６倍）の高速早送りモードでの表示を行うために、１５Ｍビット／ｓのストリームの処理を容易に行うことができる。
【００５０】
スクランブル解除（デスクランブル）モジュール１４５は、ＰＴＩにより処理されるトランスポートストリームの多重スクランブル解除を行う。このスクランブル解除は、たとえば、ＤＶＢモード、ＤＥＳモードまたはＩＣＡＭモードで行うことができる。
【００５１】
選択によっては、トランスポートブロック１４は、低レベルインタフェース（ＬＬＩ）１５によって入力端子２′、３′、４′の少なくとも１つと通信する。インタフェース１５は、前述したトランスポートパケットのストリームＴＰ＿Ｉｎを受信し、または同様な前述したトランスポートパケットのストリームＴＰ＿Ｏｕｔを出力するように、パラレル／シリアルインタフェースを介して、ビデオドライバ回路１０のトランスポートブロック１４と入出力端子５′の間のインタフェースも行う。
【００５２】
ビデオドライバ回路１０は、ハードディスク２０にアクセスするためのインタフェース１６も有する。これはたとえばＡＴＡ(AT Attachment)型インタフェースであって、ＩＴＥとしても知られており、たとえば、ＡＴＡ‐５インタフェースである。変形例として、インタフェース１６は、ＵＤＭＡ型インタフェースでもよい。インタフェース１５によって、ハードディスクは、中央演算装置（ＣＰＵ）１１とＧＰＤＭＡコントローラ１２１により書込みアクセスまたは読出しアクセスされることができる。
【００５３】
ビデオドライバ回路１０は、システムメモリ３０と通信するために外部メモリインタフェース（ＥＭＩ；External Memory Interface）１７も有する。
【００５４】
ビデオドライバ回路１０は、たとえば、５つのＵＡＲＴ、６つの並列入出力バンク、チップカード用の２つのインタフェース、４つのＰＷＭ（パルス幅変調）チャネル、テレテキスト直列化器、多チャネル赤外線送信器／受信器、（インターネットへの接続のための）フロントエンドアナログモデムインタフェースを含めた周辺装置と通信するための統合されたインタフェースの組１８も有する。組１８のＩＥＥＥ１２８４型インタフェース１８１は、並列／直列インタフェースを介するストリームＴＰ＿Ｉｎの受信とストリームＴＰ＿Ｏｕｔの送信を行えるように、低レベルインタフェース１５にも結合されている。
【００５５】
同様に、ハードディスク２０に記録されまたはハードディスク２０から取出されたデータのローカルでのスクランブル化／スクランブル解除のためのエンジン１９によって、ハードディスクに記録されているデータへの著作権侵害行為（海賊行為）に対する安全の管理が可能にされる。一実施例では、このエンジンは、条件付きアクセス機能を保証して著作権侵害行為を防止するように、ハードディスクに記録されているデータのローカルでのスクランブル化を行う。
【００５６】
最後に、ビデオドライバ回路１０は、現在のあらゆるオーディオフォーマットの下のオーディオ信号を生ずるために、ＤＳＰ（デジタル信号プロセッサ）を備えたオーディオサブシステム２３を有する。このサブシステム２３は、出力端子７ａ′のためのデジタル−アナログ変換器（ＣＮＡ）の組２４を介して、ビデオドライバ回路１０の出力端子７ａ′、７ｂ′、７ｃ′に結合されている（左チャネルと右チャネルのおのおのに対してそのような変換器がある）。
【００５７】
したがって、一実施例では、
・出力端子７ａ′は、上述したアナログ信号Ａｕｄｉｏ＿Ｏｕｔ＿Ｌ、Ａｕｄｉｏ＿Ｏｕｔ＿Ｒを出力し、
・出力端子７ｂ′は、ＰＣＭ（パルス符号変調）という名で知られているタイプ、すなわち、オーディオＣＤとＤＶＤで特に用いられている非圧縮デジタルオーディオ符号化のタイプのデジタルオーディオ信号を出力し、
・出力端子７ｃ′は、Ｓ／Ｐ  ＤＩＦ（Ｓｏｎｙ（ソニー）／Ｐｈｉｌｉｐｓ（フィリップス）デジタルインタフェース）という名で知られているタイプ、すなわち同軸コネクタを使用するデジタルオーディオ伝送のタイプのデジタルオーディオ信号を出力する。
【００５８】
ビデオドライバ回路１０の出力端子７ａ′、７ｂ′、７ｃ′は、デコーダボックス１の出力端子７ａ、７ｂ、７ｃにそれぞれ結合されるようにされている。
【００５９】
ビデオドライバ回路１０は、たとえば０．１８μｍ技術でチップ上のシステム（すなわちＳＯＣ）の形式で具体化される。ビデオドライバ回路１０は、ＰＢＧＡ３８８型ボックスに集積化できる。
【００６０】
図５は、ハードディスク２０に対する記録および読出しを提供する、ビデオドライバ回路１０の手段のソフトウエアアーキテクチャの一例を示す。従来は、このアーキテクチャは、階層化モデルに従って提示されている。
【００６１】
１番下のレイヤ（層）２０４は、ビデオドライバ回路１０のハードウェアアーキテクチャに対応する物理レイヤであって、その上に種々のソフトウエアレイヤが重ねられる。
【００６２】
１番上のレイヤは、パイプラインマネージャ２１０と呼ばれるものを形成している。パイプラインマネージャは、記録マネージャ２１１と、読出し（再生）マネージャ２１２と、インデックスマネージャ２１３と、データマネージャ２１４とを含んでいる。
【００６３】
１番下のレイヤ（ただし、パイプラインマネージャ２１０の下であるが、物理レイヤ２０４の上）は、記録モジュール２２１と、インデックスモジュール２２２と、ファイルシステム２２３と、ＭＰＥＧシーケンサ（ＭＰＥＧスケジューラ）２２４と、読出しモジュール２２５と、を含む。さらに、ＤＭＡマネージャ２２６が、シーケンサ２２４と読出しモジュール２２５の上に来る。
【００６４】
この図では、パイプラインマネージャ２１０のエンティティ自体の間、またはそれらのエンティティと１番下のレイヤのエンティティとの間の、パイプラインマネージャ２１０のエンティティの間の一方向または双方向のデータ交換とコマンドとの少なくとも一方が、垂直の矢印記号で示されている。
【００６５】
モジュール２２１、２２２、２２６は、下のレイヤ２２７、いわゆるマイクロコード化されたアーキテクチャ多重分離レイヤ（または「トランスポートコントローラコード」を表すＴＣコード）を呼出す。言い換えると、これは、マイクロコードをベースとするプログラム可能な回路による多重分離の機能を実現するドライバである。
【００６６】
ファイルシステム２２３は、ハードディスクの低レベルドライバソフトウエア（ＨＤＤ低レベルドライバ）２２８に依存する。
【００６７】
本発明の一実施形態では、シーケンサ２２４は、ＭＰＥＧ復号に関連する４つのそれぞれのタスクを異なるやり方で実行する４つのモジュールに依存する。これは、ヘッダ探索モジュール２３１と、復号モジュール２３２と、フレームメモリマネージャ２３３と、表示モジュール２３４とを含む。
【００６８】
以下、モジュール２３１〜２３４と２２６がソフトウエアの形態で実現されているとして、それらのモジュールがどのように動作するかを詳細に説明する。
【００６９】
ヘッダ探索モジュール２３１：
番組は、多重化されている全ての番組が一緒に保存されているならば完全なトランスポートストリームのレベルで、または単一の番組のトランスポートストリームが保存されているならば部分トランスポートストリームのレベルで、元々のスクランブル化された形態でハードディスク２０に保存されることが好ましい。変形例では番組は、単一の番組のオーディオ、ビデオデータパケットまたはデータ・パケットを含んでいるパケット化された基本ストリーム（ＰＥＳ；Packetized Elementary Stream）の形で保存される。あらゆる場合に、画像の場所などのインデクシング情報はハードディスクに記録されない。したがって、記録されている番組の内容は、著作権侵害行為に対してより良く防止される。
【００７０】
しかしながらこれは、読出しのための特定の機構を実現することを要する。この機構の機能は、ストリームに含まれているパケットのヘッダを検出することにより、画像の場所を決定するように、ハードディスクに記録されているストリームの内容を解析する（またはパースする（細かに調べる））ことである。この機構は、ヘッダ探索モジュール２３１により実現される。
【００７１】
ＭＰＥＧビデオストリームはＭＰＥＧシーケンスで構成され、各シーケンスはＭＰＥＧ規格の意味するところでの画像（ピクチャ）の群（ＧＯＰ；Group of Pictures）で構成されている。各ＧＯＰは、圧縮された画像（イメージ）で構成されている。各画像は、スライスで構成されている。各スライス自体は、おのおの１６×１６画素のマクロブロックで構成されている。最後に、各マクロブロックは、おのおの８×８画素のブロック６個を有する。
【００７２】
ヘッダ探索モジュールは、ＭＰＥＧ規格に記述されているヘッダサーチ機能に非常に良く似たやり方で動作する。それの主な機能は、ＭＰＥＧシーケンスのヘッダフィールドから取出された全ての情報を、スライスレベルまで、適切なソフトウエア構造にコピーすることである。
【００７３】
復号中は、ヘッダ探索モジュールは、一方では基本ビデオデータ入力をＦＩＦＯ型の基本ストリームバッファメモリに読み込むことを、他方では、スタートコードを検出して、そのコードが検出されたこと、および以後のデータをバッファメモリで利用できることをＭＰＥＧシーケンスに知らせることを、並列に実行できる。
【００７４】
検出されるスタートコードは、
・画像のスタートコード（コード０ｘ００）、
・画像の最初のスライスのスタートコード（コード０ｘ０１）、
・画像の他のスライスのスタートコードから離れているすべての他のスタートコード（コード０ｘＢ０〜０ｘＦＦ）、
である。
【００７５】
言い換えると、ヘッダ探索モジュールは、画像の最初のスライスに対するもの（コード０ｘ０２から０ｘＡＦ）を除くスライススタートコード以外の全てのスタートコードを検出する。
【００７６】
ヘッダ探索モジュールにより実行される処理のためのアルゴリズムは非常に簡単である。スタートコードが検出されると、このスタートコードは解析される。そうすると次の３つのケースが識別される：
・スタートコードはＭＰＥＧ規格のコードであるが、コード０ｘ０２〜０ｘＡＦのいずれか１つでもないので、スタートコードは適切なソフトウエア構造体に保存され、この情報が受信されて利用可能であることが知らされ、別のスタートコードが探索されるか、
・スタートコードがＭＰＥＧ規格のコードではなく、そうするとなにかが正しくないことをＭＰＥＧシーケンサは知らせられ、別のスタートコードが探索されるか、
・またはスタートコードがコード０ｘ０２〜０ｘＡＦの１つであるので、画像の復号を進めるために全ての情報（すなわち、スライスレベルまでの全ての情報）を使用できることをＭＰＥＧシーケンサは知らせられる。なお、その後では、別のスタートコードは自動的には探索されないこと。特に、次の画像の探索を指令する責任は、ＭＰＥＧシーケンサが負う。これはプルモデル（またはプルモード）に従うＭＰＥＧシーケンサの動作態様を表す。
【００７７】
上記のソフトウエア構造体は、ＭＰＥＧ規格において記述されているものである。より十分な情報を参考とするためには、そのＭＰＥＧ規格を参照されたい。大域（グローバル）構造体またはヘッダ主探索構造体は、ストリーム中で検出された最後のスタートコードの位置と、特定の構造体が受けられたかまたは受けられなかったかを知らせるための特別のフラグを含む。
【００７８】
これに加えて、ヘッダ探索モジュールは、
・基本ストリームバッファメモリ内のスタートコードの位置（すなわちアドレス）を、バッファメモリの各再初期化ごとにゼロにリセットされ、かつ解析されたストリームのバイト数を指示する２４ビットカウンタの支援により、決定する手段と、
・（たとえば、１つの符号化されたデータストリームから別の符号化されたデータストリームへ切り替える時、または読出しの“進歩した”モードの時に、）指定された不連続が基本バッファメモリ内の入力端子に知らされたことを検出する手段と、
・特定のユーザデータを（指定された２つのスタートコードの間で検出される）ＭＰＥＧシーケンスから取出し、それらを特定のバッファメモリ、いわゆる取得バッファメモリに保存する手段と、
・復号および表示すべき画像のタイプを、所与のプロトコル（表示プロトコルと呼ばれる）で定める手段と、
を有している。ここで取得バッファメモリは、ユーザデータのサイズは前もっては定められないという事実を回避するように、動的に割当てられる。選択によっては、この取得バッファメモリは、他のモジュールに適合するために、循環メモリとすることができる。
【００７９】
これらの手段は不可欠のものではないが、画像を復号し、同期し、表示するやり方を容易にしかつ適切に定める。画像の表現の型は、たとえば、特に、画像がプログレッシブであるかないか、画像当りの表示すべきフィールドの数、フィールドの極性（最大３つまでのフィールド、各フィールドはおそらく１番上のフィールド（トップフィールド）または１番下のフィールドである（ボトムフィールド））、フレーム中に含まれている有効な再フレーム化ベクトル（パン(Pan)およびスキャン(Scan)ベクトル）の数、および再フレーム化ベクトルがどのようにして受けられて使用されるかの態様、を意味するものとして理解される。有利なことに、画像の型は、画像の型についての全ての情報を集めて統合するテーブル中のエントリ値である単一のパラメータにより定められる。
【００８０】
復号モジュール２３２：
このモジュールの主な機能は、画像を復号するための各命令を、ヘッダ探索モジュール２３１から取出されたヘッダ情報から生成することである。
【００８１】
復号モジュール２３２は、ＭＰＥＧマネージャ２２４からのみ呼出しを受ける。下記の主な呼出しについて、以下に説明する：
・復号命令を用意し、再構成すべき画像を保存するフレームメモリのアドレスとこの再構成のために求められる基準画像が保存されるフレームメモリのアドレスとの、フレームメモリマネージャ２３３による供給を求めること、
・命令を保存すること、
・画像をスキップすること、
・再スタートの場合または破滅的な復号誤りの場合にデコーダを再初期化すること、
・デコーダの位置と、基本ストリームバッファメモリ内のデータの終りとを定め、かつ検証すること。
【００８２】
復号命令の用意については、指定されたパラメータがデータストリームのパケットのヘッダフィールドから取出され、デコーダのレジスタマップに従ってフォーマットされる。これは、特に、ストリームの型すなわちＭＰＥＧ−１またはＭＰＥＧ−２、水平画像パラメータおよび垂直画像パラメータ、画像符号化型、マクロブロック内での画像の幅と高さ、などを含む。
【００８３】
画像を復号するためにはフレームメモリ、すなわち最低限で再構成バッファメモリと順方向（フォワード）バッファメモリと（タイプＰ予測画像のための）逆方向（バックワード）バッファメモリとを必要とする。復号すべき画像を復号モジュールがフレームメモリマネージャ２３３に割当てるのは、この時である。復号がまだ始まらないと、フレームメモリマネージャ２３３は、再構成バッファメモリはラッチされていると認め、復号が終了するまでその画像を使用できるものとみなさない。復号中に誤りが起きると、マネージャ２３２は、他の手順がそれを使用できない限り、その画像に気付かないかもしれない。マネージャ２３３からフレームメモリを求める時に復号モジュール２３３はフレームメモリを確実に得る。特に、ＭＰＥＧシーケンサ２２４は、復号命令を用意する前に、自由である、すなわちマネージャ２３３内でそうであると認められている少なくとも１つのフレームがあることを確実にする。
【００８４】
同様に、復号モジュール２３２の機能は、内部ＲＡＭメモリが正しい量子化テーブルを含んでいることを検証することである。ＭＰＥＧデータストリームでは、ストリームの中で定義されないデフォールトテーブルと、シーケンス内で定義されるテーブルと、各画像のための特定のテーブルと、の３つの異なる型の量子化テーブルを使用できる。正しいテーブルを使用できないとすると、復号モジュール２３２はこの効果に対するフラグと特定の構造体に対するポインタとを設定することにより、デフォールトテーブルと、シーケンス拡張部（エクステンション）内のテーブルまたは画像拡張部内のテーブルである諸テーブルの再ロードを求める。
【００８５】
基本ストリームバッファメモリ内での復号モジュールの位置を決定することに関しては、実行される手順は、ビデオ基本ストリームバッファメモリ内の最後のデータ項目の位置のみが与えられることを除き、ヘッダ探索モジュール２３１について述べたものに類似することが注目されるであろう。ビデオ基本ストリームバッファメモリのサイズを示す別のカウンタがあるので、復号モジュールの位置の良い見積もりを得ることが可能である。
【００８６】
命令保存に関しては、求められる全てのパラメータが、ＭＰＥＧシーケンサ２２４が復号手順の開始を求める時と同じ時に保存されることに注目すべきである。この保存が終わると、復号作業自体は、垂直同期化イベントを待つことなく、ただちに開始される。なお、そうすると、新しいヘッダ探索が自動的に開始される。これは、オーディオデータストリームまたはビデオデータストリームの新しい部分が基本ストリームバッファメモリで受けられている時はヘッダ探索モジュール２３１が再スタートさせられないことを主に説明する。
【００８７】
さらに、復号自体を開始する前に、一方では、復号モジュールとヘッダ探索モジュール２３１から得た情報とが復号モジュールが復号するであろう画像と同相であることを検証するために、他方では、画像の位置を近似的に定め、かつそれをフレーム（これは、データがバッファメモリ内で依然として使用できるならば、巻き戻しモードで復号を開始するために使用できる）に関連させるために、復号モジュールの位置が用いられる。
【００８８】
ここで画像のスキップに関し、ＭＰＥＧシーケンサ２２４が画像のスキップを求めると、この動作は即時であること、および、２つのモジュール２３１と２３２の同期を維持するように、ヘッダ探索が同時に誘発されることが注目されるであろう。
【００８９】
最後に、復号モジュール２３２の再初期化に関して、（完全または部分的な）再初期化の場合には、ビデオ基本ストリームバッファメモリ内の位置に対する全てのポインタが同時に再初期化されることが注目されるであろう。さらに、全てのメモリレジスタがそのように放置され、したがって、前と同じ内容を保持する。必要時にそれらが全て命令される限り、これは問題ではない。実際にはエッジ効果は認められなかった。
【００９０】
フレームメモリマネージャ２３３：
このモジュールの機能は、画像の復号のために使用されるフレームメモリを管理することである。ストリームの画像がタイプＩの画像（フレーム内符号化(intra-coded)画像）とタイプＰの画像（フレーム間符号化(predicted)画像）とタイプＢの画像（フレーム内挿符号化(bidirectionally predicted)画像）とを含んでいると、次の最少４つのフレームメモリを備えることが必要である：
・既に復号されて、現在表示されている画像を保存するためのメモリ、
・復号すべき画像を再構成するために、たかだか、必要な２つの基準画像(Predictors)を保存するための他の２つのメモリ、
・現在再構成されている、復号すべき画像を保存するためのメモリ。
【００９１】
フレームメモリマネージャ２３３は、画像の表示順序を表示の向き（順方向または逆方向）の関数として管理する機能も有する。そのために、それは、ビデオフレームに関連させられている提示時間スタンプ（ＰＴＳ）に依存している時間ベース（これはハードディスクからの読出し中に極めて大きな困難をもたらす）を使用するよりは、仮想タイムベースを配置するので有利である。
【００９２】
仮想タイムベースは、各ビデオフレームにそれぞれ関連させられて、ビデオフレームがデコーダ１３の入力端子に達した時に割当てられる仮想時間基準を基にしている。それらの基準は、たとえば、３２ビットで符号化された数で達成される。それらの数の値は、読出し指令を受けた時に、たとえばｈ８０００００００（１６進記法で８０００００００）に初期化される。この初期化の値によって、ほぼフレームの１周期をめぐって順方向モードおよび逆方向モードの両方で、等しく参照することが可能にされる。
【００９３】
それらの仮想時間基準は、必要時に重ね書きできるフレームメモリを決定するように、フレームメモリに保存されているフレームからどのフレームが最も古いものであるかを決定するためにも用いられる。
【００９４】
実際には、フレームメモリマネージャ２３３は、画像を復号および表示するために重要な情報を含んでいるテーブルの形で具体化される。この情報は、
・フレームメモリマネージャ２３３が管理できるフレームメモリの（たとえば８ビットで符号化されている）最大数、
・適切な構造体に従って配列されている、画像の幅、画像の高さ、ＰＴＳの存在、パンベクトルおよびスキャンベクトルの存在などの画像の全てのパラメータ、
・現在表示されている復号画像を含んでいるフレームメモリの識別子（すなわち、たとえば、８ビットで符号化されているアドレスポインタ）、
・適切なものである、順方向基準画像を含んでいるフレームメモリの（たとえば８ビットで符号化されている）識別子（すなわち、Ｐ型またはＢ型である復号すべき画像に対するもの）、
・適切なものである、逆方向基準画像を含んでいるフレームメモリの（たとえば８ビットで符号化されている）識別子（すなわち、Ｂ型である復号すべき画像に対するもの）、
・現在再構成されている画像を含むことを意図されているフレームメモリの（たとえば８ビットで符号化されている）識別子、
・現在表示されている画像に関連させられている（たとえば３２ビットで符号化されている）仮想時間基準、
・フレームに含むことができる各画像にそれぞれ関連させられている複数の（たとえば３２ビットで符号化されている）仮想時間基準、である。したがって、そのような仮想時間基準の数は、フレームメモリの最大数に等しい。それらの基準は、復号時に割当てられ、それらによって表示モジュール２３４は、画像を正しい順序で表示するように、どの画像をフレームメモリから取出すかを知ることができる。
【００９５】
表示モジュール２３４：
このモジュールの機能は、本質的には、復号される画像と表示スクリーンとの間のそれぞれのパラメータの必要な変換を行うことにより、復号された画像の表示の制御を管理することである。
【００９６】
画像のパラメータは、フレームメモリマネージャ２３３により表示モジュール２３４に供給される。これらのパラメータは、特に、画像の幅および高さと、メモリ中の輝度バッファメモリおよび色度バッファメモリの位置と、表示プロトコルと、パンベクトルおよびスキャンベクトルのリストと、それらのベクトルにより定められた縮小された表示エリアと、画像の縦横比（たとえばＰＡＬ方式では４対３）である。先験的には、復号された画像は、フレームメモリに４：２：０のフォーマットでマクロブロックとして保存される。
【００９７】
表示のパラメータは、特に、表示エンコーダ２１（図４）により、モジュール２３４に供給される。それらのパラメータは、特に、スクリーンの高さおよび幅と、スクリーンの表示可能なエリアのオフセットと、完全な表示可能なエリアの縦横比（たとえば１６対９）と、２つのフィールドの間の時間間隔と、を含む。
【００９８】
しかし、モジュール２３４は、画像のインターリーブまたはデインターリーブを管理する機能も有する。一般に、現在放送中のオーディオビジュアル番組は、インターリーブされている画像である。
【００９９】
表示スクリーンが、インターリーブスクリーンであり、かつ読出し速さが公称速さ（１倍速）であるならば、フレームのインターリーブを修正する必要はない。フレームの極性が表示スクリーンの極性に対応することを検証することが必要なだけである。
【０１００】
しかし、読出し速さが公称速さと異なるか、および／または、フレームがプログレッシブであるのでフレームのインターリーブを修正しなければならないときには、正しい極性でフレームの表示を管理するように、仮想タイムベースを使用すると有利である。
【０１０１】
バッファメモリを管理するモジュール（ＤＭＡマネージャ）２２６：
オーディオデータパケットとビデオデータパケットのプリバッファリングを行う基本ストリームバッファメモリの管理原理が図７に示されている。
【０１０２】
１組のバッファメモリ７０が設けられている。それらのバッファメモリは、オーディオデータストリームの部分、またはビデオデータストリームの部分を保存するようにされている。これが、それらのメモリが基本ストリームバッファメモリとも呼ばれる理由である。なお、これらのバッファメモリに保存されるデータは符号化されたデータ、すなわち、ＭＰＥＧ規格などの圧縮規格に従って圧縮されたデータである。それらのバッファメモリの容量は、復号するためにストリームの十分な部分を保存することを可能にするために十分なものである。ビデオデータストリームの部分を保存することを意図されているバッファメモリに関し、特に、容量は、ＭＰＥＧ規格の意味するところで少なくとも１つの画像群（ＧＯＰ；Group of Pictures）を保存するのに十分なものである。ユーザは、たとえば、システムメモリ３０中に割当てられるバッファメモリの数を選択することが好ましい。しかしながら、それらのバッファメモリの数は、最大数、たとえば１２（この数は使用できるメモリ資源に依存する）に限定すると有利である。
【０１０３】
１以上のオーディオビジュアル番組にそれぞれ対応する１以上のオーディオデータストリームと１以上のビデオデータストリームが、１以上のそれぞれの源（ソース）から得られる。それらのストリームは、ＭＰＥＧ規格の意味するところでのパケット化された基本ストリーム（ＰＥＳ；Packetized elementary stream）であることが好ましい。データは通常は平文（プレインテキスト）データ（すなわちスクランブル解除されたデータ）である。
【０１０４】
したがって、図７に示されているものは、図４のトランスポートブロック１４、より正確にいえばこのブロックのＰＴＩ１４２、１４３、１４４の１つに対応するデマルチプレクサから得られるオーディオデータパケットのストリーム８１とビデオデータパケットのストリーム８２にそれぞれ対応する。たとえば、ストリーム８１、８２は、符号化されているデータ、すなわちデマルチプレクサ１４により以前に受けられ、所与の伝送チャネル（衛星、ケーブルまたはＤＶＢ）を通じてデコーダボックスへ送られた、圧縮されたデータ（たとえば、ＭＰＥＧ規格の意味するところのトランスポートストリーム）のストリーム８３を、多重分離しスクランブル解除することによって、得られる。変形例では、それらは、デマルチプレクサ１４により以前に受けられたトランスポートストリームであって、トランスポートストリーム８３と共通点があるがハードディスク２０から読出されるトランスポートストリーム８４を、多重分離しスクランブル解除することによって得ることができる。そのようなトランスポートストリームは、所与の伝送チャネル（衛星、ケーブルまたはＤＶＢ）を介してデコーダボックスに送られた後でハードディスク２０に保存されたものであってもよい。
【０１０５】
同様に、示されているものは、ハードディスク２０（または他の任意の大容量記憶デジタル媒体）から得られるオーディオデータパケットのストリーム８５とビデオデータパケットのストリーム８６である。たとえば、それらのストリーム８５、８６は、ハードディスクから直接読出される。この場合には、それらはたとえば、前述のストリーム８３などのトランスポートストリームからデマルチプレクサ１４により生成された後に、特に、ＭＰＥＧ規格の意味するところでパケット化された基本ストリーム（ＰＥＳ）の形で、ハードディスク２０に以前に保存されたものである。
【０１０６】
あらゆる場合に、オーディオデータパケットのストリームの部分とビデオデータパケットのストリームの部分は、バッファメモリの組７０にロードされる。パケット化されたストリームの部分を取扱っているという事実は、バッファメモリ内のオーディオフレームの場所およびビデオフレーム（画）の場所についての情報を先験的には使用できないことを意味する。このようにバッファされているストリーム部分の解析のステップが、この情報を得ることを可能にすることが、後で分かるであろう。バッファされているデータが圧縮されているが平文データであるという事実は、バッファリングが復号に非常に近い時点で起きる限り、番組に対する著作権侵害行為の防止に関しては、実際には欠点ではない。
【０１０７】
有利なことに、バッファメモリ７０へのロードを、プルモードに従って、管理モジュール２２６（ＤＭＡマネージャ）によって実行できる。このようにして、バッファメモリの容量のオーバーフローの危険は避けられる。
【０１０８】
次に、オーディオデータとビデオデータは、前述したバッファメモリから、オーディオデコーダ１３０とビデオデコーダ１３１にそれぞれ入力として供給される。有利なことに、この供給は、ＤＭＡマネージャ２２６により、プッシュモードに従って制御される。しかし、後で分かるようにこの供給を制御するのは正確にデコーダであるので、デコーダのＦＩＦＯ１３５（またはＣＤ＿ＵＮＩＴ）の容量がオーバーフローする危険は、これからは起こらない。さらに、デコーダの容量のアンダーフローの逆の危険が、パケットのプリバッファリングのために、実質的に限定される。
【０１０９】
１組のバッファメモリ７０は圧縮されたデータをいくつかの源から同時に受けることができることが注目されるであろう。それは、特に、トランスポートブロック１４（図４）のデマルチプレクサ（ＰＴＩ）１４２、１４３、１４４の少なくとも１つが、オーディオデータパケットのいくつかのストリームとビデオデータパケットのいくつかの対応するストリームとをほぼ同時に出力する場合である。またそれは、デマルチプレクサが、オーディオデータパケットのいくつかのストリームとビデオデータパケットのいくつかの対応するストリームを、オーディオデータパケットの別のストリームとビデオデータパケットの対応するストリームがインタフェース１６を介してハードディスク２０から読出されるのとほぼ同時に出力する場合でもある。
【０１１０】
さらに、デコーダ１３０などのいくつかのオーディオデコーダと、デコーダ１３１などのいくつかのビデオデコーダとの少なくとも一方を設けることができる。
【０１１１】
ＤＭＡマネージャ２２６により適用される規則は、所与の時刻に、組７０の基本ストリームバッファメモリに、たかだかただ１つのデータ源とたかだか１つのデータ消費要素（オーディオデコーダまたはビデオデコーダ）が関連させられる、というものである。言い換えると、源とデコーダの間の単一の経路が所与のバッファメモリを通る。
【０１１２】
最後に、そのようにして供給されたビデオデータとオーディオデータは、オーディオデコーダ１３０とビデオデコーダ１３１の支援によってそれぞれ復号される。
【０１１３】
有利なことに、データがハードディスク２０から出ると、ＤＭＡマネージャ２２６はビデオデコーダ１３１により駆動される。言い換えると、ハードディスクの読出しモードにあるとき、すなわち、復号すべきデータがハードディスク２０から出た時に、ビデオドライバ回路１０のマスタは、デコーダ１３のビデオデコーダである。したがって、ビデオドライバ回路１０の一般的なクロックを定めるのはビデオデコーダ１３１である。そのために、ビデオデコーダ１３１は表示の垂直同期信号（すなわち信号Ｖｓｙｎｃ）のパルスに対応するイベントを用いて、仮想タイムベースを定める。それは、復号すべきデータが通る基本ストリームバッファメモリを指令するために必要な要求を管理するＤＭＡマネージャ２２６を介して、復号すべきデータをハードディスクに要求する。利用できる要求は、たとえば：
・所与のバッファメモリにデータをロードすることを命令する要求、
・所与のバッファメモリへのデータのロードを停止を命令する要求、
・所与のバッファメモリによるデータの供給を命令する要求、
・所与のバッファメモリによるデータの供給の停止を命令する要求、
・バッファメモリへのデータのロードの停止、およびこのバッファメモリによるデータの供給の停止を命令し、かつこのバッファメモリのポインタの再初期化を指令する要求、
である。
【０１１４】
それら５つの要求の組合わせによって、デマルチプレクサから（またはデマルチプレクサの１つから）、あるいは、直接、ハードディスクからデータを取得して、それらを復号のためにデコーダ（またはデコーダの１つ）に供給するように、あらゆる状況を管理することを可能にする。
【０１１５】
適切な同期機構によってオーディオ処理手順をビデオ処理手順に自身で同期できることが、注目されるであろう。
【０１１６】
実際のタイムベースは、表示されるフレーム（画像）当りの信号Ｓｙｎｃの周期に対応する。導入される仮想タイムベースは、次のパラメータ、「信号Ｓｙｎｃの周期当りの過去の画像の数」により定められる。これは、特に、種々の読出し速さを管理することを可能にする。この定義の意味において、「過去の画像」という表現は、表示された画像またはスキップされた画像を意味するものと理解される。
【０１１７】
たとえば、読出し速さが公称速さ（１倍速）であれば、「信号Ｖｓｙｎｃの周期当りの過去の画像の数」は１に等しい。これは、仮想クロックの周期の数が信号Ｓｙｎｃの周期の数に等しいことを意味する。その後で、仮想クロックは、それ自身を実際のクロックに整列させる。読出し速さが、Ｎを所与の整数として、Ｎ個からの１つの画像の表示するのに対応するもの（Ｎ倍速）とすると、これは、信号Ｖｓｙｎｃの１周期ごとにＮ個の画像が通ること、または、仮想クロック信号のＮ個の周期が信号Ｖｓｙｎｃの１周期中で生起したことを意味する。
【０１１８】
このように、画像凍結（フリーズ）コマンド中、または１つの画像を前進または後進させるコマンド中、またはスキップ中、またはビデオ同期化の喪失中は、動作は、「信号Ｖｓｙｎｃの周期当りの過去の画像の数」パラメータを、最初の場合にはゼロに設定し、他の場合には、１単位だけ増加（インクリメント）／減少（デクリメント）させる。
【０１１９】
仮想タイムベースに対応する信号Ｖｓｙｎｃのパルスが到達するたびに（すなわち、表示の各垂直同期イベント（文献にはＶｓｙｎｃで示されてもいる）ごとに）、デコーダ１３はバッファメモリ７０の状態を調べる。もしそれらが空であれば、デコーダ１３は、バッファメモリ７０にデータを供給することをパイプラインマネージャ２１０に指示する。
その後、パイプラインマネージャ２１０は、データをデマルチプレクサ１４に供給するようにハードディスク２０に対するアクセスを指令し、デマルチプレクサ１４は、その後でバッファメモリ７０を介してそれらのデータをデコーダ１３に供給する。全体はクロックに同期されている。
【０１２０】
フレームを提示する速さは、タイプＭ／Ｑ（Ｍは画像の数を示し、Ｑは表示の垂直同期イベントの数（すなわち信号Ｖｓｙｎｃのパルスの数）を示す）の分数の形を持つパラメータの支援によって、表示モジュール２３４により管理できる。分数Ｍ／Ｑは、好ましくは、約分させられている、すなわち数ＭとＱは互いに素であることが好ましい。この速さはユーザにより制御される。この目的のためにユーザが入力する読出しコマンドは、ビデオデコーダ１３１に対して直接作用する（図７参照）。それらのコマンドは、たとえば、公称速さまたは高速での順方向読出し、画像凍結（フリーズ）、高速その他での巻き戻し、コマ送り画像表示(image-by-image display)、などである。
【０１２１】
バッファメモリ７０は、好ましくは線形に管理され、特に、循環形態に管理される。しかし、ユーザが巻き戻しコマンドを入力すると（画像を逆方向に表示するために）、バッファメモリ７０はもはや線形ではない。実際に、この場合にはデコーダは指定されている基本ストリームバッファメモリに対してラッチし、そのバッファメモリが保持しているデータをランダムにアクセスできる。
【０１２２】
有利な実施の形態では、各バッファメモリ７０は、第１のメモリバンクおよび第２のメモリバンクを有する。したがって、所与のバッファメモリの第１のメモリバンクに保持されている、データストリームの第１の部分の解析を、前記バッファメモリの第２のメモリバンクに保持されている、同じデータストリームの第２の部分にそれぞれ含まれているオーディオフレームまたはビデオフレームの復号と、同時に実行できる。
【０１２３】
この解析は、上記のヘッダ探索モジュール２３１によって実行される。それは復号可能なフレーム群のランダムアクセス点（ＲＡＰ；Random Access Point）を特定すること、および少なくとも前記群の各フレームに対して、バッファメモリのフレームのアドレスと、順方向へのフレームの提示順序に関連させられている提示時間スタンプ（ＰＴＳ）とを含む情報を決定することにある。ＭＰＥＧ規格にしたがって符号化されたビデオフレームの場合には、この情報は、タイプＩ、ＰまたはＢの画像をさらに含む。
【図面の簡単な説明】
【０１２４】
【図１】先行技術に従ってオーディオパケットのストリームおよびビデオパケットのストリームを復号する原理を示すブロック図である。
【図２】先行技術に従ってオーディオパケットのストリームおよびビデオパケットのストリームを復号する原理を示す図である。
【図３】本発明に基づく回路を含むデコーダボックスの一例の簡略にした図である。
【図４】本発明に基づく回路のハードウェアアーキテクチャの一例を示す図である。
【図５】図４の回路に含まれているオーディオ／ビデオデコーダの一例の詳細を示す図である。
【図６】ハードディスクへの番組の記録および読出しを行う手段のソフトウエアアーキテクチャの一例を示す図である。
【図７】本発明に基づいてオーディオパケットのストリームとビデオパケットのストリームとを復号する原理を示す図である。
【符号の説明】
【０１２５】
１    デコーダボックス
２、２′、３、３′、４、′    入力端子
２ａ、３ａ、４ａ    チューナ
２ｂ、３ｂ、４ｂ    アナログ／デジタル変換器（ＣＡＮ）
２ｃ、３ｃ、４ｃ    復調器
２ｄ、３ｄ、４ｄ    誤り訂正フィルタ（ＦＥＣ）
５、５′    入出力端子
６ａ、６ａ′、６ｂ、６ｂ′、７ａ、７ｂ、７ｃ、８、８′、９、９′    出力端子
１０    ビデオドライバ回路
１１    中央演算装置（ＣＰＵ）
１２    相互接続プレーン（バス）
１３    オーディオ／ビデオデコーダ
１４    トランスポートブロック
１５    低レベルインタフェース（ＬＬＩ）
１６    インタフェース（ＡＴＡ）
１７    外部メモリインタフェース（ＥＭＩ）
１９    エンジン
２０    ハードディスク
２１    ビデオエンコーダ
２２    テレテキストデータデコーダ
２３    オーディオサブシステム
３０    システムメモリ
３１    共有メモリ
７０    バッファメモリ
１２１    ＧＰＤＭＡコントローラ
１３０    オーディオデコーダ
１３１    ビデオデコーダ
１３２    サブタイトルデコーダ
１３３    画像合成器
１３４    共有メモリインタフェース
１３５    バッファメモリ
１４１    トランスポートストリームマルチプレクサ（ＴＳＭＵＸ）
１４２、１４３、１４４  プログラム可能トランスポートインタフェース（ＰＴＩ）
１４５    スクランブル解除モジュール
１８１    インタフェース
２１０    パイプラインマネージャ
２１１    記録マネージャ
２１２    読出しマネージャ
２１３    インデックスマネージャ
２１４    データマネージャ
２２１    記録モジュール
２２２    インデックスモジュール
２２３    ファイルシステム
２２４    ＭＰＥＧシーケンサ
２２５    読出しモジュール
２２６    管理モジュール
２２８    低レベルドライバソフトウエア
２３１    ヘッダ探索モジュール
２３２    復号モジュール
２３３    フレームメモリマネージャ
２３４    表示モジュール
【図１】
2004208305.tif 000003
【図２】
2004208305.tif 000004
【図３】
2004208305.tif 000005
【図４】
2004208305.tif 000006
【図５】
2004208305.tif 000007
【図６】
2004208305.tif 000008
【図７】
2004208305.tif 000009