(57)【要約】  グラフィックコントローラのソフトウェアドライバがディスプレイコーデックと共に動作する方法及びシステムである。ソフトウェアドライバは、初期設定構成を使用しつつ、異なる期間に異なるディスプレイ装置で動作するように構成されてもよい。他の実施例についても記載される。【特許請求の範囲】
【請求項１】
格納された機械読取可能命令を有する記憶媒体を有する物品であって、
ディスプレイコーデック用のソフトウェアドライバを実行し、前記ソフトウェアドライバは、前記ソフトウェアドライバの初期設定構成を使用しつつ、異なる期間に異なるディスプレイコーデックで動作するように構成され、
前記ソフトウェアドライバを使用して前記ディスプレイコーデックからディスプレイにデジタル信号を伝送することを有する物品。
【請求項２】
請求項１に記載の物品であって、
前記ソフトウェアドライバは、複数のディスプレイのそれぞれを認識する機械読取可能命令を有する物品。
【請求項３】
請求項２に記載の物品であって、
前記複数のディスプレイは、フラットパネル、LCD（液晶ディスプレイ）、HDTV（高精細度テレビ）、プラズマ、及びコンピュータモニタを有するグループから選択されたデジタルディスプレイを有する物品。
【請求項４】
請求項１に記載の物品であって、
前記記憶媒体は、ケーブルテレビのアウトレットから前記デジタル信号を受信する物品。
【請求項５】
請求項１に記載の物品であって、
前記記憶媒体は、衛星から前記デジタル信号を受信する物品。
【請求項６】
請求項１に記載の物品であって、
前記記憶媒体は、無線伝送装置から前記デジタル信号を受信する物品。
【請求項７】
ソフトウェアドライバを使用してディスプレイコーデックからディスプレイにデジタル信号を伝送するように、ディスプレイコーデックのソフトウェアドライバを実行することを有する方法であって、
前記ソフトウェアドライバは、前記ソフトウェアドライバの初期設定構成を使用しつつ、異なる期間に異なるディスプレイコーデックで動作するように構成される方法。
【請求項８】
請求項７に記載の方法であって、
前記ソフトウェアドライバは、前記ディスプレイコーデックと通信するグラフィックコントローラの一部である方法。
【請求項９】
請求項８に記載の方法であって、
前記ディスプレイコーデックは、前記グラフィックコントローラが異なる期間に複数のディスプレイのそれぞれを認識するように、前記ソフトウェアドライバと通信するハードウェア部を有する方法。
【請求項１０】
請求項８に記載の方法であって、
前記ソフトウェアドライバは、ユニバーサル・ソフトウェアドライバとして知られる前記グラフィックコントローラ用の記憶媒体を有する方法。
【請求項１１】
プロセッサと、
前記プロセッサに結合され、前記プロセッサの動作をサポートするメモリと、
ネットワーク通信用に前記プロセッサ及び前記メモリと相互動作するEthernet（登録商標）カードと、
ディスプレイコーデックを通じて前記プロセッサと通信可能に結合し、デジタルフォーマットでシステムで受信した画像信号から画像を表示するディスプレイと、
ソフトウェアドライバの初期設定構成を使用しつつ、異なる期間に異なるディスプレイコーデックで動作するように構成されたソフトウェアドライバを有するグラフィックコントローラであり、前記プロセッサと通信可能に結合されたグラフィックコントローラと
を有するシステム。
【請求項１２】
請求項１１に記載のシステムであって、
前記ソフトウェアドライバは、ユニバーサル・ソフトウェアドライバを有するシステム。
【請求項１３】
請求項１１に記載のシステムであって、
前記ディスプレイは、デジタルディスプレイであるシステム。
【請求項１４】
請求項１３に記載のシステムであって、
前記ディスプレイは、フラットパネル、LCD（液晶ディスプレイ）、HDTV（高精細度テレビ）、プラズマ、及びコンピュータモニタを有するグループから選択されるシステム。
【請求項１５】
ソフトウェアドライバの初期設定構成を使用しつつ、異なる期間に異なるディスプレイコーデックで動作するように構成されたソフトウェアドライバを有するグラフィックコントローラ。
【請求項１６】
請求項１５に記載のグラフィックコントローラであって、
前記ソフトウェアドライバは、ユニバーサル・ソフトウェアドライバを有するグラフィックコントローラ。
【請求項１７】
請求項１５に記載のグラフィックコントローラであって、
ディスプレイコーデックと通信する前記ソフトウェアドライバ用の記憶媒体を更に有し、前記ソフトウェアドライバは、複数のディスプレイコーデックのそれぞれを認識するグラフィックコントローラ。
【請求項１８】
ユニバーサル・ソフトウェアドライバを有するグラフィックコントローラをエミュレートし、前記グラフィックコントローラが、複数のディスプレイコーデックのうち第１のものと通信可能に結合することを許容し、前記グラフィックコントローラは、初期設定で動作することを有する方法。
【請求項１９】
請求項１８に記載の方法であって、
前記複数のディスプレイコーデックのうち第１のものを前記複数のディスプレイコーデックのうち第２のものと交換するようにエミュレートすることを更に有する方法。
【請求項２０】
請求項１９に記載の方法であって、
前記複数のディスプレイコーデックのうち第１のものを交換するようにエミュレートすることは、前記複数のディスプレイコーデックのうち第１のものをSDVOコーデックと交換することを有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ここに開示される特別の事項は、コーデック制御に関する。
【背景技術】
【０００２】
従来では、ディスプレイコーデックについての標準的なコマンドインタフェースが存在しない。各コーデックは、制御目的で独自仕様のレジスタセットを使用している。異なる会社からのコーデックは互換性のないコマンドを有する可能性が高い。同じ会社からの異なるコーデックですら、互換性のないコマンドを有する可能性が高い。従来では、グラフィックコントローラソフトウェアに新しいディスプレイコーデックのサポートを追加することは、２つの選択肢のうち１つを含んでいる。
1)グラフィックコントローラソフトウェアに“ハードコード”することにより、新しいコーデックを追加すること、又は
2)新しいコーデックについて予め指定されたハードウェアアブストラクション層（HAL：hardware  abstraction  layer）に準拠する新しいソフトウェアモジュールを、グラフィックコントローラソフトウェアに追加すること。
【０００３】
不都合なことに、これらの選択肢の双方は、新しいバージョンのグラフィックコントローラソフトウェアを開発することを含む。
【発明を実施するための最良の形態】
【０００４】
本発明の非限定的な非網羅的な実施例について、以下の図面を参照して説明する。図面において、同様の数字は同じ部分を示す。
【０００５】
以下の説明では、本発明の例示的な実施例の特定の詳細が示されている。しかし、本発明の実施例は、これらの特定の詳細なしに実施されることがわかる。他にも、本発明の理解をあいまいにしないように、回路、構造及び技術が詳細に示されていない。
【０００６】
デジタルディスプレイ装置との通信は、他の理由もあるが、デジタル信号及びデジタルディスプレイ（テレビセット等）に関して定められた最近のFCC（Federal  Communications  Commission）のデジタル通信についての規則／標準により、更に興味深くなってきている。特に、テレビセット及びコンピュータシステムは、デジタルディスプレイ通信技術における最近のFCCの変更を利用するように現在作られている。
【０００７】
パーソナルコンピュータ（PC）（例えば、デスクトップコンピュータ、ラップトップコンピュータ、パームトップコンピュータ等）の更に高まる性能により、ビデオのような広範囲のアプリケーションに対するホストとして機能することが可能になっている。異なるアプリケーションがどのように動作するかを理解するために、PCの構成要素の概要が適切であると思われる。
【０００８】
PCは、スピーカ用のオーディオコントローラドライブをしばしば有し、同様にマイクロフォンから入力を受信してもよい。多くの今日のオーディオコントローラはかなり高度化しており、外部増幅器に高品質のサラウンド・サウンドを送信可能なことがある。
【０００９】
PCはまた、マウス及びキーボードから入力を受け取る入出力（I/O）コントローラを有してもよい。基本的にはI/Oコントローラは、ユーザとコンピュータとの間の玄関口として機能する。I/Oコントローラはまた、ディスクドライブにデータを読み書きする。PCがオフになったときでも、ディスクに格納されたデータは損なわれない。
【００１０】
PCは、モニタのようなディスプレイ装置を駆動し得る“グラフィックコントローラ”をしばしば有する。グラフィックコントローラは、PCに対する視覚インタフェースを制御する。グラフィックコントローラは、PCでビデオを表示し得る。いくつかのグラフィックコントローラはまた、ビデオを取得可能である。グラフィックコントローラは、特定の装置構成用に別の方法でプログラムされていない場合には、初期設定のソフトウェア構成で動作してもよい。図示しないが、異なるPCは異なるグラフィックコントローラを有してもよいため、PC用のディスプレイ装置を選択するときに、複数のグラフィックコントローラが検討される必要が生じることがある。各グラフィックコントローラは、特定の初期設定のグラフィックコントローラソフトウェアで動作するように考えられてもよい。
【００１１】
メモリコントローラとI/Oコントローラとの物理シリコンの集合は、しばしば“チップセット”と呼ばれる。チップセットは、マザーボードとして知られる絶縁性及び導電性パスの薄いサンドイッチ状のものに直接半田付けされてもよい。
【００１２】
オーディオ及びグラフィックコントローラは、マザーボードに直接半田付けされた別個のシリコンチップでもよく、娘カード（daughter  card）に配置され、マザーボードの拡張スロットに接続されてもよい。娘カードは容易に取り外し可能であり、そのため、容易にアップグレード可能である。
【００１３】
“ディスプレイ装置”（ここでは場合によっては単に“ディスプレイ”と呼ばれる）に“画像”を表示することは、コーデックを必要とする。当業者にわかるように、また、この開示を閲覧することにより、ディスプレイという用語は、ここでは、フラットパネルスクリーン、コンピュータモニタ、LCD（液晶ディスプレイ）、HDTV（高精細度テレビ）、プラズマテレビスクリーン等のようなディスプレイを包含するものとして使用される。更に、ディスプレイは、類似の技術で動作するデジタルディスプレイ又はアナログディスプレイを示してもよい。
【００１４】
“コーデック”は、ディスプレイ又はコンピュータモニタに表示される画像を提供するために、ディスプレイに送信されるデジタル信号とディスプレイとの間のインタフェースである。図１〜３に関して詳細に説明するように、デジタル信号は、コンピュータプロセッサ102からコンピュータモニタ／ディスプレイ120に送信されてもよく、又はデジタル信号は、ホームエンターテイメントセンタ又は他のところにあるように、テレビスクリーン／ディスプレイ150への標準的なケーブルテレビのアウトレット170、衛星伝送180、又は非衛星無線伝送装置190のような他のデジタル信号ソースのように、テレビ信号ソースから生じてもよい。更に、デジタル信号は、デジタルディスプレイで受信される前に、デジタル画像の他のソースから送信されてもよい。当然のことながら、デジタル画像はコーデック（例えばコーデック119、無線グラフィックコントローラ／コーデック160等）を通過してもよい。
【００１５】
コーデックは、場合によっては“ディスプレイコーデック”と呼ばれる。消費者に利用可能な様々な形式のデジタルディスプレイのため、ディスプレイコーデックの開発者は、一般的にデジタルディスプレイをサポートする容認可能なディスプレイコーデックを作ることができない。ディスプレイコーデックは、画像の表示用に通信すると期待されるデジタルディスプレイの特定の仕様に合致するように“構成”されてもよい。ディスプレイコーデックは、“初期設定構成”と呼ばれる特定の初期設定で開発されてもよい。初期設定は、とりわけデジタルディスプレイでの表示用のデジタル信号のソースに応じて、後に画像を表示する特定のデジタルディスプレイのニーズに合致するように変更されてもよい。更に、少なくとも同じ理由で、グラフィックコントローラの開発者は、異なる形式のディスプレイ（すなわち、コンピュータモニタ、テレビスクリーン、フラットパネル／スクリーンディスプレイ装置等）でデジタル画像を表示するグラフィックコントローラを作ることができない。
【００１６】
ここで“デジタルディスプレイコーデック”とも呼ばれるディスプレイコーデックという用語はまた、ソフトウェアと、場合によってはアナログ及びデジタルハードウェア装置のうち１つ又はこれらの組み合わせとを含むことを対象とする。ここで使用されるディスプレイコーデックは、少なくとも部分的に連続ピクチャ／画像（ビデオ）を表す入力信号を、ディスプレイコーデックによって伝送され得る出力信号を作る異なるビデオフォーマットに変換してもよい。入力信号と出力信号との双方は、アナログ、デジタル、又はアナログとデジタルとの組み合わせでもよい。ピクチャ自体を明示的にエンコード及び／又は表示する信号に加えて、コーデックは、ディスプレイコーデックに関連し得るレジスタ値を変更することにより、ディスプレイコーデックの動作に影響を及ぼす入力制御信号を受け入れてもよい。ディスプレイコーデックはまた、とりわけ解像度やアスペクト比のようなピクチャフォーマットについての情報を、入力として受け入れてもよく、及び／又は出力として伝送してもよい。
【００１７】
ここで使用される“ソフトウェアドライバ”という用語は、準拠しているディスプレイコーデックを制御し得るモジュール（ソフトウェア、ハードウェア又はその他のもの）を示す。“ユニバーサル・ソフトウェアドライバ”として知られるソフトウェアドライバは、異なるコーデック機能を有し得る複数のディスプレイコーデックを制御してもよい。ユニバーサル・ソフトウェアドライバは、変更なしに１つより多くのディスプレイコーデックを制御してもよい。例えば、ディスプレイコーデックが変更したときに、ユニバーサル・ソフトウェアドライバは、“初期設定構成”に留まってもよい。この制御は、場合によってデジタルディスプレイとの“認識”又は“通信”と呼ばれる。この理由は、特定のデジタルディスプレイのディスプレイコーデックがソースからのデジタル信号を“送信”及び／又は“受信”してもよく、デジタル信号に相互に関連する画像の表示用に関連のデジタルディスプレイと通信する前又は関連のデジタルディスプレイに伝送する前に、これらのデジタル信号を認識するように構成されてもよいからである。
【００１８】
ここで使用される“プログラム”という用語は、1)記憶媒体に格納されてもよく、プロセッサにより実行可能なソフトウェアプログラム、又は2)プログラム可能ハードウェア要素を構成するために使用可能なハードウェア構成プログラムを含む。
【００１９】
“ソフトウェアプログラム”という用語は、記憶媒体に格納され、プロセッサ又は処理システムにより実行されてもよい如何なる形式のプログラム命令、コード、スクリプト及び／若しくはデータ、又はこれらの組み合わせを含むことを対象とする。例示的なソフトウェアプログラムは、テキスト型プログラム言語（C、C++、Pascal、Fortran、Cobol、Java（登録商標）、アセンブル言語等）で記述されたプログラム、グラフィックプログラム（グラフィックプログラム言語で記述されたプログラム）、アセンブリ言語プログラム、機械言語にコンパイルされたプログラム、スクリプト、及び他の形式の実行可能ソフトウェアを含む。
【００２０】
“プログラム可能ハードウェア要素”という用語は、様々な形式のプログラム可能ハードウェア、再構成可能ハードウェア、プログラム可能ロジック、又は１つ以上のFPGA（Field  Programmable  Gate  Array）のようなフィールドプログラム可能装置（FPD：field-programmable  device）、又は１つ以上の単純PLD（SPLD）若しくは１つ以上の複合型PLD（CPLD）のような１つ以上のPLD（Programmable  Logic  Device）、又は他の形式のプログラム可能ハードウェアを含むことを対象とする。プログラム可能ハードウェア要素はまた、“再構成可能ロジック”とも呼ばれることがある。プログラム可能ハードウェア要素は、ハードウェア構成プログラムを使用して構成されてもよい。
【００２１】
“ハードウェア構成プログラム”という用語は、プログラム可能ハードウェア要素をプログラムするために使用可能なプログラム又はデータ構造を含むことを対象とする。
【００２２】
ここで示す“機械読取可能”命令は、１つ以上の論理動作を実行するために１つ以上の機械により理解され得る表現に関する。例えば、機械読取可能命令は、１つ以上のデータオブジェクトで１つ以上の動作を実行するプロセッサコンパイラにより解釈可能な命令を有してもよい。しかし、これは機械読取可能命令の単なる例であり、本発明の実施例はこの点に限定されない。
【００２３】
ここで示す“記憶媒体”という用語は、１つ以上の機械により認識可能な表現を保持することができる媒体に関する。例えば、記憶媒体は、機械読取可能命令又はデータを格納する１つ以上の記憶装置を有してもよい。このような記憶装置は、例えば、光、フラッシュ、磁気又は半導体記憶媒体のような記憶媒体を有してもよい。しかし、これらは記憶媒体の単なる例であり、本発明の実施例はこの点に限定されない。記憶媒体はまた、場合によってはメモリ媒体、機械読取可能媒体、コンピュータ読取可能媒体、プロセッサ読取可能媒体等とも呼ばれるが、この開示の目的で、単に記憶媒体と呼ばれる。
【００２４】
ここで示す“ロジック”という用語は、１つ以上の論理動作を実行する構造に関する。例えば、ロジックは、１つ以上の入力信号に基づいて１つ以上の出力信号を提供する回路を有してもよい。このような回路は、デジタル入力を受信し、デジタル出力を提供する有限状態機械、又は１つ以上のアナログ入力信号に応じて１つ以上のアナログ出力信号を提供する回路を有してもよい。このような回路は、特定用途向け集積回路（ASIC：application  specific  integrated  circuit）又はFPGAで提供されてもよい。また、ロジックは、このような機械読取可能命令を実行する処理回路と共に記憶媒体に格納される機械読取可能命令を有してもよい。しかし、これらはロジックを提供し得る構造の単なる例であり、本発明の実施例はこの点に限定されない。
【００２５】
ここで示す“処理システム”は、記憶媒体に存在し得る表現を処理するハードウェア及び／又はソフトウェアリソースに関する。“ホスト処理システム”は、“周辺装置”と通信するように適合され得る処理システムに関する。例えば、“周辺”装置は、ホスト処理システムに入力を提供してもよく、ホスト処理システムから出力を受信してもよい。しかし、これらは処理及びホスト処理システムと周辺装置との単なる例であり、本発明の実施例はこの点に限定されない。
【００２６】
この明細書を通じた“一実施例”又は“実施例”への言及は、実施例に関して説明する特定の機能、構造又は特徴が本発明の少なくとも１つの実施例に含まれることを意味する。従って、この明細書を通じて様々な場所に“一実施例では”又は“実施例では”という用語が現れることは、必ずしも同じ実施例を言及しているとは限らない。更に、特定の機能、構造又は特徴は、１つ以上の実施例で何らかの適切な方法で結合されてもよい。
【００２７】
図１は、システムの実施例130を示す図である。要約に示すように、システム130は、ディスプレイ150に結合されたグラフィック制御／コーデック装置160を有する。システム130は、ディスプレイ150に渡す前に、グラフィックコントローラ／コーデック装置160でアンテナ144にデジタル信号180を伝送するアンテナ142を有する衛星140を有してもよい。デジタル信号180は、デジタル信号180がディスプレイ150への伝送用に処理されるグラフィックコントローラ／コーデック装置160に入る。装置160のグラフィックコントローラ部は、ソフトウェアドライバの初期設定構成を使用する間に、異なる期間に異なるコーデックで動作するように構成されたソフトウェアドライバを有する。グラフィックコントローラ／コーデック装置160のソフトウェアドライバは、グラフィックコントローラソフトウェアをグラフィックコントローラ／コーデック装置160に残しつつ、コーデックハードウェアが交換されることを可能にする標準を満たすように記述される。
【００２８】
また、デジタル信号をディスプレイ150に渡す前に、デジタル信号をグラフィックコントローラ／コーデック装置160に供給し得るケーブルテレビのアウトレット170が図示されている。更に、システム130は、信号をディスプレイ150に渡す前にグラフィックコントローラ／コーデック装置160のアンテナ144に信号を伝送するアンテナ192を介して、信号をグラフィックコントローラ／コーデック装置160に伝送し得る非衛星無線伝送装置170を有してもよい。グラフィックコントローラ／コーデック装置160は、信号が衛星140、非衛星190、ケーブルTVのアウトレット170等から生じていようといまいと、信号を認識して通信する適切なハードウェア／ソフトウェアを有することがわかる。
【００２９】
当然のことながら、システム130又はシステム130の個々の構成要素は、この実施例を検討することで当業者にわかるように、ソフトウェアエミュレーションを介して実現されてもよい。
【００３０】
図２は、システム130におけるディスプレイデータ伝送200の例示的な実施例を示す図であり、特に、第１の部分104のようなシステム130の第１の部分におけるソフトウェア・ハードウェア・インタラクションを示している（図３参照）。グラフィックコントローラソフトウェア202は、ソフトウェアコマンド206をディスプレイコーデックハードウェア208のコマンドインタフェース207に送信する制御モジュール204を有してもよい。グラフィックコントローラソフトウェア202はまた、グラフィックコントローラハードウェア210と通信し、このグラフィックコントローラハードウェア210で、ピクセルデータ212がディスプレイコーデックハードウェア208に送信される。ピクセルデータ212がデジタルディスプレイ214に送信される前に、ピクセルデータ212は、ディスプレイコーデックハードウェア208のコマンドインタフェース207で受信されるコマンド206に従って、ディスプレイコーデックハードウェア208でフォーマットされる。デジタルディスプレイ214は、ピクセルデータ212がシステム130のようなシステムのユーザにより視聴されることを可能にするように、ピクセルデータ212を表示してもよい。デジタルディスプレイ214がディスプレイ150、デジタルディスプレイ314（図４参照）、及び／又はその他の類似のディスプレイに交換されてもよいことを、当業者は認識するであろう。換言すると、複数のディスプレイが添付図面に図示されている。更に、ソフトウェアドライバがグラフィックコントローラソフトウェア202（ここでは場合によってはユニバーサル・ソフトウェアドライバと呼ばれる）の一部を有してもよいことを、当業者は認識するであろう。ユニバーサル・ソフトウェアドライバは、記憶媒体106（図３参照）又は他の適切な記憶媒体に配置されてもよい。
【００３１】
図３は、システムの実施例100を示す図である。システム100は、本発明の例示的な実施例に従ったドライバを使用してデジタルディスプレイコーデックをサポートしてもよい。システム100は、中央処理装置（CPU又はプロセッサ）102を有してもよく、Ethernet（登録商標）カード103はまた、CPU102に結合されてもよい。CPU102は、コンピュータシステム100の第１の部分104に結合されてもよい。メモリ（記憶媒体）106は、第１の部分104に結合されてもよく、第１の部分104はまた、第２の部分108に結合されてもよい。次に、第２の部分108は、ディスクドライブ110、マウス112及びキーボード114のような他のコンピュータ装置に結合されてもよい。
【００３２】
図示の実施例では、第１の部分104は、メモリ106と、CPU102と、第２の部分108と、グラフィックコントローラ118とに結合され得るメモリ制御HUB116を有する。グラフィックコントローラ118は、ディスプレイコーデック119に結合されてもよい。ディスプレイコーデック119は、デジタル信号の伝送用のモニタ（場合によっては“ディスプレイ”と呼ばれる）120に結合され、とりわけグラフィック又はデジタル画像をモニタ120で表示してもよい。第２の部分108は、第１の部分104のメモリコントローラHUB116に結合され得る入力／出力コントローラHUB122を有する。入力／出力コントローラHUB122はまた、オーディオコントローラ124に結合されてもよい。次に、オーディオコントローラ124は、スピーカ126及び／又はマイクロフォン128に結合されてもよい。図２に関して詳細に説明するように、コンピュータシステム100の第１の部分104は、コマンドインタフェースを有し得るディスプレイコーデックと共に動作する。
【００３３】
図４は、デジタル信号がコンピュータモニタ（又はデジタルディスプレイ）314に伝送されたときに、デジタルディスプレイデータ伝送200で生じ得る例示的なソフトウェア・ハードウェア・インタラクションを示す図である。図示のソフトウェア・ハードウェア・インタラクションは、第１の部分104で生じてもよいことがわかる。グラフィックコントローラ118は、１つ以上のポート304（Serial  Digital  Video  Output(SDVO)ポート等）をサポートする統合型Graphics  Memory  Controller  Chipset（GMCH）302を有する。ポート304は、コンピュータモニタ314とのDVI（Digital  Video  Interface）通信308用の装置（又はコーデック）306と通信する。
【００３４】
DVIは、単一のコネクタでアナログ及びデジタルモニタに適合するように、Digital  Display  Working  Group（DDWG）により生成された仕様である。コーデック306は、（ピクセルデータを運ぶ）前述のバス／ポート304と、高速シリアルコマンドインタフェース（すなわち、I2C（Inter-IC）バス（すなわち、集積回路（IC）の間で通信リンクを提供する双方向の２線のシリアルバス））とを介してGMCH302に電子的に結合される。コーデック306により、複数のディスプレイ形式がGMCH302によりサポート可能になる。
【００３５】
グラフィックコントローラソフトウェア302は、ビデオBIOS（基本入出力システム）と、ソフトウェアドライバ310とを有する。当業者にわかるように、BIOSは、パーソナルコンピュータのマイクロプロセッサが電力を受領した後にコンピュータシステムを起動するために使用するプログラムである。それはまた、コンピュータのオペレーティングシステムと付随の装置（ハードディスク、ビデオアダプタ、キーボード、マウス、プリンタ等）との間のデータフローを管理する。
【００３６】
ビデオBIOS及びソフトウェアドライバ（VBIOS）310は、一種のディスプレイコーデックと呼ばれ得るソフトウェアモジュール312及びGMCH302と通信する。ソフトウェアモジュール312用の一律のコマンドインタフェースは、ハードコーディング又はグラフィックコントローラ118のハードウェアアブストラクション層（HAL）の必要性を除去する。一律のハードウェアインタフェースがソフトウェアモジュール312及びコーデック306で規定／指定されるため、ハードウェアアブストラクション層がグラフィックコントローラ118に必要ないことがわかる。その結果、複数のディスプレイコーデックが、グラフィックコントローラソフトウェア202の一部である単一の“ユニバーサル”ソフトウェアモジュールによりサポートされ得る。
【００３７】
この方式は複数の利点を提供する。例えば、ソフトウェアモジュール312はソフトウェアの更新なしにサポートされる。その理由は、コーデックが標準的な方法で各コマンド及び全コマンドに応答するため、多くのコーデックが単一のソフトウェアドライバによりサポートされ得るからである。更に、ユーザは新しく開発されたソフトウェアモジュール312をコンピュータシステム100に追加し、そのVBIOS310又はグラフィックドライバを更新する必要なく、そのモジュール312をサポートさせることができる。
【００３８】
他の利点は、グラフィックソフトウェアコントローラのコードサイズの減少である。例えば、非常に類似した機能を実行する複数のコーデックソフトウェアモジュール（コーデック毎に１つ）を有するのではなく、単一のモジュール204が存在する。
【００３９】
更なる利点は、小さい努力でソフトウェアモジュール／ディスプレイコーデック312が他の環境で使用されることを許容することを含む。従来の技術は、広範囲の動作環境を通じてディスプレイコーデック312サポートすることが困難であるとわかる。例えば、何らかのオペレーティングシステムで動作する一式のディスプレイコーデックを得るために行われる作業は、他のオペレーティングシステム又は組み込みアプリケーションでのコーデックのサポートに役立たない。環境毎に新しいアブストラクション層が開発されなければならない。開示された実施例の使用を通じて、新しい環境に制御モジュール204を単にポートすることは、多くのディスプレイコーデック312がその環境で動作することを意味する。開示された実施例の他の利点は、コーデックのベンダが、新しいコーデック用のソフトウェア更新が動作することを必要とせずに、コーデックモデルを作ることができるという点にある。
【００４０】
グラフィックコントローラソフトウェア202の開発の制約（例えば、他の機能の追加、バグの修正、人員の制約）により、コーデックのベンダが所望のプロダクトを実装することをしばしば妨げてきている。開示された実施例は、グラフィックコントローラソフトウェア202で必要な更なる開発努力なしにサポートされ得る多数のディスプレイコーデック312を確立する。
【００４１】
開示された実施例は、とりわけSDVOコーデックがサポートしなければならない標準的なSDVOコマンドセットを記述する。グラフィックコントローラソフトウェア202は、これらのコマンドを使用し、その機能について装置306に照会する。ソフトウェア202はまた、コマンドを使用し、ソフトウェアモジュール（コーデック）312を構成及び制御する。SDVOコマンドセットは、SDVOコーデックが単一の“ユニバーサル”ソフトウェアモジュールにより制御されることを許容するドライバ（ソフトウェアモジュール312）及びSDVOコーデックの標準を提供する。
【００４２】
図５は、開示された実施例の原理に従ってコーデックとグラフィックコントローラとの間で通信する処理のフローチャート500である。第１のステップ502において、グラフィックコントローラの少なくとも一部を格納するために、記憶媒体が生成される。第２のステップ504において、ソフトウェアドライバの初期設定構成を使用しつつ、異なる期間に異なるディスプレイコーデックで動作するように構成されたソフトウェアドライバを格納するために、記憶媒体が使用される。次のステップ506は、コーデックがシステムに取り込まれて、グラフィックコントローラと通信する場合である。最後のステップ508において、グラフィックコントローラとコーデックとの間で通信が行われる。ここで説明するように、コーデックは、ソフトウェアドライバを交換する必要なく、取り替えられてもよい。従って、ユニバーサル・ソフトウェアドライバという用語になる。当然のことながら、前述のステップは、記載されている順序に必ずしも限定されるとは限らない。
【００４３】
複数の実施例を説明するためにこの開示が用いられたが、本発明は記載された実施例に限定されず、特許請求の要旨及び範囲内で変更及び変形して実施されてもよいことを、当業者は認識するであろう。従って、この説明は限定ではなく、例示としてみなされるべきである。
【図面の簡単な説明】
【００４４】
【図１】システムの実施例を示す図
【図２】図１のようなシステムでのデータ及びコマンド伝送を示す図
【図３】システムの実施例を示す詳細図
【図４】図２の伝送で少なくとも部分的に生じ得るソフトウェア・ハードウェア・インタラクションを示す図
【図５】本発明の実施例に従ってコーデックとグラフィックコントローラとの間で通信する処理のフローチャート
【図１】
2007527574.tif 000002
【図２】
2007527574.tif 000003
【図３】
2007527574.tif 000004
【図４】
2007527574.tif 000005
【図５】
2007527574.tif 000006