(57)【要約】【課題】画像の出力開始から最初に画像出力されるまでの時間を短縮しつつ、画像全体の出力が完了するまでの処理時間をも極力短縮できるようにする。【解決手段】複数の描画命令を順次処理して画像の描画を行う描画処理手段２３と、その描画結果である画像データを格納するとともに、その画像データの周期的な画像出力装置への出力に対応する画像データ格納手段２４と、前記描画命令毎に前記描画処理手段２３での処理に要するであろう時間を算出し、その算出結果に基づいて前記画像データ格納手段２４から前記画像出力装置への画像データ出力の一周期の間に前記描画処理手段２３が処理する描画命令の数を決定する描画命令数判定手段２５とを備えて、画像処理装置を構成する。【選択図】        図１
2005011177.tif 000002
【特許請求の範囲】
【請求項１】
複数の描画命令を順次処理して画像の描画を行う描画処理手段と、
前記描画処理手段による描画結果である画像データを格納するとともに、当該画像データの周期的な画像出力装置への出力に対応する画像データ格納手段と、
前記描画命令毎に前記描画処理手段での処理に要するであろう時間を算出し、その算出結果に基づいて前記画像データ格納手段から前記画像出力装置への画像データ出力の一周期の間に前記描画処理手段が処理する描画命令の数を決定する描画命令数判定手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記描画命令数判定手段は、ある一周期について決定した数の描画命令を前記描画処理手段が処理するのに要した時間に応じて、前記ある一周期の次の一周期について決定する描画命令の数を補正するものである
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記画像データ格納手段から前記画像出力装置への画像データ出力を周期的に行うか、あるいは前記描画処理手段が処理すべき全描画命令についての処理が終了した後に一括して行うかを選択するための選択手段
を備えることを特徴とする請求項１または２記載の画像処理装置。
【請求項４】
前記画像データ格納手段から前記画像出力装置への画像データ出力を周期的に行う場合における周期を設定するための設定手段
を備えることを特徴とする請求項１、２または３記載の画像処理装置。
【請求項５】
複数の描画命令を順次処理して画像の描画を行い、その描画結果である画像データを記憶装置内に格納する描画ステップと、
前記記憶装置内に格納された画像データを周期的に画像出力装置へ出力する出力ステップと、
前記描画ステップに先立ち、前記描画命令毎に当該描画命令による画像の描画に要するであろう時間を算出し、その算出結果に基づいて前記記憶装置から前記画像出力装置への画像データ出力の一周期の間に当該描画ステップにて処理する描画命令の数を決定する命令数判定ステップと
を含むことを特徴とする画像処理方法。
【請求項６】
前記命令数判定ステップでは、ある一周期について決定した数の描画命令を前記描画ステップにて処理するのに要した時間に応じて、前記ある一周期の次の一周期について決定する描画命令の数を補正するものである
ことを特徴とする請求項５記載の画像処理方法。
【請求項７】
前記出力ステップにおける前記画像出力装置への画像データ出力を、周期的に行うか、あるいは前記描画ステップで処理すべき全描画命令についての処理が終了した後に一括して行うか選択する
ことを特徴とする請求項５または６記載の画像処理方法。
【請求項８】
前記出力ステップにおける前記画像出力装置への画像データ出力を周期的に行う場合における周期をユーザインタフェース部から設定する
ことを特徴とする請求項５、６または７記載の画像処理方法。
【請求項９】
コンピュータを、
複数の描画命令を順次処理して画像の描画を行う描画処理手段と、
前記描画処理手段による描画結果である画像データを格納するとともに、当該画像データの周期的な画像出力装置への出力に対応する画像データ格納手段と、
前記描画命令毎に前記描画処理手段での処理に要するであろう時間を算出し、その算出結果に基づいて前記画像データ格納手段から前記画像出力装置への画像データ出力の一周期の間に前記描画処理手段が処理する描画命令の数を決定する描画命令数判定手段
として機能させることを特徴とする画像処理プログラム。
【請求項１０】
前記描画命令数判定手段は、ある一周期について決定した数の描画命令を前記描画処理手段が処理するのに要した時間に応じて、前記ある一周期の次の一周期について決定する描画命令の数を補正するものである
ことを特徴とする請求項９記載の画像処理プログラム。
【請求項１１】
前記画像データ格納手段から前記画像出力装置への画像データ出力を周期的に行うか、あるいは前記描画処理手段が処理すべき全描画命令についての処理が終了した後に一括して行うかを選択するための選択手段
を備えることを特徴とする請求項９または１０記載の画像処理プログラム。
【請求項１２】
前記画像データ格納手段から前記画像出力装置への画像データ出力を周期的に行う場合における周期を設定するための設定手段
を備えることを特徴とする請求項９、１０または１１記載の画像処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホスト装置等から出力される描画命令を受け取ると、これを解釈して描画処理を行い、その描画結果をディスプレイやプリンタ等の画像出力装置へ出力する画像処理装置、画像処理方法および画像処理プログラムに関するものである。
【０００２】
【従来の技術】
近年、コンピュータ上で電子的に作成した画像をディスプレイ等から出力することや、その画像を通信ネットワークを通じて授受すること等が、広く一般的に行われている。ただし、特に通信ネットワークを経由した画像の転送処理を行う場合には、その転送処理に要する時間が問題となる。すなわち、転送処理に時間を要してしまう分だけ、その転送先での画像出力が待たされてしまうことになる。このことから、従来、通信ネットワークを介して画像出力を行う場合には、例えば図７に示すように、処理対象となる画像を細かくブロック化して処理し、各ブロック単位で順次画像出力を行うことで、最初に画像出力されるまでの時間を短縮化することが提案されている（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開２００２−２９０７１８号公報
【０００４】
【発明が解決しようとする課題】
ところが、各ブロック単位で順次画像出力を行う場合には、最初に画像出力されるまでの時間は短縮されるが、処理対象となる画像についてブロック単位で描画処理（描画命令の解釈や出力可能なデータ形式への変換等）を行う都度（図７中におけるＡ〜Ｋ参照）、その描画された部分についての画像出力（表示出力やプロッタ出力等）を行うことになるので（図７中におけるａ〜ｋ参照）、その画像出力の度に描画処理が中断してしまい、却って画像全体の出力が完了するまでの処理時間が延びてしまう可能性がある。
【０００５】
この点については、ブロック単位での各描画処理の度に画像出力を行うのではなく、例えば図８に示すように、幾つかのブロックについて描画処理を纏めて行った後に画像出力を行うことも考えられる。すなわち、周期的なタイミングで画像出力を行うとともに、ブロック単位での描画処理が終了する度に画像出力のタイミングであるか否かを判定して、画像出力タイミングであれば画像出力を行い、画像出力タイミングでなければ次のブロックについて描画処理を継続することで、画像全体の出力完了までの処理時間を短縮化するというものである。しかしながら、幾つかのブロックについての描画処理を纏めて行う場合には、各ブロックの描画処理に要する時間が必ずしも一律ではなく、例えばテキスト（文字）についてのブロックとイメージ（自然画）についてのブロックとでは描画処理時間が異なるため、ブロック単位での描画処理が終了する度に画像出力タイミングであるか否かの判定が必要となってしまう。つまり、画像出力タイミングの一周期の間に、何度も画像出力タイミングであるか否かを判定する無駄な処理を行うことになる。したがって、その無駄な処理の分だけ、画像全体の出力が完了するまでの処理時間が延びてしまうことになる。
【０００６】
そこで、本発明は、最初に画像出力されるまでの時間を短縮しつつ、画像全体の出力が完了するまでの処理時間をも極力短縮することのできる画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は、上記目的を達成するために案出された画像処理装置で、複数の描画命令を順次処理して画像の描画を行う描画処理手段と、前記描画処理手段による描画結果である画像データを格納するとともに、当該画像データの周期的な画像出力装置への出力に対応する画像データ格納手段と、前記描画命令毎に前記描画処理手段での処理に要するであろう時間を算出し、その算出結果に基づいて前記画像データ格納手段から前記画像出力装置への画像データ出力の一周期の間に前記描画処理手段が処理する描画命令の数を決定する描画命令数判定手段とを備えることを特徴とするものである。
【０００８】
また、本発明は、上記目的を達成するために案出された画像処理方法で、複数の描画命令を順次処理して画像の描画を行い、その描画結果である画像データを記憶装置内に格納する描画ステップと、前記記憶装置内に格納された画像データを周期的に画像出力装置へ出力する出力ステップと、前記描画ステップに先立ち、前記描画命令毎に当該描画命令による画像の描画に要するであろう時間を算出し、その算出結果に基づいて前記記憶装置から前記画像出力装置への画像データ出力の一周期の間に当該描画ステップにて処理する描画命令の数を決定する命令数判定ステップとを含むことを特徴とする方法である。
【０００９】
また、本発明は、上記目的を達成するために案出された画像処理プログラムで、コンピュータを、複数の描画命令を順次処理して画像の描画を行う描画処理手段と、前記描画処理手段による描画結果である画像データを格納するとともに、当該画像データの周期的な画像出力装置への出力に対応する画像データ格納手段と、前記描画命令毎に前記描画処理手段での処理に要するであろう時間を算出し、その算出結果に基づいて前記画像データ格納手段から前記画像出力装置への画像データ出力の一周期の間に前記描画処理手段が処理する描画命令の数を決定する描画命令数判定手段として機能させることを特徴とするものである。
【００１０】
上記構成の画像処理装置および画像処理プログラム並びに上記手順による画像処理方法によれば、処理すべき描画命令毎にその処理に要するであろう時間を算出し、その算出結果に基づいて画像出力装置への画像データ出力の一周期の間に処理する描画命令の数を決定するので、その一周期の間に処理する描画命令の数の最適化が図れることになる。したがって、画像データ出力の一周期の間に幾つかの描画命令を纏めて処理する場合であっても、各描画命令を処理する度に画像出力装置への画像データ出力タイミングとなったか否かの判定を行う必要がなく、その分だけ画像全体の出力が完了するまでの処理時間が短縮される。また、画像データの周期的な画像出力装置への出力に対応しているので、処理すべき複数の描画命令の全てについての処理が終了するまで画像出力が待たされてしまうこともない。
【００１１】
【発明の実施の形態】
以下、図面に基づき本発明に係る画像処理装置、画像処理方法および画像処理プログラムについて説明する。
【００１２】
〔第１の実施の形態〕
はじめに、本発明の第１の実施の形態について説明する。図１は本発明に係る画像処理装置の機能構成の一例を示すブロック図であり、図２はその機能構成を実現するための具体的な構成例を示すブロック図である。
【００１３】
先ず、図２を参照しながら、本発明の第１の実施の形態における画像処理装置の概略構成について説明する。ここで説明する画像処理装置は、少なくともＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を備えるコンピュータ１上において実現されるものである。コンピュータ１には、キーボードやマウス等の入力装置２と、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）や液晶パネル等の表示装置３と、ハードディスク装置や光ディスク装置等の外部記憶装置４とが接続されているものとする。
【００１４】
また、コンピュータ１は、入力装置２、表示装置３および外部記憶装置４と接続するための入出力ハードウエア１１と、コンピュータ１の全体を総合的に管理するためのオペレーティングシステム１２と、電子的に画像を生成するための文書作成ソフトや画像処理ソフト等のアプリケーションプログラム１３と、そのアプリケーションプログラム１３が発行する描画命令に従いつつ画像の描画処理を行うレンダリングプログラム１４と、そのレンダリングプログラム１４による描画結果である画像データを格納するためのページメモリ１５と、を備えている。ここで、アプリケーションプログラム１３が発行する描画命令とは、そのアプリケーションプログラム１３を用いて生成された画像を特定するための命令で、具体的には例えば画像描画用プログラミング言語で記述された制御コマンドがこれに該当する。また、その描画命令についての描画結果である画像データは、表示装置３において表示出力可能な形式のデータで、具体的には例えばビットマップデータがこれに該当する。
【００１５】
さらに、コンピュータ１では、アプリケーションプログラム１３またはレンダリングプログラム１４を実行することにより、図１に示すように、描画命令解析部２１と、描画命令変換部２２と、描画処理部２３と、画像データ格納部２４と、描画命令数判定部２５としての機能を実現する。
【００１６】
描画命令解析部２１は、アプリケーションプログラム１３が発行する描画命令を解析し、その描画命令から描画処理に必要のない情報等を読み飛ばし、表示装置３での画像の表示出力に必要な描画命令を抽出するものである。
【００１７】
描画命令変換部２２は、描画命令解析部２１で抽出された描画命令を、描画処理部２３が解釈可能な形式の描画命令に変換するものである。さらには、その描画命令から、後述する描画命令数の判定基準となる描画命令の種類や複雑さに関する情報を蓄積しているものである。
【００１８】
描画処理部２３は、描画命令変換部２２で変換された後の描画命令を順次処理して画像の描画を行うものである。
【００１９】
画像データ格納部２４は、描画処理部２３での描画結果である画像データをページメモリ１５に格納させるものである。また、画像データ格納部２４では、ページメモリ１５が格納している画像データについて、これを周期的に表示装置３へ出力することにも対応し得るようになっている。なお、画像データの出力周期は、一定間隔毎となるように設定されているものとする。
【００２０】
描画命令数判定部２５は、描画命令変換部２２が蓄積している情報と、画像データ格納部２４が対応する画像データの出力周期と、コンピュータ１のハードウエア性能とから、描画命令毎に描画処理部２３での処理に要するであろう時間を算出し、その算出結果に基づいて画像データ格納部２４から表示装置３への画像データ出力の一周期の間に描画処理部２３が処理する描画命令の数を決定し、その決定結果を描画処理部２３に対して指示するものである。さらには、過去における描画命令についての処理結果から、描画命令の数の決定結果に対する補正を行うものでもある。すなわち、描画命令数判定部２５では、ある一周期について決定した数の描画命令を描画処理部２３が処理するのに要した時間に応じて、そのある一周期の次の一周期について決定する描画命令の数を補正するようになっている。
【００２１】
なお、これらの各部２１〜２５を実現するアプリケーションプログラム１３またはレンダリングプログラム１４は、予めコンピュータ１内にインストールしておくことが考えられるが、コンピュータ読み取り可能な記憶媒体に格納されて提供されるものをコンピュータ１が読み出しても、あるいは有線若しくは無線による通信手段を介してコンピュータ１に配信されるものであってもよい。つまり、ここで説明した各部２１〜２５の機能は、コンピュータを同様に機能させる画像処理プログラムによっても実現することが可能である。ここでいうコンピュータは、図２に示したコンピュータ１のみならず、プログラムを実行する電子計算機を広く含む。
【００２２】
次に、以上のような構成のコンピュータ１において、アプリケーションプログラム１３で生成した画像を表示装置３にて表示出力する場合の処理動作例、すなわち本発明の第１の実施の形態における画像処理方法の手順について説明する。図３は、本発明に係る画像処理方法の手順の一例を示すフローチャートである。
【００２３】
コンピュータ１では、表示出力すべき画像のページ全体の処理時間を短縮するために、複数の処理を同時に実行させることが可能な、いわゆるマルチスレッド動作を行う。すなわち、図３に示すように、ページメモリ１５内の画像データを表示装置３へ出力する「画像出力スレッド処理」と、そのページメモリ１５内に画像データを書き込む「描画スレッド処理」とを、それぞれ同時並行的に行う。
【００２４】
画像出力スレッド処理では、画像全体の描画処理が終了するまで画像出力が待たされることの無いように、周期的なタイミングで画像出力を行う。すなわち、画像データ格納部２４は、例えばコンピュータ１におけるタイマ機能を利用して、ページメモリ１５内の画像データについての画像出力タイミングを監視しており（ステップ１０１、以下ステップを「Ｓ」と略す）、画像出力タイミングを迎えると、その時点でページメモリ１５内に格納されている画像データを読み出して、これを入出力ハードウエア１１を介して表示装置３へ出力する（Ｓ１０２）。これにより、表示装置３からは、その時点でページメモリ１５内に描画されている画像が表示出力されることになる。そして、画像出力スレッド処理では、これらの処理が、画像全体の描画処理が終了するまで（Ｓ１０３）、すなわち画像出力スレッド処理が終了するまで繰り返して行われる。
【００２５】
このときの画像出力タイミングの周期は、その一周期の時間が一律（例えば、１秒間隔）となるように設定されているものとする。この一周期の時間は、アプリケーションプログラム１３またはレンダリングプログラム１４に固有のものであってもよいが、コンピュータ１の利用者が入力装置２から任意に設定し得るものであってもよい。つまり、ページメモリ１５内から表示装置３への画像出力タイミングの周期を設定するための設定手段としての機能を設けることも考えられ、その場合には利用者の所望するタイミングで画像の表示出力が行われるようになるので、利用者にとっての利便性が高いものとなる。
【００２６】
一方、描画スレッド処理では、画像出力スレッド処理で出力される画像データのページメモリ１５内への書き込みを行う。ただし、画像出力スレッド処理と描画スレッド処理とでは、ページメモリ１５内の同じアドレスに対してアクセスを行うことになり、同時のメモリアクセスタイミングでは処理を行わせることはできない。したがって、描画スレッド処理では、画像出力スレッド処理でのページメモリ１５へのアクセスとの干渉を避けつつ、効率的な処理の実現を図るべく、以下に述べるような手順で画像描画を行う。
【００２７】
描画スレッド処理の開始にあたっては、その時点で既にコンピュータ１のＲＡＭ等における所定領域内に、処理対象となる一連の描画命令、すなわち表示出力すべき画像のページ全体の描画に必要となる複数の描画命令が保持されているものとする。そして、処理の開始後は、先ず、描画命令数判定部２５が、描画オブジェクト数の初期設定を行う（Ｓ２０１）。描画オブジェクトとは、描画処理部２３が描画命令を処理した結果ページメモリ１５内に描画されるオブジェクト（テキスト、グラフィックス、イメージ等）のことであり、描画オブジェクト数とは、画像出力スレッド処理における画像出力タイミングの一周期の間に描画するオブジェクトの数のことである。したがって、描画オブジェクト数は、画像データ出力の一周期の間に描画処理部２３が処理する描画命令の数と一致する。
【００２８】
描画オブジェクト数の初期設定は、描画命令変換部２２が蓄積している情報と、画像データ出力の一周期の時間と、コンピュータ１のハードウエア性能とから、描画命令毎に描画処理部２３での処理に要するであろう時間を算出し、画像データ出力の一周期の間に幾つの描画オブジェクトが描画できるかを判定することによって行えばよい。
【００２９】
ここで、この描画オブジェクト数の設定の基となる、描画命令変換部２２が蓄積している情報について説明する。図４は、蓄積情報の一具体例を示す説明図である。図例のように、描画命令変換部２２には、描画命令の種類や複雑さに関する情報が予め登録されており、それがテーブル形式で蓄積されている。ここでいう描画命令の種類や複雑さに関する情報には、その描画命令によって描画すべき描画オブジェクト（種類）と、その描画オブジェクトについての描画条件（複雑さ）の他に、その描画オブジェクトの描画に要するであろう予想処理時間に関する情報も含むものとする。このように、描画命令変換部２２には、予め想定される何種類かの描画オブジェクトについての情報が、モデルパターン情報として登録・蓄積されている。
【００３０】
このような描画命令変換部２２による蓄積情報に基づいて描画オブジェクト数の初期設定を行った後は、その描画命令数判定部２５によって決定された描画オブジェクト数の分だけ、描画命令解析部２１がＲＡＭ等における所定領域内から順次描画命令を読み出し（Ｓ２０２）、描画命令変換部２２がその描画命令についての形式変換を行い（Ｓ２０３）、その後に描画処理部２３が順次描画命令を処理して、その描画結果である描画オブジェクトを画像データ格納部２４がページメモリ１５内に格納させる（Ｓ２０４）。そして、画像データ格納部２４は、描画命令数判定部２５によって決定された数の描画オブジェクトをページメモリ１５内に格納させると、画像出力タイミングの待ち状態となる（Ｓ２０５）。ここで、画像出力タイミングを迎えると、画像出力スレッド処理において、その時点でページメモリ１５内に格納されている画像データが読み出され、表示装置３へ出力されることになる（Ｓ１０２）。
【００３１】
その後は、次の描画命令があるか否か、すなわちＲＡＭ等における所定領域内に未処理の描画命令があるか否かを判断し（Ｓ２０６）、次の描画命令があれば、描画命令数判定部２５が、画像データ出力の次の一周期の間に処理する描画オブジェクト数の設定を行う（Ｓ２０７）。このときの設定、すなわち次の描画オブジェクト数の設定も、原則として、既に説明した初期設定の場合と同様にして行えばよい。
【００３２】
ただし、描画処理部２３が描画命令を処理して描画オブジェクトを描画するのに要する時間は、マルチスレッド動作下においては他のスレッド処理の動作状況等の影響によって、必ずしも算出予想した処理時間と一致するとは限らない。そこで、描画命令数判定部２５では、次の描画オブジェクト数の設定にあたり、前回の描画終了から画像出力タイミングまでの待ち状態の時間を計時し、その時間が次の描画オブジェクト数の設定に反映されるように、その描画オブジェクト数に対する補正を行う。具体的には、例えば画像出力タイミングまでの待機時間を、画像データ出力の一周期の時間に加え、そのトータル時間と算出予想した処理時間とを比較し、そのトータル時間内に幾つの描画オブジェクトが描画できるかを判定することによって行うことが考えられる。
【００３３】
そして、次の描画オブジェクト数を設定した後は、再び上述した各ステップを繰り返して行い（Ｓ２０２〜Ｓ２０７）、これを次の描画命令が無くなるまで継続して行う。
【００３４】
図５は、以上のような手順で処理される画像出力スレッド処理および描画スレッド処理の概要を模式的に示す説明図である。図例のように、本実施形態では、処理すべき描画命令毎にその処理に要するであろう時間を算出し、その算出結果に基づいて画像データ出力の一周期の間に処理する描画命令の数を決定するので、その一周期の間に処理する描画命令の数の最適化が図れることになる。したがって、従来（図７，８参照）と比較しても明らかなように、各描画命令を処理する度に画像データ出力タイミングとなったか否かの判定を行う必要がなく、その分だけ画像全体の出力が完了するまでの処理時間が短縮される。さらには、周期的な画像データ出力に対応しているので、描画開始後一定時間で画像表示を開始することができるので、最初に画像出力されるまでの時間を短縮化することが可能となり、利用者による描画結果の確認や出力中断といった作業が速やかに行えるようになる。
【００３５】
また、本実施形態では、ある一周期について決定した数の描画命令を実際に処理するのに要した時間に応じて、その次の一周期について決定する描画命令の数を補正するので、例えばバックグラウンドで動作しているスレッド処理の影響等によりコンピュータ１での処理性能が変動した場合であっても、常に画像データ出力の一周期の間に処理する描画命令の数の最適化が図れるようになる。具体的には、例えば図５に示したように、処理の開始時にＡ〜Ｄの４つの描画命令の処理を行ったところ、次の画像データ出力までに実際は７つの描画命令の処理が可能だったことが分かると、次回の描画は同じ処理時間を要するＥ〜Ｋの描画命令であるため、７つの描画命令を行うように描画処理数を変更する、といったことが可能となる。
【００３６】
なお、ここでは、前回の一周期において待機時間が発生した場合を例に挙げたが、他のスレッド処理の動作状況等の影響によっては、その逆の状態が発生することも考えられる。つまり、決定した数の描画命令についての処理が画像データ出力の一周期の間に終了しないこともあり得る。このような事態は、そのタイミングでの画像データ出力が行えないことになるので好ましくない。このことから、かかる事態の発生を回避すべく、描画命令の数の最適化にあたっては、実際の処理時間が一周期を超えないようにするための安全率を加味した上限値を定めておくことが望ましい。
【００３７】
また、本実施形態では、表示装置３への画像データ出力を周期的に行う場合のみを例に挙げて説明したが、その画像データ出力を周期的に行うか、あるいは描画処理部２３が処理すべき全描画命令（例えば、画像のページ全体の描画に必要となる複数の描画命令）についての処理が終了した後に一括して行うかを、コンピュータ１の利用者が入力装置２から任意に選択し得るようにすることも考えられる。この場合に、入力装置２からの選択は、描画スレッド処理の開始に先立って行うようにしても、あるいは描画スレッド処理の開始後に行うようにしてもよく、例えば描画スレッド処理の開始後に行えば、利用者が描画処理の途中で周期的な画像出力が必要ないと判断した場合に途中で一括描画に切り替え、その後におけるページ全体の処理時間の短縮化を図る、といったことも可能となる。
【００３８】
また、本実施形態では、本発明に係る画像処理装置がコンピュータ１上において実現される場合を例に挙げたが、描画命令を解釈して画像の描画処理を行って表示出力することに対応するものであれば、例えば携帯電話機のような他の電子機器であっても同様に適用することが可能である。
【００３９】
〔第２の実施の形態〕
次に、本発明の第２の実施の形態について説明する。ただし、ここでは、上述した第１の実施の形態との相違点についてのみ説明する。図６は、本発明の第２の実施の形態における画像処理装置の具体的な構成例を示すブロック図である。ここで説明する画像処理装置は、少なくともＣＰＵ、ＲＯＭおよびＲＡＭを備えてなるプリンタ５上において実現されるものである。
【００４０】
プリンタ５は、ホストコンピュータ１′から描画命令を受け取ると、その描画命令に応じた描画処理を行って、その描画結果を記録用紙上に印刷出力するものである。そのために、プリンタ５は、ホストコンピュータ１′からの描画命令を受け取るための制御ハードウエア５１と、その制御ハードウエア５１が受け取った描画命令に従いつつ画像の描画処理を行うレンダリングプログラム５２と、そのレンダリングプログラム５２による描画結果である画像データを格納するためのバッファメモリ５３と、その画像データを可視画像化して記録用紙上に印刷出力するプリンタエンジン５４と、を備えている。
【００４１】
このうち、プリンタエンジン５４は、通常のページプリンタの場合とは異なり、周期的な印刷出力に対応しているものとする。このようなプリンタエンジン５４を備えたプリンタ５としては、例えば、バッファメモリ５３内の画像データを複数回に分けて出力することが可能な、ペンプロッタやインクジェット形式のプリンタ等が挙げられる。また、レーザープリンタのような形式のものであっても、レーザー照射を複数回に分けて行うことで、周期的な印刷出力に対応可能である。
【００４２】
一方、ホストコンピュータ１′は、第１の実施の形態におけるコンピュータ１と略同様の構成であるが、レンダリングプログラム１４およびページメモリ１５に代わって、プリンタ５に対する動作指示を与えるためプリンタドライバ１６を備えている点と、入出力ハードウエア１１にプリンタ５の制御ハードウエア５１が接続されている点とで、第１の実施の形態の場合とは異なる。
【００４３】
なお、ホストコンピュータ１′は、第１の実施の形態で説明した描画命令解析部２１、描画命令変換部２２、描画処理部２３、画像データ格納部２４および描画命令数判定部２５としての機能を備えたものでなくても構わない。これら描画命令解析部２１、描画命令変換部２２、描画処理部２３、画像データ格納部２４および描画命令数判定部２５としての機能は、プリンタ５における制御ハードウエア５１またはレンダリングプログラム１４により、そのプリンタ５上で実現されるものとする。
【００４４】
以上のような構成のプリンタ５においても、上述した第１の実施の形態におけるコンピュータ１と同様の処理動作を行う。すなわち、印刷処理すべき描画命令毎にその印刷処理に要するであろう時間を算出し、その算出結果に基づいてプリンタエンジン５４での印刷出力の一周期の間に処理する描画命令の数を決定する。さらには、ある一周期について決定した数の描画命令を実際に印刷処理するのに要した時間に応じて、その次の一周期について決定する描画命令の数を補正する。
【００４５】
したがって、本実施形態においても、第１の実施の形態における場合と同様に、画像の印刷出力の一周期の間に幾つかの描画命令を纏めて処理する場合であっても、また例えばプリンタ５での処理性能が変動した場合であっても、画像の印刷出力の一周期の間に処理する描画命令の数の最適化が図れ、最初に画像が印刷出力されるまでの時間を短縮しつつ、画像全体の印刷出力が完了するまでの処理時間をも極力短縮することができる。
【００４６】
なお、本実施形態では、本発明に係る画像処理装置がプリンタ５上において実現される場合を例に挙げたが、例えばプリンタ５に対する動作指示を与えるホストコンピュータ１′のプリンタドライバ１６上で実現することも考えられる。
【００４７】
【発明の効果】
以上に説明したように、本発明に係る画像処理装置、画像処理方法および画像処理プログラムによれば、処理すべき描画命令毎にその処理に要するであろう時間を算出し、その算出結果に基づいて画像出力装置への画像データ出力の一周期の間に処理する描画命令の数を決定するので、画像データ出力の一周期の間に幾つかの描画命令を纏めて処理する場合であっても、その一周期の間に処理する描画命令の数の最適化が図れるようになる。つまり、各描画命令を処理する度に画像出力装置への画像データ出力タイミングとなったか否かの判定を行う必要がなく、その分だけ画像全体の出力が完了するまでの処理時間が短縮され、また画像データの周期的な画像出力装置への出力に対応しているので、処理すべき複数の描画命令の全てについての処理が終了するまで画像出力が待たされてしまうこともない。したがって、最初に画像出力されるまでの時間を短縮しつつ、画像全体の出力が完了するまでの処理時間をも極力短縮することが実現可能となる。
【図面の簡単な説明】
【図１】本発明に係る画像処理装置の機能構成の一例を示すブロック図である。
【図２】本発明の第１の実施の形態における画像処理装置の具体的な構成例を示すブロック図である。
【図３】本発明に係る画像処理方法の手順の一例を示すフローチャートである。
【図４】本発明に係る画像処理装置における蓄積情報の一具体例を示す説明図である。
【図５】本発明に係る画像処理方法の手順で処理される画像出力スレッド処理および描画スレッド処理の概要を模式的に示す説明図である。
【図６】本発明の第２の実施の形態における画像処理装置の具体的な構成例を示すブロック図である。
【図７】従来における周期的な画像データ出力の概要を模式的に示す説明図である。
【図８】周期的な画像データ出力の変形例の概要を模式的に示す説明図である。
【符号の説明】
１…コンピュータ、１′…ホストコンピュータ、２…入力装置２、３…表示装置、４…外部記憶装置、５…プリンタ、１１…入出力ハードウエア、１２…オペレーティングシステム、１３…アプリケーションプログラム、１４…レンダリングプログラム、１５…ページメモリ、２１…描画命令解析部、２２…描画命令変換部、２３…描画処理部、２４…画像データ格納部、２５…描画命令数判定部、５１…制御ハードウエア、５２…レンダリングプログラム、５３…バッファメモリ、５４…プリンタエンジン
【図１】
2005011177.tif 000003
【図２】
2005011177.tif 000004
【図３】
2005011177.tif 000005
【図４】
2005011177.tif 000006
【図５】
2005011177.tif 000007
【図６】
2005011177.tif 000008
【図７】
2005011177.tif 000009
【図８】
2005011177.tif 000010