JP3754957B2 - アダマール変換処理方法及びその装置 - Google Patents
アダマール変換処理方法及びその装置 Download PDFInfo
- Publication number
- JP3754957B2 JP3754957B2 JP2002371005A JP2002371005A JP3754957B2 JP 3754957 B2 JP3754957 B2 JP 3754957B2 JP 2002371005 A JP2002371005 A JP 2002371005A JP 2002371005 A JP2002371005 A JP 2002371005A JP 3754957 B2 JP3754957 B2 JP 3754957B2
- Authority
- JP
- Japan
- Prior art keywords
- rounding
- processing
- conversion
- hadamard
- data
- 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
Links
Images
Landscapes
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、可逆変換が可能なアダマール変換処理方法及びその装置に関するものである。
【0002】
【従来の技術】
画像、特に多値画像は非常に多くの情報を含んでおり、その画像を蓄積或は伝送する際には、その膨大なデータ量が問題となる。このため画像の蓄積或は伝送に際しては、その多値画像の持つ冗長性を除いたり、或いは画質の劣化が視覚的に認識し難い程度で、その画像の内容を変更することによって符号化して、そのデータ量を削減する高能率符号化が用いられる。例えば、静止画像の国際標準符号化方法としてISOとITU−Tにより勧告されたJPEGでは、画像データをブロックごと(8画素×8画素)に離散コサイン変換(DCT)してDCT係数に変換した後に、各DCT係数をそれぞれ量子化し、更に、その量子化した値をエントロピー符号化することにより画像データを圧縮している。このDCTを利用した圧縮技術には、JPEG以外に、H261,MPEG1/2/4等がある。
【0003】
このDCT変換に関連する処理として、或は画像データ変換する処理としてアダマール変換がある。このアダマール変換は、変換行列の各要素が「1」又は「−1」のみからなる直交変換であり、加算と減算のみで実現できる最もシンプルな直交変換である。
【0004】
このアダマール変換のうち、2点アダマール変換の変換行列H2は、以下のように定義される。
【0005】
【数1】
【0006】
一般的なN(=2n)点アダマール変換行列HNは、(N/2)点アダマール変換行列HN/2と上記2点アダマール変換行列H2との間のクロネッカー積で再帰的に定義することができる。
【0007】
【数2】
【0008】
上記定義から4点アダマール変換行列を求めると、
【0009】
【数3】
となる。この4点アダマール変換行列はナチュラル型と呼ばれるもので、基底ベクトルがシーケンシの順番に並んでいない。そこで、基底ベクトルの置換を繰り返して2行目の基底ベクトルを4行目に移動すると、基底ベクトルの順序がシーケンシ順序の変換行列WH4となる。
【0010】
【数4】
【0011】
この変換行列WH4は、ウォルシュ型或はウォルシュアダマール変換行列と呼ばれている。アダマール変換は可逆な直交変換であることが知られており、上記ナチュラル型、ウォルシュ型のいずれも可逆な変換が可能である上、変換行列が対称行列になっている。
【0012】
ナチュラル型のアダマール変換行列H4の基底ベクトルを置換して得られる対称行列は、ウォルシュ型以外にもう1つ存在する。次の行列HH4がそうである。
【0013】
【数5】
【0014】
この変換行列HH4は、後ほど本発明の詳細な説明において重要な意味を持つ。
【0015】
前述したように、アダマール変換は可逆変換であると一般的に言われているが、その前提条件は、整数データをアダマール変換した時に発生するの小数部を丸めずに保持することである。
【0016】
小数部を単純に丸め処理してしまうと可逆性は損なわれてしまう。例えば、
123, 78, 84, 56
の4つのデータをアダマール変換すると以下のようになる。
【0017】
170.5(=(123+78+84+56)/2), 36.5(=(123-78+84-56)/2), 30.5,(=(123+78-84-56)/2) 8.5(=(123-78-84+56)/2)
これらのそれぞれを単純に四捨五入して整数化すると、
171, 37, 31, 9
となり、これを逆変換(逆変換で用いる行列は変換行列の転置行列であり、これは変換行列と同じである)すると、
124, 78, 84, 56
となる。ここでは、先頭データの「123」が上述のアダマール変換及びその逆変換により「124」になってしまっている。このように、整数化したデータを出力するアダマール変換では可逆性を保証できない。以下では、整数化したデータを出力するアダマール変換を整数型アダマール変換と呼び、可逆変換が可能な整数型アダマール変換を整数型可逆アダマール変換と呼ぶことにする。
【0018】
本発明は、整数型可逆アダマール変換を実現するための演算と丸め処理の方法に関するものである。
【0019】
従来、整数型可逆アダマール変換は、以下のように実現していた。
▲1▼4点アダマール変換行列H4を、対角要素が「1」となる三角行列の積に分解する。
▲2▼元の変換行列に行の入れ替え操作Qを加える。
▲3▼上記▲1▼▲2▼から、QH4を以下の行列積の形に分解する。
【0020】
【数6】
【0021】
▲4▼この変換をシグナルフローで表現する(図1のように表わされる)。
▲5▼このシグナルフロー中の乗算処理で発生する小数点以下のデータを丸めて整数化する。
【0022】
以上の▲1▼〜▲5▼により実現する。以下に若干の補足説明を加える。
【0023】
図1のシグナルフローは、可逆変換処理を実現する上でよく用いられる梯子型ネットワーク(Ladder Network)構成になっている。
【0024】
このLadder Networkにおいて、小数点以下のデータが発生する乗算器100,101の出力側に整数化を図るための丸め処理(図2の200,201)を導入することで、整数型データを出力する変換処理の可逆化が、(可逆変換処理の分野では)一般的な手法として用いられている。
【0025】
尚、ここで変換処理と逆変換処理の間で対応する乗算出力の丸め処理が同一であれば、丸め処理200,201の内容はなんでもよい。
【0026】
図1のシグナルフローに丸め処理を導入して可逆化した(可逆変換を可能にした)シグナルフローを図2に示す。これが、整数型可逆アダマール変換を実現する従来の演算方法であった。
【0027】
上述の数式(3)(4)(5)式で定義されるアダマール変換は、規則的な加減算処理で実現でき、近年のCPUが備えるSIMD(Single Instruction stream Multiple Data stream)型の命令で効率よく並列に処理できるものであるが、上記従来の可逆変換演算方法は、SIMD型命令で処理するには複雑で、並列に処理できる演算が少ない。言い換えると、従来の整数型可逆アダマール変換は、広く普及しているパソコン上での高速処理には適していないといえる。
【0028】
【発明が解決しようとする課題】
このように従来の整数型可逆アダマール変換は、SIMD型命令での処理に適しておらず、広く普及しているパソコン上で高速処理することができない。また、ハードウェアで実現する際には、演算の段数が増えるため、データパスが長くなり演算による遅延時間が大きくなるといった問題点があった。
【0029】
本発明は上記従来例に鑑みてなされたもので、アダマール変換処理で得られる変換データの内、奇数個のデータの最下位ビットデータを切り上げ、残りの奇数個のデータの最下位ビットデータを切り捨て処理することにより、整数型の可逆アダマール変換処理を実現するアダマール変換処理方法及び装置を提供することを目的とする。
【0030】
また本発明の目的は、奇数個の変換出力の最下位ビットデータを切り上げ処理し、残りの奇数個の変換出力の最下位ビットデータを切り捨て処理して丸め処理とアダマール変換処理とを同時に行なうことにより、整数型の可逆アダマール変換処理を実現するアダマール変換処理方法及び装置を提供することにある。
【0031】
また本発明の目的は、簡易な構成で演算遅延の小さな整数型の可逆アダマール変換を行うことができるアダマール変換処理方法及び装置を提供することにある。
【0032】
【課題を解決するための手段】
上記目的を達成するために本発明のアダマール変換処理装置は以下のような構成を備える。即ち、
アダマール変換手段と、
前記アダマール変換手段の変換出力のうちの奇数個の最下位ビットデータを切り上げ処理し、残りの奇数個の変換出力の最下位ビットデータに対し切り捨て処理を行なう丸め処理手段と、を有することを特徴とする。
【0033】
上記目的を達成するために本発明のアダマール変換処理装置は以下のような構成を備える。即ち、
4点アダマール変換行列によるアダマール変換処理を行う変換処理手段と、
前記変換処理手段による変換結果の出力の内、奇数個の変換出力の最下位ビットデータを切り上げ処理し、残りの奇数個の変換出力の最下位ビットデータを切り捨て処理する丸め処理手段と、
前記丸め処理手段で丸められた変換出力を逆アダマール変換処理する逆変換処理手段と、
前記丸め処理手段における丸め処理と同じ丸め処理を前記逆変換処理手段の変換結果に対して行うことにより元のデータを復元する復元手段と、
を有することを特徴とする。
【0034】
上記目的を達成するために本発明のアダマール変換処理方法は以下のような工程を備える。即ち、
入力信号に対してアダマール変換行列による変換処理を行う変換工程と、
前記変換工程で変換された変換データの内、奇数個のデータの各最下位ビットデータを切り上げ処理し、残りの奇数個のデータの各最下位ビットデータを切り捨て処理して整数化する丸め処理工程と、を有することを特徴とする。
【0035】
上記目的を達成するために本発明のアダマール変換処理方法は以下のような工程を備える。即ち、
4点アダマール変換行列によるアダマール変換処理を行う変換処理工程と、
前記変換処理工程による変換結果の出力の内、奇数個の変換出力の最下位ビットデータを切り上げ処理し、残りの奇数個の変換出力の最下位ビットデータを切り捨て処理する丸め処理工程と、
前記丸め処理工程で丸められた変換出力を逆アダマール変換処理する逆変換処理工程と、
前記丸め処理工程における丸め処理と同じ丸め処理を前記逆変換処理工程の変換結果に対して行うことにより元のデータを復元する復元工程と、を有することを特徴とする。
【0036】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【0037】
<実施の形態1>
図3は、本発明の実施の形態1に係る処理の流れを示すフローチャートである。
【0038】
同図において、ステップS301では、固定小数点演算において、4点アダマール変換行列H4(数式(3))を用いて変換処理を行なう。ここでは、入力データをXi=[X0,X1,X2,X3]とし、Di=H4・Xiで示す演算が実行される。ステップS302では、ステップS301での変換結果のうち、1番目のデータ(D0)のみを切り上げ処理する。次にステップS303では、残りの3つの変換結果(D1,D2,D3)をそれぞれ切り捨て処理する。
【0039】
ステップS301では、整数型の入力データを加減算して固定小数点の変数に代入することで、4点アダマール変換の固定小数点演算を行なう。ここで小数部は最下位の1ビット(以下、LSBと称す)のみで、このLSBの重みは「0.5」である。ステップS302の切り上げ処理では、1番目のデータ(D0)に「1」を加算した後、1ビット右へシフトする。この加算した「1」は、このLSBの重みと同じ「0.5」と解釈する。そして、1ビットの右シフトは、この加算結果の小数部を切り捨てて整数部のみを残し、整数型のデータへと変換するものである。
【0040】
ステップS303の切り捨て処理では、何も加算せずに1ビット右へシフトする。これによりステップS301の変換結果の小数部を切り捨てて整数部のみを残し、整数型のデータへと変換したことになる。
【0041】
本実施の形態に係る切り捨て処理と切り上げ処理は、数学上のfloor関数演算とceiling関数演算を意味する。前者は入力データを超えない最大の整数値への変換処理であり、後者は入力データ或は入力データより大きな最小の整数値への変換処理である。
【0042】
別の側面から見ると、切り捨て処理によって値が小さくなることはあっても大きくなることは無く、また切り上げ処理によって値が大きくなることはあっても小さくなることは無い。例えば、「−7.5」を切り捨て処理した結果は「−8」となって小さくなり、切り上げ処理した結果は「−7」となって、元の値よりも大きくなる。
【0043】
本実施の形態では、逆変換も図3と同じ処理フローとなる。前述の4つのデータ
123, 78, 84, 56
に対して、本実施形態の整数型可逆アダマール変換処理を施すと、丸め処理後の変換データは、
171(=(123+78+84+56)/2の小数点以下第1位の切り上げ), 36(=(123-78+84-56)/2の小数点以下第1位の切り捨て), 30(=(123+78-84-56)/2の小数点以下第1位の切り捨て), 8(=(123-78-84+56)/2の小数点以下第1位の切り捨て)となる。これら変換データに対して、図3と同じ処理フローで逆変換を施す。
【0044】
171, 36、 30, 8
に対してアダマール逆変換のみを施すと、122.5(=(171+36+30+8)/2), 78.5(=(171-36+30-8)/2), 84.5(=(171+36-30-8)/2), 56.5(=(171-36-30+8)/2)が得られる。ここで、1番目のデータの最下位を切り上げ、残りのデータの最下位を切り捨てることにより、
123, 78, 84, 56
となり、元のデータに戻ることが分かる。このような可逆変換が、どうして実現できるのか、その理由を以下に説明する。
【0045】
図3のステップS301の固定小数点演算でアダマール変換処理した4つのデータのLSBの値は、4つの値とも同じになることはよく知られている。このLSBの値は、変換前の4つのデータに奇数データが幾つあるかによって一意に決定される。即ち、奇数データが偶数個ある場合は、このLSBの値は「0」になり、奇数データが奇数個ある場合には、このLSBの値は「1」になる。
【0046】
このLSBの値が「0」の場合、小数部が零になるため、ステップS301の変換処理の出力で既に整数データになっている。よって、その後のステップS302,S303における丸め処理で誤差が発生することは無い。この場合は、逆変換処理においても、ステップS301の変換処理のみで整数データとなり、丸め処理の有無に関係なく元のデータが復元されることになる。
【0047】
一方、ステップS301の変換処理において、LSBの値が「1」である場合(0.5の場合)は整数データへ丸めることにより、「+0.5」又は「−0.5」の誤差が各データに重畳される。前述の4つのデータを図3のフローで処理すると、1番目の変換データY0には「+0.5」の誤差が重畳し、他の3つのデータY1〜Y3には、「−0.5」の誤差が重畳する。
【0048】
このような誤差が重畳した変換データを図3のフローで逆変換処理すると、丸め処理前の変換データD0には「−0.5」、D1〜D3には「+0.5」の誤差が伝搬することになる。この伝搬誤差を打ち消すには、D0のみを切り上げ、他の3つのデータD1〜D3を切り捨て処理すればよいことが分かる。ステップS302とステップS303において、このような処理を施すことにより、元のデータが復元されることになる。
【0049】
よって、図3の処理フローで整数型可逆アダマール変換処理が可能であるだけでなく、逆変換処理も可能となる。
【0050】
変換処理と逆変換処理が同じ処理で実現できる場合というのは、1番目の変換データY0の丸め処理だけが他の3つの丸め処理と違っている場合だけである。変換データY0の丸め処理が他の3つと違っている処理はもう1種類存在する。それは、Y0のみを切り捨て処理し、他の3つを切り上げ処理する場合である。この場合にも、変換処理と逆変換処理とを同じ処理で実現できる。
【0051】
なお、図3の処理は図4のように変形でき、変換と丸め処理を同時に行なうことができる。
【0052】
<実施の形態2>
本発明の実施の形態2では、変換処理と逆変換処理で丸め処理の内容が異なる場合について説明する。本実施の形態2では、2番目の変換データ(D1)のみを切り上げ、他の3つの変換データ(D0,D2,D3)を切り捨て処理する。本実施の形態2の変換処理フローを図5に、その逆変換処理フローを図6に示す。
【0053】
この実施の形態2でも、前述の実施の形態1と同様に、ステップS301の固定小数点演算において、4つの演算結果のLSBが「1」の場合に可逆性が問題になる。尚、このLSBが「0」の時には丸め処理による誤差が生じないので可逆変換が可能である。
【0054】
よって、以下ではLSBが「1」の場合についてのみ説明する。
【0055】
図5に示すフローで処理すると、2番目の変換データY1にのみ「+0.5」の誤差が重畳し、その他の変換データ(Y0,Y2,Y3)には「−0.5」の誤差が重畳する。
【0056】
これを図6に示すフローに従って逆変換処理すると、まずステップS601の固定小数点演算の変換処理で、3番目の変換データE2だけに「+0.5」の誤差が伝搬し、他の3つの変換データ(E0,E1,E3)には、「−0.5」の誤差が伝搬する。
【0057】
よって、ステップS602にて、変換データE0,E1,E3のそれぞれの最下位を切り上げ処理し、ステップS603にて、3番目の変換データE2の最下位を切り捨て処理する。これにより、この伝搬誤差を打ち消して変換前の元のデータR0〜R3を得ることが出来る。
【0058】
<実施の形態3>
本発明の実施の形態3では、ナチュラル型でもウォルシュ型でもない、前述のもう1つの変換行列(7)式を用いる。
【0059】
【数7】
【0060】
これは、ナチュラル型の4行目の基底ベクトルを2回置換して2行目に移動したものである。このような変換行列を用いて整数型アダマール変換した変換データを(S0,S1,S2,S3)とし、可逆変換が可能となる8種類の丸め処理(0型〜7型)を次のように定義する。
【0061】
3つの変換データを切り上げ処理し、1つのみ切り捨て処理するタイプを0型〜3型に分類し、3つの変換データを切り捨て処理し、1つのみ切り上げ処理するタイプを4型〜7型に分類する。更に詳しく分類すると、1つのみ切り捨て処理する場合、その1つの変換データがSiである時それをi型とし、1つのみ切り上げ処理する場合、その1つの変換データがSjである時、それをj+4型と分類する。
【0062】
上記のように定義すると、変換時にi型で丸め処理した場合、元のデータを復元するための逆変換処理における丸め処理は(iの8の補数)型となる。例えば変換時に2型で丸め処理した場合、2の8の補数である6型の丸め処理を用いて逆変換すれば元のデータを復元できる。
【0063】
これら0型〜7型の各丸め処理に対し、4つの変換出力データに重畳する誤差を図7(a)に、逆変換時の伝搬誤差を図7(b)に、該伝搬誤差を打ち消すための逆変換時の丸め処理を図7(c)に示す。
【0064】
図7(a)(c)より、変換時の丸め処理を本実施の形態3の順序で番号付けすると、変換時の丸め処理とそれに対する逆変換の丸め処理は、8の補数の関係になることが分かる。なお、変換行列(7)式以外の変換行列を用いた場合にも、変換時に8種類の丸め処理があり、逆変換時の丸め処理は一意的に定まる処理となる。(しかし、その関係は、上述したような単純な規則とはならない)
<実施の形態4>
本発明の実施の形態4は、前述の実施の形態3で示した変換時の丸め処理と逆変換時の丸め処理の対応をハードウェア構成で示したものである。
【0065】
図8は、本発明の実施の形態4に係るアダマール変換処理ユニット801の構成を示すブロック図である。この処理ユニット801は、変換処理と逆変換処理の両方で使用される。
【0066】
図9は、アダマール変換後の丸め処理が、0型〜7型に対応する整数型可逆アダマール変換処理部の構成と、該変換処理部に対応する逆変換処理部の構成を合わせて示す図である。図において、破線901の左側が変換処理部による処理を示し、右側が逆変換処理部による処理を示している。
【0067】
アダマール変換ユニット(HTユニット)801の出力の初段にあるユニット群903は、「1」を加算する加算ユニットである。ここで加算する「1」の実際の(出力結果に換算した)重みは「0.5」である。2段目のユニット群905は、小数点データであるLSBを取り除いて、整数部のみを残すための1ビットシフトユニットである。物理的には小数部は結線せず整数部のみを結線するだけで構成されている。これらユニットの説明は、変換処理部と逆変換処理部の両方に当てはまる。
【0068】
<実施の形態5>
本発明の実施の形態5は、丸め処理の内容を、切り上げ処理と切り捨て処理の2種類に限定せず、より一般化したものである。即ち、丸め処理時に何も加算しないか(あるいは「0」を加算するとも言える)、「1」を加算することに限定せず、それ以外の値を加算することを許したものである。加算値が「0」と「1」以外の場合でも整数型可逆アダマール変換となるような変換処理を図10に示す。これが、本実施の形態5に係る変換処理である。なお、ここでは変換行列としてウォルシュアダマール変換行列を用いたが、前記3種類の変換行列のいずれでもよい。
【0069】
図10の丸め処理用の加算値の計算処理S1001において、Mi(i=0,1,2,3)は整数、Si=0又は1(i=0,1,2,3)、且つ、S0+S1+S2+S3=1又は3である。この条件により、図8の変換処理S1003は整数型可逆アダマール変換処理となる。Miを「0」に限定したものが、これまでに説明した実施形態である。
【0070】
同一の丸め処理を用いてまとまったデータを連続して可逆アダマール変換する際、丸め処理の加算値の計算処理のS1001は最初に1回行なうだけでよく、その後、S1003のアダマール変換と丸め処理を必要な回数を繰り返し行なう。
【0071】
<実施の形態6>
前記実施形態5は、整数型可逆アダマール変換処理を縦属的に何段も行なう際に有効である。16個のデータに対して、4個単位で変換処理したデータを転置して、さらに4個単位で変換処理する際に、局所的に集中する丸め誤差を緩和するのに役立つ。図11にその構成の一例を示す。
【0072】
同図において、1101〜1108はアダマール変換ユニット(HTユニット)、この変換ユニットの変換行列は前記3種類のいずれでもよいが、8つとも同一の変換行列を用いる。1111は「1」を加算する加算ユニット、1113は「−1」を加算する加算ユニット、1115は「2」を加算する加算ユニット、1121はビットシフトユニットである。
【0073】
図11のように構成した場合、後段(右側)の4つのHTユニットに着目すると、HTユニット1105には、切り上げ処理したデータが集中し、HTユニット1106〜1108には切り捨て処理したデータが集中する。切り上げ処理したデータには「+0.5」の丸め誤差が重畳し、切り捨て処理したデータには「−0.5」の丸め誤差が重畳する。
【0074】
これらのデータをさらにアダマール変換すると変換係数Y0に、それらの誤差が集中する。即ち、HTユニット1105の変換係数Y0には、入力データに重畳された誤差が集まり、最大「+1」となる。それに対し、他の変換係数Y1,Y2,Y3では、誤差が打ち消されて平均的には「0」となる。HTユニット1106〜1108も同様に、変換係数Y0には、誤差が集まり最小「−1」となり、他の変換係数Y1,Y2,Y3では、誤差が打ち消されて平均的には「0」となる。
【0075】
HTユニット1105における変換係数Y0の出力に重畳する誤差を他の変換係数と同じにする1つの方法は、図10の変換処理において、M1=−1、S0=1、その他は全て「0」に設定することに相当する。このように設定すると、変換係数Y0,Y1,Y2,Y3は4つとも、出力変換係数に重畳する誤差が−1〜+0.5に分布する。
【0076】
同様に、HTユニット1106〜1108における変換係数Y0の出力に重畳する誤差を他の変換係数と同じにする1つの方法は、図10の変換処理においてM1=1、S1=S2=S3=1、その他は全て「0」に設定することに相当する。このように設定すると、変換係数Y0,Y1,Y2,Y3は4つとも、出力変換係数に重畳する誤差が−0.5〜+1に分布する。
【0077】
本実施の形態に係る整数型可逆アダマール変換処理方法及びその処理装置は、従来技術でも述べたように、DCT変換の一部の処理としても利用することができる。即ち、整数型のデータを出力する可逆変換可能なDCTを実現する際に、アダマール変換処理部を本実施の形態に係る可逆アダマール変換処理方法、或は可逆アダマール変換処理ユニットに置き換えることで、高速処理に適した可逆変換可能なDCT変換を実現することができる。
【0078】
以上説明したアダマール変換処理方法とその装置は、1次元の4つのデータに対する処理であったが、この処理を4×4の2次元配列データに対して、水平方向と垂直方向にそれぞれ適用することにより、2次元の変換を行うことが可能になる。そのような2次元データに対する可逆アダマール変換処理方法および処理装置も当然本発明の範疇に含まれるものである。
【0079】
なお本発明は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0080】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システム或は装置に供給し、そのシステム或は装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0081】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0082】
以上説明したように本実施の形態によれば、1回の行列演算で4点のアダマール変換処理を行い、その変換処理で得られる4つのデータの内、奇数個のデータの最下位を切り上げ、残りの奇数個のデータの最下位を切り捨て処理する整数化を行なうことにより、整数型の可逆アダマール変換処理および該変換処理に対応して元のデータを復元する逆変換処理を簡易な演算で高速に実現することができるようになった。
【0083】
更には、奇数個の変換出力の結果を切り上げ処理し、残りの奇数個の変換出力に対し切り捨て処理を行なう丸め処理と、4点アダマール変換行列による変換処理とを同時に行なうことにより、整数型の可逆アダマール変換処理及びその変換処理に対応して元のデータを復元する逆変換処理とを簡易な演算で高速に実現することができるようになった。
【0084】
また、(バタフライ演算のみで構成した)4点アダマール変換ユニットと、このアダマール変換ユニットの出力の奇数個を切り上げ処理し、残りの奇数個の変換出力に対し切り捨て処理を行なう丸め処理を行なうことにより、簡易な構成で、かつ演算遅延の小さい整数型の可逆アダマール変換処理装置及び変換処理に対応して元のデータを復元する逆変換処理装置を実現することができるようになった。
【0085】
【発明の効果】
以上説明したように本発明によれば、アダマール変換処理で得られる変換データの内、奇数個のデータの最下位を切り上げ、残りの奇数個のデータの最下位を切り捨て処理することにより、整数型の可逆アダマール変換処理を実現できるという効果がある。
【0086】
また本発明によれば、奇数個の変換出力の最下位を切り上げ処理し、残りの奇数個の変換出力の最下位を切り捨て処理して丸め処理を行なうことにより、整数型の可逆アダマール変換処理を実現できる。
【0087】
また本発明によれば、簡易な構成で、演算遅延の小さな整数型の可逆アダマール変換を行うことができるという効果がある。
【図面の簡単な説明】
【図1】従来の整数型可逆アダマール変換処理を実現する基礎となるシグナルフローを説明する図である。
【図2】丸め処理を加えた、従来の整数型可逆アダマール変換処理のシグナルフローを説明する図である。
【図3】本発明の実施の形態1に係る可逆アダマール変換処理の流れを説明するフローチャートである。
【図4】本発明の実施の形態1に係るアダマール変換処理と丸め処理の変形例を示すフローチャートである。
【図5】本発明の実施の形態2に係る可逆アダマール変換の処理の流れを示すフローチャートである。
【図6】本発明の実施の形態2に係る可逆変換処理の逆変換処理の流れを示すフローチャートである。
【図7】本発明の実施の形態3に係る8組の可逆アダマール変換処理の丸め処理で発生する誤差と、各変換処理に対応する逆変換処理で伝搬する誤差と、該逆変換処理の丸め処理で発生する誤差を説明する図である。
【図8】本発明の実施の形態4に係る4点アダマール変換処理ユニットの構成を示すブロック図である。
【図9】本発明の実施の形態4に係る8組の可逆アダマール変換処理部と、各々に対応する逆変換処理部の構成を示すブロック図である。
【図10】本発明の実施の形態5に係る丸め処理加算値の計算処理とアダマール変換と丸め処理の流れを示すフローチャートである。
【図11】本発明の実施の形態6に係る16個のデータに対する可逆アダマール変換処理部の構成を示すブロック図である。
Claims (26)
- 入力信号に対してアダマール変換行列による変換処理を行う変換工程と、
前記変換工程で変換された変換データの内、奇数個のデータの各最下位データを切り上げ処理し、残りの奇数個のデータの各最下位データを切り捨て処理して整数化する丸め処理工程と、
を有することを特徴とするアダマール変換処理方法。 - 更に、前記変換工程と対応する逆変換処理及び前記丸め処理工程に対応する丸め処理を行って元のデータを復元する復元工程を有することを特徴とする請求項1に記載のアダマール変換処理方法。
- 前記アダマール変換行列は4点アダマール変換行列であることを特徴とする請求項1又は2に記載のアダマール変換処理方法。
- 前記復元工程における丸め処理は、前記丸め処理工程に対して一意に決定され、前記丸め処理工程における丸め処理と同じ処理であることを特徴とする請求項2に記載のアダマール変換処理方法。
- 前記丸め処理工程における丸め処理は8種類存在することを特徴とする請求項3に記載のアダマール変換処理方法。
- 前記丸め処理工程における丸め処理の種類と、前記復元工程における逆変換時の丸め処理の種類とを互いに補数の関係で対応させることを特徴とする請求項2に記載のアダマール変換処理方法。
- 4点アダマール変換行列によるアダマール変換処理を行う変換処理工程と、
前記変換処理工程による変換結果の出力の内、奇数個の変換出力の最下位を切り上げ処理し、残りの奇数個の変換出力の最下位を切り捨て処理する丸め処理工程と、
前記丸め処理工程で丸められた変換出力を逆アダマール変換処理する逆変換処理工程と、
前記丸め処理工程における丸め処理と同じ丸め処理を前記逆変換処理工程の変換結果に対して行うことにより元のデータを復元する復元工程と、
を有することを特徴とするアダマール変換処理方法。 - 前記丸め処理工程における丸め処理の種類が8種類あり、前記復元工程における丸め処理が前丸め処理工程における丸め処理に対して一意に決定されることを特徴とする請求項7に記載のアダマール変換処理方法。
- 前記復元工程における丸め処理は、前記丸め処理工程における8種類ある変換処理時の丸め処理に対して、8の補数の関係で対応させることを特徴とする請求項7又は8に記載のアダマール変換処理方法。
- アダマール変換手段と、
前記アダマール変換手段の変換出力のうちの奇数個の最下位を切り上げ処理し、残りの奇数個の変換出力の最下位に対し切り捨て処理を行なう丸め処理手段とを有することを特徴とするアダマール変換処理装置。 - 前記アダマール変換手段に対応する逆変換処理及び前記丸め処理手段に対応する丸め処理を行って元のデータを復元する復元手段を有することを特徴とする請求項10に記載のアダマール変換処理装置。
- 前記アダマール変換行列は4点アダマール変換行列であることを特徴とする請求項10又は11に記載のアダマール変換処理装置。
- 前記復元手段における丸め処理は、前記丸め処理手段に対して一意に決定され、前記丸め処理手段における丸め処理と同じ処理であることを特徴とする請求項11に記載のアダマール変換処理装置。
- 前記丸め処理手段における丸め処理は8種類存在することを特徴とする請求項12に記載のアダマール変換処理装置。
- 前記丸め処理手段における丸め処理の種類と、前記復元手段における逆変換時の丸め処理の種類とを互いに補数の関係で対応させることを特徴とする請求項11に記載のアダマール変換処理装置。
- 4点アダマール変換行列によるアダマール変換処理を行う変換処理手段と、
前記変換処理手段による変換結果の出力の内、奇数個の変換出力の最下位を切り上げ処理し、残りの奇数個の変換出力の最下位を切り捨て処理する丸め処理手段と、
前記丸め処理手段で丸められた変換出力を逆アダマール変換処理する逆変換処理手段と、
前記丸め処理手段における丸め処理と同じ丸め処理を前記逆変換処理手段の変換結果に対して行うことにより元のデータを復元する復元手段と、
を有することを特徴とするアダマール変換処理装置。 - 前記丸め処理手段における丸め処理の種類が8種類あり、前記復元手段における丸め処理が前丸め処理手段における丸め処理に対して一意に決定されることを特徴とする請求項16に記載のアダマール変換処理装置。
- 前記復元手段における丸め処理は、前記丸め処理手段における8種類ある変換処理時の丸め処理に対して、8の補数の関係で対応させることを特徴とする請求項16又は17に記載のアダマール変換処理装置。
- コンピュータに、
入力信号に対してアダマール変換行列による変換処理を行う変換手順と、
前記変換手順で変換された変換データの内、奇数個のデータの各最下位データを切り上げ処理し、残りの奇数個のデータの各最下位データを切り捨て処理して整数化する丸め処理手順と、
を実行させることを特徴とするプログラム。 - コンピュータに、
入力信号に対してアダマール変換行列による変換処理を行う変換手順と、
前記変換手順で変換された変換データの内、奇数個のデータの各最下位データを切り上げ処理し、残りの奇数個のデータの各最下位データを切り捨て処理して整数化する丸め処理手順とを実行させるプログラムを記憶したことを特徴とする、コンピュータにより読み取り可能な記憶媒体。 - 4つの整数入力データに対してアダマール変換行列に基づく加減算処理を行う加減算手段と、
前記加減算手段による計算結果に所定の値を加算した後、最下位ビットの切り捨てを行なう丸め手段とを有し、
前記所定値は、
2Mi+Si(i=0,1,2,3)
ここで、Miは整数、Si=0又は1、S0+S1+S2+S3=1又は3であることを特徴とするアダマール変換装置。 - 4つの整数入力データに対してアダマール変換行列に基づく加減算処理を行う加減算工程と、
前記加減算工程での計算結果に所定の値を加算した後、最下位ビットの切り捨てを行なう丸め工程とを有し、
前記所定値は、
2Mi+Si(i=0,1,2,3)
ここで、Miは整数、Si=0又は1、S0+S1+S2+S3=1又は3であることを特徴とするアダマール変換方法。 - コンピュータに、
4つの整数入力データに対してアダマール変換行列に基づく加減算処理を行う加減算手順と、
前記加減算手順による計算結果に所定の値を加算した後、最下位ビットの切り捨てを行なう丸め手順とを実行させ、
前記所定値は、
2Mi+Si(i=0,1,2,3)
ここで、Miは整数、Si=0又は1、S0+S1+S2+S3=1又は3であることを特徴とするプログラム。 - コンピュータに、
4つの整数入力データに対してアダマール変換行列に基づく加減算処理を行う加減算手順と、
前記加減算手順による計算結果に所定の値を加算した後、最下位ビットの切り捨てを行なう丸め手順とを実行させ、
前記所定値は、
2Mi+Si(i=0,1,2,3)
ここで、Miは整数、Si=0又は1、S0+S1+S2+S3=1又は3であることを特徴とするプログラムを記憶したことを特徴とする、コンピュータにより読み取り可能な記憶媒体。 - コンピュータに、
4点アダマール変換行列によるアダマール変換処理を行う変換処理手順と、
前記変換処理手順による変換結果の出力の内、奇数個の変換出力の最下位を切り上げ処理し、残りの奇数個の変換出力の最下位を切り捨て処理する丸め処理手順と、
前記丸め処理手順により丸められた変換出力を逆アダマール変換処理する逆変換処理手順と、
前記丸め処理手順による丸め処理と同じ丸め処理を前記逆変換処理手順による変換結果に対して行うことにより元のデータを復元する復元手順と、
を実行させることを特徴とするプログラム。 - コンピュータに、
4点アダマール変換行列によるアダマール変換処理を行う変換処理手順と、
前記変換処理手順による変換結果の出力の内、奇数個の変換出力の最下位を切り上げ処理し、残りの奇数個の変換出力の最下位を切り捨て処理する丸め処理手順と、
前記丸め処理手順により丸められた変換出力を逆アダマール変換処理する逆変換処理手順と、
前記丸め処理手順による丸め処理と同じ丸め処理を前記逆変換処理手順による変換結果に対して行うことにより元のデータを復元する復元手順とを実行させるプログラムを記憶したことを特徴とする、コンピュータにより読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002371005A JP3754957B2 (ja) | 2001-12-25 | 2002-12-20 | アダマール変換処理方法及びその装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001-392730 | 2001-12-25 | ||
JP2001392730 | 2001-12-25 | ||
JP2002371005A JP3754957B2 (ja) | 2001-12-25 | 2002-12-20 | アダマール変換処理方法及びその装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003258645A JP2003258645A (ja) | 2003-09-12 |
JP3754957B2 true JP3754957B2 (ja) | 2006-03-15 |
Family
ID=28677101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002371005A Expired - Fee Related JP3754957B2 (ja) | 2001-12-25 | 2002-12-20 | アダマール変換処理方法及びその装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3754957B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4311759B2 (ja) * | 2007-10-29 | 2009-08-12 | キヤノン株式会社 | データ変換装置及びその制御方法 |
JP4933405B2 (ja) * | 2007-11-13 | 2012-05-16 | キヤノン株式会社 | データ変換装置及びその制御方法 |
JP4594420B2 (ja) * | 2008-12-25 | 2010-12-08 | キヤノン株式会社 | データ変換装置及びその制御方法 |
-
2002
- 2002-12-20 JP JP2002371005A patent/JP3754957B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003258645A (ja) | 2003-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5004987B2 (ja) | データ変換装置及びその制御方法 | |
US7188132B2 (en) | Hadamard transformation method and apparatus | |
JP3902990B2 (ja) | アダマール変換処理方法及びその装置 | |
US20080031545A1 (en) | Efficient scaling in transform domain | |
JP3796432B2 (ja) | フィルタ処理装置およびフィルタ処理方法 | |
Lin et al. | Packed integer wavelet transform constructed by lifting scheme | |
JP3754957B2 (ja) | アダマール変換処理方法及びその装置 | |
JP4366250B2 (ja) | データ変換処理装置及びプログラム | |
US7539355B2 (en) | Data transform method and apparatus | |
JP4933405B2 (ja) | データ変換装置及びその制御方法 | |
US6766341B1 (en) | Faster transforms using scaled terms | |
KR101219411B1 (ko) | 데이터 변환장치 및 그 제어 방법 | |
US7430332B2 (en) | Approximations used in performance sensitive transformations which contain sub-transforms | |
JP5546329B2 (ja) | データ変換装置 | |
JPH0746136A (ja) | 音響又は画像変換プロセッサ、音響又は画像データ処理装置、音響又は画像データ処理方法、算術プロセッサ、及びデータプロセッサ | |
JP2002197075A (ja) | データ処理装置及びその制御方法、データ処理方法、コンピュータ可読メモリ | |
JP3438474B2 (ja) | 画像処理装置 | |
JP4378407B2 (ja) | データ変換処理装置及びその方法 | |
WO2009057439A1 (en) | Data transform apparatus and control method thereof | |
JP3543151B2 (ja) | データ圧縮方法及びデータ圧縮装置 | |
JP2507654B2 (ja) | 画像デ―タ直交変換処理装置のマトリクス演算回路 | |
JP2809798B2 (ja) | 画像データ直交変換装置のマトリクス演算処理方式 | |
CN111143762A (zh) | 一种张量数据分解方法及*** | |
Kay | A comparison of some of the most current methods of image compression | |
KR20030049852A (ko) | 역 이산 코사인 변환(idct) 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050909 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050916 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051018 |
|
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: 20051125 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051219 |
|
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: 20081222 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091222 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091222 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101222 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111222 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121222 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131222 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |