説明

情報処理装置、情報処理方法、情報処理プログラムおよびコンピュータ読み取り可能な記録媒体

【課題】 対象となる処理に対する処理能力の正確な通知無しに、複数のプロセッサの間で処理を分担しあうシステム全体での処理時間を短くする。
【解決手段】 画像処理装置11は、接続した他の画像処理装置の識別結果に基づいて履歴用記憶手段17から過去の処理の結果を取得する取得手段14と、その過去の処理の結果に応じて演算手段13と他の画像処理装置との間で画像処理量を分割する分割手段15とを備えているので、各画像処理装置の処理速度を処理前にユーザーが正確に把握しておくことが困難であっても、また、各画像処理装置の理論的な処理速度とインターフェース等周辺機器の性能も加味した実際の処理速度とのずれをユーザーが把握していなくても、処理にかかる時間を短くすることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、スキャナやデジタルカメラなどの画像入力装置で生成した画像データを画像出力装置によって印刷するような場合に用いられる情報処理装置、情報処理方法、情報処理プログラムおよびコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【0002】
従来、スキャナやデジタルカメラなどの画像入力装置で生成した画像データを画像出力装置によって印刷することが可能になっている。
【0003】
ただその場合において、画像データを何らの処理も施さずに直接的に印刷すると画質が劣化する。そこで、通常の印刷システムでは画像データに対し、シェーディング補正、デジタルフィルタ、など、複数の処理項目からなる画像処理を行うようになっている。この場合、画像入力装置からは画像データを送り、印刷のための上記の処理項目をプリンタ側で施すように設計されている。昨今、画素数が飛躍的に向上したデジタルカメラや解像度の飛躍的に向上したスキャナの大量の画像データに対して、低価格プリンタの場合は、プロセッサの速度が向上したとはいえ、それら大量の画像データを余裕を持って処理できるほどの処理能力を持つプロセッサを持つことは少ないので、高画質での印刷時には、使用者はかなり待たされることになる。
【0004】
また、ワークステーションなどのクライアント(送信側装置)がネットワークを介してプリントサーバーに接続され、クライアントから送信された描画命令(印刷データ)がプリントサーバーで処理される。この場合、クライアント側においては描画命令はページ記述言語で記述され、そのようなデータがプリントサーバーで処理されて、最終的にラスターイメージが生成される。ラスターイメージデータの大きさに比べて、ネットワークが遅かった時代には、この方法はネットワークに負荷をかけない有効な方法であったが、メモリの低価格化、プロセッサの処理能力の向上、ネットワークの高速化、などを背景としてこの方法による問題が顕在化し始めている。ページ記述言語で記述された描画命令をプリントサーバー(プリンタ)に送信しても、そのプリントサーバー(プリンタ)の処理速度が遅ければ、印刷システム全体の処理速度がプリントサーバー(プリンタ)に支配されてしまう。
【0005】
ところで、複数のプロセッサ(演算器)を使用して処理を分担して実行する演算装置が知られている。複数のプロセッサを使用して処理を実行する場合、処理の効率を上げ、その実行速度を上げるためには、複数のプロセッサで処理そのもの、もしくはその処理されるデータを適切に分担する技術が重要であり、従来から様々な分担方法が提案されている。例えば、特許文献1には、複数のプロセッサの中で特定のプロセッサに負荷が集中することを避けるように処理を分担するグラフィックアクセラレータが開示されている。
【0006】
また、プロセッサそのものに関しても、近年では、ASIC(Application Specific Integrated Circuit)などの専用のLSIを用いる替わりに、性能が向上したプログラムの可能なDSP(Digital Signal Processor)を用いることも行われている。
【0007】
特許文献2ではこういった、処理内容を適時変更できるという特性を利用して、必要な処理にかかる時間を本体側プロセッサ、アクセラレータ側でそれぞれデータテーブルとして持っておいて分担するデータの割合を最適化して全体としての処理時間を短くする方法が開示されている。
【0008】
また、特許文献3では、接続する機器の処理能力の通知に基づいて信号処理を分担することが提案されている。
【特許文献1】特開平10−171766号公報(公開日平成10年6月26日)
【特許文献2】特開2002−312776号公報(公開日平成14年10月25日)
【特許文献3】特開2001−14119号公報(公開日平成13年1月19日)
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、バスの転送速度、およびメモリの読み込み、書き込みにおいて理論どおりの性能が出るのなら上記公報記載の技術で最適にデータを配分することができるが、実際にはコストの問題などによって読み書きが同時にできないメモリが使われることもある。こういったメモリを使った場合は、例えば処理するデータ量が少ないような領域においてはプログラムの入れ替えの時間が無視できないほどになり、それによって全体の処理時間に対して誤差が出てくるようになる。また、デジタルカメラ、スキャナ、などの外部機器内のプロセッサと、プロセッサを内蔵したプリンタなどの装置を接続して処理を分担する場合、データの転送にはUSB(Unibersal Serial Bus)やIEEE1394、もしくはIEEE1284等の外部インターフェースを用いることになるが、ケーブルの長さ、質、そして接点の接触具合などによって速度が落ちたりすることもある。さらに有線ではなく無線のインターフェースを用いた場合は環境の影響を大きく受けることになる。
【0010】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、対象となる処理に対する処理能力の正確な通知無しに、複数のプロセッサの間での処理の分担を現実的な最適解に持っていくことでシステム全体での処理時間を短くすることができる情報処理装置、情報処理方法、情報処理プログラムおよびコンピュータ読み取り可能な記録媒体を実現することにある。
【課題を解決するための手段】
【0011】
上記の課題を解決するため、本発明に係る情報処理装置は、複数の情報処理装置同士が処理データを分担して処理するシステムに用いられる当該情報処理装置において、処理に参加する情報処理装置同士の接続状態を変えずに連続して行う処理全体を一連処理と称するとき、一つの一連処理内において、処理を行った各回において、各情報処理装置が分担した割合である分担率と、各情報処理装置がその分担分の処理を終えるのにかかった時間である分担時間とを記憶する履歴用記憶手段と、前回の処理で、自分の分担する処理を終えるのに他の情報処理装置より時間がかかった情報処理装置をAと称するとき、上記履歴用記憶手段の記憶内容を読み出して分担時間を比較することで情報処理装置Aを特定し、次回の処理では、処理データのうちで情報処理装置Aの分担率を、前回の値よりも小さい値に設定する決定手段とを備えたことを特徴としている。
【0012】
また、本発明に係る情報処理プログラムは、コンピュータを上記の情報処理装置における決定手段として機能させるためのプログラムであることを特徴としている。
【0013】
また、本発明に係るコンピュータ読み取り可能な記録媒体は、上記情報処理プログラムを記憶したことを特徴としている。
【0014】
上記の構成により、一つの一連処理内において、前回の処理で、自分の分担する処理を終えるのに他の装置より時間がかかった装置をAと称するとき、次回の処理では、処理データのうちで装置Aが分担する割合を、前回よりも減少させる。
【0015】
その結果、前回自分の分担分の処理に時間がかかった情報処理装置は次回は分担率が減り、前回自分の分担分の処理に時間があまりかからなかった情報処理装置は次回は分担率が増える。
【0016】
したがって、次回は、同じ量の処理データに対して、各情報処理装置の分担率を前回と同じに設定した場合と比べて、処理の速いほうの情報処理装置にとって、処理の遅いほうの情報処理装置が自分の持ち分の処理を終えるのを待つだけで無駄となる時間を、効果的に減らすことができる。
【0017】
それゆえ、対象となる処理に対する処理能力の正確な通知無しに、複数の演算器の間での処理の分担を現実的な最適解に持っていくことでシステム全体での処理時間を短くすることができるという効果を奏する。
【0018】
また、本発明に係る情報処理装置は、上記の構成に加えて、一つの一連処理内において、上記決定手段が、上記分担時間が等しくなるように上記各情報処理装置の分担率を定めることを特徴としている。
【0019】
上記の構成により、上記分担時間が等しくなるように上記各情報処理装置の分担率を定める。したがって、処理の速いほうの情報処理装置にとって、処理の遅いほうの情報処理装置が自分の持ち分の処理を終えるのを待つだけで無駄となる時間がなくなる。それゆえ、上記の構成による効果に加えて、より簡便に、システム全体での処理時間を短くすることができるという効果を奏する。
【0020】
また、本発明に係る情報処理装置は、上記の構成に加えて、上記履歴用記憶手段が、過去の処理について、参加した個々の情報処理装置を特定する情報である装置識別情報と、1回の処理において、単独稼働から分担稼働に変わる時刻から、分担稼働から単独稼働に変わる時刻までの時間の指標となる処理総時間情報とを記憶し、上記決定手段が、処理が終わるたびに、上記履歴用記憶手段に記憶されている処理総時間情報と今回の処理総時間情報とを比較し、今回の処理総時間情報のほうが小さければ、上記履歴用記憶手段に記憶されている各情報処理装置の分担率と処理総時間情報とを今回の値で更新し、その後、新たな一連処理を開始するために処理に参加する情報処理装置の接続状態を設定する動作がユーザーによりなされるのを検知すると、その一連処理における各情報処理装置の分担率の初期値として、上記履歴用記憶手段に記憶されている分担率を採用することを特徴としている。
【0021】
上記の構成により、一連処理が終わるたびに、上記履歴用記憶手段に記憶されている処理総時間情報と今回の処理総時間情報とを比較し、今回の処理総時間情報のほうが小さければ、上記履歴用記憶手段に記憶されている各情報処理装置の分担率と処理総時間情報を今回の値で更新し、その後、処理に参加する情報処理装置の接続状態を設定する動作がユーザーによりなされるのを検知すると、その一連処理における各情報処理装置の分担率の初期値として、上記履歴用記憶手段に記憶されている分担率を採用する。
【0022】
処理総時間情報は、1回の処理において、単独稼働から分担稼働に変わる時刻から、分担稼働から単独稼働に変わる時刻までの時間の指標となる情報であり、その時間そのものであってもよい。
【0023】
したがって、ある情報処理装置の組み合わせで処理時間が短くできたような場合に、後でまた同じ組み合わせを採用したような場合には、初期値としてそのような良好な値を採用できる。
【0024】
それゆえ、上記の構成による効果に加えて、処理時間の短縮が、前の一連処理のときよりも早く完了できるという効果を奏する。
【0025】
また、本発明に係る情報処理装置は、上記の構成に加えて、上記決定手段が、今回の一連処理を行う情報処理装置の組み合わせを上記装置識別情報によって把握し、上記履歴用記憶手段に、その組み合わせに対する過去の上記分担率の初期値が記憶されていない場合には、分担率の初期値として、等分割することを特徴としている。
【0026】
上記の構成により、今回の組み合わせに対する過去の上記分担率の初期値が記憶されていない場合には、分担率の初期値として、等分割する。したがって、分担率の初期値が記憶されていないような初めての組み合わせに対しても、とりあえず処理を開始することができる。それゆえ、上記の構成による効果に加えて、どのような組み合わせであっても支障なく処理を行うことができるという効果を奏する。
【0027】
また、本発明に係る情報処理装置は、上記の構成に加えて、各情報処理装置の処理能力の速さを示す性能を記憶する性能記憶手段を備え、上記決定手段が、上記性能記憶手段から性能を読み出して、その一連処理における各情報処理装置の分担率の初期値として、性能が高い情報処理装置ほど分担率が高くなるような値を設定することを特徴としている。
【0028】
上記の構成により、性能が高い情報処理装置ほど、分担率の初期値として処理データを多く割り当てられる。したがって、初回には等分割した場合と比べて、処理時間を最短にするまでの回数を少なくすることができる。それゆえ、上記の構成による効果に加えて、迅速に処理時間を最短にすることができるという効果を奏する。
【0029】
また、本発明に係る情報処理装置は、上記の構成に加えて、一つの一連処理内において、ある回に処理時間の長かった情報処理装置から処理時間の短かった情報処理装置へ、その次の回用に分担を移管される相対的な処理データ量を移管量として記憶する移管量記憶手段を備え、一つの一連処理内において、上記決定手段は、上記移管量記憶手段から移管量を読み出し、前回での処理時間の長かった情報処理装置から処理時間の短かった情報処理装置へ、分担を、前回の移管量のうちの一定割合量だけ移管したような分担率を設定することを特徴としている。
【0030】
上記の構成により、一つの一連処理内において、前回での処理時間の長かった情報処理装置から処理時間の短かった情報処理装置へ、分担を、前回の移管量のうちの一定割合量だけ移管して処理を実行する。
【0031】
したがって、常に、処理時間の長いほうの情報処理装置の分担分の半分を割り振る場合と比べて、処理時間を最短にするまでの回数を少なくすることができる。それゆえ、上記の構成による効果に加えて、迅速に処理時間を最短にすることができるという効果を奏する。
【0032】
また、本発明に係る情報処理装置は、上記の構成に加えて、全情報処理装置の中で、処理データを処理して得られる結果を実際にユーザーに提示する役割を行う情報処理装置をBとすると、上記情報処理装置Bが、自身で処理したデータをユーザーに提示する動作と、他の情報処理装置により処理が済んで当該他の情報処理装置から情報処理装置Bに転送されてくる処理済みデータを受信する動作とを同時に行える場合には、1つの処理データ内で、箇所によって、ユーザーに提示する相対的な順番が決まっているような処理データについて、上記決定手段は、ユーザーに提示する順番が相対的に早い箇所ほど、情報処理装置Bに優先的に分担させることを特徴としている。
【0033】
上記の構成により、全情報処理装置の中で、処理データを処理して得られる結果(例えば静止画データであれば静止画)を実際にユーザーに提示する役割を行う情報処理装置をBとすると、上記情報処理装置Bが、自身で処理したデータをユーザーに提示する動作と、他の情報処理装置により処理が済んで当該他の情報処理装置から情報処理装置Bに転送されてくる処理済みデータを受信する動作とを同時に行える場合には、1つの処理データ内で、箇所によって、ユーザーに提示する相対的な順番が決まっているような処理データについて、ユーザーに提示する順番が相対的に早い箇所ほど、情報処理装置Bに優先的に分担させる。
【0034】
したがって、ユーザーに提示する順番が相対的に遅い箇所について、情報処理装置B以外の情報処理装置が処理して情報処理装置Bに転送している間に、ユーザーに提示する順番が相対的に早い箇所について、情報処理装置Bが処理してユーザーに提示することができる。それゆえ、上記の構成による効果に加えて、全体としての処理時間をより短くすることができるという効果を奏する。
【0035】
また、本発明に係る情報処理方法は、複数の情報処理装置同士が処理データを分担して処理する情報処理方法において、処理に参加する情報処理装置同士の接続状態を変えずに連続して行う処理全体を一連処理と称するとき、一つの一連処理内において、処理を行った各回において、各情報処理装置が分担した割合である分担率と、各情報処理装置がその分担分の処理を終えるのにかかった時間である分担時間とを記憶し、前回の処理で、自分の分担する処理を終えるのに他の情報処理装置より時間がかかった情報処理装置をAと称するとき、上記履歴用記憶手段の記憶内容を読み出して時間を比較することで情報処理装置Aを特定し、次回の処理では、処理データのうちで情報処理装置Aの分担率を、前回の値よりも小さい値に設定することを特徴としている。
【0036】
上記の構成により、一つの一連処理内において、前回の処理で、自分の分担する処理を終えるのに他の装置より時間がかかった装置をAと称するとき、次回の処理では、処理データのうちで装置Aが分担する割合を、前回よりも減少させる。
【0037】
その結果、前回自分の分担分の処理に時間がかかった情報処理装置は次回は分担率が減り、前回自分の分担分の処理に時間があまりかからなかった情報処理装置は次回は分担率が増える。
【0038】
したがって、次回は、同じ量の処理データに対して、各情報処理装置の分担率を前回と同じに設定した場合と比べて、処理の速いほうの情報処理装置にとって、処理の遅いほうの情報処理装置が自分の持ち分の処理を終えるのを待つだけで無駄となる時間を、効果的に減らすことができる。
【0039】
それゆえ、対象となる処理に対する処理能力の正確な通知無しに、複数の演算器の間での処理の分担を現実的な最適解に持っていくことでシステム全体での処理時間を短くすることができるという効果を奏する。
【発明の効果】
【0040】
以上のように、本発明に係る情報処理装置は、処理に参加する情報処理装置同士の接続状態を変えずに連続して行う処理全体を一連処理と称するとき、一つの一連処理内において、処理を行った各回において、各情報処理装置が分担した割合である分担率と、各情報処理装置がその分担分の処理を終えるのにかかった時間である分担時間とを記憶する履歴用記憶手段と、前回の処理で、自分の分担する処理を終えるのに他の情報処理装置より時間がかかった情報処理装置をAと称するとき、上記履歴用記憶手段の記憶内容を読み出して分担時間を比較することで情報処理装置Aを特定し、次回の処理では、処理データのうちで情報処理装置Aの分担率を、前回の値よりも小さい値に設定する決定手段とを備えた構成である。
【0041】
また、本発明に係る情報処理プログラムは、コンピュータを上記の情報処理装置における決定手段として機能させるためのプログラムである構成である。
【0042】
また、本発明に係るコンピュータ読み取り可能な記録媒体は、上記情報処理プログラムを記憶した構成である。
【0043】
また、本発明に係る情報処理方法は、処理に参加する情報処理装置同士の接続状態を変えずに連続して行う処理全体を一連処理と称するとき、一つの一連処理内において、処理を行った各回において、各情報処理装置が分担した割合である分担率と、各情報処理装置がその分担分の処理を終えるのにかかった時間である分担時間とを記憶し、前回の処理で、自分の分担する処理を終えるのに他の情報処理装置より時間がかかった情報処理装置をAと称するとき、上記履歴用記憶手段の記憶内容を読み出して時間を比較することで情報処理装置Aを特定し、次回の処理では、処理データのうちで情報処理装置Aの分担率を、前回の値よりも小さい値に設定する構成である。
【0044】
これにより、次回は、同じ量の処理データに対して、各情報処理装置の分担率を前回と同じに設定した場合と比べて、処理の速いほうの情報処理装置にとって、処理の遅いほうの情報処理装置が自分の持ち分の処理を終えるのを待つだけで無駄となる時間を、効果的に減らすことができる。
【0045】
それゆえ、対象となる処理に対する処理能力の正確な通知無しに、複数の演算器の間での処理の分担を現実的な最適解に持っていくことでシステム全体での処理時間を短くすることができるという効果を奏する。
【発明を実施するための最良の形態】
【0046】
ここでは、プリンタ側のプロセッサがマスター、デジタルカメラ側のプロセッサがスレーブとして機能するものとする。
【0047】
図1は本発明の演算装置(情報処理装置)を適用した画像処理装置の構成を示すブロック図である。この画像処理装置11は、他の画像入力装置によって作成された画像データを接続手段12によって取り込み、入力された画像データを処理し、接続手段12によって画像出力装置へ転送する装置である。
【0048】
すなわち、画像処理装置(情報処理装置)11は、接続手段12、演算手段13、取得手段14、分割手段15、データ用記憶手段16、履歴用記憶手段17を備えている。接続手段12、演算手段13、取得手段14、分割手段15は、CPU(中央制御部)すなわちプロセッサ(演算器)により実行されるコンピュータプログラムにて実現される機能モジュールであり、取得手段14、分割手段15により決定手段が構成されている。データ用記憶手段16、履歴用記憶手段17はいずれもランダムアクセスメモリ等のメモリである。
【0049】
データ用記憶手段16は、各種ユーザーデータを一時的に記憶するものである。
【0050】
履歴用記憶手段17は、処理を行った各回において、各情報処理装置が分担した割合である分担率と、各情報処理装置がその分担分の処理を終えるのにかかった時間である分担時間とを記憶するものである。また、履歴用記憶手段17は、過去の処理について、参加した個々の情報処理装置を特定する情報である上記装置識別情報の組み合わせと、1回の処理において、単独稼働から分担稼働(並列処理)に変わる時刻から、分担稼働から単独稼働に変わる時刻までの時間(以下、処理総時間と称する)の指標となる処理総時間情報とを、対にして記憶する。なお、処理総時間情報としては、上記処理総時間そのものであってもよい。さらに、履歴用記憶手段17は、各情報処理装置の性能である性能を記憶する性能記憶手段、および、一つの一連処理内において、ある回に処理時間の長かった情報処理装置から処理時間の短かった情報処理装置へ、処理データの持ち分を、全体に対するある相対量だけ渡すとするときに、その相対量を移管量として記憶する移管量記憶手段としても機能する。また、自分(個々の情報処理装置の個体)を特定する装置識別情報も記憶している。なお、これらのことは、以下の履歴用記憶手段27、履歴用記憶手段37も同様である。
【0051】
ここで、「処理」とは、種々のデータを様々に加工することである。例えば、すでに述べたように、画像データとしてネットワーク等様々な場面で供給されるデータを受け取った後、実際にユーザーに提示(印刷や画面表示等)できるデータへと変化(データ伸張、階調調整等)させることである。そして、より詳しくは、「処理」とは、「それに参加する情報処理装置同士の接続状態を変えずに、繰り返し行うことができるひとかたまりの動作」を指すものとする。例えば文書ファイルや画像ファイルの複数ページを印刷するとした場合に、各ページの印刷を行うのが「1回の処理」である、とすることができる。この場合、例えばファイルの1ページ目から3ページ目を印刷するとした場合に、1ページ目の印刷を行うのが「第1回の処理」で、2ページ目の印刷を行うのが「第2回の処理」となる。
【0052】
一方、この例でいえば「1ページ目から3ページ目を印刷する」とのように、「処理に参加する情報処理装置同士の接続状態を変えずに連続して行う処理全体」を、1回の「一連処理」と称する。すなわち、デジタルカメラとプリンタであれば、デジタルカメラを変更したりプリンタを変更したり、同じ機器であっても、接続の仕方を変更するなどのために一旦接続を解除したりすると、次回からは「第2の一連処理」となる、とする。
【0053】
図2は本発明の演算装置を適用した画像入力装置の構成を示すブロック図である。この画像入力装置21は、光電変換素子であるCCD(Charge Coupled Device)、そこから得られる信号を扱いやすいレベルに変換するアンプ、そして得られたアナログ信号をデジタル信号に変換するA/Dコンバータなどから構成される入力手段28を持ち、この入力手段28によって入力された画像データを処理し、接続手段22によって画像出力装置へ転送する装置である。
【0054】
すなわち、画像入力装置(情報処理装置)21は、接続手段22、演算手段23、取得手段24、分割手段25、データ用記憶手段26、履歴用記憶手段27、入力手段28を備えている。接続手段22、演算手段23、取得手段24、分割手段25は、CPUすなわちプロセッサにより実行されるコンピュータプログラムにて実現される機能モジュールであり、取得手段24、分割手段25により決定手段が構成されている。データ用記憶手段26、履歴用記憶手段27はいずれもランダムアクセスメモリ等のメモリである。入力手段28は上記の通りである。
【0055】
図3は本発明の演算装置を適用した画像出力装置の構成を示すブロック図である。この画像出力装置31は、インクジェット、電子写真方式などの印刷を行う出力手段39、あるいはディスプレイなどの出力手段39を持ち、接続手段32より入力された画像データを演算手段33によって処理し、この出力手段39によって出力される装置である。
【0056】
すなわち、画像出力装置(情報処理装置)31は、接続手段32、演算手段33、取得手段34、分割手段35、データ用記憶手段36、履歴用記憶手段37、出力手段39を備えている。接続手段32、演算手段33、取得手段34、分割手段35は、CPUすなわちプロセッサにより実行されるコンピュータプログラムにて実現される機能モジュールであり、取得手段34、分割手段35により決定手段が構成されている。データ用記憶手段36、履歴用記憶手段37はいずれもランダムアクセスメモリ等のメモリである。出力手段39は上記の通りである。
【0057】
図4は二つの演算装置を接続した際の初期状態での各プロセッサに対するデータの配分状況、図5は図4の接続状況において処理を繰り返した後の各プロセッサに対するデータの配分状況である。図4、図5において、Aは画像出力装置のプロセッサであり、Bは画像入力装置のプロセッサである。ここで示されているデータは、印刷される1枚の画像でもよいし、複数枚の画像における枚数の比率でもよい。
【0058】
なお、例えばネットワークを介する場合は常に多種多様な装置同士がつながっている状況がありうるが、ここでは、特に断りのない限り、「接続」とは、装置同士をコード(または無線)でつなぐことに加えて、その装置同士を組み合わせて処理に使うということをユーザーが指示するという意味も含んでいるものとする。例えば、ネットワークの構成が変更されなくても、使う装置の指定をユーザーが変更すれば、ここでいう「接続状況」は変わったことになる。また、つなぐコード、より広く言えばインターフェースの種類が変わっても、ここでいう「接続状況」は変わったことになる。
【0059】
なお、画像出力装置が画像データの転送と画像データの出力を同時に行える場合は、画像出力装置側に配分されるデータを前側に持ってくることによって、もうひとつの画像処理装置側から処理済みデータが転送される間に画像出力装置の出力手段によって出力を始め、最終的な処理時間を短くすることができる。つまり、先に結果を出力すべき箇所を画像出力装置のほうに優先して分担させて、画像の前のほう、もしくは前のほうのページを先に画像出力装置に送ることによって、全体としての処理時間をより短くすることができる。
【0060】
すなわち、全情報処理装置の中で、処理データの処理結果を実際にユーザーに提示する役割を行う情報処理装置をBとすると、上記情報処理装置Bが、自身で処理したデータをユーザーに提示する動作と、他の情報処理装置により処理が済んで当該他の情報処理装置から情報処理装置Bに転送されてくる処理済みデータを受信する動作とを同時に行える場合には、一つの処理データ内で、箇所によって、ユーザーに提示する相対的な順番が決まっているような処理データについて、ユーザーに提示する順番が相対的に早い箇所ほど、情報処理装置Bに優先的に分担させる。一つの処理データ内で、箇所によって、ユーザーに提示する相対的な順番が決まっているような処理データとしては、例えば、静止画データや、音楽データ等が挙げられる。すなわち、静止画データであれば、画像の左上から右下に向かって順に表示していくのが一般的である。また、音楽データであれば、特殊な再生形態を除けば、曲の頭から順に再生される。したがって、静止画データであれば、画像の左上に近い箇所ほど、情報処理装置Bで処理するようにする。音楽データであれば、曲の頭に近い箇所ほど、情報処理装置Bで処理するようにする。全情報処理装置の中で、処理データの処理結果を実際にユーザーに提示する役割を行う情報処理装置としては、例えば、本実施の形態のような画像出力装置(ディスプレイやプリンタ等)や、あるいは、音楽再生装置等を挙げることができる。
【0061】
本実施の形態においては、まず初回には、画像出力装置が、一つの静止画の中で、先にユーザーに対して結果を出力すべき箇所を、先頭から順に、優先的に分担する。そして、次回用に、他の画像処理装置から後述のように画像出力装置に分担を移動させる場合には、分担変更前は他の画像処理装置が分担する予定だったデータのうちで、先に結果を出力すべき箇所から優先的に、画像出力装置に分担を移動させるようにすればよい。あるいは逆に、画像出力装置から後述のように他の画像処理装置に分担を移動させる場合に、後に結果を出力すべき箇所から優先的に、他の画像処理装置に分担を移動させるようにすればよい。
【0062】
もうひとつの画像処理装置側から処理済みデータが転送される間に画像出力装置の出力手段によって出力を始め、例えば、出力が終わってしまう前に転送を完了して出力のための加工を終えることができれば、とぎれることなくデータの全部を出力することができる。あるいは、出力が終わってしまう前に転送を完了できなくても、すでに一部の転送は終わっているので、あとわずかな待ち時間の後に転送を完了することができ、出力のための加工を終えて迅速にデータの全部を出力することができる。
【0063】
図6は二つの演算装置を接続した際の初期状態でのそれぞれの処理時間の配分を示したもの、図7は処理を繰り返した際のそれぞれの処理時間の配分を示したものである。ここでは画像処理装置Aに関してはデジタルカメラ、もしくはスキャナなどの画像入力装置、画像処理装置Bに関してはインクジェット、もしくは電子写真方式の出力手段を持つことを想定している。
【0064】
図6、図7のaにおける初期処理においては、画像データのヘッダの付加等、画像処理装置Aでしか行えない処理などを行っている。次に、図6、図7のbの処理前データ転送において、処理データを分割し、画像処理装置Bが処理すべきデータを画像処理装置Bに転送、分配している。図6、図7のcにおいて、主な画像処理をそれぞれの演算装置で分担し、並列に行う。図6においては画像処理装置Bに搭載されたプロセッサのほうが速い場合を想定しているので、図6においては相手処理終了待ち時間dが発生している。一方、図7においては、いずれの画像処理装置にも、相手処理終了待ち時間がない。そして、それぞれの本処理が終了した後、処理された画像データを統合するために画像処理装置Aから画像処理装置2に転送している。ここで、処理前のデータ転送時間eより処理後のデータ転送時間eのほうが長いのは、処理前のデータに関しては圧縮されていることが多いからである。最後に、図6、図7のf、出力前の処理において分割処理された画像データの統合、および出力前の最終処理を行う。出力手段が印刷装置の場合は中間調処理が必要になるが、画像データを分割して処理した場合、データの分割部において境界が目立つ場合がある。よってそれぞれの画像データを統合した後に中間調処理を行う。
【0065】
本構成では、総合的な処理時間を測定し、その処理時間が最小になるようにデータの分担率を定めるが、ここでは処理前のデータ転送、本処理、処理後のデータ転送の総加算時間を対象として測定し、その時間が最小となるように画像データの分担率を定める。つまり、1回の処理で、複数の情報処理装置が分担(分担稼働)を開始した時刻(aの終了時刻またはbの開始時刻)から、分担が終了した時刻(eの終了時刻またはfの開始時刻)までである。aやfは一つの情報処理装置だけが稼働している(単独稼働)ので測定から除外する。
【0066】
図6、図7の場合、画像処理装置Aに配分された画像データ比率が処理を繰り返すうちに低くなり、処理後に画像処理装置Bに転送される画像データも少なくなるので、全体的に処理時間が短くなっている。このときには、各画像処理装置の分担時間同士の差が小さいものとなっている。特に、図7の場合は、ある画像処理装置の処理が終わるのを他の画像処理装置の処理が待つ時間がない、すなわち分担時間同士が等しい、最も時間効率の良い理想的な状態である。
【0067】
図8、図9、図10は、本発明を適用して画像処理装置二つを接続した際、処理を繰り返すうちにデータの分担率を最適化していく様子を示したものである。図8ないし図10において、Aは画像入力装置のプロセッサであり、Bは画像出力装置のプロセッサである。ここでは、処理条件は同じ、すなわち処理される画像データが同じ大きさであることを想定している。
【0068】
図8は、後述の履歴や性能等、初期条件が何もない状態で、まず画像データをそれぞれ均等に分割し、処理を繰り返す際、処理時間のかかった方のデータの半分の大きさを次の処理のときに処理時間の短かったほうに分配する方法である。
【0069】
図9は、図8において、処理データの再分配の仕方を変更したものである。図8の方法でも回数を繰り返すごとに最適な配分量に近づいてはいくが、より早く最適解に近づけるために、図9に示すように、回数を重ねて処理量を再分配する際に前回移動した処理量を履歴として持っておき、前回の再分配の際に処理時間の少なかったほうに再分配した量が多すぎた場合、その前回再分配した量の半分を元に戻す。これによって、より早く最適解に近づく。
【0070】
図10は、初回の分担率を均等にせず、プロセッサのランクや製造年代等を考慮して、処理能力(性能)の高いほうのプロセッサに、より多くの処理量を割り当てておくものである。こうすることによって、より早く、最適な分担率へ近づくことができる。
【0071】
すなわち、もしそれぞれの機器の情報、製造された年月日やそれぞれに内蔵されているプロセッサの性能を示すランク等の性能が定義されていて、それが比較できる場合は、図6のように初めの分割条件を2等分するのではなく、製造年月日の遅いほう、もしくは性能のいいほうへ処理量を多く割くことで、画像処理全体の処理時間が最小となる最適解に到達するまでの回数がより少なくなる。ここで、製造年月日を考慮に入れるのは、半導体技術の進歩は早く、そのために同じようなランクのプロセッサにおいても新しいほうがより性能が高いからである。
【0072】
図8のやり方について、より詳しく述べれば以下の通りである。一つの一連処理内において、ある回P1に処理時間の長かった情報処理装置から処理時間の短かった情報処理装置へ、処理データの持ち分を、常に、自分が分担した量Mのうちの、一定割合分だけ渡して次の回P2の処理を実行する。この「一定割合分」とは、例えば2分の1である。
【0073】
例えば、第1回は、分担率としては等分割とする。また例えば、上記Mのうちから渡す量としては、常に1/2とする。処理データの総量が毎回100であるとして、第1回が情報処理装置A、Bに対し分担率がいずれもM=50ずつ(つまり1:1)で、Bのほうが時間がかかったとする。すると、第2回は、前回のBの分担量50の1/2を基準にして考えて、50/2=25であるから、分担率を
(50+25):(50−25)
=75:25
とする。それでもBのほうが時間がかかったとすると、第3回は、前回のBの分担量25の1/2を基準にして考えて、25/2=12.5であるから、分担率を
(75+12.5):(25−12.5)
=87.5:12.5
とする。その結果今度はAのほうが時間がかかったとすると、第4回は、前回のAの分担量87.5の1/2を基準にして考えて、87.5/2=43.75であるから、分担率を
(87.5−43.75):(12.5+43.75)
=43.75:56.25
とする。
【0074】
図9のやり方について、より詳しく述べれば以下の通りである。一つの一連処理内において、ある回P1に処理時間の長かった情報処理装置から処理時間の短かった情報処理装置へ、処理データの持ち分をある量Mだけ渡して次の回P2の処理を実行したとすると、その次の回P3としては、前の回P2での処理時間の長かった情報処理装置から処理時間の短かった情報処理装置へ、処理データの持ち分を、上記Mのうちの、一定割合分だけ渡して処理を実行する。この「一定割合分」とは、例えば2分の1である。
【0075】
例えば、第1回は、分担率としては等分割とする。また例えば、上記Mのうちから渡す量としては、常に1/2とする。処理データの総量が毎回100であるとして、第1回が情報処理装置A、Bに対し分担率がいずれもM=50ずつ(つまり1:1)で、Bのほうが時間がかかったとする。すると、第2回は、前回の移動量50の1/2を基準にして考えて、50/2=25であるから、分担率を
(50+25):(50−25)
=75:25
とする。それでもBのほうが時間がかかったとすると、第3回は、前回の移動量25の1/2を基準にして考えて、25/2=12.5であるから、分担率を
(75+12.5):(25−12.5)
=87.5:12.5
とする。その結果今度はAのほうが時間がかかったとすると、第4回は、前回の移動量12.5の1/2を基準にして考えて、12.5/2=6.25であるから、分担率を
(87.5−6.25):(12.5+6.25)
=81.25:18.75
とする。
【0076】
3つ以上の情報処理装置を使う場合は、例えば、ある回に処理時間の最も長かった情報処理装置から処理時間の最も短かった情報処理装置へ、処理データの持ち分を渡して次の回の処理を実行するようにすればよい。
【0077】
図11、図12は、画像入力装置と画像出力装置(プリンタ)を接続して印刷を行う場合の全体のフローチャートである。なお、ここ以降、すべてのフローチャートにおいて、特に断りのない限り、情報処理装置内の決定手段が各工程を行うものとする。
【0078】
まず、性能を表す情報がない場合は、図11のステップS1101において、性能を表す情報がある場合は、図12のステップS1201において、それぞれ、今回の印刷条件について過去の履歴をチェックする。
【0079】
次に、マスター、スレーブそれぞれの機器のランクや年代等の性能情報がなく履歴もない場合、初めに、処理データを2等分する(図11ステップS1103)。一方、性能情報がある場合は、その結果に応じて分担率を決定する(図12ステップS1203)。その決め方は任意であり、例えば過去に似たような性能を持った情報処理装置の組み合わせで実施した経験に基づいてユーザーが入力してもよい。マスター、スレーブそれぞれの機器の情報がなく、履歴のみがある場合、過去の履歴の最終結果を、今回の印刷の初期値に設定する(図11ステップS1102、図12ステップS1202)。
【0080】
次に、それぞれのプロセッサにおいて、定められた分担処理をする(図11ステップS1104、図12ステップS1204)。その詳細については図16を用いて後述する。
【0081】
なお、いずれかの決定手段は、分担時間と処理総時間とを計測し、処理が終わった後、その時間情報が所定の情報処理装置の履歴用記憶手段に記憶されるようになっている。分担時間については、各装置が自装置の分を計測して、求めた時間情報を他の装置に送信してもよいし、自装置の分担処理終了時刻のデータを他の装置へ送信して、受け取った装置の側で時間情報を計算してもよい。また、一つの装置から各装置へのデータ転送が開始された時刻を、単独稼働から分担稼働に変わった時刻とし、各装置から一つの装置への最後のデータ転送が終了した時刻を、分担稼働から単独稼働に変わった時刻とすればよい。
【0082】
そして、1回の印刷が終了したら、図11ではステップS1105、図12ではステップS1205に移り、印刷終了時刻を調べることで、印刷にかかった時間を履歴と比較し、短くなっていれば履歴を更新する。すなわち、今回の処理に使われた情報処理装置を特定する装置識別情報の組み合わせに対応して記憶してある処理総時間情報と、今回の処理総時間情報とを比較し、今回のほうが小さければ、この装置識別情報の組み合わせに対して記憶してある各情報処理装置の分担率を、今回の値で更新する。この更新された各情報処理装置の分担率は、また今度、情報処理装置を接続しなおして新たな一連処理として印刷を開始するときに、分担率の初期値として用いられる。分担率の「初期値」とは、各一連処理の、第1回の処理を開始した時点の分担率の値である。分担率の初期値は、一連処理の開始時にユーザーが手動で入力するようにすることもできるが、上記のようにすれば、1回の処理にかかる時間の短縮を、効率的に行うことができる。
【0083】
図11ではステップS1106、図12ではステップS1206において、もしまだ印刷をする必要があれば、すなわち、もし処理回数が今回の一連処理における必要回数に達していなければ、図11ではステップS1107、図12ではステップS1207において分担率を再設定する。すなわち、すでに図16を用いて述べたように、今回の開始前に情報処理装置間で移動させた分の半分を、次回の開始前に、今回分担時間が短かったほうの情報処理装置へ移すなど、所定のやり方の再分配を実行する。そして、上記ステップS1104(図12ではステップS1204)から繰り返す。
【0084】
この場合の分担処理のフローチャートを図16に示す。なお、再配分の仕方としては、図9のやり方を採用したとして説明する。
【0085】
まず、マスター側、スレーブ側にそれぞれ履歴がある場合、ない場合、および、プロセッサのランクや製造年代等、性能を表す情報がある場合、ない場合、それぞれについて、処理量を分割する直前までそれぞれのフローチャートに従って処理を進める。
【0086】
次に、実際に処理量を分割する段階において、その処理条件(一連処理)において、初回かどうかを判定する(図16ステップS1601)。処理条件としては、単に各情報処理装置がデジタルカメラかプリンタか、といった装置の種類だけを特定するのではなく、どのプリンタかといったように、どの個体を使うかの規定も含まれている。これは、情報処理装置を特定する装置識別情報を用いて規定される。決定手段は、その装置識別情報の組み合わせ(処理条件)に対応する履歴情報(過去の各情報処理装置の分担率および各情報処理装置ごとにかかった分担時間)が空かどうかを、履歴用記憶手段から読み出すことで調べる。なお、どの情報処理装置の履歴用記憶手段に履歴情報を記憶させるかは、ユーザーが任意に決めることができる。空であれば、初回と判断する。
【0087】
初回であれば、所定の分担率でそれぞれに処理量を割り振る(図16ステップS1603)。この図では、履歴がなく、各プロセッサの性能についても情報がない場合を想定し、マスター側、スレーブ側それぞれ均等に処理量を割り振っている。
【0088】
次に本処理を行う(図16ステップS1605)。そして、全体の処理が終了した後、それぞれの処理時間(分担時間)、分担率、処理総時間を履歴に記録する(図16ステップS1606)。そして印刷などの場合は次のページがあるかどうか、スキャナなどから読み込んだ画像を処理する場合は次の画像があるかどうかを判定し(図16ステップS1607)、終了でなければ次の処理に移る。
【0089】
次は初回ではない(図16ステップS1601)。ここでは図9の割り振り方を採用しているので、前回割り振られた処理量の半分を、履歴に記録(図16ステップS1602)するとともに、前回処理時間の短かったほうへ割り振る(図16ステップS1604)。
【0090】
次に、第2回の処理として、上述のステップS1605、S1606、S1607を再度行う。これを繰り返すことによって、最適な分担率へ近づくことができる。特に、ここでは図9のやり方を採用しているので、図8の場合よりも早く、最適な分担率へ近づくことができる。
【0091】
図9、図16に示した例では履歴がなく、各プロセッサの性能の性能についても情報がない場合であるが、各プロセッサの性能の性能が予めわかっている場合は、すでに述べたように、図10に示すように初回の分担率を均等にせず、処理能力の高いほうのプロセッサにより多くの処理量を割り当てておくようにすることができる。こうすることによって、より早く、最適な分担率へ近づくことができる。
【0092】
次に、図11や図12の内容を、マスターがどちらにあるかの観点から、より詳細に述べる。
【0093】
図13はデジタルカメラなどの画像入力装置がマスターになり、マスター側にのみ履歴記録用のメモリがある場合における機器の接続から、それらを操作するユーザーの詳細なフローチャートである。
【0094】
図14はプリンタなどの画像出力装置がマスターになり、マスター側にのみ履歴記録用のメモリがある場合における機器の接続から、それらを操作するユーザーの詳細なフローチャートである。
【0095】
図15はプリンタなどの画像出力装置がマスターになり、マスター側およびスレーブ側双方に履歴記録用のメモリがある場合における、機器の接続から、それらを操作するユーザーの詳細なフローチャートである。
【0096】
ここでは、図13、すなわち画像入力装置がマスターになり、マスター側にのみ履歴記録用のメモリがある場合を例に挙げる。
【0097】
まず、マスターのプロセッサ(以下マスター)側ではスレーブのプロセッサ(以下スレーブ)側の接続待ちの状態となっている(図13ステップS1300)。ここでスレーブが接続される(図13ステップS1302、S1303)と、まずそれぞれの間で通信が確実にできるか(図13ステップS1304、S1305)、相手側の機器はこの方式に対応している機器か、対応しているならそのバージョンはいくつか、などを確認する(図13ステップS1306、S1307)。
【0098】
次に、スレーブと確実に通信できて、かつスレーブがこの機能に対応しているなら、お互いの製造された年代、そしてプロセッサの性能をチェックする(図13ステップS1306)。もし年代およびランクがわからない場合はわからないほうを、「年代が古い。ランクが低い。」とみなす。もしくは、「マスター、スレーブ両方が年代、ランク共に判別できない。」とみなす。
【0099】
次に、マスター側は印刷要求待ちとなる(図13ステップS1307)。ここでユーザーがマスター側の機器に印刷条件をセットし、印刷開始操作をマスター側の機器に対して行う(図13ステップS1308)と、マスターは過去の印刷履歴を調べ、同じ印刷条件があるかどうかをチェックする(図13ステップS1309)。ここでの印刷条件とは、印刷される紙の大きさ、種類、倍率などの一般的な印刷設定だけではなく、スレーブ側の機器の情報も含まれる。なお、印刷条件、および印刷開始をユーザーがセットするスイッチの機能を持つものがスレーブ側(この例では画像出力装置側)にある場合はユーザーがスレーブ側の機器に印刷条件をセットし、印刷開始操作をスレーブ側に対して行うことになり、その場合の機器の動作も同じようになる。
【0100】
次に、履歴の内容、およびマスター側、スレーブ側それぞれの、ランクや年代等の機器の性能情報を基に、印刷するデータのマスター側、スレーブ側のそれぞれの分担率を決定する(図13ステップS1309)。
【0101】
分配の方法については、様々な方法があると思われるが、ここでは簡便な方法として、すでに述べた図8に示すように、データの分担率を、処理回数を追うごとに変更していくやり方を採用するとする。なお、図9のやり方も採用できる。
【0102】
次に、スレーブ側で必要な処理をした後、マスター側で処理するデータをスレーブ側の機器からマスター側の機器に送り(図13ステップS1312、S1313)、それぞれ処理を始める(図13ステップS1314、S1315)。
【0103】
それぞれのプロセッサにおいて並列処理すべき処理が終了した後、マスター側の処理データをスレーブ側に転送する(図13ステップS1316、S1317)。その後、それぞれのプロセッサで処理されたデータをスレーブ側で統合する。画像出力装置がプリンタの場合は、誤差拡散などの、分割処理をすると画質が劣化する処理を、統合後に行う(図13ステップS1318)。
【0104】
画像処理の区切りのいい部分、この例のように画像出力装置としてプリンタを用いた場合は1枚印刷するごとに、履歴に印刷条件、終了時間およびそのときのそれぞれのプロセッサの分担率を記録するために履歴記録用のメモリを持つ側へデータを転送し(図13ステップS1319、S1320)、履歴メモリを持つマスターはそのデータを受け取った後、マスター側のデータと主に履歴メモリに記録する(図13ステップS1321)。同一の処理条件(一連処理)における実行すべき処理がまだ残っている場合は、ステップS1309からS1321までを繰り返す。
【0105】
こうして画像処理をするごとにその処理時間を履歴に記録し、その履歴を次回の画像処理時の処理の分割に用いることで、設計者の予測しない、もしくはできないような要因を含めた効果的な処理分割を行うことができる。
【0106】
また、ここでは、図13に示すように画像入力装置がマスターになり、マスター側にのみ履歴記録用のメモリがある場合を例に挙げたが、図14に示すように、プリンタなどの画像出力装置がマスターになり、マスター側にのみ履歴記録用のメモリがある場合においても、基本的にはマスター・スレーブの役割は図13の場合と同一である。そのため説明を省略する。
【0107】
また、履歴がマスター側、スレーブ側両方にある場合(図15フローチャート)はスレーブと通信を行って履歴を読み出し(図15ステップS1511、ステップS1512)、それぞれの履歴をチェック、比較し、同じ印刷条件があるなら、その処理回数の多いほうの履歴を採用する(図15ステップS1513)。
【0108】
このように、本実施の形態によれば、外部インターフェースや、速度の遅いメモリなど、ソフトウェア、ハードウェアの設計段階では完全に把握できない不確定要素を含めた、ユーザーの実際の使用状況での最適な処理分担が行われる。
【0109】
以上のように本発明の実施の形態を説明したが、本発明は、種々の形態、方法が可能である。
【0110】
上記実施の形態では、デジタルカメラとプリンタを接続した場合を説明したが、本発明はこの場合に限られない。本発明は、コンピュータ端末、携帯端末、デジタルカメラ、プリンタ、複写機、スキャナ、ファクシミリといった画像処理に関する演算を実行するすべての機器に適用することができる。
【0111】
また、本発明は、画像処理に限らず、複数のプロセッサを用いて処理を分担する種々のシステムに適用可能である。すなわち、処理データとしては、印刷や表示を目的とする静止画や動画に限らず、音楽・音声、文字、図形等であってもよい。
【0112】
なお、本発明の演算装置の制御方法は、ソフトウェアだけでなく、ハードウェア回路によっても実現することができる。また、ソフトウェアによって本発明を実現する場合、そのプログラムはCD−ROMなどのコンピュータにて読み取り可能な記録媒体によって提供されてもよいし、ネットワークを通じて配信されてもよい。もしくは、機器、あるいはプロセッサに内蔵されるROMに組み込まれていてもよい。
【0113】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【0114】
なお、本発明に係る情報処理装置は、
画像データに所定の画像処理に関する演算を実行する演算部と、
所定の画像処理に関する演算を実行可能な演算部を備えた他の画像処理装置と直接もしくはネットワークを介して接続して接続した他の画像処理装置または演算部を識別し画像データを送信および/または受信する接続手段と、
過去の処理の結果を記憶する記憶手段と、
接続した他の画像処理装置の識別結果に基づいて前記記憶手段から過去の処理の結果を取得する取得手段と、
前記取得手段によって取得された前記過去の処理の結果に応じて前記演算部と前記他の画像処理装置の演算部との前記画像処理の分担を決定する決定手段とを備えるように構成してもよい。
【0115】
上記の構成によれば、外部インターフェースや、コストの制約などによる理論値とは違った速度のハードウェアなど、設計段階では完全に把握しにくい不確定要素を含めた、ユーザーの実際の使用状況での最適な処理の分割が行われる。また、違う年代、違う性能のハードウェアであっても処理の分割を効率的に行うことができる。
【0116】
したがって、それぞれにプロセッサを持った機材同士を接続して画像処理を行う際に、ユーザーの実際の使用環境に応じた最適な処理の分担割合を導き出せる。
【0117】
すなわち、本発明の情報処理装置は、接続した他の画像処理装置の識別結果に基づいて履歴用記憶手段から過去の処理の結果を取得する取得手段と、取得手段によって取得された前記過去の処理の結果に応じて演算手段と他の画像処理装置の演算手段との間で画像処理量を分割する分割手段とを備えている。これにより、各情報処理装置の処理速度を処理前にユーザーが正確に把握しておくことが困難であっても、また、各情報処理装置の理論的な処理速度と、インターフェース等周辺機器の性能も加味した実際の処理速度とのずれをユーザーが把握していなくても、複数の情報処理装置の実際の処理速度を十分生かして、処理にかかる時間を短くすることができる。
【0118】
また、本発明に係る情報処理装置は、上記構成において、
前記決定手段は前記演算部と前記他の画像処理の演算部の処理時間が等しくなるように、前記演算部と前記他の画像処理の演算部のそれぞれが処理すべきデータ量の分担率を定めるように構成してもよい。
【0119】
上記の構成によれば、それぞれにプロセッサを持った機材同士を接続して画像処理を行う際に、ユーザーの実際の仕様環境において時間的に最適な処理の分担割合を簡便な方法によって導き出せる。
【0120】
また、本発明に係る情報処理装置は、上記構成において、
前記決定手段は前記取得手段を用いて前記記憶手段から取得した過去の処理の結果が存在しない場合においては、前記演算部と、前記他の画像処理の演算部との分担率(分担比率、分割比率)を一対一にするように構成してもよい。
【0121】
上記の構成によれば、それぞれにプロセッサを持った機材同士を接続して画像処理を行う際に、分担率を定める理由が存在しない場合、とりあえず処理を始めて、初回から少しでも全体の処理時間を短くすることができる。
【0122】
また、本発明に係る情報処理装置は、上記構成において、
演算部の順位付けのための記憶手段および前記順位付けのための記憶手段から演算部の順位付けを取得する取得手段を持ち、
前記決定手段は、前記取得手段を用いて前記記憶手段から取得した過去の処理の結果が存在しない場合においては、前記演算部と、前記他の画像処理の識別した演算部との分担率を演算装置の順位付けの高いほうにより大きく配分するように構成してもよい。
【0123】
上記の構成によれば、初回から演算装置の性能によって配分量を変えることによって最適な分担率になるまでの回数をより少なくし、全体としての処理時間をより少なくする。
【0124】
また、本発明に係る情報処理装置は、上記構成において、
過去の処理の経過を履歴として前記記憶手段に保持しておき、次回の処理量の分担に関する再配分量の基準を前回の処理量の分担の再配分量とするように構成してもよい。
【0125】
上記の構成によれば、処理を繰り返す中で、毎回毎回処理時間が長いほうの全体の処理量の半分を処理時間の短いほうに割り振るよりも、最適な分担率になるまでの回数を少なくし、全体としての処理時間をより短くする。
【0126】
また、本発明に係る情報処理装置は、上記構成において、
先に結果を出力すべき箇所を画像出力装置のほうに優先して分担させるように構成してもよい。
【0127】
上記の構成によれば、画像の前のほう、もしくは前のほうのページを先に画像出力装置に送ることによって、全体としての処理時間をより短くする。
【0128】
また、本発明に係る情報処理方法は、
画像データに所定の画像処理に関する演算を実行する演算部と、
所定の画像処理に関する演算を実行可能な演算部を備えた他の画像処理装置と直接もしくはネットワークを介して接続して画像データを送信および/または受信する接続手段とを備える情報処理方法において、
他の画像処理装置と接続して双方で分担して画像データを処理した結果を記憶しておくステップと、
接続した他の画像処理装置を識別(した結果を接続装置から取得)するステップと、
記憶した処理結果から識別した他の画像処理装置に関する結果を取得するステップと、
取得された前記結果に応じて演算部と前記他の画像処理の演算部との間の前記画像処理の分担を決定するステップとを有するように構成してもよい。
【0129】
上記の構成によれば、それぞれにプロセッサを持った機材同士を接続して画像処理を行う際に、ユーザーの実際の使用環境に応じた最適な処理の分担割合を導き出せる。
【0130】
また、本発明に係る情報処理プログラムは、上記情報処理方法をコンピュータに実行させるように構成してもよい。
【0131】
上記の構成によれば、それぞれにプロセッサを持った機材同士を接続して画像処理を行う際に、ユーザーの実際の使用環境に応じた最適な処理の分担割合を導き出せる。
【0132】
また、本発明に係るコンピュータ読み取り可能な記録媒体は、上記情報処理プログラムを記録したように構成してもよい。
【0133】
上記の構成によれば、それぞれにプロセッサを持った機材同士を接続して画像処理を行う際に、ユーザーの実際の使用環境に応じた最適な処理の分担割合を導き出せる。
【産業上の利用可能性】
【0134】
スキャナやデジタルカメラなどの画像入力装置で生成した画像データを画像出力装置によって印刷するような用途にも適用できる。
【図面の簡単な説明】
【0135】
【図1】本発明を適用した場合の演算装置の構成を示すブロック図である。
【図2】本発明を適用した場合の画像入力演算装置の構成を示すブロック図である。
【図3】本発明を適用した場合の画像出力演算装置の構成を示すブロック図である。
【図4】二つのプロセッサを用いて本発明を適用する場合の初期のデータの分割状況を示す図である。
【図5】二つのプロセッサを用いて本発明を適用する場合の最適化が進んだ場合のデータの分割状況を示す図である。
【図6】本発明を適用した画像処理装置二つを接続して処理を行った場合における処理量分担率最適化前の処理時間の内訳を示す図である。
【図7】本発明を適用した画像処理装置二つを接続して処理を行った場合における処理量分担率最適化後の処理時間の内訳を示す図である。
【図8】二つのプロセッサで前回の処理において処理時間の長いほうのデータの半分を、次の回に前回処理時間の短かい方へ割り振る場合のデータの分割状況を示す図である。
【図9】二つのプロセッサで前回の処理時における割り振り量の半分を次の処理時における割り振り量にする場合のデータの分割状況を示す図である。
【図10】二つのプロセッサで初回の処理における分担率をプロセッサの能力や年代に応じて変更し、前回の処理時における割り振り量の半分を次の処理時における割り振り量にする場合のデータの分割状況を示す図である。
【図11】画像入力装置と画像出力装置を接続して印刷を行う場合の全体の処理を示すフローチャートである。
【図12】年代もしくはランクのわかる画像入力装置と画像出力装置を接続して印刷を行う場合の全体の処理を示すフローチャートである。
【図13】履歴格納用メモリが接続されたマスターになるプロセッサを持つ画像入力装置(デジタルカメラ)と履歴格納用メモリの接続されていないスレーブになるプロセッサを持つ画像出力装置(プリンタ)を接続した場合の、マスタープロセッサとスレーブプロセッサと全体を操作するユーザーの間のデータのやり取りおよび操作を含めた接続から履歴メモリに履歴データを記録するまでの処理を示すフローチャートである。
【図14】履歴格納用メモリが接続されていないスレーブになるプロセッサを持つ画像入力装置(デジタルカメラ)と履歴格納用メモリの接続されたマスターになるプロセッサを持つ画像出力装置(プリンタ)を接続した場合の、マスタープロセッサとスレーブプロセッサと全体を操作するユーザーの間のデータのやり取りおよび操作を含めた接続から履歴メモリに履歴データを記録するまでの処理を示すフローチャートである。
【図15】履歴格納用メモリが接続されたスレーブになるプロセッサを持つ画像入力装置(デジタルカメラ)と履歴格納用メモリが接続されたマスターになるプロセッサを持つ画像出力装置(プリンタ)を接続した場合の、マスタープロセッサとスレーブプロセッサと全体を操作するユーザーの間のデータのやり取りおよび操作を含めた処理を示すフローチャートである。
【図16】二つのプロセッサで前回の処理において処理時間の長いほうに割り振った処理量の半分を次の回に処理時間の長かったほうに割り振る場合の処理を示すフローチャートである。
【符号の説明】
【0136】
11 画像処理装置(情報処理装置)
12 接続手段
13 演算手段
14 取得手段(決定手段)
15 分割手段(決定手段)
16 データ用記憶手段
17 履歴用記憶手段(性能記憶手段、移管量記憶手段)
21 画像入力装置(情報処理装置)
22 接続手段
23 演算手段
24 取得手段(決定手段)
25 分割手段(決定手段)
26 データ用記憶手段
27 履歴用記憶手段(性能記憶手段、移管量記憶手段)
28 入力手段
31 画像出力装置(情報処理装置)
32 接続手段
33 演算手段
34 取得手段(決定手段)
35 分割手段(決定手段)
36 データ用記憶手段(性能記憶手段、移管量記憶手段)
37 履歴用記憶手段
39 出力手段

【特許請求の範囲】
【請求項1】
複数の情報処理装置同士が処理データを分担して処理するシステムに用いられる当該情報処理装置において、
処理に参加する情報処理装置同士の接続状態を変えずに連続して行う処理全体を一連処理と称するとき、
一つの一連処理内において、
処理を行った各回において、各情報処理装置が分担した割合である分担率と、各情報処理装置がその分担分の処理を終えるのにかかった時間である分担時間とを記憶する履歴用記憶手段と、
前回の処理で、自分の分担する処理を終えるのに他の情報処理装置より時間がかかった情報処理装置をAと称するとき、上記履歴用記憶手段の記憶内容を読み出して分担時間を比較することで情報処理装置Aを特定し、次回の処理では、処理データのうちで情報処理装置Aの分担率を、前回の値よりも小さい値に設定する決定手段とを備えたことを特徴とする情報処理装置。
【請求項2】
一つの一連処理内において、
上記決定手段が、上記分担時間が等しくなるように上記各情報処理装置の分担率を定めることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
上記履歴用記憶手段が、過去の処理について、参加した個々の情報処理装置を特定する情報である装置識別情報と、1回の処理において、単独稼働から分担稼働に変わる時刻から、分担稼働から単独稼働に変わる時刻までの時間の指標となる処理総時間情報とを記憶し、
上記決定手段が、
処理が終わるたびに、上記履歴用記憶手段に記憶されている処理総時間情報と今回の処理総時間情報とを比較し、今回の処理総時間情報のほうが小さければ、上記履歴用記憶手段に記憶されている各情報処理装置の分担率と処理総時間情報とを今回の値で更新し、
その後、新たな一連処理を開始するために処理に参加する情報処理装置の接続状態を設定する動作がユーザーによりなされるのを検知すると、その一連処理における各情報処理装置の分担率の初期値として、上記履歴用記憶手段に記憶されている分担率を採用することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
上記決定手段が、
今回の一連処理を行う情報処理装置の組み合わせを上記装置識別情報によって把握し、
上記履歴用記憶手段に、その組み合わせに対する過去の上記分担率の初期値が記憶されていない場合には、分担率の初期値として、等分割することを特徴とする請求項3に記載の情報処理装置。
【請求項5】
各情報処理装置の処理能力の速さを示す性能を記憶する性能記憶手段を備え、
上記決定手段が、
上記性能記憶手段から性能を読み出して、その一連処理における各情報処理装置の分担率の初期値として、性能が高い情報処理装置ほど分担率が高くなるような値を設定することを特徴とする請求項1に記載の情報処理装置。
【請求項6】
一つの一連処理内において、ある回に処理時間の長かった情報処理装置から処理時間の短かった情報処理装置へ、その次の回用に分担を移管される相対的な処理データ量を移管量として記憶する移管量記憶手段を備え、
一つの一連処理内において、
上記決定手段は、上記移管量記憶手段から移管量を読み出し、前回での処理時間の長かった情報処理装置から処理時間の短かった情報処理装置へ、分担を、前回の移管量のうちの一定割合量だけ移管したような分担率を設定することを特徴とする請求項1に記載の情報処理装置。
【請求項7】
全情報処理装置の中で、処理データを処理して得られる結果を実際にユーザーに提示する役割を行う情報処理装置をBとすると、
上記情報処理装置Bが、自身で処理したデータをユーザーに提示する動作と、他の情報処理装置により処理が済んで当該他の情報処理装置から情報処理装置Bに転送されてくる処理済みデータを受信する動作とを同時に行える場合には、
1つの処理データ内で、箇所によって、ユーザーに提示する相対的な順番が決まっているような処理データについて、
上記決定手段は、ユーザーに提示する順番が相対的に早い箇所ほど、情報処理装置Bに優先的に分担させることを特徴とする請求項1に記載の情報処理装置。
【請求項8】
複数の情報処理装置同士が処理データを分担して処理する情報処理方法において、
処理に参加する情報処理装置同士の接続状態を変えずに連続して行う処理全体を一連処理と称するとき、
一つの一連処理内において、
処理を行った各回において、各情報処理装置が分担した割合である分担率と、各情報処理装置がその分担分の処理を終えるのにかかった時間である分担時間とを記憶し、
前回の処理で、自分の分担する処理を終えるのに他の情報処理装置より時間がかかった情報処理装置をAと称するとき、上記履歴用記憶手段の記憶内容を読み出して時間を比較することで情報処理装置Aを特定し、次回の処理では、処理データのうちで情報処理装置Aの分担率を、前回の値よりも小さい値に設定することを特徴とする情報処理方法。
【請求項9】
コンピュータを請求項1に記載の情報処理装置における決定手段として機能させるためのプログラムであることを特徴とする情報処理プログラム。
【請求項10】
請求項9に記載の情報処理プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2006−4382(P2006−4382A)
【公開日】平成18年1月5日(2006.1.5)
【国際特許分類】
【出願番号】特願2004−183033(P2004−183033)
【出願日】平成16年6月21日(2004.6.21)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】