(57)【要約】【課題】処理負荷が異なり処理の順序も限定される２種類以上の処理を効率よく並列処理する。【解決手段】第１処理と、この第１処理の後に第１処理に比較して処理負荷の大きい第２処理とを繰り返し実行する。所定量のデータごとに第１処理（色変換＃１〜＃８）を複数のスレッド＃１〜＃４に割り付け、割り付けられた第１処理がすべて終了した後に第２処理（ハーフトーン処理）を複数のスレッド＃１〜＃４に割り付け、複数のスレッド＃１〜＃４のうち第２処理が終了したものに順次、次のデータに対する第１処理（色変換＃９〜＃１６）を割り付ける。【選択図】図４
2010244097.tif 000002
【特許請求の範囲】
【請求項１】
所定量のデータごとに、第１処理と、この第１処理の後に上記第１処理に比較して処理負荷の大きい第２処理とを繰り返し実行するデータ処理装置において、
複数の処理を並列に処理する複数の並列処理部と、この複数の並列処理部に処理を割り付ける処理割付部とを有し、
上記処理割付部は、上記所定量のデータごとに上記第１処理を上記複数の並列処理部に割り付け、割り付けられた上記第１処理がすべて終了した後に上記第２処理を上記複数の並列処理部に割り付け、上記複数の並列処理部のうち上記第２処理が終了したものに順次、次のデータに対する上記第１処理を割り付ける、
ことを特徴とするデータ処理装置。
【請求項２】
請求項１記載のデータ処理装置において、
処理されるデータは画像データであり、
前記第１処理は上記画像データ内の色を印刷用の色に変換する色変換処理であり、
前記第２処理は上記色変換処理で得られた色を印刷に用いる個々のインクの印刷パターンに変換するハーフトーン処理であり、
前記処理割付部は、上記画像データを分割した処理ブロックごとに、その処理ブロックをラスターごとに分割して前記複数の並列処理部に色変換処理を割り付け、その処理ブロックのすべてのラスターについて前記色変換処理が終了した後に、その処理ブロックのすべてのラスターについての上記ハーフトーン処理を上記個々のインクごとに前記複数の並列処理部に割り付ける、
ことを特徴とするデータ処理装置。
【請求項３】
請求項２記載のデータ処理装置において、
前記複数の並列処理部による並列処理数は前記インクの色数に等しい、
ことを特徴とするデータ処理装置。
【請求項４】
請求項２または３記載のデータ処理装置において、
前記処理割付部は、前記画像データをラスター数が１６から６４の範囲の処理ブロックに分割して前記複数の並列処理部に割り付ける、
ことを特徴とするデータ処理装置。
【請求項５】
データ処理装置と印刷装置とを有し、
上記データ処理装置は、上記印刷装置で印刷しようとする画像データ内の色を上記印刷装置における印刷用の色に変換する色変換処理と、この色変換処理で得られた色を上記印刷装置が用いる個々のインクの印刷パターンに変換するハーフトーン処理とを実行する
印刷システムにおいて、
上記データ処理装置は、複数の処理を並列に処理する複数の並列処理部と、この複数の並列処理部に処理を割り付ける処理割付部とを有し、
上記処理割付部は、上記画像データを分割した処理ブロックごとに、その処理ブロックをラスターごとに分割して上記複数の並列処理部に上記色変換処理を割り付け、その処理ブロックのすべてのラスターについて上記色変換処理が終了した後に、その処理ブロックのすべてのラスターについての上記ハーフトーン処理を上記個々のインクごとに上記複数の並列処理部に割り付け、上記複数の並列処理部のうち上記ハーフトーン処理が終了したものに順次、次の処理ブロックに対する上記色変換処理を割り付ける、
ことを特徴とする印刷システム。
【請求項６】
所定量のデータごとに、第１処理と、この第１処理の後に上記第１の処理に比較して処理負荷の大きい第２処理とを繰り返し実行するデータ処理方法において、
上記所定量のデータごとに複数のスレッドで上記第１処理を並列処理し、
上記第１処理がすべて終了した後に上記複数のスレッドで上記第２処理を並列処理し、
上記複数のスレッドのうち上記第２処理が終了したもので順次、次のデータに対する上記第１処理を実行する
ことを特徴とするデータ処理方法。
【請求項７】
コンピュータに、所定量のデータごとに、第１処理と、この第１処理の後に上記第１の処理に比較して処理負荷の大きい第２処理とを繰り返し実行させるプログラムにおいて、
上記所定量のデータごとに複数のスレッドで上記第１処理を並列処理させ、
上記第１処理がすべて終了した後に上記複数のスレッドで上記第２処理を並列処理させ、
上記複数のスレッドのうち上記第２処理が終了したものに順次、次のデータに対する上記第１処理を実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、印刷処理システム、データ処理方法およびプログラムに関する。
【背景技術】
【０００２】
データを高速に処理する手法として、従来から、データを複数のスレッドで並列に処理する並列処理が用いられている。並列処理は、プロセッサー内で実際に演算処理を行う部分（コア）がひとつであっても、メモリなどへのデータ転送の間に別のスレッドを実行できることから、分岐予測や非順次命令の実行が少ない場合には有効である。また、近年は、複数のコアを有する並列処理に適したプロセッサーが一般的になっている。さらに、元来はグラフィックスを高速かつ並列に処理するためのプロセッサーであるＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を利用して、汎用計算を並列に処理することも可能となっている。
【０００３】
画像データを並列処理により実行する技術として、特許文献１には、複数種類のインクのそれぞれ対するハーフトーン処理を単位処理とし、この負荷の異なる単位処理を、複数のスレッドに分散させることが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２６０４２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年のプロセッサーの技術的進歩により、より多くのスレッドを利用できるようになってきている。しかし、特許文献１に記載の技術を実施できるのは、スレッド数がインク数より少ない場合に限定されてしまう。なぜなら、スレッド数がインク数に近い場合には、１スレッドに割り当てられる単位処理数が極端に少なくなり、負荷のばらつきを減らすことができないからである。また、特許文献１に開示の技術は、ハーフトーン処理のみを並列処理の対象とし、画像ＲＧＢデータを各インクの階調に変換する色変換処理の負荷分散に関しては考慮していない。
【０００６】
本発明は、以上の課題を解決し、処理負荷が異なり処理の順序も限定される２種類以上の処理を効率よく並列処理することのできるデータ処理装置、印刷システム、データ処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の観点によると、所定量のデータごとに、第１処理と、この第１処理の終了後に第１の処理に比較して処理負荷の大きい第２処理とを繰り返し実行するデータ処理装置において、複数の処理を並列に処理する複数の並列処理部と、この複数の並列処理部に処理を割り付ける処理割付部とを有し、処理割付部は、所定量のデータごとに第１処理を複数の並列処理部に割り付け、割り付けられた第１処理がすべて終了した後に第２処理を複数の並列処理部に割り付け、複数の並列処理部のうち第２処理が終了したものに順次、次のデータに対する第１処理を割り付けることを特徴とするデータ処理装置が提供される。
【０００８】
この構成によれば、比較的処理負荷が小さい第１処理と、第１処理が終了してから実行しなければならない比較的処理負荷の大きい第２処理とを共に並列化し、効率よく並列処理を実行できる。本発明では、所定量のデータごとに第１処理で同期を取る必要がある場合、すなわち、第２処理を開始する前にすべての第１処理が終了する必要がある場合を前提としている。このような場合、同期による待ち時間は、処理効率を低下させる原因となる。これに対し、処理負荷の大きい第２処理が終了した並列処理部に負荷の小さい第１処理を割り当てることで、各並列処理部の負荷のばらつきを少なくし、効率的に処理を実行することができる。
【０００９】
処理されるデータは画像データであり、第１処理は画像データ内の色を印刷用の色に変換する色変換処理であり、第２処理は色変換処理で得られた色を印刷に用いる個々のインクの印刷パターンに変換するハーフトーン処理である場合に、処理割付部は、画像データを分割した処理ブロックごとに、その処理ブロックをラスターごとに分割して複数の並列処理部に色変換処理を割り付け、その処理ブロックのすべてのラスターについて色変換処理が終了した後に、その処理ブロックのすべてのラスターについてのハーフトーン処理を個々のインクごとに複数の並列処理部に割り付けることができる。
【００１０】
すなわち、ハーフトーン処理だけでなく、色変換処理も同時に並列化することができる。色変換処理はハーフトーン処理の前に終了している必要があり、また、ハーフトーン処理の処理負荷はインクの色ごとに異なるため、ハーフトーン処理を終了した並列処理部で次のデータの色変換処理を行うことで、色変換処理とハーフトーン処理とを効率的に処理することができる。
【００１１】
画像データを色変換処理およびハーフトーン処理する場合には、複数の並列処理部による並列処理数をインクの色数に等しくすることが望ましい。並列処理数をインクの色数に等しくすることで、処理負荷の大きいハーフトーン処理を並列に処理することができ、処理効率を高めることができる。また、ハーフトーン処理を並列で処理するとき、インク色ごとに処理を分割して割り付けているため、入力画像に対して処理方向を常に一定に保つことができる。このため、前の画素の誤差を次の画素の誤差に足し合わせる必要のある誤差拡散のように、１画像中の各画素を逐次的に計算する必要があるハーフトーン処理に利用することができる。
【００１２】
処理割付部は、画像データをラスター数が１６から６４の範囲の処理ブロックに分割して複数の並列処理部に割り付けることが望ましい。処理ブロックの色変換処理で同期をとる必要があるが、同期による待ち時間は、処理効率を低下させる。検証の結果、処理ブロックのラスター数は、１６〜６４の範囲に設定した場合が最も同期による待ち時間を軽減できることがわかっている。また、Ｎを８以下にした場合、待ち時間の軽減が効率的に行われず、処理速度が極端に低下することがわかっている。
【００１３】
本発明の第２の観点によると、データ処理装置と印刷装置とを有し、データ処理装置は、印刷装置で印刷しようとする画像データ内の色を印刷装置における印刷用の色に変換する色変換処理と、この色変換処理で得られた色を印刷装置が用いる個々のインクの印刷パターンに変換するハーフトーン処理とを実行する印刷システムにおいて、データ処理装置は、複数の処理を並列に処理する複数の並列処理部と、この複数の並列処理部に処理を割り付ける処理割付部とを有し、処理割付部は、画像データを分割した処理ブロックごとに、その処理ブロックをラスターごとに分割して複数の並列処理部に色変換処理を割り付け、その処理ブロックのすべてのラスターについて色変換処理が終了した後に、その処理ブロックのすべてのラスターについてのハーフトーン処理を個々のインクごとに複数の並列処理部に割り付け、複数の並列処理部のうちハーフトーン処理が終了したものに順次、次の処理ブロックに対する色変換処理を割り付けることを特徴とする印刷システムが提供される。
【００１４】
本発明の別の観点によると、第１処理の後に第１の処理に比較して処理負荷の大きい第２処理とを繰り返し実行するデータ処理方法において、所定量のデータごとに複数のスレッドで第１処理を並列処理し、第１処理がすべて終了した後に複数のスレッドで第２処理を並列処理し、複数のスレッドのうち第２処理が終了したもので順次、次のデータに対する第１処理を実行することを特徴とするデータ処理方法が提供される。
【００１５】
本発明のさらに別の観点によると、コンピュータに、所定量のデータごとに、第１処理と、この第１処理の後に第１の処理に比較して処理負荷の大きい第２処理とを繰り返し実行させるプログラムにおいて、所定量のデータごとに複数のスレッドで第１処理を並列処理させ、第１処理がすべて終了した後に複数のスレッドで第２処理を並列処理させ、複数のスレッドのうち第２処理が終了したものに順次、次のデータに対する第１処理を実行させることを特徴とするプログラムが提供される。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態に係るデータ処理装置と印刷システムのブロック構成図である。
【図２】図１に示すデータ処理装置内のプリンタードライバーによる処理の流れを示すフローチャートである。
【図３】図２に示すフローチャートにおけるステップＳ２〜Ｓ３の処理を説明する図である。
【図４】図２に示すフローチャートにおけるステップＳ３、Ｓ４およびステップＳ６から次のテスップＳ３の処理による色変換処理およびハーフトーン処理の割り付け例を説明する図である。
【図５】スレッド数および処理ブロックのラスター数に対する処理速度の変化を示す図であり、８色出力、出力解像度７２０×７２０での、同じ画像をタイル状に配置した入力画像の処理速度の比較例を示す。
【図６】スレッド数および処理ブロックのラスター数に対する処理速度の変化を示す図であり、８色出力、出力解像度７２０×７２０での、異なる画像をタイル状に配置した入力画像の処理速度の比較例を示す。
【図７】スレッド数および処理ブロックのラスター数に対する処理速度の変化を示す図であり、８色出力、出力解像度１４４０×７２０での、同じ画像をタイル状に配置した入力画像の処理速度の比較例を示す。
【図８】スレッド数および処理ブロックのラスター数に対する処理速度の変化を示す図であり、８色出力、出力解像度１４４０×７２０での、異なる画像をタイル状に配置した入力画像の処理速度の比較例を示す。
【図９】スレッド数および処理ブロックのラスター数に対する処理速度の変化を示す図であり、４色出力、出力解像度７２０×７２０での、同じ画像をタイル状に配置した入力画像の処理速度の比較例を示す。
【図１０】スレッド数および処理ブロックのラスター数に対する処理速度の変化を示す図であり、４色出力、出力解像度７２０×７２０での、異なる画像をタイル状に配置した入力画像の処理速度の比較例を示す。
【図１１】スレッド数および処理ブロックのラスター数に対する処理速度の変化を示す図であり、４色出力、出力解像度１４４０×７２０での、同じ画像をタイル状に配置した入力画像の処理速度の比較例を示す。
【図１２】スレッド数および処理ブロックのラスター数に対する処理速度の変化を示す図であり、４色出力、出力解像度１４４０×７２０での、異なる画像をタイル状に配置した入力画像の処理速度の比較例を示す。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１８】
［システム構成］
図１は、本発明の実施の形態に係るデータ処理装置１０と、その周辺装置である入出力装置２０、表示装置３０および印刷装置４０を有するシステムのブロック構成図である。ここでは、データ処理装置１０とその周辺装置、特に印刷装置４０により、印刷システムを構成する場合を例に説明する。
【００１９】
データ処理装置１０は、中央処理装置（ＣＰＵ）、メインメモリ、ハードディスクドライブおよび各種インターフェース等のハードウェアを有する。図１では、これらのハードウェアについては省略し、これらのハードウェアにより実現される機能ブロックのみを示す。すなわち、データ処理装置１０は、所定のオペレーティングシステムの下で実行されるアプリケーションプログラム１１、ビデオドライバー１２およびプリンタードライバー１３の各機能ブロックを有する。
【００２０】
アプリケーションプログラム１１は、入出力装置２０から入力される各種データの処理や各種の制御を実行する。ビデオドライバー１２は、アプリケーションプログラム１１からの指示により、表示装置３０に、画像や文字、映像、ユーザインタフェース等の各種情報などを表示させる。プリンタードライバー１３は、アプリケーションプログラム１１からの指示により、印刷装置４０で画像や文字を印刷するための処理を行う。
【００２１】
プリンタードライバー１３についてさらに詳しく説明する。このプリンタードライバー１３は、画像入力部１４と、色変換およびハーフトーン処理部１５と、印刷データ出力部１６とを有する。画像入力部１４には、アプリケーションプログラム１１から、画像データが入力される。色変換およびハーフトーン処理部１５は、画像入力部１４に入力された画像データに対して、第１処理として、印刷装置４０で印刷しようとする画像データ内の色を印刷装置４０における印刷用の色に変換する色変換処理を実行し、第２処理として、色変換処理で得られた色を印刷装置４０が用いる個々のインクの印刷パターンに変換するハーフトーン処理を実行する。印刷データ出力部１６は、色変換およびハーフトーン処理部１５によるハーフトーン処理の結果の順番を整えて印刷データとし、印刷装置４０に出力する。
【００２２】
色変換処理およびハーフトーン処理部１５は、複数の処理を並列に処理する複数の並列処理部としてスレッド１７を有し、この複数のスレッド１７に処理を割り付ける処理割付部１８を有する。処理割付部１８は、画像データを分割した処理ブロックごとに、その処理ブロックをラスターごとに分割して複数のスレッド１７に色変換処理を割り付け、その処理ブロックのすべてのラスターについて色変換処理が終了した後に、その処理ブロックのすべてのラスターについてのハーフトーン処理を個々のインクごとに複数のスレッド１７に割り付け、複数のスレッド１７のうちハーフトーン処理が終了したものに順次、次の処理ブロックに対する色変換処理を割り付ける。ここで、色変換処理は、処理負荷が比較的小さい第１処理となり、ハーフトーン処理は、色変換処理に比べ処理負荷が大きい第２処理となる。
【００２３】
［動作の詳しい説明]
図２は、図１に示すデータ処理装置１０内のプリンタードライバー１３による処理の流れを示すフローチャートである。
【００２４】
画像入力部１４に画像データが入力されると（ステップＳ１でＹ)、処理割付部１８は、入力された画像データを１画像とし、Ｎラスター（Ｎは２以上の整数）ずつの処理ブロックに分割する（ステップＳ２）。続いて、分割された処理ブロック（Ｎラスターの画像データ）をラスターごとに分割し、スレッド１７にそれぞれ処理を割り付ける。スレッド１７は、ラスターごとに画像データの色変換処理を実行する。処理割付部１８はまた、色変換処理の終了したスレッド１７に、次のラスターの色変換処理を割り付ける。スレッド１７は、処理割付部１８により割り付けられたラスターごとの色変換処理を順次実行し、割り付けがない場合には、他のスレッド１７の色変換処理が終了まで待機する（ステップＳ３）。
【００２５】
ひとつの処理ブロックについての色変換処理がすべて終了すると、割付処理部１８は、その処理ブロックについて、印刷装置４０の使用するインクの色ごとのハーフトーン処理を複数のスレッド１７にそれぞれ割り付ける。スレッド１７は、Ｎラスターのハーフトーン処理を実行する（ステップＳ４）。まだ処理ブロックが残っている（ステップＳ５でＮ）場合には、次の処理ブロックについて（ステップＳ６）、ステップＳ３およびステップＳ４を繰り返す。
【００２６】
ハーフトーン処理が最後の処理ブロックまで終了すると（ステップＳ５でＹ）、印刷データ出力部１６は、スレッド１７で色変換処理およびハーフトーン処理されたデータの順番を整えて、印刷装置４０に出力する。
【００２７】
図３は、図２に示すフローチャートにおけるステップＳ２〜Ｓ３の処理を具体的に説明する図である。ステップＳ２において、画像データ１０１は、Ｎラスターずつの処理ブロック１０２に分割される。次に、ステップＳ３の色変換処理では、Ｎラスターの処理ブロックの１ラスター１０３ずつをそれぞれスレッド１７で処理する。ステップＳ４のハーフトーン処理では、印刷装置４０の使用するインクの色ごとに、別々のスレッド１７で、Ｎラスターのデータ１０４Ｃ、１０４Ｍ、１０４Ｙ、１０４Ｋのハーフトーン処理を実行する。ここでは、印刷装置４０の使用するインクの色がシアンＣ、マゼンタＭ、イエローＹ、黒Ｋであり、データ１０４Ｃはシアン用のデータ、データ１０４Ｍはマゼンタ用のデータ、データ１０４Ｙはイエロー用のデータ、データ１０４Ｋは黒用のデータである。
【００２８】
図４は、図２に示すフローチャートにおけるステップＳ３、Ｓ４およびステップＳ６から次のテスップＳ３の処理による色変換処理およびハーフトーン処理の割り付け例を説明する図である。ここでは、色変換処理＃１〜＃８と４つのハーフトーン処理、および次の処理ブロックの色変換処理＃９〜＃１６を、４つのスレッド＃１〜＃４で実行するものとして説明する。
【００２９】
図４に示す割り付け例では、最初に、スレッド＃１〜＃４にそれぞれ色変換処理＃１〜＃４を割り付け、続いて、その処理が終了したスレッド＃１、＃４、＃２、＃３に対し、終了した順に、次の色変換処理＃５〜＃８を割り付けている。そして、色変換処理＃１〜＃８がすべて終了した後、スレッド＃１〜＃４に、色変換処理＃１〜＃８で得られた結果に対する色ごとのハーフトーン処理を割り付ける。さらに、処理が終了したスレッドに色変換処理を割り付ける。図４に示す例では、スレッド＃２が最初にハーフトーン処理を終了しているので、このスレッド＃２に色変換処理＃９を割り付ける。この色変換処理＃９も、他のスレッド＃１、＃３、＃４のハーフトーン処理が終了する前に終了しているので、スレッド＃２にさらに色変換処理＃１０を割り付ける。スレッド＃２が色変換処理＃１０を実行している間にスレッド＃１のハーフトーン処理が終了しているので、スレッド＃１に色変換処理＃１１を割り付ける。以下同様にして色変換処理＃１６まで割り付け、スレッド＃１〜＃４のすべてのハーフトーン処理および色変換処理＃９〜＃１６がすべて終了した後、色変換処理＃９〜＃１６で得られた結果に対するハーフトーン処理を割り付ける。
【００３０】
色変換処理＃１〜＃８、＃９〜＃１６の順序は、図４に示す例では単純にラスター順を想定しているが、それぞれの処理負荷を考慮して決めることもできる。たとえば、処理負荷の大きいものから順に、空きスレッドに割り付けることができる。
【００３１】
［処理速度の評価］
図５から図１２は、スレッド数および処理ブロックのラスター数に対する処理速度の変化を示す図である。これらは、中央処理装置として２．６６ＧＨｚ動作のＣｏｒｅ２Ｑｕａｄ（登録商標）を２個使用し、メインメモリ３ＧＢ、オペレーティングシステムとしてＷｉｎｄｏｗｓ（登録商標）ＸＰ  Ｐｒｏｆｅｓｓｉｏｎａｌ  ＳＰ２を使用して測定したものである。図５は、８色出力、出力解像度７２０×７２０での、同じ画像をタイル状に配置した入力画像の処理速度の比較例を示す。図６は、８色出力、出力解像度７２０×７２０での、異なる画像をタイル状に配置した入力画像の処理速度の比較例を示す。図７は、８色出力、出力解像度１４４０×７２０での、同じ画像をタイル状に配置した入力画像の処理速度の比較例を示す。図８は、８色出力、出力解像度１４４０×７２０での、異なる画像をタイル状に配置した入力画像の処理速度の比較例を示す。図９から図１２はそれぞれ、４色出力における図５から図８と同様の例を示す。図５から図１２にはまた、１ラスターずつ１スレッドで処理した場合をオリジナルとし、８スレッド処理の場合の速度向上率を併記する。
【００３２】
図５から図１２のそれぞれにおいて、縦軸は、任意目盛りの処理速度（１秒間に処理するピクセル数）と、８スレッド処理の場合の処理速度向上率とを示す。横軸は、処理ブロックごとの処理ラスター単位Ｎを示す。Ｎ＝１の場合は１スレッド処理だけを示し、Ｎが複数の場合については、１スレッド処理、４スレッド処理および８スレッド処理の３つの処理速度をこの順に並べて示す。すなわち、各Ｎ値における左側が１スレッド処理を示し、中央が２スレッド処理を示し、右側が８スレッド処理を示す。
【００３３】
図４に示す色変換処理およびハーフトーン処理の割り付け例において、各スレッド＃１〜＃３でそれぞれ最後の色変換処理＃１３、＃１５、＃１６を終了してから同期処理までの間に、待ち時間が生じている。このような待ち時間は、処理効率を低下させる原因となる。色変換処理はラスターごとに行われるため、処理ブロックのラスター数（＝色変換処理の数）を最適に設定することで、処理効率を高めることができる。図５から図８を参照すると、処理ラスター単位Ｎが１６〜６４の範囲のとき、処理速度向上率が高くなることがわかる。Ｎを８以下にした場合、待ち時間の軽減が効率的に行われず、処理速度が低下する。
【００３４】
図５から図８を参照すると、８色出力の場合、処理ラスター単位Ｎが同じ条件であれば、スレッド数を１、４、８と増やすほど、処理速度が向上することがわかる。一方、図９から図１２を参照すると、４色出力の場合、スレッド数を４から８に増やしても、処理速度は向上せず、むしろ低下することがわかる。これは、色ごとにハーフトーン処理をスレッドに割り付けているため、４色出力でスレット数を８にしても、４つのスレッドは有効に活用されないことによる。したがって、スレッド数はインクの色数と同じであることが望ましい。
【００３５】
スレッド数をインクの色数と同じにすることにより、ハーフトーン処理を並列で処理するとき、インク色ごとに処理を分割してスレッドに割り付けることができる。これにより、入力画像に対して処理方向を常に一定に保つことができ、前の画素の誤差を次の画素の誤差に足し合わせる必要のある誤差拡散のように、１画像中の各画素を逐次的に計算する必要があるハーフトーン処理に利用することができる。
【００３６】
［他の実施の形態］
以上の説明では、色変換処理を１ラスターずつ行うものとした。これは、処理単位を小さくすることで、個々の色変換処理の負荷を小さくし、負荷分散を効率的に行うことができるからである。しかし、個々の色変換処理の負荷は少し大きくなるが、色変換処理を２あるいはそれ以上のラスターずつ行うこともできる。
【００３７】
以上説明したデータ処理装置１０および印刷システムは、汎用のコンピュータに、所定量のデータごとに複数のスレッドで第１処理を並列処理させ、第１処理がすべて終了した後に複数のスレッドで第２処理を並列処理させ、複数のスレッドのうち第２処理が終了したものに順次、次のデータに対する第１処理を実行させるプログラムをインストールすることにより、実現することができる。
【００３８】
以上、本発明の実施の形態に係るデータ処理装置、印刷システム、データ処理方法およびプログラムについて説明したが、本発明は、要旨を変更しない限り種々変更実施できる。たとえば、処理対象とするデータとして、第１処理としての色変換処理と第２処理としてのハーフトーン処理だけでなく、比較的処理負荷が小さい第１処理と、第１処理が終了してから実行しなければならない比較的処理負荷の大きい第２処理とを実行するどのような処理にも利用できる。また、第１処理および第２処理の少なくとも一方が、それぞれ複数の処理を含むこともできる。たとえば、図４において色変換処理＃１〜＃８、＃９〜＃１６として示した処理は、すべて同じ処理ではなく、別の処理を含んでもよい。具体的には、色変換処理＃１〜＃４、＃９〜＃１２として示した処理と、色変換処理＃５〜＃８、＃１３〜＃１６として示した処理とが、異なる処理であってもよい。
【符号の説明】
【００３９】
１０  データ処理装置、１１  アプリケーションプログラム、１２  ビデオドライバー、１３  プリンタードライバー、１４  画像入力部、１５  色変換およびハーフトーン処理部、１６  印刷データ出力部、１７  スレッド（並列処理部）、１８  処理割付部、２０  入出力装置、３０  表示装置、４０  印刷装置
【図１】
2010244097.tif 000003
【図２】
2010244097.tif 000004
【図３】
2010244097.tif 000005
【図４】
2010244097.tif 000006
【図５】
2010244097.tif 000007
【図６】
2010244097.tif 000008
【図７】
2010244097.tif 000009
【図８】
2010244097.tif 000010
【図９】
2010244097.tif 000011
【図１０】
2010244097.tif 000012
【図１１】
2010244097.tif 000013
【図１２】
2010244097.tif 000014