(57)【特許請求の範囲】
【請求項１】
動画データを転送するための動画専用バスと、この動画専用バスに接続され、前記動画専用バスを介してビデオデバイスから転送される動画データをディスプレイに表示するディスプレイコントローラとを有するコンピュータシステムで使用され、プログラムからの動画表示要求で指定された解像度で動画データを表示する動画表示方法であって、
前記ディスプレイコントローラによって表示される動画データが格納されるビデオメモリのメモリバンド幅と、前記ディスプレイに表示すべき表示色数を示す表示モードとに基づいて、表示可能な動画の最大ウインドウサイズを示す前記動画の最大解像度を決定し、
前記動画の最大解像度よりも前記動画表示要求で指定された解像度が大きいとき、前記動画データに対してその表示データ量低減のためのデータ変換処理を施して、前記指定された解像度もしくはそれに近い解像度で動画データを表示することを特徴とする動画表示方法。
【請求項２】
前記動画データに対してその表示データ量低減のために施されるデータ変換処理では、フレームまたはライン単位での動画データの間引きが行われることを特徴とする請求項１記載の動画表示方法。
【請求項３】
前記動画データに対してその表示データ量低減のために施されるデータ変換処理では、前記ビデオメモリに前記動画データを書き込むときにその動画データの圧縮が行われ、前記ビデオメモリから前記圧縮された動画データを読み出すときに伸張が行われることを特徴とする請求項１記載の動画表示方法。
【請求項４】
前記動画データに対してその表示データ量低減のために施されるデータ変換処理は、前記ディスプレイコントローラのグラフィクス演算機能を利用して実行されることを特徴とする請求項１記載の動画表示方法。
【請求項５】
前記動画データに対してその表示データ量低減のために施されるデータ変換処理は、ソフトウェアによって実行されることを特徴とする請求項１記載の動画表示方法。
【請求項６】
動画データを転送する動画専用バスと、
前記動画データをディスプレイに表示する表示手段と、
前記動画データが格納されるビデオメモリのメモリバンド幅と、前記ディスプレイに表示すべき表示色数を示す表示モードとに基づいて、前記表示手段が表示可能な動画の最大ウインドウサイズを示す前記動画の最大解像度を決定する手段と、
プログラムからの動画表示要求で指定された解像度が、前記決定手段により決定された前記最大解像度より大きいか否かを判断する手段と、
前記動画専用バスおよび前記表示手段と接続し、前記動画専用バスを介して転送されてきた前記動画データを、前記判断手段によって、前記要求で指定された解像度が前記最大解像度より大きいと判断された場合は、前記動画データに対して表示データ量低減のためのデータ変換処理を施して、前記指定された解像度若しくは、それに近い解像度に動画データを変換するディスプレイコントローラとを具備することを特徴とするコンピュータシステム。
【請求項７】
前記動画データに対してその表示データ量低減のために施されるデータ変換処理では、フレームまたはライン単位での動画データの間引きが行われることを特徴とする請求項６記載のコンピュータシステム。
【請求項８】
前記動画データに対してその表示データ量低減のために施されるデータ変換処理では、前記ビデオメモリに前記動画データを書き込むときにその動画データの圧縮が行われ、前記ビデオメモリから前記圧縮された動画データを読み出すときに伸張が行われることを特徴とする請求項６記載のコンピュータシステム。
【請求項９】
前記動画データに対してその表示データ量低減のために施されるデータ変換処理は、前記ディスプレイコントローラのグラフィクス演算機能を利用して実行されることを特徴とする請求項６記載のコンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、動画専用バスを有するコンピュータシステムで使用される動画表示方法に関する。
【０００２】
【従来の技術】
近年、米国の標準化団体であるＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）、及びＪＥＩＤＡの標準仕様に準拠したＰＣカードを使用可能なパーソナルコンピュータが普及しつつある。また、最近では、そのＰＣカードを、動画データの入出力制御を行うビデオキャプチャカード、ＭＰＥＧデコーダカードなどとして用いるべく種々の開発がなされている。
【０００３】
動画データのような大量のデータを効率よく処理するために、パーソナルコンピュータにおいては、高速データ転送が可能なＰＣＩローカルバスを用いたシステムアーキテクチャが普及しつつある。
【０００４】
しかし、ＰＣＩローカルバスを用いても、そのデータ転送能力には限界がある。このため、前述のようにＰＣカードをビデオキャプチャカードやＭＰＥＧデコーダカードとして使用する場合には、ＰＣＩローカルバスのデータ転送能力では不十分である。
【０００５】
そこで、最近では、ＺＶ（Ｚｏｏｍｅｄ  Ｖｉｄｅｏ）ポートと称する動画専用のバスを使用して、ＰＣカードとディスプレイコントローラとを直接接続する技術が開発され始めている。ＺＶポートは、システムバスを使用することなく、ＰＣカードがディスプレイコントローラ／オーディオコントローラにビデオ／オーディオデータを直接出力することを可能にする。これにより、大量のビデオデータの転送によってシステムバスが長時間占有されるという不具合を解消でき、システム性能を損なうことなく動画表示などを行うことができる。
【０００６】
【発明が解決しようとする課題】
しかし、このような動画専用バスを使用して動画データをディスプレイコントローラに転送するシステムにおいては、従来では、画面表示可能な動画データのウインドウサイズ（動画の解像度）は、その動画データ転送を制御するソフトウェアによって固定的に決められており、それを越える大きな動画ウインドウを表示することはできなかった。
【０００７】
また、システムの表示性能の問題から、ある一定解像度以上の動画を表示させると、ビデオメモリからディスプレイモニタへの単位時間当たりの動画データの転送量が不足し、表示画面に乱れが生じてしまうなどの不具合もあった。
【０００８】
この発明はこの様な点に鑑みてなされたものであり、画面表示の乱れなどを招くことなく、要求された任意の解像度で動画を画面表示することができる動画表示方法およびコンピュータシステムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
この発明は、動画データを転送するための動画専用バスと、この動画専用バスに接続され、前記動画専用バスを介してビデオデバイスから転送される動画データをディスプレイに表示するディスプレイコントローラとを有するコンピュータシステムで使用され、プログラムからの動画表示要求で指定された解像度で動画データを表示する動画表示方法であって、前記ディスプレイコントローラによって表示される動画データが格納されるビデオメモリのメモリバンド幅と、前記ディスプレイに表示すべき表示色数を示す表示モードとに基づいて、表示可能な動画の最大ウインドウサイズを示す前記動画の最大解像度を決定し、前記動画の最大解像度よりも前記動画表示要求で指定された解像度が大きいとき、前記動画データに対してその表示データ量低減のためのデータ変換処理を施して、前記指定された解像度もしくはそれに近い解像度で動画データを表示することを特徴とする。
【００１０】
この動画表示方法においては、例えば、動画専用バスを介したディスプレイコントローラへの動画転送を制御するためのソフトウェアによってＶＧＡ  ＢＩＯＳなどからビデオメモリのメモリバンド幅と、ディスプレイに表示すべき表示色数を示す表示モードが取得され、そのメモリバンド幅と、表示色数を示す表示モードとに基づいてシステムで表示可能な動画の最大ウインドウサイズを示す前記動画の最大解像度が決定される。動画の表示要求が発行されると、その表示要求で指定された動画の解像度と表示可能な動画の最大解像度とが比較される。表示可能な動画の最大解像度よりも大きな解像度が指定されたときは、動画データに対して例えばフレーム間引き、ライン間引きなど、その表示データ量低減のためのデータ変換処理が自動的に施される。これにより、ディスプレイモニタへの単位時間当たりの動画データの転送量の不足が補われるので、画面表示の乱れなどを招くことなく、要求された任意の解像度もしくはそれに近い解像度で動画を画面表示することが可能となる。
【００１１】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態を説明する。
図１には、この発明の一実施形態に係わる動画表示方法を実現するためのソフトウェアおよびハードウェアの機能構成が示されている。ここでは、ノートブック型のパーソナルコンピュータに動画専用バスとしてＺＶポートを設けた場合が例示されている。
【００１２】
ＺＶポートを使用した動画転送システムは、ＭＰＥＧデコーダカードやビデオキャプチャカードなどとして実現されたＺＶポート対応のＰＣカード１００からのビデオ／オーディオデータを、システムバスを使用することなく、ＺＶポートを用いてＶＧＡコントローラ１４／オーディオコントローラ２１に直接転送するためのものである。
【００１３】
ソフトウェア側には、ＶＧＡコントローラ１４のグラフィクス表示を制御するためのディスプレイドライバ１０６、およびＶＧＡ  ＢＩＯＳ１０７の他、ＺＶポートを使用した動画転送システムをサポートするために、ＺＶポート対応のＰＣカード１００を認識する機能を持つカードサービス１０４およびソケットサービス１０５と、ＺＶポートを使用したＶＧＡコントローラ１４／オーディオコントローラ２１へのビデオ／オーディオデータの転送を制御するためのドライバとしてＶＰＭ（Ｖｉｄｅｏ  Ｐｏｒｔ  Ｍａｎａｇｅｒ）クライアント１０２およびＶＰＭプロバイダ１０３とが設けられている。
【００１４】
ＶＰＭクライアント１０２は、アプリケーションプログラム１０１からの動画表示要求に応じてＶＰＭプロバイダ１０３に動画表示を要求する。その要求がＶＰＭプロバイダ１０３によって許可されると、ＶＰＭクライアント１０２は、カードサービス１０４およびソケットサービス１０５などを利用してＰＣカードコントローラ１７およびＰＣカード１００を制御し、ＺＶポートを介したビデオ／オーディオデータの転送を開始させる。ＶＰＭプロバイダ１０３は、ＶＧＡコントローラ１４を制御して、ＺＶポートを介して転送されたビデオの入力および表示を実行させる。
【００１５】
また、ＶＰＭプロバイダ１０３は、ＶＰＭクライアント１０２からの動画表示要求で指定された任意の解像度で動画をＶＧＡコントローラ１４に表示させる動画表示制御機能を有する。
【００１６】
すなわち、ＶＰＭプロバイダ１０３は、ＶＧＡ  ＢＩＯＳ１０７と通信するためのインターフェース５００を有しており、そのインターフェース５００を介してＶＧＡ  ＢＩＯＳ１０７からこのシステムの表示性能および現在の表示モードなどに関する表示環境情報を取得し、その表示環境情報に基づいてシステムで表示可能な動画の最大解像度を調べる。
【００１７】
ＶＰＭクライアント１０２からの動画表示要求で指定された解像度が動画の最大解像度よりも大きい場合には、ＶＰＭプロバイダ１０３は、例えばフレーム間引き、ライン間引きなど、その動画データの表示データ量低減のための最適なデータ変換処理を選択し、それを自ら実行するか、またはＶＧＡコントローラ１４あるいはディスプレイドライバ１０６などに実行させる。
【００１８】
これにより、ＶＧＡコントローラ１４からディスプレイモニタへの単位時間当たりの動画データの転送量の不足が補われるので、画面表示の乱れなどを招くことなく、要求された任意の解像度もしくはそれに近い解像度で動画を画面表示することが可能となる。
【００１９】
このようなＶＰＭプロバイダ１０３の動画表示制御機能はこの発明の特徴とする部分であり、その詳細については、図６以降で詳述する。
図２には、この実施形態で使用されるコンピュータシステムの具体的な構成が示されている。
【００２０】
このシステムは、バッテリ駆動可能なノートブックタイプのポータブルパーソナルコンピュータであり、そのシステムボード上には、プロセッサバス１、内部ＰＣＩバス２、内部ＩＳＡバス３、およびＺＶポート４が設けられている。ＺＶポート４は、ＰＣカードソケットとＶＧＡコントローラ１４およびオーディオコントローラ２１との間をポイントツーポイント形式で直接接続するビデオ・オーディオバスである。
【００２１】
また、システムボード上には、ＣＰＵ１１、ホスト／ＰＣＩブリッジ装置１２、メモリ１３、ＶＧＡコントローラ１４、ＳＣＳＩコントローラ１５、内部ＰＣＩ−ＩＳＡブリッジ装置１６、ＰＣカードデバイスコントローラ１７、ＢＩＯＳＲＯＭ１９、ＨＤＤ２０、オーディオコントローラ２１、キーボードコントローラ（ＫＢＣ）２２などが設けられている。
【００２２】
ＣＰＵ１１は、例えば、米インテル社によって製造販売されているマイクロプロセッサ“Ｐｅｎｔｉｕｍ”などによって実現されている。このＣＰＵ１１の入出力ピンに直結されているプロセッサバス１は、６４ビット幅のデータバスを有している。
【００２３】
メモリ１３は、オペレーティングシステム、各種デバイスドライバ、実行対象のアプリケーションプログラム、および処理データなどを格納するメモリデバイスであり、複数のＤＲＡＭモジュールによって構成されている。このメモリ１３は、システムボード上に予め実装されるシステムメモリと、ユーザによって必要に応じて装着される拡張メモリとから構成される。これらシステムメモリおよび拡張メモリを構成するＤＲＡＭモジュールとしては、シンクロナスＤＲＡＭやＲａｍｂｕｓなどが利用される。
【００２４】
ホストーＰＣＩブリッジ装置１２は、プロセッサバス１と内部ＰＣＩバス２との間を繋ぐブリッジＬＳＩであり、ＰＣＩバス２のバスマスタの１つとして機能する。このホスト／ＰＣＩブリッジ装置１２は、プロセッサバス１と内部ＰＣＩバス２との間で、データおよびアドレスを含むバスサイクルを双方向で変換する機能、およびメモリバスを介してメモリ１３をアクセス制御する機能などを有している。
【００２５】
内部ＰＣＩバス２はクロック同期型の入出力バスであり、内部ＰＣＩバス２上の全てのサイクルはＰＣＩバスクロックに同期して行われる。ＰＣＩバスクロックの周波数は最大３３ＭＨｚである。ＰＣＩバス２は、時分割的に使用されるアドレス／データバスを有している。このアドレス／データバスは、３２ビット幅である。
【００２６】
ＰＣＩバス２上のデータ転送サイクルは、アドレスフェーズとそれに後続する１以上のデータフェーズとから構成される。アドレスフェーズにおいてはアドレスおよび転送タイプが出力され、データフェーズでは８ビット、１６ビット、２４ビットまたは３２ビットのデータが出力される。
【００２７】
ＶＧＡコントローラ１４は、ホスト／ＰＣＩブリッジ装置１２と同様にＰＣＩバス２のバスマスタの１つであり、ビデオメモリ（ＶＲＡＭ）１４３の画像データをＬＣＤ１４１や外部のＣＲＴディプレイ１４２に表示するものであり、ＶＧＡ仕様のテキストおよびグラフィクス表示の他、ＺＶポート４を用いた動画表示をサポートする。
【００２８】
このＶＧＡコントローラ１４には、図示のように、グラフィックス表示制御回路（Graphics）１４４、ビデオ表示制御回路（Video ）１４５、マルチプレクサ１４６、およびＤ／Ａコンバータ１４７等が設けられている。
【００２９】
グラフィックス表示制御回路１４４は、ＶＧＡ互換のグラフィックスコントローラであり、ビデオメモリ（ＶＲＡＭ）１４３に描画されたＶＧＡのグラフィクスデータをＲＧＢビデオデータに変換して出力するものであり、ＶＲＡＭ１４３に格納されたＹＵＶデータをＲＧＢビデオデータに変換するＹＵＶ−ＲＧＢ変換回路も有している。また、グラフィックス表示制御回路１４４には、各種グラフィクス演算を行うハードウェアロジックや描画のためのアクセラレータなども含まれている。
【００３０】
ビデオ表示制御回路１４５は、ＺＶポート４を介して転送されるデジタルＹＵＶデータを貯えるビデオバッファ、及び同バッファに貯えられたＹＵＶデータをグラフィックス表示制御回路１４４に送ってＶＲＡＭ１４３に書き込ませる回路と、ＹＵＶデータをＲＧＢビデオデータに変換するＹＵＶ−ＲＧＢ変換回路等をもつ。ビデオバッファは、動画データ入力用と動画データ表示処理用に交互に切り替えて使用される２つのバッファを含んであり、ダブルバッファリングリング可能な構造となっている。
【００３１】
マルチプレクサ１４６は、グラフィックス表示制御回路１４４とビデオ表示制御回路１４５の出力データの一方を選択、またはグラフィックス表示制御回路１４４からのＶＧＡグラフィクス上にビデオ表示制御回路１４５からのビデオ出力を合成してカラーＬＣＤ１４１、およびＤ／Ａコンバータ１４７に送る。Ｄ／Ａコンバータ１４７は、マルチプレクサ１４６からのビデオデータをアナログＲＧＢ信号に変換して、ＣＲＴディスプレイ１４２に出力する。
【００３２】
内部ＰＣＩ−ＩＳＡブリッジ装置１６は、内部ＰＣＩバス２と内部ＩＳＡバス３との間を繋ぐブリッジＬＳＩであり、ＰＣＩデバイスの１つとして機能する。この内部ＰＣＩ−ＩＳＡブリッジ装置１６には、ＰＣＩバスアービタ、およびＤＭＡコントローラなどが内蔵されている。内部ＩＳＡバス３には、ＢＩＯＳ  ＲＯＭ１９、ＨＤＤ２０、オーディオコントローラ２１、キーボードコントローラ２２などが接続されている。
【００３３】
オーディオコントローラ２１は、ＣＰＵ１１の制御の下にオーディオデータの入出力制御を行うものであり、マイク端子からの音声信号をＡ／Ｄ変換するためのＡ／Ｄコンバータ２１１と、ＣＰＵ１１からのデジタルオーディオデータをスピーカ端子にアナログ信号として出力するためのＤ／Ａコンバータ２１２と、ＺＶポート４を介してＰＣカードから供給されるデジタルオーディオデータをアナログ信号に変換してスピーカ端子に出力するフィルタ回路２１４と、このフィルタ回路２１４からの出力とマイク端子からの音声信号を選択または合成出力するマルチプレクサ２１３とから構成されている。
【００３４】
ＰＣカードコントローラ１７は、ＰＣＩデバイスの１つであり、ＣＰＵ１１の制御の下にＰＣＭＣＩＡ仕様の１６ビットＰＣカードとカードバス仕様の３２ビットＰＣカードとを制御するものであり、ＺＶポートをサポートしている。
【００３５】
ＰＣカードコントローラ１７は、ノーマルモードとマルチメディアモード（ＺＶポートモード）の２つの動作モードを有している。ノーマルモードは、モデムカードなどのような通常のＰＣカードを制御するためのものであり、ＰＣＩバス２とＰＣカードとの間でデータ転送を行い、ＺＶポート４は使用しない。
【００３６】
マルチメディアモード（ＺＶポートモード）は、ビデオキャプチャカード、ＭＰＥＧエンコーダカード、ＭＰＥＧデコーダカードなど動画を扱うＺＶポート対応のＰＣカードがＰＣカードソケットに装着されている場合に使用されるモードである。このモードにおいては、前述のＺＶポート４が使用される。
【００３７】
すなわち、ＰＣカードコントローラ１７は、ＺＶポート対応のＰＣカードから出力されるデジタルビデオデータ（ディジタルＹＵＶ）およびデジタルオーディオデータをＺＶポート４を介してＶＧＡコントローラ１４およびオーディオコントローラ２１に直接転送する。
【００３８】
ノーマルモードとマルチメディアモードの動作モードの切り替えは、ＣＰＵ１１によって実行される図１のシステムソフトウェアを用いて行われる。すなわち、カードサービス１０４およびソケットサービス１０５は、ＰＣカードソケットに装着されているＰＣカードから属性情報を読み取り、その属性情報によって装着されているＰＣカードの種類を検出する。装着されているＰＣカードがマルチメディアモード対応（ＺＶポート対応）のカードであれば、ＶＰＭクライアント１０２はカードサービス１０４およびソケットサービス１０５を介してＰＣカードコントローラ１７をマルチメディアモードに切り替える。
【００３９】
次に、図３を参照して、これらノーマルモード，マルチメディアモードそれぞれにおけるＰＣカードインタフェースを説明する。
図３は、１６ビットＰＣカードのインターフェースである。この図３に示されているように、ノーマルモードでは、６８ピンから構成されるＰＣカードインターフェースはＰＣＭＣＩＡ仕様で規定された標準ピンアサインルールに従って使用される。
【００４０】
一方、マルチメディアモードでは、アドレスピン（Ａ２５−Ａ７）等は、ＰＣカードからの動画データ（デジタルＹＵＶデータ：８ビットの輝度データＹ、８ビットの色差データＵＶ）の出力、および水平・垂直同期信号（ＨＲＥＦ，ＶＳＹＮＣ）、ピクセルクロック（ＰＣＬＫ）の出力に使用され、Ｉ／Ｏポートアクノリッジピン（ＩＮＰＡＣＫ）およびオーディオ出力線（ＳＰＫＲ）はＰＣカードからのオーディオデータ（ＳＤＡＴＡ）の出力および現在のオーディオデータ出力が左チャネルか右チャネルかを示す信号（ＬＲＣＫ）の出力に使用される。
【００４１】
図４には、ＶＧＡコントローラ１４内における動画データの流れが示されている。
動画データの表示形態は、ＺＶポート４を介して入力した動画データをＶＲＡＭ１４３に書き込まずに、そのままグラフィクスデータと重ね合わせて表示するビデオオーバーレイモードと、ＶＲＡＭ１４３に動画データを書き込み、そのＶＲＡＭ１４３からグラフィクスデータと動画データを選択的に読み出して表示するモードとがある。ビデオオーバーレイモードにおける動画データの流れはパスＰ１であり、このモードでは前述した間引きなどの動画データ変換処理は基本的には行われない。
【００４２】
ＶＲＡＭ１４３に書き込みモードにおける動画データの流れはパスＰ２およびＰ３であり、動画データ変換処理はパスＰ２またはＰ３、あるいはパスＰ２、Ｐ３の双方で行われる。
【００４３】
動画データをＶＲＡＭ１４３に書き込む場合、その動画データは、図５に示されているように、デジタルＹＵＶデータの形式でＶＲＡＭ１４３のオフスクリーンエリアに書き込まれる。デジタルＹＵＶデータは、パックドピクセルなどのグラフィクスデータ形式と比べると、少ないデータサイズで同一色数を表現できるなどの特徴を持つからである。
【００４４】
次に、図６を参照して、ＶＰＭプロバイダ１０３に設けられた動画表示制御機能を説明する。
前述したように、ＶＰＭプロバイダ１０３の動画表示制御機能は、動画表示要求で指定された任意の解像度で動画をＶＧＡコントローラ１４に表示させるためのものであり、その機能は、最大ビデオウインドウ解像度算出部１０３ａとビデオデータ変換方式決定部１０３ｂとから構成される。
【００４５】
最大ビデオウインドウ解像度算出部１０３ａは、ＶＰＭプロバイダ１０３が組み込まれたコンピュータシステムの表示性能に関する情報と現在の表示モード（画面解像度、表示色数など）に関する情報などをＶＧＡ  ＢＩＯＳ１０７を介して取得し、その取得した情報に基づいてこのシステムで表示可能な動画の最大ウインドウサイズ（動画解像度）を算出する。表示性能に関する情報には、ＶＲＡＭ１４３のメモリバンド幅に関する情報と、ディスプレイモニタとして使用されているフラットパネルディスプレイの種類を示す情報とが含まれている。
【００４６】
メモリバンド幅に関する情報には、ＶＲＡＭ１４３の記憶容量（たとえば、２Ｍバイト、４Ｍバイト等）、ＶＲＡＭ１４３からのデータ読み出し速度を規定するメモリクロックの周波数、メモリデータバス幅（たとえば、３２ビット、６４ビット等）などが含まれている。フラットパネルディスプレイの種類を示す情報は、使用されているＬＣＤ１４１がＴＦＴか、ＤＳＴＮかなどを示すものである。
【００４７】
最大ビデオウインドウ解像度算出部１０３ａは、まず、メモリバンド幅に関する情報から、単位時間あたりに動画データをＶＲＡＭ１４３から読み出すことが可能な最大データ転送レートを算出する。そして、その算出した最大データ転送レートと現在の表示モード（画面解像度、表示色数）とに基づいて、このシステムで現在表示可能な動画の最大ウインドウサイズ（最大動画解像度）を決定する。
【００４８】
ビデオデータ変換方式決定部１０３ｂは、まず、ＶＰＭクライアント１０２からの動画表示要求で指定された動画解像度と現在表示可能な最大動画解像度とを比較し、動画データに対するビデオデータ変換処理の必要性の有無を調べる。指定された動画解像度が現在表示可能な最大動画解像度よりも大きい場合には、ビデオデータ変換処理が必要であると判定する。そして、指定された動画解像度と現在表示可能な最大動画解像度との差と、ＬＣＤ１４１の種類などから、画面の乱れを招くことなく、できるだけ指定された解像度に近い解像度で動画を画面表示するのに最適な動画データ変換処理を決定する。
【００４９】
動画データ変換処理としては、動画データのフレーム間引き、ライン間引きなどを使用することが好ましい。特に、ＬＣＤ１４１がＤＳＴＮである場合には、そのディスプレイの表示応答速度が遅いため、フレーム間引きによって画面リフレッシュ速度を実質的に遅くすることが望ましい。これにより、画面ノイズなどの発生がなくなり、間引きを行わない場合よりも、却ってなめらかな動画の表示再生が可能となり得る。
【００５０】
また、動画データをデジタル圧縮符号化した後にＶＲＡＭ１４３に書き込み、そのＶＲＡＭ１４３から圧縮された動画データを読み出して伸張するという圧縮／伸張処理を行うこともできる。これにより、ＶＲＡＭ１４３からのデータ読み出し速度を実質的に高めることが可能となる。
【００５１】
このようなフレーム間引き、ライン間引、圧縮／伸張などの動画データ変換処理は、ビデオデータ変換方式決定部１０３ｂの制御の下、ＶＧＡコントローラ１４によってハードウェア的に行われる。また、ディスプレイドライバ１０６やＶＰＭプロバイダ１０３内に用意された専用のビデオデータ変換プログラム１０３ｃに、その変換処理を実行させても良い。
【００５２】
次に、図７を参照して、動画データの流れとその動画データに対する表示制御処理の手順を説明する。
アプリケーションプログラム１０１から動画データの表示要求が発行されると、ＶＰＭクライアント１０２は、それをＶＰＭプロバイダ１０３に通知してある解像度での動画表示の開始を要求する。ＶＰＭプロバイダ１０３は、ＶＰＭクライアント１０２から指定された解像度と前述のメモリバンド情報、表示モード情報、ディスプレイの種別情報とから最適な動画データ変換処理を決定した後、ＶＰＭクライアント１０２に許可通知を送る。
【００５３】
ＶＰＭプロバイダ１０３によって動画表示が許可されると、ＶＰＭクライアント１０２は、カードサービス１０４およびソケットサービス１０５などを利用してＰＣカードコントローラ１７およびＰＣカード１００を制御し、ＺＶポート４を介した動画データの転送を開始させる。これにより、動画データは、図７に示されているように、ＺＶポート４を経由してＶＧＡコントローラ１４に入力される。ＶＧＡコントローラ１４に入力された動画データに対しては、次のようなデータ変換処理が行われる。
【００５４】
すなわち、表示要求で指定された解像度が最大動画解像度以下である場合には、その動画データはそのままＶＲＡＭ１４３のオフスクリーンエリアに書き込まれる。一方、表示要求で指定された解像度が最大動画解像度よりも大きい場合には、ＶＰＭプロバイダ１０３によって決定された動画データ変換方式（圧縮、フレームまたはライン間引き）でデータ量を低減するための変換処理が施された後に、ＶＲＡＭ１４３のオフスクリーンエリアに書き込まれる。
【００５５】
この後、ＶＲＡＭ１４３のオフスクリーンエリアに書き込まれた動画データは、ＲＧＢデータへの変換だけでそのままディスプレイに出力されるか、あるいは、ＶＰＭプロバイダ１０３によって決定された動画データ変換方式（圧縮、フレームまたはライン間引き）でデータ量を低減するための変換処理が施された後に、ＲＧＢデータに変換されたディスプレイに出力される。
【００５６】
以上説明したように、この実施形態においては、ＺＶポート４からの動画データをＶＧＡコントローラ１４が有効に入力できるようにするための制御を行うＶＰＭプロバイダ１０３によってＶＧＡ  ＢＩＯＳ１０７からシステムの表示性能および現在の表示モードに関する表示環境情報が取得され、その表示環境情報に基づいてシステムで表示可能な動画の最大解像度が決定される。そして、ＶＰＭクライアント１０２によって指定された動画の解像度が表示可能な動画の最大解像度よりも大きい場合には、その動画データに対して例えばフレーム間引き、ライン間引きなど、画面の乱れを招かない範囲で、且つ指定された解像度に最も近い解像度で動画データを表示するために必要な最適なデータ変換処理が自動的に実行される。よって、ディスプレイモニタへの単位時間当たりの動画データの転送量の不足が補われ、画面表示の乱れなどを招くことなく、要求された任意の解像度もしくはそれに近い解像度で動画を画面表示することが可能となる。
【００５７】
なお、この実施形態では、動画専用バスとしてＺＶポートを例示したが、ＶＡＦＣ（ＶＥＳＡ  Ａｄｖａｎｃｅｄ  Ｆｕｔｕｒ  Ｃｏｎｎｅｃｔｏｒ）やＬＰＢなどを動画専用バスとして使用しても良い。
【００５８】
また、ここでは、ＶＰＭプロバイダ１０３が最適な動画データ変換処理を自動的に決定してそれを実行したが、使用し得るデータ変換方式の一覧をユーザに提示し、ユーザによって明示的に指定された方式で動画データ変換処理を実行するように構成しても良い。
【００５９】
【発明の効果】
以上説明したように、この発明によれば、画面表示の乱れなどを招くことなく、またシステムの表示性能が低い場合であっても、要求された任意の解像度もしくはそれに近い解像度で動画を画面表示することができる。
【図面の簡単な説明】
【図１】この発明の一実施形態に係わる動画表示方法を実現するためのソフトウェアおよびハードウェアの機能構成を示すブロック図。
【図２】同実施形態におけるコンピュータシステムの具体的なシステム構成を示すブロック図。
【図３】同実施形態のシステムで使用されるＰＣカードのノーマルモード，マルチメディアモードそれぞれにおけるＰＣカードインタフェースを示す図。
【図４】同実施形態のシステムで使用されるＶＧＡコントローラ内部の動画データの流れを示す図。
【図５】同実施形態のシステムにおけるビデオメモリへの動画データの格納形式を説明するための図。
【図６】同実施形態のシステムで使用されるＶＰＭプロバイダの機能構成を説明するための図。
【図７】同実施形態のシステムにおける動画データの流れとその動画データの表示制御処理の手順を説明するフローチャート。
【符号の説明】
２…内部ＰＣＩバス、３…内部ＩＳＡバス、４…ＺＶポート、１１…ＣＰＵ、１２…ホスト−ＰＣＩブリッジ、１３…メモリ、１４…ＶＧＡコントローラ、１７…ＰＣカードコントローラ、２１…オーディオコントローラ、１００…ＰＣカード、１０２…ＶＰＭクライアント、１０３…ＶＰＭプロバイダ、１０７…ＶＧＡ  ＢＩＯＳ。
【図１】
0003720897.tif 000002
【図２】
0003720897.tif 000003
【図３】
0003720897.tif 000004
【図４】
0003720897.tif 000005
【図５】
0003720897.tif 000006
【図６】
0003720897.tif 000007
【図７】
0003720897.tif 000008