(57)【要約】コンピュータシステムは、ベーシック・インプット／アウトプット・システム（ＢＩＯＳ）グラフィックエンジンと、ＢＩＯＳグラフィックルックアンドフィールモジュールと、を備える。ＢＩＯＳグラフィックルックアンドフィールモジュールは、ＢＩＯＳグラフィックエンジンとは分離しており、オペレーティングシステムがシステムの制御を取得する前にユーザに示されるＢＩＯＳグラフィックユーザインタフェース表示の外観及び動きを定義する、ルックアンドフィール定義を備える。ＢＩＯＳグラフィックエンジンは、ユーザに対して表示される情報を、統一された外観及び動きを提供するルックアンドフィール定義に従って、ユーザに提供されるグラフィック表示に変換する。【選択図】図１
2011509486.tif 000002
【特許請求の範囲】
【請求項１】
ベーシック・インプット／アウトプット・システム（ＢＩＯＳ）グラフィックエンジンと、
前記ＢＩＯＳグラフィックエンジンから分離したＢＩＯＳグラフィックルックアンドフィールモジュールとを備え、
前記ＢＩＯＳルックアンドフィールモジュールは、オペレーティングシステムが前記システムの制御を取得する前にユーザに示されるＢＩＯＳグラフィックユーザインタフェース表示の外観及び動きを定義する、ルックアンドフィール定義を備え、
前記ＢＩＯＳグラフィックエンジンは、ユーザに対して表示される情報を、前記ルックアンドフィール定義に従い変換して、統一された外観及び動きを、前記ユーザに提供されるグラフィック表示に提供することを特徴とするコンピュータシステム。
【請求項２】
前記ＢＩＯＳグラフィックルックアンドフィールモジュールを、前記ＢＩＯＳグラフィックエンジンとは別の記憶装置に保存することを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記ＢＩＯＳグラフィックルックアンドフィールのインストールが、前記ＢＩＯＳグラフィックエンジンのインストールから独立していることを特徴とする請求項１に記載のコンピュータシステム。
【請求項４】
前記ＢＩＯＳグラフィックルックアンドフィールモジュールを変更することで、前記グラフィック表示の外観及び動きを変更することを特徴とする請求項１に記載のコンピュータシステム。
【請求項５】
前記ＢＩＯＳグラフィックルックアンドフィールモジュールは、背景画像、背景透明度、フォント文字サイズ、フォント文字色、フォント文字間隔、フォント文字輪郭色、フォント文字輪郭厚みから成る群から選択される少なくとも１つの表示属性を提供することを特徴とする請求項１に記載のコンピュータシステム。
【請求項６】
前記ＢＩＯＳグラフィックルックアンドフィールモジュールは、境界画像、境界画像透明度、境界画像回転、ボタン画像、ボタン画像透明度、ボタン選択画像、ボタン選択画像透明度、ボタンロールオーバ画像、ボタンロールオーバ画像透明度から成る群から選択される少なくとも１つの表示属性を提供することを特徴とする請求項１に記載のコンピュータシステム。
【請求項７】
前記ＢＩＯＳグラフィックルックアンドフィールモジュールは、指紋待機画像、指紋待機画像透明度、指紋受付画像、指紋受付画像透明度、指紋エラー画像、指紋エラー画像透明度から成る群から選択される少なくとも１つの表示属性を提供することを特徴とする請求項１に記載のコンピュータシステム。
【請求項８】
前記ＢＩＯＳグラフィックエンジンは、前記ユーザが前記ＢＩＯＳグラフィックインタフェースと対話しない時間間隔に、直ぐに表示する必要がないグラフィック要素をレンダリングする背景処理を備えることを特徴とする請求項１に記載のコンピュータシステム。
【請求項９】
前記ＢＩＯＳグラフィックエンジンにより、グラフィック要素の背景処理を、要素を他の要素より先に表示する可能性に応じて実行することを特徴とする請求項８に記載のコンピュータシステム。
【請求項１０】
前記ＢＩＯＳグラフィックエンジンは、前記グラフィック要素に関する変更が検出された場合のみ、前にレンダリングしたグラフィック要素を再度レンダリングすることを特徴とする請求項１に記載のコンピュータシステム。
【請求項１１】
ＢＩＯＳグラフィックユーザインタフェースを生成するＢＩＯＳグラフィックエンジンを実行し、
前記ＢＩＯＳグラフィックユーザインタフェースで、ユーザに表示する情報を作成し、前記ＢＩＯＳグラフィックエンジンから分離されるＢＩＯＳデータ構成要素を実行し、
ＢＩＯＳグラフィックインタフェース表示の外観及び動きを、ＢＩＯＳグラフィックルックアンドフィールモジュールから定義するルックアンドフィール定義を読み出し、前記ルックアンドフィールモジュールは、前記ＢＩＯＳグラフィックエンジン及び前記ＢＩＯＳデータ構成要素から分離され、
前記ＢＩＯＳグラフィックエンジンで、前記ルックアンドフィールモジュールから読み出した前記ルックアンドフィール定義、及び前記ＢＩＯＳデータ構成要素が提供する情報を処理して、前記情報を含み、前記ルックアンドフィール定義で決定する外観及び動きを有するＢＩＯＳグラフィックユーザインタフェース表示を作成することを含むことを特徴とする方法。
【請求項１２】
前記ＢＩＯＳグラフィックエンジン又は前記ＢＩＯＳデータ構成要素を再インストールせずに、前記ＢＩＯＳグラフィックユーザインタフェースの前記ルックアンドフィールを、ＢＩＯＳグラフィックルックアンドフィールモジュールをコンピュータシステムにインストールすることによって変更することをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
変換プログラムを実行して、前記ＢＩＯＳグラフィックユーザインタフェースの前記ルックアンドフィールを定義する画像を、ルックアンドフィールモジュールに変換することを更に含むことを特徴とする請求項１１に記載の方法。
【請求項１４】
複数のＢＩＯＳデータ構成要素が提供する情報を、前記ルックアンドフィールモジュールから読み出した前記ルックアンドフィール定義に応じて処理して、統一ルックアンドフィールを、全ＢＩＯＳグラフィックユーザインタフェース表示に提供することを更に含むことを特徴とする請求項１１に記載の方法。
【請求項１５】
前記ユーザが前記グラフィックインタフェースと対話しない時間間隔に直ぐに表示する必要がないグラフィック要素をレンダリングすること（背景レンダリング）を更に含むことを特徴とする請求項１１に記載の方法。
【請求項１６】
前記要素を他の要素より先に表示する可能性に基づいて背景レンダリングするグラフィック要素を選択することを更に含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記要素に関する変更を検出された場合、前にレンダリングしたグラフィック要素を再度レンダリングすることを更に含むことを特徴とする請求項１１に記載の方法。
【請求項１８】
コンピュータＢＩＯＳグラフィックインタフェースのルックアンドフィールを定義する手段と、
コンピュータＢＩＯＳ用グラフィック表示をレンダリングする手段とを備え、
前記レンダリング手段及び前記定義手段は、別々の構成要素であり、前記レンダリング手段は、表示する全ＢＩＯＳデータを前記定義手段に応じて処理して、一貫した外観及び動きをＢＩＯＳグラフィック表示に提供することを特徴とするシステム。
【請求項１９】
ユーザが前記グラフィックインタフェースと対話していない時間間隔中に、直ぐに表示する必要がないグラフィックレンダリングを作成する前記背景にグラフィックレンダリングを作成する手段を更に備えることを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記レンダリングを表示するまでの予測時間に応じて、未だ表示していないグラフィックレンダリングを順位付けする手段を更に備えることを特徴とする請求項１８に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータには通常、ベーシック・インプット／アウトプット・システム（ＢＩＯＳ）コードと呼ばれる実行可能コードを備える。ＢＩＯＳコードを実行して、コンピュータを初期化（起動）させ、Ｍｉｃｒｏｓｏｆｔ（商標登録）Ｗｉｎｄｏｗｓ（商標登録）又はＬｉｎｕｘ等の、オペレーティングシステムに制御を移す。更に、ＢＩＯＳにより、コンピュータのハードウェアをテストして、確実に適切に動作をさせ、周辺機器に存在する特別なＢＩＯＳコード（例えば、グラフィックボードのグラフィックＢＩＯＳ）を配置し、例えば、オペレーティングシステムによって使用できる、記憶ドライブへのアクセスや入力装置との対話等といったコンピュータの低レベル関数に対する、様々なインタフェースを提供する。
【０００２】
ＢＩＯＳは通常、リセット時にコンピュータプロセッサがアドレスを指定できるリード・オンリ・メモリ（ＲＯＭ）又はフラッシュメモリ素子に保存される。これらの素子はＢＩＯＳプログラムへのアクセスを提供して、コンピュータを起動させる一方で、ＢＩＯＳ記憶用に使用可能なメモリ量を制限することもできる。
【０００３】
ＢＩＯＳは通常、現代のコンピュータを操作する際にユーザが思い浮かべるグラフィカルインタフェースよりはむしろ、初期のテキストインタフェースを介して、コンピュータユーザと対話する。ＢＩＯＳユーザインタフェースを介して、コンピュータユーザは様々なシステム設定にアクセスでき変更できる。かかる設定の例としては、システムの日時、ドライブ構成、セキュリティ設定、電力管理設定、メモリタイミングが挙げられる。更に、ＢＩＯＳにより、パスワードの入力、又は指紋スキャニング等の生体認証による、ユーザ認証を行ってもよい。テキストインタフェースは比較的開発が容易で、システム資源を殆ど消費しないが、コンピュータユーザは、グラフィカルインタフェースの簡易さや視覚的訴求力に既に慣れてしまっている。従って、効率的にメモリ及び演算資源を活用できるフレキシブルなＢＩＯＳグラフィカルインタフェースが望ましい。
【０００４】
（注釈及び用語）
特定の用語を、以下の記載及びクレーム中では使用して、特有のシステム構成要素を示す。当業者には明らかなように、コンピュータ企業毎に構成要素を別の名称で呼んでいるかも知れない。本明細書では、名称が異なるが機能は同じな構成要素間では区別はしていない。以下の説明及びクレームでは、用語「含む」及び「備える」は、非限定的に用い、従って、「〜を含むがこれに限定されるものではない」を意味するとして解釈すべきものとする。また、用語「結合」は、間接的、直接的、光学的又は無線による電気的接続を意味するものとする。従って、第１装置を第２装置に結合した場合、その接続は、直接的な電気的接続、他の装置及び接続を介しての間接的な電気的接続、光学的な電気的接続、又は無線による電気的接続としてもよい。用語「システム」は、２台以上のハードウェア及び／又はソフトウェア構成要素の集合体を指し、電気的装置又は複数の電気的装置、又はそれらのサブシステムを指すのに使用してもよい。更に、用語「ソフトウェア」には、そのソフトウェアを保存するために使用する媒体とは関係なく、プロセッサで実行できる実行可能なコードを含む。従って、不揮発性メモリに保存され、「組み込みファームウェア」と呼ばれることもあるコードを、ソフトウェアの定義に含む。
【０００５】
本発明の例示的な実施例に関して詳細に記載するために、次に添付図について言及する。
【図面の簡単な説明】
【０００６】
【図１】様々な実施例による、カスタマイズ可能な統一ルックアンドフィールを特徴付けるＢＩＯＳグラフィカルユーザインタフェースを備えるシステムのブロック図を示す。
【図２】様々な実施例による、情報及びルックアンドフィールデータを処理して、統一ルックアンドフィールを有するグラフィックＢＩＯＳ表示を作成するフロー図を示す。
【図３】様々な実施例による、ＢＩＯＳグラフィカルインタフェースに、カスタマイズ可能な統一ルックアンドフィールを提供する方法のフロー図を示す。
【図４】様々な実施例による、ＢＩＯＳグラフィック要素を背景処理する方法のフロー図を示す。
【図５】様々な実施例による、ＢＩＯＳグラフィック表示をレンダリングする方法のフロー図を示す。
【図６】様々な実施例による、ＢＩＯＳグラフィック要素を背景レンダリングする方法のフロー図を示す。
【図７】様々な実施例による、背景処理を使用して、オブジェクトのレンダリングを作成する方法のフロー図を示す。
【図８】様々な実施例による、複数のオブジェクトレンダリングの例を示す。
【発明を実施するための形態】
【０００７】
以下の説明は、本発明の様々な実施例について行う。これらの実施例の内１例又は複数が好適かも知れないが、開示した実施例は、クレームを含め、開示の範囲を限定するものとして解釈、或いは使用されるべきものではない。また、当業者は、以下の記載は応用範囲が広く、どの実施例に関する説明も、当該実施例の例示となるのみで、クレームを含む開示の範囲を当該実施例に限定することを暗示するものではない。
【０００８】
図１では、様々な実施例による、カスタマイズ可能な統一「ルックアンドフィール」を持つＢＩＯＳグラフィカルユーザインタフェースを備えるシステムのブロック図を示す。本開示で使用する「ルックアンドフィール」とは、ユーザインタフェースの外観及び操作のことを言う。統一ルックアンドフィールとは、ユーザインタフェース表示全域での外観と操作との一貫性のことを言う。かかる一貫性により、グラフィカルインタフェースが学び易く且つ使い易くなり、完璧なインターフェースである感覚を提供できる。システム１００には、プロセッサ１０２と、ノースブリッジ１０４と、サウスブリッジ１１２とを備える。様々な実施例では、ノースブリッジ１０４及びサウスブリッジ１１２を、別々の構成要素として、又は単一の構成要素として実装してもよい。システム１００にはまた、典型的にはダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）といった揮発性メモリ１０６を備えるが、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、又は他の適当なランダムアクセスメモリ技術も使用してもよい。表示装置１０８により、ユーザに視覚情報を提供する。液晶表示装置、ブラウン管表示装置、プラズマ表示装置、有機発光ダイオード表示装置、エレクトロルミネッセンス表示装置、投写型表示装置、又はテキストやグラフィックスをユーザに対して表示するのに使用する他の表示装置技術を、採用してもよい。
【０００９】
ベーシック・インプット／アウトプット・システム（ＢＩＯＳ）記憶部１１４には、コンピュータを起動させ、Ｌｉｎｕｘ又はＭｉｃｒｏｓｏｆｔ（商標登録）Ｗｉｎｄｏｗｓ（商標登録）等の、オペレーティングシステムへと制御を移すＢＩＯＳプログラム１２２を備える。本明細書で使用する用語ＢＩＯＳには、ユニファイド・エクステンシブル・ファームウェア・インタフェース（ＵＥＦＩ）に基づくプログラム等の、当業者に既知の様々な起動プログラム、初期化プログラム、オペレーティングシステムのスタートアッププログラムを、包含するものとする。ＢＩＯＳ記憶部１１４を、製造時に固定したコンテンツを有するリード・オンリ・メモリ（ＲＯＭ）、コンテンツを製造後に変更してもよいフラッシュメモリ、又はＢＩＯＳを保存するのに適する、他の種類の不揮発性メモリ、例えばプログラマブルＲＯＭ（ＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、磁気抵抗ランダムアクセスメモリ（ＭＲＡＭ）、又は強誘電体メモリとして実装してもよい。実施例によっては、ＢＩＯＳプログラム１２２を直接ＢＩＯＳ記憶部１１４から実行する。他の実施例では、ＢＩＯＳプログラム１２２の全て又は一部を、ＢＩＯＳ記憶部１１４から揮発性メモリ１０６にコピーして実行する。
【００１０】
外部記憶装置１１０により、ＢＩＯＳ記憶部１１４とは別に、プログラム及びデータ要素を記憶する。外部記憶装置１１０には典型的には、ハードドライブを備えるが、大体の場合フラッシュドライブ又はＢＩＯＳ記憶部１１４から分離した他の不揮発性記憶媒体を備えてもよい。従って、本明細書で使用する「外部記憶装置」は、ＢＩＯＳ記憶部１１４の外部にあるデータ記憶装置のことを言う。外部記憶装置１１０を、オペレーティングシステムのファイルアクセスを介して、ユーザがアクセス可能（書き込み、読み込み等）にする。対照的に、ＢＩＯＳ記憶部１１４への書き込みは、特別なＢＩＯＳプログラミングツールに制限して、ＢＩＯＳが破損する可能性を抑える。外部記憶装置１１０の容量を、典型的にはＢＩＯＳ記憶部１１４の容量より大幅に大きくする。例えば、外部記憶装置１１０には、一般的に少なくともギガバイト単位で示される容量を有する一方、ＢＩＯＳ記憶部１１４を、数メガバイトに制限してもよい。外部記憶装置１１０をシステム１００の残りと結合するインタフェース（例えば、アドバンスト・テクノロジー・アタッチメント、スモール・コンピュータ・システム・インタフェース、ユニバーサル・シリアル・バス、ファイバ・チャネル等）を、ソフトウェアで制御し、システム１００のソフトウェアが動作するまで、装置１１０をアクセス不可能にする。一方、システム１００を起動するために、ＢＩＯＳ記憶部１１４をソフトウェア支援無しでアクセス可能にする。
【００１１】
ＢＩＯＳプログラム１２２には、コンピュータユーザがシステム１００の様々な操作設定にアクセスし変更可能にする、ユーザインタフェースのプログラムを備える。ＢＩＯＳプログラム１２２により、容易にカスタマイズ可能な統一ルックアンドフィールを有するグラフィカルユーザインタフェースを提供する。ＢＩＯＳプログラム１２２でのグラフィカルインタフェース処理を、３構成要素に分割する。グラフィックエンジン１１６には、処理ルーチン１２８、即ち、グラフィックで強化したＢＩＯＳユーザインタフェース表示を生成するコード及びロジックを備える。ルックアンドフィールのモジュール１２０により、ユーザ表示に含まれるグラフィック要素の外観及び振る舞いを特定し、データ１２６には、例えば、プロンプト、フィードバック又はグラフィカルインタフェースを介した他の通信の形でユーザに与えられる文字列といった情報を備える。
【００１２】
図２で示すように、生データ１２６及び表示の外観及び振る舞いを定義するルックアンドフィールデータ１２０を、処理ルーチン１２８に提供する。処理ルーチン１２８では、生データ１２６を取り出し、ルックアンドフィールデータ１２０を用いて、データ１２６を表示及び変換して、統一ルックアンドフィール２０２を有する表示を作成する。ＢＩＯＳグラフィックデータを分割し、独立したモジュールに処理することで、実施例では、全ＢＩＯＳユーザプロンプト及び情報表示に、一貫したルックアンドフィールを提供できる一方で、ルックアンドフィール情報を様々なユーザ対話構成要素に統合しないようにできる。かかる統合によって、ルックアンドフィールを変更することが一層困難になり、そうした変更を要求すると、むやみに技術資源を消費し、結果的にデータ構成要素全体のルックアンドフィールが異なり易くなる。本明細書で記載した、独立した処理モジュール、データモジュール、ルックアンドフィールモジュールを備えた実施例では、そうした困難を避けることができる。
【００１３】
再び図１を参照すると、ルックアンドフィールモジュール１１８を、外部記憶装置１１０に含めている。単一モジュール内でルックアンドフィールデータを分離することで、実施例では、ＢＩＯＳグラフィック表示のルックアンドフィールを、処理ルーチン１２８又はデータ１２６に影響を与えずに変更できる。例えば、ルックアンドフィールモジュール１２０を、製造中に他のＢＩＯＳプログラム１２２の構成要素と共に、ＢＩＯＳ記憶部１１４にプログラミングしてもよい。製造後に、ＢＩＯＳグラフィカルインタフェースのルックアンドフィールを、新たなＢＩＯＳルックアンドフィールモジュール１１８をルックアンドフィールモジュール１２０の代わりに使用して、置換えて変更できる。実施例によっては、ＢＩＯＳインタフェースのルックアンドフィールを、新たなルックアンドフィールモジュール１１８を外部記憶装置１１０に書き込むことで変更するものもある。ルックアンドフィールを定義するグラフィック要素のサイズは、ＢＩＯＳ記憶装置１１０のサイズが比較的小さいことから、記憶装置が外部記憶装置１１０に必要となるかも知れない。他の実施例では、ＢＩＯＳ記憶部１１４のルックアンドフィールモジュール１２０を新たなルックアンドフィールモジュールで上書きして、ＢＩＯＳルックアンドフィールを変更する。従って、実施例では有利には、ＢＩＯＳソフトウェア開発中にはインタフェースのルックアンドフィールを考慮する必要はない。ＢＩＯＳインタフェースのルックアンドフィールの設計を、設計専門家に任せて、その結果得られたルックアンドフィールモジュール１１８、１２０を製造後にシステム１００に組込み、ＢＩＯＳファームウェア開発又はシステム製造に影響を与えないようにできる。
【００１４】
ルックアンドフィールモジュール１１８、１２０には、様々な画像とＢＩＯＳユーザインタフェースのルックアンドフィールを定義する制御情報とを備える。ルックアンドフィールモジュール１２０の１実施例には、例えば、（１）背景画像及び透明度、（２）サイズ、位置、背景画像及び透明度、境界画像及び透明度、及び表示領域内の文字のサイズ、色、間隔、行端揃えを特定するフロントパラメタを含む、表示領域の定義、（３）背景画像にオーバレイする画像、及びそのオーバレイ位置及び透明度、（４）ボタン選択中に表示する画像、及びカーソルがボタンを通過すると表示する画像を含む、ボタン画像及び透明度、（５）ヘルプ情報のフィールド幅及び振る舞い、（６）ポップアップボックスの背景、境界、透明度及びフロントパラメタ、（７）ユーザインタフェースのルックアンドフィールを特定する他のパラメタを備える。
【００１５】
ユーザ認証を提供するＢＩＯＳプログラム１２２の実施例、例えば指紋スキャニングを支援する実施例には、ユーザにかかる認証の必要性や妥当性の状態を通知するよう指示するルックアンドフィール要素を含んでもよい。かかる要素として、指紋スキャニング待機画像及び透明度、指紋スキャニング受付画像及び透明度、指紋スキャニングエラー画像及び透明度を含んでもよい。
【００１６】
図３は、様々な実施例による、ＢＩＯＳグラフィカルインタフェース用にカスタマイズ可能な統一ルックアンドフィールを提供する方法に関するフロー図を示す。便宜上順番に示したが、少なくとも幾つかの図示したアクションを、異なる順番及び／又は並行して実行できる。ブロック３０２では、ＢＩＯＳグラフィックエンジン１１６を、ＢＩＯＳ記憶装置１１４にインストールする。ＢＩＯＳグラフィックエンジン１１６により、ＢＩＯＳグラフィカルユーザインタフェース用表示を生成する。ＢＩＯＳグラフィカルユーザインタフェースの表示に関するプロンプト又は他の情報を提供する、様々なデータソース構成要素１２６を、ブロック３０４でＢＩＯＳ記憶装置１１４にインストールする。ＢＩＯＳグラフィックエンジン１１６もデータソース構成要素１２６も、ＢＩＯＳグラフィカルユーザインタフェース表示に適用するルックアンドフィールを定義しない。
【００１７】
ブロック３０６では、ＢＩＯＳグラフィカルインタフェースのルックアンドフィールを設計する。ルックアンドフィール設計に取り組むタイミングは、システム１００の設計又は製造といった他の側面によって制約されない、これは、ルックアンドフィールモジュール１２０を、ＢＩＯＳグラフィックエンジンの処理ルーチン１２８又はデータソース構成要素１２６に組込まないためである。ＢＩＯＳグラフィカルユーザインタフェースの視覚的訴求力を最大化するために、ルックアンドフィールを、ソフトウェアエンジニア又はプログラマではなく、むしろグラフィックデザイナ等の設計専門家が、ルックアンドフィール要素を定義するに当っての一連の指針に沿って設計してもよい。変換プログラムにより、ルックアンドフィールのデザイナが供給したルックアンドフィール構成ファイル及びそれに付帯する画像を処理して、ブロック３０８で、ＢＩＯＳグラフィックエンジン１１６が使用するのに適するルックアンドフィールのバイナリモジュール１２０を作成する。ルックアンドフィールモジュール１２０には、ＢＩＯＳグラフィックエンジンの処理ルーチン１２８が、ルックアンドフィールをユーザに対して表示するデータ１２６に適用可能になるように、あらゆる適当なルックアンドフィール情報を含有する。
【００１８】
ブロック３１０では、ルックアンドフィールモジュール１２０をシステム１００にインストールする。実施例によっては、ルックアンドフィールモジュール１２０を、ＢＩＯＳ記憶装置１１４にインストールする。他の実施例では、ルックアンドフィールモジュール１１８を、外部記憶装置１１０にインストールする。
【００１９】
ブロック３１２では、ＢＩＯＳグラフィックエンジンの処理ルーチン１２８によりデータ１２６、例えば、ユーザに対して表示するプロンプト又は他の情報を、ルックアンドフィールモジュール１２０から読み出したルックアンドフィールデータを使用して、処理し、統一ルックアンドフィールを有するＢＩＯＳグラフィカルユーザインタフェースを提供する。新たなルックアンドフィールを所望する場合、プロセスをブロック３０６のルックアンドフィール設計と継続させる。新たなルックアンドフィールを、ブロック３１０で、前にインストールした処理ルーチン１２８又はデータ１２６を妨害せずに、インストールする。従って実施例では、ＢＩＯＳグラフィカルインタフェースのルックアンドフィール１２０の設計及びインストールを、ＢＩＯＳグラフィックエンジンの処理ルーチン１２８及びデータ構成要素１２６の設計及びインストールから切離す、その結果ＢＩＯＳユーザインタフェースの設計が簡素化され、且つ自由度が増す。
【００２０】
表示するグラフィック要素を準備すること、例えばシェーディング又は可変な透明度を施すことは、時間がかかるプロセスである。そうしたグラフィック要素の表示を迅速化するために、ＢＩＯＳグラフィックエンジン１１６の実施例では、背景処理１２４を採用して、ユーザがグラフィック要素を見たいと所望する前に、これらの要素をレンダリングする。図４では、様々な実施例により、ＢＩＯＳグラフィック要素を背景処理する方法に関するフロー図を示す。便宜上順番に示したが、少なくとも幾つかの図示したアクションを、異なる順番及び／又は並行して実行できる。ブロック４０２で、ＢＩＯＳグラフィックユーザインタフェースをアクティブにする。グラフィック要素を、表示装置１０８に表示し、ＢＩＯＳをユーザ対話に応じて使用可能にする。ＢＩＯＳにより、ブロック４０６で、ユーザ対話をチェックする。ユーザがグラフィカルインタフェースと対話していない場合、ＢＩＯＳグラフィックエンジンにより、ブロック４０８で背景のレンダリングを行う。
【００２１】
背景レンダリング中は、ＢＩＯＳグラフィックエンジンで、その時点で表示する必要がなく、後で表示する可能性が高いグラフィック要素をレンダリングする。例えば、１実施例では、グラフィック要素の様々なレンダリングを、標準レンダリング、ロールオーバレンダリング、アクティブ化レンダリング、選択レンダリングとして定義する。標準レンダリングは、レンダリングする要素が、選択も、アクティブ化もされていない、又はカーソル下にない（ロールオーバされていない）場合の通常の状態である。ロールオーバレンダリングは、移動するカーソル下に位置するグラフィック要素が表示された状態である。例えば、ロールオーバレンダリングをハイライト表示にしてもよい。選択レンダリングは、要素を選択可能で、その時点で選択中の場合に要求されるレンダリングである。アクティブ化レンダリングは、該要素の選択又はロジックが使用される状態の場合に必要となる。例えば、プルダウンダウンメニューが、アクティブにした時のみ示されるようにする。形状（ユーザが対話するグラフィック表示）を表示する場合、形状要素の全標準レンダリングを完了した後に、当該形状を完全に表示可能にしなければならない。形状を表示した後、形状要素の別のレンダリング（例えば、ロールオーバ、選択、アクティブ化）を、ユーザの対話を待つ間に背景で処理してもよい。例えば、カーソル付近の要素の別のレンダリングを、他の要素より先に表示する必要があるかも知れず、その結果、１実施例では、カーソルに最も近い要素を最優先要素と見なし、それらの要素を離れた要素をレンダリングする前に、背景処理によりレンダリングしてもよい。近い将来に表示する可能性が高いグラフィック要素を予めレンダリングすることで、ＢＩＯＳグラフィックエンジンにより、オペレータとの対話から表示を更新するまでの時間を短縮でき、その結果対話についてユーザに対する感応度が高くなる。
【００２２】
インタフェースとのユーザ対話をブロック４０６で検出すると、ユーザ対話をブロック４０４で処理し、その後処理を引続きブロック４０６で行う。
【００２３】
図５では、様々な実施例による、ＢＩＯＳグラフィック表示をレンダリングする方法についてのフロー図を示す。便宜上順番に示したが、少なくとも幾つかの図示したアクションを、異なる順番及び／又は並行して実行できる。ブロック５０２では、ユーザは見たい形状を選択して、ＢＩＯＳグラフィカルインタフェースと対話する。ある形状を表示用に選択すると、その形状の、標準レンダリングを前に作成していないグラフィック要素（オブジェクト）の全てを、処理して標準レンダリングを提供した後に、当該形状を完全に表示できるようにする必要がある。ブロック５０４では、形状オブジェクトを、標準レンダリング用に選択する。このオブジェクトの標準レンダリングを、ブロック５０６で行う。ブロック５０８で、全ての形状オブジェクトの標準レンダリングが完了していない場合、未だレンダリングしていないオブジェクトを、ブロック５０４で選択して、レンダリングを継続する。ブロック５０８で、全ての形状オブジェクトの標準レンダリングが完了した場合、当該形状をブロック５１０で表示する。
【００２４】
ブロック５１０で形状の標準レンダリングを表示した後、インタフェースをブロック５１２でユーザ対話に関してチェックする。ユーザ対話が検出されなければ、背景レンダリングをブロック５１４で行う。背景レンダリングにより、形状オブジェクトのロールオーバレンダリング等の近い将来表示される可能性が高いグラフィック要素を、ユーザがＢＩＯＳグラフィカルインタフェースと対話していない合間に、レンダリングするように操作する。背景レンダリング５１４を、少なくとも所定時間継続した後、ブロック５１２に戻り、インタフェースとのユーザ対話についてチェックする。ユーザ対話をブロック５１２で検出すると、ユーザ対話をブロック５１６で処理する。ユーザ対話により、ブロック５１８で別の形状の表示を命令すると、実行をブロック５０２で継続する。新たな形状を必要としなければ、インタフェースとのユーザ対話についてのポーリングを、ブロック５１２で継続する。
【００２５】
図６では、様々な実施例による、ＢＩＯＳグラフィック要素を背景レンダリングする方法に関するフロー図を示す。実施例では、現在表示中でないグラフィック要素のバージョンを予めレンダリングする背景レンダリングを採用する。背景レンダリングにより、予めレンダリングした要素を表示するのに要する時間を短縮でき、その結果、より感応度が高いユーザインタフェースとなる。便宜上順番に示したが、少なくとも幾つかの図示したアクションを、異なる順番及び／又は並行して実行できる。背景レンダリングをブロック６０２で開始するが、ブロック６０２では、形状及びグラフィック要素の優先順位を、処理のために選択する。処理の優先順位を、これらのレンダリングを表示する可能性に応じて表示してもよい様々なレンダリングに対して割当てる。１実施例では、例えば、レンダリング優先順位を以下のように割当てる：第１優先順位（最も表示される可能性が高い）を、現形状をした選択オブジェクトのアクティブ化レンダリングに割当て、第２優先順位を現形状のロールオーバレンダリングに割当て、第３優先順位を現形状の選択レンダリングに割当て、第４優先順位を、現形状で、特定のオブジェクト等の選択したアイテムに対する近さでランク付けした現形状からリンクしてもよい形状の標準レンダリングに割当てる。
【００２６】
背景レンダリングを、比較的短期間の時間スライス（間隔）内に行う。ブロック６０４では、背景レンダリング時間を測定するのに用いるタイマをリセットする。選択した形状のレンダリング及び優先順位を、ブロック６０８で、前セッションでレンダリングを停止したポイントから継続する。ＢＩＯＳグラフィックエンジン１１６の実施例では、各グラフィック要素に対して前に行ったレンダリング、及びユーザ対話が前にレンダリングした要素を再びレンダリングするよう命令するか否かを追跡記録する。この追跡記録により、選択した形状の背景レンダリングを、要求された優先順位の未だレンダリングしていないオブジェクトを選択して再開可能になる。ブロック６１２では、選択したオブジェクトのレンダリングを開始し、完了すると、そのレンダリングを以後表示するために保存する。
【００２７】
背景レンダリング用タイマを、ブロック６１８でチェックする。タイマが終了していなければ、現在のレンダリングを、ブロック６２０で完了しているかチェックする。レンダリングを更に複数の処理ステップに分割したために、ブロック６１２で開始したレンダリングサイクルが結果的にオブジェクトの最終レンダリングとならなかった場合には、当該オブジェクトのレンダリングを、ブロック６１２で継続する。オブジェクトのレンダリングがブロック６２０で完了していることが分かり、現形状について選択した優先順位の全オブジェクトがブロック６２２でレンダリングされたと分かった場合、背景レンダリングを、ブロック６０２で、レンダリングの形状及び優先順位を選択して継続する。現形状についてのオブジェクト及び選択した優先順位のオブジェクトが、ブロック６２２で未だレンダリングすべき状態であった場合、ブロック６２４で、次のオブジェクトをレンダリングのために選択し、背景レンダリングをブロック６１２で継続する。
【００２８】
ブロック６１８で、背景レンダリングタイマが終了したことが分かると、ブロック６１６で、インタフェースとのユーザ対話をチェックする。ユーザがインタフェースと対話していなければ、背景処理をブロック６２０で継続し、ブロック６２０では現在のオブジェクトレンダリングが完了しているかをチェックする。一方、ユーザがインタフェースと対話していれば、ユーザ対話をブロック６１４で処理する。ユーザ対話を処理した後、更なるユーザ対話のためのポーリングをブロック６１０で行う。ユーザ対話が検出されると、ブロック６１４で処理が行われる。ユーザ対話が全く検出されなければ、背景レンダリングを、ブロック６０２で形状及び優先順位を選択して継続する。
【００２９】
図７では、様々な実施例による背景処理を使用して、オブジェクトのレンダリングを作成する方法に関するフロー図を示す。便宜上順番に示したが、少なくとも幾つかの図示したアクションを、異なる順番及び／又は並行して実行できる。図７で示したアクションは、単一オブジェクトについてのレンダリングと見なす。１実施例では、１つ又は複数の図示したアクションを、背景レンダリング時間間隔内に行ってもよい。他の実施例では、複数の背景レンダリング時間間隔に亘り、図示したアクションを分割してもよい。オブジェクトの実施例では、図示したものより多い又は少ないレンダリングを必要とするかも知れない。本開示の実施例は、かなり多数のレンダリングに限定するものではなく、むしろＢＩＯＳグラフィカルユーザインタフェースを作成するのに必要な任意の数のレンダリングを包含するものとする。
【００３０】
ブロック７０２では、オペレーションコード（オペコード）、プロンプト列トークン、ヘルプ列トークン、一連のオプション列トークンを備えた生入力データを、背景処理１２４に提供する。オペコードにより、実行するレンダリングを特定する。各トークンには、文字列を備える。これらの列を、ブロック７０４でトークンから抽出する。第１中間処理段階であるブロック７０６では、各文字列の白黒画像をレンダリングする。文字列に適用するフォントを、ルックアンドフィールモジュール１２０で提供してもよい。
【００３１】
中間処理段階２であるブロック７０８では、ブロック７０６の白黒文字列レンダリングをカラー化し、透明度を、例えば、ルックアンドフィールモジュール１２０で特定したパラメタに応じて加える。オブジェクトの標準レンダリングを、ブロック７１０で作成する。標準レンダリングを、オブジェクトを選択、アクティブ化していない、又はオブジェクトがカーソル下にない場合に表示されるオブジェクトレンダリングとする。全形状のオブジェクトの標準レンダリングは、形状を完全に表示するために必要である。ブロック７１２では、オブジェクトのロールオーバレンダリングを生成する。ロールオーバレンダリングを、カーソルがオブジェクトの上に来ると表示する。最後に、ブロック７１４では、オブジェクトのアクティブ化レンダリングを作成する。アクティブ化レンダリングを、例えば、オブジェクトの選択又はロジックを使用する際に表示するプルダウンメニューの選択肢を、オブジェクトをアクティブ化する際にのみ表示する。実施例では、ルックアンドフィールモジュール１２０、１１８に含まれるルックアンドフィール情報に応じて、各オブジェクトをレンダリングして、統一ルックアンドフィールを有するＢＩＯＳ表示を提供する。
【００３２】
図８では、様々な実施例による複数のオブジェクトレンダリングの例を示す。例示的な標準レンダリング８０２、例示的なロールオーバレンダリング８０４、例示的なアクティブ化レンダリング８０６を、夫々ブロック７１０、７１２、７１４で作成した通りに、示す。
【００３３】
上記の説明は、本発明の原理及び様々な実施例の例証となるよう意図している。上記開示を十分に理解してしまえば、多数の変形例及び変更例が、当業者にとって明らかになるだろう。以下の請求項は、そうした変形例及び変更例の全てを包含するものと解釈されるものとする。
【図１】
2011509486.tif 000003
【図２】
2011509486.tif 000004
【図３】
2011509486.tif 000005
【図４】
2011509486.tif 000006
【図５】
2011509486.tif 000007
【図６】
2011509486.tif 000008
【図７】
2011509486.tif 000009
【図８】
2011509486.tif 000010
【国際調査報告】
2011509486.tif 000011
2011509486.tif 000012