JP4217408B2 - Filter processing device - Google Patents
Filter processing device Download PDFInfo
- Publication number
- JP4217408B2 JP4217408B2 JP2002024110A JP2002024110A JP4217408B2 JP 4217408 B2 JP4217408 B2 JP 4217408B2 JP 2002024110 A JP2002024110 A JP 2002024110A JP 2002024110 A JP2002024110 A JP 2002024110A JP 4217408 B2 JP4217408 B2 JP 4217408B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- data
- frequency
- low
- frequency conversion
- 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
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【0001】
【発明の属する技術分野】
本発明はフィルタ処理装置に関し、更に詳しくは、画像データをウェーブレット変換したり、ウェーブレット変換係数を画像データに逆変換する等のフィルタ処理装置に関する。
【0002】
【従来の技術】
画像、特に多値画像は非常に多くの情報を含んでおり、その画像を蓄積・伝送する際にはデータ量が膨大であるという問題がある。このため画像の蓄積・伝送に際しては、画像の持つ冗長性を除く、或いは画質の劣化が視覚的に認識し難い程度で、画像の内容を変更することによってデータ量を削減する高能率符号化が用いられる。
【0003】
例えば、静止画像の国際標準符号化方式としてISOとITU−Tにより勧告されたJPEGでは、画像データをブロック(8画素×8画素)ごとに離散コサイン変換(DCT)して、DCT係数に変換した後に、各係数を各々量子化し、さらにエントロピー符号化することにより画像データを圧縮している。しかしこの方式では、ブロックごとにDCT、量子化を行なっているため、復号画像の各ブロックの境界で、所謂ブロック歪みが現れる場合がある。
【0004】
一方、新しい静止画像の国際標準符号化方式としてJPEG2000が検討されているが、JPEG2000では、量子化の前に行う変換処理として、ウェーブレット変換が提案されている。ウェーブレット変換は、現行JPEGのようにブロック単位で処理を行うのではなく、入力データを連続的に処理するので、復号画像の劣化を視覚的に分かりにくくできるといった特徴がある。
【0005】
JPEG2000で使われているウェーブレット変換では、リフティング機構と呼ばれる方法で処理をすることで、少ない演算量で効率良く変換処理を行うことができる。
【0006】
図12に順方向のリフティング機構、図13に逆方向のリフティング機構におけるシグナルフローを表わす図を示す。図の中のα、β、γ、δはリフティング係数と呼ばれるものである。
【0007】
まず、図12に示すリフティング機構の動作について説明する。
【0008】
入力画素を、入力される順にX0、X1、X2、X3、X4、X5、… のように順に表わす。該入力画素は、分類ユニット201にて、偶数画素系列と奇数画素系列とに分類され、分類ユニット201の一方の出力端子(図12では上側)からは添字が偶数の画素X0、X2、X4、…(すなわちX2n)が、もう一方の出力端子(図12では下側)からは添字が奇数の画素 X1、X3、X5、…(すなわちX2n+1)が出力される。
【0009】
初段のリフティング 処理では、偶数画素系列に対しリフティング係数αを乗し、連続する2個の偶数画素の乗算結果を、該2画素の中央に位置する奇数画素系列中の画素に加算する。
【0010】
これを一般化した式で表現すると、以下のようになる。
【0011】
D2n+1 = X2n+1 + α・X2n+ α・X2n+2 …(1)
2段目のリフティング処理では、新たに得られた奇数画素系列 D1、D3、D5、…に対しリフティング係数βを乗算し、連続する2個の奇数画素の乗算結果を、該2画素の中央に位置する偶数画素系列中の画素に加算する。
【0012】
これを一般化した式で表現すると、以下のようになる。
【0013】
E2n+2 = X2n+2+ β・D2n+1+ β・D2n+3 …(2)
3段目のリフティング 処理では、リフティング係数γを用いて初段と同様に、また、4段目のリフティング処理では、リフティング係数δを用いて2段目と同様に処理する。3段、4段目のリフティング処理内容を表わす式は、それぞれ下記のようになる。
【0014】
H2n+1 = D2n+1 + γ・E2n + γ・E2n+2 …(3)
L2n+2 = E2n+2 + δ・H2n+1 + δ・H2n+3 …(4)
また、図12中、Kはウェーブレット係数を正規化するものであるが、本発明の本質を説明するにあたって特に関係ないことであるので、ここでは説明を省略する。
【0015】
正規化処理を無視すれば、3段、4段目のリフティング処理によって得られる、Hn、Ln は各々高域変換係数と低域変換係数に対応する。
【0016】
次に、図13に示す逆方向のリフティング機構のシグナルフローについて簡単に説明する。まず始めに、順方向のリフティング機構における正規化処理に対応して、逆の係数を掛けた後、4段のリフティング処理を行う。各段の処理内容を以下にまとめて式で表わす。
【0017】
(1段目) E2n+2 = L2n+2 − δ・H2n+1 − δ・H2n+3 …(5)
(2段目) D2n+1 = H2n+1 − γ・E2n − γ・E2n+2 …(6)
(3段目) X2n+2 = E2n+2 − β・D2n+1 − β・D2n+3 …(7)
(4段目) X2n+1 = D2n+1 − α・X2n − α・X2n+2 (8)
上記(5)(6)(7)(8)式は、各々(4)(3)(2)(1)式を移項することにより得られるものである。
【0018】
図12及び図13に示すリフティング機構を別の視点から表現したものが、図14及び図15に示すリフティング格子構造である。同図において、□は入力データを、〇は格子点(あるいは格子点データ演算器)を表わし、〇から出ている矢印は格子点データの流れを示す。これらの図はリフティング機構における基本処理(前記(1)〜(8)式の処理)並びに該処理によって得られる新たなデータを1つの格子点に対応させたものである。
【0019】
図14に示す順方向のリフティング格子構造では、1つの格子点データは前記(1)〜(4)式のいずれかを用いて計算される。
【0020】
図15に示す逆方向のリフティング格子構造では、1つの格子点データは前記(5)〜(8)式のいずれかにより計算される。
【0021】
普通のフィルタは、データが1つ入力されるごとに1つの出力が計算されるが、図14のリフティング格子構造から解かるように、リフティング演算処理では、新たなデータが2つ用意されてはじめて、2つのデータ出力が可能になる。
【0022】
例えば、X8までの入力データでは、出力データとして L4、H5 まで演算できるだけである。次に X9だけが新たに用意されても、新たに演算できる格子点データは何も無い。しかし、 X10 が用意されることにより、新たに D9、E8、H7、L6 が演算可能になる。更に、X11、X12 の2つの入力データが用意されて、はじめて出力データである H9、L8が演算可能になる。
【0023】
このように、リフティング演算に基づくフィルタ処理では、新たな2つの入力データが用意されるごとに2つの出力(変換係数)が計算可能となる。図15に示す逆変換処理においても同様に、2つの変換係数が用意されるごとに2つの復元データが計算可能になることがわかる。
【0024】
また、垂直方向の逆変換処理に当てはめて見てみると、低域と高域の2種類の変換係数9ライン分を水平スキャン順序で入力することにより、2ライン分の復元データが水平スキャン順序で同時に計算され、出力される。
【0025】
この点が、リフティング演算によるフィルタ処理(ウェーブレット変換)とそうでないフィルタ処理との大きな違いである。
【0026】
上記のように、水平方向(又は垂直方向)のウェーブレット変換処理を行うウェーブレット変換部からペアで出力される低域と高域の変換係数は、それぞれ垂直方向(又は水平方向)のウェーブレット変換処理を行う次のウェーブレット変換部にて処理され、該2回の変換処理により水平・垂直方向の2次元ウェーブレット変換処理が行なわれる。
【0027】
2次元ウェーブレット変換を行う処理部は、特開平10−283342に示されているように、従来は図16のように構成されていた。同図において、501は水平方向の1次元DWT(Discrete Wavelet Transform)処理部(以下、「水平DWT処理部」と呼ぶ。)、503及び505は垂直方向の1次元DWT処理部(以下、垂直DWT処理部」と呼ぶ。)、511及び513はバッファである。
【0028】
水平DWT処理部501は、水平方向に走査されたラスタースキャンデータを受け取って処理し、処理毎に水平方向の低域と高域の2つの変換係数を出力する。バッファ511、513は、前記水平DWT処理部501から出力される低域と高域の変換係数を分けて、それぞれ1水平ライン分の変換係数を格納する。
【0029】
一方、垂直DWT処理部503及び505では、垂直方向の1次元ウェーブレット変換処理をした直後、その内部バッファに、該変換処理に用いた複数ライン分の変換係数が格納されている。変換処理が終了すると、この内2ライン分の変換係数は不要となり、新たな2ライン分の変換係数が水平DWT処理部501及びバッファ511及び513から入力されると、次の垂直ウェーブレット変換処理が可能になる。そして、垂直DWT処理部503及び505は、入力された新たなセットの変換係数を用いて演算処理を行い、垂直方向の低域と高域の2つの変換係数をそれぞれ出力する。
【0030】
このように、水平と垂直の2種類のウェーブレット変換処理を施すことにより、垂直DWT処理部503からは、LL(垂直‐低域、水平‐低域)、HL(垂直‐高域、水平‐低域)の2種類の変換係数が、垂直DWT処理部505からは、LH(垂直‐低域、水平‐高域)、HH(垂直‐高域、水平‐高域)の2種類の変換係数が出力される。
【0031】
図16の構成では、水平DWT処理部501は、毎サイクル2つのデータを入力すれば100%の稼働率で動作させることが可能である。それに対し、2つ存在する垂直DWT処理部503及び505は、それぞれバッファ511と513に次の水平1ライン分の変換係数を蓄えている間、何も処理せずに休止しており、さらに次の2ライン目の変換係数が水平DWT処理部501から垂直DWT処理部503及び505に入力する時に、バッファ511及び513に蓄えた変換係数を読み出すことで、2ライン分の変換係数を用いて垂直ウェーブレット変換処理を行う。
【0032】
従って、2つの垂直DWT処理部503及び505が動作する期間は、新たに垂直DWT処理部503及び505に入力される2ライン変換係数の内、水平DWT処理部501が2ライン目の変換係数を処理、出力している期間と同じである。つまり、2つの垂直DWT処理部は各々50%の稼働率で動作することになる。
【0033】
【発明が解決しようとする課題】
上述したように、従来の2次元ウェーブレット変換処理では、水平方向と垂直方向の変換処理の内、後段に配置される変換処理部は2つ必要である。すなわち、同じ量の処理をするのに、前段では1つの変換処理部で済むが、後段では2つの変換処理部を用いるのでハードウェア資源を有効に活用することができず、回路規模が大きくなるという問題があった。
【0034】
本発明は上記問題点を鑑みてなされたものであり、ハードウェア資源をより有効に活用し、より小さいハードウエア構成で2次元ウェーブレット変換処理装置を実現することを目的とする。
【0035】
【課題を解決するための手段】
上記目的を達成するために、本発明のフィルタ処理装置は、以下の構成を備える。すなわち、
画像データを、リフティング格子構造の複数の演算ユニットを用いて、ウェーブレット変換するためのフィルタ装置であって、
ウェーブレット変換対象の画像データの水平、又は、垂直方向のいずれか一方の第1の方向をY軸、当該第1の方向に直交する第2の方向をX軸とし、前記X座標の画素位置x、Y座標の画素位置yの画素データをPx,yと定義し、前記画像データ中の、同じY座標位置の画素データの並びを行と定義したとき、
第i処理サイクル(i=0,1,2,…)で、前記第1の方向に隣り合う2つの画素データの組{Px+i,y,Px+i,y+1}を入力し、1行前に入力した画素データPx+i,y-1と、少なくとも当該画素データPx+i,y-1に基づいて演算した前記演算ユニットの演算結果とを用いて、入力した組{Px+i,y,Px+i,y+1}から、1つの低周波変換係数Liと、1つの高周波変換係数Hiとを出力する第1の方向のウェーブレット変換手段と、
前記第1の方向のウェーブレット変換手段の2処理サイクル分で生成された周波数変換係数Li,Hi及びLi+1,Hi+1を入力する毎に、当該4つの周波数変換係数を並べ替え、低周波変換係数の組{Li,Li+1}と、高周波変換係数の組{Hi,Hi+1}をそれぞれを1処理サイクル単位に出力する並び替え手段と、
前記並び替え手段から低周波変換係数の組{Li,Li+1}を入力した1処理サイクルでは、1行前に入力した低周波変換係数Li-1と、少なくとも当該低周波変換係数Li-1に基づいて演算した前記演算ユニットの演算結果とを用いて、入力した組{Li,Li+1}から、1つの低低周波変換係数LLと、1つの低高周波変換係数LHとを出力し、前記並び替え手段から高周波変換係数の組{Hi,Hi+1}を入力した1処理サイクルでは、1行前に入力した高周波変換係数Hi-1と、少なくとも当該高周波変換係数Hi-1に基づいて演算した前記演算ユニットの演算結果とを用いて、入力した組{Hi,Hi+1}から、1つの高低周波変換係数HLと、1つの高高周波変換係数HHとを出力する第2の方向ウェーブレット変換手段とを備える。
【0041】
また、本発明の好適な一態様によれば、前記第2の方向のウェーブレット変換手段は、FIRフィルタである。
【0051】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【0052】
図1は、図14に示す各格子点における演算を行う格子点データ演算ユニットを示し、図2は、フィルタ処理のリフティング演算を行うための、図1に示す各格子点データ演算ユニットを多段接続した構成を示す。
【0053】
図1において、601及び603は2つのデータを入力する端子、607は演算した格子点データを出力する端子、621は端子603からの入力データを格納するバッファ、609はバッファ621の出力データを外部へ出力する端子、611はバッファ621の出力データと端子603からの入力データを加算する加算器、613は、加算機611の加算結果に係数C(α, β, γ, δの内の1つ)を乗算する乗算器、615は演算に用いる3つのデータの中央に位置する入力データに、乗算器613の乗算結果を加算する加算器である。
【0054】
まず、本発明の実施の形態における演算方式の概要を、図14、図1及び図2を参照しながら簡単に説明する。なお、以下の説明においては、図14の各格子点から出力されるデータも、格子点と同じ参照名で呼ぶ。
【0055】
例えば、9個の入力データX0、X1、X2、X3、X4、X5、X6、X7、X8を処理する場合、10個の格子点データ(D1、D3、D5、D7、E2、E4、E6、H3、H5、L4)を演算することにより、低域変換係数L4と高域変換係数H5を出力することができる。
【0056】
次にX9、X10の2つのデータが新たに入力データとして加わった場合、上記と同様に10個の格子点データを演算することにより、低域変換係数L6と高域変換係数H7を出力することもできるが、X9、X10が入力される以前に演算した格子点データを利用すれば、新たに計算しなければならないのは、D9、E8、L7、L6の4つだけで済む。
【0057】
以前に演算した格子点データを利用にするには演算を終えた格子点データを記憶し、保持するための媒体が必要であり、それが図1におけるバッファ621である。
【0058】
図2における最上段の格子点データ演算ユニット701内のバッファのみは、以前に演算した格子点データでは無く、以前に入力したデータを保持するために用いられるが、その他の格子点データ演算ユニット内のバッファは以前演算した格子点データを保持するために用いる。このバッファのサイズは最小1で上限は無い。
【0059】
X0からX8のデータを用いた処理がすでに終了し、低域変換係数L6と高域変換係数H7を出力するために、最上段の格子点データ演算ユニット701には、新たな入力データX9、X10 の2つのみが入力される。格子点データ演算ユニット701ではD9を演算するが、入力データX9及びX10の他にこの演算に必要なデータX8は、図1のバッファ621から出力される。このX8は、前回の処理でX8が端子603から入力された時にバッファ621に格納されたものである。
【0060】
格子点データ演算ユニット701は、演算したD9とバッファ621からの出力X8をそれぞれ端子607と609からユニットの外部へ出力し、次の格子点データ演算ユニット702に送る。
【0061】
格子点データ演算ユニット702は、入力されたD9及びX8を用いてE8を演算するが、この演算に必要なもう一つのデータD7は、ユニット702内のバッファ621から出力される。このD7も前回の処理で端子603から入力された時にバッファ621に格納しておいたものである。そして、演算したE8とバッファ621からの出力D7をそれぞれ端子607、609からユニットの外へ出力し、次の格子点データ演算ユニット703に送る。
【0062】
格子点データ演算ユニット703、704も上記と同様の処理を行う。その結果、演算ユニット703からは高域変換係数H7が、演算ユニット704からは低域変換係数L6がそれぞれ出力される。
【0063】
以降、演算ユニット701に新たなデータが2つ入力される毎に、演算ユニット703と704から高域と低域の変換係数が出力される。
【0064】
図1のバッファ621が、図17に示すように1画素分のデータを格納するレジスタ1701が1段だけで構成されている場合は、従来と同様の水平ウェーブレット変換処理を行うことが可能であり、図18に示すようにそれぞれ1画素分のデータを格納する2段のレジスタ1801、1802で構成されている場合は、後述するように2種類の信号を交互に処理することで2種類の信号のウェーブレット変換処理を行うことが可能である。図18におけるデータの流れは、まず図の上方よりレジスタ1801へ入力され、次のタイミングでレジスタ1802へシフトされ、さらに次のタイミングで図の下方から出力されるとする。さらに、図19に示すように画像1ライン分のデータを格納できるラインメモリ1901で構成されている場合は、垂直ウェーブレット変換処理を行うことができる。
【0065】
(第1の実施形態)
次に、本発明の第1の実施形態における、上記構成を有するウェーブレット変換処理部を用いた2次元のウェーブレット変換処理について説明する。
【0066】
本発明の第1の実施形態では、2次元のウェーブレット変換処理を、方向の違う1次元の変換処理を2段階に分けて実施することで実現し、その際に、この2段の変換処理の間に2×2のデータ回転処理を行う。
【0067】
図3に本第1の実施形態における2次元ウェーブレット変換処理装置の構成を示す。同図において、901は垂直方向の1次元DWT処理部(以下、「垂直DWT処理部」と呼ぶ。)、903は2×2データの回転処理を行うデータ回転ユニット、905は水平方向の1次元DWT処理部(以下、「水平DWT処理部」と呼ぶ。)である。垂直DWT処理部901及び水平DWT処理部905は、それぞれ図2に示すように、図1で示す演算ユニットを4段縦続接続した構成を有し、垂直DWT処理部901は4段の演算ユニットそれぞれにおけるバッファ621(図1)としてラインメモリ1901(図19)を、水平DWT処理部905は4段の演算ユニットそれぞれにおけるバッファ621として2段のレジスタ1801、1802(図18)を持ち、それぞれ垂直方向と水平方向の1次元ウェーブレット変換処理を行う。
【0068】
不図示のメモリあるいはラインバッファから、2ライン分の画素データの各ラインの端から1画素ずつ、すなわち垂直方向に並ぶ2画素ずつの画素データが、順に垂直DWT処理部901に与えられる。
【0069】
垂直DWT処理部901は、新たに受け取る垂直2画素のデータと内部バッファ621、すなわち、ここではラインメモリ1901(図19)に格納された、1ライン前のタイミングにおいて入力された画素データとを用いて、垂直方向の低域変換係数Lvと高域変換係数Hvを1つずつ出力する。1ライン分の画像データを格納するラインメモリ用いることで、1ライン前に入力された画素データと、新たに受け取る垂直2画素のデータとの、垂直に並ぶ3画素間における演算を行うことが可能となる。
【0070】
上記した垂直DWT処理部901の処理について、詳細に説明する。
【0071】
図20は垂直DWT処理部901を構成する4段の演算ユニットのうち、隣り合ういずれか2段の演算ユニット2000a、2000bを縦続接続した状態を表す図である。ここでは、図2における演算ユニット701、702を接続した状態である例として説明する。すなわち、2000a、2000bがそれぞれ演算ユニット701、702に相当する。演算ユニット2000a、2000bにおいて、乗算器2013a、2013bの乗算係数Cはそれぞれα、βである。また、演算ユニット2000aの2つの出力2007a、2009aは、演算ユニット2000bの2つの入力2001b、2003bに接続される。さらに、上述したように、バッファ621はそれぞれラインメモリ2021a、2021bにより構成される。図示していない残りの2段の演算ユニット703、704についても同様の構成である。
【0072】
図20におけるデータの流れを以下に説明する。ここでは、画素データの添え字番号は該画素データの垂直位置を表わしている。
【0073】
演算ユニット2000aの一方の入力端子2001aより、偶数ラインの画素データ1ライン分のうち、ある画素データX2n-1を加算器2015aへ入力する。他方の入力端子2003aより、奇数ラインの画素データ1ライン分のうち、X2n-1と垂直の関係にある画素データX2nを加算器2011aへ入力すると同時に、ラインメモリ2021aへも入力する。
【0074】
ラインメモリ2021aでは、入力画素とちょうど垂直の関係にある画素データX2n-2を出力端子2009a及び加算器2011aへ出力する。該画素データX2n-2はライン周期前に、ラインメモリ2021aに入力されたデータである。加算器2011aでは、X2nとX2n-2を加算し、乗算器2013aへ出力する。ここで、X2n-2は、画像上の位置がX2nの2ライン前のデータでX2nと画素位置がちょうど垂直の関係にあり、それらを加算することになる。乗算器2013aでは、それに係数C=αを乗算した結果α(X2 n+X2n-2)を加算器2015aへ出力する。加算器2015aでは、乗算器2013aからの乗算結果と入力端子2001aからの入力X2n-1とを加算して、D2n-1=X2n-1+α(X2n+X2n-2)を得て、出力端子2007aへ出力される。
【0075】
以上の演算を画素データ1ライン分すべてについて求めることで、上述した(1)式に相当する奇数画素系列Dを求める演算が行なわれる。
【0076】
演算ユニット2000bにおいては、上記で求められた奇数データ系列を入力として用い、上述の(2)式に相当する偶数データ系列Eを求めることができる。2000bにおける演算は、入力系列2003bがDである点と係数C=βである点を除き2000aと全く同様の演算を行っており、詳細な説明は省略する。
【0077】
このようにして、4段縦続接続された演算ユニットを用いて、垂直方向の低域変換係数及び高域変換係数を求めることができる。
【0078】
出力された2つの変換係数Lv、Hvはデータ回転ユニット903に入力される。回転ユニット903は、低域と高域の2つの変換係数をそれぞれ2個受け取ると、それを並び替えて低域変換係数2つと高域変換係数2つの順に出力する。この入出力の関係を図4に概念的に示す。
【0079】
図4(a)は、2組のデータを、入力単位で区切って示したものであり、図4(b)は、2組のデータを、出力単位で区切って示したものである。(a)と(b)を比較すると、(a)を右へ90度回転したものが(b)になっていることが分かる。
【0080】
並び替えた低域変換係数2つと高域変換係数2つは、それぞれ水平方向に連続している変換係数であるため、これを水平DWT処理部905で処理すると水平方向のウェーブレット変換を行うことができる。
【0081】
本第1の実施形態では、データ回転ユニットを設けてデータの並び替えを行い、並び替えをした低域と高域の2種類のデータを水平DWT処理部905において低域と高域を交互に多重化処理する。
【0082】
多重化処理は、水平DWT処理部905の各格子点データ演算ユニットのバッファ621(図1)がレジスタ2段1801、1802(図18)から成る場合、2種類の信号を交互に処理することにより低域と高域の2種類の信号を交互に水平ウェーブレット変換するものである。この処理についてさらに詳細に説明する。
【0083】
現在の処理サイクルで、仮に、各格子点データ演算ユニットのバッファ621である2段のレジスタ1801、1802の先頭1802に低域変換係数演算用のデータが格納され、後段1801に高域変換係数演算用のデータが格納されているものとする。この時、高域変換係数演算用のデータはその先のレジスタ1802に繋がっているのみで、どの演算ユニットも該データを参照していない。これは高域変換係数演算用データが存在していないのに等しく、すべての演算ユニットは低域変換係数を処理する状態になっている。
【0084】
従ってこのサイクルでは、図4に示す変換係数の内、2つの低域変換係数Lv1及びLv2を入力して、低域変換係数と一緒に2段レジスタの先頭のレジスタ1802が出力するデータ(ここでは低域変換係数演算用のデータ)を処理し、該処理結果(LL、LH)を出力する。すると、次のサイクルで、後段のレジスタ1801に格納されている高域変換係数用のデータが上記2段のレジスタ1802の先頭に移動し、入力したLv2または前段の格子点データ演算ユニットから入力された、現在のサイクルで処理に用いたデータが該レジスタ1801の後段に取り込まれる。
【0085】
次のサイクルでは、2段のレジスタ1801、1802に保存された低域変換係数と高域変換係数の順序が逆転し、すべての演算ユニットが高域変換係数を処理する状態になる。従って、次のサイクルでは、回転ユニット903からは2つの高域変換係数Hv1及びHv2が入力され、処理されて、該処理結果(HL、HH)が出力される。
【0086】
この水平DWT処理部905の処理について、詳細に説明する。
【0087】
図21は水平DWT処理部の905を構成する4段の演算ユニットのうち、隣り合ういずれか2段の演算ユニット2100a、2100bを縦続接続した状態を表す図である。ここでは、図2における演算ユニット701、702を接続した状態である例として説明する。すなわち、2100a、2100bがそれぞれ演算ユニット701、702に相当する。演算ユニット2100a、2100bにおいて、乗算器2113a、2113bの乗算係数Cはそれぞれα、βである。また、演算ユニット2100aの2つの出力2107a、2109aは、演算ユニット2100bの2つの入力2101b、2103bに接続される。さらに、上述したように、バッファ621はそれぞれ2段レジスタ2121aと2123a、2121bと2123bにより構成される。図示していない残りの2段の演算ユニット703、704についても同様の構成である。
【0088】
図21におけるデータの流れを以下に説明する。ここでは、変換係数の添え字番号は該変換係数の水平位置を表わしている。
【0089】
まず、上述から明らかなように、演算ユニット2100aの入力端子2101aには、回転ユニット903より出力された低域変換係数と高域変換係数とが交互に並んだ系列L2m-3、H2m-3、L2m-1、H2m-1、L2m+1、H2m+1、…が入力される。同様に入力端子2103aには、L2m-2、H2m-2、L2m、H2m、L2m+2、H2m+2、…が入力される。2つの入力タイミングは、L2m-1とL2mとが同時に入力されるとする。
【0090】
入力端子2101aより低域変換係数L2m-1が加算器2115aへ入力され、同時に入力端子2103aより低域変換係数L2mが加算器2111aと2121aに入力された場合について述べる。
【0091】
L2m-1、L 2mが入力されるとき、レジスタ2121aには1つ前のタイミングで入力端子2103aより入力された高域変換係数H2m-2が格納されている。また、そのときレジスタ2123aにはさらに1つ前のタイミングで入力端子2103aより入力された低域変換係数L2m-2が格納されている。
【0092】
従って、加算器2111aにおいて、入力端子2103aより入力されたL2mは、レジスタ2123aに格納されていた低域変換係数L2m-2と加算されて、乗算器2113aへ出力される。
【0093】
乗算器2113aでは、それに係数C=αを乗算した結果α(L2m+L2m-2)を加算器2115aへ出力する。加算器2115aでは、乗算器2113aからの乗算結果と入力端子2101aからの入力L2m-1とを加算して、低域変換系列からなるDL2m-1=L2m-1+α(L2m+L2m-2)を得て、出力端子2107aへ出力される。他方の出力端子2109aへは、レジスタ2123aの出力値L2m-2が出力される。
【0094】
次のタイミングにおいては、入力端子2101a、2101bにはそれぞれ高域変換係数H2m-1、H2mが入力される。同時に、2段レジスタ2121a、2123aは、それぞれ格納データがシフトされ、レジスタ2121aにはL2m、レジスタ2123aにはH2m-2が格納される。従って、このタイミングにおける加算器2115aの演算結果は、高域変換係数からなるDH2m-1=H2m-1+α(H2m+H2m-2)となり、出力端子2107aへ出力される。他方の出力端子2109aへは、H2m-2が出力される。
【0095】
以上の演算を画素データ1ライン分すべてについて求めることで、上述した(1)式に相当する画素変換データ系列Dを、低域と高域について交互に求める演算が行なわれる。
【0096】
演算ユニット2100bにおいては、上記で求められた画素系列を入力として用い、画素系列EL2m-1=L2m-1+β(D2m-2+D2m)もしくはEH2m-1=H2m-1+β(D2m-2+D2m)を、低域と高域について交互に求めることができる。2100bにおける演算は、入力系列2103bがDである点と係数C=βである点を除き2100aと全く同様の演算を行っており、詳細な説明は省略する。
【0097】
以上の処理を繰り返すことで、4段縦続接続された演算ユニットを用いて、低域と高域の2種類の信号を水平ウェーブレット変換処理して、変換係数LL、LH、HL、HHをそれぞれ求めることができる。
【0098】
上記の通り本第1の実施形態によれば、回転ユニットを設けることで、垂直方向と水平方向の1次元ウェーブレット変換処理部をそれぞれ1つづつ用いれば2次元のウェーブレット変換処理を行うことができるため、ハードウエア構成を縮小することができる。
【0099】
(第2の実施形態)
本第2の実施形態は、前記第1の実施形態の水平ウェーブレット変換処理と垂直ウェーブレット変換処理の順序を入れ替えたものである。図5に示すように、垂直DWT処理部901を水平DWT処理部905の出力側に配置し、水平DWT処理部905の前に新たな回転ユニット1101を設ける。
【0100】
不図示のメモリあるいはラインバッファから入力する画素データの順序は、前記第1の実施形態と同じであるものとする。すなわち、2ラインの画素データが端から1画素ずつ、すなわち垂直方向に並ぶ2画素ずつの画素データが並列に回転ユニット1101に入力される。
【0101】
回転ユニット1101は、2ラインの並列データをライン交互の2画素のデータに並び替えて出力する。これはデータを90度回転する処理と同じである。図6は、回転ユニット1101の入出力の関係を概念的に示す図である。図6において、添字Uは2ラインの上側(upper line)、Lは下側(lower line)を示し、1及び2は、画素の順番を示す。図6(a)に示すように入力する画素データを右方向に90度回転することにより、同じ行の2画素分の画素データが、交互に出力される。
【0102】
このようにライン毎に交互に出力される2画素分の画素データは、水平DWT処理部905に入力され、それぞれの入力データに対応した水平ウェーブレット変換処理が行なわれる。2ラインのデータが交互に入力されることで、2種類の信号を交互にウェーブレット変換することになるので、第1の実施形態で説明したように、水平DWT処理部905内の各格子点データ演算ユニットのバッファ621(図6)はレジスタ2段で構成される。
【0103】
水平ウェーブレット変換して出力される変換係数は、あるラインの低域・高域変換係数と次のラインの低域・高域変換係数であり、交互に出力される。これらは、さらに回転ユニット903に入力されて図4に示すように並び替えられる。
【0104】
この結果、2つのラインからの低域変換係数2個と、高域変換係数2個が交互に回転ユニット903から出力される。
【0105】
各々の2つの変換係数は垂直方向に並んでいるので、この2つの変換係数を垂直DWT処理部901に入力すれば、入力された2つの変換係数と、内部バッファ621に保持されたデータとから、垂直方向のウェーブレット変換処理を行うことができる。
【0106】
なお、垂直DWT処理部901の各格子点データ演算ユニットはバッファ621としてラインメモリを持っており、2ライン分の変換係数を保持している。なお、低域変換係数用に1ライン分と高域変換係数用に1ライン分の計2ライン分の変換係数を保持するが、各変換係数の数は元のラインデータの数の半分になっているので、ラインメモリの容量としては1ライン分あればよい。該ラインメモリには、低域変換係数と高域変換係数とが1つおきに格納されており、低域変換係数と高域変換係数を交互に処理できるようになっている。
【0107】
上記の通り第2の実施形態によれば、第1の実施形態と同様の効果を得ることができる。
【0108】
なお、不図示のメモリあるいはラインバッファからウェーブレット変換処理装置に入力される画素データの順序を、ライン交互に2画素のデータを入力するように変更すれば、最初の回転ユニット1101は不要となる。
【0109】
(第3の実施形態)
第1及び第2の実施形態においては、水平DWT処理部905は図2に示す構成を前提としてきたが、一般的なFIRフィルタで用いられる構成であってもよい。この場合、低域変換係数と高域変換係数は別々の演算器で計算される。
【0110】
ここでは、ウェーブレット変換フィルタは直線位相、すなわち、ウェーブレット変換のフィルタ係数が対称であるものとする。
【0111】
図7は、本第3の実施形態における2次元ウェーブレット変換処理装置の構成を示す。図7の構成の内、図9に構成を示すデータ入力部1401及び図8に構成を示すフィルタ演算部1402以外は、前記第2の実施形態で図5を参照して説明した構成と同様である。
【0112】
図8は、フィルタ演算部1402の構成を示す概略図である。同図において、1201はフィルタ入力データ、1202はフィルタ乗算係数の等しい2つの入力データを加算する加算器、1203は係数乗算器、1204及び1205は乗算結果を合計する加算器である。
【0113】
次に、図8に示すフィルタ演算部1402を用いて水平ウェーブレット変換処理を行う場合のウェーブレット変換処理部全体の構成について説明する。
【0114】
フィルタ演算部1402には、フィルタのタップ数と同数の画素データを入力する必要があるが、図1に示す構成と違い、変換処理部の内部にバッファを持たないので、バッファへのデータ書き込み、読み出しに気を使うことなく画素データを入力することができる。すなわち、複数種類のデータの変換処理を交互に行う場合であっても、フィルタ演算部1402内部の状態を気にする必要が無い。
【0115】
複数種類のデータの変換処理を交互に行うには、入力画素データ全てを同時に切り換える必要がある。例えば、変換係数を得るためのフィルタのタップ数が9である場合、9つのデータを同時に切り換えなければならない。これだけのデータをメモリから直接受け取るのは効率が悪いので、フィルタ演算部1402にデータを供給する部分についても、それに対応した新たなデータ入力部1401が必要となる。
【0116】
CCDやスキャナなどから得られる画素データは、一般的にラスタースキャン順序で生成されるため、以下ではラスタースキャン順序で生成された画素データを受けとって処理するものとする。図9に示すデータ入力部1401は、ラスタースキャン順序で生成された画素データに対応するものである。同図において、1301は、ラスタースキャン順序の画素データを入力する端子、1303は、1ライン分の容量を有する第1のラインメモリ、1305は、1ラインの半分の容量を有する第2のラインメモリ、1307、1309は、9つのレジスタが繋がったシフトレジスタ、1311は、2系統の9つの画素データを切り換えるセレクタである。
【0117】
以下、データ入力部1401の具体的な動作を説明する。
【0118】
まず、図7に示すデータ入力部1401の端子1301から入力される1ライン目の入力画素データを第1のラインメモリ1303に格納する。本発明の重要な構成要素であるウェーブレット変換処理部の処理サイクル(周期)を基準にして考えると、1サイクルの間に2つの画素データが入力されると全体の処理バランスが最も良くなるので、ここではそのようなレートで画素データが入力されるものとする。
【0119】
次に、2ライン目の入力画素データを第2のラインメモリ1305に格納しながら、1サイクルに1画素ずつ第1のラインメモリ1303及び第2のラインメモリ1305からデータを読み出し、それぞれシフトレジスタ1307、1309へデータを送る。両方のラインメモリ1303及び1305から同時にデータの読み出しを開始するよりも、第2のラインメモリ1305からの読み出しを1サイクル遅らせると、後述する理由により都合が良いので、そのように読み出す。
【0120】
第2のラインメモリ1305は、1サイクルで2つの画素データを格納し、1つの画素データを出力するので、2ライン目のすべての画素データを格納し終えた時点では、半分のデータしか残っていない。そのため、第2のラインメモリ1305の容量は1ラインの半分のデータを記憶できればよい。
【0121】
シフトレジスタ1307、1309に取り込まれた画素データは1サイクルごとに交互にセレクタ1311で切り換えられて、図8に示すフィルタ演算部1402で処理される。シフトレジスタ1309の画素データの位相は、シフトレジスタ1307より1サイクル遅いが、セレクタ1311が2つのシフトレジスタ1307、1309を選択するタイミングにも1サイクルのずれがあるので、1サイクルの遅れは打ち消されて、セレクタ出力では同位相のデータとなる。このようにして出力された該2ライン分の同位相の9つのデータそれぞれを基にして、フィルタ演算部1402では低域と高域のウェーブレット変換係数が計算され、出力される。
【0122】
変換係数の出力タイミングは前記第2の実施形態と同じであるため、回転ユニット903で変換係数を並び替えて、次に垂直DWT処理部901にて変換処理すれば、前記第2の実施形態と同じタイミングで2次元ウェーブレット変換された変換係数を得ることができる。
【0123】
(第4の実施形態)
ここでは、第3の実施形態においてフィルタ演算部1402の入力側で使用していた2つのラインメモリをフィルタ演算部1402の出力側に移動した構成について示す。但し、ラインメモリの総容量は、第3の実施形態と同じではあるが、各々1/2ラインの容量のラインメモリを3つに分けて持つ。
【0124】
水平方向のウェーブレット変換処理とラスタースキャン順序の画素データとは元々相性が良く、画素データを直接、水平DWT処理部に入力して処理することが可能である。なお、水平DWT処理部は、図8の構成のフィルタ演算部であっても良いし、図2の構成の変換処理部であっても良い。
【0125】
図10は、本第4の実施形態におけるウェーブレット変換処理装置の構成を示すブロック図である。図10の構成では、ラスタースキャン順序の画素データを受け取り、水平DWT処理部1500にて、直ちに水平方向のウェーブレット変換処理を行う。画素データは第3の実施形態と同様、1サイクル当たり2画素入力されるものとする。
【0126】
水平DWT処理部1500による2nライン目の処理結果である低域と高域の変換係数は、それぞれ1501、1503に格納される。また、2n+1ライン目の処理結果の内、高域変換係数は1505に格納するが、低域変換係数はどこにも格納せずセレクタ1511を経由して直ちに垂直DWT処理部901に送る。それに合わせて、1ライン前の低域変換係数をラインメモリ1501から読み出し、垂直に並ぶ2つの低域変換係数のもう一方の係数と一緒に垂直DWT処理部901に送る。
【0127】
これにより、垂直DWT処理部901は水平方向の低域変換係数を連続して変換処理することができる。この間、2n+1ライン目の水平方向の高域変換係数はすべてラインメモリ1505に格納される。
【0128】
2n+1ライン目の画素データ入力が終わると、2n及び2n+1ライン目の低域変換係数の処理も終わるので、次に、蓄えられた2ライン分の高域変換係数を2つのラインメモリ1503と1505から読み出し、セレクタ1511を経由して、垂直DWT処理部901に送り、変換処理を行う。
【0129】
低域変換係数の処理が2n+1ライン目の画素データの入力に同期して行なわれたように、高域変換係数の処理は、2n+2ライン目の画素データの入力に同期して行なわれる。高域変換係数の処理中に入力される2n+2ライン目の画素データは、水平ウェーブレット変換処理され、処理結果は2nライン目の時と同じところに格納される。高域変換係数を格納するラインメモリ1503は、出力するデータと格納するデータの割合が同じなので、保持するデータ量は変化せず古いデータが新しいデータに更新されるように新しいデータに変わっていく。
【0130】
以上のようにして、2次元ウェーブレット変換された変換係数を得ることができるが、変換係数の出力順序がこれまでとは異なり、2ライン分の画像データに対する低域・高域変換係数が各画素データを処理する毎にライン交互に出力されるのではなく、水平DWT処理部1500からは1ライン分ずつ低域及び高域変換係数が出力される。このように、各ライン毎に出力される低域及び高域変換係数を一時的に保持するラインバッファを備えることで、垂直方向と水平方向の1次元ウェーブレット変換処理部をそれぞれ1つづつ用いれば2次元のウェーブレット変換処理を行うことができるため、ハードウエア構成を縮小することができる。
【0131】
(第5の実施形態)
上記第1乃至第4の実施形態は、変換処理1サイクル当たり2画素のデータ入力を前提としていたが、本第5の実施形態では変換処理1サイクル当たり1画素の割合でデータ入力する場合に適したウェーブレット変換処理装置の構成について説明する。
【0132】
単純に、変換処理1サイクル当たり1画素のデータ入力に減らしてしまうと、各変換処理部等が稼働率50%になるだけで、ハードウェア資源の有効利用にならない。
【0133】
そこで、本第5の実施形態では、1つの変換処理部で垂直ウェーブレット変換処理と水平ウェーブレット変換処理の両方を行うことによって、変換処理部の稼働率を100%にし、ハードウェアの有効利用を図る。
【0134】
本第5の実施形態の構成を図11に示す。同図において、1601は、2入力2系統のデータから一方の系統を選択出力するセレクタ、1603は、水平・垂直DWT処理部、1605は、2×2データの回転処理を行うデータ回転ユニット、である。
【0135】
前記第1の実施形態と同様、不図示のメモリあるいはラインバッファから、2ラインデータの各ラインの端から1画素ずつ、すなわち垂直2画素ずつを、セレクタ1601を経由して、DWT処理部1603に入力する。
【0136】
これに対し、DWT処理部1603は、垂直変換モードで該入力データを処理する。
【0137】
但し、連続して入力するのは2サイクルで4つの画素データのみで、次の2サイクルはデータ入力を停止する。トータル4サイクルで4つの画素データを入力することになるので、前述したように、1サイクル当たり1画素のデータ入力割合となる。
【0138】
変換処理部1603は、2サイクル期間に入力された4つの画素データを処理することによって、垂直方向の低域変換係数と高域変換係数を2組出力する。
この変換係数はスイッチ1606及び1607を経由して、前記第1の実施形態と同様、回転ユニット1605にて並び替えられ、2個の低域変換係数と2個の高域変換係数が順次、セレクタ1601に入力される。
【0139】
前記データ入力が停止する2サイクル期間は、回転ユニット1605にて並び替えられた変換係数がセレクタ1601で選択され、垂直・水平DWT処理部1603に送られる。垂直・水平変換処理部1603は、今度は水平変換モードにて、2サイクル続けて入力される2個2組の変換係数を水平方向にウェーブレット変換処理し、スイッチ1606及び1607を経由して出力する。
【0140】
なお、垂直・水平DWT処理部1603は基本的には図2に示す構成を有するが、各演算ユニット内のバッファは、垂直方向の変換に対応したラインメモリと水平方向の変換に対応した2段のレジスタを有し、それを変換モードに応じて切り換えて使用することで、上述したような動作が可能になる。
【0141】
また、2ラインデータの水平2画素ずつを交互に入力し、該入力データを先に水平変換モードで処理し、回転ユニットで並び替えた変換係数を次に垂直変換モードで処理しても、同じ結果を得ることができる。
【0142】
第1乃至第5の実施形態では、すべて順方向のウェーブレット変換処理についてのみ説明してきたが、逆方向のウェーブレット変換処理は乗算係数が異なるのと一部の加算演算が減算に変わるのみで、図2の構成並びに上位の構成は順方向も逆方向も同じであるため、本発明は逆方向のウェーブレット変換処理にも適用することができる。
【0143】
【発明の効果】
上記の通り本発明によれば、ハードウェア資源をより有効に活用し、より小さいハードウエア構成で2次元ウェーブレット変換処理装置を実現することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態における演算ユニットの構成を示す図である。
【図2】図1の演算ユニットを多段接続した、フィルタ処理のためのリフティング演算を行うための構成を示すブロック図である。
【図3】本発明の第1の実施形態における2次元ウェーブレット変換処理装置の構成を示すブロック図である。
【図4】図3の回転ユニットの動作を概念的に示す図である。
【図5】本発明の第2の実施形態における2次元ウェーブレット変換処理装置の構成を示すブロック図である。
【図6】図5の回転ユニットの動作を概念的に示す図である。
【図7】本発明の第3の実施形態における2次元ウェーブレット変換処理装置の構成を示すブロック図である。
【図8】図7に示すFIR型のフィルタ演算部の構成を示す図である。
【図9】図7に示すデータ入力部の構成を示す図である。
【図10】本発明の第4の実施形態における2次元ウェーブレット変換処理装置の構成を示すブロック図である。
【図11】本発明の第5の実施形態における2次元ウェーブレット変換処理装置の構成を示すブロック図である。
【図12】9×7フィルタ処理をリフティング演算で実現する時の従来の構成を示す図である。
【図13】9×7逆フィルタ処理をリフティング演算で実現する時の従来の構成を示す図である。
【図14】9×7フィルタ処理のリフティング演算を表現するリフティング格子構造を示す図である。
【図15】9×7逆フィルタ処理のリフティング演算を表現するリフティング格子構造を示す図である。
【図16】従来の2次元ウェーブレット変換処理装置の構成を示すブロック図である。
【図17】図1に示すバッファがレジスタ1段で構成されていることを示す図である。
【図18】図1に示すバッファがレジスタ2段で構成されていることを示す図である。
【図19】図1に示すバッファがラインメモリで構成されていることを示す図である。
【図20】図3に示す垂直DWT処理部を構成する演算ユニット4段のうち、隣り合ういずれか2段の演算ユニットを縦続接続した状態を表す図である。
【図21】図3に示す水平DWT処理部を構成する演算ユニット4段のうち、隣り合ういずれか2段の演算ユニットを縦続接続した状態を表す図である。
【符号の説明】
503、505、901 垂直DWT処理部
501、905 水平DWT処理部
511、513 バッファ
611、615 加算器
613 乗算器、
621 バッファ
701〜704 格子点データ演算ユニット
903、1101、1605 2×2回転ユニット
1311、1511、1601 セレクタ
1303、1305、1501、1503,1505 ラインメモリ
1401 データ入力部
1402 フィルタ演算部
1603 水平・垂直DWT処理部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a filter processing apparatus, and more particularly, to a filter processing apparatus that performs wavelet transform on image data and inversely transforms wavelet transform coefficients into image data.
[0002]
[Prior art]
An image, particularly a multi-valued image, contains a great deal of information, and there is a problem that the amount of data is enormous when storing and transmitting the image. For this reason, when storing and transmitting images, high-efficiency coding that reduces the amount of data by removing the redundancy of the images or changing the contents of the images to such an extent that deterioration in image quality is difficult to visually perceive. Used.
[0003]
For example, in JPEG recommended by ISO and ITU-T as an international standard encoding method for still images, image data is subjected to discrete cosine transform (DCT) for each block (8 pixels × 8 pixels) and converted to DCT coefficients. Later, each coefficient is quantized and further entropy encoded to compress the image data. However, in this method, since DCT and quantization are performed for each block, so-called block distortion may appear at the boundary of each block of the decoded image.
[0004]
On the other hand, JPEG2000 is being studied as a new international standard encoding method for still images. In JPEG2000, wavelet transform is proposed as a conversion process performed before quantization. The wavelet transform has a feature that it is difficult to visually understand the degradation of the decoded image because the input data is continuously processed instead of being processed in units of blocks as in the current JPEG.
[0005]
In the wavelet transform used in JPEG2000, the conversion process can be efficiently performed with a small amount of calculation by performing a process using a method called a lifting mechanism.
[0006]
FIG. 12 shows a signal flow in the forward lifting mechanism, and FIG. 13 shows a signal flow in the reverse lifting mechanism. Α, β, γ, and δ in the figure are called lifting coefficients.
[0007]
First, the operation of the lifting mechanism shown in FIG. 12 will be described.
[0008]
Input pixels in the order of input X0, X1, X2, XThree, XFour, XFive, ... in order. The input pixels are classified into an even pixel series and an odd pixel series by the
[0009]
In the first-stage lifting process, the even pixel series is multiplied by a lifting coefficient α, and the multiplication result of two consecutive even pixels is added to the pixels in the odd pixel series located at the center of the two pixels.
[0010]
This can be expressed as a generalized expression as follows.
[0011]
D2n + 1 = X2n + 1 + Α · X2n+ Α · X2n + 2 ... (1)
In the second stage lifting process, the newly obtained odd pixel series D1, DThree, DFive,... Are multiplied by a lifting coefficient β, and the multiplication result of two consecutive odd pixels is added to the pixels in the even pixel series located at the center of the two pixels.
[0012]
This can be expressed as a generalized expression as follows.
[0013]
E2n + 2= X2n + 2+ Β · D2n + 1+ Β · D2n + 3 ... (2)
In the third stage lifting process, the lifting coefficient γ is used in the same way as the first stage, and in the fourth stage lifting process, the lifting coefficient δ is used as in the second stage. Expressions representing the contents of the third and fourth lifting processes are as follows.
[0014]
H2n + 1 = D2n + 1 + Γ · E2n + Γ · E2n + 2 ... (3)
L2n + 2= E2n + 2 + Δ · H2n + 1 + Δ · H2n + 3 (4)
In FIG. 12, K normalizes the wavelet coefficient, but is not particularly relevant in explaining the essence of the present invention, so the explanation is omitted here.
[0015]
If the normalization process is ignored, the H level obtained by the 3rd and 4th stage lifting processes can be obtained.n, Ln Respectively correspond to a high-frequency transform coefficient and a low-frequency transform coefficient.
[0016]
Next, the signal flow of the reverse lifting mechanism shown in FIG. 13 will be briefly described. First, in response to the normalization process in the forward lifting mechanism, the inverse coefficient is multiplied, and then the four-stage lifting process is performed. The processing contents of each stage are summarized below and expressed by an expression.
[0017]
(First stage) E2n + 2= L2n + 2 -Δ · H2n + 1 -Δ · H2n + 3 ... (5)
(Second stage) D2n + 1 = H2n + 1 − Γ ・ E2n − Γ ・ E2n + 2 ... (6)
(3rd stage) X2n + 2 = E2n + 2 -Β · D2n + 1 -Β · D2n + 3 ... (7)
(4th stage) X2n + 1 = D2n + 1-α · X2n-α · X2n + 2 (8)
The above formulas (5), (6), (7), and (8) are obtained by shifting the formulas (4), (3), (2), and (1), respectively.
[0018]
The lifting mechanism shown in FIGS. 12 and 13 is expressed from another viewpoint to the lifting lattice structure shown in FIGS. In the figure, □ represents input data, ◯ represents a grid point (or grid point data calculator), and an arrow from ◯ represents a flow of grid point data. In these drawings, the basic processing in the lifting mechanism (the processing of the above formulas (1) to (8)) and new data obtained by the processing are associated with one grid point.
[0019]
In the forward-direction lifting grid structure shown in FIG. 14, one grid point data is calculated using any one of the equations (1) to (4).
[0020]
In the lifting grid structure in the reverse direction shown in FIG. 15, one grid point data is calculated by any one of the equations (5) to (8).
[0021]
In an ordinary filter, one output is calculated each time one piece of data is input. However, as understood from the lifting grid structure of FIG. 14, in the lifting calculation processing, only two new data are prepared. Two data outputs are possible.
[0022]
For example, X8In the input data up to, the output data is LFour, HFive Can only calculate up to. Next X9However, there is no grid point data that can be newly calculated. But XTen D is newly provided by D9, E8, H7, L6Can be computed. In addition, X11, X12H is the output data only after the two input data are prepared.9, L8Can be computed.
[0023]
As described above, in the filtering process based on the lifting operation, every time two new input data are prepared, two outputs (conversion coefficients) can be calculated. Similarly, in the inverse transformation process shown in FIG. 15, it is understood that two restoration data can be calculated every time two transformation coefficients are prepared.
[0024]
Further, when applied to the inverse conversion process in the vertical direction, two lines of conversion coefficients of 9 types of low and high frequencies are input in the horizontal scan order, so that the restored data for 2 lines is converted into the horizontal scan order. At the same time and output.
[0025]
This is a major difference between the filtering processing (wavelet transform) based on the lifting operation and the filtering processing that is not so.
[0026]
As described above, the low-frequency and high-frequency transform coefficients output in pairs from the wavelet transform unit that performs horizontal (or vertical) wavelet transform processing are performed in the vertical (or horizontal) wavelet transform processing, respectively. The next wavelet transform unit performs processing, and horizontal and vertical two-dimensional wavelet transform processing is performed by the two conversion processes.
[0027]
The processing unit for performing the two-dimensional wavelet transform has conventionally been configured as shown in FIG. 16 as disclosed in JP-A-10-283342. In the figure,
[0028]
The horizontal
[0029]
On the other hand, in the vertical
[0030]
In this way, by performing two types of wavelet transform processing, horizontal and vertical, the vertical
[0031]
In the configuration of FIG. 16, the horizontal
[0032]
Accordingly, during the period in which the two vertical
[0033]
[Problems to be solved by the invention]
As described above, in the conventional two-dimensional wavelet transform process, two transform processing units are required to be arranged in the subsequent stage among the transform processes in the horizontal direction and the vertical direction. That is, only one conversion processing unit is required in the previous stage to perform the same amount of processing. However, since two conversion processing units are used in the subsequent stage, hardware resources cannot be effectively used, and the circuit scale increases. There was a problem.
[0034]
The present invention has been made in view of the above problems, and an object thereof is to more effectively utilize hardware resources and realize a two-dimensional wavelet transform processing device with a smaller hardware configuration.
[0035]
[Means for Solving the Problems]
In order to achieve the above object, a filter processing apparatus of the present invention comprises the following arrangement. That is,
A filter device for wavelet transforming image data using a plurality of arithmetic units having a lifting grid structure,
The first or second horizontal or vertical direction of the image data to be wavelet transformed is defined as the Y axis, the second direction orthogonal to the first direction is defined as the X axis, and the pixel position x of the X coordinate. , Pixel data at the pixel position y of the Y coordinate is defined as Px, y, and a row of pixel data at the same Y coordinate position in the image data is defined as a row
In the i-th processing cycle (i = 0, 1, 2,...), A set of two pixel data adjacent in the first direction {Px + i, y, Px + i, y + 1} And the pixel data P input one line beforex + i, y-1And at least the pixel data Px + i, y-1Using the calculation result of the calculation unit calculated based onx + i, y, Px + i, y + 1} From one low-frequency conversion coefficient LiAnd one high frequency conversion coefficient HiA first direction wavelet transform means for outputting
Frequency transform coefficient L generated in two processing cycles of the wavelet transform means in the first directioni, HiAnd Li + 1, Hi + 1Each time is input, the four frequency conversion coefficients are rearranged, and the low frequencyStrangeConversion coefficient pair {Li, Li + 1} And a set of high frequency conversion coefficients {Hi, Hi + 1}, Each of which is output in units of one processing cycle;
A set of low frequency conversion coefficients {Li, Li + 1} In one processing cycle, the low frequency conversion coefficient L input one line beforei-1And at least the low frequency conversion coefficient Li-1And the input set {L using the calculation result of the calculation unit calculated based oni, Li + 1}, One low and low frequency conversion coefficient LL and one low and high frequency conversion coefficient LH are output, and a set of high frequency conversion coefficients {Hi, Hi + 1} In one processing cycle, the high frequency conversion coefficient H input one line beforei-1And at least the high-frequency conversion coefficient Hi-1Using the calculation result of the calculation unit calculated based oni, Hi + 1}, Second directional wavelet transform means for outputting one high / low frequency transform coefficient HL and one high / high frequency transform coefficient HH.
[0041]
Also, a preferred one of the present inventionAspectAccording to the aboveWavelet transform in the second directionThe means is an FIR filter.
[0051]
DETAILED DESCRIPTION OF THE INVENTION
Preferred embodiments of the present invention will be described below in detail with reference to the accompanying drawings.
[0052]
FIG. 1 shows a grid point data calculation unit that performs calculation at each grid point shown in FIG. 14, and FIG. 2 shows a multistage connection of each grid point data calculation unit shown in FIG. 1 for performing a lifting calculation of filter processing. Shows the configuration.
[0053]
In FIG. 1, 601 and 603 are terminals for inputting two data, 607 is a terminal for outputting calculated lattice point data, 621 is a buffer for storing input data from the terminal 603, and 609 is an output data of the
[0054]
First, the outline of the calculation method in the embodiment of the present invention will be briefly described with reference to FIGS. In the following description, data output from each grid point in FIG. 14 is also referred to by the same reference name as the grid point.
[0055]
For example, 9 input data X0, X1, X2, XThree, XFour, XFive, X6, X7,
[0056]
Next X9, XTenWhen two pieces of data are newly added as input data, the low-frequency transform coefficient L is calculated by calculating 10 grid point data in the same manner as described above.6And high-frequency conversion coefficient H7Can be output, but X9, XTenIf the grid point data calculated before is input, it is necessary to newly calculate D9, E8, L7, L6No more than four.
[0057]
In order to use the previously calculated grid point data, a medium for storing and holding the grid point data after the calculation is required, which is the
[0058]
Only the buffer in the uppermost grid point
[0059]
X0To X8The processing using the data of is already finished, and the low-frequency conversion coefficient L6And high-frequency conversion coefficient H7In the uppermost grid point
[0060]
The grid point
[0061]
The grid point
[0062]
The lattice point
[0063]
Thereafter, each time two pieces of new data are input to the
[0064]
When the
[0065]
(First embodiment)
Next, a two-dimensional wavelet transform process using the wavelet transform processing unit having the above-described configuration in the first embodiment of the present invention will be described.
[0066]
In the first embodiment of the present invention, the two-dimensional wavelet transform process is realized by dividing the one-dimensional transform process with different directions into two stages, and at that time, the two-stage transform process is performed. In between, 2 × 2 data rotation processing is performed.
[0067]
FIG. 3 shows the configuration of the two-dimensional wavelet transform processing apparatus in the first embodiment. In the figure,
[0068]
Pixel data of one pixel from the end of each line of pixel data for two lines, ie, two pixels arranged in the vertical direction, is sequentially supplied to the vertical
[0069]
The vertical
[0070]
The processing of the vertical
[0071]
FIG. 20 is a diagram illustrating a state in which any two adjacent
[0072]
The data flow in FIG. 20 will be described below. Here, the subscript number of the pixel data represents the vertical position of the pixel data.
[0073]
From one
[0074]
In the
[0075]
By calculating the above calculation for all the lines of the pixel data, the calculation for calculating the odd pixel series D corresponding to the above-described equation (1) is performed.
[0076]
In the
[0077]
In this way, it is possible to obtain the low-frequency transform coefficient and the high-frequency transform coefficient in the vertical direction using the arithmetic units connected in cascade in four stages.
[0078]
The two output conversion coefficients Lv, HvIs input to the
[0079]
FIG. 4A shows two sets of data divided by input units, and FIG. 4B shows two sets of data divided by output units. Comparing (a) and (b), it can be seen that (b) is obtained by rotating (a) 90 degrees to the right.
[0080]
Since the rearranged two low-frequency transform coefficients and two high-frequency transform coefficients are transform coefficients that are continuous in the horizontal direction, if this is processed by the horizontal
[0081]
In the first embodiment, a data rotation unit is provided to rearrange data, and the rearranged low-frequency and high-frequency two types of data are alternately displayed in the horizontal
[0082]
Multiplexing processing is performed by alternately processing two types of signals when the buffer 621 (FIG. 1) of each grid point data calculation unit of the horizontal
[0083]
In the current processing cycle, data for low-frequency conversion coefficient calculation is stored in the top 1802 of the two-
[0084]
Therefore, in this cycle, two low-frequency conversion coefficients L of the conversion coefficients shown in FIG.v1And Lv2To process the data (here, data for low-frequency conversion coefficient calculation) output from the
[0085]
In the next cycle, the order of the low-frequency transform coefficients and the high-frequency transform coefficients stored in the two-
[0086]
The processing of the horizontal
[0087]
FIG. 21 is a diagram illustrating a state in which any two adjacent
[0088]
The data flow in FIG. 21 will be described below. Here, the subscript number of the conversion coefficient represents the horizontal position of the conversion coefficient.
[0089]
First, as is apparent from the above, a series L in which low-frequency transform coefficients and high-frequency transform coefficients output from the
[0090]
Low frequency conversion coefficient L from input terminal 2101a2m-1Is input to the
[0091]
L2m-1,L 2mIs input to the
[0092]
Therefore, in the
[0093]
The
[0094]
At the next timing, each of the
[0095]
By obtaining the above calculation for all lines of pixel data, an operation for alternately obtaining the pixel conversion data series D corresponding to the above-described equation (1) for the low frequency and the high frequency is performed.
[0096]
In the
[0097]
By repeating the above processing, the low-frequency and high-frequency two types of signals are subjected to horizontal wavelet transform processing using arithmetic units connected in four stages in cascade to obtain transform coefficients LL, LH, HL, and HH, respectively. be able to.
[0098]
As described above, according to the first embodiment, by providing a rotation unit, two-dimensional wavelet transform processing can be performed by using one vertical and one horizontal one-dimensional wavelet transform processing units one by one. Therefore, the hardware configuration can be reduced.
[0099]
(Second Embodiment)
In the second embodiment, the order of the horizontal wavelet transform process and the vertical wavelet transform process in the first embodiment is exchanged. As shown in FIG. 5, the vertical
[0100]
Assume that the order of pixel data input from a memory or line buffer (not shown) is the same as that in the first embodiment. That is, pixel data of two lines of pixel data from the end, that is, pixel data of two pixels arranged in the vertical direction is input to the
[0101]
The
[0102]
In this way, the pixel data for two pixels that are alternately output for each line is input to the horizontal
[0103]
The transform coefficients output by horizontal wavelet transform are a low-frequency / high-frequency transform coefficient of a certain line and a low-frequency / high-frequency transform coefficient of the next line, and are alternately output. These are further input to the
[0104]
As a result, two low-frequency conversion coefficients and two high-frequency conversion coefficients from the two lines are alternately output from the
[0105]
Since the two conversion coefficients are arranged in the vertical direction, if these two conversion coefficients are input to the vertical
[0106]
Each grid point data calculation unit of the vertical
[0107]
As described above, according to the second embodiment, the same effect as that of the first embodiment can be obtained.
[0108]
If the order of pixel data input from the memory or line buffer (not shown) to the wavelet transform processing device is changed so that data of two pixels are alternately input, the
[0109]
(Third embodiment)
In the first and second embodiments, the horizontal
[0110]
Here, it is assumed that the wavelet transform filter has a linear phase, that is, wavelet transform filter coefficients are symmetric.
[0111]
FIG. 7 shows a configuration of a two-dimensional wavelet transform processing apparatus in the third embodiment. 7 except the
[0112]
FIG. 8 is a schematic diagram showing the configuration of the
[0113]
Next, the configuration of the entire wavelet transform processing unit when horizontal wavelet transform processing is performed using the
[0114]
Although it is necessary to input the same number of pixel data as the number of taps of the filter to the
[0115]
In order to alternately convert a plurality of types of data, it is necessary to simultaneously switch all input pixel data. For example, if the number of filter taps for obtaining the transform coefficient is 9, nine data must be switched simultaneously. Since it is inefficient to receive such data directly from the memory, a new
[0116]
Since pixel data obtained from a CCD or a scanner is generally generated in a raster scan order, the pixel data generated in the raster scan order will be received and processed below. A
[0117]
Hereinafter, a specific operation of the
[0118]
First, input pixel data for the first line input from the
[0119]
Next, while storing the input pixel data of the second line in the
[0120]
Since the
[0121]
The pixel data taken into the
[0122]
Since the output timing of the conversion coefficient is the same as that of the second embodiment, if the conversion coefficient is rearranged by the
[0123]
(Fourth embodiment)
Here, a configuration in which two line memories used on the input side of the
[0124]
The wavelet transform process in the horizontal direction and the pixel data in the raster scan order are compatible with each other, and the pixel data can be directly input to the horizontal DWT processing unit for processing. The horizontal DWT processing unit may be a filter calculation unit having the configuration shown in FIG. 8, or may be a conversion processing unit having the configuration shown in FIG.
[0125]
FIG. 10 is a block diagram illustrating a configuration of a wavelet transform processing device according to the fourth embodiment. In the configuration of FIG. 10, pixel data in the raster scan order is received, and the horizontal
[0126]
The low-frequency and high-frequency conversion coefficients, which are the processing results of the 2n-th line by the horizontal
[0127]
Thereby, the vertical
[0128]
When the pixel data input for the 2n + 1 line is completed, the processing of the low-frequency conversion coefficients for the 2n and 2n + 1 lines is also completed. The data is read and sent to the vertical
[0129]
Just as the processing of the low frequency conversion coefficient is performed in synchronization with the input of the pixel data of the 2n + 1 line, the processing of the high frequency conversion coefficient is performed in synchronization with the input of the pixel data of the 2n + 2 line. The pixel data of the (2n + 2) th line input during the processing of the high-frequency transform coefficient is subjected to the horizontal wavelet transform process, and the processing result is stored in the same place as the 2nth line. The
[0130]
As described above, transform coefficients subjected to two-dimensional wavelet transform can be obtained. However, the output order of transform coefficients is different from the conventional ones, and the low-frequency and high-frequency transform coefficients for image data for two lines are each pixel. Rather than alternately outputting lines each time data is processed, the horizontal
[0131]
(Fifth embodiment)
The first to fourth embodiments are premised on data input of 2 pixels per conversion processing cycle, but the fifth embodiment is suitable for data input at a rate of 1 pixel per conversion processing cycle. The configuration of the wavelet transform processing apparatus will be described.
[0132]
Simply reducing the data input to one pixel per cycle of the conversion process results in only an operation rate of 50% for each conversion processing unit and not effective use of hardware resources.
[0133]
Therefore, in the fifth embodiment, by performing both the vertical wavelet transform process and the horizontal wavelet transform process in one transform processing unit, the operation rate of the transform processing unit is set to 100%, and the hardware is effectively used. .
[0134]
The configuration of the fifth embodiment is shown in FIG. In the figure, 1601 is a selector for selecting and outputting one system from 2-input 2-system data, 1603 is a horizontal / vertical DWT processing unit, and 1605 is a data rotation unit that performs rotation processing of 2 × 2 data. is there.
[0135]
As in the first embodiment, from the memory or line buffer (not shown), one pixel from the end of each line of the two line data, that is, two vertical pixels, is sent to the
[0136]
On the other hand, the
[0137]
However, only four pixel data are input continuously in two cycles, and data input is stopped in the next two cycles. Since four pixel data are input in a total of four cycles, as described above, the data input rate is one pixel per cycle.
[0138]
The
The conversion coefficients are rearranged by the
[0139]
In the two-cycle period in which the data input is stopped, the conversion coefficients rearranged by the
[0140]
The vertical / horizontal
[0141]
The same applies even if two horizontal pixels of 2-line data are alternately input, the input data is processed in the horizontal conversion mode first, and the conversion coefficients rearranged in the rotation unit are then processed in the vertical conversion mode. The result can be obtained.
[0142]
In all of the first to fifth embodiments, only the forward wavelet transform process has been described. However, the reverse wavelet transform process differs only in that some multiplication operations are changed to subtraction, and the multiplication coefficient is different. Since the configuration of 2 and the upper configuration are the same in the forward direction and the reverse direction, the present invention can also be applied to the wavelet transform processing in the reverse direction.
[0143]
【The invention's effect】
As described above, according to the present invention, it is possible to realize a two-dimensional wavelet transform processing apparatus with a smaller hardware configuration by more effectively using hardware resources.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of an arithmetic unit in an embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration for performing a lifting operation for filter processing in which the operation units of FIG. 1 are connected in multiple stages.
FIG. 3 is a block diagram illustrating a configuration of a two-dimensional wavelet transform processing device according to the first embodiment of the present invention.
4 is a diagram conceptually showing the operation of the rotating unit of FIG. 3;
FIG. 5 is a block diagram illustrating a configuration of a two-dimensional wavelet transform processing device according to a second embodiment of the present invention.
6 is a diagram conceptually showing the operation of the rotating unit of FIG. 5;
FIG. 7 is a block diagram illustrating a configuration of a two-dimensional wavelet transform processing device according to a third embodiment of the present invention.
8 is a diagram illustrating a configuration of an FIR type filter calculation unit illustrated in FIG. 7;
9 is a diagram showing a configuration of a data input unit shown in FIG.
FIG. 10 is a block diagram illustrating a configuration of a two-dimensional wavelet transform processing device according to a fourth embodiment of the present invention.
FIG. 11 is a block diagram illustrating a configuration of a two-dimensional wavelet transform processing device according to a fifth embodiment of the present invention.
FIG. 12 is a diagram illustrating a conventional configuration when a 9 × 7 filter process is realized by a lifting operation.
FIG. 13 is a diagram illustrating a conventional configuration when a 9 × 7 inverse filter process is realized by a lifting operation.
FIG. 14 is a diagram showing a lifting grid structure expressing a lifting operation of 9 × 7 filter processing;
FIG. 15 is a diagram showing a lifting grid structure expressing a lifting operation of 9 × 7 inverse filter processing;
FIG. 16 is a block diagram showing a configuration of a conventional two-dimensional wavelet transform processing device.
17 is a diagram showing that the buffer shown in FIG. 1 is composed of one stage of registers.
FIG. 18 is a diagram showing that the buffer shown in FIG. 1 is composed of two stages of registers.
FIG. 19 is a diagram showing that the buffer shown in FIG. 1 is composed of a line memory.
20 is a diagram illustrating a state in which any two adjacent arithmetic units of the four arithmetic units included in the vertical DWT processing unit illustrated in FIG. 3 are cascade-connected.
FIG. 21 is a diagram illustrating a state in which any two adjacent arithmetic units are cascade-connected among the four arithmetic units included in the horizontal DWT processing unit illustrated in FIG.
[Explanation of symbols]
503, 505, 901 Vertical DWT processing unit
501, 905 Horizontal DWT processing unit
511, 513 buffer
611, 615 adder
613 multiplier,
621 buffer
701-704 Lattice point data calculation unit
903, 1101, 1605 2 × 2 rotation unit
1311, 1511, 1601 selector
1303, 1305, 1501, 1503, 1505 Line memory
1401 Data input part
1402 Filter calculation unit
1603 Horizontal / Vertical DWT Processing Unit
Claims (2)
ウェーブレット変換対象の画像データの水平、又は、垂直方向のいずれか一方の第1の方向をY軸、当該第1の方向に直交する第2の方向をX軸とし、前記X座標の画素位置x、Y座標の画素位置yの画素データをPx,yと定義し、前記画像データ中の、同じY座標位置の画素データの並びを行と定義したとき、
第i処理サイクル(i=0,1,2,…)で、前記第1の方向に隣り合う2つの画素データの組{Px+i,y,Px+i,y+1}を入力し、1行前に入力した画素データPx+i,y-1と、少なくとも当該画素データPx+i,y-1に基づいて演算した前記演算ユニットの演算結果とを用いて、入力した組{Px+i,y,Px+i,y+1}から、1つの低周波変換係数Liと、1つの高周波変換係数Hiとを出力する第1の方向のウェーブレット変換手段と、
前記第1の方向のウェーブレット変換手段の2処理サイクル分で生成された周波数変換係数Li,Hi及びLi+1,Hi+1を入力する毎に、当該4つの周波数変換係数を並べ替え、低周波変換係数の組{Li,Li+1}と、高周波変換係数の組{Hi,Hi+1}をそれぞれを1処理サイクル単位に出力する並び替え手段と、
前記並び替え手段から低周波変換係数の組{Li,Li+1}を入力した1処理サイクルでは、1行前に入力した低周波変換係数Li-1と、少なくとも当該低周波変換係数Li-1に基づいて演算した前記演算ユニットの演算結果とを用いて、入力した組{Li,Li+1}から、1つの低低周波変換係数LLと、1つの低高周波変換係数LHとを出力し、前記並び替え手段から高周波変換係数の組{Hi,Hi+1}を入力した1処理サイクルでは、1行前に入力した高周波変換係数Hi-1と、少なくとも当該高周波変換係数Hi-1に基づいて演算した前記演算ユニットの演算結果とを用いて、入力した組{Hi,Hi+1}から、1つの高低周波変換係数HLと、1つの高高周波変換係数HHとを出力する第2の方向ウェーブレット変換手段と
を備えることを特徴とするフィルタ処理装置。A filter device for wavelet transforming image data using a plurality of arithmetic units having a lifting grid structure,
The horizontal or vertical first direction of the image data to be wavelet transformed is the Y axis, the second direction orthogonal to the first direction is the X axis, and the pixel position x of the X coordinate , Pixel data at the pixel position y of the Y coordinate is defined as Px, y, and the line of pixel data at the same Y coordinate position in the image data is defined as a row,
In the i-th processing cycle (i = 0, 1, 2,...), Two sets of pixel data {P x + i, y , P x + i, y + 1 } adjacent in the first direction are input. And input using the pixel data P x + i, y-1 input one row before and the calculation result of the calculation unit calculated based on at least the pixel data P x + i, y-1 First-direction wavelet transform means for outputting one low-frequency transform coefficient L i and one high-frequency transform coefficient H i from the set {P x + i, y , P x + i, y + 1 }; ,
Each time the frequency transform coefficients L i , H i and L i + 1 , H i + 1 generated in two processing cycles of the wavelet transform means in the first direction are input, the four frequency transform coefficients are arranged. instead, low-frequency variable換係number set {L i, L i + 1 } and, a sorting means for outputting the set {H i, H i + 1 } of the high-frequency transform coefficients of each one treatment cycles,
In one processing cycle in which a set of low frequency conversion coefficients {L i , L i + 1 } is input from the rearranging means, the low frequency conversion coefficient L i-1 input one line before and at least the low frequency conversion coefficient One low-low frequency conversion coefficient LL and one low-high frequency conversion coefficient from the input set {L i , L i + 1 } using the calculation result of the calculation unit calculated based on L i-1 LH is output, and in one processing cycle in which the set of high-frequency conversion coefficients {H i , H i + 1 } is input from the rearranging means, the high-frequency conversion coefficient H i-1 input one line before and at least the relevant One high / low frequency conversion coefficient HL and one high / high frequency are input from the input set {H i , H i + 1 } using the calculation result of the calculation unit calculated based on the high frequency conversion coefficient H i−1. Second directional wavelet transform means for outputting a transform coefficient HH. Filtering device according to symptoms.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002024110A JP4217408B2 (en) | 2001-03-13 | 2002-01-31 | Filter processing device |
US10/092,573 US6904177B2 (en) | 2001-03-13 | 2002-03-08 | Filter processing apparatus |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001071092 | 2001-03-13 | ||
JP2001-71092 | 2001-03-13 | ||
JP2002024110A JP4217408B2 (en) | 2001-03-13 | 2002-01-31 | Filter processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002359849A JP2002359849A (en) | 2002-12-13 |
JP4217408B2 true JP4217408B2 (en) | 2009-02-04 |
Family
ID=26611180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002024110A Expired - Fee Related JP4217408B2 (en) | 2001-03-13 | 2002-01-31 | Filter processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4217408B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7650416B2 (en) | 2003-08-12 | 2010-01-19 | Riverbed Technology | Content delivery for client-server protocols with user affinities using connection end-point proxies |
JP2005268908A (en) | 2004-03-16 | 2005-09-29 | Fuji Film Microdevices Co Ltd | Wavelet converter |
-
2002
- 2002-01-31 JP JP2002024110A patent/JP4217408B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002359849A (en) | 2002-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6157676A (en) | Digital video signal inter-block interpolative predictive encoding/decoding apparatus and method providing high efficiency of encoding | |
JP5623565B2 (en) | Apparatus and method for encoding and calculating a discrete cosine transform using a butterfly processor | |
JP2006180509A (en) | Method and system for fast implementation of subpixel interpolation | |
JPH01226274A (en) | Method and system for picture compression processing | |
US6223193B1 (en) | Macroblock variance estimator for MPEG-2 video encoder | |
JPH06205388A (en) | Picture coder | |
EP0809404B1 (en) | Apparatus for coding an object region of a video signal by using a rearranged block-based technique | |
US6904177B2 (en) | Filter processing apparatus | |
JP3796432B2 (en) | Filter processing apparatus and filter processing method | |
JP2003298846A (en) | Two-dimensional subband encoding device | |
JPS622721A (en) | Coding and decoding device for picture signal | |
JP4217408B2 (en) | Filter processing device | |
US8787686B2 (en) | Image processing device and image processing method | |
US7940991B2 (en) | Image signal processing apparatus | |
JP4257145B2 (en) | Image compression apparatus and image processing system | |
JP2006340300A (en) | Signal processing method, signal processing apparatus, signal processing program and information recording medium | |
JP3757116B2 (en) | Deblocking filter calculation device and deblocking filter calculation method | |
US6941025B2 (en) | Simultaneous vertical spatial filtering and chroma conversion in video images | |
JP2001285643A (en) | Image converting apparatus and method | |
JP4700838B2 (en) | Filter processing device | |
JP2002197075A (en) | Data processor, its control method, data processing method and computer readable memory | |
KR101383515B1 (en) | Apparatus for inverse-transforming image | |
JP2002152045A (en) | Filter processing apparatus for image data and its control method | |
JP4444480B2 (en) | Filter processing device | |
US6560286B1 (en) | Field frame motion design for digital video decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070717 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070918 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080929 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081002 |
|
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: 20081027 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081110 |
|
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: 20111114 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121114 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131114 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |