JP2004201047A - 画像処理装置、プログラム及び記憶媒体 - Google Patents

画像処理装置、プログラム及び記憶媒体 Download PDF

Info

Publication number
JP2004201047A
JP2004201047A JP2002367507A JP2002367507A JP2004201047A JP 2004201047 A JP2004201047 A JP 2004201047A JP 2002367507 A JP2002367507 A JP 2002367507A JP 2002367507 A JP2002367507 A JP 2002367507A JP 2004201047 A JP2004201047 A JP 2004201047A
Authority
JP
Japan
Prior art keywords
wavelet transform
discrete wavelet
simd
processing apparatus
image processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002367507A
Other languages
English (en)
Inventor
Shosaku Tokuda
庄作 徳田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002367507A priority Critical patent/JP2004201047A/ja
Publication of JP2004201047A publication Critical patent/JP2004201047A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】離散ウェーブレット変換を用いた圧縮処理の高速化を図る。
【解決手段】1又は複数に分割された矩形領域毎に画素値を離散ウェーブレット変換して階層的に圧縮符号化する際の離散ウェーブレット変換を、SIMD(Single Instruction-stream Multiple Data-stream)プロセッサ41を用いたSIMD処理を用いて実行する。これにより、複数のデータに対して単一の命令を並列に実行させることができるSIMD処理を用いて実行することで、離散ウェーブレット変換処理の複数画素の計算を並列に実行させることができるので、離散ウェーブレット変換を用いた圧縮処理の高速化を図ることができる。
【選択図】 図8

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理装置、プログラム及び記憶媒体に関する。
【0002】
【従来の技術】
近年においては、画像圧縮伸長技術に対する高性能化あるいは多機能化の要求を満たす画像圧縮方式の一つとして、高圧縮率でも高画質な画像を復元可能なJPEG2000という新しい方式が規格化されつつある。かかるJPEG2000においては、ウェーブレット変換が利用されている。
【0003】
このようなウェーブレット変換を利用した圧縮・伸長では、整数型離散ウェーブレット変換と実数型離散ウェーブレット変換とが存在する。整数型離散ウェーブレット変換では5×3フィルタが用いられ、実数型離散ウェーブレット変換では9×7フィルタが用いられる。実数型離散ウェーブレット変換は、整数型離散ウェーブレット変換に比べて符号化効率が高いことが知られている。しかしながら、実数型離散ウェーブレット変換は、実数型であることと、演算対象データ量(変換で参照する画素数)が多いことから、処理時間が長くなるため、専用の画像処理ロジック回路または専用デジタル信号プロセッサを用いて処理が実行される。
【0004】
【発明が解決しようとする課題】
しかしながら、実数型離散ウェーブレット変換を実行するにあたっては、専用の画像処理ロジック回路または専用デジタル信号プロセッサを用いることにより、回路の規模が増えることとなるため、製造コストが増大するという問題が生じている。
【0005】
本発明の目的は、離散ウェーブレット変換を用いた圧縮処理の高速化を図ることができる画像処理装置、プログラム及び記憶媒体を提供することである。
【0006】
本発明の目的は、逆離散ウェーブレット変換を用いた伸長処理の高速化を図ることができる画像処理装置、プログラム及び記憶媒体を提供することである。
【0007】
【課題を解決するための手段】
請求項1記載の発明の画像処理装置は、1又は複数に分割された矩形領域毎に画素値を離散ウェーブレット変換して階層的に圧縮符号化する画像処理装置において、離散ウェーブレット変換を、SIMD(Single Instruction-stream Multiple Data-stream)処理を用いて実行する。
【0008】
したがって、複数のデータに対して単一の命令を並列に実行させることができるSIMD処理を用いて実行することで、離散ウェーブレット変換処理の複数画素の計算を並列に実行させることが可能になるので、離散ウェーブレット変換を用いた圧縮処理の高速化を図ることが可能になる。
【0009】
請求項2記載の発明は、請求項1記載の画像処理装置において、SIMD命令用レジスタに離散ウェーブレット変換に必要なフィルタ係数を設定して初期化し、離散ウェーブレット変換が全て終了するまで保持する。
【0010】
したがって、通常の浮動小数点ユニットを用いる場合に比べ、離散ウェーブレット変換に必要なフィルタ係数を全画素分初期化する時間が不要となるので、離散ウェーブレット変換を用いた圧縮処理の更なる高速化を図ることが可能になる。
【0011】
請求項3記載の発明の画像処理装置は、画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に符号化した圧縮符号を逆離散ウェーブレット変換により復号する画像処理装置において、逆離散ウェーブレット変換を、SIMD(Single Instruction-stream Multiple Data-stream)処理を用いて実行する。
【0012】
したがって、複数のデータに対して単一の命令を並列に実行させることができるSIMD処理を用いて実行することで、逆離散ウェーブレット変換処理の複数画素の計算を並列に実行させることが可能になるので、逆離散ウェーブレット変換を用いた伸長処理の高速化を図ることが可能になる。
【0013】
請求項4記載の発明は、請求項3記載の画像処理装置において、SIMD命令用レジスタに逆離散ウェーブレット変換に必要なフィルタ係数を設定して初期化し、逆離散ウェーブレット変換が全て終了するまで保持する。
【0014】
したがって、通常の浮動小数点ユニットを用いる場合に比べ、逆離散ウェーブレット変換に必要なフィルタ係数を全画素分初期化する時間が不要となるので、逆離散ウェーブレット変換を用いた伸長処理の更なる高速化を図ることが可能になる。
【0015】
請求項5記載の発明は、請求項1ないし4のいずれか一記載の画像処理装置において、SIMD処理を行う対象データをメモリ上に連続して配置した後に、SIMD命令用レジスタに転送する。
【0016】
したがって、SIMD処理を行う対象データは、整列した状態でSIMD命令用レジスタに対して順次転送される。
【0017】
請求項6記載の発明は、請求項1ないし5のいずれか一記載の画像処理装置において、ウェーブレット変換処理結果を、キャッシュのフィルを行わずにメモリに書き込む。
【0018】
したがって、データキャッシュを汚染することがなくなり、また、処理の高速化を実現することが可能になる。
【0019】
請求項7記載の発明のプログラムは、1又は複数に分割された矩形領域毎に画素値を離散ウェーブレット変換して階層的に圧縮符号化する画像処理装置が有するコンピュータにインストールされるか、あるいは解釈されて実行されるプログラムであって、前記コンピュータに備えられたSIMD(Single Instruction-stream Multiple Data-stream)プロセッサを用いて離散ウェーブレット変換を実行する。
【0020】
したがって、複数のデータに対して単一の命令を並列に実行させることができるSIMDプロセッサを用いて離散ウェーブレット変換を実行することで、離散ウェーブレット変換処理の複数画素の計算を並列に実行させることが可能になるので、離散ウェーブレット変換を用いた圧縮処理の高速化を図ることが可能になる。
【0021】
請求項8記載の発明のプログラムは、画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に符号化した圧縮符号を逆離散ウェーブレット変換により復号する画像処理装置が有するコンピュータにインストールされるか、あるいは解釈されて実行されるプログラムであって、前記コンピュータに備えられたSIMD(Single Instruction-stream Multiple Data-stream)プロセッサを用いて逆離散ウェーブレット変換を実行する。
【0022】
したがって、複数のデータに対して単一の命令を並列に実行させることができるSIMDプロセッサを用いて逆離散ウェーブレット変換を実行することで、逆離散ウェーブレット変換処理の複数画素の計算を並列に実行させることが可能になるので、逆離散ウェーブレット変換を用いた伸長処理の高速化を図ることが可能になる。
【0023】
請求項9記載の発明の記憶媒体は、1又は複数に分割された矩形領域毎に画素値を離散ウェーブレット変換して階層的に圧縮符号化する画像処理装置が有するコンピュータにインストールされるか、あるいは解釈されて実行されるプログラムであって、前記コンピュータに備えられたSIMD(Single Instruction-stream Multiple Data-stream)プロセッサを用いて離散ウェーブレット変換を実行するプログラムを記憶する。
【0024】
したがって、複数のデータに対して単一の命令を並列に実行させることができるSIMDプロセッサを用いて離散ウェーブレット変換を実行することで、離散ウェーブレット変換処理の複数画素の計算を並列に実行させることが可能になるので、離散ウェーブレット変換を用いた圧縮処理の高速化を図ることが可能になる。
【0025】
請求項10記載の発明の記憶媒体は、画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に符号化した圧縮符号を逆離散ウェーブレット変換により復号する画像処理装置が有するコンピュータにインストールされるか、あるいは解釈されて実行されるプログラムであって、前記コンピュータに備えられたSIMD(Single Instruction-stream Multiple Data-stream)プロセッサを用いて逆離散ウェーブレット変換を実行するプログラムを記憶する。
【0026】
したがって、複数のデータに対して単一の命令を並列に実行させることができるSIMDプロセッサを用いて逆離散ウェーブレット変換を実行することで、逆離散ウェーブレット変換処理の複数画素の計算を並列に実行させることが可能になるので、逆離散ウェーブレット変換を用いた伸長処理の高速化を図ることが可能になる。
【0027】
【発明の実施の形態】
最初に、本実施の形態の前提となる「階層符号化アルゴリズム」及び「JPEG2000アルゴリズム」の概要について説明する。
【0028】
図1は、JPEG2000方式の基本となる階層符号化アルゴリズムを実現するシステムの機能ブロック図である。このシステムは、色空間変換・逆変換部101、2次元ウェーブレット変換・逆変換部102、量子化・逆量子化部103、エントロピー符号化・復号化部104、タグ処理部105の各機能ブロックにより構成されている。
【0029】
このシステムが従来のJPEGアルゴリズムと比較して最も大きく異なる点の一つは変換方式である。JPEGでは離散コサイン変換(DCT:Discrete Cosine Transform)を用いているのに対し、この階層符号化アルゴリズムでは、2次元ウェーブレット変換・逆変換部102において、離散ウェーブレット変換(DWT:Discrete Wavelet Transform)を用いている。DWTはDCTに比べて、高圧縮領域における画質が良いという長所を有し、この点が、JPEGの後継アルゴリズムであるJPEG2000でDWTが採用された大きな理由の一つとなっている。
【0030】
また、他の大きな相違点は、この階層符号化アルゴリズムでは、システムの最終段に符号形成を行うために、タグ処理部105の機能ブロックが追加されていることである。このタグ処理部105で、画像の圧縮動作時には圧縮データが符号列データとして生成され、伸長動作時には伸長に必要な符号列データの解釈が行われる。そして、符号列データによって、JPEG2000は様々な便利な機能を実現できるようになった。例えば、ブロック・ベースでのDWTにおけるオクターブ分割に対応した任意の階層(デコンポジション・レベル)で、静止画像の圧縮伸長動作を自由に停止させることができるようになる(後述する図3参照)。
【0031】
原画像の入出力部分には、色空間変換・逆変換101が接続される場合が多い。例えば、原色系のR(赤)/G(緑)/B(青)の各コンポーネントからなるRGB表色系や、補色系のY(黄)/M(マゼンタ)/C(シアン)の各コンポーネントからなるYMC表色系から、YUVあるいはYCbCr表色系への変換又は逆変換を行う部分がこれに相当する。
【0032】
次に、JPEG2000アルゴリズムについて説明する。
【0033】
カラー画像は、一般に、図2に示すように、原画像の各コンポーネント111(ここではRGB原色系)が、矩形をした領域によって分割される。この分割された矩形領域は、一般にブロックあるいはタイルと呼ばれているものであるが、JPEG2000では、タイルと呼ぶことが一般的であるため、以下、このような分割された矩形領域をタイルと記述することにする(図2の例では、各コンポーネント111が縦横4×4、合計16個の矩形のタイル112に分割されている)。このような個々のタイル112(図2の例で、R00,R01,…,R15/G00,G01,…,G15/B00,B01,…,B15)が、画像データの圧縮伸長プロセスを実行する際の基本単位となる。従って、画像データの圧縮伸長動作は、コンポーネントごと、また、タイル112ごとに、独立に行われる。
【0034】
画像データの符号化時には、各コンポーネント111の各タイル112のデータが、図1の色空間変換・逆変換部101に入力され、色空間変換を施された後、2次元ウェーブレット変換・逆変換部102で2次元ウェーブレット変換(順変換)が施されて、周波数帯に空間分割される。
【0035】
図3には、デコンポジション・レベル数が3の場合の、各デコンポジション・レベルにおけるサブバンドを示している。すなわち、原画像のタイル分割によって得られたタイル原画像(0LL)(デコンポジション・レベル0)に対して、2次元ウェーブレット変換を施し、デコンポジション・レベル1に示すサブバンド(1LL,1HL,1LH,1HH)を分離する。そして引き続き、この階層における低周波成分1LLに対して、2次元ウェーブレット変換を施し、デコンポジション・レベル2に示すサブバンド(2LL,2HL,2LH,2HH)を分離する。順次同様に、低周波成分2LLに対しても、2次元ウェーブレット変換を施し、デコンポジション・レベル3に示すサブバンド(3LL,3HL,3LH,3HH)を分離する。図3では、各デコンポジション・レベルにおいて符号化の対象となるサブバンドを、網掛けで表してある。例えば、デコンポジション・レベル数を3としたとき、網掛けで示したサブバンド(3HL,3LH,3HH,2HL,2LH,2HH,1HL,1LH,1HH)が符号化対象となり、3LLサブバンドは符号化されない。
【0036】
次いで、指定した符号化の順番で符号化の対象となるビットが定められ、図1に示す量子化・逆量子化部103で対象ビット周辺のビットからコンテキストが生成される。
【0037】
この量子化の処理が終わったウェーブレット係数は、個々のサブバンド毎に、「プレシンクト」と呼ばれる重複しない矩形に分割される。これは、インプリメンテーションでメモリを効率的に使うために導入されたものである。図4に示したように、一つのプレシンクトは、空間的に一致した3つの矩形領域からなっている。更に、個々のプレシンクトは、重複しない矩形の「コード・ブロック」に分けられる。これは、エントロピー・コーディングを行う際の基本単位となる。
【0038】
ウェーブレット変換後の係数値は、そのまま量子化し符号化することも可能であるが、JPEG2000では符号化効率を上げるために、係数値を「ビットプレーン」単位に分解し、画素あるいはコード・ブロック毎に「ビットプレーン」に順位付けを行うことができる。
【0039】
ここで、図5はビットプレーンに順位付けする手順の一例を示す説明図である。図5に示すように、この例は、原画像(32×32画素)を16×16画素のタイル4つで分割した場合で、デコンポジション・レベル1のプレシンクトとコード・ブロックの大きさは、各々8×8画素と4×4画素としている。プレシンクトとコード・ブロックの番号は、ラスター順に付けられており、この例では、プレンシクトが番号0から3まで、コード・ブロックが番号0から3まで割り当てられている。タイル境界外に対する画素拡張にはミラーリング法を使い、可逆(5,3)フィルタでウェーブレット変換を行い、デコンポジション・レベル1のウェーブレット係数値を求めている。
【0040】
また、タイル0/プレシンクト3/コード・ブロック3について、代表的な「レイヤ」構成の概念の一例を示す説明図も図5に併せて示す。変換後のコード・ブロックは、サブバンド(1LL,1HL,1LH,1HH)に分割され、各サブバンドにはウェーブレット係数値が割り当てられている。
【0041】
レイヤの構造は、ウェーブレット係数値を横方向(ビットプレーン方向)から見ると理解し易い。1つのレイヤは任意の数のビットプレーンから構成される。この例では、レイヤ0,1,2,3は、各々、1,3,1,3のビットプレーンから成っている。そして、LSB(Least Significant Bit:最下位ビット)に近いビットプレーンを含むレイヤ程、先に量子化の対象となり、逆に、MSB(Most Significant Bit:最上位ビット)に近いレイヤは最後まで量子化されずに残ることになる。LSBに近いレイヤから破棄する方法はトランケーションと呼ばれ、量子化率を細かく制御することが可能である。
【0042】
図1に示すエントロピー符号化・復号化部104では、コンテキストと対象ビットから確率推定によって、各コンポーネント111のタイル112に対する符号化を行う。こうして、原画像の全てのコンポーネント111について、タイル112単位で符号化処理が行われる。最後にタグ処理部105は、エントロピー符号化・復号化部104からの全符号化データを1本の符号列データ(コードストリーム)に結合するとともに、それにタグを付加する処理を行う。
【0043】
図6は、JPEG2000の符号フォーマットの概略構成を示すものである。符号フォーマットは、符号データの始まりを示すSOC(Start of Codestream)マーカで始まる。SOCマーカの後には符号化のパラメータや量子化のパラメータ等を記述したタグ情報であるメインヘッダ(Main Header)が続き、その後に実際の符号データが続く。実際の符号データは、SOT(Start of Tile-part)マーカで始まり、タグ情報であるタイルヘッダ(Tile Header)、SOD(Start of data)マーカ、タイルデータ(符号:bit stream)で構成される。これら画像全体に相当する符号データの後に、符号の終了を示すタグ情報であるEOC(End of
Codestream)マーカが付加される。
【0044】
一方、復号化時には、画像データの符号化時とは逆に、各コンポーネント111の各タイル112の符号列データから画像データを生成する。この場合、タグ処理部105は、外部より入力した符号列データに付加されたタグ情報を解釈し、符号列データを各コンポーネント111の各タイル112の符号列データに分解し、その各コンポーネント111の各タイル112の符号列データ毎に復号化処理(伸長処理)を行う。このとき、符号列データ内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、量子化・逆量子化部103で、その対象ビット位置の周辺ビット(既に復号化を終えている)の並びからコンテキストが生成される。エントロピー符号化・復号化部104で、このコンテキストと符号列データから確率推定によって復号化を行い、対象ビットを生成し、それを対象ビットの位置に書き込む。このようにして復号化されたデータは周波数帯域毎に空間分割されているため、これを2次元ウェーブレット変換・逆変換部102で2次元ウェーブレット逆変換を行うことにより、画像データの各コンポーネントの各タイルが復元される。復元されたデータは色空間変換・逆変換部101によって元の表色系の画像データに変換される。
【0045】
以上が、「JPEG2000アルゴリズム」の概要である。
【0046】
以下、本発明の実施の一形態について説明する。なお、ここでは、JPEG2000を代表とする画像圧縮伸長技術に関する例について説明するが、言うまでもなく、本発明は以下の説明の内容に限定されるものではない。
【0047】
図7はカメラシステム1の概略構成を示すブロック図である。図7に示すように、カメラシステム1は、画像を撮影する画像入力装置2と、この撮影した画像データを圧縮符号化及び伸長する画像圧縮伸長装置3と、符号化された符号化データの入力を許容する符号化データ入力装置4と、カメラシステム1の全体を制御するマイクロコンピュータを備えた制御部5とを備えている。
【0048】
画像圧縮伸長装置3は、画像データの圧縮処理及び伸長処理を行う本発明の画像処理装置を実施するものである。この画像圧縮伸長装置3は、画像入力装置2で撮影した画像データに対して画像圧縮処理を行い、または、取得した符号化データに対して画像伸長処理を行うが、それらの処理の全部又は一部は、所定の制御プログラムに基づいて、プロセッサ30(図8参照)が実行する。
【0049】
図8は、画像圧縮伸長装置3の処理系のハードウエア構成を示すブロック図である。図8に示すように、この処理系は、各種演算を行い、各部を集中的に制御するコンピュータの主要部であるプロセッサ30と、本発明のプログラムを実施するプロセッサ30で読取り可能な各種の制御プログラムや、各種の固定データを記憶していて、本発明の記憶媒体を実施するフラッシュメモリであるROM(Read Only Memory)31と、各種データを書き換え可能に記憶し、プロセッサ30の作業エリアとなるメモリであるRAM(Random Access Memory)32と、I/Oポート33とが、バス34で接続されている。すなわち、プロセッサ30と、ROM31と、RAM32とにより、コンピュータが構成されている。ROM31は、そのROM31に記憶されている制御プログラムなどを、I/Oポート33を介し、図示しない外部装置からダウンロードして書き換えることが可能である。また、図8に示すように、本実施の形態のプロセッサ30は、SIMD(Single Instruction-stream Multiple Data-stream)型プロセッサ(SIMDプロセッサ)41を備えている。
【0050】
次に、SIMD型プロセッサ41について簡単に説明する。図9は、SIMD型プロセッサ41の構成を示すブロック図である。図9に示すように、SIMD型プロセッサ41は、グローバルプロセッサ42を備えている。グローバルプロセッサ42は、図示しないプログラムRAMとデータRAMとを内蔵し、ROM31に格納されている制御プログラムを解読して、各種制御信号を生成する。この制御信号は内蔵する各種ブロックの制御以外にもSIMD命令用レジスタであるレジスタファイル43、演算アレイ44に供給される。また、GP(グローバルプロセッサ)命令実行時は、SIMD型プロセッサ41が内蔵する汎用レジスタ、ALU(算術論理演算器)等(いずれも図示せず)を使用して、各種演算処理、プログラム制御処理を行う。
【0051】
レジスタファイル43は、PE(プロセッサ・エレメント)命令で処理されるデータを保持している。PE命令は、SIMDタイプの命令であり、レジスタファイル43に保持されている複数のデータに対して同時に同じ処理を行う。このレジスタファイル43からのデータの読み出し、書き込みの制御は、グローバルプロセッサ42からの制御によって行われる。読み出されたデータは演算アレイ44に送られ、演算アレイ44での演算処理後にレジスタファイル43に書き込まれる。
【0052】
演算アレイ44は、PE命令の演算処理を行う。処理の制御はすべてグローバルプロセッサ42から行われる。
【0053】
グローバルプロセッサ42には、前述のように本プロセッサ41のプログラム格納用のプログラムRAMと、演算データ格納用のデータRAMが内蔵されている他、プログラムのアドレスを保持するプログラムカウンタ(PC)、演算処理のデータ格納のための汎用レジスタ、レジスタ退避、復帰時に退避先データRAMアドレスを保持するスタックポインタ(SP)、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタ(LS)、同じくIRQ時とNMI時の分岐元アドレスを保持するLIレジスタ、LNレジスタ、プロセッサの状態を保持するプロセッサステータスレジスタ(P)が内蔵されている(いずれも図示せず)。
【0054】
グローバルプロセッサ42は、これらのレジスタと図示しない命令デコーダ、ALU(論理演算器)、メモリ制御回路、割り込み制御回路、外部I/O制御回路、GP演算制御回路を使用して、GP命令の実行を行う。また、PE命令実行時は命令デコーダ、図示しないレジスタファイル制御回路、PE演算制御回路を使用して、レジスタファイル43の制御と演算アレイ44の制御を行う。
【0055】
すなわち、このSIMD型プロセッサ41は1次元SIMD型プロセッサであり、複数のデータに対し、単一の命令を並列に実行させることができるものである。
【0056】
このようなSIMD型プロセッサ41を備えるプロセッサ30がROM31に格納されている制御プログラムに従い、RAM32を作業エリアとして動作することにより、以下のような処理を実行する。ここでは、「JPEG2000アルゴリズム」に従った圧縮処理のうち、2次元ウェーブレット変換・逆変換部102における実数型離散ウェーブレット変換(順変換)(以下、実数型DWTという)処理について説明する。
【0057】
実数型DWT処理においては、まず、レジスタファイル43に実数型DWT処理に必要な9つのローパスフィルタの係数(フィルタ係数)を設定して初期化する。この係数は、実数型DWT処理が全て終了するまで保持される。これにより、通常の浮動小数点ユニットを用いる場合に比べると、9つのフィルタ係数を全画素分初期化する時間が不要となるので、高速化に大変寄与することとなる。ここで、図10はレジスタファイル43に記憶される係数の一例を示す説明図である。図10に示すように、レジスタファイル43には、2次元ウェーブレット変換・逆変換部102における実数型DWT処理に必要な9つのローパスフィルタの係数が記憶保持されている。
【0058】
次に、レジスタファイル43に対して設定する画素データである変換対象データをRAM32に連続して配置した後、レジスタファイル43に転送する。ここで、図11は、レジスタファイル43に対して変換対象データを転送する様子を示すものである。図11に示すように、変換対象データはRAM32内に整列されてはいないので、RAM32内に一度整理し、各データを1つずつレジスタファイル43にロードする。
【0059】
その後、SIMD命令を使用する。図12は、レジスタファイル43上でのSIMD命令を使用した変換処理を示すものであり、フィルタ係数と変換対象データとの乗算を9つの係数分同時に並行して行い、その結果を加算してウェーブレット変換を行う。
【0060】
なお、実数型DWT処理の結果はすぐには参照されないデータであるので、プロセッサ30のデータキャッシュ(図示せず)を汚染しないようにキャッシュのフィルを行わないでRAM32に書き込む。これにより、処理の高速化を実現することができる。
【0061】
これにより、実数型DWT処理に必要な画素データをSIMD型プロセッサ41のレジスタファイル43に全てロードした後にSIMD命令を使用することで、複数画素の演算を並列に実行することができ、演算回数分のループを構成する必要がなくなるので、処理の高速化を実現することができる。
【0062】
ここに、複数のデータに対して単一の命令を並列に実行させることができるSIMD処理を用いて離散ウェーブレット変換を実行することで、離散ウェーブレット変換処理の複数画素の計算を並列に実行させることができるので、離散ウェーブレット変換を用いた圧縮処理の高速化を図ることができる。
【0063】
なお、本実施の形態においては、2次元ウェーブレット変換・逆変換部102における実数型離散ウェーブレット変換(順変換)処理について説明したが、符号化データ入力装置4を介して入力された符号化データの伸長処理の際の2次元ウェーブレット変換・逆変換部102における逆離散ウェーブレット変換処理においても同様にSIMD命令を使用することで、処理の高速化を実現することができる。
【0064】
ここに、複数のデータに対して単一の命令を並列に実行させることができるSIMD処理を用いて逆離散ウェーブレット変換を実行することで、逆離散ウェーブレット変換処理の複数画素の計算を並列に実行させることができるので、逆離散ウェーブレット変換を用いた伸長処理の高速化を図ることができる。
【0065】
なお、本実施の形態においては、ROM31に記憶されたプログラムに基づいてプロセッサ30が備えるSIMD型プロセッサ41でSIMD処理を実行するようにしたが、これに限るものではない。例えば、図13に示すように、画像圧縮伸長装置3に論理回路50を設け、この論理回路50にSIMD型プロセッサ41を備える。そして、論理回路50が備えるSIMD型プロセッサ41でSIMD処理を実行するようにしても良い。すなわち、リアルタイム性を重要視する必要があるような場合には、論理回路50の動作により、SIMD型プロセッサ41におけるSIMD処理を実現するようにするのが望ましい。
【0066】
【発明の効果】
請求項1記載の発明の画像処理装置によれば、1又は複数に分割された矩形領域毎に画素値を離散ウェーブレット変換して階層的に圧縮符号化する画像処理装置において、離散ウェーブレット変換を、SIMD(Single Instruction-stream Multiple Data-stream)処理を用いて実行することにより、離散ウェーブレット変換処理の複数画素の計算を並列に実行させることができるので、離散ウェーブレット変換を用いた圧縮処理の高速化を図ることができる。
【0067】
請求項2記載の発明によれば、請求項1記載の画像処理装置において、SIMD命令用レジスタに離散ウェーブレット変換に必要なフィルタ係数を設定して初期化し、離散ウェーブレット変換が全て終了するまで保持することにより、通常の浮動小数点ユニットを用いる場合に比べ、離散ウェーブレット変換に必要なフィルタ係数を全画素分初期化する時間が不要となるので、離散ウェーブレット変換を用いた圧縮処理の更なる高速化を図ることができる。
【0068】
請求項3記載の発明の画像処理装置によれば、画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に符号化した圧縮符号を逆離散ウェーブレット変換により復号する画像処理装置において、逆離散ウェーブレット変換を、SIMD(Single Instruction-stream Multiple Data-stream)処理を用いて実行することにより、逆離散ウェーブレット変換処理の複数画素の計算を並列に実行させることができるので、逆離散ウェーブレット変換を用いた伸長処理の高速化を図ることができる。
【0069】
請求項4記載の発明によれば、請求項3記載の画像処理装置において、SIMD命令用レジスタに逆離散ウェーブレット変換に必要なフィルタ係数を設定して初期化し、逆離散ウェーブレット変換が全て終了するまで保持することにより、通常の浮動小数点ユニットを用いる場合に比べ、逆離散ウェーブレット変換に必要なフィルタ係数を全画素分初期化する時間が不要となるので、逆離散ウェーブレット変換を用いた伸長処理の更なる高速化を図ることができる。
【0070】
請求項5記載の発明によれば、請求項1ないし4のいずれか一記載の画像処理装置において、SIMD処理を行う対象データをメモリ上に連続して配置した後に、SIMD命令用レジスタに転送することにより、SIMD処理を行う対象データを、整列した状態でSIMD命令用レジスタに対して順次転送することができる。
【0071】
請求項6記載の発明によれば、請求項1ないし5のいずれか一記載の画像処理装置において、ウェーブレット変換処理結果を、キャッシュのフィルを行わずにメモリに書き込むことにより、データキャッシュを汚染することがなくなり、また、処理の高速化を実現することができる。
【0072】
請求項7記載の発明のプログラムによれば、1又は複数に分割された矩形領域毎に画素値を離散ウェーブレット変換して階層的に圧縮符号化する画像処理装置が有するコンピュータにインストールされるか、あるいは解釈されて実行されるプログラムであって、前記コンピュータに備えられたSIMD(Single Instruction-stream Multiple Data-stream)プロセッサを用いて離散ウェーブレット変換を実行することにより、離散ウェーブレット変換処理の複数画素の計算を並列に実行させることができるので、離散ウェーブレット変換を用いた圧縮処理の高速化を図ることができる。
【0073】
請求項8記載の発明のプログラムによれば、画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に符号化した圧縮符号を逆離散ウェーブレット変換により復号する画像処理装置が有するコンピュータにインストールされるか、あるいは解釈されて実行されるプログラムであって、前記コンピュータに備えられたSIMD(Single Instruction-stream Multiple Data-stream)プロセッサを用いて逆離散ウェーブレット変換を実行することにより、逆離散ウェーブレット変換処理の複数画素の計算を並列に実行させることができるので、逆離散ウェーブレット変換を用いた伸長処理の高速化を図ることができる。
【0074】
請求項9記載の発明の記憶媒体によれば、1又は複数に分割された矩形領域毎に画素値を離散ウェーブレット変換して階層的に圧縮符号化する画像処理装置が有するコンピュータにインストールされるか、あるいは解釈されて実行されるプログラムであって、前記コンピュータに備えられたSIMD(Single Instruction-stream Multiple Data-stream)プロセッサを用いて離散ウェーブレット変換を実行するプログラムを記憶することにより、離散ウェーブレット変換処理の複数画素の計算を並列に実行させることができるので、離散ウェーブレット変換を用いた圧縮処理の高速化を図ることができる。
【0075】
請求項10記載の発明の記憶媒体によれば、画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に符号化した圧縮符号を逆離散ウェーブレット変換により復号する画像処理装置が有するコンピュータにインストールされるか、あるいは解釈されて実行されるプログラムであって、前記コンピュータに備えられたSIMD(Single Instruction-stream Multiple Data-stream)プロセッサを用いて逆離散ウェーブレット変換を実行するプログラムを記憶することにより、逆離散ウェーブレット変換処理の複数画素の計算を並列に実行させることができるので、逆離散ウェーブレット変換を用いた伸長処理の高速化を図ることができる。
【図面の簡単な説明】
【図1】本発明の前提となるJPEG2000方式の基本となる階層符号化アルゴリズムを実現するシステムの機能ブロック図である。
【図2】原画像の各コンポーネントの分割された矩形領域を示す説明図である。
【図3】デコンポジション・レベル数が3の場合の、各デコンポジション・レベルにおけるサブバンドを示す説明図である。
【図4】プレシンクトを示す説明図である。
【図5】ビットプレーンに順位付けする手順の一例を示す説明図である。
【図6】JPEG2000の符号フォーマットの概略構成を示す説明図である。
【図7】本発明の実施の一形態のカメラシステムの概略構成を示すブロック図である。
【図8】画像圧縮伸長装置の処理系のハードウエア構成を示すブロック図である。
【図9】SIMD型プロセッサの構成を示すブロック図である。
【図10】レジスタファイルに記憶される係数の一例を示す説明図である。
【図11】レジスタファイルに対して変換対象データを転送する様子を示す説明図である。
【図12】レジスタファイル上でのSIMD命令を使用した変換処理を示す説明図である。
【図13】画像圧縮伸長装置の処理系のハードウエア構成の変形例を示すブロック図である。
【符号の説明】
3 画像処理装置
30,31,32 コンピュータ
31 記憶媒体
32 メモリ
41 SIMDプロセッサ
43 SIMD命令用レジスタ

Claims (10)

  1. 1又は複数に分割された矩形領域毎に画素値を離散ウェーブレット変換して階層的に圧縮符号化する画像処理装置において、
    離散ウェーブレット変換を、SIMD(Single Instruction-stream MultipleData-stream)処理を用いて実行することを特徴とする画像処理装置。
  2. SIMD命令用レジスタに離散ウェーブレット変換に必要なフィルタ係数を設定して初期化し、離散ウェーブレット変換が全て終了するまで保持することを特徴とする請求項1記載の画像処理装置。
  3. 画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に符号化した圧縮符号を逆離散ウェーブレット変換により復号する画像処理装置において、
    逆離散ウェーブレット変換を、SIMD(Single Instruction-stream Multiple Data-stream)処理を用いて実行することを特徴とする画像処理装置。
  4. SIMD命令用レジスタに逆離散ウェーブレット変換に必要なフィルタ係数を設定して初期化し、逆離散ウェーブレット変換が全て終了するまで保持することを特徴とする請求項3記載の画像処理装置。
  5. SIMD処理を行う対象データをメモリ上に連続して配置した後に、SIMD命令用レジスタに転送することを特徴とする請求項1ないし4のいずれか一記載の画像処理装置。
  6. ウェーブレット変換処理結果を、キャッシュのフィルを行わずにメモリに書き込むことを特徴とする請求項1ないし5のいずれか一記載の画像処理装置。
  7. 1又は複数に分割された矩形領域毎に画素値を離散ウェーブレット変換して階層的に圧縮符号化する画像処理装置が有するコンピュータにインストールされるか、あるいは解釈されて実行されるプログラムであって、
    前記コンピュータに備えられたSIMD(Single Instruction-stream Multiple Data-stream)プロセッサを用いて離散ウェーブレット変換を実行することを特徴とするプログラム。
  8. 画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に符号化した圧縮符号を逆離散ウェーブレット変換により復号する画像処理装置が有するコンピュータにインストールされるか、あるいは解釈されて実行されるプログラムであって、
    前記コンピュータに備えられたSIMD(Single Instruction-stream Multiple Data-stream)プロセッサを用いて逆離散ウェーブレット変換を実行することを特徴とするプログラム。
  9. 1又は複数に分割された矩形領域毎に画素値を離散ウェーブレット変換して階層的に圧縮符号化する画像処理装置が有するコンピュータにインストールされるか、あるいは解釈されて実行されるプログラムであって、
    前記コンピュータに備えられたSIMD(Single Instruction-stream Multiple Data-stream)プロセッサを用いて離散ウェーブレット変換を実行するプログラムを記憶することを特徴とする記憶媒体。
  10. 画像を1又は複数に分割した矩形領域毎に画素値を離散ウェーブレット変換し階層的に符号化した圧縮符号を逆離散ウェーブレット変換により復号する画像処理装置が有するコンピュータにインストールされるか、あるいは解釈されて実行されるプログラムであって、
    前記コンピュータに備えられたSIMD(Single Instruction-stream Multiple Data-stream)プロセッサを用いて逆離散ウェーブレット変換を実行するプログラムを記憶することを特徴とする記憶媒体。
JP2002367507A 2002-12-19 2002-12-19 画像処理装置、プログラム及び記憶媒体 Pending JP2004201047A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002367507A JP2004201047A (ja) 2002-12-19 2002-12-19 画像処理装置、プログラム及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002367507A JP2004201047A (ja) 2002-12-19 2002-12-19 画像処理装置、プログラム及び記憶媒体

Publications (1)

Publication Number Publication Date
JP2004201047A true JP2004201047A (ja) 2004-07-15

Family

ID=32764369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002367507A Pending JP2004201047A (ja) 2002-12-19 2002-12-19 画像処理装置、プログラム及び記憶媒体

Country Status (1)

Country Link
JP (1) JP2004201047A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009505497A (ja) * 2005-08-12 2009-02-05 マイクロソフト コーポレーション Simd型重複変換ベースのデジタルメディア符号化/復号化
KR101079697B1 (ko) 2009-10-05 2011-11-03 주식회사 글로벌미디어테크 범용 그래픽 처리장치의 병렬 프로세서를 이용한 고속 영상 처리 방법
US8275209B2 (en) 2008-10-10 2012-09-25 Microsoft Corporation Reduced DC gain mismatch and DC leakage in overlap transform processing
US8369638B2 (en) 2008-05-27 2013-02-05 Microsoft Corporation Reducing DC leakage in HD photo transform
US8447591B2 (en) 2008-05-30 2013-05-21 Microsoft Corporation Factorization of overlapping tranforms into two block transforms
CN117119119A (zh) * 2023-08-24 2023-11-24 深圳市丕微科技企业有限公司 一种图像数据的压缩传输方法、装置以及系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009505497A (ja) * 2005-08-12 2009-02-05 マイクロソフト コーポレーション Simd型重複変換ベースのデジタルメディア符号化/復号化
US8036274B2 (en) 2005-08-12 2011-10-11 Microsoft Corporation SIMD lapped transform-based digital media encoding/decoding
JP4906856B2 (ja) * 2005-08-12 2012-03-28 マイクロソフト コーポレーション Simd型重複変換ベースのデジタルメディア符号化/復号化
US8369638B2 (en) 2008-05-27 2013-02-05 Microsoft Corporation Reducing DC leakage in HD photo transform
US8724916B2 (en) 2008-05-27 2014-05-13 Microsoft Corporation Reducing DC leakage in HD photo transform
US8447591B2 (en) 2008-05-30 2013-05-21 Microsoft Corporation Factorization of overlapping tranforms into two block transforms
US8275209B2 (en) 2008-10-10 2012-09-25 Microsoft Corporation Reduced DC gain mismatch and DC leakage in overlap transform processing
KR101079697B1 (ko) 2009-10-05 2011-11-03 주식회사 글로벌미디어테크 범용 그래픽 처리장치의 병렬 프로세서를 이용한 고속 영상 처리 방법
CN117119119A (zh) * 2023-08-24 2023-11-24 深圳市丕微科技企业有限公司 一种图像数据的压缩传输方法、装置以及系统
CN117119119B (zh) * 2023-08-24 2024-06-11 深圳市丕微科技企业有限公司 一种图像数据的压缩传输方法、装置以及系统

Similar Documents

Publication Publication Date Title
KR101710001B1 (ko) 그래픽 프로세스 유닛 기반 jpeg2000 인코딩/디코딩 장치 및 방법
JP4618676B2 (ja) 構造化文書符号の転送方法、画像処理システム、サーバ装置、プログラム及び情報記録媒体
US7113645B2 (en) Image decompression apparatus and method
CN101123723A (zh) 基于图形处理器的数字视频解码方法
JP2004194152A (ja) 画像処理装置、プログラム、記憶媒体及び画像編集方法
JP2007124619A (ja) 画像処理装置、画像処理方法、プログラム、情報記録媒体
CN102158694A (zh) 一种基于gpu的遥感图像解压缩方法
JP3952459B2 (ja) 画像処理装置、プログラム、記憶媒体及び画像処理方法
JP2004254298A (ja) 画像処理装置、プログラム及び記憶媒体
JP2004201047A (ja) 画像処理装置、プログラム及び記憶媒体
JP2004186871A (ja) 画像処理装置、撮像装置、プログラム及び記憶媒体
US9819969B2 (en) Generalization of methods and systems for image compression while encoding at least one extra bit
JP2007014002A (ja) 画像処理装置、画像処理用プログラム及び記録媒体
JP4111761B2 (ja) 画像処理装置
JP4489474B2 (ja) 画像処理装置、プログラムおよび記録媒体
JP2002369202A (ja) 画像圧縮装置、画像伸長装置、画像圧縮方法、画像伸長方法、プログラム、及び該プログラムを記録した記録媒体
JP2004112566A (ja) 画像処理装置、画像処理方法、画像処理プログラム、及び画像処理プログラムを記憶する記憶媒体
JP4124436B2 (ja) 動き量推定装置、プログラム、記憶媒体および動き量推定方法
JP3989801B2 (ja) 画像処理装置、画像処理用プログラム及び記憶媒体
CN111567042B (zh) 小波逆变换电路和方法
JP4280752B2 (ja) コンピュータ等の画像処理装置、画像処理用プログラム及び記憶媒体
JP3987425B2 (ja) 画像伸長装置、プログラム、記憶媒体及び画像伸長方法
JP2008005022A (ja) 符号変換装置およびプログラム
JP4688164B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
JP2004096695A (ja) 画像処理装置、画像表示装置、プログラム、記憶媒体及び画像処理方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041007

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050601

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050601

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20060925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070411

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070611

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070816