JP6238589B2 - 画像形成装置、画像処理方法、およびプログラム - Google Patents

画像形成装置、画像処理方法、およびプログラム Download PDF

Info

Publication number
JP6238589B2
JP6238589B2 JP2013127780A JP2013127780A JP6238589B2 JP 6238589 B2 JP6238589 B2 JP 6238589B2 JP 2013127780 A JP2013127780 A JP 2013127780A JP 2013127780 A JP2013127780 A JP 2013127780A JP 6238589 B2 JP6238589 B2 JP 6238589B2
Authority
JP
Japan
Prior art keywords
data
image
reduction
pattern
pdl data
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.)
Expired - Fee Related
Application number
JP2013127780A
Other languages
English (en)
Other versions
JP2015002530A5 (ja
JP2015002530A (ja
Inventor
大樹 武石
大樹 武石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013127780A priority Critical patent/JP6238589B2/ja
Priority to US14/302,048 priority patent/US9053409B2/en
Publication of JP2015002530A publication Critical patent/JP2015002530A/ja
Publication of JP2015002530A5 publication Critical patent/JP2015002530A5/ja
Application granted granted Critical
Publication of JP6238589B2 publication Critical patent/JP6238589B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1867Post-processing of the composed and rasterized print image
    • G06K15/1869Depleting the print image
    • G06K15/1871Depleting the print image with provisions for image features conservation or enhancement, e.g. conservation or enhancement of zone edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1867Post-processing of the composed and rasterized print image
    • G06K15/1872Image enhancement
    • G06K15/1876Decreasing spatial resolution; Dithering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1867Post-processing of the composed and rasterized print image
    • G06K15/1869Depleting the print image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/393Enlarging or reducing
    • H04N1/3935Enlarging or reducing with modification of image resolution, i.e. determining the values of picture elements at new relative positions

Description

本発明は、画像形成装置、画像処理方法、およびプログラムに関する。
特に、本発明は、ホストコンピュータから送信された印刷データを受信し、画像処理を行ったうえで画像形成する画像形成装置、画像処理方法、およびその画像処理方法を実現するプログラムに関する。
近年、ホストコンピュータのアプリケーションやOSにおいて、背面に描画されているオブジェクトが透けて見えるように、前面のオブジェクトを半透明に描画することが可能となっている。この前面のオブジェクトを半透明に描画する方法の一つとして、前面のオブジェクトを市松模様状に間引く手法が知られている(特許文献1を参照)。
この手法によって生成された印刷データを受信した画像形成装置は、ページ記述言語(本明細書では「PDL」と略記する。PDLの技術情報に関しては非特許文献1を参照)に代表される印刷データを解釈する。そして、解釈結果をもとに、画像形成装置は、拡大・縮小処理(拡縮処理)等の画像処理を行い、印刷用のビットマップデータを生成する (非特許文献1の特にChapter 6: Renderingを参照)。
また、これらビットマップデータ等の画像データに対する拡大・縮小処理(拡縮処理)として、間引き処理が知られている。この間引き処理は、縮小率に応じて対象画像のピクセルを抜き取ることにより、対象画像データのピクセル数を減ずる処理である。また、市松模様上に間引かれた印刷データに対する拡縮処理として、平均濃度を求めて拡縮処理を行う技術が知られている(特許文献2を参照)。
特開2009−110427号公報 特開2007−27826号公報
PostScript Language Reference Manual SECOND EDITION6.3 Transfer Functions
上記の従来技術を、図1を参照しながらマイクロソフト社製パワーポイントを例に挙げて説明する。
図1の符号101aに示す文字(abcdefgh)の前面に、グレーのオブジェクトを図1の符号101bに示すように追加して描画すると、グレーのオブジェクトの背面の文字は隠れて描画されるので見えない。
これに対して、図1の符号101aに示す文字の前面に、半透明指定されたグレーのオブジェクトを図1の101dに示すように追加して描画すると、グレーのオブジェクトの背面の文字が透けて見える。
ユーザーがパワーポイントを使用している場合、次の操作を行うことでこの半透明指定を行うことができる。即ち、ユーザーはパワーポイントの「オートシェイプの書式設定」機能で、塗りつぶしの色指定でグレーを指定し、併せて半透明指定をチェックして半透明指定を行う。これにより、グレーのオブジェクトの背面文字が透けて見えるように設定することができる。
この半透明指定は、図1の符号101cに示すようなグラデーションオブジェクトに対しても行うことができる。即ち、図1の符号101eに示すように、グラデーションオブジェクトを半透明指定することで、ユーザーはパワーポイントを使用する際に背面の文字が透けて見えるように設定することができる。
このような半透明指定が可能なアプリケーションはパワーポイントに限らない。今日の様々なWYSIWYGアプリケーションにおいて、半透明指定を行うことができる。
半透明指定されたオブジェクトは、実際には図2に示すように描画されている。
まず、何も描画されていない状態の背景301に対してオブジェクト302が、GDIコマンドによる表現の1つRasterOPeration (本明細書では「ROP」と略記する)の“上書き”処理によって描画される。ROPとは、2つ以上のオブジェクトをビット演算によって重ね合わせる描画方法である。“上書き”処理は、上に重ねるオブジェクトが常に有効となる処理である。
次に、半透明指定されたグレーのオブジェクト303が、ROPの“XOR”処理によって描画される。“XOR”処理は、重ね合わせるオブジェクト同士の各ビットをXORで演算する処理である。
次に、半透明パターンオブジェクト304が、ROPの“AND”処理によって描画される。“AND”処理は、重ね合わせるオブジェクト同士の各ビットをANDで演算する処理である。
最後に再び、半透明指定されたグレーのオブジェクト303と同等の半透明指定されたグレーのオブジェクト305が、ROPの“XOR”処理によって描画される。
上記の一連の処理により、半透明パターンオブジェクト304の白の部分が、半透明指定されたグレーのオブジェクト303あるいは305に描画され、半透明パターンオブジェクト304の黒の部分が、オブジェクト302に描画され、描画結果306が得られる。このようにして、オブジェクト302に含まれる文字が透けて見える描画結果が得られるのである。
ここでさらに、描画結果306に対して拡縮処理、具体的には間引きによる縮小処理が行われた場合について、図3を参照しながら説明する。パワーポイントの印刷において、拡縮処理は、例えば、面付け処理の様な操作や設定がなされている場合に行われる。面付け処理とは、ページ内の描画全体を縮小し、一枚の紙に複数ページを割りつけて印刷する処理である。この面付け処理に代表される縮小処理では、例えば、1/2の倍率で縮小処理が行われ、上述した半透明の描画結果306に対しても縮小処理が行われる。
この拡縮処理において以下の様な課題がある。上述したように半透明パターンは、市松模様に代表される空間に対して周期的な描画処理によって実現されている。このような周期的な描画処理の結果に対する拡縮処理においては、正しく描画されない恐れがある。例えば、間引き縮小処理による標本化の周期が、市松模様の周期的な描画パターンの周期と一致する場合、あるいは、市松模様の周期的な描画パターンの周期の有理数倍である場合、以下の様な課題が起こり得る。この場合、市松模様の周期的な描画パターンに対する縮小結果が、元の周期的な描画パターンを再現せず、平均濃度に差異が生じることがあり、あるいは、描画抜けが発生することがある(図3の符号307を参照)。この現象は、干渉による画像劣化や、折り返し雑音、またはエイリアスと呼ばれる従来から存在する問題であり、公知の現象である。
つまり、従来技術においては、半透明パターンオブジェクトに代表される空間周期性のある描画オブジェクトの描画処理と、拡縮処理とによる干渉によって描画品位の低下が起こり得るという課題がある。
上の説明では、モノクロ印刷の場合を例に挙げて説明を行っている。この例では、ユーザーが意図した描画結果と異なる印刷結果または濃度に差異がある印刷結果を得るという課題がある。即ち、図3の符号307で示すような描画抜けが発生する。また、カラー印刷の場合はさらに、打つべき場所に打つべきカラードットが形成されず色味までが変わってしまうという課題がある。
こうした課題への対策として、特許文献1では、半透明指定されたオブジェクトの印刷が行われる際に、本来印刷されるべき濃度で印刷されるか確認し、印刷されない場合には警告を行っている。しかし、特許文献1に記載の方法を使ったとしても、ユーザーの意図通りの濃度にオブジェクトは印刷されないという課題がある。ただし、この課題は、公知のアンチエイリアス処理を行うことで回避可能である。
しかしながら、アンチエイリアス処理には一定の処理時間がかかり、印刷に伴う画像処理の速度を低下せしめるという課題がある。同様に、特許文献1に示されている平均濃度を求めることで、半透明処理と、縮小処理との干渉を防止する手法も、アンチエイリアス処理と同様に、印刷に伴う画像処理の速度を低下せしめるという課題がある。
本発明は、上記の課題を鑑みてなされたものである。本発明は、半透明パターンオブジェクトに代表される、空間周期性のある描画オブジェクトと、ディザパターンとの干渉(例えば、半透明処理と、縮小処理との干渉)によって起こる描画品位の低下を防ぐことを目的とする。同時に、本発明は、従来技術のアンチエイリアスや平均濃度を求める処理よりも高速な画像処理を実現することを目的とする。
本発明の請求項1は、データを解釈して、中間データを生成する画像形成装置であって、データ中に周期性のある描画パターンがあるか否かを判定する手段と、データ中に縮小命令があるか否かを判定する手段と、データ中に周期性のある描画パターンがあると判定され且つデータ中に縮小命令があると判定された場合、前記描画パターンの周期のピッチ数と、前記縮小命令が持つ縮小率との比率を求める手段と、前記比率と、前記画像形成装置がロードしたテーブル内の値とが一致するか否かを判定する手段と、前記比率が前記テーブル内の値と一致すると判定された場合、画像をセル毎に分けて、セル単位で間引き処理を行うことで、前記画像を縮小する手段とを備えたことを特徴とする。
本発明の効果は以下のとおりである。
第一に、空間周期性のある描画オブジェクトの描画処理と、拡縮処理とが干渉する場合に、描画品位が低下する問題を防止することができる。
第二に、縮小処理において高速な間引き処理を行いながら、描画品位が低下する問題を防止することができる。即ち、本発明は、従来技術のアンチエイリアス処理や平均濃度を求める処理より高速な間引き処理を用いながら、画質を改善することができる。
半透明指定が可能なオブジェクトを説明する図である。 半透明指定されたオブジェクトの描画方法を説明する図である。 半透明指定と、拡縮指定とがされたオブジェクトの描画を説明する図である。 本発明の実施例1に係るプリンター等の接続形態を説明する図である。 本発明の実施例1に係るPDLデータと、中間データとを説明する図である。 本発明の実施例1に係るホストコンピュータの構造を説明する図である。 本発明の実施例1に係るホストコンピュータにおけるPDLコマンド生成処理を説明するフロー図である。 本発明の実施例1に係る半透明指定されたオブジェクトの描画方法を説明する図である。 本発明の実施例1に係る半透明指定されたオブジェクトの描画方法を説明する図である。 本発明の実施例1に係るプリンター内のハードウェア構成を説明するブロック図である。 本発明の実施例1に係るプリンター内のソフトウェア構成を説明するブロック図である。 本発明の実施例1に係るプリンター内のデータフローを説明する図である。 本発明の実施例1に係る周期性のある描画のパターンに対する拡縮処理を説明するフロー図である。 本発明の実施例1に係る干渉比率テーブルを示す図である。 本発明の実施例1に係る周期性のある描画のパターンを保存したテーブルを示す図である。 本発明の実施例1に係る拡縮処理の一例を示す図である。 本発明の実施例1に係る間引きによる縮小処理を説明する図である。 本発明に係る間引きによる縮小処理を説明するフロー図である。 本発明の実施例2に係るPDLデータ生成処理を説明する図である。
以下、本発明を実施するための最良の形態について図面を参照しながら説明する。
[実施例の概要]
本発明の第1の実施例(実施例1)を以下の順序で説明する。
第一に、プリンターと、ホストコンピュータとの接続形態およびこの接続形態における印刷処理を概説する。
第二に、ホストコンピュータが生成しプリンターが処理するPDLデータの説明を行う。併せて、PDLデータを用いて周期性のある描画パターンをどのように表現するかについて説明する。
第三に、プリンターがPDLデータを用いてどのように印刷処理を行うかを説明する。併せて、プリンターがPDLデータに含まれる周期性のある描画オブジェクトをどのように処理するかについて説明する。
最後に、本実施例の効果を説明する。
[ホストコンピュータと、プリンターとの接続形態および印刷処理の説明]
図4は、本実施例における画像形成装置の接続形態を示している。
パーソナルコンピュータに代表されるホストコンピュータ900は、上述したパワーポイント等のアプリケーションやミドルウェア、ドライバーソフトウェアを動作させ、入力データであるPDLデータ1000を生成する。PDLデータ1000に関しては後述する。ホストコンピュータ900と、プリンター100とは、ネットワーク300に代表される通信手段によって相互に接続されている。ホストコンピュータ900は、PDLデータ1000を、ネットワーク300を通じてプリンター100に転送する。なお、ネットワーク300として、後述するUSBインターフェース装置100−7、IEEE 1284インターフェース装置100−8、ネットワーク装置100−9のいずれを用いても本発明を実施できる。もちろんそれ以外の、装置間を接続しデータ転送を実現する技術を用いて、本発明を実施できることは言うまでもない。
一方、プリンター100は、ネットワーク300に代表される通信手段を通じて得たPDLデータ1000を使い、紙400に代表される可視媒体上に可視像を形成する。紙400上に可視像を形成する処理は、一般には印刷と呼ばれている(以下、この可視像の形成をまとめて「印刷」と称する)。
なお、本実施例では、ホストコンピュータ900として、パーソナルコンピュータを利用した場合を例に挙げて説明している。しかしながら、パーソナルコンピュータ以外の、次に例示するようなPDLデータ1000やそれに相当する画像データを生成し、転送することができる装置を利用しても、本発明を実施できることは言うまでもない。即ち、ホストコンピュータ900として、ワークステーション、メインフレームコンピュータ、サーバー、スマートフォン、PDA、またはデジタルカメラ等を利用しても、本発明を実施できる。
また、本実施例では、画像形成装置として、プリンターを利用した場合を例に挙げて説明している。しかしながら、画像形成装置として、MFP(マルチファンクションプリンター)、印刷機、電子ペーパー、またはその他のディスプレイ装置等と呼ばれる可視像を形成することができる装置を利用しても、本発明を実施できる。
[PDLデータの説明]
次に、本実施例におけるPDLデータ1000の構造を、図5(a)を参照しながら説明する。
PDLデータ1000は、次に説明するPDLコマンドを一つ以上持つことができる。即ち、PDLデータ1000は、グラフィック描画命令1000−1を持つことができる。また、PDLデータ1000は、文字描画命令1000−2を持つことができる。さらに、PDLデータ1000は、ラスタービットマップ描画命令1000−3を持つことができる。
グラフィック描画命令1000−1とは、幾何学的な情報によって指定可能な図形の描画命令である。PDLデータ1000が持つことができる幾何学的な情報は、二次元平面上の線分や、その集合によって表現可能な直線を含む。また、PDLデータ1000が持つことができる幾何学的な情報は、二次元平面上のベジェ曲線に代表されるブレンディング関数で表現可能な曲線を含む。また、PDLデータ1000が持つことができる幾何学的な情報は、上述した線分や曲線を含む集合による閉曲線を含む。また、PDLデータ1000が持つことができる幾何学的な情報は、上述した閉曲線の内部の色情報を含む。また、PDLデータ1000が持つことができる幾何学的な情報は、上述した閉曲線の内部のグラデーション情報を含む。
なお、PDLデータ1000が持つことができる幾何学的な情報は、上で例に挙げたもの以外の情報であっても良い。例えば、二次元平面上のベジェ曲線の代わりにスプライン曲線等の他の曲線の表現方法を用いたとしても本発明を実施できることは言うまでもない。また、本実施例では、PDLデータ1000が持つことができる幾何学的な情報として上述したものを例に挙げて説明してきたが、その一部を持っていないPDLデータ1000を用いたとしても本発明を実施できる。
文字描画命令1000−2とは、指定された文字を描画するための命令である。
ラスタービットマップ描画命令1000−3とは、離散的な色情報を持つ二次元配列を描画するための描画命令である。ラスタービットマップ描画命令1000−3は、後述するROP情報を持つことができる。
なお、PDLデータ1000がグラフィック描画命令1000−1、文字描画命令1000−2、ラスタービットマップ描画命令1000−3以外の命令を持つ場合でも、本発明を実施することができる。
図5(a)の拡縮命令1000−4は、グラフィック描画命令1000−1、文字描画命令1000−2、ラスタービットマップ描画命令1000−3のいずれかに対する、拡大乃至縮小を行う命令である。拡縮命令1000−4は、拡大乃至縮小する割合を示す拡縮率を持つ。
拡縮命令1000−4を用いる処理の例として、nUP処理が挙げられる。nUP処理は、図16に示すように、一枚の紙500の面上に複数のページ500−1、500−2を縮小して配置する処理である。nUP処理の一部である2UP処理においては、1/2倍に縮小処理を行い一枚の紙あたり2ページを配置する。ただし、この例以外に拡縮命令を用いる場合であっても、本発明を実施できることは言うまでもない。
PDLデータ1000に含まれるデータは、後述する処理により中間データ2000(図5(b)を参照)に変換される。中間データ2000の詳細に関しては、後述する。
[ホストコンピュータの説明]
次に、本実施例におけるホストコンピュータ900の構造を、図6を参照しながら説明する。
図6に示すように、ホストコンピュータ900は、CPU11と、ROM12と、RAM13とから構成される。CPU11は、種々の演算、制御、判定等の処理動作を実行する。ROM12は、CPU11によって実行される処理の制御プログラム等を格納する。RAM13は、CPU11の処理動作中のデータや入力データ等を一時的に格納する。
ホストコンピュータ900には、入力操作部14と、表示部15とが接続されている。入力操作部14は、所定の指令もしくはデータ等を入力するキーボードまたは各種スイッチ等を含む。表示部15は、ホストコンピュータ900の入力・設定状態等に関する種々の情報を表示する。
また、ホストコンピュータ900は、表示部15において、前述したWYSIWYGを実現するためのGUIを表示することができる。ユーザーは、入力操作部14を介してGUIにおける半透明の指定操作を行うことで、半透明指定を行う。また、ユーザーは、入力操作部14を介してGUIにおける色設定を行うことで、各種描画の色の設定を行う。さらに、ユーザーは、入力操作部14を介してGUIにおけるグラデーション設定を行うことで、各種グラデーションの設定を行う。
なお、本発明においてホストコンピュータ900が画像データを取得する方法は、どのような方法であっても良い。例えば、ユーザーが入力操作部14を操作して所定のアプリケーション上で画像データを作成しても良い。また、磁気ディスクや光ディスク等の着脱可能なメディアの読取装置をホストコンピュータ900が備える場合は、メディアを使って画像データを入力するようにしても良い。さらに、スキャナ等の画像読取装置が内蔵されている場合または画像読取装置がネットワークを介して接続されている場合は、画像読取装置にて読み取られた画像データを入力することで、画像データを取得するようにしても良い。
本実施例では、ホストコンピュータ900は、ROM12からプログラムを読み出し、PDLデータ1000を作成する。そして、ホストコンピュータ900は、作成されたPDLデータ1000をプリンター100等の画像形成装置に送信する。画像形成装置は、送信されたPDLデータ1000に基づいて紙400上に印刷する。画像形成装置は、画像処理装置と一体化されていても良いし、別個に設けられて画像処理装置とネットワーク等を介して接続されていても良い。
[半透明オブジェクトの生成処理]
次に、本実施例における半透明オブジェクトを含むPDLデータ1000の生成手順を、図7を参照しながら説明する。なお、本実施例では、説明を簡単にするためにモノクロ印刷の場合について説明する。
まず、ユーザーは、ホストコンピュータ900が有する所定のアプリケーションにより表示部15に表示されたファイルの中から印刷対象となるファイルを、入力操作部14を介して指定する。該指定に基づいて、CPU11は、アプリケーションによる描画を開始する。
次いで、CPU11は、PDLデータ1000の生成のために、PDLコマンド生成処理(ステップs200)を行い、一つ以上のPDLコマンドを生成する。PDLコマンド生成処理(ステップs200)において、CPU11は、以下の一連の処理を行う。
まず、ステップs201において、CPU11は、アプリケーションからの描画に基づく描画命令があるか否かを判定する。アプリケーションからの描画に基づく描画命令があると判定された場合、処理はステップs202へ進み、アプリケーションからの描画に基づく描画命令がないと判定された場合、処理は終了する。
ステップs202において、CPU11は、描画命令に半透明オブジェクトがあるか否かを判定する。描画命令に半透明オブジェクトがあると判定された場合、処理はステップs203へ進み、描画命令に半透明オブジェクトがないと判定された場合、処理はステップs205へ進む。
ステップs203において、CPU11は、ROM12に予め格納された格子状(例えば、市松模様状)の半透明パターンオブジェクトを読み出す。本実施例では、この半透明パターンは、半透明オブジェクトの透過率に対して一意に決定可能なデータとしてROM12に格納されている。即ち、CPU11は、透過率に応じて一意に求まる市松模様等の周期性のある描画データを用いてPDLデータ1000を生成する。次いで、処理は、ステップs204へ進む。
ステップs204において、CPU11は、半透明指定されたオブジェクトに対し、半透明パターンオブジェクトと、ROPとを組み合わせることでPDLコマンドを生成し、RAM13に格納する。具体的には、半透明指定されたオブジェクトに対するROPの“XOR”指定と、半透明パターンオブジェクトに対するROPの“AND”指定と、更に半透明指定されたオブジェクトに対するROPの“XOR”指定との組み合わせによるPDLコマンドを生成する。次いで、処理は、ステップs201に戻る。
ステップs205において、CPU11は、アプリケーションからの描画命令に従って、PDLコマンドを生成する。次いで、処理は、ステップs201に戻る。
次に、半透明指定されたオブジェクトに対するPDLコマンドについて、図8を参照しながら説明する。図8(a)には、アプリケーションからの描画命令に基づく半透明指定されたオブジェクトの一般的な描画方法が示されている。まず、背景1101に半透明指定されたオブジェクト1102をROPの“XOR”で合成し、その上に半透明パターンオブジェクト1103をROPの“AND”で合成し、更にその上に半透明指定されたオブジェクト1104をROPの“XOR”で合成する。
次に、半透明指定されたオブジェクトに対するPDLコマンドについて、図9を参照しながらさらに詳しく説明する。
図9(a)は、図8(a)に示した、背景1101と、半透明指定されたオブジェクト1102とをROPの“XOR”で合成する処理の詳細を示す図である。K=0(ビットパターンでは”00000000”)の背景1201と、K=32(ビットパターンでは”00100000”)である半透明指定されたオブジェクト1202とをROPの“XOR”で合成する。合成の結果、K=32(ビットパターンでは”00100000”)の領域を含む合成画像1205が得られる。ここで、本実施例において、Kは濃度値である。なお、Kは濃度値に限定されず、他の実施例においてKは輝度値であっても良い。
図9(b)は、図8(a)で示した、半透明パターンオブジェクト1103をROPの“AND”で合成する処理の詳細を示す図である。合成画像1205の合成部分(K=32、ビットパターンでは”00100000”)と、半透明パターンオブジェクト1203とをROPの“AND”で合成する。半透明パターンオブジェクト1203は、白部分(K=0、ビットパターンでは”00000000”)と、黒部分(K=255、ビットパターンでは”11111111”)とから成る。合成の結果、半透明パターンオブジェクト1203の白部分がK=0(ビットパターンでは”00000000”)となり、黒部分がK=32(ビットパターンでは”00100000”)となる合成画像1206が得られる。
図9(c)は、図8(a)で示した、半透明指定されたオブジェクト1104をROPの“XOR”で合成する処理の詳細を示す図である。合成画像1206の合成部分(K=32、ビットパターンでは”00100000”)と、半透明指定されたオブジェクト1204(K=32、ビットパターンでは”00100000”)とをROPの“XOR”で合成する。合成の結果、白部分(ビットパターンでは”00000000”)が得られる。また、合成画像1206の合成部分(K=0、ビットパターンでは”00000000”)と、半透明指定されたオブジェクト1204(K=32、ビットパターンでは”00100000”)とをROPの“XOR”で合成する。合成の結果、K=32(ビットパターンでは”001000000”)の部分が得られる。これらの演算によって合成画像1207が得られ、半透明指定されたオブジェクト(K=32)の半透明表現が可能となる。
なお、上記の説明では、濃度が均一な塗りに対する半透明処理を説明している。濃度が均一ではないイメージ等のオブジェクトに対する半透明処理を行う場合は、K=32のオブジェクト1102の代わりに、濃度が均一ではないイメージ1102’に対して“AND”で合成する処理を行えばよい(図8(a)、(b)を参照)。
以下に、上述した処理をまとめる。ホストコンピュータ900は、半透明描画をPDLコマンドで表現するために、同一領域における、ROPの“XOR”指定、“AND”指定、および“XOR”指定ならびに白と、黒とが周期的に出てくる半透明パターンオブジェクトを生成する。この半透明パターンオブジェクトは、ホストコンピュータ内のROM12に保存されたデータを読み出すことで生成される。本実施例では、この半透明パターンは、半透明オブジェクトの透過率に対して一意に決定可能なデータとしてROM12に格納されている。
[プリンター内の装置の説明]
上述したように、本実施例においては、ホストコンピュータ900が生成したPDLデータ1000をプリンター100が取得して印刷処理を行う。以下では、プリンター100内の諸装置について図10を参照しながら説明する。
プリンター100は、CPU100−0と、RAM100−1と、HDD100−2と、ASIC100−3と、電子写真エンジン100−4とを備える。また、プリンター100は、USBインターフェース装置100−7と、IEEE 1284インターフェース装置100−8と、ネットワーク装置100−9とを備える。さらに、プリンター100は、バス100−6を備える。バス100−6は、上述の諸装置を接続し、装置間でデータや命令を相互にやり取りすることを可能にする。
CPU100−0は、RAM100−1に保存された命令を実行することで、後述するPDL解釈処理を実現するソフトモジュール200を実行する。
RAM100−1は、揮発性の記憶媒体である。RAM100−1は、PDLデータ1000と、CPU100−0が実行すべき命令とを保存することができる。また、RAM100−1は、バス100−6を通じてPDLデータ1000やCPU100−0が実行すべき命令を、CPU100−0を含む諸装置に転送することができる。RAM100−1は、揮発性の記憶媒体であるから、プリンター100の電源が落とされると、保存された命令やデータは消去される。
HDD100−2は、不揮発性の記憶媒体である。HDD100−2は、CPU100−0が処理すべき命令およびデータを保存することで、電源断によってRAM100−1上から失われるCPU100−0が処理すべき命令およびデータを保存することができる。また、本実施例においては、HDD100−2は、RAM100−1より記憶容量が大きい。よって、後述する画像形成用ビットマップデータ4000に代表される容量の大きなデータを保存するのに好適である。本実施例では、不揮発性の記憶媒体としてHDDを用いているが、HDDの代わりにフラッシュ型EEPROM、強誘電体メモリー(FeRAM)、磁気抵抗メモリー(MRAM)等を用いても本発明を実施できることは言うまでもない。
ASIC100−3は、後で説明する画像処理を行うことができる。
電子写真エンジン100−4は、ASIC100−3が生成した画像形成用ビットマップデータ4000を用いて、紙に代表される可視媒体上に可視像を形成する。なお、本実施例では、電子写真エンジンを用いて可視媒体上に可視像を得ているが、次に示す電子写真エンジン以外の機構を用いても本発明を実施できることは言うまでもない。即ち、電子写真エンジンの代わりに、液晶パネル、有機ELパネル、凸版印刷エンジン、オフセット印刷電子写真エンジン、インクジェット印刷電子写真エンジン等を用いても本発明を実施できる。
USBインターフェース装置100−7は、USB規格の外部装置を通じて外部からPDLデータ1000をプリンター100に入力することを可能にしている。
IEEE 1284インターフェース装置100−8は、IEEE 1284規格のハードウェアを持つ外部装置を通じて外部からPDLデータ1000をプリンター100に入力することを可能にしている。
ネットワーク装置100−9は、ネットワーク規格のハードウェアを持つ外部装置を通じて外部からPDLデータ1000をプリンター100に入力することを可能にしている。
後述する通信制御部200−0の制御のもと、USBインターフェース装置100−7、IEEE 1284インターフェース装置100−8、およびネットワーク装置100−9により、PDLデータ1000をプリンター100内に受信することができる。
[ソフトモジュールの説明]
次に、CPU100−0上で動作するソフトモジュール200を、図11を参照しながら説明する。
ソフトモジュール200は、通信制御部200−0と、PDLデータ処理部200−1と、画像処理部200−2と、エンジン制御部200−3と、ジョブコントローラ部200−4とを含む。
通信制御部200−0は、USBインターフェース装置100−7、IEEE 1284インターフェース装置100−8、およびネットワーク装置100−9を制御し、プリンター100と、ホストコンピュータ900との間の通信コネクションを確立する。また、通信制御部200−0は、USBインターフェース装置100−7、IEEE 1284インターフェース装置100−8、およびネットワーク装置100−9を制御することで、PDLデータ1000を受信することを可能にする。さらに、通信制御部200−0は、受信したPDLデータ1000をRAM100−1に記録させることができる。
PDLデータ処理部200−1は、RAM100−1に記録されたPDLデータ1000に対する解釈処理をおこない、コントーンラスタービットマップデータ3000を生成する。コントーンラスタービットマップデータ3000の生成については、後述する。
画像処理部200−2は、PDLデータ処理部200−1が生成したコントーンラスタービットマップデータ3000と、ASIC100−3とを使うことで、画像形成用ビットマップデータ4000を生成する。
エンジン制御部200−3は、画像形成用ビットマップデータ4000と、電子写真エンジン100−4とを使うことで、画像形成処理を行う。
ジョブコントローラ部200−4は、上述したソフトモジュール間の情報伝達および処理フローの伝達を行う。これによって、ジョブコントローラ部200−4は、プリンター100の印刷に代表される画像形成処理を実現する。
[PDLデータのデータフロー]
次に、図10で説明したプリンター内の諸装置および図11で説明したソフトウェアモジュール群がPDLデータ1000に対してどのような処理を行うかを、図12を参照しながら説明する。
本実施例においては、プリンター100は、入力データとしてPDLデータ1000をUSBインターフェース装置100−7、IEEE 1284インターフェース装置100−8、またはネットワーク装置100−9を経由して受信する。受信したPDLデータ1000は、ジョブコントローラ部200−4によって、RAM100−1またはHDD100−2に保存される。
次に、PDLデータ処理部200−1は、CPU100−0上でジョブコントローラ部200−4の制御のもとPDLデータ1000の解釈処理を行い、中間データ2000を生成する(ステップs20)。中間データ2000は、図5(b)で示されるように、ラスタービットマップデータ2000−1と、グラフィックデータ2000−2とを持つことができる。これらのデータは、PDLデータ1000中の描画命令1000−1、1000−2、1000−3をCPU100−0が変換することによって生成される。
次に、PDLデータ処理部200−1は、ASIC100−3上でジョブコントローラ部200−4の制御のもと中間データ2000の解釈処理を行い、コントーンラスタービットマップデータ3000を生成する(ステップs30)。コントーンラスタービットマップデータ3000の生成処理をRIP処理という。RIP処理(ステップs30)では、PDLデータ処理部200−1は、中間データ2000に含まれるラスタービットマップデータ2000−1やグラフィックデータ2000−2を解釈し、コントーンラスタービットマップデータ3000を生成する。さらに、PDLデータ処理部200−1は、コントーンラスタービットマップデータ3000をRAM100−1に保存する。なお、本実施例では、RIP処理(ステップs30)は、ASIC100−3上で実行されているが、CPU100−0上で実行されたとしても本発明を実施できることは言うまでもない。
次に、画像処理部200−2は、ASIC100−3上で入力されたコントーンラスタービットマップデータ3000に対して画像処理を行い、画像形成用ビットマップデータ4000を生成する(ステップs40)。生成した画像形成用ビットマップデータ4000は、ASIC100−3によって、RAM100−1に保存される。この画像処理(ステップs40)には、ディザ処理が含まれる。エンジン制御部200−3は、ジョブコントローラ部200−4の制御のもと、電子写真エンジン100−4を使って画像形成用ビットマップデータ4000をもとに印刷する。なお、本実施例では、画像処理(ステップs40)はASIC100−3上で実行されているが、CPU100−0上で実行されたとしても本発明を実施できることは言うまでもない。
[周期性のある描画のパターンに対するプリンター内の処理]
ここまで、プリンター100内で行われる画像形成用ビットマップデータ4000の生成処理の概要を説明してきた。
次に、上述したPDLデータ解釈処理(ステップs20)における、周期性のある描画のパターンに対するプリンター100内の処理を、図13を参照しながら詳細に説明する。
まず、ステップs20−1において、PDLデータ処理部200−1は、干渉比率テーブルをロードする。この処理は、HDD100−2に予め保存されたデータをCPU100−0がRAM100−1にコピーすることで実現する。この干渉比率テーブルは、後述する、周期性のある描画パターンの周期と、縮小率との比のうち、正しく描画されない可能性がある比率から成る集合データである。図14は、その周期性のある描画パターンの周期と、縮小率との比のうち、正しく描画されない可能性がある比率を保存したデータを例示している。図14が示すように、本実施例においては、予めHDD100−2に干渉が起こり得る比率を保存しておくことで、後述する、干渉を回避する処理を行うか否かの判定処理を行う。
次に、ステップs20−2において、PDLデータ処理部200−1は、周期性判定マトリックスをロードする。この処理は、HDD100−2に予め保存されたデータをCPU100−0がRAM100−1にコピーすることで実現する。図15は、その周期性判定マトリックスを例示する図である。図15に示す例では、周期性判定マトリックスは、pattern部に3種類の塗りつぶしパターン情報を持つ。この情報を用いて、後述する、描画内容が周期性を有するか否かの判定処理が行われる。図15のpattern部において、「1」は何らかの色での塗りつぶしを示し、「0」は白を示している。また、図15において、「*」は、「0」または「1」のいずれでもよい、任意の描画を示している。PDLデータ処理部200−1は、「0」、「1」、「*」で表現された情報を用いて、描画内容が周期性を有するか否かを判定する。また、図15に示すように、周期性判定マトリックスは、pich部にそれぞれのパターンに対する周期を示す値を持つ。この値は、上記の「0」、「1」、「*」で示されるパターンに対する周期をピクセル数で表した値である。このピクセル数は、後述する、PDLデータ処理部200−1によって行われるパターンの周期を求める処理に用いられる。なお、本実施例においては、周期性判定マトリックスは、1次元配列を用いた例を示しているが、2次元配列を用いた場合でも本発明を実施できることは言うまでもない。
次に、ステップs20−3において、PDLデータ処理部200−1は、PDLデータ1000を受信する。この処理は、CPU100−0がPDLデータ1000の一部をRAM100−1上に生成されたバッファー領域に保存することによって実現される。
次に、ステップs20−4において、PDLデータ処理部200−1は、PDLデータ受信処理(ステップs20−3)で受信したデータの末端がPDLデータ1000のデータ末端であるか否かを判定する。PDLデータ1000の受信が完了し、受信したデータの末端がPDLデータ1000のデータ末端であると判定された場合、PDLデータ解釈処理は終了する。PDLデータ1000の受信が完了しておらず、受信したデータの末端がPDLデータ1000のデータ末端ではないと判定された場合、処理はステップs20−5に進む。
ステップs20−5において、PDLデータ処理部200−1は、受信したPDLデータ中に周期性のある描画のパターンがあるか否かを判定する。この判定処理においては、まず、PDLデータ処理部200−1は、PDLデータ1000がラスタービットマップ描画命令1000−3を含むか否かを判定する。そして、PDLデータ1000がラスタービットマップ描画命令1000−3を含むと判定された場合、PDLデータ処理部200−1は、周期性判定マトリックスを使ったパターンの検知処理を実行することで、パターンがあるか否かを判定する。これら二つの判定結果がともに真である場合に、PDLデータ1000中に周期性のある描画パターンがあると判定される。本実施例においては、パターンの検知処理は、周期性判定マトリックスと、PDLデータ1000内の上述したパターンオブジェクト304とのパターンマッチングによって実現される。ステップs20−5における判定で周期性のある描画パターンがないと判定された場合には、処理はステップs20−11に進む。ステップs20−5における判定で周期性のある描画パターンがあると判定された場合、処理はステップs20−6に進む。
ステップs20−6において、PDLデータ処理部200−1は、周期性のある描画パターンに対して縮小処理が必要か否かを判定する。この判定処理では、PDLデータ1000が拡縮命令1000−4を持ち且つ拡縮命令1000−4の拡縮率が1未満である場合に、縮小処理が必要であると、PDLデータ処理部200−1は、判定する。ステップs20−6における判定で縮小処理が必要と判定された場合、処理はステップ20−7に進む。ステップs20−6における判定で縮小処理が必要ではないと判定された場合、処理はステップs20−11に進む。
ステップs20−7において、PDLデータ処理部200−1は、周期性のある描画パターンの周期を求める。この周期を求める処理は、ステップs20−5における周期性判定マトリックスと一致するか比較する処理で用いたテーブルを用いて行われる。即ち、PDLデータ処理部200−1は、ステップs20−5で一致したパターンに対応するピッチ数をその描画パターンの周期としてRAM100−1に保存する。パターンと、ピッチ数との対応関係は、図15および上述したステップs20−2の説明を参照されたい。
ステップs20−8において、PDLデータ処理部200−1は、描画パターンの周期のピッチ数と、縮小率との比率を求める。この処理は、RAM 100−1に保存された周期のピッチ数を拡縮命令1000−4が持つ拡縮率で除算することにより実現される。描画パターンの周期のピッチ数と、縮小率との比率をXとすると、Xは次の(式1)により求めることができる。
X = L / R (式1)
ここで、Lは描画パターンの周期のピッチ数であり、Rは拡縮率である。
ステップs20−9において、PDLデータ処理部200−1は、描画パターンの周期のピッチ数と、縮小率との比率Xが図14で示したような干渉比率テーブル内の値と一致するか否かを判定する。この処理は、PDLデータ処理部200−1が干渉比率テーブル内の値を逐次探索し、Xと一致する値があるか否かを判定することにより実現される。Xが干渉比率テーブル内の値と一致すると判定された場合、処理はステップS20−10へ進む。ステップS20−10における処理は、 [セル単位の縮小処理]の章で詳しく説明する。Xが干渉比率テーブル内の値と一致しないと判定された場合、処理はステップs20−11に進む。
ステップs20−11において、PDLデータ処理部200−1は、上記の「PDLデータのデータフロー」の章で説明した処理に基づき中間データ2000を生成する。次いで、処理は、ステップs20−3に戻る。
PDLデータ処理部200−1は、上述した一連の処理をPDLデータ1000の終端まで繰り返し行うことで、中間データ2000を生成する。
[セル単位の縮小処理]
次に、上記のステップS20−10で行う「セル単位の縮小処理」について、図17および図18(a)を参照しながら説明する。
図17では、周期のピッチ数が5であり且つ拡縮率が1/5である場合を例に挙げて、セル単位の縮小処理を示している。図17(a)は、縮小前の画像を表しており、画像はピクセル600から構成される。本明細書では、ピクセル600を周期のピッチ数分だけまとめたものをセル601と呼ぶ。即ち、図17(a)で示されているように、周期のピッチ数が5である場合には、ピクセルを5ピクセル毎にまとめたものをセルと呼ぶ。
図18(a)は、セル単位の縮小処理(ステップS20−10)で実行される詳細な動作のフロー図である。
まず、ステップS20−10−1において、PDLデータ処理部200−1は、縮小の対象となる画像を周期のピッチ数に応じてセルに分割する。例えば、周期のピッチ数が5であるとき、PDLデータ処理部200−1は、縮小の対象となる画像を5ピクセル毎に「セル」という単位に分割する。
次に、ステップS20−10−2において、PDLデータ処理部200−1は、拡縮率に応じてセルを選択する。この処理は、拡縮率が1/4の場合は4セルあたり1セルを選択することで実現される。図17(b)および図17(c)に示す例では、セル601−1〜601−4の中からセル601−1が選択されている。このように、本実施例では、ピクセル単位ではなく、セル単位で拡縮率に応じた間引き処理を行う。
次に、ステップS20−10−3において、PDLデータ処理部200−1は、間引き処理で選択されたセルを縮小後の画像としてRAM100−1に保存する。この処理の後、PDLデータ処理部200−1は、セル単位の縮小処理(ステップS20−10)を終了する。
[実施例1の効果]
本実施例により、空間周期性のある描画オブジェクトの描画処理と、拡縮処理とが干渉する場合に、描画品位が低下する問題を防止することができる。
また、本実施例により、縮小処理において高速な間引き処理を行いながら、描画品位が低下する問題を防止することができる。
以下に、具体的に説明する。画像の周期性の有無は、公知の技術であるフーリエ解析を用いることで判定することができる。本実施例では、フーリエ解析の代わりにパターンマッチングを行っており、フーリエ解析処理は行われない。パターンマッチングは、RAM100−1における比較・分岐処理であり、通常2サイクル程度の時間で実行可能である。これに対し、フーリエ解析処理は、FFTを用いてもN周期の場合、次の(式2)の回数分の乗算を必要とする。
N・log2N /2 (式2)
本実施例では、周期性を見つけるうえで、ホストコンピュータ900から送られてくるPDLデータ1000に含まれ得るオブジェクトのパターンを利用している(ステップS20−5)。これによって、多大な計算処理を省略し、高速化を実現している。
本発明の第2の実施例(実施例2)を実施例1との差異を中心に説明する。
実施例1では、PDLデータ処理部200−1は、プリンター100に予め保存されたテーブルを用いてPDLデータ1000中に周期性のある描画パターンがあるか否かを判定している(ステップs20−5)。加えて、PDLデータ処理部200−1は、PDLデータ1000中に拡縮命令1000−4があるか否かを判定する(ステップs20−6)。これらの処理の後、PDLデータ処理部200−1は、セル単位の縮小処理を行う(ステップS20−10)。このセル単位の縮小処理は、ホストコンピュータ900で実施されたとしても、本発明を実施できる。この場合、ホストコンピュータ900は、PDLデータ1000を解釈して、中間データ2000を生成する画像形成装置として機能する。
そこで、本実施例では、ホストコンピュータ900でセル単位の縮小処理を行った場合について、実施例1との差異を中心に説明する。なお、本実施例においても実施例1と同様、説明を簡単にするためにモノクロ印刷の場合について説明する。
[半透明オブジェクトの生成処理]
ホストコンピュータ900におけるPDLデータ1000の作成手順(ステップs200’)を、図6および図19を参照しながら説明する。なお、本実施例においても実施例1と同様、説明を簡単にするためにモノクロ印刷の場合について説明する。
まず、ユーザーは、ホストコンピュータ900が有する所定のアプリケーションにより表示部15に表示されたファイルの中から印刷対象となるファイルを、入力操作部14を介して指定する。該指定に基づいて、CPU11は、アプリケーションによる描画を開始する。
次いで、CPU11は、PDLデータ1000の生成のために、PDLコマンド生成処理(ステップs200’)を行い、一つ以上のPDLコマンドを生成する。PDLコマンド生成処理(ステップs200’)において、CPU11は、以下の一連の処理を行う。
まず、ステップs201’において、CPU11は、アプリケーションからの描画に基づく描画命令があるか否かを判定する。アプリケーションからの描画に基づく描画命令があると判定された場合、処理はステップs202’へ進み、アプリケーションからの描画に基づく描画命令がないと判定された場合、処理は終了する。
ステップs202’において、CPU11は、描画命令に半透明オブジェクトがあるか否かを判定する。描画命令に半透明オブジェクトがあると判定された場合、処理はステップs203’へ進み、描画命令に半透明オブジェクトがないと判定された場合、処理はステップs205’へ進む。
ステップs203’において、CPU11は、ROM12に予め格納された格子状(例えば、市松模様状)の半透明パターンオブジェクトを読み出す。本実施例では、この半透明パターンは、半透明オブジェクトの透過率に対して一意に決定可能なデータとしてROM12に格納されている。次いで、処理は、ステップs204’へ進む。
ステップs204’において、CPU11は、半透明指定されたオブジェクトに対し、半透明パターンオブジェクトと、ROPとを組み合わせることでPDLコマンドを生成し、RAM13に格納する。具体的には、半透明指定されたオブジェクトに対するROPの“XOR”指定と、半透明パターンオブジェクトに対するROPの“AND”指定と、更に半透明指定されたオブジェクトに対するROPの“XOR”指定との組み合わせによるPDLコマンドを生成する。次いで、処理は、ステップs206’へ進む。
ステップs205’において、CPU11は、アプリケーションからの描画命令に従って、PDLコマンドを生成する。次いで、処理は、ステップs201’に戻る。
ステップs206’において、CPU11は、アプリケーションからの描画命令に縮小命令が含まれるか否かを判定する。アプリケーションからの描画命令に縮小命令が含まれると判定された場合、処理はステップs207’へ進み、アプリケーションからの描画命令に縮小命令が含まれないと判定された場合、処理はステップs201’へ戻る。
ステップs207’において、CPU11は、半透明パターンオブジェクトのピッチ幅を調べる。この処理は、ROM12に予め格納された格子状の半透明パターンオブジェクトのパターンのピクセル幅を読み込むことで実現される。CPU11は、読み込んだピクセル幅を半透明パターンオブジェクトのピッチ幅としてRAM13に保存する。次いで、処理は、ステップs208’へ進む。
ステップs208’において、CPU11は、半透明オブジェクトに対してセル単位の縮小処理を行う。このセル単位の縮小処理は、実施例1の「セル単位の縮小処理」と同等の処理であるが、後に簡単に説明する。次いで、処理は、ステップs201’へ戻る。
[セル単位の縮小処理]
次に、上記のステップs208’で行う「セル単位の縮小処理」について、図18(b)を参照しながら説明する。
図18(b)は、セル単位の縮小処理(ステップs208’)で実行される詳細な動作のフロー図である。
まず、ステップS208’−1において、CPU11は、縮小の対象となる画像を周期のピッチ数に応じてセルに分割する。例えば、周期のピッチ数が5であるとき、CPU11は、縮小の対象となる画像を5ピクセル毎に「セル」という単位に分割する。
次に、ステップS208’−2において、CPU11は、拡縮率に応じてセルを選択する。この処理は、拡縮率が1/4の場合は4セルあたり1セルを選択することで実現される。本実施例では、ピクセル単位ではなく、セル単位で拡縮率に応じた公知の間引き処理を行う。
次に、ステップS208’−3において、CPU11は、間引き処理で選択されたセルを縮小後の画像としてRAM13に保存する。この処理の後、CPU11は、セル単位の縮小処理(ステップS208’)を終了する。
本実施例により、PDLデータ処理部200−1がセル単位の縮小処理(ステップS20−10)を行わなくても、本発明の効果を実現することができる。
即ち、本実施例では、プリンター100内のCPU100−0上で実行されるPDLデータ処理部200−1が受け取るPDLデータ1000は、縮小処理が必要な拡縮命令(1000−4)を含まない。このため、プリンター100側でのセル単位の縮小処理(ステップS20−10)が不要となる。
[実施例2の効果]
本実施例により、実施例1の効果に加えて、ホストコンピュータ900のCPU11がプリンター100のCPU100−0より高速である場合に、セル単位の縮小処理をより高速に実行することができる。
[その他の実施例]
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。

Claims (5)

  1. データを解釈して、中間データを生成する画像形成装置であって、
    データ中に周期性のある描画パターンがあるか否かを判定する手段と、
    データ中に縮小命令があるか否かを判定する手段と、
    データ中に周期性のある描画パターンがあると判定され且つデータ中に縮小命令があると判定された場合、前記描画パターンの周期のピッチ数と、前記縮小命令が持つ縮小率との比率を求める手段と、
    前記比率と、前記画像形成装置がロードしたテーブル内の値とが一致するか否かを判定する手段と、
    前記比率が前記テーブル内の値と一致すると判定された場合、画像をセル毎に分けて、セル単位で間引き処理を行うことで、前記画像を縮小する手段と
    を備えたことを特徴とする画像形成装置。
  2. 前記セルは、ピクセルを前記描画パターンの周期のピッチ数分だけまとめたものであることを特徴とする請求項1に記載の画像形成装置。
  3. 前記データは、PDLデータであることを特徴とする請求項1に記載の画像形成装置。
  4. 画像形成装置によって実行される、データを解釈して、中間データを生成する画像処理方法であって、
    データ中に周期性のある描画パターンがあるか否かを判定するステップと、
    データ中に縮小命令があるか否かを判定するステップと、
    データ中に周期性のある描画パターンがあると判定され且つデータ中に縮小命令があると判定された場合、前記描画パターンの周期のピッチ数と、前記縮小命令が持つ縮小率との比率を求めるステップと、
    前記比率と、前記画像形成装置がロードしたテーブル内の値とが一致するか否かを判定するステップと、
    前記比率が前記テーブル内の値と一致すると判定された場合、画像をセル毎に分けて、セル単位で間引き処理を行うことで、前記画像を縮小するステップと
    を備えたことを特徴とする画像処理方法。
  5. コンピュータを、請求項1乃至3の何れか一項に記載の画像形成装置として機能させるための、プログラム。
JP2013127780A 2013-06-18 2013-06-18 画像形成装置、画像処理方法、およびプログラム Expired - Fee Related JP6238589B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013127780A JP6238589B2 (ja) 2013-06-18 2013-06-18 画像形成装置、画像処理方法、およびプログラム
US14/302,048 US9053409B2 (en) 2013-06-18 2014-06-11 Image forming apparatus, method, and program product determining periodic drawing pattern and thinning an image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013127780A JP6238589B2 (ja) 2013-06-18 2013-06-18 画像形成装置、画像処理方法、およびプログラム

Publications (3)

Publication Number Publication Date
JP2015002530A JP2015002530A (ja) 2015-01-05
JP2015002530A5 JP2015002530A5 (ja) 2016-08-04
JP6238589B2 true JP6238589B2 (ja) 2017-11-29

Family

ID=52019000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013127780A Expired - Fee Related JP6238589B2 (ja) 2013-06-18 2013-06-18 画像形成装置、画像処理方法、およびプログラム

Country Status (2)

Country Link
US (1) US9053409B2 (ja)
JP (1) JP6238589B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6489882B2 (ja) * 2015-03-10 2019-03-27 キヤノン株式会社 メモリ制御装置、画像形成装置、メモリ制御装置のリソース管理方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63142765A (ja) * 1986-12-04 1988-06-15 Nec Corp 像域分離装置
JP2811263B2 (ja) * 1992-06-19 1998-10-15 富士通株式会社 イメージ・データの縮小方法
JPH08125847A (ja) * 1994-10-21 1996-05-17 Matsushita Electric Ind Co Ltd 画像処理装置
US8897596B1 (en) * 2001-05-04 2014-11-25 Legend3D, Inc. System and method for rapid image sequence depth enhancement with translucent elements
EP1271409B1 (en) * 2001-06-28 2016-12-14 Oracle America, Inc. Method and System for Generating a digital image including a transparent object
JP2003018400A (ja) * 2001-07-04 2003-01-17 Matsushita Graphic Communication Systems Inc ファクシミリ装置
US7181687B2 (en) * 2002-06-27 2007-02-20 Adobe Systems Incorporated Previewing the effects of flattening transparency
JP4385628B2 (ja) * 2003-03-28 2009-12-16 ブラザー工業株式会社 イメージデータ処理装置および画像形成装置
JP4137924B2 (ja) 2005-07-12 2008-08-20 京セラミタ株式会社 画像処理装置及び画像処理プログラム
US8208169B2 (en) * 2006-05-24 2012-06-26 Lexmark International, Inc. Method and system for rendering a transparent object in an image
JP4777185B2 (ja) * 2006-08-08 2011-09-21 キヤノン株式会社 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体、及び、画像符号化装置
JP4441562B2 (ja) 2007-10-31 2010-03-31 キヤノン株式会社 画像処理装置および画像処理方法
US8538199B2 (en) * 2010-03-29 2013-09-17 Ricoh Productions Print Solutions LLC Digital image scaling with non integer scaling factors
JP5212425B2 (ja) * 2010-06-01 2013-06-19 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
US9053409B2 (en) 2015-06-09
JP2015002530A (ja) 2015-01-05
US20140368888A1 (en) 2014-12-18

Similar Documents

Publication Publication Date Title
JP5643574B2 (ja) 画像処理装置及び画像処理方法
JP4995057B2 (ja) 描画装置、印刷装置、描画方法、及びプログラム
US8780127B2 (en) Image forming apparatus, method for controlling same, and storage medium
JP2015188212A (ja) 印刷データ処理装置及びプログラム
JP2008117379A (ja) エンコードされたラスタ文書を生成するシステム、方法およびコンピュータプログラム
JP2004152255A (ja) 情報処理装置及び情報処理方法及び印刷制御プログラム
JP2012178042A (ja) 画像形成装置、画像形成方法及びプログラム
JP6238589B2 (ja) 画像形成装置、画像処理方法、およびプログラム
JP6120824B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP2015005131A (ja) 印刷データ処理装置、プログラム、及びシステム
JP2007245723A (ja) ドキュメント・レンダリング・システム、方法およびプログラム
JP6330790B2 (ja) 印刷制御システム、印刷制御装置およびプログラム
JP5936363B2 (ja) 画像処理装置及び画像処理方法
JP6904717B2 (ja) 画像処理装置、その制御方法、およびプログラム
JP2013026865A (ja) 画像処理装置及び画像処理方法
JP6755644B2 (ja) 文字処理装置、文字処理方法、文字処理プログラム
JP5424546B2 (ja) 画像処理装置及び画像形成システム
JP6492895B2 (ja) 印刷データ処理装置及びプログラム
JP2016066222A (ja) 画像処理装置、画像処理方法、コンピュータプログラム
US20170300789A1 (en) Image processing apparatus, image processing method, and non-transitory computer-readable medium
JP2010012737A (ja) 印刷制御装置、印刷処理システム、描画処理方法およびプログラム
JP5310538B2 (ja) 印刷制御プログラム、及び情報処理装置
JP4363434B2 (ja) プリンタシステムとプリンタ
JP2019197327A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2006031086A (ja) 印刷処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160620

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170508

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170905

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170913

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171031

R151 Written notification of patent or utility model registration

Ref document number: 6238589

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees