(57)【要約】【課題】網点画像のような隣接する画素間の濃度差が大きい画像において、復号後の画質劣化を抑えつつ符号化効率を向上させること。【解決手段】画像圧縮部は、注目画素の対象ビット桁をそのままで下位ビットを全て‘０’又は‘１’にした値Ａと、対象ビット桁を変更して下位ビットを全て‘０’又は‘１’にした値Ｂを算出して、注目画素の値と値Ａの差の絶対値（第１誤差）と注目画素の値と値Ｂの差の絶対値（第２誤差）をそれぞれ算出し、第１誤差が第２誤差以下である場合は注目画素の対象ビット桁の値はそのままとし、第１誤差が第２誤差より大きい場合は注目画素の対象ビット桁の値を変更する。【選択図】図１３
2011077760.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パス７４」という。
【００３０】
各ビットプレーン７１及び各コーディングパス７２〜７４は、全て縦横方向の座標長によるサイズが等しい。また、各コーディングパス７２〜７４にはビット値が定義された位置と定義されていない位置とが存在する。図９において、例えば７６や７７のように、ビット値が定義された位置には網掛け（斜線）が施されている。そして、コーディングパス７２〜７４（例えば、コーディングパス７２ｂ〜７４ｂ）の網掛け部分に定義されたビット値は、分割前のビットプレーン７１（例えば、ビットプレーン７１ｂ）上の対応する位置におけるビット値と等しい。ビットプレーンをコーディングパスに分割する処理方法については、各文献により周知のものであるため説明を省略する。
【００３１】
最後に画像圧縮復号部１７は、コーディングパス分割後のデータを算術符号化する（二値算術符号化２５５）。以上のようにしてエントロピー符号化２５を行った後、画像圧縮復号部１７は圧縮率の調整を行い（圧縮率調整２６）、画像圧縮復号部１７はファイルにデータを書き込むための符号ストリームの形成を行う（符号ストリーム２７）。この符号ストリーム処理については、各文献により周知のものであるため説明を省略する。
【００３２】
各種画像のうち、網点画像は隣接する画素間の濃度差が大きく、ビットプレーンにおいて同じ値（‘０’又は‘１’）が連続しないため、符号化効率が悪くなる傾向にある。そこで、符号化効率を高めるために画像の種類を判断して量子化テーブルを切り替える方法や、量子化データにおいて最下位ビットを‘０’又は‘１’に置き換えて値を固定する方法が提案されている。しかし、量子化テーブルを切り替える方法の場合、隣接する画素間での値の並びが考慮されないため、網点画像においては符号化効率の向上はあまり望めない。また、最下位ビットの値を固定する方法の場合、最下位ビットの値が強制的に変更されるため、復号後の画像の画質劣化が大きくなる問題があった。
【００３３】
そこで、網点画像のような隣接する画素間の濃度差が大きい画像においても復号後の画質劣化を抑えつつ符号化効率を向上させる第１〜第３の実施例について以下説明する。
【００３４】
＜第１の実施例＞
本実施例では、コードブロックの注目画素の前後の各画素における対象ビット桁の各値が異なる場合、注目画素の値と注目画素の対象ビット桁の値はそのままで対象ビット桁より下位ビットを全て‘０’又は‘１’としたときの値との差の絶対値である第１誤差と、注目画素の値と注目画素の対象ビット桁の値を変更して対象ビット桁より下位ビットを全て‘０’又は‘１’にしたときの値との差の絶対値である第２誤差を算出し、第１誤差が第２誤差以下のときは注目画素の対象ビット桁の値はそのままで、第１誤差が第２誤差より大きいときは注目画素の対象ビット桁の値を変更して、復号後の画質劣化を抑えつつ符号化効率を向上させる方法について説明する。
【００３５】
図１０は、注目画素の前画素、後画素における対象ビット桁の値の組み合わせを示した表である。まず、前画素、注目画素及び後画素の各対象ビット桁の値が全て‘０’又は‘１’である場合、画像圧縮復号部１７は注目画素の対象ビット桁の変更は行わない。一方、前画素と後画素の対象ビット桁の値が同じで注目画素の対象ビット桁のみが異なる場合、例えば前画素＝‘０’、注目画素＝‘１’、後画素＝‘０’である場合、画像圧縮復号部１７は注目画素の対象ビット桁の値を前画素の対象ビット桁の値に変更する。つまり、上記例の場合は、注目画素＝‘１’を‘０’に変更する。こうして値の連続性を持たせることで、符号化効率が向上する。
【００３６】
尚、画像圧縮復号部１７はこのように注目画素の対象ビット桁の値を調整した後、対象ビット桁より下位ビットを全て‘０’又は‘１’としてビット丸め処理を行う。
【００３７】
そして、前画素と後画素の対象ビット桁の値が異なる場合、例えば前画素＝‘０’、注目画素＝‘０’、後画素＝‘１’である場合、画像圧縮復号部１７は、注目画素の対象ビット桁の値を変更しない場合と変更した場合の値を、変更前の注目画素の値と比較して、対象ビット桁を変更するか否かを決定する。以下、画像圧縮復号部１７による注目画素の対象ビット桁を変更するか否かの判断方法について詳しく説明する。
【００３８】
まず、図１１を用いて説明する。図１１（ａ）は元の注目画素の値とその前後の画素の値を示した図であり、前画素＝１１００１１１１Ｂ、注目画素＝１０００１１００Ｂ、後画素＝１１０１１０００Ｂである。前画素及び後画素の対象ビット桁の値と図１０の表を参照すると、前画素＝‘０’、後画素＝‘１’であるため、画像圧縮復号部１７は注目画素の対象ビット桁の値を変更すべきか否かを判断することになる。
【００３９】
最初に、画像圧縮復号部１７は、
注目画素の対象ビット桁の値はそのままで下位ビットを全て‘０’にした値Ａ
＝１０００００００Ｂ＝１２８Ｄ
注目画素の対象ビット桁を‘０’から‘１’に変更して下位ビットを全て‘０’にした値Ｂ＝１００１００００Ｂ＝１４４Ｄ
の各値を得る。そして、画像圧縮復号部１７は、注目画素の値と値Ａの差の絶対値（第１誤差）と、注目画素の値と値Ｂの差の絶対値（第２誤差）を算出する。つまり、元の注目画素は１０００１１００Ｂ＝１４０Ｄであるため、
第１誤差＝｜１４０−１２８｜＝１２
第２誤差＝｜１４０−１４４｜＝４
となる。
【００４０】
次に、画像圧縮復号部１７は第１誤差と第２誤差の差を求め、その差が０以下であれば（つまり第１誤差が第２誤差以下）注目画素の対象ビット桁の値はそのままとし、差が０より大きい値であれば（つまり第２誤差が第１誤差未満）注目画素の値を変更する。上記の場合、
第１誤差−第２誤差＝１２−４＝８＞０
であるため、画像圧縮復号部１７は注目画素の対象ビット桁を変更する。つまり、画像圧縮復号部１７は、注目画素の対象ビット桁をそのままで下位ビットを全て‘０’にした値と対象ビット桁を変更して下位ビットを全て‘０’にした値に対して、元の注目画素との差の絶対値をそれぞれ算出し、差の小さい方（差が同じ場合は対象ビット桁はそのまま）を採用する。
【００４１】
次に、別の例について図１２を用いて説明する。図１２（ａ）は元の注目画素の値を示した図であり、注目画素＝１００００１１１Ｂ、前画素＝１１００１１１１Ｂ、後画素＝１１０１１０００Ｂである。前画素及び後画素の対象ビット桁の値と図１０の表を参照すると、前画素＝‘０’、後画素＝‘１’であるため、画像圧縮復号部１７は注目画素の対象ビット桁の値を変更すべきか否かを判断することになる。
【００４２】
最初に、画像圧縮復号部１７は、
注目画素の対象ビット桁の値はそのままで下位ビットを全て‘０’にした値Ａ
＝１０００００００Ｂ＝１２８Ｄ
注目画素の対象ビット桁を‘０’から‘１’に変更して下位ビットを全て‘０’にした値Ｂ＝１００１００００Ｂ＝１４４Ｄ
の各値を得る。そして、画像圧縮復号部１７は、注目画素の値と値Ａの差の絶対値（第１誤差）と、注目画素の値と値Ｂの差の絶対値（第２誤差）を算出する。つまり、元の注目画素の値は１００００１１１Ｂ＝１３５Ｄであるため、
第１誤差＝｜１３５−１２８｜＝７
第２誤差＝｜１３５−１４４｜＝９
となる。
【００４３】
次に、画像圧縮復号部１７は第１誤差と第２誤差の差を求め、その差が０以下であれば注目画素の対象ビット桁の値はそのままとし、差が０より大きい値であれば注目画素の値を変更する。上記の場合、
第１誤差−第２誤差＝７−９＝−２≦０
であるため、画像圧縮復号部１７は注目画素の対象ビット桁をそのままとする。
【００４４】
図１３は、本実施例におけるビット丸め処理の流れを示したフローチャートである。以下「ビット丸め処理」とは、注目画素の対象ビット桁の調整（変更するか、そのままとするかを判断して実行する処理）と、対象ビット桁より下位ビットを全て‘０’又は‘１’に置き換える処理のことを言う。また、ビット丸め処理に関するプログラムは画像圧縮プログラム１２１に含まれており、画像圧縮復号部１７は画像圧縮プログラム１２１に従って処理を実行する中でビット丸め処理を行う。
【００４５】
まず、画像圧縮復号部１７は、コードブロックの注目画素、注目画素の前画素及び後画素の対象ビット桁の各値を比較する。前画素、注目画素及び後画素の対象ビット桁の各値が全て同じである場合（ステップＳ１１；ＹＥＳ）、画像圧縮復号部１７はステップＳ２１へ処理を移行する。
【００４６】
前画素、注目画素及び後画素の対象ビット桁の各値が全て同じでなく（ステップＳ１１；ＮＯ）、前画素及び後画素の対象ビット桁の各値が同じである場合、即ち、注目画素の対象ビット桁の値のみが異なる場合（ステップＳ１２；ＹＥＳ）、前画素の対象ビット桁の値が‘０’であれば（ステップＳ１３；‘０’）、画像圧縮復号部１７は注目画素の対象ビット桁の値を‘１’から‘０’に変更する（ステップＳ１４）。前画素の対象ビット桁の値が‘１’であれば（ステップＳ１３；‘１’）、画像圧縮復号部１７は注目画素の対象ビット桁の値を‘０’から‘１’に変更する（ステップＳ１４）。そして画像圧縮復号部１７はステップＳ２１へ処理を移行する。
【００４７】
一方、前画素、注目画素及び後画素の対象ビット桁の各値が全て同じでなく（ステップＳ１１；ＮＯ）、前画素及び後画素の対象ビット桁の各値が異なる場合（ステップＳ１２；ＮＯ）、画像圧縮復号部１７は、注目画素の対象ビット桁の値はそのままで下位ビットを全て‘０’又は‘１’にした値Ａと注目画素の対象ビット桁の値を変更して下位ビットを全て‘０’又は‘１’にした値Ｂを生成する（ステップＳ１６）。続いて、画像圧縮復号部１７は、注目画素と値Ａの差の絶対値である第１誤差と、注目画素と値Ｂの差の絶対値である第２誤差を算出する（ステップＳ１７）。
【００４８】
そして、画像圧縮復号部１７は、第１誤差と第２誤差の差を算出する（ステップＳ１８）。その差が０以下である場合（ステップＳ１８；ＹＥＳ）、画像圧縮復号部１７は注目画素の対象ビット桁の値をそのままとする（ステップＳ１９）。差が０より大きい場合（ステップＳ１８；ＮＯ）、画像圧縮復号部１７は注目画素の対象ビット桁の値を変更する（ステップＳ２０）。
【００４９】
次に、画像圧縮復号部１７は、注目画素の対象ビット桁より下位のビットを全て‘０’又は‘１’に変更する（ステップＳ２１）。ここで、下位ビットを全て‘０’にする場合、画像圧縮復号部１７はステップＳ１６において下位ビットを全て‘０’にしたときの値Ａ及び値Ｂを生成する。また、下位ビットを全て‘１’にする場合、画像圧縮復号部１７はステップＳ１６において下位ビットを全て‘１’にしたときの値Ａ及び値Ｂを生成する。
【００５０】
そして、コードブロックの全ての画素についてビット丸め処理を行っていない場合（ステップＳ２２；ＮＯ）、画像圧縮復号部１７は注目画素を移動させて（ステップＳ２３）、ステップＳ１１へ処理を移行する。コードブロックの全ての画素のビット丸め処理が終了した場合（ステップＳ２２；ＮＯ）、画像圧縮復号部１７は処理を終了する。そして、画像圧縮復号部１７は、ビット丸め処理終了後に算術符号化を行う。
【００５１】
次に、圧縮データの復号処理の流れについて説明する。まず画像圧縮復号部１７は圧縮データに対して逆エントロピー符号化を行い、量子化データを取得する。続いて画像圧縮復号部１７は量子化データに対して逆量子化を行い、離散ウェーブレット変換された係数データを取得する。そして画像圧縮復号部１７は係数データに対して逆離散ウェーブレット変換を行い、タイル画像に復元し、タイル画像を組み合わせた画像の表色系のコンポーネント変換を行って復号データを取得し、復号処理を終了する。
【００５２】
以上、説明したように、画像圧縮復号部１７は、注目画素の対象ビット桁をそのままで下位ビットを全て‘０’又は‘１’にした値Ａと、対象ビット桁を変更して下位ビットを全て‘０’又は‘１’にした値Ｂを算出して、注目画素の値と値Ａの差の絶対値（第１誤差）と注目画素の値と値Ｂの差の絶対値（第２誤差）をそれぞれ算出し、第１誤差が第２誤差以下である場合は注目画素の対象ビット桁の値はそのままとし、第１誤差が第２誤差より大きい場合は注目画素の対象ビット桁の値を変更することにより、注目画素のビット変更前後の値変化を最小限に抑えつつ（復号後の画質劣化を抑えつつ）、網点画像のような隣接する画素間の濃度差が大きい画像においても符号化効率を向上させることができる。
【００５３】
＜第２の実施例＞
本実施例では、コードブロックの注目画素の前後の各画素における対象ビット桁の各値が異なり、注目画素以前の各画素の対象ビット桁において所定数以上同じ値が連続している場合について説明する。
【００５４】
最初に図１４を用いて説明する。図１４（ａ）は注目画素とその周辺画素の値を示した図であり、前画素＝１１００１１１１Ｂ、注目画素＝１００００１１１Ｂ、後画素＝１１０１１０００Ｂである。前画素及び後画素の対象ビット桁の値と図１０の表を参照すると、前画素＝‘０’、後画素＝‘１’であるため、画像圧縮復号部１７は注目画素の対象ビット桁の値を変更すべきか否かを判断することになる。
【００５５】
次に、画像圧縮復号部１７は、
注目画素の対象ビット桁の値はそのままで下位ビットを全て‘０’にした値Ａ
＝１０００００００Ｂ＝１２８Ｄ
注目画素の対象ビット桁を‘０’から‘１’に変更して下位ビットを全て‘０’にした値Ｂ＝１００１００００Ｂ＝１４４Ｄ
の各値を得る。そして、画像圧縮復号部１７は、注目画素の値と値Ａの差の絶対値（第１誤差）と、注目画素の値と値Ｂの差の絶対値（第２誤差）を算出する。つまり、注目画素の元の値は１００００１１１Ｂ＝１３５Ｄであるため、
第１誤差＝｜１３５−１２８｜＝７
第２誤差＝｜１３５−１４４｜＝９
となる。
【００５６】
続いて、画像圧縮復号部１７は注目画素以前の画素の対象ビット桁において同じ値が所定数（例えば５つ以上）連続しているか否かを判別する。この同じ値の連続数は適宜設定可能とする。図１４（ａ）の場合、注目画素以前の画素の対象ビット桁において‘０’が５つ連続している（図１４（ａ）の網掛け部分）。従って、画像圧縮復号部１７は第１誤差と第２誤差の差を求める。そして、画像圧縮復号部１７は第１誤差と第２誤差の差が設定範囲内であるか否かを判別して、第１誤差と第２誤差の差が設定範囲内であるときは注目画素の対象ビット桁の値はそのままとし、第１誤差と第２誤差の差が設定範囲外のときは注目画素の対象ビット桁の値を第１の実施例に記載した方法に従って調整する。例えば、設定範囲を−６≦ｘ≦＋６（ｘは第１誤差と第２誤差の差）と設定したとき、上記の場合、
第１誤差−第２誤差＝７−９＝−２
となり、第１誤差と第２誤差の差は設定範囲内である。従って、画像圧縮復号部１７は注目画素の対象ビット桁の値をそのままとする。図１４（ｂ）は、ビット丸め処理後の注目画素とその周辺画素の値を示した図である。
【００５７】
次に、別の例について図１５を用いて説明する。図１５（ａ）は元の注目画素とその周辺画素の値を示した図であり、前画素＝１１００１１１１Ｂ、注目画素＝１０００１１００Ｂ、後画素＝１１０１１０００Ｂである。
【００５８】
最初に、画像圧縮復号部１７は、
注目画素の対象ビット桁の値はそのままで下位ビットを全て‘０’にした値Ａ
＝１０００００００Ｂ＝１２８Ｄ
注目画素の対象ビット桁を‘０’から‘１’に変更して下位ビットを全て‘０’にした値Ｂ＝１００１００００Ｂ＝１４４Ｄ
の各値を得る。そして、画像圧縮復号部１７は、注目画素の値と値Ａの差の絶対値（第１誤差）と、注目画素の値と値Ｂの差の絶対値（第２誤差）を算出する。つまり、注目画素＝１０００１１００Ｂ＝１４０Ｄであるため、
第１誤差＝｜１４０−１２８｜＝１２
第２誤差＝｜１４０−１４４｜＝４
となる。
【００５９】
続いて、画像圧縮復号部１７は注目画素以前の画素の対象ビット桁において同じ値が５つ以上連続しているか否かを判別する。図１５（ａ）の場合、注目画素以前の画素の対象ビット桁において‘０’が５つ連続している（図１５（ａ）の網掛け部分）。従って、画像圧縮復号部１７は第１誤差と第２誤差の差を求める。
【００６０】
第１誤差−第２誤差＝１２−４＝８
となり、第１誤差と第２誤差の差は設定範囲外であるため、画像圧縮復号部１７は第１の実施例に記載した方法に従って注目画素の対象ビット桁の値を変更するか否かを判断する。上記の場合、第１誤差と第２誤差の差が＋８であるため、第１誤差より第２誤差が小さい。従って、画像圧縮復号部１７は対象ビット桁を変更する。図１５（ｂ）は、ビット丸め処理後の注目画素とその周辺画素の値を示した図である。
【００６１】
更に、別の例について図１６を用いて説明する。図１６（ａ）は元の注目画素とその周辺画素の値を示した図であり、前画素＝１１００１１１１Ｂ、注目画素＝１０００００１１Ｂ、後画素＝１１０１１０００Ｂである。
【００６２】
最初に、画像圧縮復号部１７は、
注目画素の対象ビット桁の値はそのままで下位ビットを全て‘０’にした値Ａ
＝１０００００００Ｂ＝１２８Ｄ
注目画素の対象ビット桁を‘０’から‘１’に変更して下位ビットを全て‘０’にした値Ｂ＝１００１００００Ｂ＝１４４Ｄ
の各値を得る。そして、画像圧縮復号部１７は、注目画素の値と値Ａの差の絶対値（第１誤差）と、注目画素の値と値Ｂの差の絶対値（第２誤差）を算出する。つまり、注目画素＝１０００００１１Ｂ＝１３１Ｄであるため、
第１誤差＝｜１３１−１２８｜＝３
第２誤差＝｜１３１−１４４｜＝１３
となる。
【００６３】
次に、画像圧縮復号部１７は注目画素以前の画素の対象ビット桁において同じ値が５つ以上連続しているか否かを判別する。図１６（ａ）の場合、注目画素以前の画素の対象ビット桁において‘０’が５つ連続している（図１６（ａ）の網掛け部分）。従って、画像圧縮復号部１７は第１誤差と第２誤差の差を求める。
【００６４】
第１誤差−第２誤差＝３−１３＝−１０
となり、第１誤差と第２誤差の差は設定範囲外であるため、画像圧縮復号部１７は第１の実施例に記載した方法に従って注目画素の対象ビット桁の値を変更するか否かを判断する。上記の場合、第１誤差と第２誤差の差が−１０であるため、第２誤差より第１誤差が小さい。従って、画像圧縮復号部１７は対象ビット桁をそのままとする。図１６（ｂ）は、ビット丸め処理後の注目画素とその周辺画素の値を示した図である。
【００６５】
このように、本実施例では注目画素以前の画素の対象ビット桁の値の連続性を優先して対象ビット桁の値の調整をするため、第１誤差より第２誤差の方が小さくても（つまり、注目画素の対象ビット桁を変更した方が注目画素の値の変化量が小さくても）第１誤差と第２誤差の差が設定範囲内であれば注目画素の対象ビット桁の値をそのままとする。第１誤差と第２誤差の差が設定範囲外であれば、復号後の画質保持を優先するために、注目画素の対象ビット桁の値を第１の実施例に従って調整する。
【００６６】
図１７及び１８は、本実施例における注目画素のビット丸め処理の流れを示したフローチャートである。まず、画像圧縮復号部１７は、コードブロックの注目画素、注目画素の前画素及び後画素の対象ビット桁の各値を比較する。注目画素、注目画素の前画素及び後画素の対象ビット桁の各値が全て同じである場合（ステップＳ１１；ＹＥＳ）、画像圧縮復号部１７はステップＳ２１へ処理を移行する。
【００６７】
前画素、注目画素及び後画素の対象ビット桁の各値が全て同じでなく（ステップＳ１１；ＮＯ）、前画素及び後画素の対象ビット桁の各値が同じである場合、即ち、注目画素の対象ビット桁の値のみが異なる場合（ステップＳ１２；ＹＥＳ）、前画素の対象ビット桁の値が‘０’であれば（ステップＳ１３；‘０’）、画像圧縮復号部１７は注目画素の対象ビット桁の値を‘１’から‘０’に変更する（ステップＳ１４）。前画素の対象ビット桁の値が‘１’であれば（ステップＳ１３；‘１’）、画像圧縮復号部１７は注目画素の対象ビット桁の値を‘０’から‘１’に変更する（ステップＳ１４）。そして画像圧縮復号部１７はステップＳ２１へ処理を移行する。
【００６８】
一方、前画素、注目画素及び後画素の対象ビット桁の各値が全て同じでなく（ステップＳ１１；ＮＯ）、前画素及び後画素の対象ビット桁の各値が異なる場合（ステップＳ１２；ＮＯ）、画像圧縮復号部１７は、注目画素の対象ビット桁の値はそのままで下位ビットを全て‘０’又は‘１’にした値Ａと注目画素の対象ビット桁の値を変更して下位ビットを全て‘０’又は‘１’にした値Ｂを生成する（ステップＳ１６）。続いて、画像圧縮復号部１７は、注目画素と値Ａの差の絶対値である第１誤差と、注目画素と値Ｂの差の絶対値である第２誤差を算出する（ステップＳ１７）。
【００６９】
そして、画像圧縮復号部１７は、注目画素以前の画素の対象ビット桁において、同じ値が所定数以上続いているか否かを判断する（ステップＳ３１）。同じ値が所定数以上続いている場合（ステップＳ３１；ＹＥＳ）、画像圧縮復号部１７は第１誤差と第２誤差の差を算出し、その差が設定範囲内であるか否か判断する（ステップＳ３２）。第１誤差と第２誤差の差が設定範囲内である場合（ステップＳ３２；ＹＥＳ）、画像圧縮復号部１７は注目画素の対象ビット桁の値をそのままとする（ステップＳ１９）。第１誤差と第２誤差の差が設定範囲外であって（ステップＳ３２；ＮＯ）、０以下である場合（ステップＳ１８；ＹＥＳ）、画像圧縮復号部１７は注目画素の対象ビット桁の値をそのままとする（ステップＳ１９）。第１誤差と第２誤差の差が設定範囲外であって（ステップＳ３２；ＮＯ）、０より大きい場合（ステップＳ１８；ＮＯ）、画像圧縮復号部１７は注目画素の対象ビット桁の値を変更する（ステップＳ２０）。
【００７０】
また、注目画素以前の画素の対象ビット桁において同じ値が所定数以上続いていない場合（ステップＳ３１；ＮＯ）、画像圧縮復号部１７はステップＳ１８へ処理を移行する。
【００７１】
続いて、画像圧縮復号部１７は、注目画素の対象ビット桁より下位のビットを全て‘０’又は‘１’に変更する（ステップＳ２１）。ここで、下位ビットを全て‘０’にする場合、画像圧縮復号部１７はステップＳ１６において下位ビットを全て‘０’にしたときの値Ａ及び値Ｂを生成する。また、下位ビットを全て‘１’にする場合、画像圧縮復号部１７はステップＳ１６において下位ビットを全て‘１’にしたときの値Ａ及び値Ｂを生成する。
【００７２】
そして、コードブロックの全ての画素についてビット丸め処理を行っていない場合（ステップＳ２２；ＮＯ）、画像圧縮復号部１７は注目画素を移動させて（ステップＳ２３）、ステップＳ１１へ処理を移行する。コードブロックの全ての画素のビット丸め処理が終了した場合（ステップＳ２２；ＮＯ）、画像圧縮復号部１７は処理を終了する。そして、画像圧縮復号部１７は、ビット丸め処理の終了後に算術符号化を行う。
【００７３】
以上、説明したように、画像圧縮復号部１７は、注目画素の対象ビット桁をそのままで下位ビットを全て‘０’又は‘１’にした値Ａと、対象ビット桁を変更して下位ビットを全て‘０’又は‘１’にした値Ｂを算出して、注目画素の値と値Ａの差の絶対値（第１誤差）と注目画素の値と値Ｂの差の絶対値（第２誤差）をそれぞれ算出し、注目画素以前の画素の対象ビット桁において同じ値が所定数以上続いており、第１誤差と第２誤差の差が設定範囲内である場合は注目画素の対象ビット桁をそのままとすることで、値の連続性を優先させて符号化効率を向上させることができる。一方、第１誤差と第２誤差の差が設定範囲外のときは注目画素の対象ビット桁の値を変更することによって、注目画素のビット変更前後の値変化を最小限に抑えつつ（復号後の画質劣化を抑えつつ）、網点画像のような隣接する画素間の濃度差が大きい画像においても符号化効率を向上させることができる。
【００７４】
＜第３の実施例＞
本実施例では、コードブロックの注目画素の前後の各画素における対象ビット桁の各値が異なり、ビット丸め処理において下位ビットを全て‘０’にする場合、注目画素の対象ビット桁より下位ビットの値が閾値以上のときは注目画素の対象ビット桁の値を‘１’とし、閾値より小さいときは注目画素の対象ビット桁の値をそのままとし、下位ビットを全て‘１’にする場合、注目画素の対象ビット桁より下位ビットの値が閾値以下のときは注目画素の対象ビット桁の値を‘０’とし、閾値より大きいときは注目画素の対象ビット桁の値をそのままとする場合について説明する。
【００７５】
まず、画像圧縮復号部１７は注目画素と前画素及び後画素の対象ビット桁の各値を比較して、図１０に示した表に従って、注目画素の対象ビット桁の値を調整する。このうち、前画素と後画素の対象ビット桁の値が異なる場合、画像圧縮復号部１７は、注目画素の対象ビット桁より下位ビットの値に応じて注目画素の対象ビット桁の値を調整する。
【００７６】
図１９を用いて説明する。図１９（ａ）は注目画素とその周辺画素の値を示した図であり、前画素＝１１００１１１１Ｂ、注目画素＝１００００１１１Ｂ、後画素＝１１０１１０００Ｂである。まず、画像圧縮復号部１７は注目画素の対象ビット桁の下位ビットの値を取得する。図１９（ａ）の場合、下位ビット＝０１１１Ｂ＝７Ｄである。そして例えば閾値＝６とした場合、下位ビットの値は閾値以上であるため、画像圧縮復号部１７は注目画素の対象ビット桁の値を‘１’とする。
【００７７】
別の例について、図２０を用いて説明する。図２０（ａ）の場合、下位ビット＝０１００Ｂ＝４Ｄである。下位ビットの値は閾値＝６より小さいため、画像圧縮復号部１７は注目画素の対象ビット桁の値をそのまま（‘０’のまま）とする。
【００７８】
つまり、ビット丸め処理において下位ビットを全て‘０’にする場合、下位ビットの値が閾値以上であれば対象ビット桁の値を‘１’とすることで、対象ビット桁の元値が‘０’である場合は下位ビットの値の切り上げが行われることになり、閾値より小さい場合は対象ビット桁の値をそのままとして下位ビットが全て‘０’となることで、下位ビットの値は切り捨てられることとなる。
【００７９】
逆に、ビット丸め処理において下位ビットを全て‘１’にする場合、下位ビットの値が閾値以下であれば対象ビット桁の値を‘０’とすることで、対象ビット桁の元値が‘１’の場合は、下位ビットを全て‘１’となる代わりに対象ビット桁の値が‘１’から‘０’に切り捨てられることになる。一方、下位ビットの値が閾値より大きい場合は対象ビット桁をそのままとして下位ビットを全て‘１’とする。
【００８０】
図２１は、本実施例における注目画素のビット丸め処理の流れを示したフローチャートである。まず、画像圧縮復号部１７は、コードブロックの注目画素、注目画素の前画素及び後画素の対象ビット桁の各値を比較する。注目画素、注目画素の前画素及び後画素の対象ビット桁の各値が全て同じである場合（ステップＳ１１；ＹＥＳ）、画像圧縮復号部１７はステップＳ２１へ処理を移行する。
【００８１】
前画素、注目画素及び後画素の対象ビット桁の各値が全て同じでなく（ステップＳ１１；ＮＯ）、前画素及び後画素の対象ビット桁の各値が同じである場合、即ち、注目画素の対象ビット桁の値のみが異なる場合（ステップＳ１２；ＹＥＳ）、前画素の対象ビット桁の値が‘０’であれば（ステップＳ１３；‘０’）、画像圧縮復号部１７は注目画素の対象ビット桁の値を‘１’から‘０’に変更する（ステップＳ１４）。前画素の対象ビット桁の値が‘１’であれば（ステップＳ１３；‘１’）、画像圧縮復号部１７は注目画素の対象ビット桁の値を‘０’から‘１’に変更する（ステップＳ１４）。そして画像圧縮復号部１７はステップＳ２１へ処理を移行する。
【００８２】
一方、前画素、注目画素及び後画素の対象ビット桁の各値が全て同じでなく（ステップＳ１１；ＮＯ）、前画素及び後画素の対象ビット桁の各値が異なる場合（ステップＳ１２；ＮＯ）、画像圧縮復号部１７は、注目画素の対象ビット桁より下位ビットの値を取得する（ステップＳ４１）。そしてステップＳ２１において下位ビットを全て‘０’にする場合であって（ステップＳ４２；ＹＥＳ）、下位ビットの値が閾値以上である場合（ステップＳ４３；ＹＥＳ）、画像圧縮復号部１７は注目画素の対象ビット桁の値を‘１’にする（ステップＳ４４）。一方、ステップＳ２１において下位ビットを全て‘０’にする場合であって（ステップＳ４２；ＹＥＳ）、下位ビットの値が閾値より小さい場合は（ステップＳ４３；ＮＯ）、画像圧縮復号部１７は注目画素の対象ビット桁の値をそのままとする（ステップＳ４４）。
【００８３】
逆に、ステップＳ２１において下位ビットを全て‘１’にする場合であって（ステップＳ４２；ＮＯ）、下位ビットの値が閾値以下である場合（ステップＳ４６；ＹＥＳ）、画像圧縮復号部１７は注目画素の対象ビット桁の値を‘０’にする（ステップＳ４７）。一方、ステップＳ２１において下位ビットを全て‘０’にする場合であって（ステップＳ４２；ＮＯ）、下位ビットの値が閾値より大きい場合は（ステップＳ４６；ＮＯ）、画像圧縮復号部１７は注目画素の対象ビット桁の値をそのままとする（ステップＳ４８）。
【００８４】
次に、画像圧縮復号部１７は、注目画素の対象ビット桁より下位のビットを全て‘０’又は‘１’に変更する（ステップＳ２１）。そして、コードブロックの全ての画素についてビット丸め処理を行っていない場合（ステップＳ２２；ＮＯ）、画像圧縮復号部１７は注目画素を移動させて（ステップＳ２３）、ステップＳ１１へ処理を移行する。コードブロックの全ての画素のビット丸め処理が終了した場合（ステップＳ２２；ＮＯ）、画像圧縮復号部１７は処理を終了する。尚、画像圧縮復号部１７は、図１３に示すフローチャートの処理を全てのタイルの全てのコードブロックに対して行った後、算術符号化を行う。
【００８５】
以上、説明したように、画像圧縮復号部１７は、ビット丸め処理において下位ビットを全て‘０’とする場合であって注目画素の対象ビット桁より下位ビットの値が閾値以上のときは対象ビットの値を‘１’として、閾値より小さいときは対象ビット桁の値をそのままとして、ビット丸め処理において下位ビットを全て‘１’とする場合であって注目画素の対象ビット桁より下位ビットの値が閾値以下のときは対象ビットの値を‘０’とし、閾値より大きいときは対象ビット桁の値をそのままとすることで、注目画素のビット変更前後の値変化をできるだけ抑えつつ（復号後の画質劣化を抑えつつ）、網点画像のような隣接する画素間の濃度差が大きい画像においても符号化効率を向上させることができる。
【符号の説明】
【００８６】
１      画像圧縮装置
１１    制御部
１２    記憶部
１２１  画像圧縮プログラム
１３    入力操作部
１４    表示部
１５    Ｉ／Ｆ部
１６    ネットワークＩ／Ｆ部
１７    画像圧縮復号部（変換手段、分割手段、ウェーブレット変換手段、量子化手段、分解手段、展開手段、ビット丸め手段、符号化手段）
【図１】
2011077760.tif 000003
【図２】
2011077760.tif 000004
【図３】
2011077760.tif 000005
【図４】
2011077760.tif 000006
【図５】
2011077760.tif 000007
【図６】
2011077760.tif 000008
【図７】
2011077760.tif 000009
【図８】
2011077760.tif 000010
【図９】
2011077760.tif 000011
【図１０】
2011077760.tif 000012
【図１１】
2011077760.tif 000013
【図１２】
2011077760.tif 000014
【図１３】
2011077760.tif 000015
【図１４】
2011077760.tif 000016
【図１５】
2011077760.tif 000017
【図１６】
2011077760.tif 000018
【図１７】
2011077760.tif 000019
【図１８】
2011077760.tif 000020
【図１９】
2011077760.tif 000021
【図２０】
2011077760.tif 000022
【図２１】
2011077760.tif 000023