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
Application number
JP2001554628A
Other languages
English (en)
Inventor
キオング ウー
クウーク ケー チャウ
敏昭 吉野
Original Assignee
エヌジェイアール コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エヌジェイアール コーポレーション filed Critical エヌジェイアール コーポレーション
Publication of JP2003521180A publication Critical patent/JP2003521180A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/423Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods 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)として知られている光学
ディスク・メディアのようなランダムにアクセスできるメディアに格納すること
ができるので、アナログ映像より、より安く格納、流通することができる。 さらに、一度ランダムにアクセスできる媒体に格納されたならば、デジタル映
像は双方向性となり、ゲーム、カタログ、トレーニング、教育及び他の用途に用
いることが可能となる。
【0003】 デジタル映像技術を基礎とした最新の製品の1つはデジタル映像ディスクであ
り、時としてデジタル・バーサタイル・ディスクあるいは単純に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は通常テレビ・セット及びモニターのようなディスプレイ装置及びス
ピーカーのような音響装置を含む。
【0005】 図2の次の従来技術を参照すると、従来のデジタル・プロセッサー104が示
されている。デジタル・プロセッサー104は解凍エンジン200、コントロー
ラ202及びDRAM204を含む。本質的に、ビットストリームは、解凍プロセス
の間DRAM204及びコントローラ202を利用した解凍エンジン200で解凍さ
れる。 解凍されたデータはそれから、テレビ及びモニターのような、ディスプレイ装
置に解凍された画像を表示するディスプレイ・コントローラ206へ送られる。
【0006】 前述のように、デジタル・プロセッサーは通常ASICで実施される。これらASIC
は通常、専用ハードウェアに対し可変長デコード(VLD)、ラン・レングス・デ
コーディング(RLD)、ジグ・ザグ・スキャン、逆変換(IQ)、逆離散コサイン
変換(IDCT)のような重要な機能的なオペレーションを計画する。 処理スピードを増すために、これらモジュールのパイプライン実施のような技
術が利用可能なサイクル・タイムで計算を実行するために用いられる。
【0007】 入ってくるビットストリームは常に供給される間、そのようなパイプライン・
メカニズムは効率良く作動する。しかしながら、常に供給されるビットストリー
ムは常により新しい応用が可能というわけではない。 例えば、インターネット・ストリーミング映像は、接続が終了することもあり
、あるいはいつでも中断されることがあるので、いつも一定のビットストリーム
を保証することはできない。 さらに、ビットストリームの中断は例えば、DVDプレイヤーが後りのシステム
に同じ速さになるのに十分な速さでない時、従来のDVD読み取り機で起こる可能
性がある。
【0008】 ビットストリームが中断された時、従来の解凍エンジン200はエラー処理方
法を用いて問題を処理することを試みる。しかしながら、従来のエラー処理方法
を用いることは人為的影響を生み出し、それはシステムのユーザによって見るこ
とができる。 さらに、これら人為的影響は通常その後に続く画像に対し広まり、それゆえに
、これを見ることは、ユーザをさらに不快にする。
【0009】 前記のことを考慮して、必要とされることは、人為的影響を引き起こすことな
くビットストリームの中断を処理することができる、入ってくるビットストリー
ムをデコーディングするための改良された方法及び装置である。さらに、システ
ムは頑丈で、それほど製造コストを追加しないようにするべきである。
【0010】 (発明の要約) 本発明はビットストリーム・データが利用できないとき、デコーディング・プ
ロセスを停止するデコーダを提供することにより、これら必要性を満たす。1つ
の実施形態において、デコーダはラッチ・コマンドを受信する能力があり、さら
にラッチ・コマンドを受信する際の特定の状態下で、格納されたデータをラッチ
する能力がある入力レジスタを含む。デコーダはまた、入力レジスタと通信する
、長さが可変のデコーディング・ロジックあるいはラン・レングス・デコーディ
ング・ロジックのようなデコーディング・ロジックを含む。 さらにデコーダに含まれるのは、ラッチ・コマンドを受信する能力があり、ラ
ッチ・コマンドを受信する際の特定の状態下で、格納されたデータをラッチする
能力があるデコーディング・ロジックと通信する出力レジスタである。 最後に、デコーダは入力レジスタ及び出力レジスタと通信をするレジスタ・コ
ントローラを含む。レジスタ・コントローラはシステムから停止コマンドを受信
し、ラッチ・コマンドを入力レジスタ及び出力レジスタに送信する能力がある。
【0011】 他の実施の形態において、入ってくる圧縮されたビットストリームをデコーデ
ィングする方法が提供される。その方法は停止コマンドを入力レジスタ及び出力
レジスタと通信するレジスタ・コントローラに提供することからなる。 次に、ラッチ・コマンドはレジスタ・コントローラが停止コマンドを受信する
とき入力レジスタ及び出力レジスタの両方に提供される。 最後に、入力レジスタ及び出力レジスタに格納されるデータは、これらレジス
タがラッチ・コマンドを受信するときラッチされ、その結果、両方のレジスタと
通信する、デコーディング・ロジックのオペレーションを停止する。
【0012】 さらに、別の実施の形態において、入ってくる圧縮されたビットストリームを
デコーディングするための、特定用途向け集積回路(ASIC)が開示されている。
ASICはラッチ・コマンドを受信する能力があり、さらにラッチ・コマンドを受信
した特定の状態で、格納されたデータをラッチングする能力があるメモリ・コン
トローラ及び入力レジスタを含む。 ASICはまた、入力レジスタと通信する、長さが可変のデコーディング・ロジッ
クあるいはラン・レングス・デコーディング・ロジックのようなデコーディング
・ロジックを含む。 さらに、ASICに含まれるのは、またラッチ・コマンドを受信する能力があり、
さらにラッチ・コマンドを受信する際の特定の状態下で、格納されたデータをラ
ッチする能力がある、デコーディング・ロジックと通信をする出力レジスタであ
る。 最後に、ASICは入力レジスタ及び出力レジスタと通信する、レジスタ・コント
ローラを含む。レジスタ・コントローラはシステムから停止コマンドを受信し、
停止コマンドを受信した時、ラッチ・コマンドを入力レジスタ及び出力レジスタ
に送信する能力がある。
【0013】 有利なことに、本発明は入ってくるビットストリームの中止に対し対応して作
り出される人為的影響を避ける、あるいは減少する。データが利用可能であるか
そうでないかに関係なく、継続的なデコードを試みる従来のデコーダとは違い、
本発明はデータがデコーダに対し入手できなくなった時、デコーディング・オペ
レーションを停止することにより、人為的影響を避ける。 さらに、本発明は違ったデコーディング・モジュールによる、メモリ書き込み
の同調を可能とするメカニズムを提供することにより、デコーディングにおいて
より大きな効果を可能とする。 書き込みオペレーションの軋轢が生じるとき、デコーディング及びメモリ書き
込みオペレーションを停止することにより、本発明は、従来メモリ書き込みのコ
ンフリクトを防ぐために用いられた、時間の大きなバッファの必要性を避ける。
【0014】 (発明の詳細な記載) 本発明はさらにその有利性が付随した図に関連した以下の記載を参照すること
により、最も理解される。 本発明はビットストリーム・フローが中断されるとき、人為的影響を避ける間
に、入ってくるビットストリームをデコーディングするために記載される。以下
の記載において、数々の特定の詳細が本発明の完全な理解を提供するために示さ
れる。 しかしながら、当業者がこれら詳細の全て、あるいはその一部をなしに実施す
ることができるのは明らかである。他の場合において、本発明を不必要にあいま
いにしないために、よく知られているプロセス・ステップは詳細には記載されて
いない。
【0015】 図1及び図2は従来技術の観点から開示されている。図3は、本発明の1つの
実施の形態に一致したデジタル・プロセッサー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を含む。
【0017】 オペレーションの間、ビットストリーム・データはメモリ・コントローラ・バ
ッファ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に再構築データを格納する。
【0019】 本発明はデータがデコーディングに利用できない時、パイプライン実行を停止
することにより人為的影響を回避する。より詳細に以下詳述されるように、本発
明は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へ伝播しない。有
利なことに、上述された設計は本発明の実施を比較的容易で費用効率的なものに
する。
【0021】 図5は本発明の1つの側面に従った、先入れ先出し(FIFO)コントローラ40
5を示すブロック図である。FIFOコントローラ405はメモリ500、コントロ
ーラ502、及びコンパレータ504を含む。コントローラ502は入力506
、出力508、書き込みポインタ510、及び読み取りポインタ512を含む。
最後に、コンパレータ504はデータ有効フラッグ514を含む。
【0022】 使用において、入力データはコントローラ502の入力506によって受信さ
れる。コントローラ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にセットすることに
よって、利用できるデータが無いとの情報を与える。
【0024】 図6は本発明の1つの側面に従ったVLDモジュール406を示すブロック図で
ある。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モジュールにもまた存在する。
【0026】 従って、図4に戻って参照すると、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に保
存する。
【0028】 次に図7を参照すると、それは本発明の1つの実施の形態に従った、中断可能
なビットストリームをデコーディングするためのプロセス1000を示すフロー
チャートである。このプロセスは前プロセス・オペレーションが実行される、開
始オペレーション1002で始まる。前プロセス・オペレーションは、入ってく
るビットストリーム・データをDRAMに一時的に格納すること、及び当業者に明白
であろう他の前プロセス・オペレーションを含む。
【0029】 受信ビットストリーム・オペレーション1004において、システムはDRAMか
ら圧縮されたビットストリーム・データを受信する。通常のオペレーションでは
、システムは入ってくるビットストリーム・データをDRAMに格納する。そして、
システムがそのデータをデコードする準備ができた時、ビットストリーム・デー
タはDRAMから読み取られ、FIFOそして次にデコーディング・モジュールへとパス
される。
【0030】 次に、有用性決定オペレーション1006において、FIFO中のビットストリー
ム・データの有用性が決定される。一般的に、ビットストリーム・データは、デ
コーディングのためのデコーディング・モジュールへ継続的にパスされる。しか
しながら、この継続的なビットストリーム・データのフローは、インターネット
・ビットストリーム・データあるいはDRAMアクセス状態でしばしば生じるように
、全てのモジュールが1つのDRAMアクセスを共有する時に中断される。従って、
システムがデコーディング・オペレーションを開始する前に、まず現在デコーデ
ィングするために利用できるデータがあるかどうかが決定される。
【0031】 プロセスは次にオペレーション1008で枝分かれする。データが現在利用で
きる場合、プロセスはデコーディング・オペレーション1010で続行する。デ
コーディングに利用できるデータが現在無い場合、プロセスは停止オペレーショ
ン1012で続行する。
【0032】 デコーディング・オペレーション1010で、圧縮されたビットストリーム・
データはデコードされる。このオペレーションは一般的に、VLD、RLD/IZZ、IQ及
びIDCTを、ビットストリーム・データをデコードするために用いることを含む。
現在のビットストリーム・データをデコーディングした後、プロセスは別の受信
ビットストリーム・オペレーション1004で続行する。
【0033】 停止オペレーション1012において、デコーディング・オペレーションは停
止される。本発明はデータがデコーディングに利用できない時、パイプライン実
行を停止することによって人為的影響を回避する。より詳細に以下詳述されるよ
うに、本発明はFIFOコントローラを用いて、ビットストリーム・データの有用性
を決定する。ビットストリーム・データがデコーディングに利用できない時、FI
FOコントローラはデータ有効FALSE信号をモジュールへ送信する。データ有効FAL
SE信号は次に各モジュールをフリーズさせる。従って、全てのデコーディング・
オペレーションは、データがデコーディングに利用できない時停止される。
【0034】 各デコーディング・モジュールはコントローラ、入力レジスタ、オペレーショ
ナル・ロジック、及び出力レジスタを含む。オペレーショナル・ロジックは特定
のモジュールのための計算ロジックを含む。入力レジスタ及び出力レジスタは、
モジュールの実行をストールさせるために用いられる。
【0035】 通常のオペレーションでは、ビットストリーム・データは入力レジスタを介し
て、モジュールのオペレーショナル・ロジックへ入力される。ビットストリーム
は次に出力レジスタを介して他のモジュールへパスされる。通常のオペレーショ
ンは、コントローラがデータ有効TRUE信号を受信する限り生じる。しかしながら
、コントローラがデータ有効FALSE信号を受信する時、そのコントローラは入力
レジスタ及び出力レジスタへ、その現在の状態でフリーズするように信号を送る
。従って、各モジュールの現在の状態は、データ有効FALSE信号がモジュールに
送信される時は常に固定される。これらの状態コントロール・メカニズムは好ま
しくは全てのデコーディング・モジュールに存在する。
【0036】 デコーディング・オペレーションが停止されると、プロセスは別のビットスト
リーム有用性オペレーション1006で続行する。ビットストリーム・データが
現在利用できると決定されると、プロセスはデコーディング・オペレーション1
010において、ビットストリーム・データをデコーディングすることにより続
行する。
【0037】 図8は、本発明の1つの側面に従った、現在のビットストリーム・データの有
用性を決定するためのプロセス1006を示すフローチャートである。開始オペ
レーション1100において、前プロセス・オペレーションが実行される。前プ
ロセス・オペレーションは、入ってくるビットストリーム・データをDRAMに一時
的に格納すること、及び当業者に明白であろう他の前プロセス・オペレーション
を含む。
【0038】 受信ビットストリーム・オペレーション1102において、システムはDRAMか
ら圧縮されたビットストリーム・データを受信する。通常のオペレーションでは
、システムは入ってくるビットストリーム・データをDRAMへ格納する。そして、
システムがデータをデコードする準備ができた時、ビットストリーム・データは
DRAMから読み取られ、様々なデコーディング・モジュールへパスされる。このデ
ータは次に、システムがデータの有用性を決定するのを助けるFIFOコントローラ
によって受信される。
【0039】 書き込みオペレーション1104において、FIFOコントローラは入ってくるビ
ットストリーム・データをFIFOメモリ・バッファへ書き込む。FIFOは、そのメモ
リ書き込み及び読み取りオペレーションを、メモリにおけるデータ・アドレスを
含むメモリ・ポインタを使用して実行する。一般的に、書き込みポインタは、デ
ータが格納される次の利用可能なメモリ位置のアドレスを含み、読み取りポイン
タは読み取りされる必要のあるデータを含む、次のメモリ・アドレスのアドレス
を含む。FIFOコントローラが格納された順番と同じ順番でデータを読み取るので
、読み取りポインタは常に、データ・ブロック・アドレスをとばすことなく、格
納されたデータを格納された順番と同じ順番で処理する。
【0040】 次に、比較オペレーション1106において、読み取り及び書き込みポインタ
はお互いに比較される。データが現在FIFOメモリ・バッファに格納されている時
、書き込みポインタは読み取りポインタを進める。書き込みポインタは利用でき
る次のメモリ位置のアドレスを含み、読み取りポインタは次の読み取りされるデ
ータ・アイテムのアドレスを含む。一方、FIFOメモリ・バッファに格納されたデ
ータが現在ない場合、書き込みポインタ及び読み取りポインタは同じアドレスを
含む。
【0041】 従って、システムは比較オペレーション1106の間、書き込み及び読み取り
ポインタを比較することによって、データが現在利用できるかどうかを決定する
。ポインタが等しくない場合、デコードするためのデータが現在存在し、プロセ
ス1006はデータ有効オペレーション1108で続行する。しかしながら、書
き込み及び読み取りポインタが等しい場合、デコーディングするためのデータは
現在無く、プロセス1006はデータ無効オペレーション1112で続行する。
【0042】 データが現在デコードされるために存在する場合、データ有効フラッグはデー
タ有効オペレーション1108においてTRUEにセットされる。上述されたように
、データ有効フラッグはシステムによって、デコーディング・パイプラインのオ
ペレーションを停止するかどうか決定するために用いられる。データ有効フラッ
グがTRUEにセットされる時、デコーディング・オペレーションは以下詳述される
ように続行する。
【0043】 デコーディング・オペレーション1110において、圧縮されたビットストリ
ームはデコードされる。このオペレーションは一般的には、VLD,RLD/IZZ,IQ及び
IDCTをビットストリーム・データをデコードするために用いることを含む。現在
のビットストリーム・データをデコーディングした後、プロセスは別の受信ビッ
トストリーム・オペレーション1102で続行する。
【0044】 データが現在デコーディングに利用できない時、データ無効オペレーション1
112において、データ有効フラッグはFALSEにセットされる。上述されたよう
に、データ有効フラッグはシステムによって、デコーディング・パイプラインの
オペレーションを停止するかどうかを決定するために用いられる。データ有効フ
ラッグがFALSEにセットされる時、デコーディング・オペレーションは以下詳述
されるように停止される。
【0045】 停止オペレーション1114において、コーディング・オペレーションは停止
され、読み取りポインタが前に移動することを妨げられ、従って正しいデータ・
フローが維持される。本発明はデータがデコーディングに利用できない時、パイ
プライン実行を停止することにより人為的影響を回避する。より詳細に以下詳述
されるように、本発明はビットストリーム・データの有用性を、FIFOコントロー
ラを用いて決定する。FIFOコントローラはデータ有効TRUE信号をVLD、RLD/IZZ及
びIQモジュールへ、ビットストリーム・データがデコーディングに利用できる時
送信する。ビットストリーム・データがデコーディングに利用できない時、FIFO
コントローラはデータ有効FALSE信号をモジュールへ送信する。データ有効FALSE
信号は次に各モジュールをフリーズさせる。従って、全てのデコーディング・オ
ペレーションは、データがデコーディングのために利用できない時停止される。
【0046】 各デコーディング・モジュールはコントローラ、入力レジスタ、オペレーショ
ナル・ロジック、及び出力レジスタを含む。オペレーショナル・ロジックは特定
のモジュールのための計算ロジックを含む。入力レジスタ及び出力レジスタはモ
ジュールの実行をストールするために用いられる。
【0047】 通常のオペレーションにおいては、ビットストリーム・データは入力レジスタ
を介してモジュールのオペレーショナル・ロジックへ入力される。ビットストリ
ームは次に出力レジスタを介して他のモジュールへ送信される。通常のオペレー
ションは、コントローラがデータ有効TRUE信号を受信する限り生じる。しかしな
がら、コントローラがデータ有効FALSE信号を受信する時、コントローラは入力
レジスタ及び出力レジスタへ、それらの現在の状態でフリーズするように信号を
送る。従って、各モジュールの現在の状態は、データ有効FALSE信号がモジュー
ルへ送信される時は常に固定される。これらの状態コントロール・メカニズムは
好ましくは全てのデコーディング・モジュールに存在する。
【0048】 一旦デコーディング・オペレーションが停止されると、プロセスは別のビット
ストリーム有用性オペレーション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. 【請求項1】 入ってくる、圧縮されたビットストリームのためのデコーダで
    あって、デコーダは不連続に入ってくるビットストリームの操作の能力があり、
    そのデコーダは、 ラッチ・コマンドを受信する能力がある入力レジスタ、さらに、ラッチ・コマ
    ンドを受信した際の特定の状態下で格納されたデータをラッチする能力がある入
    力レジスタ、 入力レジスタと通信するデコーディング・ロジック、 デコーディング・ロジックと通信する出力レジスタ、ラッチ・コマンドを受信
    する能力がある出力レジスタ、さらに、ラッチ・コマンドを受信した際の特定の
    状態下で格納されたデータをラッチする能力がある出力レジスタ、 入力レジスタ及び出力レジスタと通信するレジスタ・コントローラであって、
    出力レジスタ、停止コマンドを受信する際、レジスタ・コントローラが入力レジ
    スタ及び出力レジスタに対しラッチ・コマンドを送信することを特徴とし、停止
    コマンドを受信する能力があるレジスタ・コントローラ、 からなる。
  2. 【請求項2】 レジスタ・コントローラによって、入ってくるビットストリー
    ムが利用できないとき、停止コマンドが受信されることを特徴とする、請求項1
    記載のデコーダ。
  3. 【請求項3】 停止コマンドが先入れ先出し(FIFO)コントローラによって作
    り出されることを特徴とする、請求項2記載のデコーダ。
  4. 【請求項4】 FIFOコントローラが書き込みポインタ及び読み取りポインタを
    含むことを特徴とする、請求項3記載のデコーダ。
  5. 【請求項5】 書き込みポインタ及び読み取りポインタが同じメモリ・アドレ
    スを含むとき、FIFOコントローラが停止コマンドを作り出すことを特徴とする、
    請求項4記載のデコーダ。
  6. 【請求項6】 有益な情報がメモリ書き込みオペレーションによって上書きさ
    れるとき、停止コマンドがレジスタ・コントローラに提供されることを特徴とす
    る、請求項1記載のデコーダ。
  7. 【請求項7】 マージ及び格納モジュールによって、有益なデータがメモリに
    対し書き込まれたデータであることを特徴とする、請求項6記載のデコーダ。
  8. 【請求項8】 入ってくる、圧縮されたビットストリームをデコーディングす
    るための方法、不連続に入ってくるビットストリームをオペレーティングする能
    力がある方法であり、その方法が、 レジスタ・コントローラが入力レジスタ及び出力レジスタと通信し、デコーデ
    ィング・ロジックが入力レジスタからデータ入力を受信し、出力レジスタに対し
    データ出力を提供することを特徴とし、レジスタ・コントローラに対し、停止コ
    マンドを提供する、 レジスタ・コントローラが停止コマンドを受信するとき、入力レジスタ及び出
    力レジスタに対し、ラッチ・コマンドを提供する、 ラッチ・コマンドが入力レジスタ及び出力レジスタによって受信されるとき、
    入力レジスタ及び出力レジスタに格納されるラッチング・データ、 からなる。
  9. 【請求項9】 入ってくるビットストリームが利用できないとき、停止コマン
    ドがレジスタ・コントローラに対し提供されることを特徴とする、請求項8記載
    の方法。
  10. 【請求項10】 停止コマンドが先入れ先出し(FIFO)コントローラによって
    作り出されることを特徴とする、請求項8記載の方法。
  11. 【請求項11】 FIFOコントローラが書き込みポインタ及び読み取りポインタ
    を含むことを特徴とする請求項10記載の方法。
  12. 【請求項12】 書き込みポインタ及び読み取りポインタが同じメモリ・アド
    レスを含む時、FIFOコントローラが停止コマンドを出すことを特徴とする請求項
    11記載の方法。
  13. 【請求項13】 メモリ書き込みオペレーションによって、有用なデータが上
    書きされる時、停止コマンドがレジスタ・コントローラへ提供されることを特徴
    とする請求項8記載の方法。
  14. 【請求項14】 有用なデータが、マージ及び格納モジュールによってメモリ
    へ書き込みされることを特徴とする請求項13記載の方法。
  15. 【請求項15】 入ってくる圧縮されたビットストリーム・データをデコーデ
    ィングするためのデコーダを有し、このデコーダは不連続ビットストリーム上で
    オペレーティング可能な特定用途向け集積回路(ASIC)であって、このASICは、 メモリ・コントローラと、 前記メモリ・コントローラと通信する入力レジスタであって、ラッチ・コマン
    ドを受信することができ、このラッチ・コマンドを受信する際に特定の状態にお
    いて格納されたデータをラッチすることが更にできる前記入力レジスタと、 前記入力レジスタと通信するデコーディング・ロジックと、 前記デコーディング・ロジックと通信する出力レジスタであって、前記ラッチ
    ・コマンドを受信する際に特定の状態において格納されたデータをラッチするこ
    とが更にできる前記出力レジスタと、 前記入力レジスタと通信するレジスタ・コントローラであって、停止コマンド
    を受信することができ、この停止コマンドを受信する際に前記入力レジスタ及び
    出力レジスタへラッチ・コマンドを送信する前記レジスタ・コントローラと、 を含む。
  16. 【請求項16】 入ってくるビットストリーム・データが利用できない時、停
    止コマンドを出すことを特徴とするFIFOコントローラを更に含む請求項15記載
    のASIC。
  17. 【請求項17】 FIFOコントローラが書き込みポインタ及び読み取りポインタ
    を含むことを特徴とする請求項16記載のASIC。
  18. 【請求項18】 書き込みポインタ及び読み取りポインタが同じメモリ・アド
    レスを含む時、FIFOコントローラが停止コマンドを出すことを特徴とする請求項
    17記載のASIC。
  19. 【請求項19】 マージ及び格納モジュールを更に含む、請求項15記載のAS
    IC。
  20. 【請求項20】 マージ及び格納モジュールによって書き込まれた有用データ
    が、メモリ書き込みオペレーションによって上書きされる時、停止コマンドが出
    されることを特徴とする請求項19記載のASIC。
JP2001554628A 2000-01-28 2001-01-26 ビットストリームのデコーディングのための方法及び装置 Pending JP2003521180A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) 画像・音声データの転送方法