JP2005259042A - 画像処理方法および画像処理プログラム - Google Patents
画像処理方法および画像処理プログラム Download PDFInfo
- 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
Links
Images
Abstract
【解決手段】 N個(Nは2以上の整数)のスレッドのそれぞれに含まれる命令を並列に実行可能なプロセッサが、画像処理を実行するための複数のスレッドを、そのスレッドの実行に用いる処理方法の違いによってN個のグループに分類する。そして、プロセッサが、N個のスレッド実行アーキテクチャにおいて並列に実行されているN個のスレッドのそれぞれが属するグループが互いに重複していない状態となっている時間が長くなるように、複数のスレッドをN個のスレッド実行アーキテクチャに割り当てて実行する。
【選択図】 図5
Description
(a)前記プロセッサが、前記画像処理を実行するための複数のスレッドを、そのスレッドの実行に用いる処理方法の違いによってN個のグループに分類する工程と、
(b)前記プロセッサが、N個の前記スレッド実行アーキテクチャにおいて並列に実行されているN個のスレッドのそれぞれが属するグループが互いに重複していない状態となっている時間が長くなるように、前記複数のスレッドをN個の前記スレッド実行アーキテクチャに割り当てて実行する工程と、を備える。
(i)前記プロセッサが、前記画像処理の最初に、前記N個のグループのそれぞれからスレッドを1つずつ選択し、選択した計N個のスレッドをN個の前記スレッド実行アーキテクチャにおいて並列に実行する工程と、
(ii)前記プロセッサが、N個の前記スレッド実行アーキテクチャの中のM番目(MはN以下の自然数)のスレッド実行アーキテクチャにおいてスレッドの実行が完了したときに、N個の前記スレッド実行アーキテクチャの内、前記M番目のスレッド実行アーキテクチャ以外の他のスレッド実行アーキテクチャにおいて実行されているスレッドの属するグループを判別する工程と、
(iii)前記プロセッサが、前記複数のスレッドの中の未実行のスレッドであって、前記他のスレッド実行アーキテクチャにおいて実行されているスレッドの属するグループとは異なるグループに属するスレッドを、前記M番目のスレッド実行アーキテクチャに割り当てて実行する工程と、を含むとしてもよい。
(i)前記プロセッサが、前記画像処理の最初に、前記N個のグループのそれぞれからスレッドを1つずつ選択し、選択した計N個のスレッドをN個の前記スレッド実行アーキテクチャにおいて並列に実行する工程と、
(ii)前記プロセッサが、N個の前記スレッド実行アーキテクチャの中のM番目(MはN以下の自然数)のスレッド実行アーキテクチャにおいてスレッドの実行が完了したときに、前記複数のスレッドの中の未実行のスレッドであって、前記M番目のスレッド実行アーキテクチャにおいて直前に実行されていたスレッドと同じグループに属するスレッドを、前記M番目のスレッド実行アーキテクチャに割り当てて実行する工程と、を含むとしてもよい。
1つの前記スレッド実行アーキテクチャは、1つの前記アーキテクチャステートと、N個の前記スレッド実行アーキテクチャで共有する1つの前記実行リソースとから構成されるとしてもよい。
前記工程(a)におけるN個のグループへの分類は、一方のグループには、ある画像の画像処理を行うために前記実行リソースにおいて演算を行う回数がより多い処理方法を用いるスレッドを分類し、他方のグループには、前記画像の画像処理を行うために前記実行リソースにおいて演算を行う回数がより少ない処理方法を用いるスレッドを分類することにより行うとしてもよい。
前記工程(a)におけるN個のグループへの分類は、一方のグループには、ある画像の画像処理を行うときのメモリアクセスの回数がより多い処理方法を用いるスレッドを分類し、他方のグループには、前記画像の画像処理を行うときのメモリアクセスの回数がより少ない処理方法を用いるスレッドを分類することにより行うとしてもよい。
前記Nの値は2であり、
前記工程(a)におけるN個のグループへの分類は、一方のグループには誤差拡散法を用いるスレッドを分類し、他方のグループにはディザ法を用いるスレッドを分類することにより行うとしてもよい。
(a)前記プロセッサが、前記画像処理を実行するための複数のスレッドを、そのスレッドの実行に用いる処理方法の違いによってN個のグループに分類する工程と、
(b)前記プロセッサが、前記複数のスレッドをN個の前記スレッド実行アーキテクチャへと割り当てるための順番を、同じグループに属するスレッド同士が連続する箇所数が最も少なくなるように設定する工程と、
(c)前記プロセッサが、前記工程(b)において設定した順番に従って、前記複数のスレッドを前記スレッド実行アーキテクチャに割り当てて実行する工程と、を備える。
A.第1実施例:
A−1.画像処理装置の構成:
A−2.ハーフトーン処理の高速化の基本的考え方:
A−3.ハーフトーン処理:
B.第2実施例:
C.変形例:
A−1.画像処理装置の構成:
図1は、本発明の第1実施例としての画像処理装置の構成を概略的に示した説明図である。第1実施例の画像処理装置としてのコンピュータ200は、CPU210と、ROMやRAM等の内部記憶装置220と、外部記憶装置250と、ディスプレイ等の表示部260と、キーボードやマウス等の操作部270と、インターフェイス部(I/F部)280とを備えている。
図3は、画像処理部によるハーフトーン処理の高速化を図るための基本的考え方を概念的に示す説明図である。上述したように、本実施例のCPU210は、2つのスレッド実行アーキテクチャを備え、2つのスレッドのそれぞれに含まれる命令を並列に実行することができる。また、本実施例では、画像処理部240によるハーフトーン処理において、インク色毎のハーフトーン処理を1つのスレッドの単位として設定している。また、本実施例では、ハーフトーン処理に用いる処理方法として、誤差拡散法およびディザ法の2種類の処理方法が用いられる。
図4は、第1実施例としての画像処理部によるハーフトーン処理の流れを示すフローチャートである。また、図5は、第1実施例としての画像処理部によるハーフトーン処理の概要を示す説明図である。
図6は、第2実施例としての画像処理部によるハーフトーン処理の流れを示すフローチャートである。また、図7は、第2実施例としての画像処理部によるハーフトーン処理の概要を示す説明図である。図4および図5に示した第1実施例との違いは、第2実施例では、ハーフトーン処理を実行する前に、各スレッドをスレッド実行アーキテクチャへと割り当てるための順番を設定し、その順番に従って各スレッドをスレッド実行アーキテクチャに割り当てて実行している点であり、その他の点は第1実施例と同じである。なお、各スレッドをスレッド実行アーキテクチャへと割り当てるための順番とは、処理の開始時、あるいは1つのスレッドの完了時のように、あるスレッド実行アーキテクチャがスレッドの実行が可能となったときに、そのスレッド実行アーキテクチャにおいて次に実行するスレッドを選択するための順番である。
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
上記実施例では、CPU210は1つの実行リソース212を共有する2つのアーキテクチャステート214を備えているが、CPU210は1つの実行リソース212を共有する3つ以上のアーキテクチャステート214を備えているとしてもよい。CPU210が1つの実行リソース212を共有する3つ以上のアーキテクチャステート214を備えているときも、上記実施例と同様に、異なる処理方法を用いるスレッドを並列に実行する時間を長くすることによって、ハーフトーン処理を高速に実行することができる。
上記実施例では、コンピュータ200は1つのCPU210を備えているが、コンピュータ200は2つ以上のCPUを備えているとしてもよい。このときは、1つのスレッド実行アーキテクチャは、1つのCPUによって構成され、コンピュータ200はCPUの数と同じ数のスレッド実行アーキテクチャを備えることが可能となる。このようにしても、画像処理装置としてのコンピュータ200は、複数のスレッドのそれぞれに含まれる命令を並列に実行することが可能となる。従って、このようにしても、上記実施例と同様に、異なる処理方法を用いるスレッドを並列に実行する時間を長くすることによって、ハーフトーン処理を高速に実行することができる。
上記実施例では、スレッド(インク色毎のハーフトーン処理)を、ディザ法と誤差拡散法との2つの異なる処理方法を用いるスレッドに分類する例を用いて説明したが、スレッドを、3つ以上の異なる処理方法を用いるスレッドに分類することも可能である。例えば、ディザ法を用いたハーフトーン処理のスレッドを、ディザの種類によって、さらに複数の異なる処理方法を用いるスレッドに分類することも可能である。また、誤差拡散法を用いたハーフトーン処理のスレッドを、誤差拡散マトリクスの種類によって、さらに複数の異なる処理方法を用いるスレッドに分類することも可能である。さらに、ハーフトーン処理にディザ法および誤差拡散法以外の他の処理方法を用い、他の処理方法を用いるスレッドとして分類することも可能である。
上記実施例では、1つのスレッドの単位をインク色毎のハーフトーン処理としているが、1つのスレッドの単位は任意に設定することができ、例えば、1つのスレッドの単位をインク色とインクドット径との組み合わせ毎のハーフトーン処理とすることも可能である。
上記第1実施例では、あるスレッド実行アーキテクチャにおいて実行されているスレッドが完了したときは、他のスレッド実行アーキテクチャにおいて実行されているスレッドの処理方法を確認し、それとは別の処理方法を用いるスレッドを次に実行することとしているが、あるスレッド実行アーキテクチャにおけるスレッドが完了したときは、完了したスレッドと同じ処理方法を用いるスレッドを次に実行するとすることも可能である。このようにしても、上記実施例と同様に、異なる処理方法を用いるスレッドを並列に実行する時間を長くすることによって、ハーフトーン処理を高速に実行することができる
上記実施例におけるハーフトーンモジュール242の構成や内容は、あくまで一例であり、他の構成や内容のハーフトーンモジュールを用いることも可能である。例えばハーフトーン処理の方法として、誤差拡散法やディザ法以外の処理方法を定めることも可能である。また、印刷に用いるインク色についても一例であり、他のインク色を用いることも可能である。
上記実施例では、画像処理の例として、画像処理部240としてのプリンタドライバによる印刷データの生成処理を用いて説明したが、画像処理は、例えば画像補正処理や画像合成処理といった他の画像処理であってもよい。
210...CPU
212...実行リソース
214...アーキテクチャステート
220...内部記憶装置
240...画像処理部
242...ハーフトーンモジュール
250...外部記憶装置
260...表示部
270...操作部
280...インターフェイス部
300...プリンタ
Claims (10)
- N個(Nは2以上の整数)のスレッド実行アーキテクチャを備え、N個のスレッドのそれぞれに含まれる命令を並列に実行可能なプロセッサを用いて画像処理を実行する方法であって、
(a)前記プロセッサが、前記画像処理を実行するための複数のスレッドを、そのスレッドの実行に用いる処理方法の違いによってN個のグループに分類する工程と、
(b)前記プロセッサが、N個の前記スレッド実行アーキテクチャにおいて並列に実行されているN個のスレッドのそれぞれが属するグループが互いに重複していない状態となっている時間が長くなるように、前記複数のスレッドをN個の前記スレッド実行アーキテクチャに割り当てて実行する工程と、を備える、画像処理方法。 - 請求項1記載の画像処理方法であって、
前記工程(b)は、
(i)前記プロセッサが、前記画像処理の最初に、前記N個のグループのそれぞれからスレッドを1つずつ選択し、選択した計N個のスレッドをN個の前記スレッド実行アーキテクチャにおいて並列に実行する工程と、
(ii)前記プロセッサが、N個の前記スレッド実行アーキテクチャの中のM番目(MはN以下の自然数)のスレッド実行アーキテクチャにおいてスレッドの実行が完了したときに、N個の前記スレッド実行アーキテクチャの内、前記M番目のスレッド実行アーキテクチャ以外の他のスレッド実行アーキテクチャにおいて実行されているスレッドの属するグループを判別する工程と、
(iii)前記プロセッサが、前記複数のスレッドの中の未実行のスレッドであって、前記他のスレッド実行アーキテクチャにおいて実行されているスレッドの属するグループとは異なるグループに属するスレッドを、前記M番目のスレッド実行アーキテクチャに割り当てて実行する工程と、を含む、画像処理方法。 - 請求項1記載の画像処理方法であって、
前記工程(b)は、
(i)前記プロセッサが、前記画像処理の最初に、前記N個のグループのそれぞれからスレッドを1つずつ選択し、選択した計N個のスレッドをN個の前記スレッド実行アーキテクチャにおいて並列に実行する工程と、
(ii)前記プロセッサが、N個の前記スレッド実行アーキテクチャの中のM番目(MはN以下の自然数)のスレッド実行アーキテクチャにおいてスレッドの実行が完了したときに、前記複数のスレッドの中の未実行のスレッドであって、前記M番目のスレッド実行アーキテクチャにおいて直前に実行されていたスレッドと同じグループに属するスレッドを、前記M番目のスレッド実行アーキテクチャに割り当てて実行する工程と、を含む、画像処理方法。 - 請求項1ないし請求項3のいずれかに記載の画像処理方法であって、
前記プロセッサは、1つの実行リソースに対して、レジスタ群を有するアーキテクチャステートをN個備えており、
1つの前記スレッド実行アーキテクチャは、1つの前記アーキテクチャステートと、N個の前記スレッド実行アーキテクチャで共有する1つの前記実行リソースとから構成される、画像処理方法。 - 請求項4記載の画像処理方法であって、
前記Nの値は2であり、
前記工程(a)におけるN個のグループへの分類は、一方のグループには、ある画像の画像処理を行うために前記実行リソースにおいて演算を行う回数がより多い処理方法を用いるスレッドを分類し、他方のグループには、前記画像の画像処理を行うために前記実行リソースにおいて演算を行う回数がより少ない処理方法を用いるスレッドを分類することにより行う、画像処理方法。 - 請求項4記載の画像処理方法であって、
前記Nの値は2であり、
前記工程(a)におけるN個のグループへの分類は、一方のグループには、ある画像の画像処理を行うときのメモリアクセスの回数がより多い処理方法を用いるスレッドを分類し、他方のグループには、前記画像の画像処理を行うときのメモリアクセスの回数がより少ない処理方法を用いるスレッドを分類することにより行う、画像処理方法。 - 請求項4記載の画像処理方法であって、
前記画像処理は、ハーフトーン処理であり、
前記Nの値は2であり、
前記工程(a)におけるN個のグループへの分類は、一方のグループには誤差拡散法を用いるスレッドを分類し、他方のグループにはディザ法を用いるスレッドを分類することにより行う、画像処理方法。 - N個(Nは2以上の整数)のスレッド実行アーキテクチャを備え、N個のスレッドのそれぞれに含まれる命令を並列に実行可能なプロセッサを用いて画像処理を実行する画像処理装置であって、
前記画像処理を実行するための複数のスレッドを、そのスレッドの実行に用いる処理方法の違いによってN個のグループに分類し、N個の前記スレッド実行アーキテクチャにおいて並列に実行されているN個のスレッドのそれぞれが属するグループが互いに重複していない状態となっている時間が長くなるように、前記複数のスレッドをN個の前記スレッド実行アーキテクチャに割り当てて実行する、画像処理装置。 - N個(Nは2以上の整数)のスレッド実行アーキテクチャを備え、N個のスレッドのそれぞれに含まれる命令を並列に実行可能なプロセッサを用いて画像処理を実行するための画像処理プログラムであって、
前記画像処理を実行するための複数のスレッドを、そのスレッドの実行に用いる処理方法の違いによってN個のグループに分類する機能と、
N個の前記スレッド実行アーキテクチャにおいて並列に実行されているN個のスレッドのそれぞれが属するグループが互いに重複していない状態となっている時間が長くなるように、前記複数のスレッドをN個の前記スレッド実行アーキテクチャに割り当てて実行する機能と、をコンピュータに実現させることを特徴とする、画像処理プログラム。 - N個(Nは2以上の整数)のスレッド実行アーキテクチャを備え、N個のスレッドのそれぞれに含まれる命令を並列に実行可能なプロセッサを用いて画像処理を実行する方法であって、
(a)前記プロセッサが、前記画像処理を実行するための複数のスレッドを、そのスレッドの実行に用いる処理方法の違いによってN個のグループに分類する工程と、
(b)前記プロセッサが、前記複数のスレッドをN個の前記スレッド実行アーキテクチャへと割り当てるための順番を、同じグループに属するスレッド同士が連続する箇所数が最も少なくなるように設定する工程と、
(c)前記プロセッサが、前記工程(b)において設定した順番に従って、前記複数のスレッドを前記スレッド実行アーキテクチャに割り当てて実行する工程と、を備える、画像処理方法。
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)
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 |
-
2004
- 2004-03-15 JP JP2004073035A patent/JP2005259042A/ja active Pending
Cited By (5)
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 |