JP5038260B2 - 画像処理装置、画像処理方法、プログラムおよび記憶媒体 - Google Patents

画像処理装置、画像処理方法、プログラムおよび記憶媒体 Download PDF

Info

Publication number
JP5038260B2
JP5038260B2 JP2008216919A JP2008216919A JP5038260B2 JP 5038260 B2 JP5038260 B2 JP 5038260B2 JP 2008216919 A JP2008216919 A JP 2008216919A JP 2008216919 A JP2008216919 A JP 2008216919A JP 5038260 B2 JP5038260 B2 JP 5038260B2
Authority
JP
Japan
Prior art keywords
image processing
image
processing flow
flow
area
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.)
Expired - Fee Related
Application number
JP2008216919A
Other languages
English (en)
Other versions
JP2010056648A5 (ja
JP2010056648A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2008216919A priority Critical patent/JP5038260B2/ja
Priority to US12/544,651 priority patent/US8384956B2/en
Publication of JP2010056648A publication Critical patent/JP2010056648A/ja
Publication of JP2010056648A5 publication Critical patent/JP2010056648A5/ja
Application granted granted Critical
Publication of JP5038260B2 publication Critical patent/JP5038260B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6072Colour correction or control adapting to different types of images, e.g. characters, graphs, black and white image portions

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、画像データを高速に画像処理するための画像処理装置、画像処理方法、プログラムおよび記憶媒体に関する。
コピー、プリンタのような機能を有する複合機は、画像データに色変換や階調処理のような画像処理を施し、印刷を行っている。複合機の高速化、高解像度化により、複合機の画像処理部では、大容量の画像データを高速に処理する必要がある。
画像処理の高速化のための技術として、複合機に複数の画像処理部を設け、画像処理を並列に行うことで高速化を実現しているものがある。
このような場合、複合機は、複数の画像処理プロセッサを持ち、画像データをブロックに分割する。そして、複合機は、画像データの各ブロックの画像データの属性とその属性に応じた画像処理の処理負荷量を求め、総負荷量がおおむね均等になるように各ブロックを画像処理プロセッサの数にグルーピングする。
複合機の各画像処理プロセッサには、グルーピングにより割り当てられた各ブロックの画像データに必要な画像処理アルゴリズムのみが含まれる画像処理フローを各々の画像処理プロセッサに読み込む。そして、各々の画像処理プロセッサに各ブロックの画像データが供給され、並列に画像処理が施されて、画像処理が高速化される。(例えば、特許文献1参照。)。
特開2007―81795号公報
しかしながら、複合機が保持している画像処理プロセッサの数は固定であり、かつ1つの画像処理プロセッサに対して1つ画像処理フローしか読み込むことができない。そのため、ブロック化された画像データに施される画像処理を、画像処理プロセッサの数だけしか並列処理ができないという問題があった。
また、画像処理は、さまざまな描画モードに対応するために多くの機能を有しており、画像処理のすべての機能を実行するには、複合機は、大容量の画像処理領域や使用メモリを必要とする。そのため、グルーピングにより割り当てられた各ブロックの画像データに多くの描画モードが存在する場合を想定すると、各々の画像処理プロセッサは、画像処理に必要な最大の画像処理領域およびメモリを確保しておかなければならい。このため、単純な描画モードのときの画像処理では、使用しない無駄な画像処理領域およびメモリが生じてしまう。さらに、多数の画像処理の並列処理を行うためには、膨大な画像処理領域やメモリが必要となるという問題があった。
本発明は、このような問題を解決するために、各ブロックの画像データの画像処理に必要なすべての画像処理フローおよび、画像処理領域の容量に応じて、最大数の画像処理フローを画像処理領域に構築する手段を提供することを目的とする。
上記課題を解決するために、本発明に係る画像処理装置は、画像データを複数のブロックに分割する分割手段と、前記分割された各々のブロックの属性を判別する判別手段と、前記判別された属性と属性に対応付けられた画像処理の内容に応じて、属性毎に画像処理モジュールを選択し、前記選択された画像処理モジュールを用いて属性毎に画像処理フローを生成する生成手段と、前記画像処理フローが画像処理領域に構築可能か否かを判断する判断手段と、前記判断の結果、前記画像処理フローが前記画像処理領域に構築可能であると判断された場合、前記画像処理フローを前記画像処理領域に構築し、前記判断の結果、前記画像処理フローの処理領域が前記画像処理領域に構築不可能であると判断された場合、前記画像処理フローの処理領域が前記画像処理領域におさまるように、属性毎に生成された複数の前記画像処理フローの中から、他の画像処理フローが保持していない画像処理モジュールを有する画像処理フローを選択し、前記選択された画像処理フローを前記画像処理領域に構築する構築手段とを備えることを特徴とする。
本発明によって、画像のブロック化による画像処理の並列処理を行う際に、画像処理領域を最大限利用した無駄の少ない並列処理が可能になり、画像処理の高速化ができる。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
<実施形態1>
<画像処理システム(図1)>
実施形態1について図面を参照して詳細に説明する。図1は、本発明の実施形態に係る画像処理システムを示す図である。このシステムではホストコンピュータ30及び2台の画像処理装置(10,20)がLAN40に接続されているが、本発明における画像処理システムにおいては、これらの接続数に限られることはない。また、本実施形態では接続方法としてLANを適用しているが、これに限られることはない。例えば、WAN(公衆回線)などの任意のネットワーク、USBなどのシリアル伝送方式、セントロニクスやSCSIなどのパラレル伝送方式なども適用可能である。
ホストコンピュータ(以下、PCと称する)30は、パーソナルコンピュータの機能を有している。PC30は、LAN40やWANを介してFTPやSMBプロトコルを用いファイルを送受信したり電子メールを送受信したりすることができる。さらには、PC30は、LAN40を介して、画像処理装置10、20に対して、プリンタドライバを介した印刷命令を行うこともできる。
画像処理装置10、20は、同一であり、スキャナ部を有する画像処理装置である。以下では、説明の簡単のために、画像処理装置10、20のうちの画像処理装置10に注目して、詳細に説明する。
画像処理装置10は、画像入力デバイスであるスキャナ部13、画像出力デバイスであるプリンタ部14、画像処理装置10全体の動作制御を司るコントローラユニット11、ユーザインターフェース(UI)である操作部12を有する。ここで、画像処理装置10において、操作部12、スキャナ部13、プリンタ部14は、コントローラユニット11に接続されている。
画像処理装置20は、画像入力デバイスであるスキャナ部23、画像出力デバイスであるプリンタ部24、画像処理装置20全体の動作制御を司るコントローラユニット21、ユーザインターフェース(UI)である操作部22を有する。ここで、画像処理装置20において、操作部22、スキャナ部23、プリンタ部24は、コントローラユニット21に接続されている。
<コントローラユニット11の詳細説明(図2)>
図2は、画像処理装置10のコントローラユニット11をより詳細に説明するための図である。
コントローラユニット11はスキャナ部13やプリンタ部14と電気的に接続されており、一方ではLAN40のようなネットワーク介してPC30や外部の画像処理装置などと接続されている。これにより画像データやデバイス情報の入出力が可能となっている。
図2のCPU201は、ROM203に記憶された制御プログラムに基づいて接続中の各種デバイスとのアクセスを統括的に制御すると共に、コントローラ内部で行われる画像処理についても統括的に制御する。RAM202は、CPU201が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するためのメモリでもある。RAM202は、記憶した内容を電源off後も保持しておくSRAM及び電源off後には記憶した内容が消去されてしまうDRAMを有する。ROM203には装置のブートプログラムなどが格納されている。HDD204は、ハードディスクドライブであり、システムソフトウェアや画像データを格納することが可能となっている。
操作部I/F205は、操作部12と接続するためのインターフェースである。操作部I/F205は、操作部12に表示するための画像データを操作部12に出力すると共に、操作部12から入力された情報を取得する。
NetworkI/F206は、LAN40に接続し、画像データや情報の送受信を行う。伸張部208は、受信した圧縮されている画像データを伸張する。圧縮部207は、送信前の画像データをネットワーク送信に適切なサイズに圧縮する。
スキャナ画像処理部210は、スキャナ部13からスキャナI/F209を介して受取った画像データに対して、補正、加工、及び編集を行う。なお、スキャナ画像処理部210は、受取った画像データの属性を判定し、属性を画像データに付随させる。
RIP211は、PC30などから送信されたPDLコードデータを元に生成された中間データを受取り、ビットマップ(多値)の画像データを生成する。
ブロック化処理部212は、画像データを小領域のブロックに分割し、属性に応じてブロック群を生成する。ブロック化処理部212の詳細については後述する。
画像処理フロー生成部213は、ブロック群の画像データの属性から必要な画像処理モジュールを選定して画像処理フローを生成し、画像処理領域構築部214は、生成された画像処理フローをプリンタ画像処理部216の画像処理領域に構築する。画像処理フロー生成部213と画像処理領域構築部214の詳細については後述する。
プリンタ画像処理部216は、ブロック化された画像データを受取り、この画像データに付随している属性を参照しながら画像データに画像処理を施す。プリンタ画像処理部216は、画像処理領域を持ち、複数の画像処理フローを構築したり、更新することができる。画像処理後の画像データは、プリンタI/F215を介してプリンタ部14に出力される。プリンタ画像処理部216で行われる処理の詳細については後述する。
<プリンタの画像処理(図3)>
図3は、プリンタ画像処理部216において画像データに施される画像処理工程を示している。
画像処理工程は、以下の画像処理モジュールを含む。すなわち、下地除去処理(ステップS301)、色変換処理(ステップS302)、濃度補正処理(ステップS303)、フィルター処理(ステップS304)、ハーフトーン処理(ステップS305)、スムージング処理(ステップS306)を含む。そして、図3の画像処理工程に含まれる画像処理モジュールは、複数の設定値を持ち、設定値に応じて、画像データに画像処理を施す。
下地除去処理(ステップS301)は、画像データの下地色を飛ばす(除去する)処理を行い、ON/OFFの設定を持つ。下地除去処理(ステップS301)の設定が、「ON」の場合には、下地除去処理が実行され、下地除去処理(ステップS301)の設定が、「OFF」の場合には、下地除去処理が実行されない。
色変換処理(ステップS302)は、画像データの属性に応じて色信号の変換を行う。例えば、RGB入力された画像データを、CMYの画像データに変換する。色変換処理は、Scan画像/イメージ/文字/図形の設定を持つ。色変換処理の設定が、「Scan画像」の場合には、Scan画像に最適な色変換処理が行われる。また、色変換処理の設定が、「イメージ」の場合には、写真(イメージ)に最適な色変換が行われる。また、色変換処理の設定が、「文字」の場合には、文字に最適な色変換処理が行われる。また、色変換処理の設定が、「図形」の場合には、図形に最適な色変換処理が行われる。
濃度補正処理(ステップS303)は、出力の色(CMYK)の濃度を調整する。濃度補正処理は、OFF/ON(-3,-2,-1,0,1,2,3)の設定を持つ。濃度補正処理の設定が、「OFF」の場合には、濃度補正処理が実行されない。また、濃度補正処理の設定が、「ON」の場合には、例えば、「(-3,-2,-1,0,1,2,3)」の値によって、濃度の強度が調整されて、濃度補正処理が実行される。
フィルター処理(ステップS304)は、画像データの濃淡を鮮明にしたり、逆に滑らかにする。フィルター処理は、OFF/ON(シャープ、スムーズ)の設定を持つ。フィルター処理の設定が「OFF」の場合には、フィルター処理は実行されない。また、フィルター処理の設定が、「ON」で、「シャープ」の場合には、画像をシャープにするように、フィルター処理が実行される。また、フィルター処理の設定が、「OFF」で、「スムーズ」の場合には、画像をスムーズにするように、フィルター処理が実行される。
ハーフトーン処理(ステップS305)は、出力するプリンタ部の階調数に合わせて中間調処理を行う。例えば、ハーフトーン処理は、受取った高階調の画像データに対し2値化や32値化を行う。ハーフトーン処理(ステップS305)は、解像度/階調/色調/誤差拡散という設定を持ち、「解像度」、「階調」、「色調」、「誤差拡散」という設定に応じた、ハーフトーン処理を実行する。
スムージング処理(ステップS306)は、文字や図形のエッジ部分のがたつきを滑らかにする処理であり、OFF/ONの設定を持つ。スムージング処理(ステップS306)の設定が、「ON」の場合には、スムージング処理が実行され、スムージング処理(ステップS306)の設定が、「OFF」の場合には、スムージング処理が実行されない。
図2のプリンタ画像処理部216は、画像処理フローが構築される画像処理領域を保持する。画像処理領域は書換え可能な有限の領域であり、複数の画像処理フローを構築することで画像処理の並列処理が可能となる。
図2のプリンタ画像処理部216の画像処理領域がハードウエアにて実装される場合は、FPGAのような有限のシリコンエリア上に画像処理フローが構築される。また、ソフトウェアにて実装される場合は、プログラムテキストとして有限のメモリ領域内に画像処理フローが構築される。
<ブロック化処理部212の詳細説明>
図4は、画像処理装置10のブロック化処理部212が実行する処理のフローチャートを示す図である。
まず、ステップS401で、ブロック化処理部212は、画像データを複数の小領域のブロックに分割する。図5は、画像データの一例を示したものである。画像データは、Scan画像501、図形502、イメージ503、文字504を含む。この画像データが、例えば、ステップS401で、ブロック化処理部212により、横をAからFの6分、横を1から9の9分して、全部で54のブロックに分割される。
次に、ステップS402で、ブロック化処理部212は、ステップS401で分割された各ブロックの属性を判別する。例えば、図5のブロックA1(縦A、横1のブロックをブロックA1と表す)の場合は、属性がないため、属性なしと判定される。属性がある場合には、属性には、例えば、Scan画像、図形、イメージ、文字のいずれかが、含まれる。例えば、図5のブロックC5の場合は、イメージ503と図形502と2つの属性が存在する。同様に、すべてのブロックについて属性の判別が行われる。
次に、ステップS403で、ブロック化処理部212は、属性が同一のブロックをまとめて分類し、ブロック群を形成する。例えば、図5の画像データでは、図7のようにNo0〜9までの10パターンの属性の組み合わせが存在し、各ブロックは図6に示すように判別され、10種類のブロック群が形成される。
<画像処理フロー生成部213の詳細説明>
図8は、画像処理装置10の画像処理フロー生成部213の処理のフローチャートを示す図である。
ステップS801で、画像処理フロー生成部213は、まず、ブロック化処理部212で形成された画像データのブロック群を獲得する。
次に、ステップS802で、画像処理フロー生成部213は、「Scan画像」、「イメージ」、「文字」および「図形」という各属性に対する画像処理モジュールの設定情報を取得する。
図9は、「Scan画像」、「イメージ」、「文字」および「図形」という各属性に対する画像処理モジュールの設定値を示したものである。画像処理モジュールの設定値は、例えば、初期設定は操作部12から設定され、PC30を介したプリンタドライバからの設定により決定されても良い。
図9では、一例として、Scan画像に対して、下地除去処理の設定は、「ON」、色変換処理の設定は、「Scan画像」、濃度補正処理の設定は、「2」と設定されている。また、図9では、一例として、Scan画像に対して、フィルター処理の設定は「ON」、ハーフトーン処理の設定は、「誤差拡散」、スムージング処理の設定は、「OFF」と設定されている。図9において、同様に、イメージ、文字、図形に対しても、画像処理モジュールの設定がされる。
次に、図8のステップS803で、画像処理フロー生成部213は、各ブロック群の属性と画像処理モジュールの設定情報により、各ブロック群の画像データに画像処理を施すため必要な画像処理モジュールの選定を行う。
図9の各属性に対する画像処理モジュールの設定情報とNo0からNo9の各ブロック群の属性情報から、各ブロック群に必要な画像処理モジュールは、図10に示されるようになる。例えば、図7に示されているように、No5のブロック群に含まれる属性は、イメージと図形である。
そして、図9に示されているように、イメージの画像処理モジュールでは、下地除去処理の設定が、「OFF」であり、色変換処理の設定が、「イメージ」であり、濃度補正処理の設定が「0」であり、フィルター処理の設定が、「OFF」である。また、図9に示されているように、イメージの画像処理モジュールでは、ハーフトーン処理の設定が「階調」であり、スムージング処理の設定が「OFF」である。
また、図9に示されているように、図形の画像処理モジュールでは、下地除去処理の設定が、「OFF」であり、色変換処理の設定が、「図形」であり、濃度補正処理の設定が「0」であり、フィルター処理の設定が、「OFF」である。また、図9に示されているように、図形の画像処理モジュールでは、ハーフトーン処理の設定が「階調」であり、スムージング処理の設定が「ON」である。このため、図10に示されているように、No5のブロック群の必要な画像処理モジュールでは、色変換処理の設定が「図形/文字」で、ハーフトーン処理の設定が「階調」で、スムージング処理の設定が、「ON/OFF」となる。
図10において、グレーアウト部分は、設定が「OFF」であり、画像処理工程において画像処理モジュールが必要とされない。
上記と同様にして、画像処理フロー生成部213は、No5以外の他のブロック群についても必要な画像処理モジュールを選定する。
次に、図8のステップS804で、画像処理フロー生成部213は、ステップS803で選定された図10の各ブロック群の必要な画像処理モジュールより、各ブロック群の画像処理フローを生成する。
図11は、すべてのブロック群の画像処理フローをまとめたものである。各ブロック群の画像処理フローは、必要な画像処理モジュールのみを含む。図11に示されているように、各ブロック群の画像処理フローは、下地除去処理、色変換処理、濃度補正処理、フィルター処理、ハーフトーン処理、スムージング処理のいずれかを含む。
<画像処理領域構築部214の詳細説明>
図12は、画像処理装置10の画像処理領域構築部214の処理のフローチャートを示す図である。
まず、ステップS1201で、画像処理領域構築部214は、画像処理フロー生成部213で生成された、各ブロック群のすべての画像処理フローの規模を算出する。画像処理フローの規模は、画像処理フローが含む処理および各処理の設定値より算出することができる。
次に、ステップS1202で、画像処理領域構築部214は、すべての画像処理フローの規模の合計が、プリンタ画像処理部216の画像処理領域と比較し、すべてのブロック群の画像処理フローが画像処理領域に構築可能か否かを判断する。
ステップS1202で、画像処理フローの規模の合計が画像処理領域以下である場合は、すべてのブロック群の画像処理フローが画像処理領域に構築可能であると判断され、ステップS1203に処理が進む。
そして、ステップS1203で、画像処理領域構築部214は、すべてのブロック群(No0〜9)の画像処理フローを画像処理領域に構築する。
一方、ステップS1202で、画像処理フローの規模の合計が画像処理領域より大きい場合、画像処理領域構築部214は、すべてのブロック群の画像処理フローを画像処理領域に構築不可能であると判断し、ステップS1204に処理が進む。
そして、ステップS1204で、画像処理領域の構築できるよう、画像処理領域再構築処理により、画像処理フローが再構築されて、再構築された画像処理フローが、画像処理領域に構築される。
なお、本実施形態においては、ステップS1203およびステップS1204の説明に記載されているように、構築手段が複数存在しても良い。その場合に、「第1の構築手段」、「第2の構築手段」と呼ばれても良い。
図13は、図12のステップS1204の画像処理領域再構築処理のフローチャートを示す図である。
図12のステップS1204の画像処理領域再構築処理では、まず、ステップS1301で、画像処理領域構築部214は、他のブロック群の画像処理フローが有していない画像処理モジュールを有する画像処理フローを選定する。
例えば、図11で、No2(Scan画像、図形)の画像処理フローは、他のNoの画像処理フローが有していない画像処理モジュールを有している。それは、例えば、「ON/OFF」という設定の下地除去処理、「Scan画像/図形」という設定の色変換処理、強度の設定が「2」の濃度補正処理、「ON(シャープ、スムーズ)/OFF」という設定のフィルター処理である。さらに、例えば、No6(イメージ、文字、図形)の画像処理フローは、「図形/文字/イメージ」という設定の色変換処理のような他の画像処理フローは有していない画像処理モジュールを有している。
次に、ステップS1302で、画像処理領域構築部214は、ステップS1301で選定された画像処理フローを画像処理領域に構築する。
これにより、各ブロック群の画像処理フローの中で、他のブロック群の画像処理フローが保持していない画像処理モジュールを持つ画像処理フローを優先的に画像処理領域に構築することができる。
次に、ステップS1303で、画像処理領域構築部214は、画像処理領域にまだ空きがあるか否かを判断する。
ステップS1303で、画像処理領域に空きがあると判断された場合は、ステップS1304に処理が進む。
ステップS1303で、画像処理領域に空きがないと判断された場合は、ステップS1308に処理が進む。
ステップS1304で、画像処理領域構築部214は、各ブロック群で、属性を1つしかもたないブロック群の画像処理フローを選定する。ここで、属性が1つしかない画像処理フローは、画像処理モジュール内での設定の切替を行う必要がないために高速な処理が可能である。例えば、図11の各ブロック群の画像処理フローでは、No1(Scan画像)、No3(図形)、No4(イメージ)、No9(文字)が1つしか属性を持たない画像処理フローとなる。
次に、ステップS1305で、画像処理領域構築部214は、ステップ1304で選定された画像処理フローを画像処理領域に構築する。これにより、属性情報を1つしかもたないブロック群の画像処理フローが優先的に画像処理領域に構築される。
次に、ステップS1306で、画像処理領域構築部214は、画像処理領域にまだ空きがあるか否かを判断する。
ステップS1306で、画像処理領域に空きがあると判断された場合に、ステップS1307に処理が進み、画像処理領域構築部214は、可能な限り残りのブロック群の画像処理フローを画像処理領域に構築する。
ステップS1306で、画像処理領域に空きがないと判断された場合は、ステップS1308に処理が進む。
次に、ステップS1308で、画像処理領域構築部214は、すでに画像処理領域に構築された画像処理フローの中から画像処理領域に構築できなかったブロック群の画像処理フローの属性を包含する画像処理フローを選定する。
次に、ステップS1309で、画像処理領域構築部214は、ステップS1308で選定された画像処理フローに画像処理領域に構築できなかったブロック群のブロックを割り当てる。
例えば、画像処理領域に構築されたブロック群の画像処理フローが、No2, No6, No1, No3, No4, No9 の場合、画像処理領域に構築されなかったブロック群の画像処理フローは、No5,No7,No8となる。この場合、イメージ、図形の属性を包含するNo6(イメージ、文字、図形)の画像処理フローに、No5(イメージ、図形)のブロック群のブロックが割り当てられる。これにより、No6の画像処理フローで、No5(イメージ、図形)のブロック群のブロックに対する画像処理が施される。同様にして、No7(文字、図形)、No8(イメージ、文字)のブロック群のブロックも、No6の画像処理フローに割り当てられる。
これにより、画像処理フローの再構築により画像処理領域に構築されないブロック群のブロックを、画像処理領域に構築されないブロック群の画像処理モジュールを包含している画像処理フローに割り当てることができる。
以上、説明したように、各ブロック毎に必要な画像処理モジュールのみで画像処理フローが構築される。そして、画像処理領域に応じて、複数の画像処理フローを構築することで、画像処理領域を最大限利用した無駄の少ない並列処理が可能になり、画像処理の高速化ができる。
<実施形態2>
実施形態2は、前述した実施形態1で画像処理領域に構築した複数の画像処理フローの中で、特定の画像処理フローに対して、画像処理を施すブロックが集中した場合に、ブロックを分配して並列処理の効率を上げる。
以下で、実施形態2について図面を参照して詳細に説明する。
図14は、画像データの一例を示したものである。画像データは、図形1401と文字1402を含む。図14の画像データに対して、前述したブロック化処理部212のブロック化処理(図4)により、ブロック群が形成される。この場合、画像データは、図7に示すパターンの属性のうち、No0(下地のみ)、No3(図形のみ)、No7(図形と文字)、No9(文字のみ)の4つが存在し、図15に示すように4種類のブロック群が形成される。
次に、前述した画像処理フロー生成部213の図8に示されている処理により、必要な画像処理モジュールで構築される各ブロック群の画像処理フローが生成される。
図16は、画像処理フロー生成部213により生成される画像処理フローを示したものであり、No0(下地のみ)、No3(図形のみ)、No7(図形と文字)、No9(文字のみ)の4つの画像処理フローとなる。
図17は、実施形態2の画像処理装置10の画像処理領域構築部214の処理のフローチャートを示す図である。図17のステップS1701からステップS1704は、前述した実施形態1の図12のステップS1201からステップS1204と同じである。
まず、ステップS1701で、画像処理領域構築部214は、画像処理フロー生成部213により生成されたすべての画像処理フローの規模を算出する。
次に、ステップS1702で、画像処理領域構築部214は、すべての画像処理フローの規模の合計をプリンタ画像処理部216の画像処理領域と比較する。
ステップS1702で、規模が画像処理領域以下である場合は、ステップS1703で、画像処理領域構築部214は、すべてのブロック群(No0,No3,No7,No9)の画像処理フローを画像処理領域に構築する。
一方、ステップS1702で、規模の合計が画像処理領域より大きい場合は、ステップS1704で、画像処理領域構築部214は、画像処理領域の構築できるよう画像処理フローの再構築を行う。
次に、構築された画像処理フロー(図16)の中で、特定の画像処理フローに対して、ブロックが集中しないように、ステップS1705で、画像処理領域構築部214は、負荷分散処理を行う。
図18は、図17のステップS1705の負荷分散処理のフローチャートを示す図である。
まず、ステップS1801で、画像処理領域構築部214は、画像処理領域に構築した各画像処理フロー(図16)に割当てられるブロック数と割当て比率を算出する。
次に、ステップS1802で、画像処理領域構築部214は、ステップS1801で算出された割当て比率が規定値より高い画像処理フローがあるか否かを判断する。
ステップS1802で、割当て比率が規定値より高い画像処理フローがあると判断された場合は、ステップS1803で、画像処理領域構築部214は、ブロック分配処理によりブロックの分配を行う。
以下で、図18のステップS1801とステップS1802を図19、図20を用いて詳細に説明する。
ステップS1801において、画像データ(図14)をブロック化したブロック(図15)を、図16に示す各画像処理フローに割当て、全体のブロックに対する比率を算出すると、図19に示すようになる。
すなわち、No0(下地)の画像処理フローには、ブロックが13個、割当て比率は20%となる。また、No3(図形)の画像処理フローには、ブロックが33個、割当て比率は52%となる。また、No7(文字/図形)の画像処理フローには、ブロックが3個、割当て比率は5%となる。また、No9(文字)の画像処理フローには、ブロックが5個、割当て比率は8%となる。
規定値は、平均比率のα%以上とし、規定値P = 1 / 画像処理フロー数 * α% (式1)で表される。したがって、画像処理フロー数 4個、αを120%とすると、P = 1 / 4 * 1.2 = 0.3 (30%)となり、規定値P = 30% となる。なお、規定値は、上記(式1)に限定されるものではなく、特定の画像処理フローに対して、ブロックが集中し、画像処理の負荷が不均等であると判断できるものであれば構わない。
No3(図形)の画像処理フローの割当て比率は52%であり、上記例の規定値30%より高い。このため、図18のステップS1802において、割当て比率が規定値より高いと判断され、図18のステップS1803で、ブロック分配処理によりブロックの分配が行われる。
一方、ステップS1802で、割当て比率が規定値より高い画像処理フローがないと判断された場合は、処理が終了する。
図20は、ステップS1803のブロック分配処理のフローチャートを示す図である。
まず、ステップS2001で、画像処理領域構築部214は、ブロックの割当て比率が規定値より高い画像処理フローを獲得する。
次に、ステップS2002で、画像処理領域構築部214は、各画像処理フローを構築した画像処理領域に獲得したブロックの割当て比率が規定値より高い画像フローを追加構築するだけの空き容量があるか否かを判断する。
ステップS2002で、空き容量があると判断された場合は、ステップS2003で、画像処理領域構築部214は、獲得したブロックの割当て比率が規定値より高い画像処理フローと同じ画像処理フローを画像処理領域に追加して構築する。これにより、画像処理領域に構築された各ブロック群の画像処理フローで画像処理を施すブロック数が、特定の画像処理フローに集中する場合は、画像処理領域にブロックが集中した画像処理フローが追加される。
そして、ステップS2004で、画像処理領域構築部214は、獲得したブロックの割当て比率が規定値より高い画像処理フローに割当てられたブロックの半数を、新たに追加した画像処理フローに分配する。
例えば、図21は、ブロック分配処理前の画像処理領域を示した図であり、図22は、ブロック分配処理後の画像処理領域を示した図である。図21のブロック配分処理前の画像処理領域2107には、すでに構築された各画像処理フロー2101〜2104と画像処理フローを追加することが可能な空き容量2105が存在する。そして、各画像処理フローには、処理を施すブロックが割当てられている。
図21、22の例に示されているように、空き容量2105に、ステップS2001で獲得されたブロックの割当て比率が規定値より高い画像処理フロー(No3)2102と同じ画像処理フローが、ステップS2003で追加構築される。そして、図22に示されているように、S2004で、画像処理フロー(No3)2102に割当てられている33個のブロックの半数(16個)が、新たに追加した画像処理フロー2106に分配される。
ステップS2002で画像処理領域に空きがないと判断された場合は、ステップS2005で、画像処理領域構築部214は、獲得したブロックの割当て比率が規定値より高い画像処理フローの属性を包含する画像処理フローがあるか否かを判断する。
ステップS2005で包含する画像処理フローがあると判断された場合は、ステップS2006に処理が進む。
ステップS2006で、画像処理領域構築部214は、獲得したブロックの割当て比率が規定値より高い画像処理フローに割当てられたブロックを、属性を包含する画像処理フローに分配する。
分配は、獲得したブロックの割当て比率が規定値より高い画像処理フローと属性を包含する画像処理フローに割当てられるブロックがほぼ同数になるように行われる。
これにより、画像処理領域に構築された各ブロック群の画像処理フローで画像処理を施すブロック数が、特定の画像処理フローに集中する場合に以下のようなことが可能となる。すなわち、ブロックが集中した画像処理フローの画像処理モジュールを包含している画像処理フローに、ブロックを分配することができる。
なお、本実施形態においては、ステップS2004およびステップS2006の説明に記載されているように、分配手段が複数存在しても良い。その場合に、「第1の分配手段」、「第2の分配手段」と呼ばれても良い。
例えば、図23は、画像処理領域の空き容量がない場合のブロック分配処理前の画像処理領域を示した図であり、図24は、ブロック分配処理後の画像処理領域を示した図である。図23のブロック分配処理前の画像処理領域2107には、すでに構築した各画像処理フロー2101〜2104が存在し、各画像処理フローには、処理を施すブロックが割当てられている。
ステップS2001で獲得されたブロックの割当て比率が規定値より高い画像処理フロー(No3)2102の属性は図形のみである。図23の他の画像処理フローの中で、No7の画像処理フロー2103は、図形と文字であり、No3の画像処理フロー2102を包含している。
そのため、図23のNo3の画像処理フロー2102に割当てられるブロックをNo7の画像処理フロー2103に分配することが可能である。
図24に示されているように、分配は、No7の画像処理フロー2103とNo3の画像処理フロー2102に割当てられるブロックの数がほぼ同じになるように行われる。例えば、図24に示されているように、No3の画像処理フロー2102に割当てられている33個のブロックのうち15個が、No7の画像処理フロー2103に分配される。
以上、説明したように、画像処理領域に構築した複数の画像処理フローの中で、特定の画像処理フローに画像処理を施すブロックが集中した場合に、ブロックを分配して並列処理の効率を上げることが可能になる。
<他の実施形態>
本発明は、さらに、複数の機器(例えばコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用することも、一つの機器からなる装置(複合機、プリンタ、ファクシミリ装置など)に適用することも可能である。
また本発明の目的は、上述した実施形態で示したフローチャートの手順を実現するプログラムコードを記憶した記憶媒体から、システムあるいは装置のコンピュータ(またはCPUやMPU)が、そのプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになる。そのため、このプログラムコード及びプログラムコードを記憶/記録したコンピュータ読み取り可能な記憶媒体も本発明の一つを構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、前述した実施形態の機能は、コンピュータが、読み出したプログラムを実行することによって実現される。また、このプログラムの実行とは、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行う場合も含まれる。
さらに、前述した実施形態の機能は、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットによっても実現することもできる。この場合、まず、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行う。こうした機能拡張ボードや機能拡張ユニットによる処理によっても前述した実施形態の機能が実現される。
画像処理システムを示す図である。 画像処理装置10のコントローラユニット11をより詳細に説明するための図である。 プリンタ画像処理部216において画像データに施される画像処理工程を示す図である。 画像処理装置10のブロック化処理部212の処理のフローチャートを示す図である。 画像データの一例を示す図である。 画像データのブロック化の一例を示す図である。 属性の組合せの一例を示す図である。 画像処理装置10の画像処理フロー生成部213の処理のフローチャートを示す図である。 各属性に対する画像処理モジュールの設定値を示す図である。 各ブロック群に必要な画像処理モジュールを示す図である。 ブロック群の画像処理フローを示す図である。 画像処理装置10の画像処理領域構築部214の処理のフローチャートを示す図である。 ステップS1204の処理のフローチャートを示す図である。 実施形態2の画像データの一例を示す図である。 実施形態2の画像データのブロック化の一例を示す図である。 実施形態2のブロック群の画像処理フローを示す図である。 実施形態2の画像処理領域構築部214の処理のフローチャートを示す図である。 ステップS1705の処理のフローチャートを示す図である。 ブロックの割当て数、割当て比率の一例を示す図である。 ステップS1803の処理のフローチャートを示す図である。 空き容量がある場合のブロック分配処理前の画像処理領域の一例を示す図である。 空き容量がない場合のブロック分配処理後の画像処理領域の一例を示す図である。 空き容量がある場合のブロック分配処理前の画像処理領域の一例を示す図である。 空き容量がない場合のブロック分配処理後の画像処理領域の一例を示す図である。
符号の説明
10 画像処理装置
11 コントローラユニット
12 操作部
13 スキャナ部
14 プリンタ部
20 画像処理装置
21 コントローラユニット
22 操作部
23 スキャナ部
24 プリンタ部

Claims (9)

  1. 画像データを複数のブロックに分割する分割手段と、
    前記分割された各々のブロックの属性を判別する判別手段と、
    前記判別された属性と属性に対応付けられた画像処理の内容に応じて、属性毎に画像処理モジュールを選択し、前記選択された画像処理モジュールを用いて属性毎に画像処理フローを生成する生成手段と、
    前記画像処理フローが画像処理領域に構築可能か否かを判断する判断手段と、
    前記判断の結果、前記画像処理フローが前記画像処理領域に構築可能であると判断された場合、前記画像処理フローを前記画像処理領域に構築し、前記判断の結果、前記画像処理フローの処理領域が前記画像処理領域に構築不可能であると判断された場合、前記画像処理フローの処理領域が前記画像処理領域におさまるように、属性毎に生成された複数の前記画像処理フローの中から、他の画像処理フローが保持していない画像処理モジュールを有する画像処理フローを選択し、前記選択された画像処理フローを前記画像処理領域に構築する構築手段と
    を備えることを特徴とする画像処理装置。
  2. 前記構築手段は、複数の前記画像処理フローの中から、属性情報が1つであるブロックの画像処理フローを優先的に前記画像処理領域に構築することを特徴とする請求項1に記載の画像処理装置。
  3. 前記構築手段は、前記画像処理領域に構築されないブロックを、前記画像処理領域に構築されないブロックの画像処理モジュールを包含している画像処理フローに割り当てることを特徴とする請求項1に記載の画像処理装置。
  4. 前記画像処理領域に構築された各ブロックの画像処理フローで画像処理を施すブロック数が、特定の画像処理フローに集中する場合は、前記画像処理領域にブロックが集中した画像処理フローを追加する追加手段と、
    前記追加した画像処理フローにブロックを分配する第1の分配手段と
    をさらに備えることを特徴とする請求項1に記載の画像処理装置。
  5. 前記画像処理領域に構築された各ブロック群の画像処理フローで画像処理を施すブロック数が、特定の画像処理フローに集中する場合は、ブロックが集中した画像処理フローの画像処理モジュールを包含している画像処理フローに、ブロックを分配する第2の分配手段をさらに備えることを特徴とする請求項4に記載の画像処理装置。
  6. 前記属性は、画像読取装置でスキャンされた画像、イメージ、文字、図形のいずれかを含むことを特徴とする請求項1に記載の画像処理装置。
  7. 前記画像処理フローは、下地除去処理、色変換処理、濃度補正処理、フィルター処理、ハーフトーン処理、スムージング処理のいずれかを含むことを特徴とする請求項1に記載の画像処理装置。
  8. 画像データを複数のブロックに分割する分割ステップと、
    前記分割された各々のブロックの属性を判別する判別ステップと、
    前記判別された属性と属性に対応付けられた画像処理の内容に応じて、属性毎に画像処理モジュールを選択し、前記選択された画像処理モジュールを用いて属性毎に画像処理フローを生成する生成ステップと、
    前記画像処理フローが画像処理領域に構築可能か否かを判断する判断ステップと、
    前記判断の結果、前記画像処理フローが前記画像処理領域に構築可能であると判断された場合、前記画像処理フローを前記画像処理領域に構築し、前記判断の結果、前記画像処理フローの処理領域が前記画像処理領域に構築不可能であると判断された場合、前記画像処理フローの処理領域が前記画像処理領域におさまるように、属性毎に生成された複数の前記画像処理フローの中から、他の画像処理フローが保持していない画像処理モジュールを有する画像処理フローを選択し、前記選択された画像処理フローを前記画像処理領域に構築する構築ステップと
    を備えることを特徴とする画像処理方法。
  9. コンピュータを請求項1乃至7のいずれか一項に記載された画像処理装置として機能させるためのプログラム。
JP2008216919A 2008-08-26 2008-08-26 画像処理装置、画像処理方法、プログラムおよび記憶媒体 Expired - Fee Related JP5038260B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008216919A JP5038260B2 (ja) 2008-08-26 2008-08-26 画像処理装置、画像処理方法、プログラムおよび記憶媒体
US12/544,651 US8384956B2 (en) 2008-08-26 2009-08-20 Image processing apparatus generating an image processing flow for each segmented block of image data and corresponding, image processing method, and storage medium storing program instructing a computer to execute the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008216919A JP5038260B2 (ja) 2008-08-26 2008-08-26 画像処理装置、画像処理方法、プログラムおよび記憶媒体

Publications (3)

Publication Number Publication Date
JP2010056648A JP2010056648A (ja) 2010-03-11
JP2010056648A5 JP2010056648A5 (ja) 2011-10-13
JP5038260B2 true JP5038260B2 (ja) 2012-10-03

Family

ID=41725024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008216919A Expired - Fee Related JP5038260B2 (ja) 2008-08-26 2008-08-26 画像処理装置、画像処理方法、プログラムおよび記憶媒体

Country Status (2)

Country Link
US (1) US8384956B2 (ja)
JP (1) JP5038260B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1720680A (zh) 2002-12-16 2006-01-11 特瑞林克通讯有限公司 利用可调光带通滤波器和偏振致零方法的光信噪比监测方法和设备
EP2988485A1 (en) * 2014-08-20 2016-02-24 Thomson Licensing Methods and apparatus for mapping input image
US9894244B2 (en) 2015-09-30 2018-02-13 Canon Kabushiki Kaisha Image processing system and image processing method that perform correction of shifting bitmap data in a sub-scanning direction to cancel bending of and electro-photographic laser scanning line
JP7005314B2 (ja) 2017-11-22 2022-01-21 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7408658B2 (en) * 2001-12-04 2008-08-05 Hewlett-Packard Development Company, L.P. Generation and usage of workflows for processing data on a printing device
JP4462047B2 (ja) * 2005-01-20 2010-05-12 富士ゼロックス株式会社 画像処理装置及びプログラム
JP4525541B2 (ja) * 2005-09-14 2010-08-18 富士ゼロックス株式会社 画像処理装置
JP4792893B2 (ja) * 2005-09-22 2011-10-12 富士ゼロックス株式会社 画像処理装置およびプログラム
US7516108B2 (en) * 2005-12-22 2009-04-07 International Business Machines Corporation Block allocation times in a computer system

Also Published As

Publication number Publication date
US8384956B2 (en) 2013-02-26
US20100053685A1 (en) 2010-03-04
JP2010056648A (ja) 2010-03-11

Similar Documents

Publication Publication Date Title
JP4436454B2 (ja) 画像処理装置、画像処理方法、そのプログラム及び記憶媒体
JP4484896B2 (ja) 画像処理装置及びその制御方法ならびにそのプログラム及び記憶媒体
JP5004856B2 (ja) 画像形成装置及び画像形成方法及び記憶媒体、プログラム
JP2008022529A (ja) 画像処理装置、画像処理方法
JP5038260B2 (ja) 画像処理装置、画像処理方法、プログラムおよび記憶媒体
JP2009230652A (ja) 印刷制御装置、印刷装置およびプログラム
JP2013115657A (ja) 画像処理装置、画像処理方法及びプログラム
JP2011193394A (ja) 画像処理装置、画像処理方法、及びプログラム
JP4814039B2 (ja) 画像処理装置、画像処理プログラムおよび記録媒体
JP2013125994A (ja) 画像圧縮装置、画像圧縮方法、コンピュータプログラム
JP2017024321A (ja) 画像処理装置、画像形成装置及び画像処理時間予測方法及びプログラム
JP2008124996A (ja) 画像処理装置、および画像処理方法
JP5116409B2 (ja) 画像形成装置、画像形成方法、及び、画像形成プログラム
JP5284431B2 (ja) 二次元コードを復号化する装置、二次元コードを復号化する装置の制御方法、およびプログラム
JP2010111099A (ja) 画像処理装置およびその制御方法
JP5178497B2 (ja) 画像読み取り装置、及び画像読み取り装置の制御方法、並びにプログラム
JP3642234B2 (ja) プリンタホスト、プリンタ、プリンタシステム、描画命令を二値化イメージデータに変換するプログラムが記憶されている記憶媒体
JP4847565B2 (ja) 複写物を作成する装置、複写物を作成する装置の制御方法、およびプログラム
JP2011199744A (ja) 画像形成装置および方法
JP4498375B2 (ja) 出力装置、出力方法、出力システム、およびプログラム
JP6809158B2 (ja) 画像処理装置及びプログラム
JP6413783B2 (ja) 印刷指示装置、印刷システムおよびプログラム
JP4250656B2 (ja) 情報処理装置及びその制御方法、並びにそのプログラム
JP2016055536A (ja) 画像形成装置、プログラム、および画像形成装置の制御方法
JP2006140970A (ja) 画像処理装置および画像入出力装置およびそれらの方法

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20101106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110826

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120601

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120705

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5038260

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees