(57)【要約】【課題】画像を複数のブロックに分割して圧縮するに際して、同じ画像内容のブロックが連続する場合の圧縮率を高める画像圧縮装置を提供する。【解決手段】ブロック分割部１１にて画像を４×４画素のブロックに分割し、ブロック内の画素値の最大値と最小値が同一でない場合は、ブロック単位に所定の圧縮を行い、最大値と最小値が同一の場合はそれと同じ画像内容のブロックの連続数を計数し、これら連続するブロックを１つの塊として扱い、そのいずれか１つのブロックを圧縮したデータと連続ブロック数を示すカウントデータとを含む圧縮データに変換する。【選択図】図１
2010074676.tif 000002
【特許請求の範囲】
【請求項１】
圧縮対象の画像データを複数のブロックに分割する分割部と、
前記分割部で分割して得た各ブロックを順次圧縮する圧縮部と、
を備え、
前記圧縮部は、同一画像内容の連続するブロックを、そのいずれか１つのブロックを圧縮したデータと連続ブロック数を示すカウントデータとを含む圧縮データに変換する
ことを特徴とする画像圧縮装置。
【請求項２】
前記圧縮部は、ブロック内の全画素の画素値が同一のブロックを対象に、前記連続するブロックを検出する
ことを特徴とする請求項１に記載の画像圧縮装置。
【請求項３】
画像データを複数のブロックに分割して得た各ブロックを順次圧縮して生成された圧縮画像データであって同一画像内容の連続するブロックがそのいずれか１つのブロックを圧縮して得た基本データ部と連続ブロック数を示すカウントデータとを含む連続圧縮データに変換された圧縮画像データを伸長する画像伸長装置であって、
前記連続圧縮データを検出する検出部と、
前記検出部によって検出された前記連続圧縮データの前記基本データ部を１ブロック分の画像データに伸長し、該１ブロック分の画像データを前記連続圧縮データのカウントデータが示す連続ブロック数と同じ回数繰り返し出力する反復出力部と、
を有する
ことを特徴とする画像伸長装置。
【請求項４】
前記同一画像内容の連続するブロックはそれぞれブロック内の全画素の画素値が同一のブロックである
ことを特徴とする請求項３に記載の画像伸長装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを圧縮する画像圧縮装置およびその圧縮データを伸長する画像伸長装置に係り、特に、画像を複数のブロックに分割して圧縮・伸長する画像圧縮装置および画像伸長装置に関する。
【背景技術】
【０００２】
ディジタル複合機などの装置では、ビットマップ形式の画像データをメモリやハードディスク装置に保存する場合に必要な記憶容量を削減するために画像データを圧縮して保存することが行われる。
【０００３】
その圧縮方式の１つにＢＴＣ（Block Truncation Coding）圧縮方式がある。ＢＴＣ圧縮では、圧縮対象の画像を所定の画素数（たとえば、４画素×４画素）毎のブロックに分割し、各ブロックを、そのブロックに属する画素の階調値の分布範囲を示す情報（たとえば、最大値と最小値）と、該分布範囲内においてブロック内の各画素の階調値を元の画像データの階調数より少ない階調数で正規化した符号データとで表わした圧縮データを生成する。
【０００４】
伸張時には、圧縮データに含まれる最大値と最小値が示す階調値の分布範囲から符号データの各値に対する代表値を決定し、圧縮データに含まれる各符号データをその対応する代表値の画像データに変換して画像を復元するようになっている。
【０００５】
図１２は、従来から使用されているＢＴＣ方式の圧縮伸張回路２００の一例を示すブロック図である。圧縮伸張回路２００は、圧縮回路部２１０と、この圧縮回路部２１０によって生成された圧縮画像データを伸張する伸張回路部２３０とから構成されている。
【０００６】
圧縮回路部２１０は、ブロック分割部２１１と、最大値最小値検索部２１２と、閾値生成部２１３と、正規化部２１４とを備えて構成される。ブロック分割部２１１は、入力された圧縮対象の画像データを所定画素数毎（例えば、４画素×４画素）のブロックに分割する。最大値最小値検索部２１２は、分割後のブロック毎にそのブロックに属する画素の画素値（階調値）の最大値と最小値を求める。
【０００７】
閾値生成部２１３は、最大値最小値検索部２１２で求めた最大値と最小値を両端とする範囲を予め定めたＮ（たとえば、「４」）個の領域に分割するための閾値（第１、２、３閾値）を生成し、これらを正規化部２１４に出力する。正規化部２１４は、閾値生成部２１３から入力される閾値を基準にして、ブロック内の各画素がＮ個の領域のいずれに属するかを示す符号データ（正規化データ）を生成し、最大値と最小値と符合データとで構成された圧縮画像データを出力する。
【０００８】
伸張回路部２３０は、比較判定部２３１と、代表値生成部２３２と、代表値置換え部２３３とを備えて構成される。比較判定部２３１は、圧縮画像データに含まれる最大値と最小値を比較し、最大値と最小値と正規化ビット数を示す信号を代表値生成部２３２に出力する。これらに基づき代表値生成部２３２は、符号データの各値に対応させる画素値（階調値）の代表値を算出する。代表値置換え部２３３は、圧縮画像データに含まれる各符号データをその符号データの値に対応する代表値の画像データに変換して出力する。
【０００９】
図１３は、画像データの圧縮例を示し、図１４は、その圧縮画像データの伸張例を示している。この例では、各画素を８ビット２５６階調（図中では階調値を１６進数で標記）で表した４画素×４画素の１ブロック分の元画像データ２５０を、１画素あたり２ビット（４階調）の符号データでＢＴＣ圧縮している。
【００１０】
図１３（ａ）に示すように、圧縮時にはブロック内の階調値の最大値ＦＦｈと最小値００ｈを検出し、これらを両端とする分布範囲が４等分され、階調値Ｄが、最大値（ＦＦｈ）≧Ｄ＞閾値３（Ｃ０ｈ）の画素は２ビットの符号データ「１１」に、閾値３（Ｃ０ｈ）≧Ｄ＞閾値２（８０ｈ）の画素は符号データ「１０」に、閾値２（８０ｈ）≧Ｄ＞閾値１（４０ｈ）の画素は符号データ「０１」に、閾値１（４０ｈ）≧Ｄ≧最小値（００ｈ）の画素は符号データ「００」に正規化（符号化）される。圧縮データ２５１はこれら１６画素分の符号データ（３２ビット）と最大値ＦＦｈ（８ビット）と最小値００ｈ（８ビット）を示すデータとで構成され、そのデータ量は６バイト（４８ビット）になる。圧縮画像データは、図１３（ｂ）に示すように、最大値、最小値、符号データの順に配列される。
【００１１】
図１４に示すように、伸張時には、最大値、最小値および正規化ビット数を示すデータから、各符号データの値に対応する画素値（代表値）を求める。すなわち、たとえば、最大値ＦＦｈ、最小値００ｈの場合は、最大値ＦＦｈを符号データ「１１」に対応する代表値４に、最小値００ｈを符号データ「００」に対応する代表値１に、この最大値と最小値が示す範囲を３等分する２つの境界値のうち大きい方のＡＡｈを符号データ「１０」に対応する代表値３に、小さい方の５５ｈを符号データ「０１」に対応する代表値２に設定する。そして、圧縮データ２５１に含まれる各符号データをその符号データの値に対応する代表値に変換することで１ブロック分の伸張データ２５２に変換する。
【００１２】
この圧縮・伸張方式では、図１５に示すように、ブロック内の全画素の階調値（画素値）が同一（この例では全画素ＦＦｈ）の場合でも、１ブロック分の圧縮画像データのデータ量は、図１３に例示した画像データ２５０を圧縮した場合と同じ４８ビットになる。図１５（ａ）は圧縮前、圧縮時・伸張後の各データを、図１５（ｂ）は圧縮画像データの配列を示している。
【００１３】
同一の画像データが連続する場合の圧縮効率を高めるように改善した画像処理装置としては、たとえば、連続する２つブロックの圧縮データを１バイト単位で比較し、圧縮データの同一部分を「０」、異なっている部分を「１」で示すフラグ列を設け、フラグが「０」に対応する部分のデータを省略するといった２次圧縮を行うものである（たとえば、特許文献１参照。）
【００１４】
【特許文献１】特開２００７−４３５７７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
特許文献１に開示された圧縮方式では、当該圧縮データと１つ前の圧縮データとを比較して当該圧縮データを２次圧縮するので、全く同じ圧縮データが多く連続した場合でも、圧縮データ毎に、圧縮データのバイト数分のフラグ列が２次圧縮で付加されてしまい、圧縮効率が十分でないという問題点があった。
【００１６】
本発明は、上記の問題を解決しようとするものであり、画像を複数のブロックに分割して圧縮するに際して、同じ画像内容のブロックが連続する場合の圧縮率を高める画像圧縮装置および対応する画像伸張装置を提供することを目的としている。
【課題を解決するための手段】
【００１７】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【００１８】
［１］圧縮対象の画像データを複数のブロックに分割する分割部と、
前記分割部で分割して得た各ブロックを順次圧縮する圧縮部と、
を備え、
前記圧縮部は、同一画像内容の連続するブロックを、そのいずれか１つのブロックを圧縮したデータと連続ブロック数を示すカウントデータとを含む圧縮データに変換する
ことを特徴とする画像圧縮装置。
【００１９】
上記発明では、同一画像内容の連続するブロックは、それらを１つの塊として、いずれか１つのブロック（たとえば、連続の先頭ブロック）を圧縮したデータと連続ブロック数を示すデータとからなる圧縮データに圧縮される。
【００２０】
［２］前記圧縮部は、ブロック内の全画素の画素値が同一のブロックを対象に、前記連続するブロックを検出する
ことを特徴とする［１］に記載の画像圧縮装置。
【００２１】
上記発明では、同一画像内容の連続するブロックは、ブロック内の全画素の画素値が同一であるブロックを対象にして検出される。
【００２２】
［３］画像データを複数のブロックに分割して得た各ブロックを順次圧縮して生成された圧縮画像データであって同一画像内容の連続するブロックがそのいずれか１つのブロックを圧縮して得た基本データ部と連続ブロック数を示すカウントデータとを含む連続圧縮データに変換された圧縮画像データを伸長する画像伸長装置であって、
前記連続圧縮データを検出する検出部と、
前記検出部によって検出された前記連続圧縮データの前記基本データ部を１ブロック分の画像データに伸長し、該１ブロック分の画像データを前記連続圧縮データのカウントデータが示す連続ブロック数と同じ回数繰り返し出力する反復出力部と、
を有する
ことを特徴とする画像伸長装置。
【００２３】
上記発明では、［１］、［２］に記載の画像圧縮装置によって圧縮して得た圧縮画像データに対応した伸張が行われる。
【００２４】
［４］前記同一画像内容の連続するブロックはそれぞれブロック内の全画素の画素値が同一のブロックである
ことを特徴とする［３］に記載の画像伸長装置。
【発明の効果】
【００２５】
本発明に係る画像圧縮装置によれば、画像を複数のブロックに分割して圧縮するに際して、同じ画像内容のブロックが連続する場合の圧縮率を高めることができる。また本発明に係る画像伸張装置によれば、このように圧縮された圧縮画像データを伸張することができる。
【発明を実施するための最良の形態】
【００２６】
以下、図面に基づき本発明の実施の形態を説明する。
【００２７】
図１は、本発明の実施の形態に係る画像圧縮装置１０の構成を示している。画像圧縮装置１０は、たとえば、原稿のコピー機能やプリント機能などを備えた複合機において、画像データをハードディスク装置などに圧縮して保存する際に使用される。画像圧縮装置１０は、マイクロプログラムを内蔵したシーケンサや論理回路などのハードウェア回路で構成される。
【００２８】
画像圧縮装置１０が使用する圧縮方式は、ＢＴＣ圧縮を基本としたものである。また、入力される画像データは、１画素を、たとえば、深さ８ビットの２５６階調で表したビットマップ形式の画像データである。
【００２９】
画像圧縮装置１０は、ブロック分割部１１と、最大値最小値検索部１２と、閾値生成部１３と、正規化部１４と、出力部１５と、連続圧縮部１６とを備えて構成される。
【００３０】
ブロック分割部１１は、入力された圧縮対象の画像データを所定画素数毎のブロックに分割する。ここでは、図２に示すように、画像Ｍの左上を基点として４画素×４画素のブロックＢＬに分割する。ブロック分割部１１は分割したブロックを順次、最大値最小値検索部１２および正規化部１４に送出する。
【００３１】
最大値最小値検索部１２は、ブロック分割部１１で分割して得たブロック毎に、そのブロックに属する画素の画素値（階調値）の最大値と最小値を求める。たとえば、ブロック内の各画素の画素値を順次比較することでそのブロックにおける画素値の最大値と最小値を検出する。検出結果は閾値生成部１３および連続圧縮部１６に入力される。
【００３２】
閾値生成部１３は、最大値最小値検索部１２から入力された最大値と最小値を両端とする画素値の分布範囲をＮ（Ｎは２以上の整数）個の領域に分割（ここでは等分）するためのＮ−１個の閾値を生成し、最大値と、これらＮ−１個の閾値と、最小値とを正規化部１４に出力する。ここでは、Ｎ＝４に設定してあり、最大値（Max）と、第３閾値と、第２閾値と、第１閾値と、最小値（Min）が閾値生成部１３から正規化部１４へ出力される。これらは、最大値（Max）＞第３閾値＞第２閾値＞第１閾値＞最小値（Min）の関係にある。
【００３３】
正規化部１４は、閾値生成部１３から入力される閾値を基準にして、ブロック内の各画素がＮ個の領域のいずれに属するかを示す符号データを生成し、最大値と最小値と画素数分の符合データとをこの順序で配列させた圧縮画像データを生成する。ここでは、Ｎ＝４なので、１画素あたりの符号データのビット数は４つの領域を表現可能な最小ビット数の２ビットであり、画素値Ｄが、最大値≧Ｄ＞閾値３の画素は「１１」、閾値３≧Ｄ＞閾値２の画素は「１０」、閾値２≧Ｄ＞閾値１の画素は「０１」、閾値１（４０ｈ）≧Ｄ≧最小値の画素は「００」の符号データに変換される。符号データは、図２のブロックＢＬ内の各画素に付してある番号順に配列される。
【００３４】
連続圧縮部１６は、同一画像内容のブロックが連続する場合に、これら連続するブロックを、そのいずれか１つのブロックを圧縮したデータ（基本データ部）と連続ブロック数を示すカウントデータとを含む圧縮データ（連続圧縮データ）に変換する機能を果たす。ここでは、ブロック内の全画素の画素値が同一であってその画素値がブロック相互で同一の連続するブロックを、同一画像内容の連続する複数ブロックとして検出する。すなわち、ブロック内の全画素の画素値が同一（最大値＝最小値）のブロックを検出した場合に、この最大値および最小値を持つブロックの連続数（連続ブロック数）をカウントし、その連続するブロックを１つの塊として連続圧縮データに変換する。この際、ブロック内の全画素の画素値が同一のブロックの連続数が１の場合にもそのブロックを連続圧縮データの形式で圧縮するようにしている。
【００３５】
より詳細には、連続圧縮部１６は、第１比較器２１と、レジスタ部２２と、第２比較器２３と、第３比較器２４と、ＡＮＤ回路２５と、カウンタ部２６とを備えて構成される。第１比較器２１は、最大値最小値検索部１２から入力された最大値と最小値を比較し、これらが一致する場合に「１」（論理的に真）となる第１一致信号３１を出力する。最大値と最小値が一致することをもってブロック内の全画素の画素値が同一であると判定している。なお、第１比較器２１は入力された最大値と最小値をそのまま後段の比較器へ出力する。
【００３６】
レジスタ部２２は、最大値最小値検索部１２から入力された最大値と最小値を保持し、その保持している最大値と最小値を１ブロック分遅延させて、すなわち、次のブロックの最大値と最小値が最大値最小値検索部１２から入力されるタイミングで、出力する。
【００３７】
第２比較器２３は、第１比較器２１から入力された最大値とレジスタ部２２から入力された１ブロック前の最大値とを比較し、これらが一致する場合に「１」（論理的に真）となる第２一致信号３２をＡＮＤ回路２５の一方の入力へ出力する。すなわち、現在のブロックの最大値と１つ前のブロックの最大値とが一致する場合に「１」となる第２一致信号３２を出力する。
【００３８】
第３比較器２４は第１比較器２１から入力された最小値とレジスタ部２２から入力された１ブロック前の最小値とを比較し、これらが一致する場合に「１」（論理的に真）となる第３一致信号３３をＡＮＤ回路２５の他方の入力へ出力する。すなわち、現在のブロックの最小値と１つ前のブロックの最小値とが一致する場合に「１」となる第３一致信号３３を出力する。
【００３９】
カウンタ部２６には、第１一致信号３１とＡＮＤ回路２５の出力信号３４とが入力され、出力信号３４が「１」（論理的に真）かつ第１一致信号３１が「１」となった回数を計数する。値が「１」の第１一致信号３１は現在のブロックの最大値と最小値が一致していることを示し、ＡＮＤ回路２５の出力信号３４は「１」の場合に現在のブロックの最大値と１つ前のブロックの最大値とが一致しかつ現在のブロックの最小値と１つ前のブロックの最小値とが一致することを示す。したがって、出力信号３４が「１」かつ第１一致信号３１が「１」となった回数を計数することで、現在のブロックの最大値と最小値が一致しかつその最大値と最小値をもつブロックの連続回数（連続ブロック数）が計数される。
【００４０】
なお、連続圧縮部１６は、１ブロックの入力を単位に動作する。たとえば、１ブロック分の画像データの入力毎に図示省略のシーケンサがパルス信号を発生し、このパルス信号をクロックとして動作するようになっている。また、第１一致信号３１が「１」で出力信号３４が「０」のとき、最大値と最小値が同一のブロックの１ブロック目を検出したことになるので、このときカウンタ部２６の計数値が「１」に初期化されるようになっており、その次のブロックも同一内容のブロックが連続するときは、第１一致信号３１が「１」かつ出力信号３４が「１」となり、カウンタ部２６の計数値は＋１されて「２」になる。
【００４１】
すなわち、第１一致信号３１が「１」かつ出力信号３４が「０」となった時のブロックは、最大値と最小値が同一となるブロックの最初のブロックと認識し、その後、第１一致信号３１が「１」かつ出力信号３４が「１」の状態が継続する間は同じ画像内容のブロックが連続しているのでそのブロック数を計数し、第１一致信号３１が「１」かつ出力信号３４が「１」の状態でない状態（第１一致信号３１＝０、または第１一致信号３１＝１かつ出力信号３４＝０）に変化したとき、その１つ手前のブロックで連続が途絶えた（１つ前のブロックが連続の最終ブロックである）と認識するようになっている。
【００４２】
出力部１５は、第１一致信号３１が「０」となるブロックについては、正規化部１４から出力される圧縮画像データ、すなわち、図３（ａ）に示すように、最大値を示すデータ４１と、最小値を示すデータ４２と、１ブロック分の符合データ４３とで構成されたブロック単位の圧縮画像データ（これをブロック毎圧縮データ４０Ａと呼ぶ。）を出力する。一方、第１一致信号３１が「１」のときは連続ブロック数を計数し、図３（ｂ）に示すように、最大値を示すデータ４１と、最小値を示すデータ４２と、連続ブロック数を示すデータ（カウントデータ４４）とで構成された圧縮画像データ（これを連続圧縮データ４０Ｂと呼ぶ。）を出力する。
【００４３】
カウントデータ４４は連続が途絶える直前のカウンタ部２６の計数値である。連続圧縮データでは、最大値を示すデータと最小値を示すデータとにより、１ブロック分の画像内容を示している。すなわち、最大値＝最小値であるので、１ブロックの全画素が最大値を画素値とする画素であることを表している。カウントデータ４４はその１ブロック分の画像と同一の画像が何ブロック連続するかを表わしている。
【００４４】
なお、ブロック内の全画素の画素値が同一のブロック（最大値＝最小値のブロック）がその前後のブロックと画像内容が一致しない場合にも、連続ブロック数＝１としてそのブロックを連続圧縮データの形式で圧縮するようにしている。これは、最大値＝最小値となる条件を圧縮画像データのデータ形式が連続圧縮データ４０Ｂであることを示す情報として利用するためである。
【００４５】
本実施の形態では、カウントデータ４４は可変長になっている。図４はカウントデータ４４のデータ構造を示している。カウントデータ４４は、１または複数バイトで構成され、各バイトの最上位ビットは、そのバイトが最終バイトか否かを示すFullbit４６になっており、１〜７ビット目までがカウント値を表わす。Fullbit４６は「０」で最終バイトであることを示す。カウントデータの上位バイトにおけるカウント数「１」は、その下位バイトのカウント値の「最大値＋１」に相当する。たとえば、図中のカウントデータ４４ａは連続ブロック数「１」を示し、カウントデータ４４ｂは連続ブロック数「１２７」を示し、カウントデータ４４ｃは連続ブロック数「１２８」を示している。
【００４６】
図５は、画像伸張装置６０の構成を示している。画像伸張装置６０は、マイクロプログラムを内蔵したシーケンサや論理回路などのハードウェア回路で構成される。画像伸張装置６０は、画像圧縮装置１０の出力した圧縮画像データを伸張して画像データに変換する機能を果たす。画像伸張装置６０は、比較判定部６１と、代表値生成部６２と、代表値置換え部６３と、カウンタ部６４と、出力部６５とを備えて構成される。
【００４７】
画像伸張装置６０は、ブロック毎圧縮データ４０Ａについては、その最大値データ４１と最小値データ４２と符合データ４３に基づいて１ブロック分の画像データを伸張し、連続圧縮データ４０Ｂを検出した場合は、その連続圧縮データ４０Ｂの最大値データ４１と最小値データ４２に基づいての１ブロック分の画像データ（全画素の画素値が最大値となる１ブロック分の画像データ）を生成し、該１ブロック分の画像データをカウントデータ４４が示す連続ブロック数と同じ回数繰り返し出力して、連続ブロック数分の画像データに伸張するようになっている。
【００４８】
なお、画像伸張装置６０は、圧縮画像データの先頭にある最大値データ４１と最小値データ４２とが相違する場合はブロック毎圧縮データ４０Ａであると認識して次のブロックに係るデータの区切りを把握する。また、最大値データ４１と最小値データ４２とが一致する場合は連続圧縮データ４０Ｂであると認識して当該連続圧縮データ４０Ｂの終端（次のブロックに係るデータとの区切り）を把握するようになっている。
【００４９】
比較判定部６１は、入力された圧縮画像データの先頭部に配列されている最大値を示すデータ４１と最小値を示すデータ４２とを比較し、この圧縮画像データがブロック毎圧縮データ４０Ａであるか連続圧縮データ４０Ｂであるかを判定する。そして、検出した最大値と、最小値と、予め定められている正規化ビット数（ここでは２ビット）を示す信号とを代表値生成部６２に出力する。
【００５０】
これらに基づき、代表値生成部６２は符号データの各値に対応させる画素値（階調値）である代表値を算出する。たとえば、代表値生成部６２は最大値と、最小値と、これら最大値と最小値との間を指定された正規化ビット数で表現可能な情報数（たとえば、２ビットなら「４」）から１を差し引いた個数の領域に等分した場合の各境界値とをそれぞれ代表値に設定する。最大値がＦＦｈで、最小値が００ｈで、正規化ビット数が２の場合、代表値は、最大値と等しい第４代表値（ＦＦｈ）と、最小値＋（最大値＋最小値）／３×２である第３代表値（Ｃ０ｈ）と、最小値＋（最大値＋最小値）／３である第２代表値（５５ｈ）と、最小値と等しい第１代表値（００ｈ）となる。
【００５１】
代表値置換え部６３は、ブロック毎圧縮データ４０Ａであるのか連続圧縮データ４０Ｂであるのかを示す情報を比較判定部６１から受け取る。そして、ブロック毎圧縮データ４０Ａの場合は、それに含まれる各画素の符号データをその符号データの値に対応する代表値の画像データに変換する。ここでは、符号データ「００」は第１代表値（上記の例では００ｈ）に、符号データ「０１」は第２代表値（上記の例では５５ｈ）に、符号データ「１０」は第３代表値（上記の例ではＣ０ｈ）に、符号データ「１１」は第４代表値（上記の例ではＦＦｈ）にそれぞれ変換される。
【００５２】
ブロック毎圧縮データ４０Ａに含まれる符号データは、符号データ内の先頭から順に画素値に変換され、図２のブロックＢＬ内の番号順に従って配列されて１ブロックの画像データに伸張される。なお、１ブロック内での画素の配列と符号データ内における配列との対応関係は、図２に示す順序に限定されず、画像圧縮装置１０と画像伸張装置６０との間で取り決められてあれば、任意の配列順序でかまわない。
【００５３】
代表値置換え部６３は、伸張対象の圧縮画像データが連続圧縮データ４０Ｂの場合は、その先頭のデータ４１が示す値（最大値）をブロック内の全ての画素の画素値とする１ブロック分の画像データを生成する。
【００５４】
カウンタ部６４は、ブロック毎圧縮データ４０Ａであるのか連続圧縮データ４０Ｂであるのかを示す情報を比較判定部６１から受け取り、連続圧縮データ４０Ｂの場合はそのカウントデータ４４の示す値を計数値の初期値としてロードし、出力部６５から１ブロック分の画像データが出力される毎にその計数値を減算する。
【００５５】
出力部６５は、カウンタ部６４の計数値が「０」の場合は、代表値置換え部６３から出力される画像データ（ブロック毎圧縮データ４０Ａを伸張したもの）を出力し、カウンタ部６４の計数値が「０」から「１」以上の値に変化した場合（上記ロード時）は、その変化後に代表値置換え部６３から出力される１ブロック分のデータ（連続圧縮データ４０Ｂの最大値データ４１を全画素の画素値とする１ブロック分の画像データ）をカウンタ部６４の計数値が０になるまで繰り返し出力する。すなわち、ロードされた値（カウントデータ４４の値）が「Ｎ」ならば同じ値の画像データをＮブロック分出力する。
【００５６】
次に、画像圧縮装置１０および画像伸張装置６０による圧縮・伸張の例を示す。ここでは、各画素は８ビット２５６階調で表され、１ブロックは４画素×４画素の矩形であり、各画素の正規化ビット数は２ビットとする。また、図中の画素値、閾値、代表値は１６進数で示してある。
【００５７】
図６は、画像Ａの画像データ（元データ７１）を画像圧縮装置１０で圧縮し、その圧縮画像データ７２を画像伸張装置６０で伸張して伸張データ７３に変換する場合を例示している。画像Ａの元データ７１はブロック内の画素値の最大値（ＦＦｈ）と最小値（００ｈ）が相違するので、ブロック毎圧縮データ４０Ａとして圧縮される。最大値ＦＦｈと最小値００ｈの間は、第１閾値４０ｈ、第２閾値８０ｈ、第３閾値Ｃ０ｈによって４つの領域に分割され、画素値Ｄが、最大値（ＦＦｈ）≧Ｄ＞第３閾値（Ｃ０ｈ）の画素は２ビットの符号データ「１１」に、第３閾値（Ｃ０ｈ）≧Ｄ＞第２閾値（８０ｈ）の画素は符号データ「１０」に、第２閾値（８０ｈ）≧Ｄ＞第１閾値（４０ｈ）の画素は符号データ「０１」に、第１閾値（４０ｈ）≧Ｄ≧最小値（００ｈ）の画素は符号データ「００」にそれぞれ変換されて符号化される。圧縮画像データ７２は、同図（ｂ）に示すように、最大値、最小値、各画素の符号データの順に配列されて出力される。
【００５８】
伸張時は、圧縮画像データの先頭部にある最大値と最小値が異なるのでブロック毎圧縮データ４０Ａであると認識されて伸張処理が行われる。まず、最大値ＦＦｈを符号データ「１１」に対応する第４代表値に、最小値００ｈを符号データ「００」に対応する第１代表値に、この最大値と最小値が示す範囲（ＦＦｈ〜００ｈ）を３等分する２つの境界値のうち大きい方のＡＡｈを符号データ「１０」に対応する第３代表値に、小さい方の５５ｈを符号データ「０１」に対応する第２代表値にする。そして、圧縮画像データ７２に含まれる各符号データをその符号データの値に対応する代表値に変換することで１ブロック分の伸張データ７３に伸張する。
【００５９】
図７は、画像Ｂの画像データ（元データ７５Ｂ）を画像圧縮装置１０で圧縮し、その圧縮画像データ７７Ｂを画像伸張装置６０で伸張して伸張データ７８Ｂに変換する場合を例示している。画像Ｂの元データ７５Ｂはブロック内の画素値の最大値（ＦＦｈ）と最小値（ＦＦｈ）が一致するので、連続圧縮データ４０Ｂとして圧縮される。ここで、画像Ｂは前ブロック７４とも次ブロック７６とも同一画像内容でないので、連続ブロック数は「１」になる。すなわち、前ブロック７４は最大値＝最小値であるがその画素値はＦ０ｈであって画像Ｂの画素値ＦＦｈと相違する。また次ブロック７６は最大値と最小値が一致するブロックではない。したがって、画像Ｂは、連続圧縮データ４０Ｂのデータ形式であって最大値＝最小値＝ＦＦｈ、カウントデータ４４＝１、の圧縮画像データ７７Ｂに圧縮される。
【００６０】
伸張時は、圧縮画像データ７７Ｂの先頭部にある最大値と最小値が一致するので連続圧縮データ４０Ｂであると認識されて伸張処理が行われる。すなわち、最大値を全画素の画素値とする１ブロック分の画像を生成し、カウントデータの示す連続ブロック数が「１」なので、この１ブロック分の画像を伸張データ７８Ｂとして出力した段階で圧縮画像データ７７Ｂに対する伸張処理を終了する。
【００６１】
図８は、最大値＝最小値＝ＦＦｈのブロックが１０ブロック連続している画像Ｃ（元データ７５Ｃ）を圧縮・伸張した場合を例示している。連続ブロック数が１０（Ａ０ｈ）なので、画像Ｃは、連続圧縮データ４０Ｂのデータ形式であって最大値＝最小値＝ＦＦｈ、カウントデータ４４＝Ａ０ｈ、の圧縮画像データ７７Ｃに圧縮される。伸張時は、圧縮画像データ７７Ｃの先頭部にある最大値と最小値が一致するので連続圧縮データ４０Ｂであると認識され、またカウントデータ４４の値がＡ０ｈなので、全画素の画素値ＦＦｈのブロックが１０回繰り返し出力される。
【００６２】
図９は、最大値＝最小値＝ＦＦｈのブロックが２６０ブロック連続している画像Ｄ（元データ７５Ｄ）を圧縮・伸張した場合を例示している。連続ブロック数が２６０なので、画像Ｄは、連続圧縮データ４０Ｂのデータ形式であって最大値＝最小値＝ＦＦｈ、カウントデータ４４は２バイト（８２ｈ、０４ｈ）、の圧縮画像データ７７Ｄに圧縮される。伸張時は、圧縮画像データ７７Ｄの先頭部にある最大値と最小値が一致するので連続圧縮データ４０Ｂであると認識され、また２バイト構成のカウントデータ４４の値は２６０なので、全画素の画素値ＦＦｈのブロックが２６０回繰り返し出力される。
【００６３】
図１０は、画像圧縮装置１０における圧縮処理の流れを示している。画像データを入力し（ステップＳ１０１）、ブロック分割部１１によりブロック単位の画像に分割する（ステップＳ１０２）。分割された各ブロックにおいてその画素値の最大値と最小値を最大値最小値検索部１２によって検索する（ステップＳ１０３）。
【００６４】
連続圧縮部１６は、検索された最大値と最小値を当該ブロックおよびその１つ手前のブロックについて比較し（ステップＳ１０４）、最大値＝最小値となるブロックを検出した場合に、これと同じ最大値および最小値を持つブロックの連続数（連続数には「１」を含む）をカウントし（ステップＳ１０５）、その連続数分のブロックの画像データを、連続圧縮データ４０Ｂ形式の圧縮画像データに変換して圧縮する（ステップＳ１０６）。最大値と最小値が一致しないブロックについては正規化部１４にてブロック毎圧縮データ４０Ａ形式の圧縮画像データに圧縮して出力する（ステップＳ１０６）。
【００６５】
図１１は、画像伸張装置６０における伸張処理の流れを示している。圧縮画像データを入力し（ステップＳ２０１）、ブロック毎圧縮データ４０Ａか連続圧縮データ４０Ｂかを判別し（ステップＳ２０２）、ブロック毎圧縮データ４０Ａの場合は（ステップＳ２０２；Ｙｅｓ）、最大値、最小値から代表値を生成し、各符号データをその対応する代表値を画素値とする画素に変換して伸張する（ステップＳ２０３）。連続圧縮データ４０Ｂの場合は（ステップＳ２０２；Ｎｏ）、最大値を全画素の画素値とするブロックを生成し、このブロックをカウントデータ４４の示す回数だけ繰り返し出力する（ステップＳ２０４）。
【００６６】
このように、最大値＝最小値のブロックが１または２以上連続する場合に、それらのブロックを、その最大値と、最小値と、連続ブロック数とで構成される連続圧縮データ４０Ｂで表したので、１つ前のブロックとその最大値および最小値が同一のブロックが２以上連続するときはブロック毎に圧縮する場合に比べて、圧縮率を高めることができる。
【００６７】
なお、実施の形態では、最大値＝最小値の場合のみを対象としたが、最大値と最小値の差分が基準値以下の場合には、そのブロック内の画素値は全画素同一であるとみなして圧縮してもかまわない。たとえば、最大値と最小値の中間値を全画素の画素値とするように圧縮してもよい。また、この際、白に近い濃度あるいは中間濃度では少しの濃淡差でも視覚的に目立ち易いが黒に近い画像では濃淡差が視覚的に目立ち難いので、画像の濃度（階調値）に応じて基準値を変化させるように制御してもよい。すなわち、画像の濃度（階調値）が黒に近い場合は、白あるいは中間濃度の場合に比べて基準値を小さくするように制御する。たとえば、各画素が８ビット２５６階調の場合に（０を白、ＦＦｈを黒とする）、そのブロック内の画素値の最大値がＡ０ｈ以上であれば基準値を７にし、Ａ０未満３０ｈ以上であれば基準値を３にし、３０未満であれば基準値を１にする。
【００６８】
また、上記のように最大値と最小値との差分が基準値以下の場合にその中間値などに画素値を置き換えて全画素同一とみなしたブロックについては、その置き換えた中間値が１つ前のブロックと同一であれば、同一画像内容のブロックが連続していると扱って、連続圧縮データ４０Ｂで圧縮するようにするとよい。
【００６９】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【００７０】
たとえば、実施の形態では、ブロック内の最大値と最小値を検出し、最大値＝最小値の場合にブロック内の全画素が同一画素値であるとしたが、すべての画素の画素値を比較し、それらが同一であるか否かを判別してもよい。また、最大値＝最小値のブロックについてのみ、それと同一画像内容のブロックの連続を判別したが、ブロック間で、それぞれの画素がその対応する画素の画素値と同一か否かを判別し、全画素のそれぞれが同一画素値である場合にそれらのブロックの画像内容は同一であるとし、そのようなブロックの連続を判別するようにしてもよい。
【００７１】
実施の形態では、圧縮画像データでは、画素値の分布範囲を示す情報として最大値と最小値を使用したが、分布範囲の広さと位置を示す情報を使用してもよい。この場合、分布範囲の広さを示す情報が「０」か否かによりブロック毎圧縮データ４０Ａか連続圧縮データ４０Ｂに相当するデータ形式かを判別すればよい。
【００７２】
また、画像圧縮装置１０、画像伸張装置６０はいずれも、実施の形態で示した回路構成に限定されるものではなく、同一機能を果たす別の構成でもかまわない。またＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などを備えたコンピュータ装置において所定のプログラムを実行することで、同じ内容の圧縮処理、伸張処理が実現されてもよい。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施の形態に係る画像圧縮装置の概略構成を示すブロック図である。
【図２】圧縮対象の画像をブロックに分割する様子を模擬的に示す説明図である。
【図３】ブロック毎圧縮データと連続圧縮データのデータ形式を示す説明図である。
【図４】可変長のカウントデータのデータ形式およびデータ例を示す説明図である。
【図５】本発明の実施の形態に係る画像伸張装置の概略構成を示すブロック図である。
【図６】本実施の形態に係る画像圧縮装置および画像伸張装置で画像Ａをブロック毎圧縮データに圧縮し、これを伸張する場合を示す説明図である。
【図７】本実施の形態に係る画像圧縮装置および画像伸張装置で画像Ｂを連続圧縮データ（連続ブロック数１）に圧縮し、これを伸張する場合を示す説明図である。
【図８】本実施の形態に係る画像圧縮装置および画像伸張装置で画像Ｃを連続圧縮データ（連続ブロック数１０）に圧縮し、これを伸張する場合を示す説明図である。
【図９】本実施の形態に係る画像圧縮装置および画像伸張装置で画像Ｄを連続圧縮データ（連続ブロック数２６０）に圧縮し、これを伸張する場合を示す説明図である。
【図１０】本実施の形態に係る画像圧縮装置における圧縮処理の流れを示す流れ図である。
【図１１】本実施の形態に係る画像伸張装置における伸張処理の流れを示す流れ図である。
【図１２】従来のＢＴＣ方式の圧縮伸張回路を示すブロック図である。
【図１３】従来のＢＴＣ方式の圧縮伸張回路による画像データの圧縮例を示す説明図である。
【図１４】従来のＢＴＣ方式の圧縮伸張回路による画像データの伸張例を示す説明図である。
【図１５】従来のＢＴＣ方式の圧縮伸張回路による全画素同一画素値のブロックの圧縮伸張例を示す説明図である。
【符号の説明】
【００７４】
１０…画像圧縮装置
１１…ブロック分割部
１２…最大値最小値検索部
１３…閾値生成部
１４…正規化部
１５…出力部
１６…連続圧縮部
２１…第１比較器
２２…レジスタ部
２３…第２比較器
２４…第３比較器
２５…ＡＮＤ回路
２６…カウンタ部
３１…第１一致信号
３２…第２一致信号
３３…第３一致信号
３４…ＡＮＤ回路の出力信号
４０Ａ…ブロック毎圧縮データ
４０Ｂ…連続圧縮データ
４１…最大値を示すデータ
４２…最小値を示すデータ
４３…１ブロック分の符合データ（正規化データ）
４４…カウントデータ（連続ブロック数）
４６…Fullbit
６０…画像伸張装置
６１…比較判定部
６２…代表値生成部
６３…代表値置換え部
６４…カウンタ部
６５…出力部
７１…画像Ａの元データ
７２…画像Ａの圧縮画像データ
７３…画像Ａの伸張データ
７４…前ブロック
７５Ｂ、７５Ｃ、７５Ｄ…元データ
７６…次ブロック
７７Ｂ、７７Ｃ、７７Ｄ…圧縮画像データ
７８Ｂ、７８Ｃ、７８Ｄ…伸張データ
Ｍ…圧縮前の画像
ＢＬ…ブロック
【図１】
2010074676.tif 000003
【図２】
2010074676.tif 000004
【図３】
2010074676.tif 000005
【図４】
2010074676.tif 000006
【図５】
2010074676.tif 000007
【図６】
2010074676.tif 000008
【図７】
2010074676.tif 000009
【図８】
2010074676.tif 000010
【図９】
2010074676.tif 000011
【図１０】
2010074676.tif 000012
【図１１】
2010074676.tif 000013
【図１２】
2010074676.tif 000014
【図１３】
2010074676.tif 000015
【図１４】
2010074676.tif 000016
【図１５】
2010074676.tif 000017