(57)【要約】【課題】  対象となる処理に対する処理能力の正確な通知無しに、複数のプロセッサの間で処理を分担しあうシステム全体での処理時間を短くする。【解決手段】  画像処理装置１１は、接続した他の画像処理装置の識別結果に基づいて履歴用記憶手段１７から過去の処理の結果を取得する取得手段１４と、その過去の処理の結果に応じて演算手段１３と他の画像処理装置との間で画像処理量を分割する分割手段１５とを備えているので、各画像処理装置の処理速度を処理前にユーザーが正確に把握しておくことが困難であっても、また、各画像処理装置の理論的な処理速度とインターフェース等周辺機器の性能も加味した実際の処理速度とのずれをユーザーが把握していなくても、処理にかかる時間を短くすることができる。【選択図】  図１
2006004382.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置同士が処理データを分担して処理するシステムに用いられる当該情報処理装置において、
処理に参加する情報処理装置同士の接続状態を変えずに連続して行う処理全体を一連処理と称するとき、
一つの一連処理内において、
処理を行った各回において、各情報処理装置が分担した割合である分担率と、各情報処理装置がその分担分の処理を終えるのにかかった時間である分担時間とを記憶する履歴用記憶手段と、
前回の処理で、自分の分担する処理を終えるのに他の情報処理装置より時間がかかった情報処理装置をＡと称するとき、上記履歴用記憶手段の記憶内容を読み出して分担時間を比較することで情報処理装置Ａを特定し、次回の処理では、処理データのうちで情報処理装置Ａの分担率を、前回の値よりも小さい値に設定する決定手段とを備えたことを特徴とする情報処理装置。
【請求項２】
一つの一連処理内において、
上記決定手段が、上記分担時間が等しくなるように上記各情報処理装置の分担率を定めることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
上記履歴用記憶手段が、過去の処理について、参加した個々の情報処理装置を特定する情報である装置識別情報と、１回の処理において、単独稼働から分担稼働に変わる時刻から、分担稼働から単独稼働に変わる時刻までの時間の指標となる処理総時間情報とを記憶し、
上記決定手段が、
処理が終わるたびに、上記履歴用記憶手段に記憶されている処理総時間情報と今回の処理総時間情報とを比較し、今回の処理総時間情報のほうが小さければ、上記履歴用記憶手段に記憶されている各情報処理装置の分担率と処理総時間情報とを今回の値で更新し、
その後、新たな一連処理を開始するために処理に参加する情報処理装置の接続状態を設定する動作がユーザーによりなされるのを検知すると、その一連処理における各情報処理装置の分担率の初期値として、上記履歴用記憶手段に記憶されている分担率を採用することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
上記決定手段が、
今回の一連処理を行う情報処理装置の組み合わせを上記装置識別情報によって把握し、
上記履歴用記憶手段に、その組み合わせに対する過去の上記分担率の初期値が記憶されていない場合には、分担率の初期値として、等分割することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
各情報処理装置の処理能力の速さを示す性能を記憶する性能記憶手段を備え、
上記決定手段が、
上記性能記憶手段から性能を読み出して、その一連処理における各情報処理装置の分担率の初期値として、性能が高い情報処理装置ほど分担率が高くなるような値を設定することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
一つの一連処理内において、ある回に処理時間の長かった情報処理装置から処理時間の短かった情報処理装置へ、その次の回用に分担を移管される相対的な処理データ量を移管量として記憶する移管量記憶手段を備え、
一つの一連処理内において、
上記決定手段は、上記移管量記憶手段から移管量を読み出し、前回での処理時間の長かった情報処理装置から処理時間の短かった情報処理装置へ、分担を、前回の移管量のうちの一定割合量だけ移管したような分担率を設定することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
全情報処理装置の中で、処理データを処理して得られる結果を実際にユーザーに提示する役割を行う情報処理装置をＢとすると、
上記情報処理装置Ｂが、自身で処理したデータをユーザーに提示する動作と、他の情報処理装置により処理が済んで当該他の情報処理装置から情報処理装置Ｂに転送されてくる処理済みデータを受信する動作とを同時に行える場合には、
１つの処理データ内で、箇所によって、ユーザーに提示する相対的な順番が決まっているような処理データについて、
上記決定手段は、ユーザーに提示する順番が相対的に早い箇所ほど、情報処理装置Ｂに優先的に分担させることを特徴とする請求項１に記載の情報処理装置。
【請求項８】
複数の情報処理装置同士が処理データを分担して処理する情報処理方法において、
処理に参加する情報処理装置同士の接続状態を変えずに連続して行う処理全体を一連処理と称するとき、
一つの一連処理内において、
処理を行った各回において、各情報処理装置が分担した割合である分担率と、各情報処理装置がその分担分の処理を終えるのにかかった時間である分担時間とを記憶し、
前回の処理で、自分の分担する処理を終えるのに他の情報処理装置より時間がかかった情報処理装置をＡと称するとき、上記履歴用記憶手段の記憶内容を読み出して時間を比較することで情報処理装置Ａを特定し、次回の処理では、処理データのうちで情報処理装置Ａの分担率を、前回の値よりも小さい値に設定することを特徴とする情報処理方法。
【請求項９】
コンピュータを請求項１に記載の情報処理装置における決定手段として機能させるためのプログラムであることを特徴とする情報処理プログラム。
【請求項１０】
請求項９に記載の情報処理プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、スキャナやデジタルカメラなどの画像入力装置で生成した画像データを画像出力装置によって印刷するような場合に用いられる情報処理装置、情報処理方法、情報処理プログラムおよびコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【０００２】
従来、スキャナやデジタルカメラなどの画像入力装置で生成した画像データを画像出力装置によって印刷することが可能になっている。
【０００３】
ただその場合において、画像データを何らの処理も施さずに直接的に印刷すると画質が劣化する。そこで、通常の印刷システムでは画像データに対し、シェーディング補正、デジタルフィルタ、など、複数の処理項目からなる画像処理を行うようになっている。この場合、画像入力装置からは画像データを送り、印刷のための上記の処理項目をプリンタ側で施すように設計されている。昨今、画素数が飛躍的に向上したデジタルカメラや解像度の飛躍的に向上したスキャナの大量の画像データに対して、低価格プリンタの場合は、プロセッサの速度が向上したとはいえ、それら大量の画像データを余裕を持って処理できるほどの処理能力を持つプロセッサを持つことは少ないので、高画質での印刷時には、使用者はかなり待たされることになる。
【０００４】
また、ワークステーションなどのクライアント（送信側装置）がネットワークを介してプリントサーバーに接続され、クライアントから送信された描画命令（印刷データ）がプリントサーバーで処理される。この場合、クライアント側においては描画命令はページ記述言語で記述され、そのようなデータがプリントサーバーで処理されて、最終的にラスターイメージが生成される。ラスターイメージデータの大きさに比べて、ネットワークが遅かった時代には、この方法はネットワークに負荷をかけない有効な方法であったが、メモリの低価格化、プロセッサの処理能力の向上、ネットワークの高速化、などを背景としてこの方法による問題が顕在化し始めている。ページ記述言語で記述された描画命令をプリントサーバー（プリンタ）に送信しても、そのプリントサーバー（プリンタ）の処理速度が遅ければ、印刷システム全体の処理速度がプリントサーバー（プリンタ）に支配されてしまう。
【０００５】
ところで、複数のプロセッサ（演算器）を使用して処理を分担して実行する演算装置が知られている。複数のプロセッサを使用して処理を実行する場合、処理の効率を上げ、その実行速度を上げるためには、複数のプロセッサで処理そのもの、もしくはその処理されるデータを適切に分担する技術が重要であり、従来から様々な分担方法が提案されている。例えば、特許文献１には、複数のプロセッサの中で特定のプロセッサに負荷が集中することを避けるように処理を分担するグラフィックアクセラレータが開示されている。
【０００６】
また、プロセッサそのものに関しても、近年では、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの専用のＬＳＩを用いる替わりに、性能が向上したプログラムの可能なＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）を用いることも行われている。
【０００７】
特許文献２ではこういった、処理内容を適時変更できるという特性を利用して、必要な処理にかかる時間を本体側プロセッサ、アクセラレータ側でそれぞれデータテーブルとして持っておいて分担するデータの割合を最適化して全体としての処理時間を短くする方法が開示されている。
【０００８】
また、特許文献３では、接続する機器の処理能力の通知に基づいて信号処理を分担することが提案されている。
【特許文献１】特開平１０−１７１７６６号公報（公開日平成１０年６月２６日）
【特許文献２】特開２００２−３１２７７６号公報（公開日平成１４年１０月２５日）
【特許文献３】特開２００１−１４１１９号公報（公開日平成１３年１月１９日）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、バスの転送速度、およびメモリの読み込み、書き込みにおいて理論どおりの性能が出るのなら上記公報記載の技術で最適にデータを配分することができるが、実際にはコストの問題などによって読み書きが同時にできないメモリが使われることもある。こういったメモリを使った場合は、例えば処理するデータ量が少ないような領域においてはプログラムの入れ替えの時間が無視できないほどになり、それによって全体の処理時間に対して誤差が出てくるようになる。また、デジタルカメラ、スキャナ、などの外部機器内のプロセッサと、プロセッサを内蔵したプリンタなどの装置を接続して処理を分担する場合、データの転送にはＵＳＢ（Ｕｎｉｂｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やＩＥＥＥ１３９４、もしくはＩＥＥＥ１２８４等の外部インターフェースを用いることになるが、ケーブルの長さ、質、そして接点の接触具合などによって速度が落ちたりすることもある。さらに有線ではなく無線のインターフェースを用いた場合は環境の影響を大きく受けることになる。
【００１０】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、対象となる処理に対する処理能力の正確な通知無しに、複数のプロセッサの間での処理の分担を現実的な最適解に持っていくことでシステム全体での処理時間を短くすることができる情報処理装置、情報処理方法、情報処理プログラムおよびコンピュータ読み取り可能な記録媒体を実現することにある。
【課題を解決するための手段】
【００１１】
上記の課題を解決するため、本発明に係る情報処理装置は、複数の情報処理装置同士が処理データを分担して処理するシステムに用いられる当該情報処理装置において、処理に参加する情報処理装置同士の接続状態を変えずに連続して行う処理全体を一連処理と称するとき、一つの一連処理内において、処理を行った各回において、各情報処理装置が分担した割合である分担率と、各情報処理装置がその分担分の処理を終えるのにかかった時間である分担時間とを記憶する履歴用記憶手段と、前回の処理で、自分の分担する処理を終えるのに他の情報処理装置より時間がかかった情報処理装置をＡと称するとき、上記履歴用記憶手段の記憶内容を読み出して分担時間を比較することで情報処理装置Ａを特定し、次回の処理では、処理データのうちで情報処理装置Ａの分担率を、前回の値よりも小さい値に設定する決定手段とを備えたことを特徴としている。
【００１２】
また、本発明に係る情報処理プログラムは、コンピュータを上記の情報処理装置における決定手段として機能させるためのプログラムであることを特徴としている。
【００１３】
また、本発明に係るコンピュータ読み取り可能な記録媒体は、上記情報処理プログラムを記憶したことを特徴としている。
【００１４】
上記の構成により、一つの一連処理内において、前回の処理で、自分の分担する処理を終えるのに他の装置より時間がかかった装置をＡと称するとき、次回の処理では、処理データのうちで装置Ａが分担する割合を、前回よりも減少させる。
【００１５】
その結果、前回自分の分担分の処理に時間がかかった情報処理装置は次回は分担率が減り、前回自分の分担分の処理に時間があまりかからなかった情報処理装置は次回は分担率が増える。
【００１６】
したがって、次回は、同じ量の処理データに対して、各情報処理装置の分担率を前回と同じに設定した場合と比べて、処理の速いほうの情報処理装置にとって、処理の遅いほうの情報処理装置が自分の持ち分の処理を終えるのを待つだけで無駄となる時間を、効果的に減らすことができる。
【００１７】
それゆえ、対象となる処理に対する処理能力の正確な通知無しに、複数の演算器の間での処理の分担を現実的な最適解に持っていくことでシステム全体での処理時間を短くすることができるという効果を奏する。
【００１８】
また、本発明に係る情報処理装置は、上記の構成に加えて、一つの一連処理内において、上記決定手段が、上記分担時間が等しくなるように上記各情報処理装置の分担率を定めることを特徴としている。
【００１９】
上記の構成により、上記分担時間が等しくなるように上記各情報処理装置の分担率を定める。したがって、処理の速いほうの情報処理装置にとって、処理の遅いほうの情報処理装置が自分の持ち分の処理を終えるのを待つだけで無駄となる時間がなくなる。それゆえ、上記の構成による効果に加えて、より簡便に、システム全体での処理時間を短くすることができるという効果を奏する。
【００２０】
また、本発明に係る情報処理装置は、上記の構成に加えて、上記履歴用記憶手段が、過去の処理について、参加した個々の情報処理装置を特定する情報である装置識別情報と、１回の処理において、単独稼働から分担稼働に変わる時刻から、分担稼働から単独稼働に変わる時刻までの時間の指標となる処理総時間情報とを記憶し、上記決定手段が、処理が終わるたびに、上記履歴用記憶手段に記憶されている処理総時間情報と今回の処理総時間情報とを比較し、今回の処理総時間情報のほうが小さければ、上記履歴用記憶手段に記憶されている各情報処理装置の分担率と処理総時間情報とを今回の値で更新し、その後、新たな一連処理を開始するために処理に参加する情報処理装置の接続状態を設定する動作がユーザーによりなされるのを検知すると、その一連処理における各情報処理装置の分担率の初期値として、上記履歴用記憶手段に記憶されている分担率を採用することを特徴としている。
【００２１】
上記の構成により、一連処理が終わるたびに、上記履歴用記憶手段に記憶されている処理総時間情報と今回の処理総時間情報とを比較し、今回の処理総時間情報のほうが小さければ、上記履歴用記憶手段に記憶されている各情報処理装置の分担率と処理総時間情報を今回の値で更新し、その後、処理に参加する情報処理装置の接続状態を設定する動作がユーザーによりなされるのを検知すると、その一連処理における各情報処理装置の分担率の初期値として、上記履歴用記憶手段に記憶されている分担率を採用する。
【００２２】
処理総時間情報は、１回の処理において、単独稼働から分担稼働に変わる時刻から、分担稼働から単独稼働に変わる時刻までの時間の指標となる情報であり、その時間そのものであってもよい。
【００２３】
したがって、ある情報処理装置の組み合わせで処理時間が短くできたような場合に、後でまた同じ組み合わせを採用したような場合には、初期値としてそのような良好な値を採用できる。
【００２４】
それゆえ、上記の構成による効果に加えて、処理時間の短縮が、前の一連処理のときよりも早く完了できるという効果を奏する。
【００２５】
また、本発明に係る情報処理装置は、上記の構成に加えて、上記決定手段が、今回の一連処理を行う情報処理装置の組み合わせを上記装置識別情報によって把握し、上記履歴用記憶手段に、その組み合わせに対する過去の上記分担率の初期値が記憶されていない場合には、分担率の初期値として、等分割することを特徴としている。
【００２６】
上記の構成により、今回の組み合わせに対する過去の上記分担率の初期値が記憶されていない場合には、分担率の初期値として、等分割する。したがって、分担率の初期値が記憶されていないような初めての組み合わせに対しても、とりあえず処理を開始することができる。それゆえ、上記の構成による効果に加えて、どのような組み合わせであっても支障なく処理を行うことができるという効果を奏する。
【００２７】
また、本発明に係る情報処理装置は、上記の構成に加えて、各情報処理装置の処理能力の速さを示す性能を記憶する性能記憶手段を備え、上記決定手段が、上記性能記憶手段から性能を読み出して、その一連処理における各情報処理装置の分担率の初期値として、性能が高い情報処理装置ほど分担率が高くなるような値を設定することを特徴としている。
【００２８】
上記の構成により、性能が高い情報処理装置ほど、分担率の初期値として処理データを多く割り当てられる。したがって、初回には等分割した場合と比べて、処理時間を最短にするまでの回数を少なくすることができる。それゆえ、上記の構成による効果に加えて、迅速に処理時間を最短にすることができるという効果を奏する。
【００２９】
また、本発明に係る情報処理装置は、上記の構成に加えて、一つの一連処理内において、ある回に処理時間の長かった情報処理装置から処理時間の短かった情報処理装置へ、その次の回用に分担を移管される相対的な処理データ量を移管量として記憶する移管量記憶手段を備え、一つの一連処理内において、上記決定手段は、上記移管量記憶手段から移管量を読み出し、前回での処理時間の長かった情報処理装置から処理時間の短かった情報処理装置へ、分担を、前回の移管量のうちの一定割合量だけ移管したような分担率を設定することを特徴としている。
【００３０】
上記の構成により、一つの一連処理内において、前回での処理時間の長かった情報処理装置から処理時間の短かった情報処理装置へ、分担を、前回の移管量のうちの一定割合量だけ移管して処理を実行する。
【００３１】
したがって、常に、処理時間の長いほうの情報処理装置の分担分の半分を割り振る場合と比べて、処理時間を最短にするまでの回数を少なくすることができる。それゆえ、上記の構成による効果に加えて、迅速に処理時間を最短にすることができるという効果を奏する。
【００３２】
また、本発明に係る情報処理装置は、上記の構成に加えて、全情報処理装置の中で、処理データを処理して得られる結果を実際にユーザーに提示する役割を行う情報処理装置をＢとすると、上記情報処理装置Ｂが、自身で処理したデータをユーザーに提示する動作と、他の情報処理装置により処理が済んで当該他の情報処理装置から情報処理装置Ｂに転送されてくる処理済みデータを受信する動作とを同時に行える場合には、１つの処理データ内で、箇所によって、ユーザーに提示する相対的な順番が決まっているような処理データについて、上記決定手段は、ユーザーに提示する順番が相対的に早い箇所ほど、情報処理装置Ｂに優先的に分担させることを特徴としている。
【００３３】
上記の構成により、全情報処理装置の中で、処理データを処理して得られる結果（例えば静止画データであれば静止画）を実際にユーザーに提示する役割を行う情報処理装置をＢとすると、上記情報処理装置Ｂが、自身で処理したデータをユーザーに提示する動作と、他の情報処理装置により処理が済んで当該他の情報処理装置から情報処理装置Ｂに転送されてくる処理済みデータを受信する動作とを同時に行える場合には、１つの処理データ内で、箇所によって、ユーザーに提示する相対的な順番が決まっているような処理データについて、ユーザーに提示する順番が相対的に早い箇所ほど、情報処理装置Ｂに優先的に分担させる。
【００３４】
したがって、ユーザーに提示する順番が相対的に遅い箇所について、情報処理装置Ｂ以外の情報処理装置が処理して情報処理装置Ｂに転送している間に、ユーザーに提示する順番が相対的に早い箇所について、情報処理装置Ｂが処理してユーザーに提示することができる。それゆえ、上記の構成による効果に加えて、全体としての処理時間をより短くすることができるという効果を奏する。
【００３５】
また、本発明に係る情報処理方法は、複数の情報処理装置同士が処理データを分担して処理する情報処理方法において、処理に参加する情報処理装置同士の接続状態を変えずに連続して行う処理全体を一連処理と称するとき、一つの一連処理内において、処理を行った各回において、各情報処理装置が分担した割合である分担率と、各情報処理装置がその分担分の処理を終えるのにかかった時間である分担時間とを記憶し、前回の処理で、自分の分担する処理を終えるのに他の情報処理装置より時間がかかった情報処理装置をＡと称するとき、上記履歴用記憶手段の記憶内容を読み出して時間を比較することで情報処理装置Ａを特定し、次回の処理では、処理データのうちで情報処理装置Ａの分担率を、前回の値よりも小さい値に設定することを特徴としている。
【００３６】
上記の構成により、一つの一連処理内において、前回の処理で、自分の分担する処理を終えるのに他の装置より時間がかかった装置をＡと称するとき、次回の処理では、処理データのうちで装置Ａが分担する割合を、前回よりも減少させる。
【００３７】
その結果、前回自分の分担分の処理に時間がかかった情報処理装置は次回は分担率が減り、前回自分の分担分の処理に時間があまりかからなかった情報処理装置は次回は分担率が増える。
【００３８】
したがって、次回は、同じ量の処理データに対して、各情報処理装置の分担率を前回と同じに設定した場合と比べて、処理の速いほうの情報処理装置にとって、処理の遅いほうの情報処理装置が自分の持ち分の処理を終えるのを待つだけで無駄となる時間を、効果的に減らすことができる。
【００３９】
それゆえ、対象となる処理に対する処理能力の正確な通知無しに、複数の演算器の間での処理の分担を現実的な最適解に持っていくことでシステム全体での処理時間を短くすることができるという効果を奏する。
【発明の効果】
【００４０】
以上のように、本発明に係る情報処理装置は、処理に参加する情報処理装置同士の接続状態を変えずに連続して行う処理全体を一連処理と称するとき、一つの一連処理内において、処理を行った各回において、各情報処理装置が分担した割合である分担率と、各情報処理装置がその分担分の処理を終えるのにかかった時間である分担時間とを記憶する履歴用記憶手段と、前回の処理で、自分の分担する処理を終えるのに他の情報処理装置より時間がかかった情報処理装置をＡと称するとき、上記履歴用記憶手段の記憶内容を読み出して分担時間を比較することで情報処理装置Ａを特定し、次回の処理では、処理データのうちで情報処理装置Ａの分担率を、前回の値よりも小さい値に設定する決定手段とを備えた構成である。
【００４１】
また、本発明に係る情報処理プログラムは、コンピュータを上記の情報処理装置における決定手段として機能させるためのプログラムである構成である。
【００４２】
また、本発明に係るコンピュータ読み取り可能な記録媒体は、上記情報処理プログラムを記憶した構成である。
【００４３】
また、本発明に係る情報処理方法は、処理に参加する情報処理装置同士の接続状態を変えずに連続して行う処理全体を一連処理と称するとき、一つの一連処理内において、処理を行った各回において、各情報処理装置が分担した割合である分担率と、各情報処理装置がその分担分の処理を終えるのにかかった時間である分担時間とを記憶し、前回の処理で、自分の分担する処理を終えるのに他の情報処理装置より時間がかかった情報処理装置をＡと称するとき、上記履歴用記憶手段の記憶内容を読み出して時間を比較することで情報処理装置Ａを特定し、次回の処理では、処理データのうちで情報処理装置Ａの分担率を、前回の値よりも小さい値に設定する構成である。
【００４４】
これにより、次回は、同じ量の処理データに対して、各情報処理装置の分担率を前回と同じに設定した場合と比べて、処理の速いほうの情報処理装置にとって、処理の遅いほうの情報処理装置が自分の持ち分の処理を終えるのを待つだけで無駄となる時間を、効果的に減らすことができる。
【００４５】
それゆえ、対象となる処理に対する処理能力の正確な通知無しに、複数の演算器の間での処理の分担を現実的な最適解に持っていくことでシステム全体での処理時間を短くすることができるという効果を奏する。
【発明を実施するための最良の形態】
【００４６】
ここでは、プリンタ側のプロセッサがマスター、デジタルカメラ側のプロセッサがスレーブとして機能するものとする。
【００４７】
図１は本発明の演算装置（情報処理装置）を適用した画像処理装置の構成を示すブロック図である。この画像処理装置１１は、他の画像入力装置によって作成された画像データを接続手段１２によって取り込み、入力された画像データを処理し、接続手段１２によって画像出力装置へ転送する装置である。
【００４８】
すなわち、画像処理装置（情報処理装置）１１は、接続手段１２、演算手段１３、取得手段１４、分割手段１５、データ用記憶手段１６、履歴用記憶手段１７を備えている。接続手段１２、演算手段１３、取得手段１４、分割手段１５は、ＣＰＵ（中央制御部）すなわちプロセッサ（演算器）により実行されるコンピュータプログラムにて実現される機能モジュールであり、取得手段１４、分割手段１５により決定手段が構成されている。データ用記憶手段１６、履歴用記憶手段１７はいずれもランダムアクセスメモリ等のメモリである。
【００４９】
データ用記憶手段１６は、各種ユーザーデータを一時的に記憶するものである。
【００５０】
履歴用記憶手段１７は、処理を行った各回において、各情報処理装置が分担した割合である分担率と、各情報処理装置がその分担分の処理を終えるのにかかった時間である分担時間とを記憶するものである。また、履歴用記憶手段１７は、過去の処理について、参加した個々の情報処理装置を特定する情報である上記装置識別情報の組み合わせと、１回の処理において、単独稼働から分担稼働（並列処理）に変わる時刻から、分担稼働から単独稼働に変わる時刻までの時間（以下、処理総時間と称する）の指標となる処理総時間情報とを、対にして記憶する。なお、処理総時間情報としては、上記処理総時間そのものであってもよい。さらに、履歴用記憶手段１７は、各情報処理装置の性能である性能を記憶する性能記憶手段、および、一つの一連処理内において、ある回に処理時間の長かった情報処理装置から処理時間の短かった情報処理装置へ、処理データの持ち分を、全体に対するある相対量だけ渡すとするときに、その相対量を移管量として記憶する移管量記憶手段としても機能する。また、自分（個々の情報処理装置の個体）を特定する装置識別情報も記憶している。なお、これらのことは、以下の履歴用記憶手段２７、履歴用記憶手段３７も同様である。
【００５１】
ここで、「処理」とは、種々のデータを様々に加工することである。例えば、すでに述べたように、画像データとしてネットワーク等様々な場面で供給されるデータを受け取った後、実際にユーザーに提示（印刷や画面表示等）できるデータへと変化（データ伸張、階調調整等）させることである。そして、より詳しくは、「処理」とは、「それに参加する情報処理装置同士の接続状態を変えずに、繰り返し行うことができるひとかたまりの動作」を指すものとする。例えば文書ファイルや画像ファイルの複数ページを印刷するとした場合に、各ページの印刷を行うのが「１回の処理」である、とすることができる。この場合、例えばファイルの１ページ目から３ページ目を印刷するとした場合に、１ページ目の印刷を行うのが「第１回の処理」で、２ページ目の印刷を行うのが「第２回の処理」となる。
【００５２】
一方、この例でいえば「１ページ目から３ページ目を印刷する」とのように、「処理に参加する情報処理装置同士の接続状態を変えずに連続して行う処理全体」を、１回の「一連処理」と称する。すなわち、デジタルカメラとプリンタであれば、デジタルカメラを変更したりプリンタを変更したり、同じ機器であっても、接続の仕方を変更するなどのために一旦接続を解除したりすると、次回からは「第２の一連処理」となる、とする。
【００５３】
図２は本発明の演算装置を適用した画像入力装置の構成を示すブロック図である。この画像入力装置２１は、光電変換素子であるＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）、そこから得られる信号を扱いやすいレベルに変換するアンプ、そして得られたアナログ信号をデジタル信号に変換するＡ／Ｄコンバータなどから構成される入力手段２８を持ち、この入力手段２８によって入力された画像データを処理し、接続手段２２によって画像出力装置へ転送する装置である。
【００５４】
すなわち、画像入力装置（情報処理装置）２１は、接続手段２２、演算手段２３、取得手段２４、分割手段２５、データ用記憶手段２６、履歴用記憶手段２７、入力手段２８を備えている。接続手段２２、演算手段２３、取得手段２４、分割手段２５は、ＣＰＵすなわちプロセッサにより実行されるコンピュータプログラムにて実現される機能モジュールであり、取得手段２４、分割手段２５により決定手段が構成されている。データ用記憶手段２６、履歴用記憶手段２７はいずれもランダムアクセスメモリ等のメモリである。入力手段２８は上記の通りである。
【００５５】
図３は本発明の演算装置を適用した画像出力装置の構成を示すブロック図である。この画像出力装置３１は、インクジェット、電子写真方式などの印刷を行う出力手段３９、あるいはディスプレイなどの出力手段３９を持ち、接続手段３２より入力された画像データを演算手段３３によって処理し、この出力手段３９によって出力される装置である。
【００５６】
すなわち、画像出力装置（情報処理装置）３１は、接続手段３２、演算手段３３、取得手段３４、分割手段３５、データ用記憶手段３６、履歴用記憶手段３７、出力手段３９を備えている。接続手段３２、演算手段３３、取得手段３４、分割手段３５は、ＣＰＵすなわちプロセッサにより実行されるコンピュータプログラムにて実現される機能モジュールであり、取得手段３４、分割手段３５により決定手段が構成されている。データ用記憶手段３６、履歴用記憶手段３７はいずれもランダムアクセスメモリ等のメモリである。出力手段３９は上記の通りである。
【００５７】
図４は二つの演算装置を接続した際の初期状態での各プロセッサに対するデータの配分状況、図５は図４の接続状況において処理を繰り返した後の各プロセッサに対するデータの配分状況である。図４、図５において、Ａは画像出力装置のプロセッサであり、Ｂは画像入力装置のプロセッサである。ここで示されているデータは、印刷される１枚の画像でもよいし、複数枚の画像における枚数の比率でもよい。
【００５８】
なお、例えばネットワークを介する場合は常に多種多様な装置同士がつながっている状況がありうるが、ここでは、特に断りのない限り、「接続」とは、装置同士をコード（または無線）でつなぐことに加えて、その装置同士を組み合わせて処理に使うということをユーザーが指示するという意味も含んでいるものとする。例えば、ネットワークの構成が変更されなくても、使う装置の指定をユーザーが変更すれば、ここでいう「接続状況」は変わったことになる。また、つなぐコード、より広く言えばインターフェースの種類が変わっても、ここでいう「接続状況」は変わったことになる。
【００５９】
なお、画像出力装置が画像データの転送と画像データの出力を同時に行える場合は、画像出力装置側に配分されるデータを前側に持ってくることによって、もうひとつの画像処理装置側から処理済みデータが転送される間に画像出力装置の出力手段によって出力を始め、最終的な処理時間を短くすることができる。つまり、先に結果を出力すべき箇所を画像出力装置のほうに優先して分担させて、画像の前のほう、もしくは前のほうのページを先に画像出力装置に送ることによって、全体としての処理時間をより短くすることができる。
【００６０】
すなわち、全情報処理装置の中で、処理データの処理結果を実際にユーザーに提示する役割を行う情報処理装置をＢとすると、上記情報処理装置Ｂが、自身で処理したデータをユーザーに提示する動作と、他の情報処理装置により処理が済んで当該他の情報処理装置から情報処理装置Ｂに転送されてくる処理済みデータを受信する動作とを同時に行える場合には、一つの処理データ内で、箇所によって、ユーザーに提示する相対的な順番が決まっているような処理データについて、ユーザーに提示する順番が相対的に早い箇所ほど、情報処理装置Ｂに優先的に分担させる。一つの処理データ内で、箇所によって、ユーザーに提示する相対的な順番が決まっているような処理データとしては、例えば、静止画データや、音楽データ等が挙げられる。すなわち、静止画データであれば、画像の左上から右下に向かって順に表示していくのが一般的である。また、音楽データであれば、特殊な再生形態を除けば、曲の頭から順に再生される。したがって、静止画データであれば、画像の左上に近い箇所ほど、情報処理装置Ｂで処理するようにする。音楽データであれば、曲の頭に近い箇所ほど、情報処理装置Ｂで処理するようにする。全情報処理装置の中で、処理データの処理結果を実際にユーザーに提示する役割を行う情報処理装置としては、例えば、本実施の形態のような画像出力装置（ディスプレイやプリンタ等）や、あるいは、音楽再生装置等を挙げることができる。
【００６１】
本実施の形態においては、まず初回には、画像出力装置が、一つの静止画の中で、先にユーザーに対して結果を出力すべき箇所を、先頭から順に、優先的に分担する。そして、次回用に、他の画像処理装置から後述のように画像出力装置に分担を移動させる場合には、分担変更前は他の画像処理装置が分担する予定だったデータのうちで、先に結果を出力すべき箇所から優先的に、画像出力装置に分担を移動させるようにすればよい。あるいは逆に、画像出力装置から後述のように他の画像処理装置に分担を移動させる場合に、後に結果を出力すべき箇所から優先的に、他の画像処理装置に分担を移動させるようにすればよい。
【００６２】
もうひとつの画像処理装置側から処理済みデータが転送される間に画像出力装置の出力手段によって出力を始め、例えば、出力が終わってしまう前に転送を完了して出力のための加工を終えることができれば、とぎれることなくデータの全部を出力することができる。あるいは、出力が終わってしまう前に転送を完了できなくても、すでに一部の転送は終わっているので、あとわずかな待ち時間の後に転送を完了することができ、出力のための加工を終えて迅速にデータの全部を出力することができる。
【００６３】
図６は二つの演算装置を接続した際の初期状態でのそれぞれの処理時間の配分を示したもの、図７は処理を繰り返した際のそれぞれの処理時間の配分を示したものである。ここでは画像処理装置Ａに関してはデジタルカメラ、もしくはスキャナなどの画像入力装置、画像処理装置Ｂに関してはインクジェット、もしくは電子写真方式の出力手段を持つことを想定している。
【００６４】
図６、図７のａにおける初期処理においては、画像データのヘッダの付加等、画像処理装置Ａでしか行えない処理などを行っている。次に、図６、図７のｂの処理前データ転送において、処理データを分割し、画像処理装置Ｂが処理すべきデータを画像処理装置Ｂに転送、分配している。図６、図７のｃにおいて、主な画像処理をそれぞれの演算装置で分担し、並列に行う。図６においては画像処理装置Ｂに搭載されたプロセッサのほうが速い場合を想定しているので、図６においては相手処理終了待ち時間ｄが発生している。一方、図７においては、いずれの画像処理装置にも、相手処理終了待ち時間がない。そして、それぞれの本処理が終了した後、処理された画像データを統合するために画像処理装置Ａから画像処理装置２に転送している。ここで、処理前のデータ転送時間ｅより処理後のデータ転送時間ｅのほうが長いのは、処理前のデータに関しては圧縮されていることが多いからである。最後に、図６、図７のｆ、出力前の処理において分割処理された画像データの統合、および出力前の最終処理を行う。出力手段が印刷装置の場合は中間調処理が必要になるが、画像データを分割して処理した場合、データの分割部において境界が目立つ場合がある。よってそれぞれの画像データを統合した後に中間調処理を行う。
【００６５】
本構成では、総合的な処理時間を測定し、その処理時間が最小になるようにデータの分担率を定めるが、ここでは処理前のデータ転送、本処理、処理後のデータ転送の総加算時間を対象として測定し、その時間が最小となるように画像データの分担率を定める。つまり、１回の処理で、複数の情報処理装置が分担（分担稼働）を開始した時刻（ａの終了時刻またはｂの開始時刻）から、分担が終了した時刻（ｅの終了時刻またはｆの開始時刻）までである。ａやｆは一つの情報処理装置だけが稼働している（単独稼働）ので測定から除外する。
【００６６】
図６、図７の場合、画像処理装置Ａに配分された画像データ比率が処理を繰り返すうちに低くなり、処理後に画像処理装置Ｂに転送される画像データも少なくなるので、全体的に処理時間が短くなっている。このときには、各画像処理装置の分担時間同士の差が小さいものとなっている。特に、図７の場合は、ある画像処理装置の処理が終わるのを他の画像処理装置の処理が待つ時間がない、すなわち分担時間同士が等しい、最も時間効率の良い理想的な状態である。
【００６７】
図８、図９、図１０は、本発明を適用して画像処理装置二つを接続した際、処理を繰り返すうちにデータの分担率を最適化していく様子を示したものである。図８ないし図１０において、Ａは画像入力装置のプロセッサであり、Ｂは画像出力装置のプロセッサである。ここでは、処理条件は同じ、すなわち処理される画像データが同じ大きさであることを想定している。
【００６８】
図８は、後述の履歴や性能等、初期条件が何もない状態で、まず画像データをそれぞれ均等に分割し、処理を繰り返す際、処理時間のかかった方のデータの半分の大きさを次の処理のときに処理時間の短かったほうに分配する方法である。
【００６９】
図９は、図８において、処理データの再分配の仕方を変更したものである。図８の方法でも回数を繰り返すごとに最適な配分量に近づいてはいくが、より早く最適解に近づけるために、図９に示すように、回数を重ねて処理量を再分配する際に前回移動した処理量を履歴として持っておき、前回の再分配の際に処理時間の少なかったほうに再分配した量が多すぎた場合、その前回再分配した量の半分を元に戻す。これによって、より早く最適解に近づく。
【００７０】
図１０は、初回の分担率を均等にせず、プロセッサのランクや製造年代等を考慮して、処理能力（性能）の高いほうのプロセッサに、より多くの処理量を割り当てておくものである。こうすることによって、より早く、最適な分担率へ近づくことができる。
【００７１】
すなわち、もしそれぞれの機器の情報、製造された年月日やそれぞれに内蔵されているプロセッサの性能を示すランク等の性能が定義されていて、それが比較できる場合は、図６のように初めの分割条件を２等分するのではなく、製造年月日の遅いほう、もしくは性能のいいほうへ処理量を多く割くことで、画像処理全体の処理時間が最小となる最適解に到達するまでの回数がより少なくなる。ここで、製造年月日を考慮に入れるのは、半導体技術の進歩は早く、そのために同じようなランクのプロセッサにおいても新しいほうがより性能が高いからである。
【００７２】
図８のやり方について、より詳しく述べれば以下の通りである。一つの一連処理内において、ある回Ｐ１に処理時間の長かった情報処理装置から処理時間の短かった情報処理装置へ、処理データの持ち分を、常に、自分が分担した量Ｍのうちの、一定割合分だけ渡して次の回Ｐ２の処理を実行する。この「一定割合分」とは、例えば２分の１である。
【００７３】
例えば、第１回は、分担率としては等分割とする。また例えば、上記Ｍのうちから渡す量としては、常に１／２とする。処理データの総量が毎回１００であるとして、第１回が情報処理装置Ａ、Ｂに対し分担率がいずれもＭ＝５０ずつ（つまり１：１）で、Ｂのほうが時間がかかったとする。すると、第２回は、前回のＢの分担量５０の１／２を基準にして考えて、５０／２＝２５であるから、分担率を
（５０＋２５）：（５０−２５）
＝７５：２５
とする。それでもＢのほうが時間がかかったとすると、第３回は、前回のＢの分担量２５の１／２を基準にして考えて、２５／２＝１２．５であるから、分担率を
（７５＋１２．５）：（２５−１２．５）
＝８７．５：１２．５
とする。その結果今度はＡのほうが時間がかかったとすると、第４回は、前回のＡの分担量８７．５の１／２を基準にして考えて、８７．５／２＝４３．７５であるから、分担率を
（８７．５−４３．７５）：（１２．５＋４３．７５）
＝４３．７５：５６．２５
とする。
【００７４】
図９のやり方について、より詳しく述べれば以下の通りである。一つの一連処理内において、ある回Ｐ１に処理時間の長かった情報処理装置から処理時間の短かった情報処理装置へ、処理データの持ち分をある量Ｍだけ渡して次の回Ｐ２の処理を実行したとすると、その次の回Ｐ３としては、前の回Ｐ２での処理時間の長かった情報処理装置から処理時間の短かった情報処理装置へ、処理データの持ち分を、上記Ｍのうちの、一定割合分だけ渡して処理を実行する。この「一定割合分」とは、例えば２分の１である。
【００７５】
例えば、第１回は、分担率としては等分割とする。また例えば、上記Ｍのうちから渡す量としては、常に１／２とする。処理データの総量が毎回１００であるとして、第１回が情報処理装置Ａ、Ｂに対し分担率がいずれもＭ＝５０ずつ（つまり１：１）で、Ｂのほうが時間がかかったとする。すると、第２回は、前回の移動量５０の１／２を基準にして考えて、５０／２＝２５であるから、分担率を
（５０＋２５）：（５０−２５）
＝７５：２５
とする。それでもＢのほうが時間がかかったとすると、第３回は、前回の移動量２５の１／２を基準にして考えて、２５／２＝１２．５であるから、分担率を
（７５＋１２．５）：（２５−１２．５）
＝８７．５：１２．５
とする。その結果今度はＡのほうが時間がかかったとすると、第４回は、前回の移動量１２．５の１／２を基準にして考えて、１２．５／２＝６．２５であるから、分担率を
（８７．５−６．２５）：（１２．５＋６．２５）
＝８１．２５：１８．７５
とする。
【００７６】
３つ以上の情報処理装置を使う場合は、例えば、ある回に処理時間の最も長かった情報処理装置から処理時間の最も短かった情報処理装置へ、処理データの持ち分を渡して次の回の処理を実行するようにすればよい。
【００７７】
図１１、図１２は、画像入力装置と画像出力装置（プリンタ）を接続して印刷を行う場合の全体のフローチャートである。なお、ここ以降、すべてのフローチャートにおいて、特に断りのない限り、情報処理装置内の決定手段が各工程を行うものとする。
【００７８】
まず、性能を表す情報がない場合は、図１１のステップＳ１１０１において、性能を表す情報がある場合は、図１２のステップＳ１２０１において、それぞれ、今回の印刷条件について過去の履歴をチェックする。
【００７９】
次に、マスター、スレーブそれぞれの機器のランクや年代等の性能情報がなく履歴もない場合、初めに、処理データを２等分する（図１１ステップＳ１１０３）。一方、性能情報がある場合は、その結果に応じて分担率を決定する（図１２ステップＳ１２０３）。その決め方は任意であり、例えば過去に似たような性能を持った情報処理装置の組み合わせで実施した経験に基づいてユーザーが入力してもよい。マスター、スレーブそれぞれの機器の情報がなく、履歴のみがある場合、過去の履歴の最終結果を、今回の印刷の初期値に設定する（図１１ステップＳ１１０２、図１２ステップＳ１２０２）。
【００８０】
次に、それぞれのプロセッサにおいて、定められた分担処理をする（図１１ステップＳ１１０４、図１２ステップＳ１２０４）。その詳細については図１６を用いて後述する。
【００８１】
なお、いずれかの決定手段は、分担時間と処理総時間とを計測し、処理が終わった後、その時間情報が所定の情報処理装置の履歴用記憶手段に記憶されるようになっている。分担時間については、各装置が自装置の分を計測して、求めた時間情報を他の装置に送信してもよいし、自装置の分担処理終了時刻のデータを他の装置へ送信して、受け取った装置の側で時間情報を計算してもよい。また、一つの装置から各装置へのデータ転送が開始された時刻を、単独稼働から分担稼働に変わった時刻とし、各装置から一つの装置への最後のデータ転送が終了した時刻を、分担稼働から単独稼働に変わった時刻とすればよい。
【００８２】
そして、１回の印刷が終了したら、図１１ではステップＳ１１０５、図１２ではステップＳ１２０５に移り、印刷終了時刻を調べることで、印刷にかかった時間を履歴と比較し、短くなっていれば履歴を更新する。すなわち、今回の処理に使われた情報処理装置を特定する装置識別情報の組み合わせに対応して記憶してある処理総時間情報と、今回の処理総時間情報とを比較し、今回のほうが小さければ、この装置識別情報の組み合わせに対して記憶してある各情報処理装置の分担率を、今回の値で更新する。この更新された各情報処理装置の分担率は、また今度、情報処理装置を接続しなおして新たな一連処理として印刷を開始するときに、分担率の初期値として用いられる。分担率の「初期値」とは、各一連処理の、第１回の処理を開始した時点の分担率の値である。分担率の初期値は、一連処理の開始時にユーザーが手動で入力するようにすることもできるが、上記のようにすれば、１回の処理にかかる時間の短縮を、効率的に行うことができる。
【００８３】
図１１ではステップＳ１１０６、図１２ではステップＳ１２０６において、もしまだ印刷をする必要があれば、すなわち、もし処理回数が今回の一連処理における必要回数に達していなければ、図１１ではステップＳ１１０７、図１２ではステップＳ１２０７において分担率を再設定する。すなわち、すでに図１６を用いて述べたように、今回の開始前に情報処理装置間で移動させた分の半分を、次回の開始前に、今回分担時間が短かったほうの情報処理装置へ移すなど、所定のやり方の再分配を実行する。そして、上記ステップＳ１１０４（図１２ではステップＳ１２０４）から繰り返す。
【００８４】
この場合の分担処理のフローチャートを図１６に示す。なお、再配分の仕方としては、図９のやり方を採用したとして説明する。
【００８５】
まず、マスター側、スレーブ側にそれぞれ履歴がある場合、ない場合、および、プロセッサのランクや製造年代等、性能を表す情報がある場合、ない場合、それぞれについて、処理量を分割する直前までそれぞれのフローチャートに従って処理を進める。
【００８６】
次に、実際に処理量を分割する段階において、その処理条件（一連処理）において、初回かどうかを判定する（図１６ステップＳ１６０１）。処理条件としては、単に各情報処理装置がデジタルカメラかプリンタか、といった装置の種類だけを特定するのではなく、どのプリンタかといったように、どの個体を使うかの規定も含まれている。これは、情報処理装置を特定する装置識別情報を用いて規定される。決定手段は、その装置識別情報の組み合わせ（処理条件）に対応する履歴情報（過去の各情報処理装置の分担率および各情報処理装置ごとにかかった分担時間）が空かどうかを、履歴用記憶手段から読み出すことで調べる。なお、どの情報処理装置の履歴用記憶手段に履歴情報を記憶させるかは、ユーザーが任意に決めることができる。空であれば、初回と判断する。
【００８７】
初回であれば、所定の分担率でそれぞれに処理量を割り振る（図１６ステップＳ１６０３）。この図では、履歴がなく、各プロセッサの性能についても情報がない場合を想定し、マスター側、スレーブ側それぞれ均等に処理量を割り振っている。
【００８８】
次に本処理を行う（図１６ステップＳ１６０５）。そして、全体の処理が終了した後、それぞれの処理時間（分担時間）、分担率、処理総時間を履歴に記録する（図１６ステップＳ１６０６）。そして印刷などの場合は次のページがあるかどうか、スキャナなどから読み込んだ画像を処理する場合は次の画像があるかどうかを判定し（図１６ステップＳ１６０７）、終了でなければ次の処理に移る。
【００８９】
次は初回ではない（図１６ステップＳ１６０１）。ここでは図９の割り振り方を採用しているので、前回割り振られた処理量の半分を、履歴に記録（図１６ステップＳ１６０２）するとともに、前回処理時間の短かったほうへ割り振る（図１６ステップＳ１６０４）。
【００９０】
次に、第２回の処理として、上述のステップＳ１６０５、Ｓ１６０６、Ｓ１６０７を再度行う。これを繰り返すことによって、最適な分担率へ近づくことができる。特に、ここでは図９のやり方を採用しているので、図８の場合よりも早く、最適な分担率へ近づくことができる。
【００９１】
図９、図１６に示した例では履歴がなく、各プロセッサの性能の性能についても情報がない場合であるが、各プロセッサの性能の性能が予めわかっている場合は、すでに述べたように、図１０に示すように初回の分担率を均等にせず、処理能力の高いほうのプロセッサにより多くの処理量を割り当てておくようにすることができる。こうすることによって、より早く、最適な分担率へ近づくことができる。
【００９２】
次に、図１１や図１２の内容を、マスターがどちらにあるかの観点から、より詳細に述べる。
【００９３】
図１３はデジタルカメラなどの画像入力装置がマスターになり、マスター側にのみ履歴記録用のメモリがある場合における機器の接続から、それらを操作するユーザーの詳細なフローチャートである。
【００９４】
図１４はプリンタなどの画像出力装置がマスターになり、マスター側にのみ履歴記録用のメモリがある場合における機器の接続から、それらを操作するユーザーの詳細なフローチャートである。
【００９５】
図１５はプリンタなどの画像出力装置がマスターになり、マスター側およびスレーブ側双方に履歴記録用のメモリがある場合における、機器の接続から、それらを操作するユーザーの詳細なフローチャートである。
【００９６】
ここでは、図１３、すなわち画像入力装置がマスターになり、マスター側にのみ履歴記録用のメモリがある場合を例に挙げる。
【００９７】
まず、マスターのプロセッサ（以下マスター）側ではスレーブのプロセッサ（以下スレーブ）側の接続待ちの状態となっている（図１３ステップＳ１３００）。ここでスレーブが接続される（図１３ステップＳ１３０２、Ｓ１３０３）と、まずそれぞれの間で通信が確実にできるか（図１３ステップＳ１３０４、Ｓ１３０５）、相手側の機器はこの方式に対応している機器か、対応しているならそのバージョンはいくつか、などを確認する（図１３ステップＳ１３０６、Ｓ１３０７）。
【００９８】
次に、スレーブと確実に通信できて、かつスレーブがこの機能に対応しているなら、お互いの製造された年代、そしてプロセッサの性能をチェックする（図１３ステップＳ１３０６）。もし年代およびランクがわからない場合はわからないほうを、「年代が古い。ランクが低い。」とみなす。もしくは、「マスター、スレーブ両方が年代、ランク共に判別できない。」とみなす。
【００９９】
次に、マスター側は印刷要求待ちとなる（図１３ステップＳ１３０７）。ここでユーザーがマスター側の機器に印刷条件をセットし、印刷開始操作をマスター側の機器に対して行う（図１３ステップＳ１３０８）と、マスターは過去の印刷履歴を調べ、同じ印刷条件があるかどうかをチェックする（図１３ステップＳ１３０９）。ここでの印刷条件とは、印刷される紙の大きさ、種類、倍率などの一般的な印刷設定だけではなく、スレーブ側の機器の情報も含まれる。なお、印刷条件、および印刷開始をユーザーがセットするスイッチの機能を持つものがスレーブ側（この例では画像出力装置側）にある場合はユーザーがスレーブ側の機器に印刷条件をセットし、印刷開始操作をスレーブ側に対して行うことになり、その場合の機器の動作も同じようになる。
【０１００】
次に、履歴の内容、およびマスター側、スレーブ側それぞれの、ランクや年代等の機器の性能情報を基に、印刷するデータのマスター側、スレーブ側のそれぞれの分担率を決定する（図１３ステップＳ１３０９）。
【０１０１】
分配の方法については、様々な方法があると思われるが、ここでは簡便な方法として、すでに述べた図８に示すように、データの分担率を、処理回数を追うごとに変更していくやり方を採用するとする。なお、図９のやり方も採用できる。
【０１０２】
次に、スレーブ側で必要な処理をした後、マスター側で処理するデータをスレーブ側の機器からマスター側の機器に送り（図１３ステップＳ１３１２、Ｓ１３１３）、それぞれ処理を始める（図１３ステップＳ１３１４、Ｓ１３１５）。
【０１０３】
それぞれのプロセッサにおいて並列処理すべき処理が終了した後、マスター側の処理データをスレーブ側に転送する（図１３ステップＳ１３１６、Ｓ１３１７）。その後、それぞれのプロセッサで処理されたデータをスレーブ側で統合する。画像出力装置がプリンタの場合は、誤差拡散などの、分割処理をすると画質が劣化する処理を、統合後に行う（図１３ステップＳ１３１８）。
【０１０４】
画像処理の区切りのいい部分、この例のように画像出力装置としてプリンタを用いた場合は１枚印刷するごとに、履歴に印刷条件、終了時間およびそのときのそれぞれのプロセッサの分担率を記録するために履歴記録用のメモリを持つ側へデータを転送し（図１３ステップＳ１３１９、Ｓ１３２０）、履歴メモリを持つマスターはそのデータを受け取った後、マスター側のデータと主に履歴メモリに記録する（図１３ステップＳ１３２１）。同一の処理条件（一連処理）における実行すべき処理がまだ残っている場合は、ステップＳ１３０９からＳ１３２１までを繰り返す。
【０１０５】
こうして画像処理をするごとにその処理時間を履歴に記録し、その履歴を次回の画像処理時の処理の分割に用いることで、設計者の予測しない、もしくはできないような要因を含めた効果的な処理分割を行うことができる。
【０１０６】
また、ここでは、図１３に示すように画像入力装置がマスターになり、マスター側にのみ履歴記録用のメモリがある場合を例に挙げたが、図１４に示すように、プリンタなどの画像出力装置がマスターになり、マスター側にのみ履歴記録用のメモリがある場合においても、基本的にはマスター・スレーブの役割は図１３の場合と同一である。そのため説明を省略する。
【０１０７】
また、履歴がマスター側、スレーブ側両方にある場合（図１５フローチャート）はスレーブと通信を行って履歴を読み出し（図１５ステップＳ１５１１、ステップＳ１５１２）、それぞれの履歴をチェック、比較し、同じ印刷条件があるなら、その処理回数の多いほうの履歴を採用する（図１５ステップＳ１５１３）。
【０１０８】
このように、本実施の形態によれば、外部インターフェースや、速度の遅いメモリなど、ソフトウェア、ハードウェアの設計段階では完全に把握できない不確定要素を含めた、ユーザーの実際の使用状況での最適な処理分担が行われる。
【０１０９】
以上のように本発明の実施の形態を説明したが、本発明は、種々の形態、方法が可能である。
【０１１０】
上記実施の形態では、デジタルカメラとプリンタを接続した場合を説明したが、本発明はこの場合に限られない。本発明は、コンピュータ端末、携帯端末、デジタルカメラ、プリンタ、複写機、スキャナ、ファクシミリといった画像処理に関する演算を実行するすべての機器に適用することができる。
【０１１１】
また、本発明は、画像処理に限らず、複数のプロセッサを用いて処理を分担する種々のシステムに適用可能である。すなわち、処理データとしては、印刷や表示を目的とする静止画や動画に限らず、音楽・音声、文字、図形等であってもよい。
【０１１２】
なお、本発明の演算装置の制御方法は、ソフトウェアだけでなく、ハードウェア回路によっても実現することができる。また、ソフトウェアによって本発明を実現する場合、そのプログラムはＣＤ−ＲＯＭなどのコンピュータにて読み取り可能な記録媒体によって提供されてもよいし、ネットワークを通じて配信されてもよい。もしくは、機器、あるいはプロセッサに内蔵されるＲＯＭに組み込まれていてもよい。
【０１１３】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１１４】
なお、本発明に係る情報処理装置は、
画像データに所定の画像処理に関する演算を実行する演算部と、
所定の画像処理に関する演算を実行可能な演算部を備えた他の画像処理装置と直接もしくはネットワークを介して接続して接続した他の画像処理装置または演算部を識別し画像データを送信および／または受信する接続手段と、
過去の処理の結果を記憶する記憶手段と、
接続した他の画像処理装置の識別結果に基づいて前記記憶手段から過去の処理の結果を取得する取得手段と、
前記取得手段によって取得された前記過去の処理の結果に応じて前記演算部と前記他の画像処理装置の演算部との前記画像処理の分担を決定する決定手段とを備えるように構成してもよい。
【０１１５】
上記の構成によれば、外部インターフェースや、コストの制約などによる理論値とは違った速度のハードウェアなど、設計段階では完全に把握しにくい不確定要素を含めた、ユーザーの実際の使用状況での最適な処理の分割が行われる。また、違う年代、違う性能のハードウェアであっても処理の分割を効率的に行うことができる。
【０１１６】
したがって、それぞれにプロセッサを持った機材同士を接続して画像処理を行う際に、ユーザーの実際の使用環境に応じた最適な処理の分担割合を導き出せる。
【０１１７】
すなわち、本発明の情報処理装置は、接続した他の画像処理装置の識別結果に基づいて履歴用記憶手段から過去の処理の結果を取得する取得手段と、取得手段によって取得された前記過去の処理の結果に応じて演算手段と他の画像処理装置の演算手段との間で画像処理量を分割する分割手段とを備えている。これにより、各情報処理装置の処理速度を処理前にユーザーが正確に把握しておくことが困難であっても、また、各情報処理装置の理論的な処理速度と、インターフェース等周辺機器の性能も加味した実際の処理速度とのずれをユーザーが把握していなくても、複数の情報処理装置の実際の処理速度を十分生かして、処理にかかる時間を短くすることができる。
【０１１８】
また、本発明に係る情報処理装置は、上記構成において、
前記決定手段は前記演算部と前記他の画像処理の演算部の処理時間が等しくなるように、前記演算部と前記他の画像処理の演算部のそれぞれが処理すべきデータ量の分担率を定めるように構成してもよい。
【０１１９】
上記の構成によれば、それぞれにプロセッサを持った機材同士を接続して画像処理を行う際に、ユーザーの実際の仕様環境において時間的に最適な処理の分担割合を簡便な方法によって導き出せる。
【０１２０】
また、本発明に係る情報処理装置は、上記構成において、
前記決定手段は前記取得手段を用いて前記記憶手段から取得した過去の処理の結果が存在しない場合においては、前記演算部と、前記他の画像処理の演算部との分担率（分担比率、分割比率）を一対一にするように構成してもよい。
【０１２１】
上記の構成によれば、それぞれにプロセッサを持った機材同士を接続して画像処理を行う際に、分担率を定める理由が存在しない場合、とりあえず処理を始めて、初回から少しでも全体の処理時間を短くすることができる。
【０１２２】
また、本発明に係る情報処理装置は、上記構成において、
演算部の順位付けのための記憶手段および前記順位付けのための記憶手段から演算部の順位付けを取得する取得手段を持ち、
前記決定手段は、前記取得手段を用いて前記記憶手段から取得した過去の処理の結果が存在しない場合においては、前記演算部と、前記他の画像処理の識別した演算部との分担率を演算装置の順位付けの高いほうにより大きく配分するように構成してもよい。
【０１２３】
上記の構成によれば、初回から演算装置の性能によって配分量を変えることによって最適な分担率になるまでの回数をより少なくし、全体としての処理時間をより少なくする。
【０１２４】
また、本発明に係る情報処理装置は、上記構成において、
過去の処理の経過を履歴として前記記憶手段に保持しておき、次回の処理量の分担に関する再配分量の基準を前回の処理量の分担の再配分量とするように構成してもよい。
【０１２５】
上記の構成によれば、処理を繰り返す中で、毎回毎回処理時間が長いほうの全体の処理量の半分を処理時間の短いほうに割り振るよりも、最適な分担率になるまでの回数を少なくし、全体としての処理時間をより短くする。
【０１２６】
また、本発明に係る情報処理装置は、上記構成において、
先に結果を出力すべき箇所を画像出力装置のほうに優先して分担させるように構成してもよい。
【０１２７】
上記の構成によれば、画像の前のほう、もしくは前のほうのページを先に画像出力装置に送ることによって、全体としての処理時間をより短くする。
【０１２８】
また、本発明に係る情報処理方法は、
画像データに所定の画像処理に関する演算を実行する演算部と、
所定の画像処理に関する演算を実行可能な演算部を備えた他の画像処理装置と直接もしくはネットワークを介して接続して画像データを送信および／または受信する接続手段とを備える情報処理方法において、
他の画像処理装置と接続して双方で分担して画像データを処理した結果を記憶しておくステップと、
接続した他の画像処理装置を識別（した結果を接続装置から取得）するステップと、
記憶した処理結果から識別した他の画像処理装置に関する結果を取得するステップと、
取得された前記結果に応じて演算部と前記他の画像処理の演算部との間の前記画像処理の分担を決定するステップとを有するように構成してもよい。
【０１２９】
上記の構成によれば、それぞれにプロセッサを持った機材同士を接続して画像処理を行う際に、ユーザーの実際の使用環境に応じた最適な処理の分担割合を導き出せる。
【０１３０】
また、本発明に係る情報処理プログラムは、上記情報処理方法をコンピュータに実行させるように構成してもよい。
【０１３１】
上記の構成によれば、それぞれにプロセッサを持った機材同士を接続して画像処理を行う際に、ユーザーの実際の使用環境に応じた最適な処理の分担割合を導き出せる。
【０１３２】
また、本発明に係るコンピュータ読み取り可能な記録媒体は、上記情報処理プログラムを記録したように構成してもよい。
【０１３３】
上記の構成によれば、それぞれにプロセッサを持った機材同士を接続して画像処理を行う際に、ユーザーの実際の使用環境に応じた最適な処理の分担割合を導き出せる。
【産業上の利用可能性】
【０１３４】
スキャナやデジタルカメラなどの画像入力装置で生成した画像データを画像出力装置によって印刷するような用途にも適用できる。
【図面の簡単な説明】
【０１３５】
【図１】本発明を適用した場合の演算装置の構成を示すブロック図である。
【図２】本発明を適用した場合の画像入力演算装置の構成を示すブロック図である。
【図３】本発明を適用した場合の画像出力演算装置の構成を示すブロック図である。
【図４】二つのプロセッサを用いて本発明を適用する場合の初期のデータの分割状況を示す図である。
【図５】二つのプロセッサを用いて本発明を適用する場合の最適化が進んだ場合のデータの分割状況を示す図である。
【図６】本発明を適用した画像処理装置二つを接続して処理を行った場合における処理量分担率最適化前の処理時間の内訳を示す図である。
【図７】本発明を適用した画像処理装置二つを接続して処理を行った場合における処理量分担率最適化後の処理時間の内訳を示す図である。
【図８】二つのプロセッサで前回の処理において処理時間の長いほうのデータの半分を、次の回に前回処理時間の短かい方へ割り振る場合のデータの分割状況を示す図である。
【図９】二つのプロセッサで前回の処理時における割り振り量の半分を次の処理時における割り振り量にする場合のデータの分割状況を示す図である。
【図１０】二つのプロセッサで初回の処理における分担率をプロセッサの能力や年代に応じて変更し、前回の処理時における割り振り量の半分を次の処理時における割り振り量にする場合のデータの分割状況を示す図である。
【図１１】画像入力装置と画像出力装置を接続して印刷を行う場合の全体の処理を示すフローチャートである。
【図１２】年代もしくはランクのわかる画像入力装置と画像出力装置を接続して印刷を行う場合の全体の処理を示すフローチャートである。
【図１３】履歴格納用メモリが接続されたマスターになるプロセッサを持つ画像入力装置（デジタルカメラ）と履歴格納用メモリの接続されていないスレーブになるプロセッサを持つ画像出力装置（プリンタ）を接続した場合の、マスタープロセッサとスレーブプロセッサと全体を操作するユーザーの間のデータのやり取りおよび操作を含めた接続から履歴メモリに履歴データを記録するまでの処理を示すフローチャートである。
【図１４】履歴格納用メモリが接続されていないスレーブになるプロセッサを持つ画像入力装置（デジタルカメラ）と履歴格納用メモリの接続されたマスターになるプロセッサを持つ画像出力装置（プリンタ）を接続した場合の、マスタープロセッサとスレーブプロセッサと全体を操作するユーザーの間のデータのやり取りおよび操作を含めた接続から履歴メモリに履歴データを記録するまでの処理を示すフローチャートである。
【図１５】履歴格納用メモリが接続されたスレーブになるプロセッサを持つ画像入力装置（デジタルカメラ）と履歴格納用メモリが接続されたマスターになるプロセッサを持つ画像出力装置（プリンタ）を接続した場合の、マスタープロセッサとスレーブプロセッサと全体を操作するユーザーの間のデータのやり取りおよび操作を含めた処理を示すフローチャートである。
【図１６】二つのプロセッサで前回の処理において処理時間の長いほうに割り振った処理量の半分を次の回に処理時間の長かったほうに割り振る場合の処理を示すフローチャートである。
【符号の説明】
【０１３６】
１１    画像処理装置（情報処理装置）
１２    接続手段
１３    演算手段
１４    取得手段（決定手段）
１５    分割手段（決定手段）
１６    データ用記憶手段
１７    履歴用記憶手段（性能記憶手段、移管量記憶手段）
２１    画像入力装置（情報処理装置）
２２    接続手段
２３    演算手段
２４    取得手段（決定手段）
２５    分割手段（決定手段）
２６    データ用記憶手段
２７    履歴用記憶手段（性能記憶手段、移管量記憶手段）
２８    入力手段
３１    画像出力装置（情報処理装置）
３２    接続手段
３３    演算手段
３４    取得手段（決定手段）
３５    分割手段（決定手段）
３６    データ用記憶手段（性能記憶手段、移管量記憶手段）
３７    履歴用記憶手段
３９    出力手段
【図１】
2006004382.tif 000003
【図２】
2006004382.tif 000004
【図３】
2006004382.tif 000005
【図４】
2006004382.tif 000006
【図５】
2006004382.tif 000007
【図６】
2006004382.tif 000008
【図７】
2006004382.tif 000009
【図８】
2006004382.tif 000010
【図９】
2006004382.tif 000011
【図１０】
2006004382.tif 000012
【図１１】
2006004382.tif 000013
【図１２】
2006004382.tif 000014
【図１３】
2006004382.tif 000015
【図１４】
2006004382.tif 000016
【図１５】
2006004382.tif 000017
【図１６】
2006004382.tif 000018