Nothing Special   »   [go: up one dir, main page]

JP3778190B2 - Image processing device - Google Patents

Image processing device Download PDF

Info

Publication number
JP3778190B2
JP3778190B2 JP2003309295A JP2003309295A JP3778190B2 JP 3778190 B2 JP3778190 B2 JP 3778190B2 JP 2003309295 A JP2003309295 A JP 2003309295A JP 2003309295 A JP2003309295 A JP 2003309295A JP 3778190 B2 JP3778190 B2 JP 3778190B2
Authority
JP
Japan
Prior art keywords
application
data
image processing
api
scan
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.)
Expired - Fee Related
Application number
JP2003309295A
Other languages
Japanese (ja)
Other versions
JP2005080019A (en
Inventor
浩一 柴田
正和 村上
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.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies 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 Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2003309295A priority Critical patent/JP3778190B2/en
Priority to US10/772,436 priority patent/US8937731B2/en
Publication of JP2005080019A publication Critical patent/JP2005080019A/en
Application granted granted Critical
Publication of JP3778190B2 publication Critical patent/JP3778190B2/en
Priority to US14/582,572 priority patent/US9232087B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Facsimiles In General (AREA)

Description

本発明は、画像処理装置に関する。   The present invention relates to an image processing apparatus.

従来、会社のオフィス等では、セットされた原稿の画像を読み取るスキャンジョブ、原稿の画像を読み取って得られた画像データに基づいて用紙に印刷するコピージョブ、外部端末からの印刷指示に基づいて用紙に印刷するプリントジョブ、外部のファクシミリ装置との通信により画像を送受信するFAXジョブなどの複数の機能を有する、いわゆるデジタル複合機(MFP:Multiple Function Peripheral。以下、「MFP」という。)が普及している。   Conventionally, in a company office or the like, a scan job for reading an image of a set original, a copy job for printing on a paper based on image data obtained by reading the image of the original, a paper based on a print instruction from an external terminal A so-called digital multifunction peripheral (MFP) having a plurality of functions such as a print job to be printed on a printer and a FAX job for transmitting and receiving an image by communication with an external facsimile apparatus has become widespread. ing.

このようなMFPを用いれば、ユーザにとっては、コピー機、プリンタ等の装置を個別に配置する必要がなく、1台で複数の機能を実行できるため、低コストであり使い勝手も良くなる。
一方で、MFPの開発者にとっては、スキャン機能等の各種機能に対応する複数のソフトウエア(アプリケーション。以下、「アプリ」という。)を開発する必要があるが、これらを個別に設ける構成としたのでは開発に多大な時間がかかってしまう。そのため、例えば特許文献1には、各アプリの共通部分を括り出したものと汎用OS(オペレーティング・システム)とでプラットフォームを形成し、アプリ開発時には当該プラットフォーム以外の部分を作成するだけの構成とすることで、効率良く開発を行えるようにした技術が開示されている。
特開2002−84383号公報
If such an MFP is used, it is not necessary for a user to separately arrange apparatuses such as a copier and a printer, and a plurality of functions can be executed by one unit, so that the cost is low and the usability is improved.
On the other hand, for MFP developers, it is necessary to develop a plurality of software (applications, hereinafter referred to as “applications”) corresponding to various functions such as a scan function. So development takes a lot of time. For this reason, for example, Patent Document 1 has a configuration in which a common part of each application is bundled with a general-purpose OS (operating system) to form a platform, and a part other than the platform is created at the time of application development. Thus, a technology that enables efficient development is disclosed.
JP 2002-84383 A

上記公報記載の構成とすれば、開発段階においては効率が良くなるものの、ユーザへの納品後に、ユーザから、現存のアプリには備えられていない機能を実行したい旨の要求(いわゆるカスタマイズの要求)を受けた場合には容易に対応できない。例えば、スキャン機能について、現在のスキャンアプリにより提供されている機能以外の読取モードで読取動作を行いたいような場合には、現存のアプリをそのユーザのためだけに全面的に変更する必要があり、大変な作業を強いられ、実際には困難である。すなわち、機能拡張性に極めて乏しい構成になっている。   If the configuration described in the above publication is used, efficiency is improved in the development stage, but after delivery to the user, a request from the user to execute a function not provided in the existing application (so-called customization request) It is not possible to easily deal with it. For example, if you want to perform a scanning operation in a scanning mode other than the function provided by the current scanning application, you need to change the existing application entirely for the user, It is hard work and it is actually difficult. That is, the configuration is extremely poor in function expandability.

本発明は、上述のような問題点に鑑みてなされたものであって、機能を容易に拡張でき、その場合に現存のアプリの変更をほとんど必要としない構成の画像処理装置を提供することを目的とする。   The present invention has been made in view of the above-described problems, and provides an image processing apparatus that can easily be extended in function, and in that case, requires almost no change to existing applications. Objective.

上記目的を達成するため、本発明に係る画像処理装置は、画像形成部、読み取り部、表示部の少なくとも一つを有するハードウェア資源と、前記ハードウェア資源の上位に位置するアプリケーションと、前記ハードウェア資源と前記アプリケーションの間に位置する第1の制御プログラムと、前記アプリケーションの上位に位置する第2の制御プログラムと、からなるアーキテクチャを有し、前記第1の制御プログラムは、予め定義された関数により前記アプリケーションおよび前記第2の制御プログラムからの画像処理に関する処理要求を受け付ける第1のAPI(アプリケーション・プログラム・インターフェース)を有し、受け付けた処理要求に基づく処理を前記ハードウェア資源に実行させ、前記第2の制御プログラムは、予め外部に公開された関数により前記外部から画像処理に関する処理要求を受け付ける第2のAPIを有し、受け付けた処理要求を前記第1のAPIに対応するコマンドに変換し、当該処理要求の内容に応じて前記アプリケーションまたは前記第1の制御プログラムのいずれかに渡すことを特徴とする。   In order to achieve the above object, an image processing apparatus according to the present invention includes a hardware resource having at least one of an image forming unit, a reading unit, and a display unit, an application positioned above the hardware resource, and the hardware Hardware architecture and a first control program located between the application and a second control program located above the application, the first control program being defined in advance It has a first API (application program interface) that accepts a processing request related to image processing from the application and the second control program by a function, and causes the hardware resource to execute processing based on the accepted processing request The second control program is pre-existing It has a second API for accepting a processing request related to image processing from the outside by means of a published function, converts the accepted processing request into a command corresponding to the first API, and changes the command according to the content of the processing request. It is passed to either the application or the first control program.

また、前記外部からの画像処理に関する処理要求は、XMLで表されたものであり、前記第2の制御プログラムは、前記外部からの画像処理に関する処理要求をXML形式のデータで受け付けることを特徴とする。
さらに、前記第2の制御プログラムは、受け付けたXML形式のデータから前記処理要求を示す情報を抽出する第1の変換部と、抽出された情報を前記第1のAPIに対応するコマンドに変換する第2の変換部と、を備えることを特徴とする。
The processing request regarding image processing from the outside is expressed in XML, and the second control program receives the processing request regarding image processing from the outside as data in XML format. To do.
Further, the second control program converts a first conversion unit that extracts information indicating the processing request from the received XML format data, and converts the extracted information into a command corresponding to the first API. And a second conversion unit.

本発明に係る画像処理装置は、第2の制御プログラムを有しているので、例えば当該装置がユーザに納品された後であっても、現存のアプリケーションに変更を加えることなく、当該アプリケーションでは実行できなかった新たな機能を第2の制御プログラムを利用して外部から実行させることが可能になり、機能拡張性が向上し、ユーザにとって使い勝手が大変良くなる。   Since the image processing apparatus according to the present invention has the second control program, for example, even after the apparatus is delivered to the user, the application is executed without changing the existing application. A new function that could not be performed can be executed from the outside using the second control program, the function expandability is improved, and the usability for the user is greatly improved.

そして、外部からの画像処理に関する処理要求がアプリケーションに対するものである場合には、当該処理要求が第2の制御プログラムから当該アプリケーションに直接渡されるので、例えば全てのデータが第1の制御プログラムを介して渡される構成に比べて、第1の制御プログラムの構成を簡素化できると共に処理負担を減らすことが可能になる。
また、外部からの画像処理に関する処理要求がXML形式のデータで受け付けられる構成になっている。
If the processing request related to image processing from the outside is directed to the application, the processing request is directly passed from the second control program to the application. For example, all the data passes through the first control program. Compared to the configuration delivered, the configuration of the first control program can be simplified and the processing load can be reduced.
In addition, processing requests regarding image processing from the outside are configured to be accepted as XML format data.

これにより、外部ユーザは、画像処理装置に実行させたいジョブの画像処理に関する処理要求をXMLを用いて記述することができ大変扱い易い。
さらに、画像処理装置が第1の変換部を備える構成になっている。
これにより、外部と画像処理装置との間の通信プロトコルとして、例えば周知のSOAP等を用いることができ、外部ユーザによって簡易かつ扱い易い。
Thus, an external user can describe a processing request related to image processing of a job desired to be executed by the image processing apparatus using XML, which is very easy to handle.
Furthermore, the image processing apparatus includes a first conversion unit.
Thus, for example, a well-known SOAP can be used as a communication protocol between the outside and the image processing apparatus, and it is easy and easy to handle by an external user.

以下、本発明に係る画像処理装置としてのMFPの実施の形態について図面を参照しながら説明する。
(1)MFPの構成
図1は、MFP1のシステム構成を示す図である。
同図に示すように、MFP1は、最下位層に位置するデバイス(ハードウエア資源)10と、デバイス10を直接制御する制御層20と、制御層20の上位に位置するアプリケーション層30と、アプリケーション層30の上に位置(実質的には、制御層20とアプリケーション層30の間に位置)する外部API部40が階層構造的に体系化されたアーキテクチュアからなり、上記スキャンジョブ、コピージョブ、プリントジョブ、FAXジョブなどの画像処理ジョブを実行する複数の機能を有するデジタル複合機である。また、外部機器、ここではPC(パーソナルコンピュータ)50とLAN等のネットワーク(不図示)を介して接続されており、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)を用いて互いに各種データのやりとりが可能になっている。
Embodiments of an MFP as an image processing apparatus according to the present invention will be described below with reference to the drawings.
(1) Configuration of MFP FIG. 1 is a diagram illustrating a system configuration of the MFP 1.
As shown in the figure, the MFP 1 includes a device (hardware resource) 10 positioned at the lowest layer, a control layer 20 that directly controls the device 10, an application layer 30 positioned above the control layer 20, and an application. The external API unit 40 located on the layer 30 (substantially between the control layer 20 and the application layer 30) is composed of an architecture organized in a hierarchical structure, and the scan job, copy job, print This is a digital multi-function peripheral having a plurality of functions for executing image processing jobs such as jobs and FAX jobs. Further, it is connected to an external device, here a PC (personal computer) 50, via a network (not shown) such as a LAN, and exchanges various data with each other using, for example, TCP / IP (Transmission Control Protocol / Internet Protocol). Is possible.

デバイス10には、画像形成部としてのプリンタ11と、読み取り部としてのスキャナ12と、操作パネル13およびI/O14が含まれている。
ここで、プリンタ11は、周知の電子写真方式により画像データに基づいて画像を用紙に印刷(プリント)するものである。スキャナ12は、セットされた原稿の画像をCCD(Charge Coupled Device)等の光電変換素子により読み取って画像データを得る公知の装置である。操作パネル13は、入力キーや表示部としてのディスプレイ等を備え、操作者からのキー入力を受け付けると共に各種メッセージ等をディスプレイに表示させるものである。また、I/O14は、CPU、RAM、ROM、ハードディスク、外部機器とのインターフェース装置(例えば、NIC:Network Interface Card)等を含むものである。
The device 10 includes a printer 11 as an image forming unit, a scanner 12 as a reading unit, an operation panel 13 and an I / O 14.
Here, the printer 11 prints an image on paper based on image data by a known electrophotographic method. The scanner 12 is a known device that obtains image data by reading an image of a set original with a photoelectric conversion element such as a CCD (Charge Coupled Device). The operation panel 13 includes an input key, a display as a display unit, and the like. The operation panel 13 receives key inputs from the operator and displays various messages on the display. The I / O 14 includes a CPU, a RAM, a ROM, a hard disk, an interface device (for example, NIC: Network Interface Card) with an external device, and the like.

制御層20は、カーネル21と、各デバイスの動作を制御するためのモジュール(IJC:Image Job Controller)22と、外部機器との通信制御を実行するためのインターフェースモジュール(IO:Input-Output )23と、IO API、IJC API(以下、これらをまとめて「IO/IJC API」という。)24とを備えており、OS(Operating System)として機能する。   The control layer 20 includes a kernel 21, a module (IJC: Image Job Controller) 22 for controlling the operation of each device, and an interface module (IO: Input-Output) 23 for executing communication control with an external device. And an IO API, IJC API (hereinafter collectively referred to as “IO / IJC API”) 24, and functions as an OS (Operating System).

ここで、IO/IJC API24は、アプリケーション層30の各アプリケーション31〜35にIJC22とIO23の機能(すなわち、制御層20の機能)を提供するためのAPI(アプリケーション・プログラム・インターフェース)であり、各アプリがこの機能を利用する際に呼び出すための関数の集まりである。すなわち、予め定義されたこれら関数により各アプリからの画像処理に関する処理要求を受け付ける機能を有するものである。   Here, the IO / IJC API 24 is an API (application program interface) for providing the functions 31 to 35 of the application layer 30 with the functions of the IJC 22 and the IO 23 (that is, the function of the control layer 20). A collection of functions to be called when an application uses this function. That is, it has a function of accepting a processing request regarding image processing from each application by using these predefined functions.

また、IO/IJC API24は、PC50に外部API部40を介して制御層20の機能を提供するためのAPIとしても機能する。この場合は、PC50からの画像処理に関する処理要求を受け付けた外部API部40が、制御層20の機能を利用する際に呼び出す(コールする)ための関数として用いられる。
外部API部40は、API変換部41、外部API42およびXML変換部43を備え、PC50からの画像処理に関する処理要求を、制御層20で実行できる所定の形式に変換して必要に応じて制御層20または各アプリに渡すためのプログラムである。
The IO / IJC API 24 also functions as an API for providing the function of the control layer 20 to the PC 50 via the external API unit 40. In this case, the external API unit 40 that has received a processing request relating to image processing from the PC 50 is used as a function to call (call) when using the function of the control layer 20.
The external API unit 40 includes an API conversion unit 41, an external API 42, and an XML conversion unit 43. The external API unit 40 converts a processing request related to image processing from the PC 50 into a predetermined format that can be executed by the control layer 20, and controls the control layer as necessary. 20 or a program for passing to each application.

外部API42は、外部に制御層20の機能を提供するためのAPIであり、PC50が制御層20の機能を利用する際に呼び出すための、予め定義された関数の集まりである。
この外部API42は、予め一般の外部ユーザ(例えば、ソフトウエア開発者等)に公開されるようになっており、外部ユーザは、この公開されたAPIに基づいて制御層20の機能を利用するためのソフトウエアを開発することができる。
The external API 42 is an API for providing the function of the control layer 20 to the outside, and is a collection of predefined functions that the PC 50 calls when using the function of the control layer 20.
The external API 42 is disclosed in advance to a general external user (for example, a software developer), and the external user uses a function of the control layer 20 based on the published API. Software can be developed.

具体的には、外部ユーザは、公開されたAPIから、MFP1のデバイス制御のために、どのようなコマンドやパラメータ類(例えば、実行させるべきジョブの指定、ジョブ開始の指示等を示すコマンド、スキャンジョブの場合の読み取りサイズ、送信宛先等、コピージョブの場合のコピー枚数等のジョブ実行条件を示すパラメータ等)が用意されており、そのコマンド等をどのような構文で記述すれば良いのかを知ることができる。   More specifically, the external user can use the public API to control what kind of command and parameters (for example, a command indicating a job to be executed, a job start instruction, etc., scan) The job execution conditions such as the read size in the case of a job, the transmission destination, the number of copies in the case of a copy job, etc.) are prepared, and the syntax to describe the command etc. is known. be able to.

外部ユーザは、当該コマンド等を当該構文に基づいて記述したデータ(ここでは、XML(Extensible Markup Language)形式のデータ。図2参照)を画像処理に関する処理要求を含むデータとしてMFP1に送信させるためのソフトウエアを開発し、当該ソフトウエアを用いて上記XMLデータをMFP1に送信させるようにすることで、所望のデバイスに所望の動作をさせることができるものである。   The external user transmits data describing the command or the like based on the syntax (here, data in XML (Extensible Markup Language) format, see FIG. 2) to the MFP 1 as data including a processing request related to image processing. By developing software and transmitting the XML data to the MFP 1 using the software, it is possible to cause a desired device to perform a desired operation.

外部API42は、IO/IJC API24で定義されている関数群の中の、所定の複数のものを一つにまとめた形態、例えばデバイスのある動作が、IO/IJC API24で関数A、B、Cにより定義されている場合、関数A、B、Cをまとめた関数D(すなわち、関数Dは、関数A、B、Cを実行させるための関数ということになる。)で構成されている。   The external API 42 is a form in which a predetermined plurality of functions defined in the IO / IJC API 24 are combined into one, for example, an operation of a device is a function A, B, C in the IO / IJC API 24. Is defined by a function D in which the functions A, B, and C are combined (that is, the function D is a function for executing the functions A, B, and C).

このようにまとまったある動作を一の関数で表すことにより、外部ユーザは、例えばデバイスに当該ある動作を実行させたい場合、PC50から関数Dを呼び出すようにすれば、実質的に関数A、B、Cを呼び出したことになり、複数のコマンドを用いる必要がなくなって扱い易く、上記ソフトウエアも開発し易くなる。なお、一の動作を一の関数で表したものについては、その関数が用いられる。   By expressing a certain operation as a single function in this way, for example, when the external user wants the device to execute the certain operation, if the function D is called from the PC 50, the functions A, B , C is called, and it is not necessary to use a plurality of commands, so that it is easy to handle and the software is easily developed. It should be noted that the function is used for one operation represented by one function.

XML変換部43は、後述のように、PC50から送られて来るXMLデータから処理要求を示す情報としてのコマンド等を抽出する。
API変換部41は、XML変換部43で抽出されたコマンド等(PC50からの画像処理に関する処理要求)を、制御層20で実行できる所定のデータ形式に変換して、制御層20または当該アプリに渡す。なお、PC50と外部API部40間でのXMLデータの通信プロトコルとして、ここでは周知のSOAP(Simple Object Access Protocol)が用いられる。
As will be described later, the XML conversion unit 43 extracts a command or the like as information indicating a processing request from the XML data sent from the PC 50.
The API conversion unit 41 converts the command or the like extracted from the XML conversion unit 43 (processing request regarding image processing from the PC 50) into a predetermined data format that can be executed by the control layer 20, and sends it to the control layer 20 or the application. hand over. Here, a well-known SOAP (Simple Object Access Protocol) is used as a communication protocol for XML data between the PC 50 and the external API unit 40.

アプリケーション層30には、IO/IJC API24にアクセスして(予め定義された関数の内の任意のものを必要に応じて呼び出して(コールして))、実際にデバイスを動作させるための複数のアプリケーションが含まれている。
例えば、パネルアプリ31は、操作パネル13のディスプレイ表示を制御するためのアプリケーションである。具体的には、操作パネル13からのキー入力情報を制御層20を介して受け付けると、その入力情報に基づくメッセージ等を操作パネル13のディスプレイに表示させる。例えば、コピースタートキーが押されたことを示す情報を受け付けると、「コピー中です」というメッセージを表示させる。
The application layer 30 has access to the IO / IJC API 24 (calls (calls) any of the predefined functions as necessary) and operates a plurality of devices for actually operating the device. Application is included.
For example, the panel application 31 is an application for controlling the display display of the operation panel 13. Specifically, when key input information from the operation panel 13 is received via the control layer 20, a message or the like based on the input information is displayed on the display of the operation panel 13. For example, when information indicating that the copy start key has been pressed is received, a message “Copying” is displayed.

プリントアプリ32は、プリントジョブ実行時に起動されると、ここでは外部機器からのPDL(Page Description Language)形式のプリントデータをビットマップ形式の画像データに変換し、その画像データに基づくプリント処理をプリンタ11に実行させる。
スキャンアプリ33は、スキャンジョブ実行時に起動されると、スキャナ12に原稿画像を読み取らせ(スキャン動作を実行させて)、画像データを得る。
When the print application 32 is activated when a print job is executed, the print application 32 converts print data in PDL (Page Description Language) format from an external device into image data in bitmap format, and performs print processing based on the image data in the printer. 11 is executed.
When the scan application 33 is activated when a scan job is executed, the scanner application 12 causes the scanner 12 to read a document image (perform a scan operation) to obtain image data.

コピーアプリ34は、コピージョブ実行時に起動されると、スキャナ12に原稿画像を読み取らせ、得られた画像データに基づくプリント処理をプリンタ11に実行させる。
FAXアプリ35は、FAXジョブ実行時に起動されると、FAX送信時には、例えばスキャナ12に原稿画像を読み取らせ、得られた画像データをファクシミリ用のデータに変換して、指定された宛先に送信し、FAX受信時には、例えば外部から受信した画像データに基づくプリント処理をプリンタ11に実行させる。
When the copy application 34 is activated when a copy job is executed, the copy application 34 causes the scanner 12 to read an original image and causes the printer 11 to execute print processing based on the obtained image data.
When the FAX application 35 is activated when a FAX job is executed, for example, at the time of FAX transmission, for example, the scanner 12 reads a document image, converts the obtained image data into facsimile data, and transmits the data to a designated destination. At the time of FAX reception, for example, the printer 11 is caused to execute print processing based on image data received from the outside.

また、各アプリは、外部API部40とアクセスして、外部API部40からの画像処理に関する処理要求を受け付けると、その処理要求に基づく画像処理をデバイスに実行させる機能を有している。
一方、PC50は、図示していないが、PC本体、ディスプレイ、キーボード、ネットワークインターフェースおよびSDK(Software Development Kit)51等を備えている。このSDK51は、上記ソフトウエアを作成するためのものとして外部ユーザに利用されるものである。
Each application has a function of accessing the external API unit 40 and, when receiving a processing request regarding image processing from the external API unit 40, causing the device to execute image processing based on the processing request.
On the other hand, the PC 50 includes a PC main body, a display, a keyboard, a network interface, an SDK (Software Development Kit) 51, and the like (not shown). The SDK 51 is used by an external user for creating the software.

なお、ホストPC側とMFP側の境界位置に破線で示した「外部API(XML)」は、PC50により利用される外部APIがXMLで記述されたデータで扱われていることを示したものである。
上記のような外部API部40を備える構成により、MFP1の各アプリでは行えなかった機能であっても、外部から実行させることが可能になる。
The “external API (XML)” indicated by a broken line at the boundary position between the host PC side and the MFP side indicates that the external API used by the PC 50 is handled by data described in XML. is there.
With the configuration including the external API unit 40 as described above, even functions that cannot be performed by each application of the MFP 1 can be executed from the outside.

例えば、制御層20に、外部と電子メールの送受信を実行できる機能が備えられているが、スキャンアプリ33には、読み取った画像データを電子メールに添付して指定の宛先に送信するという、いわゆるScan to E-mail機能が備えられていない構成の場合に、外部API42してScan to E-mailによるスキャンジョブの実行に必要な内容を公開しておけば、外部ユーザは、当該スキャンジョブを実行させるために必要なコマンド等を含むXMLデータをMFP1に送る処理を行うソフトウエアを外部で作成でき、外部から当該スキャンジョブを実行させることが可能になる。   For example, the control layer 20 is provided with a function capable of executing transmission / reception of an e-mail with the outside, but the scanning application 33 attaches the read image data to an e-mail and transmits it to a designated destination. If the Scan to E-mail function is not provided, the external user can execute the scan job if the external API 42 discloses the contents necessary for executing the scan job by Scan to E-mail. Software for performing processing for sending XML data including commands necessary for the transmission to the MFP 1 can be created externally, and the scan job can be executed externally.

以下、図2、3を用いて当該スキャンジョブを実行する場合の具体例を説明する。
図2は、公開されたAPIに基づいて外部ユーザにより作成された、上記スキャンジョブを実行させるためのコマンド等を含むXMLデータが、PC50からMFP1の外部API部40を介してスキャンアプリ33および制御層20に渡されるまでに変換されて行く様子を例示した模式図である。
Hereinafter, a specific example of executing the scan job will be described with reference to FIGS.
FIG. 2 shows that XML data created by an external user based on the published API and including a command for executing the scan job is controlled from the PC 50 via the external API unit 40 of the MFP 1 and the control. 4 is a schematic view illustrating a state in which the image is converted before being passed to the layer 20. FIG.

ここでは、画像読み取り条件として原稿枚数「1枚」、原稿サイズ「A4」、原稿のセット方向「ポートレート(たて長)」、「カラー原稿」、読み取り解像度「600(dpi)」、「Jpeg高圧縮」、ファイル名「testfile」、読み取った画像データの電子メールによる送信宛先として「abc@minolta.co.jp」のジョブを実行させる場合の例を示している。なお、同図はXMLデータの構成を解り易いように説明に必要な部分だけを簡素化して示した例であって、実際には一のジョブを実行させるために必要となるコマンド等の数、種類はこれよりも多くなり、また通信データとしてはヘッダ等の各種情報が付加されることになる。   Here, as the image reading conditions, the number of originals “1”, the original size “A4”, the original setting direction “portrait (vertical length)”, “color original”, reading resolution “600 (dpi)”, “Jpeg” An example is shown in which a job of “abc@minolta.co.jp” is executed as a transmission destination by e-mail of the “high compression”, file name “testfile”, and read image data. The figure is an example in which only the portions necessary for the explanation are simplified so that the structure of the XML data can be easily understood. In practice, the number of commands and the like necessary for executing one job, There are more types than this, and various information such as a header is added as communication data.

同図のブロック1に示すように、PC50からは、上記スキャンジョブの原稿サイズ等の各項目の内容が所定のタグで挟まれた状態で記述されたXMLデータが出力される。ここでは、「message ID」タグに挟まれた「scan」がコマンドに相当し、「parameter」タグに挟まれた「destination」等が当該コマンドに対応するパラメータとなる。
このXMLデータは、MFP1のIO23を介して外部API部40のXML変換部43に送られ、ブロック2に示すデータに変換される。
As shown in block 1 of the figure, the PC 50 outputs XML data described with the contents of each item such as the document size of the scan job sandwiched between predetermined tags. Here, “scan” sandwiched between “message ID” tags corresponds to a command, and “destination” or the like sandwiched between “parameter” tags is a parameter corresponding to the command.
This XML data is sent to the XML conversion unit 43 of the external API unit 40 via the IO 23 of the MFP 1 and converted into data shown in the block 2.

具体的には、XML変換部43において、入力されたXMLデータからコマンド等に相当する部分と、それに対応するパラメータとが処理要求を示す情報として抽出される。この意味で、ブロック2に示すデータが、外部API42として公開された関数「scan」がPC50により呼び出された場合のデータ構成例となる。
ブロック2のデータは、API変換部41に送られ、制御層20で直接実行できる形態(すなわちIO/IJC API24に対応するコマンド)に変換される(ブロック3)。
Specifically, in the XML conversion unit 43, a portion corresponding to a command or the like and a corresponding parameter are extracted as information indicating a processing request from the input XML data. In this sense, the data shown in block 2 is a data configuration example when the function “scan” disclosed as the external API 42 is called by the PC 50.
The data in block 2 is sent to the API conversion unit 41 and converted into a form (that is, a command corresponding to the IO / IJC API 24) that can be directly executed by the control layer 20 (block 3).

ブロック3のデータの「do_scan」「scan_destination」は、制御層20で実際にスキャン動作を実行するための関数を示しており、その後の括弧内のパラメータは、その関数の引数になっている。ここで、変換されたコマンドは、制御層20に対応するものなので、各アプリ31〜35でも実行できるものである。
外部API部40は、ブロック3のデータをどのアプリまたは制御層20のモジュールに渡すのかをその内容に応じて決める(渡すべき先を選ぶ。)。具体的には、アプリで実行できるコマンドについては、直接(制御層20を介さないで)アプリに渡す。
“Do_scan” and “scan_destination” in the data of the block 3 indicate functions for actually executing the scanning operation in the control layer 20, and the parameters in parentheses after that are the arguments of the functions. Here, since the converted command corresponds to the control layer 20, it can also be executed by each of the applications 31 to 35.
The external API unit 40 determines to which application or module of the control layer 20 the data of the block 3 is to be transferred (selects a destination to be transferred). Specifically, a command that can be executed by the application is passed directly to the application (without passing through the control layer 20).

ここでは、当該データを、スキャン動作のための部分(ブロック4a)とE-mail送信のための部分(ブロック4b)に分け、ブロック4aのデータをスキャンアプリ33に、ブロック4bのデータをScan to E-mail送信を受け持つ制御層20に渡す。なお、どのコマンドをどのアプリに渡すかについては、予め決められている。
スキャンアプリ33は、ブロック4aのデータに基づく関数を呼び出してスキャン動作を実行させ、具体的には設定された読み取り条件(原稿A4サイズ等)に基づいてスキャナ11に原稿画像の読み取り動作を実行させる。
Here, the data is divided into a part for scanning operation (block 4a) and a part for sending e-mail (block 4b), the data of block 4a is sent to the scan application 33, and the data of block 4b is scanned to It is passed to the control layer 20 responsible for E-mail transmission. Note that which command is passed to which application is determined in advance.
The scan application 33 calls a function based on the data of the block 4a to execute a scan operation, and specifically causes the scanner 11 to execute an original image reading operation based on a set reading condition (original A4 size or the like). .

一方、制御層20は、ブロック4bのデータに基づく関数を呼び出してScan to E-mail送信を実行させ、具体的には読み取られた画像データを、設定された送信宛先(abc@minolta.co.jp)に送信させる。
図3は、上記スキャンジョブを実行する場合におけるPC50とMFP1間のデータフローを示す模式図である。ここで同図の矢印の内、細線は、IO/IJC API24がコールされることにより実行される動作を示し、太線は、外部API42がコールされることにより実行される動作を示したものであり、二重線は画像データを示している。このことは、図4、5についても同様である。
On the other hand, the control layer 20 calls a function based on the data in the block 4b to execute Scan to E-mail transmission. Specifically, the control layer 20 transmits the read image data to a set transmission destination (abc@minolta.co. jp).
FIG. 3 is a schematic diagram showing a data flow between the PC 50 and the MFP 1 when the scan job is executed. Here, of the arrows in the figure, the thin line indicates the operation executed when the IO / IJC API 24 is called, and the thick line indicates the operation executed when the external API 42 is called. The double line indicates image data. This also applies to FIGS.

外部API部40は、IO23を介し、PC50からスキャン開始のための外部APIコールを受けると(S1)、PC50とXMLデータ(原稿サイズ等の読み取り条件、送信宛先等を示すデータ)を送受信し(S2)、スキャンアプリ33へ接続確認を依頼する(S3)。スキャンアプリ33とIO23との間で接続確認がなされ(S4)、接続確認結果が通知されると(S5)、外部API部40は、制御層20からその通知を取得する(S6)。   When the external API unit 40 receives an external API call for starting scanning from the PC 50 via the IO 23 (S1), the external API unit 40 transmits and receives XML data (data indicating a reading condition such as a document size, a transmission destination, and the like) to and from the PC 50 ( S2) Requests connection confirmation to the scan application 33 (S3). When the connection confirmation is made between the scan application 33 and the IO 23 (S4) and the connection confirmation result is notified (S5), the external API unit 40 acquires the notification from the control layer 20 (S6).

外部API部40は、スキャン動作指示およびScan to E-mail送信の宛先を制御層20に通知し(S7)、その指示に対する結果、例えばスキャン開始の承諾等を受け付けると(S8)、その旨をPC50に通知する(S9)。そして、ジョブ開始可能状態であることを受け付けると(S10)、その旨をPC50に通知し(S11)、スキャンアプリ33に原稿サイズ等の読み取り条件を通知する(S12)。   The external API unit 40 notifies the control layer 20 of the scan operation instruction and the destination of the Scan to E-mail transmission (S7), and receives a result of the instruction, for example, permission to start scanning (S8). The PC 50 is notified (S9). When it is accepted that the job can be started (S10), the PC 50 is notified (S11), and the scanning application 33 is notified of the reading conditions such as the document size (S12).

スキャンアプリ33は、原稿サイズ等の読み取り条件に基づいてスキャン動作を開始させると共に、制御層20に対し、読み取られた画像データ取得のための要求を行い(S13)、制御層20(IJC22)から画像データを取得すると(S14)、所定の圧縮等の処理を施して、当該画像データを上記送信宛先にIO23を介してScan to E-mail送信させる(S15)。   The scan application 33 starts a scanning operation based on a reading condition such as a document size, and requests the control layer 20 to acquire the read image data (S13), from the control layer 20 (IJC22). When the image data is acquired (S14), processing such as predetermined compression is performed, and the image data is sent to the transmission destination via Scan to E-mail via the IO 23 (S15).

外部API部40は、ジョブの実行状態、例えば送信のためのファイル変換中、送信中等の情報を受け付け(S16)、その後ジョブ終了を受け付けると(S17)、その旨をPC50に通知し(S18)、処理を終了する。
このように、公開されたAPIに基づいてScan to E-mailによるスキャンジョブに必要なコマンド、パラメータをPC50から送信することで、スキャンアプリ33では実行できない機能を外部から実行させることが可能になる。また、スキャンアプリ33を起動させる構成にしているので、外部からアプリ起動のためのコマンドを送信すれば、スキャンアプリ33がスキャナ12を制御してスキャン動作を実行してくれる。したがって、外部ユーザにとってみれば、原稿画像の読み取り開始から、読み取られた画像データを設定された送信あて先に送信させるまでの一連の動作を所定のコマンド等を用いて指示する必要がなく、その意味でスキャンジョブを簡易に外部から実行させることが可能になる。
The external API unit 40 accepts information on the job execution status, for example, file conversion for transmission, transmission in progress, etc. (S16), and then accepts the end of the job (S17), and notifies the PC 50 to that effect (S18). The process is terminated.
As described above, by transmitting commands and parameters necessary for the scan job by Scan to E-mail from the PC 50 based on the published API, it becomes possible to execute functions that cannot be executed by the scan application 33 from the outside. . Since the scan application 33 is configured to be activated, the scan application 33 controls the scanner 12 to execute a scan operation when an application activation command is transmitted from the outside. Therefore, it is not necessary for an external user to instruct a series of operations from the start of reading a document image to transmitting the read image data to a set transmission destination using a predetermined command or the like. This makes it possible to easily execute a scan job from the outside.

さらに、アプリで実行できるコマンド等(図2のブロック4a)については外部API部40から直接スキャンアプリ33に渡される構成になっているので、例えば全てのデータを制御層20を介してやりとりする構成の場合に比べて、その分制御層20の処理の負担を減らすことが可能になる。
上記では、スキャンアプリ33を起動させた場合の例を説明したが、スキャンアプリ33を起動させないでスキャン動作を行うスキャンジョブに必要な内容を外部API42として公開しておけば、外部から当該スキャンジョブを実行させることも可能である。以下、図4を用いて当該スキャンジョブを実行させる場合の例を説明する。
Furthermore, since the command that can be executed by the application (block 4a in FIG. 2) is directly transferred from the external API unit 40 to the scan application 33, for example, all the data is exchanged via the control layer 20 Compared to the case, it is possible to reduce the processing load of the control layer 20 accordingly.
In the above, an example in which the scan application 33 is activated has been described. However, if contents necessary for a scan job that performs a scan operation without activating the scan application 33 are disclosed as the external API 42, the scan job is externally issued. Can also be executed. Hereinafter, an example in which the scan job is executed will be described with reference to FIG.

図4は、スキャンアプリ33を起動させないでスキャンジョブを実行させる場合のデータフローを示した模式図である。
外部API部40は、PC50からスキャン開始のための外部APIコールを受けると(スキャンアプリ33を起動させないでスキャン動作を実行させるための所定のコマンドを受け付けると)(S21)、PC50とXMLデータ(図2のブロック1に示す原稿サイズ、送信宛先等を含むデータ)を送受信する(S22)。なお、ここでは送信宛先をPC50としている。
FIG. 4 is a schematic diagram illustrating a data flow when a scan job is executed without starting the scan application 33.
When the external API unit 40 receives an external API call for starting a scan from the PC 50 (when a predetermined command for executing a scan operation without starting the scan application 33 is received) (S21), the PC 50 and XML data ( Data including the document size and the transmission destination shown in block 1 of FIG. 2 is transmitted / received (S22). Here, the transmission destination is PC50.

外部API部40は、制御層20に対しスキャン動作指示を行い(S23)、その指示に対する結果、例えばスキャン開始の承諾等を受け付けると(S24)、その旨をPC50に通知する(S25)。そして、制御層20からジョブ開始可能な状態になっていることを受け付けると(S26)、その旨をPC50に通知し(S27)、制御層20に原稿サイズ等の読み取り条件、送信宛先等を通知する(S28)。   The external API unit 40 issues a scanning operation instruction to the control layer 20 (S23), and when receiving a result of the instruction, for example, permission to start scanning (S24), notifies the PC 50 (S25). When the control layer 20 accepts that the job can be started (S26), it notifies the PC 50 (S27), and notifies the control layer 20 of the reading conditions such as the document size, the transmission destination, etc. (S28).

制御層20は、原稿サイズ等の読み取り条件に基づいてスキャン動作を開始させ、IJC22を介して画像データを外部API部40に送る(S29)。
外部API部40は、制御層20(IJC22)から画像データを取得すると、当該画像データをIO23を介して送信宛先としてのPC50に送信させる(S30)。
外部API部40は、送信が終わると、その旨をPC50に通知して(S31)、処理を終了する。
The control layer 20 starts the scanning operation based on the reading conditions such as the document size and sends the image data to the external API unit 40 via the IJC 22 (S29).
When the external API unit 40 acquires the image data from the control layer 20 (IJC 22), the external API unit 40 transmits the image data to the PC 50 as the transmission destination via the IO 23 (S30).
When the transmission is completed, the external API unit 40 notifies the PC 50 to that effect (S31) and ends the processing.

このように、スキャンジョブに必要なコマンド、パラメータをPC50から送信することで、スキャンアプリ33を起動させなくてもスキャンアプリ33では実行できない機能を外部から実行させることが可能になる。
次に図5を用いて、プリントアプリ32を起動させないで、外部からプリントジョブを実行させる場合の例を説明する。この場合も上記同様に、プリントアプリ32を起動させないでプリントジョブを実行させる場合における当該プリントジョブの実行に必要な内容が予め外部API42として公開されることになる。
As described above, by transmitting commands and parameters necessary for the scan job from the PC 50, functions that cannot be executed by the scan application 33 without starting the scan application 33 can be executed from the outside.
Next, an example in which a print job is executed from the outside without starting the print application 32 will be described with reference to FIG. In this case as well, the contents necessary for executing the print job when the print job is executed without starting the print application 32 are disclosed as the external API 42 in advance.

図5に示すように、外部API部40は、PC50からプリント開始のための外部APIコールを受けると(プリントアプリ32を起動させずにプリント動作を実行させるための所定のコマンドを受け付けると)(S41)、PC50から画像データを取得する(S42)。そして、PC50とXMLデータ(例えば、プリント条件として用紙サイズ、プリント枚数等を示すデータ)を送受信する(S43)。   As shown in FIG. 5, when the external API unit 40 receives an external API call for starting printing from the PC 50 (when receiving a predetermined command for executing a print operation without starting the print application 32) ( S41), image data is acquired from the PC 50 (S42). Then, XML data (for example, data indicating the paper size, the number of prints, etc. as print conditions) is transmitted / received to / from the PC 50 (S43).

外部API部40は、制御層20のIJC22に、プリント指示、必要な設定情報として用紙サイズ等のプリント条件を通知し(S44)、画像データを送信する(S45)。
制御層20は、プリンタ11を制御して、受信したプリント条件、画像データに基づくプリントを開始させる。また、ジョブの実行状態、例えばプリント中、終了等の情報を外部API部40に送る(S46)。
The external API unit 40 notifies the IJC 22 of the control layer 20 of a print instruction, print conditions such as paper size as necessary setting information (S44), and transmits image data (S45).
The control layer 20 controls the printer 11 to start printing based on the received printing conditions and image data. In addition, the job execution status, for example, information such as printing or termination is sent to the external API unit 40 (S46).

外部API部40は、制御層20からプリント中を示す情報を受け付け、その後プリント終了を示す情報を受け付けると(S47)、ジョブ終了である旨をPC50に通知して(S48)、処理を終了する。
このように、PC50から、プリンタ11にプリントを実行させるためのコマンド等を送信すれば、プリントアプリ32を起動させなくても、プリントアプリ32では扱えないデータ、例えばビットマップ形式のデータを画像データとして直接PC50からMFP1に送信させてプリントを実行させることが可能になり、PC50側で扱えるデータがプリントアプリ32により制限されず、その意味で機能拡張性が向上する。
When the external API unit 40 receives information indicating that printing is in progress from the control layer 20 and then receives information indicating the end of printing (S47), the external API unit 40 notifies the PC 50 that the job has ended (S48) and ends the processing. .
In this way, if a command or the like for causing the printer 11 to execute printing is transmitted from the PC 50, data that cannot be handled by the print application 32 without starting the print application 32, for example, data in a bitmap format, is converted into image data. Can be directly transmitted from the PC 50 to the MFP 1 to execute printing, and data that can be handled on the PC 50 side is not limited by the print application 32, and in this sense, the function expandability is improved.

なお、図2では、スキャンジョブの場合におけるデータ構成例を説明したが、他のプリントジョブ、コピージョブ等の場合も同様に、ジョブを実行させるためのコマンド、パラメータ等から構成されるXML形式のデータが、画像処理に関する処理要求を含むデータとして、PC50からMFP1に送られ、外部API部40において制御層20に対応するコマンドに変換されて各アプリ、制御層20に渡されることになる。   In FIG. 2, the data configuration example in the case of the scan job has been described. Similarly, in the case of other print jobs, copy jobs, and the like, the XML format that includes commands, parameters, and the like for executing the job The data is sent from the PC 50 to the MFP 1 as data including a processing request related to image processing, converted into a command corresponding to the control layer 20 by the external API unit 40, and passed to each application and the control layer 20.

以上説明したように、本実施の形態のMFP1は、外部からの、画像処理に関する処理要求を含むXMLデータを受け付けて、それを制御層20(第1の制御プログラム)のAPIに対応するコマンドに変換してアプリまたは制御層20に渡す機能を有する外部API部40(第2の制御プログラム)を備えているので、MFP1がユーザに納品された後であっても、現存のアプリに変更を加えることなく、これらアプリでは実行できなかった新たな機能、例えば上記のようにScan to E-mailによるスキャンジョブを実行させる機能、プリントアプリ32では扱えないデータを画像データとして送信してプリントジョブを実行させる機能等を実行させることが可能になり、機能拡張性が向上し、ユーザにとって使い勝手が大変良くなる。   As described above, the MFP 1 according to the present embodiment accepts XML data including a processing request related to image processing from the outside, and converts it into a command corresponding to the API of the control layer 20 (first control program). Since the external API unit 40 (second control program) having a function of converting and passing to the application or the control layer 20 is provided, the existing application is changed even after the MFP 1 is delivered to the user. In addition, new functions that could not be executed by these applications, such as the function to execute a scan job by Scan to E-mail as described above, data that cannot be handled by the print application 32 are transmitted as image data, and the print job is executed. The function to be executed can be executed, the function expandability is improved, and the usability for the user is greatly improved.

また、各アプリが制御層20と外部API部40の両方にアクセス可能であり、外部からの画像処理の処理要求がアプリに対するものである場合には、当該処理要求を外部API部40から直接当該アプリに渡す構成(制御層20を介さないでデータをやりとりする構成)にしている。したがって、制御層20に渡し制御層20から当該アプリに渡される構成に比べて、制御層20の処理の負担を減らすことができ、処理をより高速化できる。また、外部とアプリ間のデータを仲介する機能を制御層20に持たせる必要がないので、その分制御層20の構成を簡素化できる。   In addition, when each application can access both the control layer 20 and the external API unit 40, and the processing request for image processing from the outside is for the application, the processing request is directly transmitted from the external API unit 40 It is configured to pass to the application (configuration to exchange data without passing through the control layer 20). Therefore, compared to the configuration of passing to the control layer 20 and passing from the control layer 20 to the application, the processing load of the control layer 20 can be reduced and the processing can be further speeded up. In addition, since it is not necessary for the control layer 20 to have a function of mediating data between the outside and the application, the configuration of the control layer 20 can be simplified accordingly.

さらに、外部API部40が制御層20を介さずに各アプリと直接アクセス可能な構成になっていることから、外部API部40に、各アプリのジョブ管理等の管理機能を持たせれば、外部API部40が各アプリの状態を監視することも可能になり、制御層20にジョブ管理等を実行させる構成に比べ、制御層20の処理負担を減らすことが可能になる。   Further, since the external API unit 40 is configured to be directly accessible to each application without going through the control layer 20, if the external API unit 40 has a management function such as job management of each application, the external API unit 40 The unit 40 can also monitor the status of each application, and the processing load on the control layer 20 can be reduced compared to a configuration in which the control layer 20 executes job management and the like.

また、XMLを用いてコマンド等を記述できる構成にすることにより、外部のソフトウエア開発者にとって大変扱い易い。さらに、MFP1の開発者側にとっては、XMLを用いることにより、外部から処理要求として受け付けるべきデータの論理構造を独自に定義でき、設計の自由度が広がるという効果がある。
なお、本発明は、MFP等の画像処理装置に限られず、上記のような処理をコンピュータが実行するためのプログラムであるとしてもよい。また、本発明に係るプログラムは、例えば磁気テープ、フレキシブルディスク等の磁気ディスク、DVD、CD−ROM、CD−R、MO、PDなどの光記録媒体、Smart Media(登録商標)、COMPACTFLASH(登録商標)などのフラッシュメモリ系記録媒体等、コンピュータ読み取り可能な各種記録媒体に記録することが可能であり、当該記録媒体の形態で生産、譲渡等がなされる場合もあるし、プログラムの形態で、インターネットを含む有線、無線の各種ネットワーク、放送、電気通信回線、衛星通信等を介して伝送、供給される場合もある。
Further, by adopting a configuration in which commands and the like can be described using XML, it is very easy for an external software developer to handle. Further, for the developer of the MFP 1, by using XML, the logical structure of data to be accepted as a processing request from the outside can be uniquely defined, and the design freedom is increased.
The present invention is not limited to an image processing apparatus such as an MFP, and may be a program for causing a computer to execute the above-described processing. The program according to the present invention includes, for example, a magnetic disk such as a magnetic tape and a flexible disk, an optical recording medium such as a DVD, a CD-ROM, a CD-R, an MO, and a PD, Smart Media (registered trademark), COMPACTFLASH (registered trademark). ), Etc., can be recorded on various computer-readable recording media, and may be produced, transferred, etc. in the form of the recording medium, or in the form of a program on the Internet. May be transmitted and supplied via various wired and wireless networks, broadcasting, telecommunications lines, satellite communications, and the like.

(変形例)
以上、本発明を実施の形態に基づいて説明してきたが、本発明は、上述の実施の形態に限定されないのは勿論であり、以下のような変形例が考えられる。
(1)上記実施の形態では、画像処理に関する処理要求をXMLを用いて表す構成としたが、これに限られることはなく、例えばHTML(Hypertext Markup Language)等を用いることもできる。この場合、PC50からMFP1に送られる画像処理に関する処理要求を示すデータが、その言語で記述されたデータになるので、外部API部40は、そのデータを制御層20が理解できるデータに変換可能なように構成されることになる。
(Modification)
As described above, the present invention has been described based on the embodiment. However, the present invention is not limited to the above-described embodiment, and the following modifications may be considered.
(1) In the above embodiment, the processing request related to image processing is expressed using XML. However, the present invention is not limited to this. For example, HTML (Hypertext Markup Language) or the like can be used. In this case, the data indicating the processing request related to the image processing sent from the PC 50 to the MFP 1 is data described in the language, so that the external API unit 40 can convert the data into data that can be understood by the control layer 20. Will be configured as follows.

(2)上記実施の形態では、MFP1とPC50がネットワークを介して接続されるとしたが、上記処理要求等のデータを通信できるものであれば接続方法は限定されず、例えば直接接続される構成とすることもできる。
また、本発明をデジタル複写機に適用した例を説明したが、スキャナ、プリンタ、ファクシミリ装置等の画像処理ジョブを実行する画像処理装置一般に適用することができる。
(2) In the above embodiment, the MFP 1 and the PC 50 are connected via a network. However, the connection method is not limited as long as data such as the processing request can be communicated. It can also be.
Further, although an example in which the present invention is applied to a digital copying machine has been described, the present invention can be applied to general image processing apparatuses that execute image processing jobs, such as scanners, printers, and facsimile machines.

本発明にかかる画像処理装置は、自身が備えるアプリでは実行できない画像処理の機能を外部からの指示により実行することが可能であり、複写機、スキャナ、プリンタ等に利用できる。   The image processing apparatus according to the present invention can execute an image processing function that cannot be executed by an application included in the image processing apparatus according to an instruction from the outside, and can be used for a copying machine, a scanner, a printer, and the like.

MFP1のシステム構成を示す図である。1 is a diagram illustrating a system configuration of an MFP 1. FIG. Scan to E-mailによるスキャンジョブを実行させるためのコマンド等を含むXMLデータが、PC50からMFP1の外部API部40を介してスキャンアプリ33および制御層20に渡されるまでに変換されて行く様子を例示した模式図である。XML data including a command for executing a scan job by Scan to E-mail is converted from the PC 50 to the scan application 33 and the control layer 20 via the external API unit 40 of the MFP 1. It is the schematic diagram illustrated. 上記スキャンジョブの実行する場合におけるPC50とMFP1間のデータフローを示す模式図である。FIG. 6 is a schematic diagram illustrating a data flow between a PC and an MFP when executing the scan job. スキャンアプリ33を起動させないでスキャンジョブを実行させる場合のデータフローを示した模式図である。FIG. 5 is a schematic diagram illustrating a data flow when a scan job is executed without starting a scan application 33. MFP1が、PC50から送られてくる画像データに基づいてプリントを行うプリントジョブを実行する場合におけるデータフローを示した模式図である。FIG. 6 is a schematic diagram showing a data flow when MFP 1 executes a print job for printing based on image data sent from PC 50.

符号の説明Explanation of symbols

1 MFP
11 プリンタ
12 スキャナ
13 操作パネル
20 制御層
21 カーネル
22 IJC
23 IO
24 IO/IJC API
30 アプリケーション層
32 プリントアプリ
33 スキャンアプリ
40 外部API部
41 API変換部
42 外部API
43 XML変換部
50 PC
1 MFP
11 Printer 12 Scanner 13 Operation Panel 20 Control Layer 21 Kernel 22 IJC
23 IO
24 IO / IJC API
30 Application Layer 32 Print Application 33 Scan Application 40 External API Unit 41 API Conversion Unit 42 External API
43 XML converter 50 PC

Claims (3)

画像形成部、読み取り部、表示部の少なくとも一つを有するハードウェア資源と、
前記ハードウェア資源の上位に位置するアプリケーションと、
前記ハードウェア資源と前記アプリケーションの間に位置する第1の制御プログラムと、
前記アプリケーションの上位に位置する第2の制御プログラムと、からなるアーキテクチャを有し、
前記第1の制御プログラムは、
予め定義された関数により前記アプリケーションおよび前記第2の制御プログラムからの画像処理に関する処理要求を受け付ける第1のAPI(アプリケーション・プログラム・インターフェース)を有し、受け付けた処理要求に基づく処理を前記ハードウェア資源に実行させ、
前記第2の制御プログラムは、
予め外部に公開された関数により前記外部から画像処理に関する処理要求を受け付ける第2のAPIを有し、受け付けた処理要求を前記第1のAPIに対応するコマンドに変換し、当該処理要求の内容に応じて前記アプリケーションまたは前記第1の制御プログラムのいずれかに渡すことを特徴とする画像処理装置。
Hardware resources having at least one of an image forming unit, a reading unit, and a display unit;
An application located above the hardware resources ;
A first control program located between the hardware resource and the application;
A second control program positioned above the application , and an architecture comprising:
The first control program is:
A first API (application program interface) that receives a processing request related to image processing from the application and the second control program by a predefined function, and performs processing based on the received processing request in the hardware Let the resource execute,
The second control program is:
A second API that accepts a processing request related to image processing from the outside by a function that has been disclosed to the outside in advance is provided. The received processing request is converted into a command corresponding to the first API, and the content of the processing request In response, the image processing apparatus is passed to either the application or the first control program.
前記外部からの画像処理に関する処理要求は、XMLで表されたものであり、
前記第2の制御プログラムは、
前記外部からの画像処理に関する処理要求をXML形式のデータで受け付けることを特徴とする請求項1に記載の画像処理装置。
The processing request related to image processing from the outside is expressed in XML,
The second control program is:
The image processing apparatus according to claim 1, wherein a processing request relating to the external image processing is received as data in an XML format.
前記第2の制御プログラムは、
受け付けたXML形式のデータから前記処理要求を示す情報を抽出する第1の変換部と、
抽出された情報を前記第1のAPIに対応するコマンドに変換する第2の変換部と、
を備えることを特徴とする請求項2に記載の画像処理装置。
The second control program is:
A first conversion unit for extracting information indicating the processing request from the received XML format data;
A second conversion unit that converts the extracted information into a command corresponding to the first API;
The image processing apparatus according to claim 2, further comprising:
JP2003309295A 2003-09-01 2003-09-01 Image processing device Expired - Fee Related JP3778190B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003309295A JP3778190B2 (en) 2003-09-01 2003-09-01 Image processing device
US10/772,436 US8937731B2 (en) 2003-09-01 2004-02-06 Image processing apparatus for receiving a request relating to image processing from an external source and executing the received request
US14/582,572 US9232087B2 (en) 2003-09-01 2014-12-24 Image processing apparatus for receiving a request relating to image processing from an external source and executing the received request

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003309295A JP3778190B2 (en) 2003-09-01 2003-09-01 Image processing device

Publications (2)

Publication Number Publication Date
JP2005080019A JP2005080019A (en) 2005-03-24
JP3778190B2 true JP3778190B2 (en) 2006-05-24

Family

ID=34411499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003309295A Expired - Fee Related JP3778190B2 (en) 2003-09-01 2003-09-01 Image processing device

Country Status (1)

Country Link
JP (1) JP3778190B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007318562A (en) * 2006-05-26 2007-12-06 Kyocera Mita Corp Image forming apparatus
US8209621B2 (en) 2009-08-25 2012-06-26 Konica Minolta Business Technologies, Inc. Image processing system, image processing apparatus and information processing apparatus

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7957021B2 (en) 2005-05-20 2011-06-07 Ricoh Company, Ltd. Image handling apparatus, image processing system, image process controlling method, and image process controlling program product
JP5530101B2 (en) * 2005-12-05 2014-06-25 サーセン コーポレイション Document processing system and method
JP2007287066A (en) 2006-04-20 2007-11-01 Konica Minolta Business Technologies Inc Image processing apparatus, method for installing application in the same and application installation processing program
JP4657149B2 (en) 2006-05-26 2011-03-23 京セラミタ株式会社 User application development support device for image forming apparatus
JP5281249B2 (en) * 2007-03-23 2013-09-04 京セラドキュメントソリューションズ株式会社 Image forming apparatus, image forming method, and application program
JP2011055075A (en) * 2009-08-31 2011-03-17 Kyocera Mita Corp Image forming system and image forming apparatus
JP5776706B2 (en) 2013-02-18 2015-09-09 コニカミノルタ株式会社 Information processing terminal, information processing apparatus, information processing system, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007318562A (en) * 2006-05-26 2007-12-06 Kyocera Mita Corp Image forming apparatus
US8209621B2 (en) 2009-08-25 2012-06-26 Konica Minolta Business Technologies, Inc. Image processing system, image processing apparatus and information processing apparatus

Also Published As

Publication number Publication date
JP2005080019A (en) 2005-03-24

Similar Documents

Publication Publication Date Title
US9232087B2 (en) Image processing apparatus for receiving a request relating to image processing from an external source and executing the received request
JP6481724B2 (en) Image handling apparatus, image handling method and program
JP4759436B2 (en) Image handling apparatus, image processing system, image processing control method, and image processing control program
JP4070693B2 (en) Image forming apparatus and scan data processing method
JP6066006B2 (en) Image forming apparatus
JP3812556B2 (en) Image processing device
JP3778190B2 (en) Image processing device
JP4865590B2 (en) Composite image processing apparatus and control method of composite image processing apparatus
JP3812555B2 (en) Image processing device
JP3910993B2 (en) Image forming apparatus, image forming method, and image forming program
JP5315919B2 (en) Image forming apparatus, image forming control method, and image forming control program
JP4922836B2 (en) Image forming apparatus and application construction method
JP2007166230A (en) Network facsimile machine and network facsimile system
JP2008141769A (en) Image forming apparatus and printing data processing program
JP2004254209A (en) Image forming apparatus and printing data processing program
JP2018113539A (en) Image processing device, processing method therefor and program

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20050614

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20050809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051011

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060220

R150 Certificate of patent or registration of utility model

Ref document number: 3778190

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090310

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100310

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110310

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110310

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120310

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130310

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140310

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees