JP4356031B2 - 情報処理装置および方法 - Google Patents

情報処理装置および方法 Download PDF

Info

Publication number
JP4356031B2
JP4356031B2 JP2007131287A JP2007131287A JP4356031B2 JP 4356031 B2 JP4356031 B2 JP 4356031B2 JP 2007131287 A JP2007131287 A JP 2007131287A JP 2007131287 A JP2007131287 A JP 2007131287A JP 4356031 B2 JP4356031 B2 JP 4356031B2
Authority
JP
Japan
Prior art keywords
data
line
unit
coefficient
synthesis filter
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
Application number
JP2007131287A
Other languages
English (en)
Other versions
JP2008288836A (ja
Inventor
隆浩 福原
直人 西村
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2007131287A priority Critical patent/JP4356031B2/ja
Priority to US12/111,450 priority patent/US8213731B2/en
Priority to CN2008100992726A priority patent/CN101309416B/zh
Publication of JP2008288836A publication Critical patent/JP2008288836A/ja
Application granted granted Critical
Publication of JP4356031B2 publication Critical patent/JP4356031B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、情報処理装置および方法に関し、特に、ウェーブレット逆変換処理の遅延時間をより低減させることができるようにした情報処理装置および方法に関する。
従来の代表的な画像圧縮方式として、ISO(International Standards Organization)によって標準化されたJPEG(Joint Photographic Experts Group)やJPEG2000がある。これは離散コサイン変換(Discrete Cosine Transform ; DCT)を用い、比較的高いビットが割り当てられる場合には、良好な符号化画像および復号画像を供することが知られている。
近年では画像をフィルタバンクと呼ばれるハイパス・フィルタとローパス・フィルタとを組み合わせたフィルタによって複数の帯域に分割し、帯域毎に符号化を行う方式の研究が盛んになっている。その中でも、ウェーブレット変換符号化は、DCT変換で問題になる高圧縮でのブロック歪みが無いことから、DCTに代わる新たな技術として有力視されている。
2001年1月に国際標準化が完了したJPEG2000は、このウェーブレット変換に高能率なエントロピ符号化(ビットプレーン単位のビット・モデリングと算術符号化)を組み合わせた方式を採用しており、JPEGに比べて符号化効率の大きな改善を実現している。
ウェーブレット変換処理(例えば特許文献1参照)は基本的に画像データを入力して、水平方向のフィルタリングと垂直方向のフィルタリングを行いながら、低域成分を階層的に分割する手段を用いる。
このウェーブレット変換処理により画像データが変換された係数データ(周波数成分)を、元の画像データに変換するウェーブレット逆変換処理は、最上位の分割レベルから最下位の分割レベルまで高域成分と低域成分を合成フィルタリングしながら、最終的に画像を復元する処理を行う。
このウェーブレット変換技術は、従来、静止画像データの圧縮・伸長技術に用いられる場合がほとんどであり、その場合であれば、ピクチャ全体を処理単位としてウェーブレット変換処理を行うことが可能であった。
特開平10−283342号公報
しかしながら、このウェーブレット変換技術を、動画像データの圧縮・伸長に利用する場合、ピクチャ単位でウェーブレット逆変換処理を行うと、ピクチャ内の全係数が、最上位から最下位に向かって分割レベル毎に合成フィルタ処理されるので、ビデオ信号の水平同期信号の時間内にベースバンドの画像データを1ラインずつ出力すること、すなわち、所謂リアルタイムに(即時的に)画像データを出力することが困難である恐れがあった。
仮に、ビデオ信号としてのデータ形式を保つようにベースバンドの画像データを出力させるためには、1ピクチャ分の合成フィルタ処理を1水平同期信号間に行うか、若しくは、合成フィルタ処理により生成されたベースバンドの画像データを一旦バッファメモリに保持する必要があった。前者の場合、非常に高速に合成フィルタ処理を行わなければならず、現実的には困難である。また、後者の場合、メモリ容量の増大により製造コストが増大する恐れがあるだけでなく、係数が入力されてから画像データが出力されるまでの遅延時間が増大してしまう恐れがあった。
例えばTV会議システムやビデオゲームシステム等のように、画像データの伝送を低遅延で行うことが望ましいシステムにおいては、このような遅延時間の増大は、特に影響が大きく、少しでも遅延時間を低減することが求められる。
本発明は、このような従来の実情に鑑みて提案されたものであり、合成フィルタ処理の処理手順を高効率化させることにより、ウェーブレット逆変換処理の遅延時間をより低減することができるようにするものである。
本発明の一側面は、分析フィルタ処理により階層的に複数の周波数帯域に分割された画像データ、互いに同じ階層の周波数帯域の周波数成分を1ラインずつ水平方向および垂直方向に合成し、1つ下位の階層の周波数帯域の周波数成分を2ライン生成する合成フィルタ処理を行う合成フィルタ処理手段と、前記合成フィルタ処理手段を制御する制御手段とを備え、前記制御手段は、前記合成フィルタ処理手段を制御し、最上位の階層の各周波数帯域の周波数成分を1ラインずつ合成させて1つ下位の階層の周波数帯域の周波数成分を2ライン生成する処理を行い、さらに、前記合成フィルタ処理手段を制御し、前回の前記合成フィルタ処理により生成された前記2ラインのうちの一方の1ラインと、前記一方の1ラインと同階層の他の周波数帯域の周波数成分1ラインずつとを合成させて1つ下位の階層の周波数帯域の周波数成分を2ライン生成する処理を、前記画像データが2ライン生成されるまで繰り返す情報処理装置である。
前記合成フィルタ処理手段による前記合成フィルタ処理により合成されて得られる周波数成分を保持する保持手段をさらに備え、前記制御手段は、さらに前記保持手段を制御し、各合成フィルタ処理により生成される周波数成分の前記2ラインのうちの他方の1ラインを保持させることができる。
前記制御手段は、前記画像データが2ライン生成されると、前記合成フィルタ処理手段を制御し、前記保持手段により保持されている前記周波数成分の1ラインと、前記1ラインと同階層の他の周波数帯域の周波数成分1ラインずつとを合成させて1つ下位の階層の周波数帯域の周波数成分を2ライン生成する処理を、前記画像データが2ライン生成されるまで繰り返すことができる。
前記制御手段は、前記保持手段により保持されている前記周波数成分のうち、最下位の階層の周波数帯域の周波数成分1ラインを処理対象とし、前記合成フィルタ処理を繰り返すことができる。
前記制御手段は、前記保持手段により保持されている全ての周波数成分に対して前記合成フィルタ処理を繰り返し、それぞれについて前記画像データが生成されると、前記合成フィルタ処理手段を制御し、最上位の階層の各周波数帯域の周波数成分の次の1ラインずつを合成し、さらに前記合成フィルタ処理を繰り返すことができる。
前記制御手段は、前記画像データの画像の上から下に向かう順で2ラインずつ復元するように前記合成フィルタ処理を実行させることができる。
前記合成フィルタ処理により復元された前記画像データを保持する画像データ保持手段をさらに備え、前記制御手段は、復元された前記画像データ2ラインのうち、一方の1ラインを出力し、他方の1ラインを、次の出力タイミングまで前記画像データ保持手段に保持させることができる。
前記画像データ保持手段は、データの書き込みと読み出しを1系統で行う、前記データを保持するデータ保持手段と、連続して供給される複数のデータを連結し、1つのデータとして前記データ保持手段に書き込んで保持させるデータ連結手段と、前記データ保持手段より読み出した1つのデータを複数に分割し、複数のデータとして連続して出力するデータ分割手段とを備え、前記制御手段は、前記データ連結手段および前記データ分割手段に、前記データ保持手段に対する前記データの読み出しおよび書き込みを所定のデータ単位毎に交互に行わせることができる。
本発明の一側面はまた、情報処理装置の情報処理方法であって、分析フィルタ処理により階層的に複数の周波数帯域に分割された画像データ、互いに同じ階層の周波数帯域の周波数成分を1ラインずつ水平方向および垂直方向に合成し、1つ下位の階層の周波数帯域の周波数成分を2ライン生成する合成フィルタ処理によって最上位の階層の各周波数帯域の周波数成分を1ラインずつ合成して1つ下位の階層の周波数帯域の周波数成分を2ライン生成する処理を行い、さらに、前記合成フィルタ処理によって、前回の前記合成フィルタ処理により生成された前記2ラインのうちの一方の1ラインと、前記一方の1ラインと同階層の他の周波数帯域の周波数成分1ラインずつとを合成して1つ下位の階層の周波数帯域の周波数成分を2ライン生成する処理を、前記画像データが2ライン生成されるまで繰り返すステップを含む情報処理方法である。
本発明の一側面においては、分析フィルタ処理により階層的に複数の周波数帯域に分割された画像データ、互いに同じ階層の周波数帯域の周波数成分を1ラインずつ水平方向および垂直方向に合成し、1つ下位の階層の周波数帯域の周波数成分を2ライン生成する合成フィルタ処理によって最上位の階層の各周波数帯域の周波数成分を1ラインずつ合成して1つ下位の階層の周波数帯域の周波数成分を2ライン生成する処理が行われ、さらに、前記合成フィルタ処理によって、前回の前記合成フィルタ処理により生成された前記2ラインのうちの一方の1ラインと、前記一方の1ラインと同階層の他の周波数帯域の周波数成分1ラインずつとを合成して1つ下位の階層の周波数帯域の周波数成分を2ライン生成する処理が、前記画像データが2ライン生成されるまで繰り返される
本発明によれば、ウェーブレット逆変換処理を行うことができる。特に、ウェーブレット逆変換処理の遅延時間をより低減することができる。
以下、本発明の実施の形態について説明する。
最初に、ウェーブレット変換処理について説明する。
ウェーブレット変換処理は、分析フィルタを用いて、画像データを空間周波数の高い帯域と低い帯域とに分割する処理である。分析フィルタには、画像データに対して画面水平方向に分析フィルタ処理を行う水平分析フィルタと、画面垂直方向に分析フィルタ処理を行う垂直分析フィルタとがあり、各方向に対して1回ずつ分析フィルタ処理が行われることにより、画像データは4つの帯域(サブバンド)に分割される。ウェーブレット変換処理では、分析フィルタ処理結果の、水平方向および垂直方向のいずれにおいても空間周波数の低い帯域に対して、上述した水平方向および垂直方向の分析フィルタ処理が再帰的に繰り返される(つまり階層的に繰り返される)。
図1は、分析フィルタ処理が4回繰り返された場合の例を概略的に示す図である。図1の例では、水平方向および垂直方向の分析フィルタ処理が再帰的に4回繰り替えされることにより、1ピクチャの画像データの周波数成分が、13個の階層的なサブバンドに分割されている。このときの各サブバンドのデータ、つまり、ベースバンドの画像データの各周波数成分を係数データと称する。
図1において、実線の四角および点線の角丸四角のそれぞれは、分析フィルタ処理により生成されるサブバンドを示しており、各サブバンドに表記される数字は、そのサブバンドの階層のレベルを示す。つまり、ベースバンドの画像データに対して何回分析フィルタ処理することにより得られるサブバンドであるかを示している。また、各サブバンドに表記される「L」および「H」は、それぞれ低域成分および高域成分を表しており、左側が水平方向の分析フィルタ処理結果、右側が垂直方向の分析フィルタ処理結果を示している。
図1の例では、ベースバンドの画像データに対して1回目の分析フィルタ処理が行われて、分割レベル1の4つのサブバンド(1LL、1LH、1HL、および1HH)が生成され、そのサブバンドのうち、水平方向および垂直方向の両方に対して低域成分であるサブバンド「1LL」に対して2回目の分析フィルタ処理が行われ、分割レベル2の4つのサブバンド(2LL、2LH、2HL、および2HH)が生成され、その水平方向および垂直方向の両方に対して低域成分であるサブバンド「2LL」に対して3回目の分析フィルタ処理が行われ、分割レベル3の4つのサブバンド(3LL、3LH、3HL、および3HH)が生成され、その水平方向および垂直方向の両方に対して低域成分であるサブバンド「3LL」に対して、4回目の分析フィルタ処理が行われ、分割レベル4の4つのサブバンド(4LL、4LH、4HL、および4HH)が生成されている。
このように、低域成分に対して繰り返し変換および分割を行うのは、図2に示されるように、より上位(低域成分)のサブバンドほど、画像のエネルギが低域成分に集中しているためである。このように分析フィルタ処理を再帰的に処理を行い、階層的なサブバンドを生成し、空間周波数の低い帯域のデータをより小さな領域に追い込んでいくことで、エントロピ符号化を行う際に効率的な圧縮符号化を可能とする。
なお、以下において、分析フィルタ処理により生成される4つのサブバンドのうち、再度分析フィルタ処理が行われる、水平方向および垂直方向の両方に対して低域成分であるサブバンド「LL」を低域サブバンドと称し、それ以上分析フィルタ処理が行われないその他のサブバンド「LH」、「HL」、および「HH」を高域サブバンドと称する。
このようなウェーブレット変換処理をピクチャ全体に対してまとめて行う方法もあるが、1ピクチャの画像データを数ライン毎に分割し、それぞれについてウェーブレット変換処理を互いに独立して行う方法もある。前者の場合よりも後者の場合の方が、1回のウェーブレット変換処理で処理される画像データのデータ量が少ないので、ウェーブレット変換処理の処理結果の出力開始タイミングをより早くすることができる。つまり、ウェーブレット変換処理による遅延時間を短縮することができる。
なお、この場合のウェーブレット変換処理の処理単位となるライン数は、ウェーブレット変換処理の、予め定められた分割レベルにおいて、最上位レベルのサブバンドの係数データ1ラインを得るために必要なライン数に基づく。
分析フィルタ処理により、データは4分割されるので、図2に示されるようにライン数は半減する。つまり、図2の例のように、分割レベル3のウェーブレット変換処理の場合、最上位レベルのサブバンド(3LL、3LH、3HL、および3HH)の係数データを1ライン得るためには、8ラインのベースバンドの画像データが必要になる。従ってこの場合、ウェーブレット変換処理は、ベースバンドの画像データ8ライン以上を処理単位としてウェーブレット変換処理が行われる。図1の例のように分割レベルが4である場合、ベースバンドの画像データは、16ライン必要になる。
このように、最上位レベルの低域サブバンド「LL」の係数データを1ライン生成するために必要なベースバンドの画素データの集合をプレシンクト(Precinct)(またはラインブロック)と称する。なお、プレシンクトは、この最上位レベルの低域サブバンド「LL」の係数データを1ライン生成するために必要なベースバンドの画素データの集合と実質的に同一な、1プレシンクト分の画素データをウェーブレット変換して得られる、全サブバンドの係数データの集合のことを示す場合もある。
なお、1プレシンクトのライン数はピクチャ内において、各プレシンクトで互いに同一でなくてもよい。
このようなウェーブレット変換処理の分析フィルタとしては、例えば、JPEG2000規格でも採用される5×3フィルタや9×7フィルタがある。このようなフィルタを用いる分析フィルタ処理における演算方法で最も一般的な演算方法は、畳み込み演算と呼ばれる方法である。この畳み込み演算は、デジタルフィルタの最も基本的な実現手段であり、フィルタのタップ係数に、実際の入力データを畳み込み乗算するものである。しかしながら、この畳み込み演算では、タップ長が長いとその分、計算負荷が増えてしまう場合もある。
これに対応する方法として、論文「W.Swelden,“The lifting scheme :A custom-design construction of Biorthogonal wavelets.”, Appl. Comput. Harmon. Anal., vol3, no.2, pp.186-200, 1996」で紹介されたウェーブレット変換のリフティング技術が知られている。
図3は、9×7フィルタのリフティング構成を示す模式図である。図3の例において、1段目(最上段)は、入力画像のサンプル群(画素列)を示し、2,3段目は、それぞれステップA1およびステップA2の処理で生成される成分(係数)を示す。また、4段目は、ステップA3の処理で生成される高域成分出力を示し、5段目は、ステップA4の処理で生成される低域成分出力を示している。最上段部は、入力画像のサンプル群に限らず、前の分析フィルタ処理で得られた係数であってもよい。ここでは、最上段部が入力画像のサンプル群であるものとし、四角印(■)が偶数番目のサンプルまたはライン、丸印(●)が奇数番目のサンプルまたはラインとする。
つまり、この場合、ステップA3の処理で高域成分が得られ、ステップA4の処理で低域成分が得られる。なお、ステップA1乃至ステップA4の処理は、次の式(1)乃至式(4)で表される。
stepA1:di 1=di 0+α(si 0+si+1 0) ・・・(1)
stepA2:si 1=si 0+β(di-1 1+di 1) ・・・(2)
stepA3:di 2=di 1+γ(si 1+si+1 1) ・・・(3)
stepA4:si 2=si 1+δ(di-1 2+di 2) ・・・(4)
ただし、
α=−1.586134342
β=−0.05298011857
γ=0.8829110755
δ=0.4435068520
このように、リフティング技術を適用した分析フィルタ処理においては、ステップA1およびA2の処理が行われ、ステップA3で、高域成分の係数が生成された後に、ステップA4で、低域成分の係数が生成される。この際に用いられるフィルタバンクは、式(1)乃至式(4)に示されるように、加算とシフト演算のみで実現できる。したがって、計算量を大幅に低減することができる。
このようなウェーブレット変換処理が施されて得られた係数データは、例えば、エントロピ符号化されて符号化データに変換される。この符号化データは、利用時に、エントロピ復号され、上述したウェーブレット変換処理に対応するウェーブレット逆変換処理により元のベースバンドの画像データが復元される。
つまり、図4に示されるように、ウェーブレット逆変換処理は、ウェーブレット変換処理の逆変換処理であり、ウェーブレット変換処理によってベースバンドの画像データが変換されたウェーブレット係数を、元のベースバンドの画像データに変換(逆変換)する処理である。従って、図4に示されるように、分割レベル4のウェーブレット変換処理が行われた場合、ウェーブレット逆変換処理も分割レベル4で行われる。また、図4に示されるように、例えば入力ベースバンド画像データ16ラインを1プレシンクトとして、ウェーブレット変換処理がそのプレシンクト毎に行われた場合、ウェーブレット逆変換処理も、そのプレシンクト毎に行われ、1プレシンクトの係数データよりベースバンド画像データ16ラインを復元する。
以下に、このウェーブレット逆変換処理においてバッファとして必要なメモリ量を低減させる方法について説明する。
図5は、本発明を適用したウェーブレット逆変換装置の構成例を示すブロック図である。図5に示されるように、ウェーブレット逆変換装置100は、分割レベル4でウェーブレット変換された係数データを入力し、それらを合成する合成フィルタ処理を行う帯域合成装置である。図5のウェーブレット逆変換装置100は、制御部101、セレクタ111、垂直合成フィルタ部112、途中計算用バッファ部113、水平合成フィルタ部114、セレクタ115、出力バッファ部116、セレクタ117、およびレベル別バッファ部120を有する。
制御部101は、セレクタ111乃至レベル別バッファ部120の各部の動作を制御する。セレクタ111は、制御部101に制御されて、垂直合成フィルタ部112の入力として、外部入力(D10)、またはレベル別バッファ部120内の各分割レベル用のバッファ部の出力(D19,D22、およびD25)のいずれかを選択する。垂直合成フィルタ部112は、制御部101に制御されて、セレクタ111により選択されたバッファ部または外部入力より、処理対象の分割レベルの4つのサブバンドの係数データを実質的に1ラインずつ取得する(D11)。
垂直合成フィルタ部112は、制御部101に制御されて、途中計算用バッファ部113より読み出した途中計算用の係数を利用して、取得した係数データに対して、ベースバンドの画像データの画像垂直方向の周波数成分について合成フィルタ処理を行う。
詳細については後述するが、垂直合成フィルタ部112は、合成フィルタ処理として行う合成フィルタ演算により生成される係数を途中計算用バッファ部113に書き込む(D12)と同時に、次の合成フィルタ演算で必要な係数を途中計算用バッファ部113より読み出し(D13)ながら、合成フィルタ演算を繰り返すことにより合成フィルタ処理を行う。この垂直方向の合成フィルタ処理により、垂直方向の低域成分と高域成分が合成され、水平方向の低域成分と高域成分が2ラインずつ生成される。
入力された係数データに対する合成フィルタ処理が終了すると、垂直合成フィルタ部112は、途中計算用バッファ部113に保持されている水平方向の低域成分と高域成分を、合成フィルタ処理結果として、所定の順序で、例えばライン毎に画面左から右に向かう順に1つずつ交互に、読み出して水平合成フィルタ部114に供給する(D14)。
水平合成フィルタ部114は、制御部101に制御され、垂直合成フィルタ部112より供給される係数データに対して、ベースバンドの画像データの画像水平方向の周波数成分について合成フィルタ処理を行う。
この水平方向の合成フィルタ処理により、1つ下位レベルの垂直方向および水平方向に低域成分のサブバンドである低域サブバンドの係数データ(またはベースバンドの画像データ)が2ライン生成される。水平合成フィルタ部114は、その低域サブバンドの係数データ(またはベースバンドの画像データ)2ラインをセレクタ115に出力する(D15)。
以上のように、垂直合成フィルタ部112および水平合成フィルタ部114は、1回の垂直方向および水平方向の合成フィルタ処理により、実質的に、処理対象の分割レベルの各サブバンドの、互いに同じ位置の係数データ1ラインを合成し、1つ下位レベルの低域サブバンドの係数データ、またはベースバンドの画像データを2ライン生成する。
つまり、図6に示されるように、1プレシンクトがNラインの画像データより構成されるとすると、垂直合成フィルタ部112および水平合成フィルタ部114は、例えば、分割レベル2の4つのサブバンドの係数データを実質的にN/4ライン合成し、分割レベル1の低域サブバンドの係数データをN/2ライン生成する。
垂直合成フィルタ部112および水平合成フィルタ部114は、処理対象の分割レベルを適宜変更しながらこのような合成フィルタ処理を繰り返すことにより、プレシンクト単位でウェーブレット変換された係数データを全てベースバンドの画像データに変換する。そして、垂直合成フィルタ部112および水平合成フィルタ部114は、全プレシンクトおよび全ピクチャについて合成処理を同様に繰り返す。このようにプレシンクト単位で合成フィルタ処理を行うことにより、画像全体を対象として合成フィルタ処理を行う場合よりも、一度に処理するデータのデータ量が低減されるので、ウェーブレット逆変換装置100は、ウェーブレット逆変換による遅延時間を低減させることができる。また、上述したようにライン単位で合成フィルタ処理を行うことにより、より詳細に制御可能になるので、ウェーブレット逆変換装置100は、ウェーブレット逆変換処理をより最適化し、より遅延時間を低減させることができる。
図5に戻り、セレクタ115は、制御部101に制御されて、水平合成フィルタ部114のデータ出力先を選択し、合成フィルタ処理により生成される係数データのうち、一部の係数データをレベル別バッファ部120に供給して保持させ、他の一部の係数データを出力バッファ部116に供給して保持させる。例えば、セレクタ115は、水平合成フィルタ部114より供給される低域サブバンドの係数データ2ラインのうち、一方の1ラインを出力バッファ部116に供給して保持させ(D16)、他方の1ラインをレベル別バッファ部120に供給し、レベル別バッファ部120の、その係数データの分割レベル用のバッファ部に保持させる(D17,D20、およびD23)。
なお、水平合成フィルタ部114より供給されるデータがベースバンドの画像データである場合、セレクタ115は、その画像データ2ラインを出力バッファ部116に供給し(D16)、一方の1ラインを保持させ、他方の1ラインを外部に出力させる。
出力バッファ部116は、制御部101に制御されて、セレクタ115より供給される係数データや画像データを、必要に応じて保持し、保持しているデータを必要に応じて読み出してセレクタ117に出力する。例えば、セレクタ115よりサブバンドの係数データが1ライン供給された場合、出力バッファ部116は、その係数データを保持する。また、例えば、合成フィルタ処理により最終的に生成されたベースバンドの画像データ2ラインがセレクタ115より供給された場合、出力バッファ部116は、その一方の1ラインを外部に出力する(D26)とともに、他方の1ラインを、次の出力タイミングまで保持する。このベースバンドの画像データを保持するとき、出力バッファ部116は、内蔵するメモリに保持している係数データを読み出してセレクタ117に出力しながら(D26)、ベースバンドの画像データを内蔵するメモリに書き込む。
セレクタ117は、制御部101に制御されて、出力バッファ部116のデータ出力先を制御する。例えば、出力バッファ部116より係数データが供給された場合、セレクタ117は、その係数データを、レベル別バッファ部120に供給し(D28,D29、およびD30)、レベル別バッファ部120の、その係数データの分割レベル用のバッファ部に保持させる。また、例えば、出力バッファ部116よりベースバンドの画像データが供給された場合、セレクタ117は、そのベースバンドの画像データを外部に出力する(D27)。
レベル別バッファ部120は、制御部101に制御されて、セレクタ115やセレクタ117より供給される係数データや外部より供給された、再度合成フィルタ処理可能な係数データを、再度合成フィルタ処理が行われるまで、その係数データの分割レベル用のバッファ部に保持する。レベル別バッファ部120は、必要に応じて、保持している係数データをセレクタ111に供給する。
レベル別バッファ部120は、レベル3バッファ部121、レベル2バッファ部122、およびレベル1バッファ部123を有する。
レベル3バッファ部121は、制御部101に制御されて、分割レベル3の係数データのセレクタ111(セレクタ111を介して垂直合成フィルタ部112)への供給を制御する。例えば、レベル3バッファ部121は、セレクタ115やセレクタ117より供給された(D17およびD28)分割レベル3の低域サブバンドの係数データ(3LL)や、外部より供給された(D18)分割レベル3の高域サブバンド(3LH、3HL、および3HH)の係数データを内蔵するメモリに保持する。そして、レベル3バッファ部121は、所定のタイミングで、内蔵するメモリに保持している分割レベル3の各サブバンドの係数データを多重化し、セレクタ111を介して垂直合成フィルタ部112に供給する(D19)。
レベル2バッファ部122は、制御部101に制御されて、分割レベル2の係数データのセレクタ111(セレクタ111を介して垂直合成フィルタ部112)への供給を制御する。例えば、レベル2バッファ部122は、セレクタ115やセレクタ117より供給された(D20およびD29)分割レベル2の低域サブバンドの係数データ(2LL)や、外部より供給された(D21)分割レベル2の高域サブバンド(2LH、2HL、および2HH)の係数データを内蔵するメモリに保持する。そして、レベル2バッファ部122は、所定のタイミングで、内蔵するメモリに保持している分割レベル2の各サブバンドの係数データを多重化し、セレクタ111を介して垂直合成フィルタ部112に供給する(D22)。
レベル1バッファ部123は、制御部101に制御されて、分割レベル1の係数データのセレクタ111(セレクタ111を介して垂直合成フィルタ部112)への供給を制御する。例えば、レベル1バッファ部123は、セレクタ115やセレクタ117より供給された(D23およびD30)分割レベル1の低域サブバンドの係数データ(1LL)や、外部より供給された(D24)分割レベル1の高域サブバンド(1LH、1HL、および1HH)の係数データを内蔵するメモリに保持する。そして、レベル1バッファ部123は、所定のタイミングで、内蔵するメモリに保持している分割レベル1の各サブバンドの係数データを多重化し、セレクタ111を介して垂直合成フィルタ部112に供給する(D25)。
なお、図5に示されるレベル別バッファ部120の構成は、ウェーブレット逆変換装置100において分割レベル4のウェーブレット逆変換処理が行われる場合の例である。レベル別バッファ部120の構成は、最上位レベル以外の分割レベルの係数データを互いに独立して保持するように、ウェーブレット逆変換装置100が行うウェーブレット逆変換処理の分割レベルに応じて設定される。つまり、レベル別バッファ部120は、最上位レベル以外の分割レベルのそれぞれについて、レベル3バッファ部121乃至レベル1バッファ部123のような専用のバッファ部を有する。
また、図5において、垂直合成フィルタ部112、途中計算用バッファ部113、水平合成フィルタ部114、およびセレクタ115は合成フィルタ処理に関する処理部であり、これらをまとめてフィルタ部131とも称する。また、出力バッファ部116およびセレクタ117は、基本的に画像データ出力に関する処理部であり、これらをまとめて出力制御部132とも称する。
次に、垂直合成フィルタ部112および水平合成フィルタ部114により実行される合成フィルタ処理の演算方法について説明する。図3を参照して上述した分析フィルタ処理の場合と同様に、効率的にフィルタ処理を実行することができることから、ウェーブレット逆変換の合成フィルタ処理においても、同様にリフティング技術を用いることが好ましい。
図7は、JPEG2000規格でも採用されている9×7合成フィルタのリフティング構成を示している。通常の畳み込み演算と異なり、リフティング手段による方法では、以下のステップB1乃至ステップB4までの4個のステップを経て、偶数成分と奇数成分を算出する。
図7の例において、1段目(最上段)は、ウェーブレット変換により生成された係数であり、丸印(●)が高域成分の係数を示し、四角印(■)が低域成分の係数を示す。2,3段目は、それぞれステップB1およびステップB2の処理で生成される成分(係数)を示す。また、4段目は、ステップB3の処理で生成される偶数成分出力を示し、5段目は、ステップB4の処理で生成される奇数成分出力を示している。
9×7合成フィルタリングにおいては、ステップB3の処理で偶数成分が得られ、ステップB4の処理で奇数成分が得られる。なお、ステップB1乃至ステップB4の処理は、次の式(5)乃至式(8)で表される。
stepB1:si 1=si 2−δ(di-1 2+di 2) ・・・(5)
stepB2:di 1=di 2−γ(si 1+si+1 1) ・・・(6)
stepB3:si 0=si 1−β(di-1 1+di 1) ・・・(7)
stepB4:di 0=di 1−α(si 0+si+1 0) ・・・(8)
ただし、
α=−1.586134342
β=−0.05298011857
γ=0.8829110755
δ=0.4435068520
このように、リフティング技術を適用した合成フィルタリングにおいては、ステップB1およびステップB2の処理が行われ、ステップB3で、偶数成分の係数が生成された後に、ステップB4で、奇数成分の係数が生成される。この際に用いられるフィルタバンクは、式(5)乃至式(8)に示されるように、除算とシフト演算のみで実現できる。したがって、計算量を大幅に低減することができる。
垂直合成フィルタ部112により実行される垂直合成フィルタ処理の処理について具体的に説明する。図8は、垂直方向の係数データ群に対しての垂直合成フィルタ処理を、図7のリフティング構成により実行する場合の例を示している。
図8の例においては、垂直方向の係数データに対して、図7で上述した4つのステップ(ステップB1乃至ステップB4)の処理を経て、偶数番目の係数データ(以下、偶数係数とも称する)と奇数番目の係数データ(以下、奇数係数とも称する)が生成される例が示されており、リフティングのステップの方向は、図中左から右に進む。
また、垂直方向の係数データの左側に示される数字は、ライン番号を示しており、左から1列目のハッチが付された丸および四角は、それぞれ、画面垂直方向の高域成分の入力である高域入力、および、画面垂直方向の低域成分の入力である低域入力を表している。さらに、2列目以降の丸および四角は、それぞれ、リフティング演算の過程で生成される高域係数および低域係数を表しており、その中でも、黒丸および黒四角は、それぞれ、リフティング演算の結果である、ライン番号が奇数のラインの係数データである奇数係数、およびライン番号が偶数のラインの係数データである偶数係数を表している。
以下、動作について左から順に説明する。図8の左側には、垂直方向にライン番号4乃至6の3ラインの係数が入力されて、垂直方向のリフティング構成による演算(すなわち、垂直リフティング演算)が行われる場合の例が示されている。なお、いまの場合、最上段の偶数係数は、奇数係数と組みになっていないのでその説明を省略する。
この垂直リフティング演算のステップB3において1番目の偶数係数を求め、ステップB4において1番目の奇数係数を求めるためには、ライン番号0乃至5の6ラインの係数が必要である。
その後、2番目の偶数係数と奇数係数を求めるためには、太線実線で示される3つの係数と、丸数字で示されるライン番号6および7の2ラインの係数が必要であり、さらに、ステップB2のQ1が示される係数を算出するためには、丸数字で示されるライン番号5の係数も必要である。
太線実線で示される3つの係数は、1番目の偶数係数および奇数係数を求めるための垂直リフティング演算(以下、1番目の垂直リフティング演算と称する)の過程で生成される係数のうちの一部である。
したがって、2番目の偶数係数と奇数係数を求めるためには、結局、丸数字で示されるライン番号5乃至7の3ラインの係数の入力が必要である。ただし、ここでライン番号5の係数は再入力される係数なので、実質的に2ライン(ライン番号6および7)の係数の追加入力となる。この垂直方向の3ラインの係数データ(実質的に2ラインの係数データ)は、図5のレベル別バッファ部120の対応するレベルのバッファ部から、レベル毎に読み出される。すなわち、現在のウェーブレット変換の分割レベルが2であれば、レベル2バッファ部122から係数データが読み出される。
さらに、2番目の偶数係数と奇数係数を求めるためには、1番目の偶数係数と奇数係数を求めるための垂直リフティング演算の過程において生成される太線実線で示される3つの係数が必要になる。これらの係数は、2番目の偶数係数と奇数係数が求められた後に途中計算用バッファ部113に保持されるので、その途中計算用バッファ部113より読み出される。
つまり、1番目の垂直リフティング演算で途中計算用バッファ部113に記憶されていた太線実線で示される3つの係数と、対応するレベルのバッファ部から読み出され入力されるライン番号5乃至7の3ラインの係数が用いられて垂直リフティング演算が行われることにより、2番目の偶数係数と奇数係数を含めた4つの係数(太線点線で示される)が得られる。これらの係数は、1番目の垂直リフティング演算の場合と同様に、途中計算用バッファ部113に記憶される。このとき、これらの係数の書き込みと同時に、次の垂直リフティング演算に利用する係数を途中計算用バッファ部113より読み出す。図8の左側の例の場合、途中計算用バッファ部113に記憶された係数のうち、一点鎖線で示される3つの係数が3番目の偶数係数と奇数係数を求めるために必要な係数であるので、途中計算用バッファ部113より読み出される。
ライン番号7の係数の読み出しの後、2ラインの係数が追加して読み出される場合、すなわち、垂直方向にライン番号7乃至9の3ラインの係数が入力されて、垂直リフティング演算が行われる場合の例が、図8の右側に示されている。
2番目の場合と同様に、3番目の偶数係数と奇数係数を求めるためには、太線実線で示される3つの係数と、丸数字で示されるライン番号8および9の2ラインの係数が必要であり、さらに、ステップB2のQ2が示される係数を算出するためには、丸数字で示されるライン番号7の係数も必要である。
なお、右側の太線実線で示される3つの係数は、左側の太線点線で示されるように、2番目の垂直リフティング演算で途中計算用バッファ部113に記憶されている。
したがって、2番目の垂直リフティング演算で記憶されていた太線実線で示される3つの係数と、対応するレベルのバッファから読み出されて入力されるライン番号7乃至9の3ラインの係数が用いられて垂直リフティング演算が行われることにより、3番目の偶数係数と奇数係数を含めた4つの係数(太線点線で示される)が得られる。これらの係数は、途中計算用バッファ部113に記憶される。このとき、これらの係数の書き込みと同時に、次の垂直リフティング演算に利用する係数を途中計算用バッファ部113より読み出す。図8の右側の例の場合、途中計算用バッファ部113に記憶された係数のうち、一点鎖線で示される3つの係数が3番目の偶数係数と奇数係数を求めるために必要な係数であるので、途中計算用バッファ部113より読み出される。
以上のようにして、入力された係数データと、途中計算用バッファ部113に保持されている係数を利用して垂直リフティング演算が、画面の最下位のラインまで実行されることで、垂直方向の合成フィルタ処理が完了される。
次に、水平合成フィルタ部114により実行される水平合成フィルタ処理について具体的に説明する。図9は、垂直方向の合成フィルタリングの結果を水平方向に並べて、水平合成フィルタリングを、図7のリフティング構成により実行する様子の例を示している。
図9の例においては、水平方向の係数に対して、図7を参照して上述した4つのステップ(ステップB1乃至ステップB4)の処理を経て、奇数係数と偶数係数が生成される例が示されており、リフティングのステップの方向は、図中上から下に進む。
また、水平方向の係数の上に示される数字は、列(コラム)番号を示しており、上から1段目のハッチが付された丸および四角は、それぞれ、高域入力および低域入力を表しており、2段目以降の丸および四角は、それぞれ、リフティング演算の過程で生成される高域係数および低域係数を表しており、その中でも、黒丸および黒四角は、それぞれ、リフティング演算の結果である奇数係数および偶数係数を表している。
以下、動作について上から順に説明する。図9の上段には、水平方向にコラム番号5乃至7の3コラムの係数が入力されて水平方向のリフティング構成による演算(以下、水平リフティング演算と称する)が行われる場合の例が示されている。なお、いまの場合、最左側の偶数係数は奇数係数と組みになっていないのでその説明を省略する。
この水平リフティング演算のステップB3において1番目の偶数係数を求め、ステップB4において1番目の奇数係数を求めるためには、コラム番号0乃至5の6コラムの係数が必要である。
その後、2番目の奇数係数と偶数係数を求めるためには、太線実線で示される3つの係数と、丸数字で示されるコラム番号6および7の2コラムの係数が必要であり、さらに、ステップB2のQ1が示される係数を算出するためには、丸数字で示されるコラム番号5の係数も必要である。
太線実線で示される3つの係数は、1番目の奇数係数および偶数係数を求めるための水平リフティング演算(以下、1番目の水平リフティング演算とも称する)の過程で生成される係数のうちの一部である。
すなわち、2番目の奇数係数と偶数係数を求めるためには、結局、丸数字で示されるコラム番号5乃至7の3コラムの係数の入力が必要であり、さらに、1番目の水平リフティング演算の過程において生成される太線実線で示される3つの係数を、ラッチしておく必要がある。実際には、高々3つの係数であるので、水平合成フィルタ部114に、ラッチとしてよく用いられるフリップフロップを内蔵することで対応できる。
したがって、1番目の水平リフティング演算でラッチされていた太線実線で示される3つの係数と、入力されたコラム番号5乃至7の3コラムの係数が用いられて水平リフティング演算が行われることにより、その演算過程および終了時においては、2番目の奇数係数と偶数係数を含めた4つの係数(太線点線で示される)が得られる。このうち、一点鎖線で示される3つの係数は、3番目の奇数係数と偶数係数を求めるために必要な係数であるので、内蔵されるフリップフロップにラッチされる。
コラム番号7の係数の入力の後、水平方向に2コラムの係数が追加入力される場合、すなわち、水平方向にコラム番号7乃至9の3コラムの係数が入力されて、水平リフティング演算が行われる場合の例が、図9の下段に示されている。
2番目の場合と同様に、3番目の奇数係数と偶数係数を求めるためには、太線実線で示される3つの係数と、丸数字で示されるコラム番号8および9の2コラムの係数が必要であり、さらに、ステップB2のQ2が示される係数を算出するためには、丸数字で示されるコラム番号7の係数も必要である。
なお、下段の太線実線で示される3つの係数は、上段の一点鎖線で示されるように、2番目の水平リフティング演算でラッチされている。
したがって、2番目の水平リフティング演算でラッチされていた太線実線で示される3つの係数と、新たに入力されるコラム番号7乃至9の3コラムの係数が用いられて水平リフティング演算が行われることにより、3番目の奇数係数と偶数係数を含めた4つの係数(太線点線で示される)が得られる。このうち、一点鎖線で示される3つの係数は、4番目の奇数係数と偶数係数を求めるために必要な係数であるので、内蔵されるフリップフロップにラッチされる。
以上のようにして、3コラム分の係数を順次入力しながら、途中計算用の3つの係数を保持しながら、水平リフティング演算が、画面の最右端のコラムまで実行されることで、水平方向の合成フィルタリングが完了される。
以上に説明した途中計算用バッファ部113にはどのようなメモリを用いるようにしても良いが、途中計算用バッファ部113に保持される係数の一部は、後のリフティング演算に使用されるために再度読み出される。つまり、途中計算用バッファ部113への係数の書き込みや読み出しは頻繁に行われる。
そこで、途中計算用バッファ部113において、係数読み出しと係数書き込みを並行して行うことができるようにし、係数の書き込みや読み出しによる遅延時間を短縮させるのが望ましい。図10は、途中計算用バッファ部113の構成例を示すブロック図である。
図10に示されるように、途中計算用バッファ部113は、データ連結部141、1ポートSRAM(Static Random Access Memory)142、およびデータ分割部143を有する。
データ連結部141は、垂直合成フィルタ部112より連続的に供給される2つの16ビットのデータを連結して32ビットのデータを生成し、1ポートSRAM142に供給する。データ連結部141は、セレクタ151、遅延部152、およびパッキング部153を有する。
セレクタ151は、連続して供給される16ビットのデータ2つを1組とし、先に供給される一方を遅延部152に供給し、後に供給される他方をパッキング部153に振り分ける。遅延部152は、供給された16ビットのデータのタイミングを1サイクル分(次のデータ供給タイミングまで)遅延させてからパッキング部153に供給する。つまり、パッキング部153には、2つの16ビットデータが同時に供給される。パッキング部153は、それら2つの16ビットデータを連結させて1つの32ビットデータを生成し、その32ビットデータを1ポートSRAM142に供給して保持させる。
データ分割部143は、1ポートSRAM142より32ビットデータを読み出し、1つの32ビットデータを2つの16ビットデータに分割して出力する。データ分割部143は、16ビット分離部154、遅延部155、およびセレクタ156を有する。
16ビット分離部154は、1ポートSRAM142より読み出された32ビットデータを上位16ビットと下位16ビットで分離し、2つの16ビットデータを生成し、上位16ビットの16ビットデータをセレクタ156に供給し、下位16ビットの16ビットデータを遅延部155に供給する。遅延部155は、16ビット分離部154より供給された下位16ビットの16ビットデータのタイミングを1サイクル分遅延させてからセレクタ156に供給する。セレクタ156は、1サイクル毎に、入力を16ビット分離部154または遅延部155に交互に切り換える。これにより2つの16ビットデータは連続的に順次出力される。
1ポートSRAM142は、データの書き込みと読み出しを1系統で行う記憶媒体であり、制御部101に制御されて、データ連結部141のパッキング部153より供給される32ビットデータを記憶し、記憶している32ビットデータをデータ分割部143の16ビット分離部154に出力する。
データ記憶に使われるメモリの中でRAM(Random Access Memory)は、データの読み書きを電気的に行うため、動作が高速であるが、単位面積当たりの価格が高いため、大量には使いにくいという欠点がある。RAMの一種に、記憶素子としてフリップフロップ回路を用いるSRAMがある。SRAMは、記憶保持のための動作を必要とせず、高速動作が利点だが、回路が複雑になるので集積度が低減する恐れがある。つまり、集積度を向上させるためには、SRAMの容量をいかに少なくすることができるかが重要なポイントになる。
一般に、SRAMには、データの入出力を同時に行うことができない1ポートSRAMと、データ入出力が同時に実行可能な2ポートSRAMの2つがあり、それぞれ、図11Aまたは図11Bのような入出力端子を有する。
つまり、1ポートSRAMは、図11Aに示されるように、一般的に、クロック信号「CLK」が入力される端子、チップイネーブル信号「CEN」が入力される端子、データ入出力を制御するイネーブル信号「EN」が入力される端子、32ビットデータを書き込むアドレス、または、32ビットデータを読み出すアドレスを指定するアドレス情報「ADR」が入力される端子、書き込み用の32ビットデータ「WD」が入力される端子、および、読み出された32ビットデータ「RD」が出力される端子を有する。
これに対して、2ポートSRAMは、図11Bに示されるように、一般的に、書き込み用のクロック信号「WCLK」が入力される端子、書き込み制御用のイネーブル信号「WEN」が入力される端子、32ビットデータを書き込むアドレスを指定する書き込み用のアドレス情報「WADR」が入力される端子、書き込み用の32ビットデータ「WD」が入力される端子、読み出し用のクロック信号「RCLK」が入力される端子、読み出し制御用のイネーブル信号「REN」が入力される端子、32ビットデータを読み出すアドレスを指定する読み出し用のアドレス情報「RADR」が入力される端子、および、読み出された32ビットデータ「RD」が出力される端子を有する。
図11Aに示される1ポートSRAMの場合、チップイネーブル信号「CEN」は、読み出し動作と書き込み動作を切り替える信号であり、イネーブル信号「EN」とアドレス情報「ADR」の2つの信号は、読み出し動作と書き込み動作で共有されている。例えば、チップイネーブル信号「CEN」が読み出し動作を指定する場合、イネーブル信号「EN」は読み出し動作タイミングを制御する信号となり、アドレス情報「ADR」は読み出すデータのアドレスを指定する信号となる。逆に、チップイネーブル信号「CEN」が書き込み動作を指定する場合、イネーブル信号「EN」は書き込み動作タイミングを制御する信号となり、アドレス情報「ADR」はデータを書き込むアドレスを指定する信号となる。つまり、1ポートSRAMは、読み出し動作と書き込み動作を同時に行うことができない。
これに対して、図11Bに示される2ポートSRAMの場合、書き込み動作を制御する信号と読み出し動作を制御する信号が、互いに完全に独立している。つまり、2ポートSRAMは、自由なタイミングで読み出し動作および書き込み動作が可能であり、読み出し動作と書き込み動作を並行して行うこともできる。
図12は、1ポートSRAMと2ポートSRAMで、4つのデータの書き込みを行い、さらに、すぐにそれらのデータを読み出す場合のタイミングチャートを示す模式図である。図12Aは、1ポートSRAMの場合のタイミングチャートの例を示し、図12Bは、2ポートSRAMの場合のタイミングチャートの例を示す。
図12Aに示されるように、1ポートSRAMの場合、イネーブル信号「EN」に従って、4つのデータが連続的に書き込まれ(4サイクル)、SRAMのレイテンシ(遅延)により1サイクル経過後、書き込まれた4つのデータが、連続的に読み出される(4サイクル)。従って、1ポートSRAMは、4つのデータの書き込みおよび読み出しの処理に、合計9サイクルの時間を必要とする。なお、「サイクル」は、処理の同期タイミング、つまり、時分割の単位となる時間を示している。例えば、ここではデータの書き込みまたは読み出しのタイミング(またはその周期)を示している。
これに対して、図12Bに示されるように、2ポートSRAMの場合、書き込み制御用のイネーブル信号「WEN」、および、読み出し制御用のイネーブル信号「REN」の両方が存在するので、4つのデータの読み出し動作と書き込み動作は並列化することが出来る。従って図12Bに示されるように、2ポートSRAMは、読み出し動作および書き込み動作が4サイクルで実行可能であり、1サイクルのレイテンシと合わせて合計5サイクルで処理を終了することができる。
HDTV(High Definition Television)の場合、1ラインの水平サイズは1920画素であるので、その1ライン分の係数を1ポートSRAMに書き込み、さらに読み出すと、1920×2=3840サイクル必要になってしまう。つまり、合成フィルタ処理において途中計算用バッファ部113として1ポートSRAMを単純に適用すると、遅延時間が増大してしまう恐れがある。
このサイクル数を減らすためには、1ポートSRAMの代わりに2ポートSRAMを用いるようにすればよいが、2ポートSRAMは、内部に1ポートSRAMの構成を2つ有するのと略等価であり、製造コストが高価であり、かつ、回路面積が略2倍になる。通常の場合、メモリの回路規模は、LSI(Large Scale Integration)チップの中での占有率が高く、メモリ面積の増大はそのままチップ面積の増大に繋がる恐れがある。
そこで、途中計算用バッファ部113として1ポートSRAMを適用し、図10に示されるようにデータ連結部141を用いて1ポートSRAM142に書き込むデータを連結して32ビット化し、また、1ポートSRAM142よりデータを32ビット単位で読み出し、データ分割部143を用いてその32ビットデータを2つの16ビットデータに分離することにより、1ポートSRAM142に対するデータの読み出しと書き込みを並行して動作することができるようにする。
図13のタイミングチャートを参照して、図10の途中計算用バッファ部113の各部の動作の流れについて説明する。
図13の上から4段目に示されるように、最初のサイクルにおいて供給される16ビットの書き込み用データ(WD16bit)「0」が供給されると、データ連結部141のセレクタ151は、そのデータ「0」を、遅延部152を介して1サイクル遅延させてパッキング部153に供給する。そして、2番目のサイクルにおいて供給される16ビットの書き込み用データ「1」が供給されると、データ連結部141のセレクタ151は、そのデータ「1」をパッキング部153に供給する。パッキング部153は、2サイクル目において、それらのデータ「0」および「1」を連結して32ビットの書き込み用データ(WD32bit)「0,1」を生成し、図13の上から1段目乃至3段目に示される書き込み指示に従って、そのデータ「0,1」をアドレス「0」に書き込む。
また、データ連結部141のセレクタ151は、図13の上から4段目に示されるように、3番目のサイクルにおいて16ビットの書き込み用データ(WD16bit)「2」が供給されると、そのデータ「2」を、遅延部152を介して1サイクル遅延させてパッキング部153に供給する。つまりこの3サイクル目においては、1ポートSRAM142への書き込みは行われない。
従って、データ分割部143の16ビット分離部154は、その3サイクル目において、図13の上から1段目乃至3段目に示される読み出し指示に従って、アドレス「0」に書き込まれた32ビットデータを読み出し、その読み出したデータ(RD32bit)(「0,1」)を、2つの16ビットデータ(データ「0」およびデータ「1」)に分離する。16ビット分離部154は、分離した一方のデータ「0」をセレクタ156に供給するとともに、他方のデータ「1」を、遅延部155を介して1サイクル遅延させてセレクタ156に供給する。セレクタ156は、それらのデータ「0」およびデータ「1」を順次出力する(RD16bit)。
上述したように3サイクル目において遅延されてパッキング部153に供給されたデータ「2」は、4サイクル目においてデータ連結部141のセレクタ151より遅延部152を介さずにパッキング部153に供給された16ビットの書き込み用データ「3」と、4サイクル目において連結され、32ビットの書き込み用データ(WD32bit)「2,3」が生成される。パッキング部153は、4サイクル目において、図13の上から1段目乃至3段目に示される書き込み指示に従って、そのデータ「2,3」をアドレス「1」に書き込む。
3サイクル目と同様に、データ分割部143の16ビット分離部154は、5サイクル目において、図13の上から1段目乃至3段目に示される読み出し指示に従って、アドレス「1」に書き込まれた32ビットデータを読み出し、その読み出したデータ(RD32bit)(「2,3」)を、2つの16ビットデータ(データ「2」およびデータ「3」)に分離する。16ビット分離部154は、分離した一方のデータ「2」をセレクタ156に供給するとともに、他方のデータ「3」を、遅延部155を介して1サイクル遅延させてセレクタ156に供給する。セレクタ156は、それらのデータ「2」およびデータ「3」を順次出力する(RD16bit)。
以上のように、2つの16ビットデータを32ビットデータとして1ポートSRAMに対して読み出しおよび書き込みを行うことにより、途中計算用バッファ部113は、データ連結部141による書き込み、およびデータ分割部143による読み出しを、時分割により、同時並行的に行うことができ、合計5サイクルで4つのデータを1ポートSRAM142に書き込み、さらに、読み出すことができる。なお、「サイクル」は、処理の同期タイミング、つまり、時分割の単位となる時間を示している。例えば、ここではデータの書き込みまたは読み出しのタイミング(またはその周期)を示している。
このようにすることにより、ウェーブレット逆変換装置100は、途中計算用バッファ部113の回路規模の増大を抑制するとともに、途中計算用バッファ部113を高速に動作させることができ、ウェーブレット逆変換における遅延時間の増大を抑制することができる。
なお、以上においては1ポートSRAM142が32ビット単位でデータの入出力を行うように説明したが、1ポートSRAM142に対するデータ入出力のデータ単位は任意である。また、途中計算用バッファ部113へのデータの入出力は16ビット単位で行われるように説明したが、途中計算用バッファ部113に対するデータ入出力のデータ単位も任意である。つまり、図10に示されるデータ連結部141およびデータ分割部143の構成は一例であり、実際には、1ポートSRAM142に対するデータ入出力のデータ単位と、途中計算用バッファ部113に対するデータ入出力のデータ単位によって決定される。
しかしながら基本的な構造は図10の例と同様である。つまり、データ連結部141は、途中計算用バッファ部113に入力される所定のデータ単位の複数のデータを連結して、1ポートSRAM142のデータ入力単位のデータを、1つまたは複数生成し、そのデータを1ポートSRAM142に供給して保持させる。また、データ分割部143は、1ポートSRAM142より、1ポートSRAM142のデータ出力単位のデータを読み出し、そのデータを、途中計算用バッファ部113のデータ出力単位の複数のデータに分離し、途中計算用バッファ部113より出力させる。1ポートSRAM142は、データ入出力単位でデータの読み出しと書き込みを交互に行う。
また、図5の出力バッファ部116においても同様に1ポートSRAMを利用する。これにより、制御部101は、水平合成フィルタ部114より出力されたベースバンドの画像データを出力バッファ部116に記憶させると同時に、出力バッファ部116に保持されている係数データをレベル別バッファ部120に供給させることができる。
図14は、図5の出力バッファ部116の内部の構成例を示すブロック図である。図14に示されるように、出力バッファ部116は、制御部171、セレクタ172、データ連結部173、1ポートSRAM174、およびデータ分割部175を有する。
制御部171は、セレクタ172乃至データ分割部175の各部の動作を制御する。セレクタ172は、制御部171に制御されて、水平合成フィルタ部114(図5)より供給されるデータの供給先を決定する。例えば、セレクタ172は、水平合成フィルタ部114より供給されるサブバンドの係数データをデータ連結部173に供給する。また、セレクタ172は、水平合成フィルタ部114より供給されるベースバンドの画像データの2ラインのうち、一方をセレクタ117(図5)に供給し、他方をデータ連結部173に供給する。
データ連結部173は、図10のデータ連結部141に対応し、データ連結部141と同様の構成を有し、同様に動作する。1ポートSRAM174は、1ポートSRAM142と同様の構成を有し、同様に動作する。データ分割部175は、図10のデータ分割部143に対応し、データ分割部143と同様の構成を有し、同様に動作する。
つまり、データ連結部173は、セレクタ151と同様のセレクタ181、遅延部152と同様の遅延部182、並びに、パッキング部153と同様のパッキング部183を有し、図15に示されるように、2サイクルに渡ってセレクタ172より供給される2つの16ビットデータを連結して32ビットデータを生成し、それを1サイクルで、1ポートSRAM174に供給して記憶させる。
また、データ分割部175は、16ビット分離部154と同様の16ビット分離部184、遅延部155と同様の遅延部185、並びに、セレクタ156と同様のセレクタ186を有し、図15に示されるように、1ポートSRAM174より32ビットデータを1サイクルで読み出し、その32ビットデータを分離して2つの16ビットデータを生成し、それを2サイクルかけて外部に出力させる。このように、出力バッファ部116の1ポートSRAM174に対するデータの読み出しと書き込みは、図15に示されるように、1サイクル毎に交互に繰り返され、32ビットデータが読み書きされる。従って、読み出しと書き込みが同時並行的に行われる。
つまり、図14の点線で囲まれる部分は、図10に示される途中計算用バッファ部113の構成と同様である。
このような構成により、出力バッファ部116は、ベースバンドの画像データを1ポートSRAM174に記憶させると同時並行的に、1ポートSRAM174に記憶されている係数データを読み出してレベル別バッファ部120に供給することができる。
次に、各処理の流れについて説明する。図16のフローチャートを参照して、図5のウェーブレット逆変換装置100によるウェーブレット逆変換処理の流れの例を説明する。ウェーブレット逆変換処理が開始されると、制御部101は、ステップS101において処理対象プレシンクトを初期化する。ステップS102において、制御部101は、所定のタイミングであるか否かを判定し、所定のタイミングであると判定するまで待機する。ステップS102において所定のタイミングであると判定された場合、処理はステップS103に進む。ステップS103において、垂直合成フィルタ部112および水平合成フィルタ部114は、1つ下位の分割レベルの係数データ1ライン、または、ベースバンドの画像データ1ラインを生成する、ライン単位ウェーブレット逆変換処理を実行する。このライン単位ウェーブレット逆変換処理の詳細については後述する。
ライン単位ウェーブレット逆変換処理が終了すると処理はステップS104に進む。ステップS104において、制御部101は、プレシンクト内の全ての係数データを処理したか否かを判定する。処理していないと判定された場合、処理はステップS102に戻り、それ以降の処理が繰り返される。また、ステップS104において、プレシンクト内の全ての係数データを処理したと判定された場合、処理はステップS105に進む。
ステップS105において、制御部101は、ピクチャ内の全てのプレシンクトを処理したか否かを判定する。未処理のプレシンクトが存在すると判定された場合、処理はステップS106に進む。ステップS106において、制御部101は、処理対象プレシンクトを更新し、次のプレシンクトを処理対象とする。ステップS106の処理が終了されると、処理はステップS102に戻りそれ以降の処理が繰り返される。
また、ステップS105において、ピクチャ内の全てのプレシンクトを処理したと判定された場合、ウェーブレット逆変換処理は終了される。なお、このウェーブレット逆変換処理はピクチャ毎に実行される。
次に、図16のステップS103において実行されるライン単位ウェーブレット逆変換処理の流れの例を図17および図18のフローチャートを参照して説明する。
ライン単位ウェーブレット逆変換処理が開始されると、制御部101は、ステップS121において、出力バッファ部116にベースバンドの画像データが存在するか否かを判定する。後述するように、ライン単位ウェーブレット逆変換処理が1回行われる毎にベースバンド画像データが2ライン生成される。生成されたベースバンド画像データは1ラインずつ出力するので、残りの1ラインは出力バッファ部116に蓄積され、次の所定のタイミング(図16のステップS102において判定されるタイミング)において、つまり、次にライン単位ウェーブレット逆変換処理が実行される際に出力される。
つまり、ステップS121の処理は、前回のライン単位ウェーブレット逆変換処理においてベースバンドの画像データが生成され、出力バッファ部116に蓄積されているか否かを判定する。
出力バッファ部116にベースバンドの画像データが蓄積されていないと判定された場合、処理は、ステップS122に進む。
ステップS122において、制御部101は、レベル別バッファ部120に係数データが存在するか否かを判定する。ウェーブレット逆変換処理においては、繰り返し実行される合成フィルタ処理のそれぞれにおいて、4つのサブバンドの係数が1ラインずつ合成されて1つ下位のレベルの低域サブバンドの係数が2ライン生成され、そのうち一方は出力バッファ部116を介してレベル別バッファ部120に保持される。詳細については後述するが、ライン単位ウェーブレット逆変換処理においては、ベースバンドの画像データを2ラインずつピクチャの上から順に生成するので、レベル別バッファ部120に係数が存在する場合、その係数から処理することになる。
ステップS122において、レベル別バッファ部120に係数が存在しないと判定された場合、処理はステップS123に進む。ステップS123において、制御部101は、処理対象分割レベルを最上位レベルに設定する。ステップS123の処理が終了すると、処理は図18のステップS131に進む。
また、図17のステップS122において、レベル別バッファ部120に係数が存在すると判定された場合、処理はステップS124に進む。ステップS124において、制御部101は、処理対象分割レベルを、係数データが存在する分割レベルのうち、最も下位のレベルに設定する。ステップS124の処理が終了すると、処理は図18のステップS131に進む。
図18のステップS131において、制御部101は、処理対象分割レベルが最上位レベルであるか否かを判定する。最上位レベルであると判定された場合、処理はステップS132に進む。ステップS132において、垂直合成フィルタ部112は、セレクタ111を介して、処理対象プレシンクトの最上位レベルの全サブバンドの係数データを外部より取得する。係数データが取得されると処理はステップS135に進む。また、ステップS131において、処理対象分割レベルが最上位レベルでないと判定された場合、処理はステップS133に進む。ステップS133において、垂直合成フィルタ部112は、処理対象レベルの低域サブバンドの係数データを、セレクタ111を介して、レベル別バッファ部120の、処理対象分割レベルのバッファ部より取得する。また、垂直合成フィルタ部112は、ステップS134において、処理対象分割レベルの高域サブバンドの係数データを、セレクタ111を介して外部より取得する。ステップS134の処理が終了すると、処理はステップS135に進む。
ステップS135において、垂直合成フィルタ部112は、垂直合成フィルタ処理(垂直合成フィルタリング)を実行する。垂直合成フィルタ処理の詳細については後述する。垂直合成フィルタ処理が終了すると、水平合成フィルタ部114は、ステップS136において、水平合成フィルタ処理(水平合成フィルタリング)を実行する。
ステップS137において、制御部101は、ステップS136の水平フィルタ処理により、ベースバンドの画像データが生成されたか否かを判定する。生成されたのは途中レベルの係数データであると判定された場合、処理はステップS138に進む。ステップS138において、水平合成フィルタ部114は、セレクタ115を介して、生成した1つ下位のレベルの低域サブバンドの係数データ2ラインのうち、後の1ラインを出力バッファ部116に保存する。
ステップS139において、水平合成フィルタ部114は、生成した1つ下位のレベルの低域サブバンドの係数データ2ラインのうち、先の1ラインをレベル別バッファ部120の1つ下位のレベルのバッファ部に保存する。ステップS140において、制御部101は、処理対象分割レベルを1つ下位の分割レベルに変更する。ステップS140の処理が終了すると処理はステップS131に戻りそれ以降の処理が繰り返される。
つまり、ウェーブレット逆変換装置100は、ベースバンドの画像データ2ラインを生成するまで、ステップS131乃至ステップS140の処理を繰り返し、処理対象分割レベルを1つずつ下位のレベルに遷移させながら各レベルにおいて合成フィルタ処理を行う。
そして、分割レベル1において合成フィルタ処理が行われ、ステップS137において、ベースバンドの画像データが生成されたと判定された場合、処理はステップS141に進む。ステップS141において、出力バッファ部116は、水平合成フィルタ部114において生成された画像データ2ラインを取得し、後述するバッファ入出力処理を実行し、後の1ラインを内蔵する1ポートSRAM174に書き込むと同時に、1ポートSRAM174に記憶されている係数データを読み出す。
出力バッファ部116は、ステップS142において、読み出した係数データを、セレクタ117を介して、レベル別バッファ部120の、それぞれに対応する分割レベルのバッファ部に書き込む。ステップS143において、出力バッファ部116は、水平合成フィルタ部114において生成された画像データ2ラインのうち、先の1ラインを、セレクタ117を介して外部に出力する。ステップS143の処理が終了すると、ライン単位ウェーブレット逆変換処理は終了され、図16のステップS103に処理が戻され、ステップS104以降の処理が実行される。
また、図17のステップS121において、出力バッファ部116にベースバンドの画像データが1ライン存在すると判定された場合、処理は、ステップS125に進む。出力バッファ部116は、ステップS125において、内蔵する1ポートSRAM174よりそのベースバンドの画像データ1ラインを読み出し、セレクタ117を介して外部に出力する。画像データが出力されると、ライン単位ウェーブレット逆変換処理は終了され、図16のステップS103に処理が戻され、ステップS104以降の処理が実行される。
このように、合成フィルタ処理により2ラインずつ生成されるので、1ラインは出力バッファ部116に蓄積するようにし、出力バッファ部116にベースバンドの画像データが存在する場合は、その画像データを出力し、存在しない場合は、合成フィルタリング処理を行うことにより画像データを生成するようにしている。このようにすることにより、ウェーブレット逆変換装置100は、ライン単位ウェーブレット逆変換処理を実行する度に、ベースバンドの画像データを所定のタイミングで1ラインずつ出力させることができる。
次に、図18のステップS135において実行される垂直合成フィルタ処理の詳細な流れの例を、図19のフローチャートを参照して説明する。
垂直フィルタ処理を開始すると、垂直合成フィルタ部112は、ステップS161において、図7および図8を参照して説明したような垂直方向の合成リフティング演算(垂直合成リフティング演算)を行い、ステップS162において、バッファ入出力処理を行い、途中計算用バッファ部113に対して、ステップS161の垂直合成リフティング演算により算出された係数を書き込むとともに、次の演算に必要な係数を読み出す。このデータの入力と出力を同時並行的に行うバッファ入出力処理の詳細については後述する。
バッファ入出力処理が終了すると、垂直合成フィルタ部112は、ステップS163において、垂直合成フィルタ処理を終了するか否かを判定する。今回取得した全係数データについて垂直リフティング演算が終了しておらず、まだ未処理の係数が存在すると判定された場合、処理は、ステップS161に戻り、それ以降の処理が繰り返される。つまり、ステップS161およびステップS162の処理が繰り返し実行されることにより、取得した全ての係数に対して垂直リフティング演算が行われる。そして、ステップS163において、処理を終了すると判定された場合、つまり、今回取得された全ての係数に対して垂直リフティング演算が行われたと判定した場合、垂直合成フィルタ処理が終了される。
次に、図10の途中計算用バッファ部113により、図19のステップS162において実行されるバッファ入出力処理の詳細の流れの例を図20のフローチャートを参照して説明する。
バッファ入出力処理が開始されると、データ分割部143は、ステップS181において、垂直合成フィルタ部112より指定された32ビットデータを、バッファ、すなわち、1ポートSRAM142より読み出し、ステップS182において、読み出した32ビットデータを2つの16ビットデータに分割して外部、すなわち垂直合成フィルタ部112に出力する。ステップS183において、データ連結部141は、外部、すなわち垂直合成フィルタ部112より供給される書き込み用の2つの16ビットデータを連結して1つの32ビットデータにまとめ、ステップS184において、その書き込み用の32ビットデータをバッファ、すなわち、1ポートSRAM142に書き込む。
ステップS185においてデータ連結部141およびデータ分割部143は、データの読み出しおよび書き込みが全て終了したか否かを判定し、まだ読み出していないデータまたはまだ書き込んでいないデータが存在すると判定した場合、処理をステップS181に戻し、それ以降の処理を繰り返す。ステップS185において、データの読み出しおよび書き込みが全て終了されたと判定した場合、バッファ入出力処理が終了される。
以上のように処理することにより、途中計算用バッファ部113は、図13を参照して説明したように、読み出しと書き込みの処理を交互に行い、両処理を全体として同時並行的に実行することができる。
なお、図14を参照して説明したように、出力バッファ部116も図10の途中計算用バッファ部113と同様の構成を有しており、ベースバンドの画像データ1ラインの書き込みと、係数データの読み出しとを同時並行的に実行することができる。つまり、図18のステップS141において実行されるバッファ入出力処理も、図20のフローチャートを参照して説明した途中計算用バッファ部113の場合と同様に行われる。従って、図20のフローチャートを用いて行った説明は、図18のステップS141において実行されるバッファ入出力処理にも適用することができる。ただし、1ポートSRAM174に書き込まれるベースバンドの画像データは、セレクタ115を介して水平合成フィルタ部114より供給され、1ポートSRAM174より読み出された各分割レベルの係数データは、セレクタ117を介してレベル別バッファ部120に供給される。
以上のような、ライン単位ウェーブレット逆変換処理の流れの具体的な例を図21に模式的に示す。図21においては、各分割レベルにおける処理と各バッファの入出力について、係数データの遷移の様子が示されている。なおここでは、係数データの分割レベルは4とする。つまり、最上位レベルは4である。
図21の左上に示されるように、ライン単位ウェーブレット逆変換処理が開始されたとき処理対象分割レベルは最上位レベルに設定されるので、最初に分割レベル4のサブバンドHHの係数1ラインとサブバンドLHの係数1ラインよりなるデータ4HH/LH、および、サブバンドHLの係数1ラインとサブバンドLLの係数1ラインよりなるデータ4HL/LLが外部、例えば、ウェーブレット逆変換装置100の前段の処理部や記憶部等(いずれも図示せず)より垂直合成フィルタ部112に供給される(データ201およびデータ202)。つまり、垂直合成フィルタ部112には、分割レベル4の各サブバンドの係数が1ラインずつ入力される。
垂直合成フィルタ部112および水平合成フィルタ部114は、これらの係数に対して合成フィルタ処理を行い、1つ下位の分割レベルの低域サブバンドの係数1ラインであるデータ3LL−1(データ203)およびデータ3LL−2(データ204)を生成する。つまり、垂直合成フィルタ部112および水平合成フィルタ部114は、合成フィルタ処理により、1つ下位の分割レベル(分割レベル3)の低域サブバンドの係数を2ライン生成する。
それらの内、一方のデータ3LL−1(データ203)は、セレクタ115を介してレベル別バッファ部120のレベル3バッファ部121に供給されて記憶される(データ205)。他方のデータ3LL−2(データ204)は、出力バッファ部116に書き込まれて保持される(データ206)。
ここで処理対象レベルが1つ下位のレベル3に設定される。垂直合成フィルタ部112は、外部より分割レベル3の高域サブバンドの係数を1ラインずつ取得するとともに、レベル3バッファ部121に保持されているデータ3LL−1を読み出して(データ208)取得する。つまり、垂直合成フィルタ部112には、データ3HH/LH(データ207)およびデータ3HL/LL(データ209)のように、分割レベル3の各サブバンドの係数が1ラインずつ入力される。データ3HH/LHは、分割レベル3のサブバンドHHの係数1ラインとサブバンドLHの係数1ラインを示しており、データ3HL/LLは、分割レベル3のサブバンドHLの係数1ラインとサブバンドLLの係数1ラインを示している。
垂直合成フィルタ部112および水平合成フィルタ部114は、これらの係数に対して合成フィルタ処理を行い、1つ下位の分割レベルの低域サブバンドの係数1ラインであるデータ2LL−1(データ210)およびデータ2LL−2(データ211)を生成する。つまり、垂直合成フィルタ部112および水平合成フィルタ部114は、合成フィルタ処理により、1つ下位の分割レベル(分割レベル2)の低域サブバンドの係数を2ライン生成する。
それらの内、一方のデータ2LL−1(データ210)は、セレクタ115を介してレベル別バッファ部120のレベル2バッファ部122に供給されて記憶される(データ212)。他方のデータ2LL−2(データ211)は、出力バッファ部116に書き込まれて保持される(データ213)。
ここでまた処理対象レベルが1つ下位のレベル2に設定される。垂直合成フィルタ部112は、外部より分割レベル2の高域サブバンドの係数を1ラインずつ取得するとともに、レベル2バッファ部122に保持されているデータ2LL−1を読み出して(データ222)取得する。つまり、垂直合成フィルタ部112には、データ2HH/LH(データ221)およびデータ2HL/LL(データ223)のように、分割レベル2の各サブバンドの係数が1ラインずつ入力される。データ2HH/LHは、分割レベル2のサブバンドHHの係数1ラインとサブバンドLHの係数1ラインを示しており、データ2HL/LLは、分割レベル2のサブバンドHLの係数1ラインとサブバンドLLの係数1ラインを示している。
垂直合成フィルタ部112および水平合成フィルタ部114は、これらの係数に対して合成フィルタ処理を行い、1つ下位の分割レベルの低域サブバンドの係数1ラインであるデータ1LL−1(データ224)およびデータ1LL−2(データ225)を生成する。つまり、垂直合成フィルタ部112および水平合成フィルタ部114は、合成フィルタ処理により、1つ下位の分割レベル(分割レベル1)の低域サブバンドの係数を2ライン生成する。
それらの内、一方のデータ1LL−1(データ224)は、セレクタ115を介してレベル別バッファ部120のレベル1バッファ部123に供給されて記憶される(データ226)。他方のデータ1LL−2(データ225)は、出力バッファ部116に書き込まれて保持される(データ227)。
ここでまた処理対象レベルが1つ下位のレベル1に設定される。垂直合成フィルタ部112は、外部より分割レベル1の高域サブバンドの係数を1ラインずつ取得するとともに、レベル1バッファ部123に保持されているデータ1LL−1を読み出して(データ232)取得する。つまり、垂直合成フィルタ部112には、データ1HH/LH(データ231)およびデータ1HL/LL(データ233)のように、分割レベル1の各サブバンドの係数が1ラインずつ入力される。データ1HH/LHは、分割レベル1のサブバンドHHの係数1ラインとサブバンドLHの係数1ラインを示しており、データ1HL/LLは、分割レベル1のサブバンドHLの係数1ラインとサブバンドLLの係数1ラインを示している。
垂直合成フィルタ部112および水平合成フィルタ部114は、これらの係数に対して合成フィルタ処理を行い、それぞれがベースバンドの画像データ1ラインを示すベースバンド画像データ−1(データ234)およびベースバンド画像データ−2(データ235)を生成する。つまり、垂直合成フィルタ部112および水平合成フィルタ部114は、合成フィルタ処理により、ベースバンドの画像データを2ライン生成する。
それらの内、一方のベースバンド画像データ−1(データ234)は、そのまま出力され(データ236)、他方のベースバンド画像データ−2(データ235)は、出力バッファ部116に書き込まれて保持される(データ237)。この書き込みと同時並行的に、出力バッファ部116に記憶されていた、分割レベル3の低域サブバンドの係数であるデータ3LL−2(データ238)は読み出されてレベル別バッファ部120のレベル3バッファ部121に供給されて記憶され(データ239)、分割レベル2の低域サブバンドの係数であるデータ2LL−2(データ240)は読み出されてレベル別バッファ部120のレベル2バッファ部122に供給されて記憶され(データ241)、分割レベル1の低域サブバンドの係数であるデータ1LL−2(データ242)は読み出されてレベル別バッファ部120のレベル1バッファ部123に供給されて記憶される(データ243)。
図17および図18のフローチャートを参照して説明したライン単位ウェーブレット逆変換処理が1回行われる毎に、図21に示されるようにデータが処理される。出力バッファ部116に記憶されたベースバンド画像データ−2(データ237)は、次回のライン単位ウェーブレット逆変換処理において外部に出力される。レベル別バッファ部120の各バッファに蓄積された係数は、さらにその次の回以降において処理される。
以上のように、各分割レベルの合成フィルタ処理により下位の分割レベルの係数が2ラインずつ生成されるが、合成フィルタ処理においては1ラインずつしか処理されない。つまり、生成された2ラインの係数のうち、一方のラインは次の合成フィルタ処理に使用されるが、他方のラインは、次回以降のライン単位ウェーブレット逆変換処理まで不要になる。つまり、生成された2ラインを同時にレベル別バッファ部120に蓄積させる必要はない。そこで、ウェーブレット逆変換装置100は、これらの2ライン係数の蓄積タイミングを互いにずらし、1ラインずつレベル別バッファ部120に蓄積させている。このようにすることにより、レベル別バッファ部120に必要な容量を低減させることができる。
レベル別バッファ部120は、保持している係数を、頻繁にセレクタ111を介して垂直合成フィルタ部112に供給する必要があるため、データの読み書きに共有バスを介する必要がある外部メモリのような低速でのアクセスしかできないメモリで実現するようにすると、合成フィルタ処理の処理速度が極端に低下してしまい、ウェーブレット逆変換処理による遅延時間が増大する恐れがある。そこで、レベル別バッファ部120は、所謂キャッシュメモリのような、合成フィルタ処理が行われるCPUを含むLSIチップ内部に設けられ、共有バスを介さずに高速にアクセスが可能なメモリにより実現するのが望ましい。
しかしながら、キャッシュメモリのメモリ容量が増大すると回路規模が増大してしまうため、LSIチップのチップサイズも増大してしまう。つまり、キャッシュメモリの容量の増大は装置の製造コストの増大に繋がる恐れがある。従って、キャッシュメモリの容量には実質的に上限があり、また、コスト低減のためには、小容量であるほど望ましい。
そのため、レベル別バッファ部120に蓄積するデータ量が増大すると、小容量のキャッシュメモリでは容量が不足する恐れがある。その場合、低速で動作する外部メモリをバッファメモリとして使用しなければならなくなるが、上述したように、ウェーブレット逆変換処理による遅延時間が増大する恐れがある。また、この場合、キャッシュメモリで発生するミスヒットの処理やデータ退避等により、さらにその遅延時間が増大する恐れがある。
従って、上述したように、合成フィルタ処理により生成された係数を1ラインずつレベル別バッファ部120に蓄積させるようにし、レベル別バッファ部120に必要な容量を低減させることにより、このような遅延時間の増大や製造コストの増大を低減させることができる。
また、上述したように、ウェーブレット逆変換装置100は、合成フィルタ処理により生成された係数2ラインのうち、直ぐにレベル別バッファ部120に蓄積させない方のラインは、出力バッファ部116に蓄積させる。
出力バッファ部116は、本来、ベースバンドの画像データを1ラインずつ出力させるために、同時に2ライン生成されたベースバンドの画像データの一方のラインを蓄積するバッファである。換言すれば、ベースバンドの画像データが生成されるまでは使用されないので、上述したように、この未使用の期間を利用して、直ぐにレベル別バッファ部120に蓄積させない係数を、レベル別バッファ部120に蓄積させた係数の合成フィルタ処理が終了するまで一時的に蓄積させる。つまり、出力バッファ部116を利用して、レベル別バッファ部120への蓄積タイミングをずらしている。
出力バッファ部116もレベル別バッファ部120と同様に、ウェーブレット逆変換処理による遅延時間を低減させるために、高速動作可能なキャッシュメモリにより実現するのが望ましいが、このように空き時間(ベースバンドの画像データが保持されていない期間に)を利用して係数を記憶させることにより、キャッシュメモリ(出力バッファ部116)の容量を増大させることなく、合成フィルタ処理により生成された係数を1ラインずつレベル別バッファ部120に蓄積させることができる。
つまり、ウェーブレット逆変換装置100は、係数データや画像データをバッファリングするキャッシュメモリの使用効率を向上させることにより、ウェーブレット逆変換処理においてデータ保持するバッファメモリとして必要なメモリ容量を低減することができる。
なお、直ぐにレベル別バッファ部120に蓄積させない係数を外部メモリに退避させることも考えられるが、遅延時間を増大させないようにするためにはタイミング制御が複雑になる恐れがある。上述したように出力バッファ部116を利用することにより、容易に合成フィルタ処理により生成された係数を1ラインずつレベル別バッファ部120に蓄積させることができる。
また、図14のブロック図や図20のフローチャートを参照して説明したように、出力バッファ部116は、ベースバンドの画像データの書き込みと係数の読み出しを同時並行的に実行することができるようになされている。このようにすることにより、係数を出力バッファ部116からレベル別バッファ部120に移動させることによる遅延時間の増大を抑制することができる。
次に、1プレシンクト分のウェーブレット逆変換処理の流れのより具体的な例を、図22乃至図24を参照して説明する。図22乃至図24において、丸で囲まれた数字は、プレシンクト内におけるラインの識別番号であり、本明細書においては、この識別番号を囲む丸は省略して説明する。また、ここでは分割レベル4でウェーブレット変換された係数に対するウェーブレット逆変換処理について説明する。
図22に示されるように、1回目のライン単位ウェーブレット逆変換処理が開始されると、最初に、最上位レベルである分割レベル4の各サブバンドの係数1ラインずつ(4LL/HL/LH/HH)について、合成フィルタ処理が行われる(矢印S1)。この合成フィルタ処理により、分割レベル3の低域サブバンドの1ライン目の係数3LL1と、2ライン目の係数3LL2が生成される(矢印S2)。次に、その1ライン目の係数3LL1と、新たに入力された分割レベル3の高域サブバンドの係数1ラインずつ(3HL/LH/HH)について、合成フィルタ処理が行われ(矢印S3)、分割レベル2の低域サブバンドの1ライン目の係数2LL1と、2ライン目の係数2LL2が生成される(矢印S4)。続いて、その1ライン目の係数2LL1と、新たに入力された分割レベル2の高域サブバンドの係数1ラインずつ(2HL/LH/HH)について、合成フィルタ処理が行われ(矢印S5)、分割レベル1の低域サブバンドの1ライン目の係数1LL1と、2ライン目の係数1LL2が生成される(矢印S6)。さらに、その1ライン目の係数1LL1と、新たに入力された分割レベル1の高域サブバンドの係数1ラインずつ(1HL/LH/HH)について、合成フィルタ処理が行われ(矢印S7)、ベースバンドの1ライン目の画像データBase1と、2ライン目の画像データBase2が生成される(矢印S8)。
1ライン目の画像データBase1は直ぐに外部に出力され、2ライン目の画像データBase2は、一旦出力バッファ部116に保持され、次の出力タイミング(2回目のライン単位ウェーブレット逆変換処理)において出力される。
3回目のライン単位ウェーブレット逆変換処理が開始されるとき、1回目のライン単位ウェーブレット逆変換処理において生成された分割レベル3の低域サブバンドの2ライン目の係数3LL2、分割レベル2の低域サブバンドの2ライン目の係数2LL2、および分割レベル1の低域サブバンドの2ライン目の係数1LL2が、レベル別バッファ部120に蓄積されている。従って、3回目のライン単位ウェーブレット逆変換処理では、それらのうち最も下位レベルの係数である分割レベル1の低域サブバンドの2ライン目の係数1LL2を処理対象とする。つまり、その分割レベル1の低域サブバンドの2ライン目の係数1LL2と、新たに入力された分割レベル1の高域サブバンドの係数1ラインずつ(1HL/LH/HH)について、合成フィルタ処理が行われ(矢印S9)、ベースバンドの3ライン目の画像データBase3と、4ライン目の画像データBase4が生成される(矢印S10)。
3ライン目の画像データBase3は直ぐに外部に出力され、4ライン目の画像データBase4は、一旦出力バッファ部116に保持され、次の出力タイミング(4回目のライン単位ウェーブレット逆変換処理)において出力される。
5回目のライン単位ウェーブレット逆変換処理が開始されるとき、分割レベル1の低域サブバンドの2ライン目の係数1LL2は処理されたので、分割レベル3の低域サブバンドの2ライン目の係数3LL2と、分割レベル2の低域サブバンドの2ライン目の係数2LL2が、レベル別バッファ部120に蓄積されている。従って、5回目のライン単位ウェーブレット逆変換処理では、それらのうち最も下位レベルの係数である分割レベル2の低域サブバンドの2ライン目の係数2LL2を処理対象とする。つまり、その分割レベル2の低域サブバンドの2ライン目の係数2LL2と、新たに入力された分割レベル2の高域サブバンドの係数1ラインずつ(2HL/LH/HH)について、合成フィルタ処理が行われ(矢印S11)、図23に示されるように、分割レベル1の低域サブバンドの3ライン目の係数1LL3と、4ライン目の係数1LL4が生成される(矢印S12)。さらに、その分割レベル1の低域サブバンドの3ライン目の係数1LL3と、新たに入力された分割レベル1の高域サブバンドの係数1ラインずつ(1HL/LH/HH)について、合成フィルタ処理が行われ(矢印S13)、ベースバンドの5ライン目の画像データBase5と、6ライン目の画像データBase6が生成される(矢印S14)。
5ライン目の画像データBase5は直ぐに外部に出力され、6ライン目の画像データBase6は、一旦出力バッファ部116に保持され、次の出力タイミング(6回目のライン単位ウェーブレット逆変換処理)において出力される。
7回目のライン単位ウェーブレット逆変換処理が開始されるとき、1回目のライン単位ウェーブレット逆変換処理において生成された分割レベル3の低域サブバンドの2ライン目の係数3LL2と、5回目のライン単位ウェーブレット逆変換処理において生成された分割レベル1の低域サブバンドの4ライン目の係数1LL4が、レベル別バッファ部120に蓄積されている。従って、7回目のライン単位ウェーブレット逆変換処理では、それらのうち最も下位レベルの係数である分割レベル1の低域サブバンドの4ライン目の係数1LL4を処理対象とする。つまり、その分割レベル1の低域サブバンドの4ライン目の係数1LL4と、新たに入力された分割レベル1の高域サブバンドの係数1ラインずつ(1HL/LH/HH)について、合成フィルタ処理が行われ(矢印S15)、ベースバンドの7ライン目の画像データBase7と、8ライン目の画像データBase8が生成される(矢印S16)。
7ライン目の画像データBase7は直ぐに外部に出力され、8ライン目の画像データBase8は、一旦出力バッファ部116に保持され、次の出力タイミング(8回目のライン単位ウェーブレット逆変換処理)において出力される。
9回目のライン単位ウェーブレット逆変換処理が開始されるとき、1回目のライン単位ウェーブレット逆変換処理において生成された分割レベル3の低域サブバンドの2ライン目の係数3LL2のみが、レベル別バッファ部120に蓄積されている。従って、9回目のライン単位ウェーブレット逆変換処理では、その分割レベル3の低域サブバンドの2ライン目の係数3LL2を処理対象とする。つまり、その分割レベル3の低域サブバンドの2ライン目の係数3LL2と、新たに入力された分割レベル3の高域サブバンドの係数1ラインずつ(3HL/LH/HH)について、合成フィルタ処理が行われ(矢印S17)、分割レベル2の低域サブバンドの3ライン目の係数2LL3と、4ライン目の係数2LL4が生成される(矢印S18)。さらに、その分割レベル2の低域サブバンドの3ライン目の係数2LL3と、新たに入力された分割レベル2の高域サブバンドの係数1ラインずつ(2HL/LH/HH)について、合成フィルタ処理が行われ(矢印S19)、分割レベル1の低域サブバンドの5ライン目の係数1LL5と、6ライン目の係数1LL6が生成される(矢印S20)。さらに、その分割レベル1の低域サブバンドの5ライン目の係数1LL5と、新たに入力された分割レベル1の高域サブバンドの係数1ラインずつ(1HL/LH/HH)について、合成フィルタ処理が行われ(矢印S21)、図24に示されるように、ベースバンドの9ライン目の画像データBase9と、10ライン目の画像データBase10が生成される(矢印S22)。
9ライン目の画像データBase9は直ぐに外部に出力され、10ライン目の画像データBase10は、一旦出力バッファ部116に保持され、次の出力タイミング(10回目のライン単位ウェーブレット逆変換処理)において出力される。
11回目のライン単位ウェーブレット逆変換処理が開始されるとき、9回目のライン単位ウェーブレット逆変換処理において生成された分割レベル2の低域サブバンドの4ライン目の係数2LL4および分割レベル1の低域サブバンドの6ライン目の係数1LL6が、レベル別バッファ部120に蓄積されている。従って、11回目のライン単位ウェーブレット逆変換処理では、それらのうち最も下位レベルの係数である分割レベル1の低域サブバンドの6ライン目の係数1LL6を処理対象とする。つまり、その分割レベル1の低域サブバンドの6ライン目の係数1LL6と、新たに入力された分割レベル1の高域サブバンドの係数1ラインずつ(1HL/LH/HH)について、合成フィルタ処理が行われ(矢印S23)、ベースバンドの11ライン目の画像データBase11と、12ライン目の画像データBase12が生成される(矢印S24)。
11ライン目の画像データBase11は直ぐに外部に出力され、12ライン目の画像データBase12は、一旦出力バッファ部116に保持され、次の出力タイミング(12回目のライン単位ウェーブレット逆変換処理)において出力される。
13回目のライン単位ウェーブレット逆変換処理が開始されるとき、分割レベル1の低域サブバンドの6ライン目の係数1LL6は処理されたので、分割レベル2の低域サブバンドの4ライン目の係数2LL4がレベル別バッファ部120に蓄積されている。従って、13回目のライン単位ウェーブレット逆変換処理では、その分割レベル2の低域サブバンドの4ライン目の係数2LL4を処理対象とする。つまり、その分割レベル2の低域サブバンドの4ライン目の係数2LL4と、新たに入力された分割レベル2の高域サブバンドの係数1ラインずつ(2HL/LH/HH)について、合成フィルタ処理が行われ(矢印S25)、分割レベル1の低域サブバンドの7ライン目の係数1LL7と、8ライン目の係数1LL8が生成される(矢印S26)。さらに、その分割レベル1の低域サブバンドの7ライン目の係数1LL7と、新たに入力された分割レベル1の高域サブバンドの係数1ラインずつ(1HL/LH/HH)について、合成フィルタ処理が行われ(矢印S27)、ベースバンドの13ライン目の画像データBase13と、14ライン目の画像データBase14が生成される(矢印S28)。
13ライン目の画像データBase13は直ぐに外部に出力され、14ライン目の画像データBase14は、一旦出力バッファ部116に保持され、次の出力タイミング(14回目のライン単位ウェーブレット逆変換処理)において出力される。
15回目のライン単位ウェーブレット逆変換処理が開始されるとき、13回目のライン単位ウェーブレット逆変換処理において生成された分割レベル1の低域サブバンドの8ライン目の係数1LL8が、レベル別バッファ部120に蓄積されている。従って、15回目のライン単位ウェーブレット逆変換処理では、その分割レベル1の低域サブバンドの8ライン目の係数1LL8を処理対象とする。つまり、その分割レベル1の低域サブバンドの8ライン目の係数1LL8と、新たに入力された分割レベル1の高域サブバンドの係数1ラインずつ(1HL/LH/HH)について、合成フィルタ処理が行われ(矢印S29)、ベースバンドの15ライン目の画像データBase15と、16ライン目の画像データBase16が生成される(矢印S30)。
15ライン目の画像データBase15は直ぐに外部に出力され、16ライン目の画像データBase16は、一旦出力バッファ部116に保持され、次の出力タイミング(16回目のライン単位ウェーブレット逆変換処理)において出力される。
以上のように16回ライン単位ウェーブレット逆変換処理を繰り返すことにより、1プレシンクト分のベースバンドの画像データ(16ライン)が生成され出力される。次のプレシンクトについては、上述したのと同様に処理が繰り返される(矢印S31)。
このように、ウェーブレット逆変換装置100は、ライン単位ウェーブレット逆変換処理を繰り返し実行することにより、ベースバンドの画像データを上から順に2ラインずつ生成して1ラインずつ出力するように処理対象を選択しながら、合成フィルタ処理を繰り返す。これにより、ウェーブレット逆変換装置100は、ベースバンドの画像データを所定のタイミング毎に出力させることができる。
また、ウェーブレット逆変換装置100は、ベースバンドの画像データを2ラインずつ生成するが、その際、上述したように、その2ラインの生成に必要な合成フィルタ処理のみを実行する。つまり、ウェーブレット逆変換装置100は、合成フィルタ処理により生成された係数2ラインのうち、一方の1ラインを出力バッファに保持させるとともに、他方の1ラインをレベル別バッファ部120に保持させ、そのレベル別バッファ部120に保持した1ラインを優先的に再度合成フィルタ処理し、2ラインの係数を生成する。ウェーブレット逆変換装置100は、ベースバンドの画像データを2ライン生成するまでこれを繰り返す。そして、ベースバンドの画像データが生成され、レベル別バッファ部120に保持している係数が全て処理されると、ウェーブレット逆変換装置100は、出力バッファ部116に保持させた係数を読み出してレベル別バッファ部120に保持させ、その係数について、分割レベルがより下位のレベルの係数から優先的に合成フィルタ処理を行う。その際もウェーブレット逆変換装置100は、上述したように合成フィルタ処理を繰り返す。
このようにすることにより、ウェーブレット逆変換装置100は、ベースバンドの画像データを上から順に2ラインずつ生成することができるだけでなく、ベースバンドの画像データの各2ラインを生成するための負荷を低減させることができ、さらに、例えば合成フィルタ処理により生成された係数データやベースバンドの画像データ等、保持しなければならないデータのデータ量を低減させることができ、バッファに必要なメモリ容量を低減させることができる。これにより製造コストを低減させることもできる。
さらに、付言するに、ウェーブレット逆変換装置100は、ベースバンドの画像データの2ラインを生成する際に、その2ラインの生成に必要な合成フィルタ処理のみを行うので、ベースバンドの画像データの各2ラインの生成間隔を低減させることができる。つまり、ウェーブレット逆変換装置100は、より短い間隔でベースバンドの画像データを1ラインずつ出力させることができる。
ウェーブレット逆変換装置100が処理する画像データは、例えばテレビジョン信号等がある。上述したようにウェーブレット逆変換装置100は1ラインずつベースバンドの画像データを出力するが、この間隔をテレビジョン信号の水平同期タイミングに合わせることにより、ウェーブレット逆変換装置100が、テレビジョン信号をリアルタイムに(即時的に)生成するようにすることができる。つまり、この場合、ウェーブレット逆変換装置100は、例えばバッファリング無しに出力画像データをモニタに表示させることができるように、入力された係数データをリアルタイムにウェーブレット逆変換することができる。なお、ここでリアルタイムとは、例えばテレビジョン信号等の水平同期タイミングに合わせてベースバンドの画像データを1ラインずつ出力させることができることを示しており、ウェーブレット変換処理による遅延時間がゼロであることを示すものではない。
図25は、SMPTE(Society of Motion Picture and Television Engineers)規格292MのHD-SDI(High Definition Serial Digital Interface)信号(1.5Gbps)で定義されている解像度1920×1080、YCbCr4:2:2フォーマット、各サンプル10ビットの多重化されたデータ形式を示す模式図である。このデータ形式においては、SAV(Start of Active Video)とEAV(End of Active Video)の間に1920画素のベースバンドのデータがY(輝度)と、Cb,Cr(色差)とに多重化されて配置される。EAVと次のSAVの間には水平ブランキング期間を示すラインブランキングが配置される。
このようなデータ形式でベースバンドの画像データをリアルタイムに生成するためには、ウェーブレット逆変換装置100は、SAVから次のSAVの間に、ベースバンドの画像データを生成する必要がある。上述したように、ウェーブレット逆変換装置100は、ベースバンドの画像データの2ラインを生成する際に、その2ラインの生成に必要な合成フィルタ処理のみを行うので、より短い間隔でベースバンドの画像データを1ラインずつ出力させることができ、容易に、このSAV毎にベースバンドの画像データを1ラインずつ出力させることができる。
なお実際には、上述したウェーブレット変換やウェーブレット逆変換などの処理は、例えば画像データの転送システムや記録再生システム等に適用され、エントロピ符号化およびエントロピ復号等の他の処理とともに利用されることが多い。
以下にウェーブレット逆変換装置100の適用例について説明する。図26は、本発明を適用したウェーブレット逆変換装置100を用いた画像伝送システムの構成例を示すブロック図である。
図26に示される画像伝送システム300は、図25に示されるデータ形式の画像データを符号化して伝送するシステムであり、伝送元となる符号化装置301と、伝送先の復号装置302を有する。
符号化装置301は、外部より入力された画像データを符号化し、その符号化データを復号装置302に伝送させる装置であり、ウェーブレット変換部311、係数並び替え用バッファ部313、係数並び替え部314、量子化部315、およびエントロピ符号化部316を有する。
符号化装置301の外部より入力された画像データは、ウェーブレット変換部311において、図1乃至図4を参照して説明したように、ウェーブレット逆変換装置100によるウェーブレット逆変換処理に対応する方法でウェーブレット係数に変換され、係数並び替え用バッファ部313に格納される。係数並び替え用バッファ部313に格納された係数データは、係数並び替え部314により、ウェーブレット逆変換処理において処理される順に読み出され、量子化部315において量子化され、エントロピ符号化部316において符号化され、符号化データに変換される。エントロピ符号化部316において生成された符号化データは、復号装置302に供給される。
復号装置302は、符号化装置301より伝送された符号化データを復号し、逆ウェーブレット変換することにより、ベースバンドの画像データを復元して出力する装置であり、エントロピ復号部321、逆量子化部322、およびウェーブレット逆変換部323を有する。つまり、符号化装置301より供給された符号化データは、エントロピ復号部321において復号され、逆量子化部322において逆量子化され、ウェーブレット逆変換部323においてウェーブレット逆変換されることにより、ベースバンドの画像データに変換されて復号装置302の外部に出力される。
このウェーブレット逆変換部323は、上述したウェーブレット逆変換装置100に対応しており、基本的に同様の構成を有し、同様の処理を行う。従って、ウェーブレット逆変換部323は、水平同期タイミングに合わせて1ラインずつ画像データを出力するようにウェーブレット逆変換処理を行うことができる。
エントロピ復号部321は、制御部331、符号入力部341、復号部342、および係数出力部343を有する。エントロピ復号部321に供給された符号化データは、符号入力部341において受け付けられ、復号部342において復号され、係数データに変換される。生成された係数データは、係数出力部343より逆量子化部322に出力される。制御部331は、復号部342の入出力、すなわち、符号入力部341および係数出力部343を制御することにより、復号部342により実行される復号処理の実行タイミングを制御する。また、制御部331は、逆量子化部322およびウェーブレット逆変換部323に、画像データの水平同期タイミングを示すクロック信号を供給する。
復号部342、逆量子化部322、およびウェーブレット逆変換部323は、この制御部331による制御に基づいて各処理を実行し、水平同期タイミングに合わせてベースバンドの画像データを1ラインずつ出力するように、入力された符号化データを復号し、逆量子化し、ウェーブレット逆変換する。
このような、復号装置302により実行される復号処理の流れの例を図27のフローチャートを参照して説明する。この復号処理はピクチャ毎に繰り返し実行される。
復号処理が開始されると、制御部331は、ステップS201において、処理対象プレシンクトを初期化し、ステップS202において、水平ブランキング期間(水平同期タイミング)に対応する所定のタイミングであるか否かを判定し、所定のタイミングになるまで待機する。
ステップS202において所定のタイミングであると判定された場合、処理はステップS203に進む。
ステップS203において、ウェーブレット逆変換部323の出力バッファ部にベースバンドの画像データが存在するか否かを判定する。出力バッファ部にベースバンドの画像データが存在しないと判定された場合、処理はステップS204に進む。ステップS204において、復号部342は、制御部331に制御される符号入力部341を介して符号化データを取得し、その符号化データをエントロピ復号して係数データに変換する。復号部342は、生成した係数データを、制御部331に制御される係数出力部343を介して逆量子化部322に供給する。ステップS205において、逆量子化部322は、その係数データを逆量子化し、逆量子化された係数データをウェーブレット逆変換部323に供給する。
ステップS205の処理が終了すると処理はステップS206に進む。また、ステップS203において、出力バッファ部にベースバンドの画像データが存在すると判定された場合、その出力バッファ部の画像データを出力させることが優先され、ステップS204およびステップS205の処理が省略され、処理はステップS206に進む。
ステップS206において、ウェーブレット逆変換部323は、制御部331より供給される制御タイミングに応じて、図17および図18のフローチャートを参照して説明したようにライン単位ウェーブレット逆変換処理を実行し、ベースバンドの画像データ2ラインを生成して出力する。
ステップS207において、制御部331は、プレシンクト内の全ての係数データを処理したか否かを判定し、未処理のデータが存在すると判定した場合、処理をステップS202に戻し、それ以降の処理を繰り返させる。また、ステップS207において、プレシンクト内の全ての係数データを処理したと判定された場合、処理はステップS208に進む。
ステップS208において、制御部331は、ピクチャ内の全てのプレシンクトを処理したか否かを判定する。未処理のプレシンクトが存在すると判定された場合、処理はステップS209に進む。ステップS209において、制御部331は、処理対象プレシンクトを次のプレシンクトに更新し、処理をステップS202に戻す。そして、ステップS208において、ピクチャ内の全てのプレシンクトを処理したと判定した場合、制御部331は、そのピクチャに対する復号処理を終了する。
以上のように、復号装置302においては、制御部331の制御に従って、ライン単位ウェーブレット逆変換処理が、所定のタイミング、すなわち、水平同期タイミングに応じて繰り返し実行される。
このようにすることにより、復号装置302は、水平同期タイミングに合わせて1ラインずつ出力させることができる。つまり、復号装置302は、リアルタイムに符号化データを復号しベースバンドの画像データを復元させることができる。
図28は、その場合のベースバンドの画像データの出力の様子を示す模式図である。図28に示されるようにベースバンドの画像データ(ベースバンド画像データ−1およびベースバンド画像データ−2)は、水平同期タイミング(H-Sync)毎に1ラインずつ出力される。ただし、図28に示されるように、このベースバンドの画像データは2ラインずつ生成される(ベースバンド画像データ−1およびベースバンド画像データ−2)。つまり、生成された2ラインのうち、一方の1ラインが(A)のように、生成されたときの水平同期タイミングにおいて直接出力され、他方の1ラインは、(B)のように出力バッファ部116に書き込まれ、次の水平同期タイミングにおいて、(C)のように出力バッファ部116より読み出されて出力される。
従って、図28に示されるように、エントロピ復号処理(VLD)、逆量子化処理(IQ)、およびウェーブレット逆変換処理(IDWT)を水平同期タイミング間に行う必要がある。ウェーブレット逆変換部323(ウェーブレット逆変換装置100)は、上述したような順序で合成フィルタ処理を進めることにより、ベースバンドの画像データの生成間隔をより短くすることができるので、図28のようなタイミングでのリアルタイムな復号処理を容易に実現することができる。
以上においては画像データの伝送システムについて説明したが、本発明を適用したウェーブレット逆変換装置100は、その他のシステムにも適用することができる。ただし、遅延時間の増大による不利益が大きく、より遅延時間の低減が求められるシステムほど、その効果は大きい。
以上においては、ウェーブレット逆変換装置100において、合成フィルタ処理により生成された係数データの一部を、ベースバンドの画像データが蓄積されていないときに、出力バッファ部116に保持させるように説明した。これにより、出力バッファ部116に同時に記憶されるデータ量を増大させずに、レベル別バッファ部120に同時に記憶されるデータ量を低減させることができる。つまり、ウェーブレット逆変換装置100は、係数データや画像データをバッファリングするキャッシュメモリの使用効率を向上させることにより、ウェーブレット逆変換処理においてデータ保持するバッファメモリとして必要なメモリ容量を低減することができる。また、これにより、ウェーブレット逆変換装置100は、キャッシュメモリより係数データや画像データが溢れる(係数データや画像データが外部メモリに退避されてしまう)ことも抑制することができ、製造コストを増大させずに、容易に、より高速にウェーブレット逆変換処理を実行することができる。
つまり、このような効果を得るためには、ウェーブレット逆変換装置100に出力バッファ部116を設け、合成フィルタ処理により生成された係数データの一部を、ベースバンドの画像データが蓄積されていないときに、その出力バッファ部116に保持させればよく、それ以外の構成や処理手順等の適用は任意である。例えば、最上位レベルから最下位レベルに向かって、分割レベル毎に合成フィルタ処理を行うようにしてもよい。ただし、ベースバンドの画像データを2ラインずつ生成するように合成フィルタ処理を行う場合の方が、保持するデータ量をより低減させることができる。また、以上においてはプレシンクト単位でウェーブレット変換や符号化、または、復号やウェーブレット逆変換が行われるように説明したが、ピクチャ全体を単位としてウェーブレット変換や符号化、または、復号やウェーブレット逆変換が行われるようにしてももちろんよい。ただし、その場合、プレシンクト単位で行う場合の方が、ウェーブレット逆変換処理の遅延時間を低減させることができ、係数の保持に必要なバッファのメモリ量も低減させることが出来る。これと同様に、例えば、出力バッファ部116の構成を図14に示されるような構成にする等、上述した他の構成や処理を適用することにより、それぞれについて説明した効果を得ることができる。
また、以上においては、ウェーブレット逆変換装置100が、合成フィルタ処理により得られた2ラインの係数データのうち、一方の1ラインを保持しておき、他方の1ラインについてさらに合成フィルタ処理行うように、最上位レベルから最下位レベルまで合成フィルタ処理を繰り返し、さらに、保持した係数データについては、より下位レベルの係数データから優先的に合成フィルタ処理を行うようにすることにより、ベースバンドの画像データを2ラインずつ生成するように説明した。このようにすることにより、保持する係数データのデータ量を低減させたり、ウェーブレット逆変換を低遅延かつ高速に行うようにしたり、より短い間隔でベースバンドの画像データを1ラインずつ出力させたり、コストの増大を抑制したりすることができる。
つまり、このような効果を得るためには、ウェーブレット逆変換装置100が、合成フィルタ処理により得られた2ラインの係数データのうち、一方の1ラインを保持しておき、他方の1ラインについてさらに合成フィルタ処理行うように、最上位レベルから最下位レベルまで合成フィルタ処理を繰り返し、さらに、保持した係数データについては、より下位レベルの係数データから優先的に合成フィルタ処理を行うようにすることにより、ベースバンドの画像データを2ラインずつ生成するようにすればよく、それ以外の構成や処理手順等の適用は任意である。例えば、出力バッファ部116に係数データを保持させないようにしてもよい。ただし、出力バッファ部116に係数データを保持させる場合の方が、キャッシュメモリのメモリ容量の増大、または、キャッシュメモリより係数データや画像データが溢れることを抑制することができ、製造コストを増大させずに、容易に、より高速にウェーブレット逆変換処理を実行することができる。これと同様に、例えば、出力バッファ部116の構成を図14に示されるような構成にする等、上述した他の構成や処理を適用することにより、それぞれについて説明した効果を得ることができる。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図29に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
図29において、パーソナルコンピュータ400のCPU(Central Processing Unit)401は、ROM(Read Only Memory)402に記憶されているプログラム、または記憶部413からRAM(Random Access Memory)403にロードされたプログラムに従って各種の処理を実行する。RAM403にはまた、CPU401が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU401、ROM402、およびRAM403は、バス404を介して相互に接続されている。このバス404にはまた、入出力インタフェース410も接続されている。
入出力インタフェース410には、キーボード、マウスなどよりなる入力部411、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部412、ハードディスクなどより構成される記憶部413、モデムなどより構成される通信部414が接続されている。通信部414は、例えばインターネットに代表されるネットワークを介しての通信処理を行う。
入出力インタフェース410にはまた、必要に応じてドライブ415が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア421が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部413にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図29に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア421により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM402や、記憶部413に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
なお、以上において、1つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて1つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。
以上説明した本発明は、複数の端末間で画像を圧縮して伝送、受信して伸長して画像を出力するシステム、特に低遅延で実現する必要性が高いプロダクツ・アプリケーションに好適である。具体的には、放送局で多用するデジタルトライアックスシステム、ライブ映像配信システム、TV会議システム、監視カメラ・レコーダシステム、医用遠隔医療診断、生徒と教師間のインタラクティブ通信、ビデオゲーム等に応用が可能である。また、画像データが圧縮符号化された符号化データが記録された記録媒体よりその符号化データを読み出して復号し画像データを再生する装置(記録再生装置も含む)やシステム等にも適用可能である。
ウェーブレット変換について概略的に説明するための略線図である。 ウェーブレット変換について概略的に説明するための略線図である。 9×7分析フィルタのリフティング構成の例を説明する図である。 ウェーブレット変換およびウェーブレット逆変換の関係について概略的に説明するための略線図である。 本発明を適用したウェーブレット逆変換装置の構成例を示すブロック図である 合成フィルタリングについて概略的に説明するための略線図である。 9×7合成フィルタのリフティング構成の例を説明する図である。 垂直合成フィルタリングの様子の例を説明する図である。 水平合成フィルタリングの様子の例を説明する図である。 図5の途中計算用バッファ部の詳細な構成例を示すブロック図である。 一般的な1ポートSRAMおよび2ポートSRAMの入出力端子の構成例を示す図である。 一般的な1ポートSRAMおよび2ポートSRAMによるデータ入出力のタイミングの例を示す図である。 図10の1ポートSRAMによるデータ入出力のタイミングの例を示す図である。 図5の出力バッファ部の詳細な構成例を示すブロック図である。 図14の1ポートSRAMによるデータ入出力のタイミングの例を示す図である。 ウェーブレット逆変換処理の流れの例を説明するフローチャートである。 ライン単位ウェーブレット逆変換処理の流れの例を説明するフローチャートである。 ライン単位ウェーブレット逆変換処理の流れの例を説明する、図17に続くフローチャートである。 垂直合成フィルタ処理の流れの例を説明するフローチャートである。 バッファ入出力処理の流れの例を説明するフローチャートである。 ライン単位ウェーブレット逆変換処理の流れの例を説明する模式図である。 1プレシンクト分のライン単位ウェーブレット逆変換処理の流れの例を説明する模式図である。 1プレシンクト分のライン単位ウェーブレット逆変換処理の流れの例を説明する、図22に続く模式図である。 1プレシンクト分のライン単位ウェーブレット逆変換処理の流れの例を説明する、図23に続く模式図である。 HDTV規格の輝度と色差信号のデータ配列の例を説明する図である。 本発明を適用したウェーブレット逆変換装置100を用いた画像伝送システムの構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 処理実行タイミングの例を説明する模式図である。 本発明を適用したパーソナルコンピュータの構成例を示す図である。
符号の説明
100 ウェーブレット逆変換装置, 101 制御部, 111 セレクタ, 112 垂直合成フィルタ部, 113 途中計算用バッファ部, 114 水平合成用フィルタ部, 115 セレクタ, 116 出力バッファ部, 117 セレクタ, 120 レベル別バッファ部, 121 レベル3バッファ部, 122 レベル2バッファ部, 123 レベル1バッファ部, 131 フィルタ部, 132 出力制御部, 141 データ連結部, 142 1ポートSRAM, 143 データ分割部, 151 セレクタ, 152 遅延部, 153 パッキング部, 154 16ビット分離部, 155 遅延部, 156 セレクタ, 171 制御部, 172 セレクタ, 173 データ連結部, 174 1ポートSRAM, 175 データ分割部, 181 セレクタ, 182 遅延部, 183 パッキング部, 184 16ビット分離部, 185 遅延部, 186 セレクタ, 302 復号装置, 321 エントロピ復号部, 323 ウェーブレット逆変換部, 331 制御部

Claims (9)

  1. 分析フィルタ処理により階層的に複数の周波数帯域に分割された画像データ、互いに同じ階層の周波数帯域の周波数成分を1ラインずつ水平方向および垂直方向に合成し、1つ下位の階層の周波数帯域の周波数成分を2ライン生成する合成フィルタ処理を行う合成フィルタ処理手段と、
    前記合成フィルタ処理手段を制御する制御手段と
    を備え、
    前記制御手段は、
    前記合成フィルタ処理手段を制御し、最上位の階層の各周波数帯域の周波数成分を1ラインずつ合成させて1つ下位の階層の周波数帯域の周波数成分を2ライン生成する処理を行い、
    さらに、前記合成フィルタ処理手段を制御し、前回の前記合成フィルタ処理により生成された前記2ラインのうちの一方の1ラインと、前記一方の1ラインと同階層の他の周波数帯域の周波数成分1ラインずつとを合成させて1つ下位の階層の周波数帯域の周波数成分を2ライン生成する処理を、前記画像データが2ライン生成されるまで繰り返す
    情報処理装置。
  2. 前記合成フィルタ処理手段による前記合成フィルタ処理により合成されて得られる周波数成分を保持する保持手段をさらに備え、
    前記制御手段は、さらに前記保持手段を制御し、各合成フィルタ処理により生成される周波数成分の前記2ラインのうちの他方の1ラインを保持させる
    請求項1に記載の情報処理装置。
  3. 前記制御手段は、前記画像データが2ライン生成されると、前記合成フィルタ処理手段を制御し、前記保持手段により保持されている前記周波数成分の1ラインと、前記1ラインと同階層の他の周波数帯域の周波数成分1ラインずつとを合成させて1つ下位の階層の周波数帯域の周波数成分を2ライン生成する処理を、前記画像データが2ライン生成されるまで繰り返す
    請求項2に記載の情報処理装置。
  4. 前記制御手段は、前記保持手段により保持されている前記周波数成分のうち、最下位の階層の周波数帯域の周波数成分1ラインを処理対象とし、前記合成フィルタ処理を繰り返す
    請求項3に記載の情報処理装置。
  5. 前記制御手段は、前記保持手段により保持されている全ての周波数成分に対して前記合成フィルタ処理を繰り返し、それぞれについて前記画像データが生成されると、前記合成フィルタ処理手段を制御し、最上位の階層の各周波数帯域の周波数成分の次の1ラインずつを合成し、さらに前記合成フィルタ処理を繰り返す
    請求項4に記載の情報処理装置。
  6. 前記制御手段は、前記画像データの画像の上から下に向かう順で2ラインずつ復元するように前記合成フィルタ処理を実行させる
    請求項1に記載の情報処理装置。
  7. 前記合成フィルタ処理により復元された前記画像データを保持する画像データ保持手段をさらに備え、
    前記制御手段は、復元された前記画像データ2ラインのうち、一方の1ラインを出力し、他方の1ラインを、次の出力タイミングまで前記画像データ保持手段に保持させる
    請求項1に記載の情報処理装置。
  8. 前記画像データ保持手段は、
    データの書き込みと読み出しを1系統で行う、前記データを保持するデータ保持手段と、
    連続して供給される複数のデータを連結し、1つのデータとして前記データ保持手段に書き込んで保持させるデータ連結手段と、
    前記データ保持手段より読み出した1つのデータを複数に分割し、複数のデータとして連続して出力するデータ分割手段と
    を備え、
    前記制御手段は、前記データ連結手段および前記データ分割手段に、前記データ保持手段に対する前記データの読み出しおよび書き込みを所定のデータ単位毎に交互に行わせる
    請求項7に記載の情報処理装置。
  9. 情報処理装置の情報処理方法であって、
    分析フィルタ処理により階層的に複数の周波数帯域に分割された画像データ、互いに同じ階層の周波数帯域の周波数成分を1ラインずつ水平方向および垂直方向に合成し、1つ下位の階層の周波数帯域の周波数成分を2ライン生成する合成フィルタ処理によって最上位の階層の各周波数帯域の周波数成分を1ラインずつ合成して1つ下位の階層の周波数帯域の周波数成分を2ライン生成する処理を行い、
    さらに、前記合成フィルタ処理によって、前回の前記合成フィルタ処理により生成された前記2ラインのうちの一方の1ラインと、前記一方の1ラインと同階層の他の周波数帯域の周波数成分1ラインずつとを合成して1つ下位の階層の周波数帯域の周波数成分を2ライン生成する処理を、前記画像データが2ライン生成されるまで繰り返す
    ステップを含む情報処理方法。
JP2007131287A 2007-05-17 2007-05-17 情報処理装置および方法 Expired - Fee Related JP4356031B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007131287A JP4356031B2 (ja) 2007-05-17 2007-05-17 情報処理装置および方法
US12/111,450 US8213731B2 (en) 2007-05-17 2008-04-29 Information processing device and method
CN2008100992726A CN101309416B (zh) 2007-05-17 2008-05-16 信息处理设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007131287A JP4356031B2 (ja) 2007-05-17 2007-05-17 情報処理装置および方法

Publications (2)

Publication Number Publication Date
JP2008288836A JP2008288836A (ja) 2008-11-27
JP4356031B2 true JP4356031B2 (ja) 2009-11-04

Family

ID=40027547

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007131287A Expired - Fee Related JP4356031B2 (ja) 2007-05-17 2007-05-17 情報処理装置および方法

Country Status (3)

Country Link
US (1) US8213731B2 (ja)
JP (1) JP4356031B2 (ja)
CN (1) CN101309416B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4670947B2 (ja) * 2008-12-05 2011-04-13 ソニー株式会社 情報処理装置および方法
JP4626707B2 (ja) * 2008-12-08 2011-02-09 ソニー株式会社 情報処理装置および方法
JP5412901B2 (ja) * 2009-03-16 2014-02-12 株式会社リコー 復号化装置、画像処理装置、復号化方法及びプログラム
JP2011135563A (ja) * 2009-11-30 2011-07-07 Canon Inc 撮像装置および画像処理方法
JP2011160075A (ja) * 2010-01-29 2011-08-18 Sony Corp 画像処理装置および方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5119195A (en) * 1991-01-31 1992-06-02 Thomson Consumer Electronics, Inc. Video noise reduction system employing plural frequency bands
US6141446A (en) * 1994-09-21 2000-10-31 Ricoh Company, Ltd. Compression and decompression system with reversible wavelets and lossy reconstruction
US6674911B1 (en) * 1995-09-14 2004-01-06 William A. Pearlman N-dimensional data compression using set partitioning in hierarchical trees
US5926791A (en) * 1995-10-26 1999-07-20 Sony Corporation Recursively splitting the low-frequency band with successively fewer filter taps in methods and apparatuses for sub-band encoding, decoding, and encoding and decoding
JPH10283342A (ja) 1997-04-02 1998-10-23 Matsushita Electric Ind Co Ltd ウェーブレット変換装置
JP3655088B2 (ja) 1997-12-19 2005-06-02 株式会社リコー ウェーブレット変換装置及び符号化/復号化装置
US6757343B1 (en) * 1999-06-16 2004-06-29 University Of Southern California Discrete wavelet transform system architecture design using filterbank factorization
US6643406B1 (en) * 1999-07-28 2003-11-04 Polaroid Corporation Method and apparatus for performing linear filtering in wavelet based domain
JP2002101310A (ja) 2000-09-21 2002-04-05 Canon Inc フィルタ処理装置及び方法
JP4371120B2 (ja) 2006-05-16 2009-11-25 ソニー株式会社 画像処理装置及び画像処理方法、プログラム及び記録媒体
JP4360379B2 (ja) 2006-05-16 2009-11-11 ソニー株式会社 画像処理装置及び画像処理方法、プログラム及び記録媒体
JP4182447B2 (ja) 2006-07-14 2008-11-19 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
JP4182446B2 (ja) 2006-07-14 2008-11-19 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体

Also Published As

Publication number Publication date
CN101309416A (zh) 2008-11-19
US20080285869A1 (en) 2008-11-20
JP2008288836A (ja) 2008-11-27
US8213731B2 (en) 2012-07-03
CN101309416B (zh) 2011-11-23

Similar Documents

Publication Publication Date Title
JP4360379B2 (ja) 画像処理装置及び画像処理方法、プログラム及び記録媒体
JP4356033B2 (ja) 画像データ処理装置および方法
JP4356030B2 (ja) 情報処理装置および方法
US7907785B2 (en) Image processing apparatus and image processing method
JP5152598B2 (ja) 符号化装置および符号化方法、並びに復号装置および復号方法
JP4182446B2 (ja) 情報処理装置および方法、プログラム、並びに記録媒体
JP4356029B2 (ja) 情報処理装置および方法
US8605793B2 (en) Information processing device and method, and program
JP4356031B2 (ja) 情報処理装置および方法
US8594427B2 (en) Method and apparatus for reducing memory capacity in encoding image data
JP4356032B2 (ja) 情報処理装置および方法
JP4793320B2 (ja) 情報処理装置および方法
US8249375B2 (en) Information processing apparatus and method
US8670624B2 (en) Information processing apparatus and method
JP4821835B2 (ja) 情報処理装置および方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090423

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090619

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

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

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130814

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees