JP2962970B2 - 周波数から時間領域への変換方法及び装置 - Google Patents

周波数から時間領域への変換方法及び装置

Info

Publication number
JP2962970B2
JP2962970B2 JP5157003A JP15700393A JP2962970B2 JP 2962970 B2 JP2962970 B2 JP 2962970B2 JP 5157003 A JP5157003 A JP 5157003A JP 15700393 A JP15700393 A JP 15700393A JP 2962970 B2 JP2962970 B2 JP 2962970B2
Authority
JP
Japan
Prior art keywords
data
word
numbered
odd
input
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.)
Expired - Fee Related
Application number
JP5157003A
Other languages
English (en)
Other versions
JPH076161A (ja
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 JPH076161A publication Critical patent/JPH076161A/ja
Application granted granted Critical
Publication of JP2962970B2 publication Critical patent/JP2962970B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は周波数表現から時間表現
へ信号を変換する方法、及びその変換処理を行う為のデ
ィジタル回路装置に関する。
【0002】
【従来の技術】電気通信の分野における共通の目標は情
報量及び伝送速度の両方を増加させることである。しか
しながら、各通信媒体には伝送速度に限界があり、伝達
信号を処理しなければならない送受信端におけるハード
ウエアについても同様のことが言える。例えば、電信線
は、たとえ電信キーをたたいて入力することよりはタイ
プし郵送された書類を読むことの方が早いとしても、情
報を伝送するための媒体としては一般的に郵便に比較し
てずっと高速である。伝達情報を符号化する方法もまた
情報の伝達速度を制限する。例えば、遠回しの電報は同
一の情報量の簡潔なメッセージに比べて伝達するのに時
間がかかる。従って、伝送すべきデータをできる限り圧
縮し、その後通信の両端部において高速伝送媒体を用い
てできる限り高速に処理することにより最高の送受信速
度が得られ、このことはしばしばシステムのネックが低
減若しくは除去されることを意味する。
【0003】大量のデータの高速伝送を行うことが重要
である応用分野の一つにディジタルテレビジョンの分野
がある。しかしながら、従来のテレビジョンシステムは
テレビジョン画面に示されるライン内の画素(“ピクセ
ル”)の輝度及び色を制御するためにアナログの高周波
及び電気信号を用いており、それに対してディジタルテ
レビジョン伝送システムは画像のディジタル表現を生成
するためにアナログ信号をピクセルの輝度及び色値に対
応する二進“数”に変換する。最近のディジタル符号化
方式及びハードウエア構造は一般的に従来のアナログ伝
送システムに比べてずっと高速の情報伝送速度を達成し
ている。このようにして、ディジタルテレビジョンは従
来のアナログの同等物に比べてずっと高い解像度及びず
っと実物に近い画像を得ることができるのである。
【0004】産業化した国々の多くにおいては今後十年
間でいわゆる高品位テレビジョン(HDTV)システム
を含めてディジタルテレビジョンシステムが従来のアナ
ログテレビジョン技術にとって代わると予想されてい
る。アナログからディジタルへの画像処理の変化は、伝
送及び記憶の両方の面において、アナログオーディオレ
コードから現在あらゆるところにあるコンパクトディス
ク(CD)への変化と同様になると考えられる。
【0005】ディジタル画像技術の一般的有用性を高め
るために、ディジタル画像を符号化し、また復号するた
めの標準化された方式が採用されている。そのような標
準化方式の一つとしてはJPEG規格が有り、静止画に
用いられている。動画については、現在二つの規格−M
PEG及びH.261があり、その両方が動画の連続す
るフレームの各々に対してJPEG類似の処理を行う。
JPEGを繰り返し使用することに対する優位性を得る
ために、MPEG及びH.261はフレーム間の差、即
ち動き、が小であるという良く知られた事実を利用して
おり、後のフレームとの差に基づいて動作する。従っ
て、変化に対応する情報を伝送または記憶する方が一般
に、連続した画面内の各フレームが連続した画面内の最
も近いフレームと全く異なっているかの如くして同等の
静止画情報を伝送または記憶するのに比べてより少ない
時間または空間しか必要としないのである。
【0006】便宜上、全ての現行の規格は画像または映
像をタイルもしくはブロックに分割して動作するもので
あり、各ブロックは幅8ピクセル高さ8ピクセルの画面
部分から構成される。次に、各ピクセルはピクセルの
「成分」として知られる3(またはそれ以上)のディジ
タル数によって表される。有色のピクセルを成分に分割
する方法には種々の異なる方法がある。例えば、一般的
な標記法を用いれば、YUV、YCrb、RGB、等で
ある。従来のJPEG類似の方法は全て各成分に対して
別々に動作する。
【0007】目は画像内の高周波数成分(もしくはエッ
ジ)に対しては感覚が鈍いことが良く知られている。通
常、画面の視聴者が画質の大幅な低下に気がつくことな
しに、最高周波数に関する情報を完全に除去することが
可能である。この、目が情報の欠落を検出すること無し
に、高周波数情報を除去することによって画像内の情報
量を減少させるという効果を発揮するために、空間情報
(例えば輝度の実際の値)を含む8×8ピクセルブロッ
クは何らかの方法で周波数情報を得るために変換されね
ばならない。JPEG、MPEG及びH.261規格は
全て公知のディスクリートコサイン変換を用いて8×8
空間マトリクスを操作し、8×8周波数マトリクスを得
ている。
【0008】上記の如く、入力データは画面の四角の領
域を表している。入力データを周波数表現に変換する際
に、適用される変換は二次元の変換でなければならない
が、そのような二次元変換は効率的に計算するのが容易
でない。公知の二次元ディスクリートコサイン変換(D
CT)及びそれに関連する逆DCT(IDCT)は、し
かしながら、“分離”できるという特性が有る。このこ
とは8×8ピクセルブロックにおける64ピクセルを同
時に操作する代わりに、ブロックを最初に行×行の中間
値に変換し、それを次に列×列に変換して最終的な変換
周波数値を得ることが可能であることを意味している。
【0009】次数Nの一次元DCTは二つのN×Nマト
リクスを掛けることと数学的に等価である。8×8ピク
セルブロックについて必要なマトリクスの掛け算を行う
ためには512回の掛け算及び448回の足し算が必要
であり、8×8ピクセルブロックに完全な2次元DCT
を行うためには1024回の掛け算及び896回の足し
算が必要である。これらの演算操作、及び特に掛け算等
の操作は複雑で低速であり、そのため達成可能な変換速
度は低く制限される。さらにそれらはDCTを行うため
に用いられるシリコンチップ上でかなりの空間を必要と
する 。
【0010】DCT操作は必要とされる計算を少なくす
るために整理し直すことができる。現在二つの主な方法
がDCTに必要とされる計算を減少させるために用いら
れており、その両方が“二進デシメーション(deci
mation)”を用いている。“二進デシメーショ
ン”という用ワードはN×N変換が2つのN/2×N/
2変換と、それを配置する際のいくらかの計算上の付帯
部分とによって行うことができることを意味している。
8×8変換は512回の掛け算及び448回の足し算を
必要とするけれども、4×4変換は64回の掛け算及び
48回の足し算のみでよい。こうして二進デシメーショ
ンによって384回の掛け算及び352回の足し算が不
要になり、デシメーションを行う際に導入される付帯部
分は通常この計算処理の減少に比較して目立たない大き
さである。
【0011】現在、二進デシメーションのためには二つ
の主な方法が、Byeong Gi Lee("ANew Algorithm to Co
mpute the DCT", IEEE Transactions on Acoustics, Sp
eech and Signal Processing, Vol. Assp 32, No. 6,
p. 1243, December 1984) 及び Wen-Hsiung Chen("A F
ast Computational Algorithm for the DCT", Wen-Hsiu
ng Chen, C. Harrison Smith, S.C. Pralick, IEEE Tra
nsactions on Communications, Vol. Com 25, No. 9,
p. 1004, September 1977)により開発されている。Lee
の方法は逆DCTの定義に本来備わっている対称性を利
用しており、単純なコサイン識別情報を用いることによ
って再帰型二進デシメーションのための方法を定義して
いる。Leeによる解決方法はIDCTに対してのみ適当
である。Chenの方法はマトリクスを対角行列のみに還元
する再帰型マトリクス識別情報を用いている。この方法
は対角行列に対する公知の識別情報を用いてDCTの容
易な二進デシメーションを与えるものである。
【0012】Lee及びChenの方法の重大な不利益は、い
つ掛け算及び足し算を行わなければならないかという点
に関してバランスがとれていないことである。本質的
に、これらの方法の両方において多数の足し算の後に多
数の掛け算、またはその逆を行う必要がある。ハードウ
エアにおいてLeeまたはChenの方法を処理する場合には
加算器及び乗算器を並列に動作させることは不可能で
る。ハードウエアの最高の利用状態はすべての加算器及
び乗算器が全ての時間に使用される時であるから、この
ことはそれらの方法の速度及び効率を低下させる。
【0013】DCT及びIDCT操作を行うためのかか
る公知の方法の更に他の不利益は、いわゆる正規化係数
を扱うことが通常困難であり、公知のアーキテクチャで
は全ての乗算器が使用されている時に余分の掛け算を追
加することが必要になる。ビデオデータに前方及び逆D
CTを適用するための、ある公知の方法はソフトウエア
デザイナーにとって計算を実行しなければならない半導
体装置のレイアウトを心配しなくて良く、非常に単純か
つ高度に効率的である。しかしながら、かかる方法は、
しばしば極度に低速であり、ディジタルビデオに必要と
される伝送速度で満足に動作するには半導体アーキテク
チャ及びハードウエアの相互の接続が極度に複雑にな
る。
【0014】現在あるビデオデータのDCT及びIDC
T操作を行う方法及びハードウエア構造の更に別の欠点
は数値の浮動小数点の内部表現が必要とされることであ
る。この不利益について説明すると、まず、人が、小数
点(もし有れば)の右側にある桁を含めて、3桁の数の
みしか扱うことができない計算機を使用すると仮定す
る。更に計算器が数12.3及び及び4.56を加算す
ると仮定する。(小数点がこれらの2つの数の数字の位
置に対して固定していないこと、換言すれば、小数点は
“浮動”可能であることに注意)この計算器は解16.
86を完全に表すのに必要な4つの数字を記憶すること
はできないため、計算器は最も右にある数字“6”を省
略することにより解を切り捨てて16.8とするか、あ
るいは解を最も近い3桁の近似値16.9にまるめるハ
ードウエアを設けて解を3桁の数に還元しなければなら
ない。
【0015】この非常に簡単な例が示すように、もし浮
動小数点の演算が想定または必要とされると、正確さを
失うか、答をまるめる際の誤差を最小にする非常に複雑
で場所をとる回路を含めるかのいずれかを受け入れなけ
ればならない。しかしながら、効率的な丸め回路を用い
たとしても丸めまたは切り捨て誤差の蓄積及び伝幡によ
りビデオ信号に容認できない歪が生じるかも知れない。
一般に浮動小数点の丸め及び切り捨て誤差は加算よりも
掛け算に対してより大であるため、この問題はビデオ信
号を処理するための方法が幾つかの掛け算を必要とする
場合により大きくなる。
【0016】ずっと効率的なDCT/IDCT処理方法
及びハードウエア構造を使用すれば、その方法において
用いられる数を固定小数点を用い、各数の完全なダイナ
ミックレンジが使用可能であるように表すことが保証さ
れる。そのようなシステムにおいては、切り捨て及び丸
め誤差は除去されるかあるいは少なくとも大きく減少さ
れる。
【0017】上記の例において、もしハードウエアが4
桁の数字を扱うことができたとすると、99.99より
大の数は全く必要が無くなり、全ての数が2番目及び3
番目の数の間に小数点を持つことになり、その結果小数
点の存在は計算に全く影響しなくなり、演算はすべての
数が整数であるかの如くして実行することが可能にな
る。解1230+0456=1686は、“1686”
が“6”と“8”との間に小数点を持たねばならないこ
とは誰でも常に知ることができるため12.30+4.
56=16.86とする場合と同じく明らかである。或
いは、もし数(定数またはそれ以外)が同一の範囲内に
入るように選択的に桁移動または調整されたとすると、
その範囲の各数はまた一組の整数として正確かつ曖昧さ
無く表すことができる。
【0018】必要とされる乗算器の数を減らす一つの方
法は単に異なる信号源からの入力データを受け入れるこ
とが可能な一つの乗算器を用いることである。換言すれ
ば、あるアーキテクチャにおいては、単一の乗算器を用
いてDCTまたはIDCTの計算の異なるステップにお
いて必要とされる掛け算を行っているのである。そのよ
うな“クロスバースイッチング”は必要とされる乗算器
の数を減少させるかも知れないけれども、その代わりに
乗算器への入力を選択し、他の入力を乗算器から分離
し、選択された信号源から適切な信号を切り替えて乗算
器の入力に供給する大規模で複雑なマルチプレクサ構造
を含めなければならないことを意味している。また、共
用された乗算器からの多数の出力を切り替えて適切な後
段の回路に供給するために追加の大規模マルチプレクサ
が必要とされる。従って、クロスバースイッチングもし
くはマルチプレクシングは複雑で、一般的に低速であり
(余分の記憶装置が必要とされるため)、最終的な半導
体として実現する段階でコストが大になる領域である。
【0019】“クロスバースイッチング”を含む現行の
アーキテクチャの更に他の欠点はそれらが汎用の乗算器
を必要とすることである。換言すれば,現行のシステム
は両方の入力が可変である乗算器を必要とするのであ
る。良く知られているように、ディジタル乗算器を使用
する場合は一般に加算器及び桁送り器の列を、乗算器の
ワードの現在のビットが“1”であるならば、被乗数の
値が部分的な結果に加算されるけれども現在のビットが
“ゼロ”であるならば加算されない。汎用乗算器は全て
のビットが“1”である場合にも対処しなければならな
いため、加算器の列を乗算ワードの各ビットに対して設
ける必要がある。
【0020】一例として、データワードが8ビット幅で
あり、一つの入力を5倍したいと考えたと仮定すると、
数5の8ビット表現は0000101である。換言すれ
ば、ディジタルの5の乗算は入力値を左に2桁移動し、
(4の掛け算に対応する)その後、その桁移動しない値
に加算するだけで良い。係数の他の6桁はビット値が
“0”であり、それら桁移動や加算のステップを必要と
しない。
【0021】固定係数の乗算器即ち、この場合、5によ
る掛け算のみが可能な乗算器は、掛け算を行うために一
つの桁送り器と一つの加算器のみが必要である(桁上げ
ビットを処理するのに必要な回路は除く)。汎用乗算器
は、逆に、その内の6つは全く使用されないにも拘らず
8桁の各々に桁送り器及び加算器が必要である。上記の
例が示すように、固定の係数を用いることにより設計者
が係数の内のゼロに対応する加算器の列を除くことが可
能になり、シリコンチップの領域を節約し、乗算器を簡
略化することが可能である。
【0022】
【発明が解決しようとする課題】本発明は効率的であり
かつ半導体装置における占有面積を増加させることなく
かく演算操作が配置され、高い処理能力を実現する二次
元DCT/IDCT方法及び装置を提供することが目的
である。
【0023】
【課題を解決するための手段及びその作用】本発明の種
々の局面については添付の請求項に例示されている。本
発明の更に他の局面によるIDCT方法においては、N
×Nピクセルブロックの各N−行及びN−列のための一
次元IDCTは選択的に除去され、一次元IDCTがN
/2偶数ピクセル入力ワード及びN/2奇数ピクセ
ル入力ワードに対して別々に実行される。
【0024】好適な実施例において、JPEG規格に基
づき、Nは8に決められている。二次元IDCTの結果
は二つの一次元IDCT操作(中間的なデータの再整理
−位置変更−を伴う)を連続して行うことによって得ら
れる。共通処理ステップにおいては、N=8に対して、
入力値の最初の対が掛け算を行う必要なしに出力加算器
及び減算器に供給される。入力値の第2の対の各々は二
つの桁移動されたコサイン値に対応する二つの係数値の
各々によって乗算される。共通処理ステップにおいては
他に掛け算は必要でなく、一回の減算及び一回の加算の
みが必要である。第2の対が入力値の第1の対に対して
各対が対応するように加算または差が求められ、偶数ま
たは奇数の結果の値が形成される。
【0025】前共通処理ステージにおいて、最下位の奇
入力ワードは前もって√2倍され、奇数入力ワー
は共通処理ブロックにおいて処理される前に対をなし
て加算される。後共通処理ステージにおいては処理され
た奇数入力ワードに対応する中間値が所定の一定の係
数に乗算されて奇数の結果値が形成される。偶数
び奇数の結果値の計算の後、N/2上位出力が偶数
の結果値からの奇数の結果値の減算により形成され、
N/2下位出力が奇数の結果値と偶数の結果値との
単純な加算によって形成される。
【0026】DCT(ビデオ処理システムの伝送側端部
における変換)及びIDCT(受信側端部における変換
であり、発明の種々の局面のうちの一つ以上を含む)の
両方について、処理すべき値は好ましくは√2だけ意図
的に上位側に桁移動される。DCT/IDCT操作が実
行された後に、その結果の値は単純な二進右シフトによ
って2だけ下位方向に桁移動される。このよく考えられ
たバランスした上位方向への桁移動により従来の方法に
おいて必要とされた掛け算のうちの幾つかが除かれる。
【0027】本発明の方法の他の局面によれば、一定の
係数または中間の結果のデータワードの選ばれたビット
は丸められ或いは選ばれたビットの所定の設定により
“1”か“0”の何れかに調整される。ピクセルデータ
の二次元変換は第1の一次元IDCT変換処理ステップ
からの出力値に対する第2の同一の一次元操作により実
行される。
【0028】本発明の更に他の局面によるIDCTシス
テムは前共通処理回路、共通処理回路、及び後共通処理
回路を含み、前共通、共通、後共通処理の計算が入力デ
ータワードに対して行われる。監視用コントローラによ
って、種々のシステムラッチのロードを制御する制御信
号と、好ましくは、N/2偶数及びN/2奇数入力
ワードの前共通ブロックの入力ラッチへの供給を時間的
に直列に多重化するための制御信号と、偶数番及び奇数
の結果の値を加算し低位出力信号を形成してラッチす
ることと、奇数の結果の値を偶数の結果の値から減
算して高位出力信号を形成してラッチすることを管理す
る制御信号と、内部マルチプレクサを逐次制御する制御
信号とが生成される。
【0029】奇数及び偶数入力ワードは好ましくは
同一の処理ブロックにおいて別々の経路で処理される。
入力データワードは好ましくは(必ずではなく)厳密に
昇順または降順ではないけれども、データ経路に対する
効率的な“バタフライ”構造を形成することを可能にす
る順序でラッチされる。少なくとも共通処理回路は純粋
な論理回路として構成することができ、その正常な動作
のためにクロック又は制御信号を必要としないが、他の
処理ブロックについても個々の応用状態に依存して同様
のことが言える。
【0030】汎用乗算器(2つの可変入力を有する)は
必要とされず、その代わりに好ましい実施例全体にわた
って一定係数の乗算器が含まれる。更に、好ましい実施
例は全ての必要な算術演算を行うために固定小数点整数
演算素子を含む。発明のいくつかの実施例は以下の特徴
の一つ以上を有するビデオデータのIDCT変換を行う
方法及びシステムを提供するように設計されていること
が明らかになる。 (1)贅沢な算術演算を常に使用すること。 (2)IDCTを実行するために必要とされるシリコン
領域を減少させるために、記憶素子(ラッチ等)は、そ
の数が好ましくはアーキテクチャの効率的なパイプライ
ン処理のために必要とされる数より多くはない程度に小
数であり、余分の記憶素子を必要とする汎用乗算器の代
わりに小数の一定係数乗算器に接続される。 (3)個々の算術演算が複雑なデザインを用いる必要が
ないように演算操作が配置されていること。例えば、も
し公知の「リップル加算器」が使用されていれば、これ
らは解を「分解し」(下を参照)または生成するのに十
分な時間を合わせる。もしデータ経路においてかかるリ
ップル加算器に先行する他の素子が加算器の動作が終了
するのを待っている間に何も動作しない状態になるよう
に演算操作が配置されているとすると、この遅れを避け
るように操作を再配置することによりより高い処理能力
(スループット)及び効率が得られる。 (4)自然な順序で結果を生成することができること。 (5)贅沢で複雑なクロスバースイッチングが必要でな
いこと。 (6)アーキテクチャが非常に高速の動作を支持するこ
とが可能であること。 (7)伝送ハードウエアを通したデータの流れを制御す
る回路がその面積を小さくできること。
【0031】
【実施例】発明のより良い理解を促し、発明が実際にど
の様に実体化されるかを示すために、以下例として、添
付図面を参照して説明する。発明の理論的背景 種々の部品の目的、機能及び本発明によるIDCTシス
テムにおいて用いられた信号処理方法の利点を理解する
ためには、システムの理論的基礎を理解することが役立
つ。
【0032】2次元IDCTの分割可能性 ピクセルのN×Nブロックのため二次元順方向ディスク
リートコサイン変換(DCT)の数学的定義は以下の通
りであり、Y(j,k) はピクセル絶対値 X(m,n)に対応する
ピクセル周波数値である。
【0033】
【数1】
【0034】項2/Nは変換の直流レベルを支配し、係
数 c(j)、c(k) は正規化因子として知られている。対応
する逆ディスクリートコサイン変換、即ちIDCT、に
対する表現は以下の通りである。
【0035】
【数2】
【0036】順方向DCTは空間値(輝度などの特性を
直接表すか、あるいはMPEG規格などにおけるように
差を表す)をその周波数表現に変換する。逆DCTはそ
の名前が示すように、他の「方向」即ち、IDCTは周
波数値を逆に空間値に戻す方向に動作する。式E2にお
いて、コサイン関数は各々が加算指数の一つにのみ依存
する。従って、式E2は以下のように書き直すことがで
きる。
【0037】
【数3】
【0038】これは、k及びnに依存するすべての項の
積に対して最初の一次元IDCTを行うことと等価であ
り、続けて、直接の標準標準的なデータ転置の後に第1
のIDCT操作の出力を入力とする第2の一次元IDC
Tが行われる。一次元IDCTの定義 一次元のN点のIDCT(Nは偶数)は以下の式によ
り表される。
【0039】
【数4】
【0040】更に、y(n)は逆変換関数のN入力 であ
り、x(k)はその出力である。二次元の場合と同じよう
に、DCTのための式は加算記号以下で同一の構造を有
しているけれども、加算記号の外側に正規化定数が設け
られ、x及びyベクトルが式の中で位置が入れ替わって
いる。一次元IDCTの分解 上に示した如く、二次元IDCTは転置操作により分離
された一連の一次元IDCT操作をもちいることによっ
て計算することができる。一実施例によれば、これらの
一次元操作の各々は順次部分操作に区切られ、次にそれ
らは必要な半導体装置の大きさ及び複雑さを更に減少さ
せるために利用される。
【0041】係数の正規化 前述した如く、IDCTハードウエアの重要な設計目標
は回路に含めなければならない乗算器の必要数を減少さ
せることである。従ってDCTまたはIDCTを計算す
る方法の大部分は掛け算の必要回数を減少させることを
意図したものである。この実施例によれば、しかしなが
ら、全ての入力値は意図的に√2だけ上位側に桁移動さ
れている。換言すれば、この実施例による方法を用いる
とき、IDCTの式E4の右側部分は意図的に√2倍さ
れている。
【0042】この実施例によれば、2回の一次元IDC
T操作が順次実行されて(中間の転置を有する)最終的
な二次元IDCTの結果が得られる。これらの一次元操
作の各々は、同一の√2による掛け算を含む。中間の転
置は桁移動を伴わないため、2回の√2による連続した
掛け算の結果は最終的な二次元の結果は√2・√2=2
だけ上位方向に桁移動されることになる。桁移動されな
い値を求めるためには、回路は単に2でわり算するだけ
でよく、この操作は値がすべてディジタルで表現されて
いるため、データの単純な右シフトにより容易に達成で
きる。
【0043】以下の記述でより明確になる如く、各一次
元IDCT処理段階における上位方向の√2の桁移動及
び最終的な下位方向への2の桁移動はすべてシステムの
ハードウエア内の加算器、乗算器、及び桁送り器により
達成される。そのため本システムが接続され得る他の装
置に対して桁移動された入力が本システムにより要求さ
れることは無い。これにより、システムはJPEGまた
はMPEG規格により動作する従来の装置と互換性をも
つことができる。
【0044】このように、この実施例による正規化によ
って、少なくとも二つの√2の掛け算の処理のためにI
DCT半導体アーキテクチャ内にハードウエア乗算器を
設ける必要をなくすことができる。以下に詳述する如
く、各一次元操作における入力データに対する追加の単
一の掛け算ステップ(√2による上位方向への桁移動)
は、従来の方法を用いた場合に必要とされる更に他の掛
け算ステップを除去することにつながる。
【0045】一次元IDCTの高位及び低位出力への分
ここで、式E4はN/2低位出力(k=0,1,...
N/2−1)及びN/2高位出力(k=N/2,N/2
+1,...N)について別々に評価可能である。N=
8に対して、これは最初に入力を変換して y(O)、y
(1)、y(2) 及び y(3)を計算し、次に入力を変換して y
(4)、y(5)、y(6) 及び y(7) を計算することができるこ
とを意味している。
【0046】高位出力(k=N/2+1,...N)に
対して変数k’=(N−1−k)を導入すると、k’は
kが(N/2+1)からNに変化するときに(N/2
−1)から0に変化する。N=8に対しては、これはk
={4,5,6,7}に対してk’={3,2,1,
0}となることを意味している。次に、式E4が以下の
二つの部分式E5(加算の間隔以外はE4と同一であ
る)及びE6に分離できることを示す。 低位出力:
【0047】
【数5】
【0048】高位出力:
【0049】
【数6】
【0050】ただし k = {N, ..., (N/2+1)} k'→{0,
1, ..., (N/2ー1)} (すべての高位の項においてc(n) = 1 であるため c(n)
はこの式に含めていない。)E5及びE6は項 (−
1)nが加算記号以下の積の符号を上側のN/2出力値
に対する奇数番号入力(nが奇数)について変化させる
こと及び y(0) 項が c(0)=1/√2により乗算される
ことを除いて加算記号以下が同一の構造であることに注
意されたい。
【0051】一次元IDCTの偶数番及び奇数番入力へ
の分離 一次元IDCTの式E4における単一の和もまた二つの
和、即ち偶数入力(N=8に対してy(0),y
(2),y(4)及びy(6))のための一つの和及び
奇数入力(N=8に対してy(1),y(3),y
(5)及びy(7))のための一つの和に分離できるこ
とが注目される。g(k)が偶数入力のための部分和
を表し、h(k)が奇数入力のための部分和を表すも
のとする。
【0052】これにより
【0053】
【数7】
【0054】ただし k = {0, 1, ..., (N/2−1)}
【0055】
【数8】
【0056】ただし k = {0, 1, ..., (N/2−1)} N=8に対して、式E7及びE8の両方における和がn
={0,1,2,3}に引き継がれる。ここでよく知ら
れたコサインの恒等関数を思い出すと、 2・cosA・cosB = cos(A+B) + cos(A-B)であり、A = π
(2k+1)/2N 及び B = π(2k+1)(2n+1)/2N とする。その
結果式E8の両辺に2・cos A = 1/(2・cos(π(2k+1)/2
N)) = Ck を乗算することができる。
【0057】Ckが加算指数nに依存していないため、
加算記号内で移動することができることが注目される。
次に定義に従って y(-1)=0 とすると、入力 y(7) に対
するコサイン関数はゼロに等しいことが注目される。h
(k) のため式はその結果以下の形式に書き換えることが
できる。
【0058】
【数9】
【0059】 ここでk={0,1,...,(N/2−1)} “入力”[y(2n+1)+y(2n−1)]はh
(k)を計算する際に奇数入力項は対にされ、N/2
“対の入力”p(n)=[y(2n+1)+y(2n−
1)]を形成することを示唆していることが注目され
る。N−8に対してp(n)の値は以下の通りである。
【0060】n p(n) 0 y(-1)+y(1)=y(1) (定義により y(-1)=0) 1 y(1)+y(3) 2 y(3)+y(5) 3 y(5)+y(7) h(k) のための式E9は次に以下の如く表される。
【0061】
【数10】
【0062】 ただしk={0,1,...,(N/2−1)} ここで、加算記号の下のコサイン項はg(k)及びh
(k)の両方に対して同一であり、両者は一次元IDC
Tの構造(式E5と比較して)を有することが注目され
る。奇数k項即ち、h(k)のためのIDCTの結果
には、しかしながら、係数Ck=1/{2・cos[π
(2k+1)/2N]}が乗算される。換言すれば、g
(k)は偶数入力y(2Π)に対して動作するN/2
点IDCTであり、h(k)は[y(2n+1)+y
(2n−1)]に対して動作するN/2点IDCT、た
だし定義によりy(−1)−0、である。
【0063】ここで以下の識別子を導入する。 yn = y(n) c1 = cos(π/8) c2 = cos(2π/8) = cos(π/4) = 1/√2 c3 = cos(3π/8) d1 = 1/[2・cos(π/16)] d3 = 1/[2・cos(3π/16)] d5 = 1/[2・cos(5π/16)] d7 = 1/[2・cos(7π/16)] さらに以下の桁移動コサイン係数を導入する。
【0064】c1s = √2・cos(π/8) c3s = √2・cos(3π/8) 公知のコサイン関数の均等性(cos(-φ) = cos(φ))及
び周期性(cos(π-φ)= -cos(φ))を用いると、式E7
及びE8はN=8に対して拡張され、以下の結果が得ら
れる(c(0)は 1/√2 である) g(0) = 1/√2・y0 + y2c1 + y4c2 + y6c3 = 1/√2・(y0 + y2・c1s + y4 + y6・c3s) g(1) = 1/√2・y0 + y2c3 - y4c2 - y6c1 = 1/√2・(y0 + y2・c3s - y4 - y6・c1s) g(2) = 1/√2・y0 - y2c2 - y4c2 + y6c1 = 1/√2・(y0 - y2・c3s - y4 + y6・c1s) g(3) = 1/√2・y0 - y2c1 + y4c2 - y6c3 = 1/√2・(y0 - y2・c1s + y4 - y6・c3s) 及び h(0) = d1・{y1 + (y1+y3)c1 + (y3+y5)c2 + (y5+y7)c
3} = d1/√2・{√2・y1 + (y1+y3)・c1s + (y3+y5) + (y5
+y7)・c3s} h(1) = d3・{y1 + (y1+y3)c3 - (y3+y5)c2 - (y5+y7)c
1} = d3/√2・{√2・y1 + (y1+y3)・c3s - (y3+y5) - (y5
+y7)・c1s} h(2) = d5・{y1 - (y1+y3)c3 - (y3+y5)c2 + (y5+y7)c
1} = d5/√2・{√2・y1 - (y1+y3)・c3s - (y3+y5) + (y5
+y7)・c1s} h(3)= d7・{y1 - (y1+y3)c1 + (y3+y5)c2 - (y5+y7)c
3} = d7/√2・{√2・y1 - (y1+y3)・c1s + (y3+y5) - (y5
+y7)・c3s} ここで、この実施例によれば、DCT及びIDCT操作
の両方に対して全ての値が√2だけ上位方向に桁移動さ
れていることを思い出されたい。言い替えれば、この実
施例によれば h(k) 及び g(k) の両方にはこの桁移動係
数が乗算される。従って g(k) 及び h(k) の式は以下の
如くなる。
【0065】(E11): g(0) = y0 + y2・c1s + y4 + y6・c3s g(1) = y0 + y2・c3s - y4 - y6・c1s g(2) = y0 - y2・c3s - y4 + y6・c1s g(3)= y0 - y2・c1s + y4 - y6・c3s 及び (E12): h(0) = d1{√2・y1 + (y1+y3)・c1s + (y3+y5) + (y5+
y7)・c3s} h(1) = d3{√2・y1 + (y1+y3)・c3s - (y3+y5) - (y5+
y7)・c1s} h(2) = d5{√2・y1 - (y1+y3)・c3s - (y3+y5) + (y5+
y7)・c1s} h(3)= d7{√2・y1 - (y1+y3)・c1s + (y3+y5) - (y5+
y7)・c3s} c2 = cos(π/4)= 1/√2 であるから、 √2による掛け
算により「桁移動された」c2の値は1になることが分
かる。式(ビデオ絶対値及び周波数値の値の桁移動に対
応する)をこの実施例に従って桁移動することにより、
c2により乗算する必要を全く無くすることが可能であ
る。更に、二つのコサイン項のみを評価すれば良く、c
1s及びc3sは両方とも一定係数であり、汎用乗算器
は必要なくなる。これによって、IDCT操作を半導体
により実行する場合に、対応するハードウエア乗算器を
用いる必要がなくなる。
【0066】g(k) 及び h(k) の構造上の類似性はこれ
らの式のセットをマトリクス形式で表わすことによって
示すことができる。Cを以下の様に定義される4×4コ
サイン係数マトリクスであるとする。
【0067】
【数11】
【0068】次に
【0069】
【数12】
【0070】そして
【0071】
【数13】
【0072】ただしD=diag[d1,d3,d5,
d7]は4×4マトリクスであって、d1,d3,d5
及びd7は対角線上にあり、全ての他の要素はゼロに等
しい。E14及びE15が示す如く、偶数入力を操作
してg(k)を得る操作及び奇数入力を操作してh
(k)を得る操作の両者はコサイン係数マトリクスCに
よる掛け算の共通ステップを有する。h(k)を得るた
めには、入力は最初に対として加算されねばならず(定
義によりy(−1)=0)、y(1)には√2が掛け算
されねばならず、Cによる掛け算の結果にはDが掛け算
されねばならない。
【0073】上述の式はまた、N点の一次元IDCT
(E4参照)は二つのN/2点一次元IDCTに分割す
ることができ、その各々はN/2奇数(グループ化さ
れた)及びN/2偶数入力値の共通コア操作(加算記
号以下)を含むことを示している。上記の式はこの実施
例において実行されるIDCTのための以下の様な単純
な構造を生成する。
【0074】 低位出力 (N=8に対して、出力k−{0,1,2,3}): (E16):y(k)=g(k)+h(k) 高位出力 (N=8に対して、出力k={4,5,6,7}): (E17):y(k)=y(N−1−k’)=g(k’)−h(k’) g(k)は偶数入力値に対して直接作用して直接出力
値を生成するけれども、h(k’)は入力値のグループ
化及び値d1,d3,d5及びd7による掛け算を含む
ことが注目される。
【0075】通常の場合と同じく、IDCT回路の設計
者は大きさ対速度、多数の素子を実装することに対して
相互接続の複雑さを減少させること等の多くの妥協点
(トレードオフ)に直面する。例えば、多くの場合にシ
リコンチップ上により多くの、或いはより複雑な、素子
を含めることにより計算の速度を高めることが可能であ
るが、このことは明らかに装置を大きくし複雑化する。
また、IDCTチップ上で利用可能な面積あるいは望ま
しい面積が洗練された複雑な回路デザイン例えば“ロッ
クアヘッド”加算器等の使用を制限もしくは除外するこ
とになるかもしれない。
【0076】精度の基準全ての計算の精度が無限大であ
り、その結果部品のスペース及び計算時間に制限が無い
と仮定すると、DCT変換された画像データに対してI
DCTを行うことによって再現された画像は元の画像を
完全に再生することになる。勿論、そのような完全性は
現行の技術を用いて得られるものではない。
【0077】しかしながら、いくらかの標準化を達成す
るために、IDCTシステムは現在国際電信電話諮問委
員会(CCITT)により「CCITT勧告H.261
の付録1−逆変換精度規格」によって提案されている標
準化された方法に従って計測されている。このテストは
ランダム整数を含む8×8ブロックの10,000個の組を生
成することを規定している。これらのブロックは次に予
め定義された精度を用いてDCT及びIDCT変換され
(予め定義された丸め処理、クリッピング処理、及び算
術演算をその前または後に行う)、8×8「基準」ID
CT出力データの10,000個の組を生成する。
【0078】IDCTの処理系をテストする際に、CC
ITTテストブロックが入力として用いられる。実際の
IDCT変換された出力は次に統計的に公知の“基準”
IDCT出力データと比較される。ピーク、平均値、不
偏分散及びブロック全体及び個々の値の平均誤差の平均
値に関しての各最大値がIDCTに対して規定されてい
る。更にIDCTは、もし対応する入力ブロックが全て
ゼロを含んでいれば、全てゼロ以外を出力しなければな
らず、全ての入力データの符号が変化した場合にもID
CTは同一の規格を満たさねばならない。IDCTの処
理系はこれらのテストが実行される際にそれらの最大誤
差が規定の最大値を越えない場合にのみ許容し得る精度
を持つと言われている。
【0079】他の公知の規格は米国電気電子学会(「I
EEE」)による「IEEE8×8ディスクリートコサ
イン変換の処理系のための標準仕様案」、P1180/D2, 19
90年7月18日におけるもの; 「8×8逆ディスクリ
ートコサイン変換」の付録、ISO委員会 CD 11172−2
草案におけるもの等がある。これらの規格は基本的には
上述のCCITT規格と同一である。
【0080】ハードウエア処理系 図1は一実施例(ハードウエア構造は以下に示して説明
した如くより簡潔かつ効率的に作られているけれども)
のIDCT処理方法におけるデータの流れを示す単純化
したブロック図である。図1において、Y[0]及びY
[4]等のシステムへの入力、並びにX[3]及びX
[6]などのシステムからの出力は単一の線路上で伝送
されるものとして示されている。図1におけるこの単一
に表示された線路の各々は、各入力及び出力が対応する
数ビット幅のデータワードを好ましくは並列に伝送する
データバスの形をとったいくつかの導体を表しているこ
とが理解されるべきである。
【0081】図1において、大きな開いた円は2入力―
出力の加算器を表し、加算器の入力の接続点における小
さな円は対応する入力ワードの補数が用いられることを
示している。かかる相補的入力を伴う加算器は非相補的
入力から補数をとった入力を減算する。例えば、上側左
の加算器からの出力T0がY[0]+Y[4]に等しく
なるのに対し(即ちT0=Y0+Y4)、出力T1の加
算器は値Y0+(−)・Y4−Y0−Y4を生成する。
従って単一の相補的入力を有する加算器は成分の差を取
ると言うことができる。
【0082】図1においてまた、一定係数乗算器はデー
タ経路内の塗りつぶした三角形で表される。例えば、
入力Y1はB0を生成する加算器に入力される前に √
2乗算器を通過する。その結果、中間値T3はT3=Y
2・T3=Y2・c1s+Y6・c3sとなり中間値B
2はB2=p1・c3s−p3・c1s=(Y1+Y
3)・c3s−(Y5+Y7)・c1s となる。図に示
された加算、減算及び掛け算を行うことにより、図示さ
れた構造は g(0) から g(3) 及び h(0) から h(3)に対
して式E11及びE12を実行することが分かる。
【0083】図1は実施例の重要な利点を示している。
図1が示す如く、この構造は4つの主要な領域に分けら
れている。即ち対となった入力 p(k) を形成し入力 Y
(1) に√2を乗算する前共通ブロックPRECと、定数
d1、d3、d5、d7(式E12参照)のための4つ
の乗算器を含む第1の後共通ブロックPOSTC1と、
低位出力のためにg0からg3項及びh0からh3項を
合計し、高位出力のためにg0からg3項及びh0から
h3項の差を形成する(式E16及びE17参照)第2
の後共通ブロックPOSTC2と、共通ブロックCBL
K(以下に説明する)である。
【0084】式E14及びE15が示す様に、実施例に
従って入力信号を操作することにより、偶数及び奇数
入力信号の両方を処理することはマトリクスCで表さ
れる共通の処理を含むことになる。このことは図1から
明かであり、共通ブロックCBLKは偶数及び奇数
データ経路の両方に含まれている。この実施例による処
理回路において、奇数及び偶数入力に対して行われ
る共通操作は図1に示された重複した構造よりはむしろ
単一の構造により実行される。
【0085】操作の方法及びこの実施例で用いられた幾
つかのディジタル構造の利点を理解するためには、“桁
上げワード”はどのようなものであるか、またそれがど
のようにして生成されるかについて理解することが有効
である。最も一般的な二つの算術演算即ち足し算及び掛
け算を行う際に、ディジタル装置は“桁上げビット”の
問題を処理する必要がある。単純な例として、二つの二
進数の足し算は“1”の桁上げを伴う1+1=0であ
り、正しい結果“10”(十進数“2”の二進表現)を
得るためにかかる桁上げビットは次の高位ビットに加算
されねばならない。換言すれば、01+01=00(桁
上げ無しの“合計”)+10(桁上げワード)であり、
“合計”を”桁上げワード”に加算することにより正し
い答00+10=10が得られる。
【0086】十進数の例として、数 “436”と “8
25”を加算する必要があると仮定する。二つの数を手
で足し算する場合の一般的な過程は通常以下の如くであ
る。 1)1の位:“6”足す“5”は“1”、及び “十
の” 位置への“1”の桁上げ。 合計:1、桁上げ入力:0、桁上げ出力:1 2)十の位:“3”足す“2”は“5”、これに前のス
テップから桁上げされた“1”を足すと“6”となり、
桁上げは無し。 合計:5、桁上げ入力:1、桁上げ出力:0 3)百の位:“4”足す“8”は“2”、及び千の位へ
の1の桁上げ、ただし前のステップから加算する桁上げ
は無し。 合計:2、桁上げ入力:0、桁上げ出力:1 4)千の位:“0”足す“0”は“0”、これに百の位
から桁上げされた“1”を足すと“1”となる。 合計:0、桁上げ入力:1、桁上げ出力:0 答 “1261”はこのように各桁への桁上げ入力が隣
接する下位位置の桁上げ出力であるときに、各桁への桁
上げ入力の合計を同一の桁のための合計に加算すること
により形成される。(このことは最下位の桁への桁上げ
入力が常に“0”であることを意味していることが注目
される。)問題は、勿論、百の位の桁の“4”及び
“8”を加算するのを10の位の桁からの桁上げ入力が
あるかどうかが分かるまで待たねばならないことであ
る。以上は基本的にこの方法で動作する“リプル(波
及)加算器”を示している。リプル加算器はこのように
して余分の記憶素子を用いる必要無しに“最終的な”答
を得るものであるが、他の方法に比べて低速である。
【0087】そのような他の方法の一つとしては各桁へ
の二つの数の合計が部分合計または結果のワード(この
例において、0251)及び異なるワードの桁上げ値
(ここでは1010)を記憶することにより形成され
る、“桁上げ保留”加算として知られたものが有る。全
体の答は次に合計と桁上げワードを以降の加算ステップ
で“分解”することにより得られる。こうして0251
+1010=1261が得られる。桁上げが加算される
べきかどうか決まるまで待つ必要無しに各桁のための加
算を同時に行うことができ、桁上げワードはそれが保持
されている間はいつでも部分的結果に加算することがで
きるのである。
【0088】分解操作は通常計算の各段階で必要とされ
る時間の最大の部分を必要とするため、これらの操作を
高速化することは、変換の大きさの比較的小さな増加を
必要とするだけであり全体の演算速度に対して顕著な効
果がある。このように桁上げ保留乗算器は通常、各行に
リプル加算器を用いる構成より高速であるけれども、乗
算器内の各加算のための桁上げワードを記憶するか次の
加算のために渡さねばならないため、その時間的な利益
は複雑さが増すという犠牲があってはじめて得られるの
である。
【0089】更に、最終的な掛け算の結果を得るために
は、最終的な部分和及び最終的な桁上げワードが通常リ
プル加算器内の加算により分解されねばならない。しか
しながら、一つのリプル加算器のみが必要とされ、時間
の節約は実行しなければならない掛け算の大きさに比例
することが注目される。更に、桁上げワードは他の加算
すべき数と同じように扱われ、最終的な掛け算の答が必
要になる前のある時点で加算される限り、実際の加算は
遅らすことができることに注目すべきである。
【0090】この実施例において、分解を遅らせるこの
ような可能性は設計を単純化しIDCT回路の処理能力
を増加させるために用いられている。また、予め選択さ
れた桁上げワードの一定のビットは、随意、標準のテス
トデータセットに対する発明の試験的動作の統計的分析
に基づいてIDCTの結果の期待された精度を高めるた
めに、分解の前に意図的に所定の値にされる。
【0091】図2は好ましい構造を示すブロック図であ
る。この発明の好ましい実施例において、偶数及び奇
入力は時間的に多重化され、共通ブロックCBLK
において別々に処理される。この入力はどちらを先に処
理しても良い。図2において、奇数入力Y1、Y3、
Y5、Y7が計算回路を最初に通過し、次に偶数入力
Y0、Y2、Y4、Y6が続くことを示すために表記Y
[1,0],Y[5,4],Y[3,2]及びY[7,
6]が用いられる。実施例においてこの順序は必須では
ないが、以下に説明した如く、一定の下流側の算術操作
が奇数入力に対してのみ実行され、奇数入力値を最
初に入力することにより、すべての入力に共通の算術演
算が上流側で偶数入力に対して行われている間にこれ
らの下流側操作を同時に進行させることができる。これ
により、他の方法の場合にはいくつかの演算素子が何も
動作しないでいたであろう時間を減少させることができ
る。
【0092】同様に、表記X[0,7],X[1,
6],X[3,4],X[2,5]は下位出力X0、X
1、X2、X3が最初に出力され、次に高位出力X4、
X5、X6、X7が続くことを示している。図1及び2
が示す如く、これらの入力は本発明によればこれは必要
でないけれども、好ましくは最初に昇順でグループ化さ
れない。このため、上から下に読むと、偶数入力はY
0、Y4、Y2及びY6となり、奇数入力はY1、Y
5、Y3及びY7となる。入力信号をこの順で並べるこ
とにより図1及び2に示された単純な“バタフライ”デ
ータ経路構造が可能になり、シリコン半導体装置におけ
る本発明の処理系の相互接続効率を大きく高めることが
できるのである。
【0093】図2において、加算器及び減算器は“+”
(加算器)、“−”(減算器即ち、一つの補数入力を有
する加算器)または“±”(加算及び引き算の切り替え
が可能な分解加減算器)を含む円で示される。共通ブロ
ックCBLK内の最も左側の加算器及び減算器は好まし
くは桁上げ保留加算器及び減算器であり、二つのmビッ
ト入力ワードの加算/減算の際のそれらの出力は加算/
減算の桁上げビットを含むmビットまたは(m−1)ビ
ットワードに並列したmビットの部分結果である。
【0094】換言すれば、共通ブロックCBLKの最初
の足し算及び引き算は好ましくは分解されず、桁上げビ
ットの加算は以降の処理段階まで遅延される。この方法
の利点はかかる桁上げ保留加算/減算器は桁上げビット
ワードの結果に対する最終的な加算を実行する必要がな
いため従来の分解型の加算/減算器より高速なことであ
る。しかしながら、分解加算器は加算器の出力における
バス幅を減少させるために使用しても良い。
【0095】図2はまた発明の好ましい実施例における
1及び2入力ラッチの使用を図示している。図2におい
て、ラッチは矩形で示されており、前共通ブロックPR
EC及び後共通ブロックPOSTCの両方において使用
されている。単一入力ラッチは乗算器D1、D3、D5
及びD7の入力において、並びに出力信号X0からX7
を発生する分解加算/減算器への入力をラッチするため
に使用される。図2が示す如く、これらの分解加算/減
算器への入力はラッチ g[0,7], g[1,6], g[3,4] 及び g
[2,5] 並びに h[0,7], h[1,6], h[3,4] 及び h[2,5]か
らの各出力に対応する計算された g(k) 及び h(k) 値で
ある。この様にして分解加算/減算器は前述の式E16
及びE17によって示された加算または減算を行う。
【0096】上に説明した如く、偶数番号入力Y0、Y
2、Y4及びY6は共通ブロックCBLKにおいて処理
される前に対にされる必要は無い。奇数番号入力もその
ような対にする必要は無いけれども正しい入力値が共通
ブロックCBLKに供給されることを確実にするために
入力Y1は√2倍されねばならない。前共通ブロックP
RECは、従って各入力値のための2入力多重化(“M
UX”)ラッチC10, C54, C32及びC76を含
む。その結果2入力MUXラッチへの一つの入力は処理
されない入力値に直接結び付けられるけれども、他の入
力分解加算器に入力され、入力Y1については分解√2
乗算器に入力される。従って正しい対にされた入力また
は対にされない入力はそれらの二つの入力の間の多重化
ラッチの単純な切り替えによって容易に共通ブロックC
BLKに供給される。
【0097】図2が示す如く、√2乗算器及び乗算器D
1、D3、D5、D7は好ましくはそれらの出力を分解
する。即ち、それらは桁上げビットが加算され完全な合
計を得る結果を生成する。これにより乗算器からの出力
が確実に対応するパラレルデータ経路における乗算され
ない出力と同一のバス幅を有することになる。共通ブロ
ックの好ましい実施例はまた Y[1,0] 及び Y[5,4] の前
進データ経路内に“疑似”加算器及び“疑似”減算器を
含む。これらの装置は二つの入力を(疑似減算器の場
合、1つの入力の2の補数をとった後)それらが並列出
力として伝送されるように組み合わせる。これらの場
合、その一つの入力は後の処理段階で加算される桁上げ
ビットを含むかの如く操作される。このようにして対応
する加算及び減算引き算が、遅延されているけれども、
実行される。
【0098】このような技術により、全ての桁の加減算
器がこれらの装置において用いられなくとも良いため、
上位側の二つのデータ経路において必要とされる資源を
減少させる。こうして“結合器”は加算器及び減算器と
して動作し、次の装置への単純な導体(加算のため)、
あるいは追加の回路を殆ど必要としない一連の反転器
(引き算のため)として実現される。
【0099】かかる結合器の使用はまた、共通ブロック
CBLK内の最初の加算器及び減算器からの出力が同一
の幅を有し、それによって共通ブロックCBLK内の以
降の分解加算器及び減算器への入力が形成される、下部
の二つのデータ経路内の桁上げ保留加算/減算器の出力
と整合性をもつことになる。上述の如く、偶数入力は
発明のこの好ましい実施例において奇数入力とは別々
に処理される。奇数入力が最初に処理されるものとす
る。次に、監視制御回路(図2において図示せず)が奇
入力ワードを前共通ブロックPRECに供給し、後
に対の値p0からp3(図1及び上のp(n)の定義を
参照)を記憶する多重化ラッチC10,C54,C3
2,C76の下位入力(図2における如く見て)を選択
する。その後、ラッチLh0、Lh1、Lh3及びLh
2がそれぞれラッチ値H0、H1、H3及びH2に能動
化される。
【0100】次に、監視制御回路はラッチし、次に前共
通ブロックPREC内の2入力多重化ラッチC10、C
54、C32及びC76の上位側入力を選択し、偶数
入力ワードをこれらのラッチに供給する。偶数入力が
g0からg3の値を形成するのに用いられるため、監視
制御回路は次にg(k)値を記憶する後共通ブロックP
OSTC内のラッチLg0からLg3も開放する。
【0101】g(k) 及び h(k) 値がいったんラッチされ
ると、後共通ブロックPOSTCは分解加算/減算器を
引き算モードに切り替えて高位出力信号X7、X6、X
5及びX4を出力する。低位出力信号X3、X2、X1
及びX0は次に分解加算/減算器を加算モードに切り替
えることにより生成される。出力データは自然な順序を
含めて任意の順序で供給され得ることが注目される。
【0102】図2において、非常に単純化され図式的に
示された好適な多重化処理系は図1に示された非多重化
構造と同一の計算を行う。しかしながら共通ブロックC
BLKにおける加算器、減算器及び乗算器の数は半分に
削減され、疑似加算/減算器の使用により更に贅沢な算
術回路の複雑さが減少されている。図3は実施例による
IDCT回路の実際の処理系の主要な構成要素とデータ
ラインを示している。主要構成要素には前共通ブロック
回路PREC、共通ブロック回路CBLK、及び後共通
ブロックPOSTCが含まれる。システムはまた、前共
通ブロックPREC及び後共通ブロックPOSTCに入
力、タイミング及び制御信号を直接的または間接的に供
給する制御回路CNTLを含んでいる。
【0103】発明の好ましい実施例において、入力信号
及び出力信号(それぞれY0からY7及びX0からX
7)は22ビット幅である。テストの結果、これは現行
の工業基準によって計測される許容可能な精度が依然と
して生成される最小の幅である。以下に詳述した如く、
この最小の幅は意図的に選択された演算素子における一
定の桁上げワードを強制的に“1”または“0”にする
ことによって達成される。あるデータワードの調整に対
応するこのビット操作は公知の入力テストデータのID
CT変換に実施例を用いた後に実施例のIDCTシステ
ムの結果を統計的に分析した結果として実行される。あ
るビットを所定の値にすることによって、丸めの効果及
び切り捨ての誤差が減少され、出力データIDCTシス
テムからの空間出力データは公知の“正しい”空間デー
タからあまりはずれることがないようにできる。
【0104】本発明は、しかしながら、実施例による回
路において用いられた構成要素は全て公知の方法を使用
して異なるバス幅に適応させることが可能であり、他の
データワード長についても同様に適用可能である。88
個の平列導体(4×22)によって一緒に処理される4
つの入力は同時に前共通ブロックPRECに入力させる
ことが可能であるけれども、ピクセルワードは通常直列
伝送データから一回に一つずつ変換される。実施例によ
れば、従って入力データワードは好ましくは全て単一
の、22ビット入力バスを介して伝送され、各入力ワー
は逐次データ経路内の正しい入力点においてラッチさ
れる。図3において、22ビット入力データバスはT_
IN[21:0]として示されている。
【0105】以降の図及び説明において、複数ビット信
号の幅は高位ビットをコロン“:”の左に、最下位のビ
ット(LSB)をコロンの右に記して括弧で示されてい
る。例えば、入力信号 T_IN[21:0] は22ビット幅であ
り、そのビットは0から21の番号が付けられる。単一
のビットは四角い括弧内の単一の数として識別される。
この様にして、T_IN[1]は信号T_INの最下位の隣の
ビットを示す。
【0106】発明の好ましい実施例において以下の制御
信号が前共通ブロックPRECの動作を制御するために
用いられている。 IN_CLK,OUT_CLK:実施例のシステムは好
ましくは重なり合わない2相のクロックを用いる。従っ
て信号IN_CLK及びOUT_CLKはそれぞれ入力
及び出力クロック信号のための信号である。これらのク
ロック信号は入力、中間、及び出力信号の値を保持する
ラッチの列を交替に可能化するために用いられる。
【0107】LATCH10、LATCH54、LAT
CH32、LATCH76:好ましくは一つの22ビッ
ワードが一回にシステムに入力される。一方、4つの
入力信号が一度に処理される。従って各入力信号は他の
三つの入力ワードと処理される前にアーキテクチャ内の
それぞれの適切な場所にラッチされねばならない。これ
らのラッチ信号は各入力ラッチを可能化するために用い
られる。例えば、信号LATCH54は始めに入力信号
Y5をラッチし、後に入力信号Y4をラッチし、後者は
入力信号Y5と同一の時点であるけれども以降の処理段
階で前共通ブロックPRECに入力される(図2参
照)。
【0108】LATCH:いったん偶数または奇数
入力信号が前共通ブロックPRECにラッチされると、
それらは好ましくは同時に以後のラッチの列にシフトさ
れる。信号LATCHが前共通ブロックPRECにおけ
る演算素子によって操作されるべき4つの入力値を保持
する入力ラッチの第2の列を可能化するために用いられ
る。
【0109】SEL_BYP,SEL_P:図2が示す
ように、ラッチC10、C54、C32及びC76にラ
ッチされる偶数入力信号は加算器及び√2分解乗算器
をバイパスする信号でなければならない。しかしながら
奇数入力信号は対の入力p(n)を形成するために最
初に対にされねばならず、信号Y1は√2倍されねばな
らない。制御信号SEL_BYPがグループ化されない
バイパス入力信号(偶数入力)を選択するために用い
られるいっぽう、信号SEL_Pが対にされた入力信号
を選択するために能動化される。この様にして、これら
の信号は正しい信号を前共通ブロックPRECの出力ラ
ッチに渡すためにマルチプレクサとして動作するゲート
を制御するために用いられている。
【0110】上に説明した如く、入力を厳密に昇順に配
置しないことは高い相互接続効率を有する簡略化“バタ
フライ”バス構造につながっている。上に鋭明した如
く、奇数入力は好ましくは前共通ブロックにグループ
として最初に供給され、次に偶数入力が続くけれども
各奇数または偶数のグループ内ではどのような順序
が用いられでも良い。また、どのような入力の順序が用
いられても良いが、奇数及び偶数入力を処理する適
当なラッチ装置が別々に設けられ、または少なくとも回
路の別々の部分に設けられている。
【0111】監視制御回路はまた後共通ブロックPOS
TCのためのタイミング及び制御信号を発生する。これ
らの制御信号は以下の通りである。 EN_BH,EN_GH:少しの間図1を考慮すると、
共通ブロックCBLKからの出力は奇数番号入力を処理
した後は、H0、H1、H3及びH2として示されてい
る。これらの信号は次に第1のブロックPOSTC1内
の係数乗算器d1、d3、d7、d5にそれぞれ供給さ
れる。信号EN_BHはH0からH3に対応する信号を
保持するラッチを可能化するのに用いられる。信号EN
_GHはg0からg3の値を保持するラッチ、及び係数
乗算器においてそれらが乗算された後にH0からH3の
値を保持するラッチを可能化するのに用いられる。
【0112】ADD,SUB:図2が示す如く、実施例
は下位及び高位出力をそれぞれ形成するために g(k) 及
び h(k) の値を合計し、またその差を求める分解加算/
減算器の組を含んでいる。信号ADD、SUBは分解加
算/減算器をそれぞれ加算及び引き算モードに設定する
ために用いられる。 EN_0:この信号は分解加算/減算器からの結果をラ
ッチする出力ラッチを可能化するために用いられる。
【0113】MUX_OUT70、MUX_OUT6
1、MUX_OUT43、MUX_OUT52:システ
ムからの出力データは好ましくは単一の22ビット出力
バスを介して伝送され、ただ一つの出力値(X0からX
7)が一度に伝送される。4つのラッチされた出力値の
内のどれが最終的な出力ラッチへラッチされるを選択す
るために、これらの信号逐次能動化される。この様にし
て、これらの信号は4から1マルチプレクサの制御信号
として動作する。
【0114】T_OUT[21:0]:このラベルは後
共通ブロックPOSTCからの22ビット出力信号を示
す。前共通ブロックPRECからの出力信号はラッチさ
れて共通ブロックCBLKへの入力信号を形成する。図
3において、前共通ブロックPRECからの出力信号
は、それぞれ共通ブロックCBLKへの入力信号IN
[0]、IN[1]、IN[3]、IN[2]となる4
つの22ビットデータワードCI10[21:0]、C
I54[21:0]、CI32[21:0]、CI76
[21:0]として表される。
【0115】図3が示すように、共通ブロックCBLK
からの4つの22ビットの結果は出力信号 OUT0[21:
0]、OUT1[21:0]、OUT3[21:0]、OUT2[21:0] として並列
して伝送され、それらは、次に後共通ブロックPOST
Cの入力信号 CO70[21:0]、CO61[21:0]、CO43[21:0]、C
O52[21:0] としてラッチされる。共通ブロックCBLK
のために制御信号が全く必要とされないことに特に注目
すべきである。この例におけるIDCTシステムの独特
の構造により、操作の共通ブロック純粋な論理操作とし
て実行することができ、クロック、タイミング、制御信
号等を必要としない。このことは装置の複雑さを更に減
少させている。ある種の応用例(特に、必要な全ての算
術演算を実行するのに多くの時間のあるもの)では前共
通、及び後共通ブロックPREC、POSTCをクロッ
ク、タイミング、制御信号無しに動作するようにするこ
ともできることに注目すべきである。
【0116】図4及び図5は前共通ブロックPRECの
ブロック図である。この図及び以降の図において、表記
“S1[a],S2[b],...,SM[z]、”だ
だしSは任意の信号ラベルであり、a,b,...zは
信号のバス幅の範囲内の整数である、は信号S1,S
2,...SMからの選択されたビットa,b,...
zは同一のバス上を並列に伝送され、最上位ビット(M
SB)は信号S1の選択されたビット“a”であり、最
下位ビット(LSB)は信号SMの選択されたビット
“z”であることを示している。選択されたビットは個
々のビットである必要は無く、完全または部分の複数ビ
ットワードが他の単一ビットまたは完全または部分の複
数ビットワードと共に伝送されても良い。図において、
記号Sは対応する信号ラベルによって置き換えられる。
【0117】例えば、図4及び図5において、√2乗算
器はR2MULとして示されている。この非分解乗算器
からの“保留”または“非分解合計”出力は21ビット
ワードM5S[20:0]として示されている。乗算器
R2MULからの“桁上げ”出力は22ビットワード
5C[21:0]として示され、それはバスを介して桁
上げ保留分解加算器M5Aの“b”入力に伝送される。
(“0”が保留出力の最下位の21ビットにMSBとし
て、分解加算器M5Aの“a”入力に供給される前に挿
入されることが思い出されるが、このことは図4及び図
5において表記GND,M5S[20:0]によって示
される。)換言すれば、加算器M5AへのMSB入力に
対応する導体が接地に接続されることにより強制的に
“0”に等しくされる。
【0118】何故このように“0”が“合計”出力の2
2番目のビットとして挿入されるかを理解するために
は、もし掛け算の部分的合計がn桁幅であるとすると、
桁上げワードも通常n桁有することに注意すべきであ
る。しかしながら、部分的合計に桁上げワードを加算す
る際には、桁上げワードは部分的合計に対して左方に一
桁だけ桁移動される。従って、桁上げワードはn+1桁
まで拡張され、n+1番目の位に有効なデータビット及
び最下位の位に“0”を有することになる(この位より
前には桁上げビットを単位の位に対して生成するものが
何もないため)。もしこれらの2ワードが分解二進加算
器への入力として用いられると、桁上げワードのビット
(数)が部分的合計の対応するビットに対して正しく位
置合わせされることが確実なように注意しなければなら
ない。このことはまた、両方のワードにおいて小数点
(整数の演算における如く、それが使用される場合のみ
であるけれども)が位置合わせされることを確実にす
る。加算器への入力がn+1ビット幅であるとすると、
“0”を全てのnビットの正の部分的合計ワードの最高
位ビットに挿入し、他の入力における桁上げワードと位
置合わせされたn+1ビットの入力を提供することがで
きる。
【0119】上記の如く、前共通ブロックPRECにお
いて一時に処理される4つの入力は入力バス T_IN[21:
0] を介して伝送される。この入力バスは4つの入力ラ
ッチIN10L、IN54L、IN32L及びIN76
Lの入力に接続される。各ラッチのそれぞれは入力クロ
ック信号IN_CLK及び対応するラッチ選択信号LA
TCH10、LATCH54、LATCH32、LAT
CH76が高であるときにのみ可能化される。従って、
4つの入力はラッチ可能化信号LATCH10、LAT
CH54、LATCH32、LATCH76が逐次能動
化されることによってIN_CLK信号の4つの期間に
それらの各々の入力ラッチにラッチされ得る。この期間
の間、入力ラッチIN10L、IN54L、IN32
L、IN76Lが4つの入力値を安定化し、ラッチする
ことを可能にするためにLATCH信号は低(または異
なる位相上)でなければならない。
【0120】ラッチのタイミングの例が図12に示され
ている。いったん4つの入力信号が選ばれた順序でラッ
チされると、それらは第2のラッチの組L10L、L5
4L、L32L、L76Lに伝送される。これらの第2
のラッチは信号OUT_CLK及びLATCHが高であ
るときに可能化される。この信号タイミングもまた図1
2に示されている。
【0121】システムは全ての8つの入力ワードの受け
入れを遅らせる必要が無いことが注目される。全ての偶
または奇数入力ワードはIN10L、IN54
L、IN32L及びIN76Lに入力されてラッチさ
れ、それらは次にOUT_CLKが高になった期間にラ
ッチL10L、L54L、L32L及びL76Lに伝送
され得る。これによりINラッチは解放され、それらは
IN_CLKの次の立ち上がりの時点で遅れなく他方の
4つの入力信号の入力を開始することが可能になる。
【0122】図に示された種々の要素のための2桁のサ
フィックス表記[10,54,32,76]は奇数
号が最初に、続いて偶数信号が以後この構造を通過し
て処理されることを示している。上述の如く、この順序
は必須なものではない。いったん4つの入力信号が正し
い順序で第2のラッチL10L、L54L、L32L、
L76Lにラッチされると、対応する値が、選択された
バイパス信号SEL_BYPが能動化された時点で入力
として出力ラッチC10L、C54L、C32L及びC
76Lに伝送されるか、或いはそれらは“p選択”信号
SEL_Pが能動化した時点で、対にされ乗算された入
力として同一の出力ラッチに伝送される。換言すれば、
全ての信号が、演算素子を通して、前共通ブロックPR
ECの出力ラッチC10L、C54L、C32L、C7
6Lに直接的及び間接的に伝送される。しかしながら
“バイパス選択”信号SEL_BYP(偶数入力Y
0、Y2、Y4、Y6のための)または“p選択”信号
SEL_P(奇数入力Y1、Y3、Y5及びY7のた
めの)の能動化によって正しい値がこれらのラッチにロ
ードされる。これらの制御信号及び他の制御信号の所望
のタイミング及び順序はコントローラCNTLの適切な
構成及び/または(マイクロ)プログラミングによって
公知の方法で容易に得ることができる。
【0123】上述の如く、ラッチL10Lの出力におけ
る最上入力値は最初に√2乗算器R2MULに伝送さ
れ、次に分解加算器M5Aに伝送される。分解加算器M
5Aからの出力は M5[21:0] として示され、それは図1
における22ビット値p0に対応する。この22ビット
信号 M5[21:0] はラッチL10Lからの出力の√2によ
る分解された掛け算と等価になる。また他の3つのラッ
チL54L、L32L、L76Lからの出力が22ビッ
トラッチバス LCH54[21:0]、LCH32[21:0]、LCH76[21:
0] を介して直接的に、また分解加算器P2A、P1A
及びP3Aを介して間接的に対応する出力ラッチC54
L、C32L及びC76Lにそれぞれ伝送される。
【0124】各分解加算器P2A、P1A、P3Aは二
つの入力“a”及び“b”を有する。加算器P2Aにつ
いては一つの入力はラッチL32Lから入力され、他の
入力はラッチL54Lから入力される。従って、入力値
Y5(L54Lにラッチされた)及びY3(L32Lに
ラッチされた)に対しては、加算器P2Aからの出力は
Y5+Y3に等しくなり、それは上述した如く、p
(2)と等しい。この様に、加算器は奇数入力を
“対”にし、対にされた入力値p(1)、p(2)及び
p(3)を形成する。勿論、L54L、L32L、L7
6Lにラッチされた偶数入力信号もまた、分解加算器
P2A、P1A及びP3Aをそれぞれ通過するけれど
も、その結果のpの“値”は“p選択”信号SEL_P
偶数入力に対しては能動化されないため、出力ラッチ
C54L、C32L及びC76Lには伝送されない。
【0125】従って入力クロック信号IN_CLKが能
動化された時点で出力ラッチC10L、C54L、C3
2L及びC76Lにラッチされた値は偶数入力Y0、
Y2、Y4、Y6または奇数番入力に対する対にされた
入力値P0、P1、P2、P3のどちらかに等しくな
る。入力Y(1)はゼロであると仮定された値Y(−
1)と“対”にされることを思い出すべきである。図4
及び図5において、この仮定は値Y1に何も足さないこ
とで実現される。むしろ、図1及び2に示された如くY
1には√2が掛け算されるのみである。
【0126】図6及び図7は実施例に従った共通ブロッ
クCBLKの所望のアーキテクチャを図示している。種
々の掛け算及び足し算が異なるシステムブロックに存在
するため、種々の計算を行う前に入力値を下位方向に桁
移動して共通ブロックに供給することが必要であり、ま
た有用である。これによりシステム内の種々の演算素子
への対応する入力に対して小数点(整数の演算のために
必要とされる)の位置が一定になることが確実化され
る。
【0127】従って、入力値IN0[21:0]及びI
N1[21:0]は4だけ下位方向に桁移動されるが、
これはディジタル演算においては2ビット右にシフトす
ることに対応する。二進表現において数の符号を保存す
るために(正の値を正に、負の値を負に保持する)、最
上位ビット(MSB)は、その結果得られる右シフトさ
れたワードの二つの最上位ビットにおいて再現されねば
ならない。この処理は“符号の拡張”として知られる。
従って、入力値IN0は符号拡張とともに2ビットだけ
下位方向にシフトされIN0[21]、IN0[2
1]、IN0[21:2]として示されるシフトされた
入力値を形成する。入力値IN1[21:0]は同様に
2桁符号拡張される。入力値IN3及びIN2(入力Y
[3,2]及びY[7,6]にそれぞれ対応する)は符
号拡張とともに右に一桁シフトされる。従って三番目の
入力はシフトされ、拡張されてIN3[21]、IN3
[21:1]となる。入力IN2は同様にシフトされ、
拡張されIN2[21]、IN2[21:1]となる。
これらの一桁のシフトは2による切り捨ての分割に対応
する。
【0128】図2が示すように、入力IN3、IN2は
桁移動された係数c1s及びc3sが掛け算されねばな
らない入力である。入力IN3及びIN2の各々は桁移
動された係数の各々が掛け算されなければならない。図
6及び図7が示すように、これは4つの一定係数桁上げ
保留乗算器MULC1S、MULNC1S、MULC3
S3及びMULC3S2によって実行される。IN2の
ための一番下の乗算器は反転乗算器MULNC1Sであ
ることに注意すべきである。即ち、その出力は定数C1
Sが掛け算された入力の負の値に対応する。こうしてC
76にラッチされた値がC32にラッチされた値(C3
Sによる掛け算の後)から引き算される。反転乗算器M
ULNC1Sを設けることによって、この引き算は対応
する値の負の値を加算することにより実行され、それは
差を形成することと同等である。これにより以降の加算
器として同一の回路を用いることが可能になるけれど
も、非反転乗算器をそれに続く減算器とともに用いても
良い。
【0129】図示された実施例においては、4つのコサ
イン係数乗算器MULC1S、MULNC1S、MUL
C3S3及びMULC3S2が含まれている。しかしな
がら、もし信号が別々に乗算器を通過するように成され
ていれば、必要な掛け算は一つがc1s係数のため、ま
た一つがc3s係数のための二つの乗算器のみを用いる
ことによって実行され得る。
【0130】乗算器MULC1S、MULNC1S、M
ULC3S3及びMULC3S2は好ましくは桁上げ保
留型であり、そのことはそれらの乗算器は一つがハード
ウエア乗算器内で実行される種々の足し算の列の結果に
対応し、他方が生成された桁上げビットに対応すろ二つ
の出力ワードを生成することを意味している。次に、乗
算器からの出力は二つの4入力分解加算器BT2、BT
3の何れか一方の入力に接続される。
【0131】説明を容易にするためのみの目的で、乗算
器からの出力バスの5つは加算器の対応する入力バスに
接続されているようには図示されていない。これらの接
続は容易に理解されると考えられ、それらはそれぞれの
同一のラベルを有する出力及び入力として各々図示され
ている。こうして、乗算器MULC1Sの保留出力M1
S[20:0]は加算器BT3の“a保留”入力“sa”の下
位側21ビットに接続される。
【0132】図6及び図7において、加算器BT2及び
BT3への入力の5つは“分割”されているとして図示
されている。例えば、加算器BT2の“ca”入力はM
3C[20:0]の上にIN3[21]を有するとして
示されている。これは、22ビット入力ワードの内、I
N3[21]がMSBとして入力され、M3C[20:
0]の21ビットが最下位の21ビットとして入力され
ることを意味するものと解釈されるべきである。同様
に、同じ加算器の“sa”(“a保留”入力)はM3S
[19:0]上のGND、GNDとして示されている。
これは二つのゼロがこの入力ワードの二つの最上位ビッ
トとして付加されることを意味している。かかる付加ビ
ットは正しい22ビット幅の入力ワードが正しい符号で
形成されることを確実にする。
【0133】桁上げ保留加算器BT2及びBT3は二つ
の異なる22ビット入力の桁上げ及び保留ワードを加算
し、22ビット出力保留ワードT3S[21:0]及び
21ビット出力桁上げワードT3C[21:1]を形成
する。こうして、各加算器への入力は88ビット幅であ
り、各加算器からの出力は43ビット幅である。図2が
示すように、ラッチC10からの出力は最上部のデータ
経路において桁上げ保留加算器BT3からの出力と加算
される前にラッチC54からの出力と組み合わされる。
しかしながら、この“組み合わせ”は上部のデータ経路
内の以下の加算器に意至る迄は必要ではない。 その結
果、図6及び図7が示すように、シフトされ、符号拡張
された入力値IN0が上部の桁上げ入力に接続される。
【0134】加算器CS0の上部桁上げ入力はシフトさ
れ符号拡張された入力値IN0に接続され、シフトされ
符号拡張された入力IN1は同一の加算器の上部保留入
力として接続される。換言すれば、IN0及びIN1加
算器CS0において後に加算される。従って図2におい
て用いられた宛先“疑似”加減算器は、必ずしも図2に
示された点で実行されねばならないわけではないけれど
も、どの操作が実行されねばならないかを表示する。同
様に、図2に示された下部疑似減算器はラッチC54か
らの出力がラッチC10からの出力から減算されること
を必要とする。これはC10からの出力をC54の出力
の補数に加算することと同一である。
【0135】再び図6及び図7を参照すると、入力IN
1(図2におけるラッチC54の出力に対応する)の補
数は22ビット入力反転器 IN1I[21:0](その入力の各
ビットの反転論理をビット対ビットで生成する)により
生成される。IN1の補数の値− NIN1[21:0] −はシフ
トされ符号拡張された対応する上部“桁上げ”入力IN
0とともに加算器CS1の上部 “保留”入力に伝送さ
れる。従って加算器CS1の上側部分はIN0引くIN
1に対応する引き算を実行する。
【0136】図2に示された下部の二つのデータ経路に
おいて、上部の二つのデータ経路の共通ブロックCBL
Kの出力の位置に示された分解加算器の代わりに分解減
算器が使用されている。各分解加算器または減算器は、
分解加算器がその後に設けられた桁上げ保留加算器また
は減算器と等価である。これは図6及び図7に示されて
いる。減算器CS2及びCS3はそれらの入力としてI
N0からIN3を図2に示された接続構造に従って処理
した値を有する。
【0137】加算/減算器CS0からCS3の各々から
の22ビット桁上げ及び保留出力は分解加算器RES0
からRES3において分解される。桁上げ及び保留出力
の分解はディジタル設計の技術においてよく理解されて
おり、従ってここでは詳述しない。図6及び図7が示す
ように、桁上げ保留加算/減算器CS0からCS3から
の保留出力は直接22ビット入力として対応する分解加
算器RES0からRES3の“a”入力に供給される。
【0138】良く知られているように、二進数の2の補
数はそのビット(全ての“1”を“0”に、またはその
逆に変更する)の各々を反転し、次に“1”を足すこと
である。“1”がビット反転の直後に加算されても良
く、また後で加算されてもよいことに注目すべきであ
る。桁上げワードのLSBは常に“0”であり、これは
図示された実施例において、桁上げワードO0C及びO
1Cが分解加算器RES0及びRES1にそれぞれ入力
される時にそのLSBを接地GNDに接続することによ
って具体化される。しかしながら、減算器CS2及びC
S3の桁上げ出力に“1”を加算して2の補数をとった
値を生成することはこれらのデータワードO2C及びO
3CのLSBを供給電圧VDDに接続し、桁上げワード
の“0”LSBを“1”によって置き換えることによっ
て具体化され、これは“1”を加算することと等価であ
る。
【0139】上に述べた理由により、“0”がLSBと
して桁上げ保留加算器CS0及びCS1からの21ビッ
ト桁上げワードに付加され(LSBを接地GNDに接続
することにより)桁上げ保留減算器CS2及びCS3か
らの桁上げワードのLSBが対応するデータラインを供
給電圧VDDに接続することによって“1”にセットさ
れる。従って分解加算器RES0からRES3が加算/
減算器CS0からCS3からの出力を分解し、22ビッ
ト出力信号OUT0[21:0]からOUT3[21:
0]を生成する。
【0140】この実施例によるIDCT回路の二つの利
点を図6及び図7に見ることができる。第1には、共通
ブロックCBLKのために制御またはタイミング信号が
全く必要とされず、共通ブロックへの入力信号は共通ブ
ロック内の純粋論理演算素子に直接入力し得るような方
法で既に処理されていることである。第2にデータワー
の適切な桁移動により、整数演算が全体的に使用可能
なことである(または少なくとも、小数点が全ての値に
ついて固定されていること)。これにより、浮動小数点
素子の複雑さ及び低速度を許容不可能な精度の犠牲なし
に回避することができるのである。
【0141】実施例のさらに他の利点は、図示された順
序で入力を配置し、実施例による平衡がとられデシメー
トされた方法を使用することにより、類似の設計構造が
シリコン処理系のいくつかの場所で使用できることであ
る。例えば、図6及び図7において、一定係数乗算器M
ULC1S、MULC3S3、MULC3S2及びMU
LNC1Sの全ては類似の構造を有しており、データ経
路内の同一の点でデータを受け取るため、4つの乗算器
は同時に動作可能である。これにより、“ネック”が除
去され、半導体処理系は同一に作られた、並列構造の利
点を全て享受することができる。同様に桁上げ保留加算
器BT2及びBT3は同時に動作可能であり、以下の桁
上げ保留加算器及び減算器も同様である。この設計上の
対称性及びいくつかの素子の効率的な同時使用は実施例
による構造において共通である。
【0142】図8ないし図11は後共通ブロックPOS
TCの好ましい配置を示している。図2が示す如く、後
共通ブロックのPOSTCの第1の機能は共通ブロック
の出力に係数d1、d3、d5及びd7を乗算すること
によりh0からh3の値を生成すること; g(k) 及び h
(k) の値を加算して下位出力を生成すること; h(k)の
値を対応する g(k) の値から引き算して高位出力を生成
することである。図2及び図8ないし図11の両方を参
照すると、後共通ブロックPOSTCはBHラッチが可
能化され、制御回路がEN_BH信号を高にセットし、
出力クロック信号OUT_CLK信号が高になったとき
共通ブロックCBLKからの対応する出力をラッチBH
0L、BH1L、BH3L及びBH2Lにラッチする。
g(k)、g0からg3の値は制御回路が信号EN_GHによ
りこれらのラッチを可能化し、入力クロック信号IN_
CLKが高になったときに対応するラッチG0L、G1
L、G3L及びG2Lにラッチされる。
【0143】処理された奇数番号入力、即ち、値h0か
らh3はEN_GH及びIN_CLK信号が高であると
きに一定係数乗算器D1MUL、D3MUL、D5MU
L及びD7MULを介してラッチH0L、H1L、H3
L及びH2Lにラッチされる。これらの乗算器はそれぞ
れd1、d3、d5及びd7によって乗算する。好まし
い実施例において、デザインを簡略化し、演算速度を増
加させるために、これらの一定係数乗算器は好ましくは
桁上げ保留乗算器である。図8ないし図11が示すよう
に、一定係数乗算算器からの“桁上げ”(“c”)出力
は以下に記述したいくらかの変更を伴って、分解加算器
H0A、H1A、H3A及びH2Aの入力に接続され
る。係数乗算器からの“保留”(“s”)出力は同様
に、以下に記述した強制的な変更を伴って、対応する分
解加算器の入力に接続される。
【0144】図8ないし図11が示すように、H0信号
のLSBは好ましくは対応するラインを供給電圧VDD
に接続することにより強制的に“1”にされる。H0に
ついての対応する“保留”出力のMSBは0にされ(接
地GNDに接続され)、第2のビット(H0S[1]に
対応する)は“1”にセットされる。一定係数乗算器D
3MULの桁上げ及び保留出力からのデータワードは同
様に操作され、分解加算器H1Aへ入力される。これら
の操作の利点は以下に説明する。
【0145】係数乗算器D7MUL及びD5MULから
の桁上げ出力の22ビット全ては対応する分解加算器H
3A及びH2Aの“a”入力に直接接続される。しかし
ながら各乗算器の“保留”出力のMSBは対応するデー
タラインを接地に接続することにより強制的に“0”に
される。以上に記述したIDCTシステムは上記のCC
ITT規格に対してテストされた。桁移動及び他の良く
知られたディジタル加算器及び乗算器の特性により、精
度のいくつかは、装置の種々の処理段階において失われ
ている。発明者等は、10,000サンプルのテスト処
理の統計的分析の結果、上述の種々のビットを強制的に
“0”または“1”にすることによってディジタル変換
の予測される誤差が減少することを発見した。データ
ードのビット操作の結果、実施例は同様の精度を達成す
るのに通常は24ビットが必要とされるところを、22
ビット幅のデータワードのみを用いてCCITT規格に
おける許容可能な精度を達成した。
【0146】精度上の限界及び切り捨て並びに丸め誤差
のために、一般的にIDCTシステムの全てのデータ
ードにはある程度の不正確さがある。勿論、データワー
の選択されたビットを強制的に対応する計算の自然の
解としてのそれとは異なる値にすることは意図的に“誤
差”を導入することになる。しかしながら、発明等はハ
ードウエア内の特定の点における特定のデータワード
計画的に導入された誤差は、統計的により良い全体的な
結果を生成することを発見した。ビットフォーシングは
また、例えば、一つ以上の桁上げビットを強制的に所定
の値にすることによって掛け算“内”において行うこと
ができる。
【0147】このビットフォーシング機構は特定のビッ
トが常に所定の値となるような静的なものでなくて良
く、動的な機構を用いることもできる。例えば、データ
ワードの選択されたビットはデータワード(もしくは更
に他のデータ)が偶数か奇数か、正か負か、所定の
しきい値以上か以下か、等に依存して強制的に“1”ま
たは“0”にされるようにしても良い。
【0148】通常、全体の統計的処理能力を改善するた
めには小さな規則的な変化のみが必要である。その結
果、この実施例によれば、選択されたデータワード(こ
れは必須ではないけれども好ましくは一回に1ビット及
び1データワード)のLSBが強制的に“1”または
“0”にされる。CCITTテストが実行され、その実
行に対するCCITT統計値が収集される。
【0149】次にそのビットは強制的に“1”または
“0”の他方にされ、再びテストが実行される。その
後、他のデータワードのLSB(またはLSB)が強制
的に“1”及び“0”にされ、同様の統計値が収集され
る。種々の強制ワードにおける強制ビット種々の組み合
わせについての統計値を調べることにより、最良の統計
的な処理能力を決定することができる。
【0150】しかしながら、もしこの統計に基づいた改
善が必要とされなければ、一定係数乗算器D1MUL、
D3MUL、D5MUL及びD7MULからの出力は分
解加算器H0A−H3Aにおいて従来の方法で分解され
る。分解加算器H0A−H3Aからの出力の下位21ビ
ットが対応するラッチH0L−H3Lの入力において、
これらの入力のLSBを接地した状態で、上位21ビッ
トとして供給される。
【0151】H−ラッチ(H0L−H3L)及びG−ラ
ッチ(G0L−G3L)からの出力は対となって分解加
算器−減算器S70A、S61A、S43A及びS52
Aの各a−及びb−入力を形成する。上に示された如
く、これらの装置はADD信号が高レベルであるときに
それらの入力を加算し、引き算可能化信号SUBが高レ
ベルのときに“a”入力から“b”入力を引き算する。
上位二つのラッチ対H0L、G0L及びH1L、G1L
の第2のビットは以下に記述した方法で多重化装置によ
って操作される。
【0152】分解加算器−減算器S70A、S61A、
S43A及びS52Aからの出力は結果ラッチR70
L、R61L、R43L及びR52Lにおいてラッチさ
れる。図9において、加算/減算器S70A及びS61
Aへの入力ワードは各入力ワードの第2のビットが操作
されている。例えば、加減算器S70Aの“a”入力の
入力ワードの第2ビットはG0[21:2]、G0[1
M]、G0[0]である。換言すれば、この信号の第2
ビットは値G01Mにセットされる。加算/減算器S7
0A及びS61Aへの他の入力の第2のビットは同様に
操作される。このビット操作は4つの2:1ビットマル
チプレクサH01MUX、G01MUX、H11MUX
及びG11MUX(図9の右側に示されている)によっ
て実行される。これらのマルチプレクサは、第2ビット
(H01M、G01M、H11M及びG11M)はもし
各加減算器S70A、S61AがADD(ADDは高)
にセットされたならば0にセットされ、またその第2の
ビットはSUB信号が高にセットされたならばその実際
のラッチ出力値にセットされるように制御されるように
ADD及びSUB信号により制御される。このようにし
て、個々のビットの設定は、容易に実行される高速の操
作となる。上述した如く、多数のテストピクセルワード
の統計的分析により、より正確な結果がそれによって得
られることを示しているため、好ましい実施例はこのビ
ット強制装置を含んでいる。しかしながら、より小さな
ワード幅が得られるという利点が有るものの、第2のビ
ットをこのように操作することは必ず必要ではない。4
つの高位または下位結果は出力ラッチR70L、R61
L、R43L及びR52Lにおいてラッチされる。この
結果は多重化信号MUX_OUT70、MUX_OUT
61、MUX_OUT43、MUX_OUT52の制御
により、最終的な出力ラッチOUTFに逐次ラッチされ
る。従って、結果の信号が出力される順序は、単にそれ
らがラッチOUTFにラッチされる順序を変えることに
よって制御することが可能である。ラッチOUTFから
の出力は最終的な22ビットの結果出力信号T_OUT
[21:0]となる。
【0153】後共通ブロックPOSTCにおけるクロッ
ク信号及び制御信号の関係は図13及び図14に示され
ている。
【0154】
【発明の効果】上に述べた如く、2つの1次元IDCT
操作は二次元IDCTを行うために、中間的なデータの
転置に対して直列的に行っても良い。従って後共通ブロ
ックPOSTCからの出力信号は、この実施例によれ
ば、最初に公知の方法で列方向に(または行方向に)従
来の素子ユニット、例えばRAMメモリ回路(図示せ
ず)に記憶され、その後、その素子ユニットから行方向
(列方向)に読み出されて、その後の前共通ブロックに
入力として供給され、このブロック、共通ブロックCB
LK及び後共通ブロックPOSTCにおいて上述の如く
処理される。
【0155】行(列)毎に記憶し、列(行)毎に読み出
すことで第2の一次元IDCTの前に必要とされるデー
タの転置が実行される。第2のPOSTCからの出力は
所望の二次元IDCT結果となり、種々の処理ブロック
において実行される桁移動シフトを相殺するためにシフ
トすることによって従来の方法で桁移動することができ
る。特に、一桁だけ右シフトする事は一次元IDCT操
作において実行される二つの√2の掛け算を相殺するの
に必要な2による割り算を行うことになる。
【0156】応用の方法に応じて、この第2のIDCT
構造(好ましくは図3に示されたものと同じ)は好まし
くは独立した半導体処理系として設けられる。これによ
って、もしピクセル−クロック速度が、単一の回路の処
理系が実時間で二つの経路を処理することが可能となる
くらい低速であれば別々の一次元変換処理系は必要でな
いけれども、もし両方の変換のために同一の回路が用い
られていたとすると発生する速度の低下を回避すること
ができる。上述のIDCT処理装置の原形において行わ
れた領域テストにおいて、全ての中間及び最終的な値は
CCITT規格を依然として満足しつつ各点において、
公知の範囲内に保たれていることが分かった。これによ
って、(例えば、選択されたデータワードのあるビット
を強制的に所望の値にすることにより)算術計算におけ
るオーバーフローもしくはアンダーフローの虞れ無しに
上述の選択された値を少しの値だけ“調整”することが
できる。
【0157】本発明による方法及びシステムは多くの方
法で変更することができる。例えば、足し算または掛け
算を分解するために用いた構造は、公知の技術のどれを
用いても変更することができる。この様に、好ましい実
施例において別個の分解加算器を有する桁上げ保留装置
を用いている部分に分解加算器または減算器を用いるこ
とが可能である。また、発明の好ましい実施例は全ての
値がそれらの許容範囲内に留まることを確実にするため
に種々の点で下方桁移動を用いている。しかしながら、
オーバーフローまたはアンダーフローを避けるために他
の予防措置を取っても良いため、下方桁移動は必ずしも
必要ではないのである。
【0158】発明の原形において、種々のデータワード
のあるビットはシステムのテスト結果の統計的分析に基
づいて操作されている。これらの操作はシステム内の必
要とされるワード幅を減少させたけれども、勿論種々の
中間値はビット操作無しに伝送されても良い。更に、発
明の図示された例においてはデータワードのみがビット
操作されていたけれども、同様に一定係数のビットを操
作し、CCITT規格により結果を評価するすることも
できる。もし、結果を比較した後、特定のビットを強制
的に所定の値にすることが有用であることが示された場
合には、ある場合には、対応する乗算器を形成するのに
必要とされるシリコン領域を更に減少させるためにこれ
らの係数の二進表現における“ゼロ”の数を増加させる
ことが可能である。再び、ビット操作は必須ではないの
である。
【図面の簡単な説明】
【図1】 本発明による入力データのIDCTを行うた
めの方法における基本的なステップを簡潔に示す図であ
る。
【図2】 本発明によるIDCTシステムの統合化され
簡略化された2段階のアーキテクチャを示すブロック図
である。
【図3】 IDCTシステムの主要な要素を構成する集
積回路の簡略化したブロック図である。
【図4】 図5と合わせたときに主システムの構成要素
の一つに対応する前処理回路を示すブロック図である。
【図5】 図4と合わせたときに主システムの構成要素
の一つに対応する前処理回路を示すブロック図である。
【図6】 図7と合わせたときにIDCTシステムにお
ける共通処理回路を示すブロック図である。
【図7】 図6と合わせたときにIDCTシステムにお
ける共通処理回路を示すブロック図である。
【図8】 図9ないし図11と合わせたときにシステム
の他の主要な構成要素に対応する後処理回路を示すブロ
ック図である。
【図9】 図8及び図10ないし図11と合わせたとき
にシステムの他の主要な構成要素に対応する後処理回路
を示すブロック図である。
【図10】 図8、図9及び図11と合わせたときにシ
ステムの他の主要な構成要素に対応する後処理回路を示
すブロック図である。
【図11】 図8ないし図10と合わせたときにシステ
ムの他の主要な構成要素に対応する後処理回路を示すブ
ロック図である。
【図12】 好ましい実施例のIDCTシステムにおけ
るタイミングと制御信号との関係を示すタイミング図で
ある。
【図13】 好ましい実施例のIDCTシステムにおけ
るタイミングと制御信号との関係を示すタイミング図で
ある。
【図14】 好ましい実施例のIDCTシステムにおけ
るタイミングと制御信号との関係を示すタイミング図で
ある。
【主要部分の符号の説明】
CBLK 共通ブロック PREC 前共通ブロック POSTC1,POSTC2 後共通ブロック
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マーティン ウィリアム サズラン イギリス国 グロウセスターシャー G L11 6BD ダーズリー スティンチ コーム ウィックレーン ザリディング ズ (番地なし) (56)参考文献 IEEE TRANSACTIONS ON ACOUSTICS,SPEE CH,AND SIGNAL PROC ESSING,VOL.ASSP−35, NO.10(1987−10)pp.1455−1461 IEEE TRANSACTIONS ON SIGNAL PROCESS ING,VOL.39,NO.2(1991− 2)pp.544−546 IEEE TRANSACTIONS ON ACOUSTICS,SPEE CH,AND SIGNAL PROC ESSING,VOL.38,NO.3 (1990−3)pp.553−557 Proceedings of IS CAS 85 vol.2(1985)IEE E PRESS,New York U SA,pp.941−944 (58)調査した分野(Int.Cl.6,DB名) G06F 17/14 G06T 1/00 H04N 1/41 H04N 7/30 EPAT(QUESTEL) JICSTファイル(JOIS)

Claims (53)

    (57)【特許請求の範囲】
  1. 【請求項1】 Nデータ入力ワードのグループとして配
    置されたディジタル信号を周波数から時間表現に変換す
    るために用いるシステムであって、前記入力ワードの奇数番入力ワードに所定の対にする操
    作を行い、前記入力ワードの偶数番入力ワードを前共通
    出力に伝送するように配置され、対にされた前記奇数番
    ワードの一方に2の平方根を乗算する前共通処理手段
    (PREC)と、 奇数及び偶数入力データワード
    両方を別々の経路を通過させて奇数及び偶数共通処
    理手段出力値をそれぞれ生成するように配置された複数
    の共通演算素子(BT2、BT3、c1s、c3s)を
    有する共通処理手段(CBLK)と、 奇数番共通処理手段出力値に所定の出力桁移動操作を行
    って後処理された奇数番値を形成し、後処理された奇数
    番値を偶数番共通処理手段出力値に算術的に結合し、高
    位及び下位出力ワードを生成するように配置された後共
    通処理手段(POSTC)とを含み、出力ワードが入力
    データワードに対応する逆ディスクリートコサイン変換
    値を含むように成されている ことを特徴とするシステ
    ム。
  2. 【請求項2】 Nデータ入力ワードのグループとして配
    置されたディジタル信号を周波数から時間表現に変換す
    るために用いるシステムであって、 前記入力ワードの奇数番入力ワードに所定の対にする操
    作を行い、前記入力ワードの偶数番入力ワードを前共通
    出力に伝送するように配置された前共通処理手段(PR
    EC)であって、 前記入力ワードの前記奇数入力ワー
    に所定の桁移動操作を行い前記入力ワードの偶数
    ワードを直接前記前共通出力に伝送するように配置さ
    れた手段を有する前記前共通処理手段(PREC)と、 奇数番及び偶数番入力データワードの両方を別々の経路
    を通過させて奇数番及び偶数番共通処理手段出力値をそ
    れぞれ生成するように配置された複数の共通演算素子
    (BT2、BT3、c1s、c3s)を有する共通処理
    手段(CBLK)と、 奇数番共通処理手段出力値に所定の出力桁移動操作を行
    って後処理された奇数番値を形成し、後処理された奇数
    番値を偶数番共通処理手段出力値に算術的に結合し、高
    位及び下位出力ワードを生成するように配置された後共
    通処理手段(P OSTC)とを有し、出力ワードが入力
    データワードに対応する逆ディスクリートコサイン変換
    値を含むように成されていることを特徴とする システ
    ム。
  3. 【請求項3】 前記後共通処理手段(POSTC)は前
    記奇数共通処理手段出力値にのみ所定の出力桁移動操
    作を行うように配置された手段を有することを特徴とす
    る請求項又はに記載のシステム。
  4. 【請求項4】 前記前共通処理手段に接続され、N入力
    データワードの各グループをソートして前記奇数及び
    偶数入力ワードにするための手段を有する制御装置
    (CNTL)を有することを特徴とする請求項
    又はに記載のシステム。
  5. 【請求項5】 前記前共通処理手段(PREC)はN/
    2前共通入力及びN/2前共通出力を有し、前記共通処
    理手段(CBLK)は前記N/2前共通出力に接続さ、
    れたN/2共通入力及びN/2共通出力を有し、前記後
    共通処理手段(POSTC)は前記N/2共通出力に接
    続されたN/2後共通入力及びシステム出力を形成する
    N/2後共通出力を有することを特徴とする請求項
    の何れか一つに記載のシステム。
  6. 【請求項6】 選択された内部データワードの所定のビ
    ットを強制的に所定のテスト入力データセットに対し
    てシステムの統計的精度が改善されるように選ばれた所
    定の二進値にするように配置された手段を含むことを特
    徴とする請求項からの何れか一つに記載のシステ
    ム。
  7. 【請求項7】 前記選択された内部データワードは前記
    後処理された奇数値及び偶数共通出力であることを
    特徴とする請求項に記載のシステム。
  8. 【請求項8】 前記前共通手段(PREC)は最下位入
    力データラインに接続され前記最下位奇数入力データ
    ワードを所定の桁移動係数で乗算する単一の桁移動乗算
    器(R2MUL)を含むことを特徴とする請求項から
    の何れか一つに記載のシステム。
  9. 【請求項9】 前記所定の桁移勅係数は2の平方根であ
    ることを特徴とする請求項に記載のシステム。
  10. 【請求項10】 前記前共通処理手段(PREC)は前
    記奇数入力データワードの所定のデータワードを対に
    して加算し対にされた入力データワードを生成する複数
    の加算器(P1A、P2A、P3A)を含むことを特徴
    とする請求項からの何れか一つに記載のシステム。
  11. 【請求項11】 前記前共通処理手段は更に、前記対に
    された入力データワード及び前記偶数入力データワー
    を交互にロードし、ラッチするように配置された複数
    の前共通出力記憶素子(C10L、C54L、C32
    L、C76L)を含むことを特徴とする請求項から
    の何れか一つに記載のシステム。
  12. 【請求項12】 前記共通処理手段(CBLK)は選択
    された共通処理手段入力値を所定の三角関係の定数で乗
    算する共通係数乗算器(MULC1S、MULC3S
    3、MULC3S2、MULNC1S)を含むことを特
    徴とする上記の請求項の何れか一つに記載のシステム。
  13. 【請求項13】 前記共通係数乗算器(MULC1S、
    MULC3S3、MULC3S2、MULNC1S)は
    4つ有り、前記共通処理手段入力値の選択された対の各
    々が4つの係数乗算器の対応する対に接続されるように
    配置されていることを特徴とする請求項12に記載のシ
    ステム。
  14. 【請求項14】 a)前記後共通処理手段(POST
    C)は各々が加算モード及び減算モードを有する切り替
    え可能な演算素子(S70A、S61A、S43A、S
    52A)有し、 b)前記後処理された奇数値及び前記偶数共通出力
    は入力として前記切り替え可能な演算素子(S70A、
    S61A、S43A、S52A)に接続され、 c)前記加算モードにおいて、前記切り替え可能な演算
    素子は前記後処理された奇数値及び前記偶数共通出
    力の合計として前記下位出力ワードを形成し、 d)前記減算モードにおいて、前記切り替え可能な演算
    素子は前記後処理された奇数値及び前記偶数共通出
    力の差として前記高位出力ワードを形成することを特徴
    とする請求項1から13の何れか一つに記載のシステ
    ム。
  15. 【請求項15】 a)前記後共通処理手段(POST
    C)は前記偶数共通出力を記憶するように配置された
    出力データラッチの第1の組(Lg0、Lg1、Lg
    2、Lg3)と前記後処理された奇数値を記憶するよ
    うに配置された出力データラッチの第2の組(Lh0、
    Lh1、Lh2、Lh3)を含み、 b)前記第1及び第2の出力データラッチの各々は前記
    切り替え可能な演算素子のそれぞれの入力に接続されて
    いることを特徴とする請求項14に記載のシステム。
  16. 【請求項16】 前記切り替え可能な演算素子(S70
    A、S61A、S43A、S52A)に接続され前記加
    算及び減算モードの間で前記演算素子を切り替えるモー
    ド信号を発生する制御手段(CNTL)を有することを
    特徴とする請求項14又は15に記載のシステム。
  17. 【請求項17】 前記後共通処理手段(POSTC)は
    前記奇数共通処理手段出力値をそれぞれ所定の後共
    通、一定、桁移動値により乗算し、前記後処理された奇
    値を形成する複数の後共通係数乗算器(d1、d
    3、d5、d7)を含むことを特徴とする請求項1から
    16の何れか一つに記載のシステム。
  18. 【請求項18】 前記共通処理手段(CBLK)はクロ
    ック制御されない、純粋論理回路であることを特徴とす
    る上記請求項の何れか一つに記載のシステム。
  19. 【請求項19】 加算器(P1A、P2A、P3A)は
    すべて固定小数点素子であることを特徴とする請求項
    、または請求項10に従属した場合の請求項11から
    18の何れか一つに記載のシステム。
  20. 【請求項20】 前記共通係数乗算器(MULC1S、
    MULC3S3、MULC3S2、MULNC1S)は
    すべて固定小数点素子であることを特徴とする請求項
    又は13または請求項12に従属した場合の請求項
    から19の何れか一つに記載の記載のシステム。
  21. 【請求項21】 前記切り替え可能な演算素子(S70
    A、S61A、S43A、S52A)はすべて固定小数
    点素子であることを特徴とする請求項1415又は
    、または請求項14に従属した場合の請求項17から
    20の何れか一つに記載のシステム。
  22. 【請求項22】 前記共通演算素子(BT2、BT3、
    c1s、c3s)はすべて固定小数点素子であることを
    特徴とする上記請求項の何れか一つに記載のシステム。
  23. 【請求項23】 すべて固定小数点素子である複数の加
    算器(M5A、P1A、P2A、P3A、BT2、BT
    3、CS0、CS1、CS2、CS3、RES0、RE
    S1、RES2、RES3、H0A、H1A、H2A、
    H3A)及び加算/減算器(S70A、S61A、S4
    3A、S52A)を含むことを特徴とする上記請求項の
    何れか一つに記載のシステム。
  24. 【請求項24】 Nデータ入力ワードのグループとして
    配置されディジタル信号を周波数から時間表現に変換す
    るシステムであって、 選択された内部データワードの所定のビットを強制的
    所定のテスト入力データセットに対して前記システ
    ムの統計的精度が改善されるように選ばれた所定の二進
    値にする手段が設けられたことを特徴とするシステム。
  25. 【請求項25】 前記ディジタル信号を伝送するように
    配置された伝送装置と、前記システムのシステム出力に
    接続された受信装置を含むをことを特徴とする上記請求
    項の何れか一つに記載のシステム。
  26. 【請求項26】 N(Nは2の整数乗)データ入力ワー
    ブロックを表すディジタル信号に逆ディスクリート
    コサイン変換を行う方法であり、該ブロックの交互のワ
    ードは奇数番ワード及び偶数番ワードとしてそれぞれ定
    義される前記変換方法であって、 前共通処理手段(PREC)において所定の前記入力
    ード所定の奇数入力ワード対にして加算する操作
    を行い、前記入力ワードの偶数入力ワードを前共通出
    力に伝送し、前記奇数番ワードの一方に2の平方根を乗
    算して奇数番及び偶数番前共通出力データワードの順序
    化されたブロックを形成し共通処理手段(CBLK)において 奇数番前共通出力デ
    ータワードを受け入れ、別個に偶数番前共通出力データ
    ワードを受け入れ、受け入れられたワードが入力データ
    ワードを画定するとともに、対にされた入力データワー
    ドの選択されたものに第1及び第2の定数の係数を乗算
    するステップと、入力データワードに対にした加算と対
    にした減算を実行して中間共通データワードを形成する
    ステップと、撰択された中間共通データワードに係数を
    乗算するステップと、中間共通データワードに対にした
    加算と対にした減算を実行して順序化された奇数番及び
    偶数番共通処理手段出力値のブロックをそれぞれ生成す
    るステップとによって入力データワードを処理し、 後共通処理手段(POSTC)において、共通手段の奇
    数番出力値に所定の係数(d1、d3、d5、d7)を
    乗算して後処理された奇数値を形成し、所定 後処理
    された奇数値を後共通処理手段(POSTC)におい
    て所定の偶数番出力加算して高位及び下位出力ワード
    を形成するステップを有し、前記 出力ワードが前記入力データワードに対応する逆デ
    ィスクリートコサイン変換値を含むようにしたことを特
    徴とする前記変換方法。
  27. 【請求項27】 a)各グループにおける前記入力デー
    ワードを奇数及び偶数入力データワードに分離
    し、前記奇数及び偶数入力データワードを前共通処
    理回路(PREC)に供給し、 b)選択された偶数データ入力ワードを少なくとも一
    つの共通係数により直接乗算し、 c)前共通処理回路(PREC)において、最下位奇数
    データ入力ワードを桁移動係数により予め乗算し、 d)選択された奇数入力データワードを対にして加算
    して対にされた入力データワードを形成し、 e)選択された対にされた入力データワードを前記共通
    係数(s)で乗算し、 f)中間の共通データワードを対にしてグループ化して
    偶数及び奇数共通出力データワードを形成し、 g)後共通処理回路(POSTC)において、奇数
    力データワードに対応する各中間共通データワードに各
    出力桁移動係数を後から乗算し、 h)奇数及び偶数入力データワードを別々に処理
    し、 i)偶数及び奇数出力データワードを対にして加算
    及び減算して低位及び高位出力データワードを形成する
    ことを含むことを特徴とする請求項26に記載の方法。
  28. 【請求項28】 前記データ入力ワードはN×Nブロッ
    クのディジタルピクセル値の周波数表現で伝送されたN
    2要素に対応し、 a)複数のテキストピクセルブロックの各々について、
    出力データワードを既知の目標出力値と比較し、 b)実際の出力データワード及び出力値の間のを統計的
    に分析し、 c)選択された内部データワードの選択されたビットを
    強制的に所定の二進値にして任意の出力データワード
    おける期待された丸め誤差を最小にすることを特徴とす
    る請求項26又は27に記載の方法。
  29. 【請求項29】 すべてのデータ入力ワードを前記2の
    平方根により乗算することにより該入力ワード桁移動す
    ることを特徴とする請求項26から28の何れか一つに
    記載の方法。
  30. 【請求項30】 ディスクリートコサイン変換を表す
    ータを操作して逆ディスクリートコサイン変換を表す
    ータを得るシステムにおいて、 ブロック状の一連の入力ワードの列に対して前記ディス
    クリートコサイン変換の前記データを提供する第1の手
    段であって、前記入力ワードは偶数番ワード及び奇数
    ワードを構成している第1の手段と、 前記奇数番ワードを逐次処理し前記偶数番ワードを逐次
    処理し、かかる処理に応じてデータを得る共通回路を提
    供する第2の手段と、 前記共通回路に先行する回路を提供する第3の手段であ
    って、かかる先行回路は前記ディスクリートコサイン変
    換を表す前記データに応じて動作して前記偶数番ワード
    とは異なる前記奇数番ワードの処理を行う回路であっ
    て、かかる先行回路からの前記共通回路へ導入するデー
    を得る前記第3の手段と、 前記共通回路の後に事後回路を提供する第4の手段であ
    って、かかる事後回路は共通回路からの前記データに応
    じて動作し、前記偶数及び出力ワードからのかかる
    ータの特定の組に算術演算を行って前記逆ディスクリー
    トコサイン変換に関わるデータを提供する第4の手段と
    からなることを特徴とする前記システム
  31. 【請求項31】 前記第2の手段は前記第3の手段から
    の前記データに前記奇数番ワード及び前記偶数番ワード
    に共通なパターンにおいて逐次幾何的演算及び算術演算
    を行うことを特徴とする請求項30に記載のシステム
  32. 【請求項32】 前記第2の手段は前記幾何的操作にお
    いて定数値による乗算を行うことを特徴とする請求項
    又は31に記載のシステム
  33. 【請求項33】 前記第3の手段は前記奇数番ワード
    び前記偶数番ワードに共通でない回路を提供し、 前記第4の手段は前記奇数番ワード及び前記偶数番ワー
    に共通でない回路を提供することを特徴とする請求項
    3031又は32に記載のシステム
  34. 【請求項34】 前記第3の手段は前記ディスクリート
    コサイン変換での前記偶数番ワードデータを前記第2
    の手段に直接導入するための第5の手段を含み、前記デ
    ィスクリートコサイン変換での前記奇数番ワードデー
    に幾何的及び算術演算を行って前記第2の手段へ導入
    する前記データを得るための第6の手段を含むことを特
    徴とする請求項30から33のいずれか一つに記載の
    ステム
  35. 【請求項35】 ディスクリートコサイン変換を表す
    ータを操作して逆ディスクリートコサイン変換を表す
    ータを得るシステムにおいて、 ブロック内の一連の入力ワードの列に対して前記ディス
    クリートコサイン変換の前記データを提供する第1の手
    段、前記入力ワードは偶数番ワード及び奇数番ワード
    構成している前記第1の手段と、 前記偶数番ワードにおける前記データを前記奇数番ワー
    における前記データとは異なる方法で処理して第2の
    手段から第4のデータを得る前記第2の手段と、 前記第2の手段からの前記第1のデータに応じて動作
    し、前記第2の手段における前記偶数番ワードからの出
    データ及び前記第2の手段からの前記奇数番ワード
    ための出力データに対して同一の処理を行って第2の
    ータを提供する第3の手段と、 前記第3の手段からの第2のデータに応じて動作し奇数
    及び偶数番ワードの関係する対に対して算術及び幾何
    的操作をかかる第2のデータに行い、前記逆ディスクリ
    ートコサイン変換に関する出力データ出力を得る第4の
    手段とから成ることを特徴とするシステム
  36. 【請求項36】 前記第4の手段における前記対のワー
    に対する前記算術演算はワードの各関係する対におけ
    データの合計を求めてかかる対における前記ワード
    一つに対する第1の出力データを与え、かかる関係する
    対での前記ワードにおける前記データの差を求めてかか
    る対における他のワードに対する第2の出力データを与
    えることを特徴とする請求項35に記載のシステム
  37. 【請求項37】 前記第3の手段は特定の定数による掛
    け算を含む幾何的演算を提供し、ワードの対における前
    データの合計の計算及びワードの対における前記デー
    の間の差の計算を含む算術演算を提供することを特徴
    とする請求項35又は36に記載のシステム
  38. 【請求項38】 前記第2の手段はワードの対における
    データの合計を含む算術演算を提供し、他のワードにお
    けるデータに定数を乗算する掛け算を含む幾何的演算を
    提供することを特徴とする請求項3536又は37
    記載のシステム
  39. 【請求項39】 前記第3の手段は特定の三角関数の定
    数による前記奇数及び偶数番ワードの特定のワード
    掛け算を含む幾何的演算を提供し、前記奇数番ワード
    対及び前記偶数番ワードの対応する対における前記デー
    の合計及び前記奇数番ワードの前記対における前記
    ータ及び前記偶数番ワードの前記対応する対における前
    データの差を含む算術演算を提供し、 前記第2の手段は前記奇数番ワードの対におけるデータ
    の合計を含む算術演算を提供し、また前記奇数番ワード
    の他の一つにおける前記データの定数による掛け算を含
    む幾何的演算を提供し、 前記第4の手段における前記ワードの対に対する前記算
    術演算はワードの各関係する対における前記データの合
    計を求めてかかる対における前記ワードの一つに対する
    第1の出力データを提供し、関係する対における前記
    ードにおける前記データの差を求めてかかる対における
    他方のワードに対する第2の出力データを提供すること
    を特徴とする請求項35から38の何れか一つに記載の
    システム
  40. 【請求項40】 前記第4の手段における各対における
    前記ワードの一つが奇数番ワードを構成し、かかる対に
    おける前記ワードの前記他方のワードが偶数番ワード
    構成することを特徴とする請求項35から39の何れか
    一つに記載のシステム
  41. 【請求項41】 ディスクリートコサイン変換を表す
    ータを操作して逆ディスクリートコサイン変換を表す
    ータを得るシステムにおいて、 ブロック内の一連の入力ワードの列に前記ディスクリー
    トコサイン変換の前記データを提供する第1の手段であ
    って、前記ワードは偶数番ワード及び奇数番ワードを構
    成する前記第1の手段と、 前記偶数番ワード及び前記奇数番ワードにおける前記デ
    ィスクリートコサイン変換の前記データを処理して第1
    データを得る第2の手段であって、前記第2の手段か
    らの前記第1のデータを保持する第1のラッチ手段を含
    む前記第2の手段と、 前記第2の手段のために、前記第2の手段からの前記第
    1のデータの前記第1のラッチ手段へ及び前記第1のラ
    ッチ手段からの通過を制御するクロック信号を提供する
    手段と、 前記第2の手段における前記偶数番ワードからの前記第
    1のデータ及び前記第2の手段における前記奇数番ワー
    からの前記第1のデータに対して同一の処理を行って
    第3の手段からの第2のデータを生成する第3の手段で
    あって、全てのラッチ手段とは独立に動作する前記第3
    の手段と、 第2のデータを処理し、前記逆ディスクリートコサイン
    変換に関係する第3のデータを生成する第4の手段であ
    って、前記クロック信号に応じて動作し前記クロック信
    号の発生に応じて前記第4の手段の動作の時間を制御す
    る第2のラッチ手段を含む前記第4の手段とから成るこ
    とを特徴とするシステム
  42. 【請求項42】 前記第2の手段は前記ディスクリート
    コサイン変換における前記偶数番ワードの前記データ
    前記ディスクリートコサイン変換における前記奇数番ワ
    ードの前記データの処理とは異なる方法で処理すること
    を特徴とする請求項41に記載のシステム
  43. 【請求項43】 前記第3の手段は前記奇数番ワード
    対する前記第1のデータを前記偶数番ワードに対する前
    記第1のデータとは異なる方法で処理することを特徴と
    する請求項41又は42に記載のシステム
  44. 【請求項44】 前記第3の手段は前記奇数番ワード
    特定のワード及び前記偶数番ワードの対応するワード
    対する前記第1のデータに幾何的計算を行い、前記奇数
    番ワードの特定の対及び前記偶数番ワードの対応する対
    に対する前記第1のデータに算術的計算を行うことを特
    徴とする請求項4142又は43に記載のシステム
  45. 【請求項45】 前記第2の手段は前記偶数番ワード
    おける前記ディスクリートコサイン変換の前記データ
    かかる偶数番ワードに対する第1のデータとして前記第
    3の手段に伝達し、偶数番ワードの対における前記ディ
    スクリートコサイン変換の前記データに算術計算を行っ
    てかかる偶数番ワードのための第1のデー を提供する
    ことを特徴とする請求項42に記載のシステム
  46. 【請求項46】 前記第2の手段はまた前記奇数番ワー
    の個々のワードにおける前記ディスクリートコサイン
    変換の前記データに幾何的計算を行い、その後前記奇数
    番ワードの対における前記ディスクリートコサイン変換
    の前記データに前記算術計算を行い、 前記第3の手段は前記第1の出力データの幾何的計算を
    前記奇数番ワードの特定のワード及び前記偶数番ワード
    の対応するワードに対する特定の定数を用いて行い、次
    に前記奇数番ワードの特定の対及び前記偶数番ワード
    対応する対に対して前記第1の出力データの算術的計算
    を行うことを特徴とする請求項45に記載のシステム
  47. 【請求項47】 前記特定の定数は三角関数の値及び2
    の平方根(√2)を構成することを特徴とする請求項
    に記載のシステム
  48. 【請求項48】 前記第4の手段は一方が偶数番ワード
    を構成し他方が奇数番ワードを構成する特定のワード
    対について第2のデータの加算を行い、前記特定のワー
    の対における前記データの間の減算を行うことを特徴
    とする請求項43に記載のシステム
  49. 【請求項49】 ディスクリートコサイン変換を表す二
    データを操作して逆ディスクリートコサイン変換を表
    す二進データを得る、前記ディスクリートコサイン変換
    を表す前記二進データは2の平方根(√2)を構成する
    一定値を表す二進係数を含んでいるシステムであって、 ブロック内の一連の入力ワードの列に前記ディスクリー
    トコサイン変換の前記二進データを提供する第1の手段
    であって、前記入力ワードは偶数番ワード及び奇数番ワ
    ードを構成する前期第1の手段と、 前記ディスクリートコサイン変換の前記二進データを操
    作して前記逆ディスクリートコサイン変換に関し、2の
    平方根(√2)を構成する前記二進係数を含む二進出力
    データを得る第2の手段と、 前記二進出力データを二進位置だけシフトさせて前記二
    進出力データの係数二(2)による分割を得て前記逆デ
    ィスクリートコサイン変換に関係する二進データを得る
    手段とからなることを特徴とする前記システム
  50. 【請求項50】 前記第2の手段は前記奇数番ワード
    たは前記偶数番ワードのどちらかを構成するワードのグ
    ループにおける前記データを処理し、前記奇数番ワード
    及び前記偶数番ワードの他方を構成するワードのグルー
    プにおける前記データを処理する手段を含むことを特徴
    とする請求項49に記載のシステム
  51. 【請求項51】 前記第2の手段は、前記偶数及び奇
    番ワードにおいて前記ディスクリートコサイン変換を
    表す前記二進データを個々に処理し、第1の二進データ
    を得る前共通処理手段を含み、前記前共通処理手段は前
    ワードの一つにおける前記ディスクリートコサイン変
    換の前記二進データを2の平方根(√2)を構成する二
    進係数で乗算する手段を含み、 前記第2の手段はまた始めに前記奇数番ワードまたは前
    記偶数番ワードを構成するグループ内の前記第1の二進
    データを特定の関連で処理し、次に前記偶数番ワード
    び前記奇数番ワードの他方を構成するグループ内の前記
    第1の二進データを前記特定の関連で処理する共通処理
    手段を含み、前記共通処理手段は前記奇数番ワードの特
    定のワード及び前記偶数番ワードの対応するワードにお
    ける前記第1の二進データを2の平方根を構成する前記
    二進係数で乗算する手段を含むことを特徴とする請求項
    49又は50に記載のシステム
  52. 【請求項52】 前記第2の手段における前記共通処理
    手段はまた前記奇数番ワードの特定のワード及び前記偶
    番ワードの対応するワードにおける前記第1の二進
    ータを一定の三角関数の値を構成する二進係数で乗算す
    る手段を含むことを特徴とする請求項51に記載のシス
    テム
  53. 【請求項53】 前記共通処理手段からの異なるワード
    における前記データは個々の二進有意性を有し、 前記第2の手段は前記共通処理手段からの前記二進デー
    を処理する後共通処理手段を含み、前記後共通処理手
    段は前記共通処理手段からの高い二進有意性を有する
    ードからの前記データを前記共通処理手段からの低い有
    意性を有するワードとは異なる方法で処理する手段を有
    することを特徴とする請求項51又は52に記載のシス
    テム
JP5157003A 1992-06-26 1993-06-28 周波数から時間領域への変換方法及び装置 Expired - Fee Related JP2962970B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP92305927A EP0575675B1 (en) 1992-06-26 1992-06-26 Method and apparatus for transformation of signals from a frequency to a time domaine
SG1996002719A SG45281A1 (en) 1992-06-26 1992-06-26 Method and arrangement for transformation of signals from a frequency to a time domain
GB923059273 1992-06-26

Publications (2)

Publication Number Publication Date
JPH076161A JPH076161A (ja) 1995-01-10
JP2962970B2 true JP2962970B2 (ja) 1999-10-12

Family

ID=26132088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5157003A Expired - Fee Related JP2962970B2 (ja) 1992-06-26 1993-06-28 周波数から時間領域への変換方法及び装置

Country Status (5)

Country Link
US (4) US5479364A (ja)
EP (1) EP0575675B1 (ja)
JP (1) JP2962970B2 (ja)
CA (1) CA2099146C (ja)
SG (1) SG45281A1 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5801973A (en) 1994-07-29 1998-09-01 Discovision Associates Video decompression
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
US5701263A (en) * 1995-08-28 1997-12-23 Hyundai Electronics America Inverse discrete cosine transform processor for VLSI implementation
US5867601A (en) * 1995-10-20 1999-02-02 Matsushita Electric Corporation Of America Inverse discrete cosine transform processor using parallel processing
US5805482A (en) * 1995-10-20 1998-09-08 Matsushita Electric Corporation Of America Inverse discrete cosine transform processor having optimum input structure
US5801979A (en) * 1995-10-20 1998-09-01 Matsushita Electric Corporation Of America Carry logic that produces a carry value from NLSBs for a ROM accumulator in an inverse discrete cosine transform processor
US6421695B1 (en) 1995-10-28 2002-07-16 Lg Electronics Inc. Apparatus for implementing inverse discrete cosine transform in digital image processing system
KR0175352B1 (ko) * 1995-12-21 1999-04-01 정선종 8x8 블럭과 2개의 4x8 블럭을 처리하는 이산여현 변환회로
US5754457A (en) * 1996-03-05 1998-05-19 Intel Corporation Method for performing an inverse cosine transfer function for use with multimedia information
US5754456A (en) * 1996-03-05 1998-05-19 Intel Corporation Computer system performing an inverse cosine transfer function for use with multimedia information
US5854757A (en) * 1996-05-07 1998-12-29 Lsi Logic Corporation Super-compact hardware architecture for IDCT computation
JPH1063646A (ja) * 1996-08-23 1998-03-06 Nec Corp 2次元逆離散コサイン変換回路
US5883823A (en) * 1997-01-15 1999-03-16 Sun Microsystems, Inc. System and method of a fast inverse discrete cosine transform and video compression/decompression systems employing the same
US6134270A (en) 1997-06-13 2000-10-17 Sun Microsystems, Inc. Scaled forward and inverse discrete cosine transform and video compression/decompression systems employing the same
US6504871B1 (en) * 1997-07-31 2003-01-07 Lsi Logic Corporation IDCT processor for use in decoding MPEG compliant video bitstreams meeting 2-frame and letterboxing requirements
US6021228A (en) * 1997-10-14 2000-02-01 Netscape Communications Corporation Integer-only short-filter length signal analysis/synthesis method and apparatus
US6141456A (en) * 1997-12-31 2000-10-31 Hitachi America, Ltd. Methods and apparatus for combining downsampling and inverse discrete cosine transform operations
SE9802286L (sv) * 1998-06-26 1999-12-27 Ericsson Telefon Ab L M Effektiv nedskalning av DCT-komprimerade bilder
US6421696B1 (en) 1999-08-17 2002-07-16 Advanced Micro Devices, Inc. System and method for high speed execution of Fast Fourier Transforms utilizing SIMD instructions on a general purpose processor
US8335994B2 (en) * 2000-02-25 2012-12-18 Salmon Alagnak Llc Method and apparatus for providing content to a computing device
US6742010B1 (en) 2000-07-10 2004-05-25 Advanced Micro Devices, Inc. Dual-block discrete consine transform method
US6832232B1 (en) 2000-07-10 2004-12-14 Advanced Micro Devices, Inc. Dual-block inverse discrete cosine transform method
US6973469B1 (en) 2001-02-01 2005-12-06 Advanced Micro Devices, Inc. Two-dimensional discrete cosine transform using SIMD instructions
US7123655B2 (en) 2001-08-09 2006-10-17 Sharp Laboratories Of America, Inc. Method for reduced bit-depth quantization
KR100451731B1 (ko) * 2001-12-18 2004-10-08 엘지전자 주식회사 역 이산 코사인 변환 장치
WO2003068025A2 (en) 2002-02-13 2003-08-21 Herman Miller, Inc. Tilt chair having a flexible back, adjustable armrests and asjustable seat depth, and methods for the use thereof
US7007055B2 (en) * 2002-03-12 2006-02-28 Intel Corporation Method of performing NxM Discrete Cosine Transform
US8335811B2 (en) * 2004-03-04 2012-12-18 Broadcom Corporation Method and system for high fidelity IDCT and DCT algorithms
US20050196055A1 (en) * 2004-03-04 2005-09-08 Sheng Zhong Method and system for codifying signals that ensure high fidelity reconstruction
CA2548927C (en) 2004-09-07 2012-03-20 Sunnen Products Company Honing feed system having full control of feed force, rate, and position and method of operation of the same
US8277280B2 (en) 2004-09-07 2012-10-02 Sunnen Products Company Honing feed system and method employing rapid tool advancement and feed force signal conditioning
KR101016224B1 (ko) 2006-12-12 2011-02-25 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 인코더, 디코더 및 시간 영역 데이터 스트림을 나타내는 데이터 세그먼트를 인코딩하고 디코딩하는 방법
JP4536109B2 (ja) * 2007-12-26 2010-09-01 富士通株式会社 半導体装置および信号処理方法
USD639091S1 (en) 2010-04-13 2011-06-07 Herman Miller, Inc. Backrest
USD653061S1 (en) 2010-04-13 2012-01-31 Herman Miller, Inc. Chair
USD652657S1 (en) 2010-04-13 2012-01-24 Herman Miller, Inc. Chair
USD637423S1 (en) 2010-04-13 2011-05-10 Herman Miller, Inc. Chair
USD657166S1 (en) 2010-04-13 2012-04-10 Herman Miller, Inc. Chair
US8449037B2 (en) 2010-04-13 2013-05-28 Herman Miller, Inc. Seating structure with a contoured flexible backrest
USD650206S1 (en) 2010-04-13 2011-12-13 Herman Miller, Inc. Chair
EP2743922A1 (en) * 2012-12-12 2014-06-18 Thomson Licensing Method and apparatus for compressing and decompressing a higher order ambisonics representation for a sound field
US9554152B2 (en) * 2013-07-12 2017-01-24 Qualcomm Incorporated Concurrent processing of horizontal and vertical transforms

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3676802A (en) * 1971-06-21 1972-07-11 Us Navy Submarine propeller cavitation noise simulator
FR2599872B1 (fr) * 1986-06-06 1988-07-29 Thomson Csf Dispositifs de calcul de transformees cosinus mono-dimensionnelles, et dispositif de codage et dispositif de decodage d'images comportant de tels dispositifs de calcul
US4829465A (en) * 1986-06-19 1989-05-09 American Telephone And Telegraph Company, At&T Bell Laboratories High speed cosine transform
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
NL8700843A (nl) * 1987-04-10 1988-11-01 Philips Nv Televisie-overdrachtsysteem met transformcoding.
US5299025A (en) * 1989-10-18 1994-03-29 Ricoh Company, Ltd. Method of coding two-dimensional data by fast cosine transform and method of decoding compressed data by inverse fast cosine transform
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
US5146326A (en) * 1989-11-14 1992-09-08 Fujitsu Limited Coded picture information decoding apparatus having means for improving picture distortion
US5107345A (en) * 1990-02-27 1992-04-21 Qualcomm Incorporated Adaptive block size image compression method and system
US5253078A (en) * 1990-03-14 1993-10-12 C-Cube Microsystems, Inc. System for compression and decompression of video data using discrete cosine transform and coding techniques
US5191548A (en) * 1990-03-14 1993-03-02 C-Cube Microsystems System for compression and decompression of video data using discrete cosine transform and coding techniques
GB2247138B (en) * 1990-06-29 1994-10-12 Digital Equipment Corp System and method for error detection and reducing simultaneous switching noise
US5202847A (en) * 1990-07-31 1993-04-13 Inmos Limited Digital signal processing
US5189526A (en) * 1990-09-21 1993-02-23 Eastman Kodak Company Method and apparatus for performing image compression using discrete cosine transform
JPH04242860A (ja) * 1990-12-28 1992-08-31 Sony Corp 演算装置
JPH04236664A (ja) * 1991-01-18 1992-08-25 Sony Corp 演算回路
US5257213A (en) * 1991-02-20 1993-10-26 Samsung Electronics Co., Ltd. Method and circuit for two-dimensional discrete cosine transform
US5870497A (en) * 1991-03-15 1999-02-09 C-Cube Microsystems Decoder for compressed video signals
JP2866754B2 (ja) * 1991-03-27 1999-03-08 三菱電機株式会社 演算処理装置
EP0514663A3 (en) * 1991-05-24 1993-07-14 International Business Machines Corporation An apparatus and method for motion video encoding employing an adaptive quantizer
US5168375A (en) * 1991-09-18 1992-12-01 Polaroid Corporation Image reconstruction by use of discrete cosine and related transforms
JP3323950B2 (ja) * 1992-03-17 2002-09-09 サン・マイクロシステムズ・インコーポレーテッド デジタル画像処理システムでidctを実施する方法及びそのためのidctプロセッサ
KR0160610B1 (ko) * 1992-04-07 1999-01-15 강진구 가변장부호화에 의한 영상압축방법과 신장방법 및 그 장치
CA2096584A1 (en) * 1992-05-28 1993-11-29 Frank H. Liao Variable length code decoder for video decompression operations
US5253055A (en) * 1992-07-02 1993-10-12 At&T Bell Laboratories Efficient frequency scalable video encoding with coefficient selection
US5345408A (en) * 1993-04-19 1994-09-06 Gi Corporation Inverse discrete cosine transform processor

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
IEEE TRANSACTIONS ON ACOUSTICS,SPEECH,AND SIGNAL PROCESSING,VOL.38,NO.3(1990−3)pp.553−557
IEEE TRANSACTIONS ON ACOUSTICS,SPEECH,AND SIGNAL PROCESSING,VOL.ASSP−35,NO.10(1987−10)pp.1455−1461
IEEE TRANSACTIONS ON SIGNAL PROCESSING,VOL.39,NO.2(1991−2)pp.544−546
Proceedings of ISCAS 85 vol.2(1985)IEEE PRESS,New York USA,pp.941−944

Also Published As

Publication number Publication date
US5594678A (en) 1997-01-14
CA2099146C (en) 1998-12-08
US5479364A (en) 1995-12-26
SG45281A1 (en) 1998-01-16
CA2099146A1 (en) 1993-12-27
EP0575675B1 (en) 1998-11-25
US5590067A (en) 1996-12-31
US5596517A (en) 1997-01-21
EP0575675A1 (en) 1993-12-29
JPH076161A (ja) 1995-01-10

Similar Documents

Publication Publication Date Title
JP2962970B2 (ja) 周波数から時間領域への変換方法及び装置
Clarke et al. Multi-terminal binary decision diagrams and hybrid decision diagrams
KR100308723B1 (ko) 올림수-보존 가산기회로 및 복수의 이진 데이터 비트 합산 방법
JPH08235159A (ja) 逆コサイン変換装置
JPH0526229B2 (ja)
Hatai et al. An efficient constant multiplier architecture based on vertical-horizontal binary common sub-expression elimination algorithm for reconfigurable FIR filter synthesis
JPH11501420A (ja) Jpeg画像圧縮標準を実現するvlsi回路構造体
JPH06139268A (ja) 高速フーリエ変換用ディジット反転のためのアドレス発生器及び反転フィールドシーケンス発生器並びにディジット反転シーケンス信号発生方法
EP1872267A2 (en) Fast fourier transform architecture
AU9030298A (en) Variable block size 2-dimensional inverse discrete cosine transform engine
Falkowski Properties and ways of calculation of multi-polarity generalized Walsh transforms
JPH07152730A (ja) 離散コサイン変換装置
JP3934290B2 (ja) 離散コサイン変換処理装置、逆離散コサイン変換処理装置及び離散コサイン変換処理装置・逆離散コサイン変換処理装置
JPH0981541A (ja) 累算器
EP0871133A1 (en) Method and arrangement for transformation of signals from a frequency to a time domain
US7151861B2 (en) Raster image transformation circuit using micro-code and method
CN112449199B (zh) 一种并行位矢量变换部分积相加的一维dct/idct变换器
Kim et al. Digit-serial modular multiplication using skew-tolerant domino CMOS
Yang et al. A novel 3780-point FFT
JP3652717B2 (ja) 離散コサイン高速演算器
KR100575285B1 (ko) 고속의 저전력 이산 코사인 변환 장치 및 방법
JP3575991B2 (ja) 直交変換回路
JP3396818B2 (ja) Dct演算回路及びidct演算回路
Kiran et al. Design and Analysis of a Novel High Speed Adder Based Hardware Efficient Discrete Cosine Transform (DCT)
CA2221181A1 (en) Method and arrangement for transformation of signals from a frequency to a time domain

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080806

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080806

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090806

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090806

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100806

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110806

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110806

Year of fee payment: 12

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110806

Year of fee payment: 12

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110806

Year of fee payment: 12

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110806

Year of fee payment: 12

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110806

Year of fee payment: 12

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110806

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120806

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees