JP2005011177A - Image processor, image processing method and image processing program - Google Patents

Image processor, image processing method and image processing program Download PDF

Info

Publication number
JP2005011177A
JP2005011177A JP2003176265A JP2003176265A JP2005011177A JP 2005011177 A JP2005011177 A JP 2005011177A JP 2003176265 A JP2003176265 A JP 2003176265A JP 2003176265 A JP2003176265 A JP 2003176265A JP 2005011177 A JP2005011177 A JP 2005011177A
Authority
JP
Japan
Prior art keywords
image
image data
output
processing
cycle
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
Application number
JP2003176265A
Other languages
Japanese (ja)
Inventor
Kenichi Ishida
健一 石田
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2003176265A priority Critical patent/JP2005011177A/en
Publication of JP2005011177A publication Critical patent/JP2005011177A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To reduce processing time until output of the whole images is completed, to the utmost, while reducing time until the image is first outputted after an output start of the image. <P>SOLUTION: This image processor has: a drawing processing means 23 sequentially processing a plurality of drawing instructions to draw the image; an image data storage means 24 storing image data that are a drawing result, and dealing with periodic output of the image data to an image output device; and a drawing instruction number decision means 25 calculating time believed to be required for a process in the drawing processing means 23 in each the drawing instruction, and determining the number of the drawing instructions processed by the drawing processing means 23 during one cycle of the image data output to the image output device from the image data storage means 24 on the basis of a calculation result thereof. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、ホスト装置等から出力される描画命令を受け取ると、これを解釈して描画処理を行い、その描画結果をディスプレイやプリンタ等の画像出力装置へ出力する画像処理装置、画像処理方法および画像処理プログラムに関するものである。
【0002】
【従来の技術】
近年、コンピュータ上で電子的に作成した画像をディスプレイ等から出力することや、その画像を通信ネットワークを通じて授受すること等が、広く一般的に行われている。ただし、特に通信ネットワークを経由した画像の転送処理を行う場合には、その転送処理に要する時間が問題となる。すなわち、転送処理に時間を要してしまう分だけ、その転送先での画像出力が待たされてしまうことになる。このことから、従来、通信ネットワークを介して画像出力を行う場合には、例えば図7に示すように、処理対象となる画像を細かくブロック化して処理し、各ブロック単位で順次画像出力を行うことで、最初に画像出力されるまでの時間を短縮化することが提案されている(例えば、特許文献1参照)。
【0003】
【特許文献1】
特開2002−290718号公報
【0004】
【発明が解決しようとする課題】
ところが、各ブロック単位で順次画像出力を行う場合には、最初に画像出力されるまでの時間は短縮されるが、処理対象となる画像についてブロック単位で描画処理(描画命令の解釈や出力可能なデータ形式への変換等)を行う都度(図7中におけるA〜K参照)、その描画された部分についての画像出力(表示出力やプロッタ出力等)を行うことになるので(図7中におけるa〜k参照)、その画像出力の度に描画処理が中断してしまい、却って画像全体の出力が完了するまでの処理時間が延びてしまう可能性がある。
【0005】
この点については、ブロック単位での各描画処理の度に画像出力を行うのではなく、例えば図8に示すように、幾つかのブロックについて描画処理を纏めて行った後に画像出力を行うことも考えられる。すなわち、周期的なタイミングで画像出力を行うとともに、ブロック単位での描画処理が終了する度に画像出力のタイミングであるか否かを判定して、画像出力タイミングであれば画像出力を行い、画像出力タイミングでなければ次のブロックについて描画処理を継続することで、画像全体の出力完了までの処理時間を短縮化するというものである。しかしながら、幾つかのブロックについての描画処理を纏めて行う場合には、各ブロックの描画処理に要する時間が必ずしも一律ではなく、例えばテキスト(文字)についてのブロックとイメージ(自然画)についてのブロックとでは描画処理時間が異なるため、ブロック単位での描画処理が終了する度に画像出力タイミングであるか否かの判定が必要となってしまう。つまり、画像出力タイミングの一周期の間に、何度も画像出力タイミングであるか否かを判定する無駄な処理を行うことになる。したがって、その無駄な処理の分だけ、画像全体の出力が完了するまでの処理時間が延びてしまうことになる。
【0006】
そこで、本発明は、最初に画像出力されるまでの時間を短縮しつつ、画像全体の出力が完了するまでの処理時間をも極力短縮することのできる画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明は、上記目的を達成するために案出された画像処理装置で、複数の描画命令を順次処理して画像の描画を行う描画処理手段と、前記描画処理手段による描画結果である画像データを格納するとともに、当該画像データの周期的な画像出力装置への出力に対応する画像データ格納手段と、前記描画命令毎に前記描画処理手段での処理に要するであろう時間を算出し、その算出結果に基づいて前記画像データ格納手段から前記画像出力装置への画像データ出力の一周期の間に前記描画処理手段が処理する描画命令の数を決定する描画命令数判定手段とを備えることを特徴とするものである。
【0008】
また、本発明は、上記目的を達成するために案出された画像処理方法で、複数の描画命令を順次処理して画像の描画を行い、その描画結果である画像データを記憶装置内に格納する描画ステップと、前記記憶装置内に格納された画像データを周期的に画像出力装置へ出力する出力ステップと、前記描画ステップに先立ち、前記描画命令毎に当該描画命令による画像の描画に要するであろう時間を算出し、その算出結果に基づいて前記記憶装置から前記画像出力装置への画像データ出力の一周期の間に当該描画ステップにて処理する描画命令の数を決定する命令数判定ステップとを含むことを特徴とする方法である。
【0009】
また、本発明は、上記目的を達成するために案出された画像処理プログラムで、コンピュータを、複数の描画命令を順次処理して画像の描画を行う描画処理手段と、前記描画処理手段による描画結果である画像データを格納するとともに、当該画像データの周期的な画像出力装置への出力に対応する画像データ格納手段と、前記描画命令毎に前記描画処理手段での処理に要するであろう時間を算出し、その算出結果に基づいて前記画像データ格納手段から前記画像出力装置への画像データ出力の一周期の間に前記描画処理手段が処理する描画命令の数を決定する描画命令数判定手段として機能させることを特徴とするものである。
【0010】
上記構成の画像処理装置および画像処理プログラム並びに上記手順による画像処理方法によれば、処理すべき描画命令毎にその処理に要するであろう時間を算出し、その算出結果に基づいて画像出力装置への画像データ出力の一周期の間に処理する描画命令の数を決定するので、その一周期の間に処理する描画命令の数の最適化が図れることになる。したがって、画像データ出力の一周期の間に幾つかの描画命令を纏めて処理する場合であっても、各描画命令を処理する度に画像出力装置への画像データ出力タイミングとなったか否かの判定を行う必要がなく、その分だけ画像全体の出力が完了するまでの処理時間が短縮される。また、画像データの周期的な画像出力装置への出力に対応しているので、処理すべき複数の描画命令の全てについての処理が終了するまで画像出力が待たされてしまうこともない。
【0011】
【発明の実施の形態】
以下、図面に基づき本発明に係る画像処理装置、画像処理方法および画像処理プログラムについて説明する。
【0012】
〔第1の実施の形態〕
はじめに、本発明の第1の実施の形態について説明する。図1は本発明に係る画像処理装置の機能構成の一例を示すブロック図であり、図2はその機能構成を実現するための具体的な構成例を示すブロック図である。
【0013】
先ず、図2を参照しながら、本発明の第1の実施の形態における画像処理装置の概略構成について説明する。ここで説明する画像処理装置は、少なくともCPU(Central Processing Unit)、ROM(Read Only Memory)およびRAM(Random Access Memory)を備えるコンピュータ1上において実現されるものである。コンピュータ1には、キーボードやマウス等の入力装置2と、CRT(Cathode Ray Tube)や液晶パネル等の表示装置3と、ハードディスク装置や光ディスク装置等の外部記憶装置4とが接続されているものとする。
【0014】
また、コンピュータ1は、入力装置2、表示装置3および外部記憶装置4と接続するための入出力ハードウエア11と、コンピュータ1の全体を総合的に管理するためのオペレーティングシステム12と、電子的に画像を生成するための文書作成ソフトや画像処理ソフト等のアプリケーションプログラム13と、そのアプリケーションプログラム13が発行する描画命令に従いつつ画像の描画処理を行うレンダリングプログラム14と、そのレンダリングプログラム14による描画結果である画像データを格納するためのページメモリ15と、を備えている。ここで、アプリケーションプログラム13が発行する描画命令とは、そのアプリケーションプログラム13を用いて生成された画像を特定するための命令で、具体的には例えば画像描画用プログラミング言語で記述された制御コマンドがこれに該当する。また、その描画命令についての描画結果である画像データは、表示装置3において表示出力可能な形式のデータで、具体的には例えばビットマップデータがこれに該当する。
【0015】
さらに、コンピュータ1では、アプリケーションプログラム13またはレンダリングプログラム14を実行することにより、図1に示すように、描画命令解析部21と、描画命令変換部22と、描画処理部23と、画像データ格納部24と、描画命令数判定部25としての機能を実現する。
【0016】
描画命令解析部21は、アプリケーションプログラム13が発行する描画命令を解析し、その描画命令から描画処理に必要のない情報等を読み飛ばし、表示装置3での画像の表示出力に必要な描画命令を抽出するものである。
【0017】
描画命令変換部22は、描画命令解析部21で抽出された描画命令を、描画処理部23が解釈可能な形式の描画命令に変換するものである。さらには、その描画命令から、後述する描画命令数の判定基準となる描画命令の種類や複雑さに関する情報を蓄積しているものである。
【0018】
描画処理部23は、描画命令変換部22で変換された後の描画命令を順次処理して画像の描画を行うものである。
【0019】
画像データ格納部24は、描画処理部23での描画結果である画像データをページメモリ15に格納させるものである。また、画像データ格納部24では、ページメモリ15が格納している画像データについて、これを周期的に表示装置3へ出力することにも対応し得るようになっている。なお、画像データの出力周期は、一定間隔毎となるように設定されているものとする。
【0020】
描画命令数判定部25は、描画命令変換部22が蓄積している情報と、画像データ格納部24が対応する画像データの出力周期と、コンピュータ1のハードウエア性能とから、描画命令毎に描画処理部23での処理に要するであろう時間を算出し、その算出結果に基づいて画像データ格納部24から表示装置3への画像データ出力の一周期の間に描画処理部23が処理する描画命令の数を決定し、その決定結果を描画処理部23に対して指示するものである。さらには、過去における描画命令についての処理結果から、描画命令の数の決定結果に対する補正を行うものでもある。すなわち、描画命令数判定部25では、ある一周期について決定した数の描画命令を描画処理部23が処理するのに要した時間に応じて、そのある一周期の次の一周期について決定する描画命令の数を補正するようになっている。
【0021】
なお、これらの各部21〜25を実現するアプリケーションプログラム13またはレンダリングプログラム14は、予めコンピュータ1内にインストールしておくことが考えられるが、コンピュータ読み取り可能な記憶媒体に格納されて提供されるものをコンピュータ1が読み出しても、あるいは有線若しくは無線による通信手段を介してコンピュータ1に配信されるものであってもよい。つまり、ここで説明した各部21〜25の機能は、コンピュータを同様に機能させる画像処理プログラムによっても実現することが可能である。ここでいうコンピュータは、図2に示したコンピュータ1のみならず、プログラムを実行する電子計算機を広く含む。
【0022】
次に、以上のような構成のコンピュータ1において、アプリケーションプログラム13で生成した画像を表示装置3にて表示出力する場合の処理動作例、すなわち本発明の第1の実施の形態における画像処理方法の手順について説明する。図3は、本発明に係る画像処理方法の手順の一例を示すフローチャートである。
【0023】
コンピュータ1では、表示出力すべき画像のページ全体の処理時間を短縮するために、複数の処理を同時に実行させることが可能な、いわゆるマルチスレッド動作を行う。すなわち、図3に示すように、ページメモリ15内の画像データを表示装置3へ出力する「画像出力スレッド処理」と、そのページメモリ15内に画像データを書き込む「描画スレッド処理」とを、それぞれ同時並行的に行う。
【0024】
画像出力スレッド処理では、画像全体の描画処理が終了するまで画像出力が待たされることの無いように、周期的なタイミングで画像出力を行う。すなわち、画像データ格納部24は、例えばコンピュータ1におけるタイマ機能を利用して、ページメモリ15内の画像データについての画像出力タイミングを監視しており(ステップ101、以下ステップを「S」と略す)、画像出力タイミングを迎えると、その時点でページメモリ15内に格納されている画像データを読み出して、これを入出力ハードウエア11を介して表示装置3へ出力する(S102)。これにより、表示装置3からは、その時点でページメモリ15内に描画されている画像が表示出力されることになる。そして、画像出力スレッド処理では、これらの処理が、画像全体の描画処理が終了するまで(S103)、すなわち画像出力スレッド処理が終了するまで繰り返して行われる。
【0025】
このときの画像出力タイミングの周期は、その一周期の時間が一律(例えば、1秒間隔)となるように設定されているものとする。この一周期の時間は、アプリケーションプログラム13またはレンダリングプログラム14に固有のものであってもよいが、コンピュータ1の利用者が入力装置2から任意に設定し得るものであってもよい。つまり、ページメモリ15内から表示装置3への画像出力タイミングの周期を設定するための設定手段としての機能を設けることも考えられ、その場合には利用者の所望するタイミングで画像の表示出力が行われるようになるので、利用者にとっての利便性が高いものとなる。
【0026】
一方、描画スレッド処理では、画像出力スレッド処理で出力される画像データのページメモリ15内への書き込みを行う。ただし、画像出力スレッド処理と描画スレッド処理とでは、ページメモリ15内の同じアドレスに対してアクセスを行うことになり、同時のメモリアクセスタイミングでは処理を行わせることはできない。したがって、描画スレッド処理では、画像出力スレッド処理でのページメモリ15へのアクセスとの干渉を避けつつ、効率的な処理の実現を図るべく、以下に述べるような手順で画像描画を行う。
【0027】
描画スレッド処理の開始にあたっては、その時点で既にコンピュータ1のRAM等における所定領域内に、処理対象となる一連の描画命令、すなわち表示出力すべき画像のページ全体の描画に必要となる複数の描画命令が保持されているものとする。そして、処理の開始後は、先ず、描画命令数判定部25が、描画オブジェクト数の初期設定を行う(S201)。描画オブジェクトとは、描画処理部23が描画命令を処理した結果ページメモリ15内に描画されるオブジェクト(テキスト、グラフィックス、イメージ等)のことであり、描画オブジェクト数とは、画像出力スレッド処理における画像出力タイミングの一周期の間に描画するオブジェクトの数のことである。したがって、描画オブジェクト数は、画像データ出力の一周期の間に描画処理部23が処理する描画命令の数と一致する。
【0028】
描画オブジェクト数の初期設定は、描画命令変換部22が蓄積している情報と、画像データ出力の一周期の時間と、コンピュータ1のハードウエア性能とから、描画命令毎に描画処理部23での処理に要するであろう時間を算出し、画像データ出力の一周期の間に幾つの描画オブジェクトが描画できるかを判定することによって行えばよい。
【0029】
ここで、この描画オブジェクト数の設定の基となる、描画命令変換部22が蓄積している情報について説明する。図4は、蓄積情報の一具体例を示す説明図である。図例のように、描画命令変換部22には、描画命令の種類や複雑さに関する情報が予め登録されており、それがテーブル形式で蓄積されている。ここでいう描画命令の種類や複雑さに関する情報には、その描画命令によって描画すべき描画オブジェクト(種類)と、その描画オブジェクトについての描画条件(複雑さ)の他に、その描画オブジェクトの描画に要するであろう予想処理時間に関する情報も含むものとする。このように、描画命令変換部22には、予め想定される何種類かの描画オブジェクトについての情報が、モデルパターン情報として登録・蓄積されている。
【0030】
このような描画命令変換部22による蓄積情報に基づいて描画オブジェクト数の初期設定を行った後は、その描画命令数判定部25によって決定された描画オブジェクト数の分だけ、描画命令解析部21がRAM等における所定領域内から順次描画命令を読み出し(S202)、描画命令変換部22がその描画命令についての形式変換を行い(S203)、その後に描画処理部23が順次描画命令を処理して、その描画結果である描画オブジェクトを画像データ格納部24がページメモリ15内に格納させる(S204)。そして、画像データ格納部24は、描画命令数判定部25によって決定された数の描画オブジェクトをページメモリ15内に格納させると、画像出力タイミングの待ち状態となる(S205)。ここで、画像出力タイミングを迎えると、画像出力スレッド処理において、その時点でページメモリ15内に格納されている画像データが読み出され、表示装置3へ出力されることになる(S102)。
【0031】
その後は、次の描画命令があるか否か、すなわちRAM等における所定領域内に未処理の描画命令があるか否かを判断し(S206)、次の描画命令があれば、描画命令数判定部25が、画像データ出力の次の一周期の間に処理する描画オブジェクト数の設定を行う(S207)。このときの設定、すなわち次の描画オブジェクト数の設定も、原則として、既に説明した初期設定の場合と同様にして行えばよい。
【0032】
ただし、描画処理部23が描画命令を処理して描画オブジェクトを描画するのに要する時間は、マルチスレッド動作下においては他のスレッド処理の動作状況等の影響によって、必ずしも算出予想した処理時間と一致するとは限らない。そこで、描画命令数判定部25では、次の描画オブジェクト数の設定にあたり、前回の描画終了から画像出力タイミングまでの待ち状態の時間を計時し、その時間が次の描画オブジェクト数の設定に反映されるように、その描画オブジェクト数に対する補正を行う。具体的には、例えば画像出力タイミングまでの待機時間を、画像データ出力の一周期の時間に加え、そのトータル時間と算出予想した処理時間とを比較し、そのトータル時間内に幾つの描画オブジェクトが描画できるかを判定することによって行うことが考えられる。
【0033】
そして、次の描画オブジェクト数を設定した後は、再び上述した各ステップを繰り返して行い(S202〜S207)、これを次の描画命令が無くなるまで継続して行う。
【0034】
図5は、以上のような手順で処理される画像出力スレッド処理および描画スレッド処理の概要を模式的に示す説明図である。図例のように、本実施形態では、処理すべき描画命令毎にその処理に要するであろう時間を算出し、その算出結果に基づいて画像データ出力の一周期の間に処理する描画命令の数を決定するので、その一周期の間に処理する描画命令の数の最適化が図れることになる。したがって、従来(図7,8参照)と比較しても明らかなように、各描画命令を処理する度に画像データ出力タイミングとなったか否かの判定を行う必要がなく、その分だけ画像全体の出力が完了するまでの処理時間が短縮される。さらには、周期的な画像データ出力に対応しているので、描画開始後一定時間で画像表示を開始することができるので、最初に画像出力されるまでの時間を短縮化することが可能となり、利用者による描画結果の確認や出力中断といった作業が速やかに行えるようになる。
【0035】
また、本実施形態では、ある一周期について決定した数の描画命令を実際に処理するのに要した時間に応じて、その次の一周期について決定する描画命令の数を補正するので、例えばバックグラウンドで動作しているスレッド処理の影響等によりコンピュータ1での処理性能が変動した場合であっても、常に画像データ出力の一周期の間に処理する描画命令の数の最適化が図れるようになる。具体的には、例えば図5に示したように、処理の開始時にA〜Dの4つの描画命令の処理を行ったところ、次の画像データ出力までに実際は7つの描画命令の処理が可能だったことが分かると、次回の描画は同じ処理時間を要するE〜Kの描画命令であるため、7つの描画命令を行うように描画処理数を変更する、といったことが可能となる。
【0036】
なお、ここでは、前回の一周期において待機時間が発生した場合を例に挙げたが、他のスレッド処理の動作状況等の影響によっては、その逆の状態が発生することも考えられる。つまり、決定した数の描画命令についての処理が画像データ出力の一周期の間に終了しないこともあり得る。このような事態は、そのタイミングでの画像データ出力が行えないことになるので好ましくない。このことから、かかる事態の発生を回避すべく、描画命令の数の最適化にあたっては、実際の処理時間が一周期を超えないようにするための安全率を加味した上限値を定めておくことが望ましい。
【0037】
また、本実施形態では、表示装置3への画像データ出力を周期的に行う場合のみを例に挙げて説明したが、その画像データ出力を周期的に行うか、あるいは描画処理部23が処理すべき全描画命令(例えば、画像のページ全体の描画に必要となる複数の描画命令)についての処理が終了した後に一括して行うかを、コンピュータ1の利用者が入力装置2から任意に選択し得るようにすることも考えられる。この場合に、入力装置2からの選択は、描画スレッド処理の開始に先立って行うようにしても、あるいは描画スレッド処理の開始後に行うようにしてもよく、例えば描画スレッド処理の開始後に行えば、利用者が描画処理の途中で周期的な画像出力が必要ないと判断した場合に途中で一括描画に切り替え、その後におけるページ全体の処理時間の短縮化を図る、といったことも可能となる。
【0038】
また、本実施形態では、本発明に係る画像処理装置がコンピュータ1上において実現される場合を例に挙げたが、描画命令を解釈して画像の描画処理を行って表示出力することに対応するものであれば、例えば携帯電話機のような他の電子機器であっても同様に適用することが可能である。
【0039】
〔第2の実施の形態〕
次に、本発明の第2の実施の形態について説明する。ただし、ここでは、上述した第1の実施の形態との相違点についてのみ説明する。図6は、本発明の第2の実施の形態における画像処理装置の具体的な構成例を示すブロック図である。ここで説明する画像処理装置は、少なくともCPU、ROMおよびRAMを備えてなるプリンタ5上において実現されるものである。
【0040】
プリンタ5は、ホストコンピュータ1′から描画命令を受け取ると、その描画命令に応じた描画処理を行って、その描画結果を記録用紙上に印刷出力するものである。そのために、プリンタ5は、ホストコンピュータ1′からの描画命令を受け取るための制御ハードウエア51と、その制御ハードウエア51が受け取った描画命令に従いつつ画像の描画処理を行うレンダリングプログラム52と、そのレンダリングプログラム52による描画結果である画像データを格納するためのバッファメモリ53と、その画像データを可視画像化して記録用紙上に印刷出力するプリンタエンジン54と、を備えている。
【0041】
このうち、プリンタエンジン54は、通常のページプリンタの場合とは異なり、周期的な印刷出力に対応しているものとする。このようなプリンタエンジン54を備えたプリンタ5としては、例えば、バッファメモリ53内の画像データを複数回に分けて出力することが可能な、ペンプロッタやインクジェット形式のプリンタ等が挙げられる。また、レーザープリンタのような形式のものであっても、レーザー照射を複数回に分けて行うことで、周期的な印刷出力に対応可能である。
【0042】
一方、ホストコンピュータ1′は、第1の実施の形態におけるコンピュータ1と略同様の構成であるが、レンダリングプログラム14およびページメモリ15に代わって、プリンタ5に対する動作指示を与えるためプリンタドライバ16を備えている点と、入出力ハードウエア11にプリンタ5の制御ハードウエア51が接続されている点とで、第1の実施の形態の場合とは異なる。
【0043】
なお、ホストコンピュータ1′は、第1の実施の形態で説明した描画命令解析部21、描画命令変換部22、描画処理部23、画像データ格納部24および描画命令数判定部25としての機能を備えたものでなくても構わない。これら描画命令解析部21、描画命令変換部22、描画処理部23、画像データ格納部24および描画命令数判定部25としての機能は、プリンタ5における制御ハードウエア51またはレンダリングプログラム14により、そのプリンタ5上で実現されるものとする。
【0044】
以上のような構成のプリンタ5においても、上述した第1の実施の形態におけるコンピュータ1と同様の処理動作を行う。すなわち、印刷処理すべき描画命令毎にその印刷処理に要するであろう時間を算出し、その算出結果に基づいてプリンタエンジン54での印刷出力の一周期の間に処理する描画命令の数を決定する。さらには、ある一周期について決定した数の描画命令を実際に印刷処理するのに要した時間に応じて、その次の一周期について決定する描画命令の数を補正する。
【0045】
したがって、本実施形態においても、第1の実施の形態における場合と同様に、画像の印刷出力の一周期の間に幾つかの描画命令を纏めて処理する場合であっても、また例えばプリンタ5での処理性能が変動した場合であっても、画像の印刷出力の一周期の間に処理する描画命令の数の最適化が図れ、最初に画像が印刷出力されるまでの時間を短縮しつつ、画像全体の印刷出力が完了するまでの処理時間をも極力短縮することができる。
【0046】
なお、本実施形態では、本発明に係る画像処理装置がプリンタ5上において実現される場合を例に挙げたが、例えばプリンタ5に対する動作指示を与えるホストコンピュータ1′のプリンタドライバ16上で実現することも考えられる。
【0047】
【発明の効果】
以上に説明したように、本発明に係る画像処理装置、画像処理方法および画像処理プログラムによれば、処理すべき描画命令毎にその処理に要するであろう時間を算出し、その算出結果に基づいて画像出力装置への画像データ出力の一周期の間に処理する描画命令の数を決定するので、画像データ出力の一周期の間に幾つかの描画命令を纏めて処理する場合であっても、その一周期の間に処理する描画命令の数の最適化が図れるようになる。つまり、各描画命令を処理する度に画像出力装置への画像データ出力タイミングとなったか否かの判定を行う必要がなく、その分だけ画像全体の出力が完了するまでの処理時間が短縮され、また画像データの周期的な画像出力装置への出力に対応しているので、処理すべき複数の描画命令の全てについての処理が終了するまで画像出力が待たされてしまうこともない。したがって、最初に画像出力されるまでの時間を短縮しつつ、画像全体の出力が完了するまでの処理時間をも極力短縮することが実現可能となる。
【図面の簡単な説明】
【図1】本発明に係る画像処理装置の機能構成の一例を示すブロック図である。
【図2】本発明の第1の実施の形態における画像処理装置の具体的な構成例を示すブロック図である。
【図3】本発明に係る画像処理方法の手順の一例を示すフローチャートである。
【図4】本発明に係る画像処理装置における蓄積情報の一具体例を示す説明図である。
【図5】本発明に係る画像処理方法の手順で処理される画像出力スレッド処理および描画スレッド処理の概要を模式的に示す説明図である。
【図6】本発明の第2の実施の形態における画像処理装置の具体的な構成例を示すブロック図である。
【図7】従来における周期的な画像データ出力の概要を模式的に示す説明図である。
【図8】周期的な画像データ出力の変形例の概要を模式的に示す説明図である。
【符号の説明】
1…コンピュータ、1′…ホストコンピュータ、2…入力装置2、3…表示装置、4…外部記憶装置、5…プリンタ、11…入出力ハードウエア、12…オペレーティングシステム、13…アプリケーションプログラム、14…レンダリングプログラム、15…ページメモリ、21…描画命令解析部、22…描画命令変換部、23…描画処理部、24…画像データ格納部、25…描画命令数判定部、51…制御ハードウエア、52…レンダリングプログラム、53…バッファメモリ、54…プリンタエンジン
[0001]
BACKGROUND OF THE INVENTION
Upon receiving a drawing command output from a host device or the like, the present invention interprets the drawing command, performs drawing processing, and outputs the drawing result to an image output device such as a display or a printer. The present invention relates to an image processing program.
[0002]
[Prior art]
In recent years, it has been widely and commonly performed to output an electronically created image on a computer from a display or the like, and to exchange the image through a communication network. However, particularly when performing image transfer processing via a communication network, the time required for the transfer processing becomes a problem. That is, the image output at the transfer destination is kept waiting for the time required for the transfer process. For this reason, conventionally, when outputting an image via a communication network, for example, as shown in FIG. 7, the image to be processed is processed into fine blocks, and the image is output sequentially in units of blocks. Therefore, it has been proposed to shorten the time until the first image output (see, for example, Patent Document 1).
[0003]
[Patent Document 1]
Japanese Patent Laid-Open No. 2002-290718
[0004]
[Problems to be solved by the invention]
However, in the case of sequentially outputting images in units of blocks, the time until the first image is output is shortened, but drawing processing (interpretation and output of drawing commands is possible in units of blocks for the image to be processed). Each time conversion to a data format is performed (see A to K in FIG. 7), an image output (display output, plotter output, etc.) of the drawn portion is performed (a in FIG. 7). ), The drawing process is interrupted each time the image is output, and the processing time until the output of the entire image is completed may be increased.
[0005]
With respect to this point, instead of outputting an image for each drawing process in units of blocks, for example, as shown in FIG. Conceivable. In other words, image output is performed at a periodic timing, and it is determined whether or not it is the image output timing every time the rendering process in units of blocks is completed. If the output timing is not reached, the drawing process is continued for the next block, thereby shortening the processing time until the output of the entire image is completed. However, when drawing processing for several blocks is performed collectively, the time required for drawing processing of each block is not necessarily uniform. For example, a block for text (character) and a block for image (natural image) However, since the drawing processing time is different, it is necessary to determine whether or not it is the image output timing every time the drawing processing for each block is completed. That is, useless processing for determining whether or not the image output timing is repeated many times during one cycle of the image output timing. Therefore, the processing time until the output of the entire image is increased by the wasteful processing.
[0006]
Accordingly, the present invention provides an image processing apparatus, an image processing method, and an image processing program capable of reducing the processing time until the output of the entire image is completed as much as possible while reducing the time until the first image is output. The purpose is to provide.
[0007]
[Means for Solving the Problems]
The present invention provides an image processing apparatus devised to achieve the above object, a rendering processing means for rendering an image by sequentially processing a plurality of rendering commands, and image data as a rendering result by the rendering processing means. The image data storage means corresponding to the periodic output of the image data to the image output device, and the time required for processing in the drawing processing means for each drawing command, A drawing command number determining unit that determines the number of drawing commands processed by the drawing processing unit during one cycle of image data output from the image data storage unit to the image output device based on a calculation result. It is a feature.
[0008]
In addition, the present invention is an image processing method devised to achieve the above object, and sequentially draws an image by processing a plurality of drawing commands, and stores the image data as the drawing result in a storage device. A drawing step, an output step of periodically outputting image data stored in the storage device to the image output device, and drawing of an image by the drawing command for each drawing command prior to the drawing step. A command number determination step for calculating a possible time and determining the number of drawing commands to be processed in the drawing step during one cycle of image data output from the storage device to the image output device based on the calculation result The method characterized by including.
[0009]
According to another aspect of the present invention, there is provided an image processing program devised to achieve the above object, wherein a computer performs drawing processing by sequentially processing a plurality of drawing commands, and drawing by the drawing processing unit. Image data storage means corresponding to the output of the image data as a result to the periodic output to the image output device, and the time required for processing by the drawing processing means for each drawing command And a drawing command number determination unit that determines the number of drawing commands processed by the drawing processing unit during one cycle of image data output from the image data storage unit to the image output device based on the calculation result It is made to function as.
[0010]
According to the image processing apparatus, the image processing program, and the image processing method according to the procedure described above, the time required for the processing is calculated for each drawing command to be processed, and the image output apparatus is based on the calculation result. Since the number of drawing commands to be processed during one cycle of image data output is determined, the number of drawing commands to be processed during that cycle can be optimized. Therefore, even if several drawing commands are processed together during one cycle of image data output, whether or not the timing of outputting image data to the image output device is reached each time each drawing command is processed. There is no need to make a determination, and the processing time until the output of the entire image is completed correspondingly. In addition, since the image data is periodically output to the image output apparatus, the image output is not waited until the processing for all the drawing commands to be processed is completed.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an image processing apparatus, an image processing method, and an image processing program according to the present invention will be described with reference to the drawings.
[0012]
[First Embodiment]
First, a first embodiment of the present invention will be described. FIG. 1 is a block diagram illustrating an example of a functional configuration of an image processing apparatus according to the present invention, and FIG. 2 is a block diagram illustrating a specific configuration example for realizing the functional configuration.
[0013]
First, the schematic configuration of the image processing apparatus according to the first embodiment of the present invention will be described with reference to FIG. The image processing apparatus described here is realized on a computer 1 including at least a CPU (Central Processing Unit), a ROM (Read Only Memory), and a RAM (Random Access Memory). An input device 2 such as a keyboard and a mouse, a display device 3 such as a CRT (Cathode Ray Tube) and a liquid crystal panel, and an external storage device 4 such as a hard disk device and an optical disk device are connected to the computer 1. To do.
[0014]
The computer 1 includes an input / output hardware 11 for connecting to the input device 2, the display device 3, and the external storage device 4, an operating system 12 for comprehensively managing the entire computer 1, and electronically. An application program 13 such as document creation software or image processing software for generating an image, a rendering program 14 that performs image rendering processing in accordance with a rendering command issued by the application program 13, and a rendering result by the rendering program 14 A page memory 15 for storing certain image data. Here, the drawing command issued by the application program 13 is a command for specifying an image generated using the application program 13, and specifically, for example, a control command described in a programming language for image drawing is used. This is the case. In addition, the image data that is the drawing result for the drawing command is data in a format that can be displayed and output on the display device 3, and specifically, for example, bitmap data.
[0015]
Further, in the computer 1, by executing the application program 13 or the rendering program 14, as shown in FIG. 1, a drawing command analysis unit 21, a drawing command conversion unit 22, a drawing processing unit 23, and an image data storage unit 24 and the function as the drawing command number determination unit 25 are realized.
[0016]
The drawing command analysis unit 21 analyzes a drawing command issued by the application program 13, skips information that is not necessary for the drawing processing from the drawing command, and outputs a drawing command necessary for image display output on the display device 3. To extract.
[0017]
The drawing command conversion unit 22 converts the drawing command extracted by the drawing command analysis unit 21 into a drawing command in a format that can be interpreted by the drawing processing unit 23. Furthermore, information on the type and complexity of the drawing command that is a criterion for determining the number of drawing commands to be described later is accumulated from the drawing command.
[0018]
The drawing processing unit 23 performs image drawing by sequentially processing the drawing commands converted by the drawing command converting unit 22.
[0019]
The image data storage unit 24 stores image data, which is a drawing result of the drawing processing unit 23, in the page memory 15. Further, the image data storage unit 24 can cope with the periodic output of the image data stored in the page memory 15 to the display device 3. It is assumed that the output cycle of image data is set to be at regular intervals.
[0020]
The drawing command number determination unit 25 performs drawing for each drawing command from the information stored in the drawing command conversion unit 22, the output cycle of image data corresponding to the image data storage unit 24, and the hardware performance of the computer 1. A drawing that is calculated by the drawing processing unit 23 during one cycle of image data output from the image data storage unit 24 to the display device 3 based on the calculation result based on the calculation result. The number of instructions is determined, and the determination result is instructed to the drawing processing unit 23. Further, the determination result of the number of drawing commands is corrected from the processing result of the past drawing commands. That is, the drawing command number determination unit 25 determines the drawing determined for one cycle after the certain cycle according to the time required for the drawing processing unit 23 to process the number of drawing commands determined for the certain cycle. The number of instructions is corrected.
[0021]
Note that the application program 13 or the rendering program 14 that realizes each of the units 21 to 25 may be installed in the computer 1 in advance, but is provided by being stored in a computer-readable storage medium. It may be read by the computer 1 or distributed to the computer 1 via a wired or wireless communication means. That is, the functions of the units 21 to 25 described here can also be realized by an image processing program that causes a computer to function similarly. The computers referred to here include not only the computer 1 shown in FIG. 2 but also a wide range of electronic computers that execute programs.
[0022]
Next, in the computer 1 having the above configuration, an example of processing operation when the image generated by the application program 13 is displayed and output on the display device 3, that is, the image processing method according to the first embodiment of the present invention. The procedure will be described. FIG. 3 is a flowchart showing an example of the procedure of the image processing method according to the present invention.
[0023]
The computer 1 performs a so-called multithread operation in which a plurality of processes can be executed simultaneously in order to shorten the processing time of the entire page of an image to be displayed and output. That is, as shown in FIG. 3, an “image output thread process” for outputting the image data in the page memory 15 to the display device 3 and a “drawing thread process” for writing the image data in the page memory 15, respectively. Perform in parallel.
[0024]
In the image output thread process, the image output is performed at a periodic timing so that the image output is not waited until the drawing process of the entire image is completed. In other words, the image data storage unit 24 uses, for example, a timer function in the computer 1 to monitor the image output timing for the image data in the page memory 15 (step 101; hereinafter, step is abbreviated as “S”). When the image output timing comes, the image data stored in the page memory 15 at that time is read out and output to the display device 3 via the input / output hardware 11 (S102). As a result, the image drawn in the page memory 15 at that time is displayed and output from the display device 3. In the image output thread process, these processes are repeated until the drawing process for the entire image is completed (S103), that is, until the image output thread process is completed.
[0025]
Assume that the period of the image output timing at this time is set so that the period of the period is uniform (for example, at intervals of 1 second). This period of one cycle may be unique to the application program 13 or the rendering program 14, but may be arbitrarily set by the user of the computer 1 from the input device 2. That is, it is conceivable to provide a function as a setting means for setting the period of the image output timing from the page memory 15 to the display device 3. In this case, the display output of the image is performed at a timing desired by the user. Since it is performed, it is highly convenient for the user.
[0026]
On the other hand, in the drawing thread process, the image data output in the image output thread process is written into the page memory 15. However, in the image output thread process and the drawing thread process, the same address in the page memory 15 is accessed, and the process cannot be performed at the same memory access timing. Therefore, in the drawing thread process, image rendering is performed according to the procedure described below in order to achieve efficient processing while avoiding interference with access to the page memory 15 in the image output thread process.
[0027]
At the start of the drawing thread process, a plurality of drawing commands required for drawing a series of drawing commands to be processed, that is, the entire page of an image to be displayed and output, already in a predetermined area in the RAM or the like of the computer 1 at that time. Assume that instructions are held. After the start of the process, the drawing command number determination unit 25 first sets the number of drawing objects (S201). The drawing object is an object (text, graphics, image, etc.) drawn in the page memory 15 as a result of processing the drawing command by the drawing processing unit 23, and the number of drawing objects is the image output thread processing. This is the number of objects drawn during one cycle of image output timing. Accordingly, the number of drawing objects matches the number of drawing commands processed by the drawing processing unit 23 during one cycle of image data output.
[0028]
The initial setting of the number of drawing objects is determined by the drawing processing unit 23 for each drawing command based on the information accumulated in the drawing command conversion unit 22, the period of one cycle of image data output, and the hardware performance of the computer 1. This may be done by calculating the time required for processing and determining how many drawing objects can be drawn during one cycle of image data output.
[0029]
Here, information stored in the drawing command conversion unit 22 that is a basis for setting the number of drawing objects will be described. FIG. 4 is an explanatory diagram showing a specific example of accumulated information. As shown in the figure, in the drawing command conversion unit 22, information related to the type and complexity of the drawing command is registered in advance and stored in a table format. The information about the type and complexity of the drawing command here includes the drawing object (type) to be drawn by the drawing command and the drawing conditions (complexity) of the drawing object, as well as the drawing object drawing. Information on expected processing time that would be required is also included. As described above, in the drawing command conversion unit 22, information on several types of drawing objects assumed in advance is registered and accumulated as model pattern information.
[0030]
After the initial setting of the number of drawing objects is performed based on the accumulated information by the drawing command conversion unit 22, the drawing command analysis unit 21 corresponds to the number of drawing objects determined by the drawing command number determination unit 25. A drawing command is sequentially read from a predetermined area in the RAM (S202), the drawing command conversion unit 22 performs format conversion on the drawing command (S203), and then the drawing processing unit 23 sequentially processes the drawing command. The image data storage unit 24 stores the drawing object as the drawing result in the page memory 15 (S204). When the image data storage unit 24 stores the number of drawing objects determined by the drawing command number determination unit 25 in the page memory 15, the image data storage unit 24 enters an image output timing waiting state (S205). Here, when the image output timing comes, in the image output thread process, the image data stored in the page memory 15 at that time is read and output to the display device 3 (S102).
[0031]
Thereafter, it is determined whether or not there is a next drawing command, that is, whether or not there is an unprocessed drawing command in a predetermined area in the RAM (S206). If there is a next drawing command, the number of drawing commands is determined. The unit 25 sets the number of drawing objects to be processed during the next cycle of image data output (S207). The setting at this time, that is, the setting of the next number of drawing objects may be performed in the same manner as in the case of the initial setting already described.
[0032]
However, the time required for the drawing processing unit 23 to process the drawing command and draw the drawing object is not necessarily the same as the estimated processing time under the multi-thread operation due to the operation status of other thread processing. Not always. Therefore, the drawing command number determination unit 25 measures the waiting time from the end of the previous drawing to the image output timing when setting the next drawing object number, and the time is reflected in the setting of the next drawing object number. As described above, the number of drawing objects is corrected. Specifically, for example, the waiting time until the image output timing is added to the time of one cycle of the image data output, the total time is compared with the estimated processing time, and a number of drawing objects are within the total time. This can be done by determining whether drawing is possible.
[0033]
Then, after setting the next number of drawing objects, the above steps are repeated again (S202 to S207), and this is continuously performed until there is no next drawing command.
[0034]
FIG. 5 is an explanatory diagram schematically showing an outline of the image output thread process and the drawing thread process processed in the above procedure. As shown in the figure, in this embodiment, for each drawing command to be processed, the time required for the processing is calculated, and the drawing command to be processed during one cycle of image data output is calculated based on the calculation result. Since the number is determined, it is possible to optimize the number of drawing commands to be processed during one cycle. Therefore, as is apparent from comparison with the prior art (see FIGS. 7 and 8), it is not necessary to determine whether or not the image data output timing has been reached each time each drawing command is processed, and the entire image is accordingly increased. The processing time until the output is completed is shortened. Furthermore, since it corresponds to periodic image data output, it is possible to start image display in a certain time after starting drawing, so it is possible to shorten the time until the first image output, Operations such as confirmation of drawing results and interruption of output by the user can be performed quickly.
[0035]
In the present embodiment, the number of drawing commands determined for the next cycle is corrected according to the time required to actually process the number of drawing commands determined for a certain cycle. Even when the processing performance of the computer 1 fluctuates due to the influence of thread processing operating in the ground, the number of drawing commands processed during one cycle of image data output can always be optimized. Become. Specifically, as shown in FIG. 5, for example, when four drawing commands A to D are processed at the start of processing, seven drawing commands can actually be processed before the next image data output. If it is found that the next drawing is a drawing command of E to K that requires the same processing time, the number of drawing processes can be changed so that seven drawing commands are executed.
[0036]
In this example, the case where the waiting time has occurred in the previous cycle has been described as an example. However, depending on the influence of the operation status of other thread processing, the opposite situation may occur. That is, the processing for the determined number of drawing commands may not end during one cycle of image data output. Such a situation is not preferable because image data cannot be output at that timing. Therefore, in order to avoid the occurrence of such a situation, when optimizing the number of drawing commands, an upper limit value that considers a safety factor to prevent the actual processing time from exceeding one cycle should be set. Is desirable.
[0037]
Further, in the present embodiment, only the case where the image data output to the display device 3 is periodically performed has been described as an example. However, the image data output is periodically performed, or the drawing processing unit 23 performs the processing. The user of the computer 1 arbitrarily selects from the input device 2 whether to perform batch processing after processing for all power drawing commands (for example, a plurality of drawing commands necessary for drawing the entire page of an image) is completed. It is also possible to get it. In this case, the selection from the input device 2 may be performed prior to the start of the drawing thread process or may be performed after the start of the drawing thread process. If the user determines that periodic image output is not necessary during the rendering process, it is possible to switch to batch rendering in the middle and to reduce the processing time for the entire page thereafter.
[0038]
Further, in the present embodiment, the case where the image processing apparatus according to the present invention is realized on the computer 1 is described as an example. However, this embodiment corresponds to interpreting a drawing command, performing an image drawing process, and displaying the image. Any other electronic device such as a mobile phone can be applied in the same manner.
[0039]
[Second Embodiment]
Next, a second embodiment of the present invention will be described. However, here, only differences from the first embodiment described above will be described. FIG. 6 is a block diagram showing a specific configuration example of the image processing apparatus according to the second embodiment of the present invention. The image processing apparatus described here is realized on a printer 5 including at least a CPU, a ROM, and a RAM.
[0040]
Upon receiving a drawing command from the host computer 1 ', the printer 5 performs a drawing process according to the drawing command and prints out the drawing result on a recording sheet. For this purpose, the printer 5 includes control hardware 51 for receiving a drawing command from the host computer 1 ′, a rendering program 52 that performs image drawing processing in accordance with the drawing command received by the control hardware 51, and the rendering thereof. A buffer memory 53 for storing image data as a drawing result by the program 52, and a printer engine 54 for converting the image data into a visible image and printing it on a recording sheet are provided.
[0041]
Of these, unlike the normal page printer, the printer engine 54 supports periodic print output. Examples of the printer 5 including the printer engine 54 include a pen plotter and an ink jet printer that can output the image data in the buffer memory 53 in a plurality of times. Further, even a type such as a laser printer can cope with periodic print output by performing laser irradiation in a plurality of times.
[0042]
On the other hand, the host computer 1 ′ has substantially the same configuration as the computer 1 in the first embodiment, but includes a printer driver 16 for giving an operation instruction to the printer 5 instead of the rendering program 14 and the page memory 15. And the point that the control hardware 51 of the printer 5 is connected to the input / output hardware 11 is different from the case of the first embodiment.
[0043]
The host computer 1 'functions as the drawing command analysis unit 21, the drawing command conversion unit 22, the drawing processing unit 23, the image data storage unit 24, and the drawing command number determination unit 25 described in the first embodiment. It does not have to be provided. The functions of the drawing command analysis unit 21, the drawing command conversion unit 22, the drawing processing unit 23, the image data storage unit 24, and the drawing command number determination unit 25 are controlled by the control hardware 51 or the rendering program 14 in the printer 5 and the printer. 5 is assumed to be realized.
[0044]
Also in the printer 5 configured as described above, the same processing operation as that of the computer 1 in the first embodiment described above is performed. That is, for each drawing command to be printed, the time required for the printing process is calculated, and the number of drawing commands to be processed in one cycle of the print output in the printer engine 54 is determined based on the calculation result. To do. Furthermore, the number of drawing commands determined for the next one cycle is corrected according to the time required to actually print the number of drawing commands determined for a certain cycle.
[0045]
Accordingly, in this embodiment as well, as in the first embodiment, even when several drawing commands are processed together during one cycle of image printout, for example, the printer 5 Even if the processing performance of the printer changes, the number of drawing commands processed during one cycle of image printout can be optimized, and the time until the first image is printed out is shortened. Further, it is possible to shorten the processing time until the printout of the entire image is completed as much as possible.
[0046]
In the present embodiment, the case where the image processing apparatus according to the present invention is realized on the printer 5 is described as an example. However, for example, the image processing apparatus is realized on the printer driver 16 of the host computer 1 ′ that gives an operation instruction to the printer 5. It is also possible.
[0047]
【The invention's effect】
As described above, according to the image processing device, the image processing method, and the image processing program according to the present invention, the time required for the processing is calculated for each drawing command to be processed, and the calculation result is based on the calculation result. Since the number of drawing commands to be processed during one cycle of image data output to the image output device is determined, even when several drawing commands are processed collectively during one cycle of image data output The number of drawing commands processed during the one cycle can be optimized. That is, it is not necessary to determine whether or not it is the timing of outputting image data to the image output device every time each rendering command is processed, and the processing time until the output of the entire image is completed accordingly, In addition, since the image data is periodically output to the image output apparatus, the image output is not waited until the processing for all the plurality of drawing commands to be processed is completed. Accordingly, it is possible to reduce the processing time until the output of the entire image is completed as much as possible while reducing the time until the first image is output.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an example of a functional configuration of an image processing apparatus according to the present invention.
FIG. 2 is a block diagram illustrating a specific configuration example of the image processing apparatus according to the first embodiment of the present invention.
FIG. 3 is a flowchart showing an example of a procedure of an image processing method according to the present invention.
FIG. 4 is an explanatory diagram showing a specific example of accumulated information in the image processing apparatus according to the present invention.
FIG. 5 is an explanatory diagram schematically showing an overview of an image output thread process and a drawing thread process which are processed in the procedure of the image processing method according to the present invention.
FIG. 6 is a block diagram illustrating a specific configuration example of an image processing apparatus according to a second embodiment of the present invention.
FIG. 7 is an explanatory view schematically showing an outline of conventional periodic image data output.
FIG. 8 is an explanatory diagram schematically showing an outline of a modified example of periodic image data output.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Computer, 1 '... Host computer, 2 ... Input device 2, 3 ... Display device, 4 ... External storage device, 5 ... Printer, 11 ... Input / output hardware, 12 ... Operating system, 13 ... Application program, 14 ... Rendering program, 15: Page memory, 21: Drawing command analysis unit, 22: Drawing command conversion unit, 23: Drawing processing unit, 24: Image data storage unit, 25: Drawing command number determination unit, 51: Control hardware, 52 ... Rendering program, 53 ... Buffer memory, 54 ... Printer engine

Claims (12)

複数の描画命令を順次処理して画像の描画を行う描画処理手段と、
前記描画処理手段による描画結果である画像データを格納するとともに、当該画像データの周期的な画像出力装置への出力に対応する画像データ格納手段と、
前記描画命令毎に前記描画処理手段での処理に要するであろう時間を算出し、その算出結果に基づいて前記画像データ格納手段から前記画像出力装置への画像データ出力の一周期の間に前記描画処理手段が処理する描画命令の数を決定する描画命令数判定手段と
を備えることを特徴とする画像処理装置。
Drawing processing means for sequentially drawing a plurality of drawing commands and drawing an image;
Storing image data which is a drawing result by the drawing processing means, and image data storage means corresponding to the output of the image data to a periodic image output device;
For each drawing command, the time required for processing in the drawing processing unit is calculated, and the image data output from the image data storage unit to the image output device is performed during one cycle based on the calculation result. An image processing apparatus comprising: a drawing command number determining unit that determines the number of drawing commands processed by the drawing processing unit.
前記描画命令数判定手段は、ある一周期について決定した数の描画命令を前記描画処理手段が処理するのに要した時間に応じて、前記ある一周期の次の一周期について決定する描画命令の数を補正するものである
ことを特徴とする請求項1記載の画像処理装置。
The drawing command number determining unit is configured to determine a drawing command to be determined for one cycle after the certain cycle in accordance with a time required for the drawing processing unit to process the number of drawing commands determined for a certain cycle. The image processing apparatus according to claim 1, wherein the number is corrected.
前記画像データ格納手段から前記画像出力装置への画像データ出力を周期的に行うか、あるいは前記描画処理手段が処理すべき全描画命令についての処理が終了した後に一括して行うかを選択するための選択手段
を備えることを特徴とする請求項1または2記載の画像処理装置。
In order to select whether to periodically output image data from the image data storage means to the image output device, or to perform batch processing after all drawing commands to be processed by the drawing processing means are completed. The image processing apparatus according to claim 1, further comprising a selection unit.
前記画像データ格納手段から前記画像出力装置への画像データ出力を周期的に行う場合における周期を設定するための設定手段
を備えることを特徴とする請求項1、2または3記載の画像処理装置。
4. The image processing apparatus according to claim 1, further comprising setting means for setting a period when image data output from the image data storage means to the image output apparatus is performed periodically.
複数の描画命令を順次処理して画像の描画を行い、その描画結果である画像データを記憶装置内に格納する描画ステップと、
前記記憶装置内に格納された画像データを周期的に画像出力装置へ出力する出力ステップと、
前記描画ステップに先立ち、前記描画命令毎に当該描画命令による画像の描画に要するであろう時間を算出し、その算出結果に基づいて前記記憶装置から前記画像出力装置への画像データ出力の一周期の間に当該描画ステップにて処理する描画命令の数を決定する命令数判定ステップと
を含むことを特徴とする画像処理方法。
A drawing step of sequentially processing a plurality of drawing commands to draw an image and storing image data as a drawing result in a storage device;
An output step of periodically outputting image data stored in the storage device to an image output device;
Prior to the drawing step, a time required to draw an image according to the drawing command is calculated for each drawing command, and one cycle of image data output from the storage device to the image output device based on the calculation result And an instruction number determination step for determining the number of drawing instructions to be processed in the drawing step.
前記命令数判定ステップでは、ある一周期について決定した数の描画命令を前記描画ステップにて処理するのに要した時間に応じて、前記ある一周期の次の一周期について決定する描画命令の数を補正するものである
ことを特徴とする請求項5記載の画像処理方法。
In the command number determining step, the number of drawing commands to be determined for one cycle following the certain cycle according to the time required for processing the number of drawing commands determined for the certain cycle in the drawing step The image processing method according to claim 5, wherein the correction is performed.
前記出力ステップにおける前記画像出力装置への画像データ出力を、周期的に行うか、あるいは前記描画ステップで処理すべき全描画命令についての処理が終了した後に一括して行うか選択する
ことを特徴とする請求項5または6記載の画像処理方法。
The image data output to the image output device in the output step is selected to be performed periodically or collectively after the processing for all drawing commands to be processed in the drawing step is completed. The image processing method according to claim 5 or 6.
前記出力ステップにおける前記画像出力装置への画像データ出力を周期的に行う場合における周期をユーザインタフェース部から設定する
ことを特徴とする請求項5、6または7記載の画像処理方法。
8. The image processing method according to claim 5, 6 or 7, wherein a period when image data output to the image output apparatus in the output step is periodically performed is set from a user interface unit.
コンピュータを、
複数の描画命令を順次処理して画像の描画を行う描画処理手段と、
前記描画処理手段による描画結果である画像データを格納するとともに、当該画像データの周期的な画像出力装置への出力に対応する画像データ格納手段と、
前記描画命令毎に前記描画処理手段での処理に要するであろう時間を算出し、その算出結果に基づいて前記画像データ格納手段から前記画像出力装置への画像データ出力の一周期の間に前記描画処理手段が処理する描画命令の数を決定する描画命令数判定手段
として機能させることを特徴とする画像処理プログラム。
Computer
Drawing processing means for sequentially drawing a plurality of drawing commands and drawing an image;
Storing image data which is a drawing result by the drawing processing means, and image data storage means corresponding to the output of the image data to a periodic image output device;
For each drawing command, the time required for processing in the drawing processing unit is calculated, and the image data output from the image data storage unit to the image output device is performed during one cycle based on the calculation result. An image processing program that functions as a drawing command number determination unit that determines the number of drawing commands processed by a drawing processing unit.
前記描画命令数判定手段は、ある一周期について決定した数の描画命令を前記描画処理手段が処理するのに要した時間に応じて、前記ある一周期の次の一周期について決定する描画命令の数を補正するものである
ことを特徴とする請求項9記載の画像処理プログラム。
The drawing command number determining unit is configured to determine a drawing command to be determined for one cycle after the certain cycle in accordance with a time required for the drawing processing unit to process the number of drawing commands determined for a certain cycle. The image processing program according to claim 9, wherein the number is corrected.
前記画像データ格納手段から前記画像出力装置への画像データ出力を周期的に行うか、あるいは前記描画処理手段が処理すべき全描画命令についての処理が終了した後に一括して行うかを選択するための選択手段
を備えることを特徴とする請求項9または10記載の画像処理プログラム。
In order to select whether to periodically output image data from the image data storage means to the image output device, or to perform batch processing after all drawing commands to be processed by the drawing processing means are completed. The image processing program according to claim 9 or 10, further comprising:
前記画像データ格納手段から前記画像出力装置への画像データ出力を周期的に行う場合における周期を設定するための設定手段
を備えることを特徴とする請求項9、10または11記載の画像処理プログラム。
12. The image processing program according to claim 9, further comprising setting means for setting a period when image data output from the image data storage means to the image output apparatus is performed periodically.
JP2003176265A 2003-06-20 2003-06-20 Image processor, image processing method and image processing program Pending JP2005011177A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003176265A JP2005011177A (en) 2003-06-20 2003-06-20 Image processor, image processing method and image processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003176265A JP2005011177A (en) 2003-06-20 2003-06-20 Image processor, image processing method and image processing program

Publications (1)

Publication Number Publication Date
JP2005011177A true JP2005011177A (en) 2005-01-13

Family

ID=34099198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003176265A Pending JP2005011177A (en) 2003-06-20 2003-06-20 Image processor, image processing method and image processing program

Country Status (1)

Country Link
JP (1) JP2005011177A (en)

Similar Documents

Publication Publication Date Title
JP4966533B2 (en) Printing system, printing method, printing program, and recording medium
JP2012148429A (en) Print data processing apparatus, cache processing method, and program
JP2007257592A (en) Printing system, information processor, and printer
JP6447564B2 (en) Image forming apparatus, program, and information processing system
US8976373B2 (en) Image processing apparatus, computer-readable storage medium storing program and image processing method
JP2007329919A (en) Image forming apparatus and control method therefor
CN108287672B (en) Server device, recording medium, information processing system, and image forming apparatus
JP2005011177A (en) Image processor, image processing method and image processing program
JP6773139B2 (en) Server equipment and information processing system
JPH09193500A (en) Printer
JP2009269179A (en) Printer, program and recording medium
JP2011113231A (en) Image forming apparatus
US10656879B2 (en) Printing apparatus and printing method
US8756491B2 (en) PDL data processing device
JP2002278725A (en) Printer driver
JP2019093559A (en) Image formation apparatus, control method and program thereof
JP4211462B2 (en) Information processing apparatus and method, and image drawing apparatus
JP2010171597A (en) Image processing apparatus
JP4666054B2 (en) Image processing apparatus and image processing program
JP5450321B2 (en) Image forming apparatus and image forming program
JP5409559B2 (en) Image forming apparatus and image forming program
JP5701234B2 (en) Image forming apparatus and character drawing program
JPH10320139A (en) Printing controller, printing control method and computer-readable recording medium recorded with printing control program
JP2006228103A (en) Information processor
JP2012045899A (en) Printing job data control processing apparatus and printer