(57)【特許請求の範囲】
【請求項１】
ビデオディスプレイと、当該ビデオディスプレイに表示するデータを保持する表示バッファと、プロセッサとを備えるコンピュータシステムで実行される複合ユーザインタフェース方法であって、
前記表示バッファには、第１のアプリケーションから生成され、当該第１のアプリケーションのユーザインタフェースと関連付けられた第１のデータが保持されており、
前記第１のアプリケーションとの間に直接的なリンクが無い第２のアプリケーションが起動されると、
前記プロセッサが、
前記第２のアプリケーションによって生成された第２のデータを、前記表示バッファにさらに保持させる手順と、
前記表示バッファから前記第１のデータを抽出する手順と、
前記抽出する手順にて抽出された第１のデータに対して、画像処理を実行して画像処理結果を得る手順と、
前記抽出する手順にて抽出された第１のデータに対して、光学式文字認識処理を実行して各種情報を取得する手順と、
前記画像処理結果及び各種情報を前記第１のデータのレイアウトとして取得する手順と、
前記表示バッファから前記第２のデータを抽出する手順と、
取得した前記第１のデータのレイアウトに基づき、抽出した前記第２のデータを前記第1のデータに配置する位置である複合表示位置を決定する手順と、
決定された前記複合表示位置に基づいて、前記第２のデータと前記第１のデータとを融合して複合表示を生成する手順と、
生成された前記複合表示を前記ビデオディスプレイに表示させる手順と、
実行することを特徴とする複合ユーザインタフェース方法。
【請求項２】
前記第１のデータは、ラスタ表示画像であること、
を特徴とする請求項１に記載の複合ユーザインタフェース方法。
【請求項３】
前記複合表示を生成する手順は、
決定された前記複合表示位置に基づいて、前記第２のデータを前記第１のデータに配置する手順と、
前記第１のデータに配置された前記第２のデータと前記第１のデータとを融合して複合表示を生成する手順と
を有することを特徴とする請求項１又は２に記載の複合ユーザインタフェース方法。
【請求項４】
複合表示位置を決定する手順は、
前記第１のデータによって表示される表示データの位置を判定する手順と、
前記判定された表示データの位置に基づき、当該表示データと重ならない位置を前記第２のデータを前記第１のデータに配置する位置である複合表示配置位置として決定する手順と
を有することを特徴とする請求項１乃至３のいずれか１に記載の複合ユーザインタフェース方法。
【請求項５】
前記プロセッサは、
前記ビデオディスプレイに表示される複合表示における前記第２のデータに対して操作がなされたと前記複合表示位置に基づいて判定された場合に、前記第２のアプリケーションと対話する手順
をさらに実行することを特徴とする請求項１乃至４のいずれか１に記載の複合ユーザインタフェース方法。
【請求項６】
前記プロセッサは、
前記第２のアプリケーションと対話をしている間に、前記第１のアプリケーションをバックグラウンドで動作させる手順
をさらに実行することを特徴とする請求項５に記載の複合ユーザインタフェース方法。
【請求項７】
前記第１のアプリケーションと前記第２のアプリケーションは、それぞれ独立して動作するアプリケーションであること
を特徴とする請求項１乃至６のいずれか１に記載の複合ユーザインタフェース方法。
【請求項８】
ビデオディスプレイと、当該ビデオディスプレイに表示するデータを保持する表示バッファと、プロセッサとを備えるコンピュータシステムであって、
前記表示バッファには、第１のアプリケーションから生成され、当該第１のアプリケーションのユーザインタフェースと関連付けられた第１のデータが保持されており、
前記第１のアプリケーションとの間に直接的なリンクが無い第２のアプリケーションが起動されると、
前記プロセッサが、
前記第２のアプリケーションによって生成された第２のデータを、前記表示バッファにさらに保持させる手順と、
前記表示バッファから前記第１のデータを抽出する手順と、
前記抽出する手順にて抽出された第１のデータに対して、画像処理を実行して画像処理結果を得る手順と、
前記抽出する手順にて抽出された第１のデータに対して、光学式文字認識処理を実行して各種情報を取得する手順と、
前記画像処理結果及び各種情報を前記第１のデータのレイアウトとして取得する手順と、
前記表示バッファから前記第２のデータを抽出する手順と、
取得した前記第１のデータのレイアウトに基づき、抽出した前記第２のデータを前記第1のデータに配置する位置である複合表示位置を決定する手順と、
決定された前記複合表示位置に基づいて、前記第２のデータと前記第１のデータとを融合して複合表示を生成する手順と、
生成された前記複合表示を前記ビデオディスプレイに表示させる手順と、
実行することを特徴とするコンピュータシステム。
【請求項９】
前記第１のデータは、ラスタ表示画像であること、
を特徴とする請求項８に記載のコンピュータシステム。
【請求項１０】
前記複合表示を生成する手順は、
決定された前記複合表示位置に基づいて、前記第２のデータを前記第１のデータに配置する手順と、
前記第１のデータに配置された前記第２のデータと前記第１のデータとを融合して複合表示を生成する手順と
を有することを特徴とする請求項８又は９に記載のコンピュータシステム。
【請求項１１】
複合表示位置を決定する手順は、
前記第１のデータによって表示される表示データの位置を判定する手順と、
前記判定された表示データの位置に基づき、当該表示データと重ならない位置を前記第２のデータを前記第１のデータに配置する位置である複合表示配置位置として決定する手順と
を有することを特徴とする請求項８乃至１０のいずれか１項に記載のコンピュータシステム。
【請求項１２】
前記プロセッサは、
前記ビデオディスプレイに表示される複合表示における前記第２のデータに対して操作がなされたと前記複合表示位置に基づいて判定された場合に、前記第２のアプリケーションと対話する手順
をさらに実行することを特徴とする請求項８乃至１１のいずれか１項に記載のコンピュータシステム。
【請求項１３】
前記プロセッサは、
前記第２のアプリケーションと対話をしている間に、前記第１のアプリケーションをバックグラウンドで動作させる手順
をさらに実行することを特徴とする請求項１２に記載のコンピュータシステム。
【請求項１４】
前記第１のアプリケーションと前記第２のアプリケーションは、それぞれ独立して動作するアプリケーションであること
を特徴とする請求項８乃至１３のいずれか１項に記載のコンピュータシステム。
【請求項１５】
請求項１乃至７の何れか１項に記載の方法をコンピュータシステムに実行させるコンピュータプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、広くコンピュータシステム用のユーザーインタフェースの分野に係り、特に、複数のアプリケーションのユーザーインタフェースを結合する方法及び装置に関する。
【０００２】
【従来の技術】
ユーザーインタフェースとは、機械と機械を使用するユーザーとの間で対話を適合させるため使用される方法及び装置を意味する。ユーザーインタフェースを利用することにより、機械からユーザーへ、或いは、ユーザーから機械へ情報を通知することが可能になる。
【０００３】
一般的に、ユーザーは、機械上で動くアプリケーションによって提供されたユーザーインタフェースを通じて機械と対話する。このユーザーインタフェースは、ソフトウエア開発者によって、ユーザーがアプリケーションの全ての機能を生かすことができるように設計される。その中には、ユーザーに多数のコマンドを覚えさせ、そのコマンドを手動で入力させる代わりに、ユーザーが選択できるように有限個の選択肢を提示することが含まれる。また、一般的に、ユーザーインタフェースは、ユーザーにとって直観的であり、かつ、扱いやすいように設計される。これによって、ユーザーが短時間で生産性を高めることができるように新しいアプリケーションを使用するための訓練が著しく緩和される。
【０００４】
ユーザーは、異なるソフトウエア提供機関に属するソフトウエア開発者グループによって設計されたアプリケーションを使用するので、ユーザーは、多数のユーザーインタフェースに習熟し、各インタフェースと個別に対話することを求められる。このような要求は、アプリケーション間にインタフェースの重複があっても依然として存在する。
【０００５】
【発明が解決しようとする課題】
ソフトウエア提供機関間に協力関係が無い限り、各アプリケーションのユーザーインタフェースは、他のソフトウエア提供機関からのアプリケーションによる変更を実質的に予測することなく設計される。そのため、ソフトウエア提供機関は、入念に設計された自分たちのユーザーインタフェースのグラフィックス及びレイアウトを保存することを望む。その結果として、ユーザーは、アプリケーション間で共通ユーザーインタフェースと共通データ構造の利点を生かすことができない。
【０００６】
本発明の目的は、幾つかのアプリケーションのユーザーインタフェースを結合する方法を提供することである。
【０００７】
【課題を解決するための手段】
上記目的を達成するため、本発明の方法によれば、第１のアプリケーションで生成されたデータは、表示バッファから抽出される。データは、第１のアプリケーションからのユーザーインタフェースと関連付けられる。抽出されたデータから、レイアウトパターンが認識される。レイアウトを使用することによって、複合表示が作成される。複合表示は、第２のアプリケーションによって生成された第２のデータを表示させるため使用される。第１のアプリケーションと第２のアプリケーションの間には直接的なリンクが存在しない。
【０００８】
【発明の実施の形態】
以下、添付図面を参照して本発明の実施例を説明する。図面を通じて同じ参照番号は類似した要素を表す。添付図面には、例示の目的のためだけに多数の実施例が示されているが、添付図面が本発明の範囲を制限することを意図しない。
【０００９】
幾つかのアプリケーションのユーザーインタフェースを結合する方法及び装置を開示する。以下の記述では、説明の目的のため、具体的な名称が本発明の完全の理解を助けるべく使用される。しかし、これらの具体的な詳細は本発明を実施するために必要ではないことが当業者には容易に認められるであろう。
【００１０】
以下の詳細な説明の一部は、コンピュータメモリ内のデータビットに対する演算のアルゴリズム及び記号的表現で示されている。これらのアルゴリズムの説明文及び表現は、データ処理技術の当業者が自分の業績の実質を他の当業者に最も効率的に伝えるため、当業者によって使用される手段である。アルゴリズムは、一般的に、所望の結果を導くステップの理路整然としたシーケンスである。これらのステップは、物理量の物理的操作を要求するステップである。通常、これらの物理量は、記憶、転送、合成、比較、並びに、その他の操作が可能な電子若しくは磁気信号の形式をとるが、このような形式をとるとは限らない。これらの信号は、原理的に共通に使用するという理由のため、ビット、値、要素、シンボル、文字、項、数等として参照するのが好適な場合がある。
【００１１】
しかし、上記の用語及び類似した用語は、適当な物理量と関連付けられ、これらの物理量に与えられた便宜的な呼び名に過ぎないことに注意する必要がある。以下の説明からわかるように、特に断らない限り、「プロセッシング（処理する）」、「コンピューティング」、「計算する」、「判定する」、「表示する」などの用語を使用した説明は、コンピュータシステムのレジスタ及びメモリ内で物理（電子的）量として表現されたデータを、コンピュータシステムのメモリ若しくはレジスタ、又は、その他の情報記憶装置、情報転送装置、若しくは、情報表示装置内で物理量として同様に表現されたデータに操作並びに変換するコンピュータシステム若しくは類似した電子コンピューティング装置の動作又はプロセスを表す。
【００１２】
本発明は、以下に説明する演算を実行する装置にも関係する。この装置は、要求された目的のため特に構成され、或いは、コンピュータ内に記憶されたコンピュータプログラムによって選択的に作動若しくは再構成される汎用コンピュータでもよい。このようなコンピュータプログラムは、たとえば、フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ及び光磁気ディスクを含む任意のタイプのディスク、読み出し専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気若しくは光カード、又は、コンピュータシステムバスに接続され、電子命令を記憶するため適した任意のタイプの媒体のようなコンピュータ読み取り可能な記録媒体に格納されるが、これらの記録媒体に限定されるものではない。
【００１３】
以下に説明するアルゴリズム及び表示内容は、特定のコンピュータ若しくはその他の装置に本来的に関連するものではない。多数の汎用システムが以下に開示された事項に従うプログラムと共に使用され、或いは、要求される方法のステップを実行するためにはより専用化された装置を構築する方が好都合であることがわかる。上記の多様なシステムに要求される構造は、以下の説明から明らかになる。さらに、本発明は、特定のプログラミング言語に関して説明されない。以下に説明される本発明の技術を実現するため多数のプログラミング言語を使用可能であることがわかる。
【００１４】
［全体的な説明］
二つ以上のアプリケーションのユーザーインタフェースを互いに結合若しくは融合できる能力が求められている。この能力は、関連したアプリケーション間での情報の自由な交換を実現し、一方のアプリケーションからのユーザーインタフェース環境が多数の異なるアプリケーションから使用できるようにする。
【００１５】
ユーザーインタフェースを結合する方法及び装置について説明する。結合された複合ユーザーインタフェースは、二つ以上のアプリケーションのユーザーインタフェースを結合し、アプリケーション（又は、プログラマ）からの協働若しくは黙認を必要としない。複合ユーザーインタフェースを用いることにより、一つのアプリケーションのユーザーインタフェースに対応した画面レイアウト（たとえば、ベースレイアウト）は、アプリケーションと関連付けられたデータを表示するため一つ以上の他のアプリケーションによって使用される。
【００１６】
ベースレイアウトを有するアプリケーションは、以下の説明で親アプリケーションと呼ばれる。親アプリケーションのベースレイアウトを変更するデータを有するアプリケーションは、子アプリケーションと呼ばれる。一つ以上の子アプリケーションが存在する。親アプリケーションは子アプリケーションからのデータを表示する環境を提供する。
【００１７】
一実施例において、複合表示生成メカニズム（たとえば、アプリケーション）は、パーソナルコンピュータのビデオカードの表示バッファから親アプリケーションのユーザーインタフェースと関連したラスタデータを獲得する。ラスタデータは、子アプリケーションが表示したいデータを上に重ねることができるようにレイアウトを決めるため使用される。一実施例において、正しい複合表示を作成するため、親アプリケーションのユーザーインタフェースのレイアウトに関して予め作成された情報が利用される。たとえば、親アプリケーションが、月別カレンダー・ビューに予約情報を表示する予約アプリケーションであるとき、表示から作成されえる情報には、たとえば、月名の位置、曜日の位置、日付の位置などのようなデータが含まれる。親アプリケーションのユーザーインタフェースは、子アプリケーションとは独立にソフトウエア提供機関によって設計され、供給されることに注意する必要がある。この親アプリケーションの子アプリケーションからの独立性は、広い範囲の子アプリケーションを親アプリケーションと共に使用できるようにさせるので有利である。
【００１８】
図１Ａは、以下で説明される機能性を実現するパーソナルコンピュータシステムの一実施例を示す図である。図１Ａに示された多数のコンポーネントは、一例として与えられている。図１Ａに示されたコンピュータのある種のコンポーネントは、本発明の具体的に実現するため提案されたシステムから取り除くことができる。図１Ａに示されたコンピュータは、汎用コンピュータを含む任意のタイプのコンピュータである。
【００１９】
図１Ａには、多数のコンポーネントが接続されたシステムバス１０が示されている。プロセッサ１５は、コンピュータによって要求された処理タスクを実行する。プロセッサ１５は、上述の動作を実行するため必要な手順を実現し得る任意のタイプの処理装置である。入出力（Ｉ／Ｏ）装置２０は、バス１０に接続され、コンピュータに接続された他の装置と通信するメカニズムを備える。グラフィックス・ディスプレイ・アダプタ２５は、バス１０に接続され、プロセッサ１５によって生成された表示データを受け取り、表示データを表示バッファに保存する。読み出し専用メモリ（ＲＯＭ）３０及びランダム・アクセス・メモリ（ＲＡＭ）３５は、バス１０に接続され、コンピュータによって使用される種々のデータ及び情報、たとえば、複合表示生成コード及びパターン認識コードの記憶メカニズムを備える。ＲＯＭ３０及びＲＡＭ３５は、本例の場合、バス１０に接続されているが、他の実施例の場合、ＲＯＭ３０及びＲＡＭ３５は、プロセッサ１５に直結され、或いは、専用メモリバス（図示しない）に接続される。
【００２０】
ビデオ・ディスプレイ４０は、グラフィックス・ディスプレイ・アダプタ２５に接続され、表示バッファに蓄積された種々の情報及びデータをコンピュータのユーザーへ提示する。データ表示は、親アプリケーションのベースレイアウト自体、又は、子アプリケーションからの複合表示を伴うベースレイアウトを含む。ディスクドライブ４５は、親アプリケーション、子アプリケーション、及び、複合表示生成アプリケーションを記憶するため使用される。ディスクドライブは、親アプリケーション及び子アプリケーションと関連したデータを記憶するためにも使用される。キーボード５０及びマウス５５は、ユーザーからの入力を受けるため設けられる。
【００２１】
最初、親アプリケーションは、子アプリケーションが作動される前に、ビデオ・ディスプレイ４０に表示される情報を制御するアクティブアプリケーションである。一実施例において、子アプリケーションは、バックグランドで動作し、パーソナルコンピュータのキーボード５０上のキー若しくはキーの組み合わせを押下することによって作動される。子アプリケーションを作動するため、たとえば、子アプリケーションを表すアイコンにマウス５５のポインタを位置合わせし、左マウスボタンを押すなどの他の方法を使用できることは当業者に明らかである。子アプリケーションが作動されたとき、表示バッファが読まれ、パターン認識操作が適用され、複合表示レイアウトが生成される。ユーザーは、親アプリケーションのユーザーインタフェース環境内で子アプリケーションからのデータを用いて対話できる。
【００２２】
一実施例において、子アプリケーションは、パターン認識操作を、表示バッファの内容に適用しつ続ける。これにより、既知の親アプリケーションを表す表示フォーマットが検出されたとき、このイベントの標識、たとえば、ビープ音、アイコン点滅がユーザーへ提示される。この標識は、子アプリケーションが現在の親アプリケーションの環境に表示し得るデータの量によってパラメータ化される。ユーザーは、上述の方法で子アプリケーションを呼び出すことを選択する。他の実施例の場合、子アプリケーションは、ユーザーによって定義された休止期間後に自動的に呼び出される。
【００２３】
図１Ｂは、本発明の例示的な実施例のフローチャートである。ステップ１０５で、ラスタデータは、ＰＣグラフィックスカードから読み出される。ラスタデータは、ステップ１１０で、パターン認識操作によって解析される。パターン認識操作は、レイアウトの全部若しくは一部を識別するラスタデータ内でパターンを探す。一実施例において、親アプリケーションのユーザーインタフェースに関して予め作成された情報は、ステップ１１５で、レイアウトの異なるセクションを識別し、位置を見つけるため利用される。たとえば、親アプリケーションからの表示としてカレンダー表示を使用するとき、カレンダーに関する情報は、カレンダーのフォーマットと、カレンダー上の曜日の位置及び日付の位置とを含む。他の実施例の場合、親アプリケーションからの表示は、ウィンドウファイルシステムのレイアウトであり、ウィンドウファイルシステムに関する情報は、ファイルツリーのフォーマット、ディレクトリを表すアイコンの位置などを含む。
【００２４】
レイアウト、及び、対応したユーザーインタフェースに関して予め作成された情報は、ステップ１２０において、複合表示レイアウトを生成するため、複合表示生成メカニズム（たとえば、アプリケーション）によって使用される。一実施例において、複合表示は、親アプリケーションと子アプリケーションの両方からの情報を含む。ステップ１２５において、複合表示は、表示バッファに書き込まれ、表示モニターを通してユーザーへ提示される。
【００２５】
ステップ１３０において、ユーザーは、複合表示を用いて生成された複合ユーザーインタフェースを通して子アプリケーションと対話することができる。子アプリケーションからのデータを表示するため親アプリケーションのレイアウトを使用することにより、親アプリケーションと子アプリケーションの両方のアプリケーションが一つに統合された印象が与えられる。一実施例において、親アプリケーションのユーザーは、子アプリケーションと対話するため新しいユーザーインタフェースを学ぶ必要が無い。
【００２６】
一実施例において、子アプリケーションが呼び出されたとき、子アプリケーションはデータを表示バッファに書き込む。子アプリケーションは、表示バッファ内のどの場所（たとえば、ｘ、ｙ画素位置）に各データ項目が書き込まれたかがわかる。子アプリケーションは、ユーザーインタフェース装置（たとえば、キーボード、マウスなど）からのイベントを遮るイベントマスクをオペレーティングシステムに設定する。このようなイベントには、典型的に、イベントの識別情報（たとえば、押下されたキー、クリックされたマウスボタン又はｘ−ｙカーソル位置などの正体）が含まれる。
【００２７】
イベント識別情報、ｘ−ｙ位置、及び、子アプリケーションのデータ項目の組み合わせに基づいて、イベントは、子アプリケーションによって処理されるか、或いは、子アプリケーションが存在しないときに通常行われるようにオペレーティングシステムによって処理される。これにより、ユーザーは、個アプリケーションによって表示されるデータを選択することができる。たとえば、ユーザーは、他のデータ項目を表示するため、子アプリケーションによって表示バッファへ書き込まれたデータ項目の上にカーソルを移動させ、マウスボタンをクリックすることができる。
【００２８】
図２には、本発明と共に使用される例示的なカレンダー表示が示されている。このカレンダー表示は、親アプリケーションとして動くウェブ・カレンダー・マネージャに由来する。カレンダー表示のレイアウトに関する情報は、カレンダー・マネージャがウェブブラウザ内に存続することに関する知識を含み、カレンダー・マネージャは、典型的に、一月の１日毎に一つの格子状セルが使用される矩形状格子レイアウトによって表された月別のカレンダー・ビューを表示する。さらに、月及び年が上部中央領域２０５に表示され、曜日がカレンダーの格子状セル上に中心が合わされた第１行２２０に表示され、毎日の日付は、各格子状セルの右上隅に表示される。
【００２９】
親アプリケーションに関する知識を使用することにより、複合表示生成アプリケーションは、親アプリケーションのユーザーインタフェースを変更することなく、或いは、ユーザーに新しいユーザーインタフェースを学習させることなく、親アプリケーションのレイアウト上に複合表示を生成することができる。
【００３０】
カレンダー表示の例の場合に、カレンダー・マネージャからの表示は、たとえば、文書マネージャ・アプリケーションのような子アプリケーションからの情報と統合される。この文書マネージャ・アプリケーションは、予め作成され、記憶装置に格納された文書を獲得する。複合表示生成メカニズム（たとえば、アプリケーション）は、カレンダー・マネージャ（たとえば、親アプリケーション）に関する予め作成された知識を使用し、文書マネージャ（たとえば、子アプリケーション）によって獲得された文書のための複合表示を親アプリケーションの環境内に生成する。たとえば、1999年9月15日にユーザーによって再検討されるべき全文書は、1999年9月15日を識別する格子内でカレンダー表示に表示される。
【００３１】
パターン認識操作は、表示バッファが月別のカレンダー・ビューを表すデータを格納するかどうかを検出する。パターン認識操作は、カレンダーが表示されているかどうかを検出し、日毎の格子状セルの座標を計算する。格子状セルの座標から、カレンダー全体の格子状レイアウトが生成される。パターン認識操作は、エッジ検出操作を含む標準的なコンピュータビジョン若しくは画像処理操作を用いて実行される。図３Ａは、エッジ検出操作によって生成された例示的なレイアウト結果を示す図である。強調されたエッジは図２に示されたエッジに対応する。本発明の範囲を逸脱することなく、格子状レイアウトを作成するため、他のパターン認識操作を使用できることが当業者に明らかである。
【００３２】
図３Ａに示されたレイアウト結果のエッジは、平滑化操作によってフィルタリングされる。この平滑化操作は、画素を分類し、線をまとめて接続する。図３Ｂは、平滑化操作によって生成された例示的な結果を示す図である。線検出アルゴリズムが、図４Ａに示されるように格子状セルの境界の位置を見つけるため適用される。線の交点及び隅は、図４Ｂに示されるように標準的な技術を用いて識別される。これにより、カレンダー表示用の格子が得られる。
【００３３】
カレンダー表示に関する予め作成された情報は、図４Ｃに示されるように、カレンダーの格子内での日付、曜日、月及び年の情報の位置を評価するため使用される。一実施例において、光学式文字認識（ＯＣＲ）は、カレンダーに表示された日付、月及び年を取得するため、これらの位置におけるラスタデータに適用される。カレンダーに関する知識を使用する前後関係的な後処理は、カレンダー認識結果を照合するため使用される。
【００３４】
複合表示生成アプリケーションは、親アプリケーションのレイアウトに対応した複合表示を生成するため、格子情報と、日付、曜日及び月の位置に関する情報とを使用する。図５Ａは、子アプリケーションからの複合表示情報を含む例示的なカレンダー親アプリケーションを示す図である。一実施例において、文書マネージャ（すなわち、子アプリケーション）は、文書を表現するため、アイコン若しくはサムネイル画像を使用する。サムネイル画像が配置される画面上の物理的位置は、格子状セル位置と、パターン認識操作によって検出された日付とに基づいて決められる。文書サムネイル画像５０５は、複合表示の中に収容され、複合ユーザーインタフェースに表示される。
【００３５】
一実施例において、ユーザーは、アイコンのサイズを動的に調節する。他の実施例において、複合表示生成操作は、文書の中の最初の数ページを抽出し、複合ユーザーインタフェースに表示する。或いは、文書のタイトル、又は、文書を表すその他の情報を、サムネイル画像若しくはアイコンの代わりに表示させてもよい。
【００３６】
複合表示生成メカニズム（たとえば、アプリケーション）は、子アプリケーションからのサムネイル画像の配置が親アプリケーションからのデータの上に重ならないように、親アプリケーションによって表示されたデータの位置を判定する必要がある。一実施例において、複合表示生成アプリケーションは、文書サムネイル画像を親アプリケーションによって表示されたデータの上部に表示する。ユーザーは、パーソナルコンピュータのキーボード上のファンクションキーを押下することによって複合表示モードを呼び出す。これは、子アプリケーションの実行を起動し、カレンダー上にサムネイル画像を表示させる。
【００３７】
図５Ｂは、複合ユーザーインタフェースを用いた子アプリケーションとの対話の一例を示す図である。複合ユーザーインタフェースを用いて、ユーザーは、サムネイル画像を選択することにより、子アプリケーションと対話する。サムネイル画像５１０をクリックすることにより、ユーザーは、サムネイル画像によって表現されたより高解像度の文書へ導かれる。一実施例において、アイコンは、完全な文書記述子５１５へホットリンクされるので、ユーザーがカーソルをアイコン上に置くとき、完全な記述が表示される。
【００３８】
一実施例において、格子状セルに表示されたサムネイル画像は、その日付に記録された一つ以上の文書を示す。親アプリケーション及び子アプリケーションの表示は、一方から他方へ切り換えられる。子アプリケーションからの表示へ切り換えられたとき、親アプリケーションからの情報は、抑制されるか、又は、子アプリケーションからの情報が重ね合わされる。
【００３９】
また、子アプリケーションからの表示へ切り換えられたとき、子アプリケーションは、ユーザーとシステムの間の相互作用を制御する。これに対し、親アプリケーションからの表示へ切り換えられたとき、親アプリケーションからの情報が再表示され、親アプリケーションは、ユーザーとシステムの間の相互作用を制御する。
【００４０】
文書サムネイル画像が選択されたとき、文書は子アプリケーションによって獲得される。子アプリケーションは、既に説明した通り、この選択を傍受し、イベントタイプに基づいて文書を獲得する。たとえば、左マウスボタンをクリックすると、（文書サーバーから）サムネイルで指定された文書の高解像度画像が獲得される。子アプリケーションは、各サムネイル及びイベントタイプに対応したネットワークアドレス（たとえば、ＵＲＬ）のテーブルを保持する。特定のイベントが実行されたときに、ネットワークアドレスは取得され、その内容が取り出される。
【００４１】
或いは、文書は、子アプリケーション以外の別のアプリケーションによっても獲得され得る。文書は、ネットワークコネクションを介して文書サーバーから獲得される。一実施例において、同じ格子状セル内に表示されるべき多数の文書が存在する場合、文書の最初の数ページだけが代表的なページとして表示される。たとえば、緑色のバー又は数字のようなインジケータが、その文書には閲覧可能な付加的なページがあることを示すため使用される。これにより、ユーザーは、より詳しく文書を調べることが可能になる。
【００４２】
他の実施例の場合、親アプリケーションによって表示されたテキストは、文書マネージャに対し文書獲得要求を開始させるため使用される。たとえば、カレンダー表示内の予約が誕生日予約であるとき、子アプリケーションは、その特定の日が誕生日である人に関する全文書を獲得する。
【００４３】
他の実施例において、ユーザーインタフェースは、オペレーティングシステムによって与えられた情報に依存する。たとえば、ブラウザで動く親アプリケーションとしてのウェブカレンダーの場合、子アプリケーションは、ウェブカレンダーアプリケーションと関連したユニフォーム・リソース・ロケータ（ＵＲＬ）を解析する。ＵＲＬは、ＯＣＲを使用することなく、表示中のカレンダー・ビューのタイプ（たとえば、週別の格子、月別の格子など）を子アプリケーションに通知する情報を与える。他の実施例の場合、登録された情報及びＯＣＲからの情報の両方の情報が使用される。
【００４４】
上述の通り、文書マネージャ・アプリケーションは、カレンダー表示親アプリケーションの表示の上に重なる子アプリケーションを説明するための一例として使用されている。本発明の効果を得るため他の子アプリケーションを使用することが可能である。たとえば、旅行情報、航空機予約情報及びホテル確認情報は、表示バッファを使用して複合表示生成アプリケーションによって複合表示内に生成され得る。他のアプリケーションが親アプリケーションとして使用できることも当業者には明らかである。
【００４５】
図６は、コンピュータ若しくはその他の処理装置によって使用される種々の命令のセット、コード系列、コンフィギュレーション情報およびその他のデータを格納するコンピュータ読み取り可能な記録媒体６００の一実施例を示す図である。図６に示された一実施例は、上記の複合インタフェース方法と共に使用するため好適である。記録媒体６００に格納された種々の情報は、種々のデータ処理操作を実行するため使用される。コンピュータ読み取り可能な記録媒体６００は、ディスケット、磁気テープ、ＣＤ−ＲＯＭ、メモリデバイス、或いは、その他の記憶媒体を含む磁気式、光学式若しくは電気式記憶媒体のいずれのタイプでもよい。
【００４６】
コンピュータ読み取り可能な記録媒体６００は、種々の装置又コンピュータシステム内のコンポーネントの間で情報の流れを制御するインタフェースコード６０２を含む。インタフェースコード６０２は、装置内（たとえば、プロセッサとメモリデバイスの間）、或いは、入出力ポートと記憶装置の間で情報の転送を制御する。さらに、インタフェースコード６０２は、一方の装置から別の装置への情報の転送を制御する。
【００４７】
コンピュータ読み取り可能な記録媒体６００は、複合表示を生成するため使用される複合表示生成アプリケーション６０４を更に含む。コンピュータ読み取り可能な記録媒体６００に格納されたその他のコードには、パターン認識コード６０６、エッジ平滑化コード６０８、及び、光学式文字認識コード６１２が含まれる。
【００４８】
以上の記述及び図面では、具体的な実施例が本発明の例示のためだけに用いられているが、これらの具体的な実施例が本発明の範囲を制限することを意図しないことは、当業者に容易に認められるであろう。当業者は、本発明が、本名Ｈつ命の精神又は基本的な特徴を逸脱することなく他の具体的な態様で実施されることを認めるであろう。具体的な実施例の詳細についての言及は、請求項に記載された事項の範囲を制限するものではない。
【図面の簡単な説明】
【図１Ａ】コンピュータシステムの一実施例を示す図である。
【図１Ｂ】複合ユーザーインタフェースの一実施例の例示的なフローチャートである。
【図２】親アプリケーションを示す例示的なウェブベースのカレンダー・マネージャの図である。
【図３Ａ】パターン認識アプリケーションのエッジ検出動作によって生成されたカレンダーの例示的なレイアウトの図である。
【図３Ｂ】エッジ平滑化操作によって生成された例示的なレイアウトの図である。
【図４Ａ】境界が識別された例示的なレイアウトの図である。
【図４Ｂ】コーナーと交点が識別された図４Ａと同じレイアウトを示す図である。
【図４Ｃ】カレンダーに関して予め作成された情報が付加された図４Ｂと同じレイアウトを示す図である。
【図５Ａ】子アプリケーションからの複合表示情報を含む例示的なカレンダー親アプリケーションの図である。
【図５Ｂ】子アプリケーションとの例示的な対話を示す図である。
【図６】コンピュータ又はその他の処理装置によって使用される多数の命令のセットと、コード系列と、コンフィギュレーション情報と、他のデータとを格納したコンピュータ読み取り可能な媒体の一実施例を示す図である。
【符号の説明】
１０    システムバス
１５    プロセッサ
２０    入出力装置
２５    グラフィックス・ディスプレイ・アダプタ
３０    読み出し専用メモリ
３５    ランダム・アクセス・メモリ
４０    ビデオ・ディスプレイ
４５    ディスクドライブ
５０    キーボード
５５    マウス
５０５    文書サムネイル画像
５１０    サムネイル画像
５１５    文書記述子
６００    コンピュータ読み取り可能な記録媒体
６０２    インタフェースコード
６０４    複合表示生成コード
６０６    パターン認識コード
６０８    エッジ平滑化コード
６１２    光学式文字認識コード
【図１Ａ】
0004138231.tif 000002
【図１Ｂ】
0004138231.tif 000003
【図２】
0004138231.tif 000004
【図３Ａ】
0004138231.tif 000005
【図３Ｂ】
0004138231.tif 000006
【図４Ａ】
0004138231.tif 000007
【図４Ｂ】
0004138231.tif 000008
【図４Ｃ】
0004138231.tif 000009
【図５Ａ】
0004138231.tif 000010
【図５Ｂ】
0004138231.tif 000011
【図６】
0004138231.tif 000012