(57)【要約】【課題】  ハードレンダラの能力を超えるレンダリングを効率よく行うこと。【解決手段】  描画コマンドに従ってラスタイメージに展開可能な中間データを生成し、描画コマンドに含まれるオブジェクトのカラー成分を検知し、描画コマンドに含まれるオブジェクトの透明度成分の使用の有無を検知し、カラー成分検知結果と透明度成分検知結果によって、レンダラを切り替える。【選択図】  図２
2006289851.tif 000002
【特許請求の範囲】
【請求項１】
描画コマンドに従ってラスタイメージに展開可能な中間データを生成する中間データ生成手段と、
中間データからラスタイメージを生成する複数のレンダリング手段と、
描画コマンドに含まれるオブジェクトのカラー成分を検知するカラー成分検知手段と、
描画コマンドに含まれるオブジェクトの透明度成分の使用の有無を検知する透明度成分検知手段と、
カラー成分検知手段と透明度成分検知手段の検知結果によって、レンダリング手段を切り替えるレンダリング切替手段とを有することを特徴とする画像形成装置。
【請求項２】
前記レンダリング手段として、レンダリング処理をハードウェアで行なうハードレンダリング手段と、レンダリング処理をソフトウェアで行なうソフトレンダリング手段とを有することを特徴とする請求項１の画像形成装置。
【請求項３】
前記カラー成分検知手段によって、ハードウェアでレンダリング不可能なオブジェクトがないと判断した場合は、ハードウェアレンダラ手段でレンダリングを行い、ハードウェアでレンダリング不可能なオブジェクトがあると判断した場合は、オブジェクトの種別によってレンダリング手段を切り替えることを特徴とする請求項２の画像形成装置。
【請求項４】
透明度成分を含むオブジェクトを、透明度成分を含まないオブジェクトに変換する透明度成分変換手段を有し、
前記透明度成分検知手段が透明度成分を使用しないと判断したオブジェクトを、透明度成分変換手段によって透明度成分を含まないオブジェクトに変換し、より多くのオブジェクトをハードウェアでレンダリングすることを特徴とする請求項３の画像形成装置。
【請求項５】
複数のカラー成分で構成されるオブジェクトを、より少ないカラー成分で構成するオブジェトに変換するカラー成分変換手段を有し、
前記カラー成分検知手段がより少ないカラー成分に変換できると判断したオブジェクトを、カラー成分変換手段によってより少ないカラー成分で構成されるオブジェクトに変換し、より多くのオブジェクトをハードウェアでレンダリングすることを特徴とする請求項３の画像形成装置。
【請求項６】
透明度が存在するか否かを判別する判別手段と、
前記判別手段により透明度が存在すると判別された場合、ソフトウエアレンダラを用いてレンダリングを行い、前記判別手段により透明度が存在しないと判別された場合、ハードウエアレンダラを用いてレンダリングを行うレンダリング手段とを有することを特徴とする画像形成装置。
【請求項７】
透明度が存在するか否かを判別する判別手段と、
前記判別手段により透明度が存在すると判別された場合、ソフトウエアレンダラとハードウエアレンダラとを用いてレンダリングを行い、前記判別手段により透明度が存在しないと判別された場合、ハードウエアレンダラを用いてレンダリングを行うレンダリング手段とを有することを特徴とする画像形成装置。
【請求項８】
透明度が存在するか否かを判別する判別ステップと、
前記判別ステップにより透明度が存在すると判別された場合、ソフトウエアレンダラを用いてレンダリングを行い、前記判別ステップにより透明度が存在しないと判別された場合、ハードウエアレンダラを用いてレンダリングを行うレンダリングステップとを有することを特徴とする画像形成方法。
【請求項９】
透明度が存在するか否かを判別する判別ステップと、
前記判別ステップにより透明度が存在すると判別された場合、ソフトウエアレンダラとハードウエアレンダラとを用いてレンダリングを行い、前記判別ステップにより透明度が存在しないと判別された場合、ハードウエアレンダラを用いてレンダリングを行うレンダリングステップとを有することを特徴とする画像形成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画コマンドに従って中間データを生成し、生成された中間データをハードウェアでレンダリングすることでラスタデータを生成する手段を備える画像形成装置に関する。
【背景技術】
【０００２】
ハードウェアによってサポートし切れない高度な描画機能を、ソフトウェアによるレンダリングに切り替えて実行する技術がある。（例えば特許文献１参照）
このとき、ソフトウェアレンダリングに切り替えることによって、品質や処理速度の低下が発生することは極力抑える必要がある。
【特許文献１】特開平７−１３７３５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
描画コマンドに従って生成される中間データには、ＲＧＢ（３チャンネル）、ＲＧＢＡ（３チャンネル＋αチャンネル）、Ｋ（１チャンネル）、ＣＭＹＫ（４チャンネル）、ＣＭＹＫＡ（４チャンネル＋αチャンネル）といったカラー成分で構成されたオブジェクトが含まれている。
【０００４】
レンダリングを実行するハードウェアが、最大で４チャンネルのカラー成分をサポートする場合、４チャンネル以下で構成されたＲＧＢ、ＲＧＢＡ、Ｋ、ＣＭＹＫのオブジェクトはレンダリング可能であるが、５チャンネルで構成されたＣＭＹＫＡのオブジェクトはレンダリング不可能である。
【０００５】
ＣＭＹＫＡのオブジェクトをレンダリングするには、ソフトウェアレンダラを利用することになるが、このとき品質や処理速度の低下はできるだけ抑えたい。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、
描画コマンドに従ってラスタイメージに展開可能な中間データを生成する中間データ生成手段と、
中間データからラスタイメージを生成する複数のレンダリング手段と、
描画コマンドに含まれるオブジェクトのカラー成分を検知するカラー成分検知手段と、
描画コマンドに含まれるオブジェクトの透明度成分の使用の有無を検知する透明度成分検知手段と、
カラー成分検知手段と透明度成分検知手段の検知結果によって、レンダリング手段を切り替えるレンダリング切替手段と、を有することを特徴とする。
【発明の効果】
【０００７】
実際に描画コマンドに含まれるオブジェクトのカラー成分、透明度成分を検知し、ハードウェアでレンダリング可能かどうかを判断し、レンダリング不可能と判断するオブジェクトだけをソフトウェアでレンダリングすることで、レンダリングの機能を拡張しても、高速なレンダリング処理を実現できる。
【０００８】
また、描画コマンドに含まれるオブジェクトのカラー成分、透明度成分を検知して、オブジェクトの性質に従ってオブジェクトを変換し、可能な限りハードウェアでレンダリングすることで、品質の低下なく、より高速なレンダリング処理を実現できる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の発明を実施するための最良の形態について図面を用いて説明する。
【００１０】
図１は実施の形態１、２、３の画像形成装置の内部構造を示す図である。
【００１１】
図１において、１０１は、描画コマンドに従って生成された中間データからラスタイメージを生成するレンダラ１０２と、メモリの管理を行うメモリ管理部１０３と、メモリ領域１０４から構成される画像形成装置である。また、メモリ領域１０４は、描画コマンドを受け取る入力データ用メモリ領域１０５と、中間データを保持する中間データ用メモリ領域１０６と、最終的なラスタイメージを格納する出力データ用メモリ領域１０７と、レンダリング時に使用されるレンダリング用メモリ領域１０８で構成される。
【００１２】
レンダラ１０２は、４チャンネルのレンダリングをハードウェアで行なうハードウェアレンダラ１０２ａと、ソフトウェアで行なうソフトウェアレンダラ１０２ｂで構成される。
【００１３】
さらに、レンダリング用メモリ領域１０８はレンダリング時ワークメモリとして使用されるワークメモリ領域１０８ａと、レンダリング時に生成されるラスタイメージを格納するラスタイメージ用領域１０７ｂと、レンダリング時に付加される属性情報を格納する領域１０７ｃで構成される。
【００１４】
本実施の形態における、描画コマンドを読み込んでからラスタイメージを生成するまでの手順を図２のフローチャートを用いて説明する。
【００１５】
ただし、本実施の形態におけるハードウェアレンダラの性能として、３チャンネル＋α（透明度）、あるいは４チャンネルのレンダリングが可能であると想定し、図２のフローチャートは、そのハードウェアを使用して、本来は不可能である５チャンネル（ＣＭＹＫα）のレンダリングを実現する処理を示している。
【００１６】
Ｓ１０１からＳ１０９はフローチャートの各ステップを示す。
【００１７】
ステップＳ１０１において、これから生成する中間データの元となる描画コマンドを読み、描画コマンドに含まれる全オブジェクトのカラー成分をチェックする。
【００１８】
ステップＳ１０２において、描画コマンドに従ってラスタイメージに展開可能な中間データを生成する。
【００１９】
ステップＳ１０３において、全オブジェクトのチェックが終了したかどうか確認する。終了ならステップＳ１０４へ進み、そうでないならステップＳ１０１からを繰り返す。
【００２０】
ステップＳ１０４において、ステップＳ１０３までのカラー成分のチェックの結果、オブジェクトの中にＣＹＭＡαの成分を持つオブジェクトが含まれていたかどうかをチェックする。含まれていた場合はステップＳ１０５へ進み、含まれていない場合はステップＳ１０９へ進む。
【００２１】
ステップＳ１０５において、レンダリングするオブジェクトがＣＭＹＫαオブジェクトかどうかをチェックする。ＣＭＹＫαオブジェクトの場合はステップＳ１０６へ、それ以外のオブジェクトの場合はステップＳ１０８へ進む。
【００２２】
ステップＳ１０６において、本実施の形態のハードウェアはＣＭＹＫＡオブジェクトのレンダリングは不可能なので、ソフトウェアによってレンダリングを行う。
【００２３】
ステップＳ１０７において、全オブジェクトのレンダリングが終了したかどうかをチェックする。終了していない場合はステップＳ１０５へ進み、ステップＳ１０７までの処理を繰り返す。
【００２４】
ステップＳ１０８において、ＣＭＹＫα以外のオブジェクトはハードウェアによってレンダリングを行う。
【００２５】
ステップＳ１０９において、描画コマンドにＣＭＹＫαオブジェクトが含まれなかった場合は、オブジェクトによってソフトウェア、ハードウェアの切り替えを考慮することなく、ハードウェアレンダリングで一度にレンダリングが可能である。
【００２６】
画像形成装置でレンダリングされたラスターイメージデータはメモリに保持され、プリントエンジンに送信され印刷される。また、プリントエンジンの代わりに表示器に送信し表示させても良い。
【００２７】
（実施の形態２）
本実施の形態における、描画コマンドを読み込んでからラスタイメージを生成するまでの手順を図３のフローチャートを用いて説明する。
【００２８】
実施の形態１と同じく、本実施の形態におけるハードウェアレンダラは３チャンネル＋α、あるいは４チャンネルまでのレンダリングが可能で、図４のフローチャートは、そのハードウェアを使用して５チャンネル（ＣＭＹＫα）のレンダリングを実現する処理を示している。
【００２９】
Ｓ２０１からＳ２０９はフローチャートの各ステップを示す。
【００３０】
ステップＳ２０１において、これから生成する中間データの元となる描画コマンドを読み、描画コマンドに含まれる全オブジェクトのカラー成分をチェックする。
【００３１】
ステップＳ２０２において、ＣＭＹＫαオブジェクトがαを使用しているか（透明度のパラメータを必要とするか）をチェックし、全く透明でない場合など、実際にはαを必要としないＣＭＹＫαのオブジェクトの場合はステップＳ２０３へ進み、αを必要とするＣＭＹＫαオブジェクトの場合はステップＳ２０４へ進む。
【００３２】
ステップＳ２０３において、ＣＭＹＫαオブジェクトのαを削除し、ＣＭＹＫαオブジェクトをＣＭＹＫオブジェクトに変換する。
【００３３】
ステップＳ２０４において、描画コマンドに従ってラスタイメージに展開可能な中間データを生成する。
【００３４】
ステップＳ２０５において、全オブジェクトのチェックが終了したかどうか確認する。終了ならステップＳ２０６へ進み、そうでないならステップＳ２０１からを繰り返す。
【００３５】
ステップＳ２０６において、ステップＳ２０５までのカラー成分のチェックの結果、オブジェクトの中にＣＹＭＡαの成分を持つオブジェクトが含まれていたかどうかをチェックする。含まれていた場合はステップＳ２０７へ進み、含まれていない場合はステップＳ２１１へ進む。
【００３６】
ステップＳ２０７において、レンダリングするオブジェクトがＣＭＹＫαオブジェクトかどうかをチェックする。ＣＭＹＫαオブジェクトの場合はステップＳ２０８へ、それ以外のオブジェクトの場合はステップＳ２１０へ進む。
【００３７】
ステップＳ２０８において、本実施の形態のハードウェアはＣＭＹＫＡオブジェクトのレンダリングは不可能なので、ソフトウェアによってレンダリングを行う。
【００３８】
ステップＳ２０９において、全オブジェクトのレンダリングが終了したかどうかをチェックする。終了していない場合はステップＳ２０７へ進み、ステップＳ２０９までの処理を繰り返す。
【００３９】
ステップＳ２１０において、ＣＭＹＫα以外のオブジェクトはハードウェアによってレンダリングを行う。
【００４０】
ステップＳ２１１において、描画コマンドにＣＭＹＫαオブジェクトが含まれなかった場合は、オブジェクトによってソフトウェア、ハードウェアの切り替えを考慮することなく、ハードウェアレンダリングで一度にレンダリングが可能である。
【００４１】
（実施の形態３）
本実施の形態における、描画コマンドを読み込んでからラスタイメージを生成するまでの手順を図４のフローチャートを用いて説明する。
【００４２】
実施の形態１，２と同じく、本実施の形態におけるハードウェアレンダラは、３チャンネル＋α、あるいは４チャンネルまでのレンダリングが可能であり、図４のフローチャートは、そのハードウェアを使用して５チャンネル（ＣＭＹＫα）のレンダリングを実現する処理を示している。
【００４３】
Ｓ３０１からＳ３０９はフローチャートの各ステップを示す。
【００４４】
ステップＳ３０１において、これから生成する中間データの元となる描画コマンドを読み、描画コマンドに含まれる全オブジェクトのカラー成分をチェックする。
【００４５】
ステップＳ３０２において、ＣＭＹＫαオブジェクトがαを使用しているか（透明度のパラメータを必要とするか）をチェックし、全く透明でない場合など、実際にはαを必要としないＣＭＹＫαのオブジェクトの場合はステップＳ３０３へ進み、αを必要とするＣＭＹＫαオブジェクトの場合はステップＳ３０４へ進む。
【００４６】
ステップＳ３０３において、ＣＭＹＫαオブジェクトのαを削除し、ＣＭＹＫαオブジェクトをＣＭＹＫオブジェクトに変換する。
【００４７】
ステップＳ３０４において、描画コマンドに従ってラスタイメージに展開可能な中間データを生成する。
【００４８】
ステップＳ３０５において、全オブジェクトのチェックが終了したかどうか確認する。終了ならステップＳ３０６へ進み、そうでないならステップＳ３０１からを繰り返す。
【００４９】
ステップＳ３０６において、ステップＳ３０５までのカラー成分のチェックの結果、オブジェクトの中にＣＹＭＡαの成分を持つオブジェクトが含まれていたかどうかをチェックする。含まれていた場合はステップＳ３０７へ進み、含まれていない場合はステップＳ３１３へ進む。
【００５０】
ステップＳ３０７において、レンダリングするオブジェクトがＣＭＹＫαオブジェクトかどうかをチェックする。ＣＭＹＫαオブジェクトの場合はステップＳ３０８へ、それ以外のオブジェクトの場合はステップＳ３１２へ進む。
【００５１】
ステップＳ３０８において、オブジェクトにＣＭＹＫのＫ成分があるかどうかをチェックする。
【００５２】
ステップＳ３０９において、ＣＭＹＫαオブジェクトをＣＭＹαオブジェクトに変換する。本実施の形態ではＣＭＹＫからＣＭＹへの変換を次のよう処理するものとする。
C=MIN(255, C+K)、M=MIN(255, M+K)、Y=(255, Y+K)
ステップＳ３１０において、本実施の形態のハードウェアレンダラは３チャンネル＋αのレンダリングは可能なので、ステップＳ３０９で変換されたＣＭＹαオブジェクトをハードウェアでレンダリングする。
【００５３】
ステップＳ３１１において、全オブジェクトのレンダリングが終了したかどうかをチェックする。終了していない場合はステップＳ３０７へ進み、ステップＳ３１１までの処理を繰り返す。
【００５４】
ステップＳ３１２において、ＣＭＹＫα以外のオブジェクトはハードウェアによってレンダリングを行う。
【００５５】
ステップＳ３１３において、描画コマンドにＣＭＹＫαオブジェクトが含まれなかった場合は、オブジェクトによってソフトウェア、ハードウェアの切り替えを考慮することなく、ハードウェアレンダリングで一度にレンダリングが可能である。
【図面の簡単な説明】
【００５６】
【図１】画像形成装置の構成図
【図２】本発明の実施の形態１のフローチャート
【図３】本発明の実施の形態２のフローチャート
【図４】本発明の実施の形態３のフローチャート
【符号の説明】
【００５７】
１０１  画像形成装置
１０２  レンダラ部
１０３  メモリ管理部
１０４  メモリ領域
１０５  入力データ用メモリ領域
１０６  中間データ用メモリ領域
１０７  出力データ用メモリ領域
１０８  レンダリング用メモリ領域
１０８ａ  ワーク領域
１０８ｂ  ラスタイメージ格納領域
１０８ｃ  属性情報格納領域
【図１】
2006289851.tif 000003
【図２】
2006289851.tif 000004
【図３】
2006289851.tif 000005
【図４】
2006289851.tif 000006