JPH08235159A - 逆コサイン変換装置 - Google Patents

逆コサイン変換装置

Info

Publication number
JPH08235159A
JPH08235159A JP27894795A JP27894795A JPH08235159A JP H08235159 A JPH08235159 A JP H08235159A JP 27894795 A JP27894795 A JP 27894795A JP 27894795 A JP27894795 A JP 27894795A JP H08235159 A JPH08235159 A JP H08235159A
Authority
JP
Japan
Prior art keywords
matrix
dimensional
cosine transform
inverse cosine
multiplication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP27894795A
Other languages
English (en)
Inventor
Hideyuki Okose
秀之 大古瀬
Takatoshi Nada
孝稔 名田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP27894795A priority Critical patent/JPH08235159A/ja
Priority to EP95119072A priority patent/EP0720104B1/en
Priority to DE1995627930 priority patent/DE69527930T2/de
Priority to US08/568,096 priority patent/US5724278A/en
Publication of JPH08235159A publication Critical patent/JPH08235159A/ja
Pending legal-status Critical Current

Links

Classifications

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

Abstract

(57)【要約】 【課題】 画像信号の帯域圧縮処理に使用される逆コサ
イン変換装置において、演算精度を保ったまま演算後の
データのビット数を減少させ、ハード構成時の回路規模
を小さくすることを目的とする。 【解決手段】 並び換え、加減算、乗算などの基本演算
マトリクスを複数個組み合わせて直交変換処理を行う逆
コサイン変換装置であって、入力信号から出力信号を生
成する基本演算マトリクスは、Cn を、Cn =cos (n
π/16)(ただし、nは整数)として、(数1)のよう
に表わされ、 【数1】 各乗算マトリクスの演算の前にそれぞれ必ず加減算マト
リクスの演算を行うように構成してあることを特徴とす
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術】本発明は、ビデオCDなどにおい
て、コサイン変換により圧縮されたデータをデコード処
理する通信系および蓄積メディア系(ディスク、テープ
等)の復号装置、すなわち、画像信号の帯域圧縮処理に
使用する逆コサイン変換装置に関するものである。
【0002】
【従来の技術】DCT(Discrete Cosine Transform:離
散コサイン変換)、逆DCTは、圧縮率の最も優れた特
性を持つカルーネン・レーブ変換と同程度の性能を有
し、また、近年、LSI化が可能となってきた。そこ
で、画像信号の帯域圧縮処理に適し、MPEG(Moving
Picture Image Coding Experts Group )に用いられて
いる。
【0003】従来のコサイン変換装置、逆コサイン変換
装置は、例えば、Ephraim FeigおよびShmuel Winograd
著の論文「Fast Algorithms for the Discrete Cosine
Transform 」(IEEE Transaction on Signal Processin
g,September 1992)に示されている。
【0004】以下に、従来のコサイン変換装置、逆コサ
イン変換装置について説明する。
【0005】まず、従来のコサイン変換装置について
は、Cn を Cn =cos (nπ/16) (ただし、nは整数) として(数3)なる演算を行うことで、1次元コサイン
変換装置が得られる。
【0006】
【数3】
【0007】ところで、ユニタリ性(直交性)について
簡単に述べると、ある正方行列A、B(A、Bとも同じ
行列数)があり、それぞれがユニタリ性を有すとき、A
の逆行列は、Aの転置行列を求めることで得られる。ま
た、Bの逆行列も同様に求められる。また、[AB]の
逆行列は、Bの転置行列とAの転置行列の積を求めるこ
とで得られる。これらを(数4)にまとめる。
【0008】
【数4】
【0009】ところで、DCT(離散コサイン変換)は
ユニタリ性(直交性)を有すため、上記(数3)の第1
番目から第7番目の8行8列行列を転置する(逆行列を
とる)ことで、逆コサイン変換装置が得られる。ここ
で、Cn を Cn =cos (nπ/16) (ただし、nは整数) として(数5)に逆コサイン変換装置の行列式を示す。
【0010】
【数5】
【0011】ここで、テンソル積について簡単に述べる
と、i行j列の行列Aがあり、その要素をそれぞれaij
とする。この行列Aのテンソル積をとると、(i*i)
行(j*j)列の行列Bとなる。この行列Bのそれぞれ
の要素は、aij*Aの各要素に相当し、これを(数6)
に示す。
【0012】
【数6】
【0013】(数3)、(数5)より2次元コサイン変
換装置および2次元逆コサイン変換装置を得るには、各
基本演算マトリクスのそれぞれについてテンソル積をと
る。
【0014】このとき、各基本演算マトリクスは、64
行64列の行列になる。これに合わせて、8行8列の2
次元入出力信号を、図5のように、64行1列入出力信
号に置き換えることで、2次元コサイン変換装置および
2次元逆コサイン変換装置が得られる。
【0015】図11に信号の流れを示す従来の逆コサイ
ン変換装置の構成図を示す。図中の+は加算器、−1は
符号反転器、C4 等は乗算器の乗数を示す。2次元逆コ
サイン変換装置に関しては、(数5)の各基本演算マト
リクスのテンソル積をとることで同様にして得られる。
(数5)の中で、行列M14の右下にある2行2列の行列
演算は、図12(a)のような演算を行うことになる。
このまま行うと乗算が4回、加算が2回必要であるが、
図12(b)のような構成にすれば、乗算が3回、加算
も3回で演算を行うことが可能となる。
【0016】画像圧縮の規格として、例えば、CCIT
T勧告 H.261がある。この規格の逆DCT処理部
の演算精度を満たす上記の2次元逆コサイン変換装置を
考える。従来の2次元逆コサイン変換装置を図13に示
す。この中で、m.n(m、nは共に整数)という表示
があるが、これは各基本演算マトリクスの演算後の出力
データが何ビット必要かを表わしている。例えば、乗算
処理1302の出力データ(12.7)の場合は、m=
12、n=7で、合計19ビット必要になる。
【0017】(数5)に示す行列との対応を見ると、行
列M17は並び換え1301、行列M16は乗算処理130
2、行列M15は加算処理1303、行列M14は乗算処理
1304、行列M13は加算処理1305、行列M12は加
算処理1306、行列M11は加算処理1307に相当す
る。
【0018】また、図14にこの詳細図を示す。図中の
m.n(m、nは整数)の表示は、上記のビット数の表
示と同じである。まず、入力信号1401はデマルチプ
レクサ1402によって、行列M17の演算をする並び換
え処理が行われる。次に行われる乗算処理1302は、
12.0ビットの入力データを、逆DCT係数1405
の2.17ビットのデータと乗算器1406で演算する
ものと、図12に示した演算をするように、加算器14
03で加算して、その後に乗算器1406で乗算し、加
算器1408で加算するものとにデマルチプレクサ14
02、1407で分け、マルチプレクサ1409で1ク
ロック毎に12.7ビットのデータ1出力を得る。加算
処理1303、1305、1306、1307は、扱う
データのビット数は違うが、構成自体はほぼ同じで、次
にまとめて述べる。まず、デマルチプレクサ1410、
1415、1418、1421で入力データをラッチし
あるいはメモリ(ここでは図示を省略)等に分配してデ
ータを保持し、マルチプレクサ1411、1416、1
419、1422で、どのデータを演算するかを選択
し、加算器1412、1417、1420、1423で
加算をする。もう1つの乗算処理1304は、逆DCT
係数1413の2.14ビットのデータと、13.7ビ
ットの入力データを乗算器1414で順番に乗算するも
のである。全ての演算が終了した後、1クロック毎に
9.0ビットの1つの出力信号1424が得られる。
【0019】上記に示した従来の構成を用いたときに、
各行列演算後の出力データの必要ビット数は、 入力信号 12.0 ビット、 第7番目の行列M17の演算後 12.0 ビット、 第6番目の行列M16の演算後 12.7 ビット、 第5番目の行列M15の演算後 13.7 ビット、 第4番目の行列M14の演算後 12.7 ビット、 第3番目の行列M13の演算後 12.7 ビット、 第2番目の行列M12の演算後 13.7 ビット、 第1番目の行列M11の演算後 9.0 ビット となる。整数部分の合計ビット数は95、小数部分の合
計ビット数は35で、総ビット数は130となる。これ
では、回路規模が大きくなる。なお、(表1)にこのと
きの評価結果を示す。H.261の規格は満たされてい
る。各行列演算後のデータビット数をこれ以上減らす
と、8×8=64の各項の誤差の最大が1を超えてしま
い、H.261の規格を満たさなくなる。
【0020】
【表1】
【0021】また、一般的に行われている方法で、図1
5に示すような2個の1次元逆コサイン変換装置150
1、1503と、2個の行- 列転置用のメモリ150
2、1504を組み合わせた行- 列変換方法についても
考える。これは、8行8列の2次元入力信号において、
行方向の8入力を1次元逆コサイン変換して、行方向の
8出力を得て、それらを転置用のメモリに入れる動作を
8列分、つまり、8回行う。転置用のメモリは、8行8
列のデータの行と列を置き換える動作をする。これらを
それぞれ行方向と、列方向の2回行うことで、2次元逆
コサイン変換を行う。
【0022】前述の、テンソル積を用いた2次元逆コサ
イン変換装置と同様に、図11のように構成された1次
元逆コサイン変換装置を用いて、行- 列変換方法で2次
元逆コサイン変換装置を構成したものを考える。従来例
の構成は、図16に示すようになる。この中で、m.n
(m、nは共に整数)という表示があるが、これは前述
したとおり、各基本演算マトリクスの演算後の出力デー
タが何ビット必要かを表わしている。
【0023】ここで、ハードウェアで実現することを考
えると、8行8列の64個の入力がクロック同期で入力
される、つまり、クロック毎に1つのデータが入力され
るとき、8クロックで行あるいは列方向の1組の8入力
が揃う。このとき、8入力の1次元逆コサイン変換装置
は、8段のパイプラインを形成することになる。つま
り、加算処理、乗算処理がクロック同期で行われると、
1つの加算器、乗算器は8回演算できる。従来の1次元
逆コサイン変換装置では、加算が29回、乗算が13回
行われるため、これらの演算を8クロックで行うには、
加算器が4個、乗算器が2個必要となる。これより、行
- 列変換方法を用いて2次元逆コサイン変換装置を構成
するには、1次元逆コサイン変換装置が2組必要なので
加算器が8個、乗算器が4個必要となる。1602、1
604、1605、1606および1609、161
1、1612、1613は加算処理、1601、160
3および1608、1610は乗算処理であり、160
7および1614は転置用のメモリである。ここで、そ
れぞれのモジュールの演算器が必要とするビット数を考
えると、加算処理を行うモジュールについては、13.
8ビット入力どうしの加算を行うものが4個と、11.
8ビット入力どうしの加算を行うものが4個必要なの
で、21ビットと、19ビットの加算器がそれぞれ4個
ずつ必要となる。また、乗算器は、12.0ビットの入
力と2.17ビットの係数の乗算から13.8ビットの
出力を得る乗算器が1個、13.8ビットの入力と2.
14ビットの係数の乗算から13.8ビットの出力を得
る乗算器が1個、13.8ビットの入力と2.14ビッ
トの係数の乗算から11.8ビットの出力を得る乗算器
が1個、11.8ビットの入力と2.14ビットの係数
の乗算から11.8ビットの出力を得る乗算器が1個必
要である。
【0024】また、図17に示すように、各演算モジュ
ールは複数の入力から1個の入力を選択するセレクタ1
701、1702と、加算器あるいは乗算器である演算
器1703と、演算結果を保持する保持装置1704と
から成り立つ。なお、(表2)にこのときの評価結果を
示す。H.261の規格は満たされている。各行列演算
後のデータビット数をこれ以上減らすと、8×8=64
の各項の誤差の最大が1を超えてしまい、H.261の
規格を満たさなくなる。
【0025】
【表2】
【0026】
【発明が解決しようとする課題】従来の構成では、加減
算、乗算等の演算の回数を減らすことを狙いとしてい
る。ここで、乗算のマトリクスは全てコサインの係数で
あるため、乗算マトリクスの演算後の出力データの精度
を保つためには、マトリクスの係数のビット数を増や
し、演算後のビット数を多くしなければならない。とこ
ろで、上記の構成では入力信号に対し、乗算マトリクス
を先に演算し、その後に加減算マトリクスを演算するた
め、乗算マトリクスの演算で発生する誤差が、その後に
演算される加減算マトリクスの演算結果に影響を及ぼ
す。乗算マトリクスの演算後の加減算マトリクスの演算
の回数が多くなるにつれて誤差が蓄積され増大してい
く。そこで、最終出力信号の精度を保つには、乗算後の
演算のビット数を多くして精度を保たなければならな
い。しかし、そうすると、必然的に回路規模がさらに大
きなものになってしまうという問題がある。
【0027】本発明は上記従来の問題点を解決するもの
で、各基本演算マトリクスの演算後のデータのビット数
を減らし、かつ、最終出力信号の精度を保つことが可能
な逆コサイン変換装置を提供することを目的とする。
【0028】また、従来の行- 列変換方法を改良したも
ので、上記の目的を満たし、かつ、演算器の個数を減ら
した2次元の逆コサイン変換装置を提供することを目的
とする。
【0029】
【課題を解決するための手段】この目的を達成するため
に本発明に係る請求項1の逆コサイン変換装置は、並び
換え、加減算、乗算などの基本演算マトリクスを複数個
組み合わせて直交変換処理を行う逆コサイン変換装置で
あって、第1から第8までの入力信号から第1から第8
までの出力信号を生成する上記第1の基本演算マトリク
スは、Cn を Cn =cos (nπ/16) (ただし、nは整数) として、(数1)のように表わされ、
【0030】
【数1】
【0031】各乗算マトリクスの演算の前にそれぞれ必
ず加減算マトリクスの演算を行うように構成してあるこ
とを特徴としており、これにより、乗算マトリクスの演
算後の加減算マトリクスの演算回数を少なくしたもので
ある。
【0032】また、本発明に係る請求項2の2次元の逆
コサイン変換装置は、請求項1に示す上記の基本演算マ
トリクスにおいてそれぞれテンソル積をとることにより
得られる第2の基本演算マトリクスを行列演算すること
で、8行8列の2次元入力信号から8行8列の2次元出
力信号を生成するように構成したものである。
【0033】また、本発明に係る請求項3の2次元の逆
コサイン変換装置は、1次元逆コサイン変換装置を構成
する複数個の基本演算マトリクスのうちの1個以上の基
本演算マトリクスのテンソル積をとって2次元で構成
し、残りの部分は、1次元−行- 列転置−1次元の行-
列変換方法を用いることで、8行8列の2次元入力信号
から8行8列の2次元出力信号を生成するように構成し
たものである。
【0034】また、本発明に係る請求項4の逆コサイン
変換装置は、請求項3の2次元逆コサイン変換装置を実
現するために、請求項1に示す1次元逆コサイン変換装
置を変形したもので、第1から第8までの入力信号から
第1から第8までの出力信号を生成する基本演算マトリ
クスは、Cn を Cn =cos (nπ/16) (ただし、nは整数) として、(数2)のように表わされ、
【0035】
【数2】
【0036】乗算マトリクスの部分が全て対角行列にな
るように構成したものである。
【0037】また、本発明に係る請求項5の2次元の逆
コサイン変換装置は、請求項3の2次元逆コサイン変換
装置を実現する際に、行- 列変換方法で構成する部分
を、1次元で構成した1組の回路を行方向と列方向の2
回の演算を行うことで2次元を構成することを特徴とし
たものである。
【0038】本発明では上記した構成により、乗算マト
リクスの演算後の加減算マトリクスの演算回数が少ない
ため、乗算マトリクスの演算後に生じる誤差の蓄積が減
少する。これによって、演算精度を保ったまま各基本演
算マトリクスの演算後のデータのビット数を減少させる
ことが可能となる。
【0039】
【発明の実施の形態】以下、本発明に係る逆コサイン変
換装置の実施例について、図面を参照しながら説明す
る。
【0040】(実施の形態1)逆DCTには、第I種か
ら第IV種までの4種類がある。ここで、本実施例の8点
逆DCTは、(数7)のように表わされる。
【0041】
【数7】
【0042】この(数7)を展開することで、上記した
(数5)が得られる。この(数5)において、第3番目
から第6番目の行列式を演算し、まとめると(数8)の
ようになる。
【0043】
【数8】
【0044】ここで、2行2列の行列G1 、G2 と、4
行4列の行列G3 を変形し、その結果を(数9)に示
す。
【0045】
【数9】
【0046】(数9)の3式を組み合わせ、(数5)の
第3番目から第6番目の行列式と置き換えると、(数1
0)のように表わせる。
【0047】
【数10】
【0048】(数10)は特許請求の範囲に記載の(数
1)と同じものである。
【0049】(数10)において、M21は(数5)のM
11と同じであり、M22はM12と同じであり、M25はM14
と同じであり、M27はM17と同じである。
【0050】(数10)においては、各乗算マトリクス
の演算の前にそれぞれ必ず加減算マトリクスの演算が行
われるようになっている。ここで、「前」とは、式中で
の場所的なものではなく、演算処理順序の時間的なもの
である(式中では後ろになる)。すなわち、乗算マトリ
クスM25の前に加減算マトリクスM26が演算され、ま
た、乗算マトリクスM23の前に加減算マトリクスM24
演算されるようになっている。
【0051】図1に信号の流れで示した(数10)に対
応した逆コサイン変換装置の構成を示す。図中の+は加
算器、−1は符号反転器、C4 等は乗算器の乗数を示
す。図1に示すように、第1から第8の入力信号x0
7 から第1から第8の出力信号y0 〜y7 を生成する
逆コサイン変換装置が構成されている。
【0052】2次元逆コサイン変換装置に関しては、
(数10)の各基本演算マトリクスのテンソル積をとる
ことで同様にして得られた64行64列の第2の基本演
算マトリクスと、8行8列から64行1列信号に置き換
えた入力信号を行列演算することにより、64行1列の
出力信号が得られ、それらを8行8列に置き換え直した
2次元出力信号を生成する2次元逆コサイン変換装置を
構成することができる。
【0053】ここで、CCITT勧告 H.261の逆
DCT部の演算精度を満たす上記の2次元逆コサイン変
換装置を構成する。
【0054】図2は上記の2次元逆コサイン変換装置の
ブロック図を示す。この中で、m.n(m、nは共に整
数)という表示があるが、これは前述のものと同様、各
基本演算マトリクスの演算後の出力データがそれぞれ何
ビット必要かを表わしている。例えば、乗算処理203
の出力データ(14.6)の場合は、m=14、n=6
で、合計20ビット必要である。
【0055】図2においては、各乗算処理の前にそれぞ
れ必ず加算処理が行われるようになっている。ここで、
「前」とは、演算順序の時間的なものである。すなわち
乗算処理203の前に加算処理202が行われ、乗算処
理205の前に加算処理204が行われるようになって
いる。その結果として、乗算処理205の後で行われる
加算処理206、207の数が2と、従来例に比べて減
少している(従来例では1305、1306、1307
と3回の加算処理が行われている)。
【0056】(数10)に示す行列との対応を見ると、
行列M27は並び換え201、行列M26は加算処理20
2、行列M25は乗算処理203、行列M24は加算処理2
04、行列M23は乗算処理205、行列M22は加算処理
206、行列M21は加算処理207に相当する。また、
各行列演算後の出力データの必要ビット数は、 入力信号 12.0 ビット、 第7番目の行列M27の演算後 12.0 ビット、 第6番目の行列M26の演算後 13.0 ビット、 第5番目の行列M25の演算後 14.6 ビット、 第4番目の行列M24の演算後 14.4 ビット、 第3番目の行列M23の演算後 10.6 ビット、 第2番目の行列M22の演算後 10.6 ビット、 第1番目の行列M21の演算後 9.0 ビット となる。整数部分の合計ビット数は94、小数部分の合
計ビット数は22で、総ビット数は116となる。した
がって、総ビット数が130であった従来例に比べて、
本実施例の2次元逆コサイン変換装置は回路規模が小さ
くなる。ここでは、回路規模の大小を総ビット数で比較
したが、これが少ないということは、演算後のラッチや
RAM等の保持回路が占める面積が小さくなる。さら
に、各加算器、乗算器の演算ビット数が少なくなるとい
うことが類推できる。本実施例の場合の評価結果を(表
3)に示す。
【0057】
【表3】
【0058】(表3)から、本実施例はH.261の規
格を満たしていることが分かる。
【0059】図3は、図2の2次元逆コサイン変換装置
の詳細を示したものである。図中のm.n(m、nは整
数)の表示は上記のものと同じである。まず、デマルチ
プレクサ302で入力信号301をラッチしあるいはメ
モリ(図示は省略)等に分配してデータを保持し、マル
チプレクサ303でどのデータを演算するかを選択し、
加算器304で加算をする。ここでは、並び換え201
と加算処理202を併せて演算している。次に乗算処理
203を行うが、加算処理後の13.0ビットの出力デ
ータを、逆DCT係数308の2.17ビットのデータ
と乗算器309で演算するものと、加算器306で加算
し、その後に乗算器309で乗算し、加算器311で加
算するものとにデマルチプレクサ305、310で分
け、マルチプレクサ312で1クロック毎に14.6ビ
ットのデータ1出力を得る。残りの加算処理204、2
06、207は、扱うデータのビット数は違うが、構成
自体はほぼ同じであり、次にまとめて述べる。まず、デ
マルチプレクサ313、318、321で入力データを
ラッチしあるいはメモリ(図示は省略)等に分配してデ
ータを保持し、マルチプレクサ314、319、322
で演算データの選択を行い、加算器315、320、3
23で加算をする。もう1つの乗算処理205は、逆D
CT係数316の2.12ビットのデータと、14.4
ビットの入力データを乗算器317で順番に乗算するも
のである。全ての演算が終了した後、1クロック毎に1
つの出力信号324が得られる。
【0060】以上のように、本実施例によれば、各乗算
マトリクスの演算の前にそれぞれ必ず加減算マトリクス
の演算を行うように構成してあることにより、乗算マト
リクスの演算後に行う加減算マトリクスの演算回数を減
らすことで、演算精度を保ったまま各演算マトリクスの
演算後のデータのビット数を減少させることが可能とな
り、ハード構成時において回路規模の縮小が可能とな
る。
【0061】(実施の形態2)次に、本発明に係る第2
の実施例について、図面を参照しながら説明する。
【0062】ここで、行- 列変換方法と、部分的にテン
ソル積をとって2次元化した2次元逆コサイン変換装置
について簡単に述べる。
【0063】
【数11】
【0064】例えば(数11)のように、8行8列の基
本演算マトリクスをそれぞれA、B、C、Dとして、ま
た、それぞれ転置したものをAT 、BT 、CT 、DT
して、8行8列入力Xから8行8列出力Yを生成すると
き、Cの部分だけテンソル積をとり、その他の部分に行
- 列変換方法を適用すると、2次元逆コサイン変換装置
は図4のような構成となる。図4において、C’は、C
のテンソル積で、64行64列の行列である。A、B、
Dの部分の演算は、8行8列の入力に対して行われる。
これは、行方向あるいは列方向の8個の入力に対して、
8回演算を行うことで8行8列の出力を得ることを意味
している。また、C’は、図5のように、8行8列の入
力を64行1列の入力に置き換えて演算し、出力結果を
64行1列の出力から8行8列の出力に置き換える。特
に、この置き換えには、テンソル積をとった行列が対角
行列であれば、ラッチやメモリ等の保持装置を必要とし
ない。
【0065】次に、(数2)に示す逆コサイン変換装置
について考える。
【0066】
【数2】
【0067】(数5)の第2番目から第6番目の行列式
を演算し、まとめた(数12)の2つの4行4列の行列
1 、L2 を変形すると、(数13)のように表わせ
る。そして、(数13)の2式を組み合わせ、(数5)
の第2番目から第6番目までの行列式と置き換えると、
(数14)のように表わせる。
【0068】
【数12】
【0069】
【数13】
【0070】
【数14】
【0071】(数14)は特許請求の範囲に記載の(数
2)と同じものである。(数14)において、M32、M
33、M35、M37の各乗算マトリクスはそれぞれ対角行列
になっていることが分かる。ここで、M32とM33は1つ
の対角行列にまとめることが可能であるが、説明上、2
つの対角行列に分けておく。(数14)において、各乗
算マトリクスの演算の前にそれぞれ必ず加減算マトリク
スの演算が行われているようになっている。ここで、
「前」とは、式中での場所的なものではなく、演算処理
順序の時間的なものである(式中では後ろになる)。す
なわち、乗算マトリクスM32、M33の前に加減算マトリ
クスM34が演算され、乗算マトリクスM35の前に加減算
マトリクスM36が演算され、さらに、乗算マトリクスM
37の前に加減算マトリクスM38が演算されるようになっ
ている。
【0072】図6に、信号の流れで示した(数14)に
対応した逆コサイン変換装置の構成を示す。図中の+は
加算器、−1は符号反転器、C4 等は乗算器の乗数を示
す。
【0073】図6に示すように、第1から第8の入力信
号x0 〜x7 から第1から第8の出力信号y0 〜y7
生成する逆コサイン変換装置が構成されている。図6に
おいて、点線で区切られたM31〜M39は、(数14)の
各基本演算マトリクスに対応している。
【0074】図6の逆コサイン変換装置の一部をテンソ
ル積をとった2次元で構成し、残りの部分を行- 列変換
方法で構成した2次元逆コサイン変換装置について考え
る。
【0075】このときのブロック図を図7に簡単に示
す。図7において、行- 列変換方法を行うAの部分は図
6のM34〜M39の部分に相当し、テンソル積をとって2
次元で構成するBの部分は図6のM31〜M33までの部分
に相当する。
【0076】(数14)におけるM31〜M33までの部分
について、それぞれテンソル積をとって2次元でハード
ウェアを実現することを考える。まず、M33において、
対角の各要素は、全てC4 (=cos (π/4))なの
で、M33のテンソル積は64行64列の対角行列で、対
角の各要素は1/2になる。これは、実際には、右に1
ビットシフトするだけのことなので、乗算器を必要とし
ない。また、64行1列の入力全てを1/2するので、
どの演算過程において行ってもよい。
【0077】次に、M32の部分は、テンソル積をとると
33と同様に、64行64列の対角行列になる。これを
ハードウェアで構成するには、64行1列の入力を順番
に乗算すればよいので、1個の乗算器で構成できる。ま
た、M31のテンソル積をとると、64行64列の行列と
なるが、ハードウェアで構成するときには、図8のよう
に、2個の加減算器802、804およびラッチやRA
M等の2個の保持装置801、803を必要とする。
【0078】次に、1次元で行う部分に関して、ハード
ウェアで実現することを考える。このとき、従来例と同
様、1次元で構成する部分は8段のパイプラインを形成
することになる。まず、図6より、M35とM37の乗算に
関して、乗算回数は合計で7回となる。このときの乗算
の係数は、2C4 、1/2C2 、1/2C6 の3種類が
ある。この中で、M37の演算に相当する2C4 との乗算
は、1次元では8クロックの間に3回行うので、2次元
ではその倍の6回行うことになる。演算のパイプライン
数は8なので、8クロックで6回の乗算を行うには1個
の乗算器で十分である。また、係数が常に同じなので、
加算器とシフトのみを用いた回路規模の小さな乗算器で
構成できる。同様に、M35の演算に相当する残りの2つ
の係数1/2C2 、1/2C6 についても、1次元で4
回、つまり、2次元では8回乗算が行われるので、マル
チプレクサと加算器とシフトのみを用いた回路規模の小
さな1個の乗算器で構成できる。
【0079】次に、加算処理については、図6のM34
36は、セレクタ、2つの入力の加算・減算結果を出力
する加減算器、マルチプレクサ、演算結果を保持するラ
ッチで構成できる。残りのM38は、セレクタ、1つの加
算器、演算結果を保持するラッチで構成できる。
【0080】全体の加算器、乗算器の個数を見ると、加
算器は8個、乗算器は3個必要である。ただし、乗算器
は、特定の係数との乗算をするものが2つ含まれてい
る。従来のものと比べて、乗算器の個数が1個減り、さ
らに、専用の乗算器を用いるため、従来例よりも回路規
模を削減できる。
【0081】次に、各基本演算マトリクスの演算にどれ
だけのビット精度が必要かを図9に示す。この中で、
m.n(m、nは共に整数)という表示があるが、これ
は前述したとおり、各基本演算マトリクスの演算後の出
力データが何ビット必要かを表わしている。また、M35
とM37の乗算において係数のビット数が示してあるが、
加算器とシフトのみで構成した専用の乗算器ではなく、
これらのモジュールを通常の乗算器を用いて構成したと
きに必要なビット数である。また、M31、M32とM33
それぞれにダッシュ「’」がついているが、これは、そ
れぞれテンソル積をとったものである。図9より、それ
ぞれのモジュールの演算器が必要とするビット数を考え
る。
【0082】まず、加減算器については、1次元で行う
部分は、13ビット(13.0)が1個(902)、1
7ビット(13.4)が2個(904、906)、18
ビット(14.4)が2個(909、911)、19ビ
ット(15.4)が1個(913)それぞれ必要で、2
次元で行う部分は18ビットが2個必要である。これら
は、21ビットと19ビットの加減算器がそれぞれ4個
必要であった従来のもの(図16参照)と比べて全体的
にビット数が減っていることが分かる。
【0083】次に、乗算器について考える。1次元で行
う部分のM35、M37の乗算については、14.4ビット
の入力から14.4ビットの出力を得るように加算器、
シフト、丸め回路で構成する(910、912)。ま
た、2次元で行う部分の乗算器は、15.4ビットの入
力と2.11ビットの係数の乗算から11.7ビットの
出力を得る乗算器(914)が1個必要である。なお、
(表4)にこのときの評価結果を示す。H.261の規
格は満たされている。各行列演算後のデータビット数を
これ以上減らすと、8×8=64の各項の誤差の最大が
1を超えてしまい、H.261の規格を満たさなくな
る。
【0084】
【表4】
【0085】以上のように本実施例は、行- 列変換方法
と、部分的にテンソル積をとる2次元化を組み合わせる
ことで、乗算器の数を減らし、演算精度を保ったまま各
基本演算マトリクスの演算後のデータのビット数を減少
させることが可能となり、回路規模の縮小が可能とな
る。
【0086】(実施の形態3)次に、本発明による第3
の実施例について、図面を参照しながら説明する。
【0087】逆コサイン変換装置の一部をテンソル積を
とった2次元で、残りの部分を行-列変換方法で構成し
た2次元逆コサイン変換装置について、行- 列変換方法
を用いる部分を1個の回路で構成したものを図10に示
す。図10において、8行8列の入力をA(1012)
に転送して演算を行い、その結果をマルチプレクサ10
13によって転置用RAM1014に転送する。転置用
RAM1014に8行8列分のデータが入ると、行と列
を入れ換えて出力し、セレクタ1011によってRAM
1014からのデータをA(1012)に転送して演算
を行う。その結果をマルチプレクサ1013により、2
次元で演算するB(1015)に転送して演算を行う。
このとき、外部からの入力とRAM1014からの入力
を切り換えるセレクタ1011と、1次元の演算を行う
A(1012)と、転置用RAMのどちらに出力するか
を切り換えるマルチプレクサ1013は、タイミング制
御装置1010によって選択される。
【0088】以上のように本実施例は、行- 列変換方法
を用いる部分は、1次元の演算装置を1個で行方向と列
方向との2回演算することで2次元の演算が行うことが
可能となり、1次元の部分の回路規模の縮小が可能とな
る。
【0089】
【発明の効果】以上のように本発明によれば、各乗算マ
トリクスの演算の前にそれぞれ必ず加減算マトリクスの
演算を行うようにしたので、乗算マトリクスの演算後の
加減算マトリクスの演算回数が少ないため、乗算マトリ
クスの演算後に生じる誤差の蓄積が減少することにな
り、これによって、演算精度を保ったまま各基本演算マ
トリクスの演算後のデータのビット数を減少させること
が可能となり、回路規模の縮小が可能となる。
【0090】また、1次元逆コサイン変換装置を構成す
る複数個の基本演算マトリクスのある部分だけテンソル
積をとって、その部分を2次元で構成し、残りの部分
は、1次元−行- 列転置−1次元の行- 列変換方法で構
成する場合には、乗算器の数を減らし、演算精度を保っ
たまま各基本演算マトリクスの演算後のデータのビット
数を減少させることが可能となり、回路規模の縮小が可
能となる。
【0091】また、テンソル積をとった乗算マトリクス
を全て対角行列にすると、ラッチやメモリ等の保持装置
を省略でき、さらに回路規模の縮小が可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施例における逆コサイン変換
装置の信号の流れを示す装置の構成図である。
【図2】本発明の第1の実施例における2次元逆コサイ
ン変換装置のブロック図である。
【図3】本発明の第1の実施例における2次元逆コサイ
ン変換装置の詳細を示したブロック図である。
【図4】本発明の第2の実施例における2次元逆コサイ
ン変換装置の説明図である。
【図5】本発明の第2の実施例における行列の置き換え
の説明図である。
【図6】本発明の第2の実施例における逆コサイン変換
装置の信号の流れを示す装置の構成図である。
【図7】本発明の第2の実施例における2次元逆コサイ
ン変換装置のブロック図である。
【図8】本発明の第2の実施例における2次元加算処理
の説明図である。
【図9】本発明の第2の実施例における2次元逆コサイ
ン変換装置の詳細を示したブロック図である。
【図10】本発明の第3の実施例における2次元逆コサ
イン変換装置の説明図である。
【図11】従来の逆コサイン変換装置の信号の流れを示
す装置の構成図である。
【図12】2行2列の行列演算の乗算回数を減らす装置
の構成図である。
【図13】従来の2次元逆コサイン変換装置のブロック
図である。
【図14】従来の2次元逆コサイン変換装置の詳細を示
したブロック図である。
【図15】従来の2次元逆コサイン変換装置のブロック
図である。
【図16】従来の2次元逆コサイン変換装置の詳細を示
したブロック図である。
【図17】演算モジュールの構成を示したブロック図で
ある。
【符号の説明】
201……並び換え 202、204、206、207……加算処理 203、205……乗算処理 302、305、310、313、318、321……
デマルチプレクサ 303、307、312、314、319、322……
マルチプレクサ 304、306、311、315、320、323……
加算器 308、316……逆DCT係数 309、317……乗算器

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 並び換え、加減算、乗算などの基本演算
    マトリクスを複数個組み合わせて直交変換処理を行う逆
    コサイン変換装置であって、第1から第8の入力信号か
    ら第1から第8の出力信号を生成する上記第1の基本演
    算マトリクスは、Cn を Cn =cos (nπ/16) (ただし、nは整数) として、(数1)のように表わされ、 【数1】 各乗算マトリクスの演算の前にそれぞれ必ず加減算マト
    リクスの演算を行うように構成してあることを特徴とす
    る逆コサイン変換装置。
  2. 【請求項2】 請求項1に示す基本演算マトリクスにお
    いてそれぞれテンソル積をとることにより得られる第2
    の基本演算マトリクスを行列演算することで、8行8列
    の2次元入力信号から8行8列の2次元出力信号を生成
    するように構成してあることを特徴とする2次元の逆コ
    サイン変換装置。
  3. 【請求項3】 請求項2に示す2次元逆コサイン変換装
    置の構成において、1次元逆コサイン変換装置を構成す
    る複数個の基本演算マトリクスのある部分だけテンソル
    積をとって、その部分を2次元で構成し、残りの部分
    は、1次元−行-列転置−1次元の行- 列変換方法で構
    成することを特徴とする2次元の逆コサイン変換装置。
  4. 【請求項4】 請求項1に示す1次元逆コサイン変換装
    置の変形で、(数2)のように、 【数2】 乗算マトリクスを全て対角行列にすることを特徴とする
    1次元の逆コサイン変換装置。
  5. 【請求項5】 請求項3に示す2次元逆コサイン変換装
    置の構成において、行- 列変換方法で構成する部分を、
    1次元で構成した1組の回路を行方向と列方向の2回の
    演算を行うことで2次元を構成することを特徴とする2
    次元の逆コサイン変換装置。
JP27894795A 1994-12-06 1995-10-26 逆コサイン変換装置 Pending JPH08235159A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP27894795A JPH08235159A (ja) 1994-12-06 1995-10-26 逆コサイン変換装置
EP95119072A EP0720104B1 (en) 1994-12-06 1995-12-04 Method for inverse discrete cosine transform
DE1995627930 DE69527930T2 (de) 1994-12-06 1995-12-04 Verfahren zur inversen, diskreten Cosinus-Transformation
US08/568,096 US5724278A (en) 1994-12-06 1995-12-06 Apparatus for inverse discrete cosine transform

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP30187294 1994-12-06
JP6-301872 1994-12-06
JP27894795A JPH08235159A (ja) 1994-12-06 1995-10-26 逆コサイン変換装置

Publications (1)

Publication Number Publication Date
JPH08235159A true JPH08235159A (ja) 1996-09-13

Family

ID=26553111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27894795A Pending JPH08235159A (ja) 1994-12-06 1995-10-26 逆コサイン変換装置

Country Status (4)

Country Link
US (1) US5724278A (ja)
EP (1) EP0720104B1 (ja)
JP (1) JPH08235159A (ja)
DE (1) DE69527930T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978508A (en) * 1996-09-20 1999-11-02 Nec Corporation Two-dimensional inverse discrete cosine transformation circuit for MPEG2 video decoder

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336180B1 (en) 1997-04-30 2002-01-01 Canon Kabushiki Kaisha Method, apparatus and system for managing virtual memory with virtual-physical mapping
JPH1063646A (ja) * 1996-08-23 1998-03-06 Nec Corp 2次元逆離散コサイン変換回路
US6003056A (en) * 1997-01-06 1999-12-14 Auslander; Lewis Dimensionless fast fourier transform method and apparatus
AUPO648397A0 (en) 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Improvements in multiprocessor architecture operation
US6674536B2 (en) 1997-04-30 2004-01-06 Canon Kabushiki Kaisha Multi-instruction stream processor
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
GB9722982D0 (en) * 1997-10-31 1998-01-07 Integrated Silicon Systems Lim A commutator circuit
JPH11143860A (ja) * 1997-11-07 1999-05-28 Matsushita Electric Ind Co Ltd 直交変換装置
US6088019A (en) * 1998-06-23 2000-07-11 Immersion Corporation Low cost force feedback device with actuator for non-primary axis
US6211861B1 (en) * 1998-06-23 2001-04-03 Immersion Corporation Tactile mouse device
US6295320B1 (en) * 1997-12-31 2001-09-25 Lg Electronics Inc. Inverse discrete cosine transforming system for digital television receiver
US6707443B2 (en) 1998-06-23 2004-03-16 Immersion Corporation Haptic trackball device
US6184868B1 (en) * 1998-09-17 2001-02-06 Immersion Corp. Haptic feedback control devices
US6429846B2 (en) * 1998-06-23 2002-08-06 Immersion Corporation Haptic feedback for touchpads and other touch controls
US6697043B1 (en) 1999-12-21 2004-02-24 Immersion Corporation Haptic interface device and actuator assembly providing linear haptic sensations
US6243730B1 (en) * 1999-05-04 2001-06-05 Sony Electronics, Inc. Methods and systems for performing short integer chen IDCT algorithm with fused multiply/add
DE20080209U1 (de) * 1999-09-28 2001-08-09 Immersion Corp Steuerung von haptischen Empfindungen für Schnittstellenvorrichtungen mit Vibrotaktiler Rückkopplung
US6822635B2 (en) 2000-01-19 2004-11-23 Immersion Corporation Haptic interface for laptop computers and other portable devices
US7216140B1 (en) * 2000-09-30 2007-05-08 Intel Corporation Efficient implementation of n-point DCT, n-point IDCT, SA-DCT and SA-IDCT algorithms
FI111592B (fi) * 2001-09-06 2003-08-15 Oulun Yliopisto Menetelmä ja laite peräkkäisten kuvien koodaamiseksi
US8059088B2 (en) * 2002-12-08 2011-11-15 Immersion Corporation Methods and systems for providing haptic messaging to handheld communication devices
US8830161B2 (en) 2002-12-08 2014-09-09 Immersion Corporation Methods and systems for providing a virtual touch haptic effect to handheld communication devices
WO2004053644A2 (en) * 2002-12-08 2004-06-24 Immersion Corporation Using haptic effects to enhance information content in communications
US9582178B2 (en) 2011-11-07 2017-02-28 Immersion Corporation Systems and methods for multi-pressure interaction on touch-sensitive surfaces
CN113761464A (zh) * 2021-08-25 2021-12-07 安谋科技(中国)有限公司 数据处理方法、介质及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03100771A (ja) * 1989-09-06 1991-04-25 Internatl Business Mach Corp <Ibm> アレイ処理方法
JP2646778B2 (ja) * 1990-01-17 1997-08-27 日本電気株式会社 ディジタル信号処理装置
EP0468165A3 (en) * 1990-07-27 1993-06-02 International Business Machines Corporation Array processing with fused multiply/add instruction
TW211610B (ja) * 1991-11-26 1993-08-21 Philips Nv
CA2094524A1 (en) * 1992-07-30 1994-01-31 Ephraim Feig Digital image processor for color image compression
JPH06103301A (ja) * 1992-09-17 1994-04-15 Sony Corp 8x8離散コサイン変換回路および8x8離散コサイン逆変換回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978508A (en) * 1996-09-20 1999-11-02 Nec Corporation Two-dimensional inverse discrete cosine transformation circuit for MPEG2 video decoder

Also Published As

Publication number Publication date
DE69527930T2 (de) 2003-04-24
EP0720104A2 (en) 1996-07-03
EP0720104B1 (en) 2002-08-28
DE69527930D1 (de) 2002-10-02
EP0720104A3 (en) 1996-10-30
US5724278A (en) 1998-03-03

Similar Documents

Publication Publication Date Title
JPH08235159A (ja) 逆コサイン変換装置
JP2962970B2 (ja) 周波数から時間領域への変換方法及び装置
US6112219A (en) Method and apparatus for performing fast discrete cosine transforms and fast inverse discrete cosine transforms using look-up tables
KR950009472A (ko) 2차원 이산코사인 변환장치, 2차원 역이산코사인 변환장치 및 디지탈 신호처리 장치
JP6357345B2 (ja) ビデオデータ処理時に空間領域と周波数領域との間の変換を実行するためのデータ処理装置および方法
WO1999010818A1 (en) Variable block size 2-dimensional inverse discrete cosine transform engine
JP2677969B2 (ja) 直交変換装置
JP3971135B2 (ja) Dct行列分解方法及びdct装置
Bruguera et al. 2-D DCT using on-line arithmetic
JP2001102934A (ja) 離散コサイン変換処理装置、逆離散コサイン変換処理装置及び直交変換処理装置
JP3575991B2 (ja) 直交変換回路
JPH0540776A (ja) 二次元dctマトリクス演算回路
JP3652717B2 (ja) 離散コサイン高速演算器
KR100306745B1 (ko) 알에이씨를사용하는하프밴드서브밴드디씨티/아이디씨티회로및그방법
US6327601B1 (en) Linear transform system for decoding video data
Preethi et al. Area and Power Efficient Transposition Buffer design for 2D-DCT Architecture in Video Applications
Bhattacharya et al. A VLSI implementation of the inverse discrete cosine transform
KR0154919B1 (ko) 2차원 역이산 코사인 변환 회로
JPH05153402A (ja) 離散コサイン変換器
KR20030019787A (ko) 행렬 변화를 통한 분산산술처리 방식의 이산여현변환 방법
JPH06274524A (ja) 直交変換回路および逆変換回路
JPH1049517A (ja) 2次元逆離散コサイン変換装置
JPH05153403A (ja) 離散コサイン変換器
JPWO2009095959A1 (ja) 直交変換装置および集積回路
JPH0746136A (ja) 音響又は画像変換プロセッサ、音響又は画像データ処理装置、音響又は画像データ処理方法、算術プロセッサ、及びデータプロセッサ