JP2007300601A - 画像データの圧縮方法およびその装置 - Google Patents
画像データの圧縮方法およびその装置 Download PDFInfo
- Publication number
- JP2007300601A JP2007300601A JP2007031892A JP2007031892A JP2007300601A JP 2007300601 A JP2007300601 A JP 2007300601A JP 2007031892 A JP2007031892 A JP 2007031892A JP 2007031892 A JP2007031892 A JP 2007031892A JP 2007300601 A JP2007300601 A JP 2007300601A
- Authority
- JP
- Japan
- Prior art keywords
- data
- value
- image data
- thinning
- area
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 212
- 238000007906 compression Methods 0.000 title abstract description 72
- 230000006835 compression Effects 0.000 title abstract description 63
- 230000008569 process Effects 0.000 claims abstract description 168
- 238000013144 data compression Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims 3
- 230000006866 deterioration Effects 0.000 abstract description 8
- 238000005192 partition Methods 0.000 description 101
- 238000013139 quantization Methods 0.000 description 37
- 238000010586 diagram Methods 0.000 description 21
- 238000013500 data storage Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 125000004122 cyclic group Chemical group 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000006837 decompression Effects 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 210000000744 eyelid Anatomy 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (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
【課題】目標データ量に収まるように画像データを圧縮する際に、従来よりも、メモリ領域を節約し、画質の劣化を抑えつつ高速に処理できるようにする。
【解決手段】画像データを所定の領域ごとに区画し、その領域ごとに画像データの特徴を抽出することによってモデル化データを生成し、モデル化データからデータを間引く間引処理を経て生成される圧縮データのデータ量を間引処理に関する閾値に基づいて試算し、当該データ量が所定の目標データ量以下になるような、そのような閾値である間引閾値を求め、求めた間引閾値に基づいて間引処理を実行することによって圧縮データを生成する。
【選択図】図2
【解決手段】画像データを所定の領域ごとに区画し、その領域ごとに画像データの特徴を抽出することによってモデル化データを生成し、モデル化データからデータを間引く間引処理を経て生成される圧縮データのデータ量を間引処理に関する閾値に基づいて試算し、当該データ量が所定の目標データ量以下になるような、そのような閾値である間引閾値を求め、求めた間引閾値に基づいて間引処理を実行することによって圧縮データを生成する。
【選択図】図2
Description
本発明は、画像データの圧縮方法およびその装置に関する。
一般に、プリンタまたはMFP(Multi-Function Peripherals)などの印刷装置は、印刷の対象となる画像データを保存するためのメモリを搭載する。このような印刷装置は、パーソナルコンピュータなどで作成された画像データを、通常少なくとも1ページ分(圧縮されていない状態で100MB程度)そのメモリに保持して印刷を開始する。
近年の高画質化の要請のもと、印刷に用いられる画像データのサイズ(データ量)は巨大化する傾向にある。画像データのサイズが大きくなると、それに対応するために、印刷装置に搭載するメモリの容量(メモリ容量)も大きくする必要があり、より多くのコストがかかってしまう。従って、画像データのサイズを小さくすることによって、必要なメモリ容量を小さくすることが望ましい。
従来、画像データのサイズを小さくするために様々な圧縮技術が用いられている。その代表的なものとしてJPEGが知られている。JPEGは、静止画像データの圧縮方式の一つであり、圧縮の際に若干の画質劣化を許容する(一部のデータを切り捨てる)ことによって高い圧縮率を実現することができる。
しかし、JPEGなどの一般的な圧縮方法では圧縮率が画像データによって変動するため、圧縮後のデータ量が少なくなることを期待して印刷装置のメモリ容量を小さくしてしまうと、そのデータ量がメモリ容量を超えてしまう事態が起こり得る。データ量がメモリ容量を超えてしまった場合は、印刷を実行できない。
このようなことを回避するためには、メモリに十分な容量を持たせる必要がある。しかし、それでは、結局メモリ容量を小さくできない。また、この場合には、圧縮率が最も悪い場合に対応できる容量のメモリを用いることになる。従って、圧縮後のデータ量がほとんどの場合においてメモリ容量よりもかなり小さくなり、メモリ領域が無駄に余ってしまう。両面印刷が可能な印刷装置では最低2ページ分、ソートが可能な印刷装置ではソートができるページ分の画像データを保存できるメモリ容量が必要である。このような印刷装置においては、上記のような無駄に余ってしまうメモリ領域がさらに大きくなってしまう。このような問題点を解決するために、特許文献1、2、3のような方法が提案されている。
特許文献1の方法によれば、画像処理装置は、原稿を読み取り、読み取った原稿の画像データを圧縮する。圧縮された画像データに基づいて適切な圧縮パラメータを選択する。選択した圧縮パラメータによって、再度圧縮を実行することにより圧縮データを生成する。
特許文献2の方法によれば、画像処理装置は、メインメモリに画像データを保存する。保存した画像データを基に複数の量子化レベルで符号化を行う。そして、複数の量子化レベルによる符号長を求め、それが目標符号長を満たし且つ最適な量子化値である量子化値を求める。
特許文献3の方法によると、第1の符号化パラメータにより画像データを符号化する。符号化の途中で所定のサイズに収まらないと判断すると、さらに高い圧縮率の第2の符号化パラメータによる圧縮に切り替える。既に第1の符号化パラメータによって符号化した部分は、復号した後、第2の符号化パラメータによって再度符号化する。
これらの圧縮方法を用いることによって、印刷装置のメモリ容量に合わせた圧縮が可能となり、上記のような問題点を解決することができる。
特開2001−238085
特開2005−252573
特開2003−69835
ところが、特許文献1および2の方法では、圧縮データを生成するための最適な圧縮パラメータを求めるために、試験的な圧縮処理を複数回行わなければならない。そのため処理効率が悪くなる。
また、圧縮する画像データは、初めに読み込んだあと最終的に圧縮データを生成するときまでメモリの中に保持しておくかまたは圧縮処理の度に読み込み直さなければならない。画像データをメモリの中に保持しておく場合は、そのためのメモリ領域が、圧縮パラメータを求める際の圧縮処理に使用するメモリ領域以外に余分に必要となる。通常、画像データはデータ量が多く、それを保持しておくことは圧縮を行う装置にとって大きな負担となりかねない。メモリが占有されてしまうことによってその装置の他の処理に支障をきたす場合もある。画像データをメモリ以外の場所に保存してメモリ領域を確保することも可能であるが、圧縮処理のたびにスワッピングを行うことになり処理速度を低下させてしまう。
圧縮処理のたびに画像データを読み込み直す場合は、読み込みに時間がかかることによって全体の処理を大幅に遅らせてしまう恐れがある。
特許文献3の方法では、圧縮によって情報量があまり失われない圧縮パラメータすなわち圧縮率の低い圧縮パラメータを設定して圧縮処理を開始した場合、圧縮後のデータ量が目標データ量内に収まらない事態が頻繁に発生する。そうなると、一旦圧縮した画像データを展開したあと再度圧縮することになるので処理時間が大幅に伸びてしまう。
逆に、圧縮によって情報量が多く失われる圧縮パラメータすなわち圧縮率の高い圧縮パラメータを設定して圧縮処理を開始した場合、不必要に多くの情報を省くことによって無用な画質劣化を招いてしまうことがある。従ってこのような方法では、画質の最適化と処理の高速化との両立を図ることが困難である。
本発明は、このような問題点に鑑み、所定の目標データ量に収まるように画像データを圧縮する圧縮処理において、従来よりも、空きのメモリ領域を多く確保できるようにし、画質の劣化を最小限にとどめながら高速に処理できるようにすることを目的とする。
本発明に係る画像データ圧縮方法は、画像データの圧縮データを生成するための画像データ圧縮方法であって、前記画像データを所定の領域ごとに区画し、前記領域ごとに前記画像データの特徴を抽出することによって、その一部を段階的に間引いた場合に画像再現性が変化するモデル化データを生成するモデル化処理を行い前記モデル化データからデータを間引く間引処理を経て生成される圧縮データのデータ量を当該間引処理に関する閾値に基づいて試算し、当該データ量が所定の目標データ量以下になるような、そのような閾値である間引閾値を求め、求めた前記間引閾値に基づいて前記間引処理を実行することによって圧縮データを生成する。
好ましくは、前記画像データは、階調画像データをディザパターンで擬似階調化することによって得られる擬似階調画像データであり、前記モデル化処理において、前記領域ごとに当該領域の前記画像データの代表値を決定し、前記領域の代表値に基づき前記ディザパターンによって再現されるドットパターンである再現ドットパターンと当該領域における前記擬似階調画像データのドットパターンである擬似階調画像ドットパターンとを比較し、前記再現ドットパターンと前記擬似階調画像ドットパターンとが同じであった場合には当該領域の代表値を示す前記モデル化データを生成する一方、当該再現ドットパターンと当該擬似階調画像ドットパターンとが同じでなかった場合には、両ドットパターンの一致度合いを示す指標、当該領域の代表値、および擬似階調画像ドットパターンを示す前記モデル化データを生成し、前記間引処理において、前記再現ドットパターンと前記擬似階調画像ドットパターンとが同じでなかった領域について、前記指標と前記間引閾値との比較に基づいて、圧縮データの生成に当該領域の代表値と前記擬似階調画像ドットパターンのいずれを用いるかを決定する。
好ましくは、前記領域の代表値として、当該領域のドットの個数を用いる。
好ましくは、前記領域の代表値として、当該領域に対応する部分の前記階調画像データの各画素の濃度値と当該領域に対応する部分の前記ディザパターンの各画素の濃度値とをそれぞれ比較して当該階調画像データの各画素の濃度値が小さい場合に予め用意されたパターン領域にドットを打った場合に、当該パターン領域内において打たれたドットに対応する当該ディザパターンの画素の濃度値の最小値Jと打たれなかったドットに対応する当該ディザパターンの画素の濃度値の最大値Kとの間で
J≧a≧K
の条件を満たす値aを用いる。
J≧a≧K
の条件を満たす値aを用いる。
好ましくは、前記領域の代表値として、隣り合う前記領域の代表値との差分が最小となる値を用いる。
好ましくは、前記領域の仮の代表値および当該領域に隣接する1つまたは複数の隣接領域の代表値を用いて予め定められた補間ルールにしたがって当該領域における各画素の濃度値を補間して求めさらに前記ディザパターンを用いて擬似階調化を行った際に当該領域における前記擬似階調画像データが再現される場合には、当該仮の代表値を当該領域の代表値として決定する。
好ましくは、前記モデル化処理においては、前記領域に含まれる画素の濃度値に基づいて離散コサイン変換を行うことによってDCT係数を求めさらに当該DCT係数を量子化値を用いて量子化して量子化済係数を求めることによって当該量子化済係数を含む前記モデル化データを生成し、前記間引処理においては、前記モデル化データに含まれる前記量子化済係数から前記間引閾値に基づいて間引済係数を求めることによって間引処理を実行する。
好ましくは、前記モデル化処理においては、前記領域に含まれる画素である領域画素の濃度値の平均値である領域平均値を算出し、前記領域平均値と前記各領域画素の濃度値との比較に基づいて当該各領域画素を第一画素と第二画素とに区分した場合における当該第一画素の濃度値の平均値である第一平均値と当該第二画素の濃度値の平均値である第二平均値とを求め、当該領域において前記第一画素にドットを打つことによって得られるドットパターン、前記第一平均値、および前記第二平均値を示す前記モデル化データを生成し、前記間引処理においては、前記モデル化データによって示される前記第一平均値と前記第二平均値との差分を求め、前記差分と前記間引閾値との比較に基づいて、前記領域を前記第一平均値のみで表すか否かを決定する。「前記第一平均値のみで表す」の「前記第一平均値のみ」とは、前記第一平均値および第二平均値のうちにおける「前記第一平均のみ」を意味する。
本発明によると、所定の目標データ量に収まるように画像データを圧縮する圧縮処理において、従来よりも、空きのメモリ領域を多く確保でき、画質の劣化を最小限にとどめながら高速に処理することができる。
図1は本発明に係る画像データの圧縮方法を適用したプリントシステム1の全体構成を示す図、図2は圧縮処理の概略を示すフローチャートである。
図1において、プリントシステム1は、ユーザがコンピュータ本体11に対して入力した指令に基づいて、プリンタ13で画像を印刷するためのシステムである。プリントシステム1は、コンピュータ本体11、ディスプレイ12、キーボード14、マウス15、およびプリンタ13などから構成される。コンピュータ本体11およびプリンタ13は、USBまたはRS−232Cなどの通信ケーブルによって接続される。
コンピュータ本体11は、外部から入力されまたは内部で生成した画像データFDを自らのハードディスクなどの記憶媒体に保存している。キーボード14またはマウス15などによってユーザから印刷実行の指令が与えられると、その指令に係る印刷対象の画像データFDを圧縮して圧縮画像データADを生成し、プリンタ13に送信する。
プリンタ13は、コンピュータ本体11から送信されて来た圧縮画像データADを内部のメモリに保存し、それを展開して印刷する。なお、コンピュータ本体11としてパーソナルコンピュータまたはワークステーションなどが用いられる。プリンタ13としてレーザプリンタまたはMFPなどが用いられる。
本実施形態においては、画像データFDの圧縮の際にモデル化を行う。そして、画像データFDを、それの圧縮画像データADのデータ量(サイズ)が所定の目標データ量GL内で且つその目標データ量GLに近いデータ量になるように圧縮する。なお、モデル化とは、画像データの特徴を抽出することによって、情報源のモデルを作成するための処理である。モデル化の結果として生成されるモデル化データは、その一部を段階的に間引いた場合に画像再現性が変化するデータである。
モデル化の一例においては、圧縮の対象となるデータを分析し、符号化すべき記号を分類して再構成する。場合によっては、優先順位をつけて不要なデータを削除する。優れたモデル化では、作成された記号の出現確率に大きな偏りができ、符号化の際に符号長が短くなる。
本実施形態では、モデル化の段階においてもデータ量は削減される。また、モデル化によって生成されるデータは一般に冗長性が少ない。モデル化によって冗長性が大幅に削減される場合は、符号化でデータ量をさらに大きく削減する(追加圧縮する)ことはできない。従って、符号化を行う必要がない場合もある。
図2は、本実施形態の圧縮処理の概略を示す。本実施形態の圧縮処理では、取得した(#311)画像データFDをモデル化することによって、その画像データFDの特徴を示すモデル化データMDを生成する(#312)。
次に、モデル化データMDから圧縮画像データADのサイズを試算し、その結果および目標データ量GLに基づいてモデル化データMDからデータを間引く際に用いる閾値である間引閾値MH(圧縮パラメータ)を決定する(#313)。決定した間引閾値MHに基づいて、モデル化データMDからデータを間引く間引処理を行うことによって、間引済データEDを生成し(#314)、この間引済データEDを符号化することによって圧縮画像データADを生成する。なお、ここでの間引処理とは、モデル化データMDに既に存在するデータを単に削除することに限らず、既に存在するデータをデータ量のより少ない別のデータに置き換えることも含む。
本実施形態においては、モデル化データMDを生成する際、圧縮の対象としてメモリに読み込んだ、すなわち、モデル化データMDの生成の元となった画像データFDまたは擬似階調画像データD1を、モデル化データMDを生成しながらメモリ領域から破棄していく。また、間引済データEDの生成の際も、同様に、間引済データEDへの変換が完了したことによって不要になったモデル化データMDをメモリ領域から破棄していく。さらに、圧縮画像データADを生成する際も、同様に、圧縮画像データADへの変換が完了したことによって不要になったモデル化データMDおよび間引済データEDをメモリ領域から削除(廃棄)していく。これによって、メモリ領域の有効利用を図ることができる。ただし、メモリ領域に十分な余裕がある場合には必ずしもデータを削除する必要はない。
図3はプリントシステム1の機能的構成の例を示す図、図4は区画された領域を説明するための図である。 コンピュータ本体11には、図3に示す画像データ保存部101、ディザパターン保存部102、量子化テーブル保存部103、目標データ量保存部104、符号表保存部105、擬似階調化部106、領域区画部107、モデル化データ生成部108、間引閾値決定部109、間引処理部110、符号化部111、および圧縮画像データ送信部112などの機能が設けられている。これらの機能は、当該機能をコンピュータ本体11に実行させるコンピュータプログラムをコンピュータ本体11に読み込ませることによって実現される。
プリンタ13には、圧縮画像データ保存部201、ディザパターン保存部202、量子化テーブル保存部203、符号表保存部204、圧縮画像データ受信部205、復号部206、および画像データ復元部207などの機能が設けられている。
図3において、画像データ保存部101は、例えば256階調の階調性を有する画像データFDを保存する。
ディザパターン保存部102および202は、画像データFDの擬似階調化に用いられるディザパターンDPを保存する。
ディザパターン保存部102および202は、画像データFDの擬似階調化に用いられるディザパターンDPを保存する。
量子化テーブル保存部103および203は、図21に示すような量子化テーブルRTを保存する。量子化テーブルRTについては、後に詳しく説明する。
目標データ量保存部104は、目標データ量GLを保存する。目標データ量GLとしては、プリンタ13のメモリ容量よりも小さい値が予め設定されている。
符号表保存部105および204は、図9、図25、および図28に示すような符号表FT1、FT2、およびFT3などを保存する。これらの符号表FTについては、後に詳しく説明する。以下、これら符号表FT1、FT2、およびFT3の連番を省略し、まとめて「符号表FT」と記載することがある。その他についても同様に符号の連番などを省略して記載することがある。
圧縮画像データ保存部201は、コンピュータ本体11から送信されて来る圧縮画像データADを保存する。
階調画像データD1を生成する場合には、ユーザから印刷の指令が与えられると、コンピュータ本体11の擬似階調化部106は、圧縮処理の対象となる画像データFDを画像データ保存部101から取得し、それをディザ法により擬似階調化して擬似階調画像データD1を生成する。擬似階調化に際しては、ディザパターン保存部102に保存されているディザパターンDPを用いる。
領域区画部107は、擬似階調化部106によって生成された擬似階調画像データD1
を多数の小さな領域(ブロック)に区画する。以下、区画された領域を「区画領域TL」と記載する。また、各区画領域TLについて行われる処理を、一つの区画領域TLに着目して説明する場合がある。その場合、着目する区画領域TLを「注目領域TL」と記載することがある。
を多数の小さな領域(ブロック)に区画する。以下、区画された領域を「区画領域TL」と記載する。また、各区画領域TLについて行われる処理を、一つの区画領域TLに着目して説明する場合がある。その場合、着目する区画領域TLを「注目領域TL」と記載することがある。
この区画領域TLは、例えば図4に示すように、64(8×8)個の画素TPからなる矩形の領域である。図4の例では、画像データFDの全体の領域が、左上から右方へ順に、区画領域TL11、TL12、TL13、…というように、次の行についてTL21、TL22、TL23、…というように、TLmnまで、それぞれブロックに区画されている。
また、領域区画部107は、階調画像である画像データFDを画像データ保存部101から直接取得することもある。この場合も擬似階調画像データD1と同様に、その画像データFDを区画領域TLごとに区画する。
モデル化データ生成部108は、モデル化処理を行うことにより、画像データFDまたは擬似階調画像データD1からモデル化データMDを生成する。このモデル化処理は、区画領域TLごとに実行され、各領域TL1、TL2、TL3、…について、それぞれモデル化データMD1、MD2、MD3、…が生成される。
間引閾値決定部109は、モデル化データMDおよび目標データ量保存部104に保存されている目標データ量GLに基づいて間引閾値MHを決定する。係る決定は、例えば以下のようにして行われる。
まず、間引処理によって最もデータが間引かれない(最高画質)間引閾値MHを用いた場合の圧縮画像データADのデータ量を試算する。試算したデータ量が目標データ量GLよりも小さかった場合は、その間引閾値MHを実際の間引処理に用いる間引閾値MHとして決定する。
試算したデータ量が目標データ量GL以上であった場合は、間引閾値MHの値をさらに大きくした場合における圧縮画像データADのデータ量を試算する。そして、試算したデータ量が目標データ量よりも小さくなるような、そのような間引閾値MHを求め、その間引閾値MHを実際の間引処理に用いる間引閾値MHとして決定する。
間引処理部110は、間引閾値決定部109が決定した間引閾値MHとモデル化データMDとを用いて間引処理を行い、間引済データEDを生成する。
符号化部111は、間引済データEDを符号化することによって圧縮画像データADを生成する。 圧縮画像データ送信部110は、圧縮画像データADを、間引処理部110における間引処理に用いられた間引閾値MHとともにプリンタ13に送信する。
プリンタ13の圧縮画像データ受信部204は、コンピュータ本体11から送信されてくる圧縮画像データADおよび間引閾値MHを受信し、圧縮画像データ保存部201に保存する。
復号部206は、圧縮画像データ保存部201に保存された圧縮画像データADを取得する。取得した圧縮画像データADを符号表保存部204に保存されている符号表FTを用いて復号する。
画像データ復元部207は、復号部206によって復号されたデータから擬似階調画像データD1または画像データFDを復元(再現)しまたは近似的に復元する。これに際して、必要に応じて、圧縮画像データ保存部201に保存された間引閾値MH、ディザパターン保存部202に保存されているディザパターン、および量子化テーブル保存部203に保存されている量子化テーブルRTを用いる。
以下、本実施形態における具体的な圧縮方法を「第一の実施例」、「第二の実施例」、および「第三の実施例」に大別し、それぞれにおいて、図2で示した「モデル化処理」、「間引閾値決定処理」および「間引処理」についてさらに詳しく説明する。
〔第一の実施例〕
本実施例では、擬似階調画像データD1の各区画領域TLについて代表値を決定し、その代表値を用いて圧縮画像データADを生成する。区画領域TLについての代表値は、その区画領域TL内の濃度を直接的にまたは間接的に代表する値であり、代表値とディザパターンDPとを用いることによって元の擬似階調画像をまたはそれに近い画像を再現することができる。以下、本実施例の処理を「モデル化処理」、「間引処理」、「符号化処理」、および「間引閾値決定処理」などの項目に分けて説明する。
〔モデル化処理〕
図5は区画領域TLとディザパターンDPの例を示す図、図6はサイズの異なる区画領域TLbとディザパターンDPbの例を示す図、図7は再現ドットパターンの例を示す図、図8は第1の実施例におけるモデル化データMDの例を示す図である。
〔第一の実施例〕
本実施例では、擬似階調画像データD1の各区画領域TLについて代表値を決定し、その代表値を用いて圧縮画像データADを生成する。区画領域TLについての代表値は、その区画領域TL内の濃度を直接的にまたは間接的に代表する値であり、代表値とディザパターンDPとを用いることによって元の擬似階調画像をまたはそれに近い画像を再現することができる。以下、本実施例の処理を「モデル化処理」、「間引処理」、「符号化処理」、および「間引閾値決定処理」などの項目に分けて説明する。
〔モデル化処理〕
図5は区画領域TLとディザパターンDPの例を示す図、図6はサイズの異なる区画領域TLbとディザパターンDPbの例を示す図、図7は再現ドットパターンの例を示す図、図8は第1の実施例におけるモデル化データMDの例を示す図である。
モデル化処理を行うに際して、まず、各区画領域TLの代表値を決定する。ここでは、区画領域TLに含まれるドットの個数をその区画領域TLの代表値として用いる。
図5(a)において、区画領域TLの黒の画素が、ドットが打たれた画素である。本実施形態の擬似階調化画像データD1においては、画像データFDの各画素の濃度値が、図5(b)に示すディザパターンDPの対応する画素の閾値以上であったときに、その画素にドットが打たれる。つまり、濃度値が大きいほど濃度が高いものとして扱う。図5(a)の例では、区画領域TLの代表値は、ドットの個数、すなわち「10」となる。
なお、図5の例では、区画領域TLのサイズがディザパターンDPのサイズと同じとなるように区画した例を示したが、これらのサイズが互いに異なってもよい。
例えば、図6に示すように、区画領域TLbのサイズがディザパターンDPbのサイズよりも小さくてもよい。図6の例とは逆に、区画領域TLのサイズがディザパターンDPのサイズよりも大きくてもよい。以下、図5(a)に示すような、区画領域TLの擬似階調画像データD1のドットの配列パターン(ドットパターン)を「擬似階調画像ドットパターン」と記載することがある。
各区画領域TLについて代表値が求まると、その代表値を用いて区画領域TLごとにモデル化データMDを生成する。それに際して、区画領域TLの一つである注目領域TLに着目した場合に、注目領域TLの代表値および擬似階調化に使用されたディザパターンDPによって再現されるドットパターンである再現ドットパターンを求める。
ところで、本実施例では、区画領域TLのサイズは64画素(8×8画素)である。この場合、ドットの個数(代表値)は、画像データFDが仮に64階調であった場合におけるその区画領域TLの濃度値の平均値と考えることができる。従って、代表値を256/64倍することによって得られる値を、画像データFDを256階調とした場合のその区画領域TLの濃度値の平均(仮想平均値)とみなすことができる。
例えば注目領域TLの代表値が「10」であった場合、
10×256/64=36
となり、仮想平均値は「36」となる。
10×256/64=36
となり、仮想平均値は「36」となる。
再現ドットパターンは、注目領域TLの濃度値が均一に上述の仮想平均値であると仮定した場合における注目領域TLの各濃度値を、ディザパターンDPによって擬似階調化することによって求められる。つまり、仮想平均値とディザパターンDPの各画素の濃度値とを比較し、仮想平均値の方が大きい画素にドットを打った場合に再現されるドットパターンが再現ドットパターンとなる。上の例を用いて仮想平均値が「36」であるとすると、図5(b)のディザパターンDPによって図7に示すような再現ドットパターンが求められる。
このようにして注目領域TLについて再現ドットパターンを求めた後、その再現ドットパターンと擬似階調画像ドットパターンとを比較する。両者が同じであった場合は、注目領域TLの代表値を示すモデル化データMDを生成する。
再現ドットパターンと擬似階調画像ドットパターンとが同じでなかった場合は一致しなかったドットの個数である不一致ドット数、注目領域TLの代表値、および注目領域TLの擬似階調画像ドットパターンを示すモデル化データMDを生成する。
図5(a)の例では、区画領域TLの擬似階調画像ドットパターンの代表値は「10」である。この代表値と、図5(b)のディザパターンとを用いて再現ドットパターンを求めると、既に説明したとおり図7のようになる。従って、この場合は、擬似階調画像ドットパターンと再現ドットパターンとは同じではなく、その不一致ドット数は「1」となる。
全ての区画領域TLについて以上のような処理を行い、各区画領域TLのモデル化データMDを生成する。なお、モデル化データMDに代表値の代わりに、代表値を求めるための他の値を含めるようにしてもよい。例えば、直前に処理される区画領域TLの代表値との差分を用いる。
次に、本実施例におけるモデル化データMDについて図8を参照して説明する。なお、ここでは、代表値、擬似階調画像ドットパターン、および不一致ドット数を、それぞれ、「代表値AP」、「擬似階調画像ドットパターンAR」、および「不一致ドット数AN」と記載する。
図8には、区画領域TL1、TL2、TL3、…について生成されたモデル化データMDおよびそのモデル化データMDの要素である各値のデータ量(ビット数)が示される。再現ドットパターンと擬似階調画像ドットパターンARとが一致した区画領域TL(区画領域TL1、TL2、およびTL3など)については、モデル化データMDとして代表値APのみが示される。
また、両者が一致しなかった区画領域TL(区画領域TL4など)については、一致しなった旨を示すフラグである切替フラグAF(図8においては、「F」)、代表値AP、擬似階調画像ドットパターンAR(図8においては、「D」)、および不一致ドット数ANが示される。以下、再現ドットパターンと擬似階調画像ドットパターンARとが一致した区画領域TLを「一致区画領域TLx」と記載し、両者が一致しなかった区画領域TLを「不一致区画領域TLy」と記載することがある。
擬似階調画像ドットパターンARは、例えば、ドットが打たれている画素の値を「1」、打たれていない画素の値を「0」として、その区画領域TLの左上端から順に走査して求める。
モデル化データMDに示される各値のデータ量は、図8の「ビット数」の行に示される。図5のような64画素の区画領域TLにおいて代表値APが取りうる値は0から64であり、合計65個(7ビット)である。これに切替フラグAFを加えて66個とし、代表値APおよび切替フラグAFを7ビットで表すことにする。
擬似階調画像ドットパターンARについては、1画素のドットを1ビットで表すことができるので、一つの区画領域TL(64画素)につき64ビットで表すことができる。
不一致ドット数ANの取りうる値の個数は、図5のような64画素の区画領域TLにおいては64個であり、6ビットで表すことができる。
なお、多くの区画領域TLにおいて、その擬似階調画像ドットパターンARを代表値APで再現することができる。すなわち、多くの区画領域TLで64ビットのデータ量を7ビットのデータ量に減らすことができる。従って、このモデル化処理の時点もデータ量を減らすことが可能となる。
〔間引処理〕
間引処理においては、間引閾値MHに基づいてモデル化データMDからデータを間引く処理を行う。ここにおいて、間引閾値MHは、間引処理による画質の劣化をどの程度まで許容するかを示す値である。本実施例では、不一致ドット数を画質の劣化の指標として用いる。従って、この間引処理では、注目領域TLに着目した場合に、モデル化データMDに含まれる不一致ドット数と間引閾値MHとの比較に基づいて、間引済データEDの生成に代表値を用いるかまたは擬似階調画像ドットパターンを用いるかを決定し、決定した方を用いて間引済データEDを生成する。なお、この間引閾値MHは、間引処理に先立って決定される。この決定方法については、「〔間引閾値決定処理〕」において後で詳しく説明する。
〔間引処理〕
間引処理においては、間引閾値MHに基づいてモデル化データMDからデータを間引く処理を行う。ここにおいて、間引閾値MHは、間引処理による画質の劣化をどの程度まで許容するかを示す値である。本実施例では、不一致ドット数を画質の劣化の指標として用いる。従って、この間引処理では、注目領域TLに着目した場合に、モデル化データMDに含まれる不一致ドット数と間引閾値MHとの比較に基づいて、間引済データEDの生成に代表値を用いるかまたは擬似階調画像ドットパターンを用いるかを決定し、決定した方を用いて間引済データEDを生成する。なお、この間引閾値MHは、間引処理に先立って決定される。この決定方法については、「〔間引閾値決定処理〕」において後で詳しく説明する。
このような処理を行なうに際して、一つの区画領域TLについてのモデル化データMDを読み込む。読み込んだモデル化データMDに切替フラグが示されている場合は、そのモデル化データMDは、不一致区画領域TLyについてのモデル化データMDであることを意味する。この場合、そのモデル化データMDに示される不一致ドット数と間引閾値MHとを比較する。
不一致ドット数が間引閾値MH以下であれば、そのモデル化データMDに示される代表値を用いて間引済データEDを生成する。
不一致ドット数が間引閾値MHより大きければ、そのモデル化データMDに示される擬似階調画像ドットパターンおよび切替フラグを用いて間引済データEDを生成する。
モデル化データMDに切替フラグが示されていない場合は、そのモデル化データMDは、一致区画領域TLxについてのモデル化データMDであることを意味する。この場合は、そのモデル化データMDに示される代表値を用いて間引済データEDを生成する。
以上のような間引処理によって、モデル化データMDからさらに多くのデータ量が削減される。
〔符号化処理〕
図9は代表値差分についての符号表FT1の例を示す図、図10は循環整数を説明するための図である。
〔符号化処理〕
図9は代表値差分についての符号表FT1の例を示す図、図10は循環整数を説明するための図である。
符号化処理においては、生成された間引済データEDを符号化することによって圧縮画像データADを生成する。つまり、間引済データEDに示される代表値および擬似階調画像ドットパターンについての符号化を行う。代表値については、まずその代表値を求めるための代表値導出値を求め、それを符合化する。本実施例においては、この代表値導出値として、注目領域TLに着目した場合のその注目領域TLの代表値とその直前の区画領域TLの代表値との差分(代表値差分)を用いる。直前の区画領域TLについての間引済データEDに代表値が示されていない場合は、その代表値が「0」であったものとして差分を求める。すなわち、この場合の差分は注目領域LTの代表値そのものとなる。なお、直前の区画領域TLは、モデル化の際に注目領域TLの直前に読み込まれる領域(つまり、隣接する左側の領域)であってもよいし、注目領域TLの直前に符号化などの処理がなされる領域であってもよい。
ところで、本実施例では、代表値差分を表すために、図10に示す循環整数による方法を用いる。ここで、この循環整数について簡単に説明する。
図10には、循環整数による方法を説明するためのサークルJSが示される。ある数Aの位置を基準点とし、これとある数Bとの差分Cを求めるには、サークルJSの中の数Aの位置から数Bに相当する位置数分右回りにサークルJSを回転させ、基準点の位置に止まった数値を差分Cとする。例えば、「5」と「3」の差分は、サークルJSの「5」の位置を基準点とし、サークルJSを3つ右回りに回転させた場合にその基準点の位置に来る「2」が答である。他の例では、「0」と「8」の差分は、サークルJSの「0」の位置を基準点とし、サークルJSを8つ右回りに回転させた場合にその基準点の位置に来る「1」が答である。このようにして、差分が0〜8の範囲内の整数値として得られる。
また、ある数Bに差分Cを加算することによってある数Aが求まる。この場合は、サークルJSの数Bの位置を基準点とし、差分Cに相当する位置数分左回りにサークルJSを回転させた場合に基準点の位置に来る数値を数Aとする。このように、数Bと差分Cとから数Aを完全に復元することができる。
代表値の最大値は「64」であるので、代表値差分の範囲は、通常「−64」から「64」となる。これを上記のような方法を用いることにより、「−32」から「32」の範囲で表すことができるようになる。本実施例では、このようにして求めた「−32」から「32」までの代表値差分を、図9に示す符号表FT1によって符号化する。
図9において、符号表FT1には、「代表値差分」、「符号」、および「付加ビット数」の項目が含まれる。「代表値差分」には、符号化の対象となる代表値差分が1つ以上示される。「符号」には、対応する行の代表値差分に割り当てられる符号の前半部分が示される。「付加ビット数」には、対応する行の代表値差分に割り当てられる符号の後半部分のビット数が示される。
符号表FT1の3行目を例にあげると、各代表値差分「−3」、「−2」、「2」、および「3」には、符号の先頭の3ビットに「011」の符号が割り当てられる。さらに、「付加ビット数」に示される2ビットの符号が後半に付加される。ここでは、小さな値の差分値から順に小さな値の符号が割り当てられるようにする。すなわち、各代表値差分「−3」、「−2」、「2」、および「3」に、それぞれ、「01100」、「01101」、「01110」、および「01111」の符号を割り当てる。モデル化処理において説明した切替フラグには、代表値符号化表の最後の行の符号が割り当てられる。以上のような符号化によって、代表値差分は、2〜9ビットで表現される。
ところで、代表値は画像の濃度に関係する値であるので、近隣(近辺)の区画領域TL間での関連が深く、そのような区画領域TL同士の代表値は互いに接近している。つまり、近隣の区画領域TLでは濃度の差分が小さく、そのため代表値の差が小さい、という性質がある。従って、ある区画領域TLの代表値について、その直前に求めた区画領域TLの代表値との差をとると、多くの場合に差が「0」となる。従って、多くの場合において代表値差分を2ビットで表現できるようになる。全体としては、平均4ビット程度の符号長となる。代表値は、最大値が64であり、もともと6ビットのデータ量であるので、この符号化によって一つの区画領域TLにつき平均1ビット程度データ量が削減されたことになる。
また、近隣の区画領域TL同士の代表値の差は統計的な出現頻度の偏りが大きくなるので、符号化の手段としてハフマン法を用いることも非常に有効である。
擬似階調画像ドットパターンについては、ハフマン法によって符号化を行う。本実施形態においては、区画領域TLの行ごとにその行に示されるドットパターンを符号化する。これによって、一つの区画領域TLの擬似階調画像ドットパターンが、平均30ビット程度の符号長で表現される。64画素の擬似階調画像ドットパターンのデータ量は64ビットであるので、これによって平均30ビット程度データ量が削減されたことになる。
なお、ここでは、代表値差分を符号化する場合の例を示したが、代表値をそのまま符号化するようにしてもよい。
〔間引閾値決定〕
モデル化処理によって生成されたモデル化データMDを用いて間引閾値MHを決定する。すなわち、間引閾値MHに基づいてモデル化データMDからデータを間引く間引処理を経て生成される圧縮画像データAD全体のデータ量を試算し、そのデータ量が目標データ量GL未満になるような、そのような間引閾値MHを求め、それを間引閾値MHとして決定する。
〔間引閾値決定〕
モデル化処理によって生成されたモデル化データMDを用いて間引閾値MHを決定する。すなわち、間引閾値MHに基づいてモデル化データMDからデータを間引く間引処理を経て生成される圧縮画像データAD全体のデータ量を試算し、そのデータ量が目標データ量GL未満になるような、そのような間引閾値MHを求め、それを間引閾値MHとして決定する。
ところで、一致区画領域TLxは、その擬似階調画像ドットパターン(64ビット)を代表値(7ビット)を用いて表現することによってデータ量を大幅に削減できる。
不一致区画領域TLyについては、その擬似階調画像ドットパターンを表現するために代表値を用いることで画質が劣化する。しかし、区画領域TLは十分に小さな領域であるためそのような劣化はあまり目立たない。このような理由から、再現ドットパターンと擬似階調画像ドットパターンとの不一致をある程度許容することによって擬似階調画像ドットパターンを代表値を用いて表現したとしても、十分に画質を保つことができる。すなわち、不一致区画領域TLyについても、多少の画質の劣化を許容すれば、代表値を用いてデータ量を大幅に削減できる。
間引閾値MHを決定するにあたっては、圧縮画像データADのデータ量を試算することによってそのデータ量が目標データ量GLよりも小さくなるようするために許容すべき不一致ドット数を求め、それを間引閾値MHとして決定する。
図11は統計データTKの例を示す図である。次に、統計データTKを用いて圧縮画像データADのデータ量を試算する方法について説明する。
まず、間引済データEDのデータ量を試算する。これに際して、初めに、間引閾値MHを「0」として間引済データEDを生成した場合のデータ量を試算する。
図8の例によると、一致区画領域TLxのモデル化データMDのデータ量は7ビットである。一致区画領域TLxについては、モデル化データMDに示される代表値が間引済データEDにそのまま用いられるのでデータ量は7ビットのままである。この場合、間引済データEDは、符号化処理によってデータ量はさらに4ビット程度に減少する。
不一致区画領域TLyのモデル化データMDのデータ量は84ビット(7+7+64+6ビット)である。不一致区画領域TLyについては、不一致ドット数が間引閾値MH以下である場合には、間引済データEDの生成に代表値が用いられる。従って、この場合の符号化処理の後のデータ量は、一致区画領域TLxと同様に4ビット程度となる。
また、不一致ドット数が間引閾値MHより大きい場合には、間引済データEDの生成に切替フラグ(7ビット)および擬似階調画像ドットパターン(64ビット)が用いられる。従って、間引済データEDは71ビットのデータ量となり、さらに符号化処理によって33ビット〔擬似階調画像ドットパターンのデータ量(30ビット程度)+切替フラグのデータ量(3ビット)〕程度になる。
間引閾値MHとして「0」を用いた場合は、不一致ドット数は必ず間引閾値MHよりも大きくなるので、不一致区画領域TLyについては、圧縮画像データADのデータ量は33ビット程度となる。不一致区画領域TLxについては、既に説明したとおり、圧縮画像データADのデータ量は4ビット程度である。従って、全ての区画領域TLについての圧縮画像データADの合計のデータ量は、
一致区画領域TLxの個数 × 4 + 不一致区画領域TLyの個数 × 33
……(1)
の式によって試算できる。
一致区画領域TLxの個数 × 4 + 不一致区画領域TLyの個数 × 33
……(1)
の式によって試算できる。
これら一致区画領域TLxおよび不一致区画領域TLyの個数は、モデル化処理と合わせて統計データを作成しておくことによって簡単に知ることができる。この統計データについては、後に詳しく説明する。
このようにして試算されたデータ量が目標データ量GLよりも小さかった場合は、間引閾値MHを「0」に決定する。反対に、目標データ量GLよりも大きかった場合は、さらに大きな値の間引閾値MHで間引処理を行った場合における圧縮画像データADのデータ量を試算する。
そのようなデータ量を試算するにあたって、まず、間引閾値MHを大きくすることによってどれだけのデータ量が削減されるのかを求める。間引閾値MHを大きくすると、それによって不一致ドット数が間引閾値MHよりも小さくなった不一致区画領域TLyについての間引済データEDの生成に擬似階調画像ドットパターンに替えて代表値が採用されるようになる。そのような不一致区画領域TLyの個数を「N」とすると、
N ×(33−4)……(2)
の式によって、間引閾値MHを大きくすることによって削減できるデータ量を求めることができる。不一致ドット数に対する不一致区画領域TLyの個数を知るためには、モデル化処理の段階において図11に示すような統計データを求めておくことが有効である。
N ×(33−4)……(2)
の式によって、間引閾値MHを大きくすることによって削減できるデータ量を求めることができる。不一致ドット数に対する不一致区画領域TLyの個数を知るためには、モデル化処理の段階において図11に示すような統計データを求めておくことが有効である。
図11において、各行には、不一致ドット数に対応する不一致区画領域TLyの個数が「領域数」として示されている。このような統計データTKは、モデル化処理にいおて処理の対象となった区画領域TLの不一致ドット数を求めたときにその不一致ドット数についての領域数を1つカウントアップする。そのような処理を全ての区画領域TLに対して行う。
図11の例によれば、不一致ドット数が「0」であった区画領域TLが21781個、「1」であった区画領域TLが9720個、「2」であった区画領域TLが4413個、擬似階調画像データD1に含まれていたことになる。
間引閾値MHを大きくした場合の圧縮画像データADのデータ量は、間引閾値MHを「0」として試算した圧縮画像データADのデータ量から(2)式によって求められるデータ量を引くことによって試算できる。そして、試算されたデータ量が目標データ量GL以下となる場合の間引閾値MHの値が、実際の間引処理に用いられる間引閾値MHとして決定される。
図12は間引閾値MHと圧縮画像データADのデータ量との関係を示す図である。
本実施例においては、図9に示す符号化表を用いて代表値差分の符号化を行った場合の符号長の平均が4ビット程度であるとして圧縮画像データADの合計のデータ量を試算し、それによって間引閾値MHを決定した。これを図12に示すようなグラフを用いることによって求めるようにしてもよい。
図12(a)には、符号の出現頻度、符号の符号長(ビット長)、および間引閾値MHと圧縮画像データADのデータ量との関係を表すグラフである曲線C1および曲線C2が示される。曲線C1は、擬似階調画像ドットパターンと再現ドットパターンとの不一致を許容しない場合に対応する。曲線C2は、両者の不一致を許容する場合に対応する。また、このグラフのy軸には符号長と出現頻度との積が示される。x軸には間引閾値MHが示される。
ここにおいて、曲線C1、直線L1、x軸、およびy軸によって囲まれる領域の面積S1は間引閾値MHを「0」とした場合の圧縮画像データADのデータ量となる。
間引閾値MHを大きくすると、圧縮画像データADのデータ量は、図12(b)において斜線で示される領域の面積S2の値に変化する。
従って、面積S2が目標データ量GL未満となるような直線L2を求めることによって、その直線L2とx軸との交点の値x1を、求めるべき間引閾値MHとすることができる。
〔展開処理〕
展開処理においては、まず、符号表FT1に基づいて圧縮画像データADを復号することによって間引済データEDを復元する。
〔展開処理〕
展開処理においては、まず、符号表FT1に基づいて圧縮画像データADを復号することによって間引済データEDを復元する。
その間引済データEDから各区画領域TLの擬似階調画像データD1を復元するにあたって、注目領域TLに着目した場合に、注目領域TLについての間引済データEDに切替フラグが含まれている場合は、その間引済データEDから擬似階調画像ドットパターンを抽出し、それを注目領域TLのドットパターンとする。
注目領域TLについての間引済データEDに切替フラグが含まれていない場合は、その間引済データEDから代表値差分を抽出し、それによって注目領域TLの代表値を求める。圧縮画像データADに係る擬似階調画像データD1を生成する際の擬似階調化に使用されたディザパターンと求めた代表値とを用いて注目領域TLのドットパターンを復元する。なお、ディザパターンは、展開処理が行われるプリンタ13のメモリなどに予め保存しておいてもよいし、圧縮画像データADとともにそれに対応するディザパターンがコンピュータ本体11から送信されるようにしてもよい。
注目領域TLの代表値は、注目領域TLの直前の区画領域TLの代表値とこの代表値差分との和をとることによって求めることができる。なお、直前の区画領域TLのドットパターンの復元に代表値が用いられなかった、すなわち間引済データEDに含まれる擬似階調画像ドットパターンによってドットパターンが復元された場合は、その区画領域TLの代表値は、「0」であったものとして計算する。従って、この場合、注目領域TLの代表値は、代表値差分そのものとなる。なお、間引処理の際に、不一致ドット数が間引閾値MH以下であると判定された区画領域TLについては、その区画領域TLのドットパターンが代表値によって近似的に復元される。
以上のような処理を全ての区画領域TLに対して行うことにより、擬似階調画像データD1全体のドットパターンを復元する。
〔フローチャートによる説明〕
図13は第一の実施例におけるモデル化処理の流れを説明するためのフローチャート、図14は第一の実施例における間引閾値決定処理の流れを説明するためのフローチャート、図15は第一の実施例における間引処理の流れを説明するためのフローチャート、図16は第一の実施例における展開の処理の流れを説明するためのフローチャートである。次に、図13のフローチャートを参照して、本実施例におけるモデル化処理の流れについて説明する。
〔フローチャートによる説明〕
図13は第一の実施例におけるモデル化処理の流れを説明するためのフローチャート、図14は第一の実施例における間引閾値決定処理の流れを説明するためのフローチャート、図15は第一の実施例における間引処理の流れを説明するためのフローチャート、図16は第一の実施例における展開の処理の流れを説明するためのフローチャートである。次に、図13のフローチャートを参照して、本実施例におけるモデル化処理の流れについて説明する。
図13において、まず、圧縮対象の擬似階調画像データD1を生成する際の擬似階調化に用いたディザパターンDPを読み込む(#401)。圧縮する擬似階調画像データD1を所定の領域ごとに区画する(#402)。モデル化処理を行う区画領域TLを読み込む(#403)。読み込んだ区画領域TLのドットの個数を数え、その個数をその区画領域TLの代表値として決定する(#404)。決定した代表値およびステップ#401で読み込んだディザパターンDPを用いてその区画領域TLのドットパターンを再現する(#405)。
再現したドットパターンとその区画領域TLの擬似階調画像データD1のドットパターンとを比較し両者が一致した場合は(#406で「一致」)、ステップ#404で決定した代表値をこの区画領域TLのモデル化データMDとして保存する(#407)。不一致ドット数が「0」である区画領域TLの個数を1つ追加するように統計データTKを更新する(#408)。
再現したドットパターンとその区画領域TLの擬似階調画像データD1のドットパターンとが一致しなかった場合は(#406で「不一致」)、一致しなかったドットの個数である不一致ドット数を数える(#409)。さらに、ステップ#404で求めた代表値、ステップ#407で求めた不一致ドット数、この区画領域TLにおける擬似階調画像データD1のドットパターン、および切替フラグをこの区画領域TLのモデル化データMDとして保存する(#410)。ステップ#408で算出した不一致ドット数である区画領域TLの個数を1つ追加するように統計データTKを更新する(#408)。
まだモデル化処理を行なっていない区画領域TLがある場合は(#411で「No」)、そのような区画領域TLについてステップ#403以降の処理を繰り返す。
全ての区画領域TLについてモデル化処理が完了した場合は(#411で「Yes」)、モデル化処理を終了する。
次に、図14のフローチャートを参照して、本実施例における間引閾値決定処理の流れについて説明する。
図14において、目標データ量GLを読み込む(#421)。モデル化処理において生成したモデル化データMDから、間引閾値MHを「0」とした場合における圧縮画像データADの合計のデータ量を試算する(#422)。
試算したデータ量が目標データ量GLよりも小さかった場合は(#423で「Yes」)、間引閾値MHを「0」に決定する(#424)。
試算したデータ量が目標データ量GL以上であった場合は(#423で「No」)、統計データTKを参照し(#425)、間引閾値MHを1つ増やした場合における圧縮画像データADを試算する(#426)。
試算したデータ量が目標データ量GLよりも小さかった場合は(#427で「Yes」)、試算に用いた間引閾値MHを実際の間引処理に用いる間引閾値MHとして決定する(#428)。
ステップ#426で試算したデータ量が目標データ量GL以上であった場合は(#427で「No」)、ステップ#425以降の処理を繰り返す。
次に、図15のフローチャートを参照して、本実施例における間引処理の流れについて説明する。
図15において、一領域分のモデル化データMDを読み込む(#441)。そのモデル化データMDに切替フラグが示されていない場合は(#442で「No」)、そのモデル化データMDに示される代表値を符号化すると決定する(#443)。さらに、その代表値と直前に処理された区画領域TLの代表値との差分値を求め、それを符号化する(#444)。
ステップ#441においてモデル化データMDに切替フラグが示されている場合は(#442で「Yes」)、そのモデル化データMDに示される不一致ドット数と間引閾値MHとを比較する(#445)。
不一致ドット数が間引閾値MH以下である場合は(#445で「Yes」)、ステップ#443以降の処理を行なう。
不一致ドット数が間引閾値MHより大きい場合は(#445で「No」)、モデル化データMDに示されるドットパターンを符号化すると決定する(#446)。ドットパターンおよび切替フラグを符号化する(#447および#448)。
まだ間引済処理を行なっていない区画領域TLがある場合は(#449で「No」)、そのような区画領域TLについてステップ#441以降の処理を繰り返す。
全ての区画領域TLについて間引処理が完了した場合は(#449で「Yes」)、処理を終了する。
このようにして生成された圧縮画像データADは、コンピュータ本体11からプリンタ13に送信され、プリンタ13で展開される。
次に、図16のフローチャートを参照して、本実施例における展開の処理の流れについて説明する。
展開処理において、まず、圧縮画像データADを符号表FT1に基づいて復号し、間引済データEDを復元する(#461)。間引済データEDに切替フラグが含まれている区画領域TLについては(#462で「Yes」)、その間引済データEDに含まれる擬似階調ドットパターンを用いて擬似階調画像データD1を復元する(#463)。
間引済データEDに切替フラグが含まれていない区画領域TLについては(#462で「No」)、その間引済データEDに含まれる代表値導出値から代表値を求め、その代表値とディザパターンDPとを用いて擬似階調画像データD1を復元しまたは近似的に復元する(#464)。
全ての区画領域TLについての擬似階調画像データD1の復元が完了していない場合は(#465で「No」)、ステップ#462以降の処理を繰り返す。
全ての区画領域TLについての擬似階調画像データD1の復元が完了した場合は(#465で「Yes」)、処理を終了する。この後、プリンタ13は、復元されたまたは近似的に復元された擬似階調画像データD1に基づいて印刷を実行する。
本実施例においては、代表値として区画領域TLのドットの個数を用いたが、先に特願2004−377575として提案した方法によって代表値を求めるようにしてもよい。すなわち、以下のようにして代表値を求める。なお、この説明では、区画領域TLおよびディザパターンDPとして図17に示すような6×16画素のものを用いる。
擬似階調化(この例においては「2値化」)が行われる前の階調性のある画像データFDのうち、区画領域TLに対応する領域の画像データFDについて考える。そのような画像データFDを、ここでは「画像データFDL」とする。そして、画像データFDLの各画素の濃度値が、図17(b)に示すディザパターンDPの対応する画素のしきい値未満であったときに、その画素にドットが打たれたものとする。つまり、ここでは濃度値が小さいほど濃度が高いものと仮定する。
その場合に、ある画素でドットが打たれているときは、その画素の濃度値がディザパターンDPの対応する画素のしきい値未満であったということができる。これは、その画素の濃度の上限値が、ディザパターンDPの対応する画素のしきい値より「1」だけ小さい値であった、と言い換えることができる。逆に、ドットが打たれていないときは、その画素の濃度値はディザパターンDPの対応する画素のしきい値以上であったということになる。これは、その画素の濃度の下限値が、ディザパターンDPの対応する画素のしきい値であったと言い換えることができる。
そこで、区画領域TLとディザパターンDPとにおいて、各画素の上限値および下限値を集計し、上限値の最小値Jおよび下限値の最大値Kを求める。これら上限値の最小値Jと下限値の最大値Kについて、
J≧K ……(3)
の関係が成り立つならば、
J≧a≧K ……(4)
を満たす「a」が存在する。この「a」を代表値として決定する。なお、上の(3)式が成り立たないとき、すなわち「a」が求まらないときは、所定のルールに従って代表値を求める。例えば、直前の区画領域TLの代表値をその区画領域TLの代表値として採用する。
J≧K ……(3)
の関係が成り立つならば、
J≧a≧K ……(4)
を満たす「a」が存在する。この「a」を代表値として決定する。なお、上の(3)式が成り立たないとき、すなわち「a」が求まらないときは、所定のルールに従って代表値を求める。例えば、直前の区画領域TLの代表値をその区画領域TLの代表値として採用する。
または、先に特願2005−204843として提案した方法によって代表値を求めるようにしてもよい。すなわち、以下のようにして代表値を求める。
注目領域TLに着目した場合に、注目領域TLの代表値および注目領域TLに隣接する1つまたは複数の区画領域TLの代表値を用い予め定められた補間ルールにしたがって注目領域における各画素の濃度値を補間して求めさらにディザパターンDPを用いて擬似階調化を行った場合に当該注目領域TLにおける擬似階調画像が再現されるような、そのような代表値を求めて当該注目領域の代表値aとして決定する。再現されない場合は、所定のルールに従って代表値を求める。例えば、直前の区画領域TLの代表値をその区画領域TLの代表値として採用する。
代表値aが決定された区画領域TLに隣接する領域を次の注目領域TLとし、注目領域TLを順次移動させて全ての領域について代表値aを決定する。最初に注目領域TLとした区画領域TLについては、既に代表値aの決定された区画領域TLが存在しないので、その注目領域TLにおける周辺部または端部、特に頂点部に位置する画素の濃度値などを考慮して代表値aを決定すればよい。
なお、代表値aを求める際に使用する補間ルールとしては、例えば以下のようなものがあげられる。
(1) 当該注目領域TLの代表値および当該注目領域TLに隣接する2つの領域のそれぞれの代表値の合計3つの代表値で定義される平面によって各画素の濃度値を補間する。また、平面以外を用いた直線補間とする。
(2) 当該注目領域TLの代表値および当該注目領域TLに隣接する3つの領域のそれぞれの代表値の合計4つの代表値で定義される曲面(ねじれ面)によって各画素の濃度を補間する。
(3) 当該注目領域TLの代表値および当該注目領域TLに隣接する複数の領域のそれぞれの代表値で定義されるスプライン曲面によって各画素の濃度を補間する。また、スプライン補間に代えて多項式補間とする。
〔第二の実施例〕
本実施例では、階調性を有する画像データFDの濃度値を区画領域TLごとに直行変換することによって圧縮画像データADを生成する場合について説明する。直行変換としては、離散コサイン変換(DCT)またはウェーブレット変換などが用いられる。本実施例では、離散コサイン変換を行う場合について説明する。
〔モデル化処理〕
図18は区画領域TLの各画素の濃度値を示す図、図19はレベルシフトされた後の区画領域TLの各画素の値を示す図、図20は区画領域TLの各画素のDCT係数を示す図、図21は量子化テーブルRTの例を示す図、図22は区画領域TLの量子化済係数RKを示す図、図23は本実施例に係るモデル化データMDの例を示す図である。
(1) 当該注目領域TLの代表値および当該注目領域TLに隣接する2つの領域のそれぞれの代表値の合計3つの代表値で定義される平面によって各画素の濃度値を補間する。また、平面以外を用いた直線補間とする。
(2) 当該注目領域TLの代表値および当該注目領域TLに隣接する3つの領域のそれぞれの代表値の合計4つの代表値で定義される曲面(ねじれ面)によって各画素の濃度を補間する。
(3) 当該注目領域TLの代表値および当該注目領域TLに隣接する複数の領域のそれぞれの代表値で定義されるスプライン曲面によって各画素の濃度を補間する。また、スプライン補間に代えて多項式補間とする。
〔第二の実施例〕
本実施例では、階調性を有する画像データFDの濃度値を区画領域TLごとに直行変換することによって圧縮画像データADを生成する場合について説明する。直行変換としては、離散コサイン変換(DCT)またはウェーブレット変換などが用いられる。本実施例では、離散コサイン変換を行う場合について説明する。
〔モデル化処理〕
図18は区画領域TLの各画素の濃度値を示す図、図19はレベルシフトされた後の区画領域TLの各画素の値を示す図、図20は区画領域TLの各画素のDCT係数を示す図、図21は量子化テーブルRTの例を示す図、図22は区画領域TLの量子化済係数RKを示す図、図23は本実施例に係るモデル化データMDの例を示す図である。
図18には、256階調の画像データFDにおける区画領域TLの各画素TPの濃度値が示されている。本実施例のモデル化処理においては、まず、各画素の濃度値を128ビット分マイナス側にレベルシフトする。すなわち、各画素の濃度値から「128」を引く。これによって、各濃度値は、図19に示す値に変換される。
続いて、レベルシフトした各濃度値を離散コサイン変換することによって、周波数成分を表すDCT係数に変換する。DCT係数は、レベルシフトした各濃度値を以下の式に当てはめて計算し、左辺のGijを算出することによって求められる。この式において、「i」「y」は行の番号、「j」「x」は列の番号を示す。
上記の(5)式を用いて離散コサイン変換を行うことによって、図20に示すようなDCT係数が得られる。このDCT係数は、「−1024」から「1023」までの数値になる。なお、離散コサイン変換の段階では、画質の劣化はほとんどない。
離散コサイン変換の後、求めた各画素のDCT係数を量子化する。この量子化には、図21に示すような量子化テーブルRTを用いる。この量子化テーブルRTとしては、JPEGの圧縮において用いられているものを使用してもよいし、画像データに合わせてその都度作成するようにしてもよい。
図21において、量子化テーブルRTは、区画領域TLにおいて図20のDCT係数に対応する量子化値を示す8×8桝のテーブルであり、各桝の中には、それぞれに対応するDCT係数を量子化するための量子化値が示されている。
量子化に際しては、量子化テーブルRTの桝に示される量子化値を用いて、その桝に対応する位置のDCT係数を除することにより、量子化済係数RKを求める。例えば、図18の一番上の行の左から2番目の位置(0行1列目の位置)のDCT係数である「130」を量子化する場合、この位置に対応する桝の量子化値である「6」でこの「130」を割る。すなわち、
130÷6=21.666…
となる。少数第一位以下を四捨五入することによって、量子化済係数RKは「22」となる。
130÷6=21.666…
となる。少数第一位以下を四捨五入することによって、量子化済係数RKは「22」となる。
このように区画領域TL内の全てのDCT係数を量子化することによって、図22(a)に示すような量子化済係数RKを求めることができる。
図22によれば、多くのDCT係数が「0」に変わり、「0」以外の係数が左上に集まることがわかる。
量子化済係数RKが求まると、それに基づいてモデル化データMDを生成する。これに際して、図22(b)に示すように、0行0列目のDCT00から順番にジグザグに量子化済係数RKを取り出す。こうして、「28」、「22」、「7」、「−1」、…の順に、データが取り出される。離散コサイン変換を行うと値の大きな成分が左上に集まりやすくなる。従って、このように左上からジグザグに値を取り出すことで値の偏りが大きくなり、符号化の際にデータ量を減らし易くなる。
ところで、量子化によって「0」に変換されると、元のDCT係数の情報は完全に失われてしまう。これ関しては、後の「展開処理」において詳しく説明する。従って、「0」に変換された量子化済係数RKは残しておく必要がなく、このモデル化処理の段階で省くことができる。しかし、「0」の後に「0」以外の量子化済係数RKが取り出される場合はその量子化済係数RKの位置関係を保持しておく必要があるので、これを省くことはできない。
そこで、最後に取り出される「0」以外の量子化済係数RKの後に続く「0」の量子化済係数RKをモデル化データMDから省く。すなわち、最後に現れる「0」以外の量子化済係数RKまでを取り出してモデル化データMDの生成に用いる。図22(b)の例では、DCT32までの19個の量子化済係数RKが取り出され、モデル化データMDの生成に用いられることになる。
また、「0」の量子化済係数RKが省かれたことで、区画領域TLによって、モデル化データMDに含まれる量子化済係数RKの数にばらつきが出る。そうすると、ある区画領域TLのモデル化データMDとその次の区画領域TLのモデル化データMDとの境目が分からなくなる。すなわち、区画領域TLとモデル化データMDとの対応関係が分からなくなる。そこで、本実施例では、モデル化データMD先頭にそのモデル化データMDに含まれる量子化済係数RKの個数KSを付加する。
以上のようにしてモデル化処理を行うことにより、一つの区画領域TLについて、図23に示されるようなモデル化データMDを生成する。この例では、64画素分のデータ量が19画素分のデータ量に削減されたことになる。
〔間引処理〕
図24は本実施例における間引済データEDを説明するための図である。
〔間引処理〕
図24は本実施例における間引済データEDを説明するための図である。
ここでは、間引処理に先立って決定される間引閾値MHよりも小さい値の量子化済係数RKをモデル化データMDから間引くための処理を行う。具体的には、モデル化データMDに含まれる量子化済係数RKを間引閾値MHで除算し、それによって値が「0」となった量子化済係数RK、すなわち、情報が完全に失われた量子化済係数RKを間引く。以下、量子化済係数RKを間引閾値MHで除算することによって得られた係数を「間引済係数MK」と記載することがある。
例えば間引閾値MHが「2」であった場合、図23に示すモデル化データMDに示される各量子化済係数RKを「2」で割ることによって、それぞれ、図24(a)に示す間引済係数MKに変換する。
ここにおいて、間引閾値MHで割ることによって得られた間引済係数MKは、量子化の場合と同様、少数第一以下を四捨五入する。ただし、その値が「1」未満であった場合は、少数第一以下を切り捨てる。すなわち、「0」にする。
「0」に変換された間引済係数MKは元の情報が完全に失われてしまうため残しておく必要がない。従って、モデル化処理のときと同様に、最後の「0」以外の値の後に続く「0」を省く。これによって、注目領域TLのモデル化データMDにおいて、後ろから連続する、間引閾値MHよりも絶対値の小さい量子化済係数RKが省かれることになる。従って、間引閾値MHが「2」の場合、図23の例では、量子化済係数RK14から量子化済係数RK19までが省かれる対象となる。
間引済係数MKを省いた後、残った間引済係数MKの個数でモデル化データMDの先頭に示されていた個数KSを更新する。こうして、図23のモデル化データMDは、図24(b)に示すような間引済データEDに変換される。この例では、モデル化処理で19画素分のデータ量まで減ったものが、さらに14画素分のデータ量まで削減されたことになる。
〔符号化処理〕
図25は間引済係数MKについての符号表FT2の例を示す図である。
〔符号化処理〕
図25は間引済係数MKについての符号表FT2の例を示す図である。
符号化処理においては、図25に示す符号化表FT2を用いることによって、間引済データEDに示される間引済係数を符号化する。
図25において、符号表FT2には、「間引済係数」、「符号」、および「付加ビット数」の項目が含まれる。「間引済係数」には、符号化の対象となる間引済係数が1つ以上示される。「符号」には、対応する行の間引済係数に割り当てられる符号の前半部分が示される。「付加ビット数」には、対応する行の間引済係数に割り当てられる符号の後半部分のビット数が示される。この符号表FT2による符号化の具体的な方法は、図9の符号表FT1において説明したものと同様である。
ところで、離散コサイン変換によって求められた図20の各DCT係数のうちDCT00の位置に示される値(図20の例では「224」)は、特に「DC成分」と呼ばれている。これは、区画領域TLの濃度値の平均を示す成分である。また、それ以外の値については、DC成分に対して特に「AC成分」と呼ばれている。
区画領域TLの濃度値の平均は、多くの場合、隣接する区画領域TL間でゆっくりと変化する。従って、隣接する区画領域TL間のDC成分の差分値は小さな値になることが多い。符号表FT2よると小さな値ほど短い符号長の符号が割り当てられるので、DC成分については、この差分値を符号化することによってデータ量を減らすことができる。AC成分は、区画領域TL間の関連が少ないので、区画領域TLごとに独立に符号化する。
〔間引閾値決定処理〕
間引閾値決定処理においては、モデル化データMDを図25の符号表FT2に基づいて符号化処理した場合のデータ量を求めさらに間引処理および符号化処理によって削減されるデータ量を求めることによって圧縮画像データADのデータ量を試算し、その結果に基づいて間引閾値MHを決定する。
〔間引閾値決定処理〕
間引閾値決定処理においては、モデル化データMDを図25の符号表FT2に基づいて符号化処理した場合のデータ量を求めさらに間引処理および符号化処理によって削減されるデータ量を求めることによって圧縮画像データADのデータ量を試算し、その結果に基づいて間引閾値MHを決定する。
モデル化データMDを符号化処理した場合のデータ量を求めるに際しては、モデル化データMDに含まれる量子化済係数RKをスキャンし、スキャンした量子化済係数RKが符号表FT2のどの行に対応するかを確認する。対応する行が分かればその量子化済係数RKを符号化した場合の符号長を簡単に知ることができる。さらに、順番に量子化済係数RKをスキャンし得られた符号長を加算していく。
このような単純な処理を全ての区画領域TLのモデル化データMDについて行うことによって、全ての量子化済係数RKについての符号長の総和、すなわちモデル化データMDをそのまま符号表FT2によって符号化処理した場合のデータ量を求めることができる。このようにして求めたデータ量をここでは「A」とする。
間引処理では、注目領域TLのモデル化データMDにおいて、後ろから連続する、間引閾値MHよりも小さい量子化済係数RKが省かれる。以下、特にこのような量子化済係数RKを間引対象係数RKと記載することがある。
間引対象係数RKは、注目領域TLのモデル化データMDに含まれる量子化済係数RKを、先頭から順番に間引閾値MHと比較し判別することによって、その個数を簡単に数えることができる。すなわち、順番に比較を行って、間引閾値MHより小さい量子化済係数RKが現れたときにカウントアップする。間引閾値MH以上の量子化済係数RKが現れたらカウントを0に戻す。注目領域TLのモデル化データMDに含まれる最後の量子化済係数RKまでそのような処理を繰り返す。最終的に得られるカウントが注目領域TLについての間引対象係数RKの個数となる。
このような単純な処理を全ての区画領域TLについて行うことにより、全区画領域についての間引対象係数RKの総数が得られる。間引対象係数RKは間引閾値MHによって割られることによって値が「0」となる。従って、仮に間引対象係数RKを符号化したとすると、符号表FT2より符号長は2ビットとなる。従って、間引対象係数RKを全て省くことにより「間引対象係数RKの総数×2」のデータ量を削減できることになる。このようにして求めた、間引処理によって削減されるデータ量をここでは「B」とする。
ところで、本実施例においては、間引閾値MHとして2の累乗(1,2,4,8,…)を使用する。従って、間引閾値MHを一段階大きくすると、間引処理によって量子化済係数RKは1/2の値の間引済係数MKに変換される。これは、符号表FT2では、その量子化済係数RKに対応する行が一つ上にシフトすることを意味する。符号表FT2では、行が上にいくに従って1ビットずつ符号長が短くなる。よって、間引閾値MHを一段階上げることは、1つ量子化済係数RKにつき1ビット符号長が短くなることを意味する。
つまり、符号化処理においては、間引閾値MHが1段階上がれば各量子化済係数RKの符号長が1ビットずつ減るので、符号化の対象となる量子化済係数RKの個数分だけデータ量が削減されることになる。このようにして求めた、符号化によって削減されるデータ量をここでは「C」とする。
以上のようにして、モデル化データMDをそのまま符号化処理した場合のデータ量A、間引処理によって削減されるデータ量B、および符号化によって削減されるデータ量Cを求めることができる。そして、これらを、
A−(B+C)……(6)
の式に当てはめることによって圧縮画像データADのデータ量を試算できる。
A−(B+C)……(6)
の式に当てはめることによって圧縮画像データADのデータ量を試算できる。
そして、以上のようにして試算した圧縮画像データADのデータ量が目標データ量GLよりも小さくなるような間引閾値MHを求め、それを実際の間引処理に用いる間引閾値MHとして決定する。
〔展開処理〕
展開処理においては、まず、符号表FT2に基づいて圧縮画像データADを復号する。次に、間引閾値MHおよび量子化テーブルRTを用いてDCT係数を復元する。すなわち、復号された各係数と間引閾値MHとの積をとり、さらに、それによって得られた各値と量子化テーブルRTに示される量子化値との積をとる。
〔展開処理〕
展開処理においては、まず、符号表FT2に基づいて圧縮画像データADを復号する。次に、間引閾値MHおよび量子化テーブルRTを用いてDCT係数を復元する。すなわち、復号された各係数と間引閾値MHとの積をとり、さらに、それによって得られた各値と量子化テーブルRTに示される量子化値との積をとる。
ここにおいて、量子化テーブルRTに示される各量子化値を間引閾値MHで乗算することによって量子化テーブルRT’を作成し、それを用いてDCT係数を復元するようにしてもよい。なお、量子化または間引処理の際に四捨五入された係数については、DCT係数が近似的に復元される。以下、DCT係数を復元するための処理を「逆量子化」と記載することがある。
さらに、復元したDCT係数を逆離散コサイン変換し、その変換によって得られた各値をプラス側に128ビットシフト(逆レベルシフト)することによって、各濃度値を近似的に復元する。
なお、間引閾値MHは、圧縮画像データADとともにプリンタ13に送信される。また、展開処理の際に用いられる量子化テーブルRTは、プリンタ13に予め保存しておいてもよいし、圧縮画像データADとともにコンピュータ本体11から送信されるようにしてもよい。
〔フローチャートによる説明〕
図26は第二の実施例の圧縮および展開についての処理の流れを説明するためのフローチャートである。次に、図26のフローチャートを参照して、本実施例の圧縮および展開の処理について説明する。
〔フローチャートによる説明〕
図26は第二の実施例の圧縮および展開についての処理の流れを説明するためのフローチャートである。次に、図26のフローチャートを参照して、本実施例の圧縮および展開の処理について説明する。
図26において、まず、圧縮する画像データFDを所定の領域ごとに区画する(#501)。モデル化処理を行う区画領域TLを読み込む(#502)。読み込んだ区画領域TLを離散コサイン変換する(#503)。ステップ#503の変換によって得られたDCT係数を量子化する(#504)。
全ての区画領域TLについてステップ#504までの処理が完了していない場合は(#505で「No」)、ステップ#502以降の処理を繰り返す。
全ての区画領域TLについてステップ#504までの処理が完了した場合は(#505で「Yes」)、モデル化データMDに基づいて間引閾値MHを決定する(#506)。
決定された間引閾値MHを用いて、ステップ#504で量子化された各値を除算する(#507)。除算されることによって求められた各値を符号化する(#508)。以上の処理によって、コンピュータ本体11にて圧縮画像データADが生成される。
生成された圧縮画像データADは、コンピュータ本体11からプリンタ13に送信され、プリンタ13で展開される。その展開の処理において、まず、圧縮画像データADを符号表FT2に基づいて復号する(#510)。
復号された各値を量子化テーブルおよび間引閾値MHで乗算することによって逆量子化する(#511)。逆量子化されることによって得られた各値を逆離散コサイン変換する(#512)。変換によって得られた各値を逆レベルシフトする(#513)。以上の処理によって、画像データが近似的に復元される。
〔第三の実施例〕
本実施例では、BTC(Block Truncation Coding)による処理を、階調性を有する画像データFDの区画領域TLごとに施すことによって圧縮画像データADを生成する場合について説明する。
〔モデル化処理〕
図27はBTCによるモデル化処理を説明するための図である。
〔第三の実施例〕
本実施例では、BTC(Block Truncation Coding)による処理を、階調性を有する画像データFDの区画領域TLごとに施すことによって圧縮画像データADを生成する場合について説明する。
〔モデル化処理〕
図27はBTCによるモデル化処理を説明するための図である。
図27(a)には、区画領域TLの階調画像が示される。モデル化処理において、まず、区画領域TLの濃度値の平均である領域平均値を求める。求めた領域平均値よりも濃度値が濃い画素と薄い画素とを判別し、濃い画素についての濃度値の平均値である第一平均値と薄い画素についての濃度値の平均値である第二平均値とを求める(図27(b)参照)。さらに、図27(c)に示すように、領域平均値よりも濃度値が濃い画素にドットを打った場合におけるドットパターンである仮想ドットパターンを取得する。
以上の処理を全ての区画領域TLについて行い、第一平均値、第二平均値、および仮想ドットパターンを含むモデル化データMDを区画領域TLごとに生成する。
ところで、第一平均値および第二平均値は、濃度値の平均値であるので、画像データFDが256階調であった場合は8ビットで表される。また、仮想ドットパターンは、一つの画素のドットを1ビットで表現できるので、64画素(8×8画素)の領域である1の区画領域TLについて64ビットで表される。従って、この場合のモデル化データMDのデータ量は、80ビット(64+8+8ビット)となる。従って、このモデル化処理において、64画素×8ビットであったデータ量が80ビットまで削減されたことになる。
〔間引処理〕
間引処理においては、第一平均値と第二平均値との差が小さい区画領域TLの濃度値を、均一に第一平均値であるとみなすことによってデータ量を削減する処理を行う。
〔間引処理〕
間引処理においては、第一平均値と第二平均値との差が小さい区画領域TLの濃度値を、均一に第一平均値であるとみなすことによってデータ量を削減する処理を行う。
そのような処理を行うに際して、注目領域TLに着目した場合に、まず、注目領域TLについてのモデル化データMDに示される第一平均値と第二平均値との差を求める。そして、その差が、間引処理に先立って決定された間引閾値MH以下である場合は、その注目領域TLについての間引済データEDを第一平均値を用いて生成する。これは、区画領域TLの二つの平均値である第一平均値と第二平均値とがひとつの値に統合されたことを意味する。なお、この場合の間引済データEDの生成に、第二平均値または第一平均値と第二平均値との中間値など他の値を用いるようにしてもよい。
その差が間引閾値MHよりも大きい場合は、そのモデル化データMDに示される第一平均値、第二平均値、仮想ドットパターン、および切替フラグを用いて間引済データEDを生成する。
従って、第一平均値と第二平均値との差が小さい、すなわちその差が閾値以下である区画領域TLについては、80ビット(10バイト)のモデル化データMDから8ビット(1バイト)の間引済データEDが生成される。つまり、このような区画領域TLについては、データが1/10に圧縮されることになる。
〔符号化処理〕
図28はBTCによる圧縮で使用する符号表FT3の例を示す図である。
〔符号化処理〕
図28はBTCによる圧縮で使用する符号表FT3の例を示す図である。
符号化処理において、間引済データEDに含まれる第一平均値を求めるための第一平均導出値、第二平均値を求めるための二平均導出値、および仮想ドットパターンの符号化を行う。
ここでは、着目する注目領域TLの第一平均導出値として、その直前の区画領域TLの第一平均値と注目領域TLの第一平均値との差分を用いる。また、第二平均導出値として、その直前の区画領域TLの第二平均値と注目領域TLの第二平均値との差分用いる。直前の区画領域TLの間引済データEDに第二平均値が含まれていない場合は、その直前の区画領域TLの第一平均値と注目領域TLの第二平均値との差分を符号化する。この符号化には、図28の符号表FT3を用いる。
図28において、符号表FT3には、「平均値差分」、「符号」、および「付加ビット数」の項目が含まれる。「平均値差分」には、符号化の対象となる各平均値の差分の値が1つ以上示される。「符号」には、対応する行に示される差分に割り当てられる符号の前半部分が示される。「付加ビット数」には、対応する行に示される差分に割り当てられる符号の後半部分のビット数が示される。この符号表FT3による符号化の具体的な方法は、図9の符号表FT1において説明したものと同様である。
また、仮想ドットパターンについては、ランレングス符号法によって符号化を行う。第一平均値と第二平均値とを統合して一つの値で表すことによって符号長が変化するのは主に2値データであり、256階調部の変化は無視できる。
〔間引閾値決定処理〕
ここでは、間引済データEDのデータ量を試算することによって、そのデータ量が目標データ量GL以下となるような間引閾値MHを決定する。間引処理においては、既に説明したように、第一平均値と第二平均値との差分が間引閾値MHよりも小さい区画領域TLについて、80ビットのモデル化データMDが8ビットの間引済データEDに圧縮される。
〔間引閾値決定処理〕
ここでは、間引済データEDのデータ量を試算することによって、そのデータ量が目標データ量GL以下となるような間引閾値MHを決定する。間引処理においては、既に説明したように、第一平均値と第二平均値との差分が間引閾値MHよりも小さい区画領域TLについて、80ビットのモデル化データMDが8ビットの間引済データEDに圧縮される。
従って、間引処理において削減されるデータ量は、
差分が間引閾値MH以下である区画領域TLの個数×72ビット ……(7)
の式によって簡単に求めることがきる。
差分が間引閾値MH以下である区画領域TLの個数×72ビット ……(7)
の式によって簡単に求めることがきる。
このような「差分が間引閾値MH以下である区画領域TLの個数」は、その差分に対する区画領域TLの個数を示す統計データを予め生成しておくことによって求められる。このような統計データは、例えばモデル化処理の際に生成する。
間引済データEDのデータ量は、間引処理において削減されるデータ量を、間引処理を行わなかった場合の全区画領域TLにつていのデータ量から引くことによって試算できる。
なお、間引処理を行わない場合のデータ量は、一つの区画領域TLのモデル化データMDのデータ量が80ビットであるので、
区画領域TLの総数×80ビット ……(8)
の式によって求められる。
区画領域TLの総数×80ビット ……(8)
の式によって求められる。
そして、試算した間引済データEDのデータ量が目標データ量GL未満となるような差を求め、その差を間引閾値MHとして決定する。
また、本実施例においても、「第一の実施例」において説明した図12のグラフを用いて間引閾値MHを求めることができる。
〔展開処理〕
展開処理においては、まず、生成された圧縮画像データADを符号表FT3を用いて復号する。復号によって得られた間引済データEDを区画領域TLごとに順次読み込み、画像データFDを復元していく。
〔展開処理〕
展開処理においては、まず、生成された圧縮画像データADを符号表FT3を用いて復号する。復号によって得られた間引済データEDを区画領域TLごとに順次読み込み、画像データFDを復元していく。
読み込んだ間引済データEDによって切替フラグが示されていない区画領域TLについては、その間引済データEDに含まれる第一平均値を用いてその区画領域TLの画像データを復元する。すなわち、区画領域TLの濃度値が均一に第一平均値であったものと仮定して近似的に復元する。
読み込んだ間引済データEDによって切替フラグが示されている区画領域TLについては、間引済データEDに含まれる第一平均値、第二平均値、および仮想ドットパターンを用いてその区画領域TLの画像データFDを復元する。すなわち、仮想ドットパターンのドットが打たれている画素の濃度値を均一に第一平均値であるとみなし、打たれていない画素の濃度値を均一に第二平均値であるとみなしてその区画領域TLの画像データFDを近似的に復元する。このような処理を全ての区画領域TLについて行い、画像データFD全体を近似的に復元する。
〔フローチャートによる説明〕
図29は第三の実施例の圧縮処理の流れを説明するためのフローチャート、図30は第三の実施例の展開処理の流れを説明するためのフローチャートである。次に、図29および図30のフローチャートを参照して、本実施例の圧縮および展開の処理について説明する。
〔フローチャートによる説明〕
図29は第三の実施例の圧縮処理の流れを説明するためのフローチャート、図30は第三の実施例の展開処理の流れを説明するためのフローチャートである。次に、図29および図30のフローチャートを参照して、本実施例の圧縮および展開の処理について説明する。
図29において、まず、圧縮する画像データFDを所定の領域ごとに区画する(#601)。モデル化処理を行う区画領域TLについての画像データFDを読み込む(#602)。読み込んだ区画領域TLの各画素の濃度値の平均値を求める(#603)。ステップ#603で求めた平均値よりも濃度値が大きい画素と小さい画素とを判別する(#604)。濃度値が大きい画素の濃度値の平均値である第一平均値と、濃度値が小さい画素の濃度値の平均値である第二平均値とを求める(#605)。濃度値が大きい画素にドットを打った場合におけるドットパターンである仮想ドットパターンを求め(#606)、第一平均値、第二平均値、および仮想ドットパターンを含むモデル化データMDを生成する。
全ての区画領域TLについてステップ#606までの処理が完了していない場合は(#607で「No」)、ステップ#602以降の処理を繰り返す。
全ての区画領域TLについてステップ#606までの処理が完了した場合は(#607で「Yes」)、モデル化データMDに基づいて間引閾値MHを決定する(#608)。
間引処理において、間引処理を行う区画領域TLについてのモデル化データMDを読み込み、そのモデル化データMDに示される第一平均値と第二平均値との差分とステップ#608で決定した間引閾値MHとを比較する(#609)。
その差分が間引閾値MH以下である場合は(#609で「Yes」)、第一平均導出値を符号化することによって圧縮画像データADを生成する(#610)。
第一平均値と第二平均値との差分が間引閾値MHより大きい場合は(#609で「No」)、切替フラグを付加し(#612)、その切替フラグ、第一平均導出値、第二平均値を求めるための第二平均導出値、および仮想ドットパターンを符号化することによって圧縮画像データADを生成する(#613)。
全ての区画領域TLについての圧縮画像データADの生成を完了していない場合は(#611で「No」)、ステップ#609以降の処理を繰り返す。
全ての区画領域TLについての圧縮画像データADの生成を完了した場合は(#611で「Yes」)、圧縮処理を終了する。
このようにして生成された圧縮画像データADは、コンピュータ本体11からプリンタ13に送信される。
展開処理において、まず、圧縮画像データADを符号表FT3に基づいて復号し、間引済データEDを復元する(図30の#621)。間引済データEDに切替フラグが含まれている区画領域TLについては(#622で「Yes」)、その間引済データEDに含まれる第一平均導出値から求めることができる第一平均値、第二平均値導出値から求めることができる第二平均値、および仮想ドットパターンによってその区画領域TLの画像データFDを近似的に復元する(#623)。
すなわち、仮想ドットパターンにおいてドットが打たれている画素の濃度値が均一に第一平均値であるとみなし、ドットが打たれていない画素の濃度値が均一に第二平均値であるとみなしてその濃度値を近似的に求める。
間引済データEDに切替フラグが含まれていない区画領域TLについては(#622で「No」)、その間引済データEDに含まれる第一平均値によってその区画領域TLの画像データFDを近似的に復元する(#624)。すなわち、その区画領域TLの各画素の濃度値が均一に第一平均値であるとみなしてその濃度値を近似的に求める。
全ての区画領域TLについての画像データFDの復元が完了していない場合は(#625で「No」)、ステップ#622以降の処理を繰り返す。
全ての区画領域TLについての画像データFDの復元が完了した場合は(#625で「Yes」)、処理を終了する。この後、プリンタ13は、近似的に復元された画像データFDに基づいて印刷を実行する。
なお、本実施例においては、領域平均値よりも濃度値の濃い画素を第一平均値、薄い画素を第二平均値としたが、これが逆であってもよい。
また、モデル化データMDに含める値として、第一平均値および第二平均値をそのまま用いる場合の例を示した。これを、第一平均値および第二平均値を求めるための他の値としてもよい。例えば、第一平均値の代わりに第一平均値と直前の区画領域TLの第一平均値との差分を含めるようにする。第二平均値の代わりに第一平均値と第二平均値との差分を含めるようにする。
また、第一平均導出値および第二平均導出値として様々な値を用いることができる。例えば、以下のようにする。
(1)第一平均導出値として、第一平均値を用いる。
(2)注目領域TLの第一平均導出値として、注目領域TLの直前の区画領域TLの第一平均値と注目領域TLの第一平均値との差分を用いる。
(3)第二平均導出値として、第二平均値を用いる。
(4)第二平均導出値として、第一平均値と第二平均値との差分を用いる。
(5)注目領域TLの第二平均導出値として、注目領域TLの直前の区画領域TL第二平均値と注目領域TLの第二平均値との差分を用いる。
(1)第一平均導出値として、第一平均値を用いる。
(2)注目領域TLの第一平均導出値として、注目領域TLの直前の区画領域TLの第一平均値と注目領域TLの第一平均値との差分を用いる。
(3)第二平均導出値として、第二平均値を用いる。
(4)第二平均導出値として、第一平均値と第二平均値との差分を用いる。
(5)注目領域TLの第二平均導出値として、注目領域TLの直前の区画領域TL第二平均値と注目領域TLの第二平均値との差分を用いる。
本実施形態によれば、データ量が、モデル化処理において1/2から1/10程度に削減され、間引処理において1/10から1/200程度に削減される。間引処理において削減されるデータ量は、間引閾値MHによって調整される。そして、圧縮対象の画像データFDは、目標データ量GL未満で且つそれに近いデータ量となるように圧縮される。これによって、圧縮後のデータ量が目標データ量GL未満となる場合の最良の画質を確保でき、圧縮性能が保たれる。
本実施形態によれば、モデル化データMDに基づいてデータ量が試算され、それによって間引閾値MHが決定される。また、最終的に生成すべき圧縮画像データADは、モデル化データMDから間引済データEDを経て生成される。従って、モデル化データMDを保持するだけで、目標データ量GL内にデータ量を抑える圧縮処理を実現でき、従来のように余分にメモリ領域を確保する必要がない。しかも、多くの場合において、モデル化データMDのデータ量は画像データFDまたは擬似階調画像データD1よりもかなり小さくなる。これらのような理由から、圧縮処理で必要とするメモリ領域を、従来よりも大幅に削減できる。
さらに、モデル化処理から間引処理を経て圧縮画像データADが生成される過程で、保持すべきデータ量が、処理が進むにつれて小さくなっていく。従って、メモリ領域を節約する上でさらに好ましい。
また、間引閾値MHは、圧縮画像データADのデータ量を試算することによって即座に求められる。このデータ量は、簡単な計算処理によって試算される。従って、本実施形態の圧縮方法を用いれば、従来よりも高速に処理することができる。
また、本実施形態においては、間引処理の時点でも十分な圧縮率を得ることができるので、符号化処理を省いても圧縮後のデータ量を目標データ量GL未満に抑えることは可能である。このように、符号化処理を省いて、モデル化処理および間引処理の2段階の圧縮とすることでさらに処理効率を上げることもできる。
本実施形態では、画像データFDまたは擬似階調画像データD1に対して区画領域TL単位に各処理を行うようにした。これを、区画領域TLを一行分連ねた領域であるバンド単位に行うようにしてもよい。このように、区画領域TL単位またはバンド単位に処理を施すので、プリンタ13においては、バンド単位の印刷についての処理であるバンド処理が可能となる。
本実施形態においては、間引処理によって最もデータが間引かれない場合の間引閾値MHを初めに用いて圧縮画像データADのデータ量を試算した。そして、そこから間引閾値MHの値を段階的に増やしていき、試算したデータ量が目標データ量GL未満となるような間引閾値MHを求めた。これを、ある程度の画質劣化を許容する間引閾値MHを初めに用いるようにし、そこから間引閾値MHを段階的に増やしていくようにしてもよい。こうすることによって、圧縮画像データADのデータ量が目標データ量GL未満となる間引閾値MHをより早く見つけることができるようになり、処理時間を短くすることができる。目標データ量GLが低めに設定されている場合には特に有効である。
本実施形態の間引処理においては、間引閾値MHに基づいて、必要な情報とそうでないものとを取捨選択することによりデータ量を削減した。従って、このような処理を「取捨選択処理」と呼ぶことができる。そのような処理に使用される間引閾値MHを「選択基準」と呼ぶことができる。なお、第一の実施例では「代表値を使ったときの誤差量」を、第二の実施例では「高周波成分の量」を、第三の実施例では「ブロック内の濃度変化量」を、取捨選択の基準として用いることができる。
また、間引閾値決定処理においては、間引閾値MHを決定することによって、圧縮による画質の劣化をどの程度許容するのか、すなわちどの程度の精度で画像データが復元されるのかを決定する。従って、このような処理を「精度決定処理」と呼ぶことができる。
本実施形態では、モデル化データMDなどの各データが生成される際に、生成の元となったデータをメモリ領域から破棄するようにした。しかし、メモリ容量が大きく、空きのメモリ領域を十分に確保できる場合は、破棄しないようにしてよい。
本実施形態では、圧縮画像データADのデータ量を試算することによって間引閾値MHを求める場合の例を示した。これを、間引済データEDのデータ量を試算することによって求めるようにしてもよい。
本実施形態においては、説明を簡単にするために、モデル化処理、間引処理、および符号化処理というように圧縮処理を段階的に分けて説明した。これを、本発明の趣旨に沿って、適宜、各処理の内容を変更しまたは統合することが可能である。
例えば、第二の実施例において、モデル化処理の中で量子化を行うようにしたが、間引処理において量子化を行うようにしてもよい。この場合、量子化値による除算と間引閾値MHによる除算とを同時に行う。すなわち、モデル化処理においては、画素の濃度値に基づいて離散コサイン変換を行ってDCT係数を求め、間引処理において、DCT係数から間引閾値および量子化値を用いて間引済係数を求めて間引済データを生成することができる。
また、間引処理の中で符号化を行う場合、データを間引く処理が全ての区画領域TLについて完了した時点で符号化を行うようにしてもよいし、区画領域TLごとに、データを間引く処理と符号化とを行うようにしてもよい。
また、本実施形態においてモデル化データMDなどの各種データは、画像データFD全体に対して生成されたデータを示す場合もあれば、区画領域TLに対応する個々の部分のデータを示す場合もある。
また、本実施形態の圧縮処理をプリンタ13において行うようにしてもよい。こうすることで、例えば、コピー機能を有する機種においては、コピーの際に読み取った原稿のデータに本実施形態の圧縮方法を適用することができるようになる。
その他、コンピュータ本体11、プリンタ13、およびプリントシステム1の全体または各部の構成、機能、個数、ビット数、データ量の試算方法、量子化テーブルRT、各データが示す内容、処理の内容または順序などは、本発明の趣旨に沿って適宜変更することができる。
11 コンピュータ本体(画像データ圧縮装置)
13 プリンタ(画像データ圧縮装置)
107 領域区画部(区画手段)
108 モデル化データ生成部(モデル化手段)
109 間引閾値決定部(間引閾値決定手段)
111 符合化部(圧縮データ生成手段)
a 代表値
AP 代表値
AD 圧縮画像データ(圧縮データ)
D1 擬似階調画像データ(画像データ)
DP ディザパターン
FD 画像データ
GL 目標データ量
MD モデル化データ
MH 間引閾値(変換値)
MK 間引済係数(変換済係数)
RK 量子化済係数(変換済係数)
TL 区画領域(領域、注目領域)
13 プリンタ(画像データ圧縮装置)
107 領域区画部(区画手段)
108 モデル化データ生成部(モデル化手段)
109 間引閾値決定部(間引閾値決定手段)
111 符合化部(圧縮データ生成手段)
a 代表値
AP 代表値
AD 圧縮画像データ(圧縮データ)
D1 擬似階調画像データ(画像データ)
DP ディザパターン
FD 画像データ
GL 目標データ量
MD モデル化データ
MH 間引閾値(変換値)
MK 間引済係数(変換済係数)
RK 量子化済係数(変換済係数)
TL 区画領域(領域、注目領域)
Claims (10)
- 画像データの圧縮データを生成するための画像データ圧縮方法であって、
前記画像データを所定の領域ごとに区画し、
前記領域ごとに前記画像データの特徴を抽出することによって、その一部を段階的に間引いた場合に画像再現性が変化するモデル化データを生成するモデル化処理を行い、
前記モデル化データからデータを間引く間引処理を経て生成される圧縮データのデータ量を当該間引処理に関する閾値に基づいて試算し、当該データ量が所定の目標データ量以下になるような、そのような閾値である間引閾値を求め、
求めた前記間引閾値に基づいて前記間引処理を実行することによって圧縮データを生成する、
ことを特徴とする画像データ圧縮方法。 - 前記画像データは、階調画像データをディザパターンで擬似階調化することによって得られる擬似階調画像データであり、
前記モデル化処理において、
前記領域ごとに当該領域の前記画像データの代表値を決定し、
前記領域の代表値に基づき前記ディザパターンによって再現されるドットパターンである再現ドットパターンと当該領域における前記擬似階調画像データのドットパターンである擬似階調画像ドットパターンとを比較し、
前記再現ドットパターンと前記擬似階調画像ドットパターンとが同じであった場合には当該領域の代表値を示す前記モデル化データを生成する一方、当該再現ドットパターンと当該擬似階調画像ドットパターンとが同じでなかった場合には、両ドットパターンの一致度合いを示す指標、当該領域の代表値、および擬似階調画像ドットパターンを示す前記モデル化データを生成し、
前記間引処理において、
前記再現ドットパターンと前記擬似階調画像ドットパターンとが同じでなかった領域について、前記指標と前記間引閾値との比較に基づいて、圧縮データの生成に当該領域の代表値と前記擬似階調画像ドットパターンのいずれを用いるかを決定する、
請求項1記載の画像データ圧縮方法。 - 前記領域の代表値として、当該領域のドットの個数を用いる、
請求項2記載の画像データ圧縮方法。 - 前記領域の代表値として、当該領域に対応する部分の前記階調画像データの各画素の濃度値と当該領域に対応する部分の前記ディザパターンの各画素の濃度値とをそれぞれ比較して当該階調画像データの各画素の濃度値が小さい場合に予め用意されたパターン領域にドットを打った場合に、当該パターン領域内において打たれたドットに対応する当該ディザパターンの画素の濃度値の最小値Jと打たれなかったドットに対応する当該ディザパターンの画素の濃度値の最大値Kとの間で
J≧a≧K
の条件を満たす値aを用いる、
請求項2記載の画像データ圧縮方法。 - 前記領域の代表値として、隣り合う前記領域の代表値との差分が最小となる値を用いる、
請求項4記載の画像データ圧縮方法。 - 前記領域の仮の代表値および当該領域に隣接する1つまたは複数の隣接領域の代表値を用いて予め定められた補間ルールにしたがって当該領域における各画素の濃度値を補間して求めさらに前記ディザパターンを用いて擬似階調化を行った際に当該領域における前記擬似階調画像データが再現される場合には、当該仮の代表値を当該領域の代表値として決定する、
請求項2記載の画像データ圧縮方法。 - 前記モデル化処理においては、
前記領域に含まれる画素の濃度値に基づいて離散コサイン変換を行うことによってDCT係数を求めさらに当該DCT係数を量子化値を用いて量子化して量子化済係数を求めることによって当該量子化済係数を含む前記モデル化データを生成し、
前記間引処理においては、
前記モデル化データに含まれる前記量子化済係数から前記間引閾値に基づいて間引済係数を求めることによって間引処理を実行する、
請求項1記載の画像データ圧縮方法。 - 前記モデル化処理においては、
前記領域に含まれる画素である領域画素の濃度値の平均値である領域平均値を算出し、
前記領域平均値と前記各領域画素の濃度値との比較に基づいて当該各領域画素を第一画素と第二画素とに区分した場合における当該第一画素の濃度値の平均値である第一平均値と当該第二画素の濃度値の平均値である第二平均値とを求め、
当該領域において前記第一画素にドットを打つことによって得られるドットパターン、前記第一平均値、および前記第二平均値を示す前記モデル化データを生成し、
前記間引処理においては、
前記モデル化データによって示される前記第一平均値と前記第二平均値との差分を求め、
前記差分と前記間引閾値との比較に基づいて、前記領域を前記第一平均値のみで表すか否かを決定する、
請求項1記載の画像データ圧縮方法。 - 画像データの圧縮データを生成するための画像データ圧縮装置であって、
前記画像データを所定の領域ごとに区画する区画手段と、
前記領域ごとに画像データの特徴を抽出することによって、その一部を段階的に間引いた場合に画像再現性が変化するモデル化データを生成するモデル化手段と、
前記モデル化データからデータを間引く間引処理を経て生成される圧縮データのデータ量を当該間引処理に関する閾値に基づいて試算し、当該データ量が所定の目標データ量以下になるような、そのような閾値である間引閾値を求める間引閾値決定手段と、
求めた前記間引閾値に基づいて前記間引処理を実行することによって圧縮データを生成する圧縮データ生成手段と、
を有することを特徴とする画像データ圧縮装置。 - 画像データの圧縮データを生成する処理をコンピュータに実行させるためのコンピュータプログラムであって、
当該コンピュータに、
前記画像データを所定の領域ごとに区画する処理と、
前記領域ごとに画像データの特徴を抽出することによって、その一部を段階的に間引いた場合に画像再現性が変化するモデル化データを生成する処理と、
前記モデル化データからデータを間引く間引処理を経て生成される圧縮データのデータ量を当該間引処理に関する閾値に基づいて試算し、当該データ量が所定の目標データ量以下になるような、そのような閾値である間引閾値を求める処理と、
求めた前記間引閾値に基づいて前記間引処理を実行することによって圧縮データを生成する処理と、
を実行させることを特徴とするコンピュータプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007031892A JP2007300601A (ja) | 2006-04-07 | 2007-02-13 | 画像データの圧縮方法およびその装置 |
US11/784,109 US7881545B2 (en) | 2006-04-07 | 2007-04-05 | Image data compression method and image data compression device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006106864 | 2006-04-07 | ||
JP2007031892A JP2007300601A (ja) | 2006-04-07 | 2007-02-13 | 画像データの圧縮方法およびその装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007300601A true JP2007300601A (ja) | 2007-11-15 |
Family
ID=38575329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007031892A Pending JP2007300601A (ja) | 2006-04-07 | 2007-02-13 | 画像データの圧縮方法およびその装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7881545B2 (ja) |
JP (1) | JP2007300601A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013115752A (ja) * | 2011-11-30 | 2013-06-10 | Seiko Epson Corp | 印刷システム |
JP2013115748A (ja) * | 2011-11-30 | 2013-06-10 | Seiko Epson Corp | 印刷システム及び印刷システム用プログラム |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100012738A (ko) * | 2008-07-29 | 2010-02-08 | 삼성전자주식회사 | 동영상 부호화/복호화시 참조 영상의 압축 방법 및 장치 |
CN103428486B (zh) * | 2012-05-24 | 2017-06-09 | 富士通株式会社 | 图像压缩方法和装置 |
JP6154643B2 (ja) * | 2013-03-29 | 2017-06-28 | Kddi株式会社 | 動画像符号化装置、動画像符号化装置のデプスイントラ予測方法およびプログラム、ならびに動画像復号装置、動画像復号装置のデプスイントラ予測方法およびプログラム |
US10015495B2 (en) * | 2016-05-09 | 2018-07-03 | Adobe Systems Incorporated | Generating custom quantization tables for JPEG compression based on image content |
CN115167554B (zh) * | 2022-07-19 | 2024-05-10 | 珠海格力电器股份有限公司 | 烹饪温度曲线的处理方法、装置和计算机设备 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2172767B (en) * | 1985-01-31 | 1989-02-08 | Canon Kk | Image signal processing system |
US6553143B2 (en) * | 1992-06-30 | 2003-04-22 | Canon Kabushiki Kaisha | Image encoding method and apparatus |
US5625712A (en) * | 1994-12-14 | 1997-04-29 | Management Graphics, Inc. | Iterative compression of digital images |
US6137589A (en) * | 1995-09-20 | 2000-10-24 | Hewlett-Packard Company | Efficient storage of dithered raster image data in a printer or the like |
US5790131A (en) * | 1996-05-15 | 1998-08-04 | Iterated Systems, Inc. | System and method for lossy compression of data with output file size control |
US6646759B1 (en) * | 1996-05-15 | 2003-11-11 | Canon Kabushiki Kaisha | Printing apparatus and image output control apparatus for processing image data using a dither pattern |
JP3681828B2 (ja) * | 1996-08-14 | 2005-08-10 | 富士写真フイルム株式会社 | 画像データの符号量制御方法およびその装置 |
AUPP702498A0 (en) * | 1998-11-09 | 1998-12-03 | Silverbrook Research Pty Ltd | Image creation method and apparatus (ART77) |
US6201614B1 (en) * | 1998-12-24 | 2001-03-13 | Electronics For Imaging, Inc. | Dithered image compression system |
US6349151B1 (en) * | 1998-12-29 | 2002-02-19 | Eastman Kodak Company | Method and apparatus for visually optimized compression parameters |
DE19958553A1 (de) * | 1999-12-04 | 2001-06-07 | Luratech Ges Fuer Luft Und Rau | Verfahren zur Kompression von gescannten Farb- und/oder Graustufendokumenten |
JP2001186332A (ja) * | 1999-12-27 | 2001-07-06 | Ricoh Co Ltd | 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2001238085A (ja) | 2000-02-25 | 2001-08-31 | Canon Inc | 画像処理装置及びその制御方法 |
JP4135293B2 (ja) * | 2000-03-30 | 2008-08-20 | コニカミノルタホールディングス株式会社 | 画像処理装置 |
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 |
JP3840076B2 (ja) | 2001-08-29 | 2006-11-01 | キヤノン株式会社 | 画像処理装置及び方法及びコンピュータプログラム及び記憶媒体 |
WO2004068844A1 (ja) * | 2003-01-30 | 2004-08-12 | Fujitsu Limited | 画像圧縮方法、画像復元方法、プログラム及び装置 |
JP2005252573A (ja) | 2004-03-03 | 2005-09-15 | Ricoh Co Ltd | 画像処理装置および画像処理方法 |
JP4371026B2 (ja) * | 2004-09-28 | 2009-11-25 | コニカミノルタビジネステクノロジーズ株式会社 | プリントシステムおよびプリンタ |
-
2007
- 2007-02-13 JP JP2007031892A patent/JP2007300601A/ja active Pending
- 2007-04-05 US US11/784,109 patent/US7881545B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013115752A (ja) * | 2011-11-30 | 2013-06-10 | Seiko Epson Corp | 印刷システム |
JP2013115748A (ja) * | 2011-11-30 | 2013-06-10 | Seiko Epson Corp | 印刷システム及び印刷システム用プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20070237406A1 (en) | 2007-10-11 |
US7881545B2 (en) | 2011-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7236636B2 (en) | Image compression method, image restoration method, program and apparatus | |
JP4365957B2 (ja) | 画像処理方法及びその装置及び記憶媒体 | |
JP2007300601A (ja) | 画像データの圧縮方法およびその装置 | |
JP3843581B2 (ja) | 画像符号化装置、画像復号化装置および画像処理装置、並びに画像符号化方法、画像復号化方法および画像処理方法 | |
US8452083B2 (en) | Image processing apparatus, image processing method, and computer-readable medium | |
JP2006166420A (ja) | 画像符号化装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 | |
JP4440051B2 (ja) | 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 | |
US8023756B2 (en) | Image encoding apparatus and method of controlling same | |
JP4627670B2 (ja) | 画像形成装置、画像形成方法、その方法を実行させるプログラムが格納されたコンピュータ読み取り可能な記憶媒体 | |
US20020012474A1 (en) | Image processing apparatus and image processing method | |
JP2007306513A (ja) | 画像データの圧縮方法および装置 | |
JP4371026B2 (ja) | プリントシステムおよびプリンタ | |
JP4715175B2 (ja) | 画像形成装置および方法 | |
JP4047207B2 (ja) | 画像符号化装置、画像符号化方法及びプログラム | |
JP2004312693A (ja) | 画像符号化装置及び画像符号化方法 | |
JPH11289461A (ja) | 画像符号化方法および画像符号化装置 | |
JP4743884B2 (ja) | 画像符号化装置及びその制御方法 | |
JP4696738B2 (ja) | 画像データの圧縮方法および装置並びに擬似階調画像の復元方法 | |
JP4719924B2 (ja) | 画像処理装置および画像処理方法 | |
JP3459723B2 (ja) | 画像処理装置及び方法 | |
JP3998115B2 (ja) | 画像処理装置及び画像処理方法 | |
JP3867886B2 (ja) | 画像符号化方法、画像符号化装置、画像復号化方法及び画像復号化装置 | |
JPH07264584A (ja) | 符号化復号化方法および符号化復号化装置 | |
JPH08194823A (ja) | データ圧縮装置 | |
JP2004032772A (ja) | 画像処理装置 |