(57)【特許請求の範囲】
【請求項１】
ユーザーインターフェイスコントローラモジュールと相互接続しているアプリケーションモジュールと、ユーザー対話手段と、画像形成サブシステムと、を有するソフトウエア制御の画像形成システムにおいて、
前記ユーザインターフェイスコントローラモジュールは、前記アプリケーションモジュールへ引き出し要求を発するために配され、それに基づいて前記アプリケーションモジュールは、該要求に示されたような１以上のユーザーインターフェイス要素を、前記ユーザインターフェイスコントローラモジュールに出力するように、要求により駆動される構造体の中で配されており、その結果、前記ユーザインタフェイスコントローラモジュールは、どのＧＵＩ要素が処理され、いつどのようにＧＵＩ要素が構築されるかを決定するために動作することを特徴とする画像形成システム。
【請求項２】
前記ユーザインターフェイスコントローラモジュールによって前記アプリケーションモジュールへ通知されるユーザ動作が、前記ユーザインターフェイスコントローラモジュールに前記アプリケーションモジュールによって送られた１以上のＧＵＩ要素の変更をもたらす請求項１に記載されたシステム。
【請求項３】
１以上のＧＵＩ要素のさらなる同時更新がこのように更新されたＧＵＩ要素と共にアプリケーションモジュールによって前記ユーザインターフェイスコントローラモジュールに通知される請求項１に記載されたシステム。
【請求項４】
ある特定のＧＵＩ要素が１以上のさらなるＧＵＩ要素を含むメニューを表す請求項１に記載されたシステム。
【請求項５】
前記アプリケーションモジュールが、１以上の現実に表示された、“アクティブ”メニューを知らせ続ける請求項４に記載されたシステム。
【請求項６】
前記ユーザインターフェイスコントローラモジュールが、１以上の現実の“アクティブ”メニューの中でなされるＧＵＩ要素の訂正を専ら受け入れることを特徴とする請求項５に記載されたシステム。
【発明の詳細な説明】
技術分野
本発明は、請求項１のプリアンブル部に記載されているシステムに関する。
背景技術
アプリケーションモジュールはいつも修正されないままで、同一のソフトウエアプログラムを用いて様々な画像形成サブシステムを、カスタマーに使用させることが提案されている。仮にソフトウエアを無理に用いれば、前記アプリケーションモジュールはすべてのタイプの画像形成サブシステムを取り扱うことができるであろう。しかし、このアプリケーションモジュールは実現するのに高価である。結果として、優れたフレキシビリティを備えるシステムの必要性がある。
発明の開示
従って、とりわけ、本発明の目的はより優れたフレキシビリティを達成するためにその内部インタラクティビティ（interactivity）のレベル上でシステムを拡張することにある。それゆえに、本発明の見地の一つによれば、本発明は請求項１の特徴部分を記載した箇所により特徴づけられる。さらに本発明の利点となる見地は従属項に記載されている。
【図面の簡単な説明】
本発明のこれらの及びさらなる特徴は、好適実施例の開示を参照して、特に添付された図面を参照して、以下詳細に議論される。
第１図は、従来のソフトウエア制御の画像形成（システム）の図である。
第２図は、本発明のソフトウエア制御の画像形成（システム）の図である。
第３図、すなわち第３Ａ乃至３Ｃ図は、ルートメニューの画像の例である。
第４図、すなわち第４Ａ乃至４Ｃ図は、サブメニューの画像の例である。
発明を実施するための最良の形態
第１図は、従来のソフトウエアで制御された画像形成を示している。このような画像形成システムはテレビセットのような消費者向け電子機器の中に具備可能である。アプリケーションプログラムは、アプリケーションモジュール２２上で動作している。このモジュールは、必要なデータ記憶及びデータ処理の装置を含んでいる。視覚的な画像は、ユーザインタフェイスコントローラモジュール２４の制御下で、画像形成サブシステム３２上でユーザに示される。該画像形成システムは、テレテキストディスプレイやＬＣＤであり、又はＰＣに基づいてもよい。従って、サブシステム３２は、受け取られた制御信号からのスクリーン画像を発生する必要がある項目を含みうる。例えば、スキャン同期、文字／アイコン  ジェネレータ、カラールックアップテーブル等である。
さらに、ユーザインタラクション（ユーザとの対話）はユーザインタラクション部３４上で可能である。このユーザインタラクション部３４は、リモートコントロール装置、キーボード、マウス、スピーチ及び他のインタラクティビティ装置を備えている。表示された画像を訂正するための主たる駆動は、ライン２６上で該アプリケーションモジュールにより自発的に操作される。このような操作の始点（原点）はドットによって示されている。この約束事は以下維持される。次に、該アプリケーションモジュールはライン28上でユーザインターフェイスの動作を受ける。その結果、当該システムのフレキシビリティ及び性能は、予見されてきたユーザインターフェイスコントローラモジュールの少なくとも可能な態様のそれに制限される。示されているような相互接続は、ソフトウエアインタラクション又はその他の方法により、配線を介してメッセージシステムを実現しうる。
第２図は、本発明によるソフトウエア制御による画像形成システムを示す。ここではアプリケーションモジュール３６が、第１図のモジュール２２と大いに比較される。さらに、ユーザインターフェイスコントローラモジュール３８は、第１図のモジュール２４と同じような機能を有している。モジュール３２及び３４はこの図においても同様に出現している。モジュール３６と３８との間のインタラクションの態様は第１図に対して根本的に修正されている。第一に、ユーザインターフェイスコントローラモジュール３８は、自発的にライン４０上でいわゆる“引き出す”（pull）の要求をアプリケーションモジュール３６に発する。これは以前に議論されたドットによって記号化されている。第二に、反転して結合する矢印によって示されているように、このことは、アプリケーションモジュール３６からユーザインターフェイスコントローラモジュール３８へ、要求されたグラフィカルユーザインターフェイス要素を送る。また、矢印の手続きが以下説明される。その最も広い意味において、ＵＩの要素は音のような非グラフィカルなものであってもよいが、このような非グラフィカルのようなものの記載については省略する。
前記引き出す動作に引き続いて、ユーザインターフェイス動作は、ライン４４を介してユーザインターフェイスコントローラモジュール３８からアプリケーションモジュール３６へと送られうる。このことはライン４６を介してユーザインターフェイスコントローラモジュール３８へと戻されて、報告される１以上の（Ｇ）ＵＩ要素の変更をもたらす。さらに、（Ｇ）ＵＩ要素の変更に対して独立した通知が、自発的にコントローラモジュール３８からのより早い関連する信号化なしでライン４８上で自発的に転送される。
この受け取られた（Ｇ）ＵＩ要素の変更は、ユーザーインターフェイスコントローラモジュール３８を、ライン４０を介して、１以上のさらなる“引き出す”要求を発し、ライン４２を介して新たな又は更新された（Ｇ）ＵＩ要素を再び受け取ることを促す。次に、当該システムは要求により駆動され、ユーザーインターフェイスコントローラモジュール３８が、どの（Ｇ）ＵＩ要素が処理されるか、いつこのようなことが実行されるか、及びどのように（Ｇ）ＵＩ要素が構築されるのかを決定する。ユーザーインターフェイスコントローラモジュール３８は、特に、フルテキスト、アイコン化、メニュー化、及び複雑さが同じようなレベルの追加項目を、例とするプレゼンテーション情報の見地のユーザへ、プレゼンテーションの情報の態様を決定する。上記の特化された構成及び関連する実施例が以下取り扱われる。
第３Ａ乃至３Ｃ図は、例示的なルートメニューの画像を示している。第３Ａ図は消費者用テレビセットを使用している本図のようなルートメニューのための第１の表現態様を示している。第１に、バックグラウンドの画像は任意である。該グラフィカルユーザインターフェイス要素はテキスト（文字）の主要な様々なライン（行）を有している。このラインの内、一つがリモートコントロールのような手段によって選択されうる。
さらに、なされうる様々な可能な選択肢を含みながら、第３図に表現された表示から外れたテキスト（文字）は、第３Ａ図の中の一つと同じメニューを記載している。第３Ｂ図は、第３Ａ図に記載されたのと同一のルートメニューのための第２の表現態様を示している。しかし、第３Ｂ図においては、ただ一つの選択可能な項目が表示されている。スクローリングにより、この項目は、第３Ａ図に対してリストアップされている様々なさらなる項目に対して交換可能である。第３図の表示はさらに第３Ｃ図に対してちょうどそれがあるままに適用する。後者の図は同一のルートメニューのための第３の表示態様を示している。ここにおいて、様々な選択可能な項目のそれぞれがすぐに作動可能な各アイコンによって表現される。ユーザの動作、及びユーザインターフェイスコントローラモジュールからの、さらなる引き出しメッセージが、いま、ＧＵＩ要素を更新するためにそれぞれ固有の方法でアプリケーションモジュールを制御することができることは明らかである。このことは、例えば、階層的に構造化されたメニューレベル間をジャンプしたり、パラメータ値を設定したり、又はモノオーディオとステレオオーディオとの間のようなモードを変更したりすることによって、情報の内容に影響を与えるであろう。以上、どのようにユーザインターフェイス要素が構成されるかどうかが記載された。一方で、強調すること、飛び出させること、動かすこと、隠すこと、変色させること、寸法を変えること、スクローリングすること、及び漫画化すること等による処理の特別な方法はあらかじめ記載される必要がない。このことはまったく、ユーザインターフェイスコントローラモジュールによって成し遂げられる。
第４Ａ乃至４Ｃ図は３つの表現において、例示的なサブメニューの画像を示しており、それぞれが第３Ａ乃至３Ｃ図に対応している。再び、“インストールプリセット”メニューのディスプレイ表現以外の表現のみが第４図について与えられている。本発明によれば、第３Ａ乃至３Ｂ図のユーザインターフェイス要素への変更は、一般にユーザインターフェイスコントローラモジュールへ送る必要がない（後者が第４Ａ乃至４Ｃ図に示されたメニューの一つを持つ場合）。同様に、第４Ａ乃至４Ｃ図のユーザ要素への変更は一般には、ユーザインターフェイスコントローラモジュールに送る必要がない（後者が第３Ａ乃至３Ｃ図のメニューの一つを表示する場合）。これは、該アプリケーションがユーザインターフェイスコントローラモジュールが実際に作動しているメニューとの接触を保つことができるからである。第３Ａ乃至３Ｃ図及び第４Ａ乃至４Ｃ図は表示されうる構築中の様々な例を開示している。当業者は様々な他のセットアップ及びストラクチャリング（構築）、及びこのような表示の静止画及び動画のことについて既知であり、その結果、十分に本発明を実行することができる。
デマンド駆動ユーザインタラクションモデル
次の開示は（Ｇ）UIの見地及びこれらのGUI要素を交換するのに必要なインタラクションを開示する。このようなインタラクションプロトコルのためのベーシックモデルが、第１図及び第２図に対しても示されてきたような、ターゲット又はアプリケーションモジュールと、ユーザインターフェイスコントローラモジュールと、の間で交換されるGUI情報を記載する。
原則として、GUI情報を“引き出す”コントローラモジュールは、UIコントローラであり、該GUI情報を供給するターゲットモジュールは一般的には、テレビセット、セットトップボックス、チューナ、又はメディアプレイヤーのような消費者向けエレクトロニクス（CE）装置のためのドライバである。よりフレキシブルなアプローチは、UIコントローラのみ以外の他のアプリケーションを、GUI情報を引き出すためのコントローラとして機能させること、及び（デバイスドライバばかりでなく）いかなるアプリケーションもGUI情報を供給するためのターゲットとして機能させることである。
ターゲット及びコントローラインターフェイス
ターゲットインターフェイスは次のようである。
ゲット−ＧＵＩ−要素（入力：ＧＥ−ｉｄ、出力：ＧＥ）は、ターゲットから要求されたＧＵＩ要素を引き出す（第２図におけるライン４０＋４２）。
ＧＥ−ｉｄは、ＧＵＩ要素のＩＤを表す。ＧＥ−ｉｄの値は該ターゲットによって決定される。ＤＤＵＩプロトコルのために、これらはＧＵＩ要素に対する識別子そのものである。
ＧＥは、ＧＵＩ要素の記載を表す。この構造体は、ＧＵＩ要素の典型例を含み、当該典型例に関連する寸法、位置、及び色の属性を持つ。現実のディスプレイ上のＧＵＩ要素の表現は、“洗練さ”（sophistication）の３つのレベルを許容する。すべての供給される属性を考慮しつつ正確に記載されたようなGUI要素を処理する。このことは十分なDDUIを取り扱うことができるUIコントローラを要求する。
すべての付加的な属性よりも少なく考慮しつつ、又はまったく付加的な属性を考慮さえせずに、意図された（グラフィカルな）GUI要素を処理する。
属性リストにある命令の（テキスト）ラベルを利用することによって、テキストのみの方法でGUI要素を処理する。
上記の処理は、特有のGUI要素に対して、どの属性が必須的なものであるのか、及びどの属性が付加的なものであるかを要求する。現実のGUI要素はどのグラフィカルな属性が必須的なものであるかを示唆する。
ラベルは、少なくとも、“いくつかの”処理が、コントローラが使用しうる最も“ローエンド”（ｌｏｗ-end）な処理装置上で可能であることを少なくとも証明するためにいつも必須的であるべきである。
ユーザ−アクション（User-Action）（入力：GE−ｉｄ、ＵＡ，出力：ＧＥ−ｉｄ−Ｌｉｓｔ）は、ターゲットへ、ユーザアクションが現実には特化されたＧＵＩ要素上で遂行されることを示す。該ターゲットからの応答は、どのＧＵＩ要素がこのユーザアクション（第２図のライン４４＋４６）により変更したかを示す。“スコープ”（scope）という定義が、興味を持たない変更でコントローラに負荷がかかりすぎるのを防止するために必要とされる。このことについては「階層及び有効範囲」のセクションを参照されたい。
GE−ｉｄ−Ｌｉｓｔは、変更されたＧＥ−ｉｄのリストを表す。
ＵＡはユーザアクション（Ｕｓｅｒ  Ａｃｔｉｏｎ）を意味する。この構造体はＧＵＩ要素のタイプに毎に定義される。この構造体は対応するＧＵＩ要素のタイプ、及びＧＵＩ要素やテキストで入力されたＧＵＩ要素のための文字の一続きについてボタンのためにブールを用いた「押された／解除された」ような、ＧＵＩ要素のタイプに対して特化した値を含みうる。
サブスクライブ（Subscribew）−ＧＵＩ（出力：ＧＥ−ｉｄ）は、２つの目的を達成する記名機能をもつ。
コントローラが記名しないまで、このコントローラはそのＤＤＵＩプロトコルを使用しつつあるといういうことをターゲットに示す（後述）。
コントローラは“引き出す”プロセスを開始するために“ルート”（root）と呼ばれるトップレベル（“top-level”）のGUI要素のIDを把握しなければならない。
アンサブスクライブ（Unsubscribe）−GUIは、上記の記名（subscription）が完了したことをターゲットに示す。該ターゲットはそのとき、ユーザインターフェイスコントローラモジュールへ、それ以上のGUI-変更メッセージを送らない。
コントローラインターフェイスは以下のようである。
GUI−変更（Change）（入力：GE-ｉｄ−List）；このメヅセージは、ユーザのアクションには起因しないが、例えば、テープの終端（エンド−オブ−テープ（end-of-tape））（第２図の４８）のような、ターゲットと関連する装置内の変化による、GUI要素の変更のコントローラに通知する。“スコープ”（scope）の定義は興味のもたれない変更によりコントローラに負荷がかかりすぎることを回避するのに必要とされる。この点については、「階層及び有効範囲」のセクションを参照されたし。
「階層及び有効範囲」
ＤＤＵＩプロトコルはＧＵＩ要素の階層的な構造体を要求する。
この階層は次の２つの目的を達成する。
“構造化された”又は階層的な方法で、ＧＵＩ要素を通じてコントローラを操作させる。
ターゲットの見地からは、それは、どのＧＵＩ要素が共に属しているか、及びどのＧＵＩ要素が好適にはユーザに共に表示されるかを示す。たとえ、コントローラが該階層のあるレベルに関連するすべてのＧＵＩ要素を同時に表示できない、あるいは表示されない場合でさえ、該階層のどの部分が現実に表示されるか、ユーザには明らかであろう。このことは、ＤＤＵＩが２つのタイプのＧＵＩ要素を区別すべきであることを意味する。この２つのタイプとは、“メニュー”と呼ばれる“構造化された”ＧＵＩ要素と、このようなメニューに含まれる“構造化されていない”ＧＵＩ要素とである。
注：ターゲットのサブスクライブ−ＧＵＩに述べられた“ルート”のＧＵＩ要素は“トップレベル”（top level）のメニューとして考慮されるべきである。
上記の階層によれば、コントローラはメニューを選択することができ、さらにメニューの中で“非構造化されていない”GUI要素を選択することができる。コントローラがメニューを介して操作する方法は任意である。ターゲットが引き受けうる唯一のことは、ユーザが現実に表示されるメニューに気付くことである。
該階層はまた、コントローラがGUI要素のどのセットに興味があるかを示すためにコントローラによって使用される。ターゲットはそれからこのセットに属するGUI要素の変更のみをコントローラに報告するためにこの情報を使用する。もちろん、コントローラは全ての変更に興味を持ちうる。しかし、これが変更に伴う“負荷のかけすぎ”でない場合はコントローラは興味がない。GUI要素の変更を報告する基本的な範囲は、一つのメニューである。この背後にある思想は、コントローラは一度一つのメニューを通常はただ“見ている”ということである。上記の階層的な分離によって、このことは次のことを意味する。
（“構造化されていない”）GUI要素が現在のメニューを変更する場合は、このことは当該GUI要素のGUI要素のIDを報告することによって示されるべきである。
現在のメニュー上の“構造化されていない”GUI要素のセットが変更するならば、このことは現在のメニューのGUI要素IDを報告することによって示されるべきである。このことは事実としてコントローラによって、最後に“引き出された”メニューである。
【図１】
0004121565.tif 000002
【図２】
0004121565.tif 000003
【図３】
0004121565.tif 000004
【図３Ａ】
0004121565.tif 000005
【図３Ｂ】
0004121565.tif 000006
【図３Ｃ】
0004121565.tif 000007
【図４】
0004121565.tif 000008
【図４Ａ】
0004121565.tif 000009
【図４Ｂ】
0004121565.tif 000010
【図４Ｃ】
0004121565.tif 000011