(57)【要約】      （修正有）【課題】操作画面のキャプチャリングを行う場合、ライトユーザが直感的に理解できるレベルの操作で実行でき、様々な使用目的を想定した拡張性を備えさせる。【解決手段】操作画面として表示される画像データを保持する画面キャプチャ部６１を有し、コントローラ部７０は、入力部に応じて該入力部からのデータの入力処理を制御する第一のフィルタと、出力部に応じて該出力部への出力を制御する第二のフィルタと、を有し、前記第一のフィルタと前記第二のフィルタとの接続によりアプリケーションが構築される画像形成装置であって、前記画面キャプチャ部６１が保持する前記画像データを取得し、取得した該画像データを前記第二のフィルタが処理可能なデータ形式に変換し、データ形式を変換した該画像データを該第二のフィルタに提供する、前記第一のフィルタである画面キャプチャフィルタ３０７を有する。【選択図】図６
2011055289.tif 000002
【特許請求の範囲】
【請求項１】
画像処理の対象とするデータを入力する一つ以上の入力部と、該画像処理の結果を出力する一つ以上の出力部と、操作画面の表示を制御する操作部と、該画像処理を制御するコントローラ部と、を有し、前記操作部は、前記操作画面として表示される画像データを保持する画面キャプチャ部を有し、前記コントローラ部は、前記入力部に応じて該入力部からのデータの入力処理を制御する第一のフィルタと、前記出力部に応じて該出力部への出力を制御する第二のフィルタと、を有し、前記第一のフィルタと前記第二のフィルタとの接続によりアプリケーションが構築される画像形成装置であって、
前記画面キャプチャ部が保持する前記画像データを取得し、取得した該画像データを前記第二のフィルタが処理可能なデータ形式に変換し、データ形式を変換した該画像データを該第二のフィルタに提供する、前記第一のフィルタである画面キャプチャフィルタを有することを特徴とする画像形成装置。
【請求項２】
前記操作部がユーザによる所定の操作を受け付けた場合、
前記画面キャプチャ部は、表示装置に表示される前記操作画面の画像データを取得することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記操作部がユーザによる所定の操作を受け付けた場合、
前記画面キャプチャ部は、所定の時間間隔で、表示装置に表示される前記操作画面の画像データを取得することを特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記操作部がユーザによる所定の操作を受け付けた場合、
前記画面キャプチャ部は、前記所定の操作が終了するまで、所定の時間間隔で、表示装置に表示される前記操作画面の画像データを取得した後、取得した複数の該画像データを圧縮したデータを前記画面キャプチャフィルタに提供することを特徴とする請求項１に記載の画像形成装置。
【請求項５】
前記画面キャプチャ部が保持する前記画像データは、該画像データが取得された時刻情報を備え、
前記画面キャプチャフィルタは、所定の前記時刻情報を備える前記画像データに関して、同一のサムネイル画像データを作成することを特徴とする請求項３又は４に記載の画像形成装置。
【請求項６】
前記画面キャプチャフィルタは、前記各画像データに関し画像データの特性を表す値を算出すると共に、前記特性を表す値が所定の範囲内である該画像データに関して、同一のサムネイル画像データを作成することを特徴とする３又は４に記載の画像形成装置。
【請求項７】
前記画面キャプチャフィルタは、前記各画像データの所定部分に関し画像データの特性を表す値を算出すると共に、前記特性を表す値が所定の範囲内である該画像データに関して、同一のサムネイル画像データを作成することを特徴とする３又は４に記載の画像形成装置。
【請求項８】
前記操作部及び前記コントローラ部のそれぞれは、異なるＣＰＵ（Central Processing Unit）を備え、異なるＯＳ（Operating System）上で動作することを特徴とする請求項１乃至７の何れか一に記載の画像形成装置。
【請求項９】
画像処理の対象とするデータを入力する一つ以上の入力部と、該画像処理の結果を出力する一つ以上の出力部と、操作画面の表示を制御する操作部と、該画像処理を制御するコントローラ部と、を有し、前記操作部は、前記操作画面として表示される画像データを保持する画面キャプチャ部を有し、前記コントローラ部は、前記入力部に応じて該入力部からのデータの入力処理を制御する第一のフィルタと、前記出力部に応じて該出力部への出力を制御する第二のフィルタと、を有し、前記第一のフィルタと前記第二のフィルタとの接続によりアプリケーションが構築される画像形成装置における操作画面の取得方法であって、
前記第一のフィルタである画面キャプチャフィルタが、前記画面キャプチャ部が保持する前記画像データを取得し、取得した該画像データを前記第二のフィルタが処理可能なデータ形式に変換し、データ形式を変換した該画像データを該第二のフィルタに提供するステップを備えることを特徴とする操作画面の取得方法。
【請求項１０】
前記操作部及び前記コントローラ部のそれぞれは、異なるＣＰＵ（Central Processing Unit）を備え、異なるＯＳ（Operating System）上で動作することを特徴とする請求項９に記載の操作画面の取得方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置における操作画面をキャプチャする技術に関する。
【背景技術】
【０００２】
複合機における操作画面をキャプチャリングすることは、当該複合機のマニュアル作成や障害報告など幅広い目的で実施されている。また、画面キャプチャを行うユーザは、複合機で動作するプログラムや技術に詳しい技術者という訳ではなく、寧ろライトユーザであることが多い。従って、複合機における操作画面のキャプチャリングについては、ライトユーザであっても直感的に理解できるレベルの操作で実行することができると共に、単に画像データを作成するだけに留まらない様々な使用目的を想定した拡張性も備える必要がある。
【０００３】
一方、機能のカスタマイズ又は拡張等を簡便化させるために、パイプ＆フィルタ機構を備える画像形成装置が提案されている（特許文献１等）。当該技術において、画像形成装置が提供する各機能は、ドキュメント(データ)に対する、入力、加工及び出力によって構成される「変換」の連続として一般化することによって、これらの「変換」を実現する複数のソフトウェア部品（フィルタ）を接続することで実現される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記パイプ＆フィルタ機構を備える画像形成装置における操作画面のキャプチャリングは、ライトユーザが直感的に理解できるレベルの操作では実行できず、また、様々な使用目的を想定した拡張性が備わっていないという問題点があった。
【０００５】
そこで、本発明では、上記問題点に鑑み、パイプ＆フィルタ機構を備える画像形成装置において操作画面のキャプチャリングを行う場合、ライトユーザが直感的に理解できるレベルの操作で実行でき、様々な使用目的を想定した拡張性が備わる画像形成装置および操作画面の取得方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
開示の画像形成装置の一形態は、画像処理の対象とするデータを入力する一つ以上の入力部と、該画像処理の結果を出力する一つ以上の出力部と、操作画面の表示を制御する操作部と、該画像処理を制御するコントローラ部と、を有し、前記操作部は、前記操作画面として表示される画像データを保持する画面キャプチャ部を有し、前記コントローラ部は、前記入力部に応じて該入力部からのデータの入力処理を制御する第一のフィルタと、前記出力部に応じて該出力部への出力を制御する第二のフィルタと、を有し、前記第一のフィルタと前記第二のフィルタとの接続によりアプリケーションが構築される画像形成装置であって、前記画面キャプチャ部が保持する前記画像データを取得し、取得した該画像データを前記第二のフィルタが処理可能なデータ形式に変換し、データ形式を変換した該画像データを該第二のフィルタに提供する、前記第一のフィルタである画面キャプチャフィルタを有することを特徴とする。
【発明の効果】
【０００７】
開示の画像形成装置は、パイプ＆フィルタ機構を備える画像形成装置において操作画面のキャプチャリングを行う場合、ライトユーザが直感的に理解できるレベルの操作で実行でき、様々な使用目的を想定した拡張性を備える。
【図面の簡単な説明】
【０００８】
【図１】本実施の形態に係る画像形成装置のソフトウェア構成例を示す図である。
【図２】本実施の形態に係るパイプ＆フィルタの概念を説明するための図である。
【図３】本実施の形態に係るフィルタの構成要素を説明するための図である。
【図４】本実施の形態に係る画像形成装置における各機能を実現するためのフィルタの組合せの例を示す図である。
【図５】本実施の形態に係る画像形成装置の概略を説明する図である。
【図６】本実施の形態に係る画像形成装置の機能ブロック図である。
【図７】本実施の形態に係る変換部の詳細を説明するための図である。
【図８】本実施の形態に係るサムネイル画像及びプレビュー画像の形式例を示す図である。
【図９】本実施の形態に係る画面キャプチャフィルタをＪａｖａ（登録商標）で実装した場合のクラス図である。
【図１０】本実施の形態に係る画面キャプチャフィルタをＪａｖａ（登録商標）で実装した場合の各クラスの責務を説明するための図である。
【図１１】本実施の形態に係る画像形成装置による画面キャプチャ処理のシーケンス図（その１）である。
【図１２】本実施の形態に係る画像形成装置によってキャプチャした画像データを保存する処理のダイアグラムである。
【図１３】本実施の形態に係る画像形成装置による画面キャプチャ処理のシーケンス図（その２）である。
【図１４】本実施の形態に係る画像形成装置による画面キャプチャ処理のシーケンス図（その３）である。
【図１５】本実施の形態に係る画像形成装置による画面キャプチャ処理のフローチャート（その１）である。
【図１６】本実施の形態に係る画像形成装置による画面キャプチャ処理のフローチャート（その２）である。
【図１７】本実施の形態に係る画像形成装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【０００９】
図面を参照しながら、本発明を実施するための最良の形態について説明する。
＜パイプ＆フィルタ機構の概要について＞
図１は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。ここで、画像形成装置とは、プリンタ、コピー、スキャナ、又はＦＡＸ等の複数の機能を一台の筐体において実現するものをいう。
【００１０】
図１に示されるように、画像形成装置１におけるソフトウェアは、ユーザインタフェース層１０、コントロール層２０、アプリケーションロジック層３０、デバイスサービス層４０、及びデバイス制御層５０等より構成される。なお、図中における各層の上下関係は、層間の呼び出し関係に基づいている。すなわち、基本的に図中において上にある層が下の層を呼び出す。
【００１１】
ユーザインタフェース層１０は、機能（例えば、コピー、印刷、スキャン、ＦＡＸ送信）の実行要求を受け付けるための機能が実装されている部分であり、例えば、通信サーバ部１１及びローカルＵＩ部１２等が含まれる。通信サーバ部１１は、例えば、非図示のクライアントＰＣ（Personal Computer）等からネットワーク経由で要求を受け付ける。ローカルＵＩ部１２は、例えば、非図示のオペレーションパネルを介して入力される要求を受け付ける。ユーザインタフェース層１０において受け付けられた要求は、コントロール層２０に伝えられる。
【００１２】
コントロール層２０は、要求された機能を実現するための処理を制御するための機能が実装されている部分である。具体的には、要求された機能に応じて、アプリケーションロジック層３０における各フィルタを接続し、接続されたフィルタに基づいて機能の実行を制御する。なお、本実施の形態において「画像形成装置１の機能」とは、画像形成装置１がユーザに対して提供する一つのまとまった単位（要求が入力されて最終的な出力が得られるまで）のサービスと同義であり、ソフトウェア的には一つのまとまった単位のサービスを提供するアプリケーションと同義である。
【００１３】
アプリケーションロジック層３０は、それぞれが画像形成装置１において提供される機能の一部を実現する部品群が実装されている部分である。すなわち、アプリケーションロジック層３０における部品を組み合わせることにより一つの機能が実現される。本実施の形態では、各部品を「フィルタ」と呼ぶ。これは、画像形成装置１のソフトウェアアーキテクチャが「パイプ＆フィルタ」と呼ばれる考え方に基づくことによる。
【００１４】
図２は、パイプ＆フィルタの概念を説明するための図である。図２において、「Ｆ」はフィルタを示し、「Ｐ」はパイプを示す。図中に示されるように、各フィルタはパイプによって接続される。フィルタは、入力されたデータに対して変換を施し、その結果を出力する。パイプは、フィルタから出力されたデータを次のフィルタに伝達する。
【００１５】
すなわち、本実施の形態における画像形成装置１では、各機能をドキュメント(データ)に対する「変換」の連続として捉える。複合機の各機能は、ドキュメントの入力、加工、及び出力によって構成されるものとして一般化することができる。そこで「入力」、「加工」、及び「出力」を「変換」として捉え、一つの「変換」を実現するソフトウェア部品がフィルタとして構成される。入力を実現するフィルタを特に「入力フィルタ」という。また、加工を実現するフィルタを特に「変換フィルタ」という。更に、出力を実現するフィルタを特に「出力フィルタ」という。なお、各フィルタは独立しており、フィルタ間における依存関係（呼び出し関係）は基本的に存在しない。したがって、フィルタ単位で追加（インストール）又は削除（アンインストール）が可能とされている。
【００１６】
図１において、アプリケーションロジック層３０には、入力フィルタとして、読取フィルタ３０１、保管文書読出フィルタ３０２、メール受信フィルタ３０３、ＦＡＸ受信フィルタ３０４、ＰＣ文書受信フィルタ３０５、レポートフィルタ３０６等が含まれている。
【００１７】
読取フィルタ３０１は、スキャナによる画像データの読み取りを制御し、読み取られた画像データを出力する。保管文書読出フィルタ３０２は、画像形成装置１の記憶装置に保管されている文書データ（画像データ）を読み出し、読み出されたデータを出力する。メール受信フィルタ３０３は、電子メールの受信し、当該電子メールに含まれているデータを出力する。ＦＡＸ受信フィルタ３０４は、ＦＡＸ受信を制御し、受信されたデータを出力する。ＰＣ文書受信フィルタ３０５は、非図示のクライアントＰＣから印刷データを受信し、受信された印刷データを出力する。レポートフィルタ３０６は、画像形成装置１の設定情報や履歴情報等を、例えば表形式に整形されたデータとして出力する。
【００１８】
また、変換フィルタとしては、文書加工フィルタ３１１及び文書変換フィルタ３１２等が含まれている。文書加工フィルタ３１１は、入力されたデータに所定の画像変換処理（集約、拡大、又は縮小等）を施し、出力する。文書変換フィルタ３１２は、レンダリング処理を実行する。すなわち、入力されたＰｏｓｔＳｃｒｉｐｔデータをビットマップデータに変換して出力する。
【００１９】
また、出力フィルタとしては、印刷フィルタ３２１、保管文書登録フィルタ３２２、メール送信フィルタ３２３、ＦＡＸ送信フィルタ３２４、ＰＣ文書送信フィルタ３２５、及びプレビューフィルタ３２６等が含まれている。
【００２０】
印刷フィルタ３２１は、入力されたデータをプロッタに出力（印刷）させる。保管文書登録フィルタ３２２は、入力されたデータを画像形成装置１内のハードディスク内に保存する。メール送信フィルタ３２３は、入力されたデータを電子メールに添付して送信する。ＦＡＸ送信フィルタ３２４は、入力されたデータをＦＡＸ送信する。ＰＣ文書送信フィルタ３２５は、入力されたデータをクライアントＰＣに送信する。プレビューフィルタ３２６は、入力されたデータを、画像形成装置１のオペレーションパネルにプレビュー表示させる。
【００２１】
デバイスサービス層４０は、アプリケーションロジック層３０における各フィルタから共通に利用される下位機能が実装されている部分であり、例えば、画像パイプ４１及びデータ管理部４２等が含まれる。画像パイプ４１は、上述したパイプの機能を実現する。すなわち、或るフィルタからの出力データを次のフィルタに伝達する。データ管理部４２は、各種のデータベースを表現する。例えば、ユーザ情報が登録されたデータベースや、文書又は画像データ等が蓄積されるデータベース等が相当する。
【００２２】
デバイス制御層５０は、デバイス（ハードウェア）を制御するドライバと呼ばれるプログラムモジュール群が実装されている部分であり、例えば、スキャナ制御部５１、プロッタ制御部５２、メモリ制御部５３、Ｔｅｌ回線制御部５４、及びネットワーク制御部５５等が含まれる。各制御部は、当該制御部の名前に付けられているデバイスを制御する。
【００２３】
フィルタについて更に詳しく説明する。図３は、フィルタの構成要素を説明するための図である。図３に示されるように、各フィルタは、フィルタ設定用ＵＩ、フィルタロジック、フィルタ固有下位サービス、及び永続記憶領域情報等より構成される。このうち、フィルタ設定用ＵＩ、フィルタ固有下位サービス、及び永続記憶領域情報については、フィルタによって必ずしも構成要素に含まれない。
【００２４】
フィルタ設定用ＵＩは、フィルタの実行条件等を設定させるための画面をオペレーションパネル等に表示させるプログラムである。例えば、読取フィルタ３０１であれば、解像度、濃度、画像種別等を設定させる画面が相当する。なお、オペレーションパネルの表示がＨＴＭＬデータや、スクリプトに基づいて行われ得ることに鑑みれば、フィルタ設定用ＵＩはＨＴＭＬデータやスクリプトであってもよい。
【００２５】
フィルタロジックは、フィルタの機能を実現するためロジックが実装されたプログラムである。すなわち、フィルタの構成要素としてのフィルタ固有下位サービスや、デバイスサービス層４０又はデバイス制御層５０等を利用して、フィルタ設定用ＵＩを介して設定された実行条件に応じてフィルタの機能を実現する。例えば、読取フィルタ３０１であれば、スキャナによる原稿の読み取り制御のためのロジックが相当する。
【００２６】
フィルタ固有下位サービスは、フィルタロジックを実現するために必要な下位機能（ライブラリ）である。すなわち、デバイスサービス層４０又はデバイス制御層５０相当する機能であるが、他のフィルタから使用されないものについては、フィルタの一部として実装されてもよく、当該一部がフィルタ固有下位サービスに相当する。例えば、読取フィルタ３０１であれば、スキャナを制御するための機能が相当するが、本実施の形態では、デバイス制御層５０においてスキャナ制御部５１として実装されている。したがって、読取フィルタ３０１において、フィルタ固有下位サービスの実装は必ずしも必要ではない。
【００２７】
永続記憶領域情報は、フィルタに対する設定情報（例えば、実行条件のデフォルト値）等、不揮発メモリに保存する必要があるデータのスキーマ定義が相当する。当該スキーマ定義は、フィルタのインストール時にデータ管理部４２に登録される。
【００２８】
図４は、本実施の形態の画像形成装置における各機能を実現するためのフィルタの組み合わせの例を示す図である。例えば、コピー機能は、読取フィルタ３０１と印刷フィルタ３２１とを接続することにより実現される。読取フィルタ３０１によって原稿より読み取られた画像データを印刷フィルタ３２１によって印刷すればよいからである。なお、集約、拡大、又は縮小等の加工が要求された場合は、これらの加工を実現する文書加工フィルタ３１１が二つのフィルタの間に挿入される。
【００２９】
プリンタ機能（クライアントＰＣからの印刷機能）は、ＰＣ文書受信フィルタ３０５と文書変換フィルタ３１２と印刷フィルタ３２１とを接続することにより実現される。スキャンｔｏ ｅｍａｉｌ機能（スキャンした画像データを電子メールで転送する機能）は、読取フィルタ３０１とメール送信フィルタ３２３とを接続することによって実現される。ＦＡＸ送信機能は、読取フィルタ３０１とＦＡＸ送信フィルタ３２４とを接続することによって実現される。ＦＡＸ受信機能は、ＦＡＸ受信フィルタ３０４と印刷フィルタ３２１とを接続することによって実現される。ドキュメントボックス蓄積機能（スキャンした画像データを画像形成装置１内に保存する機能）は、読取フィルタ３０１と保管文書登録フィルタ３２２とを接続することによって実現される。ドキュメントボックス印刷機能（画像形成装置１内に保存されている文書データを印刷する機能）は、保管文書読出フィルタ３０２と印刷フィルタ３２１とを接続することにより実現される。
【００３０】
図４において、例えば、読取フィルタ３０１については５つの機能において利用されている。このように、各フィルタは複数の機能から利用可能であり、それによって各機能を実現するための開発工数を削減することができる。例えば、コピー機能とスキャン機能（ドキュメントボックス蓄積）について、その実行条件を設定させるためのユーザインタフェースは類似しているものであった。しかし、各機能をアプリケーションによって実装する場合には、アプリケーションごとに個別にユーザインタフェースの実装も行われていた。しかし、本実施の形態では、コピー機能及びスキャン機能のいずれの場合も、読取フィルタ３０１のユーザインタフェースによって設定が行われ、ユーザインタフェースの共通化をも図ることができる。
【００３１】
更に、新たな機能を実現する場合について考える。まず、機能１として、画像形成装置１では対応していないＰＤＬ（Page Description Language）（以下、「他ＰＤＬ」という。）によってクライアントＰＣから送信される印刷データを印刷する機能を実現する場合について考える。この場合、図４におけるプリンタ機能を雛形とすることができる。但し、プリンタ機能では、ＰＣ文書受信フィルタ３０５により出力されるデータがＰｏｓｔＳｃｒｉｐｔ形式であることが前提とされている。文書変換フィルタ３１２が入力データとして扱えるのはＰｏｓｔＳｃｒｉｐｔ形式のデータだからである。しかし、機能１の場合、ＰＣ文書受信フィルタ３０５によって受信され、当該フィルタより出力されるのは他ＰＤＬ形式のデータである。したがって、このまま文書変換フィルタ３１２に転送しても文書変換フィルタ３１２は適切に処理を実行することができない。そこで、他ＰＤＬ形式からＰｏｓｔＳｃｒｉｐｔ形式へのデータ変換を実行する変換フィルタ（以下「他ＰＤＬ−ＰＳ変換フィルタ」という。）を新たに実装し、当該フィルタをＰＣ文書受信フィルタ３０５と文書変換フィルタ３１２との間に挿入すれば、機能１を実現することができる。すなわち、機能１は、ＰＣ文書受信フィルタ３０５と他ＰＤＬ−ＰＳ変換フィルタと文書変換フィルタ３１２と印刷フィルタ３２１とを接続することにより実現される。
【００３２】
次に、機能２として、Ｗｅｂサイトから情報を収集し、収集された情報を印刷する機能（以下「機能２」という。）を実現する場合について考える。この場合、Ｗｅｂサイトから情報を収集するフィルタが存在しない。したがって、少なくともＷｅｂサイトから情報を収集する入力フィルタ（以下「Ｗｅｂ収集フィルタ」という。）を新たに実装する必要がある。また、機能２では最終的に印刷を実行させたいので、出力フィルタとしては印刷フィルタ３２１を用いるのが適切である。ここで問題となるのが、Ｗｅｂ収集フィルタと印刷フィルタ３２１との間をどのように接続するかである。すなわち、印刷フィルタ３２１の入力データはレンダリングされたビットマップである必要があるところ、Ｗｅｂ収集フィルタ内にレンダリング機能を実装するのは非常に工数がかかるので適切ではない。そこで、既にレンダリング機能を実現する文書変換フィルタ３１２を利用することが考えられる。ただし、文書変換フィルタ３１２の入力データは、ＰｏｓｔＳｃｒｉｐｔ形式である必要がある。そこで、Ｗｅｂ収集フィルタを、収集した情報をＰｏｓｔＳｃｒｉｐｔ形式によって出力するように実装すれば、文書変換フィルタ３１２との接続が可能となる。このようにＷｅｂ収集フィルタを実装することにより、機能２は、Ｗｅｂ収集フィルタと文書変換フィルタ３１２と、文書変換フィルタ３１２と印刷フィルタ３２１との接続により実現される。
【００３３】
＜第１実施例＞
図５乃至１０を用いて、本発明に係る画像形成装置１の第１実施例について説明する。図５で示すように、画像形成装置１において、操作部６０とコントローラ部７０がそれぞれ異なるＯＳ（Operating System）、ＣＰＵ（Central Processing Unit）を採用しており、操作部６０及びコントローラ部７０は相互通信によって処理命令を実行する。
【００３４】
画像形成装置１は、画面キャプチャ機能を実現する画面キャプチャフィルタ３０７を入力フィルタとして備える。これにより、変換フィルタや出力フィルタと接続して、新しい機能を実現することができる。
【００３５】
図６は、入力フィルタについて、特に画面キャプチャフィルタ３０７に着目して、キャプチャ画像データの流れを説明する図である。ここで、操作部６０のＯＳとしてＬｉｎｕｘ（登録商標）を採用する。Ｌｉｎｕｘ（登録商標）では、操作部６０上のＬＣＤに表示されている操作画面の情報が、フレームバッファとして格納されている。
【００３６】
そして、Ｓ１０でコントローラ部７０側の画面キャプチャフィルタ３０７の管理部３０７３が要求をすると、Ｓ２０で操作部６０の画面キャプチャ部６１が当該フレームバッファをＯＳから取得する。そして、Ｓ３０、４０で送信部６２がコントローラ７０側へ取得したフレームバッファを送信する。このとき、フレームバッファ（画面キャプチャのデータ）はｚｉｐ形式でデータ圧縮されて送信される。
【００３７】
Ｓ４０で画面キャプチャフィルタ３０７の受信部３０７１が、当該圧縮されたデータを受信すると共に、変換部３０７２が「解凍処理」「ｂｉｔ変換処理」「ＪＰＥＧ方式への変換処理」を実施する。
【００３８】
図７は、画面キャプチャフィルタ３０７の変換部３０７２を詳細に説明するための図である。図７で示すように、解凍後のフレームバッファは１６ｂｉｔの画像データであるため、変換部３０７２は、当該解凍後のフレームバッファを２４ｂｉｔに変換する。そして、他のフィルタが汎用的に使用できるように、変換部３０７２は、２４ｂｉｔに変換したデータをＪＰＥＧ形式に変換し、保存する。ここで、変換部３０７２は、当該ＪＰＥＧ形式に変換されたデータの他に、蓄積文書として閲覧管理できるように、サムネイル画像とプレビュー画像を同時に生成する。
【００３９】
図８に変換部３０７２によって生成されるサムネイル画像とプレビュー画像の形式の一例を示す。これらの画像データは、文書管理番号（ｉｍａｇｅＩｄ）や書誌情報などのデータと共に保存されるため、次の出力フィルタへ接続することで、印刷、送信及び文書保存などの機能を実現することができる。
【００４０】
図９及び１０は、Ｊａｖａ（登録商標）で実装された画面キャプチャフィルタ３０７のクラス図である。Ｊａｖａ（登録商標）での実装を示すクラス図は、入力フィルタである画面キャプチャ（Screen Capture Filter Logic）を実装している層と、入力フィルタを作成するために必要な処理を提供している共通ライブラリの層とに大まかに区別することができる。入力フィルタが共通ライブラリを使用する際には、必ずbridgeクラスを通して使用するように設計されているが、これはクラス間の依存関係、継承関係を単純化するためのＪａｖａ（登録商標）の設計手法であり、デザインパターンとして一般的に広く知られている。
【００４１】
図１０には、図９で示す各クラスの責務について、図６のブロック図と対応させて記載した。図１０で示すように、「Screen Capture Filter Logic」クラス１０１は、画面キャプチャの入力フィルタのクラスである。「Screen Capture Filter Job」クラス１０２は、画面キャプチャの実行処理のクラスであり、図６の管理部３０７３に該当する。「Screen Capture」クラス１０３は、Bridgeクラス１０９を通して「Operation Panel Service」クラス１１０のサービスとイベントを獲得するクラスであり、図６の受信部３０７１に該当する。
【００４２】
「Image Capture」クラス１０４は、Bridgeクラス１０９を通して「Operation Panel Service」クラス１１０のサービスとイベントを獲得するクラスであり、図６の受信部３０７１に該当する。「Image Data Encoder」クラス１０５は、「Operation Panel Service」クラス１１０からの画像データを解凍し、１６ｂｉｔ  ｒａｗ形式から２４ｂｉｔ  ｒａｗ形式へ変換するクラスであり、図６の変換部３０７２に該当する。
【００４３】
「Operation Panel Service」クラス１１０は、操作部６０への処理要求を通信によって行うクラスである。「Operation Panel」クラス１１３は、図６で示す操作部６０の画面キャプチャ部及び送信部に該当するクラスである。「Jpeg Creater」クラス１０６は、「Image Data Encoder」クラス１０５によって変換した２４ｂｉｔ  ｒａｗ形式の画像データをＪＰＥＧ形式に変換するクラスであり、図６の変換部３０７２に該当する。
【００４４】
「Create Jpeg Lib」クラス１０８は、解凍、１６ｂｉｔから２４ｂｉｔへの変換、元画像／プレビュー画像／サムネイル画像の生成を行うメソッドを提供するクラスであり、図６の変換部３０７２に該当する。「Access Control」クラス１０７は、メモリを使用できるか、又はＨＤＤ容量があるかを確認し、アクセス権を設定するクラスである。「Pipe Data」クラス１１２は、後続フィルタへデータを渡すための画像データ形式である。「Bridge」クラス１０９は、入力フィルタ作成のための共通ライブラリのＩ／Ｆ（Interface）呼び出しを担当するクラスであり、共通ライブラリのＩ／Ｆ呼び出しには必ず「Bridge」クラス１０９を経由する。
【００４５】
次に、図１１を用いて、画像形成装置１における処理の流れを説明する。図１１は、図９及び１０に対応したシーケンス図である。画面キャプチャの処理は、画像形成装置１上の一つのジョブ（Ｓ１００：capture Screen（））として扱われる。処理「Ｓ１１０：capture（）」、「Ｓ１２０：capture（）」、「Ｓ１３０：capture（）」、「Ｓ１４０：capture（）」、「Ｓ１５０：capture（）」は総じてフレームバッファの取得という処理要求を操作部６０へ委譲している。その中でImage Capturerクラス１０４は、フィルタを作成するための共通ライブラリであるOperation Panel Service１１０を使用しており、Bridge１０９を通してOperation Panel Service１１０に処理要求「Ｓ１３０：capture（）」を実施する。Operation Panel Service１１０は、通信によってOperation Panel１１３（操作部６０）へフレームバッファの取得要求（Ｓ１５０：capture（））を行う。
【００４６】
要求を受けたOperation Panel１１３はフレームバッファの取得と圧縮処理を行い、通信によって圧縮された画面キャプチャデータをコントローラ部７０側のOperation Panel Service１１０に返す。ここまでの処理により、Screen Capture Filter Job１０２は操作部６０から送信された圧縮形式の画面キャプチャのデータを得ることになる。
【００４７】
次にScreen Capture Filter Job１０２は、受け取った圧縮ファイルを解凍し、２４ｂｉｔの画像データに変換を行う。２４ｂｉｔの画像データを取得する理由は、広く使用されているＪＰＥＧ処理ライブラリのlibjpeg(http://www.ijg.org/)によって、最終的にＪＰＥＧファイルに変換するのに必要になるためである。libjpegライブラリはJNIコールによって、CreateJpegLibクラスで使用される。圧縮ファイルの解凍から２４ｂｉｔの画像データ変換までの一連の処理はImage Data Encoderクラス１０５が担当する。
【００４８】
処理「Ｓ１６０：deCompress And Convert Data（）」は、Screen Capture Filter Job１０２がImage Data Encoder１０５に圧縮された画像データを渡して、２４ｂｉｔの画像データの取得を要求するものである。処理「Ｓ１７０：start Hdd Use（）」では、解凍したファイルをＨＤＤ上に一時的に置けるようアクセス権の設定を行う。処理「Ｓ１８０：deCompress And Convert（）」では、Create Jpeg Lib (libjpeg)１０８を使用して実際に圧縮ファイルの解凍と２４ｂｉｔの画像データへ変換を行う。「Ｓ１９０：end Hdd Use（）」では、使用したＨＤＤ領域のアクセス権を元に戻し、「Ｓ２００：delete File（）」において、不要になったテンポラリファイルの削除を実施する。
【００４９】
処理「Ｓ２１０：encode（）」は、２４ｂｉｔ形式に変換した画像データを最終的にＪＰＥＧ形式の本画像データ、プレビュー画像データ、サムネイル画像データを作成し、それぞれにＩＤを付与して各フィルタで扱えるPipe Dataの形式にする処理を示している。その内部処理である、処理「Ｓ２２０：create Jpeg Data（）」はＪＰＥＧ形式の本画像データ、プレビュー画像データ、サムネイル画像データを作成する処理を示している。処理「Ｓ２３０：start Hdd Use（）」では、ＪＰＥＧファイルへの変換に必要なテンポラリファイルをＨＤＤ上に一時的に置けるようにアクセス権の設定を行う。処理「Ｓ２４０：create Jpeg（）」では、Create Jpeg Lib (libjpeg)１０８を使用して２４ｂｉｔの画像データから３種類のＪＰＥＧファイルの作成を行う。「Ｓ２５０：end Hdd Use（）」では、使用したＨＤＤ領域のアクセス権を元に戻し、「Ｓ２６０：delete File（）」において、不要になったテンポラリファイルの削除を実施する。
【００５０】
処理「Ｓ２７０：load Image Data（）」は、生成した３種類のＪＰＥＧファイルそれぞれにＩＤを付与してPipe Dataの属性値として設定して、他のフィルタに渡すことができるようにする処理である。以上のように、画面キャプチャフィルタ３０７(Screen Capture Filter Job１０３)は操作部６０からフレームバッファを取得し、他のフィルタ処理に渡せるデータ形式に画像データを変換する。
【００５１】
＜第２実施例＞
図１２を用いて、本発明に係る第２実施例について説明する。図１２は、文書蓄積フィルタ３２２など他のフィルタと組み合わせて、蓄積文書としてキャプチャ画像を保存する処理のダイアグラムを示す図である。図１２では、既存のフィルタを流用して、操作部６０のハードキーを押下すると、操作部６０の表示装置（ＬＣＤ）に表示される操作画面をキャプチャし、ブザーを鳴動させて蓄積文書に保存させるアプリケーションに関するダイアグラムを示している。
【００５２】
図１２に示すアプリケーション（Screen Capture Activity）は、画面キャプチャフィルタ３０７に加えて、他のアプリケーションでも使用されている変換フィルタ、文書蓄積フィルタ３２２を従えており、それぞれに対して、順番に処理をするように要求を行う。Ｓ３００でこのアプリケーションは操作部（Operation Panel Service）６０の所定のハードキーに対して、画面キャプチャ機能をアサインするように、キーイベントの監視を行う。
【００５３】
Ｓ３１０でこの操作部６０のハードキーがユーザによって押下されると、キーイベントはアプリケーションに通知され、Ｓ３２０でアプリケーションは画面キャプチャフィルタ（Screen Capture Filter）３０７へ処理要求を行う。Ｓ３３０、Ｓ３４０で画面キャプチャフィルタ３０７は操作部６０から画面データを取得し、ＪＰＥＧ形式に変換を行う。Ｓ３５０、Ｓ３６０で画面キャプチャフィルタ３０７はこのＪＰＥＧ画像データを、ImageIdなどのデータと共に変換フィルタ（Process Filter）に渡す。この変換フィルタはＪＰＥＧ画像などに対して、バーコードを埋め込むなどの処理を行うものであり、存在しなくても良い。
【００５４】
Ｓ３７０、Ｓ３８０で文書蓄積フィルタ（Storage Doc Writer Filter）３２２は、ＪＰＥＧ画像データを所定の場所に保存し、アプリケーションに操作画面のキャプチャ画像が保存されたことを通知する。Ｓ３８０でアプリケーションは操作部６０へブザー鳴動の要求を出して、ユーザに処理が完了したことを伝える。このような３つのフィルタをパイプ＆フィルタ形式によって接続することで、ハードキーを押すだけで表示装置に表示される操作画面が蓄積文書として保存されるという機能を達成することができる。
【００５５】
＜第３実施例＞
ここでは、図１３を用いて、本発明の第３実施例について説明する。図１３は、第２実施例２を応用した実施例であって、ハードキーの押下を継続すると、一定の時間間隔で画面キャプチャを行う処理のシーケンス図である。Ｓ４００、Ｓ４１０でコントローラ部７０側にある画面キャプチャフィルタ３０７の管理部３０７３は、ハードキー押下イベント通知を受けると、Ｓ４２０で操作部管理モジュールへ操作部６０の画面キャプチャ処理が開始されたことを通知する。
【００５６】
その後、ハードキーが離される（ハードキーの押下状態が終了する）まで、次の処理が繰り返される。Ｓ４３０、Ｓ４４０で画面キャプチャ部６１がフレームバッファをＯＳ（Ｌｉｎｕｘ）から取得し、Ｓ４５０で画面キャプチャ部６１がキャプチャ画像を圧縮する。Ｓ４６０、Ｓ４７０で送信部６２がキャプチャ画像をコントローラ部７０に送信し、Ｓ４８０で変換部３７０２がキャプチャ画像をフォーマット変換する。Ｓ４９０で管理部３０７３がキャプチャ画像の保存処理を行い、Ｓ５００で操作部６０へキャプチャ画像の保存完了通知を行う。
【００５７】
上記処理により、例えば、画像形成処理中など、絶えず画面が遷移し、タイミングを計って操作画面のキャプチャリングを行うのが難しいケースにおいて、ハードキーの押下を継続することでキャプチャリングすることができ、有用である。
【００５８】
＜第４実施例＞
第３実施例の場合、操作画面のキャプチャリングを行う都度、キャプチャ画像の送信とキャプチャ画像の保存完了通知を行う必要があり、操作部６０・コントローラ部７０間でキャプチャリング回数分の通信が発生することになる。そこで、第４実施例では、第３実施例３を応用して、ハードキーの押下を継続する場合に操作部６０でフレームバッファを一定時間間隔で保存すると共に、取得・保存されたフレームバッファはハードキーの押下状態が終了した時点で圧縮され、一括してコントローラ部７０へ送信する。
【００５９】
Ｓ６００、Ｓ６１０でコントローラ部７０側にある画面キャプチャフィルタ３０７の管理部３０７３は、ハードキー押下イベント通知を受けると、Ｓ６２０で操作部管理モジュールへ操作部６０の画面キャプチャ処理が開始されたことを通知する。
【００６０】
その後、ハードキーが離される（ハードキーの押下状態が終了する）まで、所定の時間間隔で、Ｓ６３０、Ｓ６４０における画面キャプチャ部６１がフレームバッファをＯＳ（Ｌｉｎｕｘ）から取得する処理が繰り返される。
【００６１】
ハードキーの押下状態が終了すると、Ｓ６５０で画面キャプチャ部６１が、取得した複数のキャプチャ画像を一括して圧縮する。Ｓ６６０、Ｓ６７０で送信部６２がキャプチャ画像をコントローラ部７０に送信し、Ｓ６８０で変換部３７０２がキャプチャ画像をフォーマット変換する。Ｓ６９０で管理部３０７３がキャプチャ画像の保存処理を行い、Ｓ７００で操作部６０へキャプチャ画像の保存完了通知を行う。
【００６２】
この方式を採用することにより、操作部６０・コントローラ部７０間で発生していた通信の回数を削減することできる。
【００６３】
＜第５実施例＞
第２実施例で説明したようにキャプチャ画像を蓄積文書として保存するアプリケーションを作成した場合、サムネイル画像、プレビュー画像など補助的な役割で使用される画像も併せて生成する必要がある。一方で、画面をキャプチャリングする都度、これらサムネイル画像及びプレビュー画像を生成すると、処理全体のオーバーヘッドとなり、また画像データを保存する記憶領域を圧迫してしまう。
【００６４】
そこで、上記課題を解決するために、所定の時間内に取得したキャプチャ画像は、一つのプレビュー画像及びサムネイル画像を共有することとする。図１５は、上記方式を説明するためのフローチャートである。
【００６５】
Ｓ８００で画像形成装置１のシステムが起動すると、Ｓ８１０で画像形成装置１はプレビュー画像を共有する時間範囲ｒを設定値などから読み出して初期化する。ここで、ある画面キャプチャ画像が以前画面キャプチャ動作を行ってから、所定の時間内に取得されたものであるか否かの判定を行うためにｔ１、ｔ２という二つの変数を用いる。ｔ１は前回キャプチャデータを取得したときのタイムスタンプであり、ｔ２は今回キャプチャデータを取得したときのタイムスタンプである。Ｓ８２０−８６０で画像形成装置１は、ｔ２とｔ１との差分がｒの範囲内であるか否か判定し、範囲内である場合（Ｓ８６０でＮｏ）プレビュー画像及びサムネイル画像を作成しない。一方、範囲外の場合（Ｓ８６０でＹｅｓ）前回プレビュー画像等を作成してから所定の時間以上経過したものと判断して、プレビュー画像及びサムネイル画像を生成する。
【００６６】
この方式の場合のｒは秒単位での短い時間が望ましい。なぜなら、あまりｒを長くすると、サムネイル画像と実際に取得した画像データが乖離するからである。
【００６７】
＜第６実施例＞
図１６を用いて説明する第６実施例は、第５実施例と類似しているが、プレビュー画像及びサムネイル画像を生成する判定基準として、キャプチャ画像のＲＧＢ値など画像の特徴データを使用する。ＲＧＢ値を使用することにより、例えば、キャプチャ画像の全体が更新されるような大きな画面遷移が発生した場合にのみ、共有させるプレビュー画像及びサムネイル画像を変更することが可能である。したがって、第５実施例では常に比較の対象を前回取得した画像のタイムスタンプとしていたが、ＲＧＢ値を使用する場合、基準と定められたキャプチャ画像のＲＧＢ値の使用を継続する。この基準となるキャプチャ画像は、一定以上の差分ｒが検出された場合のみ更新する。
【００６８】
ここで、画像形成装置１上のアプリケーションはユーザが違和感なく使用できるように、共通のレイアウトや表示部品を使用している場合が多い。この場合、単にＲＧＢ差分を求めただけでは、大きな画面遷移が発生したか否かの判断できなくなってしまう。このため、例えばアプリケーションのタイトル表示部など、特定の領域を比較の対象としても良い。
【００６９】
Ｓ９００で画像形成装置１のシステムが起動すると、Ｓ９１０で画像形成装置１は、キャプチャ画像と基準画像とを比較する対象画像領域と、許容される差分値ｒとを設定値より読み出す。Ｓ９２０で画像形成装置１は、基準画像をホワイト画像とし、対象画像領域のＲＧＢ値ｃ１を算出する。Ｓ９３０−Ｓ９５０で画像形成装置１は操作画面のキャプチャ画像を取得し、当該キャプチャ画像における対象画像領域のＲＧＢ値ｃ２を算出する。Ｓ９６０で画像形成装置１は、「ｃ２−ｃ１」を算出した結果と許容される差分値ｒとを比較し、「ｃ２−ｃ１」が大きい場合（Ｓ９６０でＹｅｓ）、Ｓ９７０で画像形成装置１は、プレビュー画像及びサムネイル画像を生成する。一方、「ｃ２−ｃ１」がｒより小さい場合（Ｓ９６０でＮｏ）、Ｓ９３０に遷移し次の画面キャプチャ動作を行う。
【００７０】
なお、以下に画像形成装置１のハードウェア構成の一例を示す。図１７は、本発明の実施の形態における画像形成装置のハードウェア構成の一例を示す図である。画像形成装置１のハードウェアとしては、コントローラ２０１と、オペレーションパネル２０２と、ファクシミリコントロールユニット（ＦＣＵ）２０３と、撮像部１２１と、印刷部１２２が存在する。
【００７１】
コントローラ２０１は、ＣＰＵ２１１、ＡＳＩＣ２１２、ＮＢ２２１、ＳＢ２２２、ＭＥＭ−Ｐ２３１、ＭＥＭ−Ｃ２３２、ＨＤＤ（ハードディスクドライブ）２３３、メモリカードスロット２３４、ＮＩＣ（ネットワークインタフェースコントローラ）２４１、ＵＳＢデバイス２４２、ＩＥＥＥ１３９４デバイス２４３、セントロニクスデバイス２４４により構成される。
【００７２】
ＣＰＵ２１１は、種々の情報処理用のＩＣである。ＡＳＩＣ２１２は、種々の画像処理用のＩＣである。ＮＢ２２１は、コントローラ２０１のノースブリッジである。ＳＢ２２２は、コントローラ２０１のサウスブリッジである。ＭＥＭ−Ｐ２３１は、画像形成装置１のシステムメモリである。ＭＥＭ−Ｃ２３２は、画像形成装置１のローカルメモリである。ＨＤＤ２３３は、画像形成装置１のストレージである。メモリカードスロット２３４は、メモリカード２３５をセットするためのスロットである。ＮＩＣ２４１は、ＭＡＣアドレスによるネットワーク通信用のコントローラである。ＵＳＢデバイス２４２は、ＵＳＢ規格の接続端子を提供するためのデバイスである。ＩＥＥＥ１３９４デバイス２４３は、ＩＥＥＥ１３９４規格の接続端子を提供するためのデバイスである。セントロニクスデバイス２４４は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル２０２は、オペレータが画像形成装置１に入力を行うためのハードウェア（操作部）であると共に、オペレータが画像形成装置１から出力を得るためのハードウェア（表示部）である。
【００７３】
なお、図１に示されるソフトウェアは、例えば、ＭＥＭ−Ｃ２３２に格納され、ＣＰＵ２１１によって処理されることによりその機能を画像形成装置に実行させる。
【００７４】
以上、本発明の実施の形態について詳述したが、本発明は係る特定の実施の形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲において、種々の変形・変更が可能である。
【符号の説明】
【００７５】
１  複合機
１０  ユーザインタフェース層（フィルタ選択手段の一例）
１１  通信サーバ部
１２  ローカルＵＩ部
２０  コントロール層（フィルタ接続手段の一例）
３０  アプリケーションロジック層
４０  デバイスサービス層
４１  画像パイプ（伝達手段の一例）
４２  データ管理部
５０  デバイス制御層
５１  スキャナ制御部
５２  プロッタ制御部
５３  メモリ制御部
５４  Ｔｅｌ回線制御部
５５  ネットワーク制御部
６０  操作部
６１  画面キャプチャ部
６２  送信部
７０  コントローラ部
２０１  コントローラ
２０２  オペレーションパネル
２０３  ファクシミリコントロールユニット
２１１  ＣＰＵ
２１２  ＡＳＩＣ
２２１  ＮＢ
２２２  ＳＢ
２３１  ＭＥＭ−Ｐ
２３２  ＭＥＭ−Ｃ
２３３  ＨＤＤ
２３４  メモリカードスロット
２３５  メモリカード
２４１  ＮＩＣ
２４２  ＵＳＢデバイス
２４３  ＩＥＥＥ１３９４デバイス
２４４  セントロニクスデバイス
３０１  読取フィルタ
３０２  保管文書読出フィルタ
３０３  メール受信フィルタ
３０４  ＦＡＸ受信フィルタ
３０５  ＰＣ文書受信フィルタ
３０６  レポートフィルタ
３０７  画面キャプチャフィルタ
３１１  文書変換フィルタ
３１２  文書変換フィルタ
３２１  印刷フィルタ
３２２  保管文書登録フィルタ
３２３  メール送信フィルタ
３２４  ＦＡＸ送信フィルタ
３２５  ＰＣ文書送信フィルタ
３２６  プレビューフィルタ
３０７１  受信部
３０７２  変換部
３０７３  管理部
【先行技術文献】
【特許文献】
【００７６】
【特許文献１】特開２００７−３２５２５１号公報
【図１】
2011055289.tif 000003
【図２】
2011055289.tif 000004
【図３】
2011055289.tif 000005
【図４】
2011055289.tif 000006
【図５】
2011055289.tif 000007
【図６】
2011055289.tif 000008
【図７】
2011055289.tif 000009
【図８】
2011055289.tif 000010
【図９】
2011055289.tif 000011
【図１０】
2011055289.tif 000012
【図１１】
2011055289.tif 000013
【図１２】
2011055289.tif 000014
【図１３】
2011055289.tif 000015
【図１４】
2011055289.tif 000016
【図１５】
2011055289.tif 000017
【図１６】
2011055289.tif 000018
【図１７】
2011055289.tif 000019