(57)【要約】MPEGプロセッサが提供される。プロセッサの一つの局面によると、対応するチャネルのための多数のMPEGデータストリームがオフチップメモリに個々に記憶される。そして、チャネルのための対応するデータが処理のためにオフチップメモリから読み出される。そして、読み出されたデータがデコードされる。デコードされた結果および関連情報がオフチップメモリに記憶される。後続のデータをデコードするために使用することができる関連情報の一部または全部がオンチップメモリに記憶される。ビデオイメージを表示しなければならない場合、その目的に必要な対応するデータがオフチップメモリから読み出され、アナログエンコーダに提供されて、アナログ表示装置とで互換性であるフォーマットでエンコードされる。2007529155.tif 000003
2007529155.tif 000002
【特許請求の範囲】
【請求項１】
オフチップメモリ、および、オンチップメモリを有する処理モジュールを含む、MPEG信号を処理するためのシステムであって、処理モジュールが、
複数のチャネルからデータを受け、データを記憶のためにオフチップメモリに転送し、
チャネルのためのデータが所定の容量に達したとき、チャネルのためのデータをオフチップメモリから読み出し、
オフチップメモリから読み出されたデータをデコードし、
デコードされたデータおよび関連情報をオフチップメモリに記憶し、関連情報の一部または全部をオンチップメモリに記憶し、オンチップメモリに記憶された関連情報の一部または全部は後続のデコードのために使用されるものであって、
デコードされたデータおよび関連情報をオフチップメモリから読み出し、読み出されたデータをエンコードし、
エンコードされたデータを表示装置に転送するように設計されているシステム。
【請求項２】
チャネルのためのデータが、少なくともIフレームおよびPBBフレームシーケンスを含む、請求項1記載のシステム。
【請求項３】
処理モジュールがさらに、
Iフレームをデコードし、対応するデコードされた結果および関連情報を生成し、
Iフレームのためのデコードされた結果および関連情報をオフチップメモリに転送し、Iフレームのための関連情報の一部または全部をオンチップメモリに転送するように設計されており、
オンチップメモリに記憶されたIフレームのための関連情報が、PBBフレームシーケンス中の一つまたは複数のフレームをデコードするために使用される、請求項2記載のシステム。
【請求項４】
処理モジュールがさらに、
Iフレームまたは直前のPフレームのための関連情報を使用してPBBフレームシーケンス中のPフレームをデコードし、対応するデコードされた結果および関連情報を生成し、
Pフレームのためのデコードされた結果および関連情報をオフチップメモリに転送し、Pフレームのための関連情報の一部または全部をオンチップメモリに転送するように設計されており、
オンチップメモリに記憶されたPフレームのための関連情報が、PBBフレームシーケンス中の一つまたは複数のフレームをデコードするために使用される、請求項3記載のシステム。
【請求項５】
処理モジュールがさらに、
Pフレームおよび／またはIフレームのための関連情報を使用してPBBフレームシーケンス中のBフレームをデコードし、対応するデコードされた結果および関連情報を生成し、
Bフレームのためのデコードされた結果および関連情報を記憶のためにオフチップメモリに転送するように設計されている、請求項4記載のシステム。
【請求項６】
処理モジュールが、以下を含む、請求項1記載のシステム：
複数のチャネルからデータを受けるように設計されたビデオトランスポートエンジン；
オフチップメモリから読み出されたデータをデコードするように設計されたデコーダ；および
オフチップメモリから読み出されたデータをエンコードするように設計されたエンコーダ。
【請求項７】
チャネルのためのデータが、固定数のフレームを含む、請求項1記載のシステム。
【請求項８】
処理モジュールがチャネルのための固定数のフレームを処理する前に、同じチャネルのための先に記憶されていた参照フレームに関する情報がオフチップメモリから読み出され、次にオンチップメモリにロードされる、請求項7記載のシステム。
【請求項９】
処理モジュールがさらに、参照フレームに関する読み出された情報を使用して一つまたは複数のさらなる参照フレームを回収するように設計されている、請求項8記載のシステム。
【請求項１０】
処理モジュールが別のチャネルに切り替わる前に、同じチャネルが次に処理されるときの参照のために、参照フレームに関する情報がオフチップメモリに記憶される、請求項7記載のシステム。
【請求項１１】
処理モジュールが、集積回路チップ上に構築されている、請求項1記載のシステム。
【請求項１２】
請求項1記載のシステムを組み込んだ、セットトップボックス。
【請求項１３】
オフチップメモリ、および、オンチップメモリを有する処理モジュールを含む、MPEG信号を処理するためのシステムであって、処理モジュールが、
複数のチャネルからMPEGデータを受け、MPEGデータを記憶のためにオフチップメモリに転送し、
複数のチャネルに対応するMPEGデータをチャネル単位で読み出し、デコードし、
デコードされたデータおよびMPEGデータに対応する関連情報をオフチップメモリに記憶し、
関連情報の一部または全部をオンチップメモリに記憶し、関連情報の一部または全部は、MPEGデータのデコードを容易にするために使用されるものであって、
デコードされたデータおよび関連情報をオフチップメモリから読み出し、読み出されたデコードされたデータおよび関連情報を使用して、アナログ表示装置が対応するイメージを生成するために使用するのに適しているエンコードされた結果を生成するように設計されているシステム。
【請求項１４】
MPEGデータが、少なくともIフレームおよびPBBフレームシーケンスを含む、請求項13記載のシステム。
【請求項１５】
処理モジュールがさらに、
Iフレームをデコードし、対応するデコードされた結果および関連情報を生成し、
Iフレームのためのデコードされた結果および関連情報をオフチップメモリに転送し、Iフレームのための関連情報の一部または全部をオンチップメモリに転送するように設計されており、
オンチップメモリに記憶されたIフレームのための関連情報が、PBBフレームシーケンス中の一つまたは複数のフレームをデコードするために使用される、請求項14記載のシステム。
【請求項１６】
処理モジュールがさらに、
Iフレームまたは直前のPフレームのための関連情報を使用してPBBフレームシーケンス中のPフレームをデコードし、対応するデコードされた結果および関連情報を生成し、
Pフレームのためのデコードされた結果および関連情報をオフチップメモリに転送し、Pフレームのための関連情報の一部または全部をオンチップメモリに転送するように設計されており、
オンチップメモリに記憶されたPフレームのための関連情報が、PBBフレームシーケンス中の一つまたは複数のフレームをデコードするために使用される、請求項15記載のシステム。
【請求項１７】
処理モジュールがさらに、
Pフレームおよび／またはIフレームのための関連情報を使用してPBBフレームシーケンス中のBフレームをデコードし、対応するデコードされた結果および関連情報を生成し、
Bフレームのためのデコードされた結果および関連情報を記憶のためにオフチップメモリに転送するように設計されている、請求項16記載のシステム。
【請求項１８】
処理モジュールが、以下を含む、請求項13記載のシステム：
複数のチャネルからMPEGデータを受けるように設計されたビデオトランスポートエンジン；
オフチップメモリから読み出されたMPEGデータをチャネル単位でデコードするように設計されたデコーダ；ならびに
読み出されたデコードされたデータおよび関連情報を使用して、エンコードされた結果を生成するように設計されたエンコーダ。
【請求項１９】
ビデオトランスポートエンジンが、以下を含む、請求項18記載のシステム：
MPEGデータをフィルタリングし、MPEGデータをオフチップメモリに記憶する場合に使用される対応するメモリアドレスを提供するように設計されたパケットIDフィルタ；
パケットIDフィルタから受けられるフィルタリングされたMPEGデータからトランスポートストリームヘッダおよび他のシステム情報を除去するように設計されたトランスポートストリームプロセッサ；ならびに
トランスポートストリームプロセッサから出力を受け、出力中のヘッダを識別するように設計されたエレメンタリストリームプリプロセッサ。
【請求項２０】
デコーダがさらに、識別されたヘッダを使用して多数のマクロブロックおよび／またはスライスを並列にデコードするように設計されている、請求項19記載のシステム。
【請求項２１】
処理されるチャネルのためのMPEGデータが、固定数のフレームを含む、請求項13記載のシステム。
【請求項２２】
処理モジュールがチャネルのための固定数のフレームを処理する前に、その同じチャネルのために先に記憶されていた参照フレームに関する情報がオフチップメモリから読み出され、オンチップメモリにロードされる、請求項13記載のシステム。
【請求項２３】
処理モジュールがさらに、参照フレームに関する読み出された情報を使用して、一つまたは複数のさらなる参照フレームを回収するように設計されている、請求項22記載のシステム。
【請求項２４】
処理モジュールが別のチャネルに切り替わる前に、同じチャネルが次に処理されるときの参照のために、参照フレームに関する情報がオフチップメモリに記憶される、請求項13記載のシステム。
【請求項２５】
処理モジュールが、集積回路チップ上に構築されている、請求項13記載のシステム。
【請求項２６】
請求項13記載のシステムを組み込んだ、セットトップボックス。
【請求項２７】
以下を含むMPEGプロセッサ：
複数のチャネルからMPEGデータを受け、MPEGデータを記憶のためにオフチップメモリに転送するように設計されたビデオトランスポートエンジン；
オンチップメモリ；
オフチップメモリからチャネルためのデータを読み出すように設計された制御論理；
読み出されたデータをデコードし、デコードされたデータおよび関連情報を生成するように設計されたデコーダ；
デコードされたデータおよび関連情報をオフチップメモリに転送し、関連情報の一部または全部をオンチップメモリに記憶するように設計された制御論理；ならびに
オンチップメモリに記憶された関連情報の一部または全部を読み出し、関連情報の一部または全部を後続のデコードにおける使用のためにデコーダに転送するように設計された制御論理。
【請求項２８】
以下をさらに含む、請求項27記載のMPEGプロセッサであって、エンコードされた結果が、アナログ表示装置による使用に適したものであるプロセッサ：
デコードされたデータおよび関連情報をオフチップメモリから読み出すように設計された制御論理；ならびに
オフチップメモリから読み出されデコードされたデータおよび関連情報を使用して、エンコードされた結果を生成するように設計されたエンコーダ。
【請求項２９】
ビデオトランスポートエンジンが、以下を含む、請求項27記載のMPEGプロセッサ：
MPEGデータをフィルタリングし、MPEGデータをオフチップメモリに記憶する場合に使用される対応するメモリアドレスを提供するように設計されたパケットIDフィルタ；
パケットIDフィルタから受けられるフィルタリングされたMPEGデータからトランスポートストリームヘッダおよび他のシステム情報を除去するように設計されたトランスポートストリームプロセッサ；ならびに
トランスポートストリームプロセッサから出力を受け、出力中のヘッダを識別するように設計されたエレメンタリストリームプリプロセッサ。
【請求項３０】
デコーダがさらに、識別されたヘッダを使用して多数のマクロブロックおよび／またはスライスを並列にデコードするように設計されている、請求項29記載のMPEGプロセッサ。
【請求項３１】
チャネルのためのデータが、少なくともIフレームおよびPBBフレームシーケンスを含む、請求項27記載のMPEGプロセッサ。
【請求項３２】
デコーダがさらに、
Iフレームをデコードし、対応するデコードされた結果および関連情報を生成し、
Iフレームのためのデコードされた結果および関連情報をオフチップメモリに転送し、Iフレームのための関連情報の一部または全部をオンチップメモリに転送するように設計されており、
オンチップメモリに記憶されたIフレームのための関連情報が、PBBフレームシーケンス中の一つまたは複数のフレームをデコードするために使用される、請求項31記載のMPEGプロセッサ。
【請求項３３】
デコーダがさらに、
Iフレームまたは直前のPフレームのための関連情報を使用してPBBフレームシーケンス中のPフレームをデコードし、対応するデコードされた結果および関連情報を生成し、
Pフレームのためのデコードされた結果および関連情報をオフチップメモリに転送し、Pフレームのための関連情報の一部または全部をオンチップメモリに転送するように設計されており、
オンチップメモリに記憶されたPフレームのための関連情報が、PBBフレームシーケンス中の一つまたは複数のフレームをデコードするために使用される、請求項32記載のMPEGプロセッサ。
【請求項３４】
処理モジュールがさらに、
Pフレームおよび／またはIフレームのための関連情報を使用してPBBフレームシーケンス中のBフレームをデコードし、対応するデコードされた結果および関連情報を生成し、
Bフレームのためのデコードされた結果および関連情報を記憶のためにオフチップメモリに転送するように設計されている、請求項33記載のMPEG。
【請求項３５】
チャネルのためのデータが、固定数のフレームを含む、請求項27記載のMPEGプロセッサ。
【請求項３６】
デコーダがチャネルのための固定数のフレームを処理する前に、同じチャネルのための先に記憶されていた参照フレームに関する情報がオフチップメモリから読み出され、オンチップメモリにロードされる、請求項35記載のMPEGプロセッサ。
【請求項３７】
デコーダがさらに、参照フレームに関する読み出された情報を使用して一つまたは複数のさらなる参照フレームを回収するように設計されている、請求項36記載のMPEGプロセッサ。
【請求項３８】
デコーダが別のチャネルに切り替わる前に、同じチャネルが次に処理されるときの参照のために、参照フレームに関する情報がオフチップメモリに記憶される、請求項35記載のMPEGプロセッサ。
【請求項３９】
処理モジュールが、集積回路チップ上に構築されている、請求項38記載のMPEGプロセッサ。
【請求項４０】
請求項27記載のMPEGプロセッサを組み込んだ、セットトップボックス。
【請求項４１】
オフチップメモリ、および、オンチップメモリを有する処理モジュールを含む、MPEG信号を処理するためのシステムであって、処理モジュールが、
複数のチャネルからデータを受け、データを記憶のためにオフチップメモリに転送し、
チャネルのためのデータが所定の容量に達したとき、チャネルのためのデータをオフチップメモリから読み出し、
オフチップメモリから読み出されたデータをデコードし、
デコードされたデータに関連する情報をオンチップメモリに記憶し、オンチップメモリに記憶された情報は後続のデコードのために使用されるものであって、
デコードされたデータをエンコードし、
エンコードされたデータを記憶のためにオフチップメモリに転送するように設計されているシステム。
【請求項４２】
処理モジュールがさらに、
エンコードされたデータをオフチップメモリから読み出し、
読み出されエンコードされたデータをアナログ表示装置に転送するように設計されている、請求項41記載のシステム。
【請求項４３】
チャネルのためのデータが少なくともIフレームおよびPBBフレームシーケンスを含む、請求項41記載のシステム。
【請求項４４】
処理モジュールがさらに、
Iフレームをデコードし、対応するデコードされた結果および関連情報を生成し、
Iフレームのための関連情報の一部または全部をオンチップメモリに転送するように設計されており、
オンチップメモリに記憶されたIフレームのための関連情報が、PBBフレームシーケンス中の一つまたは複数のフレームをデコードするために使用される、請求項43記載のシステム。
【請求項４５】
処理モジュールがさらに、
Iフレームまたは直前のPフレームのための関連情報を使用してPBBフレームシーケンス中のPフレームをデコードし、対応するデコードされた結果および関連情報を生成し、
Pフレームのための関連情報の一部または全部をオンチップメモリに転送するように設計されており、
オンチップメモリに記憶されたPフレームのための関連情報が、PBBフレームシーケンス中の一つまたは複数のフレームをデコードするために使用される、請求項44記載のシステム。
【請求項４６】
処理モジュールがさらに、
Pフレームおよび／またはIフレームのための関連情報を使用してPBBフレームシーケンス中のBフレームをデコードするように設計されている、請求項45記載のシステム。
【請求項４７】
チャネルのためのデータが、固定数のフレームを含む、請求項41記載のシステム。
【請求項４８】
処理モジュールがチャネルのための固定数のフレームを処理する前に、同じチャネルのための先に記憶されていた参照フレームに関する情報がオフチップメモリから読み出され、オンチップメモリにロードされる、請求項47記載のシステム。
【請求項４９】
処理モジュールがさらに、参照フレームに関する読み出された情報を使用して一つまたは複数のさらなる参照フレームを回収するように設計されている、請求項48記載のシステム。
【請求項５０】
処理モジュールが別のチャネルに切り替わる前に、同じチャネルが次に処理されるときの参照のために、参照フレームに関する情報がオフチップメモリに記憶される、請求項47記載のシステム。
【請求項５１】
処理モジュールが、集積回路チップ上に構築されている、請求項41記載のシステム。
【請求項５２】
請求項41記載のシステムを組み込んだ、セットトップボックス。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の背景
本発明は一般に、マルチストリームビデオプロセッサのためのチップアーキテクチャに関し、より具体的には、高速マルチストリームMPEGデコーダに関する。
【０００２】
関連出願の相互参照
本出願は、米国特許法119条の下、開示内容が全体として参照により本明細書に組み入れられる、2003年7月9日出願の「METHOD AND SYSTEM FOR PROVIDING A HIGH SPEED MULTI-STREAM MPEG DECORDER」と題するWeiMin Zhangによる米国特許仮出願第60/486,030号の優先権の恩典を主張する。
【背景技術】
【０００３】
ビデオストリームは従来、伝送を容易にするため、特定のタイプのMPEGストリームに圧縮されている。MPEGは、Moving Picture Experts Groupの略である。MPEG規格は、ビデオデータ、たとえば動画および関連するオーディオデータのコード化ならびに多重およびインタリーブ式ビデオシーケンスをはじめとするそれらの同期化を包含する。たとえば、今日のセットトップボックスの大部分はMPEG-2ビデオフォーマットを使用する。MPEGビデオは、アナログビデオフォーマット、たとえばNTSCまたはPALに比べて圧縮度が高い。
【０００４】
MPEG-2ビデオシーケンスは、3種の異なる画像フレーム、すなわちIフレーム、PフレームおよびBフレームで構成されている。図1は、典型的なMPEG-2コードフレームシーケンスを示す簡略図である。Iフレームは、他のフレームを参照することなく独立してコード化されているイントラコード化フレームである。Iフレームは、デコードを開始することができるコード化ビデオシーケンスへのアクセスポイントを提供する。しかし、Ｉフレームは適度にしか圧縮されない。他2種のフレーム、PフレームおよびBフレームは、インタコード化されているか、非イントラコード化されている。Pフレームは予測的にコード化されたフレームであり、すなわち、このようなフレームは、直前のIまたはPフレームを参照する動き補正を使用してコード化されている。Pフレームは、Ｉフレームよりも効率的にコード化されている。Bフレームは、双方向予測的にコード化されたフレームである。Bフレームは、ビデオシーケンス中の過去および未来のIまたはPフレームを参照する動き補正を使用してコード化されており、圧縮度が高い。
【０００５】
従来、MPEG-2ビデオフレームシーケンスをデコードするためにはMPEGデコーダが使用されている。そして、デコードされたシーケンスは直接アナログエンコーダに転送される。すると、アナログエンコーダは、テレビのようなアナログ表示装置が対応するビデオおよびオーディオデータを表示することを可能にするため、互換性の信号を発する。アナログ表示装置は通常、フィールド内の走査線を一つ置きに再現することによってビデオイメージを生成する。換言するならば、まず偶数番号の線が再現され、次いで奇数番号の線が再現される、またはその反対である。そして、結果がインタレースされてビデオイメージが生成される。
【０００６】
MPEG-2ビデオフレームシーケンスが順次に処理され、入ってくるデータストリームの数が比較的限られるならば、前記の構造で記憶要件は大した問題を呈さない。しかし、入ってくるデータストリームの数が増すにつれ、MPEG-2ビデオフレームシーケンスの処理を促進するために必要である記憶量が深刻な障害となり、それによってシステムの効率に悪影響を及ぼす。
【０００７】
したがって、ビデオ処理をより効率的に扱うことができる改良されたMPEGデコーダを提供することが望ましいであろう。
【発明の開示】
【０００８】
発明の概要
MPEGプロセッサが提供される。プロセッサの一つの局面によると、対応するチャネルのための多数のMPEGデータストリームがオフチップメモリに個々に記憶される。そして、チャネルのための対応するデータが処理のためにオフチップメモリから読み出される。そして、読み出されたデータがデコードされる。デコードされた結果および関連情報がオフチップメモリに記憶される。後続のデータをデコードするために使用することができる関連情報の一部または全部がオンチップメモリに記憶される。ビデオイメージを表示しなければならない場合、その目的に必要な対応するデータがオフチップメモリから読み出され、アナログエンコーダに提供されて、アナログ表示装置とで互換性であるフォーマットでエンコードされる。
【０００９】
一つの態様では、MPEGプロセッサは、多数のチャネルからMPEGデータを受け、MPEGデータを記憶のためにオフチップメモリに転送するように設計されたビデオトランスポートエンジンと、オンチップメモリと、チャネルのためのデータをオフチップメモリから読み出すように設計された制御論理と、読み出されたデータをデコードし、デコードされたデータおよび関連情報を生成するように設計されたデコーダと、デコードされたデータおよび関連情報をオフチップメモリに転送し、関連情報の一部または全部をオンチップメモリに記憶するように設計された制御論理と、オンチップメモリに記憶された関連情報の一部または全部を読み出し、関連情報の一部または全部を後続のデコードにおける使用のためにデコーダに転送するように設計された制御論理とを含む。MPEGプロセッサはさらに、デコードされたデータおよび関連情報をオフチップメモリから読み出すように設計された制御論理と、オフチップメモリから読み出された、デコードされたデータおよび関連情報を使用して、アナログ表示装置による使用に適するエンコードされた結果を生成するように設計されたエンコーダとを含む。
【００１０】
図面および請求の範囲を含む明細書の残り部分を参照すると、本発明の他の特徴および利点が理解されるであろう。本発明のさらなる特徴および利点ならびに本発明の様々な態様の構造および動作を、以下、添付図面を参照しながら詳細に説明する。図中、類似した参照番号は同一または機能的に類似した要素を示す。
【００１１】
発明の詳細な説明
以下、本発明を一つまたは複数の例示的な態様で説明する。本発明の一つの例示的な態様によると、マルチストリームビデオデータのMPEG-2ビデオデコードのための改良されたチップアーキテクチャが提供される。図2は、本発明のシステムの第一の例示的な態様を示す簡略化ブロック図である。この例示的な態様では、システム10は、処理モジュール12およびオフチップメモリ26をはじめとする多数の部品で構成されている。処理モジュール12はさらに、ビデオトランスポートエンジン14、オンチップメモリ16、デジタルビデオ／オーディオデコーダ18、多数のダイレクトメモリアクセス20a〜d、メモリインタフェース22、アナログエンコーダ24および様々な部品間の動作を制御する制御論理を含む。一つの実施態様では、処理モジュール12は、集積回路チップ上に構築される。本明細書で提供する開示および教示に基づくと、当業者は、本発明を具現化するための他の方法を理解するであろう。
【００１２】
システム10は、様々なチャネルからの多数のMPEG-2データストリームを以下の例示的な方法で処理する。多数のデータストリームがビデオトランスポートエンジン14によって受けられる。ビデオトランスポートエンジン14は、まず、チャネルごとの対応するデータストリームをダイレクトメモリアクセス20aに記憶することによって多数のデータストリームを処理する。各チャネルが、一つのデータストリームに対応してもよいし、複数のデータストリームに対応してもよいということを理解されたい。たとえば、チャネルは、一つのビデオストリームを、対応するオーディオストリームおよび／または他の関連するストリームとともに有してもよい。次に、ダイレクトメモリアクセス20aからのデータがメモリインタフェース22を介してオフチップメモリ26にオフロードされて記憶される。チャネルについてさらなる処理に十分なデータが記憶されると、そのチャネルのための対応するデータがオフチップメモリ26から読み出される。オフチップメモリ26からのデータは、デジタルビデオ／オーディオデコーダ18による後続の処理に備えてダイレクトメモリアクセス20bに記憶される。デコーダ18は、以下さらに説明するようにして、一度に1チャネル分のデータを処理する。一つの実施態様では、デコーダ18は、1チャネル分のデータを並列に処理することができる。
【００１３】
図4は、ビデオトランスポートエンジン14の態様を示す簡略化ブロック図である。図4を参照すると、ビデオトランスポートエンジン14は、パケットID（PID）フィルタ30、条件付きアクセスモジュール32、トランスポートストリームプロセッサ34およびエレメンタリストリームプリプロセッサ36を含む。
【００１４】
PIDフィルタ30は、様々なチャネルまたはプログラムに対応する多数のデータストリームを受ける。一つの態様では、データストリームはパケットで構成されている。各パケットは、188x8ビットであり、パケットIDを有している。マクロブロックのサイズが比較的大きい（たとえばパケットのサイズを超える）場合、多数のパケットが一つのマクロブロックを構成することができ、マクロブロックのサイズが比較的小さい場合、一つのパケットが多数のマクロブロックを含むことができる。PIDフィルタ30は、各パケットのパケットIDを読み取り、そのパケットの、オフチップメモリ26中の正しいメモリアドレスを提供する。
【００１５】
次に、パケットおよびその対応するメモリアドレスが条件付きアクセスモジュール32に転送される。条件付きアクセスモジュール32は、多数のデータストリームからパケットを受け、処理することができ、パケットに関するアクセス条件を制御する。たとえば、特定のアクセス条件のせいで処理されないパケットは、条件付きアクセスモジュール32によって排除される。
【００１６】
次に、条件付きアクセスモジュール32からの出力がトランスポートストリームプロセッサ34に転送される。トランスポートストリームプロセッサ34は、異なるデータストリームに属するパケットを扱い、処理することができる。トランスポートストリームプロセッサ34の機能の一つは、トランスポートストリームヘッダおよび他のシステム情報をパケットから除去することである。
【００１７】
次に、トランスポートストリームプロセッサ34からの出力がエレメンタリストリームプロセッサ36に提供される。エレメンタリストリームプリプロセッサ36は、一つのデータストリームまたは多数のデータストリームのいずれかに属するパケットを扱い、処理することができる。エレメンタリストリームプリプロセッサ36はさらに、パケットまたはマクロブロックを並列に処理することができる。エレメンタリストリームプリプロセッサ36の機能の一つは、パケットがオフチップメモリ26に書き込まれる前に、パケット中のすべてのヘッダ、たとえばマクロブロックヘッダ、フレームヘッダおよびスライスヘッダなどを識別することである。これらのヘッダを識別することにより、多数のマクロブロックおよび／またはスライスをデコーダ18によって同時に処理することができる。
【００１８】
MPEG-2ビデオフレームは一般に、Iフレームによって区切られたPBBフレームの群として編成されている。MPEG-2ビデオフレームをデコードするには二つの方法がある。一つは、MPEG-2ビデオフレームを次のようにデコードする方法である。Iフレームの場合、参照フレームは不要であるため、Iフレームはデコーダ18によって処理される。デコーダ18によって生成された結果は、デコードされたデータおよび後で他のフレームをデコードするために使用することができる情報を含む関連情報を含む。デコードされたデータおよび関連情報はオフチップメモリ26に記憶され、関連情報の一部または全部は、容易なアクセスを可能にし、デコードプロセスを効率よく実施するため、オンチップメモリ16に記憶される。換言するならば、オンチップメモリ16に記憶されたデータは、他のフレームのデコードを容易にするために使用され、オフチップメモリ26に記憶されたデータは、後で表示目的に使用される。
【００１９】
Pフレームの場合、直前のPフレームまたはIフレームが参照フレームとして必要である。オンチップメモリ16がチェックされて、関連の参照フレームに関する情報が利用可能であるかどうかが決定される。そのような情報がオンチップメモリ16から利用可能ではないならば、オフチップメモリ26から読み出される。そして、読み出された情報は、後で使用するためにオンチップメモリ16に記憶される。そして、関連の参照フレームに関する情報を使用して、Pフレームがデコーダ18によって処理される。同様に、デコーダ18によって生成された結果は、デコードされたデータおよびPフレームのための関連情報を含む。デコードされたデータおよびPフレームのための関連情報はオフチップメモリ26に記憶され、Pフレームに関する関連情報の一部または全部もまた、後続のPまたはBフレームデコードのために、オンチップメモリ16に記憶される。
【００２０】
一つまたは複数のIフレームおよび／またはPフレームが処理されたのち、その一つまたは複数のIフレームおよび／またはPフレームを参照として使用して、すべての関連するBフレームがデコーダ18によって処理される。前記のように、一つまたは複数のIフレームおよび／またはPフレームに関する情報はオンチップメモリ16に記憶されており、そのような情報はデコーダ18にとって容易にアクセス可能である。そして、結果が、将来の表示に関連する使用に備えて、オフチップメモリ26に書き込まれる。
【００２１】
PBBフレームの各群が処理されたのち、次のチャネルのためのデータが処理のためにオフチップメモリ26から読み出される（処理するのに十分なデータがあると仮定する）。そして、すべてのチャネルについて前記プロセスが繰り返される。
【００２２】
MPEG-2ビデオフフレームをデコードするための第二の方法は、最後に処理されたフレームがIフレームであるか、Pフレームであるか、Bフレームであるかにかかわらず、チャネルが切り替えられる前に一定数nのフレームを処理する方法である。nは、2、3、4または他の整数であることができる。デコードプロセスが始まる前に、まず、先に記憶されていた参照フレームに関する情報が、処理されるチャネルのためのオフチップメモリ26から読み出され、オンチップメモリ16にロードされる。そして、その参照フレーム情報は、後で、フレームをデコードするためのデコードプロセスで使用される。必要ならば、読み出された参照フレームを使用して、他の関連の参照フレームが回収される。そして、I、PおよびBフレームが上記と同じ方法で処理される。チャネルを切り替える前に、参照フレームが選択され、オフチップメモリ14に記憶されて、同じチャネルが次に処理されるときに参照点として使用される。オフチップメモリ26を使用して参照フレームに関する情報を記憶することにより、処理モジュール12のデータスループットが改善する。
【００２３】
そして、表示のためにビデオイメージが必要である場合、対応するデータがオフチップメモリ26から読み出され、アナログエンコーダ24に送られて、アナログ表示装置とで互換性であるフォーマットでエンコードされる。そして、アナログエンコーダ24からの出力がデジタル・アナログ変換器（図示せず）に送られて、アナログ表示装置での使用に適したアナログ信号に変換される。
【００２４】
図3は、本発明のシステムの第二の態様を示す簡略化ブロック図である。この態様では、後続の表示に必要なデータは、処理のためにアナログエンコーダ24に転送される。そして、アナログエンコーダ24からの出力がオフチップメモリ26に記憶される。表示のためにビデオイメージが必要である場合、対応するアナログエンコーダ出力がオフチップメモリ26から読み出され、デジタル・アナログ変換器（図示せず）に送られて、アナログ表示装置での使用に適したアナログ信号に変換される。この態様では、アナログエンコーダ24からの出力をオフチップメモリ26に記憶することにより、処理モジュール12の記憶スループットが改善する。
【００２５】
上記のように、オフチップメモリ26は、たとえばMPEGデータストリームのバッファおよび処理されたフレームのバッファをはじめとする様々な目的に使用することができる。
【００２６】
一つの例示的な用途では、本発明は、ケーブルヘッドエンドから信号を受けるように設計されたセットトップボックスまたは信号ゲートウェイとして展開される。本明細書で提供する開示および教示に基づくと、当業者は、本発明を展開するための他の方法を理解するであろう。
【００２７】
前記記載はMPEG規格に関して提供したが、本発明は、他のビデオ規格、たとえばMPEG2、MPEG4、H.264およびWindow Mediaにも同様に応用することができることが理解されよう。本明細書で提供する開示および教示に基づくと、当業者は、本発明を応用するための他の方法を理解するであろう。
【００２８】
また、本発明は、ソフトウェア、ハードウェアまたは両方の組み合わせを使用して具現化することができることが理解されよう。本明細書で提供する開示および教示に基づくと、当業者は、本発明を具現化するための他の方法を理解するであろう。
【００２９】
本明細書で記載した例および態様は、例示のためだけのものであり、それを鑑みた様々な改変または変形が当業者に対して示唆され、それらが、本出願の本質および範囲ならびに請求の範囲に含まれるということが理解されよう。本明細書で引用したすべての出版物、特許および特許出願は、全体として参照により本明細書に組み入れられる。
【図面の簡単な説明】
【００３０】
【図１】典型的なMPEG-2コードフレームシーケンスを示す略図である。
【図２】本発明の第一の例示的な態様を示す簡略化ブロック図である。
【図３】本発明の第二の例示的な態様を示す簡略化ブロック図である。
【図４】本発明のビデオトランスポートエンジンの態様を示す簡略化ブロック図である。
【図１】
2007529155.tif 000004
【図２】
2007529155.tif 000005
【図３】
2007529155.tif 000006
【図４】
2007529155.tif 000007
【国際調査報告】
2007529155.tif 000008