JP3926873B2 - コンピュータシステム - Google Patents
コンピュータシステム Download PDFInfo
- Publication number
- JP3926873B2 JP3926873B2 JP26989596A JP26989596A JP3926873B2 JP 3926873 B2 JP3926873 B2 JP 3926873B2 JP 26989596 A JP26989596 A JP 26989596A JP 26989596 A JP26989596 A JP 26989596A JP 3926873 B2 JP3926873 B2 JP 3926873B2
- Authority
- JP
- Japan
- Prior art keywords
- video
- moving image
- port
- image data
- dedicated bus
- 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 - Fee Related
Links
- 238000012546 transfer Methods 0.000 claims description 48
- 239000000872 buffer Substances 0.000 claims description 44
- 230000004044 response Effects 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000000034 method Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 102100029768 Histone-lysine N-methyltransferase SETD1A Human genes 0.000 description 5
- 101000865038 Homo sapiens Histone-lysine N-methyltransferase SETD1A Proteins 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 101100109978 Arabidopsis thaliana ARP3 gene Proteins 0.000 description 4
- 101100427547 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ULS1 gene Proteins 0.000 description 4
- 101150117607 dis1 gene Proteins 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 101100218322 Arabidopsis thaliana ATXR3 gene Proteins 0.000 description 3
- 102100032742 Histone-lysine N-methyltransferase SETD2 Human genes 0.000 description 3
- 101100149326 Homo sapiens SETD2 gene Proteins 0.000 description 3
- LZHSWRWIMQRTOP-UHFFFAOYSA-N N-(furan-2-ylmethyl)-3-[4-[methyl(propyl)amino]-6-(trifluoromethyl)pyrimidin-2-yl]sulfanylpropanamide Chemical compound CCCN(C)C1=NC(=NC(=C1)C(F)(F)F)SCCC(=O)NCC2=CC=CO2 LZHSWRWIMQRTOP-UHFFFAOYSA-N 0.000 description 3
- 101100533304 Plasmodium falciparum (isolate 3D7) SETVS gene Proteins 0.000 description 3
- 101150117538 Set2 gene Proteins 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 101100163122 Arabidopsis thaliana ARPC2A gene Proteins 0.000 description 2
- 102100024359 Exosome complex exonuclease RRP44 Human genes 0.000 description 2
- 101000627103 Homo sapiens Exosome complex exonuclease RRP44 Proteins 0.000 description 2
- 101100191082 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GLC7 gene Proteins 0.000 description 2
- 101100030351 Schizosaccharomyces pombe (strain 972 / ATCC 24843) dis2 gene Proteins 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40117—Interconnection of audio or video/imaging devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4143—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/02—Handling of images in compressed format, e.g. JPEG, MPEG
Description
【0001】
【発明の属する技術分野】
この発明は、ZV(Zoomed Video)ポートを有するコンピュータシステムおよびこのシステムにおいてZVポートを使用して転送するビデオソースを切り替える方法にビデオソース切り替え方法に関する。
【0002】
【従来の技術】
近年、米国の標準化団体であるPCMCIA(Personal Computer Memory Card International Association)、及びJEIDAの標準仕様に準拠したPCカードソケットを持つノートブックタイプのパーソナルコンピュータが普及しつつある。このPCカードを、動画データの入出力制御を行うビデオキャプチャカード、MPEGデコーダカードなどとして用いるべく種々の開発がなされている。
【0003】
動画データのような大量のデータを効率よく処理するために、パーソナルコンピュータにおいては、高速データ転送が可能なPCIローカルバスを用いたシステムアーキテクチャが普及しつつある。
【0004】
しかし、PCIローカルバスを用いても、そのデータ転送能力には限界がある。このため、前述のようにPCカードをビデオキャプチャカードやMPEGデコーダカードとして使用する場合には、PCIローカルバスのデータ転送能力では不十分である。
【0005】
そこで、最近では、ZV(Zoomed Video)ポートと称する動画専用のバスを使用して、PCカードとディスプレイコントローラとを直接接続する技術が開発され始めている。ZVポートは、システムバスを使用することなく、PCカードがディスプレイコントローラ/オーディオコントローラにビデオ/オーディオデータを直接出力することを可能にする。これにより、大量のビデオデータの転送によってシステムバスが長時間占有されるという不具合を解消でき、システムのビデオ処理性能を高めることができる。
【0006】
ところで、最近では、パーソナルコンピュータの分野でもマルチメディア化がすすみ、PCカード以外にも、動画データを扱う種々のデバイスがシステムに搭載され始めている。これらデバイスの例を以下に示す。
【0007】
(1)ビデオキャプチャ:ビデオカメラ等の映像機器からのアナログ映像信号をデジタルデータに変換して入力する。
(2)MPEGデコーダ:MPEGで圧縮された動画データを伸張して生の動画データを生成する。
【0008】
(3)IEEE1394(P1394)などの高速シリアルインターフェース:デジタルビデオカメラ、デジタルビデオプレイヤなどから転送される動画データを入力する。
【0009】
これらデバイスは、通常、システムバスに接続される。このため、これらデバイスからの動画データは、システムバスを介してディスプレイコントローラに転送されることになる。
【0010】
(1)通常、システムバスのバンド幅は動画転送をするのに十分でないため、システムバスを介してディスプレイコントローラに動画データを転送する場合には、動画データの転送レートを下げることが必要とされる。これにより、動画の解像度が低下する、フレームレートが落ちる、あるいは1ピクセルあたりのビット数が減ることになり、動画の画質が劣化してしまう。
【0011】
(2)システムバスのバンド幅のほとんどが動画データの転送のために占有される。したがって、システムバスを使用した動画転送以外の他の動作、例えばディスク装置との間のデータ転送動作が遅くなるという問題が生じる。また、リアルタイムにデータを転送する必要があるデバイスが正常に動作しなくなる可能性もある。例えば、モデムなどの通信デバイスによる通信動作に支障が生じると、データ落ちなどが発生する。
【0012】
【発明が解決しようとする課題】
上述したように、従来では、PCカードについてはZVポートを利用することによりシステムバスを使用することなく動画データを直接的に表示コントローラに転送することができるが、動画データを扱うPCカード以外の他のデバイスをシステムに装備した場合には、それらデバイスから表示コントローラへの動画転送はシステムバス経由で行われることになる。したがって、それらデバイスを使用した場合には、動画表示の品質が低下されたり、あるいは動画転送によってシステムバスが占有されることにより動画転送以外の他の動作に支障が来されるという問題がある。
【0013】
この発明はこのような点に鑑みてなされたものであり、動画データを扱う複数のデバイスそれぞれからの異なる複数のビデオソースをシステムバスを利用することなく表示コントローラに直接転送できるようにし、様々なビデオソースについてその表示を効率よく行うことができるコンピュータシステムおよびそのシステムにおけるビデオソース切り替え方法を提供することを目的とする。
【0014】
【課題を解決するための手段】
この発明は、動画データを入力するためのビデオポートを有し、このビデオポートに入力された動画データを表示可能な表示コントローラと、この表示コントローラのビデオポートに動画データを転送するための動画専用バスとを備えたコンピュータシステムにおいて、互いに異なる動画ソースを扱う複数のビデオデバイスであって、各々が前記動画専用バスに接続された出力ポートを有し、その出力ポートから前記動画専用バス上に動画データを出力する複数のビデオデバイスと、これら複数のビデオデバイスの中から前記動画専用バスを用いて前記表示コントローラに動画データを転送するビデオデバイスを択一的に選択して、前記動画専用バスを使用するビデオデバイスを切り替える手段とを具備することを特徴とする。
【0015】
このコンピュータシステムにおいては、システムバスを使用せずに表示コントローラのビデオポートに動画データを直接的に転送するZVポートなどの動画専用バスに対して、ビデオキャプチャ、MPEGデコーダ、IEEE1394シリアルインターフェースなどの複数のビデオデバイスが共通接続されており、どのビデオデバイスからの動画転送においても同一の動画専用バスが用いられる。このため、どの動画ソースの転送についてもシステムバスを使用せずに表示コントローラに転送できるようになり、様々な動画ソースについてその表示を効率よく行うことができる。また、このコンピュータシステムでは、動画専用バスを使用するビデオデバイスを切り替える手段が設けられており、これによって、同時には単一のデバイスからの動画データしか表示コントローラに転送できないように制御される。したがって、1つの動画専用バスで、複数のデバイスそれぞれと表示コントローラとの間をポイントーツーポイント形式で接続することが可能となり、動画専用バスの競合を防止することができる。
【0016】
動画専用バスを使用するビデオデバイスを切り替える手段としては、次のような構成を採用することが好ましい。
(1)前記各ビデオデバイスに、前記出力ポートから前記動画専用バスに動画データを出力するための出力バッファと、前記コンピュータシステムのCPUからの指示に応じて、前記出力バッファの動画データ出力動作を許可又は禁止する手段とを設ける。
【0017】
これにより、各ビデオデバイスは、CPUから動画データの転送指示などが発行された場合にのみ動画データを動画専用バスに出力するので、CPUによって実行されるソフトウェアが同時には1つのビデオデバイスの出力バッファのみ出力動作を許可するように制御することで、容易に動画専用バスの競合を防止することができる。
【0018】
(2)動画専用バスには、前記複数のビデオデバイスをデイジーチェーン形式で接続し、前記動画専用バスの使用許可を示すイネーブル信号をデイジーチェーンの先頭に位置するビデオデバイスから末尾のビデオデバイスに亘って順次転送するための制御信号線を1本追加する。
【0019】
そして、各ビデオデバイスには、出力ポートから前記動画専用バスに動画データを出力するための出力バッファと、前記コンピュータシステムのCPUからの指示と前記制御信号線を介して転送される前記イネーブル信号とに基づいて、前記出力バッファの動画データ出力動作を許可又は禁止し、前記動画データ出力動作を許可したとき、次段のビデオデバイスへの前記イネーブル信号の転送を禁止する手段とを設ける。
【0020】
この構成によれば、デイジーチェーンの上流側に位置するデバイスほど優先的に動画専用バスを使用できるようにする制御が行われ、動画専用バスの使用が許可されたデバイスの下流側には、例えば、そのデバイスによる動画専用バスの使用が終了するまで、イネーブル信号は転送されない。したがって、同時には1つのデバイスの出力バッファしか動作しないようにする制御が自動的に実行できるようになり、同時には1つのビデオデバイスの出力バッファのみ出力動作を許可するようにするためのソフトウェア制御が不要となる。
【0021】
(3)動画専用バスには、複数のビデオデバイスに共通接続され、前記動画専用バスの使用を要求しているビデオデバイスによってアクティブ状態に設定される制御信号線を1本追加する。
【0022】
そして、前記各ビデオデバイスには、出力ポートから前記動画専用バスに動画データを出力するための出力バッファと、コンピュータシステムのCPUから発行される動画データ転送指示に応じて、前記制御信号線を所定期間アクティブ状態に設定し、その期間経過後、前記出力バッファの動画データ出力動作を許可する手段と、前記制御信号線の状態を監視し、前記制御信号がアクティブ状態に設定されている期間、前記出力バッファの動画データ出力動作を禁止状態に維持する手段とを設ける。
【0023】
この構成によれば、制御信号線をアクティブ状態に設定した最新のビデオデバイスに、動画データ専用バスの使用が優先的に許可される。したがって、この構成においては、どのデバイスに対しても初期の優先順位を平等に設定することができる。
【0024】
(4)上述の(3)の構成に加え、前記動画データ専用バスの使用が許可されるように構成されて前記制御信号線の状態を監視し、前記制御信号がアクティブ状態に設定されている期間に前記動画データ転送指示が発行されたとき、前記制御信号線をアクティブ状態に設定する動作の開始を前記制御信号線のアクティブ状態が解除されるまで待たせる手段を追加し、前記CPUから動画データ転送指示が発行された最新のビデオデバイスに対して、前記動画データ専用バスの使用が許可されるようにする。
【0025】
(5)上述の(3)の構成において、前記CPUからの動画データ転送指示に応じて前記制御信号線をアクティブ状態に設定する期間を、前記ビデオデバイス毎に異ならせておき、最も長い期間が割り当てられたビデオデバイスに対して前記動画データ専用バスの使用が優先的に許可されるようにする。また、この構成に、(4)の構成を追加すれば、パルス幅の長いデバイスに動画転送指示が発行された直後にそれよりもパルス幅が短いデバイスに動画転送指示が発行されても、後から動画転送指示が発行されたデバイスに優先的に動画データ専用バスの使用を許可する事ができる。
【0026】
(6)前記ビデオデバイスそれぞれによる前記動画専用バスの使用状態を管理し、前記ビデオデバイスを制御するドライバプログラムからの動画専用バス使用要求に応答して、前記動画専用バスを現在使用しているビデオデバイスを決定し、そのビデオデバイスを制御するドライバプログラムとの通信によって前記動画専用バスを現在使用しているビデオデバイスが前記動画専用バスを解放可能か否かを判断し、解放可能であるとき、前記動画専用バス使用要求を発行したドライバプログラムに使用許可を通知するという手順をソフトウェアによって実行する。
【0027】
この手順によれば、ソフトウェアの制御の下に動画専用バスの使用状態が集中管理されており、このソフトウェアと複数のビデオデバイスを制御する複数のドライバプログラムとの間の通信によって、切り替えが行われる。したがって、ソフトウェア制御のみで同時には1つのデバイスからの動画データのみを表示コントローラに転送することができる。
【0028】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態を説明する。
図1には、この発明の一実施形態に係わるコンピュータシステムの構成が示されている。このコンピュータシステムは、バッテリ駆動可能なノートブックタイプまたはラップトップタイプのポータブルコンピュータであり、そのシステムボード上には、CPUバス1、PCIバス2、特定の幾つかの信号線をISAバスから取り除いた簡略型のバス構成をもつMINI−ISAバス3、およびZVポート4が設けられている。ZVポート4は、PCカードソケット171または172とディスプレイコントローラ14およびサウンドコントローラ41との間をポイントーツーポイント形式で直接接続するビデオ・オーディオ専用バスである。
【0029】
ビデオバスは、422形式の画像フォーマットに対応する16ビット幅のデジタルYUVデータ信号線(8ビットの輝度データYおよび8ビットの色差データUV)、水平・垂直同期信号(HREF,VSYNC)、およびピクセルクロック(PCLK)を転送するための信号線群から構成されている。
【0030】
オーディオバスは、オーディオ情報をシリアルに伝達するためのPCM信号、および現在のオーディオデータ出力が左チャネルか右チャネルかを示す信号(LRCK)、およびシリアルクロックを転送するための信号線群から構成されている。
【0031】
また、システムボード上には、CPU11、ホスト/PCIブリッジ装置12、主メモリ13、ディスプレイコントローラ14、I/Oコントロールゲートアレイ16、PCカードコントローラ17、MPEG2デコーダ18、ビデオキャプチャコントローラ19、P1394コントローラ20、モデム21、USB(Universal Serial Bus)コントローラ22、ビデオキャプチャ31、およびサウンドコントローラ41などが設けられている。
【0032】
これらデバイスのうち、PCカードコントローラ17、MPEG2デコーダ18、P1394コントローラ20、およびビデオキャプチャ31は、動画を扱うデバイスであり、ディスプレイコントローラ14への動画転送をZVポート4を介して行うために、それらの動画出力ポートはZVポート4に共通接続されている。
【0033】
CPU11は、例えば、米インテル社によって製造販売されているマイクロプロセッサ“Pentium”などによって実現されている。このCPU11の入出力ピンに直結されているCPUバス1は、64ビット幅のデータバスを有している。
【0034】
主メモリ13は、オペレーティングシステム、デバイスドライバ、実行対象のアプリケーションプログラム、および処理データなどを格納するメモリデバイスであり、複数のDRAMモジュールによって構成されている。このメモリ13は、システムボード上に予め実装されるシステムメモリと、ユーザによって必要に応じて装着される拡張メモリとから構成される。これらシステムメモリおよび拡張メモリを構成するDRAMモジュールとしては、シンクロナスDRAMやRambusなどが利用される。
【0035】
ホストーPCIブリッジ装置12は、CPU1とPCIバス2との間を繋ぐブリッジLSIであり、PCIバス2のバスマスタの1つとして機能する。このホスト/PCIブリッジ装置12は、CPUバス1と内部PCIバス2との間で、データおよびアドレスを含むバスサイクルを双方向で変換する機能、およびメモリバスを介して主メモリ13をアクセス制御する機能などを有している。
【0036】
PCIバス2はクロック同期型の入出力バスであり、PCIバス2上の全てのサイクルはPCIバスクロックに同期して行われる。PCIバスクロックの周波数は最大33MHzである。PCIバス2は、時分割的に使用されるアドレス/データバスを有している。このアドレス/データバスは、32ビット幅である。
【0037】
PCIバス2上のデータ転送サイクルは、アドレスフェーズとそれに後続する1以上のデータフェーズとから構成される。アドレスフェーズにおいてはアドレスおよび転送タイプが出力され、データフェーズでは8ビット、16ビット、24ビットまたは32ビットのデータが出力される。
【0038】
ディスプレイコントローラ14は、ホスト/PCIブリッジ装置12と同様にPCIバス2のバスマスタの1つであり、ビデオメモリ(VRAM)143の画像データをLCD141や外部のCRTディプレイに表示するものであり、VGA仕様のテキストおよびグラフィクス表示をサポートする。
【0039】
さらに、このディスプレイコントローラ14は、図示のように、ZVポート4に接続されたビデオポート141を有しており、このビデオポート141から入力した動画データストリームS1を表示画面上にビデオウインドウとして表示する動画表示機能を持つ。
【0040】
I/Oコントロールゲートアレイ16は、複数のI/O制御機能を内蔵した1チップLSIであり、この実施形態においては、外部の赤外線通信機器との間の赤外線通信を制御する赤外線コントローラ161と、ハードディスクドライブ、CD−ROMドライブ、DVD−ROMドライブなどのIDEまたはATAPIインターフェースを持つデバイスを制御するIDEコントローラ162と、リアルタイムクロック(RTC)163と、プリンタポート、シリアルポート(SIO)、フロッピーディスクドライブ(FDD)の制御とMINI−ISAバス3上のサウンドコントローラ41等のISA互換のデバイスを制御するI/Oコントローラ164とが内蔵されている。
【0041】
PCカードコントローラ17は、PCIデバイスの1つであり、CPU11の制御の下にPCMCIA仕様の16ビットPCカードとカードバス仕様の32ビットPCカードとを制御するものであり、ZVポート4を介した動画転送もサポートしている。このPCカードコントローラ17は、ノーマルモードとマルチメディアモード(ZVポートモード)の2つの動作モードを有している。ノーマルモードは、モデムカードなどのような通常のPCカードを制御するためのものであり、PCIバス2とPCカードとの間でデータ転送を行い、ZVポートは使用しない。
【0042】
マルチメディアモード(ZVポートモード)は、ビデオキャプチャカード、MPEG2エンコーダカード、MPEG2デコーダカードなど動画を扱うPCカードがPCカードソケットに装着されている場合に使用されるモードである。このモードにおいては、前述のZVポート4が使用され、PCカードからディスプレイコントローラ14にZVポート4を介して動画データストリームS4が直接的に転送される。
【0043】
ノーマルモードとマルチメディアモードの動作モードの切り替えは、CPU11によって行われる。すなわち、CPU11は、PCカードソケットに装着されているPCカードから属性情報を読み取り、その属性情報によって装着されているPCカードの種類を検出する。装着されているPCカードがマルチメディアモード対応のカードであれば、CPU11は、PCカードコントローラ17をマルチメディアモードに切り替える。
【0044】
サウンドコントローラ41は、CPU11の制御の下にオーディオデータの入出力制御を行うものであり、マイク端子からの音声信号をA/D変換してメモリ13に取り込んだり、ZVポート4を介して転送されるデジタルオーディオデータをアナログ信号に変換してスピーカに出力する機能を有する。
【0045】
MPEG2デコーダ18は、PCIバス2に接続されたPCIインターフェースとZVポート4に接続された動画出力ポートを有している。このMPEG2デコーダ18は、MPEG2でデジタル圧縮符号化された例えばDVD−ROMドライブなどからの動画データをPCIバス2経由で受信し、それを伸張するための復号処理を行う。復号された動画データは、前述の16ビットYUVデータフォーマットに変換されて動画データストリームS2としてZVポート4上に出力され、ディスプレイコントローラ14のビデオ入力ポート141に転送される。
【0046】
通常、DVD−ROMドライブから読み出されるMPEG2データストリームには、映画などの映像を構成する主映像(ビデオ)、字幕などの副映像(サブピクチャ)、および音声信号それぞれの符号化データが多重化されている。副映像および音声信号の符号化には、ランレングス符号化およびドルビーAC3がそれぞれ使用される。このため、MPEG2デコーダ18には、このような3種類のストリームを含むDVDビデオをデコードするために、3つのデコーダ、つまり主映像を復号するMPEG2デコーダ、副映像を復号するサブピクチャデコーダ、および音声信号を復号するオーディオデコーダを設けておき、これらを並行して動作させることが好ましい。MPEG2デコーダで復号化されたビデオデータとサブピクチャデコーダで復号化された副映像は合成され、そして16ビットYUVデータフォーマットでZVポート4上に定義されたビデオバス上に出力される。また、オーディオデコーダによって復号化された音声信号は、シリアルデータ転送のフォーマットでZVポート4上に定義されたオーディオバスを介して転送される。
【0047】
ビデオキャプチャコントローラ19は、CPU11からの指示に従ってビデオキャプチャ31を動作制御する機能と、ZVポート4上に出力される動画データを取り込み、それをPCIバス2を介して主メモリ13に転送する機能などを有している。ビデオキャプチャコントローラ19によるビデオキャプチャ31の制御は、I2Cバスを介して行われる。ZVポート4から主メモリ13への動画転送においては、PCIバス2のバンド幅を考慮して、まず、データ転送レートを下げるために動画データのスケールダウン(フレームレート、解像度、カラーフォーマット変換などを使用する)処理が内蔵のスケーラによって実行され、それがFIFOバッファに格納される。この後、FIFOバッファのデータがDMA転送によって主メモリ12に転送される。
【0048】
P1394コントローラ20は、P1394高速シリアルインターフェースを介した外部装置との間のデータ転送を制御するためのものであり、PCIバス2に接続されたPCIインターフェースとZVポート4に接続された動画出力ポートを有している。P1394高速シリアルインターフェースを介してデジタルビデオカメラなどから動画データを受け取った場合には、P1394コントローラ20は、その動画データを16ビットYUVデータフォーマットに変換してZVポート4上に定義されたビデオバス上に動画ストリームS5として出力することにより、ディスプレイコントローラ14に転送する。
【0049】
ビデオキャプチャ31は、カメラインタフェースを介してビデオカメラやイメージセンサなどから入力される動画データを16ビットYUVデータフォーマットに変換して、それをZVポート4上に定義されたビデオバス上に動画ストリームS3として出力することによりディスプレイコントローラ14に転送する。
【0050】
以上のように、図1のシステムにおいては、互いに異なる動画データを扱う複数のビデオデバイス、つまり、PCカードコントローラ17、MPEG2デコーダ18、P1394コントローラ20、およびビデオキャプチャ31が、それぞれPCIバス2とのインターフェースに加え、ZVポート4に接続された動画出力ポートを有しており、どの動画ソースについてもPCIバス2を使用せずにディスプレイコントローラ14にZVポート4を通して直接的に転送できるようになり、様々な動画ソースについてその表示を効率よく行うことができる。
【0051】
ところで、ZVポート4は同時には1つの動画データしか流すことができない。したがって、このシステムにおいては、PCカードコントローラ17、MPEG2デコーダ18、P1394コントローラ20、およびビデオキャプチャ31を択一的にZVポート4に接続して、同時には1つのデバイスのみがZVポートを使用するようにするための動画ソース切り替え制御の仕組みが組み込まれている。
【0052】
以下、この動画ソース切り替え制御の具体例を説明する。
(1)まず、図2および図3を参照して第1の例について説明する。
図2においては、PCカードコントローラ17、MPEG2デコーダ18、P1394コントローラ20、およびビデオキャプチャ31それぞれの動画出力ポートの1つを選択してZVポート4に接続するためのセレクタが設けられており、これによって同時には単一のデバイスからの動画データしかディスプレイコントローラ14に転送できないように制御される。したがって、1つのZVポート4で、PCカードコントローラ17、MPEG2デコーダ18、P1394コントローラ20、およびビデオキャプチャ31それぞれとディスプレイコントローラ14との間をポイントーツーポイント形式で接続することが可能となり、ZVポート4の競合を防止することができる。
【0053】
このセレクタは、PCカードコントローラ17、MPEG2デコーダ18、P1394コントローラ20、およびビデオキャプチャ31それぞれの動画出力ポートに3ステート出力バッファ101,102,103,104を設け、これら各バッファによる動画出力動作を、CPU11からのコマンドで制御可能なイネーブル/ディスエーブル信号(EN/DIS1,EN/DIS2,EN/DIS3,EN/DIS4)によってイネーブル・ディスエーブル制御することによって実現できる。
【0054】
この構成においては、各ビデオデバイスは、CPU11からの指示で動画データの転送が許可された場合にのみ動画データをZVポート4に出力するので、CPU11によって実行されるソフトウェアが同時には1つのデバイスの出力バッファのみ出力動作を許可するように制御することで、ZVポート4の競合を防止することができる。また、出力動作が許可された1つの出力バッファ以外の他のすべての出力バッファについてはディスエーブル状態、つまり高インピーダンス出力の状態に設定されるので、ZVポート4から電気的に分離される。
【0055】
図1のセレクタは、実際には、図3に示されているように、3ステート出力バッファ101,102…とCPU11によってリード/ライト可能なレジスタ201,202,…とをそれぞれデバイス内部に対応して設けることによって実現される。この場合、例えば、CPU11からのコマンドでレジスタ201のイネーブルフラグF1がセットされると、3ステート出力バッファ101のイネーブル/ディスエーブル信号EN/DIS1がアクティブとなり、これによってデバイス1はZVポート4を使用した動画転送を行うことが可能となる。
【0056】
(2)次に、図4、図5および図6を参照して第2の例について説明する。
図4においては、ハードウェアによる制御によって自動的にZVポート4を使用するデバイスの優先順位を規定する構成が採用されている。すなわち、ZVポート4には、複数のデバイス(PCカードコントローラ17、MPEG2デコーダ18、P1394コントローラ20、およびビデオキャプチャ31)をデイジーチェーン形式で接続する1本のZVイネーブル信号線が追加されている。このZVイネーブル信号線は、ZVポート4の使用許可を示すZVイネーブル信号をデイジーチェーンの先頭に位置するデバイスから末尾のデバイスに亘って順次転送するために使用される。
【0057】
そして、各デバイスには、前述の3ステート出力バッファ101,102…およびレジスタ201,202…に加え、組み合わせ論理回路301,302…が追加されている。これら組み合わせ論理回路301,302…の各々は、CPU11によってセットされるイネーブルフラグF1とZVイネーブル信号線を介して転送されるZVイネーブル信号とに基づいて、出力バッファの動画データ出力動作をイネーブル/ディスエーブル制御するためのイネーブル/ディスエーブル信号を発生するものであり、イネーブルフラグF1の入力端子A、ZVイネーブル信号入力端子X、イネーブル/ディスエーブル信号出力端子Z、および次段のデバイスへのZVイネーブル信号出力端子Yを有している。
【0058】
入力Xおよび入力Aに対する出力Yの真理値表テーブルを図5(a)、入力Xおよび入力Aに対する出力Zの真理値表テーブルを図5(b)に示す。
入力A=1(動画転送許可を示すイネーブルフラグF1がセットされた状態)になったとき、入力X=1(アクティブ状態のZVイネーブル信号が入力されている状態)であれば、出力Z=1となり、出力バッファがイネーブル状態に設定される。また、この時は、出力Y=0となり、次段のデバイスへのZVイネーブル信号の伝達が停止される。入力A=0(動画転送許可を示すイネーブルフラグF1がセットされてない状態)の時には、そのときの入力Xの状態がそのまま出力Yとなる。また、入力X=0であれば、出力Yおよび出力Zは、入力Aによらず0となる。
【0059】
これら各組み合わせ論理回路301,302は、図6に示されているように、2つの2入力ANDゲート401,402,インバータ403、および入力バッファ404から構成することができる。
【0060】
この構成によれば、デイジーチェーンの上流側に位置するデバイス(ここでは、デバイス1が最上流のデバイス)ほど優先的にZVポート4を使用できるようにする制御が行われ、ZVポート4の使用が許可されたデバイスの下流側には、例えば、そのデバイスによるZVポート4の使用が終了するまで、ZVイネーブル信号は転送されない。したがって、同時には1つのデバイスの出力バッファしか動作しないようにする制御が自動的に実行できるようになる。なお、最上流の入力Xは常に1に固定されている。
【0061】
(3)次に、図7、図8および図9を参照して第3の例について説明する。
図7においては、ZVポート4には、複数のデバイスに共通接続された1本のZV制御信号線が追加されている。このZV制御信号線は、ZVポート4の使用を要求しているデバイスがあることをそのデバイスとそれ以外の他のすべてのデバイスに通知するためのものであり、ZVポート4の使用を要求しているデバイスによって、一定期間アクティブ状態に設定される。
【0062】
そして、各デバイスには、前述の3ステート出力バッファ101,102…およびレジスタ201,202…に加え、組み合わせ論理回路501,502…が追加されている。これら組み合わせ論理回路501,502…の各々は、CPU11からのコマンドによるイネーブルフラグF1のセットに応答して、ZV制御信号線を所定期間アクティブ状態に設定し、その期間経過後、対応する出力バッファをイネーブル状態に設定する機能と、ZV制御信号線の状態を監視し、ZV制御信号線がアクティブ状態に設定されている期間中、出力バッファをディスエーブル状態に維持する機能が設けられている。
【0063】
これら各組み合わせ論理回路501,502…は、図8のように、パルス発生回路601、ディレイ回路602、フリップフロップ603、ZV制御信号用出力バッファ604、ZV制御信号用出力バッファ605から構成されている。
【0064】
以下、図9のタイミングチャートを参照して、図8の組み合わせ論理回路の動作を説明する。ここでは、デバイス2の出力バッファ102がイネーブル状態に設定されているときに、デバイス1のレジスタ201にイネーブルフラグF1がセットされた場合を想定する。
【0065】
デバイス1においては、イネーブルフラグF1のセットに応答してパルス発生回路601からワンショットパルス信号ZV−EN1が出力される。このワンショットパルス信号ZV−EN1は、ディレイ回路602に送られると共に、ZV制御信号としてバッファ604を介してZV制御信号線上に出力される。この時のZV制御信号線の変化は、すべてのデバイスの組み合わせ論理回路でモニタされる。すなわち、デバイス1においてはフリップフロップ603がリセットされる。デバイス2においても同様にしてフリップフロップがリセットされ、これによってイネーブル/ディスエーブル信号EN/DIS2がディスエーブル状態となる。
【0066】
ワンショットパルス信号ZV−EN1のパルス幅に対応する期間だけ経過した後、ディレイ回路602からはセット信号SET1が出力される。このセット信号SET1は、フリップフロップ603に送られる。フリップフロップ603は、セット信号SET1が入力された時、イネーブル/ディスエーブル信号EN/DIS1を1、つまりアクティブ状態に設定する。
【0067】
このように、ZV制御信号線を用いてすべてのデバイスの出力バッファを一旦ディスエーブルした後、自身のデバイスの出力バッファをイネーブルにする構成を使用することにより、結果的に、時間的に最も最近にZV制御信号線をアクティブ状態に設定したデバイスに、ZVポート4の使用が許可される。したがって、この構成においては、どのデバイスに対しても初期の優先順位を平等に設定することができる。
【0068】
(4)次に、図10、図11および図12を参照して第4の例について説明する。
図10においては、図8で説明した各組み合わせ論理回路501,502の構成にさらに改良が加えられており、図8のパルス発生回路601およびディレイ回路602の代わりに、CPU11によってパルス幅およびディレイ時間がそれぞれプログラム可能なプログラマブルパルス発生回路701およびプログラマブルディレイ回路702が設けられ、且つANDゲート703が追加されている。
【0069】
プログラマブルパルス発生回路701から発生されるパルス信号のパルス幅は、図11に示されているように、デバイス毎に異なるように初期設定される。また、プログラマブルディレイ回路702のディレイ時間についても、対応するプログラマブルパルス発生回路701からのパルス信号の幅に相当する時間経過後にセット信号が出力されるようにデバイス毎に異なる値が初期設定される。
【0070】
これにより、たとえ複数のデバイスに対して同時にイネーブルフラグがセットされた場合であっても、その中で最も長いパルス幅が割り当てられているデバイスにZVポート4の使用が許可されるので、ZVポート4の競合を防止できる。
【0071】
また、ANDゲート703は、ZVイネーブルフラグがセットされた時にZV制御信号が既にアクティブ状態に設定されていた場合には、そのパルス信号ZV−EN1の発生動作の開始をZV制御信号線のアクティブ状態が解除されるまで待たせるために設けられたものである。
【0072】
これにより、CPU11から最も後でイネーブルフラグがセットされたデバイスにZVポート4を使用させることができるので、もしパルス幅の長いデバイスにイネーブルフラグがセットされた直後にそれよりもパルス幅が短いデバイスにイネーブルフラグがセットされたとしても、後からイネーブルフラグがセットされたデバイスに優先的にZVポート4の使用を許可する事ができる。
【0073】
以下、図12のタイミングチャートを参照して、図10の組み合わせ論理回路の動作を説明する。ここでは、デバイス3の出力バッファ103がイネーブル状態に設定されているときに、デバイス1とデバイス2に同時にイネーブルフラグがセットされた場合を想定する。
【0074】
デバイス1においては、ZV制御信号が0の状態でイネーブルフラグF1がセットされると、それに応答してすぐにパルス発生回路701からワンショットパルス信号ZV−EN1が出力される。これと同時に、デバイス2からもワンショットパルス信号ZV−EN2が出力される。これらパルス信号によりZV制御信号線の電位が変化し、すべてのデバイスのフリップフロップがリセットされる。したがって、デバイス3においては、イネーブル/ディスエーブル信号EN/DIS3がディスエーブル状態に切り替えられる。
【0075】
デバイス2においては、ワンショットパルス信号ZV−EN2のパルス幅に対応する期間だけ経過した後、セット信号SET2が出力される。このセット信号SET2は、フリップフロップに送られる。しかし、この時はまだワンショットパルス信号ZV−EN1が出力されているため、セット信号SET2はマスクされてしまい、フリップフロップはセットされない。
【0076】
デバイス1においては、ワンショットパルス信号ZV−EN1のパルス幅に対応する期間だけ経過した後、セット信号SET1が出力される。このときは既にワンショットパルス信号ZV−EN2は発生してないので、セット信号SET1によってフリップフロップ603は、イネーブル/ディスエーブル信号EN/DIS1を1、つまりアクティブ状態に設定する。
【0077】
(5)次に、図13および図14を参照して第5の例について説明する。
ここでは、(1)の例において、ソフトウェア制御によって複数のデバイスによるZVポートの使用を排他的に切り替えるための制御動作を説明する。そのためのソフトウェア構成を図13に示す。
【0078】
図13において、ZVポートマネージャは、ZVポート4の使用状態を一括管理するためのプログラムである。アプリケーションプログラム1,2,3はそれぞれZVポート4を使用するデバイス1,2,3を用いて動画表示を行うプログラムであり、またZVポートクライアントドライバ1,2,3はデバイス1,2,3の動作を制御するためのドライバプログラムである。
【0079】
ZVポートマネージャは、ZVポートクライアントドライバ1,2,3それぞれと通信する機能を有しており、この通信機能を用いてZVポート4の使用権切り替えを行う。使用権切り替え処理の概略は、次の通りである。
【0080】
たとえば、ZVポートクライアントドライバ1からZVポート使用要求が発行されると、ZVポートマネージャは、デバイス毎にZVポートの使用状態を管理している管理テーブルT1を参照してZVポート4を現在使用しているデバイスを調べ、そのデバイスに対応するZVポートクライアントドライバ(例えば、ZVポートクライアントドライバ3)に他のZVポートクライアントドライバからの使用要求があったことを通知する。使用要求を受けたZVポートクライアントドライバ3は、ZVポート4の使用権の切り替えが可能か否かを返答する。ZVポートマネージャは、切り替えが可能か否かを使用要求を出したZVポートクライアントドライバ1に返し、切り替え可能であれば、管理テーブルT1を書き換えると共に、ZVポート4の使用権の切り替えを行う。この使用権切り替え動作は、新たにZVポート4を使用するデバイスにイネーブルフラグをセットし、使用権を解放するデバイスに対してはイネーブルフラグをリセットすることによって行うことができる。このようなイネーブルフラグのセット/リセット制御は、そのデバイスに対応するZVポートクライアントドライバが実行する。
【0081】
次に、図14のフローチャートを参照して、使用権切り替え制御のための一連の処理の流れを説明する。
ZVポートマネージャは、オペレーティングシステムの起動時やZVポート対応PCカードなどの挿抜時にその時にコンピュータシステムに存在するZVポート対応デバイスを数え上げ、それら各デバイス毎にZVポートの使用状態を管理するための管理テーブルT1を作成する(ステップS101)。
【0082】
ZVポート対応デバイスの数え上げは、ISAデバイスであればPNPID、PCIデバイスの場合にはDevice ID,Vender ID,Subsystem Device IDからOSで管理されている対応する情報(INF)ファイルを調べ、INFファイルにZVデバイス情報があれば、ZVポート対応デバイスとしてOSの環境ファイル(Registry)に書き込んでおき、オペレーティングシステムの起動時にそのRegistryの情報を参照することによって行うことができる。
【0083】
また、PCカードがシステム稼働中に装着された場合には、そのPCカードの装着が、図15に示すソケットサービスおよびカートサービスなどのドライバによって検出され、それがZV−ポートマネージャに通知されるので、これに応答してZV−ポートマネージャがそのカードの属性情報からZVポート対応カードか否かを判断し、ZVポート対応カードであれば管理テーブルT1にそのデバイスを追加すればよい。また、システム稼働中にPCカードが取り外された時には、取り外されたPCカードのソケット番号や属性情報等からそのカードがZVポート対応カードとして数え上げられているデバイスか否かを調べ、ZVポート対応カードであれば管理テーブルT1からそのデバイスを削除すればよい。
【0084】
次に、ZVポート4を使用した動画転送を行うアプリケーションが実行されると、そのアプリケーションは、対応するZVポートクライアントドライバを主メモリ13にロードする(ステップS102)。ロードされたZVポートクライアントドライバは、ZVポートマネージャに対してZVポート4の使用要求を発行する(ステップS103)。ZVポートマネージャは、管理テーブルT1を参照して現在のZVポート4の使用状況を調べ、他のデバイスがZVポート4を使用中か否かを判断する(ステップS105)。
【0085】
どのデバイスもZVポート4を使用していない場合には、ZVポートマネージャは、使用要求を出したZVポートクライアントドライバに対して使用許可を返す(ステップS106)。使用許可を受けたZVポートクライアントドライバは、対応するデバイスのレジスタにイネーブルフラグをセットし、出力バッファを使用可能な状態に設定する(ステップS107)。また、このとき、ZVポートマネージャは、管理テーブルT1の該当するデバイスの欄にZVポート使用中であることを書き込む。
【0086】
一方、ZVポート4を使用しているデバイスが存在した場合には、その使用しているデバイスを特定し、そのデバイスに対応するZVポートクライアントドライバに対して他のZVポートクライアントドライバからの使用要求があったことを通知する(ステップS108,109)。使用要求を受けたZVポートクライアントドライバは、ZVポート4の使用権の切り替えが可能か否かを返答する。
【0087】
たとえば、ビデオキャプチャ31を使用して動画の表示および記録を行うアプリケーションに対応するZVポートクライアントドライバなどについては、その動画の記録動作が中断されるのを防止するために、切り替え要求を拒否する場合がある。この場合には、ZVポートマネージャは、使用要求を出したZVポートクライアントドライバに対して使用不許可を返す(ステップS110,S111)。
【0088】
切り替え可能である旨の返答が合った場合には、前述のステップS106,S107の処理が実行される。
なお、ここでは、ZVポートマネージャをOSと独立に設けたが、OSの1機能としてそのOS内にZVポートマネージャの機能を組み込むことも可能である。また、図14の手順を実行するために必要なZVポートマネージャや各ドライバ群などのプログラムはCD−ROMなどのコンピュータ読み取り可能な記録媒体に格納して配布することができる。
【0089】
【発明の効果】
以上説明したように、この発明によれば、動画データを扱う複数のデバイスそれぞれからの異なる複数のビデオソースをシステムバスを利用することなく表示コントローラに直接転送できるようになり、様々なビデオソースについてその表示を効率よく行うことができる。また、ハードウェアまたはソフトウェアによる切り替え制御により動画専用バスが同時には複数のデバイスの中の1つだけが使用するように制御できるため、バスの競合の問題を解決することができる。また、最後にイネーブルフラグを設定したデバイスにバス使用権が与えられる仕組みを採用することにより、常にユーザが実行したいアプリケーションに対応するデバイスによる動画転送を許可する事ができる。
【図面の簡単な説明】
【図1】この発明の一実施形態に係るコンピュータシステムの構成を示すブロック図。
【図2】同実施形態のシステムに設けられたZVポート対応デバイスの切り替え動作の原理を説明するための図。
【図3】同実施形態のシステムにおいて第1の切り替え制御方式を実現するために設けられたZVポート対応デバイスの内部構成を示す図。
【図4】同実施形態のシステムにおいて第2の切り替え制御方式を実現するためにZVポート対応デバイス内に設けられた組み合わせ論理回路を示す図。
【図5】図4の組み合わせ論理回路の入力と出力との関係を示す図。
【図6】図4の組み合わせ論理回路の具体的な回路構成の一例を示す回路図。
【図7】同実施形態のシステムにおいて第2の切り替え制御方式を実現するために各ZVポート対応デバイス内に設けられた組み合わせ論理回路を示す図。
【図8】図7の組み合わせ論理回路の具体的な回路構成の一例を示す回路図。
【図9】図7の組み合わせ論理回路の動作を示すタイミングチャート。
【図10】同実施形態のシステムにおいて第3の切り替え制御方式を実現するために各ZVポート対応デバイス内に設けられた組み合わせ論理回路を示す図。
【図11】図10の組み合わせ論理回路に設けられたプログラマブルパルス発生回路によってZVポート対応デバイス毎に異なるパルス幅を設定する様子を示す図。
【図12】図10の組み合わせ論理回路の動作を説明するタイミングチャート。
【図13】同実施形態のシステムにおいて第4の切り替え制御方式を実現するために使用されるソフトウェア構成図。
【図14】図13のソフトウェアによって実行されるZVポート使用デバイス切り替え制御手順を説明するフローチャート。
【図15】同実施形態のシステムにおいて第4の切り替え制御方式を実現するために使用されるソフトウェア構成図。
【符号の説明】
2…PCIバス、3…ISAバス、4…ZVポート、11…CPU、12…ホスト−PCIブリッジ、13…主メモリ、14…ディスプレイコントローラ、17…PCカードコントローラ、18…MPEG2デコーダ、19…ビデオキャプチャコントローラ、20…P1394コントローラ、31…ビデオキャプチャ、41…サウンドコントローラ、101〜104…3ステート出力バッファ。
【発明の属する技術分野】
この発明は、ZV(Zoomed Video)ポートを有するコンピュータシステムおよびこのシステムにおいてZVポートを使用して転送するビデオソースを切り替える方法にビデオソース切り替え方法に関する。
【0002】
【従来の技術】
近年、米国の標準化団体であるPCMCIA(Personal Computer Memory Card International Association)、及びJEIDAの標準仕様に準拠したPCカードソケットを持つノートブックタイプのパーソナルコンピュータが普及しつつある。このPCカードを、動画データの入出力制御を行うビデオキャプチャカード、MPEGデコーダカードなどとして用いるべく種々の開発がなされている。
【0003】
動画データのような大量のデータを効率よく処理するために、パーソナルコンピュータにおいては、高速データ転送が可能なPCIローカルバスを用いたシステムアーキテクチャが普及しつつある。
【0004】
しかし、PCIローカルバスを用いても、そのデータ転送能力には限界がある。このため、前述のようにPCカードをビデオキャプチャカードやMPEGデコーダカードとして使用する場合には、PCIローカルバスのデータ転送能力では不十分である。
【0005】
そこで、最近では、ZV(Zoomed Video)ポートと称する動画専用のバスを使用して、PCカードとディスプレイコントローラとを直接接続する技術が開発され始めている。ZVポートは、システムバスを使用することなく、PCカードがディスプレイコントローラ/オーディオコントローラにビデオ/オーディオデータを直接出力することを可能にする。これにより、大量のビデオデータの転送によってシステムバスが長時間占有されるという不具合を解消でき、システムのビデオ処理性能を高めることができる。
【0006】
ところで、最近では、パーソナルコンピュータの分野でもマルチメディア化がすすみ、PCカード以外にも、動画データを扱う種々のデバイスがシステムに搭載され始めている。これらデバイスの例を以下に示す。
【0007】
(1)ビデオキャプチャ:ビデオカメラ等の映像機器からのアナログ映像信号をデジタルデータに変換して入力する。
(2)MPEGデコーダ:MPEGで圧縮された動画データを伸張して生の動画データを生成する。
【0008】
(3)IEEE1394(P1394)などの高速シリアルインターフェース:デジタルビデオカメラ、デジタルビデオプレイヤなどから転送される動画データを入力する。
【0009】
これらデバイスは、通常、システムバスに接続される。このため、これらデバイスからの動画データは、システムバスを介してディスプレイコントローラに転送されることになる。
【0010】
(1)通常、システムバスのバンド幅は動画転送をするのに十分でないため、システムバスを介してディスプレイコントローラに動画データを転送する場合には、動画データの転送レートを下げることが必要とされる。これにより、動画の解像度が低下する、フレームレートが落ちる、あるいは1ピクセルあたりのビット数が減ることになり、動画の画質が劣化してしまう。
【0011】
(2)システムバスのバンド幅のほとんどが動画データの転送のために占有される。したがって、システムバスを使用した動画転送以外の他の動作、例えばディスク装置との間のデータ転送動作が遅くなるという問題が生じる。また、リアルタイムにデータを転送する必要があるデバイスが正常に動作しなくなる可能性もある。例えば、モデムなどの通信デバイスによる通信動作に支障が生じると、データ落ちなどが発生する。
【0012】
【発明が解決しようとする課題】
上述したように、従来では、PCカードについてはZVポートを利用することによりシステムバスを使用することなく動画データを直接的に表示コントローラに転送することができるが、動画データを扱うPCカード以外の他のデバイスをシステムに装備した場合には、それらデバイスから表示コントローラへの動画転送はシステムバス経由で行われることになる。したがって、それらデバイスを使用した場合には、動画表示の品質が低下されたり、あるいは動画転送によってシステムバスが占有されることにより動画転送以外の他の動作に支障が来されるという問題がある。
【0013】
この発明はこのような点に鑑みてなされたものであり、動画データを扱う複数のデバイスそれぞれからの異なる複数のビデオソースをシステムバスを利用することなく表示コントローラに直接転送できるようにし、様々なビデオソースについてその表示を効率よく行うことができるコンピュータシステムおよびそのシステムにおけるビデオソース切り替え方法を提供することを目的とする。
【0014】
【課題を解決するための手段】
この発明は、動画データを入力するためのビデオポートを有し、このビデオポートに入力された動画データを表示可能な表示コントローラと、この表示コントローラのビデオポートに動画データを転送するための動画専用バスとを備えたコンピュータシステムにおいて、互いに異なる動画ソースを扱う複数のビデオデバイスであって、各々が前記動画専用バスに接続された出力ポートを有し、その出力ポートから前記動画専用バス上に動画データを出力する複数のビデオデバイスと、これら複数のビデオデバイスの中から前記動画専用バスを用いて前記表示コントローラに動画データを転送するビデオデバイスを択一的に選択して、前記動画専用バスを使用するビデオデバイスを切り替える手段とを具備することを特徴とする。
【0015】
このコンピュータシステムにおいては、システムバスを使用せずに表示コントローラのビデオポートに動画データを直接的に転送するZVポートなどの動画専用バスに対して、ビデオキャプチャ、MPEGデコーダ、IEEE1394シリアルインターフェースなどの複数のビデオデバイスが共通接続されており、どのビデオデバイスからの動画転送においても同一の動画専用バスが用いられる。このため、どの動画ソースの転送についてもシステムバスを使用せずに表示コントローラに転送できるようになり、様々な動画ソースについてその表示を効率よく行うことができる。また、このコンピュータシステムでは、動画専用バスを使用するビデオデバイスを切り替える手段が設けられており、これによって、同時には単一のデバイスからの動画データしか表示コントローラに転送できないように制御される。したがって、1つの動画専用バスで、複数のデバイスそれぞれと表示コントローラとの間をポイントーツーポイント形式で接続することが可能となり、動画専用バスの競合を防止することができる。
【0016】
動画専用バスを使用するビデオデバイスを切り替える手段としては、次のような構成を採用することが好ましい。
(1)前記各ビデオデバイスに、前記出力ポートから前記動画専用バスに動画データを出力するための出力バッファと、前記コンピュータシステムのCPUからの指示に応じて、前記出力バッファの動画データ出力動作を許可又は禁止する手段とを設ける。
【0017】
これにより、各ビデオデバイスは、CPUから動画データの転送指示などが発行された場合にのみ動画データを動画専用バスに出力するので、CPUによって実行されるソフトウェアが同時には1つのビデオデバイスの出力バッファのみ出力動作を許可するように制御することで、容易に動画専用バスの競合を防止することができる。
【0018】
(2)動画専用バスには、前記複数のビデオデバイスをデイジーチェーン形式で接続し、前記動画専用バスの使用許可を示すイネーブル信号をデイジーチェーンの先頭に位置するビデオデバイスから末尾のビデオデバイスに亘って順次転送するための制御信号線を1本追加する。
【0019】
そして、各ビデオデバイスには、出力ポートから前記動画専用バスに動画データを出力するための出力バッファと、前記コンピュータシステムのCPUからの指示と前記制御信号線を介して転送される前記イネーブル信号とに基づいて、前記出力バッファの動画データ出力動作を許可又は禁止し、前記動画データ出力動作を許可したとき、次段のビデオデバイスへの前記イネーブル信号の転送を禁止する手段とを設ける。
【0020】
この構成によれば、デイジーチェーンの上流側に位置するデバイスほど優先的に動画専用バスを使用できるようにする制御が行われ、動画専用バスの使用が許可されたデバイスの下流側には、例えば、そのデバイスによる動画専用バスの使用が終了するまで、イネーブル信号は転送されない。したがって、同時には1つのデバイスの出力バッファしか動作しないようにする制御が自動的に実行できるようになり、同時には1つのビデオデバイスの出力バッファのみ出力動作を許可するようにするためのソフトウェア制御が不要となる。
【0021】
(3)動画専用バスには、複数のビデオデバイスに共通接続され、前記動画専用バスの使用を要求しているビデオデバイスによってアクティブ状態に設定される制御信号線を1本追加する。
【0022】
そして、前記各ビデオデバイスには、出力ポートから前記動画専用バスに動画データを出力するための出力バッファと、コンピュータシステムのCPUから発行される動画データ転送指示に応じて、前記制御信号線を所定期間アクティブ状態に設定し、その期間経過後、前記出力バッファの動画データ出力動作を許可する手段と、前記制御信号線の状態を監視し、前記制御信号がアクティブ状態に設定されている期間、前記出力バッファの動画データ出力動作を禁止状態に維持する手段とを設ける。
【0023】
この構成によれば、制御信号線をアクティブ状態に設定した最新のビデオデバイスに、動画データ専用バスの使用が優先的に許可される。したがって、この構成においては、どのデバイスに対しても初期の優先順位を平等に設定することができる。
【0024】
(4)上述の(3)の構成に加え、前記動画データ専用バスの使用が許可されるように構成されて前記制御信号線の状態を監視し、前記制御信号がアクティブ状態に設定されている期間に前記動画データ転送指示が発行されたとき、前記制御信号線をアクティブ状態に設定する動作の開始を前記制御信号線のアクティブ状態が解除されるまで待たせる手段を追加し、前記CPUから動画データ転送指示が発行された最新のビデオデバイスに対して、前記動画データ専用バスの使用が許可されるようにする。
【0025】
(5)上述の(3)の構成において、前記CPUからの動画データ転送指示に応じて前記制御信号線をアクティブ状態に設定する期間を、前記ビデオデバイス毎に異ならせておき、最も長い期間が割り当てられたビデオデバイスに対して前記動画データ専用バスの使用が優先的に許可されるようにする。また、この構成に、(4)の構成を追加すれば、パルス幅の長いデバイスに動画転送指示が発行された直後にそれよりもパルス幅が短いデバイスに動画転送指示が発行されても、後から動画転送指示が発行されたデバイスに優先的に動画データ専用バスの使用を許可する事ができる。
【0026】
(6)前記ビデオデバイスそれぞれによる前記動画専用バスの使用状態を管理し、前記ビデオデバイスを制御するドライバプログラムからの動画専用バス使用要求に応答して、前記動画専用バスを現在使用しているビデオデバイスを決定し、そのビデオデバイスを制御するドライバプログラムとの通信によって前記動画専用バスを現在使用しているビデオデバイスが前記動画専用バスを解放可能か否かを判断し、解放可能であるとき、前記動画専用バス使用要求を発行したドライバプログラムに使用許可を通知するという手順をソフトウェアによって実行する。
【0027】
この手順によれば、ソフトウェアの制御の下に動画専用バスの使用状態が集中管理されており、このソフトウェアと複数のビデオデバイスを制御する複数のドライバプログラムとの間の通信によって、切り替えが行われる。したがって、ソフトウェア制御のみで同時には1つのデバイスからの動画データのみを表示コントローラに転送することができる。
【0028】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態を説明する。
図1には、この発明の一実施形態に係わるコンピュータシステムの構成が示されている。このコンピュータシステムは、バッテリ駆動可能なノートブックタイプまたはラップトップタイプのポータブルコンピュータであり、そのシステムボード上には、CPUバス1、PCIバス2、特定の幾つかの信号線をISAバスから取り除いた簡略型のバス構成をもつMINI−ISAバス3、およびZVポート4が設けられている。ZVポート4は、PCカードソケット171または172とディスプレイコントローラ14およびサウンドコントローラ41との間をポイントーツーポイント形式で直接接続するビデオ・オーディオ専用バスである。
【0029】
ビデオバスは、422形式の画像フォーマットに対応する16ビット幅のデジタルYUVデータ信号線(8ビットの輝度データYおよび8ビットの色差データUV)、水平・垂直同期信号(HREF,VSYNC)、およびピクセルクロック(PCLK)を転送するための信号線群から構成されている。
【0030】
オーディオバスは、オーディオ情報をシリアルに伝達するためのPCM信号、および現在のオーディオデータ出力が左チャネルか右チャネルかを示す信号(LRCK)、およびシリアルクロックを転送するための信号線群から構成されている。
【0031】
また、システムボード上には、CPU11、ホスト/PCIブリッジ装置12、主メモリ13、ディスプレイコントローラ14、I/Oコントロールゲートアレイ16、PCカードコントローラ17、MPEG2デコーダ18、ビデオキャプチャコントローラ19、P1394コントローラ20、モデム21、USB(Universal Serial Bus)コントローラ22、ビデオキャプチャ31、およびサウンドコントローラ41などが設けられている。
【0032】
これらデバイスのうち、PCカードコントローラ17、MPEG2デコーダ18、P1394コントローラ20、およびビデオキャプチャ31は、動画を扱うデバイスであり、ディスプレイコントローラ14への動画転送をZVポート4を介して行うために、それらの動画出力ポートはZVポート4に共通接続されている。
【0033】
CPU11は、例えば、米インテル社によって製造販売されているマイクロプロセッサ“Pentium”などによって実現されている。このCPU11の入出力ピンに直結されているCPUバス1は、64ビット幅のデータバスを有している。
【0034】
主メモリ13は、オペレーティングシステム、デバイスドライバ、実行対象のアプリケーションプログラム、および処理データなどを格納するメモリデバイスであり、複数のDRAMモジュールによって構成されている。このメモリ13は、システムボード上に予め実装されるシステムメモリと、ユーザによって必要に応じて装着される拡張メモリとから構成される。これらシステムメモリおよび拡張メモリを構成するDRAMモジュールとしては、シンクロナスDRAMやRambusなどが利用される。
【0035】
ホストーPCIブリッジ装置12は、CPU1とPCIバス2との間を繋ぐブリッジLSIであり、PCIバス2のバスマスタの1つとして機能する。このホスト/PCIブリッジ装置12は、CPUバス1と内部PCIバス2との間で、データおよびアドレスを含むバスサイクルを双方向で変換する機能、およびメモリバスを介して主メモリ13をアクセス制御する機能などを有している。
【0036】
PCIバス2はクロック同期型の入出力バスであり、PCIバス2上の全てのサイクルはPCIバスクロックに同期して行われる。PCIバスクロックの周波数は最大33MHzである。PCIバス2は、時分割的に使用されるアドレス/データバスを有している。このアドレス/データバスは、32ビット幅である。
【0037】
PCIバス2上のデータ転送サイクルは、アドレスフェーズとそれに後続する1以上のデータフェーズとから構成される。アドレスフェーズにおいてはアドレスおよび転送タイプが出力され、データフェーズでは8ビット、16ビット、24ビットまたは32ビットのデータが出力される。
【0038】
ディスプレイコントローラ14は、ホスト/PCIブリッジ装置12と同様にPCIバス2のバスマスタの1つであり、ビデオメモリ(VRAM)143の画像データをLCD141や外部のCRTディプレイに表示するものであり、VGA仕様のテキストおよびグラフィクス表示をサポートする。
【0039】
さらに、このディスプレイコントローラ14は、図示のように、ZVポート4に接続されたビデオポート141を有しており、このビデオポート141から入力した動画データストリームS1を表示画面上にビデオウインドウとして表示する動画表示機能を持つ。
【0040】
I/Oコントロールゲートアレイ16は、複数のI/O制御機能を内蔵した1チップLSIであり、この実施形態においては、外部の赤外線通信機器との間の赤外線通信を制御する赤外線コントローラ161と、ハードディスクドライブ、CD−ROMドライブ、DVD−ROMドライブなどのIDEまたはATAPIインターフェースを持つデバイスを制御するIDEコントローラ162と、リアルタイムクロック(RTC)163と、プリンタポート、シリアルポート(SIO)、フロッピーディスクドライブ(FDD)の制御とMINI−ISAバス3上のサウンドコントローラ41等のISA互換のデバイスを制御するI/Oコントローラ164とが内蔵されている。
【0041】
PCカードコントローラ17は、PCIデバイスの1つであり、CPU11の制御の下にPCMCIA仕様の16ビットPCカードとカードバス仕様の32ビットPCカードとを制御するものであり、ZVポート4を介した動画転送もサポートしている。このPCカードコントローラ17は、ノーマルモードとマルチメディアモード(ZVポートモード)の2つの動作モードを有している。ノーマルモードは、モデムカードなどのような通常のPCカードを制御するためのものであり、PCIバス2とPCカードとの間でデータ転送を行い、ZVポートは使用しない。
【0042】
マルチメディアモード(ZVポートモード)は、ビデオキャプチャカード、MPEG2エンコーダカード、MPEG2デコーダカードなど動画を扱うPCカードがPCカードソケットに装着されている場合に使用されるモードである。このモードにおいては、前述のZVポート4が使用され、PCカードからディスプレイコントローラ14にZVポート4を介して動画データストリームS4が直接的に転送される。
【0043】
ノーマルモードとマルチメディアモードの動作モードの切り替えは、CPU11によって行われる。すなわち、CPU11は、PCカードソケットに装着されているPCカードから属性情報を読み取り、その属性情報によって装着されているPCカードの種類を検出する。装着されているPCカードがマルチメディアモード対応のカードであれば、CPU11は、PCカードコントローラ17をマルチメディアモードに切り替える。
【0044】
サウンドコントローラ41は、CPU11の制御の下にオーディオデータの入出力制御を行うものであり、マイク端子からの音声信号をA/D変換してメモリ13に取り込んだり、ZVポート4を介して転送されるデジタルオーディオデータをアナログ信号に変換してスピーカに出力する機能を有する。
【0045】
MPEG2デコーダ18は、PCIバス2に接続されたPCIインターフェースとZVポート4に接続された動画出力ポートを有している。このMPEG2デコーダ18は、MPEG2でデジタル圧縮符号化された例えばDVD−ROMドライブなどからの動画データをPCIバス2経由で受信し、それを伸張するための復号処理を行う。復号された動画データは、前述の16ビットYUVデータフォーマットに変換されて動画データストリームS2としてZVポート4上に出力され、ディスプレイコントローラ14のビデオ入力ポート141に転送される。
【0046】
通常、DVD−ROMドライブから読み出されるMPEG2データストリームには、映画などの映像を構成する主映像(ビデオ)、字幕などの副映像(サブピクチャ)、および音声信号それぞれの符号化データが多重化されている。副映像および音声信号の符号化には、ランレングス符号化およびドルビーAC3がそれぞれ使用される。このため、MPEG2デコーダ18には、このような3種類のストリームを含むDVDビデオをデコードするために、3つのデコーダ、つまり主映像を復号するMPEG2デコーダ、副映像を復号するサブピクチャデコーダ、および音声信号を復号するオーディオデコーダを設けておき、これらを並行して動作させることが好ましい。MPEG2デコーダで復号化されたビデオデータとサブピクチャデコーダで復号化された副映像は合成され、そして16ビットYUVデータフォーマットでZVポート4上に定義されたビデオバス上に出力される。また、オーディオデコーダによって復号化された音声信号は、シリアルデータ転送のフォーマットでZVポート4上に定義されたオーディオバスを介して転送される。
【0047】
ビデオキャプチャコントローラ19は、CPU11からの指示に従ってビデオキャプチャ31を動作制御する機能と、ZVポート4上に出力される動画データを取り込み、それをPCIバス2を介して主メモリ13に転送する機能などを有している。ビデオキャプチャコントローラ19によるビデオキャプチャ31の制御は、I2Cバスを介して行われる。ZVポート4から主メモリ13への動画転送においては、PCIバス2のバンド幅を考慮して、まず、データ転送レートを下げるために動画データのスケールダウン(フレームレート、解像度、カラーフォーマット変換などを使用する)処理が内蔵のスケーラによって実行され、それがFIFOバッファに格納される。この後、FIFOバッファのデータがDMA転送によって主メモリ12に転送される。
【0048】
P1394コントローラ20は、P1394高速シリアルインターフェースを介した外部装置との間のデータ転送を制御するためのものであり、PCIバス2に接続されたPCIインターフェースとZVポート4に接続された動画出力ポートを有している。P1394高速シリアルインターフェースを介してデジタルビデオカメラなどから動画データを受け取った場合には、P1394コントローラ20は、その動画データを16ビットYUVデータフォーマットに変換してZVポート4上に定義されたビデオバス上に動画ストリームS5として出力することにより、ディスプレイコントローラ14に転送する。
【0049】
ビデオキャプチャ31は、カメラインタフェースを介してビデオカメラやイメージセンサなどから入力される動画データを16ビットYUVデータフォーマットに変換して、それをZVポート4上に定義されたビデオバス上に動画ストリームS3として出力することによりディスプレイコントローラ14に転送する。
【0050】
以上のように、図1のシステムにおいては、互いに異なる動画データを扱う複数のビデオデバイス、つまり、PCカードコントローラ17、MPEG2デコーダ18、P1394コントローラ20、およびビデオキャプチャ31が、それぞれPCIバス2とのインターフェースに加え、ZVポート4に接続された動画出力ポートを有しており、どの動画ソースについてもPCIバス2を使用せずにディスプレイコントローラ14にZVポート4を通して直接的に転送できるようになり、様々な動画ソースについてその表示を効率よく行うことができる。
【0051】
ところで、ZVポート4は同時には1つの動画データしか流すことができない。したがって、このシステムにおいては、PCカードコントローラ17、MPEG2デコーダ18、P1394コントローラ20、およびビデオキャプチャ31を択一的にZVポート4に接続して、同時には1つのデバイスのみがZVポートを使用するようにするための動画ソース切り替え制御の仕組みが組み込まれている。
【0052】
以下、この動画ソース切り替え制御の具体例を説明する。
(1)まず、図2および図3を参照して第1の例について説明する。
図2においては、PCカードコントローラ17、MPEG2デコーダ18、P1394コントローラ20、およびビデオキャプチャ31それぞれの動画出力ポートの1つを選択してZVポート4に接続するためのセレクタが設けられており、これによって同時には単一のデバイスからの動画データしかディスプレイコントローラ14に転送できないように制御される。したがって、1つのZVポート4で、PCカードコントローラ17、MPEG2デコーダ18、P1394コントローラ20、およびビデオキャプチャ31それぞれとディスプレイコントローラ14との間をポイントーツーポイント形式で接続することが可能となり、ZVポート4の競合を防止することができる。
【0053】
このセレクタは、PCカードコントローラ17、MPEG2デコーダ18、P1394コントローラ20、およびビデオキャプチャ31それぞれの動画出力ポートに3ステート出力バッファ101,102,103,104を設け、これら各バッファによる動画出力動作を、CPU11からのコマンドで制御可能なイネーブル/ディスエーブル信号(EN/DIS1,EN/DIS2,EN/DIS3,EN/DIS4)によってイネーブル・ディスエーブル制御することによって実現できる。
【0054】
この構成においては、各ビデオデバイスは、CPU11からの指示で動画データの転送が許可された場合にのみ動画データをZVポート4に出力するので、CPU11によって実行されるソフトウェアが同時には1つのデバイスの出力バッファのみ出力動作を許可するように制御することで、ZVポート4の競合を防止することができる。また、出力動作が許可された1つの出力バッファ以外の他のすべての出力バッファについてはディスエーブル状態、つまり高インピーダンス出力の状態に設定されるので、ZVポート4から電気的に分離される。
【0055】
図1のセレクタは、実際には、図3に示されているように、3ステート出力バッファ101,102…とCPU11によってリード/ライト可能なレジスタ201,202,…とをそれぞれデバイス内部に対応して設けることによって実現される。この場合、例えば、CPU11からのコマンドでレジスタ201のイネーブルフラグF1がセットされると、3ステート出力バッファ101のイネーブル/ディスエーブル信号EN/DIS1がアクティブとなり、これによってデバイス1はZVポート4を使用した動画転送を行うことが可能となる。
【0056】
(2)次に、図4、図5および図6を参照して第2の例について説明する。
図4においては、ハードウェアによる制御によって自動的にZVポート4を使用するデバイスの優先順位を規定する構成が採用されている。すなわち、ZVポート4には、複数のデバイス(PCカードコントローラ17、MPEG2デコーダ18、P1394コントローラ20、およびビデオキャプチャ31)をデイジーチェーン形式で接続する1本のZVイネーブル信号線が追加されている。このZVイネーブル信号線は、ZVポート4の使用許可を示すZVイネーブル信号をデイジーチェーンの先頭に位置するデバイスから末尾のデバイスに亘って順次転送するために使用される。
【0057】
そして、各デバイスには、前述の3ステート出力バッファ101,102…およびレジスタ201,202…に加え、組み合わせ論理回路301,302…が追加されている。これら組み合わせ論理回路301,302…の各々は、CPU11によってセットされるイネーブルフラグF1とZVイネーブル信号線を介して転送されるZVイネーブル信号とに基づいて、出力バッファの動画データ出力動作をイネーブル/ディスエーブル制御するためのイネーブル/ディスエーブル信号を発生するものであり、イネーブルフラグF1の入力端子A、ZVイネーブル信号入力端子X、イネーブル/ディスエーブル信号出力端子Z、および次段のデバイスへのZVイネーブル信号出力端子Yを有している。
【0058】
入力Xおよび入力Aに対する出力Yの真理値表テーブルを図5(a)、入力Xおよび入力Aに対する出力Zの真理値表テーブルを図5(b)に示す。
入力A=1(動画転送許可を示すイネーブルフラグF1がセットされた状態)になったとき、入力X=1(アクティブ状態のZVイネーブル信号が入力されている状態)であれば、出力Z=1となり、出力バッファがイネーブル状態に設定される。また、この時は、出力Y=0となり、次段のデバイスへのZVイネーブル信号の伝達が停止される。入力A=0(動画転送許可を示すイネーブルフラグF1がセットされてない状態)の時には、そのときの入力Xの状態がそのまま出力Yとなる。また、入力X=0であれば、出力Yおよび出力Zは、入力Aによらず0となる。
【0059】
これら各組み合わせ論理回路301,302は、図6に示されているように、2つの2入力ANDゲート401,402,インバータ403、および入力バッファ404から構成することができる。
【0060】
この構成によれば、デイジーチェーンの上流側に位置するデバイス(ここでは、デバイス1が最上流のデバイス)ほど優先的にZVポート4を使用できるようにする制御が行われ、ZVポート4の使用が許可されたデバイスの下流側には、例えば、そのデバイスによるZVポート4の使用が終了するまで、ZVイネーブル信号は転送されない。したがって、同時には1つのデバイスの出力バッファしか動作しないようにする制御が自動的に実行できるようになる。なお、最上流の入力Xは常に1に固定されている。
【0061】
(3)次に、図7、図8および図9を参照して第3の例について説明する。
図7においては、ZVポート4には、複数のデバイスに共通接続された1本のZV制御信号線が追加されている。このZV制御信号線は、ZVポート4の使用を要求しているデバイスがあることをそのデバイスとそれ以外の他のすべてのデバイスに通知するためのものであり、ZVポート4の使用を要求しているデバイスによって、一定期間アクティブ状態に設定される。
【0062】
そして、各デバイスには、前述の3ステート出力バッファ101,102…およびレジスタ201,202…に加え、組み合わせ論理回路501,502…が追加されている。これら組み合わせ論理回路501,502…の各々は、CPU11からのコマンドによるイネーブルフラグF1のセットに応答して、ZV制御信号線を所定期間アクティブ状態に設定し、その期間経過後、対応する出力バッファをイネーブル状態に設定する機能と、ZV制御信号線の状態を監視し、ZV制御信号線がアクティブ状態に設定されている期間中、出力バッファをディスエーブル状態に維持する機能が設けられている。
【0063】
これら各組み合わせ論理回路501,502…は、図8のように、パルス発生回路601、ディレイ回路602、フリップフロップ603、ZV制御信号用出力バッファ604、ZV制御信号用出力バッファ605から構成されている。
【0064】
以下、図9のタイミングチャートを参照して、図8の組み合わせ論理回路の動作を説明する。ここでは、デバイス2の出力バッファ102がイネーブル状態に設定されているときに、デバイス1のレジスタ201にイネーブルフラグF1がセットされた場合を想定する。
【0065】
デバイス1においては、イネーブルフラグF1のセットに応答してパルス発生回路601からワンショットパルス信号ZV−EN1が出力される。このワンショットパルス信号ZV−EN1は、ディレイ回路602に送られると共に、ZV制御信号としてバッファ604を介してZV制御信号線上に出力される。この時のZV制御信号線の変化は、すべてのデバイスの組み合わせ論理回路でモニタされる。すなわち、デバイス1においてはフリップフロップ603がリセットされる。デバイス2においても同様にしてフリップフロップがリセットされ、これによってイネーブル/ディスエーブル信号EN/DIS2がディスエーブル状態となる。
【0066】
ワンショットパルス信号ZV−EN1のパルス幅に対応する期間だけ経過した後、ディレイ回路602からはセット信号SET1が出力される。このセット信号SET1は、フリップフロップ603に送られる。フリップフロップ603は、セット信号SET1が入力された時、イネーブル/ディスエーブル信号EN/DIS1を1、つまりアクティブ状態に設定する。
【0067】
このように、ZV制御信号線を用いてすべてのデバイスの出力バッファを一旦ディスエーブルした後、自身のデバイスの出力バッファをイネーブルにする構成を使用することにより、結果的に、時間的に最も最近にZV制御信号線をアクティブ状態に設定したデバイスに、ZVポート4の使用が許可される。したがって、この構成においては、どのデバイスに対しても初期の優先順位を平等に設定することができる。
【0068】
(4)次に、図10、図11および図12を参照して第4の例について説明する。
図10においては、図8で説明した各組み合わせ論理回路501,502の構成にさらに改良が加えられており、図8のパルス発生回路601およびディレイ回路602の代わりに、CPU11によってパルス幅およびディレイ時間がそれぞれプログラム可能なプログラマブルパルス発生回路701およびプログラマブルディレイ回路702が設けられ、且つANDゲート703が追加されている。
【0069】
プログラマブルパルス発生回路701から発生されるパルス信号のパルス幅は、図11に示されているように、デバイス毎に異なるように初期設定される。また、プログラマブルディレイ回路702のディレイ時間についても、対応するプログラマブルパルス発生回路701からのパルス信号の幅に相当する時間経過後にセット信号が出力されるようにデバイス毎に異なる値が初期設定される。
【0070】
これにより、たとえ複数のデバイスに対して同時にイネーブルフラグがセットされた場合であっても、その中で最も長いパルス幅が割り当てられているデバイスにZVポート4の使用が許可されるので、ZVポート4の競合を防止できる。
【0071】
また、ANDゲート703は、ZVイネーブルフラグがセットされた時にZV制御信号が既にアクティブ状態に設定されていた場合には、そのパルス信号ZV−EN1の発生動作の開始をZV制御信号線のアクティブ状態が解除されるまで待たせるために設けられたものである。
【0072】
これにより、CPU11から最も後でイネーブルフラグがセットされたデバイスにZVポート4を使用させることができるので、もしパルス幅の長いデバイスにイネーブルフラグがセットされた直後にそれよりもパルス幅が短いデバイスにイネーブルフラグがセットされたとしても、後からイネーブルフラグがセットされたデバイスに優先的にZVポート4の使用を許可する事ができる。
【0073】
以下、図12のタイミングチャートを参照して、図10の組み合わせ論理回路の動作を説明する。ここでは、デバイス3の出力バッファ103がイネーブル状態に設定されているときに、デバイス1とデバイス2に同時にイネーブルフラグがセットされた場合を想定する。
【0074】
デバイス1においては、ZV制御信号が0の状態でイネーブルフラグF1がセットされると、それに応答してすぐにパルス発生回路701からワンショットパルス信号ZV−EN1が出力される。これと同時に、デバイス2からもワンショットパルス信号ZV−EN2が出力される。これらパルス信号によりZV制御信号線の電位が変化し、すべてのデバイスのフリップフロップがリセットされる。したがって、デバイス3においては、イネーブル/ディスエーブル信号EN/DIS3がディスエーブル状態に切り替えられる。
【0075】
デバイス2においては、ワンショットパルス信号ZV−EN2のパルス幅に対応する期間だけ経過した後、セット信号SET2が出力される。このセット信号SET2は、フリップフロップに送られる。しかし、この時はまだワンショットパルス信号ZV−EN1が出力されているため、セット信号SET2はマスクされてしまい、フリップフロップはセットされない。
【0076】
デバイス1においては、ワンショットパルス信号ZV−EN1のパルス幅に対応する期間だけ経過した後、セット信号SET1が出力される。このときは既にワンショットパルス信号ZV−EN2は発生してないので、セット信号SET1によってフリップフロップ603は、イネーブル/ディスエーブル信号EN/DIS1を1、つまりアクティブ状態に設定する。
【0077】
(5)次に、図13および図14を参照して第5の例について説明する。
ここでは、(1)の例において、ソフトウェア制御によって複数のデバイスによるZVポートの使用を排他的に切り替えるための制御動作を説明する。そのためのソフトウェア構成を図13に示す。
【0078】
図13において、ZVポートマネージャは、ZVポート4の使用状態を一括管理するためのプログラムである。アプリケーションプログラム1,2,3はそれぞれZVポート4を使用するデバイス1,2,3を用いて動画表示を行うプログラムであり、またZVポートクライアントドライバ1,2,3はデバイス1,2,3の動作を制御するためのドライバプログラムである。
【0079】
ZVポートマネージャは、ZVポートクライアントドライバ1,2,3それぞれと通信する機能を有しており、この通信機能を用いてZVポート4の使用権切り替えを行う。使用権切り替え処理の概略は、次の通りである。
【0080】
たとえば、ZVポートクライアントドライバ1からZVポート使用要求が発行されると、ZVポートマネージャは、デバイス毎にZVポートの使用状態を管理している管理テーブルT1を参照してZVポート4を現在使用しているデバイスを調べ、そのデバイスに対応するZVポートクライアントドライバ(例えば、ZVポートクライアントドライバ3)に他のZVポートクライアントドライバからの使用要求があったことを通知する。使用要求を受けたZVポートクライアントドライバ3は、ZVポート4の使用権の切り替えが可能か否かを返答する。ZVポートマネージャは、切り替えが可能か否かを使用要求を出したZVポートクライアントドライバ1に返し、切り替え可能であれば、管理テーブルT1を書き換えると共に、ZVポート4の使用権の切り替えを行う。この使用権切り替え動作は、新たにZVポート4を使用するデバイスにイネーブルフラグをセットし、使用権を解放するデバイスに対してはイネーブルフラグをリセットすることによって行うことができる。このようなイネーブルフラグのセット/リセット制御は、そのデバイスに対応するZVポートクライアントドライバが実行する。
【0081】
次に、図14のフローチャートを参照して、使用権切り替え制御のための一連の処理の流れを説明する。
ZVポートマネージャは、オペレーティングシステムの起動時やZVポート対応PCカードなどの挿抜時にその時にコンピュータシステムに存在するZVポート対応デバイスを数え上げ、それら各デバイス毎にZVポートの使用状態を管理するための管理テーブルT1を作成する(ステップS101)。
【0082】
ZVポート対応デバイスの数え上げは、ISAデバイスであればPNPID、PCIデバイスの場合にはDevice ID,Vender ID,Subsystem Device IDからOSで管理されている対応する情報(INF)ファイルを調べ、INFファイルにZVデバイス情報があれば、ZVポート対応デバイスとしてOSの環境ファイル(Registry)に書き込んでおき、オペレーティングシステムの起動時にそのRegistryの情報を参照することによって行うことができる。
【0083】
また、PCカードがシステム稼働中に装着された場合には、そのPCカードの装着が、図15に示すソケットサービスおよびカートサービスなどのドライバによって検出され、それがZV−ポートマネージャに通知されるので、これに応答してZV−ポートマネージャがそのカードの属性情報からZVポート対応カードか否かを判断し、ZVポート対応カードであれば管理テーブルT1にそのデバイスを追加すればよい。また、システム稼働中にPCカードが取り外された時には、取り外されたPCカードのソケット番号や属性情報等からそのカードがZVポート対応カードとして数え上げられているデバイスか否かを調べ、ZVポート対応カードであれば管理テーブルT1からそのデバイスを削除すればよい。
【0084】
次に、ZVポート4を使用した動画転送を行うアプリケーションが実行されると、そのアプリケーションは、対応するZVポートクライアントドライバを主メモリ13にロードする(ステップS102)。ロードされたZVポートクライアントドライバは、ZVポートマネージャに対してZVポート4の使用要求を発行する(ステップS103)。ZVポートマネージャは、管理テーブルT1を参照して現在のZVポート4の使用状況を調べ、他のデバイスがZVポート4を使用中か否かを判断する(ステップS105)。
【0085】
どのデバイスもZVポート4を使用していない場合には、ZVポートマネージャは、使用要求を出したZVポートクライアントドライバに対して使用許可を返す(ステップS106)。使用許可を受けたZVポートクライアントドライバは、対応するデバイスのレジスタにイネーブルフラグをセットし、出力バッファを使用可能な状態に設定する(ステップS107)。また、このとき、ZVポートマネージャは、管理テーブルT1の該当するデバイスの欄にZVポート使用中であることを書き込む。
【0086】
一方、ZVポート4を使用しているデバイスが存在した場合には、その使用しているデバイスを特定し、そのデバイスに対応するZVポートクライアントドライバに対して他のZVポートクライアントドライバからの使用要求があったことを通知する(ステップS108,109)。使用要求を受けたZVポートクライアントドライバは、ZVポート4の使用権の切り替えが可能か否かを返答する。
【0087】
たとえば、ビデオキャプチャ31を使用して動画の表示および記録を行うアプリケーションに対応するZVポートクライアントドライバなどについては、その動画の記録動作が中断されるのを防止するために、切り替え要求を拒否する場合がある。この場合には、ZVポートマネージャは、使用要求を出したZVポートクライアントドライバに対して使用不許可を返す(ステップS110,S111)。
【0088】
切り替え可能である旨の返答が合った場合には、前述のステップS106,S107の処理が実行される。
なお、ここでは、ZVポートマネージャをOSと独立に設けたが、OSの1機能としてそのOS内にZVポートマネージャの機能を組み込むことも可能である。また、図14の手順を実行するために必要なZVポートマネージャや各ドライバ群などのプログラムはCD−ROMなどのコンピュータ読み取り可能な記録媒体に格納して配布することができる。
【0089】
【発明の効果】
以上説明したように、この発明によれば、動画データを扱う複数のデバイスそれぞれからの異なる複数のビデオソースをシステムバスを利用することなく表示コントローラに直接転送できるようになり、様々なビデオソースについてその表示を効率よく行うことができる。また、ハードウェアまたはソフトウェアによる切り替え制御により動画専用バスが同時には複数のデバイスの中の1つだけが使用するように制御できるため、バスの競合の問題を解決することができる。また、最後にイネーブルフラグを設定したデバイスにバス使用権が与えられる仕組みを採用することにより、常にユーザが実行したいアプリケーションに対応するデバイスによる動画転送を許可する事ができる。
【図面の簡単な説明】
【図1】この発明の一実施形態に係るコンピュータシステムの構成を示すブロック図。
【図2】同実施形態のシステムに設けられたZVポート対応デバイスの切り替え動作の原理を説明するための図。
【図3】同実施形態のシステムにおいて第1の切り替え制御方式を実現するために設けられたZVポート対応デバイスの内部構成を示す図。
【図4】同実施形態のシステムにおいて第2の切り替え制御方式を実現するためにZVポート対応デバイス内に設けられた組み合わせ論理回路を示す図。
【図5】図4の組み合わせ論理回路の入力と出力との関係を示す図。
【図6】図4の組み合わせ論理回路の具体的な回路構成の一例を示す回路図。
【図7】同実施形態のシステムにおいて第2の切り替え制御方式を実現するために各ZVポート対応デバイス内に設けられた組み合わせ論理回路を示す図。
【図8】図7の組み合わせ論理回路の具体的な回路構成の一例を示す回路図。
【図9】図7の組み合わせ論理回路の動作を示すタイミングチャート。
【図10】同実施形態のシステムにおいて第3の切り替え制御方式を実現するために各ZVポート対応デバイス内に設けられた組み合わせ論理回路を示す図。
【図11】図10の組み合わせ論理回路に設けられたプログラマブルパルス発生回路によってZVポート対応デバイス毎に異なるパルス幅を設定する様子を示す図。
【図12】図10の組み合わせ論理回路の動作を説明するタイミングチャート。
【図13】同実施形態のシステムにおいて第4の切り替え制御方式を実現するために使用されるソフトウェア構成図。
【図14】図13のソフトウェアによって実行されるZVポート使用デバイス切り替え制御手順を説明するフローチャート。
【図15】同実施形態のシステムにおいて第4の切り替え制御方式を実現するために使用されるソフトウェア構成図。
【符号の説明】
2…PCIバス、3…ISAバス、4…ZVポート、11…CPU、12…ホスト−PCIブリッジ、13…主メモリ、14…ディスプレイコントローラ、17…PCカードコントローラ、18…MPEG2デコーダ、19…ビデオキャプチャコントローラ、20…P1394コントローラ、31…ビデオキャプチャ、41…サウンドコントローラ、101〜104…3ステート出力バッファ。
Claims (5)
- 動画データを入力するためのビデオポートを有し、このビデオポートに入力された動画データを表示可能な表示コントローラと、この表示コントローラのビデオポートに動画データを転送するための動画専用バスとを備えたコンピュータシステムにおいて、
互いに異なる動画ソースを扱う複数のビデオデバイスであって、各々が前記動画専用バスに接続された出力ポートを有し、その出力ポートから前記動画専用バス上に動画データを出力する複数のビデオデバイスを具備し、
前記動画専用バスには、前記複数のビデオデバイスに共通接続され、前記動画専用バスの使用を要求しているビデオデバイスによってアクティブ状態に設定される制御信号線がさらに設けられており、
前記各ビデオデバイスは、
前記出力ポートから前記動画専用バスに動画データを出力するための出力バッファと、
前記コンピュータシステムのCPUから発行される動画データ転送指示に応じて、前記制御信号線を所定期間アクティブ状態に設定し、その期間経過後、前記出力バッファの動画データ出力動作を許可する手段と、
前記制御信号線の状態を監視し、前記制御信号がアクティブ状態に設定されている期間、前記出力バッファの動画データ出力動作を禁止状態に維持する手段とを具備し、
前記制御信号線をアクティブ状態に設定した最新のビデオデバイスに、前記動画データ専用バスの使用が許可されるように構成されていることを特徴とするコンピュータシステム。 - 動画データを入力するためのビデオポートを有し、このビデオポートに入力された動画データを表示可能な表示コントローラと、この表示コントローラのビデオポートに動画データを転送するための動画専用バスとを備えたコンピュータシステムにおいて、
互いに異なる動画ソースを扱う複数のビデオデバイスであって、各々が前記動画専用バスに接続された出力ポートを有し、その出力ポートから前記動画専用バス上に動画データを出力する複数のビデオデバイスを具備し、
前記動画専用バスには、前記複数のビデオデバイスに共通接続され、前記動画専用バスの使用を要求しているビデオデバイスによってアクティブ状態に設定される制御信号線がさらに設けられており、
前記各ビデオデバイスは、
前記出力ポートから前記動画専用バスに動画データを出力するための出力バッファと、
前記コンピュータシステムのCPUから発行される動画データ転送指示に応答して、前記制御信号線を所定期間アクティブ状態に設定し、その期間経過後、前記出力バッファの動画データ出力動作を許可する手段と、
前記制御信号線の状態を監視し、前記制御信号がアクティブ状態に設定されている期間に前記動画データ転送指示が発行されたとき、前記制御信号線をアクティブ状態に設定する動作の開始を前記制御信号線のアクティブ状態が解除されるまで待たせる手段と、
前記制御信号線の状態を監視し、前記制御信号がアクティブ状態に設定されている期間、前記出力バッファの動画データ出力動作を禁止状態に維持する手段とを具備し、
前記CPUから動画データ転送指示が発行された最新のビデオデバイスに対して、前記動画データ専用バスの使用が許可されるように構成されていることを特徴とするコンピュータシステム。 - 動画データを入力するためのビデオポートを有し、このビデオポートに入力された動画データを表示可能な表示コントローラと、この表示コントローラのビデオポートに動画データを転送するための動画専用バスとを備えたコンピュータシステムにおいて、
互いに異なる動画ソースを扱う複数のビデオデバイスであって、各々が前記動画専用バスに接続された出力ポートを有し、その出力ポートから前記動画専用バス上に動画データ を出力する複数のビデオデバイスを具備し、
前記動画専用バスには、前記複数のビデオデバイスに共通接続され、前記動画専用バスの使用を要求しているビデオデバイスによってアクティブ状態に設定される制御信号線がさらに設けられており、
前記各ビデオデバイスは、
前記出力ポートから前記動画専用バスに動画データを出力するための出力バッファと、
前記コンピュータシステムのCPUから発行される動画データ転送指示に応答して、前記制御信号線を所定期間アクティブ状態に設定し、その期間経過後、前記出力バッファの動画データ出力動作を許可する手段と、
前記制御信号線の状態を監視し、前記制御信号がアクティブ状態に設定されている期間、前記出力バッファの動画データ出力動作を禁止状態に維持する手段とを具備し、
前記CPUからの動画データ転送指示に応じて前記制御信号線をアクティブ状態に設定する期間は、前記ビデオデバイス毎に異なっており、最も長い期間が割り当てられたビデオデバイスに対して前記動画データ専用バスの使用が優先的に許可されるように構成されていることを特徴とするコンピュータシステム。 - 前記各ビデオデバイスは、前記制御信号線の状態を監視し、前記制御信号がアクティブ状態に設定されている期間に前記動画データ転送指示が発行されたとき、前記制御信号線をアクティブ状態に設定する動作の開始を前記制御信号線のアクティブ状態が解除されるまで待たせる手段をさらに具備することを特徴とする請求項3記載のコンピュータシステム。
- 動画データを入力するためのビデオポートを有し、このビデオポートに入力された動画データを表示可能な表示コントローラと、PCカードが装着可能なカードソケットと、このカードソケットと前記表示コントローラのビデオポートとの間に接続され、前記表示コントローラのビデオポートに動画データを転送するための動画専用バスとを備えたコンピュータシステムにおいて、
互いに異なる動画ソースを扱う1以上のビデオデバイスであって、各々が前記動画専用バスに接続された出力ポートを有し、その出力ポートから前記動画専用バス上に動画データを出力する1以上のビデオデバイスと、
これらビデオデバイスと前記PCカードの中から前記動画専用バスを用いて前記表示コントローラに動画データを転送するデバイスを択一的に選択して、前記動画専用バスを使用するデバイスを切り替える手段とを具備し、
デジタル圧縮符号化された動画データをデコードして前記動画専用バス上に出力する動画デコーダ、外部から動画データをシリアルインターフェースを介して入力し、その入力した動画データを前記動画専用バス上に出力するシリアルインターフェースコントローラ、外部映像機器から動画データを取り込み、その動画データを前記動画専用バス上に出力するビデオキャプチャ、の中の少なくとも1つが前記ビデオデバイスとして設けられていることを特徴とするコンピュータシステム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26989596A JP3926873B2 (ja) | 1996-10-11 | 1996-10-11 | コンピュータシステム |
PCT/JP1997/003516 WO1998016887A1 (en) | 1996-10-11 | 1997-10-02 | Method of switching video source transferred by using zv port, and computer system using the method |
EP97942221A EP0867812A1 (en) | 1996-10-11 | 1997-10-02 | Method of switching video source transferred by using zv port, and computer system using the method |
US09/091,183 US6297794B1 (en) | 1996-10-11 | 1997-10-02 | Method of switching video sources and computer system employing this method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26989596A JP3926873B2 (ja) | 1996-10-11 | 1996-10-11 | コンピュータシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10116064A JPH10116064A (ja) | 1998-05-06 |
JP3926873B2 true JP3926873B2 (ja) | 2007-06-06 |
Family
ID=17478721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26989596A Expired - Fee Related JP3926873B2 (ja) | 1996-10-11 | 1996-10-11 | コンピュータシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US6297794B1 (ja) |
EP (1) | EP0867812A1 (ja) |
JP (1) | JP3926873B2 (ja) |
WO (1) | WO1998016887A1 (ja) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3085242B2 (ja) | 1997-04-30 | 2000-09-04 | 日本電気株式会社 | ビデオデータ転送方式 |
US6598110B1 (en) * | 1998-11-25 | 2003-07-22 | Texas Instruments Inc | Method and apparatus for data conversion in a computer bus |
US8270479B2 (en) * | 1999-04-06 | 2012-09-18 | Broadcom Corporation | System and method for video and audio encoding on a single chip |
US6925513B1 (en) * | 1999-05-04 | 2005-08-02 | Apple Computer, Inc. | USB device notification |
US6275240B1 (en) * | 1999-05-27 | 2001-08-14 | Intel Corporation | Method and apparatus for maintaining load balance on a graphics bus when an upgrade device is installed |
AU766152B2 (en) * | 1999-07-15 | 2003-10-09 | Thomson Licensing S.A. | Demodulation section in a multiple protocol receiver |
US6924806B1 (en) | 1999-08-06 | 2005-08-02 | Microsoft Corporation | Video card with interchangeable connector module |
US6847358B1 (en) | 1999-08-06 | 2005-01-25 | Microsoft Corporation | Workstation for processing and producing a video signal |
US6919897B1 (en) | 1999-08-06 | 2005-07-19 | Microsoft Corporation | System and method for pre-processing a video signal |
US6885381B1 (en) | 2000-08-04 | 2005-04-26 | Microsoft Corporation | System and method for producing a video signal |
WO2001011457A1 (en) * | 1999-08-06 | 2001-02-15 | Intergraph Corporation | System and method for packing and unpacking video data |
US7047305B1 (en) * | 1999-12-09 | 2006-05-16 | Vidiator Enterprises Inc. | Personal broadcasting system for audio and video data using a wide area network |
JP3349490B2 (ja) * | 2000-02-14 | 2002-11-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 画像表示方法、画像表示システム、ホスト装置、画像表示装置、およびディスプレイ用インターフェイス |
JP2002202881A (ja) * | 2000-10-26 | 2002-07-19 | Matsushita Electric Ind Co Ltd | 画像表示装置 |
US6753873B2 (en) * | 2001-01-31 | 2004-06-22 | General Electric Company | Shared memory control between detector framing node and processor |
US7034815B2 (en) * | 2001-09-20 | 2006-04-25 | Genesis Microchip Inc. | Method and apparatus for synchronizing an analog video signal to an LCD monitor |
US7019764B2 (en) * | 2001-09-20 | 2006-03-28 | Genesis Microchip Corporation | Method and apparatus for auto-generation of horizontal synchronization of an analog signal to digital display |
KR100412107B1 (ko) | 2001-10-09 | 2003-12-24 | 삼성전자주식회사 | 디지털 방송신호 재생시스템 및 그 재생방법 |
JP4030055B2 (ja) | 2002-11-26 | 2008-01-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | フォーマット変換回路 |
JP3793161B2 (ja) * | 2003-02-28 | 2006-07-05 | 株式会社東芝 | 情報処理装置 |
US9900478B2 (en) | 2003-09-04 | 2018-02-20 | Flir Systems, Inc. | Device attachment with infrared imaging sensor |
US7380148B2 (en) * | 2004-02-19 | 2008-05-27 | Dell Products L.P. | System and method for information handling system multimedia mode boot optimization |
US7652922B2 (en) | 2005-09-30 | 2010-01-26 | Mosaid Technologies Incorporated | Multiple independent serial link memory |
US20070076502A1 (en) * | 2005-09-30 | 2007-04-05 | Pyeon Hong B | Daisy chain cascading devices |
TWI345215B (en) * | 2006-08-22 | 2011-07-11 | Asustek Comp Inc | Portable computer |
US8127309B1 (en) * | 2006-11-10 | 2012-02-28 | Marvell International Ltd. | Secure digital input/output interface system |
US20090278871A1 (en) * | 2008-05-09 | 2009-11-12 | International Business Machines Corporation | Controlling Display Resolution Of A Computer Display |
US9948872B2 (en) | 2009-03-02 | 2018-04-17 | Flir Systems, Inc. | Monitor and control systems and methods for occupant safety and energy efficiency of structures |
US9843742B2 (en) | 2009-03-02 | 2017-12-12 | Flir Systems, Inc. | Thermal image frame capture using de-aligned sensor array |
US10757308B2 (en) | 2009-03-02 | 2020-08-25 | Flir Systems, Inc. | Techniques for device attachment with dual band imaging sensor |
US9756264B2 (en) | 2009-03-02 | 2017-09-05 | Flir Systems, Inc. | Anomalous pixel detection |
US9986175B2 (en) | 2009-03-02 | 2018-05-29 | Flir Systems, Inc. | Device attachment with infrared imaging sensor |
US9716843B2 (en) | 2009-06-03 | 2017-07-25 | Flir Systems, Inc. | Measurement device for electrical installations and related methods |
US9843743B2 (en) | 2009-06-03 | 2017-12-12 | Flir Systems, Inc. | Infant monitoring systems and methods using thermal imaging |
US9706138B2 (en) | 2010-04-23 | 2017-07-11 | Flir Systems, Inc. | Hybrid infrared sensor array having heterogeneous infrared sensors |
US9948878B2 (en) | 2010-04-23 | 2018-04-17 | Flir Systems, Inc. | Abnormal clock rate detection in imaging sensor arrays |
US20120069218A1 (en) * | 2010-09-20 | 2012-03-22 | Qualcomm Incorporated | Virtual video capture device |
US9509924B2 (en) * | 2011-06-10 | 2016-11-29 | Flir Systems, Inc. | Wearable apparatus with integrated infrared imaging module |
US10841508B2 (en) | 2011-06-10 | 2020-11-17 | Flir Systems, Inc. | Electrical cabinet infrared monitor systems and methods |
US10389953B2 (en) | 2011-06-10 | 2019-08-20 | Flir Systems, Inc. | Infrared imaging device having a shutter |
US9058653B1 (en) | 2011-06-10 | 2015-06-16 | Flir Systems, Inc. | Alignment of visible light sources based on thermal images |
US9961277B2 (en) | 2011-06-10 | 2018-05-01 | Flir Systems, Inc. | Infrared focal plane array heat spreaders |
US9143703B2 (en) | 2011-06-10 | 2015-09-22 | Flir Systems, Inc. | Infrared camera calibration techniques |
US9706137B2 (en) | 2011-06-10 | 2017-07-11 | Flir Systems, Inc. | Electrical cabinet infrared monitor |
US10169666B2 (en) | 2011-06-10 | 2019-01-01 | Flir Systems, Inc. | Image-assisted remote control vehicle systems and methods |
US9235023B2 (en) | 2011-06-10 | 2016-01-12 | Flir Systems, Inc. | Variable lens sleeve spacer |
US9900526B2 (en) | 2011-06-10 | 2018-02-20 | Flir Systems, Inc. | Techniques to compensate for calibration drifts in infrared imaging devices |
US10051210B2 (en) | 2011-06-10 | 2018-08-14 | Flir Systems, Inc. | Infrared detector array with selectable pixel binning systems and methods |
US8335875B1 (en) * | 2011-06-24 | 2012-12-18 | Intel Corporation | System and method for performing isochronous data buffering |
US10996542B2 (en) | 2012-12-31 | 2021-05-04 | Flir Systems, Inc. | Infrared imaging system shutter assembly with integrated thermister |
US9973692B2 (en) | 2013-10-03 | 2018-05-15 | Flir Systems, Inc. | Situational awareness by compressed display of panoramic views |
US11297264B2 (en) | 2014-01-05 | 2022-04-05 | Teledyne Fur, Llc | Device attachment with dual band imaging sensor |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58125124A (ja) | 1982-01-21 | 1983-07-26 | Mitsubishi Electric Corp | パラレルバス制御装置 |
JPS59719A (ja) | 1982-06-28 | 1984-01-05 | Fujitsu Ltd | デイジ−チエ−ン |
JPS59167730A (ja) | 1983-03-14 | 1984-09-21 | Nec Corp | バス結合装置 |
JPS63223853A (ja) | 1987-03-12 | 1988-09-19 | Matsushita Electric Ind Co Ltd | バス調停回路 |
JPH01293418A (ja) | 1988-05-23 | 1989-11-27 | Hitachi Ltd | 半導体集積回路 |
US5321750A (en) * | 1989-02-07 | 1994-06-14 | Market Data Corporation | Restricted information distribution system apparatus and methods |
CA2055554C (en) * | 1990-12-11 | 1998-04-14 | John Monroe Dinwiddie, Jr. | Multimedia system |
EP0494056A3 (en) | 1990-12-31 | 1994-08-10 | Ibm | Dynamically partitionable and allocable bus structure |
JPH04284577A (ja) | 1991-03-14 | 1992-10-09 | Fujitsu Ltd | Vram制御方式 |
JPH05210481A (ja) | 1991-09-18 | 1993-08-20 | Ncr Internatl Inc | 直接アクセス式ビデオバス |
JPH0683695A (ja) | 1992-05-14 | 1994-03-25 | Sanyo Electric Co Ltd | 画像処理回路 |
JPH06250827A (ja) | 1993-02-23 | 1994-09-09 | Nippon Steel Corp | コンピュータシステム |
US5506954A (en) | 1993-11-24 | 1996-04-09 | Intel Corporation | PC-based conferencing system |
US5524110A (en) | 1993-11-24 | 1996-06-04 | Intel Corporation | Conferencing over multiple transports |
KR960003651B1 (ko) | 1993-12-24 | 1996-03-21 | 재단법인 한국전자통신연구소 | 고속 로컬버스용 통합 멀티미디어 보드회로 |
JPH07284077A (ja) | 1994-04-06 | 1995-10-27 | Matsushita Electric Ind Co Ltd | 電子会議端末 |
JP3029375B2 (ja) | 1994-06-06 | 2000-04-04 | 株式会社東芝 | コンピュータ及びコンピュータに用いられるカード |
JP3272896B2 (ja) | 1995-02-27 | 2002-04-08 | 株式会社東芝 | ポータブルコンピュータおよびそれに用いられるカード |
JP2935955B2 (ja) | 1994-06-10 | 1999-08-16 | 株式会社日立製作所 | 画像表示装置 |
US5568192A (en) | 1995-08-30 | 1996-10-22 | Intel Corporation | Method and apparatus for processing digital video camera signals |
-
1996
- 1996-10-11 JP JP26989596A patent/JP3926873B2/ja not_active Expired - Fee Related
-
1997
- 1997-10-02 EP EP97942221A patent/EP0867812A1/en not_active Withdrawn
- 1997-10-02 US US09/091,183 patent/US6297794B1/en not_active Expired - Fee Related
- 1997-10-02 WO PCT/JP1997/003516 patent/WO1998016887A1/ja not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
JPH10116064A (ja) | 1998-05-06 |
WO1998016887A1 (en) | 1998-04-23 |
EP0867812A1 (en) | 1998-09-30 |
US6297794B1 (en) | 2001-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3926873B2 (ja) | コンピュータシステム | |
US6798418B1 (en) | Graphics subsystem including a RAMDAC IC with digital video storage interface for connection to a graphics bus | |
JP3649226B2 (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
JP3636157B2 (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
US6052744A (en) | System and method for transferring concurrent multi-media streams over a loosely coupled I/O bus | |
US8601192B2 (en) | Arbitration device, arbitration system, arbitration method, semiconductor integrated circuit, and image processing device | |
EP0988756B1 (en) | Apparatus and method for controlling transfer of data between processing elements | |
US6922739B2 (en) | System and method for dual IDE channel servicing using single multiplexed interface having first and second channel transfer over a common bus | |
JP2004070571A (ja) | データ転送制御システム、電子機器、プログラム及びデータ転送制御方法 | |
JP2006259898A (ja) | I/oコントローラ、信号処理システム、およびデータ転送方法 | |
US7047330B2 (en) | System for digital stream transmission and method thereof | |
US20040189809A1 (en) | Digital imaging apparatus and method for selecting data transfer mode of the same | |
US6813654B1 (en) | Data processing apparatus having a flow control function for multi-cast transfer | |
JP3636160B2 (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
JP4408840B2 (ja) | Hddコントローラ及びそれを搭載したシステム | |
JP2006059088A (ja) | データ転送制御システム、電子機器及びプログラム | |
US20060179180A1 (en) | Signal processing apparatus, signal processing system and signal processing method | |
JP2005135269A (ja) | 電子機器 | |
JP2005026777A (ja) | 情報記録装置、その方法、そのプログラム、および、そのプログラムを記録した記録媒体 | |
US7903885B2 (en) | Data converting apparatus and method | |
US6681277B1 (en) | Data processing apparatus and data transfer control method | |
US6721832B2 (en) | Data processing system and bus control method for stream data transfer | |
JP3607384B2 (ja) | コンピュータシステムおよびこのシステムで使用されるpcカードコントローラ並びにpcカード | |
JP2942738B2 (ja) | データ復号ic | |
JP4127071B2 (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070117 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070227 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070301 |
|
LAPS | Cancellation because of no payment of annual fees |