(57)【要約】【課題】  スキャンライン法のレンダリングモジュールで生成された画像とペインターズ法のレンダリングモジュールで生成された画像を保存しておく必要があり、メモリ効率が悪い。【解決手段】  スキャンラインレンダラとペインターズレンダラはマルチプロセッサ構成で、別々のＣＰＵコアで並列に処理される構成を備え、ペインターズ法のレンダリングモジュールで生成された画像はスキャンライン法のレンダリングモジュールに供給される構成を備え、スキャンライン法のレンダリングモジュールの最終処理で合成されて出力されるようにする。【選択図】  図３
2009054010.tif 000002
【特許請求の範囲】
【請求項１】
スキャンラインレンダラとペインターズレンダラはマルチプロセッサ構成で、別々のCPUコアで並列に処理される構成を備え、ペインターズ法のレンダリングモジュールで生成された画像はスキャンライン法のレンダリングモジュールに供給される構成を備え、スキャンライン法のレンダリングモジュールの最終処理で合成されて出力されることを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置を備えることを特徴とするパーソナルコンピュータ。
【請求項３】
請求項１に記載の画像処理装置を備えることを特徴とする画像形成装置。
【請求項４】
ペインターズ法でレンダリングされる描画データのグループはリアルタイムで供給するためにＹ軸ソートする構成を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項５】
メモリ容量を効率化するためにはペインターズ法でレンダリングされる描画データグループは表面（Ｚ軸上の最上位）でかつ、モノクロのオブジェクトに限定することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
スキャンライン法のレンダリングモジュールに適した描画データのグループはパーソナルコンピュータ上でレンダリングされ、ペインターズ法のレンダリングモジュールに適した描画データのグループは、画像形成装置上でレンダリングする構成を備える負荷分散処理方法。
【請求項７】
ペインターズ法のレンダリングモジュールに適した描画データのグループはパーソナルコンピュータ上でレンダリングされ、スキャンライン法のレンダリングモジュールに適した描画データのグループは、画像形成装置上でレンダリングする構成を備える負荷分散処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータや画像形成装置などの情報処理システムにおける画像処理でのグループ化に関するものである。
【背景技術】
【０００２】
パーソナルコンピュータや画像形成装置等の計算機端末では、近年マルチCPU等を用いた分散処理が利用されつつある。
【０００３】
しかし、アプリケーションから渡される描画データ（ユーザが手作りしたデータでも良い）は、処理プロセスが考慮されておらず、マルチCPUや複数モジュールでの分散処理等を効率よく行うことが出来なかった。
【０００４】
分散処理のためには、描画データのグループ化が必要である。
【０００５】
マルチCPUや複数モジュールで効率よく分散処理するための描画データのグループ化方法が特許文献１に開示されている。
【０００６】
特許文献１によればページ内に含まれるオブジェクトをグループ化する条件として、スキャンライン法とペインターズ法のどちらのレンダリング方法でレンダリング処理した方が高速に処理可能であるかを基準とする。
【０００７】
また、それぞれのグループはスキャンライン法のレンダリングモジュール、ペインターズ法のレンダリングモジュールで並列にレンダリング処理され、
グループごとにレンダリング処理された画像が保存されたのち、合成処理部によって１ページの画像として生成される。
【特許文献１】特開２００７−９４７５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記従来例では図１に示すようにスキャンライン法のレンダリングモジュールで生成された画像とペインターズ法のレンダリングモジュールで生成された画像を保存しておく必要があり、メモリ効率が悪いという問題点がある。
【０００９】
具体的には図１に示す、スキャンラインレンダリングモジュールの出力画像１０１およびペインターズレンダリングモジュールの出力画像１０２を保存するためのメモリが必要である。
【００１０】
また、スキャンライン法あるいはペインターズ法で行うレンダリングはパーソナルコンピュータ上あるいは画像形成装置上のいずれか一方で行われる。
【００１１】
そのためマルチＣＰＵや複数モジュールでの分散処理が可能であっても、処理能力が低いためにスキャンライン法あるいはペインターズ法で行うレンダリングを同時に行うと速度が低下してしまうという点について問題がある。
【００１２】
本発明では上記問題点の解決を課題とする。
【課題を解決するための手段】
【００１３】
スキャンラインレンダラとペインターズレンダラはマルチプロセッサ構成である場合、別々のCPUコアで並列に処理される構成を備え、ペインターズ法のレンダリングモジュールで生成された画像はスキャンライン法のレンダリングモジュールに供給される構成を備え、スキャンライン法のレンダリングモジュールの最終処理で合成されて出力されることを特徴とする。
【００１４】
スキャンライン法あるいはペインターズ法でレンダリングされる描画データのグループは同期して動作するためＹ軸ソートする構成を備える。
【００１５】
さらに、メモリ容量を効率化するためにはペインターズ法でレンダリングされる描画データグループは表面（Ｚ軸上の最上位）でかつ、モノクロのオブジェクトに限定する処理を備えても良い。
【００１６】
スキャンライン法のレンダリングモジュールに適した描画データのグループはパーソナルコンピュータ上でレンダリングされ、ペインターズ法のレンダリングモジュールに適した描画データのグループは、画像形成装置上でレンダリングする構成を備える。
【００１７】
その逆にペインターズ法のレンダリングモジュールに適した描画データのグループはパーソナルコンピュータ上でレンダリングされ、スキャンライン法のレンダリングモジュールに適した描画データのグループは、画像形成装置上でレンダリングする構成を備える。
【００１８】
また、従来技術と同様に、どちらか一方の装置上で両方のグループがレンダリングされても良い。
【００１９】
さらに、パーソナルコンピュータ上でレンダリングされた画像には圧縮処理を施す処理を備える。
【００２０】
その場合、画像形成装置上ではスキャンライン法によるレンダリング処理あるいはペインターズ法によるレンダリング処理のどちらかと、画像の伸張処理が並列に行われる処理を備える。
【００２１】
上記切り分けはパーソナルコンピュータと画像形成装置の処理能力によって動的に判断する処理を備える。
【発明の効果】
【００２２】
本発明によって、グループ化された描画データをスキャンライン法のレンダリングモジュールと、ペインターズ法のレンダリングモジュールを複数ＣＰＵによって並列に処理し高速なレンダリングを行う場合にも、省メモリで実現することが出来るようになる。
【発明を実施するための最良の形態】
【００２３】
次に、本発明の詳細を実施例の記述に従って説明する。
【実施例１】
【００２４】
図１１を用いて本実施例を適応するのに好適なパーソナルコンピュータと画像形成装置のハードウェア構成の一例を説明する。
【００２５】
パーソナルコンピュータ１１００には複数のＣＰＵ１ １１０１、ＣＰＵ２ １１０２が含まれ、メモリバス１１０６を解してＲＡＭ１１０３、ＲＯＭ１１０４に接続される。
【００２６】
ＲＯＭ１１０４にはスキャンラインレンダリングモジュールとペインターズレンダリングモジュールの複数のレンダリングモジュールが格納されている。
【００２７】
パーソナルコンピュータ１１００上でレンダリング処理される場合、ＲＡＭ１１０３上に格納されたグループ化された描画データは、ＣＰＵ１ １１０１とＣＰＵ２ １１０２に並列で読み出され描画され、画像がＲＡＭ１１０３上に形成される。
【００２８】
そのときにＣＰＵ１ １１０１またはＣＰＵ２ １１０２上で動作するモジュールはＲＯＭ１１０４に格納されているスキャンラインレンダリングモジュールあるいはペインターズレンダリングモジュールである。
【００２９】
パーソナルコンピュータ１１００上でレンダリングされない場合、グループ化された描画データはＩ／Ｆ１１０５を通して、画像形成装置１１１０に転送される。
【００３０】
画像形成装置１１１０には複数のＣＰＵ１ １１１１、ＣＰＵ２ １１１２が含まれ、メモリバス１１１６を解してＲＡＭ１１１３、ＲＯＭ１１１４に接続される。
【００３１】
画像形成装置１１１０はＩ／Ｆ１１１５を通して、グループ化された描画データを受信し、ＲＡＭ１１１３に保存する。
【００３２】
ＲＯＭ１１１３にはスキャンラインレンダリングモジュールとペインターズレンダリングモジュールの複数のレンダリングモジュールが格納されている。
【００３３】
画像形成装置１１１０上でレンダリング処理される場合、ＲＡＭ１１１３上に格納されたグループ化された描画データは、ＣＰＵ１ １１１１とＣＰＵ２ １１１２に並列で読み出され描画され、画像がＲＡＭ１１１３上に形成される。
【００３４】
そのときにＣＰＵ１ １１１１またはＣＰＵ２ １１１２上で動作するモジュールはＲＯＭ１１１４に格納されているスキャンラインレンダリングモジュールあるいはペインターズレンダリングモジュールである。
【００３５】
ＲＡＭ１１０３上に形成された画像は、ＶＩＤＥＯ Ｉ／Ｆ１１１７を通して実際の紙媒体上に画像形成され印刷される。
【００３６】
図２を用いて本発明の適用に好適な描画データのグループ化の一例を説明する。
【００３７】
２０１は複数の罫線や文字で表現される帳票データである。
【００３８】
背面に描画される罫線をスキャンライン法でレンダリング処理するグループ２０２、表面に描画される文字をペインターズ法でレンダリング処理するグループ２０３にグループ化する。
【００３９】
図３のブロック図を用いて、本発明のレンダリング処理の流れを説明する。
【００４０】
グループ化された描画データ３０１は、レンダリングタイミング制御モジュール３０２によって、スキャンラインレンダリングモジュール３０３、ペインターズレンダリングモジュール３０４に供給される。
【００４１】
スキャンラインレンダリングモジュール３０３とペインターズレンダリングモジュール３０４は並列にかつ同期して動作する。
【００４２】
ホストコンピュータ１１００上であれば、ＣＰＵ１ １１０１でスキャンラインレンダリングモジュール３０３が動作し、ＣＰＵ２ １１０２でペインターズレンダリングモジュールを動作させる。
【００４３】
画像形成装置１１１０上であれば、ＣＰＵ１ １１１１でスキャンラインレンダリングモジュール３０３が動作し、ＣＰＵ２ １１１２でペインターズレンダリングモジュールを動作させる。
【００４４】
ペインターズレンダリングモジュール３０４は画像形成結果をバンド画像３０５として保存する。
【００４５】
スキャンラインレンダリングモジュール３０３はスキャンライン法でレンダリングした結果に、バンド画像３０５の結果をマージ処理（例えばＯＲ処理）してページ画像３０６を形成する。
【００４６】
ここで、ペインターズレンダリングモジュール３０４で処理すべき描画データのグループにカラーデータが含まれている場合、バンド画像３０５のメモリ容量が大きくなってしまうという問題がある。
【００４７】
そのため、バンド画像３０５のメモリ容量を小さくするためには、ペインターズレンダリングモジュール３０４で処理すべき描画データのグループはモノクロデータのみで構成する方が良い。
【００４８】
図４を用いて、スキャンラインレンダリングモジュール３０３とペインターズレンダリングモジュール３０４をレンダリングタイミング制御モジュール３０２が同期して動作させる一例を説明する。
【００４９】
レンダリングタイミング制御モジュール３０２は１ページを４つのバンドに分割して管理する（４０１）。
【００５０】
まず、ペインターズレンダリングモジュール３０４にバンド１を処理させ（４０６）、その終了をまってスキャンラインレンダリングモジュール３０３を起動する（４０２）。
【００５１】
以降、バンド２、バンド３、バンド４についても同様に処理する（４０３、４０４、４０５、４０７、４０８、４０９）。
【００５２】
図５を用いてスキャンラインレンダリングモジュール３０３の詳細を説明する
５０１はスキャンラインレンダリングモジュール３０３と同じモジュールを示す。
【００５３】
スキャンライン法とは、各描画データをスクリーン上の各スキャンライン（横方向のピクセルの集まり）に分割する（これをセグメントと呼ぶ）。
【００５４】
そして、同じスキャンラインを共有するセグメント同士の奥行き（Ｚ軸下位）にあるオブジェクトから順に描画していく方法である。
【００５５】
スキャンラインレンダリングモジュール５０１ではスキャンライン処理５０２で、描画データ５００から１つのセグメントのレンダリング処理を行い、その結果をセグメント描画結果５０３に格納する。
【００５６】
このセグメント描画結果５０３はＣＰＵ内のレジスタやキャッシュ上に保存される。
【００５７】
スキャンラインレンダリングモジュール５０１は格納されたセグメント描画結果５０３とページ内で同じ位置座標にある画像をバンド画像５０５から取得する。
【００５８】
バンド画像５０５はペインターズレンダリングモジュールによって出力された結果である。
【００５９】
セグメント描画結果５０３とバンド画像５０５から取得された画像はマージ処理５０４によって合成されページ画像５０６に出力される。
【００６０】
この処理によって、従来技術のようなスキャンラインレンダリングモジュール５０１によって出力した画像を一時保存する必要がなくなり、メモリ容量が効率化し、またメモリアクセスが遅いシステムにおいては大幅な速度向上が見込める。
【００６１】
図６を用いてパーソナルコンピュータ１１００と画像形成装置１１１０でレンダリング処理を負荷分散する処理について説明する。
【００６２】
以降の処理は全てパーソナルコンピュータ１１００上の処理である。
【００６３】
描画データ６０１はグループ化モジュール６０２によってスキャンライン法でレンダリング処理するグループとペインターズ法でレンダリング処理するグループにグループ化される。
【００６４】
画像形成装置１１１０のレンダリング能力が低い場合、全てのグループがレンダリング処理され（６０３）、圧縮処理されて（６０４）からＩ／Ｆ（６０９）を通して画像形成装置に転送される。
【００６５】
この場合圧縮処理６０４はどのような圧縮処理であっても良い。
【００６６】
画像形成装置１１１０の処理能力によってスキャンライン法でレンダリングするグループのみ（６０５）、あるいはペインターズ法でレンダリングするグループのみ（６０６）ホストコンピュータ１１００上でレンダリングする。
【００６７】
その切り分けは例えば画像演算装置のＣＰＵ演算能力が低ければスキャンラインレンダリングは遅くなり、メモリアクセス速度が遅ければペインターズレンダリングが遅くなる等の特徴に基づく。
【００６８】
また、スキャンライン法でレンダリングするグループのレンダリング結果の圧縮はライン単位で伸張できるような圧縮（例えばＰａｃｋＢｉｔｓ圧縮）する形式が望ましい（６０６）。
【００６９】
図５を用いた合成処理でセグメント描画結果５０５がバンド単位になってしまい本発明の構成を活かせないためである。
【００７０】
ペインターズ法でレンダリングするグループのレンダリング結果の圧縮は特に制限は無いが、圧縮率が高い面で圧縮（例えばＪＰＥＧ）する形式が望ましい（６０８）。
【００７１】
レンダリングされ圧縮されたデータは、レンダリングされてないグループの描画データとともにＩ／Ｆ６０９を通して画像形成装置に転送される。
【００７２】
図７を用いてスキャンライン法でレンダリングするグループのみホスト側でレンダリング処理された場合の画像形成装置の処理について説明する。
【００７３】
７０１はパーソナルコンピュータ上でレンダリング処理され、圧縮された画像となっている。
【００７４】
ここではＰａｃｋＢｉｔｓ圧縮された画像であるとする。
【００７５】
ＰａｃｋＢｉｔｓ圧縮法であれば任意のピクセル数だけ伸張することが可能なので、セグメント描画画像７０３は、ＣＰＵ内のレジスタやキャッシュ容量に応じて適当なサイズを設定する。
【００７６】
スキャンラインレンダリングモジュールはＰａｃｋＢｉｔｓ伸張モジュール７０２に、上記サイズに応じて任意のピクセルを伸張させ、図５を用いたようにバンド画像との合成を行いページ画像に出力する。
【００７７】
図８を用いてペインターズ法でレンダリングするグループのみパーソナルコンピュータ側でレンダリング処理された場合の画像形成装置の処理について説明する。
【００７８】
８０１はホスト上でレンダリング処理され、圧縮された画像となっている。
【００７９】
ここではＪＰＥＧ圧縮された画像であるとする。モノクロ画像であれがＪＢＩＧ圧縮であっても良い。
【００８０】
ＪＰＥＧ伸張モジュール８０２は、バンド画像を展開するワークメモリの容量に応じて適当なサイズのデータを伸張し、バンド画像８０３とする。
【００８１】
スキャンラインレンダリングモジュールからはペインターズレンダリングされた画像であろうと、ＪＰＥＧ伸張された画像であろうとバンド画像であれば問題ない。
【００８２】
図１０を用いてパーソナルコンピュータ側で全てのグループがレンダリングされ、圧縮されて画像形成装置に転送されてきた場合の画像形成装置の処理について説明する。
【００８３】
描画データ１００１は全てレンダリング済みの圧縮画像である。
【００８４】
画像形成装置にＣＰＵが複数あるならば、バンド単位やライン単位に並列に伸長処理することに高速に処理できる。
【００８５】
例えば描画データ１００１がＪＰＥＧ圧縮されたデータであるとすれば、ＪＰＥＧ伸長モジュールをＭＣＵ並列で処理させるような構成が好適である（１００２、１００３）
図１０を用いてグループ化の流れを説明する。
【００８６】
パーソナルコンピュータ上でユーザからの印刷支持があると（１００１）、アプリケーションから送られてきたデータを画像形成装置で解釈可能な描画データに変換する（１００２）。
【００８７】
描画データのグループ化を行い（１００３）、グループごとにＹ軸ソート（１００４）を実行する。
【００８８】
ここで、描画データのグループ化（１００３）とＹ軸ソート（１００４）は画像形成装置上で行われても良い。
なお、図９は、実施例１の不可負荷分散処理時の画像形成処理装置の処理フロー例である。
【実施例２】
【００８９】
図１１を用いてパーソナルコンピュータと画像形成装置のハードウェア構成を説明したが、図１２で示すように一方がレンダリングハードウェア回路１２０１、他方がＣＰＵ１２０２であっても良い。
【００９０】
また、両方がレンダリングハードウェア回路であっても良い。
【図面の簡単な説明】
【００９１】
【図１】従来技術の課題。
【図２】実施例１のグループ化概念図。
【図３】実施例１の処理フロー図。
【図４】実施例１の並列処理タイムチャート図。
【図５】実施例１のスキャンラインレンダリングモジュール処理詳細図。
【図６】実施例１の負荷分散処理図。
【図７】実施例１の負荷分散処理時の画像形成処理装置の処理フロー例。
【図８】実施例１の負荷分散処理時の画像形成処理装置の処理フロー例。
【図９】実施例１の負荷分散処理時の画像形成処理装置の処理フロー例。
【図１０】実施例１のグループ化フロー図。
【図１１】実施例１のハード構成図。
【図１２】実施例２のハード構成図。
【図１】
2009054010.tif 000003
【図２】
2009054010.tif 000004
【図３】
2009054010.tif 000005
【図４】
2009054010.tif 000006
【図５】
2009054010.tif 000007
【図６】
2009054010.tif 000008
【図７】
2009054010.tif 000009
【図８】
2009054010.tif 000010
【図９】
2009054010.tif 000011
【図１０】
2009054010.tif 000012
【図１１】
2009054010.tif 000013
【図１２】
2009054010.tif 000014