(57)【特許請求の範囲】
【請求項１】
濃度変換係数をエントロピー符号化する画像符号化方法において、
画像データｍ×ｎ（ｍ，ｎは整数）画素のブロックごとに分割する分割工程と、
前記ブロック内の異なる濃度の数が２以下である場合に、前記濃度値を濃度変換して、濃度変換をしたブロックであることを示す領域係数と、１つ又は２つの濃度値を示す濃度係数と、各画素がどの濃度値をとるものであるかを示す位置係数とを含む濃度変換係数を得る濃度変換工程と、
濃度変換係数をエントロピー符号化するエントロピー符号化工程と、を有し、
前記エントロピー符号化工程は、
所定数の前記ブロックが各々有する前記領域係数が同じ値であるか否かを判定する検出工程を含み、
前記所定数の前記ブロックが各々有する前記領域係数が同じ値であることを検出した場合に、前記領域係数が同じ値であることを示す情報と前記領域係数の値とを符号化し、
前記所定数のブロックが各々有する領域係数が異なる値であることを検出した場合に、前記領域係数が異なる値であることを示す値を符号化する工程を含むエントロピー符号化工程であることを特徴とする画像符号化方法。
【請求項２】
前記エントロピー符号化工程は、
前記濃度変換係数の全ブロックの領域係数が異なる値である場合に、
符号化する所定数のブロックの直前の前記所定数のブロックが有する領域係数を参照し、第２の検出を行なうか否かを決定する工程を含むことを特徴とする請求項１に記載の画像符号化方法。
【請求項３】
前記エントロピー符号化工程は、
前記第２の検出を行なうことを決定し、
前記所定数のブロックの領域係数が同じ値であることを検出した場合に、前記領域係数が同じ値であることを示す情報と前記領域係数の値とを符号化し、
前記所定数のブロックの領域係数が異なる値であることを検出した場合に、前記領域係数が異なる値であることを示す値を符号化する工程を含むことを特徴とする請求項２に記載の画像符号化方法。
【請求項４】
画像変換装置で変換された周波数変換係数及び濃度変換係数をエントロピー符号化する画像符号化方法において、
画像データをｍ×ｎ（ｍ，ｎは整数）画素のブロックごとに分割する分割工程と、
前記ブロック内の濃度値を周波数分解して領域係数を含む周波数変換係数を得る周波数変換工程と、
前記ブロック内の異なる濃度の数が２以下である場合に、前記濃度値を濃度変換して、濃度変換をしたブロックであることを示す領域係数と、１つ又は２つの濃度値を示す濃度係数と、各画素がどの濃度値をとるものであるかを示す位置係数とを含む濃度変換係数を得る濃度変換工程と、
前記周波数変換係数及び前記濃度変換係数夫々の前記領域係数のみを符号化する領域係数符号化工程と、
前記領域係数が全て同じ値の場合には、前記濃度変換係数と前記周波数変換係数との、いずれかの変換係数を符号化する工程と、
前記領域係数が異なる値の場合には各変換係数を所定領域毎に符号化する工程と、
を有することを特徴とする画像符号化方法。
【請求項５】
濃度変換係数をエントロピー符号化する画像符号化方法において、
画像データをｍ×ｎ(ｍ，ｎは整数)画素のブロックごとに分割する分割工程と、
前記ブロック内の異なる濃度の数が２以下である場合に、前記濃度値を濃度変換して、濃度変換をしたブロックであることを示す領域係数と、１つ又は２つの濃度値を示す濃度係数と、各画素がどの濃度値をとるものであるかを示す位置係数とを含む濃度変換係数を得る濃度変換工程と、
所定数の前記ブロックが各々有する前記領域係数の値が同じ値を検出した場合に、前記領域係数が同じ値であることを示す情報と、前記領域係数の値とを符号化するエントロピー符号化工程と
を有することを特徴とする画像符号化方法。
【請求項６】
濃度変換係数をエントロピー符号化する画像符号化方法において、
画像データをｍ×ｎ(ｍ，ｎは整数)画素のブロックごとに分割する分割工程と、
前記ブロック内の異なる濃度の数が２以下である場合に、前記濃度値を濃度変換して、濃度変換をしたブロックであることを示す領域係数と、１つ又は２つの濃度値を示す濃度係数と、各画素がどの濃度値をとるものであるかを示す位置係数とを含む濃度変換係数を得る濃度変換工程と、
所定数の前記ブロックが各々有する前記領域係数の値が同じ値を検出した場合で、かつ、所定領域内に含まれる前記位置係数の値が同じ値を検出した場合に、
前記位置係数が同じ値であることを示す情報と、前記位置係数の値とを符号化するエントロピー符号化工程と
を有することを特徴とする画像符号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタ、デジタル複写機、ファクシミリ装置、スキャナ、画像ファイリング装置、デジタルカメラ、デジタルビデオ等に使用される画像符号化方法に関する。
【０００２】
【従来の技術】
ＤＣＴ、ウェーブレット変換などを用いた周波数分解による画像変換は、近年、自然階調の画像を効果的に圧縮する手段として注目されているが、その反面、コンピュータグラフィックスや文字画像に対しては、それほど効果的に圧縮できないという欠点が指摘されている。
一方、プリンタで画像を打ち出す場合、一般的に画像として多いのは、グラフィックス画像及び文字画像なので、周波数変換のみを用いるとあまり高い圧縮率が得られない。文字、写真に合わせてモードを切り替えるという方法が取られることも多いが、この方法では使用者に負担がかかる上に、文字・写真が混在する画像については良好な画質が得られない虞がある。
【０００３】
【発明が解決しようとする課題】
そこで濃度数の少ないブロックとそれ以外のブロックを判別して、各ブロックで異なる変換を行うこと（適応的変換）で、写真画像、文字画像のいずれも効率よく圧縮する方法が本出願人より既に提案されている。
【０００４】
本発明は、ブロック内の濃度数に応じて変換方法を変える適応的な変換において、周波数変換係数及び濃度変換係数を効率よくエントロピー符号化するための画像符号化方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するために、請求項１記載の発明は、濃度変換係数をエントロピー符号化する画像符号化方法において、画像データｍ×ｎ（ｍ，ｎは整数）画素のブロックごとに分割する分割工程と、前記ブロック内の異なる濃度の数が２以下である場合に、前記濃度値を濃度変換して、領域係数と位置係数とを含む濃度変換係数を得る濃度変換工程と、濃度変換係数をエントロピー符号化するエントロピー符号化工程と、を有し、前記エントロピー符号化工程は、所定数の前記ブロックが各々有する前記領域係数が同じ値であるか否かを判定する検出工程を含み、前記所定数の前記ブロックが各々有する前記領域係数が同じ値であることを検出した場合に、前記領域係数が同じ値であることを示す値を符号化し、前記所定数のブロックが各々有する領域係数が異なる値であることを検出した場合に、前記領域係数が異なる値であることを示す値を符号化する工程を含むエントロピー符号化工程であることを特徴とするものである。
【０００６】
また上記目的を達成するために、請求項２記載の発明は、請求項１記載の発明において、前記エントロピー符号化工程は、前記濃度変換係数の全ブロックの領域係数が異なる値である場合に、符号化する所定数のブロックの直前の前記所定数のブロックが有する領域係数を参照し、第２の検出を行なうか否かを決定する工程を含むことを特徴とするものである。また上記目的を達成するために、請求項３記載の発明は、請求項２記載の発明において、前記エントロピー符号化工程は、前記第２の検出を行なうことを決定し、前記所定数のブロックの領域係数が同じ値であることを検出した場合に、前記領域係数が同じ値であることを示す値を符号化し、前記所定数のブロックの領域係数が異なる値であることを検出した場合に、前記領域係数が異なる値であることを示す値を符号化する工程を含むことを特徴とするものである。
また、請求項４に記載の発明は、画像変換装置で変換された周波数変換係数及び濃度変換係数をエントロピー符号化する画像符号化方法において、画像データをｍ×ｎ（ｍ，ｎは整数）画素のブロックごとに分割する分割工程と、前記ブロック内の濃度値を周波数分解して領域係数を含む周波数変換係数を得る周波数変換工程と、前記ブロック内の異なる濃度の数が２以下である場合に、前記濃度値を濃度変換して領域係数と、位置係数とを含む濃度変換係数を得る濃度変換工程と、前記周波数変換係数及び前記濃度変換係数夫々の前記領域係数のみを符号化する領域係数符号化工程と、前記領域係数が全て同じ値の場合には、前記濃度変換係数と前記周波数変換係数との、いずれかの変換係数を符号化する工程と、前記領域係数が異なる値の場合には各変換係数を所定領域毎に符号化する工程と、
を有することを特徴とするものである。
また、請求項５に記載の発明は、濃度変換係数をエントロピー符号化する画像符号化方法において、画像データをｍ×ｎ（ｍ，ｎは整数）画素のブロックごとに分割する分割工程と、前記ブロック内の異なる濃度の数が２以下である場合に、前記濃度値を濃度変換して領域係数と、位置係数とを含む濃度変換係数を得る濃度変換工程と、所定数の前記ブロックが各々有する前記領域係数の値が同じ値を検出した場合に、前記領域係数が同じ値であることを示す情報と、前記領域係数の値とを符号化するエントロピー符号化工程とを有することを特徴とするものである。
また、請求項６に記載の発明は、濃度変換係数をエントロピー符号化する画像符号化方法において、画像データをｍ×ｎ（ｍ，ｎは整数）画素のブロックごとに分割する分割工程と、前記ブロック内の異なる濃度の数が２以下である場合に、前記濃度値を濃度変換して領域係数と、位置係数とを含む濃度変換係数を得る濃度変換工程と、所定数の前記ブロックが各々有する前記領域係数の値が同じ値を検出した場合で、かつ、所定領域内に含まれる前記位置係数の値が同じ値を検出した場合に、前記位置係数が同じ値であることを示す情報と、前記位置係数の値とを符号化するエントロピー符号化工程とを有することを特徴とするものである。
【０００７】
【発明の実施の形態】
以下、本発明の実施の形態を添付図面を参照しながら説明する。
写真のような自然画像を圧縮する方法として、近年、周波数変換が広く使われている。ここで周波数変換とは、画像情報を所定の周波数ごとに波に分解する変換であり、ＤＣＴ、ウェーブレット変換、サブバンド変換などが該当する。
【０００８】
図１は周波数変換の一例として使用するウェーブレット変換を示す説明図である。
４つの画素ａ，ｂ，ｃ，ｄがウェーブレット変換される例を示しており、低周波係数、高周波係数は図に示す式により決定される。
圧縮において、このような周波数変換を使う効果は、本来、画像情報の輝度を局在化させ、係数の相関を良くすることによって、エントロピー符号化を行う際の効率を上げ、高圧縮を達成することにある。
しかし、文字画像のように、一定濃度の下地に一定濃度の文字が並ぶような単純な画像については、周波数変換を行うことで、却って画像の相関が落ちてしまうことが知られている。
【０００９】
図２に示すように、本来は８０と１２０という２つの濃度で記述された単純な画像情報に、図１に示したウェーブレット変換を行うと、図２に示すように、様々な値の係数が出現して圧縮効率を落としてしまう。
このように、ブロック内の互いに異なる濃度の数が少ない画像については、その相関を保ったまま圧縮をした方が効果的である。このような、画像の相関を保ったまま変換する方法をここでは濃度変換と呼ぶ。
【００１０】
すなわち、ここで定義される濃度変換とは、ブロック内にある互いに異なる濃度の数が所定値（以下）であるブロックを変換する場合に用いる特殊な変換である。一般に多値画像については、写真のような自然画像は、ブロック内の濃度値は全て異なっている場合が多く、逆に文字画像のような人工画像は、ブロック内にある互いに異なる濃度の数が少ないので、濃度変換は主に人工画像について行われることになる。
【００１１】
次に本実施形態で用いる濃度変換の例を示す。
本実施形態では、領域判断条件を以下のように設定する。
「２×２ブロック内にある互いに異なる濃度の数が、２種類ならば濃度変換すべき領域とする。」
また、濃度変換は次のように行う。
「２×２ブロック内にある画像情報を、２種類の濃度と各画素がどちらの濃度値をとるかを示す４ビットの位置係数、及び当該ブロックが濃度変換されたブロックか周波数変換されたブロック化を示す１ビットの領域係数に分解することとする。」
【００１２】
図３は領域判定の例を示す図であり、（１）は濃度変換するブロックの例を示し、（２）は周波数変換するブロックの例を示す。
（１）に示すように、濃度変換する場合、ブロック内の濃度は２種類のみである。また（２）に示すように、周波数変換する場合、ブロック内は３種類、４種類の濃度がある。
【００１３】
図４は濃度変換の例を示す図である。
図２に示すものと同じ元画像を濃度変換した例を示しており、図２と比較すると、８０と１２０という２つの濃度で記述された単純な画像情報が、濃度変換の場合は相関よく変換されており、色々な画素の組み合わせが来ても４ビットの位置係数のみが変化していることが分かる。
本発明は、このような適応的な周波数変換、濃度変換で作成される変換係数を効率的にエントロピー符号化するための方法に関するものである。
本実施形態では、エントロピー符号化法として、ビットプレーンごとに係数を符号化していく、いわゆるビットプレーン符号化を用いる。これは、各ビットプレーンをそれぞれ独立に符号化する方法である。
【００１４】
ところで、濃度変換係数の性質として、空間的な相関が強いことが挙げられる。例えば位置係数とは、ある濃度が出現するパターンであり、一定濃度の下地に一定濃度の文字が記されているような場合は、２値化された画像情報に対応する係数である。そのため、空間的な相関が非常に強い。
また、領域係数は、前述したように、画像中の人工画像の位置を示すものと考えられるので、やはり空間的な相関は非常に強い。
濃度係数についても、人工画像を構成する濃度は一般に局所的な変化が少なく、空間的な相関は非常に強い。
【００１５】
請求項１記載の発明は、このような空間的相関を利用するものであり、各濃度変換係数が所定の領域内で同じ値であることを検出した場合に、当該領域と当該値を併せて符号化することで、高い圧縮率を得ようとするものである。
請求項１記載の発明に対応する第１の実施形態では、空間的相関を利用した２つの方法を用いて高圧縮を図る。
【００１６】
１つ目の方法は、領域係数ビットプレーンを圧縮する際、各係数ごとに圧縮する前に、領域係数ビットプレーンにある全係数が同じ値を取るか否かをチェックするものである。
この方法をここでは「全面ｌｏｏｋ  ａｈｅａｄ」と呼ぶ。例えば２つの濃度で記述された単純な文字画像や２値画像の場合、全ての領域が濃度変換され、その結果、領域係数ビットプレーンの全てが「１」となる。こういった場合には、「ビットプレーン内の全ての係数値が同じである」という１ビットの情報（「０」とする）を符号化し、続いて当該係数値を符号化する。一方、全ての係数値が一緒ではない場合には「１」を符号化する。
【００１７】
２つ目の方法は、領域係数あるいは位置係数を圧縮する際に、ある程度の連続した係数を単位とし、その単位内にある全ての係数が同じ値を取るか否かを符号化する方法である。
具体的には、その「単位」は主走査方向に連続した１６画素とする。この２つ目の方法は、「ｌｏｏｋ  ａｈｅａｄ判断部」と「ｌｏｏｋ  ａｈｅａｄ符号化部」の２つから構成される。「ｌｏｏｋ  ａｈｅａｄ判断部」は、直前のラインにおいて、当該１６ビット（以下、「対象１６ビット」）に対応する１６ビット（以下、参照１６ビット）を参照し、当該「参照１６ビット」が全て同じ値ならばｌｏｏｋ  ａｈｅａｄを実行し、そうでない場合にはｌｏｏｋ  ａｈｅａｄを実行しない。
【００１８】
「ｌｏｏｋ  ａｈｅａｄ判断部」の判断の結果、ｌｏｏｋ  ａｈｅａｄを実行することになれば、「ｌｏｏｋ  ａｈｅａｄ符号化部」が実行され、１６ビットの単位内にある全ての係数が同じ値を取るならば、「単位内の係数は全て同じ値を取る」という１ビットの情報（「０」とする）を符号化し、続いて当該係数値を符号化する。一方、全ての係数値が一緒ではない場合には、「１」を符号化する。
【００１９】
図５は第１の実施の形態における各ビットプレーン符号化のフローチャートである。
各濃度係数の各ビットプレーンは、符号化される前に注目ビットプレーン中の全ての値（「０」か「１」）が等しいか否かをまずチェックされる（Ｓ１）。もし等しければ、全面ｌｏｏｋ  ａｈｅａｄ成功を表す「０」を符号化し（Ｓ２）、次いで当該等しい値（図中の「Ａ」）を符号化し（Ｓ３）、これで符号化が終了する。
【００２０】
一方、値が等しくなければ、全面ｌｏｏｋ  ａｈｅａｄ失敗を表す「１」を符号化し（Ｓ４）、次いで各係数ごとの符号化を始める。この際、ビットプレーン上の係数を主走査方向に連続する１６ビットごとに分け、「１６ビットｌｏｏｋ
ａｈｅａｄ」を試みる。
具体的には、まず「参照１６ビット」が全て同じ値を取るか否かを参照し（Ｓ５）、もし同じ値を取らないならば、「対象１６ビット」を個別に符号化する（Ｓ１０）。
【００２１】
一方、「参照１６ビット」が同じ値を取った場合は、次いで「対象１６ビット」が全て同じ値を取るかを参照し（Ｓ６）、もし同じ値を取るならば１６ビットｌｏｏｋ  ａｈｅａｄ成功を示す「０」と当該同じ値（図中の「Ｂ」）を符号化し（Ｓ７，Ｓ８）、そうでなければ１６ビットｌｏｏｋ  ａｈｅａｄ失敗を示す「１」を符号化してから（Ｓ９）、「対象１６ビット」を個別に符号化する（Ｓ１０）。その後、次の１６ビットに移って符号化が進められ、全画素が符号化された時点で（Ｓ１１でＹ）、符号化が終了する。
【００２２】
請求項１記載の発明は、第１の実施の形態に示したように、濃度変換係数の空間的な相関を利用するものであり、圧縮効率を向上させる効果を有する。
具体的には、第１の実施の形態における「全面ｌｏｏｋ  ａｈｅａｄ」は、濃度変換係数が各ビットプレーンで同じ値を取れば、その全情報を２ビット（ｌｏｏｋ  ａｈｅａｄ成功を示す「０」と当該係数値を表す１ビット）で表すことがことができ、効率的な圧縮が可能である。
一方、ｌｏｏｋ  ａｈｅａｄが失敗しても、ｌｏｏｋ  ａｈｅａｄのために余計に符号化しなければならないビットは、「ｌｏｏｋ  ａｈｅａｄ失敗」を表す１ビットのみであり、圧縮性能には実質的に悪影響を及ぼさない。
【００２３】
また、「１６ビットｌｏｏｋ  ａｈｅａｄ」が成功すれば、１６ビット分の情報を２ビットで表すことができ、効果的に圧縮できる。一方、失敗すれば１６ビットごとに「ｌｏｏｋ  ａｈｅａｄ失敗」を表す余計な１ビットを符号化することになるが、その前段階でｌｏｏｋ  ａｈｅａｄを実行するか否かの判断を行っており、「参照１６ビット」と符号化しようとしている１６ビットは、空間的相関が非常に強いので、ｌｏｏｋ  ａｈｅａｄを実行する場合にはかなりの確率で成功することが期待され、実際にはかなりの効果を上げることができる。
【００２４】
次に請求項２記載の発明に対応する第２の実施の形態を説明する。
濃度変換は、周波数変換と適応的に行われるという性質のため、符号化する係数は濃度変換係数と周波数変換係数のうち何れか一方で差し支えない。請求項２記載の発明は、かかる適応的な性質を利用したものである。
具体的には本実施の形態では、位置係数を符号化する際に、２つの方法によりこの性質を利用する。
【００２５】
まず、濃度変換係数及び周波数変換係数のうちで、一番先に領域係数を符号化する。こうすれば、復号化側で真先に領域係数が得られるため、続く適応的符号化に使えるからである。
その後、まず１つ目の方法として、領域係数を参照し、全ての領域が周波数変換すべき領域である場合には、濃度変換係数は全く符号化せず、逆に全ての領域が濃度変換すべきブロックである場合には、周波数変換係数を全く符号化しないという方法を用いる。
【００２６】
次に２つ目の方法として、各画素を符号化する際にも、各ブロックに対応した領域係数の値により、周波数変換係数か位置係数の何れか一方のみ符号化する。
【００２７】
図６は第２の実施の形態における各ビットプレーン符号化のフローチャートである。
まず、濃度変換係数及び周波数変換係数のうちで、領域係数が始めに符号化される（Ｓ２１）。次いで他の変換係数を符号化しようとする際には、まず全ての領域係数が等しいか否かがチェックされる（Ｓ２２）。もし等しければ、その領域係数が濃度変換に対応しているか否か判断し（Ｓ２３）、対応したものならば、濃度変換係数のみを符号化し（Ｓ２４）、周波数変換係数に対応したものならば、周波数変換係数のみを符号化する（Ｓ２５）。これで符号化が終了する。
【００２８】
一方、領域係数が全て等しくはない場合には、各ブロックごとに符号化が行われる。その際、まず符号化しようとする注目ブロックが濃度変換されたブロックなのか周波数変換されたブロックなのかを領域係数を参照して確認し（Ｓ２６）、濃度変換されたブロックならば濃度変換係数のみを（Ｓ２７）、そうでないならば周波数変換係数のみを（Ｓ２８）、符号化する。この作業が各２×２ブロックごとに行われ（Ｓ２９）、符号化が終了する。
【００２９】
請求項２記載の発明は、第２の実施の形態に示したように、適応的な変換という性質を利用するものであり、圧縮効率を向上させる効果を有する。
具体的には、第２の実施の形態において、全領域係数が等しければ、濃度変換係数か周波数変換係数のうちの何れかを全く符号化しないという方法により、符号化が必要な情報量はかなり軽減され、またソフトにおける処理スピードも向上する。
各画素単位で領域係数を参照して適応的に符号化を行う方法についても同様で、軽減される符号化量は画像全体ではかなりの量になる。
【００３０】
【発明の効果】
以上説明したように、本発明によれば、ブロック内の濃度数に応じて変換方法を変える適応的な変換において、周波数変換係数及び濃度変換係数を効率よくエントロピー符号化することが可能な画像符号化方法を提供することができる。
【図面の簡単な説明】
【図１】周波数変換の一例として使用するウェーブレット変換を示す説明図である。
【図２】ウェーブレット変換の例を示す図である。
【図３】領域判定の例を示す図である。
【図４】濃度変換の例を示す図である。
【図５】第１の実施の形態における各ビットプレーン符号化のフローチャートである。
【図６】第２の実施の形態における各ビットプレーン符号化のフローチャートである。
【図１】
0003948581.tif 000002
【図２】
0003948581.tif 000003
【図３】
0003948581.tif 000004
【図４】
0003948581.tif 000005
【図５】
0003948581.tif 000006
【図６】
0003948581.tif 000007