(57)【特許請求の範囲】
【請求項１】
１ラインの画像データを所定画素数のエリア単位に圧縮した一次圧縮データを生成する第１圧縮部と、
前記第１圧縮部によって生成された一次圧縮データを、複数のラインに分散する複数のエリアで構成された大エリア単位に圧縮する第２圧縮部と、
を有し、
前記第１圧縮部は、前記エリアを１ブロックとしたＢＴＣ圧縮を行い、
前記第２圧縮部は、前記大エリアを１ブロックとしたＢＴＣ圧縮を行う
ことを特徴とする画像圧縮装置。
【請求項２】
前記第２圧縮部は、前記大エリアを構成する複数のエリア分の一次圧縮データを伸張した場合に得られる画像データを、前記大エリア単位に圧縮する
ことを特徴とする請求項１に記載の画像圧縮装置。
【請求項３】
前記第１圧縮部が生成した一次圧縮データを記憶する記憶部を備え
前記第２圧縮部は、前記記憶部に記憶された、前記大エリアを構成する複数のエリア分の一次圧縮データに基づいて前記大エリアの圧縮を行う
ことを特徴とする請求項１または２に記載の画像圧縮装置。
【請求項４】
前記第１圧縮部は、１ライン分の画像データを圧縮した後に次のラインの圧縮を行い、
前記第２圧縮部は、大エリアを構成する複数のエリア分の一次圧縮データが前記記憶部に記憶された後に、前記大エリアの圧縮を行う
ことを特徴とする請求項３に記載の画像圧縮装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を圧縮する画像圧縮装置に係り、特に、画像を複数のブロックに分割して圧縮する画像圧縮装置に関する。
【背景技術】
【０００２】
ディジタル複合機などの装置では、ビットマップ形式の画像データをメモリやハードディスク装置に保存する場合に必要な記憶容量を削減するために画像データを圧縮して保存することが行われる。
【０００３】
その圧縮方式の１つにＢＴＣ（Block Truncation Coding）圧縮方式がある。ＢＴＣ圧縮では、圧縮対象の画像を所定の画素数（たとえば、４画素×４画素）毎のブロックに分割し、各ブロックを、そのブロックに属する画素の階調値の分布範囲を示す情報（たとえば、最大値と最小値）と、該分布範囲内においてブロック内の各画素の階調値を元の画像データの階調数より少ない階調数で正規化した符号データとで表わした圧縮データを生成する。
【０００４】
伸張時には、圧縮データに含まれる最大値と最小値が示す階調値の分布範囲から符号データの各値に対する代表値を決定し、圧縮データに含まれる各符号データをその対応する代表値の画像データに変換して画像を復元するようになっている。
【０００５】
たとえば、図８は、各画素を８ビット２５６階調（図中では階調値を１６進数で標記）で表した４画素×４画素の１ブロック分の元画像データ８０を、１画素あたり２ビット（４階調）の符号データにＢＴＣ圧縮し、さらに伸張した場合を例示している。
【０００６】
圧縮時にはブロック内の階調値の最大値Ｂ６ｈと最小値３２ｈを検出し、これらを両端とする分布範囲が４等分され、階調値Ｄが、最大値（Ｂ６ｈ）≧Ｄ＞閾値３（９５ｈ）の画素は２ビットの符号データ「１１」に、閾値３（９５ｈ）≧Ｄ＞閾値２（７４ｈ）の画素は符号データ「１０」に、閾値２（７４ｈ）≧Ｄ＞閾値１（５３ｈ）の画素は符号データ「０１」に、閾値１（５３ｈ）≧Ｄ≧最小値（３２ｈ）の画素は符号データ「００」に符号化される。圧縮データ８１はこれら１６画素分の符号データと最大値Ｂ６ｈと最小値３２ｈを示すデータとで構成され、そのデータ量は６バイトになる。
【０００７】
伸張時には、圧縮データ８１内のデータが示す最大値Ｂ６ｈを符号データ「１１」に対応する代表値４に、最小値３２ｈを符号データ「００」に対応する代表値１に、この最大値と最小値が示す範囲（Ｂ６ｈ〜３２ｈ）を３等分する２つの境界値のうち大きい方の８Ａｈを符号データ「１０」に対応する代表値３に、小さい方の５Ｅｈを符号データ「０１」に対応する代表値２に設定する。そして、圧縮データ８１に含まれる各符号データをその符号データの値に対応する代表値に変換することで１ブロック分の画像データ８２に伸張される。
【０００８】
また、圧縮率を高めるために、ブロック単位にＢＴＣ圧縮した後、複数ブロックを１つに纏めた大ブロック単位に、ＢＴＣ圧縮データをＪＢＩＧ（Joint Bi-level Image experts Group）やＭＨ方式で二次圧縮する画像処理装置がある（たとえば、特許文献１参照。）。
【０００９】
【特許文献１】特開２００７−４３５７７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
複合機などでは、スキャナ部から出力される画像データを、スキャナ部での原稿の読み取り動作と同時に並行して圧縮することが行われる。図９は、スキャナ部からライン毎に順次入力される画像データを圧縮するようにされた従来の圧縮回路の構成例を示している。
【００１１】
スキャナ部９１は圧縮対象の画像データをライン単位に順次出力する。ラインメモリ１は１ライン目の画像データを保持するメモリ、ラインメモリ２は２ライン目の画像データを保持するメモリ、ラインメモリ３は３ライン目の画像データを保持するメモリ、ラインメモリ４は４ライン目の画像データを保持するメモリである。ＢＴＣ圧縮部９５は、４画素×４画素を１ブロックとしてＢＴＣ準拠の圧縮処理を行い、ＢＴＣ伸張部９６はＢＴＣ準拠の伸張処理を行う回路である。カウンタ９７はライン数をカウントし、各部に対し処理開始のイネーブル信号を出力し、制御部９８は全体を制御する。
【００１２】
制御部９８によりカウンタ９７を動作させ、カウンタ９７から各イネーブル信号ＥＮ１〜ＥＮ３を出力させることにより、各回路部を動作させる。詳細には、初期状態ではカウンタ値、各イネーブル信号は０になっている。カウンタ値が１になるとイネーブル信号ＥＮ１が１になり、スキャナ部９１から入力される１ライン分の画像データをラインメモリ１に保持する。同様に、カウンタ値が２になるとイネーブル信号ＥＮ１が２になり、スキャナ部９１からの１ライン分の画像データをラインメモリ２に保持する。カウンタ値が３になるとイネーブル信号ＥＮ１が３になり、スキャナ部９１からの１ライン分の画像データをラインメモリ３に保持し、カウンタ値が４になるとイネーブル信号ＥＮ１が４になり、スキャナ部９１からの１ライン分の画像データをラインメモリ４に保持する。
【００１３】
カウンタ値が５になるとイネーブル信号ＥＮ２が１になり、これを受けてＢＴＣ圧縮部９５はラインメモリ１〜４に保持されている画像データをＢＴＣ圧縮処理し、カウンタ値が６になるとイネーブル信号ＥＮ３が１になり、これを受けてＢＴＣ伸張部９６はＢＴＣ圧縮データを伸張し、その伸張された画像データがプリンタ部９９に出力されて印刷される。図１０は、上記動作のタイミングチャートを示している。
【００１４】
このように、ライン毎に順次入力される画像データを、複数ラインに跨るブロックを単位に圧縮するためには、少なくともブロックに含まれる複数ライン分のラインメモリを必要とするので、圧縮前の画像データを保持するためのメモリ容量が嵩むという問題があった。
【００１５】
この問題は、特許文献１に開示された技術のようにブロック単位に一次圧縮した圧縮データを複数ブロック分１つにまとめて二次圧縮する場合でも、その一次圧縮の段階で発生する。
【００１６】
本発明は、上記の問題を解決しようとするものであり、複数ラインに跨るブロック単位の圧縮を、圧縮時に使用する一時保持用のメモリの容量を少なくして実現可能な画像圧縮装置を提供することを目的としている。
【課題を解決するための手段】
【００１７】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【００１８】
［１］１ラインの画像データを所定画素数のエリア単位に圧縮した一次圧縮データを生成する第１圧縮部と、
前記第１圧縮部によって生成された一次圧縮データを、複数のラインに分散する複数のエリアで構成された大エリア単位に圧縮する第２圧縮部と、
を有し、
前記第１圧縮部は、前記エリアを１ブロックとしたＢＴＣ圧縮を行い、
前記第２圧縮部は、前記大エリアを１ブロックとしたＢＴＣ圧縮を行う
ことを特徴とする画像圧縮装置。
【００１９】
上記発明では、第１圧縮部は１ライン分の画像データを所定画素数（たとえば、４画素）のエリア単位に圧縮して一次圧縮データを出力し、第２圧縮部は一次圧縮データを、複数のラインに分散する複数のエリア（たとえば、隣接４ラインに分散して存在する４つのエリア）で構成された大エリア単位に圧縮する。これにより、元の画像データから直に大エリア単位の圧縮を行う場合に比べて、圧縮時に画像データなどを一時的に保持するためのメモリエリアを削減することができる。
【００２０】
［２］前記第２圧縮部は、前記大エリアを構成する複数のエリア分の一次圧縮データを伸張した場合に得られる画像データを、前記大エリア単位に圧縮する
ことを特徴とする［１］に記載の画像圧縮装置。
【００２１】
上記発明では、大エリアを構成する複数のエリア分の一次圧縮データをそのまま圧縮するのではなく、これらの一次圧縮データを伸張した場合に得られる画像データを大エリア単位に圧縮する。これにより、元の画像データを直にブロック単位に圧縮した場合に相当する二次圧縮データを得ることができる。したがって、伸張時は２段階に伸張する必要はなく、二次圧縮データを伸張することで画像データを直接得ることができる。
【００２２】
［３］前記第１圧縮部が生成した一次圧縮データを記憶する記憶部を備え
前記第２圧縮部は、前記記憶部に記憶された、前記大エリアを構成する複数のエリア分の一次圧縮データに基づいて前記大エリアの圧縮を行う
ことを特徴とする［１］または［２］に記載の画像圧縮装置。
【００２３】
上記発明では、一次圧縮データは、一旦、記憶部に記憶され、この記憶部から読み出されて二次圧縮が行われる。元画像データを記憶部に保持させて元画像データから直にブロック単位で圧縮する場合に比べて、一次圧縮データを記憶部に保持させるので、記憶部に必要なメモリ容量が低減される。
【００２４】
［４］前記第１圧縮部は、１ライン分の画像データを圧縮した後に次のラインの圧縮を行い、
前記第２圧縮部は、大エリアを構成する複数のエリア分の一次圧縮データが前記記憶部に記憶された後に、前記大エリアの圧縮を行う
ことを特徴とする［３］に記載の画像圧縮装置。
【００２５】
上記発明では、１ライン分の画像データを一次圧縮した後、次のラインの一時圧縮が行われる。記憶部には大エリアに含まれる複数ライン分の一次圧縮データが記憶され、大エリアに含まれる複数ライン分の画像データが記憶部に揃った段階で二次圧縮が開始される。なお、大エリアに含まれるラインのうち、最後に一次圧縮データの生成されるラインについては、そのライン全体の一次圧縮データが記憶部に保持される前であっても、当該圧縮対象の大エリアに含まれるエリアの一次圧縮データが揃った段階で二次圧縮を開始してもよい。
【発明の効果】
【００２７】
本発明に係る画像圧縮装置によれば、複数のラインに跨るブロック単位の圧縮を、圧縮時に使用する一時保持用のメモリの容量を少なくして行うことができる。
【発明を実施するための最良の形態】
【００２８】
以下、図面に基づき本発明の実施の形態を説明する。
【００２９】
図１は、本発明の実施の形態に係る画像圧縮伸張装置１０の構成を示している。画像圧縮伸張装置１０は、入力される画像データを圧縮する機能と、圧縮された画像データを伸張する機能を備えている。画像圧縮伸張装置１０には、圧縮対象の画像データの供給元となるスキャナ部５と、伸張後の画像データに基づいて記録紙に画像を印刷するプリンタ部７が接続されている。
【００３０】
スキャナ部５は、原稿画像を主走査方向に１ライン分読み取るラインイメージセンサと、このラインイメージセンサによる読み取り位置を主走査方向に対して直交する副走査方向へ相対移動させる相対移動部とを備えている。ラインイメージセンサの原稿に対する読み取り位置を副操作方向へ相対移動させながらライン単位の読み取り動作を繰り返すことで、二次元平面をなす原稿の画像を読み取るように構成されている。ラインイメージセンサは、読み取った１ライン分の画像に対応するアナログ信号をラインの一端から他端に向けて順次出力し、該アナログ信号はその出力順にディジタルの画像データに変換されてスキャナ部５から画像圧縮伸張装置１０へ出力される。ここでは、スキャナ部５は、各画素を８ビット２５６階調で表した画像データを出力する。
【００３１】
画像圧縮伸張装置１０は、スキャナ部５から順次入力される画像データを、一次圧縮する第１圧縮部１１と、第１圧縮部１１の出力する一次圧縮データをそれぞれ１ライン分保持する第１〜第４ラインメモリ２１〜２４と、第１〜第４ラインメモリ２１〜２４に保持されている一次圧縮データを圧縮して二次圧縮データを出力する第２圧縮部１２と、第２圧縮部１２の出力する二次圧縮データを画像データに伸張するＢＴＣ伸張部１３と、カウンタ１４と、制御部１５とを備えて構成される。
【００３２】
第１圧縮部１１は、１ラインの画像データを所定画素数のエリア単位に圧縮する。ここでは、図２に示すように１ライン分の画像データＬＧをその先頭から４画素ずつのエリア単位にＢＴＣ圧縮し、各エリアに対応する一次圧縮データＥを出力する。
【００３３】
第１圧縮部１１は、４Ｎ−３（Ｎは１以上の整数）ライン目の画像データを圧縮した一次圧縮データを第１ラインメモリ２１に出力して保持させる。また、４Ｎ−２ライン目の画像データを圧縮した一次圧縮データを第２ラインメモリ２２に出力して保持させ、４Ｎ−１ライン目の画像データを圧縮した一次圧縮データを第３ラインメモリ２３に出力して保持させ、４Ｎライン目の画像データを圧縮した一次圧縮データを第４ラインメモリ２４に出力して保持させる。
【００３４】
第２圧縮部１２は、第１圧縮部１１によって生成された一次圧縮データを、複数のラインに分散する複数のエリアで構成された大エリア単位に圧縮する。ここでは、第２圧縮部１２は、第１〜第４ラインメモリ２１〜２４に記憶されている連続する４ラインからそれぞれラインの先頭から同一のオフセット位置にある４つのエリアで構成されるブロック（大エリア）を単位にＢＴＣ圧縮する。すなわち、二次圧縮は、図３に示すように、原稿画像Ｇの左上を基点として４画素(主走査方向)×４画素（副走査方向）のブロックＢＬ単位に行われる。
【００３５】
ＢＴＣ伸張部１３は、二次圧縮データをブロック単位の画像データに伸張する。カウンタ１４は、処理するライン数をカウントし、各部に対して処理開始のイネーブル信号を出力する。制御部１５は画像圧縮伸張装置１０の動作を統括制御する。
【００３６】
画像圧縮伸張装置１０は、マイクロプログラムを内蔵したシーケンサや論理回路などのハードウェア回路とメモリとで構成される。なお、画像圧縮伸張装置１０は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などを備えたコンピュータ装置において所定のプログラムを実行することで実現されてもよい。
【００３７】
画像圧縮伸張装置１０は、制御部１５によりカウンタ１４を動作させ、カウンタ１４からそのカウンタ値に対応した各イネーブル信号ＥＮ１〜ＥＮ３を出力させることにより、各回路部（第１圧縮部１１、第２圧縮部１２、ＢＴＣ伸張部１３）を動作させる。
【００３８】
詳細には、初期状態ではカウンタ１４のカウンタ値、各イネーブル信号ＥＮ１〜ＥＮ３は０になっている。制御部１５がスキャナ部５に対して原稿の読み取り開始を指示すると、スキャナ部５は原稿の読み取り動作を開始する。
【００３９】
カウンタ１４のカウンタ値が１になるとイネーブル信号ＥＮ１が１になり、これに応じて第１圧縮部１１はスキャナ部５から１ライン分（（４Ｎ−３）ライン目）の画像データを順次取り込み、その画像データを隣接４画素のエリア単位に一次圧縮し、生成された各エリアの一次圧縮データを、順次、第１ラインメモリ２１に保持させる。
【００４０】
同様に、カウンタ１４のカウンタ値が２になるとイネーブル信号ＥＮ１が２になり、これに応じて第１圧縮部１１はスキャナ部から次の１ライン分（（４Ｎ−２）ライン目）の画像データを順次取り込み、その画像データを隣接４画素のエリア単位に一次圧縮し、生成された各エリアの一次圧縮データを、順次、第２ラインメモリ２２に保持させる。
【００４１】
カウンタ１４のカウンタ値が３になるとイネーブル信号ＥＮ１が３になり、これに応じて第１圧縮部１１はスキャナ部５から次の１ライン分（（４Ｎ−１）ライン目）の画像データを順次取り込み、その画像データを隣接４画素のエリア単位に一次圧縮し、生成された各エリアの一次圧縮データを、順次、第３ラインメモリ２３に保持させる。
【００４２】
カウンタ１４のカウンタ値が４になるとイネーブル信号ＥＮ１が４になり、これに応じて第１圧縮部１１はスキャナ部から次の１ライン分（（４Ｎ）ライン目）の画像データを順次取り込み、その画像データを隣接４画素のエリア単位に一次圧縮し、生成された各エリアの一次圧縮データを、順次、第４ラインメモリ２４に保持させる。
【００４３】
カウンタ値が５になるとイネーブル信号ＥＮ１は０に戻り、かつイネーブル信号ＥＮ２が１になる。これに応じて第１〜第４ラインメモリ２１〜２４に保持している一次圧縮データを第２圧縮部１２がブロック（大エリア）単位に二次圧縮する。カウンタ値が６になるとイネーブル信号ＥＮ２は０に戻り、かつイネーブル信号ＥＮ３が１になり、ＢＴＣ伸張部１３が二次圧縮データをＢＴＣ伸張し、伸張された画像データはプリンタ部７に出力されて印刷される。図４は、上記動作のタイミングチャートを示している。
【００４４】
なお、第２圧縮部１２の出力する二次圧縮データをＨＤＤ（Hard Disk Drive）などの記憶装置に記憶しておき、後に出力要求を受けた時点でＨＤＤから読み出してＢＴＣ伸張部１３で伸張し、プリンタ部７で印刷出力するように構成されてもよい。
【００４５】
次に、第１圧縮部１１による一次圧縮と第２圧縮部１２による二次圧縮の詳細を説明する。
【００４６】
第１圧縮部１１は、各ラインを隣接４画素のエリア単位に一次圧縮する。ここでは、１画素を４階調２ビットの符号データで表すようにＢＴＣ圧縮する。具体的には、主走査方向に隣接する４画素で構成された１つのエリアに属する画素の階調値の最大値Ｍａｘと最小値Ｍｉｎとを求め、最大値Ｍａｘと最小値Ｍｉｎとを両端とする階調範囲を４つの領域に分割（ここでは、４等分）する閾値１、閾値２、閾値３（閾値１＜閾値２＜閾値３とする）を算出する。そして、画素の階調値Ｄとしたとき、
最大値≧Ｄ＞閾値３ならば、領域３、符号データ「１１」
閾値３≧Ｄ＞閾値２ならば、領域２、符号データ「１０」
閾値２≧Ｄ＞閾値１ならば、領域１、符号データ「０１」
閾値１≧Ｄ≧最小値ならば、領域０、符号データ「００」
をその画素に対する２ビットの符号データとして与える。そして、最大値Ｍａｘを示すデータと最小値Ｍｉｎを示すデータと各画素に与えた符号データ（２ビット×４画素）とから構成される一次圧縮データを生成する。
【００４７】
図５は、１つのブロック（大エリア）に着目して、その圧縮から伸張までの過程を示している。このブロックは１ライン目のエリアＡ１と、２ライン目のエリアＡ２と、３ライン目のエリアＡ３と、４ライン目のエリアＡ４とから構成される。
【００４８】
第１圧縮部１１で圧縮する際に、たとえば、１ライン目のエリアＡ１は、最大値５０ｈ、最小値３２ｈであり、閾値１＝３９ｈ、閾値２＝４１ｈ、閾値３＝４８ｈと算出される。そして、階調値Ｄが、５０ｈ≧Ｄ＞４８ｈの画素は符号データ「１１」に、４８ｈ≧Ｄ＞４１ｈの画素は符号データ「１０」に、４１ｈ≧Ｄ＞３９ｈの画素は符号データ「０１」に、３９ｈ≧Ｄ≧３２ｈの画素は符号データ「００」に変換されて一次圧縮データＥ１が生成される。
【００４９】
４ライン分の一次圧縮が終了した後、第２圧縮部１２は一次圧縮データをブロック単位に圧縮する。すなわち、圧縮対象のブロックを構成する４ラインに分散して存在する４つのエリアの一次圧縮データを第１〜第４ラインメモリ２１〜２４から読み出し、これらの一次圧縮データを圧縮して二次圧縮データを生成する。生成された二次圧縮データは、ＢＴＣ伸張部１３で伸張され、伸張後の画像データＥＸが生成される。
【００５０】
図５の例では、１ライン目のエリアＡ１に対応する一次圧縮データＥ１と、２ライン目のエリアＡ２に対応する一次圧縮データＥ２と、３ライン目のエリアＡ３に対応する一次圧縮データＥ３と、４ライン目のエリアＡ４に対応する一次圧縮データＥ４に基づいて、これら４つのエリアＡ１〜Ａ４で構成されたブロック単位の二次圧縮が行われる。
【００５１】
この際、第２圧縮部１２は、ブロックを構成する複数のエリア（４つのエリア）分の一次圧縮データＥ１〜Ｅ４を伸張した場合に得られる画像データを、ブロック単位に圧縮する。詳細には、図６に示すように、各一次圧縮データＥ１〜Ｅ４をそれぞれ伸張して、１ブロック分の伸張された画像データ（中間画像データ）ＭＥを生成し、この１ブロック分の中間画像データＭＥを改めて各画素４階調２ビットとなるようにＢＴＣ圧縮して二次圧縮データＥＥを生成する。
【００５２】
各エリアの一次圧縮データの伸張は次のようにして行う。一次圧縮データ内のデータが示す最大値Ｍａｘを代表値４に、最小値Ｍｉｎを代表値１に、最大値Ｍａｘと最小値Ｍｉｎとを両端とする階調範囲を３等分する境界値のうち小さい方を代表値２に、大きい方を代表値３に設定する。そして、一次圧縮データに含まれる各符号データを、符号データ「００」は代表値１に、符号データ「０１」は代表値２に、符号データ「１０」は代表値３に、符号データ「１１」は代表値４に変換して画像データに伸張する。
【００５３】
各一次圧縮データＥ１〜Ｅ４を伸張して得た中間画像データＭＥに対する圧縮は次のようにして行われる。中間画像データＭＥに含まれる１６画素の中で階調値の最大値Ｍａｘと最小値Ｍｉｎとを求め、最大値Ｍａｘと最小値Ｍｉｎとを両端とする階調範囲を４つの領域に分割（ここでは、４等分）する閾値１、閾値２、閾値３（閾値１＜閾値２＜閾値３とする）を算出し、画素の階調値Ｄが、
最大値≧Ｄ＞閾値３ならば、領域３、符号データ「１１」
閾値３≧Ｄ＞閾値２ならば、領域２、符号データ「１０」
閾値２≧Ｄ＞閾値１ならば、領域１、符号データ「０１」
閾値１≧Ｄ≧最小値ならば、領域０、符号データ「００」
をその画素に対する符号データとして与える。そして、最大値Ｍａｘを示すデータと最小値Ｍｉｎを示すデータと各画素に与えた符号データ（２ビット×１６画素）とから構成される二次圧縮データを生成する。図６の例では中間画像データ内の最大値ＭａｘはＢ６ｈ、最小値Ｍｉｎは３２ｈであり、閾値１＝５３ｈ、閾値２＝７４ｈ、閾値３＝９５ｈと算出される。そして、階調値Ｄが、Ｂ６ｈ≧Ｄ＞９５ｈの画素は符号データ「１１」に、９５ｈ≧Ｄ＞７４ｈの画素は符号データ「１０」に、７４ｈ≧Ｄ＞５３ｈの画素は符号データ「０１」に、５３ｈ≧Ｄ≧３２ｈの画素は符号データ「００」に変換されて二次圧縮データＥＥが生成される。
【００５４】
なお、１つのブロックを構成する複数エリア分の一次圧縮データから二次圧縮データを生成する過程で中間画像データＭＥを実際にメモリ上に生成する必要はなく、エリア毎の代表値１〜４と、ブロック単位での最大値Ｍａｘ、最小値Ｍｉｎと、閾値１〜閾値３とから、一次圧縮データの各符号データを二次圧縮データの符号データに変換する処理を行うように構成されてもよい。
【００５５】
このように、圧縮対象の画像データをライン毎に第１圧縮部１１で一次圧縮し、生成された一次圧縮データを４ラインに跨るブロック単位に圧縮するので、元の画像データから直接ブロック単位にＢＴＣ圧縮する場合に比べて、画像データを保持する第１〜第４ラインメモリ２１〜２４のメモリ容量を削減することができる。すなわち、４画素×４画素で構成される１ブロック分の元画像データは、８ビット×１６画素＝１３６ビットになるが、一次圧縮データでは１エリア分が最大値８ビット＋最小値８ビット＋２ビット×４画素＝２４ビットなので、４エリア分で９６ビットとなる。したがって、元画像データから直にブロック単位で圧縮する場合に比べてラインメモリとして必要なメモリ容量を３／４に削減することができる。
【００５６】
また、１ブロック分の一次圧縮データを伸張した場合に得られる画像データをブロック単位にＢＴＣ圧縮するので、元画像データを直にブロック単位に圧縮した場合に相当する二次圧縮データを得ることができる。したがって、伸張時は２段階に伸張する必要はなく、二次圧縮データを伸張することで画像データを直接得ることができる。また、元画像データから直にブロック単位でＢＴＣ圧縮する場合とほぼ同一の圧縮データを得ることができる。図６の例では、二次圧縮データは、元の画像データから直にブロック単位でＢＴＣ圧縮した場合の圧縮データ（図８の圧縮データ８１）と同一であり、伸張された画像データも一致している。
【００５７】
図７は、画像圧縮伸張装置１０が行う圧縮伸張の動作の流れを示している。カウンタ値を０に初期化（ステップＳ１０１）する。その後、カウンタ値が１になるとスキャナ部５から圧縮対象の画像データ(元画像データ)を１ライン分入力し（ステップＳ１０２）、これを順次一次圧縮し（ステップＳ１０３）、生成された一次圧縮データをイネーブル信号ＥＮ１の値に対応するラインメモリ２１〜２４に保持する(ステップＳ１０４)。
【００５８】
カウンタ１４のカウンタ値が５でなければ（ステップＳ１０５；Ｎ）、ステップＳ１０２に戻って次のラインの一次圧縮を行う。カウンタ値が５ならば（ステップＳ１０５；Ｙ）、第１〜第４ラインメモリ２１〜２４に保持されている一次圧縮データに基づいて、ブロック単位の二次圧縮を行う(ステップＳ１０６)。その後、二次圧縮データを順次ＢＴＣ伸張部１３で伸張し(ステップＳ１０７)、プリンタ部７へ出力する（ステップＳ１０８）。１ページ分のすべての画像データを処理終了か否かを判断し（ステップＳ１０９）、未終了なら(ステップＳ１０９；Ｎ)、ステップＳ１０１に戻って次の４ラインを処理する。終了なら(ステップＳ１０９；Ｙ)、本処理を終了する(エンド)。
【００５９】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【００６０】
たとえば、実施の形態では、第１圧縮部１１は１ラインの画像データを４画素のエリア単位に分割して一次圧縮するようにしたが、必ずしも、一次圧縮はラインを対象に行われなくてもかまわない。たとえば、２画素×２画素の矩形領域を一次圧縮のエリアとし、複数エリア分の一次圧縮データに基づき、その複数エリアで構成される大エリア単位の二次圧縮を行うようにされてもよい。このとき、一次圧縮データをそのまま圧縮するのではなく、一次圧縮データを伸張した場合に得られる画像データを大エリア単位に圧縮する。すなわち、第１圧縮部は、圧縮対象の画像の画像データを所定のエリア単位に圧縮した一次圧縮データを生成し、第２圧縮部は、第１圧縮部によって生成された複数のエリア分の一次圧縮データに基づいて、前記複数エリア分の一次圧縮データを伸張した場合に得られる画像データを、前記複数のエリアで構成される大エリア単位に圧縮するように構成されてもよい。
【００６１】
このほか、元画像データにおける１画素あたりのビット数、圧縮時の１画素あたりの符号データのビット数、１つのエリアのサイズ、１つのブロックのサイズなどは実施の形態で例示したものに限定されない。ただし、（元画像データの１画素あたりのビット数×２＋一次圧縮データにおける１画素あたりの符号データのビット数×１つのエリアの画素数）＜（元の画像データの１画素あたりのビット数×１つのエリアの画素数）、の関係が成立するように、エリアのサイズや符号データのビット数を設定する。これにより、ラインメモリのメモリ容量が削減される。
【００６２】
画像圧縮伸張装置１０に画像データを供給する装置はスキャナ部５に限定されず、供給源は問わない。たとえば、外部から通信を介して受信される画像データであってもかまわない。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施の形態に係る画像圧縮伸張装置の概略構成を示すブロック図である。
【図２】１ラインの画像データとこれを一次圧縮して得られる一次圧縮データとを対比して例示した説明図である。
【図３】原稿と、各ラインとブロックとの関係を示す説明図である。
【図４】画像圧縮伸張装置１０の動作を示すタイミングチャートである。
【図５】１つのブロック（大エリア）に着目して、その圧縮から伸張までの過程を例示した説明図である。
【図６】１ブロック分の一次圧縮データから二次圧縮する過程を示す説明図である。
【図７】画像圧縮伸張装置１０の動作シーケンスを示す流れ図である。
【図８】４画素×４画素のブロック単位にＢＴＣ圧縮して伸張した場合の各データを示す説明図である。
【図９】従来から使用されている画像圧縮伸張装置の構成例を示すブロック図である。
【図１０】図９に示す装置の動作タイミングを示すタイミングチャートである。
【符号の説明】
【００６４】
５…スキャナ部
７…プリンタ部
１０…画像圧縮伸張装置
１１…第１圧縮部
１２…第２圧縮部
１３…ＢＴＣ伸張部
１４…カウンタ
１５…制御部
２１…第１ラインメモリ
２２…第２ラインメモリ
２３…第３ラインメモリ
２４…第４ラインメモリ
Ａ１〜Ａ４…エリア
ＢＬ…１ブロック分の元画像データ
Ｅ、Ｅ１〜Ｅ４…一次圧縮データ
ＬＧ…１ライン分の画像データ
ＭＥ…中間画像データ
ＥＥ…二次圧縮データ
ＥＸ…伸張後の画像データ
【図１】
0004771095.tif 000002
【図２】
0004771095.tif 000003
【図３】
0004771095.tif 000004
【図４】
0004771095.tif 000005
【図５】
0004771095.tif 000006
【図６】
0004771095.tif 000007
【図７】
0004771095.tif 000008
【図８】
0004771095.tif 000009
【図９】
0004771095.tif 000010
【図１０】
0004771095.tif 000011