説明

画像データ処理システム

【課題】複数の論理ページを単一の物理ページ上に書き込む場合でも、並列化による速度向上効果を得ることができるようにする。
【解決手段】インタプリタ112−1と112−2は、それぞれ論理ページのPDLを処理し、中間データを生成する。論理区域データ生成部114−1,114−2は、各論理ページの中間データを2つの論理区域データに分ける。論理区域データ分配装置115は、論理区域データ生成部114−1,114−2からの論理区域データを、物理ページの物理区域ごとに編成し、マーキング処理部122A及び122Bに対し、それぞれ対応する物理区域に含まれる複数の論理区域データを分配する。マーキング処理部122A及び122Bは、それら論理区域データを物理区域Aバッファ124A及び物理区域Bバッファ124Bに描画する。セレクタ126はそれらバッファ124A及び124B内の画像データを順に印刷エンジン130に供給する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像データ処理システムに関する。
【背景技術】
【0002】
印刷出力の高速化のため、複数のRIP(Raster Image Processor)により印刷データを並列処理する技術が知られている。なお、RIPとは、PostScript(登録商標)等のページ記述言語(以下、PDLという。PDLは、Page Description Languageの略)で記述されたデータを、ラスタデータやランレングスデータなどといった印刷エンジンが取扱可能な印刷用画像データに展開する装置のことである。また、PDLデータを印刷用画像データに展開する処理のことをRIP処理と呼ぶこともある。
【0003】
その一方、PDLデータ内で記述される複数の処理単位(例えばページ)を、用紙の1つの面に並べて、あるいは部分的又は完全に重ねて印刷するインポジション(imposition: 面付け)機能が知られている。インポジション機能の一例として、n−upがある。ここで、nは2以上の自然数である。n−upは、PDLデータ内に記述されたn個のページを、用紙の1つのページ上に並べて印刷する処理である。また、1つの論理ページの画像の上に別の論理ページの画像を完全に重ねる処理も、インポジションの一例である。
【0004】
以下では、PDLデータの記述において規定されるページを「論理ページ」と呼び、用紙のページのことを「物理ページ」と呼ぶ。したがって、例えば、2−upは、論理ページ2ページを、物理ページ1ページ上に並べて印刷することを意味する。カット紙の場合は、一般に、物理ページはカット紙の両面のうちの一方の面である。また、ロール紙の場合は、そのロール紙のうち、裁断後の最終的な生産物(例えば書籍など)における1枚の紙の一方の面が1つの物理ページである。
【0005】
インポジション処理では、物理ページ1ページの印刷用画像データを保持するためのページバッファ、又は物理ページ1ページをあらかじめ定めた画素ライン数ずつに分割したバンドのラスタ画像データを保持するためのバンドバッファに対して、インポジションの対象である複数の論理ページ(又はこれをバンド単位に分割したもの)の印刷用画像データを並べて、又は部分的に重複させて書き込み、そのバッファ上に形成された物理ページ用の画像データをラスタ走査順に印刷エンジンに供給する。
【0006】
特許文献1に記載された印刷システムは、ホストコンピュータ側からの印刷データに対し、バンド編集部によりバンド単位のディスプレイリストを作成し、複数のCPUによりディスプレイリスト内の描画コマンドを描画した後、印刷機構部により描画されたデータであるビットイメージを印刷するようにする。
【0007】
特許文献2に記載された印刷装置は、GDI形式の印刷データを、ページビットマップを構成する複数のバンド毎の中間データに変換する。一方、複数のバンドにそれぞれ対応した、並列して同時に実行可能な複数のレンダリング処理部(プロセス又はスレッドなど)を作成し、該作成された複数のレンダリング処理部に、前記変換され作成された複数のバンド毎の中間データをそれぞれ送り、複数のバンド毎のレンダリング処理を並列して同時に実行させる。これによってページビットマップを作成する。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2000−203102号公報
【特許文献2】特開2001−312383号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
ところで、仮に、複数の画像処理装置により論理ページのRIP処理を並列化し、その結果順次得られる各論理ページの印刷用画像データを、直接、物理ページ用のバッファに書き込んでいく方式も考えられないではない。しかし、例えば論理ページ同士が重なる場合には、印刷画像データにその重なりの順序を反映させる必要があるため、結局1つの論理ページを書き込んだ後、別の論理ページを書き込むという順序で処理を行うこととなる。これでは、並列化しても処理は高速にならない。また、物理ページ用のバッファのメモリ帯域幅の制限があるので、複数の画像処理装置が同時にバッファにデータを書き込もうとしても、書き込みの速度はバッファのメモリ帯域幅で律速され、せっかく並列処理を行っても速度向上の効果は少ない。
【0010】
本発明は、複数の論理ページを単一の物理ページ上に書き込む処理を行う場合でも、並列処理による速度向上効果を得ることができるようにすることを目的とする。
【課題を解決するための手段】
【0011】
請求項1に係る発明は、ページ記述言語で記述された文書データのうちの割り当てられた論理ページのデータを解釈して当該論理ページの中間データを生成しつつ、生成した論理ページの中間データを論理ページ上の区域である論理区域単位に分割して出力する複数の第1手段と、物理ページ上の区域である物理区域ごとに対応して設けられた複数の第2手段であって、前記複数の第1手段が生成した各論理ページの各論理区域の中間データのうち、自装置に対応する物理区域に含まれる複数の論理区域の中間データから、当該物理区域の印刷画像データを生成し、印刷装置に向けて出力する複数の第2手段と、を備える画像データ処理システムである。
【0012】
請求項2に係る発明は、前記第1手段の数が、1つの物理ページ上に書き込まれる論理ページの数以上であることを特徴とする請求項1に記載の画像データ処理システムである。
【0013】
請求項3に係る発明は、前記物理区域は、前記印刷装置に対する用紙の相対移動方向である副走査方向について前記物理ページを分割したバンドであり、前記複数の第2手段が並列的に生成した各バンドの印刷画像データを、前記物理ページにおける前記副走査方向に沿ったバンドの順序に従って前記印刷装置に供給する制御を行う供給制御手段、を更に備える請求項1又は2に記載の画像データ処理システムである。
【0014】
請求項4に係る発明は、前記物理区域は、前記印刷装置に対する用紙の相対移動方向である副走査方向と、この副走査方向に垂直な主走査方向とについて前記物理ページを分割したタイルであり、前記複数の第2手段が並列的に生成した各タイルの印刷画像データのうち、前記副走査方向についての位置が同一である複数のタイルの印刷画像データを、ラスタ走査順に前記印刷装置に供給する制御を行う供給制御手段、を更に備える請求項1又は2に記載の画像データ処理システムである。
【0015】
請求項5に係る発明は、1つの論理区域が複数の物理区域に跨る場合、その論理区域の中間データをそれら複数の物理区域に対応する前記第2手段に供給することを特徴とする、請求項1〜4のいずれか1項に記載の画像データ処理システムである。
【発明の効果】
【0016】
請求項1に係る発明によれば、複数の論理ページを単一の物理ページ上に書き込む処理を行う場合でも、並列処理による速度向上効果を得ることができるようにする。
【0017】
請求項2に係る発明によれば、1つの物理ページに書き込まれる各論理ページの中間データを並列して生成し、第2手段のそれぞれに供給することができる。
【0018】
請求項3に係る発明によれば、第2手段の数に見合った並列処理による処理速度の向上効果が見込める。
【0019】
請求項4に係る発明によれば、物理ページをタイル単位に分割しても、印刷装置の印刷動作に応じて印刷装置に印刷画像データを供給することができる。
【0020】
請求項5に係る発明によれば、論理区域の区分けと物理区域の区分けが相互に独立している場合でも、各物理区域の印刷画像データを正しく生成することができる。
【図面の簡単な説明】
【0021】
【図1】論理ページ及び物理ページの区分け、及び論理区域と物理区域との対応関係の例を示す図である。
【図2】図1の区分け例に従った処理のための印刷システムの構成の一例を示す機能ブロック図である。
【図3】図2の印刷システムの前段部におけるデータの流れを説明するための図である。
【図4】図2の印刷システムの中段部におけるデータの流れを説明するための図である。
【図5】図2の印刷システムの後段部におけるデータの流れを説明するための図である。
【図6】論理ページ及び物理ページの区分け、及び論理区域と物理区域との対応関係の別の例を示す図である。
【図7】図6の区分け例に従った処理のための印刷システムの構成の一例を示す機能ブロック図である。
【図8】図6の印刷システムのセレクタ以降のデータの流れを説明するための図である。
【図9】論理区域の境界線と物理区域の境界線が一致しない例を示す図である。
【図10】レジスターマークの説明のための図である。
【発明を実施するための形態】
【0022】
以下、図面を参照して、本発明の実施形態を説明する。
【0023】
まず、一例として、図2に例示するように、2つの論理ページを1つの物理ページ上に並べて印刷する2up処理を行う場合の例を示す。図2の例では、論理ページ1と論理ページ2を物理ページ1上に並べている。図中、左から右に向かう方向が、印刷エンジンのラスタ走査順序での印刷動作における主走査の方向であるとする。主走査方向は、例えばラスタ出力スキャナ(ROS)を用いる電子写真方式の印刷エンジンの場合は、回転する感光体に対するレーザービームの走査方向であり、インクジェット方式の印刷エンジンの場合は、プリントヘッドの走査方向である。なお、このような主走査方向に対して副走査方向とは、主走査方向に直交する方向であり、例えば電子写真方式の場合は感光体の回転方向であり、インクジェット方式の場合は用紙の進行方向である。
【0024】
図2に示すように、論理ページ1は、上半分の区域である論理区域1−aと下半分の区域である論理区域1−bとに分けられる。また、論理ページ2は、上半分の区域である論理区域2−aと下半分の区域である論理区域2−bとに分けられる。このように、論理区域を表す識別番号「1−a」や「1−b」などにおいて、数字で示す前半の主番号「1」、「2」などは論理ページ番号を示し、アルファベットの小文字で示す後半の枝番号「a」、「b」などは1つの論理ページ内での各区域の番号を示す。図2の例では、各論理区域はそれぞれ論理ページを副走査方向について2分割したものであり、連続する複数の(主走査方向の)画像ラインからなる「バンド」に該当する。
【0025】
また、図2の例では、物理ページ1は、上半分の区域である物理区域1−Aと下半分の区域である物理区域1−Bとに分けられる。物理区域の識別番号「1−A」や「1−B」において、数字で示す前半の主番号「1」、「2」などは物理ページ番号を示し、アルファベットの大文字で示す後半の枝番号「A」、「B」は1つの物理ページ内での各区域の番号を示す。図2の例では、各物理区域はそれぞれ物理ページを副走査方向について2分割したものであり、これも「バンド」に該当する。図示のように、物理区域1−Aには、論理ページ1−a及び論理ページ2−aが含まれ、物理区域1−Bには、論理ページ1−b及び論理ページ2−bが含まれる。
【0026】
以上に説明した区域分けを参照して、以下、2up処理のための印刷システムの構成の例を、図2を参照して説明する。
【0027】
図2に示すように、本実施形態の印刷システム100は、振り分け装置105、フロントエンド装置110、論理区域データ分配装置115、バックエンド装置120、及び印刷エンジン130、及びを備える。
【0028】
振り分け装置105は、論理ページ単位の並列処理のために、フロントエンド装置110が備える複数系統(図示例では2系統)のインタプリタ112−1,112−2(以下、特に区別の必要がない場合は、「インタプリタ112」と総称する)に対して担当ページの振り分けを行う。すなわち、この例では、各インタプリタ112に対して、論理ページ単位で担当を振り分ける。
【0029】
より詳しくは、振り分け装置105は、LAN(ローカルエリアネットワーク)等のネットワークを介してクライアント装置200からページ記述言語(PDL)の印刷データを受け取ると、例えば、まずその印刷データをフロントエンド装置110の各インタプリタ112−1,112−2にそれぞれ転送する。この転送は、印刷データがページ非独立の場合の処理である。そして、その印刷データの先頭ページから順に、各ページの処理を各インタプリタ112−1,112−2に振り分ける。この振り分けは、あらかじめ定められた固定的な順序で各インタプリタ112にページを振り分ける方式であってもよい。また、振り分けられたページの処理が終了するごとにインタプリタ112が振り分け装置105にその旨を通知し、その通知に応じて振り分け装置105が未処理の先頭のページを通知元のインタプリタ112を振り分けるという制御でもよい。なお、これらはあくまで一例に過ぎず、他の振り分け方式を用いてもよい。以下では、一例として、インタプリタ112−1には奇数ページ番号、インタプリタ112−2には偶数ページ番号の論理ページを順に振り分ける。
【0030】
振り分け装置105は、フロントエンド装置110に内蔵(例えばプログラムとしてインストール)されていてもよいし、フロントエンド装置110やバックエンド装置120とは別のコンピュータ装置上に構築されていてもよい。
【0031】
フロントエンド装置110は、振り分け装置105からPDLで記述された印刷データを含んだ印刷要求を受信し、その印刷データを中間データに変換する装置である。フロントエンド装置110は、2つのインタプリタ112−1,112−2と、2つの論理区域データ生成部114−1,114−2(以下、特に区別の必要がない場合は、「論理区域データ生成部114」と総称する)とを備える。インタプリタ112−1と論理区域データ生成部114−1とのペアが第1の系統を構成し、インタプリタ112−2と論理区域データ生成部114−2とのペアが第2の系統を構成する。
【0032】
各インタプリタ112は、PDLの印刷データを先頭から順に解釈していくとともに、その解釈結果に基づき、自装置に振り分けられた論理ページの中間データを生成する。中間データは、例えばいわゆるディスプレイリストなどである。また、中間データは、ページの画像を構成する画像要素である各オブジェクト(例えば、文字フォント、グラフィックス図形、画像データ)を、ラスタ走査の走査線ごとに区切った区間データであってもよい。この区間データは、オブジェクトが1つの走査線上に占める区間を表すデータであり、例えばその区間の両端の座標の組で表され、その区間内の各画素の画素値を規定する情報を含んでいてもよい。画素値は、例えばC,M,Y,Kなどの印刷エンジン130が用いる基本色ごとの濃度値(グレーレベル)である。中間データは、ディスプレイリストや区間データ以外の、PDLとビットマップ画像(ラスタ画像)との中間程度のデータ量のいずれのデータ形式であってもよい。
【0033】
より詳しくは、各インタプリタ112は、振り分け装置105から受け取ったPDLの印刷データを先頭から順に解釈していく。この解釈処理は、自装置に振り分けられたページのみならず、先頭から全ページについて行う。これは、ページ非独立、すなわち前のページについてのコマンドによるインタプリタ112の内部状態の変化が後のページの解釈に影響を与えるタイプ、のページ記述言語を想定したものである。そして、その解釈結果のうち、振り分け装置105により自装置に振り分けられた論理ページについての解釈結果(及びそのときのインタプリタ112の内部状態)を用いて、その論理ページ内の各オブジェクトについてのプリミティブデータ(ディスプレイリストを構成する個々のコマンド、又は区間データなど)からなる中間データを生成する。
【0034】
なお、印刷データがページ独立のページ記述言語で記述されている場合には、振り分け装置105は、その印刷データを論理ページ単位に分割し、各インタプリタ112に振り分けてもよい。
【0035】
また、印刷データがページ非独立のページ記述言語で記述されている場合に、振り分け装置105がその印刷データを解釈してページ独立のページ記述言語のデータに変換し、論理ページ単位に分割して各インタプリタ112に振り分けてもよい。
【0036】
いずれにしても、各インタプリタ112−1及び112−2は、振り分け装置105から振り分けられた各論理ページについての中間データを生成し、それぞれ対応する論理区域データ生成部114−1及び114−2に渡す。
【0037】
論理区域データ生成部114−1及び114−2は、それぞれ、受け取った論理ページの中間データを、論理区域単位に分けることで、各論理区域の中間データを生成する。すなわち、図1及び図2の例では、1つの論理ページn(nは自然数)の中間データを、上側の論理区域n−aのデータと、下側の論理区域n−bのデータとに分ける。個々の論理区域の中間データのことを、以下では「論理区域データ」と呼ぶ。
【0038】
論理区域データの生成処理では、例えば、インタプリタ112がページ用のバッファメモリに論理ページ1ページ分の中間データを書き込んだ後、その後段の論理区域データ生成部114が、バッファメモリ内の論理ページの中間データを論理区域ごとに分割して出力する。また、1つの論理区域の中間データがバッファメモリに溜まるごとに、論理区域データ生成部114がその論理区域のデータを出力する方式もある。
【0039】
各論理区域データ生成部114−1,114−2から出力された論理区域データは、論理区域データ分配装置115に入力される。
【0040】
例えば、1つのCPU(中央演算装置)に、インタプリタ112の機能を記述したプログラム及び論理区域データ生成部114の機能を記述したプログラムを、それぞれ2つのプロセスまたはスレッドで実行させることで、上述したフロントエンド装置110を実現してもよい。この場合、CPUが4コア以上のマルチコアのものであれば、各コアにそれぞれ異なるプロセス又はスレッドを実行させることで、並列処理を行ってもよい。もちろん2コアのCPUで、1コアでそれぞれ2つのプロセス又はスレッドを実行してもよい。また、4つ以上のCPUを備えるマルチCPU構成のコンピュータの場合、個々のCPUにそれぞれ異なるプロセス又はスレッドを実行させることで、並列処理を行ってもよい。また、2つのCPUを備えるコンピュータにて、各CPUにてそれぞれ2つのプロセス又はスレッドを実行してもよい。
【0041】
論理区域データ分配装置115は、論理区域データ生成部114−1,114−2から入力される各論理区域データ(中間データ)を、バックエンド装置120内の2つのマーキング処理部122A及び122B(以下、特に区別の必要がない場合は、「マーキング処理部122」と総称する)に分配する。この実施形態は、物理ページを構成する物理区域のうち同一の区域に属する複数の論理区域のデータを、それぞれ当該物理区域に対応するマーキング処理部122に分配する(詳細は後述)。
【0042】
バックエンド装置120は、フロントエンド装置110が生成した各論理区域データ(中間データ)を、印刷エンジン130が取扱可能な印刷画像データへと変換し、その印刷画像データを印刷エンジン130に供給する。印刷画像データは、例えば、ラスタ形式(ビットマップ画像形式も含む)又はランレングス形式の画像データである。
【0043】
バックエンド装置120は、2つのマーキング処理部122A及び122Bと、2つの物理区域バッファ124A,124B(以下、特に区別の必要がない場合は、「物理区域バッファ124」と総称する)とを備える。マーキング処理部122Aと物理区域Aバッファ124Aとのペアが第1の系統を構成し、マーキング処理部122Bと物理区域Bバッファ124Bとのペアが第2の系統を構成する。
【0044】
物理区域Aバッファ124Aは、図1に例示するように、物理ページの上半分である物理区域Aの印刷画像データを書き込むためのバッファメモリである。また、物理区域Bバッファ124Bは、図1に例示するように、物理ページの下半分である物理区域Bの印刷画像データを書き込むためのバッファメモリである。
【0045】
マーキング処理部122Aは、論理区域データ分配装置115から、物理区域Aに属する複数の論理区域の中間データ(論理区域データ)を受け取り、それら論理区域データを順に描画処理して各論理区域の印刷画像データを生成し、物理区域Aバッファ124Aに書き込んでいく。同様に、マーキング処理部122Bは、論理区域データ分配装置115から、物理区域Bに属する複数の論理区域の論理区域データを受け取り、それら論理区域データを順に描画処理して各論理区域の印刷画像データを生成し、物理区域Bバッファ124Bに書き込んでいく。各マーキング処理部122は、担当する物理区域内に含まれる各論理区域の中間データを、例えば、それら各論理区域の描画順序(これは、各論理区域が含まれる論理ページの描画順序に対応する)に従って順に描画処理し、その処理の結果得られる印刷画像データを、対応する物理区域バッファ124に書き込んでいく。
【0046】
ここで、(図1の例では物理ページ上の論理ページ同士は重なっていないが、)論理ページ同士が重なる例では、マーキング処理部122は、下の層の論理区域データの描画結果を物理区域バッファ124に書き込んだのち、上の層の論理区域データの描画結果を物理区域バッファ124に書き込む。各論理区域の間の上下関係は、PDLの印刷データ等に含まれるインポジションの設定情報等に従って、例えば論理区域データ分配装置115がマーキング処理部122に指示すればよい。
【0047】
マーキング処理部122A及び122Bは、例えば、ASIC(Application Specific Integrated Circuit)、又は、FPGA(Field Programmable Gate Array)やDRP(Dynamically Reconfigurable Processor)などプログラマブルロジックデバイス、などのハードウエア回路として構成してもよい。また、マーキング処理部122A及び122Bは、シングルコア又はマルチコアのプロセッサ(CPU等)、又は複数のプロセッサにて、マーキング処理部122の機能を規定するプログラムを並列実行することにより実現してもよい。物理区域バッファ124は、半導体メモリなどにより構成すればよい。
【0048】
なお、図示は省略したが、各物理区域の印刷画像データ(例えばラスタデータ)に対して、付加的な処理を行う処理部を設けてもよい。この付加的な処理は、例えば、ハーフトーン処理、印刷エンジン130の色再現特性に合わせたガンマ変換処理、印刷エンジン130のビット配列順序に合わせた印刷画像データのデータ変換、等の処理のうちの1つ、又は複数の組合せである。付加的な処理のための処理部は、例えば、各物理区域バッファ124の後段にそれぞれ設けて、各物理区域バッファ124から出力される印刷画像データを処理するようにしてもよい。また、そのような処理部をマーキング処理部122とこれに対応する物理区域バッファ124との間に設け、マーキング処理部122が順次出力する画素データやランレングスデータに対してそのような付加的な処理を行った後、処理結果を物理区域バッファ124に書き込むようにしてもよい。
【0049】
この例では、2つのマーキング処理部122A及び122Bが並列動作することで、単一のマーキング処理部が1つの物理ページの描画を行う場合に比べて、2倍の速度で描画が行われる。なお、マーキング処理部122Aによる物理区域Aの描画開始タイミングと、マーキング処理部122Bによる物理区域Bの描画開始タイミングとは、完全に一致していなくてもよい。例えば、後述するように、物理区域Aの方が物理区域Bよりも先に用紙に書き込まれるので、物理区域Aの描画の方を先に開始してもよい。これには、例えば、論理区域データ分配装置115が、1つの物理ページに属する各論理区域データのうち、物理区域Aに含まれる論理区域データを先にマーキング処理部122Aに分配し、その後で物理区域Bに含まれる論理区域データをマーキング処理部122Bに分配すればよい。
【0050】
セレクタ126は、物理区域Aバッファ124A及び物理区域Bバッファ124Bを交互に選択し、選択した物理区域バッファ124に蓄積された物理区域の印刷画像データを印刷エンジン130に出力する。図2に例示した区域分けの例では、セレクタ126は、ラスタ走査の順序で前の方に該当する物理区域Aバッファ124Aを印刷エンジン130に接続し、そのバッファ124内の物理区域A(物理ページの上半分のバンド)の印刷画像データをラスタ走査順に印刷エンジン130に供給する。その後、物理区域Bバッファ124Bの方を印刷エンジン130に接続し、物理区域B(物理ページの下半分のバンド)の印刷画像データをラスタ走査順に印刷エンジン130に供給する。セレクタ126は、ハードウエア回路として構成してもよいし、バックエンド装置120のCPUが実行する制御プログラムの1つの要素として実装してもよい。
【0051】
以上に説明したように、図1に示す印刷システム100では、まずPDLの印刷データを印刷画像データに変換する処理のための装置を、PDLデータを中間データに変換する前段のフロントエンド装置110と、中間データを印刷画像データに変換する後段のバックエンド装置120という、2つの段階の装置に分けている。このように分けることで、並列属性(すなわち、データをどのような属性又は観点で分けて、並列処理に振り分けるか)を前段側と後段側とで異ならせることを可能としている。この実施形態では、フロントエンド装置110では、論理ページを単位とした並列処理を行い、バックエンド装置120では、物理区域を単位とした並列処理を行っている。また、このような並列属性の切換のために、フロントエンド装置110が、生成した各論理ページの中間データを論理区域ごとに分け、論理区域データ分配装置115が、それら論理区域の中間データを、後段の並列化の単位である物理区域に合わせてグループ編成している。物理区域をバンドとすれば、並列して描画される各バンドの印刷画像データをバンド順に印刷エンジン130に供給することで、並列化による描画処理の高速化のメリットが得られる。また、各物理区域のためのマーキング処理部122は、複数の論理ページに由来する複数の論理区域の画像を当該物理区域のための物理区域バッファ124に順に書き込むことで、インポジション処理も実現される。
【0052】
以上、印刷システム100の一例の構成を説明した。次に、図2のシステムの動作の流れを、図3〜図5を参照して詳細に説明する。
【0053】
図3に示すように、クライアント装置200から振り分け装置105に対して、PDLで記述された印刷データが入力される。この印刷データには、複数の論理ページの情報が含まれている。また、図示は省略するが、この印刷データには、2−up(又は2つの論理ページを重ねて印刷する処理)の指示が含まれているとする。振り分け装置105は、印刷データ中の先頭の論理ページから順に、奇数番号のページはインタプリタ112−1に偶数番号のページはインタプリタ112ー2に振り分ける。例えばインタプリタ112−1には論理ページ1,3が、インタプリタ112−2には論理ページ2,4が振り分けられる。インタプリタ112−1及び112−2は、それら論理ページ1,3及び2,4の中間データを生成し、それぞれ対応する論理区域データ生成部114−1及び114−2に渡す。
【0054】
論理区域データ生成部114−1は、インタプリタ112−1から最初に送られてくる論理ページ1の中間データを、副走査方向について上半分のバンドである論理区域1−aの中間データと、下半分のバンドである論理区域1−bの中間データとに分ける。そして、生成した各論理区域1−a及び1−bの中間データを、論理区域データ分配装置115へと渡す。同様に、論理区域データ生成部114−2は、インタプリタ112−2から最初に送られてくる論理ページ2の中間データを論理区域1−aの中間データと論理区域1−bの中間データとに分ける。そして、生成した各論理区域2−a及び2−bの中間データを、論理区域データ分配装置115へと渡す。その後、論理区域データ生成部114−1及び114−2は、続いて入力される論理ページ3及び論理ページ4の中間データを、それぞれ同様に2つの論理区域3−a,3−b及び論理区域4−a,4−bへと分け、順次論理区域データ分配装置115へと転送する。なお、図3においては、各論理区域データ生成部114−1及び114−2から論理区域データ分配装置115に送られる論理区域データのペアごとに「(1)」、「(2)」の番号を付しているが、これはそれら各ペアが各論理区域データ生成部114−1,114−2から論理区域データ分配装置115に渡される順番を示している。なお、他の図においても同様に、「(1)」、「(2)」等の括弧付きの番号は、上流側の装置から下流側の装置へと各データが送られる順番を示す。
【0055】
図4を参照すると、論理区域データ分配装置115は、上流の複数の論理区域データ生成部114から、例えば物理ページ1ページに含まれる論理区域の中間データを受け取るごとに、それら各論理区域の中間データを、各論理区域が属する物理区域ごとにまとめる形で並べ替え、各物理区域に対応するマーキング処理部122へと分配する。図4の例では、物理区域Aを担当するマーキング処理部122Aには、まず第1物理ページの物理区域1−Aに属する論理区域1−a及び2−aの中間データが転送される。また、物理区域Bを担当するマーキング処理部122Bには、第1物理ページの物理区域1−Bに属する論理区域1−b及び2−bの中間データが転送される。その後、マーキング処理部122Aには、第2物理ページの物理区域2−Aに属する論理区域3−a及び4−aの中間データが転送され、マーキング処理部122Bには、第2物理ページの物理区域2−Bに属する論理区域3−b及び4−bの中間データが転送される。
【0056】
なお、論理区域データ分配装置115は、物理ページの各物理区域に対して、連続する複数の論理ページのどの論理区域が属するかを示すマッピング情報を持っており、このマッピング情報に従って、各論理区域データを各マーキング処理部122へと分配する。例えば、図1に示す2−upの例では、マッピング情報は、例えば、物理区域k−A(kは自然数)には、奇数ページの上側の論理区域(2k−1)−aと偶数ページの上側の論理区域(2k)−aとがマッピングされ、物理区域k−Bには、奇数ページの下側の論理区域(2k−1)−bと偶数ページの下側の論理区域(2k)−bとがマッピングされることを示す。このようなマッピング情報は、あらかじめ論理区域データ分配装置115に設定しておいてもよいし、例えば印刷データやそれに付随する制御情報に含めて論理区域データ分配装置115に伝達されるようにしてもよい。
【0057】
マーキング処理部122Aは、まず、論理区域データ分配装置115から受け取った論理区域1−a及び2−aの中間データを順に描画(ラスタライズ)し、その描画結果の印刷画像データを物理区域Aバッファ124Aに書き込んでいく。これにより、物理区域Aバッファ124Aには、物理ページの上半分のバンドである物理区域1−Aの印刷画像データ(例えばラスタデータ)が形成される。同様に、マーキング処理部122Bは、論理区域データ分配装置115から受け取った論理区域1−b及び2−bの中間データを順に描画し、その描画結果の印刷画像データを物理区域Bバッファ124Bに書き込んでいく。これにより、物理区域Bバッファ124Bには、物理ページの下半分のバンドである物理区域1−Bの印刷画像データが形成される。各物理区域バッファ124上に形成された印刷画像データは、セレクタ126により順に選択され、印刷エンジン130に送られる。次に、上述と同様にして、マーキング処理部122Aは第2物理ページの物理区域2−Aの印刷画像データを物理区域Aバッファ124Aに書き込み、マーキング処理部122Bは第2物理ページの物理区域2−Bの印刷画像データを物理区域Bバッファ124Bに書き込む。そして、それら第2物理ページの各物理区域の印刷画像データも、セレクタ126により順に選択され、印刷エンジン130に送られる。
【0058】
すなわち、図5に示すように、セレクタ126は、まず物理区域Aバッファ124Aを最初に選択して物理区域1−Aの印刷画像データを印刷エンジン130に送り、次に物理区域Bバッファ124Bを選択して物理区域1−Bの印刷画像データを印刷エンジン130に送る。続いて、各物理区域バッファ124を同じ順で選択することで、物理区域2−A及び2−Bの印刷画像データをこの順で印刷エンジン130に送る。
【0059】
印刷エンジン130は、順に入力される物理区域の印刷画像データの各画素の値に従って(ランレングスデータの場合は画素ごとのデータに変換した後、その画素の値に従って)、ラスタ走査順に用紙に印刷していく。印刷エンジン130は、例えば用紙としてロール紙を用いる場合には、最初に入力された物理区域1−Aの印刷画像データを用紙の第1ページの領域の上半分に印刷した後、次に入力される物理区域1−Bの印刷画像データを用紙の同じ領域の下半分に印刷する。これにより、用紙上に物理ページ1の印刷結果が形成される。続いて、用紙の第2ページの領域の上半分に物理区域2−Aの画像を印刷し、その後その同じ領域の下半分に物理区域2−Bの画像を印刷することで、その用紙上に物理ページ2の印刷画像を形成する。
【0060】
以上、1つの物理ページに論理ページを2−upで印刷する場合の例について説明した。以上の例は、2つの論理ページを1つの物理ページ上で隣り合わせて印刷するものであったが、2つの論理ページを完全に、又は部分的に重畳させて印刷する場合も、同様のシステム構成及び処理内容でよい。
【0061】
また、以上の例では、物理ページを副走査方向について2分割して得られる2つのバンドをそれぞれ物理区域としたが、物理ページを副走査方向について3以上のバンドに分割してもよい。この場合、マーキング処理部122と物理区域バッファ124のペアを、バンド分割数ずつ設けて、並列処理を行ってもよい。
【0062】
また、バックエンド装置120が備えるマーキング処理部122と物理区域バッファ124のペアの数と、バンド分割数とは同じでなくてもよい。バンド分割数の方がペア数よりも多ければ、個々のペアが例えば時分割で複数のバンド(この場合は、物理区域)を描画し、描画結果を出力すればよい。逆に、ペア数の方がバンド分割数よりも多ければ、バンド分割数と同じ数のペアのみを動作させるようにしてもよい。また、この代わりに、バンド分割数分のペアにある物理ページの各バンドの描画処理を行わせるのと同時に、余ったペアに、次の物理ページにおけるラスタ走査順の早い側のバンド群を描画処理させてもよい。
【0063】
また、以上の例では、バックエンド装置120のバンド分割数が2なので、フロントエンド装置110でもそれに合わせて論理ページを上下2つのバンド(物理区域A及びB)に分割したが、これは一例に過ぎない。例えば、フロントエンド装置110における論理ページのバンド分割数を、バックエンド装置120での物理ページのバンド分割数よりも多くしてもよい。
【0064】
また、以上の例では、2−up処理なので、フロントエンド装置110にインタプリタ112を2つ設けて2つの論理ページを並列処理したが、これは一例に過ぎない。インタプリタ112を3以上設け、インタプリタ112の数と同じ数の論理ページをそれらインタプリタ112で並列処理してももちろんよい。
【0065】
また、以上に示した例では、各インタプリタ112に対して論理ページを1ページずつ順に振り分けたが、この代わりに、連続する複数ページを単位として振り分けてもよい。
【0066】
また、以上の例では、論理ページ及び物理ページをバンド分割、すなわち副走査方向について分割したが、本実施形態の考え方は、論理ページ及び物理ページをタイル分割、すなわち主走査方向及び副走査方向の両方について分割してもよい。このようなタイル分割のための変形例を、図6に示す。
【0067】
図6の例は、1つの物理ページに論理ページを3つ横に並べて印刷する3−upの例である。図6の例では、論理ページを主走査方向及び副走査方向のそれぞれについて二等分することで、1つの論理ページを4つのタイルへと分割している。この例では、個々のタイルが1つの論理区域である。図6の例では、論理ページのうちの左上、右上、左下、右下の各象限の論理区域が、それぞれ順に番号a、b、c、dで識別される。例えば、論理ページ1は、4つの論理区域1−a、1−b、1−c、1−dに分けられる。また、図6の例では、物理ページを主走査方向及び副走査方向のそれぞれについて二等分することで、1つの物理ページを4つのタイル(物理区域)へと分割している。図6の例では、物理ページのうちの左上、右上、左下、右下の各象限の物理区域が、それぞれ順に番号A、B、C、Dで識別される。
【0068】
図6の例は、物理ページ1に対し、論理ページ1,2,3が左から順に並べられた配置である。この場合、物理ページ1の左上の物理区域1−Aには、論理ページ1の上側の2つの論理区域1−a及び1−bと、論理ページ2の左上の論理区域2−aが属する。同様に、他の物理区域にも、各論理ページの各論理区域が図示のように対応づけられる。この例では、(3k−2)(kは自然数)番目及び3k番目の論理ページは、上下2つの物理区域に分配され、(3k−1)番目の論理ページは4分割されて4つの物理区域に分配される。
【0069】
次に、図6の区域分けを参照しつつ、3−upの場合のシステム構成の例を説明する。
【0070】
図7に例示する印刷システム100のフロントエンド装置110は、3−upのために3つの論理ページのPDLデータを並列的に中間データへと変換すべく、3つのインタプリタ112−1,112−2,112−3を備えている。そして、各インタプリタ112−1,112−2,112−3の後段に、論理区域データ生成部114−1,114−2,114−3が設けられている。なお、インタプリタ112と論理区域データ生成部114のペアを4系統以上設けてもよい。
【0071】
また、バックエンド装置120は、4つの物理区域A,B,C,Dのそれぞれについて、マーキング処理部122と物理区域バッファ124のペアを1系統ずつ有する。すなわち、図6に例示した物理区域Aの処理のためにマーキング処理部122Aと物理区域Aバッファ124Aを、物理区域Bの処理のためにマーキング処理部122Bと物理区域Bバッファ124Bを、物理区域Cの処理のためにマーキング処理部122Cと物理区域Cバッファ124Cを、物理区域Dの処理のためにマーキング処理部122Dと物理区域Dバッファ124Dを、備えている。
【0072】
論理区域データ分配装置115は、図6に例示した論理区域と物理区域の対応関係を示すマッピング情報に従い、各論理区域データ生成部114から入力される論理区域データを、各マーキング処理部122に分配する。
【0073】
各マーキング処理部122は、それぞれ受け取った論理区域データを描画処理することで、対応する物理区域バッファ124に当該物理区域の印刷画像データを書き込む。この描画処理は、4つのマーキング処理部122で並列的に行われる。したがって、単一のマーキング処理部が1つの物理ページの描画を行う場合に比べて、4倍の速度で描画が行われる。なお、ラスタ走査順が相対的に前の物理区域A及びBの描画が、相対的に後の物理区域C及びDの描画よりも先に開始されるようにしてもよい。
【0074】
各物理区域バッファ124A〜Dに書き込まれた印刷画像データは、セレクタ126により順に選択され、バンドバッファ128に書き込まれる。バンドバッファ128は、この例では、物理ページを副走査方向(すなわち上下方向)に2つのバンドに分けたときの、1バンド分の印刷画像データを保持するためのバッファメモリである。この変形例では、物理ページを主走査方向についても分割することで複数の物理区域に分けているが、印刷エンジン130にラスタ走査順に印刷画像データを供給するためには、主走査方向の全幅に渡る印刷画像データを用意する必要があるので、このようなバンドバッファ128を設けている。
【0075】
図8に示すように、セレクタ126は、まず物理区域Aバッファ124A及び物理区域Bバッファ124Bを順に選択し、物理区域1−Aの印刷画像データをバンドバッファ128におけるバンドの左半分に、物理区域1−Bの印刷画像データをバンドバッファ128におけるバンドの右半分に、書き込んでいく。このようにして、物理ページ1の上半分のバンドの印刷画像データがバンドバッファ128に蓄積されると、そのバンドバッファ128内の印刷画像データがラスタ走査順に印刷エンジン130に供給される。これにより、用紙上の当該物理ページの上半分の領域に、上半分の画像が印刷されることになる。この印刷の完了後、セレクタ126により物理区域Cバッファ124Cと物理区域Dバッファ124Dからの印刷画像データがバンドバッファ128に書き込まれる。これにより、物理ページ1の下半分のバンドの印刷画像データがバンドバッファ128に蓄積されると、そのバンドバッファ128内の印刷画像データがラスタ走査順に印刷エンジン130に供給され、これにより用紙上の当該物理ページの下半分の領域に、下半分の画像が印刷されることになる。以降、物理ページの2ページ目以降についても同様の処理が繰り返される。
【0076】
また、バンドバッファ128を省略し、セレクタ126が、同一バンドに属する物理区域に対応する2つの物理区域バッファ124(例えばバッファ124Aと124B)から、1走査線の印刷画像データを交互に読み出し、印刷エンジン130に転送するようにしてもよい。すなわち、このセレクタ126の処理は、副走査方向についての位置が同一である複数のタイルの印刷画像データを、ラスタ走査順に読み出して印刷エンジン130に供給する処理である。
【0077】
以上の変形例では、論理ページと物理ページの両方をタイル分割したが、これは一例に過ぎない。例えば、論理ページをタイル分割し、物理ページをバンド分割してもよい。
【0078】
また、図6の例では、論理区域の境界線と物理区域の境界線とは一致していたが、これらは必ずしも一致していなくてよい。例えば、図9の例では、物理区域の縦方向についての境界線が、論理区域の境界線と一致しておらず、論理区域2−aが物理区域1−Aと1−Bに跨り、論理区域2−cが物理区域2−Aと2−Bに跨っている。このような不一致は、例えば、フロントエンド装置110の論理区域データ生成部114が、物理区域上への論理区域のマッピング(対応づけ)によらない固定的な分割の仕方で論理ページを論理区域へと分割する場合に生じる。1つの論理区域が複数の物理区域に跨る場合、論理区域データ分配装置115は、複数の物理区域に跨る論理区域の中間データを、それら複数の物理区域の各々に対応するマーキング処理部122のすべてに分配する。例えば、図9の例では、論理区域2−aの中間データは、物理区域1−Aを担当するマーキング処理部122Aと、物理区域1−Bを担当するマーキング処理部122Bの両方に分配する。マーキング処理部122Aは、受け取った論理区域2−aの中間データを用いて、担当する物理区域1−A内の論理区域2−aの部分を描画する。マーキング処理部122Bも同様に、担当する物理区域1−B内の論理区域2−aの部分を描画する。
【0079】
なお、論理区域の境界線が物理区域の境界線に一致するよう論理区域データ生成部114が論理区域を分割する構成であれば、上述のように同一の論理区域データを複数のマーキング処理部122に重複して分配する必要はない。例えば、物理ページ上の各論理ページの配置位置と、物理区域の区分けの仕方との両方の情報を持つ装置(例えば、インポジション設定を行うクライアント装置200上のプリンタドライバ)が、論理区域の境界線が物理区域の境界線に一致するよう論理区域の分割の仕方を定め、その分割の仕方を表す設定情報を例えば印刷データに含めるなどの形で印刷システム100に送るようにすればよい。論理区域データ生成部114は、その設定情報に従って、個々の論理区域を認識する。また、その装置は、論理区域の分割の仕方を示す設定情報と共に、論理区域と物理区域の対応関係を示すマッピング情報を生成し、これを印刷システム100側に提供してもよい。論理区域データ分配装置115は、このマッピング情報を受け取り、この情報に従って論理区域データの分配を行う。
【0080】
また、上記実施形態及び変形例において、「論理ページ」の概念の中には、裁断位置や見当合わせなどのような印刷管理のために用いられるレジスターマーク(レジストレーションマークとも呼ばれる)を表すページ情報も含まれる。レジスターマークには、例えば裁断用の印であるトンボも含まれる。レジスターマークを表すページ情報の例を図10に示す。図10の例では、ページ150の四隅にレジスターマーク152が含まれる。印刷内容は、一般には、これらレジスターマークで囲まれる矩形領域内に収まる(ただし、印刷の際には、機械的な位置誤差が生じた場合でも裁断範囲内に空白部分が残らないよう、その印刷内容の周囲に塗り足しを行うことが一般的であり、その塗り足し部分はレジスターマークに重なる場合がある)。マーキング処理では、このようなレジスターマークのページ画像をまず描画し、その上に印刷内容のページ画像を描画する。上記実施形態及び変形例では、図10に示したように、レジスターマークのページ150も、印刷内容のページと同様複数の論理区域に分け、それぞれ別々の物理区域に対応するマーキング処理部122に渡して処理させるようにしてもよい。なお、図10は図1の区域分けに対応するものであるが、レジスターマークを論理ページとして印刷内容の論理ページと重畳して描画する処理は、そのような区域分けに限らず、図6の区域分け等のような他の区域分けの場合に適用してもよい。
【符号の説明】
【0081】
100 印刷システム、105 振り分け装置、110 フロントエンド装置、112 インタプリタ、114 論理区域データ生成部、115 論理区域データ分配装置、120 バックエンド装置、122 マーキング処理部、124 物理区域バッファ、126 セレクタ、128 バンドバッファ、130 印刷エンジン、200 クライアント装置。

【特許請求の範囲】
【請求項1】
ページ記述言語で記述された文書データのうちの割り当てられた論理ページのデータを解釈して当該論理ページの中間データを生成しつつ、生成した論理ページの中間データを論理ページ上の区域である論理区域単位に分割して出力する複数の第1手段と、
物理ページ上の区域である物理区域ごとに対応して設けられた複数の第2手段であって、前記複数の第1手段が生成した各論理ページの各論理区域の中間データのうち、自装置に対応する物理区域に含まれる複数の論理区域の中間データから、当該物理区域の印刷画像データを生成し、印刷装置に向けて出力する複数の第2手段と、
を備える画像データ処理システム。
【請求項2】
前記第1手段の数は、1つの物理ページ上に書き込まれる論理ページの数以上であることを特徴とする請求項1に記載の画像データ処理システム。
【請求項3】
前記物理区域は、前記印刷装置に対する用紙の相対移動方向である副走査方向について前記物理ページを分割したバンドであり、
前記複数の第2手段が並列的に生成した各バンドの印刷画像データを、前記物理ページにおける前記副走査方向に沿ったバンドの順序に従って前記印刷装置に供給する制御を行う供給制御手段、を更に備える請求項1又は2に記載の画像データ処理システム。
【請求項4】
前記物理区域は、前記印刷装置に対する用紙の相対移動方向である副走査方向と、この副走査方向に垂直な主走査方向とについて前記物理ページを分割したタイルであり、
前記複数の第2手段が並列的に生成した各タイルの印刷画像データのうち、前記副走査方向についての位置が同一である複数のタイルの印刷画像データを、ラスタ走査順に前記印刷装置に供給する制御を行う供給制御手段、を更に備える請求項1又は2に記載の画像データ処理システム。
【請求項5】
1つの論理区域が複数の物理区域に跨る場合、その論理区域の中間データをそれら複数の物理区域に対応する前記第2手段に供給することを特徴とする、請求項1〜4のいずれか1項に記載の画像データ処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−200934(P2012−200934A)
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願番号】特願2011−65744(P2011−65744)
【出願日】平成23年3月24日(2011.3.24)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】