JP2005323326A - 画像符号化装置及び復号装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 - Google Patents

画像符号化装置及び復号装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 Download PDF

Info

Publication number
JP2005323326A
JP2005323326A JP2004257423A JP2004257423A JP2005323326A JP 2005323326 A JP2005323326 A JP 2005323326A JP 2004257423 A JP2004257423 A JP 2004257423A JP 2004257423 A JP2004257423 A JP 2004257423A JP 2005323326 A JP2005323326 A JP 2005323326A
Authority
JP
Japan
Prior art keywords
pixel
value
predicted value
prediction
target pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004257423A
Other languages
English (en)
Other versions
JP4522199B2 (ja
Inventor
Katsuyuki Hagiwara
克行 萩原
Kaname Tomiyasu
要 富安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2004257423A priority Critical patent/JP4522199B2/ja
Priority to US10/992,760 priority patent/US7561744B2/en
Publication of JP2005323326A publication Critical patent/JP2005323326A/ja
Application granted granted Critical
Publication of JP4522199B2 publication Critical patent/JP4522199B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/4105Bandwidth or redundancy reduction for halftone screened pictures

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】 簡単な処理或いは回路規模で、階調画像をはじめ、従来苦手としていた縦縞部分あるいは文字部分に対して高い圧縮率の符号化データを生成すると共に、復号する側での簡単な処理或いは回路規模で復号することを可能とする。
【解決手段】 画像データを入力端子109より入力する。参照画素値記憶部101はディザマトリクスの1周期分の画像データを記憶する。第1予測部102は参照画素値記憶部101に記憶されている1周期未満の閾値を参照して注目画素の予測値を求める。第2予測部104は注目画素の1周期前の画素値と予測値として決定する。連続性判定部105は、注目画素の直前から3つ前までの各画素値と、ディザマトリクスの1周期分だけ前の3つの画素値とをそれぞれ比較し、一致数が不一致数より多いか否かを判定し、その結果を予測値選択部106に出力する。予測値選択部はこの判定結果に従って一方の予測値を選択し、符号化部107は選択された予測値と注目画素の差分を符号化する。
【選択図】 図1

Description

本発明は画像データの符号化及び復号に関するものである。
画像データを圧縮符号化する場合、隣接する画素データが同一の値をもつ傾向が高いことを利用して圧縮するのが一般的である。
このような圧縮方法の一つとして、ランレングス符号化技術が知られている。ランレングス符号は、同一データが繰り返す場合に繰り返しの長さ(回数)とデータを符号化するものである。また別の圧縮方法としてデルタロウ符号を用いる方法がある。デルタロウ符号は直前のラインと同じデータが続いている場合に、続いている長さを符号化するものである。また、別の圧縮方法として予測符号がある。この予測符号は、近隣の数画素、例えば直左と直上の画素から注目画素の予測値を計算し、注目画素値と予測値の差分、すなわち予測誤差を符号化するものである。この他にも隣接画素を参照する様々な圧縮方式が提案されている。
ところで、例えば1画素が8ビット(256階調)のグレイスケール原画像を4ビット(16階調)のグレイスケール画像に減色する場合、ディザマトリクスを用いて各マトリクス内の画素ごとに異なった閾値による演算処理を行って減色するのが一般的である。このようなディザマトリクスを利用して減色する場合には、例え原画像中の隣接画素値が同じであっても、隣接する画素の減色に使用される閾値が異なるので、減色後の隣接画素値は異なった値になることが多く、上述の方法では高い圧縮率は望めなない。
ディザマトリクスは周期的に適用されるため、隣接画素ではなく、むしろ少し離れた画素、通常はディザマトリクスの周期(サイズ)だけ離れた画素との相関が高くなる。したがってこの問題を解決するためには、隣接画素の代わりに、ディザマトリクスのサイズに応じた距離だけ隔てた画素を参照すればよい。
このような周期性を持つ減色処理には、ディザ処理のほか、ハーフトーン処理が知られている。ハーフトーン処理もまた、周期的に繰り返す閾値と入力画素値の比較によって出力画素値を決定する画像処理方法である。
そこで、この問題を軽減するために、ディザマトリックスの周期に応じて、スキャンラインを並べ替える、いわゆるインタレース処理を行うことが知られている。例えば、4画素×4画素のディザマトリクスを使用する場合、4ラインごとに飛び飛びにスキャンラインを並べることにより、垂直方向には相関の高い画素が並ぶ。しかし、水平方向は改善されないとともに、並べ替えという余分な処理が加わるため、符号化の処理時間が長くなるという欠点がある。
また、ディザマトリクスの周期に応じて、水平方向に画素を並び替える技術も知られている(特許文献1)。しかしながらこの方法によれば、水平方向には相関の高い画素が並ぶが、垂直方向は改善されないとともに、並べ替えという余分な処理が加わるだけでなく、画素単位での並べ替えであるため、画素が8ビット未満の場合、8ビットを最低処理単位とする通常のコンピュータで処理を行う場合にオーバーヘッドが大きいという欠点がある。
また、隣接するブロックを参照することにより、データの並べ替えを行うことなしに、相関の高い画素を参照する技術もある(特許文献2)。しかしながらこの方法によれば、垂直方向の相関を利用できない。よって、水平方向の相関が低く、垂直方向の相関が高い画像、たとえばブロックの幅と等しい縦縞の画像において圧縮率を高くすることが出来ないという欠点がある。
更に、近傍画素群の画素値を用いた予測技術もある(特許文献3)。しかしながら、上記縦縞の画像に対して効果的な圧縮を施すためには上方の画素を参照する必要があり、ある程度の大きさのメモリが必要となる。
そのほかにもLZ77符号、LZ78符号、JBIG符号、JPEG符号など様々な符号が考案されているが、いずれも符号化における計算量が多く、ソフトウェアで符号化した場合に符号化にかなりの時間を要し、またハードウェアで復号した場合に復号器の規模も大きくなるという欠点がある。
特許第2694826号公報 特開平8−223428号公報 特開2003−174561公報
本発明は上記課題に鑑みなされたものであり、特にディザ処理等の周期的に変化する閾値で少ない階調数に量子化された画像データを、簡単な処理で、しかも劣化の少ない圧縮符号化を行う技術を提供しようとするものである。
また、本発明は、上記のようにして符号化データを復号する際の計算量を小さくすると共に、復号をハードウェアで行う場合には復号に要する回路規模を縮小させる技術を提供しようとするものである。
この課題を解決する本発明の画像符号化装置は以下の構成を備える。すなわち、
所定周期で変化する閾値を用い、多値画像データの1画素当たりの階調数をより少ない階調数に量子化した画像データを符号化する画像符号化装置であって、
前記所定周期未満の距離にある近傍画素を参照して、注目画素の予測値を求める第1の予測手段と、
注目画素から前記所定周期の整数倍だけ隔てた画素の値を、注目画素の予測値として求める第2の予測手段と、
注目画素の前記所定周期未満の距離にある所定数の近傍画素群と、前記近傍画素群に対して前記所定周期だけ隔てた同位相の画素群との相関度を求める相関度演算手段と、
該相関度演算手段により求めた相関度が所定閾値以上の場合には、前記第2の予測手段による予測値を選択し、前記相関度が前記所定閾値未満である場合には前記第1の予測手段による予測値を選択する選択手段と、
選択した予測値と前記注目画素の値とに基づいて、該注目画素の値を符号化する符号化手段とを備える。
本発明によれば、簡単な処理或いは回路規模で、階調画像をはじめ、従来苦手としていた縦縞部分あるいは文字部分に対して高い圧縮率の符号化データを生成すると共に、復号する側での簡単な処理或いは回路規模で復号することが可能となる。
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
<第1の実施形態>
図14は本実施形態における画像圧縮符号化装置の概略ブロック図である。本実施形態では注目画素近傍の画素値からの1種類の予測値を生成する例を説明する。
図示において、量子化部1401は、閾値行列(ディザマトリクスの閾値係数)を格納するための閾値行列記憶部1404と、画像データと閾値の比較によって2値化を行う閾値比較部1405で構成される。この量子化部1401の出力は予測値計算手段である予測値計算部1402と、符号化部1403に伝達される。
予測値計算部1402はこれまでの出力画素値と量子化に用いる閾値から予測値を計算する。ここで得られた予測値は符号化部1403に伝達される。
符号化部1403は予測値と出力画素値(2値化結果)とが一致したか否かを判定する判定部1406と、判定部1406からの出力を圧縮して最終出力である符号化データを可逆圧縮符号化し、その結果を出力する圧縮符号化部1407とで構成されている。
以下、上記図14の構成の処理内容を具体的に説明する。実施形態における量子化部1401では、8ビット(256階調)のモノクロ多値画像の入力に対して、2値画素(1ビット)の出力となる組織的ディザ処理を行う。また、ある特定の閾値行列を使用することが符号化装置と復号化装置との間であらかじめ暗黙の了解として決められているものとする。また、画像データはラスタ順に量子化部1401に入力されるものとする。
本実施形態の閾値行列記憶部1404には図15に示す閾値行列が格納されているものとする。また、原画像(1画素8ビット)は図16の符号1450に示すように、濃度が“100”近傍のモノクロ画像であるものとする(カラーの場合には、各色成分毎に実施形態の構成を備えればよい)。通常、写真などの自然画をデジタル画像データとしたとき、局所的に見れば、隣接する画素の濃度(或るいは輝度)は、概ね同じ値を持っているものであるので、特別な状態ではない。
閾値比較部1405は、上記入力された画像1450(1画素8ビット=256階調)と、閾値行列記憶部1404から読み出した1つの閾値とを比較する。その閾値は入力画素の原画像中の位置に応じて行と列とを選択することで閾値行列から得られるものである。
閾値比較部1405は上記の比較の結果、すなわち、入力画素値が閾値以上あれば“1”を、そうでなければ“0”の1ビットの出力画素値と、その際に用いた閾値を予測値計算部1402及び符号化部1403に出力する。なお、符号化部1403へは実際の2値化結果のみで構わない。
予測値計算部1402は、このデータを入力して、注目画素位置における2値化予測値を生成し、出力する。そして、符号化部1403における判定部では、2値化予測値と、閾値変換部1401からの実際の2値化結果とが一致する/しないを1画素単位に判定し、その結果を1画素につき1ビットのデータとして圧縮符号化部1407に出力する。圧縮符号化部1407では、入力した2値情報をランレングス符号化等の可逆圧縮符号化を行い、その結果を出力する。なお、可逆圧縮符号化は如何なるものを採用しても構わない。
以下、画像データとして図16の符号1450のデータが与えられた場合の例で説明する。
先ず、1行目(先頭のラスタライン)の処理に先立ち、比較判定部1405は閾値行列記憶部1404から第1行の処理に使用する閾値、すなわち閾値行列の1行目(8,232,24,248)を読み出しておく。
次に、1行目の入力画素値と、閾値を順に比較し、出力画素値を決定する。このとき、閾値は巡回して使用する。たとえば、5画素目では1画素目と同じ閾値を使用することになる。
1画素目の画素値「95」は、対応する閾値「8」と比較し、「95≧8」なので出力画素値は“1”として2値化される。2画素目は、「102<232」であるので“0”、3画素目は「105≧24」であるので“1”に2値化される。以下、同様に比較することで、1ライン目の2値化処理が終了する。
1ライン目の最終画素の2値化が完了すると、2ライン目の処理を行うため、比較判定部1405は閾値行列記憶部1404から第2行の処理に使用する閾値、すなわち閾値行列の2行目の閾値(168,72,184,88)を読み出し、同様に繰り返す。以下、3ライン目、4ライン目と、2値化処理を行っていく。
閾値行列は行についても巡回して使用する。すなわち、5ライン目では、1ライン目と同じ閾値(8,232,24,248)を用いて2値化することになる。
要するに、ラスタ(主走査)方向の位置をi(i≧0)、副走査方向の位置をj(j≧0)とし、量子化対象の画素値をD(i,j)として定義し、更に、閾値行列記憶部1404に格納されている閾値を同様にT(0、0)乃至T(3,3)で表現すると、画素値D(i,j)と比較する閾値はT(i mod 4,j mod 4)で定義できることになる。ここで「a mod b」はaをbで除算した際の余りを返す関数である。ハードウェアで実現する場合には、閾値を記憶したメモリに行方向、列方向のアドレスそれぞれ2ビット(計4ビット)を与えるようにすれば良い。
以上のようにして、比較判定部1405の出力2値化画像ータは図17のように求めることができる。よって、2値化結果の画素値(1ビット)と閾値の組を「(2値化データ、閾値)」で表現したとき、予測値計算部1402へ伝達されるデータは図18のようになる。
本実施形態の予測値計算手段である予測値計算部1402は、注目画素位置を(i,j)で表現したとき、その画素位置の左方の2つの2値化結果の画素B(i−1,j)、B(i−2,j)と、注目画素位置の濃度クラス値である閾値T(i mod 4、j mod 4)と左隣の画素の濃度クラス値である閾値T((i−1) mod 4、j mod 4)に対して、図19に示すような条件で、注目画素位置の2値化予測値Yを決定する。ただし注目画素位置がラインの先頭の場合には、それより2つ前の画素が存在しないので、画像の範囲外の領域での2値化結果は“0”とみなす。
図19における第1の条件は、注目画素位置の左2画素の既2値化結果が共に同じ値であった場合には、注目画素位置での2値化結果も同じ値となり易い傾向にあることになるから、左隣の2値化結果を注目画素位置における2値化予測値Yとして決定することを示している。
そして、第2の条件として、注目画素の2つ前の画素位置の2値化結果と1つ前の2値化結果とが互いに異なっている場合、注目画素位置を2値化する際の閾値Tと1つ前の2値化する際の閾値に基づいて、注目画素位置の2値化予測値Yを決定する。
いずれの場合にも、予測値Yは、注目画素の存在するライン内で、注目画素の近傍の2値化結果と閾値でもって求めることになる。
ここで、第2の条件の理由を以下に説明する。
注目画素位置における2値化閾値T(i mod 4、j mod 4)が、注目画素位置の直前(1つ左)の2値化閾値T((i−1) mod 4、j mod 4)よりも大きくなったということは、注目画素が“1”と2値化されにくくなる方向に作用する、換言すれば、“0”に2値化され易い方向に作用することを意味する。それ故、
T((i-1) mod 4、j mod 4)<T(i mod 4、j mod 4)
という関係が成り立つとき、注目画素位置の2値化予測値Yは“0”にする。
一方、注目画素位置における2値化閾値Tが、注目画素位置の直前(1つ左)の2値化閾値閾値T以下の場合、注目画素位置の量子化後の画素値は“1”となり易いことを示すことになる。従って、
T((i−1) mod 4、j mod 4)≧T(i mod 4、j mod 4)
という関係が成り立つ場合、注目画素位置の2値化予測値Yは“1”にする。
以下、実施形態における予測値計算部1402に対して、図18に示す(2値化結果、閾値)をセットにしたデータが入力された場合について説明する。
先ず、1ライン目の先頭(1番目)の画素を注目画素とし、その2値化予測値Y(0,0)を求める。注目画素位置の1つ前と2つ前の画素は共に存在しない。先に説明したように、存在しない2画素の2値化結果は共に“0”と見なしているわけであるから、図19におけるB(i−1,j)=B(i−2,j)=0の場合に相当することになり、注目画素(ラインの先頭画素)の2値化予測値Y(0、0)=“0”して決定する。
2番目の画素位置を注目画素とした場合、その2値化予測値Y(1,0)は次のようにして求める。
その1つ前の2値化結果B(0、0)=“1”、2つ前の画素の2値化結果B(−1,0)(存在しない画素の2値化結果)=“0”であり、互いに等しくない。従って、注目画素位置の2値化予測値Y(1,0)は、注目画素位置の2値化閾値T(1,0)と、1つ左の画素の2値化閾値T(0,0)に基づいて決定する。注目画素位置における2値化閾値T(1,0)=232であり、1つ前の2値化閾値T(0、0)=8であるので、図19における、
T((i−1) mod 4、j mod 4)<T(i mod 4、j mod 4)
の場合に該当する。従って、注目画素位置の2値化予測値Y(1,0)=“0”と決定する。
3番目の画素位置を注目画素とした場合、その2値化予測値Y(2,0)は、2つ前の2値化結果B(0,0)=“1)、1つ前の2値化結果(1,0)=“0”であり、互いに等しくない。従って、閾値によって、注目画素位置の2値化予測値Y(2,0)は閾値により求めることになる。このとき、T(2、0)=“24”、T(1、0)=“232”であるから、図19における、
T((i−1) mod 4、j mod 4)≧T(i mod 4、j mod 4)
に該当することになるから、Y(2、0)=“1”とする。
以下、同様に繰り返し、1ラインの処理によって、その2値化予測値Y={0、0、1…}を得ることができる。そして、1ライン目の処理が終わると、2ライン目の先頭画素から同様に処理し、最終ラインの最終画素位置まで同様に処理することになる。
図20は上記の処理によって得られた各画素位置における2値化予測値を示している。
実施形態における符号化部1403における判定部1406は、予測値計算部1402からの2値化予測値データ(図20参照)と、階調変換部1401での2値化結果(図17参照)を入力し、2値化予測値と実際の2値化結果とが一致した場合、すなわち、予測値通りの2値化結果が得られた場合に“0”、予測通りにならなかった場合に“1”とする判定結果を1画素単位に圧縮符号化部1407に出力する。なお、判定部1406を最も単純化するのであれば、2入力、1出力を行う排他的論理和回路で実現できよう。
図21は、図20の予測値データ、図17の2値化結果データを受けた場合の、判定部1406の出力を示している。
図示に示すように、各ラインの先頭画素、もしくは2画素目の判定結果が“1”になっている(2値化予測値に一致していない)のは、画像領域を越える2値化結果を“0”として見なしている影響によるものであるが、多くの“0”を生成し、2値データの“1”と“0”の出現頻度に偏りを持たせることに成功している。
圧縮符号化部1407は、ランレングス符号化等の可逆圧縮技術を利用したものであれば如何なるものでも良いので、その詳細については省略するが、図17の2値化結果を符号化する場合と比較して、遥かに高い圧縮効率が期待できることになるのは明らかである。なお、符号化データの出力先は、如何なるものでも良い。例えば、ストレージ装置に保存する場合には、画像サイズや1ラインの画素数等を示す情報と共に符号化データを含めたファイルにして保存することになる。
なお、以上の説明から明らかなように、2値化予測値が実際に2値化した結果と同じなる割合が高いほど、圧縮符号化効率が向上する。しかも、予測値を求めるアルゴリズムは、注目画素が存在するラインで、且つ、注目画素に近い位置のデータのみを利用して求めることができるようになり、ハードウェアで実現する場合に回路規模がごく簡単なものとすることができる。
なお、ディザマトリクスの閾値の並びも、予測値を求める重要なファクタとなる。以下にその理由を説明する。
今、4×4サイズのディザマトリクスの或る行の4つ閾値が{232、8、24、248}であり、この中の3番目の閾値「24」を用いて注目多値画素Dを2値化する場合を考察する。ここで、注目多値画素の2つ前の2値化結果と、1つ前の2値化結果が等しくないと仮定すると、上記実施形態に従えば、注目画素の2値化予測値Y=0になる。なぜなら、注目画素の閾値「24」は、1つまえの閾値「8」よりも大きいからである。
確かに、直前の画素の2値化閾値より、注目画素位置の2値化閾値が大きくなるので、注目画素は“0”に2値化され易い方向には作用する。しかしながら、数値「8」と「24」とでは、もともとその差が入力画像データ8ビットのダイナミックレンジと比較して小さいから、その信頼性が余り高いとは言えない。すなわち、上記実施形態では注目画素位置の閾値と直前の画素位置の閾値との差(絶対値)が大きければ大きいほど、正しい予測値が期待できることになる。従って、ディザマトリクスを構成する行(2値化処理する方向)において、隣接する閾値の差は大きくすることが望ましいことは理解できよう。
従って、ディザマトリクスの閾値を大きさ順に並べ、それをT1,T2,…TNで表わしたとき、閾値T1、T2…の順に、それら閾値が離散的に配置されたディザマトリクスを採用すると都合が良い。良く知られているディザマトリクスには幾つかのタイプがあるが、中でも、bayer型、或いはそれに類する配置のディザマトリクスが、予測値を求めるのに適したものと言える。
次に、上記実施形態で生成された圧縮符号化データを入力し、復号する装置の動作を説明する。図22は、その装置のブロック構成図である。
先に説明したように、図14の圧縮符号化部1407は可逆圧縮符号化処理を行うものであるので、図22における復号化部2201はそれとは逆の処理を行い、図21に示す差分符号データに変換すればよいので、その説明は省略する。
閾値行列記憶部2205は符号化装置における閾値行列記憶部1404と同じ内容(図15参照)に設定されている。また、予測値計算部2203はこれまでに得られた出力画像データの一部と、注目画素位置およびその直前の画素位置に対応した閾値とにより予測値を計算するためのものである。差分加算部2204は復号化部2201からの差分符号と、予測値計算部2203からの予測値とから出力画像データを再構成し、2値画像データを生成するものである。
以下、符号化データから復号化部2201により図21の差分符号データが得られたとし、説明する。
閾値行列記憶部2205には、第1実施形態の画像処理装置での処理時に使用したのと同じ図15に示す閾値行列の要素データ(閾値データ)が格納されている。予測値計算部2203は第1実施形態の予測値計算部と同じ処理、すなわち、図19の条件に従って予測値を計算する。なお、復号処理でも、各ラスタの先頭画素を越える左2画素の復号2値化結果は“0”であると見なす点に注意されたい。また、図21に示す各データを、その座標位置でE(i,j)として表現することとする。
先ず、第1ラインの先頭の2値データB(0、0)は次のようにして求める。
予測値計算部2203は、参照するべき画素がないので第1実施形態と同様に、2つ前及び1つ前の復号結果である復号2値化データが共に“0”であるので、注目画素の予測値Y(0,0)=“0”とする。一方、注目画素位置における差分データE(0,0)=“1”であったわけであるから、予測が外れたことを意味する。予測値Y(0,0)=“0”が正しくないわけであるから、注目画素の復号2値化結果B(0、0)=“1”として決定する。
第1ラインの2番目の注目画素の2値データB(1、0)は次のようにして求める。
注目画素の2つ前の復号2値化結果B(−1,0)(存在しない画素位置)=“0”、1つ前の実際の復号2値化結果B(0、0)=“1”であり、両者は異なっている。また、注目画素位置の差分値E(1,0)=“0”であるから、符号化する際の注目画素位置の2値化予測値は正しかったことを意味する。図15によれば、注目画素位置の閾値T(1、0)=“232”、直前の閾値T(0、0)=“8”であり、T(0、0)<T(1,0)の関係になっていることになる。すなわち、図19における、
T((i−1) mod 4、j mod 4)<T(i mod 4、j mod 4)
と判定して得られた2値化予測値“0”が正しかったことを意味していることに他ならない。従って、注目2値画素データB(1,0)=“0”として決定する。
第1ラインの3番目の画素を注目画素とし、その2値データB(2、0)は次のようにして求める。
注目画素の2つ前の復号2値化結果B(0,0)=“1”、1つ前の復号2値化結果B(1、0)=“0”であり、両者は違っている。また、注目画素位置の差分値E(2,0)=“0”であるから、符号化する際の注目画素位置の2値化予測値は正しかったことを意味する。図3によれば、注目画素位置の閾値T(2、0)=“24”、直前の閾値T(1、0)=“232”であり、T(1、0)≧T(2,0)の関係になっていることになる。すなわち、図19における、
T((i−1) mod 4、j mod 4)≧T(i mod 4、j mod 4)
と判定して得られた2値化予測値“1”が正しかったことを意味する。従って、注目2値画素データB(1,0)=“1”として決定する。
以下、上記処理を第1ラインの最終画素まで行い、それが完了すると、第2ラインの先頭画素から同様に処理することになる。そして、最終ライン、最終画素まで上記処理を繰り返し行うと、結局のところ、図17に示すような圧縮符号化する以前の2値画像データにまで完全に復元できることになる。
なお、上記実施形態では復号化装置と復号化装置の双方で、同じディザマトリクスを用意する必要がある。厳密には、復号側では、ディザマトリクスの個々の係数は必要ではなく、左右に隣接する閾値間の大小関係を示す情報があればよい。同じ閾値が存在しないと仮定して良いので、大小関係は1ビットで表現できる。従って、4×4の大小関係を保持するためには16ビットの情報が存在すれば十分である。よって、符号化データを送信する場合のヘッダ等にこの情報を格納したとしても、全体のデータ量に対する復号する際に必要なマトリクス情報のデータ量は小さい。
また、実施形態では、ディザマトリクスのサイズを4×4としたが、これによって本発明が限定されるものではなく、一般にN×Mのサイズで表現できる。また、注目画素の1つ前と2つ前の2値化結果の状態を参照するで注目画素の2値化結果の予測値とすることを1つの条件にしたが、注目画素のn個前までのn個の2値化結果が同じであるどうかを条件にしてもよい。
更に、実施形態では、1つ前と2つ前の2値化結果が等しくない場合、注目画素の閾値と1つ前の画素位置の閾値との大小関係で注目画素の2値化予測値を求めたが、これによっても本発明が限定されるものではない。
例えば、ライン内に着目すれば良いので、注目画素位置の閾値をTiと表現したとする。そして、2つ前の画素の2値化結果と、1つ前の画素の2値化結果が互いに等しくないというのは、注目画素位置での入力画素値はTi−1、Ti−2の中央にある確率が高いことを意味する。仮に、その中央値をTm(=(Ti−1+Ti−2)/2)としたとき、Tm<Tiなる関係にある場合、注目画素位置における2値化予測値Yは“0”、Tm≧Tiの場合にはY=“1”としても良い。
さらにまた、上記実施形態での機能実現手段は、コンピュータプログラムによっても実現できる。ここで、そのコンピュータプログラムがパーソナルコンピュータ等の汎用情報処理装置で実現する場合には、例えば、図23に示す手順で行えば良いであろう。なお、汎用情報処理装置のブロック図は周知のもとするので省略する。また、図23は1ラインの差分データ(図21のデータ)を生成する処理についてのみ示している。
更に、2値化対象画像の1ラインはM画素、変数B()は2値化結果を格納する変数、D()は2値化対象多値画素を入力する変数、T()はディザマトリクスの1ライン分の閾値(実施形態では4つ)を格納する変数、Y()は予測値を格納する変数、E()は差分データを記憶する変数である。なお、変数B(0)には1ラインの先頭画素の2つ前の画素位置における2値化結果、B(1)は同1画素前の2値化結果を格納し、1ラインの画素の2値化結果はB(2)以降に格納されるものとする。これは、変数のインデックスに負の値が使用できないとしても正常な結果を得られるようにするためである。
先ず、ステップS1では、変数B(0)、B(1)をゼロで初期化し、変数T()に該当するディザマトリクスの閾値を格納する。
次いで、ステップS2において、画素位置を示す変数iを初期値として“2”をセットする。ステップS3では、2値化対象画素データを変数Dに読み込む。そして、ステップS4で注目画素位置iに対応する閾値Tを求めるため、変数iを4で割った余りを変数jにセットする。また、注目画素位置の直前の閾値Tを求めるため、変数iに3を加算した値を4で割った余りを変数kにセットする。
処理がステップS5に進むと、注目画素値が閾値T(j)より大きいか否かを判断する。閾値T(j)より大きい場合、注目画素の2値化結果B(i)を“1”にする(ステップS6)。また、閾値T(j)以下であると判断した場合には、注目画素の2値化結果B(i)を“0”とする(ステップS7)。
いずれの場合にも処理はステップS8に進み、2つ前の2値化結果B(i−2)と1つ前の2値化結果B(i−1)が互いに等しいか否かを判断する。
B(i−2)=B(i−1)と判断した場合には、ステップS9にて注目画素位置における2値化予測値Y(i)に、直前の画素位置における2値化結果B(i−1)を格納する。
また、ステップS8において、B(i−2)≠B(i−1)と判断した場合には、ステップS10に進み、注目画素位置における閾値T(j)と直前の画素位置における閾値T(k)とを比較する。T(j)>T(k)であると判断した場合には、注目画素位置の2値化予測値Y(i)を“0”にし(ステップS11)、T(j)≦T(k)であると判断した場合にはY(i)を“1”にする(ステップS12)。
このようにして、注目画素の2値化予測値Y(i)を決定すると、処理はステップS13に進む。ステップS13では、注目画素の実際の2値化結果B(i)と2値化予測値Y(i)とを比較する。一致している、すなわち、予測値通りに2値化した場合には、差分変数E(i−2)に“0”を格納し(ステップS14)、不一致の場合(予測がはずれた場合)には、変数E(i−2)に“1”を格納する(ステップS15)。なお、変数Eに格納する際に変数iから2を引いているのは、E(0)から差分値を格納するためである。
この後、ステップS16にて、変数iを“1”だけ増加し、ステップS17にて1ラインの最終画素位置までの差分算出処理が終了したか否かを判断し、終了した判断した場合には本処理を終え、例えば1ライン分の差分データE()の圧縮符号化処理を行い、次のラインの処理を行うことになる。また、ステップS16にて、1ラインの最終画素の処理が未完であると判断した場合にはステップS3以降の処理を繰り返すことになる。
なお、上記において、2値化結果を参照するのは、注目画素、1つ前の画素、2つ前の画素それぞれの2値化結果のみで良いので、変数B()は3つ分のデータを格納する容量を有し、逐次、シフトしていけば良いであろう。
また、復号処理をホストコンピュータで実行する場合には、これまでの説明で十分に理解できるであろうから、その説明については省略する。
また、上記処理をホストコンピュータで実行するプログラムとしては、プリンタドライバが考えられる。すなわち、アプリケーションより渡されたデジタルカメラ等で撮像した画像をプリンタに出力する際に行うものである。当然、プリンタ側では先に説明した復号処理を行えば良い。
更に、上記実施形態では、2値化を例にして説明したが、3値化、4値化、…等に適用させても良い。4値化後のデータは、0、1、2、3の値のいずれかを持つことになる。この場合、3つのディザマトリクス(閾値行列)を定義すればよい。3つのディザマトリクスをA,B,Cとし、各マトリクス内の閾値をAi,j、Bi,j、Ci,jとしたとき、
Ai,j<Bi,j<Ci,j
なる関係を持たせる。
そして、ディザマトリクスA、B、Cそれぞれを用いて2値データを生成するようにすする。このようにすると、それぞれの2値データプレーンが上記実施形態での2値化結果と見なせるわけであるから、4値化等にも適用できるのは明らかである。
実施形態では図24(a)のように1ライン単位で処理を行い同一ライン上の画素を参照している。しかしながら、たとえば図24(b)、(c)に示したように複数ライン単位で処理を行い、注目画素とひとつ前の画素が同一ライン上にはない場合でも適用可能である。この場合、参照画素は処理の順番のほか、注目画素に対する位置関係によって決めておくこともできる。
<第2の実施形態>
次に、第2の実施形態について説明する。本第2の実施形態では、閾値の周期が必ずしも整数とならない周期関数により閾値を算出する画像処理装置に適用した例である。また、本実施例では閾値そのものではなく、出力値の出現頻度によって閾値を分類した濃度クラスを予測に用いている。
図25は本実施形態の概略を示すブロック図である。
階調変換部2501は閾値算出部2504と閾値比較部2505とで構成されている。閾値算出部2504は画素ごとの属性情報(不図示の像域判別処理で得られるものとする)の入力から、閾値を算出するためのものである。閾値比較部2505は入力画素値と閾値の入力から、出力画素値を算出するためのものである。閾値算出部2504は画素ごとの属性情報(たとえば、背景、文字・線画、中間調画像)に応じてパラメータθ,ω,dを決め、入力画像データの階調数n、画素位置(x,y)から以下の式(式1−1,式1−2,式2,式3)により閾値tを算出する。閾値tは最終的に小数部を切り捨て整数として算出するものとする。すると、閾値tはd+1以上n−d−2以下の整数となる。
x' = x cosθ - y sinθ ...(式1-1)
y' = x sinθ + y cosθ ...(式1-2)
a = sin(2πωx') + sin(2πωy') ...(式2)
t = (a+2) ×(n - 2d - 3)/4 + d + 3/2 ...(式3)
閾値算出部2504はまた、後に予測値計算部2502で使用するための濃度クラスを属性の種類と、閾値に応じて決定する。本実施形態では、2種類の属性(文字・画像)について注目し、各画素にどちらかの属性が排他的に必ず付与されているものとする。カラーの場合、例えばY,M,C,Kが存在するが、上記パラメータθ,ω,dは各色独立に設定されていているとする。以下は、モノクロ、もしくは、1つの色成分に対するものである。
以下、8ビットの入力画像(n=256)において、文字属性に対してパラメータd=4,階調画像属性に対してd=16とした場合の例について説明する。このように設定することで、以下の手順によって中間調(出力画素値1)の出現頻度は文字領域では低く、画像領域では高くなり、好ましい出力を得ることができる。
濃度クラスは図26に示すように属性と閾値に応じて分類し、各クラスに分類されるべき閾値の中央値をクラス代表値と定める。
閾値比較部2505は、入力画素値pと閾値tを比較して、出力画素値rを求める。このとき、p<t−d ならば r=0、p>t+d ならばr=2、どちらにも該当しなければr=1とする。
次に、予測値計算部2502での予測方法について説明する。
まず、図27で参照画素を選択する方法について説明する。予測対象画素2701の近傍で、同じ属性情報を持つ参照画素を図にあるように画素2702,画素2703,画素2704,画素2705の優先順位で選択する。このとき、たとえば画素2706は未処理なので利用することはできない。
同じ属性情報を持つかどうかは濃度クラスから判別可能である。すなわち、予測対象画素2701の濃度クラスが0または1の場合は、参照画素の濃度クラスが0または1のものを、予測対象画素2701の濃度クラスが2ないし4の場合は、参照画素の濃度クラスが2ないし4のものを選択すれば良い。
画素2702ないし2705のすべてが予測対象画素2701と異なる属性情報の場合は以下のように扱う。予測対象画素2701の濃度クラスが0または1の場合は、参照画素の濃度クラス0、出力画素値2とみなす。さもなくば、参照画素の濃度クラス2、出力画素値0とみなす。
画像端部において、参照画素の一部または全部が画像の範囲外となる場合はそれらの参照画素の属性情報は予測対象画素と異なるものとみなす。
以上のようにして参照画素と予測対象画素の属性情報が同じになるようにする。次に予測値の算出について説明する。
まず、予測対象画素の属性情報が文字線画属性の場合について説明する。
文字属性に対応した濃度クラス(0と1)において入力画素値とクラス代表閾値との比較で出力画素値を求めると図28のような関係になる。
入力画素値(8ビットとする)30,60,190,210における出力画素値は図29のようになる。この関係を利用して、図30のように予測を行う。
すなわち、濃度クラスが同じ場合は参照画素の出力画素値を予測値とする。また、濃度クラス0の参照画素から濃度クラス1の予測値を求める場合は、参照画素の出力画素値が0または1の場合は予測値0とし、そうでない場合は予測値を2とする。濃度クラス1の参照画素から濃度クラス0の予測値を求める場合は、参照画素の出力画素値が0の場合は予測値0とし、そうでない場合は予測値を2とする。
このように予測すれば、参照画素と予測対象画素の入力画素値が同じ場合は、ほとんど予測が的中することになる。
次に予測対象画素の属性情報が画像(中間調画像)属性の場合について説明する。
画像属性に対応した濃度クラス(2,3,4)において入力画素値とクラス代表閾値との比較で出力画素値を求めると図31のような関係になる。
この関係を利用して、図32のように予測を行う。以上のように予測値を算出することで、ディザ処理の閾値を考慮した出力画素値の予測を行うことが可能になる。
符号化部2503は、予測値と出力画素値との差分を計算するための差分計算部2506と復号化処理に必要な属性情報と差分情報を符号化するための圧縮符号化部2507とで構成されている。
本実施形態では出力画素値は0から2までなので、予測値0の場合の差分は0,+1,+2、予測値1の場合の差分は−1,0,+1、予測値2の場合の差分は−2,−1,0のいずれかとなる。
そこで、差分計算部2506は図33のように予測値と差分に応じた3種類の中間符号AもしくはBもしくはCを生成し、圧縮符号化部2507に伝達する。
圧縮符号化部2507は1ライン単位で属性情報と中間符号符号化する。まず1ライン分の属性情報をファクシミリの伝送で標準化されているモディファイドハフマン(MH)符号に準じて符号化し、次いで差分値を表現するための中間符号を符号化するものとする。なお、MH符号の詳細についてはCCITT勧告T.4で説明されているのでここでは省略する。
差分値の符号は図34の符号表を用いるものとする。中間符号A,B,Cそれぞれに対応した符号が定められているほか、8個以上の連続するAを短縮して表現する形式が定義されている。これには、圧縮率向上の目的のほか、中間符号Aが続いた結果、MH符号で特殊な意味を持つEOL符号“000000000001”と同じ並びが出現するのを防止する意味がある。
9個、16個などの連続するAの並びについては特別な符号は定めないが、たとえば、9個を8個+1個、16個を8個+8個のように分離して、図35の例にあるように符号化すれば良い。
<第3の実施形態>
次に、第3の実施形態について説明する。本実施形態以降は特開平8−223428号公報による従来方法が苦手としていた、閾値の変化周期と等しい縦縞画像データに対しても良好な圧縮を実現するために、閾値の周期を利用した予測と注目画素の近傍画素値による予測との2種類の予測を適応的に選択するものである。
本実施形態はライン単位で符号化を行う。説明を簡単なものとするため、1画素8ビット(256階調)の画像データを1画素2ビット(4階調=4値化)にディザ処理が施され、このディザ処理の画像を符号化対象とする例を説明する。
このディザ処理では、n×m画素サイズの3つのディザマトリクス、例えば、図3(a)乃至(c)に示す8×8サイズのディザマトリクスを用いて行われる。
今、入力した原画像の画素値(8ビット)を、その水平画素位置i、垂直(ライン数)をjとしてD(i,j)と表現した場合、その画素を4値化するために使用するディザマトリクス301の閾値T1、ディザマトリクス302の閾値T2、ディザマトリクス303の閾値T3は、それぞれT1(i mod 8,j mod 8)、T2(i mod 8,j mod 8)、T3(i mod 8,j mod 8)として表現できる(ここで「x mod y」とは、xをyで除算した際の余りを返す関数である)。つまり、閾値T1〜T3は、水平方向に対してディザマトリクスの水平方向のサイズである8画素周期に変化し、垂直方向についても8画素周期に変化することになる。
そして、注目画素D(i,j)を4値化する場合には、閾値T1(i mod 8,j mod 8)、T2(i mod 8,j mod 8)、T3(i mod 8,j mod 8)のそれぞれと比較し、注目画素値D(i,j)が、これら閾値より大きくなった個数を算出する。閾値の個数は3つであるので、算出した結果は0乃至3の値、すなわち、2ビットで表現できるから、8ビットの画素値が2ビットに量子化、すなわち、4値化できることになる。
なお、実施形態では、ディザマトリクス301,302,303の閾値閾値T1(i mod 8,j mod 8)、T2(i mod 8,j mod 8)、T3(i mod 8,j mod 8)の平均値をディザ平均閾値と定義する。実施形態では、ディザ平均閾値はディザマトリクス302に等しい。
図38は上記の256階調(8ビット)を4階調(2ビット)に変換するディザ回路構成の一例を示している。
図示において、3801乃至3803はそれぞれ図3(a)乃至図3(c)に対応するディザマトリクスの閾値を格納するう閾値ルックアップテーブル(LUT)である。3804乃至3806はコンパレータであり、[+]端子に入力された値が[−]端子に入力された値以上の場合に1ビット信号“1”を出力し、それ以外の場合には“0”の信号を出力する。3807は各コンパレータ3804乃至3806からの“1”をカウントし、そのカウント結果を2ビットの信号として出力するカウンタである。
図示において、注目多値画素データD(i,j)を入力したとき、i mod 8、j mod 8(画素アドレスの下位3ビットと等価)の値を、各ルックアップテーブルテーブル3801乃至3803のアドレス信号として供給する。この結果、各閾値ルックアップテーブル3801乃至3803からは、該当する閾値T1、T2、T3が出力される。各コンパレータ3804乃至3806は、入力した多値画素データDと閾値とを比較し、そのカウンタ3807に供給することになる。コンパレータ3804乃至3806から出力される“1”の個数は最大で3、最低で0であるから、その個数に応じた2ビットの信号、すなわち、ディザ処理後の画像データを出力することになる。
次に、上記のディザ処理後の画像データを圧縮符号化する例を、図1に示す画像処理装置の構成を参照して説明する。
図中、101は入力端子109より入力したディザ処理後の画素データを水平方向8画素分だけ記憶する参照画素値記憶部(シフトレジスタで構成する)である。この記憶する画素の個数は、ディザマトリクスの水平方向のサイズに同じである。従って、入力端子109より入力した画素値を注目画素値としたとき、参照画素値記憶部101には、それより時間的に1乃至8画素前の画素データを記憶保持することになる。
103は図3(a)乃至(c)に示すディザマトリクス301乃至302の平均値を記憶する記憶する閾値記憶部である。実施形態の場合、各ディザマトリクスの閾値の平均値はディザマトリクス302に等しいので、ディザマトリクス302のみを記憶すればよくなり、その分だけ記憶容量を少なくしている。勿論、複数のディザマトリクスを記憶保持し、その平均値を算出する演算部を設けるようにしてもよい。
102は第1予測部であって、注目画素値の直前の画素値を参照画素値記憶部101から取り出すと共に、閾値記憶部103より閾値を取り出し、これらに基づいて注目画素の予測値(以下、第1予測値という)を決定する。この第1予測部102は従来苦手としていた縦縞画像における予測精度の向上のためのものである(詳細後述)。
104は第2予測部であって、注目画素の8画素前の画素値、すなわち、ディザマトリクス内の同位相の入力画素値を予測値(第2予測値という)として決定する。
105は連続性判定部であって、第1、第2予測値のいずれか一方を選択させるための判定を行う(詳細後述)。
106は、連続性判定部105の判定結果に基づいて、第1、第2予測値のいずれか一方を選択し、出力する予測値選択部である。
そして、107は予測値選択部107からの予測値と注目画素値に基づき、符号化する符号化部である。
次に、上記構成における実施形態における符号化装置の動作を以下に説明する。
入力端子109からは1ライン単位に画素データが入力するが、新な1ラインを入力する際には、以下の初期化処理を行う。なお、初期化処理での初期値は、復号処理と同じであれば良いので、以下の設定に限定されない。
・参照画素値記憶部101の内容は所定値(実施形態では0とする)を示す画素値で初期化する。
・閾値記憶部103には、ディザマトリクス302中の該当する1ラインの8つの閾値を格納する。ディザマトリクス302は、図3(b)に示すように8ラインで構成されるので、符号化対象の4値化画像のラインをi番目と定義したとき、閾値記憶部103には「i mod 8」ライン(便宜的にディザマトリクスの最上位ラインを0ラインとする)の閾値を格納すればよい。もしくは、「i mod 8」で示されるラインを選択するセレクタを設ける構成でも構わない。
・符号化部107の一致カウンタを0に初期化する。
・連続性判定部105に保持されるデータを所定値でクリアする。
入力される画素値は2次元画像中の1画素であるので、先に説明したように本来は2次元座標で表現されるが、実施形態では1ライン単位に符号化する例を示しているので、注目画素値は1次元の座標値で表わすこととする。すなわち、注目画素(4値化後の画素データ)をDiとする。
上記の如く、注目ラインの符号化を開始する際、参照画素値記憶部101はゼロクリアされることになるので、注目ラインの先頭画素D0から8画素目のD7までを入力している最中には、第2予測部104から出力される第2予測値は「0」である。そして、1ラインの9画素目以降のデータDiを入力した場合に、第2予測部104はそれより8画素前のDi-8を第2予測値として出力することになる。
一方、第1予測部102は、注目画素の直前の画素値Di-1を参照画素値記憶部101から読み出すと共に、注目画素値Diを4値化した際に用いた閾値Thiと、注目画素の直前の画素値Di-1を4値化した際に用いた閾値Thi-1の2つの閾値を閾値記憶部103から読出し、注目画素値の第1予測値を演算する。
なお、上記において、閾値Thi、Thi-1は、本来は、Th(i mod 8),Th((i-1) mod 8)とすべきである。実施形態では説明を簡単にするため、注目画素の閾値と、その直前画素の閾値の関係を示すため、便宜的に上記のように示している。ただし、注目画素がラインの先頭画素D0である場合には、Th-1は存在しないので、Th-1=0、もしくは、Th-1=Th7とすればよいであろう。
さて、第1予測部での第1予測値であるが、実施形態では、図4に示す関係に従って決定した。すなわち、
条件A:参照画素値(注目画素の直前の画素値)Di-1=0の場合、第1予測値を無条件に“0”に設定する。
条件B.Di-1=1または2の場合
Thi>Thi-1の関係を満足すれば、第1予測値を“0”を設定する。Thi≦Thi-1の関係を満足すれば、第1予測値を“3”に設定する。
条件C:Di-1=3の場合には、第1予測値は無条件に“3”に設定する。
上記のようにする理由について説明する。注目画素位置における閾値Thiが直前の画素位置における閾値Thi-1より大きい場合、すなわち、Thi>Thi-1の関係にある場合、注目画素値Diは直前の画素値Di-1よりも小さな値になる確率が高いことを意味する。逆に、Thi≦Thi-1の関係にある場合、注目画素Diは大きな値になる確率が高いことを意味する。上記条件Bは、この理由によるものである。
また、図3(a)〜(c)に示される各ディザマトリクスを用いると、中間調画像データ等、ほぼ濃度(もしくは輝度)が一定の画像を入力した場合、その殆どが“0”、“3”の値になり、“1”、“2”となる画素数は限られたものとなる。つまり、図3(a)乃至(c)のディザマトリクスを用いると、“0”、“3”の出現確率が高く、“1”、“2”の出現確率は低いと言える。上記条件A,Cは、このような状況に対処するものである。
なお、第1予測部の予測値の求め方として、たとえば、以下のように複数の近傍画素を参照して求める方法を適用しても良い。
条件A:n個の近傍画素群の画素値(Di-1,Di-2,…,Di-n)がすべて一致した場合にはその値を第1予測値する。
条件B:近傍画素群中に画素値が異なるものがあり、Thi>Thi-1の場合に第1予測値を“0”にする。
条件C:近傍画素群中に画素値が異なるものがあり、Thi≦Thi-1の場合に第1予測値を“3”にする。
これは、たとえば、文書の余白部分など、連続する複数画素が同じ値の場合、次も同じ値になる可能性が高いことを前提としたものである。
この方法には、条件Aが成立する場合が多く、またその判定は以下のようにソフトウェアでも簡単に実現できるという利点がある。
n=4とした場合、4個の画素値(Di-4,Di-3,Di-2,Di-1)を連結して(左側を上位ビットとする)ひとつのレジスタXに格納する。また、注目画素を含む4画素値(Di-3,Di-2,Di-1,Di)を連結してレジスタYに格納する。レジスタYの値は次の画素を処理する際にレジスタXの値として利用可能である。
レジスタXとレジスタYのXOR(排他的論理和)演算結果をZとした場合、Zの上位3画素分が0となれば、Di-4=Di-3,Di-3=Di-2,Di-2=Di-1すべてが成立したこととなり、条件Aが成立したことを意味する。さらに,Z全体が0となれば、Di-1=Diも成立するため、予測値と注目画素値が一致したことになる。
隣接する画素間での閾値の差が大きい場合には、閾値を大、中、小などのクラスに分類して、閾値そのものの比較に代えてクラス間の大小関係によって予測値を算出してもほぼ同じ結果を得ることが可能である。具体的には、閾値のうち上位2ビットを用いて4分類する方法がある。
本実施形態では、第1予測部は隣接する画素間での閾値の大小関係だけを用いているため、閾値記憶部103には、閾値そのものに代えて1画素前の閾値との比較結果をあらかじめ算出した上で、その結果を格納しておいても良い。
さて、上記のようにして、第1予測部102からは第1予測値、第2予測部104からは第2予測値が出力されるが、予測値選択部106は連続性判定部105による判定結果に従って第1、第2予測値のいずれか一方を選択し、符号化部107に最終的な予測値として出力することになる。そこで、次に、実施形態における連続性判定部105を説明する。
実施形態における連続性判定部105は、注目画素を含まない直近の3画素分のデータ、すなわち、図36に示す近傍画素群3601と、ディザマトリクスのサイズに依存した1周期前の3画素のデータ3601(近傍画素群と同位相の画素群)をそれぞれ比較する。ただし、ここでは注目画素の直近の3画素と、それに対応する1周期前の3画素とを比較するものとしているのが、これらの数に限定されるものではない。また、1周期前に限らず1周期の整数倍前でも構わない。ただし、距離が長くなるほど、それら画素の相関度は低くなっていくので、1周期前が望ましい。
実施形態では、比較した一致数が不一致数以上の場合(実施形態では2組の3画素を比較しているので一致数が2以上の場合)、入力した画像はディザマトリクスによる周期性が顕著に反映されているものとし、第2予測値が選択されるものとして判定する。また、一致数が不一致数未満である場合には、第1予測値が選択されるものとして判定する。
図8は実施形態における連続性判定部105の具体的な構成の一例を示す図である。
シフトレジスタ701には、入力端子109より入力した注目画素Diの1乃至3つ前のデータDi-1,Di-2,Di-3を記憶する。また、シフトレジスタ702はそれぞれの8画素前のデータDi-9,Di-10,Di-11を記憶する。
アンド回路703は、画素データDi-1とDi-9が一致する場合に“1”、不一致の場合には“0”を出力する。アンド回路704、705も同様である。
カウンタ706は各アンド回路703乃至705からの一致することを示す“1”の数をカウントする。比較部707はカウントした値が予め設定された閾値“2”以上である場合には、第2予測値を選択するための指示情報を予測値選択部106に出力し、それ以外では第1予測値を選択するための指示情報を予測値選択部106に出力する。なお、カウンタ706はルックアップテーブルでも構成できる。
符号化部107はライン終端に至るまで以下の処理を繰り返す。
・ディザ処理後の注目画素値Diと、予測値選択部106から出力された予測値が一致した場合は一致カウンタをカウントアップする。
・注目画素値Diとディザ画像データと予測値が一致しない場合は、それまでの一致カウンタの値に従って一致数を示す符号を出力し、一致カウンタをクリアする。次に差分値を示す符号を出力する。
・ライン終端においてはライン終端を示す符号(ライン終端までの差分がすべて0であることを示す)を出力する。
出力符号は既知の圧縮符号化方法(たとえばハフマン符号、算術符号、LZ符号など)によって圧縮し、その結果を圧縮画像データとする。どちらの予測値を選択したのか、また、選択された予測値によって異なる符号表を用いるようにすることもできる。
次に実施形態における復号装置(図1の画像処理(符号化)装置と対を成す画像処理(復号装置)の構成を図2に示し、以下に説明する。
なお、復号化装置においても、図3(a)乃至(c)のディザマトリクス情報を予め記憶しているものとする。ただし、ディザマトリクスの閾値データも、符号化データに含まれている場合には、それを復号してディザマトリクスを生成しても構わない。また、1ラインを構成する画素数は予め固定、もしくは、符号化データ中に1ラインの画素数を示すデータがヘッダ等に記憶されているものとして説明する。
入力端子209から各ラインの符号化データを入力する際、そのラインの先頭において図1の画像処理(符号化)装置と同様に以下に示す初期化処理を行う。
・参照画素値記憶部201の内容は、符号化装置側での参照画素値記憶部101の初期値と同じ値(実施形態では0)で初期化する。
・閾値記憶部203にディザ閾値のうち処理対象ラインに相当する行の値を格納しておく。
・符号化部207の一致カウンタを0に設定する。
・連続性判定部205に保持されるデータを所定値でクリアする(符号化装置の連続性判定部と同様)。
これらの初期値は以上のようにあらかじめ決められた値を使用するほか、圧縮画像データの一部として記録しておいてその内容に従って初期化を行うように構成することもできる。
また、差分値復号部208は連続するディザ画像データと予測値が連続して一致した数を数える一致カウンタを備える。この差分値復号部208はライン終端の符号を検出するまで以下の処理を繰り返す。
・一致カウンタが0でない場合、一致カウンタをカウントダウンして差分値0を出力する。
・一致カウンタが0の場合、差分復号部は次の入力符号を読み取る。
このとき、入力符号が一致数を示す場合には差分値0を出力し、符号が示す一致数から1減算した値を一致カウンタにセットする。また、入力符号が差分値を示す場合にはその差分値を出力する。更に、ライン終端の符号を検出した後は次のラインの処理に移るまで繰り返し差分値0を出力する。
以上の手順によって図1における符号化部107の生成した圧縮画像データから差分値を得ることが可能である。
ディザ画像データ復元部207は予測値選択部206が選択した予測値と差分復号部208によって得られた差分値とを加算することでディザ画像データを復元することになる。
ディザ画像データ復元部207が最初の出力を得るまでの手順を説明すると次の通りである。
参照画素記憶部201は初期化処理によって図1における参照画素記憶部101と同じ初期値に設定されている。
第2予測部204は、図1における第2予測部104と同じ方法で第2予測値を算出する。初期化処理によって参照画素値記憶部201の内容はすべて“0”を示す画素値となるので、最初の第2予測値は“0”の画素値となる。
連続性判定部205は、図1における連続性判定部105と同様の判定を行う。初期化処理によって比較結果の記憶内容は3画素とも一致したものと設定されるため、最初の判定では第2予測値を選択することになる。
予測値選択部206は図1における予測値選択部106と同様である。連続性判定部205の最初の判定は第2予測値であり、第2予測部204による最初の第2予測値は空白の画素値であるため、予測値選択部206が最初に選択する予測値は“0”の画素値となる。
これは予測値選択部106の最初の予測値に等しいため、差分復号部208によって得られた差分値からディザ画像データ画素値を復元することができる。
ディザ画像データ復元部207によって得られた最初のディザ画像データ画素値は参照画素記憶部201に記憶さる。また、連続性判定部205では第2予測値との比較が行われて比較結果が記憶される。このように構成することで、参照画素記憶部201の記憶内容は図1における参照画素記憶部101と同じ内容になり、また、連続性判定部205が記憶する比較結果も図1における連続性判定部105と同じ内容に更新することが可能である。
よって、後続する画素に対する予測値も符号化処理時と同じ値を求めることが可能で、差分値からディザ画像データを復元することができる。
以上説明したように実施形態によれば、ディザマトリクスで量子化された画素が、ディザマトリクスの周期性に依存して量子化されている確率が高い場合には、注目画素に対してディザマトリクスのサイズ分だけ過去のデータを予測値として決定し、ザマトリクスの周期性に依存しないで量子化されている確率が高い場合に、直近の画素値と、閾値変化に基づいて予測値を得るようにしたので、符号化単位である1ラインに対して直交する方向の縦線や縦縞模様を有する画像、並びに、中間調画像のような画像のいずれに対しても高い圧縮率で符号化することが可能となる。
なお、上記実施形態では予測値と注目画素値との差分を符号化する例を説明したが、これによって限定されない。
例えば、符号化装置では、予測値と注目画素値が一致しているか否かを示す一致/不一致判定用の符号を先ず生成し、不一致の場合にのみ注目画素値の符号を、その一致/不一致判定用符号に後続するように生成する。これを受けた復号装置では、符号が一致することを示している場合には予測値を注目画素値として出力し、不一致を示す符号があった場合には後続する符号で示される値を注目画素値として出力すればよい。
<第4の実施形態>
第4の実施形態では、上記第3の実施形態に相当する処理をコンピュータプログラムによって実現する例を説明する。
装置構成は、通常のパーソナルコンピュータの構成で構わない。図9はその一例である。
図中、900は装置全体の制御を司るCPUであり、901はBIOSやブートプログラムを格納しているROM、902はCPU900のワークエリアとして利用されるRAM、904はキーボード、ポインティングデバイスで構成される指示入力部である。905はハードディスク装置等の外部記憶装置であって、OS、実施形態にかかるプログラムが記憶されている。また、外部記憶装置905には、処理結果の画像データを記憶するためにも用いられる。906はイメージスキャナ等の画像入力部であって、符号化しようとする画像データを入力するものである。907は表示制御部であって、内部には表示用メモリ、この表示メモリへの描画コントローラ、表示メモリからのデータを表示装置908へビデオ信号として出力する回路で構成される。909はネットワークインタフェースである。なお、上記において、画像入力部906は、画像データを入力するものであれば如何なるものでも構わない。例えば、デジタルカメラもしくはそれを接続するインタフェースでも構わないし、ネットワーク上に存在する画像データを符号化する場合には、画像入力部906は不要にもなる。
上記構成において装置の電源をONにすると、CPU900はROM902のブートプログラムに従って外部記憶装置905からOSをRAM903にロードし、第4の実施形態における画像符号化プログラム、或いは、復号プログラムを指示入力部904で指定することで実行することになる。
本第4の実施形態では、8画素×4画素のブロック単位で圧縮符号化を行う例を説明する。つまり、1ページを4ラインごとのバンドに区切り、さらに各バンドを左端から8画素づつ区切ったものがブロックとなる。
ブロック内での処理順序は、位置が近い画素を続けて処理するよう考慮して図7に示す順番と定める。垂直方向の相関も第1予測値や予測値の選択に反映させるためである。
図5は1つのブロックの符号化処理プログラムの処理内容を示すフローチャートである。
先ず、ステップS501における初期化処理では、一致数カウンタのクリア、第2予測的中数カウンタのクリア、連続性判定結果初期値(連続性大)の設定を行う。
ステップS502の2予測値算出処理では、後に使用する第2予測値を算出するためのものである。第2予測値は、直前のブロック(以下参照ブロック)で処理対象画素と同じ位置の画素値とする。各バンドで左端のブロックにおいては参照ブロックはすべて“0”の画素値を持つものとして扱う。
ステップS503では、4画素処理する毎に連続性の判定を行う。4画素中に第2予測値と処理対象のディザ画素値との差分が0となる個数が2個以上であれば、連続性大と判定し、そうでなければ連続性小と判定する。判定結果によって続く4画素で使用する予測方法が決定される。
4画素単位の区切りでは、第2予測的中数カウンタを参照して連続性の判定を行い、その後クリアする。4画素の区切りでない場合は、以前の判定結果をそのまま利用する。
ステップS504の第1予測値設定処理は、連続性小の場合にのみ必要となる。第1予測値の算出を行い、第1予測値を処理対象画素の予測値と設定する。第1予測値は処理対象画素を含まない過去の直近3画素の中央値とする。ブロックの初めでは参照ブロックの終わりの画素を使用することになる。
最近の高解像度の画像データでは、通常の文字の字画でも数画素ないし十数画素の幅を持っている。本実施形態の第1予測値はこのような文字部分での簡易的な予測を狙ったものである。
ステップS505の第2予測値設定処理では、第2予測値算出ステップS502で算出した第2予測値を処理対象画素の予測値と設定する。
ステップS506の第2予測的中カウント処理では、第2予測値算出ステップS502で算出した第2予測値が処理対象ディザ画素値と一致しているか否かを判定し、一致した場合に第2予測的中数のカウントアップを行う。
ステップS507の差分値判定処理では、図7に示す順に従って処理対象ディザ画素値を読み出す。また、連続性の大小に応じて第1予測値設定処理(ステップS504)または第2予測値設定処理(ステップS505)で設定された予測値と、処理対象ディザ画素値との差分を算出し、差分が0であるか否かを判定する。
ステップS508の一致数カウントアップは、差分値判定処理(ステップS507)における差分が0の場合の処理で、連続する差分値0を数える一致数カウンタのカウントアップを行う。
ステップS509の一致数カウンタ判定処理は、差分値判定処理(ステップS507)において、差分が0とならなかった場合の処理であり、一致数カウンタを調べる。一致数カウンタが0でない場合は、直前の画素およびそれ以前の連続する差分値0の一致数は出力されていない。従って、これを出力符号に反映せるため、ステップS510にて一致数符号出力処理を必要となる。
ステップS510の一致数符号出力処理は、1画素以上が差分0となった後に、処理対象画素の差分が0とならなかった場合の処理で、差分0の連続数を示す符号を出力する。ステップS511の差分値符号出力処理は、処理対象画素のディザ画素値と予測値との差分を示す符号を出力するためのものである。
ステップS512のブロック終端判定処理は、ブロック内のすべての画素の処理が終わったか否かを判定するためのもので、処理を続ける必要がある間は第2予測値算出処理(ステップS502)以降の処理を繰り返す。
ステップS513のブロック終端符号出力処理は、ブロックの終端を示す符号を出力するためのものである。ブロック終端符号は、ブロックのある時点から以後、差分値0がブロック終端まで続いていることを示すためのものである。
次に、第4の実施形態における復号化処理を図6のフローチャートに従って説明する。この処理は、上記の符号化処理で得られた符号化データを何らかの手段(例えばCD−ROM等の記憶媒体、あるいは、ネットワークを介しての受信等)で取得した符号化データを復号するものと言えば分かりやすい。
先ず、ステップS601の初期化処理では一致数カウンタのクリア、第2予測的中数カウンタのクリア、連続性判定結果初期値(連続性大)の設定を行う。
ステップS602における第2予測値算出処理、ステップS603の連続性判定処理、ステップS604の第1予測値設定処理、ステップS605における第2予測値設定処理は、それぞれ図5に示した、ステップS502の第2予測値算出処理、ステップS503の連続性判定処理、ステップS504の第1予測値設定処理、ステップS505の第2予測値設定と等価な処理である。
ステップS606における一致数カウンタ判定処理では、一致数カウンタの値が0か否かによって分岐を行う。一致カウンタの値が0でない場合は、処理対象画素がそれ以前の画素から連続する差分値0の区間に含まれていることを意味する。従って、ステップS607に進んで、一致数カウンタのカウントダウンを行う。連続する差分値0のうちひとつが処理対象画素の差分値として使われたことを意味する。
また、一致カウンタの値が0であった場合、ステップS608にて、1語の符号を読み取り、その内容によって後続するステップS609乃至611のいずれかに切り替える。
差分値設定処理(ステップS609)は、符号読み取りステップS608で差分値符号を読み取った場合の処理であり、読み取った符号に従った値を処理対象画素の差分値として使用するように設定する。
一致数設定処理(ステップS610)は、ステップS608で一致数符号を読み取った場合の処理であり、符号の示す連続する差分0の数から1を減じた値を一致数カウンタに設定する。1を減じるのは符号が示す数に処理対象画素も含まれているためである。
終端符号設定処理(ステップS611)は、ステップS608でブロックの終端符号を読み取った場合の処理であり、ブロック内の総画素数の値を一致数カウンタに設定する。こうすることで、以後はブロック内の各画素の処理で符号読み取り処理(ステップS608)には到達せず、また、差分値0を使用するようになる。
差分0設定処理(ステップS612)は、差分符号を読み取った場合を除くすべての場合において、処理対象画素の差分値を0に設定するためのものである。
画素復元処理(ステップS613)は、第1予測値設定処理(ステップS604)、あるいは、第2予測値設定処理(ステップS605)で設定された予測値と、差分値設定処理(ステップS609)、あるいは、差分0設定処理(ステップS612)で設定された差分値との加算を行い、ディザ画素値を復元するためのものである。
第2予測的中カウント処理(ステップS614)は、画素復元処理(ステップS613)で復元されたディザ画素値と、第2予測値算出処理(ステップS602)で算出された第2予測値との比較を行い、一致した場合に第2予測的中数カウンタのカウントアップを行うものである。第2予測的中数カウンタの値は連続性判定処理(ステップS603)で参照される。
ブロック処理終了判定処理(ステップS615)は、ブロック内の画素すべての処理が終了したかどうかを判定するためのものである。処理を続ける必要がある間は第2予測値算出処理(ステップS602)以降の処理を繰り返す。
以上説明したように、第4の実施形態においても、第3の実施形態と同様の作用効果を奏することができる。とくに、第4の実施形態によれば、パーソナルコンピュータ等の汎用情報処理装置で実行されるアプリケーション(の一部)に実装することが可能となる。
なお、上記第4の実施形態でも予測値と注目画素値との差分を符号化する例を説明したが、これによって限定されない。
先の第3の実施形態で説明したように、符号化装置では、予測値と注目画素値が一致しているか否かを示す一致/不一致判定用の符号を先ず生成し、不一致の場合にのみ注目画素値の符号を、その一致/不一致判定用符号に後続するように生成する。これを受けた復号装置では、符号が一致することを示している場合には予測値を注目画素値として出力し、不一致を示す符号があった場合には後続する符号で示される値を注目画素値として出力すればよいからである。
これを実現するには、図5のフローチャート(符号化処理)において、ステップS511にて、注目画素値を符号として出力すればよい。なお、ステップS508では差分値0をカウントしているので、これは一致数をカウントしていると等価であり、変更は必要ない。また、図6のフローチャートでは、ステップS612にて予測値を結果の画素値として出力し、ステップS609では符号から直接結果の画素値を得ることとし、ステップS613は不要となる。
<第5の実施形態>
本第5の実施形態における特徴とする点は、各画素毎にその画素が文字線画領域の画素であるか、非文字線画領域(中間調領域)の画素であるかを示す属性情報を入力し、この属性を予測値の決定に用いる点である。以下では、文字線画領域/非文字線画領域を単に文字/非文字として表現することとする。また、この文字/非文字は1ビットで表現できる。
なお、文字/非文字等の属性情報を付与する技術は、例えば、特開平5−56287号のように画像データの輪郭、濃度、色等によって判定するものとするが、一般に、文字線画の場合には隣接する画素の濃度(もしくは輝度)の変化が、所定閾値よりも急峻であることを利用することが多く、実施形態でもこれにしたがうものする。
図10は本第5の実施形態における画像符号化装置のブロック構成図である。入力端子1109、参照画素値記憶部1101、閾値記憶部1103、第2予測部1104は、図1における入力端子109、参照画素値記憶部101、閾値記憶部103、第2予測部104と同じであるので、その説明は省略する。
1111は、文字/非文字の属性情報の入力端子であって、画像入力端子1109で入力される画素データと同期して属性情報を入力する。参照属性値記憶部1105は、ディザマトリクスのサイズに依存した数の属性情報を一時的に記憶する。本第5の実施形態でも符号化対象の画像は図3(a)乃至(c)のディザマトリクスを用いて4値化されるものとしているので、参照属性値記憶部1105は8画素分の属性情報を記憶する。
本第5の実施形態でも、ライン単位に符号化処理を行う。まず、各ラインの先頭において初期化処理を行う。初期値は復号処理で同じ設定をする限りは以下に示す値に限定されないが、本第5の実施形態でも以下のように定める。
・参照画素値記憶部1101の内容はすべて所定値(実施形態では0とする)を示す画素値を格納しておく。
・閾値記憶部1103には、ディザ閾値のうち処理対象ラインに相当する行の値を格納しておく。
・参照属性値記憶部1105の内容はすべて非文字に設定する。
・符号化部1107の一致カウンタを0に設定する。
その後、各部は以下に説明する処理を行って圧縮符号化画像データを生成する。
入力であるディザ画像データは、処理対象画素のほか過去8画素分(ディザマトリクスの列数に相当する画素数)を記憶する参照画素値記憶部1101に一時保存される。同様に、過去8画素分の属性値は参照属性値記憶分1105に一時保存される。
第2予測部1104は、現処理対象である注目画素Diからディザマトリクスの列数だけ(実施形態では8画素)離れた参照画素Di-8を参照画素値記憶部1101より取り出し、その値を第2予測値とする。初期化処理によって参照画素値記憶部1101の内容はすべて所定値(実施形態では0)を示す画素値となるので、ラインの先頭から8画素分については“0”が予測値として出力されることになる。
一方、第1予測部1102は従来苦手としていた縦縞画像における予測精度の向上のためのものである。第1予測部1102は、まず、注目画素の直前の画素から順にさかのぼって、参照属性値記憶分1105に「文字」を示す属性を探索する。文字属性の画素がある場合は、最初に見つかった文字属性を有する画素値を第1予測参照値として参照画素値記憶部1101より取り出す。
そして、その参照画素値と、閾値Thi、Thi-1に基づいて、注目画素の第1予測値を求める。この第1予測値を求める条件は、第3の実施形態で説明した図4にしたがうものとする。注意したい点は、第3の実施形態では図4における「参照画素値」は注目画素の直前の画素値Diであったのに対し、本第5の実施形態での「参照画素値」は、注目画素の直前画素から遡って最初に「文字」属性を有する画素値とする点である。
なお、文字属性の探索に失敗した場合、すなわち、参照属性記憶部1105に記憶された8つの属性がすべて「非文字」を示す情報であった場合には、既定値(例えば黒色を示す値)を第1予測値として決定する。ここで「黒色」とは、実施形態における画像データが濃度成分で表現されている場合には最大値の“3”となるし、輝度成分で表現されている場合には最小値の“0”となる。
属性符号化部1109は、入力された属性値を符号化し、属性符号を生成するためのものである。属性値は1ビット(2値)で表わされるので、従来知られている技術、たとえば、ファクシミリなどで使用されているMMR(Modified Modified READ)符号での符号化を行うものとする。
予測値選択部1106は、注目画素の属性値に従って、第1予測値と第2予測値のいずれか一方を選択し、最終的な予測値として画像符号化部1107に出力する。本第5の実施形態は、注目画素が文字属性を有する場合には第1予測値、非文字属性の場合に第2予測値を選択する。
画像符号化部1107はディザ画像データである注目画素値と予測値選択部1106によって選択された予測値との差分を符号化し、画像符号を生成するためのものである。差分値0(ディザ画像データと予測値が一致した場合)についてランレングス圧縮を行うために、本第5の実施形態でも、画像符号化部1107はディザ画像データと予測値が連続して一致した数を数える一致カウンタを備える。
画像符号化部1107は、第3の実施形態と同様である。すなわち、ライン終端に至るまで以下の処理を繰り返すことになる。
・ディザ画像データと予測値が一致した場合は一致カウンタをカウントアップする。
・ディザ画像データと予測値が一致しない場合は、まず一致カウンタの値に従って一致数を示す符号を出力し、一致カウンタをクリアする。次に差分値を示す符号を出力する。
・ライン終端においては、ライン終端を示す符号(ライン終端までの差分がすべて0であることを示す)を出力する。
出力符号は既知の圧縮符号化方法(たとえばハフマン符号、算術符号、LZ符号など)によって圧縮し、その結果を圧縮画像データとする。どちらの予測値を選択したのか、また、選択された予測値によって異なる符号表を用いるようにすることもできる。
符号連結部1108は、保存や伝送における利便性を向上させるために、属性符号化部1109が生成した属性符号と画像符号化部1107が生成した画像符号とを連結し、画像・属性符号とするためのものである。
本第5の実施形態では属性データを圧縮し、圧縮画像データに転結して最終符号化データを生成したが、属性符号は画像データと比較して情報量が少ないので圧縮しない方法もある。また、画像符号と属性符号とを別々に出力することも可能である。
図11は図10の画像符号化装置と対を成す画像復号装置の構成を示す図である。本第5の実施形態では、1ラインを構成する画素数やディザマトリクスの大きさはあらかじめ決められているものとするが、圧縮画像データ中に記録しておくように構成こともできる。
各ラインの先頭において図10の画像処理(符号化)装置と同様に以下に示す初期化処理を行う。
・参照画素値記憶部1201の内容はすべて所定値(実施形態では0とする)を示す画素値を格納する。
・閾値記憶部1203には、ディザ閾値のうち処理対象ラインに相当する行の値を格納しておく。
・符号化部1207の一致カウンタを0に設定する。
・参照属性値記憶部1211の内容ははすべて非文字に設定する。
これらの初期値は以上のようにあらかじめ決められた値を使用するほか、圧縮画像データの一部として記録しておいてその内容に従って初期化を行うように構成することもできる。
入力端子1209より入力された符号データは符号分離部1208によって、差分符号と属性符号に分離される。
差分値復号部1209は以下の手順で差分値を得る。この差分値復号部1209は連続するディザ画像データと予測値が連続して一致した数を数える一致カウンタを備える。差分値復号部1209はライン終端の符号を検出するまで以下の処理を繰り返す。
・一致カウンタが0でない場合、一致カウンタをカウントダウンして差分値0を出力する。
・一致カウンタが0の場合、差分復号部は入力符号を読み取る。
ここで、入力符号が一致数を示す場合には差分値0を出力し符号が示す一致数から1減算した値を一致カウンタにセットする。また、入力符号が差分値を示す場合にはその差分値を出力する。
ライン終端の符号を検出した後は次のラインの処理に移るまで繰り返し差分値0を出力する。
以上の手順によって図10における符号化部1107の生成した圧縮画像データから差分値を得ることが可能となる。
属性値復号部1210は、属性符号から属性値を得るためのものである。属性値復号部1210によって選られた属性値は参照属性値記憶部1211に一時保存される。
ディザ画像データ復元部1207は予測値選択部1206が選択した予測値と差分復号部1209によって得られた差分値とを加算することでディザ画像データを復元する。ディザ画像データ復元部1207が最初の出力を得るまでの手順を以下に説明する。
参照画素値記憶部1201および参照属性値記憶部1211は初期化処理によって図10における参照画素値記憶部1101および参照属性値記憶部1105と同じ初期値に設定されている。
第2予測部1204は、図10における第2予測部1104と同じ方法で第2予測値を算出する。初期化処理によって参照画素値記憶部1201の内容はすべて所定値(実施形態では0)となるので、最初の第2予測値は“0”の画素値となる。
一方、第1予測部1202は、参照属性値記憶部1211の内容がすべて非文字属性のため第1予測値として既定値を出力する。
予測値選択部1206は図10における予測値選択部1106と同様である。文字属性の場合に第1予測値、非文字属性の場合に第2予測値を選択する。
これは予測値選択部1106の最初の予測値に等しいため、差分復号部1209によって得られた差分値からディザ画像データ画素値を復元することができる。
ディザ画像データ復元部1207によって得られた最初のディザ画像データ画素値は参照画素記憶部1201に記憶される。このように構成することで、参照画素記憶部1201の記憶内容は図10における参照画素記憶部1101と同じ内容になる。
また、参照属性値記憶部1211の内容をディザ画像データ画素値の出力と同期して更新することで、図10における参照属性値記憶部1105と同じ内容にすることが可能である。
よって、後続する画素に対する予測値も符号化処理時と同じ値を求めることが可能で、差分値からディザ画像データを復元することができる。
以上の結果、文字線画か非文字線画(中間調画像)かを示す属性を元に、それぞれの属性に応じて予測値を決めることで、写真画像等の階調画像、文字原稿画像のいずれか、或いは、混在した画像を入力した場合においても、それぞれの像域に応じた符号化を行うことが可能となり、先に説明した第3の実施形態と同様の作用効果を奏することが可能となる。特に、第5の実施形態の場合、復号装置側では、属性情報を含めて復号することができるので、例えばプリンタ等の画像形成装置に適用した場合、文字属性の画素、中間調の画素ぞれぞれに適した記録が行えることになり、優れた画質の印刷を行うことも可能になる。
なお、上記第5の実施形態でも予測値と注目画素値との差分を符号化する例を説明したが、第3、第4の実施形態で説明したように、符号化装置では、予測値と注目画素値が一致しているか否かを示す一致/不一致判定用の符号を先ず生成し、不一致の場合にのみ注目画素値の符号を、その一致/不一致判定用符号に後続するように生成する。これを受けた復号装置では、符号が一致することを示している場合には予測値を注目画素値として出力し、不一致を示す符号があった場合には後続する符号で示される値を注目画素値として出力しても構わない。これは、以下に説明する第6の実施形態でも同様である。
<第6の実施形態>
次に第6の実施形態を説明する。本第6の実施形態はコンピュータプログラムによって実現する例である。装置構成は、第4の実施形態で示した図9と同様であるものとし、その説明は省略する。
また、比較を容易にするため、本第6の実施形態では、第4の実施形態と同様、8×4画素ブロック単位で圧縮を行うこととする。従って、1ページを4ラインごとのバンドに区切り、さらに各バンドを左端から8画素づつ区切ったものがブロックとなる。また、ブロック内での処理順序は、位置が近い画素を続けて処理するよう考慮して図7に示す順番とする。垂直方向の相関も第1予測値に反映させるためである。そして、1ページの符号化は上から下へとバンドの順に行い、各バンド内では左から右へとブロックの順に行う。
以下、本第6の実施形態の符号化処理手順を図12のフローチャートに従って説明する。
ステップS1501の初期化処理では、一致数カウンタのクリアを行う。次のステップS1502では、処理対象画素の属性を判定する。これは、第1予測値を用いるか、第2予測値を用いるか判定するためである。
ステップS1503に処理が進んだ場合には、第1予測値を算出する。この第1予測値は処理対象画素を含まない過去の直近3画素の中央値とする。ブロックの初めでは直前のブロック(以下参照ブロック)の終わりの画素を使用することになる。各バンドで左端のブロックにおいては参照ブロックは存在しないので、すべて所定値(実施形態では0)の画素値を持つものとして扱う。
最近の高解像度の画像データでは、通常の文字の字画でも数画素ないし十数画素の幅を持っている。本第6の実施形態の第1予測値はこのような文字部分での簡易的な予測を狙ったものである。
一方、ステップS1504に進んだ場合には、第2予測値を算出する。この第2予測値は、参照ブロック内の、処理対象画素と同じ相対位置の画素値とする。
ステップS1505では、図7の順番に処理対象ディザ画素値(注目画素値)を読出し、その処理対象画素の属性応じて第1予測値値、第2予測値のいずれかとの差分を算出し、差分が0であるか否かを判定する。
差分が0、すなわち、注目画素値が予測値と一致した場合には、ステップS1506に進み、連続する差分値0を計数するための一致数カウンタのカウントアップする(“1”だけ増加させる)。
また、ステップS1505にて、差分が0以外であると判断した場合には、ステップS1507に進み、一致数カウンタを調べる。
ここで、一致数カウンタが0でない場合は、直前の画素およびそれ以前に連続する差分値0の画素は一致数カウントアップ(ステップS1506)で数えられているだけで出力符号に反映されていないことを意味する。従って、ステップS1508にて、差分0の連続数を示す符号を出力する。
ステップS1509では、処理対象画素(注目画素)と予測値との差分を示す符号を出力する。
そして、ステップS1510にて、ブロック終端判定、すなわち、ブロック内のすべての画素の処理が終わったか否かを判定する。否の場合には、ステップS1502以降の処理を繰り返す。
また、1つのブロックの処理が完了したと判断した場合には、ステップS1511に進み、ブロックの終端を示す符号を出力する。このブロック終端符号は、ブロックのある時点から以後、差分値0がブロック終端まで続いていることを示すためのものである。
なお、上記では、属性情報の符号化について説明しなかったが、先に説明したように公知のMMR等の符号化技術を用いて符号化が行われるものとしている。
次に、復号処理を図13のフローチャートに従って説明する。属性情報については公知の復号技術を使って復号するものとし、ここでは画像データの復号処理について説明することとする。
ステップS1601では、一致カウンタのクリア等の初期化処理を行う。次いで、ステップS1602にて、注目画素の属性を判定し、文字属性である場合にはステップS1603にて第1予測値を算出し、非文字属性である場合にはステップS1604にて第2予測値を算出する。このステップS1602〜1604の処理は、図12におけるステップS1502〜S1504と等価な処理である。
ステップS1605では、一致数カウンタの値が0か否かによって分岐を行う。一致カウンタの値が0でないということは、復号対象の画素(注目画素)が、それ以前の画素から差分値0の連続区間に含まれていることを意味する。従って、ステップS1606にて、一致数カウンタのカウントダウンを行い、連続する差分値0のうちひとつが処理対象画素の差分値として使われたことにする。
また、一致カウンタが0である場合には、ステップS1607に進む。ここでは、1語の符号を読み取り、その内容によって後続する処理を切り替える。
ステップS1608の差分値設定処理は、ステップS1607で差分値符号を読み取った場合の処理であり、読み取った符号に従った値を処理対象画素の差分値として使用するように設定する。
ステップS1609の処理は、読取った符号が一致数符号の場合の処理であり、符号の示す連続する差分0の数から1を減じた値を一致数カウンタに設定する。1を減じるのは符号が示す数に処理対象画素も含まれているためである。
また、ステップS1610の終端符号設定処理は、読取った符号がブロックの終端符号であった場合の処理であり、ブロック内の総画素数の値を一致数カウンタに設定する。こうすることで、以後はブロック内の各画素の処理で符号読み取り(ステップS1607)には到達せず、また、ブロック内の残る画素の処理で差分値0を使用するようになる。
ステップS1611では、差分符号を読み取った場合を除くすべての場合において、処理対象画素の差分値を0に設定するためのものである。
ステップS1612は、第1予測値算出処理(ステップS1603)、あるいは、第2予測値算出処理(ステップS1604)で設定された予測値と、差分値設定処理(ステップS1608)、あるいは、差分0設定処理(ステップS1611)で設定された差分値との加算を行い、ディザ画素値を復元するためのものである。
そして、ステップS1613では、ブロック内の画素すべての処理が終了したかどうかを判定する。否の場合には、ステップS1602以降の処理を繰り返すことになる。
以上説明した通り、本第5、第6の実施形態においても、比較的簡単な方法で、ディザ画像データに対する圧縮・伸長が可能となる。特に、従来苦手としていた縦縞部分あるいは文字部分に対して高い効果が期待できる。
なお、上記第3乃至第6の実施形態では、モノクロ256階調の画像データを、周期的に変化する閾値を用いて4値化した画像を符号化するものとしたが、モノクロに限らずカラー画像に適用してもよい。カラーに適用する場合には、各色成分について同様の処理を行えば良いからである。また、符号化対象は4値化画像のみに限定されるものではなく、一般に利用可能性の高い2値化画像をはじめ、如何なる階調数の画像でも構わない。
更に、実施形態で説明したように、本発明は、コンピュータプログラムをもその範疇とする。そして、一般にコンピュータプログラムがCDROM等のコンピュータ可読記憶媒体をコンピュータにセットして、システムにコピーもしくはインストールすることで実行可能となるわけであるから、当然、そのようなコンピュータ可読記憶媒体も本発明の範疇に含まれるのは明らかである。
<第7の実施形態>
本第7の実施形態は、上述した第3の実施形態(即ち、閾値の変化周期と等しい縦縞画像データに対しても良好な圧縮を実現するために、閾値の周期を利用した予測と注目画素の近傍画素値による予測との2種類の予測を適応的に選択する場合)における第1予測部102による第1予測に、第2の実施形態に相当する技術を利用するものである。よって必要に応じて、第2、第3の実施形態を参照されたい。
この場合、第2の実施形態で説明した場合と同様、ディザ閾値はパラメータθ,ω,dを決め、入力画像データの階調数n・画素位置(x,y)から以下の式(式1−1,式1−2,式2,式3)により閾値tを算出する。これは、図37のように周期1/ωの格子を角度θだけ回転させたものに相当する。
x' = x cosθ - y sinθ ...(式1-1)
y' = x sinθ + y cosθ ...(式1-2)
a = sin(2πωx') + sin(2πωy') ...(式2)
t = (a+2)×(n - 2d - 3) / 4 + d + 3/2 ...(式3)
実際には、sinθ、cosθは有限ビット長で表現し、また、閾値tは最終的に小数部を切り捨て整数として算出するものとする。すると、閾値tはd+1以上n−d−2以下の整数となる。
閾値比較部は、入力画素値pと閾値tを比較して、出力画素値rを求める。このとき、p<t−dならばr=0とし、p>t+dならばr=2とし、どちらにも該当しなければr=1とする。
第1予測手段(第1予測部102に相当)は第2の実施形態における予測値計算部2502と同様の構成になる。
第2予測手段(第2予測部104に相当)については、閾値の周期が一般には整数とはならない。有限ビット長の演算なのでいずれ循環するが、その周期が非常に長くなり実用的でない場合もある。このため、必要ならば以下のように近似する。
上記閾値は、水平方向にcosθ/ωかつ垂直方向にsinθ/ω、もしくは、水平方向に−sinθ/ωかつ垂直方向にcosθ/ωだけ離れた画素と同一となる。
そこで、m,nを整数としたときに、以下のΔx、Δyが整数に近くなるような既処理画素を選び、当該画素値を第2予測値とする。
Δx = (m・cosθ - n・sinθ)/ω
Δy = (m・sinθ + n・cosθ)/ω
既処理画素は図24(a)の画素順で処理を行うとすれば、以下の条件となる。
Δy < 0 もしくは
Δy =0 且つ、Δx<0
以上のように第2予測値を求めることで第3乃至第6の各実施形態と同様に本発明を適用することが可能となる。
以上本発明に係る実施形態を説明したが、本発明はパーソナルコンピュータ等の汎用情報処理装置でも実行できるものであるから、当然、本発明はコンピュータプログラムをもその範疇とすることができる。また、通常、コンピュータでプログラムを実行可能とするためには、該当するコンピュータプログラムを格納したCD−ROMのコンピュータ可読記憶媒体をコンピュータにセットし、システムにコピーもしくはインストールすることで行われるから、このようなコンピュータ可読記憶媒体も本発明の範疇に含まれるのは明らかである。
第3の実施形態における画像符号化装置のブロック構成図である。 第3の実施形態における画像復号装置のブロック構成図である。 実施形態におけるディザマトリクスの例を示す図である。 実施形態における第1予測値の算出条件を示す図である。 第4の実施形態における画像符号化装置の処理手順を示すフローチャートである。 第4の実施形態における画像復号装置の処理手順を示すフローチャートである。 第4の実施形態におけるブロック内の画素処理順序を示す図である。 第3の実施形態における連続性判定部105のブロック構成図である。 第4の実施形態における装置のブロック構成図である。 第5の実施形態における画像符号化装置のブロック構成図である。 第5の実施形態における画像符号化装置のブロック構成図である。 第6の実施形態における画像符号化装置の処理手順を示すフローチャートである。 第6の実施形態における画像復号装置の処理手順を示すフローチャートである。 第1実施形態の画像符号化装置のブロック構成図である。 第1の実施形態におけるディザマトリクスの閾値を示す図である。 入力多値画像の画像データの例を示す図である。 2値化処理後の2値画像データを示す図である。 図14における閾値比較部が出力する出力画素値と閾値の対を示す図である。 第1の実施形態における予測値を求める条件テーブルを示す図である。 図1における予測値計算部が出力する予測値を示すデータである。 図17と図20の差分データを示す図である。 第1の実施形態における画像復号装置のブロック構成図である。 第1の実施形態での符号化処理をコンピュータプログラムで行う場合の差分データ生成処理手順を示すフローチャートである。 スキャンする方向の例を示す図である。 第2実施形態の画像符号化装置のブロック構成図である。 第2の実施形態における属性および閾値と濃度クラスの関係を示す図である。 第2の実施形態における参照画素選択における優先順位を示す図である。 第2の実施形態における文字属性の入力画素値と出力画素値の関係を示す図である。 第2の実施形態における文字属性の入力値と出力値の例を示す図である。 第2の実施形態における文字属性の画素についての予測値を示す図である。 第2の実施形態における画像属性の入力画素値と出力画素値の関係を示す図である。 第2の実施形態における画像属性の画素についての予測値を示す図である。 第2の実施形態における予測値および差分値と中間符号の関係を示す図である。 第2の実施形態における中間符号と出力符号の関係を示す図である。 第2の実施形態における二つの出力符号を組み合わせた符号の例を示す図である。 相関度演算手段の参照する画素の位置を説明する図である。 第7の実施形態における閾値の周期性を説明する図である。 第3の実施形態における4値化するディザ変換回路の構成を示す図である。

Claims (42)

  1. 所定周期で変化する閾値を用い、多値画像データの1画素当たりの階調数をより少ない階調数に量子化した画像データを符号化する画像符号化装置であって、
    前記所定周期未満の距離にある近傍画素を参照して、注目画素の予測値を求める第1の予測手段と、
    注目画素から前記所定周期の整数倍だけ隔てた画素の値を、注目画素の予測値として求める第2の予測手段と、
    注目画素の前記所定周期未満の距離にある所定数の近傍画素群と、前記近傍画素群に対して前記所定周期だけ隔てた同位相の画素群との相関度を求める相関度演算手段と、
    該相関度演算手段により求めた相関度が所定閾値以上の場合には、前記第2の予測手段による予測値を選択し、前記相関度が前記所定閾値未満である場合には前記第1の予測手段による予測値を選択する選択手段と、
    選択した予測値と前記注目画素の値とに基づいて、該注目画素の値を符号化する符号化手段と
    を備えることを特徴とする画像符号化装置。
  2. 前記第1の予測手段は、注目画素の直前の画素値、及び、注目画素を量子化する際に用いた閾値、直前の画素を量子化する際に用いた閾値に基づいて予測値を求めることを特徴とする請求項1に記載の画像符号化装置。
  3. 前記第1の予測手段は、前記注目画素位置の直前からn個前までの近傍画素群の量子化値が同じである場合にはその値を注目画素の予測値とし、前記注目画素位置の直前からn個前までの近傍画素群の量子化値に不一致なものがある場合には、注目画素の量子化閾値と、注目画素の直前画素の量子化閾値の大小判定に基づいて予測値を決定することを特徴とする請求項1に記載の画像符号化装置。
  4. 前記第1の予測手段は、前記注目画素の近傍の画素群の画素値と各画素の濃度クラスに基づいて、該注目画素の予測値を決定することを特徴とする請求項1に記載の画像符号化装置。
  5. 前記量子化は、各入力画素に対応した属性情報に応じて量子化閾値を切り替えることを特徴とする請求項1に記載の画像符号化装置。
  6. 前記相関度演算手段は、
    注目画素をD0、注目画素の前記所定周期未満の距離にある所定数をnと定義した際の近傍画素群をD-1,D-2,…D-n、前記所定周期をpと定義した際の前記同位相の画素群をD-p-1,D-p-2,…、D-p-nと表わした場合、
    D-1とD-p-1、
    D-2とD-p-2、

    D-nとD-p-n
    の各組の一致数を、相関度として算出することを特徴とする請求項1乃至5のいずれか1つ記載の画像符号化装置。
  7. 前記符号化手段は、前記予測値と前記注目画素の値との差分に基づいて、該注目画素の値を符号化することを特徴とする請求項1乃至6のいずれか1項に記載の画像符号化装置。
  8. 前記符号化手段は、前記予測値と前記注目画素の値とが一致したか不一致であるかを示す符号と、不一致の場合には後続して注目画素の値を示す符号を生成することを特徴とする請求項1乃至6のいずれか1項に記載の画像符号化装置。
  9. 所定周期で変化する閾値を用い、多値画像データの1画素当たりの階調数をより少ない階調数に量子化した画像データの符号データを復号する画像復号装置であって、
    前記所定周期未満の距離にある既復号の近傍画素を参照して、注目画素の予測値を求める第1の予測手段と、
    注目画素から前記所定周期の整数倍だけ隔てた既復号の画素の値を、注目画素の予測値として求める第2の予測手段と、
    注目画素の前記所定周期未満の距離にある所定数の既復号の近傍画素群と、前記近傍画素群に対して前記所定周期だけ隔てた同位相の既復号の画素群との相関度を求める相関度演算手段と、
    該相関度演算手段により求めた相関度が所定閾値以上の場合には、前記第2の予測手段による予測値を選択し、前記相関度が前記所定閾値未満である場合には前記第1の予測手段による予測値を選択する選択手段と、
    選択した予測値と符号に基づいて、前記注目画素を表わす復号値を出力する復号手段と を備えることを特徴とする画像復号装置。
  10. 前記復号手段は、前記予測値と前記符号で示される差分値とを加算することで、前記注目画素を表わす復号値を出力することを特徴とする請求項9に記載の画像復号装置。
  11. 前記復号手段は、前記符号が、画素値と予測値が一致することを示す符号であった場合には予測値を注目画素を表わす復号値として出力し、不一致を示す符号があった場合には後続する符号に対応する値を注目画素を表わす復号値として出力することを特徴とする請求項9に記載の画像復号装置。
  12. 所定周期で変化する閾値を用い、多値画像データの1画素当たりの階調数をより少ない階調数に量子化した画像データを符号化する画像符号化装置の制御方法であって、
    前記所定周期未満の距離にある近傍画素を参照して、注目画素の予測値を求める第1の予測工程と、
    注目画素から前記所定周期の整数倍だけ隔てた画素の値を、注目画素の予測値として求める第2の予測工程と、
    注目画素の前記所定周期未満の距離にある所定数の近傍画素群と、前記近傍画素群に対して前記所定周期だけ隔てた同位相の画素群との相関度を求める相関度演算工程と、
    該相関度演算工程により求めた相関度が所定閾値以上の場合には、前記第2の予測工程による予測値を選択し、前記相関度が前記所定閾値未満である場合には前記第1の予測工程による予測値を選択する選択工程と、
    選択した予測値と前記注目画素の値とに基づいて、該注目画素の値を符号化する符号化工程と
    を備えることを特徴とする画像符号化装置の制御方法。
  13. 所定周期で変化する閾値を用い、多値画像データの1画素当たりの階調数をより少ない階調数に量子化した画像データの符号データを復号する画像復号装置の制御方法であって、
    前記所定周期未満の距離にある既復号の近傍画素を参照して、注目画素の予測値を求める第1の予測工程と、
    注目画素から前記所定周期の整数倍だけ隔てた既復号の画素の値を、注目画素の予測値として求める第2の予測工程と、
    注目画素の前記所定周期未満の距離にある所定数の既復号の近傍画素群と、前記近傍画素群に対して前記所定周期だけ隔てた同位相の既復号の画素群との相関度を求める相関度演算工程と、
    該相関度演算工程により求めた相関度が所定閾値以上の場合には、前記第2の予測工程による予測値を選択し、前記相関度が前記所定閾値未満である場合には前記第1の予測工程による予測値を選択する選択工程と、
    選択した予測値と符号に基づいて、前記注目画素を表わす復号値を出力する復号工程と を備えることを特徴とする画像復号装置の制御方法。
  14. 請求項12又は13の制御方法の各工程の処理をコンピュータに実行させるためのコンピュータプログラム。
  15. 請求項14に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
  16. 所定周期で変化する閾値を用い、多値画像データの1画素当たりの階調数をより少ない階調数に量子化した画像データを、各画素毎の文字線画領域/非文字線画領域のいずれであるかを示す属性データを用いて符号化する画像符号化装置であって、
    前記所定周期未満の距離にある近傍画素を参照して、注目画素の予測値を求める第1の予測手段と、
    注目画素から前記所定周期の整数倍だけ隔てた画素の値を、注目画素の予測値として求める第2の予測手段と、
    注目画素の属性データが文字線画領域を示す場合には前記第1の予測手段による予測値を選択し、注目画素の属性データが非文字線画領域を示す場合には前記第2の予測手段による予測値を選択する選択手段と、
    選択した予測値と注目画素の値とに基づいて、該注目画素の値を符号化する符号化手段と
    を備えることを特徴とする画像符号化装置。
  17. 前記第1の予測手段は、
    注目画素から前記所定周期未満の距離にある近傍画素群中の、前記注目画素に最も近い位置にある文字線画領域の属性データを持った画素値を探索する探索手段と、
    該探索手段で探索に成功した場合には、当該探索した画素値を予測値として決定し、探索に失敗した場合には所定値を予測値として決定する手段と
    を含むことを特徴とする請求項16に記載の画像符号化装置。
  18. 前記第1の予測手段は、注目画素から前記所定周期未満の距離にある近傍画素群の中央値を予測値として求めることを特徴とする請求項16又は17に記載の画像符号化装置。
  19. 前記符号化手段は、前記予測値と前記注目画素の値との差分に基づいて符号を生成することを特徴とする請求項16乃至18のいずれか1項に記載の画像符号化装置。
  20. 前記符号化手段は、前記予測値と前記注目画素の値とが一致したか不一致であるかを示す符号と、不一致の場合には後続して注目画素値を示す符号を生成することを特徴とする請求項16乃至18のいずれか1項に記載の画像符号化装置。
  21. 更に、前記属性データを符号化する属性データ符号化手段と、
    該属性データ符号化手段による符号化データと前記画像符号化手段による符号化データを合成する合成手段と
    を備えることを特徴とする請求項16乃至20のいずれか1項に記載の画像符号化装置。
  22. 所定周期で変化する閾値を用い、多値画像データの1画素当たりの階調数をより少ない階調数に量子化した画像データが、各画素毎の文字線画領域/非文字線画領域のいずれであるかを示す属性データを用いて符号化された符号データを復号する画像復号装置であって、
    前記所定周期未満の距離にある既復号の近傍画素を参照して、注目画素の予測値を求める第1の予測手段と、
    注目画素から前記所定周期の整数倍だけ隔てた既復号の画素の値を、注目画素の予測値として求める第2の予測手段と、
    注目画素の属性データが文字線画領域を示す場合には前記第1の予測手段による予測値を選択し、注目画素の属性データが非文字線画領域を示す場合には前記第2の予測手段による予測値を選択する選択手段と、
    選択した予測値と符号に基づいて、前記注目画素を表わす復号値を出力する復号手段と を備えることを特徴とする画像復号装置。
  23. 所定周期で変化する閾値を用い、多値画像データの1画素当たりの階調数をより少ない階調数に量子化した画像データを、各画素毎の文字線画領域/非文字線画領域のいずれであるかを示す属性データを用いて符号化する画像符号化装置の制御方法であって、
    前記所定周期未満の距離にある近傍画素を参照して、注目画素の予測値を求める第1の予測工程と、
    注目画素から前記所定周期の整数倍だけ隔てた画素の値を、注目画素の予測値として求める第2の予測工程と、
    注目画素の属性データが文字線画領域を示す場合には前記第1の予測工程による予測値を選択し、注目画素の属性データが非文字線画領域を示す場合には前記第2の予測工程による予測値を選択する選択工程と、
    選択した予測値と注目画素の値とに基づいて、該注目画素の値を符号化する符号化工程と
    を備えることを特徴とする画像符号化装置の制御方法。
  24. 所定周期で変化する閾値を用い、多値画像データの1画素当たりの階調数をより少ない階調数に量子化した画像データが、各画素毎の文字線画領域/非文字線画領域のいずれであるかを示す属性データを用いて符号化された符号データを復号する画像復号装置の制御方法であって、
    前記所定周期未満の距離にある既復号の近傍画素を参照して、注目画素の予測値を求める第1の予測工程と、
    注目画素から前記所定周期の整数倍だけ隔てた既復号の画素の値を、注目画素の予測値として求める第2の予測工程と、
    注目画素の属性データが文字線画領域を示す場合には前記第1の予測工程による予測値を選択し、注目画素の属性データが非文字線画領域を示す場合には前記第2の予測工程による予測値を選択する選択工程と、
    選択した予測値と符号に基づいて、前記注目画素を表わす復号値を求める復号工程と
    を備えることを特徴とする画像復号装置の制御方法。
  25. 請求項23又は24の制御方法の各工程の処理をコンピュータに実行させるためのコンピュータプログラム。
  26. 請求項25に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
  27. 所定周期で変化する閾値を用い、多値画像データの1画素当たりの階調数をより少ない階調数に量子化した画像データを符号化する画像符号化装置であって、
    前記所定周期未満の距離にある1個以上の近傍画素の量子化値と、前記近傍画素の量子化閾値と、注目画素の量子化閾値を参照して、当該注目画素の予測値を求める予測値演算手段と、
    当該予測値と前記注目画素の値とに基づいて、該注目画素の値を符号化する符号化手段と
    を備えることを特徴とする画像符号化装置。
  28. 前記予測値演算手段は、
    注目画素位置の直前からn個前までの近傍画素群の量子化値が同じである場合、その値を注目画素の予測値とし、
    注目画素位置の直前からn個前までの近傍画素群の量子化値に不一致がある場合、注目画素の量子化閾値と、注目画素の直前画素の量子化閾値の大小判定に基づいて予測値を決定する
    ことを特徴とする請求項27に記載の画像符号化装置。
  29. 前記量子化処理は、ディザ閾値を有するディザマトリクスを利用した2値化手段であることを特徴とする請求項27または28に記載の画像符号化装置。
  30. 前記量子化処理は、各入力画素に対応した属性情報に応じて量子化閾値を切り替えることを特徴とする請求項27乃至29のいずれか1つに記載の画像符号化装置。
  31. 所定周期で変化する閾値を用い、多値画像データの1画素当たりの階調数をより少ない階調数に量子化した画像データを符号化する画像符号化装置の制御方法であって、
    注目多値画素値と当該注目画素用の量子化閾値と比較することで注目画素の量子化値を求める量子化処理工程と、
    注目画素位置の直前からn個前までの量子化値、及び、注目画素の量子化処理で使用する量子化閾値と、注目画素の直前画素の量子化閾値に基づいて、注目画素の量子化値の予測値を演算する予測値演算工程と、
    前記量子化処理工程で処理された注目画素の量子化値が、前記予測演算工程で求めた注目画素位置の予測値に一致するか否かを示す予測誤差データを生成する予測誤差生成工程とを備え、
    該予測誤差生成工程で生成された予測誤差データを符号化対象データとすることを特徴とする画像符号化装置の制御方法。
  32. 多値画像データを量子化処理し、当該量子化処理した結果を圧縮符号化する画像処理装置として機能するコンピュータプログラムであって
    注目多値画素値と当該注目画素用の量子化閾値と比較することで注目画素の量子化値を求める量子化処理手段と、
    注目画素位置の直前からn個前までの量子化値、及び、注目画素の量子化処理で使用する量子化閾値と、注目画素の直前画素の量子化閾値に基づいて、注目画素の量子化値の予測値を演算する予測値演算手段と、
    前記量子化処理手段で処理された注目画素の量子化値が、前記予測演算手段で求めた注目画素位置の予測値に一致するか否かを示す予測誤差データを生成する予測誤差生成手段として機能し、
    該予測誤差生成手段で生成された予測誤差データを符号化対象データとする
    ことを特徴とするコンピュータプログラム。
  33. 請求項32に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
  34. 請求項27の装置で圧縮符号化された画像データを復号する画像処理装置であって、
    量子化処理後のデータが予測値に一致するか否かを示す予測誤差データにまで復号する復号手段と、
    注目画素位置の直前からn個前までの量子化値、及び、注目画素の量子化処理で使用する量子化閾値と、注目画素の直前画素の量子化閾値に基づいて、注目画素の量子化値の予測値を演算する予測値演算手段と、
    前記復号手段で得られた注目画素の予測誤差データと、前器予測演算手段で得られた注目画素の予測値とが一致するか否かを判断する判断手段と、
    該判断手段の判断結果に基づいて、注目画素の量子化値を生成する生成手段と
    を備えることを特徴とする画像処理装置。
  35. 請求項27の装置で圧縮符号化された画像データを復号する画像処理装置の制御方法であって、
    量子化値が予測値に一致するか否かを示す予測誤差データにまで復号する復号工程と、
    注目画素位置の直前からn個前までの量子化値、及び、注目画素の量子化処理で使用する量子化閾値と、注目画素の直前画素の量子化閾値に基づいて、注目画素の量子化値を演算する予測値演算工程と、
    前記復号工程で得られた注目画素の予測誤差データと、前器予測演算工程で得られた注目画素の予測値とが一致するか否かを判断する判断工程と、
    該判断工程の判断結果に基づいて、注目画素の量子化値を生成する生成工程と
    を備えることを特徴とする画像処理装置の制御方法。
  36. 請求項27の装置で圧縮符号化された画像データを復号する画像処理装置として機能するコンピュータプログラムであって、
    量子化値が予測値に一致するか否かを示す予測誤差データにまで復号する復号手段と、
    注目画素位置の直前からn個前までの量子化値、及び、注目画素の量子化処理で使用する量子化閾値と、注目画素の直前画素の量子化閾値に基づいて、注目画素の量子化値の予測値を演算する予測値演算手段と、
    前記復号手段で得られた注目画素の予測誤差データと、前器予測演算手段で得られた注目画素の予測値とが一致するか否かを判断する判断手段と、
    該判断手段の判断結果に基づいて、注目画素の量子化値を生成する生成手段
    として機能することを特徴とするコンピュータプログラム。
  37. 請求項36に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
  38. 既知の階調変換処理を施された入力画像データを符号化処理する画像処理装置であって、
    各入力画素に対応した濃度クラスを与える濃度クラス付与手段と、
    符号化対象の画素に対する予測値を、当該画素の近傍の画素群の画素値と各画素の濃度クラスを用いて求める予測値計算手段と、
    当該画素の画素値と当該画素の予測値との差分に応じた符号を出力する符号化手段とを備え、
    前記符号化手段により前記画像の符号化データを生成することを特徴とする画像処理装置。
  39. 前記閾値および前記予測値は、各入力画素に対応した属性情報に応じて決定されることを特徴とする請求項38に記載の画像処理装置。
  40. 既知の階調変換処理を施された入力画像データを符号化処理する画像処理装置の制御方法であって、
    各入力画素に対応した濃度クラスを与える濃度クラス付与工程と、
    符号化対象の画素に対する予測値を、当該画素の近傍の画素群の画素値と各画素の濃度クラスを用いて求める予測値計算工程と、
    当該画素の画素値と当該画素の予測値との差分に応じた符号を出力する符号化工程とを備え、
    前記符号化工程により前記画像の符号化データを生成する
    ことを特徴とする画像処理装置の制御方法。
  41. 既知の階調変換処理を施された入力画像データを符号化処理する画像処理装置として機能するコンピュータプログラムであって、
    各入力画素に対応した濃度クラスを与える濃度クラス付与手段と、
    符号化対象の画素に対する予測値を、当該画素の近傍の画素群の画素値と各画素の濃度クラスを用いて求める予測値計算手段と、
    当該画素の画素値と当該画素の予測値との差分に応じた符号を出力する符号化手段として機能し、
    前記符号化手段により前記画像の符号化データを生成する
    ことを特徴とするコンピュータプログラム。
  42. 請求項41に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
JP2004257423A 2003-11-27 2004-09-03 画像符号化装置及び画像処理装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 Expired - Fee Related JP4522199B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004257423A JP4522199B2 (ja) 2003-11-27 2004-09-03 画像符号化装置及び画像処理装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
US10/992,760 US7561744B2 (en) 2003-11-27 2004-11-22 Image encoding apparatus, image decoding apparatus, and their control method, and computer program and computer-readable storage medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003397824 2003-11-27
JP2004114361 2004-04-08
JP2004257423A JP4522199B2 (ja) 2003-11-27 2004-09-03 画像符号化装置及び画像処理装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体

Publications (2)

Publication Number Publication Date
JP2005323326A true JP2005323326A (ja) 2005-11-17
JP4522199B2 JP4522199B2 (ja) 2010-08-11

Family

ID=34743464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004257423A Expired - Fee Related JP4522199B2 (ja) 2003-11-27 2004-09-03 画像符号化装置及び画像処理装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体

Country Status (2)

Country Link
US (1) US7561744B2 (ja)
JP (1) JP4522199B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310630A (ja) * 2007-06-15 2008-12-25 Hitachi Ltd センサノード及びセンサネットワークシステム
JP2009017446A (ja) * 2007-07-09 2009-01-22 Nec Access Technica Ltd 画像処理装置、画像処理方法、および画像処理用プログラム
JP2011023817A (ja) * 2009-07-13 2011-02-03 Fujitsu Ltd 画像符号化装置
JP2011044802A (ja) * 2009-08-19 2011-03-03 Fujitsu Ltd 予測符号化装置、予測符号化方法及び予測符号化プログラム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3842803B2 (ja) * 2002-04-26 2006-11-08 株式会社エヌ・ティ・ティ・ドコモ 信号符号化方法、信号復号方法、信号符号化装置、信号復号装置、信号符号化プログラム、及び信号復号プログラム
FR2893810B1 (fr) * 2005-11-23 2008-02-01 Ercom Engineering Reseaux Comm Procede de test de reseau de communication par l'intermediaire d'un terminal
TW201011699A (en) * 2008-09-12 2010-03-16 Univ Nat Taiwan Science Tech Image compression method using block truncation coding
US20110063306A1 (en) 2009-09-16 2011-03-17 Nvidia Corporation CO-PROCESSING TECHNIQUES ON HETEROGENEOUS GPUs INCLUDING IDENTIFYING ONE GPU AS A NON-GRAPHICS DEVICE
US8848779B2 (en) * 2010-07-15 2014-09-30 Sharp Laboratories Of America, Inc. Method of parallel video coding based on block size
US9171350B2 (en) 2010-10-28 2015-10-27 Nvidia Corporation Adaptive resolution DGPU rendering to provide constant framerate with free IGPU scale up
EP2451083A1 (en) * 2010-11-09 2012-05-09 Océ-Technologies B.V. Method for compressing and decompressing digital data
US10218988B2 (en) 2011-02-23 2019-02-26 Nvidia Corporation Method and system for interpolating base and delta values of associated tiles in an image
JP2013239904A (ja) * 2012-05-15 2013-11-28 Sony Corp 画像処理装置と画像処理方法およびプログラム
US9384410B2 (en) 2012-05-21 2016-07-05 Nvidia Corporation Method and system for image compression while encoding at least one extra bit
US9819969B2 (en) 2013-11-26 2017-11-14 Nvidia Corporation Generalization of methods and systems for image compression while encoding at least one extra bit
RU2573770C2 (ru) * 2014-06-17 2016-01-27 Федеральное государственное бюджетное образовательное учреждение высшего образования "Вятский государственный университет" (ВятГУ) Способ сжатия изображений
EP3754962B1 (en) * 2014-07-01 2022-12-21 Canon Kabushiki Kaisha Image processing apparatus, image processing method, printing medium and storage medium
CN105389776B (zh) 2014-09-02 2019-05-03 辉达公司 图像缩放技术
US9716889B2 (en) * 2014-12-09 2017-07-25 Sony Corporation Intra and inter-color prediction for Bayer image coding
US9800760B1 (en) * 2016-09-30 2017-10-24 Kyocera Document Solutions Inc. Fast drawing of unrotated delta row encoded images
US11941678B1 (en) * 2022-12-16 2024-03-26 Google Llc Search with machine-learned model-generated queries

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05316370A (ja) * 1992-05-14 1993-11-26 Fuji Xerox Co Ltd データ圧縮装置
JPH09200542A (ja) * 1996-01-18 1997-07-31 Fuji Xerox Co Ltd 予測符号化装置、復号装置、予測符号化方法、および、画像処理装置
JPH11234683A (ja) * 1998-02-12 1999-08-27 Fuji Xerox Co Ltd 画像符号化方法および装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2694826B2 (ja) 1985-01-31 1997-12-24 キヤノン株式会社 画像処理システム
US5007102A (en) * 1986-03-20 1991-04-09 At&T Bell Laboratories Data compression using block list transform
US5151949A (en) * 1990-10-10 1992-09-29 Fuji Xerox Co., Ltd. System and method employing multiple predictor sets to compress image data having different portions
JP3281391B2 (ja) 1991-08-23 2002-05-13 キヤノン株式会社 フルカラー画像再生装置及びフルカラー画像再生方法
US5883976A (en) * 1994-12-28 1999-03-16 Canon Kabushiki Kaisha Selectively utilizing multiple encoding methods
JPH08223428A (ja) 1995-02-10 1996-08-30 Fuji Xerox Co Ltd 画像データ圧縮装置および画像データ伸長装置
US5731840A (en) * 1995-03-10 1998-03-24 Kabushiki Kaisha Toshiba Video coding/decoding apparatus which transmits different accuracy prediction levels
TW366669B (en) * 1996-10-30 1999-08-11 Matsushita Electric Ind Co Ltd Picture encoding device and picture encoding method, picture decoding device and picture decoding method, and data recording media
JPH10336682A (ja) * 1997-04-02 1998-12-18 Canon Inc 符号化装置及び方法及び方法を記憶した記憶媒体
JP3381827B2 (ja) * 1997-06-04 2003-03-04 富士ゼロックス株式会社 カラー画像符号化装置およびカラー画像復号装置
JP2001257892A (ja) * 2000-03-14 2001-09-21 Fuji Xerox Co Ltd 画像符号化装置および画像符号化方法
US7221483B2 (en) * 2000-09-05 2007-05-22 Ricoh Company, Ltd. Image encoding method and apparatus, image decoding method and apparatus, image processing apparatus, image formation apparatus, and computer-executable programs
JP2003174561A (ja) 2001-12-06 2003-06-20 Canon Inc 画像処理装置、画像処理方法、プログラム、及び記憶媒体
EP1318665B1 (en) * 2001-12-06 2015-02-25 Canon Kabushiki Kaisha Image processing apparatus and method, program, and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05316370A (ja) * 1992-05-14 1993-11-26 Fuji Xerox Co Ltd データ圧縮装置
JPH09200542A (ja) * 1996-01-18 1997-07-31 Fuji Xerox Co Ltd 予測符号化装置、復号装置、予測符号化方法、および、画像処理装置
JPH11234683A (ja) * 1998-02-12 1999-08-27 Fuji Xerox Co Ltd 画像符号化方法および装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310630A (ja) * 2007-06-15 2008-12-25 Hitachi Ltd センサノード及びセンサネットワークシステム
US8330596B2 (en) 2007-06-15 2012-12-11 Hitachi, Ltd. Sensor node and sensor network system
JP2009017446A (ja) * 2007-07-09 2009-01-22 Nec Access Technica Ltd 画像処理装置、画像処理方法、および画像処理用プログラム
JP2011023817A (ja) * 2009-07-13 2011-02-03 Fujitsu Ltd 画像符号化装置
JP2011044802A (ja) * 2009-08-19 2011-03-03 Fujitsu Ltd 予測符号化装置、予測符号化方法及び予測符号化プログラム

Also Published As

Publication number Publication date
JP4522199B2 (ja) 2010-08-11
US20050152610A1 (en) 2005-07-14
US7561744B2 (en) 2009-07-14

Similar Documents

Publication Publication Date Title
JP4522199B2 (ja) 画像符号化装置及び画像処理装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP4418762B2 (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US8238437B2 (en) Image encoding apparatus, image decoding apparatus, and control method therefor
US7650039B2 (en) Image encoding apparatus, image decoding apparatus, control method therefor, computer program, and computer-readable storage medium
US8213727B2 (en) Image encoding apparatus and image decoding apparatus, and control method thereof
US20070217703A1 (en) Image encoding apparatus, image decoding apparatus and control method therefor
JPS6318777A (ja) デイザ信号の符号復号処理方法
US20060262982A1 (en) Image encoding apparatus and method, computer program, and computer-readable storage medium
JP2007306513A (ja) 画像データの圧縮方法および装置
AU2002230101A2 (en) Moving picture information compressing method and its system
JP2006100977A (ja) プリントシステムおよびプリンタ
JPH09186883A (ja) 多値画像符号化装置
WO2000018133A1 (en) Encoding device and method, and decoding device and method
JPH0937262A (ja) 画像処理装置及び方法
JP5086777B2 (ja) 画像符号化装置及びその制御方法、コンピュータプログラム並びにコンピュータ可読記憶媒体
JP3263218B2 (ja) 画情報データ圧縮再生装置
JP4971881B2 (ja) 画像符号化装置及び画像復号装置、並びにそれらの制御方法
JP3259989B2 (ja) 2値と多値の混在符号化画像データ復元方法および装置
KR100495001B1 (ko) 이미지 압축 부호화 방법 및 시스템
JPH11272843A (ja) カラー画像の符号化装置およびその方法並びにカラー画像の復号化装置およびその方法
JP3295507B2 (ja) 二値画像符号化復号化方法
JP4529681B2 (ja) 画像データの圧縮方法および装置
JPH07162689A (ja) 画像符号化装置
JPH099065A (ja) 画像デ−タの圧縮符号化方法および復号化方法
JP2009005016A (ja) 画像符号化装置及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070719

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100319

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100419

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100517

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100525

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4522199

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130604

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees