(57)【要約】【課題】  様々な解像度の高解像度画像データに対して、回路規模を抑えつつ画像圧縮させる。【解決手段】  第１の画像データを記憶する画像記憶手段から、所望の解像度に間引いた第２画像データを取得する。第２画像データを２×２画素ごとのブロックに分割したときの配置パターンに基づいて、第２画像の解像度の１／２倍の解像度に間引いた画像と組み合わせた場合に第２画像を復元可能な補完情報を生成する補完情報生成手段を設ける。更に、１／（２＾Ｍ）倍の解像度の画像データを第１圧縮方式で圧縮する。また１／（２＾Ｎ）倍の解像度の画像データを第２圧縮方式で圧縮する。１／（２＾Ｔ）倍の解像度（Ｔ＝０，…，Ｎ−１）の画像データそれぞれに対して補完情報生成手段で補完情報を生成させる。各データサイズに基づいて、補完情報と第１の圧縮データとの組合せを出力させるか、補完情報と第２の圧縮データとの組合せを出力させるかを判定する。【選択図】図１
2012109744.tif 000002
【特許請求の範囲】
【請求項１】
第１の画像データを記憶する画像記憶手段と、
前記第１の画像データの解像度に対して１／（２＾Ｔ）倍の解像度を有する画像を要求された場合（ここで、Ｔ＝０，１，２，…，Ｎの整数とする）、前記画像記憶手段から前記第１の画像データの解像度に対して１／（２＾Ｔ）倍の解像度になるように間引いた場合の画素データを取得して、当該取得した画素データを第２の画像データとして出力する解像度変換手段と、
前記解像度変換手段から出力される前記第２の画像データを２×２画素ごとのブロックに分割し、当該分割した各ブロックにおける画素値の配置パターンに基づいて、当該第２の画像データの解像度の１／２倍の解像度に間引いた画像と組み合わせることで前記第２の画像を復元することができる補完情報を生成する補完情報生成手段と、
前記第１の画像データの解像度に対して１／（２＾Ｍ）倍の解像度（ここで、Ｍ＜Ｎとする）になるように間引いた場合の画素データで構成される前記第２の画像データを、第１の圧縮方式で圧縮することにより、第１の圧縮データを生成する第１圧縮手段と、
前記第１の画像データの解像度に対して１／（２＾Ｎ）倍の解像度になるように間引いた場合の画素データで構成される前記第２の画像データを、第２の圧縮方式で圧縮することにより、第２の圧縮データを生成する第２圧縮手段と、
前記補完情報生成手段で生成された前記補完情報と、前記第１圧縮手段で生成された前記第１の圧縮データと、前記第２圧縮手段で生成された前記第２の圧縮データとを記憶する符号記憶手段と、
前記解像度変換手段から出力される前記１／（２＾Ｔ）倍の解像度になるように間引いた画素データで構成される前記第２の画像データ（Ｔ＝０，１，２，…，Ｎ−１）それぞれに対して前記補完情報生成手段で補完情報を生成させ、前記符号記憶手段に記憶された各解像度における補完情報のデータサイズと前記第１の圧縮データのデータサイズと前記第２の圧縮データのデータサイズとの少なくともいずれかに基づいて、前記１／（２＾Ｔ）倍（Ｔ＝０，１，２，…，Ｍ−１）の解像度の第２の画像データそれぞれに対して生成された補完情報と前記第１の圧縮データとの組み合わせを前記符号記憶手段から出力させるか、前記１／（２＾Ｔ）倍（Ｔ＝０，１，２，…，Ｎ−１）の解像度の第２の画像データそれぞれに対して生成された補完情報と前記第２の圧縮データとの組み合わせを前記符号記憶手段から出力させるかを判定し、当該出力させると判定した方の組み合わせを前記符号記憶手段から出力させるように制御する制御手段と、
を有することを特徴とする画像圧縮装置。
【請求項２】
前記制御手段は、前記１／（２＾Ｔ）倍（Ｔ＝Ｍ，…，Ｎ−１）の解像度の第２の画像データそれぞれに対して生成された補完情報のデータサイズと前記第２の圧縮データのデータサイズとの合計が、前記第１の圧縮データのデータサイズ以上である場合は、前記１／（２＾Ｔ）倍（Ｔ＝０，１，２，…，Ｍ−１）の解像度の第２の画像データそれぞれに対して生成された補完情報と前記第１の圧縮データとの組み合わせを前記符号記憶手段から出力させ、前記合計が前記第１の圧縮データのデータサイズより小さい場合は、前記１／（２＾Ｔ）倍（Ｔ＝０，１，２，…，Ｎ−１）の解像度の第２の画像データそれぞれに対して生成された補完情報と前記第２の圧縮データとの組み合わせを前記符号記憶手段から出力させるように制御することを特徴とする請求項１に記載の画像圧縮装置。
【請求項３】
前記制御手段は、前記１／（２＾Ｍ）倍の解像度になるように間引いた画素データで構成される前記第２の画像データに対して前記補完情報生成手段で生成された補完情報のデータサイズが、前記第１の圧縮手段で生成された前記第１の圧縮データのデータサイズ以上であると判定した場合は、前記第２圧縮手段で前記第２の圧縮データを生成させることなく、前記１／（２＾Ｔ）倍（Ｔ＝０，１，２，…，Ｍ−１）の解像度の第２の画像データそれぞれに対して生成された補完情報と前記第１の圧縮データとの組み合わせを前記符号記憶手段から出力させることを特徴とする請求項１または２に記載の画像圧縮装置。
【請求項４】
前記補完情報生成手段を複数有し、前記複数の補完情報生成手段それぞれに対して異なる解像度の画像データに対する補完情報の生成を行わせることを特徴とする請求項１乃至３のいずれか１項に記載の画像圧縮装置。
【請求項５】
前記補完情報生成手段は、前記２×２画素のブロックにおける画素値の配置パターンと、前記２×２画素のブロックにおける基準画素の画素値と異なる画素値とを、前記補完情報として生成することを特徴とする請求項１乃至４のいずれか１項に記載の画像圧縮装置。
【請求項６】
前記配置パターンは、前記基準画素と異なる画素値を有する画素の配置を示すパターンであり、前記基準画素の画素値と異なる画素値は全て個別に出力されることを特徴とする請求項５に記載の画像圧縮装置。
【請求項７】
前記配置パターンは、前記２×２画素のブロックにおける色数と各色の配置とを示すパターンであり、前記基準画素の画素値と異なる画素値は色数分出力されることを特徴とする請求項５に記載の画像圧縮装置。
【請求項８】
前記制御手段は、前記第２の圧縮データのデータサイズが所定の閾値より小さいか否か判定し、小さいと判定した場合は、前記１／（２＾Ｔ）倍（Ｔ＝０，１，２，…，Ｎ−１）の解像度の第２の画像データそれぞれに対して生成された補完情報と前記第２の圧縮データとの組み合わせを前記符号記憶手段から出力させ、小さくないと判定した場合は、前記１／（２＾Ｔ）倍（Ｔ＝０，１，２，…，Ｍ−１）の解像度の第２の画像データそれぞれに対して生成された補完情報と前記第１の圧縮データとの組み合わせを前記符号記憶手段から出力させることを特徴とする請求項１に記載の画像圧縮装置。
【請求項９】
前記第１の圧縮方式は非可逆圧縮であり、前記第２の圧縮方式は可逆圧縮であることを特徴とする請求項１乃至８のいずれか１項に記載の画像圧縮装置。
【請求項１０】
前記ＭおよびＮは、前記第１の画像データの解像度に基づいて設定することを特徴とする請求項１乃至９のいずれか１項に記載の画像圧縮装置。
【請求項１１】
第１の画像データを記憶する画像記憶手段と、
前記第１の画像データの解像度に対して１／（２＾Ｔ）倍の解像度を有する画像を要求された場合（ここで、Ｔ＝０，１，２，…，Ｍの整数とする）、前記画像記憶手段から前記第１の画像データの解像度に対して１／（２＾Ｔ）倍の解像度になるように間引いた場合の画素データを取得して、当該取得した画素データを第２の画像データとして出力する解像度変換手段と、
前記解像度変換手段から出力される前記第２の画像データを２×２画素ごとのブロックに分割し、当該分割した各ブロックにおける画素値の配置パターンに基づいて、当該第２の画像データの解像度の１／２倍の解像度に間引いた画像と組み合わせることで前記第２の画像を復元することができる補完情報を生成する補完情報生成手段と、
前記第１の画像データの解像度に対して１／（２＾Ｍ）倍の解像度（ここで、Ｍ＜Ｎとする）になるように間引いた場合の画素データで構成される前記第２の画像データを、予め指定された圧縮方式で圧縮することにより、圧縮データを生成する圧縮手段と、
前記補完情報生成手段で生成された前記補完情報と、前記圧縮手段で生成された前記圧縮データとを記憶する符号記憶手段と、
前記解像度変換手段から出力される前記１／（２＾Ｔ）倍の解像度になるように間引いた画素データで構成される前記第２の画像データ（Ｔ＝０，１，２，…，Ｍ−１）それぞれに対して前記補完情報生成手段で補完情報を生成させ、前記１／（２＾Ｔ）倍（Ｔ＝０，１，２，…，Ｍ−１）の解像度の第２の画像データそれぞれに対して生成された補完情報と前記圧縮データとの組み合わせを前記符号記憶手段から出力させるように制御する制御手段と、
を有することを特徴とする画像圧縮装置。
【請求項１２】
第１の画像データを記憶する画像記憶手段と、解像度変換手段と、補完情報生成手段と、第１圧縮手段と、第２圧縮手段と、前記補完情報生成手段で生成される補完情報および前記第１圧縮手段で生成される第１の圧縮データおよび前記第２圧縮手段で生成される第２の圧縮データを記憶する符号記憶手段と、制御手段と、を有する画像圧縮装置が実行する画像圧縮方法であって、
前記解像度変換手段が、前記第１の画像データの解像度に対して１／（２＾Ｔ）倍の解像度を有する画像を要求された場合（ここで、Ｔ＝０，１，２，…，Ｎの整数とする）、前記画像記憶手段から前記第１の画像データの解像度に対して１／（２＾Ｔ）倍の解像度になるように間引いた場合の画素データを取得して、当該取得した画素データを第２の画像データとして出力する解像度変換工程と、
前記補完情報生成手段が、前記解像度変換工程で出力される前記第２の画像データを２×２画素ごとのブロックに分割し、当該分割した各ブロックにおける画素値の配置パターンに基づいて、当該第２の画像データの解像度の１／２倍の解像度に間引いた画像と組み合わせることで前記第２の画像を復元することができる前記補完情報を生成し、前記符号記憶手段に記憶させる補完情報生成工程と、
前記第１圧縮手段が、前記第１の画像データの解像度に対して１／（２＾Ｍ）倍の解像度（ここで、Ｍ＜Ｎとする）になるように間引いた場合の画素データで構成される前記第２の画像データを、第１の圧縮方式で圧縮することにより、前記第１の圧縮データを生成し、前記符号記憶手段に記憶させる第１圧縮工程と、
前記第２圧縮手段が、前記第１の画像データの解像度に対して１／（２＾Ｎ）倍の解像度になるように間引いた場合の画素データで構成される前記第２の画像データを、第２の圧縮方式で圧縮することにより、前記第２の圧縮データを生成し、前記符号記憶手段に記憶させる第２圧縮工程と、
前記補完情報生成手段で生成された前記補完情報と、前記第１圧縮手段で生成された前記第１の圧縮データと、前記第２圧縮手段で生成された前記第２の圧縮データとを記憶する符号記憶手段と、
前記制御手段が、前記解像度変換工程で出力される前記１／（２＾Ｔ）倍の解像度になるように間引いた画素データで構成される前記第２の画像データ（Ｔ＝０，１，２，…，Ｎ−１）それぞれに対して前記補完情報生成手段で補完情報を生成させ、前記符号記憶手段に記憶された各解像度における補完情報のデータサイズと前記第１の圧縮データのデータサイズと前記第２の圧縮データのデータサイズとの少なくともいずれかに基づいて、前記１／（２＾Ｔ）倍（Ｔ＝０，１，２，…，Ｍ−１）の解像度の第２の画像データそれぞれに対して生成された補完情報と前記第１の圧縮データとの組み合わせを前記符号記憶手段から出力させるか、前記１／（２＾Ｔ）倍（Ｔ＝０，１，２，…，Ｎ−１）の解像度の第２の画像データそれぞれに対して生成された補完情報と前記第２の圧縮データとの組み合わせを前記符号記憶手段から出力させるかを判定し、当該出力させると判定した方の組み合わせを前記符号記憶手段から出力させるように制御する制御工程と、
を有することを特徴とする画像圧縮方法。
【請求項１３】
コンピュータを、
画像記憶手段に記憶された第１の画像データの解像度に対して１／（２＾Ｔ）倍の解像度を有する画像を要求された場合（ここで、Ｔ＝０，１，２，…，Ｎの整数とする）、前記画像記憶手段から前記第１の画像データの解像度に対して１／（２＾Ｔ）倍の解像度になるように間引いた場合の画素データを取得して、当該取得した画素データを第２の画像データとして出力する解像度変換手段、
前記解像度変換手段から出力される前記第２の画像データを２×２画素ごとのブロックに分割し、当該分割した各ブロックにおける画素値の配置パターンに基づいて、当該第２の画像データの解像度の１／２倍の解像度に間引いた画像と組み合わせることで前記第２の画像を復元することができる補完情報を生成し、当該生成した補完情報を符号記憶手段に記憶させる補完情報生成手段、
前記第１の画像データの解像度に対して１／（２＾Ｍ）倍の解像度（ここで、Ｍ＜Ｎとする）になるように間引いた場合の画素データで構成される前記第２の画像データを、第１の圧縮方式で圧縮することにより、第１の圧縮データを生成して前記符号記憶手段に記憶させる第１圧縮手段、
前記第１の画像データの解像度に対して１／（２＾Ｎ）倍の解像度になるように間引いた場合の画素データで構成される前記第２の画像データを、第２の圧縮方式で圧縮することにより、第２の圧縮データを生成して前記符号記憶手段に記憶させる第２圧縮手段、
前記解像度変換手段から出力される前記１／（２＾Ｔ）倍の解像度になるように間引いた画素データで構成される前記第２の画像データ（Ｔ＝０，１，２，…，Ｎ−１）それぞれに対して前記補完情報生成手段で補完情報を生成させ、前記符号記憶手段に記憶された各解像度における補完情報のデータサイズと前記第１の圧縮データのデータサイズと前記第２の圧縮データのデータサイズとの少なくともいずれかに基づいて、前記１／（２＾Ｔ）倍（Ｔ＝０，１，２，…，Ｍ−１）の解像度の第２の画像データそれぞれに対して生成された補完情報と前記第１の圧縮データとの組み合わせを前記符号記憶手段から出力させるか、前記１／（２＾Ｔ）倍（Ｔ＝０，１，２，…，Ｎ−１）の解像度の第２の画像データそれぞれに対して生成された補完情報と前記第２の圧縮データとの組み合わせを前記符号記憶手段から出力させるかを判定し、当該出力させると判定した方の組み合わせを前記符号記憶手段から出力させるように制御する制御手段、
として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを圧縮する画像圧縮装置に関するものである。
【背景技術】
【０００２】
コピーやプリンタ等の文書画像を扱う装置においては、文書画像を画像圧縮装置によって画像圧縮して記憶や転送を行うものがある。
【０００３】
近年、文書画像を扱うスキャナ装置やプリンタ装置の技術向上に伴って、それらに接続される画像処理装置に含まれる画像圧縮装置が扱う画像データの解像度はより高いものが求められるようになってきている。同時に、従来通り低い解像度の画像データへの対応も継続して求められており、画像圧縮装置は様々な解像度の画像データへの対応が必要である。
【０００４】
また、画像圧縮による見た目の画質劣化の程度は、画像データの解像度によって異なるものである。そこで、画像圧縮による画質劣化の程度が画像データの解像度によって大きく異なることを抑えるために、解像度に応じて圧縮率を決めて圧縮する画像圧縮装置がある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０８−１４９２８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一方、画素数が多い高解像度の画像データに対応するために画像圧縮装置の回路規模が大きくなり、半導体製造コストの増加や消費電力増加を招いてしまう。
【課題を解決するための手段】
【０００７】
本発明の画像圧縮装置は、第１の画像データを記憶する画像記憶手段と、前記第１の画像データの解像度に対して１／（２＾Ｔ）倍の解像度を有する画像を要求された場合（ここで、Ｔ＝０，１，２，…，Ｎの整数とする）、前記画像記憶手段から前記第１の画像データの解像度に対して１／（２＾Ｔ）倍の解像度になるように間引いた場合の画素データを取得して、当該取得した画素データを第２の画像データとして出力する解像度変換手段と、前記解像度変換手段から出力される前記第２の画像データを２×２画素ごとのブロックに分割し、当該分割した各ブロックにおける画素値の配置パターンに基づいて、当該第２の画像データの解像度の１／２倍の解像度に間引いた画像と組み合わせることで前記第２の画像を復元することができる補完情報を生成する補完情報生成手段と、前記第１の画像データの解像度に対して１／（２＾Ｍ）倍の解像度（ここで、Ｍ＜Ｎとする）になるように間引いた場合の画素データで構成される前記第２の画像データを、第１の圧縮方式で圧縮することにより、第１の圧縮データを生成する第１圧縮手段と、前記第１の画像データの解像度に対して１／（２＾Ｎ）倍の解像度になるように間引いた場合の画素データで構成される前記第２の画像データを、第２の圧縮方式で圧縮することにより、第２の圧縮データを生成する第２圧縮手段と、前記補完情報生成手段で生成された前記補完情報と、前記第１圧縮手段で生成された前記第１の圧縮データと、前記第２圧縮手段で生成された前記第２の圧縮データとを記憶する符号記憶手段と、前記解像度変換手段から出力される前記１／（２＾Ｔ）倍の解像度になるように間引いた画素データで構成される前記第２の画像データ（Ｔ＝０，１，２，…，Ｎ−１）それぞれに対して前記補完情報生成手段で補完情報を生成させ、前記符号記憶手段に記憶された各解像度における補完情報のデータサイズと前記第１の圧縮データのデータサイズと前記第２の圧縮データのデータサイズとの少なくともいずれかに基づいて、前記１／（２＾Ｔ）倍（Ｔ＝０，１，２，…，Ｍ−１）の解像度の第２の画像データそれぞれに対して生成された補完情報と前記第１の圧縮データとの組み合わせを前記符号記憶手段から出力させるか、前記１／（２＾Ｔ）倍（Ｔ＝０，１，２，…，Ｎ−１）の解像度の第２の画像データそれぞれに対して生成された補完情報と前記第２の圧縮データとの組み合わせを前記符号記憶手段から出力させるかを判定し、当該出力させると判定した方の組み合わせを前記符号記憶手段から出力させるように制御する制御手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、様々な解像度の高解像度画像データを画像圧縮する画像圧縮装置を、回路規模の増加を抑えることができる。
【図面の簡単な説明】
【０００９】
【図１】画像圧縮装置のブロック図。
【図２】解像度２４００ｄｐｉの縦３２画素、横３２画素からなる画像データの模式図。
【図３】単純間引き方式による縮小画像処理の説明図。
【図４】解像度１２００ｄｐｉの縦１６画素、横１６画素からなる画像データの模式図。
【図５】解像度６００ｄｐｉの縦８画素、横８画素からなる画像データの模式図。
【図６】補完情報を生成するときに使用する配置パターンの一覧。
【図７】図２（Ａ）で示した画像データを入力として補完情報生成手段１０３が生成する補完情報の模式図。
【図８】図４（Ａ）で示した画像データを入力として補完情報生成手段１０３が生成する補完情報の模式図。
【図９】制御手段１０７の動作フローを示すフローチャート。
【図１０】画像記憶手段１０１の動作フローを示すフローチャート。
【図１１】解像度変換手段１０２の動作フローを示すフローチャート。
【図１２】補完情報生成手段１０３、ＪＰＥＧ圧縮手段１０４、および、ＪＰＥＧ−ＬＳ圧縮手段１０５の動作フローを示すフローチャート。
【図１３】符号記憶装置１０６の動作フローを示すフローチャート。
【図１４】実施例２の画像圧縮装置のブロック図。
【図１５】解像度２４００ｄｐｉの縦３２画素、横３２画素からなる画像データの模式図。
【図１６】実施例３において、図１５で示した画像データを入力として補完情報生成手段１０３が生成する補完情報の模式図。
【図１７】実施例４の制御手段１０７の動作フローを示すフローチャート。
【図１８】実施例５において、補完情報を生成するときに使用する配置パターンの一覧。
【発明を実施するための形態】
【００１０】
［実施例１］
以下、本発明の実施例１について図面を用いて説明する。図１は、画像圧縮装置のブロック図である。制御手段１０７は、画像記憶手段１０１、解像度変換手段１０２、補完情報生成手段１０３、ＪＰＥＧ圧縮手段１０４、およびＪＰＥＧ−ＬＳ圧縮手段１０５の動作を制御して、画像圧縮装置１に入力される画像データを圧縮するように制御を行う。なお、本実施例において、図１の各手段は、ＡＳＩＣなどの電子回路（ハードウェア）で実現するものとするが、これに限るものではなく、その一部をコンピュータがプログラム（ソフトウェア）を実行することにより実現するようにしてもよい。
【００１１】
画像記憶手段１０１は、画像圧縮装置１に入力された画像データを内部に記憶し、当該記憶した画像データの解像度情報を制御手段１０７に対して送信する。また、画像記憶手段１０１は、解像度変換手段１０２からの指示に応じて、記憶している画像データを構成する画素データを、解像度変換手段１０２に対して転送する。
【００１２】
解像度変換手段１０２は、必要に応じて、画像記憶手段１０１に記憶された元の画像データから、解像度を下げた画像データを生成して出力する（なお、解像度変換せずに出力することも可能とする）。なお、解像度変換手段１０２は、補完情報生成手段１０３、ＪＰＥＧ圧縮手段１０４、および、ＪＰＥＧ−ＬＳ圧縮手段から送信される転送要求信号に応じて、該画像データを出力するものとする。このとき、解像度変換手段１０２は、所望の解像度の画像データを生成するのに必要な画素データを画像記憶手段１０１に対して指示して転送させる。
【００１３】
補完情報生成手段１０３は、解像度変換手段１０２から転送される画像データを受信して補完情報を生成し、符号記憶手段１０６に対して出力する。ここで補完情報とは、解像度変換した画像データと組み合わせて利用することで、画像データを元の解像度の画像データに復元するための情報である。また、補完情報生成手段１０３は、生成した補完情報のサイズ情報を制御手段１０７に対して送信する。
【００１４】
ＪＰＥＧ圧縮手段１０４は、解像度変換手段１０２から転送される画像データを受信してＪＰＥＧ符号に変換し、符号記憶手段１０６に対して出力する。また、ＪＰＥＧ圧縮手段１０４は、生成したＪＰＥＧ符号のサイズ情報を制御手段１０７に対して送信する。なお、本実施例において、ＪＰＥＧ圧縮手段１０４が実行するＪＰＥＧ符号化は、非可逆圧縮とする。
【００１５】
ＪＰＥＧ−ＬＳ圧縮手段１０５は、解像度変換手段１０２から転送される画像データを受信してＪＰＥＧ−ＬＳ符号に変換し、符号記憶手段１０６に対して出力する。また、ＪＰＥＧ−ＬＳ圧縮手段１０５は、生成したＪＰＥＧ−ＬＳ符号のサイズ情報を制御手段１０７に対して送信する。なお、本実施例において、ＪＰＥＧ−ＬＳ圧縮手段１０５が実行するＪＰＥＧ−ＬＳ符号化は、可逆圧縮とする。
【００１６】
符号記憶手段１０６は、補完情報生成手段１０３から送信される補完情報と、ＪＰＥＧ圧縮手段１０４、および、ＪＰＥＧ−ＬＳ圧縮手段１０５から送信される符号データを受信して記憶する。また、符号記憶手段１０６は、制御手段１０７の指示により、記憶した補完情報と符号データの全部または一部を外部に対して出力する。
【００１７】
図２は、解像度２４００ｄｐｉの縦３２画素、横３２画素からなる画像データの模式図の例である。各マスは画素を表していて、それぞれの画素は２４ｂｉｔカラーの情報を持つ。図２（Ａ）は、各画素の値が白黒のいずれかである画像の例であり、白い画素は値ＦＦＦＦＦＦｈを持ち、黒い画素は値００００００ｈを持っている。図２（Ｂ）は各画素の座標を表したもので、最も左の画素のＸ座標を０に、最も上の画素のＹ座標を０にした座標値を使い、各画素に座標を付けている。
【００１８】
図３は、単純間引き方式による縮小画像処理の説明図である。図３（Ａ）は縦３２画素、横３２画素からなる画像データを元画像として単純間引き方式で縮小するときに、間引かれる画素を白で、残る画素を黒で示した模式図である。すなわち、この間引き処理は、元画像を２×２画素サイズのブロックごとに分割し、その２×２画素ブロック内の右下の画素を残してその他の画素を削除したものに等しい。図３（Ｂ）は、図２（Ａ）で示した画像データを単純間引き方式によって縮小した結果、間引かれずに残る画素を白および黒の画素として示し、間引かれる画素部分を斜線で示した模式図である。これらの残る画素を使って構成した画像データが縮小画像データとなる。なお、この縮小画像処理は、解像度を半分にする解像度変換処理でもある。以降では縮小の度合いを表すために解像度の数値を使う。
【００１９】
図４は、解像度１２００ｄｐｉの縦１６画素、横１６画素からなる画像データの模式図である。図４（Ａ）は、図２（Ａ）で示した画像データを元画像として、単純間引き方式により解像度を半分にした画像データであり、各画素の値を白黒で表している。図４（Ｂ）は各画素の座標を表したもので、図２に示した画像の画素を単純間引きして残った画素の座標を付けている。
【００２０】
図５は、解像度６００ｄｐｉの縦８画素、横８画素からなる画像データの模式図である。図５（Ａ）は、図４（Ａ）で示した画像データを元画像として、単純間引き方式により解像度を半分にした画像データであり、各画素の値を白黒で表している。図５（Ｂ）は各画素の座標を表したもので、図４に示した画像の画素を単純間引きして残った画素の座標を付けている。
【００２１】
図６は、補完情報を生成するときに使用する、２×２画素サイズのブロックにおける色の配置パターンの一覧（計８個）である。各パターンの４つの画素の色は、画素値そのものではなく、基準となる右下の画素の値と等しいかどうかの条件を示している。各配置パターンの４つの画素のうち白い画素は基準となる右下の画素値と同じ画素値を持つ画素を表し、また、黒い画素は基準となる右下の画素値と異なる画素値を持つ画素を表す。すなわち、パターン０と判断される条件は、４画素すべてが同じ値を持つことである。パターン１と判断される条件は、右上と左下の画素が基準となる右下の画素と同じ値を持ち、左上の画素が異なる値を持つことである。他のパターンの条件についても同様で、黒い画素だけが基準となる右下の画素と異なる画素値を持ち、白い画素が右下の画素値と同じ画素値を持つ条件を表している。補完情報生成手段１０３は、入力される画像データについて縦２画素×横２画素の４画素のブロック毎にこれらのパターンのいずれに一致するか比較・判定し、比較判定結果に基づいて補完情報を生成する。本実施例で生成される補完情報は、２×２画素のブロックごとに、図６のパターン群の中のいずれのパターンに一致するかを示すパターン番号と、右下の基準画素と異なる値を持つ画素全ての画素値とから構成される。
【００２２】
図７は、図２（Ａ）で示した画像データを入力として補完情報生成手段１０３が生成する補完情報の模式図である。なお、補完情報は、基準画素（２×２画素の右下画素）の画素値とは異なる画素値とパターン番号とから構成されるが、図７は、その補完情報のうちのパターン番号だけを記載した図である。したがって、各マスの数値は、図２（Ａ）の元画像を２×２画素のブロックごとに分割した場合に、各ブロックについて求められたパターン番号を示すものである。補完情報生成手段１０３は、実際には、パターン０以外のパターンに対してはパターン番号の他に、基準となる右下画素の画素値と異なっている画素値を組にして出力する。ここで、パターン１、２、４は異なっている画素が１つなので１つの画素値を組に持ち、パターン３、５、６は異なっている画素が２つなので２つの画素値を組に持ち、パターン７は異なっている画素が３つなので３つの画素値を組に持つ。ここで、補完情報（すなわち、パターン番号と画素値の組）の他に基準となる右下の画素の画素値があれば、元の画像データを復元することが可能である。一方、図４（Ａ）は、図２（Ａ）の画像に対して単純間引きすることにより、２×２画素のブロックごとの右下画素によって作成される画像である。したがって、補完情報と図４（Ａ）で示した画素値とを持組み合わせれば、元の画像データである図２（Ａ）で示した画像データを復元することが可能である。
【００２３】
図８は、図４（Ａ）で示した画像データを入力として、補完情報生成手段１０３が生成する補完情報の模式図である。なお、補完情報は、基準画素（２×２画素の右下画素）の画素値とは異なる画素値とパターン番号とから構成されるが、図８は、その補完情報のうちパターン番号だけを記載した図である。したがって、各マスの数値は、図４（Ａ）の元画像の２×２画素のブロック毎に分割した場合に、各ブロックについて求められたパターン番号を示すものである。補完情報（すなわち、図８のパターン番号と画素値との組）と、図５（Ａ）で示した画素値（すなわち基準画素の画素値）とから、元の画像データである図４（Ａ）で示した画像データを復元することが可能である。図８の補完情報と図５（Ａ）で示した画素値とを用いて図４（Ａ）の画像を復元することができるので、上述したように、さらに図７で示した補完情報もあれば、図４（Ａ）に対する元の画像データである図２（Ａ）で示した画像データを復元することも可能である。
【００２４】
図９は、制御手段１０７の動作フローを示すフローチャートである。制御手段１０７は、画像圧縮装置１全体の動作を制御しており、本フローチャートの流れで画像圧縮装置１の処理の一連の動作が実現される。本画像圧縮装置は、画像データを入力し、画像圧縮処理を行うことにより、補完情報と符号データ（基準画素で構成される画像データを更に圧縮符号化したデータ）とを出力する処理を行う。画像圧縮処理には、解像度変換した画像データを元の解像度の画像データに復元するための情報である補完情報（すなわちパターン番号と基準画素の画素値と異なる画素値）を生成する補完情報生成処理と、基準画素に基づき構成される画像データ（すなわち単純間引き処理により生成される低解像度の画像データ）に対して非可逆の画像圧縮を行うＪＰＥＧ圧縮処理と、基準画素に基づき構成される画像データ（すなわち単純間引き処理により生成される低解像度の画像データ）に対して可逆の画像圧縮を行うＪＰＥＧ−ＬＳ圧縮処理とが含まれる。本実施例の画像圧縮装置は、Ｍ個の補完情報とＪＰＥＧ符号か、あるいは、Ｎ個の補完情報とＪＰＥＧ−ＬＳ符号か、のいずれか合計サイズが小さい方を出力する。なお、本画像圧縮装置は、ＪＰＥＧ圧縮処理とＪＰＥＧ−ＬＳ圧縮処理とを切り換えることで、画質劣化をより小さく抑えることができる構成である。以下に各動作ステップの内容を説明する。
【００２５】
ステップＳ９０１：制御手段１０７は、画像記憶手段１０１に対して動作開始信号を送信する。画像記憶手段１０１での動作フローは後述する。
【００２６】
ステップＳ９０２：制御手段１０７は、画像記憶手段１０１から画像データの解像度情報をｄｐｉ単位の数値で受信して、変数Ｒに代入する。なお、本実施例において、解像度の値は、１２００に２のべき乗をかけた数値（１２００、２４００、４８００、９６００等）のいずれかであるとする。
【００２７】
ステップＳ９０３：制御手段１０７は、画像記憶手段１０１から画像データの水平方向と垂直方向それぞれの画素数情報を受信して、変数Ｘと変数Ｙに代入する。
【００２８】
ステップＳ９０４：制御手段１０７は、変数Ｍに０を代入して初期化する。
【００２９】
ステップＳ９０５：制御手段１０７は、変数Ｎに１を代入して初期化する。なお、この初期値はＪＰＥＧ−ＬＳ圧縮を実行する解像度を特定するための設定値（初期値）であり、ＪＰＥＧ圧縮を実行する解像度を起点にさらに１／（２＾（初期値Ｎ））縮小の解像度変換を行ってからＪＰＥＧ−ＬＳ圧縮を実行することを示す値である。このフローチャートでは説明を簡単にするために変数Ｎの設定値を１にしているが、変数Ｎの設定値を他の値にすることでＪＰＥＧ−ＬＳ圧縮を実行する解像度を変更することが可能である。
【００３０】
ステップＳ９０６：制御手段１０７は、変数Ｒの値が１２００かどうか判定する。変数Ｒが１２００であればステップＳ９０９に進む。変数Ｒが１２００と判定した時点での変数Ｍの値を使った１／（２＾Ｍ）は、入力された画像データを１２００ｄｐｉに変換するために必要な縮小率となっている。また、変数Ｒが１２００と判定した時点での変数Ｎの値を使った１／（２＾Ｎ）は、Ｎの初期値が１の場合、入力された画像データを６００ｄｐｉに変換するために必要な縮小率となっている。一方、変数Ｒが１２００でないと判定した場合は、ステップＳ９０７に進む。なお、ここでの１２００は、ＪＰＥＧ圧縮を実行する解像度を示している。このフローチャートでは説明を簡単にするために固定値１２００にしているが、この比較値を他の値にすることでＪＰＥＧ圧縮を実行する解像度を変更することが可能である。
【００３１】
ステップＳ９０７：制御手段１０７は、変数Ｒに（Ｒ÷２）を代入する。
【００３２】
ステップＳ９０８：制御手段１０７は、変数Ｍに（Ｍ＋１）を代入し、また、変数Ｎに（Ｎ＋１）を代入する。
【００３３】
ステップＳ９０９：制御手段１０７は、変数Ｔに０を代入する。変数Ｔは、解像度変換手段１０２に縮小率を指示するための変数であり、解像度変換手段１０２は、変数Ｔの縮小指示を受けた場合、１／（２＾Ｔ）縮小の解像度変換を行う。以降では、１／（２＾Ｔ）縮小のことを簡単に縮小率Ｔと表記する。
【００３４】
ステップＳ９１０：制御手段１０７は、解像度変換手段１０２に縮小率Ｔの指示を送信する。（すなわち、解像度変換手段１０２に対して、元の解像度の１／（２＾Ｔ）倍の解像度になるように間引いた場合の画素データで構成される画像データを用意するように指示する。）また、制御手段１０７は、同時に解像度変換手段１０２に画像データの画素数ＸとＹを送信する。解像度変換手段１０２での動作フローは後述する。
【００３５】
ステップＳ９１１：制御手段１０７は、変数Ｔの値が変数Ｎの値と同じかどうか判定する。変数Ｔの値が変数Ｎの値と同じであればステップＳ９１９に進む。これらが同じであるとき、解像度変換手段１０２では縮小率Ｎの解像度変換が行われて、解像度変換手段１０２から出力される画像データの解像度は６００ｄｐｉとなる。変数Ｔの値が変数Ｎの値と異なればステップＳ９１２に進む。
【００３６】
ステップＳ９１２：制御手段１０７は、補完情報生成手段１０３に動作開始信号を送信する。補完情報生成手段１０３での動作フローは後述する。
【００３７】
ステップＳ９１３：制御手段１０７は、補完情報生成手段１０３から生成された補完情報のサイズ情報を受信して、変数Ｈ（Ｔ）に代入する。なお、縮小が複数回行われると、補完情報も複数生成されることになるので、それぞれのサイズ情報を保持するために、変数Ｈ（Ｔ）には配列型の変数を使用する。
【００３８】
ステップＳ９１４：制御手段１０７は、変数Ｔの値が変数Ｍの値と同じかどうか判定する。変数Ｔの値が変数Ｍの値と同じであればステップＳ９１５に進む。これらが同じであるとき、解像度変換手段１０２では縮小率Ｍの解像度変換が行われて、解像度変換手段１０２が出力する画像データの解像度は１２００ｄｐｉとなる。一方、変数Ｔの値が変数Ｍの値と異なればステップＳ９１８に進む。
【００３９】
ステップＳ９１５：制御手段１０７は、ＪＰＥＧ圧縮手段１０４に動作開始信号を送信する。ＪＰＥＧ圧縮手段１０４での動作フローは後述する。
【００４０】
ステップＳ９１６：制御手段１０７は、ＪＰＥＧ圧縮手段１０４からＪＰＥＧ符号のサイズ情報を受信して、変数Ｊに代入する。
【００４１】
ステップＳ９１７：制御手段１０７は、変数Ｈ（Ｍ）の値が変数Ｊの値以上かどうか判定する。変数Ｈ（Ｍ）の値が変数Ｊの値以上であれば、ステップＳ９２３に進む。ステップＳ９１７の処理は、補完情報のサイズＨ（Ｍ）とＪＰＥＧ符号化したときのサイズＪとを比較し、補完情報のサイズがＪＰＥＧ符号化サイズ以上であればＪＰＥＧ−ＬＳ圧縮処理（Ｓ９１９−Ｓ９２２）を行わずにＳ９２３に進むための条件分岐である。一方、変数Ｈ（Ｍ）の値が変数Ｊの値以上でないと判定した場合、ステップＳ９１８に進む。
【００４２】
ステップＳ９１８：制御手段１０７は、変数Ｔに（Ｔ＋１）を代入して、ステップＳ９１０に進む。
【００４３】
ステップＳ９１９：制御手段１０７は、ＪＰＥＧ−ＬＳ圧縮手段１０５に動作開始信号を送信する。ＪＰＥＧ−ＬＳ圧縮手段１０５での動作フローは後述する。
【００４４】
ステップＳ９２０：制御手段１０７は、ＪＰＥＧ−ＬＳ圧縮手段１０５からＪＰＥＧ−ＬＳ符号のサイズ情報を受信して、変数Ｌに代入する。
【００４５】
ステップＳ９２１：制御手段１０７は、変数Ｈ（Ｎ）に、｛Ｈ（Ｍ）＋Ｈ（Ｍ＋１）＋…＋Ｈ（Ｎ−１）｝を代入する。この値は、縮小率Ｍから縮小率（Ｎ−１）までの各解像度の画像データから生成した補完情報のサイズ情報の和を表している。なお、本実施例では、ステップＳ９０４およびステップＳ９０５においてＭとＮにそれぞれ０と１を代入しており、Ｍは（Ｎ−１）と同じであるため、Ｈ（Ｎ）に代入される値はＨ（Ｍ）の値となる。
【００４６】
ステップＳ９２２：制御手段１０７は、｛Ｈ（Ｎ）＋Ｌ｝の値が変数Ｊの値以上かどうか判定する。｛Ｈ（Ｎ）＋Ｌ｝の値が変数Ｊの値以上であれば、ステップＳ９２３に進む。ステップＳ９２２の処理は、補完情報とＪＰＥＧ−ＬＳ符号のサイズとの合計と、ＪＰＥＧ符号のサイズとを比較し、よりサイズが小さくなる圧縮方式を選択するための条件分岐である。一方、｛Ｈ（Ｎ）＋Ｌ｝の値が変数Ｊの値以上でないと判定した場合は、ステップＳ９２５に進む。
【００４７】
ステップＳ９２３：制御手段１０７は、符号記憶手段１０６にＭ個の補完情報の出力の指示を送信する。すなわち、縮小率０から縮小率（Ｍ−１）までのＭ個の解像度の画像データから生成したＭ個の補完情報の出力指示である。
【００４８】
ステップＳ９２４：制御手段１０７は、符号記憶手段１０６にＪＰＥＧ符号の出力の指示を送信し、処理を終了する。
【００４９】
ステップＳ９２５：制御手段１０７は、符号記憶手段１０６にＮ個の補完情報の出力の指示を送信する。すなわち、縮小率０から縮小率（Ｎ−１）までのＮ個の解像度の画像データから生成したＮ個の補完情報の出力指示である。
【００５０】
ステップＳ９２６：制御手段１０７は、符号記憶手段１０６にＪＰＥＧ−ＬＳ符号の出力の指示を送信し、処理を終了する。
【００５１】
すなわち、符号記憶手段１０６から最終的に出力される圧縮データは、ステップＳ９２３〜Ｓ９２４で出力される「Ｍ個の補完情報とＪＰＥＧ符号」、もしくはステップＳ９２５〜Ｓ９２６で出力される「Ｎ個の補完情報とＪＰＥＧ−ＬＳ符号」である。どちらの組み合わせで出力するかは、補完情報とＪＰＥＧ符号とＪＰＥＧ−ＬＳ符号との各データサイズに基づいて決めることになる。
【００５２】
図１０は、画像記憶手段１０１の動作フローを示すフローチャートである。画像記憶手段１０１は、内部で２つの処理が並列に動作しており、それぞれの処理フローを図１０（Ａ）、および、図１０（Ｂ）に示す。
【００５３】
まず、図１０（Ａ）の各ステップで、画像記憶手段１０１が実行する処理内容を説明する。
【００５４】
ステップＳ１００１：画像記憶手段１０１は、図９のステップＳ９０１において制御手段１０７が送信した動作開始信号を受信した場合、次のステップＳ１００２に進む。受信するまでは本ステップＳ１００１で待機する。
【００５５】
ステップＳ１００２：画像記憶手段１０１は、画像データを記憶するための内部バッファをクリアする。
【００５６】
ステップＳ１００３：画像記憶手段１０１は、画像圧縮装置１の外部から入力される画像データを受信して、内部バッファに記憶する。このとき画像データの解像度情報も併せて受信して、内部バッファに記憶する。解像度は、１２００、２４００、４８００、９６００、等の１２００の倍数である。
【００５７】
ステップＳ１００４：画像記憶手段１０１は、制御手段１０７に対して画像データの解像度情報を送信する。このとき、制御手段１０７は、画像記憶手段１０１から送信された画像データの解像度情報を図９のステップＳ９０２において受信する。
【００５８】
ステップＳ１００５：画像記憶手段１０１は、制御手段１０７に対して画像データの画素数情報を送信する。このとき、制御手段１０７は、画像記憶手段１０１から送信された画像データの画素数情報を図９のステップＳ９０３において受信する。
【００５９】
次に、図１０（Ｂ）の各ステップで、画像記憶手段１０１が実行する処理内容を説明する。
【００６０】
ステップＳ１００６：画像記憶手段１０１は、解像度変換手段１０２から画素データ要求信号を受信した場合、次のステップＳ１００７に進む。画素データ要求信号は、画像データ中の画素を特定するための座標値ＩとＪを含むものである。画素データ要求信号を受信するまでは本ステップＳ１００６で待機する。
【００６１】
ステップＳ１００７：画像記憶手段１０１は、画像データを記憶している内部バッファから座標（Ｉ，Ｊ）の画素データを読み出して解像度変換手段１０２に対して送信する。
【００６２】
図１１は、解像度変換手段１０２の動作フローを示すフローチャートである。解像度変換手段１０２は、内部で４つの処理が並列に動作しており、それぞれの処理フローを図１１（Ａ）、図１１（Ｂ）、図１１（Ｃ）、および、図１１（Ｄ）に示す。
【００６３】
まず、図１１（Ａ）の各ステップで、解像度変換手段１０２が実行する処理内容を説明する。
【００６４】
ステップＳ１１０１：解像度変換手段１０２は、図９のステップＳ９１０において制御手段１０７から送信された縮小率Ｔの指示を受信した場合、ステップＳ１１０２に進む。このとき、解像度変換手段１０２は、制御手段１０７から水平方向の画素数Ｘと垂直方向の画素数Ｙも同時に受信する。受信するまでは本ステップＳ１１０１で待機する。
【００６５】
ステップＳ１１０２：解像度変換手段１０２は、変数Ｓに１を代入する。
ステップＳ１１０３：解像度変換手段１０２は、変数Ｐに０を代入する。
ステップＳ１１０４：解像度変換手段１０２は、変数Ｐの値が縮小率Ｔの値と等しいかどうか判定する。変数Ｐの値が縮小率Ｔの値と等しければステップＳ１１０１に戻る。変数Ｐの値が縮小率Ｔの値と等しくなければステップＳ１１０５に進む。
【００６６】
ステップＳ１１０５：解像度変換手段１０２は、変数Ｓに（Ｓ×２）を代入する。
ステップＳ１１０６：解像度変換手段１０２は、変数Ｐに（Ｐ＋１）を代入して、ステップＳ１１０４に進む。
【００６７】
次に図１１（Ｂ）の各ステップで、解像度変換手段１０２が実行する処理内容を説明する。
ステップＳ１１０７：解像度変換手段１０２は、補完情報生成手段１０３から画像データ要求信号を受信した場合、次のステップＳ１１０８に進む。受信するまでは本ステップＳ１１０７で待機する。
ステップＳ１１０８：解像度変換手段１０２は、変数Ｂに変数Ｓの値を代入する。
ステップＳ１１０９：解像度変換手段１０２は、変数Ａに変数Ｓの値を代入する。
ステップＳ１１１０：解像度変換手段１０２は、画像記憶手段１０１に画素データ（Ａ−１，Ｂ−１）の要求信号を送信する。ここで、画素データ（Ａ−１，Ｂ−１）とは、座標（Ａ−１，Ｂ−１）における画素データのことである。このとき、前述したように図１０（Ｂ）のステップＳ１００６において画像記憶手段１０１は、解像度変換手段１０２から送信された画素データ要求信号を受信することになる。
【００６８】
ステップＳ１１１１：解像度変換手段１０２は、当該要求に応じて図１０（Ｂ）のステップＳ１００７で画像記憶手段１０１から送信された画素データを取得する。
ステップＳ１１１２：解像度変換手段１０２は、補完情報生成手段１０３に当該取得した画素データを送信する。
ステップＳ１１１３：解像度変換手段１０２は、変数Ａの値が水平方向の画素数Ｘと一致しているかどうか判定する。変数Ａの値が水平方向の画素数Ｘと一致していればステップＳ１１１５に進む。一致していなければステップＳ１１１４に進む。
ステップＳ１１１４：解像度変換手段１０２は、変数Ａに（Ａ＋Ｓ）を代入して、ステップＳ１１１０に戻る。
ステップＳ１１１５：解像度変換手段１０２は、変数Ｂの値が垂直方向の画素数Ｙと一致しているかどうか判定する。変数Ｂの値が垂直方向の画素数Ｙと一致していればステップＳ１１０７に戻る。一致していなければステップＳ１１１６に進む。
ステップＳ１１１６：解像度変換手段１０２は、変数Ｂに（Ｂ＋Ｓ）を代入して、ステップＳ１１０９に戻る。
【００６９】
つまり、ステップＳ１１１０からステップＳ１１１６では、解像度変換手段１０２は、水平方向の画素、ならびに、垂直方向の画素について、変数Ｓの値ごとの２重ループによる繰り返し処理を行っている。その処理内容は、画像記憶手段１０１に対して画素データの要求信号を送信し（Ｓ１１１０）、画像記憶手段１０１から画素データを受信し（Ｓ１１１１）、補完情報生成手段１０３に画素データを送信する（Ｓ１１１２）処理である。
【００７０】
次に、図１１（Ｃ）の各ステップで、解像度変換手段１０２が実行する処理内容を説明する。
【００７１】
ステップＳ１１１７：解像度変換手段１０２は、ＪＰＥＧ圧縮手段１０４から画像データ要求信号を受信した場合、次のステップＳ１１１８に進む。受信するまでは本ステップＳ１１１７で待機する。
【００７２】
ステップＳ１１１８：解像度変換手段１０２は、変数Ｄに変数Ｓの値を代入する。
ステップＳ１１１９：解像度変換手段１０２は、変数Ｃに変数Ｓの値を代入する。
【００７３】
ステップＳ１１２０：解像度変換手段１０２は、画像記憶手段１０１に画素データ（Ｃ−１，Ｄ−１）の要求信号を送信する。ここで、画素データ（Ｃ−１，Ｄ−１）とは、座標（Ｃ−１，Ｄ−１）における画素データのことである。このとき、前述したように図１０（Ｂ）のステップＳ１００６において画像記憶手段１０１は、解像度変換手段１０２から送信された画素データ要求信号を受信することになる。
【００７４】
ステップＳ１１２１：解像度変換手段１０２は、当該要求に応じて図１０（Ｂ）のステップＳ１００７で画像記憶手段１０１から送信された画素データを受信する。
【００７５】
ステップＳ１１２２：解像度変換手段１０２は、ＪＰＥＧ圧縮手段１０４に当該受信した画素データを送信する。
【００７６】
ステップＳ１１２３：解像度変換手段１０２は、変数Ｃの値が水平方向の画素数Ｘと一致しているかどうか判定する。変数Ｃの値が水平方向の画素数Ｘと一致していればステップＳ１１２５に進む。一致していなければステップＳ１１２４に進む。
【００７７】
ステップＳ１１２４：解像度変換手段１０２は、変数Ｃに（Ｃ＋Ｓ）を代入して、ステップＳ１１２０に戻る。
【００７８】
ステップＳ１１２５：解像度変換手段１０２は、変数Ｄの値が垂直方向の画素数Ｙと一致しているかどうか判定する。変数Ｄの値が垂直方向の画素数Ｙと一致していればステップＳ１１１７に戻る。一致していなければステップＳ１１２６に進む。
【００７９】
ステップＳ１１２６：解像度変換手段１０２は、変数Ｄに（Ｄ＋Ｓ）を代入して、ステップＳ１１１９に戻る。
【００８０】
つまり、ステップＳ１１１９からステップＳ１１２６では、解像度変換手段１０２は、水平方向の画素、ならびに、垂直方向の画素について、変数Ｓの値ごとの２重ループによる繰り返し処理を行っている。その処理内容は、画像記憶手段１０１に対して画素データの要求信号を送信し（Ｓ１１２０）、画像記憶手段１０１から画素データを受信し（Ｓ１１２１）、ＪＰＥＧ圧縮手段１０４に画素データを送信する（Ｓ１１２２）処理である。
【００８１】
次に、図１１（Ｄ）の各ステップで、解像度変換手段１０２が実行する処理内容を説明する。
【００８２】
ステップＳ１１２７：解像度変換手段１０２は、ＪＰＥＧ−ＬＳ圧縮手段１０５から画像データ要求信号を受信した場合、次のステップＳ１１２８に進む。受信するまでは本ステップＳ１１２７で待機する。
ステップＳ１１２８：解像度変換手段１０２は、変数Ｆに変数Ｓの値を代入する。
ステップＳ１１２９：解像度変換手段１０２は、変数Ｅに変数Ｓの値を代入する。
ステップＳ１１３０：解像度変換手段１０２は、画像記憶手段１０１に画素データ（Ｅ−１，Ｆ−１）の要求信号を送信する。ここで、画素データ（Ｅ−１，Ｆ−１）とは、座標（Ｅ−１，Ｆ−１）における画素データのことである。このとき、前述したように図１０（Ｂ）のステップＳ１００６において画像記憶手段１０１は、解像度変換手段１０２から送信された画素データ要求信号を受信することになる。
【００８３】
ステップＳ１１３１：解像度変換手段１０２は、当該要求に応じて前述の図１０（Ｂ）のステップＳ１００７で画像記憶手段１０１から送信された画素データを受信する。
【００８４】
ステップＳ１１３２：解像度変換手段１０２は、ＪＰＥＧ−ＬＳ圧縮手段１０５に当該受信した画素データを送信する。
【００８５】
ステップＳ１１３３：解像度変換手段１０２は、変数Ｅの値が水平方向の画素数Ｘと一致しているかどうか判定する。変数Ｅの値が水平方向の画素数Ｘと一致していればステップＳ１１３５に進む。一致していなければステップＳ１１３４に進む。
【００８６】
ステップＳ１１３４：解像度変換手段１０２は、変数Ｅに（Ｅ＋Ｓ）を代入して、ステップＳ１１３０に戻る。
【００８７】
ステップＳ１１３５：解像度変換手段１０２は、変数Ｆの値が垂直方向の画素数Ｙと一致しているかどうか判定する。変数Ｆの値が垂直方向の画素数Ｙと一致していればステップＳ１１２７に戻る。一致していなければステップＳ１１３６に進む。
【００８８】
ステップＳ１１３６：解像度変換手段１０２は、変数Ｆに（Ｆ＋Ｓ）を代入して、ステップＳ１１２９に戻る。
【００８９】
つまり、ステップＳ１１２９からステップＳ１１３６では、解像度変換手段１０２は、水平方向の画素、ならびに、垂直方向の画素について、変数Ｓの値ごとの２重ループによる繰り返し処理を行っている。その処理内容は、画像記憶手段１０１に対して画素データの要求信号を送信し（Ｓ１１３０）、画像記憶手段１０１から画素データを受信し（Ｓ１１３１）、ＪＰＥＧ−ＬＳ圧縮手段１０５に画素データを送信する（Ｓ１１３２）処理である。
【００９０】
図１２は、補完情報生成手段１０３、ＪＰＥＧ圧縮手段１０４、および、ＪＰＥＧ−ＬＳ圧縮手段１０５の動作フローを示すフローチャートである。それぞれの処理フローを図１２（Ａ）、図１２（Ｂ）、および、図１２（Ｃ）に示す。
【００９１】
まず図１２（Ａ）の各ステップで、補完情報生成手段１０３が実行する処理内容を説明する。
【００９２】
ステップＳ１２０１：補完情報生成手段１０３は、図９のステップＳ９１２において制御手段１０７から送信された動作開始信号を受信した場合、次のステップＳ１２０２に進む。受信するまでは本ステップＳ１２０１で待機する。
【００９３】
ステップＳ１２０２：補完情報生成手段１０３は、解像度変換手段１０２に対して画像データ要求信号を送信する。このとき、前述したように図１１（Ｂ）のステップＳ１１０７において、解像度変換手段１０２は、補完情報生成手段１０３から送信された画像データ要求信号を受信することになる。
【００９４】
ステップＳ１２０３：補完情報生成手段１０３は、当該要求に応じて図１１（Ｂ）のステップＳ１１１２で解像度変換手段１０２から送信された画素データを受信する。そして、受信したすべての画素データは、画像データを構成することになる。
【００９５】
ステップＳ１２０４：補完情報生成手段１０３は、受信した画像データから補完情報を生成する。また、補完情報のサイズ情報も同時に生成する。
【００９６】
ステップＳ１２０５：補完情報生成手段１０３は、符号記憶手段１０６に対して補完情報を送信する。
【００９７】
ステップＳ１２０６：補完情報生成手段１０３は、制御手段１０７に対して補完情報のサイズ情報を送信する。このとき、前述したように図９のステップＳ９１３において制御手段１０７は、補完情報生成手段１０３から送信された補完情報のサイズ情報を受信することになる。
【００９８】
次に図１２（Ｂ）の各ステップで、ＪＰＥＧ圧縮手段１０４が実行する処理内容を説明する。
【００９９】
ステップＳ１２０７：ＪＰＥＧ圧縮手段１０４は、図９のステップＳ９１５において制御手段１０７から送信された動作開始信号を受信した場合、次のステップＳ１２０８に進む。受信するまでは本ステップＳ１２０７で待機する。
【０１００】
ステップＳ１２０８：ＪＰＥＧ圧縮手段１０４は、解像度変換手段１０２に画像データ要求信号を送信する。このとき、前述したように図１１（Ｃ）のステップＳ１１１７において解像度変換手段１０２は、ＪＰＥＧ圧縮手段１０４から送信された画像データ要求信号を受信することになる。
【０１０１】
ステップＳ１２０９：ＪＰＥＧ圧縮手段１０４は、図１１（Ｃ）のステップＳ１１２２で該要求に応じて解像度変換手段１０２から送信された画素データを受信する。この受信したすべての画素データにより画像データを構成する。
【０１０２】
ステップＳ１２１０：ＪＰＥＧ圧縮手段１０４は、受信した画像データをＪＰＥＧ圧縮することによりＪＰＥＧ符号を生成する。また、ＪＰＥＧ符号のサイズ情報も同時に生成する。ＪＰＥＧ符号を生成する詳細な手続きについては説明を省略する。
【０１０３】
ステップＳ１２１１：ＪＰＥＧ圧縮手段１０４は、符号記憶手段１０６に対して当該生成したＪＰＥＧ符号を送信する。
【０１０４】
ステップＳ１２１２：ＪＰＥＧ圧縮手段１０４は、制御手段１０７に対してＪＰＥＧ符号のサイズ情報を送信する。このとき、前述したように図９のステップＳ９１６において制御手段１０７は、ＪＰＥＧ圧縮手段１０４から送信されたＪＰＥＧ符号のサイズ情報を受信することになる。
【０１０５】
次に図１２（Ｃ）の各ステップで、ＪＰＥＧ−ＬＳ圧縮手段１０５が実行する処理内容を説明する。
【０１０６】
ステップＳ１２１３：ＪＰＥＧ−ＬＳ圧縮手段１０５は、図９のステップＳ９１９において制御手段１０７から送信された動作開始信号を受信した場合、次のステップＳ１２１４に進む。受信するまでは本ステップＳ１２１３で待機する。
【０１０７】
ステップＳ１２１４：ＪＰＥＧ−ＬＳ圧縮手段１０５は、解像度変換手段１０２に画像データ要求信号を送信する。このとき前述したように図１１（Ｄ）のステップＳ１１２７において解像度変換手段１０２は、ＪＰＥＧ−ＬＳ圧縮手段１０５から送信された画像データ要求信号を受信することになる。
【０１０８】
ステップＳ１２１５：ＪＰＥＧ−ＬＳ圧縮手段１０５は、当該要求に応じて図１１（Ｄ）のステップＳ１１３２において解像度変換手段１０２から送信された画素データを受信する。そして、受信したすべての画素データにより画像データを構成する。
【０１０９】
ステップＳ１２１６：ＪＰＥＧ−ＬＳ圧縮手段１０５は、受信した画像データをＪＰＥＧ−ＬＳ圧縮することによりＪＰＥＧ−ＬＳ符号を生成する。また、ＪＰＥＧ−ＬＳ符号のサイズ情報も同時に生成する。ＪＰＥＧ−ＬＳ符号を生成する詳細な手続きについては説明を省略する。
【０１１０】
ステップＳ１２１７：ＪＰＥＧ−ＬＳ圧縮手段１０５は、符号記憶手段１０６に対して当該生成したＪＰＥＧ−ＬＳ符号を送信する。
【０１１１】
ステップＳ１２１８：ＪＰＥＧ−ＬＳ圧縮手段１０５は、制御手段１０７に対してＪＰＥＧ−ＬＳ符号のサイズ情報を送信する。このとき、前述したように図９のステップＳ９２０において制御手段１０７は、ＪＰＥＧ−ＬＳ圧縮手段１０５から送信されたＪＰＥＧ−ＬＳ符号のサイズ情報を受信することになる。
【０１１２】
図１３は、符号記憶手段１０６の動作フローを示すフローチャートである。符号記憶手段１０６は、内部で６つの処理が並列に動作しており、それぞれの処理フローを図１３（Ａ）、図１３（Ｂ）、図１３（Ｃ）、図１３（Ｄ）、図１３（Ｅ）、および、図１３（Ｆ）に示す。
【０１１３】
まず、図１３（Ａ）の各ステップで、符号記憶手段１０６が実行する処理内容を説明する。
【０１１４】
ステップＳ１３０１：符号記憶手段１０６は、図１２（Ａ）のステップＳ１２０５において補完情報生成手段１０３から送信された補完情報を受信した場合、次のステップＳ１３０２に進む。受信するまでは本ステップＳ１３０１で待機する。
【０１１５】
ステップＳ１３０２：符号記憶手段１０６は、当該受信した補完情報を内部の補完情報バッファに記憶する。このとき、すでに他の補完情報が記憶されていても、それを上書きすることなく、記憶した順番に読み出せるように追加で記憶する。
【０１１６】
次に、図１３（Ｂ）の各ステップで、符号記憶手段１０６が実行する処理内容を説明する。
【０１１７】
ステップＳ１３０３：符号記憶手段１０６は、図１２（Ｂ）のステップＳ１２１１においてＪＰＥＧ圧縮手段１０４から送信されたＪＰＥＧ符号を受信した場合、次のステップＳ１３０４に進む。受信するまでは本ステップＳ１３０３で待機する。
【０１１８】
ステップＳ１３０４：符号記憶手段１０６は、当該受信したＪＰＥＧ符号を内部のＪＰＥＧ符号バッファに記憶する。
【０１１９】
次に、図１３（Ｃ）の各ステップで、符号記憶手段１０６が実行する処理内容を説明する。
【０１２０】
ステップＳ１３０５：符号記憶手段１０６は、図１２（Ｃ）のステップＳ１２１７においてＪＰＥＧ−ＬＳ圧縮手段１０５から送信されたＪＰＥＧ−ＬＳ符号を受信した場合、次のステップＳ１３０６に進む。受信するまでは本ステップＳ１３０５で待機する。
【０１２１】
ステップＳ１３０６：符号記憶手段１０６は、当該受信したＪＰＥＧ−ＬＳ符号を内部のＪＰＥＧ−ＬＳ符号バッファに記憶する。
【０１２２】
次に、図１３（Ｄ）の各ステップで、符号記憶手段１０６が実行する処理内容を説明する。
【０１２３】
ステップＳ１３０７：符号記憶手段１０６は、図９のステップＳ９２３またはステップＳ９２５において制御手段１０７から送信されたＫ個（ＭまたはＮ個）の補完情報の出力指示を受信した場合、次のステップＳ１３０８に進む。受信するまでは本ステップＳ１３０７で待機する。
【０１２４】
ステップＳ１３０８：符号記憶手段１０６は、内部の補完情報バッファに記憶している補完情報を記憶した順番に先頭からＫ個だけ読み出す。
【０１２５】
ステップＳ１３０９：符号記憶手段１０６は、読み出した補完情報を外部に対して送信する。
【０１２６】
次に図１３（Ｅ）の各ステップで、符号記憶手段１０６が実行する処理内容を説明する。
【０１２７】
ステップＳ１３１０：符号記憶手段１０６は、図９のステップＳ９２４において制御手段１０７から送信されたＪＰＥＧ符号の出力の指示を受信した場合、次のステップＳ１３１１に進む。受信するまでは本ステップＳ１３１０で待機する。
【０１２８】
ステップＳ１３１１：符号記憶手段１０６は、内部のＪＰＥＧ符号バッファに記憶しているＪＰＥＧ符号を読み出す。
【０１２９】
ステップＳ１３１２：符号記憶手段１０６は、読み出したＪＰＥＧ符号を外部に対して送信する。
【０１３０】
ステップＳ１３１３：符号記憶手段１０６は、内部の補完情報バッファ、ＪＰＥＧ符号バッファ、および、ＪＰＥＧ−ＬＳ符号バッファの内容をすべてクリアする。
【０１３１】
次に図１３（Ｆ）の各ステップで、符号記憶手段１０６が実行する処理内容を説明する。
【０１３２】
ステップＳ１３１４：符号記憶手段１０６は、図９のステップＳ９２６において制御手段１０７から送信されたＪＰＥＧ−ＬＳ符号の出力の指示を受信した場合、次のステップＳ１３１５に進む。受信するまでは本ステップＳ１３１４で待機する。
【０１３３】
ステップＳ１３１５：符号記憶手段１０６は、内部のＪＰＥＧ−ＬＳ符号バッファに記憶しているＪＰＥＧ−ＬＳ符号を読み出す。
【０１３４】
ステップＳ１３１６：符号記憶手段１０６は、読み出したＪＰＥＧ−ＬＳ符号を外部に対して送信する。
【０１３５】
ステップＳ１３１７：符号記憶手段１０６は、内部の補完情報バッファ、ＪＰＥＧ符号バッファ、および、ＪＰＥＧ−ＬＳ符号バッファの内容をすべてクリアする。
【０１３６】
図２（Ａ）に示した２４００ｄｐｉの画像データの例を用いて、上述した本画像圧縮装置で画像データを圧縮する一連の処理の概略を説明する。
【０１３７】
まず、制御手段１０７は、画像記憶手段１０１に対して画像データ受信信号を送信する。すると、画像記憶手段１０１は、外部から図２（Ａ）に示す画像データを受信して内部に記憶し、制御手段１０７に対して画像データの解像度情報である２４００を送信する。
【０１３８】
制御手段１０７は、解像度が１２００になるまで解像度変換手段１０２に解像度変換を行わせながら、各解像度の画像データについて補完情報生成手段１０３に補完情報を作成させる。つまり、図２（Ａ）の画像の場合は最初の解像度が２４００なので、制御手段１０７は、縮小率０（２４００ｄｐｉ）の画像データで補完情報を生成し、さらに、縮小率１（１２００ｄｐｉ）の画像データで補完情報を生成する。補完情報生成手段１０３は、縮小率０の場合はすべての画素を、縮小率１の場合は水平方向と垂直方向いずれも２画素おきの画素を、解像度変換手段１０２から受信して、それぞれの解像度における補完情報を生成して、符号記憶手段１０６に記憶させる。補完情報生成手段１０３は、各解像度の補完情報のサイズ情報を制御手段１０７に送信する。
【０１３９】
制御手段１０７は、縮小率１（１２００ｄｐｉ）の処理において、ＪＰＥＧ圧縮手段１０４にＪＰＥＧ符号の生成も行わせる。ＪＰＥＧ圧縮手段１０４は、前述の補完情報生成手段１０３の縮小率１の場合と同様に、２画素おきの画素を解像度変換手段１０２から受信して、ＪＰＥＧ圧縮することでＪＰＥＧ符号を生成して符号記憶手段１０６に記憶させ、ＪＰＥＧ符号のサイズ情報を制御手段１０７に送信する。
【０１４０】
制御手段１０７は、縮小率１（１２００ｄｐｉ）の処理において、補完情報のサイズ情報とＪＰＥＧ符号のサイズ情報を比較して、補完情報のサイズ情報がＪＰＥＧ符号のサイズ情報以上である場合にはＪＰＥＧ−ＬＳ圧縮処理は行わない。この場合は、縮小率０（２４００ｄｐｉ）の補完情報と、縮小率１（１２００ｄｐｉ）のＪＰＥＧ符号とを符号記憶手段１０６に出力させる。
【０１４１】
また、補完情報のサイズ情報がＪＰＥＧ符号のサイズ情報よりも小さい場合は、さらに縮小率２（６００ｄｐｉ）の処理を行い、ＪＰＥＧ−ＬＳ圧縮手段１０５にＪＰＥＧ−ＬＳ符号の生成を行わせる。ＪＰＥＧ−ＬＳ圧縮手段１０５は、縮小率２の場合なので、４画素おきの画素を解像度変換手段１０２から受信して、ＪＰＥＧ−ＬＳ符号を生成して符号記憶手段１０６に記憶させ、ＪＰＥＧ−ＬＳ符号のサイズ情報を制御手段１０７に送信する。
【０１４２】
この結果を用いて、制御手段１０７は、縮小率１（１２００ｄｐｉ）の補完情報のサイズ情報とＪＰＥＧ−ＬＳ符号のサイズ情報との和と、ＪＰＥＧ符号のサイズ情報とを比較する。縮小率１（１２００ｄｐｉ）の補完情報のサイズ情報とＪＰＥＧ−ＬＳ符号のサイズ情報との和が、ＪＰＥＧ符号のサイズ情報以上である場合は、縮小率０（２４００ｄｐｉ）の補完情報と、縮小率１（１２００ｄｐｉ）のＪＰＥＧ符号とを符号記憶手段１０６に出力させる。一方、ＪＰＥＧ符号のサイズ情報の方が大きい場合は、縮小率０（２４００ｄｐｉ）の補完情報と、縮小率１（１２００ｄｐｉ）の補完情報と、縮小率２（６００ｄｐｉ）のＪＰＥＧ−ＬＳ符号とを符号記憶手段１０６に出力させる。
【０１４３】
以上に示したように、本画像圧縮装置１の構成で、高解像度の画像データを予め定めた解像度（１２００ｄｐｉや６００ｄｐｉの解像度）まで変換してから、ＪＰＥＧ圧縮またはＪＰＥＧ−ＬＳ圧縮することができる。そのため、元の解像度の違いによって画像圧縮による画像劣化の度合いがばらつくことがない。
【０１４４】
また、高解像度の画像データをそのままＪＰＥＧ圧縮およびＪＰＥＧ−ＬＳ圧縮といった複雑な画像圧縮を行わないため、画像圧縮手段の回路規模が小さく抑えられる。
【０１４５】
なお、高解像度の画像データから複数の低解像度画像を生成する構成を単純に考えると、解像度変換手段と、解像度変換後の画像データを記憶する画像記憶手段とを組にして、複数の組を直列に繋ぐことで、低解像度画像を順番に生成していくことが考えられる。しかしながら、このような構成にすると回路規模が大きくなってしまう。例えば各手段を直列に接続する構成で一律の画像解像度での画像圧縮を実現するには、２４００ｄｐｉの高解像度画像データを処理する場合、解像度変換手段が２つ、各解像度に変換する前後の画像を記憶するための画像記憶手段が３つ、補完情報生成手段が２つ必要となる。また、４８００ｄｐｉの画像データを処理する場合、解像度変換手段が３つ、画像記憶手段が４つ、補完情報生成手段が３つ必要で、さらに回路規模が大きくなってしまう。
【０１４６】
一方、本画像圧縮装置の構成では、図１に示したように、各処理手段の個数を増やすことなく、様々な高解像度の画像データに対応可能である。したがって、本画像圧縮装置の構成は、回路規模と対応可能な画像解像度の柔軟性において優れている。
【０１４７】
［実施例２］
図１４は、本発明の実施例２の画像圧縮装置のブロック図である。図１４に示した画像圧縮装置の構成は、図１に示した画像圧縮装置の補完情報生成手段を２つに増やしたものである。この構成にすることで、回路規模が少し増えることになるが、並列動作させることにより、同時に複数の解像度の補完情報を生成することが可能になるため、補完情報を生成する速度を高速にすることができる。例えば、２４００ｄｐｉの画像に対する補完情報と、１２００ｄｐｉの画像に対する補完情報とを同時に生成することができるようになる。
【０１４８】
このように、本発明の画像圧縮装置は様々な解像度への対応だけではなく、システムに要求される回路規模や処理速度の性能への対応が柔軟な構成変更により可能である。
【０１４９】
［実施例３］
以下、本発明の実施例３について図面を用いて説明する。実施例３は、補完情報生成手段１０３による補完情報の生成方法以外は、実施例１に示した構成と同じである。
【０１５０】
図１５は、解像度２４００ｄｐｉの縦３２画素、横３２画素からなる画像データの模式図である。各マスは画素を表していて、それぞれの画素は２４ｂｉｔの情報を持つ。各画素の値は白と黒の他に斜線で表してあり、白い画素は値ＦＦＦＦＦＦｈを持ち、黒い画素は値００００００ｈを持ち、また、斜線の画素は値８０８０８０ｈを持っているものとする。
【０１５１】
図１６は、図１５で示した画像データを入力として補完情報生成手段１０３が生成する補完情報の模式図である。前述の図７と同様に、補完情報は、パターン番号とパターンに応じた数の画素値（基準画素の画素値と異なる画素値）とからなるが、図１６は補完情報のうちのパターン番号だけを記載した図である。補完情報は、パターン０以外のパターンに対してはパターン番号の他に、基準となる右下の画素の値と異なっている画素の値を組に持つ。ここで、実施例１では基準画素と異なる画素値全てを保持するものとしたが、実施例３では、異なっている画素が２つ以上あるパターンについては、異なっている画素の値の平均値を計算し、その平均値を補完情報として持つものとする。このように構成することにより、実施例１のように異なる画素すべての画素値を組に持つ構成よりも、データ量を削減することができるようになる。その代り、非可逆変換となるため、補完情報を使って元の画像データを復元するときには平均値による近似誤差が発生する。本図では、非可逆変換となる２×２画素ブロックの位置を太い枠で表してある。それらの２×２画素ブロックは、異なっている画素の値が２つ以上あるパターンで、かつ、それらの値の平均値が別の値になる画素である。
【０１５２】
以上のように、補完情報に非可逆となる情報が含まれる構成でも、本画像圧縮装置の処理を行うことができる。
【０１５３】
［実施例４］
以下、本発明の実施例４について図面を用いて説明する。実施例４は、制御手段１０７の動作フローを示すフローチャート以外は、実施例１に示した構成と同じである。
【０１５４】
図１７は、実施例４における制御手段１０７の動作フローを示すフローチャートである。ステップＳ１７０１〜Ｓ１７０８は、実施例１における図９のステップＳ９０１〜Ｓ９０８と同じである。異なる動作ステップの内容を以下に説明する。
【０１５５】
ステップＳ１７０９：制御手段１０７は、解像度変換手段１０２に対して、縮小率Ｎの指示と、画像データの画素数Ｘ、Ｙとを送信する。このとき、解像度変換手段１０２は、図１１のステップ１１０１において、制御手段１０７から送信された縮小率Ｎの指示と画像データの画素数ＸとＹを受信することになる。
【０１５６】
ステップＳ１７１０：制御手段１０７は、ＪＰＥＧ−ＬＳ圧縮手段１０５に動作開始信号を送信する。このとき、ＪＰＥＧ−ＬＳ圧縮手段１０５は、図１２（Ｃ）のステップＳ１２１３において、制御手段１０７から送信された動作開始信号を受信することになる。
【０１５７】
ステップＳ１７１１：制御手段１０７は、図１２（Ｃ）のステップＳ１２１８でＪＰＥＧ−ＬＳ圧縮手段１０５から送信されたＪＰＥＧ−ＬＳ符号のサイズ情報を受信して、変数Ｌに代入する。
【０１５８】
ステップＳ１７１２：制御手段１０７は、変数Ｌの値が既定値Ｔｈｒｅｓｈｏｌｄの値より小さいかどうか判定する。変数Ｌの値が既定値Ｔｈｒｅｓｈｏｌｄの値より小さければ、ステップＳ１７１３に進む。このステップは、ＪＰＥＧ−ＬＳ符号のサイズを既定の閾値と比較し、ＪＰＥＧ−ＬＳ符号のサイズが小さければＪＰＥＧ−ＬＳ圧縮方式の出力を選択してＪＰＥＧ圧縮処理を行わないための条件分岐である。
【０１５９】
一方、変数Ｌの値が既定値Ｔｈｒｅｓｈｏｌｄの値より小さくなければ、ステップＳ１７１４に進む。これは、ＪＰＥＧ−ＬＳ符号のサイズが既定値Ｔｈｒｅｓｈｏｌｄの値以上であれば、ＪＰＥＧ圧縮処理を実行して出力させるための条件分岐である。なお、この場合、縮小率Ｍから縮小率（Ｎ−１）の補完情報は生成しない。
【０１６０】
ステップＳ１７１３：制御手段１０７は、符号記憶手段１０６にＪＰＥＧ−ＬＳ符号の出力の指示を送信して、ステップＳ１７１９に進む。このとき、符号記憶手段１０６は、図１３（Ｆ）のステップＳ１３１４において、制御手段１０７からＪＰＥＧ−ＬＳ符号の出力の指示を受信することになる。
【０１６１】
ステップＳ１７１４：制御手段１０７は、解像度変換手段１０２に縮小率Ｍの指示と、画像データの画素数Ｘ、Ｙとを送信する。このとき、解像度変換手段１０２は、図１１のステップＳ１１０１において、制御手段１０７から送信された縮小率の指示と画像データの画素数Ｘ、Ｙとを受信することになる。
【０１６２】
ステップＳ１７１５：制御手段１０７は、ＪＰＥＧ圧縮手段１０４に動作開始信号を送信する。このとき、ＪＰＥＧ圧縮手段１０４は、図１２（Ｂ）のステップＳ１２０７において、制御手段１０７から送信された動作開始信号を受信することになる。
【０１６３】
ステップＳ１７１６：制御手段１０７は、図１２（Ｂ）のステップＳ１２１２においてＪＰＥＧ圧縮手段１０４から送信されたＪＰＥＧ符号のサイズ情報を受信して、変数Ｊに代入する。これは、ＪＰＥＧ圧縮手段１０４の画像圧縮処理が終了するのを検知するためのステップである。
【０１６４】
ステップＳ１７１７：制御手段１０７は、符号記憶手段１０６にＪＰＥＧ符号の出力の指示を送信する。このとき、符号記憶手段１０６は、図１３（Ｅ）のステップＳ１３１０において、制御手段１０７から送信されたＪＰＥＧ符号の出力の指示を受信することになる。
【０１６５】
ステップＳ１７１９：制御手段１０７は、変数Ｔに０を代入する。変数Ｔは、縮小率を表す変数である。
【０１６６】
ステップＳ１７２０：制御手段１０７は、変数Ｔの値が変数Ｎの値と同じかどうか判定する。変数Ｔの値が変数Ｎの値と同じであればステップＳ１７２４に進み、同じでなければステップＳ１７２１へ進む。
【０１６７】
ステップＳ１７２１：制御手段１０７は、解像度変換手段１０２に縮小率Ｔの指示と、画像データの画素数Ｘ、Ｙとを送信する。このとき、解像度変換手段１０２は、図１１（Ａ）のステップＳ１１０１において、制御手段１０７から送信された縮小率Ｔの指示と画像データの画素数Ｘ、Ｙとを受信することになる。
【０１６８】
ステップＳ１７２２：制御手段１０７は、補完情報生成手段１０３に動作開始信号を送信する。このとき、補完情報生成手段１０３は、図１２（Ａ）のステップＳ１２０１において、制御手段１０７から送信された動作開始信号を受信することになる。
【０１６９】
ステップＳ１７２３：制御手段１０７は、変数Ｔに（Ｔ＋１）を代入して、ステップＳ１７２０に進む。
【０１７０】
ステップＳ１７２４：制御手段１０７は、符号記憶手段１０６にＮ個の補完情報の出力の指示を送信して、終了する。このとき、符号記憶手段１０６は、図１３（Ｄ）のステップＳ１３０７において、制御手段１０７から送信されたＮ個の補完情報の出力の指示を受信することになる。
【０１７１】
以上、図１７に示したように、実施例４では、ＪＰＥＧ−ＬＳ符号の大きさが既定の閾値より小さいかどうかの判断を先に行い、その結果を利用してＪＰＥＧ符号と補完情報の生成の有無を制御することができる。
【０１７２】
［実施例５］
また、実施例１では、図６のように配置パターンを定義したので、補完情報は、パターン番号と、基準画素と異なる画素値を有する画素全てについての画素値とにより構成されるものとした。このとき、配置パターンは８個であるので、各２×２画素ブロックに対してパターン番号は３ｂｉｔで表現することができる。また、各画素値が２４ｂｉｔカラーで表現される場合、基準画素とは異なる画素値（補完色）を有する画素が０〜３個（パターン番号０の場合が０個、パターン番号７の場合が３個）なので、補完情報として保持される画素値のサイズは０〜７２ｂｉｔとなる。また、基準画素は常に１個なので、基準画素のサイズは２４ｂｉｔで表現される。
【０１７３】
本実施例５では、補完情報を生成する際に、実施例１の図６の配置パターンを用いる方法と異なる方法について説明する。図１８は、本実施例５で用いる補完情報を生成する際に用いる配置パターンを示す図である。実施例５では、基準画素（右下画素）と異なる位置の画素同士も比較することにより、同色（同じ画素値）と判断される画素ごとに画素値を保持するようにする。２×２画素ブロックの全てが同色である場合のパターン番号を０とし、２×２画素ブロック内が２色である場合のパターン番号を１〜７、３色である場合のパターン番号を８〜Ｄ、全ての画素が異なる４色である場合のパターン番号をＥで表わす。すなわち、２×２画素ブロックにおける色の配置パターンは１５種類となるので、各２×２画素ブロックに対してパターン番号は４ｂｉｔで表現することができる。また、各２×２画素ブロックに対して基準画素の画素値は２４ｂｉｔで表現できる。更に、各２×２画素ブロックに対して補完色（基準画素の画素値と異なる画素値）は０〜３色存在するので、０〜７２ｂｉｔで表現できる。すなわち、図１８の配置パターンは、２×２画素ブロックに含まれる色数（画素値の種類の数）と各色の配置とを示していることになる。
【０１７４】
このとき、補完情報生成手段１０３は、入力された画像データを２×２画素ブロックに分割し、各２×２画素ブロックが図１８のいずれのパターンに一致するか判定することによって、パターン番号と、各配置パターンに対応する色数に応じた補完色（基準画素の色とは異なる画素値）とを補完情報として出力するようにすればよい。
【０１７５】
［実施例６］
上述した実施例１〜５では、補完情報を生成する際の、２×２画素ブロックの基準画素として、右下画素を基準にしたが、これに限るものではなく、その他の位置の画素（左上画素など）を基準としてパターンを割り当ててもよい。
【０１７６】
［実施例７］
実施例１では、符号記憶手段１０６から最終的に出力される圧縮データは、補完情報とＪＰＥＧ符号とＪＰＥＧ−ＬＳ符号との各データサイズに基づいて決めるようにしていた。
【０１７７】
本実施例７では、ＪＰＥＧ符号とＪＰＥＧ−ＬＳ符号のいずれを出力するかが、ユーザにより予め指定されている場合について説明する。この場合、図１の画像圧縮装置において、ＪＰＥＧ圧縮手段１０４とＪＰＥＧ−ＬＳ圧縮手段１０５のうちの指定された方だけが、圧縮手段として機能するようにすればよい。例えば、圧縮手段としてＪＰＥＧ圧縮が指定されている場合、縮小率Ｔ（Ｔ＝０，１，…，Ｍ−１）の各解像度の画像を解像度変換手段１０２に生成させて、補完情報生成手段１０３で各解像度の画像に対する補完情報を生成させる。そして、当該生成させた補完情報と、縮小率Ｍの解像度の画像を圧縮手段でＪＰＥＧ圧縮させた画像データとを、符号記憶手段から出力させるようにする。
【０１７８】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。その処理は、上述した実施例の機能を実現させるソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012109744.tif 000003
【図２】
2012109744.tif 000004
【図３】
2012109744.tif 000005
【図４】
2012109744.tif 000006
【図５】
2012109744.tif 000007
【図６】
2012109744.tif 000008
【図７】
2012109744.tif 000009
【図８】
2012109744.tif 000010
【図９】
2012109744.tif 000011
【図１０】
2012109744.tif 000012
【図１１】
2012109744.tif 000013
【図１２】
2012109744.tif 000014
【図１３】
2012109744.tif 000015
【図１４】
2012109744.tif 000016
【図１５】
2012109744.tif 000017
【図１６】
2012109744.tif 000018
【図１７】
2012109744.tif 000019
【図１８】
2012109744.tif 000020