JP2011136425A - 印刷装置、印刷方法及びプログラム - Google Patents

印刷装置、印刷方法及びプログラム Download PDF

Info

Publication number
JP2011136425A
JP2011136425A JP2009295986A JP2009295986A JP2011136425A JP 2011136425 A JP2011136425 A JP 2011136425A JP 2009295986 A JP2009295986 A JP 2009295986A JP 2009295986 A JP2009295986 A JP 2009295986A JP 2011136425 A JP2011136425 A JP 2011136425A
Authority
JP
Japan
Prior art keywords
image processing
processing
unit
data
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009295986A
Other languages
English (en)
Inventor
Koichi Nakahara
鉱一 中原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2009295986A priority Critical patent/JP2011136425A/ja
Publication of JP2011136425A publication Critical patent/JP2011136425A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

【課題】複数のプロセッサエレメントを用いて画像処理する場合に、有効にCPU資源を活用できるようにする。
【解決手段】入力手段から受信した印刷データを画像処理し、印刷イメージを生成して出力する印刷装置であって、前記印刷データを解釈しページを複数の部分領域に分割した中間データを生成する印刷データ解釈部201と、前記中間データをそれぞれ並列に画像処理する第1の部分データ処理部203、第2の部分データ処理部204、第3の部分データ処理部205、第4の部分データ処理部206とを備え、第1の部分データ処理部203〜第4の部分データ処理部206と印刷データ解釈部201とを、動作状態に応じて制御する。
【選択図】図2

Description

本発明は印刷装置、印刷方法及びプログラムに関し、特に、複数のプロセッサエレメントを用いて画像処理するために用いて好適な技術に関する。
近年、印刷結果をさらに高品位化、高画質化する要求に応じて、印刷装置の高解像度化が進んでいる。このような高解像度化に伴い、印刷装置が処理すべきデータの量も飛躍的に大きくなってきている。処理すべきデータ量が増大することに対する対策としては、処理を行うCPUを高速化したり、利用できるメモリを高速化したりすることなどがあげられる。特に、CPUの高速化については、単にCPUの駆動周波数を上げるだけでない。複数のCPUを利用する、あるいは単一CPUであってもCPU内に複数のプロセッサエレメント(PE)を持つCPUを利用するなど、同時に複数の処理を実行することができる仕組みを持つ印刷装置も提案されている(例えば、特許文献1参照)。
複数のPEを利用可能な印刷装置においては、例えば、PE0、PE1、PE2、PE3という4つのプロセッサエレメントが利用可能な場合、PE0にジョブの管理と印刷データの解釈系とを配置する。そして、PE0、PE1、PE2、PE3にレンダリングなどを行う画像生成系や色補正、色変換、ハーフ−ン処理などを行う画像処理系を配置するような構成が考えられる。
PE0で稼動する解釈系は、ネットワークを介して受信された所定のPDL(Page Description Language)で記述された印刷データを解釈し、ディスプレイリストと呼ばれる、よりプリミティブな描画命令からなるデータ構造を生成する。PE0、PE1、PE2、PE3に配置された画像生成系は、PE0から受け取ったディスプレイリスト解釈し、担当する領域内を描画する描画命令に従って、RGB画素からなるラスター画像を生成する。この場合、PE0、PE1、PE2、PE3の処理を、ページ内の異なる小領域(バンド)に対して割り当てることにより並列的に処理を進めることができる。
並列処理の様子について、図4を参照しながら説明する。図4に示す例では、3ページの文書を処理する例を示している。まず、ネットワーク等所定の入力手段を介して印刷データを受け取った印刷データ解釈系は、I1において1ページ目の解釈処理を実行し、1ページ目のディスプレイリストを生成する。この例では、1ページのバンド数は、簡単化のために8とするが、バンド数は任意でよい。実際は、メモリの消費量を抑えるために数十バンドに分割することが多い。この例では、画像生成手段がPE0〜3に配置されているため、R1−1〜R1−8に示すように、同時に最大4バンドの処理が可能である。各々のPEに配置された画像生成手段は、印刷データ解釈手段が生成したディスプレイリストに基き、割り当てられたバンドの処理を行う。全てのバンドの画像生成が終了すると、I2において2ページ目の印刷データ解釈処理を実行する。以降、同様に2ページ目、3ページ分の処理を行う。
特開2001−287412号公報
図4に示すような構成で並列処理を進めることで、1ページの文書についてはバンド生成の並列性を利用して、高速に処理を進めることができる。しかしながら、図4に示すように、複数ページの文書を印刷する場合には、各ページの解釈処理の間(I1、I2・・)、PE1〜3が解釈処理待ち状態になり、プロセッサを有効に活用できていない。以下、このような処理待ちの時間を遊休時間と呼ぶ。並列処理で高い効果を発揮するためには、可能な限りPEの遊休時間を削減することが求められる。
図4に示した例では、解釈系と画像生成系とを同期して動作させていることにより遊休時間が増大している。この問題を緩和させるためには、解釈系と画像生成系とを非同期に動作させることが考えられる。例えば、図5(a)に示すように、印刷するジョブの全ページの解釈処理が終わるまで画像生成手段をPE1〜3のみで稼動させることが考えられる。この方法では、全ページの解釈処理が終了した段階で、PE0の画像生成手段を稼動させることにより、ディスプレイリストの生成待ちによるCPUの遊休時間を抑制することができる。さらに、図5(b)に示すように、解釈系の終了後にPE0においても画像生成系を稼動させれば、さらに全体の処理時間を短縮することができる。
この方法によれば、解釈系及び画像生成系の処理が非同期であるために、比較的解釈系の処理が少ない文書に対しては、解釈系が画像生成系より処理を早く進めることができる。このため、画像生成待ちになるディスプレイリストを格納するメモリ資源が確保できる限り、解釈系が画像生成系に先んじてディスプレイリストを生成することになる。
しかしながら、印刷装置などの組込みシステムでは、解釈系がディスプレイリストを作成するために使用できるメモリ資源の制約が大きい。このため、解釈系は要求したメモリを確保できずに、メモリ資源の解放待ち状態になる。メモリ資源の解放待ちになれば、他のページのディスプレイリストがレンダラによって処理され、メモリが確保されるまで、インタプリタは解釈処理を継続することができない。このため、図12に示すようにCPUに遊休時間を発生させることになり、有効にCPU資源を活用できない場合もあった。
本発明は前述の問題点に鑑み、複数のプロセッサエレメントを用いて画像処理する場合に、有効にCPU資源を活用できるようにすることを目的としている。
本発明の印刷装置は、入力手段から受信した印刷データを画像処理し、印刷イメージを生成して出力する印刷装置であって、前記印刷データを解釈しページを複数の部分領域に分割した中間データを生成する解釈手段と、前記中間データをそれぞれ並列に画像処理する複数の画像処理手段と、前記複数の画像処理手段と前記解釈手段とを、動作状態に応じて制御する制御手段とを備えたことを特徴とする。
本発明によれば、印刷装置における画像処理などの並列化において、最適なプロセッサエレメントの割り当てが可能になり、高速な印刷データ処理ができる。
印刷装置を含むシステムの全体構成例を示すブロック図である。 実施形態に係るコントローラ部の構成例を示すブロック図である。 複数のPE及び高速メモリの構成例を示すブロック図である。 従来の3ページの文書を処理する例を示す図である。 従来の3ページの文書を処理する例を示す図である。 イメージを複数の領域に分割した様子を表した図である。 画素データの構成要素を示す図である。 プロセッサを決定する処理手順の一例を示すフローチャートである。 プロセッサを決定する具体的な処理手順例を示すフローチャートである。 部分データ処理部による処理手順の一例を示すフローチャートである。 バンドデータのデータ構造例を示す図である。 CPUに遊休時間が発生した状態を示す図である。 実施形態における文書を処理する状態を示す図である。
(第1の実施形態)
以下、本発明の第1の実施形態について、図面を参照しながら説明する。
図1は、本実施形態に係る印刷装置を含むシステムの全体構成例を示すブロック図である。
図1に示すように、本実施形態に係る印刷装置を含むシステムは、外部装置101及び印刷装置102から構成されている。さらに、印刷装置102はコントローラ部103、エンジン部104を備える構成となっている。外部装置101は、パーソナルコンピュータ(PC)やワークステーション(WS)として構成されており、印刷装置102に対してページ記述言語で記述された印刷データを送出する。
印刷装置102のコントローラ部103はエンジン部104に接続されており、外部装置101から送られるページ記述言語で記述された印刷データを受け取る。そして、これらのデータを解釈して中間データを生成する。さらにこの中間データを複数の部分領域に分割して複数の処理部にて並列処理する。これにより、C、M、Y、K各色のドットデータからなる画像データを生成し、エンジン部104に対して順次ドットデータを印刷イメージとして送信する。コントローラ部103は、これら処理部及び前記解釈手段を、これらの動作状態に応じて制御する。
印刷装置102のエンジン部104は、C、M、Y、K各色のドットデータ毎に実際に感光ドラムに潜像を形成することによって用紙にC、M、Y、Kの4色を重ね合わせ、熱定着させることによって印刷を行う。印刷装置102のコントローラ部103及びエンジン部104は所定のビデオインターフェースによって接続されている。
図3は、本実施形態における印刷装置を動作させる複数のプロセッサエレメント(処理部)、及び各プロセッサエレメントの高速メモリの構成例を示すブロック図である。本実施形態においては、高速メモリはSRAMで実現される。
図3に示すように、301、302、303、304はそれぞれ、第1のプロセッサエレメント、第2のプロセッサエレメント、第3のプロセッサエレメント、第4のプロセッサエレメントである。そして、第1のプロセッサエレメント301から第4のプロセッサエレメント304はそれぞれ、高速小容量のメモリ305、306、307、308を備える。各プロセッサエレメントは自身の持つ高速小容量のメモリに対しては、高速にread/writeが可能である。また、他のプロセッサエレメントが持つ高速小容量のメモリに対しても、自身の持つ高速小容量のメモリアクセスのアクセスレイテンシは長くなるが、高速メモリバス310を利用することによりアクセスが可能である。メモリ309は、自他高速小容量のメモリアクセスのレイテンシよりは長くなるが、大容量のメモリであり、メモリバス311を利用して各プロセッサエレメントから利用することができる。
図2は、本実施形態に係るコントローラ部103の構成例を示すブロック図である。
本実施形態では、第1のプロセッサエレメント301〜第4のプロセッサエレメント304はそれぞれ、部分データ処理手段を有している。図2に示すように、それぞれ第1の部分データ処理部203、第2の部分データ処理部204、第3の部分データ処理部205、及び第4の部分データ処理部206が備えられている。なお、印刷データ解釈部201は、第1のプロセッサエレメント301において動作する。
図6は、印刷する1ページ分の画像データのイメージを複数の部分(バンド)領域に分割した様子を表した図である。
図6において、601は、1ページ分の画像データのイメージであり、5つのバンドから構成されている。本実施形態では簡単化のためバンド数を5としているが、より多くのバンドで構成することが可能なことは言うまでもない。ここで、1ページ分の画像データのイメージ601は、印刷データ解釈部201によりバンド1で示されるバンド602、バンド2で示されるバンド603が分割処理される。同様に、バンド3で示されるバンド604、バンド4で示されるバンド605、バンド5で示されるバンド606の各バンド領域に分割され処理される。
図7は、画素データの構成要素を示す図である。
図7において、バンド領域中の1ライン701は、画素707の集合を構成するためのものである。また、708は画素707の構成要素である。画素707は、R(赤)色の情報を格納する領域702、G(緑)色の情報を格納する領域703、B(青)色を格納する領域704、画素の透明度情報(A)を格納する領域705から構成されている。各領域は1バイトの容量を持ち、本実施形態においては、Aを格納する領域705の下位4Bitを使用し、画素が表す画像オブジェクトを指定するオブジェクト識別子706とする。オブジェクト識別子706は、上位ビットから順にベクトルオブジェクト、フォントオブジェクト、ラスターオブジェクトの何れかを示す。
次に、本実施形態に係るコントローラ部103の処理手順について、図2を参照しながら説明する。
PDL(Page Description Language)によって記述された印刷データは、入力部200を介して印刷データ解釈部201に送信される。印刷データ解釈部201は、入力部200から送られた印刷データを解析し、所定サイズのバンドを構成するディスプレイリストを生成する。入力される印刷データは特に種類を問わず、プリンタの用途に合わせて任意のPDLでよい。このとき、ディスプレイリストの保存に必要とされるメモリ資源が確保できない場合は、後述する部分データ処理分配部202、印刷データ解釈部201がメモリ確保待ちであることを通知する。
印刷データ解釈部201は、ページ単位でディスプレイリストを生成するが、各部分データ処理部での並列処理が容易になるよう、互い重なり合わないバンド単位のディスプレイリストを内包するようにすることが望ましい。印刷データ解釈部201は、各バンドに対して、図11に示すように、ページ識別子1101、バンド番号1102、及びページディスプレイリストの識別子1103を含んだバンドデータ1100を作成する。印刷データ解釈部201は、該当するページに属する全てのバンドデータを部分データ処理分配部202に通知する。さらに次ページの処理が必要な場合は、直ちに、次ページに対する解釈処理を開始する。処理したページが最終ページである場合は、印刷データ解釈処理終了フラグを真とする。
図8は、本実施形態における部分データ処理分配部202によるバンドデータを処理するプロセッサを決定する処理手順の一例を示すフローチャートである。部分データ処理分配部202は、図8に示すフローチャートに従ってバンドデータを処理するプロセッサを決定する。
まず、ステップS801において処理を開始すると、ステップS802において、部分データ処理分配部202は、該当するバンドデータを処理するプロセッサを決定する。続いてステップS803において、ステップS802で決定したプロセッサで稼動可能な部分データ処理部に対してバンドデータを送信し、バンドデータの分配処理を終了する。
図9は、図8のステップS802におけるプロセッサを決定する処理手順の一例を示すフローチャートである。
まず、ステップS901において処理を開始すると、ステップS902において、それぞれの部分データ処理部から、データ送信要求を受信する。ここで、データ送信要求には、要求を送信したプロセッサ番号などが記述されているものとする。そして、ステップS903において、受信したプロセッサ番号をそれぞれの部分データ処理分配部に返す。
図10は、部分データ処理部による処理手順の一例を示すフローチャートである。第1の部分データ処理部203、第2の部分データ処理部204、第3の部分データ処理部205、及び第4の部分データ処理部206は、並列に動作するために別々のプロセッサエレメント(PE)に配置される。本実施形態では、それぞれ第1のプロセッサエレメント301〜第4のプロセッサエレメント304に配置される。以下、代表して第1の部分データ処理部203による処理について説明する。
まず、ステップS1001において、第1の部分データ処理部203は、どのプロセッサエレメント(PE)が起動されているかを確認する。本実施形態では、CPUに実装されている機能により、PE番号を取得できるものとする。ここで、PE番号が0以外の場合、即ち、印刷データ解釈部201と異なるPEで実行されている場合には、ステップS1002において、部分データ処理分配部202にデータ転送要求を送信する。一方、部分データ処理部を実行しているPE番号が0、即ち印刷データ解釈部201と同じである場合は、ステップS1003に進む。そして、ステップS1003において、印刷データ解釈部201が全てのページの解釈を終了しているか、または、解釈系がメモリ確保待ちである場合のみにステップS1002に進み、それ以外の場合は処理を中断して待ち状態に入る(ステップS1003)。
印刷データ解釈部201の処理が終了したかどうかは、前述した印刷データ解釈処理終了フラグを参照して判断可能する。印刷データ解釈部201がメモリ待ちであるか否かは前述した部分データ処理分配部202に印刷データ解釈部からメモリ待ちを表す通知があったか否かで可能である。その後、ステップS1004において、第1の部分データ処理部203は、部分データ処理分配部202から、バンドデータを受信する。
さらに、ステップS1005において、第1の部分データ処理部203は、受信したバンドデータに対して所定の画像処理を実行する。画像処理は、部分データ処理分配部202から通知されたバンドデータ内のディスプレイリストからラスターデータを生成するレンダラ、色補正/色変換を行う色処理、ハーフトーン処理、処理後のデータを圧縮保存する圧縮モジュールであるものとする。ただし、画像処理の種類は上記に限られるものではなく、指定されたバンドに対する処理であれば何でもよい。
そして、ステップS1006において、第1の部分データ処理部203は、1つのバンドの処理が終了する度にイメージ生成部207に対してバンドデータを処理結果として送信する。さらに、次のバンドデータを受け取るために、ステップS1001に戻る。イメージ生成部207は、受信したバンドデータを収集して、1ページ分のイメージを生成する。ここで、それぞれの部分データ処理部は並列に処理を実行するため、イメージ生成部207は、必ずしもバンド番号順にバンドデータを受信するとは限らない。イメージ生成部207は、受信したバンドデータで指定されるページ識別子1101およびバンド番号1102に基づいて、正しい順番でイメージを連結するものとする。
出力部208は、イメージ生成部207が生成した1ページ分のイメージを、プリンタエンジンからの印刷要求に応じてプリンタエンジンに転送するためのものである。これにより、プリンタエンジンによって所望の画像が形成される。また、出力部208は処理を終えると、印刷データ解釈部201に該当するページのメモリ解放要求を行う。メモリ解放要求を受け取り、稼動可能な状態になった印刷データ解釈部201は該当するページのメモリを解放する。さらに、メモリ待ちにより、印刷データ解釈部201の機能を停止していた場合には、解釈処理を復帰する。
以上のように本実施形態により、図13に示すように効率よくプロセッサを利用することができる。このように、印刷装置における画像処理などの並列化において、印刷データ解釈系、および各種画像処理に対して最適なプロセッサエレメントの割り当てが可能になり、高速な印刷データ処理ができる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
201 印刷データ解釈部、203 第1の部分データ処理部、204 第2の部分データ処理部、205 第3の部分データ処理部、206 第4の部分データ処理部

Claims (5)

  1. 入力手段から受信した印刷データを画像処理し、印刷イメージを生成して出力する印刷装置であって、
    前記印刷データを解釈しページを複数の部分領域に分割した中間データを生成する解釈手段と、
    前記中間データをそれぞれ並列に画像処理する複数の画像処理手段と、
    前記複数の画像処理手段と前記解釈手段とを、動作状態に応じて制御する制御手段とを備えたことを特徴とする印刷装置。
  2. 前記制御手段は、前記複数の画像処理手段による画像処理が終了した状態で前記解釈手段の動作を復帰させることを特徴とする請求項1記載の印刷装置。
  3. 前記制御手段は、前記解釈手段の動作が稼動可能な状態になったときに前記複数の画像処理手段の画像処理を中断させることを特徴とする請求項1記載の印刷装置。
  4. 入力手段から受信した印刷データを複数の画像処理手段にて並列に画像処理して印刷イメージを生成して出力する印刷方法であって、
    前記印刷データを解釈しページを複数の部分領域に分割した中間データを生成する解釈工程と、
    前記複数の画像処理手段を用いて画像処理を行う画像処理工程と、
    前記画像処理工程と前記解釈工程とにおける処理を、動作状態に応じて制御する制御工程とを備えたことを特徴とする印刷方法。
  5. 請求項4記載の印刷方法の各工程をコンピュータに実行させるためのプログラム。
JP2009295986A 2009-12-25 2009-12-25 印刷装置、印刷方法及びプログラム Pending JP2011136425A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009295986A JP2011136425A (ja) 2009-12-25 2009-12-25 印刷装置、印刷方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009295986A JP2011136425A (ja) 2009-12-25 2009-12-25 印刷装置、印刷方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2011136425A true JP2011136425A (ja) 2011-07-14

Family

ID=44348350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009295986A Pending JP2011136425A (ja) 2009-12-25 2009-12-25 印刷装置、印刷方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2011136425A (ja)

Similar Documents

Publication Publication Date Title
US8861014B2 (en) Systems and methods for optimized printer throughput in a multi-core environment
JP2009146251A (ja) 画像処理装置および画像形成システムとプログラム
JP2007125851A (ja) 印刷制御装置及び画像形成方法ならびに記憶媒体
JP2011070337A (ja) 画像処理システム及び画像処理プログラム
US8503019B2 (en) Print document conversion apparatus and computer readable medium
JP2012081626A (ja) 画像形成装置、画像処理方法、プログラム
JP5482238B2 (ja) 画像処理装置、画像形成装置、画像処理方法、画像形成方法及びプログラム
US8792122B2 (en) Image forming apparatus, method for controlling image forming apparatus, and storage medium
JP2007087137A (ja) 印刷制御装置、画像形成方法および記憶媒体
JP5487882B2 (ja) 画像処理装置および画像処理方法
JP2016210175A (ja) 画像形成装置、画像形成装置の制御方法、および、プログラム
JP4425837B2 (ja) 画像形成装置
JP2011136425A (ja) 印刷装置、印刷方法及びプログラム
JP2010173206A (ja) プリンタコントローラ
JP2010102569A (ja) 画像処理装置、画像処理方法およびプログラム
JP2010282152A (ja) 画像形成装置
JP2011044028A (ja) 印刷データ処理装置、印刷データ処理方法、プログラム
JP2010146055A (ja) 画像処理装置、方法及びプログラム
JP5471696B2 (ja) 画像処理装置、及び画像処理プログラム
JP2009295163A (ja) 画像処理装置及び画像処理方法
JP2001096854A (ja) 印刷処理装置および印刷処理方法
US20050219624A1 (en) Device and method for controlling image forming apparatus
JP2009039929A (ja) 画像形成装置
JP2009038776A (ja) 画像処理装置及び画像処理方法
JP2005333676A (ja) 画像データ処理方法と画像データ処理装置及び画像形成装置