JP2017108250A - 情報処理装置、情報処理装置の制御方法、及びプログラム - Google Patents
情報処理装置、情報処理装置の制御方法、及びプログラム Download PDFInfo
- Publication number
- JP2017108250A JP2017108250A JP2015239561A JP2015239561A JP2017108250A JP 2017108250 A JP2017108250 A JP 2017108250A JP 2015239561 A JP2015239561 A JP 2015239561A JP 2015239561 A JP2015239561 A JP 2015239561A JP 2017108250 A JP2017108250 A JP 2017108250A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- image
- information
- extended
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Facsimiles In General (AREA)
Abstract
【課題】画像パス情報を変更することなく追加した拡張画像処理を含む機能を実行可能にすること。【解決手段】画像形成装置100は、追加される拡張処理を抽象化した処理を含むパス情報と、抽象化した処理の実体を示す拡張処理の管理情報を保持しておき、操作部102から実行指示された複数の画像処理の設定情報に基づいて、予め保持されている画像パス情報からいずれかのパス情報を選択し(S801〜S802)、選択されたパス情報に含まれる抽象化した処理を具体化する拡張処理を、拡張処理情報700に基づいて決定し(S803〜S805)、決定された拡張処理を含む複数の処理を連携して実行する。【選択図】図8
Description
本発明は、複数の処理の組み合わせと実行順序を示すパス情報に基づいて複数の処理を連携して実行可能な情報処理装置、情報処理装置の制御方法、及びプログラムに関するものである。
複合機に代表される画像形成装置が提供するコピー、プリント、スキャン原稿送信などの機能では、画像データに対して様々な画像処理を実行し、出力結果を生成する。画像処理は、複数の画像処理機能の組み合わせを所定の順番で実行するための画像パス情報に基づき実行される。画像パス情報は、画像形成装置が備えるASIC(特定用途集積回路)やCPU(中央演算処理装置)で行う複数の画像処理、および、各処理の実行の前後で必要となる一時データ保持等の処理の組み合わせと、実行順序を示すものである。
また、画像形成装置に外付けできるオプションボード等を用い、拡張機能として画像処理を追加する場合は、画像形成装置で行う画像処理と拡張機能で行う画像処理の組み合わせとして画像パス情報が構成される。このような画像パス情報は、画像形成装置の全機能で使用する全画像処理の組み合わせに基づき予め画像形成装置のファームウェアの一部として実装される。
特許文献1には、画像処理を、データの入力、加工、出力等の構成要素に分類し、ユーザが構成要素の組み合わせを指定することで、画像パス情報を構成する画像形成装置が提案されている。
なお、画像形成装置のオプションボードには、FPGA(Field Programmable Gate Array)等の再構成デバイス(プログラマブルロジックデバイス)を備えたものがある。FPGAは、ローカルなROM(Read Only Memory)に予め備えた回路構成情報に基づき処理回路を構成して所望の画像処理を実行できる。また、FPGAに接続するホストCPUからハードディスク等の外部記憶装置に備える回路構成情報をロードすることで処理回路を構成できるFPGAも実用化されている。これにより、FPGAのローカルROMに予め回路構成情報を備えなくとも、例えば、画像形成装置がネットワーク経由で新規な回路情報を取得することで後から任意なタイミングでFPGAに所望の画像処理を構成できる。
画像形成装置に外付けするオプションボードが備えるFPGA等で新規な画像処理を提供するには、新規な画像処理を含む画像パス情報が必要となる。そのため、FPGAに新規な画像処理を追加する毎に、画像パス情報を含むファームウェアを修正する必要がある。特に、ホストCPUから回路構成情報をロードできるFPGAを使用する場合、上述したように、任意のタイミングで画像処理を追加できるため、画像パスを含むファームウェアの更新を頻繁に行う必要があり、その分だけ対応工数が必要となってしまう。
また、画像パス情報が既に備える特定の画像パスの一部に、FPGAで行う複数の異なる新規な画像処理を追加する場合、FPGAで行う画像処理以外は全て同じ画像処理の組み合わせと実行順となる類似した画像パスを複数作成することになってしまう。このように、類似した画像パスを複数備えると、画像パスの管理が煩雑となる。さらに、このような画像パスに変更が必要となった場合には、類似した画像パスの変更も必要となり、非効率に対応工数が増加してしまう。
また、FPGAで行う画像処理は、他の画像処理と同様に、一緒に実行する画像処理を鑑み、画像パス中で適切な順序に配置して実行しなければ、画像処理の効果が低減してしまう場合がある。
また、FPGAで行う画像処理は、他の画像処理と同様に、一緒に実行する画像処理を鑑み、画像パス中で適切な順序に配置して実行しなければ、画像処理の効果が低減してしまう場合がある。
しかし、特許文献1の技術では、新規な画像処理を追加した分だけ画像処理に係る構成要素が増加するため、画像パスの構成管理が煩雑となってしまう。また、画像処理の実行順はユーザが管理するため、知識の乏しいユーザでは、画像パス中に新規な画像処理を適切に配置することは困難である。なお、この種の課題は、画像形成装置に限定されるものではなく、画像形成装置と同様に拡張機能として実行可能な処理を追加可能であり、且つパス情報に基づいて処理を連携する各種の情報処理装置にも共通の課題となり得る。
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、パス情報を変更することなく追加した拡張処理を含む機能を実行することができる仕組みを提供することである。
本発明は、複数の処理の組み合わせと実行順序を示すパス情報に基づいて複数の処理を連携して実行制御する制御手段と、拡張機能として実行可能な処理を追加可能な追加手段と、前記パス情報として、前記追加手段により追加される拡張処理を抽象化した処理を含むパス情報を保持する第1保持手段と、前記抽象化した処理の実体を示す前記拡張処理の管理情報を保持する第2保持手段と、連携して実行指示する前記拡張処理を含む複数の処理を設定するための設定手段と、前記設定手段による設定情報に基づいて、前記第1保持手段に保持されているパス情報からいずれかのパス情報を選択する選択手段と、前記選択手段で選択されたパス情報に含まれる前記抽象化した処理を具体化する拡張処理を、前記管理情報に基づいて決定する決定手段と、を有し、前記制御手段は、前記選択手段で選択されたパス情報に基づいて、前記決定手段で決定された拡張処理を含む複数の処理を連携して実行制御することを特徴とする。
本発明によれば、パス情報を変更することなく追加した拡張処理を含む機能を実行することができる。
以下、図面を参照して本発明を実施するための形態を詳細に説明する。なお、各図面において同様の機能を有する箇所には同一の符号を付し、説明の重複は適宜省略する。
図1は、本発明の情報処理装置の一実施例を示す画像形成装置の全体構成を例示する図である。
図1は、本発明の情報処理装置の一実施例を示す画像形成装置の全体構成を例示する図である。
図1において、画像形成装置100は、画像の入出力や送受信と、それに関連する各種の画像処理を行う複合機である。画像形成装置100は、メインコントローラ101、ユーザインタフェースである操作部102、画像入力デバイスであるスキャナ103、および、画像出力デバイスであるプリンタ104を備える。操作部102、スキャナ103、および、プリンタ104は、それぞれメインコントローラ101に接続され、メインコントローラ101が各部の動作を制御する。また、画像形成装置100は、メインコントローラ101が備える後述する拡張IF121を通じて拡張処理部105と接続する。
メインコントローラ101は、主制御を司るCPU(Central Processing Unit)106を備える。CPU106は、システムバス130を介して、RAM(Random Access Memory)107、ROM(Read Only Memory)108、FLASH109と接続する。さらに、CPU106は、画像バスI/F110、操作部I/F111、NW通信部112、モデム部113、HDD114、および、拡張IF121と接続する。
RAM107は、CPU106の主記憶部として作業領域を提供するための随時読み書き可能なメモリであり、内部処理する画像データを一時記憶するための画像メモリとしても使用される。ROM108は、ブートROMでありシステム起動に必要なブートプログラム、および、動作に必要な各種処理プログラムが格納する。FLASH109は、不揮発性メモリであり、画像形成装置100の電源遮断後にも保持が必要なシステムソフトウエアや設定値データ等が格納される。
操作部IF111は、例えば、液晶タッチパネル等で構成する操作部102との間で入出力を行うためのインタフェースである。操作部IF111は、操作部102に対して表示すべき画像データを出力し、また、ユーザが操作部102を介して入力した情報をCPU106に伝送する。NW通信部112は、LAN(Local Area Network)と接続するためのインタフェースであり、LANに対して情報の入出力を行う。モデム部113は、公衆回線と接続するためのインタフェースであり、公衆回線に対して情報の入出力を行う。
画像バスIF110は、システムバス130と画像データを転送するための画像バス131とを接続するインタフェースであり、互いのバスプロトコルを変換するバスブリッジとして動作する。HDD(Hard Disk Drive)114は、不揮発なデータ記憶装置であり、画像データ、システムデータ、ユーザデータ等の各種データ、および、CPU106が実行する動作プログラムが保持される。なお、拡張処理部105として接続されるFPGAを備えるオプションボードの制御プログラムや回路情報も、HDD114に保持されるプログラムに含まれる。メインコントローラ101が、HDD114を接続しない構成をとる場合は、前記各種データはFLASH109に保持されるものとする。
画像バス131には、RIP(Raster Image Processor)115、デバイスIF116、スキャナ画像処理部117、プリンタ画像処理部118、編集画像処理部119、および、画像圧縮部120が接続される。RIP115は、LANから受信したPDL(Page Description Language)データをビットマップイメージに展開する。デバイスIF116は、スキャナ103やプリンタ104の各デバイスとメインコントローラ101とを接続するインタフェースであり、互いの画像データ送受信を行う。スキャナ画像処理部117は、スキャナ103から読み込んだ入力画像データに対して、また、プリンタ画像処理部118は、プリンタ104へ出力するプリント出力画像データに対して、それぞれ画像処理を行う。編集画像処理部119は、RAM107やHDD114が保持する画像データに対してループバック的に画像処理を行う。これらの画像処理部は、例えばASIC(Application Specific Integrated Circuit)を用いたハードウェア処理として実装される。スキャナ画像処理部117、プリンタ画像処理部118、編集画像処理部119の詳細は後述する。
画像圧縮部120は、多値画像データに対してはJPEG(Joint Photographic Experts Group)圧縮伸長処理を行う。また、画像圧縮部120は、2値画像データに対してはJBIG(Joint Bi-level Image Experts Group)、MMR(Modified Modified Read)などの符号化方式を用いた圧縮伸長処理を行う。
拡張IF121は、例えば、PCIExpressで構成される周辺機器接続用のインタフェースであり、接続する周辺機器とコントローラ101との間でデータ送受信を行う。本実施例では、周辺機器として拡張処理部105が拡張IF121と接続してコントローラ101に対して機能拡張となる画像処理を提供する。拡張処理部105の詳細は後述する。
電源制御部122は、電力供給手段である電源装置123から電力供給ライン124を介して受容したDC電源を、電力供給ライン125を介してメインコントローラ101の電源ドメイン141に供給する。
拡張IF121は、例えば、PCIExpressで構成される周辺機器接続用のインタフェースであり、接続する周辺機器とコントローラ101との間でデータ送受信を行う。本実施例では、周辺機器として拡張処理部105が拡張IF121と接続してコントローラ101に対して機能拡張となる画像処理を提供する。拡張処理部105の詳細は後述する。
電源制御部122は、電力供給手段である電源装置123から電力供給ライン124を介して受容したDC電源を、電力供給ライン125を介してメインコントローラ101の電源ドメイン141に供給する。
図2は、スキャナ画像処理部117、プリンタ画像処理部118、および、編集画像処理部119の構成を例示するブロック図である。
図2(a)に示すように、スキャナ画像処理部117は、入出力制御部200と画像処理部(201〜204)とで構成される。入出力制御部200は、不図示のDMA(Direct Memory Access)制御部を備え、接続する画像バス131からのデータを画像処理部201に送信して画像処理を開始する。また、入出力制御部200は、画像処理部204から画像処理後のデータを受信して画像バス131へ送信する。本実施例では、スキャナ画像処理部117は、4個の画像処理部を直列接続する構成とする。具体的には、処理S1(201)にシェーディング補正、処理S2(202)にMTF補正、処理S3(203)にガンマ補正、処理S4(204)に下地除去、の各処理を備えるものとする。
図2(a)に示すように、スキャナ画像処理部117は、入出力制御部200と画像処理部(201〜204)とで構成される。入出力制御部200は、不図示のDMA(Direct Memory Access)制御部を備え、接続する画像バス131からのデータを画像処理部201に送信して画像処理を開始する。また、入出力制御部200は、画像処理部204から画像処理後のデータを受信して画像バス131へ送信する。本実施例では、スキャナ画像処理部117は、4個の画像処理部を直列接続する構成とする。具体的には、処理S1(201)にシェーディング補正、処理S2(202)にMTF補正、処理S3(203)にガンマ補正、処理S4(204)に下地除去、の各処理を備えるものとする。
図2(b)に示すように、プリンタ画像処理部118は、上述したスキャナ画像処理部117と同様、入出力制御部210と画像処理部(211〜214)とで構成される。本実施例では、プリンタ画像処理部118は、4個の画像処理部を直列接続する構成とする。具体的には、処理P1(211)に色空間変換、処理P2(212)にハーフトーニング、処理P3(213)にスムージング、処理S4(214)にマスキング、の各処理を備えるものとする。
図2(c)に示すように、編集画像処理部119は、上述したスキャナ画像処理部117と同様、入出力制御部220と画像処理部(221〜223)とで構成される。本実施例では、編集画像処理部119は、3個の画像処理部を備え、入出力制御部は各画像処理と個別にデータ送受信できる構成とする。具体的には、処理L1(221)に変倍、処理L2(222)に合成、処理L3(223)に回転、の各処理を備えるものとする。
図3は、拡張処理部105の構成を例示するブロック図である。
拡張処理部105は、プログラマブル処理部301と、ローカルRAM302と、ローカルROM303等で構成される。
拡張処理部105は、プログラマブル処理部301と、ローカルRAM302と、ローカルROM303等で構成される。
プログラマブル処理部301は、回路構成情報に応じて論理回路を変更できる再構成デバイス(プログラマブルロジックデバイス)であり、本実施例ではFPGAで構成するものとする。プログラマブル処理部301は、内部にメインコントローラ101と接続するためのホストインタフェースや、後述するローカルRAM302やローカルROM303との接続インタフェース、および、再構成できる回路領域等を備える。プログラマブル処理部301の詳細は後述する。
ローカルRAM302は、プログラマブル処理部301が動作時に使用する主記憶メモリであり、プログラマブル処理部301が画像処理する画像データ等の中間データを一時的に保持するためのワークメモリとして使用される。ローカルROM303は、プログラマブル処理部301の回路構成情報を備える不揮発なフラッシュメモリである。本実施例では、ローカルROM303は、プログラマブル処理部301で常に使用する領域の設定情報を含む回路構成情報を備える。この回路構成情報は、コントローラ101のCPU106と通信するために必要となる最小限の回路情報と、プログラマブル処理部301がハードマクロとして実装されるホストインタフェース回路等の初期設定情報等を備える。
拡張処理部105は、電源起動後にローカルROM303から回路構成情報を読み出し、プログラマブル処理部301に、後述する拡張IF121と通信するためのホストインタフェースやシステムバス等の常時使用する回路部を構成し、使用可能状態となる。プログラマブル処理部301を用いた処理の詳細は後述する。
図4は、プログラマブル処理部301の詳細を例示するブロック図である。
機能部401は、ローカルROM303、および、CPU106からロードされる回路構成情報に基づき画像処理回路等を構成する論理回路である。
ホストIF402は、メインコントローラ101の拡張IF121と接続するインタフェース処理部である。ホストIF402は、例えばハードマクロで実装するPCIExpressで構成され、CPU106とプログラマブル処理部301との通信を媒介する。
機能部401は、ローカルROM303、および、CPU106からロードされる回路構成情報に基づき画像処理回路等を構成する論理回路である。
ホストIF402は、メインコントローラ101の拡張IF121と接続するインタフェース処理部である。ホストIF402は、例えばハードマクロで実装するPCIExpressで構成され、CPU106とプログラマブル処理部301との通信を媒介する。
RAM IF403は、ローカルRAM302と接続するインタフェース処理部である。RAM IF403は、機能部401やホストIF402を介して受信する、データ書き込み要求や、データ読み出し要求に基づくメモリ制御を行う。
バス404は、機能部401とホストIF402、および、RAM IF403とを接続するシステムバスである。
ROM IF405は、ローカルROM303と接続するインタフェース処理部である。ROM IF405は、回路構成情報を読み出し、機能部401に回路情報として展開し論理回路を形成する。
バス404は、機能部401とホストIF402、および、RAM IF403とを接続するシステムバスである。
ROM IF405は、ローカルROM303と接続するインタフェース処理部である。ROM IF405は、回路構成情報を読み出し、機能部401に回路情報として展開し論理回路を形成する。
ホストIF402は、電源投入時にローカルROM303が備える回路構成情報に基づき初期状態設定を行い使用可能状態となり、コントローラ101のCPU106と通信可能状態となる。これにより、CPU106から機能部401に画像処理等の回路構成情報を設定することができ、コントローラ101から受信した画像データに対して機能部401に設定した処理を実行できる。
図5は、プログラマブル処理部301の機能部401に適用する回路構成情報の詳細を例示する図である。
プログラマブル処理部301が備える機能部401において異なる機能の処理回路を構成するために、HDD114は、内部の回路構成情報の格納領域500に、複数の回路構成情報(例えば501〜505等)を保持する。ここで、格納領域500は、HDD114上で回路構成情報を保持するために割り当てた所定の論理アドレス領域を示す。CPU106は、格納領域500に対応するHDD114の所定の論理アドレスから、必要な回路構成情報を読み出し、拡張IF121を介してプログラマブル処理部301に転送し、回路構成を行う。上記回路構成情報は、機能部401とシステムバス404とを構成する回路情報を備え、回路情報が含む論理機能と接続情報とに基づき回路を構成する。
プログラマブル処理部301が備える機能部401において異なる機能の処理回路を構成するために、HDD114は、内部の回路構成情報の格納領域500に、複数の回路構成情報(例えば501〜505等)を保持する。ここで、格納領域500は、HDD114上で回路構成情報を保持するために割り当てた所定の論理アドレス領域を示す。CPU106は、格納領域500に対応するHDD114の所定の論理アドレスから、必要な回路構成情報を読み出し、拡張IF121を介してプログラマブル処理部301に転送し、回路構成を行う。上記回路構成情報は、機能部401とシステムバス404とを構成する回路情報を備え、回路情報が含む論理機能と接続情報とに基づき回路を構成する。
格納領域500は、機能部401に構成される回路の機能の種類に応じて複数の回路構成情報を備える。本実施例では、格納領域500は、回路情報E1(501)、回路情報E2(502)、回路情報E3(503)の3つの回路情報を備えるものとする。回路情報E1(501)は拡張下地除去、回路情報E2(502)は拡張色変換、回路情報E3(503)は拡張トナー量制御の画像処理機能にそれぞれ対応する。
次に、図6、図7、図8、および、図9を用いて、画像形成装置100が備える画像パス情報を用いた画像処理実行の詳細を説明する。
図6は、本実施例における画像パス情報600を例示する模式図である。
図6に示す画像パス情報600は、複数の画像パスを含む。画像パス情報600は、画像形成装置100が備えるコピー(COPY)やスキャン原稿送信(SEND)、および、不図示のプリント等の機能601毎に、画像パスを備える。各画像パスは、ID602を備え、ID602を用いて画像パスを一意に識別できる。
図6は、本実施例における画像パス情報600を例示する模式図である。
図6に示す画像パス情報600は、複数の画像パスを含む。画像パス情報600は、画像形成装置100が備えるコピー(COPY)やスキャン原稿送信(SEND)、および、不図示のプリント等の機能601毎に、画像パスを備える。各画像パスは、ID602を備え、ID602を用いて画像パスを一意に識別できる。
ここで、画像パスとは、画像形成装置100が備える機能を所定の設定情報で実行する際に使用する、一連の画像処理の組み合わせと、実行順序とを、画像格納情報と併せて示したものである。例えば、ID602が「C1」で識別される画像パス(610)では、スキャナ103から入力した画像データに対して、スキャナ画像処理部117の処理S1〜S4をこの順に実行した後、spool611に基づきHDD114に画像データをスプールする。さらに、スプールした画像データに対して、プリンタ画像処理部118の処理P1〜P4をこの順に実行して得られた出力画像データを、プリンタ104へ送信して、コピー機能実行に必要な画像処理を実行できる。
また、ID602が「C2」で識別される画像パス(620)は、コピー実行時に拡張処理部105で行う画像処理を指定するための画像パスである。ここでは、前述のIDがC1の画像パス(610)と同様に、処理S1〜S4の画像処理後に、HDD114に画像データをスプール後、拡張処理1(621)に基づき拡張処理部105で画像処理を行う。その後、spool622に基づき、処理後の画像データをHDD114に再度スプール後、処理P1〜P4の画像処理により出力画像データを得る。
ここで、画像パス(620)に示す拡張処理1(621)は、拡張処理部105で実行される画像処理(拡張処理)を抽象化した処理である。拡張処理1(621)で行う画像処理の内容は、コピー実行時の設定情報と、後述する図7に示す拡張処理情報700とに基づき指定される。なお、図6に示す他の「拡張処理1」や「拡張処理2」についても同様に抽象化した処理に対応する。このため、従来のように拡張機能が追加される毎に該追加された拡張機能を含む画像パス情報が必要となる、といったことがなくなる。よって、拡張機能を追加する毎に画像パス情報を含むファームウェアを修正する、といった必要もなくなる。
以下、図7の拡張処理情報700について説明する。
図7は、本実施例における拡張処理情報700を例示する模式図である。
拡張処理情報700は、拡張機能として追加された拡張処理の管理情報であり、画像パス情報に含まれる抽象化した処理(例えば「拡張処理1」、「拡張処理2」)の実体を示す拡張処理の管理情報を保持するものである。拡張処理情報700は、拡張処理701で示す画像処理(例えば処理E1〜E3)毎に、機能702、配置情報703、実行順704、グループ情報705、製造者ID706の情報を備える。
図7は、本実施例における拡張処理情報700を例示する模式図である。
拡張処理情報700は、拡張機能として追加された拡張処理の管理情報であり、画像パス情報に含まれる抽象化した処理(例えば「拡張処理1」、「拡張処理2」)の実体を示す拡張処理の管理情報を保持するものである。拡張処理情報700は、拡張処理701で示す画像処理(例えば処理E1〜E3)毎に、機能702、配置情報703、実行順704、グループ情報705、製造者ID706の情報を備える。
機能702は、拡張処理701で示す画像処理が、画像形成装置100が既に備える、画像パス情報600に含まれるどの機能601(例えばCOPY,PRINT,SEND)で実行できるかを示すためのものである。配置情報703は、画像パス情報600の画像パスが備える、どの抽象化した処理の実行位置(例えば621等)で、拡張処理701で示す画像処理が実行できるかを示す(対応付けする)ためのものである。実行順704は、同じ配置情報703を備える拡張処理を複数同時に指定して実行する場合に、拡張処理同士の実行順序を定めるためのものである。本実施例では実行順704の昇順の優先度で拡張処理を実行するものとする。グループ情報705は、複数の拡張処理を同時実行できるか否かを示すためのものである。製造者ID706は、製造者を特定する情報を示す。なお、製造者ID706は管理情報に用いる他、グループ情報705のような拡張処理実行時の禁則条件に用いてもよい。即ち、グループ情報705、製造者ID706を、連携して実行可能な拡張処理と実行不可能な拡張処理を特定可能な管理情報として用いてもよい。なお、詳細は、後述する図10、図11で示すが、機能702、グループ情報705、製造者ID706は、操作画面(例えば拡張機能の設定画面)の表示制御に使用される。
図7の拡張処理情報700の場合、図6の画像パス(620)の拡張処理1(621)に対応する拡張処理として、設定情報に応じて、処理E1(710)や処理E2(720)が指定される。なお、処理E1(710)と処理E2(720)の双方が指定される場合には、処理E1(710)、処理E2(720)の順に実行される。このように、拡張処理情報700を用いて、図6の画像パス情報に含まれる抽象化した処理を、拡張処理で具体化することが可能となる。
本実施例において、画像形成装置100は、既に3つの拡張処理(処理E1〜E3)を備えるものとし、これらは上述した図5の回路構成情報501〜503に対応するものである。例えば、処理E1(710)は、回路情報E1(501)により拡張処理部105のプログラマブル処理部301に構成される「拡張下地除去」を行う画像処理である。処理E1(710)は、画像パス情報の機能601におけるコピー(COPY)と、スキャン原稿送信(SEND)機能の画像パスのいずれかが備える「拡張処理1」に配置して実行できる。このように、スキャナ画像処理部117の処理後に処理E1を配置することで、最も効果的に下地除去処理が実行できる。また、処理E2(720)は、「拡張色変換」を行う画像処理である。処理E1はグループ情報として「group1」(714)を備え、例えば、同じグループ情報として「group1」(724)を備える処理E2(720)と同時実行する場合には、実行順704に基づき処理E1、処理E2の順に実行する。これにより、処理E1で行う下地除去の効果を低減することなく処理E1と処理E2を実行できる。
同様に、処理E3(730)は、「拡張トナー量制御」を行う画像処理であり、コピー(COPY)とプリント(PRINT)機能で実行できる。また、処理E3(730)は、配置情報703として「拡張処理2」を備える。よって、処理E3(730)は、画像パス情報の機能601におけるコピー(COPY)とプリント(PRINT)機能の画像パスのいずれかが備える「拡張処理2」に配置して実行できる。処理E3(730)は、編集系の画像処理や他の拡張処理を行った後の色味やレイアウトが確定した画像データに対して濃度制御を行い、トナー量制御を効果的に実行できる。
なお、前述した画像パス情報600は、HDD114に格納されRAM107に展開してCPU106が実行する不図示のファームウェアに、予め備えられているものとする。また、拡張処理情報700が備える拡張機能および付随する各情報は、例えば、その拡張機能を画像形成装置100にインストールする時に追加更新されるものとする。即ち、拡張処理が追加されるタイミングで、該拡張処理に対応する管理情報が拡張処理情報700に登録されるものとする。
次に、図8のフローチャートを用いて、画像形成装置100が機能実行時の設定に基づき所望の画像処理を実行するための画像パスを決定する処理を説明する。
図8は、画像形成装置100が機能実行時の設定に基づき所望の画像処理を実行するための画像パスを決定する処理を例示するフローチャートである。図8(a)〜図8(c)のフローチャートで示す処理は、ユーザが操作部102で機能設定を行い実行開始指示したことをCPU106が検知後、CPU106で実行する画像パス制御部951(図9)が開始するものとする。なお、画像パス制御部951は、HDD114等に備える不図示のファームウェアに予め実装されるもので、画像形成装置100の電源起動後、CPU106がファームウェアをRAM107に展開後に動作可能状態となる。画像パス制御部951の処理詳細は後述する。
図8は、画像形成装置100が機能実行時の設定に基づき所望の画像処理を実行するための画像パスを決定する処理を例示するフローチャートである。図8(a)〜図8(c)のフローチャートで示す処理は、ユーザが操作部102で機能設定を行い実行開始指示したことをCPU106が検知後、CPU106で実行する画像パス制御部951(図9)が開始するものとする。なお、画像パス制御部951は、HDD114等に備える不図示のファームウェアに予め実装されるもので、画像形成装置100の電源起動後、CPU106がファームウェアをRAM107に展開後に動作可能状態となる。画像パス制御部951の処理詳細は後述する。
図8(a)は、画像パス決定におけるメイン処理を例示するフローチャートである。
S801において、画像パス制御部951は、機能実行時に指定された不図示の設定情報を取得する。この設定情報は、例えば、ユーザが、コピーを実行する前に操作部102に指定する「色味変更」や「下地除去」等の設定の情報である。この設定情報は、不図示の予め備えた変換表等を用いてスキャナ画像処理部117、プリンタ画像処理部118、編集画像処理部119および拡張処理部105で行う画像処理(例えばS1〜S4、P1〜P4、L1〜L3、E1〜E3)と対応付けできる。また、拡張処理部105で行う画像処理(例えば拡張処理E1〜E3)については、拡張処理情報700を用いて、抽象化した処理(例えば図6の拡張処理1、拡張処理2)と対応付けできる。
S801において、画像パス制御部951は、機能実行時に指定された不図示の設定情報を取得する。この設定情報は、例えば、ユーザが、コピーを実行する前に操作部102に指定する「色味変更」や「下地除去」等の設定の情報である。この設定情報は、不図示の予め備えた変換表等を用いてスキャナ画像処理部117、プリンタ画像処理部118、編集画像処理部119および拡張処理部105で行う画像処理(例えばS1〜S4、P1〜P4、L1〜L3、E1〜E3)と対応付けできる。また、拡張処理部105で行う画像処理(例えば拡張処理E1〜E3)については、拡張処理情報700を用いて、抽象化した処理(例えば図6の拡張処理1、拡張処理2)と対応付けできる。
次に、S802において、画像パス制御部951は、上記S801で取得した設定情報等に基づき、画像パス情報600から画像パスを選択して取得する。
次に、S803において、画像パス制御部951は、上記S802で取得した画像パスが拡張処理部105で行う画像処理を含むか否かにより、拡張処理を実行するか否かを判定する。これは、取得した画像パスにおける「拡張処理1」や「拡張処理2」等で示す拡張処理部105で行う画像処理の実行位置の有無で判定できる。そして、上記S802で取得した画像パスが拡張処理部105で行う画像処理を含み、拡張処理を実行しないと判定した場合(S803でYesの場合)、画像パス制御部951は、S804に処理を進める。
次に、S803において、画像パス制御部951は、上記S802で取得した画像パスが拡張処理部105で行う画像処理を含むか否かにより、拡張処理を実行するか否かを判定する。これは、取得した画像パスにおける「拡張処理1」や「拡張処理2」等で示す拡張処理部105で行う画像処理の実行位置の有無で判定できる。そして、上記S802で取得した画像パスが拡張処理部105で行う画像処理を含み、拡張処理を実行しないと判定した場合(S803でYesの場合)、画像パス制御部951は、S804に処理を進める。
S804において、画像パス制御部951は、上記S802で選択した画像パスが備える拡張処理の実行位置で行う画像処理を決定する。S804で行う処理の詳細は後述する図8(b)で説明する。
次に、S805において、画像パス制御部951は、上記S804で決定した拡張機能の実行位置で行う画像処理について、拡張機能の実行位置で複数の画像処理を行う場合に画像処理の実行順序を決定する。S805で行う処理の詳細は後述する図8(c)で説明する。
次に、S805において、画像パス制御部951は、上記S804で決定した拡張機能の実行位置で行う画像処理について、拡張機能の実行位置で複数の画像処理を行う場合に画像処理の実行順序を決定する。S805で行う処理の詳細は後述する図8(c)で説明する。
そして、上記S805の後、画像パス制御部951は、S806に処理を進める。
一方、上記S803において、上記S802で取得した画像パスが拡張処理部105で行う画像処理を含まず、拡張処理を実行しないと判定した場合(S803でNoの場合)、画像パス制御部951は、そのままS806に処理を進める。
S806において、画像パス制御部951は、上記S802で選択した画像パスで行う画像処理を確定し、図8(a)の処理を終了する。なお、S806で確定した画像処理は、後述する画像処理実行部952により実行制御される。
一方、上記S803において、上記S802で取得した画像パスが拡張処理部105で行う画像処理を含まず、拡張処理を実行しないと判定した場合(S803でNoの場合)、画像パス制御部951は、そのままS806に処理を進める。
S806において、画像パス制御部951は、上記S802で選択した画像パスで行う画像処理を確定し、図8(a)の処理を終了する。なお、S806で確定した画像処理は、後述する画像処理実行部952により実行制御される。
図8(b)は、図8(a)のS804で行う画像パスが備える拡張処理の実行位置で実際に行う画像処理を決定する処理の詳細を例示するフローチャートである。
S810〜S814において、画像パス制御部951は、S811〜S813の処理を、図8(a)のS801で取得した設定情報で実行指定された全ての拡張処理部105で行う画像処理(拡張処理)に対して実行するように制御する。この制御により、該実行指定された全ての拡張処理を画像パスの拡張処理実行位置に配置する。以下、詳細に説明する。まず、S810において、画像パス制御部951は、図8(a)のS801で取得した設定情報で実行指定された拡張処理部105で行う画像処理を一つ選択し(例えば「拡張下地除去」に対応する「処理E1」を選択し)、判定対象の画像処理とする。
S810〜S814において、画像パス制御部951は、S811〜S813の処理を、図8(a)のS801で取得した設定情報で実行指定された全ての拡張処理部105で行う画像処理(拡張処理)に対して実行するように制御する。この制御により、該実行指定された全ての拡張処理を画像パスの拡張処理実行位置に配置する。以下、詳細に説明する。まず、S810において、画像パス制御部951は、図8(a)のS801で取得した設定情報で実行指定された拡張処理部105で行う画像処理を一つ選択し(例えば「拡張下地除去」に対応する「処理E1」を選択し)、判定対象の画像処理とする。
次に、S811において、画像パス制御部951は、上記S810で選択した拡張処理部105で行う画像処理(拡張処理701)をキーとして拡張処理情報700を参照して、対応する配置情報703を取得する。
次に、S812において、画像パス制御部951は、上記S811で取得した配置情報703と、図8(a)のS802で選択した画像パスが備える抽象化した処理の実行位置(配置情報)とが一致するか否かを判定する。そして、一致すると判定した場合(S812でYesの場合)、画像パス制御部951は、S813に処理を進める。S813において、画像パス制御部951は、判定対象の画像処理を上記S812で一致した拡張処理の実行位置で実行するよう画像パスを決定し、S814に処理を進める。
次に、S812において、画像パス制御部951は、上記S811で取得した配置情報703と、図8(a)のS802で選択した画像パスが備える抽象化した処理の実行位置(配置情報)とが一致するか否かを判定する。そして、一致すると判定した場合(S812でYesの場合)、画像パス制御部951は、S813に処理を進める。S813において、画像パス制御部951は、判定対象の画像処理を上記S812で一致した拡張処理の実行位置で実行するよう画像パスを決定し、S814に処理を進める。
S814において、画像パス制御部951は、上記S811〜S813の処理を、実行指定された全ての拡張処理部105で行う画像処理に対して行ったか否かを判定する。そして、実行指定された拡張処理部105で行う画像処理のうち、まだ上記S811〜S813の処理を行っていないものがあると判定した場合、S810に処理を戻す。
一方、上記S811〜S813の処理を、実行指定された全ての拡張処理部105で行う画像処理に対して行ったと判定した場合、画像パス制御部951は、図8(b)の処理(図8(a)のS804)を終了する。以上の処理により、実行指定された全ての拡張処理を画像パス内の抽象化した処理の実行位置に配置することができる。
なお、上記S812にて、上記S811で取得した配置情報703と、図8(a)のS802で選択した画像パスが備える抽象化した処理の実行位置とが一致しないと判定した場合(S812でNoの場合)、画像パス制御部951は、S815に処理を進める。S815において、画像パス制御部951は、例外処理を行う。この例外処理では、例えば、画像パス制御部951は、例外処理となった画像処理に対応する機能が実行できないため再設定を促す旨を操作部102に通知する。S815の処理の後、画像パス制御部951は、図8(b)の処理(図8(a)のS804)を終了する。この場合、図示しないが、上記通知に応じてユーザにより再度設定が行われたら、再度図8(a)のS801から処理を開始するものとする。
図8(c)は、図8(a)のS805で行う、画像パスが備える拡張処理の実行位置において複数の画像処理を実行する際の実行順序を決定する処理の詳細を示すフローチャートである。
S820〜S823において、画像パス制御部951は、S821〜S822の処理を、図8(a)のS802で取得した画像パスが備える全ての拡張処理の実行位置に対して実行するように制御する。この制御により、画像パスが備える全ての拡張処理(例えば「拡張処理1」)内の処理実行順序を決定する。まず、S820において、画像パス制御部951は、図8(a)のS802で取得した画像パスが備える拡張処理の実行位置の一つを選択して判定対象とし、S821に処理を進める。
S820〜S823において、画像パス制御部951は、S821〜S822の処理を、図8(a)のS802で取得した画像パスが備える全ての拡張処理の実行位置に対して実行するように制御する。この制御により、画像パスが備える全ての拡張処理(例えば「拡張処理1」)内の処理実行順序を決定する。まず、S820において、画像パス制御部951は、図8(a)のS802で取得した画像パスが備える拡張処理の実行位置の一つを選択して判定対象とし、S821に処理を進める。
S821において、画像パス制御部951は、図8(a)のS804(図8(b))の処理結果に基づき、判定対象である拡張処理の実行位置で複数の画像処理が実行するか否かを判定する。そして、複数の画像処理が実行すると判定した場合(S821でYesの場合)、画像パス制御部951は、S822に処理を進める。
S822において、画像パス制御部951は、拡張処理情報700から判定対象である拡張処理の実行位置で行う各画像処理の実行順704を取得し、実行順の昇順で画像処理をソートし、S823に処理を進める。即ち、図8(b)の処理において、1の抽象化した処理に対して複数の拡張処理が具体化された場合、これらの実行順序を実行順704に基づいて決定する。
S822において、画像パス制御部951は、拡張処理情報700から判定対象である拡張処理の実行位置で行う各画像処理の実行順704を取得し、実行順の昇順で画像処理をソートし、S823に処理を進める。即ち、図8(b)の処理において、1の抽象化した処理に対して複数の拡張処理が具体化された場合、これらの実行順序を実行順704に基づいて決定する。
一方、上記S821において、判定対象である拡張処理の実行位置で複数の画像処理が実行しないと判定した場合(S821でNoの場合)、画像パス制御部951は、そのままS823に処理を進める。
S823において、画像パス制御部951は、上記S821〜S822の処理を、画像パスが備える全ての拡張処理の実行位置に対して実行したか否かを判定する。そして、画像パスが備える全ての拡張処理の実行位置のうち、まだ上記S821〜S822の処理を行っていないものがあると判定した場合、画像パス制御部951は、S820に処理を戻す。
一方、上記S821〜S823の処理を、画像パスが備える全ての拡張処理の実行位置に対して実行したと判定した場合、画像パス制御部951は、図8(c)の処理(図8(a)のS805)を終了する。以上の処理により、全ての拡張処理位置における画像処理実行順を決定することができる。
以上のように、予め、拡張機能により追加された拡張処理を含む画像パス情報を備えておき、該画像パス情報を用いた画像処理を実行する場合に、画像パス制御部951が、該画像パスに含まれる抽象化した処理を、追加された拡張処理で具体化する。これにより、画像処理実行部952は、予め備える画像パス情報を用いて、任意のタイミングで追加される拡張処理を含む一連の画像処理を実行することができる。
次に、図9を用い、ユーザが「コピー機能」で「縮小レイアウト」と拡張画像処理で行う「拡張下地除去」、「拡張色変換」および「拡張トナー量制御」を実行指定した場合を例に、画像形成装置100が画像パスを決定し処理を実行する振る舞いを説明する。
図9は、設定情報に基づき決定した画像パスに基づいて画像処理を実行する処理フローを示すシーケンス図である。なお、図9に示す操作部制御部950、画像パス制御部951、画像処理実行部952および拡張処理制御部953は、HDD114等に格納される不図示のファームウェアに実装され、画像形成装置100の電源起動後にCPU106で実行されるものとする。また、本処理フローは、ユーザが操作部102で機能設定を行い実行開始指示したことをCPU106が検知した後に開始されるものとする。
図9は、設定情報に基づき決定した画像パスに基づいて画像処理を実行する処理フローを示すシーケンス図である。なお、図9に示す操作部制御部950、画像パス制御部951、画像処理実行部952および拡張処理制御部953は、HDD114等に格納される不図示のファームウェアに実装され、画像形成装置100の電源起動後にCPU106で実行されるものとする。また、本処理フローは、ユーザが操作部102で機能設定を行い実行開始指示したことをCPU106が検知した後に開始されるものとする。
まず、操作部制御部950は、ユーザが操作部102で設定した設定情報を取得する(901)。さらに、操作部制御部950は、該取得した設定情報を画像パス制御部951、および画像処理実行部952に送信する(902)。本実施例では、設定情報として、「縮小レイアウト」、「拡張下地除去」、「拡張色変換」、「拡張トナー量制御」を指定したコピー実行指示が含まれているものとして、図9のシーケンスを説明する。
画像パス制御部951は、操作部制御部950から受信した設定情報を用いて前述の図8で示した処理フローに基づき画像パスを決定する(903)。上述の例では、設定情報から、コピー機能で「縮小レイアウト処理」、すなわち「編集処理」を行うことが分かる。さらに、拡張処理部105で行う「拡張下地除去」、「拡張色変換」、および「拡張トナー量制御」の3つの拡張処理を実行することが分かる。また、拡張処理情報700から、「拡張下地除去」と「拡張色変換」の配置は「拡張処理1」、「拡張トナー量制御」の配置は「拡張処理2」であることが分かる。これにより、画像パス情報600から「コピー機能」で「編集処理」と「拡張処理1」と「拡張処理2」を含む画像パスとして画像パス630を決定する。また、「拡張処理1」で行う画像処理は、拡張処理が備える実行順704に基づき、実行順704の値が小さい「拡張下地除去」、「拡張色変換」の順で実行するものとする。また、「拡張処理2」では、「拡張トナー量制御」を実行するものとする。
画像パス制御部951は、最終的に決定した画像パスを、画像処理実行部952に送信する(904)。
画像パス制御部951は、最終的に決定した画像パスを、画像処理実行部952に送信する(904)。
画像処理実行部952は、操作部制御部950から受信した設定情報と、画像パス制御部951から受信した画像パスとに基づき、各画像処理部の設定と実行制御を行う。
まず、画像処理実行部952は、設定情報に基づきスキャナ画像処理部117、プリンタ画像処理部118、編集画像処理部119が備える画像処理部のレジスタ設定を行う(905、906、907)。全ての画像処理が終了したことを検出するための終了検知処理の実行を開始した後(908)、画像処理実行部952は、デバイスIF116にスキャン開始を指示して(909)スキャナ103の原稿読み込みを開始する。スキャナ103は、原稿読み込みにより画像データを取得する。画像処理実行部952は、デバイスIF116からスキャナ103の原稿読み込み終了の通知を受信後(910)、スキャナ画像処理部117に画像処理開始を指示する(911)。スキャナ画像処理部117は、スキャナ103で取得した画像データに対して画像処理S1〜S4(201〜204)で処理を行った後(912)、画像処理実行部952に処理終了を通知する(913)。スキャナ画像処理部117で処理後の画像データは、画像パス630に基づきHDD114にスプールされる。
まず、画像処理実行部952は、設定情報に基づきスキャナ画像処理部117、プリンタ画像処理部118、編集画像処理部119が備える画像処理部のレジスタ設定を行う(905、906、907)。全ての画像処理が終了したことを検出するための終了検知処理の実行を開始した後(908)、画像処理実行部952は、デバイスIF116にスキャン開始を指示して(909)スキャナ103の原稿読み込みを開始する。スキャナ103は、原稿読み込みにより画像データを取得する。画像処理実行部952は、デバイスIF116からスキャナ103の原稿読み込み終了の通知を受信後(910)、スキャナ画像処理部117に画像処理開始を指示する(911)。スキャナ画像処理部117は、スキャナ103で取得した画像データに対して画像処理S1〜S4(201〜204)で処理を行った後(912)、画像処理実行部952に処理終了を通知する(913)。スキャナ画像処理部117で処理後の画像データは、画像パス630に基づきHDD114にスプールされる。
次に、画像処理実行部952は、設定情報で指示される「拡張下地除去」を行うために、拡張処理制御部953に対して、画像パス630の「拡張処理1」で行う「拡張下地除去」の開始指示を行う(914)。拡張処理制御部953は、受信した指示に基づき回路情報E1(501)を用いて、拡張処理部105に回路構成指示を行う(915)。そして、拡張処理制御部953は、「拡張下地除去」に対応する処理回路をプログラマブル処理部301に構成した後、処理開始指示を行う(916)。拡張処理部105は、スキャナ画像処理後の画像データに対して画像処理を実行し(917)、処理終了通知を拡張処理制御部953に通知する(918)。そして、拡張処理制御部953は、画像処理実行部952に対して「拡張処理1」での処理終了を通知する(919)。「拡張処理1」で処理後の画像データは、画像パス630に基づきHDD114にスプールされる。
次に、画像処理実行部952は、設定情報で指示される「拡張色変換」を行うために、拡張処理制御部953に対して、画像パス630の「拡張処理1」で行う「拡張色変換」の開始指示を行う(920)。拡張処理制御部953は、受信した指示に基づき回路情報E2(502)を用いて、拡張処理部105に回路構成指示を行う(921)。そして、拡張処理制御部953は、「拡張色変換」に対応する処理回路をプログラマブル処理部301に構成した後、処理開始指示を拡張処理部105に対して行う(922)。拡張処理部105は、拡張下地処理後の画像データに対して画像処理を実行後(923)、処理終了通知を拡張処理制御部953に通知する(924)。拡張処理制御部953は、画像処理実行部952に対して、「拡張処理1」での処理終了を通知する(925)。「拡張処理1」で処理後の画像データは、画像パス630に基づきHDD114にスプールされる。
次に、画像処理実行部952は、設定情報で指示される「縮小レイアウト」処理を行うために、編集画像処理部119に対して画像処理の開始指示を行う(926)。編集画像処理部119は、「拡張処理1」で行った「拡張色変換」処理後の画像データに対して画像処理L1〜L3(221〜223)の各処理を実行後(927)、画像処理実行部952に対して処理終了を通知する(928)。編集画像処理部119で処理後の画像データは、画像パス630に基づきHDD114にスプールされる。
次に、画像処理実行部952は、設定情報で指示される「拡張トナー量制御」を行うために、拡張処理制御部953に対して、画像パス630の「拡張処理2」で行う「拡張トナー量制御」の開始指示を行う(929)。拡張処理制御部953は、受信した指示に基づき、回路情報E3(503)を用いて拡張処理部105に回路構成指示を行う(930)。そして、拡張処理制御部953は、「拡張トナー量制御」に対応する処理回路をプログラマブル処理部301に構成した後、処理開始指示を拡張処理部105に対して行う(931)。拡張処理部105は、編集画像処理部119における処理後の画像データに対して画像処理を実行後(932)、処理終了通知を拡張処理制御部953に通知する(933)。拡張処理制御部953は、画像処理実行部952に対して「拡張処理2」での処理終了を通知する(934)。「拡張処理2」で処理後の画像データは、画像パス630に基づきHDD114にスプールされる。
次に、画像処理実行部952は、設定情報で指示されるコピー機能におけるプリント処理を行うために、プリンタ画像処理部118に対して画像処理の開始指示を行う(935)。プリンタ画像処理部118は、「拡張処理2」で行った「拡張トナー量制御」処理後の画像データに対して画像処理P1〜P4(211〜214)の各処理を実行後(936)、画像処理実行部952に対して処理終了を通知する(937)。プリンタ画像処理部118で処理後の画像データは、デバイスIF116を介してプリンタ104へ送信され出力される。
画像処理実行部952は、画像パス630の全画像処理の終了を検出すると(938)、画像パス制御部951と操作部制御部950に対して終了通知を行い(939、940)、処理を終了する。
次に、図10を用いて、ユーザが所望の機能実行を指示する際に操作部102が備える不図示の液晶タッチパネル上に表示する操作画面を説明する。
図10は、設定情報を操作部102で指示する際の操作画面を例示する図である。これらの画面は、例えば操作部制御部950により操作部102の表示部に表示制御される。
図10は、設定情報を操作部102で指示する際の操作画面を例示する図である。これらの画面は、例えば操作部制御部950により操作部102の表示部に表示制御される。
図10(a)に示す画面1000は、画像形成装置100が提供する機能を選択するためのメニュー画面である。本実施例では、前述のとおりユーザは「コピー」機能で「縮小レイアウト」と拡張画像処理で行う「拡張下地除去」、「拡張色変換」、および、「拡張トナー量制御」を実行指定する。そのため、ユーザは「コピー」機能を実行指定するボタン1001を押下し、図10(b)に示すコピー設定画面1010を表示する。
図10(b)に示す画面1010は、ボタン1001を押下後に表示されるコピー設定画面である。本実施例では、ユーザは、出力原稿の仕上げを設定するボタン1011を押下して表示される不図示の設定画面で「縮小レイアウト」の実行を指示する。また、ユーザは、拡張機能を実行指定するボタン1012を押下して、拡張処理部105が提供する図10(c)に示す拡張機能の設定画面1020を表示する。
図10(c)に示す画面1020は、ボタン1012を押下後に表示される拡張機能の設定画面である。操作部制御部950は、拡張処理情報700に基づいて画面1020の表示制御を行う。
画面1020は、画像形成装置100が保持する拡張処理情報700が備える拡張処理701である処理E1〜処理E3(710、720、730)に対応するボタン(1021、1022、1023)をそれぞれ備える。上述の例では、「拡張下地除去」、「拡張色変換」および「拡張トナー量制御」を実行するため、ユーザは全てのボタン(1021〜1023)を押下して、画像形成装置100が提供する全ての拡張機能の実行を指定する。以上の画面操作の後、ユーザが操作部102の不図示のコピー開始ボタンを押下することで、設定情報を確定しコピー機能を実行できる。
画面1020は、画像形成装置100が保持する拡張処理情報700が備える拡張処理701である処理E1〜処理E3(710、720、730)に対応するボタン(1021、1022、1023)をそれぞれ備える。上述の例では、「拡張下地除去」、「拡張色変換」および「拡張トナー量制御」を実行するため、ユーザは全てのボタン(1021〜1023)を押下して、画像形成装置100が提供する全ての拡張機能の実行を指定する。以上の画面操作の後、ユーザが操作部102の不図示のコピー開始ボタンを押下することで、設定情報を確定しコピー機能を実行できる。
以上の説明により、本実施例では、画像形成装置に外付けするオプションボード等で追加する画像処理の実行順序を抽象化した画像処理(例えば図6の621、631、632等)として定めた画像パス(例えば図6の620、630等)を予め保持しておく。これにより、画像形成装置の機能実行時の設定情報に基づき、後から追加した画像処理でも適切な順序で実行可能な画像パスを構成できる。さらに、追加する画像処理の実体機能を示す管理情報(例えば図7の拡張処理情報700)を、該画像処理の追加時等に追加しておく。そして、画像形成装置は、ユーザによる画像形成装置の機能実行時の設定情報に基づき、後から追加した画像処理から、対応する機能の画像処理を選択して、画像パス内の抽象化した画像処理の位置で実行可能に制御する。これにより、予め備える画像パスを変更することなく追加した画像処理を用いた新規な機能を実行できる。
なお、上述した実施例は本発明を限定するものではない。
例えば、画像形成装置100に後から追加して行う画像処理の実行は、拡張処理部105のプログラマブル処理部301に限定するものではなく、例えば、画像形成装置100が接続するLANに接続する外部サーバで行ってもよい。この場合、拡張処理情報700は、不図示のサーバやクラウドサービス等の外部サービスで拡張処理として実行する画像処理に係る各種情報(701〜706)を備えるものとする。これにより、外部サーバ等が備えるCPU、GPU(画像処理アクセラレータ)、や、FPGA等のプログラマブル処理デバイスを用いて画像形成装置100の機能を拡張して画像処理を実行できる。また、その他の構成として、画像形成装置100に外付けするオプションボード備えるCPUやGPUを用いてもよく、これにより、拡張処理をより柔軟な形態で実行できる。なお、拡張処理は画像処理に限定されるものではなく、画像処理以外の各種データ処理であってもよい。即ち、本実施例の拡張処理は、画像形成装置に装着される拡張部(例えばプログラムロジックデバイスを備える)で実行される処理であっても、外部サービスにより実行される処理であってもよく、これらの処理が混在していてもよい。
例えば、画像形成装置100に後から追加して行う画像処理の実行は、拡張処理部105のプログラマブル処理部301に限定するものではなく、例えば、画像形成装置100が接続するLANに接続する外部サーバで行ってもよい。この場合、拡張処理情報700は、不図示のサーバやクラウドサービス等の外部サービスで拡張処理として実行する画像処理に係る各種情報(701〜706)を備えるものとする。これにより、外部サーバ等が備えるCPU、GPU(画像処理アクセラレータ)、や、FPGA等のプログラマブル処理デバイスを用いて画像形成装置100の機能を拡張して画像処理を実行できる。また、その他の構成として、画像形成装置100に外付けするオプションボード備えるCPUやGPUを用いてもよく、これにより、拡張処理をより柔軟な形態で実行できる。なお、拡張処理は画像処理に限定されるものではなく、画像処理以外の各種データ処理であってもよい。即ち、本実施例の拡張処理は、画像形成装置に装着される拡張部(例えばプログラムロジックデバイスを備える)で実行される処理であっても、外部サービスにより実行される処理であってもよく、これらの処理が混在していてもよい。
また、画像形成装置100が備える拡張処理は、処理E1〜E3に限定するものでなく、他の画像処理を拡張処理として備えてもよい。以下、図11を用いて説明する。
図11は、他の製造者による拡張処理の拡張処理情報と、係る設定操作を行う表示画面を例示する図である。
図11は、他の製造者による拡張処理の拡張処理情報と、係る設定操作を行う表示画面を例示する図である。
例えば、画像形成装置100は、拡張処理情報700として、さらに、図11(a)で示す拡張処理(740、750)を備えるとする。ここで、処理E10(740)、処理E20(740)は、処理E1〜E3とは異なる製造者ID(754、755)を備える製造者により作成されたものである。よって、処理E10〜E20は、処理E1〜E3との同時実行(連携して実行すること)が想定されていない処理であるため、ここでは連携して実行不可能な拡張処理として扱う。このような場合でも、処理E1〜E3が備えるグループ情報(714)と異なるグループ情報(744、745)を適切に備えることで、互いの処理を同時実行しない制御ができる。
このとき、図11(b)で示すように、操作部102で表示する拡張機能の設定画面1020は、さらに、処理E10に対応する機能指定ボタン1024と、処理E11に対応する機能指定ボタン1025を備える。ボタン1024を押下した場合(1030)に、操作部制御部950は、拡張処理情報700に基づき、グループ情報705が同じ処理のボタン1025を有効とし、グループ情報705が異なる処理のボタン(1021〜1023)を無効にする表示制御を行う。即ち、操作部制御部950は、連携して実行不可能な拡張処理同士を連携する設定を禁止するように操作画面の表示制御を行う。これにより、拡張処理の設定指示を適切に制御でき、互いの処理を同時実行しない(連携して実行しない)制御が可能である。
上記実施例では、画像形成装置において画像パス情報に基づき画像処理を実行する場合に本発明を適用する例について説明した。しかし、本発明は、例えば、パーソナルコンピュータ等の画像形成装置以外の各種情報処理装置の各種データ処理についても適用可能である。なお、上記の各種データ処理は、外部のサーバやクラウドサービス等で提供される処理であってもよい。
以上のように、画像形成装置に外付けするオプションボードのFPGA等で追加した画像処理の実行順序を定めた画像パスを予め備え、画像形成装置の機能実行時の設定情報に基づき、後から追加した画像処理を適切な順序で実行する画像パスを構成する。これにより、予め備える画像パスを変更することなく追加した画像処理を用いた新規な機能を実行できる。
なお、本発明は、画像形成装置に限定されるものではなく、画像形成装置と同様に拡張機能として実行可能な処理を追加可能であり、且つパス情報に基づいて処理を連携する各種の情報処理装置(例えば携帯端末や各種家電)にも適用可能である。この場合、追加される処理も画像処理に限定されるものではなく、各種処理に適用可能である。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
100 画像形成装置
105 拡張処理部
106 CPU
114 HDD
121 拡張IF
105 拡張処理部
106 CPU
114 HDD
121 拡張IF
Claims (10)
- 複数の処理の組み合わせと実行順序を示すパス情報に基づいて複数の処理を連携して実行制御する制御手段と、
拡張機能として実行可能な処理を追加可能な追加手段と、
前記パス情報として、前記追加手段により追加される拡張処理を抽象化した処理を含むパス情報を保持する第1保持手段と、
前記抽象化した処理の実体を示す前記拡張処理の管理情報を保持する第2保持手段と、
連携して実行指示する前記拡張処理を含む複数の処理を設定するための設定手段と、
前記設定手段による設定情報に基づいて、前記第1保持手段に保持されているパス情報からいずれかのパス情報を選択する選択手段と、
前記選択手段で選択されたパス情報に含まれる前記抽象化した処理を具体化する拡張処理を、前記管理情報に基づいて決定する決定手段と、を有し、
前記制御手段は、前記選択手段で選択されたパス情報に基づいて、前記決定手段で決定された拡張処理を含む複数の処理を連携して実行制御することを特徴とする情報処理装置。 - 前記管理情報は、前記拡張処理ごとに、拡張処理が前記抽象化した処理のいずれに対応するかを示す第1管理情報と、同一の第1管理情報を有する拡張処理同士の実行順序を示す第2管理情報と、を含み、
前記決定手段は、1の抽象化した処理に対して複数の拡張処理が決定された場合、前記第2管理情報に基づいて、該複数の拡張処理の実行順序を決定することを特徴とする請求項1に記載の情報処理装置。 - 前記管理情報は、連携して実行不可能な拡張処理を特定可能な第3管理情報を含み、
前記設定手段は、前記第3管理情報に基づいて、連携して実行不可能な拡張処理同士を連携する設定を禁止することを特徴とする請求項1又は2に記載の情報処理装置。 - 前記追加手段により前記拡張処理が追加されるタイミングで、該拡張処理に対応する管理情報が前記第2保持手段に登録されることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
- 前記拡張処理は、前記情報処理装置に装着される拡張部で実行される処理を含むことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
- 前記拡張部は、プログラマブルロジックデバイスを備えることを特徴とする請求項5に記載の情報処理装置。
- 前記拡張処理は、外部サービスにより実行される処理を含むことを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
- 前記情報処理装置は、画像形成装置であり、
前記拡張処理は、画像処理であることを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。 - 複数の処理の組み合わせと実行順序を示すパス情報に基づいて複数の処理を連携して実行制御する制御手段と、拡張機能として実行可能な処理を追加可能な追加手段と、前記パス情報として、前記追加手段により追加される拡張処理を抽象化した処理を含むパス情報を保持する第1保持手段と、前記抽象化した処理の実体を示す前記拡張処理の管理情報を保持する第2保持手段と、を有する情報処理装置の制御方法であって、
連携して実行する前記拡張処理を含む複数の処理を設定する設定ステップと、
前記設定ステップでの設定情報に基づいて、前記第1保持手段に保持されているパス情報からいずれかのパス情報を選択する選択ステップと、
前記選択ステップで選択されたパス情報に含まれる前記抽象化した処理を具体化する拡張処理を、前記管理情報に基づいて決定する決定ステップと、
前記選択ステップで選択されたパス情報に基づいて、前記決定ステップで決定された拡張処理を含む複数の処理を連携して実行制御するステップと、
を有することを特徴とする情報処理装置の制御方法。 - コンピュータを、請求項9に記載の制御方法を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015239561A JP2017108250A (ja) | 2015-12-08 | 2015-12-08 | 情報処理装置、情報処理装置の制御方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015239561A JP2017108250A (ja) | 2015-12-08 | 2015-12-08 | 情報処理装置、情報処理装置の制御方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017108250A true JP2017108250A (ja) | 2017-06-15 |
Family
ID=59061075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015239561A Pending JP2017108250A (ja) | 2015-12-08 | 2015-12-08 | 情報処理装置、情報処理装置の制御方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017108250A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110531943A (zh) * | 2019-08-07 | 2019-12-03 | 北京数衍科技有限公司 | 基于fpga的usb数据桥接方法 |
-
2015
- 2015-12-08 JP JP2015239561A patent/JP2017108250A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110531943A (zh) * | 2019-08-07 | 2019-12-03 | 北京数衍科技有限公司 | 基于fpga的usb数据桥接方法 |
CN110531943B (zh) * | 2019-08-07 | 2023-01-13 | 北京数衍科技有限公司 | 基于fpga的usb数据桥接方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001306170A (ja) | 画像処理装置、画像処理システム、画像処理装置使用制限方法及び記憶媒体 | |
US9232103B2 (en) | Terminal apparatus and computer readable medium | |
US9332151B2 (en) | Image processing apparatus, method of controlling the same and storage medium | |
JP2013190950A (ja) | 制御装置、及び起動方法 | |
US10037591B2 (en) | Information processing apparatus and method of controlling the same | |
JP6588788B2 (ja) | 情報処理装置とその制御方法、及びプログラム | |
JP2017108250A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
US20160352948A1 (en) | Image forming apparatus, image forming system, and image forming method | |
JP6439987B2 (ja) | 電子機器システムおよびファームウェア更新管理プログラム | |
JP5821318B2 (ja) | 画像処理装置、マクロ名称決定方法及びマクロ名称決定プログラム | |
JP2012165325A (ja) | 画像処理装置、画面制御プログラム及び記録媒体 | |
JP2008304548A (ja) | 画像形成装置 | |
JP6669101B2 (ja) | 電子機器及び起動シーケンス生成プログラム | |
JP7229786B2 (ja) | 制御装置、画像形成装置及び起動方法 | |
JP4021289B2 (ja) | 画像形成装置、記憶領域確保方法 | |
JP2017167755A (ja) | 情報処理システム、情報処理装置、情報処理方法、及びプログラム | |
JP2021010137A (ja) | 画像形成装置、その制御方法、及びプログラム | |
US11785151B2 (en) | Information processing apparatus, flow execution method, and non-transitory computer-readable storage medium for controlling executions of multiple functions | |
US11165925B2 (en) | API for printing apparatus functions | |
US20240015257A1 (en) | Printing system, terminal device, and non-transitory computer readable medium | |
US11330130B2 (en) | Image processing apparatus, method, and storage medium | |
JP2017152824A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP7346937B2 (ja) | 情報処理装置、情報処理方法、プログラム、画像形成システム | |
JP2010252079A (ja) | 画像形成装置のジョブ登録及びその高速起動 | |
JP2017193129A (ja) | 情報処理装置、情報処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20180306 |