(57)【特許請求の範囲】
【請求項１】
圧縮対象の画像を所定の画素数毎のブロックに分割する分割部と、
前記分割部で分割して得たブロック毎に、そのブロックが、該ブロックに属する画素の階調値の種類がＮ（Ｎは２以上の所定の整数）種類以下の第１種ブロックであるか否かを判定する判定部と、
前記分割部で分割して得たブロック毎に、そのブロックに関する前記判定部の判定結果が前記第１種ブロックの場合は、そのブロックに属する画素の階調値を１種類につき１つずつ昇順と降順のうちの予め定めた一方の順序で先頭部に配列して有し、その後ろに、該ブロック内の各画素について、その画素の階調値が前記先頭部に配列した階調値の中のどの階調値と同一であるかを示す符号データを配列した第１種圧縮データを生成し、前記判定部の判定結果が前記第１種ブロックでない場合は、そのブロックに属する画素の階調値の最大値と最小値とを求め、該最大値と最小値とを前記一方の順序と逆順で先頭部に配列して有し、その後ろに、該ブロック内の各画素について、その画素が前記最大値と最小値を両端とする階調値の分布範囲をＭ（ＭはＮより大きい整数）個に分割した領域の中のいずれの領域に属するかを示す符号データを配列した第２種圧縮データを生成する正規化部と、
を有する
ことを特徴とする画像圧縮装置。
【請求項２】
前記第１種圧縮データにおける１画素あたりの符号データのビット数はＮ種を表現可能な最小ビット数であり、
前記第２種圧縮データにおける１画素あたりの符号データのビット数はＭ種を表現可能な最小ビット数であり、
前記第１種圧縮データにおける１画素あたりの符号データのビット数が前記第２種圧縮データにおける１画素あたりの符号データのビット数より小さくなるように、Ｎ、Ｍの値を設定した
ことを特徴とする請求項１に記載の画像圧縮装置。
【請求項３】
１ブロック分の圧縮データのデータ量が第１種圧縮データと第２種圧縮データとで同一にされている
ことを特徴とする請求項１または２に記載の画像圧縮装置。
【請求項４】
所定画素数のブロック単位に圧縮された伸張対象の圧縮データの先頭部に階調値が昇順に配列されているか降順に配列されているかに基づいて、その圧縮データが各画素をＮ（Ｎは２以上の所定の整数）階調で表した第１種圧縮データであるか各画素をＭ（ＭはＮより大きい所定の整数）階調で表した第２種圧縮データであるかを判別する判別部と、
前記判別結果が第２種圧縮データの場合は、前記圧縮データの先頭部に配列されている２つの階調値を最大値と最小値とする範囲をＭ階調に正規化するＭ個の代表値を導出する代表値導出部と、
前記判別部の判別結果が第１種圧縮データの場合は、前記圧縮データの先頭部に配置されているＮ個の階調値の後ろに配置された各符号データを、その符号データの値によって特定される、前記先頭部に配列されているＮ個の階調値の中の対応する階調値に変換し、前記判別結果が第２種圧縮データの場合は、前記圧縮データの先頭部に配置されている前記最大値と最小値の後ろに配列された各符号データを、その符号データの値によって特定される、前記代表値導出部で導出されたＭ個の代表値の中の対応する値に変換する変換部と、
を有する
ことを特徴とする画像伸張装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを圧縮／伸張する画像圧縮装置および画像伸張装置に係り、特に、圧縮対象の画像を所定画素数のブロック単位に圧縮／伸張する画像圧縮装置および画像伸張装置に関する。
【背景技術】
【０００２】
デジタル複合機などの装置では、ビットマップ形式の画像データをメモリやハードディスク装置に保存する場合、必要な記憶容量を削減するために画像データを圧縮して保存することが行われる。
【０００３】
その圧縮方式の１つにＢＴＣ（Block Truncation Coding）圧縮方式がある。ＢＴＣ圧縮では、圧縮対象の画像を所定の画素数（たとえば、４画素×４画素）毎のブロックに分割する。そして、各ブロックを、そのブロックに属する画素の階調値の分布範囲（たとえば、最大値と最小値で表す）と、該分布範囲内においてブロック内の各画素の階調値を元の画像データの階調数より少ない階調数で正規化（量子化）した符号データとによって表した圧縮データを生成する。
【０００４】
伸張時には、圧縮データに含まれる最大値と最小値が示す階調値の分布範囲から符号データの各値に対する代表値を決定し、圧縮データに含まれる各符号データをその対応する代表値の画像データに変換して画像を復元するようになっている。
【０００５】
たとえば、１画素を８ビット２５６階調で表している画像データを１画素あたり２ビットの符号データにしてＢＴＣ圧縮すると、圧縮データでは最大値と最小値が示す階調値の分布範囲が２ビット４階調で表現される。伸張時には、圧縮データの最大値と最小値と、この最大値と最小値が示す範囲を３つに分割する２つの境界値とを各符号データに対する４つの代表値に決定し、圧縮データに含まれる各符号データをその符号データの値に対応する代表値を階調値とする画素に復元する。
【０００６】
ところで、１枚の画像には、文字領域、写真領域などが混在することが多く、１枚の画像を一律の圧縮方式で圧縮／伸張すると、特定の領域で大きく画質が劣化することがある。そこで、ブロック単位に画像の特性を判別し、ブロック毎に圧縮方式を切り替えるようにした画像処理装置が提案されている（たとえば、特許文献１参照。）。この装置では、圧縮方式としてＡＤＣＴ（Adaptive Discrete Cosine Transform）とＢＴＣ圧縮のいずれかをブロック毎に画像の特性に応じて選択するようになっている。
【０００７】
【特許文献１】特開平１１−７５０６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
画質の劣化を防止するためには、各ブロックの画像の特性に応じて圧縮方式を切り替えることが好ましいが、各ブロックの圧縮方式を識別するための情報を別途付加すると、その分のデータ量が増加して圧縮率の低下を招いてしまう。また、特許文献１に記載の画像処理装置では、圧縮方式を切り替えると、圧縮後のデータ量が各々異なってしまい、ブロックの切れ目の管理などが煩雑になるという問題があった。
【０００９】
本発明は、上記の問題を解決しようとするものであり、圧縮方式を識別するためのデータ量の増加を招くことなく各ブロックの画像の特性に応じて圧縮方式を切り替えることのできる画像圧縮装置および圧縮伸張装置を提供することを目的としている。さらには圧縮方式を切り替えた場合でも圧縮データのデータ量が一律になる画像圧縮装置および圧縮伸張装置を提供することを目的としている。
【課題を解決するための手段】
【００１０】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【００１１】
［１］圧縮対象の画像を所定の画素数毎のブロックに分割する分割部と、
前記分割部で分割して得たブロック毎に、そのブロックが、該ブロックに属する画素の階調値の種類がＮ（Ｎは２以上の所定の整数）種類以下の第１種ブロックであるか否かを判定する判定部と、
前記分割部で分割して得たブロック毎に、そのブロックに関する前記判定部の判定結果が前記第１種ブロックの場合は、そのブロックに属する画素の階調値を１種類につき１つずつ昇順と降順のうちの予め定めた一方の順序で先頭部に配列して有し、その後ろに、該ブロック内の各画素について、その画素の階調値が前記先頭部に配列した階調値の中のどの階調値と同一であるかを示す符号データを配列した第１種圧縮データを生成し、前記判定部の判定結果が前記第１種ブロックでない場合は、そのブロックに属する画素の階調値の最大値と最小値とを求め、該最大値と最小値とを前記一方の順序と逆順で先頭部に配列して有し、その後ろに、該ブロック内の各画素について、その画素が前記最大値と最小値を両端とする階調値の分布範囲をＭ（ＭはＮより大きい整数）個に分割した領域の中のいずれの領域に属するかを示す符号データを配列した第２種圧縮データを生成する正規化部と、
を有する
ことを特徴とする画像圧縮装置。
【００１２】
上記発明では、ブロックに属する画素の階調値の種類がＮ（Ｎは２以上の所定の整数）種類以下の場合は、先頭部にそれらＮ種類の階調値を第１の順序(昇順または降順)に配置し、その後ろに各画素が先頭部のどの階調値と同一かを示す符号データで表した第１種圧縮データを生成する。一方、ブロックに属する画素の階調値の種類がＮ種類を超える場合は、先頭部にそのブロックの階調値の最大値と最小値を第１の順序と逆の大小順に配列し、その後に該ブロック内の各画素についてその画素が最大値と最小値を両端とする範囲をＭ（ＭはＮより大きい整数）個に分割した領域の中のいずれの領域に属するかを示す符号データを配列した第２種圧縮データを生成する。
【００１３】
先頭部に配置されたデータが昇順か降順かによって第１種圧縮データであるか第２種圧縮データであるかを識別でき、圧縮方式の違いを示す情報を別途付加する必要がなく、その分のデータ量の増加が防止される。
【００１４】
［２］前記第１種圧縮データにおける１画素あたりの符号データのビット数はＮ種を表現可能な最小ビット数であり、
前記第２種圧縮データにおける１画素あたりの符号データのビット数はＭ種を表現可能な最小ビット数であり、
前記第１種圧縮データにおける１画素あたりの符号データのビット数が前記第２種圧縮データにおける１画素あたりの符号データのビット数より小さくなるように、Ｎ、Ｍの値を設定した
ことを特徴とする［１］に記載の画像圧縮装置。
【００１５】
上記発明では、第１種圧縮データと第２種圧縮データとでは、１画素あたりの符号データのビット数が相違することになるが、その違いを示す情報は先頭部のデータの配列順序で表現される。
【００１６】
［３］１ブロック分の圧縮データのデータ量が第１種圧縮データと第２種圧縮データとで同一にされている
ことを特徴とする［１］または［２］に記載の画像圧縮装置。
【００１７】
上記発明では、圧縮方式に相違があっても、１ブロックあたりのデータ量が統一されるので、データの取り扱い、特に伸張時の処理が容易になる。
【００１８】
［４］所定画素数のブロック単位に圧縮された伸張対象の圧縮データの先頭部に階調値が昇順に配列されているか降順に配列されているかに基づいて、その圧縮データが各画素をＮ（Ｎは２以上の所定の整数）階調で表した第１種圧縮データであるか各画素をＭ（ＭはＮより大きい所定の整数）階調で表した第２種圧縮データであるかを判別する判別部と、
前記判別結果が第２種圧縮データの場合は、前記圧縮データの先頭部に配列されている２つの階調値を最大値と最小値とする範囲をＭ階調に正規化するＭ個の代表値を導出する代表値導出部と、
前記判別部の判別結果が第１種圧縮データの場合は、前記圧縮データの先頭部に配置されているＮ個の階調値の後ろに配置された各符号データを、その符号データの値によって特定される、前記先頭部に配列されているＮ個の階調値の中の対応する階調値に変換し、前記判別結果が第２種圧縮データの場合は、前記圧縮データの先頭部に配置されている前記最大値と最小値の後ろに配列された各符号データを、その符号データの値によって特定される、前記代表値導出部で導出されたＭ個の代表値の中の対応する値に変換する変換部と、
を有する
ことを特徴とする画像伸張装置。
【発明の効果】
【００１９】
本発明に係る画像圧縮装置、画像伸張装置によれば、圧縮方式を識別するためのデータ量の増加を招くことなく各ブロックの画像の特性に応じた圧縮方式で圧縮／伸張することができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面に基づき本発明の実施の形態を説明する。
【００２１】
図１は本発明の実施の形態に係る画像圧縮装置１０の構成を示し、図２は本発明の実施の形態に係る画像伸張装置３０の構成を示している。画像圧縮装置１０は、圧縮対象の画像の画像データを入力し、この画像を所定の画素数毎のブロックに分割し、ブロック毎に圧縮した圧縮データを出力する機能を果たす。画像伸張装置３０は、画像圧縮装置１０によって生成された圧縮データを伸張する機能を果たす。
【００２２】
画像圧縮装置１０は、たとえば、原稿のコピー機能やプリント機能などを備えた複合機において、入力される画像データをハードディスク装置などに圧縮して保存する際の圧縮処理に使用され、画像伸張装置３０は出力時にハードディスク装置から読み出された圧縮データを伸張するためなどに使用される。
【００２３】
画像圧縮装置１０および画像伸張装置３０はいずれもマイクロプログラムを内蔵したシーケンサや論理回路などのハードウェア回路で構成される。なお、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などを備えたコンピュータ装置において所定のプログラムを実行することで実現されてもよい。
【００２４】
画像圧縮装置１０および画像伸張装置３０で使用される圧縮方式は、ＢＴＣ圧縮を基本としたものである。画像圧縮装置１０に入力される圧縮対象の画像データは、１画素を深さ８ビットの２５６階調で表したビットマップ形式の画像データである。画像伸張装置３０が出力する伸張後の画像データも同様のデータ形式である。
【００２５】
画像圧縮装置１０は、分割部１１と、判定部１２と、最大値最小値検索部１３と、閾値生成部１４と、正規化部１５とを備えて構成される。
【００２６】
分割部１１は、入力された圧縮対象の画像データを所定の画素数毎のブロックに分割する。ここでは、図３に示すように、画像Ｍの左上を基点として４画素×４画素のブロックＢＬに分割する。分割部１１は１ブロックを分割する毎にそのブロックの画像データを判定部１２および最大値最小値検索部１３、正規化部１５に送出する。
【００２７】
判定部１２は、分割部１１で分割して得たブロック毎に、そのブロック（分割部１１から入力された処理対象のブロック）が、該ブロックに属する画素の階調値の種類がＮ（Ｎは２以上の所定の整数）種類以下の第１種ブロックであるか否かを判定する。ここでは、Ｎの値を「４」に設定してある。判定部１２は、第１種ブロックか否かを示す判定信号と、第１種ブロックであった場合にはその検出されたＮ種類以下の各階調値（これらを代表値と呼ぶ）を示すデータと、その種類数とを正規化部１５に対して送出する。
【００２８】
最大値最小値検索部１３は、分割部１１で分割して得たブロック毎に、そのブロック（分割部１１から入力された処理対象のブロック）に属する画素の階調値の最大値と最小値を求める機能を果たす。たとえば、処理対象のブロックの各画素の階調値を順次比較することでそのブロック内の最大値と最小値を検索する。検索結果である最大値と最小値を示すデータが閾値生成部１４に送られる。
【００２９】
閾値生成部１４は、最大値最小値検索部１３から入力された最大値と最小値とを両端とする階調値の分布範囲をＭ（ＭはＮより大きい所定の整数）個の領域に分割するための閾値を生成する。ここでは、Ｍの値を「８」に設定してある。Ｍが「８」の場合、７個の閾値１〜閾値７が生成される。大きい閾値から順に閾値１、閾値２、閾値３…とする。生成された各閾値は正規化部１５に送られる。
【００３０】
正規化部１５は、分割部１１で分割して得たブロック毎に、そのブロック（分割部１１から入力された処理対象のブロック）に関する判定部１２の判定結果が第１種ブロックの場合は、そのブロックの画像データを第１種圧縮データに圧縮し、判定結果が第１種ブロックでない場合は、そのブロックの画像データを第２種圧縮データに圧縮する。
【００３１】
詳細には、判定部１２から入力される判定信号に基づいて第１種ブロックか否かを判定し、第１種ブロックの場合には、そのブロックに属する画素の階調値を１種類につき１つずつ昇順と降順のうちの予め定めた一方の順序（第１の順序とする）で先頭部に配列して有し、その後ろに、該ブロック内の各画素について、その画素の階調値がその先頭部に配列した階調値の中のどの階調値と同一であるかを示す符号データを配列した第１種圧縮データを生成する。先頭部に配列する各階調値は判定部１２から送られてくる代表値を使用する。
【００３２】
ここでは、第１の順序は昇順とする。また、このブロックに属する画素の代表値の種類数がＮ未満の場合であっても、ダミーデータを加えて、圧縮データの先頭にＮ種類分の代表値を配列する。ダミーデータは、判定部１２から受け取った代表値と異なる任意の値を使用する。
【００３３】
符号データのビット数は、Ｎ種類を表現可能な最小ビット数にされる。ここではＮ＝４なので２ビットにされる。符号データの値は、対応する代表値の圧縮データの先頭部における配置順位を逆順で示すように取り決めてある。すなわち、符号データ「００」は圧縮データの先頭から４バイト目（Ｎバイト目）に配置された代表値に対応することを示し、符号データ「０１」は先頭から３バイト目（Ｎ−１バイト目）の代表値に対応することを示し、符号データ「１０」は先頭から２バイト目（Ｎ−２バイト目）の代表値に対応することを示し、符号データ「１１」は先頭から１バイト目（Ｎ−３バイト目）の代表値に対応することを示している。符号データの値と配置順位との対応関係は、１対１に対応されていれば、他の規則に従うものであってもかまわないが、画像圧縮装置１０と画像伸張装置３０とで共通に取り決められることを要する。
【００３４】
正規化部１５は、正規化対象の画素の階調値と各代表値とを比較して一致する代表値を検出し、その代表値に対応する符号データをその画素に割り当てる。圧縮データ内において代表値の後ろに続く符号データは、図３のブロックＢＬ内の各画素に付してある番号順に配列される。すなわち、ブロック内の左上の画素から同一行内の右側の画素へ順次移動し、右端に至ると１つ下の行の左端に移動して同一行内の右側へ移動するという順序に対応して配列される。
【００３５】
判定部１２の判定結果が第１種ブロックでない場合は、そのブロックに属する画素の階調値の最大値と最小値とを求め、該最大値と最小値とを第１の順序と逆順の第２の順序(第１の順序が昇順であれば降順に、第１の順序が降順であれば昇順)で先頭部に配列し、その後ろに、該ブロック内の各画素について、その画素が最大値と最小値を両端とする階調値の分布範囲をＭ（ＭはＮより大きい整数）個に分割した領域の中のいずれの領域に属するかを示す符号データを配列した第２種圧縮データを生成する。圧縮データ内において最大値・最小値の後ろに続く符号データは、第１種圧縮データの場合と同様に図３のブロックＢＬ内の各画素に付してある番号順に配列される。
【００３６】
ここでは、第１種圧縮データにおける代表値の配列順序(第１の順序)は昇順にしたので、第２種圧縮データでの最大値・最小値の配列順序(第２の順序)は降順にされる。また、Ｍは「８」なので、第２種圧縮データでは１画素あたりの符号データは、８種類の値を表現可能な最小のビット数である３ビットにされている。
【００３７】
各画素がＭ個の領域のいずれに属するかは、正規化対象の画素の階調値と閾値生成部１４から入力された各閾値１〜７とを比較して判断する。ここでは、画素の階調値をＤとしたとき、
最大値≧Ｄ＞閾値１ならば、領域０、符号データ「０００」
閾値１≧Ｄ＞閾値２ならば、領域１、符号データ「００１」
閾値２≧Ｄ＞閾値３ならば、領域２、符号データ「０１０」
閾値３≧Ｄ＞閾値４ならば、領域３、符号データ「０１１」
閾値４≧Ｄ＞閾値５ならば、領域４、符号データ「１００」
閾値５≧Ｄ＞閾値６ならば、領域５、符号データ「１０１」
閾値６≧Ｄ＞閾値７ならば、領域６、符号データ「１１０」
閾値７≧Ｄ≧最小値ならば、領域７、符号データ「１１１」
のように領域とその領域に対応する符号データとを割り当てる。
【００３８】
１ブロックが１６画素であり、Ｎ＝４、Ｍ＝８とし、第１種圧縮データでは１画素を２ビットの符号データで表し、第２種圧縮データでは１画素を３ビットの符号データで表し、最大値、最小値、代表値がそれぞれ１バイトで表されるので、第１種圧縮データでの１ブロック分のデータサイズと第２種圧縮データでの１ブロック分のデータサイズとは同一の各８バイトになっている。すなわち、１ブロック分の圧縮データのデータ量が第１種圧縮データと第２種圧縮データとで同一になるように、１ブロックの画素数などに応じてＭ、Ｎの値が選定されている。
【００３９】
次に、画像伸張装置３０について説明する。図２に示すように、画像伸張装置３０は、判別部３１と、代表値作成部３２と、代表値置換え部３３とを備えている。
【００４０】
判別部３１は、入力される伸張対象の圧縮データの先頭部に階調値を示すデータが昇順に配列されているか降順に配列されているかに基づいて、その圧縮データが各画素をＮ階調で表した第１種圧縮データであるか各画素をＭ階調で表した第２種圧縮データであるかを判別し、その判別結果を示す種別信号を代表値作成部３２に送る。また判別部３１から入力された種別信号をそのまま代表値置換え部３３へ出力する。
【００４１】
ここでは、圧縮データの先頭の１バイト目の値と２バイト目の値とを大小比較し、昇順（第１の順次、２バイト目の値＞１バイト目の値）ならば第１種圧縮データであると判断し、降順（第２の順序、１バイト目の値＞２バイト目の値）ならば第２種圧縮データであると判断する。
【００４２】
代表値作成部３２は、判別部３１から入力された種別信号が第１種圧縮データを示している場合は、圧縮データの先頭部に配置されているＮ個の代表値を、各符号データを階調値に変換するための代表値として代表値置換え部３３へ出力する。ここでは、先頭部の１バイト目の代表値を代表値３、２バイト目を代表値２、３バイト目を代表値１、４バイト目を代表値０として代表値置換え部３３に出力する。
【００４３】
判別部３１から入力された種別信号が第２種圧縮データ（第１種圧縮データでないこと）を示している場合は、圧縮データの先頭部に配列されている２つの階調値を最大値と最小値とする範囲をＭ階調に正規化するためのＭ個の代表値を導出する。ここでは、第２種圧縮データの先頭部の１バイト目は最大値を２バイト目は最小値を示している。代表値作成部３２は最大値と最小値とを両端とする範囲をＭ個に等分するための（Ｍ−２）個の境界値を算出する。そして、最大値を代表値０、算出した境界値の中で最大のものを代表値１、次に大きい境界値を代表値２、次に大きい境界値を代表値３、次に大きい境界値を代表値４、次に大きい境界値を代表値５、次に大きい境界値を代表値６、最小値を代表値７とし、これらの代表値０〜７を代表値置換え部３３へ出力する。
【００４４】
代表値置換え部３３は、代表値作成部３２から入力された種別信号が第１種圧縮データを示している場合は、圧縮データの５バイト目（Ｎ個の代表値の後ろ）から符号データが始まること、および１画素あたりの符号データのビット数が２ビットであることを認識する。そして、伸張対象の圧縮データの５バイト目以降にある２ビット毎の各符号データを、その符号データの値に対応する配列順位に配置されている代表値と同一値の画像データに変換する。
【００４５】
すなわち、符号データの値が「００」であれば圧縮データの先頭から４バイト目に配置されていた代表値３と同一値の画像データに変換し、符号データの値が「０１」であれば先頭から３バイト目の代表値２と同一値の画像データに変換し、符号データの値が「１０」であれば先頭から２バイト目の代表値１と同一値の画像データに変換し、符号データの値が「１１」であれば先頭から１バイト目の代表値０と同一値の画像データに変換する。
【００４６】
１ブロック分の圧縮データに含まれる符号データは、圧縮データ内の配列順に、図３のブロックＢＬ内の番号順に従って配列される。すなわち、ブロック内の左上の画素、その同一行内で順次右側の画素、右端に至ると１つ下の行の左端の画素から順に右側の画素という順序に配列され、１つのブロック分の画像データが再現される。
【００４７】
代表値置換え部３３は、代表値作成部３２から入力された種別信号が第２種圧縮データを示している場合は、圧縮データの３バイト目（最大値と最小値の後ろ）から符号データが始まること、および１画素あたりの符号データのビット数が３ビットであることを認識する。そして、伸張対象の圧縮データに含まれている最大値最小値に続く３ビット毎の各符号データを、代表値作成部３２から入力された代表値のうち、その符号データの値に対応する代表値と同一値の画像データに変換する。
【００４８】
すなわち、符号データ「０００」であれば代表値０に、符号データ「００１」であれば代表値１に、符号データ「０１０」であれば代表値２に、符号データ「０１１」であれば代表値３に、符号データ「１００」であれば代表値４に、符号データ「１０１」であれば代表値５に、符号データ「１１０」であれば代表値６に、符号データ「１１１」であれば代表値７にそれぞれ変換する。
【００４９】
１ブロック分の圧縮データに含まれる符号データは、圧縮データ内の配列順に、図３のブロックＢＬ内の番号順に従って配列されることは第１圧縮データを伸張する場合と同様である。
【００５０】
次に、画像圧縮装置１０による圧縮例を示す。図４は、画像圧縮装置１０により画像Ａを圧縮した場合の各種データを例示している。階調値は１６進数で示す。画像Ａは、スキャナーで写真を読み取って得た画像であり、ブロック内のデータ（階調値）の種類が多い。判定部１２でブロック内に含まれる階調値（データ）の種類を検索した結果は１６になる。これは規定値Ｎ＝４より多いので、このブロックは第２種ブロックであると判定される。
【００５１】
最大値最小値検索部１３でこのブロック内の最大値と最小値を検索すると、最大値は９８ｈ、最小値は６０ｈとなる。閾値生成部１４では、最大値と最小値の間をＭ＝８領域に等分するための閾値１から閾値７を生成する。正規化部１５では、元の画像データの各画素の階調値（データ）を閾値１〜閾値７と比較し、各々の画素がどの領域に属するかを判定して、その領域に対応する３ビットの符号データ（正規化データ）をそれぞれ生成する。階調値（データ）の種類が規定値Ｎ＝４であり、このブロックは第１種ブロックなので、圧縮データの先頭に最大値、最小値をこの大小順で配列し、その後ろに各画素１〜１６に対応する３ビットの符号データ（正規化データ）が配列されている。
【００５２】
図５は、画像圧縮装置１０により画像Ｂを圧縮した場合の各種データを例示している。画像Ｂはパーソナルコンピュータなどで作成された文書データであり、ブロック内に含まれる階調値（データ）の種類は少ない。判定部１２でブロック内に含まれる階調値（データ）の種類を検索した結果は４になる。これは規定値Ｎ＝４以下なので、このブロックは第１種ブロックであると判定される。
【００５３】
判定部１２は、判別結果と、検索された階調値の種類数(この例では４)と、各階調値（代表値）を示すデータＦＦｈ、７Ｆｈ、６１ｈ、００ｈとを正規化部１５に送出する。正規化部１５では、ブロック内の各画素の階調値（データ）がＦＦｈ、７Ｆ、６１ｈ、００ｈの中のどの代表値と一致するかを判定し、一致した代表値に対応する符号データにコード化する。圧縮データの先頭には、ブロック内に含まれていた４種類の代表値が配置される。このとき、小さい値の代表値から順に配置される。
【００５４】
図６は、画像Ａの圧縮データを伸張する場合の各種データを示している。判別部３１で圧縮データの先頭２バイトが大小比較される。１バイト目が２バイト目より大きいので第２種圧縮データであると判別され、圧縮データの先頭の１バイト目は最大値、２バイト目は最小値、それ以降は３ビットの正規化データであることが認識される。判別結果は代表値作成部３２に送られ、代表値作成部３２では、圧縮データに含まれる最大値、最小値からこの最大値、最小値の間を等分に分割する６つの代表値１〜６を生成する。また最大値を代表値０、最小値を代表値７とする。これらの代表値は代表値置換え部３３に送られ、符号データ（正規化データ）の置換えを行い、画像を復元する。
【００５５】
図７は、画像Ｂの圧縮データを伸張する場合の各種データを示している。判別部３１で圧縮データの先頭２バイトが大小比較される。１バイト目が２バイト目より小さいので第１種圧縮データであると判別され、その判別結果が代表値作成部３２に送られる。代表値作成部３２では、圧縮データの先頭の代表値を代表値３、２バイト目を代表値２、３バイト目を代表値１、４バイト目を代表値０として代表値置換え部３３に送る。代表値置換え部３３では、符号データの４バイト目以降が各画素２ビットの符号データであると判断して各画素の符号データを対応する代表値に置換えて画像を復元する。
【００５６】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【００５７】
たとえば、第１の順序と第２の順序はいずれか昇順、降順でもかまわないが、画像圧縮装置１０と画像伸張装置３０との間で同一に取り決められていればよい。また、各圧縮データ内での符号データの並び順とブロック内の画素位置との対応関係についても、画像圧縮装置１０と画像伸張装置３０とで同一に取り決められて入れば、任意に設定してかまわない。
【００５８】
第１種圧縮データでは１画素あたりの符号化データを２ビットにし、第２種圧縮データでは３ビットにする場合を例示したが、第２種圧縮データでのビット数が第１種圧縮データでのビット数より多ければ、それぞれのビット数は例示したものに限定されるものではなく、元の画像データの１画素のビット数より少ない任意のビット数の中から選択される任意の２種類のビット数で構わない。
【００５９】
このほか、１ブロックのサイズは実施の形態で例示したものに限定されない。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施の形態に係る画像圧縮装置の概略構成を示すブロック図である。
【図２】本発明の実施の形態に係る画像伸張装置の概略構成を示すブロック図である。
【図３】圧縮対象の画像をブロックに分割する様子を模擬的に示す説明図である。
【図４】画像Ａ（写真画像）の元画像データを画像圧縮装置で圧縮する場合における各種のデータを示す説明図である。
【図５】画像Ｂ（文字画像）の元画像データを画像圧縮装置で圧縮する場合における各種のデータを示す説明図である。
【図６】画像Ａの圧縮データを画像伸張装置で伸張する場合における各種のデータを示す説明図である。
【図７】画像Ｂの圧縮データを画像伸張装置で伸張する場合における各種のデータを示す説明図である。
【符号の説明】
【００６１】
１０…画像圧縮装置
１１…分割部
１２…判定部
１３…最大値最小値検索部
１４…閾値生成部
１５…正規化部
３０…画像伸張装置
３１…判別部
３２…代表値作成部
３３…代表値置換え部
【図１】
0004462360.tif 000002
【図２】
0004462360.tif 000003
【図３】
0004462360.tif 000004
【図４】
0004462360.tif 000005
【図５】
0004462360.tif 000006
【図６】
0004462360.tif 000007
【図７】
0004462360.tif 000008