JP5713459B2 - グラフィックオブジェクトの表示 - Google Patents

グラフィックオブジェクトの表示 Download PDF

Info

Publication number
JP5713459B2
JP5713459B2 JP2012091529A JP2012091529A JP5713459B2 JP 5713459 B2 JP5713459 B2 JP 5713459B2 JP 2012091529 A JP2012091529 A JP 2012091529A JP 2012091529 A JP2012091529 A JP 2012091529A JP 5713459 B2 JP5713459 B2 JP 5713459B2
Authority
JP
Japan
Prior art keywords
appearance
graphic
class
representation
widget
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2012091529A
Other languages
English (en)
Other versions
JP2012181849A (ja
Inventor
ジュエ,ブルーノ
バン ホン,エミーレ グエン
バン ホン,エミーレ グエン
ビレール,ジャン−ステファン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from EP99402721A external-priority patent/EP1098246A1/en
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2012181849A publication Critical patent/JP2012181849A/ja
Application granted granted Critical
Publication of JP5713459B2 publication Critical patent/JP5713459B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented

Description

本発明は、グラフィックユーザインタフェースに関する。発明の一態様は、グラフィックユーザインタフェース内のグラフィックオブジェクトの外観を制御する方法に関する。発明の態様は、受信機/デコーダ、テレビシステム、コンピュータプログラム製品、コンピュータ読み取り可能媒体及び信号に関する。発明の態様は、デジタルテレビ信号用の受信機/デコーダなどの機器にグラフィックユーザインタフェースを提供する上で、特定であるが、排他的ではない用途を有する。しかしながら、発明の態様は、汎用コンピュータ及びその他の機器にも用途を有する。
大部分のグラフィックユーザインタフェース(GUI)は、ユーザが操作できる基本構成要素の類似した集合を含む。これらは、プッシュボタン、スライダ、リストボックス等のオブジェクトを含む。このような構成要素は、一般的には「ウィジェット」と呼ばれる。ウィジェットの基本的な機能は、多くのGUIの中で共通であるが、ウィジェットの外見はあるGUIと別のGUIで異なる。
いくつかのグラフィックオペレーティングシステム、例えばXウィンドウシステムは、GUIで表示できるウィジェットの外見にほとんど制約を課さない。これにより、プログラマは、そのそれぞれが独自の異なる外見を有する、数多くの異なるウィジェット集合を使用してアプリケーションを展開できる。さらに、大多数のウィンドウマネージャは、アプリケーションによって作成されるウィンドウの全体的な外見に影響を及ぼすXの下で実行する。通常、アプリケーションの展開中とある程度まで実行時間での両方でGUIに表示されるようにアプリケーションの外見にある程度の制御を行使することができる。しかしながら、外見は、両方のケースで、ウィジェット集合またはウィンドウマネージャのハード符号化された部分によって決定される。ユーザは、ウィジェット集合、ウィンドウマネージャ、または両方を再符号化することなく、アプリケーションの外観を大幅に変更することができる。これらのオプションのいずれかは、大量の再符号化作業、及びホストシステムにインストールされる大量の新しいコードを必要とする。
外観を更新するために実行されなければならない再符号化作業量を削減するための1つの提案は、ホストシステムのメモリに記憶されたピクセルマップからのGUIディスプレイ中にウィンドウの要素(例えば、角、境界等)を構築することである。これは、発明の独立した態様として提供されてよい。しかしながら、ピクセルマップは、使用中にかなりの量のメモリを占有し、外観を更新しなければならないときに転送される大量のデータを表すことがある。これは、GUIが限られたリソースと動作しなければならず、制限された帯域幅のリンクで更新されなければならない場合に大きな不利な点となり得る。このような状況の一例は、アプリケーションがデジタルテレビ信号用受信機/デコーダで実行されるときに生じる。このようなデコーダは、汎用コンピュータと比較して限られた量のメモリを有し、(GUIの外観を含む)ソフトウェアは、受信されたテレビ信号の一部を形成するチャネルからデータをダウンロードすることによって更新される。
本発明の目的は、最小の再符号化が必要とされ、最小のデータが実行環境に転送されることを必要とされる状態で、アプリケーション展開者に、一貫した、容易に制御可能な方法でアプリケーションの外観を制御する能力を与えることである。
本発明の第1態様では、
外観オブジェクトを画定することと、
外観オブジェクトを、グラフィックオブジェクトと関連付けることと、を備える、グラフィックユーザインタフェース内でグラフィックオブジェクトの外見を制御する方法が提供される。
アプリケーションの外見を制御するコードを埋め込むよりも、外観オブジェクトを明確に画定することによって、本発明は、グラフィックオブジェクトの外見を制御する方法において従来よりもいっそう柔軟にすることができる。
好ましくは、外観オブジェクトは、グラフィックオブジェクトがどのようにして表示されるのかを決定するコードまたはパラメータを含み、このようなコードまたはパラメータは、好ましくはメモリに記憶される。例えば、外観オブジェクトは、オブジェクト指向型プログラムコードによって画定されてよい。
外観オブジェクトは、外観オブジェクトクラスを具体化することによって画定されてよい。このようにして定義される外観オブジェクトは、(それがその中から引き出されるもの以外の)別の外観オブジェクトクラスに対するポインタを含んでよい。これは、外観オブジェクトがそれ以外の外観クラスの属性及び/またはメソッドにアクセスできるようにする。このようにして、外観オブジェクトは、2つ以上の他の外観からその特徴を取り出すことができ、それが、2つの異なる外観の結合である外観を作成できるようにするか、余分な特徴を外観に追加できるようにする。
グラフィックオブジェクトを外観オブジェクトに関連付けるために、グラフィックオブジェクトは、グラフィックオブジェクトに関連付けられる外観オブジェクトを識別する属性を含んでよい。
好ましくは、外観オブジェクトが、特定の名前が指定された色に割り当てられる実際の色を定義する。例えば、外観オブジェクトは、黒、白及び灰色の1つまたは複数の陰影の少なくとも1つに割り当てられる実際の色を定義してよい。このようにして、外観は、例えば、一定の色相をその外観に関連付けられたグラフィックオブジェクトに与えることによって、一定の色方式を定義することができる。外観オブジェクトは、任意の特定の色を表示するときに使用されるべき実際の色値を設定する色マップも定義してよい。
グラフィックオブジェクトの外見を変更するために、外観オブジェクトは(例えば、コンパイル時にコードまたはパラメータを、または実行時にパラメータを変更することによって)再画定または修正されてよいか、あるいは別の外観オブジェクトがグラフィックオブジェクトに関連付けられてよい。したがって、方法は、さらに、外観オブジェクトを再画定するまたは修正することによって、あるいは別の外観オブジェクトをグラフィックオブジェクトに関連付けることによって、グラフィックオブジェクトの外見を修正することを含んでもよい。
外観オブジェクトが再定義される、または修正される場合、その外観オブジェクトと関連付けられるグラフィックオブジェクトの外観を更新することが必要とされる。これを達成するために、外観オブジェクトは、外観オブジェクトが再定義される、または修正されるときにその値が更新される更新カウンタを含んでよい。
好ましくは、グラフィックオブジェクトは、それらが影響を及ぼした外観オブジェクトの更新カウンタの値を記憶する。グラフィックオブジェクトが再表示されるたびに、グラフィックオブジェクトが記憶する値は、外観オブジェクトの更新カウンタの値と比較される。2つが異なる場合、グラフィックオブジェクトは、外観オブジェクトの修正を考慮に入れ、更新カウンタの新しい値を記憶する。
外観オブジェクトは、外観オブジェクトによって呼び出すことができるメソッドを示すバリデーションマスクを含んでよく、その結果外観オブジェクトによって実現されないメソッドは呼び出されない。グラフィックオブジェクトは外観オブジェクトのバリデーションマスクにアクセスし、グラフィックオブジェクトの図を最適化することができる。このようにして、実現されないメソッドに対する呼び出しは回避することができ、グラフィックオブジェクトの描画を加速することができる。
いくつかの状況では、例えば、外観オブジェクトが最初に作成されるとき、外観オブジェクトは、単一グラフィックオブジェクトと関連付けられてよい。しかしながら、好ましい実施形態では、外観オブジェクトは複数のグラフィックオブジェクトと関連付けられる。外観オブジェクトを複数のグラフィックオブジェクトに関連付けることによって、それらのオブジェクトに対する一様な外見が達成され、外観オブジェクトを画定するために必要とされるデータ量は、各グラフィックオブジェクトがその外見を独立して画定したケースと比較して削減される。
このようにして、本方法は、グラフィックユーザインタフェース内の複数のグラフィックオブジェクトの外観を制御する方法であってよく、外観オブジェクトを複数のグラフィックオブジェクトに関連付けることを備えてよい。
グラフィックオブジェクトが外観オブジェクトと関連付けられないような一定の状況では、例えば、外観オブジェクトによって使用されているメモリ空間を割り当てし直すことができるようにするために、外観オブジェクトを削除することが望ましい場合がある。これは、特に、メモリが制限される受信機/デコーダなどのデバイスで重要である場合がある。(とりわけ)この目的のため、外観オブジェクトは、その外観オブジェクトに関連付けられるグラフィックオブジェクトの数を示すカウンタを含んでよい。好ましくは、グラフィックオブジェクトが外観オブジェクトと関連付けられるたびに、カウンタは増分され、グラフィックオブジェクトが外観オブジェクトと分離されるたびに、カウンタは減分される。カウンタがゼロである場合には、外観オブジェクトは安全に削除できると仮定されてよい。
本発明の別の方法態様では、(例えば、グラフィックオブジェクトの外見を制御するプロパティ及び/またはメソッドを定義することによって)グラフィックオブジェクトの外見を制御する外観オブジェクトを提供することと、(例えば、グラフィックオブジェクトの動作を制御するプロパティ及び/またはメソッドを定義することによって)グラフィックオブジェクトの動作を制御するウィジェットオブジェクトを提供することとを備える、グラフィックユーザインタフェース内のグラフィックオブジェクトを定義する方法が提供される。前述される特徴のいずれかが、この態様と組み合わされて提供されてよい。
前述された方法のいずれかは、好ましくは、さらに、例えばコンピュータ画面またはテレビ画面などの画面上にグラフィックオブジェクトを表示することを備える。
前述された方法のいずれかは、デジタルまたはアナログテレビ受信機/デコーダなどの受信機/デコーダによって実施されてよい。
ここで使用される用語「受信機/デコーダ」は、何らかの他の手段により一斉送信または伝送されてよい、テレビ信号及び/または無線信号などの符号化された信号または符号化されていない信号のいずれかを受信するための受信機を言外に意味してよい。用語は、受信された信号を復号するためのデコーダも言外に意味してよい。このような受信機/デコーダの実施形態は、例えば、「セットトップボックス」において受信された信号を復号するための受信機と一体化されたデコーダを含んでよく、このようなデコーダは物理的に別個の受信機と組み合わされて機能するか、あるいはこのようなデコーダは、ウェブブラウザ、ビデオレコーダまたはテレビなどの追加機能を含む。
本発明の装置態様では、
例えば、グラフィックオブジェクトがどのように表示されるのかを決定するメモリ内にコードまたはパラメータを作成するまたは修正することによって、外観オブジェクトを画定するための手段と、
例えば、外観オブジェクトを識別するために、グラフィックオブジェクトの属性を設定することによって、外観オブジェクトをグラフィックオブジェクトに関連付けるための手段と、
を備える、グラフィックユーザインタフェース内のグラフィックオブジェクトの外観を制御するための装置が提供される。
好ましくは、本装置は、外観オブジェクトを定義するため、及び外観オブジェクトをグラフィックオブジェクトに関連付けるための適切にプログラムされたプロセッサ、及び外観オブジェクト及びグラフィックオブジェクトを記憶するためのメモリを含む。外観オブジェクトは、オブジェクト指向型プログラムコードによって画定されてよい。外観オブジェクトは、外観オブジェクトクラスを実現することによって定義されてよい。外観オブジェクトは、別の外観オブジェクトクラスへのポインタを含んでよい。
本装置は、外観オブジェクトを定義するまたは修正することによって、あるいは別の外観オブジェクトをグラフィックオブジェクトと関連付けることによって、グラフィックオブジェクトの外見を修正するように適応されてよい。外観オブジェクトは、外観オブジェクトが再定義される、または修正されるときに、その値が更新される(メモリ内の場所などの)更新カウンタを含んでよい。
外観オブジェクトは、外観オブジェクトによって呼び出すことができるメソッドを示す(例えば、メモリに記憶される)バリデーションマスクを含んでよい。
本装置は、グラフィックユーザインタフェース内の複数のグラフィックオブジェクトの外観を制御するための装置であってよく、外観オブジェクトを複数のグラフィックオブジェクトに関連付けるように適応されてよい。外観オブジェクトは、その外観オブジェクトと関連付けられるグラフィックオブジェクトの数を示す(メモリ内の場所などの)カウンタを含んでよい。
本装置は、さらに、グラフィックオブジェクトを表示するための画面(例えば、コンピュータ画面またはテレビ画面)などの手段を備えてよい。
一実施形態では、本装置は、デジタルまたはアナログテレビ受信機/デコーダなどの受信機/デコーダである。
さらなる実施形態では、本発明は、オブジェクトの動作を制御するウィジェットクラスのインスタンス、及びオブジェクトの外見を制御する外観オブジェクトクラスのインスタンスを備える、グラフィックユーザインタフェース内のオブジェクトを提供する。
本発明は、前述されたようにオブジェクトを作成するためのウィジェット集合も提供し、ウィジェット集合は、複数のウィジェットクラス、及び1つまたは複数のオブジェクトクラスを備える。最も典型的には、ウィジェット集合は、ベースクラス及び該ベースクラスから引き出されるクラスを含む複数の外観オブジェクトクラスを備える。
オブジェクトの外見を補正するために、外観オブジェクトクラスを変更することができる。これは、機能がウィジェットクラスによって制御されるので、オブジェクトの機能を変更しない。さらに、外観オブジェクトクラスの1つのインスタンスが、ウィジェットクラスの多くのインスタンスによって使用され、それにより使用されるメモリ量を最小限に抑えることができる。
外観オブジェクトクラスは、実行時にアプリケーションにリンクされるライブラリに含むことができる。したがって、ユーザは、ライブラリの範囲内のどの範囲がリンクされるべきなのかを選択することによって、オブジェクトの好ましい外観を選択することができる。外観オブジェクトクラスは、他のアイテムとは関係なく変更されるため、再符号化は、新しい外観を実現するのに必要な最小まで簡略化される。
代わりに、外観オブジェクトクラスは、コンパイル時にアプリケーションにリンクされるライブラリに含むことができる。これにより、アプリケーション展開者は、オブジェクトの外観の完全な制御を有することができる。
外観オブジェクトは、GUIディスプレイで構成要素の一部を描画するために呼び出すことのできる描画メソッドをエクスポートしてよい。ウィジェットクラスは、典型的には、外観オブジェクトクラスの描画メソッドを呼び出すコードを含む。外観オブジェクトクラスは、構成要素の要素に関係するデータを提供するプロパティもエクスポートしてよい。
外観オブジェクトクラスは、GUIディスプレイ内のウィジェットにデフォルト外観を提供するデフォルトクラスであってよい。代わりに、外観オブジェクトクラスは、デフォルトクラスから引き出されるクラスであってよく、引き出されたクラスはデフォルトクラスの1つまたは複数のメソッド及び/またはプロパティを無効にする。この仕組みにより、ユーザまたは展開者は、未変更のままとなるべきあらゆるパーツを手直しする必要なく、GUIの外観内の単に限られた数の要素に変更を加えることができる。
外観オブジェクトクラスインスタンスは、ウィジェットクラスインスタンスのプロパティであってよい。典型的には、外観オブジェクトクラスのインスタンスに対するポインタは、ウィジェットクラスインスタンスのプロパティに割り当てられる。このようなポインタは、ウィジェットクラスの構成子に対する引数として渡されてよい。
本発明は、オブジェクトの外観オブジェクトを制御するプロパティ及び/またはメソッドがある外観オブジェクトクラスが具体化され、オブジェクトの動作を制御する定義されたプロパティ及び/またはメソッドがあるウィジェットクラスが具体化される、グラフィックユーザインタフェース内でオブジェクト作成する方法も提供する。
最後に前述した段落による方法では、外観オブジェクトクラスに対するポインタは、典型的には、ウィジェットクラスインスタンスのインスタンスメモリに記憶される。
動作を制御することは、必ずしも、オブジェクトが機能的であることを意味しない。スライダとボタン等は動作を実行できることがあるが、複合オブジェクトの記号またはパーツ等のいくつかのグラフィックオブジェクトは単に修飾的であってよい。このようにして、オブジェクトの動作を制御するプロパティ及び/またはメソッドは、(例えば、ポインタとして表示されるなど)オブジェクトの基本的な機能を決定する以上のことはほとんど行なわず、正確な外見は外観オブジェクトによって制御される。
別の態様では、本発明は、外観オブジェクトクラスが、オブジェクトの外観を制御する定義されたプロパティ及び/またはメソッドである外観オブジェクトクラスが具体化され、オブジェクトの動作を制御する定義されたプロパティ及び/メソッドがあるウィジェットクラスが複数回実現される、グラフィックユーザインタフェース内で複数のオブジェクトを作成する方法を提供する。
別の態様では、本発明は、機器のメモリの中に前述されたようにウィジェット集合をロードすること、前述された方法によって複数のオブジェクトをグラフィックユーザインタフェースの中に作成すること、及びオブジェクトをディスプレイに表示することを備えるアプリケーション実行デバイス(例えば、コンピュータ、デジタルテレビ信号用の受信機/デコーダ、または別のデバイス)用のグラフィックユーザインタフェースディスプレイを実現する方法を提供する。
受信機/デコーダに適用されるこのような方法では、ウィジェット集合は、デジタルテレビ信号内のチャネルでダウンロードされることによって受信機/デコーダのメモリにロードされてよい。
別の態様では、本発明は、アプリケーション実行デバイス用のグラフィックユーザインタフェースディスプレイの外見を更新する方法を提供し、そのディスプレイは、前述されたようなウィジェット集合を含み、少なくとも1つの外観オブジェクトクラスが別の外観オブジェクトクラスで置換される。
別の態様では、本発明はデジタルテレビ信号用受信機/デコーダのグラフィックユーザインタフェースディスプレイの外見を更新する方法を提供し、そのディスプレイは、少なくとも1つの代替外観オブジェクトクラスが、記憶されている外観オブジェクトクラスを置換するためにデジタルテレビ信号の一部であるチャネル内の受信機/デコーダに伝送される受信機/デコーダのメモリに記憶される前述されたようなウィジェット集合を含む。
本発明は、対応する装置に及ぶ。特に、発明は、任意の前述の態様の方法を実行するために配置される受信機/デコーダに及ぶ。
別の態様では、本発明は、プロセッサ、メモリ及び信号をディスプレイに出力するための出力ポートを備えるグラフィックユーザインターフェースを実現するためのアプリケーション実行デバイス(例えば、コンピュータ、デジタルテレビ信号用の受信機/デコーダ、または別のデバイス)を提供し、メモリはその中に前述された方法のいずれか、あるいは前述されたオブジェクトのいずれか、あるいは前述されたウィジェット集合のいずれかを実施するためのプログラムを記憶する。
前記ケースのいずれかでは、外観オブジェクトまたは外観オブジェクトクラスが、好ましくは、以下のプロパティ(存在する場合は)の少なくとも1つがどのようにして表示されるのかを定義する。
背景外見、例えば、背景色、
背景オーバレイ、例えばロゴ、
前景外見、
前景オーバレイ、例えばロゴ、
レリーフまたは陰影の外見、
オブジェクト境界の外見、
オブジェクトに割り当てられる任意の焦点のディスプレイ、
オブジェクトに割り当てられる任意の強調表示のディスプレイ。
本発明は、前記方法のいずれかを実施するためのコンピュータプログラムに、及び前記方法のいずれかを実施するためのプログラムを記憶したコンピュータ読み取り可能媒体にも及ぶ。発明は、任意の前述の態様の方法を実行するために配置される受信機/デコーダ用のアプリケーションにも及ぶ。発明は、実質的に添付図面に関してここに説明されるような方法または装置にも及ぶ。
表示されたグラフィックオブジェクトの設計
大部分のグラフィックユーザインタフェース(GUI)は、多様なグラフィックオブジェクトを表示し、その内のいくつかはユーザ(「アクティブ」オブジェクト)によって操作することができ、いくつか(「静的」オブジェクト)は操作できない。好ましくは、前述されたように、表示されたグラフィックオブジェクトは、好ましくは互いを補い、コヒーレントな設計方式を生じさせるように設計される。例えば、表示されたグラフィックオブジェクトは、該当する場合、好ましくは1つのメインカラー及びテクスチャとフォントを共用する。設計方式はここでグラフィックオブジェクトの「外観」と呼ばれる。
いくつかのケースでは、ユーザが改変できるのはアクティブなグラフィックオブジェクトの外観だけである。発明の一態様に従って、好ましくは静的グラフィックオブジェクトの外観が改変可能である。発明の一態様に従って、好ましくはグラフィックオブジェクトのグループの外観は改変可能である。このようにして、表示されたグラフィックオブジェクトのコヒーレントな設計を得ることができる。
本発明のそれ以外の態様に関して、グラフィックオブジェクト及び連結要素が表示される場合、好ましくはグラフィックオブジェクトの外観と連結要素の外観の両方とも変更可能である。好ましくは、グラフィックオブジェクトと連結要素両方の外観は、ユーザによって選択可能な外観で同じである。このようにして、グラフィックオブジェクトの表示されたチェーンのコヒーレント外観が達成できる。
本発明の好ましい態様では、チェーンの外観は、表示されているその他のグラフィックオブジェクトの外観とは無関係に選択可能である。
発明の一態様は、グラフィックユーザインタフェース内の複数のグラフィックオブジェクトの外観を制御する方法を備え、該方法は、外観オブジェクトを複数のグラフィックオブジェクトと関連付けることを備える。
本発明の好ましい実施形態では、複数のグラフィックオブジェクトは、連結チェーンを備える。このようにして、好ましくは、ある特定の外観または設計は、チェーンまたは連結リストとして全体的に適用することができる。好ましくは、外観または設計は、チェーンに適用することができ、外観または設計には無関係に連結リストまたはグラフィックオブジェクトがその他のチェーン、連結リストまたはグラフィックオブジェクトに適用することができる。
発明の一態様は、グラフィックオブジェクトのグループを表示する方法を提供し、該方法は、複数の異なる表示可能なグループを定義するため、及び複数の表示可能なグループからグラフィックオブジェクトのグループを選択するための手段を提供するステップを含む。
好ましくは、方法は、グラフィックオブジェクトの表示可能なグループを定義することと、外観オブジェクトをグラフィックオブジェクトのグループと関連付けることとを備える。
本発明に従って、グラフィックオブジェクトのグループの外見を制御する方法が提供され、該方法は、グラフィックオブジェクトの表示可能なグループを定義することを含む。
グラフィックオブジェクトのグループの外見を制御するための装置も提供され、該装置は、グラフィックオブジェクトの表示可能なグループを定義するための手段を含む。
好ましくは、あるグループのグラフィックオブジェクトの表現は、例えば、色、形状、サイズ、テクスチャまたはパターンの1つまたは複数において別のグループのグラフィックオブジェクトの表現と異なる。
好ましくは、グラフィックオブジェクトのグループは、グラフィックオブジェクトの連結チェーンを表示するための要素を備える。
好ましくは、グラフィックオブジェクトのグループは、静的オブジェクト及びアクティブオブジェクトを備える。このようにして、装置は、好ましくは様々な外観または設計を有する、グラフィックオブジェクトのグループのライブラリを備えてよい。
好ましくは、第1グループの表示されたグラフィックオブジェクトは、色、形状、サイズ、テクスチャまたはパターンの1つまたは複数で別のグループの表示されたグラフィックオブジェクトと異なる。第1グループのグラフィックオブジェクトの配列は、別のグループのグラフィックオブジェクトの配列と異なってよい。
本発明の好ましい実施形態に従って、グラフィックオブジェクトのグループは、グラフィックオブジェクトの連結チェーンを備える。好ましくは、連結チェーンは、GUI内の連結チェーンとして表示可能である。
本発明のこの態様のそれ以外の好ましい特徴は、見出しグラフィックオブジェクトの表示の元で前述されている。
グラフィックオブジェクトの構築
大部分のグラフィックユーザインタフェース(GUI)は、多様なグラフィックオブジェクトを含み、その内のいくつかはユーザが操作することができる。このようなグラフィックオブジェクトは、ウィンドウ、ダイアログボックス及びプッシュボタンを含む。GUIは、概して複数の異なる種類のそれぞれのグラフィックオブジェクトを含み、例えば、GUIは、異なるサイズ及び/またはアスペクト比を有する非常に多岐に渡るダイアログボックスの表示のために配列されてよい。
GUIが、例えば2種類のダイアログボックスを有する場合、一方が他方のサイズの半分であり、ボックスの各種類が公式化され、別個のオブジェクトとしてシステムに保存される。GUIが大多数の異なる種類のダイアログボックス及び/または異なる種類のその他のグラフィックオブジェクトを含む場合、それはシステムリソースの非効率的な使用につながることがある。
発明の一態様は、グラフィックユーザインタフェース内のグラフィックオブジェクトの外見を制御する方法を提供し、該方法は、グラフィックオブジェクトの表現を表示する際に使用するためのグラフィックオブジェクトの複数のグラフィックオブジェクト要素を定義することを備える。
発明の一態様は、グラフィックオブジェクトを形成するためにその他のグラフィックオブジェクト要素との組み合わせのために適応されるグラフィックオブジェクト要素を提供する。
GUIが同じグラフィックオブジェクトの多くの異なる種類を含む場合、異なる種類はたいてい、オブジェクトのそれ以外の種類と共通した特徴を有するだろう。例えば、様々なサイズのウィンドウ及びボックスはたいてい、互いと同じ角を有し、様々な種類のボックス間の相違はボックスの端縁の長さだけである。グラフィックオブジェクトを構築するためにオブジェクト要素を提供することにより、少しの構築ブロック(オブジェクト要素)が、大多数の異なる種類のグラフィックオブジェクトを作成するために使用できるように、多様なオブジェクトの共通の特徴を利用することができる。
グラフィックオブジェクトは、例えば、ウィンドウ、ダイアログボックス、プッシュボタン、スクロールバー、アイコンまたはその他の画面上オブジェクトを備えてよい。グラフィックオブジェクトは、ユーザがそれと対話できるという点で「アクティブ」であってよいか、あるいは例えば背景の特徴など「静的」であってよい。
発明の一態様は、複数のグラフィックオブジェクト要素を備えるグラフィックオブジェクトを提供する。
発明の一態様は、グラフィックユーザインタフェース内のグラフィックオブジェクトの表現を表示するための方法を提供し、該方法は、グラフィックオブジェクトを形成するために複数のグラフィックオブジェクト要素をアセンブルすることを備える。
発明の一態様は、グラフィックユーザインタフェース内でグラフィックオブジェクトを形成するための装置を提供し、該装置は、グラフィックオブジェクトを形成するために複数のグラフィックオブジェクト要素をアセンブルするための手段を備える。
発明の一態様は、グラフィックユーザインタフェースを実現するためのアプリケーション実行デバイスを備え、プロセッサ、メモリ、及びディスプレイに信号を表示するための出力ポートを備え、メモリは本発明の態様を実施するためのプログラムを記憶している。
好ましくは、アプリケーション実効デバイスが、デジタルテレビの受信機/デコーダを備える。
発明の一態様は、発明の方法を実行するためのコンピュータプログラムを提供する。
グラフィックオブジェクトのグラフィックオブジェクト要素は、すべて同じであってよく、グラフィックオブジェクトのサイズ及び形状は、要素の数及び構成によって決定される。
好ましくは、グラフィックオブジェクトが、グラフィックオブジェクト要素の複数の様々な集合を含む。好ましくは、該方法態様は、グラフィックオブジェクトのグラフィックオブジェクト要素の複数の異なる集合を定義することを含む。
グラフィックオブジェクト要素の集合は、例えば、グラフィックオブジェクトの角、側面または端縁部分を備えてよい。例えば、グラフィックオブジェクトがダイアログボックスである場合、ボックスを構成するために使用されるグラフィックオブジェクトの集合は、角要素及び端縁要素を備えてよい。例えば、矩形ボックスは、角要素をともに連結する4つの角要素及び4つの端縁要素を備えてよい。
要素の各集合の中には、例えば、異なるサイズ、形状、向き及び/または色を有する、異なる種類の要素があってよい。このようにして、ボックスの例は、4種類の角要素及び2種類の端縁要素を備えてよい。
プッシュボタンは、グラフィックオブジェクトがそうであるべきプッシュボタンの種類に応じて選ばれる、2つの側面要素、及び1つの中心要素を備えてよい。例えば、PLAYボタンは、矢印記号を含む中心要素を有してよく、STOPボタンは正方形記号を含む中心要素を有してよい。PLAYボタンの側面要素は、STOPボタンの側面要素と同じであってよい。
オブジェクト要素のライブラリは、相対的に複雑な形状を有するグラフィックオブジェクト形成するために使用することもできる。例えば、ダイアログボックスの多岐にわたる複雑な行列は、ボックス端縁、角、及び公差点を備えるオブジェクト要素の選択から容易に形成できるだろう。
本発明の好ましい実施形態では、グラフィックオブジェクトは、グラフィックオブジェクトの「角」と「側面」及び複数の充填材要素を画定する少なくとも2つの「角」要素を含み、その数は、グラフィックオブジェクトのサイズ及び/または形状を変えるために変えることができる。このようにして、テキストボックスは、好ましくは、4つの角要素を有し、複数の充填材要素は、所望の大きさのボックスを作成するために角要素の間のボックスを充填するために使用される。充填材要素はすべて同じであってよい。以下の実施形態では、例えば、ボックス及びウィンドウを構築するために中心要素及び4種類の端縁要素など、異なる種類の充填材要素が使用される。
好ましくは、充填材要素は、グラフィックオブジェクトの必要とされるサイズ及び形状を積み重ねるために繰り返される。
本方法は、好ましくは固定された要素の集合及び繰り返し可能な要素の集合を画定することを含む。
本発明は、グラフィックオブジェクトを形成する方法も提供し、該方法は、固定された要素の集合及び繰り返し可能な要素の集合を提供することを備える。
例えば、ウィンドウまたはボックスの場合、固定された要素の集合は、ボックスのための角及び装飾品を備えてよく、これらの固定された要素が、どのようなサイズであれ、その種のすべてのボックスまたはウィンドウに固定されてよい。繰り返し可能な要素の集合は、オブジェクトの必要とされるサイズ及び形状を積み重ねるために使用される。好ましくは、各固定要素の1つだけが、グラフィックオブジェクトのインスタンスごとに必要とされる。このようにして、繰り返し可能な要素の集合は、角の間を充填するために使用される端縁セグメント及び中心部分を含んでよい。
繰り返し可能な要素のサイズは、好ましくは、ある特定のオブジェクトの繰り返し可能な要素の種類の数が最小限で抑えられるように選ばれる。例えば、繰り返し可能な要素のサイズは、好ましくは、必要とされるグラフィックオブジェクトの最小サイズに関係して選ばれる。このようにして、各グラフィックオブジェクトを構築するために必要とされる「キット」の記憶域内で占有されるメモリを削減することができる。
本発明は、任意のグラフィックオブジェクトに要素のキットを提供し、該キットは固定された要素の集合及び繰り返し可能な要素の集合を備える。
本発明は、グラフィックオブジェクトの要素のキットを作成する方法も提供し、該方法は、グラフィックオブジェクトのインスタンスに共通の固定された要素の集合を画定し、繰り返し可能な要素の集合をさらに画定することを備える。
オブジェクト要素のサイズは調整可能であってよい。このようにして、幅広い範囲のオブジェクトを作成するには、より少ない種類のオブジェクト要素が必要とされる。ダイアログボックスの例について、端縁要素の長さは調整可能であってよい。このようにして大多数の異なるボックス形状が、4つの角要素及び2種類の端縁要素(この場合、調整可能な長さの垂直端縁要素及び調整可能な長さの水平端縁要素)だけを使用して作成できるだろう。
本発明は、さらに、グラフィックユーザインタフェースでグラフィックオブジェクトの表現を表示する方法を提供し、該方法は、複数のグラフィックオブジェクト要素をアセンブルすることを備える。
好ましくは、方法は、固定された要素の集合を表示することと、複数の繰り返し可能な要素を表示することを備える。
本発明は、さらに、グラフィックユーザインタフェース内のグラフィックオブジェクトの外形を制御するための装置を提供し、装置は、グラフィックオブジェクトの表記を表示する上で使用するためのグラフィックオブジェクトの複数のグラフィックオブジェクト要素を定義するための手段を備える。
本発明によりさらに提供されるのは、グラフィックオブジェクトを表示する際に使用するための要素のキットであり、グラフィックオブジェクトのインスタンスに共通な固定要素の集合、及び繰り返し要素の集合を備える。
本発明は、さらに、グラフィックユーザインタフェース内のグラフィックオブジェクトの表現を表示するための装置を備え、該装置は、複数のグラフィックオブジェクト要素をアセンブルするための手段を備える。
本発明は、発明をワイドスクリーンテレビに適用する上で特に有利である。グラフィックオブジェクトのアスペクト比は、標準テレビのグラフィックオブジェクトと比較されるグラフィックオブジェクト要素の数またはサイズを変更することによって容易に調整することができる。
本発明は、例えば、潤色または装飾品など、グラフィックオブジェクトでの変動を容易に加えることも可能にする。オブジェクト要素は、ダイアログボックスで含まれる装飾品を備えてよい。異なる、または同じ装飾品を有する様々な膨大な種類のオブジェクトは本発明を使用して作成できる。
ツールチップ及びメニューチェーン
グラフィックユーザインタフェース(GUI)は、通常、多様なグラフィックオブジェクトを含み、その内のいくつか(「アクティブ」オブジェクト)は、ユーザが操作することができ、それ以外は操作できない(「静的」オブジェクト)。特定のアクティブオブジェクト内のグラフィックオブジェクトは、多くの場合、グラフィックオブジェクトが何であるのかを示すピクチャまたは図を備えてよい、アイコンによってユーザに識別される。例えば、PLAY機能を実施するためのボタンは、矢印を備えるアイコンを含んでよい。このようなアイコンは、ディスプレイの容易なナビゲーションで補助するだけではなく、グラフィックオブジェクトの視覚的な外見も改善することもできる。
特に、画面空間が貴重である場合、アイコンは特に有効である。例として、アイコンが、ウェブブラウズなどの、テレビ及び/またはその他の画面上機能の動作で使用するための画面上アイコンであるデジタルテレビ用受信機/デコーダに使用されるGUIがある。標準テレビ画面の解像度は相対的に低く、読みやすさのために、画面上に表示されるデータは相対的に大きいことを必要とされる。また、テレビセットのユーザは、自分達が例えばパーソナルコンピュータを使用するときよりも、テレビを使用するときに画面からさらに遠くに座る。このようにして、画面上に表示されるあらゆるアイコン及びテキストは、相対的に大きいことが必要とされる。
これが、一度に画面上に表示できる情報量に対して制約を課す。このようにして、アイコンの使用は特に有利である。
グラフィックオブジェクトが何を行うのかをより明確に描くアイコンを選ぶための努力がなされる。しかしながら、使用されているアイコンになじみがなかったり、特徴が表す内容について確信が持てないユーザがいる。しかしながら、画面はごちゃごちゃしすぎる可能性があるため、グラフィックオブジェクトは、テキスト説明によって画面上で識別されるのは望ましくないだろう。
発明の一態様は、GUI内のグラフィックオブジェクトの外見を制御する方法を提供し、該方法は、グラフィックオブジェクトの第1表示可能表現を定ることと、さらにグラフィックオブジェクトの第2表示可能表現を定めることを備え、第2表現は第1表現に隣接して表示される。
発明の一態様は、GUIにグラフィックオブジェクト表示するための方法を提供し、該方法は、グラフィックオブジェクトの第1表現を表示すること、及び第1表現に隣接するグラフィックオブジェクトの第2表現を表示することを備える。
第1表現は、好ましくはアイコンを備える。好ましくは、第2表現は、選択的に表示される。
好ましくは、第1表現はアクティブであり、その結果第1表現を起動するまたは選択することで、グラフィックオブジェクトの動作が実施される。例えば、第1表現は、プッシュボタンであってよい。好ましくは、第2表現は、例えば、オブジェクトの機能を示すワードである、グラフィックオブジェクトのテキスト記述である。第2表現は、アクティブであってよく、あるいはなくてもよい。
第2表現は、好ましくは、選択的に表示可能であるにすぎない。このようにして、好ましくは、グラフィックオブジェクトの第2表現は、常に画面上に表示されず、ユーザにとって補助になるときだけ表示される。
好ましくは、第1表現にフォーカスを当てることによって、第2表現は表示可能である。例えば、第2表現は、ユーザが、例えばカーソルキーを使用してそれにフォーカスを移動することによって、あるいはそれを指すために、マウスポインタを移動することによって、第1表現にフォーカスを当てたときにだけ表示されてよい。
好ましくは、グラフィックオブジェクトのテキスト表現は、フレームの中、例えば、ボックス内であるいはウィンドウ内で表示される。好ましくは、フレームの設計は、表示されているその他のグラフィックオブジェクトの設計、特に同じグラフィックオブジェクトのそれ以外の表現を補う、またはそれに整合される。このようにして、コヒーレントな設計方式を得ることができる。好ましくは、第2表現は、例えばボックスまたはウィンドウを第1表現に連結することによって、第1表現に連結される。このようにして、ユーザは、テキスト記述が適用する内容をさらに明確に正確に見ることができる。
好ましくは、方法は、第1表現及び第2表現を連結するための連結要素を定義することを含む。好ましくは、方法は、外観オブジェクトを第1表現、第2表現、及び好ましくは連結要素と関連付けることを含む。このようにして、好ましくは、第1表現と第2表現、および連結要素は、例えば、調整された外観を与えるために、色、テクスチャ及び形状の特徴を共用する。外観オブジェクトは、調整された外観が、多様な表現及び連結要素について得られるように、複数の別個の外観オブジェクトを備えてよい。
本発明は、さらに、グラフィックオブジェクトを表示するための方法を提供し、該方法は、グラフィックオブジェクトの第1表現を表示すること、グラフィックオブジェクトの第2表現、及び第1表現と第2表現を連結する連結要素を表示することを備える。
本発明は、GUI内のグラフィックオブジェクトの外見を制御するための装置を提供し、該装置は、グラフィックオブジェクトの第1表示可能表現を定義するための手段、及びグラフィックオブジェクトの第2表示可能表現を定義するための手段、及び第1表現に隣接する第2表現を表示するための手段を備える。
装置は、好ましくは第1表現でのフォーカスを検出するときに、第2表現を選択的に表示するための手段を含むことが好ましい。
本発明に従って、グラフィックオブジェクトを表示するための装置も提供され、装置は、グラフィックオブジェクトの第1表現を表示するための手段、グラフィックオブジェクトの第2表現を表示するための手段、及び第1表現と第2表現を連結する連結要素を表示するための手段を備える。
グラフィックオブジェクトは、後述されるようにチェーンまたは連結リスト内にあるので、好ましくは第2表現は表示されるチェーンまたは連結リストの一部である。好ましくは、方法は、グラフィックオブジェクトの連結チェーンを定義することを含み、第1表現と第2表現はグラフィックオブジェクトの表現のチェーンの連結として表示可能である。
好ましくは、第2表現はサブチェーンである。好ましくは、サブチェーンは第1表現から分岐する。
発明の一態様は、グラフィックオブジェクトを含むディスプレイを提供し、該グラフィックオブジェクトは、該グラフィックオブジェクトの第1表現、及び好ましくは該グラフィックオブジェクトの第1表現に隣接する該グラフィックオブジェクトの選択的に表示可能な第2表現を備える。
発明の一態様は、グラフィックユーザインタフェース内のグラフィックオブジェクトの外見を制御するための装置を提供し、グラフィックオブジェクトの第1表現を定義するための手段、及びグラフィックオブジェクトの第2表現を定義するための手段を備え、第2表現は、第1表現に隣接して表示可能である。
発明の一態様は、プロセッサ、メモリ、及びディスプレイに信号を出力するための出力ポートを備えるグラフィックユーザインタフェースを実現するためのアプリケーション実行デバイスを提供し、メモリは発明の一態様を実施するためのプログラムを記憶している。
好ましくは、アプリケーション実行デバイスは、デジタルテレビの受信機/デコーダを備える。
また、発明の方法を実施するためのコンピュータプログラムが提供される。
コンピュータ及びその他の装置のGUIについて、ユーザは、通常、ディスプレイの回りでナビゲートし、表示されたグラフィックオブジェクトを操作するためのマウスまたは他のポインタデバイスが提供される。しかしながら、例えば、テレビ受信機/デコーダ装置及び移動電話及びパーソナルオーガナイザなどのいくつかのアプリケーションでは、ユーザはポインタデバイスを有さない可能性がある。例えば、ユーザはディスプレイの回りでナビゲートするためにカーソルキーパッドを使用することがある。このようなカーソルキーパッドは、通常、アップキー、ダウンキー、左キー及び右キーを含む。特に、画面上に表示されているグラフィックオブジェクトが明らかな線及び/または欄で配列されていない場合に、ユーザが、それらのキーだけを使用してディスプレイの回りでナビゲートするのは紛らわしいことがある。
発明の一態様は、グラフィックユーザインタフェース内のグラフィックオブジェクトの外見を制御する方法を提供し、該方法はグラフィックオブジェクトの連結チェーンを定義することを備える。
発明の一態様は、グラフィックユーザインタフェース内のグラフィックオブジェクトの外見を制御する方法を提供し、該方法は、第1グラフィックオブジェクトを定義することと、第2グラフィックオブジェクトを定義することと、グラフィックオブジェクトを連結するための連結要素を定義することとを備える。
発明の一態様は、GUI内にグラフィックオブジェクトを表示するための装置を提供し、該装置は、複数のグラフィックオブジェクトを表示するための手段及びグラフィックオブジェクトの間の連結要素を表示するための手段を備える。
発明の一態様は、グラフィックオブジェクト、及び該グラフィックオブジェクトに関連付けられた連結要素を提供する。
発明の一態様は、グラフィックユーザインタフェース(GUI)内のグラフィックオブジェクトの表現を表示する方法を提供し、該方法は、グラフィックオブジェクトの表現を表示することと、グラフィックオブジェクト間の連結を示すために連結要素の表現を表示することとを備える。
好ましくは、表示された連結要素は、あるグラフィックオブジェクトから別のグラフィックオブジェクトに及ぶ。好ましくは、方法は、グラフィックオブジェクトの表現の連結チェーンを表示することを含む。
好ましくは、方法は、グラフィックオブジェクトのサブチェーンを定義することを含み、該サブチェーンは連結チェーンから分岐を備え、好ましくは、サブチェーンは、選択的に表示可能である。
好ましくは、方法は、サブチェーンにグラフィックオブジェクトを表示することを含み、該サブチェーンは連結チェーンの分岐を備え、好ましくはサブチェーンは連結チェーンのグラフィックオブジェクトにフォーカスを当てることによって表示可能である。このようにして、サブチェーンは、ユーザにとって重要であるときだけに表示され、このようにしてディスプレイの乱雑を削減する。
発明の一態様は、GUI内のグラフィックオブジェクトを表示する方法を提供し、該方法は、連結リストとして複数のグラフィックオブジェクトを表示することを備える。このようにして、発明の態様は、カーソルキーパッドを使用してナビゲートすることができるグラフィックオブジェクトを備える。好ましくは、表示されるグラフィックオブジェクトはアイコンを備える。好ましくは、グラフィックオブジェクト間の連結が表示可能である。
表示された連結要素は、それらの間の経路を示すために、あるグラフィックオブジェクトから別のグラフィックオブジェクトまで及んでよい。これは、ユーザが、マウスよりむしろディスプレイをナビゲートするためにカーソルキーを使用している場合に、特に有利である。しかしながら、いくつかの例では、連結要素は、依然としてグラフィックオブジェクト間の経路のユーザに表示を与えながら、グラフィックオブジェクト間の全体的な距離で及ぶ可能性はない。例えば、連結要素が、経路内の次のアイコンを指すアイコンでの矢印を備える可能性がある。
発明の一態様は、グラフィックオブジェクトのチェーンを提供する。複数の連結要素が、グラフィックオブジェクトごとに提供されてよく、オブジェクトからのナビゲーション経路の選択肢を示す。このようにして、グラフィックオブジェクト及び連結要素の分岐されるネットワークまたはツリー構造は形成することができ、ネットワークは、マウスを使用しなくともユーザによって容易にナビゲート可能である。また、発明の一態様によって提供されているのは、グラフィックオブジェクトのネットワークである。
発明の一態様は、グラフィックオブジェクトのメインチェーン及び該メインチェーンから分岐したグラフィックオブジェクトのサブチェーンを提供する。好ましくは、グラフィックオブジェクトの表現はボタンである(ここで使用されるように、用語「ボタン」は、好ましくは、選択時に機能を実施する任意のグラフィックオブジェクトを広義に指すと解釈されるべきである)。
好ましくは、複数のサブチェーンが表示可能である。好ましくは、サブチェーンは、メインチェーンのグラフィックオブジェクトを選択することによって表示可能である。
好ましくは、サブチェーンは、メインチェーンに実質的に垂直に伸張する。
本発明の別の態様に従って、グラフィックオブジェクトの第2表現は、グラフィックオブジェクトに隣接して表示可能であり、好ましくは、グラフィックオブジェクトの第2表現は、グラフィックオブジェクトの第1表現のサブチェーンの一部として表示可能である。このようにして、グラフィックオブジェクトの第2表現が、グラフィックオブジェクトの記述を含むテキストボックスである場合、サブチェーンは好ましくはサブチェーンの中にテキストボックス及び記述を含むだろう。これは、ユーザにとって役立つことがある。
発明の一態様に従って、グラフィックオブジェクトを表示するための装置、グラフィックオブジェクトの第1表現を表示するための手段、グラフィックオブジェクトの第2表現を表示するための手段、及び第1表現と第2表現を連結する連結要素を表示するための手段を備える装置が提供される。
また提供されるのは、グラフィックユーザインタフェース内のグラフィックオブジェクトの外見を制御するための装置であって、該装置は、グラフィックオブジェクトの連結済みチェーンを定義するための手段を備える。
グラフィックユーザインタフェース内のグラフィックオブジェクトの外見を制御するための装置もまた提供され、該装置は、第1グラフィックオブジェクトを定義する、第2グラフィックオブジェクトを定義する、及びグラフィックオブジェクトを連結するための連結要素を定義するための手段を備える。
本発明はまた、グラフィックユーザインタフェース内のグラフィックオブジェクトの表現を表示するための装置も提供され、該装置は、グラフィックオブジェクトの表現を表示するための手段、及びグラフィックオブジェクト間の連結を示すための連結要素の表現を表示するための手段を備える。
本発明によってやはり提供されるのは、グラフィックオブジェクトの第1表現、及びグラフィックオブジェクトの第2表現、及び第1表現と第2表現を連結する連結要素を備えるグラフィックユーザインタフェース内のオブジェクトである。グラフィックユーザインタフェース内のオブジェクトは、グラフィックオブジェクトの連結チェーンを備え、グラフィックユーザインタフェースのオブジェクトは第1グラフィックオブジェクト、第2グラフィックオブジェクト及び第1グラフィックオブジェクトと第2グラフィックオブジェクトを連結する連結要素を備える。好ましくは、オブジェクトは、さらに、グラフィックオブジェクトのサブチェーンを含み、該サブチェーンは、連結チェーンからの分岐を備え、好ましくは、サブチェーンは選択的に表示可能である。
発明の一態様は、グラフィックユーザインタフェースを実現するためのアプリケーション実行デバイスを含み、該デバイスは、プロセッサ、メモリ及び信号をディスプレイに出力するための出力ポートを備え、メモリは、発明の一態様を実施するためのプログラムを記憶している。
発明の一態様は、発明の方法を実施するためのコンピュータプログラムも含む。
一列に並んだフリップフロップ
大部分のグラフィックユーザインタフェース(GUI)は、多様なグラフィックオブジェクトを含み、そのいくつかはユーザが操作できる。このようなグラフィックオブジェクトは、多くの場合、通常はグラフィックオブジェクトが何であるのかを示すピクチャまたは図を備えるアイコンとして表示される。例えば、プレイ機能を実施するためのオブジェクトは、矢印を含むアイコンとして表示されてよい。印刷を実施するためのオブジェクトは、プリンタの図を備えてよい。このようなアイコンは、GUIのそれぞれのナビゲーションを補助するだけではなく、表示されたグラフィックオブジェクトの視覚的な外見を改善することができる。
グラフィックオブジェクトが何を行うのかを明確に描くアイコンを選ぶために努力がなされる。多くの「標準的な」アイコンは、「前方へ」、「戻る」、「プレイ」及び「停止」を描くアイコンとして、使用され、通常は認識可能である。しかしながら、使用されているアイコンになじみの薄く、特徴が何を表しているのかがわからないユーザもいる。
発明の一態様は、特徴が複数の形式で表示可能である、表示されている特徴を有するグラフィックオブジェクト、及び特徴が表示される形式を変更するための手段を提供する。
好ましくは、特徴が表示される1つの形式はアイコンである。例えば、PLAYボタンは矢印の形であってよい。
発明の一態様は、GUI内のグラフィックオブジェクトの外見を制御する方法を備え、該方法はグラフィックオブジェクトの第1表現及びグラフィックオブジェクトの第2表現を定義し、第1表現と第2表現は選択的に表示可能、好ましくは周期的に表示可能である。
発明の一態様は、GUI内のグラフィックオブジェクトを表示する方法を提供し、該方法はグラフィックオブジェクトの第1表現を表示し、それ以降グラフィックオブジェクトの第2表現を表示する。
好ましくは、グラフィックオブジェクトの第1表現はアイコンを含む。好ましくは、グラフィックオブジェクトの第2表現はグラフィックオブジェクトのテキスト記述を含む。好ましくは、グラフィックオブジェクトの表示は第1表現と第2表現の間で循環する。
発明の一態様は、GUI内のグラフィックオブジェクトの外見を制御するための装置を備え、該装置はグラフィックオブジェクトの第1表現を定義するための手段、及びグラフィックオブジェクトの第2表現を定義するための手段を備える。
発明の一態様は、グラフィックユーザインタフェースを実現するためのアプリケーション実行デバイスを提供し、該デバイスは、プロセッサ、メモリ、表示するための信号を出力するための出力ポートを備え、該メモリは発明の態様を実施するためのプログラムを記憶している。
好ましくは、アプリケーション実行デバイスは、デジタルテレビの受信機/デコーダを備える。
やはり提供されているのは、発明を実行するためのコンピュータプログラムである。
表示されてよい様々な表現は、例えば、アイコン及び特徴のテキスト記述を含む。このようにして、PLAYアイコン(例えば、矢印の図)は、ワード「プレイ」として表示することもできてよい。このようにして、ユーザがテキスト記述からアイコンの意味を知っていることを保証する一方でアイコンの使用の視覚的な恩恵及びその他の恩恵を得ることができる。グラフィックオブジェクトの様々な表現を提供することによって、GUIの視覚的な外見が改善することができ、様々なディスプレイはユーザの表示可能領域を乱雑にしない。
本発明の第1実施形態では、表示されるグラフィックオブジェクトの表現は、ユーザが設定できる。例えば、ユーザは、使用されているアイコンに精通し、アイコンのテキスト説明を必要としない可能性がある。この場合、ユーザは、アイコンだけが表示されることを選択してよい。
本発明の第2実施形態では、表示される表現は、表示される表現を選択する、またはフォーカスを与える(例えば、強調表示する)ことによってユーザによって変更可能である。例えば、表現が「PLAY」アイコンとしてグラフィックオブジェクトに設定されると、ユーザは、第1表現にフォーカスを当てる、例えば強調表示するつまり選択することによってテキスト「プレイ」に対する「PLAY」アイコンを変更することができる。
本発明の第3実施形態では、グラフィックオブジェクトの表示は、ユーザによる介入なしに様々な表現の間で切り替わる。例えば、表示されたグラフィックオブジェクトが2種類の表現の間で循環するように、優先順位を設定することができる。好ましい実施形態では、表示はアイコン及びテキスト記述の間で循環する。サイクル時間は調整可能であってよい。サイクル時間の一例は約2秒である。
本発明の実施形態では、表現が表示されるときにタイマが始動される。タイマが所定の値に達すると、表現は変化する。表現の変化は、例えばアイコンからテキスト記述へなど、直接的にある表現から別の表現へであってよいか、あるいは表現のシーケンスを備えてよい。例えば、表現のシーケンスはある表現から別の表現への漸次的な変化を示してよい。ある実施形態では、表現のシーケンスは、2つの表現が旋回する硬貨の相反する面である効果を与える。
本発明は、さらに、GUI内のグラフィックオブジェクトの表現を制御するための装置を提供し、該装置は、グラフィックオブジェクトの第1表現及びグラフィックオブジェクトの第2表現を定義するための手段と、第1表現及び第2表現を選択的に表示するための手段、及び好ましくは、第1表現及び第2表現を周期的に表すための手段を備える。
やはり提供されているのは、GUI内のグラフィックオブジェクトの表現を表示するための装置であり、該装置はグラフィックオブジェクトの第1表現を表示するための手段、及びグラフィックオブジェクトの第2表現をそれ以降に表示するための手段を備える。
好ましくは、装置は、さらに、第1表現を表示することと第2表現を表示することとの間で表現のシーケンスを表示するための手段を備える。
本発明は、さらに、グラフィックオブジェクトの第1表現及びグラフィックオブジェクトの第2表現を備えるGUI内のオブジェクトを提供し、第1表現及び第2表現は選択的に表示可能であり、好ましくは周期的に表示可能である。
画面上のキーボード
数値キーパッドを有するデバイスが、キーパッドを使用するテキストを含むデータを作成することを含むタスクを実行するためにさらに多く使用されている。例えば、移動電話は、電話の電話帳に名前など電話メモリに情報を入力するため、及びテキストメッセージの送信のために使用される。それ以外の例は、例えば、受信機/デコーダを有するテレビを使用してインターネットにアクセスするときなど、テレビ画面の上にテキストを入力するために使用されるテレビ遠隔制御装置を含む。
このようなデバイスは、通常、数0から9のそれぞれのキー、及びおそらく#と*などのいくつかのそれ以外のキーを有する数値キーパッドだけを有する。テキストを入力できるようにするために、少なくとも26の追加キー機能がアルファベットの文字のために必要とされ、アクセント記号が付けられる文字だけではなく、大文字と小文字の両方、句読点及び記号が必要とされ、依然として追加のキー機能が必要とされる。
テキスト入力のために使用される既知のキーパッドでは、キーパッドのそれぞれのキーには数多くの機能が割り当てられ、ユーザはキーを複数回押すことで使用可能な機能を循環し、異なる機能が通常ディスプレイ上で表示可能である。ユーザがキーの所望される機能に達すると、機能が、通常「選択」キーを押すことによって、あるいは表示カーソルを移動することによって選択される。機能の完全なセットが使用可能になる場合、キーパッドのそれぞれのキーが必ず複数の異なる機能に関係することが見られるだろう。例えば、キーパッドの「2」のキーは、以下の機能を含んでよく、
Figure 0005713459
さらに複数の機能を含んでよい。ある特定の文字、数、または記号が必要とされるたびに、キーは複数回押されなければならない。これは明らかに時間を要し、非効率的である。また、設計の制約及びキーの物理的なサイズが、多くの場合、ある特定のキーによってアクセスできる文字及び記号のすべてがユーザに表示できるわけではないことを支配する。このようにして、ユーザがある特定の文字または記号を入力することを希望する場合、ユーザは多くの場合、それを起動するキーを見つけるために試行錯誤を使用しなければならない。
移動電話のいくつかのモデルに使用される解決策は、QWERTYキーボードを含むことであるが、明らかに小さなキーボードが所望である場合、それは理想的ではなく、キーは使用するために十分大きなままでなければならない。
発明の一態様は、機能を実行するためのキーを有するキーボードを提供し、それぞれのキーが機能オプションを含み、そこではキーの機能オプションが変更可能である。
本発明ある実施形態では、それぞれのキーは一度に1つだけの機能オプションを有し、その結果、キーはその機能を実行するために数回押されればよい。キーの機能オプションが変更可能であることを規定することによって、キーがある以上の多くの機能を実行するためにキーパッドを使用することも可能であるが、使用の効率性は改善できる。
好ましくは、キーパッド用テンプレートとしてオプションの集合が配列され、該テンプレートは変更可能である。例えば、キーパッドが数だけを入力するためのあるタスクで使用されなければならない場合、入力される数ごとに、ユーザが3文字以上の文字をスクロールしなければならないのであれば、それは非効率的だろう。キーパッドのすべてのキーのオプションを「数」に変更することによって、キーは、必要とされる数を入力するためにユーザにより一度押されさえすればよい。同様にして、ユーザが、大文字を入力することを希望する場合、「大文字」テンプレートをキーパッドに適用できる。このようにして、大文字だけがキー機能のオプションに含まれ、ユーザが所望される機能を見つけるためにスクロールしなければならない機能の数を削減する。
好ましくは、キーオプションは、全体としてキーパッドについて変更されるが、代わりに、キーのいくつかだけのオプションが変更される可能性がある。
発明の一態様は、キーパッドを使用してグラフィックユーザインタフェース(GUI)の中へのデータの入力を補助する方法を提供し、該方法は、それぞれのテンプレートがキーパッドのための機能の集合を備える、複数のテンプレートを定義することを備える。
発明の一態様は、キーパッドを使用してグラフィックユーザインタフェースの中にデータを入力する際に使用するための装置を提供し、該装置は、それぞれのテンプレートがキーパッドの機能の集合を備える複数のテンプレートを備える。
好ましくは、テンプレートはディスプレイで表示可能である。
好ましくは多くの様々なテンプレートが提供され、方法は、使用するためのあるテンプレートを選択するステップを含む。好ましくは、装置は、さらにテンプレートを選択するための手段を備える。様々なテンプレートは、好ましくは、キーパッドに様々な機能を提供する。例えば、キーパッドの数キーに大文字AからJを提供してよい。様々なテンプレートは、大文字KからT等を提供してよい。
ここに説明される発明の実施形態では、テンプレートは、それぞれ、キーパッドのキーとともに使用するための10の機能を含むにすぎない。別の実施形態では、キーパッドは、さらに多くのキーを含んでよく、テンプレートでアルファベット全体を表すことが可能であってよい。例えば、キーパッドはキーボードを備えてよい。様々なテンプレートが、様々な言語変形、様々な数及びキー配列、及び記号とその他の文字などの異なる種類のキーボードに対応して提供されてよい。必要とされる機能のすべてがそれぞれのテンプレートで含まれる可能性があり、様々なテンプレートが様々な種類のキーパッドまたはキーボードの異なるキーレイアウトに対応して提供されている。
ここに使用されている用語キーパッドは、キーまたはボタン等の配列を有するすべてのデバイスを含むように幅広く解釈されるべきである。このようにして、用語は、好ましくは、リモートコントローラ、電話及びコンピュータキーボード並びにその他のデバイスも含む。
好ましくは、例えば、コンピュータまたはテレビの画面上でテンプレートを表示するためのステップを含む。好ましくは、複数の使用可能なテンプレートが表示され、好ましくは、ユーザは使用するための表示されるテンプレートの1つを選ぶことができる。
好ましい実施形態では、使用可能なテンプレートはグリッドとして表示され、好ましくは、ユーザはキーパッドのカーソルキーを使用して所望されるテンプレートを選択する。ユーザは、代わりに、例えばポインタデバイス、例えばマウスなどの異なるデバイスを使用してよい。
好ましくは、ディスプレイは、キーパッドの関連するキーの配列に対応する構成でのテンプレートの機能を示す。好ましくは、方法は、キーパッドの画像を表示することを含む。好ましくは、テンプレートを選択するステップは、画面上でのテンプレートを基準にしたキーパッドの画像を移動することを含む。
好ましくは、装置は、さらに表示可能なキーパッド画像を含み、該装置は、好ましくはテンプレートのディスプレイを基準にしてキーパッドの画像を移動するための手段を備える。
好ましくは、キーパッドの画像を画面に表示することは、表示されるキーパッドの画像を選択するステップを含む。キーパッドでのキーのレイアウトは、ある種のキーパッドから別の種類のキーパッドで変わることがあるため、キーパッドレイアウトに対応することは、示されるテンプレートでキーのレイアウトにとって有利である。
好ましくは、ユーザは、キーパッド上でカーソルキーを使用してテンプレートを基準にしてキーパッドの画像を移動する。
テンプレートの機能は、QWERTYキーボードとして計画されてよく、キーボードはキーパッドの画像について多様なゾーンに分割される。例えば、ある位置では、キーパッドは、文字q、w、e、a、s、d、z、x、c及びスペースを入力するために使用されてよい。
その他の実施形態では、テンプレートの機能は他の方法で計画される。好ましくは、ユーザが頻繁に使用する機能は、それらが複数のテンプレートで表示されるように配列される。好ましくは、テンプレートはユーザによってカスタマイズされてよい。
テンプレートキーボードのキーによって提供される機能は、複数の文字、数または記号を備えてよい。例えば、キーパッドがウェブブラウザに使用される場合、キーは、例えば,「http:/」または「www」を入力するために使用されてよい。
好ましくは、キーパッドテンプレートは、ユーザがデータを入力する間、画面に表示される。
発明の一態様は、キーパッドのテンプレートを提供する。好ましくは、テンプレートはGUIに表示可能である。
発明の一態様は、キーパッドを使用してデータを入力する方法を提供し、方法は、キーパッドに機能の集合を備えるテンプレートを選択することを含む。
本発明の該態様は、さらに、キーパッドを使用してデータを入力するための装置を提供し、該装置は、キーパッドテンプレートを表示するための手段を含む。好ましくは、装置は、複数のキーパッドテンプレートを表示するための手段、及びテンプレートを選択するための手段を含む。
好ましくは、データ入力用のキーパッドテンプレートのディスプレイは、装置が実行してよいそれ以外のアプリケーションとは別個である。例えば、装置がウェブブラウザアプリケーションを実行中であり、データがダイアログボックスに入力される必要がある場合、ユーザは、ブラウザアプリケーションに平行して実行するキーパッドテンプレートを呼び出す。好ましくは、キーパッドテンプレートアプリケーションは、装置内の複数のアプリケーションから呼び出すことができる。
本発明の該態様は、プロセッサ、メモリ及び信号をディスプレイに出力するための出力ポートを備えるグラフィックユーザインタフェースを実現するためのアプリケーション実行デバイスも提供し、メモリは発明の一態様を実行するためのプログラムを記憶している。好ましくは、メモリは、さらに、キーパッドテンプレートのライブラリを記憶し、好ましくはさらにキーパッド画像のライブラリを記憶している。
本発明の該態様は、さらに、キーパッドテンプレート及び/またはキーパッド画像のライブラリを提供する。
発明の一態様は、本発明の方法を実行するためのコンピュータープログラムを提供する。
概要
ここでグラフィックオブジェクト及びその他のオブジェクトが参照される場合、このような用語は広義に解釈されるべきである。特に、それは、オブジェクトがオブジェクト指向型プログラムコードによって定義されることを暗示するとして解釈されるべきではない。
ここに説明される方法は、好ましくは、適切にプログラムされたプロセッサを有するアプリケーション実行デバイスを使用して実行される。
好ましくは、発明は、送信機の一斉送信及び受信に関する。
前述の方法のいずれも、デジタルまたはアナログのテレビ受信機/デコーダ受信機/デコーダによって実行されてよい。代わりに、方法は、移動電話、コンピュータまたは別のデバイスによって実行されてよい。
ここに説明される方法は、説明されている方法のいずれかを実行するためのコンピュータプログラムにも、及び前記方法のいずれかを実行するためのプログラムを記憶したコンピュータ読み取り可能媒体にも及ぶ。発明は、発明のいずれかの態様の方法を実行するために配列される受信機/デコーダのアプリケーションにも及ぶ。
本発明は、例えば、コンピュータソフトウェア及び/またはコンピュータソフトウェア新版を備える、コンピュータプログラム製品にも及ぶ。このようなコンピュータプログラム製品は、例えば、ケーブルまたは衛星放送によって、放送コンピュータセンタからユーザに伝送されてよい。コンピュータプログラム製品は、例えばCD ROMなどのディスクに提供されてよい。コンピュータプログラム製品は、ハードディスクまたは揮発性メモリまたは不揮発性メモリなどの記憶媒体上に記憶されるソフトウェアとして、あるいは信号として有形で実現されてよい。
発明の一態様は、さらに、以下を提供する。つまり、
外観オブジェクトを定義するため、及び
該外観オブジェクトをグラフィックオブジェクトと関連付けるための、
コードを備えるコンピュータプログラム製品と、
グラフィックオブジェクトの外見を制御する外観オブジェクトを提供するためのコードと、
グラフィックオブジェクトの動作を制御するウィジェットオブジェクトを提供するためのコードと、
を備える、グラフィックユーザインタフェース内のグラフィックオブジェクトを定義する上で使用する前のコンピュータプログラム製品と、
グラフィックオブジェクトの複数の異なる表示可能なグループを定義するための、及び複数の表示可能なグループからグラフィックオブジェクトのグループを選択するためのコードを含む、グラフィックオブジェクトのグループの外見を制御する方法で使用するためのコンピュータプログラム製品と、グラフィックオブジェクトの表示可能なグループを定義するためのコードを備える、グラフィックオブジェクトのグループの外見を制御するための方法で使用するためのコンピュータプログラム製品と、グラフィックオブジェクトの表現を表示する上で使用するためのグラフィックオブジェクトの複数のグラフィックオブジェクト要素を定義するためのコードを備える、グラフィックユーザインタフェース内のグラフィックオブジェクトの外見を制御する方法で使用するためのコンピュータプログラム製品と、グラフィックオブジェクトのインスタンスに共通した固定要素の集合を定義するため、及び繰り返し可能要素の集合を定義するためのコードを備える、グラフィックオブジェクトの要素のキットを作る方法で使用するためのコンピュータプログラム製品と、複数のグラフィックオブジェクト要素をアセンブルするためのコードを備える、グラフィックユーザインタフェース内のグラフィックオブジェクトの表現を表示する方法で使用するためのコンピュータプログラム製品と、グラフィックオブジェクトの第1表示可能表現を定義するためのコードと、第1表現に隣接する第2表現を表示するためのコードとを備える、GUIでのグラフィックオブジェクトの外見を制御する方法で使用するためのコンピュータプログラム製品と、グラフィックオブジェクトの第1表現を表示するため、グラフィックオブジェクトの第2表現を表示する、及び第1表現と第2表現を連結する連結要素を表示するためのコードを備えるため、グラフィックオブジェクトを表示する方法で使用するためのコンピュータプログラム製品と、グラフィックオブジェクトの連結チェーンを定義するためのコードを備える、グラフィックユーザインタフェース内のグラフィックオブジェクトの外見を制御する方法で使用するためのコンピュータプログラム製品と、第1グラフィックオブジェクトを定義するため、第2グラフィックオブジェクトを定義するため、及びグラフィックオブジェクトを連結するための連結要素を定義するためのコードを備える、グラフィックユーザインタフェース内のグラフィックオブジェクトの外見を制御する方法で使用するためのコンピュータプログラム製品と、グラフィックオブジェクトの表現を表示するための、及びグラフィックオブジェクト間の連結を示すための連結要素の表現を表示するためのコードを備える、グラフィックユーザインタフェースでグラフィックオブジェクトの表現を表示する方法で使用するためのコンピュータプログラム製品と、グラフィックオブジェクトの第1表現及びグラフィックオブジェクトの第2表現を定義するためのコードと、第1表現と第2表現を選択的に表示する、好ましくは表現を周期的に表示するためのコードとを備える、GUI内のグラフィックオブジェクトの外見を制御する方法で使用するためのコンピュータプログラム製品と、グラフィックオブジェクトの第1表現を表示するため、及びそれ以降グラフィックオブジェクトの第2表現を表示するためのコードを備える、GUI内のグラフィックオブジェクトの表現を表示する方法で使用するためのコンピュータプログラム製品と、受信機/デコーダとともに使用するためにここに記述されるコンピュータプログラム製品。
また提供されているのは、メモリ及びプロセッサを備えるコンピュータプログラム製品であり、該メモリはその中にアプリケーションを記憶しており、(アプリケーションの制御下にある)プロセッサは、ここに説明される方法のいずれかを実行するために適応されているコンピュータプログラム製品、及びここに説明されている方法のいずれかを実行するためのプログラム及びここに説明されている方法のいずれかを実行するためのコンピュータプログラムを備える。
本発明によってまた提供されているのは、その上にここに説明されるような方法のいずれかを実行するためのプログラムを記憶しているコンピュータ読み取り可能媒体、及びここに説明されるようなコンピュータプログラム製品を記憶しているコンピュータ読み取り可能媒体である。
また、ここに説明されるようなコンピュータプログラム製品を有形で実現する信号が提供される。
本発明は、さらに、実質的に添付図面に関してここに説明され、添付図面に示されるような方法、及び添付図面に関してここに説明され、添付図面に示されるような装置を備える。
発明の一態様がグラフィックオブジェクトに関する場合、発明は、グラフィックオブジェクトを定義する方法と、グラフィックオブジェクトの外見を制御する方法と、グラフィックオブジェクトの表現を、例えば、テレビ画面または移動電話のLCDなどの適切なディスプレイに、及びグラフィックオブジェクトそれ自体に表示する方法を提供する。発明は、発明を実行するための装置及び好ましくは適切にプログラミングされたプロセッサを使用する発明の装置も提供する。
好ましくは、デジタルテレビの、及び好ましくはテレビ用ウェブブラウザの用途を見つける。発明は、例えば、デジタルテレビ用の受信機/デコーダで実現されてよい。前述される発明の態様の特徴は、好ましくは、例えば受信機/デコーダのプロセッサ及びメモリなどの、プロセッサ及び/またはメモリによって提供される。
ここに説明される方法のいずれも、デジタルまたはアナログのテレビ受信機/デコーダなどの受信機/デコーダによって実行されてよい。
ここに使用されている用語「受信機/デコーダ」は、例えばなんらかの他の手段によって一斉送信または伝送されてよいテレビ信号及び/または無線信号などの、符号化された信号または符号化されていない信号のどちらかを受信するための受信機を言外に意味する。用語は、また、受信された信号を復号するためのデコーダも言外に意味してよい。このような受信機/デコーダの実施形態は、例えば、「セットトップボックス」などの受信された信号を復号するための受信機と一定化したデコーダを含んでよく、このようなデコーダは物理的に別個の受信機と組み合わされて機能するか、このようなデコーダは、ウェブブラウザ、ビデオレコーダ、またはテレビなどの追加機能を含む。
本発明は、純粋に例証してここに説明されており、詳細の修正が発明の範囲内で加えることができることが理解されるだろう。
説明中に開示されるそれぞれの機能及び(該当する場合)クレームと図面は、独立して、あるいは任意の適切な組み合わせで提供されてよい。
装置の機能はここにある特定の機能の「ための手段」として説明されているが、それらの用語が広義に解釈され、好ましくはここに説明される発明の特定の実施形態に制限されると解釈されないことが意図される。装置の特徴は、適切にプログラミングされた1台または複数台のコンピュータによって提供される好ましい実施形態にあり、このようにして装置の特徴は、コンピュータの関連する特徴またはコンピュータプログラムを備える製品によって提供される。例えば、装置の特徴はプロセッサ、あるいはコンピュータのその他の部分、例えば、メモリまたはデータ記憶装置によって提供されてよい。
ある態様の特徴は、任意の他の態様に適用されてよい。つまり、方法特徴は、装置態様に適用されてよく、及びその逆である。
本発明の好ましい特徴を、純粋に、添付図面に関して、例によって説明する。
典型的なデジタルテレビシステムの概観を示す。 対話型テレビシステムの一般的なアーキテクチャを示す。 受信機/デコーダのブロック図である。 受信機/デコーダのアーキテクチャを示す。 受信機/デコーダのアーキテクチャをさらに示す。 ウィジェット集合内のウィジェットの階層の一部の図である。 GUIディスプレイで表示されるウィジェットの簡略化された図である。 複数のウィジェットのメモリ内の場所を示す。 ウェブブラウザの画面ディスプレイを示す。 ウェブブラウザをナビゲートするためのリモートコントローラを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 ウェブブラウザの追加画面ディスプレイを示す。 並列表示によって形成されるグラフィックオブジェクトの例である。 並列表示によって形成されるグラフィックオブジェクトの追加例である。 並列表示によって形成されるグラフィックオブジェクトの追加例である。 並列表示によって形成されるグラフィックオブジェクトの追加例である。 並列表示によって形成されるグラフィックオブジェクトの追加例である。 並列表示によって形成されるグラフィックオブジェクトの追加例である。 並列表示によって形成されるグラフィックオブジェクトの追加例である。 並列表示によって形成されるグラフィックオブジェクトの追加例である。 グラフィックオブジェクトを並列表示する方法を示す。 典型的な画像バッファを示す。 並列表示したグラフィックオブジェクトのレイアウトを示す。 仮想キーボードの動作を概略的に示す。 仮想キーボードへの文字の典型的な写像を示す。 仮想キーボードの例を示す。 仮想キーボードの典型的な寸法を示す。
デジタルテレビシステムの概観
デジタルテレビシステム1の概観は図1aに示されている。発明は、既知のMPEG−2圧縮システムを使用し、圧縮されたデジタル信号を伝送する、主として従来のデジタルテレビシステム2を含む。さらに詳細には、放送センタ内のMPEG−2圧縮機3は、デジタル信号ストリーム(典型的にはビデオ信号のストリーム)を受信する。圧縮機3は、リンケージ5によってマルチプレクサ及びスクランブラ4に接続される。
マルチプレクサ4は、複数の追加入力信号を受信し、トランスポートストリームをアセンブルし、言うまでもなく電気通信連結を含む多岐に渡る形式を取ることができる、リンケージ7を介して放送センタの送信機6に圧縮されたデジタル信号を伝送する。送信機6は、衛星トランスポンダ9に向かうアップリンク8を介して電磁信号を伝送し、そこではそれらは電子的に処理され、概念上のダウンリンク10を介して、従来はエンドユーザによって所有されているまたは貸借されている放物面反射器の形を取る、それぞれの地上受信機12に一斉送信される。地上放送、ケーブル伝送、結合された衛星/ケーブル連結、電話網等、データの伝送用のその他のトランスポートチャネルも言うまでもなく可能である。
受信機12によって受信される信号は、エンドユーザによって所有される、または貸借され、エンドユーザのテレビセット14に接続される統合型受信機/デコーダ13に伝送される。受信機/デコーダ13は、テレビセット14用のテレビ信号に圧縮されたMPEG−2信号を復号する。別個の受信機/デコーダは図1aに図示されているが、受信機/デコーダは、統合型デジタルテレビの一部であってよい。ここに使用されているように、用語「受信機/デコーダ」がセットトップボックスなどの別個の受信機/デコーダ、及びそれと統合された受信機/デコーダを有するテレビを含む。
多重チャネルシステムでは、マルチプレクサ4は、数多くの並列ソースから受信される音声及びビデオ情報を取り扱い、情報を対応する数のチャネルに沿って一斉送信するために、送信機6と対話する。視聴覚情報に加えて、メッセージまたはアプリケーション、あるいはそれ以外の種類のデジタルデータが、伝送されたデジタル音声及びビデオ情報でインタレースされるこれらのチャネルのいくつかまたはすべてで導入されてよい。
条件付きアクセスシステム15は、マルチプレクサ4及び受信機/デコーダ13に接続され、部分的に放送センタ内に位置し、部分的に受信機/デコーダ内に位置する。それは、エンドユーザが、1つまたは複数の放送供給業者からのデジタルテレビ放送にアクセスできるようにする。コマーシャルオファー(すなわち、放送供給業者によって販売される1つまたは複数のテレビ番組)に関するメッセージを復号することができるスマートカードが、受信機/デコーダ13の中に挿入できる。受信機/デコーダ13及びスマートカードを使用して、エンドユーザは、加入モードまたは有料視聴モードのどちらかでコマーシャルオファーを購入してよい。ここに使用されるように、用語「スマートカード」は、独占的にではないが、あらゆるチップベースのカードデバイス、または例えばマイクロプロセッサ及び/またはメモリ記憶装置などの類似する機能及び性能、処理、のオブジェクトを含む。この用語に含まれるのは、カード、例えば、多くの場合、TVデコーダシステムで使用されるようなキー形をしたデバイスなど、カードに代替的な物理形式を有するデバイスである。
前述されたように、システムによって伝送される番組は、マルチプレクサ4でスクランブルされ、指定伝送に適用される条件及び暗号化キーは、アクセス制御システム15によって決定される。このようにしてスクランブルされるデータの伝送は、有料テレビシステムの分野では周知である。典型的には、スクランブルされたデータが、データの逆スクランブルのための制御ワードとともに伝送され、制御ワード自体が、いわゆる利用(exploitation)キーで暗号化され、暗号化された形式で伝送される。
それから、スクランブルされたデータ及び暗号化された制御ワードが、暗号化された制御カードを復号し、その後伝送されたデータを逆スクランブルするためにデコーダに挿入されるスマートカードで記憶される利用キーの同等物にアクセスすることができるデコーダ13によって受信される。会費を納付し終わった加入者は、例えば、放送月次ECM(資格管理メッセージ)の中で、伝送の表示を可能とするために暗号化された制御ワードを復号するために必要な利用キーを受信するだろう。
対話型システム
やはりマルチプレクサ4及び受信機/デコーダ13に接続され、再び部分的に放送センタ内に、及び部分的に受信機/デコーダ内に位置する対話型システム16により、エンドユーザは、モデムバックチャネル17を介して多様なアプリケーションと対話できる。モデムバックチャネルは、条件付きアクセスシステム15で使用される通信にも使用されてよい。
図1bは、デジタルテレビシステム1の対話型テレビシステム16の一般的なアーキテクチャを示す。
例えば、対話型システム16により、エンドユーザは、画面上のカタログから商品を購入し、地元ニュース及び天気図をオンデマンドで調べ、自分達のテレビセットを通してゲームをプレイすることができる。
対話型システム16は、概して以下の4つの主要要素を備える。
・放送供給業者がアプリケーションを作成、展開、デバッグ及び試験できるようにするための、放送センタまたはそれ以外の場所にあるオーサリングツール4004、
・放送供給業者が、エンドユーザに一斉送信されるためのMPEG−2トランスポートストリーム(典型的にはその専用セクション)への挿入のためにマルチプレクサ及びスクランブラ4に送達するために、アプリケーション及びデータを作成、認証、及びフォーマットできるようにするオーサリングツール4004に接続される、放送センタにあるアプリケーション及びデータサーバ4006、
・エンドユーザが、実行のためにアプリケーションを受信、認証、復元、及びデコーダ13の作業メモリの中にロードできるようにするためのエンドユーザによって所有される、または貸借される受信機/デコーダ13にインストールされる実行可能コードである実行時エンジン(RTE)4008を含む仮想機械。該エンジン4008は、常駐汎用アプリケーションも実行する。該エンジン4008は、ハードウェア及びオペレーティングシステムとは無関係である、及び
・サーバ4006に、エンドユーザの要求時に、データ及びアプリケーションをMPEG−2トランスポートストリームに挿入するように命令する信号をイネーブルする受信機/デコーダ13とアプリケーション及びデータサーバ4006の間のモデムバックチャネル17。
対話型テレビシステムは、受信機/デコーダの機能及びその中に含まれる多様なデバイスを制御する「アプリケーション」を使用して動作する。アプリケーションは、「リソースファイル」としてエンジン4008内で表される。「モジュール」は、リソースファイル及びデータの集合である。受信機/デコーダの「メモリボリューム」は、モジュール用の記憶空間である。モジュールは、MPEG−2トランスポートストリームから、受信機/デコーダ13の中にダウンロードされてよい。
受信機/デコーダ
図2aを参照して、受信機/デコーダ13の多様な要素を、機能ブロックという点でここに説明する。
例えば、デジタルセットボックス(DSTB)であってよい受信機/デコーダ13は、関連付けられたメモリ素子を含み、直列インタフェース221、並列インタフェース222、(図1aのモデムバックチャネル17に接続される)モデム223、及びデコーダの前面パネル上の開閉器接点224から入力データを受信するように適応される中央処理装置220を備える。
受信機/デコーダは、さらに、制御装置226を介して赤外線リモートコントローラ225から入力を受け取るように適応され、それぞれ銀行スマートカード及び加入カード242、240を読み取るように、2台のスマートカード読取装置227、228も所有する。加入スマートカード読取装置228は、挿入される加入カード240と、及び条件付きアクセス装置229と係合し、必要な制御ワードをデマルチプレクサ/デスクランブラ230に供給し、暗号化された一斉送信信号を復号できるようにする。デコーダは、装置230によって濾波され、多重分離される前に、衛星伝送を受信し、復調するために、従来のチューナ231及び復調器232も含む。
受信機/デコーダ内のデータの処理は、通常、中央処理装置220によって処理される。図2bは、受信機/デコーダの中央処理装置220のソフトウェアアーキテクチャを示す。図2bに関して、ソフトウェアアーキテクチャは、1つまたは複数のアプリケーション4056を実行するために、実行時エンジン4008、デバイスマネージャ4068及び複数のデバイス4062及びデバイスドライバ4066を備える。
本説明中、好ましくは、アプリケーションは、好ましくは、受信機/デコーダ13の高水準機能を制御するための1つのコンピュータコードである。例えば、エンドユーザがリモートコントローラ225のフォーカスを、テレビセット14の画面上に見えるボタンオブジェクトに位置決めし、バリデーションキーを押すと、ボタンに関連付けられる命令シーケンスが実行される。
対話型アプリケーションは、エンドユーザの要求でメニューを提案し、コマンドを実行し、アプリケーションの目的に関係するデータを提供する。アプリケーションは、常駐アプリケーションであってよい、すなわち受信機/デコーダ13のROM(あるいはFLASHまたはその他の不揮発性メモリ)に記憶されてよいか、あるいは受信機/デコーダ13の一斉送信され、RAMまたはFLASHメモリにダウンロードされてよいかのどちらかである。
アプリケーションは、受信機/デコーダ13内のメモリロケーションに記憶され、リソースファイルとして表される。該リソースファイルは、前述された特許明細書でより詳細に説明されるように、グラフィックオブジェクト記述ユニットファイル、変数ブロックユニットファイル、命令シーケンスファイル、アプリケーションファイル、及びデータファイルを備える。
受信機/デコーダは、RAMボリューム、FLASHボリューム及びROMボリュームに分割されるメモリを含むが、この物理的な編成は、論理的な編成とは異なる。メモリは、さらに、多様なインタフェースに関連付けられるメモリボリュームに分割されてよい。ある観点から、メモリは、ハードウェアの一部と見なすことができる。別の観点からは、メモリは、ハードウェアとは別個に示されるシステムの全体をサポートするまたは含むと見なすことができる。
ソフトウェアアーキテクチャ
中央処理装置220は、仮想機械4007の部分を形成する実行時エンジン4008に中心が置かれると見なすことができる。これは、後述される多様な中間論理装置を介して一方の側面(「高水準」側面)で、及び他方側面(「低水準」側面)でアプリケーションに、前述されたような多様なポート(すなわち、例えば直列インタフェース221、並列インタフェース222、モデム223、及び制御装置226)を備える受信機/デコーダハードウェア4061に結合される。
特に図2bに関して、多様なアプリケーション4057は、仮想機械4007に結合される。さらに一般的に使用されるアプリケーションのいくつかは、4057で示されるように、多かれ少なかれ恒久的にシステム内に常駐されてよいが、その他は、例えばMPEGデータストリームから、または必要に応じてその他のポートからシステムにダウンロードされるだろう。
仮想機械4007は、実行時エンジン4008に加えて、ツールボックス4058を含むいくつかの常駐ライブラリ関数4006を含む。ライブラリは、エンジン4008によって使用されるC言語でのその他の関数を含む。これらは、データ構造、線描画等の圧縮、拡大、または比較などのデータ操作を含む。ライブラリ4006は、ハードウェア及びソフトウェアバージョン番号及び使用可能なRAM空間などの受信機/デコーダ13内のファームウェア、及び新しいデバイス4062をダウンロードするときに使用される関数などについての情報も含む。関数は、ライブラリにダウンロードされ、FLASHメモリ又はRAMメモリに記憶される。
実行時エンジン4008は、その結果としてポートまたはインタフェースに結合されるデバイスドライバ4060に結合されるデバイス4062の集合に結合されるデバイスマネージャ4068に結合される。広義に、デバイスドライバは、論理インタフェースを定義するとして見なすことができ、その結果、2つの異なるデバイスドライバは1つの共通した物理ポートに結合されてよい。デバイスは、通常、複数のデバイスドライバに結合されるだろう。デバイスが単一のデバイスドライバに結合される場合、デバイスは、通常、通信に必要とされる完全な機能性を組み込むように設計され、その結果、別個のデバイスドライバに対するニーズが回避される。一定のデバイスは、それら自体の間で通信してよい。
受信機/デコーダ13の各機能は、受信機/デバイス13のソフトウェアアーキテクチャ内のデバイス4062として表される。デバイスは、ローカルまたはリモートのどちらかとなる。ローカルデバイス4064はスマートカード、SCARTコネクタ信号、モデム、直列インタフェースと並列インタフェース、MPEGビデオ及び音声プレーヤ、及びMPEGセクションとテーブル抽出器を含む。リモートロケーションで実行されるリモートデバイス4066は、ポート及び手順が、受信機/デコーダ製造メーカによって提供、製造されるデバイス及びデバイスドライバによってよりむしろ、システム権威または設計者によって定義されなければならないという点でローカルデバイスと異なる。
実行時エンジン4008は、マイクロプロセッサ及び1つの共通したアプリケーションプログラミングインタフェース(API)の制御下で実行する。それらは、すべての受信機/デコーダ13がアプリケーションの観点から同一であるように、あらゆる受信機/デコーダ13にインストールされる。
エンジン4008は、受信機/デコーダ13上でアプリケーション4056を実行する。それは対話型アプリケーション4056を実行し、受信機/デコーダ13の外部からイベントを受信し、グラフィック及びテキストを表示し、デバイスにサービスを要求し、特定の計算のためにエンジン4008に接続されるライブラリ4006の関数を使用する。
実行時エンジン4008は、各受信機/デコーダ13内にインストールされる実行可能なコードであり、アプリケーションを解釈し、実行するためのインタプリタを含む。エンジン4008は、(MS−DOSなどの)単一タスクオペレーティングシステムを含む任意のオペレーティングシステムに適応可能である。エンジン4008は、(多様な処置を実行するために、キー押下などの多様なイベントを取る)プロセスシーケンサ装置に基づき、様々なハードウェアインタフェースからのイベント待ち行列を管理するための専用のスケジューラを含む。それは、グラフィック及びテキストのディスプレイも処理する。プロセスシーケンサ装置は、処置グループの集合を備える。それぞれのイベントが、イベントの文字に依存してプロセスシーケンサ装置をその現在の処置グループから別の処置グループに移動させ、新しい処置グループの処置を実行させる。
エンジン4008は、アプリケーション4056を受信機/デコーダメモリの中にロード及びダウンロードするためにコードローダを備える。必要なコードだけが、最適な使用を保証するために、RAMまたはFLASHメモリの中にロードされる。ダウンロードされたデータは、アプリケーション4056の修正、または許可されていないアプリケーションの実行を妨げるために認証機構によって検証される。エンジン4008は、さらに、復元器を備える.アプリケーションコード(中間コードの形式)は、空間節約、及びMPEGストリームからあるいは内蔵受信機/デコーダモードを介する高速ダウンロードのために圧縮されるので、コードは、RAMの中にそれをロードする前に復元されなければならない。エンジン4008は、エラーチェッカなどの、アプリケーションコードを解釈し、多様な変数値を更新し、ステータス変更を決定するためのインタプリタも備える。
受信機/デコーダのアーキテクチャ
受信機/デコーダは、ソフトウェアが、任意の受信機/デコーダ内で、オペレーティングシステムとともに実現できるように、5つのソフトウェア層を含む。図2cを参照すると、多様なソフトウェア層は、アプリケーション層250、アプリケーションプログラミングインタフェース(API)層252、仮想機械254、デバイス層256及びシステムソフトウェア/ハードウェア層258である。
アプリケーション層250は、受信機/デコーダの中に受注するか、あるいはダウンロードされるかのどちらかであるアプリケーションを包含する。それらはカスタマによって使用され、例えばJava、HTML、MHEG−5またはその他の言語で作成されてよいか、あるいはそれらはこのようなアプリケーションを実行するために受信機/デコーダによって使用されるアプリケーションであってよい。この層は、仮想機械層によって提供される開放アプリケーションプログラミングインタフェース(API)の集合に基づいている。このシステムが、アプリケーションを実行中またはオンデマンドで受信機/デコーダ内のフラッシュまたはRAMメモリにダウンロードできるようにする。アプリケーションコードは、データ記憶媒体コマンド及び制御(DSMCC)、ネットワークファイルサーバ(NFS)などのプロトコル、またはその他のプロトコルを使用して圧縮フォーマットまたは圧縮されていないフォーマットで伝送できる。
対話型アプリケーションとは、ユーザが、例えば、電子番組表、テレバンキングアプリケーション及びゲームなどの製品及びサービスを得るために対話するアプリケーションである。
以下のように、これらのダウンロードされるアプリケーション及びデータのために多様な機密保護特徴が提供される。
・最初に、意図されたネットワークについて認証されない限り、受信機/デコーダに何もダウンロードすることはできず、これが未登録ソフトウェアが受信機/デコーダで実行されるのを防ぐ。つまり、受信機/デコーダ内で実行中の任意のソフトウェアは認識され、完全に試験されている。
・機密保護マネージャは、多様なメモリゾーンに対するアプリケーションのアクセスを制限し、このようにしてデータ完全性を保証する。
・システムは、安全なプロセッサ(例えば、受信機/デコーダに挿入されるスマートカード)を利用する任意の条件付きアクセスシステムと接続できる。
以下の常駐するアプリケーションは、対話型アプリケーションを管理するために使用される。
・ブート。ブートアプリケーション260は、受信機/デコーダが電源投入時に起動される最初のアプリケーションである。ブートアプリケーションは、仮想機械の中で様々な「マネージャ」を起動し、最初はアプリケーションマネージャ262である。
・アプリケーションマネージャ。アプリケーションマネージャ262は、受信機/デコーダで実行される対話型アプリケーションを管理する。すなわち、それは、イベントを起動、停止、中断、再開、処理し、アプリケーション間の通信に対処する。それは、複数のアプリケーションが一度に実行できるようにし、このようにしてそれらの間でのリソースの割り当てに関与する。このアプリケーションはユーザにとって完全にトランスペアレントである。
・セットアップ。セットアップアプリケーション264の目的とは、おもに初めてそれが使用されるときに、受信機/デコーダを構成することである。それは、テレビ番組の走査、日付と時刻の設定、ユーザ優先順位の確立等の処置を実行する。ただし、セットアップアプリケーションは、受信機/デコーダの構成を変更するために、ユーザによって任意の時点で使用できる。
・ザッピング。ザッピングアプリケーション268は、番組上、番組下、及び数値キーを使用してチャネルを変更するために使用される。例えばバナー(パイロット)アプリケーションを通してなど、ザッピングの別の形式が使用されると、ザッピングアプリケーションは停止される。
・呼び戻し。呼び戻しアプリケーションは、受信機/デコーダメモリに記憶される多様なパラメータの値を抽出し、モデムバックチャネル17を介して、または他の手段によってこれらの値をコマーシャル事業者に戻すために使用される。
API層252は、対話型アプリケーション展開に高水準ユーティリティを提供する。それは、この高水準APIを構成する複数のパッケージを含む。パッケージは、対話型アプリケーションを実行するために必要なすべての機能性を提供する。パッケージは、アプリケーションによってアクセス可能である。
好ましい実施形態では、APIは、Javaプログラミング言語で作成されるアプリケーションを実行するように適応される。さらに、それはHTML及びMHEG−5などのその他のフォーマットを解釈できる。これらのインタプリタに加えて、それは、要件に命令されるように、切り離し可能であり、拡張可能である他のパッケージ及びサービスモジュールも含む。
仮想機械層254は、言語インタプリタ及び多様なモジュールとシステムから構成される。それは、以下を含む、受信機/デコーダ内で対話型アプリケーションを受信、実行するために必要なすべてから成り立っている。
・言語インタプリタ。様々なインタプリタは、読み取られるアプリケーションの種類に準拠するためにインストールすることができる。これらは、Java、HTML、MHEG−5及びその他を含む。
・サービス情報(SI)エンジン。SIエンジンは、共通のデジタルビデオ一斉送信(DVB)またはプログラムシステム情報プロトコル(PSIP)テーブルをロードし、モニタし、それらをキャッシュの中に入れる。それは、それらの中に含まれるデータを必要とするアプリケーションによってこれらのテーブルへのアクセスを可能にする。
・スケジューラ。このモジュールは、各スレッドが独自のイベント待ち行列を有する、横取りマルチスレッド化スケジューリングを可能にする。
・メモリマネージャ。このモジュールはメモリへのアクセスを管理する。また、それは、必要時にメモリ内のデータを自アクティブに圧縮し、自動不要部分整理を行う。
・イベントマネージャ。このモジュールは、優先順位に従ってイベントをトリガできるようにする。それは、タイマ及びイベントグラブを管理し、アプリケーションが互いにイベントを送信できるようにする。
・動的リンカ。このモジュールは、ネイティブJava関数から生じるアドレスの分解(resolution)を可能にし、RAMにダウンロードされるJavaクラスからネイティブメソッドをロードし、ダウンロードされたネイティブコードからROMに向かう呼び出しを分解する(resolves)。
・ダウンローダ。このモジュールは、リモートDSMCC回転ラックから、またはNFSプロトコルを通る自動データロードを使用し、ダウンロードされたファイルは常駐ファイルと同様にアクセスされる。メモリの整頓、圧縮、及び認証も行われる。
・クラスマネージャ。このモジュールはクラスをロードし、問題を参照するクラスを解決する。
・ファイルシステム。このモジュールはコンパクトであり、複数のROM、フラッシュ、RAM及びDSMCCボリュームを含む階層ファイルシステムを管理するために最適化される。フラッシュ完全性は、あらゆる事件に対して保証される。
・機密保護マネージャ。このモジュールは、アプリケーションを認証し、セットトップボックスの敏感なメモリ及びその他のゾーンに対するアプリケーションのアクセスを制御する。
・グラフィックシステム。このシステムは、オブジェクト指向型であり、最適化されている。それは、複数言語サポートによるベクタフォントエンジンだけではなく、グラフィックウィンドウ及びオブジェクト管理も含む。
さらに、クライアントリソースが効率的に管理されるように、DAVICリソース通知モデルがサポートされる。
デバイスインタフェース層256は、デバイスマネージャ及びデバイスを含む。デバイスは、外部イベント及び物理インタフェースの管理に必要な論理リソースから成り立つソフトウェアモジュールである。デバイス層は、ドライバとアプリケーション間の通信チャネルを管理し、機能強化されたエラー例外チェックを提供する。管理されるデバイスのいくつかの例は以下のとおりである。つまり、カード読取装置、モデム、ネットワーク、PCMCIA(パーソナルコンピュータメモリカード国際協会)、LEDディスプレイ等である。API層が上からデバイスを制御するので、プログラマはこの層と直接対処する必要はない。
システムソフトウェア/ハードウェア層258は、受信機/デコーダの製造メーカによって提供される。システムのモジュラリティのため、及び(イベントスケジューリング及びメモリ管理などの)OSによって供給されるサービスが仮想機械の一部であるため、さらに高い層がある特定の実行時オペレーティングシステム(RTOS)に、またはある特定のプロセッサに結び付けられる。
ウィジェット集合
好ましい実施形態では、ウィジェット集合は、グラフィックユーザインタフェース(GUI)で実行するためのアプリケーションで使用するために提供される。このようなウィジェット集合の1つの特定のアプリケーションは、デジタルテレビ用の受信機/デコーダのGUIディスプレイでウィジェットを提供するためである。それぞれのウィジェットは、ウィジェットごとに対応するウィジェットクラスがあるように、オブジェクト指向型モジュールとして実現される。このようにして、任意のウィジェットは、他のウィジェットのクラスを継承するまたは集約することによってさらに簡略な構成要素ウィジェットから構築されてよい。
図3は、ウィジェット集合内のウィジェットの階層の簡略化された図である。この実施対応では、ウィジェット集合は、とりわけ、末尾孤立行、ダイアログボックスフレーム、スライダ制御機構、プッシュボタン、チェックボックス、テキストフィールド、及びテキスト編集ボックスを含む原始ウィジェットクラス410の集合を含む。次のレベルの複雑さでは、複数の原始ウィジェットクラスを結合する、あるいは1つの原始ウィジェットの動作を修正するクラス420がある。例えば、リストボックスなどのウィジェットは、テキスト編集ボックスクラスから編集可能なリストアイテムを作成してよく、ユーザがスライド制御装置クラスから派生したスクロールバーを使用してリストをスクロールできるようにする。さらに高いレベルの複雑さでは、ウィジェット集合は、そのすべてがウィジェット集合のその他のクラスで定義される、プッシュボタン、スクロール可能リスト、テキストフィールド及びテキスト編集ボックスなどのファイル選択ダイアログボックスなどの集約ウィジェット430を含む。
ウィジェットクラスの各々は、ウィジェットの動作を制御するために、メソッド及びイベントハンドラを実現する。ウィジェットクラスは、ウィジェットのいくつかの部分を描画するためのメソッドも含んでよい。しかしながら、ウィジェットに、ある特定の外見つまり「外観」を与えるために、ウィジェットクラスは、ウィジェットクラスが関連付けられる外観オブジェクトクラスの描画メソッドを呼び出す。これを、以下の追加詳細で説明する。
外観クラスパブリックメソッド及びAPI
外観オブジェクトクラスとウィジェットクラスが対話できるためには、外観オブジェクトクラスが、ウィジェットクラスによる使用のために入手できることが保証されるパブリックメソッドの一貫した集合を有することが必要である。特に、外観オブジェクトクラスは、ウィジェットクラスがGUIディスプレイでそれ自体を描画するために呼び出すことができるメソッドを含む標準APIを提供しなければならない。
ウィジェットによって使用されるAPIは、すべての外観が派生するベースクラスで定義される。APIは以下の要素を備える。
1.一般ディスプレイメソッド
2.特定ディスプレイメソッド
3.インスタンスの作成及び破壊の制御
4.境界線の制御
5.修正の制御
一般ディスプレイメソッドとはすべてのウィジェットが使用できるメソッドであるが、特定ディスプレイメソッドとはある種のウィジェットに特定的である。
外観は、階層アーキテクチャを使用して構築される。新しい外観クラスは、それが派生するクラスの属性、メソッド及びデフォルト値を継承してから、新しい属性、メソッド及びデフォルト値を追加するか、あるいは継承されたそれらのもののいくつかまたはすべてを無効にすることによって作成される。
外観クラスは、パブリックメソッドに対するポインタを含むテーブルとして編成される。したがって、別の外観クラスから派生する外観クラスは、それが別のメソッドを指すように、関連ポインタを変更することによってメソッドを再定義してよい。典型的には、外観クラスは、使用可能なパブリックメソッドのいくつかを実現するにすぎない。
あるインプリメンテーションでは、呼び出しを戻す以外何も行わないダミーメソッドとして知られるパブリックメソッドが提供される。外観クラスによって実現されないメソッドがウィジェットによって呼び出される場合、ダミーメソッドが呼び出される。これは、メソッドが事実上実現されないときにも、メソッド呼び出しがエラーなく機能することを保証するために実行される。ダミーメソッドを呼び出すことの不利な点とは、何もしないメソッドを呼び出す上で時間が浪費されることがあるという点である。
別のインプリメンテーションでは、外観クラスにはバリデーションマスクが与えられる。バリデーションマスクは、外観クラスによってどのメソッドが呼び出すことができるのかを定義し、その結果、実現されないメソッドは呼び出されない。ウィジェットは、ウィジェットの描画を最適化するために、外観クラスのバリデーションマスクにアクセスすることができる。この場合、ウィジェットは、実現されないメソッドを認識するため、ウィジェットはこのようなメソッドに対する呼び出しを生成するのを回避するだろう。このようにして、ダミーメソッドを呼び出す際に時間が無駄にされるのを妨げることが可能である。
外観クラスは、2つ以上のそれ以外のクラスから派生してよい(マルチ継承)。これは、2つ以上のその他の外観の共用体である外観クラスを作成できるようにする。前述されたように、外観クラスが作成されると、それは、それが派生する外観クラスの属性、メソッド及びデフォルト値を採用する。マルチ継承を実現するために、外観は、それが属性、メソッド及びデフォルト値を引き出す追加クラスに対する1つまたは複数のポインタも含む。それから、外観は、それらをそれ自体でコピーまたは作成する必要なく、それらの属性、メソッド及びデフォルト値にアクセスできる。
別の実施形態では、外観クラスが作成されるときに、それは、それが派生される外観クラスのすべての属性、メソッド及びデフォルト値を採用する。
マルチ継承の原則は、標準外ウィジェットが設計される状況でも有効であり、それは外観が標準外メソッドを実現することを必要とする可能性がある。外観内のポインタは、ウィジェットを表示するために必要とされる標準外メソッドを含む第2外観クラスを指すこともできる。
外観が派生する多様な外観クラスは互いに矛盾しないことを保証することが重要である。これは、追加外観クラスが、外観が派生する主要な外観クラス内にないメソッドを含むだけであることを保証することによって、あるいは多様なクラスに優先順位を指定することによって達成できる。
外観オブジェクトクラスのパブリックメソッドの例を、以下に説明する。
Figure 0005713459
Figure 0005713459
Figure 0005713459
Figure 0005713459
ウィジェットの作成及び表示
アプリケーションがGUIのディスプレイにウィジェットを表示させる必要があるとき、それが実行しなければならない最初のタスクは、ウィジェットクラスのインスタンスを構築することである。ウィジェットインスタンスの作成中、外観クラスインスタンスが、ウィジェットクラスインスタンスと関連付けられるようになる。特定の外観は、以下のように選ばれる。
1.外観クラスインスタンスがアプリケーションによって構成子に渡される場合には、それを使用する。
2.それ以外の場合、1つ存在する場合には、作成されているウィジェットのクラスに指定されるデフォルトの外観を使用する。
3.それ以外の場合、1つ存在する場合には、ウィジェットコンテキストに指定されるデフォルトの外観を使用する。
4.それ以外の場合、ウィジェット集合のデフォルトの外観を使用する。
いったんウィジェットクラスが具体化されると、アプリケーションは、それを表示するために、そのパブリックメソッドの適切なものを呼び出すことができる。
ウィジェットクラスは、好ましくは、外観クラスインスタンスへのポインタで呼び出すことができるパブリックメソッドも提供し、その外観クラスインスタンスはウィジェットクラスインスタンスと関連付けられるようになる。これにより、ウィジェットの外観は新規に関連付けられる外観クラスインスタナスに従って変化する。「関連」とは、実際には、ウィジェットクラスインスタンス内のフィールドの値の設定以上の何者ではないことが理解されるべきである。ウィジェットを別の外観クラスに関連付けることは、実施形態の最も簡略なものにおいて、フィールドに割り当てを行うことだけによって実行できる(ただし、メモリ管理及びメソッドMhwWgtXxxSetLookに関する下記のコメントを参照すること)。さらに、多くのウィジェットクラスインスタンスは、1つの外観クラスインスタンスと関連付けられてよい。これは、図5に図式で示される。
ウィジェットクラスメソッドがGUIディスプレイでウィジェットを描画するために呼び出されるとき、それは以下の順序でウィジェットの画像を構築する。
1.ウィジェットの背景(例えば、背景色または画像)
2.背景オーバレイ(例えば、ロゴ)
3.ウィジェットの前景
4.前景オーバレイ(例えば、ロゴ)
5.ウィジェット境界線
6.強調表示
7.入力フォーカス
指定ウィジェットについて、ある部分が不在であってよい。ウィジェットの一部の存在または不在は、以下の基準に依存する。
1.ハード符号化。部分のいくつかはあるクラスのウィジェットについて定義されない。
2.オプションの部分。例えば、フォーカス、レリーフ、及び強調表示が、ウィジェットのパブリック属性によって随意に抑制されてよい。
3.外観の画定。外観は部分の1つまたは複数を省略できる。
典型的な例では、以下のステップが実行される。
第1に、ウィジェットの背景は、例えば、背景色、背景パターンまたは画像を塗ることによって、ウィジェットクラスメソッド自体によって描画される。それから、背景オーバレイは、ディスプレイ上のウィジェットの高さ、幅、及び位置の適切な引数を指定する、関連付けられる外観インスタンスMhwWgtLookDrawBackgroundのパブリックメソッドを呼び出すことによって描画される。背景の外観は、このようにして、例えばロゴをオーバレイすることによって外観により修正される。
それから、ウィジェットクラスメソッドは、ウィジェットの前景を確立しなければならない。すなわち、それは、ウィジェットが使用されるときに、実際にユーザまたは表示情報によって操作される視覚オブジェクトを作成する。例えば、ウィジェットはチェックボックスを実現する可能性があり、その場合それは外観クラスメソッドMhwWgtLookDrawCheckSymbolを呼び出す。それから、外観は、例えばロゴをオーバレイすることによって前景を修正してよい。
ウィジェットの境界領域は、後述されるように描画される。
ウィジェットクラスが、ウィジェットの中のオブジェクトの1つが入力フォーカスを有すると判断すると、それはこれを表示されたウィジェットの中に示すために外観クラスメソッドMhwWgtLookDrawFocusを呼び出す。同様に、ウィジェットの部分が強調表示されなければならない場合、ウィジェットクラスは外観クラスメソッドMhwWgtLookDrawHighlightを呼び出す。
ウィジェット境界管理
外観がGUIディスプレイ上でウィジェットの外見を制御する方法の1つの特定的な例は、境界の管理にある。GUIディスプレイ上でその最も一般的な形式の境界のあるウィジェットの外見は、図4に示される。ウィジェット500は、GUIのディスプレイ内の矩形領域を占有する。ウィジェットによって占められる領域は、2つの領域を含む。つまり、境界領域によって囲まれている内側作動領域510である。
境界領域は、典型的には(それがウィジェットを移動する及び/またはサイズ変更するためにユーザによって使用されてよい場合もあるが)ウィジェットの関数に寄与しない。従って、ユーザの希望に従って境界領域の外見の変動についてかなりの適用範囲がある。例えば、色、幅、背景パターンはすべてユーザに訴えるために、または一貫した外見を提供するために選択することができる。したがって、境界線を描画する責任は外観クラスに与えられる。
外観は、境界線の幅を指定するために4つの寸法を維持する。これらは、作動領域510の左、右、上及び下からウィジェットの端縁までの距離を指定する。これらの寸法は、図4のそれぞれL、R、T及びBに示されている。これらの寸法の値は、デフォルト外観に指定される。アプリケーションは、値が、標準外幅の境界線を持つウィジェットを作成する外観を作成するために無効にされるデフォルト外観クラスから派生するクラスを定義してよい。アプリケーション(例えば、外観マネージャ)は、外観メソッドMhwWgtLookAttsSetBorderwidthBottom、MhwWgtLookAttsSetBorderWidthLeft、MhwWgtLookAttsSetBorderwidthRightまたはMhwWgtLookAttaSeteBorderWidthTopを呼び出すことによって実行時に値を変更することもできる。
外観クラスの中では、ウィジェットクラスによって外観クラスに渡される値に従って、境界線の詳細なレイアウトを制御するコードがある。
ウィジェット色管理
外観は色の定義も含み、その結果、ある特定の外観インスタンスに関連付けられる任意のウィジェットインスタンスが、その外観インスタンスに定義される色を使用する。ある実施形態では、外観は、以下の色を定義する。
・黒色
・濃い灰色
・中間の灰色
・明るい灰色
・非常に明るい灰色
・白色
・透明
・強調表示色
外観の中での色の定義は、ウィジェットを描画するときに使用される。例えば、ウィジェットを表示するときに、黒い線が描画されなければならない場合、「黒」と定義される色が使用されるだろう。例えば、外観が赤の色相を有さなければならない場合には、「黒色」が濃い赤に定義されてよく、「白色」が明るい桃色に定義されてよく、赤の多様な陰影が間に定められる。この例では、通常黒い線を描画するだろう描画動作は、代わりに濃い赤の線等を描画するだろう。
さらに、外観は、GUIのディスプレイ上で任意の特定の色を表示するときに使用されなければならない実際の色の値を設定する色マップを定義する。
修正済みのウィジェットの作成
デフォルト外観メソッドMhwgtLookDrawCheckSymbolが、空であるか、あるいはその状態に応じて小さな照合の印を含むかのどちらかである矩形ボックスを描画し、これがGUI内の通常のチェックボックスの外観を定義すると仮定する。ここで、照合の印または×印のどちらかが表示される別のウィジェットが必要とされると仮定する。外見は、外観クラスによって完全に制御されるため、外観クラスだけが改変される必要がある。さらに、この動作を実現するための新しい外観クラスが、既存の外観クラスから派生し、ベース外観クラス内の同じ名前のメソッドを無効にするために、唯一のメソッドMhwWgtLookDrawCheckSymbolを提供することがある。さらに、メソッドMhwWgtLookDrawCheckSymbolが、引数aStateが真に設定された状態で呼び出されると、ベースクラスのメソッドMhwWgtLookDrawCheckSymbolが照合の印を描画するために呼び出すことができる。新しいコードは、×印が描画されなければならないケースを取り扱うためだけに作成される必要がある。このようにして、新しいウィジェットは、最小のプログラミング努力で作成できる。
この手順は、元のチェックボックスウィジェットの外見を改変しないことが理解されるべきである。このウィジェットは、改正されたことのないベース外観クラスを使用する。アプリケーション内の元のチェックボックスウィジェットの外見に対する変更を実施するために、ベース外観クラス内のメソッドMhwWgtLookDrawCheckSymbolが改正されなければならない。それから、そのクラスから派生するすべてのチェックボックスウィジェットが、外観クラスがアプリケーションと連結される(ケースに応じて、コンパイル時、または実行時)次の機会に続いてその外観を変更するだろう。
ウィジェットクラスは、原則的には、外観クラスとして、パブリックメソッド及びプロパティの適切な集合を有する任意のクラスでウィジェットを作成するために協力するだろう。しかしながら、すべての外観クラスを、可能な限り小さな数の共通したベースクラス、理想的には単に1つのベースクラスから引き出す際に優位点がある。オブジェクト指向型プログラミングに精通した人は、これがメモリ及びその他のリソースの外観クラスによる使用を最小限に抑えることを理解するだろう。派生したクラスは、それが、メモリ内のこのようなコードまたはデータの重複なしに、ベースクラスのメソッドコード及びベースクラスの静的データにアクセスすることができるように、そのベースクラスに対するポインタを有する。
バージョン制御
いくつかのウィジェットインスタンスが非常に長い耐用期間を有することがある。例えば、ウィンドウマネージャのルートウィンドウ、ワークステーションディスプレイのタスクバーウィジェット等である。このようなケースでは、外観クラスが、ウィジェットの耐用期間中に更新される可能性があるという強い可能性がある。ウィジェットクラスは、これが起こるときに、それ自体を再描画するために引き起こされなければならない。
これを達成するための1つの方法とは、それぞれの外観クラスに、パブリックプロパティとしてエクスポートされるか、パブリックメソッドを通してアクセス可能である更新カウンタを与えることである。ウィジェットクラスが具体化すると、ウィジェットクラスインスタンスは、関連付けられる外観の更新カウンタを照会し、ウィジェットクラスインスタンスにローカルなメモリに更新カウンタの値を記憶する。外観クラスのインスタンスがそれ以降更新される場合、ウィジェットクラスインスタンスは、そのローカルメモリに記憶される値を外観クラスインスタンス内の更新カウンタの値と比較することによってこの変化を検出することができる。外観クラスインスタンスが更新されると、ウィジェットは、外観クラスのメソッドを使用してそれ自体を再描画することができる。
外観クラスインスタンスの構築及び破壊
一般的には、各ウィジェットクラスのインスタンスより少ない各外観クラスのインスタンスがある。いくつかのケースでは、アプリケーション内のすべてのウィジェットクラスインスタンスによって参照される外観ベースクラスのただ1つのインスタンスがあってよい。また、アプリケーションのウィジェットクラスインスタンスのいくつかによって参照される派生した外観クラスのインスタンスもあってよい。ただし、ウィジェットクラスは、ウィジェットクラスが具体化されている時点で、つねに存在する外観クラスインスタンスがあるだろうと仮定することはできない。ウィジェットインスタンスは、ある特定の外観クラスとの関連付けを必要とする最初のものである可能性がある。
したがって、各ウィジェットクラスの具体化の間に、ウィジェットクラス構築子が、関連付けられる外観クラス構成子MhwWgtLookNewを呼び出すことが提案される。外観クラスのインスタンスが存在しない場合には、新しいインスタンスが作成される。それから、1という値が外観クラスインスタンスのローカルメモリに保持される基準カウンタ内に記憶される。外観クラスのインスタンスがすでに存在する場合には、外観クラス構築子がそれに対するポインタを戻し、基準カウンタを増分する。
各ウィジェットクラスインスタンスの破壊の間、ウィジェットクラスの消去子が、関連付けられる外観クラスインスタンスの消去子MhwWgtLookDeleteを呼び出す。消去子MhwWgtLookDeleteは基準カウンタを減分する。カウンタがゼロより大きなままとなる場合、消去子は単に戻るだけである。ただし、消去子がゼロに達する場合には、(1つの経験する破壊以外の)ウィジェットクラスインスタンスが外観クラスインスタンスと関連付けられ、そのケースでは、外観クラス消去子は、メモリから外観クラスインスタンスを削除するために先に進む。
ウィジェットクラスメソッドMhwWgXxxSetLookは、ある特定のウィジェットクラスインスタンスが関連付けられる外観を変更するために呼び出すことができる。このメソッドの中では、発信外観クラスインスタンスの消去子に対して最初に呼び出しが行われてから、クラスインスタンスに対するポインタを入手するために新しい外観クラスの基準関数に対して呼び出しがなされる。これが、外観クラスの基準カウンタが適切に更新されることを保証する。
また、インスタンスがすでに存在する場合にも、作成される外観クラスの新規インスタンスに対する規定がなければならない。これにより、アプリケーションは、任意の指定される外観クラスの複数のインスタンスを有し、様々なインスタンスの中で異なる属性を設定することができるようにする。例えば、一方がそのデフォルトに従って残っているすべての属性を有し、他方が、その属性(境界幅、色等)の1つまたは複数に割り当てられる様々な値を有する以外のすべての点で同一の同じ外観クラスの2つのインスタンスがあってよい。
外観マネージャ
理解されるように、外観クラス及びインスタンスのシステムは、アプリケーションの全体的な外観に対して非常に詳細な制御を可能にする。例えば、任意の外観クラスのただ1つの属性が、アプリケーションの外観にマイナーな変更を実施するために変更できる。その結果、ユーザがこれらの属性を必要に応じて改変できるようにするために、外観マネージャアプリケーションが提供されてよい。このようなアプリケーションは、典型的には、ユーザが、ウィジェットの外観に対する外観の属性の変更の影響を即座に確かめることができるために、発明を実現するウィジェットを含むGUIディスプレイを含む。
ウェブブラウザ
インターネットナビゲータインタフェースは、添付図面に関してここに説明する。
図6aは、インターネットブラウザのメイン画面ナビゲータディスプレイのスクリーンショットを示す。メイン画面は、連結リストとしての多様なボタンを含むメインメニューを含む垂直チェーン1100を示す。ボタンは、チェーンの連結要素によって連結される。図6aのチェーン1100に示されるボタンは、RELOAD/STOPボタン1110、PREVIOUSボタン1120、NEXTボタン1130、HISTORYボタン1140、BOOKMARKボタン1150、SETTINGSボタン1160及びQUITボタン1170を含む。
メインメニューチェーン1100は、画面1101上で表示されるハイパーテキストマーク付け言語(HTML)文書で重ね合わされるように配置される。図6aでは、HTML文書は表示されず、画面1101がメインメニューチェーン1100から離れて空白である。
ウェブブラウザは、ユーザによって設定できる複数の優先順位を含む。ブラウザは、複数のユーザプロファイルを設定するための機構を含む。
ユーザは、画面1101上のオブジェクトの間でナビゲートし、オブジェクトを強調表示し、オブジェクトを選択することができる制御装置を有する。この例では、使用される制御装置はテレビリモートコントローラ1180である。番号キー1181が、データを入力するために使用される。カーソルキーパッド1182は、画面の回りでナビゲートするために使用される。カーソルキーパッド1182は、UPキー1183、DOWNキー1184、LEFTキー1185及びRIGHTキー1187を含む。カーソルキーパッド1182は、画面上でオブジェクトを選択するために使用されるSELECTキー1186も含む。
UPキー1183及びDOWNキー1184は、フォーカスを移動するために、この例ではチェーン1100を上下に強調表示し、ボタン1110、1120、1130、1140、1150、1160及び1170を選択的に強調表示するために使用される。ボタンが強調表示されると、それは選択キー1186を使用して選択できる。
HTMLページが表示されると、リモートコントローラの任意のボタンがチェーン1100(ツールバー)を呼び出す。チェーン1100は、ユーザによってオンとオフにすることができる。1つの設定値オプションでは、新規HTMLページが表示されるときに、チェーン1100が自アクティブに隠され、ユーザは、自分が別のHTMLページに移動することを希望するときにチェーン1100を呼び出す。
図7は、HTML文書を開放している図6aの画面を示す。開放文書についての情報は、RELOAD/STOPボタン1110に対するチェーンで連結されるテキストボックス1112に指定される。ボタンの間のチェーン連結1114は、視覚的にユーザに、ユーザが連結の方向でボタンの間の移動できることを示すことが分かるだろう。
図6aは、強調表示されたRELOAD/STOPボタンを示す(強調表示されるRELOAD/STOPアイコンは、それが強調表示されていない図7でのように白い背景で暗いよりむしろ、暗い背景で白色である)。HTML文書は、RELOAD/STOPボタンが強調表示されているときに、選択キー1186を押すことによって再ロードできる。
ユーザは、DOWNキー1184を使用してチェーン1100を下方へ強調表示を移動する。図7では、PREVIOUSボタン1120がいま強調表示されている。図8は、どのようにして、強調表示がPREVIOUSボタン1120上にあるときに、テキストボックス1122を備える「ツールチップ」が画面に表示されるのかを示す。この例では、ツールチップは、関連するアイコンが強調表示されるとすぐに、ツールチップが表示される。優先順位は、ボタンが強調表示されるときに遅延後にツールチップが表示されるように設定できるだろう。テキストボックス1122は、PREVIOUSボタン1120の機能を示すためにワード「前」を含む。PREVIOUSボタンを起動することによって、SELECTキー1186を押すことによって、ブラウザは表示された前のページに移動する。
図9では、強調表示はNEXTボタン1130へ下げられ、短時間の後に、ワード「次」を含むテキストボックス1132を備えるツールチップが、ユーザを補助するために表示される。
図10では、HISTORYボタン1140が強調表示され、その関連付けられるツールチップ1142がワード「履歴」とともに表示される。HISTORYボタン1140は、複数の機能を有するため、制御キーパッドでSELECTキー1186を押すことによってボタンを起動すると、サブチェーン1144が表示され、履歴機能に関する追加のオプションを示す。サブチェーン1144は、図11に示される。サブチェーン1144は、VIEWボタン1146及びADDボタン1148を含む追加ボタンを含む。ユーザは、RIGHTキーとLEFTキー1187、1185を使用して、サブチェーン1144に沿って移動する。図11の画面表示では、VIEWボタンが強調表示され、ツールチップ1147が表示され、ユーザに、強調表示されているボタンがVIEWであることを告げる。メインチェーン1100に取り付けられあるツールチップが、チェーン1100の右側に表示されたことが注記されるだろう。サブチェーンのツールチップは、サブチェーンの上に表示される。
ツールチップ用のボックスのサイズは、表示される1つまたは複数のワードの長さに適合される。様々な言語優先順位が設定できる場合、ツールチップのボックスのサイズは、好ましくは、選択された言語のワードの長さに適合される。
図12は、VIEWボタンが選択されるときに得られるディスプレイを示す。VIEWHISTORYウィンドウ1141が、見出し1143(ここでは、見出しに仏語オプションが選択されている)を有し、ユーザによって見られた前のページの詳細1145を示す画面上に表示される。ユーザはテキストをスクロールアップ及びダウンし、SELECTキー1186を使用して詳細1145の1つを強調表示してよい。LEFTキー及びRIGHTキーは、OKキーまたはCANCELキー1149、1149’を強行表示するために使用される。
図13は、強調表示されているADDボタン1148及びその関連付けられるツールチップを示す。ADDボタン1148は、現在表示されているページを履歴リスト1145に追加するために使用される。
図14は、強調表示されているBOOKMARKボタン1150及びその関連付けられるツールチップ1151を示す。図15では、BOOKMARKボタン1150が選択され、ツールチップ1151、VIEWボタン、ADDボタン、DELETEボタン及びEDITボタン、1153、1154、1155、1156を含む、ブックマークサブチェーン1152が示される。図15では、VIEWボタン1153が強調表示され、そのツールチップが示される。VIEWボタン1153が選択され、VIEWウィンドウ1157が図示される(図16を参照すること)。(明快さのために、ビューウィンドウ1157が画面上にあるときに、ブックマークサブチェーン1152が示されないことが分かるだろう)。VIEWウィンドウ1157は、見出し及びブックマークを一覧表示するスクロール可能テキストボックスを含む。VIEW HISTORYウィンドウに関しては、ウィンドウは、OKキーとCANCELキーも含む。カーソルキーパッド1182は、所望される場合に、ウィンドウの回りでナビゲートするために、及びブックマークを選択するために使用される。
図17では、ADDボタン1154が強調表示され、そのツールチップが表示される。ADDボタンが選択されると、ADDウィンドウが表示される(図18を参照すること)。ADDウィンドウ1158は、ブックマークURL及びそのタイトルを入力するためにテキスト入力用の2つのボックスを含む。データは、番号キー1181を使用して(例えば、ここに説明される画面上のキーボードを使用して)ウィンドウに入力される。ウィンドウは、前述されたようにOKキーとCANCELキーも含む。ユーザは、カーソル1182を使用して、テキスト入力ボックスとOKキーとCANCELキーの間でナビゲートする。
図19は、強調表示されているDELETEボタン1155及びそのツールチップを示す。DELETEボタン1155を選択することによって、ブックマークが削除されてよい。
図20は、強調表示されているEDITボタン1156及びそのツールチップを示す。EDITボタン1156を選択することによって、ブックマークが編集されてよい。
図21は、ブックマークツールチップ1151が図示されないブックマークサブチェーン1152の代替形式を示す。これは、特にサブチェーンが長い場合に、画面上の空間を節約できる。ツールチップの外見は、ユーザによって選択できるオプションである。
図22は、強調表示されているSETTINGSボタン1160及びそのツールチップ1161を示す。SETTINGSが選択されると、認証ウィンドウ1165画表示され(図22を参照すること)、ユーザに自身を特定し、設定値を改変する前にユーザパスワードを示すようにプロンプトが出される。認証ウィンドウ1165は、番号キー1181及びOKボタンとCANCELボタンを使用するユーザ名及びパスワードの入力のための2つのテキスト入力ボックスを含む。いったん正しいユーザ名及びパスワードが認証ウィンドウ1165に入力され、OKボタンが選択されると、設定値サブチェーン1162が表示される。図24を参照すること。
設定値サブチェーン1162は、MODEMボタン1163及びBROWSERボタン1164を含む。図24は、強調表示されているMODEMボタン及びその関連付けられるツールチップを示す。MODEMボタン1163を選択することによって、モデムの設定値は変更されてよい。図25は、強調表示されているBROWSERボタン1164及びその関連付けられるツールチップを示す。BROWSERボタン1164が選択されると、ブラウザウィンドウ1166が表示される。図26を参照すること。再び、ユーザはカーソルキー1182を使用してウィンドウ内のオブジェクトの回りでナビゲートする。ブラウザウィンドウ内のオブジェクトは、COLOURドロップダウンリスト1167を含む。リストヘッドを強調表示し、カーソルキー1182を使用してそれを選択することによって、リストのアイテムが表示され、ユーザはリストを上下に移動し、カーソルを使用して新しいブラウザカラーを選択することができる。同様に、ブラウザのテキスト言語は、ドロップダウンリスト1168を使用して変更できる。ツールチップ選択1169に強調表示を移動し、選択ボタン1186を押すことによって、ツールチップはオンとオフにすることができる。ウィンドウは、前述されるように、OKボタンとCANCELボタンを含む。
図27は、強調表示されているQUITボタン1170及びその関連付けられるツールチップ1171を示す。QUITボタン1170が選択される場合、終了サブチェーン1172が表示される(図28)。図28では、CONFIRMボタン1173が強調表示され、そのツールチップが表示される。ユーザがウェブブラウザを終了することを希望する場合、ユーザはCONFIRMボタン1173を選択する。ユーザが終了選択を取り消すことを希望する場合は、ユーザは、そのツールチップとともに図29で強調表示されて図示されているCANCELボタン1174を選択する。
メインメニューチェーン1100の代替設計が使用され、それにより個々のボタンの形状及びテクスチャは、好ましくはチェーンの全体的な形状を変更しなくても変更することができる。色も変更されてよい。これらの変更は、設定値メニューのオプションとして使用することができ、チェーンの形状及びテクスチャはブラウザにコヒーレントな設計(外板(skin))を与えるために全体として変更される。
例えば、ボタンは、正方形、円形、菱形、またはその他の形状を有することがあり、テクスチャは、好ましくは、三次元の外見を示すように設計される。ボタン間の連結の外見は、ボタンの外見に一致する、あるいは代わりにそれを補完するように設計されてよい。連結の外観は、構造上の結束の外見を示すため、ボタンが有意義に連結されているというユーザの認知を高めるためにも選ばれてよい。
図6〜図30に図示されるチェーンの弧状の形状は、展開者によって選ばれ、好ましくはユーザによって改変可能ではない。まっすぐなチェーンまたは半円形のチェーンなどの、ボタンチェーン及びサブチェーンのそれ以外の構成が考えられる。その他の実施形態では、ボタンの順序及びボタンチェーン及びサブチェーンの構成は、ユーザによって修正されてよい。
受信機/デコーダは、インターネットナビゲーション機能及びe−メール読み取り機能を提供する。
次に、ナビゲータを模擬するためのグラフィックスタジオについて論じる。
ナビゲータを模擬するためのグラフィックスタジオは、初歩的なグラフィックオブジェクトのアンサンブルまたは集合体である。各グラフィックオブジェクトは、ナビゲータの関数の1つのテレビ画面の絵による表記である。ナビゲータの各関数はグラフィックオブジェクトによって、またはグラフィックオブジェクトの画像のシーケンス(動画)またはグラフィックオブジェクトの集合体(例えば、画面の背景での画像または他のグラフィックオブジェクトを取り付けることのできるダイアログボックスの背景の画像)によって表すことができる。画像には、MPEG2とPIXMAP−GRLという2つの内部フォーマットがある。
PNGフォーマットは、「ナビゲーションシステム」機能性、つまりロード、接続、前の文書、次の文書、終了等を表す初歩的なグラフィックオブジェクトのために使用される。
グラフィック平面で非矩形画像を記す(imprint)ためには、可視(重要な)ゾーンを画定するクリッピングマスクを使用することが必要である。このマスクは、ビットマップという形で設計者によって提供されなければならない。このマスクは、性能制約のためにプログラムによって計算されない。
クリッピングマスクを追加するための2つの段階が、最初に画像を表示すること、それからグラフィック平面では、クリッピングマスクを適用し、画像の有用な部分を可視にしながら、透明色で画像の同じ寸法及び位置の矩形を塗りつぶすことである。
ナビゲータリソースまたはユーザインタフェースを表すグラフィックオブジェクトには、PIXMAP−GRL画像フォーマットが使用される。つまり、垂直スクロールバー、テーブル、単一選択、複数選択等である。
PIXMAP型オブジェクトは、可変寸法であり(それぞれのグラフィックオブジェクトまたはモデルが簡略な初歩的なオブジェクトに分解される)、着色可能である(色を変更する)。
PIXMAP−GRL画像フォーマットは、周知の方法を使用して、(BMP、JPEG,GIF、PNG等の)その他のグラフィックフォーマットを変更することによって得られてよい。
グラフィックオブジェクトのグラフィック要素への分解は、表示されているオブジェクトの種別に依存する行列(例えば、3×3、4×4または1×4)に従って実施される。
パレットは256色を含む。このパレットは、種類PIXMAP及びPNGのグラフィックオブジェクトに適用される。パレットでは、2つの部分がある。第1部分は、表示及びアプリケーションの設計を容易にするために予約される26色から成る。第2部分は、アプリケーションが使用するために入手できる230色の非修正可能色から成る。
画面の最大サイズは幅720ピクセル×高さ576ピクセルである。あらゆるローエンドのテレビセットでの画面の可視性を保証するために、サイズを、幅592ピクセル×高さ480に制限することが必要である。ハイエンドテレビセットを利用するために、ユーザは、画面のサイズを調整するためのオプションを有するだろう。インターネットナビゲータについて、サイトは、通常、それらのページを幅600ピクセル及び高さ400と設計した。
グラフィックオブジェクトの総称属性を、ここに詳細に説明する。
(それが表す内容に従って)グラフィックオブジェクトは正確なサイズを有する。正確なサイズは、設計者によって定められ、ディスプレイのための指針として役立つ。
各グラフィックオブジェクトはサイズ変更可能である。グラフィックオブジェクトのタイプに従って、幅及び/または高さのサイズを変更することが可能である。PIXMAP−GRLグラフィックオブジェクトのサイズ変更の方法は、グラフィックオブジェクトの分解の推奨策に従う。可変サイズのグラフィックオブジェクトを描画する方法は、さらに後述される。
画面上のグラフィックオブジェクトの画像は、多色形状で表される。背景画像は、可能である場合色の範囲を有する必要がある(流体、模擬粘土の効果)。
グラフィックオブジェクトの画像は、その位置(座標)に従って、または画面上で続くまたは先行するオブジェクトの順序、つまり、オブジェクトの浮動位置という概念に従って描画される必要はない。それぞれのオブジェクトは、(背景画像を除き)定義によりそれ以外のオブジェクトから独立している。
テキストは、選ばれる言語に従ってプログラムにより印刷される。これは、画像がテキストを含むべきではないことを暗示する。オブジェクトの設計は、設計者の手に残される。一般的な外観は、ある特定のテーマ(例えば、スタートレック、007、シンプソンズ)に続くことができる。
フォーカスの態様は、複数の手段によって表すことができる。つまり、グラフィックオブジェクトに対する矩形フォーカス、グラフィックオブジェクトの背景を(別の色で)強調表示するフォーカス、またはグラフィックオブジェクトの形状で色がつくフォーカスである。
通常の状態(フォーカスのない、アクティブであるが押下されていない)が、グラフィックオブジェクトの基本的な状態である。
グラフィックオブジェクトの抑制された状態は、灰色の(または輪郭がぼかされている)オブジェクトの形状、問題のグラフィックオブジェクト上での特有の禁止コードのオーバレイ、オブジェクトの背景の白黒への設定、オブジェクト非可視にすることなどの複数の手段によって表すことができる。
グラフィックオブジェクトの押下された状態とは、その上でのクリックの後であるが、ボタンがリリースされる前のフォーカスを有するオブジェクトのグラフィック表現である。この表現は、オブジェクトの反転表示であるか、あるいはそれはフォーカスがあてられた状態と同じである場合がある。
フリップフロップ(一列に並んだ)ディスプレイ効果に関しては、画像またはアイコンは2つの視覚態様を備える。一方はテキスト(例えば、逆、またはユーロ硬貨の「裏面」側)を表し、他方は記号(面、つまり「表面」側)を表す。この視覚的な効果は、タイマ上で実行中のプログラムで動画化され、タイマは第1アイコンのディスプレイで開始され、タイマが所定値に達するとすぐに、アイコンの変化が起こる。第2アイコンが表示されるか、あるいは漸次的な変化を示すアイコンのシーケンスが表示されるかのどちらかである。
PIXMAP−GRL型のグラフィックオブジェクトの分解を、図31〜図38を参照してここで説明する。これらの図は、行列分解メソッド(1201から1209、1211〜1219等)で使用される初歩的なグラフィックオブジェクト、及び初歩的なオブジェクトが適切な様式(1210、1220等)で結合されるときに形成される対応するグラフィックオブジェクトの例を示す。図は、約4という係数で拡大されている。
グラフィックオブジェクトをサイズ変更(増加または減少)できるためには、各グラフィックオブジェクト(グラフィックアーチストによって作成される設計)が、パズルの部品のようなグラフィック要素の行列の形式に分割される。各要素は、4つの主要な角と中心(北、南、東、西、中心、北東、北西、南東、南西、中心の中心)に従って参照される。行列の幅及び高さは、オブジェクトの種類に依存する。
あるグラフィック要素(パズルの部品)は一度だけ印刷される(角)。オブジェクトをさらに幅広く、またはさらに高くするためには、一定の要素が繰り返して(それぞれn×要素の幅または高さ)印刷される。
行列分解(または並列表示)メソッドによって形成されるまたはその一部を形成するグラフィックオブジェクトがここで一覧表示される。これらのグラフィックオブジェクトは、HTML文書領域に描画される。
・アクティブ状態(1210)にあるテキスト付き/なしのボタン。3×3行列(1201〜1209)、要素のサイズ:幅及び高さ4ピクセル、幅のサイズ変更するための要素:北−中心(1202)、中心(1205)、南−中心(1208)、高さをサイズ変更するための要素:西−中心(1204)、中心(1205)、東−中心(1206)。
・アクティブな押下状態(1220)にあるテキスト付き/なしのボタン。3×3行列(1211〜1219)、要素のサイズ:幅及び高さ4ピクセル、幅をサイズ変更するための要素:北−中心(1212)、中心(1215)、南−中心(1218)、高さをサイズ変更するための要素:西−中心(1214)、中心(1215)、東−中心(1216)。
・イナクティブで淡色表示状態(1230)のテキスト付き/なしのボタン:3×3行列(1221〜1229)、要素のサイズ:幅及び高さ4ピクセル、幅のサイズ変更をするための要素:北−中心(1222)、中心(1225)、南−中心(1228)、高さをサイズ変更するための要素:西−中心(1224)、中心(1225)、東中心(1226)。
・フォーカス付き/なし、及び横線を引いた/横線を引いていない状態(図34)で表示される「チェックボックス」。1×1行列、要素のサイズ:幅及び高さ16ピクセル、幅をサイズ変更するための要素:なし、高さをサイズ変更するための要素:なし。
・単一選択または複数選択(1252、1253、1254)のためのオプションのリスト:3×3行列(1241〜1249)、要素のサイズ:幅及び高さ4ピクセル、幅をサイズ変更するための要素:北−西(1242)、中心(1245)、南−中心(1248)、高さをサイズ変更するための要素:西−中心(1244)、中心(1245)、東−中心(1246)。アップインジケータ(1250)及び/またはダウンインジケータ(1251)を備えることがある。位置:x,y起点+アップインジケータの幅及び高さ。
・アップインジケータ(1250):1×1行列、要素のサイズ:幅16ピクセル及び高さ8ピクセル。幅をサイズ変更するための要素:なし、高さをサイズ変更するための要素:なし、位置:幅に中心が置かれる起点y。
・ダウンインジケータ(1251):1×1行列、要素のサイズ:幅16ピクセル及び高さ8ピクセル。幅をサイズ変更するための要素:なし、高さをサイズ変更するための要素:なし。位置:幅に中心が置かれる起点y+アップインジケータの高さ+リストの高さ。
・(形式を描画するための)テーブル(1260):3×3行列(1270)、要素のサイズ:幅及び高さ2ピクセル、幅をサイズ変更するための要素:北−中心、中心、南−中心、高さをサイズ変更するための要素:西−中心、中心、東−中心、セルを備えることがある。
・(形式で項目を描画するための)セル(1280):3×3行列(1290)、要素のサイズ:幅及び高さ12ピクセル、幅をサイズ変更するための要素:北−中心、中心、南−中心、高さをサイズ変更するための要素:西−中心、中心、東−中心、テキストまたは画像を備えることがある。位置:起点x,y+テーブル境界の厚さ。
・フレーム付きテキスト(TextArea)(1300):3×3行列(1310)、要素のサイズ:幅及び高さ2ピクセル、幅をサイズ変更するための要素:北−中心、中心、南−中心、高さをサイズ変更するための要素:西−中心、中心、東−中心、テキストを備えることがある。
・フレーム(1320):3×3行列(325)、要素のサイズ:幅及び高さ4ピクセル、幅をサイズ変更するための要素:北−中心、中心、南−中心、高さをサイズ変更するための要素:西−中心、中心、東−中心。
・垂直スクロールバー(1330):1×3行列、要素のサイズ:幅及び高さ8ピクセル、幅をサイズ変更するための要素:なし、高さをサイズ変更するための要素:中心、(フレームオブジェクトの位置に応じて)フレームに取り付けられる。高さを基準にしたインデックスのインジケータグラフィックオブジェクトを備える。
・水平スクロールバー(1340):3×1行列、要素のサイズ:幅及び高さ8ピクセル、幅をサイズ変更するための要素:中心、高さをサイズ変更するための要素:なし、(フレームオブジェクトの位置に応じて)フレームに取り付けられる。幅を基準にしてインデックスのインジケータグラフィックオブジェクトを備える。
・水平線:1×1行列、要素のサイズ:幅及び高さ4ピクセル。
・垂直線:1×1行列、要素のサイズ:幅及び高さ4ピクセル。
ウェブブラウザインタフェースのグラフィックオブジェクト及びそれらの関連付けられる関数のすべての要約がここに示される。
以下に続くのは、デコーダのナビゲータモデルの構築に必要であるグラフィックオブジェクトの網羅的ではないリストである。個々に示されている表は、要素ごとにオブジェクトを一覧表示し、オブジェクトのリストは、複数のグラフィック要素から構成される。
Figure 0005713459
Figure 0005713459
Figure 0005713459
Figure 0005713459
Figure 0005713459
Figure 0005713459
以下の表は、グラフィック表現で可変サイズを有することがあるグラフィックオブジェクトを形成する様々な初歩的なグラフィックオブジェクトを説明する。複雑なオブジェクトを作るための初歩的なオブジェクトの並置は、(謎を再構成する)プログラムによって実施される。これらのオブジェクトはPIXMAPフォーマットをしている。
Figure 0005713459
Figure 0005713459
Figure 0005713459
Figure 0005713459

Figure 0005713459
Figure 0005713459
ウェブブラウザ用のJavaAPIを、ここで説明する。
デコーダ内のナビゲータアプリケーションのレベルで使用されるJavaパッケージのリストが続く。このリストは、JDK1.1のAWT(要約ウィンドウツールキット)クラスとネイティブCコードで作成される、異なるサービスのJavaインタフェースクラスという2つの部分に分割される。
Figure 0005713459

Figure 0005713459
ブラウザパッケージと呼ばれるナビゲータパッケージは、様々なパッケージをともに分類する。つまり、HTML文書をフェッチできるようにするサービスを提供するbrowser.drawerパッケージ、及び文書ブラウザ内のナビゲーション、及びユーザ認証とのインターネット接続の確立を可能にするmediawevtvパッケージである。
browser.drawer.MhwBookmarkクラスの構造をここで説明する。ブックマークリストは、ユーザと関連付けられる。ブックマークリスト内には階層はない。
構成子:MhwBookmark(subscriberId):既存のブックマークリストを開く。
構成子:MhwBookmark(subscriberId):新規ブックマークリストを作成する。
deleteBookmark():ブックマークリストを破壊する。
add(URL,name):項目を追加する。
remove(itemNumber):項目を削除する。
modify(itemNumber,URL,name):既存の項目を修正する。
getList():ブックマークリスト内の項目のリストを戻す(階層なし)。
getItemCount():ブックマークリスト内の項目の数を戻す。
isFull():ブール−リストはいっぱいか。
isEmpty():ブール−リストは空か。
setHomePage(itemNumber)
getHomePage():itemNumber
goToURL(sessionNumber):選択された項目に対応する文書をロードする。
故障が発生した場合、エラーメッセージが、メソッドadd()、remove()、modify()、getList()、setHomePage()(または、発生が非同期である場合には任意のイベント)によって戻される。
browser.drawer.MhwHistoryクラスは、過去に表示された文書のリストの中でのある文書から別の文書へのナビゲーションを可能にする。履歴リストに階層はない。クラスの詳細が以下に示される。
構成子:MhwHistory(sessionNumber)
getList():履歴リストを戻す(履歴なし)。
getCurrent():現在のURLを得る。
setCurrent(indexNumber):下内のURLを変更する。
getNext():次の項目のURLを得る。
getPrevious():過去の項目のURLを得る。
getItemCount():履歴内の項目の数を戻す。
addEventsRegister():履歴リストのエラーイベントを購読する。
removeEventsRegister()
故障が発生した場合、エラーメッセージが、メソッドgetList()、getNext()、getPrevious()、setCurrent(あるいは、発生が非同期である場合にはイベント)によって戻される。
イベントは以下のとおりである。addEventsRegister(sessionNumber)[履歴リストエラーイベントを購読する]、removeEventsRegister(sessionNumber)[登録を取り消す]。
browser.drawer.MhwDocumentクラスは、デコーダ内でのHTML文書のロード及び表示を可能にする。クラスの詳細が、ここに示される。
構成子:MhwDocument(sessionNumber)
freeze():現在の文書の表示を停止する(文書のロードは続行する)。
unfreeze():現在の文書の表示を再開する。
isPending():文書が現在ロードしているかどうか。
stop():現在の文書のロードを停止する。
reload():文書を再ロードする。
getDocumentInfo():文書のタイトル及びURLを戻す。
addStatusRegister():ロードの状態及び終わりに関する情報を購読する。
goToURL(url):ウェブページをロードする。
submit(login,password,URL):ウェブページをロードするために認証を提出する。
getStatisticsDocument():進行中の要求の数及び現在ロードされている文書のURLを戻す。
browser.mediawebtv.MhwConnectionクラスは、ユーザ接続及び認証機能性をともに分類する。クラスの詳細は、ここで示される。
構成子:MhwConnection(subscriberID)
start():接続を要求する。
stop():切断を要求する。
cancel():接続を取り消す。
setAuthentificationType(type):CANAL+モード(msd/password)に対する、あるいはログイン/パスワードによって認証のモードを設定する。
getAttributes():接続属性を戻す。
getAttributes(attributes):接続属性を修正する。
setPassword(password):パスワードを修正する。
getPassword(password):パスワードを得る。
setAutoCheckPassword(bAutoCheck):パスワードが、確認パスワードによって自アクティブに検証されるべきかどうかを設定する。
getAutoCheckPassword(bAutoCheck):パスワードが、確認パスワードによって自アクティブに検証されるべきかどうかを読み取る。
getIPClient(ipaddress,netmask):選択されたIP及びネットマスクの対を読み取る。
setIPClient(ipaddress,netmask):IP及びネットマスクの対を修正する。
getDNS(dns1,dns2):一次DNSアドレス及び二次DNSアドレスを読み取る。
setDNS(dns1,dns2):一次DNSアドレス及び二次DNSアドレスを修正する。
getURLConfigServer(url):構成サーバのアドレスを読み取る。
setURLConfigServer(url):構成サーバのアドレスを修正する。
getQueryCommand(queryCmd,typeOfQuery):構成サーバに送信される要求を型ごとに読み取る。
setQueryCommand(queryCmd,typeOfQuery):要求を型ごとに修正する。
queryAcquisitions(tableAcquisitions,typeOfAcquision,NumberOfAcquisitions):獲得のリストを読み取る。
startAcquisition(acquisitionId):獲得を開始する(データ/ビデオ)。
stopAcquisition(acquisionId):獲得を停止する(データ/ビデオ)。
addStatusRegister():加入は、接続ステータスを知らされる。
イベントは、以下のとおりである。つまり、接続の損失、現在の接続、確立された接続、接続確認要求、接続エラー、モデムステータス、オン/オフ、進行中の初期化、進行中のダイヤリング、エラーであるがモデムはオン、サーバステータス、無効ポート、無効URL、ログインエラー、未知のログイン、及び無効パスワードである。
removeStatusRegister():ネットワーク接続ステータスに対する登録を取り消す。
isConnected sbscriberId():モデム接続/切断ステータスを示すブールを戻す。
isPending():現在接続を確立中のモデムのブールを戻す。
getExtendedProviderUrl(providerUrl):現在加入されているプロバイダを読み取る。
getExtendedProviderUrl(providerUrl):現在加入されているプロバイダを修正する。
browser.mediawebtv.MhwConfigurationクラスは、各ユーザ及びその優先順位のプロファイルを管理する。クラスの詳細が、以下に示される。
構成子:MhwConfiguration()
readProfile(subscriberId):プロファイルを読み取る。
writeProfile(subscriberId,profile):プロファイルを書き込む。
readDefaultProfile():デフォルトプロファイルを読み取る。
writeDefaultProfile(profile):デフォルトプロファイルを修正する。
getUserCount():ユーザの数
newUser(profile):新規ユーザについて特定する。
getLastConnect():最後に接続されたユーザ。
プロファイルの最大数は、現在5に固定されているが、これは厳密な制限を表さない。プロファイルのさらに大きい数は、必要がある場合は記憶されてよい。
故障が発生した場合、WriterProfile()メソッド及びwriteDefaultProfile()メソッド(あるいは、発生が非同期である場合にはイベント)によって、エラーメッセージが戻される。
browser.mediawebtv.MhwMultiSessionクラスは、ナビゲータセッションを選択できるようにする。セッションは、別のインスタンスによって自アクティブに起動されたナビゲータのインスタンスである。ナビゲータが開始すると、セッションが、認証された接続の確立後に作成される。クラスの詳細が、以下に示される。
構成子:MhwMultiSession
getCurrectSessionNumber()
getCurrentSessionNumber(int number)
getPreviousSession()
addSession():作成されたセッションの数を戻す。
removeSession(int numSession)
デコーダ用のナビゲータモデルを、図6a及び図7〜図30を参照して、さらに詳細に説明する。
ここに提示されるモデルは、ナビゲータの簡略な例であり、主要な機能性の一般的な考えを示す。それは、グラフィック表記のレベルで完全な自由度を与える。重要な機能だけが、同じ型の機能がその中で分類されるゾーンまたは画面、及び汎用ユーザインタフェースである。
ナビゲータは、グラフィックスタジオの使用可能なグラフィックス(MPEG,PIXMAP)のすべてを利用する。このモデルの画面は、ツリー形式で編成され、それぞれのものが必須関数の集合体をともに分類する。各関数または画面内のオプションは、(リモートコントローラ上の)矢印ボタンの助けを借りてフォーカスを移動することによって、あるいはカーソル/ポインタでキーパッドを使用することによってアクセスされる。処置の選択は、制御装置クリックによって、または事前に定義されたボタン(例えば「OK」)によって達成される。
物理的なキーボードがない場合、リモートコントローラを使用してテキストを入力するには、仮想キーボードを提供することが必要である。これは、すばやくキーをたたく可能性によりフォーカスを移動することによって、リモートコントローラのボタンを仮想キーボード上に写像することによって達成される。言い換えると、リモートコントローラ上のボタンの画像は輪郭で(トレースされた形式で)可視である、あるいは仮想キーボードのピクチャ上でわずかに不透明である。仮想キーボードを、本書では後半にさらに詳しく説明する。
図30は、ウェブページの一部が(1411)の下で可視である、ナビゲータ関数ボタン(1410)のトップレベルチェーンを示す。
メインナビゲータ画面を、ここでは図30を特に参照して説明する。
ナビゲータ関数は複数の層で分類される。メイン画面は、再ロード/停止(1401)、前ページ(1402)、次ページ(1403)、最近ビジットしたサイトの履歴、ブックマーク、接続/切断、構成、終了ナビゲータ(1408)などの一連のボタンから構成される、仮想バー(メインメニュー)(1410)を表示する。
ナビゲータGUI(メイン画面)(1410)は、関数キーが(リモートコントローラの上またはキーボードの上のどちらかで)押されるときに表示される。GUIがTV画面で可視であるとき、(GUIが上をカバーする)HTML文書(1411)はメモリの中にロードされ続けるが、文書のリフレッシュは、GUIの性能に影響を及ぼさないように一時停止される。HTML文書は、ナビゲータGUIが片付けられると、再表示される。性能が最終的に満足行き、それによりHTML文書及びGUIの同時表示を可能にする場合に、この制約は解除される。
GUIは、(リモートコントローラまたはキーボード上の)ファンクションキーを押すことによって、あるいはGUIボタンゾーンの外側をクリックすることによってテレビ画面から片付けられる。それから、現在ロード中あるいはキャッシュメモリに記憶中のHTML文書の表示が開始されるか、再開される。
ボタンは実際的には正方形のゾーン(例えば、32ピクセル×32ピクセル)である。グラフィックカーソルがゾーンに入ると、そのゾーン(ウィンドウ)はフォーカスを受け取る(EnterNotify(WindowID)関数を参照すること)。
例えば、ボタングラフィックがタイヤである場合、グラフィックカーソルの実際の位置がタイヤのピクセルを効果的にカバーするかどうかが検出されなければならない。この目的のため、(クリッピングマスクでの相対的な位置、getpixel()の計算、それからピクセル値を試験することによって)ボタンのクリッピングマスク内でのマウスポインタのホットスポットにあるピクセルの値を見つけることが必要である。この検出方法により、クリックがボタンの関数を開始する前に実施されたかどうかについて、試験を改善することができる。
マウスポインタがボタンの矩形または正方形のゾーンを離れると、ゾーンはフォーカスを失う(LeaveNotify(WindowID)を参照すること)。
記述ボタン要約を、ここでさらに詳細に説明する。
マウスポインタまたは矩形のフォーカスが関数を表すボタンと一致すると、短いフレーズ(tooltip)が水平にまたは垂直にのどちらかで表示され、ボタンの関数を説明する。ボタンがマウスクリックによってまたはファンクションキーによってのどちらかで選択されると、サブメニューオプションを含むボタンのリストが表示される。短い記述フレーズ(tooltips)のシステムも、サブメニューボタンに使用される。
メニューオプションのナビゲーションは、リモートコントローラ上またはキーボード上のどちらかにある矢印で達成される。フォーカスを有していたメイン画面の最後のボタンは、次回メイン画面が表示されるときのために記憶される。
仮想キーボードを、ここで図42〜図45に関してさらに詳細に説明する。
図42は、現在可視である仮想キーボード(1501)がどのようにして仮想キーボード(1501、1506)の下にある「グリッド」に写像するのかを概略して示す。
図43は、仮想キーボードのキーに対する典型的な文字の写像を示す。
図44は、第1(1545)及び第2(1546)の数ブロックがそれぞれフォーカスを有する(2つの異なる種類のリモートコントローラ1542と1543を示す)仮想キーボードに使用される画像を示す。
図45は、典型的な寸法が重ね合わされる、典型的な仮想キーボードレイアウトを示す。
最初に、仮想キーボードは、それが使用されるアプリケーションとは無関係であるツールとして考えられる。このようにして、それは「WebBrowser」アプリケーション及び等しく「Mail」アプリケーション内で使用することができる。さらに、「外観」は、関係するアプリケーションの「外観」に完全に無関係である。
仮想キーボードは、物理的なキーボードまたはキーボード付きリモートコントローラを所有していないユーザが、画面の編集可能な領域を選択した瞬間から表示される。フォーカスは、編集可能領域内のテキストの最後に配置される。(リモートコントローラまたは仮想キーボード上の)「OK」または(仮想キーボード上の)「取り消し」を押すと、それは片付けられる。
ユーザは、アップ矢印キー及びダウン矢印キーも使用できる。これが場面上に同じ仮想キーボードであるが、キー(1506)上の文字が異なる仮想キーボードをもたらす。このようにして、5つの仮想キーボードの集合の間でフリップすると、人は西欧型コンピュータのキーボードの文字のすべてを表示できる。必要が生じると、他のキーボードを追加する可能性もある。
図44に関して、リモートコントローラの数ブロックと仮想キーボード上のフォーカスの間で即時関連付けを可能とするために、画像制御装置の重なり合う画像がフォーカス(1542、1543)を示す。このようにして、ユーザはキーボードの唯一の部分がフォーカスを有すること、及び文字の残りが矢印キーを用いてフォーカスを移動することによって達することができることを容易に視覚化することができる。キーボードは、後者の点を頭に入れて設計される。
仮想キーボード解決策は、ほとんど画面高さを占有せず、使用可能な文字数の容易な拡張に対処する。デフォルトにより、それは表示される縮小アルファベット付きの仮想キーボードである。
一定のボタンは重要な特殊関数を有する。
・現在の選択をvalidingするためのリモートコントローラ上の「OK」(フィールドだけが1行を有する場合、文字(1521)も確証する、あるいは代わりにまったく影響を及ぼさないように選ばれてよい。それ以外の場合、それは復帰だけに対応する)。
・確証せずにツールを終了するための仮想キーボード上の「取り消し」(1522)(キーボードを開いた後に加えられた修正は失われるだろう)。
・入力された最後の文字を消去する仮想キーボード上の「後退」(1523)
・編集領域内で移動するための上矢印キー、下矢印キー、左矢印キー、右矢印キー
・1回の移動で構成可能な空間の数を挿入する、(デフォルトにより4)仮想キーボードでの「タブ」(1520)
キーボードはつねに「挿入」モードにある。
キーボードの例は図44に示され、後述される。
図43に図示される5つのキーボード(5×3)及びWebBrowserアプリケーション用にインストールされる2つのフォント(エアリアルウェブとクーリエ)を用いると、従来のキーボードの文字のすべてがカバーできる。画面上のキーボードの寸法は幅227ピクセルかける高さ184ピクセルである。
仮想キーボード及び多様なアプリケーションでのその使用に関する機能接続は、「canalplus.virtualkbd」パッケージ内で展開される。
パッケージ内に含まれているクラスは、「MhwVirtualKbd」(仮想キーボードグラフィック表示及び行動クラス)、「MhwVkTextField」(TextFieldを共用するグローバルアプリケーション内で定義される仮想キーボードがイベントを制御できるようにする「java.awt.TextField」から派生するクラス)、及び「MhwTextArea」(TextAreaクラスを使用するグローバルアプリケーション内に定義される仮想キーボードがイベントを制御できるようにする「java.awt.TextArea」から派生するクラス)を含む。
MhwVirtualKbdクラスをここでさらに詳細に説明する。
「MhwVirtualKbd」クラスの構成子は、「専用」として定義される。このようにして、(例えば物理的なキーボードが不在の場合に)それを使用する必要がある可能性のあるメインアプリケーソンが起動されるときに、唯一の一意の仮想キーボードが構築することができる。したがって、目的は、特に現在のアプリケーションのために構成され、ユーザがテキストフィールド(単一行または複数行)を入力するときに表示されるキーボードを提示することである。
キーボードが作成されると、構成できる以下の4つの主要(静的)な変数が、設定される。
・親:コンテナ:キーボードが作成されるときに、それ自体が存在しなければならない仮想キーボードの「親」。それは、引数内で渡される「親」が「ヌル」である場合に「NullPointerException」を返す「setParent」メソッドを使用して設定される。
・記述ファイル:キーボードを、仮想キーボードが使用されるときに得られる多様な「キーボード」に関係する画像の後ろにあるグラフィック、及びキーの上に印刷されるラベルの両方の点でキーボードを記述するASCIIファイル。文字は、それらのユニコード符号によって指定される。記述ファイル名は、「setScreensFile」メソッドを使用して設定できる。
・画面数:仮想キーボードによって初期化され、使用される「数ブロック」の数。「setScreensNumber」によって設定されるこの数は、その特徴が前記に詳説された記述ファイル内で読み取られる、キーボードの数に一致する。
・初期座標:これらは、(前述された)親コンテナ内のキーボードの背景画像の左上角の座標である。これは、「setCoordInit」メソッドを使用して設定される。
いったんキーボードが作成されると、それが存在する場合(アプリケーションの仮想キーボードが存在しない場合、及びアプリケーションがそれを使用する場合、「getInstance」メソッドが、そのために人が設定したであろう変数[前述された4つ]を使用して)仮想キーボードを作成する)には、現在のアプリケーションのキーボードを発見する「getInstance」メソッドを使用することによってそれを使用するか否かが決定できる。
イベント管理をここで説明する。
前述の説明に従って、仮想キーボードは、リモートコントローラ上の数ブロック、「OK」ボタン、及び4つの矢印方向キーによってそれに送信されるイベントを解釈することだけによっていったん表示されると機能する。これらのボタンは、使用中のキーボードに対して特定的な役割を有するだろう。
「OK」ボタンは、それが、ユーザに以下の2つのことを行うことができるようにするため、重要な役割を有する。つまり、情報を入力するためにテキストフィールドに「戻る」後に、仮想キーボードの動作を表示し、開始することと、テキストフィールドを「省き」、変更を保存することである。
矢印キー
「右」矢印と「左」矢印は、(「フォーカス」を有する数番号を示す)リモートコントローラの画像を、仮想キーボード上で表される3つの数ブロックに移動できるようにする。リモートコントローラ上の数ブロックのキーは、このようにして、フォーカスを有する「キーボード」に応じて、多様な文字の表示に「結合される」。
最も一般的な場合、キーボードがアクティブなときにこれらのボタンを「軽くたたく」と、カーソルにより示されている位置にある現在のテキストフィールド内で、そのキーの上に示されている文字の自アクティブな挿入が起こる。
文字の内、6個を「特殊」文字と見なすことができ、キーの上に表示されている文字をテキストフィールド内に直接的に表示させない。
後退:「<」(1523):この文字に対応するリモートコントローラ上のボタンが押されると、現在のテキストフィールド内のカーソル位置のすぐ隣の文字が消去される。
タブ:「>>」(1520):この文字に対応するリモートコントローラ上のボタンが押されると、構成可能な空間数(「」)、デフォルトによって4が現在のカーソル位置に挿入される。
入力:文字(1521):この文字に対応するリモートコントローラ上のボタンが押されると、カーソル位置に「行送り」が挿入される。事実上、現在のテキストフィールドが「MhwVkTextField」クラスのインスタンス、つまり編集可能な1行を有するインスタンスである場合、このボタンを軽くたたくと、フィールドに影響を及ぼさないか、あるいはフィールドのバリデーションを引き起こすかのどちらかだろう。逆に、このテキストフィールドが「MhwVkTextArea」クラスのインスタンスである場合には、それは複数の編集可能行から成り、この文字が「行送り」を引き起こす(カーソルが最後の編集可能行に配置される場合、このボタンを軽くたたいても影響はないだろう)。
取り消し:「φ」(1522):この文字に対応するリモートコントローラ上のボタンが押されると、仮想キーボードの開放に続く現在のテキストフィールドに対して加えられた修正のすべてがアンドゥされる。言い換えると、その内容は、それが修正が加えられる前に有していた値に戻され、仮想キーボードは「終了される」。
左矢印:この文字に対応するリモートコントローラ上のボタンが押されると、現在のテキストフィールド内のカーソルが左に1つの場所移動される。カーソルがすでに「ゼロ」位置にある(追加の左への移動が可能ではない)場合には、このボタンは影響を及ぼさない。
右矢印:この文字に対応するリモートコントローラ上のボタンが押されると、現在のテキストフィールド内のカーソルが右に1つの場所移動する。テキストフィールド内の最後の文字の後にカーソルがすでに配置される(これ以上右に移動できない)場合、このボタンは影響を及ぼさない。
上矢印:この文字に対応するリモートコントローラ上のボタンが押されると、現在のテキストフィールド内のカーソルが1つの場所上方へ移動される。カーソルがすでにテキストフィールドの第1行にある場合(あるいは現在のテキストフィールドが1行:MhwVkTextFieldだけを有する場合)このボタンは影響を及ぼさない。
下矢印:この文字に対応するリモートコントローラ上のボタンが押されると、現在のテキストフィールド内のカーソルが1つの場所下方へ移動される。カーソルがすでにテキストフィールドの最後の行にある場合(あるいは現在のテキストフィールドが1行:MhwVkTextFieldだけを有する場合)、このボタンは影響を及ぼさない。
「findLocation」メソッドは、「切り捨てられる」面を最小限に抑えようとして、画面上での仮想キーボードの設置を決定する。
MhwVkTextFieldは、「java.awt」パッケージの「TextField」クラスの特殊化にすぎない。それは、さらに、仮想キーボードの使用を指定する(またはしない)ブール値を管理する。
構成子は、簡略な追加引数、つまり仮想キーボードの使用を指定するブールにより、「java.awt」パッケージの「TextField」クラスの構成子とまさに同じである。
ブールが「真」である場合、「TextField」クラスの「ベース」インスタンスが作成され、現在のアプリケーション内で使用可能な仮想キーボードリスナーも、「addKeyListner」メソッドを使用して同時に追加される。「真」ではない場合には、「通常の」TextFieldが作成される。
TextFieldがフォーカスを有するときに、ユーザが「OK」を押し、ブールが仮想キーボードの使用を指定すると、仮想キーボードが表示され、フォーカスを獲得する。それは、イベントのすべてを管理し、テキストフィールドを塗りつぶすことができる。ユーザが「OK」を再び押す場合、そのテキストは確証され、キーボードがフォーカスを戻す。仮想キーボードの使用が考えられない(ブール=偽)の場合には、「TextField」は、「java.awt」内の標準TextFieldと同じ「動作」を有する。
MhwVkTextAreagは、単に「java.awt」パッケージ内の「TextArea」クラスの特殊化にすぎない。それは、さらに、仮想キーボードの使用を指定する(またはしない)ブール値を管理する。
構成子は、簡略な追加の引数、つまり仮想キーボードの使用を指定するブールを含む、「java.awt」パッケージ内の「TextArea」クラスの構成子とまったく同じである。
ブールが「真」である場合、「TextArea」クラスの「ベース」インスタンスが作成され、現在のアプリケーション内で使用できる仮想キーボードリスナーも、「addKeyListner」メソッドを使用して同時に追加される。真ではない場合には、「通常の」TextAreaが作成される。
TextAreaがフォーカスを有するとき、ユーザが「OK」を押し、ブールが仮想キーボードの使用を指定すると、仮想キーボードが表示され、フォーカスを獲得する。それは、イベントのすべてを管理し、テキストフィールドを塗りつぶすことができる。ユーザが再び「OK」を押すと、そのテキストが確証され、キーボードがフォーカスを戻す。仮想キーボードの使用が考えられる(ブール=偽)の場合、「TextArea」が、「java.awt」内の標準TextAreaと同じ「動作」を有する。
以下の項は、前述された特徴のインプリメンテーション、特にグラフィックオブジェクト(例えば、テキストフィールド、ボタン、スライダ、リスト、チェックボックス、選択肢等)のグラフィック要素の集合からの再構築をさらに説明する。
図39は、例えば、4つの角(NW2100、NE2101、SW2102、SE2103)、4つの辺(N2104、E2105、W2106、S2107)、及び中心(C2108)という9つの要素から作られるボタンを示す。
典型的ではあるが、必ずしもではなく、これらの9つの要素のそれぞれは正方形(4×4ピクセル、8×8ピクセル、16×16ピクセル)である。N要素、E要素、W要素、S要素及びC要素のブロックが、必要とされる(外観によって画定される境界線とともに、構成要素のサイズによって画定される)領域内で並べて表示される。この領域は、要素のサイズの倍数である必要はない。現在、並列表示は、左から右、または上部から下に移動するため、あらゆる不完全に描画された要素が底部及び右側辺に表示される。これが有用であると感じられる場合には、「中心揃え」、及び「右」揃えの並列表示規則を追加することが考えられるだろう。一般的には、NW要素、NE要素、SW要素及びSE要素は、境界線と同じ大きさであるため、並列表示は必要ない。ただし、それらが必要とされるより小さい場合には、並列表示は自アクティブに実行される。
これがどのようにして実現されるのかに関する簡略な説明が続く。作業は3つの領域に分けられる。つまり、様々な外見の作成及び様々なWGTウィジェットへの割り当てを可能にするネイティブWGTモジュール、構成要素の様々なグラフィック特徴を塗るための関数が含まれるネイティブ「LookPixmap」モジュールの展開、及びネイティブコードと接続するためのmhw.awt.Javaパッケージの展開である。
展開のこれらの3つの領域を、以下の項に説明する。
WGTモジュール外観機構を、図40と図41を参照してここで説明する。
本項の目的とは、WGTモジュールが、管理されている多様なグラフィックオブジェクトの「外観」を制御できるためにどのように修正されたのかを説明することである。新しい外観は、WGTモジュールをもとのままに残して、必要に応じて、及び必要なときに追加できる新しいクラスの中で定義することができる。標準的なWGT外観(LookWgt)が、この機構を使用することを希望しないアプリケーションがそれを使用しなくてもいいように、提供され、具体化され、デフォルトによってウィジェットに帰される。
以下の特徴が必要とされる。つまり数多くの異なる外観がオブジェクト型ごとに定義できる。別の外観が各オブジェクトに独立して指定できる。及びデフォルトにより、現在のWGTによって定義される外観がオブジェクトに適用される。
オブジェクトの外観を描画するための、ビットマップとベクタという2つの異なる技法が可能でなければならない。
ビットマップ技法では、オブジェクトは、それから描画される単独のビットマップを作成するための数多くの事前に定義されたビットマップ要素を結合することによって描画される。可変サイズのオブジェクトを作成するために、要素は、例えば、必要とされるサイズのオブジェクトを構築するために辺に沿って繰り返すことができる。
これらの要素のそれぞれのサイズだけではなく正確な配置も定義されない。考え方は、新しい外観の作成がWGTによって過剰に制約されないように、これを可能な限り自由にしておくことである。外観クラスは、必要とされるオブジェクトサイズの関数としてともにそれらを適合するためのビットマップ要素及び規則を定義しなければならない。
後述されるLookPixmap(ネイティブ)及びPixmapLook(Java)クラスは、このメソッドを独占的に使用する。展開者が、ベクタメソッドを使用するLookPixmapから派生するあるいは派生しない独自の外観を作成するのを停止するものは何もない。
ベクタ技法においては、オブジェクトは、DrawRectancle(),DrawArc()などの一連の基本的な描画動作を使用して描画される。外観クラスは、必要とされるオブジェクトサイズの関数としてオブジェクトを描画するための規則を定義しなければならない。
ビットマップ技法とベクタ技法の両方を結合する外観クラスを考えることは完全に可能である。例えば、ビットマップアプローチは、ボタンの基本的な形式に使用できるだろうが、ベクタアプローチは強調表示を提供できるだろう。
現在説明されているWGTモジュール外観機構を、さらに詳細に説明する。
以下の機構が組み込まれた。
・その内の一定のものがオブジェクトに帰される外観クラスに含まれる、各オブジェクトの現在のペイントメソッドの7つの関数、つまりDrawBackground()、MhwWgtLookDrawBackground()、DrawForeground()、MhwWgtLookDrawForeground()、MhwWgtLookDrawRelief()、MhwWgtLookDrawFocus()、MhwWgtLookHighight()への分割
・抽象クラスMhwWgtLookの作成
・MhwWgLookから派生し、WGTが初期化されるときに具体化されるクラスMhwWgtLookWgtの作成
・特定の外観がMhwWgtXXXAttsSetLookを帰されない場合にそれが作成されると各オブジェクトに帰されるだろう外観を設定するために使用されるg_TheDefaultLookグローバル変数の追加
・オブジェクトのデフォルト外観を変更するためのパブリックメソッドMhwWgtSetDefaultLook(context)の追加
・2つのパブリックメソッド、MhwWgtSetXXXAttrLook(*object,look)及びMhwWgtGetXXXAttsLook(*object)のオブジェクトクラスへの追加
これらの態様は、印刷のためのメソッドで開始する以下の項に提示される。
各ペイント関数は、ここで、それが呼び出されるときに以下のメソッドを呼び出す。つまり、DrawBackground()、MhwWgtLookDrawBackground()、DrawForeground()、MhwWgtLookDrawForeground()、MhwWgtLookDrawRelief(),MhwWgtLookDrawFocus(),及びMhwWgtLookHighlight()である。
2つのメソッド、DrawBackground()及びDrawForeground()は、WGTの一部であり、外観に関係なく、呼び出される。それ以外は、事実上、問題のウィジェットと関連付けられる外観クラス内の対応する関数に対するポインタである。このようにして、外観クラスは、これらの部分のペイント関数を実現する。
背景:これは、外観がウィジェット全体の後ろに描画できるようにする。
前景:これは、(境界線を除く)ウィジェットの中心部分の上にその他のグラフィックの画像を描画するために使用できる。
レリーフ:これは、ウィジェットのレリーフフラグがセットされ、ウィジェットのための境界線またはレリーフを描画するために使用される場合に呼び出される。
フォーカス:これは、ウィジェットがフォーカスを有する場合に呼び出される。それは、これをグラフィックで示すために使用できる。
強調表示:これは、ウィジェットが強調表示される場合に呼び出される。それは、これをグラフィックで示すために使用できる。
抽象クラスMhwWgtLookが定義され、以下を含む。WgtCoreLookClassMethod、WgtCoreLookClassFiled、WgtCoreLookClass、WgtCoreLookPart、及びWgtCoreLookObject。
これらを以下に説明する。
Figure 0005713459
Figure 0005713459
Figure 0005713459
(Card8、Card16等のデータ型は、示されているビット数を有する数型のエイリアスである。例えば、Card8は、「char」に同等であり、Card16は「short」に同等である等。)
各描画メソッドは、オブジェクトタイプごとに同一である。メソッドごとに、または少なくとも一定のメソッドに異なるメソッドを必要とする外観について、外観クラス内のメソッドは、ウィジェット型を特定し、それに応じて動作しなければならない。
DrawNothing()メソッドの目的に注意する。それは、呼び出されるとOKを戻すだけである。一定の特徴は、必ずしも指定された外観で実現されない。WGTが必ずしも指定関数の存在を試験しなくてもよいように、あらゆる実現されていない関数は、このメソッドを指さなければならない。
Maskにも注意されたい。これは、それぞれの要素が前記メソッドの1つに対応する、私用の読取専用ブールアレイである。要素が1に設定される場合には、対応するメソッドが再定義される。それ以外の場合、メソッドは再定義されない。このようにして、それが希望する場合には、WGTが、それが呼び出さなければならないメソッドを単一動作で実行することができる。
外観クラスは、任意の外観定義とWGTの間のインタフェースを定義するために使用される。WGTは、必要とされる外観を表示するためにこれらのメソッドだけを使用する。追加の機能性が外観に必要とされる場合、それは拡張された外観構造の中に組み込むことができるが、これらのメソッド/パラメータを考慮に入れるかどうかはアプリケーションにより、WGTによるのではない。このようにして、追加属性及びメソッドが追加できる。
派生した外観構造は、すべてのこれらのメソッド及び属性を含まなければならず、それは独自のものも追加できる。WGTは、MhwWgtLook構造に定義されるそれらのメソッドを考慮に入れるだけだろう。
MhwWgtLookWgtクラスをここで説明する。
既存のアプリケーションが、WGTの修正済みバージョンと互換性のあるままとなるために修正される必要がないように、WGTオブジェクトが現在有する外観を定義する基本的な外観クラスが、WGTによって作成、具体化される。
それはMhwWgtLookのサブクラスであり、MhwWgtLookWgtと呼ばれる。このクラスが初期化されると、構造の中のポインタのすべての値が、WGTによって定義されるメソッドの点に設定される。
この基本的なクラスは、他にないも含まない―それはWGTが現在提供する外観を定義するにすぎない。
Figure 0005713459
WGT初期化に関して、MhwWgtLookwgtクラスは、WGT起動時に作成されなければならない。WGTは、このようにして、アプリケーションが別の外観を指定しない場合にこれらのメソッドにアクセスできるだろう。g_TheDefaultLookグローバル変数(後述される)は、当初この外観での点に設定されなければならない。
新しい外観を定義し、デフォルトの外観を設定するプロセスを、ここで説明する。
WGTは、新しい外観オブジェクトを定義するまたは具体化する担当ではない。アプリケーションは、これを自ら行わなければならない。作成されるすべての外観オブジェクトは、MhwWgtLook構造で除去可能でなければならない。以下の外観の管理を参照すること。
デフォルトの外観に関して、フィールド
MhwWgtLook *DefaultLook
が、このコンテキストから作成されるあらゆる新しいオブジェクトに適用されるMhwWgtLookのインスタンスを指すMhwWgtContextオブジェクトに追加されなければならない。新しいWGTコンテキストが作成されると、このフィールドはWgtBasicLookの点に設定されなければならない。
コンテキストのためのデフォルト外観を設定することに関して、パブリックメソッド:
MgwWgtSetDefaultLook(MhwWgtContext, aContext, MhwWqtLook aLook)
が、aLookでの点にaContext内のDefaultLookフィールドを設定するために提供される。
外観をオブジェクトに関連付けるためには、以下の属性が、コアクラスのcoreAtts構造に追加される。
MhwWgtLook *Look
この属性は、このようにして作成されるオブジェクトごとに作成される。オブジェクトが具体化されるたびに、外観はDefaultLookグローバル変数での点に設定される。
2つの新しいパブリックメソッドMhwWgtSetXXXAttsLook(MhwWgtWidget anObject、MhWWgLook aLook)及びMhwWgtGetXXXAttsLook(MhwWgtWidget anObject、MhwWgtLook *aLook)が、オブジェクトと関連付けられる外観インスタンスを変更できるようにするためにコアクラスに追加されなければならない。
外観の管理をここで説明する。
WGTは、外観管理を提供しない。デフォルト以外の外観を使用するためには、アプリケーションは、最初に、1つまたは複数の外観クラスが具体化、初期化されてから、それが新しいWGTオブジェクトを作成するたびにMhwWgtSetCoreAttsLook()メソッドを使用し、オブジェクトを所望される外観と関連付けることを保証しなければならない。それがすべての将来のウィジェットのために指定される外観を使用することを希望する場合、それは、前述されたMhwWgtSetDefaultLook()メソッドを使用できる。
デフォルトによって定義される外観以外の任意の外観を使用することを希望するアプリケーションは、外観を作成、具体化する担当である。発明の別の実施形態では、アプリケーションは外観を遠隔でダウンロードしてよい。ただし、この場合、アプリケーション自体が、MhwWgtLookから派生する必要とされるクラスを供給しなければならない。
外観は、それを使用するすべてのウィジェットが破壊されるまで、それを作成したアプリケーションによって破壊されてはならない。これは、「クライアント」の数をカウントするために、refCounterフィールドの追加を必要とする。
Look=MhwNewLook()
MhwLookRef(look);
.
.
.
MhwLookUnref(look);
Look=0;
これは、自由な(外観)を置換する。外観は、そのrefCounterフィールドが0に等しいときに実際に破壊されるだろう。
SetXxxLook(widget, look) {
If(widget->core.look)
MhwLookUnref(widget->core.look);
widget->core.look=look;
if(look)
MhwLookRef(look);
}
外観を実現するためのAPIのWGTモジュールリストが、ここに示される。
Figure 0005713459
Look/LookPixmapモジュールを、ここでさらに詳細に説明する。
MhwWgtLookPixmapクラスは、前述されたMhwWgtLookクラスから派生する。本質的には、それは、前述されたように、必要とされるサイズのグラフィック画像を作成するために各構成要素の多様な要素を構築することによって動作する。
これらの画像は、以下のために使用される。つまり、ボタンの背景、レリーフ(すなわち、例えばテキスト領域のアクティブなゾーンの回りの境界線)、選択肢構成要素の記号、チェックボックス、スライダ、及びスライダリフトである。
図40を参照すると、初期化時間を短縮するために、画像は圧縮されないが、可能な限り占有される空間を最小限に抑えるために設計される特殊フォーマットに記憶される。各ピクセル(2152)の色は、現在のカラーマップ中の色のインデックス数(2151)である単一バイトで記述される。図40は、例のバッファ、つまり4×4画像(2153)を含む画像を示す。
図40の画像(2153)は、以下のとおりに記憶されるだろう。
Card8 slidLiftSeVrImage4[4][4] =

{ 0, 0, 0, 1},
{ 0, 0, 1, 2},
{ 0, 1, 2, 3},
{ 1, 2, 3, 4},
};
LookPixMap画像構造を、ここで説明する。
画像バッファのサイズを特定するために、画像の幅と高さとともに、前述された画像バッファを含む構造体LookPixmapImgeが定義される。後述されるこの構造体は、グラフィック要素ごとにデータを含むために使用される。

typedef struct
{
Card8 *imageData; Buffer containing the iamge. It is a two
dimensional array of Card8, each element of
which contains the index number in the palette
of the colour to be displayed at the position
in the array.
Card8 *maskData; Buffer containing the mask It is a one
dimensional array of Card8, with one bit per
pixel. (Format as returned by the Image
module).
Card16 width; Width of the image.
Card16 height; Height of the image.
Card8 isOpaque; 0 if image contains any transparent elements,
1 if entirely opaque.
}
LookPixmapImage;

指定された種類の要素について、それらは概して同じであるだろうが、画像は様々なサイズである場合がある。ただし、中心要素(xxxxxC)は、多くの場合サイズ1×1である。MhwWgtLookPixmapAllImages構造は、後述されるように、すべてのピクチャ要素をともに分類する。
Figure 0005713459
Figure 0005713459
Figure 0005713459
本項は、様々な外観の集合をウェブブラウザに適用できるようにするために作成されたLookPixmapクラスを含むLookPixmapモジュールを説明する。
このモジュールは以下のソースファイルを含む:MhwWgtLookPixmap.h、MhwWgtLookPixmapStruct.h、WgtLookPixmapClass.c、WgtLookPixmapPrivate.c、MhwWgtLookPixmapImages.h、MhwWgtLookPixmapImages2.h、MhwWgtLookPixmapImages3.h、MhwWgtLookPixmapImages4.h、MhwWgtLookPixmapImages5.h、及びMhwWgtLookPixmapImages6.h。
LookPixmapオブジェクトを作成し、使用する好ましいメソッドの詳細を含むLookPixmapモジュールを説明する。
ウィジェットの作成及び管理のためにWGTを使用する任意のソフトウェアが、WGTウィジェットに代替の外観を提供するためにLookPixmapモジュールを使用できる。アプリケーションがLookPixmap外観を使用するために、LookPixmapオブジェクトが作成されなければならない。これは、以下のコードを使用して実行できる。
MhwWgtLkWebClass PixmapLook;
MhwWgtLkWeb PixmapLookObject;
MhwWgtLkWebAtts LookPixmapValues;
MhwWgtError WgtErr;

WgtErr = MhwWgtLkWebInitClass();
WgtErr = MhwWgtLkWebAttsInit(&LookPixmapValues);
WgtErr = MhwWgtLkWebInitDefault(&PixmapLook, &LookPixmapValues);
PixmapLookObject = MhwWgtLkWebNew(&LookPixMapValues);
ここでデフォルトの外観を設定するためのメソッドが記述される。
アプリケーションは、デフォルトで指定された外観オブジェクトを使用できる。デフォルトによって、デフォルトの外観はWGTによって作成されるLookWgtオブジェクトである。別のデフォルト外観を設定するために、それが前述されたようにすでに作成されていることを条件に、以下の関数を使用することができる。
MhwWgtSetDefaultLook((MhwWgtLook)PixmapLookObject);
作成されたすべてのそれ以降のWGTウィジェットが、WGTデフォルトのLookWgtとではなく、LookPixmap外観クラスと関連付けられるだろう。
アプリケーションは、指定された種類のウィジェット、あるいはここに説明されるように、指定されたウィジェットを選ぶまたは設定することができる。
アプリケーションは、ウィジェットが作成される直前に以下の関数を呼び出すことによってオブジェクトが作成されるときに、指定されたウィジェットに対する外観を設定できる。
MhwWgtXXXAttsSetLook(MhwWgtXXXAtts*, MhwWgtLook);
それは、以下の関数を使用する作成後にオブジェクトの外観を設定することもできる。
MhwWgtXXXSetLook(MhwWgtXXXWidget *, MhwWgtLook);
(この場合xxxはウィジェットの種類―例えば、LISTである。)
LookPixmap画像を使用する方法をここで説明する。
単一のLookPixmapオブジェクトは、画像の単一の集合を使用する。ユーザは、ただ画像を変更するだけで、外観を明らかに劇的に変更することができる。
ユーザは、以下の関数を呼び出すことによって指定されるLookPixmapオブジェクトに使用される画像を変更することができる。
MhwWgtLookPixmapSetImages(MhwWgtLookPixmap*,MhwWgtLookPixmapAllImages*);
は、指定されたLookPixmapオブジェクトを使用するすべてのウィジェットに使用される画像を、指定された画像集合に設定する。
MhwWgtLookPixmapSetDefaultImages(MhwWgtLookPixmap*);
は、指定されたLookPixmapを使用してすべてのウィジェットに使用される画像をデフォルトの画像集合に設定する。
ユーザは、様々なウィジェットに様々な画像を使用することを希望する場合、必要とされる画像の集合ごとにLookPixmapオブジェクトを作成しなければならない。それから、各画像集合を適切な外観に割り当ててから、各外観を適切なウィジェットに関連付ける。
LookPixmapモジュールのAPIを、ここで図39及び図41を参照して説明する。
以下のパブリックAPIが使用できる。
MhwWptLookPixmapSetImages()
プロトタイプ:
MhwWgtError MhwWgtLookPixmapSetImages (MhwWgtLkWeb aLook,
MhwWgtLookPixmapAllImages*
SomeImages);
説明:
aLookによって使用される画像の集合を、someImagesによって指される画像の集合に設定する。
パラメータ:
aLook 画像、someImagesを関連付けるためのMhwWgLk
Webオブジェクト
someImages aLookと関連付けるための画像の集合
Returns:
MHW_WGT_SUCCESS
MhwWgtLookPixmapSetImagesID()
プロトタイプ:
MhwWgtError MhwWgtLookPixmapSetImagesID (MhwWgtLkWeb aLook, Card8
anImageID);
説明:
aLookによって使用される画像の集合を、MhwWgtLookPixMapにハードプログラミングされ、anImageIDによって特定される画像の集合に設定する。
パラメータ:
aLook anImageIDによって特定される画像を関連付けるMhwWgtLkWebオブジェクト
anImageID aLookと関連付けるためのMhwWgtLookPixmapでハードプログラミングされる画像の集合の識別子
Returns:
MHW_WGT_SUCCESS
MhwWgtLookPixmapSetDefaultImages()
プロトタイプ:
MhwWgtError MhwWgtLookPixmapSetDefaultImages (MhwWgtLkWeb aLook);
説明:
aLookによって使用される画像の集合を、MhwWgtLookPixmapの中でハードプログラミングされ、識別子1によって特定される画像の集合に設定する。
パラメータ:
aLook anImageIDによって特定される画像を関連付けるためのMhwWgtLkWebオブジェクト
Returns:
MHW_WGT_SUCCESS
MhwWgtLookPixmapLoadImage()
プロトタイプ:
MhwWgtError MhwWgtLookPixmapLoadImages (MhwWgtLkWeb aLook, Int32
anElementID, Int32 aWidth, Int32
aHeight, Card8*, anImageBuffer);
説明:
現在のMhwWgtLookPixmapAllImages構造体によって指される単一画像を、指定される画像での点に変更するために使用される。LookPixmapImages構造体を作成し、aLookによって指されている現在のMhwWgtLookPixmapAllImages構造体を、anElementIDによって指定される要素のこのLookPixmapImageでの点に設定する。
パラメータ:
aLook anImageIDによって特定される画像を関連付けるMhwWgtLkWebオブジェクト
anElementID 変更するための要素の識別子
aWidth 新しい画像のピクセル単位の幅
aHeight 新しい画像のピクセル単位の高さ
anImageBuffer 新しい画像データを含むバッファ
Returns:
MHW_WGT_SUCCESS
LookPixmapMakeImageFromElements()
プロトタイプ:
MhwWgtError LookPixmapMakeImageFromElements
(LookPixmapImage* elemN,
LookPixmapImage* elemE,
LookPixmapImage* elemW,
LookPixmapImage* elemS,
LookPixmapImage* elemNW,
LookPixmapImage* elemE,
LookPixmapImage* elemSW,
LookPixmapImage* elemSE,
LookPixmapImage* elemC, Card16 anX,
Card16 aY, Card16 aWidth, Card16
aHeight, MHWWindowID aWindow,
LookPixmapDrawMode aDrawMode;
説明:
elemXの9個の画像を採取し、それらを指定されたMHWウィンドウに描画する。画像を構築するための規則は、aDrawModeによって指定される(現在はMHW_WGT_LIKWEB_DRAW_NORMALだけが存在する)。最終画像は、左上角が(anX、aY)に配置され、aWidth×aHeightnサイズであるウィンドウ内に描画される。要素の1つまたは複数がゼロサイズを有する場合(elemXX.widthまたはelemXX.heightのどちらかがゼロである)、この要素は描画されない。
パラメータ:
elemN,elemE,elemW,elemS,elemNW,elemNE,elemSW,elemSE,elemC: それぞれ、上部、右、左、低部、左上角、
右上角、左下角、右下角、及び真中にある描画するための画像
anX:最終画像を描画するための、ウィンドウ、aWindow内のx位置。
aY:最終画像を描画するための、ウィンドウ、aWindow内のy位置。
aWidth:新しい画像のピクセル単位の幅
aHeight:新しい画像のピクセル単位の高さ
aWindow:構築された画像を描画するウィンドウ
aDrawMode:画像を構築するためのモード。
MHW_WGT_LKWEB_DRAW_NORMAL:並列表示なしで4つ
の角(2200、2201、2202、2203)に、NW(2100)要素、
NE(2101)要素、SW(2102)要素及びSE(2103)要素を入
れる。N要素とS要素を水平に並列表示する。W要素およびE要素を垂直に並
列表示する。C要素を水平に且つ垂直に並列表示する。それはあらゆる画像サ
イズについて働くが、中心領域(2208)が矩形であるならば、正しく領域
を並列表示することが保証されるにすぎない。
Returns:
MHW_WGT_SUCCESS
Mhw.awt Javaインタフェースパッケージをここで説明する。
3つのJavaクラスは、WGTに定められる外観機構がjavaアプリケーションによって利用できるよう作成された。これらは、mhw.awt.Look、mhw.awt.WgtLook、及びmhw.awt.PixmapLookである。
外観クラスは、前述されたクラスMhwWgtLookに対応する抽象クラスである。
WgtLookクラスは、WGTクラスMhwWgtLookWgtのインスタンスを作成し、取り扱うために使用される。
PixmapLookクラスは、WgtLookクラスによって使用される画像を記憶するために使用される。
構成子の詳細で始まる、Mhw.awt.PixmapLook APIをここで説明する。
PixmapLook
public PixmapLook()
PixmapLookオブジェクトの新しいインスタンスを作成し、画像がデフォルトの画像(ID=1)に初期化される。
PixmapLook
PixmapLookオブジェクトの新しいインスタンスを作成し、画像がImageIDによって指定される画像に初期化される。
メソッドをここで説明する。
SetImages
Public void SetImages()
このPixmapLookオブジェクトの現在の画像をデフォルト(ID=1)に設定する。
SetImages
Public void SetImages (int imageID)
このPixmapLookオブジェクトの現在の画像を、imageIDによって指定される画像に設定する。
LoadImage
Public void LoadImages (int elementID,
int width,
int height,
byte[] buffer)
指定された画像要素をロードする。それぞれのPixmapLookオブジェクトが、それに関連付けられる(94)の画像の集合を有する。これらの画像は、以下のようにグラフィック構成要素要素を表す:0relnoNW、1relnoSW、2relnoNE、3relnoSE、4relnoN、5relnoW、6relnoE、7relnoS、8relnoC、9relfoNW、10relfoSW、11relfoNE、12relfoSE、13relfoN、14relfoW、15relfoE、16relfoS、17relfoC、18relhiNW、19relhiSW、20relhiNE、21relhiSE、22relhiN、23relhiW、24relhiE、25relhiS、26relhiC、27relfhNW、28relfhSW、29relfhNE、30relfhSE、31relfhN、32relfhW、33relfhE、34relfhS、35relfhC、36butnoNW、37butnoSW、38butnoNE、39butnoSE、40butnoN、41butnoW、42butnoE、43butnoS、44butnoC、45butfoNW、46butfoSW、47butfoNE、48butfoSE、49butfoN、50butfoW、51butfoE、52butfoS、53butfoC、54buthiNW、55buthiSW、56buthiNE、57buthiSE、58buthiN、59buthiW、60buthiE、61buthiS、62buthiC、63butfhNW、64butfhSW、65butfhNE、66butfhSE、67butfhN、68butfhW、69butfhE、70butfhS、71butfhC、72choice、73chck1no、74chck1se、75chck1fo、76chck1fs、77chck2no、78chck2se、79chck2fo、80chck2fs、81slidNeVr、82slidEVr、83slidSeVr、84slidSwHr、85slidSHr、86slidSeHr、87slidSeVrHr、88slidLiftNeVr、89slidLiftEVr、90slidLiftSeVr、91slidLiftSwHr、92slidLiftSHr、93slidLiftSeHr。
widthは、渡される画像の幅を指定する。
heightは、渡される画像の高さを指定する。
bufferは、画像データを含む。これはバイトアレイの形をしており、それぞれのバイトが、ピクセルごとに使用されるカラーマップインデックスを指定する。ピクセル(x、y)に使用されるインデックスはbuffer[(y*width)+x]である。
MakeImageFromElements
public void MakeImageFromElements (int[] widths,
Int[] height,
byte[] [] buffers.
int anX,
int aY,
iny aWigth,
int aHeight,
java.awt.Component aComponent)
9つの要素(N、E、W、S、NW、NE、SW、SE、C)に基づいて画像を構築し、左上角が(anX、aY)にあり、サイズがaWidthxaHeightである構成要素aComponentと関連付けられるウィンドウでそれを描画する。画像バッファは、2次元アレイとして渡され、一方の次元が画像番号(N、E、W、S、NW、NE、SW、SE、Cに対応する0〜8)を指定し、他方がデータを含む。各バッファの幅及び高さは、アレイ幅及び高さで指定される。
DownloadLookDir
public java.lang.String DownloadLookDir()
MPEGストリームから「外観」ディレクトリをダウンロードする。新行(newlines)によって区切られてダウンロードできる外観画像の各集合に関する情報を含む文字列を戻す。タイトル(0〜n−1)の行番号は、関数DownLoadLookImages(int ImageSet)とともに使用される識別子(ImageSet)に一致する。
ディレクトリは、事実上、戻される文字列を含む簡略なテキストファイルである。ファイル経路は、ソース――現在は/home/users/mstoddar/umplus/util/looks/images.dirでハード符号化される。これは、適宜に変更できる。このようにして、これはMPEGストリームから自アクティブにダウンロードするために、デコーダ内で使用できる。
ファイルのフォーマットは以下のとおりである。
<Image Set Title 1><\t>< Image Set Description><\t><URL Resource><\t>< URL Review><\n>
<Image Set Title 2><\t>< Image Set Description><\t><URL Resource><\t>< URL Review><\n>
<Image Set Title 3><\t>< Image Set Description><\t><URL Resource><\t>< URL Review><\n>
<Image Set Title 4><\t>< Image Set Description><\t><URL Resource><\t>< URL Review><\n>
うまくいかない場合には、“”を戻す。
DownloadLookImages
public void
DownloadLookImages(int ImageSet)
DownLoadLookDir()で戻される項目の1つの行番号(0〜n−1)によって特定されるMPEGストリームからの画像の新しい集合をダウンロードし、それらをこの外観に帰す。
データを含むファイルは以下のフォーマットである。
WWWWHHHHWWWWHHHH...(メソッドLoadImage()と同じ順序の)すべて94の画像の幅と高さの10進値を含む4バイト文字列(先行する空間)の系列。画像ごとのデータバッファが、再びLoadImage()と同じフォーマットで従う。画像間の整列が行われず、次の画像の始まりは、前の画像に続くバイトで開始する。
ファイル経路は、ソース――現在は/home/users/mstoddar/mhplus/util/looks/images.<ImageSet>内でハード符号化される。これは、適宜に変更できる。これは、このようにして、MPEGストリームから自アクティブにダウンロードするためにデコーダ内で使用することができる。

public void DownloadLookImages(String ImageURL)
指定されるURLによって特定されるMPEGストリームから画像の新しい集合をダウンロードし、それらをこの外観に帰す。
データを含むファイルは、前述されたフォーマットである。
ファイルの構造は、明快さのためにC構文に後述される。
Figure 0005713459
Figure 0005713459
Figure 0005713459
Figure 0005713459
Figure 0005713459
Figure 0005713459
Figure 0005713459
例えば:
幅 高さ 幅 高さ
Figure 0005713459
Figure 0005713459
等。
reDrawAll
public void reDrawAll()
なくなるまで、フォーカスのあるウィジェット、それから親を見つけ出す。それから、上部ウィンドウが非可視及び可視に再び設定される。それから、ウィンドウ全体が再描画される必要がある。
1つまたは複数のグラフィックオブジェクトを表示するため、複数のこのようなオブジェクト間でナビゲートするため、あるいはユーザから入力を受け取るための前述された多様なメソッドは、放送供給業者からの放送の受信の文脈で、おもにではあるが独占的ではなく他の領域にも等しく適用されてよい。一般的には、ユーザとの視覚的な対話を含むセットトップボックスの機能性がこのようなメソッドを利用してよい。
例えば、おそらくサブチェーンが取り付けられているアイコンのナビゲート可能なチェーンは、ユーザが商品を表示、価格を見る、発注する、それ以外の場合アプリケーションと対話することができるようにするために、ホームショッピングアプリケーションで利用できるだろう。発注するために使用されるグラフィックオブジェクトは、前述された方法で、強調表示時に、自アクティブに購入するための記号(例えば、ドルコード$)とこれまで費やされた額を表すテキスト、すなわち加入者の言語ではワード「購入」の間で、「フリップ」する可能性がある。代わりに、またはさらに、ワード「購入」を加入者の言語の中に含むグラフィックオブジェクトは、「購入」アイコンが選択されるたびに表示し、「ハングオフする」ためにあらゆるサブチェーンを分岐に提供する。
前記例の「購入」アイコンは、ユーザがナビゲートできるチェーンの中にアイコンの論理的なシーケンスを提供するために、クリックされると、これまで行われた購入品のリストを表示するあるアイコン、及びクリックされると、購入されたばかりの製品の納品オプションを設定する別のアイコンの隣に置かれる。「購入」アイコンが選択されると、サブチェーンは、さらに高価なアイテムのケースに様々なクレジット計画を含むことのある多様な補助的なオプションと表示されるだろう。納品のために番地住所などのユーザから必要とされる任意のテキスト情報が、仮想キーボードで入力できるだろう。
電子番組表では、様々なチャネル、テーマ及び時刻と日付を対話によりブラウズし、表示するために類似する方法が利用できるだろう。追加カスタマイズが、ユーザの優先順位に従ってチェーン内でグラフィックオプションを配列し直すために可能である場合がある。チャネルのチェーンのケースでは、ユーザの好ましいチャネルは、チェーンの先頭として分類できるだろう。このような優先順位は、ユーザによって示されるか、あるいはプログラムによって演繹されるだろう。
前述されたメソッドのためのその他のアプリケーションは、オンデマンドのオンラインカタログ、ニュース及び天気サービス、ゲーム、及びセットトップボックスの一般的な管理(その構成の管理等)を含む。ゲームのケースでは、表/裏フリップフロップ効果が、必ずしも追加のメソッドを作成することを必要としなくても、ゲーム内動画を提供するために使用でき、仮想キーボードがさらに上級の種類のゲームのために制御装置の代替形式として使用できるだろう。
リモートコントローラを使用する対話のすべてのメソッドが、ここに説明されるように、リモートコントローラのボタンをシミュレートする(例えば、キーボード上の番号0〜9、矢印キー及びリターンキーを使用する)、または直接的に(例えば、ボタンをクリックするためにマウスを、仮想キーボードを使用する代わりにテキストを直接的に入力するためにキーボードを使用する)のどちらかにより、マウス(またはローラボールまたはジョイスティックなどのその他の指向性制御装置)及び/またはキーボード(または複数のキーを有するその他のデバイス)の使用によって代用または補足されてよいことも理解されなければならない。
前述された仮想キーボードは、例えば、ゲーム機または移動電話などの複数のキーを有する任意のデバイスで実現されてよい。後者では、仮想キーボードは、実質的には説明されたように電話の画面上で(十分に大きなディスプレイを備えた電話で)、あるいは圧縮された形式で(より小さなディスプレイを備えた電話で)表示できるだろう。仮想キーボードのこのような圧縮は、好ましくは、左キー、右キー、上キー及び/または下キー(あるいは、例えばローラ方指向性制御装置のケースではその同等物)を押すことによってアクセスされることのある文字または文字の種別の示唆により、一度に1つだけの文字の数ブロックを示すことを伴なう可能性がある。圧縮された仮想キーボードは、特にキーボードを捧持するために使用できる空間がほとんどない場合に、その他のアプリケーションで使用されてよい。
用語「チェックボックス」は、例えば、様々な状態、好ましくは「チェック済み」と「未チェック」に相当する2つの状態であるが、おそらく3つ以上の状態を表示することができ、ユーザによってクリックまたは選択されたときに、その状態を一貫した様式で改変してよい円形などの任意の形状のグラフィックオブジェクトを指してよい。「チェック済み」状態は、照合印、×印、またはボックス上のその他の装飾によって示されてよい。
参照を容易にするために、個々に使用される以下の用語は、以下の好ましい意味を有する。
HTML:ハイパーテキストマーク付け言語、つまりインターネットで交換される文書を記述する言語。文書は、サイト、フォーマット情報、サウンド及びピクチャ等に対する参考資料を含んでよい。
HTTP:ハイパーテキスト転送プロトコル、つまりHTML文書及びHTML文書を表示するナビゲーションアプリケーションを保持するインターネットサーバ間で通信するためのプロトコル。
MPEG−2:モーションピクチャエキスパートグループ、つまり動画画像及びサウンドをライルタイムで符号化する方法。
PPP:ポイントトゥポイントプロトコル、つまり2台のコンピュータをモデムを介してネットワーク化できるようにする距離アクセス通信プロトコル。
PROXY SERVER:安全なインターネット接続を可能にし、HTTP要求とFTP要求もバッファに入れるサーバ上に位置しているアプリケーション。
SESSION:接続の種類、または指定された時間でのメモリ内のアプリケーションのインスタンス。
URL:全域資源位置指示子、つまりインターネット上でファイルまたはリソースの場所を突き止めるために使用するためのアドレス。サイトへのリンクは、ウェブページに含まれるリソースのアドレスを指定する。
WWW:ワールドワイドウェブ、つまりローカル文書またはリモート文書を使用するインターネット網。ウェブ文書はウェブページであり、ページ内でのリンクが、ローカルネットワークに位置しているのか、リモートネットワークに位置しているのかに関係なく、様々なページ間の及び様々な主題の間でのナビゲーション可能にする。
GUI:グラフィックユーザインタフェース
WGT:ウィジェットツールキット
本発明が、純粋に例証して前述されてきた、及び発明の範囲内で詳細の修正を加えることができることが理解されるだろう。
説明で開示されるそれぞれの特徴、及び(該当する場合)請求項と図面は、無関係に、または任意の適切な組み合わせで提供されてよい。
前述のいずれかまたはすべてにおいて、本発明のある特徴はコンピュータソフトウェアを使用して実現されている。ただし、言うまでもなく、これらの特徴のいずれかが、ハードウェアまたはハードウェア及びソフトウェアの組み合わせを使用して実現されてよいことが、熟練者に明らかとなるだろう。さらに、ハードウェア、コンピュータソフトウェア等によって実行される関数は、電気信号及び類似信号で、または電気信号及び類似信号を使用して実行されることが容易に理解されるだろう。
情報の記憶に関する特徴は、適切な記憶場所または記憶装置によって実現されてよい。情報の処理に関する特徴は、ソフトウェア内またはハードウェア内の、あるいは2つの組み合わせで、適切なプロセッサまたは制御手段によって実現されてよい。
前述のいずれかまたはすべてにおいて、発明は、以下の形式の任意の、いくつかのまたはすべてで実現されてよい。つまり、それはコンピュータシステムを動作する方法で実現されてよく、それはコンピュータシステム自体で実現されてよく、それはそのシステムを動作する方法でプログラミングされるか、あるいはそのシステムを動作する方法を実行するために適応されるまたは配列されるときに、コンピュータシステムで実現されてよい。及び/またはそれは、システムを動作する方法に従って動作するように適応されるそれに記録されるプログラムを有するコンピュータ読み取り可能記憶媒体で実現されてよい。
ここに全体的に使用されるように、用語「コンピュータシステム」は、「コンピュータ」、「システム」、「装置」、「機器」、「機械」及び類似する用語と交換されてよい。
請求項に表示される参照番号は、例証としてのみであり、請求項の範囲に制限的な影響を及ぼさないものとする。
出願人は、疑いを回避するために、これにより、自分が添付図面で著作権を請求することを宣言する。

Claims (8)

  1. グラフィックユーザインタフェースのオブジェクト指向型のオブジェクトの外見を制御する方法であって、
    外観オブジェクトクラスを定義するステップと、
    前記外観オブジェクトクラスを前記オブジェクトと関連付けるステップと、
    を含み、
    前記外観オブジェクトクラスは、前記オブジェクトがどのように表示されるのかを特定するコードまたはコード・パラメータを含み、
    前記外観オブジェクトクラスは、前記オブジェクトの外見を制御するように構成されており、該オブジェクトは、そのオブジェクトの第1の表現で表示可能であり、かつそのオブジェクトの第2の表現で選択的に表示可能であり、該第2の表現が前記第1の表現にフォーカスを当てることによって表示可能であり、該第1の表現がアイコンを含み、該第2の表現がテキスト記述を含み、前記外観オブジェクトクラスの外観オブジェクトが該第1の表現および該第2の表現と関連付けられる、前記方法。
  2. 前記外観オブジェクトクラスが、オブジェクト指向型のプログラムコードによって定義される、請求項1記載の方法。
  3. 前記オブジェクトが、該オブジェクトと関連付けられる前記外観オブジェクトクラスを識別する属性を含む、請求項1記載の方法。
  4. 前記外観オブジェクトを再定義または修正することによって、あるいは別の外観オブジェクトクラスを前記オブジェクトと関連付けることによって前記オブジェクトの外見を修正するステップをさらに含む、請求項1記載の方法。
  5. 前記外観オブジェクトクラスは、該外観オブジェクトクラスが再定義または修正される時に値が更新される更新カウンタを含む、請求項1記載の方法。
  6. グラフィックユーザインタフェースの複数のオブジェクトの外見を、前記外観オブジェクトクラスを該複数のオブジェクトに関連付けることによって制御するステップをさらに含む、請求項1記載の方法。
  7. 前記外観オブジェクトクラスは、グラフィックオブジェクトのプロパティである背景外見、背景オーバレイ、前景外見、前景オーバレイ、オブジェクト境界の外見、オブジェクトに割り当てられる任意の焦点の表示、およびオブジェクトに割り当てられる任意の強調表示のうちの少なくとも一つがどのように表示されるかを定義する、請求項1記載の方法。
  8. グラフィックユーザインタフェースのオブジェクトの外見を制御する装置であって、
    外観オブジェクトクラスを定義する手段と、
    前記外観オブジェクトクラスを前記オブジェクトと関連付ける手段と、
    前記オブジェクトを表示する手段と、
    を備え、
    前記オブジェクトが表示用のアプリケーションであり、
    前記外観オブジェクトクラスは、前記オブジェクトの外見を制御するように構成されており、該オブジェクトは、そのオブジェクトの第1の表現で表示可能であり、かつそのオブジェクトの第2の表現で選択的に表示可能であり、該第2の表現が前記第1の表現にフォーカスを当てることによって表示可能であり、該第1の表現がアイコンを含み、該第2の表現がテキスト記述を含み、前記外観オブジェクトクラスの外観オブジェクトが該第1の表現および該第2の表現と関連付けられる、前記装置。
JP2012091529A 1999-11-02 2012-04-13 グラフィックオブジェクトの表示 Expired - Lifetime JP5713459B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP99402721A EP1098246A1 (en) 1999-11-02 1999-11-02 Displaying graphical objects
EP99402721.7 1999-11-02
EP00300832A EP1098244A3 (en) 1999-11-02 2000-02-03 Graphical user interface
EP00300832.3 2000-02-03

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001535772A Division JP2003521764A (ja) 1999-11-02 2000-11-01 グラフィックオブジェクトの表示

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014002108A Division JP2014089751A (ja) 1999-11-02 2014-01-09 グラフィックオブジェクトの表示

Publications (2)

Publication Number Publication Date
JP2012181849A JP2012181849A (ja) 2012-09-20
JP5713459B2 true JP5713459B2 (ja) 2015-05-07

Family

ID=26072989

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2001535772A Pending JP2003521764A (ja) 1999-11-02 2000-11-01 グラフィックオブジェクトの表示
JP2001535757A Pending JP2003514273A (ja) 1999-11-02 2000-11-01 Guiでのデータ入力
JP2012091529A Expired - Lifetime JP5713459B2 (ja) 1999-11-02 2012-04-13 グラフィックオブジェクトの表示
JP2014002108A Pending JP2014089751A (ja) 1999-11-02 2014-01-09 グラフィックオブジェクトの表示

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2001535772A Pending JP2003521764A (ja) 1999-11-02 2000-11-01 グラフィックオブジェクトの表示
JP2001535757A Pending JP2003514273A (ja) 1999-11-02 2000-11-01 Guiでのデータ入力

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2014002108A Pending JP2014089751A (ja) 1999-11-02 2014-01-09 グラフィックオブジェクトの表示

Country Status (17)

Country Link
US (1) US7030890B1 (ja)
EP (3) EP1098244A3 (ja)
JP (4) JP2003521764A (ja)
KR (2) KR100666450B1 (ja)
CN (1) CN1316356C (ja)
AT (1) ATE322716T1 (ja)
AU (2) AU1293801A (ja)
BR (1) BR0015269A (ja)
CA (1) CA2389382A1 (ja)
DE (1) DE60027206T2 (ja)
HK (1) HK1045203A1 (ja)
IL (1) IL149396A0 (ja)
MX (1) MXPA02004356A (ja)
MY (2) MY130356A (ja)
NO (1) NO20022071L (ja)
RU (1) RU2267151C2 (ja)
WO (2) WO2001033344A2 (ja)

Families Citing this family (186)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6857106B1 (en) * 1999-09-15 2005-02-15 Listen.Com, Inc. Graphical user interface with moveable, mergeable elements
US8621001B2 (en) 2000-03-30 2013-12-31 Ebay Inc. System and method for dynamically changing the content of an information display
US6917961B2 (en) 2000-03-30 2005-07-12 Kettera Software, Inc. Evolving interactive dialog box for an internet web page
US8261975B2 (en) 2001-03-07 2012-09-11 Diebold, Incorporated Automated banking machine that operates responsive to data bearing records
CA2454742C (en) 2001-07-26 2011-03-08 Irise System and process for gathering, recording and validating requirements for computer applications
US20030128214A1 (en) * 2001-09-14 2003-07-10 Honeywell International Inc. Framework for domain-independent archetype modeling
US8104017B2 (en) * 2001-10-25 2012-01-24 The Mathworks, Inc. Traceability in a modeling environment
US20030160822A1 (en) * 2002-02-22 2003-08-28 Eastman Kodak Company System and method for creating graphical user interfaces
DE10208146A1 (de) * 2002-10-02 2003-09-11 Bsh Bosch Siemens Hausgeraete Verfahren zum rechnergestützten Erzeugen einer graphischen Benutzeroberfläche und Geräteüberwachungs-/Steuerungseinheit
KR100377432B1 (ko) * 2002-03-29 2003-05-09 주식회사 네오패드 문자/단어 생성 방법 및 이를 이용한 정보통신 서비스 방법
FR2840494A1 (fr) * 2002-05-28 2003-12-05 Koninkl Philips Electronics Nv Systeme de controle a distance d'une scene multimedia
TWI246297B (en) * 2002-07-02 2005-12-21 Netbuck Payment Service Co Ltd Apparatus and method for securely inputting and transmitting private data associated with a user to a server
KR100484347B1 (ko) * 2002-07-25 2005-04-20 주식회사 네오테크 화면 생성 시스템 및 방법
US20040100484A1 (en) * 2002-11-25 2004-05-27 Barrett Peter T. Three-dimensional television viewing environment
US7511710B2 (en) 2002-11-25 2009-03-31 Microsoft Corporation Three-dimensional program guide
US7890324B2 (en) * 2002-12-19 2011-02-15 At&T Intellectual Property Ii, L.P. Context-sensitive interface widgets for multi-modal dialog systems
US7376908B2 (en) * 2003-03-24 2008-05-20 Microsoft Corporation On-screen display image rendered with MPEG hardware
US20040230600A1 (en) * 2003-05-01 2004-11-18 Lockheed Martin Corporation Method and apparatus for rapidly prototyping status display
EP1636697A1 (en) * 2003-06-13 2006-03-22 Sap Ag A method of entering of data into a data processing system
US7904323B2 (en) * 2003-06-23 2011-03-08 Intel Corporation Multi-team immersive integrated collaboration workspace
US20080086716A1 (en) * 2003-09-04 2008-04-10 Lockheed Martin Corporation Method and apparatus for information display with intermediate datasource access
US20050071135A1 (en) 2003-09-30 2005-03-31 Vredenburgh David W. Knowledge management system for computer-aided design modeling
US8751950B2 (en) 2004-08-17 2014-06-10 Ice Edge Business Solutions Ltd. Capturing a user's intent in design software
US8171426B2 (en) * 2003-12-29 2012-05-01 International Business Machines Corporation Method for secondary selection highlighting
US7908566B2 (en) * 2003-12-29 2011-03-15 International Business Machines Corporation System and method for scrolling among categories in a list of documents
US7421664B2 (en) 2003-12-29 2008-09-02 International Business Machines Corporation System and method for providing a category separator in a list of documents
US8151214B2 (en) 2003-12-29 2012-04-03 International Business Machines Corporation System and method for color coding list items
EP1560104A1 (en) * 2004-01-28 2005-08-03 Sony Ericsson Mobile Communications AB Device with game-dependent user interface, method, game module and computer program product therefor
JP4475634B2 (ja) 2004-03-26 2010-06-09 キヤノン株式会社 情報処理装置および方法
WO2005093565A1 (ja) * 2004-03-26 2005-10-06 Matsushita Electric Industrial Co., Ltd. 表示処理装置及び表示処理方法
US20050235251A1 (en) * 2004-04-15 2005-10-20 Udo Arend User interface for an object instance floorplan
US7490295B2 (en) 2004-06-25 2009-02-10 Apple Inc. Layer for accessing user interface elements
US20060020904A1 (en) 2004-07-09 2006-01-26 Antti Aaltonen Stripe user interface
WO2006018744A2 (en) * 2004-08-17 2006-02-23 Dirtt Environmental Solutions, Ltd. Design software incorporating efficient 3-d rendering
US7277830B2 (en) 2004-08-17 2007-10-02 Dirtt Environmental Solutions Ltd. Capturing a user's design intent with resolvable objects
WO2009111885A1 (en) 2008-03-11 2009-09-17 Dirtt Environmental Solutions, Ltd. Automatically creating and modifying furniture layouts in design software
US8510672B2 (en) 2004-08-17 2013-08-13 Dirtt Environmental Solutions Ltd Automatically creating and modifying furniture layouts in design software
US7797724B2 (en) 2004-08-31 2010-09-14 Citrix Systems, Inc. Methods and apparatus for secure online access on a client device
US20060048064A1 (en) * 2004-08-31 2006-03-02 Microsoft Corporation Ambient display of data in a user interface
US7509260B2 (en) * 2004-09-20 2009-03-24 International Business Machines Corporation Systems and methods for inputting graphical data into a graphical input field
US20060074735A1 (en) * 2004-10-01 2006-04-06 Microsoft Corporation Ink-enabled workflow authoring
US7523387B1 (en) * 2004-10-15 2009-04-21 The Weather Channel, Inc. Customized advertising in a web page using information from the web page
US9471332B2 (en) * 2004-10-19 2016-10-18 International Business Machines Corporation Selecting graphical component types at runtime
US10216372B1 (en) * 2004-12-06 2019-02-26 The Mathworks, Inc. Automatic import to a graphical model
US7734999B2 (en) * 2005-01-03 2010-06-08 Emergis Inc. System and method for providing forms on a user interface
JP2008527525A (ja) * 2005-01-07 2008-07-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ グラフィカルなオブジェクトを検出するための方法及び電子装置
KR100631755B1 (ko) * 2005-01-25 2006-10-11 삼성전자주식회사 자바 응용 프로그램의 룩을 실시간으로 전환하는 장치 및방법
KR100704153B1 (ko) 2005-07-06 2007-04-06 삼성전자주식회사 이동통신단말기에서 메시지의 문자크기 변경 방법
JP4943674B2 (ja) * 2005-07-13 2012-05-30 沖電気工業株式会社 表示制御装置および表示制御方法
US8074248B2 (en) 2005-07-26 2011-12-06 Activevideo Networks, Inc. System and method for providing video content associated with a source image to a television in a communication network
AU2006280934B2 (en) * 2005-08-19 2012-06-28 Google Llc Software architecture for displaying information content from plug-in modules in a user interface
JP4640046B2 (ja) 2005-08-30 2011-03-02 株式会社日立製作所 デジタルコンテンツ再生装置
AU2006292506B2 (en) * 2005-09-15 2010-04-22 Fourthwall Media, Inc Self-contained mini-applications system and method for digital television
US8806368B2 (en) 2005-09-30 2014-08-12 Sap Ag User interface having quick views and full views
US7752556B2 (en) 2005-10-27 2010-07-06 Apple Inc. Workflow widgets
US9104294B2 (en) * 2005-10-27 2015-08-11 Apple Inc. Linked widgets
US7707514B2 (en) 2005-11-18 2010-04-27 Apple Inc. Management of user interface elements in a display environment
US7924884B2 (en) 2005-12-20 2011-04-12 Citrix Systems, Inc. Performance logging using relative differentials and skip recording
US7908296B2 (en) 2006-02-16 2011-03-15 Dirtt Environmental Solutions, Ltd. Integrating object-oriented design software with record-based CAD software
CN101496387B (zh) 2006-03-06 2012-09-05 思科技术公司 用于移动无线网络中的接入认证的系统和方法
CA2543304A1 (en) * 2006-04-11 2007-10-11 Ibm Canada Limited - Ibm Canada Limitee Code highlight and intelligent location descriptor for programming shells
US7840979B2 (en) * 2006-06-30 2010-11-23 Microsoft Corporation Graphical tile-based expansion cell guide
US8199113B2 (en) * 2006-09-13 2012-06-12 Savant Systems, Llc Programmable on screen display and remote control
US20080072174A1 (en) * 2006-09-14 2008-03-20 Corbett Kevin M Apparatus, system and method for the aggregation of multiple data entry systems into a user interface
WO2008088741A2 (en) * 2007-01-12 2008-07-24 Ictv, Inc. Interactive encoded content system including object models for viewing on a remote device
US9826197B2 (en) * 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
KR100877066B1 (ko) * 2007-01-22 2009-01-09 삼성전자주식회사 Layout 구조를 이용한 GUI 위짓 구성 장치 및이를 운영하는 방법
WO2008093781A1 (ja) * 2007-02-02 2008-08-07 Sony Corporation 情報処理装置および方法、並びにプログラム
US20080276170A1 (en) * 2007-02-06 2008-11-06 Access Systems Americas, Inc. System and method for generating and arranging status gadgets in a small display area
US7779367B2 (en) * 2007-02-08 2010-08-17 Microsoft Corporation Dynamic control configuration
US8010942B1 (en) * 2007-03-05 2011-08-30 Sprint Communications Company L.P. Resilient application design and displaying design profile via graphical user interface
CN100464296C (zh) * 2007-03-09 2009-02-25 华为技术有限公司 一种用户界面变换方法及系统
JP5010000B2 (ja) 2007-03-15 2012-08-29 ジーブイビービー ホールディングス エス.エイ.アール.エル. シーングラフ中のパラメータのアクセス性および制御のための方法およびシステム
CN101291402B (zh) * 2007-04-18 2011-06-15 深圳Tcl新技术有限公司 一种功能界面图片组合使用的方法及装置
CA2686601C (en) * 2007-05-07 2016-10-04 Fourthwall Media Providing personalized resources on-demand over a broadband network to consumer device applications
KR101453752B1 (ko) * 2007-05-08 2014-10-22 티피 비전 홀딩 비.브이. 뷰잉을 위해 복수의 비디오 채널들 중 하나를 선택하기 위한 방법 및 장치
US8954871B2 (en) 2007-07-18 2015-02-10 Apple Inc. User-centric widgets and dashboards
US8762864B2 (en) * 2007-08-06 2014-06-24 Apple Inc. Background removal tool for a presentation application
CN101369249B (zh) * 2007-08-14 2011-08-17 国际商业机器公司 标识软件的gui部件的方法和装置
US9785326B2 (en) * 2007-08-22 2017-10-10 Proscape Technologies, Inc. Defining and tracking an interactive user interface
US7921454B2 (en) * 2007-10-22 2011-04-05 International Business Machines Corporation System and method for user password protection
KR101204795B1 (ko) * 2007-10-23 2012-11-26 삼성전자주식회사 이종의 그래픽 시스템 기반 어플리케이션들의 화면 공유방법 및 그 장치
USD608788S1 (en) 2007-12-03 2010-01-26 Gambro Lundia Ab Portion of a display panel with a computer icon image
US8059897B2 (en) * 2007-12-10 2011-11-15 Motorola Mobility, Inc. Method for automatically performing an image processing function on an electronic device
EP2245563A4 (en) 2008-02-13 2012-04-25 Ice Edge Business Solutions Ltd RENDERING AND MODIFYING COMPUTER-AIDED DESIGN (CAD) DESIGN ENTITIES IN OBJECT-ORIENTED APPLICATIONS
US8797377B2 (en) 2008-02-14 2014-08-05 Cisco Technology, Inc. Method and system for videoconference configuration
CN101953162A (zh) * 2008-02-22 2011-01-19 夏普株式会社 集成接口装置及集成接口装置的控制方法
JP5123690B2 (ja) * 2008-02-27 2013-01-23 キヤノン株式会社 画面データ処理装置、画面データ処理方法、及びコンピュータプログラム
US9110685B2 (en) 2008-03-25 2015-08-18 Qualcomm, Incorporated Apparatus and methods for managing widgets in a wireless communication environment
US9069575B2 (en) * 2008-03-25 2015-06-30 Qualcomm Incorporated Apparatus and methods for widget-related memory management
US8390667B2 (en) 2008-04-15 2013-03-05 Cisco Technology, Inc. Pop-up PIP for people not in picture
KR101539461B1 (ko) * 2008-07-16 2015-07-30 삼성전자주식회사 멀티미디어 시스템에서 사용자 인터페이스 서비스를 제공하는 방법 및 장치
US8149431B2 (en) * 2008-11-07 2012-04-03 Citrix Systems, Inc. Systems and methods for managing printer settings in a networked computing environment
CN101876897A (zh) * 2009-04-30 2010-11-03 国际商业机器公司 用于在Web浏览器上处理Widget的系统和方法
US8407212B2 (en) * 2009-05-20 2013-03-26 Genieo Innovation Ltd. System and method for generation of a customized web page based on user identifiers
US20100325565A1 (en) * 2009-06-17 2010-12-23 EchoStar Technologies, L.L.C. Apparatus and methods for generating graphical interfaces
US9082297B2 (en) 2009-08-11 2015-07-14 Cisco Technology, Inc. System and method for verifying parameters in an audiovisual environment
JP5430504B2 (ja) * 2009-09-29 2014-03-05 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
EP2485497B1 (en) 2009-10-02 2014-11-05 Panasonic Corporation Playback device that can play stereoscopic video, integrated circuit, playback method and program
US20110080462A1 (en) * 2009-10-02 2011-04-07 Panasonic Corporation Playback device, integrated circuit, playback method, and program for stereoscopic video playback
US8601510B2 (en) * 2009-10-21 2013-12-03 Westinghouse Digital, Llc User interface for interactive digital television
JP5252352B2 (ja) * 2009-11-05 2013-07-31 クラリオン株式会社 情報端末装置、情報端末管理システム及びプログラム
WO2011066452A2 (en) 2009-11-24 2011-06-03 Ice Edge Business Solutions Inc. Securely sharing design renderings over a network
US20110145734A1 (en) * 2009-12-10 2011-06-16 Microsoft Corporation Processing Computer Implemented Action
CN101765236B (zh) * 2009-12-23 2014-04-02 宇龙计算机通信科技(深圳)有限公司 一种移动终端的界面切换方法及移动终端
USD668673S1 (en) * 2010-01-26 2012-10-09 Dassault Aviation Display screen portion with icon
KR101622635B1 (ko) * 2010-02-12 2016-05-20 삼성전자주식회사 3개의 표시부를 가지는 단말기의 데이터 운용 방법 및 이를 지원하는 단말기
US8726147B1 (en) * 2010-03-12 2014-05-13 Symantec Corporation Systems and methods for restoring web parts in content management systems
US9723360B2 (en) * 2010-04-01 2017-08-01 Saturn Licensing Llc Interests and demographics profile for advanced broadcast services
US20110247028A1 (en) 2010-04-01 2011-10-06 Mark Eyer Receiver and System Using an Electronic Questionnaire for Advanced Broadcast Services
CN101807138A (zh) * 2010-04-13 2010-08-18 华为终端有限公司 一种菜单画面显示装置和方法
KR101115423B1 (ko) * 2010-06-14 2012-02-15 알피니언메디칼시스템 주식회사 초음파 진단장치 및 그 제어방법
US8896655B2 (en) 2010-08-31 2014-11-25 Cisco Technology, Inc. System and method for providing depth adaptive video conferencing
US20120081615A1 (en) * 2010-09-30 2012-04-05 Starr Ephraim D Remote control
EP2625606A4 (en) 2010-10-08 2014-11-26 Irise SYSTEM AND METHOD FOR EXTENDING A VISUALIZATION PLATFORM
CA2814070A1 (en) 2010-10-14 2012-04-19 Activevideo Networks, Inc. Streaming digital video between video devices using a cable television system
RU2010144357A (ru) * 2010-11-01 2012-05-10 Владимир Валерьевич Канин (RU) Способ и система для обеспечения доступа абонента к сетевым данным и сетевым услугам с использованием терминальной приставки и машиночитаемые носители
US9338394B2 (en) 2010-11-15 2016-05-10 Cisco Technology, Inc. System and method for providing enhanced audio in a video environment
US8902244B2 (en) 2010-11-15 2014-12-02 Cisco Technology, Inc. System and method for providing enhanced graphics in a video environment
US8542264B2 (en) 2010-11-18 2013-09-24 Cisco Technology, Inc. System and method for managing optics in a video environment
US8723914B2 (en) 2010-11-19 2014-05-13 Cisco Technology, Inc. System and method for providing enhanced video processing in a network environment
US9111138B2 (en) 2010-11-30 2015-08-18 Cisco Technology, Inc. System and method for gesture interface control
US8972873B2 (en) * 2010-11-30 2015-03-03 International Business Machines Corporation Multi-environment widget assembly, generation, and operation
USD682294S1 (en) * 2010-12-16 2013-05-14 Cisco Technology, Inc. Display screen with graphical user interface
USD682854S1 (en) 2010-12-16 2013-05-21 Cisco Technology, Inc. Display screen for graphical user interface
CN102622156B (zh) * 2011-01-26 2016-08-03 腾讯科技(深圳)有限公司 获取虚拟键盘的方法、装置和系统
US9600785B2 (en) * 2011-01-31 2017-03-21 International Business Machines Corporation Automatically generated and updated graphical rendering of processes
EP2695388B1 (en) 2011-04-07 2017-06-07 ActiveVideo Networks, Inc. Reduction of latency in video distribution networks using adaptive bit rates
CN102209145A (zh) * 2011-05-11 2011-10-05 深圳雅图数字视频技术有限公司 基于移动终端的遥控器构建方法和具遥控功能的移动终端
US9189571B2 (en) 2011-06-11 2015-11-17 Ice Edge Business Solutions, Ltd. Automated re-use of structural components
US8793572B2 (en) 2011-06-30 2014-07-29 Konica Minolta Laboratory U.S.A., Inc. Positioning graphical objects within previously formatted text
EP2560083A1 (en) * 2011-08-18 2013-02-20 Uniqoteq Ltd A method, apparatus and computer program for providing user-specific information on a graphical user interface
KR101966708B1 (ko) * 2011-10-28 2019-08-14 삼성전자 주식회사 배경 컨텐츠 운용 방법 및 이를 지원하는 단말기
WO2013106390A1 (en) 2012-01-09 2013-07-18 Activevideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
EP2632119A1 (en) * 2012-02-27 2013-08-28 Doro AB Two-mode access linear UI
US9123084B2 (en) 2012-04-12 2015-09-01 Activevideo Networks, Inc. Graphical application integration with MPEG objects
KR101925058B1 (ko) * 2012-04-26 2018-12-04 삼성전자주식회사 초음파 장치의 버튼의 기능을 버튼에 디스플레이하는 방법 및 장치
JP2015524583A (ja) * 2012-06-27 2015-08-24 オセ−テクノロジーズ・ベー・ヴエーOce’−Nederland Besloten Vennootshap デジタルオブジェクトを表示するためのユーザ対話システム
USD726202S1 (en) 2012-07-13 2015-04-07 Thermo Electron Led Gmbh Display screen of a centrifuge with graphical user interface
US9465882B2 (en) * 2012-07-19 2016-10-11 Adobe Systems Incorporated Systems and methods for efficient storage of content and animation
US9870554B1 (en) 2012-10-23 2018-01-16 Google Inc. Managing documents based on a user's calendar
US9280656B2 (en) * 2012-11-16 2016-03-08 University-Industry Foundation, Yonsei University Device and method for providing security channel interface
US9524273B2 (en) 2013-03-11 2016-12-20 Oracle International Corporation Method and system for generating a web page layout using nested drop zone widgets having different software functionalities
US11205036B2 (en) * 2013-03-11 2021-12-21 Oracle International Corporation Method and system for implementing contextual widgets
KR20140111497A (ko) * 2013-03-11 2014-09-19 삼성전자주식회사 터치 스크린의 화면에 표시된 아이템을 삭제하는 방법, 저장 매체 및 휴대 단말
WO2014145921A1 (en) 2013-03-15 2014-09-18 Activevideo Networks, Inc. A multiple-mode system and method for providing user selectable video content
KR101352321B1 (ko) * 2013-03-18 2014-01-15 이강욱 복수의 입력 방법 간 전환 방법
US9326047B2 (en) 2013-06-06 2016-04-26 Activevideo Networks, Inc. Overlay rendering of user interface onto source video
US9294785B2 (en) 2013-06-06 2016-03-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9219922B2 (en) 2013-06-06 2015-12-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9626184B2 (en) * 2013-06-28 2017-04-18 Intel Corporation Processors, methods, systems, and instructions to transcode variable length code points of unicode characters
US9842113B1 (en) 2013-08-27 2017-12-12 Google Inc. Context-based file selection
CN103491405B (zh) * 2013-08-30 2018-06-05 小米科技有限责任公司 遥控系统、遥控器、显示设备及遥控方法
CN103489432B (zh) * 2013-08-30 2016-04-13 小米科技有限责任公司 电子设备及资源显示方法
KR20150026132A (ko) * 2013-08-30 2015-03-11 삼성전자주식회사 전자 장치를 이용하여 오브젝트를 공유하는 방법 및 장치
US9973462B1 (en) 2013-10-21 2018-05-15 Google Llc Methods for generating message notifications
US20150242377A1 (en) * 2014-02-24 2015-08-27 Autodesk, Inc. Logical structure-based document navigation
JP6220712B2 (ja) * 2014-03-26 2017-10-25 京セラ株式会社 携帯端末および携帯端末の制御方法
US20170045953A1 (en) * 2014-04-25 2017-02-16 Espial Group Inc. Text Entry Using Rollover Character Row
US10120659B2 (en) * 2014-05-30 2018-11-06 Apple Inc. Adaptive user interfaces
USD785018S1 (en) * 2014-06-02 2017-04-25 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
US9548894B2 (en) * 2014-06-06 2017-01-17 Yokogawa Electric Corporation Proximity based cross-screen experience App framework for use between an industrial automation console server and smart mobile devices
US9442906B2 (en) * 2014-10-09 2016-09-13 Wrap Media, LLC Wrap descriptor for defining a wrap package of cards including a global component
USD771652S1 (en) * 2015-02-06 2016-11-15 Samsung Electronics Co., Ltd. Display screen or portion thereof with icon
USD759084S1 (en) * 2015-06-04 2016-06-14 Security Scorecard, Inc. Display screen or portion thereof with graphical user interface for security to reduce risk
CN105468280A (zh) * 2015-11-13 2016-04-06 小米科技有限责任公司 键盘样式切换方法及装置
US10075448B2 (en) * 2016-06-06 2018-09-11 Ca, Inc. Password setup management
USD821413S1 (en) * 2017-02-23 2018-06-26 Google Llc Display screen with graphical user interface
US10824866B2 (en) * 2017-06-13 2020-11-03 The Marketing Store Worldwife, LP System, method, and apparatus for augmented reality implementation
US10788972B2 (en) * 2017-10-02 2020-09-29 Fisher-Rosemount Systems, Inc. Systems and methods for automatically populating a display area with historized process parameters
KR102431329B1 (ko) * 2017-12-14 2022-08-11 주식회사 윤디자인그룹 한글자판 선택 가능한 통합 가상키보드 제공 방법
CN108279964B (zh) * 2018-01-19 2021-09-10 广州视源电子科技股份有限公司 蒙层渲染的实现方法、装置、智能设备及存储介质
CN108563189B (zh) * 2018-04-04 2020-03-27 沈机(上海)智能系统研发设计有限公司 机床电气故障诊断系统
US11386342B2 (en) * 2018-04-20 2022-07-12 H2O.Ai Inc. Model interpretation
US11922283B2 (en) 2018-04-20 2024-03-05 H2O.Ai Inc. Model interpretation
CN110873820B (zh) * 2018-08-31 2022-04-26 宁波三星智能电气有限公司 一种基于面向对象的智能电能表显示方法
US11567787B2 (en) * 2018-09-29 2023-01-31 Or-Ment Llc User interface collaboration advisor
KR102160189B1 (ko) * 2018-11-30 2020-09-25 인천대학교 산학협력단 애니메이션 내 객체의 채색을 지원하기 위한 사용자 인터페이스를 제공하는 전자 장치 및 그의 동작 방법
USD924889S1 (en) * 2019-06-01 2021-07-13 Apple Inc. Electronic device with graphical user interface
US11303643B1 (en) 2019-06-06 2022-04-12 NortonLifeLock Inc. Systems and methods for protecting users
CN113041614B (zh) * 2019-12-26 2023-05-05 世熠网络科技(上海)有限公司 游戏中的游戏对象显示处理方法及装置、可读存储介质
TWI714480B (zh) * 2020-03-19 2020-12-21 索爾智慧機械有限公司 拉帽安裝工具測試儀器之數據顯示方法
CN112799732A (zh) * 2020-12-30 2021-05-14 深圳市捷顺科技实业股份有限公司 一种基于插件化的显示屏显示方法及相关装置
US11562043B1 (en) * 2021-10-29 2023-01-24 Shopify Inc. System and method for rendering webpage code to dynamically disable an element of template code
CN114564275A (zh) * 2022-03-16 2022-05-31 北京贝壳时代网络科技有限公司 元素列表的刷新控制方法、装置、存储介质及电子设备
US11935195B1 (en) 2022-12-13 2024-03-19 Astrovirtual, Inc. Web browser derived content including real-time visualizations in a three-dimensional gaming environment

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL91076A (en) * 1989-07-23 1993-02-21 Israel D Nebenzahl Configurable keyboard
CA2030438C (en) * 1990-01-22 2002-05-28 Donald Vincent Alecci Method of reducing data storage requirements associated with computer windowing environments
US5629720A (en) * 1991-02-05 1997-05-13 Hewlett-Packard Company Display mode processor
GB2271447A (en) * 1992-10-12 1994-04-13 Ibm Data processing system
US6259446B1 (en) * 1992-12-23 2001-07-10 Object Technology Licensing Corporation Menu state system
US5631825A (en) * 1993-09-29 1997-05-20 Dow Benelux N.V. Operator station for manufacturing process control system
CA2136367A1 (en) * 1993-12-20 1995-06-21 John Scott Anderson Dynamically specifying invocations in compiled objects
US5598523A (en) * 1994-03-31 1997-01-28 Panasonic Technologies, Inc. Method and system for displayed menu activation using a matching distinctive arrangement of keypad actuators
AU2516895A (en) 1994-05-16 1995-12-05 Apple Computer, Inc. Switching between appearance/behavior themes in graphical user interfaces
JP4190591B2 (ja) * 1994-11-08 2008-12-03 ソニー株式会社 番組選択システム、受信装置、および番組選択画面表示方法
US5732271A (en) * 1995-01-23 1998-03-24 International Business Machines Corporation Data processing system and method for processing an object oriented development environment employing property inheritance using prototypical objects
JPH08278887A (ja) * 1995-04-07 1996-10-22 Hitachi Ltd オブジェクト定義自動生成装置
US5848352A (en) 1995-04-26 1998-12-08 Wink Communications, Inc. Compact graphical interactive information system
JP2914227B2 (ja) * 1995-07-11 1999-06-28 富士ゼロックス株式会社 画像処理装置および画像処理方法
US5774121A (en) * 1995-09-18 1998-06-30 Avantos Performance Systems, Inc. User interface method and system for graphical decision making with categorization across multiple criteria
US5754173A (en) * 1996-02-28 1998-05-19 Sun Microsystems, Inc. Method and system for creating user interface independent programs with a user interface provider
US5861889A (en) * 1996-04-19 1999-01-19 3D-Eye, Inc. Three dimensional computer graphics tool facilitating movement of displayed object
US6570587B1 (en) * 1996-07-26 2003-05-27 Veon Ltd. System and method and linking information to a video
FR2752314B1 (fr) * 1996-08-12 1999-01-15 Thomson Multimedia Sa Procede de navigation dans une interface utilisateur graphique et dispositif de mise en oeuvre
US5831633A (en) * 1996-08-13 1998-11-03 Van Roy; Peter L. Designating, drawing and colorizing generated images by computer
EP0922275A4 (en) * 1996-08-28 2002-08-21 Via Inc SYSTEMS AND METHODS RELATING TO A TOUCH SCREEN
US5995653A (en) * 1996-11-15 1999-11-30 Cymbolic Sciences International, Inc. Digital image processing system and method
US7039876B2 (en) * 1997-10-06 2006-05-02 Canon Kabushiki Kaisha User interface for image acquisition devices
AR014332A1 (es) * 1998-01-30 2001-02-07 Koninkl Philips Electronics Nv Un metodo para operar un equipo de audio/video como el basado en un menu jerarquico de items seleccionados como puntos grandes y colocados en cadena yun equipo de audio/video dispuesto para practicar el metodo
US6023271A (en) * 1998-06-11 2000-02-08 Sun Microsystems, Inc. Framework for binding data viewers/data manipulation with one to many objects through introspection
US6343265B1 (en) * 1998-07-28 2002-01-29 International Business Machines Corporation System and method for mapping a design model to a common repository with context preservation
US6731314B1 (en) * 1998-08-17 2004-05-04 Muse Corporation Network-based three-dimensional multiple-user shared environment apparatus and method
US6154747A (en) * 1998-08-26 2000-11-28 Hunt; Rolf G. Hash table implementation of an object repository
US6559860B1 (en) * 1998-09-29 2003-05-06 Rockwell Software Inc. Method and apparatus for joining and manipulating graphical objects in a graphical user interface
US6577323B1 (en) * 1999-07-01 2003-06-10 Honeywell Inc. Multivariable process trend display and methods regarding same
US7797711B2 (en) * 2002-03-11 2010-09-14 Sony Corporation Graphical user interface for a device having multiple input and output nodes

Also Published As

Publication number Publication date
DE60027206D1 (de) 2006-05-18
RU2267151C2 (ru) 2005-12-27
HK1045203A1 (zh) 2002-11-15
JP2014089751A (ja) 2014-05-15
CN1316356C (zh) 2007-05-16
AU1293801A (en) 2001-05-14
WO2001033325A2 (en) 2001-05-10
KR20020050785A (ko) 2002-06-27
JP2003514273A (ja) 2003-04-15
MY138274A (en) 2009-05-29
ATE322716T1 (de) 2006-04-15
MY130356A (en) 2007-06-29
EP1228416A2 (en) 2002-08-07
EP1285337B1 (en) 2006-04-05
IL149396A0 (en) 2002-11-10
KR100666450B1 (ko) 2007-01-09
US7030890B1 (en) 2006-04-18
BR0015269A (pt) 2003-07-01
NO20022071L (no) 2002-07-02
WO2001033344A2 (en) 2001-05-10
AU781596B2 (en) 2005-06-02
EP1098244A3 (en) 2001-06-13
WO2001033325A3 (en) 2002-05-02
JP2003521764A (ja) 2003-07-15
DE60027206T2 (de) 2006-12-21
JP2012181849A (ja) 2012-09-20
MXPA02004356A (es) 2003-01-28
KR20020044181A (ko) 2002-06-14
NO20022071D0 (no) 2002-04-30
CN1433541A (zh) 2003-07-30
EP1285337A2 (en) 2003-02-26
WO2001033344A3 (en) 2002-11-28
AU1294701A (en) 2001-05-14
EP1098244A2 (en) 2001-05-09
RU2002115065A (ru) 2004-03-10
CA2389382A1 (en) 2001-05-10

Similar Documents

Publication Publication Date Title
JP5713459B2 (ja) グラフィックオブジェクトの表示
US7068266B1 (en) Windowing systems
US10061491B2 (en) System and method for producing edited images using embedded plug-in
Smith et al. Android recipes: a problem-solution approach
US20020118231A1 (en) Method of realistically displaying and interacting with electronic files
WO2001023988A9 (en) User interface display and method
CN101374213A (zh) 电视人机界面自定义的实现方法
CN112445564B (zh) 界面显示方法及电子设备、计算机可读存储介质
WO2008018506A1 (en) Image display device, image data providing device, image display system, image display system control method, control program, and recording medium
WO2008018503A1 (fr) Dispositif d&#39;affichage d&#39;images, dispositif fournisseur de données d&#39;image, système d&#39;affichage d&#39;images, procédé de commande du système d&#39;affichage d&#39;images, programme de commande et support d&#39;enregistrement
WO2008018502A1 (fr) Dispositif d&#39;affichage d&#39;images, dispositif fournisseur de données d&#39;image, système d&#39;affichage d&#39;images, procédé de commande du système d&#39;affichage d&#39;images, programme de commande et support d&#39;enregistrement
JP4926853B2 (ja) 画像表示装置、画像データ提供装置、画像表示システム、画像表示システムの制御方法、制御プログラム、および、記録媒体
MacDonald Silverlight 2 Visual Essentials
Pavlidis Fundamentals of X programming: graphical user interfaces and beyond
EP1098246A1 (en) Displaying graphical objects
Udell Mac OS X Dashboard
Widgets Mac OS X Dashboard
Jackson Introducing the Android Software Development Platform

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130710

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131003

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140109

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141031

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20141208

TRDD Decision of grant or rejection written
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150226

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150306

R150 Certificate of patent or registration of utility model

Ref document number: 5713459

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term