JP2018121277A - 画像形成システム、画像形成装置、画像形成方法、プログラム - Google Patents
画像形成システム、画像形成装置、画像形成方法、プログラム Download PDFInfo
- Publication number
- JP2018121277A JP2018121277A JP2017012912A JP2017012912A JP2018121277A JP 2018121277 A JP2018121277 A JP 2018121277A JP 2017012912 A JP2017012912 A JP 2017012912A JP 2017012912 A JP2017012912 A JP 2017012912A JP 2018121277 A JP2018121277 A JP 2018121277A
- Authority
- JP
- Japan
- Prior art keywords
- block
- gradation value
- pixels
- value
- dot arrangement
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1867—Post-processing of the composed and rasterized print image
- G06K15/1872—Image enhancement
- G06K15/1881—Halftoning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/10—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by matrix printers
- G06K15/102—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by matrix printers using ink jet print heads
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
- H04N1/4051—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
- H04N1/4055—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern
- H04N1/4057—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern the pattern being a mixture of differently sized sub-patterns, e.g. spots having only a few different diameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/409—Edge or detail enhancement; Noise or error suppression
- H04N1/4092—Edge or detail enhancement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/6027—Correction or control of colour gradation or colour contrast
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color, Gradation (AREA)
- Ink Jet (AREA)
Abstract
【課題】画質の劣化を抑制すること。【解決手段】画像データに含まれるNb個の画素によって構成されるブロックを対象に、最高の階調値の画素を含むグループと、最低の階調値の画素を含むグループとを含むNt個のグループに分類し、Nt個のグループの少なくとも何れかについて、当該グループを構成する画素の位置を示す情報である位置情報を作成し、Nt個のグループそれぞれを対象に、Nb個の画素の階調値を表現するために要するデータ量よりも少ないデータ量によるブロック階調値を、各グループを構成する画素毎の階調値に基づき決定し、Nt個のグループそれぞれを対象に、ブロックを構成する画素毎にドット形成の有無を示す情報であるドット配置を、ブロック階調値に基づき仮に決定し、仮に決定されたドット配置と、位置情報とを用いて、ブロックを対象にしたドット配置を決定し、決定されたドット配置を用いて、画像を形成する画像形成システム。【選択図】図6
Description
本開示は、画像形成に関する。
特許文献1には、何れの画素にドットを形成するかを決定する手法として、次の内容が開示されている。画素を所定の複数個ずつ画素群(ブロック)にまとめて、画素群を代表する画素群階調値を決定する。次いで、画素群階調値と、該画素群階調値を多値化することによって得られる多値化結果値(ブロック階調値)とが画素群毎に設定された対応関係を参照することにより、画素群階調値を多値化する。こうして画素群毎に得られた多値化結果値を画像出力装置の制御データとして供給する。画像出力装置では、供給された制御データに基づいて、画素群内の各画素についてドットの形成有無を決定した後、出力媒体上にドットを形成して画像を出力する。特許文献2,3にも同様な内容が開示されている。
上記先行技術の場合、ブロック毎に、1つのブロック階調値を決定する。このため、ブロック内にエッジが存在する場合、画質が劣化するおそれが有る。
本開示は、上記を踏まえ、ブロック階調値を用いてハーフトーン処理する技術において、画質の劣化を抑制することを解決課題とする。
本開示の一形態は、画像データに含まれるNb個の画素によって構成されるブロックを対象に、最高の階調値の画素を含むグループと、最低の階調値の画素を含むグループとを含むNt(Ntは2≦Nt<Nbを満たす整数)個のグループに分類する分類部と;前記Nt個のグループの少なくとも何れかについて、当該グループを構成する画素の位置を示す情報である位置情報を作成する位置情報作成部と;前記Nt個のグループそれぞれを対象に、前記Nb個の画素の階調値を表現するために要するデータ量よりも少ないデータ量によるブロック階調値を、各グループを構成する画素毎の階調値に基づき決定するブロック階調値決定部と;前記Nt個のグループそれぞれを対象に、前記ブロックを構成する画素毎にドット形成の有無を示す情報であるドット配置を、前記ブロック階調値に基づき仮に決定する仮決定部と;前記仮に決定されたドット配置と、前記位置情報とを用いて、前記ブロックを対象にした前記ドット配置を決定するドット配置決定部と;前記決定されたドット配置を用いて、画像を形成する画像形成部と;を備える画像形成システムである。この形態によれば、グループ毎に仮に決定されたドット配置を、位置情報を用いて合成するので、画質の劣化が抑制される。
上記形態において、前記ブロック階調値決定部は、前記Nt個のグループそれぞれの前記ブロック階調値を、当該グループを構成する画素に格納された階調値の代表値に基づき決定してもよい。この形態によれば、グループを構成する画素毎にブロック階調値を求めなくてもよいので、処理負荷が軽減される。
上記形態において、前記仮決定部は、前記ブロックを構成する画素についてドットを形成する優先順位を用いて、前記ドット配置を仮に決定してもよい。この形態によれば、優先順位を予め定めておくことによって、ドット配置の仮決定の速度が速くなる。
上記形態において、前記ブロック階調値のデータ量と前記位置情報のデータ量との合計は、前記Nb個の画素についての前記ドット配置のデータ量よりも小さくてもよい。この形態によれば、ブロック階調値および位置情報を転送する場合、転送速度が画像形成速度を遅くしにくくなる。
上記形態において、前記分類部は、前記ブロック内にエッジが含まれない場合、前記分類を実行せず;前記ドット配置決定部は、前記ブロック内にエッジが含まれない場合、前記ドット配置を前記ブロック階調値に基づき決定してもよい。この形態によれば、ブロック内にエッジが含まれない場合、処理負荷が軽くなり、且つ、ブロック階調値および位置情報によるデータのデータ量が小さくなる。
上記形態において、前記ブロック内にエッジが含まれるか否かを、前記ブロックを構成する画素に格納された階調値と、予め定められた閾値との比較に基づき判定する判定部を備えてもよい。この形態によれば、予め定められた閾値との比較に基づき判定するので、判定を簡便に実行できる。
前記仮決定部は、前記ブロック内にエッジが含まれない場合、前記仮の決定を実行せず;前記ブロック階調値決定部は、前記ブロック内にエッジが含まれない場合、前記Ntを1と見なしてもよい。この形態によれば、更に処理負荷が軽くなる。
上記形態において、前記位置情報は、前記Nt個のグループのうち代表画素が属するグループに属するか否かを、前記ブロックを構成する画素のうち前記代表画素以外の画素について示してもよい。この形態によれば、位置情報のデータ量が、代表画素についてのデータ量の分、小さくなる。
本開示は、上記以外の種々の形態で実現できる。例えば、画像形成方法や、この方法を実現する画像形成装置、この方法を実現するためのプログラム、このプログラムを記憶した一時的でない記憶媒体等の形態で実現できる。
実施形態1:
図1は、画像形成システム20の概略を示す。画像形成システム20は、データ圧縮装置100と、プリンター200とを備える。データ圧縮装置100は、画像データを変換して圧縮データを作成する。圧縮データは、画像データのハーフトーン処理の過程において得られる中間データである。データ圧縮装置100は、圧縮データをプリンター200に送信する。画像形成システム20は、このようなデータ圧縮装置100を含むため、データ圧縮システムとしても機能する。
図1は、画像形成システム20の概略を示す。画像形成システム20は、データ圧縮装置100と、プリンター200とを備える。データ圧縮装置100は、画像データを変換して圧縮データを作成する。圧縮データは、画像データのハーフトーン処理の過程において得られる中間データである。データ圧縮装置100は、圧縮データをプリンター200に送信する。画像形成システム20は、このようなデータ圧縮装置100を含むため、データ圧縮システムとしても機能する。
本実施形態におけるデータ圧縮装置100は、パーソナルコンピューターである。データ圧縮装置100は、CPU110と、記憶媒体120とを備える。記憶媒体120には、圧縮用LUTと、プリンタードライバーとが記憶されている。記憶媒体120は、RAMを含み、プリンタードライバーの実行のための一時的な記憶を実行する。
プリンター200は、画像形成装置である。プリンター200は、CPU210と、記憶媒体220と、画像形成機構230とを備える。記憶媒体220には、解凍用LUTと、ディザーマスクと、画像形成処理用プログラムが記憶されている。記憶媒体220は、RAMを含み、画像形成処理用プログラムの実行のための一時的な記憶を実行する。
画像形成機構230は、インクジェット方式による画像形成のためのハードウエアの総称である。画像形成機構230には、プリントヘッド等が含まれる。プリンター200による画像形成の解像度は、1200dpiである。プリンター200が用いるインク色は、C(シアン)、M(マゼンタ)、Y(イエロー)、K(ブラック)である。プリンター200は、印刷媒体上に形成する各ドットのサイズを大、中、小の3種類の中から選ぶことができる。
図2は、圧縮データ送信処理を示すフローチャートである。データ圧縮装置100が記憶しているプログラムをCPU110が実行することによって実現される。このプログラムは、プリンタードライバーである。
圧縮データは、RGB値で表された画像データを元に作成される。本実施形態における画像データの解像度は、1200dpiである。画像データは、各画素に階調値を示すデータが格納されている。本実施形態における階調値は、0〜255の整数値である。このため、画像データは、各画素について、RGBそれぞれに8ビットのデータ量、つまり24ビットのデータ量を有する。
圧縮データ送信処理を開始すると、色変換を実行する(S300)。つまり、RGB値をインク色成分のCMYK値に変換する。CMYK値それぞれも、0〜255の整数値を取る。以降はインク色成分毎に同様の処理を独立して行う。続いて、インク色成分毎にデータ圧縮処理を実行し(S400)、圧縮データを送信して(S498)、圧縮データ送信処理を終える。
図3は、1色のインク色成分のデータ圧縮処理を示すフローチャートである。まず、未処理のブロックの何れか1つに着目する(S410)。
図4は、ブロックを示す。ブロックは、太線の長方形で囲われたNb(本実施形態では8)個の正方形を一塊にしたものである。各正方形は、画素を示す。画素に格納された数字は、或るインク色(例えばブラック)の階調値を示す。
ブロックは、以降の処理において疑似画素として活用される。データの圧縮は、各インク色の各ブロックを1単位として実施する。
続いて、着目しているブロック(以下、着目ブロック)にエッジが含まれるかを判定する(S420)。本実施形態におけるS420は、次式が満たされるか否かによって実行される。
(最大階調値−最小階調値)≧閾値…(1)
閾値は、本実施形態では100である。
(最大階調値−最小階調値)≧閾値…(1)
閾値は、本実施形態では100である。
図4に示されたブロックB1の場合、最大階調値が243、最小階調値が240である。よって、式(1)は満たされず、エッジは含まれないと判定されることになる。一方、ブロックB2の場合、最大階調値が255、最小階調値が3である。よって、式(1)は満たされて、エッジが含まれると判定されることになる。
エッジが含まれない場合(S420,NO)、フラグをOFFに設定する(S430)。このフラグがOFFであることは、エッジが含まれないことを示す。フラグのデータ量は、1ビットである。
続いて、ブロックの代表値を決定する(S435)。本実施形態における代表値は、ブロックに含まれる階調値の総和平均によって算出される。以下、単に平均という場合、総和平均のことを意味する。代表値は、平均が小数点以下を含む場合、小数点以下を四捨五入して整数値とする。例えば、ブロックB1の場合、平均が240.625なので、代表値は241である。このように、Nb個の画素の階調値を、1つの代表値で代表させることによって、1ブロック当たりの階調値を示すためのデータ量が8Nbビットから8ビットに圧縮される。
続いて、代表値に基づき、ブロック階調値を決定する(S440)。代表値からブロック階調値への変換は、圧縮用LUTを参照することによって実現される。但し、圧縮用LUTは、ブロックの位置毎に用意されており、S440では、着目しているブロックの位置に応じた圧縮用LUTが用いられる。
ブロックの位置とは、ディザーマスクとの相対的な位置関係のことである。ディザーマスクの大きさを64画素×64画素とすると、通常の組織的ディザー法の場合、64画素×64画素の塊毎にディザーマスクに格納された閾値を適用することで、ドットの配置を決定する。このようにディザーマスクを適用すると仮定した場合、各ブロックは、ディザーマスク内の何れの位置に配置されるかが決まる。この位置を、ブロックの位置と呼ぶ。
ブロックの位置が決まれば、対応するディザーマスクの閾値が決まるので、代表値が0から255までの全ての場合について、ブロック内全画素の階調値が代表値の場合のハーフトーン結果を予め調査しておくことが可能となる。圧縮用LUTは、この調査結果に基づいて作成される。
以下に、圧縮用LUTの作成工程について述べる。0〜255の範囲の整数値のインク色成分:DATAは、大中小ドット密度変換テーブルを参照することで、大、中、小のドットサイズ別の密度データ:L_DATA,M_DATA,S_DATAに変換される。図7は、上記の大中小ドット密度変換テーブルをグラフで示す。この変換を式で表すと、下記のようになる。
L_DATA = L_tbl(DATA)
M_DATA = M_tbl(DATA)
S_DATA = S_tbl(DATA)
L_DATA = L_tbl(DATA)
M_DATA = M_tbl(DATA)
S_DATA = S_tbl(DATA)
大中小各密度データは、インク色データ同様、0〜255の範囲の整数値とする。このため、データ量は、8ビットになる。小ドットを100%近くまで使用すると、ドット着弾位置のずれ等に対する耐性が低下するため、図7に示すように、小ドットの最大密度を60%程度に抑えている。
調査対象画素のディザーマスク閾値(0〜254の範囲の整数)がTHiであるとする。この場合、入力データがDATAの場合のハーフトーン結果は、LM_DATA = L_DATA + M_DATA, T_DATA = LM_DATA + S_DATA とすると、以下の考え方によって、大、中、小、OFFの何れかに4値化できる。
(L_DATA > THi)ならば大ドットON
(L_DATA ≦ THi < LM_DATA)ならば中ドットON
(LM_DATA ≦ THi < T_DATA)ならば小ドットON
(T_DATA ≦ THi )ならばドットOFF
(L_DATA ≦ THi < LM_DATA)ならば中ドットON
(LM_DATA ≦ THi < T_DATA)ならば小ドットON
(T_DATA ≦ THi )ならばドットOFF
調査対象のブロックの位置の8画素のディザーマスク閾値:TH0〜TH7について、DATA値が0から255までの全ての場合のハーフトーン結果を予め調査すると、ブロック内全画素が同一DATA値の場合におけるブロック内のドット配置が全て明らかになる。
図9は、着目ブロックの各画素位置に適用される閾値を例示する。プリンター200は、組織的ディザー法に用いられる一般的なディザーマスクを記憶している。図9に示された閾値は、ディザーマスクの一部であり、着目ブロックに適用される閾値を示す。なお、図9の内容は、解凍用LUTを用いたドット配置の決定の説明(後述)にも使用する。
図9の例では、調査対象ブロックの位置のディザーマスク閾値がTH0=2,TH1=166,TH2=241,TH3=19,TH4=101,TH5=114,TH6=8,TH7=59となる。
この場合についての調査結果を元に、入力DATAが0から255まで1ずつ増加した場合に、ブロック内のドット配置、および、それに対応したブロック内の大中小各ドットの発生個数の組み合わせがどのように変化するかをテーブル化する。ブロック内のドット配置とは、TH0〜TH7の各画素位置についての大中小各ドットのON/OFF結果である。さらにドット配置が、変化の何段階目にあたるかをブロック階調値としてカウントすると、このブロック位置に関して、図8に示すテーブルが作成できる。
図8に示されるテーブルの代表値からブロック階調値への対応部分が圧縮用LUTである。圧縮用LUTを参照することで、代表値をブロック階調値に変換することが可能となる。
図8は、代表値が0から255まで1ずつ増大していった場合に、ブロック階調値が0から21までの22段階に変化することを示す。この場合、代表値がa(0〜255の何れか)であるということは、ブロック内全画素にaが入力されることを意味する。ブロック階調値が22段階に変化することは、対象ブロックにおいて、大中小ドットの組み合わせが22通り存在することを意味する。さらに、本実施形態の手法では、ブロック階調値に対応するブロック内ドット配置も1つに決まるので、ドット配置自体が22段階に変化することになる。
図8に示されるテーブルは、ブロック階調値から、最終的なハーフトーン結果を得る目的に使用することもできる。最終的なハーフトーン結果とは、ブロック内のドット配置のことである。その場合は、ブロック階調値から、上下4画素ずつ、計4×2=8画素の画素位置のドットON/OFF結果への対応関係を参照すればよい。
本実施形態の圧縮用LUTは、ブロック内のディザーマスク閾値に依存するので、ブロックの位置毎に用意される。この場合、ブロック階調値の最大値も、ブロック内のディザーマスク閾値に依存するため、ブロック毎に異なった値を取りうる。
例えば、TH0=240,TH1=65,TH2=120,TH3=90,TH4=17,TH5=168,TH6=212,TH7=30の場合について同様に調査を行うと、ブロック階調値は0から19までの20段階に変化し、ブロック階調値19の場合にブロック内8画素全てが大ドットONとなる。
一方、図8のテーブルの例においてブロック階調値19に対応するのは、大ドット6個、中ドット1個の組み合わせであった。このように、ブロック階調値に対応するドットの組み合わせは、ブロック内のディザーマスク閾値に依存するので、同じブロック階調値であってもブロックの位置によって、ハーフトーン結果は異なりうる。
ブロック階調値の最大値は、図7に示される大中小ドット密度変換テーブルにも依存し、複雑な特性の大中小ドット密度変換テーブルを用いた場合には、ブロック階調値の最大値が大きくなることがある。但し、実用的な特性の大中小ドット密度変換テーブルを使用する場合、1ブロックを構成する画素数が8画素であれば、ブロック階調値の最大値が31を超えるケースはなかった。従って、ブロック階調値として5ビットを割り当てれば十分である。
仮にブロック階調値の最大値が31を超えるケースが発生した場合は、結果としてブロック階調値の最大値が31以下に収まるように、ディザーマスクまたは大中小ドット密度変換テーブルを修正することで対応できる。
以上のように本実施形態のブロック階調値は、5ビットのデータ量で表現できる。上記で決定された代表値のデータ量は8ビットなので、データ量が更に圧縮される。従って、ブロック階調値のデータ量は、Nb個の画素の階調値を表現するための8Nbビットよりも小さい。さらに言えば、ブロック階調値のデータ量は、1つの画素の階調値を表現するためのデータ量(8ビット)よりも小さい。このように、エッジ無しのブロックの場合、フラグのデータ量と合計して、6ビットのデータ量になる。
このようにデータ量を圧縮しても、印刷物の画質が大きく劣化することは抑制される。このことについては、画像形成処理において後述する。
一方、エッジが含まれる場合(S420,YES)、フラグをONに設定する(S442)。次に、着目ブロックに含まれる画素を、H値グループと、L値グループとに分類する(S445)。
H値グループとは、ブロックを構成する画素群の階調値を、高い値と低い値とに二分する場合に、高い値に分類される階調値を有する画素(以下、H値画素)によって構成されるグループである。一方、L値グループとは、低い値に分類される階調値を有する画素(以下、L値画素)によって構成されるグループである。
本実施形態では、H値グループとL値グループとの分類の基準に、最大階調値と最小階調値との平均を用いる。例えば図4に示したブロックB2の場合、最大階調値255と最小階調値3との平均は、129である。このため、階調値255の3つの画素は、H値グループに分類される。H値グループは、当然、最大階調値の画素を含む。一方、階調値3,5,12,15の画素は、L値グループに分類される。L値グループは、当然、最小階調値の画素を含む。平均に一致する場合は、本実施形態においてはH値グループに分類する。他の形態の場合、L値グループに分類してもよい。
次に、H値画素の位置を記憶する(S450)。S450で記憶される情報を、以下、位置情報と言う。位置情報は、画素毎にH値画素を示す1、又はL値画素を示す0が格納される。このため、位置情報のデータ量は、Nbビットである。
次に、H値グループの代表値を決定する(S460)。本実施形態におけるH値グループの代表値は、H値画素の階調値の平均として算出される。
続いて、H値グループのブロック階調値を決定する(S470)。S470における決定の仕方は、S440と同じである。
次に、L値グループの代表値を決定する(S480)。本実施形態におけるL値グループの代表値は、L値画素の階調値の平均として算出される。
続いて、L値グループのブロック階調値を決定する(S470)。S470における決定の仕方は、S440と同じである。
このようにエッジ有りの場合、フラグと位置情報と2つのブロック階調値との情報が生成される。従って、合計(1+2Db+Nb)ビットになる。Dbはブロック階調値のデータ量を示す。本実施形態ではDbは5ビットなので、エッジ有りのブロックのデータ量は、19ビットになる。
S440又はS490の後、全ブロックについて処理したかを判定する(S495)。未処理のブロックが有る場合(S495,NO)、S410に戻る。全ブロックについて処理した場合(S495,YES)、データ圧縮処理を終える。このようにして処理されたデータが圧縮データである。
圧縮データにおいて、Nb画素当たりのデータ量の平均Dc2は、次式で表される。
Dc2=Ink{(Db+1)×E+(2Db+Nb+1)(1−E)}…(2)
Inkはインク色の数(本実施形態では4)、Eはエッジ無しのブロックの割合を示す。具体的な数字を例示するために、Eを90%とすると、式(2)のDc2は、29.2ビットとなる。
Dc2=Ink{(Db+1)×E+(2Db+Nb+1)(1−E)}…(2)
Inkはインク色の数(本実施形態では4)、Eはエッジ無しのブロックの割合を示す。具体的な数字を例示するために、Eを90%とすると、式(2)のDc2は、29.2ビットとなる。
画像データのデータ量は、8画素当たり、24×8=192ビットである。よって、データ圧縮処理による圧縮率は、約6.6である。圧縮率は、式(2)より、Db,E,Nb,Inkの各値に依存する。Db,Nb,Inkは、設計値である。Eは、画像データと、Nbの値と、ブロックの形状と、エッジの有無の判定方法と、に依存する値である。
図3と共に説明したように、圧縮データは、代表値の決定と、ブロック階調値への変換との2段階の圧縮によって生成される。このため、代表値は第1の圧縮階調値であり,ブロック階調値は第2の圧縮階調値であると捉えることができる。そして、代表値と位置情報とを含むデータは第1の圧縮データであり、ブロック階調値と位置情報とを含むデータは第2の圧縮データであると捉えることができる。但し、本実施形態において単に圧縮データという場合、第2の圧縮データを指す。
ここで、第1の圧縮データによる圧縮率について検討する。第1の圧縮データにおいて、1ブロックを構成する画素群当たりのデータ量の平均値Dc1は、次式で表される。
Dc1=Ink{(8+1)E+(2×8+Nb+1)(1−E)}…(3)
Eを90%とすると、式(3)のDc1は、42.4ビットとなる。よって、第1の圧縮データによる圧縮率は、約4.5になる。1段階目の圧縮による圧縮率は、式(3)より、E,Nb,Inkの各値に依存する。
Dc1=Ink{(8+1)E+(2×8+Nb+1)(1−E)}…(3)
Eを90%とすると、式(3)のDc1は、42.4ビットとなる。よって、第1の圧縮データによる圧縮率は、約4.5になる。1段階目の圧縮による圧縮率は、式(3)より、E,Nb,Inkの各値に依存する。
式(3)にE=0を代入すると、Dc1=100ビットになる。よって、上記の平均Dc1は、E=0であっても、196ビットより小さい。つまり、上記の平均Dc1は、E=0であっても、画像データにおける1ブロックを構成する画素群当たりのデータ量よりも圧縮されている。
次に、図5を用いて、画像形成処理を説明する。画像形成処理は、圧縮データを受信したことを契機に、CPU210によって実行される。
まず、ハーフトーン処理(後述)を実行する(S500)。続いて、ハーフトーン処理によって得られたドットデータを対象にインターレース処理を実行し(S800)、画像形成を実行する(S900)。
図6は、ハーフトーン処理を示すフローチャートである。まず、未処理のブロックの何れか1つに着目する(S510)。S510は、S410と同様な処理である。
続いて、フラグがONかを判定する(S515)。フラグがOFFの場合(S515,NO)、着目ブロックのブロック階調値から、ドットサイズの組み合わせを取得する(S520)。
プリンター200は、図8に示されたテーブルの内容のうち、ブロック階調値とドットサイズの組み合わせとの関係を、ブロックの位置毎に記憶している。これらをまとめ解凍用LUTと呼ぶ。
ブロック階調値とブロックの位置とが与えられれば、解凍用LUTを用いて、各サイズのドットの個数、つまりドットサイズの組み合わせを求めることができる。
次に、着目ブロックにおけるドット配置を決定し(S530)、S700に進む。S530には、S520で取得したドットサイズの組み合わせと、ディザーマスクとを用いる。
例えば、ドットサイズの組み合わせが、大ドット3個、中ドット1個、小ドット1個である場合、閾値のうち、1〜3番目に値が小さい画素に対して大ドットを配置し、次に小さい値の画素に中ドットを配置し、次に小さい値の画素に小ドットを配置する。図9の例であれば、閾値2,8,19の画素に大ドットを配置し、閾値59の画素に中ドットを配置し、閾値101に小ドットを配置する。
本来、ディザーマスクは、格納された閾値と、画像データにおける各画素の階調値との比較によって、ドット形成の有無を決定するために用いられる。ディザーマスクに格納された閾値は、見方によっては、ドット形成の優先順位を示していると捉えることができる。つまり、組織的ディザー法は、ディザーマスクの閾値としての数値が低い画素ほど、優先的にドットを形成することを要請している手法であると捉えることができる。S530では、この特徴を利用している。
図10は、このように配置されたドットの様子を示す。Lは大ドット、Mは中ドット、Sは小ドットを示す。なお、大ドット3個、中ドット1個、小ドット1個の組み合わせは、図8のテーブル中には存在しない。しかし、大中小が同時にONとなる最も複雑な場合について説明するため、例として挙げた。
一方、着目ブロックのフラグがONの場合(S515,YES)、H値グループのブロック階調値と、L値グループのブロック階調値のそれぞれについて、ドットサイズの組み合わせを取得する(S540)。取得の方法は、S520と同じである。
続いて、H値グループ、L値グループそれぞれについて、ドット配置を決定する(S545)。決定の仕方は、S530と同じである。
次に、H値グループのドット配置を、位置情報を用いてマスクする(S550)。マスクについて説明するために、図10に示されたドット配置が、H値グループのドット配置であるとする。そして、H値グループの位置が、図4に示されたブロックB2に含まれる3つの階調値255の位置であるとする。図10に示したH値グループのドット配置は、ドットサイズの組み合わせが大ドット2つ、中ドット1つ、小ドット1つである場合に、図9に示した閾値を用いて配置して得られた結果である。
図11は、H値グループのマスクの様子を示す図である。図11に示されるように、H値グループの場合、位置情報において1が格納されている画素のドットは残し、位置情報において0が格納されている画素のドットは削除する。この結果、大ドット1個と、小ドット1個が残る。この演算を、本実施形態ではマスクと呼ぶ。
次に、L値グループのドット配置を、位置情報を用いてマスクする(S555)。マスクについて説明するために、図12に示されたドット配置が、L値グループのドット配置であるとする。そして、L値グループの位置が、図4に示されたブロックB2に含まれる階調値255以外の位置であるとする。図12に示したL値グループのドット配置は、ドットサイズの組み合わせが大ドット無し、中ドット無し、小ドット3つである場合に、図9に示した閾値を用いて配置して得られた結果である。
図13は、L値グループのマスクの様子を示す図である。図13に示されるように、L値グループの場合、位置情報において0が格納されている画素のドットは残し、位置情報において1が格納されている画素のドットは削除する。この結果、小ドット2個が残る。
続いて、H値グループとL値グループとのドット配置を合成し(S560)、S700に進む。図14は、ドット配置の合成の様子を示す。
図14に示すように、マスク後のH値グループのドット配置と、マスク後のL値グループのドット配置との何れか一方にドットが配置されている画素には、そのドットが合成後にもそのまま配置される。一方、マスク後のH値グループのドット配置と、マスク後のL値グループのドット配置との何れにもドットが配置されている画素には、ドットが配置されない。なお、マスク後のH値グループのドット配置と、マスク後のL値グループのドット配置との両方にドットが配置されている画素は、マスクの特性上、存在しない。
S700では、全ブロックの処理が完了したかを判定する。未処理のブロックが有る場合(S700,NO)、S510に戻る。全ブロックの処理が完了した場合(S700,YES)、ハーフトーン処理を終える。このようにして、ハーフトーン処理により、全画素について各インク色のドット配置を示すドットデータが得られる。ドット配置は、画素毎にドット形成の有無を示す情報である。本実施形態におけるドット配置は、ドット形成の有りの場合には、ドットのサイズを示す情報である。
ドットデータにおいて、1ブロックを構成する画素群当たりのデータ量の平均Dhは、次式で表される。下記式のLsは、log2Sの小数点以下を切り上げて整数化した演算結果を示す。
Dh=Ink×Nb×Ls…(4)
本実施形態の場合、Dh=4×8×2=64ビットとなる。このため、圧縮データのデータ量は、E値次第で、ドットデータのデータ量よりも小さくなる。なお通常は、画像データにおけるE値は90%以上なので、圧縮データのデータ量はドットデータのデータ量よりも小さい。
Dh=Ink×Nb×Ls…(4)
本実施形態の場合、Dh=4×8×2=64ビットとなる。このため、圧縮データのデータ量は、E値次第で、ドットデータのデータ量よりも小さくなる。なお通常は、画像データにおけるE値は90%以上なので、圧縮データのデータ量はドットデータのデータ量よりも小さい。
本実施形態によれば、少なくとも以下の効果を得ることができる。
(a)画像データからドットデータを得るための処理負荷が小さい。これは、代表値を決定した後は、圧縮用LUT、解凍用LUT及びディザーマスクを参照するだけでドット配置を決定または仮決定できるからである。
(b)ブロック内にエッジが有る場合には、2つの仮決定されたドット配置を合成して、ドット配置を決定するので、画質の劣化が抑制されている。
(c)ブロック階調値の決定と、ブロック階調値を用いたドット配置の取得とを、データ圧縮装置100とプリンター200とで分担して実行できる。このため、データ圧縮装置100の処理負荷を軽減できる。ひいては、画像形成速度が遅くなりにくくなる。
(d)画像データよりもデータ量が小さい圧縮データを転送するので、転送速度が画像形成速度のボトルネックになる可能性が低くなる。転送速度が画像形成速度のボトルネックになっている場合には、画像形成速度が速くなる。
(e)圧縮データを転送するので、スプールに必要な記憶容量が少なくて済む。
実施形態2:
実施形態2の説明は、実施形態1と異なる点を主な対象とする。明示しない内容については、実施形態1と同じである。なお、後述する実施形態3以降の説明についても、実施形態1と異なる点を主な対象とし、明示しない内容については実施形態1と同じである。
実施形態2の説明は、実施形態1と異なる点を主な対象とする。明示しない内容については、実施形態1と同じである。なお、後述する実施形態3以降の説明についても、実施形態1と異なる点を主な対象とし、明示しない内容については実施形態1と同じである。
実施形態2では、ドットサイズは1種類のみである。つまり、S=2である。実施形態2では、ブロックの大きさを4画素×4画素=16画素とする。
実施形態2におけるデータ圧縮処理を説明する。実施形態2では、ブロック階調値を、0〜16の17階調とする。このため、ブロック階調値のデータ量は5ビットである。
図15は、画像データにおける或るインク色の階調値を示す。図15は、画像データ全体から、1ブロック分を抜粋して示している。
図15に示す例の場合、最大階調値が210であり、最小階調値が10であるので、エッジ有り(S420,YES)と判定される。最大階調値と最小階調値との平均は110である。L値画素には、ハッチングが施されている。H値グループの階調値の平均は206.25である。L値グループの階調値の平均は11.75である。
なお、全画素の階調値の平均は109である。全画素の平均は、公知の手法との比較のために、後の説明で用いる。
S470及びS490において、上記の平均を0〜16の17階調のブロック階調値に変換するため、上記の平均の値に16/255を乗じた後、整数化する。但し、単純に四捨五入等で整数化すると、17階調しか再現できないことに起因する疑似輪郭が発生する。
本実施形態では、疑似輪郭をできるだけ抑制するために、ブロック毎に0以上1未満の乱数:rand()を発生させ、それを加えた上で小数点以下を切り捨てて整数化する。例えば、このブロックのrand()値が0.324であるとする。小数点以下を切り捨てて整数化する演算子をINT()と表記すると、H値グループ及びL値グループは下記のように算出される。
H値グループ=INT(206.25×16/255+0.324)=13
L値グループ=INT(11.75×16/255+0.324)=1
H値グループ=INT(206.25×16/255+0.324)=13
L値グループ=INT(11.75×16/255+0.324)=1
なお、全画素の平均109を用いて、同様な計算を実施すると、下記のようになる。
ブロック全体の階調値=INT(109×16/255+0.324)=7
ブロック全体の階調値=INT(109×16/255+0.324)=7
次に、本実施形態におけるハーフトーン処理を説明する。本実施形態では、S520及びS540の代わりに、濃度パターン法を用いてドット配置を取得する。
プリンター200の画像形成の解像度は1200dpiであるので、ブロック階調値による17階調が再現可能となる代わりに、解像度が縦横とも1/4に低下する。従って、300dpiで17階調の再現ができる画像形成が可能になる。
図16は、階調値と、濃度パターンとの関係を示す。ドットが形成される画素は、ブロック階調値以下の数字が格納されている画素である。つまり、小さい数字が格納されている画素ほど、優先的にドットが発生する。本実施形態では、ドット集中型を採用している。
図17は、ブロック階調値が1である場合に、ドットが1つ発生することを示す。ドットが発生する画素には、丸印が付されている。ドットが発生する画素は、閾値として1が格納された画素である。ドット集中型であるため、閾値として1〜4が格納された画素は、内部の画素である。内部の画素とは、他のブロックと隣接しない4つの画素のことである。
図18は、ブロック階調値が2である場合に、ドットが2つ発生することを示す。ドットが発生する画素は、閾値として2以下が格納された画素である。
図19は、ブロック階調値が3である場合に、ドットが3つ発生することを示す。ドットが発生する画素は、閾値として3以下が格納された画素である。
図20は、ブロック階調値が14である場合に、ドットが14個、発生することを示す。ドットが発生する画素は、閾値として14以下が格納された画素である。
図21は、ブロック階調値が15である場合に、ドットが15個、発生することを示す。ドットが発生する画素は、閾値として15以下が格納された画素である。
図22は、ブロック階調値が16である場合に、ドットが16個、発生することを示す。ドットが発生する画素は、閾値として16以下が格納された画素である。つまり、全画素にドットが発生する。
なお、図16は、ブロック階調値が0である場合に、1つもドットが発生しないことを示す図であると捉えることができる。
図23は、H値グループとL値グループとのドット配置を合成(S560)の様子を示す。ドットが形成される画素には、丸印を付している。マスクされる画素には、ハッチングが施されている。
図24は、比較例として、ブロック全体の階調値を用いた場合のドット配置の様子を示す。図15,図23,図24を比較すると、本実施形態によるドット配置の方が、比較例のドット配置よりも、画像の再現性が高いことが分かる。
実施形態3:
図25は、プリンター20aの概略を示す。プリンター20aは、色変換(S300)及びデータ圧縮用プログラム(S400)を実行することで、スタンドアローンで画像形成システム20と同様に機能する。このため、プリンター20aは、広義の画像形成システムを構成する。さらに、プリンター20aは、データ圧縮装置またはデータ圧縮システムとして機能する。なお、データ圧縮処理用プログラムと、画像形成処理用プログラムとをまとめて、画像形成用プログラムとも呼ぶ。
図25は、プリンター20aの概略を示す。プリンター20aは、色変換(S300)及びデータ圧縮用プログラム(S400)を実行することで、スタンドアローンで画像形成システム20と同様に機能する。このため、プリンター20aは、広義の画像形成システムを構成する。さらに、プリンター20aは、データ圧縮装置またはデータ圧縮システムとして機能する。なお、データ圧縮処理用プログラムと、画像形成処理用プログラムとをまとめて、画像形成用プログラムとも呼ぶ。
実施形態4:
本実施形態においては、位置情報のデータ量を(Nb−1)ビットとする。本実施形態の位置情報を用いても、実施形態1の場合と同じように画像形成を実行できる。
本実施形態においては、位置情報のデータ量を(Nb−1)ビットとする。本実施形態の位置情報を用いても、実施形態1の場合と同じように画像形成を実行できる。
本実施形態の位置情報の概略は、次の通りである。1ブロックをH値グループとL値グループとに分けた後、画素位置0と同じグループをG0グループ、画素位置0とは別のグループをG1グループとして取り扱う。画素位置0は、代表画素として、ブロック内の左上画素など、適当な画素位置に予め決めておく。画素位置0がG0グループに属することは、プリンター200に予め記憶させておけば、画素位置0について位置情報に含める必要は無い。
なお、本実施形態における位置情報は、G0グループ及びG1グループの何れがH値グループのもので、何れがL値グループのものであるかの情報(以下、識別情報)を、直接的には示さない。但し、識別情報が示されていなくても、ハーフトーン処理におけるドット配置の合成(S560)は、実行できる。具体的には、G0グループ及びG1グループの何れについても、実施形態1のS550として説明したように、他グループに属する画素をマスクすれば、実施形態1と同じ結果を得ることができる。
実施形態1においては、位置情報に識別情報が含まれており、且つ、L値グループについてはマスクする必要が無いので、L値グループによるドット配置のマスクをするステップは無い。もちろん、実施形態1においても、L値グループについてマスクを実行してもよい。実施形態1の説明においては、位置情報はH値画素の位置を示すものとして説明したが、当然、位置情報はL値画素の位置を示す情報でもある。
なお、本実施形態においても、H値グループとL値グループと区別し、異なる処理を実行してもよい。位置情報に識別情報が含まれていなくても、ブロック階調値から識別情報を得ることができる。つまり、本実施形態におけるブロック階調値と代表値との関係は、図8に示すように、広義の単調増加なので、G0のブロック階調値とG1のブロック階調値とを比較して前者が大きければ、G0グループがH値グループ、後者が大きければG1グループがH値グループと分かる。
実施形態5:
本実施形態においては、ブロック内におけるエッジの有無を区別しない。つまり、データ圧縮処理において、S420の判定を廃止し、全ブロックについて、S445〜S490を実行する。このため、フラグが不要となる。そして、ハーフトーン処理において、S515の判定を廃止し、全ブロックについてS540〜S560を実行する。
本実施形態においては、ブロック内におけるエッジの有無を区別しない。つまり、データ圧縮処理において、S420の判定を廃止し、全ブロックについて、S445〜S490を実行する。このため、フラグが不要となる。そして、ハーフトーン処理において、S515の判定を廃止し、全ブロックについてS540〜S560を実行する。
なお、ブロック内全画素が同一階調値の場合、S445において平均値以上をH値グループとした場合は、全画素がH値グループに分類されるので、以降のL値グループの処理は省略してもよい。省略しない場合は、L値グループのドット配置は合成時にどの画素にも反映されないため、L値グループの代表値は、例えば0などの適当な値として処理すればよい。
本実施形態における圧縮データにおいて、1ブロックを構成する画素群当たりのデータ量の平均Dc2は、次式で表される。
Dc2=Ink(2Db+Nb)…(5)
Dc2=Ink(2Db+Nb)…(5)
実施形態1と同じ数値を代入すると、4×(2×5+8)=72ビットになる。このように、画像データよりは圧縮されているものの、ドットデータについてのデータ量の平均Dhである64ビットよりも大きくなる。このため、実施形態5の変形例として、ドットデータの生成までをデータ圧縮装置100で実行し、生成されたドットデータをプリンター200に送信するようにしてもよい。
但し、データ圧縮装置100がドットデータの生成までを実行する場合、データ圧縮装置100の処理負荷が大きくなり過ぎることによって、印刷物が得られるまでの時間が長くなることもあり得る。これに対し、本実施形態の場合、実施形態1と同様、圧縮データを転送することによる利点を享受できる。圧縮データを転送することによる利点は、主に、実施形態1で説明した(c),(d),(e)である。
なお、式(4),(5)から明らかなように、データ量Dc2,Dhの大小関係は、Db及びNbの値に依存する。次式を満たす場合には、実施形態1と同様、圧縮データは、ドットデータよりもデータ量が小さくなる。
NbLs>2Db+Nb
⇔Ls−1>2Db/Nb…(6)
NbLs>2Db+Nb
⇔Ls−1>2Db/Nb…(6)
式(6)より、S=2の場合、つまりドットサイズが1種類の場合には、不等式が成立することは無い。S>2の場合として例えばS=4を式(6)に代入すると、Nb>2Dbになる。よって、例えば、Nbが12画素(例えば3画素×4画素)、Dbが5ビットの場合に不等式が成立する。
一方で、本実施形態における第1の圧縮データにおけるデータ量の平均Dc1と、データ量Dhとの関係において、Dh>Dc1となる条件は、次の式で表される。
NbLs>2×8+Nb
⇔Ls−1>16/Nb…(7)
NbLs>2×8+Nb
⇔Ls−1>16/Nb…(7)
例えばS=4を式(7)に代入すると、Nb>16になる。よって、例えば、Nbが18画素(例えば3画素×6画素)の場合に不等式が成立する。
本実施形態の場合、実施形態1と比べ、全ブロックを同じように処理することによって、条件分岐が減って処理が簡略化されるという利点が有る。特に、処理をハードウエア化してL値グループとH値グループの処理を並列実行する場合などには速度低下もなく有効である。
なお、データ圧縮処理は図3の、エッジ有りブロックとエッジ無しブロックとで異なる処理を行う実施形態1の方式、ハーフトーン処理は全てのブロックをエッジ有りブロックとして処理する実施形態5の方式の組み合わせで行うことも可能である。その場合エッジ無しブロックについては、ハーフトーン処理では全画素をH値グループとし、L値グループの代表値は0などの適当な値とすればよい。この方式では、実施形態1の高い圧縮率と、実施形態5のハードウエア化に適したシンプルな手法との両立ができる。
本開示は、本明細書の実施形態や実施例、変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現できる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、実施例、変形例中の技術的特徴は、先述の課題の一部又は全部を解決するために、或いは、先述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせができる。その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除できる。例えば、以下のものが例示される。
同じブロックに対して、複数のブロック階調値を決定する場合に、決定する値の数は、H値グループおよびL値グループの2つより多くてもよい。但し、決定する値の数Ntは、Nb(1ブロックを構成する画素の数)よりも少ないことが好ましい。つまり、Nb>Ntが好ましい。例えば、Nb=8の場合に、Nt=3に固定してもよいし、Nt=2にする場合と、Nt=3にする場合とを、ブロック内における画像データの階調値に応じて変更してもよい。
上記のように、Ntを3以上に変更する場合、式(2)は次のように一般化される。下記式のLnは、log2Ntの小数点以下を切り上げて整数化した演算結果を示す。
Dc2=Ink{(Db+1)E+(NtDb+LnNb+1)(1−E)}…(2A)
Dc2=Ink{(Db+1)E+(NtDb+LnNb+1)(1−E)}…(2A)
同様に、式(3)は次のように一般化される。下記式では、インク色の階調を表現するためのデータ量(実施形態1では8ビット)をDiと表記する。
Dc1=Ink{(Di+1)E+(NtDi+LnNb+1)(1−E)}…(3A)
Dc1=Ink{(Di+1)E+(NtDi+LnNb+1)(1−E)}…(3A)
同様に、式(5)は次のように一般化される。
Dc2=Ink(NtDb+LnNb)…(5A)
Dc2=Ink(NtDb+LnNb)…(5A)
同様に、式(6)は次のように一般化される。
NbLs>NtDb+LnNb
⇔Ls−Ln>NtDb/Nb…(6A)
NbLs>NtDb+LnNb
⇔Ls−Ln>NtDb/Nb…(6A)
同様に、式(7)は次のように一般化される。
NbLs>NtDi+LnNb
⇔Ls−Ln>NtDi/Nb…(7A)
NbLs>NtDi+LnNb
⇔Ls−Ln>NtDi/Nb…(7A)
画像データとの比較については、下記のようになる。画像データにおける1画素当たりのデータ量をDp(実施形態では24)ビットとすると、ブロック内におけるエッジの有無を区別しない場合に、次式を満たすとき、圧縮データは、画像データよりもデータ量が小さくなる。
DpNb>Ink(NtDb+LnNb)…(8)
DpNb>Ink(NtDb+LnNb)…(8)
ブロック内におけるエッジの有無を区別しない場合に、次式を満たすとき、1段階目の圧縮によるデータは、画像データよりもデータ量が小さくなる。
DpNb>Ink(NtDb+LnNb)…(9)
DpNb>Ink(NtDb+LnNb)…(9)
この他、他の変形例が挙げられる。
1段階目の圧縮によって得られるデータを転送対象にしてもよい。つまり、H値グループおよびL値グループの代表値、並びに位置情報を転送するようにしてもよい。この変形例を実施形態4に適用した場合、当然、プリンター200は、代表値を用いても識別情報を得ることができる。
エッジの有無の判定方法や、H値グループとL値グループとの分類の方法は、適宜、変更してもよい。例えば、H値グループとL値グループとの分類の方法として、固定値(階調値128)を閾値としてもよい。
代表値は、総和平均以外の手法で決定してもよい。例えば、相乗平均、中央値または最頻値を用いてもよい。或いは、ブロック内における最高の階調値をH値グループの代表値としてもよいし、ブロック内における最低の階調値をL値グループの代表値としてもよい。
代表値を決定してから、ブロック階調値を決定する代わりに、複数の画素毎にブロック階調値を求め、複数個のブロック階調値の代表値を決定することで、H値グループおよびL値グループそれぞれのブロック階調値を決定してもよい。
ドットの個数の組み合わせから、ドット配置を仮決定する(S530,S545)ために、ディザーマスクや濃度パターン法を利用しなくてもよい。例えば、ランダムに配置してもよい。
ブロック階調値に基づき、ドット配置を仮決定する手法(実施形態ではS540,S550)を変更してもよい。例えば、LUTの1回の参照で、ブロック階調値からドット配置の仮決定を実施してもよい。このLUTは、ブロックの位置毎に用意されており、図8では代表値から上4画素ドット配置および下4画素ドット配置への対応部に相当し、ブロック階調値と、ドット配置とが対応付けられている。この変形例では、解凍用LUTのデータ量が増大するものの、ドット配置のための処理が速くなる。
ドット配置を仮決定する他の手法として、LUTを1回、参照することで、ブロック階調値を、大中小各ドットサイズのONドット個数の組み合わせを示すONドット個数対応データに変換し、ONドット個数対応データから大中小各ドットサイズのONドット個数を求めた上で、実施形態として説明したS550を実行してもよい。Nbが8の場合は、大中小3種類のドットのONドット個数の組み合わせは165通りある。0から164のONドット個数対応データと165種類のONドット個数の組み合わせを1対1で対応させるONドット個数対応LUTを作成すれば、ONドット個数対応LUTを参照することで、ONドット個数対応データをONドット個数データに戻せる。ONドット個数対応データは8ビットで記憶できるので、大中小3種類のONドット個数データを直接記述するよりもデータサイズを小さくできる。
ブロック階調値のデータ量は、適宜、変更してもよい。例えば、ブロックを構成する画素数に応じて変更してもよい。1ブロック16画素とした場合、殆どのケースでブロック階調値の最大値は、63以下であった。この場合、ブロック階調値のデータ量は、6ビットで十分である。また、1ブロック4画素とした場合、殆どのケースでブロック階調値の最大値は、15以下であった。この場合、ブロック階調値のデータ量は、4ビットで十分である。
実施形態1では、全てのブロックを第2の圧縮データに変換後、最終的なドット配置を得るハーフトーン処理を実行したが、これらの処理単位はもっと少ないブロック数であってもよい。例えば、横方向は全ブロック、縦方向は1ブロックの単位で、第2の圧縮データへの変換後、ハーフトーン処理を実行してもよい。この場合も、実施形態1で説明した(a)〜(e)の効果は有効である。
1ブロック単位で、圧縮データへの変換およびハーフトーン処理を続けて実行してもよい。この場合(c)〜(e)の効果は失われるが、(a),(b)の効果は残るので、十分に有用な技術となる。
L値グループのマスクは、省略してもよい。この場合、マスク後のH値のドット配置と、マスクされていないL値グループのドット配置とが合成される。こうすれば、処理負荷が軽くなる。マスク後のH値のドット配置と、L値グループのドット配置との両方にドットが配置されている画素には、マスク後のH値のドットが配置される。但し、この手法は、ハーフトーン処理にディザー連続手法を用いること、及び大中小ドットのトータル個数がブロック階調値に対して単調増加することが条件となる。
上記実施形態において、ソフトウエアによって実現された機能及び処理の一部又は全部は、ハードウエアによって実現されてもよい。また、ハードウエアによって実現された機能及び処理の一部又は全部は、ソフトウエアによって実現されてもよい。ハードウエアとしては、例えば、集積回路、ディスクリート回路、または、それらの回路を組み合わせた回路モジュールなど、各種回路を用いてもよい。
実施形態1で説明したように、ドット配置の決定の仕方をエッジの有無に基づき変更する形態において、全ブロックについて一旦、エッジ有りと見なしてH値グループ及びL値グループについてドット配置を仮決定した後、ブロック内の全画素がHまたはLの一方のグループに属する場合については、1画素も属さないグループについては仮決定結果を無視することでドット配置を決定してもよい。このような手法は、ハードウエアによって実現する場合に実用的である。
20…画像形成システム、20a…プリンター、100…データ圧縮装置、110…CPU、120…記憶媒体、200…プリンター、210…CPU、220…記憶媒体、230…画像形成機構
Claims (11)
- 画像データに含まれるNb個の画素によって構成されるブロックを対象に、最高の階調値の画素を含むグループと、最低の階調値の画素を含むグループとを含むNt(Ntは2≦Nt<Nbを満たす整数)個のグループに分類する分類部と、
前記Nt個のグループの少なくとも何れかについて、当該グループを構成する画素の位置を示す情報である位置情報を作成する位置情報作成部と、
前記Nt個のグループそれぞれを対象に、前記Nb個の画素の階調値を表現するために要するデータ量よりも少ないデータ量によるブロック階調値を、各グループを構成する画素毎の階調値に基づき決定するブロック階調値決定部と、
前記Nt個のグループそれぞれを対象に、前記ブロックを構成する画素毎にドット形成の有無を示す情報であるドット配置を、前記ブロック階調値に基づき仮に決定する仮決定部と、
前記仮に決定されたドット配置と、前記位置情報とを用いて、前記ブロックを対象にした前記ドット配置を決定するドット配置決定部と、
前記決定されたドット配置を用いて、画像を形成する画像形成部と、
を備える画像形成システム。 - 前記ブロック階調値決定部は、前記Nt個のグループそれぞれの前記ブロック階調値を、当該グループを構成する画素に格納された階調値の代表値に基づき決定する
請求項1に記載の画像形成システム。 - 前記仮決定部は、前記ブロックを構成する画素についてドットを形成する優先順位を用いて、前記ドット配置を仮に決定する
請求項1又は請求項2に記載の画像形成システム。 - 前記ブロック階調値のデータ量と前記位置情報のデータ量との合計は、前記Nb個の画素についての前記ドット配置のデータ量よりも小さい
請求項1から請求項3までの何れか一項に記載の画像形成システム。 - 前記分類部は、前記ブロック内にエッジが含まれない場合、前記分類を実行せず、
前記ドット配置決定部は、前記ブロック内にエッジが含まれない場合、前記ドット配置を前記ブロック階調値に基づき決定する
請求項1から請求項4までの何れか一項に記載の画像形成システム。 - 前記ブロック内にエッジが含まれるか否かを、前記ブロックを構成する画素に格納された階調値と、予め定められた閾値との比較に基づき判定する判定部を備える
請求項5に記載の画像形成システム。 - 前記仮決定部は、前記ブロック内にエッジが含まれない場合、前記仮の決定を実行せず、
前記ブロック階調値決定部は、前記ブロック内にエッジが含まれない場合、前記Ntを1と見なす
請求項5又は請求項6に記載の画像形成システム。 - 前記位置情報は、前記Nt個のグループのうち代表画素が属するグループに属するか否かを、前記ブロックを構成する画素のうち前記代表画素以外の画素について示す
請求項1から請求項7までの何れか一項に記載の画像形成システム。 - 画像データに含まれるNb個の画素によって構成されるブロックを対象に、最高の階調値の画素を含むグループと、最低の階調値の画素を含むグループとを含むNt(Ntは2≦Nt<Nbを満たす整数)個のグループに分類する分類部と、
前記Nt個のグループの少なくとも何れかについて、当該グループを構成する画素の位置を示す情報である位置情報を作成する位置情報作成部と、
前記Nt個のグループそれぞれを対象に、前記Nb個の画素の階調値を表現するために要するデータ量よりも少ないデータ量によるブロック階調値を、各グループを構成する画素毎の階調値に基づき決定するブロック階調値決定部と、
前記Nt個のグループそれぞれを対象に、前記ブロックを構成する画素毎にドット形成の有無を示す情報であるドット配置を、前記ブロック階調値に基づき仮に決定する仮決定部と、
前記仮に決定されたドット配置と、前記位置情報とを用いて、前記ブロックを対象にした前記ドット配置を決定するドット配置決定部と、
前記決定されたドット配置を用いて、画像を形成する画像形成部と、
を備える画像形成装置。 - 画像データに含まれるNb個の画素によって構成されるブロックを対象に、最高の階調値の画素を含むグループと、最低の階調値の画素を含むグループとを含むNt(Ntは2≦Nt<Nbを満たす整数)個のグループに分類し、
前記Nt個のグループの少なくとも何れかについて、当該グループを構成する画素の位置を示す情報である位置情報を作成し、
前記Nt個のグループそれぞれを対象に、前記Nb個の画素の階調値を表現するために要するデータ量よりも少ないデータ量によるブロック階調値を、各グループを構成する画素毎の階調値に基づき決定し、
前記Nt個のグループそれぞれを対象に、前記ブロックを構成する画素毎にドット形成の有無を示す情報であるドット配置を、前記ブロック階調値に基づき仮に決定し、
前記仮に決定されたドット配置と、前記位置情報とを用いて、前記ブロックを対象にした前記ドット配置を決定し、
前記決定されたドット配置を用いて、画像を形成する
画像形成方法。 - 画像データに含まれるNb個の画素によって構成されるブロックを対象に、最高の階調値の画素を含むグループと、最低の階調値の画素を含むグループとを含むNt(Ntは2≦Nt<Nbを満たす整数)個のグループに分類し、
前記Nt個のグループの少なくとも何れかについて、当該グループを構成する画素の位置を示す情報である位置情報を作成し、
前記Nt個のグループそれぞれを対象に、前記Nb個の画素の階調値を表現するために要するデータ量よりも少ないデータ量によるブロック階調値を、各グループを構成する画素毎の階調値に基づき決定し、
前記Nt個のグループそれぞれを対象に、前記ブロックを構成する画素毎にドット形成の有無を示す情報であるドット配置を、前記ブロック階調値に基づき仮に決定し、
前記仮に決定されたドット配置と、前記位置情報とを用いて、前記ブロックを対象にした前記ドット配置を決定し、
前記決定されたドット配置を用いて、画像を形成する
ことをコンピューターに実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017012912A JP2018121277A (ja) | 2017-01-27 | 2017-01-27 | 画像形成システム、画像形成装置、画像形成方法、プログラム |
US15/868,094 US10755152B2 (en) | 2017-01-27 | 2018-01-11 | Image forming system, image forming device, and image forming method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017012912A JP2018121277A (ja) | 2017-01-27 | 2017-01-27 | 画像形成システム、画像形成装置、画像形成方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018121277A true JP2018121277A (ja) | 2018-08-02 |
Family
ID=62979997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017012912A Pending JP2018121277A (ja) | 2017-01-27 | 2017-01-27 | 画像形成システム、画像形成装置、画像形成方法、プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10755152B2 (ja) |
JP (1) | JP2018121277A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020022090A (ja) * | 2018-08-01 | 2020-02-06 | キヤノン株式会社 | 画像処理装置、画像処理方法およびプログラム |
JP2020022095A (ja) * | 2018-08-01 | 2020-02-06 | キヤノン株式会社 | 画像処理装置、画像処理方法およびプログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4375050B2 (ja) | 2004-02-20 | 2009-12-02 | セイコーエプソン株式会社 | 所定領域内に形成されるドット個数の情報に基づいて画像を出力する画像出力システム |
JP4375071B2 (ja) | 2004-03-22 | 2009-12-02 | セイコーエプソン株式会社 | 所定領域内に形成されるドット個数の情報に基づいて画像を出力する画像出力システム |
WO2005104525A1 (ja) | 2004-04-22 | 2005-11-03 | Seiko Epson Corporation | 複数画素ずつ多値化を行う画像処理装置 |
JP5482535B2 (ja) * | 2010-07-23 | 2014-05-07 | コニカミノルタ株式会社 | 画像処理装置及び画像処理方法 |
JP5887699B2 (ja) * | 2011-03-04 | 2016-03-16 | セイコーエプソン株式会社 | 画像形成装置、及び、画像形成方法 |
JP6390405B2 (ja) | 2014-12-16 | 2018-09-19 | セイコーエプソン株式会社 | 印刷装置、印刷方法、プログラム、および画像処理装置 |
-
2017
- 2017-01-27 JP JP2017012912A patent/JP2018121277A/ja active Pending
-
2018
- 2018-01-11 US US15/868,094 patent/US10755152B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10755152B2 (en) | 2020-08-25 |
US20180218246A1 (en) | 2018-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006352837A (ja) | 画像処理装置,画像処理方法,及び画像処理プログラム | |
US20060067583A1 (en) | Image compression apparatus, and image compression program storage medium | |
US8094954B2 (en) | Image processing apparatus, image processing method and image processing program that performs a level conversion on multilevel input image data | |
JP6184196B2 (ja) | 画像処理方法及び画像処理装置 | |
US8164793B2 (en) | Image processing apparatus and method | |
JP2018121277A (ja) | 画像形成システム、画像形成装置、画像形成方法、プログラム | |
US7623268B2 (en) | Replacement halftoning | |
JP4375167B2 (ja) | 画像形成装置、画像形成方法及び画像形成プログラム | |
JP2015216455A (ja) | 画像処理装置、画像処理方法及びプログラム。 | |
JP6184115B2 (ja) | 画像処理方法及び画像処理装置 | |
JP2005088342A (ja) | 改善インクの減色処理 | |
JP2004140826A (ja) | ビットマップの圧縮解除方法 | |
JP2018137497A (ja) | データ圧縮システム、データ圧縮装置、データ圧縮方法、プログラム | |
JP3688938B2 (ja) | 画像データ生成方法、装置および記録媒体 | |
US20070047000A1 (en) | Image Processing Device, Image Processing Method, and Program | |
JP5843472B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2018152666A (ja) | 画像形成システム、画像形成装置、画像形成方法、プログラム | |
JP4742871B2 (ja) | 画像処理装置、画像処理方法、画像処理プログラムおよびそのプログラムを記録した記録媒体 | |
JP6525518B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP4343157B2 (ja) | 画像処理装置および画像処理方法 | |
US20130135685A1 (en) | Printing system and printing system program | |
JP2006148334A (ja) | 画像処理方法および記録システム | |
JP2011166765A (ja) | 画像形成装置及び画像形成方法 | |
JP2001069349A (ja) | 画像処理方法、画像処理装置および記録媒体 | |
JPH10294880A (ja) | カラー画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191107 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200821 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200825 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20201124 |