説明

画像形成装置、その制御方法及びコンピュータプログラム

【課題】CPUの周波数やメモリの容量などの能力によらず、描画内容に対するレンダリングの最適化を行うことができる画像形成装置を提供する。
【解決手段】グラフィックス言語で記述されたグラフィックス言語描画命令を処理し、描画する画像形成装置であって、前記グラフィックス言語描画命令を解析するパーサ部101と、前記パーサ部101で解析されたグラフィックス言語描画命令を処理し、中間言語に変換するインタプリタ部102と、前記インタプリタ部102で変換された中間言語を処理し画像データを生成するレンダリング部105と、前記グラフィックス言語描画命令に含まれ、前記レンダリング部105の構成に対応づけられた処理が記述された付加情報を、前記レンダリング部105に設定する付加情報設定部103を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディスプレイ等の表示装置に、描画オブジェクトを表示するための画像形成装置等に関するものである。
【背景技術】
【0002】
画像形成に際し、描画コマンド、グラフィックス言語、あるいはそれらを記述する中間言語により描画が行なわれる画像形成装置が、一般に広く用いられている。これら描画コマンド及びグラフィックス言語として、例えばSVG、OpenVG等が知られており、ほとんどが、描画処理を行うレンダリング装置に依存しない形式の標準規格で定められている。グラフィックス言語で記述された描画データが入力されると、その描画データが解釈されて各画面の動画像データが形成される。以下、描画形成前のデータを描画データ、描画形成後のデータを画像データとする。
【0003】
入力される描画データは、複数種類のオブジェクトの集合として構成され、そのオブジェクトとしては図形、テキスト、その他の画像がある。形成される画像データは、1ページのラスタ画像、または圧縮形式の画像等である。前記画像形成装置が出力する画像は、必要に応じて一旦記憶装置に蓄積されたり、ページ合成や回転等の画像処理を行ったりした後、例えばディスプレイ等の表示装置に出力される。
【0004】
ここで、図6と図7を参照して従来の画像形成装置について説明する。図6は、従来の画像形成装置の機能構成を示す図である。600は、SVGなどのグラフィックス言語で記述された描画命令である。ここで、SVGとはScalable Vector Graphicsのことをいう。601は、描画命令600を記述しているグラフィックス言語に対応したグラフィックス言語描画命令を解析するパーサ部である。602は、描画命令を中間言語に変換するインタプリタ部である。603は、中間言語である。604は、中間言語603を処理し、レンダリングするレンダリング部である。605は、画像データを表示する画像表示部である。
【0005】
図7は、従来の画像形成装置の処理動作を示すフローチャートであり、このフローチャートに従って処理動作を説明する。まず、パーサ部601がグラフィックス言語描画命令600の読み出しを開始する(ステップS701)。グラフィックス言語描画命令600をラインごとに読み出し、すべてのラインの読み出しが終了する(ステップS702)。インタプリタ部602はパーサ部601から解析の終了したグラフィックス言語描画命令を受け取り、インタプリットを行い、中間言語603を生成する(ステップS703)。
【0006】
次に、レンダリング部604はインタプリタ部602が生成した中間言語603を受け取り、レンダリングを行い、画像データを生成する(ステップS704)。画像表示部605はレンダリング部604によってレンダリングされた画像データをプリンタ、ディスプレイなどの表示装置を用いて表示する(ステップS705)。
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した従来の画像形成装置の処理方法は、グラフィック言語描画命令に一般的な規格を用いている。そのため、すべてのレンダリング装置が同一の描画命令を処理することになるため、CPUの周波数やメモリの容量など構成が異なるレンダリング装置別に最適化ができないという問題があった。
【0008】
また、レンダリング装置がグラフィック言語描画命令の内容にかかわらず、一様に描画処理を行うため、オブジェクト数が非常に大きくなった場合に一フレームの描画に時間がかかる。その結果として表示の応答時間に時間がかかったり、逆にオブジェクト数が少なくなった場合などに高いフレームレートで描画を行うためにリソースを必要以上に消費してしまい、描画内容に対するレンダリングの最適化ができないという問題があった。
【課題を解決するための手段】
【0009】
前記問題点を解決するために本発明の画像形成装置は、グラフィックス言語で記述されたグラフィックス言語描画命令を処理し描画する画像形成装置であって、前記グラフィックス言語描画命令を解析する解析部と、前記解析部で解析されたグラフィックス言語描画命令を処理し、中間言語に変換する変換部と、前記変換部で変換された中間言語を処理し画像データを生成する画像生成部と、前記グラフィックス言語描画命令に含まれ、前記画像生成部の構成に対応づけられた処理が記述された付加情報を、前記画像生成部に設定する付加情報設定部を有することを特徴とする。
【発明の効果】
【0010】
本発明によれば、グラフィックス言語描画命令を作成するユーザーが、任意のオブジェクトに対してレンダリング設定を指定することができるので、ユーザーが意図してオブジェクトの表示を変更することができる。また、例えば付加情報にレンダリング部のIDを含めることによって、構成が異なる複数のレンダリング部にあわせてレンダリング設定を変更して指定することができる。したがって、CPUやメモリ容量の構成が異なる複数のレンダリング部に対して各々のレンダリング部に合わせたレンダリング部設定をすることができ、グラフィックス言語描画命令をレンダリング部にあわせて最適に実行させることができる。
【発明を実施するための最良の形態】
【0011】
以下、図1〜5を参照して本発明の実施形態について説明する。図1は、本発明の実施形態に係る画像形成装置の機能構成を示す図である。100は、SVG、OpenVGなどのグラフィックス言語で記述され、オブジェクトの描画命令に対して、レンダリング部105の構成に対応づけられた処理が記述された付加情報を含む描画命令である。101は、グラフィックス言語描画命令100を記述している言語および付加情報を解析可能な解析部(以下、パーサ部という)である。102は、グラフィックス言語描画命令100を処理して中間言語104を生成する変換部(以下、インタプリタ部という)である。103は、付加情報の設定をレンダリング部に対して行う付加情報設定部である。104は、インタプリタ部102によって生成される中間言語である。105は、中間言語104を描画して画像データを生成する画像生成部(以下、レンダリング部という)である。106は、画像データを表示する画像表示部である。
【0012】
図2は、本発明の実施形態に係る画像形成装置の処理動作を示すフローチャートであり、このフローチャートに従って処理動作を説明する。まず、パーサ部102がグラフィックス言語で記述されているオブジェクトの描画命令に対して、レンダリング部105の構成に対応づけられた処理が記述された付加情報を含む描画命令100からラインごとの読み出しを開始する(ステップS201)。パーサ部101は、読み出したラインにコメントが含まれているかを解析し、コメントが含まれていた場合、そのコメントが付加情報であるかを判定する(ステップS202)。
【0013】
ここで、付加情報およびその判定方法について、以下に詳細な説明を行う。図4には、本実施形態のグラフィックス言語描画命令で記述されたGUI400を示す。401のメニューが表示されると402のアイコンは、一秒間で左右に拡大され動くことを繰り返すものであり、前記グラフィックス言語描画命令には動画処理の命令が含まれている。また、この描画命令は、IDがRN_01であるレンダリング部と、RN_01よりも高い周波数を持ちIDがRN_02であるレンダリング部との2つのレンダリング部でレンダリングされる命令である。また、上記レンダリング部はフレームレートのfpsを変更するためのレジスタを保持する。
【0014】
図3の301は付加情報を含まないグラフィックス言語描画命令の例である。図3の302は付加情報を含むグラフィックス言語描画命令の例である。本実施形態では、グラフィックス言語描画命令はSVGで記述されている。また、図3の付加情報を含むグラフィックス言語302のうち、303が付加情報である。本実施形態では、付加情報をオブジェクト単位のコメントに記述する。また、一般的なコメントと付加情報とを区別するために、付加情報であることを示すキーワードとして、#SPECAL_COMMANDを使用し、#SPECAL_COMMANDからはじめるコメントを付加情報とする。
【0015】
付加情報は、付加情報を実行するレンダリング部を特定するレンダリング部のID、レンダリング部の設定情報で構成される。本実施形態では、レンダリング部の設定情報はレンダリング部のレジスタの値を変更するとして、レジスタのアドレスおよび設定値を記述する。本実施形態では、アイコン402に対する描画命令に対して、レンダリング部IDRN_01に対してはフレームレートを10fpsに設定し、レンダリング部IDRN_02に対してはフレームレートを20fpsに設定する。
【0016】
次に、図2のフローチャートでステップS202において付加情報であると判定された場合、パーサ部102は、上述したキーワード#SPECAL_COMMANDつきのコメントから付加情報を抽出する。さらにパーサ部102は、その付加情報を付加情報設定部103に送信する(ステップS203)。付加情報を受信した付加情報設定部103は、付加情報を解析し、付加情報の内容をレンダリング部105に設定する(ステップS204)。
【0017】
以下、付加情報の解析および設定について詳細に説明する。付加情報設定部103は、付加情報303から、
ID=RN_01、REGID=FRAMERATE、REGDATA=10
ID=RN_02、REGID=FRAMERATE、REGDATA=20
を受け取る。IDは描画命令を処理するレンダリング部のID、REGIDはレンダリング部が持っているレジスタのID、REGDATAはREGIDのレジスタに設定する値を表すラベルである。付加情報設定部103は、各ラベルの値を参照してレンダリング部の設定を行う。また、付加情報設定部103は、対象となるレンダリング部のID情報と、レジスタIDとレジスタアドレスとが対応づけられたデータを保持している。
【0018】
付加情報設定部103は、まずIDを参照し、付加情報設定部103の対象とするレンダリング部のIDが含まれている命令かを判断する。対象となるIDが含まれない命令は処理しない。次に、レンダリング部のID情報とレジスタIDとレジスタアドレスとの対応データを参照して指定されているIDのレジスタアドレスが存在するかを確認する。アドレスが存在したら、REGDATAを参照して、設定されているデータを先ほどのアドレスへの書き込みをCPUに命令する。CPUは命令を実行し、レンダリング部のレジスタに値を書き込む。本実施形態では、RN_01のFRAMERATEレジスタに対して10を書き込み、RN_02のFRAMERATEレジスタに対して20を書き込む。
【0019】
パーサ部101は、グラフィックス言語描画命令のすべてのラインの読み出しおよび解析が終了したかどうかを判定する(ステップS205)。終了していない場合は、ステップS201からステップS204を繰り返す。グラフィックス言語描画命令のすべてのラインの読み出し及び解析が終了したら、インタプリタ部102はインタプリットを行い、グラフィックス言語描画命令から中間言語を生成する(ステップS206)。レンダリング部105は、インタプリタ部102が生成した言語を処理し、オブジェクトの描画を行い画像データを生成する(ステップS207)。
【0020】
図5はレンダリング部RN_01とレンダリング部RN_02によって実行された場合のアイコン402の様子を示している。レンダリング部RN_02はレンダリング部RN_01に対して高いフレームレートで描画される。生成された画像データは、プリンタやモニタなどの表示装置によって表示される(ステップS208)。
【0021】
なお、上述した本発明の実施形態では、描画命令は2つのレンダリング部でレンダリングされる命令についてのみ説明した。しかしながら、これに限られず、描画命令は2つ以上のレンダリング部でレンダリングされる命令であってもよい。
【0022】
上述した本発明の実施形態における画像形成装置を構成する各手段、並びに画像形成装置の制御方法の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【0023】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、複数の機器からなるシステムに適用してもよい。
【0024】
なお、本発明は、上述した実施形態の機能を実現するソフトウェアのプログラムを、システムまたは装置に直接、または遠隔から供給する。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【0025】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
【0026】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0027】
さらに、その他の方法として、まず記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【0028】
【図1】本発明の実施形態に係る画像形成装置の機能構成を示す図である。
【図2】本発明の実施形態に係る画像形成装置の処理動作を示すフローチャートである。
【図3】グラフィックス言語描画命令の一例を示す図である。
【図4】グラフィックス言語描画命令で記述されたGUIを示す図である。
【図5】本発明の実施形態に係るレンダリング部で形成された画像であるアイコンの様子を示す図である。
【図6】従来の画像形成装置の機能構成を示す図である。
【図7】従来の画像形成装置の処理動作を示すフローチャートである。
【符号の説明】
【0029】
100 グラフィックス言語描画命令
101 解析部(パーサ部)
102 変換部(インタプリタ部)
103 付加情報設定部
104 中間言語
105 画像生成部(レンダリング部)
106 画像表示部

【特許請求の範囲】
【請求項1】
グラフィックス言語で記述されたグラフィックス言語描画命令を処理し、描画する画像形成装置であって、
前記グラフィックス言語描画命令を解析する解析部と、
前記解析部で解析されたグラフィックス言語描画命令を処理し中間言語に変換する変換部と、
前記変換部で変換された中間言語を処理し画像データを生成する画像生成部と、
前記グラフィックス言語描画命令に含まれ、前記画像生成部の構成に対応づけられた処理が記述された付加情報を、前記画像生成部に設定する付加情報設定部を有することを特徴とする画像形成装置。
【請求項2】
前記付加情報は、前記画像生成部のIDと、前記画像生成部のレジスタに対する設定値とを有することを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記付加情報は、前記グラフィックス言語描画命令のコメント内に記述されていることを特徴とする請求項1又は2に記載の画像形成装置。
【請求項4】
前記付加情報設定部は、前記グラフィックス言語描画命令に含まれる前記付加情報を参照し前記画像生成部のレジスタに対して設定することを特徴とする請求項1〜3のいずれか1項に記載の画像形成装置。
【請求項5】
前記グラフィックス言語は、SVGであることを特徴とする請求項1〜4のいずれか1項に記載の画像形成装置。
【請求項6】
前記グラフィックス言語描画命令は、動画処理の命令であることを特徴とする請求項1〜5のいずれか1項に記載の画像形成装置。
【請求項7】
グラフィックス言語で記述されたグラフィックス言語描画命令を処理し、描画する画像形成装置の制御方法であって、
前記グラフィックス言語描画命令を解析する解析ステップと、
前記解析ステップで解析されたグラフィックス言語描画命令を処理し中間言語に変換する変換ステップと、
前記変換ステップで変換された中間言語を処理し画像データを生成する画像生成ステップと、
前記グラフィックス言語描画命令に含まれ、前記画像生成ステップに対応づけられた処理が記述された付加情報を、前記画像生成ステップに対応づける付加情報設定ステップを有することを特徴とする画像形成装置の制御方法。
【請求項8】
グラフィックス言語で記述されたグラフィックス言語描画命令を処理し、描画する画像形成装置を制御するコンピュータプログラムであって、
前記グラフィックス言語描画命令を解析する解析ステップと、
前記解析ステップで解析されたグラフィックス言語描画命令を処理し中間言語に変換する変換ステップと、
前記変換ステップで変換された中間言語を処理し画像データを生成する画像生成ステップと、
前記グラフィックス言語描画命令に含まれ、前記画像生成ステップに対応づけられた処理が記述された付加情報を、前記画像生成ステップに対応づける付加情報設定ステップとをコンピュータに実行させるためのコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2008−140323(P2008−140323A)
【公開日】平成20年6月19日(2008.6.19)
【国際特許分類】
【出願番号】特願2006−328368(P2006−328368)
【出願日】平成18年12月5日(2006.12.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】