JP2004106192A - 描画処理装置、情報処理装置、画像形成装置、描画処理方法およびプログラム - Google Patents
描画処理装置、情報処理装置、画像形成装置、描画処理方法およびプログラム Download PDFInfo
- Publication number
- JP2004106192A JP2004106192A JP2002267967A JP2002267967A JP2004106192A JP 2004106192 A JP2004106192 A JP 2004106192A JP 2002267967 A JP2002267967 A JP 2002267967A JP 2002267967 A JP2002267967 A JP 2002267967A JP 2004106192 A JP2004106192 A JP 2004106192A
- Authority
- JP
- Japan
- Prior art keywords
- graphic
- command
- drawing command
- omission
- processing apparatus
- 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1206—Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
- G06F3/1247—Job translation or job parsing, e.g. page banding by conversion to printer ready format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
-
- 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/1848—Generation of the printable image
-
- 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/1848—Generation of the printable image
- G06K15/1852—Generation of the printable image involving combining data of different types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1296—Printer job scheduling or printer resource handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0082—Architecture adapted for a particular function
- G06K2215/0094—Colour printing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Record Information Processing For Printing (AREA)
- Image Generation (AREA)
Abstract
【課題】図形描画命令に従った描画処理を高速に行うことができるようにする。
【解決手段】描画処理装置40に、入力される図形描画命令についてその図形描画命令に係る描画を省略できるか否かの描画省略判定を、上記図形描画命令に係る図形の描画属性によって行う描画省略判定部41と、上記図形描画命令のうち描画省略判定部41によって省略できると判定された部分を無効にし、それ以外の部分を有効にする選別部42とを設ける。
そして、このような描画処理装置40によって、図形描画命令に係る描画属性がその図形描画命令に係る描画を行ってもページメモリ14の内容を変化させないような属性であった場合に、その図形描画命令を無効にし、その命令に係る描画処理を省略するようにするとよい。
【選択図】 図1
【解決手段】描画処理装置40に、入力される図形描画命令についてその図形描画命令に係る描画を省略できるか否かの描画省略判定を、上記図形描画命令に係る図形の描画属性によって行う描画省略判定部41と、上記図形描画命令のうち描画省略判定部41によって省略できると判定された部分を無効にし、それ以外の部分を有効にする選別部42とを設ける。
そして、このような描画処理装置40によって、図形描画命令に係る描画属性がその図形描画命令に係る描画を行ってもページメモリ14の内容を変化させないような属性であった場合に、その図形描画命令を無効にし、その命令に係る描画処理を省略するようにするとよい。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
この発明は、ページプリンタ等の画像形成装置によって画像形成する画像の内容を指定するページ記述言語等による図形描画命令を処理する描画処理装置、このような描画処理装置を備えた情報処理装置及び画像形成装置、上記の図形描画命令を処理する描画処理方法、およびコンピュータを上記の描画処理装置として機能させるためのプログラムに関する。
【0002】
【従来の技術】
従来から、ページプリンタ等の画像形成装置によって画像を形成する場合、種々の図形描画命令によって形成すべき画像の内容を指定し、その図形描画命令に従ってページメモリ上に次々と描画を行うことにより、1ページ分のプリントイメージを作成し、そのプリントイメージに従って画像を形成することが行われている。
ここで、描画を行う際には、ページメモリの描画先のアドレスからデータを読み出し(リード)、そのデータに対して図形描画命令に係る描画演算を行い(モディファイ)、その結果をページメモリに書き込む(ライト)という処理を行う。そして、各図形描画命令について、描画の必要な全てのアドレスに対して順次この一連の処理を実行することになる。
【0003】
このような描画について、近年用いられているグラフィック用アプリケーションやプレゼンテーション用アプリケーションの場合、上記の描画演算としてOR(論理和)やAND(論理積)等を駆使してグラデーション等の複雑な図形を描画することも行われている。また、ヘッダやフッタ等、ページに情報を埋め込む機能が多様化し、スタンプ機能、地紋印刷、透かし印刷等の、ページ一面に対して模様を埋め込む機能も広まりつつある。このようにページに情報を埋め込む場合、通常の描画演算であるSET(置き換え)で描画してしまうと背景を消して(見えなくして)しまうので、ORで描画されることが多い。
そして、特に地紋や大きな図形のように大きな面積を占める要素を描画する場合、描画処理を行うべきアドレス範囲が広く、描画処理時にリード/モディファイ/ライトの処理を多数回に亘って繰り返す必要があり、描画処理に時間がかかって高速印刷の妨げになっているという問題があった。
【0004】
このような問題を解決し、描画処理の高速化を図る技術としては、例えば特許文献1乃至4に記載の技術が知られている。
まず、特許文献1に記載の描画装置においては、モディファイ処理によって得られたデータがリード処理で読み出したデータと同じであった場合にライト処理を省略することにより、無駄な処理を省いて描画速度の高速化を図っている。
また、特許文献2及び3に記載の描画プロセッサにおいては、パタンデータ,ソースデータ,デスティネーションデータをそれぞれメモリから読み出し、これらのデータに対して指定された描画演算を行った結果を新たなデスティネーションデータとして書き戻す場合において、パタンデータ,ソースデータ,デスティネーションデータのうち、指定された描画演算の内容から演算結果に反映されないことがわかるデータについては読み出しを省略することにより、データの読み出し回数を削減して描画速度の高速化を図っている。
さらに、特許文献4に記載の情報処理装置においては、描画命令に係る描画領域が他の描画命令に係る描画領域と重なるか否か判断し、重ならない場合には描画命令に係る描画属性を変更することにより描画速度の高速化を図っている。
【0005】
【特許文献1】
特開平5−266177号公報
【特許文献2】
特開平6−150012号公報
【特許文献3】
特許第2956390号公報
【特許文献4】
特開平11−7364号公報
【0006】
【発明が解決しようとする課題】
しかしながら、特許文献1に記載の描画装置においては、リード処理は必ず実行する必要があり、読み出したデータに対してモディファイ処理を行った後でリードした時点のデータとの比較処理を行う。従って、この装置によって短縮てきる描画時間は、省略できた分のライト処理時間と比較処理に要する時間との差分だけである。従って、ライト動作が遅い装置でなければ効果はあまり発揮できず、全体として描画速度の高速化は十分でなかった。
また、特許文献2及び3に記載の描画プロセッサにおいては、不要なデータについてはリード処理は省略するが、ライト処理は必ず行うので、やはり描画速度の高速化は十分でなかった。
さらに、特許文献4に記載の情報処理装置においては、重なり判定を他の全ての描画命令に係る描画領域と行うため、描画命令数が増すとほぼその2乗に比例して必要な判定回数が増し、描画命令が数千数万にもなる現在のアプリケーションにおいては、描画速度の十分な高速化は困難である。また、各描画領域の位置を記憶するためのメモリも必要であり、省メモリも望めない。
【0007】
この発明は、このような問題を解決し、図形描画命令に従った描画処理を高速に行うことができるようにすることを目的とする。また、図形描画命令によって指定される画像を高速に形成できるようにすることも目的とする。
【0008】
【課題を解決するための手段】
上記の目的を達成するため、この発明の描画処理装置は、入力される図形描画命令についてその図形描画命令に係る描画を省略できるか否かの描画省略判定を行う描画省略判定手段と、上記図形描画命令のうち上記描画省略判定手段によって省略できると判定された部分を無効にし、それ以外の部分を有効にする選別手段とを設け、上記描画省略判定手段を、上記図形描画命令に係る図形の描画属性によって上記描画省略判定を行う手段としたものである。
このような描画処理装置において、上記図形描画命令は、描画する図形の種類を指定する基本図形描画命令と、上記描画属性を指定する描画属性命令とを含むページ記述言語で記載されているとよい。
さらに、上記描画属性が、上記図形描画命令に係る図形の色と描画演算方法の情報を含むとよい。
【0009】
さらにまた、上記描画省略判定手段が、上記図形描画命令に係る図形の描画属性が、その図形描画命令に係る描画を行っても描画先のメモリの内容に関わらずその描画の前後でそのメモリの内容を変化させないような属性であった場合に、その図形描画命令に係る描画を省略できると判定するようにするとよい。
あるいは、上記描画省略判定手段が、上記図形描画命令に係る図形の描画属性のうち、色濃度が最低濃度であり、かつ描画演算方法がOR(論理和)である場合にその図形描画命令に係る描画を省略できると判定するようにするとよい。
また、上記の描画処理装置において、既に何らかの図形描画命令を上記選別手段が有効にしたか否かを示す出力状態フラグをさらに設け、上記描画省略判定手段が、その出力状態フラグも参照して上記描画省略判定を行うようにするとよい。
【0010】
さらに、上記描画省略判定手段が、上記出力状態フラグがまだ図形描画命令を有効にしていない旨を示す場合は、上記図形描画命令に係る図形の描画属性が、その図形描画命令に係る描画を行っても描画先のメモリが初期状態であればその描画の前後でそのメモリの内容を変化させないような属性であった場合にも、その図形描画命令に係る描画を省略できると判定するようにするとよい。
また、上記描画省略判定手段が、上記出力状態フラグがまだ図形描画命令を有効にしていない旨を示す場合は、上記図形描画命令に係る図形の描画属性のうち、色濃度が最低濃度であり、かつ描画演算方法がSET(置き換え)である場合にはその図形描画命令に係る描画を省略できると判定するようにしてもよい。
あるいは、そのような場合に、色濃度が最低濃度であり、かつ描画演算方法がOR(論理和)である場合、色濃度が最低濃度であり、かつ描画演算方法がXOR(排他的論理和)である場合、さらには描画演算方法がAND(論理積)である場合にはその図形描画命令に係る描画を省略できると判定するようにしてもよい。
【0011】
さらに、このような描画処理装置において、上記出力状態フラグを、1ページ分の画像に係る図形描画命令毎に、既に何らかの図形描画命令を上記選別手段が有効にしたか否かを示すフラグとしてもよい。
さらに、上記出力状態フラグを、1ページ内を任意に分割した各判定領域毎に設け、上記描画省略判定手段が、上記出力状態フラグを参照する描画省略判定については、対象の図形描画命令に係る描画領域が属する上記判定領域について、その判定領域毎に行うようにするとよい。
さらに、上記判定領域を、1ページ内を複数のバンドに分割して設けるとよい。
【0012】
また、このような描画処理装置において、上記描画省略判定手段が、上記図形描画命令がカラーの図形に係る図形描画命令であった場合には、そのカラーの各色プレーン毎に上記描画省略判定を行うようにするとよい。
さらに、上記描画省略判定手段が、上記図形描画命令に係る図形がグラフィック図形である場合のみ上記描画省略判定を行うようにするとよい。
あるいは、上記描画省略判定手段が、上記図形描画命令に係る図形がイメージ図形である場合には、そのイメージ図形中で同色の画素が連続する部分を検知し、その連続する部分毎に上記描画省略判定を行うようにするとよい。
あるいはまた、上記描画省略判定手段が、上記図形描画命令に係る図形がイメージ図形である場合には、そのイメージ図形の描画についてワード長単位で上記描画省略判定を行うようにするとよい。
【0013】
また、この発明の情報処理装置は、このような描画処理装置と、画像形成装置と接続するための接続手段と、上記図形描画命令のうち上記選別手段が有効にした部分を上記画像形成装置に出力してその図形描画命令に基づいた画像を形成させる出力手段とを備えたものである。
また、この発明の画像形成装置は、このような描画処理装置と、ページメモリと、上記図形描画命令のうち上記選別手段が有効にした部分のみに基づいてそのページメモリに描画を行う描画手段と、描画終了後の上記ページメモリのデータに基づいて用紙に画像を形成する画像形成手段とを備えたものである。
このような画像形成装置において、外部装置から描画命令を受信する手段と、その描画命令を上記ページメモリへの描画動作に適した形式の図形描画命令に変換するインタプリタと、そのインタプリタによる変換後の図形描画命令を上記描画処理装置による処理に供する手段とをさらに設けるとよい。
【0014】
また、この発明の描画処理方法は、入力される図形描画命令についてその図形描画命令に係る描画を省略できるか否かの描画省略判定を行い、上記図形描画命令のうち省略できると判定した部分を無効にし、それ以外の部分を有効にする描画処理方法であって、上記描画省略判定を、上記図形描画命令に係る図形の描画属性に従って行うものである。
このような描画処理方法において、上記描画省略判定においては、上記図形描画命令に係る図形の描画属性が、その図形描画命令に係る描画を行っても描画先のメモリの内容に関わらずその描画の前後でそのメモリの内容を変化させないような属性であった場合に、その図形描画命令に係る描画を省略できると判定するようにするとよい。
【0015】
さらに、上記描画省略判定は、既に何らかの図形描画命令を有効にしたか否かを示す出力状態フラグも参照して行うようにするとよい。
さらにまた、上記描画省略判定においては、上記出力状態フラグがまだ図形描画命令を有効にしていない旨を示す場合には、上記図形描画命令に係る図形の描画属性が、その図形描画命令に係る描画を行っても描画先のメモリが初期状態であればその描画の前後でそのメモリの内容を変化させないような属性であった場合にも、その図形描画命令に係る描画を省略できると判定するようにするとよい。
また、上記出力状態フラグを、1ページ分の画像に係る図形描画命令毎に、既に何らかの図形描画命令を有効にしたか否かを示すフラグとするとよい。
また、上記出力状態フラグを、1ページ内を任意に分割した各判定領域毎に設定し、上記出力状態フラグを参照する描画省略判定は、対象の図形描画命令に係る描画領域が属する上記判定領域について、その判定領域毎に行うようにするとよい。
この場合において、上記判定領域を、1ページ内を複数のバンドに分割して設けるとよい。
【0016】
また、上記の描画処理方法において、上記図形描画命令がカラーの図形に係る図形描画命令であった場合には、上記描画省略判定をそのカラーの各色プレーン毎に行うようにするとよい。
さらに、上記図形描画命令に係る図形がイメージ図形である場合には、そのイメージ図形中で同色の画素が連続する部分を検知し、その連続する部分毎に上記描画省略判定を行うようにするとよい。
あるいは、上記図形描画命令に係る図形がイメージ図形である場合には、そのイメージ図形の描画についてワード長単位で上記描画省略判定を行うようにするとよい。
【0017】
また、この発明のプログラムは、コンピュータを、入力される図形描画命令について、その図形描画命令に係る描画を省略できるか否かの描画省略判定を、その図形描画命令に係る図形の描画属性によって行う描画省略判定手段と、上記図形描画命令のうち上記描画省略判定手段によって省略できると判定された部分を無効にし、それ以外の部分を有効にする選別手段として機能させるためのプログラムである。
このようなプログラムにおいて、上記描画省略判定手段が、上記図形描画命令に係る図形の描画属性が、その図形描画命令に係る描画を行っても描画先のメモリの内容に関わらずその描画の前後でそのメモリの内容を変化させないような属性であった場合に、その図形描画命令に係る描画を省略できると判定する機能を有するようにするとよい。
【0018】
さらに、上記描画省略判定手段が、上記選別手段が既に何らかの図形描画命令を有効にしたか否かを示す出力状態フラグも参照して上記描画省略判定を行うようにするとよい。
さらにまた、上記描画省略判定手段が、上記出力状態フラグがまだ図形描画命令を有効にしていない旨を示す場合には、上記図形描画命令に係る図形の描画属性が、その図形描画命令に係る描画を行っても描画先のメモリが初期状態であればその描画の前後でそのメモリの内容を変化させないような属性であった場合にも、その図形描画命令に係る描画を省略できると判定する機能を有するようにするとよい。
【0019】
また、上記出力状態フラグを、1ページ分の画像に係る図形描画命令毎に、既に何らかの図形描画命令を上記選別手段が有効にしたか否かを示すフラグとするとよい。
また、上記出力状態フラグを、1ページ内を任意に分割した各判定領域毎に設けたフラグとし、上記描画省略判定手段を、上記出力状態フラグを参照する描画省略判定については、対象の図形描画命令に係る描画領域が属する上記判定領域について、その判定領域毎に行う手段とするとよい。
さらに、上記判定領域を、1ページ内を複数のバンドに分割して設けるようにするとよい。
【0020】
また、これらのプログラムにおいて、上記描画省略判定手段が、上記図形描画命令がカラーの図形に係る図形描画命令であった場合には、上記描画省略判定をそのカラーの各色プレーン毎に行う機能を有するようにするとよい。
さらに、上記描画省略判定手段が、上記図形描画命令に係る図形がイメージ図形である場合には、そのイメージ図形中で同色の画素が連続する部分を検知し、その連続する部分毎に上記描画省略判定を行う機能を有するようにするとよい。
あるいは、上記描画省略判定手段が、上記図形描画命令に係る図形がイメージ図形である場合には、そのイメージ図形の描画についてワード長単位で上記描画省略判定を行う機能を有するようにするとよい。
【0021】
【発明の実施の形態】
以下、この発明の好ましい実施の形態を図面を参照して説明する。
〔第1の実施形態:図1乃至図5〕
まず、この発明の描画処理装置の第1の実施形態および、その描画処理装置を備えた画像形成装置の実施形態であるプリンタについて説明する。図1はそのプリンタのコントローラの機能構成を示すブロック図、図2はそのプリンタのハードウェア構成を示すブロック図、図3はそのプリンタにおいて描画処理を省略できる場合について説明するための図、図4はそのプリンタにおける画像形成時の処理を描画処理装置の機能に関する処理を中心に示すフローチャート、図5は図4に示した描画省略判定処理を示すフローチャートである。
【0022】
上記のプリンタは、外部のホスト装置であるPC(パーソナルコンピュータ)2と接続され、PC2から受信した描画命令に従って用紙に画像を形成する画像形成装置であり、図2に示すとおりプリンタエンジン3とエンジンI/F35とを備えるハードウェア構成である。
プリンタエンジン3は、電子写真方式あるいはインクジェット方式等の任意の方式で用紙に画像を形成するユニットであり、コントローラ10から転送される画像データと制御信号に従って画像形成動作を行う画像形成手段である。
【0023】
コントローラ10は、プリンタ1全体の動作やPC2との情報の授受を制御する制御部であり、ホストインタフェース(I/F)31,CPU32,ROM33,RAM34,エンジンI/F35を備え、これがシステムバス36によって接続されている。
ホストI/F31は、プリンタ1とPC2とを接続するためのインタフェースである。なお、この接続は、LAN(ローカルエリアネットワーク)等のネットワークを介したものであっても、USB(ユニバーサルシリアルバス)等によるローカル接続であっても構わない。
【0024】
CPU32は、ROM33に記憶している種々の制御プログラムやアプリケーションプログラムを実行することにより、情報の授受や各部の動作の制御、図形描画命令に対する描画省略判定や図形描画命令に従った描画処理等の各種の制御や処理を行う。
ROM33は、各種制御プログラムやアプリケーションプログラム、必要なパラメータ等を記憶する記憶手段である。そして、このROM33を書き換え可能に構成すれば、プログラムのバージョンアップ等を容易に行うことができる。
RAM34は、CPU32のワークメモリとして使用したり、後述する中間データメモリ12やページメモリ14として機能したりする記憶手段である。
エンジンI/F35は、コントローラ10とプリンタエンジン3とを接続するためのインタフェースである。
【0025】
このようなプリンタ1の機能構成を、PC2から受信した描画命令に従って画像形成を行う際に用いる機能について示したものが、図1である。
図1に示すように、このプリンタ1のコントローラ10は、インタプリタ11,中間データメモリ12,描画処理装置40,描画処理部13,ページメモリ14の機能を有する。このうち中間データメモリ12とページメモリ14についてはRAM34がこれらの機能を果たし、それ以外については、CPU32がROM33に記憶している種々のプログラムを実行することによりその機能を果たす。特に、描画処理装置40はこの発明の描画処理装置の実施形態であるが、ここではCPU32によってその機能が実現されるものとなっている。
【0026】
インタプリタ11は、PC2から受信したPDL(ページ記述言語)で記載された描画命令を、プリンタ1側でのページメモリ14への描画動作に適した形式の中間データによる図形描画命令に変換する機能を有する。変換後の図形描画命令は中間データメモリ12に蓄積され、蓄積された図形描画命令は、順次描画処理装置40による処理に供される。
ここで、中間データは、例えば矩形の描画であれば左上座標と右下座標を指定したり、左上座標と幅と高さを指定したりするものである。また、PDLも中間データも、文字,グラフィック図形,イメージ図形等の描画すべき図形や画像を指定する基本図形描画命令と、その描画に係る色やクリッピング領域指定,描画演算方法等の描画属性を指定する描画属性命令とを含むものである。
【0027】
描画処理装置40は、描画省略判定部41と選別部42を備える。描画省略判定部41は、描画省略判定手段であり、入力される図形描画命令についてその図形描画命令に係る描画を省略できるか否かの描画省略判定を行う機能を有する。また、選別部42は選別手段であり、入力される図形描画命令のうち描画省略判定部41によって省略できると判定された部分を無効にし、それ以外の部分を有効にする機能を有する。
中間データに含まれる図形描画命令をこのような描画処理装置40による処理に供することにより、図形描画命令のうち描画の省略可能な部分を無効にし、残りの有効にした部分のみに基づいて、描画処理部13によってページメモリ14に描画処理を行う。この描画処理部13が描画手段である。
そして、1ページの画像に必要な描画の終了後、ページメモリ14の内容である画像データをプリンタエンジン3に送出し、その画像データに基づいて画像形成を行わせることにより、PC2から受信した描画命令に基づいた画像を形成することができる。
【0028】
以上のようなプリンタ1は、描画処理装置40における処理に特徴を有し、またその処理は、図形描画命令に係る図形の描画属性によって描画省略判定を行う点に特徴を有するので、以下この点について説明する。なお、以降の説明においてはデータのビットオフを「0」、ビットオンを「1」とし、特に断らない限り、1画素8ビットの0〜255の階調値で濃度を指定し、0が最低濃度(白)、255が最高濃度(モノクロなら黒)であるものとする。
プリンタ1において図形描画命令に従った描画処理を行う場合、ページメモリ14の描画位置に相当するアドレスから現在のデータをデスティネーションデータとして読み出し(リード処理)、描画に係る色のデータであるソースデータとの間で指定された描画演算を行い(モディファイ処理)、その結果得られたデータを新たなデスティネーションデータとしてページメモリ14のもとの位置に書き戻す(ライト処理)。そして、これを描画すべき図形の各画素(ドット)について行うことになる。
【0029】
例えば、図3(a)に示すように、ソースデータが白を示す「0」であり、描画演算方法がSET(置き換え)である場合には、デスティネーションデータが何であっても演算結果は「0」となり、白を示すデータが対象のアドレスに書き戻されることになる。同様に、(b)のようにソースデータが「X」で描画演算方法がOR(論理和)である場合にはデスティネーションデータに応じた「Z」が、(c)のようにソースデータが「X」で描画演算方法がSETである場合にはデスティネーションデータによらず「X」が書き戻されることになる。このように、通常は描画演算を行った結果、描画位置に相当するアドレスのデータは変化することになる。
【0030】
しかし、例えば(d)に示すように、ソースデータが白を示す「0」であり、描画演算方法がORである場合は、デスティネーションデータの内容に関わらず、それがそのまま演算結果になるので、ページメモリ14には全く同じデータが書き戻されることになる。従って、ページメモリ14の状態は描画処理の前後で変化しないので、描画処理を行っても行わなくても結果は同じであり、このような場合には描画処理自体を省略することができる。
同様に、(e)に示すようにソースデータが白を示す「0」であり、描画演算がXOR(排他的論理和)である場合、(f)に示すようにソースデータが黒を示す「255(全ビットが1)」であり、描画演算方法がAND(論理積)である場合も描画処理自体を省略することができる。
【0031】
以上の(d)〜(f)の場合には、図形描画命令に係る図形の描画属性のうち色と描画演算方法を参照するのみで省略可能であると判定することができる。そして、描画属性のみから省略の可否を判定するようにすれば、描画を省略できる場合にはライト処理はおろかリード処理やモディファイ処理も行う必要がなく、処理時間の短縮効果が大きい。そこで、描画処理装置40の描画省略判定部41においては、図形描画命令に係る図形の描画属性が、その図形描画命令に係る描画を行ってもページメモリ14の内容に関わらずその描画の前後でページメモリ14の内容を変化させないような属性であった場合に、その図形描画命令に係る描画を省略できると判定するようにしている。
なお、図形描画命令に係る図形が、矩形や任意多角形等のグラフィック図形や文字のように使用する色が1色である場合には、各画素毎に判定を行う必要はなく、1つの図形描画命令について1回の判定を行うのみでその命令に係る全ての描画について省略の可否を判定することができる。
【0032】
ところで、図3の(a)〜(c)の場合であっても、例えばデスティネーションとソースが同色である場合にはページメモリ14の状態は描画処理の前後で変化しない。しかし、デスティネーションの状態を知るためにはページメモリ14にアクセスしなければならず、処理に時間がかかることになる。また、画像データが1画素1〜2ビットの装置に適用した場合には、濃度はディザや誤差拡散等により一定の面積を用いて擬似階調表現されているので、それを階調値に逆変換する処理も必要になり、現実的ではない。そこで、描画処理装置40においては、このようにページメモリ14を参照しなければ省略の可否がわかならい場合には描画は省略できないものとして取り扱っている。
【0033】
次に、このような描画省略判定の処理を中心に、プリンタ1において画像形成を行う場合の処理について説明する。
プリンタ1のCPU32は、画像形成を行う場合、ROM33に記憶されたプログラムを実行することにより、図4のフローチャートに示す処理を開始する。まずステップS1で、インタプリタ11によって変換され、中間データメモリ12に蓄積された図形描画命令から、次に実行すべき図形描画命令を受け付ける。この受け付けは、図形単位で行う。そして、ステップS2で図5のフローチャートに示す描画省略判定処理を実行して、その図形描画命令に係る描画を省略できるか否かの描画省略判定を行う。
描画省略判定処理においては、まずステップS11で、図形描画命令に係る図形の描画属性を参照し、色濃度が最低濃度であるか否か判断する。なお、ここでは、図形描画命令に係る図形に複数の色が含まれている場合には、どの色でもないとして扱う。複数の色が含まれている場合に有効な処理は、後に変形例として説明する。
【0034】
ステップS11で最低濃度であれば、ステップS12に進んで描画演算方法がORであるか否か判断する。
ステップS12でORであれば、描画属性がページメモリ14の内容に関わらず描画の前後でページメモリ14の内容を変化させないような属性であるので、ステップS17で対象の図形描画命令に係る描画は省略可であると判定してもとの処理に戻る。
ステップS12でORでなければ、ステップS13に進んで描画演算方法がXORであるか否か判断する。XORであれば、ステップS17に進んで同様に省略可であると判定してもとの処理に戻る。しかし、XORでなければ、描画属性が描画の前後でページメモリ14の内容を変化させ得る属性であるので、ステップS16に進み、対象の図形描画命令に係る描画は省略不可であると判定してもとの処理に戻る。
【0035】
一方、ステップS11で最低濃度でなければ、ステップS14に進んで色濃度が最高濃度であるか否か判断する。最高濃度であれば、ステップS15に進んで描画演算方法がANDであるか否か判断する。そして、ANDであればステップS17で対象の図形描画命令に係る描画は省略可であると判定してもとの処理に戻る。
ステップS15でANDでない場合、ステップS14で最高濃度でない場合には、ステップS16に進んで対象の図形描画命令に係る描画は省略不可であると判定してもとの処理に戻る。
【0036】
以上の描画省略判定処理により、
▲1▼.描画に係る色が最低濃度で描画演算方法がORの場合。
▲2▼.描画に係る色が最低濃度で描画演算方法がXORの場合。
▲3▼.描画に係る色が最高濃度で描画演算方法がANDの場合。
のいずれかの場合には描画が省略可であると判断し、それ以外の場合には省略不可であると判断する。そして、この判断に用いる情報は図形描画命令に係る図形の描画属性の情報のみである。
以上の図5に示した処理において、CPU32が描画省略判定手段である描画省略判定部41として機能する。
【0037】
描画省略判定処理の終了後は、図4のステップS3に進み、描画省略判定の結果、描画が省略可とされたか否かを判断する。省略可でなければステップS4で受け付けた図形描画命令を有効にし、ステップS5でその描画命令に従ってページメモリ14に対する描画処理を実行する。なお、ステップS4においては、図形描画命令に何らかのデータを付加することは必要なく、単に描画処理部13に図形描画命令を出力することをもって図形描画命令を有効にするようにするとよい。また、ステップS5においてはCPU32が描画手段である描画処理部13として機能する。
【0038】
ステップS5の処理後は、ステップS7に進んで処理すべき図形描画命令がまだあるか否か判断する。そして、あればステップS1に戻って処理を繰り返し、なければ処理を終了する。
また、ステップS3で省略可であれば、ステップS6に進んで受け付けた図形描画命令を無効にする。この処理は、単に描画処理部13にその図形描画命令を出力しないようにすることによって実現するとよい。この場合、この図形描画命令に係る描画動作は一切行われない。そして、ステップS6の終了後はステップS7に進んで以後の処理を行う。ステップS3,S4,S6においては、CPU32が選別手段である選別部42として機能する。
【0039】
以上の処理を行うことにより、ページメモリの状態を変えないような描画処理を省略することができる。そして、省略する際には描画処理時間の大半を占めるリード処理及びライト処理も含めて処理を省略することができるので、処理時間短縮とそれによる描画の高速化の効果が大きい。
なお、上述の処理において、図示及び説明は省略したが、1ページの画像に必要な描画の終了後、ページメモリ14の内容である画像データをプリンタエンジン3に送出するものとする。また、図4のステップS5の描画処理と次の図形描画命令についてのステップS2の描画省略判定処理は、並行して行うようにしてもよい。
【0040】
また、上述の処理において、描画省略判定処理に用いた▲1▼〜▲3▼の条件のうち、1つ又は2つのみを選択して用いるようにしてもよい。また、上述の処理は、描画面積の大きなグラフィック図形の描画も一度の判断で省略できるため、このような場合に特に効果が大きい。そこで、図形描画命令に係る図形がグラフィック図形である場合のみ描画省略判定を行うようにしてもよい。
また、この実施形態においては、描画処理装置がプリンタ1に備えるCPU32の一機能である例について説明したが、独立のユニットとして設けてもよい。
【0041】
〔第2の実施形態:図6乃至図8〕
次に、この発明の描画処理装置の第2の実施形態および、その描画処理装置を備えた情報処理装置の実施形態であるPCについて説明する。図6は、そのPCの機能構成を示すブロック図、図7はそのPCのハードウェア構成を示すブロック図、図8はそのPCにおける画像形成指示時の処理を描画処理装置の機能に関する処理を中心に示すフローチャートである。なお、図6において、第1の実施形態の説明に用いた図1と対応する部分には、同一の符号を付している。
この実施形態は、第1の実施形態においてプリンタ1側に設けた描画処理装置40の機能を、情報処理装置であるPC2側に設けたもである。
【0042】
PC2のハードウェア構成は図7に示す通り、CPU21,ROM22,RAM23,HDD(ハードディスクドライブ)24,プリンタI/F25を備え、これらをシステムバス26によって接続したものであり、画像形成装置であるプリンタ1と接続するための接続手段であるプリンタI/F25を備えたものであれば、公知のPCを適宜用いることができる。なお、このプリンタ1との接続は、LAN等のネットワークを介したものであっても、USB等によるローカル接続であっても構わない。また、この実施形態においては、プリンタ1は適宜公知のものを用いればよく、第1の実施形態の場合のように描画処理装置40の機能を有している必要はない。
そして、PC2のROM22あるいはHDD24に必要なアプリケーションプログラムを記憶させ、CPU21によってそのプログラムを実行させることにより、CPU21をこの発明の描画処理装置として機能させ、またPC2をこの発明の情報処理装置として機能させることができる。
【0043】
このようなPC2の機能構成を、プリンタ1に画像形成を指示する際に用いる機能について示したものが、図6である。
このPC2は、ROM22あるいはHDD24に記憶したプリンタドライバプログラムをCPU21に実行させることにより、CPU21をプリンタ1に対して画像形成を指示するプリンタドライバ50として機能させることができる。そして、プリンタドライバ50は、図形描画命令生成部51,描画処理装置40,図形描画命令出力部52の機能を有する。
一方、CPU21が実行する他のアプリケーション60は、画像形成が必要である場合に、OS(オペレーティングシステム)のグラフィック関連のモジュールであるGDI(Graphics Device Interface)という描画インタフェースを経由してプリンタドライバ50に画像形成を指示する。
【0044】
プリンタドライバ50の図形描画命令生成部51は、この指示に応じて、GDIを経由した描画命令をプリンタ1に搭載されているプリンタ言語に適したPDL形式の図形描画命令に変換する。そして、その変換後の図形描画命令を描画処理装置40による処理に供する。
なお、第1の実施形態ではPDL形式の命令を描画命令と呼び、これを中間データによる図形描画命令に変換して描画処理装置による処理に供するものとして説明したが、この実施形態のようにPC2側に描画処理装置40の機能を設けた場合には、PDL形式の命令について描画処理装置40による処理を行い、この形式の命令を図形描画命令と呼ぶものとする。そして、上述のように、PDL形式の命令も中間データによる命令も、基本図形描画命令と描画属性命令とを含む点では同様なものであるので、描画処理装置40において同様に処理することができる。
【0045】
描画処理装置40は、上記のように処理対象とする命令の形式が異なる点以外は、第1の実施形態で説明した描画処理装置40と同様な機能を有するものである。
図形描画命令出力部52は、図形描画命令生成部51が生成した図形描画命令のうち、描画処理装置40の選別部42が有効にした部分のみをプリンタ1に出力してその図形描画命令に基づいた画像を形成させる出力手段の機能を有する。なお、実際にはこのデータはプリンタI/F25を介してプリンタ1に出力されることになる。
【0046】
以上のようなPC2は、第1の実施形態で説明したプリンタ1と同様、描画処理装置40における処理に特徴を有し、またその処理は、図形描画命令に係る図形の描画属性によって描画省略判定を行う点に特徴を有する。次に、このような描画省略判定の処理を中心に、PC2においてプリンタ1に画像形成を指示する場合の処理について説明するが、大部分は第1の実施形態で図4及び図5を用いて説明した処理と同様であるので、相違点のみを説明する。
PC2のCPU21は、アプリケーション60から画像形成の要求があった場合、ROM22あるいはHDD24に記憶されたプログラムを実行することにより、図8のフローチャートに示す処理を開始する。
【0047】
まずステップSXで、アプリケーション60からのGDIを経由した描画命令を変換してプリンタ1に搭載されているプリンタ言語に適したPDL形式の図形描画命令を生成する。このステップSXではCPU21が図形描画命令生成部51として機能する。
そして、ステップS1では、ステップSXで生成した図形描画命令をプリンタ1に送信すべき図形描画命令として受け付ける。以後の処理は図4及び図5のフローチャートを用いて説明した処理とほぼ同様であるが、ステップS5に代えてステップSYの処理を行い、受け付けた図形描画命令をプリンタ1に送信する点が異なる。このステップSYにおいては、CPU21及びプリンタI/F25が出力手段として機能する。また、これに伴い、ステップS4で図形描画命令を有効にする場合の出力先は、図形描画命令出力部52となる。
【0048】
以上の処理を行うことにより、PC2側においてページメモリの状態を変えないような描画命令を省略することができる。従って、プリンタ1側においてもその命令に係る動作を省略することができる。そして、このことにより、第1の実施形態の効果に加え、PC2とプリンタ1との間のデータ転送量を低減し、またプリンタ1側におけるインタプリタ11での処理量も低減できるので、さらに描画とプリントの高速化を図ることができる。
なお、第1の実施形態の場合と同様な変更を適用することもできる。
【0049】
〔第1,第2の実施形態の変形例:図9,図10〕
次に、上述した第1,第2の実施形態の変形例について説明する。図9及び図10は、それぞれその変形例について説明するための図形描画命令の例を示す図である。
まず、上述した第1,第2の実施形態においては、色を1つの図形について1つのパラメータとして扱っていた。しかし、カラープリンタによって画像形成を行う場合には、色をK(ブラック),C(シアン),M(マゼンタ),Y(イエロー)の4つの色プレーンに分解して面順次形式で画像形成し、プリンタエンジン3の構成上の都合により、ページメモリ14も色プレーン毎に設けることが多いので、各色プレーン毎にページメモリに描画することが行われている。従って、このような場合、描画属性に含まれる色の情報を各色プレーンに分解し、色プレーン毎に描画省略判定を行うようにするとよい。
【0050】
この場合の判定処理について、図9に示すような色の画像についての図形描画命令に対して行う場合を例として説明する。なお、描画演算方法は全てORであるとする。また、図9において破線の楕円はその色プレーンが最小濃度であることを示す。
まず、(a)のように白画像を描画する場合には、色プレーン毎に判定しない場合でも第1の実施形態で説明したとおり描画を省略可能であり、色プレーン毎に判定した場合でも、全ての色プレーンで最低濃度であるので、全ての色プレーンで描画を省略できる。
【0051】
次に、(b)のように混色の黒(K=100%,C=M=Y=50%)を描画する場合には、色プレーン毎に判定しない場合には描画を省略できず、色プレーン毎に判定した場合でも、全ての色プレーンで最低濃度でないので、描画を省略できない。
しかし、(c)のように単色の黒(K=100%,C=M=Y=0%)を描画する場合には、色プレーン毎に判定しない場合には最低濃度でないので描画を全く省略できないが、色プレーン毎に判定すれば、Bプレーンでは最低濃度でないので描画を省略できないものの、C,M,Yのプレーンでは最低濃度であるので描画を省略できる。
このように、描画省略判定を色プレーン毎に行えば、描画を省略する機会が多くなり、描画処理をさらに高速に行うことができる。
【0052】
また、第1,第2の実施形態においては、図形描画判定を図形単位で行っていた。しかし、ビットマップや写真画像等のイメージ図形においては、使用する色が複数であることがほとんどであるので、イメージ図形を扱う場合には、その図形に係るイメージデータも参照し、図形の画素毎に描画省略判定を行うようにするとよい。そうすれば、例えばイメージ図形の大部分が白(最低濃度)であり、描画演算方法がORやXORである場合には、白の部分の描画を省略して描画の高速化を図ることができる。
また、このような場合に、イメージ図形中で同色の画素が連続する部分を検知し、その連続する部分毎に描画省略判定を行うようにするとよい。このとき、描画処理の進行する方向(図10ではX方向とする)に同色の画素が連続する部分のみを検知するようにするとよい。
【0053】
例えば、図10に示した4×4画素のイメージデータ(破線の楕円は最低濃度の白画素を、それ以外の楕円は色付き画素を示す)においては、X方向に同色の画素が連続する部分は、(Y座標,始点X座標,終点X座標)として表現すると、(0,0,3),(1,1,3),(2,1,3),(3,0,2)の4ヶ所ある。従って、同色の画素が連続する部分についてはその部分毎に描画省略判定を行えば、判定回数は7回であり、例えば描画演算方法がORの場合には、(2,1,3)以外の3ヶ所でまとめて描画を省略することができる。この方式を採用すれば、描画を省略できる画素の数は、画素毎に判定を行った場合と同じである一方、判定回数は画素毎に行った場合の16回と比べて大きく低減し、処理の高速化を図ることができる。
【0054】
なお、図10に示した例では、X=0の列でY=1,Y=2の画素は同色であるが、このようにY方向に連続する画素について同時に判定を行っても、例えばY=1の画素の処理の時点でした判定の結果をY=2の画素の処理を行うまで記憶しておかなければならないため、X方向の場合に比べて効果は低い。
また、描画処理をCPUのワード長単位で実行する場合には、ワード長単位で、すなわち1ワード分のデータ量の画像毎に描画判定処理を行うとよい。例えば1ワード32ビットで1画素8ビットのデータ量である場合には、4画素ずつ描画処理判定を行うことになる。
【0055】
従ってこの場合、4画素中の一部が描画省略可能であった場合でもその画素の描画を省略できないことになる。しかし、判定対象の画素が全て最低濃度であるか否かは、ワード長データの値がゼロ(全ビットオフ)であるか否かで判断でき、全て最高濃度であるか否かは、ワード長データが全ビットオンであるか否かで判断できるので、判定を高速に行うことができ、全体として処理の高速化を図ることができる。
【0056】
また、第2の実施形態のようにPC2側に描画処理装置40の機能を設けた場合には、イメージ図形等の複数の色を使用する図形について、描画を省略可能な色が含まれている場合に、その色については描画の省略が可能である旨のデータを付加して図形描画命令をプリンタ1に送信し、イメージ図形のデータ自体はそのままプリンタ1に送信するようにしてもよい。
例えば、白と黒の2色の画素で構成されるイメージ図形を描画演算方法ORで描画する図形描画命令があった場合、白画素については描画を省略できるので、その旨の情報を付加する等である。
そして、プリンタ側で描画処理を行う際にその情報を解釈し、その色の画素について何も処理をしないようにすれば、データの転送自体を行わない場合と同様に描画を省略することができる。
全画素の描画を省略可能な場合には、もちろん図形描画命令自体を送信しないようにしてよい。
【0057】
〔第3の実施形態:図11乃至図14〕
次に、この発明の描画処理装置の第3の実施形態および、その描画処理装置を備えた画像形成装置の実施形態であるプリンタについて説明する。図11は、そのプリンタのコントローラの機能構成を示すブロック図、図12はそのプリンタにおける画像形成時の処理を描画処理装置の機能に関する処理を中心に示すフローチャート、図13は図12に示した第2の描画省略判定処理を示すフローチャート、図14はそのプリンタにおける第2の描画省略判定処理について説明するための描画処理命令の例を示す図である。図11において、第1の実施形態の説明に用いた図1と対応する部分には、同一の符号を付している。
【0058】
この実施形態の特徴は、第1の実施形態で説明した描画省略判定処理に加え、第2の描画判定処理も行うようにした点であるので、この点を中心に説明する。
このプリンタのハードウェア構成は、第1の実施形態のプリンタ1と同様である。また、その機能構成は、図11に示す通りであり、既に何らかの図形描画命令を選別手段が有効にしたか否かを示す出力状態フラグ43を描画処理装置40内に設け、描画省略判定部41が描画省略判定を行う際に出力状態フラグ43も参照するようにした点が第1の実施形態のプリンタ1と異なるのみである。なお、出力状態フラグ43の機能は例えばCPU32に備えたレジスタによって実現することができる。
【0059】
このプリンタ1の描画処理装置40においては、描画省略判定部41で、第2の描画省略判定を行い、第1の実施形態で説明した場合に加え、出力状態フラグ43がまだ図形描画命令を有効にしていない旨を示す場合(OFFとする)は、図形描画命令に係る図形の描画属性が、その図形描画命令に係る描画を行っても描画先のメモリが初期状態であればその描画の前後でページメモリ14の内容を変化させないような属性であった場合にも、その図形描画命令に係る描画を省略できると判定する。
【0060】
例えば、最初の図形描画命令に係る描画の前にページメモリ14が全画素についてビットオフの最低濃度(白)にリセットされているとすると、この状態であれば、第1の実施形態で挙げた▲1▼〜▲3▼のほか、
▲4▼.描画に係る色が最低濃度で描画演算方法がSET(置き換え)の場合。
▲5▼.描画に係る色が任意で描画演算方法がANDの場合。
であってもページメモリ14の内容を変化させないので、まだ図形描画命令を有効にしていない場合には、これらの描画属性の図形描画命令も省略するようにしているのである。
【0061】
このプリンタ1においても、描画省略判定時にページメモリ14の内容は参照しないが、出力状態フラグ43を参照することにより、これがOFFの場合にはページメモリが全画素ビットオフの初期状態であることがわかるので、第1の実施形態で挙げた▲1▼〜▲3▼のほか、上記の▲4▼及び▲5▼の場合も描画を省略できることがわかるのである。そして、出力状態フラグ43はページメモリ14に比較して高速に参照することができるので、描画省略判定時に出力状態フラグ43を参照しても、判定処理の速度にほとんど影響はない。
【0062】
次に、このような描画省略判定の処理を中心に、プリンタ1において画像形成を行う場合の処理について説明する。ただし、この処理は、第1の実施形態で図4および図5を用いて説明した処理と共通する部分が多いので、その部分については説明を省略する。
プリンタ1のCPU32は、画像形成を行う場合、ROM33に記憶されたプログラムを実行することにより、図12のフローチャートに示す処理を開始する。
まずステップS21で、図4のステップS1場合と同様に次に実行すべき図形描画命令を受け付ける。そして、ステップS22で図13のフローチャートに示す第2の描画省略判定処理を実行して、その図形描画命令に係る描画を省略できるか否かの描画省略判定を行う。
【0063】
第2の描画省略判定処理においては、まずステップS31で、出力状態フラグ43を参照してこれがオフであるか否か判断する。オフであれば、ステップS32に進み、図形描画命令に係る図形の描画属性を参照して、描画演算方法がANDであるか否か判断する。
ステップS32でANDであれば、描画属性がページメモリ14が初期状態であれば描画の前後でページメモリ14の内容を変化させないような属性であるので、ステップS38で対象の図形描画命令に係る描画は省略可であると判定してもとの処理に戻る。
【0064】
ANDでなければ、ステップS33に進んで色濃度が最低濃度であるか否か判断する。なお、ここでも、図形描画命令に係る図形に複数の色が含まれている場合には、どの色でもないとして扱うが、上述した変形例を適用してもよい。
最低濃度であれば、ステップS34に進み、描画演算方法がSETであるか否か判断する。ここでSETであればステップS38で対象の図形描画命令に係る描画は省略可であると判定してもとの処理に戻る。
【0065】
ステップS34でSETでない場合には、以下ステップS35,36でそれぞれOR,XORであるか否か判断し、これらであれば同様にステップS38で対象の図形描画命令に係る描画は省略可であると判定してもとの処理に戻る。
どちらでもなければ、ステップS37に進んでさらに第1の実施形態で図5を用いて説明した描画省略判定処理を行ってもとの処理に戻る。ステップS31又はステップS33でNOであった場合も同様であるが、ステップS38で省略可と判定した場合には、それ以上の判定処理は不要であるのでそのままもとの処理に戻る。
【0066】
以上の第2の描画省略判定処理により、第1の実施形態で説明した▲1▼〜▲3▼の場合のほか、ページメモリ14が初期状態であれば上記の▲4▼及び▲5▼の場合にも描画が省略可であると判断し、それ以外の場合には省略不可であると判断する。そして、この判断に用いる情報は図形描画命令に係る図形の描画属性と出力状態フラグ43の情報のみである。
以上の図13に示した処理において、CPU32は描画省略判定手段である描画省略判定部41として機能する。
【0067】
描画省略判定処理の終了後は、図12のステップS23に進み、以降の処理を行う。ステップS23,24,26,27の処理は、図4のステップS3〜6の処理と同様であるが、図12の処理ではこれらに加え、ステップS25において、何らかの図形描画命令を有効にし、以後ページメモリ14が初期状態でなくなることを示すため、出力状態フラグ43をONにする。
【0068】
また、ステップS28において、1ページ分の図形描画命令の処理が終了したか否か判断し、終了していればステップS29で出力状態フラグ43をOFFに戻してステップS30に進む。終了していなければそのままステップS30に進む。複数ページに亘る画像形成を指示する一連の図形描画命令を処理する場合、1ページ分の描画終了後の新たなページについての描画は、ページメモリ14をクリアしてから、あるいはページメモリ14のクリアされている新たな領域に行うことから、新たに描画する領域ではページメモリ14が初期状態であることを示すべく、1ページ分の処理が終了する毎に出力状態フラグ43をOFFに戻すのである。すなわち、出力状態フラグ43は、1ページ分の画像に係る図形描画命令毎に、既に何らかの図形描画命令を選別部42が有効にしたか否かを示すフラグとなる。
その後のステップS30の処理は、図4のステップS7の処理と同様である。
【0069】
以上の処理を行うことにより、ページメモリの状態を変えないような描画処理を、第1の実施形態の場合よりもさらに幅広く省略し、さらに処理時間短縮とそれによる描画の高速化を図ることができる。
この点について具体例を挙げて説明する。
【0070】
例えば、図14に示すように101から104までの4つの楕円をこの順で描画することを指示する図形描画命令を処理する場合を考える。破線の楕円は白、実線の楕円はそれ以外の色とし、描画演算方法はすべてSETとする。
まず、楕円101の描画について、第1の実施形態のような描画省略判定を行うとすると、描画演算方法がSETであるので描画は省略不可と判定され、描画処理を行うことになる。しかし、この実施形態の描画処理装置40においては、出力状態フラグ43を参照し、この判定時点ではOFFであるので、描画を省略可と判定できる。もちろん、白地に白の描画であるので、実際には描画を省略することができる。
【0071】
楕円102の描画についての描画省略判定の時点でもまだなにも描画されておらず、出力状態フラグ43はOFFであるので、ここでも描画を省略することができる。
楕円103については色付きのSETであるので省略できず、ここで出力状態フラグ43がONになるので、以後の判定内容は第1の実施形態の場合と同様になり、楕円104の描画は省略できない。一度でも色付きの図形を描画してしまった場合、それと重なるように白をSETした場合にはページメモリ14の内容が変化するため、ページメモリ14の内容を参照しなければ省略の可否がわからないからである。
【0072】
しかし、上記の例からも、この実施形態の描画処理装置40あるいはプリンタ1によれば、第1の実施形態の場合よりも多くの描画を省略できることがわかる。
特に、グラフィック用アプリケーションやプレゼンテーション用アプリケーションが印刷を指示するる場合には、ページの先頭でそのページをクリアする目的で全面を白地で塗りつぶす(SETする)命令を出すことが多い。しかし、描画開始時に全画素が白にリセットされている場合にはこの処理は無駄になる一方、描画面積が大きいのでかなり時間のかかる処理となる。従って、上記のような判定を行ってこの白によるSET命令を省略すると、描画の高速化に効果が大きい。
【0073】
なお、この実施形態にも第1の実施形態の場合と同様な変形を適用することが可能である。
また、ここではページメモリ14が初期状態において全ビットオフにリセットされる例について説明したが、異なる状態にリセットされる場合には、それに応じて描画を省略可能と判定する条件を変化させるものとする。
【0074】
〔第4の実施形態:図15,図16〕
次に、この発明の描画処理装置の第4の実施形態および、その描画処理装置を備えた情報処理装置の実施形態であるPCについて説明する。図15は、そのPCの機能構成を示すブロック図、図16はそのPCにおける画像形成指示時の処理を描画処理装置の機能に関する処理を中心に示すフローチャートである。なお、図15において、第2の実施形態の説明に用いた図6と対応する部分には、同一の符号を付している。
この実施形態の特徴は、第2の実施形態で説明した描画省略判定処理に加え、第3の実施形態で説明たものと同様な第2の描画判定処理も行うようにした点であるので、この点を中心に説明する。
【0075】
このPC2のハードウェア構成は、第2の実施形態のPC2と同様である。また、その機能構成は、図15に示す通りであり、既に何らかの図形描画命令を選別手段が有効にしたか否かを示す出力状態フラグ43を描画処理装置40内に設け、描画省略判定部41が描画省略判定を行う際に出力状態フラグ43も参照するようにした点が第2の実施形態のPC2と異なるのみである。なお、出力状態フラグ43の機能は例えばCPU21に備えたレジスタによって実現することができる。
【0076】
次に、上記の描画省略判定の処理を中心に、PC2においてプリンタ2に画像形成を指示する場合の処理について説明するが、大部分は第3の実施形態で図12及び図13を用いて説明した処理と同様であるので、相違点のみを説明する。
PC2のCPU21は、アプリケーション60から画像形成の要求があった場合、ROM22あるいはHDD24に記憶されたプログラムを実行することにより、図16のフローチャートに示す処理を開始する。
まずステップSXで、アプリケーション60からのGDIを経由した描画命令を変換してプリンタ1に搭載されているプリンタ言語に適したPDL形式の図形描画命令を生成する。このステップSXではCPU21が図形描画命令生成部として機能する。
【0077】
そして、ステップS21では、ステップSXで生成した図形描画命令をプリンタ1に送信すべき図形描画命令として受け付ける。以後の処理は図12及び図13のフローチャートを用いて説明した処理とほぼ同様であるが、ステップS26に代えてステップSYの処理を行い、受け付けた図形描画命令をプリンタ1に送信する点が異なる。このステップSYにおいては、CPU21及びプリンタI/F25が出力手段として機能する。また、これに伴い、ステップS24で図形描画命令を有効にする場合の出力先は、図形描画命令出力部52となる。
【0078】
以上の処理を行うことにより、ページメモリの内容を変えないような描画命令をPC2側において省略することができる。従って、プリンタ1側においてもその命令に係る動作を省略することができる。そして、このことにより、第3の実施形態の効果に加え、PC2とプリンタ1との間のデータ転送量を低減し、またプリンタ1側におけるインタプリタ11での処理量も低減できるので、さらに描画とプリントの高速化を図ることができる。
なお、第1及び第3の実施形態の場合と同様な変更を適用することもできる。
【0079】
〔第3,第4の実施形態の変形例:図17乃至図20〕
次に、上述した第3,第4の実施形態の変形例について説明する。図17は1ページを複数のバンドによる判定領域に分割した状態を示す図、図18はその状態で図形を描画する具体例を示す図、図19はページを図17とは別の判定領域に分割した状態を示す図、図20は色プレーン毎に図形を描画する具体例を示す図、図21は色プレーン毎に判定領域に分割した状態で図形を描画する具体例を示す図である。これらの図において、以下に説明する変形例の描画省略判定で省略可と判定できる部分には、その旨を表示している。
【0080】
まず、上述した第3,第4の実施形態では、出力状態フラグ43を1つだけ設け、ページ内に一度でも描画が行われるとページ全体についての出力状態フラグ43をONにするようにしていた。
しかし、1ページ内を任意に分割した各判定領域毎に出力状態フラグ43を設け、描画省略判定処理を、対象の図形描画命令に係る描画領域が属する判定領域について、その判定領域毎に行うようにするとよい。ある判定領域内に何らかの図形を描画したとしても、他の判定領域内ではページメモリ14は初期状態であるので、他の判定領域に描画する場合には、依然としてページメモリ14が初期状態であるとして取り扱おうというものである。
【0081】
このとき、特にカラーの場合には、1ページを所定の主走査ライン数毎に複数のバンドに分割し、バンド毎に描画を行うことが多いので、その各バンドを判定領域とするとよい。図17においては、1ページ内を4つのバンドによる判定領域に分割した状態を示している。
この状態で、図18に示すように、図14に示した場合と同様な101から104までの楕円をそれぞれ第1から第4の判定領域内に描画することを指示する図形描画命令を処理する場合を考える。
白SETの楕円101及び102について描画を省略し、この時点で出力状態フラグ43がOFFのままであることは図14について説明した場合と同様であるが、3番目の楕円103について省略せずに描画を行った場合でも、ONになる出力状態フラグ43は第3の判定領域のものだけである。従って、第4の判定領域についての出力状態フラグ43は依然としてOFFであるので、白SETの楕円104の描画も省略可と判定することができる。
【0082】
従って、1ページ内を複数の判定領域に分割し、判定領域毎に描画処理判定を行うことにより、さらに多くの描画処理を省略し、描画の高速化を図ることができる。ただし、判定領域をあまり細分化してしまうと、判定処理やフラグ等の管理処理によるオーバーヘッドが大きくなり効果が薄れるので注意が必要である。
なお、複数の判定領域にまたがる図形についての図形描画命令も当然あり得、この場合に一部の判定領域のみ描画を省略できると判定されれば、その図形のうち描画を省略できない判定領域内の部分のみ描画処理を行うことになる。
また、ページの分割法はバンドに限られるものではなく、例えば図19に示したように格子状に分割して判定領域を設けてもよい。
【0083】
また、カラープリンタによって画像形成を行う場合には、色プレーン毎に出力状態フラグ43を設け、色プレーン毎に描画省略判定を行うようにしてもよい。この場合、図20に示すように105から108の楕円を順次SETで描画することを指示する図形描画命令を処理する場合を考えると、楕円105を描画した段階でKプレーンの出力状態フラグ43はONになるが、C,M,Yの色プレーンについては描画を省略できるのでONにならない。従って、楕円106を描画する際にもC,M,Yプレーンについては依然として描画省略可と判定することができる。
従って、より精密に描画省略判定を行い、より多くの描画を省略して描画処理の高速化を図ることができる。
【0084】
さらに、判定領域毎かつ色プレーン毎に出力状態フラグ43を設けて描画省略判定を行うようにしてもよい。この場合、図21に示すように図20の場合と同様な楕円を各判定領域に順次描画することを指示する図形描画命令を処理する場合を考えると、楕円105を描画した段階でKプレーンの第1の判定領域の出力状態フラグ43はONになるが、第2の判定領域については依然としてOFFであるので、楕円106のKプレーンへの描画も省略可と判定することができる。また、楕円107を各色プレーンに描画した後も、異なる判定領域への楕円108の描画は省略可と判定することができる。
従って、色プレーン毎のみの場合よりさらに精密に描画省略判定を行い、より多くの描画を省略して描画処理の高速化を図ることができる。
【0085】
なお、以上説明した各実施形態では、画像形成装置としてプリンタ、情報処理装置としてPCを例として説明したが、これに限られるものでないことはいうまでもない。また、描画処理装置についても、これらの装置に搭載するかこれらの装置の機能の一部を構成するものに限られることはない。
また、この発明のプログラムは、コンピュータを、上述したような描画処理装置40あるいはプリンタ1やPC2の制御手段として機能させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、コンピュータを描画処理装置40あるいはプリンタ1やPC2の制御手段として機能させて上述したような効果を得ることができる。
【0086】
このようなプログラムは、はじめからコンピュータに備えるROMあるいはHDD等の記憶手段に格納しておいてもよいが、記録媒体であるCD−ROMあるいはフレキシブルディスク,SRAM,EEPROM,メモリカード等の不揮発性記録媒体(メモリ)に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてCPUに実行させるか、CPUにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
【0087】
【発明の効果】
以上説明してきたように、この発明の描画処理装置、描画処理方法及び画像形成装置によれば、描画先のメモリの状態を変えないような描画処理を省略することができる。そして、省略する際には描画処理時間の大半を占めるリード処理及びライト処理も含めて処理を省略することができるので、処理時間短縮とそれによる描画の高速化の効果が大きい。
また、この発明の情報処理装置によれば、これに加え、画像形成装置に対するデータ転送量を低減することができるので、さらに描画の高速化を図ることができる。
そして、この発明のプログラムによれば、コンピュータを上記のような描画処理装置として機能させることができる。
【図面の簡単な説明】
【図1】この発明の第1の実施形態の描画処理装置を備えたプリンタのコントローラの機能構成を示すブロック図である。
【図2】そのプリンタのハードウェア構成を示すブロック図である。
【図3】そのプリンタにおいて描画処理を省略できる場合について説明するための図である。
【図4】そのプリンタにおける画像形成時の処理を描画処理装置の機能に関する処理を中心に示すフローチャートである。
【図5】図4に示した描画省略判定処理を示すフローチャートである。
【図6】この発明の第2の実施形態の描画処理装置を備えたPCの機能構成を示すブロック図である。
【図7】そのPCのハードウェア構成を示すブロック図である。
【図8】そのPCにおける画像形成指示時の処理を描画処理装置の機能に関する処理を中心に示すフローチャートである。
【図9】この発明の第1及び第2の実施形態の変形例について説明するための図形描画命令の例を示す図である。
【図10】その別の例を示す図である。
【図11】この発明の第3の実施形態の描画処理装置を備えたプリンタのコントローラの機能構成を示すブロック図である。
【図12】そのプリンタにおける画像形成時の処理を描画処理装置の機能に関する処理を中心に示すフローチャートである。
【図13】図12に示した第2の描画省略判定処理を示すフローチャートである、
【図14】そのプリンタにおける第2の描画省略判定処理について説明するための描画処理命令の例を示す図である。
【図15】この発明の第4の実施形態の描画処理装置を備えたPCの機能構成を示すブロック図である。
【図16】そのPCにおける画像形成指示時の処理を描画処理装置の機能に関する処理を中心に示すフローチャートである。
【図17】1ページを複数のバンドによる判定領域に分割した状態を示す図である。
【図18】その状態で図形を描画する具体例を示す図である。
【図19】ページを図17とは別の判定領域に分割した状態を示す図である。
【図20】色プレーン毎に図形を描画する具体例を示す図である。
【図21】色プレーン毎に判定領域に分割した状態で図形を描画する具体例を示す図である。
【符号の説明】
1:プリンタ 2:PC
3:プリンタエンジン 10:コントローラ
11:インタプリタ 12:中間データメモリ
13:描画処理部 14:ページメモリ
21,32:CPU 22,33:ROM
23,34:RAM 24:HDD
25:プリンタI/F 26,36:システムバス
31:ホストI/F 35:エンジンI/F
40:描画処理装置 41:描画省略判定部
42:選別部 43:出力状態フラグ
50:プリンタドライバ 51:図形描画命令生成部
52:図形描画命令出力部 60:アプリケーション
【発明の属する技術分野】
この発明は、ページプリンタ等の画像形成装置によって画像形成する画像の内容を指定するページ記述言語等による図形描画命令を処理する描画処理装置、このような描画処理装置を備えた情報処理装置及び画像形成装置、上記の図形描画命令を処理する描画処理方法、およびコンピュータを上記の描画処理装置として機能させるためのプログラムに関する。
【0002】
【従来の技術】
従来から、ページプリンタ等の画像形成装置によって画像を形成する場合、種々の図形描画命令によって形成すべき画像の内容を指定し、その図形描画命令に従ってページメモリ上に次々と描画を行うことにより、1ページ分のプリントイメージを作成し、そのプリントイメージに従って画像を形成することが行われている。
ここで、描画を行う際には、ページメモリの描画先のアドレスからデータを読み出し(リード)、そのデータに対して図形描画命令に係る描画演算を行い(モディファイ)、その結果をページメモリに書き込む(ライト)という処理を行う。そして、各図形描画命令について、描画の必要な全てのアドレスに対して順次この一連の処理を実行することになる。
【0003】
このような描画について、近年用いられているグラフィック用アプリケーションやプレゼンテーション用アプリケーションの場合、上記の描画演算としてOR(論理和)やAND(論理積)等を駆使してグラデーション等の複雑な図形を描画することも行われている。また、ヘッダやフッタ等、ページに情報を埋め込む機能が多様化し、スタンプ機能、地紋印刷、透かし印刷等の、ページ一面に対して模様を埋め込む機能も広まりつつある。このようにページに情報を埋め込む場合、通常の描画演算であるSET(置き換え)で描画してしまうと背景を消して(見えなくして)しまうので、ORで描画されることが多い。
そして、特に地紋や大きな図形のように大きな面積を占める要素を描画する場合、描画処理を行うべきアドレス範囲が広く、描画処理時にリード/モディファイ/ライトの処理を多数回に亘って繰り返す必要があり、描画処理に時間がかかって高速印刷の妨げになっているという問題があった。
【0004】
このような問題を解決し、描画処理の高速化を図る技術としては、例えば特許文献1乃至4に記載の技術が知られている。
まず、特許文献1に記載の描画装置においては、モディファイ処理によって得られたデータがリード処理で読み出したデータと同じであった場合にライト処理を省略することにより、無駄な処理を省いて描画速度の高速化を図っている。
また、特許文献2及び3に記載の描画プロセッサにおいては、パタンデータ,ソースデータ,デスティネーションデータをそれぞれメモリから読み出し、これらのデータに対して指定された描画演算を行った結果を新たなデスティネーションデータとして書き戻す場合において、パタンデータ,ソースデータ,デスティネーションデータのうち、指定された描画演算の内容から演算結果に反映されないことがわかるデータについては読み出しを省略することにより、データの読み出し回数を削減して描画速度の高速化を図っている。
さらに、特許文献4に記載の情報処理装置においては、描画命令に係る描画領域が他の描画命令に係る描画領域と重なるか否か判断し、重ならない場合には描画命令に係る描画属性を変更することにより描画速度の高速化を図っている。
【0005】
【特許文献1】
特開平5−266177号公報
【特許文献2】
特開平6−150012号公報
【特許文献3】
特許第2956390号公報
【特許文献4】
特開平11−7364号公報
【0006】
【発明が解決しようとする課題】
しかしながら、特許文献1に記載の描画装置においては、リード処理は必ず実行する必要があり、読み出したデータに対してモディファイ処理を行った後でリードした時点のデータとの比較処理を行う。従って、この装置によって短縮てきる描画時間は、省略できた分のライト処理時間と比較処理に要する時間との差分だけである。従って、ライト動作が遅い装置でなければ効果はあまり発揮できず、全体として描画速度の高速化は十分でなかった。
また、特許文献2及び3に記載の描画プロセッサにおいては、不要なデータについてはリード処理は省略するが、ライト処理は必ず行うので、やはり描画速度の高速化は十分でなかった。
さらに、特許文献4に記載の情報処理装置においては、重なり判定を他の全ての描画命令に係る描画領域と行うため、描画命令数が増すとほぼその2乗に比例して必要な判定回数が増し、描画命令が数千数万にもなる現在のアプリケーションにおいては、描画速度の十分な高速化は困難である。また、各描画領域の位置を記憶するためのメモリも必要であり、省メモリも望めない。
【0007】
この発明は、このような問題を解決し、図形描画命令に従った描画処理を高速に行うことができるようにすることを目的とする。また、図形描画命令によって指定される画像を高速に形成できるようにすることも目的とする。
【0008】
【課題を解決するための手段】
上記の目的を達成するため、この発明の描画処理装置は、入力される図形描画命令についてその図形描画命令に係る描画を省略できるか否かの描画省略判定を行う描画省略判定手段と、上記図形描画命令のうち上記描画省略判定手段によって省略できると判定された部分を無効にし、それ以外の部分を有効にする選別手段とを設け、上記描画省略判定手段を、上記図形描画命令に係る図形の描画属性によって上記描画省略判定を行う手段としたものである。
このような描画処理装置において、上記図形描画命令は、描画する図形の種類を指定する基本図形描画命令と、上記描画属性を指定する描画属性命令とを含むページ記述言語で記載されているとよい。
さらに、上記描画属性が、上記図形描画命令に係る図形の色と描画演算方法の情報を含むとよい。
【0009】
さらにまた、上記描画省略判定手段が、上記図形描画命令に係る図形の描画属性が、その図形描画命令に係る描画を行っても描画先のメモリの内容に関わらずその描画の前後でそのメモリの内容を変化させないような属性であった場合に、その図形描画命令に係る描画を省略できると判定するようにするとよい。
あるいは、上記描画省略判定手段が、上記図形描画命令に係る図形の描画属性のうち、色濃度が最低濃度であり、かつ描画演算方法がOR(論理和)である場合にその図形描画命令に係る描画を省略できると判定するようにするとよい。
また、上記の描画処理装置において、既に何らかの図形描画命令を上記選別手段が有効にしたか否かを示す出力状態フラグをさらに設け、上記描画省略判定手段が、その出力状態フラグも参照して上記描画省略判定を行うようにするとよい。
【0010】
さらに、上記描画省略判定手段が、上記出力状態フラグがまだ図形描画命令を有効にしていない旨を示す場合は、上記図形描画命令に係る図形の描画属性が、その図形描画命令に係る描画を行っても描画先のメモリが初期状態であればその描画の前後でそのメモリの内容を変化させないような属性であった場合にも、その図形描画命令に係る描画を省略できると判定するようにするとよい。
また、上記描画省略判定手段が、上記出力状態フラグがまだ図形描画命令を有効にしていない旨を示す場合は、上記図形描画命令に係る図形の描画属性のうち、色濃度が最低濃度であり、かつ描画演算方法がSET(置き換え)である場合にはその図形描画命令に係る描画を省略できると判定するようにしてもよい。
あるいは、そのような場合に、色濃度が最低濃度であり、かつ描画演算方法がOR(論理和)である場合、色濃度が最低濃度であり、かつ描画演算方法がXOR(排他的論理和)である場合、さらには描画演算方法がAND(論理積)である場合にはその図形描画命令に係る描画を省略できると判定するようにしてもよい。
【0011】
さらに、このような描画処理装置において、上記出力状態フラグを、1ページ分の画像に係る図形描画命令毎に、既に何らかの図形描画命令を上記選別手段が有効にしたか否かを示すフラグとしてもよい。
さらに、上記出力状態フラグを、1ページ内を任意に分割した各判定領域毎に設け、上記描画省略判定手段が、上記出力状態フラグを参照する描画省略判定については、対象の図形描画命令に係る描画領域が属する上記判定領域について、その判定領域毎に行うようにするとよい。
さらに、上記判定領域を、1ページ内を複数のバンドに分割して設けるとよい。
【0012】
また、このような描画処理装置において、上記描画省略判定手段が、上記図形描画命令がカラーの図形に係る図形描画命令であった場合には、そのカラーの各色プレーン毎に上記描画省略判定を行うようにするとよい。
さらに、上記描画省略判定手段が、上記図形描画命令に係る図形がグラフィック図形である場合のみ上記描画省略判定を行うようにするとよい。
あるいは、上記描画省略判定手段が、上記図形描画命令に係る図形がイメージ図形である場合には、そのイメージ図形中で同色の画素が連続する部分を検知し、その連続する部分毎に上記描画省略判定を行うようにするとよい。
あるいはまた、上記描画省略判定手段が、上記図形描画命令に係る図形がイメージ図形である場合には、そのイメージ図形の描画についてワード長単位で上記描画省略判定を行うようにするとよい。
【0013】
また、この発明の情報処理装置は、このような描画処理装置と、画像形成装置と接続するための接続手段と、上記図形描画命令のうち上記選別手段が有効にした部分を上記画像形成装置に出力してその図形描画命令に基づいた画像を形成させる出力手段とを備えたものである。
また、この発明の画像形成装置は、このような描画処理装置と、ページメモリと、上記図形描画命令のうち上記選別手段が有効にした部分のみに基づいてそのページメモリに描画を行う描画手段と、描画終了後の上記ページメモリのデータに基づいて用紙に画像を形成する画像形成手段とを備えたものである。
このような画像形成装置において、外部装置から描画命令を受信する手段と、その描画命令を上記ページメモリへの描画動作に適した形式の図形描画命令に変換するインタプリタと、そのインタプリタによる変換後の図形描画命令を上記描画処理装置による処理に供する手段とをさらに設けるとよい。
【0014】
また、この発明の描画処理方法は、入力される図形描画命令についてその図形描画命令に係る描画を省略できるか否かの描画省略判定を行い、上記図形描画命令のうち省略できると判定した部分を無効にし、それ以外の部分を有効にする描画処理方法であって、上記描画省略判定を、上記図形描画命令に係る図形の描画属性に従って行うものである。
このような描画処理方法において、上記描画省略判定においては、上記図形描画命令に係る図形の描画属性が、その図形描画命令に係る描画を行っても描画先のメモリの内容に関わらずその描画の前後でそのメモリの内容を変化させないような属性であった場合に、その図形描画命令に係る描画を省略できると判定するようにするとよい。
【0015】
さらに、上記描画省略判定は、既に何らかの図形描画命令を有効にしたか否かを示す出力状態フラグも参照して行うようにするとよい。
さらにまた、上記描画省略判定においては、上記出力状態フラグがまだ図形描画命令を有効にしていない旨を示す場合には、上記図形描画命令に係る図形の描画属性が、その図形描画命令に係る描画を行っても描画先のメモリが初期状態であればその描画の前後でそのメモリの内容を変化させないような属性であった場合にも、その図形描画命令に係る描画を省略できると判定するようにするとよい。
また、上記出力状態フラグを、1ページ分の画像に係る図形描画命令毎に、既に何らかの図形描画命令を有効にしたか否かを示すフラグとするとよい。
また、上記出力状態フラグを、1ページ内を任意に分割した各判定領域毎に設定し、上記出力状態フラグを参照する描画省略判定は、対象の図形描画命令に係る描画領域が属する上記判定領域について、その判定領域毎に行うようにするとよい。
この場合において、上記判定領域を、1ページ内を複数のバンドに分割して設けるとよい。
【0016】
また、上記の描画処理方法において、上記図形描画命令がカラーの図形に係る図形描画命令であった場合には、上記描画省略判定をそのカラーの各色プレーン毎に行うようにするとよい。
さらに、上記図形描画命令に係る図形がイメージ図形である場合には、そのイメージ図形中で同色の画素が連続する部分を検知し、その連続する部分毎に上記描画省略判定を行うようにするとよい。
あるいは、上記図形描画命令に係る図形がイメージ図形である場合には、そのイメージ図形の描画についてワード長単位で上記描画省略判定を行うようにするとよい。
【0017】
また、この発明のプログラムは、コンピュータを、入力される図形描画命令について、その図形描画命令に係る描画を省略できるか否かの描画省略判定を、その図形描画命令に係る図形の描画属性によって行う描画省略判定手段と、上記図形描画命令のうち上記描画省略判定手段によって省略できると判定された部分を無効にし、それ以外の部分を有効にする選別手段として機能させるためのプログラムである。
このようなプログラムにおいて、上記描画省略判定手段が、上記図形描画命令に係る図形の描画属性が、その図形描画命令に係る描画を行っても描画先のメモリの内容に関わらずその描画の前後でそのメモリの内容を変化させないような属性であった場合に、その図形描画命令に係る描画を省略できると判定する機能を有するようにするとよい。
【0018】
さらに、上記描画省略判定手段が、上記選別手段が既に何らかの図形描画命令を有効にしたか否かを示す出力状態フラグも参照して上記描画省略判定を行うようにするとよい。
さらにまた、上記描画省略判定手段が、上記出力状態フラグがまだ図形描画命令を有効にしていない旨を示す場合には、上記図形描画命令に係る図形の描画属性が、その図形描画命令に係る描画を行っても描画先のメモリが初期状態であればその描画の前後でそのメモリの内容を変化させないような属性であった場合にも、その図形描画命令に係る描画を省略できると判定する機能を有するようにするとよい。
【0019】
また、上記出力状態フラグを、1ページ分の画像に係る図形描画命令毎に、既に何らかの図形描画命令を上記選別手段が有効にしたか否かを示すフラグとするとよい。
また、上記出力状態フラグを、1ページ内を任意に分割した各判定領域毎に設けたフラグとし、上記描画省略判定手段を、上記出力状態フラグを参照する描画省略判定については、対象の図形描画命令に係る描画領域が属する上記判定領域について、その判定領域毎に行う手段とするとよい。
さらに、上記判定領域を、1ページ内を複数のバンドに分割して設けるようにするとよい。
【0020】
また、これらのプログラムにおいて、上記描画省略判定手段が、上記図形描画命令がカラーの図形に係る図形描画命令であった場合には、上記描画省略判定をそのカラーの各色プレーン毎に行う機能を有するようにするとよい。
さらに、上記描画省略判定手段が、上記図形描画命令に係る図形がイメージ図形である場合には、そのイメージ図形中で同色の画素が連続する部分を検知し、その連続する部分毎に上記描画省略判定を行う機能を有するようにするとよい。
あるいは、上記描画省略判定手段が、上記図形描画命令に係る図形がイメージ図形である場合には、そのイメージ図形の描画についてワード長単位で上記描画省略判定を行う機能を有するようにするとよい。
【0021】
【発明の実施の形態】
以下、この発明の好ましい実施の形態を図面を参照して説明する。
〔第1の実施形態:図1乃至図5〕
まず、この発明の描画処理装置の第1の実施形態および、その描画処理装置を備えた画像形成装置の実施形態であるプリンタについて説明する。図1はそのプリンタのコントローラの機能構成を示すブロック図、図2はそのプリンタのハードウェア構成を示すブロック図、図3はそのプリンタにおいて描画処理を省略できる場合について説明するための図、図4はそのプリンタにおける画像形成時の処理を描画処理装置の機能に関する処理を中心に示すフローチャート、図5は図4に示した描画省略判定処理を示すフローチャートである。
【0022】
上記のプリンタは、外部のホスト装置であるPC(パーソナルコンピュータ)2と接続され、PC2から受信した描画命令に従って用紙に画像を形成する画像形成装置であり、図2に示すとおりプリンタエンジン3とエンジンI/F35とを備えるハードウェア構成である。
プリンタエンジン3は、電子写真方式あるいはインクジェット方式等の任意の方式で用紙に画像を形成するユニットであり、コントローラ10から転送される画像データと制御信号に従って画像形成動作を行う画像形成手段である。
【0023】
コントローラ10は、プリンタ1全体の動作やPC2との情報の授受を制御する制御部であり、ホストインタフェース(I/F)31,CPU32,ROM33,RAM34,エンジンI/F35を備え、これがシステムバス36によって接続されている。
ホストI/F31は、プリンタ1とPC2とを接続するためのインタフェースである。なお、この接続は、LAN(ローカルエリアネットワーク)等のネットワークを介したものであっても、USB(ユニバーサルシリアルバス)等によるローカル接続であっても構わない。
【0024】
CPU32は、ROM33に記憶している種々の制御プログラムやアプリケーションプログラムを実行することにより、情報の授受や各部の動作の制御、図形描画命令に対する描画省略判定や図形描画命令に従った描画処理等の各種の制御や処理を行う。
ROM33は、各種制御プログラムやアプリケーションプログラム、必要なパラメータ等を記憶する記憶手段である。そして、このROM33を書き換え可能に構成すれば、プログラムのバージョンアップ等を容易に行うことができる。
RAM34は、CPU32のワークメモリとして使用したり、後述する中間データメモリ12やページメモリ14として機能したりする記憶手段である。
エンジンI/F35は、コントローラ10とプリンタエンジン3とを接続するためのインタフェースである。
【0025】
このようなプリンタ1の機能構成を、PC2から受信した描画命令に従って画像形成を行う際に用いる機能について示したものが、図1である。
図1に示すように、このプリンタ1のコントローラ10は、インタプリタ11,中間データメモリ12,描画処理装置40,描画処理部13,ページメモリ14の機能を有する。このうち中間データメモリ12とページメモリ14についてはRAM34がこれらの機能を果たし、それ以外については、CPU32がROM33に記憶している種々のプログラムを実行することによりその機能を果たす。特に、描画処理装置40はこの発明の描画処理装置の実施形態であるが、ここではCPU32によってその機能が実現されるものとなっている。
【0026】
インタプリタ11は、PC2から受信したPDL(ページ記述言語)で記載された描画命令を、プリンタ1側でのページメモリ14への描画動作に適した形式の中間データによる図形描画命令に変換する機能を有する。変換後の図形描画命令は中間データメモリ12に蓄積され、蓄積された図形描画命令は、順次描画処理装置40による処理に供される。
ここで、中間データは、例えば矩形の描画であれば左上座標と右下座標を指定したり、左上座標と幅と高さを指定したりするものである。また、PDLも中間データも、文字,グラフィック図形,イメージ図形等の描画すべき図形や画像を指定する基本図形描画命令と、その描画に係る色やクリッピング領域指定,描画演算方法等の描画属性を指定する描画属性命令とを含むものである。
【0027】
描画処理装置40は、描画省略判定部41と選別部42を備える。描画省略判定部41は、描画省略判定手段であり、入力される図形描画命令についてその図形描画命令に係る描画を省略できるか否かの描画省略判定を行う機能を有する。また、選別部42は選別手段であり、入力される図形描画命令のうち描画省略判定部41によって省略できると判定された部分を無効にし、それ以外の部分を有効にする機能を有する。
中間データに含まれる図形描画命令をこのような描画処理装置40による処理に供することにより、図形描画命令のうち描画の省略可能な部分を無効にし、残りの有効にした部分のみに基づいて、描画処理部13によってページメモリ14に描画処理を行う。この描画処理部13が描画手段である。
そして、1ページの画像に必要な描画の終了後、ページメモリ14の内容である画像データをプリンタエンジン3に送出し、その画像データに基づいて画像形成を行わせることにより、PC2から受信した描画命令に基づいた画像を形成することができる。
【0028】
以上のようなプリンタ1は、描画処理装置40における処理に特徴を有し、またその処理は、図形描画命令に係る図形の描画属性によって描画省略判定を行う点に特徴を有するので、以下この点について説明する。なお、以降の説明においてはデータのビットオフを「0」、ビットオンを「1」とし、特に断らない限り、1画素8ビットの0〜255の階調値で濃度を指定し、0が最低濃度(白)、255が最高濃度(モノクロなら黒)であるものとする。
プリンタ1において図形描画命令に従った描画処理を行う場合、ページメモリ14の描画位置に相当するアドレスから現在のデータをデスティネーションデータとして読み出し(リード処理)、描画に係る色のデータであるソースデータとの間で指定された描画演算を行い(モディファイ処理)、その結果得られたデータを新たなデスティネーションデータとしてページメモリ14のもとの位置に書き戻す(ライト処理)。そして、これを描画すべき図形の各画素(ドット)について行うことになる。
【0029】
例えば、図3(a)に示すように、ソースデータが白を示す「0」であり、描画演算方法がSET(置き換え)である場合には、デスティネーションデータが何であっても演算結果は「0」となり、白を示すデータが対象のアドレスに書き戻されることになる。同様に、(b)のようにソースデータが「X」で描画演算方法がOR(論理和)である場合にはデスティネーションデータに応じた「Z」が、(c)のようにソースデータが「X」で描画演算方法がSETである場合にはデスティネーションデータによらず「X」が書き戻されることになる。このように、通常は描画演算を行った結果、描画位置に相当するアドレスのデータは変化することになる。
【0030】
しかし、例えば(d)に示すように、ソースデータが白を示す「0」であり、描画演算方法がORである場合は、デスティネーションデータの内容に関わらず、それがそのまま演算結果になるので、ページメモリ14には全く同じデータが書き戻されることになる。従って、ページメモリ14の状態は描画処理の前後で変化しないので、描画処理を行っても行わなくても結果は同じであり、このような場合には描画処理自体を省略することができる。
同様に、(e)に示すようにソースデータが白を示す「0」であり、描画演算がXOR(排他的論理和)である場合、(f)に示すようにソースデータが黒を示す「255(全ビットが1)」であり、描画演算方法がAND(論理積)である場合も描画処理自体を省略することができる。
【0031】
以上の(d)〜(f)の場合には、図形描画命令に係る図形の描画属性のうち色と描画演算方法を参照するのみで省略可能であると判定することができる。そして、描画属性のみから省略の可否を判定するようにすれば、描画を省略できる場合にはライト処理はおろかリード処理やモディファイ処理も行う必要がなく、処理時間の短縮効果が大きい。そこで、描画処理装置40の描画省略判定部41においては、図形描画命令に係る図形の描画属性が、その図形描画命令に係る描画を行ってもページメモリ14の内容に関わらずその描画の前後でページメモリ14の内容を変化させないような属性であった場合に、その図形描画命令に係る描画を省略できると判定するようにしている。
なお、図形描画命令に係る図形が、矩形や任意多角形等のグラフィック図形や文字のように使用する色が1色である場合には、各画素毎に判定を行う必要はなく、1つの図形描画命令について1回の判定を行うのみでその命令に係る全ての描画について省略の可否を判定することができる。
【0032】
ところで、図3の(a)〜(c)の場合であっても、例えばデスティネーションとソースが同色である場合にはページメモリ14の状態は描画処理の前後で変化しない。しかし、デスティネーションの状態を知るためにはページメモリ14にアクセスしなければならず、処理に時間がかかることになる。また、画像データが1画素1〜2ビットの装置に適用した場合には、濃度はディザや誤差拡散等により一定の面積を用いて擬似階調表現されているので、それを階調値に逆変換する処理も必要になり、現実的ではない。そこで、描画処理装置40においては、このようにページメモリ14を参照しなければ省略の可否がわかならい場合には描画は省略できないものとして取り扱っている。
【0033】
次に、このような描画省略判定の処理を中心に、プリンタ1において画像形成を行う場合の処理について説明する。
プリンタ1のCPU32は、画像形成を行う場合、ROM33に記憶されたプログラムを実行することにより、図4のフローチャートに示す処理を開始する。まずステップS1で、インタプリタ11によって変換され、中間データメモリ12に蓄積された図形描画命令から、次に実行すべき図形描画命令を受け付ける。この受け付けは、図形単位で行う。そして、ステップS2で図5のフローチャートに示す描画省略判定処理を実行して、その図形描画命令に係る描画を省略できるか否かの描画省略判定を行う。
描画省略判定処理においては、まずステップS11で、図形描画命令に係る図形の描画属性を参照し、色濃度が最低濃度であるか否か判断する。なお、ここでは、図形描画命令に係る図形に複数の色が含まれている場合には、どの色でもないとして扱う。複数の色が含まれている場合に有効な処理は、後に変形例として説明する。
【0034】
ステップS11で最低濃度であれば、ステップS12に進んで描画演算方法がORであるか否か判断する。
ステップS12でORであれば、描画属性がページメモリ14の内容に関わらず描画の前後でページメモリ14の内容を変化させないような属性であるので、ステップS17で対象の図形描画命令に係る描画は省略可であると判定してもとの処理に戻る。
ステップS12でORでなければ、ステップS13に進んで描画演算方法がXORであるか否か判断する。XORであれば、ステップS17に進んで同様に省略可であると判定してもとの処理に戻る。しかし、XORでなければ、描画属性が描画の前後でページメモリ14の内容を変化させ得る属性であるので、ステップS16に進み、対象の図形描画命令に係る描画は省略不可であると判定してもとの処理に戻る。
【0035】
一方、ステップS11で最低濃度でなければ、ステップS14に進んで色濃度が最高濃度であるか否か判断する。最高濃度であれば、ステップS15に進んで描画演算方法がANDであるか否か判断する。そして、ANDであればステップS17で対象の図形描画命令に係る描画は省略可であると判定してもとの処理に戻る。
ステップS15でANDでない場合、ステップS14で最高濃度でない場合には、ステップS16に進んで対象の図形描画命令に係る描画は省略不可であると判定してもとの処理に戻る。
【0036】
以上の描画省略判定処理により、
▲1▼.描画に係る色が最低濃度で描画演算方法がORの場合。
▲2▼.描画に係る色が最低濃度で描画演算方法がXORの場合。
▲3▼.描画に係る色が最高濃度で描画演算方法がANDの場合。
のいずれかの場合には描画が省略可であると判断し、それ以外の場合には省略不可であると判断する。そして、この判断に用いる情報は図形描画命令に係る図形の描画属性の情報のみである。
以上の図5に示した処理において、CPU32が描画省略判定手段である描画省略判定部41として機能する。
【0037】
描画省略判定処理の終了後は、図4のステップS3に進み、描画省略判定の結果、描画が省略可とされたか否かを判断する。省略可でなければステップS4で受け付けた図形描画命令を有効にし、ステップS5でその描画命令に従ってページメモリ14に対する描画処理を実行する。なお、ステップS4においては、図形描画命令に何らかのデータを付加することは必要なく、単に描画処理部13に図形描画命令を出力することをもって図形描画命令を有効にするようにするとよい。また、ステップS5においてはCPU32が描画手段である描画処理部13として機能する。
【0038】
ステップS5の処理後は、ステップS7に進んで処理すべき図形描画命令がまだあるか否か判断する。そして、あればステップS1に戻って処理を繰り返し、なければ処理を終了する。
また、ステップS3で省略可であれば、ステップS6に進んで受け付けた図形描画命令を無効にする。この処理は、単に描画処理部13にその図形描画命令を出力しないようにすることによって実現するとよい。この場合、この図形描画命令に係る描画動作は一切行われない。そして、ステップS6の終了後はステップS7に進んで以後の処理を行う。ステップS3,S4,S6においては、CPU32が選別手段である選別部42として機能する。
【0039】
以上の処理を行うことにより、ページメモリの状態を変えないような描画処理を省略することができる。そして、省略する際には描画処理時間の大半を占めるリード処理及びライト処理も含めて処理を省略することができるので、処理時間短縮とそれによる描画の高速化の効果が大きい。
なお、上述の処理において、図示及び説明は省略したが、1ページの画像に必要な描画の終了後、ページメモリ14の内容である画像データをプリンタエンジン3に送出するものとする。また、図4のステップS5の描画処理と次の図形描画命令についてのステップS2の描画省略判定処理は、並行して行うようにしてもよい。
【0040】
また、上述の処理において、描画省略判定処理に用いた▲1▼〜▲3▼の条件のうち、1つ又は2つのみを選択して用いるようにしてもよい。また、上述の処理は、描画面積の大きなグラフィック図形の描画も一度の判断で省略できるため、このような場合に特に効果が大きい。そこで、図形描画命令に係る図形がグラフィック図形である場合のみ描画省略判定を行うようにしてもよい。
また、この実施形態においては、描画処理装置がプリンタ1に備えるCPU32の一機能である例について説明したが、独立のユニットとして設けてもよい。
【0041】
〔第2の実施形態:図6乃至図8〕
次に、この発明の描画処理装置の第2の実施形態および、その描画処理装置を備えた情報処理装置の実施形態であるPCについて説明する。図6は、そのPCの機能構成を示すブロック図、図7はそのPCのハードウェア構成を示すブロック図、図8はそのPCにおける画像形成指示時の処理を描画処理装置の機能に関する処理を中心に示すフローチャートである。なお、図6において、第1の実施形態の説明に用いた図1と対応する部分には、同一の符号を付している。
この実施形態は、第1の実施形態においてプリンタ1側に設けた描画処理装置40の機能を、情報処理装置であるPC2側に設けたもである。
【0042】
PC2のハードウェア構成は図7に示す通り、CPU21,ROM22,RAM23,HDD(ハードディスクドライブ)24,プリンタI/F25を備え、これらをシステムバス26によって接続したものであり、画像形成装置であるプリンタ1と接続するための接続手段であるプリンタI/F25を備えたものであれば、公知のPCを適宜用いることができる。なお、このプリンタ1との接続は、LAN等のネットワークを介したものであっても、USB等によるローカル接続であっても構わない。また、この実施形態においては、プリンタ1は適宜公知のものを用いればよく、第1の実施形態の場合のように描画処理装置40の機能を有している必要はない。
そして、PC2のROM22あるいはHDD24に必要なアプリケーションプログラムを記憶させ、CPU21によってそのプログラムを実行させることにより、CPU21をこの発明の描画処理装置として機能させ、またPC2をこの発明の情報処理装置として機能させることができる。
【0043】
このようなPC2の機能構成を、プリンタ1に画像形成を指示する際に用いる機能について示したものが、図6である。
このPC2は、ROM22あるいはHDD24に記憶したプリンタドライバプログラムをCPU21に実行させることにより、CPU21をプリンタ1に対して画像形成を指示するプリンタドライバ50として機能させることができる。そして、プリンタドライバ50は、図形描画命令生成部51,描画処理装置40,図形描画命令出力部52の機能を有する。
一方、CPU21が実行する他のアプリケーション60は、画像形成が必要である場合に、OS(オペレーティングシステム)のグラフィック関連のモジュールであるGDI(Graphics Device Interface)という描画インタフェースを経由してプリンタドライバ50に画像形成を指示する。
【0044】
プリンタドライバ50の図形描画命令生成部51は、この指示に応じて、GDIを経由した描画命令をプリンタ1に搭載されているプリンタ言語に適したPDL形式の図形描画命令に変換する。そして、その変換後の図形描画命令を描画処理装置40による処理に供する。
なお、第1の実施形態ではPDL形式の命令を描画命令と呼び、これを中間データによる図形描画命令に変換して描画処理装置による処理に供するものとして説明したが、この実施形態のようにPC2側に描画処理装置40の機能を設けた場合には、PDL形式の命令について描画処理装置40による処理を行い、この形式の命令を図形描画命令と呼ぶものとする。そして、上述のように、PDL形式の命令も中間データによる命令も、基本図形描画命令と描画属性命令とを含む点では同様なものであるので、描画処理装置40において同様に処理することができる。
【0045】
描画処理装置40は、上記のように処理対象とする命令の形式が異なる点以外は、第1の実施形態で説明した描画処理装置40と同様な機能を有するものである。
図形描画命令出力部52は、図形描画命令生成部51が生成した図形描画命令のうち、描画処理装置40の選別部42が有効にした部分のみをプリンタ1に出力してその図形描画命令に基づいた画像を形成させる出力手段の機能を有する。なお、実際にはこのデータはプリンタI/F25を介してプリンタ1に出力されることになる。
【0046】
以上のようなPC2は、第1の実施形態で説明したプリンタ1と同様、描画処理装置40における処理に特徴を有し、またその処理は、図形描画命令に係る図形の描画属性によって描画省略判定を行う点に特徴を有する。次に、このような描画省略判定の処理を中心に、PC2においてプリンタ1に画像形成を指示する場合の処理について説明するが、大部分は第1の実施形態で図4及び図5を用いて説明した処理と同様であるので、相違点のみを説明する。
PC2のCPU21は、アプリケーション60から画像形成の要求があった場合、ROM22あるいはHDD24に記憶されたプログラムを実行することにより、図8のフローチャートに示す処理を開始する。
【0047】
まずステップSXで、アプリケーション60からのGDIを経由した描画命令を変換してプリンタ1に搭載されているプリンタ言語に適したPDL形式の図形描画命令を生成する。このステップSXではCPU21が図形描画命令生成部51として機能する。
そして、ステップS1では、ステップSXで生成した図形描画命令をプリンタ1に送信すべき図形描画命令として受け付ける。以後の処理は図4及び図5のフローチャートを用いて説明した処理とほぼ同様であるが、ステップS5に代えてステップSYの処理を行い、受け付けた図形描画命令をプリンタ1に送信する点が異なる。このステップSYにおいては、CPU21及びプリンタI/F25が出力手段として機能する。また、これに伴い、ステップS4で図形描画命令を有効にする場合の出力先は、図形描画命令出力部52となる。
【0048】
以上の処理を行うことにより、PC2側においてページメモリの状態を変えないような描画命令を省略することができる。従って、プリンタ1側においてもその命令に係る動作を省略することができる。そして、このことにより、第1の実施形態の効果に加え、PC2とプリンタ1との間のデータ転送量を低減し、またプリンタ1側におけるインタプリタ11での処理量も低減できるので、さらに描画とプリントの高速化を図ることができる。
なお、第1の実施形態の場合と同様な変更を適用することもできる。
【0049】
〔第1,第2の実施形態の変形例:図9,図10〕
次に、上述した第1,第2の実施形態の変形例について説明する。図9及び図10は、それぞれその変形例について説明するための図形描画命令の例を示す図である。
まず、上述した第1,第2の実施形態においては、色を1つの図形について1つのパラメータとして扱っていた。しかし、カラープリンタによって画像形成を行う場合には、色をK(ブラック),C(シアン),M(マゼンタ),Y(イエロー)の4つの色プレーンに分解して面順次形式で画像形成し、プリンタエンジン3の構成上の都合により、ページメモリ14も色プレーン毎に設けることが多いので、各色プレーン毎にページメモリに描画することが行われている。従って、このような場合、描画属性に含まれる色の情報を各色プレーンに分解し、色プレーン毎に描画省略判定を行うようにするとよい。
【0050】
この場合の判定処理について、図9に示すような色の画像についての図形描画命令に対して行う場合を例として説明する。なお、描画演算方法は全てORであるとする。また、図9において破線の楕円はその色プレーンが最小濃度であることを示す。
まず、(a)のように白画像を描画する場合には、色プレーン毎に判定しない場合でも第1の実施形態で説明したとおり描画を省略可能であり、色プレーン毎に判定した場合でも、全ての色プレーンで最低濃度であるので、全ての色プレーンで描画を省略できる。
【0051】
次に、(b)のように混色の黒(K=100%,C=M=Y=50%)を描画する場合には、色プレーン毎に判定しない場合には描画を省略できず、色プレーン毎に判定した場合でも、全ての色プレーンで最低濃度でないので、描画を省略できない。
しかし、(c)のように単色の黒(K=100%,C=M=Y=0%)を描画する場合には、色プレーン毎に判定しない場合には最低濃度でないので描画を全く省略できないが、色プレーン毎に判定すれば、Bプレーンでは最低濃度でないので描画を省略できないものの、C,M,Yのプレーンでは最低濃度であるので描画を省略できる。
このように、描画省略判定を色プレーン毎に行えば、描画を省略する機会が多くなり、描画処理をさらに高速に行うことができる。
【0052】
また、第1,第2の実施形態においては、図形描画判定を図形単位で行っていた。しかし、ビットマップや写真画像等のイメージ図形においては、使用する色が複数であることがほとんどであるので、イメージ図形を扱う場合には、その図形に係るイメージデータも参照し、図形の画素毎に描画省略判定を行うようにするとよい。そうすれば、例えばイメージ図形の大部分が白(最低濃度)であり、描画演算方法がORやXORである場合には、白の部分の描画を省略して描画の高速化を図ることができる。
また、このような場合に、イメージ図形中で同色の画素が連続する部分を検知し、その連続する部分毎に描画省略判定を行うようにするとよい。このとき、描画処理の進行する方向(図10ではX方向とする)に同色の画素が連続する部分のみを検知するようにするとよい。
【0053】
例えば、図10に示した4×4画素のイメージデータ(破線の楕円は最低濃度の白画素を、それ以外の楕円は色付き画素を示す)においては、X方向に同色の画素が連続する部分は、(Y座標,始点X座標,終点X座標)として表現すると、(0,0,3),(1,1,3),(2,1,3),(3,0,2)の4ヶ所ある。従って、同色の画素が連続する部分についてはその部分毎に描画省略判定を行えば、判定回数は7回であり、例えば描画演算方法がORの場合には、(2,1,3)以外の3ヶ所でまとめて描画を省略することができる。この方式を採用すれば、描画を省略できる画素の数は、画素毎に判定を行った場合と同じである一方、判定回数は画素毎に行った場合の16回と比べて大きく低減し、処理の高速化を図ることができる。
【0054】
なお、図10に示した例では、X=0の列でY=1,Y=2の画素は同色であるが、このようにY方向に連続する画素について同時に判定を行っても、例えばY=1の画素の処理の時点でした判定の結果をY=2の画素の処理を行うまで記憶しておかなければならないため、X方向の場合に比べて効果は低い。
また、描画処理をCPUのワード長単位で実行する場合には、ワード長単位で、すなわち1ワード分のデータ量の画像毎に描画判定処理を行うとよい。例えば1ワード32ビットで1画素8ビットのデータ量である場合には、4画素ずつ描画処理判定を行うことになる。
【0055】
従ってこの場合、4画素中の一部が描画省略可能であった場合でもその画素の描画を省略できないことになる。しかし、判定対象の画素が全て最低濃度であるか否かは、ワード長データの値がゼロ(全ビットオフ)であるか否かで判断でき、全て最高濃度であるか否かは、ワード長データが全ビットオンであるか否かで判断できるので、判定を高速に行うことができ、全体として処理の高速化を図ることができる。
【0056】
また、第2の実施形態のようにPC2側に描画処理装置40の機能を設けた場合には、イメージ図形等の複数の色を使用する図形について、描画を省略可能な色が含まれている場合に、その色については描画の省略が可能である旨のデータを付加して図形描画命令をプリンタ1に送信し、イメージ図形のデータ自体はそのままプリンタ1に送信するようにしてもよい。
例えば、白と黒の2色の画素で構成されるイメージ図形を描画演算方法ORで描画する図形描画命令があった場合、白画素については描画を省略できるので、その旨の情報を付加する等である。
そして、プリンタ側で描画処理を行う際にその情報を解釈し、その色の画素について何も処理をしないようにすれば、データの転送自体を行わない場合と同様に描画を省略することができる。
全画素の描画を省略可能な場合には、もちろん図形描画命令自体を送信しないようにしてよい。
【0057】
〔第3の実施形態:図11乃至図14〕
次に、この発明の描画処理装置の第3の実施形態および、その描画処理装置を備えた画像形成装置の実施形態であるプリンタについて説明する。図11は、そのプリンタのコントローラの機能構成を示すブロック図、図12はそのプリンタにおける画像形成時の処理を描画処理装置の機能に関する処理を中心に示すフローチャート、図13は図12に示した第2の描画省略判定処理を示すフローチャート、図14はそのプリンタにおける第2の描画省略判定処理について説明するための描画処理命令の例を示す図である。図11において、第1の実施形態の説明に用いた図1と対応する部分には、同一の符号を付している。
【0058】
この実施形態の特徴は、第1の実施形態で説明した描画省略判定処理に加え、第2の描画判定処理も行うようにした点であるので、この点を中心に説明する。
このプリンタのハードウェア構成は、第1の実施形態のプリンタ1と同様である。また、その機能構成は、図11に示す通りであり、既に何らかの図形描画命令を選別手段が有効にしたか否かを示す出力状態フラグ43を描画処理装置40内に設け、描画省略判定部41が描画省略判定を行う際に出力状態フラグ43も参照するようにした点が第1の実施形態のプリンタ1と異なるのみである。なお、出力状態フラグ43の機能は例えばCPU32に備えたレジスタによって実現することができる。
【0059】
このプリンタ1の描画処理装置40においては、描画省略判定部41で、第2の描画省略判定を行い、第1の実施形態で説明した場合に加え、出力状態フラグ43がまだ図形描画命令を有効にしていない旨を示す場合(OFFとする)は、図形描画命令に係る図形の描画属性が、その図形描画命令に係る描画を行っても描画先のメモリが初期状態であればその描画の前後でページメモリ14の内容を変化させないような属性であった場合にも、その図形描画命令に係る描画を省略できると判定する。
【0060】
例えば、最初の図形描画命令に係る描画の前にページメモリ14が全画素についてビットオフの最低濃度(白)にリセットされているとすると、この状態であれば、第1の実施形態で挙げた▲1▼〜▲3▼のほか、
▲4▼.描画に係る色が最低濃度で描画演算方法がSET(置き換え)の場合。
▲5▼.描画に係る色が任意で描画演算方法がANDの場合。
であってもページメモリ14の内容を変化させないので、まだ図形描画命令を有効にしていない場合には、これらの描画属性の図形描画命令も省略するようにしているのである。
【0061】
このプリンタ1においても、描画省略判定時にページメモリ14の内容は参照しないが、出力状態フラグ43を参照することにより、これがOFFの場合にはページメモリが全画素ビットオフの初期状態であることがわかるので、第1の実施形態で挙げた▲1▼〜▲3▼のほか、上記の▲4▼及び▲5▼の場合も描画を省略できることがわかるのである。そして、出力状態フラグ43はページメモリ14に比較して高速に参照することができるので、描画省略判定時に出力状態フラグ43を参照しても、判定処理の速度にほとんど影響はない。
【0062】
次に、このような描画省略判定の処理を中心に、プリンタ1において画像形成を行う場合の処理について説明する。ただし、この処理は、第1の実施形態で図4および図5を用いて説明した処理と共通する部分が多いので、その部分については説明を省略する。
プリンタ1のCPU32は、画像形成を行う場合、ROM33に記憶されたプログラムを実行することにより、図12のフローチャートに示す処理を開始する。
まずステップS21で、図4のステップS1場合と同様に次に実行すべき図形描画命令を受け付ける。そして、ステップS22で図13のフローチャートに示す第2の描画省略判定処理を実行して、その図形描画命令に係る描画を省略できるか否かの描画省略判定を行う。
【0063】
第2の描画省略判定処理においては、まずステップS31で、出力状態フラグ43を参照してこれがオフであるか否か判断する。オフであれば、ステップS32に進み、図形描画命令に係る図形の描画属性を参照して、描画演算方法がANDであるか否か判断する。
ステップS32でANDであれば、描画属性がページメモリ14が初期状態であれば描画の前後でページメモリ14の内容を変化させないような属性であるので、ステップS38で対象の図形描画命令に係る描画は省略可であると判定してもとの処理に戻る。
【0064】
ANDでなければ、ステップS33に進んで色濃度が最低濃度であるか否か判断する。なお、ここでも、図形描画命令に係る図形に複数の色が含まれている場合には、どの色でもないとして扱うが、上述した変形例を適用してもよい。
最低濃度であれば、ステップS34に進み、描画演算方法がSETであるか否か判断する。ここでSETであればステップS38で対象の図形描画命令に係る描画は省略可であると判定してもとの処理に戻る。
【0065】
ステップS34でSETでない場合には、以下ステップS35,36でそれぞれOR,XORであるか否か判断し、これらであれば同様にステップS38で対象の図形描画命令に係る描画は省略可であると判定してもとの処理に戻る。
どちらでもなければ、ステップS37に進んでさらに第1の実施形態で図5を用いて説明した描画省略判定処理を行ってもとの処理に戻る。ステップS31又はステップS33でNOであった場合も同様であるが、ステップS38で省略可と判定した場合には、それ以上の判定処理は不要であるのでそのままもとの処理に戻る。
【0066】
以上の第2の描画省略判定処理により、第1の実施形態で説明した▲1▼〜▲3▼の場合のほか、ページメモリ14が初期状態であれば上記の▲4▼及び▲5▼の場合にも描画が省略可であると判断し、それ以外の場合には省略不可であると判断する。そして、この判断に用いる情報は図形描画命令に係る図形の描画属性と出力状態フラグ43の情報のみである。
以上の図13に示した処理において、CPU32は描画省略判定手段である描画省略判定部41として機能する。
【0067】
描画省略判定処理の終了後は、図12のステップS23に進み、以降の処理を行う。ステップS23,24,26,27の処理は、図4のステップS3〜6の処理と同様であるが、図12の処理ではこれらに加え、ステップS25において、何らかの図形描画命令を有効にし、以後ページメモリ14が初期状態でなくなることを示すため、出力状態フラグ43をONにする。
【0068】
また、ステップS28において、1ページ分の図形描画命令の処理が終了したか否か判断し、終了していればステップS29で出力状態フラグ43をOFFに戻してステップS30に進む。終了していなければそのままステップS30に進む。複数ページに亘る画像形成を指示する一連の図形描画命令を処理する場合、1ページ分の描画終了後の新たなページについての描画は、ページメモリ14をクリアしてから、あるいはページメモリ14のクリアされている新たな領域に行うことから、新たに描画する領域ではページメモリ14が初期状態であることを示すべく、1ページ分の処理が終了する毎に出力状態フラグ43をOFFに戻すのである。すなわち、出力状態フラグ43は、1ページ分の画像に係る図形描画命令毎に、既に何らかの図形描画命令を選別部42が有効にしたか否かを示すフラグとなる。
その後のステップS30の処理は、図4のステップS7の処理と同様である。
【0069】
以上の処理を行うことにより、ページメモリの状態を変えないような描画処理を、第1の実施形態の場合よりもさらに幅広く省略し、さらに処理時間短縮とそれによる描画の高速化を図ることができる。
この点について具体例を挙げて説明する。
【0070】
例えば、図14に示すように101から104までの4つの楕円をこの順で描画することを指示する図形描画命令を処理する場合を考える。破線の楕円は白、実線の楕円はそれ以外の色とし、描画演算方法はすべてSETとする。
まず、楕円101の描画について、第1の実施形態のような描画省略判定を行うとすると、描画演算方法がSETであるので描画は省略不可と判定され、描画処理を行うことになる。しかし、この実施形態の描画処理装置40においては、出力状態フラグ43を参照し、この判定時点ではOFFであるので、描画を省略可と判定できる。もちろん、白地に白の描画であるので、実際には描画を省略することができる。
【0071】
楕円102の描画についての描画省略判定の時点でもまだなにも描画されておらず、出力状態フラグ43はOFFであるので、ここでも描画を省略することができる。
楕円103については色付きのSETであるので省略できず、ここで出力状態フラグ43がONになるので、以後の判定内容は第1の実施形態の場合と同様になり、楕円104の描画は省略できない。一度でも色付きの図形を描画してしまった場合、それと重なるように白をSETした場合にはページメモリ14の内容が変化するため、ページメモリ14の内容を参照しなければ省略の可否がわからないからである。
【0072】
しかし、上記の例からも、この実施形態の描画処理装置40あるいはプリンタ1によれば、第1の実施形態の場合よりも多くの描画を省略できることがわかる。
特に、グラフィック用アプリケーションやプレゼンテーション用アプリケーションが印刷を指示するる場合には、ページの先頭でそのページをクリアする目的で全面を白地で塗りつぶす(SETする)命令を出すことが多い。しかし、描画開始時に全画素が白にリセットされている場合にはこの処理は無駄になる一方、描画面積が大きいのでかなり時間のかかる処理となる。従って、上記のような判定を行ってこの白によるSET命令を省略すると、描画の高速化に効果が大きい。
【0073】
なお、この実施形態にも第1の実施形態の場合と同様な変形を適用することが可能である。
また、ここではページメモリ14が初期状態において全ビットオフにリセットされる例について説明したが、異なる状態にリセットされる場合には、それに応じて描画を省略可能と判定する条件を変化させるものとする。
【0074】
〔第4の実施形態:図15,図16〕
次に、この発明の描画処理装置の第4の実施形態および、その描画処理装置を備えた情報処理装置の実施形態であるPCについて説明する。図15は、そのPCの機能構成を示すブロック図、図16はそのPCにおける画像形成指示時の処理を描画処理装置の機能に関する処理を中心に示すフローチャートである。なお、図15において、第2の実施形態の説明に用いた図6と対応する部分には、同一の符号を付している。
この実施形態の特徴は、第2の実施形態で説明した描画省略判定処理に加え、第3の実施形態で説明たものと同様な第2の描画判定処理も行うようにした点であるので、この点を中心に説明する。
【0075】
このPC2のハードウェア構成は、第2の実施形態のPC2と同様である。また、その機能構成は、図15に示す通りであり、既に何らかの図形描画命令を選別手段が有効にしたか否かを示す出力状態フラグ43を描画処理装置40内に設け、描画省略判定部41が描画省略判定を行う際に出力状態フラグ43も参照するようにした点が第2の実施形態のPC2と異なるのみである。なお、出力状態フラグ43の機能は例えばCPU21に備えたレジスタによって実現することができる。
【0076】
次に、上記の描画省略判定の処理を中心に、PC2においてプリンタ2に画像形成を指示する場合の処理について説明するが、大部分は第3の実施形態で図12及び図13を用いて説明した処理と同様であるので、相違点のみを説明する。
PC2のCPU21は、アプリケーション60から画像形成の要求があった場合、ROM22あるいはHDD24に記憶されたプログラムを実行することにより、図16のフローチャートに示す処理を開始する。
まずステップSXで、アプリケーション60からのGDIを経由した描画命令を変換してプリンタ1に搭載されているプリンタ言語に適したPDL形式の図形描画命令を生成する。このステップSXではCPU21が図形描画命令生成部として機能する。
【0077】
そして、ステップS21では、ステップSXで生成した図形描画命令をプリンタ1に送信すべき図形描画命令として受け付ける。以後の処理は図12及び図13のフローチャートを用いて説明した処理とほぼ同様であるが、ステップS26に代えてステップSYの処理を行い、受け付けた図形描画命令をプリンタ1に送信する点が異なる。このステップSYにおいては、CPU21及びプリンタI/F25が出力手段として機能する。また、これに伴い、ステップS24で図形描画命令を有効にする場合の出力先は、図形描画命令出力部52となる。
【0078】
以上の処理を行うことにより、ページメモリの内容を変えないような描画命令をPC2側において省略することができる。従って、プリンタ1側においてもその命令に係る動作を省略することができる。そして、このことにより、第3の実施形態の効果に加え、PC2とプリンタ1との間のデータ転送量を低減し、またプリンタ1側におけるインタプリタ11での処理量も低減できるので、さらに描画とプリントの高速化を図ることができる。
なお、第1及び第3の実施形態の場合と同様な変更を適用することもできる。
【0079】
〔第3,第4の実施形態の変形例:図17乃至図20〕
次に、上述した第3,第4の実施形態の変形例について説明する。図17は1ページを複数のバンドによる判定領域に分割した状態を示す図、図18はその状態で図形を描画する具体例を示す図、図19はページを図17とは別の判定領域に分割した状態を示す図、図20は色プレーン毎に図形を描画する具体例を示す図、図21は色プレーン毎に判定領域に分割した状態で図形を描画する具体例を示す図である。これらの図において、以下に説明する変形例の描画省略判定で省略可と判定できる部分には、その旨を表示している。
【0080】
まず、上述した第3,第4の実施形態では、出力状態フラグ43を1つだけ設け、ページ内に一度でも描画が行われるとページ全体についての出力状態フラグ43をONにするようにしていた。
しかし、1ページ内を任意に分割した各判定領域毎に出力状態フラグ43を設け、描画省略判定処理を、対象の図形描画命令に係る描画領域が属する判定領域について、その判定領域毎に行うようにするとよい。ある判定領域内に何らかの図形を描画したとしても、他の判定領域内ではページメモリ14は初期状態であるので、他の判定領域に描画する場合には、依然としてページメモリ14が初期状態であるとして取り扱おうというものである。
【0081】
このとき、特にカラーの場合には、1ページを所定の主走査ライン数毎に複数のバンドに分割し、バンド毎に描画を行うことが多いので、その各バンドを判定領域とするとよい。図17においては、1ページ内を4つのバンドによる判定領域に分割した状態を示している。
この状態で、図18に示すように、図14に示した場合と同様な101から104までの楕円をそれぞれ第1から第4の判定領域内に描画することを指示する図形描画命令を処理する場合を考える。
白SETの楕円101及び102について描画を省略し、この時点で出力状態フラグ43がOFFのままであることは図14について説明した場合と同様であるが、3番目の楕円103について省略せずに描画を行った場合でも、ONになる出力状態フラグ43は第3の判定領域のものだけである。従って、第4の判定領域についての出力状態フラグ43は依然としてOFFであるので、白SETの楕円104の描画も省略可と判定することができる。
【0082】
従って、1ページ内を複数の判定領域に分割し、判定領域毎に描画処理判定を行うことにより、さらに多くの描画処理を省略し、描画の高速化を図ることができる。ただし、判定領域をあまり細分化してしまうと、判定処理やフラグ等の管理処理によるオーバーヘッドが大きくなり効果が薄れるので注意が必要である。
なお、複数の判定領域にまたがる図形についての図形描画命令も当然あり得、この場合に一部の判定領域のみ描画を省略できると判定されれば、その図形のうち描画を省略できない判定領域内の部分のみ描画処理を行うことになる。
また、ページの分割法はバンドに限られるものではなく、例えば図19に示したように格子状に分割して判定領域を設けてもよい。
【0083】
また、カラープリンタによって画像形成を行う場合には、色プレーン毎に出力状態フラグ43を設け、色プレーン毎に描画省略判定を行うようにしてもよい。この場合、図20に示すように105から108の楕円を順次SETで描画することを指示する図形描画命令を処理する場合を考えると、楕円105を描画した段階でKプレーンの出力状態フラグ43はONになるが、C,M,Yの色プレーンについては描画を省略できるのでONにならない。従って、楕円106を描画する際にもC,M,Yプレーンについては依然として描画省略可と判定することができる。
従って、より精密に描画省略判定を行い、より多くの描画を省略して描画処理の高速化を図ることができる。
【0084】
さらに、判定領域毎かつ色プレーン毎に出力状態フラグ43を設けて描画省略判定を行うようにしてもよい。この場合、図21に示すように図20の場合と同様な楕円を各判定領域に順次描画することを指示する図形描画命令を処理する場合を考えると、楕円105を描画した段階でKプレーンの第1の判定領域の出力状態フラグ43はONになるが、第2の判定領域については依然としてOFFであるので、楕円106のKプレーンへの描画も省略可と判定することができる。また、楕円107を各色プレーンに描画した後も、異なる判定領域への楕円108の描画は省略可と判定することができる。
従って、色プレーン毎のみの場合よりさらに精密に描画省略判定を行い、より多くの描画を省略して描画処理の高速化を図ることができる。
【0085】
なお、以上説明した各実施形態では、画像形成装置としてプリンタ、情報処理装置としてPCを例として説明したが、これに限られるものでないことはいうまでもない。また、描画処理装置についても、これらの装置に搭載するかこれらの装置の機能の一部を構成するものに限られることはない。
また、この発明のプログラムは、コンピュータを、上述したような描画処理装置40あるいはプリンタ1やPC2の制御手段として機能させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、コンピュータを描画処理装置40あるいはプリンタ1やPC2の制御手段として機能させて上述したような効果を得ることができる。
【0086】
このようなプログラムは、はじめからコンピュータに備えるROMあるいはHDD等の記憶手段に格納しておいてもよいが、記録媒体であるCD−ROMあるいはフレキシブルディスク,SRAM,EEPROM,メモリカード等の不揮発性記録媒体(メモリ)に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてCPUに実行させるか、CPUにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
【0087】
【発明の効果】
以上説明してきたように、この発明の描画処理装置、描画処理方法及び画像形成装置によれば、描画先のメモリの状態を変えないような描画処理を省略することができる。そして、省略する際には描画処理時間の大半を占めるリード処理及びライト処理も含めて処理を省略することができるので、処理時間短縮とそれによる描画の高速化の効果が大きい。
また、この発明の情報処理装置によれば、これに加え、画像形成装置に対するデータ転送量を低減することができるので、さらに描画の高速化を図ることができる。
そして、この発明のプログラムによれば、コンピュータを上記のような描画処理装置として機能させることができる。
【図面の簡単な説明】
【図1】この発明の第1の実施形態の描画処理装置を備えたプリンタのコントローラの機能構成を示すブロック図である。
【図2】そのプリンタのハードウェア構成を示すブロック図である。
【図3】そのプリンタにおいて描画処理を省略できる場合について説明するための図である。
【図4】そのプリンタにおける画像形成時の処理を描画処理装置の機能に関する処理を中心に示すフローチャートである。
【図5】図4に示した描画省略判定処理を示すフローチャートである。
【図6】この発明の第2の実施形態の描画処理装置を備えたPCの機能構成を示すブロック図である。
【図7】そのPCのハードウェア構成を示すブロック図である。
【図8】そのPCにおける画像形成指示時の処理を描画処理装置の機能に関する処理を中心に示すフローチャートである。
【図9】この発明の第1及び第2の実施形態の変形例について説明するための図形描画命令の例を示す図である。
【図10】その別の例を示す図である。
【図11】この発明の第3の実施形態の描画処理装置を備えたプリンタのコントローラの機能構成を示すブロック図である。
【図12】そのプリンタにおける画像形成時の処理を描画処理装置の機能に関する処理を中心に示すフローチャートである。
【図13】図12に示した第2の描画省略判定処理を示すフローチャートである、
【図14】そのプリンタにおける第2の描画省略判定処理について説明するための描画処理命令の例を示す図である。
【図15】この発明の第4の実施形態の描画処理装置を備えたPCの機能構成を示すブロック図である。
【図16】そのPCにおける画像形成指示時の処理を描画処理装置の機能に関する処理を中心に示すフローチャートである。
【図17】1ページを複数のバンドによる判定領域に分割した状態を示す図である。
【図18】その状態で図形を描画する具体例を示す図である。
【図19】ページを図17とは別の判定領域に分割した状態を示す図である。
【図20】色プレーン毎に図形を描画する具体例を示す図である。
【図21】色プレーン毎に判定領域に分割した状態で図形を描画する具体例を示す図である。
【符号の説明】
1:プリンタ 2:PC
3:プリンタエンジン 10:コントローラ
11:インタプリタ 12:中間データメモリ
13:描画処理部 14:ページメモリ
21,32:CPU 22,33:ROM
23,34:RAM 24:HDD
25:プリンタI/F 26,36:システムバス
31:ホストI/F 35:エンジンI/F
40:描画処理装置 41:描画省略判定部
42:選別部 43:出力状態フラグ
50:プリンタドライバ 51:図形描画命令生成部
52:図形描画命令出力部 60:アプリケーション
Claims (41)
- 入力される図形描画命令について該図形描画命令に係る描画を省略できるか否かの描画省略判定を行う描画省略判定手段と、
前記図形描画命令のうち前記描画省略判定手段によって省略できると判定された部分を無効にし、それ以外の部分を有効にする選別手段とを有し、
前記描画省略判定手段は、前記図形描画命令に係る図形の描画属性によって前記描画省略判定を行う手段であることを特徴とする描画処理装置。 - 請求項1記載の描画処理装置であって、
前記図形描画命令は、描画する図形の種類を指定する基本図形描画命令と、前記描画属性を指定する描画属性命令とを含むページ記述言語で記載されていることを特徴とする描画処理装置。 - 請求項1又は2記載の描画処理装置であって、
前記描画属性は、前記図形描画命令に係る図形の色と描画演算方法の情報を含むことを特徴とする描画処理装置。 - 請求項3記載の描画処理装置であって、
前記描画省略判定手段は、前記図形描画命令に係る図形の描画属性が、該図形描画命令に係る描画を行っても描画先のメモリの内容に関わらずその描画の前後で該メモリの内容を変化させないような属性であった場合に、該図形描画命令に係る描画を省略できると判定することを特徴とする描画処理装置。 - 請求項3記載の描画処理装置であって、
前記描画省略判定手段は、前記図形描画命令に係る図形の描画属性のうち、色濃度が最低濃度であり、かつ描画演算方法がOR(論理和)である場合に該図形描画命令に係る描画を省略できると判定することを特徴とする描画処理装置。 - 請求項1乃至5のいずれか一項記載の描画処理装置であって、
既に何らかの図形描画命令を前記選別手段が有効にしたか否かを示す出力状態フラグをさらに設け、
前記描画省略判定手段は、該出力状態フラグも参照して前記描画省略判定を行うことを特徴とする描画処理装置。 - 請求項6記載の描画処理装置であって、
前記描画省略判定手段は、前記出力状態フラグがまだ図形描画命令を有効にしていない旨を示す場合は、前記図形描画命令に係る図形の描画属性が、該図形描画命令に係る描画を行っても描画先のメモリが初期状態であればその描画の前後で該メモリの内容を変化させないような属性であった場合にも、該図形描画命令に係る描画を省略できると判定することを特徴とする描画処理装置。 - 請求項6記載の描画処理装置であって、
前記描画省略判定手段は、前記出力状態フラグがまだ図形描画命令を有効にしていない旨を示す場合は、前記図形描画命令に係る図形の描画属性のうち、色濃度が最低濃度であり、かつ描画演算方法がSET(置き換え)である場合には該図形描画命令に係る描画を省略できると判定することを特徴とする描画処理装置。 - 請求項6記載の描画処理装置であって、
前記描画省略判定手段は、前記出力状態フラグがまだ図形描画命令を有効にしていない旨を示す場合は、前記図形描画命令に係る図形の描画属性のうち、色濃度が最低濃度であり、かつ描画演算方法がOR(論理和)である場合には該図形描画命令に係る描画を省略できると判定することを特徴とする描画処理装置。 - 請求項6記載の描画処理装置であって、
前記描画省略判定手段は、前記出力状態フラグがまだ図形描画命令を有効にしていない旨を示す場合は、前記図形描画命令に係る図形の描画属性のうち、色濃度が最低濃度であり、かつ描画演算方法がXOR(排他的論理和)である場合には該図形描画命令に係る描画を省略できると判定することを特徴とする描画処理装置。 - 請求項6記載の描画処理装置であって、
前記描画省略判定手段は、前記出力状態フラグがまだ図形描画命令を有効にしていない旨を示す場合は、前記図形描画命令に係る図形の描画属性のうち、描画演算方法がAND(論理積)である場合には該図形描画命令に係る描画を省略できると判定することを特徴とする描画処理装置。 - 請求項6乃至11のいずれか一項記載の描画処理装置であって、
前記出力状態フラグは、1ページ分の画像に係る図形描画命令毎に、既に何らかの図形描画命令を前記選別手段が有効にしたか否かを示すフラグであることを特徴とする描画処理装置。 - 請求項6乃至12のいずれか一項記載の描画処理装置であって、
前記出力状態フラグを、1ページ内を任意に分割した各判定領域毎に設け、
前記描画省略判定手段は、前記出力状態フラグを参照する描画省略判定については、対象の図形描画命令に係る描画領域が属する前記判定領域について、該判定領域毎に行うことを特徴とする描画処理装置。 - 請求項13記載の描画処理装置であって、
前記判定領域は、1ページ内を複数のバンドに分割して設けたことを特徴とする描画処理装置。 - 請求項1乃至14のいずれか一項記載の描画処理装置であって、
前記描画省略判定手段は、前記図形描画命令がカラーの図形に係る図形描画命令であった場合には、該カラーの各色プレーン毎に前記描画省略判定を行うことを特徴とする描画処理装置。 - 請求項1乃至15のいずれか一項記載の描画処理装置であって、
前記描画省略判定手段は、前記図形描画命令に係る図形がグラフィック図形である場合のみ前記描画省略判定を行うことを特徴とする描画処理装置。 - 請求項1乃至15のいずれか一項記載の描画処理装置であって、
前記描画省略判定手段は、前記図形描画命令に係る図形がイメージ図形である場合には、該イメージ図形中で同色の画素が連続する部分を検知し、該連続する部分毎に前記描画省略判定を行うことを特徴とする描画処理装置。 - 請求項1乃至15のいずれか一項記載の描画処理装置であって、
前記描画省略判定手段は、前記図形描画命令に係る図形がイメージ図形である場合には、該イメージ図形の描画についてワード長単位で前記描画省略判定を行うことを特徴とする描画処理装置。 - 請求項1乃至18のいずれか一項記載の描画処理装置と、
画像形成装置と接続するための接続手段と、
前記図形描画命令のうち前記選別手段が有効にした部分を前記画像形成装置に出力して該図形描画命令に基づいた画像を形成させる出力手段とを備えたことを特徴とする情報処理装置。 - 請求項1乃至18のいずれか一項記載の描画処理装置と、
ページメモリと、
前記図形描画命令のうち前記選別手段が有効にした部分のみに基づいて該ページメモリに描画を行う描画手段と、
描画終了後の前記ページメモリのデータに基づいて用紙に画像を形成する画像形成手段とを備えたことを特徴とする画像形成装置。 - 請求項20記載の画像形成装置であって、
外部装置から描画命令を受信する手段と、
該描画命令を前記ページメモリへの描画動作に適した形式の図形描画命令に変換するインタプリタと、
該インタプリタによる変換後の図形描画命令を前記描画処理装置による処理に供する手段とを備えたことを特徴とする画像形成装置。 - 入力される図形描画命令について該図形描画命令に係る描画を省略できるか否かの描画省略判定を行い、
前記図形描画命令のうち省略できると判定した部分を無効にし、それ以外の部分を有効にする描画処理方法であって、
前記描画省略判定は、前記図形描画命令に係る図形の描画属性に従って行うことを特徴とする描画処理方法。 - 請求項22記載の描画処理方法であって、
前記描画省略判定においては、前記図形描画命令に係る図形の描画属性が、該図形描画命令に係る描画を行っても描画先のメモリの内容に関わらずその描画の前後で該メモリの内容を変化させないような属性であった場合に、該図形描画命令に係る描画を省略できると判定することを特徴とする描画処理方法。 - 請求項22又は23記載の描画処理方法であって、
前記描画省略判定は、既に何らかの図形描画命令を有効にしたか否かを示す出力状態フラグも参照して行うことを特徴とする描画処理方法。 - 請求項24記載の描画処理方法であって、
前記描画省略判定においては、前記出力状態フラグがまだ図形描画命令を有効にしていない旨を示す場合には、前記図形描画命令に係る図形の描画属性が、該図形描画命令に係る描画を行っても描画先のメモリが初期状態であればその描画の前後で該メモリの内容を変化させないような属性であった場合にも、該図形描画命令に係る描画を省略できると判定することを特徴とする描画処理方法。 - 請求項24又は25記載の描画処理方法であって、
前記出力状態フラグは、1ページ分の画像に係る図形描画命令毎に、既に何らかの図形描画命令を有効にしたか否かを示すフラグであることを特徴とする描画処理方法。 - 請求項24乃至26のいずれか一項記載の描画処理方法であって、
前記出力状態フラグを、1ページ内を任意に分割した各判定領域毎に設定し、
前記出力状態フラグを参照する描画省略判定は、対象の図形描画命令に係る描画領域が属する前記判定領域について、該判定領域毎に行うことを特徴とする描画処理方法。 - 請求項27記載の描画処理方法であって、
前記判定領域は、1ページ内を複数のバンドに分割して設けたことを特徴とする描画処理方法。 - 請求項22乃至28のいずれか一項記載の描画処理方法であって、
前記図形描画命令がカラーの図形に係る図形描画命令であった場合には、前記描画省略判定を該カラーの各色プレーン毎に行うことを特徴とする描画処理方法。 - 請求項22乃至29のいずれか一項記載の描画処理方法であって、
前記図形描画命令に係る図形がイメージ図形である場合には、該イメージ図形中で同色の画素が連続する部分を検知し、該連続する部分毎に前記描画省略判定を行うことを特徴とする描画処理方法。 - 請求項22乃至29のいずれか一項記載の描画処理方法であって、
前記図形描画命令に係る図形がイメージ図形である場合には、該イメージ図形の描画についてワード長単位で前記描画省略判定を行うことを特徴とする描画処理方法。 - コンピュータを、
入力される図形描画命令について、該図形描画命令に係る描画を省略できるか否かの描画省略判定を、該図形描画命令に係る図形の描画属性によって行う描画省略判定手段と、
前記図形描画命令のうち前記描画省略判定手段によって省略できると判定された部分を無効にし、それ以外の部分を有効にする選別手段として機能させるためのプログラム。 - 請求項32記載のプログラムであって、
前記描画省略判定手段が、前記図形描画命令に係る図形の描画属性が、該図形描画命令に係る描画を行っても描画先のメモリの内容に関わらずその描画の前後で該メモリの内容を変化させないような属性であった場合に、該図形描画命令に係る描画を省略できると判定する機能を有するプログラム。 - 請求項32又は33記載のプログラムであって、
前記描画省略判定手段が、前記選別手段が既に何らかの図形描画命令を有効にしたか否かを示す出力状態フラグも参照して前記描画省略判定を行う機能を有するプログラム。 - 請求項34記載のプログラムであって、
前記描画省略判定手段が、前記出力状態フラグがまだ図形描画命令を有効にしていない旨を示す場合には、前記図形描画命令に係る図形の描画属性が、該図形描画命令に係る描画を行っても描画先のメモリが初期状態であればその描画の前後で該メモリの内容を変化させないような属性であった場合にも、該図形描画命令に係る描画を省略できると判定する機能を有するプログラム。 - 請求項34又は35記載のプログラムであって、
前記出力状態フラグが、1ページ分の画像に係る図形描画命令毎に、既に何らかの図形描画命令を前記選別手段が有効にしたか否かを示すフラグであるプログラム。 - 請求項34乃至36のいずれか一項記載の描画処理方法であって、
前記出力状態フラグは、1ページ内を任意に分割した各判定領域毎に設けたフラグであり、
前記描画省略判定手段が、前記出力状態フラグを参照する描画省略判定については、対象の図形描画命令に係る描画領域が属する前記判定領域について、該判定領域毎に行う手段であることを特徴とするプログラム。 - 請求項37記載のプログラムであって、
前記判定領域は、1ページ内を複数のバンドに分割して設けることを特徴とするプログラム。 - 請求項32乃至38のいずれか一項記載のプログラムであって、
前記描画省略判定手段が、前記図形描画命令がカラーの図形に係る図形描画命令であった場合には、前記描画省略判定を該カラーの各色プレーン毎に行う機能を有するプログラム。 - 請求項32乃至39のいずれか一項記載のプログラムであって、
前記描画省略判定手段が、前記図形描画命令に係る図形がイメージ図形である場合には、該イメージ図形中で同色の画素が連続する部分を検知し、該連続する部分毎に前記描画省略判定を行う機能を有するプログラム。 - 請求項32乃至39のいずれか一項記載のプログラムであって、
前記描画省略判定手段が、前記図形描画命令に係る図形がイメージ図形である場合には、該イメージ図形の描画についてワード長単位で前記描画省略判定を行う機能を有するプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002267967A JP2004106192A (ja) | 2002-09-13 | 2002-09-13 | 描画処理装置、情報処理装置、画像形成装置、描画処理方法およびプログラム |
EP03255723A EP1398688A3 (en) | 2002-09-13 | 2003-09-12 | Information processing apparatus, image formation apparatus, drawing processing method |
US10/661,320 US20040111665A1 (en) | 2002-09-13 | 2003-09-12 | Information processing apparatus, image formation apparatus, drawing processing method, and computer product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002267967A JP2004106192A (ja) | 2002-09-13 | 2002-09-13 | 描画処理装置、情報処理装置、画像形成装置、描画処理方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004106192A true JP2004106192A (ja) | 2004-04-08 |
Family
ID=31884805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002267967A Pending JP2004106192A (ja) | 2002-09-13 | 2002-09-13 | 描画処理装置、情報処理装置、画像形成装置、描画処理方法およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20040111665A1 (ja) |
EP (1) | EP1398688A3 (ja) |
JP (1) | JP2004106192A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007193655A (ja) * | 2006-01-20 | 2007-08-02 | Sharp Corp | 電子ドキュメントデータ処理装置、電子ドキュメントデータ処理方法およびコンピュータを電子ドキュメントデータ処理装置として機能させるためのプログラム |
JP2011000860A (ja) * | 2009-06-22 | 2011-01-06 | Ricoh Co Ltd | 画像形成装置、画像データ処理方法及び制御プログラム |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005309865A (ja) * | 2004-04-22 | 2005-11-04 | Ricoh Co Ltd | 画像処理装置および画像処理方法、並びに画像処理方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP4522314B2 (ja) * | 2005-04-27 | 2010-08-11 | キヤノン株式会社 | 情報処理装置及びそのカラー/モノクロ判定方法、並びにプログラム |
US7086792B1 (en) * | 2005-09-08 | 2006-08-08 | Xerox Corporation | Combining a set of images into a single document image file having a version key and a color plane associated therewith |
USD701880S1 (en) | 2010-12-28 | 2014-04-01 | Sony Corporation | Display panel or screen with graphical user interface |
JP2018022370A (ja) * | 2016-08-04 | 2018-02-08 | キヤノン株式会社 | アプリケーション実行装置及びその制御方法、並びにプログラム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2703914B2 (ja) * | 1988-01-19 | 1998-01-26 | キヤノン株式会社 | 文書画像処理装置 |
US5926185A (en) * | 1996-05-03 | 1999-07-20 | Barco Graphics N.V. | Method for processing a set of page description language commands to reduce complexity |
US6100998A (en) * | 1996-11-29 | 2000-08-08 | Fuji Xerox Co., Ltd. | Print processor with efficient memory use |
JP3825883B2 (ja) * | 1997-06-16 | 2006-09-27 | キヤノン株式会社 | 情報処理装置、情報処理方法、記憶媒体、及び、印刷システム |
JP4227236B2 (ja) * | 1998-02-18 | 2009-02-18 | キヤノン株式会社 | 画像処理装置、画像処理方法及び記憶媒体 |
JP3008943B1 (ja) * | 1998-08-18 | 2000-02-14 | 富士ゼロックス株式会社 | 画像処理装置および画像処理方法 |
JP3649606B2 (ja) * | 1998-11-26 | 2005-05-18 | セイコーエプソン株式会社 | 画像処理方法及びその画像処理装置 |
US6870547B1 (en) * | 1999-12-16 | 2005-03-22 | Eastman Kodak Company | Method and apparatus for rendering a low-resolution thumbnail image suitable for a low resolution display having a reference back to an original digital negative and an edit list of operations |
JP3741965B2 (ja) * | 2001-03-19 | 2006-02-01 | 株式会社ナムコ | 画像処理装置、画像処理用プログラム、およびそのプログラムを記録した記録媒体 |
US7068271B2 (en) * | 2001-09-05 | 2006-06-27 | Autodesk, Inc. | Assembly patterns by feature association |
-
2002
- 2002-09-13 JP JP2002267967A patent/JP2004106192A/ja active Pending
-
2003
- 2003-09-12 EP EP03255723A patent/EP1398688A3/en not_active Ceased
- 2003-09-12 US US10/661,320 patent/US20040111665A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007193655A (ja) * | 2006-01-20 | 2007-08-02 | Sharp Corp | 電子ドキュメントデータ処理装置、電子ドキュメントデータ処理方法およびコンピュータを電子ドキュメントデータ処理装置として機能させるためのプログラム |
JP2011000860A (ja) * | 2009-06-22 | 2011-01-06 | Ricoh Co Ltd | 画像形成装置、画像データ処理方法及び制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
EP1398688A3 (en) | 2008-05-07 |
EP1398688A2 (en) | 2004-03-17 |
US20040111665A1 (en) | 2004-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4396670B2 (ja) | 画像形成装置、画像形成方法及びプログラム | |
JP4135195B2 (ja) | 印刷処理システム及び印刷処理方法並びに印刷処理制御プログラムが記録されたコンピュータ読み取り可能な記録媒体 | |
JP4250470B2 (ja) | 情報処理装置及び情報処理方法及び印刷制御プログラム | |
JP2001094784A (ja) | 画像処理方法、装置および記録媒体 | |
JP2004106192A (ja) | 描画処理装置、情報処理装置、画像形成装置、描画処理方法およびプログラム | |
JP4471386B2 (ja) | 画像処理装置および地紋付き画像の生成方法 | |
JPH1166327A (ja) | 画像処理方法および画像処理装置および記録媒体 | |
JP4709317B2 (ja) | 情報処理装置及び情報処理方法及び印刷制御プログラム | |
JP4461361B2 (ja) | 描画処理方法およびプログラム並びに描画命令出力装置および画像形成装置 | |
JP4109785B2 (ja) | 画像処理装置及びその方法、コンピュータ可読メモリ | |
JP3823846B2 (ja) | スプールファイル加工装置、プログラム及び記録媒体 | |
JP2004157904A (ja) | 印刷装置制御プログラムおよび印刷装置 | |
US7359089B2 (en) | Image processing method and apparatus | |
JP2003051929A (ja) | 画像処理方法及び装置 | |
JP2004334533A (ja) | 画像処理装置および画像処理方法 | |
JP3825883B2 (ja) | 情報処理装置、情報処理方法、記憶媒体、及び、印刷システム | |
JP2006019931A (ja) | 画像処理装置及び画像処理方法、並びにコンピュータプログラム及び記憶媒体 | |
JP3864520B2 (ja) | 印刷処理装置及び印刷処理方法 | |
JP4467715B2 (ja) | 画像出力制御装置及び方法 | |
JP2005038084A (ja) | 描画データの変換方法及び変換装置 | |
JP2006140597A (ja) | 印刷制御装置、印刷制御方法、コンピュータプログラム及び記憶媒体 | |
JP2004358722A (ja) | 画像処理装置、描画データ処理方法及び該方法を実行するためのプログラム | |
JP3651214B2 (ja) | 印刷処理装置及び印刷処理方法 | |
JPH10150560A (ja) | 画像処理装置 | |
JPH1063250A (ja) | 文字処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050301 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090224 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090623 |