(57)【要約】【課題】入力された描画命令を変換して描画性能に適した描画処理を行うことができるようにする。【解決手段】グラフィックス言語で記述された描画命令を処理する画像形成装置１００であって、画像形成装置１００の属性を示す機器情報１０１と、前記機器情報と対応している前記描画命令の付加情報とを基に、前記グラフィックス言語の描画命令を変換するパーサー部１０３と、前記変換されたグラフィックス言語の描画命令を中間言語データ１０７に変換するインタプリタ部１０４と、中間言語データ１０７を処理して画像データを形成するレンダラ部１０５とを有する。【選択図】図１
2009087243.tif 000002
【特許請求の範囲】
【請求項１】
グラフィックス言語で記述された描画命令を処理する画像形成装置であって、
前記画像形成装置の属性を示す機器情報と、前記機器情報と対応している前記描画命令の付加情報とを基に、前記グラフィックス言語の描画命令を変換するパーサー手段と、
前記変換されたグラフィックス言語の描画命令を中間言語データに変換するインタプリタ手段と、
前記中間言語データを処理して画像データを形成するレンダラ手段とを有することを特徴とする画像形成装置。
【請求項２】
前記機器情報は、描画性能であることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記グラフィックス言語がＳＶＧであることを特徴とする請求項１または２に記載の画像形成装置。
【請求項４】
前記グラフィックス言語で記述された描画命令は、動画像処理であることを特徴とする請求項１〜３の何れか１項に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像形成装置に関し、特に、グラフィックス言語で記述された描画命令から画像データを形成するために用いて好適な技術に関する。
【背景技術】
【０００２】
画像形成に際し、描画コマンド、ページ記述言語（ＰＤＬ）、グラフィックス言語、あるいはそれらを記述する中間言語を入力して描画を行う画像形成装置が、一般に広く用いられている。例えば、PostScriptやＰＤＦ等のＰＤＬやＳＶＧ（Scalable Vector Graphics）などで記述された描画データが入力されると、その描画データが解釈されて各ページもしくは各フレームの画像データが形成される。以下、描画形成前のデータを描画データ、描画形成後のデータを画像データと定義する。
【０００３】
入力される描画データは、複数種類のオブジェクト（描画オブジェクト）の集合として構成され、そのオブジェクトとしては図形、テキスト、その他の画像がある。形成される画像データは、１ページのラスタ画像、または圧縮形式の画像等である。前記画像形成装置が出力する画像は、必要に応じて一旦記憶装置に蓄積されたり、ページ合成や回転等の画像処理を行ったりした後、例えばディスプレイ等の表示装置に出力される。
【０００４】
図２は、従来の画像形成装置の構成例を示すブロック図である。２００はグラフィックス言語で記述された描画命令である。インタプリタ部２１０は、描画データ２００を解釈し、レンダラ部２３０へ出力する中間言語データ２２０を生成する。レンダラ部は中間言語データ２２０を解釈し、図示しない画像データを形成する。画像形成装置２５０で構成された画像データは、表示装置２４０等に転送され、表示される。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
近年、多くの機能と、多くのコンテンツとをユーザに分かりやすく提供するために、高度なＧＵＩの実装が望まれている。ＧＵＩのデザインも製品の重要な要素となり、単純な図形だけでなく美しいアニメーションを表示したいなどの要求もある。しかし、前述した図２に示すような画像形成装置では、画像形成装置の描画性能によっては、このような高度な描画処理が映像の進行に対応できないなど、画像データが正しく描画されない場合がある。
【０００６】
本発明は前述の問題点に鑑み、入力された描画命令を変換して描画性能に適した描画処理を行うことができるようにすることを目的としている。
【課題を解決するための手段】
【０００７】
本発明の画像形成装置は、グラフィックス言語で記述された描画命令を処理する画像形成装置であって、前記画像形成装置の属性を示す機器情報と、前記機器情報と対応している前記描画命令の付加情報とを基に、前記グラフィックス言語の描画命令を変換するパーサー手段と、前記変換されたグラフィックス言語の描画命令を中間言語データに変換するインタプリタ手段と、前記中間言語データを処理して画像データを形成するレンダラ手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、描画命令を基に画像データを形成する過程で、描画命令と機器情報とを基に画像形成装置の描画性能に適した描画命令に変換するようにしたので、描画性能に適した描画処理を行うことができる。
【発明を実施するための最良の形態】
【０００９】
（第１の実施形態）
以下、添付図面を参照しながら本発明の実施形態について説明する。
図１は、本実施形態に係る画像形成装置の構成例を示すブロック図である。
画像形成装置１００は、画像形成装置１００の属性を示す機器情報１０１を記憶しており、機器情報１０１に対応した付加情報を有するグラフィックス言語の描画命令１０２が入力される。また、画像形成装置１００は、前記付加情報と機器情報１０１とを基にグラフィックス言語の描画命令を変換するパーサー部１０３を有する。なお、機器情報１０１は、図示しない記憶部に記憶されている。
【００１０】
さらに、画像形成装置１００は、前記変換されたグラフィックス言語の描画命令を中間言語データ１０７に変換するインタプリタ部１０４と、中間言語データ１０７を処理して画像データを形成するレンダラ部１０５を有している。また、レンダラ部１０５で描画された画像データ（動画像データ）は、表示装置１０６等に表示される。なお、本実施形態では、機器情報１０１は、レンダラの処理性能を相対的な数値として保存されているものとする。
【００１１】
本実施形態では、機器情報１０１が"７０"である第１の画像形成装置と、機器情報１０１が"１５０"である第２の画像形成装置と、機器情報１０１が"２０"である第３の画像形成装置とを用いて説明する。なお、機器情報１０１は１つとは限らずに複数持つことも可能であり、表示装置１０６の表示性能などを機器情報１０１としてもよい。
【００１２】
次に、描画対象となる付加情報付きのグラフィックス言語の描画命令（以下、描画命令と称す）の一例を図３に示す。また、グラフィックス言語の描画命令の１つであるScalable Vector Graphics （以下、ＳＶＧと称す）を用いて本実施形態の説明を行う。さらに、図３に示した描画命令群３３０に従って描画した画像データの一例を図４に示す。
【００１３】
図３において、３００、３０２、３０５、３０７は描画命令に相当する。第１の描画命令３００は図４に示す描画領域４０４を定義する。第２の描画命令３０２は図４に示す円オブジェクト４０１を描画し、また円オブジェクト４０１のアニメーションの定義も行っている。第３の描画命令３０５は図４に示すグラデーション４０２の定義を行っている。第４の描画命令３０７は図４に示す長方形オブジェクト４０３を描画し、またテキストの描画も行っている。
【００１４】
また、図３において、３０１、３０３、３０４、３０６、３０８、３０９、３１０は付加情報に相当する。本実施形態では、付加情報をＳＶＧのコメント文として実装した例について説明する。前述の機器情報１０１が"７０"である第１の画像形成装置と、"１５０"である第２の画像形成装置と、"２０"である第３の画像形成装置が、図３に示す描画命令で描画処理した結果を図６に示す。第１、第２及び第３の画像形成装置はそれぞれ画像データ６００、６１０、６２０を描画する。
【００１５】
図５は、本実施形態に係る画像形成装置１００の描画処理手順の一例を示すフローチャートである。以下、図３に示した描画命令群３３０と、図５に示す画像形成装置１００の描画処理の手順を示したフローチャートと、図６に示す第１〜第３の画像形成装置が描画した画像データとを参照しながら、本実施形態の説明を行う。まず、機器情報１０１が"７０"である第１の画像形成装置が、図３に示した描画命令群３３０に従って、動画像処理である描画処理を行う過程を図５のフローチャートを参照しながら説明する。
【００１６】
図５のステップＳ５０１において、パーサー部１０３が描画命令群３３０から１ラインの読み込みを行う。最初は、描画命令群３３０の１ライン目である第１の描画命令３００のラインが読み込まれ、ステップＳ５０２に進む。
【００１７】
次に、ステップＳ５０２において、読み込まれたラインが付加情報であるか否かの判定を行う。本実施形態では、付加情報はＳＶＧのコメント文で実装されている。また、本実施形態の付加情報は、「#SPECAL＿COMMAND」というキーワードが記述されているラインを付加情報と定義する。この判定の結果、読み込んだラインに「#SPECAL＿COMMAND」が含まれていた場合は、読み込まれたラインは付加情報であると判定し、ステップＳ５１０に進む。
【００１８】
一方、ステップＳ５０２の判定の結果、読み込んだラインに「#SPECAL＿COMMAND」が含まれていなかった場合は、付加情報ではないと判定し、ステップＳ５２０に進む。なお、最初に読み込まれたラインの場合には、「#SPECAL＿COMMAND」が含まれていないため、ステップＳ５２０に進む。
【００１９】
次に、ステップＳ５２０において、パーサー部１０３は、読み込まれたラインをインタプリタ部１０４に転送し、ステップＳ５２１に進む。そして、ステップＳ５２１において、描画命令群３３０の全ラインの読み込みが終わったか否かを判定する。この判定の結果、全ラインの読み込みを完了していない場合は、ステップＳ５０１へ戻り、再びラインの読み込みを行う。なお、ステップＳ５２１の判定の結果、全ラインの読み込みを完了した場合は、ステップＳ５３０に進む。
【００２０】
次に、ステップＳ５０１では、付加情報３０１のラインを読み込んでステップＳ５０２に進み、付加情報であるか否かの判定を行う。ステップＳ５０２では、付加情報３０１のラインには「#SPECAL＿COMMAND」が含まれており、付加情報であると判定される。したがって、ステップ５１０に進む。
【００２１】
一方、ステップＳ５１０においては、読み込まれた付加情報３０１の解析を行う。具体的には、キーワード「#SPECAL＿COMMAND」に続くコマンドを解釈し、処理内容を決定する。本実施形態では２種類のコマンドを定義して説明を行う。１つ目のコマンドはＳＫＩＰコマンドとする。ＳＫＩＰコマンドは、同コマンドの引数に指定されているＳＰＥＣの値が、機器情報１０１よりも高い場合は、「<!--#SPECAL＿COMMAND END -->」までに記述されている描画命令を全て省く処理を行う。
【００２２】
逆に同コマンドの引数に指定されているＳＰＥＣの値が、機器情報１０１よりも低い場合は、「<!--#SPECAL＿COMMAND END -->」までに記述されている描画命令を全て描画対象と判定する。前述したように、第１の画像形成装置の機器情報１０１は"７０"である。例えば、読み込まれたラインの付加情報３０１に記されているＳＫＩＰコマンドの引数は"ＳＰＥＣ＝１００"であるので、ＳＫＩＰコマンドの実行を判定する。
【００２３】
次に、ステップＳ５１１において、付加情報のＳＫＩＰコマンドを実行する。第１の画像形成装置において付加情報３０１では、次にキーワード「<!--#SPECAL＿COMMAND END -->」が出現するラインまでスキップする。そして、次にキーワード「<!--#SPECAL＿COMMAND END -->」が出現する付加情報３０３まで、ラインはスキップされる。
【００２４】
ステップＳ５２０では、パーサー部１０３は読み込まれたラインをインタプリタ部１０４に転送する。ところが、ＳＫＩＰコマンドが実行されて読み込まれたラインが存在しない場合は、本ステップでは転送は行わず、ステップＳ５２１を経由してステップＳ５０１へ戻る。
【００２５】
そして、ステップＳ５０１においては、再びラインの読み込みを行う。ステップＳ５１１でＳＫＩＰコマンドが実行された場合、読み込み対象は、キーワード「<!--#SPECAL＿COMMAND END -->」が含まれるラインの次のラインが読み込み対象となる。前回に付加情報３０１が読み込まれた場合は、付加情報３０４のラインが読み込まれる。
【００２６】
そして、ステップＳ５０２に進み、読み込まれたラインが付加情報であるか否かの判定を行う。付加情報３０４のラインである場合、キーワード「#SPECAL＿COMMAND」が含まれるので、読み込まれたラインは付加情報であると判断し、ステップＳ５１０に進む。
【００２７】
次に、ステップＳ５１０においては、読み込まれた付加情報の解析を行う。キーワード「#SPECAL＿COMMAND」に続くコマンドはＳＫＩＰコマンドである。次は、第１の画像形成装置の機器情報１０１は"７０"であり、読み込まれた付加情報３０４のラインに記されているＳＫＩＰコマンドの引数は"ＳＰＥＣ＝５０"である。したがって、この場合、ＳＫＩＰコマンドは実行しないと判断する。
【００２８】
ステップＳ５１０でＳＫＩＰコマンドは実行しないと判断し、次のステップＳ５１１では、付加情報３０４から「<!--#SPECAL＿COMMAND END -->」が含まれる付加情報３０６のラインまでの第３の描画命令３０５を描画対象とする。
【００２９】
そして、ステップＳ５２０に進み、パーサー部１０３は読み込まれたラインをインタプリタ部１０４に転送する。今回は、第３の描画命令３０５のラインを描画対象としてインタプリタ部１０４に転送し、ステップＳ５２１を経由してステップＳ５０１へ戻る。
【００３０】
そして、ステップＳ５０１において、再びラインの読み込みを行う。ステップＳ５１１でＳＫＩＰコマンドが実行されたので読み込み対象は、キーワード「<!--#SPECAL＿COMMAND END -->」が含まれるラインの次のラインが読み込み対象となる。本ステップでは、記述３２０のラインが読み込まれる。そして、ステップ５０２に進み、読み込まれた記述３２０のラインが付加情報であるか否かの判定を行う。この場合、キーワード「#SPECAL＿COMMAND」は含まれないので、ステップＳ５２０に進む。
【００３１】
ステップＳ５２０においては、パーサー部１０３は読み込まれた記述３２０のラインをインタプリタ部１０４に転送する。そして、ステップＳ５２１に進み、全ラインの読み込みが終わっていないため、ステップＳ５０１に戻る。
【００３２】
そして、ステップＳ５０１では、再びラインの読み込みを行い、付加情報３０８のラインが読み込まれる。次に、ステップＳ５０２において、付加情報３０８のラインにはキーワード「#SPECAL＿COMMAND」が含まれるので、付加情報と判断し、ステップＳ５１０に進む。
【００３３】
次に、ステップＳ５１０において、読み込まれた付加情報３０８の解析を行う。ステップＳ５１０では、キーワード「#SPECAL＿COMMAND」に続くコマンドを解釈し処理内容を決定する。今回は、２つ目のコマンドであるＣＨＡＮＧＥコマンドがある。
【００３４】
ＣＨＡＮＧＥコマンドは、同コマンドの引数に指定されているＳＰＥＣの値が機器情報１０１よりも低い場合、キーワード「!-#CHANGE#[   #]>」までに記述されている描画命令を「<!#CHANGE#[   #]>」の描画命令と置き換える。逆に同コマンドの引数に指定されているＳＰＥＣの値が機器情報１０１よりも高い場合、「<!#CHANGE#[   #]>」のカッコ内に記述されている描画命令を無視する。そして、キーワード「<!#CHANGE#[   #]>」までの描画命令を描画対象と判断する。
【００３５】
付加情報３０８のラインの場合、機器情報１０１が"５０"よりも低い場合、付加情報３０９のラインを描画対象として選択し、記述３２１のラインを無視する。逆に機器情報１０１が"５０"よりも高い場合、記述３２１のラインを描画対象として選択し、付加情報３０９のラインを無視する。例えば、第１の画像形成装置の機器情報１０１は"７０"であり、読み込まれた付加情報３０８のラインに記されているＣＨＡＮＧＥコマンドの引数は"ＳＰＥＣ＝５０"である。この場合、記述３２１のラインを描画対象として選択する。
【００３６】
ステップＳ５２０では、パーサー部１０３は描画対象である記述３２１のラインをインタプリタ部１０４に転送する。そして、ステップＳ５２１に進み、全ラインの読み込みが終わっていないため、ステップＳ５０１に戻る。
【００３７】
次の記述３２２のラインには付加情報が無い。このため、記述３２２に含まれる各ラインにおいては、ステップＳ５０１のラインの読み込み処理、ステップＳ５２０でのインタプリタ部１０４への転送処理、ステップＳ５２１の全ライン読み込み完了処理をライン終了までを繰り返す。
【００３８】
そして、記述３２２の最終ラインの読み込みを行った後、ステップＳ５２１において、全ラインの読み出しが完了したと判断し、ステップＳ５３０に進み、インタプリタ部１０４はインタプリットを行う。
【００３９】
機器情報１０１のＳＰＥＣが"７０"である第１の画像形成装置が、描画命令群３３０を前述の処理によって変換した描画命令７００を図７に示す。図７に示す描画命令７００は記述７０１、７０２、７０３で構成され、付加情報は削除されて、さらに描画命令群３３０におけるライン群も削除されている。また、第３の描画命令３０５のラインはそのまま出力され、第４の描画命令３０７のラインは変換されて出力される。
【００４０】
ステップＳ５３０では、このように変換された描画命令７００がインタプリットの対象としてインタプリタ部１０４において処理される。また、インタプリタ部１０４では、描画命令７００をレンダラ部１０５が解釈可能な中間言語データ１０７に変換を行う。
【００４１】
次に、ステップＳ５３１においては、変換された中間言語データ１０７を基にレンダラ部１０５において画像形成を行い、ステップＳ５３２において、画像データを表示装置１０６に表示する。
【００４２】
描画命令７００によって形成される画像データは、図６に示す画像データ６００となる。このように、機器情報１０１が"７０"である第１の画像形成装置が、図３の付加情報付の描画命令群３３０を基に画像形成処理を行うと、図６に示す画像データ６００が得られる。同様に、機器情報が"１５０"である第２の画像形成装置と、機器情報１０１が"２０"である第３の画像形成装置が図３に示す描画命令群３３０を描画処理した結果も図６に示す。第２及び第３の画像形成装置は、それぞれ画像データ６１０、６２０を描画する。
【００４３】
第１の画像形成装置は機器情報が１００以下であったため、省略された第２の描画命令３０２のラインも、機器情報１０１が"１５０"である第２の画像形成装置では描画対象となり、円オブジェクト６１１が描画される。また、機器情報１０１が"２０"である第３の画像形成装置では、オブジェクト６０２内のグラデーション６０３（オブジェクト６１２内のグラデーション６１３）を定義している第３の描画命令３０５のラインがスキップされる。これにより、オブジェクト６２２の着色も単色６２３で行われるように変換される。
【００４４】
このように本実施形態においては、画像形成装置１００の機器情報１０１と、描画命令の付加情報とを基に、画像形成装置１００に適した描画命令に変換することにより、画像形成装置に適した描画処理を行うことができる。
【００４５】
（本発明に係る他の実施形態）
前述した本発明の実施形態における画像形成装置を構成する各手段、並びに画像形成方法の各工程は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００４６】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００４７】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図５に示すフローチャートに対応したプログラム）を、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００４８】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００４９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００５０】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などもある。
【００５１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００５２】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００５３】
また、その他の方法として、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００５４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００５５】
さらに、その他の方法として、まず記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００５６】
【図１】本発明の実施形態に係る画像形成装置の構成例を示すブロック図である。
【図２】従来の画像形成装置の構成例を示すブロック図である。
【図３】本発明の実施形態に係る画像形成装置に入力される描画命令の一例を示す図である。
【図４】図３の描画命令で描かれる画像データの一例を示す図である。
【図５】本発明の実施形態における描画命令の変換処理手順の一例を示すフローチャートである。
【図６】本発明の実施形態に係る画像形成装置により描画される画像データの例を示す図である。
【図７】本発明の実施形態に係る画像形成装置で変換された描画命令の一例を示す図である。
【符号の説明】
【００５７】
１００  画像形成装置
１０１  機器情報
１０２  描画命令
１０３  パーサー部
１０４  インタプリタ部
１０５  レンダラ部
１０６  表示装置
１０７  中間言語データ
【図１】
2009087243.tif 000003
【図２】
2009087243.tif 000004
【図３】
2009087243.tif 000005
【図４】
2009087243.tif 000006
【図５】
2009087243.tif 000007
【図６】
2009087243.tif 000008
【図７】
2009087243.tif 000009