説明

画像形成装置、操作画面の取得方法

【課題】操作画面のキャプチャリングを行う場合、ライトユーザが直感的に理解できるレベルの操作で実行でき、様々な使用目的を想定した拡張性を備えさせる。
【解決手段】操作画面として表示される画像データを保持する画面キャプチャ部61を有し、コントローラ部70は、入力部に応じて該入力部からのデータの入力処理を制御する第一のフィルタと、出力部に応じて該出力部への出力を制御する第二のフィルタと、を有し、前記第一のフィルタと前記第二のフィルタとの接続によりアプリケーションが構築される画像形成装置であって、前記画面キャプチャ部61が保持する前記画像データを取得し、取得した該画像データを前記第二のフィルタが処理可能なデータ形式に変換し、データ形式を変換した該画像データを該第二のフィルタに提供する、前記第一のフィルタである画面キャプチャフィルタ307を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置における操作画面をキャプチャする技術に関する。
【背景技術】
【0002】
複合機における操作画面をキャプチャリングすることは、当該複合機のマニュアル作成や障害報告など幅広い目的で実施されている。また、画面キャプチャを行うユーザは、複合機で動作するプログラムや技術に詳しい技術者という訳ではなく、寧ろライトユーザであることが多い。従って、複合機における操作画面のキャプチャリングについては、ライトユーザであっても直感的に理解できるレベルの操作で実行することができると共に、単に画像データを作成するだけに留まらない様々な使用目的を想定した拡張性も備える必要がある。
【0003】
一方、機能のカスタマイズ又は拡張等を簡便化させるために、パイプ&フィルタ機構を備える画像形成装置が提案されている(特許文献1等)。当該技術において、画像形成装置が提供する各機能は、ドキュメント(データ)に対する、入力、加工及び出力によって構成される「変換」の連続として一般化することによって、これらの「変換」を実現する複数のソフトウェア部品(フィルタ)を接続することで実現される。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、上記パイプ&フィルタ機構を備える画像形成装置における操作画面のキャプチャリングは、ライトユーザが直感的に理解できるレベルの操作では実行できず、また、様々な使用目的を想定した拡張性が備わっていないという問題点があった。
【0005】
そこで、本発明では、上記問題点に鑑み、パイプ&フィルタ機構を備える画像形成装置において操作画面のキャプチャリングを行う場合、ライトユーザが直感的に理解できるレベルの操作で実行でき、様々な使用目的を想定した拡張性が備わる画像形成装置および操作画面の取得方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
開示の画像形成装置の一形態は、画像処理の対象とするデータを入力する一つ以上の入力部と、該画像処理の結果を出力する一つ以上の出力部と、操作画面の表示を制御する操作部と、該画像処理を制御するコントローラ部と、を有し、前記操作部は、前記操作画面として表示される画像データを保持する画面キャプチャ部を有し、前記コントローラ部は、前記入力部に応じて該入力部からのデータの入力処理を制御する第一のフィルタと、前記出力部に応じて該出力部への出力を制御する第二のフィルタと、を有し、前記第一のフィルタと前記第二のフィルタとの接続によりアプリケーションが構築される画像形成装置であって、前記画面キャプチャ部が保持する前記画像データを取得し、取得した該画像データを前記第二のフィルタが処理可能なデータ形式に変換し、データ形式を変換した該画像データを該第二のフィルタに提供する、前記第一のフィルタである画面キャプチャフィルタを有することを特徴とする。
【発明の効果】
【0007】
開示の画像形成装置は、パイプ&フィルタ機構を備える画像形成装置において操作画面のキャプチャリングを行う場合、ライトユーザが直感的に理解できるレベルの操作で実行でき、様々な使用目的を想定した拡張性を備える。
【図面の簡単な説明】
【0008】
【図1】本実施の形態に係る画像形成装置のソフトウェア構成例を示す図である。
【図2】本実施の形態に係るパイプ&フィルタの概念を説明するための図である。
【図3】本実施の形態に係るフィルタの構成要素を説明するための図である。
【図4】本実施の形態に係る画像形成装置における各機能を実現するためのフィルタの組合せの例を示す図である。
【図5】本実施の形態に係る画像形成装置の概略を説明する図である。
【図6】本実施の形態に係る画像形成装置の機能ブロック図である。
【図7】本実施の形態に係る変換部の詳細を説明するための図である。
【図8】本実施の形態に係るサムネイル画像及びプレビュー画像の形式例を示す図である。
【図9】本実施の形態に係る画面キャプチャフィルタをJava(登録商標)で実装した場合のクラス図である。
【図10】本実施の形態に係る画面キャプチャフィルタをJava(登録商標)で実装した場合の各クラスの責務を説明するための図である。
【図11】本実施の形態に係る画像形成装置による画面キャプチャ処理のシーケンス図(その1)である。
【図12】本実施の形態に係る画像形成装置によってキャプチャした画像データを保存する処理のダイアグラムである。
【図13】本実施の形態に係る画像形成装置による画面キャプチャ処理のシーケンス図(その2)である。
【図14】本実施の形態に係る画像形成装置による画面キャプチャ処理のシーケンス図(その3)である。
【図15】本実施の形態に係る画像形成装置による画面キャプチャ処理のフローチャート(その1)である。
【図16】本実施の形態に係る画像形成装置による画面キャプチャ処理のフローチャート(その2)である。
【図17】本実施の形態に係る画像形成装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0009】
図面を参照しながら、本発明を実施するための最良の形態について説明する。
<パイプ&フィルタ機構の概要について>
図1は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。ここで、画像形成装置とは、プリンタ、コピー、スキャナ、又はFAX等の複数の機能を一台の筐体において実現するものをいう。
【0010】
図1に示されるように、画像形成装置1におけるソフトウェアは、ユーザインタフェース層10、コントロール層20、アプリケーションロジック層30、デバイスサービス層40、及びデバイス制御層50等より構成される。なお、図中における各層の上下関係は、層間の呼び出し関係に基づいている。すなわち、基本的に図中において上にある層が下の層を呼び出す。
【0011】
ユーザインタフェース層10は、機能(例えば、コピー、印刷、スキャン、FAX送信)の実行要求を受け付けるための機能が実装されている部分であり、例えば、通信サーバ部11及びローカルUI部12等が含まれる。通信サーバ部11は、例えば、非図示のクライアントPC(Personal Computer)等からネットワーク経由で要求を受け付ける。ローカルUI部12は、例えば、非図示のオペレーションパネルを介して入力される要求を受け付ける。ユーザインタフェース層10において受け付けられた要求は、コントロール層20に伝えられる。
【0012】
コントロール層20は、要求された機能を実現するための処理を制御するための機能が実装されている部分である。具体的には、要求された機能に応じて、アプリケーションロジック層30における各フィルタを接続し、接続されたフィルタに基づいて機能の実行を制御する。なお、本実施の形態において「画像形成装置1の機能」とは、画像形成装置1がユーザに対して提供する一つのまとまった単位(要求が入力されて最終的な出力が得られるまで)のサービスと同義であり、ソフトウェア的には一つのまとまった単位のサービスを提供するアプリケーションと同義である。
【0013】
アプリケーションロジック層30は、それぞれが画像形成装置1において提供される機能の一部を実現する部品群が実装されている部分である。すなわち、アプリケーションロジック層30における部品を組み合わせることにより一つの機能が実現される。本実施の形態では、各部品を「フィルタ」と呼ぶ。これは、画像形成装置1のソフトウェアアーキテクチャが「パイプ&フィルタ」と呼ばれる考え方に基づくことによる。
【0014】
図2は、パイプ&フィルタの概念を説明するための図である。図2において、「F」はフィルタを示し、「P」はパイプを示す。図中に示されるように、各フィルタはパイプによって接続される。フィルタは、入力されたデータに対して変換を施し、その結果を出力する。パイプは、フィルタから出力されたデータを次のフィルタに伝達する。
【0015】
すなわち、本実施の形態における画像形成装置1では、各機能をドキュメント(データ)に対する「変換」の連続として捉える。複合機の各機能は、ドキュメントの入力、加工、及び出力によって構成されるものとして一般化することができる。そこで「入力」、「加工」、及び「出力」を「変換」として捉え、一つの「変換」を実現するソフトウェア部品がフィルタとして構成される。入力を実現するフィルタを特に「入力フィルタ」という。また、加工を実現するフィルタを特に「変換フィルタ」という。更に、出力を実現するフィルタを特に「出力フィルタ」という。なお、各フィルタは独立しており、フィルタ間における依存関係(呼び出し関係)は基本的に存在しない。したがって、フィルタ単位で追加(インストール)又は削除(アンインストール)が可能とされている。
【0016】
図1において、アプリケーションロジック層30には、入力フィルタとして、読取フィルタ301、保管文書読出フィルタ302、メール受信フィルタ303、FAX受信フィルタ304、PC文書受信フィルタ305、レポートフィルタ306等が含まれている。
【0017】
読取フィルタ301は、スキャナによる画像データの読み取りを制御し、読み取られた画像データを出力する。保管文書読出フィルタ302は、画像形成装置1の記憶装置に保管されている文書データ(画像データ)を読み出し、読み出されたデータを出力する。メール受信フィルタ303は、電子メールの受信し、当該電子メールに含まれているデータを出力する。FAX受信フィルタ304は、FAX受信を制御し、受信されたデータを出力する。PC文書受信フィルタ305は、非図示のクライアントPCから印刷データを受信し、受信された印刷データを出力する。レポートフィルタ306は、画像形成装置1の設定情報や履歴情報等を、例えば表形式に整形されたデータとして出力する。
【0018】
また、変換フィルタとしては、文書加工フィルタ311及び文書変換フィルタ312等が含まれている。文書加工フィルタ311は、入力されたデータに所定の画像変換処理(集約、拡大、又は縮小等)を施し、出力する。文書変換フィルタ312は、レンダリング処理を実行する。すなわち、入力されたPostScriptデータをビットマップデータに変換して出力する。
【0019】
また、出力フィルタとしては、印刷フィルタ321、保管文書登録フィルタ322、メール送信フィルタ323、FAX送信フィルタ324、PC文書送信フィルタ325、及びプレビューフィルタ326等が含まれている。
【0020】
印刷フィルタ321は、入力されたデータをプロッタに出力(印刷)させる。保管文書登録フィルタ322は、入力されたデータを画像形成装置1内のハードディスク内に保存する。メール送信フィルタ323は、入力されたデータを電子メールに添付して送信する。FAX送信フィルタ324は、入力されたデータをFAX送信する。PC文書送信フィルタ325は、入力されたデータをクライアントPCに送信する。プレビューフィルタ326は、入力されたデータを、画像形成装置1のオペレーションパネルにプレビュー表示させる。
【0021】
デバイスサービス層40は、アプリケーションロジック層30における各フィルタから共通に利用される下位機能が実装されている部分であり、例えば、画像パイプ41及びデータ管理部42等が含まれる。画像パイプ41は、上述したパイプの機能を実現する。すなわち、或るフィルタからの出力データを次のフィルタに伝達する。データ管理部42は、各種のデータベースを表現する。例えば、ユーザ情報が登録されたデータベースや、文書又は画像データ等が蓄積されるデータベース等が相当する。
【0022】
デバイス制御層50は、デバイス(ハードウェア)を制御するドライバと呼ばれるプログラムモジュール群が実装されている部分であり、例えば、スキャナ制御部51、プロッタ制御部52、メモリ制御部53、Tel回線制御部54、及びネットワーク制御部55等が含まれる。各制御部は、当該制御部の名前に付けられているデバイスを制御する。
【0023】
フィルタについて更に詳しく説明する。図3は、フィルタの構成要素を説明するための図である。図3に示されるように、各フィルタは、フィルタ設定用UI、フィルタロジック、フィルタ固有下位サービス、及び永続記憶領域情報等より構成される。このうち、フィルタ設定用UI、フィルタ固有下位サービス、及び永続記憶領域情報については、フィルタによって必ずしも構成要素に含まれない。
【0024】
フィルタ設定用UIは、フィルタの実行条件等を設定させるための画面をオペレーションパネル等に表示させるプログラムである。例えば、読取フィルタ301であれば、解像度、濃度、画像種別等を設定させる画面が相当する。なお、オペレーションパネルの表示がHTMLデータや、スクリプトに基づいて行われ得ることに鑑みれば、フィルタ設定用UIはHTMLデータやスクリプトであってもよい。
【0025】
フィルタロジックは、フィルタの機能を実現するためロジックが実装されたプログラムである。すなわち、フィルタの構成要素としてのフィルタ固有下位サービスや、デバイスサービス層40又はデバイス制御層50等を利用して、フィルタ設定用UIを介して設定された実行条件に応じてフィルタの機能を実現する。例えば、読取フィルタ301であれば、スキャナによる原稿の読み取り制御のためのロジックが相当する。
【0026】
フィルタ固有下位サービスは、フィルタロジックを実現するために必要な下位機能(ライブラリ)である。すなわち、デバイスサービス層40又はデバイス制御層50相当する機能であるが、他のフィルタから使用されないものについては、フィルタの一部として実装されてもよく、当該一部がフィルタ固有下位サービスに相当する。例えば、読取フィルタ301であれば、スキャナを制御するための機能が相当するが、本実施の形態では、デバイス制御層50においてスキャナ制御部51として実装されている。したがって、読取フィルタ301において、フィルタ固有下位サービスの実装は必ずしも必要ではない。
【0027】
永続記憶領域情報は、フィルタに対する設定情報(例えば、実行条件のデフォルト値)等、不揮発メモリに保存する必要があるデータのスキーマ定義が相当する。当該スキーマ定義は、フィルタのインストール時にデータ管理部42に登録される。
【0028】
図4は、本実施の形態の画像形成装置における各機能を実現するためのフィルタの組み合わせの例を示す図である。例えば、コピー機能は、読取フィルタ301と印刷フィルタ321とを接続することにより実現される。読取フィルタ301によって原稿より読み取られた画像データを印刷フィルタ321によって印刷すればよいからである。なお、集約、拡大、又は縮小等の加工が要求された場合は、これらの加工を実現する文書加工フィルタ311が二つのフィルタの間に挿入される。
【0029】
プリンタ機能(クライアントPCからの印刷機能)は、PC文書受信フィルタ305と文書変換フィルタ312と印刷フィルタ321とを接続することにより実現される。スキャンto email機能(スキャンした画像データを電子メールで転送する機能)は、読取フィルタ301とメール送信フィルタ323とを接続することによって実現される。FAX送信機能は、読取フィルタ301とFAX送信フィルタ324とを接続することによって実現される。FAX受信機能は、FAX受信フィルタ304と印刷フィルタ321とを接続することによって実現される。ドキュメントボックス蓄積機能(スキャンした画像データを画像形成装置1内に保存する機能)は、読取フィルタ301と保管文書登録フィルタ322とを接続することによって実現される。ドキュメントボックス印刷機能(画像形成装置1内に保存されている文書データを印刷する機能)は、保管文書読出フィルタ302と印刷フィルタ321とを接続することにより実現される。
【0030】
図4において、例えば、読取フィルタ301については5つの機能において利用されている。このように、各フィルタは複数の機能から利用可能であり、それによって各機能を実現するための開発工数を削減することができる。例えば、コピー機能とスキャン機能(ドキュメントボックス蓄積)について、その実行条件を設定させるためのユーザインタフェースは類似しているものであった。しかし、各機能をアプリケーションによって実装する場合には、アプリケーションごとに個別にユーザインタフェースの実装も行われていた。しかし、本実施の形態では、コピー機能及びスキャン機能のいずれの場合も、読取フィルタ301のユーザインタフェースによって設定が行われ、ユーザインタフェースの共通化をも図ることができる。
【0031】
更に、新たな機能を実現する場合について考える。まず、機能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とを接続することにより実現される。
【0032】
次に、機能2として、Webサイトから情報を収集し、収集された情報を印刷する機能(以下「機能2」という。)を実現する場合について考える。この場合、Webサイトから情報を収集するフィルタが存在しない。したがって、少なくともWebサイトから情報を収集する入力フィルタ(以下「Web収集フィルタ」という。)を新たに実装する必要がある。また、機能2では最終的に印刷を実行させたいので、出力フィルタとしては印刷フィルタ321を用いるのが適切である。ここで問題となるのが、Web収集フィルタと印刷フィルタ321との間をどのように接続するかである。すなわち、印刷フィルタ321の入力データはレンダリングされたビットマップである必要があるところ、Web収集フィルタ内にレンダリング機能を実装するのは非常に工数がかかるので適切ではない。そこで、既にレンダリング機能を実現する文書変換フィルタ312を利用することが考えられる。ただし、文書変換フィルタ312の入力データは、PostScript形式である必要がある。そこで、Web収集フィルタを、収集した情報をPostScript形式によって出力するように実装すれば、文書変換フィルタ312との接続が可能となる。このようにWeb収集フィルタを実装することにより、機能2は、Web収集フィルタと文書変換フィルタ312と、文書変換フィルタ312と印刷フィルタ321との接続により実現される。
【0033】
<第1実施例>
図5乃至10を用いて、本発明に係る画像形成装置1の第1実施例について説明する。図5で示すように、画像形成装置1において、操作部60とコントローラ部70がそれぞれ異なるOS(Operating System)、CPU(Central Processing Unit)を採用しており、操作部60及びコントローラ部70は相互通信によって処理命令を実行する。
【0034】
画像形成装置1は、画面キャプチャ機能を実現する画面キャプチャフィルタ307を入力フィルタとして備える。これにより、変換フィルタや出力フィルタと接続して、新しい機能を実現することができる。
【0035】
図6は、入力フィルタについて、特に画面キャプチャフィルタ307に着目して、キャプチャ画像データの流れを説明する図である。ここで、操作部60のOSとしてLinux(登録商標)を採用する。Linux(登録商標)では、操作部60上のLCDに表示されている操作画面の情報が、フレームバッファとして格納されている。
【0036】
そして、S10でコントローラ部70側の画面キャプチャフィルタ307の管理部3073が要求をすると、S20で操作部60の画面キャプチャ部61が当該フレームバッファをOSから取得する。そして、S30、40で送信部62がコントローラ70側へ取得したフレームバッファを送信する。このとき、フレームバッファ(画面キャプチャのデータ)はzip形式でデータ圧縮されて送信される。
【0037】
S40で画面キャプチャフィルタ307の受信部3071が、当該圧縮されたデータを受信すると共に、変換部3072が「解凍処理」「bit変換処理」「JPEG方式への変換処理」を実施する。
【0038】
図7は、画面キャプチャフィルタ307の変換部3072を詳細に説明するための図である。図7で示すように、解凍後のフレームバッファは16bitの画像データであるため、変換部3072は、当該解凍後のフレームバッファを24bitに変換する。そして、他のフィルタが汎用的に使用できるように、変換部3072は、24bitに変換したデータをJPEG形式に変換し、保存する。ここで、変換部3072は、当該JPEG形式に変換されたデータの他に、蓄積文書として閲覧管理できるように、サムネイル画像とプレビュー画像を同時に生成する。
【0039】
図8に変換部3072によって生成されるサムネイル画像とプレビュー画像の形式の一例を示す。これらの画像データは、文書管理番号(imageId)や書誌情報などのデータと共に保存されるため、次の出力フィルタへ接続することで、印刷、送信及び文書保存などの機能を実現することができる。
【0040】
図9及び10は、Java(登録商標)で実装された画面キャプチャフィルタ307のクラス図である。Java(登録商標)での実装を示すクラス図は、入力フィルタである画面キャプチャ(Screen Capture Filter Logic)を実装している層と、入力フィルタを作成するために必要な処理を提供している共通ライブラリの層とに大まかに区別することができる。入力フィルタが共通ライブラリを使用する際には、必ずbridgeクラスを通して使用するように設計されているが、これはクラス間の依存関係、継承関係を単純化するためのJava(登録商標)の設計手法であり、デザインパターンとして一般的に広く知られている。
【0041】
図10には、図9で示す各クラスの責務について、図6のブロック図と対応させて記載した。図10で示すように、「Screen Capture Filter Logic」クラス101は、画面キャプチャの入力フィルタのクラスである。「Screen Capture Filter Job」クラス102は、画面キャプチャの実行処理のクラスであり、図6の管理部3073に該当する。「Screen Capture」クラス103は、Bridgeクラス109を通して「Operation Panel Service」クラス110のサービスとイベントを獲得するクラスであり、図6の受信部3071に該当する。
【0042】
「Image Capture」クラス104は、Bridgeクラス109を通して「Operation Panel Service」クラス110のサービスとイベントを獲得するクラスであり、図6の受信部3071に該当する。「Image Data Encoder」クラス105は、「Operation Panel Service」クラス110からの画像データを解凍し、16bit raw形式から24bit raw形式へ変換するクラスであり、図6の変換部3072に該当する。
【0043】
「Operation Panel Service」クラス110は、操作部60への処理要求を通信によって行うクラスである。「Operation Panel」クラス113は、図6で示す操作部60の画面キャプチャ部及び送信部に該当するクラスである。「Jpeg Creater」クラス106は、「Image Data Encoder」クラス105によって変換した24bit raw形式の画像データをJPEG形式に変換するクラスであり、図6の変換部3072に該当する。
【0044】
「Create Jpeg Lib」クラス108は、解凍、16bitから24bitへの変換、元画像/プレビュー画像/サムネイル画像の生成を行うメソッドを提供するクラスであり、図6の変換部3072に該当する。「Access Control」クラス107は、メモリを使用できるか、又はHDD容量があるかを確認し、アクセス権を設定するクラスである。「Pipe Data」クラス112は、後続フィルタへデータを渡すための画像データ形式である。「Bridge」クラス109は、入力フィルタ作成のための共通ライブラリのI/F(Interface)呼び出しを担当するクラスであり、共通ライブラリのI/F呼び出しには必ず「Bridge」クラス109を経由する。
【0045】
次に、図11を用いて、画像形成装置1における処理の流れを説明する。図11は、図9及び10に対応したシーケンス図である。画面キャプチャの処理は、画像形成装置1上の一つのジョブ(S100:capture Screen())として扱われる。処理「S110:capture()」、「S120:capture()」、「S130:capture()」、「S140:capture()」、「S150:capture()」は総じてフレームバッファの取得という処理要求を操作部60へ委譲している。その中でImage Capturerクラス104は、フィルタを作成するための共通ライブラリであるOperation Panel Service110を使用しており、Bridge109を通してOperation Panel Service110に処理要求「S130:capture()」を実施する。Operation Panel Service110は、通信によってOperation Panel113(操作部60)へフレームバッファの取得要求(S150:capture())を行う。
【0046】
要求を受けたOperation Panel113はフレームバッファの取得と圧縮処理を行い、通信によって圧縮された画面キャプチャデータをコントローラ部70側のOperation Panel Service110に返す。ここまでの処理により、Screen Capture Filter Job102は操作部60から送信された圧縮形式の画面キャプチャのデータを得ることになる。
【0047】
次にScreen Capture Filter Job102は、受け取った圧縮ファイルを解凍し、24bitの画像データに変換を行う。24bitの画像データを取得する理由は、広く使用されているJPEG処理ライブラリのlibjpeg(http://www.ijg.org/)によって、最終的にJPEGファイルに変換するのに必要になるためである。libjpegライブラリはJNIコールによって、CreateJpegLibクラスで使用される。圧縮ファイルの解凍から24bitの画像データ変換までの一連の処理はImage Data Encoderクラス105が担当する。
【0048】
処理「S160:deCompress And Convert Data()」は、Screen Capture Filter Job102がImage Data Encoder105に圧縮された画像データを渡して、24bitの画像データの取得を要求するものである。処理「S170:start Hdd Use()」では、解凍したファイルをHDD上に一時的に置けるようアクセス権の設定を行う。処理「S180:deCompress And Convert()」では、Create Jpeg Lib (libjpeg)108を使用して実際に圧縮ファイルの解凍と24bitの画像データへ変換を行う。「S190:end Hdd Use()」では、使用したHDD領域のアクセス権を元に戻し、「S200:delete File()」において、不要になったテンポラリファイルの削除を実施する。
【0049】
処理「S210:encode()」は、24bit形式に変換した画像データを最終的にJPEG形式の本画像データ、プレビュー画像データ、サムネイル画像データを作成し、それぞれにIDを付与して各フィルタで扱えるPipe Dataの形式にする処理を示している。その内部処理である、処理「S220:create Jpeg Data()」はJPEG形式の本画像データ、プレビュー画像データ、サムネイル画像データを作成する処理を示している。処理「S230:start Hdd Use()」では、JPEGファイルへの変換に必要なテンポラリファイルをHDD上に一時的に置けるようにアクセス権の設定を行う。処理「S240:create Jpeg()」では、Create Jpeg Lib (libjpeg)108を使用して24bitの画像データから3種類のJPEGファイルの作成を行う。「S250:end Hdd Use()」では、使用したHDD領域のアクセス権を元に戻し、「S260:delete File()」において、不要になったテンポラリファイルの削除を実施する。
【0050】
処理「S270:load Image Data()」は、生成した3種類のJPEGファイルそれぞれにIDを付与してPipe Dataの属性値として設定して、他のフィルタに渡すことができるようにする処理である。以上のように、画面キャプチャフィルタ307(Screen Capture Filter Job103)は操作部60からフレームバッファを取得し、他のフィルタ処理に渡せるデータ形式に画像データを変換する。
【0051】
<第2実施例>
図12を用いて、本発明に係る第2実施例について説明する。図12は、文書蓄積フィルタ322など他のフィルタと組み合わせて、蓄積文書としてキャプチャ画像を保存する処理のダイアグラムを示す図である。図12では、既存のフィルタを流用して、操作部60のハードキーを押下すると、操作部60の表示装置(LCD)に表示される操作画面をキャプチャし、ブザーを鳴動させて蓄積文書に保存させるアプリケーションに関するダイアグラムを示している。
【0052】
図12に示すアプリケーション(Screen Capture Activity)は、画面キャプチャフィルタ307に加えて、他のアプリケーションでも使用されている変換フィルタ、文書蓄積フィルタ322を従えており、それぞれに対して、順番に処理をするように要求を行う。S300でこのアプリケーションは操作部(Operation Panel Service)60の所定のハードキーに対して、画面キャプチャ機能をアサインするように、キーイベントの監視を行う。
【0053】
S310でこの操作部60のハードキーがユーザによって押下されると、キーイベントはアプリケーションに通知され、S320でアプリケーションは画面キャプチャフィルタ(Screen Capture Filter)307へ処理要求を行う。S330、S340で画面キャプチャフィルタ307は操作部60から画面データを取得し、JPEG形式に変換を行う。S350、S360で画面キャプチャフィルタ307はこのJPEG画像データを、ImageIdなどのデータと共に変換フィルタ(Process Filter)に渡す。この変換フィルタはJPEG画像などに対して、バーコードを埋め込むなどの処理を行うものであり、存在しなくても良い。
【0054】
S370、S380で文書蓄積フィルタ(Storage Doc Writer Filter)322は、JPEG画像データを所定の場所に保存し、アプリケーションに操作画面のキャプチャ画像が保存されたことを通知する。S380でアプリケーションは操作部60へブザー鳴動の要求を出して、ユーザに処理が完了したことを伝える。このような3つのフィルタをパイプ&フィルタ形式によって接続することで、ハードキーを押すだけで表示装置に表示される操作画面が蓄積文書として保存されるという機能を達成することができる。
【0055】
<第3実施例>
ここでは、図13を用いて、本発明の第3実施例について説明する。図13は、第2実施例2を応用した実施例であって、ハードキーの押下を継続すると、一定の時間間隔で画面キャプチャを行う処理のシーケンス図である。S400、S410でコントローラ部70側にある画面キャプチャフィルタ307の管理部3073は、ハードキー押下イベント通知を受けると、S420で操作部管理モジュールへ操作部60の画面キャプチャ処理が開始されたことを通知する。
【0056】
その後、ハードキーが離される(ハードキーの押下状態が終了する)まで、次の処理が繰り返される。S430、S440で画面キャプチャ部61がフレームバッファをOS(Linux)から取得し、S450で画面キャプチャ部61がキャプチャ画像を圧縮する。S460、S470で送信部62がキャプチャ画像をコントローラ部70に送信し、S480で変換部3702がキャプチャ画像をフォーマット変換する。S490で管理部3073がキャプチャ画像の保存処理を行い、S500で操作部60へキャプチャ画像の保存完了通知を行う。
【0057】
上記処理により、例えば、画像形成処理中など、絶えず画面が遷移し、タイミングを計って操作画面のキャプチャリングを行うのが難しいケースにおいて、ハードキーの押下を継続することでキャプチャリングすることができ、有用である。
【0058】
<第4実施例>
第3実施例の場合、操作画面のキャプチャリングを行う都度、キャプチャ画像の送信とキャプチャ画像の保存完了通知を行う必要があり、操作部60・コントローラ部70間でキャプチャリング回数分の通信が発生することになる。そこで、第4実施例では、第3実施例3を応用して、ハードキーの押下を継続する場合に操作部60でフレームバッファを一定時間間隔で保存すると共に、取得・保存されたフレームバッファはハードキーの押下状態が終了した時点で圧縮され、一括してコントローラ部70へ送信する。
【0059】
S600、S610でコントローラ部70側にある画面キャプチャフィルタ307の管理部3073は、ハードキー押下イベント通知を受けると、S620で操作部管理モジュールへ操作部60の画面キャプチャ処理が開始されたことを通知する。
【0060】
その後、ハードキーが離される(ハードキーの押下状態が終了する)まで、所定の時間間隔で、S630、S640における画面キャプチャ部61がフレームバッファをOS(Linux)から取得する処理が繰り返される。
【0061】
ハードキーの押下状態が終了すると、S650で画面キャプチャ部61が、取得した複数のキャプチャ画像を一括して圧縮する。S660、S670で送信部62がキャプチャ画像をコントローラ部70に送信し、S680で変換部3702がキャプチャ画像をフォーマット変換する。S690で管理部3073がキャプチャ画像の保存処理を行い、S700で操作部60へキャプチャ画像の保存完了通知を行う。
【0062】
この方式を採用することにより、操作部60・コントローラ部70間で発生していた通信の回数を削減することできる。
【0063】
<第5実施例>
第2実施例で説明したようにキャプチャ画像を蓄積文書として保存するアプリケーションを作成した場合、サムネイル画像、プレビュー画像など補助的な役割で使用される画像も併せて生成する必要がある。一方で、画面をキャプチャリングする都度、これらサムネイル画像及びプレビュー画像を生成すると、処理全体のオーバーヘッドとなり、また画像データを保存する記憶領域を圧迫してしまう。
【0064】
そこで、上記課題を解決するために、所定の時間内に取得したキャプチャ画像は、一つのプレビュー画像及びサムネイル画像を共有することとする。図15は、上記方式を説明するためのフローチャートである。
【0065】
S800で画像形成装置1のシステムが起動すると、S810で画像形成装置1はプレビュー画像を共有する時間範囲rを設定値などから読み出して初期化する。ここで、ある画面キャプチャ画像が以前画面キャプチャ動作を行ってから、所定の時間内に取得されたものであるか否かの判定を行うためにt1、t2という二つの変数を用いる。t1は前回キャプチャデータを取得したときのタイムスタンプであり、t2は今回キャプチャデータを取得したときのタイムスタンプである。S820−860で画像形成装置1は、t2とt1との差分がrの範囲内であるか否か判定し、範囲内である場合(S860でNo)プレビュー画像及びサムネイル画像を作成しない。一方、範囲外の場合(S860でYes)前回プレビュー画像等を作成してから所定の時間以上経過したものと判断して、プレビュー画像及びサムネイル画像を生成する。
【0066】
この方式の場合のrは秒単位での短い時間が望ましい。なぜなら、あまりrを長くすると、サムネイル画像と実際に取得した画像データが乖離するからである。
【0067】
<第6実施例>
図16を用いて説明する第6実施例は、第5実施例と類似しているが、プレビュー画像及びサムネイル画像を生成する判定基準として、キャプチャ画像のRGB値など画像の特徴データを使用する。RGB値を使用することにより、例えば、キャプチャ画像の全体が更新されるような大きな画面遷移が発生した場合にのみ、共有させるプレビュー画像及びサムネイル画像を変更することが可能である。したがって、第5実施例では常に比較の対象を前回取得した画像のタイムスタンプとしていたが、RGB値を使用する場合、基準と定められたキャプチャ画像のRGB値の使用を継続する。この基準となるキャプチャ画像は、一定以上の差分rが検出された場合のみ更新する。
【0068】
ここで、画像形成装置1上のアプリケーションはユーザが違和感なく使用できるように、共通のレイアウトや表示部品を使用している場合が多い。この場合、単にRGB差分を求めただけでは、大きな画面遷移が発生したか否かの判断できなくなってしまう。このため、例えばアプリケーションのタイトル表示部など、特定の領域を比較の対象としても良い。
【0069】
S900で画像形成装置1のシステムが起動すると、S910で画像形成装置1は、キャプチャ画像と基準画像とを比較する対象画像領域と、許容される差分値rとを設定値より読み出す。S920で画像形成装置1は、基準画像をホワイト画像とし、対象画像領域のRGB値c1を算出する。S930−S950で画像形成装置1は操作画面のキャプチャ画像を取得し、当該キャプチャ画像における対象画像領域のRGB値c2を算出する。S960で画像形成装置1は、「c2−c1」を算出した結果と許容される差分値rとを比較し、「c2−c1」が大きい場合(S960でYes)、S970で画像形成装置1は、プレビュー画像及びサムネイル画像を生成する。一方、「c2−c1」がrより小さい場合(S960でNo)、S930に遷移し次の画面キャプチャ動作を行う。
【0070】
なお、以下に画像形成装置1のハードウェア構成の一例を示す。図17は、本発明の実施の形態における画像形成装置のハードウェア構成の一例を示す図である。画像形成装置1のハードウェアとしては、コントローラ201と、オペレーションパネル202と、ファクシミリコントロールユニット(FCU)203と、撮像部121と、印刷部122が存在する。
【0071】
コントローラ201は、CPU211、ASIC212、NB221、SB222、MEM−P231、MEM−C232、HDD(ハードディスクドライブ)233、メモリカードスロット234、NIC(ネットワークインタフェースコントローラ)241、USBデバイス242、IEEE1394デバイス243、セントロニクスデバイス244により構成される。
【0072】
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から出力を得るためのハードウェア(表示部)である。
【0073】
なお、図1に示されるソフトウェアは、例えば、MEM−C232に格納され、CPU211によって処理されることによりその機能を画像形成装置に実行させる。
【0074】
以上、本発明の実施の形態について詳述したが、本発明は係る特定の実施の形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲において、種々の変形・変更が可能である。
【符号の説明】
【0075】
1 複合機
10 ユーザインタフェース層(フィルタ選択手段の一例)
11 通信サーバ部
12 ローカルUI部
20 コントロール層(フィルタ接続手段の一例)
30 アプリケーションロジック層
40 デバイスサービス層
41 画像パイプ(伝達手段の一例)
42 データ管理部
50 デバイス制御層
51 スキャナ制御部
52 プロッタ制御部
53 メモリ制御部
54 Tel回線制御部
55 ネットワーク制御部
60 操作部
61 画面キャプチャ部
62 送信部
70 コントローラ部
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 レポートフィルタ
307 画面キャプチャフィルタ
311 文書変換フィルタ
312 文書変換フィルタ
321 印刷フィルタ
322 保管文書登録フィルタ
323 メール送信フィルタ
324 FAX送信フィルタ
325 PC文書送信フィルタ
326 プレビューフィルタ
3071 受信部
3072 変換部
3073 管理部
【先行技術文献】
【特許文献】
【0076】
【特許文献1】特開2007−325251号公報

【特許請求の範囲】
【請求項1】
画像処理の対象とするデータを入力する一つ以上の入力部と、該画像処理の結果を出力する一つ以上の出力部と、操作画面の表示を制御する操作部と、該画像処理を制御するコントローラ部と、を有し、前記操作部は、前記操作画面として表示される画像データを保持する画面キャプチャ部を有し、前記コントローラ部は、前記入力部に応じて該入力部からのデータの入力処理を制御する第一のフィルタと、前記出力部に応じて該出力部への出力を制御する第二のフィルタと、を有し、前記第一のフィルタと前記第二のフィルタとの接続によりアプリケーションが構築される画像形成装置であって、
前記画面キャプチャ部が保持する前記画像データを取得し、取得した該画像データを前記第二のフィルタが処理可能なデータ形式に変換し、データ形式を変換した該画像データを該第二のフィルタに提供する、前記第一のフィルタである画面キャプチャフィルタを有することを特徴とする画像形成装置。
【請求項2】
前記操作部がユーザによる所定の操作を受け付けた場合、
前記画面キャプチャ部は、表示装置に表示される前記操作画面の画像データを取得することを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記操作部がユーザによる所定の操作を受け付けた場合、
前記画面キャプチャ部は、所定の時間間隔で、表示装置に表示される前記操作画面の画像データを取得することを特徴とする請求項1に記載の画像形成装置。
【請求項4】
前記操作部がユーザによる所定の操作を受け付けた場合、
前記画面キャプチャ部は、前記所定の操作が終了するまで、所定の時間間隔で、表示装置に表示される前記操作画面の画像データを取得した後、取得した複数の該画像データを圧縮したデータを前記画面キャプチャフィルタに提供することを特徴とする請求項1に記載の画像形成装置。
【請求項5】
前記画面キャプチャ部が保持する前記画像データは、該画像データが取得された時刻情報を備え、
前記画面キャプチャフィルタは、所定の前記時刻情報を備える前記画像データに関して、同一のサムネイル画像データを作成することを特徴とする請求項3又は4に記載の画像形成装置。
【請求項6】
前記画面キャプチャフィルタは、前記各画像データに関し画像データの特性を表す値を算出すると共に、前記特性を表す値が所定の範囲内である該画像データに関して、同一のサムネイル画像データを作成することを特徴とする3又は4に記載の画像形成装置。
【請求項7】
前記画面キャプチャフィルタは、前記各画像データの所定部分に関し画像データの特性を表す値を算出すると共に、前記特性を表す値が所定の範囲内である該画像データに関して、同一のサムネイル画像データを作成することを特徴とする3又は4に記載の画像形成装置。
【請求項8】
前記操作部及び前記コントローラ部のそれぞれは、異なるCPU(Central Processing Unit)を備え、異なるOS(Operating System)上で動作することを特徴とする請求項1乃至7の何れか一に記載の画像形成装置。
【請求項9】
画像処理の対象とするデータを入力する一つ以上の入力部と、該画像処理の結果を出力する一つ以上の出力部と、操作画面の表示を制御する操作部と、該画像処理を制御するコントローラ部と、を有し、前記操作部は、前記操作画面として表示される画像データを保持する画面キャプチャ部を有し、前記コントローラ部は、前記入力部に応じて該入力部からのデータの入力処理を制御する第一のフィルタと、前記出力部に応じて該出力部への出力を制御する第二のフィルタと、を有し、前記第一のフィルタと前記第二のフィルタとの接続によりアプリケーションが構築される画像形成装置における操作画面の取得方法であって、
前記第一のフィルタである画面キャプチャフィルタが、前記画面キャプチャ部が保持する前記画像データを取得し、取得した該画像データを前記第二のフィルタが処理可能なデータ形式に変換し、データ形式を変換した該画像データを該第二のフィルタに提供するステップを備えることを特徴とする操作画面の取得方法。
【請求項10】
前記操作部及び前記コントローラ部のそれぞれは、異なるCPU(Central Processing Unit)を備え、異なるOS(Operating System)上で動作することを特徴とする請求項9に記載の操作画面の取得方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2011−55289(P2011−55289A)
【公開日】平成23年3月17日(2011.3.17)
【国際特許分類】
【出願番号】特願2009−202923(P2009−202923)
【出願日】平成21年9月2日(2009.9.2)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】