(57)【要約】【課題】圧縮率調整によって切り捨てられるビットプレーンを予め用意したパターンデータに置き換えることにより、画質劣化を抑えること。【解決手段】パターンデータ記憶部は、ビットプレーンとデータサイズが同じである複数の異なるパターンデータを記憶する。画像圧縮部は、符号化された各ビットプレーンの符号量を算出し、制限符号量を超えない範囲で、各ビットプレーンの符号量を最上位ビットのビットプレーンから順次加算する。そして、画像圧縮部は、制限量を超えない範囲で符号量の加算が行われたビットプレーン以外のビットプレーンとパターンデータ記憶部に記憶されている各パターンデータとを比較して、最も一致度が高いパターンデータを選択し、そのパターンデータとビットプレーンを置き換える。【選択図】図１４
2011049923.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段と、
前記変換された画像データを複数のタイルに分割する分割手段と、
前記分割されたタイル毎にウェーブレット変換を施すウェーブレット変換手段と、
前記ウェーブレット変換されたタイル毎に量子化する量子化手段と、
前記量子化されたタイルをビットプレーンに展開して符号化する符号化手段と、
前記ビットプレーンとデータサイズが同じであってそれぞれ異なる複数のパターンデータを記憶する記憶手段と、
前記展開されたビットプレーンのうち、復号後の画像の画質への影響が小さいビットプレーンを決定する決定手段と、
前記決定手段によって画質への影響が小さいとして決定されたビットプレーンと前記記憶手段に記憶されている各パターンデータとを比較して、前記決定されたビットプレーンとの一致度が最も高いパターンデータを選択する選択手段と、
前記決定手段によって画質への影響が小さいとして決定されたビットプレーンを、当該ビットプレーンとの一致度が最も高いとして前記選択手段によって選択されたパターンデータに置き換える置換手段と、
を備えた画像圧縮装置。
【請求項２】
前記決定手段は、
前記符号化された各ビットプレーンの符号量を算出する算出手段と、
前記入力された画像データを設定された圧縮率で圧縮したときの圧縮データのデータ量に基づいて算出された制限符号量を超えない範囲で、前記各ビットプレーンの符号量を最上位ビットのビットプレーンから順次加算する加算手段と、
を有し、前記制限符号量を超えない範囲で前記加算手段によって符号量の加算が行われたビットプレーン以外のビットプレーンを前記画質への影響が小さいビットプレーンとして決定するものである請求項１に記載の画像圧縮装置。
【請求項３】
前記決定手段は、
前記符号化された各ビットプレーンの画質への影響度を算出する算出手段と、
前記入力された画像データを設定された圧縮率で圧縮したときの圧縮データのデータ量に基づいて算出された制限符号量を超えない範囲で、前記各ビットプレーンの符号量を前記画質への影響度が高いビットプレーンから順次加算する加算手段と、
を有し、前記制限符号量を超えない範囲で前記加算手段によって符号量の加算が行われたビットプレーン以外のビットプレーンを前記画質への影響が小さいビットプレーンとして決定するものである請求項１に記載の画像圧縮装置。
【請求項４】
前記記憶手段は、前記各パターンデータ固有の符号量の少ない識別情報を前記各パターンデータと対応付けて記憶しており、
前記置換手段によって前記ビットプレーンから置き換えられたパターンデータを、前記記憶手段が当該パターンデータと対応付けて記憶している識別情報で表して、他の符号化されたビットプレーンと共に圧縮データとして出力する出力手段を更に備えるものである請求項１〜３の何れか一項に記載の画像圧縮装置。
【請求項５】
コンピュータを、
入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段、
前記変換された画像データを複数のタイルに分割する分割手段、
前記分割されたタイル毎にウェーブレット変換を施すウェーブレット変換手段、
前記ウェーブレット変換されたタイル毎に量子化する量子化手段、
前記量子化されたタイルをビットプレーンに展開して符号化する符号化手段、
前記展開されたビットプレーンのうち、復号後の画像の画質への影響が小さいビットプレーンを決定する決定手段、
前記決定手段によって画質への影響が小さいとして決定されたビットプレーンと、前記ビットプレーンとデータサイズが同じであってそれぞれ異なる複数のパターンデータを記憶する記憶手段に記憶されている各パターンデータとを比較して、前記決定されたビットプレーンとの一致度が最も高いパターンデータを選択する選択手段、
前記決定手段によって画質への影響が小さいとして決定されたビットプレーンを、当該ビットプレーンとの一致度が最も高いとして前記選択手段によって選択されたパターンデータに置き換える置換手段、
として機能させるための画像圧縮プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを圧縮するための画像圧縮装置及び画像圧縮プログラムに関するものである。
【背景技術】
【０００２】
近年、デジタル機器の発展に伴って、画像データ等の様々な圧縮方式が提案されているが、圧縮方式の１つとしてＪＰＥＧ（Joint Photographic Experts Group）２０００が知られている。ＪＰＥＧ２０００は画像の圧縮・展開の方法を規定したもので、ＪＰＥＧを発展させたものである。ＪＰＥＧ２０００は、画像データを複数のタイルに分割し、タイル毎にウェーブレット変換、量子化、そしてビットプレーン毎に算術符号化による圧縮処理を行っている。そして、ビットプレーン毎に画質への影響度を計算し、最も影響度の高いビットプレーンから順に符号データを出力し、ユーザ等によって指定された圧縮率に到達した時点で、符号化されていないビットプレーンは全て‘０’又は‘１’データとなるように符号化処理される。このような下位ビットの丸め処理については、特許文献１に詳しく記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０５−１１４２４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載されているような丸め処理を行うと、圧縮データを復号したときに画質の劣化が大きくなる問題があった。特に高い圧縮率で圧縮された画像の場合、元の画像と復号後の画像との差異が顕著になる。
【０００５】
本発明は、上記の問題を解決するためになされたもので、圧縮率調整によって切り捨てられるビットプレーンを予め用意したパターンデータに置き換えることにより、画質劣化を抑える画像圧縮装置及び画像圧縮プログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明の画像圧縮装置は、入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段と、前記変換された画像データを複数のタイルに分割する分割手段と、前記分割されたタイル毎にウェーブレット変換を施すウェーブレット変換手段と、前記ウェーブレット変換されたタイル毎に量子化する量子化手段と、前記量子化されたタイルをビットプレーンに展開して符号化する符号化手段と、前記ビットプレーンとデータサイズが同じであってそれぞれ異なる複数のパターンデータを記憶する記憶手段と、前記展開されたビットプレーンのうち、復号後の画像の画質への影響が小さいビットプレーンを決定する決定手段と、前記決定手段によって画質への影響が小さいとして決定されたビットプレーンと前記記憶手段に記憶されている各パターンデータとを比較して、前記決定されたビットプレーンとの一致度が最も高いパターンデータを選択する選択手段と、前記決定手段によって画質への影響が小さいとして決定されたビットプレーンを、当該ビットプレーンとの一致度が最も高いとして前記選択手段によって選択されたパターンデータに置き換える置換手段と、を備える。
【０００７】
また、請求項４に記載の発明の画像圧縮プログラムは、コンピュータを、入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段、前記変換された画像データを複数のタイルに分割する分割手段、前記分割されたタイル毎にウェーブレット変換を施すウェーブレット変換手段、前記ウェーブレット変換されたタイル毎に量子化する量子化手段、前記量子化されたタイルをビットプレーンに展開して符号化する符号化手段、前記展開されたビットプレーンのうち、復号後の画像の画質への影響が小さいビットプレーンを決定する決定手段、前記決定手段によって画質への影響が小さいとして決定されたビットプレーンと、前記ビットプレーンとデータサイズが同じであってそれぞれ異なる複数のパターンデータを記憶する記憶手段に記憶されている各パターンデータとを比較して、前記決定されたビットプレーンとの一致度が最も高いパターンデータを選択する選択手段、前記決定手段によって画質への影響が小さいとして決定されたビットプレーンを、当該ビットプレーンとの一致度が最も高いとして前記選択手段によって選択されたパターンデータに置き換える置換手段、として機能させるためのものである。
【０００８】
これらの構成によれば、記憶手段に予め複数の異なるパターンデータを用意し、従来の方法では圧縮率調整によって丸め処理が施されていたビットプレーンを、このビットプレーンと最も一致度の高いパターンデータを記憶手段から選択して置き換えることにより、従来の方法よりも誤差数を減らすことができ、復号後の画質を改善することができる。
【０００９】
ここで「誤差数」とは、あるビットプレーンと同じサイズのあるパターン（記憶手段に記憶されたパターンデータ、或いは全て‘０’又は‘１’のパターン）を重ねたときに、それぞれの対応する画素の値が異なる画素数のことであり、誤差数が多いほど、復号後の画質の変化が顕著に現れる。
【００１０】
請求項２に記載の発明は、請求項１に記載の画像圧縮装置であって、前記決定手段は、前記符号化された各ビットプレーンの符号量を算出する算出手段と、前記入力された画像データを設定された圧縮率で圧縮したときの圧縮データのデータ量に基づいて算出された制限符号量を超えない範囲で、前記各ビットプレーンの符号量を最上位ビットのビットプレーンから順次加算する加算手段と、を有し、前記設定された圧縮率でビットプレーンを圧縮したときの符号量を超えない範囲で前記加算手段によって符号量の加算が行われたビットプレーン以外のビットプレーンを前記画質への影響が小さいビットプレーンとして決定するものである。
【００１１】
一般的に、上位ビットのビットプレーンは画質への影響度が高い。従って、制限符号量を超えない範囲で加算手段によって符号量の加算が行われたビットプレーン以外のビットプレーンを画質への影響が小さいビットプレーンとしてパターンデータとの置換を行うことにより、画質への影響が高いビットプレーンはパターンデータに置換されずにそのまま残るため、復号後の画質劣化を抑えることができる。
【００１２】
請求項３に記載の発明は、請求項１に記載の画像圧縮装置であって、前記決定手段は、前記符号化された各ビットプレーンの画質への影響度を算出する算出手段と、前記入力された画像データを設定された圧縮率で圧縮したときの圧縮データのデータ量に基づいて算出された制限符号量を超えない範囲で、前記各ビットプレーンの符号量を前記画質への影響度が高いビットプレーンから順次加算する加算手段と、を有し、前記設定された圧縮率で圧縮したときの符号量を超えない範囲で前記加算手段によって符号量の加算が行われたビットプレーン以外のビットプレーンを前記画質への影響が小さいビットプレーンとして決定するものである。
【００１３】
この構成によれば、制限符号量を超えない範囲で加算手段によって符号量の加算が行われたビットプレーン以外のビットプレーンとパターンデータとの置換を行うことにより、画質への影響度が高いビットプレーンはパターンデータに置換されずにそのまま残るため、復号後の画質劣化を抑えることができる。
【００１４】
請求項４に記載の発明は、請求項１〜３の何れか一項に記載の画像圧縮装置であって、前記記憶手段は、前記各パターンデータ固有の符号量の少ない識別情報を前記各パターンデータと対応付けて記憶しており、前記置換手段によって前記ビットプレーンから置き換えられたパターンデータを、前記記憶手段が当該パターンデータと対応付けて記憶している識別情報で表して、他の符号化されたビットプレーンと共に圧縮データとして出力する出力手段を更に備えるものである。
【００１５】
この構成によれば、置換されたパターンデータを符号量の少ない識別情報で表すことにより、圧縮後のデータ量を大幅に削減することができる。
【発明の効果】
【００１６】
この発明によれば、記憶手段に予め複数の異なるパターンデータを用意し、従来の方法では圧縮率調整によって丸め処理が施されていたビットプレーンを、このビットプレーンと最も一致度の高いパターンデータを記憶手段から選択して置き換えることにより、従来の方法よりも誤差数を減らすことができ、復号後の画質を改善することができる。
【図面の簡単な説明】
【００１７】
【図１】画像圧縮装置の電気的構成を示すブロック図。
【図２】ＪＰＥＧ２０００方式による画像圧縮の流れを示す図。
【図３】タイル分割について説明するための図。
【図４】離散ウェーブレット変換について示した模式図。
【図５】エントロピー符号化の流れを示す図。
【図６】プレシンクト分割を模式的に示した図。
【図７】コードブロック分割を模式的に示した図。
【図８】ビットプレーン分割を模式的に示した図。
【図９】コーディングパスへの分割を模式的に示した図。
【図１０】ビットプレーン展開を説明するための図。
【図１１】ビットプレーンをランレングス法によって符号化したときの符号化データを表に表した図。
【図１２】パターンデータ記憶部のデータ構成の一例について示した図。
【図１３】ビットプレーンをパターンデータに置き換えた後の各データを示した図。
【図１４】画像圧縮処理の流れを示したフローチャート。
【発明を実施するための形態】
【００１８】
本発明における画像圧縮装置及び画像圧縮プログラムの実施の形態について図面を参照して説明する。図１は、本実施の形態における画像圧縮装置１の電気的構成を示すブロック図である。尚、画像圧縮装置１は、パーソナルコンピュータ（パソコン）やワークステーション、携帯情報端末等の情報処理装置で実現され、図１のブロック図は画像圧縮装置１がこれらの情報処理装置によって実現された場合を例に図示している。この他、コピー機やスキャナ等の画像読取装置や、デジタルカメラやデジタルビデオカメラ、デジタルカメラを搭載した携帯電話等の撮像装置に組み込まれて用いられてもよい。
【００１９】
図１に示すように、画像圧縮装置１は制御部１１、記憶部１２、入力操作部１３、表示部１４、Ｉ／Ｆ部１５、ネットワークＩ／Ｆ部１６及び画像圧縮復号部１７等を備えて構成される。制御部１１は、ＣＰＵ（Central Processing Unit：中央処理装置）等によって構成され、入力された指示信号等に応じて記憶部１２に記憶されたプログラムを読み出して処理を実行し、各機能部への指示信号の出力、データ転送等を行って画像圧縮装置１を統括的に制御する。
【００２０】
記憶部１２は、画像圧縮装置１の備える種々の機能を実現するためのプログラムやデータ等を記憶する。本実施の形態では、記憶部１２は画像圧縮プログラム１２１を記憶し、パターンデータ記憶部１２２として機能する。画像圧縮プログラム１２１は、Ｉ／Ｆ部１５又はネットワークＩ／Ｆ部１６が入力した画像データをＪＰＥＧ２０００方式で圧縮して符号化データを生成するためのプログラムである。パターンデータ記憶部１２２は、画像圧縮復号部１７によって展開されるビットプレーンとデータサイズが同じである複数のそれぞれ異なるパターンデータを記憶する。このパターンデータ記憶部１２２については後ほど詳しく説明する。
【００２１】
入力操作部１３は、各種操作ボタンやマウス等のポインティングデバイスを備え、ユーザによって操作がなされると、操作信号を制御部１１へ出力する。またユーザは入力操作部１３を介して圧縮率の設定を行う。表示部１４は、液晶ディスプレイ等の表示画面であり、入力操作部１３から入力された内容に応じた表示を行ったり、制御部１１による処理内容や処理結果を表示したりする。
【００２２】
Ｉ／Ｆ部１５はＩＥＥＥ１３９４やＵＳＢ等のインターフェイスであり、外部装置と直接データの送受信を行うことができる。ネットワークＩ／Ｆ部１６は、ＬＡＮボード等の通信モジュールから構成され、ネットワークＩ／Ｆ部１６と接続されたネットワーク（不図示）を介して外部装置と種々のデータの送受信を行う。画像圧縮復号部１７は、記憶部１２に記憶された画像圧縮プログラム１２１を実行することによって、Ｉ／Ｆ部１５やネットワークＩ／Ｆ部１６を介して入力された画像データをＪＰＥＧ２０００方式で圧縮して圧縮データを生成する。また、画像圧縮復号部１７は、圧縮データの復号も行う。
【００２３】
図２は、本実施の形態におけるＪＰＥＧ２０００方式による画像圧縮の流れを示す図である。まず画像圧縮復号部１７は、入力された画像データの表色系を例えばＲＧＢ方式からＹＣｂＣｒ方式へコンポーネント変換して（色空間変換２１）、表色系が変換された画像データを図３に示すように複数のタイルに分割する（タイル分割２２）。
【００２４】
そして、画像圧縮復号部１７は１つのバンドの各タイルに対して離散ウェーブレット変換を施して係数データを出力する（離散ウェーブレット変換２３）。図４は、離散ウェーブレット変換について示した模式図である。図４（ａ）のタイル画像（０ＬＬ）に対して、離散ウェーブレット変換を施し、図４（ｂ）に示すようにサブバンド１ＬＬ、１ＨＬ、１ＬＨ及び１ＨＨに分解する。続いて、低周波成分１ＬＬに対して離散ウェーブレット変換を施し、図４（ｃ）に示すようにサブバンド２ＬＬ、２ＨＬ、２ＬＨ及び２ＨＨに分解する。尚、図４では２レベル変換について図示しているが、離散ウェーブレット変換の回数は特に制限されるものではない。
【００２５】
次に、画像圧縮復号部１７は離散ウェーブレット変換された係数データに対して線形量子化を行い（量子化２４）、ユーザ等によって設定された圧縮率（以下「設定圧縮率」という）で量子化された量子化データに対してエントロピー符号化を行う（エントロピー符号化２５）。ここで、エントロピー符号化２５の処理手順について説明する。図５は、エントロピー符号化の流れを示す図である。画像圧縮復号部１７は、まず各サブバンドの係数をプレシンクトと呼ばれる領域に分割する（プレシンクト分割２５１）。図６はプレシンクト分割を模式的に示した図である。図６において、５１の部分は元の画像において同領域の部分を周波数変換したものであり、これらの部分は同じプレシンクトに属しているという。
【００２６】
次に、画像圧縮復号部１７はプレシンクトをコードブロックという更に小さな領域に分割する（コードブロック分割２５２）。図７はコードブロック分割を模式的に示した図である。このコードブロック単位がエントロピー符号化を行う際の基本単位となる。
【００２７】
そして、画像圧縮復号部１７は各コードブロックについて線形量子化された離散ウェーブレット変換の変換係数をビットプレーンに展開する。図８はビットプレーン展開２５３を模式的に示した図である。図８において、６１はあるコードブロックにおける線形量子化された離散ウェーブレット変換の係数データを例示したものである。６２は、係数データ６１の符号を表すビット列であり、値０は正値、値１は負値を意味する。６３は係数データ６１の絶対値をＭＳＢ（Most Significant Bit）からＬＳＢ（Least Significant Bit）に２値展開したビットプレーンである。
【００２８】
例えば、値が＋１２の係数データ６４は正値であるため、対応する符号ビット６５は‘０’である。また、＋１２の絶対値の２進数表現は（１１００）であるため、ビットプレーンに対応する箇所６６ａ、６６ｂ、６６ｃ及び６６ｄの値はそれぞれ‘１’、‘１’、‘０’、‘０’となる。同様に、値が−６の係数データ６７は負値であるため、対応する符号ビット６８は‘１’である。また、−６の絶対値の２進数表現は（０１１０）であるため、ビットプレーンの対応する箇所６９ａ、６９ｂ、６９ｃ及び６９ｄの値はそれぞれ‘０’、‘１’、‘１’、‘０’となる。ＭＳＢ側で全て０であるビットプレーンをゼロビットプレーンといい、データは保存されない一方、コードブロック毎に後述のゼロビットプレーン枚数がカウントされる。
【００２９】
続いて、画像圧縮復号部１７は、ビットプレーンを更にsignificance propagationパスと、magnitude refinementパスと、cleanupパスに分割する（コーディングパスへの分割２５４）。図９はコーディングパスへの分割を模式的に示した図である。図９に示すように、各ビットプレーン７１ａ〜７１ｄ（以下、これらをまとめて「ビットプレーン７１」という）は、コーディングパスへの分割により次のように分割される。つまり、それぞれsignificance propagationパス７２ｂ〜７２ｄ（以下、これらをまとめて「significance propagationパス７２」という）、magnitude refinementパス７３ｂ〜７３ｄ（以下、これらをまとめて「magnitude refinementパス７３」という）、cleanupパス７４ｂ〜７４ｄに分割される。ただし、最上位ビット（ＭＳＢ側）のビットプレーン７１ａはcleanupパス７４ａにのみ対応させる。以下、cleanupパス７４ａ〜７４ｄをまとめて「cleanupパス７４」という。
【００３０】
各ビットプレーン７１及び各コーディングパス７２〜７４は、全て縦横方向の座標長によるサイズが等しい。また、各コーディングパス７２〜７４にはビット値が定義された位置と定義されていない位置とが存在する。図９において、例えば７６や７７のように、ビット値が定義された位置には網掛け（斜線）が施されている。そして、コーディングパス７２〜７４（例えば、コーディングパス７２ｂ〜７４ｂ）の網掛け部分に定義されたビット値は、分割前のビットプレーン７１（例えば、ビットプレーン７１ｂ）上の対応する位置におけるビット値と等しい。ビットプレーンをコーディングパスに分割する処理方法については、各文献により周知のものであるため説明を省略する。
【００３１】
最後に画像圧縮復号部１７は、コーディングパス分割後のデータを算術符号化する（二値算術符号化２５５）。以上のようにしてエントロピー符号化２５を行った後、画像圧縮復号部１７は圧縮率の調整を行い（圧縮率調整２６）、画像圧縮復号部１７はファイルにデータを書き込むための符号ストリームの形成を行う（符号ストリーム２７）。この符号ストリーム処理については、各文献により周知のものであるため説明を省略する。
【００３２】
図２に示すＪＰＥＧ２０００の圧縮アルゴリズムの圧縮率調整２６において、従来、ビットプレーン毎に画質への影響度を計算し、最も影響度の高いビットプレーンから順に符号データを出力し、ユーザ等によって指定された圧縮率に到達した時点で、符号化されていないビットプレーンは‘０’又は‘１’データとなるように符号化処理されていた（下位ビットの丸め処理）。しかし、この丸め処理を行うと、圧縮データを復号したときの画質の劣化が大きくなる問題があった。
【００３３】
そこで、本発明では、ビットプレーンと同じサイズの複数の異なるパターンデータを用意し、従来の方法では圧縮率調整によって丸め処理が行われていたビットプレーンをパターンデータに置き換えることにより、復号したときの画質劣化を抑える方法を提案する。
【００３４】
以下、ビットプレーンをパターンデータに置き換える置換処理について詳しく説明する。図１０は、入力された画像データのビットプレーン展開を説明するための図である。ここでは簡単に説明するために、４×４のパターンについて説明する。まず８０は、あるコードブロックにおける線形量子化された離散ウェーブレット変換の係数データを例示したものである。そして、ビットプレーン８１〜８８は、係数データ８０をＭＳＢ（８ビット目）からＬＳＢ（１ビット目）に２値展開したビットプレーンである。
【００３５】
上記の説明に従うと、各ビットプレーン８１〜８８に対してコーディングパスへの分割がなされた後、算術符号化が行われるのであるが、ここでは符号量の算出を簡単に説明するために、最もシンプルな圧縮方法であるランレングス法を例に挙げて説明する。このランレングス法については、各文献により周知のものであるため説明を省略する。
【００３６】
画像圧縮復号部１７は、展開されたビットプレーン８１〜８８についてランレングス法を用いて符号化する。図１１は、ビットプレーン８１〜８８をランレングス法によって符号化したときの符号化データを表に表した図である。図１１の表の数字は、ビットプレーンの一番上のラインの左端の係数データから、‘０’、‘１’の順でそのデータが連続する長さを表しており、ビットプレーンの右端の係数データとその下のラインの左端の係数データと連続しているものとする。
【００３７】
８ビット目のビットプレーン８８は、全て‘０’であるため、‘０’が１６個続く。つまり、符号化データは「１６」のみであり、この符号化データを表すのに必要な符号量は４ビットである。次に、７ビット目のビットプレーン８７の場合、まず‘０’が０個、次に‘１’が１個、‘０’が２個、‘１’が２個、‘０’が１１個続く。つまり、符号化データは「０，１，２，２，１１」となり、この符号化データを表すのに必要な符号量は４ビット×５＝２０ビットである。このように、画像圧縮復号部１７は各ビットプレーンの符号量を算出する。
【００３８】
更に、画像圧縮復号部１７は、入力された画像データを設定圧縮率で圧縮したときの圧縮データのデータ量に基づいて１つのコードブロック当たりの符号量（制限符号量）を算出する。そして画像圧縮復号部１７はこの制限符号量を超えない範囲で、各ビットプレーンの符号量を上位ビットのビットプレーンから順次加算する。例えば、係数データ８０の符号量は、８ビット×１６画素＝１２８ビットである。そして、入力された画像データを設定圧縮率で圧縮したときの圧縮データのデータ量に基づいて画像圧縮復号部１７が算出した１つのコードブロックの符号量（制限符号量）を６４ビットとする。この６４ビットを超えない範囲で、画像圧縮復号部１７は最上位ビットのビットプレーンの符号量から順次加算していく。
【００３９】
つまり、まず画像圧縮復号部１７は８〜６ビット目のビットプレーンの符号量を加算する。従って、４ビット（８ビット目）＋２０ビット（７ビット目）＋２８ビット（６ビット目）＝５２ビットとなる。ここで、更に５ビット目のビットプレーンの符号量である２０ビットを加算すると合計が７２ビットとなり、制限符号量の６４ビットを超えてしまう。従って、画像圧縮復号部１７は８、７及び６ビット目のビットプレーン８８、８７及び８６については符号化されたデータを圧縮データとしてそのまま出力し、それ以外の５〜１ビット目のビットプレーン８５〜８１については、パターンデータ記憶部１２２に記憶されているパターンデータに置換する。
【００４０】
図１２は、パターンデータ記憶部１２２のデータ構成の一例について示した図である。パターンデータ記憶部１２２は、例えば、パターンデータＰ００〜Ｐ１５と、全て‘０’、全て‘１’のパターンデータを記憶する。尚、パターンデータの種類及び数についてはこの限りではない。
【００４１】
上記にて説明したように、８、７及び６ビット目のビットプレーン８８、８７及び８６については符号化されたデータを圧縮データとしてそのまま出力し、それ以外の５〜１ビット目のビットプレーン８５〜８１については、パターンデータ記憶部１２２に記憶されているパターンデータに置換する場合、画像圧縮復号部１７は、まず５〜１ビット目のビットプレーン８５〜８１の各ビットプレーンについて、最も一致度の高いパターンデータをパターンデータ記憶部１２２から選択する。
【００４２】
パターンデータの選択方法を説明する。まず、画像圧縮復号部１７はビットプレーンと各パターンデータについて対応する画素毎に否定排他的論理和（ＸＮＯＲ）又は同値（ＥＱ）をとり、真値が最も多いパターンデータをそのビットプレーンと最も一致度の高いパターンデータとする。または論理積（ＡＮＤ）でもよい。
【００４３】
５ビット目のビットプレーン８５の場合、各パターンデータとの否定排他的論理和又は同値を取った結果、最も一致度の高いパターンデータはＰ０６となる。従って、画像圧縮復号部１７は５ビット目のビットプレーン８５をパターンデータＰ０６に置き換える。パターンデータは１６通りあるため、各パターンデータをそれぞれ異なる４ビットの識別番号（００００Ｂ〜１１１１Ｂ）にて表すことができる。即ち、５ビット目のビットプレーン８５は、ランレングス法による圧縮だと符号量が２０ビット（図１１より）であるが、パターンデータＰ０６に置き換えることによって４ビットの識別番号で表すことが可能となる。
【００４４】
このような方法で、画像圧縮復号部１７は４〜１ビット目のビットプレーン８４〜８１のパターンデータを選択する。その結果、ビットプレーン８４はパターンデータＰ００、ビットプレーン８３はパターンデータＰ０９、ビットプレーン８２はパターンデータＰ０４、ビットプレーン８１はパターンデータＰ１６に置き換えられることとなる。尚、パターンデータＰ１６は全て‘０’のデータであるため、ランレングス法による圧縮によって４ビットの符号で表すことができる。
【００４５】
図１３は、５〜１ビット目のビットプレーン８５〜８１をパターンデータに置き換えた後の各データを示した図である。８〜６ビット目のビットプレーン８８〜８６は展開されたビットプレーンをそのまま符号データとして用い、５〜１ビット目のビットプレーン８５〜８１はパターンデータ記憶部１２２のパターンデータ（符号データ９５〜９１）に置き換えられる。
【００４６】
図１３に示す符号データ９５〜９１において、斜線で示した画素は元のビットプレーン８５〜８１の画素の値と異なっている部分である。従来の方法のように、５ビット目のビットプレーン８５を全て‘０’のパターンに置き換えた場合、対応する画素の値が異なる（誤差）の数は５となる。しかし、パターンデータＰ０６に置き換えた場合、誤差の数は３となるため、誤差数を減らすことができ、従来の方法より復号後の画像の画質を改善することができる。
【００４７】
同様に、４ビット目のビットプレーン８４を全て‘０’のパターンに置き換えた場合の誤差数は７であるが、パターンデータＰ００に置き換えた場合の誤差数は５となる。３ビット目のビットプレーン８３を全て‘０’のパターンに置き換えた場合の誤差数は８であるが、パターンデータＰ０９に置き換えた場合の誤差数は２となる。２ビット目のビットプレーン８２を全て‘０’のパターンに置き換えた場合の誤差数は８であるが、パターンデータＰ０４に置き換えた場合の誤差数は２となる。
【００４８】
図１４は、画像圧縮復号部１７が画像圧縮プログラム１２１に従って実行する画像圧縮処理の流れを示したフローチャートである。まず画像圧縮復号部１７は画像データの色空間変換（ステップＳ１１）、タイル分割（ステップＳ１２）、離散ウェーブレット変換（ステップＳ１３）、量子化（ステップＳ１４）、エントロピー符号化（ステップＳ１５）を行う。そして、画像圧縮復号部１７は、各ビットプレーンの符号量を算出する（ステップＳ１６）。尚、以下のステップＳ１６からステップＳ２５の処理は、全てのタイルの全てのコードブロックのビットプレーンに対して行われる。
【００４９】
次に、画像圧縮復号部１７は変数ｉ（ｉは１以上の整数）に最上位ビットの数（図１０の例の場合は８）を代入し、変数ＤＡＴＡ（ＤＡＴＡは０以上の整数）に０を代入する（ステップＳ１７）。そして、画像圧縮復号部１７は、変数ＤＡＴＡにｉビット目のビットプレーンの符号量を加算する（ステップＳ１８）。変数ＤＡＴＡの値が、制限符号量以下であり（ステップＳ１９；ＹＥＳ）、変数ｉが１（つまり最下位ビット）でない場合（ステップＳ２０；ＮＯ）、画像圧縮復号部１７は変数ｉをデクリメントし（ステップＳ２１）、ステップＳ１８へ処理を移行する。こうして、最上位ビットから順次ビットプレーンの符号量を変数ＤＡＴＡに足しこみ、この処理を変数ＤＡＴＡの値が制限符号量を超えるまで、又は変数ｉが１になるまで（つまり、全てのビットプレーンの符号量を足しこむまで）繰り返す。
【００５０】
変数ＤＡＴＡの値が制限符号量を超えたとき（ステップＳ１９；ＮＯ）、画像圧縮復号部１７はｉ番目のビットプレーンとパターンデータ記憶部１２２に記憶されている各パターンデータとの否定排他的論理和又は同値を取り、最も真値の多い（つまり一致度の高い）パターンデータとｉ番目のビットプレーンを置き換える（ステップＳ２２）。そして変数ｉが１ではない場合（ステップＳ２３；ＮＯ）、画像圧縮復号部１７は変数ｉをデクリメントし（ステップＳ２４）、ステップＳ２２の処理を繰り返す。このように、画像圧縮復号部１７は、変数ＤＡＴＡの値が制限符号量を超えたときの変数ｉが示すビットから１ビット目までのビットプレーンを一致度の最も高いパターンデータに置き換える。
【００５１】
変数ｉが１である場合（ステップＳ２０；ＹＥＳ、ステップＳ２３；ＹＥＳ）、画像圧縮復号部１７は、ビットプレーンから置き換えられたパターンデータを、そのパターンデータと対応付けて記憶されている識別情報で表し、他の符号化されたビットプレーン（パターンデータに置換されていないビットプレーン）と共に符号データとして出力する（ステップＳ２５）。そして、符号化ストリームを行って（ステップＳ２６）、圧縮データを出力し、処理を終了する。
【００５２】
次に、圧縮データの復号処理の流れについて説明する。まず画像圧縮復号部１７は圧縮データに対して逆エントロピー符号化を行い、量子化データを取得する。続いて画像圧縮復号部１７は量子化データに対して逆量子化を行い、離散ウェーブレット変換された係数データを取得する。そして画像圧縮復号部１７は係数データに対して逆離散ウェーブレット変換を行い、タイル画像に復元し、タイル画像を組み合わせた画像の表色系のコンポーネント変換を行って復号データを取得し、復号処理を終了する。
【００５３】
以上、説明したように、パターンデータ記憶部１２２に複数の異なるパターンデータを用意し、従来の方法では圧縮率調整によって丸め処理が施されていたビットプレーンを、最も一致度の高いパターンデータに置き換えることにより、従来の方法よりも誤差数を減らすことができ、復号したときの画質を改善することができる。
【００５４】
また、パターンデータ記憶部１２２が、各パターンデータと少ない符号量の識別番号（上記の例では００００Ｂ〜１１１１Ｂ）を対応付けて記憶し、置換されたパターンデータをこの識別番号で表すことにより、圧縮後のデータ量を大幅に削減することができる。
【００５５】
更に、一般的に上位ビットのビットプレーンは画質への影響度が高い。従って、画像圧縮復号部１７は制限符号量を超えない範囲で最上位ビットのビットプレーンの符号量から順次加算することにより、画質への影響が高いビットプレーンはパターンデータに置換されずにそのまま残るため、復号後の画質劣化を抑えることができる。
【００５６】
尚、本実施の形態では、設定圧縮率でビットプレーンを圧縮したときの符号量を超えない範囲で、画像圧縮復号部１７がビットプレーンの符号量を加算していく際、最上位ビットの符号量から順次加算していくこととして説明した。この他に、画像圧縮復号部１７が各ビットプレーンの画質への影響度を算出し、この画質への影響度が高いビットプレーンの符号量から順次加算していくこととしてもよい。
【００５７】
各ビットプレーンの画質への影響度の一例を説明する。各ビットプレーンについてコーディングパスへの分割が行われた後、画像圧縮復号部１７はＭＳＢからＬＳＢのビットプレーンに対して上位ビットほど重み付け係数を高く設定する。例えばＭＳＢからＬＳＢのビットプレーンに８、４、２、１の重み付け係数を設定し、significance propagationパス、magnitude refinementパス、cleanupパスにもそれぞれ所定の重み付け係数を設定する。そして画像圧縮復号部１７は、コーディングパスの‘１’の数とビットプレーンの重み付け係数とコーディングパスの重み付け係数を掛け合わせた数値をビット位置毎に算出して積算し、これをビットプレーンの影響度とする。
【００５８】
そして、画像圧縮復号部１７は、設定圧縮率でビットプレーンを圧縮したときの符号量を超えない範囲で、画質への影響度が高いビットプレーンの符号量から順次加算し、この加算が行われたビットプレーン以外のビットプレーン（つまり、画質への影響度が低いビットプレーン）と一致度が最も高いパターンデータをパターンデータ記憶部１２２から選択して置換する。
【００５９】
このように、画像圧縮復号部１７は制限符号量を超えない範囲で画質への影響度の高いビットプレーンの符号量から順次加算し、制限符号量を超えない範囲で符号量の加算が行われたビットプレーン以外のビットプレーンとパターンデータとの置換を行うことにより、画質への影響度が高いビットプレーンはパターンデータと置換されずにそのまま残るため、復号後の画質劣化を抑えることができる。
【符号の説明】
【００６０】
１      画像圧縮装置
１１    制御部
１２    記憶部
１２１  画像圧縮プログラム
１２２  パターンデータ記憶部（記憶手段）
１３    入力操作部
１４    表示部
１５    Ｉ／Ｆ部
１６    ネットワークＩ／Ｆ部
１７    画像圧縮部（変換手段、分割手段、ウェーブレット変換手段、量子化手段、符号化手段、決定手段、選択手段、置換手段、算出手段、加算手段）
【図１】
2011049923.tif 000003
【図２】
2011049923.tif 000004
【図３】
2011049923.tif 000005
【図４】
2011049923.tif 000006
【図５】
2011049923.tif 000007
【図６】
2011049923.tif 000008
【図７】
2011049923.tif 000009
【図８】
2011049923.tif 000010
【図９】
2011049923.tif 000011
【図１０】
2011049923.tif 000012
【図１１】
2011049923.tif 000013
【図１２】
2011049923.tif 000014
【図１３】
2011049923.tif 000015
【図１４】
2011049923.tif 000016