JP2001500686A - メディア・コプロセッサにより共用ワークステーションメモリ上で実行される圧縮及び復元方式 - Google Patents

メディア・コプロセッサにより共用ワークステーションメモリ上で実行される圧縮及び復元方式

Info

Publication number
JP2001500686A
JP2001500686A JP10513639A JP51363998A JP2001500686A JP 2001500686 A JP2001500686 A JP 2001500686A JP 10513639 A JP10513639 A JP 10513639A JP 51363998 A JP51363998 A JP 51363998A JP 2001500686 A JP2001500686 A JP 2001500686A
Authority
JP
Japan
Prior art keywords
data
memory
compression
local
system memory
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
JP10513639A
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 JP2001500686A publication Critical patent/JP2001500686A/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

Abstract

(57)【要約】 本発明は、幾つかの代替的な圧縮及び復元アルゴリズムのうちから選択された1つ以上のアルゴリズムに従って、画像その他のデータを処理するためのUnixワークステーション又は他のコンピュータシステムの計算能力を最大とする多目的回路に関する。本発明は、圧縮データ及び非圧縮データの両方の記憶のためにシステムメモリを動的に割り当て、適当な圧縮及び復元レートを確保する。

Description

【発明の詳細な説明】 メディア・コプロセッサにより共用ワークステーションメモリ上 で実行される圧縮及び復元方式 技術分野 本発明はデータの圧縮及び復元(decompression)に関し、特にリアルタイム コンピュータシステム環境におけるデジタル情報の圧縮及び復元に関する。 従来技術 コンピュータシステムにおいては、オペレーティングシステム、アプリケーシ ョンプログラム、デジタルの形態のグラフィカル及びビデオ情報などの多量のデ ータを記憶し、操作しなければならない。データ転送に要求される帯域及び記憶 のための要求事項を減らすために、しばしばデータは圧縮される。コンピュータ システムが圧縮データを処理する前に、圧縮データを復元しなければならない。 ほとんどのオペレーティングシステム及びアプリケーションデータは比較的静的 であるので、圧縮及び復元のレートは重大ではない。しかし、グラフィック及び ビデオイメージデータはリアルタイムで生成及び/又は表示され、かつ、そのよ うなデータは膨大な量で生成されるので、性能の要求はより高くなる。 画像電話技術はインターネット又は他のコンピュータベースのネットワークと の関連において実施されるので、イメージデータをリアルタイムで圧縮及び伝送 する要求が増加するであろう。しかし、そのようなイメージデータを圧縮する必 要があるのみならず、コンピュータシステムがイメージデータの圧縮又は復元プ ロセスと同時 にイメージデータを向上又は操作可能とすることも望まれる。そのような向上は 、時間及び日付の情報の付加、混合(blending)、オーバーレイ又は他のプログ ラム可能な機能の付加などを含む。 オーディオ情報を含むことがあるイメージデータは、ビデオカメラ又は他の既 知の装置により、ビットのストリーム又はビットストリームとして生成すること ができる。イメージデータはリアルタイムで生成され、コンピュータシステム内 又はネットワーク上で1つの装置から他の装置へと転送される。イメージデータ に関連する多量のデータに起因して、JPEG、MPEG、M−JPEG、H. 261その他の圧縮方式はビットストリームの圧縮方法を規定するように採用さ れている。周知のように、固定ディスク、CD−ROMドライブなどの装置、及 びほとんどのネットワークプロトコルは、リアルタイムビデオストリームの配信 又は受信前に圧縮ビデオイメージデータを要求するので、圧縮方式が実施される 。 圧縮方式は、画像シーケンス中の空間的及び時間的冗長度を減少させる。ほと んどの標準圧縮方式はデータの個々のブロックに対して動作するので、1つのブ ロック中のパターンに対応するトークンは他のブロックのトークンとは異なるこ とがある。この可変性がデータの符号化及び復号化に複雑さを生む。さらに、そ の可変性は、種々の圧縮方式により使用される異なるアルゴリズムを符号化及び 復号化することができる単一のハードウェア実施例を設計することを困難とする 。 従って、コンピュータシステムは1つ以上のハードウェア及び/又はソフトウ ェア圧縮方式を含むのが通例である。さらに、その可変性は、イメージ中にアー ティファクトを生成し又は他の可視的エラーを含むことを防止するために、イメ ージ捕捉及び表示システムの種々の構成要素が互換性を有することを要求する。 ハードウェア圧縮に関連する問題の多くを回避する1つの方法はソフトウェア 圧縮であることが知られている。ソフトウエア圧縮方式はソフトウエアドライバ として動作し、そのソフトウェアドライバは、例えばカメラ又はCD−ROMな どのイメージソースから到来するビットストリームを取得し、そのデータをシス テムメモリ中に記憶し、システムの中央プロセッサ(CPU)がデータをディス クドライブなどの目標装置へ送る前にそのデータを圧縮する。後にデータがアク セスされると、ソフトウェアエンジンは、先ず圧縮データをメモリへ転送し、そ のデータを表示し又はCPUが操作する前に、CPUを使用してそのデータに対 して復元アルゴリズムを実行する。ソフトウェア圧縮/復元の1つの長所は、適 切な圧縮又は復元アルゴリズムの選択に関して完全な融通性があることである。 しかし、従来技術において既知のように、ソフトウエア圧縮方式は低速であり、 中央プロセッサの多くの演算時間を費す傾向がある。実際、ある圧縮アルゴリズ ムの要求は非常に大きく、ほとんどのMPEGソフトウェア圧縮ドライバはフル サイズのビデオイメージをリアルタイムで圧縮することができない。 ハードウエア圧縮エンジンは公知であり、ボードレベルの装置として入手可能 である。例えば、1994年10月18日に発行された「データ圧縮コントロー ラ」との名称の米国特許No.5,357,614は、データがテープドライブ などとの間で転送される時にデータを圧縮/復元する圧縮エンジンを開示する。 この圧縮エンジンは、所有圧縮アルゴリズムを使用し、他の規格に従って圧縮さ れたデータを復元することはできない。そのような圧縮エンジンにおいては典型 的であるように、ボードは高価なローカルメモリ、ローカルプロセッサ及び/又 は制御及びインターフェースロジックをも含まなければならない。 ビデオカメラなどの多くのイメージ生成装置は常駐圧縮エンジンを有している ので、ビットストリームの出力は、それが補足的な復元エンジンを有する表示装 置へ送られ、又は直接的に記憶装置へ送られる前に圧縮される。容易に理解でき るように、ビデオカメラに常駐するハードウェアエンジンが表示装置との互換性 を有しない場合、それは不必要に高価なものとなる。さらに理解されるように、 特に複数の圧縮アルゴリズムをサポートしなければならない場合、各装置が専用 のエンジン及び関連するメモリ並びに制御ロジックを有しなければならないため 、周辺機器内で圧縮及び復元エンジンを複製することは高価かつ不必要に無駄で ある。 常駐圧縮を有するイメージ生成装置のもう一つの重大な問題は、圧縮データが イメージデータとして文字を喪失することである。この文字の喪失は、CPUが データをリアルタイムで操作又は処理することを妨げる。例えば、データがシス テムメモリに記憶される前に圧縮された場合、記憶装置へ記憶する前に、選択さ れたイメージに対してタイムスタンプ又はインデックスマーカーを加え、又は余 計なイメージを除去することが困難となる。 代わりに、あるコンピュータシステムは、純粋なソフトウェア圧縮システムと 専用ハードウェア圧縮システムの折衷物として圧縮コプロセッサを有する。その ようなコプロセッサは、そうでなければCPUが実行するはずの圧縮及び復元ア ルゴリズムを実行する。しかし、そのようなコプロセッサは一般的に、相当な数 のコプロセッサが4メガバイトにも及ぶ高速かつ高価な専用メモリを有すること を必要とする。コプロセッサが使用可能な適切なメモリを有しない場合、コプロ セッサは多くの利用可能なアルゴリズムに従ってイメージを正しく圧縮又は復元 できない可能性がある。容易に理解できるように、控えめに使用される相当数の 専用メモリをコプロセッサ に設けることは、システムのコストを増大させる。さらに、CPUが、例えばオ ーバーレイを付加し、陰影を変化させ、又は色空間の変換を実行するなどの特定 の方法でイメージデータを処理する場合、システムメモリとコプロセッサメモリ との間に不必要なデータ転送が生じ、それはシステムバスへの負荷及びスループ ットレートを不必要に増加させる。 イメージ取得装置又は表示装置の要求事項とは独立なビデオ及びイメージデー タを圧縮するシステムが要求される。また、広範囲の現実のアプリケーションに ついて秒単位で膨大な演算処理を操る処理能力を提供し、それにより、イメージ データを圧縮及び記憶し(又はネットワーク上を伝送し)、若しくは復元して表 示する前に操作可能なシステムを提供することが要求される。 発明の概要 従来技術のシステムの前述及び他の欠点は、本発明により取り扱われ、解決さ れる。本発明は、イメージデータを圧縮又は復元する能力を提供しつつ、イメー ジデータをリアルタイムで処理するためのUnixワークステーション又は他の コンピュータシステムの計算能力を最大とする多目的回路に関する。本発明は、 圧縮データ及び非圧縮データの記憶のためにシステムメモリを動的に割り当て、 適切な圧縮及び復元レートを確保する。 本発明の回路は、種々のイメージプロトコル、色空間、並びに、周波数及び時 間などの異なる信号領域間において、システムの性能にほとんど影響を与えるこ となく変換を行う。その動作の性能要求事項は、中央CPUからの重要な処理資 源を必要とすることなく、コンピュータシステム内のデータの流れを促進する新 規な設計により提供される。そうして、専用のメモリ回路要素を付加することな く、新規及び既存の画像処理タスクが提供される。さらに、イメージデータはシ ステムメモリ内で容易に処理できるので、本発明の資源を、組織生成、データ圧 縮又は他の画像処理機能などの複数のソフトウェアアプリケーション間で共用す ることができる。 本発明は、ビデオ、イメージング及び圧縮(VIC)エンジンを使用して、シ ステムメモリ内でビデオ及びイメージデータを操作する。そのVICエンジンは 、システムメモリとVICエンジンとの間でデータを移動するDMA(ダイレク ト・メモリ・アクセス)コントローラと、信号処理に必要な整数的、論理的及び 数学的演算を実行するメディア信号プロセッサと、圧縮及び復元アルゴリズム中 のビットと、を有する。イメージデータの記憶のためのワークステーションメモ リとVICエンジンの使用は、テレビ又は写真をエミュレートする方法でイメー ジデータを単に記録及び表示する従来技術のコンピュータシステムと比較して、 cpUによりイメージデータを記憶し、検索し、操作することができる点で非常 に強力かつ多様性を有する。詳細には、VICエンジンが圧縮及び復元タスクの 負担をなくすので、ワークステーションは多目的の画素操作において、毎秒10 億も多い命令が可能である。従って、本発明は、高価な複数の専用コプロセッサ 、若しくは表現及び混合又はビデオキャプチャーなどの付加的周辺機器、並びに 表示装置を追加することなく、データ処理における広範な柔軟性を許容する。さ らに、ワークステーション及びその利用可能なメモリは、メモリの要求とは無関 係に、多くの圧縮及び復元アルゴリズムを支持するのに十分な柔軟性を有する。 本発明は、イメージデータを、フレームバッファ、Zバッファ又は表現メモリ として機能するシステムメモリとの間で転送するための広帯域システムバス又は ワークステーションを使用し、多くの周 辺機器及び必ずしも周辺機器を含まない複数のメモリ間動作のなかで演算ブロッ ク、論理ブロック及びVICエンジンの制御フローブロックなどの低レベル機能 要素の経済的な共用を可能とする。 本発明の別の長所は、イメージデータがVICエンジンにより圧縮される前に 、CPUがイメージデータを操作することを可能とすることである。圧縮後の記 憶データを表示することが望まれる場合、そのデータは記憶装置からシステムメ モリへ転送され、VICエンジンが使用できるようにする。DMAコントローラ の制御下で、データはVICエンジンへ転送され、復元され、システムメモリへ 返送され、そこでCPUはそのデータが表示装置へ送られる前にそのデータを処 理することができる。 VICエンジンの機能を実行するために共用システムメモリを使用することは 、システムメモリの専用領域をVICエンジンの使用のためにマッピングして、 システムメモリの他の領域がVICエンジンにより上書きされることを防止する ことを必要とする。好適な実施形態におけるメモリのマッピングは、ホストCP Uにより制御され、VICエンジン内に設けられるテーブルメモリ内に動的にプ ログラムされる。VICエンジンの使用のために4メガバイトに及ぶシステムメ モリを設けることが望ましいが、システムメモリは連続的である必要はない。 従って、本発明は、単にテレビ又は写真をエミュレートする方法でイメージデ ータを表示するのみではなく、ビデオ及びイメージデータの操作を可能とするシ ステムを提供する。本発明は、ワークステーションを解放して、イメージデータ を分類又は操作し、内容の認識を行うと共にリアルタイムでイメージデータを圧 縮又は復元する。 本発明の上記及び付加的な特徴及び長所は、以下の詳細な説明及 び添付図面からさらに明らかになるであろう。 図面の簡単な説明 図1は、本発明の1つの実施形態の単純化したブロック図を示す。 図2は、ビデオ、イメージング及び圧縮(VIC)エンジンの1つの実施形態 の単純化したブロック図である。 図3は、既知の復元アルゴリズムに従ってデータを復号化するためのチップ上 のメモリ割り当てを示す。 図4は、復号化処理における、VICエンジンのプロセッサの並列処理を示す タイミングチャートである。 図5は、既知の圧縮アルゴリズムに従ってデータを符号化するためのメモリ割 り当てを示す。 図6は、符号化処理における、VICエンジンのプロセッサの並列処理を示す タイミングチャートである。 発明の詳細な説明 以下の好適な実施形態の記述において、その一部をなす添付図面が参照され、 その添付図面には、本発明を実施する特定の実施形態が図示により示される。他 の実施形態を使用することができ、本発明の視野から外れることなく構造上の変 更が可能であることが理解される。可能な限り、図面を通じて同一又は類似の部 分への参照のために同一の参照番号を使用する。 参照番号を使用して添付図面を詳細に参照すると、図1は本発明のコンピュー タシステム100の好適な実施形態を示す。そのコンピュータシステム100は 、中央処理ユニット(CPU)102と、好ましくは64メガバイトから1ギガ バイトの間の高速RAMのブロックであるシステムメモリ104と、CPU10 2、システムメ モリ104、並びにグラフィックディスプレイ、ディスクドライブ、及び他の入 出力(I/O)装置(図示せず)をなどの複数の周辺機器との間のデータ及び命 令の転送を制御するシステムコントローラ106と、を備える。グラフィックイ ンターフェース108はシステムコントローラ106を書き込み専用表示装置と 接続し、I/Oインターフェース110はシステムコントローラ106を複数の SCSI、イーサネット、PCI、若しくはビデオキャプチャーカード又はCD −ROMなどのビデオ又はオーディオ周辺機器に接続する。さらに、コンピュー タシステム100はビデオ、イメージング及び圧縮(VIC)エンジン112を 含み、それは高速システムバス114によりCPU102とシステムコントロー ラ106の両方に接続される。 図2に詳細に示すVICエンジン112は4個の主要な機能ブロックを含む。 詳細には、メディア信号プロセッサ200、ビットストリームプロセッサ回路2 02、DMAコントローラ204、及びホストインターフェース206である。 プロセッサ200及び202は、コントローラ204及びインターフェース20 6と共に、標準圧縮及び復元アルゴリズムを促進する。 本発明の1つの観点によれば、ビデオカメラ又はCD−ROMなどの入力装置 からのビデオ又はイメージデータ(若しくは他の非圧縮データ)がシステムメモ リ104の一部へ転送される。続いて、VICエンジン112は専用DMAコン トローラ204を使用してブロック転送を開始し、システムメモリ104から3 個の専用メモリ222〜226のうちの1つへデータを転送する。VICエンジ ンはデータを圧縮し、圧縮データを3個のメモリ222〜226のうちの第2の メモリへ記憶する。第1のメモリ中のデータが圧縮されている間、追加のデータ を3個のメモリのうちの第3のメモリへ 転送することができる。圧縮処理が完了すると、第2のメモリ中のデータがDM Aコントローラ204によりシステムメモリ104の異なる部分へ返送される。 次に、圧縮データをシステムメモリ204からディスク又は他の記憶装置(図示 せず)へ転送することができる。次に、第3のメモリ内のデータの圧縮を開始し 、圧縮データを第1のメモリ中へ記憶する。DMAコントローラ204は同時に データを第2のメモリへ転送する。このプロセスは、システムメモリ中の全ての データが圧縮されるまで続けられる。好都合に、CPUはイメージデータを、そ れがVICエンジン112により圧縮される前に処理することができる。 圧縮データを表示し、又はさらに処理することが望ましい場合、データを記憶 装置からシステムメモリへ送り、VICエンジン112が利用できるようにする 。DMA制御下で、データをメモリ222〜226のうちの1つへ送り、復元し 、システムメモリへ返送し、そこでCPUは表示装置又は他の周辺装置へ転送す る前にデータを処理する。 VICエンジン112は、CPU102又はシステムコントローラ106の一 方により開始されたバスの処理に応答するシステムバス114のスレーブ、又は バスのマスターのいずれか一方として動作することができる。また、VICエン ジン112は、パイプライン書き込み及び読み取り、若しくはシステムメモリ1 04との間のDMA転送を実行するためにシステムバス114のマスターシップ を要求することができる。 1つの好適な実施形態では、メディア信号プロセッサ200は、可視的画素に 対してコサイン変換を実行する従来のシリコングラフィックスMSPアーキテク チャの実施であり、そこでYCrCb値が周波数領域へ変換される。メディア信 号プロセッサ200は、ス カラーユニットプロセッサ210とベクトルユニットプロセッサ212とを有し 、両者は66Mhzで動作する。スカラーユニットプロセッサ210とベクトル ユニットプロセッサ212は、64ビットワイドバス216により共通の4キロ バイト命令メモリ214へ接続される。 スカラーユニットプロセッサ210は、制御フロー処理(ジャンプ命令及び分 岐命令など)、スカラー整数演算処理、論理演算、及びローカルメモリのロード 及び記憶を実行する。スカラーユニットプロセッサ210は3状態バス211に よりベクトルユニットプロセッサ212、ホストインターフェース206、DM Aコントローラ204及びビットストリームプロセッサ回路202に接続される 。また、スカラーユニットプロセッサは、128ビットワイドデータパス213 及び出力パス215により、クロスバースイッチ228を介してメモリ222、 224及び226に接続される。クロスバースイッチ228は、プロセッサ21 0及び212とメモリ222〜226との間の1対1接続を可能とし、バスに最 小容量の負荷をかけることを確保する。 ベクトルユニットプロセッサ212は、単一命令多重データ(SIMD)プロ セッサであり、数学的処理、特にコサイン変換を実行し、それによりYCrCb 値を含む可視的画素を圧縮のために周波数領域へ変換し、又は復元のために周波 数領域から空間領域へ変換する。ベクトルユニットプロセッサ212は、内部1 28ビットワイドデータパス218及び出力バス220により、クロスバースイ ッチ228を介してメモリ222、224及び22へ接続される。データパス2 18及び220は、整数数学的演算を実行するために、8−16ビットセグメン トにスライスすることができる。ベクトルユニットプロセッサ212の命令セッ ト中には分岐命令は含まれて いない。なぜなら、その機能はスカラーユニットプロセッサ210が実行するか らである。 ビットストリームプロセッサ回路202は、圧縮データのビットストリームを 処理するように適合されたプログラム可能な装置である。特定の圧縮規格により 要求されるように、圧縮アルゴリズムのために可変長ルックアップを必要とする エントロピー符号化を実行することができ、また、ビットスタッフィング、ヘッ ダ及びプリアンブルの生成などの付加的プロトコルを処理することができる。ビ ットストリームプロセッサ230は、好ましくはロード及び記憶アーキテクチャ を有するRISCコアである。それは、命令メモリ232内に記憶された命令セ ットを有し、その命令セットは、レジスタ間処理(即ち、演算処理)、命令スト リーム制御(即ち、ジャンプ及び分岐)、並びにメモリからレジスタへのデータ 転送を含む。加えて、ビットストリームプロセッサ230は、データのビットス トリーム中に、任意に整列された“トークン”又は圧縮プロセスのアーティファ クトの操作に固有の命令を有する。さらに、ビットストリームプロセッサ230 は、ビットストリーム中の可変長トークンを復号化するのに必要なテーブルルッ クアップ処理を実行可能な命令を有する。ルックアップテーブルはテーブルメモ リ234内に記憶され、MPEG−1、MPEG−2、H.261、JPEG又 は所有アルゴリズムを支援するようにプログラム可能である。ルックアップテー ブルは、システムメモリ104の領域を動的にマッピングしてフレームバッファ として使用可能とするように、CPU102によりさらにプログラム可能である 。 DMAコントローラ204は柔軟なアドレス生成を提供し、それによりVIC エンジン112は、システムメモリ104の領域にアクセスして圧縮又は復元の いずれかが必要なデータブロックを獲得 することができる。DMAコントローラ204は、メディア信号プロセッサ20 0又はビットストリームプロセッサ回路202又はCPU102がアクセス可能 な2つのDMAチャンネルを有する。各チャンネルは、DMA状態マシン、制御 レジスタ、及び記述子メモリからなる。記述子は、DMAコントローラ204の 開始アドレスを規定し、さらにモード(即ち、読み/書き又はY/C分離)及び スパン及びストライドの設定を規定するために使用できる。 DMAコントローラ204は、システムメモリ104をVICエンジン112 からのデータで満たし、又はデータをシステムメモリ104からメモリ214、 222〜226及び/又は232へ転送するために使用できる。システムメモリ 104との間のDMA処理のために、DMAコントローラ204は、記述子の要 求を個々の物理的UNIXシステムのメモリアドレス及びバイトカウントに分解 する。テーブルメモリ234内のルックアップテーブルは、メディア信号プロセ ッサの命令メモリ214と、ビットストリームプロセッサ回路の命令メモリ23 2と、システムメモリ104の対応するメモリアドレス空間との連続的なメモリ アドレス空間の間の変換を行う。 システムメモリ104は、VICエンジン112にとっては、プロセッサ20 0及び202による使用に割り当てられた連続したアドレス可能メモリ空間の4 メガバイトの領域にみえる。この割り当てされたシステムメモリは物理的に連続 した64Kバイトのブロックに分類される。これらのブロックはシステムメモリ 104中のあらゆる場所に配置することができる。ルックアップテーブルは、シ ステムメモリの(VICエンジン112が認識する)4メガバイト領域中の要求 された位置を、物理的なシステムメモリ104の異なる64個の64Kバイトペ ージのうちの一つにマッピングする。ル ックアップテーブルの一部として、VICエンジン112が選択されたブロック への書き込みを許可されたかを見るビット、並びにそのブロックがマッピングさ れたかを見るビットが存在する。VICエンジン112は、CPU102を中断 させ、書き込み違反が生じた場合、又はシステムメモリ104を改悪から保護す るためにブロックがマッピングされなかった場合に停止する。 ルックアップテーブルは、VICエンジン112に割り当てられたタスクが変 化した時に、CPU102により再プログラム可能である。この特徴は、システ ムメモリ104内のデータをいずれのデータをも実際に移動することなく、シス テムメモリ104の異なる64Kのブロックを、ルックアップテーブルを含むV ICエンジン112の表示域へマッピングすることを可能とする。この特徴は、 VICエンジン資源を共有したいコンピュータシステム100上のプロセス間の 迅速な切替のために有用である。当業者には理解されるように、VICエンジン に接続された専用ローカルメモリを使用している場合、それを節約し、各プロセ スの切替のために復元することが必要となることがある。 ホストインターフェース206は、VICエンジン112をコンピュータシス テム100の64ビットシステムプロセッサバス114に接続する。DMAアー ビタ240はアービトレーションを実行して、中間経費無しでVICエンジン1 12がシステムバス114上の処理を開始することを可能とする。さらに、VI Cエンジン112は、スレーブとしてシステムプロセッサバス114の処理に応 答することができ、また、システムプロセッサバス114の制御を要求してブロ ックがパイプラインされた書き込み及び読み取りを実行することができる。 本発明の別の観点によれば、データがシステムメモリ104へ転 送され、そこでCPU102は、データがメモリ222〜226の1つに転送さ れる前に、アプリケーションプログラムの制御下でデータを操作することができ る。VICエンジン112は、選択された圧縮規格(即ち、JPEG、MPEG 、M−JPEG、H.261、その他)に従って、転送されたデータを圧縮する 。詳細には、VICエンジン112は3個のメモリのうちの第1のメモリにロー ドされたデータを処理し、データの次のフレームを3個のメモリ222〜226 のうちの第3のメモリにロードしている間に符号化データを第2のメモリに記憶 する。圧縮後、符号化データをVICエンジン112からシステムメモリ104 へ転送し、そこでCPUは圧縮データを、圧縮画像の将来の分類を補助するよう なインデックスタグ又は他の情報と連結する。当業者に理解されるように、圧縮 データは局部的記憶装置に保持し、又はネットワークを通じて転送することがで きる。 圧縮データを復元すべきである場合、そのデータを先ずシステムメモリ104 へロードし、そこでCPU102は圧縮画像を操作又は処理する。圧縮データは DMAコントローラ204によりメモリ222〜226へ転送される。また、D MAコントローラ204は、適当な復元アルゴリズムの動作のためにデータをV ICエンジン112へ転送することにも責任を有する。さらに、DMAコントロ ーラ204は、非圧縮データをシステムメモリ104へ転送することにも責任を 有する。好都合に、CPUは、画像を表示装置へ送る前に画像をさらに操作する ことができる。 好適な実施形態では、メモリ222〜226は約6KバイトのスタティックR AMを有し、各メモリは128×128ビットを有する。メモリ222〜226 はデュアルポートメモリブロックであり、それぞれポート242、244及び2 46によりアクセス制御され る。ベクトルユニットプロセッサ212とスカラーユニットプロセッサ210は 、メモリ222〜226へ確定的アクセスを有し、それはDMAアービタ240 並びにバス248及び256により保証される。ホストインターフェース206 、ビットストリームプロセッサ回路202及びDMAコントローラ204は、D MAバス250を通じてメモリ222〜226へアクセスする。 従来技術において周知であるように、JPEG圧縮は、デジタル化された写真 、画像、その他の静止画の永久記録保存及び転送のための規格化された画像圧縮 メカニズムである。JPEG圧縮は、フルカラー写真について例えば4:1から 20:1の範囲の圧縮率を達成することができるので、2メガバイトのデータか らなる画像を約100キロバイトに圧縮することができる。 さて、図3を参照すると、例として、JPEG画像を復号化するためのVIC エンジン112を通るデータの流れが示される。詳細には、JPEG圧縮又は復 元のためのアルゴリズムを実行する命令シーケンスがメモリ214と232(図 2に示す)へロードされる。メモリ104へロードされた静止画を復元する時、 細分性の単位を処理するために使用可能な画像のサイズ、画像生成レート、及び サイクルタイムにより決定される細分性レベルを含む最小符号化単位がDMAコ ントローラ204により先入れ先出し(FIFO)302へ転送される。JPE G符号化又は復号化の場合、データは最小符号化単位レベルで転送され、1つの 最小符号化単位は256バイトを含む。MPEG−2復号化の場合、データはマ クロブロックで転送され、1つのマクロブロックは128バイトを含む。DMA コントローラ204は、一度に64バイトのデータをビットストリームプロセッ サ回路202に関連するFIFO302へ転送する。DMAバスアービタ240 は、システムメモリ104へのアクセス及 びビットストリームプロセッサ回路202の要求に応答するための競合を仲裁す る。 FIFOバッファ302は64バイトのバッファであり、ビットストリームプ ロセッサ230により一度に32ビットずつ空にされる。ビットストリームプロ セッサ230は、圧縮ビットストリーム中の“マーカー”を検出するために使用 される。これらのマーカーは、圧縮ビットストリーム中の可変長符号化セグメン トを特定する。ビットストリームプロセッサ230は、これら可変長符号化セグ メントを復号化し、離散的コサイン変換(DCT)係数の8×8ブロックを再構 成し、それらはさらにスカラーユニットプロセッサ210及びベクトルユニット プロセッサ212により処理される。ビットストリームプロセッサ230のパフ ォーマンスは、復号化されるべきビット数並びにトークン数により制御される。 DMAコントローラ204は、システムメモリ104へのブロック転送を実行す る前に、書き込みバッファ304からの復元データをメモリ222へ記憶する。 復号プロセス中、ビットストリームプロセッサ230はi番目+1の最小符号 化単位に対応するビットストリームを復号化し、復号化されたビットストリーム を書き込みバッファ304へロードする。書き込みバッファ304は中間の4バ イトレジスタを有し、DMAコントローラ204の制御下で復号化されたビット ストリームはそのレジスタからメモリ222へ転送される。ビットストリームプ ロセッサ230がi番目+1の最小符号化単位を処理している間、メモリ224 に記憶されるi番目の最小符号化単位はメディア信号プロセッサ200による処 理のために使用可能である。メディア信号プロセッサ200はメモリ224中の データへの確定的アクセスを有しなければならないので、そのメモリアクセスは 最高の優先度を 与えられる。メディア信号プロセッサにより復号化されたi番目−1の最小符号 化単位は、メモリ226へ記憶され、DMAコントローラ204によりシステム メモリ104へ転送される。代替的な実施形態では、JPEGアルゴリズムの使 用中に、復号化されたi番目−1の最小符号化単位をメモリ222の未使用部分 に記憶することが可能である。 図4の復号化登録図は、JPEGビットストリームの4:2:2の復号化レベ ルについてのプロセスを示す。402に示すように、好適な実施形態の復号化周 期の長さは800周期である。復号化周期中に:1)DMAコントローラ204 は、406に一般的に示すようにシステムメモリ104との間でデータを転送し 、2)メディア信号プロセッサ200は410に示すようにi番目のマクロブロ ックを復号化し、及び、3)ビットストリームプロセッサ回路202は、404 に示すようにi番目+1の最小符号化単位の調整を行う。詳細には、この手法を 用いて、ビットストリームプロセッサ回路202は、412に示すように、最小 符号化単位のヘッダ情報を復号化することによりプロセスを開始する。その間、 414に示すように、DMAコントローラ204は先ずi番目+1のメモリ22 2をゼロにし、416に示すようにi番目−1の最小符号化単位をシステムメモ リ104転送する。 必要であれば、ビットストリームプロセッサがデータの圧縮された最小符号化 ユニットを復号化する間に、DMAコントローラ204は408に示すようにビ ットストリームプロセッサのデータ要求に応答することもできる。416に示す ように、メディア信号プロセッサ200は、Qマトリクス情報などの復号化情報 を更新する。次に、メディア信号プロセッサ200は、418に示すようにメモ リ224中のデータの逆量子化を実行する。完了後、次にメディア 信号プロセッサ200はそのデータの逆離散的変換を実行し、その結果をメモリ 226へ記憶する。メモリ222〜226、並びにDMAコントローラ204の ビットストリームプロセッサ回路202及びメディア信号プロセッサ200との 並列処理は、システムメモリの待ち時間を補償する。ビットストリームプロセッ サ回路202とメディア信号プロセッサ200の並列処理は、計算及び意思決定 タスクにマルチタスク処理を適用し、比較的遅い66MHzのクロックレートで 動作する比較的安価なプロセッサによる圧縮又は復元プロセスを達成するように する。好都合に、復号化処理は、システムメモリ104からのデータ取得に関連 するあらゆる待ち時間を補償するように、メモリ222〜226についての最小 メモリ要求をもって完了される。こうして、データは、メディア信号プロセッサ 200のスカラー及び/又はベクトルユニット210及び212による処理に常 に使用可能とされる。 図5及び6との関連においてJPEGデータの符号化が記載され、そこでDM Aコントローラ204は、メモリ222の一部にi番目+1の4:2:2のマク ロ制御ブロック及び対応する量子化テーブルをロードする。メモリ222にロー ドされている間、メディア信号プロセッサ200は、データの8×8ブロックに 対して量子化及び離散的コサイン変換を実行し、その結果をメモリ226へ保存 する。同時に、ビットストリームプロセッサ回路202は、メモリ226中のi 番目−1のデータをハフマン符号化し、その結果を書き込みバッファ304へ書 き込む。次に、DMAコントローラ204は圧縮データを書き込みバッファ30 4からシステムメモリ104へ転送する。 図6に示すように、DMAコントローラ204は、604に示すように、それ が書き込みバッファ304からの要求に応じていない 時に、610でi番目+1のマクロ制御ブロックをロードする。メディア信号プ ロセッサ200は、i番目のマクロ制御ブロックの離散的コサイン変換を612 まで実行する。その後、614に示すように、メディア信号プロセッサ200は i番目のマクロ制御ブロックに対して量子化変換を実行し、その結果をメモリ2 26へ転送する。同時に、ビットストリームプロセッサ回路202は、メモリ2 26中のデータに対してハフマン符号化及びビットストリームパック化を実行す る。理想的な条件下では、そのような処理は618に示すように完了する。しか し、メディア信号プロセッサ200はメモリ222〜226への優先アクセスを 有するので、620に示すように、ビットストリームプロセッサ回路の処理を完 了する時間は、メモリの待ち時間が原因で劣化させる必要が生じることが多い。 他の圧縮アルゴリズムに関して、MPEG(MPEG−1及びMPEG−2) は動画の画像及び音声部分を圧縮するための公認規格であることが知られている 。MPEGは、最小符号化単位(16×16画素領域)層で適応型量子化を付加 する。しかし、各フレームはその前後のフレームを密接に結びついているので、 MPEGシーケンスをフレーム単位で編集することは困難である。従って、最小 符号化単位の符号化又は復号化アプリケーションにおいては、先ず、データを後 方予測器及び前方予測器と共に例えばメモリ222へロードする。メモリ224 は結果として得られる符号化又は復号化データのために使用され、その間に次の フレームのデータがDMAコントローラ204によりメモリ226へ器ロードさ れる。 当業者は、VICエンジン112のアーキテクチャがもたらす多様性が、既知 の多くの圧縮又は復元アルゴリズムに従ってデータを圧縮又は復元する計算能力 を与えることを理解するであろう。データは最初にシステムメモリに送られるの で、VICエンジン112 は実質的な専用メモリを必要としない。なぜなら、VICエンジン112はシス テムメモリ104の消費量を最小化するために十分なレートで動作することのみ が必要だからである。好適な実施形態では、640×480画素の表示装置を仮 定すると、約4メガバイトのシステムメモリ104を6フレームまでの非圧縮イ メージデータに割り当てる。4:1の軽度の圧縮レートを仮定すると、付加的な システムメモリ104を圧縮イメージデータに割り当て、そのイメージデータは 最悪の場合、各フレームについて160キロバイトに及ぶ。従って、それより高 い圧縮レートはメモリの要求を減少させる。 特定の例示的な好適実施形態を記述し、添付図面に示してきたが、その実施形 態は単に例示的であり、広範な発明を制限するものでは無いことが理解されるべ きである。さらに、請求の範囲に記載された本発明の精神及び視野から外れるこ となく、当業者は種々の修正及び変更が可能であるので、本発明は図示及び記述 された特定の構造及び構成に限定されるものではないことが理解される。
【手続補正書】 【提出日】平成11年1月13日(1999.1.13) 【補正内容】 請求の範囲 1.コンピュータシステムにおいて、 システムメモリと、 前記システムメモリへのアクセスを制御するシステムコントローラと、 前記システムメモリに記憶されたデータを操作する中央演算処理装置と、 前記システムメモリに記憶されたデータを圧縮及び復元するエンジンと、 可視的画素を示すYCrCb値を周波数領域へコサイン変換する第1のプロセ ッサであって、前記中央演算処理装置により構成され、選択された圧縮又は復元 アルゴリズムに従って前記データを圧縮又は復元する第1のプロセッサと、 周波数領域データのビットストリームをエントロピー符号化又は復号化する第 2のプロセッサであって、前記中央演算処理装置により構成され、前記選択され た圧縮又は復元アルゴリズムに従って前記データを圧縮又は復元する第2のプロ セッサと、 前記第1及び第2のプロセッサと関連付けられ、少なくとも3個の独立にアド レス可能なメモリバンクに分割されたバンク型メモリと、及び 前記第1及び第2のプロセッサと関連付けられ、前記システムメモリと前記バ ンク型メモリとの間で前記データを転送するDMAコントローラと、を備え、 前記DMAコントローラは、前記データの第1の部分を、前記システムメモリ から、前記独立にアドレス可能なメモリ バンクの第1のバンクへ転送して前記データの圧縮又は復元を開始し、 さらに、前記DMAコントローラは、前記第1及び第2のプロセッサが前記独 立にアドレス可能なメモリバンクの第1のバンク内で前記データを圧縮又は復元 している間に、データを前記独立にアドレス可能なメモリバンクの第2のバンク へ転送し、 さらに、前記DMAコントローラは、前記システムメモリへアドレス可能なメ モリバンクに適合しているコンピュータシステム。 2.前記DMAコントローラは、システムバスのマスターシップを獲得し、デー タの細分度の単位を前記独立にアドレス可能なメモリバンクの1つへ転送する手 段を有する請求項1に記載のシステム。 3.前記エンジンは、前記第1のプロセッサを前記独立にアドレス可能なメモリ バンクの各々へ最大の優先度でアクセスさせるアービタ手段及びバス手段を有す る請求項1又は2に記載のシステム。 4.前記第1及び第2のプロセッサにより提供される圧縮されたデータ及び復元 されたデータは、前記独立にアドレス可能なメモリバンクの第3のバンクに記憶 される請求項1乃至3のいずれかに記載のシステム。 5.前記データは、前記システムメモリのページに記憶され る非圧縮リアルタイムビデオデータを含み、 前記DMAコントローラは、前記リアルタイムビデオデータのページの位置を 決定し、前記リアルタイムビデオデータを圧縮のために前記独立にアドレス可能 なメモリバンクへ転送し、前記独立にアドレス可能なメモリバンクからの圧縮デ ータを前記システムメモリの第2のページへリアルタイムで転送する手段を有す る請求項1乃至5のいずれかに記載のシステム。 6.前記中央演算処理装置は、前記エンジンを、複数のシステムメモリの復元の 1つへ向ける請求項5に記載のシステム。 7.圧縮レート及び復元レートは、ビデオデータのリアルタイムの圧縮及び復元 に十分である請求項5に記載のシステム。 8.前記選択された圧縮又は復元アルゴリズムに従うリアルタイムビデオデータ の前記圧縮及び復元は、前記ビデオデータを、圧縮のために空間領域から周波数 領域へ変換し、復元のために周波数領域から空間領域へ変換する手段を有する請 求項6に記載のシステム。 9.コンピュータシステムにおいて、 中央演算処理装置と、 データを記憶するシステムメモリと、 圧縮及び復元を行うコプロセッサと、 前記システムメモリ内のデータの一部のみを記憶するのに十分な記憶空間を有 するローカルデータメモリと、 前記ローカルデータメモリと関連付けられ、圧縮又は復元アルゴリズムに従っ て前記ローカルデータメモリ内のデータを処理するプロセッサ手段と、 前記プロセッサ手段の動作を維持するのに十分なレートで、前記データの一部 を前記システムメモリから前記ローカルデータメモリへ転送し、処理後のデータ を前記ローカルデータメモリから前記システムメモリへ転送するデータ転送手段 と、 前記データ転送手段と関連付けられ、前記未処理データの前記システムメ モリ内での位置を特定し、前記システムメモリ内で処理後のデータを記憶する位 置を特定する手段と、を備えるシステム。 10.前記システムメモリは、リアルタイムで取得された非圧縮ビデオデータの 6フレームに相当する量の記憶部を有する請求項9に記載のシステム。 11.前記システムメモリは、処理後のデータのための動的に割り当て可能な記 憶部を有する請求項10に記載のシステム。 12.前記中央演算処理装置は、前記システムメモリから前記ローカルデータメ モリへのデータ転送の前に、前記システムメモリ内に記憶された非圧縮ビデオデ ータを選択的に処理する請求項10に記載のシステム。 13.コンピュータシステムで、圧縮エンジンを使用するイメージデータの圧縮 及び復元中のデータの流れを制御する方 法において、 前記コンピュータシステムと関連付けられたシステムメモリの領域内でイメー ジデータを収集する工程と、 選択された圧縮アルゴリズムによって前記エンジンを構成する工程と、 少なくとも1つのデータの細分度の単位を有する前記イメージデータの一部を 、前記エンジンと関連付けられた第1のローカルメモリへ転送する工程と、 前記イメージデータの転送された部分を圧縮し、同時に、前記エンジンと関連 付けられた第2のローカルメモリへ前記イメージデータの追加部分を転送する工 程と、 前記第1のローカルメモリ内の前記イメージデータの圧縮された部分を、第3 のローカルメモリへ保存する工程と、 前記第3のローカルメモリ内の前記イメージデータの圧縮された部分を、シス テムメモリの第2の領域へ転送する工程と、 前記第2のローカルメモリ内の前記イメージデータの転送された部分を圧縮し 、同時に、前記イメージデータの追加部分を、前記エンジンと関連付けられた前 記第3のローカルメモリへ転送する工程と、 前記第2のローカルメモリ内の前記イメージデータの圧縮部分を、前記第1の ローカルメモリへ保存する工程と、 前記第1のローカルメモリ内の前記イメージデータの圧縮部分を、前記システ ムメモリの前記第2の領域へ転送する工程と、 前記第3のローカルメモリ内の前記イメージデータの転送された部分圧縮し、 同時に、前記イメージデータの追加部分 を第1のローカルメモリへ転送する工程と、 前記第3のローカルメモリ内の前記イメージデータの圧縮部分を前記第2のロ ーカルメモリへ保存する工程と、 前記イメージデータの圧縮部分を、前記システムメモリの第2の領域へ転送す る工程と、 上記工程を繰り返して、前記システムメモリの前記領域内の前記イメージデー タを前記システムメモリから前記ローカルメモリへ転送し、圧縮し、前記システ ムメモリへ返送する工程と、を有する方法。 14.コンピュータシステムで、圧縮及び復元用コプロセッサによる圧縮又は復 元のためのデータソースからのデータ収集にシステムメモリを使用する方法にお いて、 システムメモリの複数のページ内にデータを収集する工程と、 1つの前記ページ内の記憶データの一部を、前記コプロセッサと関連付けられ たローカルメモリに転送する工程と、 選択された圧縮又は復元アルゴリズムに従って前記データを変換し、同時に、 前記データの次の部分を前記ローカルメモリへ転送する工程と、 変換後のデータを、前記ローカルメモリから、前記システムメモリ内の第2の 複数のページのうちの対応する1つのページに転送する工程と、を有する方法。 15.前記コンピュータシステムと関連付けられたCPUを使用して、圧縮又は 復元アルゴリズムを選択的に実行するように前記コプロセッサを構成する工程を さらに有する請求項 14に記載の方法。 16.前記コプロセッサを構成する工程は、 前記ページ内の異なる1つのページ内の前記データの一部を、前記コプロセッ サと関連付けられた前記ローカルメモリへ転送する工程と、 選択された圧縮又は復元アルゴリズムに従って前記データを変換し、同時に、 前記データの次の部分を前記ローカルメモリへ転送する工程と、 変換後のデータを、前記ローカルメモリから、システムメモリ内の前記第2の 複数のページを含む前記ページのうちの1つのページに転送し、1つ以上のデー タソースにより前記コプロセッサを時間的に共用する工程と、を有する請求項1 5に記載の方法。 17.前記エンジンが1つ以上のデータソースにより時間的に共用されるように 前記工程を実行する請求項14に記載の方法。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ファチオ,マイケル,エル. アメリカ合衆国,94087 カリフォルニア 州,サニーヴェール,チコンドロガ ドラ イヴ 802 (72)発明者 モレトン,ヘンリー,ピー. アメリカ合衆国,94611―1121 カリフォ ルニア州,オークランド,スカイライン ブールヴァード 7331 (72)発明者 ハージェマーク,ベント アメリカ合衆国,94123 カリフォルニア 州,サン フランシスコ,ノース ポイン ト ストリート 2101,アパートメント 202 (72)発明者 ラウ,テ―リ アメリカ合衆国,94303 カリフォルニア 州,パロ アルト,ルイス ロード 3075

Claims (1)

  1. 【特許請求の範囲】 1.コンピュータシステムにおいて、 システムメモリと、 前記システムメモリへのアクセスを制御するシステムコントローラと、 前記システムメモリに記憶されたデータを操作する中央演算処理装置と、 前記システムメモリに記憶されたデータを圧縮及び復元するエンジンと、 可視的画素を示すYCrCb値を周波数領域へコサイン変換する第1のプロセ ッサであって、前記中央演算処理装置により構成され、選択された圧縮又は復元 アルゴリズムに従って前記データを圧縮又は復元する第1のプロセッサと、 周波数領域データのビットストリームをエントロピー符号化又は復号化する第 2のプロセッサであって、前記中央演算処理装置により構成され、前記選択され た圧縮又は復元アルゴリズムに従って前記データを圧縮又は復元する第2のプロ セッサと、 前記第1及び第2のプロセッサと関連付けられ、少なくとも3個の独立にアド レス可能なメモリバンクに分割されたバンク型メモリと、及び 前記第1及び第2のプロセッサと関連付けられ、前記システムメモリと前記バ ンク型メモリとの間で前記データを転送するDMAコントローラと、を備え、 前記DMAコントローラは、前記データの第1の部分を、前記システムメモリ から、前記独立にアドレス可能なメモリバンクの第1のバンクへ転送して前記デ ータの圧縮又は復元を開始し、 さらに、前記DMAコントローラは、前記第1及び第2のプロセッサが前記独 立にアドレス可能なメモリバンクの第1のバンク内で前記データを圧縮又は復元 している間に、データを前記独立にアドレス可能なメモリバンクの第2のバンク へ転送し、 さらに、前記DMAコントローラは、前記システムメモリへアドレス可能なメ モリバンクに適合しているコンピュータシステム。 2.前記DMAコントローラは、システムバスのマスターシップを獲得し、デー タの細分度の単位を前記独立にアドレス可能なメモリバンクの1つへ転送する手 段を有する請求項1に記載のシステム。 3.前記エンジンは、前記第1のプロセッサを前記独立にアドレス可能なメモリ バンクの各々へ最大の優先度でアクセスさせるアービタ手段及びバス手段を有す る請求項1又は2に記載のシステム。 4.前記第1及び第2のプロセッサにより提供される圧縮されたデータ及び復元 されたデータは、前記独立にアドレス可能なメモリバンクの第3のバンクに記憶 される請求項1乃至3のいずれかに記載のシステム。 5.前記データは、前記システムメモリのページに記憶される非圧縮リアルタイ ムビデオデータを含み、 前記DMAコントローラは、前記リアルタイムビデオデータのページの位置を 決定し、前記リアルタイムビデオデータを圧縮のために前記独立にアドレス可能 なメモリバンクへ転送し、前記独立にアドレス可能なメモリバンクからの圧縮デ ータを前記システムメモリの第2のページへリアルタイムで転送する手段を有す る請求項1乃 至5のいずれかに記載のシステム。 6.前記中央演算処理装置は、前記エンジンを、複数のシステムメモリの復元の 1つへ向ける請求項5に記載のシステム。 7.圧縮レート及び復元レートは、ビデオデータのリアルタイムの圧縮及び復元 に十分である請求項5に記載のシステム。 8.前記選択された圧縮又は復元アルゴリズムに従うリアルタイムビデオデータ の前記圧縮及び復元は、前記ビデオデータを、圧縮のために空間領域から周波数 領域へ変換し、復元のために周波数領域から空間領域へ変換する手段を有する請 求項6に記載のシステム。 9.コンピュータシステムにおいて、 中央演算処理装置と、 データを記憶するシステムメモリと、 圧縮及び復元を行うコプロセッサと、 前記システムメモリ内のデータの一部のみを記憶するのに十分な記憶空間を有 するローカルデータメモリと、 前記ローカルデータメモリと関連付けられ、圧縮又は復元アルゴリズムに従っ て前記ローカルデータメモリ内のデータを処理するプロセッサ手段と、 前記プロセッサ手段の動作を維持するのに十分なレートで、前記データの一部 を前記システムメモリから前記ローカルデータメモリへ転送し、処理後のデータ を前記ローカルデータメモリから前記システムメモリへ転送するデータ転送手段 と、 前記データ転送手段と関連付けられ、前記未処理データの前記シ ステムメモリ内での位置を特定し、前記システムメモリ内で処理後のデータを記 憶する位置を特定する手段と、を備えるシステム。 10.前記システムメモリは、リアルタイムで取得された非圧縮ビデオデータの 6フレームに相当する量の記憶部を有する請求項9に記載のシステム。 11.前記システムメモリは、処理後のデータのための動的に割り当て可能な記 憶部を有する請求項10に記載のシステム。 12.前記中央演算処理装置は、前記システムメモリから前記ローカルデータメ モリへのデータ転送の前に、前記システムメモリ内に記憶された非圧縮ビデオデ ータを選択的に処理する請求項10に記載のシステム。 13.コンピュータシステムで、圧縮エンジンを使用するイメージデータの圧縮 及び復元中のデータの流れを制御する方法において、 前記コンピュータシステムと関連付けられたシステムメモリの領域内でイメー ジデータを収集する工程と、 選択された圧縮アルゴリズムによって前記エンジンを構成する工程と、 少なくとも1つのデータの細分度の単位を有する前記イメージデータの一部を 、前記エンジンと関連付けられた第1のローカルメモリへ転送する工程と、 前記イメージデータの転送された部分を圧縮し、同時に、前記エンジンと関連 付けられた第2のローカルメモリへ前記イメージデータの追加部分を転送する工 程と、 前記第1のローカルメモリ内の前記イメージデータの圧縮された部分を、第3 のローカルメモリへ保存する工程と、 前記第3のローカルメモリ内の前記イメージデータの圧縮された部分を、シス テムメモリの第2の領域へ転送する工程と、 前記第2のローカルメモリ内の前記イメージデータの転送された部分を圧縮し 、同時に、前記イメージデータの追加部分を、前記エンジンと関連付けられた前 記第3のローカルメモリへ転送する工程と、 前記第2のローカルメモリ内の前記イメージデータの圧縮部分を、前記第1の ローカルメモリへ保存する工程と、 前記第1のローカルメモリ内の前記イメージデータの圧縮部分を、前記システ ムメモリの前記第2の領域へ転送する工程と、 前記第3のローカルメモリ内の前記イメージデータの転送された部分圧縮し、 同時に、前記イメージデータの追加部分を第1のローカルメモリへ転送する工程 と、 前記第3のローカルメモリ内の前記イメージデータの圧縮部分を前記第2のロ ーカルメモリへ保存する工程と、 前記イメージデータの圧縮部分を、前記システムメモリの第2の領域へ転送す る工程と、 上記工程を繰り返して、前記システムメモリの前記領域内の前記イメージデー タを前記システムメモリから前記ローカルメモリへ転送し、圧縮し、前記システ ムメモリへ返送する工程と、を有する方法。 14.コンピュータシステムで、圧縮及び復元用コプロセッサによる圧縮又は復 元のためのデータソースからのデータ収集にシステムメモリを使用する方法にお いて、 システムメモリの複数のページ内にデータを収集する工程と、 1つの前記ページ内の記憶データの一部を、前記コプロセッサと関連付けられ たローカルメモリに転送する工程と、 選択された圧縮又は復元アルゴリズムに従って前記データを変換し、同時に、 前記データの次の部分を前記ローカルメモリへ転送する工程と、 変換後のデータを、前記ローカルメモリから、前記システムメモリ内の第2の 複数のページのうちの対応する1つのページに転送する工程と、を有する方法。 15.前記コンピュータシステムと関連付けられたCPUを使用して、圧縮又は 復元アルゴリズムを選択的に実行するように前記コプロセッサを構成する工程を さらに有する請求項14に記載の方法。 16.前記コプロセッサを構成する工程は、 前記ページ内の異なる1つのページ内の前記データの一部を、前記コプロセッ サと関連付けられた前記ローカルメモリへ転送する工程と、 選択された圧縮又は復元アルゴリズムに従って前記データを変換し、同時に、 前記データの次の部分を前記ローカルメモリへ転送する工程と、 変換後のデータを、前記ローカルメモリから、システムメモリ内の前記第2の 複数のページを含む前記ページのうちの1つのページに転送し、1つ以上のデー タソースにより前記コプロセッサを時間的に共用する工程と、を有する請求項1 5に記載の方法。
JP10513639A 1996-09-13 1997-07-03 メディア・コプロセッサにより共用ワークステーションメモリ上で実行される圧縮及び復元方式 Pending JP2001500686A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/713,599 US5768445A (en) 1996-09-13 1996-09-13 Compression and decompression scheme performed on shared workstation memory by media coprocessor
US08/713,599 1996-09-13
PCT/US1997/012437 WO1998011729A1 (en) 1996-09-13 1997-07-03 Compression and decompression scheme performed on shared workstation memory by media coprocessor

Publications (1)

Publication Number Publication Date
JP2001500686A true JP2001500686A (ja) 2001-01-16

Family

ID=24866752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10513639A Pending JP2001500686A (ja) 1996-09-13 1997-07-03 メディア・コプロセッサにより共用ワークステーションメモリ上で実行される圧縮及び復元方式

Country Status (7)

Country Link
US (1) US5768445A (ja)
EP (1) EP0925687B1 (ja)
JP (1) JP2001500686A (ja)
AU (1) AU3602797A (ja)
CA (1) CA2259513C (ja)
DE (1) DE69720477T2 (ja)
WO (1) WO1998011729A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009017535A (ja) * 2007-05-25 2009-01-22 Nvidia Corp マルチメディア信号の符号化

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6002411A (en) 1994-11-16 1999-12-14 Interactive Silicon, Inc. Integrated video and memory controller with data processing and graphical processing capabilities
IT1285258B1 (it) * 1996-02-26 1998-06-03 Cselt Centro Studi Lab Telecom Dispositivo di manipolazione di sequenze video compresse.
US6192073B1 (en) * 1996-08-19 2001-02-20 Samsung Electronics Co., Ltd. Methods and apparatus for processing video data
TW360823B (en) 1996-09-30 1999-06-11 Hitachi Ltd Data processor and graphic processor
US5986709A (en) * 1996-11-18 1999-11-16 Samsung Electronics Co., Ltd. Adaptive lossy IDCT for multitasking environment
JP3104643B2 (ja) * 1997-05-07 2000-10-30 株式会社セガ・エンタープライゼス 画像処理装置及び画像処理方法
US6385670B1 (en) * 1998-06-01 2002-05-07 Advanced Micro Devices, Inc. Data compression or decompressions during DMA transfer between a source and a destination by independently controlling the incrementing of a source and a destination address registers
US6188394B1 (en) * 1998-08-28 2001-02-13 Ati Technologies, Inc. Method and apparatus for video graphics antialiasing
US6388989B1 (en) * 1998-06-29 2002-05-14 Cisco Technology Method and apparatus for preventing memory overrun in a data transmission system
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
KR100629808B1 (ko) * 1999-02-04 2006-09-29 큐비스, 인크. 스케일 가능 레졸루션 모션 이미지의 기록 및 저장 시스템
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
US6604158B1 (en) 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
US7437483B1 (en) * 1999-03-24 2008-10-14 Microsoft Corporation System and method for transferring a compressed data file to a peripheral device
US6172625B1 (en) * 1999-07-06 2001-01-09 Motorola, Inc. Disambiguation method and apparatus, and dictionary data compression techniques
US6748457B2 (en) 2000-02-03 2004-06-08 Realtime Data, Llc Data storewidth accelerator
WO2001069411A2 (en) * 2000-03-10 2001-09-20 Arc International Plc Memory interface and method of interfacing between functional entities
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US7417568B2 (en) 2000-10-03 2008-08-26 Realtime Data Llc System and method for data feed acceleration and encryption
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
US7681013B1 (en) 2001-12-31 2010-03-16 Apple Inc. Method for variable length decoding using multiple configurable look-up tables
US6877020B1 (en) 2001-12-31 2005-04-05 Apple Computer, Inc. Method and apparatus for matrix transposition
US7558947B1 (en) 2001-12-31 2009-07-07 Apple Inc. Method and apparatus for computing vector absolute differences
US7015921B1 (en) 2001-12-31 2006-03-21 Apple Computer, Inc. Method and apparatus for memory access
US6931511B1 (en) 2001-12-31 2005-08-16 Apple Computer, Inc. Parallel vector table look-up with replicated index element vector
US7114058B1 (en) 2001-12-31 2006-09-26 Apple Computer, Inc. Method and apparatus for forming and dispatching instruction groups based on priority comparisons
US6822654B1 (en) 2001-12-31 2004-11-23 Apple Computer, Inc. Memory controller chipset
US7055018B1 (en) 2001-12-31 2006-05-30 Apple Computer, Inc. Apparatus for parallel vector table look-up
US7034849B1 (en) 2001-12-31 2006-04-25 Apple Computer, Inc. Method and apparatus for image blending
US7305540B1 (en) 2001-12-31 2007-12-04 Apple Inc. Method and apparatus for data processing
US7467287B1 (en) 2001-12-31 2008-12-16 Apple Inc. Method and apparatus for vector table look-up
US6697076B1 (en) 2001-12-31 2004-02-24 Apple Computer, Inc. Method and apparatus for address re-mapping
US6573846B1 (en) 2001-12-31 2003-06-03 Apple Computer, Inc. Method and apparatus for variable length decoding and encoding of video streams
US6693643B1 (en) 2001-12-31 2004-02-17 Apple Computer, Inc. Method and apparatus for color space conversion
US6985853B2 (en) * 2002-02-28 2006-01-10 Broadcom Corporation Compressed audio stream data decoder memory sharing techniques
US7154502B2 (en) * 2002-03-19 2006-12-26 3D Labs, Inc. Ltd. 3D graphics with optional memory write before texturing
ITMI20022003A1 (it) * 2002-09-20 2004-03-21 Atmel Corp Apparecchio e metodo per la decompressione dinamica di programmi.
US6707397B1 (en) 2002-10-24 2004-03-16 Apple Computer, Inc. Methods and apparatus for variable length codeword concatenation
US6707398B1 (en) 2002-10-24 2004-03-16 Apple Computer, Inc. Methods and apparatuses for packing bitstreams
US6781529B1 (en) 2002-10-24 2004-08-24 Apple Computer, Inc. Methods and apparatuses for variable length encoding
US6781528B1 (en) 2002-10-24 2004-08-24 Apple Computer, Inc. Vector handling capable processor and run length encoding
US9614772B1 (en) 2003-10-20 2017-04-04 F5 Networks, Inc. System and method for directing network traffic in tunneling applications
US8024483B1 (en) 2004-10-01 2011-09-20 F5 Networks, Inc. Selective compression for network connections
US7783781B1 (en) 2005-08-05 2010-08-24 F5 Networks, Inc. Adaptive compression
US8533308B1 (en) 2005-08-12 2013-09-10 F5 Networks, Inc. Network traffic management through protocol-configurable transaction processing
US7536533B2 (en) * 2005-09-30 2009-05-19 Silicon Laboratories Inc. MCU based motor controller with pre-load register and DMA controller
US8275909B1 (en) 2005-12-07 2012-09-25 F5 Networks, Inc. Adaptive compression
US7882084B1 (en) 2005-12-30 2011-02-01 F5 Networks, Inc. Compression of data transmitted over a network
US8565088B1 (en) 2006-02-01 2013-10-22 F5 Networks, Inc. Selectively enabling packet concatenation based on a transaction boundary
US7873065B1 (en) 2006-02-01 2011-01-18 F5 Networks, Inc. Selectively enabling network packet concatenation based on metrics
JP4929073B2 (ja) * 2006-07-07 2012-05-09 キヤノン株式会社 多機能プリンタ装置
US9356824B1 (en) 2006-09-29 2016-05-31 F5 Networks, Inc. Transparently cached network resources
US8417833B1 (en) 2006-11-29 2013-04-09 F5 Networks, Inc. Metacodec for optimizing network data compression based on comparison of write and read rates
US9106606B1 (en) 2007-02-05 2015-08-11 F5 Networks, Inc. Method, intermediate device and computer program code for maintaining persistency
KR100793286B1 (ko) * 2007-05-02 2008-01-10 주식회사 코아로직 버퍼 메모리의 사용량이 작은 디지털 영상 코덱 및 그 제어방법
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
US8367460B2 (en) 2010-06-22 2013-02-05 Micron Technology, Inc. Horizontally oriented and vertically stacked memory cells
US9026568B2 (en) * 2012-03-30 2015-05-05 Altera Corporation Data compression for direct memory access transfers
US20140108704A1 (en) * 2012-10-16 2014-04-17 Delphi Technologies, Inc. Data decompression method for a controller equipped with limited ram
US9792350B2 (en) 2013-01-10 2017-10-17 International Business Machines Corporation Real-time classification of data into data compression domains
US9564918B2 (en) 2013-01-10 2017-02-07 International Business Machines Corporation Real-time reduction of CPU overhead for data compression
US9053121B2 (en) 2013-01-10 2015-06-09 International Business Machines Corporation Real-time identification of data candidates for classification based compression
US20140344486A1 (en) * 2013-05-20 2014-11-20 Advanced Micro Devices, Inc. Methods and apparatus for storing and delivering compressed data
CN104572655B (zh) * 2013-10-12 2019-04-12 腾讯科技(北京)有限公司 数据处理的方法、装置及系统
EP3987772A4 (en) * 2019-06-18 2023-07-26 Nedge Computing Corp. SHARED RESOURCE FOR TRANSFORMING DATA

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5212742A (en) * 1991-05-24 1993-05-18 Apple Computer, Inc. Method and apparatus for encoding/decoding image data
GB9206126D0 (en) * 1992-03-20 1992-05-06 Maxys Circuit Technology Limit Parallel vector processor architecture
AU3058892A (en) * 1992-11-02 1994-05-24 3Do Company, The Audio/video computer architecture
US5373327A (en) * 1993-02-25 1994-12-13 Hewlett-Packard Company Detection, correction and display of illegal color information in a digital video signal
JP2935955B2 (ja) * 1994-06-10 1999-08-16 株式会社日立製作所 画像表示装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009017535A (ja) * 2007-05-25 2009-01-22 Nvidia Corp マルチメディア信号の符号化

Also Published As

Publication number Publication date
AU3602797A (en) 1998-04-02
CA2259513C (en) 2006-11-21
DE69720477D1 (de) 2003-05-15
EP0925687B1 (en) 2003-04-02
EP0925687A1 (en) 1999-06-30
WO1998011729A1 (en) 1998-03-19
DE69720477T2 (de) 2003-12-18
CA2259513A1 (en) 1998-03-19
US5768445A (en) 1998-06-16

Similar Documents

Publication Publication Date Title
JP2001500686A (ja) メディア・コプロセッサにより共用ワークステーションメモリ上で実行される圧縮及び復元方式
Rathnam et al. An architectural overview of the programmable multimedia processor, TM-1
JP4426099B2 (ja) 共有メモリを有するマルチプロセッサ装置
US6018353A (en) Three-dimensional graphics accelerator with an improved vertex buffer for more efficient vertex processing
US6393545B1 (en) Method apparatus and system for managing virtual memory with virtual-physical mapping
US6349379B2 (en) System for executing instructions having flag for indicating direct or indirect specification of a length of operand data
US6674536B2 (en) Multi-instruction stream processor
JP3806936B2 (ja) データ・フロー制御および複数の処理装置を有する画像圧縮コプロセッサ
GB2406993A (en) Motion estimation for differential encoding using a 3D graphics processor
US11023152B2 (en) Methods and apparatus for storing data in memory in data processing systems
US20110317763A1 (en) Information processing apparatus and information processing method
US7671864B2 (en) Faster image processing
JP4101253B2 (ja) 圧縮装置及びその方法
WO2024074012A1 (zh) 视频传输控制方法、装置、设备及非易失性可读存储介质
US5309528A (en) Image digitizer including pixel engine
EP0676720B1 (en) Image generation apparatus
JP4227218B2 (ja) 動的メモリ管理装置及びその制御方法
AU739533B2 (en) Graphics processor architecture
JP4298006B2 (ja) 画像プロセッサ及びその画像処理方法
US6621490B1 (en) Method and apparatus for motion compensation using hardware-assisted abstraction layer
JPH10105672A (ja) コンピュータ及びそれに使用する演算機能付きメモリ集積回路
AU728882B2 (en) Compression
US6987545B1 (en) Apparatus for assisting video compression in a computer system
AU760297B2 (en) Memory controller architecture
AU766467B2 (en) Graphics processing system