JPH10322699A - 高速逆離散コサイン変換方法およびシステム - Google Patents

高速逆離散コサイン変換方法およびシステム

Info

Publication number
JPH10322699A
JPH10322699A JP10006712A JP671298A JPH10322699A JP H10322699 A JPH10322699 A JP H10322699A JP 10006712 A JP10006712 A JP 10006712A JP 671298 A JP671298 A JP 671298A JP H10322699 A JPH10322699 A JP H10322699A
Authority
JP
Japan
Prior art keywords
odd
idct
dct
matrix
coefficient
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
JP10006712A
Other languages
English (en)
Inventor
Wei Ding
ウェイ・ディン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH10322699A publication Critical patent/JPH10322699A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform

Abstract

(57)【要約】 【課題】 DCT変換係数のアレイを空間データの2次
元アレイに変換するビデオ圧縮/圧縮解除システムを提
供する。 【解決手段】 DCT変換係数のアレイを2つのグルー
プに分け、領域IDCTアルゴリズムが第1のグループ
の非ゼロとゼロの両方の係数に適用され、IDCT計算
は第2のグループの非ゼロ係数のみに適用される。演算
結果が組合わされあるいはマッピングされて、空間デー
タの出力アレイを形成する。DCT係数の8×8アレイ
を変換し、第1の領域が8×8アレイにおける係数の第
1四半分部により定義される。領域IDCTアルゴリズ
ムが第1四半分部におけるゼロと非ゼロの両係数に適用
される。残りの3つの四半分部における非ゼロ係数は直
接計算され、直接計算の結果が第1四半分部の係数に適
用された領域IDCTアルゴリズムの結果に組合わされ
る。その結果の値が出力マトリックスへマッピングされ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、逆離散余弦(コサ
イン)変換(IDCT)を実施するためのシステムおよ
び方法に関する。本発明は、また、ディジタル・ビデオ
圧縮および圧縮解除(decompression)に
関し、特に効率が改善され計算に関する要件が少ない逆
離散コサイン変換(IDCT)を実施するためのビデオ
・エンコーダおよびデコーダに関する。
【0002】
【従来の技術】フル・モーション・ディジタル・ビデオ
は、大量の記憶域とデータ転送帯域幅とが必要になる。
このため、ビデオ・システムは、必要な記憶量と転送帯
域幅を減少させるために種々の形式のビデオ圧縮アルゴ
リズムを用いている。一般に、静止グラフィック・イメ
ージ(画像)とフル・モーション・ビデオに対しては異
なるビデオ圧縮法が存在する。フレーム内(イントラフ
レーム)圧縮法は、フレーム内の空間的冗長性を用いて
静止画像(イメージ)即ち1つのフレーム内のデータを
圧縮するために用いられる。フレーム間(インターフレ
ーム)圧縮法は、フレーム間の時間的冗長性を用いて、
複数のフレーム即ちモーション・ビデオ(動画)を圧縮
するために用いられる。フレーム間圧縮法は、単独にあ
るいはフレーム内圧縮法と関連して、モーション・ビデ
オ用にもっぱら用いられる。
【0003】フレーム内圧縮手法または静止画像圧縮手
法は、一般に、離散コサイン変換(DCT)のような周
波数領域(ドメイン)の手法を用いる。フレーム内圧縮
は、典型的に、フレームを有効にコード化して空間的な
冗長性を除去するために画像フレームの周波数特性を用
いる。静止グラフィック画像に対するビデオ・データ圧
縮の事例は、JPEG(Joint Photogra
phic Experts Group)圧縮、および
RLE(ランレングス・エンコーディング)である。J
PEG圧縮は、無損失(イメージ品質劣化なし)圧縮あ
るいは損失のある(激しい劣化は認識不能)圧縮を得る
ため離散コサイン変換を用いる関連規格の集合である。
JPEG圧縮は本来ビデオではなく静止画像の圧縮を意
図するものであったが、JPEG圧縮は、一部のモーシ
ョン・ビデオ用途にも用いられている。RLE圧縮法
は、一本のラインのビット・マップにおける重複ピクセ
ルについてテストし、ピクセル自体のデータではなく連
続的な重複ピクセル数を記憶することにより処理を行
う。
【0004】静止画像に対する圧縮アルゴリズムとは対
照的に、大部分のビデオ圧縮アルゴリズムは、フル・モ
ーション・ビデオ(フル動画)を圧縮することを意図さ
れている。先に述べたように、モーション・ビデオに対
するビデオ圧縮アルゴリズムは、フレーム間の時間的冗
長性を除去するためフレーム間圧縮と呼ばれる概念を用
いる。フレーム間圧縮は、データ・ファイルにおける連
続的フレーム間の差分のみを記憶することを含んでい
る。
【0005】フレーム間圧縮は、一般的に適度に圧縮さ
れたフォーマットでキー・フレーム即ち基準フレームの
全画像を記憶する。連続するフレームは、キー・フレー
ムと比較され、キー・フレームと連続フレームとの間の
差分のみが記憶される。周期的に、例えば新たな情景
(シーン)が表示される時に、新たなキー・フレームが
記憶され、以後の比較はこの新たな基準点から開始す
る。差分のフレームは、更に、DCTのような手法によ
り圧縮される。フレーム間圧縮技法を用いるビデオ圧縮
の事例としては、MPEG、DVIおよびインディオ
(Indeo)等がある。
【0006】MPEGの技術背景 MPEG(Moving Picture Exper
ts Group)圧縮と呼ばれる圧縮標準規格は、先
に述べたフレーム間手法およびフレーム内圧縮技法を用
いるフル・モーション・ビデオ画像の圧縮および圧縮解
除のための1組の方法である。MPEG圧縮は、とりわ
け、動き補償および離散コサイン変換(DCT)の両プ
ロセスを用い、200:1より大きな圧縮比を生じさせ
ることが可能である。
【0007】この2つの主要なMPEG標準規格は、M
PEG−1およびMPEG−2と呼ばれる。MPEG−
1規格は、一般に、時間差動パルス・コード変調(DP
CM)を典型的に使用するブロック基準動き補償予測
(MCP)を用いるフレーム間データ低減に関する。M
PEG−2規格は、MPEG−1規格に似ているが、高
品位テレビジョン(HDTV)のようなインターレース
化ディジタル・ビデオを含む更に広い用途範囲を網羅す
る拡張を含んでいる。
【0008】MPEGのようなフレーム間圧縮法は、大
半のビデオ・シーケンスにおいて、アクション(動き)
は前景において生じるが背景は比較的不動のままである
という事実に基いている。背景は、動いてもよいが、ビ
デオ・シーケンスにおける連続フレームの大きな部分は
冗長である。MPEG圧縮は、シーケンスにおけるフレ
ームをコード化あるいは圧縮するためこのような固有の
冗長性を用いる。
【0009】イントラ(I:Intra)フレーム、予
測(P:Predicted)フレームおよび双方向性
内挿(B:Bi−directional)フレームと
呼ばれる3種類の画像を含んでいる。Iフレーム即ちイ
ントラ・フレームは、ビデオの全フレームに対するビデ
オ・データを含み、典型的には10ないし15フレーム
ごとに置かれる。イントラ・フレームは、ランダム・ア
クセスのためのファイルにエントリ点を提供し、一般に
適度にのみ圧縮される。予測フレームは、過去のフレー
ム、即ち前のイントラ・フレームまたは予測フレームに
関連してコード化される。このため、Pフレームのみ
が、前のIフレームまたはPフレームに対する変化を含
む。一般に、予測フレームが、やや大量の圧縮を受け、
将来の予測フレームに対する基準(参照)として用いら
れる。このため、IおよびPの両フレームは、以降のフ
レームに対する基準として用いられる。双方向性画像
は、最大量の圧縮を含み、コード化されるために過去と
将来の両基準が必要となる。双方向性フレームは、決し
て他のフレームに対する基準としては用いられない。
【0010】一般に、基準フレームに続くフレーム、即
ち基準IまたはPフレームに続くPフレームおよびBフ
レームでは、これらフレームの僅かに小さな部分が各基
準フレームの対応部分と異なる。このため、これらのフ
レームでは、差のみが圧縮されて記憶される。これらフ
レーム間の差分は、以下に述べるように、典型的には動
きベクトル推定ロジックを用いて生成される。
【0011】MPEGエンコーダがビデオ・ファイルま
たはビットストリームを受取る時、MPEGエンコーダ
は通常最初にIフレームを生成する。MPEGエンコー
ダは、イントラ・フレーム圧縮手法を用いてIフレーム
を圧縮する。Iフレームが生成された後、MPEGエン
コーダがそれぞれのフレームをマクロブロックと呼ばれ
る16×16ピクセル平方の格子へ分割する。各フレー
ムは、動き推定/補償を行うためにマクロブロックへ分
割される。このため、各目標ピクチャまたはフレーム、
即ちコード化されているフレームの場合は、エンコーダ
が、目標ピクチャ・マクロブロックと探索(サーチ)フ
レームと呼ばれる近傍ピクチャにおけるブロックとの間
の正確あるいは略々正確な一致について探索する。目標
Pフレームの場合、エンコーダが前のIまたはPフレー
ムにおいて探索を行う。目標Bフレームの場合、エンコ
ーダは、前または後のIまたはPフレームにおいて探索
を行う。一致が見出されると、エンコーダが、ベクトル
移動コード即ち動きベクトルを送出する。ベクトル移動
コード即ち動きベクトルのみが、探索フレームと各目標
ピクチャとの間の差分についての情報を含む。基準ピク
チャ即ちIフレームにおけるブロックに対して変化がな
い目標ピクチャにおけるブロックは無視される。このた
め、これらフレームに対して実際に記憶されるデータ量
は著しく低減される。
【0012】動きベクトルが生成された後、エンコーダ
が空間的冗長性を用いて変化をコード化する。このた
め、マクロブロックの位置における変化を見出した後、
MPEGアルゴリズムが更に、対応するマクロブロック
間の差分を計算してコード化する。各マクロブロック
は、明るさ即ち輝度信号に対してそれぞれサイズ8×8
の4つのサブブロックと、カラー・フォーマットに依存
するカラー信号即ちクロミナンス信号に対する対応する
2つ、4つあるいは8つのサブブロックとからなってい
る。この差分のコード化は、離散コサイン変換、即ちD
CTと呼ばれる数学的プロセスにより行われる。このプ
ロセスは、8×8ブロックごとに演算を行う。
【0013】他のフレームに対する基準として用いられ
るフレームについては、結果のピクセル・データを復元
するために、これらのブロックに対してMPEGエンコ
ーダが量子化およびDCT変換の逆の動作を行う必要が
ある。この結果のピクセル・データは、PおよびBフレ
ームのような以降のフレームについての動き推定のため
に用いられる。このため、MPEGエンコーダは、一般
に、逆量子化ロジックならびに逆DCTロジックを含
む。
【0014】従って、MPEG圧縮は、ビデオ・シーケ
ンスにおける2つの種類の冗長性に基いており、これら
は個々のフレームにおける冗長性である空間的なもの
と、連続フレーム間の冗長性である時間的なものとであ
る。空間的圧縮は、ピクチャ・フレームの周波数特性を
考察することにより行われる。各フレームは、重なり合
わないブロックに分割され、各ブロックは離散コサイン
変換(DCT)により変換される。変換されたブロック
が「DCT領域」へ変換された後、変換ブロックにおけ
る各エントリは1組の量子化テーブルについて量子化さ
れる。各エントリに対する量子化ステップは、周波数に
対する人間の視覚系統(HVS)の感度を勘案して変動
し得る。HVSが低周波に対してより敏感であるので、
大部分の高周波エントリはゼロに量子化される。エント
リが量子化されるこのステップにおいては、情報が失わ
れ、再構成されたイメージにエラーが導入される。ラン
レングス・エンコーディングは、量子化値を送出するた
めに用いられる。圧縮を更に強化するために、ブロック
が、比較的低い周波数のエントリを先ず走査するジグザ
グ状の走査がされ、ゼロでない量子化値がゼロのランレ
ングスと共にエントロピー・コード化される。
【0015】先に述べたように、時間的圧縮は、大部分
の対象物が連続ピクチャ・フレーム間で同じままである
という事実を利用し、連続フレームにおける対象物即ち
ブロック間の差分は、(対象物の運動、カメラの運動の
いずれか、あるいはその両方による)動きの結果として
のフレームにおけるそれらの位置である。この相対的エ
ンコーディングは、動きの推定のプロセスによって行わ
れる。動き補償の結果としての差のイメージは、DC
T、量子化およびRLEエントロピー・コード化によっ
て更に圧縮される。
【0016】MPEGデコーダがコード化されたストリ
ームを受取ると、MPEGデコーダが上記演算のを逆を
行う。このため、MPEGデコーダは、ジグザグ順序を
除去する逆走査、データを量子化解除する逆量子化、お
よび周波数領域からピクセル領域へデータを変換する逆
DCTを実施する。MPEGデコーダは、また、時間的
に圧縮されたフレームを再成するため送られた動きベク
トルを用いて動き補償を行う。
【0017】
【発明が解決しようとする課題】逆離散コサイン変換
(IDCT)の計算は、一般に大量の処理を要求する。
IDCTを計算するための1つの公知方法は、チェン
(Chen)・アルゴリズムと呼ばれる。このチェン・
アルゴリズムを計算するための従来技術の手法は、RO
M/RAMに記憶された係数と共に「ブース・コード化
マルチプライヤ」(Booth−Coded Mult
iplier)を用いてきた。しかし、この方法は、従
来のマルチプライヤの構成によるダイ領域の非効率的な
使用と、係数の記憶のためのROM/RAMの使用によ
るテストの複雑性とを含む短所を有する。更に、この方
法は、マルチプライヤを最適化する際の係数の固有の対
称特性を利用していない。最後に、当該方法は、一般的
に処理能力(スループット)が低い。
【0018】IDCTを計算するための別の方法は、A
ANアルゴリズムと呼ばれる。このAANアルゴリズム
は、ビデオ圧縮および圧縮解除システムにおいて比較的
良好な性能を結果として生じる分割可能なフルIDCT
アルゴリズムである。先に述べたように、典型的なビデ
オ圧縮/解除システムは、離散コサイン変換係数の8×
8ブロックからの空間データの8×8ブロックの計算に
依存している。AANアルゴリズムが離散コサイン変換
係数の完全2次元の8×8ブロックに適用されると、変
換を実施するのに要する多くの乗算が平行して行われ、
これにより比較的高速な全計算を可能にする。しかし、
これにも拘わらず、典型的なシステムでは、離散コサイ
ン変換係数の8×8ブロックについてIDCT演算を更
に高速に行うことが依然として望ましい。
【0019】IDCT演算の実施のための更に別のアル
ゴリズムは、対称マップ化IDCT(SMIDCT)と
呼ばれる。このアルゴリズムは、典型的な画像およびビ
デオへの適用において、変換された係数がまばらであ
る、即ち、多くの係数がゼロであるという事実を利用し
ている。典型的な用途の場合のようにゼロでない係数の
数が少ないときは、当該アルゴリズムはフル(完全)A
ANアルゴリズムよりも高速であり得る。
【0020】新たなシステムおよび方法が、逆離散コサ
イン変換を効率的に計算するために望まれている。特
に、ビデオへの適用においてAANおよびSMIDCT
の両アルゴリズムよりも良好に逆離散コサイン変換を計
算するシステムを提供することが特に望ましい。
【0021】
【課題を解決するための手段】先に述べた諸問題の大部
分は、本発明による高速逆離散コサイン変換のシステム
および方法によって解消される。一実施形態において、
DCT変換係数のアレイが空間的データの2次元アレイ
に変換される。DCT変換係数のアレイは2つのグルー
プに分割される。領域的なIDCTアルゴリズムが、第
1のグループのゼロでない係数とゼロの係数の両方の全
ての係数に適用されるが、IDCT計算は第2のグルー
プのゼロでない係数にのみ適用される。演算結果が次に
組合わされそして(または)マップ化されて空間的デー
タの出力アレイを形成する。
【0022】DCT係数の8×8アレイが変換されるべ
き1つの特定の構成においては、第1の領域が8×8ア
レイにおける係数の第1四半分部(クオドラント:qu
adrant)により定義される。領域的IDCTアル
ゴリズムは、第1四半分部におけるゼロと非ゼロの両係
数に適用される。残る3つの四半分部における非ゼロ係
数は直接計算され、この直接計算の結果は第1四半分部
の係数に適用された領域的IDCTアルゴリズムの結果
と組合わされる。その結果の値が出力マトリックスにマ
ップ化される。領域的IDCTアルゴリズムは、係数の
行と列の指標(インデックス)のパリティに従って、第
1四半分部における係数を4つのグループ(即ち、偶数
行−偶数列、偶数行−奇数列、奇数行−偶数列、および
奇数行−奇数列)に分類することにより行われる。これ
らの分類から、予め定めた偶数と奇数のIDCT演算子
が行と列の方向に適用されて、偶数−偶数IDCT成分
クラスと、奇数−偶数IDCT成分クラスと、偶数−奇
数IDCT成分クラスと、奇数−奇数IDCT成分クラ
スとを導き出す。残りの四半分部における非ゼロ係数の
各々に行われた直接IDCT計算の結果は、対応する成
分クラスへ加算される。各直接IDCT計算の結果を第
1四半分部の係数から得たIDCT成分クラスへ加算し
た後、結果のIDCT成分クラスが組合わされて出力マ
トリックスを形成する。
【0023】高速逆離散コサイン変換法は、ビデオ・エ
ンコーダまたはデコーダ・システムの計算ユニット内で
用いることが可能である。DCT係数と結果の空間的デ
ータは、ビデオ・エンコーダまたはデコーダ・システム
のメモリ内に記憶することが可能である。本発明による
逆離散コサイン変換技法を用いるビデオ・エンコーダま
たはデコーダは、高性能を有利に達成することができ
る。
【0024】本発明は、添付図面と関連して望ましい実
施形態の以降の詳細な説明によりよく理解することがで
きる。
【0025】
【発明の実施の形態】ビデオ圧縮システム まず図1を参照すると、本発明によるビデオ圧縮および
(または)圧縮解除を実行するためのシステムの一実施
形態が示される。当該システムは、ビデオ・エンコーデ
ィングまたはビデオ圧縮および(または)ビデオ復号
(デコード)あるいはビデオ圧縮解除中に、逆離散コサ
イン変換(IDCT)の計算を行う。他の実施の形態に
おいては、本発明のシステムおよび方法は、必要に応じ
て、他の種々の種類の用途において使用されるIDCT
動作を行うために用いることが可能である。
【0026】図示のように、一実施形態において、ビデ
オ・エンコーディング/デコーディング・システムは、
汎用コンピュータ・システム60を含んでいる。このビ
デオ・エンコーディング/デコーディング・システム
は、コンピュータ・システム、セット・トップ・ボック
ス(set−top box)、テレビジョンその他の
装置を含む任意の色々な形式のシステムを含むことがで
きる。様々な実施の形態において、ビデオ・エンコーデ
ィング/デコーディング動作の一方または両方が、本発
明の改善されたIDCT計算システムおよび方法を含
む。
【0027】コンピュータ・システム60は、このコン
ピュータ・システム60により圧縮解除または復号され
るべきディジタル・ビデオ・ファイルを記憶するメディ
ア記憶装置62に結合されることが望ましい。メディア
記憶装置62はまた、結果の復号あるいは圧縮解除され
たビデオ・ファイルをも記憶する。望ましい実施形態に
おいては、コンピュータ・システム60は、圧縮された
ビデオ・ファイルまたはビット・ストリームを受取り、
正常な非圧縮ディジタル・ビデオ・ファイルを生成す
る。当該明細書においては、用語「圧縮されたビデオ・
ファイル」とは、とりわけMPEG標準規格を含む動き
推定手法を使用する種々のビデオ圧縮アルゴリズムの任
意のものに従って圧縮されたビデオ・ファイルを意味
し、用語「非圧縮ディジタル・ビデオ・ファイル」と
は、復号(デコード)あるいは非圧縮ビデオのストリー
ムを意味する。
【0028】図示のように、コンピュータ・システム6
0は、ビデオの復号または圧縮解除動作を行うビデオ・
デコーダ74を含むことが望ましい。一実施形態におい
ては、ビデオ・デコーダ74は、MPEGデコーダであ
る。コンピュータ・システム60はまた、一実施形態で
はMPEGエンコーダであるビデオ・エンコーダ76を
オプションとして含むことが可能である。前記ビデオ・
デコーダ74およびビデオ・エンコーダ76は、コンピ
ュータ・システムにおけるバスに結合されたアダプタ・
カードであることが望ましいが、例示の目的のためにコ
ンピュータ・システム60に対して外部に示されてい
る。コンピュータ・システム60はまた、ビデオ圧縮解
除または復号動作の部分を実行し、またはビデオ圧縮ま
たはエンコーディング動作の部分を実行し、そして(ま
たは)必要に応じて他の動作を実行するフロッピ・ディ
スク72により表わされるソフトウエアを含む。
【0029】コンピュータ・システム60は、1つ以上
のプロセッサ、1つ以上のバス、ハード・ドライブおよ
びメモリを含む種々の標準的な構成要素を含むことが望
ましい。次に図2を参照すると、図1のコンピュータ・
システムに含まれる構成要素を示すブロック図が示され
る。図2は、例示に過ぎず、必要に応じて、他のコンピ
ュータ・アーキテクチャを用いることができることは理
解される。図示のように、コンピュータ・システムは、
チップセット・ロジック82を介してシステム・メモリ
84に接続された少なくとも1つのプロセッサ80を含
んでいる。チップセット82は、PCIバス86にイン
ターフェースするためのPCI(Peripheral
Component Interconnect)ブ
リッジあるいは別の形式の拡張バスとのインターフェー
スのための別の形式のバス・ブリッジを含むことが望ま
しい。図2において、ビデオ・デコーダ74とビデオ・
エンコーダ76は、PCIバス86に接続されるように
示される。ビデオ88およびハード・ドライブ90のよ
うな他の種々の構成要素をコンピュータ・システムに含
めることができる。
【0030】先に述べたように、図1の実施の形態にお
いては、コンピュータ・システム60は、1つ以上のデ
ィジタル記憶装置またはメディア記憶装置を含み、ある
いはこれらに接続される。例えば、図1の実施の形態で
は、コンピュータ・システム60がケーブル64を介し
てメディア記憶装置62に接続されている。メディア記
憶装置62は、RAID(Redundent Arr
ay of Inexpensive Disks)デ
ィスク・アレイを含むか、あるいは1つ以上のCD−R
OMドライブおよび(または)1つ以上のディジタル・
ビデオ・ディスク(DVD)記憶装置を含むか、あるい
は圧縮解除されるディジタル・ビデオを記憶するか、そ
して(または)結果の復号されたビデオ・データを記憶
するための他のメディアを含むことが望ましい。コンピ
ュータ・システムは、また、1つ以上の内部RAIDア
レイ、CD−ROMドライブを含み、そして(または)
1つ以上の別個のディジタル・ビデオ・ディスク(DV
D)記憶装置に結合することもできる。コンピュータ・
システム60は、また、必要に応じて、他の形式のディ
ジタルまたはアナログ記憶装置またはメディアに接続す
ることもできる。
【0031】あるいはまた、圧縮されたディジタル・ビ
デオ・ファイルは、遠隔記憶装置または遠隔コンピュー
タ・システムのような外部ソースから受取ることもでき
る。コンピュータ・システムは、ATM(Asynch
ronous Transfer Mode)アダプタ
・カードまたはISDN(統合サービス・ディジタル・
ネットワーク)端末アダプタ、またはディジタル・ビデ
オ・ファイルを受取るための他のディジタル・データ・
レシーバのような入力装置を含むこともできる。ディジ
タル・ビデオ・ファイルはまた、アナログ・フォーマッ
トで記憶されあるいは受取られ、コンピュータ・システ
ム60に対して外部的にあるいはコンピュータ・システ
ム60内部でディジタル・データへ変換される。
【0032】先に述べたように、コンピュータ・システ
ム60におけるビデオ・デコーダ74は、ビデオ復号
(デコーディング)機能あるいはビデオ圧縮解除機能を
行う。ビデオ復号またはビデオ圧縮解除の実施時に、ビ
デオ・デコーダ74は、逆離散コサイン変換(IDC
T)を行う。更に以下に述べるように、コンピュータ・
システム60におけるMPEGデコーダ74は、改善さ
れた性能でIDCTを計算することができる。
【0033】先にも述べたように、コンピュータ・シス
テム60におけるビデオ・エンコーダ76は、ビデオ・
エンコーディング機能またはビデオ圧縮機能を実施す
る。ビデオ・エンコーディングまたはビデオ圧縮を行う
際、ビデオ・エンコーダ76は、あるデータについて逆
離散コサイン変換を行う。以下に更に説明するように、
コンピュータ・システム60におけるビデオ・エンコー
ダ76は、IDCTを改善された性能で計算することが
できる。
【0034】図1のシステムは、必要に応じて2つ以上
の相互接続されたコンピュータを含むことが可能なこと
が判る。ビデオ・データをエンコーディングあるいはデ
コーディングするためのシステムは、代替的にセット・
トップ・ボックスのような他のハードウエアを単独で含
み、あるいは汎用プログラム可能コンピュータと関連し
て用いることもできる。ビデオ・データをエンコーディ
ングあるいはデコーディングするためのシステムは、エ
ンコーディングまたはデコーディング・プロセスの計算
のため全体的にあるいは部分的にソフトウエアの形式で
CPU80内で実現することもできる。必要に応じて、
本発明によるビデオ・データのエンコーディングおよび
(または)デコーディングするために種々の形式のうち
の任意のシステムを使用できることが判る。
【0035】図3−MPEGデコーダのブロック図 次に図3を参照すると、本発明によるIDCT計算を行
うビデオ・デコーダ74の一実施形態を例示するブロッ
ク図が示される。図示のように、ビデオ・デコーダ74
は、コード化あるいは圧縮ディジタル・ビデオ・ストリ
ームを受取り、非圧縮ディジタル・ビデオ・ストリーム
を出力する。圧縮ディジタル・ビデオ・ストリームは、
テレビジョン・セグメントまたはムービーのようなビデ
オ・シーケンスをテレビジョンまたはコンピュータ・シ
ステムのようなスクリーン上へ提示するために用いられ
る圧縮ビデオ・データのビットストリームである。一実
施形態においては、圧縮されたディジタル・ビデオ・ス
トリームは、MPEG−2圧縮アルゴリズムを用いて圧
縮され、従って、ビデオ・デコーダ74はMPEG−2
デコーダである。MPEGデコーダの動作は当技術にお
いて周知であるので、本発明の動作に不必要であるこれ
らデコーダの動作の詳細は、簡素化のため省略する。
【0036】図3に示されるように、ビデオ・デコーダ
74は、逆走査ブロック104へ出力を与えるように接
続された可変長復号ブロック102を含み、ブロック1
04は逆量子化ブロック106へ出力を与えるように接
続され、ブロック106は動き補償ブロック110へ出
力を与えるように接続された逆DCTブロック108へ
出力を与えるように接続され。動き補償ブロック110
は、復号化(デコード)サンプルを含む出力を与える。
フレーム・ストア・メモリ112は、復号されたフレー
ム・データを受取り記憶する動き補償ブロック110の
出力に接続される。動き補償ブロック110は、動き補
償中にフレーム・ストア・メモリ112から基準ブロッ
ク・データを受取るためフレーム・ストア・メモリ11
2の出力に接続される。
【0037】図3に示されるように、可変長復号(デコ
ーディング)ブロック102は、コード化データを受取
り、可変長復号を行う。周知のように、MPEG規格
は、可変長コードを用いてデータが伝送のため圧縮され
ることを規定する。このため、可変長復号ブロック10
2が、このデータを復号し、QFS[n]と呼ぶ出力を
生じる。可変長復号ブロック102のQFS[n]出力
は、逆走査ブロック104へ与えられる。逆走査ブロッ
ク104は、受取ったデータのジグザグ走査順序を逆に
してQF[v][u]と呼ぶ出力を生じる。出力QF
[v][u]は、逆量子化ブロック106へ与えられ
る。逆量子化ブロック106は、F[v][u]と呼ぶ
量子化解除データを生じるためデータの逆量子化または
量子化解除を行う。逆量子化ブロック106の出力F
[v][u]は、逆DCTブロック108へ与えられ、
このブロックがデータを周波数領域から再びピクセル領
域へ変換するため逆離散コサイン変換を行う。以下に更
に述べるように、逆DCTブロック108は、改善され
た効率でIDCTを行う。逆DCTブロック108は、
f[y][x]と呼ぶ出力を生じる。逆DCTブロック
108の出力f[y][x]は、モーション補償ブロッ
ク110へ与えられる。
【0038】逆DCTブロック108からの出力b
[y][x]は、ピクセル・データの時間的にコード化
されたフレームを含む。動き補償ブロック110は、動
き補償手法を用いて時間的に圧縮されたフレームを圧縮
解除する。動き補償ブロック110からの出力ピクセル
値は、フレーム・ストア・メモリ112へ与えられる。
フレーム・ストア・メモリ112は、このようにして、
動き補償ブロック110に接続され、ビデオ・データの
1つ以上の基準フレームを記憶する。ビデオ・データの
これらの基準フレームは、PおよびBフレームのような
時間的に圧縮されたフレームについて動き補償を行う際
に動き補償ブロック110により使用される。
【0039】図4−MPEGエンコーダのブロック図 次に図4を参照すると、本発明によりIDCTを行うビ
デオ・エンコーダ76の一実施形態を示すブロック図が
示される。図示のように、ビデオ・エンコーダ76は、
非圧縮ディジタル・ビデオ・ストリームを受取り、コー
ド化ストリームを出力する。非圧縮ディジタル・ビデオ
・ストリームは、テレビジョン・セグメントまたはムー
ビーのようなビデオ・シーケンスをテレビジョンまたは
コンピュータ・システムのようなスクリーン上に提示す
るために使用されるビデオ・データのビットストリーム
である。一実施形態においては、ビデオ・エンコーダ7
6は、MPEG−2圧縮アルゴリズムを用いて非圧縮デ
ィジタル・ビデオ・ストリームを圧縮する。
【0040】図4に示されるように、ブロック・コンバ
ータ142が、入力輝度およびクロミナンスのビデオ信
号をブロック・フォーマットへ変換し、ここで各ブロッ
クは64ピクセル値の8×8マトリックスを含むことが
望ましい。このブロック・フォーマットは、例えば、標
準的な4:4:4、4:2:2、4:2:0などのスペ
ーシング・フォーマットのような特定形式のエンコーデ
ィング・システムに応じた特定のスペーシング・フォー
マットへ分類される複数のマクロブロックとして構成さ
れることが望ましい。ブロック・コンバータ142は、
以下に更に述べるように、減算器144および動き推定
/補償ロジック162へ逐次のピクセル値を与える。ブ
ロック・コンバータ142はまた、出力をイントラSW
決定ブロック170へ与える。
【0041】減算器144は、マルチプレクサ166か
ら入力を受取り、マルチプレクサ166の出力をブロッ
ク・コンバータ142の出力から差引くよう動作する。
マルチプレクサ166は、動き推定/補償ロジック16
2から入力を受取り、ブロック168からも0入力を受
取る。マルチプレクサ166は、イントラSW決定ブロ
ック170から選択入力を受取る。イントラSW決定ブ
ロック170は、フィールド間(インターフィールド)
またはフィールド内(イントラフィールド)モードが使
用されているかどうかを決定する。フィールド間データ
モードにおいては、マルチプレクサ166は動き推定/
補償ロジック162からの出力を与え、ブロック・コン
バータ142がブロック・コンバータ142から与えら
れた対応ブロックから、動き推定/補償ロジック162
により与えられたマクロブロックの各ブロックを差引
く。フィールド内データ・モードにおいては、マルチプ
レクサ166は、ゼロ・ブロック168から出力を与
え、従ってブロック・コンバータ142からのブロック
が修正されずに減算器144を通過する。
【0042】減算器144は、動きが予期される差動的
にコード化されたマクロブロック(モード間)または修
正されない出力ブロック(モード内)の出力ブロック
を、DCTコンバータ146へ与える。DCTコンバー
タ146は、各ブロックをDCTフォーマットへ変換し
て、DCT係数の対応する8×8ブロックを生じる結果
となる。DCTフォーマットは、ビデオ・データの圧縮
を可能にするため周波数領域でデータを表わす。各DC
Tブロックについての、最初の即ち最上左部の係数は、
典型的にブロックのDC成分を含み、残りの値は垂直周
波数および水平周波数を増加させるためのAC成分であ
る。
【0043】DCTコンバータ146からのDCT係数
は、ピクセルをジグザグ・フォーマットで配列し直すZ
Zブロック147へ与えられる。ZZブロック147の
出力は量子化器148へ与えられ、この量子化器が係数
値の組を量子化値へマッピングする。典型的に、人間の
目が比較的低い空間周波数よりも比較的高い空間周波数
におけるイメージ成分に対して感度が低いので、低周波
数係数に対しては高周波係数に対するよりも少ない組み
の、即ち微小量子化が用いられる。
【0044】量子化器148からのデータ値は、記憶お
よび(または)伝送の目的のためデータをコード化する
ため可変長エンコーダ(VLE)150へ与えられる。
VLE150は、エントロピー・コーディング原理に従
ってデータのブロックを走査して可変長コード(VL
C)へ変換し、そこで比較的短いコードがより確率の高
い値に割り当てられ、コーディング利得を、またこれに
よりデータの圧縮を達成している。他のコーディング方
式も考えられるが、このようなVLCコーディング方式
の1つはハフマン(Huffman)コーディングと呼
ばれる。VLCは、VLE150から先入れ先出し(F
IFO)バッファ152へ与えられる。
【0045】フィールド間(インターフィールド)モー
ドの場合、量子化器148からのデータ値は、量子化器
148により行われる動作を逆にしてコード化されたイ
メージの各ブロックを表わす近似DCT係数を生じさせ
るために、逆量子化器154へ与えられる。量子化は通
常損失のあるプロセスであるので、逆量子化器154の
出力はノイズおよびエラーを伴う。
【0046】逆量子化器154の出力データは、ZZブ
ロック147の動作を逆にする逆ZZブロック155へ
与えられる。逆ZZブロック155の出力は、DCTコ
ンバータ146により行われる動作を逆にするため逆D
CT(IDCT)コンバータ156へ与えられる。以下
に更に述べるように、IDCTコンバータ156は、本
発明に従ってIDCT計算を行うことが望ましい。ID
CTコンバータ156の出力におけるフレーム差分ブロ
ックは、2入力加算器158の1つの入力へ与えられ
る。この加算器158はまた、動き補償ロジック162
から出力データ・ブロックを受取る。加算器158から
の出力ピクセル値はフレーム・ストア・メモリ160へ
与えられ、このメモリに記憶されたデータがビデオ・バ
ッファ(図示せず)へ与えられ、モニタのような表示装
置(図示せず)上で表示される。
【0047】フレーム・ストア・メモリ160における
値は、動き推定/補償ロジック162の入力へ与えられ
る。一般に、この動き推定/補償ロジック162は、ブ
ロック・コンバータ142から到来するブロックとフレ
ーム・ストア・メモリ160に記憶される再構成された
前のブロックとを比較して、動きベクトルの形態におけ
る動きを計測する。図3の動き推定/補償ロジック16
2は、従来技術の手法を用いて空間領域における動き推
定を行う。
【0048】動き推定/補償ロジック162は、対象物
即ちブロックを新たなフレームにおいて推定した位置即
ち、結果として予測されたブロックにシフトする。フィ
ールド間モードにおいて、この予測ブロックは入力ブロ
ックから差引かれてブロック差分即ち予測誤差を得る。
このプロセスは、フレーム間冗長性と予測誤差とを分離
する。フィールド間モードにおいては、ブロック差分が
DCTコンバータ146、ZZブロック147および量
子化器148により処理されて、空間的冗長性を除去す
る。このため、当該方法においては、動き推定が空間領
域即ちピクセル領域において行われ、従ってフレーム差
分がDCT変換され量子化される。
【0049】逆DCT 先に述べたように、逆DCTの計算は、ビデオ・デコー
ダ74またはビデオ・エンコーダ76のいずれかで行わ
れる。1つの構成例においては、逆DCTは、F[u]
[v]と呼ぶ未量子化DCT係数データを受取り、周波
数領域からのデータを再びピクセル領域へ変換するため
逆離散コサイン変換を行うことを含む。逆DCT演算
は、典型的には、多くのイメージおよびビデオ圧縮用途
において8×8データのブロックに対して行われる。逆
DCTは、b(x,y)と呼ぶ出力を生じる。
【0050】8ポイントの1次元IDCTは、下式によ
り定義される。
【数3】 ここで、F(u),u=0,1,..,7はDCT係数
であり、b(x),x=0,1,..,7が空間領域デ
ータである。正規化ファクタa(u)は次のように表さ
れる。
【数4】
【0051】2次元の8×8IDCTは、下式により定
義される。
【数5】 ここで、F(u,v),u=0,1,..,7、v=
0,1,..,7は8×8アレイに配列されたDCT係
数であり、b(x,y),x=0,1,..,7,y=
0,1,..,7は空間領域データである。2次元ID
CTは分離可能な変換であり、係数の8×8ブロックの
行に、次いで列に1次元IDCTを適用することによ
り、あるいはその逆で計算できることが判る。
【0052】先に述べたように、AANアルゴリズムの
ような、DCT係数の8×8ブロックから高速完全ID
CTを行うために多くのアルゴリズムが開発されてき
た。典型的なイメージおよびビデオ圧縮用途に対して、
8×8変換係数ブロックはまばらなマトリックスであ
り、即ち、多くの係数がゼロである。更にまた、非ゼロ
係数は通常低周波領域、即ち、係数の行および列の両イ
ンデックスが小さな数である領域に分布される。第1の
属性から、少数の非ゼロ係数を持つブロックに対して
は、全ての係数から完全IDCTを行うよりも式(2)
から各非ゼロ係数に対してIDCTデータを直接計算す
る方が少ない計算で済むことが認識される。第2の属性
から、特に指定された低周波領域(第1四半分部の如
き)における係数の数がある閾値より大きい時、(第1
四半分部の係数の4×4アレイからのように)低周波係
数からIDCTデータを計算する領域的IDCTアルゴ
リズムの適用が計算を更に早め得ることが認識される。
【0053】従って、本発明の一実施形態において、8
×8DCT変換された係数が少なくとも2つの領域へ分
けられる。図5は、例示的な分割を示す。図5は、係数
マトリックスの第1四半分部により形成される第1の領
域500と、このマトリックスの四半分部2、3および
4により形成される残りの領域502とを示している。
以下に更に詳細に述べるように、領域的IDCTアルゴ
リズムは、第1の領域500における係数F(U,V)
(U,V=0,1,3,3)に適用される。本文で用い
られる如き「領域的IDCTアルゴリズム」とは、定義
された領域の全てのDCT係数、非ゼロおよびゼロの両
方の係数が逆DCTの計算に適用される所与の領域に適
用される任意のアルゴリズムを意味する。例示的な領域
的IDCTアルゴリズムは、先に述べたようなAANア
ルゴリズムである。残りの領域502に対しては、各非
ゼロ係数について直接IDCT計算が行われる。直接I
DCT計算は、各非ゼロ係数に対して式(2)の計算に
より行われる。残りの領域502内のゼロの係数につい
ての計算は行われない。両方の領域からの結果は、次に
一緒に組合わされて、IDCT演算の8×8空間データ
b(x,y)の結果が導き出される。
【0054】次に、本発明の1つの特定構成に関する詳
細を考察する。この構成においては、1組のサブブロッ
クアキュムレータSrpcp(x,y)が維持され、ここ
でrp=0、1およびcp=0,1がそれぞれ行パリテ
ィおよび列パリティであり、x=0,1,2,3および
y=0,1,2,3である。サブブロック・アキュムレ
ータSrpcp(x,y)は、下式により示されるよう
に、0へ初期設定される。 Srpcp(x,y)=0
【0055】領域的IDCTアルゴリズムを用いて、第
1の領域500における全ての係数に関して計算が行わ
れる。第1の領域500におけるDCT係数は、図6に
示される。領域的IDCTアルゴリズムのこのような特
定の構成においては、第1の領域500における4×4
=16係数(即ち、F(u,v),u,v=0,1,
2,3)は、4つのグループ、即ち、係数の行および列
のインデックスのパリティに従って、偶数行−偶数列、
偶数行−奇数列、奇数行−偶数列、奇数行−奇数列へ分
けられる。これらの4つのグループは、図7に示され
る。
【0056】図7は更に、4つのグループ分けにより定
義されるDCT係数データがs00、s01、s10およびs
11と称する1組のIDCT成分クラスへ変換される。各
成分クラスの計算に関する詳細は、図8により示される
偶数の1次元演算子、図9により示される奇数の1次元
演算子、およびそれぞれs00およびs01に対して図10
および図11に示される計算例を参照することによりよ
く理解される。
【0057】それぞれ図8および図9の偶数および奇数
の演算子については、偶数の係数F0およびF2がe
(0)、e(1)、e(2)およびe(3)にマッピン
グされ、奇数の係数F1およびF3はo(0)、o
(1)、o(2)およびo(3)にマッピングされる。
黒丸につながる2本の線は、加算が行われることを意味
する。白い丸は、演算が行われないことを意味する。ブ
ロックを有する線は、乗算が行われることを意味する。
矢印を有する線は、負の値を意味する。下記のパラメー
タが、図8および図9に適用することができる。 b1=0.414 b2=0.199 b3=0.668 b4=1.414 b5=0.848 b6=0.235スケーリング・ファクタ0 1= 0.35355339 s1 1= 0.490392640 s2 1= 0.461939766 s3 1= 0.415734806
【0058】偶数−偶数IDCT成分クラスs00の計算
は、図10に示される。図8の偶数演算子は、最初に4
ピクセルの偶数−偶数グループの各行に適用されて、そ
れぞれ4つの値の2つの行(即ち、e0(0)−e
0(3)およびe2(0)−e2(3))を生成する。そ
の結果の各列は、図8の同じ偶数演算子に適用されて図
示のようにデータの4×4ブロックを得る。このデータ
・ブロックは、x=0,1,2,3およびy=0,1,
2,3に対してs00(x,y)に記憶される。図8およ
び図9の演算子が最初は列方向に次いで行方向に交互に
適用され、計算されたマトリックスs00に差を生じない
ことが判る。
【0059】次に図11において、DCT係数の偶数−
奇数グループについては、図9の奇数演算子が行方向
に、次いで図8の偶数演算子が列方向に奇数演算子の演
算結果に適用される。最終結果は、x=0,1,2,3
およびy=0,1,2,3に対してs01(x,y)に記
憶される。再び、行方向および列方向の演算の順序が切
換えられる。奇数−偶数および奇数−奇数のグループに
ついては、奇数演算子は列方向に、偶数または奇数の演
算子は行方向にそれぞれ適用される。結果は、それぞれ
10(x,y)およびs11(x,y)に記憶される。
【0060】最初の領域結果を形成するIDCT成分ク
ラスs00、S01、s10およびs11の計算時に、残りの領
域502における非ゼロ係数について計算が行われる。
残りの領域502における非ゼロの各係数F(u,v)
については、(u=0,1,2,3;v=4,5,6,
7およびu=4,5,6,7;v=0,1,..,7)
であり、ここでuは行のインデックスを指し、vは列の
インデックスを指し、アキュムレータ(3)が下式によ
り更新される。
【0061】x=0,1,2,3およびy=0,1,
2,3に対して、
【数6】 ここで、
【数7】 である。
【0062】パリティ(u)は、uのパリティであり、
即ち、次のようになる。
【数8】 同様に、パリティ(v)はvのパリティであり、即ち、
次のようになる。
【数9】
【0063】残りの領域502内の全ての非ゼロ係数に
対する式(3)の完全な計算時に、結果のIDCT成分
クラスs00、s01、s10およびs11が数学的に8×8D
CT係数データの全ブロックに対する各成分クラス(即
ち、偶数−偶数、偶数−奇数、など)に対するIDCT
データを表わすことが判る。
【0064】従って、数学的には次のようになる。
【数10】 ここで、x,y=0,1,2,3;u,v=0,1,
2,...,7;F(u,v)は周波数係数;K
uv(x,y)は、式(4)のIDCTカーネルである。
また、s01(x,y)、s10(x,y)、s11(x,y)は次の
ようになる。
【数11】
【数12】
【数13】
【0065】IDCT成分クラスは、次に出力マトリッ
クスb(x,y)にマッピングされる。一実施形態で
は、このマッピング動作は、図12に示される2次元の
行−列バタフライ演算(butterfly oper
ation)により行われる。図12は、x方向に沿っ
て8×4の偶数のxクラスを生じさせるために、偶数−
偶数クラスおよび偶数−奇数クラスがエレマント単位に
どのように組合わされ得るかを示し、また同様に、奇数
−偶数クラスおよび奇数−奇数クラスがどのように8×
4の奇数xクラスに組合わされ得るかを示している。別
のバタフライ演算は、図示のように、全空間値マトリッ
クスb(x,y)を生じる。
【0066】図12に示されるようなIDCT成分クラ
スを出力b(x,y)へマッピングする前記バタフライ
演算は、幾つかの式の計算により行われる。特に、出力
ブロックの第1四半分部は下式のように計算される。x
=0,1,2,3およびy=0,1,2,3に対して、 b(x,y)=s00(x,y)+s01(x,y)+s10(x,y)+
11(x,y) 同様に、出力ブロックの第2四半分部、第3四半分部お
よび第4四半分部も下式のように計算される。x=0,
1,2,3およびy=0,1,2,3に対して
【数14】
【0067】他の実施の形態において、IDCT成分ク
ラスの出力へのマッピングが他の計算即ち演算を用いて
行われることが判る。例えば、各4×4IDCT成分ク
ラスは、既知の対称性に従って8×8成分クラスへ変換
される。この変換された8×8IDCT成分クラスは共
に加算されて出力マトリックスb(x,y)を形成す
る。
【0068】図13は、例えば、ビデオ・デコーダ74
またはビデオ・エンコーダ76のIDCT計算ユニット
の一実施形態内で実現される機能性の分割を示すブロッ
ク図である。領域的なIDCT計算エンジン902は、
先に述べたように、第1四半分部の係数に対する領域的
なIDCT計算を実現し、直接IDCT計算エンジン9
04は、先に述べたように、残りの領域の非ゼロ係数に
対する直接IDCT計算を実現する。組合わせユニット
906は、エンジン902と904の計算結果に対する
先に述べたようなマッピングおよび組合わせ機能を実施
する。領域的IDCT計算エンジン902、直接IDC
T計算エンジン904および組合わせユニット906の
機能性は、必要に応じてソフトウエアまたはハードウエ
アのいずれかにおいて実現される。
【0069】先に述べたような逆離散コサイン変換法の
採用は、従来技術の方法よりも効率的よく実行すること
ができる。IDCT法は、高性能を得るためにイメージ
とビデオの圧縮解除および圧縮の両システム内に用いる
ことができる。
【0070】他の実施の形態において、第1の領域およ
び残りの領域を画定するDCT係数マトリックスの領域
が図5に示した領域とは異なるようにすることができる
ことが理解されよう。更に、図8および図9に示したも
の以外の演算子が領域的なIDCTアルゴリズムの実行
時に種々の係数に適用することができることが理解され
よう。
【0071】本発明のシステムおよび方法を実施の形態
に関して説明したが、これは本文に述べた特定形態に限
定することを意図するものではなく、特許請求の範囲に
より記載されるように本発明の趣旨と範囲内に含まれ得
るような変更、修正および相等技術を包含することを意
図するものである。
【図面の簡単な説明】
【図1】本発明によりビデオ復号を行い、高速逆離散コ
サイン変換を実行するための機構を含むコンピュータ・
システムを示す図である。
【図2】図1のコンピュータ・システムを示すブロック
図である。
【図3】ビデオ・デコーダを示すブロック図である。
【図4】ビデオ・エンコーダを示すブロック図である。
【図5】8×8DCT係数マトリックスを例示的な2つ
の領域への分割を示す図である。
【図6】DCT係数マトリックスの第1四半分部を示す
図である。
【図7】第1四半分部のDCT係数の偶数−偶数グルー
プと、偶数−奇数グループと、奇数−偶数グループと、
奇数−奇数グループへのグループ化を示す図である。
【図8】偶数の1次元演算子を示す図である。
【図9】奇数の1次元演算子を示す図である。
【図10】偶数−偶数IDCT成分クラスおよびs00
の計算を示す図である。
【図11】偶数−奇数成分クラスs00の計算を示す図
である。
【図12】バタフライ演算を用いるIDCT成分クラス
の空間的マトリックスB(x,y)へのマッピングを示
す図である。
【図13】IDCT計算ユニット内で実現される機能性
の分割を示すブロック図である。
【符号の説明】
60 コンピュータ・システム 62 メディア記憶装置 64 ケーブル 72 フロッピ・ディスク 74 ビデオ・デコーダ 76 ビデオ・エンコーダ 80 プロセッサ 82 チップセット・ロジック 84 システム・メモリ 86 PCIバス 88 ビデオ 90 ハード・ドライブ 102 可変長復号ブロック 104 逆走査ブロック 106 逆量子化ブロック 108 逆DCTブロック 110 動き補償ブロック 112 フレーム・ストア・メモリ 142 ブロック・コンバータ 144 減算器 146 DCTコンバータ 147 ZZブロック 148 量子化器 150 可変長エンコーダ(VLE) 152 先入れ先出し(FIFO)バッファ 154 逆量子化器 155 逆ZZブロック 156 IDCTコンバータ 158 2入力加算器 160 フレーム・ストア・メモリ 162 動き推定/補償ロジック 166 マルチプレクサ 170 イントラSW決定ブロック
───────────────────────────────────────────────────── フロントページの続き (71)出願人 597004720 2550 Garcia Avenue,MS PAL1−521,Mountain V iew,California 94043− 1100,United States of America

Claims (35)

    【特許請求の範囲】
  1. 【請求項1】 ビデオ・システムにおいて逆離散コサイ
    ン変換(IDCT)係数のマトリックスについてIDC
    Tを行う方法において、 離散コサイン変換(DCT)係数の前記マトリックスか
    らDCT係数のサブマトリックスを選択するステップ
    と、 領域的IDCT計算装置において、DCT係数の前記サ
    ブマトリックスの各係数を用いて、領域的逆離散コサイ
    ン変換アルゴリズムを実行して第1領域の結果を得るス
    テップと、 DCT係数の前記マトリックスの残部から非ゼロDCT
    係数のみを選択するステップと、 直接IDCT計算装置において、前記残部における前記
    非ゼロDCT係数の各々に対して逆離散コサイン変換成
    分を計算するステップと、 前記各非ゼロIDCT係数に対して計算された前記逆離
    散コサイン変換成分と前記第1領域の結果とを加算する
    ステップと、を含む方法。
  2. 【請求項2】 メモリから前記IDCT係数の前記マト
    リックスの各DCT係数を検索するステップを更に含む
    請求項1記載の逆離散コサイン変換方法。
  3. 【請求項3】 前記残部が前記サブマトリックスにおけ
    るDCT係数以外の前記マトリックスにおける全てのD
    CT係数を含む請求項1記載の逆離散コサイン変換方
    法。
  4. 【請求項4】 前記第1領域の結果が、偶数−偶数ID
    CT成分クラスと、偶数−奇数IDCT成分クラスと、
    奇数−偶数IDCT成分クラスと、奇数−奇数IDCT
    成分クラスとを含む請求項1記載の逆離散コサイン変換
    方法。
  5. 【請求項5】 前記偶数−偶数IDCT成分クラスが、
    前記サブマトリックス内の偶数行、偶数列DCT係数を
    用いて計算され、前記サブマトリックスの奇数行および
    奇数列のDCT係数とは独立している請求項4記載の逆
    離散コサイン変換方法。
  6. 【請求項6】 前記偶数−奇数IDCT成分クラスが、
    前記サブマトリックス内の偶数行、奇数列のDCT係数
    を用いて計算され、前記サブマトリックスの奇数行およ
    び偶数列のDCT係数とは独立し、前記奇数−偶数DC
    T成分クラスが、前記サブマトリックス内の奇数行、偶
    数列のDCT係数を用いて計算され、前記サブマトリッ
    クスの偶数行および奇数列のDCT係数とは独立し、前
    記奇数−奇数DCT成分クラスが、前記サブマトリック
    ス内の奇数行、奇数列のDCT係数を用いて計算され、
    前記サブマトリックスの偶数行および偶数列のDCT係
    数とは独立している請求項5記載の逆離散コサイン変換
    方法。
  7. 【請求項7】 偶数演算子が前記サブマトリックスの各
    偶数列DCT係数に適用される請求項6記載の逆離散コ
    サイン変換方法。
  8. 【請求項8】 奇数演算子が前記サブマトリックスの各
    奇数列DCT係数に適用される請求項7記載の逆離散コ
    サイン変換方法。
  9. 【請求項9】 前記各奇数列DCT係数が奇数行DCT
    係数である場合、各奇数列DCT係数に適用される前記
    奇数演算子の前記出力が前記奇数演算子に適用される請
    求項8記載の逆離散コサイン変換方法。
  10. 【請求項10】 前記偶数列DCT係数が偶数行DCT
    係数である場合、各偶数列DCT係数に適用される前記
    偶数演算子の前記出力が前記偶数演算子に適用される請
    求項9記載の逆離散コサイン変換方法。
  11. 【請求項11】 前記各奇数列DCT係数が偶数行DC
    T係数である場合、各奇数列DCT係数に適用される前
    記奇数演算子の前記出力が前記偶数演算子に適用される
    請求項10記載の逆離散コサイン変換方法。
  12. 【請求項12】 前記偶数列DCT係数が奇数行DCT
    係数である場合、各偶数列DCT係数に適用される前記
    偶数演算子の前記出力が前記奇数演算子に適用される請
    求項11記載の逆離散コサイン変換方法。
  13. 【請求項13】 偶数演算子が前記サブマトリックスの
    各偶数行DCT係数に適用される請求項6記載の逆離散
    コサイン変換方法。
  14. 【請求項14】 奇数演算子が前記サブマトリックスの
    各奇数行DCT係数に適用される請求項13記載の逆離
    散コサイン変換方法。
  15. 【請求項15】 前記マトリックスにおける前記各非ゼ
    ロDCT係数の行および列に応じて、前記残部における
    前記各非ゼロDCT係数に対して計算された前記逆離散
    コサイン変換成分が、前記偶数−偶数IDCT成分クラ
    ス、前記偶数−奇数IDCT成分クラス、前記奇数−偶
    数IDCT成分クラス、あるいは前記奇数−奇数IDC
    T成分クラスのいずれかに対応する1つに加算される請
    求項5記載の逆離散コサイン変換方法。
  16. 【請求項16】 各非ゼロDCT係数に対して計算され
    た前記逆離散コサイン変換成分を前記対応するIDCT
    成分クラスに加算した後、前記IDCT成分クラスをI
    DCT出力マトリックスにマッピングするステップを更
    に含む請求項15記載の逆離散コサイン変換方法。
  17. 【請求項17】 前記IDCT出力マトリックスに対す
    る前記IDCT成分クラスの前記マッピング・ステップ
    が、前記IDCT成分クラスの各々を加算することによ
    り前記出力マトリックスの第1四半分部をマッピングす
    ることを含む請求項16記載の逆離散コサイン変換方
    法。
  18. 【請求項18】 前記完全IDCT出力マトリックスに
    対する前記IDCT成分クラスの前記マッピング・ステ
    ップが、下式の計算により前記IDCT出力マトリック
    スの第2四半分部、第3四半分部および第4四半分部を
    マッピングするステップを含む請求項17記載の逆離散
    コサイン変換方法。x=0,1,2,3およびy=0,
    1,2,3に対して 【数1】
  19. 【請求項19】 ビデオ・システムに対する逆離散コサ
    イン変換(IDCT)計算装置において、 DCT係数マトリックスからDCT係数のサブマトリッ
    クスを選択し、DCT係数の前記サブマトリックスの各
    係数を用いて領域的逆離散コサイン変換アルゴリズムを
    実行して第1領域の結果を得るように構成された領域I
    DCT計算エンジンと、DCT係数の前記マトリックス
    の残部から非ゼロDCT係数のみを選択し、前記残部に
    おける前記各非ゼロDCT係数に対して逆離散コサイン
    変換成分を計算するように構成された直接IDCT計算
    エンジンと、 前記領域IDCT計算エンジンと前記直接IDCT計算
    エンジンとに接続され、前記各非ゼロIDCT係数に対
    して計算された前記逆離散コサイン変換成分に前記第1
    領域の結果を加算するように構成された、組合わせ装置
    と、を備えたIDCT計算装置。
  20. 【請求項20】 前記残部が、前記サブマトリックスに
    おけるDCT係数以外の前記サブマトリックスにおける
    全てのDCT係数を含む請求項19記載のIDCT計算
    装置。
  21. 【請求項21】 前記第1領域の結果が、偶数−偶数I
    DCT成分クラスと、偶数−奇数IDCT成分クラス
    と、奇数−偶数IDCT成分クラスと、奇数−奇数ID
    CT成分クラスとを含む請求項19記載のIDCT計算
    装置。
  22. 【請求項22】 前記偶数−偶数IDCT成分クラス
    が、前記サブマトリックス内の偶数行、偶数列のDCT
    係数を用いて前記領域IDCT計算エンジンにより計算
    され、前記サブマトリックスの奇数行および奇数列のD
    CT係数とは独立している請求項21記載のIDCT計
    算装置。
  23. 【請求項23】 前記偶数−奇数IDCT成分クラス
    が、前記サブマトリックス内の偶数行、奇数列のDCT
    係数を用いて前記領域IDCT計算エンジンにより計算
    され、前記サブマトリックスの奇数行および偶数列のD
    CT係数とは独立しており、前記奇数−偶数DCT成分
    クラスが、前記サブマトリックス内の奇数行、偶数列の
    DCT係数を用いて前記領域IDCT計算エンジンによ
    り計算され、前記サブマトリックスの偶数行および奇数
    列のDCT係数とは独立しており、前記奇数−奇数DC
    T成分クラスが、前記サブマトリックス内の奇数行、奇
    数列のDCT係数を用いて前記領域IDCT計算エンジ
    ンにより計算され、前記サブマトリックスの偶数行およ
    び偶数列のDCT係数とは独立している請求項22記載
    のIDCT計算装置。
  24. 【請求項24】 前記領域IDCT計算エンジンが、偶
    数演算子を前記サブマトリックスの各偶数列DCT係数
    に適用するように構成される請求項23記載のIDCT
    計算装置。
  25. 【請求項25】 前記領域IDCT計算エンジンが、奇
    数演算子を前記サブマトリックスの各奇数列DCT係数
    に適用するように構成される請求項24記載のIDCT
    計算装置。
  26. 【請求項26】 前記各奇数列DCT係数が奇数行DC
    T係数である場合、各奇数列DCT係数に適用される前
    記奇数演算子の前記出力が前記奇数演算子に適用される
    請求項25記載のIDCT計算装置。
  27. 【請求項27】 前記偶数列DCT係数が偶数行DCT
    係数である場合、各偶数列DCT係数に適用される前記
    偶数演算子の前記出力が前記偶数演算子に適用される請
    求項26記載のIDCT計算装置。
  28. 【請求項28】 前記各奇数列DCT係数が偶数行DC
    T係数である場合、各奇数列DCT係数に適用される前
    記奇数演算子の前記出力が前記偶数演算子に適用される
    請求項27記載のIDCT計算装置。
  29. 【請求項29】 前記偶数列DCT係数が奇数行DCT
    係数である場合、各偶数列DCT係数に適用される前記
    偶数演算子の前記出力が奇数行DCT係数である請求項
    28記載のIDCT計算装置。
  30. 【請求項30】 前記領域IDCT計算エンジンが、偶
    数演算子を前記サブマトリックスの各偶数行DCT係数
    に適用するように構成される請求項23記載のIDCT
    計算装置。
  31. 【請求項31】 前記領域IDCT計算エンジンが、奇
    数演算子を前記サブマトリックスの各奇数行DCT係数
    に適用するように構成される請求項30記載のIDCT
    計算装置。
  32. 【請求項32】 前記マトリックスにおける前記各非ゼ
    ロDCT係数の行および列に従って、前記組合わせ装置
    が、前記偶数−偶数IDCT成分クラス、前記偶数−奇
    数IDCT成分クラス、前記奇数−偶数IDCT成分ク
    ラス、あるいは前記奇数−奇数IDCT成分クラスのい
    ずれかの対応する1つに、前記残部における前記各非ゼ
    ロDCT係数に対して計算された前記逆離散コサイン変
    換成分を加算するように構成される請求項22記載のI
    DCT計算装置。
  33. 【請求項33】 各非ゼロDCT係数に対して計算され
    た前記逆離散コサイン変換成分を前記対応するIDCT
    成分クラスに加算した後、前記IDCT成分クラスをI
    DCT出力マトリックスにマッピングする請求項32記
    載のIDCT計算装置。
  34. 【請求項34】 前記IDCT成分クラスの各々を加算
    することにより、前記組合わせ装置が更に前記出力マト
    リックスの第1四半分部をマッピングするよう構成され
    る請求項33記載のIDCT計算装置。
  35. 【請求項35】 前記組合わせ装置が、更に、下式の計
    算により、前記IDCT出力マトリックスの第2四半分
    部と第3四半分部と第4四半分部をマッピングするよう
    構成される請求項34記載のIDCT計算装置。x=
    0,1,2,3およびy=0,1,2,3に対して 【数2】
JP10006712A 1997-01-15 1998-01-16 高速逆離散コサイン変換方法およびシステム Pending JPH10322699A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/784,739 US5883823A (en) 1997-01-15 1997-01-15 System and method of a fast inverse discrete cosine transform and video compression/decompression systems employing the same
US784739 1997-01-15

Publications (1)

Publication Number Publication Date
JPH10322699A true JPH10322699A (ja) 1998-12-04

Family

ID=25133383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10006712A Pending JPH10322699A (ja) 1997-01-15 1998-01-16 高速逆離散コサイン変換方法およびシステム

Country Status (3)

Country Link
US (1) US5883823A (ja)
EP (1) EP0854653A3 (ja)
JP (1) JPH10322699A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100584550B1 (ko) * 2002-11-20 2006-05-30 삼성전자주식회사 고속 역 이산 여현 변환 방법 및 장치

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421695B1 (en) * 1995-10-28 2002-07-16 Lg Electronics Inc. Apparatus for implementing inverse discrete cosine transform in digital image processing system
US6614845B1 (en) * 1996-12-24 2003-09-02 Verizon Laboratories Inc. Method and apparatus for differential macroblock coding for intra-frame data in video conferencing systems
US6400680B1 (en) * 1997-12-30 2002-06-04 Koninklijke Philips Electronics N.V. Data transformation of the inverse-fourier type
US6081624A (en) * 1998-06-01 2000-06-27 Autodesk, Inc. Spatial index compression through spatial subdivision encoding
US6244514B1 (en) * 1998-04-20 2001-06-12 Ayao Wada Smart card for storage and retrieval of digitally compressed color images
US6128047A (en) * 1998-05-20 2000-10-03 Sony Corporation Motion estimation process and system using sparse search block-matching and integral projection
US7062098B1 (en) 2000-05-12 2006-06-13 International Business Machines Corporation Method and apparatus for the scaling down of data
US6970179B1 (en) 2000-05-12 2005-11-29 International Business Machines Corporation Method and apparatus for the scaling up of data
US6534768B1 (en) * 2000-10-30 2003-03-18 Euro-Oeltique, S.A. Hemispherical detector
US7020672B2 (en) * 2001-03-30 2006-03-28 Koninklijke Philips Electronics, N.V. Reduced complexity IDCT decoding with graceful degradation
US7694224B2 (en) * 2001-05-31 2010-04-06 International Business Machines Corporation Location predicative restoration of compressed images stored on a hard disk drive with soft and hard errors
US6882685B2 (en) 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
US6804502B2 (en) * 2001-10-10 2004-10-12 Peregrine Semiconductor Corporation Switch circuit and method of switching radio frequency signals
US7460993B2 (en) 2001-12-14 2008-12-02 Microsoft Corporation Adaptive window-size selection in transform coding
US7242713B2 (en) 2002-05-02 2007-07-10 Microsoft Corporation 2-D transforms for image and video coding
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
TWI224931B (en) * 2003-07-04 2004-12-01 Mediatek Inc Scalable system for inverse discrete cosine transform and method thereof
TWI257054B (en) * 2003-09-03 2006-06-21 Mediatek Inc Rapid and low cost of inverse discrete cosine transform system and method thereof
US7487193B2 (en) 2004-05-14 2009-02-03 Microsoft Corporation Fast video codec transform implementations
US7587093B2 (en) * 2004-07-07 2009-09-08 Mediatek Inc. Method and apparatus for implementing DCT/IDCT based video/image processing
US20060080375A1 (en) * 2004-10-12 2006-04-13 Lee Kun-Bin Method and apparatus for inverse discrete cosine transform implementation
US7546240B2 (en) 2005-07-15 2009-06-09 Microsoft Corporation Coding with improved time resolution for selected segments via adaptive block transformation of a group of samples from a subband decomposition
KR100776195B1 (ko) * 2005-08-09 2007-11-16 (주)씨앤에스 테크놀로지 빠른 cavlc를 위한 h.264 디코딩 방법
US7689052B2 (en) 2005-10-07 2010-03-30 Microsoft Corporation Multimedia signal processing using fixed-point approximations of linear transforms
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
US8593469B2 (en) * 2006-03-29 2013-11-26 Nvidia Corporation Method and circuit for efficient caching of reference video data
US8724702B1 (en) 2006-03-29 2014-05-13 Nvidia Corporation Methods and systems for motion estimation used in video coding
US7884742B2 (en) * 2006-06-08 2011-02-08 Nvidia Corporation System and method for efficient compression of digital data
KR20080008137A (ko) * 2006-07-19 2008-01-23 삼성전자주식회사 영상 복원 장치 및 방법
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
US8542726B2 (en) * 2006-10-17 2013-09-24 Microsoft Corporation Directional and motion-compensated discrete cosine transformation
US8942289B2 (en) 2007-02-21 2015-01-27 Microsoft Corporation Computational complexity and precision control in transform-based digital media codec
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
US8666181B2 (en) * 2008-12-10 2014-03-04 Nvidia Corporation Adaptive multiple engine image motion detection system and method
US9600855B2 (en) * 2009-07-11 2017-03-21 Hewlett-Packard Development Company, L.P. View projection
US20110158310A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Decoding data using lookup tables
KR20140098114A (ko) * 2011-11-07 2014-08-07 브이아이디 스케일, 인크. 홀수-짝수 정수 변환 백그라운드를 사용하는 비디오 및 데이터 처리
US9002122B2 (en) * 2012-07-19 2015-04-07 Omnivision Technologies, Inc. System and method for improving decoder performance using quantization control
KR102250088B1 (ko) 2013-10-24 2021-05-10 삼성전자주식회사 비디오 스트림을 복호화하는 방법 및 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0443114A3 (en) * 1990-02-23 1993-12-15 Ibm Methods and apparatus for image-data decompression
US5216516A (en) * 1990-04-27 1993-06-01 Ricoh Company, Inc. Orthogonal transformation arithmetic unit
SG45281A1 (en) * 1992-06-26 1998-01-16 Discovision Ass Method and arrangement for transformation of signals from a frequency to a time domain
US5371611A (en) * 1992-08-26 1994-12-06 Kokusai Denshin Denwa Kabushiki Kaisha Method for and system of decoding compressed continuous-tone digital image data
JPH07262175A (ja) * 1994-03-18 1995-10-13 Fujitsu Ltd 関数変換演算装置
US5555465A (en) * 1994-05-28 1996-09-10 Sony Corporation Digital signal processing apparatus and method for processing impulse and flat components separately

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100584550B1 (ko) * 2002-11-20 2006-05-30 삼성전자주식회사 고속 역 이산 여현 변환 방법 및 장치

Also Published As

Publication number Publication date
US5883823A (en) 1999-03-16
EP0854653A2 (en) 1998-07-22
EP0854653A3 (en) 2001-07-18

Similar Documents

Publication Publication Date Title
US5883823A (en) System and method of a fast inverse discrete cosine transform and video compression/decompression systems employing the same
US6694342B1 (en) Scaled forward and inverse discrete cosine transform and video compression/decompression systems employing the same
JP4082525B2 (ja) Dct領域で効率性を改善した動き予測を実行するシステムと方法
US5973742A (en) System and method for performing motion estimation with reduced memory loading latency
JP3966524B2 (ja) 改善された効率のためにスキュードタイル記憶フォーマットを用いる動き補償を行うシステム及び方法
US5781239A (en) System and method for performing an optimized inverse discrete cosine transform with improved efficiency
US7593464B2 (en) Information processing apparatus and method, and program storage medium
EP1138152B8 (en) Method and apparatus for performing hierarchical motion estimation using nonlinear pyramid
US6301304B1 (en) Architecture and method for inverse quantization of discrete cosine transform coefficients in MPEG decoders
Westwater et al. Real-time video compression: techniques and algorithms
US5864637A (en) Method and apparatus for improved video decompression by selective reduction of spatial resolution
JP4319352B2 (ja) スケーリング圧縮画像
JP3417443B2 (ja) Bピクチャ用動き予測装置及び方法
EP1307054A2 (en) Video decoder including a scale-down function for scaling down an image and method thereof
KR20000077135A (ko) 고선명으로 코드화된 비디오 신호로부터 상승 디코드된감소된 해상도의 비디오 신호를 유도하기 위한 장치 및 방법
US6163576A (en) Video encoder having reduced memory bandwidth requirements
JPH08289294A (ja) 適応量子化による動画像圧縮システム
KR100246169B1 (ko) 다위상 fir 수평 필터를 포함하는 비디오 디코더
JP2000510311A (ja) デジタル化画像の符号化および復号化のための方法および装置
US6545727B1 (en) Method for recognizing a progressive or an interlaced content in a video sequence
US7221708B1 (en) Apparatus and method for motion compensation
JPH07152779A (ja) 動画インデックス検出処理方法及び動画インデックス検出処理機能を持つ動画処理装置
US6490323B1 (en) Fast compressed domain processing using orthogonality
Mastriani Supercompression for full-hd and 4k-3d (8k) digital tv systems
CN1126410A (zh) 数字视频信号的并行解码装置