JP2006065460A - 画像処理を並列処理で実行する際の負荷の割り付け - Google Patents

画像処理を並列処理で実行する際の負荷の割り付け Download PDF

Info

Publication number
JP2006065460A
JP2006065460A JP2004245085A JP2004245085A JP2006065460A JP 2006065460 A JP2006065460 A JP 2006065460A JP 2004245085 A JP2004245085 A JP 2004245085A JP 2004245085 A JP2004245085 A JP 2004245085A JP 2006065460 A JP2006065460 A JP 2006065460A
Authority
JP
Japan
Prior art keywords
processing
partial image
image data
unit
partial
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.)
Granted
Application number
JP2004245085A
Other languages
English (en)
Other versions
JP4501593B2 (ja
Inventor
Satoshi Yamazaki
郷志 山▲崎▼
Shigeaki Sumiya
繁明 角谷
Teruyuki Takada
照幸 高田
Kohei Utsunomiya
光平 宇都宮
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004245085A priority Critical patent/JP4501593B2/ja
Priority to US11/212,430 priority patent/US7460285B2/en
Publication of JP2006065460A publication Critical patent/JP2006065460A/ja
Application granted granted Critical
Publication of JP4501593B2 publication Critical patent/JP4501593B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems

Abstract

【課題】 画像処理を並列処理で実行する際に各処理部の待ち時間を減らして効率的に処理を実行する技術を提供する。
【解決手段】 互いに隣接し合って並ぶ複数の部分画像に対して、複数の処理部を使用して繰り返し行う画像処理において、所定の処理を行う。この画像処理は、部分画像を表す第1の部分画像データに対して第1の処理を行ってM種類(Mは2以上の整数)の第2の部分画像データを生成し、M種類の第2の部分画像データに対して、それぞれ対応するM種類の第2の処理を行う画像処理である。画像処理を実行する際には、i番目(iは正の整数)の部分画像に関する第2の処理と、(i+1)番目〜(i+p)番目(pは正の整数)のいずれかの部分画像に関する第1の処理と、を並列処理する。
【選択図】 図8

Description

この発明は、画像処理を並列処理で実行する技術に関する。
従来より、各画素が有する各インク色の階調値で表された画像データを、各画素におけるインク色のドットの有無で表された画像データに変換する際に、並列処理を行う技術が開発されてきた。たとえば、特許文献1には、処理内容に応じてラスタライズ(並べ替え)処理と、ハーフトーン処理とを別のスレッドで実行する技術が開示されている。
特開2000−293674号公報
しかし、上記の技術においては、各スレッド、すなわち処理部の待ち時間を減らして効率的に処理を実行する点ついては考慮されていなかった。
本発明はかかる点に鑑みてなされたもので、画像処理を並列処理で実行する際に各処理部の待ち時間を減らして効率的に処理を実行する技術を提供することを主たる目的とする。
上記目的を達成するために、本発明は、互いに隣接し合って並ぶ複数の部分画像に対して、複数の処理部を使用して繰り返し行う画像処理において、所定の処理を行う。この画像処理は、部分画像を表す第f1の部分画像データに対して第1の処理を行ってM種類(Mは2以上の整数)の第2の部分画像データを生成し、M種類の第2の部分画像データに対して、それぞれ対応するM種類の第2の処理を行う画像処理である。画像処理を実行する際には、i番目(iは正の整数)の部分画像に関する第2の処理と、(i+1)番目〜(i+p)番目(pは正の整数)のいずれかの部分画像に関する第1の処理と、を並列処理する。
このような態様とすれば、第1の処理と第2の処理の前後関係を保ちつつ、第1の処理の完了を待って一部の処理部があそんでしまう時間を少なくすることができる。よって、画像処理を並列処理で実行する際に各処理部の待ち時間を減らして効率的に処理を実行することができる。
なお、第1の処理は、第1の表色系で表された第1の部分画像データを、M個の色成分を有する第2の表色系で表された画像データに変換して、各色成分についてのM種類の第2の部分画像データを生成する色変換処理とすることができる。また、第2の処理は、ハーフトーン処理とすることができる。
なお、画像処理においては、以下のように静的スケジューリングを行って、処理を実行することができる。すなわち、(a)i番目(iは正の整数)の部分画像に関する第2の処理であってまだ処理部に割り付けられていないものと、(i+1)番目〜(i+p)番目(pは正の整数)の部分画像に関する第1の処理であってまだ処理部に割り付けられていないものと、を含む対象処理集合の各処理を、順に複数の処理部に割り当てる。そして、(b)複数の処理部に、割り当てられた順に第1および第2の処理を実行させる。
このような態様とすれば、i番目(iは正の整数)の部分画像に関する第2の処理と、(i+1)番目〜(i+p)番目(pは正の整数)のいずれかの部分画像に関する第1の処理とが、並列処理されやすくなるように、処理部に処理を割り当てることができる。
なお、画像処理の際に、以下のような手順を行うこともできる。すなわち、処理部への処理の割り当てに先だって、直前に実行された第1の処理の実行結果に基づいて、対象処理集合の第1の処理の見積もり負荷を見積もる。また、直前に実行された同一種類の第2の処理の実行結果に基づいて、対象処理集合の第2の処理の見積もり負荷を見積もる。そして、処理部に処理を割り当てる際には、以下のようにする。すなわち、見積もり負荷の大きい順である優先順位に従って対象処理集合に含まれる一つの処理を選択し、それまでに割り当てられている処理の見積もり負荷の合計が最も少ない処理部に割り当てる。そして、そのような割り当てを繰り返す。このような態様とすれば、直前の実行結果に基づいて、正確に見積もられた負荷を使用して、各処理部間の負荷の均等化を図ることができる。
また、画像処理においては、以下のように動的スケジューリングを行って、処理を実行することができる。すなわち、(a)i番目(iは正の整数)の部分画像に関する第2の処理であってまだ処理部に割り付けられていないものと、(i+1)番目〜(i+p)番目(pは正の整数)の部分画像に関する第1の処理であってまだ処理部に割り付けられていないものと、を含む対象処理集合の中から一つの処理を選択し、複数の処理部のうちの一つに割り当てて実行させる。そして、それを繰り返す。
このような態様としても、i番目(iは正の整数)の部分画像に関する第2の処理と、(i+1)番目〜(i+p)番目(pは正の整数)のいずれかの部分画像に関する第1の処理とが、並列処理されやすくなる。
なお、処理部への処理の割り当ておよび実行に先だって、上述のように直前の実行結果に基づいて、対象処理集合の各処理の見積もり負荷を見積もることが好ましい。そして、処理部への処理の割り当ておよび実行においては、対象処理集合の中で見積もり負荷が最も大きい処理を選択し、実行すべき処理が最初になくなる処理部に割り当てて実行させることが好ましい。このような態様とすれば、直前の実行結果に基づいて正確に見積もられた負荷と、実際の処理結果とを使用して、各処理部間の負荷の均等化をより高度に図ることができる。
また、M種類の第2の処理のうちの少なくとも一部の処理が、直前の部分画像に関する同一の種類の処理が完了した後にのみ実行可能な制限処理である場合には、以下のような態様とすることが好ましい。すなわち、対象処理集合は、さらに、(i+1)番目〜(i+q)番目(qは正の整数)の部分画像に関する制限処理であって、まだ処理部に割り付けられておらず、処理部に割り付けられたと仮定した場合に実行を開始する予定時刻において直前の部分画像に関する同一の種類の制限処理が完了している制限処理を含む。このような態様とすれば、より多くの種類の処理を使用して、処理部があそんでしまわず効率的に処理を実行できるように、処理を割り付けることができる。
なお、対象処理集合は、さらに、第2の処理のうち制限処理ではない非制限処理であって、(i+1)番目〜(i+q)番目(qは正の整数)の部分画像に関する処理であり、まだ処理部に割り付けられていない処理を含むこともできる。このような態様とすれば、さらに多くの種類の処理を使用して、処理部の待ち時間が少なくなり、処理部が効率的に処理を実行できるように、処理部に処理を割り当てることができる。
ここで、制限処理は、誤差拡散法を使用して行われるハーフトーン処理とすることができる。そして、非制限処理は、ディザ法を使用して行われるハーフトーン処理とすることができる。
また、画像諸装置は、ハイパースレッディングにより処理集合を実行することが好ましく、処理部は、スレッドを処理するスレッド処理部であることが好ましい。
なお、本発明は、種々の形態で実現することが可能である。例えば、処理の割り当て方法、処理割り当て装置、画像処理方法、画像処理装置、印刷制御方法、印刷制御装置、印刷方法、印刷装置、そして、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体等の形態で実現することができる。
以下では、発明の実施の形態を次の順序で説明する。
A.実施形態の概要.
B.第1の実施形態.
A1.装置の全体構成.
A2.CPUの内部構成.
A3.色変換処理とハーフトーン処理.
C.第2の実施形態.
D.第3の実施形態.
E.変形例.
A.実施形態の概要.
プリンタドライバにおいて、二つのスレッドを使用して色変換処理とその後のハーフトーン処理を行う。色変換処理とハーフトーン処理は、画像データのラスタライン2行分の部分画像領域LLs(i)の単位で、画像の上から順に行われる。各スレッドへの処理の割り付けの際には、未処理のi番目の部分画像領域LLs(i)についてのCMYK各色のハーフトーン処理C(i)、M(i)、Y(i)、K(i)と、次の(i+1)番目の部分画像領域LLs(i+1)の色変換処理Cc(i)と、の中から順に処理が選択されて、各スレッドへ割り付けられる(図7参照)。その際、両スレッドの負荷がほぼ均等になるように割り付けられる。なお、各処理の見積もり負荷は、直前の(i−1)番目の部分画像領域LLs(i−1)の処理結果に基づいて計算される。
スレッドに割り付けられた(i+1)番目の部分画像の色変換処理Cc(i+1)は、他方のスレッドに割り付けられたi番目の部分画像のいずれかの色のハーフトーン処理とともに、並列処理されることになる(図7および図8左上のM(i)参照)。このような態様においては、(i+1)番目の部分画像の色変換処理Cc(i+1)の開始を、直前のi番目の部分画像の各色のハーフトーン処理C(i)、M(i)、Y(i)、K(i)がすべて終了するまで待つことがない。このため、二つのスレッドを有効に活用して、効率的に色変換処理とハーフトーン処理を行うことができる。
B.第1の実施の形態.
B1.装置の全体構成.
図1は、第1の実施形態の印刷システムのソフトウェアの構成を示すブロック図である。コンピュータ90では、所定のオペレーティングシステムの下で、アプリケーションプログラム95が動作している。また、オペレーティングシステムには、ビデオドライバ91やプリンタドライバ96が組み込まれている。
アプリケーションプログラム95は、マウス130やキーボード120から入力されるユーザの指示に応じて、レッド(R),グリーン(G),ブルー(B)の3色の色成分からなる原画像データORGをCD−R140から読み込む。そして、ユーザの指示に応じて、原画像データORGに画像のレタッチなどの処理を行う。アプリケーションプログラム95は、処理を行った画像を、ビデオドライバ91を介してCRTディスプレイ21に画像を表示する。また、アプリケーションプログラム95は、ユーザからの印刷指示を受け取ると、プリンタドライバ96に印刷指示を出し、処理を行った画像を初期画像データPIDとしてプリンタドライバ96に出力する。
プリンタドライバ96は、初期画像データPIDをアプリケーションプログラム95から受け取り、これをプリンタ22が処理可能な印刷画像データFNL(ここではシアン、マゼンダ、イエロー、ブラックの4色についての多値化された信号)に変換する。
図1に示した例では、プリンタドライバ96の内部には、解像度変換モジュール97と、色変換/ハーフトーンモジュール99と、並べ替えモジュール100とが備えられている。プリンタドライバ96は、さらに、色変換テーブル104と、負荷記憶部105と、部分画像データ記憶部106と、誤差データ記憶部107と、を備える。
解像度変換モジュール97は、初期画像データPIDの解像度をプリンタ22で印刷を行う際の解像度に変換する。色変換/ハーフトーンモジュール99は、カラー画像の印刷においては、3次元ルックアップテーブルである色変換テーブル104を参照しつつ、RGBの階調値で各画素の色が現されている画像データMID1を、プリンタ22が使用するシアン(C)、マゼンダ(M)、イエロー(Y)、ブラック(K)の階調値で各画素の色が表された画像データMID2に変換する。なお、色変換/ハーフトーンモジュール99は、色変換/HTモジュール99と表記することもある。
色変換/ハーフトーンモジュール99は、各画素の各色の濃度が各色の階調値で表された画像データMID2にハーフトーン処理を行うことによって、各色の濃度が各画素におけるドットの有無で表される画像データMID3(「印刷データ」または「ドットデータ」とも呼ぶ)に変換する。
なお、色変換処理およびハーフトーン処理は、CPUの二つのスレッド99b、99cで実行される。色変換処理の機能を果たす色変換/ハーフトーンモジュール99の機能部を、図1において、色変換モジュール99d,99eとして示す。ハーフトーン処理の機能を果たす色変換/ハーフトーンモジュール99の機能部を、図1において、ハーフトーンモジュール99f、99gとして示す。CPUのスレッド99b、99cについては、後述する。
ハーフトーン処理は、「2値化処理」とも呼ばれる。このハーフトーン処理は、シアン(C)、マゼンダ(M)については、誤差拡散法で行われ、イエロー(Y)、ブラック(K)については、ディザ法で行われる。
「ディザ法」は、画素に対応する要素内にそれぞれしきい値を有しているn×mのディザマトリクス(n、mは正の整数)と、n×mの画素からなる画像領域とを比較し、画像領域の各画素が有する階調値がしきい値よりも高いか否かでドットの形成の有無を決定する方式である。「誤差拡散法」は、一つの対象画素へのドットの形成の有無をしきい値との比較に基づいて決定し、ドットの形成の有無による2段階の濃度表現と、多階調の階調値で指定された濃度と、のずれ(誤差)を、まだ対象画素となっていない他の画素に振り分けて、それらの画素の階調値に上乗せしてゆく方法である。
一般に、同じデータをハーフトーン処理する場合は、ディザ法で行った方が、誤差拡散法で行った場合よりも、処理の負荷が小さくなる。ただし、誤差拡散法でハーフトーン処理を行った方が、一般に画像の印刷結果が高品質となる。ここでは、印刷結果の品質の良悪が目につきやすいシアン、マゼンタについては、誤差拡散法でハーフトーン処理を行うことし、印刷結果の品質の良悪が目につきにくいイエローについては、ディザ法でハーフトーン処理を行うこととする。他のインク色については、ハーフトーン処理全体がシステムに与える負荷を考慮して、いずれの方法を採用するかが決定される。
色変換/ハーフトーンモジュール99で生成された画像データMID3は、並べ替えモジュール100によりプリンタ22に転送すべきデータ順に並べ替えられて、最終的な印刷画像データFNLとして出力される。
プリンタ22は、紙送りモータによって用紙Pを搬送する機構と、キャリッジモータによってキャリッジ31を用紙Pの搬送方向SSと垂直な方向MSに往復動させる機構と、キャリッジ31に搭載されインクの吐出およびドット形成を行う印刷ヘッド28と、各種の設定データを格納しているP−ROM42と、これらの紙送りモータ,キャリッジモータ,印刷ヘッド28、P−ROM42および操作パネル32を制御するCPU41とから構成されている。プリンタ22は、印刷画像データFNLを受け取って、印刷画像データFNLに応じてシアン(C)、マゼンダ(M)、イエロー(Y)、ブラック(K)で印刷媒体上にドットを形成し、印刷を実行する。
なお、本明細書においては、「印刷装置」とは、狭義にはプリンタ22のみをさすが、広義にはコンピュータ90とプリンタ22とを含む印刷システム全体を表す。
B2.CPUの内部構成および動作.
コンピュータ90のCPU90aは、ハイパースレッディング・テクノロジに対応したCPUである。このCPU90aは、二つのスレッドを並列に処理することが可能である。これら二つのスレッドを、図1において、第1のスレッド99b、第2のスレッド99cとして示す。以下では、ハイパースレッディング・テクノロジに対応したCPU90aの構成および動作について説明する。
図2は、コンピュータ90のCPU90a内における処理を示すブロック図である。CPU90aは、内部に命令フェッチユニット220、命令デコーダ230、演算ユニット240、命令キャッシュ210、データキャッシュ250を有している。そして、命令フェッチユニット220、命令デコーダ230、演算ユニット240は、それぞれ処理した命令およびデータを一時的に保管するためのバッファ222,232,242を有している。バッファ222,232,242は、それぞれ第1のスレッド用と第2のスレッド用に分割されている。
命令キャッシュ210には、すでに一度使用された命令、およびそれに引き続いて使用されると予想される命令が格納されている。命令フェッチユニット220は、命令キャッシュ210のアドレスを指定して、命令を取り出す(フェッチする)。その際、第1のスレッド用の命令は第1のスレッド用のバッファに格納される。そして、第2のスレッド用の命令は第2のスレッド用のバッファに格納される。なお、命令キャッシュ210内に必要とする命令がない場合には、CPU90aは、メインメモリ(図示せず)にアクセスして、命令を取り出す。
その後、命令フェッチユニット220は、命令デコーダ230に取り出した命令を渡す。その際、奇数クロックのタイミングで第1のスレッドの一つの命令を命令デコーダ230に投入し、偶数クロックのタイミングで第2のスレッドの一つの命令を命令デコーダ230に投入する。すなわち、第1のスレッドの命令と第2のスレッドの命令は、交互に命令デコーダ230に投入される。図2では、第2のスレッド用の命令にハッチをつけて示す。
命令デコーダ230は、投入された命令をマイクロコードに変換(デコード)し、バッファ232に格納する。その際、デコードされた命令が第1のスレッド用の命令である場合は、第1のスレッド用のバッファに格納される。そして、デコードされた命令が第2のスレッド用の命令である場合は、第2のスレッド用のバッファに格納される。
その後、命令デコーダ230は、デコードした命令を演算ユニット240に投入する。その際、奇数クロックのタイミングで第1のスレッドの一つの命令を演算ユニット240に投入し、偶数クロックのタイミングで第2のスレッドの一つの命令を演算ユニット240に投入する。演算ユニット240は、指定された演算処理を行い、演算結果を、やはりスレッドごと分けてバッファに格納する。
従来のCPUでは、命令フェッチユニット220、命令デコーダ230、演算ユニット240内の各バッファは、全体として一つのスレッドのために用いられた。そのような態様においては、マルチスレッドにおいて処理するスレッドを切り替える際には、命令デコーダ230と演算ユニット240は、それまでバッファに格納していた前のスレッドの命令を廃棄して、あらためて次のスレッドの命令を命令フェッチユニット220から受け取る必要がある。よって、命令デコーダ230と演算ユニット240は、命令フェッチユニット220が取り出す命令が新たに投入されるまでは、あそんでしまうことになる。
しかし、上記のような構成においては、二つのスレッドは、命令の単位で交互に処理されている。また、命令フェッチユニット220、命令デコーダ230、演算ユニット240の各バッファ222,232,242内には、二つのスレッドの命令が同時に格納されている。このため、命令フェッチユニット220、命令デコーダ230、演算ユニット240は、一方のスレッドの一つの命令の処理を終えると、すぐにバッファ内の他方のスレッドの命令を使用して、次の処理に着手することができる。言い換えれば、パイプラインを有効に活用することができる。また、一方のスレッドでエラーや待ちが生じた場合にも、他方のスレッドでは処理を進めることができる。
なお、バッファ222,232,242の第1のスレッドの命令をそれぞれ格納する部分と、それら第1のスレッドの命令を処理する命令フェッチユニット220、命令デコーダ230、演算ユニット240の機能部を、第1のスレッドの「スレッド処理部」と呼ぶことがある。同様に、バッファ222,232,242の第2のスレッドの命令をそれぞれ格納する部分と、それら第2のスレッドの命令を処理する命令フェッチユニット220、命令デコーダ230、演算ユニット240の機能部を、第2のスレッドの「スレッド処理部」と呼ぶことがある。
B3.色変換処理とハーフトーン処理.
図3は、色変換処理とハーフトーン処理の具体的な処理の流れを示すフローチャートである。図4は、色変換処理とハーフトーン処理を行うラスタラインLLs(i)を示す説明図である。色変換/ハーフトーンモジュール99による色変換処理とハーフトーン処理とは、具体的には、画像データMID1中のラスタライン2行分ずつ行われる。すなわち、画像データMID2は、ラスタライン2行分ずつの部分画像として、色変換モジュール99d,99eとハーフトーンモジュール99f、99gの間で受け渡される(図1参照)。
なお、この色変換処理とハーフトーン処理とが行われる単位の画像を、本明細書において「部分画像」という。この部分画像という語は、色変換処理の対象である画像データMID1中のラスタライン2行分の画像についても使用し、ハーフトーン処理の対象である色変換処理後の画像データMID2中のラスタライン2行分の画像についても、使用する。また、部分画像が表されている領域を「部分画像領域」と呼ぶ。そして、色変換処理の対象である部分画像を表す画像データを「第1の部分画像データ」ということがある。また、ハーフトーン処理の対象である部分画像を表す画像データを「第2の部分画像データ」ということがある。
図4では、色変換処理とハーフトーン処理を行う2本のラスタラインを対象ラスタラインLLs(i)として示す。また、図4においては、直前に色変換処理とハーフトーン処理が行われた2本のラスタラインを参照ラスタラインLLs(i−1)として示す。対象ラスタラインLLs(i)よりも上の領域Adは、すでに色変換処理とハーフトーン処理とが行われた領域である。対象ラスタラインLLs(i)およびそれよりも下の領域Ayは、まだ色変換処理とハーフトーン処理が行われていない領域である。LLs(i+1)で示す2本のラスタラインが、対象ラスタラインLLs(i)の次に色変換処理とハーフトーン処理とが行われる領域である。
色変換処理およびハーフトーン処理は、二つのスレッドにおいて、色変換処理とC、M、Y、Kの各インク色のハーフトーン処理を分担させて行われる。以下では、個々のインク色についてのハーフトーン処理を「単位HT処理」という。
図3のステップS120では、まず、スレッドに割り付ける単位HT処理と、色変換処理と、を特定する。第1の実施形態では、対象ラスタラインLLs(i)の各インク色のハーフトーン処理と、対象ラスタラインLLs(i)の次のラスタラインLLs(i+1)の色変換処理とが、ステップS120において特定される。なお、対象ラスタラインLLs(i)の色変換処理は、予め実行され、すでに完了しているものとする。
ステップS130では、ステップS120で特定された色変換処理と、各インク色についてのハーフトーン処理と、を二つのスレッドに割り付ける。詳しい処理の内容については後述する。ここでは、ステップS130における割り付けの結果、たとえば、シアンの単位HT処理と色変換処理が第1のスレッドに割り付けられ、ブラックと、マゼンタ、イエロの単位HT処理が、第2のスレッドに割り付けられたものとする。その後、ステップS140以下およびS170以下で、それぞれ第1および第2のスレッドにおいて、各処理が実行される。
なお、ステップS140,S170に先だって、二つのスレッドはあらかじめ作成され、待機状態とされている。ただし、割り付けられた処理を行うステップの実行のたびにスレッドを作成してもよい。なお、あらかじめスレッドを作成しておけば、短時間で処理を開始することができ、効果的である。
ステップS140では、待機状態にある第1のスレッドを実行状態とする。そして、ステップS150では、第1のスレッドにおいて、割り付けられた処理、たとえば次のラスタラインLLs(i+1)の色変換処理と、対象ラスタラインLLs(i)のシアンについて単位HT処理とを行う。その後、ステップS160で、第1のスレッドを再び待機状態とする。
ステップS150においては、色変換処理によって生成された画像データMID2は、C、M、Y、Kのそれぞれの画像データとしてコンピュータ90のメモリ内の部分画像データ記憶部106(図1参照)に格納される。そして、次に、ステップS150においてラスタラインLLs(i+1)の単位HT処理が実行される際には、この対象ラスタラインLLs(i)のC、M、Y、Kの各色のデータが部分画像データ記憶部106からとりだされて、使用される。
また、ステップS150においては、誤差拡散による単位HT処理において計算された、次のラスタラインLLs(i+1)以下に分散されるべきずれ(誤差)は、誤差データ記憶部107に格納される。そのずれのデータは、次のラスタラインLLs(i+1)の同一色についての単位HT処理の際に、取り出されて使用される。
さらに、ステップS150においては、色変換処理、およびシアンの単位HT処理に要した時間がカウントされ、コンピュータ90のメモリ内の負荷記憶部105(図1参照)に格納される。
一方、ステップS170では、待機状態にある第2のスレッドを実行状態とする。そして、ステップS180では、第2のスレッドにおいて、割り付けられた処理、たとえばマゼンタ、イエロ、ブラックについてハーフトーン処理を行う。そして、それらのインク色についてのハーフトーン処理を終えると、ステップS190で、第2のスレッドを再び待機状態とする。なお、ステップS180においては、マゼンタ、イエロ、ブラックの各ハーフトーン処理に要した時間がカウントされ、コンピュータ90のメモリ内の負荷記憶部105に格納される。
ステップS200では、画像データMID1に含まれるすべてのラスタラインについて、色変換処理およびハーフトーン処理を終えたか否かを判定する。まだ、すべてのラスタラインについて色変換処理およびハーフトーン処理を終えていない場合は、対象ラスタラインLLs(i)の下側に隣接する2本のラスタラインLLs(i+1)を新たに対象ラスタラインとして(図4参照)、ステップS120以下の処理を繰り返す。画像データMID1のすべてのラスタラインについて色変換処理およびハーフトーン処理を終えた場合は、処理を終了する。
なお、ステップS120およびS130の処理は、色変換/ハーフトーンモジュール99の機能部である割り付け部99aが実行する。そして、ステップS150の処理は、色変換/ハーフトーンモジュール99の機能部である色変換モジュール99dおよびハーフトーンモジュール99fが実行する。一方、ステップS180の処理は、色変換/ハーフトーンモジュール99の機能部である色変換モジュール99e、およびハーフトーンモジュール99gが実行する。
図5は、図3のステップS130における色変換処理および各色の単位HT処理のスレッドへの割り付けの手順を示すフローチャートである。ステップS10では、まず、色変換処理および各色についての各単位HT処理の負荷を見積もる。ここでは、負荷記憶部105に格納されている各処理の前回の処理時間を取り出して、それを各処理の負荷とする。
画像においては、隣り合う領域同士は、各色成分の存在割合が互いに近似していることが多い。すなわち、隣り合う領域同士においては、同じ色同士のハーフトーン処理の負荷が近似する可能性が高い。このため、上記のように、直前にハーフトーン処理が行われた参照ラスタラインLLs(i−1)の処理結果に基づいて、各単位HT処理の負荷を決定することとすれば、正確に負荷を見積もることができる。同様の理由から、直前に色変換処理が行われた対象ラスタラインLLs(i)の処理結果に基づいて、ラスタラインLLs(i+1)の色変換処理の負荷を決定することとすれば、正確に色変換処理の負荷を見積もることができる。
図6は、負荷の大きさに基づいて順位付けされた色変換処理と各色の単位HT処理とを示す説明図である。図6においては、C(i)、M(i)、Y(i)、K(i)が、対象ラスタラインLLs(i)についての各色の単位HT処理を表す。そして、Cc(i+1)が、次のラスタラインLLs(i+1)についての色変換処理を表す。また、図6では、一つ一つの四角が単位HT処理を表し、四角の左右方向の長さが負荷の大きさを示す。色変換処理Cc(i+1)については、二重の四角で示している。図6においては、負荷が大きいほど左に示されている。各単位HT処理を表す四角の上に示されている番号が、負荷の大きさの順位である。
ステップS20では、色変換/ハーフトーンモジュール99は、色変換処理と単位HT処理を、ステップS10で決定した各処理の負荷が大きい順に順位付けする。なお、通常、色変換処理は、各インク色の単位HT処理よりも負荷が大きい。このため、ステップS20で決定する優先順位においては、通常、色変換処理が第1位となる。
図7は、第1と第2のスレッドに割り付けられた色変換処理、および各色の単位HT処理を示す説明図である。図5のステップS30では、色変換/ハーフトーンモジュール99は、ステップS20で決定した順位に沿って色変換処理、単位HT処理を一つずつ選択して、第1のスレッドと第2のスレッドに割り付ける。これを繰り返して、ステップS120で特定した各処理をスレッドに割り付ける。具体的には、最初に第1のスレッドに順位第1位の処理を割り付けた後は、すでに割り当てられた単位HT処理の負荷の合計が最も少ないスレッドに、まだ割り付けられていない処理を、優先順位に従って順に割り付ける。その結果、第1の第2のスレッドには、図7に示すように、色変換処理、単位HT処理が割り付けられる。
第1の実施形態では、負荷の大きい処理から順に、それまでに割り付けられた単位HT処理の負荷の合計の少ないスレッドに割り付ける。このため、スレッド間の負荷の差を小さくすることができる。
以上のようにして、図3のステップS130における色変換処理の割り付けが実行される。なお、図3のステップS150、S180においては、スレッドに割り付けられた各単位HT処理は、各スレッドにおいて、図7の並びの順に沿って左から順に実行される。すなわち、スレッドへの割り付けにおいて先に割り付けられた単位HT処理ほど、実際の色変換処理においても先に実行される。
図8は、第1と第2のスレッドに割り付けられたi番目〜(i+3)番目までの色変換処理および単位HT処理の実行のされ方を示すガントチャートである。なお、ここでは、処理の切り替えの際のオーバーヘッドや、見積もり負荷と実際の負荷のずれは無視する。上段に示すGe1が、第1の実施形態において、図3の割り付けを各部分画像について繰り返し行って各処理を実行する場合の結果を示す図である。図8の左上の5個の処理Cc(i+1)、C(i)、M(i)、Y(i)、K(i)の並びは、図7と同じである。一方、図8の下段に示すGc1は、比較例における各処理の実行結果である。
図8上段においては、同時にスレッドに割り付けられる処理の上に、各処理が対象とする部分画像を「LLs(i)+LLs(i+1)」等として示している。第1の実施形態においては、図3のステップS200、S120で説明したように、i番目の部分画像領域LLs(i)についての各単位HT処理と、(i+1)番目の部分画像領域LLs(i+1)についての色変換処理が終了すると、次に、(i+1)番目の部分画像領域LLs(i+1)についての各単位HT処理と、(i+2)番目の部分画像領域LLs(i+2)についての色変換処理が、各スレッドに割り付けられる。割り付けの手順は、図5〜図7で説明した通りである。
また、図3のステップS150,S180では、先に割り付けたi番目の部分画像についての単位HT処理の最後のものが終了した直後から、次の処理が実行される(図8の破線b11,b12参照)。たとえば、図8に示した例では、i番目の部分画像についての単位HT処理K(i)が終了した直後から、次の色変換処理Cc(i+2)と、単位HT処理M(i+1)が実行されている。
一方、図8の下段に示す比較例Gc1においては、まず、部分画像の色変換処理が、第1のスレッドで実行されてから、第1および第2のスレッドで各インク色の単位HT処理が実行される(図8の破線b31,b32参照)。たとえば、(i+1)番目の部分画像の単位HT処理C(i+1)、M(i+1)、Y(i+1)、K(i+1)は、(i+1)番目の部分画像の色変換処理Cc(i+1)が実行されてから、実行されている。なお、色変換処理と単位HT処理との前後関係を、図8において、色変換処理と各単位HT処理を結ぶ矢印で示す。
なお、比較例における各インク色の単位HT処理のスレッドへの割り付け方法は、第1の実施形態と同じである。すなわち、負荷の大きい順に、すでに割り当てられた単位HT処理の負荷の合計が最も少ないスレッドに、各単位HT処理を割り付ける。
また、比較例においては、単位HT処理の最後のものが終了した後に、次の部分領域の色変換処理が実行される(図8の破線b21,b22,b23参照)。たとえば、(i+1)番目の部分画像の色変換処理Cc(i+1)は、i番目の部分画像の単位HT処理のうち最後の単位HT処理であるC(i)が完了してから、実行されている。図8下段においては、同時にスレッドに割り付けられる処理の下に、各処理が対象とする部分画像を「LLs(i)」等として示している。
比較例Gc1においては、各部分画像の色変換処理を第1のスレッドが行っている間、第2のスレッドは使用されない。これに対して、第1の実施形態Ge1においては、色変換を行っている間、他方のスレッドでは単位HT処理が行われている。このため、第1の実施形態においては、複数のスレッドを有効に活用して、効率的に処理を行うことができる。具体的には、図8に示すように、同じ、i番目〜(i+2)番目の部分画像のハーフトーン処理と、(i+1)番目〜(i+3)番目の部分画像の色変換処理と、を行うのに、第1の実施形態の方が、比較例に比べて時間Tdf1だけ終了時刻が早くなっている。
また、第1の実施形態では、ある部分画像領域LLs(i)についてのハーフトーン処理と、次の番目の部分画像領域LLs(i+1)についての色変換処理とを、一つのグループとして、同時にスレッドへの割り付けおよび実行を行っている(図3のステップS120、図6〜図8参照)。結果として、色変換処理と単位HT処理との並列処理は、ある部分画像の単位HT処理と、次の部分画像の色変換処理と、で行われている。このため、一つの部分画像について見た場合に、色変換処理が先に実行され、ハーフトーン処理画素の後に実行されるという関係を保ったまま、各スレッドにおける処理の効率を高めることができる。この前後関係を、図8上段において、色変換処理と各単位HT処理を結ぶ矢印で示す。
C.第2の実施形態.
第2の実施形態では、各スレッドに割り付けた処理を実行するタイミングが第1の実施形態とは異なる。他の点は、第1の実施形態と同じである。
図9は、第2の実施形態において、第1と第2のスレッドに割り付けられたi番目〜(i+3)番目までの色変換処理、単位HT処理の実行のされ方を示すガントチャートである。表記は図8と同じである。また、図9下段に示す比較例Gc1は、図8下段に示したものと同じである。第1の実施形態においては、図3のステップ130で同時にスレッドに割り付けられた各処理、たとえばCc(i+2)、C(i+1)、M(i+1)、Y(i+1)、K(i+1)は、直前にステップ130で割り付けられた各処理Cc(i+1)、C(i)、M(i)、Y(i)、K(i)がすべて完了するのを待って実行された(図8の破線b11,b12参照)。
しかし、第2の実施形態では、割り付け済みの各処理Cc(i+1)、C(i)、M(i)、Y(i)、K(i)を色変換モジュール99d,99eおよびハーフトーンモジュール99f,99gにおいて実行している間に、割り付け部99aは、次の各処理Cc(i+2)、C(i+1)、M(i+1)、Y(i+1)、K(i+1)を行う(図3のステップ130参照)。そして、割り付け結果は、コンピュータ90のメモリ内に格納される。
なお、割り付けの際に使用する各処理の見積もり負荷(図5のステップS10参照)としては、すでに完了済みの二つ前の部分画像についての処理Cc(i)、C(i−1)、M(i−1)、Y(i−1)、K(i−1)の処理時間が使用される。このため、第2の実施形態においては、負荷記憶部105には、完了済みの処理Cc(i)、C(i−1)、M(i−1)、Y(i−1)、K(i−1)の処理時間と、現在実行中の処理Cc(i+1)、C(i)、M(i)、Y(i)、K(i)のうちの一部の完了済みの処理の処理時間と、がともに格納されている。
その後、いずれかのスレッドにおいて実行すべき処理がなくなったときには、メモリに格納しておいた割り付け結果に従って、そのスレッドに割り付けられた処理の実行が開始される。図9の例では、第1のスレッドにおいてC(i)を完了した後、第2のスレッドにおけるK(i)の完了を待たずに、すぐに色変換処理Cc(i+2)が実行されている。なお、単位HT処理K(i)と色変換処理Cc(i+2)が並列処理されている間は、部分画像データ記憶部106には、二つの部分画像についての画像データMID2が格納されている(図1参照)。すなわち、先に色変換処理Cc(i+1)によって生成された部分画像領域LLs(i+1)の画像データMID2と、実行中の色変換処理Cc(i+2)によって部分的に生成されている部分画像領域LLs(i+2)の画像データMID2と、である。
第2の実施形態のような態様とすれば、各スレッドにおける処理Cc(i+1)、C(i)、M(i)、Y(i)、K(i)の完了と同時に、次の各処理Cc(i+2)、C(i+1)、M(i+1)、Y(i+1)、K(i+1)のいずれかを開始することができる。このため、よりスレッドを有効に活用して、効率的に色変換処理およびハーフトーン処理を行うことができる。
言い換えれば、図9下段に示す比較例Gc1においては、単位HT処理と色変換処理とは並列に処理されない。これに対して、第2の実施形態においては、あるスレッドにおいてi番目の部分画像の単位HT処理が実行されている間、他のスレッドにおいて、(i+1)番目および(i+2)番目の部分画像の色変換処理が実行されうる(図9のCc(i+1)、Cc(i+2)参照)。このため、よりスレッドを有効に活用して、効率的に色変換処理およびハーフトーン処理を行うことができる。たとえば、図9に示すように、同じ、i番目〜(i+2)番目の部分画像のハーフトーン処理と、(i+1)番目〜(i+3)番目の部分画像の色変換処理と、を行うのに、第2の実施形態では、比較例に比べて時間Tdf2だけ終了時刻が早くなっている。
D.第3の実施形態.
第3の実施形態では、実際に色変換処理または単位HT処理を実行しつつ、次に実行する単位HT処理を決定する。第3の実施形態は、色変換処理および単位HT処理のスレッドへの割り付けおよび実行の方法以外は、第1の実施形態と同じである。
図10は、第3の実施形態における色変換処理とハーフトーン処理の具体的な処理の流れを示すフローチャートである。第3の実施形態では、第1の実施形態の図3の方法に代えて、図10に示す方法で色変換処理と単位HT処理をスレッドに割り付けて実行する。
図10のステップS125では、スレッドに割り付けることができる色変換処理および単位HT処理を特定する。「スレッドに割り付けることができる色変換処理および単位HT処理」とは、(i−1)番目の部分画像領域LLs(i−1)までの単位HT処理、およびi番目の部分画像領域LLs(i)までの色変換がすべて完了しているとき、以下の条件を満たす処理である。すなわち、i番目〜(i+1)番目の部分画像の単位HT処理のうちで所定の条件を満たすものと、(i+1)番目〜(i+2)番目の部分画像の色変換処理と、である。所定の条件とは、(1)ディザ法による単位HT処理であるか、または(2)誤差拡散法による単位HT処理であって先行する部分画像についての単位HT処理が、現在割り付けを検討している処理の開始予定時刻において完了しているものである。
前述の通り、誤差拡散法は、ドットの形成の有無による濃度表現と、階調値で指定された濃度と、のずれ(誤差)を、まだ対象画素となっていない他の画素に振り分ける。よって、誤差拡散法による単位HT処理においては、対象とする領域以前の領域についての単位HT処理が終了していない状態では、まだ前の領域からの誤差が対象とする領域の階調値に加算されていない。このため、対象とする領域以前の領域についての単位HT処理が終了していない状態では、単位HT処理を実行できない。これに対して、ディザ法による単位HT処理は、対象とする領域以前の領域についての単位HT処理が終了していない状態でも、実行可能である。このため、ステップS125で「割り付けることができる処理」として特定される単位HT処理は、ディザ法によるものと、誤差拡散法による単位HT処理であって先行する部分画像についての単位HT処理が完了しているものである。
図11は、第3の実施形態における処理のスレッドへの割り付け方法を示す説明図である。第3の実施形態では、ハーフトーン処理は、シアン(C)、マゼンダ(M)については、誤差拡散法で行われ、イエロー(Y)、ブラック(K)については、ディザ法で行われる。また、(i+1)番目の部分画像の色変換処理Cc(i+1)は、それまでの処理ですでに完了しているものとする。よって、ステップS125において、特定される処理は、(i+2)番目の部分画像の色変換処理Cc(i+2)と、ディザ法による単位HT処理であるY(i)、K(i)、Y(i+1)、K(i+1)、誤差拡散法による単位HT処理で直前の部分画像の処理が完了しているM(i)、C(i)である。これらを図11において、割り付け可能処理Jpとして示す。
一方、i番目〜(i+1)番目の部分画像の単位HT処理であっても、誤差拡散法による単位HT処理で直前の部分画像の処理が完了していないものを、図11において、割り付け不可能処理Jiとして示す。なお、図11の右側には、それぞれの処理が対象とする部分画像領域LLs(i)〜LLs(i+2)を示す。
図10のステップ135では、割り付け可能処理Jpのうち、最も負荷の大きい処理を、実行すべき処理が最初になくなるスレッドに割り付ける。なお、各処理の見積もり負荷は、直前に完了した同じ種類の処理の実行結果に基づいて定めることができる。具体的には、色変換処理の見積もり負荷は、直前に完了した色変換処理の処理時間である。単位HT処理の見積もり負荷は、直前に完了した同じ色の単位HT処理の処理時間である。
ステップS135では、たとえば、図11の矢印a11に示すように、色変換処理Cc(i+2)が、第1のスレッドに、時刻Pp0から開始される処理として割り付けられる。なお、図11において、割り付け可能処理Jpの左側には、ぞれぞれ負荷の大きさの順番を示している。
ステップS140では、待機状態にある第1のスレッドを実行状態とする。そして、ステップS155では、第1のスレッドにおいて、色変換処理Cc(i+2)が実行される。その後、ステップS160で、第1のスレッドを再び待機状態とする。なお、ステップS140,S160における処理は、第1の実施形態と同じである。
ステップS195では、まだスレッドに割り付けられていない色変換処理または単位HT処理が存在するか否かを判定する。まだ割り付けられていない処理が存在する場合には、ステップS125に戻る。すべての単位HT処理が第1または第2のスレッドに割り付けられている場合には、処理を終了する。
ステップS125では、再度、スレッドに割り付けることができる色変換処理および単位HT処理を特定する。この時点では、スレッドに割り付けることができる色変換処理および単位HT処理は、図11に示した最初のJpの処理であって、すでにスレッドに割り付けられた色変換処理Cc(i+2)以外の処理が特定される。そして、ステップS135で、図11の矢印a12に示すように、単位HT処理M(i)が、時刻Pp0から開始される処理として第2のスレッドに割り付けられる。
そして、ステップS170〜S190において、第2のスレッドにおいて、単位HT処理M(i)が実行される。第2のスレッドに関するステップS170〜S197における手続きは、それぞれ第1のスレッドに関するステップS140〜S195の手続きと同じである。なお、図11において、各処理の終了時刻を、Pp1、Pp2で示す。
時刻Pp1において誤差拡散法による単位HT処理M(i)が完了すると、次の部分画像についてのマゼンタの単位HT処理M(i+1)が実行可能となる。その結果、次にステップS125が実行されたときには、矢印a13で示すように、新たに割り付け可能処理Jpに単位HT処理M(i+1)が含まれる。単位HT処理C(i)が完了した場合も同様である。
その後、C(i)、M(i)、Y(i)、K(i)がすべて完了すると、i番目までの部分画像の単位HT処理、および(i+1)番目までの部分画像の色変換処理Cc(i+1)がすべて完了する。すると、新たに、ディザ法による単位HT処理Y(i+2)、K(i+2)および色変換処理Cc(i+3)が、割り付け可能処理Jpに加えられる。以下、同様にして、すべての色変換処理および単位HT処理が完了するまで処理の割り付けおよび実行がされる。
第3の実施形態のような態様としても、複数のスレッドを有効に活用して、効率的に色変換処理、およびハーフトーン処理を行うことができる。特に、第3の実施形態では、i番目の部分画像の単位HT処理を割り付けて実行する際に、同時に、(i+1)番目の部分画像の一部の単位HT処理と、(i+2)番目までの部分画像の色変換処理とを、選択の対象としている。このため、多数の選択肢を活用することによって、より高度に各スレッドの負荷の均等化と処理の効率化を図ることができる。
E.変形例.
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
E1.変形例1:
第1の実施形態では、ステップS120およびS130で割り付ける処理は、対象ラスタラインLLs(i)の各インク色のハーフトーン処理と、対象ラスタラインLLs(i)の次のラスタラインLLs(i+1)の色変換処理であった(図3のステップS120参照)。また、第3の実施形態では、ステップS125で割り付け可能な処理として選択される処理は、i番目〜(i+1)番目の部分画像の単位HT処理のうちで所定の条件を満たすものと、(i+1)番目〜(i+2)番目の部分画像の色変換処理と、であった。しかし、割り付けの対象とする処理は、他の処理を含んでもよい。たとえば、(i+3)番目や(i+4)番目の部分画像の色変換処理を含んでもよい。また、(i+2)番目や(i+3)番目の部分画像の単位HT処理のうちで所定の条件を満たすものを含んでもよい。
すなわち、割り付けの対象とする処理は、(i−1)番目(iは2以上の整数)の部分画像までの単位HT処理、およびi番目の部分画像までの色変換がすべて完了しているとき、以下の処理を含むことができる。すなわち、割り付けの対象とする処理の集合は、i番目の部分画像に関する第2の処理であってまだ処理部に割り付けられていないものと、(i+1)番目〜(i+p)番目(pは正の整数)の部分画像に関する第1の処理であってまだ処理部に割り付けられていないものと、を含むことができる。なお、第1の処理は、同一の部分画像に関する第2の処理よりも先に完了している必要がある処理である。
なお、pは4以下であることが好ましく、3以下であることがより好ましい。そして、pは2以下であることがさらに好ましい。このような態様とすれば、第1の処理後に生成される第2の部分画像データを保持しておくための記憶部の容量を少なくすることができる。
また、割り付けの対象とする処理は、(i−1)番目の部分画像までの単位HT処理、およびi番目の部分画像までの色変換がすべて完了しているとき、以下の処理を含むことができる。すなわち、(i+1)番目〜(i+q)番目(qは正の整数)の部分画像に関する制限処理であって、まだ処理部に割り付けられておらず、対象処理集合の処理の実行を開始する予定時刻において直前の部分画像に関する同一の種類の制限処理が完了している制限処理である。ここで、制限処理とは、直前の部分画像に関する同一の種類の制限処理が完了した後にのみ、実行可能な処理である。
なお、qは4以下であることが好ましく、3以下であることがより好ましい。そして、qは2以下であることがさらに好ましい。このような態様とすれば、第2の処理としての誤差拡散法による単位HT処理後に生成されるずれ(誤差)を保持しておくための記憶部の容量を少なくすることができる。
E2.変形例2:
上記実施形態では、スレッドは二つであった。しかし、スレッドは3以上設けるものとしてもよい。ただし、本発明の上記各態様は、各処理を実行するためのスレッドの数が処理の数よりも少ない場合に適用すると、特に効果的である。スレッドが3以上ある態様においては、各処理を事前に割りあてる際には、3以上あるスレッドのうちすでに割り当てられた処理の負荷の合計が最も少ないスレッドに、まだスレッドに割り当てられていない処理のうちの一つを割り当てることが好ましい。そして、処理を実行しつつ他の処理を割りあてる際には、3以上あるスレッドのうちすでに割り当てられた処理の実行を最も早く完了したスレッドに、処理を処理部に割り当てることが好ましい。
上記各実施形態では、コンピュータの一つのCPUが、ハイパースレッディングによって複数のスレッドで単位HT処理を実行していた。しかし、各単位HT処理は、複数のCPUで分担して実行することもできる。そのような態様においても、上記各実施形態と同様の手順で、各CPU間の負荷のばらつきが小さくなるように各CPUに各単位HT処理を割り付けることができる。
また、上記各実施形態では、スレッドは2個に固定されていた。しかし、ハイパースレッディングにおいて生成するスレッドの数や、マルチCPUのコンピュータにおいて使用するCPUの数を、状況に応じて変えることができる態様とすることもできる。たとえば、本発明の実施態様の一つである画像処理装置は、スレッドの数を1とする動作モードと、スレッドの数を2とする動作モード、スレッドの数を3とする動作モードなど、複数の動作モードを有する態様とすることができる。スレッドやCPUなどの処理部が2以上の場合は、上記各実施形態と同様の手順で負荷の割り付け、および実行順序の決定を行うことができる。処理部が一つである場合は、あらかじめ定められた順序に沿って、その処理部上で各単位処理を実行する態様とすることができる。
E3.変形例3:
上記各実施形態においては、各処理の負荷の見積もりの際には、直前に処理を行った領域についての各処理の処理時間を、対応する処理の負荷とした。しかし、処理の負荷の見積もりは他の値に基づいて行うこともできる。たとえば、直前にハーフトーン処理を行った領域LLs(i−1)内における各インク色のドットの発生量または発生確率を、次にハーフトーン処理を行う領域LLs(i)についての各単位HT処理の負荷とすることができる。その際には、色変換処理の見積もり負荷は所定の固定値とすることができる。このような態様においては、直前の領域LLs(i−1)におけるドットの発生量または発生確率が高いものから、スレッドに割り付けられる(図7および図11参照)。
また、ハーフトーン処理の方法が同じ単位HT処理や色変換処理については、負荷を一律に定めてもよい。たとえば、ディザ法によるハーフトーン処理を行う単位HT処理の負荷を1とし、誤差拡散法によるハーフトーン処理を行う単位HT処理の負荷を3とし、色変換処理の負荷を5としてもよい。さらに、ハーフトーン処理の方法と、上述した処理時間やドットの発生量または発生確率を組み合わせて、負荷を定めてもよい。たとえば、ディザ法によるハーフトーン処理を行う単位HT処理の負荷を1×[ドット発生確率]とし、誤差拡散法によるハーフトーン処理を行う単位HT処理の負荷を3×[ドット発生確率]としてもよい。その際、色変換処理の負荷は固定値とすることができる。すなわち、単位処理の負荷の見積もりは、直前に実行された各単位処理の実行結果を考慮して定めるものとすればよい。
E4.変形例4:
上記第1実施例では、各処理は、スレッドへの割り付けにおいて割り付けられた順に実行されていた。しかし、各スレッドへの処理の割り付けとは別に、同時に1グループとして割り付けられた複数の処理内において、実行順序を決定するスケジューリングを行ってもよい。すなわち、各処理部への処理の割り付けにおいて、比較的負荷の小さい処理を比較的負荷の大きい処理の後から割り付けることとし、それまでに割り付けられた負荷の合計が少ない処理部に、一つずつ処理を割り付けることとすれば、各処理部間の負荷のばらつきの少ない割り付けを行うことができる。
E5.変形例5:
印刷画像データFNLを受け取るプリンタ22が、同じインク色について大中小などの複数種類の大きさのドットを形成することができる場合には、ハーフトーン処理は、各インク色の各ドットの種類の単位で行われる。上記各実施形態では、単位HT処理は各インク色ごとのハーフトーン処理であったが、このような態様においては、単位HT処理は、各インク色の各ドットの種類の単位のハーフトーン処理とすることができる。
E6.変形例6:
上述した各実施形態では、インクとしてシアン(C)、マゼンダ(M)、イエロー(Y)、ブラック(K)の4種類のインクを用いていた。しかし、レッド(R)、バイオレット(V)などこれら以外の有彩色インクや、ライトシアン(LC)、ライトマゼンタ(LM)、ダークイエロー(DY)などの濃淡有彩色インクを用いることも可能である。なお、「ライトシアン」は、シアンと色相が同じでシアンよりも明るい色のインクである。「ライトマゼンタ」は、マゼンタと色相が同じでマゼンタよりも明るい色のインクである。「ダークイエロー」は、イエローと色相が同じでイエローよりも暗い色のインクである。
また、インクとしては、無彩色で互いに濃度が異なるブラック(K1)、淡ブラック(K2)、淡淡ブラック(K3)を用いることも可能である。さらに、クリアインクを使用することも可能である。すなわち、インクとしては、様々な色のインクを使用することができ、ハーフトーン処理は様々なインク色についての単位HT処理を含むことができる。すなわち、インク色の種類は、2以上とすることができ、部分画像を表す第1の部分画像データに対して第1の処理を行って生成する第2の部分画像データは、2種類以上の部分画像データとすることができる。ただし、カラー画像を処理する場合は、第2の部分画像データは、3種類以上であることが好ましい。
E7.変形例7:
上記各実施形態では、スレッドで並列処理する処理として、色変換処理とハーフトーン処理の例を説明した。しかし、複数の処理部で並列処理する処理は、他の処理であってもよい。たとえば、カラー画像から、レッドの濃淡を表す階調値の画像データ、グリーンの濃淡を表す階調値の画像データ、およびブルーの濃淡を表す階調値の画像データを生成する処理と、生成された各画像データに階調値変換を行う処理と、を並列処理することもできる。
すなわち、第1の処理は、部分画像を表す第1の部分画像データに対して実行されて、互いに異なるM種類(Mは2以上の整数)の第2の部分画像データを生成するものであればよい。そして、第2の処理は、上記のM種類の第2の部分画像データに対して、それぞれ実行される画像処理であればよい。ここで、M種類の第2の部分画像データは、互いに異なる色の濃淡で表される画像データとすることができる。
E8.変形例8:
上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。例えば、プリンタドライバ96(図1参照)の機能の一部をプリンタのCPU41が実行するようにすることもできる。
このような機能を実現するコンピュータプログラムは、フロッピディスクやCD−ROM等の、コンピュータ読み取り可能な記録媒体に記録された形態で提供される。ホストコンピュータは、その記録媒体からコンピュータプログラムを読み取って内部記憶装置または外部記憶装置に転送する。あるいは、通信経路を介してプログラム供給装置からホストコンピュータにコンピュータプログラムを供給するようにしてもよい。コンピュータプログラムの機能を実現する時には、内部記憶装置に格納されたコンピュータプログラムがホストコンピュータのマイクロプロセッサによって実行される。また、記録媒体に記録されたコンピュータプログラムをホストコンピュータが直接実行するようにしてもよい。
この明細書において、コンピュータとは、ハードウェア装置とオペレーションシステムとを含む概念であり、オペレーションシステムの制御の下で動作するハードウェア装置を意味している。コンピュータプログラムは、このようなコンピュータに、上述の各部の機能を実現させる。なお、上述の機能の一部は、ドライバやアプリケーションプログラムでなく、オペレーションシステムによって実現されていても良い。
なお、この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。
第1の実施形態の印刷システムのソフトウェアの構成を示すブロック図。 コンピュータ90のCPU90a内における処理を示すブロック図。 色変換処理とハーフトーン処理の具体的な処理の流れを示すフローチャート。 色変換処理とハーフトーン処理を行うラスタラインLLs(i)を示す説明図。 図3のステップS130における各色の単位HT処理のスレッドへの割り付けの手順を示すフローチャート。 負荷の大きさに基づいて順位付けされた色変換処理と各色の単位HT処理とを示す説明図。 第1と第2のスレッドに割り付けられた色変換処理、単位HT処理を示す説明図。 第1と第2のスレッドに割り付けられたi番目〜(i+3)番目までの色変換処理、単位HT処理を示す説明図。 第2の実施形態において、第1と第2のスレッドに割り付けられたi番目〜(i+3)番目までの色変換処理、単位HT処理の実行の仕方を示すガントチャート。 第3の実施形態における色変換処理とハーフトーン処理の具体的な処理の流れを示すフローチャート。 第3の実施形態における処理のスレッドへの割り付け方法を示す説明図。
符号の説明
21...CRTディスプレイ
22...プリンタ
28...印刷ヘッド
31...キャリッジ
32...操作パネル
41...CPU
42...ROM
90...コンピュータ
90a...CPU
91...ビデオドライバ
95...アプリケーションプログラム
96...プリンタドライバ
97...解像度変換モジュール
99...ハーフトーンモジュール
99...色変換/HTモジュール
99a...割り付け部
99b...第1のスレッド
99c...第2のスレッド
99d,99e...色変換モジュール
99f,99g...ハーフトーンモジュール
100...並べ替えモジュール
104...色変換テーブル
105...負荷記憶部
106...部分画像データ記憶部
107...誤差データ記憶部
120...キーボード
130...マウス
210...命令キャッシュ
220...命令フェッチユニット
222,232,242...バッファ
230...命令デコーダ
240...演算ユニット
250...データキャッシュ
Ad...色変換処理およびハーフトーン処理がすでに行われた領域
Ay...色変換処理およびハーフトーン処理が行われていない領域
C(i)...i番目の部分領域のシアンのハーフトーン処理
Cc(i)...i番目の部分領域の色変換処理
FNL...印刷画像データ
Gc1...比較例
Ge1...第1の実施形態
Ji...割り付け不可能処理
Jp...割り付け可能処理
K(i)...i番目の部分領域のブラックのハーフトーン処理
LLs(i−1)...参照ラスタライン(部分画像領域)
LLs(i)...対象ラスタライン(部分画像領域)
LLs(i+1)...対象ラスタラインの下隣の2本のラスタライン(部分画像領域)
M(i)...i番目の部分領域のマゼンタのハーフトーン処理
MID1...解像度変換後の画像データ
MID2...色変換後の画像データ
MID3...ハーフトーン処理後の画像データ
MS...キャリッジの移動方向(主走査方向)
ORG...原画像データ
P...用紙
PID...初期画像データ
Pp0...処理を開始する時刻
Pp1...マゼンタの単位HT処理が終了する時刻
SS...印刷用紙の搬送方向(副走査方向)
Y(i)...i番目の部分領域のイエロのハーフトーン処理
a11...最初に行われる処理の割り付けを示す矢印
a12...2番目に行われる処理の割り付けを示す矢印
a13...単位HT処理M(i)の終了に伴っておこるM(i+1)の変更を示す矢印
b11,b12...第1の実施形態における、前の処理と後の処理との割り付け時刻の境界
b21,b22,b23...比較例における、前の処理と後の処理との割り付け時刻の境界
b31,b32...比較例における、色変換処理とハーフトーン処理の前後関係の境界
Tdf2,Tdf2...第1のスレッドと第2のスレッドの処理の終了時刻の差。

Claims (12)

  1. 互いに隣接し合って並ぶ複数の部分画像に対して、複数の処理部を使用して繰り返し画像処理を行う方法であって、
    前記画像処理は、前記部分画像を表す第1の部分画像データに対して第1の処理を行って第2の部分画像データを生成し、前記第2の部分画像データに対して、第2の処理を行う画像処理であり、
    前記方法は、i番目(iは正の整数)の部分画像に関する前記第2の処理と、(i+1)番目〜(i+p)番目(pは正の整数)のいずれかの部分画像に関する前記第1の処理とを、それぞれ前記第1および第2の処理を実行可能な複数の処理部を使用して、並列処理する方法。
  2. 請求項1記載の方法であって、
    前記第1の処理は、第1の表色系で表された前記第1の部分画像データを、M個(Mは2以上の整数)の色成分を有する第2の表色系で表された画像データに変換して、各色成分についての前記M種類の第2の部分画像データを生成する処理であり、
    前記第2の処理は、ハーフトーン処理である、方法。
  3. 請求項1記載の方法であって、
    (a)i番目(iは正の整数)の部分画像に関する前記第2の処理であってまだ前記処理部に割り付けられていないものと、(i+1)番目〜(i+p)番目(pは正の整数)の部分画像に関する前記第1の処理であってまだ前記処理部に割り付けられていないものと、を含む対象処理集合の各処理を、順に前記複数の処理部に割り当てる工程と、
    (b)前記複数の処理部に、割り当てられた順に前記第1および第2の処理を実行させる工程と、を含む方法。
  4. 請求項3記載の方法であって、さらに、
    (c)前記工程(a)に先だって、直前に実行された前記第1の処理の実行結果に基づいて、前記対象処理集合の前記第1の処理の見積もり負荷を見積もり、直前に実行された同一種類の前記第2の処理の実行結果に基づいて、前記対象処理集合の前記第2の処理の見積もり負荷を見積もる工程を含み、
    前記工程(a)は、
    (a1)前記見積もり負荷の大きい順である優先順位に従って前記対象処理集合に含まれる一つの処理を選択し、それまでに割り当てられている処理の見積もり負荷の合計が最も少ない処理部に割り当てる工程と、
    (a2)前記工程(a1)を繰り返す工程と、を含む方法。
  5. 請求項1記載の方法であって、
    (a)i番目(iは正の整数)の部分画像に関する前記第2の処理であってまだ前記処理部に割り付けられていないものと、(i+1)番目〜(i+p)番目(pは正の整数)の部分画像に関する前記第1の処理であってまだ前記処理部に割り付けられていないものと、を含む対象処理集合の中から一つの処理を選択し、前記複数の処理部のうちの一つに割り当てて実行させる工程と、
    (b)前記工程(a)を繰り返す工程と、を含む方法。
  6. 請求項5記載の方法であって、さらに、
    (c)前記工程(a)に先だって、直前に実行された前記第1の処理の実行結果に基づいて、前記対象処理集合の前記第1の処理の見積もり負荷を見積もり、直前に実行された同一種類の前記第2の処理の実行結果に基づいて、前記対象処理集合の前記第2の処理の見積もり負荷を見積もる工程を含み、
    前記工程(a)は、
    前記対象処理集合の中で前記見積もり負荷が最も大きい処理を選択し、実行すべき処理が最初になくなる処理部に割り当てて実行させる工程を含む、方法。
  7. 請求項1記載の方法であって、
    前記画像処理は、前記第1の部分画像データに対して前記第1の処理を行ってM種類(Mは2以上の整数)の前記第2の部分画像データを生成し、前記M種類の第2の部分画像データに対して、それぞれ対応するM種類の前記第2の処理を行う画像処理であり、
    前記M種類の第2の処理のうちの少なくとも一部の処理は、直前の部分画像に関する同一の種類の処理が完了した後にのみ実行可能な制限処理であり、
    前記対象処理集合は、さらに、(i+1)番目〜(i+q)番目(qは正の整数)の部分画像に関する前記制限処理であって、まだ前記処理部に割り付けられておらず、前記処理部に割り付けられたと仮定した場合に実行を開始する予定時刻において直前の部分画像に関する同一の種類の制限処理が完了している制限処理を含む、方法。
  8. 請求項7記載の方法であって、
    前記対象処理集合は、さらに、前記第2の処理のうち前記制限処理ではない非制限処理であって、(i+1)番目〜(i+q)番目(qは正の整数)の部分画像に関する処理であり、まだ前記処理部に割り付けられていない処理を含む、方法。
  9. 請求項8記載の方法であって、
    前記第1の処理は、第1の表色系で表された前記第1の部分画像データを、M個の色成分を有する第2の表色系で表された画像データに変換して、各色成分についての前記M種類の第2の部分画像データを生成する処理であり、
    前記第2の処理は、ハーフトーン処理であり、
    前記制限処理は、誤差拡散法を使用して行われるハーフトーン処理であり、
    前記非制限処理は、ディザ法を使用して行われるハーフトーン処理である、方法。
  10. 互いに隣接し合って並ぶ複数の部分画像に対して、複数の処理部を使用して繰り返し画像処理を行う画像処理装置であって、
    前記画像処理は、前記部分画像を表す第1の部分画像データに対して第1の処理を行って第2の部分画像データを生成し、前記第2の部分画像データに対して、第2の処理を行う画像処理であり、
    前記画像処理装置は、i番目(iは正の整数)の部分画像に関する前記第2の処理と、(i+1)番目〜(i+p)番目(pは正の整数)のいずれかの部分画像に関する前記第1の処理と、を並列処理する画像処理装置。
  11. 請求項10記載の画像処理装置であって、
    ハイパースレッディングにより前記処理集合を実行し、
    前記処理部は、スレッドを処理するスレッド処理部である、画像処理装置。
  12. 互いに隣接し合って並ぶ複数の部分画像に対して、複数の処理部を使用して繰り返し画像処理を行わせるためのコンピュータプログラムであって、
    前記画像処理は、前記部分画像を表す第1の部分画像データに対して第1の処理を行って第2の部分画像データを生成し、前記第2の部分画像データに対して、第2の処理を行う画像処理であり、
    前記コンピュータプログラムは、i番目(iは正の整数)の部分画像に関する前記第2の処理と、(i+1)番目〜(i+p)番目(pは正の整数)のいずれかの部分画像に関する前記第1の処理と、を並列処理させる機能を含む、コンピュータプログラム。
JP2004245085A 2004-08-25 2004-08-25 画像処理を並列処理で実行する際の負荷の割り付け Expired - Fee Related JP4501593B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004245085A JP4501593B2 (ja) 2004-08-25 2004-08-25 画像処理を並列処理で実行する際の負荷の割り付け
US11/212,430 US7460285B2 (en) 2004-08-25 2005-08-24 Load allocation when executing image processing using parallel processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004245085A JP4501593B2 (ja) 2004-08-25 2004-08-25 画像処理を並列処理で実行する際の負荷の割り付け

Publications (2)

Publication Number Publication Date
JP2006065460A true JP2006065460A (ja) 2006-03-09
JP4501593B2 JP4501593B2 (ja) 2010-07-14

Family

ID=35996265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004245085A Expired - Fee Related JP4501593B2 (ja) 2004-08-25 2004-08-25 画像処理を並列処理で実行する際の負荷の割り付け

Country Status (2)

Country Link
US (1) US7460285B2 (ja)
JP (1) JP4501593B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4810090B2 (ja) * 2004-12-20 2011-11-09 キヤノン株式会社 データ処理装置
US20080199085A1 (en) * 2007-02-19 2008-08-21 Seiko Epson Corporation Category Classification Apparatus, Category Classification Method, and Storage Medium Storing a Program
JP5173578B2 (ja) * 2008-05-15 2013-04-03 キヤノン株式会社 画像処理方法及び印刷装置とその制御方法
US20130055072A1 (en) * 2011-08-24 2013-02-28 Robert Douglas Arnold Multi-Threaded Graphical Display System
JP5288039B1 (ja) * 2012-11-06 2013-09-11 富士ゼロックス株式会社 印刷画像処理システムおよびプログラム
JP6834402B2 (ja) * 2016-11-24 2021-02-24 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム
US10497340B2 (en) * 2017-04-10 2019-12-03 Intel Corporation Beam scanning image processing within an improved graphics processor microarchitecture

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61125275A (ja) * 1984-11-20 1986-06-12 Mitsubishi Electric Corp 画像信号処理装置
JPH01312672A (ja) * 1988-06-13 1989-12-18 Nippon Telegr & Teleph Corp <Ntt> 画像処理装置
JPH04111676A (ja) * 1990-08-31 1992-04-13 Ricoh Co Ltd カラー画像形成装置
JPH05242051A (ja) * 1992-02-28 1993-09-21 Nec Corp タスクスケジューリング方式
JPH0612392A (ja) * 1992-03-19 1994-01-21 Fujitsu Ltd 計算機資源分散方法及びシステム
JPH06274608A (ja) * 1993-03-23 1994-09-30 Seiko Epson Corp マルチプロセッサ画像処理装置
JPH07244646A (ja) * 1994-03-03 1995-09-19 Hitachi Ltd マルチcpuシステム用マイクロコンピュータ、及びこれを用いたシステム並びにネットワーク
JPH0844678A (ja) * 1994-07-29 1996-02-16 Canon Inc 画像処理装置及びシステム
JPH08307720A (ja) * 1995-05-12 1996-11-22 Seiko Epson Corp カラー画像の階調数変換方式及び方法
JPH10143380A (ja) * 1996-11-07 1998-05-29 Hitachi Ltd マルチプロセッサシステム
JPH11252357A (ja) * 1998-02-27 1999-09-17 Sharp Corp 画像処理装置
JP2000175064A (ja) * 1998-12-10 2000-06-23 Fuji Xerox Co Ltd 画像処理装置
JP2001075934A (ja) * 1999-09-07 2001-03-23 Nec Eng Ltd 負荷分散処理システム及び方法
US6532016B1 (en) * 1997-10-23 2003-03-11 Texas Instruments Incorporated Method of processing print data using parallel raster image processing
JP2003150947A (ja) * 2001-11-16 2003-05-23 Minolta Co Ltd 非線形処理用プロセッサ
JP2003264697A (ja) * 2002-01-18 2003-09-19 Hewlett Packard Co <Hp> データ処理速度を高めるための方法
WO2004036354A2 (en) * 2002-10-15 2004-04-29 Sandbridge Technologies, Inc. Method and apparatus for high speed cross-thread interrupts in a multithreaded processor
JP2004135317A (ja) * 2002-09-18 2004-04-30 Fuji Xerox Co Ltd カラー画像処理装置およびカラー画像処理方法
JP2005094126A (ja) * 2003-09-12 2005-04-07 Canon Inc 画像処理装置および画像処理方法およびコンピュータで実行可能な画像処理プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5765146A (en) * 1993-11-04 1998-06-09 International Business Machines Corporation Method of performing a parallel relational database query in a multiprocessor environment
JP3501385B2 (ja) * 1995-04-13 2004-03-02 株式会社日立製作所 ジョブ実行順序決定方法
US5930010A (en) * 1996-01-31 1999-07-27 Lexmark International, Inc. Method and apparatus for color halftoning using different halftoning techniques for halftoning different dot planes
JP3797013B2 (ja) 1999-04-12 2006-07-12 セイコーエプソン株式会社 画像処理方法、印刷装置、画像処理システムおよび記録媒体
US20050141017A1 (en) * 2002-02-26 2005-06-30 Eisei Matsumura Printer controller
GB2387817A (en) * 2002-04-27 2003-10-29 Hewlett Packard Co Page wide array inkjet printer having halftone controller and multiple printheads, each printing different image strips.
US20040008382A1 (en) * 2002-07-09 2004-01-15 Barbalet Thomas Samuel System and method for error diffusion screening with parallel processing
US7551323B2 (en) * 2003-04-16 2009-06-23 Lexmark International, Inc. Systems and methods for error diffusion

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61125275A (ja) * 1984-11-20 1986-06-12 Mitsubishi Electric Corp 画像信号処理装置
JPH01312672A (ja) * 1988-06-13 1989-12-18 Nippon Telegr & Teleph Corp <Ntt> 画像処理装置
JPH04111676A (ja) * 1990-08-31 1992-04-13 Ricoh Co Ltd カラー画像形成装置
JPH05242051A (ja) * 1992-02-28 1993-09-21 Nec Corp タスクスケジューリング方式
JPH0612392A (ja) * 1992-03-19 1994-01-21 Fujitsu Ltd 計算機資源分散方法及びシステム
JPH06274608A (ja) * 1993-03-23 1994-09-30 Seiko Epson Corp マルチプロセッサ画像処理装置
JPH07244646A (ja) * 1994-03-03 1995-09-19 Hitachi Ltd マルチcpuシステム用マイクロコンピュータ、及びこれを用いたシステム並びにネットワーク
JPH0844678A (ja) * 1994-07-29 1996-02-16 Canon Inc 画像処理装置及びシステム
JPH08307720A (ja) * 1995-05-12 1996-11-22 Seiko Epson Corp カラー画像の階調数変換方式及び方法
JPH10143380A (ja) * 1996-11-07 1998-05-29 Hitachi Ltd マルチプロセッサシステム
US6532016B1 (en) * 1997-10-23 2003-03-11 Texas Instruments Incorporated Method of processing print data using parallel raster image processing
JPH11252357A (ja) * 1998-02-27 1999-09-17 Sharp Corp 画像処理装置
JP2000175064A (ja) * 1998-12-10 2000-06-23 Fuji Xerox Co Ltd 画像処理装置
JP2001075934A (ja) * 1999-09-07 2001-03-23 Nec Eng Ltd 負荷分散処理システム及び方法
JP2003150947A (ja) * 2001-11-16 2003-05-23 Minolta Co Ltd 非線形処理用プロセッサ
JP2003264697A (ja) * 2002-01-18 2003-09-19 Hewlett Packard Co <Hp> データ処理速度を高めるための方法
JP2004135317A (ja) * 2002-09-18 2004-04-30 Fuji Xerox Co Ltd カラー画像処理装置およびカラー画像処理方法
WO2004036354A2 (en) * 2002-10-15 2004-04-29 Sandbridge Technologies, Inc. Method and apparatus for high speed cross-thread interrupts in a multithreaded processor
JP2006503385A (ja) * 2002-10-15 2006-01-26 サンドブリッジ テクノロジーズ インコーポレーテッド マルチスレッド・プロセッサの高速スレッド間割込みのための方法および装置
JP2005094126A (ja) * 2003-09-12 2005-04-07 Canon Inc 画像処理装置および画像処理方法およびコンピュータで実行可能な画像処理プログラム

Also Published As

Publication number Publication date
US7460285B2 (en) 2008-12-02
US20060050955A1 (en) 2006-03-09
JP4501593B2 (ja) 2010-07-14

Similar Documents

Publication Publication Date Title
US7497540B2 (en) Image recording apparatus, image recording method, and image recording program
US7466465B2 (en) Load allocation when executing image processing using parallel processing
JP2009069680A (ja) 画像処理装置及びプログラム
US7436559B2 (en) Load assignment in image processing by parallel processing
US7460285B2 (en) Load allocation when executing image processing using parallel processing
JP2007060111A (ja) 階調処理装置および方法
US8159720B2 (en) Color error diffusion
JP5899863B2 (ja) 印刷装置および印刷装置の印刷方法
JP2013183240A (ja) 画像処理装置および画像処理プログラム
JP4442899B2 (ja) 画像処理装置及び画像処理方法
JP2005250565A (ja) 画像処理を並列処理で実行する際の負荷の割り付け
US20100027037A1 (en) Image Processing Controller and Image Processing Apparatus
JP2005260424A (ja) 画像処理を並列処理で実行する際の負荷の割り付け
JPH0738767A (ja) 画像2値化処理装置
JP3268712B2 (ja) 画像形成方法とその装置
JP2005295131A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2007129695A (ja) 印刷装置、印刷プログラム、印刷方法、および画像処理装置、画像処理プログラム、画像処理方法、並びに前記プログラムを記録した記録媒体、表示装置
JP5471696B2 (ja) 画像処理装置、及び画像処理プログラム
JP2011120027A (ja) 画像処理装置およびその方法
JP2005259042A (ja) 画像処理方法および画像処理プログラム
JP2006253792A (ja) 印刷制御装置、印刷制御方法および印刷制御プログラム
JP4784353B2 (ja) 画像形成装置、画像形成方法、及び画像形成プログラム
JP2021077399A (ja) 画像処理プログラム及び画像処理装置
JP2005269131A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2006025220A (ja) 画像処理装置、画像処理方法、画像処理プログラムおよびそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100330

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100412

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees