(57)【要約】【課題】ＣＰＵの周波数やメモリの容量などの能力によらず、描画内容に対するレンダリングの最適化を行うことができる画像形成装置を提供する。【解決手段】グラフィックス言語で記述されたグラフィックス言語描画命令を処理し、描画する画像形成装置であって、前記グラフィックス言語描画命令を解析するパーサ部１０１と、前記パーサ部１０１で解析されたグラフィックス言語描画命令を処理し、中間言語に変換するインタプリタ部１０２と、前記インタプリタ部１０２で変換された中間言語を処理し画像データを生成するレンダリング部１０５と、前記グラフィックス言語描画命令に含まれ、前記レンダリング部１０５の構成に対応づけられた処理が記述された付加情報を、前記レンダリング部１０５に設定する付加情報設定部１０３を有する。【選択図】図１
2008140323.tif 000002
【特許請求の範囲】
【請求項１】
グラフィックス言語で記述されたグラフィックス言語描画命令を処理し、描画する画像形成装置であって、
前記グラフィックス言語描画命令を解析する解析部と、
前記解析部で解析されたグラフィックス言語描画命令を処理し中間言語に変換する変換部と、
前記変換部で変換された中間言語を処理し画像データを生成する画像生成部と、
前記グラフィックス言語描画命令に含まれ、前記画像生成部の構成に対応づけられた処理が記述された付加情報を、前記画像生成部に設定する付加情報設定部を有することを特徴とする画像形成装置。
【請求項２】
前記付加情報は、前記画像生成部のＩＤと、前記画像生成部のレジスタに対する設定値とを有することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記付加情報は、前記グラフィックス言語描画命令のコメント内に記述されていることを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記付加情報設定部は、前記グラフィックス言語描画命令に含まれる前記付加情報を参照し前記画像生成部のレジスタに対して設定することを特徴とする請求項１〜３のいずれか１項に記載の画像形成装置。
【請求項５】
前記グラフィックス言語は、ＳＶＧであることを特徴とする請求項１〜４のいずれか１項に記載の画像形成装置。
【請求項６】
前記グラフィックス言語描画命令は、動画処理の命令であることを特徴とする請求項１〜５のいずれか１項に記載の画像形成装置。
【請求項７】
グラフィックス言語で記述されたグラフィックス言語描画命令を処理し、描画する画像形成装置の制御方法であって、
前記グラフィックス言語描画命令を解析する解析ステップと、
前記解析ステップで解析されたグラフィックス言語描画命令を処理し中間言語に変換する変換ステップと、
前記変換ステップで変換された中間言語を処理し画像データを生成する画像生成ステップと、
前記グラフィックス言語描画命令に含まれ、前記画像生成ステップに対応づけられた処理が記述された付加情報を、前記画像生成ステップに対応づける付加情報設定ステップを有することを特徴とする画像形成装置の制御方法。
【請求項８】
グラフィックス言語で記述されたグラフィックス言語描画命令を処理し、描画する画像形成装置を制御するコンピュータプログラムであって、
前記グラフィックス言語描画命令を解析する解析ステップと、
前記解析ステップで解析されたグラフィックス言語描画命令を処理し中間言語に変換する変換ステップと、
前記変換ステップで変換された中間言語を処理し画像データを生成する画像生成ステップと、
前記グラフィックス言語描画命令に含まれ、前記画像生成ステップに対応づけられた処理が記述された付加情報を、前記画像生成ステップに対応づける付加情報設定ステップとをコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスプレイ等の表示装置に、描画オブジェクトを表示するための画像形成装置等に関するものである。
【背景技術】
【０００２】
画像形成に際し、描画コマンド、グラフィックス言語、あるいはそれらを記述する中間言語により描画が行なわれる画像形成装置が、一般に広く用いられている。これら描画コマンド及びグラフィックス言語として、例えばＳＶＧ、ＯｐｅｎＶＧ等が知られており、ほとんどが、描画処理を行うレンダリング装置に依存しない形式の標準規格で定められている。グラフィックス言語で記述された描画データが入力されると、その描画データが解釈されて各画面の動画像データが形成される。以下、描画形成前のデータを描画データ、描画形成後のデータを画像データとする。
【０００３】
入力される描画データは、複数種類のオブジェクトの集合として構成され、そのオブジェクトとしては図形、テキスト、その他の画像がある。形成される画像データは、１ページのラスタ画像、または圧縮形式の画像等である。前記画像形成装置が出力する画像は、必要に応じて一旦記憶装置に蓄積されたり、ページ合成や回転等の画像処理を行ったりした後、例えばディスプレイ等の表示装置に出力される。
【０００４】
ここで、図６と図７を参照して従来の画像形成装置について説明する。図６は、従来の画像形成装置の機能構成を示す図である。６００は、ＳＶＧなどのグラフィックス言語で記述された描画命令である。ここで、ＳＶＧとはＳｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓのことをいう。６０１は、描画命令６００を記述しているグラフィックス言語に対応したグラフィックス言語描画命令を解析するパーサ部である。６０２は、描画命令を中間言語に変換するインタプリタ部である。６０３は、中間言語である。６０４は、中間言語６０３を処理し、レンダリングするレンダリング部である。６０５は、画像データを表示する画像表示部である。
【０００５】
図７は、従来の画像形成装置の処理動作を示すフローチャートであり、このフローチャートに従って処理動作を説明する。まず、パーサ部６０１がグラフィックス言語描画命令６００の読み出しを開始する（ステップＳ７０１）。グラフィックス言語描画命令６００をラインごとに読み出し、すべてのラインの読み出しが終了する（ステップＳ７０２）。インタプリタ部６０２はパーサ部６０１から解析の終了したグラフィックス言語描画命令を受け取り、インタプリットを行い、中間言語６０３を生成する（ステップＳ７０３）。
【０００６】
次に、レンダリング部６０４はインタプリタ部６０２が生成した中間言語６０３を受け取り、レンダリングを行い、画像データを生成する（ステップＳ７０４）。画像表示部６０５はレンダリング部６０４によってレンダリングされた画像データをプリンタ、ディスプレイなどの表示装置を用いて表示する（ステップＳ７０５）。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来の画像形成装置の処理方法は、グラフィック言語描画命令に一般的な規格を用いている。そのため、すべてのレンダリング装置が同一の描画命令を処理することになるため、ＣＰＵの周波数やメモリの容量など構成が異なるレンダリング装置別に最適化ができないという問題があった。
【０００８】
また、レンダリング装置がグラフィック言語描画命令の内容にかかわらず、一様に描画処理を行うため、オブジェクト数が非常に大きくなった場合に一フレームの描画に時間がかかる。その結果として表示の応答時間に時間がかかったり、逆にオブジェクト数が少なくなった場合などに高いフレームレートで描画を行うためにリソースを必要以上に消費してしまい、描画内容に対するレンダリングの最適化ができないという問題があった。
【課題を解決するための手段】
【０００９】
前記問題点を解決するために本発明の画像形成装置は、グラフィックス言語で記述されたグラフィックス言語描画命令を処理し描画する画像形成装置であって、前記グラフィックス言語描画命令を解析する解析部と、前記解析部で解析されたグラフィックス言語描画命令を処理し、中間言語に変換する変換部と、前記変換部で変換された中間言語を処理し画像データを生成する画像生成部と、前記グラフィックス言語描画命令に含まれ、前記画像生成部の構成に対応づけられた処理が記述された付加情報を、前記画像生成部に設定する付加情報設定部を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、グラフィックス言語描画命令を作成するユーザーが、任意のオブジェクトに対してレンダリング設定を指定することができるので、ユーザーが意図してオブジェクトの表示を変更することができる。また、例えば付加情報にレンダリング部のＩＤを含めることによって、構成が異なる複数のレンダリング部にあわせてレンダリング設定を変更して指定することができる。したがって、ＣＰＵやメモリ容量の構成が異なる複数のレンダリング部に対して各々のレンダリング部に合わせたレンダリング部設定をすることができ、グラフィックス言語描画命令をレンダリング部にあわせて最適に実行させることができる。
【発明を実施するための最良の形態】
【００１１】
以下、図１〜５を参照して本発明の実施形態について説明する。図１は、本発明の実施形態に係る画像形成装置の機能構成を示す図である。１００は、ＳＶＧ、ＯｐｅｎＶＧなどのグラフィックス言語で記述され、オブジェクトの描画命令に対して、レンダリング部１０５の構成に対応づけられた処理が記述された付加情報を含む描画命令である。１０１は、グラフィックス言語描画命令１００を記述している言語および付加情報を解析可能な解析部（以下、パーサ部という）である。１０２は、グラフィックス言語描画命令１００を処理して中間言語１０４を生成する変換部（以下、インタプリタ部という）である。１０３は、付加情報の設定をレンダリング部に対して行う付加情報設定部である。１０４は、インタプリタ部１０２によって生成される中間言語である。１０５は、中間言語１０４を描画して画像データを生成する画像生成部（以下、レンダリング部という）である。１０６は、画像データを表示する画像表示部である。
【００１２】
図２は、本発明の実施形態に係る画像形成装置の処理動作を示すフローチャートであり、このフローチャートに従って処理動作を説明する。まず、パーサ部１０２がグラフィックス言語で記述されているオブジェクトの描画命令に対して、レンダリング部１０５の構成に対応づけられた処理が記述された付加情報を含む描画命令１００からラインごとの読み出しを開始する（ステップＳ２０１）。パーサ部１０１は、読み出したラインにコメントが含まれているかを解析し、コメントが含まれていた場合、そのコメントが付加情報であるかを判定する（ステップＳ２０２）。
【００１３】
ここで、付加情報およびその判定方法について、以下に詳細な説明を行う。図４には、本実施形態のグラフィックス言語描画命令で記述されたＧＵＩ４００を示す。４０１のメニューが表示されると４０２のアイコンは、一秒間で左右に拡大され動くことを繰り返すものであり、前記グラフィックス言語描画命令には動画処理の命令が含まれている。また、この描画命令は、ＩＤがＲＮ＿０１であるレンダリング部と、ＲＮ＿０１よりも高い周波数を持ちＩＤがＲＮ＿０２であるレンダリング部との２つのレンダリング部でレンダリングされる命令である。また、上記レンダリング部はフレームレートのｆｐｓを変更するためのレジスタを保持する。
【００１４】
図３の３０１は付加情報を含まないグラフィックス言語描画命令の例である。図３の３０２は付加情報を含むグラフィックス言語描画命令の例である。本実施形態では、グラフィックス言語描画命令はＳＶＧで記述されている。また、図３の付加情報を含むグラフィックス言語３０２のうち、３０３が付加情報である。本実施形態では、付加情報をオブジェクト単位のコメントに記述する。また、一般的なコメントと付加情報とを区別するために、付加情報であることを示すキーワードとして、＃ＳＰＥＣＡＬ＿ＣＯＭＭＡＮＤを使用し、＃ＳＰＥＣＡＬ＿ＣＯＭＭＡＮＤからはじめるコメントを付加情報とする。
【００１５】
付加情報は、付加情報を実行するレンダリング部を特定するレンダリング部のＩＤ、レンダリング部の設定情報で構成される。本実施形態では、レンダリング部の設定情報はレンダリング部のレジスタの値を変更するとして、レジスタのアドレスおよび設定値を記述する。本実施形態では、アイコン４０２に対する描画命令に対して、レンダリング部ＩＤＲＮ＿０１に対してはフレームレートを１０ｆｐｓに設定し、レンダリング部ＩＤＲＮ＿０２に対してはフレームレートを２０ｆｐｓに設定する。
【００１６】
次に、図２のフローチャートでステップＳ２０２において付加情報であると判定された場合、パーサ部１０２は、上述したキーワード＃ＳＰＥＣＡＬ＿ＣＯＭＭＡＮＤつきのコメントから付加情報を抽出する。さらにパーサ部１０２は、その付加情報を付加情報設定部１０３に送信する（ステップＳ２０３）。付加情報を受信した付加情報設定部１０３は、付加情報を解析し、付加情報の内容をレンダリング部１０５に設定する（ステップＳ２０４）。
【００１７】
以下、付加情報の解析および設定について詳細に説明する。付加情報設定部１０３は、付加情報３０３から、
ＩＤ＝ＲＮ＿０１、ＲＥＧＩＤ＝ＦＲＡＭＥＲＡＴＥ、ＲＥＧＤＡＴＡ＝１０
ＩＤ＝ＲＮ＿０２、ＲＥＧＩＤ＝ＦＲＡＭＥＲＡＴＥ、ＲＥＧＤＡＴＡ＝２０
を受け取る。ＩＤは描画命令を処理するレンダリング部のＩＤ、ＲＥＧＩＤはレンダリング部が持っているレジスタのＩＤ、ＲＥＧＤＡＴＡはＲＥＧＩＤのレジスタに設定する値を表すラベルである。付加情報設定部１０３は、各ラベルの値を参照してレンダリング部の設定を行う。また、付加情報設定部１０３は、対象となるレンダリング部のＩＤ情報と、レジスタＩＤとレジスタアドレスとが対応づけられたデータを保持している。
【００１８】
付加情報設定部１０３は、まずＩＤを参照し、付加情報設定部１０３の対象とするレンダリング部のＩＤが含まれている命令かを判断する。対象となるＩＤが含まれない命令は処理しない。次に、レンダリング部のＩＤ情報とレジスタＩＤとレジスタアドレスとの対応データを参照して指定されているＩＤのレジスタアドレスが存在するかを確認する。アドレスが存在したら、ＲＥＧＤＡＴＡを参照して、設定されているデータを先ほどのアドレスへの書き込みをＣＰＵに命令する。ＣＰＵは命令を実行し、レンダリング部のレジスタに値を書き込む。本実施形態では、ＲＮ＿０１のＦＲＡＭＥＲＡＴＥレジスタに対して１０を書き込み、ＲＮ＿０２のＦＲＡＭＥＲＡＴＥレジスタに対して２０を書き込む。
【００１９】
パーサ部１０１は、グラフィックス言語描画命令のすべてのラインの読み出しおよび解析が終了したかどうかを判定する（ステップＳ２０５）。終了していない場合は、ステップＳ２０１からステップＳ２０４を繰り返す。グラフィックス言語描画命令のすべてのラインの読み出し及び解析が終了したら、インタプリタ部１０２はインタプリットを行い、グラフィックス言語描画命令から中間言語を生成する（ステップＳ２０６）。レンダリング部１０５は、インタプリタ部１０２が生成した言語を処理し、オブジェクトの描画を行い画像データを生成する（ステップＳ２０７）。
【００２０】
図５はレンダリング部ＲＮ＿０１とレンダリング部ＲＮ＿０２によって実行された場合のアイコン４０２の様子を示している。レンダリング部ＲＮ＿０２はレンダリング部ＲＮ＿０１に対して高いフレームレートで描画される。生成された画像データは、プリンタやモニタなどの表示装置によって表示される（ステップＳ２０８）。
【００２１】
なお、上述した本発明の実施形態では、描画命令は２つのレンダリング部でレンダリングされる命令についてのみ説明した。しかしながら、これに限られず、描画命令は２つ以上のレンダリング部でレンダリングされる命令であってもよい。
【００２２】
上述した本発明の実施形態における画像形成装置を構成する各手段、並びに画像形成装置の制御方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００２３】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、複数の機器からなるシステムに適用してもよい。
【００２４】
なお、本発明は、上述した実施形態の機能を実現するソフトウェアのプログラムを、システムまたは装置に直接、または遠隔から供給する。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００２５】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００２６】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００２７】
さらに、その他の方法として、まず記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施形態に係る画像形成装置の機能構成を示す図である。
【図２】本発明の実施形態に係る画像形成装置の処理動作を示すフローチャートである。
【図３】グラフィックス言語描画命令の一例を示す図である。
【図４】グラフィックス言語描画命令で記述されたＧＵＩを示す図である。
【図５】本発明の実施形態に係るレンダリング部で形成された画像であるアイコンの様子を示す図である。
【図６】従来の画像形成装置の機能構成を示す図である。
【図７】従来の画像形成装置の処理動作を示すフローチャートである。
【符号の説明】
【００２９】
１００    グラフィックス言語描画命令
１０１    解析部（パーサ部）
１０２    変換部（インタプリタ部）
１０３    付加情報設定部
１０４    中間言語
１０５    画像生成部（レンダリング部）
１０６    画像表示部
【図１】
2008140323.tif 000003
【図２】
2008140323.tif 000004
【図３】
2008140323.tif 000005
【図４】
2008140323.tif 000006
【図５】
2008140323.tif 000007
【図６】
2008140323.tif 000008
【図７】
2008140323.tif 000009