(57)【要約】【課題】  表示制御部を備える画像処理装置の画面表示を高速描画する技術を提供すること。【解決手段】  複数の機能を提供する画像処理装置１００は、画像処理装置１００の動作を管理するとともに提供する機能に対応するアプリケーション手段を実行させるためのＣＰＵ２２１と、アプリケーション手段に対する各種指令を可能とする表示画面を提供するためのウィンドウ情報を生成する表示制御装置２１４と、表示制御装置２１４によって生成された表示画面を表示し、ユーザ・インタフェースを提供する操作パネル２０２とを備え、表示制御装置２１４は、表示するべき機能ごとに生成されたウィンドウ情報をキャッシュし、画像処理装置１００の機能を提供するための画面表示を、予めキャッシュした対応するウィンドウ情報を読み込んで前記操作パネルに表示する。【選択図】  図２
2013191998.tif 000002
【特許請求の範囲】
【請求項１】
複数の機能を提供する画像処理装置であって、
前記画像処理装置の動作を管理するとともに提供する機能に対応するアプリケーション手段を実行させるための制御手段と、
前記アプリケーション手段に対する各種指令を可能とする表示画面を提供するためのウィンドウ情報を生成する表示制御手段と、
前記表示制御手段によって生成された前記表示画面を表示し、ユーザ・インタフェースを提供する操作パネル手段と
を備え、
前記表示制御手段は、表示するべき機能ごとに生成された前記ウィンドウ情報をキャッシュする記憶手段を備え、
前記画像処理装置は、前記画像処理装置の機能を提供するための画面表示を、予めキャッシュした対応する前記ウィンドウ情報を読み込んで前記操作パネル手段に表示する、画像処理装置。
【請求項２】
前記表示制御手段は、前記画面表示を作成するためのウィンドウ生成手段を備え、前記制御手段は、前記ウィンドウ生成手段が作成する前記画面表示を前記アプリケーション手段からハンドル値を使用して制御するための表示制御エージェントを含む、請求項１に記載の画像処理装置。
【請求項３】
前記ウィンドウ情報は、作成するべき表示画面を指定するための識別値、表示するイメージを指定するための識別値および表示するべきメッセージを指定するための識別値を含み、前記表示制御手段は、前記ウィンドウ情報を生成する場合に、ウィンドウ情報を指定するハンドルを生成し、当該ハンドルに対応付けて前記ウィンドウ情報をキャッシュする、請求項１または２に記載の画像処理装置。
【請求項４】
前記キャッシュした前記ウィンドウ情報の読み込みは、前記画像処理装置の起動画面を生成する場合、ユーザが現在表示している機能とは異なる機能を要求する場合、または前記画像処理装置が省エネモードから復帰する場合に実行される、請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記アプリケーション手段がユーザから呼び出され、前記表示制御手段は、前記アプリケーション手段に対応して登録されたエージェントからの指示によって表示するべき表示画面を生成する、請求項１〜４に記載の画像処理装置。
【請求項６】
前記キャッシュした前記ウィンドウ情報からの表示画面の生成を、前記画像処理装置の起動処理または省エネモードからの復帰処理内で実行する、請求項１〜５に記載の画像処理装置。
【請求項７】
複数の機能を提供する画像処理装置の表示制御方法であって、前記画像処理装置が、
前記機能を提供するアプリケーション手段に対する各種指令を可能とする画面表示を提供するためのウィンドウ情報を生成し、記憶手段にキャッシュするステップと、
表示するべき機能ごとに表示する表示画面のためのウィンドウ情報を予めキャッシュする記憶手段から読み込むステップと、
読み込んだ前記ウィンドウ情報から前記表示画面を生成し、操作パネルに表示することで、ユーザ・インタフェースを提供するステップと、
前記表示画面からのユーザ指令に対応する機能に対応するアプリケーション手段を実行させるステップと
を実行する表示制御方法。
【請求項８】
画像処理装置を、請求項１〜６のいずれか１項に記載の機能手段として機能させるための装置実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、より詳細には、表示制御部を備える画像処理装置の画面表示を制御する技術に関する。
【背景技術】
【０００２】
これまで、ファクシミリ、コピー、スキャナ、プリンタなどの機能を提供する画像処理装置が知られている。従来の画像処理装置は、タッチパネルなど表示および操作機能を提供する操作パネルが、本体の見やすい箇所に、本体とは別の制御手段として設けられている。このため、画像処理装置は、電源投入時や、機能切り換えなどの際に、要求された機能を提供するための操作パネル上に機能を提供するための画面表示を行わせ併せてユーザ・インタフェース機能を提供する。
【０００３】
従来の画像処理装置では、特に画像処理装置の初期立ち上げや省エネモードからの復帰時にユーザが機能を利用するための画面表示を提供するまでに比較的長時間を要していた。また、画像処理装置の初期立ち上げや省エネモードからの復帰時に表示される画面表示は、画像処理装置が単に起動したことを示す表示のこともあり、ユーザが希望するアプリケーションの画面を表示させるためには、ユーザが希望するアプリケーションを起動させる処理を行うか、または、表示制御部（以下、ＯＣＳとして参照する。）に対して予め表示させるべき画面情報を登録しておかなければならなかった。
【０００４】
さらに、ＯＣＳへの画面情報の登録は、一定の時間を要するので、機能がたくさんあると、それだけ時間がかかってしまい、システム起動後、アプリケーションの画面が表示されるまでに時間がかかるという問題とはまた、別の問題を生じさせることになる。加えて、画像処理装置の機能やアプリケーションに機能を追加すればするだけ、システム起動後や省エネモードからの復帰など初期の画面を表示させるための時間が長くなるという問題もあった。
【０００５】
これまでにも画像処理装置の画面表示速度を改善するための技術は提案されており、例えば、特開２００６−３６５９号公報(特許文献１）には、ユーザに対して起動準備を早く知らせる目的で、表示制御部に本体側とは別の制御手段を設け、本体起動準備中に表示制御部の起動を完了させ、自発的に表示制御部が起動画面の表示を行うプログラムが開示されている。
【０００６】
特許文献１は、表示制御部に本体側とは別の制御手段を設けることで、本体起動準備中に表示制御部を並列的に実行させ、表示制御部が起動画面の表示を先行して表示させるものである。しかしながら、特許文献１に記載の技術は、単に表示制御部に予め登録された起動画面を表示しているに過ぎず、画像処理装置の機能を提供するためのアプリケーション画面を表示させるまでの時間を短縮させることを解決課題とするものではない。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、従来技術の問題点に鑑みてなされたものであり、本発明は、画像処理装置がアプリケーション画面を表示するまでの時間を短縮する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、画像処理装置が表示するアプリケーション画面の情報を、アプリケーションと、ＯＣＳとの間のデータトランザクションの効率化により起動時間を短縮するものである。本発明では、アプリケーションは、アプリケーションの画面情報を予め表示制御部を介して、不揮発性の記憶手段にキャッシュする。
【０００９】
表示制御部は、画像処理装置から呼び出しを受けると、記憶手段からキャッシュされている画面情報を読み出し、その情報を使用して表示画面を構築する。表示制御部は、表示画面の構築が完了したら、アプリケーションに対して画面上に配置された各種アイテムの機能を対応付けする識別子を生成し、当該識別子をウィンドウ＿ハンドルとして、以後のアプリケーションとＯＣＳとの間のトランザクションを統合するトランザクション識別子として利用可能とする。上述した処理を利用して表示画面を構築することにより、表示画面の生成により発生するＯＣＳと、本体のオペレーティング・システムとの間の割り込みを伴うデータ送受信のデータ量や回数を抑えることができ、画面情報の本体側への要求を回避することと相俟って、画像処理装置の表示画面の生成処理を効率化し、表示画面の生成に要する処理時間を短縮することができる。
【００１０】
本発明は、画像処理装置の起動時や省エネモードからの復帰時に適用することが、好ましいが、画像処理装置に対してユーザが異なる機能を連続して要求する場合にも適用することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態の画像処理装置１００の機能ブロック図。
【図２】図１に示した画像処理装置１００のハードウェア・ブロック２００を示す図。
【図３】本実施形態の本体のＣＰＵ２２１と、ＯＣＳ２１０との間の関係を説明した図。
【図４】ＯＣＳ２１０が操作パネル２０２に画像処理装置１００の機能を提供するために表示する表示画面を示す図。
【図５】本実施形態において、ユーザが特定のアプリを呼び出すときにＯＣＳ２１０と、アプリとの間で実行される表示画面を処理する際のトランザクションシーケンス図。
【図６】ＯＣＳクライアントとして機能するアプリと、ＯＣＳのモジュールとして実装されるウィンドウ描画処理モジュールであるウィンドウ生成部との間で行われるトランザクションのシーケンス図。
【図７】本実施形態でキャッシュしたウィンドウ情報を使用したウィンドウ表示処理のシーケンス図。
【図８】本実施形態のウィンドウ表示方法のフローチャート。
【図９】本実施形態の他のウィンドウ表示方法のフローチャート。
【図１０】起動アプリを事前に登録する実施形態のシーケンス図。
【図１１】本実施形態で特定のウィンドウを表示させるためにキャッシュされるウィンドウ情報１１００の実施形態を示す図。
【図１２】本実施形態においてキャッシュしたウィンドウ構造体データを、その表示処理においてリカバリする処理のフローチャート。
【発明を実施するための形態】
【００１２】
以下、本発明を実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。図１は、本実施形態の画像処理装置１００の機能ブロック図である。画像処理装置１００は、タッチパネルといった操作パネルまたはディスプレイ装置と、入力キーなどを備えたインタフェース部１１０とを備えている。
【００１３】
インタフェース部１１０は、操作パネル上に、ブラウザアプリケーション(以下、アプリケーションを単にアプリとして参照する。）、プリンタアプリ、ファックスアプリ、ネットファイルアプリ、スキャナアプリなど、画像処理装置１００がユーザに対して提供する各種機能の設定や動作開始などの機能を提供するためのユーザ・インタフェースを提供している。また、インタフェース部１１０は、ユーザがタッチパネルに触れるなどの処理を検出し、ユーザ操作を本体側の他の機能部にユーザ操作に対応する指令を送付する。
【００１４】
図１に示した画像処理装置１００は、インタフェース部１１０からの指令により各種機能を提供するためのミドルウェア部１２０を備えている。ミドルウェア部１２０は、各種機能を統合して制御するＢＣＳ、各機能を提供するために動作するエンジン部を制御するエンジン制御システムＥＣＳ、メモリ管理を制御するメモリ制御システムＭＣＳ、操作パネルの表示制御や入力制御を管理するＯＣＳ、ファクシミリの動作を管理するファクシミリ制御システムＦＣＳ、ネットワークトランザクションを制御するＮＣＳ、ユーザ・セキュリティなどを管理するＳＣＳなどを含んで構成されている。その他ミドルウェア部１２０は、オペレーティング・システム（ＯＳ）との間の割込み処理を制御するためのＳＲＭなどを含んで構成されており、画像処理装置１００による各種機能の提供をＯＳによって統合して管理することを可能としている。
【００１５】
ＯＳは、汎用ＯＳ部１３０を構成しており、各種の機能のための演算をプログラムに対して実行させ、また、各種機能からの割込み制御などを行う。本実施形態のＯＳとしては非限定的な意味で列挙すると、Ｗｉｎｄｏｗｓ（登録商標）シリーズ、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）などを挙げることができる。本実施形態の特定の態様ではＯＳとしてはＬＩＮＵＸ（登録商標）を挙げることができる。
【００１６】
さらに、画像処理装置１００は、エンジン部１４０を備えており、汎用ＯＳ部１３０は、モノクロプリンタ(B&W)・デバイス、カラープリンタ(Color)・デバイス、ネットワーク・インタフェース・カード（ＮＩＣ）その他のハードウェアリソースを備えている。汎用ＯＳ部１３０は、ＩＤＥ、ＡＴＡ、ＡＳＴＡなどのプロトコルで情報誌記録を行うために記憶装置インタフェース、ＲＡＭ、ＮＶＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭなどの記憶素子にアクセスするためのＵＳＢインタフェース、ＩＥＥＥ１３８４などのエンジンＩ／Ｆを介して各種ハードウェアによる動作を可能としている。
【００１７】
図２は、図１に示した画像処理装置１００のハードウェア・ブロック２００を示す。図２に示すように、画像処理装置１００は、画像処理装置１００に対して各種設定を可能とするキーボード（ハードウェア）の制御を可能とするためのキーボード基板２０１と、タッチパネルなどとして機能するＬＣＤ装置を備える操作パネル２０２とを備えており、ユーザからの各種指令を受け取っている。
【００１８】
キーボード基板２０１および操作パネル２０２からのユーザ操作は、インタフェース（不図示）を介してミドルウェア部１２０の機能モジュールであるＯＣＳ２１０に送付される。ＯＣＳ２１０は、ＣＰＵを含む半導体基板などとして実装することができる。ＯＣＳ２１０は、ＯＣＳ２１０の動作を管理するためのＣＰＵを含む表示制御装置２１４と、操作パネル２０２の制御を担当するための機能を提供するＡＳＩＣ(Application Specific Integrated Circuit)２１１と、ＲＡＭ２１２、ＲＯＭ２１３とを含んで構成することができる。
【００１９】
ＯＣＳ２１０の各機能要素は、内部バス２１８により相互接続されていて、キーボード基板２０１や操作パネル２０２から入力されたユーザ指令を表示制御装置２１４やＡＳＩＣ２１１が制御コマンドにエンコードして、本体に対し、各種の動作を可能とさせている。ＯＣＳ２１０は、例えばＰＣＩバスブリッジ２１５を備えている。ＯＣＳ２１０は、バスブリッジ２１５を介してＳＤカード２１６、フラッシュメモリなどにデータ書き込みまたは読み出しする。使用するバスブリッジ２１５には限定はないが、本実施形態では、ＰＣＩ、ＰＣＩ  Ｅｘｐｒｅｓｓなどを好ましく用いることができる。
【００２０】
また、バスブリッジ２１５は、ＯＣＳ２１０と、画像処理装置１００の本体との間の接続を提供し、本体２２０と、ＯＣＳ２１０との間のデータやコマンドのトランザクションを可能とさせている。一方、本体２２０は、ＯＣＳ２１０以外のモジュールを機能させるためのメイン処理装置として機能するＣＰＵ２２１を備えている。ＣＰＵ２２１としては、例えば、ＰＥＮＴＩＵＭ（登録商標）、ＣＥＬＥＲＯＮ（登録商標）、ＡＴＨＬＯＮ（登録商標）、ＭＩＰＳ（登録商標）といったプロセッサを使用して実装することができ、ＣＰＵ２２１は、シングルコアでもデュアルコアでもかまわない。
【００２１】
ＣＰＵ２２１は、ＯＳの制御下で、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）、ＪａｖａＳｃｒｉｐｔ（登録商標）ＰＨＰ、Ｐｅｒｌといったプログラミング言語で記述されたアプリケーションを実行し、例えば各種機能を提供するためのアプリケーション１、アプリケーション２、アプリケーション３などを実行させ、本実施形態の機能を画像処理装置１００に実現させている。
【００２２】
図３は、本実施形態の本体のＣＰＵ２２１と、ＯＣＳ２１０との間の関係を説明した図である。図３の実施形態では、本体のＣＰＵ２２１は、コピーアプリ２２２、スキャナアプリ２２３、およびセキュリティアプリ２２４などがインストールされている。画像処理装置１００は、ユーザからの呼出しに応答して、ＯＣＳ２１０からの割込みを受領し、共有ライブラリとして構成されるＯＣＳライブラリ２２５を介してＯＣＳからの要求を受け付け、要求されたアプリを起動する。アプリは、起動されると、アプリの動作のために必要な各種設定などを表示させる表示画面の作成を、ＯＣＳライブラリ２２５を介してＯＣＳ２１０に指令し、ユーザに対して操作パネル２０２を介したアプリケーションの利用を可能とさせている。
【００２３】
本体２２０と、ＯＣＳ２１０との間のトランザクションを行うために、ＯＣＳライブラリ２２５は、各アプリに対応するＯＣＳエージェントを含んでいる。ＯＣＳ２１０は、ユーザからの指令に応じてアプリの起動する場合、ＯＣＳライブラリ２２５から該当するＯＣＳエージェントを呼び出し、対応するアプリを実行させることで、画像処理装置１００に対して機能の提供を可能としている。
【００２４】
一方、ＯＣＳ２１０は、本体２２０側からの要求に応答してアプリのための表示画面を生成する機能を提供するウィンドウ生成部２１０ａを含んでいる。ウィンドウ生成部２１０ａは、本体２２０側からの指令に応じて指令されたアプリのための表示画面を作成し、表示領域に対応する機能割り当て、ＡＳＩＣ２１１を介して操作パネル２０２に画面表示を表示させている。ウィンドウ生成部２１０ａは、このため、現在作成するべき画面表示の機能や表示するべきアイコンなどに関する情報を使用して表示画面を作成する必要がある。
【００２５】
図４は、ＯＣＳ２１０が操作パネル２０２に画像処理装置１００の機能を提供するために表示する表示画面を示す。画像処理装置１００は、その起動時や省エネモードからの復帰時に、表示画面４００で示される起動画面を表示する。ユーザが希望する機能を示すアイコンを表示画面４００でタッチすることなどすると、コピーアプリ対応の表示画面４１０やスキャナ対応の表示画面４２０が表示される構成となっている。
【００２６】
表示画面４１０は、コピーアプリ２２２が呼び出された時に表示される表示画面であり、画面上には、「白黒」、「フルカラー」、「その他カラー」などの印刷色指定、紙サイズ、その他コピーのために使用できる各種機能の設定を行うためのイメージが画面上に表示されている。
【００２７】
また、表示画面４２０は、スキャナアプリが呼び出された場合の表示画面である。図示した表示画面では、ユーザは、原稿画像をスキャナによって読取った後、メール送信する機能を選択したものとして説明する。メールタブに対応付けられる機能は、メール送付先がテキストおよびイメージで表示され、その他、アドレスの選択イメージ、宛先入力、履歴参照入力などがイメージ表示され、ユーザによるさらなる機能指定が可能とされている。
【００２８】
図４に示す表示画面は、ＯＣＳ２１０が表示するべきウィンドウ構造体データを読み込んで、読み込んだウィンドウ構造体データにしたがって、ウィンドウ生成部２１０ａがイメージやテキストを描画し、操作パネル２０２上にビデオデータとして表示させることにより形成される。画像処理装置１００が起動された後であれば、画像処理装置１００の遊休期間を試用して表示するべきウィンドウ構造体データを読み込んで置くこともできるが、起動後最初に表示するべきウィンドウや、ユーザが画像処理装置１００が予め登録していない機能を要求する場合、ウィンドウ構造体データの読み込み、各種イメージ、テキストなどの選択・読み込み、描画イメージの作成などが必要となる。
【００２９】
当該処理は、本体２２０側とＯＣＳ２１０側との間のバスラインを通した通信や割込み処理がウィンドウ情報の情報量に応じて多くなり、またそれに対応してＯＣＳ２１０側における処理待ち時間も浪費するので、結果として表示画面の表示のための準備期間が長くなりがちで、ユーザの待ち時間も長くなりがちである。
【００３０】
この様な描画処理であっても、画像処理装置１００の機能が少ない場合には、気にならない程度の待ち時間で表示画面を表示することができると言えるが、機能が高機能化・多様化し、ユーザが利用可能な機能が利用可能になるにつれて、表示画面を表示させるための時間は、機能や表示イメージの増大に関連して長時間となり、所謂、８秒ルールなど、待ち時間についての認容限度時間に近づくことになる。このため、とりわけ画像処理装置１００の起動時、省エネモードからの復帰時の他、特定のアプリを最初に呼び出す場合など、表示画面の表示は、できるだけ高速に行うことが望ましい。
【００３１】
図５は、ＯＣＳ２１０と本体２２０側との間で表示画面を生成する際に実行されることになるトランザクションを詳細に示すシーケンス図である。図５のシーケンスは、Ｓ１から開始し、ＯＣＳ２１０がアプリから、Ｓ１で表示画面の作成を指令する、Create Windowリクエストを受領する。ＯＣＳは、Ｓ２で生成するべき表示画面を指定するウィンドウ識別値であるWindow IDをアプリに通知する。Ｓ３では、アプリがWindow IDを受領し、表示するべきアイテムを選択し、アプリが表示させるべきアイテムを生成するようにＯＣＳに依頼する。ＯＣＳは、この要求を受領すると、Ｓ４で表示するべきアイテムを指定する識別値であるアイテム識別値（Item ID）をアプリに返す。
【００３２】
Item IDを受領したアプリは、Ｓ５でウィンドウ属性を変更するための要求をＯＣＳに発行し、ＯＣＳは、Ｓ６でウィンドウ属性を修正したことをアプリに報告する。当該報告を受領したアプリは、Ｓ７で表示するべきアイテムの属性を変更する要求をＯＣＳに送付する。アイテムの属性とは、表示するべきメッセージを変更するなどのアイテムの機能を変える処理などを挙げることができる。ＯＣＳは、当該要求を受領すると、アイテム属性を変更し、Ｓ８で、アイテム属性を変更したことをアプリに通知する。
【００３３】
この通知を受領すると、アプリは、ＯＣＳが当該アプリが使用するウィンドウを表示する準備が完了したと判断し、Ｓ９でウィンドウの描画を要求する“Request Paint Window”をＯＣＳに発行する。ＯＣＳは、当該指令を受領するとＳ１０でウィンドウの描画を開始し、描画結果のウィンドウを、操作パネル２０２に表示させる。
【００３４】
また、ウィンドウを削除する処理は、Ｓ１１〜Ｓ１４によって行われ、Ｓ１１で、アプリが終了する場合に、表示しているアイテムの削除をＯＣＳに指令する。ＯＣＳは、当該指令を受領するとアイテムを削除し、Ｓ１２でアイテムを削除したことをアプリに通知する。その後、アプリは、Ｓ１３で、現在表示しているウィンドウの削除をＯＣＳに要求し、ＯＣＳは、当該指令を受領して、ウィンドウ識別値（Window ID）で指定されるウィンドウを削除し、Ｓ１４でウィンドウを削除した通知をアプリに送付し、ウィンドウの削除処理を終了する。図５に説明したように、本実施形態のアプリは、ＯＣＳを介して指定した構成を有するウィンドウを操作パネル２０２に表示させ、ユーザによるアプリの利用を可能とさせている。
【００３５】
図５に示すように、画面表示を表示させるため、本体２２０側とＯＣＳ２１０との間でバスラインを介したトランザクションは、比較的多く、このため、本体２２０側およびＯＣＳ２１０の処理待ち時間は、共に待機時間が多くの占めている。
【００３６】
図６は、本実施形態のＯＣＳエージェントと、ＯＣＳのモジュールとして実装されるウィンドウ描画処理モジュールであるウィンドウ生成部２１０ａとの間で行われる、効率化したトランザクションのシーケンス図である。なお、ＯＣＳエージェントは、本体側に各アプリに対応付けられ、例えば「．ｓｏ」などの共有ライブラリとして実装されるＯＣＳライブラリに配置されており、各アプリからのウィンドウ生成部２１０ａに対するコマンドを、ＯＣＳ２１０に転送する機能を有する。
【００３７】
またＯＣＳエージェントは、アプリ側に応答するべきコマンドや通知については、操作パネル２０２などからの入力結果やトランザクションパケットを受信し、アプリに渡す処理を実行する。なお、本実施形態の他の態様では、共有ライブラリとしては、Ｗｉｎｄｏｗｓ(登録商標）系ＯＳにおけるダイナミック・リンク・ライブラリ（ｄｌｌ）として実装することもできる。
【００３８】
図６をさらに詳細に説明すると、Ｓ２０でアプリが起動されると、アプリは、アプリを指定する識別値であるアプリケーション識別値(application ID)を引数として、ＯＣＳエージェントを呼び出し、Ｓ２１でウィンドウ生成部２１０ａに対し、アプリケーション識別値を引数として渡し、ウィンドウの生成開始を指令する。ウィンドウ生成部２１０ａは、Ｓ２２で、初期ウィンドウを生成する旨の通知をアプリに返す。当該通知を受領したアプリは、Ｓ２３で、作成するべきウィンドウにより提供するべき機能を、ウィンドウ＿ハンドル（Win_handle）で指定し、アイテム１を、Start_Winに帰属させることを、ウィンドウ＿ハンドルの引数として設定することにより、ウィンドウ生成部２１０ａに通知する。
【００３９】
ウィンドウ生成部は、Ｓ２４で初期ウィンドウにアイテム１を登録したとの通知をアプリに返す。さらにアプリは、Ｓ２５で、初期ウィンドウにアイテム２を表示させるようにウィンドウ生成部２１０ａに指令し、ウィンドウ生成部２１０ａは、アイテム２を初期ウィンドウに登録した旨の通知をアプリに通知し、ウィンドウ生成部がアイテム２の生成を終了すると、Ｓ２６で登録完了を通知する。そして、アプリが、アイテムの登録が終了したと判断すると、アプリは、Ｓ２７で、現在アプリが生成させているウィンドウのウィンドウ＿ハンドルを、表示するべきウィンドウを生成するためのウィンドウ情報に対応付けて、持続的記憶手段、例えばＮＶＲＡＭ、ＵＳＢ、ＳＤカード、ハードディスク装置などに記録、言い換えればキャッシュするように指令する。
【００４０】
例えば、ウィンドウ＿ハンドルは、現在処理中のウィンドウが、初期ウィンドウであることを示すためのインデックスとして生成され、初期ウィンドウのためキャッシュしたウィンドウ情報を図５に示す多重のトランザクションを使用して指定することなく、直接的に高速参照することを可能とする。ウィンドウ＿ハンドルは、例えば初期画面の場合、Start_Win、他のアプリの場合、当該アプリを示す値が割当てられており、当該ウィンドウ＿ハンドル値によってそれぞれに対応したウィンドウ情報や機能参照が直接参照される。ウィンドウ生成部２１０ａは、ウィンドウ情報を登録すると、Ｓ２８で、登録終了を通知し、本実施形態によるウィンドウ情報の登録処理が終了する。
【００４１】
なお、ウィンドウ作成をより効率化する観点では、作成したウィンドウ情報をＮＶＲＡＭ、ＵＳＢメモリ、ＳＤカードなど固体メモリ素子を使用することが好ましいものの、ウィンドウの指定やアイテムの指定のトランザクションを回避するだけでも充分表示の高速性は確保できる場合には、本体２２０側で管理するハードディスクなどの磁気記録媒体も利用することができる。
【００４２】
他の実施形態では、ウィンドウ情報は、ＯＣＳ２１０側で直接アクセスできるＲＯＭ、ＮＶＲＡＭ、ＳＤカードなどに格納しておき、本体２２０を経由することなくＯＣＳ２１０側から直接よって読出す構成とすることもできる。ただし、当該実施形態の場合、表示速度は改善されるものの、本体２２０側における機能状態の変更を別の処理で反映することが必要にあるので、当該実施形態は、初期ウィンドウなど固定されたウィンドウ表示を行う場合に好ましく利用することができる。
【００４３】
図７は、本実施形態でキャッシュしたウィンドウ情報を使用したウィンドウ表示処理のシーケンス図を示す。図７のシーケンスでは、Ｓ３０で、アプリは、アプリケーション識別値を引数としてウィンドウ生成部に対してウィンドウ生成を要求し、ＯＣＳクライアントを呼び出す。ＯＣＳクライアントは、Ｓ３１でアプリケーション識別値を引数に指定し、ウィンドウ生成部２１０ａに対して指定したアプリケーション識別値のウィンドウを生成するように指令する。ウィンドウ生成部２１０ａは、当該指令を受領すると、該当するウィンドウおよびウィンドウに含まれるアイテムの情報をハンドル情報を参照して読み出し、メモリ上に復元する。
【００４４】
その後、Ｓ３２でウィンドウ生成部２１０ａは、ウィンドウの復元後に復元したウィンドウが表示するウィンドウ識別値(Window ID)およびウィンドウ＿ハンドルによって指定され、ウィンドウに表示されるアイテムのアイテム識別値(Item ID)などのリストをアプリに返す。この処理は、アプリ側でその時点での画像処理装置の状態に反映させて表示するべきアイテムを修正することを可能とするために追加される。アプリは、Ｓ３３で、修正するべきアイテムのセットをウィンドウ生成部に通知し、ウィンドウ生成部は、当該通知にしたがってアイテムを修正する。
【００４５】
そして、アプリは、Ｓ３４でウィンドウ生成部に対し、ウィンドウの描画するように指令する。当該指令を受領したウィンドウ生成部は、指定された情報にしたがってウィンドウを生成し、操作パネル２０２にウィンドウを表示させ、ユーザによるアプリケーションへの指令を可能とさせている。図７に示すように、本実施形態によれば、図５で示すようにアイテム毎に本体２２０側とＯＣＳ２１０側との間におけるトランザクションを著しく削減でき、さらにデータアクセス速度も向上できるので、表示画面の作成を高速化できる。
【００４６】
図８は、本実施形態のウィンドウ表示方法のフローチャートを示す。図８の処理は、ポイントＡで画像処理装置１００が起動された後に行われる処理であり、ステップＳ８００で、ＯＣＳ２１０が起動され、ステップＳ８０１でアプリに対してＯＣＳ起動完了が通知される。ステップＳ８０２では、ＯＣＳがアプリから起動画面ロード要求を受領し、ステップＳ８０３で、アプリケーションについて指定された起動画面があるか否かを判断し、起動画面が登録されていれば（ｙｅｓ）、ステップＳ８０４で読み出したウィンドウ情報を使用して起動画面を描画し、ステップＳ８０５で、描画したウィンドウに関連するウィンドウハンドルをアプリに渡し、処理を終了させる。一方、ステップＳ８０３で起動画面がない場合（ｎｏ）、アプリに対してエラーを返し、ポイントＢから時処理に制御を渡す。
【００４７】
以上の通り、図８および図９のいずれの処理でも、キャッシュしたウィンドウ情報からの表示画面の生成は、起動または省エネモードからの復帰時の時間を有効に利用して実行できるので、効率的な表示画面の生成を可能とする。
【００４８】
図９は、本実施形態の他のウィンドウ表示方法のフローチャートを示す。図８との違いは起動画面描画のタイミングであり、図９では事前に起動画面を描画しておき、クライアントからの起動画面ロード要求を受け取ったら、描画済みの起動画面からハンドルを渡すことにより画面表示をさらに高速化することを可能とする実施形態である。図９の処理は、ポイントＡで画像処理装置１００が起動された後に行われる処理であり、ステップＳ９００で、ＯＣＳ２１０が起動され、ステップＳ９０１で読み出したウィンドウ情報を使用して起動画面を描画する。
【００４９】
その後、ステップＳ９０２でアプリに対してＯＣＳ起動完了が通知される。ステップＳ９０３では、ＯＣＳがアプリから起動画面ロード要求を受領する。その後、ステップＳ９０４で、アプリケーションについて指定された起動画面があるか否かを判断し、起動画面が登録されていれば（ｙｅｓ）、ステップＳ９０５で描画したウィンドウに関連するウィンドウハンドルをアプリに渡し、処理を終了させる。一方、ステップＳ９０４で起動画面がない場合（ｎｏ）、アプリに対してエラーを返し、ポイントＢから時処理に制御を渡す。図９に示した実施形態では、最初に表示画面が表示されるまでの待ち時間を削減することができる。
【００５０】
図１０は、起動するべきウィンドウが複数のアプリを登録しており、かつ図９の起動シーケンスにしたがってＯＣＳが事前に起動画面を描画する場合に、起動アプリを事前に登録する実施形態のシーケンス図である。図１０の処理は、Ｓ４０でアプリが起動時のアプリケーション情報をウィンドウ生成部に対して登録する。その後、画像処理装置１００が電源オフや省エネモードへ移行する。それ以後、電源がオンされるか、または外部制御によって省エネモードから画像処理装置１００が復帰する。
【００５１】
画像処理装置１００が復帰すると、ウィンドウ生成部が呼び出され、ウィンドウ生成部は、Ｓ４１は、起動画面を選択し、Ｓ４２で、選択した起動画面を、ウィンドウ＿ハンドルを参照しながらアプリのために要求されるアイテムを読み込んで描画する。図１０のシーケンスによれば、起動画面において、以後のトランザクションを経ずとも、利用することができるアプリが表示され、表示されたアプリに対する操作が可能とされる。
【００５２】
図１１は、本実施形態で特定のウィンドウを表示させるためにキャッシュされるウィンドウ情報１１００の実施形態を示す。ウィンドウ情報１１００は、データ構造１１１０を含んでおり、データ構造は、ヘッダ情報、ウィンドウ構造体データ１１２０、アイテム構造体データ１１３０、アイテム情報データ１１４０を含んで構成されている。なお、これらの構造体は、別に作成され、登録される関連付けデータによってデータの先頭が識別されている。図１０中、ウィンドウ構造体データ１１２０は、ハンドルで指定されるウィンドウを識別するデータであり、初期画面ウィンドウ自体の識別値、ウィンドウの割当て、ウィンドウの間隔を示す値などが、Rec_ID、WinRect、WinGapなどとして登録されている。
【００５３】
また、データ構造１１１０に登録されるアイテム構造体データ１１３０は、それ自身の識別値、アイテム割当て、間隔、色情報、非表示の場合の色、描画情報、テキストの属性情報などを含んだ構造とされる。さらに、データ構造１１１０に含まれるアイテム情報データ１１４０は、アイテム構造体データで指定されるアイテムの情報を、その識別値、ボタン情報、アイコン情報、およびメッセージ情報として登録して生成される。
【００５４】
図１１に示したウィンドウ情報１１００は、特定の実施形態では、画像処理装置１００が高速アクセスできるように、バイナリデータのフォーマットとして記憶装置に書出され、読出し処理もバイナリデータとして読み出すことが好ましい。また、データ記録時バイナリデータの書込みによって各データ構造を参照するためのポインタ情報やアドレス情報が変化する場合、ポインタ情報として機能する元のアドレス情報を適切な記憶領域にウィンドウ情報に対応付けて登録しておくことができる。
【００５５】
この際、例えば、ウィンドウ情報１１００を登録する場合のフォーマットとして、末端のアイテム構造体データを参照するための先頭アドレスを明示的なNull値、またはそれと等価な識別情報で置換し、バイナリデータとして格納するフォーマットとしてキャッシュしておくことができる。この処理によって、ウィンドウ構造体データの末尾を、Null値から開始するデータ構造の末尾として識別することで、ウィンドウ構造体データの範囲を指定することができる。
【００５６】
図１２は、本実施形態においてキャッシュしたウィンドウ構造体データを、その表示処理においてリカバリする処理のフローチャートを示す。図１２に示した処理は、ウィンドウの表示が指令されたことを検知してステップＳ１２００から開始し、ステップＳ１２００で、テンポラリ構造体をまず確保し、当該テンポラリ構造体データにウィンドウ情報１２１０を先頭から、Little EndianまたはBig Endianなどの所定のシーケンスにしたがって読み出す。
【００５７】
その後、ステップＳ１２０１では、ウィンドウ生成部が管理する未使用のウィンドウ構造体を、未使用ウィンドウテーブル１２２０から検索し、未使用のウィンドウ構造体の中から表示するべきウィンドウ情報に割当てた識別値(RecId=##)と同一のウィンドウ構造体クラスを読み出す。ステップＳ１２０１の処理は、生成したウィンドウ構造体クラスを介してリカバーしたウィンドウ情報が保有するハンドルを、アプリケーション側およびＯＣＳ側で共有させるためである。
【００５８】
さらにステップＳ１２０２では、テンポラリ構造体データの内容を、ウィンドウ構造体クラスにコピーすることによって設定し、ウィンドウ構造体インスタンスとして有効化する。その後、ステップＳ１２０３で、ウィンドウ生成部は、有効化したウィンドウ構造体(RecId=##)のインスタンスを使用して、描画関数(Paint Window)を実行し、表示画面を作成する。
【００５９】
以上の処理によれば、画像処理装置１００が表示するべき機能をユーザに提供するための表示画面を構成するウィンドウ構造が高速アクセス可能な形式でキャッシュできるので、画像処理装置１００は、効率的かつ高速に要求される機能のための表示画面を作成することが可能となる。
【００６０】
これまで本発明を図面に示した実施の形態をもって説明してきたが、本発明は、図面に示した実施の形態に限定されるものではなく、別の実施の形態、変更例、本発明に対する他の構成要件の付加など、当業者により想到できる構成の相違であって、本願の作用効果を奏するものについても含むものである。
【符号の説明】
【００６１】
１００  画像処理装置
１１０  インタフェース部
１２０  ミドルウェア部
１３０  汎用ＯＳ部
１４０  エンジン部
２００  ハードウェア・ブロック
２０１  キーボード基板
２０２  操作パネル
２１０  ＯＣＳ
２１１  ＡＳＩＣ
２１２  ＲＡＭ
２１３  ＲＯＭ
２１４  表示制御装置
２１５  ＰＣＩバスブリッジ
２１６  ＳＤカード
２１８  内部バス
２２０  本体
２２１  ＣＰＵ
２２２  コピーアプリ
２２３  スキャナアプリ
２２４  セキュリティアプリ
２２５  ＯＣＳライブラリ
４００〜４２０  表示画面
【先行技術文献】
【特許文献】
【００６２】
【特許文献１】特開２００６−３６５９号公報
【図１】
2013191998.tif 000003
【図２】
2013191998.tif 000004
【図３】
2013191998.tif 000005
【図４】
2013191998.tif 000006
【図５】
2013191998.tif 000007
【図６】
2013191998.tif 000008
【図７】
2013191998.tif 000009
【図８】
2013191998.tif 000010
【図９】
2013191998.tif 000011
【図１０】
2013191998.tif 000012
【図１１】
2013191998.tif 000013
【図１２】
2013191998.tif 000014