(57)【特許請求の範囲】
【請求項１】
並列に作動自在の複数の演算部を有する印刷データ生成装置であって、
ＰＤＬデータに含まれるオブジェクトの色空間を出力用の色空間に変換する色変換処理を実行するための色変換部を有しており、
前記色変換部は、前記オブジェクトの属性が画像であり、文字および図形でない場合、前記オブジェクトのデータを分割し、分割データの色変換処理を複数の演算部によって並列に実行するための並列処理部を有する
ことを特徴とする印刷データ生成装置。
【請求項２】
前記色変換部は、前記オブジェクトのデータ数を閾値と比較するための比較部をさらに有し、
前記並列処理部においては、前記オブジェクトの属性が画像でありかつ前記データ数が閾値以上である場合、前記オブジェクトのデータが分割され、分割データの色変換処理が、複数の演算部によって並列に実行される
ことを特徴とする請求項１に記載の印刷データ生成装置。
【請求項３】
前記閾値は、前記分割データの色変換処理を並列に実行する前記演算部を、協調動作させるためのオーバーヘッドに基づいて設定されることを特徴とする請求項２に記載の印刷データ生成装置。
【請求項４】
前記色変換部においては、担当した分割データの色変換処理を実行している途中である第１の演算部と、担当した分割データの色変換処理が完了した別の演算部が存在する場合、前記第１の演算部に係る色変換されていない分割データが再分割され、再分割データの色変換処理が、前記第１の演算部および前記別の演算部によって並列に実行される
ことを特徴とする請求項１〜３のいずれか１項に記載の印刷データ生成装置。
【請求項５】
前記色変換部による色変換処理に先立って、前記ＰＤＬデータに含まれるオブジェクトの言語解析処理を実行するための言語解析処理部と、
前記色変換部による色変換処理の後において、色変換されたデータのレンダリング処理を実行するためのレンダリング処理部と、をさらに有しており、
前記言語解析処理部における言語解析処理を実行する演算部と、前記言語解析処理の対象であるページの前ページを対象とする前記レンダリング処理部における前記レンダリング処理を実行する演算部とは、異なっており、前記言語解析処理の言語解析処理および前記レンダリング処理部のレンダリング処理は、並列に実行される
ことを特徴とする請求項１〜４のいずれか１項に記載の印刷データ生成装置。
【請求項６】
前記色変換部による色変換処理の後において、色変換されたデータのレンダリング処理を実行するためのレンダリング処理部をさらに有しており、
前記色変換部において分割データの色変換処理を並列に実行している演算部の１つは、時分割によって制御されており、
前記色変換部における色変換処理の対象であるページの前ページを対象とする前記レンダリング処理部における前記レンダリング処理は、前記演算部の１つによって時分割で実行される
ことを特徴とする請求項１〜５のいずれか１項に記載の印刷データ生成装置。
【請求項７】
並列に作動自在の複数の演算部を有する印刷データ生成装置に適用される印刷データ生成方法であって、
ＰＤＬデータに含まれるオブジェクトの色空間を出力用の色空間に変換する色変換処理を実行するステップ（Ａ）を有しており、
前記ステップ（Ａ）は、前記オブジェクトの属性が画像であり、文字および図形でない場合、前記オブジェクトのデータを分割し、分割データの色変換処理を複数の演算部によって並列に実行するステップ（Ａ１）を有する
ことを特徴とする印刷データ生成方法。
【請求項８】
前記ステップ（Ａ）は、前記オブジェクトのデータ数を閾値と比較するステップ（Ａ２）をさらに有し、
前記ステップ（Ａ１）においては、前記オブジェクトの属性が画像でありかつ前記データ数が閾値以上である場合、前記オブジェクトのデータが分割され、分割データの色変換処理が、複数の演算部によって並列に実行される
ことを特徴とする請求項７に記載の印刷データ生成方法。
【請求項９】
前記閾値は、前記分割データの色変換処理を並列に実行する前記演算部を、協調動作させるためのオーバーヘッドに基づいて設定されることを特徴とする請求項８に記載の印刷データ生成方法。
【請求項１０】
前記ステップ（Ａ）においては、担当した分割データの色変換処理を実行している途中である第１の演算部と、担当した分割データの色変換処理が完了した別の演算部が存在する場合、前記第１の演算部に係る色変換されていない分割データが再分割され、再分割データの色変換が、前記第１の演算部および前記別の演算部によって並列に実行される
ことを特徴とする請求項７〜９のいずれか１項に記載の印刷データ生成方法。
【請求項１１】
前記ステップ（Ａ）による色変換処理に先立って、前記ＰＤＬデータに含まれるオブジェクトの言語解析処理を実行するステップ（Ｂ）と、
前記ステップ（Ａ）による色変換処理の後において、色変換されたデータのレンダリング処理を実行するステップ（Ｃ）と、をさらに有しており、
前記ステップ（Ｂ）における言語解析処理を実行する演算部と、前記言語解析処理の対象であるページの前ページを対象とする前記ステップ（Ｃ）における前記レンダリング処理を実行する演算部とは、異なっており、前記ステップ（Ｂ）の言語解析処理および前記ステップ（Ｃ）のレンダリング処理は、並列に実行される
ことを特徴とする請求項７〜１０のいずれか１項に記載の印刷データ生成方法。
【請求項１２】
前記ステップ（Ａ）による色変換処理の後において、色変換されたデータのレンダリング処理を実行するステップ（Ｃ）をさらに有しており、
前記ステップ（Ａ）において分割データの色変換を並列に実行している演算部の１つは、時分割によって制御されており、
前記ステップ（Ａ）における色変換処理の対象であるページの前ページを対象とする前記ステップ（Ｃ）における前記レンダリング処理は、前記演算部の１つによって時分割で実行される
ことを特徴とする請求項７〜１１のいずれか１項に記載の印刷データ生成方法。
【請求項１３】
並列に作動自在の複数の演算部を有する印刷データ生成装置を制御する印刷データ生成プログラムであって、
ＰＤＬデータに含まれるオブジェクトの色空間を出力用の色空間に変換する色変換処理を実行する手順（Ａ）を有する処理を、前記印刷データ生成装置に実行させ、
前記手順（Ａ）は、前記オブジェクトの属性が画像であり、文字および図形でない場合、
第１の演算部によって、前記オブジェクトのデータを分割し、１つの分割データの色変換処理を実行する一方、残りの分割データの色変換処理を実行する別の演算部を起動させることにより、前記オブジェクトのデータの色変換処理を複数の演算部によって並列に実行させる手順（Ａ１）を有する
ことを特徴とする印刷データ生成プログラム。
【請求項１４】
前記手順（Ａ）は、前記オブジェクトのデータ数を閾値と比較する手順（Ａ２）をさらに有し、
前記手順（Ａ１）においては、前記オブジェクトの属性が画像でありかつ前記データ数が閾値以上である場合、前記オブジェクトのデータが分割され、分割データの色変換処理が、複数の演算部によって並列に実行される
ことを特徴とする請求項１３に記載の印刷データ生成プログラム。
【請求項１５】
前記閾値は、前記分割データの色変換処理を並列に実行する前記演算部を協調動作させるためのオーバーヘッドに基づいて設定されることを特徴とする請求項１４に記載の印刷データ生成プログラム。
【請求項１６】
前記手順（Ａ）においては、担当した分割データの色変換処理を実行している途中である第１の演算部と、担当した分割データの色変換処理が完了した別の演算部が存在する場合、
前記第１の演算部によって、前記第１の演算部に係る色変換されていない分割データを再分割し、１つの再分割データの色変換処理を実行する一方、前記別の演算部によって残りの再分割データの色変換処理を実行たせるために前記別の演算部を起動させることにより、再分割データの色変換が、前記第１の演算部および前記別の演算部によって並列に実行される
ことを特徴とする請求項１３〜１５のいずれか１項に記載の印刷データ生成プログラム。
【請求項１７】
前記印刷データ生成装置に実行させる前記処理は、
前記手順（Ａ）による色変換処理に先立って、前記ＰＤＬデータに含まれるオブジェクトの言語解析処理を実行する手順（Ｂ）と、
前記手順（Ａ）による色変換処理の後において、色変換されたデータのレンダリング処理を実行する手順（Ｃ）と、をさらに有しており、
前記手順（Ｂ）における言語解析処理を実行する第１の演算部によって、前記言語解析処理の対象であるページの前ページを対象とする前記手順（Ｃ）における前記レンダリング処理を実行するために別の演算部を起動させることにより、
前記手順（Ｂ）の言語解析処理および前記手順（Ｃ）のレンダリング処理は、並列に実行される
ことを特徴とする請求項１３〜１６のいずれか１項に記載の印刷データ生成プログラム。
【請求項１８】
前記印刷データ生成装置に実行させる前記処理は、前記手順（Ａ）による色変換処理の後において、色変換されたデータのレンダリング処理を実行する手順（Ｃ）と、をさらに有しており、
前記手順（Ａ）において分割データの色変換を並列に実行している別の演算部の１つは、時分割によって制御されており、
前記手順（Ａ）における色変換処理の対象であるページの前ページを対象とする前記手順（Ｃ）における前記レンダリング処理は、前記別の演算部の１つによって時分割で実行される
ことを特徴とする請求項１３〜１７のいずれか１項に記載の印刷データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データ生成装置、印刷データ生成方法および印刷データ生成プログラム
に関する。
【背景技術】
【０００２】
近年、フォトブック等のビットマップ画像を多用したデータの印刷が増加している。しかし、ビットマップ画像データのＲＩＰ処理（ラスタライズ処理：Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ）は、文字データや図形データと比較して時間を要し、また、これにより、印刷速度の低下を引き起こす。また、プリントエンジンの高解像度化も進んでおり、高解像度でのＲＩＰ処理を行う必要があり、ＲＩＰ処理の高速化が厳しい状況である。
【０００３】
そのため、ＲＩＰ処理に係る言語解析処理、色変換処理、レンダリング処理および印刷処理を複数プロセスで実行することで、ＲＩＰ処理の高速化を図っている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２４１４８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、色変換処理は画素毎に実行されるため、高解像度になると画素数も増えて、処理時間が増加し、色変換処理が律速となる虞があり、この場合、後の処理ができないため、ＲＩＰ処理速度が低下する問題を有する。
【０００６】
本発明は、上記従来技術に伴う課題を解決するためになされたものであり、色変換処理の高速化が可能である印刷データ生成装置、印刷データ生成方法および印刷データ生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の上記目的は、下記の手段によって達成される。
【０００８】
（１）並列に作動自在の複数の演算部を有する印刷データ生成装置であって、
ＰＤＬデータに含まれるオブジェクトの色空間を出力用の色空間に変換する色変換処理を実行するための色変換部を有しており、
前記色変換部は、前記オブジェクトの属性が画像であり、文字および図形でない場合、前記オブジェクトのデータを分割し、分割データの色変換処理を複数の演算部によって並列に実行するための並列処理部を有する
ことを特徴とする印刷データ生成装置。
【０００９】
（２）前記色変換部は、前記オブジェクトのデータ数を閾値と比較するための比較部をさらに有し、
前記並列処理部においては、前記オブジェクトの属性が画像でありかつ前記データ数が閾値以上である場合、前記オブジェクトのデータが分割され、分割データの色変換処理が、複数の演算部によって並列に実行される
ことを特徴とする上記（１）に記載の印刷データ生成装置。
【００１０】
（３）前記閾値は、前記分割データの色変換処理を並列に実行する前記演算部を、協調動作させるためのオーバーヘッドに基づいて設定されることを特徴とする上記（２）に記載の印刷データ生成装置。
【００１１】
（４）前記色変換部においては、担当した分割データの色変換処理を実行している途中である第１の演算部と、担当した分割データの色変換処理が完了した別の演算部が存在する場合、前記第１の演算部に係る色変換されていない分割データが再分割され、再分割データの色変換処理が、前記第１の演算部および前記別の演算部によって並列に実行される
ことを特徴とする上記（１）〜（３）のいずれか１項に記載の印刷データ生成装置。
【００１２】
（５）前記色変換部による色変換処理に先立って、前記ＰＤＬデータに含まれるオブジェクトの言語解析処理を実行するための言語解析処理部と、
前記色変換部による色変換処理の後において、色変換されたデータのレンダリング処理を実行するためのレンダリング処理部と、をさらに有しており、
前記言語解析処理部における言語解析処理を実行する演算部と、前記言語解析処理の対象であるページの前ページを対象とする前記レンダリング処理部における前記レンダリング処理を実行する演算部とは、異なっており、前記言語解析処理の言語解析処理および前記レンダリング処理部のレンダリング処理は、並列に実行される
ことを特徴とする上記（１）〜（４）のいずれか１項に記載の印刷データ生成装置。
【００１３】
（６）前記色変換部による色変換処理の後において、色変換されたデータのレンダリング処理を実行するためのレンダリング処理部をさらに有しており、
前記色変換部において分割データの色変換処理を並列に実行している演算部の１つは、時分割によって制御されており、
前記色変換部における色変換処理の対象であるページの前ページを対象とする前記レンダリング処理部における前記レンダリング処理は、前記演算部の１つによって時分割で実行される
ことを特徴とする上記（１）〜（５）のいずれか１項に記載の印刷データ生成装置。
【００１４】
（７）並列に作動自在の複数の演算部を有する印刷データ生成装置に適用される印刷データ生成方法であって、
ＰＤＬデータに含まれるオブジェクトの色空間を出力用の色空間に変換する色変換処理を実行するステップ（Ａ）を有しており、
前記ステップ（Ａ）は、前記オブジェクトの属性が画像であり、文字および図形でない場合、前記オブジェクトのデータを分割し、分割データの色変換処理を複数の演算部によって並列に実行するステップ（Ａ１）を有する
ことを特徴とする印刷データ生成方法。
【００１５】
（８）前記ステップ（Ａ）は、前記オブジェクトのデータ数を閾値と比較するステップ（Ａ２）をさらに有し、
前記ステップ（Ａ１）においては、前記オブジェクトの属性が画像でありかつ前記データ数が閾値以上である場合、前記オブジェクトのデータが分割され、分割データの色変換処理が、複数の演算部によって並列に実行される
ことを特徴とする上記（７）に記載の印刷データ生成方法。
【００１６】
（９）前記閾値は、前記分割データの色変換処理を並列に実行する前記演算部を、協調動作させるためのオーバーヘッドに基づいて設定されることを特徴とする上記（８）に記載の印刷データ生成方法。
【００１７】
（１０）前記ステップ（Ａ）においては、担当した分割データの色変換処理を実行している途中である第１の演算部と、担当した分割データの色変換処理が完了した別の演算部が存在する場合、前記第１の演算部に係る色変換されていない分割データが再分割され、再分割データの色変換が、前記第１の演算部および前記別の演算部によって並列に実行されることを特徴とする上記（７）〜（９）のいずれか１項に記載の印刷データ生成方法。
【００１８】
（１１）前記ステップ（Ａ）による色変換処理に先立って、前記ＰＤＬデータに含まれるオブジェクトの言語解析処理を実行するステップ（Ｂ）と、
前記ステップ（Ａ）による色変換処理の後において、色変換されたデータのレンダリング処理を実行するステップ（Ｃ）と、をさらに有しており、
前記ステップ（Ｂ）における言語解析処理を実行する演算部と、前記言語解析処理の対象であるページの前ページを対象とする前記ステップ（Ｃ）における前記レンダリング処理を実行する演算部とは、異なっており、前記ステップ（Ｂ）の言語解析処理および前記ステップ（Ｃ）のレンダリング処理は、並列に実行される
ことを特徴とする上記（７）〜（１０）のいずれか１項に記載の印刷データ生成方法。
【００１９】
（１２）前記ステップ（Ａ）による色変換処理の後において、色変換されたデータのレンダリング処理を実行するステップ（Ｃ）をさらに有しており、
前記ステップ（Ａ）において分割データの色変換を並列に実行している演算部の１つは、時分割によって制御されており、
前記ステップ（Ａ）における色変換処理の対象であるページの前ページを対象とする前記ステップ（Ｃ）における前記レンダリング処理は、前記演算部の１つによって時分割で実行される
ことを特徴とする上記（７）〜（１１）のいずれか１項に記載の印刷データ生成方法。
【００２０】
（１３）並列に作動自在の複数の演算部を有する印刷データ生成装置を制御する印刷データ生成プログラムであって、
ＰＤＬデータに含まれるオブジェクトの色空間を出力用の色空間に変換する色変換処理を実行する手順（Ａ）を有する処理を、前記印刷データ生成装置に実行させ、
前記手順（Ａ）は、前記オブジェクトの属性が画像であり、文字および図形でない場合、
第１の演算部によって、前記オブジェクトのデータを分割し、１つの分割データの色変換処理を実行する一方、残りの分割データの色変換処理を実行する別の演算部を起動させることにより、前記オブジェクトのデータの色変換処理を複数の演算部によって並列に実行させる手順（Ａ１）を有する
ことを特徴とする印刷データ生成プログラム。
【００２１】
（１４）前記手順（Ａ）は、前記オブジェクトのデータ数を閾値と比較する手順（Ａ２）をさらに有し、
前記手順（Ａ１）においては、前記オブジェクトの属性が画像でありかつ前記データ数が閾値以上である場合、前記オブジェクトのデータが分割され、分割データの色変換処理が、複数の演算部によって並列に実行される
ことを特徴とする上記（１３）に記載の印刷データ生成プログラム。
【００２２】
（１５）前記閾値は、前記分割データの色変換処理を並列に実行する前記演算部を協調動作させるためのオーバーヘッドに基づいて設定されることを特徴とする上記（１４）に記載の印刷データ生成プログラム。
【００２３】
（１６）前記手順（Ａ）においては、担当した分割データの色変換処理を実行している途中である第１の演算部と、担当した分割データの色変換処理が完了した別の演算部が存在する場合、
前記第１の演算部によって、前記第１の演算部に係る色変換されていない分割データを再分割し、１つの再分割データの色変換処理を実行する一方、前記別の演算部によって残りの再分割データの色変換処理を実行たせるために前記別の演算部を起動させることにより、再分割データの色変換が、前記第１の演算部および前記別の演算部によって並列に実行される
ことを特徴とする上記（１３）〜（１５）のいずれか１項に記載の印刷データ生成プログラム。
【００２４】
（１７）前記印刷データ生成装置に実行させる前記処理は、
前記手順（Ａ）による色変換処理に先立って、前記ＰＤＬデータに含まれるオブジェクトの言語解析処理を実行する手順（Ｂ）と、
前記手順（Ａ）による色変換処理の後において、色変換されたデータのレンダリング処理を実行する手順（Ｃ）と、をさらに有しており、
前記手順（Ｂ）における言語解析処理を実行する第１の演算部によって、前記言語解析処理の対象であるページの前ページを対象とする前記手順（Ｃ）における前記レンダリング処理を実行するために別の演算部を起動させることにより、
前記手順（Ｂ）の言語解析処理および前記手順（Ｃ）のレンダリング処理は、並列に実行される
ことを特徴とする上記（１３）〜（１６）のいずれか１項に記載の印刷データ生成プログラム。
【００２５】
（１８）前記印刷データ生成装置に実行させる前記処理は、前記手順（Ａ）による色変換処理の後において、色変換されたデータのレンダリング処理を実行する手順（Ｃ）と、をさらに有しており、
前記手順（Ａ）において分割データの色変換を並列に実行している別の演算部の１つは、時分割によって制御されており、
前記手順（Ａ）における色変換処理の対象であるページの前ページを対象とする前記手順（Ｃ）における前記レンダリング処理は、前記別の演算部の１つによって時分割で実行される
ことを特徴とする上記（１３）〜（１７）のいずれか１項に記載の印刷データ生成プログラム。
【発明の効果】
【００２６】
本発明に係る印刷データ生成装置、印刷データ生成方法および印刷データ生成プログラムによれば、ＰＤＬデータに含まれるオブジェクトを分割し、分割データの色変換を複数の演算部によって並列に実行するため、色変換処理を短縮化することが可能である。また、分割の対象となる属性が画像であるオブジェクトにおいては、構成データ（画素）毎に色変換処理を実行する必要があるため、並列実行による効果が顕著となる。つまり、色変換処理の高速化が可能である印刷データ生成装置、印刷データ生成装置および印刷データ生成プログラムを提供することが可能である。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施形態に係る画像処理装置を説明するためのブロック図である。
【図２】図１に示される画像処理装置が接続されるネットワークの構成を説明するための概略図である。
【図３】図１に示されるプリンタコントローラに組み込まれたプログラムの構成およびデータフローを説明するための概略図である。
【図４】ＰＤＬデータに含まれるオブジェクトを説明するための概念図である。
【図５】ＰｏｓｔＳｃｒｉｐｔの描画命令の一例を説明するための図表である。
【図６】色変換処理の対象となるデータの構成を説明するための概念図である。
【図７】ＣＭＹＫ色空間における画素構成を説明するための概念図である。
【図８】ＲＧＢ色空間における画素構成を説明するための概念図である。
【図９】色変換処理の対象となるデータの格納構成を説明するための概念図である。
【図１０】本発明の実施形態に係る印刷データ生成処理方法を説明するためのフローチャートである。
【図１１】図１０に示される色変換処理を説明するためのフローチャートである。
【図１２】図１０に示される色変換処理を説明するためのシーケンスチャートである。
【図１３】本発明の実施形態に係る変形例１を説明するためのシーケンスチャートである。
【図１４】本発明の実施形態に係る変形例２を説明するためのシーケンスチャートである。
【発明を実施するための形態】
【００２８】
以下、本発明の実施の形態を、図面を参照しつつ説明する。
【００２９】
図１は、本発明の実施形態に係る画像処理装置を説明するためのブロック図、図２は、図１に示される画像処理装置が接続されるネットワークの構成を説明するための概略図である。
【００３０】
本実施形態に係る画像処理装置１００は、プリンタコントローラ１２０およびプリントエンジン１４０を有しており、ネットワーク４００を経由して接続されるクライアント端末２００，３００から転送されるプリントジョブを受信して、印刷処理を行うために使用される。
【００３１】
ネットワーク４００は、イーサネット（登録商標）、トークンリング、およびＦＤＤＩ（Ｆｉｂｅｒ−Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）等の規格によりコンピュータやネットワーク機器同士を接続する構内情報通信網（ＬＡＮ：Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＡＮ同士を専用線で接続した広域情報通信網（ＷＡＮ：Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット、これらの組み合わせ等の各種のネットワークからなる。ネットワークプロトコルは、例えば、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）である。ネットワーク４００に接続される機器の種類および台数は、図２に示される構成に限定されない。
【００３２】
クライアント端末２００，３００は、本体部、ディスプレイおよび入力装置を有するコンピュータ装置によって構成され、各種のアプリケーションがインストールされている。アプリケーションは、例えば、電子文書を作成するための文書作成プログラムや、電子文書を印刷するためのドライバープログラムである。電子文書の規格は、例えば、ＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）や、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）である。
【００３３】
ドライバープログラムは、画像処理装置１００が対応可能な記述言語形式による印刷データを作成し、これをプリントジョブとしてネットワーク４００を介して画像処理装置１００に送信する。記述言語形式は、ＰｏｓｔＳｃｒｉｐｔ（登録商標）やＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ）等のＰＤＬ（ページ記述言語：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）である。
【００３４】
プリンタコントローラ１２０は、クライアント端末２００，３００から転送されたＰＤＬデータをラスターデータに変換し、前記ラスターデータをプリントエンジン１４０に転送するために使用される印刷データ生成装置であり、ＣＰＵ１２２、ＲＡＭ１２４、ＨＤＤ１２６、ＮＩＣ１２８およびエンジンインターフェース１３０を有し、これらは、バス１３４を経由して相互に接続されている。
【００３５】
ＣＰＵ１２２は、プログラムにしたがって上記各部の制御や各種の演算処理を実行するマルチコアのプロセッサ等から構成される制御回路であり、プリンタコントローラ１２０の各機能は、それに対応するプログラムをＣＰＵ１２２が実行することにより発揮される。なお、前記プロセッサは、後述される色変換を並列に実行する演算部である第１コア１２２Ａおよび第２コア１２２Ｂを有する。
【００３６】
ＲＡＭ１２４は、作業領域として一時的にプログラムおよびデータを記憶する高速のランダムアクセス記憶装置である。ＨＤＤ１２６は、プリンタドライバやオペレーティングシステムを含む各種プログラムや各種データを格納する大容量のランダムアクセス記憶装置である。ＨＤＤ１２６に格納されるプログラムには、クライアント端末２００，３００から転送されたＰＤＬデータをＲＩＰ処理（ラスタライズ処理：Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ）するためのプログラムが含まれる。なお、プログラムは、ソリッドステートドライブ（ＳＳＤ：Ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ）やコンパクトフラッシュ（ＣＦ：ＣｏｍｐａｃｔＦｌａｓｈ）等の半導体メモリを使用した記憶装置に適宜格納することも可能である。
【００３７】
ＮＩＣ１２８は、所謂ＬＡＮボードからなる通信部であり、ネットワーク４００に接続するための通信機能をプリンタコントローラ１２０に追加する拡張装置である。
【００３８】
エンジンインターフェース１３０は、プリントエンジン１４０と通信するための専用インタフェース（ＶＩＦ：ビデオインタフェース）であり、転送用バッファ１３２が接続されており、ＲＩＰ処理が完了したラスターデータ（ページデータ）を、順次、プリントエンジン１４０へ転送するために使用される。なお、ＲＳ−２３２（Ｒｅｃｏｍｍｅｎｄｅｄ  Ｓｔａｎｄａｒｄ  ２３２）Ｃ、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ））１３９４、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のシリアルインタフェース、ＩＥＥＥ１２８４等のパラレルインタフェース、独自規格によるインタフェースを、ＶＩＦの代わりに適宜適用することも可能である。なお、転送用バッファ１３２は、ラスターデータを、プリントエンジン１４０に転送する際に、一時的に保存するための専用バッファである。
【００３９】
プリントエンジン１４０は、コピー機能、プリンタ機能およびスキャン機能を有するＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）からなり、例えば、プリンタコントローラ１２０から転送されるラスターデータを印刷するために使用され、制御部１４２、原稿読み取り装置１４４、印刷装置１４６、記憶装置１４８、操作部１５０およびエンジンインターフェース１５２を有し、これらは、バス１５４を経由して相互に接続されている。
【００４０】
制御部１４２は、プログラムにしたがって上記各部の制御や各種の演算処理を実行するマイクロプロセッサ等から構成される制御回路であり、プリントエンジン１４０の各機能は、それに対応するプログラムを制御部１４２が実行することにより発揮される。
【００４１】
原稿読み取り装置１４４は、原稿画像から画像データを生成するためのＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）画像センサを備えているスキャナからなり、ＡＤＦ（自動原稿搬送装置：Ａｕｔｏ  Ｄｏｃｕｍｅｎｔ  Ｆｅｅｄｅｒ）を有する。ＡＤＦは、単数もしくは複数枚の原稿を、一枚ずつ所定の読み取り位置に搬送するために使用される。
【００４２】
印刷装置１４６は、帯電、露光、現像、転写および定着工程を含む電子写真式プロセス等の作像プロセスを用いて、記録媒体である用紙上に画像を形成するエンジンを有しており、プリンタコントローラ１２０や原稿読み取り装置１４４からのデータを、印刷するために使用され、用紙を供給するための給紙トレイおよび手差しトレイを有する。
【００４３】
記憶装置１４８は、各種プログラムおよび各種データを記憶するリードオンリーメモリ（ＲＯＭ）から構成される読取り専用の記憶装置と、作業領域として一時的にプログラムおよびデータを記憶する高速のＲＡＭから構成されるランダムアクセス記憶装置と、プリンタドライバやオペレーティングシステムを含む各種プログラムや各種データを記憶する大容量記憶装置とが適宜組み合わされて構成されており、例えば、プリンタコントローラ１２０や原稿読み取り装置１４４からのデータを保存するために使用される。
【００４４】
操作部１５０は、液晶タッチパネルおよびキーボードを有し、プリントジョブの進行状況やエラーの発生状況を表示すると共に、種々の操作（入力）が可能となるように構成されており、設定をユーザに提示するための出力装置と、ユーザ指示を取得するための入力装置とを兼ねている。キーボードは、コピー枚数等を設定するテンキー、動作の開始を指示するスタートキー、動作の停止を指示するストップキー等からなる複数のキーを有している。
【００４５】
エンジンインターフェース１５２は、プリンタコントローラ１２０と通信するための専用インタフェース（ＶＩＦ：ビデオインタフェース）であり、エンジンインターフェース１３０と接続される。
【００４６】
次に、プリンタコントローラ１２０を詳述する。
【００４７】
図３は、図１に示されるプリンタコントローラに組み込まれたプログラムの構成およびデータフローを説明するための概略図、図４は、ＰＤＬデータに含まれるオブジェクトを説明するための概念図、図５は、ＰｏｓｔＳｃｒｉｐｔの描画命令の一例を説明するための図表、図６は、色変換処理の対象となるデータの構成を説明するための概念図、図７および図８は、ＣＭＹＫ色空間およびＲＧＢ色空間における画素構成を説明するための概念図、図９は、色変換処理の対象となるデータの格納構成を説明するための概念図である。
【００４８】
プリンタコントローラ１２０に組み込まれているプログラムは、データ受信部、インタプリタ部、色変換部および画像転送部を有しており、ＨＤＤ１２６に保存され、起動時にＲＡＭ１２４に展開されて実行される。
【００４９】
データ受信部は、ＮＩＣ１２８経由で受信したクライアント端末２００，３００からのＰＤＬデータをＲＡＭ１２４に格納し、インタプリタ部に転送するモジュールである。ＰＤＬデータは、例えば、図４に示されるように、文字（Ｔｅｘｔ）オブジェクト、図形（Ｇｒａｐｈｉｃｓ）オブジェクトおよび画像（Ｉｍａｇｅ）オブジェクトを含んでいる。なお、文字オブジェクト、図形オブジェクトおよび画像オブジェクトは、属性が文字、図形および画像であるオブジェクトである。例えば、低解像度の画像オブジェクトは、１００ｄｐｉ（ｄｏｔ  ｐｅｒ  ｉｎｃｈ）以下のＧＩＦ（Ｇｒａｐｈｉｃｓ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ）画像であり、高解像度の画像オブジェクトは、３００ｄｐｉ以上の写真画像である。
【００５０】
ＰＤＬデータの描画命令は、通常、文字、図形および画像毎に異なる描画コマンドで記述される。例えば、図５に示されるように、描画コマンド「（ｔｅｘｔ）ｓｈｏｗ」は、文字を描画するための命令であり、文字列の後のｓｈｏｗコマンドを受けて、インタプリタ部は、文字を描画する。描画コマンド「１０  １０  １００  １００  ｒｅｃｔｆｉｌｌ」は、図形を描画するための命令であり、位置とサイズ指定の後に矩形を描画するためのコマンドが配置されている。描画コマンド「ｉｍａｇｅ  ５１５２５３５４５５…」は、画像を描画するための命令である。したがって、ＰＤＬデータの描画命令のコマンドを解析することによって、ＰＤＬデータに含まれる入力オブジェクトの属性を判別することができる。
【００５１】
インタプリタ部は、ＰＤＬデータの言語解析処理を実行し、ＰＤＬデータに含まれるオブジェクトをラスターデータに展開するモジュールであり、前記ラスターデータは、ＲＡＭ１２４のフレームメモリに記憶される。
【００５２】
色変換部は、インタプリタ部による展開の際に、入力オブジェクト（受信したＰＤＬデータのオブジェクト）の色空間を出力用の色空間に変換するためのモジュールである。なお、色変換部においては、処理の高速化を図るため、入力オブジェクトの属性および閾値に基づき、入力オブジェクトが分割され、第１コア１２２Ａおよび第２コア１２２Ｂに係る２つのスレッドで色変換処理が並列に実行される。
【００５３】
入力オブジェクトの色は、ＲＧＢ（赤（Ｒｅｄ）、緑（Ｇｒｅｅｎ）、青（Ｂｌｕｅ））、Ｇｒａｙ  Ｓｃａｌｅ、ＣＭＹＫ（シアン（Ｃｙａｎ）、マゼンタ（Ｍａｇｅｎｔａ）、イエロー（Ｙｅｌｌｏｗ）、キー（Ｋｅｙ））、ＣＩＥ（Ｃｏｍｍｉｓｉｏｎ  Ｉｎｔｅｒｎａｔｉｏｎａｌｅ  ｄｅ  ｌ’Ｅｃｌａｉｒａｇｅ）色空間等の色空間で指定されるが、プリントエンジン１４０のサポートする色空間はＣＭＹＫのみであるため、入力色空間からＣＭＹＫへの色変換処理を実行する必要がある。
【００５４】
色変換処理には、例えば、ＩＣＣ(Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｌｏｒ  Ｃｏｎｓｏｒｔｉｕｍ)プロファイルを使用した方法や、ＰｏｓｔＳｃｒｉｐｔ言語ではＣＳＡ（Ｃｏｌｏｒ  Ｓｐａｃｅ  Ａｒｒａｙ）／ＣＲＤ（Ｃｏｌｏｒ  Ｒｅｎｄｅｒｉｎｇ  Ｄｉｃｔｉｏｎａｒｙ）を使用した方法が適用される。
【００５５】
色変換処理の対象となる画像データは、例えば、６ｘ５のサイズを有する３０個の画素で構成され（図６参照）、４ｂｙｔｅ分のデータからなるＣＭＹＫ色空間で指定され（図７参照）、ＲＡＭ１２４に配置される（図７参照）。なお、ＲＧＢ色空間で指定される場合は、３ｂｙｔｅとなる（図８参照）。また、色変換処理の対象となる画像データは、ＣＭＹＫの順に、図６に示される１〜３０の画素の順かつＣＭＹＫの順に、ＲＡＭ１２４のメモリ上に格納される（図９参照）。
【００５６】
画像転送部は、ＲＡＭ１２４のフレームメモリに展開されたラスターデータを、エンジンインターフェース１３０を経由してプリントエンジン１４０に転送するモジュールである。
【００５７】
次に、本発明の実施形態に係る印刷データ生成処理方法を説明する。
【００５８】
図１０は、本発明の実施形態に係る印刷データ生成処理方法を説明するためのフローチャートである。なお、図１０に示されるフローチャートにより示されるアルゴリズムは、ＨＤＤ１２６にプログラムとして記憶されており、ＣＰＵ１２２によって実行される。
【００５９】
本実施形態に係る印刷データ生成処理方法においては、まず、クライアント端末２００，３００からのプリントジョブをＮＩＣ１２８経由で受信すると、プリントジョブに含まれるＰＤＬデータが、ＲＡＭ１２４の所定領域に格納され（ステップＳ０１）、言語解析処理が実行される（ステップＳ０２）。言語解析処理においては、ＰＤＬデータに含まれるコマンドを解析し、入力オブジェクトの属性（文字、図形、画像）やデータ数（解像度）等が検出される。
【００６０】
そして、入力オブジェクトの色変換処理が実行される（ステップＳ０３）。色変換処理においては、処理の高速化を図るため、入力オブジェクトの属性および閾値に基づき、入力オブジェクトが分割され、第１コア１２２Ａおよび第２コア１２２Ｂに係る２つのスレッドで色変換処理が並列に実行される。
【００６１】
次に、１ページ分の言語解析処理および色変換処理が完了したか否かが判断される（ステップＳ０４）。１ページ分の言語解析処理および色変換処理が完了していないと判断される場合（ステップＳ０４：Ｎｏ）、処理はステップＳ０２にリターンする。１ページ分の言語解析処理および色変換処理が完了したと判断される場合（ステップＳ０４：Ｙｅｓ）、レンダリング処理が実行される（ステップＳ０５）。レンダリング処理においては、１ページ分のラスターデータが生成され、ＲＡＭ１２４のフレームメモリに展開される（ステップＳ０５）。
【００６２】
そして、画像転送処理が実行される（ステップＳ０６）。画像転送処理においては、ラスターデータは、転送用バッファ１３２に一旦格納された後で、エンジンインターフェース１３０，１５２を経由して、順次、プリントエンジン１４０へ転送され、印刷装置１４６によって、用紙に印刷される。なお、画像転送には、１ページ分のラスターデータが生成されてから転送する方法あるはバンド単位で生成されたラスターデータを順次転送する方式が適宜適用される。
【００６３】
次に、入力オブジェクトの最終ページであるか否かが判断される（ステップＳ０７）。最終ページでないと判断される場合（ステップＳ０７：Ｎｏ）、処理はステップＳ０２にリターンする。最終ページであると判断される場合（ステップＳ０７：Ｙｅｓ）、処理は、終了する。
【００６４】
なお、ＰＤＬデータ（入力オブジェクト）が複数ページからなる場合、レンダリング処理と並列に、レンダリング処理の対象であるページの次のページを対象とする言語解析処理および色変換処理を実行することも可能である。
【００６５】
次に、色変換処理を詳述する
図１１は、図１０に示される色変換処理を説明するためのフローチャート、図１２は、図１０に示される色変換処理を説明するためのシーケンスチャートである。なお、図１１に示されるフローチャートにより示されるアルゴリズムは、ＨＤＤ１２６にプログラムとして記憶されており、ＣＰＵ１２２によって実行される。また、後述するマルチスレッド処理以外の処理においては、ＣＰＵ１２２の第１コア１２２Ａによって実行される。
【００６６】
まず、入力オブジェクト（受信したＰＤＬデータのオブジェクト）の属性が、ＰＤＬデータの描画命令のコマンドに基づき、画像であるか否かが判断される（ステップＳ１１）。入力オブジェクトの属性が画像でない（文字オブジェクトまたは図形オブジェクトである）と判断される場合（ステップＳ１１：Ｎｏ）、処理はステップＳ１４に進む。
【００６７】
入力オブジェクトの属性が画像であると判断される場合（ステップＳ１１：Ｙｅｓ）、データ数（解像度）が閾値以上であるか否かが判断される（ステップＳ１２）。データ数が閾値以上である（高解像度の画像オブジェクトである）と判断される場合（ステップＳ１２：Ｙｅｓ）、処理はステップＳ１３に進む。入力オブジェクトのデータ数が閾値未満である（低解像度の画像オブジェクトである）と判断される場合（ステップＳ１２：Ｎｏ）、処理はステップＳ１４に進む。
【００６８】
ステップＳ１３においては、高解像度の画像オブジェクトに対するマルチスレッド処理が実行される。マルチスレッド処理においては、画像オブジェクトのデータが２分割され、第１コア１２２Ａに係るスレッド（親スレッド）によって、第２コア１２２Ｂに係るスレッド（子スレッド）が起動され、２分の１のデータに対応する色変換１および色変換２が、第１コア１２２Ａおよび第２コア１２２Ｂによって並列に実行される（図１２参照）。例えば、画像オブジェクトの１から１５の画素は、親スレッドによる色変換１が適用され、１６から３０の画素は、子スレッドによる色変換２が適用される（図９参照および図１２参照）。
【００６９】
これは、画像オブジェクトは、含まれる全画素の色変換処理が必要になるため、画像オブジェクトのデータを分割し、２つのスレッドで処理を並列に実行することにより、処理の高速化を図ることが容易であるためである。なお、色変換処理を２つのスレッド（第１コア１２２Ａおよび第２コア１２２Ｂ）で協調動作させるために必要であるスレッド間通信は、例えば、オペレーティングシステム内に実装されるメッセージキューが利用される。また、画像オブジェクトのデータは、等分に分割する形態に限定されない。
【００７０】
ステップＳ１４においては、文字オブジェクト、図形オブジェクトおよび低解像度の画像オブジェクトに対するシングルスレッド処理が実行される。シングルスレッド処理においては、第１コア１２２Ａのみを利用するスレッドによる色変換１が単独で実行される（図１２参照）。
【００７１】
これは、文字および図形オブジェクトは、１画素分だけ色変換を行えば後は同じ色で塗りつぶすことができるため、文字および図形オブジェクトを分割し、複数のスレッドにより並列に実行しても、処理の高速化を図ることが困難であるためである。
【００７２】
色変換処理を複数のスレッドで実行するか否かの閾値は、スレッド間通信のためのオーバーヘッドを考慮して決定される。例えば、色変換処理を実行する画素数が少ない場合、並列処理による短縮分より、スレッド間通信に必要な所要時間が大きくなり、処理の高速化を図れない虞がある。そこで、色変換処理の対象であるデータの画素数に応じて、一つのスレッドで行うか、分割して行うかの判断を実施することにより、確実な処理の高速化を図ることが可能である。つまり、並列実行による短縮分より、協調動作させるためのオーバーヘッドが大きくなるオブジェクトを、並列実行の対象から排除している。なお、閾値は、スレッド間通信のためのオーバーヘッドを考慮する形態に限定されない。
【００７３】
次に、本発明の実施形態に係る変形例１および変形例２を説明する。
【００７４】
図１３は、本発明の実施形態に係る変形例１を説明するためのシーケンスチャートである。
【００７５】
高解像度の画像オブジェクトに係る色変換処理は、２つのスレッド（親スレッドによる色変換１および子スレッドによる色変換２）によって並列に実行されるが、使用状況等によっては、一方の処理が先に終わる場合がある。この際、色変換処理が完了していないデータ数が閾値以上である場合、未処理のデータを再分割し、当該再分割データを２つのスレッドによって、並列に実行することも可能である。例えば、二分の１のデータを親スレッドおよび子スレッドがそれぞれ処理する図１３に示される例においては、処理が継続中の親スレッドに対して、子スレッドが処理の完了を通知することにより、親スレッドは、未処理であるデータ（四分の１のデータ）を２分割し、八分の１のデータを親スレッドおよび子スレッドがそれぞれ処理することになる。この場合、八分の１のデータの色変換処理を実行するための処理時間から、スレッド間通信のためのオーバーヘッドを減じた値が、実質的な短縮時間となる。
【００７６】
図１４は、本発明の実施形態に係る変形例２を説明するためのシーケンスチャートである。
【００７７】
第２コア１２２Ｂは、マルチスレッド処理における子スレッドの起動に適用される形態に限定されない。例えば、第１コア１２２Ａによって言語解析処理が実行されている際に、言語解析処理の対象であるページの前ページ（言語解析処理および色変換処理が完了済み）に対するレンダリング処理を、第２コア１２２Ｂに割り当てることも可能である。
【００７８】
また、色変換処理においてマルチスレッド処理が実行される場合、第２コア１２２Ｂを時分割に利用することで、色変換処理のための子スレッドと、レンダリング処理のためのスレッドとを実質的に並列に実行することが可能である。
【００７９】
以上のように、本実施の形態において、ＰＤＬデータに含まれるオブジェクトを分割し、分割データの色変換を複数の演算部によって並列に実行するため、色変換処理を短縮化することが可能である。また、分割の対象となる属性が画像であるオブジェクトにおいては、構成データ（画素）毎に色変換処理を実行する必要があるため、並列実行による効果が顕著となる。つまり、色変換処理の高速化が可能である印刷データ生成装置、印刷データ生成装置および印刷データ生成プログラムを提供することが可能である。
【００８０】
なお、並列に作動自在の複数の演算部は、マルチコアのプロセッサを適用する形態に限定されず、複数のシングルコアのプロセッサを協調動作させることによって構成することも可能である。また、コア数が３以上のプロセッサを適用することで、色変換処理を３スレッド以上で並列に実行することも可能である。色変換の並列処理は、スレッドを適用する形態に限定されず、例えば、プロセス単位で実行する形態を適用することも可能である。
【００８１】
本発明は、上述した実施の形態に限定されるものではなく、特許請求の範囲で種々改変することができる。例えば、プリンタコントローラ（印刷データ生成装置）は、プリントエンジンと別体となっている形態に限定されず、また、プリントエンジンは、特にＭＦＰに限定されない。
【００８２】
なお、本発明に係る手段、方法およびプログラムは、専用のハードウェア回路によっても実現することも可能である。また、プログラムされたコンピュータ装置によって本発明を実現する場合、コンピュータ装置を動作させるプログラムは、ＵＳＢメモリやＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等のコンピュータ読み取り可能な記録媒体によって提供したり、記録媒体によらず、インターネット等のネットワークを介してオンラインで提供したりすることも可能である。この場合、プログラムは、通常、コンピュータ装置のハードディスク等のランダムアクセス記憶装置に送信されて記憶される。また、プログラムは、単独のアプリケーションソフトウェアとして提供されてもよいし、コンピュータ装置の一機能としてそのコンピュータ装置のソフトウェアに組み込むことも可能である。
【符号の説明】
【００８３】
１００  画像処理装置、
１２０  プリンタコントローラ、
１２２  ＣＰＵ、
１２２Ａ  第１コア、
１２２Ｂ  第２コア、
１２４  ＲＡＭ、
１２６  ＨＤＤ、
１２８  ＮＩＣ、
１３０  エンジンインターフェース、
１３２  転送用バッファ、
１３４  バス、
１４０  プリントエンジン、
１４２  制御部、
１４４  原稿読み取り装置、
１４６  印刷装置、
１４８  記憶装置、
１５０  操作部、
１５２  エンジンインターフェース、
１５４  バス、
２００，３００  クライアント端末、
４００  ネットワーク。
【図１】
0005447219.tif 000002
【図２】
0005447219.tif 000003
【図３】
0005447219.tif 000004
【図４】
0005447219.tif 000005
【図５】
0005447219.tif 000006
【図６】
0005447219.tif 000007
【図７】
0005447219.tif 000008
【図８】
0005447219.tif 000009
【図９】
0005447219.tif 000010
【図１０】
0005447219.tif 000011
【図１１】
0005447219.tif 000012
【図１２】
0005447219.tif 000013
【図１３】
0005447219.tif 000014
【図１４】
0005447219.tif 000015