JP2006163672A - 画像処理装置、印刷装置および画像処理方法 - Google Patents

画像処理装置、印刷装置および画像処理方法 Download PDF

Info

Publication number
JP2006163672A
JP2006163672A JP2004352331A JP2004352331A JP2006163672A JP 2006163672 A JP2006163672 A JP 2006163672A JP 2004352331 A JP2004352331 A JP 2004352331A JP 2004352331 A JP2004352331 A JP 2004352331A JP 2006163672 A JP2006163672 A JP 2006163672A
Authority
JP
Japan
Prior art keywords
processing
cpu
image
image processing
executed
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.)
Withdrawn
Application number
JP2004352331A
Other languages
English (en)
Inventor
Koji Yamada
孝司 山田
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 JP2004352331A priority Critical patent/JP2006163672A/ja
Publication of JP2006163672A publication Critical patent/JP2006163672A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

【課題】 複数の処理部に対して処理の最初から適切に負荷分散を行い、さらに処理部が
3以上であっても適切に負荷分散を行うこと。
【解決手段】 この画像処理装置は、同一領域の画像データに対して複数種別の画像処理
を順番に施す複数の処理部(CPU12〜18)と、画像処理の各種別について2以上の
処理部への分散割合の情報を含む負荷分散テーブルと、少なくとも1つの画像処理につい
て、画像処理の開始時点における分散割合でその画像処理を2以上の処理部に分散してそ
れぞれ実行させる開始処理手段(CPU12〜14)とを備える。
【選択図】 図1

Description

本発明は、同一領域の画像データに対して複数種別の画像処理を順番に施す画像処理装
置、印刷装置および画像処理方法に関するものである。
従来から、2つのCPUを有する印刷装置が提案されている(例えば、特許文献1参照
)。例えば特許文献1の印刷装置では、第1のCPUを有する第1の制御区画が、印刷デ
ータを中間段階のデータに変換する処理を制御し、第2のCPUを有する第2の制御区画
が、中間段階のデータを印刷機構に出力可能なビットマップデータに変換する処理を制御
する。
この印刷装置では、第1の制御区画および第2の制御区画が、互いに第2の制御区画お
よび第1の制御区画が実行すべき処理を実行し得る機能を有している。
そして、第1の制御区画および第2の制御区画の一方が過負荷状態になると、他方へプ
ロセスの一部を移動させる。
特開2003−251867号公報(要約など)
しかしながら、上述の従来の印刷装置では、一方の制御区画が過負荷状態になった後、
その一方の制御区画から他方の制御区画へプロセスの一部が移動されるため、処理の最初
から適切に負荷分散を行われない可能性がある。
また、上述の従来の印刷装置における制御区画は2つのみであるため、上述のように一
方から他方へプロセスの一部を移動することができるが、制御区画(処理部)が3以上で
ある場合では、複数の制御区画(処理部)が過負荷状態となったりするなど、様々な状況
が発生するため、上述の従来の印刷装置における負荷分散手法を処理部が3以上である場
合にそのまま適用することは困難である。
本発明は、複数の処理部に対して処理の最初から適切に負荷分散を行うことができ、さ
らに処理部が3以上であっても適切に負荷分散を行うことができる画像処理装置、印刷装
置および画像処理方法を得ることを目的とする。
上記の課題を解決するために、本発明では以下のようにした。
本発明に係る画像処理装置は、同一領域の画像データに対して複数種別の画像処理を順
番に施す複数の処理部と、画像処理の各種別に関する1または複数の処理部への分散割合
の情報を含む負荷分散テーブルと、少なくとも1種別の画像処理について、各時点におけ
る負荷分散テーブルの分散割合でその画像処理を2以上の処理部に分散してそれぞれ実行
させる開始処理手段とを備える。
これにより、負荷分散テーブルに基づいて開始処理手段が画像処理の分散処理を開始さ
せるので、複数の処理部に対して処理の最初から適切に負荷分散を行うことができ、さら
に処理部が3以上であっても適切に負荷分散を行うことができる。
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよ
い。つまり、その場合の画像処理装置は、複数の処理部のそれぞれの処理能力値に基づい
て各画像処理の分散割合を負荷分散テーブルに設定する分散割合設定手段を備える。
これにより、各処理部の処理能力に応じた分散割合が負荷分散テーブルに設定され、そ
れに基づいて負荷分散が行われるため、適切に負荷分散を行うことができる。
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のよう
にしてもよい。つまり、その場合、負荷分散設定手段は、画像処理のある種別について高
速に演算可能な演算部を有する処理部に対して、常にその種別の画像処理の一部または全
部が割り当てられる分散割合を設定する。
これにより、画像処理の種別に応じて高速な処理部が優先的に使用されるため、適切に
負荷分散を行うことができる。
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のよう
にしてもよい。つまり、その場合、開始処理手段と分散割合設定手段は、画像処理の実行
開始と負荷分散テーブルへの画像処理の分散割合の設定とを互いに非同期に実行する。
これにより、開始処理手段が、分散割合設定手段による負荷分散テーブルへの画像処理
の分散割合の設定の終了を待たずに、画像処理の実行開始をさせることができ、効率良く
分散処理を行わせることができる。
本発明に係る印刷装置は、複数の処理として少なくとも色変換およびハーフトーンを実
行する上記画像処理装置のいずれかと、その画像処理装置による処理後の画像データに基
づいて画像を印刷する印刷手段とを備える。
これにより、負荷分散テーブルに基づいて画像処理の分散処理を開始させるので、複数
の処理部に対して処理の最初から適切に負荷分散を行うことができ、さらに処理部が3以
上であっても適切に負荷分散を行うことができる。ひいては、より高速に画像の印刷を実
行することができる。
本発明に係る画像処理方法は、同一領域の画像データに対して複数種別の画像処理を順
番に施す複数の処理部のうちの1または複数の処理部へ分散割合の情報を画像処理の各種
別について有する負荷分散テーブルを参照し各処理部の担当する画像処理の種別および割
合を特定するステップと、特定した種別および割合の画像処理を各処理部により実行する
ステップとを有する。
これにより、負荷分散テーブルに基づいて画像処理の分散処理を開始させるので、複数
の処理部に対して処理の最初から適切に負荷分散を行うことができ、さらに処理部が3以
上であっても適切に負荷分散を行うことができる。
以下、図に基づいて本発明の実施の形態を説明する。
実施の形態1.
図1は、本発明の実施の形態1に係る画像処理装置の構成を示すブロック図である。本
発明の実施の形態1に係る画像処理装置は、印刷装置に内蔵され、JPEG(Joint Phot
ographic Experts Group )画像データなどといった画像データに対して印刷前に一連の
画像処理を施す装置である。
図1において、ASIC1は、1つのチップで構成されたマルチCPU(Central Proc
essing Unit)のプロセッサである。ASIC1は、8個のCPU11〜18を内蔵し、
CPU11でプリンタ駆動部4の制御を行い、7個のCPU12〜18でJPEGデコー
ド、画像補正、色変換およびハーフトーンからなる複数の一連の画像処理を実行するプロ
セッサである。この実施の形態1では、JPEGデコード、画像補正、色変換およびハー
フトーンといった複数の互いに異なる処理が画像データに順番に施され、JPEGデコー
ド、画像補正、色変換、ハーフトーンの順番でパイプライン処理が実行される。
また、JPEGデコード、画像補正、色変換およびハーフトーンのうちの1または複数
の処理は、CPU12〜18の負荷バランスに応じて、CPU12〜18のうちの複数の
CPUで分散処理される。
また、外部RAM(Random Access Memory)2は、バス20を介してASIC1の各C
PU11〜18に接続された半導体メモリである。この実施の形態1では、外部RAM2
は、DDR−SDRAMとされ、1ワードのリード/ライトに20〜30クロックが必要
となる。
また、メモリカード3は、装置に対して着脱可能であって、JPEGでエンコードされ
た画像データを含むJPEGファイルを記憶する不揮発性の半導体メモリを有する記憶媒
体である。なお、メモリカード3は、図示せぬインタフェース回路を介してバス20に接
続される。
また、プリンタ駆動部4は、プリンタヘッドや各種モータなどの、紙などの媒体への印
刷に必要な電気的および機械的構成部分である。なお、プリンタ駆動部4は、図示せぬイ
ンタフェース回路を介してバス20に接続される。プリンタ駆動部4は、画像処理装置に
よる処理後の画像データに基づいて画像を印刷する印刷手段として機能する。
図1に示すASIC1において、CPU11は、駆動制御プログラム45(図3参照)
に従って、一連の画像処理後の画像データに基づいて、プリンタ駆動部4を制御するCP
Uである。
また、CPU12は、CPU12〜CPU18に共通な汎用命令を実行可能な汎用命令
演算部12aの他に、JPEGデコード用の専用命令を実行可能なJPEGデコード専用
命令演算部12bを有し、主に、JPEGデコードを実行するCPUである。
JPEGデコード用の専用命令は、JPEGデコード時に多用される一連の演算を1つ
の命令に集約したものであり、JPEGデコード専用命令演算部12bは、その専用命令
に対応して、その一連の演算を、汎用命令演算部12aより少ないクロック数で実行可能
な演算器構成を有する。なお、そのような専用命令は、1つに限定されず、必要に応じて
設計時に定義される。つまり、JPEGデコード専用命令演算部12bは、1または複数
の専用命令に対応して動作する、JPEGデコード高速化のための専用ハードウェアとい
える。
また、CPU13は、CPU12〜CPU18に共通な汎用命令を実行可能な汎用命令
演算部13aの他に、画像補正用の専用命令を実行可能な画像補正専用命令演算部13b
を有し、主に、画像補正を実行するCPUである。なお、画像補正としては、トーン調整
および彩度強調を行う第1処理、シャープネス(先鋭度の調整)を行う第2処理、および
ノイズ除去を行う第3処理のうちの1または複数が必要に応じて行われる。なお、各処理
は、例えば出願人が提供するAPF(Auto Photo Fine )と同様に行えばよい。
画像補正用の専用命令は、画像補正処理時に多用される一連の演算を1つの命令に集約
したものであり、画像補正専用命令演算部13bは、その専用命令に対応して、その一連
の演算を、汎用命令演算部13aより少ないクロック数で実行可能な演算器構成を有する
。なお、そのような専用命令は、1つに限定されず、必要に応じて設計時に定義される。
つまり、画像補正専用命令演算部13bは、1または複数の専用命令に対応して動作する
、画像補正高速化のための専用ハードウェアといえる。
また、CPU14は、CPU12〜CPU18に共通な汎用命令を実行可能な汎用命令
演算部14aの他に、色変換用の専用命令を実行可能な色変換専用命令演算部14bを有
し、主に、色変換を実行するCPUである。なお、この実施の形態1では、色変換として
、RGBデータからCYMKデータへの変換が行われる。
色変換用の専用命令は、色変換処理時に多用される一連の演算を1つの命令に集約した
ものであり、色変換専用命令演算部14bは、その専用命令に対応して、その一連の演算
を、汎用命令演算部14aより少ないクロック数で実行可能な演算器構成を有する。なお
、そのような専用命令は、1つに限定されず、必要に応じて設計時に定義される。つまり
、色変換専用命令演算部14bは、1または複数の専用命令に対応して動作する、色変換
高速化のための専用ハードウェアといえる。
また、CPU15は、CPU12〜CPU18に共通な汎用命令を実行可能な汎用命令
演算部15aの他に、ハーフトーン用の専用命令を実行可能なハーフトーン専用命令演算
部15bを有し、主に、ハーフトーンを実行するCPUである。CPU16〜CPU18
は、それぞれ、CPU15と同様の構成を有し、汎用命令演算部16a,17a,18a
とハーフトーン専用命令演算部16b,17b,18bを有する。
4個のCPU15〜18は、ハーフトーンを並列に実行するCPU群である。また、ハ
ーフトーンの分散処理時には、他のCPU(CPU12〜14)が、CPU15〜18と
ともに使用される。
ハーフトーン用の専用命令は、ハーフトーン時に多用される一連の演算を1つの命令に
集約したものであり、ハーフトーン専用命令演算部15b〜18bは、その専用命令に対
応して、その一連の演算を、汎用命令演算部15a〜18aより少ないクロック数で実行
可能な演算器構成を有する。なお、そのような専用命令は、1つに限定されず、必要に応
じて設計時に定義される。つまり、ハーフトーン専用命令演算部15b〜18bは、1ま
たは複数の専用命令に対応して動作する、ハーフトーン高速化のための専用ハードウェア
といえる。
この実施の形態1では、ハーフトーン専用命令演算部15b〜18bを有するCPU1
5〜18が4個設けられているが、ハーフトーン専用命令演算部15b〜18bを有する
CPUの数は、別の数でもよい。その数は、色変換後の色数に応じて決定してもよい。
また、ローカルバス19は、ASIC1内で、CPU11〜18とデュアルポートRA
M21,22とを接続するバスであって、これらの間のデータ伝送路である。また、バス
20は、CPU11〜18と外部RAM2、プリンタ駆動部4およびメモリカード3とを
接続するバスであって、これらの間のデータ伝送路である。なお、ローカルバス19aお
よびバス20は、例えば128ビットのデータバスである。
また、デュアルポートRAM21,22は、ASIC1に内蔵され、入出力ポートを2
つ有し、一方のポートと他方のポートへのリード/ライトを独立に実行可能なRAMであ
る。デュアルポートRAM21,22は、スタティックRAM(SRAM)で構成され、
外部RAM2より高速にデータのリード/ライトをすることが可能である。デュアルポー
トRAM21,22の記憶容量は、数〜数十キロバイトとされ、外部RAM2の記憶領域
より小さい。
デュアルポートRAM21,22の一方のポートはローカルバス19に接続され、他方
のポートは、CPU12とCPU14にそれぞれ直接に接続される。
図2は、図1におけるCPU12の詳細な構成を示すブロック図である。図2において
、命令管理部31は、プログラム実行時における命令の入出力を管理する。また、命令キ
ャッシュ32は、フェッチされた命令や実行後の命令を一時的に格納するSRAMなどの
高速なRAMである。また、命令RAM33は、CPU12に内蔵された命令格納用の内
部RAMである。命令RAM33は、SRAMで構成された高速なメモリであり、他のC
PUからアクセスできないメモリである。
また、データ管理部34は、プログラム実行時におけるデータの入出力を管理する。ま
た、データキャッシュ35は、ロードされたデータや演算結果を一時的に格納するSRA
Mなどの高速なRAMである。また、データRAM36は、CPU12に内蔵されたデー
タ格納用の内部RAMである。データRAM36は、SRAMで構成された高速なメモリ
であり、他のCPUからアクセスできないメモリである
また、メモリインタフェース37は、CPU12に併設されたメモリとの間でデータの
入出力を実行するインタフェースである。メモリインタフェース37は、直接にデュアル
ポートRAM21に接続されるとともに、ローカルバス19を介してデュアルポートRA
M22に接続される。また、外部インタフェース38は、バス20やその他の外部デバイ
スに接続され、バス20を介して、ASIC1外部の周辺デバイス(外部RAM2など)
との間でデータの入出力を実行するインタフェースである。
なお、ここでは、一例としてCPU12について説明したが、CPU13〜18につい
ても、図1に示すように専用命令演算部が異なるだけで、他の構成は、図2のものと同様
である。ただし、メモリインタフェース37は、CPU14では、ローカルバス19およ
びデュアルポートRAM22に接続されるが、その他のCPU13,15〜18では、ロ
ーカルバス19に接続される。
データ管理部34は、ローカルバス19を介してメモリインタフェース37に接続され
たデュアルポートRAM21,22に対してリード/ライトをすることが可能である。こ
の場合のデュアルポートRAM21,22へのリード/ライトは、外部RAM2へのリー
ド/ライトより速く実行可能である。CPU11〜18がデュアルポートRAM21に対
してリード/ライトを行う場合、CPU12は、ローカルバス19を介さずに一方のポー
トに対してリード/ライトを行い、その他のCPU11,13〜18は、ローカルバス1
9を介して他方のポートに対してリード/ライトを行う。同様に、CPU11〜18がデ
ュアルポートRAM22に対してリード/ライトを行う場合、CPU14は、ローカルバ
ス19を介さずに一方のポートに対してリード/ライトを行い、その他のCPU11〜1
3,15〜18は、ローカルバス19を介して他方のポートに対してリード/ライトを行
う。
図3は、図1におけるCPU11〜18により実行されるプログラムを示すブロック図
である。図3に示すプログラム41s〜44s,41g〜44g,45は、例えばバス2
0に接続された図示せぬ不揮発性メモリから外部メモリ2にロードされる。
図3において、JPEGデコードプログラム41sは、CPU12がJPEG画像デー
タをデコードするためのプログラムである。JPEGデコードプログラム41sは、JP
EGデコード用の専用命令を使用して記述されたプログラムである。したがって、JPE
Gデコードプログラム41sのうち、専用命令は、専用命令演算部12bで実行され、そ
の他の汎用命令は、汎用命令演算部12aで実行される。このため、ASIC1内のCP
U12以外のCPUでは、実行されない。
一方、JPEGデコードプログラム41gは、CPU13〜18がJPEG画像データ
をデコードするためのプログラムである。JPEGデコードプログラム41gは、汎用命
令のみで記述されたプログラムである。したがって、JPEGデコードプログラム41g
は、汎用命令演算部13a〜18aで実行される。
なお、JPEGデコードプログラム41sとJPEGデコードプログラム41gとでは
、一部に異なる命令が使用されるが、同一データに対して、JPEGデコードプログラム
41sによる演算結果とJPEGデコードプログラム41gによる演算結果は、同一とな
る。
また、画像補正プログラム42sは、CPU13が画像補正を実行するためのプログラ
ムである。画像補正プログラム42sは、画像補正用の専用命令を使用して記述されたプ
ログラムである。したがって、画像補正プログラム42sのうち、専用命令は、専用命令
演算部13bで実行され、その他の汎用命令は、汎用命令演算部13aで実行される。こ
のため、ASIC1内のCPU13以外のCPUでは、このプログラム42sは実行され
ない。
一方、画像補正プログラム42gは、CPU12,14〜18が画像補正を実行するた
めのプログラムである。画像補正プログラム42gは、汎用命令のみで記述されたプログ
ラムである。したがって、画像補正プログラム42gは、汎用命令演算部12a,14a
〜18aで実行される。
なお、画像補正プログラム42sと画像補正プログラム42gとでは、一部に異なる命
令が使用されるが、同一データに対して、画像補正プログラム42sによる演算結果と画
像補正プログラム42gによる演算結果は、同一となる。
また、色変換プログラム43sは、CPU14が色変換を実行するためのプログラムで
ある。色変換プログラム43sは、色変換用の専用命令を使用して記述されたプログラム
である。したがって、色変換プログラム43sのうち、専用命令は、専用命令演算部14
bで実行され、その他の汎用命令は、汎用命令演算部14aで実行される。このため、A
SIC1内のCPU14以外のCPUでは、このプログラム43sは実行されない。
一方、色変換プログラム43gは、CPU12,13,15〜18が色変換を実行する
ためのプログラムである。色変換プログラム43gは、汎用命令のみで記述されたプログ
ラムである。したがって、色変換プログラム43gは、汎用命令演算部12a,13a,
15a〜18aで実行される。
なお、色変換プログラム43sと色変換プログラム43gとでは、一部に異なる命令が
使用されるが、同一データに対して、色変換プログラム43sによる演算結果と色変換プ
ログラム43gによる演算結果は、同一となる。
また、ハーフトーンプログラム44sは、CPU15〜18がハーフトーンを実行する
ためのプログラムである。ハーフトーンプログラム44sは、ハーフトーン用の専用命令
を使用して記述されたプログラムである。したがって、ハーフトーンプログラム44sの
うち、専用命令は、専用命令演算部15b〜18bで実行され、その他の汎用命令は、汎
用命令演算部15a〜18aで実行される。このため、ASIC1内のCPU15〜18
以外のCPUでは、このプログラム44sは実行されない。
一方、ハーフトーンプログラム44gは、CPU12〜14がハーフトーンを実行する
ためのプログラムである。ハーフトーンプログラム44gは、汎用命令のみで記述された
プログラムである。したがって、ハーフトーンプログラム44gは、汎用命令演算部12
a〜14aで実行される。
なお、ハーフトーンプログラム44sとハーフトーンプログラム44gとでは、一部に
異なる命令が使用されるが、同一データに対して、ハーフトーンプログラム44sによる
演算結果とハーフトーンプログラム44gによる演算結果は、同一となる。
また、駆動制御プログラム45は、CPU11がプリンタ駆動部4を制御するためのプ
ログラムである。
上述のプログラムのうち、専用命令を含むプログラム41s〜44sは、専用命令を使
用するとともに、CPU内蔵の命令RAM33およびデータRAM36を可能な限り使用
するようにして、CPU毎に最適化されてコーディングされている。一方、汎用命令のみ
のプログラム41g〜44gは、CPU内蔵の命令キャッシュ32およびデータキャッシ
ュ35並びに命令RAM33およびデータRAM36の容量を意識して、バス20を介し
ての外部RAM2に対するリード/ライトの回数が少なくなるようにコーディングされて
いる。例えば、あるループ処理内で使用するデータ量をデータキャッシュ35の容量以下
としたりする。
なお、上述のASIC1は、例えばTensilica社のXtensa技術により設
計可能である。Xtensa技術を使用する場合、上述の各専用命令は、Xtensa技
術で提供される命令拡張TIE(Tensilica Instruction Extension )を使用することで
定義可能であり、各専用命令演算部12b〜18bのハードウェア構成も、Xtensa
技術で実現可能である。TIEを使用して設定された専用命令を使用することで、通常、
同一の演算が2〜5倍に高速化されるが、場合によっては数十倍に高速化される。
次に、上記装置により実行される一連の画像処理について説明する。図4は、実施の形
態1に係る装置により実行される一連の画像処理について説明するフローチャートである
この装置では、まず、JPEG画像ファイルに含まれるJPEGデータがデコードされ
る(ステップS1)。デコード後の画像データは、RGB画像データである。
次に、必要に応じて、デコード後の画像データに対して、画像補正が施される(ステッ
プS2)。画像補正としては、トーン調整および彩度強調を行う第1処理、シャープネス
を行う第2処理、およびノイズ除去を行う第3処理のうちの1または複数が、必要に応じ
て行われる。
そして、画像補正後の画像データに対して、リサイズとレイアウトの処理が実行される
(ステップS3)。リサイズ処理では、印刷解像度、印刷用紙サイズ、一枚の用紙に印刷
する画像の数に応じた拡大・縮小率で、画像データのサイズ(縦横の画素数)が変更され
る。また、レイアウト処理では、印刷イメージに一致する画像データ(RGBデータ)が
生成される。
次に、色座標系の変更が実行される。この実施の形態1では、リサイズとレイアウトの
処理後のRGB画像データが、CYMK画像データに変換される(ステップS4)。なお
、この実施の形態1では、RGB画像データが、7色のCYMK画像データ(シアンC,
イエローY,マゼンタM,ブラックK,レッドR,ブルーB,クリア(つやだし)CL)
に変換される。
色変換後のCYMK画像データにおける各色の画像データに対してハーフトーンが実行
される(ステップS5)。ハーフトーンでは、ディザ法または誤差分散法により各色の画
像データが二値化される。
そして、二値化後の各色の画像データに基づいて、CPU11によりプリンタ駆動部4
が制御され、媒体上に画像が印刷される(ステップS6)。その際、例えばマイクロウィ
ーブ処理などが適宜施される。
このようにして、JPEGデータといった汎用の画像データが、プリンタ固有の、プリ
ンタ駆動部4の駆動制御に適したデータ形式に変換される。
ここで、実施の形態1に係る画像処理装置において、上述の処理を実行する場合のデー
タの流れについて説明する。なお、ここでは、説明を簡単にするために、ある処理の一部
を、それとは別の種別の処理を実行するCPUに実行させる分散処理は行われないものと
仮定して説明する。ただし、CPU15〜18は、ハーフトーンを分散処理する。図5は
、実施の形態1に係る画像処理装置において一連の画像処理を実行する場合のデータの流
れについて説明するブロック図である。
まず、メモリカード3内のJPEGファイル3aに含まれるJPEGデータがCPU1
2に転送される(フローF1)。
そして、JPEGファイル3a、印刷用紙のサイズ、印刷解像度、ユーザ指定の条件に
基づいて、画像補正の種類、度合いなどを指定するパラメータ、色変換時のLUT(ルッ
クアップテーブル)を指定するパラメータ、ハーフトーンの設定パラメータ(二値化方法
の選択、二値化時の誤差分散の係数パターンなどを設定するためのパラメータ)が生成さ
れ、CPU12からデュアルポートRAM21に転送され格納される。
CPU12によるJPEGデコード後、デコードされた画像データは、所定のブロック
あるいはバンドごとにCPU12からデュアルポートRAM21に転送され格納された後
、CPU13により読み出される(フローF2)。
さらに、画像補正に関するパラメータがデュアルポートRAM21からCPU13によ
り読み出され、そのパラメータに応じた画像補正が、デュアルポートRAM21から読み
出した画像データに対してCPU13により実行される。画像補正後、処理後の画像デー
タは、CPU13から外部RAM2に転送され格納された後、CPU12により読み出さ
れる(フローF3)。
そして、CPU12によるリサイズ・レイアウト処理後、処理後の画像データは、CP
U12から外部RAM2に転送され格納された後、CPU14により読み出される(フロ
ーF4)。
次に、色変換に関するパラメータがデュアルポートRAM21からCPU14により読
み出され、そのパラメータに応じた色変換がCPU14により実行される。色変換後、処
理後の画像データは、所定サイズのブロックごとにCPU14からデュアルポートRAM
22に転送され格納された後、CPU15〜18に順次読み出される(フローF5)。
次に、ハーフトーンに関するパラメータがデュアルポートRAM21からCPU15〜
18により読み出され、そのパラメータに応じたハーフトーンがCPU15〜18により
実行される。ハーフトーン後、処理後の画像データは、CPU15〜18から外部RAM
2に転送され格納された後、CPU11により読み出される(フローF6)。
このように、CPU11〜CPU18の間での画像データの転送には、デュアルポート
RAM21,22の経路と外部RAM2の経路が使用される。
なお、ここでは、上述のように分散処理は行われないものとして説明したが、専用命令
演算部を有するCPUとその他のCPUで分散処理が実行される場合も同様に、CPU1
1〜CPU18の間での画像データの転送には、デュアルポートRAM21,22および
外部RAM2が使用され、各種別の処理に関するパラメータ、JPEGデコード後の画像
データおよび色変換後の画像データの転送は、デュアルポートRAM21,22が使用さ
れる。
図6は、専用命令演算部を有するCPUとその他のCPUで分散処理を行わない場合の
データ処理の流れおよびタイムシーケンスの一例を示す図である。なお、図6では、各処
理の期間が画像データの処理単位となるブロックごとに示されている。また、図中の番号
は、そのブロックの番号を示している。すなわち、「(1)」が付されたブロックは、画
像中の同一箇所についての一連の処理を示している。
図6に示すように、例えば、ブロック(1)については、T0〜T1の期間においてC
PU12によりJPEGデコードが実行され、T1〜T2の期間においてCPU13によ
り画像補正が実行され、T2〜T3の期間においてCPU12によりリサイズとレイアウ
トが実行され、T3〜T4の期間においてCPU14により色変換が実行されCPU15
によりハーフトーンが実行され、その後に、CPU11によるプリンタ駆動部4の制御が
実行される。
なお、図6では、データの転送時間は図示していない。また、色変換が完了したデータ
に対して順次ハーフトーンが実行されるため、同一ブロックについての色変換とハーフト
ーンについては、ほぼ並行して実行される。
また、プロック(1)以降のブロック(2),・・・についても、同様の順番で処理が
実行される。また、CPU11〜CPU18の利用効率を挙げるために、JPEGデコー
ド、画像補正、色変換、ハーフトーンおよび駆動部制御については、図6に示すように、
パイプライン処理が実行される。
なお、ここでは、CPU15〜18によるハーフトーンの分散処理以外には同一の処理
を複数のCPUで実行する分散処理は行われないものとして説明したが、この実施の形態
1では、実際には、同一の処理が複数のCPU(その処理の専用命令演算部を有するCP
Uとその他のCPU)で分散して実行される場合がある。
ここまででは、この実施の形態1に係る画像処理装置により実行される一連の画像処理
およびその画像処理装置の基本的な動作について簡単に説明するため、CPU15〜18
によるハーフトーンの分散処理以外には同一の処理を複数のCPUで実行する分散処理は
行われないものとして説明した。次に、この実施の形態1に係る画像処理装置により実行
される分散処理について説明する。
この実施の形態1に係る画像処理装置により実行される分散処理では、(1)各処理種
別について各処理部(CPU12,CPU13,CPU14,CPU15〜18)での処
理割合を決定する分散割合決定処理、(2)各処理種別について分散割合決定処理で処理
を割り当てられた処理部へ分散割合決定処理で決定された処理割合分の処理を開始させる
開始処理、(3)各処理種別について割り当てられた処理割合分の処理を実行する個別処
理が実行される。
図7は、本発明の実施の形態1に係る画像処理装置により実行される分散処理を説明す
るブロック図である。
図7に示すように、分散割合決定処理61は、CPU12により実行される。分散割合
決定処理61は、CPU12が、分散割合決定処理61を記述した図示せぬプログラムを
実行することで実現される。そのプログラムは、例えば外部RAM2に記憶される。分散
割合決定処理61では、CPU12は、処理能力テーブル52に格納されている各処理種
別に対する各処理部(CPU12、CPU13、CPU14、およびCPU15〜18の
4つのそれぞれ)の処理能力を示すデータ(所定の画素数分データの処理時間、単位時間
あたりの処理画素数など)を読み出し、各処理部へ割り当てられた1または複数の個別処
理に要する計算時間が可能な限り均等になるように、各処理種別についての各処理部への
処理割合を決定する。この負荷分散テーブル51および処理能力テーブル52は、デュア
ルポートRAM21,22に格納されるのが好ましいが、外部RAM2に格納されてもよ
い。
図8は、本発明の実施の形態1における処理能力テーブル52の一例を示す図である。
処理能力テーブル52は、予め設定されたデフォルトの処理能力テーブル52a(図8(
A))と、画像データに対する実際の各個別処理63の際に収集された処理能力情報を含
む処理能力テーブル52b(図8(B))を有する。
処理能力テーブル52aは、各処理部と処理種別との組合せに対するデフォルトの処理
能力情報(図8では処理速度)を有する。処理能力テーブル52aは、処理種別が、JP
EGデコード、画像補正の第1処理(トーン調整および彩度強調)、画像補正の第2処理
(シャープネス)、画像補正の第3処理(ノイズ除去)、色変換、ディザ法によるハーフ
トーン、および誤差拡散法によるハーフトーンのいずれかであり、かつ、処理部が、CP
U12、CPU13、CPU14、およびCPU15〜18のいずれかであるすべての組
合せについての処理能力情報のデフォルト値を有する。例えば、JPEGデコードについ
てのCPU12の処理能力情報のデフォルト値は、800×1000画素/秒となってい
る。
処理能力テーブル52bは、ある画像データを処理する際に画像データの1バンドまた
は1ライン分ずつ測定された実測値としての、各処理部と各処理種別との組合せに対する
処理能力情報(図8では処理速度)を有する。図8(b)に示す状態では、処理能力テー
ブル52bに、JPEGデコードについてのCPU12の処理能力情報(760×100
0画素/秒)、JPEGデコードおよび3つの画像補正についてのCPU13の処理能力
情報(300×1000画素/秒、2,300×1000画素/秒,1,190×100
0画素/秒,350×1000画素/秒)、色変換についてのCPU14の処理能力情報
(1,600×1000画素/秒)、並びに、画像補正の第1処理およびハーフトーンに
ついてのCPU15〜18の処理能力情報(543×1000画素/秒,980×100
0画素/秒)のみが登録されている。すなわち、その他の組合せについては、1バンドま
たは1ライン分の個別処理が実行されていないため、処理能力情報が登録されていない。
CPU12は、分散割合決定処理の際、処理能力テーブル52内の処理能力情報を参照
するが、処理能力テーブル52bの値を優先的に使用する。つまり、あるCPUと処理種
別との組合せについて処理能力情報が収集されている場合には、処理能力テーブル52b
の値が使用され、未だ収集されていない場合には、処理能力テーブル52aのデフォルト
値が使用される。
なお、CPU15〜18の処理能力情報には、4つのCPU15〜18の処理能力情報
の代表値(CPU15〜18のうちの所定のCPUの値、平均値、最大値、最小値など)
が使用される。また、CPU15〜18が構成する処理部については、CPU15〜18
のうちのいずれか1つのCPUが、その代表値で処理能力テーブル52の処理能力情報を
更新するようにすればよい。
図9は、本発明の実施の形態1における負荷分散テーブル51の一例を示す図である。
なお、図9に示す負荷分散テーブル51は、2592×1944画素の画像データを4つ
、8×11インチの印刷用紙に、1440×720dpiで印刷する場合の一例である。
負荷分散テーブル51は、各処理種別について、出力画像データの画素数、並びに、CP
U12、CPU13、CPU14およびCPU15〜18のそれぞれの処理能力値(処理
能力テーブル52の処理能力情報と同値)、処理割合および処理時間(予想される時間)
を有する。
さらに、負荷分散テーブル51は、CPU12、CPU13、CPU14およびCPU
15〜18のそれぞれの合計処理時間(6つの処理種別に関する処理時間の合計)Tcp
u、CPU12、CPU13、CPU14およびCPU15〜18の合計処理時間の平均
値および最大値、並びに、CPU12、CPU13、CPU14およびCPU15〜18
のそれぞれの合計処理時間と上記平均値との差を有する。
分散割合決定処理では、各処理種別について出力画像データの画素数と、各処理種別に
ついてのCPU12,13,14およびCPU15〜18の処理能力値とに基づいて、処
理割合が計算される。なお、各処理種別について出力画像データの画素数は、JPEGデ
ータの画素数、印刷条件などから計算される。また、各処理種別についてのCPU12,
13,14およびCPU15〜18の処理能力値には、処理能力テーブル52の処理能力
情報の値がそのまま使用される。
次に、開始処理62は、JPEGデコードを1または複数の処理部に開始させるJPE
Gデコード開始処理62a、画像補正を1または複数の処理部に開始させる画像補正開始
処理62b、色変換を1または複数の処理部に開始させる色変換開始処理62c、および
ハーフトーンを1または複数の処理部に開始させるハーフトーン開始処理62dからなる
。各開始処理62a〜62dを実行するCPUは、自己以外のCPUに個別処理を依頼す
る場合には、そのCPUに対して処理要求を発行する。
JPEGデコード開始処理62aは、CPU12により実行され、画像補正開始処理6
2bは、CPU13により実行され、色変換開始処理62cおよびハーフトーン開始処理
62dは、CPU14により実行される。各開始処理62a,62b,62c,62dは
、各開始処理62a,62b,62c,62dを記述した図示せぬプログラムを各CPU
12,13,14が実行することで実現される。それらのプログラムは、例えば外部RA
M2に記憶される。
なお、分散割合決定処理61および開始処理62は、予め割り当てられたCPUにより
固定的に実行される。また、分散割合決定処理61および開始処理62は、互いに非同期
に繰り返し実行される。
分散割合決定処理61は、すべての種別の処理について処理能力情報が更新される毎に
実行される。また、各開始処理62a〜62dは、JPEGデコード、画像補正、色変換
またはハーフトーンが所定量のデータ分完了するごとに繰り返し実行され、その所定量の
データの処理が1または複数の処理部に個別処理63として割り当てられる。
そして、各処理種別について、開始処理62により割り当てられた量の個別処理63が
、割り当てられた処理部により実行される。
この実施の形態1では、JPEGデコードについて、JPEGデコード専用命令演算部
12bを有するCPU12、またはCPU12と画像処理用のその他のCPU13〜18
のうちの1個のCPU(CPU_X)との2個のCPUに、個別処理63が割り当てられ
る。
なお、以下、各処理種別について、その処理種別に関する専用命令演算部を有するCP
U以外の画像処理用CPUのうちの、個別処理を割り当てられる1個のCPUのことをC
PU_Xという。
CPU12が単体でJPEGデコードを実行する場合には、CPU12のみにより、J
PEGデコード個別処理63aが実行される。CPU12およびCPU_XがJPEGデ
コードを実行する場合には、CPU12によりJPEGデコード個別処理63aが実行さ
れ、CPU13〜18のいずれか1つによりJPEGデコード個別処理63eが実行され
る。その際、JPEGデコード個別処理63aは、CPU12がJPEGデコードプログ
ラム41sを実行することにより実現される。また、JPEGデコード個別処理63eは
、CPU_XがJPEGデコードプログラム41gを実行することにより実現される。
なお、この実施の形態1では、2つのCPUでJPEGデコードを実行する場合、JP
EGデコード個別処理63aとJPEGデコード個別処理63eとの処理データ量の比(
分散割合)は、3:1、1:1、および1:3のいずれかとされる。したがって、個別処
理63a,63eを実行する処理部についての処理割合は、0、0.25、0.5、0.
75および1のいずれかとなる。
また、この実施の形態1では、画像補正について、画像補正専用命令演算部13bを有
するCPU13、または、CPU13とCPU_Xとの2個のCPUに、個別処理63が
割り当てられる。CPU13が単体で画像補正を実行する場合には、CPU13のみによ
り画像補正個別処理63bが実行される。CPU13およびCPU_Xが画像補正を実行
する場合には、CPU13により画像補正個別処理63bが実行され、CPU12,14
〜18のいずれか1つにより画像補正個別処理63fが実行される。その際、画像補正個
別処理63bは、CPU13が画像補正プログラム42sを実行することにより実現され
る。また、画像補正個別処理63fは、CPU_Xが画像補正プログラム42gを実行す
ることにより実現される。
なお、この実施の形態1では、2つのCPUで画像補正を実行する場合、画像補正個別
処理63bと画像補正個別処理63fとの処理データ量の比(分散割合)は、3:1、1
:1、および1:3のいずれかとされる。したがって、個別処理63b,63fを実行す
る処理部についての処理割合は、0、0.25、0.5、0.75および1のいずれかと
なる。
また、この実施の形態1では、色変換について、色変換専用命令演算部14bを有する
CPU14、または、CPU14とCPU_Xとの2個のCPUに、個別処理63が割り
当てられる。CPU14が単体で色変換を実行する場合には、CPU14のみにより色変
換個別処理63cが実行される。CPU14およびCPU_Xが色変換を実行する場合に
は、CPU14により色変換個別処理63cが実行され、CPU12,13,15〜18
のいずれか1つにより色変換個別処理63gが実行される。その際、色変換個別処理63
cは、CPU14が色変換プログラム43sを実行することにより実現される。また、色
変換個別処理63gは、CPU_Xが色変換プログラム43gを実行することにより実現
される。
なお、この実施の形態1では、2つのCPUで色変換を実行する場合、色変換個別処理
63cと色変換個別処理63gとの処理データ量の比(分散割合)は、3:1、1:1、
および1:3のいずれかとされる。したがって、個別処理63c,63gを実行する処理
部についての処理割合は、0、0.25、0.5、0.75および1のいずれかとなる。
また、この実施の形態1では、ハーフトーンについて、ハーフトーン専用命令演算部1
5b〜18bを有するCPU15〜18、または、CPU15〜18とCPU_Xとの5
個のCPUに、個別処理63が割り当てられる。CPU15〜18が色変換を実行する場
合には、CPU15〜18のみによりハーフトーン個別処理63dが実行される。CPU
15〜18およびCPU_Xがハーフトーン個別処理を実行する場合には、CPU15〜
18によりハーフトーン個別処理63dが実行され、CPU12〜14のいずれか1つに
よりハーフトーン個別処理63hが実行される。その際、ハーフトーン個別処理63dは
、CPU15〜18がハーフトーンプログラム44sを実行することにより実現される。
また、ハーフトーン個別処理63hは、CPU_Xがハーフトーンプログラム43hを実
行することにより実現される。
なお、この実施の形態1では、色変換により7色のCMYK画像データが生成され、7
色のCMYK画像データのうちの2色に対してディザ法による二値化処理が実行され、5
色に対して誤差拡散法による二値化処理が実行される。ディザ法による二値化処理の計算
量は、誤差拡散法による二値化処理の計算量より非常に小さいため、4個のCPU15〜
18でハーフトーンを行う場合には、CPU15により2色分の誤差拡散法による二値化
処理が実行され、CPU16により1色分の誤差拡散法による二値化処理と1色分のディ
ザ法による二値化処理が実行され、CPU17により1色分の誤差拡散法による二値化処
理と1色分のディザ法による二値化処理が実行され、CPU18により1色分の誤差拡散
法による二値化処理が実行される。
一方、CPU15〜18およびCPU_Xでハーフトーンを行う場合には、CPU15
により1色分の誤差拡散法による二値化処理が実行され、CPU16により1色分の誤差
拡散法による二値化処理と1色分のディザ法による二値化処理が実行され、CPU17に
より1色分の誤差拡散法による二値化処理と1色分のディザ法による二値化処理が実行さ
れ、CPU18により1色分の誤差拡散法による二値化処理が実行され、CPU_Xによ
り1色分の誤差拡散法による二値化処理が実行される。
このため、5つのCPUでハーフトーンを実行する場合、ハーフトーン個別処理63d
とハーフトーン個別処理63hとの処理データ量の比(分散割合)は、略4:1とされる
各個別処理63a〜63gでは、割り当てられた画像処理(画像データの1バンドまた
は1ライン分)が完了すると、割り当てられた画像処理に要した時間および処理データ量
などのデータが、処理能力データとして、処理能力テーブル52に格納される。そして、
この処理能力データは、その後の分散割合決定処理61に反映される。
なお、この実施の形態1では、CPU12では、それぞれマルチタスクOSが稼動して
いる。CPU12では、分散割合決定処理61a、JPEGデコード開始処理62aとJ
PEGデコード個別処理63bの2つ、およびその他の各個別処理63f,63g,63
hは、それぞれ別々のタスク(プロセス)として実行される。また、CPU13〜18に
おいてもマルチタスクOSを稼動させるようにしてもよい。その場合、例えば、CPU1
3では、画像補正開始処理62bと画像補正個別処理63bの2つ、およびその他の各個
別処理63e,63g,63hは、それぞれ別々のタスク(プロセス)として実行される
。また、CPU14では、色変換開始処理62cと色変換個別処理63cとハーフトーン
開始処理62dの3つ、およびその他の各個別処理63e,63f,63hは、それぞれ
別々のタスク(プロセス)として実行される。また、CPU15〜18の各CPUでは、
ハーフトーン個別処理63d、およびその他の各個別処理63e,63f,63gは、そ
れぞれ別々のタスク(プロセス)として実行される。
ここで、分散割合決定処理61の詳細について説明する。図10は、本発明の実施の形
態1における分散割合決定処理61を説明するフローチャートである。
まず、CPU12は、処理対象となる画像データ(JPEGデータ)、印刷条件(印刷
用紙、印刷解像度)、デフォルトの処理能力テーブル52aなどに基づいて、最初の負荷
分散テーブル51を生成する(ステップS11)。なお、最初の負荷分散テーブル51で
は、JPEGデコードについては、CPU12の処理割合は1であり、その他のCPU1
3〜18の処理割合は0である。また、画像補正の第1処理〜第3処理については、CP
U13の処理割合は1であり、その他のCPU12,14〜18の処理割合は0である。
また、色変換については、CPU14の処理割合は1であり、その他のCPU12,13
,15〜18の処理割合は0である。また、ハーフトーンについては、CPU15〜CP
U18の処理割合は1であり、その他のCPU12〜14の処理割合は0である。
次に、CPU12は、画像横方向(縦方向および横方向のうち、隣接する画像領域の画
像データが連続している方向)の始端から終端までの画像データの1バンド分または1ラ
イン分の処理が、すべての処理種別(JPEGデコード、画像補正の3処理、色変換およ
びハーフトーン)について少なくとも1回終了するまで待機する(ステップS12)。
なお、JPEGデコードにおける画像横方向の始端から終端までの1回の処理は、縦方
向がMCU(Minimum Coded Unit)の縦方向分の画素で横方向が画像横幅分の画素で構成
される1バンドに対するJPEGデコードとなる。なお、MCUは、縦8画素、横8画素
のブロックである。
また、画像補正における画像横方向の始端から終端までの1回の処理は、画像データの
1ライン(つまり、縦方向が1画素で、横方向が画像横幅分の画素の領域)に対する第1
処理〜第3処理となる。
また、色変換における画像横方向の始端から終端までの1回の処理は、画像データの2
ラインに対する色座標変換処理となる。
また、ハーフトーンにおける画像横方向の始端から終端までの1回の処理は、画像デー
タの2ラインに対する二値化処理となる。
なお、このように、処理種別によって、画像横方向の始端から終端までの1回の処理に
係る画素領域が異なることや、処理種別によって計算量が異なることに起因して、同一領
域に対するすべての処理種別における個別処理は、同時には終了しない。しかしながら、
すべての処理種別における個別処理では、バリア同期はせず、各処理種別において、1バ
ンド分または1ライン分の処理が完了すると、開始処理後に、次の1バンドまたは1ライ
ンについての個別処理が直ちに開始される。
また、1バンド分または1ライン分の処理がすべての処理種別について少なくとも1回
終了したか否かの判定については、処理種別分のフラグを例えば処理能力テーブル52b
内に設け、各個別処理63を実行する処理部が、1バンド分または1ライン分の個別処理
63が終了したときにその個別処理63の処理種別のフラグを立て、CPU12が、その
フラグがすべて立っているか否かで、1バンド分または1ライン分の処理がすべての処理
種別について少なくとも1回終了したか否かを判定すればよい。なお、その場合、CPU
12は、1バンド分または1ライン分の処理がすべての処理種別について少なくとも1回
終了したと判定した際に、すべてのフラグを下ろす。
そして、CPU12は、1バンド分または1ライン分の処理がすべての処理種別につい
て少なくとも1回終了したと判定すると、処理能力テーブルに基づき、各処理種別につい
て各処理部の処理割合を決定し、負荷分散テーブル51を更新する(ステップS13)。
この実施の形態1では、各処理種別について、1バンド分または1ライン分の個別処理6
3が終了するごとに、その個別処理63を実行する処理部が、その処理種別と自己との組
合せについての処理能力情報を更新するので、1バンド分または1ライン分の処理がすべ
ての処理種別について少なくとも1回終了した後に負荷分散テーブル51を更新すること
で、すべての処理部の動的に変化する処理能力値を考慮して、各処理部への処理割合が決
定される。
そして、上述のステップS12およびステップS13の処理が、画像データが終わるま
で繰り返され、いずれかの処理種別で、処理すべき画像データがなくなると、分散割合決
定処理61は終了する(ステップS14)。
ここで、図11は、図10における負荷分散テーブル更新処理(ステップS13)の詳
細を説明するフローチャートである。
負荷分散テーブル更新処理(ステップS13)では、まず、CPU12は、処理能力テ
ーブル52の各処理能力情報で、それに対応する負荷分散テーブル51の処理能力値を更
新する(ステップS13a)。また、CPU12は、JPEGファイル3aの画像データ
(入力画像データ)のサイズ、印刷画像数、印刷用紙サイズ、印刷解像度などに基づいて
、各処理種別の出力画像の画素数(つまり、処理対象の画素数)を計算し、負荷分散テー
ブル51に登録する。
そして、CPU12は、各処理種別についての処理割合をデフォルトの値にする(ステ
ップS13b)。デフォルトでは、各処理種別について、その処理種別に対応する専用命
令演算部を有するCPUの処理割合が1であり、その他のCPUの処理割合が0である。
したがって、例えば、JPEGデコードについては、CPU12の処理割合は1であり、
CPU13,14,15〜18の処理割合は0である。
次に、CPU12は、処理部毎の処理時間Tcpu、平均処理時間Tav、および平均
処理時間Tavからの処理部毎の処理時間Tcpuの偏差dTcpuを計算する(ステッ
プS13c)。
その際、CPU12は、負荷分散テーブル51を参照し、各処理種別について、処理す
べき画素数Npと、各処理部の処理能力値Pと、各処理部の処理割合αに基づいて、その
処理種別の処理時間T(T=Np×α×P)を計算する。また、CPU12は、ある処理
部についての、JPEGデコードの処理時間T1、画像補正の第1処理の処理時間T2、
画像補正の第2処理の処理時間T3、画像補正の第3処理の処理時間T4、色変換の処理
時間T5、およびハーフトーンの処理時間T6の和をその処理部の処理時間Tcpu(T
cpu=T1+T2+T3+T4+T5+T6)とする。
また、CPU12は、CPU12の処理時間Tcpu12、CPU13の処理時間Tc
pu13、CPU14の処理時間Tcpu14、および、CPU15〜18の処理時間T
cpu15〜18の平均値を平均処理時間Tavとして計算する(Tav=(Tcpu1
2+Tcpu13+Tcpu14+Tcpu15〜18)/4)。
また、CPU12は、処理時間Tcpuと平均処理時間Tavとから、各処理部につい
ての処理時間の偏差dTcpuを計算する。例えば、CPU12についての処理時間の偏
差dTcpu12は、(Tav−Tcpu12)となる。
次に、CPU12は、ステップS13cでの計算結果に基づいて、処理時間Tcpuが
最大である処理部(CPU_A)、CPU_Aの処理のうち処理時間Tが最大である処理
種別(PROC_A)、CPU_A以外の処理部のうちの、デフォルトで割り当てられる
処理種別のみを実行し他の処理種別の分散処理を実行しない1または複数の処理部(CP
U_X)を特定する(ステップS13d)。
例えば図9に示す負荷分散テーブル51の場合では、CPU_Aは、CPU13と特定
され、PROC_Aは、画像補正の第3処理(ノイズ除去)と特定され、CPU_Xは、
CPU12、CPU14、およびCPU15〜18と特定される。
次に、CPU12は、所定の分散割合(1:0,3:1,1:1,1:3など)および
CPU_Xの各組合せについて、CPU_AとCPU_Xの処理割合を計算し、その処理
割合でのCPU_AとCPU_Xの処理時間Tcpuを計算する(ステップS13e)。
例えば、CPU_AとCPU_Xの分散割合が3:1である場合には、CPU_Aの処
理割合は、0.75となり、CPU_Xの処理割合は、0.25となる。
次に、CPU12は、CPU_Aの処理時間TcpuとCPU_Xの処理時間Tcpu
の大きい方の処理時間が最小となるCPU_Xおよび分散割合を特定し、その分散割合に
基づいて、CPU_AとCPU_Xの処理割合を計算する(ステップS13f)。
さらに、CPU12は、ステップS13fで計算したCPU_AとCPU_Xの処理割
合に基づいて、処理部毎の処理時間Tcpu、平均処理時間Tav、処理部毎の処理時間
の偏差dTcpuを計算する(ステップS13g)。
そして、CPU12は、ステップS13gで計算した処理時間Tcpuの最大値が、負
荷分散テーブル51に記録されている処理時間Tcpuの最大値より小さいか否かを判定
する(ステップS13h)。
ステップS13gで計算した処理時間Tcpuの最大値が、負荷分散テーブル51に記
録されている処理時間Tcpuの最大値より小さい場合、CPU12は、ステップS13
f,S13gで計算した処理割合、処理時間Tcpu、平均処理時間Tav、および処理
時間の偏差dTcpuの値で負荷分散テーブル51内の対応する値を更新する(ステップ
S13i)。
一方、ステップS13gで計算した処理時間Tcpuの最大値が、負荷分散テーブル5
1に記録されている処理時間Tcpuの最大値以上ではない場合、CPU12は、負荷分
散テーブル更新処理(ステップS13)を終了する。
このように、処理部毎の処理時間Tcpuの最大値が減少する間は、ステップS13d
〜ステップS13iの処理が繰り返し実行され負荷分散テーブル51が更新されていく。
この負荷分散テーブル更新処理では、負荷の最も重いCPUに割り当てられた処理のうち
、最も重い処理が分散されていくので、処理部に掛かる負荷が均一化されていく。
ここで、一例として、図9に示す負荷分散テーブル51の更新について説明する。図1
2は、図9の負荷分散テーブル51の更新途中の負荷分散テーブル51を示す図である。
図13は、図9の負荷分散テーブル51を更新した負荷分散テーブル51を示す図である
まず、図9に示す負荷分散テーブル51では、CPU_Aは、CPU13と特定され、
CPU_Xは、CPU12、CPU14およびCPU15〜18と特定され、PROC_
Aは、画像補正の第3処理(ノイズ除去)と特定される(ステップS13d)。
次に、CPU13の処理割合とCPU_Xの処理割合が、1と0、0.75と0.25
、0.5と0.5、0.25と0.75、および0と1のそれぞれとした場合の、CPU
13の処理時間とCPU_Xの処理時間が計算され(ステップS13e)、計算されたC
PU13の処理時間TcpuとCPU_Xの処理時間Tcpuの大きい方の処理時間が最
小となる分散割合が選択される(ステップS13f)。
図9に示す負荷分散テーブル51の場合、画像補正の第3処理(ノイズ除去)について

(a)処理割合が1.00の場合のCPU13の処理時間Tcpuは75.97となり、
(b)処理割合が0.75の場合のCPU13の処理時間Tcpuは63.37となり、
(c)処理割合が0.50の場合のCPU13の処理時間Tcpuは50.78となり、
(d)処理割合が0.25の場合のCPU13の処理時間Tcpuは38.18となる。
また、画像補正の第3処理(ノイズ除去)をCPU12へ分散させる場合、
(a)処理割合が1.00のときの処理時間Tcpu12は176.73となり、
(b)処理割合が0.75のときの処理時間Tcpu12は138.85となり、
(c)処理割合が0.50のときの処理時間Tcpu12は100.96となり、
(d)処理割合が0.25のときの処理時間Tcpu12は63.08となる。
また、画像補正の第3処理(ノイズ除去)をCPU14へ分散させる場合、
(a)処理割合が1.00のときの処理時間Tcpu14は237.22となり、
(b)処理割合が0.75のときの処理時間Tcpu14は183.62となり、
(c)処理割合が0.50のときの処理時間Tcpu14は130.02となり、
(d)処理割合が0.25のときの処理時間Tcpu14は76.41となる。
また、画像補正の第3処理(ノイズ除去)をCPU15〜18へ分散させる場合、
(a)処理割合が1.00のときの処理時間Tcpu15〜18は76.41となり、
(b)処理割合が0.75のときの処理時間Tcpu15〜18は63.01となり、
(c)処理割合が0.50のときの処理時間Tcpu15〜18は49.61となり、
(d)処理割合が0.25のときの処理時間Tcpu15〜18は36.21となる。
なお、4つのCPU15〜18の処理時間は、CPU15〜18における1個のCPU
による処理時間の4分の1と計算される。
したがって、CPU13の処理時間TcpuとCPU_Xの処理時間Tcpuの大きい
方の処理時間が最小となるCPU_Xおよび処理割合として、CPU15〜18、0.5
(CPU13の処理割合)および0.5(CPU15〜18の処理割合)が選択される。
そして、画像処理の第3処理についてのCPU12,14の処理割合は0とされる。
そして、計算された処理割合で、処理時間Tcpu、平均処理時間Tav、およびCP
U毎の処理時間の偏差dTcpuが計算される(ステップS13g)。このとき、CPU
12〜14の処理時間Tcpuは、それぞれ、25.19、50.78、22.81とな
り、CPU15〜18の処理時間Tcpuは49.61となる。そして、平均処理時間T
avは37.10となり、処理時間Tcpuの最大値は50.78となる。また、CPU
12〜14の処理時間の偏差dTcpuは、それぞれ、−11.90、13.68、−1
4.29となり、CPU15〜18の処理時間の偏差dTcpuは12.51となる。
そして、このときの処理時間Tcpuの最大値(=50.78)が、この時点の負荷分
散テーブル51(図9)の処理時間Tcpuの最大値(=75.97)より小さいため、
負荷分散テーブル51の更新処理は継続される(ステップS13h)。
そして、計算された処理割合、各処理部についての各処理種別の処理時間T、処理部毎
の処理時間Tcpu、その平均値Tavと最大値、および処理時間の偏差dTcpuで、
対応する負荷分散テーブル51の値が更新される(ステップS13i)。
図9に示す負荷分散テーブル51に対して、ステップS13d,S13e,S13f,
S13g,S13iの処理を施したものが、図12に示す負荷分散テーブル51となる。
次に、ステップS13dに戻り、図12に示す負荷分散テーブル51については、CP
U_Aは、CPU13と特定され、CPU_Xは、CPU12、CPU14およびCPU
15〜18と特定され、PROC_Aは、画像補正の第2処理(シャープネス)と特定さ
れる。
そして、同様にしてステップS13e,S13f,S13gの処理が実行され、その結
果として、処理時間Tcpuの最大値が49.49となる。
そして、このときの処理時間Tcpuの最大値(=49.49)が、この時点の負荷分
散テーブル51(図12)の処理時間Tcpuの最大値(=50.78)より小さいため
、負荷分散テーブル51の更新処理は継続される(ステップS13h)。
そして、計算された処理割合、各処理種別の処理時間T、処理部毎の処理時間Tcpu
、その平均値Tavと最大値、および処理時間の偏差dTcpuで、対応する負荷分散テ
ーブル51の値が更新される(ステップS13i)。
図12に示す負荷分散テーブル51に対して、ステップS13d,S13e,S13f
,S13g,S13iの処理を施したものが、図13に示す負荷分散テーブル51となる
そして、図13に示す負荷分散テーブル51に対して、ステップS13d,S13e,
S13f,S13gの処理が実行され、その結果としての処理時間Tcpuの最大値が、
この時点の負荷分散テーブル51(図13)の処理時間Tcpuの最大値(=49.49
)より小さくならないため、負荷分散テーブル51の更新処理が終了される(ステップS
13h)。
この例では、このようにして、図9に示す負荷分散テーブル51は、図8に示す処理能
力テーブル52の処理能力情報に応じてCPU12〜CPU18の負荷が均一に近づくよ
うに、図13に示す負荷分散テーブル51に更新される。
以上のように、上記実施の形態1によれば、開始処理62を実行するCPU12〜14
は、負荷分散テーブル51を参照し、各時点における分散割合でその画像処理を、CPU
12〜18における2以上の処理部に分散してそれぞれ実行させる開始処理手段として機
能する。
これにより、負荷分散テーブルに基づいて画像処理の分散処理が開始させるので、複数
の処理部に対して処理の最初から適切に負荷分散を行い一部の処理部が過負荷になる可能
性を低くすることができ、さらに処理部が3以上であっても適切に負荷分散を行うことが
できる。
また、上記実施の形態1によれば、分散割合決定処理61を実行するCPU12は、C
PU12〜18の処理能力値に基づいて各画像処理の分散割合を負荷分散テーブルに設定
する分散割合設定手段として機能する。
これにより、各処理部の処理能力に応じた分散割合が負荷分散テーブルに設定され、そ
れに基づいて負荷分散が行われるため、適切に負荷分散を行うことができる。
また、上記実施の形態1によれば、分散割合決定処理61を実行するCPU12は、画
像処理のある種別について高速に演算可能な演算部を有する処理部に対して、常にその種
別の画像処理の一部または全部が割り当てられる分散割合を設定する。
これにより、画像処理の種別に応じて高速な処理部が優先的に使用されるため、適切に
負荷分散を行うことができる。
また、上記実施の形態1によれば、画像処理の実行開始と負荷分散テーブルへの画像処
理の分散割合の設定とは互いに非同期に実行される。
これにより、負荷分散テーブルへの画像処理の分散割合の設定の終了を待たずに、画像
処理の実行開始をさせることができ、待ち時間の発生を抑制でき、効率良く分散処理を行
わせることができる。
実施の形態2.
本発明の実施の形態2に係る画像処理装置は、他の実施の形態に係る画像処理装置と同
様の構成および機能を有し、JPEGデコードの開始処理62aおよび個別処理63a,
63eについては以下のように実行する。
本実施の形態2においても、図7に示すように、JPEGデコード開始処理62aは、
CPU12により実行される。開始処理62aでは、JPEGデコード個別処理(63a
,63e)は、1または2の処理部に割り当てられる。
また、JPEGデコード個別処理(63a,63e)は、1つの処理部で実行する場合
にはCPU12に割り当てられ、2つの処理部で実行する場合には、CPU12と、CP
U13、CPU14およびCPU15〜18のいずれか(CPU_X)とに、負荷分散テ
ーブル51の分散割合に基づいて割り当てられる。
図14は、実施の形態2におけるJPEGデコード開始処理62aを説明するフローチ
ャートである。
JPEGデコード開始処理62aでは、CPU12は、まず、4×N個のMCU分のJ
PEGデータをメモリカード3のJPEGファイル3aから外部RAM2へ読み込む(ス
テップS21)。
なお、MCUは、デコードの最小単位であり、この実施の形態2では、処理割合が0.
25(=4分の1)の倍数のいずれかに設定されるので、分散処理のデータ最小単位をM
CUとするために、4の倍数(4×N)個のMCU分のデータが1度に読み込まれる。ま
た、Nは、分散に起因して発生するオーバヘッド(処理を分割することにより発生する計
算量の増加、通信量の増加などによる処理の遅延)が無視できる程度大きな数であって、
4×NがJPEGデータの横方向におけるMCUの数より小さくなるような数である。例
えば、N=10とされる。
次に、CPU12は、読み込んだ4×N個のMCUのDC成分を抽出する(ステップS
22)。
そして、CPU12は、負荷分散テーブル51におけるJPEGデコードについてのC
PU12の処理割合の値を読み出し、その値が1であるか否かに基づいて、JPEGデコ
ードを2つの処理部で分散処理するか否かを判定する(ステップS23)。なお、CPU
12は、この処理割合の値が1である場合には分散処理をしないと判定し、この処理割合
の値が1未満である場合には分散処理をすると判定する。
JPEGデコードを2つの処理部で分散処理すると判定した場合、CPU12以外のC
PU_Xへ分散処理を与える処理が実行される。
その際、CPU12は、今回の4×N個のMCUが画像データの1バンドの先頭部分(
左端部分)ではない場合には、前回CPU12以外のCPU_Xに割り当てた個別処理が
完了するまで待機する(ステップS24,S25)。一方、今回の4×N個のMCUが画
像データの1バンドの先頭部分である場合には、CPU12は、そのような待機はせず、
直ちに次の処理へ移行する。
次に、CPU12は、負荷分散テーブル51におけるJPEGデコードについてのCP
U12以外のCPU13〜18の処理割合の値が0以外であるCPUをCPU_Xとし、
処理種別、そのCPU_Xの処理割合分のMCUデータ、そのDC成分、および計算結果
の出力先アドレス(外部RAM2内の計算結果の格納領域のアドレス)を、デュアルポー
トRAM21に書き込む(ステップS26)。
例えば、分散割合が3:1である場合には、3×N個のMCU分のデータが、CPU1
2に割り当てられ、N個のMCU分のデータが、CPU_Xに割り当てられる。
そして、CPU12は、CPU_Xに割り込みを掛けて、処理割合分の個別処理63e
をCPU_Xに依頼する(ステップS27)。なお、割り込みは、CPU11〜18を相
互に接続する制御線を介して割り込み信号を伝送することにより行われる。また、割り込
みを受けたCPU_Xは、デュアルポートRAM21の所定の領域に記憶された処理種別
に応じて、CPU_Xの処理割合分のMCUデータ、そのDC成分および計算結果の出力
先アドレスを、デュアルポートRAM21から読み込む。
このようにして、ステップS24〜S27の処理により、CPU12以外のCPU_X
へ分散処理が与えられる。一方、ステップS23においてJPEGデコードを分散処理し
ないと判定された場合には、ステップS24〜S27の処理はスキップされる。
そして、CPU12は、分散処理の場合には、4×N個のうちの処理割合分のMCUに
対するJPEGデコード個別処理63aを実行し、分散処理をしない場合には、4×N個
のMCUに対するJPEGデコード個別処理63aを実行する(ステップS28)。CP
U12は、JPEGデコード個別処理63aを実行する場合、関数コールにより、JPE
Gデコード個別処理63aの関数やルーチンを呼び出して実行する。なお、CPU12に
割り当てられた処理割合分のMCUデータ、そのDC成分、および計算結果の出力先アド
レスは、一旦、デュアルポートRAM21および/またはCPU12のデータRAM33
6に書き込まれ、個別処理63aの際に使用される。
このようにして、4×N個のMCU分のJPEGデータのデコードが実行される。そし
て、画像データが終了するまで、ステップS21〜S28の処理が繰り返される(ステッ
プS29)。
図15は、実施の形態2におけるJPEGデコード個別処理63a,63eを説明する
フローチャートである。JPEGデコード個別処理63aは、CPU12により実行され
、JPEGデコード個別処理63eは、CPU12以外のCPU_Xにより実行される。
CPU12は、専用命令を含むプログラム41sを実行し、CPU_Xは、専用命令を含
まないプログラム41gを実行するが、両者の処理の流れは、同一である。ただし、専用
命令を使用した場合のほうが演算速度が高い。
CPU12は、個別処理63aの開始時のCPUタイマの値Tsを保存した後(ステッ
プS31)、処理割合分のJPEGデータをそのDC成分に基づいてデコードし(ステッ
プS32)、そのデコードが完了すると、その時のCPUタイマの値Teを検出し(ステ
ップS33)、両者の差(Te−Ts)を計測時間として、合計処理時間データに累積加
算し、デコードした画素数を合計処理画素数データに累積加算する(ステップS34)。
なお、合計処理時間データおよび合計処理画素数データは、処理に要した時間および処理
の完了した画素数を集計するためのデータである。これらのデータの初期値は0とされる
そして、CPU12は、今回の処理が1バンド内の最後の処理であるか否かを判定する
(ステップS35)。この判定については、例えば、今回の個別処理63a,63eが1
バンド内の最後の処理であるか否かを示すデータを他のパラメータとともに開始処理62
aにおいて設定しそのデータに基づいて各個別処理63a,63eで判定するようにすれ
ばよい。
CPU12は、今回の処理が1バンド内の最後の処理であると判定した場合には、合計
処理時間データをJPEG処理時間データとし、合計画素数データをJPEG処理画素数
データとして、処理能力テーブル52における、JPEGデコードについてのCPU12
の処理能力情報を更新する(ステップS36)。このとき、処理能力情報としては、JP
EG処理画素数データをJPEG処理時間データで除算した処理速度などが使用される。
更新後、ローカルデータである合計処理時間データおよび合計画素数データは、0にリセ
ットされる(ステップS37)。
また、このようにすることにより、1バンドの処理ごとに、1バンド分の画像データの
処理割合分についてのJPEGデコード個別処理63aの際に収集された処理能力情報で
、処理能力テーブル52におけるJPEGデコードについてのCPU12の処理能力情報
が更新される。
なお、分散処理の場合には、CPU12とCPU_Xは、上述の処理をそれぞれ実行す
る。したがって、CPU12の処理能力情報の他、分散処理の場合には、1バンドの処理
ごとに、1バンド分の画像データの処理割合分についてのJPEGデコード個別処理63
eの際に収集された処理能力情報で、処理能力テーブル52におけるJPEGデコードに
ついてのCPU_Xの処理能力情報が更新される。
このように、JPEGデコード個別処理63a,63eでは、処理割合分のJPEGデ
コードの他、処理時間および処理画素数の集計、並びに1バンドごとの処理能力テーブル
52の更新が行われる。
以上のように、上記実施の形態2によれば、JPEGデコード開始処理62aおよびJ
PEGデコード個別処理63a,63eが効率良く実行される。
実施の形態3.
本発明の実施の形態3に係る画像処理装置は、他の実施の形態に係る画像処理装置と同
様の構成および機能を有し、画像補正の開始処理および個別処理については以下のように
実行する。
本実施の形態3においても、図7に示すように、画像補正開始処理62bは、CPU1
3により実行される。画像補正開始処理62bでは、第1処理(トーン調整および彩度強
調)、第2処理(シャープネス)、および第3処理(ノイズ除去)のそれぞれについて、
分散するか否かが決定され、第1処理〜第3処理のそれぞれについて、1または2の処理
部に画像補正個別処理(63b,63f)が割り当てられる。
また、画像補正個別処理(63b,63f)は、1つの処理部で実行する場合にはCP
U13に割り当てられ、2つの処理部で実行する場合には、CPU13と、CPU12、
CPU14およびCPU15〜18のいずれか(CPU_X)とに、負荷分散テーブル5
1の分散割合に基づいて割り当てられる。
画像補正開始処理62bでは、CPU13は、画像補正の第3処理、第1処理、第2処
理の順番で、1ラインの画像データずつ画像補正個別処理63b,63fを実行させる。
なお、画像補正の第2処理および第3処理を実行するか否かは、ユーザの設定に応じて判
定される。つまり、第x処理(x=1,2,3)について、1ラインずつ分散処理するか
否かが判定され、処理割合に応じて、CPU13、または、CPU13とCPU_Xの2
つにより、画像補正個別処理(63b,63f)が実行される。
図16は、実施の形態3における画像補正開始処理62bを説明するフローチャートで
ある。また、図17は、図16における第x処理(x=1,2,3)の1ライン処理を説
明するフローチャートである。
まず、CPU13は、ユーザの設定に基づいて、第3処理(ノイズ除去)を実行するか
否かを判定し(ステップS41)、第3処理を実行する場合には、第3処理の1ライン処
理を実行する(ステップS42)。一方、第3処理(ノイズ除去)を実行しない場合には
、ステップS42はスキップする。
次に、CPU13は、第1処理(トーン調整および彩度強調)の1ライン処理を実行す
る(ステップS43)。
そして、第1処理が完了すると、CPU13は、ユーザの設定に基づいて、第2処理(
シャープネス)の1ライン処理を実行するか否かを判定し(ステップS44)、第2処理
を実行する場合には、第2処理の1ライン処理を実行する(ステップS45)。一方、第
2処理(シャープネス)を実行しない場合には、ステップS45はスキップする。
このように、JPEGデコード後の画像データについて、1ラインずつ順番に画像補正
が実行され、すべての画像データについて画像補正が実行されるまで、ステップS41〜
S45の処理が繰り返し実行される(ステップS46)。
ここで、図17を参照してステップS42,S43,S45の第x処理の1ライン処理
について説明する。なお、第1処理、第2処理および第3処理は、同様の手順で実行され
る。ただし、各画素に施される演算(後述のステップS62)は、処理種別に応じて異な
る。
第x処理の1ライン処理では、CPU13は、まず、負荷分散テーブル51における画
像補正の第x処理についてのCPU13の処理割合の値を読み出し、その値が1であるか
否かに基づいて、画像補正を2つの処理部で分散処理するか否かを判定する(ステップS
51)。なお、CPU13は、この処理割合の値が1である場合には分散処理をしないと
判定し、この処理割合の値が1未満である場合には分散処理をすると判定する。
画像補正の第x処理を2つの処理部で分散処理すると判定した場合、CPU13以外の
CPU_Xへ分散処理を与える処理が実行される。
その際、CPU13は、負荷分散テーブル51における画像補正の第x処理についての
CPU13以外のCPU12,14〜18の処理割合の値が0以外である処理部をCPU
_Xとし、処理対象となる1ライン分の画像データを分散割合で分割し、各処理割合分に
応じた画像データをCPU13およびCPU_Xに割り当てる(ステップS52)。
例えば、分散割合が3:1である場合には、1ラインの先頭から横幅画素数の4分の3
の画素領域がCPU13に割り当てられ、残りの4分の1の画素領域がCPU_Xに割り
当てられる。
そして、CPU13は、処理種別およびCPU_Xの処理割合分の画像データの先頭ア
ドレス(外部RAM2のJPEGデコード後の画像データの格納領域のアドレス)を、デ
ュアルポートRAM21に書き込む(ステップS53)。
そして、CPU13は、CPU_Xに割り込みを掛けて、処理割合分の個別処理63f
をCPU_Xに依頼する(ステップS54)。なお、割り込みは、CPU11〜18を相
互に接続する制御線を介して割り込み信号を伝送することにより行われる。また、割り込
みを受けたCPU_Xは、デュアルポートRAM21の所定の領域に記憶された処理種別
に応じて、CPU_Xの処理割合分の画像データの先頭アドレスを、デュアルポートRA
M21から読み込む。
このようにして、ステップS52〜S54の処理により、CPU13以外のCPU_X
へ分散処理が与えられる。一方、ステップS51において画像補正の第x処理を分散処理
しないと判定された場合には、ステップS52〜S54の処理はスキップされる。
そして、CPU13は、分散処理の場合には、1ライン分の画像データのうちの処理割
合分の画像データに対する画像補正の第x処理の個別処理63bを実行し、分散処理をし
ない場合には、1ライン分の画像データに対する画像補正の第x処理の個別処理63bを
実行する(ステップS55)。CPU13は、個別処理63bを実行する場合、関数コー
ルにより、個別処理63bの関数やルーチンを呼び出して実行する。
CPU13は、今回の1ライン処理を分散処理しているか否かを判定し(ステップS5
6)、分散処理していない場合には、画像補正の第x処理の個別処理63bが完了すると
1ライン処理を終了する。一方、分散処理をしている場合には、CPU13は、画像補正
の第x処理の個別処理63bの完了後、CPU_Xによる第x処理の個別処理63fの完
了まで待機し(ステップS57)、CPU_Xによる第x処理の個別処理63fが完了す
ると1ライン処理を終了する。
このようにして、1ライン分の画像データに対して画像補正の第x処理が実行される。
図18は、実施の形態3における画像補正個別処理63b,63fを説明するフローチ
ャートである。第1処理〜第3処理についての画像補正個別処理63bは、CPU13に
より実行され、第1処理〜第3処理についての画像補正個別処理63fは、CPU13以
外のCPU_Xにより実行される。CPU13は、専用命令を含むプログラム42sを実
行し、CPU_Xは、専用命令を含まないプログラム42gを実行するが、両者の処理の
流れは、同一である。ただし、専用命令を使用した場合のほうが演算速度が高い。
CPU13は、個別処理63bの開始時のCPUタイマの値Tsを保存した後(ステッ
プS61)、処理対象となるデータの先頭アドレスに基づいて処理対象の画像データを特
定し、処理割合分の画像データの各画素に対して第x処理の演算を施し(ステップS62
)、その演算が完了すると、その時のCPUタイマの値Teを検出し(ステップS63)
、両者の差(Te−Ts)を計測時間とする。
そして、CPU13は、その計測時間を第x処理についての画像補正処理時間データと
し、処理した画素数を第x処理についての画像補正処理画素数データとして、処理能力テ
ーブル52における、画像補正の第x処理についてのCPU13の処理能力情報を更新す
る(ステップS64)。このとき、処理能力情報としては、画像補正処理画素数データを
画像補正処理時間データで除算した処理速度などが使用される。
このようにすることにより、1ラインの処理ごとに、1ライン分の画像データの処理割
合分についての画像補正個別処理63bの際に収集された処理能力情報で、処理能力テー
ブル52における画像補正についてのCPU13の処理能力情報が更新される。
なお、分散処理の場合には、CPU13とCPU_Xは、上述の処理をそれぞれ実行す
る。したがって、CPU13の処理能力情報の他、分散処理の場合には、1ラインの処理
ごとに、1ライン分の画像データの処理割合分についての画像補正個別処理63fの際に
収集された処理能力情報で、処理能力テーブル52における画像補正についてのCPU_
Xの処理能力情報が更新される。
このように、第x処理についての画像補正個別処理(63b,63f)では、処理割合
分の第x処理の他、処理時間および処理画素数の計測、並びに1ラインごとの処理能力テ
ーブル52の更新が行われる。
以上のように、上記実施の形態3によれば、画像補正開始処理62bおよび画像補正個
別処理63b,63fが効率良く実行される。
実施の形態4.
本発明の実施の形態4に係る画像処理装置は、他の実施の形態に係る画像処理装置と同
様の構成および機能を有し、色変換およびハーフトーンの開始処理62c,62dおよび
個別処理63c,63g,63d,63hについては以下のように実行する。
本実施の形態4においても、図7に示すように、色変換開始処理62cは、CPU14
により実行される。色変換個別処理(63c,63g)は、1または2の処理部に割り当
てられる。
また、色変換個別処理(63c,63g)は、1つの処理部で実行する場合にはCPU
14に割り当てられ、2つの処理部で実行する場合には、CPU14と、CPU12、C
PU13およびCPU15〜18のいずれか(CPU_X)とに、負荷分散テーブル51
の分散割合に基づいて割り当てられる。
さらに、本実施の形態4では、ハーフトーン開始処理62dが、CPU14により色変
換開始処理62cにおいて実行される。ハーフトーン個別処理(63d,63h)は、1
または2の処理部に割り当てられる。
また、ハーフトーン個別処理(63d,63h)は、1つの処理部で実行する場合には
CPU15〜18の4CPUに割り当てられ、2つの処理部で実行する場合には、CPU
15〜18と、CPU12〜14のいずれか(CPU_X)の合計5CPUに、負荷分散
テーブル51の分散割合に基づいて割り当てられる。
図19は、実施の形態4における色変換開始処理62cを説明するフローチャートであ
る。
色変換開始処理62cでは、CPU14は、負荷分散テーブル51における色変換につ
いてのCPU14の処理割合の値を読み出し、その値が1であるか否かに基づいて、色変
換を2つの処理部で分散処理するか否かを判定する(ステップS71)。なお、CPU1
4は、この処理割合の値が1である場合には分散処理をしないと判定し、この処理割合の
値が1未満である場合には分散処理をすると判定する。
色変換を2つの処理部で分散処理すると判定した場合、CPU14以外のCPU_Xへ
分散処理を与える処理が実行される。
その際、CPU14は、負荷分散テーブル51における色変換についてのCPU14以
外のCPU12,13,15〜18の処理割合の値が0以外であるCPUをCPU_Xと
し、処理対象となる1ブロック分の画像データを分散割合で分割し、各処理割合分に応じ
た画像データをCPU14およびCPU_Xに割り当てる(ステップS72)。
なお、色変換における1回の処理あたりの処理対象となるブロックは、縦2画素、横(
4×M)画素の画素領域である。この実施の形態4では、M=64とされる。
例えば、分散割合が3:1である場合には、ブロックにおける各ラインの先頭から3×
M個の画素領域(つまり合計6×M個の画素)がCPU14に割り当てられ、残りの2×
M個の画素領域がCPU_Xに割り当てられる。
そして、CPU14は、処理種別およびCPU_Xの処理割合分の画像データの先頭ア
ドレス(外部RAM2のリサイズ・レイアウト後の画像データの格納領域のアドレス)を
、デュアルポートRAM22に書き込む(ステップS73)。
そして、CPU14は、CPU_Xに割り込みを掛けて、処理割合分の個別処理63g
をCPU_Xに依頼する(ステップS74)。なお、割り込みは、CPU11〜18を相
互に接続する制御線を介して割り込み信号を伝送することにより行われる。また、割り込
みを受けたCPU_Xは、デュアルポートRAM22の所定の領域に記憶された処理種別
に応じて、CPU_Xの処理割合分の画像データの先頭アドレスを、デュアルポートRA
M22から読み込む。
このようにして、ステップS72〜S74の処理により、CPU14以外のCPU_X
へ分散処理が与えられる。一方、ステップS71において色変換を分散処理しないと判定
された場合には、ステップS72〜S74の処理はスキップされる。
そして、CPU14は、分散処理の場合には、1ブロック分の画像データのうちの処理
割合分の画像データに対する色変換の個別処理63cを実行し、分散処理をしない場合に
は、1ブロック分の画像データに対する色変換の個別処理63cを実行する(ステップS
75)。CPU14は、個別処理63cを実行する場合、関数コールにより、個別処理6
3cの関数やルーチンを呼び出して実行する。
CPU14は、処理割合分の個別処理63cが完了すると、ハーフトーン開始処理を実
行する(ステップS76)。これにより、後述のようにして、CPU14による個別処理
63cの後の画像データに対して、ハーフトーン処理が実行される。
CPU14は、処理割合分の画像データについて、色変換およびハーフトーンが完了す
ると、色変換処理を分散処理しているか否かを判定する(ステップS77)。色変換処理
を分散処理している場合には、CPU14は、CPU_Xによる色変換個別処理63gが
終了するまで待機し(ステップS78)、CPU_Xによる色変換個別処理63gが終了
すると、CPU_Xの処理割合分の色変換後の画像データについてハーフトーン開始処理
を実行する(ステップS79)。
一方、色変換処理を分散処理していない場合には、1ブロック分の色変換およびハーフ
トーンが完了していることになるので、ステップS78,S79はスキップする。
このようにして、1ブロック分の色変換およびハーフトーンが実行される。そして、ス
テップS71に戻り、次の1ブロック分の色変換およびハーフトーンが同様にして実行さ
れる。以後、画像データの最後まで、順番に、色変換およびハーフトーンが実行される(
ステップS80)。
上述の色変換開始処理に関連して、まず、色変換個別処理63c,63gについて説明
する。図20は、実施の形態4における色変換個別処理63c,63gを説明するフロー
チャートである。色変換個別処理63cは、CPU14により実行され、色変換個別処理
63gは、CPU14以外のCPU_Xにより実行される。CPU14は、専用命令を含
むプログラム43sを実行し、CPU_Xは、専用命令を含まないプログラム43gを実
行するが、両者の処理の流れは、同一である。ただし、専用命令を使用した場合のほうが
演算速度が高い。なお、色変換に使用されるLUTは、デュアルポートRAM21に格納
されているパラメータの値に基づいて、図示せぬ不揮発メモリに記憶された複数のLUT
から選択される。
CPU14は、個別処理63cの開始時のCPUタイマの値Tsを保存した後(ステッ
プS81)、処理対象となるデータの先頭アドレスに基づいて処理対象の画像データを特
定し、処理割合分の画像データの各画素に対して色変換を実行し(ステップS82)、そ
の演算が完了すると、その時のCPUタイマの値Teを検出し(ステップS83)、両者
の差(Te−Ts)を計測時間として、合計処理時間データに累積加算し、デコードした
画素数を合計処理画素数データに累積加算する(ステップS84)。なお、合計処理時間
データおよび合計処理画素数データは、処理に要した時間および処理の完了した画素数を
集計するためのデータである。これらのデータの初期値は0とされる。
なお、この実施の形態4では、RGBデータが7色インク用の7色分のCYMKデータ
に変換される。
そして、CPU14は、今回の処理が1バンド内の最後の処理であるか否かを判定する
(ステップS85)。この判定については、例えば、今回の個別処理が1バンド内の最後
の処理であるか否かを示すデータを他のパラメータとともに開始処理62cにおいて設定
しそのデータに基づいて各個別処理63c,63gで判定するようにすればよい。
CPU14は、今回の処理が1バンド内の最後の処理であると判定した場合には、合計
処理時間データを色変換処理時間データとし、合計画素数データを色変換処理画素数デー
タとして、処理能力テーブル52における、色変換についてのCPU14の処理能力情報
を更新する(ステップS86)。このとき、処理能力情報としては、色変換処理画素数デ
ータを色変換処理時間データで除算した処理速度などが使用される。更新後、ローカルデ
ータである合計処理時間データおよび合計画素数データは、0にリセットされる(ステッ
プS87)。
また、このようにすることにより、1バンドの処理ごとに、1バンド分の画像データの
処理割合分についての色変換個別処理63cの際に収集された処理能力情報で、処理能力
テーブル52における色変換についてのCPU14の処理能力情報が更新される。
なお、分散処理の場合には、CPU14とCPU_Xは、上述の処理をそれぞれ実行す
る。したがって、CPU14の処理能力情報の他、分散処理の場合には、1バンドの処理
ごとに、1バンド分の画像データの処理割合分についての色変換個別処理63gの際に収
集された処理能力情報で、処理能力テーブル52における色変換についてのCPU_Xの
処理能力情報が更新される。
このように、色変換個別処理(63c,63g)では、処理割合分の色変換の他、処理
時間および処理画素数の集計、並びに1バンドごとの処理能力テーブル52の更新が行わ
れる。
上述の色変換開始処理に関連して、次に、ハーフトーン開始処理62dについて説明す
る。ハーフトーン開始処理62dは、上述のように、CPU14またはCPU_Xによる
色変換が完了した後、CPU14により直ちに実行される。
図21は、実施の形態4におけるハーフトーン開始処理62dを説明するフローチャー
トである。
ハーフトーン開始処理62dでは、CPU14は、色変換後の画像データを、色別に分
離してデュアルポートRAM22に書き込む(ステップS91)。その際、各色のデータ
は、2×256画素のブロックとされる。
次に、CPU14は、負荷分散テーブル51におけるハーフトーンについてのCPU1
5〜18の処理割合の値を読み出し、その値が1であるか否かに基づいて、ハーフトーン
を5つのCPUで分散処理するか否かを判定する(ステップS92)。なお、CPU14
は、この処理割合の値が1である場合には分散処理をしないと判定し、この処理割合の値
が1未満である場合には分散処理をすると判定する。
ハーフトーンを5つのCPUで分散処理すると判定した場合、CPU15〜18、およ
びCPU15〜18以外のCPU_Xへ分散処理を与える処理が実行される。
その際、CPU14は、負荷分散テーブル51におけるハーフトーンについてのCPU
15〜18以外のCPU12〜14の処理割合の値が0以外であるCPUをCPU_Xと
し、処理対象となる1ブロック分の画像データを分散割合で分割し、各処理割合分に応じ
た画像データをCPU15〜18およびCPU_Xに割り当てる(ステップS92)。
なお、ハーフトーンにおける1回の処理あたりの処理対象となるブロックは、色変換と
同一の画素領域である。
そして、CPU14は、CPU_Xに割り込みを掛けて、処理割合分の個別処理63h
をCPU_Xに依頼する(ステップS94)。なお、割り込みは、CPU11〜18を相
互に接続する制御線を介して割り込み信号を伝送することにより行われる。また、割り込
みを受けたCPU_Xは、デュアルポートRAM22の所定の領域に記憶された処理種別
に応じて、CPU_Xの処理割合分の画像データの先頭アドレスを、デュアルポートRA
M22から読み込む。
一方、ステップS91においてハーフトーンを5つのCPUで分散処理しないと判定さ
れた場合には、ステップS73の処理はスキップされる。
そして、CPU14は、CPU15〜18のそれぞれに割り込みを掛けて、処理割合分
の個別処理63dをCPU15〜18に依頼する(ステップS95)。なお、割り込みを
受けたCPU15〜18は、デュアルポートRAM22の所定の領域に記憶された処理種
別に応じて、CPU15〜18の処理割合分の画像データの先頭アドレスを、デュアルポ
ートRAM22から読み込む。
このようにして、ステップS93,S94の処理により、CPU15〜18へ分散処理
が与えられたり、CPU15〜18以外のCPU_Xへ分散処理が与えられたりする。
その後、CPU14は、CPU15〜18によるハーフトーン個別処理63dが終了す
るまで待機する(ステップS95)。そして、CPU15〜18によるハーフトーン個別
処理63dが終了すると、5つのCPUで分散処理をしている場合には、CPU14は、
CPU_Xによるハーフトーン個別処理63hが終了するまで待機し、個別処理63hが
終了すると、ハーフトーン開始処理を終了する。一方、5つのCPUで分散処理をしてい
ない場合には、CPU15〜18によるハーフトーン個別処理63dが終了すると、CP
U14は、ハーフトーン開始処理を終了する。
このようにして、ハーフトーン個別処理の割り当て処理が実行される。
ここで、ハーフトーン個別処理63d,63hの詳細について説明する。図22は、実
施の形態4におけるハーフトーン個別処理63d,63hを説明するフローチャートであ
る。ハーフトーンは、色変換後の各色のデータを単位として分散処理される。ハーフトー
ン個別処理63dは、1色または2色ずつに分散され、CPU15〜18により並列的に
実行され、ハーフトーン個別処理63hは、CPU15〜18以外のCPU_Xにより実
行される。CPU15〜18は、専用命令を含むプログラム44sを実行し、CPU_X
は、専用命令を含まないプログラム44gを実行するが、両者の処理の流れは、同一であ
る。ただし、専用命令を使用した場合のほうが演算速度が高い。
CPU15〜18は、個別処理63dの開始時のCPUタイマの値Tsを保存した後(
ステップS101)、予め割り当てられている色の処理割合分の画像データをデュアルポ
ートRAM22から読み出し、その画像データに対して、ディサ法または誤差拡散法で二
値化処理を実行し(ステップS102)、その演算が完了すると、その時のCPUタイマ
の値Teを検出し(ステップS103)、両者の差(Te−Ts)を計測時間として、合
計処理時間データに累積加算し、デコードした画素数を合計処理画素数データに累積加算
する(ステップS104)。なお、合計処理時間データおよび合計処理画素数データは、
処理に要した時間および処理の完了した画素数を集計するためのデータである。これらの
データの初期値は0とされる。
なお、この実施の形態4では、7色分のCMYKデータ(C,M,Y,K,R,B,C
L)が存在し、4つのCPU15〜18のみでハーフトーンを実行する場合、例えば、C
PU15は、誤差拡散法によるシアンCおよびマゼンタMの二値化を実行し、CPU16
は、ディザ法によるイエローYの二値化と誤差拡散法によるブラックKの二値化を実行し
、CPU17は、ディザ法によるクリアCLの二値化と誤差拡散法によるレッドRの二値
化を実行し、CPU18は、誤差拡散法によるブルーBの二値化を実行する。また、CP
U15〜18とCPU_Xの5つのCPUでハーフトーンを実行する場合、例えば、CP
U15は、誤差拡散法によるシアンCの二値化を実行し、CPU16は、ディザ法による
イエローYの二値化と誤差拡散法によるブラックKの二値化を実行し、CPU17は、デ
ィザ法によるクリアCLの二値化と誤差拡散法によるレッドRの二値化を実行し、CPU
18は、誤差拡散法によるブルーBの二値化を実行し、CPU_Xは、誤差拡散法による
マゼンタMの二値化を実行する。
そして、CPU15〜18は、今回の処理が1バンド内の最後の処理であるか否かを判
定する(ステップS105)。この判定については、例えば、今回の個別処理が1バンド
内の最後の処理であるか否かを示すデータを他のパラメータとともに開始処理62dにお
いて設定しそのデータに基づいて各個別処理63d,63hで判定するようにすればよい
CPU15〜18は、今回の処理が1バンド内の最後の処理であると判定した場合には
、合計処理時間データをHT処理時間データとし、合計画素数データをHT処理画素数デ
ータとして、処理能力テーブル52における、ハーフトーンについてのCPU15〜18
の処理能力情報を更新する(ステップS106)。このとき、処理能力情報としては、H
T画素数データをHT処理時間データで除算した処理速度などが使用される。更新後、ロ
ーカルデータである合計処理時間データおよび合計画素数データは、0にリセットされる
(ステップS107)。
また、このようにすることにより、1バンドの処理ごとに、1バンド分の画像データの
処理割合分についてのハーフトーン個別処理63dの際に収集された処理能力情報で、処
理能力テーブル52におけるハーフトーンについてのCPU15〜18の処理能力情報が
更新される。
なお、分散処理の場合には、CPU15〜18とCPU_Xは、上述の処理をそれぞれ
実行する。したがって、CPU15〜18の処理能力情報の他、分散処理の場合には、1
バンドの処理ごとに、1バンド分の画像データの処理割合分についてのハーフトーン個別
処理63hの際に収集された処理能力情報で、処理能力テーブル52におけるハーフトー
ンについてのCPU_Xの処理能力情報が更新される。
このように、ハーフトーン個別処理(63d,63h)では、処理割合分のハーフトー
ンの他、処理時間および処理画素数の集計、並びに1バンドごとの処理能力テーブル52
の更新が行われる。
以上のように、上記実施の形態4によれば、色変換開始処理62cおよび色変換個別処
理63c,63gが効率良く実行され、色変換後の画像データに色別に施されるハーフト
ーン処理についてのハーフトーン開始処理62dおよびハーフトーン個別処理63d,6
3hが効率良く実行される。
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定さ
れるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能で
ある。
例えば、実施の形態1〜4では、最初に用意される画像データは、JPEG形式でエン
コードされたものであるが、その代わりに、他の形式でエンコードされたものとしてもよ
い。その場合には、JPEGデコードの代わりに、その形式でのデコードが実行される。
また、実施の形態1〜4では、CPU15〜18は1つのプロセッサとして負荷管理さ
れているが、その代わりに、4つのCPU15〜18それぞれについて、他のCPU12
〜14と同様に負荷管理を実行して、負荷バランスを保つようにしてもよい。
また、実施の形態1〜4において、CPU15〜18へ、JPEGデコード、画像補正
、色変換などの、ハーフトーン以外の個別処理を与える場合には、CPU15〜18のう
ちの他のCPUより処理する色の数が少ないCPUに、そのハーフトーン以外の個別処理
を与えればよい。
また、実施の形態1〜4においては、色変換により7色のCYMK画像データが生成さ
れるが、色変換後の画像データの色数は、他の数でもよい。例えば、色変換により、4色
、6色、8色などのCYMK画像データを生成するようにしてもよい。その場合、ハーフ
トーン専用命令演算部を有するCPUの数は、その色数以下とされる。また、色変換後の
色座標についても上述のものに限定されるものではなく、別の色座標としてもよい。
また、実施の形態1〜4においては、画像補正の第1処理〜第3処理は、別々に分散処
理されるが、第1処理〜第3処理を区別せず、1つの画像補正処理として分散させるよう
にしてもよい。
また、実施の形態1〜4においては、分散処理時において、1つの処理種別の処理はメ
インのCPU(つまりその処理種別に対応する専用命令演算部を有するCPU)と別の1
つのCPU_Xにより実行されるが、メインのCPUと2以上の他のCPUにより実行す
るようにしてもよい。その場合には、負荷分散テーブル51の処理割合が、少なくとも3
つの処理部について、非0の値となる。
また、実施の形態1〜4において、色変換を実行するCPU14(およびCPU_X)
からハーフトーンを実行するCPU15〜18(およびCPU_X)へのデータの転送に
ついては、例えば、本出願人が先に提案している特願2004−096845号の方法を
応用してもよい。
また、実施の形態1〜4において、リサイズ・レイアウト処理については分散処理せず
にCPU12が実行しているが、他の処理種別と同様にして分散処理するようにしてもよ
い。
また、実施の形態1〜4において、汎用命令演算部12a〜18aについて、内蔵の加
算器、乗算器といった演算器の数をCPUごとに変えるようにしてもよい。
また、実施の形態1〜4においては、専用命令を含むプログラム41s〜44sおよび
汎用命令を含むプログラム41g〜44gを外部RAM2にロードしているが、専用命令
を含むプログラム41s〜44sを各CPU12〜18の命令RAM33にロードし、汎
用命令を含むプログラム41g〜44gを外部RAM2にロードするようにしてもよい。
また、実施の形態1〜4においては、JPEGデコード、画像補正および色変換につい
ての処理割合は、0、0.25、0.5、0.75および1の集合のうちのいずれかとさ
れるが、その他の数の集合のいずれかとしてもよい。例えば、処理割合は、0、0.12
5、0.25、0.375、0.5、0.625、0.75、0.875および1の集合
のうちのいずれかとしてもよい。また、ハーフトーンについての処理割合についても、別
の値のいずれかとしてもよい。
また、実施の形態1〜4においては、個別処理63を実行するCPU12〜18の一部
で、分散割合決定処理61および開始処理62が実行されるが、その代わりに、分散割合
決定処理61および開始処理62を別のCPU(例えばCPU11、別途設けられるCP
Uなど)により実行するようにしてもよい。
また、実施の形態1〜4において、負荷分散テーブル51を2つとし、開始処理62に
おいて一方の負荷分散テーブル51が参照され、1回の分散割合決定処理61では他方の
負荷分散テーブル51が更新され、更新が完了すると、開始処理62において参照される
負荷分散テーブル51を、更新された他方の負荷分散テーブル51とするようにしてもよ
い。これにより、2つの負荷分散テーブル51が交互に更新され、負荷分散テーブル51
の更新中も、開始処理62において負荷分散テーブル51の参照が円滑に行われる。
また、実施の形態1〜4においては、JPEGデコード、画像補正、リサイズ・レイア
ウト、色変換、およびハーフトーンの順番に実行する画像処理系に対して本発明を適用し
たが、各画像処理の種類はこれに限られるものではなく、一連の複数種別の画像処理を順
番に実行する他の画像処理系に対しても本発明を適用可能である。
本発明は、例えば、画像データに対して複数の画像処理を順番に施す画像処理装置に適
用可能である。そのような画像処理装置としては、例えばプリンタ、コピー機、プロジェ
クタ、テレビジョン受像機などがある。
本発明の実施の形態1に係る画像処理装置の構成を示すブロック図である。 図1におけるCPU12の詳細な構成を示すブロック図である。 図1におけるCPU11〜18用のプログラムを示すブロック図である。 実施の形態1における一連の画像処理を説明するフローチャートである。 実施の形態1におけるデータフローを説明するブロック図である。 分散処理を行わない場合のデータフローなどの一例を示す図である。 実施の形態1における分散処理を説明するブロック図である。 実施の形態1における処理能力テーブルの一例を示す図である。 実施の形態1における負荷分散テーブルの一例を示す図である。 実施の形態1での分散割合決定処理を説明するフローチャートである。 図10内の負荷分散テーブル更新処理を説明するフローチャートである。 図9の負荷分散テーブルの更新途中の負荷分散テーブルを示す図である。 図9の負荷分散テーブルを更新した負荷分散テーブルを示す図である。 実施の形態2でのJPEGデコード開始処理を説明する図である。 実施の形態2でのJPEGデコード個別処理を説明する図である。 実施の形態3での画像補正開始処理を説明するフローチャートである。 図16での第x処理の1ライン処理を説明するフローチャートである。 実施の形態3での画像補正個別処理を説明するフローチャートである。 実施の形態4における色変換開始処理を説明するフローチャートである。 実施の形態4における色変換個別処理を説明するフローチャートである。 実施の形態4におけるハーフトーン開始処理を説明する図である。 実施の形態4におけるハーフトーン個別処理を説明する図である。
符号の説明
1 ASIC(プロセッサ)、4 プリンタ駆動部(印刷手段)、12 CPU(複数
の処理部の一部,分散割合設定手段,開始処理手段)、13,14 CPU(複数の処理
部の一部,開始処理手段)、15〜18 CPU(複数の処理部の一部)、51 負荷分
散テーブル。

Claims (6)

  1. 同一領域の画像データに対して複数種別の画像処理を順番に施す画像処理装置において

    同一領域の画像データに対して上記複数種別の画像処理を順番に施す複数の処理部と、
    上記画像処理の各種別に関する1または複数の上記処理部への分散割合の情報を含む負
    荷分散テーブルと、
    少なくとも1種別の画像処理について、各時点における上記負荷分散テーブルの上記分
    散割合でその画像処理を2以上の処理部に分散してそれぞれ実行させる開始処理手段と、
    を備えることを特徴とする画像処理装置。
  2. 前記複数の処理部のそれぞれの処理能力値に基づいて各画像処理の分散割合を前記負荷
    分散テーブルに設定する分散割合設定手段を備えることを特徴とする請求項1記載の画像
    処理装置。
  3. 前記負荷分散設定手段は、画像処理のある種別について高速に演算可能な演算部を有す
    る処理部に対して、常にその種別の画像処理の一部または全部が割り当てられる分散割合
    を設定することを特徴とする請求項2記載の画像処理装置。
  4. 前記開始処理手段と前記分散割合設定手段は、画像処理の実行開始と負荷分散テーブル
    への画像処理の分散割合の設定とを互いに非同期に実行することを特徴とする請求項1記
    載の画像処理装置。
  5. 複数の処理として少なくとも色変換およびハーフトーンを実行する請求項1から請求項
    4のうちのいずれか1項記載の画像処理装置と、
    上記画像処理装置による処理後の画像データに基づいて画像を印刷する印刷手段と、
    を備えることを特徴とする印刷装置。
  6. 同一領域の画像データに対して複数種別の画像処理を順番に施す画像処理方法において

    同一領域の画像データに対して上記複数種別の画像処理を順番に施す複数の処理部のう
    ちの1または複数の処理部へ分散割合の情報を上記画像処理の各種別について有する負荷
    分散テーブルを参照し各処理部の担当する画像処理の種別および割合を特定するステップ
    と、
    特定した種別および割合の画像処理を各処理部により実行するステップと、
    を備えることを特徴とする画像処理方法。
JP2004352331A 2004-12-06 2004-12-06 画像処理装置、印刷装置および画像処理方法 Withdrawn JP2006163672A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004352331A JP2006163672A (ja) 2004-12-06 2004-12-06 画像処理装置、印刷装置および画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004352331A JP2006163672A (ja) 2004-12-06 2004-12-06 画像処理装置、印刷装置および画像処理方法

Publications (1)

Publication Number Publication Date
JP2006163672A true JP2006163672A (ja) 2006-06-22

Family

ID=36665636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004352331A Withdrawn JP2006163672A (ja) 2004-12-06 2004-12-06 画像処理装置、印刷装置および画像処理方法

Country Status (1)

Country Link
JP (1) JP2006163672A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012233937A (ja) * 2011-04-28 2012-11-29 Hitachi Ltd 携帯電話型暗号認証デバイスシステムおよびその方法
JP2013080517A (ja) * 2013-01-08 2013-05-02 Casio Electronics Co Ltd 印刷データ処理方法
US9315059B2 (en) 2014-06-24 2016-04-19 Seiko Epson Corporation Printing apparatus

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012233937A (ja) * 2011-04-28 2012-11-29 Hitachi Ltd 携帯電話型暗号認証デバイスシステムおよびその方法
JP2013080517A (ja) * 2013-01-08 2013-05-02 Casio Electronics Co Ltd 印刷データ処理方法
US9315059B2 (en) 2014-06-24 2016-04-19 Seiko Epson Corporation Printing apparatus
US9421789B2 (en) 2014-06-24 2016-08-23 Seiko Epson Corporation Control apparatus and method

Similar Documents

Publication Publication Date Title
JP4476203B2 (ja) 画像処理装置、プログラムおよび画像処理方法
US7200287B2 (en) Method and apparatus for image processing, and a computer product
JP4090908B2 (ja) 画像処理装置および画像形成装置
US7599087B2 (en) Method and apparatus for image processing, and a computer product
US20040109186A1 (en) Image forming apparatus and image data transforming method
JP2006133839A (ja) 画像処理装置、印刷装置および画像処理方法
JP2007082060A (ja) 画像処理装置及び画像処理連結システム
JP2006163672A (ja) 画像処理装置、印刷装置および画像処理方法
JP2006163673A (ja) 画像処理装置、印刷装置および負荷分散方法
JP2006163674A (ja) 画像処理装置、印刷装置および負荷分散方法
JP2000165563A (ja) 画像処理装置
JP4086556B2 (ja) 画像処理装置およびその制御方法
US6535971B1 (en) Data processing system having plurality of processors and executing series of processings in prescribed order
JP4034323B2 (ja) 画像データ処理方法と画像データ処理装置及び画像形成装置
JP2003241983A (ja) 情報処理装置及び情報処理方法
JP4397242B2 (ja) 画像処理装置及び画像処理方法
JP2002314763A (ja) カラー複写機制御装置
JP2003250031A (ja) 画像処理装置および画像処理方法
JPH0784973A (ja) マルチ処理プロセッサ制御装置および制御方法
JP2003244452A (ja) 画像処理装置
JP2003348338A (ja) 情報処理装置
JP2002359743A (ja) 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラム、並びにそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2006187906A (ja) 画像処理装置、印刷装置および画像処理方法
JPH11122482A (ja) カラー画像処理方法および装置
JP2003274110A (ja) 画像処理システム、画像処理方法および画像処理プログラム

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070404

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080304