JP6996884B2 - 画像処理装置、画像処理方法及びプログラム - Google Patents

画像処理装置、画像処理方法及びプログラム Download PDF

Info

Publication number
JP6996884B2
JP6996884B2 JP2017132920A JP2017132920A JP6996884B2 JP 6996884 B2 JP6996884 B2 JP 6996884B2 JP 2017132920 A JP2017132920 A JP 2017132920A JP 2017132920 A JP2017132920 A JP 2017132920A JP 6996884 B2 JP6996884 B2 JP 6996884B2
Authority
JP
Japan
Prior art keywords
data
compression
intermediate data
print
added
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
JP2017132920A
Other languages
English (en)
Other versions
JP2019014135A (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.)
Toshiba Corp
Toshiba TEC Corp
Original Assignee
Toshiba Corp
Toshiba TEC 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 Toshiba Corp, Toshiba TEC Corp filed Critical Toshiba Corp
Priority to JP2017132920A priority Critical patent/JP6996884B2/ja
Priority to US15/925,942 priority patent/US10209931B2/en
Publication of JP2019014135A publication Critical patent/JP2019014135A/ja
Application granted granted Critical
Publication of JP6996884B2 publication Critical patent/JP6996884B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • G06F3/1213Improving printing performance achieving reduced delay between job submission and print start at an intermediate node or at the final node
    • 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/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/1296Printer job scheduling or printer resource handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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
    • 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/1867Post-processing of the composed and rasterized print image
    • G06K15/1886Storage of the print image data or of parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • 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

Landscapes

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

Description

本発明の実施形態は、画像処理装置、画像処理方法及びプログラムに関する。
MFP(multifunction peripheral)などの画像形成装置は、PostScript又はPDF(Portable Document Format)などのページ記述言語(PDL(page description language))で記述されたデータを印刷用のラスターデータに変換するRIP(raster image processor)処理を行う場合がある。RIP処理は、解析処理と描画処理とに分けることができる。解析処理は、複数ページのデータを、複数の単一ページの中間データに分ける処理などを含む。そして、描画処理は、解析処理によって処理された中間データを印刷用のラスターデータに変換する処理などを含む。なお、印刷用のラスターデータを、以下「印刷用データ」というものとする。
画像形成装置は、RIP処理によって変換されたデータを、メモリ又はHDD(hard disk drive)などの記憶装置に保存する場合がある。しかしながら、印刷対象のデータが高解像度のカラー画像である場合などにおいては、MFPが備える記憶装置に保存するには、大きすぎる場合がある。このため、画像に圧縮処理を施してから保存することが行われている。圧縮処理は、ソフトウェアで行うと時間がかかるため、圧縮コアなどと呼ばれる専用のハードウェアが用いられる場合がある。
また、画像形成装置は、マルチコアCPU(central processing unit)、又はGPU(graphics processing unit)を内蔵したCPUなどの、複数のコアを備えるプロセッサーが採用される場合がある。そして、プロセッサーがRIPとして動作して、解析処理と描画処理とをマルチスレッドなどにより並列して処理するなどして、RIP処理の速度を向上させることが行われている。しかしながら、このようにプロセッサーによるRIPの処理速度が向上しても、圧縮コアによる圧縮処理の速度がボトルネックとなる場合がある。すなわち、描画処理を並列処理などによって次々と進めても、圧縮コアが空いていなければ、RIP処理が終わったデータに対して圧縮処理を開始するまでに処理待ちが発生する。この場合、プロセッサーの使用率が上がるだけでRIP処理と圧縮処理とを含む全体の処理についての速度はほとんど変化しないといったことが起こる。また、画像形成装置が備えるプロセッサーは、RIP処理以外にも様々な処理を行っているため、RIP処理によって使用率が上がりすぎると他の処理が重くなってしまう場合がある。
特開2004-38527号公報
本発明の実施形態が解決しようとする課題は、プロセッサーを効率的に使用可能な画像処理装置、画像処理方法及びプログラムを提供することである。
実施形態の画像処理装置は、印刷対象データを複数の印刷単位に分割された中間データに変換する解析処理を行う解析部と、複数の印刷単位に分割された中間データをそれぞれ印刷用データに変換する描画処理を並行して行う複数の描画処理部と、描画処理によって変換された前記印刷用データに対してデータ圧縮を行う圧縮部を備える。解析部は、前記印刷対象データから第1の中間データが変換される毎に、アイドル状態の前記圧縮部の数に零よりも大きい任意の設定値を足した数が、前記印刷用データに変換中の第2の中間データの数よりも大きいか否かを比較する。解析部は、前記足した数が前記第2の中間データの数よりも大きい場合、前記描画処理を実行していない描画処理部に対して前記第1の中間データの描画処理開始を指令する。解析部は、前記足した数が前記第2の中間データの数よりも大きくない場合、前記第1の中間データを描画待ちキューに追加し、前記足した数が前記第2の中間データの数よりも大きくなると、前記描画処理を実行していない描画処理部に対して前記描画待ちキューに追加された前記第1の中間データの描画処理開始を指令する。
実施形態に係る画像形成装置の要部回路構成を示すブロック図。 図1中のプロセッサーによる制御処理を示すフローチャート。 図1中のプロセッサーによる制御処理を示すフローチャート。 図1中の圧縮コアによる処理を示すフローチャート。 従来のRIP処理と圧縮処理の処理タイミングの一例を示す図。 RIP処理と圧縮処理の処理タイミングの一例を示す図。 実施形態のRIP処理と圧縮処理の処理タイミングの一例を示す図。 実施形態のRIP処理と圧縮処理の処理タイミングの一例を示す図。
以下、実施形態に係る画像形成装置について図面を用いて説明する。
図1は、実施形態に係る画像形成装置10の要部回路構成を示すブロック図である。画像形成装置10は、例えば、印刷、スキャン、コピー及びファクシミリなどの機能を備えるMFP又はコピー機である。あるいは、画像形成装置10は、印刷機能を備えるプリンターなどである。画像形成装置10は、プロセッサー11、ROM(read-only memory)12、RAM(random-access memory)13、補助記憶デバイス14、圧縮コア15、画像形成部16及びバス17を含む。画像形成装置10は、画像処理装置の一例である。
プロセッサー11は、画像形成装置10の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶されたシステムソフトウェア、アプリケーションソフトウェア又はファームウェアなどのプログラムに基づいて、画像形成装置10の各種の機能を実現するべく各部を制御する。プロセッサー11は、例えば、CPU(central processing unit)、MPU(micro processing unit)、SoC(system on a chip)、DSP(digital signal processor)又はGPU(graphics processing unit)などである。あるいは、プロセッサー11は、これらの組み合わせである。プロセッサー11は、好ましくは、マルチコアCPU、又はGPUとCPUとを備えるプロセッサーである。複数のコアを備えるプロセッサーは、マルチスレッド又はマルチプロセスなどの並行処理を並列処理することで高速に処理することが可能なためである。なお、並行処理とは、複数のスレッド又はプロセスなどを、時分割などによって切り替えながら同時的に処理すること、あるいは並列処理することなどである。また、並列処理とは、複数のスレッド又はプロセスなどを、複数のコアで同時に処理することなどである。
ROM12は、プロセッサー11を中枢とするコンピューターの主記憶装置に相当する。ROM12は、専らデータの読み出しに用いられる不揮発性メモリである。ROM12は、上記のプログラムを記憶する。また、ROM12は、プロセッサー11が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
RAM13は、プロセッサー11を中枢とするコンピューターの主記憶装置に相当する。RAM13は、データの読み書きに用いられるメモリである。RAM13は、プロセッサー11が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
また、RAM13などは、変数p、変数q及び変数rを記憶する。変数pは、プロセッサー11が描画処理を何スレッド実行しているかを示す。変数pの初期値は、0である。なお、プロセッサー11が描画処理を実行しているスレッド数を、以下「描画スレッド数」という。変数qは、アイドル状態の圧縮コア15の数を示す。変数qの初期値は、圧縮コア15の数である。なお、アイドル状態の圧縮コア15の数を、以下「空きコア数」という。変数rは、圧縮待ちキューの数(以下「圧縮待ち数」という。)を示す。変数rの初期値は、0である。なお、圧縮待ちキューは、圧縮処理を待つ印刷用データのリストである。したがって、圧縮待ち数は、圧縮処理を待つ印刷用データの数を示す。
さらに、RAM13などは、それぞれの圧縮コア15がアイドル状態であるかビジー状態であるかを示す圧縮コア情報を記憶する。なお、アイドル状態の圧縮コア15は、圧縮処理を行っていないために空いている。そして、ビジー状態の圧縮コア15は、圧縮処理を行っているために空いていない。圧縮コア情報は、圧縮コア15のそれぞれに割り当てられたユニークな識別番号であるコアID(identifier)と、アイドル状態であるかビジー状態であるかを示すパラメーターとを関連付けて記憶する。
補助記憶デバイス14は、プロセッサー11を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス14は、例えばEEPROM(electric erasable programmable read-only memory)、HDD(hard disk drive)又はSSD(solid state drive)などである。補助記憶デバイス14は、上記のプログラムを記憶する場合がある。また、補助記憶デバイス14は、プロセッサー11が各種の処理を行う上で使用するデータ、プロセッサー11での処理によって生成されたデータ又は各種の設定値などを保存する。なお、画像形成装置10は、補助記憶デバイス14に代えて、あるいは補助記憶デバイス14に加えて、メモリカード又はUSB(Universal Serial Bus)メモリなどの記憶媒体を挿入可能なインターフェースを備えていてもよい。
補助記憶デバイス14は、設定値kも記憶する。設定値kは、例えば画像形成装置10の設計者、管理者又はサービスマンなどによって設定される任意の値である。設定値kの値は、例えば、解析処理にかかる時間、描画処理にかかる時間、圧縮処理にかかる時間、圧縮コア数、プロセッサー11のコア数などに応じて設定される。設定値kの値は、0より大きい数であることが好ましい。設定値kが0であると、圧縮コア15が空いている状態が多くなり、全体の処理速度が遅くなる場合があるためである。設定値を0より大きくすることでこれを軽減することができる。設定値kの値は、より好ましくは1である。設定値kを大きくしすぎると、プロセッサー11の使用率が上がるばかりで全体の処理速度にほとんど変化がなくなるためである。設定値kについては後でさらに説明する。設定値kは、所定の数の一例である。
ROM12又は補助記憶デバイス14に記憶されるプログラムは、後述する制御処理に関して記述した制御プログラムを含む。一例として、画像形成装置10は、制御プログラムがROM12又は補助記憶デバイス14に記憶された状態で画像形成装置10の管理者などへと譲渡される。しかしながら、画像形成装置10は、後述する制御処理に関して記述した制御プログラムがROM12又は補助記憶デバイス14に記憶されない状態で当該管理者などに譲渡されても良い。また、画像形成装置10は、別の制御プログラムがROM12又は補助記憶デバイス14に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する制御処理に関して記述した制御プログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にROM12又は補助記憶デバイス14へと書き込まれても良い。このときの制御プログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークを介したダウンロードにより実現できる。
上記の制御プログラムは、プロセッサー11がRIP処理を行うためのRIPプログラムを含む。
ROM12又は補助記憶デバイス14は、未印刷の印刷ジョブの一覧であるジョブ一覧を記憶する。印刷ジョブには、印刷対象となる画像又は文書などのデータ(以下「印刷対象データ」という。)が含まれる。
プロセッサー11は、RIPプログラムを実行することで、RIP111として動作する。
RIP111は、PDLで記述されたデータを印刷用データに変換するRIP処理を行う。RIP111は、解析部112及び描画処理部113を含む。
解析部112は、PDLで記述された複数ページの印刷対象データを、ページごとのデータに分解する処理など含む解析処理を行う。印刷対象データは、解析部112によって解析処理が行われることで、中間データに変換される。中間データは、以下に示す描画処理を行うことができるようなデータである。なお、解析処理は、シーケンシャル処理である。これは、PDLで記述されたデータは、要素の記述順と見た目の順序とが一致しているとは限らず、また、複数ページに渡るような要素もあり、並行処理することが難しいためである。1ページは、1印刷単位の一例である。
描画処理部113は、中間データを、印刷用データに変換する描画処理を行う。印刷用データは、1つの印刷画素ごとにどのような色で印刷するかを示す情報などを含む。1つの描画処理部113が1回の描画処理で変換する中間データは、1印刷単位の印刷対象データの一例である。
圧縮コア15は、例えば、RIP処理が終わった印刷用データに対してデータ圧縮を行うハードウェアアクセラレーターである。なお、図1には2つの圧縮コア15が示されているが、圧縮コア15の数は2個に限定しない。すなわち、圧縮コア15の数は、1個であっても良いし、3個以上であっても良い。それぞれの圧縮コア15は、自身に割り当てられたコアIDを記憶している。圧縮コア15は、圧縮部の一例である。
画像形成部16は、紙等のシート状の記録媒体などに対してインクなどを用いて画像などを形成することで印刷を行う。なお、画像形成部16は、印刷用データなどに基づいて印刷を行う。画像形成部16は、例えば、レーザープリンター、インクジェットプリンター又はその他のプリンターを備える。
バス17は、コントロールバス、アドレスバス及びデータバスなどを含み、画像形成装置10の各部で授受される信号を伝送する。
以下、実施形態に係る画像形成装置10の動作を図2~図8に基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図2及び図3は、画像形成装置10のプロセッサー11による制御処理のフローチャートである。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶された制御プログラムに基づいてこの制御処理を実行する。プロセッサー11は、図2及ぶ図3の制御処理を実行することで、RIP111として動作する。プロセッサー11は、図2の制御処理を実行することで、解析部112として動作する。プロセッサー11は、図3の制御処理を実行することで、描画処理部113として動作する。あるいは、プロセッサー11は、図3中に示す描画処理を実行することで、描画処理部113として動作する。なお、プロセッサー11は、図3の制御処理又は図3中に示す描画処理を複数並列して実行することで、複数の描画処理部113として動作する。図5は、画像形成装置10の圧縮コア15によるハードウェア処理のフローチャートである。なお、プロセッサー11は、図3に示す制御処理を開始するとき、変数n及び変数F1をRAM13などに割り当てる。変数nは、印刷対象データの何ページ目を対象に解析処理を行うかを示す。変数F1は、描画監視処理を実行中であることを示すフラグである。変数F1の初期値は、Falseである。また、プロセッサー11は、図4に示す制御処理を開始するとき、変数F2をRAM13などに割り当てる。変数F2は、圧縮監視処理を実行中であることを示すフラグである。変数F2の初期値は、Falseである。
なお、特に説明が無い限り、プロセッサー11及び圧縮コア15は、Act(n)(nは、自然数。)の処理の後、Act(n+1)へと進むものとする。
プロセッサー11、RIP処理を行っていない印刷対象データがあるならば、図2に示す制御処理を開始する。印刷対象データは、例えば、印刷ジョブに含まれる。図2に示す制御処理は、解析処理を含む。解析処理は、Act1~Act12及びAct14を含む。
図2のAct1において画像形成装置10のプロセッサー11は、変数nの値を1にする。
Act2においてプロセッサー11は、印刷対象データのnページ目を中間データに変換する。
Act3においてプロセッサー11は、描画監視処理を実行中であるか否かを判定する。すなわち、プロセッサー11は、例えば、変数F1の値がTrueであるか否かを判定する。プロセッサー11は、描画監視処理を実行中でないならば、Act3においてNoと判定してAct4へと進む。
Act4においてプロセッサー11は、空きコア数を取得する。すなわち、プロセッサー11は、RAM13などから変数qの値を取得する。
Act5においてプロセッサー11は、描画スレッド数を取得する。すなわち、プロセッサー11は、RAM13などから変数pの値を取得する。
Act6においてプロセッサー11は、(空きコア数q+設定値k)>(準備中データ数)を満たすか否かを判定する。なお、準備中データ数は、圧縮処理を行う準備をしているデータの数である。すなわち、例えば、(準備中データ数)=(描画スレッド数p)である。プロセッサー11は、(空きコア数q+設定値k)>(準備中データ数)を満たすならば、Act6においてYesと判定してAct7へと進む。
Act7においてプロセッサー11は、描画処理を開始することを示すために、変数pの値を1増加させる。
Act8においてプロセッサー11は、nページ目の中間データに対する描画処理を開始させる。すなわち、プロセッサー11は、図3に示す制御処理を開始させる。このとき、プロセッサー11は、例えば、制御処理に対してnページ目の中間データを渡す。なお、プロセッサー11は、図3に示す制御処理を、図2に示す制御処理とは別スレッドで実行することで、図2に示す制御処理と並行又は並列して処理する。好ましくは、プロセッサー11は、並列処理する。また、プロセッサー11は、他に描画処理を実行中である場合、図3に示す制御処理を、既に実行中の描画処理とは別スレッドで実行することで、既に実行中の描画処理と並行又は並列して処理する。好ましくは、プロセッサー11は、並列処理する。以上より、プロセッサー11は、描画処理を最大で(圧縮コア15の数+設定値k)スレッド並行又は並列して処理する場合がある。プロセッサー11は、図2のAct8の処理の後、Act9へと進む。
Act9においてプロセッサー11は、印刷対象データの全ページについて解析処理を終えたか否かを判定する。すなわち、プロセッサー11は、例えば、印刷対象データのページ数がnより大きいか否かを判定する。プロセッサー11は、印刷対象データのページ数がnより大きいならば、Act9においてYesと判定してAct10へと進む。
Act10においてプロセッサー11は、解析処理の対象を次ページに変更するために、変数nの値を1増加させる。プロセッサー11は、Act10の処理の後、Act1へと戻る。対して、プロセッサー11は、印刷対象データのページ数がnより大きくないならば、Act9においてNoと判定して解析処理を終了する。かくして、プロセッサー11は、nの値が印刷対象データのページ数になるまでAct1~Act10を繰り返す。これにより、プロセッサー11は、印刷対象データの全ページについて解析処理を行う。
なお、プロセッサー11は、(空きコア数+k)>(準備中データ数)を満たさないならば、Act6においてNoと判定してAct11へと進む。
Act11においてプロセッサー11は、描画監視処理を実行中であることを示すために、変数F1の値をTrueにする。
Act12においてプロセッサー11は、nページ目の中間データを描画待ちキューに追加する。描画待ちキューは、描画処理を待つ中間データのリストである。プロセッサー11は、Act12の処理の後、新たなスレッドを1つ開始する。そして、プロセッサー11は、既存のスレッドにおいてAct9へと進む。さらに、プロセッサー11は、新たなスレッドにおいてAct13に示す描画監視処理を開始する。Act13の処理は、Act131~Act137の処理を含む。
Act131においてプロセッサー11は、Act4と同様にして空きコア数を取得する。
Act132においてプロセッサー11は、Act5と同様にして描画スレッド数を取得する。
Act133においてプロセッサー11は、Act6と同様に、(空きコア数q+設定値k)>(準備中データ数)を満たすか否かを判定する。プロセッサー11は、(空きコア数q+設定値k)>(準備中データ数)を満たさないならば、Act133においてNoと判定してAct131へと戻る。対して、プロセッサー11は、(空きコア数q+設定値k)>(準備中データ数)を満たすならば、Act133においてYesと判定してAct134へと進む。
Act134においてプロセッサー11は、描画処理を開始することを示すために、変数pの値を1増加させる。
Act135においてプロセッサー11は、描画待ちキューに含まれる中間データの中から最初に描画待ちキューに追加された中間データを選択する。そして、プロセッサー11は、Act8と同様にして、当該中間データに対する描画処理を開始させる。さらに、プロセッサー11は、当該中間データを描画待ちキューから削除する。
Act136においてプロセッサー11は、描画処理待ちの中間データがあるか否かを判定する。すなわち、プロセッサー11は、描画待ちキューに中間データがあるか否かを判定する。プロセッサー11は、描画処理待ちの中間データがあるならば、Act23においてYesと判定してAct131へと戻る。対して、プロセッサー11は、描画処理待ちの中間データがないならば、Act136においてNoと判定してAct137へと進む。
Act137においてプロセッサー11は、描画監視処理を実行中でないことを示すために、変数F1の値をFalseにする。プロセッサー11は、Act137の処理の後、描画監視処理を終了する。そして、プロセッサー11は、描画監視処理を行っていたスレッドを終了する。
なお、プロセッサー11は、Act3の処理時に描画監視処理を実行中であるならば、Act3においてYesと判定してAct14へと進む。
Act14においてプロセッサー11は、描画待ちキューにnページ目の中間データを追加する。プロセッサー11は、Act14の処理の後、Act9へと進む。
次に、図3に示す制御処理について説明する。図3に示す制御処理は、描画処理を含む。描画処理は、Act31~Act40及びAct42を含む。
図3のAct31においてプロセッサー11は、対象とする中間データから印刷用データを生成する。対象とする中間データは、例えば、解析処理又は描画監視処理から渡されたものである。
Act32においてプロセッサー11は、圧縮監視処理を実行中であるか否かを判定する。すなわち、プロセッサー11は、例えば、変数F2の値がTrueであるか否かを判定する。プロセッサー11は、圧縮監視処理を実行中でないならば、Act32においてNoと判定してAct33へと進む。
Act33においてプロセッサー11は、RAM13などから圧縮コア情報を取得する。
Act34においてプロセッサー11は、Act33で取得した圧縮コア情報を参照して、アイドル状態の圧縮コア15があるか否かを判定する。あるいは、プロセッサー11は、変数qの値が0より大きいか否かを判定しても良い。プロセッサー11は、アイドル状態の圧縮コア15があるならば、Act34においてYesと判定してAct35へと進む。
Act35においてプロセッサー11は、アイドル状態の圧縮コア15の数が減少することを示すために、変数qの値を1減少させる。
Act36においてプロセッサー11は、アイドル状態の圧縮コア15に対して、圧縮処理を行うように求める圧縮リクエスト送信する。当該圧縮リクエストは、Act31で変換した印刷用データを含む。
一方、図4のAct51において圧縮コア15は、圧縮リクエストが送信されてくるのを待ち受けている。圧縮コア15は、圧縮リクエストを受信したならば、Act51においてYesと判定してAct52へと進む。
Act52において圧縮コア15は、当該圧縮コア15がビジー状態となったことを示すために第1のコア通知をプロセッサー11に送信する。第1のコア通知は、第1のコア通知の送信元である圧縮コア15のコアIDを含む。第1のコア通知を受信したプロセッサー11は、圧縮コア情報を更新して、当該第1のコア通知に含まれるコアIDに関連付けられたパラメーターを、ビジー状態を示すように変更する。
Act53において圧縮コア15は、Act51で受信した圧縮リクエストに含まれる印刷用データに対してデータ圧縮を行う。当該データ圧縮により生成されたデータを、以下「圧縮データ」というものとする。
Act54において圧縮コア15は、Act53で生成した圧縮データを補助記憶デバイス14に送信する。圧縮データを受信した補助記憶デバイス14は、当該圧縮データを記憶する。
Act55において圧縮コア15は、当該圧縮コア15がアイドル状態となったことを示すために第2のコア通知をプロセッサー11に送信する。第2のコア通知は、第2のコア通知の送信元である圧縮コア15のコアIDを含む。第2のコア通知を受信したプロセッサー11は、圧縮コア情報を更新して、当該第2のコア通知に含まれるコアIDに関連付けられたパラメーターを、アイドル状態を示すように変更する。また、プロセッサー11は、アイドル状態の圧縮コア15の数が増加したことを示すために、変数qの値を1増加させる。
一方、プロセッサー11は、図3のAct36の処理の後、Act37へと進む。
Act37においてプロセッサー11は、描画処理を終えたことを示すために、変数pの値を1減少させる。プロセッサー11は、Act37の処理の後、描画処理を終了する。そして、プロセッサー11は、当該描画処理を行っていたスレッドを終了する。
なお、プロセッサー11は、アイドル状態の圧縮コア15がないならば、Act34においてNoと判定してAct38へと進む。
Act38においてプロセッサー11は、圧縮監視処理を実行中であることを示すために、変数F2の値をTrueにする。
Act39においてプロセッサー11は、圧縮待ち数が増加したことを示すために、変数rの値を1増加させる。
Act40においてプロセッサー11は、Act31で変換した印刷用データを圧縮待ちキューに追加する。プロセッサー11は、Act40の処理の後、新たなスレッドを1つ開始する。そして、プロセッサー11は、既存のスレッドにおいてAct37へと進む。さらに、プロセッサー11は、新たなスレッドにおいてAct41に示す描画監視処理を開始する。Act41の処理は、Act411~Act416の処理を含む。
Act411においてプロセッサー11は、Act33と同様にして圧縮コア情報を取得する。
Act412においてプロセッサー11は、Act411で取得した圧縮コア情報を参照して、アイドル状態の圧縮コア15があるか否かを判定する。あるいは、プロセッサー11は、変数qの値が0より大きいか否かを判定しても良い。プロセッサー11は、アイドル状態の圧縮コア15がないならば、Act412においてNoと判定してAct411へと戻る。対して、プロセッサー11は、アイドル状態の圧縮コア15があるならば、Act412においてYesと判定してAct413へと進む。
Act413においてプロセッサー11は、アイドル状態の圧縮コア15の数が減少することを示すために、変数qの値を1減少させる。さらに、プロセッサー11は、圧縮待ち数が減少することを示すために、変数rの値を1減少させる。
Act414においてプロセッサー11は、アイドル状態の圧縮コア15に対して、圧縮処理を行うように求める圧縮リクエストを送信する。当該圧縮リクエストは、圧縮待ちキューに含まれる印刷用データの中で最初に圧縮待ちキューに追加された印刷用データを含む。さらに、プロセッサー11は、当該印刷用データを圧縮待ちキューから削除する。
Act415においてプロセッサー11は、圧縮処理待ちの印刷用データがあるか否かを判定する。すなわち、プロセッサー11は、圧縮待ちキューに印刷用データがあるか否かを判定する。プロセッサー11は、圧縮処理待ちの印刷用データがあるならば、Act415においてYesと判定してAct411へと戻る。対して、プロセッサー11は、圧縮処理待ちの印刷用データがないならば、Act415においてNoと判定してAct416へと進む。
Act416においてプロセッサー11は、圧縮監視処理を実行中でないことを示すために、変数F2の値をFalseにする。プロセッサー11は、Act416の処理の後、圧縮監視処理を終了する。そして、プロセッサー11は、圧縮監視処理を行っていたスレッドを終了する。
なお、プロセッサー11は、Act32の処理時に圧縮監視処理を実行中であるならば、Act32においてYesと判定してAct42へと進む。
Act42においてプロセッサー11は、Act31で変換した印刷用データを圧縮待ちキューに追加する。プロセッサー11は、Act42の処理の後、Act37へと進む。
プロセッサー11は、印刷ジョブに含まれる印刷用データを圧縮データに変換し終えたならば、例えば、当該印刷ジョブに基づき、当該圧縮データを印刷する。すなわち、プロセッサー11は、補助記憶デバイス14に記憶された当該圧縮データを印刷するよう画像形成部16を制御する。
実施形態の画像形成装置10は、プロセッサー11を効率的に使用可能である。以下に理由を述べる。
従来の画像形成装置は、例えば、図5に示すようにRIP処理及び圧縮処理を行う。図5は、従来のRIP処理と圧縮処理の処理タイミングの一例を示す図である。図5の例では、プロセッサーは、解析処理をスレッド1で行い、描画処理をスレッド2で行う。また、図5の例では、画像形成装置は、1個の圧縮コアを備える。
解析部は、まず、1ページ目を対象とする解析処理を行う。そして、解析部は、1ページ目を対象とする解析処理が完了すると、描画処理部に対して1ページ目を対象とする描画処理の開始を要求する。そして、解析部は引き続き2ページ目を対象とする解析処理を開始する。
一方、描画処理部は、1ページ目を対象とする描画処理の開始の要求に応じて、1ページ目を対象とする描画処理を開始する。そして、描画処理部は、1ページ目を対象とする描画処理が完了すると、画像データを圧縮するよう圧縮コアに対して要求する。
なお、一般的に、描画処理は、データ解析よりも時間がかかる。したがって、描画処理部がスレッド2で1ページ目を対象とする描画処理を行っている間に、解析部は、2ページ目を対象とする解析処理を完了することになる。さらに、解析部は、2ページ目を対象とする描画処理の開始を描画処理部に要求する。しかしながら、このとき、描画処理部は、1ページ目を対象とする描画処理の最中である。このため、2ページ目を対象とする描画処理をすぐに開始することはできない。同様に、3ページ目以降でも描画処理をすぐに開始することができず、処理待ちが発生する。そして、図5に示すように、後のページになるほど描画処理待ちの時間も長くなる場合がある。また、図5の例では圧縮処理よりも描画処理の方が時間がかかる。したがって、圧縮コアは、圧縮処理を行った後、描画処理部が次のページの描画処理を終えるまで使用されていない状態となる。
次に、複数の描画処理をマルチスレッドにより並列処理する例を図6に示す。図6は、RIP処理と圧縮処理の処理タイミングの一例を示す図である。図6の例では、図5の例とは異なり、画像形成装置は、描画処理をスレッド2とスレッド3の2つのスレッドでそれぞれ行うことが可能である。図6の例では、解析部は、1ページ分の解析処理を完了するごとに、スレッド2とスレッド3のうちの空いている方に対して描画処理の開始を要求する。これにより、複数のスレッドでそれぞれ描画処理を行うことで、図5の例に比べて描画処理待ちが発生し難くなる。図6の例では、描画処理待ちは発生していない。また、圧縮コアは、圧縮処理を行った後、図5に示す例のように使用されていない状態となっていない。しかしながら、図6の例では、描画処理部が2ページ目を対象とする描画処理を完了したときに、圧縮コアは、まだ1ページ目の圧縮処理を完了していない。このため、圧縮コアは、描画処理部が2ページ目を対象とする描画処理を完了してもすぐには2ページ目の圧縮処理を行うことができない。同様に、3ページ目以降でも、圧縮コアは、描画処理完了後すぐには圧縮処理を行うことができない。そして、図6に示すように、後のページになるほど圧縮処理待ちの時間が長くなる場合がある。このように、プロセッサーがRIP処理を早く進めても、圧縮コアが空いていないことによる圧縮処理待ちが発生すると、全体の処理速度が向上しない。そればかりか、プロセッサーの使用率が不必要に上がることとなってしまう。
実施形態の画像形成装置10におけるRIP処理と圧縮処理の処理タイミングの一例を示す図7に示す。図7の例では、画像形成装置10は、図5及び図6の例と同様に1個の圧縮コア15を備える。なお、図7の例では、設定値k=1である。
図7の例では、3ページ目の解析処理が完了したときには、1ページ目の圧縮処理が圧縮コア15によって実行中であり、2ページ目を対象とする描画処理が描画処理部によって実行中である。そして、圧縮コア15は、1ページ目の圧縮処理を完了した後は2ページ目の圧縮処理を開始する。このため、この時点で3ページ目を対象とする描画処理を行っても全体の処理速度向上には寄与せず、プロセッサーの使用率を上げるだけであると考えられる。そこで、実施形態の画像形成装置10は、1ページ目の圧縮処理が完了するまでは、3ページ目を対象とする描画処理を開始しない。このようにすることで、図7の例では、プロセッサーの使用率が図6の例よりも低くなる。しかしながら、図7の例における全体の処理速度は、図6と同等である。したがって、実施形態の画像形成装置10は、プロセッサー11を効率的に使用しているといえる。
また、実施形態の画像形成装置10における別の一例を図8に示す。図8は、実施形態のRIP処理と圧縮処理の処理タイミングの一例を示す図である。図8の例では、図5~図7の例と異なり、画像形成装置10は、2つの圧縮コア15を備える。図8の例でも、図7の例と同様に3ページ目の解析処理が完了したときには、1ページ目の圧縮処理が1番目の圧縮コア15によって実行中であり、2ページ目を対象とする描画処理が描画処理部によって実行中である。しかしながら、図8の例では、圧縮コア15が2つあるため、1番目の圧縮コア15が1ページ目の圧縮処理を完了するのを待たずに、2つ目の圧縮コア15を用いて2ページ目の圧縮処理を開始することが可能である。このため、図8の例では、図7の例と異なり、3ページ目を対象とする描画処理を開始することで、全体の処理速度の向上に寄与することが可能である。したがって、図8の例では、図7の例とは異なり、描画処理部は、3ページ目を対象とする描画処理をすぐに開始する。また、図8の例では、圧縮コア15が複数あるため、圧縮処理待ちが発生していない。したがって、実施形態の画像形成装置10は、プロセッサー11を効率的に使用しているといえる。
以上のように、実施形態の画像形成装置10は、圧縮コア15の数に応じて描画処理の開始タイミングが変わる。すなわち、実施形態の画像形成装置10は、圧縮コア15の数に応じてプロセッサー11を効率的に使用することができるといえる。
また、実施形態の画像形成装置10は、準備中データ数が、アイドル状態の圧縮コア15の数よりもk以上多い場合、新たに描画処理を開始しない。準備中データ数がアイドル状態の圧縮コア15の数よりもk以上多い状態では、準備中データがこれより少ない場合に描画処理を行う場合に比べて全体の処理速度向上に寄与しないと考えられる。したがって、このような状態のときに描画処理を開始しないことで、実施形態の画像形成装置10は、プロセッサー11の使用率が不必要に上がることを防ぐことができる。
上記の実施形態は以下のような変形も可能である。
上記の実施形態では、(準備中データ数)=(描画スレッド数p)である。しかしながら(準備中データ数)=(描画スレッド数p+圧縮待ち数r)であっても良い。準備中データ数が圧縮待ち数を含むことで、圧縮処理に時間がかかる場合に圧縮待ち数が増えることを防ぐことができる。また、圧縮待ち数に応じて描画スレッド数を減らすことになるので、全体の処理速度向上に寄与しないようなプロセッサー11の使用率の増大を防ぐことができる場合がある。
圧縮コア15は、Act53の処理の後、圧縮データを生成したことをプロセッサー11に通知しても良い。そして、圧縮コア15は、プロセッサー11の制御のもと、当該圧縮データを補助記憶デバイスに送信しても良い。
上記の実施形態では、プロセッサー11は、解析処理と描画監視処理を別スレッドで行うプログラムを実行する。しかしながら、プロセッサー11は、このプログラムに代えて、解析処理と描画監視処理とを同一のスレッドで処理するようなプログラムを実行しても良い。
上記の実施形態では、プロセッサー11は、描画処理と圧縮監視処理を別スレッドで行うプログラムを実行する。しかしながら、プロセッサー11は、このプログラムに代えて、描画処理と圧縮監視処理とを同一のスレッドで処理するようなプログラムを実行しても良い。
プロセッサー11は、上記の実施形態においてマルチスレッドで行っている処理をマルチプロセスで行っても良い。
印刷対象データがPDLでない場合であっても、本実施形態を適応することができる。すなわち、PDLでない印刷対象データを印刷用データに変換する処理と、当該印刷用データを圧縮する圧縮処理とに対して本実施形態を適応することができる。
画像形成装置10は、複数のページを1枚の記録媒体に印刷するなどのために、複数のページを含む記録媒体1枚分のデータに対して描画処理を行っても良い。この場合、記録媒体1枚分のデータが1印刷単位の一例である。
画像形成装置10は、1ページを複数枚の記録媒体に分割して印刷するなどのために、1ページを複数に分割したうちの記録媒体1枚分のデータに対して描画処理を行っても良い。この場合、記録媒体1枚分のデータが1印刷単位の一例である。
本実施形態の画像形成装置は、圧縮コア15を備えていなくても良い。そして、プロセッサー11が、圧縮コア15に代えて、圧縮処理と同様の処理を、解析処理及び描画処理とは別スレッドで実行するなどして並行又は並列して処理しても良い。この場合、圧縮処理と同様の処理を行うことでプロセッサー11は、圧縮部として動作する。
本実施形態の画像形成装置は、プロセッサーが圧縮コアを内蔵していても良い。
本実施形態の画像形成装置は、ハードウェアマルチスレッディングにより複数のスレッドを並列処理しても良い。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]複数の印刷単位に分割された印刷対象データを印刷用データに変換する描画処理を行う複数の描画処理部と、前記描画処理によって変換された前記印刷用データに対してデータ圧縮を行う圧縮部と、を備え、前記描画処理部は、アイドル状態の前記圧縮部の数に所定の数を足した数が、前記印刷用データに変換中の前記印刷対象データの印刷単位数よりも大きい場合、次の前記描画処理を開始する、画像処理装置。
[2]前記圧縮部を複数備え、前記複数の圧縮部によって、複数の前記データ圧縮を並列処理する、付記[1]に記載の画像処理装置。
[3]前記描画処理部は、アイドル状態の前記圧縮部の数に前記所定の数を足した数が、前記印刷用データに変換中の前記印刷対象データの印刷単位数と圧縮処理を行っていない前記印刷用データの印刷単位数とを足した数よりも大きい場合、新たに前記描画処理を開始する、付記[1]又は[2]に記載の画像処理装置。
[4]印刷対象データを印刷用データに変換する描画処理を複数並行して行い、前記描画処理によって変換された前記印刷用データをデータ圧縮し、圧縮処理準備中のデータの数からアイドル状態の圧縮部の数を引いた数が所定の数よりも小さい場合に、新たに描画処理を開始する、画像処理方法。
[5]印刷用データに対してデータ圧縮を行う圧縮部を備えた装置が備えるコンピューターを、複数の印刷単位に分割された印刷対象データを前記印刷用データに変換する描画処理を行う複数の描画処理部として機能させ、前記描画処理部は、アイドル状態の前記圧縮部の数に所定の数を足した数が、前記印刷用データに変換中の前記印刷対象データの印刷単位数よりも大きい場合、次の前記描画処理を開始する、プログラム。
10……画像形成装置、11……プロセッサー、12……ROM、13……RAM、14……補助記憶デバイス、15……圧縮コア、16……画像形成部、17……バス、111……RIP、112……解析部、113……描画処理部

Claims (8)

  1. 印刷対象データを複数の印刷単位に分割された中間データに変換する解析処理を行う解析部と、
    前記複数の印刷単位に分割された中間データをそれぞれ印刷用データに変換する描画処理を並行して行う複数の描画処理部と、
    前記描画処理によって変換された前記印刷用データに対してデータ圧縮を行う圧縮部と、
    を備え、
    前記解析部は、
    前記印刷対象データから第1の中間データが変換される毎に、アイドル状態の前記圧縮部の数に零よりも大きい任意の設定値を足した数が、前記印刷用データに変換中の第2の中間データの数よりも大きいか否かを比較し、
    前記足した数が前記第2の中間データの数よりも大きい場合、前記描画処理を実行していない描画処理部に対して前記第1の中間データの描画処理開始を指令し、
    前記足した数が前記第2の中間データの数よりも大きくない場合、前記第1の中間データを描画待ちキューに追加し、前記足した数が前記第2の中間データの数よりも大きくなると、前記描画処理を実行していない描画処理部に対して前記描画待ちキューに追加された前記第1の中間データの描画処理開始を指令する、画像処理装置。
  2. 前記描画処理部は、
    前記中間データを印刷用データに変換する毎に、アイドル状態の前記圧縮部があるか否かを判定し、
    前記アイドル状態の前記圧縮部がある場合、前記中間データから変換された前記印刷用データの圧縮処理を行うように前記圧縮部に指令し、
    前記アイドル状態の前記圧縮部がない場合、前記中間データから変換された前記印刷用データを圧縮待ちキューに追加し、前記圧縮部がアイドル状態になると、前記圧縮待ちキューに追加した前記印刷用データの圧縮処理を行うように前記圧縮部に指令する、請求項1記載の画像処理装置。
  3. 前記解析部は、
    前記印刷対象データから第1の中間データが変換される毎に、アイドル状態の前記圧縮部の数に前記設定値を足した数が、前記印刷用データに変換中の第2の中間データの数に前記圧縮待ちキューに追加されている前記印刷用データの数を足した数よりも大きいか否かを比較し、
    前記アイドル状態の前記圧縮部の数に前記設定値を足した数が前記第2の中間データの数に前記圧縮待ちキューに追加されている前記印刷用データの数を足した数よりも大きい場合、前記描画処理を実行していない描画処理部に対して前記第1の中間データの描画処理開始を指令し、
    前記アイドル状態の前記圧縮部の数に前記設定値を足した数が前記第2の中間データの数に前記圧縮待ちキューに追加されている前記印刷用データの数を足した数よりも大きくない場合、前記第1の中間データを描画待ちキューに追加し、前記アイドル状態の前記圧縮部の数に前記設定値を足した数が前記第2の中間データの数に前記圧縮待ちキューに追加されている前記印刷用データの数を足した数よりも大きくなると、前記描画処理を実行していない描画処理部に対して前記描画待ちキューに追加された前記第1の中間データの描画処理開始を指令する、請求項2記載の画像処理装置。
  4. 前記圧縮部を複数備え、
    前記複数の圧縮部によって、複数の前記印刷用データのデータ圧縮を並列処理する、請求項1乃至3のうちいずれか一に記載の画像処理装置。
  5. 印刷対象データを複数の印刷単位に分割された中間データに変換する解析処理を行う解析部と、前記複数の印刷単位に分割された中間データをそれぞれ印刷用データに変換する描画処理を並列して行う複数の描画処理部と、前記描画処理によって変換された前記印刷用データに対してデータ圧縮を行う圧縮部と、を備えた画像処理装置の画像処理方法であって、
    前記解析部が、
    前記印刷対象データから第1の中間データが変換される毎に、アイドル状態の前記圧縮部の数に零よりも大きい任意の設定値を足した数が、前記印刷用データに変換中の第2の中間データの数よりも大きいか否かを比較し、
    前記足した数が前記第2の中間データの数よりも大きい場合、前記描画処理を実行していない描画処理部に対して前記第1の中間データの描画処理開始を指令し、
    前記足した数が前記第2の中間データの数よりも大きくない場合、前記第1の中間データを描画待ちキューに追加し、前記足した数が前記第2の中間データの数よりも大きくなると、前記描画処理を実行していない描画処理部に対して前記描画待ちキューに追加された前記第1の中間データの描画処理開始を指令する、画像処理方法。
  6. 前記描画処理部が、
    前記中間データを印刷用データに変換する毎に、アイドル状態の前記圧縮部があるか否かを判定し、
    前記アイドル状態の前記圧縮部がある場合、前記中間データから変換された前記印刷用データの圧縮処理を行うように前記圧縮部に指令し、
    前記アイドル状態の前記圧縮部がない場合、前記中間データから変換された前記印刷用データを圧縮待ちキューに追加し、前記圧縮部がアイドル状態になると、前記圧縮待ちキューに追加した前記印刷用データの圧縮処理を行うように前記圧縮部に指令する、請求項5記載の画像処理方法。
  7. 印刷対象データを複数の印刷単位に分割された中間データに変換する解析処理を行う解析部と、前記複数の印刷単位に分割された中間データをそれぞれ印刷用データに変換する描画処理を並列して行う複数の描画処理部と、前記描画処理によって変換された前記印刷用データに対してデータ圧縮を行う圧縮部と、を備えた画像処理装置のコンピュータ-を、
    前記解析部が、
    前記印刷対象データから第1の中間データが変換される毎に、アイドル状態の前記圧縮部の数に零よりも大きい任意の設定値を足した数が、前記印刷用データに変換中の第2の中間データの数よりも大きいか否かを比較する手段、
    前記足した数が前記第2の中間データの数よりも大きい場合、前記描画処理を実行していない描画処理部に対して前記第1の中間データの描画処理開始を指令する手段、及び、
    前記足した数が前記第2の中間データの数よりも大きくない場合、前記第1の中間データを描画待ちキューに追加し、前記足した数が前記第2の中間データの数よりも大きくなると、前記描画処理を実行していない描画処理部に対して前記描画待ちキューに追加された前記第1の中間データの描画処理開始を指令する手段、
    として機能させるためのプログラム。
  8. 前記画像処理装置のコンピュータ-を、さらに、
    前記描画処理部が、
    前記中間データを印刷用データに変換する毎に、アイドル状態の前記圧縮部があるか否かを判定する手段、
    前記アイドル状態の前記圧縮部がある場合、前記中間データから変換された前記印刷用データの圧縮処理を行うように前記圧縮部に指令する手段、
    前記アイドル状態の前記圧縮部がない場合、前記中間データから変換された前記印刷用データを圧縮待ちキューに追加し、前記圧縮部がアイドル状態になると、前記圧縮待ちキューに追加した前記印刷用データの圧縮処理を行うように前記圧縮部に指令する手段、
    として機能させるための請求項7記載のプログラム。
JP2017132920A 2017-07-06 2017-07-06 画像処理装置、画像処理方法及びプログラム Active JP6996884B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017132920A JP6996884B2 (ja) 2017-07-06 2017-07-06 画像処理装置、画像処理方法及びプログラム
US15/925,942 US10209931B2 (en) 2017-07-06 2018-03-20 Image processing apparatus and image forming apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017132920A JP6996884B2 (ja) 2017-07-06 2017-07-06 画像処理装置、画像処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019014135A JP2019014135A (ja) 2019-01-31
JP6996884B2 true JP6996884B2 (ja) 2022-01-17

Family

ID=64903221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017132920A Active JP6996884B2 (ja) 2017-07-06 2017-07-06 画像処理装置、画像処理方法及びプログラム

Country Status (2)

Country Link
US (1) US10209931B2 (ja)
JP (1) JP6996884B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11442627B2 (en) * 2019-06-13 2022-09-13 International Business Machines Corporation Data compression utilizing low-ratio compression and delayed high-ratio compression
JP2021012658A (ja) * 2019-07-09 2021-02-04 株式会社三菱Ufj銀行 システムおよび処理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003084933A (ja) 2001-09-14 2003-03-20 Fuji Xerox Co Ltd 画像処理装置およびプログラム
JP2009116450A (ja) 2007-11-02 2009-05-28 Casio Electronics Co Ltd 印刷データ処理方法
JP2010125713A (ja) 2008-11-27 2010-06-10 Kyocera Mita Corp 画像形成装置
JP2011120080A (ja) 2009-12-04 2011-06-16 Canon Inc 画像形成装置
US20130088731A1 (en) 2011-10-07 2013-04-11 Bradley R. Larson Processing image data strips

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038527A (ja) 2002-07-03 2004-02-05 Canon Inc プリンタドライバおよび印刷制御方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
JP4818389B2 (ja) * 2009-04-07 2011-11-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 並列処理によりデータ処理を行う印刷装置および制御方法
JP2012171239A (ja) * 2011-02-22 2012-09-10 Canon Inc 画像形成装置、画像形成装置の制御方法、プログラム
JP2012218227A (ja) 2011-04-06 2012-11-12 Sharp Corp 画像形成装置
JP6666036B2 (ja) * 2016-01-15 2020-03-13 キヤノン株式会社 印刷データ処理装置、印刷データ処理方法、およびプログラム
US10726583B2 (en) * 2016-12-30 2020-07-28 Intel Corporation System and method of encoding and decoding feature maps and weights for a convolutional neural network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003084933A (ja) 2001-09-14 2003-03-20 Fuji Xerox Co Ltd 画像処理装置およびプログラム
JP2009116450A (ja) 2007-11-02 2009-05-28 Casio Electronics Co Ltd 印刷データ処理方法
JP2010125713A (ja) 2008-11-27 2010-06-10 Kyocera Mita Corp 画像形成装置
JP2011120080A (ja) 2009-12-04 2011-06-16 Canon Inc 画像形成装置
US20130088731A1 (en) 2011-10-07 2013-04-11 Bradley R. Larson Processing image data strips

Also Published As

Publication number Publication date
US20190012120A1 (en) 2019-01-10
JP2019014135A (ja) 2019-01-31
US10209931B2 (en) 2019-02-19

Similar Documents

Publication Publication Date Title
US10884680B2 (en) Print control apparatus and control method for receiving and printing print data
US10558411B2 (en) Server apparatus, method of controlling the server apparatus, storage medium, and printing system that determine whether to perform, in the server apparatus, rendering processing on a page of a print job
US8582130B2 (en) Image processing apparatus, image processing method, and storage medium
US10534986B2 (en) Printing apparatus having interpreters interpreting print data, printing method, and storage medium
JP2007257592A (ja) 印刷システム、情報処理装置、および印刷装置
JP6996884B2 (ja) 画像処理装置、画像処理方法及びプログラム
US8767247B2 (en) Print data generation device, print data generation method and computer-readable medium for controlling rasterization processing
US9830541B2 (en) Image output system, image output method, document server, and non-transitory computer readable recording medium
US10061545B2 (en) Printing apparatus and method of estimating print time of print job
US8928914B2 (en) Image processing apparatus, information processing method, and storage medium
JP2019025801A (ja) 印刷システム、印刷装置とその制御方法、及びプログラム
US9785871B2 (en) Print control device and non-transitory computer readable medium
EP3336683A1 (en) Image processing apparatus and method to form image on sheet using page image data and object information
US10423374B2 (en) Image forming apparatus and method for controlling image forming apparatus for reducing print processing time
JP6786408B2 (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
US9069507B2 (en) Print server, printing system, and computer program product configured to send print data to an image forming apparatus based on obtained designation of the image forming apparatus
JP5854644B2 (ja) 画像形成装置、制御方法、及びプログラム
US9836252B2 (en) Image forming apparatus, control method thereof, and non-transitory computer-readable storage medium
US10235611B2 (en) Image forming apparatus, image forming method, and non-transitory computer readable medium
US10712979B2 (en) Image forming apparatus, image formation method, and storage medium
US9781302B2 (en) Image forming apparatus for avoiding a feeding direction restriction when printing
US10534567B2 (en) Image forming apparatus and method for controlling image forming apparatus
US8368937B2 (en) Print data processing apparatus, print data processing method, and storage medium
US9811769B2 (en) Printing apparatus, information processing apparatus and method for controlling the information processing apparatus, and storage medium for spooling data to perform print processing
US9165228B2 (en) Printing apparatus allowing user change of operational control of job, control method thereof, and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210701

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211216

R150 Certificate of patent or registration of utility model

Ref document number: 6996884

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150