JP2007325251A - 画像形成装置及びアプリケーション実行方法 - Google Patents

画像形成装置及びアプリケーション実行方法 Download PDF

Info

Publication number
JP2007325251A
JP2007325251A JP2007098069A JP2007098069A JP2007325251A JP 2007325251 A JP2007325251 A JP 2007325251A JP 2007098069 A JP2007098069 A JP 2007098069A JP 2007098069 A JP2007098069 A JP 2007098069A JP 2007325251 A JP2007325251 A JP 2007325251A
Authority
JP
Japan
Prior art keywords
filter
input
data
output
forming apparatus
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.)
Granted
Application number
JP2007098069A
Other languages
English (en)
Other versions
JP4861883B2 (ja
Inventor
Hiroyuki Matsushima
弘幸 松島
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007098069A priority Critical patent/JP4861883B2/ja
Priority to CN200710102694.XA priority patent/CN101068300B/zh
Priority to US11/799,003 priority patent/US20070258098A1/en
Priority to EP07107299A priority patent/EP1855196A1/en
Publication of JP2007325251A publication Critical patent/JP2007325251A/ja
Application granted granted Critical
Publication of JP4861883B2 publication Critical patent/JP4861883B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Facsimiles In General (AREA)
  • Stored Programmes (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】機能のカスタマイズ又は拡張等を簡便化させることのできる画像形成装置及びアプリケーション実行方法の提供を目的とする。
【解決手段】画像処理の対象とするデータを入力する一つ以上の入力部と、該画像処理の結果を出力する一つ以上の出力部とを備えた画像形成装置であって、前記入力部に応じて当該入力部からのデータの入力処理を制御する第一のフィルタと、前記出力部に応じて当該出力部への出力を制御する第二のフィルタとを有し、前記第一のフィルタと前記第二のフィルタとの接続によりアプリケーションが構築されることにより上記課題を解決する。
【選択図】図1

Description

本発明は、画像形成装置及びアプリケーション実行方法に関し、特に画像処理の対象とするデータを入力する複数種類の入力部と、該画像処理の結果を出力する複数種類の出力部とを備えた画像形成装置及びアプリケーション実行方法に関する。
近年におけるプリンタ、コピー機、スキャナ、ファクシミリ、又はこれらの機能を一台の筐体で実現する複合機等の画像形成装置では、メモリ等の制限は厳しいものの、汎用的なコンピュータと同様にCPUを備え、各機能はアプリケーションの制御によって実現されるようになっている。
例えば、特許文献1に記載された画像形成装置では、各アプリケーションから共通的に利用される機能をプラットフォームとして備えており、当該プラットフォームのAPIを利用してアプリケーションを実装することができる。かかる画像形成装置によれば、共通的に利用される機能がプラットフォームとして備えられていることにより、アプリケーションごとに重複した機能の実装が回避され、アプリケーション全体の開発効率を向上させることができる。
特許第3679349号公報
しかしながら、一般的に、共通的に利用されるAPIを備えたプラットフォームについては、当該プラットフォームによって提供される機能又はインタフェースの粒度が適切に設計されていないと、アプリケーションの開発効率の向上が期待以上に図れない場合がある。
例えば、当該粒度が小さ過ぎると、単純なサービスを提供するアプリケーションであるにもかかわらず、多くのAPIの呼び出しが必要とされ、そのソースコードは複雑なものとなってしまう。
一方、当該粒度が大き過ぎると、或るインタフェースによって提供されている機能の一部について変更を加えたサービスを提供するアプリケーションを実装したい場合、当該プラットフォーム内を修正しなければならず、開発工数の増加を招いてしまいかねない。特に、プラットフォーム内における各モジュールの依存関係が強い場合は、プラットフォームに新規機能を追加するだけでなく、既存部分の修正も必要とされる場合があり、事態はより複雑となる。
また、既存のアプリケーションによって提供されているサービスの一部(例えば、画像の入力処理)を変更したアプリケーションを実装したい場合、当該一部以外の部分については既存のアプリケーションを呼び出すといったようなことは出来ない。したがって、改めてソースコードを記述して新たなアプリケーションを実装しなければならない。
本発明は、上記の点に鑑みてなされたものであって、機能のカスタマイズ又は拡張等を簡便化させることのできる画像形成装置及びアプリケーション実行方法の提供を目的とする。
そこで上記課題を解決するため、本発明は、画像処理の対象とするデータを入力する一つ以上の入力部と、該画像処理の結果を出力する一つ以上の出力部とを備えた画像形成装置であって、前記入力部に応じて当該入力部からのデータの入力処理を制御する第一のフィルタと、前記出力部に応じて当該出力部への出力を制御する第二のフィルタとを有し、前記第一のフィルタと前記第二のフィルタとの接続によりアプリケーションが構築されることを特徴とする。
また、本発明は、前記第一のフィルタは、前記入力部から入力されたデータを出力し、前記第二のフィルタは、当該第二のフィルタに入力されたデータを前記出力部に出力させ、前記第一のフィルタより出力されるデータは、当該第一のフィルタに接続された前記第二のフィルタに入力されることを特徴とする。
また、本発明は、前記画像処理の種類に応じて当該画像処理を実行する第三のフィルタを有し、前記第一のフィルタと、前記第三のフィルタと、前記第二のフィルタとの接続によりアプリケーションが構築されることを特徴とする。
また、本発明は、前記第三のフィルタは、当該第三のフィルタに入力されたデータに対し前記画像処理を実行することにより生成されるデータを出力し、前記第一のフィルタより出力されるデータは、当該第一のフィルタに接続された前記第三のフィルタに入力され、前記第三のフィルタより出力されるデータは、前記第二のフィルタに入力されることを特徴とする。
また、本発明は、それぞれの前記フィルタは、独立してインストール又はアンインストールが可能であることを特徴とする。
また、本発明は、前記フィルタ単位で、当該フィルタの実行条件を入力させるユーザインタフェースの表示機能を備えることを特徴とする。
また、本発明は、前記フィルタより出力されるデータを当該フィルタに接続された前記フィルタに入力させる伝達手段を有し、前記フィルタは、前記伝達手段を介して接続されることを特徴とする。前記アプリケーションの実行要求に応じ前記フィルタを選択するフィルタ選択手段と、選択されたそれぞれの前記フィルタを前記伝達手段を介して接続し、前記選択されたそれぞれのフィルタに対して実行要求を出力するフィルタ接続手段とを有し、前記フィルタによる処理の同期は、前記伝達手段によってとられることを特徴とする。
また、本発明は、前記フィルタは、当該フィルタの入力側に接続された前記伝達手段へのデータの入力を検出することにより、当該フィルタの処理を開始することを特徴とする。
また、本発明は、前記伝達手段は、データの伝達に用いる実体に応じて複数種類存在し、前記フィルタ接続手段は、接続される前記フィルタの組み合わせに応じて当該フィルタを接続する前記伝達手段の種類を選択することを特徴とする。
また、本発明は、接続される前記フィルタの組み合わせと前記伝達手段との対応関係が登録された対応関係管理手段を有し、前記フィルタ接続手段は、前記対応関係管理手段に登録された対応関係に基づいて、接続される前記組み合わせに応じた前記伝達手段の種類を選択することを特徴とする。
また、本発明は、操作パネルを備え、前記操作パネルに表示される前記フィルタの中から、利用する前記フィルタを選択させることを特徴とする。
また、本発明は、前記操作パネルにおいて、前記フィルタ単位で前記フィルタの実行条件の設定が可能であることを特徴とする。
また、本発明は、複数の前記フィルタの組み合わせが予め定義された機能実行手段を有し、前記機能実行手段は、当該機能実行手段の組み合わせに係るそれぞれの前記フィルタを実行させることを特徴とする。
また、上記課題を解決するため、本発明は、画像処理の対象とするデータを入力する一つ以上の入力部と、該画像処理の結果を出力する一つ以上の出力部とを備えた画像形成装置が実行するアプリケーション実行方法であって、前記入力部に応じて当該入力部からのデータの入力処理を制御する第一のフィルタを選択する第一の選択手順と、前記出力部に応じて当該出力部への出力を制御する第二のフィルタを選択する第二の選択手順とを有し、選択された前記第一のフィルタと前記第二のフィルタとの接続によって構築されるアプリケーションを実行することを特徴とする。
このような画像形成装置又はアプリケーション実行方法では、機能のカスタマイズ又は拡張等を簡便化させることができる。
本発明によれば、機能のカスタマイズ又は拡張等を簡便化させることのできる画像形成装置及びアプリケーション実行方法を提供することができる。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、第一の実施の形態における複合機のソフトウェア構成例を示す図である。ここで、複合機とは、プリンタ、コピー、スキャナ、又はFAX等の複数の機能を一台の筐体において実現する画像形成装置をいう。
図1に示されるように、複合機1におけるソフトウェアは、ユーザインタフェース層10、コントロール層20、アプリケーションロジック層30、デバイスサービス層40、及びデバイス制御層50等より構成される。なお、図中における各層の上下関係は、層間の呼び出し関係に基づいている。すなわち、基本的に図中において上にある層が下の層を呼び出す。
ユーザインタフェース層10は、機能(例えば、コピー、印刷、スキャン、FAX送信)の実行要求を受け付けるための機能が実装されている部分であり、例えば、通信サーバ部11及びローカルUI部12等が含まれる。通信サーバ部11は、例えば、非図示のクライアントPC(Personal Computer)等からネットワーク経由で要求を受け付ける。ローカルUI部12は、例えば、非図示のオペレーションパネルを介して入力される要求を受け付ける。ユーザインタフェース層10において受け付けられた要求は、コントロール層20に伝えられる。
コントロール層20は、要求された機能を実現するための処理を制御するための機能が実装されている部分である。具体的には、要求された機能に応じて、アプリケーションロジック層30における各フィルタを接続し、接続されたフィルタに基づいて機能の実行を制御する。なお、本実施の形態において「複合機1の機能」とは、複合機1がユーザに対して提供する一つのまとまった単位(要求が入力されて最終的な出力が得られるまで)のサービスと同義であり、ソフトウェア的には一つのまとまった単位のサービスを提供するアプリケーションと同義である。
アプリケーションロジック層30は、それぞれが複合機1において提供される機能の一部を実現する部品群が実装されている部分である。すなわち、アプリケーションロジック層30における部品を組み合わせることにより一つの機能が実現される。本実施の形態では、各部品を「フィルタ」と呼ぶ。これは、複合機1のソフトウェアアーキテクチャが「パイプ&フィルタ」と呼ばれる考え方に基づくことによる。
図2は、パイプ&フィルタの概念を説明するための図である。図2において、「F」はフィルタを示し、「P」はパイプを示す。図中に示されるように、各フィルタはパイプによって接続される。フィルタは、入力されたデータに対して変換を施し、その結果を出力する。パイプは、フィルタから出力されたデータを次のフィルタに伝達する。
すなわち、本実施の形態における複合機1では、各機能をドキュメント(データ)に対する「変換」の連続として捉える。複合機の各機能は、ドキュメントの入力、加工、及び出力によって構成されるものとして一般化することができる。そこで「入力」、「加工」、及び「出力」を「変換」として捉え、一つの「変換」を実現するソフトウェア部品がフィルタとして構成される。入力を実現するフィルタを特に「入力フィルタ」という。また、加工を実現するフィルタを特に「変換フィルタ」という。更に、出力を実現するフィルタを特に「出力フィルタ」という。なお、各フィルタは独立しており、フィルタ間における依存関係(呼び出し関係)は基本的に存在しない。したがって、フィルタ単位で追加(インストール)又は削除(アンインストール)が可能とされている。
図1において、アプリケーションロジック層30には、入力フィルタとして、読取フィルタ301、保管文書読出フィルタ302、メール受信フィルタ303、FAX受信フィルタ304、PC文書受信フィルタ305、レポートフィルタ306等が含まれている。
読取フィルタ301は、スキャナによる画像データの読み取りを制御し、読み取られた画像データを出力する。保管文書読出フィルタ302は、複合機1の記憶装置に保管されている文書データ(画像データ)を読み出し、読み出されたデータを出力する。メール受信フィルタ303は、電子メールの受信し、当該電子メールに含まれているデータを出力する。FAX受信フィルタ304は、FAX受信を制御し、受信されたデータを出力する。PC文書受信フィルタ305は、非図示のクライアントPCから印刷データを受信し、受信された印刷データを出力する。レポートフィルタ306は、複合機1の設定情報や履歴情報等を、例えば表形式に整形されたデータとして出力する。
また、変換フィルタとしては、文書加工フィルタ311及び文書変換フィルタ312等が含まれている。文書加工フィルタ311は、入力されたデータに所定の画像変換処理(集約、拡大、又は縮小等)を施し、出力する。文書変換フィルタ312は、レンダリング処理を実行する。すなわち、入力されたPostScriptデータをビットマップデータに変換して出力する。
また、出力フィルタとしては、印刷フィルタ321、保管文書登録フィルタ322、メール送信フィルタ323、FAX送信フィルタ324、PC文書送信フィルタ325、及びプレビューフィルタ326等が含まれている。
印刷フィルタ321は、入力されたデータをプロッタに出力(印刷)させる。保管文書登録フィルタ322は、入力されたデータを複合機1内のハードディスク内に保存する。メール送信フィルタ323は、入力されたデータを電子メールに添付して送信する。FAX送信フィルタ324は、入力されたデータをFAX送信する。PC文書送信フィルタ325は、入力されたデータをクライアントPCに送信する。プレビューフィルタ326は、入力されたデータを、複合機1のオペレーションパネルにプレビュー表示させる。
デバイスサービス層40は、アプリケーションロジック層30における各フィルタから共通に利用される下位機能が実装されている部分であり、例えば、画像パイプ41及びデータ管理部42等が含まれる。画像パイプ41は、上述したパイプの機能を実現する。すなわち、或るフィルタからの出力データを次のフィルタに伝達する。データ管理部42は、各種のデータベースを表現する。例えば、ユーザ情報が登録されたデータベースや、文書又は画像データ等が蓄積されるデータベース等が相当する。
デバイス制御層50は、デバイス(ハードウェア)を制御するドライバと呼ばれるプログラムモジュール群が実装されている部分であり、例えば、スキャナ制御部51、プロッタ制御部52、メモリ制御部53、Tel回線制御部54、及びネットワーク制御部55等が含まれる。各制御部は、当該制御部の名前に付けられているデバイスを制御する。
フィルタについて更に詳しく説明する。図3は、フィルタの構成要素を説明するための図である。図3に示されるように、各フィルタは、フィルタ設定用UI、フィルタロジック、フィルタ固有下位サービス、及び永続記憶領域情報等より構成される。このうち、フィルタ設定用UI、フィルタ固有下位サービス、及び永続記憶領域情報については、フィルタによって必ずしも構成要素に含まれない。
フィルタ設定用UIは、フィルタの実行条件等を設定させるための画面をオペレーションパネル等に表示させるプログラムである。例えば、読取フィルタ301であれば、解像度、濃度、画像種別等を設定させる画面が相当する。なお、オペレーションパネルの表示がHTMLデータや、スクリプトに基づいて行われ得ることに鑑みれば、フィルタ設定用UIはHTMLデータやスクリプトであってもよい。
フィルタロジックは、フィルタの機能を実現するためロジックが実装されたプログラムである。すなわち、フィルタの構成要素としてのフィルタ固有下位サービスや、デバイスサービス層40又はデバイス制御層50等を利用して、フィルタ設定用UIを介して設定された実行条件に応じてフィルタの機能を実現する。例えば、読取フィルタ301であれば、スキャナによる原稿の読み取り制御のためのロジックが相当する。
フィルタ固有下位サービスは、フィルタロジックを実現するために必要な下位機能(ライブラリ)である。すなわち、デバイスサービス層40又はデバイス制御層50相当する機能であるが、他のフィルタから使用されないものについては、フィルタの一部として実装されてもよく、当該一部がフィルタ固有下位サービスに相当する。例えば、読取フィルタ301であれば、スキャナを制御するための機能が相当するが、本実施の形態では、デバイス制御層50においてスキャナ制御部51として実装されている。したがって、読取フィルタ301において、フィルタ固有下位サービスの実装は必ずしも必要ではない。
永続記憶領域情報は、フィルタに対する設定情報(例えば、実行条件のデフォルト値)等、不揮発メモリに保存する必要があるデータのスキーマ定義が相当する。当該スキーマ定義は、フィルタのインストール時にデータ管理部42に登録される。
図4は、本実施の形態の複合機における各機能を実現するためのフィルタの組み合わせの例を示す図である。
例えば、コピー機能は、読取フィルタ301と印刷フィルタ321とを接続することにより実現される。読取フィルタ301によって原稿より読み取られた画像データを印刷フィルタ321によって印刷すればよいからである。なお、集約、拡大、又は縮小等の加工が要求された場合は、これらの加工を実現する文書加工フィルタ311が二つのフィルタの間に挿入される。
プリンタ機能(クライアントPCからの印刷機能)は、PC文書受信フィルタ305と文書変換フィルタ312と印刷フィルタ321とを接続することにより実現される。スキャンto email機能(スキャンした画像データを電子メールで転送する機能)は、読取フィルタ301とメール送信フィルタ323とを接続することによって実現される。FAX送信機能は、読取フィルタ301とFAX送信フィルタ324とを接続することによって実現される。FAX受信機能は、FAX受信フィルタ304と印刷フィルタ321とを接続することによって実現される。ドキュメントボックス蓄積機能(スキャンした画像データを複合機1内に保存する機能)は、読取フィルタ301と保管文書登録フィルタ322とを接続することによって実現される。ドキュメントボックス印刷機能(複合機1内に保存されている文書データを印刷する機能)は、保管文書読出フィルタ302と印刷フィルタ321とを接続することにより実現される。
図4において、例えば、読取フィルタ301については5つの機能において利用されている。このように、各フィルタは複数の機能から利用可能であり、それによって各機能を実現するための開発工数を削減することができる。例えば、コピー機能とスキャン機能(ドキュメントボックス蓄積)について、その実行条件を設定させるためのユーザインタフェースは類似しているものであった。しかし、各機能をアプリケーションによって実装する場合には、アプリケーションごとに個別にユーザインタフェースの実装も行われていた。しかし、本実施の形態では、コピー機能及びスキャン機能のいずれの場合も、読取フィルタ301のユーザインタフェースによって設定が行われ、ユーザインタフェースの共通化をも図ることができる。
更に、新たな機能を実現する場合について考える。まず、機能1として、複合機1では対応していないPDL(Page Description Language)(以下、「他PDL」という。)によってクライアントPCから送信される印刷データを印刷する機能を実現する場合について考える。この場合、図4におけるプリンタ機能を雛形とすることができる。但し、プリンタ機能では、PC文書受信フィルタ305により出力されるデータがPostScript形式であることが前提とされている。文書変換フィルタ312が入力データとして扱えるのはPostScript形式のデータだからである。しかし、機能1の場合、PC文書受信フィルタ305によって受信され、当該フィルタより出力されるのは他PDL形式のデータである。したがって、このまま文書変換フィルタ312に転送しても文書変換フィルタ312は適切に処理を実行することができない。そこで、他PDL形式からPostScript形式へのデータ変換を実行する変換フィルタ(以下「他PDL−PS変換フィルタ」という。)を新たに実装し、当該フィルタをPC文書受信フィルタ305と文書変換フィルタ312との間に挿入すれば、機能1を実現することができる。すなわち、機能1は、PC文書受信フィルタ305と他PDL−PS変換フィルタと文書変換フィルタ312と印刷フィルタ321とを接続することにより実現される。
次に、機能2として、Webサイトから情報を収集し、収集された情報を印刷する機能(以下「機能2」という。)を実現する場合について考える。この場合、Webサイトから情報を収集するフィルタが存在しない。したがって、少なくともWebサイトから情報を収集する入力フィルタ(以下「Web収集フィルタ」という。)を新たに実装する必要がある。また、機能2では最終的に印刷を実行させたいので、出力フィルタとしては印刷フィルタ321を用いるのが適切である。ここで問題となるのが、Web収集フィルタと印刷フィルタ321との間をどのように接続するかである。すなわち、印刷フィルタ321の入力データはレンダリングされたビットマップである必要があるところ、Web収集フィルタ内にレンダリング機能を実装するのは非常に工数がかかるので適切ではない。そこで、既にレンダリング機能を実現する文書変換フィルタ312を利用することが考えられる。ただし、文書変換フィルタ312の入力データは、PostScript形式である必要がある。そこで、Web収集フィルタを、収集した情報をPostScript形式によって出力するように実装すれば、文書変換フィルタ312との接続が可能となる。このようにWeb収集フィルタを実装することにより、機能2は、Web収集フィルタと文書変換フィルタ312と、文書変換フィルタ312と印刷フィルタ321との接続により実現される。
以下、本実施の形態における複合機1の処理手順について説明する。図5及び図6は、複合機が一つの機能を実現する際の処理手順を説明するためのフローチャートである。
まず、ユーザによって入力フィルタが選択され(S101)、選択された入力フィルタの実行条件が設定される(S102)。同様に、変換フィルタ又は出力フィルタについても選択が行われ(S103)、フィルタ間の接続が指定され(S104)、実行条件が設定される(S105)。
上記の操作は、ローカルUI部12の制御のもと、例えば、図7に示されるようなオペレーションパネルを介して行われる。
図7は、オペレーションパネルにおけるフィルタの選択例を示す図である。図7において、オペレーションパネル202は、タッチパネル511とスタートボタン512とを含む。タッチパネル511は、タッチ操作で入力を行うためのハードウェア(タッチ操作部)であると共に、画面表示で出力を得るためのハードウェア(画面表示部)である。スタートボタン512は、要求した機能の実行開始指示を行うためのハードウェアである。
図7のタッチパネル511には、要求入力画面が表示されている。要求入力画面は、入力フィルタ選択領域513、変換フィルタ選択領域514、出力フィルタ選択領域515、及び要求表示領域516等より構成される。入力フィルタ選択領域513は、入力フィルタを選択させるための領域であり、入力フィルタごとにボタンが表示されている。入力フィルタ選択領域513でいずれかのボタンが選択されると、選択されたボタンに対応する入力フィルタのボタンが要求表示領域516に表示される。図中では、便宜上、読取フィルタ301及び保管文書読出フィルタ513のボタンが表示されている。
変換フィルタ選択領域514は、変換フィルタを選択させるための領域であり、変換フィルタごとにボタンが表示されている。変換フィルタ選択領域514でいずれかのボタンが選択されると、選択されたボタンに対応する変換フィルタのボタンが要求表示領域516に表示される。
出力フィルタ選択領域515は、出力フィルタを選択させるための領域であり、出力フィルタごとにボタンが表示されている。出力フィルタ選択領域515でいずれかのボタンが選択されると、選択されたボタンに対応する出力フィルタのボタンが要求表示領域516に表示される。図中では、便宜上、印刷フィルタ321、保管文書登録フィルタ322、メール送信フィルタ323、及びFAX送信フィルタ324のボタンが表示されている。
なお、インストールされているフィルタ(入力フィルタ、変換フィルタ、出力フィルタ)の一覧情報は、記憶装置に記録されており、例えば、コントロール層20によって管理されている。したがって、ローカルUI部12は、コントロール層20に問い合わせることにより、入力フィルタ選択領域513、変換フィルタ選択領域514、出力フィルタ選択領域515を表示させるためのフィルタの一覧情報を取得する。
要求表示領域516には、入力フィルタ選択領域513、変換フィルタ選択領域514又は出力フィルタ選択領域515において選択されたフィルタのボタンが表示され、入力フィルタ、変換フィルタ、又は出力フィルタとの間は、データの流れ又はパイプを示す矢印で接続される。矢印を操作することにより、実行するフィルタの順番を変更することも可能である。要求表示領域516における表示内容によって、ユーザは、利用するフィルタとその流れを認識することができる。要求表示領域516には、更に、設定ボタン517及び削除ボタン518が配置されている。設定ボタン517は、要求表示領域516においてフィルタのボタンが選択されている場合に、当該フィルタの設定画面を表示させるためのボタンである。すなわち、設定ボタン517が押下(タッチ)されると、選択されているフィルタのフィルタ設定UIに基づいて、その設定画面がタッチパネル511に表示される。削除ボタン518は、要求表示領域516においてフィルタのボタンが選択されている場合に、当該フィルタの利用を解除するためのボタンである。
なお、入力フィルタ、変換フィルタ、及び出力フィルタは、一つの機能に対してそれぞれ複数個の選択が可能である。例えば、スキャンされた画像と、複合機1内に保存されている画像を合成して、印刷すると共にFAX送信するといったような場合、少なくとも二つの入力フィルタ(読取フィルタ301及び保管文書読出フィルタ302)と二つの出力フィルタ(印刷フィルタ321及びFAX送信フィルタ324)とが選択される。
フィルタの選択が完了し(S106でYES)、スタートボタン512が押下されると、ユーザインタフェース層10からコントロール層20に対して、要求内容が通知される。
図8は、ユーザインタフェース層からコントロール層へ通知される要求内容を概念的に示す図である。図8に示されるように、ユーザインタフェース層10からの要求は、ユーザインタフェース層10において選択されたフィルタごとに、フィルタの種別と当該フィルタに対する設定情報とを含むものであり、更にフィルタの実行順も含も含んでいる(図中において各ブロックを結ぶ矢印が、フィルタの実行順を示す)。
図8に示されるような要求内容を受けて、コントロール層20は、選択された各フィルタ間をパイプによって接続する(S107)。パイプの実体はメモリ(HDD(Hard Disk Drive)も含む)であるが、パイプの両端のフィルタに応じて利用するメモリの種類が異なり、その対応関係は、例えば、複合機1のHDD内に予め定義されている。
図9は、フィルタとパイプの対応テーブルの例を示す図である。図9の対応テーブル60によれば、例えば、読取フィルタ301と印刷フィルタ321や、文書変換フィルタ312と印刷フィルタ321は、DMA(Direct Memory Access)パイプによって接続され、高速にデータが転送される。また、PC文書受信フィルタ305と文書変換フィルタ312とは、スプールパイプによって接続される。スプールパイプとは、HDDを用いるパイプであり、左側のフィルタから出力されたデータは、右側のフィルタが読み出すまでHDDにスプール(保存)される。それ以外のフィルタ間は、汎用メモリパイプによって接続される。汎用メモリパイプとは、有限サイズのRAMバッファによってデータ転送を行うパイプである。図9に示される対応テーブル60は、フィルタやパイプの拡張(追加)や削除等に応じて編集可能である。なお、図1における画像パイプ41は、上記の各種のパイプへのインタフェースを提供するモジュールを抽象的に表現したものである。
したがって、コントロール層20は、図9の対応テーブル60に基づいて、各フィルタ間を特定のパイプで接続する。
図10は、コントロール層によって生成される情報を概念的に示す図である。図10では、各フィルタ(「F」)間がパイプ(「P」)によって接続されている様子が示されている。
続いて、コントロール層20は、各フィルタに対して並列的に実行要求を出力する(S108)。すなわち、フィルタの呼び出しはフィルタの接続順ではなく、全てのフィルタに対してほぼ同時に行われる。フィルタ間の同期はパイプによってとられるからである。すなわち、コントロール層からの実行要求を受けて、各フィルタは自分の入力側のパイプにデータが入力されるまで待機する。但し、入力フィルタには、入力側にパイプは存在しない。したがって、入力フィルタは実行要求に応じて処理を開始する。
まず、入力フィルタは、入力デバイスよりデータを入力し(図6のS111)、当該データを、出力側に接続されているパイプに出力する(S112)。なお、データが複数回に分けて入力される場合(複数枚の原稿がスキャンされる場合等)は、データの入力とパイプへの出力が繰り返される。全ての入力データについて処理が終了すると(S113でYES)、入力フィルタの処理は終了する。
変換フィルタは、入力側に接続されているパイプに対するデータの入力を検知すると処理を開始する。まず、当該パイプからデータを読み込み(S121)、データに対して画像処理を施す(S122)。続いて、処理結果としてのデータを出力側に接続されているパイプに出力する(S123)。入力側のパイプに入力された全てのデータについて処理が終了すると(S124でYES)、変換フィルタの処理は終了する。
出力フィルタは、入力側に接続されているパイプに対するデータの入力を検知すると処理を開始する。まず、当該パイプからデータを読み込み(S131)。続いて、読み込まれたデータを出力デバイスを利用して出力する(S132)。入力側のパイプに入力された全てのデータについて処理が終了すると(S133でYES)、出力フィルタの処理は終了する。
パイプについて更に詳しく説明する。図11は、パイプを介したフィルタ間のデータの伝達手順を説明するための図である。図中において、フィルタA300a及びフィルタB300bは、それぞれフィルタを示す。DMAパイプ41aは、図9において説明した、画像パイプ41の一例としてのDMAパイプである。画像メモリ250は、複合機1に備えられた物理的な(ハードウェアとしての)画像メモリである。
フィルタA300aからフィルタB300bにデータ(画像データ)が伝達される場合、フィルタA300aは、DMAパイプ41aに対して画像データを格納するためのメモリ領域の確保を要求する(S51)。DMAパイプ41aは、当該メモリ領域を確保し、そのアドレスをフィルタA300aに返却する(S52)。フィルタA300aは、返却されたアドレス(画像メモリ250)に画像データを書き込み(S53)、画像データを書き込んだアドレスをDMAパイプ41aに通知する(S54)。
フィルタB300bは、DMAパイプ41aに対して画像データが書き込まれたアドレスが通知されるまで、当該アドレスの問い合わせを繰り返し(定期的に)行っている(S55)。但し、フィルタB300bは、当該アドレスが通知されるまで待機していてもよい。当該アドレスがDMAパイプ41aに通知されると、フィルタB300bは、当該アドレスを取得し、画像メモリ250に対する画像データの書き込みを検知する。そこで、フィルタB300bは、画像メモリ250の当該アドレスより画像データを読み出し(S56)、当該画像データに対してフィルタ300bに関する処理を実行する。処理が完了すると、フィルタB300bは、当該アドレスに係るメモリ領域の開放をDMAパイプ41aに要求する(S57)。DMAパイプ41aは、当該メモリ領域を開放する(S58)。
このように、フィルタ間のデータの伝達を画像メモリ(共有メモリ)を介して行うことにより、フィルタごとに画像データを格納するためのメモリ領域を確保する必要がなくなり、メモリ効率や処理性能の向上を図ることができる。また、フィルタ間に呼び出し関係が生じないため、フィルタの独立性を保つことができる。
次に、具体的な機能を例として、複合機1内における処理シーケンスを説明する。図12は、コピー機能を実現する際の処理手順を説明するための図である。
ステップS11において、ローカルUI部12は、図7に示したオペレーションパネルを介してユーザからコピー要求の入力(フィルタの選択)を受け付ける。
ところで、図7に示されるようにユーザに各フィルタを選択させるといったユーザインタフェースは、ユーザの要求に柔軟に対応できるという反面、コピーのように頻繁に利用する機能については、毎回フィルタの選択によって実行指示を行うのはユーザにとって煩雑である。そこで、例えば、頻繁に利用する機能については、「コピー」ボタンを表示させ、「コピー」ボタンが選択されると、内部的に利用するフィルタが選択されるようにしてもよい。
ユーザによって要求が入力されると、ローカルUI部12は、入力された要求(選択されたフィルタ)の実行をコントロール層20に要求する(S12)。コントロール層20は、選択されたフィルタ間をパイプによって接続する(S13)。
図13は、コピー機能に係るフィルタ間がパイプによって接続された様子を概念的に示す図である。図13において、読取フィルタ301と印刷フィルタ321とが画像パイプ41によって接続されている。ステップS13では、このような内容を示す情報が生成される。図9より、ここでの画像パイプ41は、DMAパイプが相当する。
続いて、コントロール層20は、利用する各フィルタ(読取フィルタ301及び印刷フィルタ321)に対して実行要求を並列的に出力する(S14)。
まず、入力フィルタである読取フィルタ301は、スキャナ制御部51に対して画像の読み取りを指示する(S15)。当該指示に応じてスキャナ制御部51の制御のもと、スキャナ(撮像部)によって原稿から画像データが読み取られ、読取フィルタ301に出力される。読取フィルタ301は、当該画像データを画像パイプ41に出力する(S16)。画像パイプ41の実体はメモリであるため、画像パイプ41は、メモリ制御部53を介して画像データをメモリに書き込む(S17)。なお、ここでは、DMA転送が行われる。
一方、印刷フィルタ321は、入力側に接続されている画像パイプ41への画像データの書き込みが検知されると処理を開始する。まず、印刷フィルタ321は、画像パイプ41に対し画像データの読み込みを要求する(S18)。画像パイプ41は、メモリ制御部53を介して画像データを読み込む(S19)。印刷フィルタ321は、当該画像データの印刷をプロッタ制御部52に指示する(S20)。当該指示に応じてメモリ制御部53からプロッタ制御部52に画像データがDMA転送され、プロッタ制御部52の制御のもと、プロッタ(印刷部)によって画像データが印刷される。
次に、プリンタ機能(クライアントPCからの印刷機能)について説明する。図14は、プリンタ機能を実現する際の処理手順を説明するための図である。
ステップS21において、クライアントPCからの印刷要求が受け付けられる。当該印刷要求は、まず、ネットワーク制御部55によって受信され、通信サーバ部11に通知される。通信サーバ部11は、プリンタ機能を実現するために必要なフィルタを選択し、選択されたフィルタの実行をコントロール層20に要求する(S22)。コントロール層20は、選択されたフィルタ間をパイプによって接続する(S23)。
図15は、プリンタ機能に係るフィルタ間がパイプによって接続された様子を概念的に示す図である。図15において、PC文書受信フィルタ305と文書変換フィルタ312とが画像パイプ41によって接続されている。また、文書変換フィルタ312と印刷フィルタ321とも画像パイプ41によって接続されている。図9より、PC文書受信フィルタ305と文書変換フィルタ312との間の画像パイプ41は、スプールパイプが相当する。また、文書変換フィルタ312と印刷フィルタ321との間の画像パイプ41は、DMAパイプが相当する。
続いて、コントロール層20は、利用する各フィルタ(PC文書受信フィルタ305、文書変換フィルタ312、及び印刷フィルタ321)に対して実行要求を並列的に出力する(S24)。
まず、入力フィルタであるPC文書受信フィルタ305は、ネットワーク制御部55に対して印刷データ(PDL)の受信を指示する(S25)。印刷データが受信されると、PC文書受信フィルタ305は、受信された印刷データを画像パイプ41に出力する(S26)、画像パイプ41は、メモリ制御部53を介して印刷データをメモリ(ここではHDD)に書き込む(S27)。
文書変換フィルタ312は、入力側に接続されている画像パイプ41への印刷データの書き込みが検知されると処理を開始する。まず、文書変換フィルタ312は、画像パイプ41に対し印刷データの読み込みを要求する(S28)。画像パイプ41は、メモリ制御部53を介してHDDより印刷データを読み込み(S29)、文書変換フィルタ312に出力する。文書変換フィルタ312は、当該印刷データを画像データ(ビットマップ)に変換し(S30)、当該画像データを画像パイプ41に出力する(S31)。続いて、画像パイプ41は、メモリ制御部53を介して画像データをメモリに書き込む(S32)。
印刷フィルタ321は、入力側に接続されている画像パイプ41への画像データの書き込みが検知されると処理を開始する。まず、印刷フィルタ321は、画像パイプ41に対し画像データの読み込みを要求する(S33)。画像パイプ41は、メモリ制御部53を介して画像データを読み込む(S34)。印刷フィルタ321は、当該画像データの印刷をプロッタ制御部52に指示する(S35)。当該指示に応じてメモリ制御部53からプロッタ制御部52に画像データがDMA転送され、プロッタ制御部52の制御のもと、プロッタ(印刷部)によって画像データが印刷される。
なお、他の機能についても同様のシーケンスによって実現される。
上述したように第一の形態における複合機1によれば、各フィルタを部品として各機能を構築するため、機能のカスタマイズ又は拡張を簡便に行うことができる。すなわち、各フィルタ間には、機能的な依存関係はなく独立性が保たれているため、フィルタの新たな追加やフィルタの組み合わせの変更によって、新たな機能(アプリケーション)を容易に開発することができる。したがって、新たなアプリケーションの実装が要求された場合、当該アプリケーションの一部の処理について実装されていない場合は、当該一部の処理を実現するフィルタのみを開発し、インストールすればよい。よって、コントロール層20及びアプリケーションロジック層30より下位の層について、新たなアプリケーションの実装に応じて発生する修正の頻度を低下させることができ、安定したプラットフォームを提供することができる。
また、フィルタ単位で実行条件の設定用のユーザインタフェースが実装されるため、或るフィルタを用いて実現されるアプリケーション間では、当該フィルタのユーザインタフェースを共通的に用いることができ、アプリケーションごとのユーザインタフェースの開発工数を削減することができる。
次に、第二の実施の形態について説明する。第二の実施の形態では、第一の実施の形態と異なる点について説明する。したがって、特に言及しない点については、第一の実施の形態と同様でよい。
図16は、第二の実施の形態における複合機のソフトウェア構成例を示す図である。図16中、図1と同一部分には同一符号を付し、その説明は省略する。
図16において、アプリケーションロジック層30は、コピーアクティビティ31a、プリンタアクティビティ31b、及びマルチ文書アクティビティ31c等のアクティビティ31を含む。第二の実施の形態において「アクティビティ」とは、予め固定的に定義されたフィルタの組み合わせによって、一つの「機能」(複合機1がユーザに対して提供する一つのまとまった単位のサービス又はアプリケーション)を実現するソフトウェアである。
すなわち、第一の実施の形態では、図7に示されるようなユーザインタフェースによって、ユーザに各フィルタを選択させる例を説明した。しかしながら、斯かるユーザインタフェースは、ユーザの要求に柔軟に対応できるという反面、コピーのように頻繁に利用する機能については、毎回フィルタの選択によって実行指示を行うのはユーザにとって煩雑である。
かかる課題を解決するのがアクティビティ31である。すなわち、フィルタの組み合わせをアクティビティ31として予め定義しておけば、ユーザが、アクティビティ31を単位として実行対象を選択すると、選択されたアクティビティ31は、当該アクティビティ31に定義された組み合わせに係る各フィルタを自動的に実行するからである。したがって、操作の煩雑さを解消することができるとともに、アプリケーション単位で実行対象を選択していた従来のユーザインタフェースと同様の操作感を提供することができる。
図16において、コピーアクティビティ31aは、読取フィルタ301と、文書加工フィルタ311と、印刷フィルタ321との組み合わせにより、コピー機能(コピーアプリケーション)を実現するアクティビティ31である。
プリンタアクティビティ31bは、PC文書受信フィルタ305と、文書変換フィルタ312と、印刷フィルタ321との組み合わせにより、印刷機能(プリンタアプリケーション)を実現するアクティビティ31である。
マルチ文書アクティビティ31cは、入力フィルタ、変換フィルタ、及び出力フィルタのそれぞれについて、自由な組み合わせが可能なアクティビティ31である。すなわち、第一の実施の形態においてコントロール層20等が行っていた処理を、アクティビティ31として切り出したものである。
なお、各アクティビティ31は独立しており、アクティビティ31間における依存関係(呼び出し関係)は基本的に存在しない。したがって、アクティビティ31単位で追加(インストール)又は削除(アンインストール)が可能である。よって、図16に示されているアクティビティ31以外にも、必要に応じて各種のフィルタの組み合わせによるアクティビティ31を作成し、インストールすることができる。
図17は、アクティビティの構成要素を説明するための図である。図17に示されるように、アクティビティ31は、アクティビティUI、アクティビティロジック、及び永続記憶領域情報等より構成される。
アクティビティUIは、アクティビティ31に関する画面(例えば、アクティビティ31の実行条件等を設定させるための設定画面)をオペレーションパネル等に表示させるための情報又はプログラムである。
アクティビティロジックは、アクティビティ31の処理内容が実装されたプログラムである。基本的に、アクティビティロジックには、フィルタの組み合わせに関するロジック(例えば、フィルタの実行順、複数のフィルタに跨る設定、フィルタの接続変更、エラー処理等)が実装されている。
永続記憶領域情報は、アクティビティ31に対する設定情報(例えば、実行条件のデフォルト値)等、不揮発メモリに保存する必要があるデータのスキーマ定義が相当する。当該スキーマ定義は、アクティビティ31のインストール時にデータ管理部42に登録される。
図18は、アクティビティを利用させるための操作画面例を示す図である。図18において、アクティビティ選択画面600は、実行対象とするアクティビティを選択させるためにオペレーションパネル202のタッチパネル511に表示される画面である。アクティビティ選択画面600には、複合機1にインストールされているアクティビティ31ごとにボタンが表示される。図中では、コピーアクティビティ31bに対応するコピーボタン610、プリンタアクティビティ31bに対応するプリンタボタン620、マルチ文書アクティビティ31cに対応するマルチ文書ボタン630が表示されている。
なお、インストールされているアクティビティ31の一覧情報は、記憶装置に記録されており、例えば、コントロール層20によって管理されている。したがって、ローカルUI部12は、コントロール層20に問い合わせることにより、アクティビティ31の一覧情報を取得し、当該一覧情報に基づいて、アクティビティ選択画面600の各ボタンを表示させる。
アクティビティ選択画面600において、コピーボタン610が選択(タッチ)されると、ローカルUI部12は、コピーアクティビティ31aのアクティビティUIを呼び出すことによりコピーアクティビティ31aの画面情報を取得し、当該画面情報に基づいてコピーアクティビティ画面611をタッチパネル511に表示させる。コピーアクティビティ画面611は、コピーアクティビティ31aの実行条件を設定させるための画面であり、図中では、コピーアクティビティ31aを構成する各フィルタの設定画面(読取フィルタ設定画面611a、文書加工フィルタ設定画面611b、及び印刷フィルタ設定画面611c)が表示された例が示されている。すなわち、各フィルタの実行条件を設定させることで、コピーアクティビティ31aの実行条件が設定されるからである。各フィルタの設定画面の画面情報は、コピーアクティビティ31aのアクティビティUIが、ローカルUI部12からの呼び出しに応じて各フィルタのフィルタ用設定UIを呼び出すことにより取得され、コピーアクティビティ31aの画面情報に含められる(マージされる)。なお、単に、各フィルタの設定画面を並べるだけでなく、各フィルタに対して一括して設定を行うためのUI(例えば、「両面→両面」ボタン、読み取りの設定(両面)ボタン、印刷の設定(両面)ボタン等)をコピーアクティビティ画面611に表示させるようにしてもよい。
プリンタボタン620が選択されると、ローカルUI部12は、プリンタアクティビティ31bのアクティビティUIを呼び出すことによりプリンタアクティビティ31bの画面情報を取得し、当該画面情報に基づいてプリンタアクティビティ画面621をタッチパネル511に表示させる。プリンタアクティビティ画面621は、プリンタアクティビティ31bの状態(印刷中等)を表示させる画面である。すなわち、後述されるように、プリンタアクティビティ31bは、印刷データの受信に応じて起動されるものであり(すなわち、オペレーションパネル202上における操作によって起動されるものではない。)、基本的に設定画面は不要だからである。
マルチ文書ボタン630が選択されると、ローカルUI部12は、マルチ文書アクティビティ31cのアクティビティUIを呼び出すことによりマルチ文書アクティビティ31cの画面情報を取得し、当該画面情報に基づいてマルチ文書アクティビティ画面631をタッチパネル511に表示させる。図中では、マルチ文書アクティビティ画面631として、図7において説明した操作画面と同じ画面が表示される例が示されている。
以下、本実施の形態において例示されている各アクティビティ31の処理手順について説明する。図19は、マルチ文書アクティビティの処理手順を説明するためのフローチャートである。なお、図19のフローチャートは、図5におけるものと同様である。但し、アクティビティとして実行される場合、実行主体が異なるステップが有るため、改めて説明する。
図18のアクティビティ選択画面600においてマルチ文書ボタン630が選択され、マルチ文書アクティビティ画面631がタッチパネル511に表示されると、図19の処理が開始される。
マルチ文書アクティビティ画面631において、ユーザによって入力フィルタが選択され(S201)、選択された入力フィルタの実行条件が設定される(S202)。同様に、変換フィルタ又は出力フィルタについても選択が行われ(S203)、フィルタ間の接続が指定され(S204)、実行条件が設定される(S205)。
以上の設定において、選択された入力フィルタ、変換フィルタ、出力フィルタの情報(すなわち、どのフィルタが選択されたのか、また、どのフィルタとどのフィルタとが接続しているのかを示す情報)は、マルチ文書アクティビティ31cのアクティビティロジックに保持される。また、各フィルタの実行条件は、各フィルタのフィルタロジックに保持される。すなわち、マルチ文書アクティビティ31cのアクティビティロジックに保持される情報と、各フィルタのフィルタロジックに保持される情報とによって、フィルタの実行順と各フィルタの設定情報とを含む情報(図8に示されるような情報)が階層的に保持される。
フィルタの選択及び実行条件の設定が完了し、スタートボタン512が押下されると(S206でYES)、マルチ文書アクティビティ31cのアクティビティロジックは、フィルタの実行順と各フィルタの設定情報とを含む情報をコントロール層20に出力する。
コントロール層20は、フィルタの実行順と各フィルタの設定情報とを含む情報を受けて、選択された各フィルタ間をパイプによって接続する(S207)。続いて、コントロール層20は、各フィルタに対して並列的に実行要求を出力する(S208)。以降は、図6において説明した通りである。
次に、図20は、コピーアクティビティの処理手順を説明するためのフローチャートである。図18のアクティビティ選択画面600においてコピーボタン610が選択され、コピーアクティビティ画面611がタッチパネル511に表示されると、図19の処理が開始される。
まず、コピーアクティビティ31aのアクティビティロジックによって、読取フィルタ301、文書加工フィルタ311、及び印刷フィルタ321が実行対象のフィルタとして選択され、各フィルタに対する実行条件の設定の準備がなされる(S301)。続いて、コピーアクティビティ画面611におけるユーザによる入力に応じて、各フィルタに対して実行条件が設定される(S302)。当該実行条件は、各フィルタのフィルタロジックにおいて保持される。なお、コピーアクティビティ31aに対する実行条件の設定がなされる場合は、当該実行条件は、コピーアクティビティ31aのアクティビティロジックにおいて保持される。
フィルタの実行条件の設定が完了し、スタートボタン512が押下されると(S303でYES)、コピーアクティビティ31aのアクティビティロジックは、読取フィルタ301、文書加工フィルタ311、及び印刷フィルタ321を構成要素とした、フィルタの実行順と各フィルタの設定情報とを含む情報(図8に示されるような情報)をコントロール層20に出力する。
コントロール層20は、フィルタの実行順と各フィルタの設定情報とを含む情報を受けて、各フィルタ間をパイプによって接続する(S304)。続いて、コントロール層20は、各フィルタに対して並列的に実行要求を出力する(S305)。以降は、図6において説明した通りである。
次に、図21は、プリンタアクティビティの処理手順を説明するためのフローチャートである。図21の処理は、クライアントPC等からの印刷データの受信に応じて通信サーバ部11がプリンタアクティビティ31cを起動することにより開始される。
まず、プリンタアクティビティ31bのアクティビティロジックによって、PC文書受信フィルタ305、文書変換フィルタ312、及び印刷フィルタ321が実行対象のフィルタとして選択され、各フィルタに対する実行条件の設定の準備がなされる(S401)。続いて、プリンタアクティビティ31bのアクティビティロジックは、通信サーバ部11より受け取った通信ポート情報をPC文書受信フィルタ305に設定する。また、プリンタアクティビティ31bのアクティビティロジックは、通信サーバ部11が印刷データのヘッダ部を解析することにより抽出した印刷の設定情報(用紙サイズ、両面印刷等)を受け取り、当該設定情報を印刷フィルタ321に設定する。なお、印刷データのヘッダ部の解析は、プリンタアクティビティ31b又はPC文書受信フィルタ305が行うようにしてもよい。
続いて、プリンタアクティビティ31bのアクティビティロジックは、PC文書受信フィルタ305、文書変換フィルタ312、及び印刷フィルタ321を構成要素とした、フィルタの実行順と各フィルタの設定情報とを含む情報(図8に示されるような情報)をコントロール層20に出力する。コントロール層20は、フィルタの実行順と各フィルタの設定情報とを含む情報を受けて、各フィルタ間をパイプによって接続する(S403)。続いて、コントロール層20は、各フィルタに対して並列的に実行要求を出力する(S404)。以降は、図6において説明した通りである。例えば、PC文書受信フィルタ305は、設定された通信ポート情報に係る通信ポートより印刷データを受信する。
上述したように、第二の実施の形態における複合機1によれば、フィルタの組み合わせによって構成される機能をアクティビティとして予め定義しておくことにより、より簡便な操作で、フィルタの組み合わせによる機能を利用することができる。
ところで、本実施の形態において、画像パイプ41は、伝達手段の一例に相当する。また、ユーザインタフェース層10は、フィルタ選択手段の一例に相当する。また、コントロール層20は、フィルタ接続手段の一例に相当する。また、対応テーブル60は、対応関係管理手段の一例に相当する。また、アクティビティ31は、機能実行手段の一例に相当する。
なお、以下に複合機1のハードウェア構成の一例を示す。図22は、本発明の実施の形態における複合機のハードウェア構成の一例を示す図である。
複合機1のハードウェアとしては、コントローラ201と、オペレーションパネル202と、ファクシミリコントロールユニット(FCU)203と、撮像部121と、印刷部122が存在する。
コントローラ201は、CPU211、ASIC212、NB221、SB222、MEM−P231、MEM−C232、HDD(ハードディスクドライブ)233、メモリカードスロット234、NIC(ネットワークインタフェースコントローラ)241、USBデバイス242、IEEE1394デバイス243、セントロニクスデバイス244により構成される。
CPU211は、種々の情報処理用のICである。ASIC212は、種々の画像処理用のICである。NB221は、コントローラ201のノースブリッジである。SB222は、コントローラ201のサウスブリッジである。MEM−P231は、複合機1のシステムメモリである。MEM−C232は、複合機1のローカルメモリである。HDD233は、複合機1のストレージである。メモリカードスロット234は、メモリカード235をセットするためのスロットである。NIC241は、MACアドレスによるネットワーク通信用のコントローラである。USBデバイス242は、USB規格の接続端子を提供するためのデバイスである。IEEE1394デバイス243は、IEEE1394規格の接続端子を提供するためのデバイスである。セントロニクスデバイス244は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル202は、オペレータが複合機1に入力を行うためのハードウェア(操作部)であると共に、オペレータが複合機1から出力を得るためのハードウェア(表示部)である。
なお、図1に示されるソフトウェアは、例えば、MEM−C232に格納され、CPU211によって処理されることによりその機能を複合機に実行させる。
以上、本発明の実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
第一の実施の形態における複合機のソフトウェア構成例を示す図である。 パイプ&フィルタの概念を説明するための図である。 フィルタの構成要素を説明するための図である。 本実施の形態の複合機における各機能を実現するためのフィルタの組み合わせの例を示す図である。 複合機が一つの機能を実現する際の処理手順を説明するためのフローチャートである。 複合機が一つの機能を実現する際の処理手順を説明するためのフローチャートである。 オペレーションパネルにおけるフィルタの選択例を示す図である。 ユーザインタフェース層からコントロール層へ通知される要求内容を概念的に示す図である。 フィルタとパイプの対応テーブルの例を示す図である。 コントロール層によって生成される情報を概念的に示す図である。 パイプを介したフィルタ間のデータの伝達手順を説明するための図である。 コピー機能を実現する際の処理手順を説明するための図である。 コピー機能に係るフィルタ間がパイプによって接続された様子を概念的に示す図である。 プリンタ機能を実現する際の処理手順を説明するための図である。 プリンタ機能に係るフィルタ間がパイプによって接続された様子を概念的に示す図である。 第二の実施の形態における複合機のソフトウェア構成例を示す図である。 アクティビティの構成要素を説明するための図である。 アクティビティを利用させるための操作画面例を示す図である。 マルチ文書アクティビティの処理手順を説明するためのフローチャートである。 コピーアクティビティの処理手順を説明するためのフローチャートである。 プリンタアクティビティの処理手順を説明するためのフローチャートである。 本発明の実施の形態における複合機のハードウェア構成の一例を示す図である。
符号の説明
1 複合機
10 ユーザインタフェース層(フィルタ選択手段の一例)
11 通信サーバ部
12 ローカルUI部
20 コントロール層(フィルタ接続手段の一例)
30 アプリケーションロジック層
31 アクティビティ(機能実行手段の一例)
31a コピーアクティビティ
31b プリンタアクティビティ
31c マルチ文書アクティビティ
40 デバイスサービス層
41 画像パイプ(伝達手段の一例)
42 データ管理部
50 デバイス制御層
51 スキャナ制御部
52 プロッタ制御部
53 メモリ制御部
54 Tel回線制御部
55 ネットワーク制御部
60 対応テーブル(対応関係管理手段の一例)
201 コントローラ
202 オペレーションパネル
203 ファクシミリコントロールユニット
211 CPU
212 ASIC
221 NB
222 SB
231 MEM−P
232 MEM−C
233 HDD
234 メモリカードスロット
235 メモリカード
241 NIC
242 USBデバイス
243 IEEE1394デバイス
244 セントロニクスデバイス
301 読取フィルタ
302 保管文書読出フィルタ
303 メール受信フィルタ
304 FAX受信フィルタ
305 PC文書受信フィルタ
306 レポートフィルタ
311 文書変換フィルタ
312 文書変換フィルタ
321 印刷フィルタ
322 保管文書登録フィルタ
323 メール送信フィルタ
324 FAX送信フィルタ
325 PC文書送信フィルタ
326 プレビューフィルタ

Claims (20)

  1. 画像処理の対象とするデータを入力する一つ以上の入力部と、該画像処理の結果を出力する一つ以上の出力部とを備えた画像形成装置であって、
    前記入力部に応じて当該入力部からのデータの入力処理を制御する第一のフィルタと、
    前記出力部に応じて当該出力部への出力を制御する第二のフィルタとを有し、
    前記第一のフィルタと前記第二のフィルタとの接続によりアプリケーションが構築されることを特徴とする画像形成装置。
  2. 前記第一のフィルタは、前記入力部から入力されたデータを出力し、
    前記第二のフィルタは、当該第二のフィルタに入力されたデータを前記出力部に出力させ、
    前記第一のフィルタより出力されるデータは、当該第一のフィルタに接続された前記第二のフィルタに入力されることを特徴とする請求項1記載の画像形成装置。
  3. 前記画像処理の種類に応じて当該画像処理を実行する第三のフィルタを有し、
    前記第一のフィルタと、前記第三のフィルタと、前記第二のフィルタとの接続によりアプリケーションが構築されることを特徴とする請求項1又は2記載の画像形成装置。
  4. 前記第三のフィルタは、当該第三のフィルタに入力されたデータに対し前記画像処理を実行することにより生成されるデータを出力し、
    前記第一のフィルタより出力されるデータは、当該第一のフィルタに接続された前記第三のフィルタに入力され、前記第三のフィルタより出力されるデータは、前記第二のフィルタに入力されることを特徴とする請求項3記載の画像形成装置。
  5. それぞれの前記フィルタは、独立してインストール又はアンインストールが可能であることを特徴とする請求項1乃至4いずれか一項記載の画像形成装置。
  6. 前記フィルタ単位で、当該フィルタの実行条件を入力させるユーザインタフェースの表示機能を備えることを特徴とする請求項1乃至5いずれか一項記載の画像形成装置。
  7. 前記フィルタより出力されるデータを当該フィルタに接続された前記フィルタに入力させる伝達手段を有し、
    前記フィルタは、前記伝達手段を介して接続されることを特徴とする請求項1乃至6いずれか一項記載の画像形成装置。
  8. 前記アプリケーションの実行要求に応じ前記フィルタを選択するフィルタ選択手段と、
    選択されたそれぞれの前記フィルタを前記伝達手段を介して接続し、前記選択されたそれぞれのフィルタに対して実行要求を出力するフィルタ接続手段とを有し、
    前記フィルタによる処理の同期は、前記伝達手段によってとられることを特徴とする請求項7記載の画像形成装置。
  9. 前記フィルタは、当該フィルタの入力側に接続された前記伝達手段へのデータの入力を検出することにより、当該フィルタの処理を開始することを特徴とする請求項8記載の画像形成装置。
  10. 前記伝達手段は、データの伝達に用いる実体に応じて複数種類存在し、
    前記フィルタ接続手段は、接続される前記フィルタの組み合わせに応じて当該フィルタを接続する前記伝達手段の種類を選択することを特徴とする請求項8又は9記載の画像形成装置。
  11. 接続される前記フィルタの組み合わせと前記伝達手段との対応関係が登録された対応関係管理手段を有し、
    前記フィルタ接続手段は、前記対応関係管理手段に登録された対応関係に基づいて、接続される前記組み合わせに応じた前記伝達手段の種類を選択することを特徴とする請求項10記載の画像形成装置。
  12. 操作パネルを備え、
    前記操作パネルに表示される前記フィルタの中から、利用する前記フィルタを選択させることを特徴とする請求項1乃至11いずれか一項記載の画像形成装置。
  13. 前記操作パネルにおいて、前記フィルタ単位で前記フィルタの実行条件の設定が可能であることを特徴とする請求項12記載の画像形成装置。
  14. 複数の前記フィルタの組み合わせが予め定義された機能実行手段を有し、
    前記機能実行手段は、当該機能実行手段の組み合わせに係るそれぞれの前記フィルタを実行させることを特徴とする請求項1乃至13いずれか一項記載の画像形成装置。
  15. 前記機能実行手段は、当該機能実行手段の組み合わせに係る前記フィルタより当該フィルタの実行条件を設定させるための設定画面の画面情報を取得し、前記画面情報に基づいて、当該機能実行手段の実行条件を設定させるための設定画面を当該画像形成装置の操作パネルに表示させることを特徴とする請求項14記載の画像形成装置。
  16. 画像処理の対象とするデータを入力する一つ以上の入力部と、該画像処理の結果を出力する一つ以上の出力部とを備えた画像形成装置が実行するアプリケーション実行方法であって、
    前記入力部に応じて当該入力部からのデータの入力処理を制御する第一のフィルタを選択する第一の選択手順と、
    前記出力部に応じて当該出力部への出力を制御する第二のフィルタを選択する第二の選択手順とを有し、
    選択された前記第一のフィルタと前記第二のフィルタとの接続によって構築されるアプリケーションを実行することを特徴とするアプリケーション実行方法。
  17. 前記第一のフィルタは、前記入力部から入力されたデータを出力し、
    前記第二のフィルタは、当該第二のフィルタに入力されたデータを前記出力部に出力させ、
    前記第一のフィルタより出力されるデータは、当該第一のフィルタに接続された前記第二のフィルタに入力されることを特徴とする請求項16記載のアプリケーション実行方法。
  18. 前記画像処理の種類に応じて当該画像処理を実行する第三のフィルタを選択する第三の選択手順を有し、
    選択された前記第一のフィルタと、前記第三のフィルタと、前記第二のフィルタとの接続によって構築されるアプリケーションを実行することを特徴とする請求項16又は17記載のアプリケーション実行方法。
  19. 前記第三のフィルタは、当該第三のフィルタに入力されたデータに対し前記画像処理を実行することにより生成されるデータを出力し、
    前記第一のフィルタより出力されるデータは、当該第一のフィルタに接続された前記第三のフィルタに入力され、前記第三のフィルタより出力されるデータは、前記第二のフィルタに入力されることを特徴とする請求項18記載のアプリケーション実行方法。
  20. 前記画像形成装置は、複数の前記フィルタの組み合わせが予め定義された機能実行手段を有し、
    前記機能実行手段が当該機能実行手段の組み合わせに係るそれぞれの前記フィルタを実行させる手順を有することを特徴とする請求項16乃至19いずれか一項記載のアプリケーション実行方法。
JP2007098069A 2006-05-02 2007-04-04 画像形成装置及びアプリケーション実行方法 Expired - Fee Related JP4861883B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007098069A JP4861883B2 (ja) 2006-05-02 2007-04-04 画像形成装置及びアプリケーション実行方法
CN200710102694.XA CN101068300B (zh) 2006-05-02 2007-04-29 图像形成装置及应用程序执行方法
US11/799,003 US20070258098A1 (en) 2006-05-02 2007-04-30 Image forming device and application execution method
EP07107299A EP1855196A1 (en) 2006-05-02 2007-05-02 Image forming device and application execution method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006128553 2006-05-02
JP2006128553 2006-05-02
JP2007098069A JP4861883B2 (ja) 2006-05-02 2007-04-04 画像形成装置及びアプリケーション実行方法

Publications (2)

Publication Number Publication Date
JP2007325251A true JP2007325251A (ja) 2007-12-13
JP4861883B2 JP4861883B2 (ja) 2012-01-25

Family

ID=38330261

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007098069A Expired - Fee Related JP4861883B2 (ja) 2006-05-02 2007-04-04 画像形成装置及びアプリケーション実行方法

Country Status (4)

Country Link
US (1) US20070258098A1 (ja)
EP (1) EP1855196A1 (ja)
JP (1) JP4861883B2 (ja)
CN (1) CN101068300B (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008153949A (ja) * 2006-12-18 2008-07-03 Ricoh Co Ltd 画像処理装置及び画像処理方法
JP2009163711A (ja) * 2007-12-14 2009-07-23 Ricoh Co Ltd 情報処理装置、情報処理装置の制御方法、プログラム及び記録媒体
JP2009294773A (ja) * 2008-06-03 2009-12-17 Ricoh Co Ltd 情報処理装置、情報処理方法、情報処理プログラム、記録媒体
JP2010068343A (ja) * 2008-09-11 2010-03-25 Ricoh Co Ltd 画像処理装置、画像処理方法、画像処理プログラム
US8120818B2 (en) 2007-10-31 2012-02-21 Ricoh Company, Ltd. Image processing apparatus and computer-readable storage medium that add marking type information to predetermined image
US8180181B2 (en) 2007-10-31 2012-05-15 Ricoh Company, Ltd. Image processing apparatus, image processing method, and image processing program
US8438567B2 (en) 2007-11-07 2013-05-07 Ricoh Company, Ltd. Information processing device and image processing apparatus
US8462370B2 (en) 2007-10-30 2013-06-11 Ricoh Company, Ltd. Image processing apparatus and application executing method
US8743392B2 (en) 2008-09-16 2014-06-03 Ricoh Company, Ltd. Apparatus, method, and computer program product for forming images
US9128407B2 (en) 2008-09-17 2015-09-08 Ricoh Company, Ltd. Image forming device and computer-readable storage medium

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8218165B2 (en) * 2007-03-26 2012-07-10 Ricoh Company, Ltd. Interruption management method for an image forming apparatus
US20080291485A1 (en) * 2007-05-25 2008-11-27 Kabushiki Kaisha Toshiba Driver apparatus, setting information management method, setting information management program
JP4787791B2 (ja) 2007-06-13 2011-10-05 株式会社リコー 画像処理装置、画像処理方法、画像処理プログラム
JP2009100267A (ja) * 2007-10-17 2009-05-07 Ricoh Co Ltd 画像処理装置、画像処理方法、画像処理プログラム
JP5145871B2 (ja) * 2007-10-30 2013-02-20 株式会社リコー 画像処理装置およびアプリケーション実行方法
JP5169150B2 (ja) * 2007-10-31 2013-03-27 株式会社リコー 情報処理装置及び情報処理方法
US20090119482A1 (en) * 2007-11-02 2009-05-07 Ricoh Company, Ltd. Image forming device, image formation controlling method, and image formation controlling program
US8107121B2 (en) * 2007-11-02 2012-01-31 Ricoh Company, Ltd. Image processing device, image processing method, and recording method for managing log of output image data
US8553927B2 (en) * 2007-11-02 2013-10-08 Ricoh Company, Ltd. Image processing device and method for determining image data processes based on additional information
JP2010074434A (ja) * 2008-09-17 2010-04-02 Ricoh Co Ltd 画像形成装置及びプログラム
JP2011102842A (ja) * 2009-11-10 2011-05-26 Sanyo Electric Co Ltd 映像表示装置
CN105488020B (zh) * 2015-12-01 2018-09-04 交控科技股份有限公司 一种数据处理方法及系统
CN107992273B (zh) * 2017-11-15 2020-11-13 北信源系统集成有限公司 一种基于cups的打印管控方法和系统
CN109814815A (zh) * 2019-01-24 2019-05-28 中软信息系统工程有限公司 一种驱动装置和方法
CN112084397B (zh) * 2020-07-14 2023-12-05 山东中创软件商用中间件股份有限公司 一种过滤器注册方法、装置、设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH114315A (ja) * 1997-06-13 1999-01-06 Canon Inc 画像入出力装置及び画像入出力制御方法
JP2003208271A (ja) * 2001-08-20 2003-07-25 Ricoh Co Ltd ネットワークを介して装置間で連携する画像形成装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002200827A (ja) * 2000-11-06 2002-07-16 Ricoh Co Ltd 画像形成装置、画像形成方法およびその方法をコンピュータに実行させるプログラム
US7359074B2 (en) * 2001-08-20 2008-04-15 Ricoh Company, Ltd. Image forming apparatus associating with other apparatuses through network
EP1378826A1 (en) * 2002-07-01 2004-01-07 Sun Microsystems, Inc. Filter network for data representation
JP4692917B2 (ja) * 2004-05-17 2011-06-01 富士ゼロックス株式会社 交換ユニットが装着された画像形成装置、画像形成システム及び画像形成装置の制御方法
JP4125269B2 (ja) * 2004-07-09 2008-07-30 キヤノン株式会社 ジョブ処理システム及びその制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH114315A (ja) * 1997-06-13 1999-01-06 Canon Inc 画像入出力装置及び画像入出力制御方法
JP2003208271A (ja) * 2001-08-20 2003-07-25 Ricoh Co Ltd ネットワークを介して装置間で連携する画像形成装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008153949A (ja) * 2006-12-18 2008-07-03 Ricoh Co Ltd 画像処理装置及び画像処理方法
US8462370B2 (en) 2007-10-30 2013-06-11 Ricoh Company, Ltd. Image processing apparatus and application executing method
US8120818B2 (en) 2007-10-31 2012-02-21 Ricoh Company, Ltd. Image processing apparatus and computer-readable storage medium that add marking type information to predetermined image
US8180181B2 (en) 2007-10-31 2012-05-15 Ricoh Company, Ltd. Image processing apparatus, image processing method, and image processing program
US8438567B2 (en) 2007-11-07 2013-05-07 Ricoh Company, Ltd. Information processing device and image processing apparatus
JP2009163711A (ja) * 2007-12-14 2009-07-23 Ricoh Co Ltd 情報処理装置、情報処理装置の制御方法、プログラム及び記録媒体
JP2009294773A (ja) * 2008-06-03 2009-12-17 Ricoh Co Ltd 情報処理装置、情報処理方法、情報処理プログラム、記録媒体
JP2010068343A (ja) * 2008-09-11 2010-03-25 Ricoh Co Ltd 画像処理装置、画像処理方法、画像処理プログラム
US8743392B2 (en) 2008-09-16 2014-06-03 Ricoh Company, Ltd. Apparatus, method, and computer program product for forming images
US9128407B2 (en) 2008-09-17 2015-09-08 Ricoh Company, Ltd. Image forming device and computer-readable storage medium

Also Published As

Publication number Publication date
JP4861883B2 (ja) 2012-01-25
EP1855196A1 (en) 2007-11-14
CN101068300B (zh) 2016-07-06
CN101068300A (zh) 2007-11-07
US20070258098A1 (en) 2007-11-08

Similar Documents

Publication Publication Date Title
JP4861883B2 (ja) 画像形成装置及びアプリケーション実行方法
US8120818B2 (en) Image processing apparatus and computer-readable storage medium that add marking type information to predetermined image
KR101088925B1 (ko) 정보 처리 장치, 화상 입력 장치, 문서 분배 시스템 및 그 제어 방법
US7873918B2 (en) Method and apparatus for displaying workflow
KR101650731B1 (ko) 관리장치 및 관리장치의 장치드라이버 관리방법
JP5145871B2 (ja) 画像処理装置およびアプリケーション実行方法
JP2008305004A (ja) 画像形成装置、アプリケーション実行方法及びアプリケーション実行プログラム
JP4908600B2 (ja) 画像形成装置および画像形成方法
JP2008153949A (ja) 画像処理装置及び画像処理方法
US20080168441A1 (en) Data processing apparatus, image processing apparatus, data processing method, and computer-readable recording medium
US20090064201A1 (en) Image Forming Apparatus, Application Management Method, and Computer-Readable Recording Medium Having Application Management Program
JP2006031452A (ja) 画像形成装置、制御方法、制御プログラムおよびジョブ管理装置、ジョブ処理方法、ジョブ管理プログラム
JP2007067807A (ja) データ送信装置およびデータ送信方法およびプログラム
JP4922836B2 (ja) 画像形成装置及びアプリケーション構築方法
JP4895928B2 (ja) 画像処理装置、アプリケーション実行方法及びアプリケーション実行プログラム
JP2005287042A (ja) 画像形成装置、画像形成方法および画像形成プログラム
JP5037271B2 (ja) 画像形成装置、情報処理方法及び情報処理プログラム
JP5315919B2 (ja) 画像形成装置、画像形成制御方法及び画像形成制御プログラム
JP5445051B2 (ja) 情報処理装置、apiプログラム、及びログ環境提供方法
JP2009110437A (ja) 情報処理装置及び情報処理方法
JP2005304016A (ja) 画像形成装置、画像形成方法および画像形成プログラム
US20090119482A1 (en) Image forming device, image formation controlling method, and image formation controlling program
JP5041973B2 (ja) 画像処理装置、画像処理装置におけるマクロ情報管理方法及びマクロ情報管理プログラム
JP5116434B2 (ja) 画像処理装置、出力ジョブ制御方法、及び出力ジョブ制御プログラム
JP2008312165A (ja) 画像処理装置、画像処理装置における情報出力方法及び情報出力プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110916

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: 20111011

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111107

R150 Certificate of patent or registration of utility model

Ref document number: 4861883

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: 20141111

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees