JPH11232251A - ウェーブレット変換のベクトル処理を行う処理装置および方法 - Google Patents

ウェーブレット変換のベクトル処理を行う処理装置および方法

Info

Publication number
JPH11232251A
JPH11232251A JP10028406A JP2840698A JPH11232251A JP H11232251 A JPH11232251 A JP H11232251A JP 10028406 A JP10028406 A JP 10028406A JP 2840698 A JP2840698 A JP 2840698A JP H11232251 A JPH11232251 A JP H11232251A
Authority
JP
Japan
Prior art keywords
wavelet transform
dimension
vector
data
result
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
JP10028406A
Other languages
English (en)
Other versions
JP3943224B2 (ja
Inventor
Makoto Nakanishi
誠 中西
Moeller Nielsen Ore
メーラー ニールセン オレ
Hegland Marcus
ヘグランド マーカス
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.)
Australian National University
Fujitsu Ltd
Original Assignee
Australian National University
Fujitsu 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 Australian National University, Fujitsu Ltd filed Critical Australian National University
Priority to JP02840698A priority Critical patent/JP3943224B2/ja
Publication of JPH11232251A publication Critical patent/JPH11232251A/ja
Application granted granted Critical
Publication of JP3943224B2 publication Critical patent/JP3943224B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【課題】 ウェーブレット変換をベクトル化して効率よ
く処理することが課題である。 【解決手段】 ベクトル計算機は、まず、行列データの
各行ベクトルに対するウェーブレット変換を列方向にベ
クトル化して(S1)、ベクトル処理する(S2)。次
に、変換結果を転置し(S3)、転置行列の各行ベクト
ルに対するウェーブレット変換を列方向にベクトル化し
て(S4)、ベクトル処理する(S5)。こうして、2
次元ウェーブレット変換の結果が得られる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、信号処理等におい
て、ベクトル処理を利用したウェーブレット変換を行う
処理装置およびその方法に関する。
【0002】
【従来の技術とその問題点】近年、局所的な現象を表現
/解析するための方法としてウェーブレット変換(wave
let transform )が注目されており、特に、信号処理の
分野においては、音声や画像(または映像)のデジタル
信号を圧縮/復元する際に有効なツールであることが指
摘されている。また、ウェーブレット変換は、偏微分方
程式の解法等の多様な科学技術計算にも用いることがで
きる。
【0003】1次元のウェーブレット変換は、入力デー
タをその半分の数の平滑成分(低周波成分)と高周波成
分(変化率を表す成分)に分ける部分ウェーブレット変
換(PWT)を再帰的に繰り返すことで行われる。
【0004】今、簡単のため、長さN=2p のベクトル
データsp =(sp,0 ,sp,1 ,...,sp,N-1 )を
入力データとし、これに対する次数Dのウェーブレット
変換の係数(ウェーブレットフィルタ係数)を、h0
1 ,...,hD-1 とする。このとき、入力データs
p を半分の長さの平滑成分sp-1 =(sp-1,0 ,sp- 1,
1 ,...,sp-1,N-1 )と高周波成分dp-1 =(d
p-1,0 ,dp-1,1 ,...,dp-1,N-1 )に変換する部
分ウェーブレット変換は、次式で与えられる。
【0005】
【数1】
【0006】ここで、記号Σはi=0,1,...,2
p −1についての総和を表し、kの値の範囲はk=0,
1,...,2p-1 −1である。また、i−2k<0ま
たはi−2k>D−1の場合はhi-2k=0とし、1−i
+2k<0または1−i+2k>D−1の場合はh
1-i+2k=0とする。この部分ウェーブレット変換は、図
17に示すようにモデル化することができ、これを変換
行列QN を用いて書くと、次式のようになる。
【0007】
【数2】
【0008】変換行列QN は、ウェーブレット係数
0 ,h1 ,...,hD-1 がサイクリックに現れる構
成を持ち、例えば、D=4、N=8の場合は、次式のよ
うになる。
【0009】
【数3】
【0010】入力データsp に対するウェーブレット変
換は、図18に示すように、p回の部分ウェーブレット
変換を組み合わせて行われる。各部分ウェーブレット変
換の出力sr 、dr (r=p−1,p−2,...,
1)のうち、平滑成分sr のみが次の部分ウェーブレッ
ト変換の入力として用いられ、最終的には、s0 =(s
0,0 )とdp-2 ,dp-1 ,...,d0 とがウェーブレ
ット変換の結果として出力される。例えば、D=4、N
=16=24 の場合は、図19に示すように、入力デー
タs4 が4回の部分ウェーブレット変換により変換され
る。
【0011】このように、(1)、(2)式で定義され
る部分ウェーブレット変換を、その出力に繰り返し適用
することで、ウェーブレット変換が行われる。このた
め、その処理は再帰的または回帰的となり、ベクトル計
算機によるベクトル化には向いていない。
【0012】また、(1)式または(2)式の右辺の演
算をベクトル化することも考えられるが、ウェーブレッ
ト係数の次数Dは、通常、入力データの長さNに比べて
はるかに小さいため、ベクトル長が短くなってしまう。
したがって、十分なベクトル化の効果が得られないとい
う問題もある。
【0013】本発明の課題は、ウェーブレット変換をベ
クトル化して効率よく処理する処理装置およびその方法
を提供することである。
【0014】
【課題を解決するための手段】1次元データに対するウ
ェーブレット変換はベクトル化に向いていないが、2次
元データに対するウェーブレット変換では、ベクトル化
の方向を工夫することで、効率のよいベクトル化を実現
することができる。2次元のウェーブレット変換は、2
次元配列の行列データに対して行われ、まず、すべての
行データに対するウェーブレット変換を行った後、得ら
れた行列のすべての列データに対するウェーブレット変
換を行うことで完了する。
【0015】図1は、このような2次元のウェーブレッ
ト変換を行う処理装置の原理図である。図1の処理装置
は、第1の格納手段1、第1のベクトル処理手段2、第
2の格納手段3、第2のベクトル処理手段4、および出
力手段5を備える。
【0016】第1の格納手段1は、第1次元と第2次元
から成る2次元配列のデータを格納する。第1のベクト
ル処理手段2は、上記2次元配列における第1次元に対
するウェーブレット変換のベクトル処理を行う。
【0017】第2の格納手段3は、上記第1次元に対す
るウェーブレット変換の結果を格納する。第2のベクト
ル処理手段4は、上記第1次元に対するウェーブレット
変換の結果における第2次元に対するウェーブレット変
換のベクトル処理を行う。
【0018】出力手段5は、上記第2次元に対するウェ
ーブレット変換の結果を出力する。2次元配列のデータ
が行列データに対応する場合は、例えば、第1次元は行
方向に対応し、第2次元は列方向に対応する。第1の格
納手段1は、例えば、第2次元の方向をアドレスの連続
方向として、2次元配列のデータを格納する。
【0019】次に、第1のベクトル処理手段2は、第1
の格納手段1内で、第2次元の方向に並んでいる複数の
データをベクトル化して、第1次元の方向に並んでいる
複数の1次元データに対する部分ウェーブレット変換の
ベクトル処理を行う。
【0020】このとき、各1次元データに対しては互い
に独立に部分ウェーブレット変換が施されるため、これ
らの部分ウェーブレット変換は並列に行うことができ、
ベクトル化に適している。このときのベクトル化の方向
は第2次元の方向であるため、第1の格納手段1に対す
るアクセスは連続アクセスとなり、効率のよいベクトル
処理が行われる。
【0021】第1のベクトル処理手段2は、この部分ウ
ェーブレット変換を必要な回数だけ繰り返すことで、2
次元配列における第1次元に対するウェーブレット変換
を行い、変換結果を第2の格納手段3に格納する。
【0022】次に、第2のベクトル処理手段4は、第2
の格納手段3内で、第1次元の方向に並んでいる複数の
データをベクトル化して、第2次元の方向に並んでいる
複数の1次元データに対する部分ウェーブレット変換の
ベクトル処理を行う。
【0023】この場合も、各1次元データに対しては互
いに独立に部分ウェーブレット変換が施されるため、こ
れらの部分ウェーブレット変換は並列に行うことがで
き、ベクトル化に適している。また、このときのベクト
ル化の方向(第1次元の方向)がアドレスの連続方向に
なるように、第2の格納手段3の格納方法を工夫するこ
とにより、ベクトル処理はさらに効率化される。
【0024】この部分ウェーブレット変換を必要な回数
だけ繰り返すことで、第1次元に対するウェーブレット
変換の結果における第2次元に対するウェーブレット変
換が行われる。
【0025】そして、出力手段5は、この第2次元に対
するウェーブレット変換の結果を、上記2次元配列のデ
ータに対する2次元ウェーブレット変換の結果として出
力する。
【0026】このように、図1の処理装置によれば、ベ
クトル化の方向を適切に選ぶことで、2次元配列に含ま
れる複数の1次元データの部分ウェーブレット変換を効
率よく処理することができ、2次元ウェーブレット変換
が高速化される。
【0027】例えば、図1の第1の格納手段1および第
2の格納手段3は、後述する図4のメモリ13に対応
し、第1のベクトル処理手段2および第2のベクトル処
理手段4はベクトルユニット11に対応し、出力手段5
は出力装置18に対応する。
【0028】
【発明の実施の形態】以下、図面を参照しながら、本発
明の実施の形態を詳細に説明する。2次元のウェーブレ
ット変換は、2次元配列の行列データに対して行われ、
まず、すべての行データに対するウェーブレット変換を
行った後、得られた行列のすべての列データに対するウ
ェーブレット変換を行うことで完了する。
【0029】例えば、インタリーブ方式でアドレスを割
り当てられた複数のバンクから成るメモリに、図2に示
すように行列データが格納されているとすると、各行デ
ータは互いに異なるバンクに属することになる。また、
各行データに対しては互いに独立に部分ウェーブレット
変換が繰り返されるため、これらの部分ウェーブレット
変換は並列に行うことができ、ベクトル化に適している
といえる。このときのベクトル化の方向は、アドレスの
連続する方向、つまり列方向となり、メモリに対するア
クセスは連続アクセスとなる。
【0030】図3は、行データに対するウェーブレット
変換の後の行列データを示している。図3の各列データ
に対する部分ウェーブレット変換も、同様にして並列化
することができるが、ベクトル化の方向は行方向とな
り、連続アクセスが行えない。このため、バンクコンフ
リクト(バンク競合)が発生し、処理速度が著しく低下
する。
【0031】そこで、行データに対するウェーブレット
変換を行った後、列データに対するウェーブレット変換
を行う代わりに、行列全体を転置して、転置後の行デー
タに対するウェーブレット変換を行うことにする。これ
により、転置前の各列データは互いに異なるバンクに行
データとして格納され、ベクトル化の方向は列方向とな
って、連続アクセスが可能になる。
【0032】また、行列を転置するとき、その対角方向
のデータに着目してベクトル化することで、バンクコン
フリクトを避けて転置を行うことができる。こうして、
高速な2次元ウェーブレット変換が実現される。
【0033】図4は、本実施形態で用いるベクトル計算
機の構成図である。図4のベクトル計算機は、ベクトル
ユニット11、スカラユニット12、メモリ13、メモ
リ制御ユニット14、IOポート15、およびネットワ
ーク接続ユニット16を備え、それらはバスにより互い
に接続されている。また、IOポート15には、入力装
置17、出力装置18、外部記憶装置19、および媒体
駆動装置20が接続される。
【0034】メモリ13には、ウェーブレット変換の処
理に用いられるプログラムとデータが格納される。メモ
リ12は、例えばROM(read only memory)、RAM
(random access memory)等を含む。
【0035】メモリ制御ユニット14は、ベクトルユニ
ット11、スカラユニット12、およびネットワーク接
続ユニット16から発生するアクセス要求を受け取り、
メモリ13に対するアクセスを制御する。ベクトルユニ
ット11とスカラユニット12は、メモリ13を利用し
てプログラムを実行することにより、必要な処理を行
う。
【0036】ベクトルユニット11は、ロードパイプラ
イン31、ストアパイプライン32、ベクトルレジスタ
33、加算/論理演算パイプライン34、および乗算パ
イプライン35を含む。これらの各パイプラインは、そ
れぞれ複数要素のデータを同時に処理することができ
る。ベクトルユニット11は、これらのパイプラインを
用いて複数のベクトル命令を並列に実行することができ
る。
【0037】スカラユニット12は、キャッシュメモ
リ、汎用レジスタ、浮動小数点レジスタ、スカラ演算器
等を含み、スカラ演算を実行する。IOポート15は、
入力装置17、出力装置18、外部記憶装置19、およ
び媒体駆動装置20との間で、入出力データの転送を行
う。
【0038】入力装置17は、例えば、キーボード、ポ
インティングデバイス、タッチパネル等であり、オペレ
ータからの指示やデータの入力に用いられる。出力装置
18は、例えば、ディスプレイやプリンタ等であり、処
理結果等の出力に用いられる。
【0039】外部記憶装置19は、例えば、磁気ディス
ク装置、光ディスク装置、光磁気ディスク(magneto-op
tical disk)装置等である。この外部記憶装置19に、
上述のプログラムとデータを保存しておき、必要に応じ
て、それらをメモリ13にロードして使用することもで
きる。
【0040】媒体駆動装置20は、可搬記録媒体21を
駆動し、その記録内容にアクセスする。可搬記録媒体2
1としては、メモリカード、フロッピーディスク、CD
−ROM(compact disk read only memory )、光ディ
スク、光磁気ディスク等、任意のコンピュータ読み取り
可能な記録媒体が用いられる。この可搬記録媒体21に
上述のプログラムとデータを格納しておき、必要に応じ
て、それらをメモリ13にロードして使用することもで
きる。
【0041】ネットワーク接続ユニット16は、LAN
(local area network)等の任意のネットワーク(回
線)を介して外部の装置と通信し、通信に伴うデータ変
換を行う。これにより、必要に応じて、上述のプログラ
ムとデータを外部の装置から受け取り、それらをメモリ
13にロードして使用することができる。
【0042】図5は、図4のベクトル計算機にプログラ
ムとデータを供給することのできるコンピュータ読み取
り可能な記録媒体を示している。可搬記録媒体21や外
部のデータベース36に保存されたプログラムとデータ
は、メモリ13にロードされる。そして、ベクトルユニ
ット11とスカラユニット12は、そのデータを用いて
そのプログラムを実行し、必要な処理を行う。
【0043】図6は、図4のベクトル計算機による2次
元データのウェーブレット変換のフローチャートであ
る。ベクトル計算機は、まず、行ベクトルに対するウェ
ーブレット変換を列の長さに着目してベクトル化し(ス
テップS1)、各行ベクトルのウェーブレット変換を並
列に行う(ステップS2)。このとき、各行ベクトルの
変換結果は対応する元の行ベクトルに格納される。
【0044】次に、得られた行列データを転置して(ス
テップS3)、転置後の行列の行ベクトルに対するウェ
ーブレット変換を列の長さに着目してベクトル化する
(ステップS4)。そして、各行ベクトルのウェーブレ
ット変換を並列に行って(ステップS5)、処理を終了
する。転置後の行列の行ベクトルと列ベクトルは、それ
ぞれ、転置前の行列の列ベクトルと行ベクトルに対応し
ているので、ステップS5の処理は、転置前の行列の列
ベクトルに対するウェーブレット変換に対応する。
【0045】図7および図8のフローチャートは、図6
のステップS2で行われる行ベクトルの変換処理を示し
ている。ここでは、N行M列の2次元データに対してウ
ェーブレット変換を行うものとし、メモリ13に2つの
2次元配列A(N,M)とB(N,M)を用意する。
【0046】変換対象となる入力データはA(N,M)
に格納し、その行ベクトルに対するウェーブレット変換
を行うとき、B(N,M)をN行M列の作業領域として
利用する。このウェーブレット変換において繰り返され
る部分ウェーブレット変換の出力は、A(N,M)とB
(N,M)に交互に格納される。
【0047】NとMが、N=2p とM=2q のように、
2の巾で表現できるものとすると、ここでは、長さM=
q の各行ベクトルデータに対して部分ウェーブレット
変換をq回行うことになる。そして、各部分ウェーブレ
ット変換の高周波成分と最後の部分ウェーブレット変換
の平滑成分を、変換結果として生成する。
【0048】今、入力データのj行目(j=
1,...,2p )の行ベクトルをs(j) q =(s(j)
q,0 ,s(j) q,1 ,...,s(j) q,M-1 )と書くこと
にすると、行ベクトルs(j) q の長さはM=2q とな
る。図9は、N=2p 個の行ベクトルs(j ) q がA
(N,M)に格納された様子を示している。例えば、各
行ベクトルs(j ) q は、それぞれ異なるメモリバンクに
格納される。
【0049】最初の部分ウェーブレット変換は、各行ベ
クトルの2q 個の平滑成分を入力として、2q /2=2
q-1 個の平滑成分と2q-1 個の高周波成分を出力する。
次の部分ウェーブレット変換は、1つ前の部分ウェーブ
レット変換の出力である2q- 1 個の平滑成分を入力とし
て、2q-1 /2=2q-2 個の平滑成分と2q-2 個の高周
波成分を出力する。このような処理を続けていき、最後
の部分ウェーブレット変換は、2個の平滑成分を入力と
して、1個の平滑成分と1個の高周波成分を出力し、処
理を終了する。
【0050】ベクトル計算機は、図7の処理を開始する
と、まず、部分ウェーブレット変換の繰り返し回数を表
す制御変数nを1とおき(ステップS11)、配列A
(N,M)に格納されたデータを入力として、n回目の
部分ウェーブレット変換を行う(ステップS12)。
【0051】n回目の部分ウェーブレット変換は、配列
A(N,M)の各行A(j,1:2 q+1-n )に格納され
た長さ2q+1-n の平滑成分のベクトルs(j) q+1-n を入
力として、長さ2q+1-(n+1) =2q-n の平滑成分のベク
トルs(j) q-n と長さ2q-nの高周波成分のベクトルd
(j) q-n を出力する。この変換は、列の長さN=2p
ベクトル長として、j=1,...,2p についてベク
トル処理される。
【0052】ベクトルs(j) q+1-n は2q+1-n 個の平滑
成分s(j) q+1-n,k (k=0,...,2q+1-n −1)
から成り、ベクトルs(j) q-n は2q-n 個の平滑成分s
(j) q-n,k (k=0,...,2q-n −1)から成り、
ベクトルd(j) q-n は2q-n個の高周波成分d(j)
q-n,k (k=0,...,2q-n −1)から成る。
【0053】そして、得られた平滑成分のベクトルs
(j) q-n と高周波成分のベクトルd(j ) q-n は、それぞ
れ、配列B(N,M)のB(j,1:2q-n )とB
(j,2q- n +1:2q+1-n )に格納される(ステップ
S13)。
【0054】図10は、n回目の部分ウェーブレット変
換の前の配列A(N,M)を示しており、図11は、そ
の変換の後の配列B(N,M)を示している。これらの
配列は、図示されたn回目の部分ウェーブレット変換の
入出力データ以外に、1〜n−1回目の部分ウェーブレ
ット変換で得られた高周波成分のベクトルd(j) q-1
(j) q-2 ,...,d(j) q-(n-1) も保持している。
【0055】このn回目の部分ウェーブレット変換は、
(1)、(2)式に準じて次のように記述される。
【0056】
【数4】
【0057】ここで、ウェーブレット係数の次数をDと
すると、i−2k<0またはi−2k>D−1の場合は
i-2k=0とみなし、1−i+2k<0または1−i+
2k>D−1の場合はh1-i+2k=0とみなす。
【0058】次に、ベクトル計算機は、B(j,2q-n
+1:2q+1-n )に格納された変換結果のベクトルd
(j) q-n をA(j,2q-n +1:2q+1-n )にコピーし
(ステップS14)、nをqと比較する(ステップS1
5)。nがqに達していないときは、n=n+1とおき
(図8、ステップS17)、配列B(N,M)に格納さ
れたデータを入力として、n回目の部分ウェーブレット
変換(次の部分ウェーブレット変換)を行う(ステップ
S18)。この変換も、ステップS12と同様に、ベク
トル処理される。
【0059】次に、得られた平滑成分のベクトルs(j)
q-n と高周波成分のベクトルd(j) q-n を、それぞれ、
配列A(N,M)のA(j,1:2q-n )とA(j,2
q-n+1:2q+1-n )に格納し(ステップS19)、n
をqと比較する(ステップS20)。nがqに達してい
ないときは、n=n+1とおき(ステップS21)、図
7のステップS12以降の処理を繰り返す。
【0060】そして、ステップS15においてn=qに
なったときは、配列B(N,M)の1列目のB(j,
1)に格納された変換結果s(j) 0,0 を、A(j,1)
にコピーし(ステップS16)、処理を終了する。これ
により、行ベクトルに対するウェーブレット変換の結果
がすべて配列A(N,M)に格納されることになる。ま
た、ステップS20においてn=qになったときは、す
べての変換結果が既に配列A(N,M)に格納されてい
るので、そのまま処理を終了する。
【0061】このような処理では、qが奇数のとき、ス
テップS15においてn=qとなり、qが偶数のとき、
ステップS20においてn=qとなる。こうして、行ベ
クトルに対するウェーブレット変換が終了すると、その
変換結果は、図12に示すように、配列A(N,M)に
格納される。
【0062】次に、得られた変換結果の行列の列ベクト
ルに対してウェーブレット変換を行うわけであるが、仮
に、行列の転置を行わずに、複数の列ベクトルに対する
ウェーブレット変換をベクトル処理するものと仮定して
みる。この場合、入力データは、N=2p 、M=2q
なるN行M列の配列A(N,M)に、図13に示すよう
に格納されている。ここで、AIJはI行J列の要素A
(I,J)を表し、ベクトル化の方向は行方向となる。
【0063】図13において、アドレスの連続方向は列
方向であるので、各列ベクトルの先頭要素A11,A12
13,...は、メモリ上に長さ2p の間隔を持って配
置される。2p がメモリバンクの数に比べてかなり小さ
い場合は、隣り合う2つの列ベクトルを異なるバンクに
格納することも可能であるが、pが大きくなると、これ
らの列ベクトルの要素A11,A12,A13,...は、同
一のメモリバンクに格納されてしまう。このため、行方
向の要素のベクトルアクセス(ロード/ストア)は、バ
ンクコンフリクトのために、著しく性能が劣化する。
【0064】これを避けるために、図6のステップS3
において変換結果の行列を転置している。このとき、同
様のバンクコンフリクトの発生を避けるため、図14の
破線の矢印が示すように、対角方向の要素に着目してベ
クトルアクセスする。図14において、対角方向の要素
13,A24,A35,...の読み出しは、メモリ上で2
p +1の間隔でのアクセスになる。したがって、これら
をベクトル処理によりロードしても、バンクコンフリク
トが起こらず、効率のよいベクトル処理が可能になる。
【0065】読み出した要素をM行N列の配列B(M,
N)に格納するときも、図15の破線の矢印が示すよう
に、対角方向のベクトルアクセスが行われる。図15に
おいて、対角方向の要素A13,A24,A35,...の書
き込みは、メモリ上で2q +1の間隔でのアクセスにな
る。したがって、これらをベクトル処理によりストアし
ても、バンクコンフリクトが起こらず、効率のよいベク
トル処理が可能になる。
【0066】図16は、このような転置処理のフローチ
ャートである。この処理では、配列A(N,M)を転置
して配列B(M,N)に格納するものとする。ベクトル
計算機は、まず、対角方向のベクトルを指定する制御変
数iを1とおき(ステップS31)、A(i−1+j,
j)をB(j,i−1+j)にコピーする(ステップS
32)。この処理は、対角方向のベクトルに着目して、
j=1,...,MIN(N+1−i,M)についてベ
クトル処理される。ここで、MIN(N+1−i,M)
は、N+1−iとMの最小値を表し、ベクトル長に対応
している。
【0067】次に、i=i+1とおき(ステップS3
3)、iをNと比較する(ステップS34)。iがNを
越えていなければ、ステップS32以降の処理を繰り返
す。例えば、i=1のときは、配列A(N,M)の対角
線上の要素A11,A22,A33,...が配列B(M,
N)の対角線上の要素B11,B22,B33,...にコピ
ーされ、i=2,...,Nのとき、配列A(N,M)
の対角線より下の部分が転置されて、配列B(M,N)
の対角線より上の部分にコピーされる。
【0068】ステップS34においてiがNを越えれ
ば、次に、iを2とおき(ステップS35)、A(j,
i−1+j)をB(i−1+j,j)にコピーする(ス
テップS36)。この処理は、対角方向のベクトルに着
目して、j=1,...,MIN(M+1−i,N)に
ついてベクトル処理される。
【0069】次に、i=i+1とおき(ステップS3
7)、iをMと比較する(ステップS38)。iがMを
越えていなければ、ステップS36以降の処理を繰り返
し、iがMを越えれば、処理を終了する。ステップS3
6の処理をi=2,...,Mについて繰り返すこと
で、配列A(N,M)の対角線より上の部分が転置され
て、配列B(M,N)の対角線より下の部分にコピーさ
れる。例えば、i=3のとき、図14の破線が示す対角
方向の要素A13,A24,A35,...が、図15に示す
ように、配列B(M,N)の対角方向の要素B31
42,B53,...にコピーされる。
【0070】行列の転置が終了すると、図6のステップ
S4、S5においては、配列AとBの役割を入れ替え
て、ステップS1、S2と同様の処理を行う。ここで
は、変換対象となる入力データはB(M,N)に格納さ
れており、その行ベクトルに対するウェーブレット変換
を行うとき、A(M,N)をM行N列の作業領域として
利用する。このウェーブレット変換において繰り返され
る部分ウェーブレット変換の出力は、A(M,N)とB
(M,N)に交互に格納される。
【0071】このように、配列A(M,N)、B(M,
N)を用い、図7、8においてNとMを入れ替えて(つ
まり、pとqを入れ替えて)、同様の処理を行うこと
で、転置された配列の行ベクトルについてウェーブレッ
ト変換を行うことができる。この変換は、転置前の配列
の列ベクトルに対するウェーブレット変換に対応してお
り、得られた変換結果は、2次元ウェーブレット変換の
結果を転置したものに相当する。
【0072】図6のアルゴリズムにおいては、2次元配
列を行列とみなして、配列の要素が並ぶ方向を行または
列と表現しているが、2次元配列を単に2つの次元を持
つ配列として定義する場合は、要素の並ぶ方向を第1次
元または第2次元と呼ぶことができる。この場合、図6
のアルゴリズムは、行を第1次元に置き換え、列を第2
次元に置き換えて記述される。
【0073】以上説明した実施形態においては、2次元
データに対するウェーブレット変換について説明した
が、同様のアルゴリズムを用いることで、複数の1次元
データに対するウェーブレット変換を効率化することが
できる。
【0074】例えば、コンパイラによるプログラムの最
適化において、1次元データのウェーブレット変換が複
数含まれることが分かったとき、それらの1次元データ
を行ベクトルとする2次元配列を生成する。そして、図
6のステップS1、S2の処理を行えば、複数の1次元
データのウェーブレット変換を、効率よくベクトル処理
することができる。
【0075】また、3次元以上の多次元のデータについ
ても、ベクトル化の方向をメモリ上でアドレスが連続す
る方向に揃えてから、各次元のウェーブレット変換を行
うことで、同様のベクトル処理の効果が得られるものと
考えられる。
【0076】さらに、本発明は複数のプロセッシングエ
レメント(PE)を有する並列計算機によるウェーブレ
ット変換にも適用可能である。並列計算機においては、
変換対象の配列データを複数のPEに分割して格納し、
必要に応じてPE間でデータ転送を行いながら、ウェー
ブレット変換を行う。
【0077】
【発明の効果】本発明によれば、2次元配列に格納され
た2次元データまたは複数の1次元データのウェーブレ
ット変換を、ベクトル処理を利用して高速に行うことが
できる。
【図面の簡単な説明】
【図1】本発明の処理装置の原理図である。
【図2】行データを示す図である。
【図3】列データを示す図である。
【図4】ベクトル計算機の構成図である。
【図5】記録媒体を示す図である。
【図6】2次元ウェーブレット変換のフローチャートで
ある。
【図7】行ベクトルの変換のフローチャート(その1)
である。
【図8】行ベクトルの変換のフローチャート(その2)
である。
【図9】第1の行列データを示す図である。
【図10】第2の行列データを示す図である。
【図11】第3の行列データを示す図である。
【図12】第4の行列データを示す図である。
【図13】第5の行列データを示す図である。
【図14】第6の行列データを示す図である。
【図15】第7の行列データを示す図である。
【図16】行列の転置のフローチャートである。
【図17】部分ウェーブレット変換を示す図である。
【図18】ウェーブレット変換を示す図である。
【図19】部分ウェーブレット変換の繰り返しを示す図
である。
【符号の説明】
1 第1の格納手段 2 第1のベクトル処理手段 3 第2の格納手段 4 第2のベクトル処理手段 5 出力手段 11 ベクトルユニット 12 スカラユニット 13 メモリ 14 メモリ制御ユニット 15 IOポート 16 ネットワーク接続ユニット 17 入力装置 18 出力装置 19 外部記憶装置 20 媒体駆動装置 21 可搬記録媒体 31 ロードパイプライン 32 ストアパイプライン 33 ベクトルレジスタ 34 加算/論理演算パイプライン 35 乗算パイプライン 36 データベース
───────────────────────────────────────────────────── フロントページの続き (72)発明者 オレ メーラー ニールセン デンマーク国,ヴァンローズ,ファースト ディーケーイ 2720,スクジュールホー ジ,アレ.68番地 (72)発明者 マーカス ヘグランド オーストラリア国,エーシーティ,2601, オコーナー,ロビンソンストリート 7番 地

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 第1次元と第2次元から成る2次元配列
    のデータを格納する第1の格納手段と、 前記2次元配列における第1次元に対するウェーブレッ
    ト変換のベクトル処理を行う第1のベクトル処理手段
    と、 前記第1次元に対するウェーブレット変換の結果を格納
    する第2の格納手段と、 前記第1次元に対するウェーブレット変換の結果におけ
    る第2次元に対するウェーブレット変換のベクトル処理
    を行う第2のベクトル処理手段と、 前記第2次元に対するウェーブレット変換の結果を出力
    する出力手段とを備えることを特徴とする処理装置。
  2. 【請求項2】 前記第1次元に対するウェーブレット変
    換の結果を転置する転置手段と、転置結果を格納する第
    3の格納手段をさらに備え、前記第2のベクトル処理手
    段は、該転置結果における第1次元に対するウェーブレ
    ット変換を行うことで、前記第1次元に対するウェーブ
    レット変換の結果における第2次元に対するウェーブレ
    ット変換の結果を得ることを特徴とする請求項1記載の
    処理装置。
  3. 【請求項3】 前記転置手段は、前記第1次元に対する
    ウェーブレット変換の結果の対角方向のデータをベクト
    ル化して、ベクトル処理により転置を行うことを特徴と
    する請求項2記載の処理装置。
  4. 【請求項4】 前記第1のベクトル処理手段は、前記2
    次元配列における第2次元の方向のデータをベクトル化
    して、前記第1次元に対するウェーブレット変換を行
    い、前記第2のベクトル処理手段は、前記転置結果にお
    ける第2次元の方向のデータをベクトル化して、該転置
    結果における第1次元に対するウェーブレット変換を行
    うことを特徴とする請求項2記載の処理装置。
  5. 【請求項5】 前記第1のベクトル処理手段は、部分ウ
    ェーブレット変換を繰り返して、前記第1次元に対する
    ウェーブレット変換を行い、前記第2のベクトル処理手
    段は、部分ウェーブレット変換を繰り返して、前記転置
    結果における第1次元に対するウェーブレット変換を行
    うことを特徴とする請求項4記載の処理装置。
  6. 【請求項6】 前記第1のベクトル処理手段は、前記2
    次元配列における第2次元の方向のデータをベクトル化
    して、前記第1次元に対するウェーブレット変換を行う
    ことを特徴とする請求項1記載の処理装置。
  7. 【請求項7】 前記第2のベクトル処理手段は、前記第
    1次元に対するウェーブレット変換の結果における第1
    次元の方向のデータをベクトル化して、前記第2次元に
    対するウェーブレット変換を行うことを特徴とする請求
    項1記載の処理装置。
  8. 【請求項8】 前記第1のベクトル処理手段は、前記2
    次元配列における第2次元の方向のデータをベクトル化
    して、前記第1次元に対するウェーブレット変換を行
    い、前記第2のベクトル処理手段は、該第1次元に対す
    るウェーブレット変換の結果における第1次元の方向の
    データをベクトル化して、前記第2次元に対するウェー
    ブレット変換を行うことを特徴とする請求項1記載の処
    理装置。
  9. 【請求項9】 多次元配列のデータを格納する第1の格
    納手段と、 前記多次元配列における1つの次元に対するウェーブレ
    ット変換のベクトル処理を行うベクトル処理手段と、 前記1つの次元に対するウェーブレット変換の結果を格
    納する第2の格納手段と、 前記1つの次元に対するウェーブレット変換の結果にお
    ける他の次元に対するウェーブレット変換のベクトル処
    理を行う第2のベクトル処理手段と、 前記他の次元に対するウェーブレット変換の結果に基づ
    く前記多次元配列のウェーブレット変換の結果を出力す
    る出力手段とを備えることを特徴とする処理装置。
  10. 【請求項10】 複数の1次元データを格納する第1の
    格納手段と、 前記複数の1次元データに対するウェーブレット変換の
    ベクトル処理を行うベクトル処理手段と、 前記複数の1次元データに対するウェーブレット変換の
    結果を出力する出力手段とを備えることを特徴とする処
    理装置。
  11. 【請求項11】 行列データを格納する第1の格納手段
    と、 前記行列データの行に対するウェーブレット変換を行う
    第1の処理手段と、 前記行に対するウェーブレット変換の結果を転置して、
    転置行列データを生成する転置手段と、 前記転置行列データの行に対するウェーブレット変換を
    行う第2の処理手段と、 前記転置行列データの行に対するウェーブレット変換の
    結果を出力する出力手段とを備えることを特徴とする処
    理装置。
  12. 【請求項12】 コンピュータのためのプログラムを記
    録した記録媒体であって、 第1次元と第2次元から成る2次元配列のデータを入力
    する機能と、 前記2次元配列における第1次元に対するウェーブレッ
    ト変換のベクトル処理を行う機能と、 前記第1次元に対するウェーブレット変換の結果におけ
    る第2次元に対するウェーブレット変換のベクトル処理
    を行う機能と、 前記第2次元に対するウェーブレット変換の結果を出力
    する機能とを前記コンピュータに実現させるためのプロ
    グラムを記録したコンピュータ読み取り可能な記録媒
    体。
  13. 【請求項13】 コンピュータのためのプログラムを記
    録した記録媒体であって、 行列データを入力する機能と、 前記行列データの行に対するウェーブレット変換を行う
    機能と、 前記行に対するウェーブレット変換の結果を転置して、
    転置行列データを生成する機能と、 前記転置行列データの行に対するウェーブレット変換を
    行う第2の処理手段と、 前記転置行列データの行に対するウェーブレット変換の
    結果を出力する機能とを前記コンピュータに実現させる
    ためのプログラムを記録したコンピュータ読み取り可能
    な記録媒体。
  14. 【請求項14】 ベクトル計算機を用いて、第1次元と
    第2次元から成る2次元配列のデータにおける第1次元
    に対するウェーブレット変換のベクトル処理を行い、 ベクトル計算機を用いて、前記第1次元に対するウェー
    ブレット変換の結果における第2次元に対するウェーブ
    レット変換のベクトル処理を行うことを特徴とする処理
    方法。
  15. 【請求項15】 ベクトル計算機を用いて、行列データ
    の行に対するウェーブレット変換のベクトル処理を行
    い、 前記行に対するウェーブレット変換の結果を転置して、
    転置行列データを生成し、 ベクトル計算機を用いて、前記転置行列データの行に対
    するウェーブレット変換のベクトル処理を行うことを特
    徴とする処理方法。
JP02840698A 1998-02-10 1998-02-10 ウェーブレット変換のベクトル処理を行う処理装置および方法 Expired - Fee Related JP3943224B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02840698A JP3943224B2 (ja) 1998-02-10 1998-02-10 ウェーブレット変換のベクトル処理を行う処理装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02840698A JP3943224B2 (ja) 1998-02-10 1998-02-10 ウェーブレット変換のベクトル処理を行う処理装置および方法

Publications (2)

Publication Number Publication Date
JPH11232251A true JPH11232251A (ja) 1999-08-27
JP3943224B2 JP3943224B2 (ja) 2007-07-11

Family

ID=12247788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02840698A Expired - Fee Related JP3943224B2 (ja) 1998-02-10 1998-02-10 ウェーブレット変換のベクトル処理を行う処理装置および方法

Country Status (1)

Country Link
JP (1) JP3943224B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015018373A (ja) * 2013-07-10 2015-01-29 日本電気株式会社 データ変換装置、データ変換回路及びデータ変換方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015018373A (ja) * 2013-07-10 2015-01-29 日本電気株式会社 データ変換装置、データ変換回路及びデータ変換方法

Also Published As

Publication number Publication date
JP3943224B2 (ja) 2007-07-11

Similar Documents

Publication Publication Date Title
CN110352422B (zh) 使用矩阵乘法加速器(mma)实施基本计算原语
Jensen et al. Ripples in mathematics: the discrete wavelet transform
AU689439B2 (en) Digital filter having high accuracy and efficiency
Jiang et al. Lifting factorization-based discrete wavelet transform architecture design
US20050193050A1 (en) Matrix multiplication in a vector processing system
US3754128A (en) High speed signal processor for vector transformation
Yuan et al. Quantum image filtering in the spatial domain
JPS593790B2 (ja) Fft エンサンシヨリソウチ
US8880575B2 (en) Fast fourier transform using a small capacity memory
Batselier et al. Computing low-rank approximations of large-scale matrices with the tensor network randomized SVD
WO1995033241A1 (fr) Processeur arithmetique a haute vitesse pour transformee en cosinus discrete et operations associees
Cheng et al. Fast 2D convolution algorithms for convolutional neural networks
US20050278405A1 (en) Fourier transform processor
US6993547B2 (en) Address generator for fast fourier transform processor
Goedecker et al. The solution of multi-scale partial differential equations using wavelets
JP2002351858A (ja) 処理装置
JP3639207B2 (ja) 共有メモリ型スカラ並列計算機における多次元フーリエ変換の並列処理方法
CN108255784B (zh) 多层量子d(4)小波包变换和逆变换实现量子线路设计的方法
US6728742B1 (en) Data storage patterns for fast fourier transforms
CN114764615A (zh) 卷积运算的实现方法、数据处理方法及装置
JPH11232251A (ja) ウェーブレット変換のベクトル処理を行う処理装置および方法
JP7401513B2 (ja) ハードウェアにおけるスパース行列乗算
JPH06149861A (ja) Dct及び逆dct演算装置並びにその演算方法
CN113592075B (zh) 卷积运算装置、方法和芯片
Anguh et al. A truncation method for computing slant transforms with applications to image processing

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060714

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: 20070403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070405

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120413

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140413

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees