(57)【要約】【課題】中間バッファを低減できるとともに、少数演算精度を維持したままノイズを効果的に除去できるデータ変換装置を提供する。【解決手段】水平方向にウェーブレット変換されて固定小数点数の高周波成分及び低周波成分に分離された入力信号を入力し、高周波成分及び低周波成分を個別にブロック浮動小数点変換して格納し、ブロック浮動小数点変換された高周波成分及び低周波成分のそれぞれを固定小数点数に再変換する小数点変換手段を備え、小数点変換手段は、ブロック浮動小数点変換した低周波成分を格納する第１の記憶領域と、ブロック浮動小数点変換した高周波成分を格納する第２の記憶領域と、を有し、第２の記憶領域が第１の記憶領域よりも小さいデータ変換装置とする。【選択図】      図１
2015018373.tif 000002
【特許請求の範囲】
【請求項１】
水平方向にウェーブレット変換されて高周波成分と低周波成分とに分離された固定小数点数のデータを入力し、前記高周波成分及び前記低周波成分を個別にブロック浮動小数点変換して格納し、ブロック浮動小数点変換された前記高周波成分及び前記低周波成分のそれぞれを固定小数点数に再変換する小数点変換手段を備え、
前記小数点変換手段は、
ブロック浮動小数点変換した前記低周波成分を格納する第１の記憶領域と、
ブロック浮動小数点変換した前記高周波成分を格納する第２の記憶領域と、を有し、
前記第２の記憶領域は、前記第１の記憶領域よりも小さいことを特徴とするデータ変換装置。
【請求項２】
ブロック浮動小数点変換時にバッファリングする前記低周波成分の数である第１のブロック長と、ブロック浮動小数点変換時にバッファリングする前記高周波成分の数である第２のブロック長と、が異なり、
前記第２のブロック長は、前記第１のブロック長よりも大きいことを特徴とする請求項１に記載のデータ変換装置。
【請求項３】
前記第２の記憶領域が格納するブロック浮動小数点変換された前記高周波成分のビット幅は、前記第１の記憶領域が格納するブロック浮動小数点変換された前記低周波成分のビット幅よりも小さいことを特徴とする請求項１又は２に記載のデータ変換装置。
【請求項４】
前記第１の記憶領域は、
ブロック浮動小数点変換された前記低周波成分と、前記低周波成分をブロック浮動小数点変換する際に算術左シフトする数である第１のブロック共通シフト数と、を格納し、
前記第２の記憶領域は、
ブロック浮動小数点変換された前記高周波成分と、前記高周波成分をブロック浮動小数点変換する際に算術左シフトする数である第２のブロック共通シフト数と、を格納することを特徴とする請求項１乃至３のいずれか一項に記載のデータ変換装置。
【請求項５】
前記小数点変換手段は、
水平方向にウェーブレット変換された前記低周波成分を入力し、前記低周波成分を前記第１のブロック長の数だけバッファリングし、バッファリングされた前記第１のブロック長の数からなる複数の前記低周波成分を含む第１のブロックの中で最大絶対値をもつ前記低周波成分を検出し、前記最大絶対値をもつ前記低周波成分から符号ビットを除いて先頭から連続するビット値の数を前記第１のブロック共通シフト数として検出し、前記第１のブロックを構成する複数の前記低周波成分を、前記第１のブロック共通シフト数分だけ算術左シフトする第１のブロック浮動小数点変換部と、
水平方向にウェーブレット変換された前記高周波成分を入力し、前記高周波成分を前記第２のブロック長の数だけバッファリングし、バッファリングされた前記第２のブロック長の数からなる複数の前記高周波成分を含む第２のブロックの中で最大絶対値をもつ前記高周波成分を検出し、前記最大絶対値をもつ前記高周波成分から符号ビットを除いて先頭から連続するビット値の数を前記第２のブロック共通シフト数として検出し、前記第２のブロックを構成する複数の前記高周波成分を、前記第２のブロック共通シフト数分だけ算術左シフトする第２のブロック浮動小数点変換部と、を備えることを特徴とする請求項４に記載のデータ変換装置。
【請求項６】
前記固定小数点数のデータを入力とし、入力した前記固定小数点数のデータを水平ウェーブレット変換した後に前記低周波成分と前記高周波成分とに分離して前記小数点変換手段に出力する水平ウェーブレット変換部と、
元のビット数に戻された前記低周波成分及び前記高周波成分を前記小数点変換手段から入力して垂直ウェーブレット変換を行う垂直ウェーブレット変換部と、を備えることを特徴とする請求項１乃至５のいずれか一項に記載のデータ変換装置。
【請求項７】
前記第２の記憶領域は、
ブロック浮動小数点変換された前記高周波数成分データを、ウェーブレット変換前の前記固定小数点数のデータよりも小さなビット幅で格納することを特徴とする請求項１乃至６のいずれか一項に記載のデータ変換装置。
【請求項８】
水平方向にウェーブレット変換されて高周波成分と低周波成分とに分離された固定小数点数のデータを入力し、前記高周波成分及び前記低周波成分を個別にブロック浮動小数点変換して格納し、ブロック浮動小数点変換された前記高周波成分及び前記低周波成分のそれぞれを固定小数点数に再変換する小数点変換回路を備え、
前記小数点変換回路は、
ブロック浮動小数点変換した前記低周波成分を格納する第１の記憶回路と、
ブロック浮動小数点変換した前記高周波成分を格納する第２の記憶回路と、を有し、
前記第２の記憶回路は、前記第１の記憶回路よりも小さいことを特徴とするデータ変換回路。
【請求項９】
前記小数点変換手段は、
水平方向にウェーブレット変換された前記低周波成分を入力し、前記低周波成分を第１のブロック長の数だけバッファリングする第１のバッファと、
前記第１のバッファにバッファリングされた前記第１のブロック長の数からなる複数の前記低周波成分を含む第１のブロックの中で最大絶対値をもつ前記低周波成分を検出し、前記最大絶対値をもつ前記低周波成分から符号ビットを除いて先頭から連続するビット値の数を第１のブロック共通シフト数として検出する第１の最大絶対値検出回路と、
前記第１のブロックを構成する複数の前記低周波成分を、前記第１のブロック共通シフト数分だけ算術左シフトする第１のバレルシフタと、を有する第１のブロック浮動小数点変換回路と、
水平方向にウェーブレット変換された前記高周波成分を入力し、前記高周波成分を第２のブロック長の数だけバッファリングする第２のバッファと、
前記第２のバッファにバッファリングされた前記第２のブロック長の数からなる複数の前記高周波成分を含む第２のブロックの中で最大絶対値をもつ前記高周波成分を検出し、前記最大絶対値をもつ前記高周波成分から符号ビットを除いて先頭から連続するビット値の数を第２のブロック共通シフト数として検出する第２の最大絶対値検出回路と、
前記第２のブロックを構成する複数の前記高周波成分を、前記第２のブロック共通シフト数分だけ算術左シフトする第２のバレルシフタと、を有する第２のブロック浮動小数点変換回路と、を備えることを特徴とする請求項８に記載のデータ変換回路。
【請求項１０】
水平方向にウェーブレット変換されて高周波成分と低周波成分とに分離された固定小数点数のデータを入力し、前記高周波成分及び前記低周波成分を個別にブロック浮動小数点変換するブロック浮動小数点変換工程と、
ブロック浮動小数点変換した前記低周波成分を第１の記憶領域に格納する第１の記憶工程と、
ブロック浮動小数点変換した前記高周波成分を前記第１の記憶領域よりも小さい第２の記憶領域に格納する第２の記憶工程と、
ブロック浮動小数点変換された前記高周波成分及び前記低周波成分のそれぞれを固定小数点数に再変換する固定小数点再変換工程と、を含むことを特徴とするデータ変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力データを２次元ウェーブレット変換処理するデータ変換装置、データ変換回路及びデータ変換方法に関する。特に、動画像を２次元ウェーブレット変換する処理において、画質の劣化を低減しつつ、必要となるメモリ量の削減可能にするデータ変換方法、データ変換回路及びデータ変換方法に関する。
【背景技術】
【０００２】
画像や音声などのディジタル信号に対するデータの圧縮処理や、ノイズ除去処理において、離散信号を周波数領域に変換する処理が多く用いられている。
【０００３】
例えば、画像を圧縮する方式の１つに、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）と呼ばれる方式がある。ＪＰＥＧによる圧縮処理では、画像の空間的な信号を周波数領域に変換する処理である離散コサイン変換を行い、その後に量子化によって情報量を削減してからエントロピー符号化をすることによって、データ量を削減している。すなわち、ＪＰＧＥによる圧縮処理では、離散コサイン変換によって、信号に含まれる主たるエネルギーを低周波領域に集中させた後に量子化することで、元の画像に対する影響が少ないデータの圧縮を実現している。
【０００４】
また、ＪＰＥＧに続く規格であるＪＰＥＧ２０００では、２次元離散ウェーブレット変換を用いた圧縮方法が採用されている。以下の説明では、ディジタル信号のみを対象とするので、２次元離散ウェーブレット変換を２次元ウェーブレット変換と記載する。
【０００５】
ウェーブレット変換では、数ピクセル分の画素値を入力とし、入力画像の画素値を低周波成分と高周波成分にそれぞれ分離する。２次元ウェーブレット変換は、水平ウェーブレット変換と垂直ウェーブレット変換を順に行い、水平及び垂直方向のそれぞれを低周波成分と高周波成分に分離する。
【０００６】
図２３には、２次元画像（左側：原画像）に対してウェーブレット変換を施した処理後の画像（右側：変換画像）の一例を示す。図２３の右側の４分割した画像（変換画像）について説明する。ＬＬ（左上）は、水平ウェーブレット変換で分離された低周波成分に対して垂直ウェーブレット変換を実施し、分離された低周波成分である。ＨＬ（右上）は、水平ウェーブレット変換で分離された高周波成分に対して垂直ウェーブレット変換を実施し、分離された低周波成分である。ＬＨ（左下）は、水平ウェーブレット変換で分離された低周波成分に対して垂直ウェーブレット変換を実施し、分離された高周波成分である。ＨＨ（右下）は、水平ウェーブレット変換で分離された高周波成分に対して垂直ウェーブレット変換を実施し、分離された高周波成分である。
【０００７】
図２３によると、低周波成分（ＬＬ）は比較的元の画像のテクスチャやグラデーションの情報を残している。なお、カラー画像を白黒変換した画像であるために図２３には色彩情報は再現されていないが、実際の処理では低周波成分（左上）に色彩情報が保持されている。それに対して、高周波成分を含む領域（ＨＬ、ＬＨ、ＨＨ）では、テクスチャやグラデーション（、色彩）の情報は失われ、画像中で画素値が急激に変化する部分、すなわち物体のエッジ情報又はノイズ情報に由来する振動成分が保持されている。
【０００８】
画像信号、特に動画像信号に対してデータ圧縮又はノイズ除去処理を施す場合は、専用回路を実装したＡＳＩＣやＦＰＧＡ上で処理を実行することが多い（ＡＳＩＣ：Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、ＦＰＧＡ：Ｆｉｅｌｄ  Ｐｒｏｇｒａｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）。これは、電力や実装面積等の制約により高性能なＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を搭載できない撮影機器において高速処理やリアルタイム処理を実現するためである。上記のようなハードウェアでは、実装面積に制約があるため、内部に画像フレームを保持するためのメモリを配置せずにストリーム処理を行うことがある。２次元ウェーブレット変換を行うストリーム回路では、水平ウェーブレット変換と垂直ウェーブレット変換の間に、一時的にデータを保持するバッファが必要となる。
【０００９】
図２４には、２次元ウェーブレット変換をストリーム処理で実施するシステムの構成例を示す。図２４のような構成を有する一般的なウェーブレット変換システムは、以下のように動作する。まず、水平ウェーブレット変換処理部１０２にラスタ順で入力画像信号１０１が入力され、水平ウェーブレット変換処理が実行される。水平ウェーブレット変換後の信号は、垂直ウェーブレット変換を実施する際に必要なライン数分だけメモリ等の記憶装置１０３にバッファされた後、垂直ウェーブレット変換処理部１０４において垂直ウェーブレット変換処理が実行される。このように、ラスタ入力のシステムにおいては、水平ウェーブレット変換と垂直ウェーブレット変換との間に中間バッファとなる記憶装置１０３が必要となる。
【００１０】
特許文献１には、ブロック浮動小数点に関する技術が開示されている。ブロック浮動小数点を用いれば、固定小数点演算の回路において、演算の小数精度を維持したまま演算に係る回路規模を削減することができる。また、ブロック浮動小数点を用いれば、固定少数演算の回路において、同等の回路規模で演算の小数精度を高めることができる。さらに、固定ビット長固定小数点演算を実施するＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｅｒ）において、プログラムの演算精度を高めることができる。
【００１１】
通常の固定小数点演算では、演算量やメモリ量を削減するために、全ての数に画一的に右シフトをすることで小数精度を犠牲にする。それに対し、ブロック浮動小数点を用いた演算では、複数の数値を一つのブロックとして扱い、ブロック単位でシフト量を可変とする。そして、シフト後のデータをブロック浮動小数点変換後のデータとし、ブロック単位のシフト量と合わせて保存されることで、再度固定小数点に変換される。
【００１２】
特許文献２には、ブロック浮動小数点を高速フーリエ変換処理回路に適用する技術が開示されている。
【００１３】
例えば、特許文献１や特許文献２においては、ブロック浮動小数点処理において次のようなステップでブロック浮動小数点の正規化処理を行う。
【００１４】
（１）ブロック内の全データの最大指数を求める。
【００１５】
（２）前記最大指数によりブロック全体をシフトし、正規化する。
【００１６】
ここで、最大指数とは、ブロック内の全てのデータが桁あふれを起こさない最大の指数を示す。最大指数は、ブロック内の全データのうち、絶対値が最大のデータの指数値に等しい。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００１−３０６２９７号公報
【特許文献２】特開平９−１２８２１３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
ブロック浮動小数点を用いた演算を２次元ウェーブレット変換に適用すると、比較的原画像の色彩情報を保持する低周波成分を保持するのに必要な情報量と、エッジ成分などの残差成分を含む高周波成分を保持するのに必要な情報量が異なってしまう。そのため、水平ウェーブレット変換と垂直ウェーブレット変換との間において、ブロック浮動小数点を保持する中間バッファ量が過大となるという課題がある。
【００１９】
また、ブロック浮動小数点を用いた演算を２次元ウェーブレット変換に適用すると、小数精度が維持される。そのため、画像処理で取り除かれていることが望ましい画像に含まれるノイズ成分が、２次元ウェーブレット変換後において忠実に再現されてしまうという課題がある。
【００２０】
本発明は、中間バッファを低減できるとともに、少数演算精度を維持したままノイズを効果的に除去できるデータ変換装置を提供することを目的とする。
【課題を解決するための手段】
【００２１】
本発明のデータ変換装置は、水平方向にウェーブレット変換されて固定小数点数の高周波成分及び低周波成分に分離された入力信号を入力し、高周波成分及び低周波成分を個別にブロック浮動小数点変換して格納し、ブロック浮動小数点変換された高周波成分及び低周波成分のそれぞれを固定小数点数に再変換する小数点変換手段を備え、小数点変換手段は、ブロック浮動小数点変換した低周波成分を格納する第１の記憶領域と、ブロック浮動小数点変換した高周波成分を格納する第２の記憶領域と、を有し、第２の記憶領域は、第１の記憶領域よりも小さい。
【００２２】
本発明のデータ変換回路は、水平方向にウェーブレット変換されて高周波成分と低周波成分とに分離された固定小数点数のデータを入力し、高周波成分及び低周波成分を個別にブロック浮動小数点変換して格納し、ブロック浮動小数点変換された高周波成分及び低周波成分のそれぞれを固定小数点数に再変換する小数点変換回路を備え、小数点変換回路は、ブロック浮動小数点変換した低周波成分を格納する第１の記憶回路と、ブロック浮動小数点変換した高周波成分を格納する第２の記憶回路と、を有し、第２の記憶回路は、第１の記憶回路よりも小さい。
【００２３】
本発明のデータ変換方法は、水平方向にウェーブレット変換されて高周波成分と低周波成分とに分離された固定小数点数のデータを入力し、高周波成分及び低周波成分を個別にブロック浮動小数点変換するブロック浮動小数点変換工程と、ブロック浮動小数点変換した低周波成分を第１の記憶領域に格納する第１の記憶工程と、ブロック浮動小数点変換した高周波成分を第１の記憶領域よりも小さい第２の記憶領域に格納する第２の記憶工程と、ブロック浮動小数点変換された高周波成分及び低周波成分のそれぞれを固定小数点数に再変換する固定小数点再変換工程と、を含む。
【発明の効果】
【００２４】
本発明のデータ変換装置によれば、中間バッファを低減できるとともに、少数演算精度を維持したままノイズを効果的に除去できる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施形態に係る２次元ウェーブレット変換装置の構成を示すブロック図である。
【図２】本発明の実施形態に係る２次元ウェーブレット変換装置が有する低周波成分変換部の内部構成を示すブロック図である。
【図３】本発明の実施形態に係る２次元ウェーブレット変換装置が有する高周波成分変換部の内部構成を示すブロック図である。
【図４】本発明の実施形態に係る２次元ウェーブレット変換装置の動作を示すフローチャートである。
【図５】本発明の実施形態に係る２次元ウェーブレット変換装置におけるブロック浮動小数点変換処理を示すフローチャートである。
【図６】本発明の実施形態に係る２次元ウェーブレット変換装置における固定小数点再変換処理を示すフローチャートである。
【図７】本発明の実施例に係る２次元ウェーブレット変換回路の構成を示すブロック図である。
【図８】本発明の実施例に係る２次元ウェーブレット変換回路が有する低周波成分変換回路の内部構成を示すブロック図である。
【図９】本発明の実施例に係る２次元ウェーブレット変換回路が有する高周波成分変換回路の内部構成を示すブロック図である。
【図１０】本発明の実施例に係る２次元ウェーブレット変換回路が有する低周波成分ブロック浮動小数点変換回路の内部構成を示すブロック図である。
【図１１】本発明の実施例に係る２次元ウェーブレット変換回路が有する高周波成分ブロック浮動小数点変換回路の内部構成を示すブロック図である。
【図１２】本発明の実施例に係る２次元ウェーブレット変換回路が有する低周波成分記憶回路の構成を示すブロック図である。
【図１３】本発明の実施例に係る２次元ウェーブレット変換回路が有する高周波成分記憶回路の構成を示すブロック図である。
【図１４】本発明の実施例に係る２次元ウェーブレット変換回路が有する低周波成分固定小数点再変換回路の内部構成を示すブロック図である。
【図１５】本発明の実施例に係る２次元ウェーブレット変換回路が有する高周波成分固定小数点変換回路の内部構成を示すブロック図である。
【図１６】本発明の実施例に係る２次元ウェーブレット変換回路が有する低周波成分ブロック浮動小数点変換回路による低周波成分ブロック浮動小数点変換処理における最大絶対値の検出を説明するための図である。
【図１７】本発明の実施例に係る２次元ウェーブレット変換回路が有する低周波成分ブロック浮動小数点変換回路の内部のバレルシフタによる処理を説明するための図である。
【図１８】本発明の実施例に係る２次元ウェーブレット変換回路が有する低周波成分記憶回路内部のデータ記憶メモリの構成を示すブロック図である。
【図１９】本発明の実施例に係る２次元ウェーブレット変換回路が有する低周波成分固定小数点変換回路による処理を説明するための図である。
【図２０】本発明の実施例に係る２次元ウェーブレット変換装置の動作を示すフローチャートである。
【図２１】本発明の実施例に係る２次元ウェーブレット変換装置におけるブロック浮動小数点変換処理を示すフローチャートである。
【図２２】本発明の実施例に係る２次元ウェーブレット変換装置における固定小数点再変換処理を示すフローチャートである。
【図２３】２次元画像に対して２次元ウェーブレット変換を施した画像を説明するための図である。
【図２４】２次元ウェーブレット変換をストリーム処理で実施するシステムの一般的な構成例である。
【発明を実施するための形態】
【００２６】
以下に、本発明を実施するための形態について図面を用いて説明する。ただし、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
【００２７】
（実施形態）
（構成）
図１は、本発明の実施形態に係る２次元ウェーブレット変換装置１のブロック図である。
【００２８】
２次元ウェーブレット変換装置１は、水平ウェーブレット変換部１０（水平ウェーブレット変換手段）と、小数点変換部１５（小数点変換手段）と、垂直ウェーブレット変換部４０（垂直ウェーブレット変換手段）と、を備えている。小数点変換部１５は、低周波成分変換部２０及び高周波成分変換部３０を有する。
【００２９】
水平ウェーブレット変換部１０及び垂直ウェーブレット変換部４０は、固定小数点でウェーブレット変換を実施する回路で実現される。また、水平ウェーブレット変換部１０及び垂直ウェーブレット変換部４０は、固定小数点演算を実施するＤＳＰ内の演算器で実現されても良い。なお、上述した水平ウェーブレット変換部１０及び垂直ウェーブレット変換部４０の例は一例であって、本発明の範囲を上記の例に限定するわけではない。
【００３０】
また、低周波成分変換部２０は、ブロック浮動小数点変換部２１（第１のブロック浮動小数点変換部）と、記憶部２２（第１の記憶領域）と、固定小数点変換部２３と、を含む。同様に、高周波成分変換部３０は、ブロック浮動小数点変換部３１（第２のブロック浮動小数点変換部）と、記憶部３２（第２の記憶領域）と、固定小数点変換部３３と、を含む。
【００３１】
図２には、変換後の低周波成分のブロック浮動小数点を記憶する記憶部２２の内部構成を示す。低周波成分変換部２０の有する記憶部２２は、ブロックシフト数記憶部２４と、データ記憶部２５と、を含む。
【００３２】
同様に、図３には、変換後の高周波成分のブロック浮動小数点を記憶する記憶部３２の内部構成を示す。高周波成分変換部３０の有する記憶部３２は、ブロックシフト数記憶部３４と、データ記憶部３５と、を含む。
【００３３】
上記の記憶部２２及び３２、ブロックシフト数記憶部２４及び３４、データ記憶部２５及び３５は、レジスタやフリップフロップなどの記憶素子、或いはＳＲＡＭやＤＲＡＭ、ＰＲＡＭと言ったメモリ等のデバイスで実現される（ＳＲＡＭ：Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＤＲＡＭ：Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、Ｐｈａｓｅ  Ｓｈｉｆｔｅｒ  ＲＡＭ）。或いは、記憶部２２及び３２、ブロックシフト数記憶部２４及び３４、データ記憶部２５及び３５は、フラッシュメモリや、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ハードディスク等のデバイスで実現されても良い。なお、記憶部２２及び３２、ブロックシフト数記憶部２４及び３４、データ記憶部２５及び３５に用いるデバイスの例は一例であって、本発明の範囲を上記の例に限定するわけではない。
【００３４】
（動作の概略）
ここで、本発明の実施形態に係る２次元ウェーブレット変換装置１の動作の概略を説明する。
【００３５】
まず、水平ウェーブレット変換部１０は、外部からの２次元画像信号（入力信号）を受け付け、水平ウェーブレット変換を実施し、固定小数点数の低周波成分データ（以下、低周波成分）と固定小数点数の高周波成分データ（以下、高周波成分）に分離する。
【００３６】
分離された低周波成分は、低周波成分変換部２０のブロック浮動小数点変換部２１に入力され、予め定められたブロック長（第１のブロック長）と等しい個数の低周波成分に対するブロック共通シフト数（第１のブロック共通シフト数）を計算する。
【００３７】
なお、ブロック共通シフト数は、以下のように検出される。まず、ブロック浮動小数点変換部２１でバッファリングされた複数の低周波成分を、設定されたブロック長でまとめてブロック（第１のブロック）とする。次に、ブロックの中で最大絶対値をもつ低周波成分の２進表現において、符号ビットを除く。最後の、符号ビットを除いた低周波成分の２進表現において、正数の場合は先頭から連続する０ビットの数が、負数の場合は先頭から連続する１の数がブロック共通シフト数として検出される。ただし、上記は２の補数表現による負数が混在する場合であり、正数のみの場合も同様である。なお、ブロック共通シフト数は、各ブロック内においては共通の値となるが、異なるブロック間では共通の値とならなくてもよい。
【００３８】
また、ブロック浮動小数点変換部２１は、ブロック長と等しい個数の低周波成分をブロック共通シフト数に従って左シフトすることによって正規化する。なお、本発明の実施形態においては、シフト後のデータをブロック浮動小数点変換後のデータとする。
【００３９】
記憶部２２内のブロックシフト数記憶部２４は、ブロック共通シフト数を記憶する。また、記憶部２２内のデータ記憶装置２５は、正規化された低周波成分（ブロック浮動小数点低周波成分又はブロック浮動小数点変換された低周波成分とも呼ぶ）を記憶する。
【００４０】
低周波成分変換部２０の固定小数点変換部２３は、記憶装置１３からブロック共通シフト数を読み出すとともに、ブロック長と等しい個数の正規化された低周波成分を記憶装置１６から読み出す。そして、固定小数点変換部２３は、読み出されたブロック共通シフト数に従って正規化された低周波成分の算術右シフトを行い、固定小数点数の低周波成分（再変換低周波成分）に再変換する。
【００４１】
低周波成分と同様に、高周波成分は、正規化された高周波成分（ブロック浮動小数点高周波成分又はブロック浮動小数点変換された高周波成分とも呼ぶ）に変換され、記憶部３２に格納された後、固定小数点数の低周波成分（再変換高周波成分）に再変換される。
【００４２】
垂直ウェーブレット変換部４０は、再変換低周波成分と再変換高周波成分とを受け付け、それらに対して垂直ウェーブレット変換処理を実施する。
【００４３】
（動作）
次に、図４のフローチャートを参照して本実施形態に係るウェーブレット変換装置１の動作について詳細に説明する。
【００４４】
まず、図４において、画像変換システムに入力された画像データは、２次元ウェーブレット変換装置１が備える水平ウェーブレット変換部１０に入力される。入力された画像データは、水平ウェーブレット変換部１０における水平ウェーブレット変換処理によって高周波成分と低周波成分に分離される（ステップＳ１）。
【００４５】
ここで、ステップＳ２〜Ｓ５に示した高周波成分変換部３０における高周波成分変換処理と、ステップＳ６〜Ｓ９に示した低周波成分変換部２０における低周波成分変換処理とが並行して実施される。
【００４６】
次に、高周波成分変換部３０における高周波成分変換処理（ステップＳ２〜Ｓ５）について説明する。
【００４７】
固定小数点数の高周波成分は、高周波成分変換部３０のブロック浮動小数点変換部３１に入力される（ステップＳ２）。
【００４８】
高周波成分は、ブロック浮動小数点変換部３１においてブロック浮動小数点高周波成分に変換され、記憶部３２に格納される（ステップＳ３）。
【００４９】
記憶部３２では、垂直ウェーブレット変換に必要なライン数分だけブロック浮動小数点高周波成分をバッファリングする。その後、固定小数点変換部３３は、記憶部３２にバッファリングされたブロック浮動小数点高周波成分を読み出す（ステップＳ４）。
【００５０】
固定小数点変換部３３は、読み出したブロック浮動小数点高周波成分を再変換高周波成分に再変換する（ステップＳ５）。
【００５１】
次に、低周波成分変換部２０における低周波成分変換処理（ステップＳ６〜Ｓ９）について説明する。
【００５２】
固定小数点数の低周波成分は、低周波成分変換部２０のブロック浮動小数点変換部２１に入力される（ステップＳ６）。
【００５３】
低周波成分は、ブロック浮動小数点変換部２１においてブロック浮動小数点低周波成分に変換され、記憶部２２に格納される（ステップＳ７）。
【００５４】
記憶部２２では、垂直ウェーブレット変換に必要なライン数分だけブロック浮動小数点低周波成分をバッファリングする。その後、固定小数点変換部２３は、記憶部２２にバッファリングされたブロック浮動小数点低周波成分を読み出す（ステップＳ８）。
【００５５】
固定小数点変換部２３は、読み出したブロック浮動小数点低周波成分を再変換低周波成分に再変換する（ステップＳ９）。
【００５６】
ここで、再変換高周波成分及び再変換低周波成分は、ともに垂直ウェーブレット変換部４０に入力され、垂直ウェーブレット変換処理が実施される（ステップＳ１０）。
【００５７】
以上が、本発明の実施形態に係るウェーブレット変換装置１の動作についての説明である。なお、上述の動作に種々の変形・追加を行ったものについても本発明の範囲に含まれる。
【００５８】
なお、本実施形態に係る２次元ウェーブレット変換装置１においては、高周波成分と低周波成分とをブロック浮動小数点変換処理で用いるブロック長を、互いに異なる長さとする。より好ましくは、情報量の少ない高周波成分のブロック浮動小数点変換処理で用いるブロック長を、低周波成分の変換処理で用いるブロック長よりも長くとる。そのため、高周波成分変換処理部３０内部の記憶部３２におけるブロック長の保持に必要な記憶容量を削減することができる。
【００５９】
また、高周波成分変換部３０内部の記憶部３２のビット幅を小さくすれば、記憶部３２の記憶容量を削減することができる。また、記憶部３２の記憶容量を削減しないのであれば、同一の容量でありながら画質が向上することにつながる。
【００６０】
（ブロック浮動小数点変換処理）
次に、図５のフローチャートを参照して、図４のステップＳ３及びＳ７の動作（ブロック浮動小数点変換処理）について詳細に説明する。ステップＳ３及びＳ７においては、固定小数点数の成分（高周波成分及び低周波成分）をブロック浮動小数点変換する。
【００６１】
まず、高周波成分のブロック浮動小数点変換処理について説明する。
【００６２】
図５において、予め設定されたブロック長（第２のブロック長）と等しい数の複数の高周波成分が、高周波成分変換部３０のブロック浮動小数点変換部３１に連続して入力される（ステップＳ３１）。
【００６３】
次に、ブロック浮動小数点変換部３１は、読み出した複数の高周波成分のうち、絶対値が最も大きい値を検出し、最大ピクセルとする（ステップＳ３２）。
【００６４】
ブロック浮動小数点変換部３１は、最大ピクセルの数値のうち、符号ビットである先頭ビットを除いたビット列を参照し、ブロック共通シフト数（第２のブロック共通シフト数）を設定する（ステップＳ３３）。
【００６５】
ステップＳ３３において、ブロック浮動小数点変換部３１は、先頭ビットを除いたビット列が正数であれば、ビット列の先頭から連続する０値のｂｉｔ数を検出し、ブロック共通シフト数とする。一方で、ブロック浮動小数点変換部３１は、先頭ビットを除いたビット列が負の数であれば、ビット列の先頭から連続する１値の数を検出し、ブロック共通シフト数を設定する。
【００６６】
次に、ブロック浮動小数点変換部３１は、複数の高周波成分について、設定したブロック共通シフト数の分だけ左シフトし、正規化を行う（ステップＳ４４）。
【００６７】
正規化後の高周波成分の値は、記憶部３２のデータ記憶部３５に記憶される。このとき、データ記憶部３５のビット幅に合わせて、正規化後の高周波成分のビット精度が削減される（ステップＳ３５）。
【００６８】
一方で、記憶部３２のブロックシフト記憶部３４には、ブロック共通シフト数が記憶される（ステップＳ３６）。
【００６９】
以上が高周波成分のブロック浮動小数点変換処理についての説明である。
【００７０】
次に、低周波成分のブロック浮動小数点変換処理について説明する。
【００７１】
図５において、予め設定されたブロック長と等しい数の複数の低周波成分が、低周波成分変換部２０のブロック浮動小数点変換部２１に連続して入力される（ステップＳ３１）。
【００７２】
ただし、低周波成分及び高周波成分に設定されたブロック長は、互いに異なるように設定する。例えば、高周波成分に設定されたブロック長の方を大きく設定すれば、高周波成分変換部３０内部のブロックシフト数記憶部３４の容量を小さくすることができる。
【００７３】
次に、ブロック浮動小数点変換部２１は、読み出した複数の低周波成分のうち、絶対値が最も大きい値を検出し、最大ピクセルとする（ステップＳ３２）。
【００７４】
ブロック浮動小数点変換部２１は、最大ピクセルの数値のうち、符号ビットである先頭ビットを除いたビット列を参照し、ブロック共通シフト数を設定する（ステップＳ３３）。
【００７５】
ステップＳ３３において、ブロック浮動小数点変換部２１は、先頭ビットを除いたビット列が正数であれば、ビット列の先頭から連続する０値のｂｉｔ数を検出し、ブロック共通シフト数とする。一方で、ブロック浮動小数点変換部２１は、先頭ビットを除いたビット列が負の数であれば、ビット列の先頭から連続する１値の数を検出し、ブロック共通シフト数を設定する。
【００７６】
次に、ブロック浮動小数点変換部２１は、複数の低周波成分について、設定したブロック共通シフト数の分だけ左シフトし、正規化を行う（ステップＳ３４）。
【００７７】
正規化後の低周波成分の値は、記憶部２２のデータ記憶部２５に記憶される。このとき、データ記憶部２５のビット幅に合わせて、正規化後の低周波成分のビット精度が削減される（ステップＳ３５）。
【００７８】
一方で、記憶部２２のブロックシフト記憶部２４には、ブロック共通シフト数が記憶される（ステップＳ３６）。
【００７９】
以上が低周波成分のブロック浮動小数点変換処理についての説明である。
【００８０】
図５に示したブロック浮動小数点変換処理は、高周波成分と低周波成分とでほぼ同じ動作となる。しかしながら、ステップＳ３１におけるブロック長は、高周波成分と低周波成分とで独立して設定される。同様に、ステップＳ３５におけるデータ記憶部３５のビット幅についても、高周波成分と低周波成分とで独立して設定される。
【００８１】
（固定小数点再変換処理）
次に、図６のフローチャートを参照して、図４のステップＳ５及びＳ９の動作（固定小数点再変換処理）について詳細に説明する。図４のステップＳ５及びＳ９においては、正規化された固定小数点成分（正規化後の高周波成分及び正規化後の低周波成分）をブロック浮動小数点変換する。
【００８２】
まず、高周波成分の固定小数点再変換処理について説明する。
【００８３】
高周波成分変換部３０の固定小数点変換部３３は、記憶部３２内部のブロックシフト数記憶部３４から、ブロック共通シフト数を読み出す（ステップＳ５１）。
【００８４】
また、固定小数点変換部３３は、データ記憶部３５から、ブロック長と等しい数のビット精度が削減された正規化後の高周波成分を読み出す（ステップＳ５２）。
【００８５】
なお、ステップＳ５１及びＳ５２は順序を入れ替えてもよく、並列して実行してもよい。
【００８６】
そして、固定小数点変換部３３は、読み出された複数のビット精度が削減された正規化後の高周波成分に対して、ブロック共通シフト数分だけ算術右シフトを行う（ステップＳ５３）。
【００８７】
以上が、固定小数点変換部３３による高周波成分の固定小数点再変換処理についての説明である。
【００８８】
次に、低周波成分の固定小数点再変換処理について説明する。
【００８９】
低周波成分変換部２０の固定小数点変換部２３は、記憶部２２内部のブロックシフト数記憶部２４から、ブロック共通シフト数を読み出す（ステップＳ５１）。
【００９０】
また、固定小数点変換部２３は、データ記憶部２５から、ブロック長と等しい数のビット精度が削減された正規化後の低周波成分を読み出す（ステップＳ５２）。
【００９１】
なお、ステップＳ５１及びＳ５２は順序を入れ替えてもよく、並列して実行してもよい。
【００９２】
そして、固定小数点変換部２３は、読み出された複数のビット精度が削減された正規化後の低周波成分に対して、ブロック共通シフト数分だけ算術右シフトを行う（ステップＳ５３）。
【００９３】
以上が、固定小数点変換部２３による低周波成分の固定小数点再変換処理についての説明である。
【００９４】
（効果）
次に、本実施形態に係る２次元ウェーブレット変換装置１の効果について説明する。
【００９５】
本実施形態に係る２次元ウェーブレット変換装置１は、低周波成分と高周波成分とを、別個のブロック長でブロック浮動小数点に変換でき、さらに別個のビット幅のデータ記憶装置で格納するように構成されている。そのため、情報量の多い低周波成分に対しては、低周波成分変換部２０内部のデータ記憶部２５のビット幅を多く割り当てることで再現度を維持することができる。
【００９６】
一方で、本実施形態に係る２次元ウェーブレット変換装置１によれば、情報量の少ない高周波成分に対しては、ブロック長を長くすることで、高周波成分変換部３０内部のブロックシフト数記憶部３４の容量を削減できる。また、本実施形態に係る２次元ウェーブレット変換装置１によれば、高周波成分のデータ記憶部３５のビット幅を小さくすることで、記憶部３２に必要な容量を削減できる。さらには、本実施形態に係る２次元ウェーブレット変換装置１によれば、一般的な記憶装置の容量でありながら画質を向上させることができる。
【００９７】
（実施例）
（構成）
次に、具体的な実施例を用いて本発明を実施するための形態の動作を説明する。
【００９８】
図７には、本発明の実施形態に係る２次元ウェーブレット変換装置１を回路（２次元ウェーブレット変換回路２）で実現した場合のブロック図を示す。
【００９９】
図７の２次元ウェーブレット変換回路２は、図１の２次元ウェーブレット変換装置１に相当する。
【０１００】
図７の水平ウェーブレット変換回路１００及び垂直ウェーブレット変換回路４００は、それぞれ図１の水平ウェーブレット変換部１０及び垂直ウェーブレット変換部４０に相当する。
【０１０１】
図７の小数点変換回路１５０は、図１の小数点変換部１５に相当し、低周波成分変換回路２００及び高周波成分変換回路３００を有する。また、図７の低周波成分変換回路２００及び高周波成分変換回路３００は、それぞれ図１の低周波成分変換部２０及び高周波成分変換部３０に相当する。
【０１０２】
図８のブロック浮動小数点変換回路２１０、記憶回路２２０（第１の記憶回路）及び固定小数点変換回路２３０は、それぞれ図２のブロック浮動小数点変換部２１、記憶部２２（第１の記憶領域）及び固定小数点変換部２３に相当する。
【０１０３】
図９のブロック浮動小数点変換回路３１０、記憶回路３２０（第２の記憶回路）及び固定小数点変換回路３３０は、それぞれ図３のブロック浮動小数点変換部３１、記憶部３２（第２の記憶領域）及び固定小数点変換部３３に相当する。
【０１０４】
（ブロック浮動小数点変換回路〜低周波成分）
図１０は、低周波成分変換回路２００が有するブロック浮動小数点変換回路２１０の内部構成を示す。ブロック浮動小数点変換回路２１０は、ブロックバッファ２１１（第１のバッファ）と、最大絶対値検出回路２１２（第１の最大絶対値検出回路）と、バレルシフタ２１３（第１のバレルシフタ）と、を含む。
【０１０５】
図１０に示したように、浮動小数点変換回路２１０は、固定小数点数の低周波成分を受け付ける。
【０１０６】
ブロックバッファ２１１は、予め定められたブロック長（第１のブロック長）と等しい数だけ低周波成分をバッファリングする。図１０に示した本実施例では、低周波成分のブロック長が４に設定されており、データ＃１〜４で示した低周波成分がバッファリングされる。
【０１０７】
最大絶対値検出回路２１２は、ブロック長と等しい数の低周波成分を受け付け、最大の絶対値を検出し、ブロック共通シフト数（第１のブロック共通シフト数）を出力する。
【０１０８】
バレルシフタ２１３は、ブロック共通シフト数に従ってブロック全体を左シフトする。
【０１０９】
（ブロック浮動小数点変換回路〜高周波成分）
図１１は、高周波成分変換回路３００が有するブロック浮動小数点変換回路３１０の内部構成を示す。ブロック浮動小数点変換回路３１０は、ブロックバッファ３１１（第２のバッファ）と、最大絶対値検出回路３１２（第２の最大絶対値検出回路）と、バレルシフタ３１３（第２のバレル）と、を含む。
【０１１０】
図１１に示したように、浮動小数点変換回路３１０は、高周波成分を受け付ける。
【０１１１】
ブロックバッファ３１１は、予め定められたブロック長（第２のブロック長）と等しい数だけ高周波成分をバッファリングする。図１１に示した本実施例では、高周波成分のブロック長が６に設定されており、データ＃１〜６で示した高周波成分がバッファリングされる。
【０１１２】
最大絶対値検出回路３１２は、ブロック長と等しい数のデータを受け付け、最大の絶対値を検出し、ブロック共通シフト数（第２のブロック共通シフト数）を出力する。
【０１１３】
バレルシフタ３１３は、ブロック共通シフト数に従ってブロック全体を左シフトする。
【０１１４】
（記憶回路〜低周波成分）
図１２には、低周波成分変換回路２００の記憶回路２２０を示す。記憶回路２２０（第１の記憶回路）は、シフト数記憶メモリ２４０（第１のシフト数記憶メモリ）と、データ記憶メモリ２５０（第１のデータ記憶メモリ）と、を含む。図１２のシフト数記憶メモリ２４０及びデータ記憶メモリ２５０は、それぞれ図２のブロックシフト数記憶部２４及びデータ記憶部２５に相当する。
【０１１５】
記憶回路２３は、ブロック共通シフト数（第１のブロック共通シフト数）と、正規化後の低周波成分を受け付ける。
【０１１６】
シフト数記憶メモリ２４０はブロック共通シフト数を記憶し、データ記憶メモリ２５０は正規化後の低周波成分を記憶する。
【０１１７】
本実施例では、データ記憶メモリ２５０のビット幅は９ｂｉｔに設定されているので、入力された正規化後の低周波成分の１３ｂｉｔは、上位ｂｉｔから９ｂｉｔが切りだされて記憶される。残りのビットは、アンダーフローで捨てられる。
【０１１８】
ブロック共通シフト数は、各ブロックに１つずつ割り当てられる。図１２では、１２個のデータが存在し、ブロック長が４であるため、３つのブロックがある。そのため、シフト記憶メモリ２２１は、それぞれのブロックに対応する３つのブロック共通シフト数を記憶できればよい。なお、低周波成分を含むブロックを、第１のブロックと呼ばれる。
【０１１９】
（記憶回路〜高周波成分）
図１３には、高周波成分変換回路３００の記憶回路３２０を示す。記憶回路３１０（第２の記憶回路）は、ブロックシフト数記憶メモリ３４０（第２のシフト数記憶メモリ）と、データ記憶メモリ３５０（第２のデータ記憶メモリ）と、を含む。図１３のブロックシフト数記憶メモリ３４０及びデータ記憶メモリ３５０は、それぞれ図３のブロックシフト数記憶部３４及びデータ記憶部３５に相当する。
【０１２０】
記憶回路３３は、ブロック共通シフト数（第２のブロック共通シフト数）と、正規化後の高周波成分を受け付ける。
【０１２１】
ブロックシフト数記憶メモリ３４０はブロック共通シフト数を記憶し、データ記憶メモリ３５０は正規化後の低周波成分を記憶する。
【０１２２】
本実施例では、データ記憶メモリ３５０のビット幅は６ｂｉｔに設定されているので、入力された正規化後の低周波成分の１３ｂｉｔは、上位ｂｉｔから６ｂｉｔが切りだされて記憶される。残りのビットは、アンダーフローで捨てられる。
【０１２３】
ブロック共通シフト数は、各ブロックに１つずつ割りあてられる。図１２では、１２個のデータが存在し、ブロック長が６であるため、２個のブロックがある。そのため、シフト記憶メモリ３２１は、それぞれのブロックに対応する２つのブロック共通シフト数を記憶できればよい。なお、高周波成分を含むブロックを、第２のブロックと呼ぶ。
【０１２４】
高周波成分の記憶回路３２１は、データ記憶メモリ３５０のビット幅が６ｂｉｔに設定されている点、格納するデータのブロック長が６である点で、低周波成分の記憶回路２２１とは異なる。
【０１２５】
（固定小数点変換回路〜低周波成分）
図１４には、低周波成分変換回路２００の固定小数点変換回路２３０の内部構成を示す。固定小数点変換回路２３０は、バレルシフタ２３１を含む。
【０１２６】
固定小数点変換回路２３０は、ブロック共通シフト数と、正規化後の低周波成分を受け付けると、正規化後の低周波成分の末尾にビットを追加して、元の低周波成分と同じビット数に戻す。バレルシフタ２３１は、元のビット数に戻した低周波成分をブロック共通シフト数だけ算術右シフトする。
【０１２７】
（固定小数点変換回路〜高周波成分）
図１５には、高周波成分変換回路３００の固定小数点変換回路３３０の内部構成を示す。固定小数点変換回路３３０は、バレルシフタ３３１を含む。
【０１２８】
固定小数点変換回路３３０は、ブロック共通シフト数と、正規化後の高周波成分を受け付けると、正規化後の高周波成分の末尾にビットを追加して、元の高周波成分と同じビット数に戻す。バレルシフタ３３１は、元のビット数に戻した高周波成分をブロック共通シフト数だけ算術右シフトする。
【０１２９】
以上のような実施例の構成とすることで、高周波成分変換回路３００の記憶回路３２０のメモリ量は、低周波成分処理回路２００の記憶回路２２０のメモリ量と比較して小さくすることができる。
【０１３０】
また、副次的な効果として、高周波成分のビット精度を落として故意にアンダーフローをさせることにより、ごく小さな値は０に縮退される。そのため、高周波成分に含まれる微細な振動成分が０縮退され、ローパスフィルタと同様の効果が期待できる。
【０１３１】
（動作の概略）
ここで、本発明の実施形態の実施例に係る２次元ウェーブレット変換回路２の動作の概略について説明する。
【０１３２】
図７を参照すると、２次元ウェーブレット変換回路２は信号の入力を受け付ける。図７に示すように、本実施例では、８ｂｉｔの符号なし整数を入力信号とする。
【０１３３】
水平ウェーブレット変換回路１００は、入力信号に対して、水平ウェーブレット変換処理を実施し、低周波成分及び高周波成分を出力する。なお、本実施例において、水平ウェーブレット変換回路１００は、整数部が８ｂｉｔ、小数部が４ｂｉｔの符号付き１３ｂｉｔ固定小数点となる成分を出力する。
【０１３４】
図１６には、本実施例で用いる４つ数値と、それらの数値を２進固定小数点表現したデータを示す。なお、本実施例で示す数値は一例であり、後述する数値のみを適用するわけではなく、本実施例は任意の数値について適用可能である。
【０１３５】
それぞれ数値は、「４．９３７５」、「−１１．５６３」、「−２８．７５」、「１３．３７５」であり、符号ビットは１ｂｉｔ、整数部８ｂｉｔ、小数部４ｂｉｔの合計１３ｂｉｔで表現されている。２進固定小数点では、負の数は２の補数で表現されている。これらの数値のうち、最大絶対値をもつのは「−２８．７５」である。
【０１３６】
図１６を参照すると、最大絶対値をもつ『−２８．７５』の２進表現『１１１１０００１１０１００」において、先頭の符号ビット「１」を除いたビット列「１１１０００１１０１００」から連続する１値のビット数を検出する。本実施例においては３個連続した１値のビット数が存在するため、ブロック共通シフト数は３となる。なお、「−２８．７５」が負の数であるため、連続する１値のビット数を検出しているが、最大絶対値をもつ数値が正の場合、連続する０値のビット数を検出する。
【０１３７】
図１７には、低周波成分変換回路２００のブロック浮動小数点変換回路２１０内部のバレルシフタ２１３によって、３ｂｉｔ左シフトされた正規化後の低周波成分を示す。バレルシフタ２１３のシフト処理によって、末尾の空いたビット位置には０が補填される。
【０１３８】
正規化後の低周波成分は９ｂｉｔであるが、１３ｂｉｔに拡張すると図１７に示したようになる。
【０１３９】
図１８は、低周波成分変換回路２００の記憶回路２２０内部のデータ記憶メモリ２５０における書き込みと読み出しの動作を示す図である。
【０１４０】
データ記憶メモリ２５０には、水平ウェーブレット変換処理結果の低周波成分が格納される。そのため、書き込み時には、１ライン目にあるブロック１１からブロック１ｎまで、行方向に書き込みが行われる。ブロック１ｎの次は、２ライン目について、ブロック２１からブロック２ｎの順に書き込みが行われる。３ライン目以降も同様に書き込みが行われる。
【０１４１】
読み出しについては、垂直ウェーブレット変換を行うために列方向に読み出しが行われる。
【０１４２】
垂直ウェーブレット変換に５ライン分の情報が必要だとすると、ブロック１１〜５１が読み出される。
【０１４３】
このとき、例えば、ラインごとに異なるメモリバンクが割り当てられていれば、ブロック１１〜５１は同時に読み出される。
【０１４４】
データ記憶メモリ２５０から読み出されたデータ（ブロック１１〜５１）は、固定小数点変換回路２３０に入力され、低周波成分に再変換される。
【０１４５】
図１９は、再変換後の低周波成分を示す。ブロック共通シフト数である３に従って算術右シフトを行うと、空いたビットには最上位ビットと同じ値が補填される。図１９に示した再変換後の低周波成分は、図１６に示した数値と同じ数値となる。
【０１４６】
以上の低周波成分変換回路２００による低周波成分変換処理の動作概略は、高周波成分変換回路３００による高周波成分変換処理でも同様である。
【０１４７】
垂直ウェーブレット変換回路２１は、再変換低周波成分と再変換高周波成分を受け付け、垂直ウェーブレット変換処理を実行する。
【０１４８】
（動作）
次に、図２０〜図２２のフローチャートを参照して、本実施例の動作について詳細に説明する。
【０１４９】
図２０には、本実施例に係る２次元ウェーブレット変換演算処理回路２の動作に関するフローチャートを示す。なお、図２０におけるステップＳ１０１〜１１０は、図２におけるステップＳ１〜Ｓ１０と対応する。
【０１５０】
（水平ウェーブレット処理）
まず、図２０において、画像変換システムに入力された画像データは、２次元ウェーブレット変換回路２が備える水平ウェーブレット変換部１００に入力される。入力された画像データは、水平ウェーブレット変換部１００における水平ウェーブレット変換処理によって固定小数点数の高周波成分及び低周波成分に分離される（ステップＳ１０１）。
【０１５１】
ここで、ステップＳ１０２〜Ｓ１０５に示した高周波成分変換部３００における高周波成分変換処理と、ステップＳ１０６〜Ｓ１０９に示した低周波成分変換部２００における低周波成分変換処理とが並行して実施される。
【０１５２】
まず、高周波成分変換部３００における高周波成分変換処理（ステップＳ１０２〜Ｓ１０５）について説明する。
【０１５３】
高周波成分は、高周波成分変換部３００のブロック浮動小数点変換部３１０に入力される（ステップＳ１０２）。
【０１５４】
高周波成分は、ブロック浮動小数点変換部３１０においてブロック浮動小数点高周波成分に変換され、記憶部３２０に格納される（ステップＳ１０３）。
【０１５５】
記憶部３２０では、垂直ウェーブレット変換に必要なライン数分だけブロック浮動小数点高周波成分をバッファリングする。その後、固定小数点変換部３３０は、記憶部３２０にバッファリングされたブロック浮動小数点高周波成分を読み出す（ステップＳ１０４）。
【０１５６】
固定小数点変換部３３０は、読み出したブロック浮動小数点高周波成分を再変換高周波成分に再変換する（ステップＳ１０５）。
【０１５７】
次に、低周波成分変換部２００における低周波成分変換処理（ステップＳ１０６〜Ｓ１０９）について説明する。
【０１５８】
低周波成分は、低周波成分変換部２００のブロック浮動小数点変換部２１０に入力される（ステップＳ１０６）。
【０１５９】
低周波成分は、ブロック浮動小数点変換部２１０においてブロック浮動小数点低周波成分に変換され、記憶部２２に格納される（ステップＳ１０７）。
【０１６０】
記憶部２２０では、垂直ウェーブレット変換に必要なライン数分だけブロック浮動小数点低周波成分をバッファリングする。その後、固定小数点変換部２３０は、記憶部２２にバッファリングされたブロック浮動小数点低周波成分を読み出す（ステップＳ１０８）。
【０１６１】
なお、本実施例に係る２次元ウェーブレット変換回路２においては、高周波成分変換処理で用いるブロック長を、低周波成分変換処理で用いるブロック長より長くとる。そのため、高周波成分変換処理部３００内部の記憶部３２０におけるブロック長の保持に必要なブロックシフト数記憶メモリ３４０の記憶容量を削減することができる。
【０１６２】
固定小数点変換部２３０は、読み出した低周波成分ブロック浮動小数点を再変換低周波成分に再変換する（ステップＳ１０９）。
【０１６３】
再変換高周波成分及び再変換低周波成分は、垂直ウェーブレット変換部４００に入力され、垂直ウェーブレット変換処理が実施される（ステップＳ１００）。
【０１６４】
以上が、本発明の実施形態に係るウェーブレット変換装置１の動作についての説明である。なお、上述の動作に種々の変形・追加を行ったものについても本発明の範囲に含まれる。
【０１６５】
（ブロック浮動小数点変換処理）
次に、図２１のフローチャートを参照して、図２０のステップＳ１０３及びＳ１０７の動作（ブロック浮動小数点変換処理）について詳細に説明する。ステップＳ１０３及びＳ１０７においては、固定小数点数の成分（高周波成分及び低周波成分）をブロック浮動小数点変換する。
【０１６６】
まず、高周波成分のブロック浮動小数点変換処理について説明する。
【０１６７】
図２１では、高周波成分変換回路３００のブロック浮動小数点変換回路３１０のブロックバッファ３１１において、ブロック長と等しい数の高周波成分をバッファリングする（ステップＳ３０１）。
【０１６８】
ブロックバッファ３１１がバッファリングした複数の高周波成分は、最大絶対値検出回路３１２に入力され、最大絶対値をもつピクセルを特定する（ステップＳ３０２）。
【０１６９】
続いて、最大絶対値検出回路３１２は、最大ピクセルの数値で符号ビット（ＭＳＢ：Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎ  Ｂｉｔ）を除く先頭から連続する０値（負数の場合１値）のビット数を検出し、ブロック共通シフト数として出力する（ステップＳ３０３）。
【０１７０】
ブロックバッファ３１１がバッファリングした複数の高周波成分と、最大絶対値検出回路３１２によって検出されたブロック共通シフト数とがバレルシフタ３１３に入力される。バレルシフタ３１３は、ブロック共通シフト数だけ複数の高周波成分を左シフトし、正規化後の高周波成分を生成する（ステップＳ３０４）。ブロック共通シフト数及び正規化後の高周波成分は、続いて、記憶回路３２０に入力される。
【０１７１】
正規化後の高周波成分は、データ記憶メモリ３５０のビット幅に削減されて、データ記憶メモリ３５０に記憶される（ステップＳ３０５）。
【０１７２】
ブロック共通シフト数は、ブロックシフト数記憶メモリ３４０に格納される（ステップＳ３０６）。
【０１７３】
以上が高周波成分のブロック浮動小数点変換処理についての説明である。
【０１７４】
次に、低周波成分のブロック浮動小数点変換処理について説明する。
【０１７５】
図２１において、低周波成分変換回路２００のブロック浮動小数点変換回路２１０のブロックバッファ２１１において、ブロック長と等しい数の低周波成分をバッファリングする（ステップＳ３０７）。
【０１７６】
ブロックバッファ２１１がバッファリングした複数の低周波成分は、最大絶対値検出回路２１２に入力され、最大絶対値をもつピクセルを特定する（ステップＳ３０８）。
【０１７７】
続いて、最大絶対値検出回路２１２は、最大ピクセルの数値で符号ビット（ＭＳＢ）を除く先頭から連続する０値（負数の場合１値）のビット数を検出し、ブロック共通シフト数として出力する（ステップＳ３０９）。
【０１７８】
ブロックバッファ２１１がバッファリングした複数の低周波成分と、最大絶対値検出回路２１２によって検出されたブロック共通シフト数とがバレルシフタ２１３に入力される。バレルシフタ２１３は、ブロック共通シフト数だけ複数の低周波成分を左シフトし、正規化後の低周波成分を生成する（ステップＳ３１０）。ブロック共通シフト数及び正規化後の低周波成分は、続いて、記憶回路２２０に入力される。
【０１７９】
正規化後の低周波成分は、データ記憶メモリ２５０のビット幅に削減されて、データ記憶メモリ２５０に記憶される（ステップＳ３１１）。
【０１８０】
ブロック共通シフト数は、ブロックシフト数記憶メモリ２４０に格納される（ステップＳ３１２）。
【０１８１】
以上が低周波成分のブロック浮動小数点変換処理についての説明である。
【０１８２】
図２１に示したブロック浮動小数点変換処理は、高周波成分と低周波成分とでほぼ同じ動作をとる。しかしながら、ステップＳ３０１におけるブロック長は、高周波成分と低周波成分とで独立して設定される。同様に、ステップＳ３０５におけるデータ記憶メモリ３５０のビット幅についても、高周波成分と低周波成分とで独立して設定される。
【０１８３】
（固定小数点再変換処理）
次に、図２２を参照して、図２０のステップＳ１０５及びＳ１０９の動作（固定小数点再変換処理）について詳細に説明する。
【０１８４】
まず、高周波成分の固定小数点再変換処理について説明する。
【０１８５】
図８及び図１５に示した固定小数点変換回路３３０は、高周波成分変換回路３００の記憶回路３２０のブロックシフト数記憶メモリ３４０からブロック共通シフト数を読み出す（ステップＳ５０１）。
【０１８６】
また、固定小数点変換回路３３０は、データ記憶メモリ３５０から正規化後の高周波成分を読み出す（ステップＳ５０２）。
【０１８７】
なお、上述の読み出し動作においては、必ずしもブロック長と等しい数を同時に読み出す必要はない。
【０１８８】
固定小数点変換回路３３０のバレルシフタ３３１は、ブロック長と等しい数の正規化後の高周波成分に対して、ブロック共通シフト数分だけ算術右シフトする（ステップＳ５０３）。
【０１８９】
なお、複数の正規化後の高周波成分を同時に読み出した場合、同時にシフトしてもよい。また、連続して読み出しを実行する場合は、ブロック長分の正規化後の高周波成分にシフト処理がなされた後、次のブロックのブロック共通シフト数をブロックシフト数記憶メモリ３４０から読み出す。
【０１９０】
以上が、固定小数点変換部２３０による高周波成分の固定小数点再変換処理についての説明である。
【０１９１】
次に、低周波成分の固定小数点再変換処理について説明する。
【０１９２】
図８及び図１５に示した固定小数点変換回路２３０は、低周波成分変換回路２００の記憶回路２２０のブロックシフト数記憶メモリ２４０からブロック共通シフト数を読み出す。また、固定小数点変換回路２３０は、データ記憶メモリ２５０から正規化後の低周波成分を読み出す（ステップＳ５０１）。なお、上述の読み出し動作においては、必ずしもブロック長と等しい数を同時に読み出す必要はない。
【０１９３】
固定小数点変換回路２３０のバレルシフタ２３１は、ブロック長と等しい数の正規化後の低周波成分に対して、ブロック共通シフト数分だけ算術右シフトする（ステップＳ）。なお、複数の正規化後の低周波成分を同時に読み出した場合、同時にシフトしてもよい（ステップＳ５０２）。また、連続して読み出しを実行する場合、ブロック長分の正規化後の低周波成分にシフト処理がなされた後、次のブロックのブロック共通シフト数をブロックシフト数記憶メモリから読み出す。
【０１９４】
以上が、固定小数点変換部２３０による低周波成分の固定小数点再変換処理についての説明である。
【０１９５】
以上の実施例に係る２次元ウェーブレット変換回路２は、低周波成分と高周波成分とを、別個のブロック長でブロック浮動小数点に変換でき、さらに別個のビット幅のデータ記憶メモリで格納するように構成されている。そのため、情報量の多い低周波成分に対しては、低周波成分変換部２００内部のデータ記憶部２５０のビット幅を多く割り当てることで再現度を維持することができる。
【０１９６】
一方で、本実施例に係る２次元ウェーブレット変換回路２によれば、情報量の少ない高周波成分に対しては、ブロック長を長くすることで、高周波成分変換部３００内部のブロックシフト数記憶メモリ３４０の容量を削減できる。また、本実施例に係る２次元ウェーブレット変換回路２によれば、高周波成分のデータ記憶メモリ３５０のビット幅を小さくすることで、記憶回路３２０に必要な容量を削減できる。さらには、本実施例に係る２次元ウェーブレット変換回路によれば、一般的な記憶装置の容量でありながら画質を向上させることができる。
【０１９７】
以上のように、本発明の実施形態においては、高周波成分及び低周波成分をブロック浮動小数点変換する際に、それぞれの小数点変換手段において用いるブロック長を異なるものとする。より好ましくは、高周波成分及び低周波成分をブロック浮動小数点変換する際に、それぞれの小数点変換手段において用いるブロック長を、低周波成分よりも高周波成分において長くする。そして、ブロック浮動小数点変換して正規化した高周波成分を格納するのに要する記憶領域を削減する。
【０１９８】
また、本発明の別の視点によれば、高周波成分よりも低周波成分のブロック浮動小数点精度を低くすることにより、小数点変換手段によって正規化した高周波成分の保持に必要な記憶容量を削減する。さらには、固定小数点に再変換した高周波成分における微細な値が消去されるため、元々の高周波成分に含まれるノイズ成分が除去される。
【０１９９】
すなわち、本発明の実施形態によれば、低周波成分と高周波成分とを別個にブロック浮動小数点に変換し、低周波成分のビット精度を落とさずに、高周波成分のビット数を削減することによって、全体的な画質の劣化を最小限に抑えられる。そのため、中間バッファ量を削減できる。
【０２００】
また、本発明の実施形態によれば、ブロック浮動小数点変換した高周波成分の記憶領域のビット幅を、低周波成分のビット幅よりも小さく設定することで、入力信号に与える影響を最小限に抑えつつ、細かい振動成分のみをアンダーフローにより削減する。そのため、入力信号に混入するノイズ成分を削減できる。
【０２０１】
以上、実施形態及び実施例を参照して本発明を説明してきたが、本発明は上記実施形態及び実施例に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０２０２】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
水平方向にウェーブレット変換されて高周波成分及び低周波成分に分離された固定小数点数のデータを入力し、前記高周波成分及び前記低周波成分を個別にブロック浮動小数点変換して格納し、ブロック浮動小数点変換された前記高周波成分及び前記低周波成分のそれぞれを固定小数点数に再変換する小数点変換手段を備え、
前記小数点変換手段は、
ブロック浮動小数点変換した前記低周波成分を格納する第１の記憶領域と、
ブロック浮動小数点変換した前記高周波成分を格納する第２の記憶領域と、を有し、
前記第２の記憶領域は、前記第１の記憶領域よりも小さいことを特徴とするデータ変換装置。
（付記２）
ブロック浮動小数点変換時にバッファリングする前記低周波成分の数である第１のブロック長と、ブロック浮動小数点変換時にバッファリングする前記高周波成分の数である第２のブロック長と、が異なることを特徴とする付記１に記載のデータ変換装置。
（付記３）
ブロック浮動小数点変換時にバッファリングする前記低周波成分の数である第１のブロック長と、ブロック浮動小数点変換時にバッファリングする前記高周波成分の数である第２のブロック長と、が異なり、
前記第２のブロック長は、前記第１のブロック長よりも大きいことを特徴とする付記１に記載のデータ変換装置。
（付記４）
前記第１の記憶領域が格納するブロック浮動小数点変換された前記低周波成分のビット幅と、前記第２の記憶領域が格納するブロック浮動小数点変換された前記高周波成分のビット幅、とが異なることを特徴とする付記１乃至３のいずれか一項に記載のデータ変換装置。
（付記５）
前記第２の記憶領域が格納するブロック浮動小数点変換された前記高周波成分のビット幅は、前記第１の記憶領域が格納するブロック浮動小数点変換された前記低周波成分のビット幅よりも小さいことを特徴とする付記１乃至４のいずれか一項に記載のデータ変換装置。
（付記６）
前記第１の記憶領域は、
ブロック浮動小数点変換された前記低周波成分と、前記低周波成分をブロック浮動小数点変換する際に算術左シフトする数である第１のブロック共通シフト数と、を格納し、
前記第２の記憶領域は、
ブロック浮動小数点変換された前記高周波成分と、前記高周波成分をブロック浮動小数点変換する際に算術左シフトする数である第２のブロック共通シフト数と、を格納することを特徴とする付記１乃至５のいずれか一項に記載のデータ変換装置。
（付記７）
前記小数点変換手段は、
水平方向にウェーブレット変換された前記低周波成分を入力し、前記低周波成分を前記第１のブロック長の数だけバッファリングし、バッファリングされた前記第１のブロック長の数からなる複数の前記低周波成分を含む第１のブロックの中で最大絶対値をもつ前記低周波成分を検出し、前記最大絶対値をもつ前記低周波成分から符号ビットを除いて先頭から連続するビット値の数を前記第１のブロック共通シフト数として検出し、前記第１のブロックを構成する複数の前記低周波成分を、前記第１のブロック共通シフト数分だけ算術左シフトする第１のブロック浮動小数点変換部と、
水平方向にウェーブレット変換された前記高周波成分を入力し、前記高周波成分を前記第２のブロック長の数だけバッファリングし、バッファリングされた前記第２のブロック長の数からなる複数の前記高周波成分を含む第２のブロックの中で最大絶対値をもつ前記高周波成分を検出し、前記最大絶対値をもつ前記高周波成分から符号ビットを除いて先頭から連続するビット値の数を前記第２のブロック共通シフト数として検出し、前記第２のブロックを構成する複数の前記高周波成分を、前記第２のブロック共通シフト数分だけ算術左シフトする第２のブロック浮動小数点変換部と、を備えることを特徴とする付記６に記載のデータ変換装置。
（付記８）
前記固定小数点数のデータを入力とし、入力した前記固定小数点数のデータを水平ウェーブレット変換した後に前記低周波成分と前記高周波成分とに分離して前記小数点変換手段に出力する水平ウェーブレット変換部と、
元のビット数に戻された前記低周波成分及び前記高周波成分を前記小数点変換手段から入力して垂直ウェーブレット変換を行う垂直ウェーブレット変換部と、を備えることを特徴とする付記１乃至７のいずれか一項に記載のデータ変換装置。
（付記９）
前記第１の記憶領域は、
ブロック浮動小数点変換された前記低周波数成分データを、ウェーブレット変換前の前記固定小数点数のデータよりも小さなビット幅で格納することを特徴とする付記１乃至８のいずれか一項に記載のデータ変換装置。
（付記１０）  前記第２の記憶領域は、
ブロック浮動小数点変換された前記高周波数成分データを、ウェーブレット変換前の前記固定小数点数のデータよりも小さなビット幅で格納することを特徴とする付記１乃至９のいずれか一項に記載のデータ変換装置。
（付記１１）
水平方向にウェーブレット変換されて高周波成分と低周波成分とに分離された固定小数点数のデータを入力し、前記高周波成分及び前記低周波成分を個別にブロック浮動小数点変換して格納し、ブロック浮動小数点変換された前記高周波成分及び前記低周波成分のそれぞれを固定小数点数に再変換する小数点変換回路を備え、
前記小数点変換回路は、
ブロック浮動小数点変換した前記低周波成分を格納する第１の記憶回路と、
ブロック浮動小数点変換した前記高周波成分を格納する第２の記憶回路と、を有し、
前記第２の記憶回路は、前記第１の記憶回路よりも小さいことを特徴とするデータ変換回路。
（付記１２）
ブロック浮動小数点変換時にバッファリングする前記低周波成分の数である第１のブロック長と、ブロック浮動小数点変換時にバッファリングする前記高周波成分の数である第２のブロック長と、が異なることを特徴とする付記１１に記載のデータ変換回路。
（付記１３）
前記第２のブロック長は、前記第１のブロック長よりも大きいことを特徴とする付記１２に記載のデータ変換回路。
（付記１４）
前記第１の記憶回路が格納するブロック浮動小数点変換された前記低周波成分のビット幅と、前記第２の記憶回路が格納するブロック浮動小数点変換された前記高周波成分のビット幅、とが異なることを特徴とする付記１１乃至１３のいずれか一項に記載のデータ変換回路。
（付記１５）
前記第２の記憶回路が格納するブロック浮動小数点変換された前記高周波成分のビット幅は、前記第１の記憶回路が格納するブロック浮動小数点変換された前記低周波成分のビット幅よりも小さいことを特徴とする付記１１乃至１４のいずれか一項に記載のデータ変換回路。
（付記１６）
前記第１の記憶回路は、
ブロック浮動小数点変換された前記低周波成分を格納する第１のデータ記憶メモリと、前記低周波成分をブロック浮動小数点変換する際に算術左シフトする数である第１のブロック共通シフト数を格納するシフト数記憶メモリと、を有し、
前記第２の記憶回路は、
ブロック浮動小数点変換された前記高周波成分を格納する第２のデータ記憶メモリと、前記高周波成分をブロック浮動小数点変換する際に算術左シフトする数である第２のブロック共通シフト数を格納する第２のシフト数記憶メモリと、を有することを特徴とする付記１１乃至１５のいずれか一項に記載のデータ変換回路。
（付記１７）
前記小数点変換手段は、
水平方向にウェーブレット変換された前記低周波成分を入力し、前記低周波成分を前記第１のブロック長の数だけバッファリングする第１のバッファと、
前記第１のバッファにバッファリングされた前記第１のブロック長の数からなる複数の前記低周波成分を含む第１のブロックの中で最大絶対値をもつ前記低周波成分を検出し、前記最大絶対値をもつ前記低周波成分から符号ビットを除いて先頭から連続するビット値の数を前記第１のブロック共通シフト数として検出する第１の最大絶対値検出回路と、
前記第１のブロックを構成する複数の前記低周波成分を、前記第１のブロック共通シフト数分だけ算術左シフトする第１のバレルシフタと、を有する第１のブロック浮動小数点変換回路と、
水平方向にウェーブレット変換された前記高周波成分を入力し、前記高周波成分を前記第２のブロック長の数だけバッファリングする第２のバッファと、
前記第２のバッファにバッファリングされた前記第２のブロック長の数からなる複数の前記高周波成分を含む第２のブロックの中で最大絶対値をもつ前記高周波成分を検出し、前記最大絶対値をもつ前記高周波成分から符号ビットを除いて先頭から連続するビット値の数を前記第２のブロック共通シフト数として検出する第２の最大絶対値検出回路と、
前記第２のブロックを構成する複数の前記高周波成分を、前記第２のブロック共通シフト数分だけ算術左シフトする第２のバレルシフタと、を有する第２のブロック浮動小数点変換回路と、を備えることを特徴とする付記１６に記載のデータ変換回路。
（付記１８）
前記固定小数点数のデータを入力し、入力した前記固定小数点数のデータを水平ウェーブレット変換した後に前記低周波成分と前記高周波成分とに分離して前記小数点変換部に出力する水平ウェーブレット変換部と、
前記小数点変換回路から固定小数点数に再変換された前記低周波成分及び前記高周波成分を入力して垂直ウェーブレット変換を行う垂直ウェーブレット変換部と、を備えることを特徴とする付記１１乃至１７のいずれか一項に記載のデータ変換回路。
（付記１９）
前記第１の記憶回路は、
ブロック浮動小数点変換された前記低周波数成分データを、ウェーブレット変換前の前記固定小数点数のデータよりも小さなビット幅で格納することを特徴とする付記１１乃至１８のいずれか一項に記載のデータ変換回路。
（付記２０）
前記第２の記憶回路は、
ブロック浮動小数点変換された前記高周波数成分データを、ウェーブレット変換前の前記固定小数点数のデータよりも小さなビット幅で格納することを特徴とする付記１１乃至１９のいずれか一項に記載のデータ変換回路。
（付記２１）
水平方向にウェーブレット変換されて高周波成分と低周波成分とに分離された固定小数点数のデータを入力し、前記高周波成分及び前記低周波成分を個別にブロック浮動小数点変換するブロック浮動小数点変換工程と、
ブロック浮動小数点変換した前記低周波成分を第１の記憶領域に格納する第１の記憶工程と、
ブロック浮動小数点変換した前記高周波成分を前記第１の記憶領域よりも小さい第２の記憶領域に格納する第２の記憶工程と、
ブロック浮動小数点変換された前記高周波成分及び前記低周波成分のそれぞれを固定小数点数に再変換する固定小数点再変換工程と、を含むことを特徴とするデータ変換方法。
（付記２２）
前記ブロック浮動小数点変換工程において、
バッファリングする前記低周波成分の数である第１のブロック長と、バッファリングする前記高周波成分の数である第２のブロック長と、が異なることを特徴とする付記１に記載のデータ変換方法。
（付記２３）
前記ブロック浮動小数点変換工程において、
前記第２のブロック長は、前記第１のブロック長よりも大きいことを特徴とする付記２２に記載のデータ変換方法。
（付記２４）
前記第１の記憶工程において格納するブロック浮動小数点変換された前記低周波成分のビット幅と、前記第２の記憶工程において格納するブロック浮動小数点変換された前記高周波成分のビット幅、とが異なることを特徴とする付記２１乃至２３のいずれか一項に記載のデータ変換方法。
（付記２５）
前記第２の記憶工程で格納するブロック浮動小数点変換された前記高周波成分のビット幅は、前記第１の記憶工程で格納するブロック浮動小数点変換された前記低周波成分のビット幅よりも小さいことを特徴とする付記２１乃至２４のいずれか一項に記載のデータ変換方法。
（付記２６）
前記第１の記憶工程において、
ブロック浮動小数点変換された前記低周波成分と、前記低周波成分をブロック浮動小数点変換する際に算術左シフトする数である第１のブロック共通シフト数と、を格納し、
前記第２の記憶工程において、
ブロック浮動小数点変換された前記高周波成分と、前記高周波成分をブロック浮動小数点変換する際に算術左シフトする数である第２のブロック共通シフト数と、を格納することを特徴とする付記２１乃至２５のいずれか一項に記載のデータ変換方法。
（付記２７）
水平方向にウェーブレット変換された前記低周波成分を入力し、前記低周波成分を前記第１のブロック長の数だけバッファリングする第１のバッファリング工程と、
バッファリングされた前記第１のブロック長の数からなる複数の前記低周波成分を含む第１のブロックの中で最大絶対値をもつ前記低周波成分を検出する第１の最大絶対値検出工程と、
前記最大絶対値をもつ前記低周波成分から符号ビットを除いて先頭から連続するビット値の数を前記第１のブロック共通シフト数として検出する第１のシフト数検出工程と、
前記第１のブロックを構成する複数の前記低周波成分を、前記第１のブロック共通シフト数分だけ算術左シフトする第１のブロック浮動小数点変換工程と、
水平方向にウェーブレット変換された前記高周波成分を入力し、前記高周波成分を前記第２のブロック長の数だけバッファリングする第２のバッファリング工程と、
バッファリングされた前記第２のブロック長の数からなる複数の前記高周波成分を含む第２のブロックの中で最大絶対値をもつ前記高周波成分を検出する第２の検出工程と、
前記最大絶対値をもつ前記高周波成分から符号ビットを除いて先頭から連続するビット値の数を前記第２のブロック共通シフト数として検出する第２のシフト数検出工程と、
前記第２のブロックを構成する複数の前記高周波成分を、前記第２のブロック共通シフト数分だけ算術左シフトする第２のブロック浮動小数点変換工程と、を含むことを特徴とする付記２６に記載のデータ変換方法。
（付記２８）
前記固定小数点数のデータを入力とし、入力した前記固定小数点数のデータを水平ウェーブレット変換した後に前記低周波成分と前記高周波成分とに分離して前記小数点変換工程に出力する水平ウェーブレット変換工程と、
元のビット数に戻された前記低周波成分及び前記高周波成分を前記小数点変換工程から入力して垂直ウェーブレット変換を行う垂直ウェーブレット変換工程と、を含むことを特徴とする付記２１乃至２７のいずれか一項に記載のデータ変換方法。
（付記２９）
前記第１の記憶工程において、
ブロック浮動小数点変換された前記低周波数成分データを、ウェーブレット変換前の前記固定小数点数のデータよりも小さなビット幅で格納することを特徴とする付記２１乃至２８のいずれか一項に記載のデータ変換方法。
（付記３０）
前記第２の記憶工程において、
ブロック浮動小数点変換された前記高周波数成分データを、ウェーブレット変換前の前記固定小数点数のデータよりも小さなビット幅で格納することを特徴とする付記２６に記載のデータ変換方法。
【産業上の利用可能性】
【０２０３】
本発明によれば、２次元ウェーブレット変換を用いる画像処理に係るメモリ量の削減や、再現性の向上が期待できる。本明細書で開示した技術は、ディジタル画像処理回路や画像圧縮回路、映像符号化回路といった用途に適用できる。また、本発明の技術は、固定小数点精度が一意に定められたＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｅｒ）や、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）における乗算器を用いる回路での画像信号処理といった用途にも適用可能である。
【符号の説明】
【０２０４】
１    ２次元ウェーブレット変換装置
２    ２次元ウェーブレット変換回路
１０    水平ウェーブレット変換部
１５    小数点変換部
２０    低周波成分変換部
２１、３１    ブロック浮動小数点変換部
２２、３２    記憶部
２３、３３    固定小数点変換部
２４、３４    ブロックシフト数記憶部
２５、３５    データ記憶部
３０    高周波成分変換部
４０    垂直ウェーブレット変換部
１００    水平ウェーブレット変換回路
１５０    小数点変換回路
２００    低周波成分変換回路
２１０、３１０    ブロック浮動小数点変換回路
２１１、３１１    ブロックバッファ
２１２、３１２    最大絶対値検出回路
２１３、３１３    バレルシフタ
２２０、３２０    記憶回路
２３０、３３０    固定小数点変換回路
２３１、３３１    バレルシフタ
２４０、３４０    ブロックシフト数記憶メモリ
２５０、３５０    データ記憶メモリ
３００    高周波成分変換回路
４００    垂直ウェーブレット変換回路
【図１】
2015018373.tif 000003
【図２】
2015018373.tif 000004
【図３】
2015018373.tif 000005
【図４】
2015018373.tif 000006
【図５】
2015018373.tif 000007
【図６】
2015018373.tif 000008
【図７】
2015018373.tif 000009
【図８】
2015018373.tif 000010
【図９】
2015018373.tif 000011
【図１０】
2015018373.tif 000012
【図１１】
2015018373.tif 000013
【図１２】
2015018373.tif 000014
【図１３】
2015018373.tif 000015
【図１４】
2015018373.tif 000016
【図１５】
2015018373.tif 000017
【図１６】
2015018373.tif 000018
【図１７】
2015018373.tif 000019
【図１８】
2015018373.tif 000020
【図１９】
2015018373.tif 000021
【図２０】
2015018373.tif 000022
【図２１】
2015018373.tif 000023
【図２２】
2015018373.tif 000024
【図２３】
2015018373.tif 000025
【図２４】
2015018373.tif 000026