(57)【要約】【課題】  例えばＪＰＥＧ２０００符号化方式のように、Ｔｉｌｅ毎にウェーブレット変換を行う符号化方式において、Ｔｉｌｅ分割境界面に不連続面が視認されやすかった。【解決手段】  奇数画素に対する処理と偶数画素に対する処理を互いに入れ替えた１次元リフティング演算器１０６、１０７を用意し、画素ライン毎に切り替えて使用する。これにより、リフティング演算で得られる高周波成分と低周波成分との出現順序がライン毎に逆転し、不連続面の原因となる同一周波数成分の連続を防ぐことができる。【選択図】  図１
2005142673.tif 000002
【特許請求の範囲】
【請求項１】
２次元画像データに対し、ウェーブレット変換を行う画像処理装置であって、
前記２次元画像データを構成する縦画像ライン又は横画像ライン単位で１次元ウェーブレット変換を行う１次元ウェーブレット変換処理手段を有し、
前記１次元ウェーブレット変換処理手段が、
高域周波数成分と低域周波数成分とが交互に出現するように前記画素ラインを変換するとともに、
隣り合う画素ラインにおいては、前記高周波成分と前記低周波成分との出現順序を逆転させて変換を行うことを特徴とする画像処理装置。
【請求項２】
前記１次元ウェーブレット変換処理手段が、処理対象の画素ラインに含まれる画素毎に、当該画素の値に１つ以上の隣接画素の値に所定の係数を乗じた値を加算する演算により前記ウェーブレット変換を行い、
前記演算が高周波成分を得るための第１の演算と、低周波成分を得るための第２の演算とから構成され、前記１次元ウェーブレット変換処理手段が前記画素ライン毎に前記第１の演算と前記第２の演算の順序を入れ替えた演算を施すことを特徴とする請求項１記載の画像処理装置。
【請求項３】
１つのインタレース画像を構成する２つのフィールド画像に独立してウェーブレット変換を行う画像処理装置であって、
前記フィールド画像データを構成する縦画像ライン又は横画像ライン単位で１次元ウェーブレット変換を行う１次元ウェーブレット変換処理手段と、
前記フィールド画像データの一方に対し、各画素の横方向のアドレスに奇数のオフセットを付加するオフセット付加手段とを有し、
前記１次元ウェーブレット変換処理手段が、
前記画素ラインに含まれる画素の横方向のアドレスが奇数である画素に対しては高域周波数成分又は低域周波数成分の一方が出現するように、偶数である画素に対しては他方が出現するように前記画素ラインを変換することを特徴とする画像処理装置。
【請求項４】
２次元画像データに対し、ウェーブレット変換を行う画像処理方法であって、
前記２次元画像データを構成する縦画像ライン又は横画像ライン単位で１次元ウェーブレット変換を行う１次元ウェーブレット変換処理ステップを有し、
前記１次元ウェーブレット変換処理ステップが、
高域周波数成分と低域周波数成分とが交互に出現するように前記画素ラインを変換するとともに、
隣り合う画素ラインにおいては、前記高周波成分と前記低周波成分との出現順序を逆転させて変換を行うことを特徴とする画像処理方法。
【請求項５】
前記１次元ウェーブレット変換処理ステップが、処理対象の画素ラインに含まれる画素毎に、当該画素の値に１つ以上の隣接画素の値に所定の係数を乗じた値を加算する演算により前記ウェーブレット変換を行い、
前記演算が高周波成分を得るための第１の演算と、低周波成分を得るための第２の演算とから構成され、前記１次元ウェーブレット変換処理ステップが前記画素ライン毎に前記第１の演算と前記第２の演算の順序を入れ替えた演算を施すことを特徴とする請求項４記載の画像処理方法。
【請求項６】
１つのインタレース画像を構成する２つのフィールド画像に独立してウェーブレット変換を行う画像処理方法であって、
前記フィールド画像データを構成する縦画像ライン又は横画像ライン単位で１次元ウェーブレット変換を行う１次元ウェーブレット変換処理ステップと、
前記フィールド画像データの一方に対し、各画素の横方向のアドレスに奇数のオフセットを付加するオフセット付加ステップとを有し、
前記１次元ウェーブレット変換処理ステップが、
前記画素ラインに含まれる画素の横方向のアドレスが奇数である画素に対しては高域周波数成分又は低域周波数成分の一方が出現するように、偶数である画素に対しては高域周波数成分又は低域周波数成分の他方が出現するように前記画素ラインを変換することを特徴とする画像処理方法。
【請求項７】
請求項４乃至請求項６のいずれか１項に記載の画像処理方法をコンピュータに実現させるプログラム。
【請求項８】
請求項７記載のプログラムを格納したコンピュータ装置読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル信号の変換に関し、特に画像に離散ウェーブレット変換（ＤＷＴ：Discrete Wavelet Transformation）を行う画像処理に関する。
【背景技術】
【０００２】
近年、ＤＷＴを用いたＪＰＥＧ２０００という画像符号化がＩＳＯ／ＩＥＣにて規格化された（ＩＳＯ／ＩＥＣ−１５４４４）。ＪＰＥＧ２０００は、入力された２次元画像に２次元のＤＷＴ変換を施したのち、量子化して算術符号化による圧縮を行う符号化方式である。なお、以下の説明において、「ウェーブレット変換」とは「離散ウェーブレット変換」の意味で使われる場合がある。
【０００３】
ＪＰＥＧ２０００では、１枚の画像をタイル（Ｔｉｌｅ）と呼ばれる区分領域に分割し、Ｔｉｌｅ毎に符号化処理を行う。画像全体を１枚のＴｉｌｅとして符号化することもできる。
【０００４】
そして、ＤＷＴもＴｉｌｅ単位で行われる。ＪＰＥＧ２０００に用いられているＤＷＴには、リフティング演算が採用されている。リフティング演算とは、１次元に連なるデータにおいて、あるデータに対し、その前後に存在する１つ以上のデータの和に係数を掛けたものを加える演算を繰り返すことで、フィルタリングとサブサンプリングを同時に行う演算である（ＪＰＥＧ２０００におけるリフティング演算については、例えば特許文献１参照）。ＪＰＥＧ２０００規格で定められている非可逆フィルタのリフティング演算（順変換）は、下記の漸化式で表される。
【０００５】
【数１】
2005142673.tif 000003
【０００６】
ただし、
α＝−１．５８６ １３４ ３４２ ０５９ ９２４
β＝−０．０５２ ９８０ １１８ ５７２ ９６１
γ＝  ０．８８２ ９１１ ０７５ ５３０ ９３４
δ＝  ０．４４３ ５０６ ８５２ ０４３ ９７１
Ｋ＝  １．２３０ １７４ １０４ ９１４ ００１
ｎは整数である。          …（式１）
【０００７】
上述したように、リフティング演算ではあるデータに対する演算を行うために、そのデータの前後に存在するデータが必要であるが、画像の端部のデータに対しては演算に必要な画素が実在しない。そのため、ＪＰＥＧ２０００のリフティング演算は、画像の端部で画素列を折り返して、仮想の画素列を補う。補う画素列の個数は、端部の画素の座標が奇数の場合は３画素、偶数の場合は４画素である。
【０００８】
この画素の折り返しを図１１により説明する。図１１において、アルファベットＡ〜Ｆを実在する画素列とし、画素の座標を画素ＡからＦにかけて順に０〜５とすると、偶数アドレスの画素ＡについてはＢ，Ｃ，Ｄ，Ｅの４画素が逆順で画素Ａの左側に、奇数アドレスの画素Ｆについては、列が折り返したような仮想の画素列が、実在する画素列の端部に補われる。
【０００９】
リフティング演算の結果、画素の座標が偶数（Ｙ（２ｎ））の場合は低周波成分、画素の座標が奇数（Ｙ（２ｎ＋１））の場合は高周波成分が表れる。従って、式１におけるstep 2,4,6の演算はローパスフィルタ処理、step 1,3,5の演算はハイパスフィルタ処理と見ることができる。ＤＷＴは、式１の漸化式に示されるリフティング演算を１次元方向に繰り返し行い、画像データを低周波成分と高周波成分とに分割する。さらに、この演算を左端から右端に向かう横方向と、上端から下端に向かう縦方向に画素ライン毎に順次適用することで、画像データを２次元のサブバンドに分割する。
【００１０】
図１２は、ウェーブレット変換によって縦４画素横４画素の画像がサブバンドに分割される様子を示したものである。図中のＬ、Ｈは変換係数に含まれる周波数成分を表しており、Ｌは低周波成分、Ｈは高周波成分を表している。また、カッコ内に示された数字は、元画像における画素の座標を表しており、左側の値が上端から下端に向かう縦方向の座標、右側の値が左端から右端へ向かう横方向の座標を表している。
【００１１】
２次元ＤＷＴでは、はじめに上端から下端に向かう縦の画素ライン毎に左端から右端まで１次元のリフティング演算が行われる。図１２（ａ）は、縦の画素ライン毎に１次元のリフティング演算を行った結果を示している。リフティング演算の後、演算結果をＬ、Ｈの成分ごとにまとめる並び替えを行う。係数を並び替えた結果を図１２（ｂ）に示す。続いて、左端から右端に向かう横の画素ライン毎に上端から下端まで１次元のリフティング演算を行う。この結果を図１２（ｃ）に示す。続いて、縦の画素ライン毎の演算と同様に、演算結果をＬ、Ｈの成分ごとにまとめる並び替えを行う。この結果を図１２（ｄ）に示す。結果として、ウェーブレット変換で生成された係数は、図１２（ｅ）のようにサブバンドにまとめられる。
【００１２】
図１３は、縦４画素横４画素の画像にウェーブレット変換を施して生成されたサブバンドの係数が、元の画像においてどこに位置しているかを示している。図１３（ａ）は上端から下端に向かう縦の画素ライン毎の１次元のＤＷＴにより生成された係数の分布を元の画素の位置関係で示しており、図１３（ｂ）は２次元のＤＷＴにより生成された係数の分布を元の画素の位置関係で示している。図１３より、画素ラインのアドレスが奇数であるか偶数であるかによって、ウェーブレット変換で生成される係数の周波数成分が異なることがわかる。
【００１３】
上述したように、ＪＰＥＧ２０００でウェーブレット変換はＴｉｌｅ毎に適用されるので、ここでＴｉｌｅにウェーブレット変換が施されたときの係数の分布について説明する。図１４は、縦４画素横８画素の画像を縦横各４画素の２つのＴｉｌｅに分割した場合において、ウェーブレット変換により生成された係数の分布を、元の画素の位置関係で示したものである。図１４（ａ）は、２次元のＤＷＴにより生成された係数の分布を示したものである。また、図１４（ｂ）は、図１４（ａ）に示す係数のうち、Ｔｉｌｅ分割境界の方向と同じ縦方向の周波数成分の分布のみを示したものである。図１４（ｂ）より、Ｔｉｌｅ分割を行うと、Ｔｉｌｅ分割境界の方向と同じ縦方向の周波数成分に関して、分割境界面に同じ周波数成分の係数が並ぶことがわかる。
【００１４】
【特許文献１】特開２００２−１５２０４５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
通常、ＪＰＥＧ２０００の非可逆圧縮の量子化では、高周波成分を含む係数は、低周波成分を含む係数より大きな量子化ステップで量子化される。これは、低周波成分の視認性に比べて高周波成分の視認性が劣るという人間の視覚特性を利用して、効率よく符号化するためである。結果として、高周波成分を含む係数の量子化誤差は大きくなり、低周波成分を含む係数より劣化する。そして、上述したように、２次元ＤＷＴの変換係数は画素ラインのアドレスに応じて高周波成分と低周波成分が並んだ構成を有するため、画素ラインのアドレスに応じて劣化の大きな画素と小さな画素が並ぶことになる。
【００１６】
また、図１２を用いて説明したように、ＪＰＥＧ２０００のリフティング演算では画像の端部で画素列を折り返して、仮想の画素列を補う。そのため、不可逆変換を行うと、逆ウェーブレット変換時（復号時）に、仮想の画素列に係る画質劣化が、実際の画素列の生成に影響を与えて、実際の画素列の画質が劣化してしまう。
【００１７】
ここで、仮想の画素列を補間することに伴う画質劣化は、仮想の画素列の影響を最も受ける最端部の画素において最も著しくなる。リフティング演算では補間の必要な画素をその周辺の画素を用いて補間するので、低周波成分の保存性に優れている反面、高周波成分の保存性には優れていない。このため、仮想の画素列を補間したことによる画質劣化は、画像の端部に低周波成分を含む変換係数が生成される場合は軽微であるが、高周波成分を含む変換係数が生成される場合には、復号された画像の端部に著しい画質劣化が生じる可能性がある。
【００１８】
また、図１４を用いて説明したように、ＪＰＥＧ２０００の非可逆圧縮を行う場合、Ｔｉｌｅの境界部分に、境界と同一方向に関して同一の周波数成分を含む係数が並び、特にＴｉｌｅ境界の一方に高周波成分を含む係数が一列に並ぶ場合がある。
【００１９】
この場合、Ｔｉｌｅ分割境界面に、画素補間に起因する画質劣化の著しい画素が並ぶことになり、結果としてＴｉｌｅ分割境界面に不連続面が視認されやすくなってしまう。
【課題を解決するための手段】
【００２０】
本発明は、上記問題点を鑑みてなされたものであり、ウェーブレット変換において、Ｔｉｌｅ境界面に異なる周波数成分を含む係数を並ばせることで、画質劣化の視認性を軽減することを主な目的とする。
【００２１】
上述の目的は、２次元画像データに対し、ウェーブレット変換を行う画像処理装置であって、２次元画像データを構成する縦画像ライン又は横画像ライン単位で１次元ウェーブレット変換を行う１次元ウェーブレット変換処理手段を有し、１次元ウェーブレット変換処理手段が、高域周波数成分と低域周波数成分とが交互に出現するように画素ラインを変換するとともに、隣り合う画素ラインにおいては、高周波成分と低周波成分との出現順序を逆転させて変換を行うことを特徴とする画像処理装置によって達成される。
【００２２】
また、上述の目的は、１つのインタレース画像を構成する２つのフィールド画像に独立してウェーブレット変換を行う画像処理装置であって、フィールド画像データを構成する縦画像ライン又は横画像ライン単位で１次元ウェーブレット変換を行う１次元ウェーブレット変換処理手段と、フィールド画像データの一方に対し、各画素の横方向のアドレスに奇数のオフセットを付加するオフセット付加手段とを有し、１次元ウェーブレット変換処理手段が、画素ラインに含まれる画素の横方向のアドレスが奇数である画素に対しては高域周波数成分又は低域周波数成分の一方が出現するように、偶数である画素に対しては他方が出現するように画素ラインを変換することを特徴とする画像処理装置によっても達成される。
【００２３】
さらに、上述の目的は、２次元画像データに対し、ウェーブレット変換を行う画像処理方法であって、２次元画像データを構成する縦画像ライン又は横画像ライン単位で１次元ウェーブレット変換を行う１次元ウェーブレット変換処理ステップを有し、１次元ウェーブレット変換処理ステップが、高域周波数成分と低域周波数成分とが交互に出現するように画素ラインを変換するとともに、隣り合う画素ラインにおいては、高周波成分と低周波成分との出現順序を逆転させて変換を行うことを特徴とする画像処理方法によっても達成される。
【００２４】
加えて、上述の目的は、１つのインタレース画像を構成する２つのフィールド画像に独立してウェーブレット変換を行う画像処理方法であって、フィールド画像データを構成する縦画像ライン又は横画像ライン単位で１次元ウェーブレット変換を行う１次元ウェーブレット変換処理ステップと、フィールド画像データの一方に対し、各画素の横方向のアドレスに奇数のオフセットを付加するオフセット付加ステップとを有し、１次元ウェーブレット変換処理ステップが、画素ラインに含まれる画素の横方向のアドレスが奇数である画素に対しては高域周波数成分又は低域周波数成分の一方が出現するように、偶数である画素に対しては高域周波数成分又は低域周波数成分の他方が出現するように画素ラインを変換することを特徴とする画像処理方法によっても達成される。
【００２５】
また、上述の目的は、本発明の方法をコンピュータに実現させるプログラムや、当該プログラムを格納したコンピュータ装置読み取り可能な記録媒体によっても達成される。
【発明の効果】
【００２６】
本発明によれば、画像を複数のＴｉｌｅに分割してウェーブレット変換する際に、同じ周波数成分を含む係数が一列に並ばないようにすることで、Ｔｉｌｅ分割したことによるＴｉｌｅ端部の不連続面の視認性を低下させることができる。
【発明を実施するための最良の形態】
【００２７】
以下、添付図面を参照して本発明をその好適な実施形態に基づき詳細に説明する。
●＜第１の実施形態＞
はじめに、本発明の第１の実施形態に係る画像処理装置について説明する。
本発明の第１の実施形態に係る画像処理装置は、画像データを入力して、その画像データに、所定の分解レベルまで、上端から下端へ向かう縦の画素ラインおよび左端から右端へ向かう横の画素ライン毎に１次元のリフティング演算を繰り返し行うことで２次元の離散ウェーブレット変換を実現し、算出されたサブバンド係数を出力する。
【００２８】
図１を用いて装置の大まかな構成を説明すると、本実施形態に係る画像処理装置は、１次元の画素ラインの座標により演算切替器１０３の出力先を切り替えて、バッファメモリ１０２から出力された１次元の画素列を、画素補間器Ａ１０４〜１次元リフティング演算器Ａ１０６という第１の系統、あるいは画素補間器Ｂ１０５〜１次元リフティング演算器Ｂ１０７という第２の系統で処理することで、画素列に１次元のウェーブレット変換を施し、サブバンド係数を生成する。そして、所定の分解レベルに達するまで、横方向および縦方向において共に低周波成分を含むＬＬ成分を含むサブバンド（ＬＬサブバンド）の係数に２次元の離散ウェーブレット変換を繰り返し行う。
【００２９】
ここで、本発明の第１の実施形態に係る画像処理装置が行う、画素補間器Ａ１０４〜１次元リフティング演算器Ａ１０６の第１の系統と、画素補間器Ｂ１０５〜１次元リフティング演算器Ｂ１０７の第２の系統の処理内容について説明する。
【００３０】
本実施形態に係る画像処理装置は、Ｔｉｌｅに分割された画像（Ｔｉｌｅ画像）をリフティング演算するとき、縦方向あるいは横方向の画素の座標が偶数であるか奇数であるかにより、リフティング演算の順序を変更する。すなわち、上端から下端へ向かう縦の画素ライン毎に演算を行う場合は、その画素の横方向の座標（ラインの座標）に従って、また、左端から右端までの横の画素ライン毎に演算を行う場合は、その画素の縦方向の座標に従って、リフティング演算の順序を変更する。
【００３１】
このため、画素ラインの座標が偶数であるときのリフティング演算および演算に応じた画素補間処理と、画素ラインの座標が奇数であるときの同処理との２種類の処理を行う。すなわち、画像処理装置は、画素ラインの座標ごとに演算切替器１０３の出力先を切り替えながら、画素ラインの座標が偶数であるときは、演算切替器１０３を通じて第１の系統（画素補間器Ａ１０４〜１次元リフティング演算器Ａ１０６）を用い、画素ラインの座標が奇数であるときは、同様にして第２の系統（画素補間器Ｂ１０５〜１次元リフティング演算器Ｂ１０７）を用いる。
【００３２】
はじめに、第１の系統（画素補間器Ａ１０４〜１次元リフティング演算器Ａ１０６）での処理について説明する。画素補間器Ａ１０４は、画素列の始点の座標および終点の座標が奇数であるか偶数であるかに応じて、図１１を用いて説明したように、所定の個数の画素を画素列の端に補間する。本実施形態で画素補間器Ａ１０４が補間する画素の個数は、座標が偶数の場合は４画素、奇数の場合は３画素である。
【００３３】
画素を補間された入力画素列は、１次元リフティング演算器Ａ１０６にて、１次元のリフティング演算が施される。ここでのリフティング変換の漸化式は次の通りである。
【００３４】
【数２】
2005142673.tif 000004
【００３５】
ただし、
α＝−１．５８６ １３４ ３４２ ０５９ ９２４
β＝−０．０５２ ９８０ １１８ ５７２ ９６１
γ＝  ０．８８２ ９１１ ０７５ ５３０ ９３４
δ＝  ０．４４３ ５０６ ８５２ ０４３ ９７１
Ｋ＝  １．２３０ １７４ １０４ ９１４ ００１
ｎは整数
…（式２）
【００３６】
次に、第２の系統（画素補間器Ｂ１０５〜１次元リフティング演算器Ｂ１０７）での処理について説明する。画素補間器Ｂ１０５は、画素列の始点の座標および終点の座標が奇数であるか偶数であるかに応じて、所定の個数の画素を画素列の端に補間する。画素補間器Ｂ１０５において、補間する画素の個数は、端に位置する画素の座標が偶数の場合は３画素、奇数の場合は４画素である。
【００３７】
画素を補間された入力画素列は、１次元リフティング演算器Ｂ１０７にて、１次元のリフティング変換が施される。ここでのリフティング変換の漸化式は次の通りである。
【００３８】
【数３】
2005142673.tif 000005
【００３９】
（式３）に示す漸化式は、（式２）に示す漸化式について、１次元の入力画素列における画素の座標が奇数のときの演算処理と偶数のときの演算処理とを入れ替えたものである。従って、（式３）のリフティング演算の結果、画素の座標が偶数（Ｙ（２ｎ））の場合は高周波成分、画素の座標が奇数（Ｙ（２ｎ＋１））の場合は低周波成分が表れる。すなわち、（式３）におけるstep 2,4,6の演算はハイパスフィルタ処理、step 1,3,5の演算はローパスフィルタ処理と見ることができ、これは（式２）におけるローパスフィルタ処理とハイパスフィルタ処理を入れ替えたものと見ることができる。
【００４０】
本発明の第１の実施形態に係る画像処理装置に入力された画像は、まず上端から下端へ向かう縦の画素ライン毎に左端から右端までの１次元のリフティング演算が施される。縦の画素ライン毎のリフティング演算は、左端から右端へ向かう横方向の座標が偶数の画素ラインには（式２）を、奇数の画素ラインには（式３）を用いる。この演算結果を図２（ａ）に示す。縦の画素ライン毎にリフティング演算を行った後、ウェーブレット変換では、演算結果をＬ、Ｈの成分ごとに係数をまとめるために、係数の並び替えを行う。並び替えの結果を図２（ｂ）に示す。
【００４１】
本発明の第１の実施形態に係る画像処理装置は、縦の画素ライン毎のリフティング演算に続けて、横の画素ライン毎に上端から下端まで１次元のリフティング演算を行う。横の画素ライン毎のリフティング演算についても、上端から下端に向かう縦方向の座標が偶数の画素ラインには（式２）を、奇数の画素ラインには（式３）を用いる。この演算結果を図２（ｃ）に示す。横の画素ライン毎にリフティング演算を行った後、ウェーブレット変換では、演算結果をＬ、Ｈの成分ごとに係数をまとめるために、係数の並び替えを行う。この結果を図２（ｄ）に示す。
【００４２】
図３は、縦４画素横４画素の画像に第１の実施形態に係るウェーブレット変換を施して生成されたサブバンドの係数が、元の画像においてどこに位置しているかを示している。図３（ａ）は上端から下端に向かう縦の画素ライン毎の１次元のウェーブレット変換により生成された係数の分布を元の位置関係で示しており、図３（ｂ）は第１の実施形態に係る２次元のウェーブレット変換により生成された係数の分布を元の画素の位置関係で示している。
【００４３】
図１３との比較から明らかなように、本実施形態の画像処理装置による処理結果は、縦方向あるいは横方向の１次元の周波数成分に関して、ウェーブレット変換で生成された係数の周波数成分は、隣接する係数の周波数成分と異なる成分となっていることがわかる。
【００４４】
次に、本実施形態に係る画像処理装置の構成の詳細について、図１を用いて説明する。
バッファメモリ１０２は、ＣＰＵ１０１からの画像データ入力命令に基づいて、ウェーブレット変換を施す画像データを入力する。バッファメモリ１０２は、ＣＰＵ１０１からのデータ列の出力命令に基づいて、データ列を演算切替器１０３へ出力する。また、１次元リフティング演算器Ａ１０６あるいは１次元リフティング演算器Ｂ１０７より出力されたサブバンド係数を一時記憶する。また、バッファメモリ１０２は、ＣＰＵ１０１からの係数出力命令に基づいて、演算を終えた全てのサブバンド係数を出力する。
【００４５】
演算切替器１０３は、ＣＰＵ１０１からの切替情報に基づいて、入力された１次元のデータ列を画素補間器Ａ１０４あるいは画素補間器Ｂ１０５へ選択的に出力する。
画素補間器Ａ１０４は、１次元のデータ列とその始点および終点の座標を入力し、（式２）に基づく１次元のリフティング演算に必要な仮想のデータ列を、始点及び終点の座標が奇数か偶数かに応じてデータ列の両端に各々補間し、１次元リフティング演算器Ａ１０６へ出力する。画素補間器Ｂ１０５は、（式３）に基づく１次元のリフティング演算に必要な仮想のデータ列を、始点及び終点の座標に応じてデータ列の両端に各々補間し、１次元リフティング演算器Ｂ１０７へ出力する。
【００４６】
１次元リフティング演算器Ａ１０６は、１次元のデータ列を入力し、（式２）に示す漸化式に基づいた１次元のリフティング演算を行い、生成された１次元のサブバンド係数について、低周波成分を含む係数を左側へ、高周波成分を含む係数を右側へ詰めるようにして、サブバンドごとに集まるように並び替えを行い、バッファメモリ１０２へ出力する。１次元リフティング演算器Ｂ１０７は、（式３）に示す漸化式に基づいて、上記と同様の処理を行う。
【００４７】
ＣＰＵ１０１は、はじめに、入力する画像データの画像サイズ情報と、ウェーブレット変換の分解レベル数の情報をたとえば図示しない不揮発性メモリから、あるいは図示しない入力装置等からの設定により、もしくは図示しない外部回路または外部装置から取得した後、画像データに２次元のウェーブレット変換を施すために、バッファメモリ１０２、演算切替器１０３、画素補間器Ａ１０４、画素補間器Ｂ１０５へ、上述した各種の情報や命令を出力する。
【００４８】
次に、上記構成の画像処理装置の動作について説明する。
図４は、本発明の第１の実施形態に係る画像処理装置の動作を説明するためのフローチャートである。
はじめにステップＳ４０１において、ＣＰＵ１０１は、入力する画像データの画像サイズ情報と、ウェーブレット変換の分解レベル数の情報を取得する。画像サイズ情報に基づいて、ＣＰＵ１０１はバッファメモリ１０２へ画像サイズ分のメモリ確保命令と画像データの入力命令を送信する。バッファメモリ１０２は、ＣＰＵ１０１より送信されたメモリ確保命令に基づいて、画像サイズ分の領域を確保し、その後、画像データの入力命令を受信すると、画像データを例えばハードディスク等の外部記憶装置から取得し、確保した領域に一時記憶する。
【００４９】
次に、ステップＳ４０２において、ＣＰＵ１０１は、画像の左端から右端まで（横方向）の座標を順次読み込む。座標を読み込む度に、ＣＰＵ１０１は演算切替器１０３へ入力データの出力先を命令する。
【００５０】
ここで、ＣＰＵ１０１が読み込んだ座標が偶数である場合の動作と奇数である場合の動作について説明する。
もし読み込んだ横の画素座標が偶数である場合、ＣＰＵ１０１は、バッファメモリ１０２からの画素列を第１の系統（画素補間器Ａ１０４）へ出力するように、演算切替器１０３へ命令する。演算切替器１０３は、ＣＰＵ１０１からの命令に基づいて、入力データが画素補間器Ａ１０４へ出力するよう、内蔵するスイッチを切り替える。その後、ＣＰＵ１０１は、読み込んだ横の画素座標に対応する上端から下端までの縦方向の画素ラインについて、画素列の始点と終点における縦方向の座標を、画素補間器Ａ１０４へ送信する。その後、ＣＰＵ１０１は、その縦方向の画素列を出力するよう、バッファメモリ１０２へ命令する。バッファメモリ１０２は、ＣＰＵ１０１から送信された命令に基づいて、指定された画素列を演算切替器１０３へ出力する。
【００５１】
演算切替器１０３は、バッファメモリ１０２より送信された画素列を設定に従って画素補間器Ａ１０４へ出力する。画素列が入力されると画素補間器Ａ１０４は、ＣＰＵ１０１より送信された画素列の始点および終点の座標に基づいて、例えば図１１を用いて説明したように、端に位置する画素の座標が偶数の場合は４画素、奇数の場合は３画素を画素列の両端に補間し、１次元リフティング演算器Ａ１０６へ出力する。画素列が入力されると１次元リフティング演算器Ａ１０６は、（式２）の漸化式に基づいた１次元のリフティング演算を画素列全体に行い、演算で生成されたサブバンド係数をサブバンド毎に並び替えて、バッファメモリ１０２へ出力する。バッファメモリ１０２は入力されたサブバンド係数を一時記憶する。
【００５２】
もし読み込んだ横の画素座標が奇数である場合、ＣＰＵ１０１は、バッファメモリ１０２からの画素列を第２の系統（画素補間器Ｂ１０５）へ出力するように、演算切替器１０３へ命令する。演算切替器１０３は、ＣＰＵ１０１からの命令に基づいて、入力データが画素補間器Ｂ１０５へ出力するよう、内蔵するスイッチを切り替える。その後、ＣＰＵ１０１は、読み込んだ横の画素座標に対応する上端から下端までの縦方向の画素ラインについて、画素列の始点と終点における縦方向の座標を、画素補間器Ｂ１０５へ送信する。その後、ＣＰＵ１０１は、その縦方向の画素列を出力するよう、バッファメモリ１０２へ命令する。バッファメモリ１０２は、ＣＰＵ１０１から送信された命令に基づいて、指定された画素列を演算切替器１０３へ出力する。
【００５３】
演算切替器１０３は、バッファメモリ１０２より送信された画素列を設定に従って画素補間器Ｂ１０５へ出力する。画素列が入力されると画素補間器Ｂ１０５は、ＣＰＵ１０１より送信された画素列の始点および終点の座標に基づいて、端に位置する画素の座標が偶数の場合は３画素、奇数の場合は４画素だけ補間し、１次元リフティング演算器Ｂ１０７へ出力する。画素列が入力されると、１次元リフティング演算器Ｂ１０７は、（式３）の漸化式に基づいた１次元のリフティング演算を画素列全体に行い、演算で生成されたサブバンド係数をサブバンド毎に並び替えて、バッファメモリ１０２へ出力する。バッファメモリ１０２は入力されたサブバンド係数を一時記憶する。
【００５４】
ステップＳ４０２において、以上のような一連の処理を、ＣＰＵ１０１が画像の左端から右端まで横方向の画素座標を全てカウントし終えるまで、繰り返し行う。
ここで、縦の画素列毎に左端から右端まで行われる横方向の１次元ウェーブレット変換を処理し終えたときにおける、バッファメモリ１０２に一時記憶されているサブバンド係数は、１次元リフティング演算器Ａ１０６あるいは１次元リフティング演算器Ｂ１０７にてサブバンドごとに並び替えが行われるため、図２（ｂ）に示したような、サブバンドごとに係数が集められた状態で一時記憶されている。
【００５５】
次に、ステップＳ４０３において、横の画素ラインの座標ごとに上端から下端まで縦方向の画素列について行ったステップＳ４０２の処理を、上端から下端まで縦の画素ラインの座標ごとに左端から右端まで横方向の画素列に対して同様に行う。
【００５６】
ここで、横の画素ラインの座標ごとに上端から下端まで行われる縦方向の１次元ウェーブレット変換を処理し終えたときにおける、バッファメモリ１０２に一時記憶されているサブバンド係数は、サブバンドごとに並び替えて記憶されているため、図２（ｄ）に示したような、サブバンドごとに係数が集められた状態で一時記憶されている。
【００５７】
次に、ステップＳ４０４において、ＣＰＵ１０１は、ステップＳ４０１にて取得した分解レベル数の情報に基づいて、２次元のウェーブレット変換により所定の分解レベルに達したかどうか判断する。もし、所定の分解レベルに達したと判断した場合は、ステップＳ４０５へ進み、メモリバッファ１０２に一時記憶されている全てのサブバンド係数を出力する。もし、所定の分解レベルに達したと判断しなかった場合は、メモリバッファ１０２に一時記憶されているサブバンド係数のうち、横方向および縦方向において共に低周波成分を含むＬＬサブバンドについて、再度、ステップＳ４０２とステップＳ４０３の処理を行う。
【００５８】
ここで、上述したウェーブレット変換がＴｉｌｅに施されたときの係数の分布について説明する。図５は、縦４画素横８画素の画像を縦横各４画素の２つのＴｉｌｅに分割した場合において、本実施形態に係る画像処理装置によって生成されたウェーブレット変換係数の分布を、元の画素の位置関係で示したものである。図５（ａ）は、本実施形態に係る画像処理装置による２次元ウェーブレット変換により生成された係数の分布を示したものである。また、図５（ｂ）は、図５（ａ）に示す係数のうち、Ｔｉｌｅ分割境界の方向と同じ縦方向の周波数成分の分布のみを示したものである。図５（ｂ）より、Ｔｉｌｅ分割を行うと、Ｔｉｌｅ分割境界の方向と同じ縦方向の周波数成分に関して、分割境界面に異なる周波数成分の係数が交互に並ぶことがわかる。
【００５９】
以上の動作を行うことにより、本発明の第１の実施形態に係る画像処理装置は、複数のＴｉｌｅに分割された画像をＪＰＥＧ２０００符号化する際に、縦方向および横方向の画素ラインの座標が偶数であるか奇数であるかにより、リフティング演算の順序を変更することで、同じ周波数成分を含む係数が１列に並ばないようにすることができる。
【００６０】
●＜第２の実施形態＞
以下、本発明の第２の実施形態に係る画像処理装置について説明する。
本実施形態に係る画像処理装置は、インターレース画像を構成する第１のフィールド画像あるいは第２のフィールド画像を入力し、フィールド画像を独立してＪＰＥＧ２０００方式で圧縮する場合に、一方のフィールド画像に対し、ＪＰＥＧ２０００方式で定義されるReference gridと呼ばれる座標系に関して横方向のオフセットを付与してＪＰＥＧ２０００方式の圧縮を行うことで、フィールド画像からインターレース画像を構成したときに、インターレース画像における上端から下端へ向かう縦方向の１次元の周波数成分に関して、同じ周波数成分を含む係数が１列に並ばないようにするものである。
【００６１】
ここで、図６を用いて本実施形態に係る画像処理装置の大まかな構成を説明する。図６において、図１と同じ構成には同じ参照数字を付してある。本実施形態に係る画像処理装置は、バッファメモリ１０２から出力された１次元の画素列が、ＣＰＵ６０１から出力される入力画像の座標情報に基づいて、画素補間器Ａ１０４〜１次元リフティング演算器Ａ１０６で処理されることで、画素列に１次元のウェーブレット変換が施され、サブバンド係数が生成される。Reference gridにＣＰＵ６０１がオフセットを付与するフィールド画像が入力画像である場合、オフセットを付与された座標情報がＣＰＵ６０１より画素補間器Ａ１０４と１次元リフティング演算器Ａ１０６へ送信される。本実施形態に係る画像処理装置は、所定の分解レベルに達するまで、ＬＬ成分を含むサブバンド係数に２次元のウェーブレット変換を繰り返し行う。
【００６２】
この処理について、図７に示す縦８画素横４画素のインターレース画像を用いて詳細に説明する。図７は、第２フィールド画像のReference gridに横方向のオフセットを１だけ付与して、画像を２次元のウェーブレット変換し、サブバンドに分割する処理を説明するための模式図である。図７（ａ）は、入力されるフィールド画像で構成される元画像のインターレース画像である。また、インターレース画像から分割された第１のフィールド画像と第２のフィールド画像を図７（ｂ）に示す。なお、図７中にある“元画像 ｌｉｎｅ Ｎｏ．”とは、インターレース画像における上端から下端に向かう縦のアドレス番号である。また、カッコ内に示された数字は、各フィールド画像におけるオフセット付与後の画素の座標を表しており、左側の値が上端から下端に向かう縦方向の座標、右側の値が左端から右端に向かう横方向の座標を表している。図７（ｂ）に示すように、第２フィールド画像は横方向に＋１のオフセットが付与されている。
【００６３】
図７（ｂ）の上段が図７（ａ）のインタレース画像（フレーム画像）を構成する第１フィールド画像であり、下段が同じく第２フィールド画像である。画像処理装置に入力された所定のフレーム画像は、各フィールド画像毎にまず上端から下端に向かう縦方向の画素ライン毎に左端から右端まで（式２）を用いた１次元リフティング演算が施される。この演算結果を図７（ｃ）に示す。縦の画素ライン毎にリフティング演算を行った後、ウェーブレット変換では、演算結果をＬ、Ｈの成分ごとに係数をまとめるために、係数の並び替えを行う。並び替えの結果を図７（ｄ）に示す。
【００６４】
本実施形態に係る画像処理装置は、縦の画素ライン毎のリフティング演算に続けて、横の画素ライン毎に上端から下端まで（式２）を用いた１次元リフティング演算を行う。この演算結果を図７（ｅ）に示す。ここで、第１のフィールド画像については、reference gridの座標値にオフセットを付与しなかったため、左端から右端に向かう横方向のアドレスは０つまり偶数で始まる。したがって、リフティング演算で生成される第１のフィールド画像のサブバンド係数に関して、係数に含まれる縦方向の１次元の周波数成分は、上端から下端にかけてＬを先頭にＬ、Ｈ、Ｌ、・・・と並ぶ。これに対して、第２フィールド画像については、横方向にオフセット値１を付与したため、横方向のアドレスは１つまり奇数で始まる。したがって、リフティング演算で生成される第２のフィールド画像のサブバンド係数に関して、係数に含まれる縦方向の１次元周波数成分は、上端から下端にかけてＨを先頭にＨ、Ｌ、Ｈ、・・・と並ぶ。
【００６５】
よって、図７（ｅ）より、同じサイズの画像であっても、Reference gridへオフセットを付与するか付与しないかにより、リフティング演算により生成されるサブバンド係数の出方が異なることがわかる。横の画素ライン毎にリフティング演算を行った後、ウェーブレット変換では、演算結果をＬ、Ｈの成分ごとに係数をまとめるために、係数の並び替えを行う。この結果を図７（ｆ）に示す。
【００６６】
図８は、図７に示す第１及び第２フィールドの変換係数が、元の縦８画素横４画素のフレーム画像においてどこに位置しているかを示している。図８（ａ）は上端から下端に向かう縦の画素ライン毎の（横方向の）１次元のウェーブレット変換により生成された係数の分布を元の位置関係で示している。また、図８（ｂ）は同様に２次元のウェーブレット変換により生成された係数の分布を元の画素の位置関係で示している。
【００６７】
図７（ｅ）に示すように、オフセットが付与されてない第１のフィールド画像では、縦の画素ライン毎に左端から右端にかけてＬ、Ｈ、Ｌ、ＨとＬを先頭にとサブバンド係数が並び、オフセットが付与された第２のフィールド画像では、縦の画素ライン毎に左端から右端にかけてＨ、Ｌ、Ｈ、ＬとＨを先頭にサブバンド係数が並んでいるので、第１のフィールド画像を偶数ラインに、第２のフィールド画像を奇数ラインに配置した図８（ｂ）のインターレース画像における縦方向の１次元の周波数成分は、ＬとＨが交互に現れる。これらのことから、図８より、上端から下端へ向かう縦方向の１次元の周波数成分に関して、ウェーブレット変換で生成された係数の周波数成分は、隣接する係数の周波数成分と異なる成分となっていることがわかる。
【００６８】
なお、上述した説明ではReference gridに横方向のオフセットを１だけ付与していたが、これに限らず、オフセットは任意の正の奇数であれば良い。また、第２のフィールド画像ではなく、第１のフィールド画像にオフセットを付与しても良い。また、オフセットの差が奇数となれば、両方のフィールド画像にオフセットを付与しても良い。
【００６９】
次に、本発明の第２の実施形態に係る画像処理装置の構成の詳細について、図６を用いて説明する。なお、図６において、本発明の第１の実施形態と同等の機能を有する構成部を同一番号で表している。
【００７０】
バッファメモリ１０２は、ＣＰＵ６０１からの画像データ入力命令に基づいて、ウェーブレット変換を施す画像データを入力する。バッファメモリ１０２は、ＣＰＵ６０１からのデータ列の出力命令に基づいて、データ列を画素補間器Ａ１０４へ出力する。また、１次元リフティング演算器Ａ１０６より出力されたサブバンド係数を一時記憶する。また、バッファメモリ１０２は、ＣＰＵ６０１からの係数出力命令に基づいて、演算を終えた全てのサブバンド係数を出力する。
【００７１】
画素補間器Ａ１０４および１次元リフティング演算器Ａ１０６は、第１の実施形態と同様の処理を行い、バッファメモリ１０２より出力されたデータ列に１次元のウェーブレット変換を施す。
【００７２】
ＣＰＵ６０１は、はじめに、入力する画像データの画像サイズ情報と、ウェーブレット変換の分解レベル数の情報と、入力画像が第１のフィールド画像であるか第２のフィールド画像であるかを判別するフィールド区分情報を入力する。ＣＰＵ６０１は、画像データに２次元のウェーブレット変換を施すために、バッファメモリ１０２、演算切替器１０３、画素補間器Ａ１０４、画素補間器Ｂ１０５へ、既に上述した各種の情報や命令を各々へ出力する。もし、入力画像のReference gridのオフセットが値を付与されるフィールド画像である場合、ＣＰＵ６０１は画像のReference gridにおける横方向の座標に所定のオフセット値を付与する。
【００７３】
次に、図９に示すフローチャートを用いて本実施形態に係る画像処理装置の動作について説明する。なお、図９において、第１の実施形態と同等の処理を行うステップを同一番号で表している。また、以下の説明においては、これまでの説明と合わせてReference gridの横方向の座標に付与するオフセットは１、オフセットを付与するフィールド画像は第２のフィールド画像のみとしている。
【００７４】
はじめにステップＳ９０１において、ＣＰＵ６０１は、画像データの画像サイズ情報と、ウェーブレット変換の分解レベル数の情報と、入力画像が第１のフィールド画像であるか第２のフィールド画像であるかを判別するフィールド区分情報を取得する。画像サイズ情報に基づいて、ＣＰＵ６０１は、バッファメモリ１０２へ画像サイズ分のメモリ確保命令と画像データの入力命令を送信する。バッファメモリ１０２は、ＣＰＵ６０１より送信されたメモリ確保命令に基づいて、画像サイズ分の領域を確保し、その後、画像データの入力命令を受信すると、画像データを入力する。
【００７５】
次に、ステップＳ９０２において、ＣＰＵ６０１は、取得したフィールド区分情報が第１のフィールド画像を示すものであるか、第２のフィールド画像を示すものであるかを判断する。もし、フィールド区分情報が第２のフィールド区分画像を示すものであれば、ステップＳ９０３へ進む。もし、入力されたフィールド区分情報が第１のフィールド区分画像を示すものであれば、ステップＳ９０４へ進む。
ステップＳ９０３において、ＣＰＵ６０１は、第２のフィールド画像のReference gridの横方向の座標にオフセット値１を付与する。
【００７６】
ステップＳ９０４において、ＣＰＵ６０１は、画像サイズの左端から右端まで横の画素座標を順次読み込む。また、ＣＰＵ６０１は、読み込んだ横の画素座標に対応する上端から下端までの縦方向の画素列について、画素列の始点と終点における縦方向の座標を、画素補間器Ａ１０４および１次元リフティング演算器Ａ１０６へ送信する。その後、ＣＰＵ６０１は、読み込んだ横の画素座標に対応する縦方向の画素列を出力する命令を、バッファメモリ１０２へ送信する。
【００７７】
バッファメモリ１０２は、ＣＰＵ６０１から送信された命令に基づいて、指定された画素列を画素補間器Ａ１０４へ出力する。画素補間器Ａ１０４に画素列が入力されると、画素補間器Ａ１０４は、ＣＰＵ６０１より送信された画素列の始点および終点の座標値に基づいて、例えば図１１を用いて説明したように、端に位置する画素の座標が偶数の場合は４画素、奇数の場合は３画素を画素列の両端に補間し、１次元リフティング演算器Ａ１０６へ出力する。画素列が入力されると、１次元リフティング演算器Ａ１０６は、（式２）の漸化式に基づいた１次元リフティング演算を画素列全体に行い、演算で生成されたサブバンド係数はさらにサブバンド毎に並び替えて、バッファメモリ１０２へ出力する。バッファメモリ１０２は入力されたサブバンド係数を一時記憶する。
【００７８】
ステップＳ９０４において、以上のような一連の処理を、ＣＰＵ６０１が画像の左端から右端まで横方向の座標を全てカウントし終えるまで、繰り返し行う。この結果を図７（ｃ）に示す。なお、図７（ｃ）において、上段の図が第１のフィールド画像の場合、下段の図が第２のフィールド画像の場合の様態である。
【００７９】
ここで、縦の画素列毎に左端から右端まで行われる横方向の１次元ウェーブレット変換を処理し終えたときにおける、バッファメモリ１０２に一時記憶されているサブバンド係数の様態を図７（ｄ）に示す。なお、図７（ｄ）において、上段の図が第１のフィールド画像の場合、下段の図が第２のフィールド画像の場合の様態である。サブバンド係数は、１次元リフティング演算器Ａ１０６にてサブバンドごとに並び替えが行われるため、サブバンド毎に係数が集められた状態で一時記憶されている。
【００８０】
次に、ステップＳ９０５において、横の画素ラインの座標ごとに上端から下端まで縦方向の画素列について行ったステップＳ９０４の処理を、縦の画素座標ごとに左端から右端まで横方向の画素列で同様に行う。この結果を図７（ｅ）に示す。なお、図７（ｅ）において、上段の図が第１のフィールド画像の場合、下段の図が第２のフィールド画像の場合の様態である。
【００８１】
ここで、横の画素列毎に上端から下端まで行われる縦方向の１次元ウェーブレット変換を処理し終えたときにおける、バッファメモリ１０２に一時記憶されているサブバンド係数を図７（ｆ）に示す。サブバンド係数は、サブバンドごとに並び替えて記憶されるため、サブバンドごとに係数が集められた状態で一時記憶されている。なお、図７（ｆ）において、上段の図が第１のフィールド画像の場合、下段の図が第２のフィールド画像の場合の様態である。
【００８２】
次に、ステップＳ４０４において、第１の実施形態と同様に、ＣＰＵ６０１は、ステップＳ９０１にて取得した分解レベル数の情報に基づいて、２次元のウェーブレット変換により所定の分解レベルに達したかどうかを判断する。もし、所定の分解レベルに達したと判断した場合は、ステップＳ４０５へ進み、メモリバッファ１０２に一時記憶されている全てのサブバンド係数を出力する。もし、所定の分解レベルに達したと判断しなかった場合は、メモリバッファ１０２に一時記憶されているサブバンド係数のうち、横方向および縦方向において共に低周波成分を含むＬＬサブバンドについて、再度、ステップＳ９０４とステップＳ９０５の処理を行う。
【００８３】
ここで、本実施形態における画像処理装置が実施するウェーブレット変換がＴｉｌｅに施されたときの係数の分布について、縦８画素横８画素のインターレース画像を用いて説明する。図１０は、このインターレース画像を縦８画素横４画素の２つのＴｉｌｅに分割された場合において、本実施形態で実施するウェーブレット変換により生成された係数の分布を、元の画素の位置関係で示したものである。図１０（ａ）は、本実施形態における２次元のウェーブレット変換により生成された係数の分布を示したものである。また、図１０（ｂ）は、図１０（ａ）に示す係数のうち、Ｔｉｌｅ分割境界の方向と同じ縦方向の周波数成分の分布のみを示したものである。図１０（ｂ）より、Ｔｉｌｅ分割を行うと、Ｔｉｌｅ分割境界の方向と同じ縦方向の周波数成分に関して、分割境界面に異なる周波数成分の係数が交互に並ぶことがわかる。
【００８４】
以上説明したように、本実施形態に係る画像処理装置は、インターレース画像を構成する第１のフィールド画像あるいは第２のフィールド画像を入力してそれぞれを独立してＪＰＥＧ２０００方式の符号化を行う場合、Reference gridに横方向のオフセットの差が正の奇数となるよう、少なくとも一方のフィールド画像にオフセットを付与し、ＪＰＥＧ２０００方式の符号化を行うことで、上端から下端へ向かう縦方向の１次元周波数成分について、同じ周波数成分を含む係数が１列に並ばないようにすることができる。
【００８５】
＜他の実施形態＞
上述の実施形態においては、１つの機器から構成される画像処理装置についてのみ説明したが、同等の機能を複数の機器から構成されるシステムによって実現しても良い。
尚、前述した実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いて当該プログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを実行することによって同等の機能が達成される場合も本発明に含む。
【００８６】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００８７】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【００８８】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイル等、クライアントコンピュータ上で本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）を記憶し、接続のあったクライアントコンピュータにプログラムデータファイルをダウンロードする方法などが挙げられる。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに配置することも可能である。
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルを複数のユーザに対してダウンロードさせるサーバ装置も本発明に含む。
【００８９】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件を満たしたユーザに対して暗号化を解く鍵情報を、例えばインターネットを介してホームページからダウンロードさせることによって供給し、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００９０】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００９１】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【図面の簡単な説明】
【００９２】
【図１】本発明の第１の実施形態に係る画像処理装置の構成例を示すブロック図である。
【図２】本発明の第１の実施形態に係る画像処理装置によるサブバンド分割を説明する図である。
【図３】図２のサブバンド分割において、サブバンドの各係数が元画像のどこに位置しているかを示す模式図である。
【図４】本発明の第１の実施形態に係る画像処理装置の動作を示すフローチャートである。
【図５】縦方向にＴｉｌｅ分割した画像を第１の実施形態に係る画像処理装置で処理した際、ウェーブレット変換係数に含まれる周波数成分が元画像のどこに位置しているかを示す模式図である。
【図６】本発明の第２の実施形態に係る画像処理装置の構成例を示すブロック図である。
【図７】本発明の第２の実施形態に係る画像処理装置によるサブバンド分割を説明する図である。
【図８】図７のサブバンド分割において、サブバンドの各係数が元画像のどこに位置しているかを示す模式図である。
【図９】本発明の第２の実施形態に係る画像処理装置の動作を示すフローチャートである。
【図１０】縦方向にＴｉｌｅ分割した画像を第２の実施形態に係る画像処理装置で処理した際、ウェーブレット変換係数に含まれる周波数成分が元画像のどこに位置しているかを示す模式図である。
【図１１】ＪＰＥＧ２０００方式の画素補間方法を説明する模式図である。
【図１２】ＪＰＥＧ２０００方式のウェーブレット変換におけるサブバンド分割を説明する図である。
【図１３】図１２のサブバンド分割において、サブバンドの各係数が元画像のどこに位置しているかを示す模式図である。
【図１４】縦方向にＴｉｌｅ分割した画像をＪＰＥＧ２０００方式に基づいて処理した際、ウェーブレット変換係数に含まれる周波数成分が元画像のどこに位置しているかを示す模式図である。
【図１】
2005142673.tif 000006
【図２】
2005142673.tif 000007
【図３】
2005142673.tif 000008
【図４】
2005142673.tif 000009
【図５】
2005142673.tif 000010
【図６】
2005142673.tif 000011
【図７】
2005142673.tif 000012
【図８】
2005142673.tif 000013
【図９】
2005142673.tif 000014
【図１０】
2005142673.tif 000015
【図１１】
2005142673.tif 000016
【図１２】
2005142673.tif 000017
【図１３】
2005142673.tif 000018
【図１４】
2005142673.tif 000019