(57)【特許請求の範囲】
【請求項１】
カラー画像圧縮方法であって、
グラデーション系のカラー画像をＲＧＢの各プレーンに分割し、
前記各プレーンにおける要素のデータに対する一次差分を算出し、
前記一次差分に対する二次差分を算出し、前記各プレーンを可変長符号化する際、前記二次差分が零でないときに、当該二次差分を用いて、前記各プレーンを可変長符号化し、前記二次差分が連続して零となるときに、当該零の連続数を用いて、前記各プレーンを可変長符号化し、さらに、コードブックにもとづいて、前記二次差分を圧縮する
ことを特徴とするカラー画像圧縮方法。
【請求項２】
前記各プレーンから最初に取得するデータを、コードブックにおけるデータ値の範囲にもとづいて圧縮することを特徴とする請求項１記載のカラー画像圧縮方法。
【請求項３】
前記二次差分が零のとき、ランレングスカウントを加算することによって、前記零の連続数をカウントし、前記二次差分が零でないときは、前記ランレングスカウントを圧縮することを特徴とする請求項１又は２記載のカラー画像圧縮方法。
【請求項４】
前記各プレーンを可逆的に可変長符号化することを特徴とする請求項１〜３のいずれかに記載のカラー画像圧縮方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、カラー画像圧縮方法に関し、特に、グラデーション（図形）系の画像を、差分方式を応用して可変長符号化するカラー画像圧縮方法に関する。
【０００２】
【従来の技術】
従来、通信回線等を介して画像を高速かつ効率良く伝送するために、画像データを圧縮する様々な画像圧縮方法が開発されてきた。
たとえば、ラングレンス圧縮方式は、同一のデータ要素が連続して出現する場合が多いとき、そのデータ要素と出現回数の組み合わせに注目して符号化する方式である。このラングレンス圧縮方式は、文字系の画像を効率良く圧縮することができる。
また、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｅｐｅｒｔｓ
Ｇｒｏｕｐ）方式は、カラー静止画を伝送する際に用いられる方式である。
【０００３】
ところで、画像は、一般的に文字系、自然画系、グラデーション系に分類される。
これら各系の画像データはそれぞれ特徴があり、たとえば、文字系画像は、ラングレンス圧縮方式によって圧縮され、また、自然画系画像は、ＪＰＥＧ方式によって圧縮される。
【０００４】
また、特開昭６３−２８４９７４号公報において、一つの画像を複数のブロックに分割して、各ブロック単位に画像情報の確率分布の集中度を表す統計量、又は量子化符号の確率分布の集中度を表す統計量を求め、これら統計量とある設定値との大小比較により可変長符号化のコードブック、又は固定長符号を選択する画像圧縮方式の技術が開示されている。
この技術は、各ブロックの画像特性に応じて、圧縮方式を変えることができるので、効率良く画像を圧縮することができる。
【０００５】
さらに、上記公報には、二次差分ＤＰＣＭ（Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）又は二次差分可変標本密度符号化における二次差分を求め、この二次差分を確率分布の集中度を表す統計量として用い、この統計量とある設定値との大小比較により可変長符号化のコードブック、又は固定長符号を選択する画像圧縮方式の技術が開示されている。
この技術は、各ブロックの二次差分に応じて、圧縮方式を変えることができるので、効率良く画像を圧縮することができる。
【０００６】
しかし、エリア毎に圧縮方式を選択する画像適応型圧縮方式を採用した場合であっても、プレゼンテーション用に使用されることが多いグラデーション系のエリアに対しては、文字系の圧縮方式に用いられるランレングス圧縮方式等の可逆圧縮方式を用いても圧縮率が向上せず、また、カラー静止画で用いられるＪＰＥＧ等の非可逆圧縮方式を用いても、画質劣化が顕著に現れてしまう。
【０００７】
このため、グラデーション系画像を圧縮する場合には、グラデーション系画像の圧縮方法が採用されていた。
図４は、従来例にかかるグラデーション系画像の圧縮方法を説明するための概略フローチャート図を示している。
同図に示す方法においては、まず、グラデーション系画像をＲ，Ｇ，Ｂの各プレーンに分割し（ステップＡ１）、続いて、各プレーンの要素のデータを取得する（ステップＡ２）。
【０００８】
次に、取得したデータが１番目に取得したバイト、すなわち、１バイト目か否かを判断し（ステップＡ３）、１バイト目のとき、このデータを圧縮する（ステップＡ４）。
続いて、このデータが最後のデータか否かを判断し（ステップＡ７）、最後のデータでないときは、再びデータを取得する（ステップＡ２）。
【０００９】
一方、取得したデータが１バイト目でないときには、前回のデータとの一次差分を算出し（ステップＡ５）、かつ、この一次差分値を圧縮する（ステップＡ６）。
続いて、データが最後のデータか否かを判断し（ステップＡ７）、最後のデータでないときは、再びデータを取得し（ステップＡ２）、最後のデータであるときは、処理を終了する。
【００１０】
ところで、グラデーション系のカラー画像は、Ｒ，Ｇ，Ｂの要素に分けた場合、通常、各要素で徐々にデータの値が増減する。
このため、グラデーション系のカラー画像における各要素のデータは、ほぼ必ず、三つの増減パターンを有する。
【００１１】
図５は、グラデーション系のカラー画像の各要素におけるデータの三つの増減パターンを説明するためのデータ表を図示してある。
同図において、第一のパターンは、データが１ずつ増減していくパターンであり、第二のパターンは、データが、たとえば、４ずつ増減していくパターンであり、第三のパターンは、データが、４と５ずつ交互に増減していくパターンである。
【００１２】
上述したように、従来例の画像圧縮方法によれば、グラデーション系のカラー画像に対して、１バイト目のデータと各一次差分値を圧縮することで、徐々に増減するデータを効果的に圧縮することができる。
【００１３】
なお、従来例の画像圧縮方法としては、上記方法だけではなく、たとえば、Ｎ（自然数）＋１番目に処理した一次差分からＮ番目に処理した一次差分を引いて得られる二次差分を求め、二次差分が零のときは、この二次差分すなわち零を圧縮し、さらに、二次差分が零でないときは、データそのものを圧縮する画像圧縮方法などもある。
【００１４】
【発明が解決しようとする課題】
しかしながら、従来例のグラデーション系画像の圧縮方法は、一次差分値を圧縮したり、二次差分が零でない場合に、原画像のデータそのものを圧縮したりしているため、圧縮率を改善することができないといった問題があった。
【００１５】
本発明は、上記問題を解決すべくなされたものであり、グラデーション系の画像を、差分方式を応用して可変長符号化することにより、圧縮率を改善するとともに画質品質を劣化させないカラー画像圧縮方法の提供を目的とする。
【００１６】
なお、特開昭６３−１５８９７１号公報、特開昭６３−１５８９７２号公報及び特開昭６３−１５８９７３号公報において、原画像に対して粗画像があり、その間のフレーム間の差分とその差分を使用して圧縮を行い、粗画像からデータを伸張する際に、一次差分と二次差分とを使用して、予測点の補完を行う画像圧縮方式の技術が開示されている。
この技術は、効果的に予測点の補完を行うことができるものの、伝送後の予測点を完全に補完できず、すなわち、非可逆圧縮方式であるため、画像品質が低下する。
【００１７】
また、特開昭６３−２７２２７２号公報、特開昭６３−２７２２７３号公報及び特開昭６３−２７２２７４号公報において、原画像に対して粗画像があり、その間のフレーム間の一次差分とその一次差分から二次差分を求め、二次差分が零でないとき、原画像又は一次差分のデータを圧縮する画像圧縮方式の技術が開示されている。
この技術は、二次差分が零のとき、効果的に画像を圧縮することができるものの、二次差分が零でないときは、原画像又は一次差分のデータを圧縮するため、圧縮率が低下する。
【００１８】
【課題を解決するための手段】
上記目的を達成するために、本発明のカラー画像圧縮方法は、カラー画像圧縮方法であって、グラデーション系のカラー画像をＲＧＢの各プレーンに分割し、前記各プレーンにおける要素のデータに対する一次差分を算出し、前記一次差分に対する二次差分を算出し、前記各プレーンを可変長符号化する際、前記二次差分が零でないときに、当該二次差分を用いて、前記各プレーンを可変長符号化し、前記二次差分が連続して零となるときに、当該零の連続数を用いて、前記各プレーンを可変長符号化し、さらに、コードブックにもとづいて、前記二次差分を圧縮する方法としてある。
このようにすると、グラデーション系のカラー画像の二次差分、すなわち、零，−１，１を圧縮すればよいので、圧縮する値がほぼ零となり、合計ビット数が小さくなり、圧縮率を改善することができる。また、二次差分の連続数をカウントしそのカウント数を圧縮すればよいので、圧縮率を大幅に向上させることができる。さらに、グラデーション系のカラー画像の二次差分、すなわち、零，−１，１を容易に圧縮することができる。
【００１９】
また、本発明のカラー画像圧縮方法は、前記各プレーンから最初に取得するデータを、コードブックにおけるデータ値の範囲にもとづいて圧縮する方法としてある。
このようにすることにより、複雑な処理を行わなくても、データを容易に圧縮することができる。
【００２０】
また、本発明のカラー画像圧縮方法は、前記二次差分が零のとき、ランレングスカウントを加算することによって、前記零の連続数をカウントし、前記二次差分が零でないときは、前記ランレングスカウントを圧縮することを特徴とする方法としてある。
このようにすることにより、二次差分として零が連続する場合に、たとえば、二次差分ごとに圧縮を行う場合に比べて、大幅に圧縮率を改善することができる。
【００２１】
また、本発明のカラー画像圧縮方法は、前記各プレーンを可逆的に可変長符号化する方法としてある。
このようにすることにより、画像品質が低下してしまうといった不具合を回避することができる。
【００２５】
［カラー画像圧縮方法］
図１は、本発明にかかるカラー画像圧縮方法を説明するための概略フローチャート図を示している。
同図において、まず、グラデーション系のカラー画像をＲＧＢプレーンに分割する（ステップＳ１）。
次に、分割したプレーンから画像のデータを取得する（ステップＳ２）。このデータの取得では、画像の要素のなかから任意の１バイトを取得する。
【００２６】
次に、取得した画像データが、最初のバイト、すなわち、１バイト目か否かの判断を行う（ステップＳ３）。
ここで、取得した画像データが１バイト目であるときは、この画像データに対しデータ圧縮を行う（ステップＳ４）。
【００２７】
このデータ圧縮は、図２(ａ）に示すデータ圧縮のコードブックにもとづいて行われる。
同図において、データ圧縮のコードブックは、合計ビット数，識別コード，コードの長さ及びデータ値の範囲とからなっており、データ値の範囲の各区分けに対応して、合計ビット数，識別コード及びコードの長さがそれぞれ設定されている。
【００２８】
合計ビット数は、識別コードとデータ値の合計ビット数を示しており、圧縮するデータ値が零に近ければ近いほど小さなサイズに圧縮することができる。
また、コードの長さは、データ値を圧縮する際のデータビット数であり、識別コードは、そのコードの長さを示すデータに付加するビットデータである。
【００２９】
データ値の範囲は、データ値（−２５５から２５５までの整数）に応じて、（０），（−１，１），（−３、−２，２，３），（−７〜−４，４〜７），（−１５〜−８，８〜１５），（−３１〜−１６，１６〜３１），（−６３〜−３２，３２〜６３），（−１２７〜−６４，６４〜１２７）及び（−２５５〜−１２８，１２８〜２５５）の８つに区分けされている。
【００３０】
データ圧縮は、１バイト目の画像データの値に応じた“データ値の範囲”の識別コードと、コードの長さ分のビット数で表示した１バイト目のデータとを組み合わせて圧縮を行う。
【００３１】
たとえば、１バイト目のデータが「５」の場合、“データ値の範囲”から、識別コードは２進数で表すと「１１１１０」となる。
また、コードの長さは「３」であるため、１バイト目のデータ「５」は２進数で表すと「１０１」となる。
この「１１１１０」と「１０１」を組み合わせて「１１１１０１０１」という形で出力する。
【００３２】
次に、最後のデータかどうかを判断し（ステップＳ１６）、データが続いているときは、上記ステップＳ２に戻り、次のデータを取得する。
そして、再びステップＳ３において、取得したデータが１バイト目か否かの判断を行う。このデータは、２バイト目であるためステップＳ５へ進み、２バイト目か否かの判断を行う（ステップＳ５）。
【００３３】
ここで、取得したデータは２バイト目であるため、ステップＳ６へ進み、１バイト目と２バイト目の一次差分を算出し、（ステップＳ６）、続いて、算出した一次差分値を圧縮する（ステップＳ７）。
なお、一次差分値の圧縮方法は、ステップＳ４のデータ圧縮と同様に行う。
【００３４】
次に、最後のデータかどうかを判断し（ステップＳ１６）、データが続いているときは、上記ステップＳ２に戻り、次のデータを取得する。
そして、３バイト目以降は、データ取得（ステップＳ２）後、ステップＳ３及びステップＳ５を経由して、ステップＳ８へ進む。
【００３５】
そして、前回取得したデータと今回取得したデータとの一次差分を求め（ステップＳ８）、続いて、前回取得した一次差分と今回取得した一次差分との二次差分を求める（ステップＳ９）。
【００３６】
次に、ステップＳ９で求めた二次差分が零か否かを判断し（ステップＳ１０）、二次差分が零のとき、ランレングスカウントを１つ加算して（ステップＳ１１）、ステップＳ１６へ進む。
これに対し、二次差分が零以外のとき、ランレングスカウントが零か否かを判断（ステップＳ１２）する。
【００３７】
そして、ステップＳ１２において、ランレングスカウントが零のとき、ステップＳ１５に進み、次に、ステップＳ９で求めた二次差分値を圧縮し（ステップＳ１５）、続いて、最後のデータかどうかを判断し（ステップＳ１６）、データが続いているときは、上記ステップＳ２に戻り、次のデータを取得する。
なお、この二次差分値の圧縮方法は、ステップＳ４のデータ圧縮と同様の方法で行う。
【００３８】
これに対し、ステップＳ１２において、ランレングスカウントが零でないとき、ランレングスカウントの圧縮（ステップＳ１３）を行う。
【００３９】
このランレングスカウントの圧縮は、図２（ｂ）に示すランレングス圧縮のコードブックにもとづいて行う。
同図（ｂ）において、ランレングス圧縮のコードブックは、合計ビット数，識別コード，コードの長さ及びデータ値の範囲とからなっており、データ値の範囲の各区分けに対応して、合計ビット数，識別コード及びコードの長さがそれぞれ設定されている。
なお、合計ビット数及びコードの長さは、上記合計ビット数及びコードの長さと同様としてある。
【００４０】
データ値の範囲は、データ値（１から２５５までの整数）に応じて、（１），（２，３），（４〜７），（８〜１５），（１６〜３１），（３２〜６３），（６４〜１２７）及び（１２８〜２５５）の８つに区分けされている。
【００４１】
ランレングス圧縮は、１バイト目のランレングスカウントの値に応じた“データ値の範囲”の識別コードと、コードの長さ分のビット数で表示したランレングスカウントのデータとを組み合わせて圧縮を行う。
【００４２】
たとえば、ランレングスカウントが「５」の場合は、“データ値の範囲”から、認識コードは、２進数で表すと「０１１１０」となる。
【００４３】
ランレングスカウントが「５」の場合は、２進数で表すと「１０１」になるが、通常の値とは異なり、ランレングスカウントの値には負の値が無いため、最上位ビットには必ず１が立つことになるため、解凍側で最上位ビットの１を付加する仕様とし、最上位ビットの１を省略し、「０１」と表す。
したがって、コードの長さは、「２」としてあり、１ビット分データを削減してある。
この「０１１１０」と「０１」を組み合わせて「０１１１００１」という形で出力する。
【００４４】
次に、ランレングスカウントを零に初期化（ステップＳ１４）し、ステップ１５に進み、ステップＳ９で求めた二次差分値を圧縮し（ステップＳ１５）、続いて、最後のデータか否かを判断し（ステップＳ１６）、データが続いているときは、上記ステップＳ２に戻り、次のデータを取得する。
【００４５】
ステップＳ１６において、最後のデータか否かをチェックし、最後のデータになるまでステップＳ２に戻り、上記処理を繰り返す。
そして、最後のデータとなったとき、ステップＳ１７に進み、ステップＳ１２と同様にラングレンスカウントが零か否かを判断し（ステップＳ１７）、ラングレンスカウントが零のとき、処理を終了する。
【００４６】
これに対し、ステップＳ１７において、ラングレンスカウントが零でないとき、ステップＳ１３と同様にラングレンスカウントの圧縮を行い（ステップＳ１８）、続いて、ステップＳ１４と同様にラングレンスカウントを零に初期化し（ステップＳ１９）、処理を終了する。
【００４７】
次に、上記カラー画像圧縮方法を行う、画像圧縮装置について、図面を参照して説明する。
図３は、本発明にかかるカラー画像圧縮方法を実施する画像圧縮装置の構成を説明するための、概略ブロック図を示している。
同図において、画像圧縮装置１は、対象画像を入力するための入力装置１０と、入力画像、出力圧縮データを記憶しておく記憶装置４０と、プログラム制御により動作するデータ処理装置３０とからなっている。
【００４８】
記憶装置４０は、入力画像データバッファ領域４１と出力データバッファ領域４２とを備えており、入力及び出力データを一時的に記憶する。
また、データ処理装置３０は、差分手段３１と、ラングレンス加算手段３２と、データ圧縮手段３３とを備えており、入力された画像の圧縮処理を行い出力装置２０に出力する。
【００４９】
以上説明したように、本実施形態のカラー画像圧縮方法によれば、グラデーション系のカラー画像の特徴、すなわち、画像のデータの二次差分値が、ほぼ必ず零、１、−１であることを利用して、二次差分値として零が連続するとき、零の連続数自体をカウントしそのカウント数を圧縮しているので、圧縮率を大幅に向上させることができる。
また、零の連続数をラングレンスカウントにより圧縮しているので、零が多く連続するほど圧縮効率を向上させることができる。
【００５０】
また、画像の二次差分値が零以外の場合であっても、二次差分値を圧縮し原画像のデータを圧縮しないので、ほぼ必ず１又は−１を圧縮すればすむ。つまり、圧縮する値が零に近いほど合計ビット数を低減することができ、画像の圧縮効率を改善することができる。
たとえば、図５に示す第三のパターンを圧縮するには、一次差分を圧縮すると７４ビット必要なのに対し、二次差分を圧縮すると４２ビットあればよいことから、圧縮率を大幅に改善することができる。
【００５１】
また、各プレーンから最初に取得するデータを、データ値の範囲に区分けしたデータ圧縮のコードブックにもとづいて圧縮する方法としてあり、このようにすることにより、複雑な処理を行わなくても、データを容易に圧縮することができる。
さらに、上記コードブックにもとづいて、二次差分を圧縮する方法としてあり、このようにすることにより、グラデーション系のカラー画像の二次差分、すなわち、零，−１，１を容易にかつ効率良く圧縮することができる。
【００５２】
また、画像の二次差分が零でない場合であっても、二次差分値を圧縮し、この二次差分値から原画像のデータを再現するとよく、このようにすることにより、各プレーンを可逆的に可変長符号化することができ、画像品質が低下してしまうといった不具合を回避することができる。
【００５３】
なお、本発明のカラー画像圧縮方法は、グラデーション系のカラー画像に限定するものではなく、画像のデータが連続的に増減する画像、すなわち、二次差分が零に近い値となる画像であれば、上述したような圧縮効果を得ることができることは勿論である。
【００５４】
【発明の効果】
以上説明したように、本発明におけるカラー画像圧縮方法によれば、グラデーション画像において、二次差分の値を直接圧縮することにより、圧縮の合計ビット数を減らすことができ、画像の圧縮効率を大幅に改善することができる。
また、可逆的に再生できるように画像を圧縮することもできるので、圧縮による画像の劣化が無く、画像品質の低下を防止することもできる。
【図面の簡単な説明】
【図１】図１は、本発明にかかるカラー画像圧縮方法を説明するための概略フローチャート図を示している。
【図２】図２は、本実施形態で用いられるコードブックであり、（ａ）はデータ圧縮のコードブックを、（ｂ）はランレングス圧縮のコードブックを示している。
【図３】図３は、本発明にかかるカラー画像圧縮方法を実施する画像圧縮装置の構成を説明するための、概略ブロック図を示している。
【図４】図４は、従来例にかかるグラデーション系画像の圧縮方法を説明するための概略フローチャート図を示している。
【図５】図５は、グラデーション系のカラー画像の各要素におけるデータの三つの増減パターンを説明するためのデータ表を図示してある。
【符号の説明】
１  画像圧縮装置
１０  入力装置
２０  出力装置
３０  データ処理装置
３１  差分手段
３２  ラングレンス加算手段
３３  データ圧縮手段
４０  記憶装置
４１  入力画像データバッファ領域
４２  出力データバッファ領域
【図１】
0003709381.tif 000002
【図２】
0003709381.tif 000003
【図３】
0003709381.tif 000004
【図４】
0003709381.tif 000005
【図５】
0003709381.tif 000006