JP2019185697A - 情報処理装置及び情報処理プログラム - Google Patents

情報処理装置及び情報処理プログラム Download PDF

Info

Publication number
JP2019185697A
JP2019185697A JP2018079510A JP2018079510A JP2019185697A JP 2019185697 A JP2019185697 A JP 2019185697A JP 2018079510 A JP2018079510 A JP 2018079510A JP 2018079510 A JP2018079510 A JP 2018079510A JP 2019185697 A JP2019185697 A JP 2019185697A
Authority
JP
Japan
Prior art keywords
image processing
processor
module
communication
register information
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.)
Pending
Application number
JP2018079510A
Other languages
English (en)
Inventor
辰寿 諏訪
Tatsutoshi Suwa
辰寿 諏訪
川原 巧
Takumi Kawahara
巧 川原
英夫 山田
Hideo Yamada
英夫 山田
小林美行
Yoshiyuki Kobayashi
美行 小林
正太郎 宮本
Seitaro Miyamoto
正太郎 宮本
英憲 田中
Hidenori Tanaka
英憲 田中
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2018079510A priority Critical patent/JP2019185697A/ja
Publication of JP2019185697A publication Critical patent/JP2019185697A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Facsimiles In General (AREA)
  • Image Processing (AREA)

Abstract

【課題】制御用の第1のプロセッサと、画像処理用の第2のプロセッサを用いる場合、第1のプロセッサと第2のプロセッサ間の通信時間を短縮させることができる情報処理装置を提供する。【解決手段】情報処理装置は、制御用の第1のプロセッサと、画像処理用の第2のプロセッサを有し、通信手段は、前記第1のプロセッサと前記第2のプロセッサ間の通信を行い、前記通信手段は、前記第1のプロセッサから前記第2のプロセッサへの送信を行う場合に、今回送信する一部の内容が前回送信した一部の内容と同じならば、該一部の内容の送信を行わない。【選択図】図1

Description

本発明は、情報処理装置及び情報処理プログラムに関する。
特許文献1には、既存の片方向OS間通信システムにハードウェア上の変更を加えることなく双方向OS間通信システムを実現することを課題とし、上位アプリケーションは、コールバック関数の関数ポインタをライブラリに通知し、ライブラリは、OS間通信モジュールに非同期イベント登録コマンドを通知し、OS間通信モジュールは、作成したコールバック関数の関数ポインタをFAXDDへ通知し、その後、ライブラリは、OS間通信モジュールへ非同期イベント受信待ちコマンドを通知して受信待ち状態に入り、FAXDDは、非同期イベントが発生すると、通知された関数ポインタにアクセスしてイベント通知パラメータをOS間通信モジュールへ送り、OS間通信モジュールは、非同期イベント受信待ちコマンドに応じてイベント通知パラメータをライブラリに返し、ライブラリは、通知された関数ポインタにアクセスしてイベント通知パラメータを上位アプリケーションへ送ることが開示されている。
特許文献2には、マルチプロセッサシステムのプロセッサ間でのコマンドの受け渡し後にいずれかのプロセッサでプログラムが再起動された場合の誤動作を防ぐことを課題とし、第1OS(Operating System)を実行する第1制御手段と、第2OSを実行する第2制御手段と、前記第2制御手段によって制御されるデバイスとを備え、前記第1制御手段は、前記第1OS上で動作中のプロセスが呼び出した関数を前記第1OSと前記第2OSとで共通に解釈されるコマンドに変換する第1変換手段と、前記第1変換手段によって変換されたコマンドを前記第2制御手段の記憶領域に書き込むコマンド書込手段と、前記コマンド書込手段によって書き込まれたコマンドに対応する前記第2OSのシステムコールの前記第2制御手段による実行の結果を示すステータスが前記記憶領域に書き込まれたことを示す通知を受けた場合に当該ステータスを前記記憶領域から読み出すステータス読出手段と、前記ステータス読出手段によって読み出された前記ステータスを前記プロセスが解釈する戻り値に変換し、当該戻り値を前記プロセスに返す第2変換手段と、前記コマンド書込手段による前記コマンドの書き込み後、前記ステータス読出手段によって前記ステータスが読み出される前に前記プロセスが再起動された場合に、前記プロセスの再起動後に前記ステータス読出手段によって読み出された前記ステータスを廃棄するステータス廃棄手段とを備えたことが開示されている。
特開2017−062540号公報 特許第6098389号公報
処理能力が必要な画像処理を行うのに、ASIC(Application Specific Integrated Circuit)が用いられてきた。しかし、一般的なプロセッサの処理能力が向上したことにより、画像処理用プログラムをそのプロセッサ上で処理し、ASICを代替することが行われている。そのために、プロセッサ間通信を行う必要が生じる。このプロセッサ間通信は、ASICを用いる場合(具体的には、ASICのレジスタに引数をセットする処理)に比べて時間のかかる処理となる。
本発明は、制御用の第1のプロセッサと、画像処理用の第2のプロセッサを用いる場合、第1のプロセッサと第2のプロセッサ間の通信時間を短縮させることができる情報処理装置及び情報処理プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、制御用の第1のプロセッサと、画像処理用の第2のプロセッサと、前記第1のプロセッサと前記第2のプロセッサ間の通信を行う通信手段を有し、前記通信手段は、前記第1のプロセッサから前記第2のプロセッサへの送信を行う場合に、今回送信する一部の内容が前回送信した一部の内容と同じならば、該一部の内容の送信を行わない、情報処理装置である。
請求項2の発明は、前記通信手段は、送信する内容である複数の引数で構成される集合毎に比較して、前記一部の内容が同じであるか否かを判断する、請求項1に記載の情報処理装置である。
請求項3の発明は、前記集合に対して、タグ付けが行われており、前記通信手段は、前記タグを比較する、請求項2に記載の情報処理装置である。
請求項4の発明は、第3のプロセッサと、前記第1のプロセッサと前記第3のプロセッサ間の通信を行う第2の通信手段をさらに有し、前記第2の通信手段は、前記第1のプロセッサからの画像処理の指示を前記第3のプロセッサへ送信し、該第3のプロセッサから前記第2のプロセッサへ送信するための指示として、該第2のプロセッサを用いて前記画像処理を行わせることの指示を受信する、請求項1に記載の情報処理装置である。
請求項5の発明は、前記第3のプロセッサは、前記第1のプロセッサから前記画像処理の指示を受信した場合に、複数の引数で構成される集合毎にタグ付けを行い、該タグ付けの結果を前記第2のプロセッサへ送信する指示に含める、請求項4に記載の情報処理装置である。
請求項6の発明は、前記通信手段は、前記タグを比較して、前記一部の内容が同じであるか否かを判断する、請求項5に記載の情報処理装置である。
請求項7の発明は、前記第3のプロセッサは、画像処理用のASICの代替として、前記第2のプロセッサを用いる、請求項4に記載の情報処理装置である。
請求項8の発明は、制御用の第1のプロセッサと、画像処理用の第2のプロセッサを有するコンピュータを、前記第1のプロセッサと前記第2のプロセッサ間の通信を行う通信手段として機能させ、前記通信手段は、前記第1のプロセッサから前記第2のプロセッサへの送信を行う場合に、今回送信する一部の内容が前回送信した一部の内容と同じならば、該一部の内容の送信を行わない、情報処理プログラムである。
請求項1の情報処理装置によれば、制御用の第1のプロセッサと、画像処理用の第2のプロセッサを用いる場合、第1のプロセッサと第2のプロセッサ間の通信時間を短縮させることができる。
請求項2の情報処理装置によれば、一部の内容が同じであるか否かを判断するのに、集合毎に比較して行うことができる。
請求項3の情報処理装置によれば、タグの比較で、集合を比較することができる。
請求項4の情報処理装置によれば、第3のプロセッサが、第1のプロセッサからの画像処理の指示を受け、その第3のプロセッサが、第2のプロセッサへ画像処理を行わせることの指示を送信することができる。
請求項5の情報処理装置によれば、第3のプロセッサは、複数の引数で構成される集合毎にタグ付けを行い、そのタグ付けの結果を第2のプロセッサへ送信する指示に含めることができる。
請求項6の情報処理装置によれば、タグの比較によって、一部の内容が同じであるか否かを判断することができる。
請求項7の情報処理装置によれば、画像処理用のASICの代替として、第2のプロセッサを用いることができる。
請求項8の情報処理プログラムによれば、制御用の第1のプロセッサと、画像処理用の第2のプロセッサを用いる場合、第1のプロセッサと第2のプロセッサ間の通信時間を短縮させることができる。
本実施の形態の構成例についての概念的なモジュール構成図である。 本実施の形態を利用したシステム構成例を示す説明図である。 ASICを利用した画像処理装置の構成例についての概念的なモジュール構成図である。 ASICを利用した画像処理モジュールによる処理例を示すフローチャートである。 ASICを画像処理用プロセッサに代替した画像処理モジュールの構成例についての概念的なモジュール構成図である。 ASICを画像処理用プロセッサに代替した画像処理モジュールによる処理例を示すフローチャートである。 レジスタ情報群のデータ構造例、その利用例を示す説明図である。 本実施の形態である画像処理モジュール内のモジュール間の処理例を示す説明図である。 本実施の形態である画像処理モジュールによる処理例を示すフローチャートである。 タグ付レジスタ情報テーブルのデータ構造例を示す説明図である。 画像処理用デバイスドライバによる処理例を示す説明図である。 通信モジュールと画像処理用ソフトウェアモジュールとの間の通信処理例を示す説明図である。 通信モジュール120から画像処理用ソフトウェアモジュール135に送信されるサイズデータ例を示す説明図である。 本実施の形態である画像処理モジュールによる処理例を示す説明図である。 本実施の形態である画像処理モジュールによる処理例を示す説明図である。 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係、ログイン等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。また、「A、B、C」等のように事物を列挙した場合は、断りがない限り例示列挙であり、その1つのみを選んでいる場合(例えば、Aのみ)を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
本実施の形態である画像処理モジュール100は、複数のプロセッサを用いて画像処理を行うものであって、図1の例に示すように、制御用モジュール105、画像処理制御用モジュール150を有している。
制御用モジュール105は、画像処理モジュール100全体を制御するための汎用OS(例えば、Linux(登録商標)等)によって制御され、画像処理制御用モジュール150は、組み込み用OS(例えば、VxWorks(登録商標)、ITRON(登録商標)等)によって制御される。なお、画像処理用プロセッサ130、画像処理用ソフトウェアモジュール135だけを管理する小規模なOS(いわゆるチープOS)があってもよい。
また、画像処理制御用モジュール150と制御用モジュール105間の通信(組込システム用プロセッサ155と制御用プロセッサ110間の通信、組込システム用プロセッサ155と画像処理用プロセッサ130間の通信を含む)は、システム間通信(又はプロセッサ間通信)といわれる。
制御用モジュール105は、制御用プロセッサ110、アプリケーションモジュール115、通信モジュール120、画像処理用プロセッサ130、画像処理用ソフトウェアモジュール135を有している。
制御用プロセッサ110は、制御用の第1のプロセッサの一例であって、汎用システム用のプロセッサともいわれる。制御用プロセッサ110として、例えば、Cortex−A15 MPCore等を用いてもよい。制御用プロセッサ110は、アプリケーションモジュール115、通信モジュール120による処理を行う。
アプリケーションモジュール115は、通信モジュール120と接続されている。アプリケーションモジュール115は、画像処理モジュール100における画像処理のアプリケーションソフトウェアであって、例えば、複写処理、スキャン処理、印刷処理、ファックス受信・送信処理等を行う。また、ユーザーの操作にしたがって、拡大縮小等の処理を行う。なお、それらの画像処理そのものは、組込システム用プロセッサ155に画像処理の指示を行うことによって、画像処理用プロセッサ130によって行われる。つまり、アプリケーションモジュール115(制御用プロセッサ110)が画像処理用ソフトウェアモジュール135(画像処理用プロセッサ130)を直接用いて画像処理を行わせることはなく、アプリケーションモジュール115(制御用プロセッサ110)が画像処理用デバイスドライバ160(組込システム用プロセッサ155)に画像処理の指示を行い、画像処理用デバイスドライバ160(組込システム用プロセッサ155)が画像処理用ソフトウェアモジュール135(画像処理用プロセッサ130)に画像処理を行わせるという手順を踏む。理由については、図3〜図7の例を用いて後述する。
通信モジュール120は、記憶モジュール125を有しており、アプリケーションモジュール115、画像処理用ソフトウェアモジュール135、画像処理制御用モジュール150の通信モジュール165と接続されている。通信モジュール120は、制御用プロセッサ110と画像処理用プロセッサ130間の通信を行う。なお、「制御用プロセッサ110と画像処理用プロセッサ130間の通信」として、制御用プロセッサ110と画像処理用プロセッサ130とが直接通信を行うのではなく、組込システム用プロセッサ155を介して、制御用プロセッサ110と画像処理用プロセッサ130とが通信を行う場合を含む。つまり、制御用プロセッサ110と組込システム用プロセッサ155とが通信を行い、組込システム用プロセッサ155と画像処理用プロセッサ130とが通信を行うことを含む。
通信モジュール120は、制御用プロセッサ110から画像処理用プロセッサ130への送信を行う場合に、今回送信する一部の内容が前回送信した一部の内容と同じならば、その一部の内容の送信を行わないように制御する。なお、前回送信した内容は、記憶モジュール125内に記憶されている。
また、通信モジュール120は、送信する内容である複数の引数で構成される集合毎に比較して、一部の内容が同じであるか否かを判断するようにしてもよい。ここで「引数」として、画像処理に用いられる引数であって、例えば、レジスタ内の内容(情報)が該当する。ただし、ここで「レジスタ」とは、画像処理用プロセッサ130(画像処理用ソフトウェアモジュール135)によって代替されるASICのレジスタである。
また、集合に対して、タグ付けが行われており、通信モジュール120は、今回送信するタグと前回送信したタグを比較することによって、「今回送信する一部の内容が前回送信した一部の内容と同じ」か否かの判断を行うようにしてもよい。
また、通信モジュール120は、制御用モジュール105と組込システム用プロセッサ155間の通信を行うようにしてもよい。
そして、通信モジュール120は、制御用プロセッサ110からの画像処理の指示を組込システム用プロセッサ155へ送信し、その組込システム用プロセッサ155から画像処理用プロセッサ130へ送信するための指示として、その画像処理用プロセッサ130を用いて画像処理を行わせることの指示を受信するようにしてもよい。ここで「画像処理を行わせることの指示」の内容は、制御用プロセッサ110から受信した「画像処理の指示」を主としたものである。なお、「画像処理の指示」そのものであってもよいが、後述するASICを利用するための指示に変換したもの、タグを付加したものであってもよい。
なお、通信モジュール120によるこの処理を行うためには、制御用プロセッサ110は、画像処理の指示を組込システム用プロセッサ155へ送信し、組込システム用プロセッサ155は、画像処理を行わせることの指示を画像処理用プロセッサ130に送信することを行う。そして、その後、画像処理用プロセッサ130は、処理結果を組込システム用プロセッサ155に送信し、組込システム用プロセッサ155は、その処理結果を制御用プロセッサ110に送信することを行うようにしてもよい。
また、通信モジュール120は、タグを比較して、一部の内容が同じであるか否かを判断するようにしてもよい。
記憶モジュール125は、画像処理用プロセッサ130への送信内容(画像処理用ソフトウェアモジュール135へ渡した内容)を記憶する。そして、通信モジュール120は、この記憶モジュール125内の情報(画像処理用プロセッサ130へ前回送信した内容)と今回送信する内容を比較する。
画像処理用プロセッサ130は、画像処理用の第2のプロセッサの一例である。ただし、ASICは含まない。画像処理用プロセッサ130として、例えば、制御用プロセッサ110と同様のCortex−A15 MPCore等を用いてもよい。画像処理用プロセッサ130は、画像処理用ソフトウェアモジュール135による処理を行う。
画像処理用ソフトウェアモジュール135は、通信モジュール120と接続されている。画像処理用ソフトウェアモジュール135は、画像処理用プロセッサ130を用いて、組込システム用プロセッサ155(画像処理用デバイスドライバ160)から送信された「画像処理を行わせることの指示」にしたがって、画像処理を行う。そして、その処理結果を組込システム用プロセッサ155(画像処理用デバイスドライバ160)に送信する。なお、画像処理用ソフトウェアモジュール135は、後述するASICと同等の機能を有している。ただし、そのASICの利用方法(具体的には、引数の引き渡し方法)が同じであれば、機能としてはそのASICの機能をアップグレード(又はダウングレード)したものであってもよい。機能としては、画像処理、例えば、拡大縮小等のアフィン変換処理、圧縮伸張処理、2値化処理、濃度変換処理、エッジ検出等のフィルター処理等がある。
画像処理制御用モジュール150は、組込システム用プロセッサ155、画像処理用デバイスドライバ160、通信モジュール165を有している。
組込システム用プロセッサ155は、第3のプロセッサの一例であって、組み込みシステム用のプロセッサともいわれる。組込システム用プロセッサ155として、例えば、Cortex−A7 MPCore等を用いてもよい。組込システム用プロセッサ155は、画像処理用デバイスドライバ160、通信モジュール165による処理を行う。
画像処理用デバイスドライバ160は、通信モジュール165と接続されている。画像処理用デバイスドライバ160は、組込システム用プロセッサ155を用いて以下の処理を行う。
画像処理用デバイスドライバ160は、アプリケーションモジュール115(制御用プロセッサ110)から画像処理の指示を受信した場合に、画像処理用ソフトウェアモジュール135(画像処理用プロセッサ130)との通信を行い、その画像処理を画像処理用ソフトウェアモジュール135(画像処理用プロセッサ130)に実施させる。そして、その画像処理の結果を受信して、アプリケーションモジュール115(制御用プロセッサ110)に返信する。
また、画像処理用デバイスドライバ160は、画像処理に必要な引数について、複数の引数で構成される集合毎にタグ付けを行い、そのタグ付けの結果を画像処理用プロセッサ130へ送信する指示に含めるようにしてもよい。引数として、例えば、処理対象の画像の大きさ(サイズ)、カラー/白黒の別、写真/文字の別、両面/片面の別等がある。なお、これらはタグ名称となる。
また、画像処理用デバイスドライバ160は、画像処理用のASICの代替として、画像処理用プロセッサ130を用いて、制御用プロセッサ110から指示である画像処理を行わせるようにしてもよい。
通信モジュール165は、画像処理用デバイスドライバ160、制御用モジュール105の通信モジュール120と接続されている。通信モジュール165は、制御用プロセッサ110と組込システム用プロセッサ155間の通信、画像処理用プロセッサ130と組込システム用プロセッサ155間の通信を行う。
図2は、本実施の形態を利用したシステム構成例を示す説明図である。
画像処理装置200は、画像処理モジュール100、印刷/スキャン/ファックスモジュール210、ユーザーインタフェースモジュール220を有している。
画像処理モジュール100は、制御用モジュール105、画像処理制御用モジュール150を有している。
印刷/スキャン/ファックスモジュール210は、画像処理モジュール100の画像処理制御用モジュール150と接続されている。印刷/スキャン/ファックスモジュール210は、画像処理装置200の主機能を有する。例えば、印刷(プリント)、画像読取(スキャン)、ファックス等の処理を行う。
画像処理制御用モジュール150は、印刷/スキャン/ファックスモジュール210のドライバとしての機能を有する。そして、画像処理制御用モジュール150は、前述したように、画像処理のドライバとしての機能も有する。
ユーザーインタフェースモジュール220は、画像処理モジュール100の制御用モジュール105と接続されている。ユーザーインタフェースモジュール220は、画像処理装置200を利用するユーザーの操作を受け付け、制御用モジュール105に渡し、制御用モジュール105からの制御による表示等を行う。例えば、画像処理装置200に備え付けられているタッチパネル、マウス、キーボード、マイク、カメラ等を用いて、それらの操作、音声、視線、ジェスチャ等を用いたユーザーの操作を受け付け、画像処理装置200に備え付けられている液晶ディスプレイ等の表示装置(前述のタッチパネルを含めてもよい)に表示させること、スピーカー等の音声出力装置から音声を出力させること等を行わせる。
図3は、ASICを利用した画像処理モジュール300の構成例についての概念的なモジュール構成図である。図3の例は、本実施の形態を利用していない以前の状態を示すものである。
画像処理モジュール300は、制御用モジュール305、画像処理制御用モジュール350を有している。
制御用モジュール305は、画像処理モジュール300全体を制御するための汎用OS(例えば、Linux(登録商標)等)によって制御され、画像処理制御用モジュール350は、組み込み用OS(例えば、VxWorks(登録商標)、ITRON(登録商標)等)によって制御される。
制御用モジュール305は、制御用プロセッサ310、アプリケーションモジュール315、通信モジュール320を有している。
制御用プロセッサ310は、アプリケーションモジュール315、通信モジュール320による処理を行う。
アプリケーションモジュール315は、通信モジュール320と接続されている。
通信モジュール320は、アプリケーションモジュール315、画像処理制御用モジュール350の通信モジュール365と接続されている。
画像処理制御用モジュール350は、組込システム用プロセッサ355、ASIC357、画像処理用デバイスドライバ360、通信モジュール365を有している。
組込システム用プロセッサ355は、画像処理用デバイスドライバ360、通信モジュール365による処理を行う。
ASIC357は、画像処理用デバイスドライバ360と接続されている。ASIC357は、組み込み用OS内の画像処理用デバイスドライバ360の制御にしたがって画像処理を行う。
画像処理用デバイスドライバ360は、ASIC357、通信モジュール365と接続されている。
通信モジュール365は、画像処理用デバイスドライバ360、制御用モジュール305の通信モジュール320と接続されている。
アプリケーションモジュール315が画像処理の指示を行った場合の各モジュールの処理例を、図4の例に示すフローチャートを用いて説明する。図3に示したステップS番号は、図4の例に示すフローチャート内のステップS番号に対応する。
図4は、ASICを利用した画像処理モジュール300による処理例を示すフローチャートである。
ステップS402では、アプリケーションモジュール315は、画像処理制御用モジュール350へのコマンド(画像処理の指示)を通信モジュール320に送る。
ステップS404では、通信モジュール320は、コマンドを画像処理制御用モジュール350の通信モジュール365に送信する。
ステップS406では、通信モジュール365は、コマンドを画像処理用デバイスドライバ360へ送る。
ステップS408では、画像処理用デバイスドライバ360は、コマンドを解析し、ASIC357にコマンドを送る。コマンドの解析として、例えば、ASIC357を利用するための引数を生成することであり、その引数をASIC357のレジスタにセットする。そして、ASIC357は、画像処理を行う。なお、コマンドの解析結果として生成されるデータ構造は、図7の例を用いて後述するレジスタ情報群700と同等のものである。
ステップS410では、ASIC357は、ASIC357の処理結果(コマンドに対する応答)を画像処理用デバイスドライバ360に返す。
ステップS412では、画像処理用デバイスドライバ360は、処理結果を通信モジュール365に送る。
ステップS414では、通信モジュール365は、処理結果を制御用モジュール305の通信モジュール320に送信する。
ステップS416では、通信モジュール320は、アプリケーションモジュール315へ処理結果を送る。
図5は、図3の例に示すASIC357を画像処理用プロセッサ530に代替した画像処理モジュール500の構成例についての概念的なモジュール構成図である。ASIC357は、開発費が高い、開発期間が長い、回路設計の誤りの修正が困難である等の理由から、高速で汎用的なプロセッサ(画像処理用プロセッサ530)上で画像処理(画像処理用ソフトウェアモジュール535)を行わせることによる代替が検討されている。
しかし、図3の例におけるアプリケーションモジュール315、画像処理用デバイスドライバ360の変更は最小限度にしたいとする要望がある。
そこで、図5の例に示す画像処理モジュール500は、図3の例に示した画像処理モジュール300からASIC357を取り除き、画像処理用プロセッサ530、画像処理用ソフトウェアモジュール535を付加したものである。この画像処理用プロセッサ530、画像処理用ソフトウェアモジュール535の組み合わせは、ASIC357で行っていた特殊な計算(画像処理)をソフトウェアで実現したもので、汎用OS(例えば、Linux(登録商標)等)上で動作する。
図5の例に示すようなモジュール構成にした場合、画像処理用デバイスドライバ560が、図3の例に示した画像処理用デバイスドライバ360と同様に、ASIC357に対する制御と同様の制御を行うためには、図3の例で示した通信(ステップS404、ステップS414)よりも多くなる。例えば、制御用モジュール505と画像処理制御用モジュール550間の通信、通信モジュール520と画像処理用ソフトウェアモジュール535間の通信が増えてしまう。ここで制御用モジュール505と画像処理制御用モジュール550間の通信、通信モジュール520と画像処理用ソフトウェアモジュール535間の通信はOS間通信となる。
画像処理モジュール500は、制御用モジュール505、画像処理制御用モジュール550を有している。
制御用モジュール505は、画像処理モジュール500全体を制御するための汎用OS(例えば、Linux(登録商標)等)によって制御され、画像処理制御用モジュール550は、組み込み用OS(例えば、VxWorks(登録商標)、ITRON(登録商標)等)によって制御される。
制御用モジュール505は、制御用プロセッサ510、アプリケーションモジュール515、通信モジュール520、画像処理用プロセッサ530、画像処理用ソフトウェアモジュール535を有している。
アプリケーションモジュール515は、通信モジュール520と接続されている。
通信モジュール520は、アプリケーションモジュール515、画像処理用ソフトウェアモジュール535、画像処理制御用モジュール550の通信モジュール565と接続されている。
画像処理用ソフトウェアモジュール535は、通信モジュール520と接続されている。
画像処理制御用モジュール550は、組込システム用プロセッサ555、画像処理用デバイスドライバ560、通信モジュール565を有している。
画像処理用デバイスドライバ560は、通信モジュール565と接続されている。
通信モジュール565は、画像処理用デバイスドライバ560、制御用モジュール505の通信モジュール520と接続されている。
アプリケーションモジュール515が画像処理の指示を行った場合の各モジュールの処理例を、図6の例に示すフローチャートを用いて説明する。図5に示したステップS番号は、図6の例に示すフローチャート内のステップS番号に対応する。
図6は、ASICを画像処理用プロセッサ530に代替した画像処理モジュール500による処理例を示すフローチャートである。
ステップS602では、アプリケーションモジュール515は、画像処理制御用モジュール550へのコマンドを通信モジュール520に送る。
ステップS604では、通信モジュール520は、コマンドを画像処理制御用モジュール550の通信モジュール565に送信する。
ステップS606では、通信モジュール565は、コマンドを画像処理用デバイスドライバ560へ送る。
ステップS608では、画像処理用デバイスドライバ560は、コマンドを解析し、解析後のコマンドを、制御用モジュール505の画像処理用ソフトウェアモジュール535へのコマンドとして通信モジュール565に送る。
ステップS610では、通信モジュール565は、画像処理用ソフトウェアモジュール535へのコマンドを制御用モジュール505の通信モジュール520に送信する。
ステップS612では、通信モジュール520は、コマンドを画像処理用ソフトウェアモジュール535へ送る。具体的な処理例について、図7の例を用いて後述する。
ステップS614では、画像処理用ソフトウェアモジュール535は、画像処理用ソフトウェアモジュール535の処理結果を画像処理制御用モジュール550への応答として通信モジュール520に返す。
ステップS616では、通信モジュール520は、画像処理用ソフトウェアモジュール535からの応答を画像処理制御用モジュール550の通信モジュール565に送信する。
ステップS618では、通信モジュール565は、画像処理用ソフトウェアモジュール535からの応答を画像処理用デバイスドライバ560へ送る。
ステップS620では、画像処理用デバイスドライバ560は、コマンドに対する応答を通信モジュール565に送る。
ステップS622では、通信モジュール565は、応答を制御用モジュール505の通信モジュール520に送信する。
ステップS624では、通信モジュール520は、アプリケーションモジュール515へ応答を送る。
図6の例に示すフローチャートを図4の例に示すフローチャートと比較すると、ステップS610〜ステップS616の通信(OS間通信)が増えている。
図7は、レジスタ情報群700のデータ構造例、その利用例を示す説明図である。レジスタ情報群700は、画像処理用ソフトウェアモジュール535を利用するための引数群(1つの引数を含む)であり、通信モジュール520から画像処理用ソフトウェアモジュール535に送信される。
レジスタ情報群700は、NO欄720、レジスタ情報欄730を有している。NO欄720は、レジスタ番号(NO)を記憶している。レジスタ情報欄730は、そのレジスタ内の情報(レジスタ情報)を記憶している。つまり、レジスタ情報群700は、引数をレジスタに設定する形態にしている。ASIC357の代替としての使用をするために、あたかもレジスタに設定するような形態にしている。レジスタ情報群700の1行目のNo:1のレジスタ情報は「aaa」であり、2行目のNo:2のレジスタ情報は「bbb」であり、3行目のNo:3のレジスタ情報は「ccc」であり、4行目のNo:4のレジスタ情報は「ddd」である。画像処理用ソフトウェアモジュール535は、これらのレジスタ情報(aaa、bbb、ccc、ddd)を用いて画像処理を行う。レジスタ情報として、例えば、画像のサイズを示す情報等がある。
ただし、レジスタ情報を1つずつ通信モジュール520から画像処理用ソフトウェアモジュール535に送信する必要がある。図7の例では、レジスタ情報群700には4つのレジスタ情報があるので、4回の通信(OS間通信)が必要になる。つまり、保存するレジスタ情報の数だけOS間通信する必要がある。
OS間通信(特に通信量が多いステップS610、S612)は時間がかかる。
ASIC357へはレジスタアクセスであるので、非常に短い(一般に数百ps)のに対し、OS間通信はメモリへのアクセス(一般に数μs)であり、データの格納と読み出しにソフトウェア処理が必要である。
本実施の形態は、ステップS612における通信を改良する(具体的には、通信回数を減少させる)ものである。
図8は、本実施の形態である画像処理モジュール100内のモジュール間の処理例を示す説明図である。図8は、図5の例に示す画像処理モジュール500と同様に、図3の例に示すASIC357を画像処理用プロセッサ130に代替した画像処理モジュール100の構成例についての概念的なモジュール構成図を示している。なお、既存の制御用プロセッサ110、組込システム用プロセッサ155上で、画像処理用ソフトウェアモジュール135を動作させることも考えられるが、CPUパワーが不足しており(具体的には、制御用プロセッサ110は、他の処理を行う必要があり、画像処理用ソフトウェアモジュール135に割り当てることができる処理能力は不足し、組込システム用プロセッサ155は、単体でも処理能力不足である)、制御用プロセッサ110、組込システム用プロセッサ155とは別のプロセッサ(画像処理用プロセッサ130)で、画像処理用ソフトウェアモジュール135専用の処理を行わせることによって、ASIC357以上の処理能力にするためである。
画像処理モジュール100において、アプリケーションモジュール115が画像処理の指示を行った場合の各モジュールの処理例を、図9の例に示すフローチャートを用いて説明する。図8に示したステップS番号は、図9の例に示すフローチャート内のステップS番号に対応する。
図9は、本実施の形態である画像処理モジュール100による処理例を示すフローチャートである。
ステップS902では、アプリケーションモジュール115は、画像処理制御用モジュール150へのコマンド(画像処理の指示)を通信モジュール120に送る。
ステップS904では、通信モジュール120は、コマンドを画像処理制御用モジュール150の通信モジュール165に送信する。
ステップS906では、通信モジュール165は、コマンドを画像処理用デバイスドライバ160へ送る。
ステップS908では、画像処理用デバイスドライバ160は、コマンドを解析し、抽象化したタグを付与したコマンドに変換し、変換後のコマンドを、制御用モジュール105の画像処理用ソフトウェアモジュール135へのコマンドとして通信モジュール165に送る。
ここで解析とは、コマンドを画像処理用ソフトウェアモジュール135(具体的には、ASIC357)が解釈できる情報に変換することであり、その結果として、例えば、タグ付レジスタ情報テーブル1000が生成される。図10は、タグ付レジスタ情報テーブル1000のデータ構造例を示す説明図である。タグ付レジスタ情報テーブル1000は、図7の例に示したレジスタ情報群700にタグ欄1010を付加したものである。タグ付レジスタ情報テーブル1000は、タグ欄1010、NO欄1020、レジスタ情報欄1030を有している。タグ欄1010は、タグを記憶している。NO欄1020は、レジスタ番号(NO)を記憶している。レジスタ情報欄1030は、そのレジスタ内の情報(レジスタ情報)を記憶している。ここで、タグとは、複数の引数で構成される集合を、本実施の形態において識別するための情報であり、図10に示す例では「サイズA4」等の名称が該当する。ただし、人間が識別可能な名称である必要は必ずしもなく、その引数群(集合)を識別できる数字、英字、英数字等であってもよい。図10の例では、「サイズA4」の示す引数群として、「aaa」、「bbb」、「ccc」、「ddd」が4つがあることを示している。
次に、タグ付け処理の具体例を、図11を用いて説明する。図11は、画像処理用デバイスドライバ160による処理例を示す説明図である。
抽象化タグテーブル1120は、抽象化タグ1130を有している。抽象化タグ1130は、抽象化タグ(タグ欄1010におけるタグ)を記憶している。なお、抽象化タグテーブル1120は、予め用意されており、抽象タグ毎に、レジスタ情報群が付与されている。そして、タグの付与処理(付与1142、付与1144)において、レジスタ情報欄1173内の情報とのマッチング処理を行って一致するものに抽象タグを付与すればよい。
レジスタ情報テーブル1170は、NO欄1172、NO欄1172を有しており、図7の例に示すレジスタ情報群700と同等のものである。NO欄1172はNO欄720に該当し、レジスタ情報欄1173はレジスタ情報欄730に該当する。
画像処理用デバイスドライバ160は、通信モジュール165から受信したコマンドを解析して、レジスタ情報テーブル1170を生成する。
そして、画像処理用デバイスドライバ160は、レジスタ情報テーブル1170のNO1〜4にタグ(サイズA3)1132を付与1142する。また、画像処理用デバイスドライバ160は、レジスタ情報テーブル1170のNO5、6にタグ(カラー/白黒:白黒)1134を付与1144する。これらの付与処理によって、図10の例に示したタグ付レジスタ情報テーブル1000のようなデータ構造を生成する。
ステップS910では、通信モジュール165は、画像処理用ソフトウェアモジュール135への抽象化したタグを付与したコマンドを制御用モジュール105の通信モジュール120に送信する。
ステップS912では、通信モジュール120は、受信したコマンド内の抽象化タグを用いて、既に記憶モジュール125に書き込まれている(保存されている)前回のコマンド内の抽象化タグとの比較を行い、レジスタ情報との差分のレジスタ情報を画像処理用ソフトウェアモジュール135へ送る。
図12、図13の例を用いて、ステップS912の処理を説明する。図12は、通信モジュール120と画像処理用ソフトウェアモジュール135との間の通信処理例を示す説明図である。
差分レジスタ情報1200は、NO欄1210、レジスタ情報欄1220を有しており、図7の例に示すレジスタ情報群700と同等のものである。NO欄1210はNO欄720に該当し、レジスタ情報欄1220はレジスタ情報欄730に該当する。図7の例では、通信モジュール520から画像処理用ソフトウェアモジュール535へ4回の通信(4回のレジスタ情報の送信)を行っていたが、図12の例では、通信モジュール120から画像処理用ソフトウェアモジュール135へ2回の通信(2回のレジスタ情報の送信)で済んでいる。
それは、記憶モジュール125内にタグ付レジスタ情報テーブル1000が記憶されており、図11の例に示す処理によって、タグとして「サイズ」であるタグ付レジスタ情報テーブル1000のNO1〜4とレジスタ情報テーブル1170のNO1〜4とを比較する。NO1とNO4は同じであるので、そのレジスタ情報は送信不要であり、NO2とNO3のレジスタ情報を送信するだけで済むことになる。なお、比較すべきタグの組み合わせは予め設定されており、例えば、「サイズA4」と「サイズA3」の組み合わせは、比較すべきタグであるとしている。なお、「サイズA4」と「サイズA4」の組み合わせ等も、比較すべきタグであるが、そのタグに対応するレジスタ情報は一致しているので、レジスタ情報自体の比較は不要である。また、この例では、タグとして「サイズA4」、「サイズA3」を付与しているが、両者ともに「サイズ」としてもよい。そのようなタグ付けにした場合、単にタグが一致するか否かで、比較すべきタグであるかを判断することができるようになる。逆に、実体が「サイズA4」と「サイズA4」の組み合わせであったとしても、タグとしては両者とも「サイズ」であるので、レジスタ情報の比較を行うことになる。
図13は、通信モジュール120から画像処理用ソフトウェアモジュール135に送信されるサイズデータ例を示す説明図である。
図13(a)の例に示すタグ付レジスタ情報テーブル1400aは、画像処理モジュール100(又は画像処理装置200)の起動時に、記憶モジュール125内にセットするデータである。つまり、事前(画像処理モジュール100による処理を行う前)に特定のレジスタ情報を、記憶モジュール125に書き込んでおく。例えば、使用される可能性が高い引数群を記憶させておけばよい。
図13(b)の例に示すタグ付レジスタ情報テーブル1400bは、通信モジュール120が画像処理用デバイスドライバ160(通信モジュール165)から受け取ったサイズA4のデータ群である(1回目)。タグ付レジスタ情報テーブル1400aとタグ付レジスタ情報テーブル1400bとを比較すると、タグ名称「サイズA4」が一致しているので、レジスタ情報(レジスタ情報欄1430a、レジスタ情報欄1430b内のレジスタ情報)も一致しており、この場合は、通信モジュール120から画像処理用ソフトウェアモジュール135へレジスタ情報を送信する必要はない。つまり、通信モジュール120と画像処理用ソフトウェアモジュール135におけるレジスタ情報のOS間通信は不要である。
図13(c)の例に示すタグ付レジスタ情報テーブル1500bは、通信モジュール120が画像処理用デバイスドライバ160(通信モジュール165)から受け取ったサイズA3のデータ群である(2回目)。タグ付レジスタ情報テーブル1400bとタグ付レジスタ情報テーブル1500bとを比較すると、タグ名称「サイズA4」と「サイズA3」は比較すべきタグの組み合わせであり、一致しないレジスタ情報は2つ(レジスタ情報(2行目)1532b、レジスタ情報(3行目)1533b)なので、通信モジュール120から画像処理用ソフトウェアモジュール135へ差分であるレジスタ情報(レジスタ情報(2行目)1532b、レジスタ情報(3行目)1533b)を送信する。もちろんのことながら、同じであるレジスタ情報(1行目、4行目のレジスタ情報)は送信しない。したがって、通信モジュール120と画像処理用ソフトウェアモジュール135におけるレジスタ情報のOS間通信は2回である。
図13(d)の例に示すタグ付レジスタ情報テーブル1600bは、通信モジュール120が画像処理用デバイスドライバ160(通信モジュール165)から受け取ったサイズB5のデータ群である(3回目)。タグ付レジスタ情報テーブル1500bとタグ付レジスタ情報テーブル1600bとを比較すると、タグ名称「サイズA3」と「サイズB5」は比較すべきタグの組み合わせであり、一致しないレジスタ情報は3つ(レジスタ情報(2行目)1632b、レジスタ情報(3行目)1633b、レジスタ情報(4行目)1634b)なので、通信モジュール120から画像処理用ソフトウェアモジュール135へ差分であるレジスタ情報(レジスタ情報(2行目)1632b、レジスタ情報(3行目)1633b、レジスタ情報(4行目)1634b)を送信する。もちろんのことながら、同じであるレジスタ情報(1行目のレジスタ情報)は送信しない。したがって、通信モジュール120と画像処理用ソフトウェアモジュール135におけるレジスタ情報のOS間通信は3回である。
ステップS914では、画像処理用ソフトウェアモジュール135は、画像処理用ソフトウェアモジュール135の処理結果を画像処理制御用モジュール150への応答として通信モジュール120に返す。
ステップS916では、通信モジュール120は、画像処理用ソフトウェアモジュール135からの応答を画像処理制御用モジュール150の通信モジュール165に送信する。
ステップS918では、通信モジュール165は、画像処理用ソフトウェアモジュール135からの応答を画像処理用デバイスドライバ160へ送る。
ステップS920では、画像処理用デバイスドライバ160は、コマンドに対する応答を通信モジュール165に送る。
ステップS922では、通信モジュール165は、応答を制御用モジュール105の通信モジュール120に送信する。
ステップS924では、通信モジュール120は、アプリケーションモジュール115へ応答を送る。
図14、図15の例を用いて、各モジュールにおけるレジスタ情報に関する処理を説明する。図14は、本実施の形態である画像処理モジュール100による処理例(図13(b)の例に示す処理)を示す説明図である。
図14(a)の例では、ステップS906にて、ステップS1402、ステップS1404の処理を示している。
ステップS1402では、画像処理用デバイスドライバ160は、レジスタ情報を解析する。具体的には、画像処理用デバイスドライバ160が受信したコマンドを解析して、レジスタ情報テーブル1450を生成する。
ステップS1404では、画像処理用デバイスドライバ160は、解析した情報に抽象化タグを付与する。具体的には、レジスタ情報テーブル1450に対して、タグ付け処理を行う。このステップS1404の処理によって、図14(b)の例に示すタグ付レジスタ情報テーブル1400bが生成される。
ステップS908にて、図14(b)の例に示すように、画像処理用デバイスドライバ160はタグ付レジスタ情報テーブル1400bを通信モジュール165に渡す。
ステップS910にて、図14(c)の例に示すように、通信モジュール120は通信モジュール165からタグ付レジスタ情報テーブル1400bを受信する。そして、図14(d)の例に示すように、通信モジュール120は、記憶モジュール125に保存されている前回情報(タグ付レジスタ情報テーブル1400a)と受信した情報(タグ付レジスタ情報テーブル1400b)とを比較する。タグ「サイズA4」が一致するので、ステップS912、ステップS914の処理は不要となる。具体的には、画像処理の指示、異なるレジスタ情報の送信は必要であるが、少なくとも「サイズA4」のレジスタ情報の送信処理は不要である。
図15は、本実施の形態である画像処理モジュール100による処理例(図13(c)の例に示す処理)を示す説明図である。
図15(a)の例では、ステップS906にて、ステップS1502、ステップS1504の処理を示している。
ステップS1502では、画像処理用デバイスドライバ160は、レジスタ情報を解析する。具体的には、画像処理用デバイスドライバ160が受信したコマンドを解析して、レジスタ情報テーブル1550を生成する。
ステップS1504では、画像処理用デバイスドライバ160は、解析した情報に抽象化タグを付与する。具体的には、レジスタ情報テーブル1550に対して、タグ付け処理を行う。このステップS1504の処理によって、図15(b)の例に示すタグ付レジスタ情報テーブル1500bが生成される。
ステップS908にて、図15(b)の例に示すように、画像処理用デバイスドライバ160はタグ付レジスタ情報テーブル1500bを通信モジュール165に渡す。
ステップS910にて、図15(c)の例に示すように、通信モジュール120は通信モジュール165からタグ付レジスタ情報テーブル1500bを受信する。そして、図15(d)の例に示すように、通信モジュール120は、記憶モジュール125に保存されている前回情報(タグ付レジスタ情報テーブル1400b)と受信した情報(タグ付レジスタ情報テーブル1500b)とを比較する。タグ「サイズA4」とタグ「サイズA3」とは比較すべきタグの組み合わせであるので、各レジスタ情報を比較する。差分はNO2のレジスタ情報とNO3のレジスタ情報であり、それらを内容とする差分レジスタ情報1540(図15(e))を生成する。なお、差分レジスタ情報1540は、図13(c)の例に示したレジスタ情報(2行目)1532bとレジスタ情報(3行目)1533bによって構成されている。したがって、ステップS912のレジスタ情報の通信は2回となる。
図16を参照して、本実施の形態の画像処理装置200(画像処理モジュール100を含む)のハードウェア構成例について説明する。図16に示す構成は、例えばパーソナルコンピュータ(PC)等によって構成されるものであり、スキャナ等のデータ読み取り部1617と、プリンタ等のデータ出力部1618を備えたハードウェア構成例を示している。
CPU(Central Processing Unit)1601は、前述の実施の形態において説明した制御用プロセッサ110に該当し、各種のモジュール、すなわち、アプリケーションモジュール115、通信モジュール120等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。なお、画像処理用ソフトウェアモジュール135等の処理を行う画像処理用プロセッサ130、画像処理用デバイスドライバ160、通信モジュール165等の処理を行う組込システム用プロセッサ155は、後述する外部接続機器1615の一例である。
ROM(Read Only Memory)1602は、CPU1601が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1603は、CPU1601の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。特に、本実施の形態では、RAM1603は、記憶モジュール125等としての機能を実現させるものである。これらはCPUバス等から構成されるホストバス1604により相互に接続されている。
ホストバス1604は、ブリッジ1605を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス1606に接続されている。
キーボード1608、マウス等のポインティングデバイス1609は、操作者により操作されるデバイスである。ディスプレイ1610は、液晶表示装置又はCRT(Cathode Ray Tube)等があり、各種情報をテキストやイメージ情報として表示する。また、ポインティングデバイス1609とディスプレイ1610の両方の機能を備えているタッチスクリーン等であってもよい。その場合、キーボードの機能の実現について、キーボード1608のように物理的に接続しなくても、画面(タッチスクリーン)上にソフトウェアでキーボード(いわゆるソフトウェアキーボード、スクリーンキーボード等ともいわれる)を描画して、キーボードの機能を実現するようにしてもよい。
HDD(Hard Disk Drive)1611は、ハードディスク(フラッシュ・メモリ等であってもよい)を内蔵し、ハードディスクを駆動し、CPU1601によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、画像処理対象の画像、画像処理の結果等が格納される。さらに、その他の各種データ、各種コンピュータ・プログラム等が格納される。
ドライブ1612は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1613に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1607、外部バス1606、ブリッジ1605、及びホストバス1604を介して接続されているRAM1603に供給する。なお、リムーバブル記録媒体1613も、データ記録領域として利用可能である。
接続ポート1614は、例えば、画像処理制御用モジュール150の機能を実現する組込システム用プロセッサ155又は画像処理用ソフトウェアモジュール135の機能を実現する画像処理用プロセッサ130等である外部接続機器1615を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1614は、インタフェース1607、及び外部バス1606、ブリッジ1605、ホストバス1604等を介してCPU1601等に接続されている。通信部1616は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部1617は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1618は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
なお、図16に示す画像処理装置200のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図16に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、図16に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
100…画像処理モジュール
105…制御用モジュール
110…制御用プロセッサ
115…アプリケーションモジュール
120…通信モジュール
125…記憶モジュール
130…画像処理用プロセッサ
135…画像処理用ソフトウェアモジュール
150…画像処理制御用モジュール
155…組込システム用プロセッサ
160…画像処理用デバイスドライバ
165…通信モジュール
200…画像処理装置
210…印刷/スキャン/ファックスモジュール
220…ユーザーインタフェースモジュール
300…画像処理モジュール
305…制御用モジュール
310…制御用プロセッサ
315…アプリケーションモジュール
320…通信モジュール
350…画像処理制御用モジュール
355…組込システム用プロセッサ
357…ASIC
360…画像処理用デバイスドライバ
365…通信モジュール
500…画像処理モジュール
505…制御用モジュール
510…制御用プロセッサ
515…アプリケーションモジュール
520…通信モジュール
565…通信モジュール
530…画像処理用プロセッサ
535…画像処理用ソフトウェアモジュール
550…画像処理制御用モジュール
555…組込システム用プロセッサ
560…画像処理用デバイスドライバ

Claims (8)

  1. 制御用の第1のプロセッサと、
    画像処理用の第2のプロセッサと、
    前記第1のプロセッサと前記第2のプロセッサ間の通信を行う通信手段
    を有し、
    前記通信手段は、前記第1のプロセッサから前記第2のプロセッサへの送信を行う場合に、今回送信する一部の内容が前回送信した一部の内容と同じならば、該一部の内容の送信を行わない、
    情報処理装置。
  2. 前記通信手段は、送信する内容である複数の引数で構成される集合毎に比較して、前記一部の内容が同じであるか否かを判断する、
    請求項1に記載の情報処理装置。
  3. 前記集合に対して、タグ付けが行われており、
    前記通信手段は、前記タグを比較する、
    請求項2に記載の情報処理装置。
  4. 第3のプロセッサと、
    前記第1のプロセッサと前記第3のプロセッサ間の通信を行う第2の通信手段
    をさらに有し、
    前記第2の通信手段は、前記第1のプロセッサからの画像処理の指示を前記第3のプロセッサへ送信し、該第3のプロセッサから前記第2のプロセッサへ送信するための指示として、該第2のプロセッサを用いて前記画像処理を行わせることの指示を受信する、
    請求項1に記載の情報処理装置。
  5. 前記第3のプロセッサは、前記第1のプロセッサから前記画像処理の指示を受信した場合に、複数の引数で構成される集合毎にタグ付けを行い、該タグ付けの結果を前記第2のプロセッサへ送信する指示に含める、
    請求項4に記載の情報処理装置。
  6. 前記通信手段は、前記タグを比較して、前記一部の内容が同じであるか否かを判断する、
    請求項5に記載の情報処理装置。
  7. 前記第3のプロセッサは、画像処理用のASICの代替として、前記第2のプロセッサを用いる、
    請求項4に記載の情報処理装置。
  8. 制御用の第1のプロセッサと、
    画像処理用の第2のプロセッサを有するコンピュータを、
    前記第1のプロセッサと前記第2のプロセッサ間の通信を行う通信手段
    として機能させ、
    前記通信手段は、前記第1のプロセッサから前記第2のプロセッサへの送信を行う場合に、今回送信する一部の内容が前回送信した一部の内容と同じならば、該一部の内容の送信を行わない、
    情報処理プログラム。
JP2018079510A 2018-04-18 2018-04-18 情報処理装置及び情報処理プログラム Pending JP2019185697A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018079510A JP2019185697A (ja) 2018-04-18 2018-04-18 情報処理装置及び情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018079510A JP2019185697A (ja) 2018-04-18 2018-04-18 情報処理装置及び情報処理プログラム

Publications (1)

Publication Number Publication Date
JP2019185697A true JP2019185697A (ja) 2019-10-24

Family

ID=68341507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018079510A Pending JP2019185697A (ja) 2018-04-18 2018-04-18 情報処理装置及び情報処理プログラム

Country Status (1)

Country Link
JP (1) JP2019185697A (ja)

Similar Documents

Publication Publication Date Title
JP6708050B2 (ja) 情報処理装置及び情報処理プログラム
US9219794B2 (en) Information processing apparatus and non-transitory computer readable medium storing information processing program
JP6641831B2 (ja) 画像処理装置、画像処理プログラム及び画像処理システム
JP2009031959A (ja) 文書分類装置及び文書分類プログラム
US20090066640A1 (en) Device and method for providing a user interface
JP2019185697A (ja) 情報処理装置及び情報処理プログラム
JP2014078203A (ja) 画像処理装置及び画像処理プログラム
JP5853978B2 (ja) 情報処理装置及び情報処理プログラム
US9300631B2 (en) Information processing system, information processing apparatus, apparatus, and non-transitory computer readable medium storing information processing program
US11399112B2 (en) Information processing apparatus, non-transitory computer readable medium storing information processing program, and information processing system
JP7351126B2 (ja) 情報処理システム、サーバ装置及び情報処理方法
JP6582663B2 (ja) 画像処理装置及び画像処理プログラム
US20200236235A1 (en) Information processing system, information processing apparatus, and method
JP2020047111A (ja) 情報処理装置及び情報処理プログラム
JP5970862B2 (ja) 情報処理装置、画像形成装置、画像形成システム、情報処理プログラム及び画像形成プログラム
JP2011059864A (ja) 画像処理装置及び画像処理プログラム
US11410441B2 (en) Information processing apparatus and non-transitory computer readable medium
JP7388176B2 (ja) 情報処理装置及び情報処理プログラム
US11729340B2 (en) Information processing server, method, and recording medium
US11144255B2 (en) Information processing apparatus, non-transitory computer readable medium storing information processing program, and information processing method
US11206336B2 (en) Information processing apparatus, method, and non-transitory computer readable medium
US11307729B2 (en) Information processing system, information processing apparatus, and method of processing information
JP5842437B2 (ja) 情報処理装置及び情報処理プログラム
US10983734B2 (en) Image processing system with independently changeable modules for generating an image to be printed and for receiving print settings
US20240155063A1 (en) Information processing apparatus, information processing method, and medium