JPH10504408A - 逆離散余弦変換を実行する装置および方法 - Google Patents

逆離散余弦変換を実行する装置および方法

Info

Publication number
JPH10504408A
JPH10504408A JP8506707A JP50670796A JPH10504408A JP H10504408 A JPH10504408 A JP H10504408A JP 8506707 A JP8506707 A JP 8506707A JP 50670796 A JP50670796 A JP 50670796A JP H10504408 A JPH10504408 A JP H10504408A
Authority
JP
Japan
Prior art keywords
intermediate value
equal
becomes available
calculate
value
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.)
Granted
Application number
JP8506707A
Other languages
English (en)
Other versions
JP3857308B2 (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 JPH10504408A publication Critical patent/JPH10504408A/ja
Application granted granted Critical
Publication of JP3857308B2 publication Critical patent/JP3857308B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49963Rounding to nearest

Abstract

(57)【要約】 画像デコンプレッションのための逆離散余弦変換を計算する装置(13)および方法が開示してある。この装置(13)は、MPEG2主レベル速度については約10、000個のトランジスタを備え、MPEG1主レベル速度については10、000個未満のトランジスタを備える。

Description

【発明の詳細な説明】 逆離散余弦変換を実行する装置および方法 発明の背景 本発明は、全体的には、画像デコンプレッションに関するものであり、一層詳 しくは、画像デコンプレッションの一部としての逆離散余弦変換を評価する装置 および方法に関するものである。 電子的に伝達あるいは保存しようとしているたいていの画像は、空間周期性お よび限られた空間的変化の度合いによる空間冗長性を有し、多くの空間周波数成 分がゼロに近い。任意のカラー・スペースを用いて表され、おそらくは動き補償 され、予測コード化された画像(静止画あるいは動画フレーム)は、周波数変換 を行い、その後、量子化を行ない、或る形態のエントロピー・コード化(通常、 ハフマン・コード化あるいは算術コード化)を行うことによって圧縮することが できる。 8×8二次元離散余弦変換を用いる画像の空間周波数ドメイン描画が標準にな ってきている。この技術は、たとえば、静止画用のJoint Photographic Experts Group(JPEG)規格、PCベースのマルチメディア・ハンドヘルド・ビデオ・ケ ーム用のMotion Picture Experts Group(MPEG)規格ならびにディジタル・ケー ブル・テレビジョン用のMPEG2規格で使用されている。画像は、輝度、クロミナ ンスあるいはモーション・ベクトルのような、(おそらくは予測コード化された )数量で特徴づけられる画素(ピクセル)のアレイとして表される。これらのア レイは8×8のピクセル値ブロックに分割され、各ブロックが水平方向、垂直方 向の空間周波数係数の8×8マトリックスに変換される。 こうして得られた係数が量子化されると、高周波係数に対する媒体の大部分が ゼロ値を発生する、これらの係数はほぼ空間周波数を高める順序で順序づけられ 、シリーズの早期に非ゼロ係数のクラスタを生じさせ、次いで連続的なゼロ値の 実行が続く。このようなデータ・ストリームは統計コード化を用いて有意に圧縮 され得る。 画像をデコンプレッションするとき、空間周波数係数の各8×8マトリックス は、二次元逆離散余弦変換(IDCT)を実施することによって8×8ピクセル 値ブロックに変換される。この二次元IDCTは、まず1つのアレイ・ディメン ションに沿って、次いで他のアレイ・ディメンションに沿って実施される一次元 IDCTのカスケードに分離し得る。たとえば、オリジナルのアレイにおける係 数の各桁をIDCTの対応する値に置き換えることができる。次いで、こうして 得た値の各行をそのIDCTで置き換えることによってオリジナルのピクセル値 を得ることができる。こうして、8×8二次元IDCTを16個の一次元8次I DCTに圧縮することができる。 8次の一次元IDCTが画像デコンプレッションで広範囲にわたる、通常はリ アルタイムの用途を持つことがわかる。効率の良いインプリメンテーションを創 り出すのにかなりの努力が払われてきた。この努力の大部分は、乗算の回数、そ して重要性は低いが、加算の回数を減らすことによって遅延を減らすべきである という組み合わせインプリメンテーションに焦点を合わせていた。加算と乗算の 間のトレードオフにより、乗算よりも多い加算を必要とし、非常に大きな全演算 回数を必要とする計算が行われることになる。IDCTまたは離散余弦変換(D CT)についてのこのような計算は、"Practical Fast 1-D IDCT Algorithms wi th 11 Multiplications",Christoph Loeffler,Adrian Lightenberg and George S.Moschytz,Proceedings of IEEE ICASSP,vol.2pp.988-991,February 1989およ び"A Fast DCT-SQ Scheme for Images",Yukihiro Arai,Takeshi Agui and Masay uki Nkajima,The Transactions of the IEICE,vol.E71,no.11,pp.1095-1097,Nov ember 1988に開示されている。 組み合わせインプリメンテーションは速いけれども、演算毎に異なった装置を 必要とするため、大量のハードウエアを必要とする。二次元IDCTインプリメ ンテーションは、すべて、桁、行の一次元IDCTの間の転位作業のためのメモ リを必要とする。このメモリは、また、IDCTが適度な量の補助論理と共に逐 次論理回路(たとえば、乗算累算)によって演算されるときに中間結果を保持す るのにも使用し得る。周知のように、乗算累算は乗算器と加算器とからなり、乗 算器の出力部は加算器入力部に接続されている。この安価なハードウェアでは、 最速の計算に、せいぜい1つの乗算を行う最少数のステップが必要である。この 場合、必要なステップは加算を行うが、乗算は同様に1回の乗算を含むステップ について利点を与える。 融合乗算/加算を行うハードウェア・インプリメンテーションの方法が、"New Scaled DCT Algorithms for Fused Multiply/Add Architectures",Elliot Linz er and Ephraim Feig,Proceedings of the IEEE ICASSP,pp.2201-2204,1991に開 示されている。しかしながら、この方法でも、また、上述したArai等に開示され ている方法でも、いずれもが得る結果は、スケール因数を掛け合わせたIDCT の結果である。画像処理量子化マトリックスにおいてこれらのスケール因数を説 明することはできるが、この技術はソフトウエア・インプリメンテーションでの み実用的である。ハードウェア・インプリメンテーションでは、付加的な乗算器 およびメモリが必要となるであろう。しかしながら、この付加的なハードウェア は、最終スケーリングが2の累乗である場合には、不要である。この場合、結果 のビットの桁移動を用いることができる。二次元IDCTの結果の最終スケーリ ングが2の累乗であるためには、一次元IDCTの結果が2の累乗の平方根に等 しい因数だけオフでなければならない。 したがって、本発明の目的は、スケーリングされていない二次元IDCT演算 のためのハードウェアが1つの乗算器しか必要とせず、このIDCT演算が従来 可能であったよりも少ないステップで実施される画像デコンプレッションのため の装置および方法を提供することにある。 本発明の別の目的は、8×8二次元IDCT演算のための簡略化した装置を提 供することにある。 本発明の付加的な目的および利点は、以下の説明に記載し、一部この記載から 明らかとなるであろうし、あるいは、発明の実施によって学習し得る。本発明の 目的および利点は、特に請求の範囲において指摘する手段および組み合わせによ って実現され、獲得され得る。 発明の概要 本発明は画像デコンプレッションの方法に向けたものである。圧縮された画像 定義ディジタル信号が入力されると、それが信号プロセッサを用いてディジタル 処理されて空間的に冗長な画像定義ディジタル信号を発生する。処理ステップは 、複数の二次元8ポイント×8ポイントIDCTの評価を行うステップを含む。 各評価は、2の累乗の平方根に等しい因数でスケーリングしたスケーリング済み 8ポイント一次元IDCTの16回の評価を含む。スケーリング済みの一次元I DCTの評価を行った後、その結果を上記の2の累乗に等しいビット数分だけ桁 移動する。ディスプレイをレンダリングする際に使用するために空間的に冗長な 画像定義ディジタル信号が出力される。 出発点の一次元離散余弦変換(DCT)値がF(0)−F(7)であり、スケ ーリングした一次元IDCT値がf´(0)−f´(7)である場合、スケーリ ングした一次元IDCT計算は次のように行われる。特に、以下の値が計算され る。すなわち、約F(0)+F(4)に等しい中間値P0、約F(0)−F(4 )に等しい中間値P1、約F(2)+k1F(6)に等しい中間値P2(ここで、 k1は約21/2−1である)、約F(2)−k2F(6)に等しい中間値P3(ここ で、k2は約21/2+1である)、約F(1)+k3F(7)に等しい中間値P4( ここで、k3は約21/2(2+21/21/2−21/2−1である)、約F(1)+k4 F(7)に等しい中間値P5(ここで、k4は約21/2(2+21/21/2+21/2+ 1である)、約F(5)+k5F(3)に等しい中間値P6(ここで、k5は約21 /2 (2−21/21/2+21/2−1である)、約F(5)−k6F(3)に等しい中 間値P7(ここで、k6は約21/2(2−21/21/2−21/2+1である)、約P0 +k72に等しい中間値Q0(ここで、k7は約2-1/2(2+21/21/2である) 、約P0−k72に等しい中間値Q2、約P1+k83に等しい中間値Q1(ここで 、k8は約2-1/2(2−21/21/2である)、約P1−k83に等しい中間値Q3 、約P4+k96に等しい中間値Q4(ここで、k9は約−(2+21/21/2+21 /2 +1である)、約P4−k96に等しい中間値Q6、約P5+k107に等しい中 間値Q5(ここで、k10は約(2+21/21/2+21/2+1である)、約P5−k1 07に等しい中間値Q7、約Q6−k37に等しい中間値R6、約Q0+k114に 等しい値f´(0)(ここで、k11は約2-1/2(2+(2+21/21/21/2で ある)、約Q0−k114に等しい値f´(7)、 約Q1+k126に等しい値f´(1)(ここで、k12は約1/2(2+(2+21/21/21/2である)、約Q1−k126に等しい値f´(6)、約Q2+k135 に等しい値f´(3)(ここで、k13は約2-1/2(2−(2+21/21/21/2 である)、約Q2−k135に等しい値f´(4)、約Q3+k127に等しい値f ´(2)および約Q3−k127に等しい値f´(5)である。 本発明の装置は、第1入力部、第2入力部および出力部を有するバタフライ演 算サブシステムを包含する。メモリが書き込みポートと読み出しポートを有し、 この書き込みポートが第1シングルパスによってバタフライ演算サブシステムの 出力部に接続してある。この装置は、また、第1、第2の入力部を有するマルチ プレクサと、第2シングルパスによってバタフライ演算サブシステムの第1入力 部に接続した出力部も包含する。第2シングルパスがメモリの読み出しポートを マルチプレクサの第1入力部に接続している。コントローラがメモリに読み出し 、書き込みアドレスおよび書き込み許可信号を与える。このコントローラは、ま た、マルチプレクサを制御し、係数値をバタフライ演算サブシステムの第2入力 部に供給して、上記の段落で説明したようなスケーリングした8ポイント一次元 逆離散余弦変換を含む二次元の8ポイント×8ポイントIDCTを演算する。 図面の簡単な説明 添付図面(本明細書に添付されてその一部をなし、また、同様の参照符号が同 様の構成要素を示す)は、本発明の好ましい実施例を概略的に示しており、上記 の全般的な説明ならびに以下に行う好ましい実施例の詳細な説明と共に、本発明 の原理を説明するのに役立つ。 第1図は、本発明によるスケーリングした一次元IDCT計算の流れ図である 。 第2図は、本発明に従ってIDCTを計算する装置のブロック図である。 第3図は、本発明に従ってIDCTの計算を行う装置の詳細なブロック図であ る。 第4図は、第3図のアドレス生成ブロック62、70のブロック図である。 第5図は、本発明に従ってIDCTを計算するより速い装置の詳細なブロック 図である。 好ましい実施例の説明 以下、本発明をいくつかの好ましい実施例によって説明する。これらの好まし い実施例はIDCTを決定する装置および方法である。本発明によるスケーリン グした一次元IDCTを決定するフローグラフ10が第1図に示してある。 第1図は13のバタフライを示している。周知のように、1つのバタフライは 2つの数量を決定する。これらの数量は共に2つの他の既知の数量の一次結合で あり、この同じ既知の数量が決定されつつある数量の両方についてのものである 。たとえば、バタフライ・ステップ12(仮想線の矩形ボックスで囲んである) は、数量P4=F(1)+k3F(7)、P5=F(1)−k4F(7)の決定から なる。第1図の13つのバタフライのうち1つのバタフライ(P0、P1対の決定 )は1つの加算と1つの減算を有し、9つのバタフライは1つの乗算、1つの加 算および1つの減算を有する(Q0、Q2対、Q1、Q3対、Q4、Q6対、Q5、Q7 対、R6、R7対、f´(0)、f´(7)対、f´(1)、f´(6)対、f´ (3)、f´(4)対およびf´(2)、f´(5)対の決定)。そして、2つ の乗算、1つの加算、1つの減算を持つ3つのバタフライがある(バタフライ1 2およびP2、P3対、P6、P7対の決定)。最後の3つのバタフライの各々は第 2カテゴリの2つのバタフライに分解することができる。すなわち、1つの乗算 、1つの加算、1つの減算を有するバタフライに分解できる。バタフライがせい ぜい1つの乗算ステップに限られている場合、第1図の方法は16のこのような バタフライを必要とする。したがって、二次元(2D)IDCTの演算には、1 6×16=256個のバタフライが必要であり、各バタフライが1つの乗算、1 つの加算、1つの減算を持たなければならない。 乗算がフローグラフのいくつかの領域に集中する他のIDCT決定と異なり、 本発明の方法は、すべての計算(バタフライ)がほぼ同じ複雑さであり、それら がフローグラフ全体に分布しているという利点を与える。ハードウェア・インプ リメンテーションの場合、これは同じタイプの演算を常に行う演算装置を持つ簡 単なデータパスで生じる。ハードウェアの構成要素はほとんど同時に用いること ができ、無駄は少しである。したがって、この方法の使用は非常に小さくて効率 の良いIDCTインプリメンテーションに通じ得る。 第2図に示すように、本発明のIDCT決定装置13は、コントローラ22、 マルチプレクサ14、バタフライ演算サブシステム16、メモリ18を包含する 。コントローラ22は、マルチプレクサ14、メモリ18、バタフライ演算サブ システム16を制御し、信号KOUTを用いてバタフライ演算サブシステム16 にk係数を与える。マルチプレクサ14は、バタフライ演算サブシステム16に 接続した出力部と、IDCT決定システム13の入力部として作用する入力部と 、メモリ18の読み出しポートに接続した入力部とを有する。バタフライ演算サ ブシステム16は、IDCT決定システム13の出力部として作用する出力部と 、メモリ18の書き込みポートに接続した別の出力部とを有する。上述したよう に、メモリは桁、行IDCT間の転位演算のための任意の二次元IDCTインプ リメンテーションで要求される。以下に説明するように、本発明のインプリメン テーションにおいては、転位演算はマルチプレクサによって行われる行・桁アド レス交換に変えることができる。本発明において、一次元(ID)IDCTはま ず桁について、次いで行について演算されると好ましい。こうすれば、IDCT 出力部が1桁ずつではなくて1行ずつとなり、IDCT決定システム13の出力 部に接続した画像デコンプレッサ(図示せず)の他の機能ユニットに対するイン ターフェイスが簡単になる。同じメモリ18を、バタフライ結果を保存する8つ のレジスタの一時的な記憶のためにも使用できる。本発明のIDCTインプリメ ンテーションは簡単な構造を有し、データフローが非常に局限される。このこと は、付加的なシリコン領域保存としても考慮できる非常に簡単なレイアウトに通 じる。 バタフライ入力部に割り当てられた12のビット(第2図においてマルチプレ クサ14によって供給される2つの初期値)とバタフライ入力部に割り当てられ た9のビット(第2図においてバタフライ演算サブシステム16の出力する2つ の最終値)を仮定すると、バタフライ出力部のすべての値がレンジ〔−1045 6、10456〕内にあるのがわかる。広範囲のシミュレーションの後、精度と データパス幅の間の最良の妥協は、メモリ18については16ビット、k係数に ついては13ビットであることがわかった(第2図の信号KOUT)。12ビッ ト入力は位置1つ分左へシフトされる。その結果、すべてのバタフライ出力がレ ンジ〔−20912、20912〕になり、すべてのデータ(入力、中間結果、 出力)を16ビット整数で表すことができる 最終出力は位置4つ分右へシフト されなければならない。1つは入力シフティングのためであり、3つはこの方法 で必要とされるスケーリングのためである。13ビットk係数(k[1]ないし k[13])の10進浮動小数点、16進不動点、2進不動点の表示が以下の表 1に示してある。表1において、最後の桁は、コントローラ22のkブロックの 説明のために後に使用する。 8×8逆離散余弦変換のインプリメンテーションのためのIEEE規格仕様( IEEE Std 1180-1990,December 6,1990)に従って演算した、上記のようなIDC Tインプリメンテーションについての丸みエラーは表2の第2桁に示してある。 表2において、第3の桁はエラーについてのIEEE推奨基準を与えている。 本発明による2つの特別のIDCTインプリメンテーションの説明は以下の通 りである。最初のもの13a(第3図)はPx64、MPEGIのようなローエ ンドタイプ用途のためのものであり、第2のもの13b(第5図)はディジタル TV(MPEG2メインレベル)のような媒体複雑性用途のためのものである。 これら2つのインプリメンテーションの主要な差異は、バタフライ計算を実行す る方法にある。 Px64またはMPEGIソース入力フォーマット(SIF)解像度(352 ×240×30フレームあるいは352×288×25フレーム)の場合、1秒 で演算すべきIDCTは59,400ある。33MHzの妥当なクロック速度の場合、 8×8ブロックの二次元IDCTを演算するのに利用できるサイクルは約512 ある。このことは、1つのバタフライを演算するのに2つのサイクルがあること を意味する。これは、2サイクル乗算器で、次いで、一方のサイクルが加算し、 他方のサイクルが減算する加算器によって行い得る。しかしながら、シングルサ イクル乗算累算(MAC)を用いると、インプリメンテーションを簡単にするば かりでなく、全体ゲート・カウントを低減する。MACは1サイクルが乗算−加 算を行い、他方のサイクルが乗算−減算を行うのに用いられる。乗算−減算は次 のようにして乗算−加算演算を用いることができる。 第3図に示してある。 データパスは一時に1つのデータ値を運ぶことができるような16ビット幅で ある。メモリ18a(第2図のメモリ18の或る特別の実施例)はデュアルポー ト式(1つが読み出しポート19aで、1つが書き込みポート21aである)で あり、64個の16ビット記憶場所を有し、アドレスの3つの最下位ビットが桁 を指定し、次の3つのビットが行を指定する。k係数はレジスタ(REGk)2 4に保持されている。このレジスタの出力部はMAC26の乗算器入力部に接続 している。マルチプレクサ14a(第2図のマルチプレクサ14の或る特別な実 施例)の1つの入力部が画像デコンプレッサ(図示せず)から入力信号28を受 け取り、マルチプレクサ14aの他方の入力部はメモリ18aに接続してある。 マルチプレクサ14aの出力はレジスタ30(REG1)、30(REG0)に 送られる。レジスタ30の出力部はMAC26の他方の乗算器入力部に接続して ある。レジスタ32の出力は、1セットのXORゲート34を介して、レジスタ 36(REG2)に送られる。レジスタ36の出力部はMAC26の加算器入力 部に接続してある。MAC26の出力はレジスタ38(REG3)に送られる。 レジスタ38の出力は別セットのXORゲート40を通り、メモリ18aの書き 込みポートおよびラウンド・シフト・リミット要素42に送られる。セットにな ったXORゲート34、40は式(1)の1の補数演算を行う。 ラウンド・シフト・リミット要素42は上述したように位置4つ分だけその入 力を右シフトする。シフティングの後、正数については8を加え、負数について は7を加えることによって不偏ラウンディングを行う。結果を右シフトし、〔− 256、255〕間隔に制限する。こうして得た出力はシステム13aの出力で ある。このロジックは220個のトランジスタを採用する。 MAC26はk係数(二進(基数)点の前では3、後では10)についての1 3ビットの符号のない入力と、2つの16ビットの符号付き入力とを有する。た いていの場合、レジスタ38へのMAC出力は29ビット符号付きである(二進 点前で19、後で10)。すべてのバタフライ出力がレンジ〔−20912、2 0912〕内にあるため、3つの最上位ビットは落とされる可能性がある。これ はこれらのビットが4番目の最上位ビットに常に等しいからである。10個の最 下位ビット(二進点の後のビット)も、すべての結果に0.5を加えることによ って単純なラウンディングが行われた場合、落とされる可能性がある。13個の ビットを落とすということは、MAC構造をかなり簡単にする。この技術分野で 周知のように、モディファイされたBoothアルゴリズムを用いると、8つの部分 積を加算しなければならない(k係数から7つ、累算から1つ)。各ビットにつ いて3つの4:2:2コンプレッサを使用するのが最も簡単である。符号エクス テンションのための「符号発生」法を用いると、57個のコンプレッサが必要な だけである。このうち35個は実際に4:2コンプレッサである。残りの22個 は3:2コンプレッサ(全加算器)のような簡略化バージョンであり、あるいは それよりさらに簡単である。これらすべての最適化処理の故に、MACインプリ メンテーションが必要とするトランジスタは5400個未満である。 レジスタ24、30、32、36、38、MAC26、XORゲート34、4 0およびラウンド・シフト・リミット要素42は、第2図のバタフライ演算サブ システム16の実施例16aを形成する。 データパスの他に、小形のコントローラ22a(第2図のコントローラ22の 或る特別の実施例である)が、アドレスRDADR44、WRADR46を駆動 し、信号48を用いて駆動されるkブロック20を用いるk係数を与え、出力制 御信号QRD 50、SUB0 52、SUB1 54、メモリ書き込み許可信 号WE 56、レジスタREG0 32、REG1 30についてのレジスタ許 可信号REG1EN 55、REG0EN 57を提供するのに、必要である。 コントローラ22aは出力信号WRCNT 60を持つ9ビット書き込みカウン タ58を包含する。出力信号WRCNT 60は、以下により詳しく説明するよ うにアドレスWRADR 46を発生する組み合わせロジック62に送られる。 出力信号WRCT 60の5つの最下位ビットWRCNT〔4:0〕は、書き込 み許可信号56を発生する組み合わせロジック64にも送られる。ロジック64 についての真理値表が表3の桁WRCNT、WEによって示してある。信号SU B1 54はWRCNT60の最下位ビットである。 コントローラ22aは出力信号RDCNT 68を持つ9ビット読み出しカウ ンタも包含する。出力信号RDCNT 66は組み合わせロジック70に付与さ れる。この組み合わせロジック70は、好ましい実施例では、後述するようにロ ジック62と機能上均等であり、アドレス信号RDADR 44を発生する。信 号SUB0 52はインバータ72によって反転された信号RDCNT 68の 最下位ビットである。信号QRD 50は組み合わせロジック74によって発生 させられ、信号RDCNT 68の最上位ビットおよび5つの最下位ビットの関 数である。RDCNT〔8]が1であるとき、信号QRDは常にゼロである。さ もなければ、信号RCDNT〔4:0〕の関数としてのその真理値表は表3の桁 RDCNT、INPUTで与えられる。ここで、INPUT桁が空白でないとき にはいつでも信号QRDは1である、kブロック20への入力信号48はRDC NT〔4:0〕に依存する4ビット入力である。表3からわかるように、信号K OUTは、信号RDCNTが或る奇数から次のより高い数に変化するので同じに 留まる。こうして、kブロック20への入力48は、単にRDCNT〔4:0〕 を減分し、最下位ビットを廃棄することだけで組み合わせロジック76によって 合成され得る。kブロック20の真理値表は、表1の桁「binary-fixed point」 、「(RDCNT-1)〔4:1〕」によって与えられる、信号REG0EN 57はR DCNT〔4:0〕の関数であり、組み合わせロジック78によって発生させら れる。ロジック78の真理値表は、表3の桁RCDNT、REG0によって与え られる。REG0ENは、REG0桁が空白あるいは二重引用符を含むときには 0であり、そうでない場合には1である。信号REG1EN 55はRDCNT 〔4:0〕の関数であり、組み合わせロジック80で発生する。ロジック78の 真理値表は表3の桁RDCNT、REG1によって与えられる。REG1桁が空 白あるいは二重引用符を含んでいる場合には、REG1ENは0であり、そうで なければ1である。 kブロックは読み出し専用メモリ(ROM)であってはならない。4ビット入 力(係数インデックス)および13ビット出力(k係数)を備えた組み合わせブ ロックは204個のトランジスタで具体化できる。 INPUT信号28は、通常、画像デコンプレッサのランダムアクセス・メモ リ(RAM)からのものであり、逆量子化器によって発生させられる。信号RD ADR 44は、RAMをアドレス指定するのに用いることができ、したがって 、入力は表3の桁INPUTに示す順序で到達する。ここで、二次下付き文字は 処理されつつある桁のインデックスを示している。RDMEN信号82はマルチ プレクサ14aに付与されるメモリ18aの出力である。 二次元IDCTは、それぞれ32サイクルで演算される16個の一次元IDC Tからなる。表3は、制御信号を以下にして駆動し、どんな信号が第1の一次元 IDCT(8×8マトリックスの第1桁IDCT)のための出力となるかを示し ている。ここで使用する表記法は第1図のフローグラフでのものと同じである。 第2の下付き文字が第1マトリックス桁が処理されつつあることを示すために加 えてある。他のマトリックス桁の場合、第2の下付き文字はマトリックス桁のイ ンデックスであり、RDCNTおよびWRCNTはマトリックス桁のインデック スの32倍に等しい量だけ高くなっており、RDADRおよびWRARDは下記 のロジック62、70によって与えられる。マトリックス行が処理されるときに は、マルチプレクサ14aがINPUTの代わりに信号RDMEMを選ぶ。信号 RDMEMは先に行われたマトリックス桁処理と信号RDADRによって決定さ れる。信号RDADRおよびWRADRも下記のロジック62、70によって決 定される。所与のインデックスのマトリックス行が処理されるときには、RDC NT、WRCNTは、同じインデックスのマトリックス桁が処理されていた場合 よりも256だけ高くなる。 2つのカウンタ58、66を使用することにより、IDCTコントローラはか なり簡略化される。IDCTパイプラインはこれらのカウンタを単に使用禁止に するだけで任意の段階で停止することができる。 メモリがバタフライ中間結果の一時的な記憶装置としても使用されるため、バ タフライ使用順序には多くの制約がある。その内の最大の制約は、バタフライ演 算が開始された後、新しいバタフライを演算するのに結果を使用できるようにな るまでに少なくとも3つのサイクルが必要であるということである。選んだ順序 (表3のREG3桁)はこれらの制約のすべてを解決し、それに加えて、制御ロ ジックを簡略化する(WRADRロジック62はRDADRロジック70と同じ であり、k係数シーケンスはkブロック20を簡略化し、SUB0およびSUB 1はRDCNT〔0〕の補数である)。 最初の8つのマトリックス桁IDCTは1桁ずつ0から7まで演算される。表 3の最後の8つのテーブル行、テーブル桁WRADR、REG3を見るとわ刈る ように、一次元IDCTの結果が或る特殊な順序で書き込まれる。次の8つのマ トリックス行IDCTは、マトリックス行アドレス(RDADR〔5:3〕、W RADR〔5:3〕)として、この特殊な順序を使用し、マトリックス桁アドレ ス(RDADR〔2:0〕、WRADR〔2:0〕)のためには、先行マトリッ クス行アドレス(転位演算)を使用する。これはかなり複雑となるが、アドレス 生成は非常に簡単である。第4図はそれをどう行うかを示している。 第4図(第3図の組み合わせロジック62、70のアドレス生成ロジックを示 している)において、CNT〔9:1〕は、読み出しカウンタ66または書き込 みカウンタ58のうちいずれかの出力となり得るカウンタ出力である。アドレス 生成ロジックは1つのORゲート88、2つのXORゲート90、92、マルチ プレクサ86、アドレス・ユニット84を包含する。アドレス・ユニット84は 、表3からの桁RDADRまたはWRADRの3つの最下位ビットを生成する単 純な組み合わせ回路である。これは約180個のトランジスタを採用している。 2つの9ビット・カウンタを含むIDCTコントローラ全体では674個のトラ ンジスタを採用している。 表4はIDCTの異なったサブシステム・ブロックについて用いるトランジス タの数を示している。本発明による二次元IDCT全体は、ほんの1,255個のセ ル・ゲートとフリップフロップ(約9,000個のトランジスタ)を用いて実現して いる。これはこれまでに具現された最も簡単なIDCT(MPEG1速度)より もはるかに簡単である。 MPEG2主レベル解像度(720×480×25フレーム)の場合、1秒で 演算されるべきIDCTは243,000ある。66MHzのクロック速度を仮定する と、8×8ブロックの二次元IDCTを演算するのに利用できるサイクルは約2 56である。このことは、1つのバタフライを演算するサイクルが1つであるこ とを意味する。これは、第5図に示すようにMAC26、減算器98ならびにコ ントローラ(図示せず)を備えたシステム13bで実行できる。演算すべき演算 式はa+kb、a−kbである。第2の演算式は2a−(a+kb)として書き 込むことができる。記号2aはaを1ビット分左へシフトすることによって得る ことができる。 減算を実施する方法が異なっているために、第2図のバタフライ演算サブシス テム16の異なった実施例16bを用いる。XORゲート34、40およびレジ スタ12(第3図)のセットは除いてあり、減算器98、レジスタ96(REG 4)、100(RFG5)が加えてある。レジスタ36の出力部とレジスタ96 の入力部の間では、シフト・ブロック94で示すようにデータは1ビットだけ左 シフトされる。周知のように、これは、相互接続によって達成され、なんらロジ ック要素を必要としない。ここでわかるように、MPEG2主レベルのためのI DCTはMPEG1のためのIDCTよりもほんの少し大きいだけである。この 理由は、MPEG1では、MACが繰り返し乗算のためにほとんど利用されない からである(MACは約50%の時間だけ非冗長的に使用される)。MPEG2 IDCTは付加的な16ビット・レジスタと16ビット減算器を有する。制御は 、先の実施例とほとんど同じであり、その教示から当業者であれば容易に導き出 すことができる。重要な差異は、読み出しポート19bと書き込みポート21b を備えたメモリ18bであり、ここでは、より大きなバンド幅のために、64× 16の代わりに32×32で構成してある。2つのデータ値が今や同時にメモリ に書き込まれている。中間結果は1時に1つずつ読み出され、マルチプレクサ1 4bが1つの記憶場所に格納される2つの値のうちどれを読み出すべきかを選定 する。全トランジスタ数は約10,000である。これは、かつて具現された最も簡単 なIDCT(MPEG2主レベル速度)よりもはるかに簡単である。 要約すると、画像デコンプレッションのための逆離散余弦変換の計算のための 装置および方法を説明してきた。この装置は、MPEG2主レベル速度の場合に は約10,000個のトランジスタで具現でき、MPEG1主レベル速度の場合には 10,000未満のトランジスタで具現できる。インプリメンテーションのチップ面積 、電力消費量は最小限であり、こうしてできたデコーダは任意用途の特殊な集積 回路(ASIC)に埋め込むことができる。 本発明を好ましい実施例によって説明してきたが、本発明はここに図示し、説 明した実施例に限定されるものではない。むしろ、発明の範囲は添付の請求の範 囲に定義されているものである。

Claims (1)

  1. 【特許請求の範囲】 1. 画像デコンプレッションの方法であって、 (a)圧縮された画像定義ディジタル信号を入力する段階と、 (b)信号プロセッサを用いて前記圧縮された画像定義ディジタル信号 をディジタル処理して空間的に冗長な画像定義ディジタル信号を生成する段階で あり、複数の二次元8ポイント×8ポイント逆離散余弦変換の評価を行う段階を 包含し、各評価が2の累乗の平方根に等しい因数でスケーリングしたスケーリン グ済み8ポイント一次元逆離散余弦変換の16回の評価を含み、次いで、前記二 次元逆離散余弦変換を前記2の累乗に等しいビット数だけシフトし、前記スケー リング済み8ポイント一次元逆離散余弦変換が離散余弦変換値F(0)−F(7 )からの値f´(0)−f´(7)を有し、1つのスケーリング済み8ポイント 一次元逆離散余弦変換の前記評価が (i)約F(0)+F(4)に等しい中間値P0を計算する段階と、 (ii)約F(0)−F(4)に等しい中間値P1を計算する段階と、 (iii)約F(2)+k1F(6)(ここで、k1は約21/2−1である )に等しい中間値P2を計算する段階と、 (iv)約F(2)−k2F(6)(ここで、k2は約21/2+1である )に等しい中間値P3を計算する段階と、 (v)約F(1)+k3F(7)(ここで、k3は約21/2(2+21/2 1/2−21/2−1である)に等しい中間値P4を計算する段階と、 (vi)約F(1)−k4F(7)(ここで、k4は約21/2(2+21/2 1/2+21/2+1である)に等しい中間値P5を計算する段階と、 (vii)約F(5)−k5F(3)(ここで、k5は約21/2(2−21/ 21/2+21/2−1である)に等しい中間値P6を計算する段階と、 (viii)約F(5)−k6F(3)(ここで、k6は約21/2(2−21 /21/2−21/2+1である)に等しい中間値P7を計算する段階と、 (ix)前記中間値P0、P2が利用できるようになった後、約P0+k7 2(ここで、k7は約2-1/2(2+21/21/2である)に等しい中間値Q0を 計算する段階と、 (x)前記中間値P0、P2が利用できるようになった後、約P0−k7 2に等しい中間値Q2を計算する段階と、 (xi)前記中間値P1、P3が利用できるようになった後、約P1+k8 3(ここで、k8は約2-1/2(2−21/21/2である)に等しい中間値Q1を計 算する段階と、 (xii)前記中間値P1、P3が利用できるようになった後、約P1−k83に等しい中間値Q3を計算する段階と、 (xiii)前記中間値P4、P6が利用できるようになった後、約P4+ k96(ここで、k9は約−(2+21/21/2+21/2+1である)に等しい中間 値Q4を計算する段階と、 (xiv)前記中間値P4、P6が利用できるようになった後、約P4−k96に等しい中間値Q6を計算する段階と、 (xv)前記中間値P5、P7が利用できるようになった後、約P5+k1 07(ここで、k10は約(2+21/21/2+21/2+1である)に等しい中間値 Q5を計算する段階と、 (xvi)前記中間値P5、P7が利用できるようになった後、約P5−k107に等しい中間値Q7を計算する段階と、 (xvii)前記中間値Q6、Q7が利用できるようになった後、約Q6+ k37に等しい中間値R6を計算する段階と、 (xviii)前記中間値Q6、Q7が利用できるようになった後、約Q6− k37に等しい中間値R7を計算する段階と、 (xix)前記中間値Q0、Q4が利用できるようになった後、約Q0+k114(ここで、k11は約2-1/2(2+(2+21/21/21/2である)に等しい 前記f´(0)を計算する段階と、 (xx)前記中間値Q0、Q4が利用できるようになった後、約Q0−k1 14に等しい前記f´(7)を計算する段階と、 (xxi)前記中間値Q1、R6が利用できるようになった後、約Q1+k126(ここで、k12は約(1/2)(2+(2+21/21/21/2である) に等しい前記f´(1)を計算する段階と、 (xxii)前記中間値Q1、R6が利用できるようになった後、約Q1+ k126に等しい前記f´(6)を計算する段階と、 (xxiii)前記中間値Q2、Q5が利用できるようになった後、約Q2+ k135(ここで、k13は約2-1/2(2−(2+21/21/21/2である)に等し い前記f´(4)を計算する段階と、 (xxv)前記中間値Q3、R7が利用できるようになった後、約Q3+k127に等しい前記f´(2)を計算する段階と、 (xxvi)前記中間値Q3、R7が利用できるようになった後、約Q3− k127に等しい前記f´(5)を計算する段階と を包含する段階と、 (c)ディスプレイをレンダリングする際にしようするために前記の空 間的に冗長な画像定義ディジタル信号を出力する段階と を包含することを特徴とする方法。 2. 請求の範囲第1項記載の方法において、 段階(i)および(ii)を同時に実施し、 段階(ix)および(x)を同時に実施し、 段階(xi)および(xii)を同時に実施し、 段階(xiii)および(xiv)を同時に実施し、 段階(xv)および(xvi)を同時に実施し、 段階(xvii)および(xviii)を同時に実施し、 段階(xix)および(xx)を同時に実施し、 段階(xxi)および(xxii)を同時に実施し、 段階(xxiii)および(xxiv)を同時に実施し、 段階(xxv)および(xxvi)を同時に実施する ことを特徴とする方法。 3. 請求の範囲第1項または第2項記載の方法において、前記中間結 果が、その後の少なくとも3つのサイクルが完了するまで使用されないことを特 徴とする方法。 4. 請求の範囲第1項または第2項記載の方法において、前記一次元 逆離散余弦変換のうちの8つの各々について、8つのメモリ場所を使用して前記 離散余弦変換値F(0)−F(7)および前記中間結果を保持することを特徴と する方法。 5. 請求の範囲第1項または第2項記載の方法において、前記一次元 逆離散余弦変換のうちの8つの各々について、8つのメモリ場所を使用して前記 中間値および前記逆離散余弦変換値f´(0)−f´(7)を保持することを特 徴とする方法。 6. 請求の範囲第1項記載の方法において、2セットのXORゲート を使用して加算が行われるか減算が行われるかを決定することを特徴とする方法 。 7. 請求の範囲第3項記載の方法において、 段階(vii)を段階(i)の後に実行し、 段階(v)を段階(vii)の後に実行し、 段階(iii)を段階(v)の後に実行し、 段階(xiii)を段階(iii)の後に実行し、 段階(xv)を段階(xiii)の後に実行し、 段階(ix)を段階(xv)の後に実行し、 段階(xi)を段階(ix)の後に実行し、 段階(xvii)を段階(xi)の後に実行し、 段階(xix)を段階(xvii)の後に実行し、 段階(xxi)を段階(xix)の後に実行し、 段階(xxv)を段階(xxi)の後に実行し、 段階(xxiii)を段階(xxv)の後に実行する ことを特徴とする方法。 8. 請求の範囲第4項記載の方法において、前記一次元逆離散余弦変 換のうちの8つの各々について、8つのメモリ場所を使用して前記中間値および 前記逆離散余弦変換値f´(0)−f´(7)を保持することを特徴とする方法 。 9. 第1バタフライ演算サブシステム入力部、第2バタフライ演算サ ブシステム入力部およびバタフライ演算サブシステム出力部を有するバタフライ 演算サブシステムと、 書き込みポートおよび読み出しポートを有する、メモリと、 バタフライ演算サブシステム出力部から前記メモリの書き込みポ ートに通じる第1信号パスと、 第1、第2のマルチプレクサ入力部およびマルチプレクサ出力部 を有するマルチプレクサと、 マルチプレクサ出力部から第1バタフライ演算サブシステム入力 部に通じる第2信号パスと、 前記メモリの読み出しポートから第1マルチプレクサ入力部に通 じる第3信号パスと、 前記メモリに読み出し、書き込みアドレスおよび書き込み許可信 号を与え、前記マルチプレクサを制御し、第2バタフライ演算サブシステム入力 部に係数を与えて2の累乗の平方根に等しい因数でスケーリングしたスケーリン グ済み8ポイント一次元逆離散余弦変換の16回の評価を含む二次元8ポイント ×8ポイント逆離散余弦変換を演算するコントローラとを包含し、前記スケーリ ング済みの8ポイント一次元逆離散余弦変換が離散余弦変換値F(0)−F(7 )からの値f´(0)−f´(7)を有し、前記コントローラが前記評価を次の ように実施する、すなわち、 (i)約F(0)+F(4)に等しい中間値P0を計算し、 (ii)約F(0)−F(4)に等しい中間値P1を計算し、 (iii)約F(2)+k1F(6)(ここで、k1は約21/2−1である )に等しい中間値P2を計算し、 (iv)約F(2)−k2F(6)(ここで、k2は約21/2+1である )に等しい中間値P3を計算し、 (v)約F(1)+k3F(7)(ここで、k3は約21/2(2+21/2 1/2−21/2−1である)に等しい中間値P4を計算し、 (vi)約F(1)−k4F(7)(ここで、k4は約21/2(2+21/2 1/2+21/2+1である)に等しい中間値P5を計算し、 (vii)約F(5)−k5F(3)(ここで、k5は約21/2(2−21 /21/2+21/2−1である)に等しい中間値P6を計算し、 (viii)約F(5)−k6F(3)(ここで、k6は約21/2(2−21 /21/2−21/2+1である)に等しい中間値P7を計算し、 (ix)前記中間値P0、P2が利用できるようになった後、約P0+k7 2(ここで、k7は約2-1/2(2+21/21/2である)に等しい中間値Q0を計 算し、 (x)前記中間値P0、P2が利用できるようになった後、約P0−k7 2に等しい中間値Q2を計算し、 (xi)前記中間値P1、P3が利用できるようになった後、約P1+k8 3(ここで、k8は約2-1/2(2−21/21/2である)に等しい中間値Q1を計 算し、 (xii)前記中間値P1、P3が利用できるようになった後、約P1−k83に等しい中間値Q3を計算し、 (xiii)前記中間値P4、P6が利用できるようになった後、約P4+ k96(ここで、k9は約−(2+21/21/2+21/2+1である)に等しい中間 値Q4を計算し、 (xiv)前記中間値P4、P6が利用できるようになった後、約P4−k96に等しい中間値Q6を計算し、 (xv)前記中間値P5、P7が利用できるようになった後、約P5+k1 07(ここで、k10は約(2+21/21/2+21/2+1である)に等しい中間値 Q5を計算し、 (xvi)前記中間値P5、P7が利用できるようになった後、約P5−k107に等しい中間値Q7を計算し、 (xvii)前記中間値Q6、Q7が利用できるようになった後、約Q6+ k37に等しい中間値R6を計算し、 (xviii)前記中間値Q6、Q7が利用できるようになった後、約Q6− k37に等しい中間値R7を計算し、 (xix)前記中間値Q0、Q4が利用できるようになった後、約Q0+k114(ここで、k11は約2-1/2(2+(2+21/21/21/2である)に等 しい前記f´(0)を計算し、 (xx)前記中間値Q0、Q4が利用できるようになった後、約Q0−k1 14に等しい前記f´(7)を計算し、 (xxi)前記中間値Q1、R6が利用できるようになった後、約Q1+k126(ここで、k12は約(1/2)(2+(2+21/21/21/2である)に等 しい前記f´(1)を計算し、 (xxii)前記中間値Q1、R6が利用できるようになった後、約Q1+ k126に等しい前記f´(6)を計算し、 (xxiii)前記中間値Q2、Q5が利用できるようになった後、約Q2+ k135(ここで、k13は約2-1/2(2−(2+21/21/21/2である)に等し い前記f´(4)を計算し、 (xxv)前記中間値Q3、R7が利用できるようになった後、約Q3+k127に等しい前記f´(2)を計算し、 (xxvi)前記中間値Q3、R7が利用できるようになった後、約Q3− k127に等しい前記f´(5)を計算する ことを特徴とする装置。 10.第1乗算器入力部、第2乗算器入力部、加算器入力部および乗算 累算器出力部を有する乗算累算器と、 書き込みポートおよび読み出しポートを有するメモリと、 乗算累算器入力部から前記メモリの書き込みポートに通じる第1 信号パスと、 第1、第2のマルチプレクサ入力部およびマルチプレクサ出力部 を有するマルチプレクサと、 マルチプレクサ出力部から前記乗算累算器の第1乗算器入力部に 通じる第2信号パスと、 前記マルチプレクサのマルチプレクサ出力部から前記乗算累算器 の加算器入力部に通じる第3信号パスと、 前記メモリの読み出しポートから第1マルチプレクサ入力部に通 じる第4信号パスと、 前記メモリに読み出し、書き込みアドレスおよび書き込み許可信 号を与え、前記マルチプレクサを制御するコントローラであり、、前記乗算累算 器の第2乗算器入力部に接続した出力部を有する係数ブロックを包含し、2の累 乗の平方根に等しい因数でスケーリングしたスケーリング済みの8ポイント一次 元逆離散余弦変換の16回の評価を含む二次元8ポイント×8ポイント逆離散余 弦変換を演算するコントローラとを包含し、前記スケーリング済みの8ポイント 一次元逆離散余弦変換が離散余弦変換値F(0)−F(7)からの値f´(0) −f´(7)を有し、前記コントローラが次のように前記評価を実施する、すな わち、 (i)約F(0)+F(4)に等しい中間値P0を計算し、 (ii)約F(0)−F(4)に等しい中間値P1を計算し、 (iii)約F(2)+k1F(6)(ここで、k1は約21/2−1である )に等しい中間値P2を計算し、 (iv)約F(2)−k2F(6)(ここで、k2は約21/2+1である )に等しい中間値P3を計算し、 (v)約F(1)+k3F(7)(ここで、k3は約21/2(2+21/2 1/2−21/2−1である)に等しい中間値P4を計算し、 (vi)約F(1)−k4F(7)(ここで、k4は約21/2(2+21/2 1/2+21/2+1である)に等しい中間値P5を計算し、 (vii)約F(5)−k5F(3)(ここで、k5は約21/2(2−21/ 21/2+21/2−1である)に等しい中間値P6を計算し、 (viii)約F(5)−k6F(3)(ここで、k6は約21/2(2−21 /21/2−21/2+1である)に等しい中間値P7を計算し、 (ix)前記中間値P0、P2が利用できるようになった後、約P0+k7 2(ここで、k7は約2-1/2(2+21/21/2である)に等しい中間値Q0を計 算し、 (x)前記中間値P0、P2が利用できるようになった後、約P0−k7 2に等しい中間値Q2を計算し、 (xi)前記中間値P1、P3が利用できるようになった後、約P1+k8 3(ここで、k8は約2-1/2(2−21/21/2である)に等しい中間値Q1を計 算し、 (xii)前記中間値P1、P3が利用できるようになった後、約P1−k83に等しい中間値Q3を計算し、 (xiii)前記中間値P4、P6が利用できるようになった後、約P4+ k96(ここで、k9は約−(2+21/21/2+21/2+1である)に等しい中間 値Q4を計算し、 (xiv)前記中間値P4、P6が利用できるようになった後、約P4−k96に等しい中間値Q6を計算し、 (xv)前記中間値P5、P7が利用できるようになった後、約P5+k1 07(ここで、k10は約(2+21/21/2+21/2+1である)に等しい中間値 Q5を計算し、 (xvi)前記中間値P5、P7が利用できるようになった後、約P5−k107に等しい中間値Q7を計算し、 (xvii)前記中間値Q6、Q7が利用できるようになった後、約Q6+ k37に等しい中間値R6を計算し、 (xviii)前記中間値Q6、Q7が利用できるようになった後、約Q6− k37に等しい中間値R7を計算し、 (xix)前記中間値Q0、Q4が利用できるようになった後、約Q0+k114(ここで、k11は約2-1/2(2+(2+21/21/21/2である)に等しい 前記f´(0)を計算し、 (xx)前記中間値Q0、Q4が利用できるようになった後、約Q0−k1 14に等しい前記f´(7)を計算し、 (xxi)前記中間値Q1、R6が利用できるようになった後、約Q1+k126(ここで、k12は約(1/2)(2+(2+21/21/21/2である)に等 しい前記f´(1)を計算し、 (xxii)前記中間値Q1、R6が利用できるようになった後、約Q1+ k126に等しい前記f´(6)を計算し、 (xxiii)前記中間値Q2、Q5が利用できるようになった後、約Q2+ k135(ここで、k13は約2-1/2(2−(2+21/21/21/2である)に等し い前記f´(4)を計算し、 (xxv)前記中間値Q3、R7が利用できるようになった後、約Q3+k127に等しい前記f´(2)を計算し、 (xxvi)前記中間値Q3、R7が利用できるようになった後、約Q3− k127に等しい前記f´(5)を計算する ことを特徴とする装置。 11.請求の範囲第10項記載の装置において、 段階(i)および(ii)を同時に実施し、 段階(ix)および(x)を同時に実施し、 段階(xi)および(xii)を同時に実施し、 段階(xiii)および(xiv)を同時に実施し、 段階(xv)および(xvi)を同時に実施し、 段階(xvii)および(xviii)を同時に実施し、 段階(xix)および(xx)を同時に実施し、 段階(xxi)および(xxii)を同時に実施し、 段階(xxiii)および(xxiv)を同時に実施し、 段階(xxv)および(xxvi)を同時に実施する ことを特徴とする装置。 12.請求の範囲第10項または第11項記載の装置において、前記中 間結果が、その後の少なくとも3つのサイクルが完了するまで使用されないこと を特徴とする方法。 13.請求の範囲第10項または第11項記載の装置において、前記一 次元逆離散余弦変換のうちの8つの各々について、8つのメモリ場所を使用して 前記離散余弦変換値F(0)−F(7)および前記中間結果を保持することを特 徴とする装置。 14.請求の範囲第10項または第11項記載の装置において、前記一 次元逆離散余弦変換のうちの8つの各々について、8つのメモリ場所を使用して 前記中間値および前記逆離散余弦変換値f´(0)−f´(7)を保持すること を特徴とする装置。 15.請求の範囲第10項記載の装置において、前記第1、第3の信号 パスがこれらの信号パスを通る信号を実行するためのXORゲートのセットを包 含し、各XORゲートが前記コントローラに接続した入力部を有することを特徴 とする装置。 16.請求の範囲第12項記載の装置において、 段階(vii)を段階(i)の後に実行し、 段階(v)を段階(vii)の後に実行し、 段階(iii)を段階(v)の後に実行し、 段階(xiii)を段階(iii)の後に実行し、 段階(xv)を段階(xiii)の後に実行し、 段階(ix)を段階(xv)の後に実行し、 段階(xi)を段階(ix)の後に実行し、 段階(xvii)を段階(xi)の後に実行し、 段階(xix)を段階(xvii)の後に実行し、 段階(xxi)を段階(xix)の後に実行し、 段階(xxv)を段階(xxi)の後に実行し、 段階(xxiii)を段階(xxv)の後に実行する ことを特徴とする装置。 17.請求の範囲第11項記載の装置において、前記第1信号パスが前 記第3信号パスに接続した入力部を有する減算器を包含することを特徴とする装 置。 18.請求の範囲第10項記載の装置において、前記コントローラが読 み出しカウンタおよび書き込みカウンタを包含し、前記メモリ読み出しアドレス が前記読み出しカウンタの出力部の組み合わせ関数であり、前記メモリ書き込み アドレスが前記書き込みカウンタの出力部の組み合わせ関数であることを特徴と する装置。 19.請求の範囲第18項記載の装置において、前記読み出しカウンタ の出力部の前記組み合わせ関数と前記書き込みカウンタの出力部の前記組み合わ せ関数が同じであることを特徴とする装置。 20.請求の範囲第18項記載の装置において、前記読み出しカウンタ が、前記読み出しカウンタおよび前記書き込みカウンタが計数を行っている間の 前記書き込みカウンタの前方3つのカウントであることを特徴とする装置。 21.請求の範囲第18項記載の装置において、前記係数ブロックが前 記読み出しカウンタに接続してあり、前記書き込みカウンタに接続していないこ とを特徴とする装置。 22.請求の範囲第13項記載の装置において、前記一次元逆離散余弦 変換のうち8つの各々について、8つのメモリ場所が使用されて前記中間値およ び前記逆離散余弦変換値f´(0)−f´(7)を保持することを特徴とする装 置。
JP50670796A 1994-07-29 1995-07-31 逆離散余弦変換を実行する装置および方法 Expired - Fee Related JP3857308B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/282,947 1994-07-29
US08/282,947 US5574661A (en) 1994-07-29 1994-07-29 System and method for inverse discrete cosine transform implementation
PCT/US1995/009731 WO1996004733A1 (en) 1994-07-29 1995-07-31 System and method for inverse discrete cosine transform implementation

Publications (2)

Publication Number Publication Date
JPH10504408A true JPH10504408A (ja) 1998-04-28
JP3857308B2 JP3857308B2 (ja) 2006-12-13

Family

ID=23083820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50670796A Expired - Fee Related JP3857308B2 (ja) 1994-07-29 1995-07-31 逆離散余弦変換を実行する装置および方法

Country Status (5)

Country Link
US (1) US5574661A (ja)
EP (1) EP0776559B1 (ja)
JP (1) JP3857308B2 (ja)
DE (1) DE69521431T2 (ja)
WO (1) WO1996004733A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6297073B1 (en) 1996-03-19 2001-10-02 Hitachi, Ltd. Semiconductor device

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5831881A (en) * 1994-12-02 1998-11-03 Sican Gmbh Method and circuit for forward/inverse discrete cosine transform (DCT/IDCT)
KR0182511B1 (ko) * 1996-02-24 1999-05-01 김광호 2차원 역이산 코사인 변환장치
US6137916A (en) * 1997-11-17 2000-10-24 Sony Electronics, Inc. Method and system for improved digital video data processing using 8-point discrete cosine transforms
US6215909B1 (en) 1997-11-17 2001-04-10 Sony Electronics, Inc. Method and system for improved digital video data processing using 4-point discrete cosine transforms
CN1296852C (zh) * 1997-11-17 2007-01-24 索尼电子有限公司 用于采用离散变换进行数字视频数据去压缩的方法和系统
US6295320B1 (en) * 1997-12-31 2001-09-25 Lg Electronics Inc. Inverse discrete cosine transforming system for digital television receiver
US6473534B1 (en) * 1999-01-06 2002-10-29 Hewlett-Packard Company Multiplier-free implementation of DCT used in image and video processing and compression
US6483876B1 (en) 1999-12-28 2002-11-19 Sony Corporation Methods and apparatus for reduction of prediction modes in motion estimation
US6690728B1 (en) 1999-12-28 2004-02-10 Sony Corporation Methods and apparatus for motion estimation in compressed domain
US6671319B1 (en) 1999-12-28 2003-12-30 Sony Corporation Methods and apparatus for motion estimation using neighboring macroblocks
US7072929B2 (en) * 2000-11-01 2006-07-04 Pts Corporation Methods and apparatus for efficient complex long multiplication and covariance matrix implementation
US7412038B2 (en) * 2004-04-28 2008-08-12 International Business Machines Corporation Telecommunications voice server leveraging application web-server capabilities

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6261159A (ja) * 1985-09-12 1987-03-17 Toshiba Corp コサイン変換装置
US5394349A (en) * 1992-07-10 1995-02-28 Xing Technology Corporation Fast inverse discrete transform using subwords for decompression of information
US5471412A (en) * 1993-10-27 1995-11-28 Winbond Electronic Corp. Recycling and parallel processing method and apparatus for performing discrete cosine transform and its inverse

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6297073B1 (en) 1996-03-19 2001-10-02 Hitachi, Ltd. Semiconductor device

Also Published As

Publication number Publication date
JP3857308B2 (ja) 2006-12-13
EP0776559A4 (en) 1998-01-14
WO1996004733A1 (en) 1996-02-15
EP0776559A1 (en) 1997-06-04
DE69521431D1 (de) 2001-07-26
DE69521431T2 (de) 2002-05-16
US5574661A (en) 1996-11-12
EP0776559B1 (en) 2001-06-20

Similar Documents

Publication Publication Date Title
US5467131A (en) Method and apparatus for fast digital signal decoding
Agostini et al. Pipelined fast 2D DCT architecture for JPEG image compression
EP0275979B1 (en) Circuit for computing the quantized coefficient discrete cosine transform of digital signal samples
US20070094320A1 (en) Parallel Adder-Based DCT / IDCT Design Using Cyclic Convolution
JPH10504408A (ja) 逆離散余弦変換を実行する装置および方法
WO1996004733A9 (en) System and method for inverse discrete cosine transform implementation
US5854757A (en) Super-compact hardware architecture for IDCT computation
Agostini et al. A FPGA based design of a multiplierless and fully pipelined JPEG compressor
JP2002519957A (ja) 符号関数を処理する方法および装置
Taylor et al. Design for the discrete cosine transform in VLSI
US6374280B1 (en) Computationally efficient inverse discrete cosine transform method and apparatus
Kwan et al. Implementation of DSP-RAM: an architecture for parallel digital signal processing in memory
KISHORE et al. Implementation of Low Dense and Low Latency Discrete Cosine Transform
SSManikanta et al. Implementation of Low Dense Discrete Cosine Transform using Vedic
Kiran et al. Design and Analysis of a Novel High Speed Adder Based Hardware Efficient Discrete Cosine Transform (DCT)
KR100434391B1 (ko) 디에스피 프로세서 및 마이크로프로세서의 실시간영상데이터 처리를 위한 연산회로 및 그 연산방법
Nikara et al. Implementation of two-dimensional discrete cosine transform and its inverse
Ismail et al. High speed on-chip multiple cosine transform generator
Vishwajeet et al. Design of Hardware Efficient Approximate DCT Architecture
JPH0646269A (ja) 静止画像データの伸長方法、圧縮方法及びそのための対応装置
JP3895031B2 (ja) 行列ベクトル乗算器
KR100350943B1 (ko) 분포연산방식을 이용한 고속 dct 연산회로
Sumaya et al. Implementation of Low Dense and Low Latency Discrete Cosine Transform
KR960014196B1 (ko) 이차원 역 이산 코사인 변환(idct) 프로세서
Kim et al. 200 mega pixel rate IDCT processor for HDTV applications

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060104

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060404

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060704

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060822

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060914

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100922

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110922

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110922

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120922

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130922

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees