(57)【特許請求の範囲】
【請求項１】
圧縮対象の画像を所定の画素数毎のブロックに分割する分割部と、
前記分割部で分割して得たブロック毎に、階調値の最大値と最小値を求める最大最小検索部と、
前記分割部で分割して得たブロック毎に、そのブロックが、輪郭部分を含まずかつ該ブロックに係る前記最大値と最小値との差が基準値以上の第１種ブロックであるか、第１種ブロック以外の第２種ブロックであるかを判別する判別部と、
前記分割部で分割して得たブロック毎に、そのブロックに関する前記判別部の判別結果が前記第２種ブロックの場合は該ブロックに係る前記最大値と最小値を両端とする階調値の分布範囲をＮ（Ｎは２以上の所定の整数）個の領域に分割し、このブロック内の各画素が前記Ｎ個の領域のいずれに属するかを示す符号データと前記最大値と最小値とを含む圧縮データを出力し、前記判別結果が前記第１種ブロックの場合は該ブロックに係る前記最大値と最小値を両端とする階調値の分布範囲をＭ（ＭはＮより大きい所定の整数）個の領域に分割し、このブロック内の各画素が前記Ｍ個の領域のいずれに属するかを示す符号データと前記最大値と最小値とを含む圧縮データを出力する正規化出力部と、
を備え、
前記正規化出力部は、前記第１種ブロックの場合は前記圧縮データの先頭部にそのブロックに係る前記最大値と最小値とを第１の順序で配列し、前記第２種ブロックの場合は圧縮データの先頭部にそのブロックに係る前記最大値と最小値とを前記第１の順序と逆順の第２の順序で配列する
ことを特徴とする画像圧縮装置。
【請求項２】
圧縮対象の画像を所定の画素数毎のブロックに分割する分割部と、
前記分割部で分割して得たブロック毎に、階調値の最大値と最小値を求める最大最小検索部と、
前記分割部で分割して得たブロック毎に、そのブロックが、輪郭部分を含まない第１種ブロックであるか、輪郭部分を含む第２種ブロックであるかを判別する判別部と、
前記分割部で分割して得たブロック毎に、そのブロックに関する前記判別部の判別結果が前記第２種ブロックの場合は該ブロックに係る前記最大値と最小値を両端とする階調値の分布範囲をＮ（Ｎは２以上の所定の整数）個の領域に分割し、このブロック内の各画素が前記Ｎ個の領域のいずれに属するかを示す符号データと前記最大値と最小値とを含む圧縮データを出力し、前記判別結果が前記第１種ブロックの場合は該ブロックに係る前記最大値と最小値を両端とする階調値の分布範囲をＭ（ＭはＮより大きい所定の整数）個の領域に分割し、このブロック内の各画素が前記Ｍ個の領域のいずれに属するかを示す符号データと前記最大値と最小値とを含む圧縮データを出力する正規化出力部と、
を備え、
前記正規化出力部は、前記第１種ブロックの場合は前記圧縮データの先頭部にそのブロックに係る前記最大値と最小値とを第１の順序で配列し、前記第２種ブロックの場合は圧縮データの先頭部にそのブロックに係る前記最大値と最小値とを前記第１の順序と逆順の第２の順序で配列する
ことを特徴とする画像圧縮装置。
【請求項３】
前記判別部は、ブロック内で隣接する画素と画素との階調値の差分の最大値が規定値以下の場合に、そのブロックは輪郭部分を含まないと判別する
ことを特徴とする請求項１または２に記載の画像圧縮装置。
【請求項４】
前記正規化出力部は、前記圧縮データを前記第１の順序もしくは第２の順序で配列した最大値と最小値の後ろに各画素に割り当てた前記符号データを配列した構成で出力する
ことを特徴とする請求項１乃至３のいずれか１つに記載の画像圧縮装置。
【請求項５】
前記Ｍ種類を表現可能な最小ビット数は、前記Ｎ種類を表現可能な最小ビット数より大きく、
前記第１種ブロックに係る符号データは前記Ｎ種類を表現可能な最小ビット数の符号データであり、
前記第２種ブロックに係る符号データは前記Ｍ種類を表現可能な最小ビット数の符号データである
ことを特徴とする請求項１乃至４のいずれか１つに記載の画像圧縮装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを圧縮する画像圧縮装置に係り、特に、圧縮対象の画像を複数のブロックに分割して圧縮する画像圧縮装置に関する。
【背景技術】
【０００２】
デジタル複合機などの装置では、ビットマップ形式の画像データをメモリやハードディスク装置に保存する場合、必要な記憶容量を削減するために画像データを圧縮して保存することが行われる。
【０００３】
その圧縮方式の１つにＢＴＣ（Block Truncation Coding）圧縮方式がある。ＢＴＣ圧縮では、圧縮対象の画像を所定の画素数（たとえば、４画素×４画素）毎のブロックに分割する。そして、各ブロックを、そのブロックに属する画素の階調値の分布範囲（たとえば、最大値と最小値で表す）と、該分布範囲内においてブロック内の各画素の階調値を元の画像データの階調数より少ない階調数で正規化（量子化）した符号データとによって表した圧縮データを生成する。
【０００４】
伸張時には、圧縮データに含まれる最大値と最小値が示す階調値の分布範囲から符号データの各値に対する代表値を決定し、圧縮データに含まれる各符号データをその対応する代表値の画像データに変換して画像を復元するようになっている。
【０００５】
たとえば、１画素を８ビット２５６階調で表している画像データを１画素あたり２ビットの符号データにしてＢＴＣ圧縮すると、圧縮データでは最大値と最小値が示す階調値の分布範囲が２ビット４階調で表現される。伸張時には、圧縮データの最大値と最小値と、この最大値と最小値が示す範囲を３つに分割する２つの境界値とを各符号データに対する４つの代表値に決定し、圧縮データに含まれる各符号データをその符号データの値に対応する代表値を階調値とする画素に復元する。
【０００６】
ＢＴＣ圧縮方式では、ブロック内の階調値の分布範囲を符号データのビット数に応じた階調数に正規化するので、ブロック内の階調値の分布範囲が広くなるほど、画素の元の階調値と圧縮・伸張した後の階調値との誤差が大きくなるおそれがある。
【０００７】
そこで、ブロック内の階調値の分布範囲が閾値以上の場合は、閾値未満の場合よりも１画素あたりの符号データのビット数を増やして正規化（量子化）時の階調数を増やすことで、画質の劣化を軽減する画像符号化装置が提案されている（たとえば、特許文献１参照）。この画像符号化装置では、図７に示すように、圧縮回路１００は、ブロック分割された画像データ１０１を入力し、これを第１、第２の圧縮器１０２、１０３の双方で圧縮する。第１の圧縮器１０２で圧縮後の各画素の階調数と第２の圧縮器１０３で圧縮後の各画素の階調数は異なる。ブロック内の最大値と最小値の差分を基準値と比較し、その比較結果のセレクタ信号１０４により、どちらの圧縮器１０２、１０３の出力を有効にするかが決定される。差分（階調値の分布範囲）が大きい場合は小さい場合に比べて階調数が多い第２の圧縮器１０３が選択される。
【０００８】
伸張回路１１０は、圧縮回路１００によって生成された圧縮データ１１１を入力し、該圧縮データ１１１を、これに含まれるビットプレーン情報、平均値、偏差に基づいて２つの伸張器１１２、１１３でそれぞれ伸張する。第１の伸張器１１２の階調数と第２の伸張器１１３の階調数は異なり、各々の伸張器１１２、１１３で伸張した結果のうちどちらの出力を有効にするかは、圧縮データ１１１に含まれるセレクタ信号により決定される。このように、ブロック内の階調値の分布範囲が狭い場合には少ないビット数で圧縮を行い、ブロック内の階調値の分布範囲が広い場合にはより多くのビット数で圧縮を行うので、画質劣化が軽減される。
【０００９】
【特許文献１】特開平１０−６６０７２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
一般的に文字等の線画は、線自体が持つ階調は均一なので、少ない階調数(ビット数)に正規化して圧縮したとしても画質劣化は少ない。しかし、特許文献１に開示された技術では、ブロック内の階調値の分布範囲が基準値以上の場合は階調数の多い第２の圧縮器１０３で圧縮するので、白地に書かれた文字の輪郭部分を含むブロックはそのブロック内の階調値の分布範囲が広いため、階調数の多い第２の圧縮器１０３で圧縮されてしまう。通常の文書では文字部分が大半を占めるので、上記の圧縮方法では圧縮率の低下が深刻な問題になる。
【００１１】
また、圧縮時の階調数の違いを表すためのセレクタ信号を新たに設けているので、その分のデータ量が増加し、さらに圧縮率の低下を招いてしまう。
【００１２】
本発明は、上記の問題を解決しようとするものであり、画質劣化を抑えつつ、文字などの線画に対する圧縮率を高めることのできる画像圧縮装置を提供することを目的としている。
【課題を解決するための手段】
【００１３】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【００１４】
［１］圧縮対象の画像を所定の画素数毎のブロックに分割する分割部と、
前記分割部で分割して得たブロック毎に、階調値の最大値と最小値を求める最大最小検索部と、
前記分割部で分割して得たブロック毎に、そのブロックが、輪郭部分を含まずかつ該ブロックに係る前記最大値と最小値との差が基準値以上の第１種ブロックであるか、第１種ブロック以外の第２種ブロックであるかを判別する判別部と、
前記分割部で分割して得たブロック毎に、そのブロックに関する前記判別部の判別結果が前記第２種ブロックの場合は該ブロックに係る前記最大値と最小値を両端とする階調値の分布範囲をＮ（Ｎは２以上の所定の整数）個の領域に分割し、このブロック内の各画素が前記Ｎ個の領域のいずれに属するかを示す符号データと前記最大値と最小値とを含む圧縮データを出力し、前記判別結果が前記第１種ブロックの場合は該ブロックに係る前記最大値と最小値を両端とする階調値の分布範囲をＭ（ＭはＮより大きい所定の整数）個の領域に分割し、このブロック内の各画素が前記Ｍ個の領域のいずれに属するかを示す符号データと前記最大値と最小値とを含む圧縮データを出力する正規化出力部と、
を備え、
前記正規化出力部は、前記第１種ブロックの場合は前記圧縮データの先頭部にそのブロックに係る前記最大値と最小値とを第１の順序で配列し、前記第２種ブロックの場合は圧縮データの先頭部にそのブロックに係る前記最大値と最小値とを前記第１の順序と逆順の第２の順序で配列する
ことを特徴とする画像圧縮装置。
【００１５】
上記発明では、判別部は、処理対象のブロックが、輪郭部分を含まずかつ該ブロック内の階調値の最大値と最小値との差が基準値以上の第１種ブロックであるか、これ以外の第２種ブロックであるかを判別する。正規化出力部は、第２種ブロックの場合は各画素をＮビット（たとえば２ビット）に正規化し、第１種ブロックの場合は各画素をＭビット（Ｎより大で例えば３ビット）に正規化する。これにより、階調値の分布範囲が基準値より広くかつ文字などの輪郭部を含まないブロック（第１種ブロック）は各画素がより多くのビット数（Ｍビット）で正規化され、画質の劣化を抑えた伸張が可能になる。一方、階調値の分布範囲が基準値より狭いブロックおよび階調値の分布範囲は基準値より広いが文字などの輪郭部を含むブロック（第２種ブロック）の各画素はＭより少ないＮビットに正規化される。第２種ブロックの画像は、少ないビット数で正規化しても画質劣化が少ないので、少ないビット数に正規化しても画質の劣化を防止しつつ圧縮率を高めることができる。
【００１６】
また、第１種ブロックと第２種ブロックとで圧縮データの先頭部に配置する最大値と最小値との配列順序を逆にしたので、伸張時にはこの並び順から１画素あたりの正規化ビット数（階調数）を判別でき、該情報を埋め込むためにデータ量を増加させずに済み、圧縮率の低下を防ぐことができる。
【００１７】
［２］圧縮対象の画像を所定の画素数毎のブロックに分割する分割部と、
前記分割部で分割して得たブロック毎に、階調値の最大値と最小値を求める最大最小検索部と、
前記分割部で分割して得たブロック毎に、そのブロックが、輪郭部分を含まない第１種ブロックであるか、輪郭部分を含む第２種ブロックであるかを判別する判別部と、
前記分割部で分割して得たブロック毎に、そのブロックに関する前記判別部の判別結果が前記第２種ブロックの場合は該ブロックに係る前記最大値と最小値を両端とする階調値の分布範囲をＮ（Ｎは２以上の所定の整数）個の領域に分割し、このブロック内の各画素が前記Ｎ個の領域のいずれに属するかを示す符号データと前記最大値と最小値とを含む圧縮データを出力し、前記判別結果が前記第１種ブロックの場合は該ブロックに係る前記最大値と最小値を両端とする階調値の分布範囲をＭ（ＭはＮより大きい所定の整数）個の領域に分割し、このブロック内の各画素が前記Ｍ個の領域のいずれに属するかを示す符号データと前記最大値と最小値とを含む圧縮データを出力する正規化出力部と、
を備え、
前記正規化出力部は、前記第１種ブロックの場合は前記圧縮データの先頭部にそのブロックに係る前記最大値と最小値とを第１の順序で配列し、前記第２種ブロックの場合は圧縮データの先頭部にそのブロックに係る前記最大値と最小値とを前記第１の順序と逆順の第２の順序で配列する
ことを特徴とする画像圧縮装置。
【００１８】
上記発明では、判別部は、処理対象のブロックが、輪郭部分を含まない第１種ブロックであるか、輪郭部分を含む第２種ブロックであるかを判別する。正規化出力部は、第２種ブロックの場合は各画素をＮビット（たとえば２ビット）に正規化し、第１種ブロックの場合は各画素をＭビット（Ｎより大で例えば３ビット）に正規化する。
【００１９】
［３］前記判別部は、ブロック内で隣接する画素と画素との階調値の差分の最大値が規定値以下の場合に、そのブロックは輪郭部分を含まないと判別する
ことを特徴とする［１］または［２］に記載の画像圧縮装置。
【００２０】
［４］前記正規化出力部は、前記圧縮データを前記第１の順序もしくは第２の順序で配列した最大値と最小値の後ろに各画素に割り当てた前記符号データを配列した構成で出力する
ことを特徴とする［１］乃至［３］のいずれか１つに記載の画像圧縮装置。
【００２１】
［５］前記Ｍ種類を表現可能な最小ビット数は、前記Ｎ種類を表現可能な最小ビット数より大きく、
前記第１種ブロックに係る符号データは前記Ｎ種類を表現可能な最小ビット数の符号データであり、
前記第２種ブロックに係る符号データは前記Ｍ種類を表現可能な最小ビット数の符号データである
ことを特徴とする［１］乃至［４］のいずれか１つに記載の画像圧縮装置。
【００２２】
上記発明では、符号データのビット数が必要最小ビット数になる。
【発明の効果】
【００２３】
本発明に係る画像圧縮装置によれば、画質劣化を抑えつつ、文字などの線画に対する圧縮率を高める。
【発明を実施するための最良の形態】
【００２４】
以下、図面に基づき本発明の実施の形態を説明する。
【００２５】
図１は、本発明の実施の形態に係る圧縮伸張装置５の構成を示している。圧縮伸張装置５は、圧縮対象の画像の画像データを入力し、この画像を所定の画素数毎のブロックに分割しブロック毎に圧縮した圧縮データを出力する機能を果す圧縮回路部（画像圧縮装置）１０と、圧縮回路部１０によって生成された圧縮データを伸張する伸張回路部３０とから構成される。圧縮伸張装置５は、たとえば、原稿のコピー機能やプリント機能などを備えた複合機において、入力される画像データをハードディスク装置などに圧縮して保存し、出力時にハードディスク装置から読み出された圧縮データを伸張するためなどに使用される。
【００２６】
圧縮伸張装置５は、マイクロプログラムを内蔵したシーケンサや論理回路などのハードウェア回路で構成される。なお、圧縮伸張装置５は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などを備えたコンピュータ装置において所定のプログラムを実行することで実現されてもよい。
【００２７】
圧縮回路部１０が使用する圧縮方式は、ＢＴＣ圧縮を基本としたものである。圧縮回路部１０に入力される画像データは、１画素を、たとえば、深さ８ビットの２５６階調で表したビットマップ形式の画像データである。
【００２８】
圧縮回路部１０は、分割部１１と、判別部１２と、最大値最小値検索部１３と、正規化部１４と、出力部１５とを備えて構成される。正規化部１４と出力部１５により正規化出力部は構成される。
【００２９】
分割部１１は、入力された圧縮対象の画像データを所定画素数毎のブロックに分割する。ここでは、図２に示すように、画像Ｍの左上を基点として４画素×４画素のブロックＢＬに分割する。分割部１１は１ブロックを分割する毎にそのブロックの画像データを判別部１２および最大値最小値検索部１３、正規化部１４に送出する。
【００３０】
最大値最小値検索部１３は、分割部１１で分割して得たブロック毎に、そのブロック（分割部１１から入力された処理対象のブロック）に属する画素の階調値の最大値と最小値を求める機能を果す。たとえば、処理対象のブロックの各画素の階調値を順次比較することでそのブロック内の最大値と最小値を検索する。検索結果１６は判別部１２および正規化部１４、出力部１５に送られる。
【００３１】
判別部１２は、分割部１１で分割して得たブロック毎に、そのブロック（分割部１１から入力された処理対象のブロック）が、輪郭部分を含まずかつ該ブロックに係る最大値と最小値（当該ブロックについて最大値最小値検索部１３が求めた最大値と最小値）との差が基準値以上の第１種ブロックであるか、第１種ブロック以外の第２種ブロックであるかを判別する。判別部１２の判別結果を示す属性信号１８は正規化部１４に送られる。
【００３２】
判別部１２は、処理対象のブロック内で隣接する画素と画素との階調値の差分（これを画素差分と呼ぶことにする）の最大値が予め定めた規定値以下の場合は、そのブロックは輪郭部分を含まないと判別する。一方、処理対象のブロック内の画素差分の最大値が規定値を超える場合は、そのブロックは輪郭部分を含むと判別する。
【００３３】
詳細には、図３に示すように、ブロック内の注目画素Ｑとその周囲の８つの画素Ａ〜Ｈとの差分（Ｄｉｆ＿Ａ〜Ｄｉｆ＿Ｈ）をとり、差分の最大値をその画素に対する画素差分とする。そして、ブロック内のすべての画素に関する画素差分を求め、その中の最大値が規定値より大きい場合は、当該ブロックは輪郭部分を含むと判断する。輪郭部分を含むか否かの判別方法はこの方法に限定されるものではない。たとえば、複合機の画像処理部では、一般的に、処理対象の画像の各領域が文字領域か写真領域かの領域判別をフィルター処理等で行っているので、この結果を使用してもよい。
【００３４】
正規化部１４は、分割部１１で分割して得たブロック（分割部１１から入力される処理対象のブロック）毎に、以下の処理を行う。処理対象のブロックに関する判別部１２の判別結果（属性信号１８）が第２種ブロックを示すものである場合は、該ブロックについて最大値最小値検索部１３で検索された最大値と最小値を両端とする階調値の分布範囲をＮ（Ｎは２以上の所定の整数）個の領域に分割（ここではＮ個に等分）し、このブロック内の各画素がＮ個の領域のいずれに属するかを示す符号データ（正規化データ）を生成する。ここでは、Ｎは「４」に設定してあり、１画素あたりの符号データのビット数（正規化ビット数）は４値を表現可能な最小ビット数である２ビットになっている。
【００３５】
正規化部１４は、処理対象のブロックに関する判別部１２の判別結果（属性信号１８）が第１種ブロックを示すものである場合は、該ブロックについて最大値最小値検索部１３で検索された最大値と最小値を両端とする階調値の分布範囲をＭ（ＭはＮより大きい所定の整数）個の領域に分割（ここではＭ個に等分）し、このブロック内の各画素がＭ個の領域のいずれに属するかを示す符号データを生成する。ここでは、Ｍは「８」に設定してあり、１画素あたりの符号データは８値を表現可能な最小ビット数である３ビットになっている。
【００３６】
正規化部１４は、階調値の大きい領域から順に各領域に対して符号データを最小値（「００」や「０００」）から昇順に与えるようになっている。たとえば、符号データが２ビットの場合、最大値と最小値を両端とする領域は４つの領域に分割され、最も階調値の大きい領域０には２進数の符号データ「００」が、その次に階調値の大きい領域１には「０１」が、その次に階調値の大きい領域２には「１０」が、最も階調値の小さい領域３には符号データ「１１」が割り当てられる。
【００３７】
符号データが３ビットの場合は、最大値と最小値を両端とする領域は８つの領域に分割され、最も階調値の大きい領域０には２進数の符号データ「０００」が、その次に階調値の大きい領域１には「００１」が、その次に階調値の大きい領域２には「０１０」が、その次に階調値の大きい領域３には「０１１」が、その次に階調値の大きい領域４には「１００」が、その次に階調値の大きい領域５２には「１０１」が、その次に階調値の大きい領域６には「１１０」が、最も階調値の小さい領域７には符号データ「１１１」が割り当てられる。
【００３８】
また符号データは、図２のブロックＢＬ内の各画素に付してある番号順に配列して生成される。すなわち、ブロック内の左上の画素から同一行内の右側の画素へ順次移動し、右端に至ると１つ下の行の左端に移動して同一行内の右側へ移動するという順序に対応して配列される。
【００３９】
正規化部１４の生成した符号データ１９は、この符号データに係るブロックに関する属性信号１８と共に出力部１５に送られる。
【００４０】
出力部１５は、最大値最小値検索部１３から処理対象のブロックの階調値の最大値と最小値を示す検索結果１６を入力し、正規化部１４からそのブロックに係る符号データ１９と属性信号１８とを入力する。出力部１５は正規化部１４から入力された属性信号１８が第１種ブロックを示す場合は、そのブロックに係る最大値と最小値とを第１の順序で先頭部に配列し、その後ろにそのブロックに属する各画素の符号データを配列した圧縮データを生成して出力する。正規化部１４から入力された属性信号１８が第２種ブロックを示す場合は、先頭部にそのブロックに係る最大値と最小値とを第１の順序と逆順の第２の順序で配列し、その後ろにそのブロックに属する各画素の符号データを配列した圧縮データを生成して出力する。いずれの場合も、符号データの配列順は図２のブロックＢＬ内に示した番号順である。
【００４１】
伸張回路部３０は、圧縮回路部１０の出力した圧縮データを入力し、これを画像データに伸張する機能を果たす。伸張回路部３０は、比較判定部３１と、代表値作成部３２と、代表値置換え部３３とから構成される。
【００４２】
比較判定部３１は、入力されたブロックに係る圧縮データの先頭部に、階調値を示すデータが最大値・最小値の順に配列されているか、最小値・最大値の順に配列されているかを判定し、この判定結果からその圧縮データの符号データの正規化ビット数を示す信号３５を代表値作成部３２へ出力する。
【００４３】
ここでは、最大値・最小値の順に配列されている場合は正規化ビット数が３ビットであることを示す信号３５を出力し、最小値・最大値に配列されている場合は正規化ビット数が２ビットであることを示す信号３５を出力するようになっている。また、比較判定部３１は圧縮データに含まれていた最大値と最小値を代表値作成部３２へ出力する。
【００４４】
代表値作成部３２は、比較判定部３１から入力された正規化ビット数を示す信号と最大値と最小値とから、符号データの各値に対応させる階調値の代表値を算出する。たとえば、代表値作成部３２は最大値と、最小値と、これら最大値と最小値との間を信号３５の示すビット数で表現可能な情報の種類数から１を差し引いた個数の領域に等分した場合の各境界値とをそれぞれ代表値に設定する。昇順に並べた符号データの各値に対して、大きいものから小さいものへ順に代表値を割り当てるようになっている。
【００４５】
代表値置換え部３３は、圧縮データに含まれる各符号データをその符号データの値に対応する代表値の画像データに変換する。１ブロック分の圧縮データに含まれる符号データは、圧縮データ内の配列順に、図２のブロックＢＬ内の番号順に従って配列される。すなわち、ブロック内の左上の画素、その同一行内で順次右側の画素、右端に至ると１つ下の行の左端の画素から順に右側の画素という順序に配列され、１つのブロック分の画像データが再現される。なお、１ブロック内での画素の配列とその画素の符号データの圧縮データ内での配列との対応関係は、図２に示す順序に限定されず、圧縮回路部１０と伸張回路部３０との間で取り決められてあれば、任意の配列順序でかまわない。
【００４６】
次に、圧縮伸張装置５による圧縮伸張の例を図４から図６に示す。階調値は１６進数で示す。ここでは、階調値の最大値と最小値の差分と比較される基準値は８０ｈ（ｈは１６進数を示す記号）とし、輪郭部分を含むか否かの判定に使用する規定値は６０ｈとする。
【００４７】
圧縮回路部１０の判別部１２は、処理対象のブロック内の階調値の最大値と最小値の差分が８０ｈ（基準値）より大きく、かつブロック内の隣接画素間の階調値の差分の最大値が６０ｈ（規定値）未満（輪郭部分を含まない）の場合は、そのブロックを第１種ブロックと判別する。ブロック内の階調値の最大値と最小値の差分が８０ｈ（基準値）より小さい場合、若しくはブロック内の階調値の最大値と最小値との差分が８０ｈ（基準値）より大きくかつブロック内の隣接画素間の階調値の差分の最大値が６０ｈ（規定値）以上（輪郭部分を含む）の場合は、そのブロックを第２種ブロックと判別する。
【００４８】
正規化部１４は、第１種ブロックについては各画素を３ビットに正規化した符号データを生成し、第２種ブロックについては各画素を２ビットに正規化した符号データを生成する。また出力部１５は、圧縮データの先頭部からブロック内の階調値の最大値と最小値を、第１種ブロックの場合は最小値・最大値の順序(第１の順序)で配列し、第２種ブロックの場合は最大値・最小値の順序（第２の順序）で配列するものとする。
【００４９】
図４は、画像Ａの元画像データを圧縮回路部１０で圧縮／伸張する場合における各種のデータを示している。画像Ａの元画像データはブロック内の階調値の最大値９０ｈと最小値６０ｈとの差が３０ｈで基準値の８０ｈより小さいので、第２種ブロックと判別される。その結果、このブロックでは、最大値９０ｈと最小値６０ｈの間が４つの領域に分割され、各画素の階調値を示す画像データはその階調値が属する領域に対応した２ｂｉｔの符号データ（正規化データ）に変換される。圧縮データは、最大値、最小値、各画素の符号データの順に配列されて構成される。
【００５０】
伸張時には、比較判定部３１は圧縮データの先頭部の２バイト（先頭から２バイト）のデータを比較し、１バイト目の値が２バイト目の値より大きいので、２ｂｉｔで正規化されたデータ（第２種ブロック）と判断し、１バイト目の値を最大値、２バイト目の値を最小値としてその間を３つに分割して各符号データ（正規化データ）を復元するときに置き換える代表値を生成して伸張を行う。
【００５１】
図５は、画像Ｂの元画像データを圧縮回路部１０で圧縮／伸張する場合における各種のデータを示している。画像Ｂの元画像データはブロック内の階調値の最大値Ｃ８ｈと最小値２０ｈとの差がＡ８ｈで基準値８０ｈより大きく、かつ、画素差分の最大値が３Ｅｈと規定値の６０ｈより小さいので、第１種ブロックと判別される。その結果、このブロックでは、最大値Ｃ８ｈと最小値２０ｈの間が８つの領域に分割され、各画素の階調値を示す画像データはその階調値が属する領域に対応した３ビットの符号データ（正規化データ）に変換される。圧縮データは、最小値、最大値、各画素の正規化データの順に配列されて構成される。
【００５２】
伸張時には、比較判定部３１は圧縮データの最初の２バイトを比較し、１バイト目が２バイト目より小さいので、３ｂｉｔで正規化された圧縮データ（第１種ブロック）と判断して伸張を行う。
【００５３】
図６は、画像Ｃの元画像データを圧縮回路部１０で圧縮／伸張する場合における各種のデータを示している。画像Ｃの元画像データはブロック内の階調値の最大値Ｃ８ｈと最小値２０ｈとの差がＡ８ｈで基準値８０ｈより大きいが、画素差分の最大値がＡ１ｈで規定値の６０ｈより大きいので、第２種ブロックと判別される。その結果、このブロックでは、最大値Ｃ８ｈと最小値２０ｈの間が４つの領域に分割され、各画像の階調値を示す画像データはその階調値が属する領域に対応する２ビットの符号データ（正規化データ）に変換される。圧縮データは、最大値、最小値、各画素の正規化データの順に配列されて構成される。
【００５４】
伸張時には、比較判定部３１は圧縮データの最初の２バイトを比較し、１バイト目が２バイト目より大きいので、２ｂｉｔで正規化された圧縮データ（第２種ブロック）と判断して伸張を行う。
【００５５】
このように、各ブロックをその画像の特性に合わせて圧縮するので、画質劣化が少なく、かつ文字等の線画に対して圧縮率を向上することができる。すなわち、階調値の分布範囲が基準値より広くかつ文字などの輪郭部を含まないブロック（第１種ブロック）は各画素が多くのビット数（Ｍビット）で正規化されるので、画質劣化を抑えた伸張が可能になる。一方、階調値の分布範囲が基準値より狭いブロックおよび階調値の分布範囲は基準値より広いが文字などの輪郭部を含むブロック（第２種ブロック）の画像は、少ないビット数で正規化しても画質劣化が少ないので、Ｍより少ないＮビット数に正規化しても画質の劣化を防止しつつ圧縮率が高めることができる。
【００５６】
また、圧縮時に各画素が何ビットに正規化されているかを示す情報、すなわち、各画素２ビットの符号データを使用した第１種ブロックの圧縮データであるか、各画素３ビットの符号データを使用した第２種ブロックの圧縮データであるかを識別するための情報を、圧縮データに元々含まれる最大値と最小値の順序が、最大値・最小値の順であるか、最小値・最大値の順であるかによって表したので、その情報を埋め込むためにデータ量を増加させずに済み、圧縮率の低下を防ぐことができる。
【００５７】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【００５８】
たとえば、実施の形態では、判別部１２は、輪郭部分を含まずかつ該ブロックに係る最大値と最小値の差が基準値以上の場合は第１種ブロックと判別し、第１種ブロック以外のブロックは第２種ブロックと判別するようにしたが、最大値と最小値との差を基準値と比較する条件に含めず判別してもよい。すなわち、輪郭部分を含まない場合は第１種ブロックと判別し、輪郭部分を含む場合は第２種ブロックと判別するように構成されてもよい。輪郭部分を含む場合は、隣接画素の差分が規定値以上なので、少なくともそのブロック内の階調値の最大値と最小値との差は規定値以上になる。このため、輪郭部分を含むか否かのみによって第１種ブロックか第２種ブロックかを判別しても、基準値との比較を含めて判別した場合と類似の判別結果を得ることができる。
【００５９】
また、実施の形態では、第１種ブロックの場合は圧縮データの先頭部に最小値・最大値の順にデータを配列し、第２種ブロックの場合は最大値・最小値の順に配列したが、並び順は上記の逆でも構わない。圧縮回路部１０と伸張回路部３０との間でその順序が取り決められていればよい。
【００６０】
符号化データを２ビットにする場合と３ビットにする場合とを例示したが、２ビットと３ビットに限定されるものではなく、元の画像データの１画素のビット数より少ない任意のビット数の中から選択される任意の２種類のビット数で構わない。
【００６１】
このほか、基準値や規定値の値は実施の形態で例示した値に限定されず、適宜の値に任意に設定することができる。なお、基準値や規定値を設定変更可能に構成されてもよい。また、１ブロックのサイズは実施の形態で例示したものに限定されない。
【図面の簡単な説明】
【００６２】
【図１】本発明の実施の形態に係る圧縮伸張装置の概略構成を示すブロック図である。
【図２】圧縮対象の画像をブロックに分割する様子を模擬的に示す説明図である。
【図３】輪郭部分を含む／含まないの判定における隣接画素の階調値の比較例を示す説明図である。
【図４】画像Ａの元画像データを圧縮回路部で圧縮／伸張する場合における各種のデータを示す説明図である。
【図５】画像Ｂの元画像データを圧縮回路部で圧縮／伸張する場合における各種のデータを示す説明図である。
【図６】画像Ｃの元画像データを圧縮回路部で圧縮／伸張する場合における各種のデータを示す説明図である。
【図７】従来の圧縮伸張回路を示すブロック図である。
【符号の説明】
【００６３】
５…圧縮伸張装置
１０…圧縮回路部
１１…分割部
１２…判別部
１３…最大値最小値検索部
１４…正規化部
１５…出力部
１６…検索結果
１８…属性信号
１９…符号データ
３０…伸張回路部
３１…比較判定部
３２…代表値作成部
３３…代表値置換え部
３５…正規化ビット数を示す信号
【図１】
0004462359.tif 000002
【図２】
0004462359.tif 000003
【図３】
0004462359.tif 000004
【図４】
0004462359.tif 000005
【図５】
0004462359.tif 000006
【図６】
0004462359.tif 000007
【図７】
0004462359.tif 000008