説明

レンダリング装置及びレンダリング方法

【課題】ハードウェアの回路規模の拡大を抑え、ハードウェアの変更に応じてソフトウェアを変更する必要がなく、柔軟性の高いレンダリング装置及びレンダリング方法を提供する。
【解決手段】過去に描画したことがある描画コマンドについては、イメージデータ即ちイメージデータを再利用することで同じレンダリング処理の重複をなくし、初めて処理する描画コマンドについてはソフトウェアでのレンダリング処理かアクセラレータでのレンダリング処理のどちらか最適な方を選択し処理することで、描画処理の高速化・高効率化を図ることが可能となる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、レンダリング装置及びレンダリング方法に関する。
【背景技術】
【0002】
プリンタ、コピー、ファックス等の機能を備えた複合機(MFP)が知られている。複合機は、複数のコンピュータにネットワーク接続されている。各コンピュータの使用者は、コンピュータで作成した書面等のデータ(ページ記述言語)をネットワーク回線により複合機に送信する。ページ記述言語を受信した複合機は、そのページ記述言語を解析して描画コマンドを作成し、描画コマンドに基づいてレンダリング(描画処理)を行い、形成された画像を紙等の記録媒体に定着させて出力する。
【0003】
レンダリングは、複合機のハードウェアでもソフトウェアでも行うことができる。例えば、ハードウェアにより描画を行う描画部とソフトウェアにより描画を行う描画部をそれぞれ複数備えた印刷装置において、描画部による描画処理を並列的に行い、処理速度を早めることができるものが知られている。
【0004】
ここで、ソフトウェアによるレンダリング処理にするか、ハードウェアによるレンダリング処理にするかなど、描画コマンドをどのように振り分けるかは様々であり、高速処理可能なハードウェアでの処理を優先させ、ハードウェア処理がひっ迫している場合は、ソフトウェアに処理を振り分ける方法や、高品質(CMYK)なオブジェクトはハードウェアで処理し、低品質(RGB)または複雑なオブジェクトはでソフトウェアで処理するように振り分ける方法などがある(例えば、下記特許文献1および下記特許文献2参照)。
【0005】
一方、バリアブル印刷等では、複数ページからなるジョブ中の描画コマンドに同種のオブジェクトが含まれていた場合、当該オブジェクトとそのイメージデータを登録し、ページ展開処理時に登録情報と次に展開するオブジェクトを比較して、展開済みイメージを再利用している。このように再利用することで、各ページ共通のオブジェクトについては1回のレンダリング処理で済み、描画コマンドが複雑化しても、イメージ展開処理効率を向上することができる(例えば、下記特許文献3参照)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009−269179号公報
【特許文献2】特開平07−137353号公報
【特許文献3】特開2004−192390号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、特許文献1や特許文献2等のレンダリング処理の高速化技術において、負荷状況に応じて処理をソフトウェアかハードウェアかに振り分ける方法(通常、ハードウェアの方が高速)では、ソフトウェアとハードウェアとが同じオブジェクトを処理できる構成としなければならず、全てのオブジェクトに対応させるためにはハードウェアの回路規模・コストが増大するという問題がある。さらに、ハードウェアで処理するオブジェクト、ソフトウェアで処理するオブジェクトをあらかじめ決定しておく必要があるため、ハードウェアを容易に変更できないことや、ソフトウェアを接続されるハードウェアごとに修正しなければならないことなどが問題である。
【0008】
更に、特許文献3等のイメージ再利用法は、あるジョブ中の描画コマンドしか対象としておらず、再利用可能な範囲はジョブ中に限られ、汎用性が低いという問題がある。異なるユーザが同一の書類を印刷する場合や、間違ってもう一度同じ書類を印刷してしまった場合など、異なるジョブ間で同一オブジェクトが処理されることもある。このような場合、特許文献3等のイメージ再利用法では、初めからレンダリング処理を行わなければならず、イメージ展開処理効率が低下するという問題がある。
【0009】
そこで、本発明の目的は、上記課題を解決するためになされたものであり、ハードウェアの回路規模の拡大を抑え、ハードウェアの変更に応じてソフトウェアを変更する必要がなく、柔軟性の高いレンダリング装置及びレンダリング方法を提供することにある。又、本発明の目的は、ジョブ単位かジョブ単位ではないに係らず過去に描画したことがある描画コマンドについてはイメージデータを再利用することで汎用性を高め、初めて処理する描画コマンドについてはソフトウェア処理かアクセラレータ処理のどちらか最適な方を選択し処理することで、イメージ展開処理効率の向上を図えるレンダリング装置及びレンダリング方法を提供すること、及びアクセラレータにアクセラレータ自身が処理を得意とするオブジェクト情報を保持させ、その情報を取得することでソフトウェアの処理を決定し、アクセラレータを変更する度にソフトウェアを修正する必要がなくなると共に、アクセラレータを容易に変更可能にするレンダリング装置及びレンダリング方法を提供することにある。
【課題を解決するための手段】
【0010】
請求項1に記載のレンダリング装置は、
ソフトウェアによる第1のレンダリング手段と、
アクセラレータからなる第2のレンダリング手段と、
前記アクセラレータでレンダリングが可能な描画コマンドに関する情報を記憶する記憶部と、
前記記憶部に記憶された前記アクセラレータでレンダリングが可能な描画コマンドに関する情報を読み取る読取手段と、
前記読取手段で読み取った前記描画コマンドに関する情報に基づき描画コマンドについて前記第1のレンダリング手段でレンダリングするか前記第2のレンダリング手段でレンダリングするかを判定する判定手段と、
前記判定手段で判定された前記第1及び第2レンダリング手段のいずれかで描画コマンドをレンダリングさせる制御手段と、
レンダリング前の描画コマンドに関する情報と、レンダリング後のイメージデータとを対応づけて記憶するメモリ手段と、を有し、
レンダリングの対象となる描画コマンドに関する情報が、前記メモリ手段に記憶されたイメージデータに対応付けられた描画コマンドに関する情報と一致する場合に前記制御手段は、前記メモリ手段から対応するイメージデータを読み出して用いることを特徴とする。
【0011】
本発明によれば、前記読取手段が、前記記憶部に記憶された前記アクセラレータでレンダリングが可能な描画コマンドに関する情報を読み取り、前記判定手段が、前記読取手段で読み取った描画コマンドに関する情報に基づき描画コマンドについて前記第1のレンダリング手段でレンダリングするか前記第2のレンダリング手段でレンダリングするかを判定し、前記制御手段が、前記判定手段で判定された前記第1及び第2レンダリング手段のいずれかで描画コマンドをレンダリングさせるので、前記アクセラレータで処理可能な描画コマンドについては、前記アクセラレータで優先して処理することで、処理速度を向上できる。すなわち、前記第1のレンダリング手段の処理能力に応じて、描画コマンドを前記第1のレンダリング手段で処理するか前記第2のレンダリング手段で処理するかに分けることができる。
【0012】
よって、前記第1のレンダリング手段と前記第2のレンダリング手段が同じオブジェクトを処理できるように構成する必要がなくなり、前記第1のレンダリング手段でレンダリングをするためのハードウェア処理手段即ち前記アクセラレータの回路規模の拡大を抑えることができる。従って、前記アクセラレータがレンダリングを得意とする描画コマンドのみを前記記憶部に記憶させておけばよい。
【0013】
また、前記アクセラレータを交換するなどした場合、前記記憶部(アクセラレータに付随させると一体で交換できる)に記憶された描画コマンドに関する情報を変更するだけで、前記判定手段が描画コマンドを第1のレンダリング手段で処理するか第2のレンダリング手段で処理するかに分けることができるので、前記アクセラレータの変更に応じてソフトウェアを変更する必要がなく、柔軟性の高いレンダリング装置とすることができる。すなわち、前記アクセラレータによりレンダリングする描画コマンドとソフトウェア処理手段によりレンダリングする描画コマンドを固定する必要がなく、柔軟に変更することができる。
【0014】
加えて本発明では、同一ジョブか異なるジョブか否かに関わらずレンダリングの対象となる描画コマンドについて、レンダリングの対象となる描画コマンドに関する情報が、前記メモリ手段に記憶されたイメージデータに対応付けられた描画コマンドに関する情報と一致する場合に、前記制御手段は、レンダリングを行うことなく、前記メモリ手段から対応するイメージデータを読み出して用いることにより、過去に描画したことがある描画コマンドについては、イメージデータ即ちイメージデータを再利用することで同じレンダリング処理の重複をなくし、初めて処理する描画コマンドについてはソフトウェアでのレンダリング処理かアクセラレータでのレンダリング処理のどちらか最適な方を選択し処理することができるので、描画処理の高速化・高効率化を図ることが可能となる。尚、「描画コマンド」は、イメージデータの形や大きさや描画位置を指定する情報を含み、イメージデータ自体を含んでいても良い。
【0015】
請求項2に記載のレンダリング装置は、
ソフトウェアによる第1のレンダリング手段と、
アクセラレータからなる第2のレンダリング手段と、
前記アクセラレータでレンダリングが可能な描画コマンドに関する情報を記憶する記憶部と、
前記記憶部に記憶された前記アクセラレータでレンダリングが可能な描画コマンドに関する情報を読み取る読取手段と、
前記読取手段で読み取った前記描画コマンドに関する情報に基づき、描画コマンドについて前記第1のレンダリング手段でレンダリングするか前記第2のレンダリング手段でレンダリングするかを判定する判定手段と、
前記読取手段で読み取った前記描画コマンドに関する情報に基づいて、前記描画コマンドを前記第1のレンダリング手段でレンダリングするか前記第2のレンダリング手段でレンダリングを行うかの判定情報を作成する判定情報作成手段と、
前記判定手段で判定されたレンダリング手段で描画コマンドをレンダリングさせる制御手段と、
レンダリング前の描画コマンドに関する情報と、レンダリング後のイメージデータとを対応づけて記憶するメモリ手段と、を有し、
前記判定手段は前記判定情報作成手段で作成された判定情報から前記第1のレンダリング手段と前記第2のレンダリング手段のいずれによってレンダリングを行うかを判定すると共に、レンダリングの対象となる描画コマンドに関する情報が、前記メモリ手段に記憶されたイメージデータに対応付けられた描画コマンドに関する情報と一致する場合に前記制御手段は、前記メモリ手段から対応するイメージデータを読み出して用いることを特徴とする。
【0016】
本発明によれば、前記読取手段が、前記記憶部に記憶された前記アクセラレータでレンダリングが可能な描画コマンドに関する情報を読み取り、前記判定手段が、前記読取手段で読み取った描画コマンドに関する情報に基づき描画コマンドについて前記第1のレンダリング手段でレンダリングするか前記第2のレンダリング手段でレンダリングするかを判定し、前記判定情報作成手段が、前記読取手段で読み取った前記描画コマンドに関する情報に基づいて、前記描画コマンドを前記第1のレンダリング手段でレンダリングするか前記第2のレンダリング手段でレンダリングを行うかの判定情報を作成し、前記判定手段は前記判定情報作成手段で作成された判定情報から前記第1のレンダリング手段と前記第2のレンダリング手段のいずれによってレンダリングを行うかを判定し、前記判定手段で判定された前記第1及び第2レンダリング手段のいずれかで描画コマンドをレンダリングさせるので、前記アクセラレータで処理可能な描画コマンドについては、前記アクセラレータで優先して処理することで、処理速度を向上できる。すなわち、前記第1のレンダリング手段の処理能力に応じて、描画コマンドを前記第1のレンダリング手段で処理するか前記第2のレンダリング手段で処理するかに分けることができる。
【0017】
加えて本発明では、同一ジョブか異なるジョブか否かに関わらずレンダリングの対象となる描画コマンドについて、レンダリングの対象となる描画コマンドに関する情報が、前記メモリ手段に記憶されたイメージデータに対応付けられた描画コマンドに関する情報と一致する場合に、前記制御手段は、レンダリングを行うことなく、前記メモリ手段から対応するイメージデータを読み出して用いることにより、過去に描画したことがある描画コマンドについては、イメージデータ即ちイメージデータを再利用することで同じレンダリング処理の重複をなくし、初めて処理する描画コマンドについてはソフトウェアでのレンダリング処理かアクセラレータでのレンダリング処理のどちらか最適な方を選択し処理することができるので、描画処理の高速化・高効率化を図ることが可能となる。
【0018】
請求項3に記載のレンダリング装置は、請求項1又は2に記載の発明において、前記メモリ手段は、記憶されたイメージデータが読み出された頻度を記憶しており、前記頻度が小さい順に記憶を消去してゆくことを特徴とする。これによりキャッシュメモリの容量を小さく抑えることができる。
【0019】
請求項4に記載のレンダリング装置は、請求項1〜3のいずれかに記載の発明において、前記メモリ手段へのイメージデータの保存は、レンダリング処理時を避けるタイミングで行われることを特徴とする。これによりレンダリング処理の遅れを回避できる。
【0020】
請求項5に記載のレンダリング装置は、請求項1〜4のいずれかに記載の発明において、前記アクセラレータの処理能力に応じて、異なる前記描画コマンドに関する情報を前記記憶部に記憶したことを特徴とする。前記アクセラレータの処理能力に応じて前記記憶部に記憶される描画コマンドに関する情報が異なるようにすれば、処理効率の高いレンダリングを実現できる。
【0021】
請求項6に記載のレンダリング装置は、請求項1〜5のいずれかに記載の発明において、前記描画コマンドに関する情報は、オブジェクトの種類についての情報を含むことを特徴とする。オブジェクトの種類に応じてレンダリング手段を分けることができ、処理効率の高いレンダリングを実現できる。
【0022】
請求項7に記載のレンダリング装置は、請求項6に記載の発明において、前記オブジェクトの種類についての情報は、画像、文字、図形、グラデーションを含むことを特徴とする。オブジェクトの種類に応じてレンダリング手段を分けることができ、処理効率の高いレンダリングを実現できる。
【0023】
請求項8に記載のレンダリング装置は、請求項1〜7のいずれかに記載の発明において、前記描画コマンドに関する情報は、画像処理の種類についての情報を含むことを特徴とする。画像処理の種類に応じてレンダリング手段を分けることができ、処理効率の高いレンダリングを実現できる。
【0024】
請求項9に記載のレンダリング装置は、請求項8に記載の発明において、前記画像処理の種類についての情報は、上書き処理、ROP処理、透過処理を含むことを特徴とする。画像処理の種類に応じてレンダリング手段を分けることができ、処理効率の高いレンダリングを実現できる。
【0025】
請求項10に記載のレンダリング装置は、請求項1〜9のいずれかに記載の発明において、前記判定手段は、ページ単位又はバンド単位で前記第1のレンダリング手段でレンダリングするか前記第2のレンダリング手段でレンダリングするかを判定することを特徴とする。ページ単位又はバンド単位で第1のレンダリング手段でレンダリングするか第2のレンダリング手段でレンダリングするかを判定することができるので、レンダリングの処理を早めることができる。
【0026】
請求項11に記載のレンダリング方法は、
アクセラレータでレンダリングが可能な描画コマンドに関する情報を記憶した記憶部より、アクセラレータでレンダリングが可能な描画コマンドに関する情報を読み出す情報読み出し工程と、
読み取った描画コマンドに関する情報に基づいて、描画コマンドについてソフトウエア処理でレンダリングするかアクセラレータでレンダリングするかを決定する決定工程と、
レンダリングの対象となる描画コマンドに関する情報が、キャッシュメモリに記憶されたイメージデータに対応付けられた描画コマンドに関する情報と一致する場合に、前記キャッシュメモリから対応するイメージデータを読み出すイメージデータ読み出し工程と、を有することを特徴とする。
【0027】
本発明によれば、同一ジョブか異なるジョブか否かに関わらずレンダリングの対象となる描画コマンドについて、レンダリングの対象となる描画コマンドに関する情報が、前記キャッシュメモリに記憶されたイメージデータに対応付けられた描画コマンドに関する情報と一致する場合に、レンダリングを行うことなく、前記メキャッシュメモリから対応するイメージデータを読み出して用いることにより、過去に描画したことがある描画コマンドについては、イメージデータ即ちイメージデータを再利用することで同じレンダリング処理の重複をなくし、初めて処理する描画コマンドについてはソフトウェアでのレンダリング処理かアクセラレータでのレンダリング処理のどちらか最適な方を選択し処理することができるので、描画処理の高速化・高効率化を図ることが可能となる。
【0028】
請求項12に記載のレンダリング方法は、請求項11に記載の発明において、前記イメージ読み出し工程の前に、前記決定工程が行われることを特徴とする。
【0029】
請求項13に記載のレンダリング方法は、請求項11に記載の発明において、前記決定工程と前記イメージ読み出し工程とは、並行して行われることを特徴とする。
【発明の効果】
【0030】
本発明によれば、ハードウェアの回路規模の拡大を抑え、ハードウェアの変更に応じてソフトウェアを変更する必要がなく、柔軟性の高いレンダリング装置及びレンダリング方法を提供することができる。又、本発明によれば、ジョブ単位かジョブ単位ではないに係らず過去に描画したことがある描画コマンドについてはイメージデータを再利用することで汎用性を高め、初めて処理する描画コマンドについてはソフトウェア処理かアクセラレータ処理のどちらか最適な方を選択し処理することで、イメージ展開処理効率の向上を図えるレンダリング装置及びレンダリング方法を提供することができ、アクセラレータにアクセラレータ自身が処理を得意とするオブジェクト情報を保持させ、その情報を取得することでソフトウェアの処理を決定し、アクセラレータを変更する度にソフトウェアを修正する必要がなくなると共に、アクセラレータを容易に変更可能にするレンダリング装置及びレンダリング方法を提供するができる。
【図面の簡単な説明】
【0031】
【図1】レンダリング装置の概略構成を示すブロック図である。
【図2】登録テーブルの内容を示す図である。
【図3】CPUの概略構成を示すブロック図である。
【図4】レンダリング装置によるレンダリング処理を示すフローチャートである。
【図5】アクセラレータ4の概略構成を示すブロック図である。
【発明を実施するための形態】
【0032】
以下、図面を参照して、本実施の形態にかかるレンダリング装置、及びレンダリング方法について説明する。図1に示すレンダリング装置11は、例えばスキャナ機能、コピー機能、プリンタ機能を備えた複合機に適用され、ホストコンピュータ1から印刷データ(レンダリングのためのページ記述言語)を受信し、受信した印刷データから解析した描画コマンドに基づいてレンダリング(描画処理)することによりイメージデータ(例えばビットマップデータ)を作成して、プリンタ10に出力する機能を有する。尚、ホストコンピュータ1は、ネットワークに接続されていて良い。
【0033】
より具体的に、レンダリング装置11を説明する。レンダリング装置11は、ホストコンピュータ1から送信された印刷データを一時的に保存する入力バッファ2と、レンダリング装置11内の処理を制御するCPU(中央演算処理装置)3と、自身が処理できるオブジェクトの情報と処理内容(アクセラレータ4でレンダリングが可能な描画コマンドに関する情報)を内部のROM4aに保持しているアクセラレータ4(ハードウェアを想定)と、印刷データを描画コマンドに変換する描画コマンド変換プログラム、一度レンダリング処理をした描画コマンドと処理結果のイメージデータを対応付ける登録テーブル、後述する処理手順(ソフトウェア)などを格納するプログラムROM5と、変換された描画コマンドや、処理手段判別情報等が格納されているソフトウェアのための管理領域のRAM6と、以前レンダリング処理したイメージデータを、レンダリング前の描画コマンドに関する情報と対応づけて格納するキャッシュメモリ7と、描画コマンドをレンダリング処理して得られたイメージデータを格納するページバッファ8と、ページバッファ8の内容をプリンタ10側の水平・垂直同期信号に同期して、プリンタ10にビデオ情報を転送するプリンタIF9と、を有する。
【0034】
アクセラレータ4は、図5に示すように、記憶部としてのROM4aの他に、描画部4b、圧縮部4cと、処理部4dと、通信部4eとを備えている。描画部4bは、変換された描画コマンドをハードウェア処理手段によりレンダリングする機能を有する。圧縮部4cは、レンダリングされた画像データを制御部に送信する際に、画像データを圧縮する機能を有する。圧縮方法は、非可逆圧縮、可逆圧縮、二値化等があり、画像データの容量や再レンダリングの有無に応じて最適な圧縮方法が選択される。ROM4aは、アクセラレータ4の描画部4bでレンダリングが可能な描画コマンドに関する情報が記憶されている。このように、ROM4aには、アクセラレータ4の描画部4bでレンダリングが可能な描画コマンドに関する情報が記憶されているので、ROM4aに記憶されていない描画コマンドは全てソフトウェアでレンダリングされることとなる。処理部4eは、アクセラレータ4の各部の動作制御を行う。通信部4dは、描画コマンドを受信すると共に、描画部4bによりレンダリングした画像データを送信する機能を有する。
【0035】
管理用RAM6内には、図2に示すような登録テーブルが記憶されている。登録テーブルには、レンダリング前の描画コマンドに関する情報としての描画コマンドID(登録順)、描画コマンド内容、対応するイメージデータのアドレス、利用頻度などがテキストデータで記録されている。よって、記憶容量は低くて足りる。
【0036】
又、図3に示すように、CPU3は、レンダリング装置11の起動時にアクセラレータ用ROM4aから処理可能なオブジェクトの種類の情報を読み出して、読み取ったオブジェクトの種類の情報に基づいて、描画コマンドについてソフトウェア(イメージ呼び出しおよびレンダリング処理制御部13)でレンダリングするかハードウェア(アクセラレータ)でレンダリングするかを判定するレンダリング処理手段判別情報生成部12と、CPU3もしくはアクセラレータ4にレンダリング処理させたり、キャッシュメモリ7に保存されたイメージデータを呼び出すイメージ呼び出しおよびレンダリング処理制御部13と、入力バッファ2に入力された印刷データを描画コマンドに変換する描画コマンド変換部14と、CPU3内での(ソフトウェアでの)レンダリング処理をする論理演算部15と、プログラムROM内の登録テーブルを参照する登録テーブル参照部16と、を有している。
【0037】
レンダリング処理手段判別情報生成部12は、読み取った描画コマンドに関する情報に基づいて、描画コマンドをCPU3もしくはアクセラレータ4のいずれでレンダリングするかの判定情報を作成する。すなわち、レンダリング処理手段判別情報生成部12は、判定情報作成手段として機能する。レンダリング処理手段判別情報生成部12は、作成した判定情報を、レンダリング対象となる描画コマンドに付加する。判定情報の例としては、CPU3で処理する描画コマンドに「0」のフラグを立て、アクセラレータ4で処理する描画コマンドに「1」のフラグを立てる。このように、描画コマンドに判定情報を付加することで、判定情報としてのフラグに基づいて、レンダリング処理制御部13は、描画コマンドをCPU3もしくはアクセラレータ4のいずれによって処理すればよいのかを容易に判定することができる。
【0038】
尚、ここで、描画コマンドは、画像データに展開するために必要な情報であり、例えば、オブジェクトの種類(画像、文字、図形、グラデーション等)、大きさ、色、形状、位置座標、処理の複雑さ(演算を何回繰り返すか等)、画像処理の種類(上書き処理、ROP処理、透過処理等)、レンダリングの単位(例えば、ページ単位、バンド単位、各描画コマンド単位等)等である。一方、描画コマンドに関する情報としては、アクセレレータ4が処理可能なオブジェクトの種類、可能な処理の種類の他、アクセラレータ4の処理能力に関する情報(高速処理、低速処理等)も含んでいてよい。アクセラレータ4の処理能力に関する情報は、どの描画コマンドをアクセラレータ4でレンダリングさせるかを判定する際の指標となる。
【0039】
レンダリング装置11内部で、CPU3は、入力バッファ2、プログラムROM5、管理用RAM6、キャッシュメモリ7、ページバッファ8、アクセラレータ4とアクセラレータ用ROM4aに通信可能に接続されており、各部を制御する機能を司る。
【0040】
本実施の形態においては、論理演算部15が、第1のレンダリング手段を構成し、ROM4aを含むアクセラレータ4が、第2のレンダリング手段を構成し、レンダリング処理手段判別情報生成部12が読取手段及び判定手段を構成し、イメージ呼び出しおよびレンダリング処理制御部13が制御手段を構成し、管理用RAM6とキャッシュメモリ7がメモリ手段を構成する。
【0041】
アクセラレータ用ROM4a内には、そのアクセラレータ4が処理できるオブジェクトの種類に関する情報が保持されている。オブジェクトの種類には、「文字」、「グラフィック(図形)」、「画像」、「グラデーション」などがある。また処理の種類として、「上書き処理」、「ROP処理」、「透過処理」などがある。
【0042】
次に、図3のブロック図と、図4のフローチャートを参照して、レンダリング装置11の動作を説明する。ここで、例えば、アクセラレータ4で処理可能なオブジェクトの種類が「文字」、「グラフィック(図形)」、可能な処理の種類が「画像」の「上書き処理」、「ROP処理」であったとする。その場合、前処理としてアクセラレータ4のROM4a内に、予め「文字」、「グラフィック(図形)」、「画像」の「上書き処理」、「ROP処理」が処理可能であることを示す情報が保持される。
【0043】
まず、レンダリング装置11を含むMFPのメインスイッチをオン操作すると、図4のフローがスタートし、まずステップS101(情報読み出し工程)で、CPU3のレンダリング処理手段判別情報生成部12は、アクセラレータ用ROM4aから処理可能なオブジェクトの種類の情報を読み出して、続くステップS102で、その情報を基にレンダリング処理手段判別情報を生成し、管理用RAM6に判別情報を格納する。
【0044】
このとき、レンダリング処理手段判別情報生成部12は、プログラムROM内に保持しておいた描画コマンド変換プログラムを用いて、入力バッファ2内の印刷データを描画コマンドに変換し、管理用RAM6の登録に格納する。その際、描画コマンドには先の判定情報が付加され、CPU3は、どのオブジェクトをアクセラレータで処理するか決定する(決定工程)。
【0045】
この場合、「文字」、「グラフィック(図形)」、及び「画像」の「上書き処理」、「ROP処理」はアクセラレータ4で処理し、それ以外のデータ処理はソフトウェアで処理すると決定する。
【0046】
ステップS103で、ホストコンピュータ1から印刷データが入力されるのを待つ。印刷データが入力されると、ステップS104へと進み、CPU3は描画コマンドへの変換を行う。このとき、例えば、「文字」、「グラフィック(図形)」、「画像」はアクセラレータ4で処理し、「グラデーション」はソフトウェアで処理するとの情報を描画コマンドに付加する。
【0047】
印刷データの最初から順に処理を行うようにして、ステップS105で、未レンダリングの描画コマンドに進み、更にステップS106で、登録テーブル参照部16が、現在処理しようとしている描画コマンドと、自身の登録テーブル中に書かれている描画コマンドの内容を比較し、両者の内容が一致したら、その描画コマンドは以前にレンダリング処理したものと判断できる。このとき、登録テーブル中で利用頻度が多い描画コマンドから優先的に検索するのが、処理を高速化する為に好ましい。
【0048】
ここで、現在処理しようとしている描画コマンドが以前にレンダリング処理したものであると判断された場合、ステップS112で、イメージ呼び出しおよびレンダリング処理制御部13は、管理ROM6内の登録テーブルを参照して、その描画コマンドのIDから、対応するイメージデータの格納アドレスを取得し、イメージデータが格納されているキャッシュメモリ7の当該格納場所からイメージデータを読み出す(イメージデータ読み出し工程)。
【0049】
読み出されたイメージデータはページバッファ8に送られ、ステップS113で、登録テーブル中に書かれている利用頻度の値が1増加される。これにより、レンダリング処理の高速化が図れる。
【0050】
一方、ステップS106で、現在処理しようとしている描画コマンドが、以前登録されたものではないと判断された場合、ステップS107へと進み、管理ROM6内の登録テーブルに、新たな描画コマンドのIDを登録する。
【0051】
その後、ステップS108で、イメージ呼び出しおよびレンダリング処理制御部13は、生成された描画コマンドの情報(オブジェクトの種類や処理内容)を読み出し、その情報を元に、アクセラレータROM4a内の情報を参照して、ソフトウェアで処理するかアクセラレータ4で処理するかを判定する。尚、ステップS106とS108は、並行して実行されても良い。
【0052】
ここで、「文字」、「グラフィック(図形)」、「画像」の「上書き処理」、「ROP処理」は、アクセラレータ4で処理できるので、これらのオブジェクト及び処理であれば、アクセラレータ4で処理するものと判定され、ステップS109で、アクセラレータ4が描画処理(レンダリング)する。
【0053】
尚、アクセラレータ4をどのオブジェクトに対応させるかは、アクセラレータ4の回路規模等を勘案して決定することができる。例えば「画像」オブジェクトのような演算を含まない単純な画素単位の描画処理は、ハードウェア設計も容易であり、回路規模を小さく低コストで実現でき、ハードウェア向きの処理と言える。一方、透過処理などの演算を多数含む処理はハードウェアの回路規模が大きくなり、コストが増加するため、ソフトウェア向きの処理と言える。
【0054】
よって、コスト重視のアクセラレータでは、「画像」オブジェクトのみに対応し、機能重視のアクセラレータでは「透過処理」などの演算を多く含む処理にも対応する、といった具合にアクセラレータの構成を決定することができる。
【0055】
一般的にハードウェアで処理させた方が高速に処理できるため、処理速度を求める機種では、高機能なアクセラレータを実装し、コストを求める機種では低機能なアクセラレータを実装するという、目的に応じた選択ができる。
【0056】
一方、それら以外のオブジェクト及び処理であれば、ソフトウェアで処理するものと判定され、ステップS110で、論理演算部15が描画処理(レンダリング)する。
【0057】
このようにして生成されたイメージデータは、ステップS111で、ページバッファ8に保存される。
【0058】
更に、ステップS114で、次ページ分の描画コマンドが入力されているか否かを判別し、次ページ分の描画コマンドが入力されているときは、ステップS105に戻って以降のフローを実行する。一方、次ページ分の描画コマンドが入力されていないときは、ステップS115にて、全ページ分のイメージデータが集まったものとして、プリンタ10にビデオ転送する。尚、描画コマンドの一例としては、x=45,y=160,width=62,height=53,type=character、color=red、draw”ABC”などの情報が記載されており、これによりどのような文字や図形がどの位置に描画されるかを指示することができる。
【0059】
その際、レンダリング処理後のイメージデータをキャッシュメモリ7に保存すると共に、管理用ROM6内の登録テーブル中における、その描画コマンドに対応づけて、イメージデータの格納アドレスを記憶する。これにより、以降、同じ描画コマンドが入力された場合、改めてレンダリングすることなく、同じイメージデータを読み出すことができる。以上でレンダリング処理制御フローを終了する。
【0060】
尚、イメージデータのキャッシュメモリ7への保存は、レンダリング処理時を避けるタイミングであれば、いつ行ってもよく、例えば登録テーブルの検索中などでも良い。又、描画コマンドを印刷装置が印刷可能なイメージデータヘレンダリングする画像処理装置は、印刷装置(システム)の中にあってもよい。更に、一定期間経過後においても、利用頻度が1以下のイメージデータについては、キャッシュメモリ7から削除すると共に、その描画コマンドのデータを登録テーブルから削除すると好ましい。
【0061】
例えば、アクセラレータを高機能のものに交換した場合には、全ての描画コマンドのレンダリングをアクセラレータで行うことも可能となる。
【0062】
また、上記実施形態においては、描画コマンドに関する情報に基づいて、いずれのレンダリング処理手段によってレンダリングを行うかを判定していたが、いずれの描画部によりレンダリングするかをページ単位又はバンド(一定の領域)単位で判定してもよい。ページ単位又はバンド単位で判定する場合には、そのページ又はバンドに含まれる描画コマンドのうち、処理が多い方の描画部を用いてレンダリングすることも可能である。これにより、レンダリングの際の判定を行う数を減らすことができるので、レンダリングの処理を早めることができる。
【0063】
また、上記実施形態においては、アクセラレータ4でレンダリングを行う描画コマンドに関する情報をROM4aに記憶させていたが、ROM4aにアクセラレータ4の性能(高機能、標準、コスト低減等)を記憶させておき、各アクセラレータ4で対応できる描画コマンドを制御部に記憶させておいてもよい。この場合、アクセラレータ4にアクセスしてアクセラレータ4の性能を判定した後、対応する描画コマンドを制御部から読み取り、それぞれの描画部に分けてレンダリングさせることになる。
【符号の説明】
【0064】
1 ホストコンピュータ
2 入力バッファ
3 CPU
4 アクセラレータ
4a ROM
5 プログラムROM
6 管理用RAM
7 キャッシュメモリ
8 ページバッファ
9 プリンタIF
10 プリンタ
11 レンダリング装置
12 レンダリング処理手段判別情報生成部
13 レンダリング処理制御部
14 描画コマンド変換部
15 論理演算部
16 登録テーブル参照部

【特許請求の範囲】
【請求項1】
レンダリング装置であって、
ソフトウェアによる第1のレンダリング手段と、
アクセラレータからなる第2のレンダリング手段と、
前記アクセラレータでレンダリングが可能な描画コマンドに関する情報を記憶する記憶部と、
前記記憶部に記憶された前記アクセラレータでレンダリングが可能な描画コマンドに関する情報を読み取る読取手段と、
前記読取手段で読み取った前記描画コマンドに関する情報に基づき描画コマンドについて前記第1のレンダリング手段でレンダリングするか前記第2のレンダリング手段でレンダリングするかを判定する判定手段と、
前記判定手段で判定された前記第1及び第2レンダリング手段のいずれかで描画コマンドをレンダリングさせる制御手段と、
レンダリング前の描画コマンドに関する情報と、レンダリング後のイメージデータとを対応づけて記憶するメモリ手段と、を有し、
レンダリングの対象となる描画コマンドに関する情報が、前記メモリ手段に記憶されたイメージデータに対応付けられた描画コマンドに関する情報と一致する場合に前記制御手段は、前記メモリ手段から対応するイメージデータを読み出して用いることを特徴とするレンダリング装置。
【請求項2】
レンダリング装置であって、
ソフトウェアによる第1のレンダリング手段と、
アクセラレータからなる第2のレンダリング手段と、
前記アクセラレータでレンダリングが可能な描画コマンドに関する情報を記憶する記憶部と、
前記記憶部に記憶された前記アクセラレータでレンダリングが可能な描画コマンドに関する情報を読み取る読取手段と、
前記読取手段で読み取った前記描画コマンドに関する情報に基づき、描画コマンドについて前記第1のレンダリング手段でレンダリングするか前記第2のレンダリング手段でレンダリングするかを判定する判定手段と、
前記読取手段で読み取った前記描画コマンドに関する情報に基づいて、前記描画コマンドを前記第1のレンダリング手段でレンダリングするか前記第2のレンダリング手段でレンダリングを行うかの判定情報を作成する判定情報作成手段と、
前記判定手段で判定されたレンダリング手段で描画コマンドをレンダリングさせる制御手段と、
レンダリング前の描画コマンドに関する情報と、レンダリング後のイメージデータとを対応づけて記憶するメモリ手段と、を有し、
前記判定手段は前記判定情報作成手段で作成された判定情報から前記第1のレンダリング手段と前記第2のレンダリング手段のいずれによってレンダリングを行うかを判定すると共に、レンダリングの対象となる描画コマンドに関する情報が、前記メモリ手段に記憶されたイメージデータに対応付けられた描画コマンドに関する情報と一致する場合に前記制御手段は、前記メモリ手段から対応するイメージデータを読み出して用いることを特徴とするレンダリング装置。
【請求項3】
前記メモリ手段は、記憶されたイメージデータが読み出された頻度を記憶しており、前記頻度が小さい順に記憶を消去してゆくことを特徴とする請求項1又は2に記載のレンダリング装置。
【請求項4】
前記メモリ手段へのイメージデータの保存は、レンダリング処理時を避けるタイミングで行われることを特徴とする請求項1〜3のいずれかに記載のレンダリング装置。
【請求項5】
前記アクセラレータの処理能力に応じて、異なる前記描画コマンドに関する情報を前記記憶部に記憶したことを特徴とする請求項1〜4のいずれかに記載のレンダリング装置。
【請求項6】
前記描画コマンドに関する情報は、オブジェクトの種類についての情報を含むことを特徴とする請求項1〜5のいずれかに記載のレンダリング装置。
【請求項7】
前記オブジェクトの種類についての情報は、画像、文字、図形、グラデーションを含むことを特徴とする請求項6に記載のレンダリング装置。
【請求項8】
前記描画コマンドに関する情報は、画像処理の種類についての情報を含むことを特徴とする請求項1〜7のいずれかに記載のレンダリング装置。
【請求項9】
前記画像処理の種類についての情報は、上書き処理、ROP処理、透過処理を含むことを特徴とする請求項8に記載のレンダリング装置。
【請求項10】
前記判定手段は、ページ単位又はバンド単位で前記第1のレンダリング手段でレンダリングするか前記第2のレンダリング手段でレンダリングするかを判定することを特徴とする請求項1〜9のいずれかに記載のレンダリング装置。
【請求項11】
レンダリング方法であって、
アクセラレータでレンダリングが可能な描画コマンドに関する情報を記憶した記憶部より、アクセラレータでレンダリングが可能な描画コマンドに関する情報を読み出す情報読み出し工程と、
読み取った描画コマンドに関する情報に基づいて、描画コマンドについてソフトウエア処理でレンダリングするかアクセラレータでレンダリングするかを決定する決定工程と、
レンダリングの対象となる描画コマンドに関する情報が、キャッシュメモリに記憶されたイメージデータに対応付けられた描画コマンドに関する情報と一致する場合に、前記キャッシュメモリから対応するイメージデータを読み出すイメージデータ読み出し工程と、を有することを特徴とするレンダリング方法。
【請求項12】
前記イメージ読み出し工程の前に、前記決定工程が行われることを特徴とする請求項11に記載のレンダリング方法。
【請求項13】
前記決定工程と前記イメージ読み出し工程とは、並行して行われることを特徴とする請求項11に記載のレンダリング方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2013−3811(P2013−3811A)
【公開日】平成25年1月7日(2013.1.7)
【国際特許分類】
【出願番号】特願2011−133846(P2011−133846)
【出願日】平成23年6月16日(2011.6.16)
【出願人】(000001270)コニカミノルタホールディングス株式会社 (4,463)
【Fターム(参考)】