JPH07146853A - 逆離散余弦変換プロセッサ - Google Patents

逆離散余弦変換プロセッサ

Info

Publication number
JPH07146853A
JPH07146853A JP6104737A JP10473794A JPH07146853A JP H07146853 A JPH07146853 A JP H07146853A JP 6104737 A JP6104737 A JP 6104737A JP 10473794 A JP10473794 A JP 10473794A JP H07146853 A JPH07146853 A JP H07146853A
Authority
JP
Japan
Prior art keywords
dot product
coefficients
array
matrix
elements
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
JP6104737A
Other languages
English (en)
Inventor
Christopher L Hoogenboom
クリストファー・エル・フーゲンブーム
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.)
GI Corp
Original Assignee
GI Corp
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 GI Corp filed Critical GI Corp
Publication of JPH07146853A publication Critical patent/JPH07146853A/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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Discrete Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

(57)【要約】 【目的】 方法及び装置(10)が、離散余弦変換(D
CT)係数の行列を逆変換するために提供される。 【構成】 DCT係数は1回で少なくとも2ビットを処
理し、DCT核行列を有するそのベクトル内積を得る。
ベクトル内積の行列が転置(112)され、内積要素の
転置行列を得る。この転置行列の内積要素は1回で少な
くとも2ビットが処理され、DCT核行列を有するその
ベクトル内積を得る。その合成内積は正確なオーダーに
インターリーブされ、連続する出力レジスタ(118)
で緩衝される。さらに、効率は、出力レジスタに先行し
てIDCTフローグラフのポスト・アド・ステージ(1
04)を実行することによって達成される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、デジタルビデオ信号の
通信に関し、特に変換係数を復元するために逆離散余弦
(inverse discrete cosine)(IDCT)プロセッサを
実行するための方法及び装置に関する。
【0002】
【従来の技術及び問題点】テレビ信号は在来的に特定の
国で採用される種々の基準に従ってアナログ形状で送信
される。例えば、アメリカ合衆国はナショナル・テレビ
ジョン・システム・コミッティー(“NTSC”)方式
の基準を採用してきた。ヨーロッパのほとんどの国々は
PAL(Phase Alternating Line)方式或いはSECA
M(Sequencial Color And Memory)方式の基準の何れか
を採用してきた。
【0003】テレビ信号のデジタル送信はアナログ技術
よりもはるかに高品質のビデオ及びオーディオサービス
を提供する。デジタル送信計画は、ケーブルテレビ系列
会社及び/又は直接に家庭用衛星放送テレビ受信器に人
工衛星によって送られる信号に特に利点がある。デジタ
ルテレビ送信器及び受信器システムが、丁度デジタル式
コンパクトディスクがオーディオ産業においてアナログ
式レコードプレーヤー用レコードに広く取って代わって
きたように、現存するアナログシステムに取って代わる
ことが期待されている。
【0004】多量のデジタルデータがいかなるデジタル
テレビシステムでも送信されなければならない。これは
高精細度テレビジョン(“HDTV")が提供されるとこ
ろにおいて特に真実である。デジタルテレビシステムに
おいて、加入者がビデオ、オーディオ、及びデータを加
入者に提供する受信器/整序装置(descrambler)を介し
てデジタルデータの流れを受信する。利用可能な無線周
波スペクトルを最も効率的に使用するために、デジタル
テレビ信号を圧縮して送信されるべきデータ量を最小に
する。
【0005】テレビ信号のビデオ部分は、移動画像を共
に提供するビデオ“フレーム(frame)”の列から成
る。デジタルテレビシステムにおいて、ビデオフレーム
の各々のライン(line)は、“画素”として参照されるデ
ジタルデータの列によって画成される。多量のデータが
テレビ信号のビデオフレームを画成するのに要される。
例えば、7.4メガビットのデータがNTSC方式の解
像において1ビデオフレームを提供するのに要される。
これは原色の赤、緑、及び青の各々の8ビットの輝度値
を使用した480ライン表示による640画素を仮定し
ている。高精細度テレビジョンはビデオフレームの各々
を提供するために実質的により多量のデータを要する。
このデータ量を得るために、特にHDTVの応用におい
て、データは圧縮されなければならない。
【0006】ビデオ圧縮技術は在来の通信チャンネルで
デジタルビデオ信号の十分な送信が可能である。このよ
うな技術は、ビデオ信号で重要な情報のより一層効果的
な表示を導くために、隣接する画素間の相関で利点があ
るように圧縮アルゴリズムを使用する。
【0007】最も効果的で通常使用される類いのビデオ
圧縮用アルゴリズムの1つは、“変換コーダ(transfor
m coder)”として参照される。このようなシステムにお
いて、ビデオのブロックは線形であり、像輝度領域と顕
著に異なる性質を有する新しい領域に断続的に変換され
る。このブロックは、離散余弦変換(DCT)の場合、
重なり合うことがなく、又、重ね直角変換(lapped ort
hogonal transform)(LOT)の場合、重なり合う。D
CTを使用するシステムがチェン及びプラット著、“シ
ーン・アダプティブ・コーダ(Scene Adaptive Code
r)”IEEE会報通信編、第COM−32巻、第3
号、1984年3月、及び1988年12月13日に発
行されたリオ(Liou)らの米国特許第4791598
号、名称“2次元離散余弦変換プロセッサ”に説明され
ている。LOTを使用するシステムは、マルバー及びス
タリン著、“LOT:ブロック効果無しの変換コード化
(The LOT:Transform Coding Without Blocking Effect
s)”、IEEE会報音響、音、及び信号処理編、第3
7巻、第3号、1989年4月に説明されている。
【0008】ビデオ変換は像輝度(画素)のサンプル間
に存在する相関を減少させるために使用される。よっ
て、これら変換はエネルギーを変換係数の相対的に小さ
い数に集中させる。最も一般的な変換は人間視覚システ
ムのモデルに基づく係数の量子化を用意に許容する性質
を有する。例えば、DCTは特定の周波数スペクトル帯
のエネルギーを代表する振幅を有する係数を作り出す。
したがって、人間資格は高周波数又は細かい領域よりも
低周波数領域の像において誤差が一層臨界的である。一
般に、高周波数係数は常に低周波数よりも粗く量子化さ
れる。
【0009】DCTの出力は、2次元周波数領域でエネ
ルギーを表す係数の行列である。エネルギーの大半は行
列の低周波数領域である左上角に集中される。これら係
数が左上角から始めてジグザグに走査される場合、その
結果的な列は特に列の終わりに向かって長く続くゼロを
含むであろう。DCT圧縮アルゴリズムの主目的はゼロ
を生成し、効果的なコード化のためにそれらを共に集群
させることである。
【0010】非ゼロ係数の減少した数及び低周波数係数
の粗い量子化は像の圧縮性を大きく改良する。簡単な統
計学的コード化技術が残余情報を効果的に表示するため
に使用される。これは、残された係数の振幅を運ぶた
め、可変長さコードワードの使用を通常含む。最も周期
的に起こる小さい振幅は指定短コードワードである。大
きい振幅は指定長コードワードである。フフマン(Huff
man)コード化及び演算コード化は、2つのよく使用され
る統計学的コード化の方法である。フフマンコード化
は、上記のチェン及びプラットのシステムで使用され
る。演算コード化はラングドン著、“演算コード化入
門”、IBM研究開発用ジャーナル、第28巻、第2
号、1984年に説明される。
【0011】送信された係数のストリーム(stream)か
らのビデオ信号を再構築するために、信号をエンコード
するのに使用された変換(つまり、DCT)の逆を実行
することが必要である。典型的に、変換係数は、8x8
又は16x16のブロックのような、係数のnxnのブ
ロックで伝えられる。実用的なシステムをつくるため
に、大規模集積(VLSI)設計のような、集積回路チ
ップでIDCTプロセッサを実行することが利点であ
る。発明的に、VLSI設計はIDCTを迅速且つ正確
に最小のハードウェアを有して計算するであろう。実際
に、IDCT回路の正確さと速さとが上がるとVLSI
ハードウェアの大きさは増加する。よって、トレードオ
フは十分な速さと正確さを提供する小型VLSI設計を
与えるようにしなければならない。
【0012】前に記した米国特許第4791598号
は、ビデオ帯幅又は像圧縮システムの一部として使用さ
れるDCTプロセッサを説明している。第1の1次元D
CTプロセッサが分散形演算及び周波数のデシメーショ
ン(decimation)を使用することによってベクトル内積
の行又は列全体を連立的に計算し、必要なメモリ容量を
減少させる。部分和がメモリサイズをさらに減少させる
ために使用される。第1のプロセッサからの1次元変換
された行列は互換メモリに貯蔵され、貯蔵された行列の
転置は入力データ行列の所望の2次元DCTを計算する
第2の1次元DCTプロセッサの同様の回路に引加され
る。DCTプロセッサは単一チップに与えられる。
【0013】米国特許第4791598号に開示された
DCTプロセッサの不利点は2つの別々の1次元DCT
プロセッサが必要であることである。この特許に開示さ
れたDCTプロセッサはまた、1回に1ビットだけ係数
データを処理し、実時間処理が困難である。
【0014】実時間動作を提供しVLSIで直接的に実
施される逆離散余弦変換プロセッサ(inverse discrete
cosine transform processor)を提供することが利点で
ありえる。また、係数の各々からの複数のビットがクロ
ックサイクル(clock cycle)中に処理されてデータのス
ループットを容易にし適当なハードウェアサイズで実時
間動作を可能にするところのIDCT実行を提供するこ
とが利点である。更に、ビット直列演算を使用するID
CTプロセッサを実行することが利点である。
【0015】本発明は上述の利点を有するIDCTプロ
セッサを提供する。
【0016】
【発明の概要】本発明に従って、逆離散余弦変換プロセ
ッサがDCT係数のブロックからの画素データの復元に
使用するために提供される。DCT係数のブロックの各
々はN係数のN配列からなるNxNの係数を含む。第1
の手段はDCT係数のブロックでN配列の各々を連続的
に処理する。第1処理手段は、(i)処理される配列に含
まれるN係数の各々から少なくとも2ビットを組み合わ
せることによってアドレスを形成するためのクロックサ
イクルに応答する手段であって、連続するアドレスの第
1の流れ(stream)が連続するクロックサイクル中に作
られるところの手段と、(ii)DCT核行列(DCT kernel
matrix)及び処理される前記配列に含まれるN係数の各
々の間の連続する部分的内積を出力するためのアドレス
の第1の流れに応答する手段と、(iii)連続する部分的
内積を累積し組み合わせ、処理される前記配列のN係数
の各々の完全な内積を形成する手段とを含み、前記ブロ
ックの前記完全な内積が前記ブロックに含まれるNxN
係数に一致する内積要素のNxN行列を画成する。手段
が内積要素のNxN行列を転置させるために与えられ、
N要素のN配列を有する転置行列を提供する。第2の手
段が転置行列で内積要素のN配列の各々を連続して処理
する。第2の処理手段は、(i)処理される前記転置され
た行列の配列に含まれるN要素の各々から少なくとも2
ビットを組み合わせることによってアドレスを形成する
ためのクロックサイクルに応答する手段と、(ii)DCT
核行列及び処理される転置された行列の前記配列に含ま
れるN要素の各々の間の連続する部分的内積を出力する
ためのアドレスの第2の流れに応答する手段と、(iii)
処理される転置された行列の配列の要素の各々の前記連
続する部分的内積を累積し組み合わせ、要素の各々の完
全な内積を形成する手段とを含み、前記転置された行列
のN配列全部の前記完全な内積がDCT係数のブロック
に含まれるNxN係数に一致するNxN逆変換要素の前
記ブロックを画成する。
【0017】第1及び第2の処理手段はインターイーブ
した基底(interleaved basis)の転置された内積要素及
びDCT係数の配列を処理できる。このようなアレンジ
メントにおいて、DCT係数の配列の処理は転置された
内積要素の配列の処理に従い、転置された内積要素の配
列の処理は前記ブロックからのDCT係数の次の連続す
る配列の処理に従う。DCT係数の配列の各々の処理か
らの内積要素は互換メモリに書き込まれる。DCT係数
の代替ブロックはそこから互換メモリの行又は列に導か
れた内積要素を書き込むことによって処理される。よっ
て、DCT係数の第1のブロックの処理された配列は行
基底(row basis)によって行で互換メモリに書き込ま
れ、列基底(column basis)によって列でそこから読み
出される場合、DCT係数の次の連続するブロックが列
基底によって列で互換メモリに書き込まれ行基底によっ
て行でそこから読み出された配列の各々の内積要素を有
する。互換メモリの配列から導かれた完全な内積は互換
メモリに再度書き込まれず、それらはIDCTプロセッ
サから出力される。
【0018】第1の実施例において、第1及び第2の処
理手段は単一の内積エンジンを介する交互の経路を使用
して実行される。手段が内積エンジンを介する第1の経
路中にDCT係数のブロックからビットを入力するため
に与えられ、内積要素のNxN行列の配列を作る。手段
が内積エンジンを介する第2の経路中に転置された行列
の行又は列からビットを入力するために与えられ、Nx
N及び逆変換要素のブロックの配列を作る。内積エンジ
ンは、第1経路中にDCT係数のブロックから係数を受
け、第2の経路中に転置された行列から内積要素を受け
るための送りレジスタ手段から成ることができる。送り
レジスタ手段は連続するアドレスの前記流れを出力する
ためのクロックサイクルに応答する。アドレスに応答す
る参照用テーブル手段が連続する部分的内積を累積手段
(accumulating means)へ出力する。
【0019】送りレジスタ手段は、第1の経路中に偶数
係数を受け、第2の経路中で偶数内積要素を受けるため
の送りレジスタの第1のバンク(bank)から成ることが
できる。送りレジスタの第2のバンクは、前記第1の経
路中に奇数係数を受け、第2の経路中に奇数内積要素を
受けるために提供される。参照用テーブル手段は、送り
レジスタの第1のバンクによって作られたアドレス応答
する第1の参照用テーブルと、送りレジスタの第2のバ
ンクによって作られたアドレスに応答する第2の参照用
テーブルとから成る。このような実施例において、累積
及び組み合わせ手段は、第1の参照用テーブルに従う第
1のアキュームレータの集合(set)と、第2の参照用テ
ーブルに従う第2のアキュームレータの集合とから成
る。アキュームレータの集合の各々は選択したアキュー
ムレータを交互に加減するための手段に従い、IDCT
フローグラフの後、ポスト・アド・ステージ(post-add
stage)を実行する。
【0020】複数の出力レジスタが、選択されたアキュ
ームレータ出力を交互に加減するための手段に従って与
えられる。出力レジスタは偶数及び奇数の逆変換要素を
インターリーブ(interleave)し緩衝(buffer)して、所望
の出力比で所望のオーダーの逆変換要素を提供する。
【0021】上述の実施例において、送りレジスタの第
1のバンクはN/2対のレジスタから成り、各々の対が
2ビットのNビットアドレス毎クロックサイクルを与え
る。送りレジスタの第2のバンクはN/2対のレジスタ
から成り、対の各々が2ビットのNビットアドレス毎ク
ロックサイクルを与える。第1及び第2のバンクのレジ
スタの対の各々はDCT係数及び内積要素の偶数ビット
を貯蔵するための第1のレジスタと、DCT係数及び内
積要素の奇数ビットを貯蔵するための第2のレジスタと
から成る。示した実施例において、DCT係数及び内積
要素の各々はMビットワードで処理される。第1のバン
クの送りレジスタの対はM−2の長さから開始して2の
差で連続して減少する長さを有する。第2のバンクの送
りレジスタの対はM−2の長さから開始して2の差で連
続して減少する長さを有する。
【0022】IDCTプロセッサは、2の補数演算(two
s complement arithmetic)を使用する種々の完全な内積
を形成することができる。2の補数演算を使用すると
き、全部、しかし複数の連続する部分的内積の最後のも
のを加えて総和を形成する。最後の部分的内積は総和か
ら減じられ、完全な内積を与える。この最終的な引き算
は参照用テーブルに提供されることができる。
【0023】変形的実施例において、2つの別々の内積
エンジンが直列に設けられる。第1の内積エンジンがD
CT係数のブロックからビットを受けて、内積要素のN
xN行列の配列を作る。第2の処理手段は転置された行
列からビットを受けるための第2の内積エンジンから成
り、NxN逆変換要素のブロックの配列を作る。2つの
別々の内積エンジンの各々が、転置された行列の内積要
素が内積エンジンにフィードバックされないことを除い
て、上述の単一の内積エンジンの実施例と実質的に識別
的(identical)である。実際、第1の内積エンジンはオ
リジナルDCT係数を処理し、第2の内積エンジンは転
置後に第1の内積エンジンによって出力された内積要素
の配列を処理する。
【0024】どちらかの実施例において、アドレスの前
記第1の流れに応答する手段とアドレスの前記第2の流
れに応答する手段とは前記流れのアドレスを複数Mの短
いアドレスに分けるための手段から成ることができる。
個々の短いアドレスのビット全部が同一の重み(weigh
t)を有する。参照用テーブル手段は、関連される短いア
ドレスに含まれるビットの重みに従って基準化(scale)
される参照値を与える。手段が基準化した参照値を加算
するために提供され、連続する部分的内積を与える。
【0025】アドレスの前記第1の流れに応答する手段
と、アドレスの前記第2の流れに応答する前記手段とは
更に、基準化した参照値に応答可能な短いアドレスが符
号(sign)ビットから成るとき、前記加算する手段で基
準化した参照値を使用する前に、基準化した参照値を取
り消すための符号(sign)ビット識別子に応答する手段
から成ることができる。
【0026】本発明の方法は、M係数のN配列を有する
離散余弦変換係数の行列を逆変換する。変換係数の配列
はDCT行列から得られる。第1の連続するアドレスは
配列の変換係数の各々の少なくとも2つのビットから形
成される。連続する第1の出力は第1の連続するアドレ
スに応答して与えられる。第1の出力は、DCT核行列
(DCT kernel matrix)及び配列に含まれる変換係数の各
々の間の部分的内積から成る。連続する第1の出力は、
配列に含まれる変換係数の各々の完全な内積を形成する
ために累積され組み合わされる。前述の工程はDCT行
列で残余配列(remaining array)の各々のために反復さ
れ、NxMの完全な内積の行列を得る。完全な内積の行
列は転置され、M内積要素のN配列を有する転置された
行列を得る。転置された行列からの内積要素の配列の各
々において、(i)第2の連続するアドレスが配列で内積
要素の各々の少なくとも2つのビットから形成され、(i
i)連続する第2の出力は第2の連続するアドレスに応答
して与えられ、この第2の出力はDCT核行列と配列に
含まれる内積要素の各々との間の部分的内積から成り、
及び(iii)連続する第2の出力は累積され組み合わさ
れ、配列に含まれる内積要素の各々の完全な内積を形成
する。転置行列のN配列の内積はDCT係数のブロック
に含まれるNxM係数に一致するNxM逆変換要素のブ
ロックを画成する。DCT行列からの変換係数の配列
と、転置行列からの内積要素の配列との処理はインター
リーブした基底(interleaved basis)で起こる。
【0027】離散余弦変換係数の行列を逆変換するため
の一般的方法において、DCT係数は1回で(at a tim
e)少なくとも2ビットを処理しDCT核行列を有してベ
クトル内積を得る。ベクトル内積の行列が転置され内積
要素の転置行列を得る。転置行列の内積要素は1回で少
なくとも2ビットを処理し、DCT核行列を有してベク
トル内積を有する。合成(resultant)ベクトル内積はオ
リジナルDCT行列の逆変換要素である。
【0027】
【実施例】本発明はIDCTプロセッサ、及びDCT係
数で逆離散余弦変換を実行するための方法を提供する。
図示の特定的な実施例において、DCT係数の8x8ブ
ロックが処理される。本発明が、いかなる大きさ、例え
ば16x16ブロックや32x32ブロックのDCTブ
ロックにも適用可能であることが理解できるであろう。
【0028】逆離散余弦変換は以下(数1)に示すよう
に数学的に表される。
【0029】
【数1】 F(u、v)はDCT配列の個々の要素である。
【0030】F(x、y)はIDCTから得られる画素
行列であり、C(w)は以下(数2)のように定義され
る。
【0031】
【数2】 上記の方程式は以下(数3)のように書き直すことがで
きる。
【0032】
【数3】 ここでk(u、v)は以下(数4)のように定義され
る。
【0033】
【数4】 方程式は更に、以下(数5)のように行列表示を使用し
て書き換えることができ、ここでfは画素を表し、Fは
DCT配列の係数を表し、kはDCT核行列(kernel ma
trix)を表す。
【0034】
【数5】 DCT核行列は一定であり、DCTブロックの逆変換を
提供するために必要な変換重みを与える。本発明で使用
されるDCT核の例は以下(表1)のとおりである。見
てのとおり、DCT核は高度に冗長(redundant)であ
る。事実、第1番目の4列は、第2番目の4列の奇数番
目の係数が反対符号であることを除き、第2番目の4列
と鏡像である。例えば、列0は列7と、1、3、5及び
7行の係数が反対符号を有することを除いて同一であ
る。このことから、DCT核を貯蔵するリードオンリー
メモリ(ROM)が核の半分を貯蔵することのみによっ
て大きさが減少される。符号が核のその他の半分におい
て異なるところの場所は上述のとおり知られている。こ
の情報はポスト・アド・ステージ(post-add stage)
(以下で説明する)を制御するために使用され、ROM
に貯蔵される半分のDCT核のみを使用して全DCT実
行が可能である。
【0035】
【表1】 上記のIDCT方程式の行列表示によって指示されるよ
うに、IDCTはベクトル内積を使用して解法される。
定数DCT核行列と可変係数を乗算するベクトル内積エ
ンジンは送りレジスタ、ROM、加算器、及びアキュー
ムレータ/シフト器から成る直列の掛け算器を使用して
実行される。シフト器は従来技術で周知のとおり、2つ
の回路による分割として実行される。
【0036】図1はIDCTプロセッサへの入力及び出
力を示す。例示にすぎない図示の実施例において、10
ビット係数データがCOEFF入力バスを介して入力さ
れる。COEFF_CLK及びCOFSYNC信号はC
OEFFデータバスからのデータの読み込みを同期させ
るために使用される。IDCTプロセッサ10は係数デ
ータにおいて逆離散余弦変換を行い、9ビットPIXデ
ータバスの画素としてその結果を出力する。PIXSY
NCは画素の8x8ブロックの第1の画素に同期させる
ために使用される。パイプラインディレイ(pipeline d
elay)(すなわち、109COEFF_CLKサイク
ル)後、IDCTは、プロセッサに入力される係数ごと
の1画素を出力する。2XCOEFF_CLK信号(2
倍の係数クロック比)がまた本発明に従ってIDCTプ
ロセッサ10に入力されて係数データの2ビットをスル
ープットを減少させずに1回で処理されることが可能で
ある。
【0037】IDCTプロセッサ10は、入ってくる係
数データが、図3に示すとおり、従来のジグザグ走査さ
れることを仮定している。ジグザグ係数走査はDCT係
数のブロックの性質の利点を得るために使用され、エネ
ルギーが左上角に集中される。よって、図3に示すとお
り、DCT係数22の8x8ブロック20は左上の係数
から始まるジグザグで走査される。この技術の利点はフ
フマン(Huffman)コード化の使用を容易にすることであ
り、従来技術で周知のフフマンアルゴリズムから最良の
圧縮を与える。DCTブロックの右下角の係数はゼロで
あることがより期待できるため、ジグザグ走査は、最大
の絶対値で始まり、付加的圧縮のために連続的にエンコ
ードされるゼロの数列で終了する係数の数列になること
の可能性が最も高い。このような利点を達成するための
ジグザグ走査の使用は周知である。
【0038】図2はビット直列演算を使用するベクトル
内積の生成を示す。図2の簡単な例は各々の長さが4ビ
ットの2つの成分のみを有するベクトルを処理する。第
1の成分14はビット1110から成る。第2の成分1
4はビット0011から成る。ベクトル成分12と14
との間の内積を計算するために、2つの乗算及び加算を
提供するために通常必要である。例えば、図2の可変配
列が12及び14で示されるように、ベクトルx={1
110、0011}、定数k={0100、1111}
から成り、その内積は、x・k=(1110x0100
+0011x1111)=1001011=−11であ
る。
【0039】ROM30は、kベクトル成分が加算され
る可能な方法の全てを貯蔵する。その解法は、ベクトル
部分12、14の各々の2つの最小有効ビットによって
アドレスされる。2つの最小有効ビットが使用された
後、それらが回避され、次の2つの最小有効ビットが次
のROMアドレスを形成する。よって、図2に与えられ
る例において、ROMは最初に“01”でアドレスされ
る。次ぎに、ROMは“11”でアドレスされる。した
がって、ROMは“10”でアドレスされる。最後に、
ROMは配列部分12、14からそれぞれ最終の“1
0”によってアドレスされる。ROMがアドレスされる
たびに、適当な部分的内積を加算器/引き算器16を介
してアキュームレータ/シフト器18に出力する。アキ
ュームレータ18のシフト器の目的は、実行される加算
のために中間結果を2で割ることである。送りレジスタ
外のベクトルxのビットの各々が先行ビットとして2倍
の重みを有する。部分的内積の全ては、配列部分12、
14からの2ビットアドレス(配列部分12と配列部分
14とからの各々の1ビット)が使用されてしまうま
で、アキュームレータ18で加算され続ける。1回でR
OMの2ビットをアドレスしてビット直列乗算をするこ
とによって、内積全体は4クロックサイクルで計算され
る。本発明は、ROMUをアドレスするためにベクトル
成分の各々から複数のビットを使用することによって必
要なクロックサイクルの数を減少させる。
【0040】負の数が、2の補数フォーマットに表され
ている。定数ベクトルkの成分の全てが負であり、RO
M参照用テーブルの負の値になる場合、それらは2の補
数の負の数としてROMに単に貯蔵される。可変ベクト
ルxの成分の全てが負である場合、通常のシフト後に、
ROM外の値がアキュームレータから引き算され、ベク
トル成分の符号ビット(すなわち、配列部分12、14
を含む送りレジスタの回避される最後のビット)がRO
Mをアドレスする。よって、全ての成分が正である場
合、符号ビット全部はゼロであり、結果が変わらないア
キュームレータからのゼロの引き算になる。また、ベク
トル成分の全てが負である場合、カキュームレータの結
果は引き算によって調節される。これは、以下(表2)
に示される配列12、14の、図2で起こる動作の概要
でわかる。この例でわかるように、ROMから回収され
た最終の値は累積したもの全部から引かれ、最終の内積
を得る。この引き算は、最終の反復(iteration)の引き
算モードに位置される加算器/引き算器16に影響され
る。
【0041】
【表2】 図2のビット直列演算の例は、本発明のIDCTプロセ
ッサを提供するために使用されるベクトル内積エンジン
を提供するために拡張される。本発明は、行列の乗算が
多数のベクトル内積を単に行うことによって達成される
という利点を得る。IDCTプロセッサで使用するため
の内積エンジンの特定的な実行は要求される結果の正確
さ、IDCTが計算される速さ、及びハードウェアの要
求される大きさに従う。
【0042】図4は、単一のベクトル内積エンジンを使
用するIDCTプロセッサの好適実施例を示し、この単
一のベクトル内積エンジンを介して多重経路が所望の逆
離散余弦変換をとっせいするようにしている。本発明に
従って、DCT係数の2ビットの中間結果(又は転置し
た内積要素)は、参照用ROMに貯蔵された2ビットア
ドレスの一致するデータと共に1回で計算される。これ
は、ベクトル内積を単一ビット処理に要される時間の半
分で実現することが可能である。このような実施におい
て、ROMの大きさは2倍である。しかし、係数比の2
倍で運転する単一の内積エンジンを使用するIDCTプ
ロセッサの実施はハードウェアの要求を実質的に減少さ
せる。
【0043】図4に示される実施において、DCT係数
の表すフフマン(Huffman)データはターミナル40を通
じてDCT係数メモリに入力される。ターミナル44を
通じて割り込みされると、メモリ42がDCT係数のブ
ロックを1回で1行又は列(“配列”)を入力送りレジ
スタの第1及び第2のバンクへ出力するであろう。送り
レジスタの第1のバンクは送りレジスタ対4648;5
0、52;54、46;及び58、60を含む。図4に
示すとおり、送りレジスタ(46、48)の第1の対は
各々15ビットの長さである。次の対(50、52)は
13ビットの長さである。その次の対(54、56)は
11ビットの長さであり、バンク1の最後の対(58、
60)は9ビットの長さでる。送りレジスタの第1のバ
ンクは配列の偶数係数を回避し貯蔵する。例えば、8係
数配列の係数がF0、F1、F2、F3、F4、F5、
F6及びF7で表示されている場合、偶数係数はF0、
F2、F4及びF6である。奇数係数はF1、F3、F
5及びF7である。奇数係数は、送りレジスタの第2の
バンクに貯蔵され、ここで第1の送りレジスタ対(6
2、64)が各々14ビットの長さ、第2の対(66、
68)が各々12ビットの長さ、第3の対(70、7
2)が各々10ビットの長さ、及び最後の対(74、7
6)が各々8ビットの長さである。
【0044】データが入力送りレジスタに連続して負荷
され送り出されるため、送りレジスタは図示のとおり様
々な大きさである。図示の実施例において、DCT係数
の各々は、そこに加算される6つの充填ビット(ゼロ)
と共に10ビットの長さであり、入力送りレジスに負荷
するための16ビットワードを提供する。F0係数バイ
トの8つの偶数ビットは送りレジスタ46に負荷され
る。DCT係数バイトF0の8つの奇数ビットは入力送
りレジスタ48に負荷される。16ビット係数バイトF
1の各々8ビットは送りレジスタ62、64に負荷され
る。続く係数バイトが同様の方法で残りの送りレジスタ
に負荷される。係数バイトF7がレジスタ対74、76
に負荷されるために準備される時間によって、送りレジ
スタ46の係数バイトF0の偶数の8ビット及び送りレ
ジスタのその奇数ビットは、一連のクロックサイクル中
に対の出力(送りレジスタ46からの偶数ビット及び送
りレジスタ48からの奇数ビット)のために、送りレジ
スタの最後へと前進する。係数バイトF7のビットの各
々が、係数バイトF0の一致するビットが送りレジスタ
46、48に入力された後、送りレジスタの8クロック
サイクルに入力されるので、送りレジスタ内でF7係数
ビットを遅延する必要がなく、送りレジスタ74、76
は各々送りレジスタ46、48よりも一層短い7ビット
であることができる。
【0045】送りレジスタ46から60の各々のクロッ
クサイクルの第1のバンクから出力されるビットの4つ
の対はROM参照用テーブル80の8ビットアドレスを
形成するために使用される。この参照用テーブルは図2
に示されるROM30と同等であるが、スレールがより
大きい。同様に、ROM82は、送りレジスタ62から
76の第2のバンクから出力された係数データの4つの
2ビット対から形成された8ビットアドレスによってア
ドレスされる。ROM80及び82の各々は複数の参照
用テーブルを含み、関連するハードウェアと共に論理ゲ
ートとして又は標準ROMメモリチップとして実行され
ることができる。参照用テーブルは、核行列を有する内
積の部分的結果を含み、また符号ビットを含むアドレス
を処理するために要される最終的な引き算を実行(例え
ば、付加的なハードウェアを使用して)する。この符号
ビットは内積エンジンの最終的クロックサイクルのアド
レスの最も有効なビット(the most significant bit)
(MSB)である。ターミナル65は、新しい(curren
t)参照値を加えるか或いは引くために最終的な引き算を
実行するROM部分を方向づける余分なアドレスビット
を受ける。ターミナル65に入力されるこの余分なアド
レスビットは、適当な時にROMの正確な部分をアドレ
スし内積動作のトラック(track)を維持する状態機械
(state machine)(図示せず)によって生成される。
【0046】ROMUはまた、2の補数演算を実行する
のに必要な最終的な引き算の全体を提供する。アキュー
ムレータ機能のこの態様(aspect)をROMへ移動するこ
とによって、本発明に従った多重(例えば、2)ビット
の直列演算を容易に提供することが可能である。
【0047】ROM80が、加算器84、86、88、
及び90へ入力するための各々のサイクル中に4つの部
分的内積を出力する。同ように、ROM82が、加算器
92、94、96、及び98に入力するための各々のサ
イクルに4つの部分的内積を出力する。符号100で示
されるレジスタの第1のバンク、及び符号102で示さ
れるレジスタの第2のバンクは、時間を過ぎてROMか
ら部分的内積を累積する。8サイクル後、DCT核行列
を有する新しい(current)配列のDCT係数の部分的内
積の全てはレジスタ100、102で累積され、符号1
04、106で示されるラッチ(latch)の一致するバン
クにラッチされる。ラッチ104、106は加算器/引
き算器108と共にポスト・アド・ステージ(post-add
stage)を提供する。このポスト・アド・ステージは、第
1及び第2のバンクから選択され累積された内積を引く
か或いは加えてIDCTフローグラフのポスト・アド・
ステージを実行する。
【0048】符号148で示されるポスト・アド・ステ
ージを含むIDCTフローグレフ130の例が図5に示
される。フローグラフは、上記のように再度作られたI
DCT核行列の周期的性質の利点を得るために使用され
る。図5のフローグラフはB.G.Lee著、“離散予言
変換の新しい演算”、音響、音、信号処理のIEEEト
レンスアクション編、第ASSP−35刊、第10号、
第1455−1461頁に開示される。このフローグラ
フは、共通の中間結果を分割することによって加算及び
乗算の数を最小に減少させるためにIDCT核行列の周
期的性質の利点全てを得るためになされる。本発明は、
加算器/引き算器108においてROM80、82の大
きさを指数関数的に減少するために、ポスト・アド・ス
テージと呼ばれるフローグラフの最終段階の利点を得
る。ポスト・アド・ステージは、図5の加算器132、
134、136、138、140、142、144及び
146から成り、乗算なしで加算及び引き算のみを使用
することからの利点を容易に得る。図4のIDCTプロ
セッサ実行のポスト・アド・ステージは、ラッチ10
4、106のバンクに貯蔵されるデータg0からg7の
最終的な内積(図5のP0からP7)を計算する。ポス
ト・アド・ステージの使用は、IDCTプロセッサを割
り込んで、4つの係数のみからの入力を各々必要とする
ROM80、82と共に提供される。上記のとおり、4
つの偶数係数(F0、F2、F4、F6)がROM80
をアドレスし、奇数係数(F1、F3、F5、F7)が
ROM82をアドレスする。
【0049】完全な内積がDCT係数メモリ42に貯蔵
される係数配列のために形成された後、係数メモリから
の連続する配列の各々が、DCTブロックのN配列全部
の完全な内積が得られるまで処理される。完全な内積は
DCT係数ブロックに含まれるNxN係数に一致する内
積要素のNxN行列を画成する。これら内積要素は、在
来の非偏倚した丸め回路(rounding circuit)110で
所望の正確さに丸め(round off)られた後、互換メモ
リ112に貯蔵される。互換メモリは転置形状で内積要
素のNxN行列を貯蔵し、N要素のN配列を有する転置
行列を与える。転置行列の内積要素のN配列の各々は、
メモリ42からのDCT係数が処理されたのと同様の方
法で連続して処理される。
【0050】本発明にしたがって、DCT係数メモリか
らの配列(例えば、ベクトル)及び互換メモリからの配
列(ベクトル)の処理はインターリーブ(interleave)
される。よって、内積エンジンを介する第1の経路は第
1のDCTベクトルを処理し、8クロックサイクルで単
一のベクトル内積を与える。DCT係数の各々が16ビ
ットの長さ(10係数ビット+6充填ビット)であり、
ベクトルの8係数全部が1回で2ビットを平行処理して
ROM80、82のアドレスを形成するため、16ビッ
ト係数の8個全部が8クロックサイクル(例えば、内積
エンジンを介する1経路)で処理される。内積エンジン
を介する次の経路中、互換メモリからの8、16ビット
内積要素の配列全部が同様の方法で処理される。したが
って、16個が内積エンジンを通過した後、DCT係数
のブロック全部、及び転置行列全部が転置行列配列の処
理と共にインターリーブされたDCT係数配列の処理と
共に処理される。このようなインターリーブ処理を実行
するために、行/列及び次いで列/行基底において互換
メモリへの書き込み及び読み出しを交互に行うことが必
要である。
【0051】互換メモリ112のターミナル114にお
ける割り込み信号が、内積エンジンを介する交互の経路
において、DCT係数をメモリ42から送りレジスタへ
入力する替わりに、配列を互換メモリから送りレジスタ
46から60及び62から76に入力する。よって、互
換メモリ112データを出力するために割り込まれる
と、DCT係数メモリ42が割り込まれない。逆に、D
CTメモリ42が割り込まれると、互換メモリ112が
データを出力するために割り込まれない。
【0052】内積エンジンはDCT画行列を有する互換
メモリ112から出力される要素の連続する部分的内積
を組み合わせ累積する。累積された部分的内積は次いで
ポスト・アド・ステージで組み合わされ、転置行列のN
配列全部の完全な内積を提供する。これら完全な内積は
DCT係数のオリジナルブロックに含まれるNxN係数
に一致するNxN逆変換要素のブロックを画成する。内
積エンジンが配列の互換メモリ要素の全部を処理した
後、結果的な逆変換要素は標準の非偏倚した丸め回路1
16で丸められ、IDCTデータの9ビットワードの形
状で、符号118で示される出力レジスタ、マルチプレ
クサ120、及び出力レジスタ122を介して出力す
る。内積エンジンによる逆変換要素の全体の行列を提供
することが多重経路を必然的に伴い、DCT及び転置行
列の両方の要求されるベクトル内積の全部を提供するの
に必要な回数でROMをアクセスする。
【0053】丸め回路116から出力されたデータの組
み立て(アセンブリ)は、偶数及び奇数の逆変換要素を
インターリーブする、出力レジスタ118によって与え
られる。インターリーブ処理はまた、逆変換要素の出力
を、示されるように2ビット直列演算実現の内積エンジ
ンデータ処理比の半分でる正確な(proper)データ比に
減速する。
【0054】IDCTプロセッサの正確さは内積エンジ
ンを介して実行される精度(precision)を介して制御さ
れる。この正確さは、入力係数の大きさ、ROMに貯蔵
される定数の大きさ、アキュームレータの大きさ、及び
中間結果(例えば、互換メモリワード幅)に影響され
る。ベクトル内積エンジンに入力されたベクトル成分の
大きさが逆変換を完了するのに要するクロックサイクル
数を直接決定する。多重ビット直列演算(好適実施例に
示した2ビット処理)を使用することによって、サイク
ル数が単一ビット処理に関して減少される。2ビット処
理において、サイクル数が半分にカット(cut)される。
多重ビット直列の方法がいかなるビット数にも拡張され
るが、ROMをアドレスするビット数が増加すると、R
OMの大きさが指数関数的に増加する。
【0055】他のIDCT処理との適合性を確実にする
ために、本発明のベクトル内積エンジンで高々精度を使
用することが利点である。これを達成するための1つの
方法は、極めて大きいROM及びアキュームレータを使
用することである。値を計算することも可能であり、一
致する因数に分解されるためにIDCTプロセッサの誤
差を有してROMに貯蔵される。
【0056】図6は本発明の変形例を示し、2つの別々
の内積が使用される。特に、テーミナル150で入力さ
れるフフマンデータ(Huffman data)がDCT係数メモ
リ152に貯蔵される。第1の内積エンジン154が1
回で1つの配列、DCT核行列を有するDCT係数の内
積を計算する。内積の合成配列(resultant array)は転
置され、互換メモリ156に貯蔵される。内積要素の転
置配列は第2の内積エンジン158で処理され、DCT
核行列を有するその内積を得て、最後のIDCTデータ
を作り出す。内積エンジン154、156の各々は、同
一の内積エンジンへの互換メモリを介する内積のフィー
ドバックがないことを除き、図4の符号10で示す内積
エンジンと識別的である。図4の実行に示すように、図
6の内積エンジンは1回で入力データの2ビットを処理
する。
【0057】図7は、“ROM”が先行技術で周知のケ
ーシングステートメント(case statement)の論理合成
を使用して創られる論理ゲートによって実際に与えられ
るところのROM80、82の好適な実施を示す。アド
レスの4つの最小有効ビットが論理デコーダ“ROM”
162に入力され、16ビットの部分的な内積を与え
る。アドレスの最も有効なビットはターミナル164を
介して論理デコーダ“ROM”に入力され、15ビット
の部分的な内積を与える。もし、ターミナル168にお
いて入力加算/引き算制御信号に応答して相補形回路1
70及び加算器172で、符号ビットとしてこれら15
ビットの状態(status)であるために要されるならば、
これら15ビットは逆にされる。加算器172が所望の
部分的な内積を出力する。加算/引き算制御信号は、部
分的内積の計算の引き算動作を起動する状態機械(stat
e machine)によって生成される。
【0058】図7の構造は、上述の最後のサイクルの引
き算動作を実施する好適な方法であって、本発明に従っ
た多重ビット毎サイクル直列構造を提供する。特に、こ
のような構造は、標準ROMの使用と比較されるように
IDCTプロセッサに必要な参照用テーブルの物理的大
きさを顕著に減少させる。効率は、IDCT処理におい
て下流の加算器/アキュームレータに代わり参照用テー
ブルで最後のサイクルの引き算動作を与えることによっ
て達成される。
【0059】本発明は、新規なIDCTプロセッサ、及
びデータが1回で複数のビットを使用して処理されると
ころの逆変換を与えるための方法を提供するものである
ことがわかる。第1の実施例において、単一の内積エン
ジンがベクトル内積の2つの別々の集合(set)を与える
ために使用される。ベクトル内積の第1の集合はDCT
係数データとDCT核行列との間である。内積の第2の
集合は内積の転置された第1の集合とDCT核行列との
間である。プロセッサの大半はビット直列分布演算に基
づいているが、従来からのフローグラフのポスト・アド
・ステージを実行して一層の効率を提供する。
【0060】本発明のIDCTプロセッサの内部機能は
完全にパイプライン(pipeline)化されている。他の完
成を待つまでもない。係数がIDCTを入力(enter)
し、逆ジグザグ操作オーダーを使用するジグザグ移行D
CT係数メモリに直ちに貯蔵される。係数のベクトルが
次いで入力送りレジスタに1回で1成分を伝達する。こ
の入力レジスタは、送りレジスタから出力されるデータ
の対から形成されたアドレスと共に参照用ROMをアド
レスする。送りレジスタの出力は加算器に引加され、そ
の結果はアキュームレータに貯蔵される。クロックサイ
クルの要求される数(例えば、8)の後、アキュームレ
ータの結果はポスト・アド・ステージに伝達される。こ
のポスト・アド・ステージは1ベクトル内積毎クロック
サイクルを出力する。
【0061】ベクトル内積は丸め(round)られ、互換メ
モリに貯蔵される。転置中間結果のベクトルが次いで入
力送りレジスタに1回で1成分を伝達する。内積は一旦
再度計算されるが、この時それらは正確なオーダー及び
緩衝をするため出力レジスタへと通じる。中間結果が、
例えば行オーダー及び読みだし列オーダーを、互換メモ
リに貯蔵される。それらは次いで列オーダー及び読みだ
し行オーダーを貯蔵する。よって、書き込み及び読みだ
しのオーダーはブロックの各々で交互になされる。
【0062】本発明はその種々の好適実施例に関連して
説明されたが、特許請求の範囲に記載した本発明の精神
及び範囲から逸脱することなく、多彩な変形物及び変更
物が当業者によってなされることがわかる。
【図面の簡単な説明】
【図1】IDCTプロセッサの簡単なブロック図であ
り、それに関係する入力及び出力を示す。
【図2】本発明のIDCTプロセッサの基本的ビルディ
ングブロックである多重入力直列乗算器のブロック図を
示す。
【図3】入ってくるDCT係数データのジグザグ走査順
序を示す図である。
【図4】単一内積エンジンを使用する本発明のIDCT
プロセッサの第1の実施例の詳細なブロック図である。
【図5】IDCT係数行列の有機的特徴がどのようにし
て一般的な中間結果を割り当てることによって必要な乗
算及び加算の数を減少させるために使用されるのかを示
すフローグラフである。
【図6】2つの直列の内積エンジンを使用する本発明の
IDCTプロセッサの変形的実施例のブロック図であ
る。
【図7】本発明のIDCTプロセッサに使用される参照
用テーブルのロジック実行をブロック図である。
【符号の説明】 10...IDCTプロセッサ 12...ベクトル成分 14...ベクトル成分 16...加算器/引き算器 18...アキュームレータ 20...8x8ブロック 22...DCT係数
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04N 1/41 B 7/30 H04N 7/133 Z

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 DCT係数のブロックからの画素を復元
    させることに使用される逆離散余弦変換(IDCT)プ
    ロセッサであって、前記ブロックの各々がN係数のN配
    列を含み、前記IDCTプロセッサが、 DCT係数のブロックでN配列の各々を連続して処理す
    るための第1の手段であって、前記第1の処理手段が、 処理される配列に含まれるN係数の各々から少なくとも
    2ビットを組み合わせることによってアドレスを形成す
    るためのクロックサイクルに応答する手段であって、連
    続するアドレスの第1の流れが連続するクロックサイク
    ル中に作られる、ところの手段と、 処理される前記配列に含まれる前記N係数の各々と、D
    CT核行列との間で連続する部分的内積を出力するため
    のアドレスの前記第1の流れに応答する手段と、 処理される前記配列のN係数の各々のための完全な内積
    を形成するために、前記連続する部分的内積を累積し組
    み合わせるための手段であって、前記ブロックのN配列
    の全ての前記完全な内積が前記ブロックに含まれるNx
    N係数に一致する内積要素のNxN行列を画成する、と
    ころの手段とを含む、ところの第1の処理手段と、 N要素のN配列を有する転置行列を提供するために、内
    積要素の前記NxN行列を転置するための手段と、 前記転置行列の内積要素のN配列の各々を連続して処理
    するための第2の手段であって、前記第2の処理手段
    が、 処理される前記転置行列の配列に含まれるN要素の各々
    から少なくとも2ビットを組み合わせることによってア
    ドレスを形成するためのクロックサイクルに応答する手
    段であって、連続するアドレスの第2の流れが連続する
    クロックサイクル中に作られる、ところの手段と、 処理される転置行列の前記配列に含まれる前記N要素の
    各々と、前記DCT核行列との間で連続する部分的内積
    を出力するためのアドレスの前記第2の流れに応答する
    手段と、 要素の各々の完全な内積を形成するために、処理される
    転置行列の要素の各々の前記連続する部分的内積を累積
    し組み合わせるための手段であって、前記転置行列のN
    配列の全ての前記完全な内積がDCT係数の前記ブロッ
    クに含まれるNxN係数に一致するNxN逆変換要素の
    ブロックを画成する、ところ手段とを含む、ところの第
    2の処理手段とから成る、IDCTプロセッサ。
  2. 【請求項2】 請求項1記載のIDCTプロセッサであ
    って、 前記第1及び第2の処理手段が、インターリーブした基
    底で転置した内積要素の前記行列と、DCT係数の前記
    ブロックとから連続する配列を処理する、ところのID
    CTプロセッサ。
  3. 【請求項3】 請求項2又は3記載のIDCTプロセッ
    サであって、 前記第1及び第2の処理手段が、 内積エンジンと、 内積要素のNxN行列の配列を作るために、前記内積エ
    ンジンを介する第1の経路中にDCT係数の前記ブロッ
    クからビットを入力するための手段と、 NxN逆変換要素の前記ブロックの配列を作るために、
    前記内積エンジンを介する第2の経路中に前記転置行列
    の配列からビットを入力するための手段とから成る、と
    ころのIDCTプロセッサ。
  4. 【請求項4】 請求項3記載のIDCTプロセッサであ
    って、 前記内積エンジンが、 前記第1の経路中にDCT係数の前記ブロックから係数
    を受け、前記第2の経路中に前記転置行列から内積要素
    を受けるための送りレジスタ手段であって、前記送りレ
    ジスタ手段が連続するアドレスの前記流れを出力するた
    めの前記クロックサイクルに応答する、ところの送りレ
    ジスタ手段と、 前記連続する部分的内積を前記累積手段に出力するため
    の前記アドレスに応答する参照用テーブル手段とから成
    る、ところのIDCTプロセッサ。
  5. 【請求項5】 請求項4記載のIDCTプロセッサであ
    って、 前記送りレジスタ手段が、前記第1の経路中に偶数係数
    を受け、第2の経路中に偶数内積要素を受けるための送
    りレジスタの第1のバンクと、前記第1の経路中に奇数
    係数を受け、前記第2の経路中に奇数内積要素を受ける
    ための送りレジスタの第2のバンクとから成り、 前記参照用テーブル手段が、送りレジスタの前記第1の
    バンクによって作られるアドレスに応答する第1の参照
    用テーブルと、送りレジスタの前記第2のバンクによっ
    て作られるアドレスに応答する第2の参照用テーブルと
    から成り、 前記累積し組み合わせる手段が、前記第1の参照用テー
    ブルに従うアキュームレータの第1の集合と、前記第2
    の参照用テーブルに従うアキュームレータの第2の集合
    とから成り、アキュームレータの各々の集合が、選択さ
    れたアキュームレータ出力を交互に加算及び引き算する
    ための手段に従って、IDCTフローグラフのポスト・
    アド・ステージを実行する、ところのIDCTプロセッ
    サ。
  6. 【請求項6】 請求項5記載のIDCTプロセッサであ
    って、 送りレジスタの前記第1のバンクがN/2対のレジスタ
    から成り、各々の対が2ビットのNビットアドレス毎ク
    ロックサイクルを提供し、 送りレジスタの前記第2のバンクがN/2対のレジスタ
    から成り、各々の対が2ビットのNビットアドレス毎ク
    ロックサイクルを提供する、ところのIDCTプロセッ
    サ。
  7. 【請求項7】 請求項6記載のIDCTプロセッサであ
    って、 前記第1及び第2のバンクのレジスタの各々の対が、D
    CT係数及び内積要素の偶数ビットを貯蔵するための第
    1のレジスタと、DCT係数及び内積要素の奇数ビット
    を貯蔵するための第2のレジスタとから成る、ところの
    IDCTプロセッサ。
  8. 【請求項8】 請求項5から7の1つに記載のIDCT
    プロセッサであって、 各々の前記DCT係数及び前記内積要素がM−ビットワ
    ードで処理され、 前記第1のバンクの送りレジスタの対が、M−1の長さ
    から開始して2づつ連続して減少する長さを有し、 前記第2のバンクの送りレジスタの対が、M−2の長さ
    から開始して2づつ連続して減少する長さである、とこ
    ろのIDCTプロセッサ。
  9. 【請求項9】 請求項1から8の1つに記載のIDCT
    プロセッサであって、 前記完全な内積が、総和を形成するために加算される複
    数の連続する部分的内積の最後の1つ以外の全てと共
    に、2の補数演算を使用して形成され、最後の部分的内
    積が前記総和から引き算されて完全な内積を提供する、
    ところのIDCTプロセッサ。
  10. 【請求項10】 請求項1から9の1つに記載のIDC
    Tプロセッサであって、 前記第1の処理手段が、内積要素の前記NxN行列の配
    列を作るために、DCT係数の前記ブロックからビット
    を受けるための第1の内積エンジンから成り、 前記第2の処理手段が、NxN逆変換要素の前記ブロッ
    クの配列を作るために、前記転置行列からビットを受け
    るための第2の内積エンジンから成る、ところのIDC
    Tプロセッサ。
  11. 【請求項11】 請求項10記載のIDCTプロセッサ
    であって、 前記第1及び第2の内積エンジンの各々が、 連続するアドレスの前記流れを出力するための前記クロ
    ックサイクルに応答する送りレジスタ手段と、 前記連続する部分的内積を前記累積する手段に出力する
    ための前記アドレスに応答する参照用テーブル手段とか
    ら成る、ところのIDCTプロセッサ。
  12. 【請求項12】 請求項11記載のIDCTプロセッサ
    であって、 前記第1の内積エンジン送りレジスタ手段が、偶数係数
    を受けるための送りレジスタの第1のバンクと、奇数係
    数を受けるための送りレジスタの第2のバンクとから成
    り、 前記第2の内積エンジン送りレジスタ手段が、偶数内積
    要素を受けるための送りレジスタの第1のバンクと、奇
    数内積要素を受けるための送りレジスタの第2のバンク
    とから成り、 内積エンジンの各々の前記参照用テーブル手段が、それ
    ぞれの内積エンジンの送りレジスタの第1のバンクによ
    って作られるアドレスに応答する第1の参照用テーブル
    と、それぞれの内積エンジンの送りレジスタの第2のバ
    ンクによって作られるアドレスに応答する第2の参照用
    テーブルとから成り、 内積エンジンの各々の前記アキュームレータ手段が、そ
    れぞれの内積エンジンの第1の参照用テーブルに従うア
    キュームレータの第1の集合と、それぞれの内積エンジ
    ンの前記第2の参照用テーブルに従うアキュームレータ
    の第2の集合とから成り、 前記アキュームレータが、アキュームレータで形成され
    る選択された完全な内積を交互に加算及び引き算するた
    めの手段に従い、IDCTフローグラフのポスト・アド
    ・ステージを実行する、ところのIDCTプロセッサ。
  13. 【請求項13】 請求項12記載のIDCTプロセッサ
    であって、 送りレジスタの各々の前記第1のバンクがN/2の対の
    レジスタから成り、各々の対が2ビットのNビットアド
    レス毎クロックサイクルを提供し、 送りレジスタの各々の前記第2のバンクがN/2の対の
    レジスタから成り、各々の対が2ビットのNビットアド
    レス毎クロックサイクルを提供する、ところのIDCT
    プロセッサ。
  14. 【請求項14】 請求項13記載のIDCTプロセッサ
    であって、 前記第1及び第2のバンクのレジスタの各々の対が、D
    CT係数又は内積要素の偶数ビットを貯蔵するための第
    1のレジスタと、DCT係数又は内積要素の奇数ビット
    を貯蔵するための第2のレジスタとから成る、ところの
    IDCTプロセッサ。
  15. 【請求項15】 請求項14記載のIDCTプロセッサ
    であって、 各々の前記DCT係数及び前記内積要素がMビットバイ
    トで処理され、 前記第1のバンクの送りレジスタの対が、M−1の長さ
    から開始して2づつ連続して減少する長さを有し、前記
    第2のバンクの送りレジスタの対が、M−2の長さから
    開始して2づつ連続して減少する長さを有する、ところ
    のIDCTプロセッサ。
  16. 【請求項16】 請求項5から8の1つに記載のIDC
    Tプロセッサであって、 選択されたアキュームレータ出力を交互に加算及び引き
    算し、偶数及び奇数の逆変換要素をインターリーブし緩
    衝するための前記手段に従う複数の出力レジスタであっ
    て、所望の出力比で所望のオーダーで逆変換要素を提供
    する、ところの複数の出力レジスタから更に成る、とこ
    ろのIDCTプロセッサ。
  17. 【請求項17】 請求項1から16の1つに記載の装置
    であって、 アドレスの前記第1の流れに応答する前記手段と、アド
    レスの前記第2の流れに応答する前記手段とが、 同一の重みを有する個々の一層短いアドレスの全ての各
    々でビットと共に、前記流れでアドレスの各々を複数の
    Mの一層短いアドレスに分離するための手段と、 複数のMの一層短いアドレスの1つと各々関連し、関連
    した一層短いアドレスに含まれるビットの重みに従って
    基準化される参照値を提供するためのMの参照用テーブ
    ル手段と、 前記連続する部分的内積を提供するために、連続するア
    ドレスの基準化された参照値を総和するための手段とか
    ら成る、ところの装置。
  18. 【請求項18】 請求項17記載の装置であって、 オレスの前記第1の流れに応答する前記手段と、アドレ
    スの前記第2の流れに応答する前記手段とが、 基準化した参照値に応答可能な一層短いアドレスが符号
    ビットから成るとき、前記総和手段での使用に先行し
    て、基準化した参照値を取り消すための符号ビット識別
    子に応答する手段から更に成る、ところの装置。
  19. 【請求項19】M係数のNはい尾列を有する離散余弦変
    換(DCT)係数の行列を逆変換するための方法であっ
    て、(a) 前記DCT行列から変換係数の配列を得る
    工程と、(b) 前記配列で前記変換係数の各々の少な
    くとも2ビットから第1の連続するアドレスを形成する
    工程と、(c) 前記第1の連続するアドレスに応答し
    て連続する第1の出力を提供する工程であって、前記第
    1の出力が前記配列に含まれる前記変換係数の各々とD
    CT核行列の配列との間の部分的内積から成る、工程
    と、(d) 前記配列に含まれる前記変換係数の各々の
    ために完全な内積を形成するために、前記連続する第1
    の出力を累積し組み合わせる工程と、(e) NxMの
    完全な内積の行列を得るために、前記DCT行列の残余
    の配列の各々において(a)、(b)及び(c)の工程
    を反復する工程と、(f)M内積要素のN配列を有する
    転置行列を提供するために、完全な内積の前記行列を互
    換する工程と、 前記転置行列からの内積要素の配列の各々において、
    (g) 配列の前記内積要素の各々の少なくとも2ビッ
    トから第2の連続するアドレスを形成する工程と、
    (h) 前記第2の連続するアドレスに応答する連続す
    る第2の出力を提供する工程であって、前記第2の連続
    する出力が、配列に含まれる前記内積要素の各々と、前
    記核行列の配列との間の部分的内積から成る、ところの
    工程と、(i) 配列に含まれる前記内積要素の各々に
    おいて完全な内積を形成するために、前記連続する第2
    の出力を累積し組み合わせる工程とから成り、 前記転置行列のN配列の完全な内積が、DCT係数の前
    記ブロックに含まれるNxM係数に一致するNxM逆変
    換要素のブロックを画成する、ところの方法。
  20. 【請求項20】請求項19記載の方法であって、 DCT行列からの変換係数の配列と、転置行列からの内
    積要素の配列とがインターリーブ基底で処理される、と
    ころの方法。
  21. 【請求項21】離散余弦変換(DCT)係数の行列を逆
    変換するための方法であって、 DCT核行列と共にそのベクトル内積を得るために、1
    回で少なくとも2ビットの前記DCT係数を処理する工
    程と、 内積要素の転置行列を得るために、前記ベクトル内積の
    行列を転置する工程と、 前記DCT核行列と共にその
    ベクトル内積を得るために、1回で少なくとも2ビット
    の前記転置行列の前記内積要素を処理する工程とから成
    る、ところの方法。
JP6104737A 1993-04-19 1994-04-19 逆離散余弦変換プロセッサ Pending JPH07146853A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/046,382 US5345408A (en) 1993-04-19 1993-04-19 Inverse discrete cosine transform processor
US046382 1993-04-19

Publications (1)

Publication Number Publication Date
JPH07146853A true JPH07146853A (ja) 1995-06-06

Family

ID=21943146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6104737A Pending JPH07146853A (ja) 1993-04-19 1994-04-19 逆離散余弦変換プロセッサ

Country Status (10)

Country Link
US (1) US5345408A (ja)
EP (1) EP0621543B1 (ja)
JP (1) JPH07146853A (ja)
KR (1) KR100246878B1 (ja)
AT (1) ATE196377T1 (ja)
AU (1) AU664010B2 (ja)
CA (1) CA2121197C (ja)
DE (1) DE69425847T2 (ja)
NO (1) NO941402L (ja)
TW (1) TW324126B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100451035B1 (ko) * 1995-08-28 2004-11-26 오우크 테크놀로지, 인코포레이티드 Vsli실행용역이산코사인변환프로세서

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG45281A1 (en) * 1992-06-26 1998-01-16 Discovision Ass Method and arrangement for transformation of signals from a frequency to a time domain
JP2725544B2 (ja) * 1992-11-12 1998-03-11 日本電気株式会社 Dct及び逆dct演算装置並びにその演算方法
KR960010199B1 (ko) * 1993-07-16 1996-07-26 배순훈 디지탈 신호처리 칩 제어장치
JPH07262175A (ja) * 1994-03-18 1995-10-13 Fujitsu Ltd 関数変換演算装置
US5825420A (en) * 1994-05-06 1998-10-20 National Science Council Processor for performing two-dimensional inverse discrete cosine transform
US5798719A (en) 1994-07-29 1998-08-25 Discovision Associates Parallel Huffman decoder
EP0720103A1 (en) * 1994-12-29 1996-07-03 Daewoo Electronics Co., Ltd Two-dimensional inverse discrete cosine transform circuit
US5668748A (en) * 1995-04-15 1997-09-16 United Microelectronics Corporation Apparatus for two-dimensional discrete cosine transform
NL1000763C2 (nl) * 1995-07-10 1997-01-13 United Microelectronics Corp Apparaat voor tweedimensionale inverse discrete cosinustransformatie.
FR2736739B1 (fr) * 1995-07-12 1997-09-12 United Microelectronics Corp Dispositif de transformation bidimensionnelle inverse en cosinus discret
US6421695B1 (en) 1995-10-28 2002-07-16 Lg Electronics Inc. Apparatus for implementing inverse discrete cosine transform in digital image processing system
KR100212268B1 (ko) * 1995-12-13 1999-08-02 윤종용 리의 알고리즘을 이용한 이산 코사인 역변환 시스템
JP3129392B2 (ja) * 1996-02-02 2001-01-29 日本電気株式会社 2次元idct回路
US5854757A (en) * 1996-05-07 1998-12-29 Lsi Logic Corporation Super-compact hardware architecture for IDCT computation
US5845112A (en) * 1997-03-06 1998-12-01 Samsung Electronics Co., Ltd. Method for performing dead-zone quantization in a single processor instruction
US6295320B1 (en) * 1997-12-31 2001-09-25 Lg Electronics Inc. Inverse discrete cosine transforming system for digital television receiver
US6175594B1 (en) * 1998-05-22 2001-01-16 Ati Technologies, Inc. Method and apparatus for decoding compressed video
US6574648B1 (en) * 1998-12-14 2003-06-03 Matsushita Electric Industrial Co., Ltd. Dct arithmetic device
US7123655B2 (en) 2001-08-09 2006-10-17 Sharp Laboratories Of America, Inc. Method for reduced bit-depth quantization
US6819279B2 (en) * 2003-03-05 2004-11-16 Lecroy Corporation Method and apparatus for the recovery of signals acquired by an interleaved system of digitizers with mismatching frequency response characteristics
US7298925B2 (en) * 2003-09-30 2007-11-20 International Business Machines Corporation Efficient scaling in transform domain
US8570336B2 (en) * 2009-12-08 2013-10-29 Intel Corporation Texture unit for general purpose computing
WO2013095558A1 (en) * 2011-12-22 2013-06-27 Intel Corporation Method, apparatus and system for execution of a vector calculation instruction
CN103945226B (zh) * 2014-03-06 2017-08-25 京东方科技集团股份有限公司 一种视频解码的方法及其装置
US10356440B2 (en) * 2014-10-01 2019-07-16 Qualcomm Incorporated Scalable transform hardware architecture with improved transpose buffer
US20190179635A1 (en) * 2017-12-11 2019-06-13 Futurewei Technologies, Inc. Method and apparatus for tensor and convolution operations
KR102252311B1 (ko) * 2018-07-30 2021-05-14 부산대학교 산학협력단 저전력 디바이스 환경상에서 대용량 암호화 행렬 연산 최적화 처리 방법
US20200073636A1 (en) * 2018-08-31 2020-03-05 Qualcomm Incorporated Multiply-accumulate (mac) operations for convolutional neural networks
US20220171829A1 (en) 2019-03-11 2022-06-02 Untether Ai Corporation Computational memory
US11342944B2 (en) 2019-09-23 2022-05-24 Untether Ai Corporation Computational memory with zero disable and error detection
US11468002B2 (en) 2020-02-28 2022-10-11 Untether Ai Corporation Computational memory with cooperation among rows of processing elements and memory thereof

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2582424B1 (fr) * 1985-05-22 1989-06-30 Guichard Jacques Circuit de calcul rapide de la transformee en cosinus, directe ou inverse, d'un signal discret
NL8601183A (nl) * 1986-05-12 1987-12-01 Philips Nv Discrete cosinus transformatie-inrichting.
FR2603719B1 (fr) * 1986-09-04 1991-10-31 Duhamel Pierre Dispositif de determination de la transformee numerique d'un signal
US4760543A (en) * 1986-11-10 1988-07-26 American Telephone And Telegraph Company, At&T Bell Laboratories Orthogonal transform processor
IT1207346B (it) * 1987-01-20 1989-05-17 Cselt Centro Studi Lab Telecom Sformata coseno discreta a coeffi circuito per il calcolo della tra cienti quantizzati di campioni di segnale numerico
US4791598A (en) * 1987-03-24 1988-12-13 Bell Communications Research, Inc. Two-dimensional discrete cosine transform processor
NL8700843A (nl) * 1987-04-10 1988-11-01 Philips Nv Televisie-overdrachtsysteem met transformcoding.
FR2626693B1 (fr) * 1987-12-03 1990-08-10 France Etat Dispositif et procede a memoire tampon, notamment pour la transposition matricielle ligne-colonne de sequences de donnees
FR2646046B1 (fr) * 1989-04-18 1995-08-25 France Etat Procede et dispositif de compression de donnees d'image par transformation mathematique a cout reduit de mise en oeuvre, notamment pour la transmission a debit reduit de sequences d'images
IT1235263B (it) * 1989-06-02 1992-06-26 Sgs Thomson Microelectronics Metodo e dispositivo per il calcolo aritmetico di trasformate bidimensionali.
IT8921420V0 (it) * 1989-07-13 1989-07-13 Telettra Spa Sistema e circuito per il calcolo di trasformata discreta bidimensionale.
US5053985A (en) * 1989-10-19 1991-10-01 Zoran Corporation Recycling dct/idct integrated circuit apparatus using a single multiplier/accumulator and a single random access memory
JP2646778B2 (ja) * 1990-01-17 1997-08-27 日本電気株式会社 ディジタル信号処理装置
US5126962A (en) * 1990-07-11 1992-06-30 Massachusetts Institute Of Technology Discrete cosine transform processing system
US5202847A (en) * 1990-07-31 1993-04-13 Inmos Limited Digital signal processing
FR2667176B1 (fr) * 1990-09-24 1993-08-06 France Etat Procede et circuit de codage d'un signal numerique pour determiner le produit scalaire de deux vecteurs et traitement tcd correspondant.
JP2866754B2 (ja) * 1991-03-27 1999-03-08 三菱電機株式会社 演算処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100451035B1 (ko) * 1995-08-28 2004-11-26 오우크 테크놀로지, 인코포레이티드 Vsli실행용역이산코사인변환프로세서

Also Published As

Publication number Publication date
NO941402L (no) 1994-10-20
AU664010B2 (en) 1995-10-26
DE69425847T2 (de) 2001-04-26
CA2121197C (en) 1999-06-01
EP0621543B1 (en) 2000-09-13
DE69425847D1 (de) 2000-10-19
KR100246878B1 (ko) 2000-03-15
NO941402D0 (no) 1994-04-18
AU5949194A (en) 1994-10-20
CA2121197A1 (en) 1994-10-20
ATE196377T1 (de) 2000-09-15
TW324126B (en) 1998-01-01
EP0621543A3 (en) 1995-08-09
US5345408A (en) 1994-09-06
EP0621543A2 (en) 1994-10-26

Similar Documents

Publication Publication Date Title
JPH07146853A (ja) 逆離散余弦変換プロセッサ
US5859788A (en) Modulated lapped transform method
US4190861A (en) Method and arrangement for redundancy-reducing picture coding
JP5623565B2 (ja) バタフライプロセッサを使用して離散コサイン変換をエンコードしそして計算するための装置及び方法
US7730116B2 (en) Method and system for fast implementation of an approximation of a discrete cosine transform
JPH07168809A (ja) ウェーブレット変換方法及びウェーブレット変換回路
JPH01226274A (ja) 画像圧縮処理のための方法及びシステム
US5636152A (en) Two-dimensional inverse discrete cosine transform processor
US4463377A (en) Arrangement for storing or transmitting and for recovering picture signals
US20210250575A1 (en) Image processing device
US7076105B2 (en) Circuit and method for performing a two-dimensional transform during the processing of an image
US6996595B2 (en) Apparatus and method for consolidating output data from a plurality of processors
EP0566184A2 (en) Picture transformer and television system with a transmitter and a receiver comprising a picture transformer
US20050084169A1 (en) Image processing apparatus that can generate coded data applicable to progressive reproduction
US5784011A (en) Multiplier circuit for performing inverse quantization arithmetic
JPH0495469A (ja) 画像データ復元方法及び装置
JPH08329047A (ja) 離散コサイン変換回路,離散コサイン逆変換回路,mpegビデオエンコーダ,mpegビデオデコーダ
US5664028A (en) Apparatus and method for compressing still images
JPH01171324A (ja) 高能率符号化装置
JPH08307699A (ja) 画像処理方法
JP2728003B2 (ja) ゼロラン展開回路およびゼロラン展開方法
US6327601B1 (en) Linear transform system for decoding video data
JPH1023426A (ja) 画像予測方法及び画像符号化方法
JP3845208B2 (ja) 画像圧縮装置および画像伸張装置
US20050069038A1 (en) Data manipulation

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040303

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040602

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040929

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050303