JP2003521180A - ビットストリームのデコーディングのための方法及び装置 - Google Patents
ビットストリームのデコーディングのための方法及び装置Info
- Publication number
- JP2003521180A JP2003521180A JP2001554628A JP2001554628A JP2003521180A JP 2003521180 A JP2003521180 A JP 2003521180A JP 2001554628 A JP2001554628 A JP 2001554628A JP 2001554628 A JP2001554628 A JP 2001554628A JP 2003521180 A JP2003521180 A JP 2003521180A
- Authority
- JP
- Japan
- Prior art keywords
- register
- controller
- data
- input
- stop command
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Television Signal Processing For Recording (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
(57)【要約】
圧縮された、入ってくる中断することができるビットストリームをデコーディングするためのデコーダが開示される。デコーダはラッチ・コマンドを受信する能力があり、さらにラッチ・コマンドを受信する際の特定の状態下で、格納されたデータをラッチする能力がある入力レジスタを含む。デコーダはまた、入力レジスタと通信する、長さが可変のデコーディング・ロジックあるいはラン・レングス・デコーディング・ロジックのようなデコーディング・ロジックを含む。さらにデコーダに含まれるのは、ラッチ・コマンドを受信する能力があり、ラッチ・コマンドを受信する際の特定の状態下で、格納されたデータをラッチする能力があるデコーディング・ロジックと通信する出力レジスタである。最後に、デコーダは入力レジスタ及び出力レジスタと通信をするレジスタ・コントローラを含む。レジスタ・コントローラはシステムから停止コマンドを受信し、停止コマンドを受信した時、ラッチ・コマンドを入力レジスタ及び出力レジスタに送信する能力がある。
Description
【0001】
(発明の分野)
本発明は圧縮されたビットストリーム・デコーディングに関する。より具体的
には、本発明は中断ビットストリームのための方法及び装置に関する。
には、本発明は中断ビットストリームのための方法及び装置に関する。
【0002】
(発明の背景)
デジタル映像が提供すべき有利性のために、過去数十年間、アナログ映像技術
はデジタル映像技術へと発展してきた。例えば、デジタル映像は、磁気ディスク
・ドライブ(ハード・ディスク)及びコンパクト(CD)として知られている光学
ディスク・メディアのようなランダムにアクセスできるメディアに格納すること
ができるので、アナログ映像より、より安く格納、流通することができる。 さらに、一度ランダムにアクセスできる媒体に格納されたならば、デジタル映
像は双方向性となり、ゲーム、カタログ、トレーニング、教育及び他の用途に用
いることが可能となる。
はデジタル映像技術へと発展してきた。例えば、デジタル映像は、磁気ディスク
・ドライブ(ハード・ディスク)及びコンパクト(CD)として知られている光学
ディスク・メディアのようなランダムにアクセスできるメディアに格納すること
ができるので、アナログ映像より、より安く格納、流通することができる。 さらに、一度ランダムにアクセスできる媒体に格納されたならば、デジタル映
像は双方向性となり、ゲーム、カタログ、トレーニング、教育及び他の用途に用
いることが可能となる。
【0003】
デジタル映像技術を基礎とした最新の製品の1つはデジタル映像ディスクであ
り、時としてデジタル・バーサタイル・ディスクあるいは単純にDVDと呼ばれる
。これらディスクのサイズは音楽CDと同じだが、音楽CDの26倍、170億バイ
トまでのデータを持つことができる。 さらに、DVDの格納能力(17ギガバイト)はCD-ROM(600メガバイト)よ
りはるかに高く、CD−ROMより高い割合で供給することができる。従って、DVD技
術はテレビ、ビデオ・デッキ、CD−ROMのような伝統的なシステムを超え、映像
及び音楽の品質のとてつもない改良を示す。
り、時としてデジタル・バーサタイル・ディスクあるいは単純にDVDと呼ばれる
。これらディスクのサイズは音楽CDと同じだが、音楽CDの26倍、170億バイ
トまでのデータを持つことができる。 さらに、DVDの格納能力(17ギガバイト)はCD-ROM(600メガバイト)よ
りはるかに高く、CD−ROMより高い割合で供給することができる。従って、DVD技
術はテレビ、ビデオ・デッキ、CD−ROMのような伝統的なシステムを超え、映像
及び音楽の品質のとてつもない改良を示す。
【0004】
DVDは通常圧縮されたMPEGフォーマットで映像データを収容する。映像及び音
声信号を解凍するために、DVDプレイヤーは入ってくるビットストリームをデコ
ーディングするためのデコーディング・ハードウェアを用いる。 図1は従来のデジタル映像システム100を示すブロック図である。デジタル
映像システム100はデジタル・ソース102、デジタル・プロセッサー104
及びデジタル出力106を含む。 デジタル・ソース104はインターネット・ストリーミング映像接続のような
DVDドライブ及び他のデジタル・ソース・プロバイダーを含む。デジタル・プロ
セッサー104は典型的には特定用途向け集積回路(ASIC)であるが、デジタル
出力106は通常テレビ・セット及びモニターのようなディスプレイ装置及びス
ピーカーのような音響装置を含む。
声信号を解凍するために、DVDプレイヤーは入ってくるビットストリームをデコ
ーディングするためのデコーディング・ハードウェアを用いる。 図1は従来のデジタル映像システム100を示すブロック図である。デジタル
映像システム100はデジタル・ソース102、デジタル・プロセッサー104
及びデジタル出力106を含む。 デジタル・ソース104はインターネット・ストリーミング映像接続のような
DVDドライブ及び他のデジタル・ソース・プロバイダーを含む。デジタル・プロ
セッサー104は典型的には特定用途向け集積回路(ASIC)であるが、デジタル
出力106は通常テレビ・セット及びモニターのようなディスプレイ装置及びス
ピーカーのような音響装置を含む。
【0005】
図2の次の従来技術を参照すると、従来のデジタル・プロセッサー104が示
されている。デジタル・プロセッサー104は解凍エンジン200、コントロー
ラ202及びDRAM204を含む。本質的に、ビットストリームは、解凍プロセス
の間DRAM204及びコントローラ202を利用した解凍エンジン200で解凍さ
れる。 解凍されたデータはそれから、テレビ及びモニターのような、ディスプレイ装
置に解凍された画像を表示するディスプレイ・コントローラ206へ送られる。
されている。デジタル・プロセッサー104は解凍エンジン200、コントロー
ラ202及びDRAM204を含む。本質的に、ビットストリームは、解凍プロセス
の間DRAM204及びコントローラ202を利用した解凍エンジン200で解凍さ
れる。 解凍されたデータはそれから、テレビ及びモニターのような、ディスプレイ装
置に解凍された画像を表示するディスプレイ・コントローラ206へ送られる。
【0006】
前述のように、デジタル・プロセッサーは通常ASICで実施される。これらASIC
は通常、専用ハードウェアに対し可変長デコード(VLD)、ラン・レングス・デ
コーディング(RLD)、ジグ・ザグ・スキャン、逆変換(IQ)、逆離散コサイン
変換(IDCT)のような重要な機能的なオペレーションを計画する。 処理スピードを増すために、これらモジュールのパイプライン実施のような技
術が利用可能なサイクル・タイムで計算を実行するために用いられる。
は通常、専用ハードウェアに対し可変長デコード(VLD)、ラン・レングス・デ
コーディング(RLD)、ジグ・ザグ・スキャン、逆変換(IQ)、逆離散コサイン
変換(IDCT)のような重要な機能的なオペレーションを計画する。 処理スピードを増すために、これらモジュールのパイプライン実施のような技
術が利用可能なサイクル・タイムで計算を実行するために用いられる。
【0007】
入ってくるビットストリームは常に供給される間、そのようなパイプライン・
メカニズムは効率良く作動する。しかしながら、常に供給されるビットストリー
ムは常により新しい応用が可能というわけではない。 例えば、インターネット・ストリーミング映像は、接続が終了することもあり
、あるいはいつでも中断されることがあるので、いつも一定のビットストリーム
を保証することはできない。 さらに、ビットストリームの中断は例えば、DVDプレイヤーが後りのシステム
に同じ速さになるのに十分な速さでない時、従来のDVD読み取り機で起こる可能
性がある。
メカニズムは効率良く作動する。しかしながら、常に供給されるビットストリー
ムは常により新しい応用が可能というわけではない。 例えば、インターネット・ストリーミング映像は、接続が終了することもあり
、あるいはいつでも中断されることがあるので、いつも一定のビットストリーム
を保証することはできない。 さらに、ビットストリームの中断は例えば、DVDプレイヤーが後りのシステム
に同じ速さになるのに十分な速さでない時、従来のDVD読み取り機で起こる可能
性がある。
【0008】
ビットストリームが中断された時、従来の解凍エンジン200はエラー処理方
法を用いて問題を処理することを試みる。しかしながら、従来のエラー処理方法
を用いることは人為的影響を生み出し、それはシステムのユーザによって見るこ
とができる。 さらに、これら人為的影響は通常その後に続く画像に対し広まり、それゆえに
、これを見ることは、ユーザをさらに不快にする。
法を用いて問題を処理することを試みる。しかしながら、従来のエラー処理方法
を用いることは人為的影響を生み出し、それはシステムのユーザによって見るこ
とができる。 さらに、これら人為的影響は通常その後に続く画像に対し広まり、それゆえに
、これを見ることは、ユーザをさらに不快にする。
【0009】
前記のことを考慮して、必要とされることは、人為的影響を引き起こすことな
くビットストリームの中断を処理することができる、入ってくるビットストリー
ムをデコーディングするための改良された方法及び装置である。さらに、システ
ムは頑丈で、それほど製造コストを追加しないようにするべきである。
くビットストリームの中断を処理することができる、入ってくるビットストリー
ムをデコーディングするための改良された方法及び装置である。さらに、システ
ムは頑丈で、それほど製造コストを追加しないようにするべきである。
【0010】
(発明の要約)
本発明はビットストリーム・データが利用できないとき、デコーディング・プ
ロセスを停止するデコーダを提供することにより、これら必要性を満たす。1つ
の実施形態において、デコーダはラッチ・コマンドを受信する能力があり、さら
にラッチ・コマンドを受信する際の特定の状態下で、格納されたデータをラッチ
する能力がある入力レジスタを含む。デコーダはまた、入力レジスタと通信する
、長さが可変のデコーディング・ロジックあるいはラン・レングス・デコーディ
ング・ロジックのようなデコーディング・ロジックを含む。 さらにデコーダに含まれるのは、ラッチ・コマンドを受信する能力があり、ラ
ッチ・コマンドを受信する際の特定の状態下で、格納されたデータをラッチする
能力があるデコーディング・ロジックと通信する出力レジスタである。 最後に、デコーダは入力レジスタ及び出力レジスタと通信をするレジスタ・コ
ントローラを含む。レジスタ・コントローラはシステムから停止コマンドを受信
し、ラッチ・コマンドを入力レジスタ及び出力レジスタに送信する能力がある。
ロセスを停止するデコーダを提供することにより、これら必要性を満たす。1つ
の実施形態において、デコーダはラッチ・コマンドを受信する能力があり、さら
にラッチ・コマンドを受信する際の特定の状態下で、格納されたデータをラッチ
する能力がある入力レジスタを含む。デコーダはまた、入力レジスタと通信する
、長さが可変のデコーディング・ロジックあるいはラン・レングス・デコーディ
ング・ロジックのようなデコーディング・ロジックを含む。 さらにデコーダに含まれるのは、ラッチ・コマンドを受信する能力があり、ラ
ッチ・コマンドを受信する際の特定の状態下で、格納されたデータをラッチする
能力があるデコーディング・ロジックと通信する出力レジスタである。 最後に、デコーダは入力レジスタ及び出力レジスタと通信をするレジスタ・コ
ントローラを含む。レジスタ・コントローラはシステムから停止コマンドを受信
し、ラッチ・コマンドを入力レジスタ及び出力レジスタに送信する能力がある。
【0011】
他の実施の形態において、入ってくる圧縮されたビットストリームをデコーデ
ィングする方法が提供される。その方法は停止コマンドを入力レジスタ及び出力
レジスタと通信するレジスタ・コントローラに提供することからなる。 次に、ラッチ・コマンドはレジスタ・コントローラが停止コマンドを受信する
とき入力レジスタ及び出力レジスタの両方に提供される。 最後に、入力レジスタ及び出力レジスタに格納されるデータは、これらレジス
タがラッチ・コマンドを受信するときラッチされ、その結果、両方のレジスタと
通信する、デコーディング・ロジックのオペレーションを停止する。
ィングする方法が提供される。その方法は停止コマンドを入力レジスタ及び出力
レジスタと通信するレジスタ・コントローラに提供することからなる。 次に、ラッチ・コマンドはレジスタ・コントローラが停止コマンドを受信する
とき入力レジスタ及び出力レジスタの両方に提供される。 最後に、入力レジスタ及び出力レジスタに格納されるデータは、これらレジス
タがラッチ・コマンドを受信するときラッチされ、その結果、両方のレジスタと
通信する、デコーディング・ロジックのオペレーションを停止する。
【0012】
さらに、別の実施の形態において、入ってくる圧縮されたビットストリームを
デコーディングするための、特定用途向け集積回路(ASIC)が開示されている。
ASICはラッチ・コマンドを受信する能力があり、さらにラッチ・コマンドを受信
した特定の状態で、格納されたデータをラッチングする能力があるメモリ・コン
トローラ及び入力レジスタを含む。 ASICはまた、入力レジスタと通信する、長さが可変のデコーディング・ロジッ
クあるいはラン・レングス・デコーディング・ロジックのようなデコーディング
・ロジックを含む。 さらに、ASICに含まれるのは、またラッチ・コマンドを受信する能力があり、
さらにラッチ・コマンドを受信する際の特定の状態下で、格納されたデータをラ
ッチする能力がある、デコーディング・ロジックと通信をする出力レジスタであ
る。 最後に、ASICは入力レジスタ及び出力レジスタと通信する、レジスタ・コント
ローラを含む。レジスタ・コントローラはシステムから停止コマンドを受信し、
停止コマンドを受信した時、ラッチ・コマンドを入力レジスタ及び出力レジスタ
に送信する能力がある。
デコーディングするための、特定用途向け集積回路(ASIC)が開示されている。
ASICはラッチ・コマンドを受信する能力があり、さらにラッチ・コマンドを受信
した特定の状態で、格納されたデータをラッチングする能力があるメモリ・コン
トローラ及び入力レジスタを含む。 ASICはまた、入力レジスタと通信する、長さが可変のデコーディング・ロジッ
クあるいはラン・レングス・デコーディング・ロジックのようなデコーディング
・ロジックを含む。 さらに、ASICに含まれるのは、またラッチ・コマンドを受信する能力があり、
さらにラッチ・コマンドを受信する際の特定の状態下で、格納されたデータをラ
ッチする能力がある、デコーディング・ロジックと通信をする出力レジスタであ
る。 最後に、ASICは入力レジスタ及び出力レジスタと通信する、レジスタ・コント
ローラを含む。レジスタ・コントローラはシステムから停止コマンドを受信し、
停止コマンドを受信した時、ラッチ・コマンドを入力レジスタ及び出力レジスタ
に送信する能力がある。
【0013】
有利なことに、本発明は入ってくるビットストリームの中止に対し対応して作
り出される人為的影響を避ける、あるいは減少する。データが利用可能であるか
そうでないかに関係なく、継続的なデコードを試みる従来のデコーダとは違い、
本発明はデータがデコーダに対し入手できなくなった時、デコーディング・オペ
レーションを停止することにより、人為的影響を避ける。 さらに、本発明は違ったデコーディング・モジュールによる、メモリ書き込み
の同調を可能とするメカニズムを提供することにより、デコーディングにおいて
より大きな効果を可能とする。 書き込みオペレーションの軋轢が生じるとき、デコーディング及びメモリ書き
込みオペレーションを停止することにより、本発明は、従来メモリ書き込みのコ
ンフリクトを防ぐために用いられた、時間の大きなバッファの必要性を避ける。
り出される人為的影響を避ける、あるいは減少する。データが利用可能であるか
そうでないかに関係なく、継続的なデコードを試みる従来のデコーダとは違い、
本発明はデータがデコーダに対し入手できなくなった時、デコーディング・オペ
レーションを停止することにより、人為的影響を避ける。 さらに、本発明は違ったデコーディング・モジュールによる、メモリ書き込み
の同調を可能とするメカニズムを提供することにより、デコーディングにおいて
より大きな効果を可能とする。 書き込みオペレーションの軋轢が生じるとき、デコーディング及びメモリ書き
込みオペレーションを停止することにより、本発明は、従来メモリ書き込みのコ
ンフリクトを防ぐために用いられた、時間の大きなバッファの必要性を避ける。
【0014】
(発明の詳細な記載)
本発明はさらにその有利性が付随した図に関連した以下の記載を参照すること
により、最も理解される。 本発明はビットストリーム・フローが中断されるとき、人為的影響を避ける間
に、入ってくるビットストリームをデコーディングするために記載される。以下
の記載において、数々の特定の詳細が本発明の完全な理解を提供するために示さ
れる。 しかしながら、当業者がこれら詳細の全て、あるいはその一部をなしに実施す
ることができるのは明らかである。他の場合において、本発明を不必要にあいま
いにしないために、よく知られているプロセス・ステップは詳細には記載されて
いない。
により、最も理解される。 本発明はビットストリーム・フローが中断されるとき、人為的影響を避ける間
に、入ってくるビットストリームをデコーディングするために記載される。以下
の記載において、数々の特定の詳細が本発明の完全な理解を提供するために示さ
れる。 しかしながら、当業者がこれら詳細の全て、あるいはその一部をなしに実施す
ることができるのは明らかである。他の場合において、本発明を不必要にあいま
いにしないために、よく知られているプロセス・ステップは詳細には記載されて
いない。
【0015】
図1及び図2は従来技術の観点から開示されている。図3は、本発明の1つの
実施の形態に一致したデジタル・プロセッサー300のブロック図である。 デジタル・プロセッサー300は、解凍エンジン302、コントローラ304
及びDRAM306を含む。使用に当たって、解凍エンジン302は入ってくるビッ
トストリームを受信し、コントローラ304及びDRAM306を使用してビットス
トリームをデコードする。解凍されたデータは、テレビあるいはコンピュータ・
モニターのようなディスプレイ装置に解凍されたイメージ・データを表すディス
プレイ・コントローラ308に送信される。
実施の形態に一致したデジタル・プロセッサー300のブロック図である。 デジタル・プロセッサー300は、解凍エンジン302、コントローラ304
及びDRAM306を含む。使用に当たって、解凍エンジン302は入ってくるビッ
トストリームを受信し、コントローラ304及びDRAM306を使用してビットス
トリームをデコードする。解凍されたデータは、テレビあるいはコンピュータ・
モニターのようなディスプレイ装置に解凍されたイメージ・データを表すディス
プレイ・コントローラ308に送信される。
【0016】
次の図4を参照し、本発明の実施の形態に沿った解凍エンジン302が示され
る。解凍エンジン302はメモリ・コントローラ・バッファ400、メモリ・コ
ントローラ402、DRAM i/f404、FIFOコントローラ405、VLD406、RLD
/IZZ408及びIQ410を含む。さらに、解凍エンジン302はIDCT入力ダブ
ル・バッファ412、IDCT414、マージ及び格納(MS)416及び動き補償4
18を含む。
る。解凍エンジン302はメモリ・コントローラ・バッファ400、メモリ・コ
ントローラ402、DRAM i/f404、FIFOコントローラ405、VLD406、RLD
/IZZ408及びIQ410を含む。さらに、解凍エンジン302はIDCT入力ダブ
ル・バッファ412、IDCT414、マージ及び格納(MS)416及び動き補償4
18を含む。
【0017】
オペレーションの間、ビットストリーム・データはメモリ・コントローラ・バ
ッファ400によって受信される。メモリ・コントローラ402はそれからパー
サー(図示せず)を用いた解析の後、DRAM420にデータを格納する。 その後、データがデコードされた後、デコードされたデータはメモリ・コント
ローラ402によって、再びDRAM420に格納される。 最後に、データが閲覧される準備ができたとき、メモリ・コントローラ402
はDRAM420からデコードされたデータを得て、それをテレビあるいはコンピュ
ータ・モニターのような解凍されたイメージ・データを表すディスプレイ・コン
トローラ422へ送信する。
ッファ400によって受信される。メモリ・コントローラ402はそれからパー
サー(図示せず)を用いた解析の後、DRAM420にデータを格納する。 その後、データがデコードされた後、デコードされたデータはメモリ・コント
ローラ402によって、再びDRAM420に格納される。 最後に、データが閲覧される準備ができたとき、メモリ・コントローラ402
はDRAM420からデコードされたデータを得て、それをテレビあるいはコンピュ
ータ・モニターのような解凍されたイメージ・データを表すディスプレイ・コン
トローラ422へ送信する。
【0018】
通常、MPEGビットストリームはメモリ・コントローラ402によってDRAM i/f
404に提供され、データを再構築するため、VLD406、RLD/IZZ408、IQ
410及びIDCT414に利用可能とされる。 同時に、動き補償408は、もし動き補償が現在のデータのために存在するな
らば、実行される。各VLD406、RLD/IZZ408、IQ410及びIDCT414は
一定の実行時間を持つが、しかしながら、VLD406からIDCT414出力メモリ
には2ブロックの待ち時間がある。動き補償418及びIDCT414がオペレーシ
ョンを終えたとき、各モジュールからの出力データは再構築データになるよう共
に追加される。MS416はDRAM420に再構築データを格納する。
404に提供され、データを再構築するため、VLD406、RLD/IZZ408、IQ
410及びIDCT414に利用可能とされる。 同時に、動き補償408は、もし動き補償が現在のデータのために存在するな
らば、実行される。各VLD406、RLD/IZZ408、IQ410及びIDCT414は
一定の実行時間を持つが、しかしながら、VLD406からIDCT414出力メモリ
には2ブロックの待ち時間がある。動き補償418及びIDCT414がオペレーシ
ョンを終えたとき、各モジュールからの出力データは再構築データになるよう共
に追加される。MS416はDRAM420に再構築データを格納する。
【0019】
本発明はデータがデコーディングに利用できない時、パイプライン実行を停止
することにより人為的影響を回避する。より詳細に以下詳述されるように、本発
明はFIFOコントローラ405を用いてビットストリーム・データの有用性を決定
する。FIFOコントローラ405はビットストリーム・データがデコーディングに
利用できる時、データ有効TRUE信号をVLD406、RLD/IZZ408、及びIQ410
モジュールへ送信する。ビットストリーム・データがデコーディングに利用でき
ない時、FIFOコントローラ405はデータ有効FALSE信号をモジュールに送信す
る。データ有効FALSE信号はその後各モジュールを「フリーズ」させる。従って
、全てのデコーディング・オペレーションは、データがデコーディングに利用で
きない時停止される。
することにより人為的影響を回避する。より詳細に以下詳述されるように、本発
明はFIFOコントローラ405を用いてビットストリーム・データの有用性を決定
する。FIFOコントローラ405はビットストリーム・データがデコーディングに
利用できる時、データ有効TRUE信号をVLD406、RLD/IZZ408、及びIQ410
モジュールへ送信する。ビットストリーム・データがデコーディングに利用でき
ない時、FIFOコントローラ405はデータ有効FALSE信号をモジュールに送信す
る。データ有効FALSE信号はその後各モジュールを「フリーズ」させる。従って
、全てのデコーディング・オペレーションは、データがデコーディングに利用で
きない時停止される。
【0020】
IDCT入力ダブル・バッファ412と共に、VLD406、RLD/IZZ 408、IQ4
10が、1つのブロックの処理が終わる時、ダブル・バッファ412の1つのバ
ッファへ1つのデータ・ブロックを交互に書き込むことが注目されるのが重要で
ある。それらは次にIDCT開始信号をIDCT414に送信する。これはIDCT414が
処理するための全体的なデータ・ブロックを保持することを確実にする。従って
、FIFOコントローラ405からのデータ有効信号はIDCT414へ伝播しない。有
利なことに、上述された設計は本発明の実施を比較的容易で費用効率的なものに
する。
10が、1つのブロックの処理が終わる時、ダブル・バッファ412の1つのバ
ッファへ1つのデータ・ブロックを交互に書き込むことが注目されるのが重要で
ある。それらは次にIDCT開始信号をIDCT414に送信する。これはIDCT414が
処理するための全体的なデータ・ブロックを保持することを確実にする。従って
、FIFOコントローラ405からのデータ有効信号はIDCT414へ伝播しない。有
利なことに、上述された設計は本発明の実施を比較的容易で費用効率的なものに
する。
【0021】
図5は本発明の1つの側面に従った、先入れ先出し(FIFO)コントローラ40
5を示すブロック図である。FIFOコントローラ405はメモリ500、コントロ
ーラ502、及びコンパレータ504を含む。コントローラ502は入力506
、出力508、書き込みポインタ510、及び読み取りポインタ512を含む。
最後に、コンパレータ504はデータ有効フラッグ514を含む。
5を示すブロック図である。FIFOコントローラ405はメモリ500、コントロ
ーラ502、及びコンパレータ504を含む。コントローラ502は入力506
、出力508、書き込みポインタ510、及び読み取りポインタ512を含む。
最後に、コンパレータ504はデータ有効フラッグ514を含む。
【0022】
使用において、入力データはコントローラ502の入力506によって受信さ
れる。コントローラ502はそのデータを読み取りポインタ512及び書き込み
ポインタ510を用いて、メモリ500へ読み取り及び書き込みをする。データ
は次に出力508を介してコントローラ502から出力される。
れる。コントローラ502はそのデータを読み取りポインタ512及び書き込み
ポインタ510を用いて、メモリ500へ読み取り及び書き込みをする。データ
は次に出力508を介してコントローラ502から出力される。
【0023】
FIFOコントローラ405の重要なオペレーションは、デコーディング・システ
ムのためにデコードするためのデータがメモリ500中にあるかどうかを決定す
ることである。利用できるデータがあるかどうか決定するために、コントローラ
502は、書き込みポインタ510を読み取りポインタ512と比較するために
コンパレータ504を使用する。利用できるデータを維持するために、書き込み
ポインタ510は読み取りポインタ512を進めるべきである。この場合、FIFO
コントローラ405はシステムに、データ有効フラッグ514をTRUEにセットす
ることによって、利用できるデータがあるとの情報を与える。一方、読み取りポ
インタ512が書き込みポインタ510に追いつく時、デコーディング・システ
ムにとってデコードする有効なデータは存在しない。この場合、FIFOコントロー
ラ405はシステムに、データ有効フラッグ514をFALSEにセットすることに
よって、利用できるデータが無いとの情報を与える。
ムのためにデコードするためのデータがメモリ500中にあるかどうかを決定す
ることである。利用できるデータがあるかどうか決定するために、コントローラ
502は、書き込みポインタ510を読み取りポインタ512と比較するために
コンパレータ504を使用する。利用できるデータを維持するために、書き込み
ポインタ510は読み取りポインタ512を進めるべきである。この場合、FIFO
コントローラ405はシステムに、データ有効フラッグ514をTRUEにセットす
ることによって、利用できるデータがあるとの情報を与える。一方、読み取りポ
インタ512が書き込みポインタ510に追いつく時、デコーディング・システ
ムにとってデコードする有効なデータは存在しない。この場合、FIFOコントロー
ラ405はシステムに、データ有効フラッグ514をFALSEにセットすることに
よって、利用できるデータが無いとの情報を与える。
【0024】
図6は本発明の1つの側面に従ったVLDモジュール406を示すブロック図で
ある。VLDモジュール406は、コントローラ600、入力レジスタ602、VLD
ロジック604、及び出力レジスタ606を含む。VLDロジック604はVLDモジ
ュール406のための計算ロジックを含む。入力レジスタ602及び出力レジス
タ604はモジュールの実行をストールするために用いられる。
ある。VLDモジュール406は、コントローラ600、入力レジスタ602、VLD
ロジック604、及び出力レジスタ606を含む。VLDロジック604はVLDモジ
ュール406のための計算ロジックを含む。入力レジスタ602及び出力レジス
タ604はモジュールの実行をストールするために用いられる。
【0025】
通常のオペレーションでは、ビットストリーム・データは入力レジスタ602
を介してVLDロジック604へ入力される。データはそして出力レジスタ606
を介して他のモジュールにパスされる。通常のオペレーションは、コントローラ
606がデータ有効TRUE信号を受信する限り生じる。しかしながら、コントロー
ラ600がデータ有効FALSE信号を受信する時、コントローラ600は入力レジ
スタ602及び出力レジスタ606に現在の状態でフリーズするように信号を送
る。従って、VLDモジュール604の現在の状態は、データ有効FALSE信号がモジ
ュールに送信される時は常に固定される。これらの状態コントロール・メカニズ
ムはRLD/IZZ及びIQモジュールにもまた存在する。
を介してVLDロジック604へ入力される。データはそして出力レジスタ606
を介して他のモジュールにパスされる。通常のオペレーションは、コントローラ
606がデータ有効TRUE信号を受信する限り生じる。しかしながら、コントロー
ラ600がデータ有効FALSE信号を受信する時、コントローラ600は入力レジ
スタ602及び出力レジスタ606に現在の状態でフリーズするように信号を送
る。従って、VLDモジュール604の現在の状態は、データ有効FALSE信号がモジ
ュールに送信される時は常に固定される。これらの状態コントロール・メカニズ
ムはRLD/IZZ及びIQモジュールにもまた存在する。
【0026】
従って、図4に戻って参照すると、VLD406、RLD/IZZ408、及びIQ410
は全て、図6の状態コントロール・メカニズムを含む。それゆえ、FIFOコントロ
ーラ405がビットストリーム・データがデコーディングに利用できないと決定
する時は常に、そのFIFOコントローラ405はVLD406、RLD/IZZ408、及び
IQ410へ、それらの現在の状態で留まるように信号を送る。
は全て、図6の状態コントロール・メカニズムを含む。それゆえ、FIFOコントロ
ーラ405がビットストリーム・データがデコーディングに利用できないと決定
する時は常に、そのFIFOコントローラ405はVLD406、RLD/IZZ408、及び
IQ410へ、それらの現在の状態で留まるように信号を送る。
【0027】
上述されたように、VLD406、RLD/IZZ408、及びIQ410モジュールから
返されたデータは、IDCT入力ダブル・バッファ412に入力され、そしてIDCT4
14に入力される。IDCTからの出力は復元されたデータを作るために、動き補償
418の出力に結合される。MS416は次に復元されたデータをDRAM420に保
存する。
返されたデータは、IDCT入力ダブル・バッファ412に入力され、そしてIDCT4
14に入力される。IDCTからの出力は復元されたデータを作るために、動き補償
418の出力に結合される。MS416は次に復元されたデータをDRAM420に保
存する。
【0028】
次に図7を参照すると、それは本発明の1つの実施の形態に従った、中断可能
なビットストリームをデコーディングするためのプロセス1000を示すフロー
チャートである。このプロセスは前プロセス・オペレーションが実行される、開
始オペレーション1002で始まる。前プロセス・オペレーションは、入ってく
るビットストリーム・データをDRAMに一時的に格納すること、及び当業者に明白
であろう他の前プロセス・オペレーションを含む。
なビットストリームをデコーディングするためのプロセス1000を示すフロー
チャートである。このプロセスは前プロセス・オペレーションが実行される、開
始オペレーション1002で始まる。前プロセス・オペレーションは、入ってく
るビットストリーム・データをDRAMに一時的に格納すること、及び当業者に明白
であろう他の前プロセス・オペレーションを含む。
【0029】
受信ビットストリーム・オペレーション1004において、システムはDRAMか
ら圧縮されたビットストリーム・データを受信する。通常のオペレーションでは
、システムは入ってくるビットストリーム・データをDRAMに格納する。そして、
システムがそのデータをデコードする準備ができた時、ビットストリーム・デー
タはDRAMから読み取られ、FIFOそして次にデコーディング・モジュールへとパス
される。
ら圧縮されたビットストリーム・データを受信する。通常のオペレーションでは
、システムは入ってくるビットストリーム・データをDRAMに格納する。そして、
システムがそのデータをデコードする準備ができた時、ビットストリーム・デー
タはDRAMから読み取られ、FIFOそして次にデコーディング・モジュールへとパス
される。
【0030】
次に、有用性決定オペレーション1006において、FIFO中のビットストリー
ム・データの有用性が決定される。一般的に、ビットストリーム・データは、デ
コーディングのためのデコーディング・モジュールへ継続的にパスされる。しか
しながら、この継続的なビットストリーム・データのフローは、インターネット
・ビットストリーム・データあるいはDRAMアクセス状態でしばしば生じるように
、全てのモジュールが1つのDRAMアクセスを共有する時に中断される。従って、
システムがデコーディング・オペレーションを開始する前に、まず現在デコーデ
ィングするために利用できるデータがあるかどうかが決定される。
ム・データの有用性が決定される。一般的に、ビットストリーム・データは、デ
コーディングのためのデコーディング・モジュールへ継続的にパスされる。しか
しながら、この継続的なビットストリーム・データのフローは、インターネット
・ビットストリーム・データあるいはDRAMアクセス状態でしばしば生じるように
、全てのモジュールが1つのDRAMアクセスを共有する時に中断される。従って、
システムがデコーディング・オペレーションを開始する前に、まず現在デコーデ
ィングするために利用できるデータがあるかどうかが決定される。
【0031】
プロセスは次にオペレーション1008で枝分かれする。データが現在利用で
きる場合、プロセスはデコーディング・オペレーション1010で続行する。デ
コーディングに利用できるデータが現在無い場合、プロセスは停止オペレーショ
ン1012で続行する。
きる場合、プロセスはデコーディング・オペレーション1010で続行する。デ
コーディングに利用できるデータが現在無い場合、プロセスは停止オペレーショ
ン1012で続行する。
【0032】
デコーディング・オペレーション1010で、圧縮されたビットストリーム・
データはデコードされる。このオペレーションは一般的に、VLD、RLD/IZZ、IQ及
びIDCTを、ビットストリーム・データをデコードするために用いることを含む。
現在のビットストリーム・データをデコーディングした後、プロセスは別の受信
ビットストリーム・オペレーション1004で続行する。
データはデコードされる。このオペレーションは一般的に、VLD、RLD/IZZ、IQ及
びIDCTを、ビットストリーム・データをデコードするために用いることを含む。
現在のビットストリーム・データをデコーディングした後、プロセスは別の受信
ビットストリーム・オペレーション1004で続行する。
【0033】
停止オペレーション1012において、デコーディング・オペレーションは停
止される。本発明はデータがデコーディングに利用できない時、パイプライン実
行を停止することによって人為的影響を回避する。より詳細に以下詳述されるよ
うに、本発明はFIFOコントローラを用いて、ビットストリーム・データの有用性
を決定する。ビットストリーム・データがデコーディングに利用できない時、FI
FOコントローラはデータ有効FALSE信号をモジュールへ送信する。データ有効FAL
SE信号は次に各モジュールをフリーズさせる。従って、全てのデコーディング・
オペレーションは、データがデコーディングに利用できない時停止される。
止される。本発明はデータがデコーディングに利用できない時、パイプライン実
行を停止することによって人為的影響を回避する。より詳細に以下詳述されるよ
うに、本発明はFIFOコントローラを用いて、ビットストリーム・データの有用性
を決定する。ビットストリーム・データがデコーディングに利用できない時、FI
FOコントローラはデータ有効FALSE信号をモジュールへ送信する。データ有効FAL
SE信号は次に各モジュールをフリーズさせる。従って、全てのデコーディング・
オペレーションは、データがデコーディングに利用できない時停止される。
【0034】
各デコーディング・モジュールはコントローラ、入力レジスタ、オペレーショ
ナル・ロジック、及び出力レジスタを含む。オペレーショナル・ロジックは特定
のモジュールのための計算ロジックを含む。入力レジスタ及び出力レジスタは、
モジュールの実行をストールさせるために用いられる。
ナル・ロジック、及び出力レジスタを含む。オペレーショナル・ロジックは特定
のモジュールのための計算ロジックを含む。入力レジスタ及び出力レジスタは、
モジュールの実行をストールさせるために用いられる。
【0035】
通常のオペレーションでは、ビットストリーム・データは入力レジスタを介し
て、モジュールのオペレーショナル・ロジックへ入力される。ビットストリーム
は次に出力レジスタを介して他のモジュールへパスされる。通常のオペレーショ
ンは、コントローラがデータ有効TRUE信号を受信する限り生じる。しかしながら
、コントローラがデータ有効FALSE信号を受信する時、そのコントローラは入力
レジスタ及び出力レジスタへ、その現在の状態でフリーズするように信号を送る
。従って、各モジュールの現在の状態は、データ有効FALSE信号がモジュールに
送信される時は常に固定される。これらの状態コントロール・メカニズムは好ま
しくは全てのデコーディング・モジュールに存在する。
て、モジュールのオペレーショナル・ロジックへ入力される。ビットストリーム
は次に出力レジスタを介して他のモジュールへパスされる。通常のオペレーショ
ンは、コントローラがデータ有効TRUE信号を受信する限り生じる。しかしながら
、コントローラがデータ有効FALSE信号を受信する時、そのコントローラは入力
レジスタ及び出力レジスタへ、その現在の状態でフリーズするように信号を送る
。従って、各モジュールの現在の状態は、データ有効FALSE信号がモジュールに
送信される時は常に固定される。これらの状態コントロール・メカニズムは好ま
しくは全てのデコーディング・モジュールに存在する。
【0036】
デコーディング・オペレーションが停止されると、プロセスは別のビットスト
リーム有用性オペレーション1006で続行する。ビットストリーム・データが
現在利用できると決定されると、プロセスはデコーディング・オペレーション1
010において、ビットストリーム・データをデコーディングすることにより続
行する。
リーム有用性オペレーション1006で続行する。ビットストリーム・データが
現在利用できると決定されると、プロセスはデコーディング・オペレーション1
010において、ビットストリーム・データをデコーディングすることにより続
行する。
【0037】
図8は、本発明の1つの側面に従った、現在のビットストリーム・データの有
用性を決定するためのプロセス1006を示すフローチャートである。開始オペ
レーション1100において、前プロセス・オペレーションが実行される。前プ
ロセス・オペレーションは、入ってくるビットストリーム・データをDRAMに一時
的に格納すること、及び当業者に明白であろう他の前プロセス・オペレーション
を含む。
用性を決定するためのプロセス1006を示すフローチャートである。開始オペ
レーション1100において、前プロセス・オペレーションが実行される。前プ
ロセス・オペレーションは、入ってくるビットストリーム・データをDRAMに一時
的に格納すること、及び当業者に明白であろう他の前プロセス・オペレーション
を含む。
【0038】
受信ビットストリーム・オペレーション1102において、システムはDRAMか
ら圧縮されたビットストリーム・データを受信する。通常のオペレーションでは
、システムは入ってくるビットストリーム・データをDRAMへ格納する。そして、
システムがデータをデコードする準備ができた時、ビットストリーム・データは
DRAMから読み取られ、様々なデコーディング・モジュールへパスされる。このデ
ータは次に、システムがデータの有用性を決定するのを助けるFIFOコントローラ
によって受信される。
ら圧縮されたビットストリーム・データを受信する。通常のオペレーションでは
、システムは入ってくるビットストリーム・データをDRAMへ格納する。そして、
システムがデータをデコードする準備ができた時、ビットストリーム・データは
DRAMから読み取られ、様々なデコーディング・モジュールへパスされる。このデ
ータは次に、システムがデータの有用性を決定するのを助けるFIFOコントローラ
によって受信される。
【0039】
書き込みオペレーション1104において、FIFOコントローラは入ってくるビ
ットストリーム・データをFIFOメモリ・バッファへ書き込む。FIFOは、そのメモ
リ書き込み及び読み取りオペレーションを、メモリにおけるデータ・アドレスを
含むメモリ・ポインタを使用して実行する。一般的に、書き込みポインタは、デ
ータが格納される次の利用可能なメモリ位置のアドレスを含み、読み取りポイン
タは読み取りされる必要のあるデータを含む、次のメモリ・アドレスのアドレス
を含む。FIFOコントローラが格納された順番と同じ順番でデータを読み取るので
、読み取りポインタは常に、データ・ブロック・アドレスをとばすことなく、格
納されたデータを格納された順番と同じ順番で処理する。
ットストリーム・データをFIFOメモリ・バッファへ書き込む。FIFOは、そのメモ
リ書き込み及び読み取りオペレーションを、メモリにおけるデータ・アドレスを
含むメモリ・ポインタを使用して実行する。一般的に、書き込みポインタは、デ
ータが格納される次の利用可能なメモリ位置のアドレスを含み、読み取りポイン
タは読み取りされる必要のあるデータを含む、次のメモリ・アドレスのアドレス
を含む。FIFOコントローラが格納された順番と同じ順番でデータを読み取るので
、読み取りポインタは常に、データ・ブロック・アドレスをとばすことなく、格
納されたデータを格納された順番と同じ順番で処理する。
【0040】
次に、比較オペレーション1106において、読み取り及び書き込みポインタ
はお互いに比較される。データが現在FIFOメモリ・バッファに格納されている時
、書き込みポインタは読み取りポインタを進める。書き込みポインタは利用でき
る次のメモリ位置のアドレスを含み、読み取りポインタは次の読み取りされるデ
ータ・アイテムのアドレスを含む。一方、FIFOメモリ・バッファに格納されたデ
ータが現在ない場合、書き込みポインタ及び読み取りポインタは同じアドレスを
含む。
はお互いに比較される。データが現在FIFOメモリ・バッファに格納されている時
、書き込みポインタは読み取りポインタを進める。書き込みポインタは利用でき
る次のメモリ位置のアドレスを含み、読み取りポインタは次の読み取りされるデ
ータ・アイテムのアドレスを含む。一方、FIFOメモリ・バッファに格納されたデ
ータが現在ない場合、書き込みポインタ及び読み取りポインタは同じアドレスを
含む。
【0041】
従って、システムは比較オペレーション1106の間、書き込み及び読み取り
ポインタを比較することによって、データが現在利用できるかどうかを決定する
。ポインタが等しくない場合、デコードするためのデータが現在存在し、プロセ
ス1006はデータ有効オペレーション1108で続行する。しかしながら、書
き込み及び読み取りポインタが等しい場合、デコーディングするためのデータは
現在無く、プロセス1006はデータ無効オペレーション1112で続行する。
ポインタを比較することによって、データが現在利用できるかどうかを決定する
。ポインタが等しくない場合、デコードするためのデータが現在存在し、プロセ
ス1006はデータ有効オペレーション1108で続行する。しかしながら、書
き込み及び読み取りポインタが等しい場合、デコーディングするためのデータは
現在無く、プロセス1006はデータ無効オペレーション1112で続行する。
【0042】
データが現在デコードされるために存在する場合、データ有効フラッグはデー
タ有効オペレーション1108においてTRUEにセットされる。上述されたように
、データ有効フラッグはシステムによって、デコーディング・パイプラインのオ
ペレーションを停止するかどうか決定するために用いられる。データ有効フラッ
グがTRUEにセットされる時、デコーディング・オペレーションは以下詳述される
ように続行する。
タ有効オペレーション1108においてTRUEにセットされる。上述されたように
、データ有効フラッグはシステムによって、デコーディング・パイプラインのオ
ペレーションを停止するかどうか決定するために用いられる。データ有効フラッ
グがTRUEにセットされる時、デコーディング・オペレーションは以下詳述される
ように続行する。
【0043】
デコーディング・オペレーション1110において、圧縮されたビットストリ
ームはデコードされる。このオペレーションは一般的には、VLD,RLD/IZZ,IQ及び
IDCTをビットストリーム・データをデコードするために用いることを含む。現在
のビットストリーム・データをデコーディングした後、プロセスは別の受信ビッ
トストリーム・オペレーション1102で続行する。
ームはデコードされる。このオペレーションは一般的には、VLD,RLD/IZZ,IQ及び
IDCTをビットストリーム・データをデコードするために用いることを含む。現在
のビットストリーム・データをデコーディングした後、プロセスは別の受信ビッ
トストリーム・オペレーション1102で続行する。
【0044】
データが現在デコーディングに利用できない時、データ無効オペレーション1
112において、データ有効フラッグはFALSEにセットされる。上述されたよう
に、データ有効フラッグはシステムによって、デコーディング・パイプラインの
オペレーションを停止するかどうかを決定するために用いられる。データ有効フ
ラッグがFALSEにセットされる時、デコーディング・オペレーションは以下詳述
されるように停止される。
112において、データ有効フラッグはFALSEにセットされる。上述されたよう
に、データ有効フラッグはシステムによって、デコーディング・パイプラインの
オペレーションを停止するかどうかを決定するために用いられる。データ有効フ
ラッグがFALSEにセットされる時、デコーディング・オペレーションは以下詳述
されるように停止される。
【0045】
停止オペレーション1114において、コーディング・オペレーションは停止
され、読み取りポインタが前に移動することを妨げられ、従って正しいデータ・
フローが維持される。本発明はデータがデコーディングに利用できない時、パイ
プライン実行を停止することにより人為的影響を回避する。より詳細に以下詳述
されるように、本発明はビットストリーム・データの有用性を、FIFOコントロー
ラを用いて決定する。FIFOコントローラはデータ有効TRUE信号をVLD、RLD/IZZ及
びIQモジュールへ、ビットストリーム・データがデコーディングに利用できる時
送信する。ビットストリーム・データがデコーディングに利用できない時、FIFO
コントローラはデータ有効FALSE信号をモジュールへ送信する。データ有効FALSE
信号は次に各モジュールをフリーズさせる。従って、全てのデコーディング・オ
ペレーションは、データがデコーディングのために利用できない時停止される。
され、読み取りポインタが前に移動することを妨げられ、従って正しいデータ・
フローが維持される。本発明はデータがデコーディングに利用できない時、パイ
プライン実行を停止することにより人為的影響を回避する。より詳細に以下詳述
されるように、本発明はビットストリーム・データの有用性を、FIFOコントロー
ラを用いて決定する。FIFOコントローラはデータ有効TRUE信号をVLD、RLD/IZZ及
びIQモジュールへ、ビットストリーム・データがデコーディングに利用できる時
送信する。ビットストリーム・データがデコーディングに利用できない時、FIFO
コントローラはデータ有効FALSE信号をモジュールへ送信する。データ有効FALSE
信号は次に各モジュールをフリーズさせる。従って、全てのデコーディング・オ
ペレーションは、データがデコーディングのために利用できない時停止される。
【0046】
各デコーディング・モジュールはコントローラ、入力レジスタ、オペレーショ
ナル・ロジック、及び出力レジスタを含む。オペレーショナル・ロジックは特定
のモジュールのための計算ロジックを含む。入力レジスタ及び出力レジスタはモ
ジュールの実行をストールするために用いられる。
ナル・ロジック、及び出力レジスタを含む。オペレーショナル・ロジックは特定
のモジュールのための計算ロジックを含む。入力レジスタ及び出力レジスタはモ
ジュールの実行をストールするために用いられる。
【0047】
通常のオペレーションにおいては、ビットストリーム・データは入力レジスタ
を介してモジュールのオペレーショナル・ロジックへ入力される。ビットストリ
ームは次に出力レジスタを介して他のモジュールへ送信される。通常のオペレー
ションは、コントローラがデータ有効TRUE信号を受信する限り生じる。しかしな
がら、コントローラがデータ有効FALSE信号を受信する時、コントローラは入力
レジスタ及び出力レジスタへ、それらの現在の状態でフリーズするように信号を
送る。従って、各モジュールの現在の状態は、データ有効FALSE信号がモジュー
ルへ送信される時は常に固定される。これらの状態コントロール・メカニズムは
好ましくは全てのデコーディング・モジュールに存在する。
を介してモジュールのオペレーショナル・ロジックへ入力される。ビットストリ
ームは次に出力レジスタを介して他のモジュールへ送信される。通常のオペレー
ションは、コントローラがデータ有効TRUE信号を受信する限り生じる。しかしな
がら、コントローラがデータ有効FALSE信号を受信する時、コントローラは入力
レジスタ及び出力レジスタへ、それらの現在の状態でフリーズするように信号を
送る。従って、各モジュールの現在の状態は、データ有効FALSE信号がモジュー
ルへ送信される時は常に固定される。これらの状態コントロール・メカニズムは
好ましくは全てのデコーディング・モジュールに存在する。
【0048】
一旦デコーディング・オペレーションが停止されると、プロセスは別のビット
ストリーム有用性オペレーション1102で続行する。この方法で、システムは
データ有効TRUE信号を受信するまで、その現在の状態を保ち続け、そこにおいて
現在の圧縮されたデータはデコードされる。
ストリーム有用性オペレーション1102で続行する。この方法で、システムは
データ有効TRUE信号を受信するまで、その現在の状態を保ち続け、そこにおいて
現在の圧縮されたデータはデコードされる。
【0049】
本発明はいくつかの好ましい実施の形態の観点から詳述されたが、この発明の
範囲内にある多くの代替、置換え、及び同等物が存在する。本発明の方法及び装
置を実施するための多くの代替的な方法があることがまた注目されるべきである
。それゆえ以下に添付された請求項が、本発明の真の精神及び範囲内にある、こ
のような全ての代替、置換え、及び同等物を含むと解釈されることが意図される
。
範囲内にある多くの代替、置換え、及び同等物が存在する。本発明の方法及び装
置を実施するための多くの代替的な方法があることがまた注目されるべきである
。それゆえ以下に添付された請求項が、本発明の真の精神及び範囲内にある、こ
のような全ての代替、置換え、及び同等物を含むと解釈されることが意図される
。
【図1】
従来技術の、デジタル映像システムを示したブロック図である。
【図2】
従来技術の、デジタル・プロセッサーを示したブロック図である。
【図3】
本発明の実施の形態の1つに沿ったデジタル・プロセッサーを示したブロック
図である。
図である。
【図4】
本発明の他の実施の形態の1つに沿った解凍エンジンを示したブロック図であ
る。
る。
【図5】
本発明が示されている実施の形態の1つに基づいた先入れ先出し(FIFO)コン
トローラを示した略図である。
トローラを示した略図である。
【図6】
本発明の1つの側面に沿った、VLDモジュールを示したブロック図である。
【図7】
本発明の1つの実施の形態に沿った、中止可能なビットストリームのデコーデ
ィングのためのプロセスを示したフローチャートである。
ィングのためのプロセスを示したフローチャートである。
【図8】
本発明の1つの実施の形態に沿った、ビットストリーム・データの現在の有用
性を決定するためのプロセスを示したフローチャートである。
性を決定するためのプロセスを示したフローチャートである。
─────────────────────────────────────────────────────
フロントページの続き
(81)指定国 EP(AT,BE,CH,CY,
DE,DK,ES,FI,FR,GB,GR,IE,I
T,LU,MC,NL,PT,SE,TR),OA(BF
,BJ,CF,CG,CI,CM,GA,GN,GW,
ML,MR,NE,SN,TD,TG),AP(GH,G
M,KE,LS,MW,MZ,SD,SL,SZ,TZ
,UG,ZW),EA(AM,AZ,BY,KG,KZ,
MD,RU,TJ,TM),AL,AM,AT,AU,
AZ,BA,BB,BG,BR,BY,CA,CH,C
N,CU,CZ,DE,DK,EE,ES,FI,GB
,GE,GH,GM,HR,HU,ID,IL,IS,
JP,KE,KG,KP,KR,KZ,LC,LK,L
R,LS,LT,LU,LV,MD,MG,MK,MN
,MW,MX,NO,NZ,PL,PT,RO,RU,
SD,SE,SG,SI,SK,SL,TJ,TM,T
R,TT,UA,UG,US,UZ,VN,YU,ZW
Fターム(参考) 5C053 FA24 GB37 HB07 JA30
5D044 AB07 EF03 GK08 HL11
Claims (20)
- 【請求項1】 入ってくる、圧縮されたビットストリームのためのデコーダで
あって、デコーダは不連続に入ってくるビットストリームの操作の能力があり、
そのデコーダは、 ラッチ・コマンドを受信する能力がある入力レジスタ、さらに、ラッチ・コマ
ンドを受信した際の特定の状態下で格納されたデータをラッチする能力がある入
力レジスタ、 入力レジスタと通信するデコーディング・ロジック、 デコーディング・ロジックと通信する出力レジスタ、ラッチ・コマンドを受信
する能力がある出力レジスタ、さらに、ラッチ・コマンドを受信した際の特定の
状態下で格納されたデータをラッチする能力がある出力レジスタ、 入力レジスタ及び出力レジスタと通信するレジスタ・コントローラであって、
出力レジスタ、停止コマンドを受信する際、レジスタ・コントローラが入力レジ
スタ及び出力レジスタに対しラッチ・コマンドを送信することを特徴とし、停止
コマンドを受信する能力があるレジスタ・コントローラ、 からなる。 - 【請求項2】 レジスタ・コントローラによって、入ってくるビットストリー
ムが利用できないとき、停止コマンドが受信されることを特徴とする、請求項1
記載のデコーダ。 - 【請求項3】 停止コマンドが先入れ先出し(FIFO)コントローラによって作
り出されることを特徴とする、請求項2記載のデコーダ。 - 【請求項4】 FIFOコントローラが書き込みポインタ及び読み取りポインタを
含むことを特徴とする、請求項3記載のデコーダ。 - 【請求項5】 書き込みポインタ及び読み取りポインタが同じメモリ・アドレ
スを含むとき、FIFOコントローラが停止コマンドを作り出すことを特徴とする、
請求項4記載のデコーダ。 - 【請求項6】 有益な情報がメモリ書き込みオペレーションによって上書きさ
れるとき、停止コマンドがレジスタ・コントローラに提供されることを特徴とす
る、請求項1記載のデコーダ。 - 【請求項7】 マージ及び格納モジュールによって、有益なデータがメモリに
対し書き込まれたデータであることを特徴とする、請求項6記載のデコーダ。 - 【請求項8】 入ってくる、圧縮されたビットストリームをデコーディングす
るための方法、不連続に入ってくるビットストリームをオペレーティングする能
力がある方法であり、その方法が、 レジスタ・コントローラが入力レジスタ及び出力レジスタと通信し、デコーデ
ィング・ロジックが入力レジスタからデータ入力を受信し、出力レジスタに対し
データ出力を提供することを特徴とし、レジスタ・コントローラに対し、停止コ
マンドを提供する、 レジスタ・コントローラが停止コマンドを受信するとき、入力レジスタ及び出
力レジスタに対し、ラッチ・コマンドを提供する、 ラッチ・コマンドが入力レジスタ及び出力レジスタによって受信されるとき、
入力レジスタ及び出力レジスタに格納されるラッチング・データ、 からなる。 - 【請求項9】 入ってくるビットストリームが利用できないとき、停止コマン
ドがレジスタ・コントローラに対し提供されることを特徴とする、請求項8記載
の方法。 - 【請求項10】 停止コマンドが先入れ先出し(FIFO)コントローラによって
作り出されることを特徴とする、請求項8記載の方法。 - 【請求項11】 FIFOコントローラが書き込みポインタ及び読み取りポインタ
を含むことを特徴とする請求項10記載の方法。 - 【請求項12】 書き込みポインタ及び読み取りポインタが同じメモリ・アド
レスを含む時、FIFOコントローラが停止コマンドを出すことを特徴とする請求項
11記載の方法。 - 【請求項13】 メモリ書き込みオペレーションによって、有用なデータが上
書きされる時、停止コマンドがレジスタ・コントローラへ提供されることを特徴
とする請求項8記載の方法。 - 【請求項14】 有用なデータが、マージ及び格納モジュールによってメモリ
へ書き込みされることを特徴とする請求項13記載の方法。 - 【請求項15】 入ってくる圧縮されたビットストリーム・データをデコーデ
ィングするためのデコーダを有し、このデコーダは不連続ビットストリーム上で
オペレーティング可能な特定用途向け集積回路(ASIC)であって、このASICは、 メモリ・コントローラと、 前記メモリ・コントローラと通信する入力レジスタであって、ラッチ・コマン
ドを受信することができ、このラッチ・コマンドを受信する際に特定の状態にお
いて格納されたデータをラッチすることが更にできる前記入力レジスタと、 前記入力レジスタと通信するデコーディング・ロジックと、 前記デコーディング・ロジックと通信する出力レジスタであって、前記ラッチ
・コマンドを受信する際に特定の状態において格納されたデータをラッチするこ
とが更にできる前記出力レジスタと、 前記入力レジスタと通信するレジスタ・コントローラであって、停止コマンド
を受信することができ、この停止コマンドを受信する際に前記入力レジスタ及び
出力レジスタへラッチ・コマンドを送信する前記レジスタ・コントローラと、 を含む。 - 【請求項16】 入ってくるビットストリーム・データが利用できない時、停
止コマンドを出すことを特徴とするFIFOコントローラを更に含む請求項15記載
のASIC。 - 【請求項17】 FIFOコントローラが書き込みポインタ及び読み取りポインタ
を含むことを特徴とする請求項16記載のASIC。 - 【請求項18】 書き込みポインタ及び読み取りポインタが同じメモリ・アド
レスを含む時、FIFOコントローラが停止コマンドを出すことを特徴とする請求項
17記載のASIC。 - 【請求項19】 マージ及び格納モジュールを更に含む、請求項15記載のAS
IC。 - 【請求項20】 マージ及び格納モジュールによって書き込まれた有用データ
が、メモリ書き込みオペレーションによって上書きされる時、停止コマンドが出
されることを特徴とする請求項19記載のASIC。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/494,105 US6459738B1 (en) | 2000-01-28 | 2000-01-28 | Method and apparatus for bitstream decoding |
US09/494,105 | 2000-01-28 | ||
PCT/US2001/002816 WO2001056300A1 (en) | 2000-01-28 | 2001-01-26 | Method and apparatus for bitstream decoding |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003521180A true JP2003521180A (ja) | 2003-07-08 |
Family
ID=23963059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001554628A Pending JP2003521180A (ja) | 2000-01-28 | 2001-01-26 | ビットストリームのデコーディングのための方法及び装置 |
Country Status (5)
Country | Link |
---|---|
US (2) | US6459738B1 (ja) |
JP (1) | JP2003521180A (ja) |
AU (1) | AU2001231218A1 (ja) |
DE (1) | DE10194858T1 (ja) |
WO (1) | WO2001056300A1 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040077709A1 (en) * | 1999-05-31 | 2004-04-22 | Daiichi Pharmaceutical Co., Ltd. | Neuronal death inhibitors |
US6459738B1 (en) * | 2000-01-28 | 2002-10-01 | Njr Corporation | Method and apparatus for bitstream decoding |
US9330060B1 (en) * | 2003-04-15 | 2016-05-03 | Nvidia Corporation | Method and device for encoding and decoding video image data |
US8660182B2 (en) * | 2003-06-09 | 2014-02-25 | Nvidia Corporation | MPEG motion estimation based on dual start points |
US8423597B1 (en) | 2003-08-29 | 2013-04-16 | Nvidia Corporation | Method and system for adaptive matrix trimming in an inverse discrete cosine transform (IDCT) operation |
US8731071B1 (en) | 2005-12-15 | 2014-05-20 | Nvidia Corporation | System for performing finite input response (FIR) filtering in motion estimation |
US8599841B1 (en) * | 2006-03-28 | 2013-12-03 | Nvidia Corporation | Multi-format bitstream decoding engine |
US8724702B1 (en) | 2006-03-29 | 2014-05-13 | Nvidia Corporation | Methods and systems for motion estimation used in video coding |
US8593469B2 (en) * | 2006-03-29 | 2013-11-26 | Nvidia Corporation | Method and circuit for efficient caching of reference video data |
US7884742B2 (en) * | 2006-06-08 | 2011-02-08 | Nvidia Corporation | System and method for efficient compression of digital data |
US8660380B2 (en) * | 2006-08-25 | 2014-02-25 | Nvidia Corporation | Method and system for performing two-dimensional transform on data value array with reduced power consumption |
DE102007005866B4 (de) * | 2007-02-06 | 2021-11-04 | Intel Deutschland Gmbh | Anordnung, Verfahren und Computerprogramm-Produkt zum Anzeigen einer Folge von digitalen Bildern |
US20080291209A1 (en) * | 2007-05-25 | 2008-11-27 | Nvidia Corporation | Encoding Multi-media Signals |
US8756482B2 (en) * | 2007-05-25 | 2014-06-17 | Nvidia Corporation | Efficient encoding/decoding of a sequence of data frames |
US9118927B2 (en) * | 2007-06-13 | 2015-08-25 | Nvidia Corporation | Sub-pixel interpolation and its application in motion compensated encoding of a video signal |
US8873625B2 (en) * | 2007-07-18 | 2014-10-28 | Nvidia Corporation | Enhanced compression in representing non-frame-edge blocks of image frames |
TWI361009B (en) | 2008-03-06 | 2012-03-21 | Realtek Semiconductor Corp | Method and apparatus for processing audio/vedio bi |
US8666181B2 (en) * | 2008-12-10 | 2014-03-04 | Nvidia Corporation | Adaptive multiple engine image motion detection system and method |
US8265095B2 (en) * | 2009-12-02 | 2012-09-11 | International Business Machines Corporation | Resource management finite state machine for handling resource management tasks separate from a protocol finite state machine |
US20110158310A1 (en) * | 2009-12-30 | 2011-06-30 | Nvidia Corporation | Decoding data using lookup tables |
US9798698B2 (en) | 2012-08-13 | 2017-10-24 | Nvidia Corporation | System and method for multi-color dilu preconditioner |
US8823557B1 (en) * | 2013-05-10 | 2014-09-02 | International Business Machines Corporation | Random extraction from compressed data |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0576749B1 (en) * | 1992-06-30 | 1999-06-02 | Discovision Associates | Data pipeline system |
GB9405914D0 (en) | 1994-03-24 | 1994-05-11 | Discovision Ass | Video decompression |
US5870497A (en) * | 1991-03-15 | 1999-02-09 | C-Cube Microsystems | Decoder for compressed video signals |
US5815646A (en) | 1993-04-13 | 1998-09-29 | C-Cube Microsystems | Decompression processor for video applications |
JP3159345B2 (ja) * | 1993-07-02 | 2001-04-23 | 日本電気株式会社 | パイプライン演算処理装置 |
CA2127347A1 (en) * | 1993-07-07 | 1995-01-08 | Donald F. Hooper | Segmented video on-demand system |
DE69524269T2 (de) * | 1994-01-28 | 2002-07-18 | Matsushita Electric Ind Co Ltd | Vorrichtung und Verfahren zur Dekodierung von Kodes variabler Länge |
KR0148153B1 (ko) * | 1994-05-31 | 1998-09-15 | 김광호 | 비트스터핑 제거장치 |
JPH08241296A (ja) * | 1995-03-06 | 1996-09-17 | Mitsubishi Electric Corp | 半導体集積回路 |
US5812791A (en) * | 1995-05-10 | 1998-09-22 | Cagent Technologies, Inc. | Multiple sequence MPEG decoder |
US5767799A (en) * | 1995-12-05 | 1998-06-16 | Mitsubishi Semiconductor America, Inc. | Low power high speed MPEG video variable length decoder |
US5818539A (en) * | 1996-03-29 | 1998-10-06 | Matsushita Electric Corporation Of America | System and method for updating a system time constant (STC) counter following a discontinuity in an MPEG-2 transport data stream |
US5818532A (en) | 1996-05-03 | 1998-10-06 | Lsi Logic Corporation | Micro architecture of video core for MPEG-2 decoder |
EP0840517A3 (en) * | 1996-10-31 | 2003-09-10 | Matsushita Electric Industrial Co., Ltd. | Video data stream decoding method and apparatus |
US6212236B1 (en) * | 1997-03-26 | 2001-04-03 | Matsushita Electric Industrial Co., Ltd. | Image decoding apparatus |
US6011868A (en) * | 1997-04-04 | 2000-01-04 | Hewlett-Packard Company | Bitstream quality analyzer |
US5907374A (en) * | 1997-06-30 | 1999-05-25 | Hewlett-Packard Company | Method and apparatus for processing a compressed input bitstream representing an information signal |
US6459738B1 (en) * | 2000-01-28 | 2002-10-01 | Njr Corporation | Method and apparatus for bitstream decoding |
-
2000
- 2000-01-28 US US09/494,105 patent/US6459738B1/en not_active Expired - Fee Related
- 2000-08-09 US US09/636,390 patent/US6643329B1/en not_active Expired - Fee Related
-
2001
- 2001-01-26 DE DE10194858T patent/DE10194858T1/de not_active Withdrawn
- 2001-01-26 JP JP2001554628A patent/JP2003521180A/ja active Pending
- 2001-01-26 AU AU2001231218A patent/AU2001231218A1/en not_active Abandoned
- 2001-01-26 WO PCT/US2001/002816 patent/WO2001056300A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US6643329B1 (en) | 2003-11-04 |
AU2001231218A1 (en) | 2001-08-07 |
DE10194858T1 (de) | 2003-02-20 |
WO2001056300A1 (en) | 2001-08-02 |
US6459738B1 (en) | 2002-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003521180A (ja) | ビットストリームのデコーディングのための方法及び装置 | |
US6128015A (en) | Multimedia computer system | |
US8462841B2 (en) | System, method and device to encode and decode video data having multiple video data formats | |
US20070157268A1 (en) | Portable media device with improved video acceleration capabilities | |
JPH10108117A (ja) | メモリインターフェースを共用するビデオ及び/又はオーディオ脱圧縮及び/又は圧縮装置 | |
JP2003509800A (ja) | マルチ−チャネルビットストリームをコントロールするための方法および装置 | |
US20110316862A1 (en) | Multi-Processor | |
US6259740B1 (en) | Moving picture experts group video decoding apparatus and method for supporting replay | |
US6240469B1 (en) | System for transferring motion picture data between peripheral device interfaces by second peripheral interface issuing data transaction based on information set by processor to designate first peripheral interface | |
US7751687B2 (en) | Data processing apparatus, data processing method, data processing system, program, and storage medium | |
US7848610B2 (en) | Data processing system, reproduction apparatus, computer, reproduction method, program, and storage medium | |
US8280220B2 (en) | Reproduction apparatus, data processing system, reproduction method, program, and storage medium | |
JP2003521179A (ja) | 動的パイプライニングのための方法及び装置 | |
JP3436818B2 (ja) | コンピュータシステムおよび動画再生方法 | |
JP4770023B2 (ja) | デジタル信号処理装置および方法、並びにデジタル信号処理プログラム | |
KR20010102899A (ko) | Mpeg2파일 재생시스템에 있어서 mpeg2파일의 멀티디스플레이 구현장치 및 방법 | |
EP1434223A2 (en) | Method and apparatus for data access in a video recorder with a disk drive | |
US7627232B2 (en) | Reproduction apparatus, data processing system, reproduction method, program, and storage medium | |
JP3458787B2 (ja) | 録画再生装置 | |
JP2002535937A (ja) | ビデオデコーダにおいて効率的にメモリを使用するためのメモリ使用装置及び方法 | |
JP3615435B2 (ja) | 動画再生装置及びこれに用いるバッファ回路 | |
JP2001339676A (ja) | 情報処理装置 | |
JP2007122502A (ja) | フレームバッファ管理プログラム、プログラム記憶媒体、および管理方法。 | |
US7426217B2 (en) | Method for transmitting data by an audio and video playback system | |
JPH0764730A (ja) | 画像・音声データの転送方法 |