JP2008009645A - データ処理装置、データ処理システムの制御方法、コンピュータプログラム及び記憶媒体 - Google Patents

データ処理装置、データ処理システムの制御方法、コンピュータプログラム及び記憶媒体 Download PDF

Info

Publication number
JP2008009645A
JP2008009645A JP2006178580A JP2006178580A JP2008009645A JP 2008009645 A JP2008009645 A JP 2008009645A JP 2006178580 A JP2006178580 A JP 2006178580A JP 2006178580 A JP2006178580 A JP 2006178580A JP 2008009645 A JP2008009645 A JP 2008009645A
Authority
JP
Japan
Prior art keywords
data processing
program
processing
data
function
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
JP2006178580A
Other languages
English (en)
Inventor
Takeo Kimura
岳男 木村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006178580A priority Critical patent/JP2008009645A/ja
Publication of JP2008009645A publication Critical patent/JP2008009645A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Facsimiles In General (AREA)

Abstract

【課題】複数のデータ処理装置を接続した場合に、データ処理装置の機能を効率的に拡張可能とする。
【解決手段】他のデータ処理装置と接続して連携動作可能なデータ処理装置であって、前記データ処理装置の動作を制御するための処理手段と、前記処理手段が実行して前記データ処理装置の動作を制御するためのプログラムであって、前記他のデータ処理装置の処理手段によっても実行可能な第1のプログラムを記憶する第1の記憶手段と、前記他のデータ処理装置と接続するための接続手段と、前記データ処理装置を特徴づける機能を達成するためのデバイスと、前記デバイスを実行して前記機能を実現するための第2のプログラムを記憶する第2の記憶手段とを備えることを特徴とする。
【選択図】図1

Description

本発明は、データ処理装置、データ処理システムの制御方法、コンピュータプログラム及び記憶媒体に関する。
近年、様々なデジタル機器が登場し、個人が複数のデジタル機器を所有することは珍しくなくなった。この状況が進むにつれ、これらの機器をデータ処理装置として各機器の機能を連携させることで、より高機能なデータ処理装置として動作させたり、別の機能を実現するデータ処理装置として動作させることが期待されている。例えば、スキャナとプリンタとを所有するユーザがこれらを相互接続させた場合に、スキャナとプリンタとが連携してコピー機として動作することが期待される。
データ処理装置の機能を拡張しようとする場合、一般には、CPUのアップグレードやRAMの増設、或いは特定の機能を持つデバイスをデータ処理装置に追加することが行われている。
例えば、PCIバスを有するプリンタモジュールに、各種のPCIデバイスと、これらが制御するデバイス(外部スキャナ、ネットワークI/F)を接続し、プリンタにコピー機等の機能を追加する方法が提案されている(特許文献1を参照。)。ここで、PCIデバイスには、スキャナコントローラ、ネットワークコントローラ等が含まれる。
また、近年の印刷の高解像化に伴うデータ処理の負荷増大に対しては、印刷に関わるデータ処理を分散することで、処理時間を短縮することが期待されている。例えば、プリンタ制御装置内に、サブCPU、ページメモリ、描画ハードウェア等を搭載したサブブロックを複数搭載し、メインCPUとの間でデータ処理を分散処理して印刷速度を向上させる方法が提案されている(特許文献2を参照。)。
しかしながら、特許文献1に開示されるような方法では、追加接続したスキャナ、ネットワークI/F、FAX等のデータ入出力装置は、これらの装置が提供するデータ入出力機能をプリンタに追加するだけである。また、追加接続されたPDL展開モジュールは、PDL展開の機能をプリンタに追加するだけである。
したがって、折角装置を追加接続しても、これらの機能を利用しない場合には、全く役に立たないこととなる。例えば、PCIバス経由でプリンタに追加されたスキャナは、印刷原稿をデジタルデータとして機器内取り込む機能のみを追加し、これを印刷する場合は機能を提供するデバイスとして役に立つ。その一方、PCからのデータを印刷する場合には全く動作せず、何の役にも立たない。
また、特許文献2に開示されるような方法では、処理を分散するためのサブブロックは、プリンタを制御するためのサブブロックであり、プリンタのメインブロックの代替として利用したり、他の装置から利用することはできない。
特開平9−46464号公報 特開平7−172003号公報
このように、複数のデータ処理装置を接続した場合でも、提供する機能が一義的であって、データ処理装置の機能を効率的に拡張することが困難であった。
そこで、本発明は、複数のデータ処理装置を接続した場合に、データ処理装置の機能を効率的に拡張可能とすることを目的とする。
上記課題を解決するための本発明は、他のデータ処理装置と接続して連携動作可能なデータ処理装置であって、前記データ処理装置の動作を制御するための処理手段と、前記処理手段が実行して前記データ処理装置の動作を制御するためのプログラムであって、前記他のデータ処理装置の処理手段によっても実行可能な第1のプログラムを記憶する第1の記憶手段と、前記他のデータ処理装置と接続するための接続手段と、前記データ処理装置を特徴づける機能を達成するためのデバイスと、前記デバイスを実行して前記機能を実現するための第2のプログラムを記憶する第2の記憶手段とを備えることを特徴とする。
また、上記課題を解決するための本発明はまた、複数のデータ処理装置を接続して構成されるデータ処理システムの制御方法であって、前記複数のデータ処理装置のうち、プログラムの分散処理の実行が可能な第1のデータ処理装置を決定する工程と、前記第1のデータ処理装置に関する情報に基づき、前記第1のデータ処理装置のうち、前記分散処理の実行を全体として制御する第2のデータ処理装置を決定する工程と、前記第2のデータ処理装置が、前記第1のデータ処理装置が有する該装置を特徴づける機能に基づき、前記プログラムのうち当該第1のデータ処理装置に実行させる部分を割り当てる工程と、前記第1のデータ処理装置及び前記第2のデータ処理装置のそれぞれにおいて、割り当てられた前記プログラムの部分を実行する工程とを備えることを特徴とする。
本発明によれば、複数のデータ処理装置を接続した場合に、データ処理装置の機能を容易にかつ効率よく拡張できる。
以下、図面を参照して本発明の実施形態について説明する。
図1は、発明の実施形態に対応するデータ処理装置のハードウェア構成の一例を示すブロック図である。図1においてデータ処理装置1本体の内部には、本発明に関わるデータ処理装置1に共通の共通処理モジュール2が含まれる。
この共通処理モジュール2内には、データ処理装置1全体を制御するCPU3、CPU3による制御ためのプログラムを格納するための共通アプリケーションROM4、CPU3にワークエリアを提供するRAM5が含まれる。また、共通処理モジュール2を有するデータ処理装置1を複数接続するためのモジュールインターフェース(I/F)6も含まれる。
本実施形態において、CPU3は、各製品の機能、コストの制限によって仕様や動作周波数が異なる場合があるが、共通アプリケーションROM4に収められたプログラムは、どの共通処理モジュール2のCPU3上でも動作が保証される。
従って、全ての共通処理モジュール2のCPU3が同一、或いは、各CPU3の間でマシン語の互換性が保証されるのであれば、共通アプリケーションROM4に格納されたプログラムは、CPU3固有のマシン語のバイナリコードでよい。しかし、CPU3が共通処理モジュール2毎に異なる場合は、共通アプリケーションROM4内のプログラムは、共通仮想マシン用のコードで提供され、共通処理モジュール2は、共通仮想マシン用のコードの実行環境を必ず提供する必要がある。
また、共通アプリケーションROM4とRAM5の容量は、各製品の機能、コストの制限によって決められるので、必ずしも一定でなくてもよい。共通アプリケーションROM4には、接続された複数のデータ処理装置1の全体で動作するための制御プログラム、アプリケーションプログラムが格納される。また、各装置固有のソフトウェアとハードウェアを他のデータ処理装置1から制御するプログラムや、各データ処理装置間でデータを送受信するためのインターフェースプログラムも格納されている。
その他、データ処理装置1本体には、装置を特徴付ける機能を提供するプログラムを格納するローカルアプリケーションROM7と、各装置を特徴づける機能を提供するローカルデバイス8が含まれる。ここで、装置を特徴づける機能とは、共通処理モジュール2のような各装置が共通して有する機能ではなく、それぞれの装置が当該装置の本来的機能を達成するために有する機能をいう。例えば、装置がプリンタ装置であればプリント機能をいい、装置がスキャナ装置であればスキャナ機能を言う。
また、データ処理装置1内の各構成要素はバス9により相互に接続されている。更に、コネクタ10により、各データ処理装置が相互に接続され、上記の各構成要素を連携させて動作(以下、単に「連携動作」という。)させることで全体として1つのデータ処理装置として動作させることができる。
例えば、プリンタ製品では、ローカルアプリケーションROM7には、印刷機能を提供するプリントアプリケーションプログラムや、プリントハードウェア制御プログラム等が格納されることとなる。プリンタ製品には、電子写真方式、インクジェット方式、バブルジェット(登録商標)方式の印刷装置が含まれる。その場合、ローカルデバイス8には、各方式に対応した印刷処理用のデバイスが含まれ、ローカルアプリケーションROM7には、当該印刷処理用のデバイスを制御して印刷処理を実現するためのプログラムが格納される。
従って、データ処理装置1は、他のデータ処理装置と接続され、機能提供しない場合には、ローカルアプリケーションROM7のプログラムを動作させることでプリンタとして機能する。
なお、ローカルアプリケーションROM7内に格納されるプログラムは、他の装置の共通処理モジュール2でも動作可能な形態で共通アプリケーションROM4内に格納しても良い。また、該ROM4の共通プログラムの一部を利用して構成しても良い。更に、共通アプリケーションROM4とローカルアプリケーションROM7とは説明上、別構成としているが、管理が可能であれば、1つのROMで実現しても構わない。
以上の構成を有するデータ処理装置1を前提として、以下では、所定の機能を実現するための複数のデータ処理装置1の相互接続の例、及び、処理の実行例を説明する。
(第1の実施形態)
まず、図2は、発明の第1の実施形態に対応する2つのデータ処理装置11及び15を相互接続して構成されるデータ処理システムの例を示している。図2では、装置11がスキャナ装置で、装置15がプリンタ装置の場合を示している。
即ち、図2においてローカルアプリケーションROM12には、装置11がスキャナ装置として動作するために必要なソフトウェアが格納され、ローカルデバイス13は、スキャナ装置として必要な、CCD等の画像入力デバイス、スキャナ用ASIC等である。
また、ローカルアプリケーションROM16には、装置15がプリンタ装置として動作するために必要なソフトウェアが格納され、ローカルデバイス17はプリントヘッド、紙送りメカ、プリンタ用ASIC等である。
両装置は、コネクタ19及び20を利用して、相互接続(21)される。この接続21は、高速かつ双方向に接続可能なものであれば良く、現時点ではPCI Express、USB2.0、IEEE1394bやギガビットイーサーネット等が考えられる。もちろん、装置間の接続はスロットやケーブルに限るわけではなく無線でもよい。但し、無線の場合は、接続されているかどうかが直感的に分かりづらいのと、やはり接続方法が直感的に分かりづらい等の点で、有線接続がより好ましい。
図2において、共通アプリケーションROM14及び共通アプリケーションROM18には、データ処理装置1を複数接続した場合に使用されるプログラムがそれぞれ格納されている。
例えば、ROM14、18には、スキャナ装置11とプリンタ装置15とを接続してコピー機能を実現する場合の処理プログラムが格納される。製品によっては、共通アプリケーションROM14と共通アプリケーションROM18とが全く同一であってもよい。その一方で、製品にかけられるコストに余裕がある場合には、大容量のROMを用意して高機能アプリケーションを格納できるので、共通アプリケーションROM14と共通アプリケーションROM18との内容が異なる場合も考えられる。
次に、図3を参照して共通アプリケーションROM14、18内に格納されるプログラムの種類を説明する。図3において(a)は、スキャナ装置11及びプリンタ装置15が、機能を簡略化したモデル(簡略モデル)の場合を想定したものである。即ち、各共通アプリケーションROM14、18は、必要最低限の機能だけを持った標準アプリケーションプログラム301と標準画像処理ライブラリ302を格納している。
次に、図3の(b)は、まず、スキャナ装置11は高機能モデルで、共通アプリケーションROM14内に高機能アプリケーションプログラム303と、標準画像処理ライブラリ302を格納している。この高機能アプリケーションプログラム303は、標準アプリケーションに比べて、豊富な機能が含まれている点に特徴がある。また、プリンタ装置15は簡略モデルで、共通アプリケーションROM18内に標準アプリケーションプログラム301と標準画像処理ライブラリ302とを格納している。
更に、図3(c)は、スキャナ装置11とプリンタ装置15とが、共に高機能モデルの例を示している。即ち、共通アプリケーションROM14及び18内に、高機能アプリケーションプログラム303と標準画像処理ライブラリ302とが格納されている。
なお、図3の(a)及び(c)において、プログラムが全く同一の場合は、各装置に保持されたプログラムを利用するが、両者のバージョンが異なる場合は、一方が保持する新しいプログラムを他方がロードして使用することが好ましい。このとき、可能ならば共通アプリケーションROM14又は18内の古いバージョンのプログラムを新しいバージョンにより書き換えても良い。
また、プリンタ装置15は、他の機器(デジタルカメラ等)とつながる可能性が高いため、スキャナ装置11以外の機器と接続された場合に使用されるアプリケーションが共通アプリケーションROM18に格納されていてもよい。また、共通アプリケーションROM14や18がEEPROM等のような書換可能なメモリの場合、プログラムの更新版や新たな機器と接続して使用するためのプログラムをPCやネットワーク経由で上書きしたり、追加することもできる。
ところで、図3(b)は、機能提供レベルの異なるプログラムが、共通アプリケーションROM14及び18にそれぞれ格納されている場合を示している。このような場合、本実施形態では、一方が有する高機能な(機能提供レベルがより高い)プログラムを他方がロードして使用することができる。その場合、プログラムの全てを一方の装置のCPUで実行するのではなく、プログラムを予めモジュール化しておき、各モジュール毎にCPUの性能、RAMの容量、装備しているハードウェアデバイスを考慮して分散処理を行うことが望ましい。
例えば、画像の入力処理に関連するものはスキャナ装置11側で行い、印刷処理に関連するものはプリンタ装置15側で行うことができる。また、大量の計算が必要な処理は高速なCPUを持つ装置の側で行い、大量のメモリが必要な処理はRAM容量に余裕がある装置の側で実行するのがよい。その際、装置間におけるデータ転送がなるべく発生しないように、分散させることが好ましい。
この分散処理に関しては、図3(a)、(c)のように、共通アプリケーションROM14及び18が同一プログラムを格納している場合であっても、装置の処理スピードを向上させるためには、(b)の例と同様の分散処理が必要である。この場合、プログラムのバージョンが同じである限りは、両装置内のROM14又は18に、同一プログラムが存在するので、装置間でプログラムの一部を転送する必要がない。
また、スキャナ装置11とプリンタ装置15とを接続した場合、プリンタ装置15が単体で提供する印刷機能も当然に提供可能であるが、この場合は、ROM18或いはROM14に格納された連携動作に対応した印刷アプリケーションが起動される。この印刷アプリケーションでは、印刷に関わる処理のうち、プリンタ装置15以外の装置でも処理可能な部分を、他の装置(この場合は、スキャナ装置11)の共通処理モジュール2上で分散処理させる。
逆に連携動作するスキャンアプリケーションも存在し、こちらはスキャンに関わる処理のうち、スキャナ装置11以外の装置でも処理可能な部分を他の装置(この場合は、プリンタ装置15)の共通処理モジュール2上で分散処理させる。
このようにすることで、相互接続されている装置の資源(共通処理モジュール)を互いに有効に活用して、接続された装置全体の処理効率を高めることができる。
以上説明したように、本実施形態によれば、複数の装置を相互接続した場合に、接続された装置全体で提供可能な機能を有効とし、各装置単体では不可能な機能を新たに、かつ、容易に提供することができる。
また、新たな機能の提供の際には、当該機能を実現するための処理を、接続された全装置の間で分散して実行することで、処理の効率を向上させることができる。これにより、接続された各装置は、各装置が提供可能な機能に基づき、当該新たな機能の提供に貢献することができる。よって、装置を接続しても直接使わない場合は全く役に立たないという欠点や、他の装置から使用することができないという欠点を解消することができる。
(第2の実施形態)
次に、発明の第2の実施形態を説明する。図4は、本実施形態に対応する複数のデータ処理装置が接続されたデータ処理システムの構成例を示す図である。図4は、また、2つのデータ処理装置21及び31を接続した例を示しており、ここではプリンタ装置21とレンダリングアクセラレータ装置31とがケーブル36を介して接続されている。ただし、装置21は共通処理モジュール2をケーブル28を介して追加で1つ接続し、2つの共通処理モジュール24及び26を有している。
追加された共通処理モジュール26は、装置が元々有する共通処理モジュール24と同一であり、共通アプリケーションROM25及び27の内容も図3(a)に示すものと同一である。このように共通処理モジュール2を、モジュール単位で装置に追加して分散処理を行うことで、装置の処理スピードを向上させることができる。
図4では、プリンタ装置21に対して、レンダリングアクセラレータ装置31をケーブル37で接続している。レンダリングアクセラレータ装置31は、接続されたデータ処理装置(この場合は、プリンタ装置21)のレンダリング機能をアクセラレートするデータ処理装置である。レンダリングアクセラレータ装置31は、専用ハードウェアであり、描画用の画像処理を行うレンダリングデバイス33と、ローカルアプリケーションROM32に格納されたレンダリングデバイス33の制御ソフトウェアとを有している。
このようなレンダリングアクセラレータ装置31は、装置単体では製品としての意味を有しないが、コスト等の制限によりレンダリング機能をソフトウェア処理している全ての装置のレンダリング性能を向上させるためには有用である。更に、レンダリングデバイス33として汎用DSPを用いる場合には、適切なソフトウェアを供給するための手段を備えることで接続装置(この場合は、プリンタ装置21)のための様々な信号処理を高速化できる。
図3の(d)は、レンダリングアクセラレータ装置31内にある共通処理モジュール34内の、共通アプリケーションROM35の内容を示している。共通アプリケーションROM35内には、プリンタ装置21とアクセラレータ装置31とを接続したときに利用する高機能アプリケーション303と専用ハードウェアの機能を利用した高速画像処理ライブラリ304が格納されている。なお、共通処理モジュール34内のRAM36は、高機能アプリケーション303を動作させるのに十分な容量を有する。
図4では、共通アプリケーションROM35内の高機能アプリケーション303のうち、印刷に関わらない処理モジュールは、専用ハードウェア33と大容量RAM36による高速処理を期待して共通処理モジュール34上で動作する。一方、印刷行為そのものに深く関わる処理モジュールは、できる限り印刷行為を実行するプリンタ装置21内の共通処理モジュール24又は26上で分散処理させる。
このようにして、接続された各装置の特徴を活かして処理を最適に分散することで、接続された装置全体の系での性能を更に向上させることができる。
(第3の実施形態)
次に、発明の第3の実施形態を説明する。図5は、本実施形態に対応する複数のデータ処理装置が接続されたデータ処理システムの構成例を示す図である。具体的に、図5では、A3判カラーLBP(レーザー・ビーム・プリンタ)41、L判フォトプリンタ42、及び、デジタルカメラ43が、ケーブル44と45を介してそれぞれ接続されている。
また、図6は、図5のデータ処理システムのブロック図である。カラーLBP41は、図1のローカルデバイス8として以下のものを有する。まず、画面表示及び装置のユーザーとの間のインタフェースを提供するためのUI(ユーザー・インタフェース)を提供する表示/UIデバイス52を有する。また、グラフィックスに特化したレンダリング等の画像処理を行うレンダリングデバイス53を有する。更には、A3判LBP方式の印刷処理を行うためのプリントデバイス54等を有する。上記の各デバイスを制御するためのプログラムは、ローカルアプリケーションROM51内に格納されている。
次に、フォトプリンタ42は、図1のローカルデバイス8として以下のものを有する。まず、メモリカードスロットとしてのストレージデバイス62を有する。また、フォトに特化したレンダリング等の画像処理を行うレンダリングデバイス63を有する。更に、L判インクジェット方式の印刷処理を行うためのプリントデバイス64を有する。上記の各デバイスを制御するためのプログラムは、ローカルアプリケーションROM61内に格納されている。
更に、デジタルカメラ43は、図1のローカルデバイス8として以下のものを有する。まず、ディスプレイ表示及びUIを提供するための表示/UIデバイス72を有する。また、JPEG画像データの符号化及び復号化を行うハードウェアとしてのJPEGコーデック73を有する。更に、被写体を撮影して画像データを生成するためのカメラデバイス74を有する。上記の各デバイスを制御するためのプログラムはローカルアプリケーションROM71内に格納されている。
なお、図6に示すように、本実施形態では3つの共通処理モジュール55、65及び75が存在するが、装置単体の機能を実現するためにそれぞれ性能(CPUクロック、ROM、RAM容量)が異なっている。但し、本実施形態では、カラーLBP41上の共通処理モジュール55が最も高性能であることとする。
次に、図7を参照して、データ処理装置1を上述した各実施形態に適用した場合のデータ処理装置1上で実行される他の装置との接続処理の手順を説明する。図7に示す処理は、データ処理装置1の共通アプリケーションROM4に格納された対応する処理プログラムをCPU3が実行することにより実現される。
データ処理装置1の起動時やデータ処理装置1起動中に他のデータ処理装置1との接続をCPU3が検出する。すると、CPU3は、ステップS100でデータ処理装置1の起動モードを調べ、他の装置との連携動作が許可されているか否かを判定する。もし、許可されている場合には(ステップS101において「YES」)、ステップS101において、CPU3は、接続されている他の機器の情報を収集する。ここで収集される機器情報には、CPU3の性能、RAM5の容量の他、当該他の機器において連携動作が許可されているか否かを識別するための情報が含まれる。その後、ステップS102の処理に移行する。一方、許可されていない場合には(ステップS101において「NO」)、ステップS110の処理に移行する。
ステップS102において、CPU3は、ステップS101で収集した情報から連携動作可能な状態のデータ処理装置1を探し、連携動作可能な装置が存在するか否かを判定する。もし、連携動作可能な装置が存在すると判定した場合には(ステップS102において「YES」)、ステップS103の処理に移行する。一方、連携動作可能な装置が存在しないと判定された場合には(ステップS102において「NO」)、ステップS110の処理に移行する。
ステップS103において、CPU3は、連携動作可能な装置と本データ処理装置1との連携動作情報を取得する。この連携動作情報には、CPUの性能に関する情報、あるいは、連携動作アプリケーションプログラムが存在する場合には、当該プログラムの機能とバージョン情報が含まれる。続くステップS104において、CPU3は、ステップS103において取得した情報に基づいて、連携動作アプリケーションプログラムが存在するか否かを判定する。もし、当該プログラムが存在する場合には(ステップS104において「YES」)、ステップS105の処理に移行する。一方、当該プログラムが存在しない場合には(ステップS104において「NO」)、ステップS110の処理に移行する。
ステップS105では、複数の他の装置と接続されたデータ処理システムにおいて、CPU3は、本データ処理装置1が制御権を取得できるかを判定する。この判定は、ステップS101で取得した機器情報、ステップS103で収集した連携動作情報を参照し、機器の性能やアプリケーションプログラムの機能に基づいて行うことができる。例えば、CPUの性能が最も優れた装置,あるいは高機能のアプリケーションプログラムを有している装置,あるいは、最新のバージョンを有している装置が制御権を有するのに適している。ここで、本データ処理装置1が制御することが最適であり、制御権が獲得できると判定できた場合は(ステップS105において「YES」)、CPU3は、ステップS106でシステム内の制御権を取得する。なお、ステップS106には、同等の能力を有する他の装置との制御権取得の調整処理、他のすべての装置からの制御権の移譲を確認する処理が含まれる。続くステップS107において、CPU3は、ステップS106で決定した内容に従ってシステムの制御を開始する。
一方、ステップS105で制御権を取得できないと判定した場合は(ステップS105において「NO」)、ステップS108において、CPU3は、このシステムの制御権を取得可能な他の装置へ本データ処理装置1の制御権を移譲する。そして、ステップS109において、CPU3は、このシステムの制御権を取得した他の装置からの制御によって動作可能な状態に移行する。
また、ステップS110では、CPう3は、本データ処理装置1を単体動作可能な状態にして、単体動作アプリケーションプログラムを起動する。
なお、ステップS104で連携動作アプリケーションプログラムが存在しないと判定された場合であっても、ステップS105へ処理を進めることができる場合がある。例えば、ネットワーク(例えば、LANやインターネット)上のプログラム配布サーバ等からプログラムを取得できる装置がこのシステムの中に存在すれば、新たに連携動作アプリケーションプログラムを取得してステップS105へ処理を進めてもよい。
図7を参照して説明した以上の一連のCPU3による処理は、データ処理システムを構成するデータ処理装置1の動作中に、新たな装置が接続された場合、或いは、いずれかの装置が取り外された場合にも再度実行される。これによってシステム全体における連携動作が常に制御される。
次に、図8を参照して、図7のステップS107による起動直後に行われる処理の一例を説明する。図8に示す処理は、データ処理装置1の共通アプリケーションROM4に格納された対応する処理プログラムをCPU3が実行することにより実現される。
図7に示す処理を実行した場合、連携動作アプリケーションプログラムが複数存在することがあるので、まず、ステップS121において、CPU3は、実際に使用する連携動作アプリケーションプログラムを決定する。この決定は、データ処理装置1が有する操作部(キーボードやマウスなど)を経由して、複数のアプリケーションの中から1つをユーザに選択させることで行っても良い。また、複数の装置で構成されるシステムに最後に追加された装置を特に利用するプログラムを優先するなどして、ユーザの意図に合わせた選択を行うこともできる。更に、同一アプリケーションでも機能提供レベルが異なるものが複数見つかった場合は、最も高機能なものを選択し、同じアプリケーションでバージョンが複数見つかった場合は、最新のものを選択することができる。
次にステップS122では、ステップS121で決定されたアプリケーションを構成するソフトウェアモジュール群のうち、CPU3は、どのモジュールをどの装置で動作させるのかを決定する。これは、CPU3は、ステップS101で得られた機器情報等を参照することによって決定される。そして、各装置の持つハードウェアの特徴やデータの転送量を考慮しながら、接続された装置全体で最適な分散処理が可能となるように行い、連携動作アプリケーションプログラムを再構成する。ステップS122におけるモジュールの再構成が終わると、CPU3は、ステップS123でこの連携動作アプリケーションプログラムを起動して連携動作を開始する。
ここで、上記の処理を、第3の実施の形態である図5及び図6に示したカラーLBP41、フォトプリンタ42及びデジタルカメラ43で構成されるシステムについて適用した場合について具体的に説明する。ここで、各装置が全て連携動作を許可しており、共通アプリケーションROM56、66及び76のいずれかに、各装置が連携動作するためのプログラムが格納されているものとする。
そして、図7及び図8に示した処理によりこのシステムを制御するのは、最も高性能(高速CPU、大容量RAMを有する)なカラーLBP41に決定されたものとする。また、複数の連携動作プログラムの中からストレージデバイス62内にある画像をA4判の用紙に印刷するアプリケーションが選択される場合、装置内の各デバイスを最適に連携動作させるモジュールセットが構成される。
このときのモジュールセットの構成は、例えば図9に示すようになる。図9において、モジュールセットとして利用されるブロックには、縁部分に網掛けを施してある。即ち、この印刷アプリケーションでは、カラーLBP41内の共通処理モジュール55に存在するCPU3が、データ処理システム全体の制御を行う。但し、ユーザが印刷設定をする際には、カラーLBP41の表示/UIデバイス52の操作パネルを利用する。また、メモリカードから画像を読み込んで写真画像のレンダリングを行うのには、フォトプリンタ42のストレージデバイス62とレンダリングデバイス63とを利用する。更に、レンダリング結果を印刷するのには、カラーLBP41のプリントデバイス54を使う。
なお、印刷アプリケーションを実行する場合、装置41と42だけでも動作可能である。しかし、この例ではデジタルカメラ43が接続されているので、デジタルカメラ43内に存在する高性能のJPEG伸長回路であるJPEGコーデック73を利用するようにモジュールが再構成される。また、装置42及び43内の共通処理モジュール65及び75も、各装置内のデバイスを共通処理モジュール55からの制御によって動作させる仲介処理、メモリの提供処理、更には処理結果の送受信処理等を制御するために使用される。
次に、図10のフローチャートを参照して、図9のモジュール構成における処理の流れを説明する。図10では、カラーLBP41において、表示/UIデバイス52を介してユーザからの印刷指示を受け付ける。すると、まずステップS131において、カラーLBP41のCPU3が当該印刷指示に含まれる印刷に関する設定(印刷設定)をカラーLBP41のRAM5に読み込む。この印刷設定には、印刷する画像番号リスト、印刷レイアウト、印刷品質、印刷枚数等が含まれる。印刷設定が読み込まれると、ステップS132以降、全ページの印刷が終了するまで、ステップS137までの処理が各ページについて繰り返される。
なお、各ページの処理は、大きくレンダリング処理と印刷処理とに分けられるが、レンダリング処理は写真のレンダリング専用ハードウェアであるレンダリングデバイス63を有するフォトプリンタ42で行うように調整される。また、レンダリング処理は、ページ単位ではなくバンド単位で行われる。そのため、ステップS133において、カラーLBP41のCPUは、1ページ分のレンダリング処理が終了したか否かを判定する。もし、1ページ分のレンダリングが終了していないと判定されれば(ステップS133において「NO」)、ステップS135において、フォトプリンタ42のCPUが各バンドのレンダリング処理と印刷装置非依存の画像処理を行う。
ステップS135におけるレンダリング処理を行うに当たり、ステップS134において、フォトプリンタ42のCPUは、処理対象の画像がJPEG圧縮符号化されているか否か判定する。JPEGの伸長処理が必要か否かを判定する。もし、処理対象の画像がJPEG圧縮符号化していると判定し、JPEGの伸長が必要であれば(ステップS134において「YES」)、ステップS136の処理に移行する。ステップS136では、デジタルカメラ43のCPUがJPEGコーデック73にJPEG伸長処理を実行させる。
以上により、1ページ分のレンダリング処理が終了すると(ステップS133において「YES」)、ステップS137の処理に移行する。ステップS137において、カラーLBP41のCPUは、専用のハードウェアであるプリントデバイス54を用いてレンダリング処理結果を印刷装置依存の色処理等を行って印刷する。
即ち、ステップS131、S132、S133及びS137における全体の制御と印刷処理は、カラーLBP41で行われる。また、ステップS134及びS135における各ページのレンダリング処理の制御は、フォトプリンタ42で行われる。更に、ステップS136におけるJPEG伸長制御は、デジタルカメラ43で行われる。このようにして、印刷アプリケーションは、カラーLBP41、フォトプリンタ42及びデジタルカメラ43の間で分散処理され、各機器の機能を最大限に活用して実行される。
以上説明したように、本実施形態では、印刷処理を実施するカラーLBP41に依存する処理はカラーLBP41自身で行う。また、依存しない処理はカラーLBP41以外の、専用のハードウェアを有するフォトプリンタ42とデジタルカメラ43に分散して処理させることができる。このようにして、各装置の専用ハードウェアを利用した処理の高速化と、各装置を利用した処理の並列化が実現されるので、装置の組み合わせによる印刷機能の拡張や印刷処理の効率向上が達成される。
さらに、このときの動作に注目するとフォトプリンタ42とデジタルカメラ43は、装置が本来的に有するプリント機能や撮像機能を提供するのではなく、画像処理装置として内蔵するハードウェアの機能を提供している。このように、単に接続されただけで、アプリケーションの実行に貢献できない従来の機器接続では得られなかった効果を得ることができる。
(第3の実施形態の変形例)
上記の第3の実施形態では、カラーLBP41、フォトプリンタ42及びデジタルカメラ43が互いに連携動作を許可している場合を説明した。これに対し、いずれかの装置が連携動作を許可しない場合もある。
本変形例では、図6に示した装置のうち、カラーLBP41及びフォトプリンタ42が連携動作を許可しており、ROM56又はROM66に両装置が連携動作するためのプログラムが格納されている場合を説明する。このとき、デジタルカメラ43は連携動作を許可していない。
この場合、図7及び図8のフローチャートに示した処理により、このシステムを制御するのは最も高性能(高速CPU、大容量RAMを有する)なカラーLBP41に決定される。また、複数の連携動作プログラムの中から選択されたのが、デジタルカメラ43内にある画像をA4判の用紙に印刷するアプリケーションならば、図11の網掛け部に示す装置内の各デバイスを連携動作させるように印刷アプリケーションのソフトウェアモジュールが構成される。
つまり、この印刷アプリケーションでは、カラーLBP41内の基本処理モジュール55に存在するCPU3が接続された装置のシステム全体の制御を行う。但し、ユーザが印刷設定する際には、システムの外部に接続されたデジタルカメラ43の表示/UIデバイス72の操作パネルを利用する。また、デジタルカメラ43からJPEG画像を読み込んで写真画像のレンダリング処理を行うには、フォトプリンタ42のモジュールI/F6とレンダリングデバイス63とを利用する。更に、レンダリング結果を印刷するのには、カラーLBP41のプリントデバイス54を使う。
このとき、共通処理モジュール65は、フォトプリンタ42内のデバイスを共通処理モジュール55からの制御によって動作させる仲介を行ったり、メモリの提供、更には処理結果の送受信処理等を制御するために使用される。しかし、デジタルカメラ43内の共通処理モジュール75は、連携動作が許可されていないので、図7でのステップS110において単体動作で起動し、本来のデジタルカメラとして動作している。よって、図10のステップS136におけるJPEG伸長処理は、カラーLBP41又はフォトプリンタ42のCPU3がソフトウェア的に実行する必要がある。
このJPEG伸長処理のためのソフトウェアは、両装置がそれぞれの共通アプリケーションROM4に格納しているか、いずれか一方が両者で動作する形態で共通アプリケーションROM4に格納している。そこで、どちらで実行するかをCPU3の処理能力やRAM5の容量を考慮して連携動作初期化時に決めるか、印刷アプリケーション動作中にその都度判断して決めることができる。
以上のように、連携動作する機器の構成を変化させることで、物理的には同じ接続形態であっても異なるアプリケーションを容易に提供することもできる。
[その他の実施形態]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムに供給し、そのシステムがプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現し、そのプログラムコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
発明の実施形態に対応するデータ処理装置のハードウェア構成の一例を示すブロック図である。 発明の第1の実施形態に対応する2つのデータ処理装置を相互接続した例を示す図である。 発明の実施形態に係る共通アプリケーションROM4内に格納されるプログラムの種類を説明するための図である。 発明の第2の実施形態に対応する複数のデータ処理装置が接続されたデータ処理システムの構成例を示す図である。 発明の第3の実施形態に対応する複数のデータ処理装置が接続されたデータ処理システムの構成例を示す図である。 発明の第3の実施形態に対応するハードウェア構成の一例を示す図である。 発明の実施形態における、データ処理装置1の接続時に各データ処理装置上で実行される接続処理の手順を示すフローチャートである。 発明の実施形態に対応する起動直後に行われる処理の手順を示すフローチャートである。 本発明の第3の実施形態に対応するデータ処理システムにおける動作状態の一例を示すブロック図である。 図9に示すデータ処理システムにおける連携動作時の処理の手順を示したフローチャートである。 本発明の第3の実施形態の変形例に対応するデータ処理システムにおける動作状態の一例を示すブロック図である。

Claims (10)

  1. 他のデータ処理装置と接続して連携動作可能なデータ処理装置であって、
    前記データ処理装置の動作を制御するための処理手段と、
    前記処理手段が実行して前記データ処理装置の動作を制御するためのプログラムであって、前記他のデータ処理装置の処理手段によっても実行可能な第1のプログラムを記憶する第1の記憶手段と、
    前記他のデータ処理装置と接続するための接続手段と、
    前記データ処理装置を特徴づける機能を達成するためのデバイスと、
    前記デバイスを実行して前記機能を実現するための第2のプログラムを記憶する第2の記憶手段と
    を備えることを特徴とするデータ処理装置。
  2. 前記処理手段は、前記他のデータ処理装置が有する前記デバイスに基づき、前記第1のプログラムのうち当該他のデータ処理装置が実行する部分を決定することを特徴とする請求項1に記載のデータ処理装置。
  3. 前記デバイスは、少なくとも、印刷処理を行う印刷手段、描画用の画像処理を行う描画手段、JPEG画像データの符号化復号化手段、被写体を撮像して画像データを生成する撮像手段、画面表示を行うディスプレイ表示手段、前記データ処理装置のユーザーとの間のインタフェースを提供するユーザーインタフェース手段のいずれかであることを特徴とする請求項1又は2に記載のデータ処理装置。
  4. 複数のデータ処理装置を接続して構成されるデータ処理システムの制御方法であって、
    前記複数のデータ処理装置のうち、プログラムの分散処理の実行が可能な第1のデータ処理装置を決定する工程と、
    前記第1のデータ処理装置に関する情報に基づき、前記第1のデータ処理装置のうち、前記分散処理の実行を全体として制御する第2のデータ処理装置を決定する工程と、
    前記第2のデータ処理装置が、前記第1のデータ処理装置が有する該装置を特徴づける機能に基づき、前記プログラムのうち当該第1のデータ処理装置に実行させる部分を割り当てる工程と、
    前記第1のデータ処理装置及び前記第2のデータ処理装置のそれぞれにおいて、割り当てられた前記プログラムの部分を実行する工程と
    を備えることを特徴とする方法。
  5. 前記第2のデータ処理装置は、装置が有する処理性能及び記憶容量に基づいて決定されることを特徴とする請求項4に記載の方法。
  6. 前記分散処理の対象となる前記プログラムが複数存在する場合に、該複数の前記プログラムの中から前記分散処理を実行するプログラムを選択する工程を、
    前記第2のデータ処理装置を決定する前記工程の後に備えることを特徴とする請求項4又は5に記載の方法。
  7. 前記複数のデータ処理装置のうち、プログラムの分散処理の実行が可能でないと決定された第3のデータ処理装置は、装置単体で動作することを特徴とする請求項4乃至6のいずれかに記載の方法。
  8. コンピュータを請求項1乃至3のいずれかに記載のデータ処理装置として機能させるためのコンピュータプログラム。
  9. コンピュータに請求項4乃至7のいずれかに記載のデータ処理システムの制御方法を実行させるためのコンピュータプログラム。
  10. 請求項8又は9に記載のコンピュータプログラムを格納したコンピュータで読み取り可能な記憶媒体。
JP2006178580A 2006-06-28 2006-06-28 データ処理装置、データ処理システムの制御方法、コンピュータプログラム及び記憶媒体 Withdrawn JP2008009645A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006178580A JP2008009645A (ja) 2006-06-28 2006-06-28 データ処理装置、データ処理システムの制御方法、コンピュータプログラム及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006178580A JP2008009645A (ja) 2006-06-28 2006-06-28 データ処理装置、データ処理システムの制御方法、コンピュータプログラム及び記憶媒体

Publications (1)

Publication Number Publication Date
JP2008009645A true JP2008009645A (ja) 2008-01-17

Family

ID=39067816

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006178580A Withdrawn JP2008009645A (ja) 2006-06-28 2006-06-28 データ処理装置、データ処理システムの制御方法、コンピュータプログラム及び記憶媒体

Country Status (1)

Country Link
JP (1) JP2008009645A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015035169A (ja) * 2013-08-09 2015-02-19 ソニー株式会社 電子機器、サーバ、電子機器の制御方法、情報処理方法および記録媒体
JP6024848B1 (ja) * 2016-05-06 2016-11-16 富士ゼロックス株式会社 情報処理装置及びプログラム
JP2017201515A (ja) * 2017-04-24 2017-11-09 富士ゼロックス株式会社 情報処理装置及びプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015035169A (ja) * 2013-08-09 2015-02-19 ソニー株式会社 電子機器、サーバ、電子機器の制御方法、情報処理方法および記録媒体
US10432454B2 (en) 2013-08-09 2019-10-01 Sony Corporation Electronic device, server, electronic device controlling method, information processing method and recording medium
JP6024848B1 (ja) * 2016-05-06 2016-11-16 富士ゼロックス株式会社 情報処理装置及びプログラム
JP2017201515A (ja) * 2017-04-24 2017-11-09 富士ゼロックス株式会社 情報処理装置及びプログラム

Similar Documents

Publication Publication Date Title
US8514444B2 (en) Image processing system to adjust image output data
US20050157945A1 (en) Image processor
JP5247542B2 (ja) 画像処理装置、画像処理装置の制御方法、及び、プログラム
JP5372206B2 (ja) 画像処理装置
JP2008048046A (ja) 画像処理装置
JP4389968B2 (ja) プリンタドライバおよび情報処理システム
JP2001273113A (ja) 画像出力制御装置及び画像出力制御装置の制御方法及び記憶媒体
US7746494B2 (en) Data processing apparatus, data processing method, printer driver, print control apparatus, print control method, and printing system
JP2008009645A (ja) データ処理装置、データ処理システムの制御方法、コンピュータプログラム及び記憶媒体
JP2005196745A (ja) 情報処理装置、プログラム復旧方法、プログラム復旧プログラム及び記録媒体
US8724161B2 (en) Method, apparatus, and computer program product for processing image data of plural images to combine for output to a recording medium
WO2022089367A1 (zh) 作业取消打印方法、图像形成装置以及系统、计算机存储介质
JP2004140801A (ja) 画像形成装置、集約印刷方法
JP5233608B2 (ja) 画像形成装置、画像データ転送方法、及びプログラム
JP5232728B2 (ja) 画像形成装置
JP2009055226A (ja) 画像制御装置
JP2011053944A (ja) 画像形成装置、画像形成方法及び制御プログラム
JP5316012B2 (ja) 印刷システム、印刷制御装置およびプリンタドライバプログラム
JP2010226535A (ja) 制御装置、画像形成装置及びプログラム
JP2016055536A (ja) 画像形成装置、プログラム、および画像形成装置の制御方法
JP6264757B2 (ja) 画像形成装置、画像形成システム、画像形成装置の制御方法、及び画像形成装置の制御プログラム
JP2006174247A (ja) 画像入出力装置および画像処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2021097269A (ja) 情報処理装置及び情報処理プログラム
JP2009177255A (ja) 画像処理システムおよび画像処理装置
JP2005242917A (ja) 画像形成装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090901