JP6766598B2 - 画像処理装置、画像処理方法および制御プログラム - Google Patents

画像処理装置、画像処理方法および制御プログラム Download PDF

Info

Publication number
JP6766598B2
JP6766598B2 JP2016212902A JP2016212902A JP6766598B2 JP 6766598 B2 JP6766598 B2 JP 6766598B2 JP 2016212902 A JP2016212902 A JP 2016212902A JP 2016212902 A JP2016212902 A JP 2016212902A JP 6766598 B2 JP6766598 B2 JP 6766598B2
Authority
JP
Japan
Prior art keywords
data
processors
image
image data
processing
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.)
Active
Application number
JP2016212902A
Other languages
English (en)
Other versions
JP2018073162A5 (ja
JP2018073162A (ja
Inventor
荒崎 真一
真一 荒崎
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 JP2016212902A priority Critical patent/JP6766598B2/ja
Priority to US15/797,338 priority patent/US10242424B2/en
Publication of JP2018073162A publication Critical patent/JP2018073162A/ja
Publication of JP2018073162A5 publication Critical patent/JP2018073162A5/ja
Application granted granted Critical
Publication of JP6766598B2 publication Critical patent/JP6766598B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/124Parallel printing or parallel ripping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1857Generation of the printable image characterized by its workflow involving parallel processing in the same printing apparatus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1275Print workflow management, e.g. defining or changing a workflow, cross publishing
    • G06F3/1277Print workflow management, e.g. defining or changing a workflow, cross publishing using filter pipeline, e.g. outside the driver, adding traps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/52Parallel processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Image Processing (AREA)
  • Record Information Processing For Printing (AREA)

Description

この発明は、画像データを複数のプロセッサーにより処理する画像処理装置および画像処理方法に関するものである。
例えば適宜の画像編集アプリケーションで作成された画像データを印刷装置で処理可能なデータに変換する場合のように、画像を表す画像データに何らかのデータ処理を施して新たな画像データを作成することが必要な場合がある。このような場合、画像を構成する各画素に対して同一の処理が適用されることが多い。個々の画素を順番に処理したのでは膨大な演算量の繰り返し処理になるため、このような処理を効率よく行うための専用プロセッサーが用いられることがある。
例えばGPU(Graphics Processing Unit)と呼ばれるプロセッサーでは、演算処理を実行する演算コアが多数設けられてそれらが並列的に動作することで、大量のデータ処理を短時間で行うことが可能となっている。このようなGPUに上記した画像処理を担わせるように構成された画像処理装置が既に実用化されている(例えば、特許文献1参照)。
画像処理装置の処理能力をさらに高めるために、複数のGPUを搭載したものも提案されている。1つのコンピューター装置に複数のGPUが搭載される場合、それらの性能が互いに同一であるとは限らない。例えば、現在の一般的な構成のパーソナルコンピューター装置においては、装置本体には比較的小規模のGPUが予め組み込まれている。そして、必要に応じて、GPUを搭載する例えばカード型のモジュールを装置の拡張スロットに装着することで演算処理能力をさらに高めることができる。2以上のモジュールが装着されることもあり得る。この場合、複数のGPUが同じものとならないことがある。
特開2011−095807号公報
複数のプロセッサーが全て同一性能であれば、各プロセッサーを特に区別することなく使用することが可能である。一方、演算能力に差異がある場合、どのプロセッサーにどれだけの画像データを処理させるかによって処理に要する時間が異なってくる。しかしながら、このような場合に各プロセッサーをどのように動作させるかの具体的な手法については、これまで確立されるに至っていない。
この発明にかかるいくつかの態様は、上述の課題の少なくとも一部を解決するための構成を有しており、画像データを複数のプロセッサーにより処理する画像処理装置および画像処理方法において、必要な処理内容に応じてプロセッサーを適切に動作させることができるようにするものである。
本発明の一の態様は、画像データに対する演算処理をそれぞれが実行する複数のプロセッサーと、前記複数のプロセッサーそれぞれの演算処理速度に関する情報を保持する情報保持部と、前記複数のプロセッサーに対し、前記画像データのうちそれぞれの前記プロセッサーが処理すべき部分データを指定して演算処理を実行させる制御部とを備え、前記制御部は、前記情報に基づき、前記複数のプロセッサーそれぞれに処理させる前記部分データを決定する画像処理装置である。
また、本発明の他の態様は、複数のプロセッサーにより画像データを処理する画像処理方法であって、前記複数のプロセッサーそれぞれの演算処理速度に関する情報を予め求めておき、制御部が、前記画像データのうち前記複数のプロセッサー各々に処理させる部分データを前記情報に基づき決定し、前記制御部が、前記複数のプロセッサーそれぞれに対し、当該プロセッサーに対応する前記部分データを送信し、前記複数のプロセッサーの各々が、受信した前記部分データに基づく演算処理を実行する。
このような構成では、予め複数のプロセッサーそれぞれの演算処理速度が定められている。そして、画像データのうち各プロセッサーが処理すべき部分データは、演算処理速度を表す情報に基づいて決定される。このため、各プロセッサーへの画像データの配分を、それぞれの処理能力に応じて最適化することが可能である。その結果、複数のプロセッサーを必要な処理に応じて適切に動作させることができる。
この発明において、制御部は、例えば演算処理速度がより高いプロセッサーにより処理量の多い部分データを処理させるように構成されてもよい。このように、処理能力の高いプロセッサーにより多くの画像データを処理させることで、例えば処理速度の遅いプロセッサーによる処理が律速となって全体の処理時間が長くなることを回避し、複数のプロセッサーを全体として効率よく利用することが可能になる。
また、制御部は、例えば複数ページの画像に対応する画像データを処理する場合において、プロセッサーの各々にページ単位で分割した部分データを処理させるように構成されてもよい。特にプロセッサーが多数の演算器により画像データを並列処理するものである場合、まとまった量の画像データを一括してプロセッサーに取得させ処理させるのが演算資源の効率的利用という点で有利である。ページ単位で画像を分割することで、このようなプロセッサーの特性に応じたデータ分割を行うことが可能になる。
この場合において、制御部は、例えば複数ページのうち最初に出力すべきページに対応する部分データを、プロセッサーのうち最も演算処理速度の高いものに処理させるように構成されてもよい。このような構成は、最初の1ページに対応する画像データを最も早く生成することができるので、最初の出力を早期に得たい場合に好適である。
また例えば、処理済みの画像データを蓄積するバッファーを備える構成では、制御部は、バッファーに蓄積されたデータ量が所定値未満であるとき、1つの画像に対応する画像データを分割した部分データをプロセッサーの各々に処理させるように構成されてもよい。このような構成では、1つの画像が複数のプロセッサーの演算資源を用いて処理されるので、バッファーに蓄積すべき処理済みの画像データを早期に生成することができる。
この場合、制御部は、例えばバッファー内のデータ量が所定値を超えるとき、ページ単位で分割した部分データをプロセッサーの各々に処理させるように構成されてもよい。バッファー内にある程度の処理済みの画像データが蓄積されている場合には、直ちに次の画像データを生成することより全体の処理を効率よく行うことが優先されてもよい。このような場合には画像データをページ単位で分割することで、演算資源を効率的に利用して画像データ全体の処理を効率よく行うことが可能になる。
また例えば、情報保持部は、事前にプロセッサーの各々が所定の標準画像データを処理した結果に基づく情報を保持するように構成されてもよい。複数のプロセッサーが画像処理装置に実装された状態で互いに同じ標準画像データを処理した結果により各プロセッサーの演算処理速度が表されることで、プロセッサー間の相対的な演算処理速度の差異に応じた画像データの分割を行うことが可能になる。
また例えば、プロセッサーの少なくとも1つは、制御部を有するコンピューター装置に対し着脱可能な拡張ユニットに設けられてもよい。拡張ユニットに設けられるプロセッサーの種類は様々であり、1つの画像処理装置に複数種のプロセッサーが実装されることもあり得る。このような場合、当然にプロセッサー間の演算処理速度に違いが生じるため、上記のように演算処理速度に応じた画像データの分割が特に有効に機能することになる。
この場合、制御部は、拡張ユニットの装着状況に応じて情報保持部が保持する情報を書き換え可能に構成されてもよい。こうすることで、画像処理装置に実装されるプロセッサーの組み合わせが変化した場合でも、それらの演算処理速度に応じた態様での画像データの分割が可能になる。
また例えば、この画像処理装置は、複数のプロセッサーにより処理された画像データに基づき印刷を行う印刷部を備えるものであってもよい。このような構成によれば、印刷に供される画像データが複数のプロセッサーにより効率よく出力されるので、短いファーストプリントが得られる。また連続印刷時にデータ処理に起因する印刷の中断を回避することができる。
また、この発明のさらに別の態様は、画像データを処理するプロセッサーを複数備えたコンピューター装置の制御部に、前記複数のプロセッサーそれぞれの演算処理速度に関する情報を求める工程と、前記画像データのうち前記複数のプロセッサー各々に処理させる部分データを前記情報に基づき決定する工程と、前記複数のプロセッサーそれぞれに対し、当該プロセッサーに対応する前記部分データを送信する工程とを実行させる制御プログラムである。
画像データを処理するプロセッサーが予め複数設けられている、あるいは拡張ユニット等の形態でプロセッサーが追加されることで複数のプロセッサーを有することとなったコンピューター装置の制御部に上記制御プログラムを実行させることにより、当該コンピューター装置に本発明を実施させることが可能である。すなわち、各プロセッサーへの画像データの配分を、それぞれの処理能力に応じて最適化し、複数のプロセッサーを必要な処理に応じて適切に動作させることができる。
なお、上述した本発明の各態様の有する複数の構成要素はすべてが必須のものではなく、上述の課題の一部または全部を解決するため、あるいは、本明細書に記載された効果の一部または全部を達成するために、適宜、複数の構成要素の一部の構成要素について、その変更、削除、新たな他の構成要素との差し替え、限定内容の一部削除を行うことが可能である。また、上述の課題の一部または全部を解決するため、あるいは、本明細書に記載された効果の一部または全部を達成するために、上述した本発明の一形態に含まれる技術的特徴の一部または全部を上述した本発明の他の形態に含まれる技術的特徴の一部または全部と組み合わせて、本発明の独立した一形態とすることも可能である。
本発明を適用可能な印刷処理システムの構成例を示すブロック図。 画像処理PCおよびGPUカードの主要部を示す図。 この印刷処理システムにおける画像データの流れを模式的に示す図。 GPUの演算処理能力を評価するための処理を示すフローチャート。 この印刷処理システムにおける画像処理の概要を示すフローチャート。 画像データの分割の例を示す第1の図。 画像データの分割の例を示す第2の図。
図1は本発明を適用可能な印刷処理システムの構成例を示すブロック図である。印刷処理システム1は、ユーザー用パーソナルコンピューター(以下「ユーザーPC」と略称する)2、画像処理用パーソナルコンピューター(以下「画像処理PC」と略称する)3およびプリンター4を含み、それらが互いに通信可能に接続されている。この印刷処理システム1は、ユーザーがプリンター4を作動させて所望の画像を印刷させるためのシステムである。
具体的には、印刷を希望するユーザーは、ユーザーPC2により実行される適宜の画像編集アプリケーションを用いて、印刷したい画像を表す原画像データを作成する。原画像データは画像処理PC3に送られる。画像処理PC3に実装された画像処理アプリケーションがデータ処理を実行することで、原画像データが、プリンター4が利用可能な印刷データに変換される。画像処理PC3からプリンター4へ印刷データが送信され、プリンター4が印刷データに対応して印刷ジョブを実行することで、原画像データに対応する画像が印刷される。
ユーザーPC2は一般的なパーソナルコンピューターやワークステーションと同等のハードウェア構成を有するコンピューター装置である。画像処理PC3も同様のハードウェア構成を有するものである。具体的構成としては、CPU(Central Processing Unit)31、本体メモリー33およびインターフェース(IF)35などが設けられる。CPU31は、所定の制御プログラムを実行することで、画像処理PC3全体の動作を司る。インターフェース35は、外部装置との通信を行い、例えばユーザーPC2からの原画像データの受信や、プリンター4への印刷データの送信を担う。CPU31は、当該CPU31が実行する処理のうちの画像処理を担うGPU(Graphics Processing Unit)311をパッケージ内にまたはチップセットとして備えるものであってもよい。
また、本体メモリー33は、CPU31が各種プログラムを実行することにより生成されるデータを記憶保存する。本体メモリー33は一般的なパーソナルコンピューターにメインメモリーとして搭載されるものと同等のものであるが、後述するGPUカード5上のメモリーとの区別のために、ここでは特に「本体メモリー」と称している。後述するように、本体メモリー33の記憶領域のうち一部は、ユーザーPC2から与えられ最終的にプリンター4に送られる画像データを一時的に蓄積保存するバッファー331(図2)として使用される。バッファーとして機能する専用ハードウェアが別途設けられてもよい。
また、画像処理PC3は、CPU31が実行すべき制御プログラムやその実行に必要な処理パラメーターなどを記憶するストレージ36を備えている。ストレージ36は不揮発記憶装置であり、例えばハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)などで構成することができる。ストレージ36は、本体メモリー33と比較するとCPU31からのアクセス速度が遅いが大容量であり、大量のデータを長期的に記憶保存しておくことができる。
画像処理PC3に設けられた拡張スロット39には、少なくとも1つの(この例では2つの)GPUカード5が装着される。GPUカード5は、次に説明するように画像データ処理に好適なハードウェア構成を有するものであり、CPU31からの制御指令に応じて原画像データから印刷データを作成する際の各画素についての演算を並列処理することで、印刷データを短時間で作成する機能を担うものである。
図2は画像処理PCおよびGPUカードの主要部を示す図である。GPUカード5は、画像処理PC3の拡張スロット39に装着可能なコネクター59を有し、画像処理PC3に装着されることでその機能を拡張するカード型のモジュールである。なお、次に説明するGPUカード5内の各構成は、このように画像処理PC3に対し着脱可能なモジュールとして実装されるが、画像処理PC3に予め内蔵されたものであってもよい。また、GPU50を含むモジュールの形態は上記のようなカード型のものに限定されず任意である。
GPUカード5は、画像処理を並列処理によって行うハードウェア構成を有するプロセッサーであるGPU50と、GPU50が処理する画像データを記憶するためのメモリー55とを備えている。メモリー55については、画像処理PC3に設けられた本体メモリー33との区別のために、以下では「カード上メモリー」と称することとする。1つのGPUカード5に複数のGPU50が設けられてもよい。GPU50とカード上メモリー55とは直結されており、GPU50からカード上メモリー55への直接アクセスが可能である。
GPU50は、コネクター59を介してCPU31と通信可能に接続されるコントローラー51と、コントローラー51からの指示により演算処理を実行する演算部53とを備えている。コントローラー51は、CPU31から受け取った制御プログラムや各種の処理パラメーターに基づき、GPUカード5内の各部の動作を制御する。演算部53は、コントローラー51から与えられる共通の演算アルゴリズムと、カード上メモリー55から読み出された異なるデータセットとに基づく演算処理を並列的に実行する多数の演算コア(図示省略)を備えている。演算部53による演算結果はカード上メモリー55に書き出される。
製品化されているGPUには、1つの演算部53に例えば数百ないし数千の演算コアを含むものがある。各演算コアは、比較的単純な演算を高速で実行するのに対応したハードウェア構成を有する。このように、GPUカード5は、同一処理の繰り返しであるが演算量が膨大となるような演算を、多数の演算コアによる並列処理で高速に実行するのに適した構成を有している。このような構成は、同一の演算を全ての画素について実行することが求められる画像データの処理に特に好適である。
CPU31に内蔵されたGPU311も同様のハードウェア構成および処理機能を有するものである。一般的には、専用チップとして構成されたGPU50に比べるとGPU311のハードウェアは小規模である場合が多く、また演算処理能力も限定的であることが多い。このため、この実施形態においてGPU311は、例えば画像処理PC3の図示しない表示部に表示させる画像を処理する目的に主に使用されることが多い。ただし、必要に応じて、後述する画像データ処理の一部を担ってもよい。
図3はこの印刷処理システムにおける画像データの流れを模式的に示す図である。ユーザーPC2から印刷の対象となる画像を表す原画像データが与えられると、画像処理PC3のCPU31は、原画像データを本体メモリー33内に予め設けられたバッファー領域330のうちの未処理データ領域331に書き込む。与えられた原画像データは、印刷データに変換処理される前のデータであり、以下では「未処理データ」と称される。図3において、実線矢印は未処理データの流れを表している。
未処理データ領域に蓄積された未処理データは、適宜のタイミングでGPUカード5のカード上メモリー55に転送される。GPUカード5上のGPU50は、当該GPUカード5に設けられたカード上メモリー55に保存された未処理データに対し所定の画像処理を実行する。より具体的には、GPU50の演算部53は、CPU31からコントローラー51を介して指定されるアルゴリズムとカード上メモリー55に保存された未処理データとに基づく演算処理を実行する。演算処理によって生成される画像データを以下では「処理済みデータ」と称する。この場合の処理済みデータは、プリンター4による印刷処理に供される画像データ、すなわち印刷データである。
演算部53に設けられた多数の演算コアがそれぞれ演算処理により生成した処理済みデータはカード上メモリー55に一時的に保存される。カード上メモリー55に保存された全ての未処理データに対する処理が終了すると、本体メモリー33に設定されたバッファー領域330のうちの処理済みデータ領域332に転送される。図3において、破線矢印は処理済みデータの流れを表す。GPU50による処理が終わったとき、GPU50がカード上メモリー55から本体メモリー33に処理済みデータを書き込んでもよい。また、GPU50が処理を終えたことを画像処理PC3のCPU31に通知し、通知を受けた画像処理PC3のCPU31がカード上メモリー55から本体メモリー33に処理済みデータを書き込んでもよい。
バッファー上の未処理データは、複数のGPU50により処理される。具体的には、バッファー330の未処理データ領域331に蓄積された未処理データが複数ブロックに分割され、ブロックごとの未処理データがそれぞれ異なるGPUカード5に転送されてGPU50により処理される。図示を省略しているが、CPU31に内蔵されたGPU311が画像データ処理に供される場合も同様である。すなわち、バッファー330の未処理データ領域331に蓄積された画像データの一部がGPU311に送られて処理され、処理済みの画像データはバッファー330の処理済みデータ領域332に転送される。
各GPUで生成された処理済みデータはバッファー330の処理済みデータ領域332に蓄積される。プリンター4は、印刷準備が整うとバッファー330の処理済みデータ領域332に蓄積された処理済みデータを取得し、これを印刷データとして印刷ジョブを実行する。
このように、この印刷処理システム1においては、バッファー330に蓄積されている未処理データが、複数のGPUに対応する複数ブロックの部分データに分割され、部分データがそれぞれ異なるGPUに送られて各GPU間で並列的に処理される。各GPUがそれぞれ部分データを処理することで生成された処理済みデータは、バッファー330において統合される。
バッファー330の未処理データ領域331に蓄積された未処理データは、GPUカード5へ転送されるとバッファー330から消去される。したがって、未処理データ領域331には、印刷用の原画像データとしてユーザーPC2から与えられたデータのうちGPU50による処理が済んでいないもののみが蓄積される。また、バッファー330の処理済みデータ領域332に蓄積された処理済みデータは、プリンター4へ転送されるとバッファー330から消去される。したがって、処理済みデータ領域332には、GPU50により処理された処理済みデータのうちプリンター4にまだ転送されてないもののみが蓄積される。
上記のように複数のGPUを有する画像処理PC3においては、各GPUの演算処理能力は必ずしも同じではない。例えば、前記したように、画像処理専用のモジュールとして構成されるGPUカード5に搭載されているGPU50に比べると、画像処理PC3に内蔵されているGPU311の演算能力は限定的である。また、複数のGPUカード5の間においても、搭載されるGPU50の種類やクロック速度等の違いに起因して演算処理能力が異なる場合がある。
各GPUの演算処理能力が互いに同一であれば、処理すべき画像データをGPUの数に応じて等分し、各GPUに割り当てればよい。一方、GPUの演算処理能力が異なる場合には、画像データの割り当て量を同一とせず、それらの能力に応じてデータ処理の割り当てが決められることが好ましい。例えば1つの画像に対応する画像データを複数のGPUで等分に分割して処理する場合を考えると、演算処理能力の違いに起因して処理時間の最も遅いGPUが全体の処理速度を律速することになるからである。
以下に説明するように、この印刷処理システム1では、画像処理PC3に備えられた複数のGPU50,311について、それぞれの演算処理能力が予め評価されている。そして、画像データを処理する際には、各GPU50,311の演算処理能力に応じて、画像データの割り当てが決定される。
図4はGPUの演算処理能力を評価するための処理を示すフローチャートである。この処理は、CPU31が予めストレージ36に記憶された所定の制御プログラムを実行することにより実現される。この処理は、例えば画像処理PC3にGPUカード5が新たに装着されたとき、GPUカード5が交換されたときなど、評価の済んでいないGPUがあることがCPU31により認識されたときに実行される。これにより、ストレージ36に記憶されている情報は随時更新される。
最初に、評価の済んでいないGPUの1つが選択される(ステップS101)。選択されたGPUに対しCPU31から起動指示が与えられ(ステップS102)、当該GPUに対し、予め用意された評価用画像データが送信される(ステップS103)。評価用画像データは、適宜の画像内容を有する画像に対応する画像データである。テキスト、線画、写真画像など、各種の画像内容を含むものであることが好ましい。また、互いに異なる画像内容を有する画像に対応する複数種の画像データが評価用画像データとして用いられてもよい。
CPU31は、評価用画像データが与えられたGPUから処理終了の通知を受け取るまでの所要時間を計測する(ステップS104、S105)。その結果から、当該GPUの演算処理能力、具体的には評価用画像データの処理速度が求められる。求められた各GPUの処理速度に関する情報はストレージ36に記憶される(ステップS106)。他に未評価のGPUがある場合にはステップS101に戻って(ステップS107)、そのGPUについて上記と同様の処理が行われる。全てのGPUについて評価が済んでいれば処理は終了する。同一の評価用画像データを処理させることにより、画像処理PC3に実装された状態での各GPUの処理速度を相対的に評価することが可能である。
このように、画像処理PC3に備えられたGPU各々の処理速度が予め求められ、ストレージ36に記憶されている。実際の画像データ処理においては、次に説明するように、こうして求められた各GPUの処理速度に応じて、処理すべき画像データの分割が行われる。その目的とするところは、与えられた画像データに対応する印刷物が全て出力されるまでの時間をできるだけ短くするように、GPUの演算処理を最適化することである。以下の説明においては、2つのGPUカード5にそれぞれ設けられた2つのGPU50、画像処理PC3に予め設けられたGPU311の3つが画像データ処理に用いられるものとする。また、図4に示す処理により各GPUの処理速度が予め求められており、各GPUを処理速度の高い順に「GPU−A」、「GPU−B」、「GPU−C」と称することとする。
図5はこの印刷処理システムにおける画像処理の概要を示すフローチャートである。なお、画像データに対する演算処理は複数のGPUにより並列的に実行される。図5に示す処理は、各GPUに実行させる演算処理を最適化するためにCPU31が実行する処理である。プリンター4が印刷処理を実行可能な状態にあり、ユーザーPC2から画像データを処理すべき旨の制御指示が与えられると、CPU31は、画像処理PC3に実装されている各GPUの処理速度に関する情報をストレージ36から取得する(ステップS201)。また、バッファー330のうちの処理済みデータ領域332に残留している処理済みデータの量を取得する(ステップS202)。
処理済みデータ領域332内のデータ量が所定の閾値と比較される(ステップS203)。バッファー330に残る処理済みデータは、まだプリンター4による印刷に供されていない印刷データである。したがって、バッファー330内にある程度の処理済みデータが蓄積された状態では、新たな画像データ処理により印刷データが作成されたとしても直ちに印刷処理に供されるわけではない。言い換えれば、プリンター4が当面処理すべき印刷データが既にバッファー330にあるため、画像処理PC3では新たな印刷データが必要とされるまでに時間的余裕がある。
そのため、処理済みデータ領域332内のデータ量が閾値以上であれば(ステップS203においてYES)、画像データはページ単位の部分データに分割される(ステップS204)。すなわち、画像1ページ分の画像データは1つのGPUにより処理されるようにする。GPUでの演算処理においては、1つのGPUが一括して取得し処理する画像データを多くする方が処理効率がよいからである。
一方、処理済みデータ領域332内のデータ量が閾値より小さければ(ステップS203においてNO)、画像データはページ内で分割される(ステップS205)。すなわち、1ページの画像に相当する画像データが複数ブロックの部分データに分割され、各ブロックの部分データがそれぞれ異なるGPUにより処理される。印刷すべき画像が複数ページある場合には、特にそのうち最初に印刷されるべきページに対し、ページ内での画像分割が行われる。
画像1ページ分の画像データを1つのGPUに処理させる態様は、GPUにまとまった画像データを与えて演算資源を有効に活用することができるため、多くの画像データを継続的に処理する場合に適している。その一方、最初の1ページ分の印刷データを生成するまでに要する時間は、そのページの画像データを処理するGPUの処理速度によって決まる。これに対して、1ページ分の画像データを分割して複数GPUで並列処理する態様では、当該ページの処理により多くの演算資源が投入される。そのため、1つのGPUで処理する場合よりも早く当該ページの印刷データを生成することができる。
このことから、バッファー330内の処理済みデータ(すなわち印刷データ)の量が閾値より少ない場合には、少なくとも最初の1ページ分については複数のGPUにより並列処理されるようにする。こうすることで、当該ページに対応する印刷データを早期にバッファー330内に書き込むことができる。例えばバッファー330内に処理済みデータが全くない状態から処理が始まった場合を考えると、最初の1ページ分を複数のGPUで処理させることにより、ファーストプリントタイムを短くすることができる。
また、バッファー330内にいくらかの印刷データがあった場合でも、それらのデータがプリンター4により使用されてから新たな印刷データが供給されるまでの時間を最小限に抑えることができる。これにより、プリンター4が印刷データの生成を待つ待機状態となる時間を短縮することができる。
一方、バッファー330内に既に十分な量の印刷データがある場合には、直ちに印刷データを供給することよりも、残っている未処理データをできるだけ早く処理してバッファー330の未処理データ領域331を空けることが重要である。こうすることで、バッファー330が新たな未処理データを受け入れることが可能となるからである。このために、バッファー330内の処理済みデータ量が閾値以上であれば、より処理効率のよいページ単位での演算処理が選択される。各GPUでの処理効率が向上し、また複数ページ分の画像データが複数のGPUにより並列処理されることで、バッファー330内の未処理データを効率よく減らして処理済みデータを生成することができる。
上記のようにして分割された画像データ(部分データ)はそれぞれ対応するGPUに送信される(ステップS206)。各GPUは与えられた部分データを処理し、処理済みデータをバッファー330の処理済みデータ領域332に書き込む。CPU31は、バッファー330の未処理データ領域331に未処理データが残っていればステップS202に戻って上記の処理を繰り返す(ステップS207)。
このように、この印刷処理システム1では、バッファー330の処理済みデータ領域332に蓄積された処理済みデータの量に応じて、ページ単位での画像データ分割とページ内での画像データ分割とが選択的に実行される。そして、分割された部分データがそれぞれ異なるGPUで並列処理される。こうすることで、プリンター4に対し早期に印刷データを供給してファーストプリントタイムを短くすることができる。また、引き続き印刷が行われる場合においても複数のGPUが印刷データを順次生成してプリンター4に供給することで、データ処理が律速となって印刷処理の中断を招くことが回避される。
図6および図7は画像データの分割の例を示す図である。図6はページ単位での分割の例を示し、図7は1ページ分の画像データが分割される場合の例を示す。ページ単位で画像データを分割する場合、処理速度の高いGPUほどより多くの画像データが割り当てられる。この場合、各GPUに割り当てられる画像のページ数が処理速度に比例したものとされることが好ましい。
例えば、3つのGPUすなわちGPU−A、GPU−B、GPU−Cの処理速度の比が3:2:1であれば、図6に示すように、最も高速のGPU−Aに3ページ分の画像Im1〜Im3、次のGPU−Bに2ページ分の画像Im4,Im5、最も遅いGPU−Cに1ページ分の画像Im6が割り当てられる。こうすることで、各GPUが与えられた部分データの処理を完了するタイミングがほぼ揃うこととなる。なお、実際にはこのように速度比が整数比となるわけではないので、適宜に丸めた速度比に基づき割り当てが決められればよい。
また、図6に示すように、複数ページの印刷において印刷順序の最も高いものが、最も処理速度の高いGPU−Aによって処理されるようにする。このようにすると、最初の1ページ分について処理が終了し印刷開始が可能となるまでの時間が最も短くなるので、ファーストプリントタイムの短縮につながる。なお、少なくとも最初の1ページについては最も処理速度の高いGPUにより処理されることが好ましいが、第2ページ以降の画像データについては必ずしも図6に示すものに限定されない。例えばGPU−AとGPU−Bとの速度比が上記ほど大きくない場合には、GPU−Aで作成される2ページ目の印刷データよりもGPU−Bで作成される1ページ目の印刷データの方が早く出力される場合がある。このような場合には、印刷順序における第2ページの画像データがGPU−Bにより処理されるようにしてもよい。
さらに未処理の画像Im7,…に対応する画像データがある場合には、同様にして、最も処理速度の高いGPU−Aから順次それらの処理が割り当てられる。これにより、連続印刷時にも遅滞なく印刷データをプリンター4へ供給することが可能になる。
一方、1ページ分の画像データが分割される場合には、図7に示すように、当該ページの画像Imのうち各GPUに割り当てられる面積比が、各GPUの処理速度比に対応したものとされる。こうすることで、各GPUが与えられた部分データの処理を完了するタイミングがほぼ揃うこととなる。
この場合にも、画像Imの印刷方向における先頭部分が、最も処理速度の高いGPU−Aに割り当てられることが好ましい。プリンター4が例えばインクジェットプリンターのようにバンド単位で印刷を行うものである場合、ページプリンターとは異なり、1ページ分の画像データが揃っていなくても印刷を開始することが可能である。印刷方向における先頭部分の画像データを最も高速のGPUで処理させるようにすれば、このようなプリンターでは最も早いタイミングで印刷を開始することが可能となる。
以上説明したように、上記実施形態においては、印刷処理システム1、特に画像処理PC3が本発明の「画像処理装置」として機能している。また、GPU50、311が本発明の「プロセッサー」として機能し、CPU31が本発明の「制御部」として機能している。また、メモリー33の一部領域として設けられるバッファー330のうち、特に処理済みデータ領域332が本発明の「バッファー」として機能している。また、ストレージ36が本発明の「情報保持部」として機能している。
また、上記実施形態においては、GPUカード5が本発明の「拡張ユニット」に相当している。また、プリンター4が、本発明の「印刷部」として機能している。また、図4の処理で用いられる評価用画像データが、本発明の「標準画像データ」に相当している。
なお、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したものに対して種々の変更を加えることが可能である。例えば、上記実施形態における画像処理PC3は、予め1つのGPU311が内蔵され、さらに2枚のGPUカード5が増設されたものである。しかしながら、複数のGPUが実装された状態で本発明にいう「画像処理装置」として機能する装置であれば、各GPUがどのような態様で装置に実装されるかによらず本発明を好適に適用可能である。
また、上記実施形態では、画像処理PC3に実装されたGPUの全てが画像データ処理に使用されている。しかしながら、常に全てのGPUを作動させることを必要とするわけではない。例えば、与えられた画像データが一部のGPUのみで対応可能な量である場合には、他の一部のGPUには処理を行わせないようにしてもよい。すなわち、いずれかのGPUに割り当てられるデータ量がゼロである態様も、上記技術思想に含まれる。
例えば、バッファー330の処理済みデータ領域332に蓄積された印刷データが少ない状態から印刷データの作成処理が実行される場合には、ファーストプリントタイムを短くするためにできるだけ多くのGPUを処理に関与させることが有効である。一方、バッファー330に多くの印刷データが蓄積された状態では、必ずしもデータ生成を急ぐ必要はない。このような場合に一部のGPUを休止させることができる。
この場合、データ割当量がゼロとされるGPUは、他のGPUに比べ相対的に処理能力の低いものとなるのが妥当である。このような観点から、例えば、画像処理PC3本体に実装されたGPU311には、他のGPUでの処理負荷が過大となるような状況においてのみ印刷データの作成に関与させるようにする、との構成も有効である。
また、上記実施形態では個々のGPUに対しそれぞれ画像データの割り当てが定められる。しかしながら、いくつかのGPUを含むGPUグループへのデータ割り当てが、当該GPUグループの処理能力に応じて決定される態様でもよい。例えば、互いに同一性能を有する複数のGPUからなるグループは、それらの演算能力を合計した演算能力を有する1つの大きなGPUとみなすことができる。そして、画像データの割り当てにおいては、グループ内個々のGPUではなく、このグループ全体に対し処理すべき部分データが指定されるようにすることができる。
また、図6に例示する画像データの割り当てにおいては、最も演算処理速度の高いGPU−Aに対して最も多くの、かつ最初に印刷に供される画像データが与えられる。ここには、より演算処理速度の高いGPUにより多くの画像データを処理させるという技術思想と、最初に必要とされる画像データを最も演算処理速度の高いGPUに処理させるという技術思想との両方が盛り込まれている。しかしながら、これらの技術思想はそれぞれ単独で具現化されてもよい。例えば、1つのGPUに1ページずつ画像データを処理させる態様であって、第1ページをGPU−Aに、第2ページをGPU−Bに、というように、各ページの割り当て順序がGPUの処理能力に応じて決定されるものも、本発明の技術思想に含まれる。各GPUの能力差が上記例ほど顕著ではない場合に、このような手法は特に有効である。
また、上記実施形態においては、各GPUの演算処理能力(速度)の評価は、画像処理PC3が評価のための所定の処理を実行することにより決定される。これに代えて、例えばGPUの処理能力を指標するスコアが記録されたデータベースから情報を取得する態様や、例えば専任のオペレータが専用の評価ツールを用いて、画像処理装置に実装された各GPUの処理能力を評価する態様であってもよい。
また、上記実施形態では、画像処理PC3とプリンター4とが別体の装置として構成されているが、これらが一体のものであってもよい。すなわち、プリンターが上記した画像処理PCと同様の画像処理機能を内蔵したものであってもよい。この場合にも、必要に応じてGPUカードをプリンターに装着することで、プリンターの画像処理能力を増強することが可能である。
また例えば、ユーザーPC2と画像処理PCとが一体のものであってもよい。すなわち、上記した画像処理PCに画像編集アプリケーションをさらに実装し、画像処理PC上で原画像を作成することができるようにしてもよい。ユーザーPCが拡張スロットを有する汎用コンピューター装置である場合には、拡張スロットにGPUカードを増設することで、画像処理PCとしての機能を付加することが可能になる。この場合、当該コンピューター装置が実行する制御プログラムとして本発明を提供することが可能である。
また上記実施形態は、ユーザーPCで作成された原画像データをプリンターで利用可能な印刷データに変換する機能を有する印刷処理システムとして本発明の画像処理装置が実現されたものである。しかしながら、本発明の適用対象となるデータ処理は、このように印刷データを生成するものに限定されない。例えば、原画像データから、ディスプレイ等の表示装置による画像表示を行うための表示データを作成する処理にも、本発明を適用することが可能である。特に動画の表示においては高速のデータ処理が必要とされ、本発明はこのような用途にも好適に適用可能なものである。
1…印刷処理システム(画像処理装置)、 3…画像処理PC(画像処理装置)、 4…プリンター(印刷部)、 5…GPUカード(拡張ユニット)、 31…CPU(制御部)、 36…ストレージ(情報保持部)、 50,311…GPU(プロセッサー)、 332…(バッファー330の)処理済みデータ領域(バッファー)

Claims (10)

  1. 複数ページの画像データに対する演算処理をそれぞれが実行する複数のプロセッサーと、
    前記複数のプロセッサーのそれぞれの演算処理速度に関する情報を保持する情報保持部と、
    前記複数のプロセッサーのそれぞれに対し、前記画像データを分割した複数の部分データをそれぞれに指定して演算処理を実行させる制御部とを備え、
    前記制御部は、
    前記部分データを、前記画像データのページ単位で分割して生成し、
    前記情報に基づき、前記複数のプロセッサーのそれぞれに前記演算処理を実行させる部分データを割り当てるときに、前記複数ページのうち最初に出力するページに対応する部分データを、前記複数のプロセッサーのうち最も演算処理速度の高いプロセッサーに割り当てる画像処理装置。
  2. 前記制御部は、前記情報に基づき、前記複数のプロセッサーのうち前記演算処理速度がより高いプロセッサーに前記演算処理を実行させる前記部分データとして、より処理量の多い部分データを割り当てる請求項1に記載の画像処理装置。
  3. 複数ページの画像に対応する画像データに対する演算処理をそれぞれが実行する複数のプロセッサーと、
    前記複数のプロセッサーのそれぞれの演算処理速度に関する情報を保持する情報保持部と、
    前記複数のプロセッサーのそれぞれに対し、前記画像データを分割した複数の部分データをそれぞれに指定して演算処理を実行させる制御部と、
    前記演算処理が実行された演算処理済みの画像データを蓄積するバッファーと、を備え、
    前記制御部は、
    前記バッファーに蓄積されたデータ量が所定値未満であるとき、前記画像データのうち1ページ分の画像に対応する像データを分割して前記部分データを生成し、
    前記情報に基づき、前記複数のプロセッサーのそれぞれに前記演算処理を実行させる部分データを割り当てる画像処理装置。
  4. 前記制御部は、前記バッファーに蓄積された前記データ量が前記所定値を超えるとき、前記複数ページの画像に対応する前記画像データをページ単位で分割して前記部分データを生成する請求項に記載の画像処理装置。
  5. 前記情報は、前記複数のプロセッサーのそれぞれが所定の標準画像データを処理した結果に基づく情報である請求項1ないしのいずれか1項に記載の画像処理装置。
  6. 前記複数のプロセッサーの少なくとも1つは、前記制御部を有するコンピューター装置に対し着脱可能な拡張ユニットに設けられる請求項1ないしのいずれか1項に記載の画像処理装置。
  7. 前記制御部は、前記拡張ユニットの装着状況に応じて前記情報保持部が保持する前記情報を書き換える請求項に記載の画像処理装置。
  8. 前記複数のプロセッサーにより処理された前記画像データに基づき印刷を行う印刷部を備える請求項1ないしのいずれか1項に記載の画像処理装置。
  9. 複数のプロセッサーにより複数ページの画像データを処理する画像処理方法において、
    前記複数のプロセッサーのそれぞれの演算処理速度に関する情報を予め求めておき、
    前記画像データをページ単位で分割して複数の部分データを生成し、
    制御部が、前記画像データのうち前記複数のプロセッサーのぞれぞれに処理させる部分データを前記情報に基づき決定し、
    前記制御部が、前記複数のプロセッサーのそれぞれに対し、前記部分データを送信し、
    前記複数のプロセッサーのそれぞれが、受信した前記部分データに基づく演算処理を実行し、
    前記制御部は、前記画像データのうち前記複数のプロセッサーのぞれぞれに処理させる前記部分データを前記情報に基づき決定するときに、前記複数ページのうち最初に出力するページに対応する部分データを、前記複数のプロセッサーのうち最も演算処理速度の高いプロセッサーに割り当てる画像処理方法。
  10. 複数ページの画像データを処理するプロセッサーを複数備えたコンピューター装置の制御部に、
    前記複数のプロセッサーのそれぞれの演算処理速度に関する情報を求める工程と、
    前記画像データをページ単位で分割して複数の部分データを生成する工程と、
    前記画像データのうち前記複数のプロセッサーのそれぞれに処理させる部分データを前記情報に基づき割り当てる工程と、
    前記複数のプロセッサーのそれぞれに対し、前記部分データを送信する工程と、を備え、
    前記画像データのうち前記複数のプロセッサーのそれぞれに処理させる前記部分データを前記情報に基づき割り当てる工程で、前記複数ページのうち最初に出力するページに対応する部分データを、前記複数のプロセッサーのうち最も演算処理速度の高いプロセッサーに割り当てること、
    を実行させる制御プログラム。
JP2016212902A 2016-10-31 2016-10-31 画像処理装置、画像処理方法および制御プログラム Active JP6766598B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016212902A JP6766598B2 (ja) 2016-10-31 2016-10-31 画像処理装置、画像処理方法および制御プログラム
US15/797,338 US10242424B2 (en) 2016-10-31 2017-10-30 Image processing device and method for controlling multiple processors to process image data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016212902A JP6766598B2 (ja) 2016-10-31 2016-10-31 画像処理装置、画像処理方法および制御プログラム

Publications (3)

Publication Number Publication Date
JP2018073162A JP2018073162A (ja) 2018-05-10
JP2018073162A5 JP2018073162A5 (ja) 2019-09-26
JP6766598B2 true JP6766598B2 (ja) 2020-10-14

Family

ID=62020472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016212902A Active JP6766598B2 (ja) 2016-10-31 2016-10-31 画像処理装置、画像処理方法および制御プログラム

Country Status (2)

Country Link
US (1) US10242424B2 (ja)
JP (1) JP6766598B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7225628B2 (ja) * 2018-09-20 2023-02-21 富士フイルムビジネスイノベーション株式会社 情報処理装置、画像形成装置及びプログラム
CN111984417B (zh) * 2020-08-26 2023-01-24 展讯通信(天津)有限公司 用于移动终端的图像处理方法及装置、存储介质、终端
WO2023223408A1 (ja) * 2022-05-17 2023-11-23 三菱電機株式会社 画像処理支援装置、画像処理支援方法及び画像処理支援プログラム

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327050B1 (en) * 1999-04-23 2001-12-04 Electronics For Imaging, Inc. Printing method and apparatus having multiple raster image processors
JP2002116931A (ja) * 2000-10-06 2002-04-19 Fuji Xerox Co Ltd 記憶媒体制御装置およびこれを用いた画像形成装置、それら制御方法
JP4325123B2 (ja) * 2001-04-17 2009-09-02 コニカミノルタビジネステクノロジーズ株式会社 演算装置、その制御方法、制御プログラム、および制御プログラムを記録したコンピュータ読み取り可能な記録媒体
US7872767B2 (en) * 2003-04-04 2011-01-18 Xerox Corporation Parallel printing system
US6817791B2 (en) * 2003-04-04 2004-11-16 Xerox Corporation Idiom recognizing document splitter
US7936469B2 (en) * 2003-12-31 2011-05-03 Hewlett-Packard Development Company, L.P. System and method for distributed printer processing
JP2006163674A (ja) * 2004-12-06 2006-06-22 Seiko Epson Corp 画像処理装置、印刷装置および負荷分散方法
JP2006159738A (ja) * 2004-12-09 2006-06-22 Canon Inc 印刷制御装置およびそのデータ処理方法並びに記憶媒体。
US7577848B2 (en) * 2005-01-18 2009-08-18 Microsoft Corporation Systems and methods for validating executable file integrity using partial image hashes
US8077330B2 (en) * 2007-12-20 2011-12-13 Xerox Corporation Parallel RIP with preamble caching
US8233185B2 (en) * 2008-03-07 2012-07-31 Xerox Corporation Page parallel RIP and cache tuning in print/copy job environment utilizing page description languages
US20100073695A1 (en) * 2008-04-18 2010-03-25 Global Graphics Software Limited Methods and systems for increasing performance of server-based rendering
US20100202008A1 (en) * 2009-02-11 2010-08-12 Boris Aronshtam Comprehensive print job skeleton creation
US8593668B2 (en) * 2009-05-04 2013-11-26 Xerox Corporation Parallel printing system
JP5487882B2 (ja) 2009-10-27 2014-05-14 セイコーエプソン株式会社 画像処理装置および画像処理方法
JP2011126210A (ja) * 2009-12-18 2011-06-30 Canon Inc 印刷データ処理装置、印刷データ処理方法、およびプログラム
JP5471681B2 (ja) * 2010-03-23 2014-04-16 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
US8520226B2 (en) * 2010-04-15 2013-08-27 Xerox Corporation Robust recovery of a page parallel RIP system
JP2012006167A (ja) * 2010-06-22 2012-01-12 Konica Minolta Business Technologies Inc 画像処理装置、画像処理装置の制御方法、および画像処理装置の制御プログラム
US8780373B2 (en) * 2011-06-13 2014-07-15 Ricoh Company, Ltd. Serial raster image processors used for error correction in a parallel raster image processor environment
US8947743B2 (en) * 2011-07-05 2015-02-03 Ricoh Company, Ltd. Parallel rip processing for sheet images that include graphics defined by a job ticket
US8693016B2 (en) * 2011-07-20 2014-04-08 Ricoh Company, Ltd. Processing multi-page segments in a parallel RIP environment with a serial RIP
JP5906648B2 (ja) 2011-10-03 2016-04-20 セイコーエプソン株式会社 画像処理装置および画像処理方法
JP5895444B2 (ja) 2011-10-20 2016-03-30 セイコーエプソン株式会社 印刷装置
JP5899863B2 (ja) 2011-11-22 2016-04-06 セイコーエプソン株式会社 印刷装置および印刷装置の印刷方法
JP5899869B2 (ja) 2011-11-25 2016-04-06 株式会社リコー 画像形成装置
US8891115B2 (en) * 2012-02-03 2014-11-18 Apple Inc. Configuration of print data for print jobs based on document-processing capabilities of printers
AU2012201865A1 (en) * 2012-03-29 2013-10-17 Canon Kabushiki Kaisha GPU-based RIP architecture
US9052854B2 (en) * 2012-03-30 2015-06-09 Xerox Corporation Parallel printing system
US9001373B2 (en) * 2012-03-30 2015-04-07 Xerox Corporation Parallel printing system
JP2016091137A (ja) * 2014-10-31 2016-05-23 コニカミノルタ株式会社 画像形成装置、特定処理実行方法、およびコンピュータプログラム
JP6580944B2 (ja) * 2015-10-29 2019-09-25 理想科学工業株式会社 画像形成装置

Also Published As

Publication number Publication date
JP2018073162A (ja) 2018-05-10
US20180122040A1 (en) 2018-05-03
US10242424B2 (en) 2019-03-26

Similar Documents

Publication Publication Date Title
EP1921584B1 (en) Graphics processing apparatus, graphics library module, and graphics processing method
US8861014B2 (en) Systems and methods for optimized printer throughput in a multi-core environment
TWI633516B (zh) 曲面細分及幾何著色器的功率效率屬性處理
JP6766598B2 (ja) 画像処理装置、画像処理方法および制御プログラム
US8526049B2 (en) Systems and methods for display list management
JPH06202823A (ja) タイマを動的にタイムアウトさせる装置及び方法
JPH06168084A (ja) コストメトリクスを決定する装置及び方法
US11030095B2 (en) Virtual space memory bandwidth reduction
JP5655392B2 (ja) 印刷画像処理装置及びプログラム
JP6372262B2 (ja) 印刷装置、およびプログラム
JP2016001469A (ja) 画像処理方法および画像処理装置
JP5268427B2 (ja) 画像形成装置及び画像形成システム
KR100524076B1 (ko) 데이터 압축 및 복원 장치
JP2012135878A (ja) 画像処理装置、情報処理方法及びプログラム
JP2011257972A (ja) 画像処理装置、プログラム及び画像処理方法
JP2007323393A (ja) 画像処理装置及びプログラム
JP5183443B2 (ja) 画像形成装置
JP7367365B2 (ja) タスク実行管理装置、タスク実行管理方法、および、タスク実行管理プログラム
JP5750018B2 (ja) 画像処理システム、印刷システム、制御装置、画像処理方法およびプログラム
JP2020131547A (ja) 画像処理装置、画像形成装置、及びプログラム
US10121098B2 (en) Image forming apparatus having plurality of processing units for generating intermediate data, and method for controlling the image forming apparatus
KR102527829B1 (ko) Cpu와 gpu를 사용하는 행렬 전치기반 2d-fft 연산 장치 및 이를 이용한 데이터 연산 방법
WO2023148813A1 (ja) 生産計画装置、生産計画方法、及び生産計画プログラム
JP6078954B2 (ja) 画像処理装置
JP2016155280A (ja) 制御装置、制御方法およびプログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170714

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20171102

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20180910

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20190402

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190819

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200609

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200803

RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20200803

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: 20200818

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200831

R150 Certificate of patent or registration of utility model

Ref document number: 6766598

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150