JP2005259042A - 画像処理方法および画像処理プログラム - Google Patents

画像処理方法および画像処理プログラム Download PDF

Info

Publication number
JP2005259042A
JP2005259042A JP2004073035A JP2004073035A JP2005259042A JP 2005259042 A JP2005259042 A JP 2005259042A JP 2004073035 A JP2004073035 A JP 2004073035A JP 2004073035 A JP2004073035 A JP 2004073035A JP 2005259042 A JP2005259042 A JP 2005259042A
Authority
JP
Japan
Prior art keywords
thread
threads
image processing
executing
thread execution
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
JP2004073035A
Other languages
English (en)
Inventor
Kohei Utsunomiya
光平 宇都宮
Teruyuki Takada
照幸 高田
Shigeaki Sumiya
繁明 角谷
Satoshi Yamazaki
郷志 山▲崎▼
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 JP2004073035A priority Critical patent/JP2005259042A/ja
Publication of JP2005259042A publication Critical patent/JP2005259042A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 複数のスレッドのそれぞれに含まれる命令を並列に実行可能なプロセッサを用いた画像処理を高速に実行することを可能とする。
【解決手段】 N個(Nは2以上の整数)のスレッドのそれぞれに含まれる命令を並列に実行可能なプロセッサが、画像処理を実行するための複数のスレッドを、そのスレッドの実行に用いる処理方法の違いによってN個のグループに分類する。そして、プロセッサが、N個のスレッド実行アーキテクチャにおいて並列に実行されているN個のスレッドのそれぞれが属するグループが互いに重複していない状態となっている時間が長くなるように、複数のスレッドをN個のスレッド実行アーキテクチャに割り当てて実行する。
【選択図】 図5

Description

本発明は、複数のスレッドのそれぞれに含まれる命令を並列に実行可能なプロセッサを用いて画像処理を実行する技術に関する。
プリンタを用いて画像を印刷するとき、プリンタドライバ内では、画像データに対する色変換処理やハーフトーン処理等の画像処理が行われる。このような画像処理には様々な処理方法が用いられており、例えばハーフトーン処理には、誤差拡散法やディザ法等の処理方法が、あるいはそれらを組み合わせた処理方法が用いられている。
近年、印刷の対象となる画像の解像度の増大や、印刷に用いるインクドットの種類の増加といった、プリンタドライバにおける画像処理に要する時間が増大する要因が増加している。そのため、画像処理を高速に行うための種々の技術が提案されている(例えば特許文献1)。
特開2000−293674号公報
他方、近年のコンピュータ技術の進展に伴い、高速なプロセッサや大容量のメモリ等の様々なハードウェア資源が開発されている。その中の1つに、1つのプロセッサが論理的に複数のプロセッサとして働くことができるようなプロセッサがある。このプロセッサは、複数のスレッドのそれぞれに含まれる命令を並列に実行すること(スレッドレベルの並列処理)が可能である。このようなプロセッサによりプリンタドライバにおける画像処理を行うことによって、画像処理の高速化が期待されている。
しかし、プリンタドライバにおける画像処理に用いられる従来の処理方法は、スレッドレベルの並列処理を前提としていなかった。そのため、そのような処理方法は、上記のようなスレッドレベルの並列処理を実行可能なプロセッサを用いた画像処理に用いるのに適しているとは限らず、そのような処理方法では画像処理の高速化を図ることが困難であるという問題があった。
なお、このような問題は、プリンタドライバ内における画像処理に限らず、プロセッサを用いた画像処理を行う場合に共通する問題であった。
本発明は、上述した従来の課題を解決するためになされたものであり、複数のスレッドのそれぞれに含まれる命令を並列に実行可能なプロセッサを用いた画像処理を高速に実行することを可能とする技術を提供することを目的とする。
上記課題の少なくとも一部を解決するために、本発明の第1の画像処理方法は、N個(Nは2以上の整数)のスレッド実行アーキテクチャを備え、N個のスレッドのそれぞれに含まれる命令を並列に実行可能なプロセッサを用いて画像処理を実行する方法であって、
(a)前記プロセッサが、前記画像処理を実行するための複数のスレッドを、そのスレッドの実行に用いる処理方法の違いによってN個のグループに分類する工程と、
(b)前記プロセッサが、N個の前記スレッド実行アーキテクチャにおいて並列に実行されているN個のスレッドのそれぞれが属するグループが互いに重複していない状態となっている時間が長くなるように、前記複数のスレッドをN個の前記スレッド実行アーキテクチャに割り当てて実行する工程と、を備える。
この画像処理方法では、並列に実行されているN個のスレッド相互で、命令の実行に使用されるハードウェア資源の種類や、命令の実行のためにハードウェア資源が使用される頻度に差異が生じやすい。そのため、スレッドの実行においてハードウェア資源が有効に使用される。従って、複数のスレッドのそれぞれに含まれる命令を並列に実行可能なプロセッサを用いた画像処理を高速に実行することができる。
上記画像処理方法において、前記工程(b)は、
(i)前記プロセッサが、前記画像処理の最初に、前記N個のグループのそれぞれからスレッドを1つずつ選択し、選択した計N個のスレッドをN個の前記スレッド実行アーキテクチャにおいて並列に実行する工程と、
(ii)前記プロセッサが、N個の前記スレッド実行アーキテクチャの中のM番目(MはN以下の自然数)のスレッド実行アーキテクチャにおいてスレッドの実行が完了したときに、N個の前記スレッド実行アーキテクチャの内、前記M番目のスレッド実行アーキテクチャ以外の他のスレッド実行アーキテクチャにおいて実行されているスレッドの属するグループを判別する工程と、
(iii)前記プロセッサが、前記複数のスレッドの中の未実行のスレッドであって、前記他のスレッド実行アーキテクチャにおいて実行されているスレッドの属するグループとは異なるグループに属するスレッドを、前記M番目のスレッド実行アーキテクチャに割り当てて実行する工程と、を含むとしてもよい。
このようにすれば、並列に実行されているN個のスレッドのそれぞれが属するグループが互いに重複していない状態となっている時間が長くなるように、画像処理を行うことができる。
また、上記画像処理方法において、前記工程(b)は、
(i)前記プロセッサが、前記画像処理の最初に、前記N個のグループのそれぞれからスレッドを1つずつ選択し、選択した計N個のスレッドをN個の前記スレッド実行アーキテクチャにおいて並列に実行する工程と、
(ii)前記プロセッサが、N個の前記スレッド実行アーキテクチャの中のM番目(MはN以下の自然数)のスレッド実行アーキテクチャにおいてスレッドの実行が完了したときに、前記複数のスレッドの中の未実行のスレッドであって、前記M番目のスレッド実行アーキテクチャにおいて直前に実行されていたスレッドと同じグループに属するスレッドを、前記M番目のスレッド実行アーキテクチャに割り当てて実行する工程と、を含むとしてもよい。
このようにしても、並列に実行されているN個のスレッドのそれぞれが属するグループが互いに重複していない状態となっている時間が長くなるように、画像処理を行うことができる。
また、上記画像処理方法において、前記プロセッサは、1つの実行リソースに対して、レジスタ群を有するアーキテクチャステートをN個備えており、
1つの前記スレッド実行アーキテクチャは、1つの前記アーキテクチャステートと、N個の前記スレッド実行アーキテクチャで共有する1つの前記実行リソースとから構成されるとしてもよい。
この構成によれば、プロセッサが、N個のスレッドに含まれる命令を並列に実行可能とすることができる。
また、上記画像処理方法において、前記Nの値は2であり、
前記工程(a)におけるN個のグループへの分類は、一方のグループには、ある画像の画像処理を行うために前記実行リソースにおいて演算を行う回数がより多い処理方法を用いるスレッドを分類し、他方のグループには、前記画像の画像処理を行うために前記実行リソースにおいて演算を行う回数がより少ない処理方法を用いるスレッドを分類することにより行うとしてもよい。
このようにすれば、プロセッサの実行リソースを有効に使用して画像処理を行うことができ、画像処理を高速に実行することができる。
また、上記画像処理方法において、前記Nの値は2であり、
前記工程(a)におけるN個のグループへの分類は、一方のグループには、ある画像の画像処理を行うときのメモリアクセスの回数がより多い処理方法を用いるスレッドを分類し、他方のグループには、前記画像の画像処理を行うときのメモリアクセスの回数がより少ない処理方法を用いるスレッドを分類することにより行うとしてもよい。
このようにすれば、メモリを有効に使用して画像処理を行うことができ、画像処理を高速に実行することができる。
また、上記画像処理方法において、前記画像処理は、ハーフトーン処理であり、
前記Nの値は2であり、
前記工程(a)におけるN個のグループへの分類は、一方のグループには誤差拡散法を用いるスレッドを分類し、他方のグループにはディザ法を用いるスレッドを分類することにより行うとしてもよい。
このようにすれば、プロセッサの実行リソースにおける演算回数の多い誤差拡散法を用いるスレッドと、メモリアクセス回数の多いディザ法を用いるスレッドとを並列に実行することができ、ハーフトーン処理を高速に実行することができる。
また、本発明の第2の画像処理方法は、N個(Nは2以上の整数)のスレッド実行アーキテクチャを備え、N個のスレッドのそれぞれに含まれる命令を並列に実行可能なプロセッサを用いて画像処理を実行する方法であって、
(a)前記プロセッサが、前記画像処理を実行するための複数のスレッドを、そのスレッドの実行に用いる処理方法の違いによってN個のグループに分類する工程と、
(b)前記プロセッサが、前記複数のスレッドをN個の前記スレッド実行アーキテクチャへと割り当てるための順番を、同じグループに属するスレッド同士が連続する箇所数が最も少なくなるように設定する工程と、
(c)前記プロセッサが、前記工程(b)において設定した順番に従って、前記複数のスレッドを前記スレッド実行アーキテクチャに割り当てて実行する工程と、を備える。
この画像処理方法でも、並列に実行されているN個のスレッド相互で、命令の実行に使用されるハードウェア資源の種類や、命令の実行のためにハードウェア資源が使用される頻度に差異が生じやすい。そのため、スレッドの実行においてハードウェア資源が有効に使用される。従って、複数のスレッドのそれぞれに含まれる命令を並列に実行可能なプロセッサを用いた画像処理を高速に実行することができる。
なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理方法および装置、画像変換方法および装置、画像出力方法および装置、印刷方法および装置、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.第1実施例:
A−1.画像処理装置の構成:
A−2.ハーフトーン処理の高速化の基本的考え方:
A−3.ハーフトーン処理:
B.第2実施例:
C.変形例:
A.第1実施例:
A−1.画像処理装置の構成:
図1は、本発明の第1実施例としての画像処理装置の構成を概略的に示した説明図である。第1実施例の画像処理装置としてのコンピュータ200は、CPU210と、ROMやRAM等の内部記憶装置220と、外部記憶装置250と、ディスプレイ等の表示部260と、キーボードやマウス等の操作部270と、インターフェイス部(I/F部)280とを備えている。
CPU210は、1つの実行リソース212と、実行リソース212を共有する2つのアーキテクチャステート(Arch State)214とを備えている。実行リソース212は、実際に演算を行う図示しない演算ユニットを有している。また、アーキテクチャステート214は、汎用レジスタと、コントロールレジスタと、APICレジスタと、その他のマシンステートレジスタとで構成される図示しないレジスタ群を有している。
このCPU210は、2つのアーキテクチャステート214を備えているため、2つのスレッド実行アーキテクチャとして機能することができる。従って、CPU210は、2つのスレッドのそれぞれに含まれる命令を並列に実行すること(スレッドレベルの並列処理)が可能である。ここで、「スレッド実行アーキテクチャ」とは、スレッドを実行するための論理的なハードウェアを意味している。また、「スレッド」とは、プログラムの実行単位を意味しており、各スレッドには1つ以上の命令が含まれている。本実施例では、1つのスレッド実行アーキテクチャは、1つの実行リソース212と、1つのアーキテクチャステート214とから構成され、実行リソース212は、2つのスレッド実行アーキテクチャによって共有される。
ここで、いわゆるマルチスレッドと、本実施例のCPU210によるスレッドレベルの並列処理との違いを説明する。図2は、いわゆるマルチスレッドとスレッドレベルの並列処理との違いを概念的に示した説明図である。
図2(a)には、あるスレッドに含まれる3つの命令(命令1から命令3)の処理の一般的な流れの一例を示している。図2(a)では、左から右へと時間軸を設定している。なお、これは図2(b)および図2(c)においても同様である。スレッドに含まれる命令は、大きく分けて6つの工程に従って処理が行われる。6つの工程とは、命令フェッチ(命令FET)と、デコード(DEC)と、アドレス(ADR)と、オペランドフェッチ(オペランドFET)と、エクゼキュート(EXE)と、ライトバック(WRB)との6つである。
命令フェッチは、命令キャッシュから命令を取り出す工程である。デコードは、命令をデコードする工程である。アドレスは、オペランドのアドレスを指定する工程である。オペランドフェッチは、オペランドのデータを取り出す工程である。エクゼキュートは、オペランドのデータに対して演算を実行する工程である。ライトバックは、演算結果をデータキャッシュ等に書き込む工程である。
図2(a)に示すように、スレッドに含まれる各命令は、上記各工程の実行時期を各命令間でずらすことによって並列に処理することが可能である。このようなスレッドに含まれる命令の並列処理により、スレッドを高速に実行することが可能となる。
図2(b)には、いわゆるマルチスレッドにおける、2つのスレッド(スレッドAおよびスレッドB)に含まれる命令の処理の流れの一例を示している。図2(b)の例では、各スレッドにそれぞれ3つの命令が含まれており、スレッドAに含まれる命令のみハッチングを付して示している。また、各命令は、図2(a)に示した工程に従って処理される。なお、これらの点は図2(c)においても同様である。
いわゆるマルチスレッドでは、例えば2つのスレッドをそれぞれ複数のブロックに分割し、2つのスレッドを交互に切り替えて実行する。図2(b)の例では、まずスレッドAのブロック1に含まれる命令1から命令3までが並列に処理される。次に、処理対象のスレッドが切り替えられ、スレッドBのブロック1に含まれる命令1から命令3までが並列に処理される。次に、再度、処理対象のスレッドが切り替えられ、スレッドAのブロック2に含まれる命令が処理される。このように、いわゆるマルチスレッドにおいては、2つのスレッドを並列に処理することは可能であるが、それは2つのスレッドを複数のブロックに分割して交互に実行しているだけで、スレッドに含まれる命令を並列に実行することはできない。
一方、図2(c)には、本実施例のCPU210によるスレッドレベルの並列処理を用いた、2つのスレッド(スレッドAおよびスレッドB)に含まれる命令の処理の流れの一例を示している。本実施例のCPU210は、2つのスレッド実行アーキテクチャを備えているため、2つのスレッドのそれぞれに含まれる命令を並列に実行することが可能である。従って、図2(c)に示すように、スレッドAおよびスレッドBのそれぞれに含まれる命令を交互に並列に処理することが可能である。このため、本実施例のCPU210によるスレッドレベルの並列処理では、処理の並列性をより高めることができ、スレッドをより高速に実行することが可能である。
内部記憶装置220(図1)には、画像処理部240として機能するコンピュータプログラムが格納されている。画像処理部240は、印刷データを生成するためのプリンタドライバである。すなわち、画像処理部240は、印刷の対象となる画像データに対する画像処理を行って、印刷ドットの形成状態を示すドットデータを生成する。画像処理部240が行う画像処理には、色変換処理と、ハーフトーン処理とが含まれる。
また、画像処理部240は、ハーフトーンモジュール(HTM)242を有している。ここで、ハーフトーンモジュールとは、ハーフトーン処理の処理方法を定めたものである。すなわち、画像処理部240は、ハーフトーンモジュール242に定められた処理方法に従って、ハーフトーン処理を行う。本実施例では、ハーフトーンモジュール242によって、インク色毎に、誤差拡散法およびディザ法のどちらのハーフトーン処理方法を用いるかが定められている。
インターフェイス部280は、複数の入出力端子を備えており、外部に設けられた種々の機器との間でデータ通信を行う。例えば、インターフェイス部280は、ケーブルを介して図示しないCD−R/RWドライブと接続され、CD−R/RWドライブに記録されたデータの読み込みや、CD−R/RWドライブへのデータの書き込みを行う。また、インターフェイス部280は、ケーブルを介してプリンタ300と接続され、プリンタ300に印刷データを供給する。
A−2.ハーフトーン処理の高速化の基本的考え方:
図3は、画像処理部によるハーフトーン処理の高速化を図るための基本的考え方を概念的に示す説明図である。上述したように、本実施例のCPU210は、2つのスレッド実行アーキテクチャを備え、2つのスレッドのそれぞれに含まれる命令を並列に実行することができる。また、本実施例では、画像処理部240によるハーフトーン処理において、インク色毎のハーフトーン処理を1つのスレッドの単位として設定している。また、本実施例では、ハーフトーン処理に用いる処理方法として、誤差拡散法およびディザ法の2種類の処理方法が用いられる。
図3には、2つのスレッド実行アーキテクチャ(th1およびth2)において実行されるスレッドの内容と、スレッドの実行時間とを表している。スレッドの内容として、「d」は、あるインク色についてのディザ法によるハーフトーン処理を、「ED」は、あるインク色についての誤差拡散法によるハーフトーン処理をそれぞれ表している。なお、「C」および「M」はインク色(シアンおよびマゼンタ)を表している。
また、各スレッドの実行時間は、上から下へと時間軸を設定して、各スレッドを表す四角形の上下方向の長さで表している。なお、一般的に、誤差拡散法によるハーフトーン処理は、ディザ法によるハーフトーン処理と比べて実行時間が長い。そのため、図3では、誤差拡散法によるハーフトーン処理の実行時間を、ディザ法によるハーフトーン処理の実行時間よりも長く表現している。
一般的に、誤差拡散法によるハーフトーン処理では、ディザ法によるハーフトーン処理と比較して、CPU210の実行リソース212において演算を行う回数が多い傾向にある。一方、ディザ法によるハーフトーン処理では、誤差拡散法によるハーフトーン処理と比較して、メモリとしての内部記憶装置220へのアクセスの回数が多い傾向にある。このように、ハーフトーン処理における誤差拡散法とディザ法とは、処理に用いるハードウェア資源の使用形態に差異があるという特徴がある。このような特徴を利用すれば、2つのスレッドのそれぞれに含まれる命令を並列に実行することができるCPU210を備えるコンピュータ200において、ハーフトーン処理を高速に実行することができる。
例えば、図3(a)のように、2つのスレッド実行アーキテクチャ(th1およびth2)において、ディザ法によるハーフトーン処理のスレッド同士を並列に実行すると、並列に実行されるスレッドに含まれる命令によってメモリアクセスが頻繁に発生する。そのため、メモリアクセスのための待ち時間が発生し、処理が遅延する可能性が高くなる。また、図3(b)のように、2つのスレッド実行アーキテクチャにおいて、誤差拡散法によるハーフトーン処理のスレッド同士を並列に実行すると、並列に実行されるスレッドに含まれる命令によって、実行リソース212における演算が頻繁に実行される。そのため、演算実行のための待ち時間が発生し、図3(a)のときと同様に、処理が遅延する可能性が高くなる。このように、同じ処理方法を用いるスレッド同士を並列に実行すると、ハーフトーン処理の高速化を図ることが困難となる。
一方、図3(c)のように、ディザ法によるハーフトーン処理のスレッドと、誤差拡散法によるハーフトーン処理のスレッドとを並列に実行すると、メモリアクセスや演算実行のための待ち時間が発生することが少なくなり、処理が遅延する可能性は低くなる。これは、2つのスレッド実行アーキテクチャにおいて、メモリアクセスや実行リソース212における演算が分散して実行されるからである。すなわち、並列に処理される2つのスレッドの内、ディザ法を用いるスレッドに含まれる命令によってはメモリアクセスが頻繁に発生するが、誤差拡散法を用いるスレッドに含まれる命令によっては実行リソース212における演算が頻繁に実行されるからである。このように異なる処理方法を用いるスレッドを並列に実行すると、ハードウェア資源を有効に使用してハーフトーン処理を実行することができる。
さらに、例えば、スレッド実行アーキテクチャth1において、メモリアクセスのための待ち時間が発生したときでも、スレッド実行アーキテクチャth2におけるスレッドをオーバーラップして実行することができるため、処理の遅延を抑制することができる。
このように、異なる処理方法を用いるスレッドを並列に実行すると、ハーフトーン処理を高速に実行することができる。このようなハーフトーン処理の高速化は、本実施例の画像処理装置としてのコンピュータ200のように、少ないハードウェア資源を有効に使用することによって高速な処理を実現できるようなCPUによりハーフトーン処理を行う場合に、特に有効である。
従って、図3の例では、図3(c)に示すディザ法(d)によるシアン(C)のハーフトーン処理のスレッドの実行時間は、図3(a)に示すディザ法によるシアンのハーフトーン処理のスレッドの実行時間よりも短くなっている。また、同様に、図3(c)に示す誤差拡散法(ED)によるマゼンタ(M)のハーフトーン処理のスレッドの実行時間は、図3(b)に示すディザ法によるマゼンタのハーフトーン処理のスレッドの実行時間よりも短くなっている。
以上のように、2つのスレッドのそれぞれに含まれる命令を並列に処理することができるCPU210を備えるコンピュータ200においては、異なる処理方法を用いるスレッドを並列に実行することによって、ハーフトーン処理を高速に実行することができる。
A−3.ハーフトーン処理:
図4は、第1実施例としての画像処理部によるハーフトーン処理の流れを示すフローチャートである。また、図5は、第1実施例としての画像処理部によるハーフトーン処理の概要を示す説明図である。
図5(a)には、画像処理部240がハーフトーン処理に用いるハーフトーンモジュール242の例を示している。本実施例のハーフトーンモジュール242は、インク色毎に定められたハーフトーン処理方法(誤差拡散法およびディザ法)の情報を含んでいる。例えば、図5(a)に示したハーフトーンモジュール242は、M(マゼンタ)、Y(イエロー)、K(ブラック)、DY(ダークイエロー)の4色についてはディザ法(dither)を用い、C(シアン)、LC(ライトシアン)、LM(ライトマゼンタ)の3色については誤差拡散法(ED)を用いるように定められている。
図5(b)には、図5(a)に示したハーフトーンモジュール242に従って、インク色毎にハーフトーン処理を行っていくときの処理の様子を示している。図5(b)では、図3と同様に、2つのスレッド実行アーキテクチャ(th1およびth2)において実行されるスレッドの内容と、スレッドの実行時間とを表している。なお、図5(b)では、時間の経過に伴って変化する、2つのスレッド実行アーキテクチャにおいて実行されるスレッドの内容をiからviへと表しており、太い実線で囲ったスレッドは実行開始されるスレッドを、細い実線で囲ったスレッドは実行中のスレッドを、破線で囲ったスレッドは完了したスレッドを、それぞれ表している。
ステップS110(図4)では、画像処理部240(図1)が、ハーフトーンモジュール242の確認を行う。これにより、画像処理部240は、各スレッド(インク色毎のハーフトーン処理)の実行に用いる処理方法の違いを確認する。本実施例では、画像処理部240は、各スレッドを、誤差拡散法を用いるスレッドと、ディザ法を用いるスレッドとに分類する。
ステップS120では、画像処理部240が、各スレッドの実行に用いる処理方法がすべて同じか否かを判定する。画像処理部240が、各スレッドの実行に用いる処理方法がすべて同じと判定したときは(ステップS120:Yes)、ステップS200に進み、画像処理部240が任意の順序でスレッドを実行する。このときは、異なる処理方法を用いるスレッドを並列に実行することによるハーフトーン処理の高速化を図ることはできない。一方、画像処理部240が、各スレッドの実行に用いる処理方法がすべて同じではないと判定したときは(ステップS120:No)、ステップS130に進む。図5の例では、各スレッドの実行に用いる処理方法がすべて同じではないため、ステップS130に進むこととなる。
ステップS130(図4)では、画像処理部240が、異なる処理方法を用いるスレッドを、それぞれ1つ並列に実行する。図5(b)のiには、スレッド実行アーキテクチャth1においてディザ法(d)を用いたマゼンタ(M)のハーフトーン処理のスレッドが、スレッド実行アーキテクチャth2において誤差拡散法(ED)を用いたシアン(C)のハーフトーン処理のスレッドが、それぞれ実行されている様子を表している。
ステップS140(図4)では、画像処理部240が、実行中の2つのスレッドのどちらかが完了したか否かを判定する。画像処理部240が、どちらも完了していないと判定したときは(ステップS140:No)、ステップS140に戻る。一方、画像処理部240が、2つのスレッドのどちらかが完了したと判定したときは(ステップS140:Yes)、ステップS150に進む。
ステップS150では、画像処理部240が、未実行のスレッドが有るか否かを判定する。画像処理部240が、未実行のスレッドがあると判定したときは(ステップS150:Yes)、ステップS160に進む。例えば図5(b)のiにおいて、ディザ法(d)によるマゼンタ(M)のハーフトーン処理のスレッドが完了したときは、未実行のスレッドがまだあるので、ステップS160に進むこととなる。
一方、画像処理部240が、未実行のスレッドがないと判定したときは(ステップS150:No)、ステップS190に進み、画像処理部240は実行中のスレッドの完了を待って処理を終了する。例えば図5(b)のviにおいて、誤差拡散法(ED)によるライトシアン(LC)のハーフトーン処理のスレッドが完了したときは、もう未実行のスレッドがないので、実行中の誤差拡散法(ED)によるライトマゼンタ(LM)のハーフトーン処理のスレッドの完了を待って処理を終了する。
ステップS160(図4)では、画像処理部240が、他のスレッド実行アーキテクチャにおいて実行中のスレッドに用いられている処理方法を確認する。ここで、他のスレッド実行アーキテクチャとは、ステップS140で処理が完了したスレッドが行われていたスレッド実行アーキテクチャとは別のスレッド実行アーキテクチャを意味している。例えば図5(b)のiにおいて、ディザ法(d)によるマゼンタ(M)のハーフトーン処理のスレッドが完了したときは、他のスレッド実行アーキテクチャであるスレッド実行アーキテクチャth2で実行中のスレッドに用いられている処理方法(この場合は誤差拡散法)を確認する。
なお、本実施例では、スレッド実行アーキテクチャにおけるスレッド実行の開始時に、そのスレッドに用いられる処理方法を示すフラグが、内部記憶装置220内の所定の領域に記録される。画像処理部240は、内部記憶装置220内の所定の領域に記録されたフラグを用いて、他のスレッド実行アーキテクチャにおいて実行中のスレッドに用いられている処理方法を確認することができる。
ステップS170(図4)では、画像処理部240が、他のスレッド実行アーキテクチャにおいて実行中のスレッドに用いられている処理方法とは異なる処理方法を用いる未実行のスレッドがあるか否かを判定する。画像処理部240が、他のスレッド実行アーキテクチャにおいて実行中のスレッドに用いられている処理方法とは異なる処理方法を用いる未実行のスレッドがあると判定したときは(ステップS170:Yes)、ステップS180に進む。例えば図5(b)のiにおいて、ディザ法(d)によるマゼンタ(M)のハーフトーン処理のスレッドが完了したときは、スレッド実行アーキテクチャth2で実行中のスレッドに用いられている処理方法(誤差拡散法)と異なる処理方法を用いる未実行のスレッドとして、ディザ法によるイエロー(Y)、ブラック(K)、ダークイエロー(DY)のハーフトーン処理のスレッドがある。従って、このときは、ステップS180に進むこととなる。
一方、画像処理部240が、他のスレッド実行アーキテクチャにおいて実行中のスレッドに用いられている処理方法とは異なる処理方法を用いる未実行のスレッドがないと判定したときは(ステップS170:No)、ステップS200に進み、未実行のスレッドを任意の順序で実行する。例えば図5(b)のvにおいて、ディザ法(d)によるダークイエロー(DY)のハーフトーン処理のスレッドが完了したときは、スレッド実行アーキテクチャth2で実行中のスレッドに用いられている処理方法(誤差拡散法)と異なる処理方法を用いる未実行のスレッドがない。従って、このときは、未実行のスレッドである誤差拡散法(ED)によるライトマゼンタ(LM)のハーフトーン処理のスレッドをスレッド実行アーキテクチャth1において実行する。
ステップS180(図4)では、画像処理部240が、他のスレッドにおいて実行中のスレッドに用いられている処理方法とは異なる処理方法を用いる未実行のスレッドを実行する。その後ステップS140に戻って、上記の処理を繰り返す。例えば図5(b)のiにおいて、ディザ法(d)によるマゼンタ(M)のハーフトーン処理のスレッドが完了したときは、スレッド実行アーキテクチャth2において実行中のスレッドに用いられている処理方法(誤差拡散法)と異なる処理方法を用いる未実行のスレッドである、ディザ法によるイエロー(Y)のハーフトーン処理のスレッドを次に行っている(図5(b)のii)。
以上説明したように、図4のフローに従ってハーフトーン処理を実行すると、異なる処理方法を用いたスレッドを並列に実行する時間を長くすることができる。例えば、図5の例では、図5(b)のviに示すように、一方のスレッド実行アーキテクチャでディザ法(d)を用いたハーフトーン処理のスレッドを実行しているときは、必ず他方のスレッド実行アーキテクチャで誤差拡散法(ED)を用いたハーフトーン処理のスレッドを実行している。
このように、異なる処理方法を用いたスレッドを並列に実行する時間を長くすると、上述の通り、メモリや実行リソース212といったコンピュータ200のハードウェア資源を有効に使用することができ、スレッドの実行時間を短くすることができる。従って、本実施例のコンピュータ200は、ハーフトーン処理を高速に実行することができる。
B.第2実施例:
図6は、第2実施例としての画像処理部によるハーフトーン処理の流れを示すフローチャートである。また、図7は、第2実施例としての画像処理部によるハーフトーン処理の概要を示す説明図である。図4および図5に示した第1実施例との違いは、第2実施例では、ハーフトーン処理を実行する前に、各スレッドをスレッド実行アーキテクチャへと割り当てるための順番を設定し、その順番に従って各スレッドをスレッド実行アーキテクチャに割り当てて実行している点であり、その他の点は第1実施例と同じである。なお、各スレッドをスレッド実行アーキテクチャへと割り当てるための順番とは、処理の開始時、あるいは1つのスレッドの完了時のように、あるスレッド実行アーキテクチャがスレッドの実行が可能となったときに、そのスレッド実行アーキテクチャにおいて次に実行するスレッドを選択するための順番である。
図6において、ステップS110、ステップS120、およびステップS200における処理内容は、図4に示した第1実施例と同じである。
ステップS210(図6)では、画像処理部240が、スレッドの割り当ての順番を設定する。画像処理部240によるスレッドの割り当ての順番の設定は、異なる処理方法を用いるスレッドが、なるべく交互に並ぶような順番になるように行われる。すなわち、同じ処理方法を用いるスレッド同士が連続する箇所数が最も少なくなるように、順番が設定される。
図7(a)には、ハーフトーンモジュール242と、丸数字で表現された各スレッドの割り当ての順番とが、表されている。図7の例では、ディザ法を用いたハーフトーン処理のスレッドが4色分(M、Y、K、DY)あり、誤差拡散法を用いたハーフトーン処理のスレッドが3色分(C、LC、LM)あるため、ディザ法を用いたハーフトーン処理のスレッドの方が多い。このときは、割り当ての順番は、多い方のディザ法を用いたハーフトーン処理のスレッドを1番目とし、以後、誤差拡散法とディザ法とを交互の順番に割り当てることにより設定される。このように、順番を設定すれば、同じ処理方法を用いるスレッド同士が連続する箇所数が最も少なくなる。図7の例では、1番目がディザ法を用いたマゼンタ(M)のハーフトーン処理のスレッドであり、2番目が誤差拡散法を用いたシアン(C)のハーフトーン処理のスレッドであり、最後の7番目がディザ法を用いたダークイエロー(DY)のハーフトーン処理のスレッドというように順番を設定している。図7の例では、このように順番を設定することによって、同じ処理方法を用いるスレッド同士が連続する箇所がないようになっている。
ステップS220(図6)では、画像処理部240が、設定した順番でスレッドをスレッド実行アーキテクチャに割り当てて、スレッドを実行する。図7の例では、図7(b)のiに示すように、画像処理部240が、まず設定順番が1番目および2番目のスレッドである、ディザ法を用いたマゼンタ(M)のハーフトーン処理のスレッドと、誤差拡散法を用いたシアン(C)のハーフトーン処理のスレッドとを並列に実行する。
図7(b)のiにおいて、ディザ法を用いたマゼンタ(M)のハーフトーン処理のスレッドが完了したときは、画像処理部240が、次に、設定順番が3番目のスレッドであるディザ法を用いたイエロー(Y)のハーフトーン処理のスレッドを実行する(図7(b)のii)。さらに、ディザ法を用いたイエロー(Y)のハーフトーン処理のスレッドが完了したときは、画像処理部240が、次に、設定順番が4番目のスレッドである誤差拡散法を用いたライトシアン(LC)のハーフトーン処理のスレッドを実行する(図7(b)のiii)。画像処理部240は、このように、設定された順番に従ってスレッドを実行していき、最後に、設定順番が7番目のスレッドであるディザ法を用いたダークイエロー(DY)のハーフトーン処理のスレッドを実行する(図7(b)のvi)。
以上のように、設定された順番に従って各スレッドをスレッド実行アーキテクチャに割り当てて実行すると、異なる処理方法を用いるスレッドを並列に実行する時間を長くすることができる。例えば、図7(b)の例では、図7(b)のviに示すように、一方のスレッド実行アーキテクチャでディザ法(d)を用いたハーフトーン処理のスレッドを実行しているときは、必ず他方のスレッド実行アーキテクチャで誤差拡散法(ED)を用いたハーフトーン処理のスレッドを実行している。従って、第1実施例と同様に、ハーフトーン処理に要する時間を短くすることができる。
以上のようにして、第2実施例としてのコンピュータ200は、ハーフトーン処理を高速に実行することができる。
C.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
C1.変形例1:
上記実施例では、CPU210は1つの実行リソース212を共有する2つのアーキテクチャステート214を備えているが、CPU210は1つの実行リソース212を共有する3つ以上のアーキテクチャステート214を備えているとしてもよい。CPU210が1つの実行リソース212を共有する3つ以上のアーキテクチャステート214を備えているときも、上記実施例と同様に、異なる処理方法を用いるスレッドを並列に実行する時間を長くすることによって、ハーフトーン処理を高速に実行することができる。
C2.変形例2:
上記実施例では、コンピュータ200は1つのCPU210を備えているが、コンピュータ200は2つ以上のCPUを備えているとしてもよい。このときは、1つのスレッド実行アーキテクチャは、1つのCPUによって構成され、コンピュータ200はCPUの数と同じ数のスレッド実行アーキテクチャを備えることが可能となる。このようにしても、画像処理装置としてのコンピュータ200は、複数のスレッドのそれぞれに含まれる命令を並列に実行することが可能となる。従って、このようにしても、上記実施例と同様に、異なる処理方法を用いるスレッドを並列に実行する時間を長くすることによって、ハーフトーン処理を高速に実行することができる。
C3.変形例3:
上記実施例では、スレッド(インク色毎のハーフトーン処理)を、ディザ法と誤差拡散法との2つの異なる処理方法を用いるスレッドに分類する例を用いて説明したが、スレッドを、3つ以上の異なる処理方法を用いるスレッドに分類することも可能である。例えば、ディザ法を用いたハーフトーン処理のスレッドを、ディザの種類によって、さらに複数の異なる処理方法を用いるスレッドに分類することも可能である。また、誤差拡散法を用いたハーフトーン処理のスレッドを、誤差拡散マトリクスの種類によって、さらに複数の異なる処理方法を用いるスレッドに分類することも可能である。さらに、ハーフトーン処理にディザ法および誤差拡散法以外の他の処理方法を用い、他の処理方法を用いるスレッドとして分類することも可能である。
C4.変形例4:
上記実施例では、1つのスレッドの単位をインク色毎のハーフトーン処理としているが、1つのスレッドの単位は任意に設定することができ、例えば、1つのスレッドの単位をインク色とインクドット径との組み合わせ毎のハーフトーン処理とすることも可能である。
C5.変形例5:
上記第1実施例では、あるスレッド実行アーキテクチャにおいて実行されているスレッドが完了したときは、他のスレッド実行アーキテクチャにおいて実行されているスレッドの処理方法を確認し、それとは別の処理方法を用いるスレッドを次に実行することとしているが、あるスレッド実行アーキテクチャにおけるスレッドが完了したときは、完了したスレッドと同じ処理方法を用いるスレッドを次に実行するとすることも可能である。このようにしても、上記実施例と同様に、異なる処理方法を用いるスレッドを並列に実行する時間を長くすることによって、ハーフトーン処理を高速に実行することができる
C6.変形例6:
上記実施例におけるハーフトーンモジュール242の構成や内容は、あくまで一例であり、他の構成や内容のハーフトーンモジュールを用いることも可能である。例えばハーフトーン処理の方法として、誤差拡散法やディザ法以外の処理方法を定めることも可能である。また、印刷に用いるインク色についても一例であり、他のインク色を用いることも可能である。
C7.変形例7:
上記実施例では、画像処理の例として、画像処理部240としてのプリンタドライバによる印刷データの生成処理を用いて説明したが、画像処理は、例えば画像補正処理や画像合成処理といった他の画像処理であってもよい。
本発明の第1実施例としての画像処理装置の構成を概略的に示した説明図。 いわゆるマルチスレッドとスレッドレベルの並列処理との違いを概念的に示した説明図。 画像処理部によるハーフトーン処理の高速化を図るための基本的考え方を概念的に示す説明図。 第1実施例としての画像処理部によるハーフトーン処理の流れを示すフローチャート。 第1実施例としての画像処理部によるハーフトーン処理の概要を示す説明図。 第2実施例としての画像処理部によるハーフトーン処理の流れを示すフローチャート。 第2実施例としての画像処理部によるハーフトーン処理の概要を示す説明図。
符号の説明
200...コンピュータ
210...CPU
212...実行リソース
214...アーキテクチャステート
220...内部記憶装置
240...画像処理部
242...ハーフトーンモジュール
250...外部記憶装置
260...表示部
270...操作部
280...インターフェイス部
300...プリンタ

Claims (10)

  1. N個(Nは2以上の整数)のスレッド実行アーキテクチャを備え、N個のスレッドのそれぞれに含まれる命令を並列に実行可能なプロセッサを用いて画像処理を実行する方法であって、
    (a)前記プロセッサが、前記画像処理を実行するための複数のスレッドを、そのスレッドの実行に用いる処理方法の違いによってN個のグループに分類する工程と、
    (b)前記プロセッサが、N個の前記スレッド実行アーキテクチャにおいて並列に実行されているN個のスレッドのそれぞれが属するグループが互いに重複していない状態となっている時間が長くなるように、前記複数のスレッドをN個の前記スレッド実行アーキテクチャに割り当てて実行する工程と、を備える、画像処理方法。
  2. 請求項1記載の画像処理方法であって、
    前記工程(b)は、
    (i)前記プロセッサが、前記画像処理の最初に、前記N個のグループのそれぞれからスレッドを1つずつ選択し、選択した計N個のスレッドをN個の前記スレッド実行アーキテクチャにおいて並列に実行する工程と、
    (ii)前記プロセッサが、N個の前記スレッド実行アーキテクチャの中のM番目(MはN以下の自然数)のスレッド実行アーキテクチャにおいてスレッドの実行が完了したときに、N個の前記スレッド実行アーキテクチャの内、前記M番目のスレッド実行アーキテクチャ以外の他のスレッド実行アーキテクチャにおいて実行されているスレッドの属するグループを判別する工程と、
    (iii)前記プロセッサが、前記複数のスレッドの中の未実行のスレッドであって、前記他のスレッド実行アーキテクチャにおいて実行されているスレッドの属するグループとは異なるグループに属するスレッドを、前記M番目のスレッド実行アーキテクチャに割り当てて実行する工程と、を含む、画像処理方法。
  3. 請求項1記載の画像処理方法であって、
    前記工程(b)は、
    (i)前記プロセッサが、前記画像処理の最初に、前記N個のグループのそれぞれからスレッドを1つずつ選択し、選択した計N個のスレッドをN個の前記スレッド実行アーキテクチャにおいて並列に実行する工程と、
    (ii)前記プロセッサが、N個の前記スレッド実行アーキテクチャの中のM番目(MはN以下の自然数)のスレッド実行アーキテクチャにおいてスレッドの実行が完了したときに、前記複数のスレッドの中の未実行のスレッドであって、前記M番目のスレッド実行アーキテクチャにおいて直前に実行されていたスレッドと同じグループに属するスレッドを、前記M番目のスレッド実行アーキテクチャに割り当てて実行する工程と、を含む、画像処理方法。
  4. 請求項1ないし請求項3のいずれかに記載の画像処理方法であって、
    前記プロセッサは、1つの実行リソースに対して、レジスタ群を有するアーキテクチャステートをN個備えており、
    1つの前記スレッド実行アーキテクチャは、1つの前記アーキテクチャステートと、N個の前記スレッド実行アーキテクチャで共有する1つの前記実行リソースとから構成される、画像処理方法。
  5. 請求項4記載の画像処理方法であって、
    前記Nの値は2であり、
    前記工程(a)におけるN個のグループへの分類は、一方のグループには、ある画像の画像処理を行うために前記実行リソースにおいて演算を行う回数がより多い処理方法を用いるスレッドを分類し、他方のグループには、前記画像の画像処理を行うために前記実行リソースにおいて演算を行う回数がより少ない処理方法を用いるスレッドを分類することにより行う、画像処理方法。
  6. 請求項4記載の画像処理方法であって、
    前記Nの値は2であり、
    前記工程(a)におけるN個のグループへの分類は、一方のグループには、ある画像の画像処理を行うときのメモリアクセスの回数がより多い処理方法を用いるスレッドを分類し、他方のグループには、前記画像の画像処理を行うときのメモリアクセスの回数がより少ない処理方法を用いるスレッドを分類することにより行う、画像処理方法。
  7. 請求項4記載の画像処理方法であって、
    前記画像処理は、ハーフトーン処理であり、
    前記Nの値は2であり、
    前記工程(a)におけるN個のグループへの分類は、一方のグループには誤差拡散法を用いるスレッドを分類し、他方のグループにはディザ法を用いるスレッドを分類することにより行う、画像処理方法。
  8. N個(Nは2以上の整数)のスレッド実行アーキテクチャを備え、N個のスレッドのそれぞれに含まれる命令を並列に実行可能なプロセッサを用いて画像処理を実行する画像処理装置であって、
    前記画像処理を実行するための複数のスレッドを、そのスレッドの実行に用いる処理方法の違いによってN個のグループに分類し、N個の前記スレッド実行アーキテクチャにおいて並列に実行されているN個のスレッドのそれぞれが属するグループが互いに重複していない状態となっている時間が長くなるように、前記複数のスレッドをN個の前記スレッド実行アーキテクチャに割り当てて実行する、画像処理装置。
  9. N個(Nは2以上の整数)のスレッド実行アーキテクチャを備え、N個のスレッドのそれぞれに含まれる命令を並列に実行可能なプロセッサを用いて画像処理を実行するための画像処理プログラムであって、
    前記画像処理を実行するための複数のスレッドを、そのスレッドの実行に用いる処理方法の違いによってN個のグループに分類する機能と、
    N個の前記スレッド実行アーキテクチャにおいて並列に実行されているN個のスレッドのそれぞれが属するグループが互いに重複していない状態となっている時間が長くなるように、前記複数のスレッドをN個の前記スレッド実行アーキテクチャに割り当てて実行する機能と、をコンピュータに実現させることを特徴とする、画像処理プログラム。
  10. N個(Nは2以上の整数)のスレッド実行アーキテクチャを備え、N個のスレッドのそれぞれに含まれる命令を並列に実行可能なプロセッサを用いて画像処理を実行する方法であって、
    (a)前記プロセッサが、前記画像処理を実行するための複数のスレッドを、そのスレッドの実行に用いる処理方法の違いによってN個のグループに分類する工程と、
    (b)前記プロセッサが、前記複数のスレッドをN個の前記スレッド実行アーキテクチャへと割り当てるための順番を、同じグループに属するスレッド同士が連続する箇所数が最も少なくなるように設定する工程と、
    (c)前記プロセッサが、前記工程(b)において設定した順番に従って、前記複数のスレッドを前記スレッド実行アーキテクチャに割り当てて実行する工程と、を備える、画像処理方法。
JP2004073035A 2004-03-15 2004-03-15 画像処理方法および画像処理プログラム Pending JP2005259042A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004073035A JP2005259042A (ja) 2004-03-15 2004-03-15 画像処理方法および画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004073035A JP2005259042A (ja) 2004-03-15 2004-03-15 画像処理方法および画像処理プログラム

Publications (1)

Publication Number Publication Date
JP2005259042A true JP2005259042A (ja) 2005-09-22

Family

ID=35084663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004073035A Pending JP2005259042A (ja) 2004-03-15 2004-03-15 画像処理方法および画像処理プログラム

Country Status (1)

Country Link
JP (1) JP2005259042A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065459A (ja) * 2004-08-25 2006-03-09 Seiko Epson Corp 画像処理を並列処理で実行する際の負荷の割り付け
DE112006002403T5 (de) 2005-09-07 2008-07-10 Showa Denko K.K. Verbindungshalbleiter-Bauelement
US8320689B2 (en) 2007-10-24 2012-11-27 Ricoh Company, Ltd. Image processing apparatus
US8355584B2 (en) 2008-05-12 2013-01-15 Ricoh Company, Limited Image processing apparatus, image processing method, and computer program product

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065459A (ja) * 2004-08-25 2006-03-09 Seiko Epson Corp 画像処理を並列処理で実行する際の負荷の割り付け
JP4556554B2 (ja) * 2004-08-25 2010-10-06 セイコーエプソン株式会社 画像処理を並列処理で実行する際の負荷の割り付け
DE112006002403T5 (de) 2005-09-07 2008-07-10 Showa Denko K.K. Verbindungshalbleiter-Bauelement
US8320689B2 (en) 2007-10-24 2012-11-27 Ricoh Company, Ltd. Image processing apparatus
US8355584B2 (en) 2008-05-12 2013-01-15 Ricoh Company, Limited Image processing apparatus, image processing method, and computer program product

Similar Documents

Publication Publication Date Title
US10068518B2 (en) Method, apparatus and system for dithering an image
US7466465B2 (en) Load allocation when executing image processing using parallel processing
US9672063B2 (en) Scheduling, interpreting and rasterising tasks in a multi-threaded raster image processor
US9715356B2 (en) Method, apparatus and system for determining a merged intermediate representation of a page
JP2007156613A (ja) 描画制御装置、描画制御方法、記憶媒体およびプログラム
JPH09218861A (ja) スケジューラ
US9542127B2 (en) Image processing method and image processing apparatus
US20150178881A1 (en) Parallel rendering of region-based graphics representations
US20060050955A1 (en) Load allocation when executing image processing using parallel processing
JP2007125851A (ja) 印刷制御装置及び画像形成方法ならびに記憶媒体
JP2005259042A (ja) 画像処理方法および画像処理プログラム
CN109766168B (zh) 任务调度方法和装置、存储介质以及计算设备
JP2007087137A (ja) 印刷制御装置、画像形成方法および記憶媒体
JP2009285891A (ja) 画像形成装置及び画像形成システム
JP2001358942A (ja) 誤差拡散演算装置
JPH1131052A (ja) 文書処理システム
JP5245713B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP4478482B2 (ja) 画像処理方法の選択
JP5656000B2 (ja) 画像形成装置およびそのプログラム
JP2010244098A (ja) 画像処理装置、印刷システム、画像処理方法およびプログラム
JP5112386B2 (ja) 画像処理装置及び画像処理方法
JP6370202B2 (ja) 画像処理装置及び画像処理方法
US11205242B2 (en) Memory error recovery for complex page RIP
JP5471696B2 (ja) 画像処理装置、及び画像処理プログラム
JP2005260424A (ja) 画像処理を並列処理で実行する際の負荷の割り付け

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090710

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091013