(57)【特許請求の範囲】
【請求項１】
動画データを入力するためのビデオポートを有し、このビデオポートに入力された動画データを表示可能な表示コントローラと、この表示コントローラのビデオポートに動画データを転送するための動画専用バスとを備えたコンピュータシステムにおいて、
互いに異なる動画ソースを扱う複数のビデオデバイスであって、各々が前記動画専用バスに接続された出力ポートを有し、その出力ポートから前記動画専用バス上に動画データを出力する複数のビデオデバイスを具備し、
前記動画専用バスには、前記複数のビデオデバイスに共通接続され、前記動画専用バスの使用を要求しているビデオデバイスによってアクティブ状態に設定される制御信号線がさらに設けられており、
前記各ビデオデバイスは、
前記出力ポートから前記動画専用バスに動画データを出力するための出力バッファと、
前記コンピュータシステムのＣＰＵから発行される動画データ転送指示に応じて、前記制御信号線を所定期間アクティブ状態に設定し、その期間経過後、前記出力バッファの動画データ出力動作を許可する手段と、
前記制御信号線の状態を監視し、前記制御信号がアクティブ状態に設定されている期間、前記出力バッファの動画データ出力動作を禁止状態に維持する手段とを具備し、
前記制御信号線をアクティブ状態に設定した最新のビデオデバイスに、前記動画データ専用バスの使用が許可されるように構成されていることを特徴とするコンピュータシステム。
【請求項２】
動画データを入力するためのビデオポートを有し、このビデオポートに入力された動画データを表示可能な表示コントローラと、この表示コントローラのビデオポートに動画データを転送するための動画専用バスとを備えたコンピュータシステムにおいて、
互いに異なる動画ソースを扱う複数のビデオデバイスであって、各々が前記動画専用バスに接続された出力ポートを有し、その出力ポートから前記動画専用バス上に動画データを出力する複数のビデオデバイスを具備し、
前記動画専用バスには、前記複数のビデオデバイスに共通接続され、前記動画専用バスの使用を要求しているビデオデバイスによってアクティブ状態に設定される制御信号線がさらに設けられており、
前記各ビデオデバイスは、
前記出力ポートから前記動画専用バスに動画データを出力するための出力バッファと、
前記コンピュータシステムのＣＰＵから発行される動画データ転送指示に応答して、前記制御信号線を所定期間アクティブ状態に設定し、その期間経過後、前記出力バッファの動画データ出力動作を許可する手段と、
前記制御信号線の状態を監視し、前記制御信号がアクティブ状態に設定されている期間に前記動画データ転送指示が発行されたとき、前記制御信号線をアクティブ状態に設定する動作の開始を前記制御信号線のアクティブ状態が解除されるまで待たせる手段と、
前記制御信号線の状態を監視し、前記制御信号がアクティブ状態に設定されている期間、前記出力バッファの動画データ出力動作を禁止状態に維持する手段とを具備し、
前記ＣＰＵから動画データ転送指示が発行された最新のビデオデバイスに対して、前記動画データ専用バスの使用が許可されるように構成されていることを特徴とするコンピュータシステム。
【請求項３】
動画データを入力するためのビデオポートを有し、このビデオポートに入力された動画データを表示可能な表示コントローラと、この表示コントローラのビデオポートに動画データを転送するための動画専用バスとを備えたコンピュータシステムにおいて、
互いに異なる動画ソースを扱う複数のビデオデバイスであって、各々が前記動画専用バスに接続された出力ポートを有し、その出力ポートから前記動画専用バス上に動画データを出力する複数のビデオデバイスを具備し、
前記動画専用バスには、前記複数のビデオデバイスに共通接続され、前記動画専用バスの使用を要求しているビデオデバイスによってアクティブ状態に設定される制御信号線がさらに設けられており、
前記各ビデオデバイスは、
前記出力ポートから前記動画専用バスに動画データを出力するための出力バッファと、
前記コンピュータシステムのＣＰＵから発行される動画データ転送指示に応答して、前記制御信号線を所定期間アクティブ状態に設定し、その期間経過後、前記出力バッファの動画データ出力動作を許可する手段と、
前記制御信号線の状態を監視し、前記制御信号がアクティブ状態に設定されている期間、前記出力バッファの動画データ出力動作を禁止状態に維持する手段とを具備し、
前記ＣＰＵからの動画データ転送指示に応じて前記制御信号線をアクティブ状態に設定する期間は、前記ビデオデバイス毎に異なっており、最も長い期間が割り当てられたビデオデバイスに対して前記動画データ専用バスの使用が優先的に許可されるように構成されていることを特徴とするコンピュータシステム。
【請求項４】
前記各ビデオデバイスは、前記制御信号線の状態を監視し、前記制御信号がアクティブ状態に設定されている期間に前記動画データ転送指示が発行されたとき、前記制御信号線をアクティブ状態に設定する動作の開始を前記制御信号線のアクティブ状態が解除されるまで待たせる手段をさらに具備することを特徴とする請求項３記載のコンピュータシステム。
【請求項５】
動画データを入力するためのビデオポートを有し、このビデオポートに入力された動画データを表示可能な表示コントローラと、ＰＣカードが装着可能なカードソケットと、このカードソケットと前記表示コントローラのビデオポートとの間に接続され、前記表示コントローラのビデオポートに動画データを転送するための動画専用バスとを備えたコンピュータシステムにおいて、
互いに異なる動画ソースを扱う１以上のビデオデバイスであって、各々が前記動画専用バスに接続された出力ポートを有し、その出力ポートから前記動画専用バス上に動画データを出力する１以上のビデオデバイスと、
これらビデオデバイスと前記ＰＣカードの中から前記動画専用バスを用いて前記表示コントローラに動画データを転送するデバイスを択一的に選択して、前記動画専用バスを使用するデバイスを切り替える手段とを具備し、
デジタル圧縮符号化された動画データをデコードして前記動画専用バス上に出力する動画デコーダ、外部から動画データをシリアルインターフェースを介して入力し、その入力した動画データを前記動画専用バス上に出力するシリアルインターフェースコントローラ、外部映像機器から動画データを取り込み、その動画データを前記動画専用バス上に出力するビデオキャプチャ、の中の少なくとも１つが前記ビデオデバイスとして設けられていることを特徴とするコンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ＺＶ（Ｚｏｏｍｅｄ  Ｖｉｄｅｏ）ポートを有するコンピュータシステムおよびこのシステムにおいてＺＶポートを使用して転送するビデオソースを切り替える方法にビデオソース切り替え方法に関する。
【０００２】
【従来の技術】
近年、米国の標準化団体であるＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）、及びＪＥＩＤＡの標準仕様に準拠したＰＣカードソケットを持つノートブックタイプのパーソナルコンピュータが普及しつつある。このＰＣカードを、動画データの入出力制御を行うビデオキャプチャカード、ＭＰＥＧデコーダカードなどとして用いるべく種々の開発がなされている。
【０００３】
動画データのような大量のデータを効率よく処理するために、パーソナルコンピュータにおいては、高速データ転送が可能なＰＣＩローカルバスを用いたシステムアーキテクチャが普及しつつある。
【０００４】
しかし、ＰＣＩローカルバスを用いても、そのデータ転送能力には限界がある。このため、前述のようにＰＣカードをビデオキャプチャカードやＭＰＥＧデコーダカードとして使用する場合には、ＰＣＩローカルバスのデータ転送能力では不十分である。
【０００５】
そこで、最近では、ＺＶ（Ｚｏｏｍｅｄ  Ｖｉｄｅｏ）ポートと称する動画専用のバスを使用して、ＰＣカードとディスプレイコントローラとを直接接続する技術が開発され始めている。ＺＶポートは、システムバスを使用することなく、ＰＣカードがディスプレイコントローラ／オーディオコントローラにビデオ／オーディオデータを直接出力することを可能にする。これにより、大量のビデオデータの転送によってシステムバスが長時間占有されるという不具合を解消でき、システムのビデオ処理性能を高めることができる。
【０００６】
ところで、最近では、パーソナルコンピュータの分野でもマルチメディア化がすすみ、ＰＣカード以外にも、動画データを扱う種々のデバイスがシステムに搭載され始めている。これらデバイスの例を以下に示す。
【０００７】
（１）ビデオキャプチャ：ビデオカメラ等の映像機器からのアナログ映像信号をデジタルデータに変換して入力する。
（２）ＭＰＥＧデコーダ：ＭＰＥＧで圧縮された動画データを伸張して生の動画データを生成する。
【０００８】
（３）ＩＥＥＥ１３９４（Ｐ１３９４）などの高速シリアルインターフェース：デジタルビデオカメラ、デジタルビデオプレイヤなどから転送される動画データを入力する。
【０００９】
これらデバイスは、通常、システムバスに接続される。このため、これらデバイスからの動画データは、システムバスを介してディスプレイコントローラに転送されることになる。
【００１０】
（１）通常、システムバスのバンド幅は動画転送をするのに十分でないため、システムバスを介してディスプレイコントローラに動画データを転送する場合には、動画データの転送レートを下げることが必要とされる。これにより、動画の解像度が低下する、フレームレートが落ちる、あるいは１ピクセルあたりのビット数が減ることになり、動画の画質が劣化してしまう。
【００１１】
（２）システムバスのバンド幅のほとんどが動画データの転送のために占有される。したがって、システムバスを使用した動画転送以外の他の動作、例えばディスク装置との間のデータ転送動作が遅くなるという問題が生じる。また、リアルタイムにデータを転送する必要があるデバイスが正常に動作しなくなる可能性もある。例えば、モデムなどの通信デバイスによる通信動作に支障が生じると、データ落ちなどが発生する。
【００１２】
【発明が解決しようとする課題】
上述したように、従来では、ＰＣカードについてはＺＶポートを利用することによりシステムバスを使用することなく動画データを直接的に表示コントローラに転送することができるが、動画データを扱うＰＣカード以外の他のデバイスをシステムに装備した場合には、それらデバイスから表示コントローラへの動画転送はシステムバス経由で行われることになる。したがって、それらデバイスを使用した場合には、動画表示の品質が低下されたり、あるいは動画転送によってシステムバスが占有されることにより動画転送以外の他の動作に支障が来されるという問題がある。
【００１３】
この発明はこのような点に鑑みてなされたものであり、動画データを扱う複数のデバイスそれぞれからの異なる複数のビデオソースをシステムバスを利用することなく表示コントローラに直接転送できるようにし、様々なビデオソースについてその表示を効率よく行うことができるコンピュータシステムおよびそのシステムにおけるビデオソース切り替え方法を提供することを目的とする。
【００１４】
【課題を解決するための手段】
この発明は、動画データを入力するためのビデオポートを有し、このビデオポートに入力された動画データを表示可能な表示コントローラと、この表示コントローラのビデオポートに動画データを転送するための動画専用バスとを備えたコンピュータシステムにおいて、互いに異なる動画ソースを扱う複数のビデオデバイスであって、各々が前記動画専用バスに接続された出力ポートを有し、その出力ポートから前記動画専用バス上に動画データを出力する複数のビデオデバイスと、これら複数のビデオデバイスの中から前記動画専用バスを用いて前記表示コントローラに動画データを転送するビデオデバイスを択一的に選択して、前記動画専用バスを使用するビデオデバイスを切り替える手段とを具備することを特徴とする。
【００１５】
このコンピュータシステムにおいては、システムバスを使用せずに表示コントローラのビデオポートに動画データを直接的に転送するＺＶポートなどの動画専用バスに対して、ビデオキャプチャ、ＭＰＥＧデコーダ、ＩＥＥＥ１３９４シリアルインターフェースなどの複数のビデオデバイスが共通接続されており、どのビデオデバイスからの動画転送においても同一の動画専用バスが用いられる。このため、どの動画ソースの転送についてもシステムバスを使用せずに表示コントローラに転送できるようになり、様々な動画ソースについてその表示を効率よく行うことができる。また、このコンピュータシステムでは、動画専用バスを使用するビデオデバイスを切り替える手段が設けられており、これによって、同時には単一のデバイスからの動画データしか表示コントローラに転送できないように制御される。したがって、１つの動画専用バスで、複数のデバイスそれぞれと表示コントローラとの間をポイントーツーポイント形式で接続することが可能となり、動画専用バスの競合を防止することができる。
【００１６】
動画専用バスを使用するビデオデバイスを切り替える手段としては、次のような構成を採用することが好ましい。
（１）前記各ビデオデバイスに、前記出力ポートから前記動画専用バスに動画データを出力するための出力バッファと、前記コンピュータシステムのＣＰＵからの指示に応じて、前記出力バッファの動画データ出力動作を許可又は禁止する手段とを設ける。
【００１７】
これにより、各ビデオデバイスは、ＣＰＵから動画データの転送指示などが発行された場合にのみ動画データを動画専用バスに出力するので、ＣＰＵによって実行されるソフトウェアが同時には１つのビデオデバイスの出力バッファのみ出力動作を許可するように制御することで、容易に動画専用バスの競合を防止することができる。
【００１８】
（２）動画専用バスには、前記複数のビデオデバイスをデイジーチェーン形式で接続し、前記動画専用バスの使用許可を示すイネーブル信号をデイジーチェーンの先頭に位置するビデオデバイスから末尾のビデオデバイスに亘って順次転送するための制御信号線を１本追加する。
【００１９】
そして、各ビデオデバイスには、出力ポートから前記動画専用バスに動画データを出力するための出力バッファと、前記コンピュータシステムのＣＰＵからの指示と前記制御信号線を介して転送される前記イネーブル信号とに基づいて、前記出力バッファの動画データ出力動作を許可又は禁止し、前記動画データ出力動作を許可したとき、次段のビデオデバイスへの前記イネーブル信号の転送を禁止する手段とを設ける。
【００２０】
この構成によれば、デイジーチェーンの上流側に位置するデバイスほど優先的に動画専用バスを使用できるようにする制御が行われ、動画専用バスの使用が許可されたデバイスの下流側には、例えば、そのデバイスによる動画専用バスの使用が終了するまで、イネーブル信号は転送されない。したがって、同時には１つのデバイスの出力バッファしか動作しないようにする制御が自動的に実行できるようになり、同時には１つのビデオデバイスの出力バッファのみ出力動作を許可するようにするためのソフトウェア制御が不要となる。
【００２１】
（３）動画専用バスには、複数のビデオデバイスに共通接続され、前記動画専用バスの使用を要求しているビデオデバイスによってアクティブ状態に設定される制御信号線を１本追加する。
【００２２】
そして、前記各ビデオデバイスには、出力ポートから前記動画専用バスに動画データを出力するための出力バッファと、コンピュータシステムのＣＰＵから発行される動画データ転送指示に応じて、前記制御信号線を所定期間アクティブ状態に設定し、その期間経過後、前記出力バッファの動画データ出力動作を許可する手段と、前記制御信号線の状態を監視し、前記制御信号がアクティブ状態に設定されている期間、前記出力バッファの動画データ出力動作を禁止状態に維持する手段とを設ける。
【００２３】
この構成によれば、制御信号線をアクティブ状態に設定した最新のビデオデバイスに、動画データ専用バスの使用が優先的に許可される。したがって、この構成においては、どのデバイスに対しても初期の優先順位を平等に設定することができる。
【００２４】
（４）上述の（３）の構成に加え、前記動画データ専用バスの使用が許可されるように構成されて前記制御信号線の状態を監視し、前記制御信号がアクティブ状態に設定されている期間に前記動画データ転送指示が発行されたとき、前記制御信号線をアクティブ状態に設定する動作の開始を前記制御信号線のアクティブ状態が解除されるまで待たせる手段を追加し、前記ＣＰＵから動画データ転送指示が発行された最新のビデオデバイスに対して、前記動画データ専用バスの使用が許可されるようにする。
【００２５】
（５）上述の（３）の構成において、前記ＣＰＵからの動画データ転送指示に応じて前記制御信号線をアクティブ状態に設定する期間を、前記ビデオデバイス毎に異ならせておき、最も長い期間が割り当てられたビデオデバイスに対して前記動画データ専用バスの使用が優先的に許可されるようにする。また、この構成に、（４）の構成を追加すれば、パルス幅の長いデバイスに動画転送指示が発行された直後にそれよりもパルス幅が短いデバイスに動画転送指示が発行されても、後から動画転送指示が発行されたデバイスに優先的に動画データ専用バスの使用を許可する事ができる。
【００２６】
（６）前記ビデオデバイスそれぞれによる前記動画専用バスの使用状態を管理し、前記ビデオデバイスを制御するドライバプログラムからの動画専用バス使用要求に応答して、前記動画専用バスを現在使用しているビデオデバイスを決定し、そのビデオデバイスを制御するドライバプログラムとの通信によって前記動画専用バスを現在使用しているビデオデバイスが前記動画専用バスを解放可能か否かを判断し、解放可能であるとき、前記動画専用バス使用要求を発行したドライバプログラムに使用許可を通知するという手順をソフトウェアによって実行する。
【００２７】
この手順によれば、ソフトウェアの制御の下に動画専用バスの使用状態が集中管理されており、このソフトウェアと複数のビデオデバイスを制御する複数のドライバプログラムとの間の通信によって、切り替えが行われる。したがって、ソフトウェア制御のみで同時には１つのデバイスからの動画データのみを表示コントローラに転送することができる。
【００２８】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態を説明する。
図１には、この発明の一実施形態に係わるコンピュータシステムの構成が示されている。このコンピュータシステムは、バッテリ駆動可能なノートブックタイプまたはラップトップタイプのポータブルコンピュータであり、そのシステムボード上には、ＣＰＵバス１、ＰＣＩバス２、特定の幾つかの信号線をＩＳＡバスから取り除いた簡略型のバス構成をもつＭＩＮＩ−ＩＳＡバス３、およびＺＶポート４が設けられている。ＺＶポート４は、ＰＣカードソケット１７１または１７２とディスプレイコントローラ１４およびサウンドコントローラ４１との間をポイントーツーポイント形式で直接接続するビデオ・オーディオ専用バスである。
【００２９】
ビデオバスは、４２２形式の画像フォーマットに対応する１６ビット幅のデジタルＹＵＶデータ信号線（８ビットの輝度データＹおよび８ビットの色差データＵＶ）、水平・垂直同期信号（ＨＲＥＦ，ＶＳＹＮＣ）、およびピクセルクロック（ＰＣＬＫ）を転送するための信号線群から構成されている。
【００３０】
オーディオバスは、オーディオ情報をシリアルに伝達するためのＰＣＭ信号、および現在のオーディオデータ出力が左チャネルか右チャネルかを示す信号（ＬＲＣＫ）、およびシリアルクロックを転送するための信号線群から構成されている。
【００３１】
また、システムボード上には、ＣＰＵ１１、ホスト／ＰＣＩブリッジ装置１２、主メモリ１３、ディスプレイコントローラ１４、Ｉ／Ｏコントロールゲートアレイ１６、ＰＣカードコントローラ１７、ＭＰＥＧ２デコーダ１８、ビデオキャプチャコントローラ１９、Ｐ１３９４コントローラ２０、モデム２１、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）コントローラ２２、ビデオキャプチャ３１、およびサウンドコントローラ４１などが設けられている。
【００３２】
これらデバイスのうち、ＰＣカードコントローラ１７、ＭＰＥＧ２デコーダ１８、Ｐ１３９４コントローラ２０、およびビデオキャプチャ３１は、動画を扱うデバイスであり、ディスプレイコントローラ１４への動画転送をＺＶポート４を介して行うために、それらの動画出力ポートはＺＶポート４に共通接続されている。
【００３３】
ＣＰＵ１１は、例えば、米インテル社によって製造販売されているマイクロプロセッサ“Ｐｅｎｔｉｕｍ”などによって実現されている。このＣＰＵ１１の入出力ピンに直結されているＣＰＵバス１は、６４ビット幅のデータバスを有している。
【００３４】
主メモリ１３は、オペレーティングシステム、デバイスドライバ、実行対象のアプリケーションプログラム、および処理データなどを格納するメモリデバイスであり、複数のＤＲＡＭモジュールによって構成されている。このメモリ１３は、システムボード上に予め実装されるシステムメモリと、ユーザによって必要に応じて装着される拡張メモリとから構成される。これらシステムメモリおよび拡張メモリを構成するＤＲＡＭモジュールとしては、シンクロナスＤＲＡＭやＲａｍｂｕｓなどが利用される。
【００３５】
ホストーＰＣＩブリッジ装置１２は、ＣＰＵ１とＰＣＩバス２との間を繋ぐブリッジＬＳＩであり、ＰＣＩバス２のバスマスタの１つとして機能する。このホスト／ＰＣＩブリッジ装置１２は、ＣＰＵバス１と内部ＰＣＩバス２との間で、データおよびアドレスを含むバスサイクルを双方向で変換する機能、およびメモリバスを介して主メモリ１３をアクセス制御する機能などを有している。
【００３６】
ＰＣＩバス２はクロック同期型の入出力バスであり、ＰＣＩバス２上の全てのサイクルはＰＣＩバスクロックに同期して行われる。ＰＣＩバスクロックの周波数は最大３３ＭＨｚである。ＰＣＩバス２は、時分割的に使用されるアドレス／データバスを有している。このアドレス／データバスは、３２ビット幅である。
【００３７】
ＰＣＩバス２上のデータ転送サイクルは、アドレスフェーズとそれに後続する１以上のデータフェーズとから構成される。アドレスフェーズにおいてはアドレスおよび転送タイプが出力され、データフェーズでは８ビット、１６ビット、２４ビットまたは３２ビットのデータが出力される。
【００３８】
ディスプレイコントローラ１４は、ホスト／ＰＣＩブリッジ装置１２と同様にＰＣＩバス２のバスマスタの１つであり、ビデオメモリ（ＶＲＡＭ）１４３の画像データをＬＣＤ１４１や外部のＣＲＴディプレイに表示するものであり、ＶＧＡ仕様のテキストおよびグラフィクス表示をサポートする。
【００３９】
さらに、このディスプレイコントローラ１４は、図示のように、ＺＶポート４に接続されたビデオポート１４１を有しており、このビデオポート１４１から入力した動画データストリームＳ１を表示画面上にビデオウインドウとして表示する動画表示機能を持つ。
【００４０】
Ｉ／Ｏコントロールゲートアレイ１６は、複数のＩ／Ｏ制御機能を内蔵した１チップＬＳＩであり、この実施形態においては、外部の赤外線通信機器との間の赤外線通信を制御する赤外線コントローラ１６１と、ハードディスクドライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＯＭドライブなどのＩＤＥまたはＡＴＡＰＩインターフェースを持つデバイスを制御するＩＤＥコントローラ１６２と、リアルタイムクロック（ＲＴＣ）１６３と、プリンタポート、シリアルポート（ＳＩＯ）、フロッピーディスクドライブ（ＦＤＤ）の制御とＭＩＮＩ−ＩＳＡバス３上のサウンドコントローラ４１等のＩＳＡ互換のデバイスを制御するＩ／Ｏコントローラ１６４とが内蔵されている。
【００４１】
ＰＣカードコントローラ１７は、ＰＣＩデバイスの１つであり、ＣＰＵ１１の制御の下にＰＣＭＣＩＡ仕様の１６ビットＰＣカードとカードバス仕様の３２ビットＰＣカードとを制御するものであり、ＺＶポート４を介した動画転送もサポートしている。このＰＣカードコントローラ１７は、ノーマルモードとマルチメディアモード（ＺＶポートモード）の２つの動作モードを有している。ノーマルモードは、モデムカードなどのような通常のＰＣカードを制御するためのものであり、ＰＣＩバス２とＰＣカードとの間でデータ転送を行い、ＺＶポートは使用しない。
【００４２】
マルチメディアモード（ＺＶポートモード）は、ビデオキャプチャカード、ＭＰＥＧ２エンコーダカード、ＭＰＥＧ２デコーダカードなど動画を扱うＰＣカードがＰＣカードソケットに装着されている場合に使用されるモードである。このモードにおいては、前述のＺＶポート４が使用され、ＰＣカードからディスプレイコントローラ１４にＺＶポート４を介して動画データストリームＳ４が直接的に転送される。
【００４３】
ノーマルモードとマルチメディアモードの動作モードの切り替えは、ＣＰＵ１１によって行われる。すなわち、ＣＰＵ１１は、ＰＣカードソケットに装着されているＰＣカードから属性情報を読み取り、その属性情報によって装着されているＰＣカードの種類を検出する。装着されているＰＣカードがマルチメディアモード対応のカードであれば、ＣＰＵ１１は、ＰＣカードコントローラ１７をマルチメディアモードに切り替える。
【００４４】
サウンドコントローラ４１は、ＣＰＵ１１の制御の下にオーディオデータの入出力制御を行うものであり、マイク端子からの音声信号をＡ／Ｄ変換してメモリ１３に取り込んだり、ＺＶポート４を介して転送されるデジタルオーディオデータをアナログ信号に変換してスピーカに出力する機能を有する。
【００４５】
ＭＰＥＧ２デコーダ１８は、ＰＣＩバス２に接続されたＰＣＩインターフェースとＺＶポート４に接続された動画出力ポートを有している。このＭＰＥＧ２デコーダ１８は、ＭＰＥＧ２でデジタル圧縮符号化された例えばＤＶＤ−ＲＯＭドライブなどからの動画データをＰＣＩバス２経由で受信し、それを伸張するための復号処理を行う。復号された動画データは、前述の１６ビットＹＵＶデータフォーマットに変換されて動画データストリームＳ２としてＺＶポート４上に出力され、ディスプレイコントローラ１４のビデオ入力ポート１４１に転送される。
【００４６】
通常、ＤＶＤ−ＲＯＭドライブから読み出されるＭＰＥＧ２データストリームには、映画などの映像を構成する主映像（ビデオ）、字幕などの副映像（サブピクチャ）、および音声信号それぞれの符号化データが多重化されている。副映像および音声信号の符号化には、ランレングス符号化およびドルビーＡＣ３がそれぞれ使用される。このため、ＭＰＥＧ２デコーダ１８には、このような３種類のストリームを含むＤＶＤビデオをデコードするために、３つのデコーダ、つまり主映像を復号するＭＰＥＧ２デコーダ、副映像を復号するサブピクチャデコーダ、および音声信号を復号するオーディオデコーダを設けておき、これらを並行して動作させることが好ましい。ＭＰＥＧ２デコーダで復号化されたビデオデータとサブピクチャデコーダで復号化された副映像は合成され、そして１６ビットＹＵＶデータフォーマットでＺＶポート４上に定義されたビデオバス上に出力される。また、オーディオデコーダによって復号化された音声信号は、シリアルデータ転送のフォーマットでＺＶポート４上に定義されたオーディオバスを介して転送される。
【００４７】
ビデオキャプチャコントローラ１９は、ＣＰＵ１１からの指示に従ってビデオキャプチャ３１を動作制御する機能と、ＺＶポート４上に出力される動画データを取り込み、それをＰＣＩバス２を介して主メモリ１３に転送する機能などを有している。ビデオキャプチャコントローラ１９によるビデオキャプチャ３１の制御は、Ｉ２Ｃバスを介して行われる。ＺＶポート４から主メモリ１３への動画転送においては、ＰＣＩバス２のバンド幅を考慮して、まず、データ転送レートを下げるために動画データのスケールダウン（フレームレート、解像度、カラーフォーマット変換などを使用する）処理が内蔵のスケーラによって実行され、それがＦＩＦＯバッファに格納される。この後、ＦＩＦＯバッファのデータがＤＭＡ転送によって主メモリ１２に転送される。
【００４８】
Ｐ１３９４コントローラ２０は、Ｐ１３９４高速シリアルインターフェースを介した外部装置との間のデータ転送を制御するためのものであり、ＰＣＩバス２に接続されたＰＣＩインターフェースとＺＶポート４に接続された動画出力ポートを有している。Ｐ１３９４高速シリアルインターフェースを介してデジタルビデオカメラなどから動画データを受け取った場合には、Ｐ１３９４コントローラ２０は、その動画データを１６ビットＹＵＶデータフォーマットに変換してＺＶポート４上に定義されたビデオバス上に動画ストリームＳ５として出力することにより、ディスプレイコントローラ１４に転送する。
【００４９】
ビデオキャプチャ３１は、カメラインタフェースを介してビデオカメラやイメージセンサなどから入力される動画データを１６ビットＹＵＶデータフォーマットに変換して、それをＺＶポート４上に定義されたビデオバス上に動画ストリームＳ３として出力することによりディスプレイコントローラ１４に転送する。
【００５０】
以上のように、図１のシステムにおいては、互いに異なる動画データを扱う複数のビデオデバイス、つまり、ＰＣカードコントローラ１７、ＭＰＥＧ２デコーダ１８、Ｐ１３９４コントローラ２０、およびビデオキャプチャ３１が、それぞれＰＣＩバス２とのインターフェースに加え、ＺＶポート４に接続された動画出力ポートを有しており、どの動画ソースについてもＰＣＩバス２を使用せずにディスプレイコントローラ１４にＺＶポート４を通して直接的に転送できるようになり、様々な動画ソースについてその表示を効率よく行うことができる。
【００５１】
ところで、ＺＶポート４は同時には１つの動画データしか流すことができない。したがって、このシステムにおいては、ＰＣカードコントローラ１７、ＭＰＥＧ２デコーダ１８、Ｐ１３９４コントローラ２０、およびビデオキャプチャ３１を択一的にＺＶポート４に接続して、同時には１つのデバイスのみがＺＶポートを使用するようにするための動画ソース切り替え制御の仕組みが組み込まれている。
【００５２】
以下、この動画ソース切り替え制御の具体例を説明する。
（１）まず、図２および図３を参照して第１の例について説明する。
図２においては、ＰＣカードコントローラ１７、ＭＰＥＧ２デコーダ１８、Ｐ１３９４コントローラ２０、およびビデオキャプチャ３１それぞれの動画出力ポートの１つを選択してＺＶポート４に接続するためのセレクタが設けられており、これによって同時には単一のデバイスからの動画データしかディスプレイコントローラ１４に転送できないように制御される。したがって、１つのＺＶポート４で、ＰＣカードコントローラ１７、ＭＰＥＧ２デコーダ１８、Ｐ１３９４コントローラ２０、およびビデオキャプチャ３１それぞれとディスプレイコントローラ１４との間をポイントーツーポイント形式で接続することが可能となり、ＺＶポート４の競合を防止することができる。
【００５３】
このセレクタは、ＰＣカードコントローラ１７、ＭＰＥＧ２デコーダ１８、Ｐ１３９４コントローラ２０、およびビデオキャプチャ３１それぞれの動画出力ポートに３ステート出力バッファ１０１，１０２，１０３，１０４を設け、これら各バッファによる動画出力動作を、ＣＰＵ１１からのコマンドで制御可能なイネーブル／ディスエーブル信号（ＥＮ／ＤＩＳ１，ＥＮ／ＤＩＳ２，ＥＮ／ＤＩＳ３，ＥＮ／ＤＩＳ４）によってイネーブル・ディスエーブル制御することによって実現できる。
【００５４】
この構成においては、各ビデオデバイスは、ＣＰＵ１１からの指示で動画データの転送が許可された場合にのみ動画データをＺＶポート４に出力するので、ＣＰＵ１１によって実行されるソフトウェアが同時には１つのデバイスの出力バッファのみ出力動作を許可するように制御することで、ＺＶポート４の競合を防止することができる。また、出力動作が許可された１つの出力バッファ以外の他のすべての出力バッファについてはディスエーブル状態、つまり高インピーダンス出力の状態に設定されるので、ＺＶポート４から電気的に分離される。
【００５５】
図１のセレクタは、実際には、図３に示されているように、３ステート出力バッファ１０１，１０２…とＣＰＵ１１によってリード／ライト可能なレジスタ２０１，２０２，…とをそれぞれデバイス内部に対応して設けることによって実現される。この場合、例えば、ＣＰＵ１１からのコマンドでレジスタ２０１のイネーブルフラグＦ１がセットされると、３ステート出力バッファ１０１のイネーブル／ディスエーブル信号ＥＮ／ＤＩＳ１がアクティブとなり、これによってデバイス１はＺＶポート４を使用した動画転送を行うことが可能となる。
【００５６】
（２）次に、図４、図５および図６を参照して第２の例について説明する。
図４においては、ハードウェアによる制御によって自動的にＺＶポート４を使用するデバイスの優先順位を規定する構成が採用されている。すなわち、ＺＶポート４には、複数のデバイス（ＰＣカードコントローラ１７、ＭＰＥＧ２デコーダ１８、Ｐ１３９４コントローラ２０、およびビデオキャプチャ３１）をデイジーチェーン形式で接続する１本のＺＶイネーブル信号線が追加されている。このＺＶイネーブル信号線は、ＺＶポート４の使用許可を示すＺＶイネーブル信号をデイジーチェーンの先頭に位置するデバイスから末尾のデバイスに亘って順次転送するために使用される。
【００５７】
そして、各デバイスには、前述の３ステート出力バッファ１０１，１０２…およびレジスタ２０１，２０２…に加え、組み合わせ論理回路３０１，３０２…が追加されている。これら組み合わせ論理回路３０１，３０２…の各々は、ＣＰＵ１１によってセットされるイネーブルフラグＦ１とＺＶイネーブル信号線を介して転送されるＺＶイネーブル信号とに基づいて、出力バッファの動画データ出力動作をイネーブル／ディスエーブル制御するためのイネーブル／ディスエーブル信号を発生するものであり、イネーブルフラグＦ１の入力端子Ａ、ＺＶイネーブル信号入力端子Ｘ、イネーブル／ディスエーブル信号出力端子Ｚ、および次段のデバイスへのＺＶイネーブル信号出力端子Ｙを有している。
【００５８】
入力Ｘおよび入力Ａに対する出力Ｙの真理値表テーブルを図５（ａ）、入力Ｘおよび入力Ａに対する出力Ｚの真理値表テーブルを図５（ｂ）に示す。
入力Ａ＝１（動画転送許可を示すイネーブルフラグＦ１がセットされた状態）になったとき、入力Ｘ＝１（アクティブ状態のＺＶイネーブル信号が入力されている状態）であれば、出力Ｚ＝１となり、出力バッファがイネーブル状態に設定される。また、この時は、出力Ｙ＝０となり、次段のデバイスへのＺＶイネーブル信号の伝達が停止される。入力Ａ＝０（動画転送許可を示すイネーブルフラグＦ１がセットされてない状態）の時には、そのときの入力Ｘの状態がそのまま出力Ｙとなる。また、入力Ｘ＝０であれば、出力Ｙおよび出力Ｚは、入力Ａによらず０となる。
【００５９】
これら各組み合わせ論理回路３０１，３０２は、図６に示されているように、２つの２入力ＡＮＤゲート４０１，４０２，インバータ４０３、および入力バッファ４０４から構成することができる。
【００６０】
この構成によれば、デイジーチェーンの上流側に位置するデバイス（ここでは、デバイス１が最上流のデバイス）ほど優先的にＺＶポート４を使用できるようにする制御が行われ、ＺＶポート４の使用が許可されたデバイスの下流側には、例えば、そのデバイスによるＺＶポート４の使用が終了するまで、ＺＶイネーブル信号は転送されない。したがって、同時には１つのデバイスの出力バッファしか動作しないようにする制御が自動的に実行できるようになる。なお、最上流の入力Ｘは常に１に固定されている。
【００６１】
（３）次に、図７、図８および図９を参照して第３の例について説明する。
図７においては、ＺＶポート４には、複数のデバイスに共通接続された１本のＺＶ制御信号線が追加されている。このＺＶ制御信号線は、ＺＶポート４の使用を要求しているデバイスがあることをそのデバイスとそれ以外の他のすべてのデバイスに通知するためのものであり、ＺＶポート４の使用を要求しているデバイスによって、一定期間アクティブ状態に設定される。
【００６２】
そして、各デバイスには、前述の３ステート出力バッファ１０１，１０２…およびレジスタ２０１，２０２…に加え、組み合わせ論理回路５０１，５０２…が追加されている。これら組み合わせ論理回路５０１，５０２…の各々は、ＣＰＵ１１からのコマンドによるイネーブルフラグＦ１のセットに応答して、ＺＶ制御信号線を所定期間アクティブ状態に設定し、その期間経過後、対応する出力バッファをイネーブル状態に設定する機能と、ＺＶ制御信号線の状態を監視し、ＺＶ制御信号線がアクティブ状態に設定されている期間中、出力バッファをディスエーブル状態に維持する機能が設けられている。
【００６３】
これら各組み合わせ論理回路５０１，５０２…は、図８のように、パルス発生回路６０１、ディレイ回路６０２、フリップフロップ６０３、ＺＶ制御信号用出力バッファ６０４、ＺＶ制御信号用出力バッファ６０５から構成されている。
【００６４】
以下、図９のタイミングチャートを参照して、図８の組み合わせ論理回路の動作を説明する。ここでは、デバイス２の出力バッファ１０２がイネーブル状態に設定されているときに、デバイス１のレジスタ２０１にイネーブルフラグＦ１がセットされた場合を想定する。
【００６５】
デバイス１においては、イネーブルフラグＦ１のセットに応答してパルス発生回路６０１からワンショットパルス信号ＺＶ−ＥＮ１が出力される。このワンショットパルス信号ＺＶ−ＥＮ１は、ディレイ回路６０２に送られると共に、ＺＶ制御信号としてバッファ６０４を介してＺＶ制御信号線上に出力される。この時のＺＶ制御信号線の変化は、すべてのデバイスの組み合わせ論理回路でモニタされる。すなわち、デバイス１においてはフリップフロップ６０３がリセットされる。デバイス２においても同様にしてフリップフロップがリセットされ、これによってイネーブル／ディスエーブル信号ＥＮ／ＤＩＳ２がディスエーブル状態となる。
【００６６】
ワンショットパルス信号ＺＶ−ＥＮ１のパルス幅に対応する期間だけ経過した後、ディレイ回路６０２からはセット信号ＳＥＴ１が出力される。このセット信号ＳＥＴ１は、フリップフロップ６０３に送られる。フリップフロップ６０３は、セット信号ＳＥＴ１が入力された時、イネーブル／ディスエーブル信号ＥＮ／ＤＩＳ１を１、つまりアクティブ状態に設定する。
【００６７】
このように、ＺＶ制御信号線を用いてすべてのデバイスの出力バッファを一旦ディスエーブルした後、自身のデバイスの出力バッファをイネーブルにする構成を使用することにより、結果的に、時間的に最も最近にＺＶ制御信号線をアクティブ状態に設定したデバイスに、ＺＶポート４の使用が許可される。したがって、この構成においては、どのデバイスに対しても初期の優先順位を平等に設定することができる。
【００６８】
（４）次に、図１０、図１１および図１２を参照して第４の例について説明する。
図１０においては、図８で説明した各組み合わせ論理回路５０１，５０２の構成にさらに改良が加えられており、図８のパルス発生回路６０１およびディレイ回路６０２の代わりに、ＣＰＵ１１によってパルス幅およびディレイ時間がそれぞれプログラム可能なプログラマブルパルス発生回路７０１およびプログラマブルディレイ回路７０２が設けられ、且つＡＮＤゲート７０３が追加されている。
【００６９】
プログラマブルパルス発生回路７０１から発生されるパルス信号のパルス幅は、図１１に示されているように、デバイス毎に異なるように初期設定される。また、プログラマブルディレイ回路７０２のディレイ時間についても、対応するプログラマブルパルス発生回路７０１からのパルス信号の幅に相当する時間経過後にセット信号が出力されるようにデバイス毎に異なる値が初期設定される。
【００７０】
これにより、たとえ複数のデバイスに対して同時にイネーブルフラグがセットされた場合であっても、その中で最も長いパルス幅が割り当てられているデバイスにＺＶポート４の使用が許可されるので、ＺＶポート４の競合を防止できる。
【００７１】
また、ＡＮＤゲート７０３は、ＺＶイネーブルフラグがセットされた時にＺＶ制御信号が既にアクティブ状態に設定されていた場合には、そのパルス信号ＺＶ−ＥＮ１の発生動作の開始をＺＶ制御信号線のアクティブ状態が解除されるまで待たせるために設けられたものである。
【００７２】
これにより、ＣＰＵ１１から最も後でイネーブルフラグがセットされたデバイスにＺＶポート４を使用させることができるので、もしパルス幅の長いデバイスにイネーブルフラグがセットされた直後にそれよりもパルス幅が短いデバイスにイネーブルフラグがセットされたとしても、後からイネーブルフラグがセットされたデバイスに優先的にＺＶポート４の使用を許可する事ができる。
【００７３】
以下、図１２のタイミングチャートを参照して、図１０の組み合わせ論理回路の動作を説明する。ここでは、デバイス３の出力バッファ１０３がイネーブル状態に設定されているときに、デバイス１とデバイス２に同時にイネーブルフラグがセットされた場合を想定する。
【００７４】
デバイス１においては、ＺＶ制御信号が０の状態でイネーブルフラグＦ１がセットされると、それに応答してすぐにパルス発生回路７０１からワンショットパルス信号ＺＶ−ＥＮ１が出力される。これと同時に、デバイス２からもワンショットパルス信号ＺＶ−ＥＮ２が出力される。これらパルス信号によりＺＶ制御信号線の電位が変化し、すべてのデバイスのフリップフロップがリセットされる。したがって、デバイス３においては、イネーブル／ディスエーブル信号ＥＮ／ＤＩＳ３がディスエーブル状態に切り替えられる。
【００７５】
デバイス２においては、ワンショットパルス信号ＺＶ−ＥＮ２のパルス幅に対応する期間だけ経過した後、セット信号ＳＥＴ２が出力される。このセット信号ＳＥＴ２は、フリップフロップに送られる。しかし、この時はまだワンショットパルス信号ＺＶ−ＥＮ１が出力されているため、セット信号ＳＥＴ２はマスクされてしまい、フリップフロップはセットされない。
【００７６】
デバイス１においては、ワンショットパルス信号ＺＶ−ＥＮ１のパルス幅に対応する期間だけ経過した後、セット信号ＳＥＴ１が出力される。このときは既にワンショットパルス信号ＺＶ−ＥＮ２は発生してないので、セット信号ＳＥＴ１によってフリップフロップ６０３は、イネーブル／ディスエーブル信号ＥＮ／ＤＩＳ１を１、つまりアクティブ状態に設定する。
【００７７】
（５）次に、図１３および図１４を参照して第５の例について説明する。
ここでは、（１）の例において、ソフトウェア制御によって複数のデバイスによるＺＶポートの使用を排他的に切り替えるための制御動作を説明する。そのためのソフトウェア構成を図１３に示す。
【００７８】
図１３において、ＺＶポートマネージャは、ＺＶポート４の使用状態を一括管理するためのプログラムである。アプリケーションプログラム１，２，３はそれぞれＺＶポート４を使用するデバイス１，２，３を用いて動画表示を行うプログラムであり、またＺＶポートクライアントドライバ１，２，３はデバイス１，２，３の動作を制御するためのドライバプログラムである。
【００７９】
ＺＶポートマネージャは、ＺＶポートクライアントドライバ１，２，３それぞれと通信する機能を有しており、この通信機能を用いてＺＶポート４の使用権切り替えを行う。使用権切り替え処理の概略は、次の通りである。
【００８０】
たとえば、ＺＶポートクライアントドライバ１からＺＶポート使用要求が発行されると、ＺＶポートマネージャは、デバイス毎にＺＶポートの使用状態を管理している管理テーブルＴ１を参照してＺＶポート４を現在使用しているデバイスを調べ、そのデバイスに対応するＺＶポートクライアントドライバ（例えば、ＺＶポートクライアントドライバ３）に他のＺＶポートクライアントドライバからの使用要求があったことを通知する。使用要求を受けたＺＶポートクライアントドライバ３は、ＺＶポート４の使用権の切り替えが可能か否かを返答する。ＺＶポートマネージャは、切り替えが可能か否かを使用要求を出したＺＶポートクライアントドライバ１に返し、切り替え可能であれば、管理テーブルＴ１を書き換えると共に、ＺＶポート４の使用権の切り替えを行う。この使用権切り替え動作は、新たにＺＶポート４を使用するデバイスにイネーブルフラグをセットし、使用権を解放するデバイスに対してはイネーブルフラグをリセットすることによって行うことができる。このようなイネーブルフラグのセット／リセット制御は、そのデバイスに対応するＺＶポートクライアントドライバが実行する。
【００８１】
次に、図１４のフローチャートを参照して、使用権切り替え制御のための一連の処理の流れを説明する。
ＺＶポートマネージャは、オペレーティングシステムの起動時やＺＶポート対応ＰＣカードなどの挿抜時にその時にコンピュータシステムに存在するＺＶポート対応デバイスを数え上げ、それら各デバイス毎にＺＶポートの使用状態を管理するための管理テーブルＴ１を作成する（ステップＳ１０１）。
【００８２】
ＺＶポート対応デバイスの数え上げは、ＩＳＡデバイスであればＰＮＰＩＤ、ＰＣＩデバイスの場合にはＤｅｖｉｃｅ  ＩＤ，Ｖｅｎｄｅｒ  ＩＤ，Ｓｕｂｓｙｓｔｅｍ  Ｄｅｖｉｃｅ  ＩＤからＯＳで管理されている対応する情報（ＩＮＦ）ファイルを調べ、ＩＮＦファイルにＺＶデバイス情報があれば、ＺＶポート対応デバイスとしてＯＳの環境ファイル（Ｒｅｇｉｓｔｒｙ）に書き込んでおき、オペレーティングシステムの起動時にそのＲｅｇｉｓｔｒｙの情報を参照することによって行うことができる。
【００８３】
また、ＰＣカードがシステム稼働中に装着された場合には、そのＰＣカードの装着が、図１５に示すソケットサービスおよびカートサービスなどのドライバによって検出され、それがＺＶ−ポートマネージャに通知されるので、これに応答してＺＶ−ポートマネージャがそのカードの属性情報からＺＶポート対応カードか否かを判断し、ＺＶポート対応カードであれば管理テーブルＴ１にそのデバイスを追加すればよい。また、システム稼働中にＰＣカードが取り外された時には、取り外されたＰＣカードのソケット番号や属性情報等からそのカードがＺＶポート対応カードとして数え上げられているデバイスか否かを調べ、ＺＶポート対応カードであれば管理テーブルＴ１からそのデバイスを削除すればよい。
【００８４】
次に、ＺＶポート４を使用した動画転送を行うアプリケーションが実行されると、そのアプリケーションは、対応するＺＶポートクライアントドライバを主メモリ１３にロードする（ステップＳ１０２）。ロードされたＺＶポートクライアントドライバは、ＺＶポートマネージャに対してＺＶポート４の使用要求を発行する（ステップＳ１０３）。ＺＶポートマネージャは、管理テーブルＴ１を参照して現在のＺＶポート４の使用状況を調べ、他のデバイスがＺＶポート４を使用中か否かを判断する（ステップＳ１０５）。
【００８５】
どのデバイスもＺＶポート４を使用していない場合には、ＺＶポートマネージャは、使用要求を出したＺＶポートクライアントドライバに対して使用許可を返す（ステップＳ１０６）。使用許可を受けたＺＶポートクライアントドライバは、対応するデバイスのレジスタにイネーブルフラグをセットし、出力バッファを使用可能な状態に設定する（ステップＳ１０７）。また、このとき、ＺＶポートマネージャは、管理テーブルＴ１の該当するデバイスの欄にＺＶポート使用中であることを書き込む。
【００８６】
一方、ＺＶポート４を使用しているデバイスが存在した場合には、その使用しているデバイスを特定し、そのデバイスに対応するＺＶポートクライアントドライバに対して他のＺＶポートクライアントドライバからの使用要求があったことを通知する（ステップＳ１０８，１０９）。使用要求を受けたＺＶポートクライアントドライバは、ＺＶポート４の使用権の切り替えが可能か否かを返答する。
【００８７】
たとえば、ビデオキャプチャ３１を使用して動画の表示および記録を行うアプリケーションに対応するＺＶポートクライアントドライバなどについては、その動画の記録動作が中断されるのを防止するために、切り替え要求を拒否する場合がある。この場合には、ＺＶポートマネージャは、使用要求を出したＺＶポートクライアントドライバに対して使用不許可を返す（ステップＳ１１０，Ｓ１１１）。
【００８８】
切り替え可能である旨の返答が合った場合には、前述のステップＳ１０６，Ｓ１０７の処理が実行される。
なお、ここでは、ＺＶポートマネージャをＯＳと独立に設けたが、ＯＳの１機能としてそのＯＳ内にＺＶポートマネージャの機能を組み込むことも可能である。また、図１４の手順を実行するために必要なＺＶポートマネージャや各ドライバ群などのプログラムはＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に格納して配布することができる。
【００８９】
【発明の効果】
以上説明したように、この発明によれば、動画データを扱う複数のデバイスそれぞれからの異なる複数のビデオソースをシステムバスを利用することなく表示コントローラに直接転送できるようになり、様々なビデオソースについてその表示を効率よく行うことができる。また、ハードウェアまたはソフトウェアによる切り替え制御により動画専用バスが同時には複数のデバイスの中の１つだけが使用するように制御できるため、バスの競合の問題を解決することができる。また、最後にイネーブルフラグを設定したデバイスにバス使用権が与えられる仕組みを採用することにより、常にユーザが実行したいアプリケーションに対応するデバイスによる動画転送を許可する事ができる。
【図面の簡単な説明】
【図１】この発明の一実施形態に係るコンピュータシステムの構成を示すブロック図。
【図２】同実施形態のシステムに設けられたＺＶポート対応デバイスの切り替え動作の原理を説明するための図。
【図３】同実施形態のシステムにおいて第１の切り替え制御方式を実現するために設けられたＺＶポート対応デバイスの内部構成を示す図。
【図４】同実施形態のシステムにおいて第２の切り替え制御方式を実現するためにＺＶポート対応デバイス内に設けられた組み合わせ論理回路を示す図。
【図５】図４の組み合わせ論理回路の入力と出力との関係を示す図。
【図６】図４の組み合わせ論理回路の具体的な回路構成の一例を示す回路図。
【図７】同実施形態のシステムにおいて第２の切り替え制御方式を実現するために各ＺＶポート対応デバイス内に設けられた組み合わせ論理回路を示す図。
【図８】図７の組み合わせ論理回路の具体的な回路構成の一例を示す回路図。
【図９】図７の組み合わせ論理回路の動作を示すタイミングチャート。
【図１０】同実施形態のシステムにおいて第３の切り替え制御方式を実現するために各ＺＶポート対応デバイス内に設けられた組み合わせ論理回路を示す図。
【図１１】図１０の組み合わせ論理回路に設けられたプログラマブルパルス発生回路によってＺＶポート対応デバイス毎に異なるパルス幅を設定する様子を示す図。
【図１２】図１０の組み合わせ論理回路の動作を説明するタイミングチャート。
【図１３】同実施形態のシステムにおいて第４の切り替え制御方式を実現するために使用されるソフトウェア構成図。
【図１４】図１３のソフトウェアによって実行されるＺＶポート使用デバイス切り替え制御手順を説明するフローチャート。
【図１５】同実施形態のシステムにおいて第４の切り替え制御方式を実現するために使用されるソフトウェア構成図。
【符号の説明】
２…ＰＣＩバス、３…ＩＳＡバス、４…ＺＶポート、１１…ＣＰＵ、１２…ホスト−ＰＣＩブリッジ、１３…主メモリ、１４…ディスプレイコントローラ、１７…ＰＣカードコントローラ、１８…ＭＰＥＧ２デコーダ、１９…ビデオキャプチャコントローラ、２０…Ｐ１３９４コントローラ、３１…ビデオキャプチャ、４１…サウンドコントローラ、１０１〜１０４…３ステート出力バッファ。
【図１】
0003926873.tif 000002
【図２】
0003926873.tif 000003
【図３】
0003926873.tif 000004
【図４】
0003926873.tif 000005
【図５】
0003926873.tif 000006
【図６】
0003926873.tif 000007
【図７】
0003926873.tif 000008
【図８】
0003926873.tif 000009
【図９】
0003926873.tif 000010
【図１０】
0003926873.tif 000011
【図１１】
0003926873.tif 000012
【図１２】
0003926873.tif 000013
【図１３】
0003926873.tif 000014
【図１４】
0003926873.tif 000015
【図１５】
0003926873.tif 000016