(57)【特許請求の範囲】
【請求項１】
単位ブロックを構成する複数の画素の各画素値から複数の代表値を得るステップと、
前記複数の代表値を前記単位ブロックの階調情報とするステップと、
前記諧調情報をもとに前記単位ブロックの代表値と近隣ブロックの代表値との差分によって記述する複数の諧調情報を生成するステップと、
前記複数の諧調情報と前記ビットマップパターンを生成するステップから構成されることを特徴とする画像圧縮方法。
【請求項２】
前記ブロック符号を生成するに際し、前記ブロック内部の全階調が等しいときには、一つの階調情報と全階調が等しいことを示す画素配列パターンとによって構成する前記ブロック符号を生成するステップと、
前記ブロック内部の階調にばらつきが存在するときには、前記ブロック内の２つの代表値をとり更に前記２つの代表値と隣接ブロックの持つ２つの代表値との差分をとるステップと、
前記差分が小さいときには前記差分を前記代表値より少ないビット数で符号化した階調情報と、前記差分が大きいときには前記代表値を前記代表値より少ないビット数で符号化した階調情報と、前記差分値と前記代表値のいずれの符号化であるかを示すフラグビットとによって構成する前記ブロック符号を生成するステップとを有することを特徴とする請求項１記載の画像圧縮方法。
【請求項３】
前記画素配列パターン中の一部のビットを削減し、前記階調情報に割り当てるビット数を増加させるステップを有することを特徴とする請求項２記載の画像圧縮方法。
【請求項４】
請求項１または請求項３記載の画像圧縮方法により生成された前記ブロック符号を伸張し、多階調画像の画素を再構成するステップを有することを特徴とする画像伸張方法。
【請求項５】
前記ブロック符号を伸張し多階調画像の画素を再構成するに際し、前記ブロック符号中の画素配列パターンが全階調が等しいことを示すパターンであるとき、前記ブロック内を同一の階調情報により再構成するステップと、
前記フラグビットが前記階調情報が前記代表値を示すとき、前記階調情報より前記代表値を生成するステップと、
前記フラグビットが前記階調情報が前記差分を示すとき、前記階調情報及び隣接ブロックの前記代表値より目的ブロックの前記代表値を生成するステップと、
前記ブロック符号中の前記画素配列パターンに基づいて前記代表値を分配するステップとを有することを特徴とする請求項４記載の画像伸張方法。
【請求項６】
前記画素配列パターン中の削減されたビットを推定するステップを有することを特徴とする請求項４又は請求項５記載の画像伸張方法。
【請求項７】
前記削除されたビットを推定するに際し、被推定ビットに対応する画素の周囲画素に対応するビットの多数決により被推定ビットを決定するステップを有することを特徴とする請求項６記載の画像伸張方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタ、複写機等で用いる多階調画像の画像圧縮方法及び画像伸張方法に関するものである。
【０００２】
【従来の技術】
近年、プリンタ、複写機などの事務機器は、各種オフィスをはじめ個人ユーザの間にも浸透しつつある。また、これらの機器では高画質化やカラー画像を対象として扱うことも要求されている。特に、カラー画像のデーター量は膨大であって、メモリの増大、引いては高価格化が避けることのできない問題となっている。低価格化を実現するためには、高画質を維持しつつ画像データの圧縮を行い、画像の記憶に必要なメモリを削減していく必要がある。
【０００３】
さて従来、階調画像の情報圧縮方法としてブロック符号化と呼ばれる技術がある。この方法を図２および図２１乃至図２５を参照しながら説明する。
【０００４】
図２では、画像の一部を拡大して示している。図２中、２は画素であり、画像構成する最小単位である。１つの画素２は８ビットデータで２５６階調を扱うものとし、０から２５５の値を持つ。そして、４×４（総画素数１６）の近隣画素２を集めたブロック３をとり、このブロック単位に処理を行う。
【０００５】
図２２ではブロック３の実際の例を示しており、図２１ではブロック３をブロック符号化する際の手順を示している。
【０００６】
まず、ブロック符号化するブロック３の平均値を算出し、これをブロック内平均値ｍｐとする（ステップ１）。図２２のブロック内平均値は、小数以下を四捨五入してｍｐ＝１２２となる。
【０００７】
次に、ブロック内平均値とブロック３内の各画素とを比較し、ブロック内平均値未満の値を持つ画素を”０”、前記ブロック内平均値以上の値を持つ画素を”１”とする画素配列パターンを形成する（ステップ２）。図２２のブロック３に相当する画素配列パターンを図２３に示す。
【０００８】
次に、画素配列パターンが”０”である画素の組の平均値ａ０、及び”１”である画素の組の平均値ａ１をそれぞれ算出し、ブロック代表値とする（ステップ３）。図２２のブロック３ではブロック代表値はａ０＝３４（２２ｈ）、ａ１＝１６２（Ａ２ｈ）である。最終的なブロック３のブロック符号１は、図２４（ａ）に示すような各８ビットのデータである２つの代表値と１６ビットで表わされる１つの画素配列パターンとで構成され、具体的には図２４（ｂ）に示すような符号となる。
【０００９】
また、このブロック符号１を実際の画像データとして復元するための伸張処理を図２５に沿って説明する。図２４のブロック符号１に収められたブロック代表値ａ０を、各々画素配列パターンの”０”である画素に対し当てはめ、また代表値、ａ１を画素配列パターンの”１”である画素に対し当てはめていく処理を、１ブロック内の全画素に対して行う。図２４のブロック符号１の伸張画像を図２６に示す。
【００１０】
一般に、１画素をｑビットデータ、１ブロックの画素数をＮとして表したときには、原画像の１ブロック内のデータ量は、ｑ×Ｎビットであり、ブロック符号化後の画像データはＮビットの画素配列パターンと２×ｑビットのブロック代表値を合わせた２ｑ＋Ｎビットとなる。従って、上記ブロック符号化による画像データの圧縮率はｑＮ／（２ｑ＋Ｎ）である。図１３に示す例では、１画素ｑ＝８ビットで１ブロックＮ＝１６であるため、圧縮率は４となる。
【００１１】
【発明が解決しようとしている課題】
一般に、画像の種類を大きく二分した場合、文字や図形により構成される画像と写真や絵画などの自然画像とに区別できる。前者の場合には、そのデータの多くがブロック内のデータの値が等しいベタ画像であり、階調に変化があるときにもその変化は著しく大きい。また後者の場合には、近隣画素間の階調変化は常にあるものの、その変化は小さいことが多い。
【００１２】
ところで、従来のブロック符号化では、１ブロックの圧縮符号が常に２つの代表値と１つのビットマップデータで表現されており、１ブロック内のデータが全て等しい場合、即ちベタ画像であるような場合にも同様な符号化圧縮を行うため、１つの代表値で十分なブロックに対しても２つの代表値を持ち、また階調変化の小さい画像に対しても代表値データをそのまま符号化するため、圧縮効率が悪いという問題点があった。
【００１３】
そこで本発明は、高い圧縮率を有する画像圧縮方法及び画像伸張方法を提供することを目的とする。
【００１４】
【課題を解決するための手段】
本発明は、第１の構成として、画像のデータの１ブロックを、ブロック内部の全階調が等しいときには一つの階調情報と全階調が等しいことを示す画素配列パターンとによって構成するブロック符号を生成し、ブロック内部の階調にばらつきが存在するときにはブロック内の２つの代表値をとり更に２つの代表値と隣接ブロックの持つ２つの代表値との差分をとり、差分が小さいときには差分を代表値より少ないビット数で符号化した階調情報と、差分が大きいときには代表値をその代表値より少ないビット数で符号化した階調情報と、差分値と代表値のいずれの符号化であるかを示すフラグビットとによって構成するブロック符号を生成する画像圧縮方法及びブロック符号を伸張し画像を再構成している。
【００１５】
また、第２の構成として、ビットマップデータの伸張時に推定復元可能な一部のデータを削除し、階調情報に割り当てられるビット数を増やし階調性を維持した状態で画像情報の符号化圧縮を行っている。
【００１６】
【発明の実施の形態】
上記構成により、画像の種類に応じた圧縮を行うことができるから、画像データを合理的に圧縮することができ、その圧縮率を向上させることができる。
【００１７】
以下、本発明の第一の実施の形態について図１から図１０を参照しながら説明する。
【００１８】
図２は、本発明の第一の実施の形態における原画像の拡大図である。図２中、２は画素であり、画像構成する最小単位である。各色ともに８ビットデータで２５６階調を扱うものとし、１つの画素２は０から２５５の値を持つ。太線で示すように４×４（総画素数１６）の近隣画素２を集めたブロック３をとる。
【００１９】
ここで、第１の実施の形態では、ブロック符号化によるブロック符号１中の階調データをブロック３内のデータのばらつき、および近隣画素ブロック３からの階調変化の差に応じて３種類のデータで表現するものとする。次に図１、図３を用いて、これらの符号を説明する。
【００２０】
１ブロック内全てデータが等しいときのブロック符号１は、階調情報として８ビットのブロック平均値ｍと、解像度情報として１６ビットのビットマップデータを持ち、図１（ａ）のように表わす。このときのビットマップデータは、全ブロック内のデータが等しいため、１６進表現で００ｈまたはＦＦｈである（図はＦＦｈ）。
【００２１】
１ブロック内のデータにばらつきがあるときのブロック符号１は、階調情報としてブロック平均値ｍよりも小さいグループのグループ平均値ａ０と、大きいグループのグループ平均値ａ１と、これらのグループの画素の並びを表わす１６ビットのビットマップデータを持つ。ただし、これらのグループ平均値ａ０、ａ１はその絶対値を３ビットで表わした値ａ０＊，ａ１＊または近隣ブロック３のグループ平均値との差分ｄ０，ｄ１を３ビットで表わした値ｄ０＊，ｄ１＊で表わし、階調情報が絶対値データであるか差分データのいずれかを示すためのフラグを大小各グループに１ビットずつ割り当て、図１（ｂ）に示すように２４ビットのブロック符号１とする。
【００２２】
図１（ｂ）でｆ０は小グループに関するフラグを示し、ｆ１は大グループに関するフラグを示している。
【００２３】
またこれら小グループ階調情報、大グループ階調情報は各々独立に設定されるため、ブロック符号１は異なる４つの状態をもつ。図３（ａ）乃至（ｄ）にその４つの状態を示す。
【００２４】
図３（ａ）では大小ブロック平均値と近隣ブロック３の大小ブロック平均値との差が大きい場合の符号を示し、図３（ｂ）では大小ブロック平均値と近隣ブロック３の大小ブロック平均値との差が小さい場合の符号、図３（ｃ）では小ブロック平均値が近隣ブロック３の大ブロック平均値との差が大きく、大ブロック平均値が近隣ブロック３の大ブロック平均値との差が小さい場合の符号、図３（ｄ）は小ブロック平均値が近隣ブロック３の小ブロック平均値との差が小さく、大ブロック平均値が近隣ブロック３の大ブロック平均値との差が大きい場合の符号を示している。
【００２５】
ただし、近隣ブロック３は、１ページの符号化圧縮処理において１つ前に処理したブロック３を用い、画像の左から右に向かって処理した場合には、これから符号化圧縮を実施しようとするブロック３の左隣に位置するブロック３を意味するものとする。また、いずれの場合においても、ビットマップは１６ビットであり、ブロック３内の各画素とビットマップデータ中の各ビットとは図４（ａ）に示すブロック３の各画素ｂ００乃至ｂ３３は図４（ｂ）のビットマップデータに示すように、１対１で対応させる。
【００２６】
次に、本実施の形態のブロック符号化圧縮を実施する際の手順を図５に沿って説明する。先ずブロック３内の全画素の階調データについて平均値をとる。これをブロック平均値ｍとする（ステップ１）。
【００２７】
又この時、１ブロック内のデータが全て等しいときには、処理を分岐させ（ステップ２）、ビットマップパターンに全画素等しいことを示すデータとしてＦＦｈをセットし、階調データにはステップ１で求めたブロック平均値ｍをセットする（ステップ３）のみで、当該ブロック３の圧縮処理を終了する。
【００２８】
ステップ２において、１ブロック内のデータにばらつきがある場合は、ブロック３内の各画素をブロック平均値ｍと比較し、ブロック平均値ｍ未満の階調を持つ画素のグループと、ブロック平均値ｍ以上の階調を持つ画素のグループとに分けるとともに、ブロック平均値ｍ未満の階調を持つ画素のグループを”０”、ブロック平均値ｍ以上の階調を持つ画素のグループを”１”とするビットマップパターンを形成する（ステップ４）。
【００２９】
そして、各グループについて階調の平均値を求める（ステップ５）。ここで、ブロック平均値ｍ未満の階調を持つ画素のグループの平均値を小グループ平均値ａ０とし、ブロック平均値ｍ以上の階調を持つ画素のグループの平均値を大グループ平均値ａ１とする。なお、添字”０”および”１”は、小グループおよび大グループを表わすものとする。
【００３０】
次に、小グループ平均値ａ０と近隣ブロック３の小グループ平均値ａｐ０との差分ｄ０を算出する（ステップ６）。ただし、近隣ブロック３は、以前に処理したブロック３であり、その小グループ平均値を添字”ｐ”を用いて表わす。処理中、ブロック３の小グループ平均値ａ０と前処理ブロック３の小グループ平均値ａｐ０との差分ｄ０の大きさに応じ、処理を分岐させる（ステップ７）。
【００３１】
小グループ差分ｄ０が大きいときには、小グループに関するフラグｆ０を”１”とし（ステップ８）、小グループ平均値ａ０の上位３ビットを小グループ階調データａ０＊とする（ステップ９）。ここで、小グループ階調データａ０＊は、本来の小グループ平均値ａ０を３ビットで表わしたものであり、本来の値からの誤差を含んでいるため、添字”＊”をつけて表わす。
【００３２】
ステップ７で小グループ差分ｄ０が小さいときには、小グループに関するフラグｆ０を”０”とし（ステップ１０）、小グループ差分ｄ０を３ビットの小グループ階調差分データｄ０＊とする（ステップ１１）。
【００３３】
ここで、小グループｄ０＊は、本来の小グループ平均値ｄ０を３ビットで表わしたものであり、本来の値からの誤差を含んでいるため、添字”＊”をつけて表わす。
【００３４】
次に大グループに関し、ステップ６乃至ステップ１１で行った小グループの処理と同様の処理を施す。即ち、大グループ平均値ａ１と近隣ブロック３の大グループ平均値ａｐ１との差分ｄ１を算出する（ステップ１２）。処理中、ブロック３の大グループ平均値ａ１と前処理ブロック３の大グループ平均値ａｐ１との差分ｄ１の大きさに応じ処理を分岐させる（ステップ１３）。
【００３５】
大グループ差分ｄ１が大きいときには、大グループに関するフラグｆ１を”１”とし（ステップ１４）、大グループ平均値ａ１の上位３ビットを大グループ階調データａ１＊とする（ステップ１５）。
【００３６】
ステップ１３で、大グループ差分ｄ１が小さいときには、大グループに関するフラグｆ１を”０”とし（ステップ１６）、大グループ差分ｄ１を上位３ビットの大グループ階調差分データｄ１＊とする（ステップ１７）。ただし、添字”＊”は、本来の大グループ平均値ａ１や大グループ差分ｄ１を各々３ビットで表わしたものであり、本来の値からの誤差を含んでいるため付加している。
【００３７】
以上の処理により、当該ブロック３の大小各グループの階調情報、およびビットマップデータが形成されたことでブロック符号１の生成が完了し１ブロックの圧縮処理を終了する。
【００３８】
次に、本発明の第一の実施の形態におけるブロック符号１を伸張する方法について、図６を参照しながら説明する。先ず、ブロック符号１中のビットマップデータがＦＦｈであるか否かによって処理を分岐する（ステップ１）。
【００３９】
ビットマップデータがＦＦｈであるときは、当該ブロック３の全画素が等しい値を持つものと判定し、ブロック符号１中の階調情報として与えられているブロック平均値ｍを、ブロック３内の全画素にセットし処理を終了する（ステップ２）。
【００４０】
ビットマップデータがＦＦｈでないときは、当該ブロック３は大小のグループをもち、ブロック符号１中の階調情報は各グループのグループ平均値またはグループ差分を表わしているものとして判断する。先ず小グループに関するフラグビットｆ０が”１”であるか否かによって処理を分岐する（ステップ３）。小グループフラグビットｆ０が”１”であるときには、小グループの階調情報は小グループ平均値ａ０＊を与えているため、小グループの階調として小グループ平均値ａ０＊を８ビットデータに復元したものをセットする（ステップ４）。
【００４１】
小グループフラグビットｆ０が”０”であるときには、小グループの階調情報は小グループ差分値ｄ０＊を与えているため、小グループの階調として前ブロック３の小グループの階調に差分値ｄ０＊を８ビットデータに復元したものを加えて得られた値をセットする（ステップ５）。
【００４２】
続いて、大グループの階調情報に対してもステップ３乃至ステップ５で行った小グループと同様の処理を施す。大グループに関するフラグビットｆ１が”１”であるか否かによって処理を分岐する（ステップ６）。大グループフラグビットｆ１が”１”であるときには、小グループの階調情報は大グループ平均値ａ１＊を与えているため、大グループの階調として大グループ平均値ａ１＊を８ビットデータに復元したものをセットする（ステップ７）。
【００４３】
大グループフラグビットｆ１が”０”であるときには、大グループの階調情報は大グループ差分値ｄ１＊を与えているため、大グループの階調として前ブロック３の大グループの階調に差分値ｄ１＊８ビットデータに復元したものを加えて得られた値をセットする（ステップ８）。
【００４４】
最後に、以上の過程で得られた各グループの階調をビットマップに応じて配置する。ビットマップの”０”である画素に対しては小グループの階調を当てはめ、またビットマップの”１”である画素に対しては大グループの階調を当てはめる（ステップ９）。以上で１ブロック分のブロック符号１の伸張処理を終了する。
【００４５】
次に、本発明の第一の実施の形態による符号化圧縮を、実際の画像に適応した例を、図７乃至図１０を参照して説明する。図７（ａ）乃至（ｃ）では、原画像の隣接する３ブロック３を拡大して示してあり、１マスが１画素に相当する。１画素は８ビットデータで、０から２５５の２５６階調を有する。また、４×４画素で１ブロックを形成し、図７（ａ）（ｂ）（ｃ）は、それぞれ隣接したブロック３を構成しているものとする。符号化圧縮処理および伸張処理は、左から右に図７（ａ）、図７（ｂ）、図７（ｃ）の順で行う。
【００４６】
これらを符号化圧縮したブロック符号１を、図８（ａ）乃至（ｃ）に示す。図８（ａ）は図７（ａ）に対応したブロック符号１であり、（ｂ），（ｃ）も同様である。図８（ａ）では、全画素同じ値のときのブロック符号１、図８（ｂ）は小グループに絶対値データを用い、大グループに差分データを用いた符号を、また図８（ｃ）小グループに差分データを用い大グループに絶対値データを用いた符号である。
【００４７】
また図９（ａ）乃至（ｃ）に、図８（ａ）乃至（ｃ）のブロック符号１を伸張して得られた画像を示す。図１０は図９に対比される復元画像データの説明図である。
【００４８】
第一の実施の形態による符号化圧縮では、一般に、１画素をｑビットデータ、１ブロックの画素数をＮとして表したときには、原画像の１ブロック内のデータ量はｑ×Ｎビットであり、ブロック符号化後の画像データはＮビットの画素配列パターンとｑビットの階調情報（フラグを含める）を合わせたｑ＋Ｎビットとなる。従って、本発明のブロック符号化による画像データの圧縮率はｑＮ／（ｑ＋Ｎ）である。１画素ｑ＝８ビットで１ブロックＮ＝１６である場合には圧縮率は５．３となる。
【００４９】
次に、本発明の第二の実施の形態について図１１乃至図２０を用いて説明する。さて、第一の実施の形態では、大小ブロックのフラグビットを階調情報領域中に割り当て、実際の階調データ、すなわち絶対値データまたは差分データは各３ビットで表現していた。原データの８ビットに対し、３ビットの絶対値データまたは差分データでは表現範囲が狭く、急激に階調が変化する階調ジャンプが生じ、処理対象の画像によっては画質の劣化から逃れられないことがある。
【００５０】
そこで第二の実施の形態では、ビットマップデータ中の２ビットを削り、その２ビットを大小グループのフラグビットに割り当てることで、大小各グループの絶対値データまたは差分データにそれぞれ４ビットの表現範囲が割り当てられ、階調の表現範囲を広げることができるようにしている。削った２ビットのビットマップは、伸張の際に推定して求め、復元するものである。
【００５１】
第二の実施の形態では、第一の実施の形態と同様に、ブロック符号化によるブロック符号１中の階調データを、ブロック３内のデータのばらつき、および近隣画素ブロック３からの階調変化の差に応じて、３種類のデータで表現するものとする。図１１乃至図１２ではこれらの符号を説明している。
【００５２】
１ブロック内全てデータが等しいときの符号は、第一の実施の形態と同様に、階調情報として８ビットのブロック平均値ｍと、解像度情報として１６ビットのビットマップデータを持ち、図１１（ａ）のように表わす。このときのビットマップデータは、全ブロック３内のデータが等しいため、１６進表現で００ｈまたはＦＦｈである。
【００５３】
１ブロック内のデータにばらつきがあるときは、階調情報としてブロック平均値ｍよりも小さいグループのグループ平均値ａ０と、大きいグループのグループ平均値ａ１と、これらのグループの画素の並びを表わす１４ビットのビットマップデータを持つ。ただし、これらのグループ平均値ａ０、ａ１はその絶対値を４ビットデータ表わした値ａ０＊＊，ａ１＊＊または近隣ブロック３のグループ平均値との差分ｄ０，ｄ１を４ビットで表わした値ｄ０＊＊，ｄ１＊＊で表わし、階調データが絶対値データであるか差分データのいずれかを示すためのフラグを、大小各グループに１ビットずつ割り当てるようにしている。
【００５４】
図１１（ｂ）では、１ブロック内のデータにばらつきがあるときのブロック符号１を示しており、ｆ０は小グループに関するフラグを示し、ｆ１は大グループに関するフラグを示している。また、これら小グループ階調情報、大グループ階調情報は、各々独立に設定されるため、ブロック符号１は異なる４つの状態をもつ。図１２（ａ）乃至（ｄ）にその４つの状態を示す。図１２（ａ）では、大小ブロック平均値と近隣ブロック３の大小ブロック平均値との差が大きい場合の符号を示し、図１２（ｂ）は大小ブロック平均値と近隣ブロック３の大小ブロック平均値との差が小さい場合の符号を、図１２（ｃ）は小ブロック平均値が近隣ブロック３の大ブロック平均値との差が大きく大ブロック平均値が近隣ブロック３の大ブロック平均値との差が小さい場合の符号を、図１２（ｄ）は逆に小ブロック平均値が近隣ブロック３の小ブロック平均値との差が小さく大ブロック平均値が近隣ブロック３の大ブロック平均値との差が大きい場合の符号を示している。
【００５５】
ただし、近隣ブロック３は、１ページの符号化圧縮処理において、１つ前に処理したブロック３を用い、画像の左から右に向かって処理した場合には、これから符号化圧縮を実施しようとするブロック３の左隣に位置するブロック３を意味するものとする。
【００５６】
また、１ブロック内全てデータが等しいときのビットマップは、１６ビットで第一の実施の形態で説明したビットマップ構成と同様であるが、１ブロック内のデータにばらつきがあるときは、図１３（ａ）の  ア、イとして示すブロック３内部の２画素を除いたビットマップを用い、ブロック３内の各画素とビットマップデータ中の各ビットとは、図１３（ｂ）に示すように対応させ、空いた２ビットにはフラグｆ０，ｆ１を割り当てる。
【００５７】
図１４では、１つのブロック３に本発明の第二の実施の形態によるブロック符号化圧縮を実施する際の手順を示している。
【００５８】
ステップ１乃至ステップ１７は、大小各グループの階調データａ０＊＊、ａ１＊＊および差分データｄ０＊＊、ｄ１＊＊が、グループ平均値ａ０、ａ１および差分値ｄ０、ｄ１をそれぞれ４ビットで表現していること以外を除き、第一の実施の形態で述べたブロック圧縮処理のステップ１乃至ステップ１７と同様であることから、詳細な説明は省略する。
【００５９】
なお、階調データａ０＊＊、ａ１＊＊および差分データｄ０＊＊、ｄ１＊＊は、グループ平均値ａ０、ａ１および差分値ｄ０、ｄ１を各々４ビットで表わしているため、本来の値から誤差を含み、更に第一の実施の形態で用いた各３ビットの階調データａ０＊、ａ１＊および差分データｄ０＊、ｄ１＊とは異なることから添字”＊＊”を用いている。
【００６０】
ステップ１乃至ステップ１７の一連の処理が終了すると、ビットマップ中の２ビットを削除し、ビットマップデータを１６ビットから１４ビットに削減する（ステップ１８）。削除するビットは、図１３に示す、ブロック３の内部の固定位置の２画素に対応する２ビットとする。以上の処理により当該ブロック３の大小各グループの階調情報、およびビットマップデータが形成されたことでブロック符号１の生成が完了し１ブロックの圧縮処理を終了する。
【００６１】
次に、第二の実施の形態のブロック符号１を伸張する方法について、図１５を用いて説明する。
【００６２】
ステップ１乃至ステップ８は、大小各グループの階調データａ０＊＊、ａ１＊＊および差分データｄ０＊＊、ｄ１＊＊がグループ平均値ａ０、ａ１および差分値ｄ０、ｄ１をそれぞれ４ビットで表現していること以外を除き、第一の実施の形態で述べた伸張処理のステップ１乃至ステップ８と同様であることから、詳細な説明は省略する。
【００６３】
ステップ１乃至ステップ８の一連の伸張処理が終了すると、削除されたビットマップ中の２ビットを推定し、ビットマップを復元する（ステップ１０）。最後に第一の実施の形態と同様にビットマップの”０”である画素に対しては小グループの階調を当てはめ、またビットマップの”１”である画素に対しては大グループの階調をそれぞれ当てはめる（ステップ９）。以上で１ブロック分のブロック符号１の伸張処理を終了する。
【００６４】
次に、ビットマップの推定方法について、図１６乃至図１７を参照しながら説明する。
【００６５】
図１６（ａ）および（ｂ）では、ビットマップをブロック３のイメージで並べて示しており、ｂ００，ｂ０１等はビットマップによって定められた画素を、またｃ１１、ｃ２２は符号化処理において削除されたため、伸張処理において推定が必要とされる画素を示している。図１６（ａ）では、画素ｃ１１のビットマップの推定を説明しており、図１６（ｂ）は画素ｃ２２のビットマップの推定を説明している。
【００６６】
画素ｃ１１のビットマップの推定は、その周辺画素ｂ００，ｂ０１，ｂ０２，ｂ１０，ｂ１２，ｂ２０およびｂ２１を用い、これらの画素のビットで”１”、”０”の多数決により画素ｃ１１のビットを決定する。
【００６７】
同様に、図１６（ｂ）では画素ｃ２２のビットマップの推定を説明しており、画素ｃ２２の周辺画素ｂ１２，ｂ１３，ｂ２１，ｂ２３，ｂ３１，ｂ３２およびｂ３３を用いて推定する。図１７では実際のビットマップ推定を行ったときの例を示しており、図１７（ａ）では推定前のビットマップデータをブロック３のイメージ並べたものであり、Ａ、Ｂが被推定画素である。
【００６８】
推定を行った結果は、図１７（ｂ）のようになる。ビットマップ内のビットはブロック平均値ｍを境として分けたときのデータの配分であるため、その殆どは互いに寄り集まって存在していると考えてよい。従って、被推定画素の周辺画素の数によって推定する本方法は殆ど正確な推定が可能である。
【００６９】
第１の実施の形態による符号化圧縮を実際の画像に適応した例を、図１８乃至図２０に示す。図１８（ａ）乃至（ｃ）は、原画像の一部分を拡大し示したものである。これらを本発明の第二の実施の形態による符号化圧縮を施したブロック符号１を、図１９（ａ）乃至（ｃ）に示す。図１９（ａ）は、図１８（ａ）に対応したブロック符号１であり、（ｂ），（ｃ）も同様である。図１９（ａ）は全画素同じ値のときのブロック符号１、図１９（ｂ）は小グループに絶対値データを用い、大グループに差分データを用いた符号を示し、また図１９（ｃ）小グループに差分データを用い大グループに絶対値データを用いた符号であることがわかる。また図２０（ａ）乃至（ｃ）は、図１９（ａ）乃至（ｃ）のブロック符号１を伸張して得られた画像を示す。
【００７０】
第二の実施の形態による符号化圧縮では、一般に、１画素をｑビットデータ、１ブロックの画素数をＮとして表したときには、原画像の１ブロック内のデータ量はｑ×Ｎビットであり、ブロック符号化後の画像データは（Ｎ−２）ビットの画素配列パターンとｑビットの階調情報およびフラグ２ビットを合わせたｑ＋（Ｎ−２）＋２ビットとなる。従って、このブロック符号化による画像データの圧縮率は、ｑＮ／（ｑ＋Ｎ）である。１画素ｑ＝８ビットで１ブロックＮ＝１６である場合には、圧縮率は５．３となる。
【００７１】
【発明の効果】
本発明の第一の構成によれば、画像のデータの１ブロックを、ブロック内のデータが全て等しい場合には１つの代表値とそれを表わすビットマップデータで表わし、ブロック内のデータにばらつきがある場合には２つの代表値とそれを表わすビットマップデータで表わし、さらに各代表値が近隣ブロックの持つ代表値との差が小さいときにはその差を代表値の符号として表わすことで圧縮率を向上することができる。
【００７２】
また、第二の構成によれば、符号化圧縮時にビットマップ中のデータを削減し伸張時にビットマップを推定することによりグループ平均値および／またはグループ差分値を表現するために必要なビット数を増やすことができるので、階調性を維持したまま圧縮率を向上できる。
【図面の簡単な説明】
【図１】（ａ）本発明の第一の実施の形態におけるブロック符号構成図
（ｂ）本発明の第一の実施の形態におけるブロック符号構成図
【図２】原画像の拡大図
【図３】（ａ）本発明の第一の実施の形態におけるブロック符号構成の詳細説明図
（ｂ）本発明の第一の実施の形態におけるブロック符号構成の詳細説明図
（ｃ）本発明の第一の実施の形態におけるブロック符号構成の詳細説明図
（ｄ）本発明の第一の実施の形態におけるブロック符号構成の詳細説明図
【図４】（ａ）本発明の第一の実施の形態におけるビットマップ説明図
（ｂ）本発明の第一の実施の形態におけるビットマップ説明図
【図５】本発明の第一の実施の形態における圧縮処理のフローチャート
【図６】本発明の第一の実施の形態における伸張処理のフローチャート
【図７】（ａ）本発明の第一の実施の形態における処理前の画像データの説明図
（ｂ）本発明の第一の実施の形態における処理前の画像データの説明図
（ｃ）本発明の第一の実施の形態における処理前の画像データの説明図
【図８】（ａ）本発明の第一の実施の形態における圧縮処理後のブロック符号の説明図
（ｂ）本発明の第一の実施の形態における圧縮処理後のブロック符号の説明図
（ｃ）本発明の第一の実施の形態における圧縮処理後のブロック符号の説明図
【図９】（ａ）本発明の第一の実施の形態における復元画像データの説明図
（ｂ）本発明の第一の実施の形態における復元画像データの説明図
（ｃ）本発明の第一の実施の形態における復元画像データの説明図
【図１０】（ａ）図９に対比される復元画像データの説明図
（ｂ）図９に対比される復元画像データの説明図
（ｃ）図９に対比される復元画像データの説明図
【図１１】（ａ）本発明の第二の実施の形態のブロック符号構成図
（ｂ）本発明の第二の実施の形態のブロック符号構成図
【図１２】（ａ）本発明の第二の実施の形態におけるブロック符号構成の詳細説明図
（ｂ）本発明の第二の実施の形態におけるブロック符号構成の詳細説明図
（ｃ）本発明の第二の実施の形態におけるブロック符号構成の詳細説明図
（ｄ）本発明の第二の実施の形態におけるブロック符号構成の詳細説明図
【図１３】（ａ）本発明の第二の実施の形態におけるビットマップ説明図
（ｂ）本発明の第二の実施の形態におけるビットマップ説明図
【図１４】本発明の第二の実施の形態における圧縮処理のフローチャート
【図１５】本発明の第二の実施の形態における伸張処理のフローチャート
【図１６】（ａ）本発明の第二の実施の形態におけるビットマップ推定の説明図
（ｂ）本発明の第二の実施の形態におけるビットマップ推定の説明図
【図１７】（ａ）本発明の第二の実施の形態におけるビットマップ推定の例示図
（ｂ）本発明の第二の実施の形態におけるビットマップ推定の例示図
【図１８】（ａ）本発明の第二の実施の形態における処理前の画像データの説明図
（ｂ）本発明の第二の実施の形態における処理前の画像データの説明図
（ｃ）本発明の第二の実施の形態における処理前の画像データの説明図
【図１９】（ａ）本発明の第二の実施の形態における圧縮処理後のブロック符号の説明図（ｂ）本発明の第二の実施の形態における圧縮処理後のブロック符号の説明図（ｃ）本発明の第二の実施の形態における圧縮処理後のブロック符号の説明図
【図２０】（ａ）本発明の第二の実施の形態における復元画像データの説明図
（ｂ）本発明の第二の実施の形態における復元画像データの説明図
（ｃ）本発明の第二の実施の形態における復元画像データの説明図
【図２１】従来の圧縮処理のフローチャート
【図２２】従来の圧縮処理前の画像データの説明図
【図２３】従来のビットマップデータの説明図
【図２４】従来のブロック符号の説明図
【図２５】従来の伸張処理のフローチャート
【図２６】従来の伸張処理後の画像データの説明図
【符号の説明】
１  ブロック符号
２  画素
３  ブロック
４  ビットマップ
【図１】
0003777649.tif 000002
【図２】
0003777649.tif 000003
【図３】
0003777649.tif 000004
【図４】
0003777649.tif 000005
【図５】
0003777649.tif 000006
【図６】
0003777649.tif 000007
【図７】
0003777649.tif 000008
【図８】
0003777649.tif 000009
【図９】
0003777649.tif 000010
【図１０】
0003777649.tif 000011
【図１１】
0003777649.tif 000012
【図１２】
0003777649.tif 000013
【図１３】
0003777649.tif 000014
【図１４】
0003777649.tif 000015
【図１５】
0003777649.tif 000016
【図１６】
0003777649.tif 000017
【図１７】
0003777649.tif 000018
【図１８】
0003777649.tif 000019
【図１９】
0003777649.tif 000020
【図２０】
0003777649.tif 000021
【図２１】
0003777649.tif 000022
【図２２】
0003777649.tif 000023
【図２３】
0003777649.tif 000024
【図２４】
0003777649.tif 000025
【図２５】
0003777649.tif 000026
【図２６】
0003777649.tif 000027