(57)【要約】【課題】符号破棄によるタイル境界歪みを抑制する画像圧縮装置又は方法を提供する。【解決手段】ＪＰＥＧ２０００による画像圧縮装置において、ビットプレーン符号化後の符号破棄処理（ステップ１０８）の際に、タイル境界を挟んで隣接関係にあるコードブロックにおいて、その符号破棄量を揃えるように符号破棄を制御する。これにより、タイル境界を挟んで隣接するコードブロック間で符号破棄による量子化誤差量の差が少なくなり、伸長画像上でタイル境界歪みが目立たなくなる。符号破棄量を揃えるために、符号破棄の序列を修正するか、隣接関係にあるコードブロックをひとまとめにして、その符号の重要度を計算する。【選択図】        図１
2004304656.tif 000002
【特許請求の範囲】
【請求項１】
画像を複数のタイルに分割し、各タイルを周波数変換して複数のサブバンドに分解し、各サブバンドを符号化単位毎にビットプレーン符号化する画像符号化アルゴリズムによって画像圧縮を行う画像圧縮装置であって、
符号化単位毎のビットプレーン符号化により得られた符号を選択的に破棄する符号破棄手段を有し、
前記符号破棄手段は、タイルの境界を挟んで隣接関係にある符号化単位における符号破棄量を揃える手段を含むことを特徴とする画像圧縮装置。
【請求項２】
請求項１に記載の画像圧縮装置において、
前記符号破棄量を揃える手段は、タイル境界を挟んで隣接関係にある同一サブバンドの符号化単位における符号破棄量を揃えることを特徴とする画像圧縮装置。
【請求項３】
請求項１に記載の画像圧縮装置において、
前記符号破棄量を揃える手段は、タイル境界を挟んで隣接関係にある、特定のデコンポジションレベル以下のサブバンドの符号化単位における符号破棄量を揃えることを特徴とする画像圧縮装置。
【請求項４】
請求項１、２又は３に記載の画像圧縮装置において、
前記符号破棄手段は、各符号化単位の各ビットプレーンの符号に、その重要度に基づいて符号破棄の序列を付与する序列付け手段を含み、
前記符号破棄量を揃える手段は、タイル境界を挟んで隣接関係にある符号化単位の各ビットプレーンの符号に前記序列付け手段により付与された序列を修正する手段であることを特徴とする画像圧縮装置。
【請求項５】
請求項１、２又は３に記載の画像圧縮装置において、
前記符号破棄量を揃える手段は、タイル境界を挟んで隣接関係にある符号化単位の組をまとめて１つの符号化単位として扱い、その各ビットプレーンの符号の重要度を計算する手段であり、
前記符号破棄手段は、各符号化単位の各ビットプレーンの符号の重要度を計算する重要度計算手段と、タイル境界を挟んで隣接関係にある符号化単位の各ビットプレーンの符号には前記符号破棄量を揃える手段により計算された重要度に基づいて符号破棄の序列を付与し、タイル境界を挟んで隣接関係にない符号化単位の各ビットプレーンの符号には前記重要度計算手段により計算された重要度に基づいて符号破棄の序列を付与する序列付け手段を含むことを特徴とする画像圧縮装置。
【請求項６】
請求項１乃至５のいずれか１項に記載の画像処理装置において、
前記画像符号化アルゴリズムはＪＰＥＧ２０００に準拠したアルゴリズムであり、前記符号化単位はコードブロックであることを特徴とする画像圧縮装置。
【請求項７】
請求項６に記載の画像圧縮装置において、
前記符号破棄量を揃える手段によって符号破棄量が揃えられる符号化単位は、ＨＬサブハンド及びＨＨサブバンドの符号化単位であることを特徴とする画像圧縮装置。
【請求項８】
画像を複数のタイルに分割し、各タイルを周波数変換して複数のサブバンドに分解し、各サブバンドを符号化単位毎にビットプレーン符号化する画像符号化アルゴリズムによって画像圧縮を行う画像圧縮方法であって、
符号化単位毎のビットプレーン符号化により得られた符号を選択的に破棄する符号破棄ステップを有し、
前記符号破棄ステップは、タイルの境界を挟んで隣接関係にある符号化単位における符号破棄量を揃えるステップを含むことを特徴とする画像圧縮方法。
【請求項９】
請求項８に記載の画像圧縮方法において、
前記符号破棄量を揃えるステップは、タイル境界を挟んで隣接関係にある同一サブバンドの符号化単位における符号破棄量を揃えることを特徴とする画像圧縮方法。
【請求項１０】
請求項８に記載の画像圧縮方法において、
前記符号破棄量を揃えるステップは、タイル境界を挟んで隣接関係にある、特定のデコンポジションレベル以下のサブバンドの符号化単位における符号破棄量を揃えることを特徴とする画像圧縮方法。
【請求項１１】
請求項８、９又は１０に記載の画像圧縮方法において、
前記画像圧縮アルゴリズムはＪＰＥＧ２０００に準拠したアルゴリズムであることを特徴とする画像圧縮方法。
【請求項１２】
請求項１乃至７のいずれか１項に記載の画像圧縮装置の各手段としてコンピュータで機能させるプログラム。
【請求項１３】
請求項８乃至１１のいずれか１項に記載の画像処理方法の各ステップをコンピュータに実行させるプログラム。
【請求項１４】
請求項１２又は１３に記載のプログラムが記録された、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像圧縮の分野に係り、より詳細には、画像をタイルに分割し、タイル毎に周波数変換してサブバンドに分解し、各サブバンドの係数を符号化単位毎にビットプレーン符号化する画像符号化アルゴリズムによる画像圧縮における符号破棄処理に関連する。
【０００２】
【従来の技術】
この種の画像符号化方式の例として、２００１年に国際標準化されたＪＰＥＧ２０００（基本仕様：ＩＳＯ／ＩＥＣ  ＦＣＤ  １５４４４−１）がある。このＪＰＥＧ２０００については例えば非特許文献１に詳しい。また、動画に関しては、ＪＰＥＧ２０００の拡張方式（ＩＳＯ／ＩＥＣ  ＦＣＤ  １５４４４−３）に規定されている。ＪＰＥＧ２０００の動画では、時間的に連続した複数の静止画それぞれがフレームとして扱われ、各フレームは前後のフレームと独立してＪＰＥＧ２０００の基本仕様に規定されたアルゴリズムにより符号化される。すなわち、ＪＰＥＧ２０００の動画の各フレームはＪＰＥＧ２０００の静止画と同様に扱うことができる。
【０００３】
ＪＰＥＧ２０００では、画像はタイルと呼ばれる重複しない矩形領域に分割され、各タイル毎に周波数変換（２次元の離散ウェーブレット変換）により複数のサブバンドに分解される。ウェーブレット係数は各サブバンド毎に量子化された後に、各サブバンド毎にエントロピー符号化される。このエントロピー符号化には、ブロック分割、係数モデリング及び２値算術符号化からなるＥＢＣＯＴと呼ばれるブロックベースのビットプレーン符号化が用いられる。
【０００４】
このようなＪＰＥＧ２０００の１つの問題点として、圧縮率を上げた場合に、伸長画像上でタイル境界の不連続（タイル境界歪み）が目立つことが指摘されている。このタイル境界歪みが発生する主たる要因は、各タイルのウェーブレット変換の際に、タイル端で不足する画素値又は係数値をミラーリングとよばれる手法で補間するために、ウェーブレット係数の量子化誤差がタイル端で増加することである。
【０００５】
この要因に着目してタイル境界歪みを抑制する手法としては、隣接するタイルをオーバーラップさせるようにタイル分割を行う手法（例えば特許文献１参照）や、タイル境界近傍の係数については量子化率をそれ以外の部分の量子化率より低くする手法（例えば特許文献２参照）が知られている。
【０００６】
タイル境界歪が発生するもう１つの要因は、符号破棄処理の影響である。ＪＰＥＧ２０００では、各サブバンドの係数がコードブロックと呼ばれる符号化単位毎に最上位ビットから最下位ビットへ向かってビットプレーン毎に符号化されるが、所望の圧縮率（符号量）が得られるまで、各コードブロックの各ビットプレーンの符号を選択的に破棄する処理を行うことができる。この符号の破棄は、係数を量子化することと等価であるためポスト量子化と呼ばれる。
【０００７】
この符号破棄にあたっては、各コードブロックの各ビットプレーンの符号の重要度が評価され、符号破棄は重要度が小さい符号から順に行われる。符号の重要度の評価方法は例えば非特許文献２に記載されているような種々の方法が知られている。また、評価した重要度の小さい順に符号を破棄する処理の実装法としては、例えば非特許文献２に記載されているようなラグランジュの未定常数法によるのが代表的である。
【０００８】
【特許文献１】
米国特許第５７１０８３５号公報
【特許文献２】
特開２００２−３７４５３２号公報
【非特許文献１】
野水泰之、「次世代画像符号化方式ＪＰＥＧ２０００」、
株式会社トリケップス、２００１年２月１３日
【非特許文献２】
Ｄ．Ｓ．Ｔａｕｂｍａｎ及びＭ．Ｗ．Ｍａｒｃｅｌｌｉｎ、「ＪＰＥＧ２０００：Ｉｍａｇｅ  Ｃｏｍｐｒｅｓｓｉｏｎ          Ｆｕｎｄａｍｅｎｔａｌｓ，Ｓｔａｎｄａｒｄｓ  ａｎｄ  Ｐｒａｃｔｉｃｅ」、Ｋｌｕｗｅｒ、２００２年
【０００９】
【発明が解決しようとする課題】
前記特許文献１又は２に記載の手法を適用しても、符号破棄処理の影響によりタイル境界歪みを十分に抑制できない場合がある。
【００１０】
よって、本発明の目的は、符号破棄処理を要因とするタイル境界歪みを効果的に抑制することが可能な画像圧縮方法及び装置を提供することにある。
【００１１】
【課題を解決するための手段】
請求項１の発明の特徴は、画像を複数のタイルに分割し、各タイルを周波数変換して複数のサブバンドに分解し、各サブバンドを符号化単位毎にビットプレーン符号化する画像符号化アルゴリズムによって画像圧縮を行う画像圧縮装置であって、符号化単位毎のビットプレーン符号化により得られた符号を選択的に破棄する符号破棄手段を有し、前記符号破棄手段は、タイルの境界を挟んで隣接関係にある符号化単位における符号破棄量を揃える手段を含む画像圧縮装置の構成にある。
【００１２】
請求項２の発明の特徴は、請求項１に記載の画像圧縮装置において、前記符号破棄量を揃える手段は、タイル境界を挟んで隣接関係にある同一サブバンドの符号化単位における符号破棄量を揃えることにある。
【００１３】
請求項３の発明の特徴は、請求項１に記載の画像圧縮装置において、前記符号破棄量を揃える手段は、タイル境界を挟んで隣接関係にある、特定のデコンポジションレベル以下のサブバンドの符号化単位における符号破棄量を揃えることにある。
【００１４】
請求項４の発明の特徴は、請求項１、２又は３に記載の画像圧縮装置において、前記符号破棄手段は、各符号化単位の各ビットプレーンの符号に、その重要度に基づいて符号破棄の序列を付与する序列付け手段を含み、前記符号破棄量を揃える手段は、タイル境界を挟んで隣接関係にある符号化単位の各ビットプレーンの符号に前記序列付け手段により付与された序列を修正する手段であることにある。
【００１５】
請求項５の発明の特徴は、請求項１、２又は３に記載の画像圧縮装置において、前記符号破棄量を揃える手段は、タイル境界を挟んで隣接関係にある符号化単位の組をまとめて１つの符号化単位として扱い、その各ビットプレーンの符号の重要度を計算する手段であり、前記符号破棄手段は、各符号化単位の各ビットプレーンの符号の重要度を計算する重要度計算手段と、タイル境界を挟んで隣接関係にある符号化単位の各ビットプレーンの符号には前記符号破棄量を揃える手段により計算された重要度に基づいて符号破棄の序列を付与し、タイル境界を挟んで隣接関係にない符号化単位の各ビットプレーンの符号には前記重要度計算手段により計算された重要度に基づいて符号破棄の序列を付与する序列付け手段を含むことにある。
【００１６】
請求項６の発明の特徴は、請求項１乃至５のいずれか１項に記載の画像処理装置において、前記画像符号化アルゴリズムはＪＰＥＧ２０００に準拠したアルゴリズムであり、前記符号化単位はコードブロックであることにある。
【００１７】
請求項７の発明の特徴は、請求項６に記載の画像圧縮装置において、前記符号破棄量を揃える手段によって符号破棄量が揃えられる符号化単位は、ＨＬサブハンド及びＨＨサブバンドの符号化単位であることにある。
【００１８】
請求項８の発明の特徴は、画像を複数のタイルに分割し、各タイルを周波数変換して複数のサブバンドに分解し、各サブバンドを符号化単位毎にビットプレーン符号化する画像符号化アルゴリズムによって画像圧縮を行う画像圧縮方法であって、符号化単位毎のビットプレーン符号化により得られた符号を選択的に破棄する符号破棄ステップを有し、前記符号破棄ステップは、タイルの境界を挟んで隣接関係にある符号化単位における符号破棄量を揃えるステップを含む画像圧縮方法の構成にある。
【００１９】
請求項９の発明の特徴は、請求項８に記載の画像圧縮方法において、前記符号破棄量を揃えるステップは、タイル境界を挟んで隣接関係にある同一サブバンドの符号化単位における符号破棄量を揃えることにある。
【００２０】
請求項１０の発明の特徴は、請求項８に記載の画像圧縮方法において、前記符号破棄量を揃えるステップは、タイル境界を挟んで隣接関係にある、特定のデコンポジションレベル以下のサブバンドの符号化単位における符号破棄量を揃えることにある。
【００２１】
請求項１１の発明の特徴は、請求項８、９又は１０に記載の画像圧縮方法において、前記画像符号化アルゴリズムはＪＰＥＧ２０００に準拠したアルゴリズムであることにある。
【００２２】
【発明の実施の形態】
本発明は、画像符号化方式としてＪＰＥＧ２０００を用いる場合に好適に適用できるため、ＪＰＥＧ２０００を用いることを前提として本発明の実施の形態を説明する。ただし、画像をタイル分割し、タイル毎に周波数変換してサブバンドに分解し、各サブバンドの係数を符号化単位毎にビットプレーン符号化し、必要に応じて符号破棄処理を行うことができる画像符号化方式ならば、ＪＰＥＧ２０００以外の画像符号化方式を用いる場合にも本発明を適用し得ることは明白である。
【００２３】
以下の説明の理解を容易するため、まずＪＰＥＧ２０００のアルゴリズムについて概説する。
【００２４】
まず圧縮処理について説明する。画像は、各コンポーネント毎に重複しない矩形のタイルに分割され、各コンポーネント毎にタイル単位で処理される。各コンポーネントの各タイル画像は、圧縮率の向上を目的として色変換を施される。画像がＲＧＢデータとして与えられる場合には、例えば次式のＲＣＴ変換が用いられる。
【００２５】
輝度Ｙ＝ｆｌｏｏｒ（（Ｒ＋２Ｇ＋Ｂ）／４）
色差Ｃｒ＝Ｒ−Ｇ
色差Ｃｂ＝Ｂ−Ｇ                      ・・・・（１）
なお、逆ＲＣＴ変換は
Ｒ＝Ｇ＋Ｃｒ
Ｇ＝Ｙ−ｆｌｏｏｒ（（Ｃｒ＋Ｃｂ）／４）
Ｂ＝Ｃｂ＋Ｇ                          ・・・・（２）
である。式中のｆｌｏｏｒ（ｘ）は、ｘのフロア関数（実数ｘを、ｘを越えず、かつｘに最も近い整数に置換する関数）である。
【００２６】
なお、この色変換を省き、ＲＧＢ各コンポーネントをそのまま処理することも可能である。モノクロ画像の場合には色変換は不要である。
【００２７】
次に、各コンポーネントのタイル画像は、２次元のウェーブレット変換（離散ウェーブレット変換）を施され、複数のサブバンドに分解される。ウェーブレット係数はサブバンド毎に量子化される。ＪＰＥＧ２０００は可逆圧縮（ロスレス圧縮）と非可逆圧縮（ロシィ圧縮）のいずれも可能であり、可逆圧縮の場合には量子化ステップ数は常に１であり、この段階では実質的に量子化されない。
【００２８】
量子化後のウェーブレット係数は、各サブバンド毎に、コードブロックと呼ばれる符号化単位毎に上位ビットから下位ビットへ向かってビットプレーン符号化される。
【００２９】
このようにして得られた符号について、前述した符号破棄処理が必要に応じて行われ、破棄されずに残った符号をまとめてパケットが生成される。そして、パケットが所望の順序に並べられるとともに必要なタグ及びタグ情報が付加されることにより、所定のフォーマットの符号化データが形成される。
【００３０】
このようにして生成されるＪＰＥＧ２０００の符号化データのフォーマットを図２８に示す。図２８に見られるように、符号化データはその始まりを示すＳＯＣマーカと呼ばれるタグで始まり、その後に符号化パラメータや量子化パラメータ等を記述したメインヘッダ（Ｍａｉｎ  Ｈｅａｄｅｒ）と呼ばれるタグ情報が続き、その後に各タイル毎の符号データが続く。各タイル毎の符号データは、ＳＯＴマーカと呼ばれるタグで始まり、タイルヘッダ（Ｔｉｌｅ  Ｈｅａｄｅｒ）と呼ばれるタグ情報、ＳＯＤマーカと呼ばれるタグ、各タイルの符号列を内容とするタイルデータ（Ｔｉｌｅ  Ｄａｔａ）で構成される。最後のタイルデータの後に、終了を示すＥＯＣマーカと呼ばれるタグが置かれる。図２８中の各タイルに関するＳＯＤ以下の部分がパケットの集合である。
【００３１】
伸長処理は圧縮処理と逆の処理となる。符号化データはタグ情報に基づいて各コンポーネントの各タイルの符号列に分解される。この符号列がエントロピー復号化されることによりウェーブレット係数に戻される。このウェーブレット係数は、量子化されたものであるため逆量子化されたのち２次元の逆ウェーブレット変換を施されることにより、各コンポーネントの各タイルの画像が再生される。各コンポーネントの各タイル画像は例えば前記（２）式の逆ＲＣＴ変換によりＲＧＢデータに戻される。
【００３２】
２次元ウェーブレット変換についてさらに説明する。図２１乃至図２５は、モノクロ画像（又はカラー画像の１つのコンポーネント）の１６×１６画素のタイル画像に対して、ＪＰＥＧ２０００で採用されている５×３変換と呼ばれるウェーブレット変換を垂直方向及び水平方向に施す過程を説明するための図である。
【００３３】
図２１は変換前のタイル画像である。図示のようにＸＹ座標をとり、あるｘについて、Ｙ座標がｙである画素の画素値をＰ（ｙ）（０≦ｙ≦１５）と表す。ＪＰＥＧ２０００では、まず垂直方向（Ｙ座標方向）に、Ｙ座標が奇数（ｙ＝２ｉ＋１）の画素を中心にハイパスフィルタを施して係数Ｃ（２ｉ＋１）を得る。次に、Ｙ座標が偶数（ｙ＝２ｉ）の画素を中心にローパスフィルタを施して係数Ｃ（２ｉ）を得る（これを全てのｘについて行う）。ここで、ハイパスフィルタとローパスフィルタはそれぞれ式（３）と式（４）で表される。
【００３４】
Ｃ（２ｉ＋１）＝Ｐ（２ｉ＋１）−ｆｌｏｏｒ（  （Ｐ（２ｉ）＋Ｐ（２ｉ＋２））／２  ）      ・・・・（３）
Ｃ（２ｉ）＝Ｐ（２ｉ）＋ｆｌｏｏｒ（  （Ｃ（２ｉ−１）＋Ｃ（２ｉ＋１）＋２）／４  ）        ・・・・（４）
【００３５】
なお、画像の端部においては、中心となる画素に対して隣接画素群が存在しないことがあり、この場合は「ミラリング」と呼ばれる手法によって不足する画素値を補うことになる。ミラリングは、文字通り境界を中心として画素値を線対称に折り返し、折り返した値を隣接画素群の値とみなす操作である。
【００３６】
ハイパスフィルタで得られる係数をＨ、ローパスフィルタで得られる係数をＬ、とそれぞれ表記すれば、垂直方向の変換によって図２１の画像は図２２のようなＬ係数、Ｈ係数の配列へと変換される。
【００３７】
続いて、図２２の係数配列に対して、水平方向に、Ｘ座標が奇数（ｙ＝２ｉ＋１）の係数を中心にハイパスフィルタを施し、次にＸ座標が偶数（ｘ＝２ｉ）の係数を中心にローパスフィルタを施す（これを全てのｙについて行う。この場合、前記の式のＰ（２ｉ）等は係数値を表すものと読み替える）。
【００３８】
Ｌ係数を中心にローパスフィルタを施して得られる係数をＬＬ、Ｌ係数を中心にハイパスフィルタを施して得られる係数をＨＬ、Ｈ係数を中心にローパスフィルタを施して得られる係数をＬＨ、Ｈ係数を中心にハイパスフィルタを施して得られる係数をＨＨ、とそれぞれ表記すれば、図２２の係数配列は図２３の様な係数配列へと変換される。ここで同一の記号を付した係数群はサブバンドと呼ばれ、図２３は４つのサブバンドで構成される。
【００３９】
以上の処理で、１回のウェーブレット変換（１回のデコンポジション（分解））が終了する。図２４は、ウェーブレット係数をサブバンド毎に集めたもので、このように係数を配列することをデインターリーブと呼び、図２３のような状態に配置することをインターリーブと呼ぶ。
【００４０】
２回目のウェーブレット変換は、ＬＬサブバンドを原画像と見なして、同様の処理により行われる。その処理結果をデインターリーブすると、図２５に示すようなサブバンドの係数が得られる。なお、図２４及び図２５中の係数の接頭の１や２は、その係数が得られるまでのウェーブレット変換の回数（デコンポジションレベル）を示す。
【００４１】
図２６に、デコンポジションレベル数＝３の場合のサブバンド分解を示す。なお、図２６に示す各サブバンド中の括弧で囲んだ数字は解像度レベルを表す。
【００４２】
一方、逆ウェーブレット変換は、図２３に示すようなインターリーブされた係数の配列に対して、まず水平方向に、ｘが偶数（ｘ＝２ｉ）の係数を中心に逆ローパスフィルタを施し、次にｘが奇数（ｘ＝２ｉ＋１）の係数を中心に逆ハイパスフィルタを施す（これを全てのｙについて行う）。ここで逆ローパスフィルタ、逆ハイパスフィルタは順に次式（５），（６）で表される。先と同様、画像の端部においては、中心となる係数に対して隣接係数が存在しないことがあり、この場合はミラーリングによって係数値が補われる。
【００４３】
Ｐ（２ｉ）＝Ｃ（２ｉ）−ｆｌｏｏｒ（（Ｃ（２ｉ−１）＋Ｃ（２ｉ＋１）＋２）／４）      ・・・・（５）
Ｐ（２ｉ＋１）＝Ｃ（２ｉ＋１）＋ｆｌｏｏｒ（（Ｐ（２ｉ）＋Ｐ（２ｉ＋２））／２）      ・・・・（６）
【００４４】
これにより、図２３の係数配列は図２２のような係数配列に変換、すなわち逆変換される。続いて同様に、垂直方向に、ｙが偶数（ｙ＝２ｉ）の係数を中心に逆ローパスフィルタを施し、次にｙが奇数（ｙ＝２ｉ＋１）の係数を中心に逆ハイパスフィルタを施せば（これを全てのｘについて行う）、１回のウェーブレット逆変換が終了し、図２１の画像の係数配列に戻る、すなわち再構成されることになる。なお、ウェーブレット変換が複数回施されている場合は、やはり図２１をＬＬサブバンドとみなし、ＨＬ等の他の係数を利用して同様の逆変換を繰り返せばよい。
【００４５】
デコンポジション回数が３の場合のタイル、プリシンクト、コードブロックの関係を図２７に模式的に示す。プリシンクトは、サブバンドを矩形に分割したもので、画像中の大まかな場所を示すものである。プリシンクトのサイズはユーザが指定可能であり、サブバンドと同じサイズにすることもできる。ＨＬ，ＬＨ，ＨＨの３つのサブバンドのプリシンクトはひとまとまりとして扱われる。
【００４６】
プリシンクトに含まれる全てのコードブロックの符号の一部（例えば最上位から３ビット目までの３枚のビットプレーンの符号）を取り出して集めたものがパケットである。符号が空（から）のパケットも許される。
【００４７】
なお、ここまでは各サブバンド係数は、コードブロック毎にビットプレーン単位で符号化されると説明したが、より正確には、ＪＰＥＧ２０００では、ビットブレーンは３つのサブビットプレーンに分類され、各サブビットプレーン毎に符号化される。したがって、符号破棄の最小単位はサブビットプレーン単位であるが、これを簡易で行いたいときにはビットプレーン単位での符号破棄を選択することも多い。よって、本明細書ではビットプレーン単位で符号破棄を行うものとして説明する。
【００４８】
図１は、本発明の画像処理方法の実施形態を説明するためのフローチャートである。この実施形態による画像圧縮方法は、画像符号化アルゴリズムとしてＪＰＥＧ２０００のアルゴリズムを用いるため、図１に示すように、画像の色変換のステップ１００、各コンポーネントの各タイル画像に対する２次元ウェーブレット変換のステップ１０２、各サブバンド毎にウェーブレット係数を量子化するステップ１０４、量子化後の各サブバンド係数をコードブロック（符号化単位）毎にビットプレーン符号化するステップ１０６、符号破棄とパケット生成のステップ１０８、そのパケットを用いて所定フォーマットの符号化データを形成するステップ１１０からなる。ただし、色変換のステップ１００は必要に応じて実行されるものであることは前述した通りである。また、色変換ステップ１００の前又は後で画像のタイル分割が行われるが、図１では省略されている。本発明の画像圧縮方法の主たる特徴は、ステップ１０８における符号化破棄に関わるもので、その内容については後述する。
【００４９】
図１は、本発明による画像圧縮装置の実施形態の説明図でもある。すなわち、この実施形態による画像圧縮装置は、図１に示した各ステップに対応した処理手段を具備し、その主たる特徴は符号破棄に関わるステップ１０８に対応した手段の構成にある。
【００５０】
図１に示した処理ステップ又はそれに対応した手段は、例えば、コンピュータを利用してプログラムにより実現される。そのためのプログラム、及び、同プログラムが記録されたコンピュータが読み取り可能な各種記録（記憶）媒体、例えば磁気ディスク、光ディスク、光磁気ディスク、半導体記憶素子なども本発明に包含される。
【００５１】
図２は、コンピュータを利用する形態を説明するための模式的ブロック図である。図２において、２００はＣＰＵ、２０１はＣＰＵ２００の作業用記憶域などとして利用されるメモリ、２０２はデータやプログラムが格納されるハードディスク装置、２０３はシステムバスである。画像圧縮の処理ステップ又は処理手段を実現するためのプログラムは、例えばハードディスク装置２０２からメモリ２０１にロードされ、ＣＰＵ２００により実行される。
【００５２】
圧縮処理の概要は次の通りである。ハードディスク装置２０２に格納されている処理対象の画像データ２０５は、ＣＰＵ２００からの命令によってメモリ２０１の領域２０６に読み込まれる（▲１▼）。ＣＰＵ２００は、その画像データをメモリより読み込み、図１に示した圧縮処理を施す（▲２▼）。ＣＰＵ２００は処理結果である符号化データをメモリ２０１の別の領域２０７に書き込む（▲３▼）。ＣＰＵ２００からの命令により、この符号化データはハードディスク装置２０２に格納される。
【００５３】
図３は、ステップ１０８における処理の例もしくは対応手段の構成の例を説明するためのフローチャートである（別の処理例もしくは手段の構成例は図４を参照して後述する）。
【００５４】
図３のステップ３００において、各コードブロック毎に、各ビットプレーンの符号の重要度が例えば次式により計算される。
重要度＝（該符号の破棄による量子化誤差の増分）×√Ｇｓ）／その符号量                                                      ・・・・（７）
【００５５】
（７）式中の「符号量」としては、ビットプレーン符号化の実行時（ステップ１０６）に求めて保持しておいたものを用いる。
【００５６】
（７）式中の「符号の破棄による量子化誤差の増分」は様々な求め方があり、数学的に厳密な方法は例えば前記非特許文献２に記載されている。ここでは簡便のため、最下位ビットから数えてｎ枚目のビットプレーンの符号について、
その破棄よる量子化誤差の増分＝
（２＾（ｎ−１）−２＾（ｎ−２））×（コードブロック内の係数の数）    ・・・・（８）
により求めるものとする。
【００５７】
（７）式中の「√Ｇｓ」は、そのコードブロックが含まれるサブバンドのサブバンドゲインＧｓの平方根であり、サブバンド毎に予め決められた値が用いられる。符号から復号されたウェーブレット係数は逆量子化、逆ウェーブレット変換を経て画素値に戻されるが、符号破棄による量子化誤差はサブバンド毎に異なった倍率で画素値に反映される。この倍率の二乗をサブバンドゲインという。すなわち、ウェーブレット係数の量子化誤差Δｅは、逆ウェーブレット変換により、サブバンドゲインの平方根倍され、√Ｇｓ・Δｅとなる。詳細は説明しないが、前述した５×３変換と呼ばれるのウェーブレット変換を利用する場合、デコンポジションレベル１及び２のＬＬ、ＨＬ、ＬＨ、ＨＨサブハンドのサブバンドゲインの平方根は図１６に示すような値となる。色変換を伴わないモノクロ画像を圧縮場合、前記（７）式中の√Ｇｓとして図１６に示す値が用いられる。
【００５８】
しかし、ＲＧＢデータで表された画像を前記（１）式のＲＣＴ変換によりＹＣｂＣｒに色変換して圧縮し、伸長時に前記（２）式の逆ＲＣＴ変換によりＲＧＢデータに戻す場合には、逆ＲＣＴ変換のゲインをも考慮したサブバンドゲインを用いる必要がある。詳細は説明しないが、逆ＲＣＴ変換のゲインの平方根は図１７に示す値となる。Ｒ，Ｇ，Ｂの各コンポーネントからなるカラー画像をＲＣＴ変換によりＹ，Ｃｒ，Ｃｂの各コンポーネントに変換して圧縮処理する場合、Ｙ，Ｃｒ，Ｃｂ各コンポーネントに関する符号の重要度の計算の際には、（７）式中の√Ｇｓとして、図１６に示した値（逆ウェーブレット変換のゲインの平方根）に図１７に示した値を乗じた値（図１８、図１９及び図２０に示す）が用いられる。
【００５９】
次にステップ３０２において、各タイル毎に、又は、全タイル（すなわち画像全体）を一括して、全てのサブバンドの各コードブロックの各ビットプレーンの符号に、前ステップで求められた重要度の小さい順に符号廃棄の序列を付ける。この序列付けは、符号の重要度のソートによってもよいし、前記非特許文献２などに記載されているラグランジュの未定常数法によってもよい。カラー画像の場合には、全てのコンポーネント符号を一括して扱って符号への同様の序列付けが行われる。
【００６０】
従来は、このようにして付与された序列の順に（かつ最下位ビットプレーン側から）、所望の圧縮率（符号量）になるまで符号の破棄が行われる。しかし、序列付けをタイル毎に行うにしても、全タイルを一括して行うにしても、タイルの境界を挟んで隣接する関係にあるコードブロックの符号に付与される序列の差が大きくなることがあり、その結果として、タイル境界を挟んで隣接する関係にあるコードブロックの符号破棄量（符号が破棄されるビットプレーン数）の差が大きくなる。この場合、タイル境界を挟んで隣接するコードブロック間で符号破棄による量子化誤差量の差が大きくなり、これがタイル境界歪みの要因となっていた。
【００６１】
本発明においては、かかる要因によるタイル境界歪みを抑制するため、符号破棄に先立つステップ３０４において、タイル境界を挟んで隣接関係にあるコードブロックについては、符号破棄量が同一又は略同一となるように、符号に付与された序列が同一又は略同一になるように修正される。例えば、隣接関係にある２つのコードブロックのうち、一方のコードブロックでは１０枚のビットプレーンの符号が破棄されるような序列が付いているのに対し、他方のコードブロックでは６枚のビットプレーンの符号が破棄されるような序列が付いている場合には、前者のコードブロックで破棄されるビットプレーン数が例えば７になるような序列に修正する。
【００６２】
このような序列の修正の後、ステップ３０６において、所望の符号量となるまで、序列の順に（かつ最下位ビットプレーン側から）符号の破棄が行われる。そして、ステップ３０８において、破棄されずに残った符号がまとめられパケットが生成される。
【００６３】
すなわち、ここに説明している本発明の画像圧縮方法の態様においては、符号破棄のためのステップ１０８は、符号にその重要度に基づいて破棄の序列を付与するためのステップ３００，３０２を含み、また、タイル境界を挟んで隣接関係にあるコードブロックにおける符号破棄量を揃えるために、付与された序列を修正するステップ３０４を含む。換言すれば、この態様に係る画像圧縮装置は、符号破棄のための手段（ステップ１０８対応）は、符号にその重要度に基づいて破棄の序列を付与するための手段（ステップ３００，３０２対応）を含み、また、タイル境界を挟んで隣接関係にあるコードブロックにおける符号破棄量を揃えるために、付与された序列を修正する手段（ステップ３０４対応）を含む。
【００６４】
ここでタイル境界を挟んだコードブロックの隣接関係であるが、例えば図５に示すように画像が４つのタイル０〜３に分割される場合を考える。この場合、タイル境界を挟んで隣接関係にあるコードブロックとしては、２つのタイルの境界を挟んで左右に隣接する図６に示すようなコードブロックＡ，Ｂの組、２つのタイル境界を挟んで上下に隣接する図７に示すようなコードブロックＡ，Ｂの組、及び、４つのタイルの境界を挟んで隣接する図８に示すようなコードブロックＡ，Ｂ，Ｃ，Ｄの組がある。ただし、隣接関係は同一デコンポジションレベルのサブバンドのコードブロックの間で考えるものである。また、カラー画像の場合には、各コンポーネント毎にコードブロック間の隣接関係を考える。
【００６５】
タイル境界を挟んで隣接関係のあるコードブロックとして、ウェーブレット係数をインターリーブした状態で、タイル境界を挟んで文字通り隣接する係数を含むコードブロックの組、つまり、タイル境界を挟んで対応画素が純粋に隣り合うコードブロックの組（これを「タイプ１」と呼ぶ）と、タイル境界を挟んで隣り合う同一サブバンドのコードブロックの組（これを「タイプ２」と呼ぶ）がある。タイル境界を挟んで隣接関係にあるコードブロックの組として、タイプ１のコードブロックの組を選択する態様、タイプ２のコードブロックの組を選択する態様、あるいは、タイプ１，２両方のコードブロックの組を選択する態様のいずれも、本発明に包含される。
【００６６】
タイプ１，２のコードブロックの組について、図９乃至図１５を参照し、より詳細に説明する。
【００６７】
図２３から容易に理解されるように、係数をインターリーブした状態では、垂直のタイル境界では図９に示すような係数配列となる。したがって、タイプ１を採用するならば、係数５００を含むＨＬサブバンドのコードブロックと係数５０１を含むＬＬサブバンドのコードブロックの組、係数５０３を含むＨＨサブバンドのコードブロックと係数５０４を含むＬＨサブバンドのコードブロックの組が、隣接関係のあるコードブロックの組として選ばれる。
【００６８】
タイプ２の場合であるが、ＬＬ係数、ＬＨ係数に比べ、ＨＬ係数、ＨＨ係数のほうが符号破棄による量子化誤差量が一般に大きくなる傾向があるので、隣接関係を考える際にはＨＬ，ＨＨサブハンドのコードブロックを重視するのが一般に合理的である。そこで、タイプ２を採用する場合には、係数５００を含むＨＬサブバンドのコードブロックと係数５０５を含むＨＬサブバンドのコードブロックの組、係数５０３を含むＨＨサブバンドと係数５０６を含むＨＨサブバンドのコードブロックの組が、隣接関係にあるコードブロックの組として選ばれる。つまり、この場合は、タイル境界を挟んで隣接関係にある同一サブバンドのコードブロックの組が選ばれる。
【００６９】
同様に、係数をインターリーブした状態では、水平方向のタイル境界では図１０に示すような係数配列となる。したがって、タイプ１を採用するならば、係数５１０を含むＨＨサブバンドのコードブロックと係数５１１を含むＨＬサブバンドのコードブロックの組、係数５１３を含むＬＨサブバンドのコードブロックと係数５１４を含むＬＬサブバンドのコードブロックの組などが、隣接関係のあるコードブロックの組として選ばれる。タイプ２を採用するならば、係数５１０を含むＨＨサブバンドのコードブロックと係数５１２を含むＨＨサブバンドのコードブロックの組、係数５１３を含むＬＨサブバンドと係数５１５を含むＬＨサブバンドのコードブロックの組などが、隣接関係にあるコードブロックの組として選ばれる（この場合は、タイル境界を挟んで隣接関係にある同一サブバンドのコードブロックの組が選ばれる）。
【００７０】
同様に、係数をインターリーブした状態では、４タイルの境界では図１１に示すような係数配列となる。したがって、タイプ１を採用するならば、係数５２０、係数５２１、係数５２２、係数５２３をそれぞれ含む４つのコードブロックの組が隣接関係のあるコードブロックの組として選ばれる。タイプ２を採用するならば、例えば、係数５２２、係数５２３、係数５２４、係数５２５をそれぞれ含む４つのコードブロックの組が、隣接関係にあるコードブロックの組として選ばれる。
【００７１】
図１２乃至図１５はそれぞれ図５のタイル０〜３に対応したサブバンド図である。ここでは、デコンポジションレベル２までウェーブレット変換され、図中に破線で示すように各サブバンドがコードブロックに分割されて符号化されるものとする（プレシンクトサイズ＝サブバンドサイズとされている）。これらの図を参照し、デコンポジションレベル２におけるコードブロックの隣接関係についてさらに説明する。
【００７２】
図９中の係数５００が例えばタイル０のコードブロック６００（図１２）に含まれるとすると、係数５０５はタイル１のコードブロック６０５（図１３）に含まれる。係数５０３はタイル０のコードブロック６０３（図１２）に含まれ、係数５０６はタイル１のコードブロック６０６（図１２）に含まれる。したがって、コードブロック６００，６０５の組、コードブロック６０３，６０６の組が、それぞれ垂直のタイル境界を挟んで隣接関係にあるコードブロックの組として選択される（タイプ２）。
【００７３】
図１０中の係数５１０が例えばタイル０のコードブロック６１０（図１２）に含まれるとすると、係数５１２はタイル２のコードブロック６１２（図１４）に含まれる。したがって、コードブロック６１０，６１２の組が水平のタイル境界を挟んで隣接関係にあるコードブロックの組として選択される（タイプ２）。
【００７４】
また、図１１中の係数５２２はタイル０のコードブロック６２２（図１２）に、係数５２４はタイル１のコードブロック６２４（図１３）に、係数５２３はタイル２のコードブロック６２３（図１４）に、係数５２５はタイル３のコードブロック６２５（図１５）にそれぞれ含まれる。したがって、これらコードブロック６２２，６２３，６２４，６２５の組が隣接関係にあるコードブロックの組として選択される（タイプ２）。
【００７５】
なお、平均的に見ると、低いデコンポジションレベルのサブバンドの符号から先に破棄が行われるため、低いデコンポジションレベルほどタイル境界を挟んで隣接関係にあるコードブロック間の符号破棄量の差が生じやすい。したがって、ステップ３０４における符号破棄の序列の修正、換言すれば符号破棄量を揃えるための操作を、あるレベルより低いデコンポジションレベル（例えばデコンポジションレベル１）のサブバンドの符号のみを対象として行ってもタイル境界歪みの抑制効果を得られ、また処理量も少なくて済む。このような態様も本発明に包含される。
【００７６】
図１中のステップ１０８における処理の別の例もしくは対応手段の構成の別の例を、図４に示すフローチャート参照して説明する。
【００７７】
ステップ４００で、１つのコードブロックを選択する。そして、ステップ４０４で、当該コードブロックがタイル境界を挟んで他のコードブロックと隣接関係にあるかチェックする。この隣接関係は前述した通りである。
【００７８】
隣接関係にある他のコードブロックが存在しない場合には、ステップ４０６で、当該コードブロックの各ビットプレーンの符号の重要度を計算する。重要度の求め方は図３のステップ３００で説明した通りである。この計算を終わるとステップ４００に戻り次のコードブロックを選択し処理を続ける。
【００７９】
選択されたコードブロックとタイル境界を挟んで隣接関係にある他のコードブロックが存在する場合には（ステップ４０４，Ｙｅｓ）、ステップ４０８において、隣接関係にある２つ又は４つのコードブロックをひとまとめにし１つのコードブロックとして扱い、各ビットプレーンの符号の重要度を計算する。この場合の重要度の計算方法はステップ４０６と同様であるが、前記（７）式の分母としては、２つ又は４つのコードブロックの各ビットプレーンの符号量の合計値が用いられ、また、前記（７）式の分子としては、２つ又は４つのコードブロックの各ビットプレーンについて求めた値（量子化誤差の増分とサブバンドゲインの平方根の積）の合計値が用いられる。そして、ステップ４００に戻り次のコードブロックを選択し処理を続ける。
【００８０】
このようにして、全てのコードブロックについて符号の重要度の計算が終わると（ステップ４０２，Ｙｅｓ）、ステップ４１０において、各コードブロックの各ビットプレーンの符号に、その重要度の小さい順に序列が付けられる。そして、ステップ４１２において、所望の符号量となるまで、序列の順に（かつ最下位ビットプレーン側から）符号が破棄される。最後に、ステップ４１４において、破棄されずに残った符号をまとめてパケットが生成される。
【００８１】
ステップ４０８において、タイル境界を挟んで隣接関係にあるコードブロックの同じビットプレーンの符号は同じ重要度と評価されるため、それらコードブロックは同じ序列が付与され、したがってその符号破棄量を揃えることができる。これにより、符号破棄による量子化誤差量も揃うためタイル境界歪みが抑制される。
【００８２】
すなわち、ここに説明している画像圧縮方法においては、符号破棄のためのステップ１０８は、タイル境界を挟んで隣接関係にないコードブロックの各ビットプレーンの符号の重要度を計算するステップ４０６のほかに、隣接関係にあるコードブロックの組については、その符号破棄量を揃えるために、それら２つ又は４つのコードブロックをひとまとめにして１つのコードブロックとして扱い、その各ビットプレーンの符号の重要度を計算するステップ４０８を含み、また、隣接関係にないコードブロックの符号にはステップ４０６で計算された重要度に基づいて符号破棄の序列を付与し、隣接関係にあるコードブロックの符号にはステップ４０８で計算された重要度に基づいて符号破棄の序列を付与するステップ４１０を含んでいる。換言すれば、この態様に係る画像圧縮装置は、符号破棄の手段（ステップ１０８対応）は、ステップ４０６対応の手段、ステップ４０８対応の手段、ステップ４１０対応の手段を含む。
【００８３】
なお、図３のステップ３０４に関連して説明したように、低いデコンポジションレベルほどタイル境界を挟んで隣接関係にあるコードブロック間の符号破棄量の差が生じやすいため、あるレベルより低いデコンポジションレベル（例えばデコンポジション回数が２の場合のデコンポジションレベル１）のサブバンドのコードブロックのみステップ４０８の対象としてもよい。このような態様も本発明に包含される。
【００８４】
【発明の効果】
本発明の画像圧縮装置又は方法によれば、圧縮時の符号破棄の影響によるタイル境界歪みを効果的に抑制することが可能であり、したがって、本発明の画像圧縮装置又は方法により圧縮された画像を伸長することにより、タイル境界歪みの目立たない高品質の画像を再生可能になるほか、実施の形態に関連して詳述したような多くの効果を得られる。
【図面の簡単な説明】
【図１】本発明の実施の形態を説明するためのフローチャートである。
【図２】本発明のプログラムによる実施する形態を説明するための模式的ブロック図である。
【図３】図１中の符号破棄・パケット生成ステップにおける処理の例を説明するためのフローチャートである。
【図４】図１中の符号破棄・パケット生成ステップにおける処理の別の例を説明するためのフローチャートである。
【図５】タイル分割例を示す図である。
【図６】垂直のタイル境界を挟んで隣接関係にあるコードブロックの説明図である。
【図７】水平のタイル境界を挟んで隣接関係にあるコードブロックの説明図である。
【図８】４つのタイルの境界を挟んで隣接関係にあるコードブロックの説明図である。
【図９】垂直のタイル境界におけるインターリーブされた係数配列を示す図である。
【図１０】水平のタイル境界におけるインターリーブされた係数配列を示す図である。
【図１１】４つのタイルの境界におけるインターリーブされた係数配列を示す図である。
【図１２】タイル０におけるコードブロック分割の例を示す図である。
【図１３】タイル１におけるコードブロック分割の例を示す図である。
【図１４】タイル２におけるコードブロック分割の例を示す図である。
【図１５】タイル３におけるコードブロック分割の例を示す図である。
【図１６】５×３変換によるサブバンドゲインの平方根を示す図である。
【図１７】逆ＲＣＴ変換のゲインの平方根を示す図である。
【図１８】逆ＲＣＴ変換のゲインを考慮した輝度Ｙのサブバンドゲインの平方根を示す図である。
【図１９】逆ＲＣＴ変換のゲインを考慮した色差Ｃｂのサブバンドゲインの平方根を示す図である。
【図２０】逆ＲＣＴ変換のゲインを考慮した色差Ｃｒのサブバンドゲインの平方根を示す図である。
【図２１】タイル画像の例を示す図である。
【図２２】タイル画像に対する垂直方向のウェーブレット変換により得られる係数配列を示す図である。
【図２３】図２２の係数配列に対する水平方向のウェーブレット変換により得られる係数配列を示す図である。
【図２４】図２３の係数配列をデインターリーブした図である。
【図２５】２回の２次元ウェーブレット変換により得られる、デインターリーブ後の係数配列を示す図である。
【図２６】デコンポジションレベル数３のサブバンド分解を示す図である。
【図２７】タイル、サブバンド、プリシンクト、コードブロックの関係を示す模式図である。
【図２８】ＪＰＥＧ２０００の符号化データのフォーマットを示す図である。
【符号の説明】
１００  色変換ステップ（手段）
１０２  ウェーブレット変換ステップ（手段）
１０４  量子化ステップ（手段）
１０６  ビットプレーン符号化ステップ（手段）
１０８  符号破棄・パケット生成ステップ（手段）
１１０  符号形成ステップ（手段）
３００  重要度計算ステップ（手段）
３０２  序列付けステップ（手段）
３０４  序列修正ステップ（手段）
４０６  重要度計算ステップ（手段）
４０８  隣接関係にあるコードブロックに関する重要度計算ステップ（手段）
４１０  序列付けステップ（手段）
２００  ＣＰＵ
２０１  メモリ
２０２  ハードディスク装置
２０３  システムバス
【図１】
2004304656.tif 000003
【図２】
2004304656.tif 000004
【図３】
2004304656.tif 000005
【図４】
2004304656.tif 000006
【図５】
2004304656.tif 000007
【図６】
2004304656.tif 000008
【図７】
2004304656.tif 000009
【図８】
2004304656.tif 000010
【図９】
2004304656.tif 000011
【図１０】
2004304656.tif 000012
【図１１】
2004304656.tif 000013
【図１２】
2004304656.tif 000014
【図１３】
2004304656.tif 000015
【図１４】
2004304656.tif 000016
【図１５】
2004304656.tif 000017
【図１６】
2004304656.tif 000018
【図１７】
2004304656.tif 000019
【図１８】
2004304656.tif 000020
【図１９】
2004304656.tif 000021
【図２０】
2004304656.tif 000022
【図２１】
2004304656.tif 000023
【図２２】
2004304656.tif 000024
【図２３】
2004304656.tif 000025
【図２４】
2004304656.tif 000026
【図２５】
2004304656.tif 000027
【図２６】
2004304656.tif 000028
【図２７】
2004304656.tif 000029
【図２８】
2004304656.tif 000030