JPH117275A - 左右のビデオ・チャネルを生成するための装置 - Google Patents

左右のビデオ・チャネルを生成するための装置

Info

Publication number
JPH117275A
JPH117275A JP10116589A JP11658998A JPH117275A JP H117275 A JPH117275 A JP H117275A JP 10116589 A JP10116589 A JP 10116589A JP 11658998 A JP11658998 A JP 11658998A JP H117275 A JPH117275 A JP H117275A
Authority
JP
Japan
Prior art keywords
frame buffer
video
buffer memory
window
pixel data
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.)
Pending
Application number
JP10116589A
Other languages
English (en)
Inventor
Daniel E Yee
ダニエル・イー・イー
Robert W Cherry
ロバート・ダブリュー・チェリー
Byron A Alcorn
バイロン・エー・アルコーン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH117275A publication Critical patent/JPH117275A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/189Recording image signals; Reproducing recorded image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/324Colour aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/15Processing image signals for colour aspects of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/167Synchronising or controlling image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/286Image signal generators having separate monoscopic and stereoscopic modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/334Displays for viewing with the aid of special glasses or head-mounted displays [HMD] using spectral multiplexing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/337Displays for viewing with the aid of special glasses or head-mounted displays [HMD] using polarisation multiplexing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/341Displays for viewing with the aid of special glasses or head-mounted displays [HMD] using temporal multiplexing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/398Synchronisation thereof; Control thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)
  • Digital Computer Display Output (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

(57)【要約】 【課題】1つのみのフレームバッファを使用してコンピ
ュータ・グラフィックス・システムから左右の立体画像
を生成する。 【解決手段】1つのみのフレームバッファ・メモリを使
用して立体表示装置を駆動する左右のビデオ・チャネル
生成装置であって、フレームバッファ・メモリの第1、
2のウィンドウを定義するためのウィンドウ回路と、ピ
クセルデータに応答してビデオフォーマット信号を呈示
する第1および第2のビデオ・エンコーダ・システム
と、フレームバッファ・メモリの第1、2のウィンドウ
から読み出されたピクセルデータを第1、2のビデオ・
エンコーダ・システムのピクセルデータ入力に与えるよ
う動作するステレオ出力システムと、第1、2のビデオ
・エンコーダ・システムのビデオ信号出力において呈示
されるビデオフォーマット信号とを含む左右のビデオ・
チャネル生成装置。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ・デ
ィスプレイ・システムに関し、より具体的には立体的に
画像を表示するコンピュータ・ディスプレイ・システム
に関する。
【0002】
【従来の技術】立体表示の方法は、観察者に画像の奥行
きを感知させることができる。これは、観察者の眼のそ
れぞれに対して1つ、すなわち同じシーンの2つの異な
るビュー(view)を独立に呈示することにより成される。
2つの画像の視点が人間の2つの眼の間の距離と同じ距
離により空間において分離されると、観察者に対する効
果は非常に確信的な3次元の視覚的体験となる。
【0003】立体表示の多様な方法がこの効果を生み出
すのに用いられてきた。1つの一般的な方法は、特殊な
アイウェア(eyewear)を有する1つのディスプレイを用
い、観察者の眼のそれぞれに対して異なるように表示さ
れた画像を変化させる。このようなアイウェアの例は、
そのレンズが異なるカラー・フィルタ、異なる偏光フィ
ルタ、またはシャッターから構成される眼鏡を含み、表
示された画像の変化に同期して観察者の左と右の眼のビ
ューを交互にふさぐ。たとえば、Liptonらの米国特許番
号第5572250号、「Universal Electronic Stereoscopic
Display」に例がある。下位機種のシステムが使用され
ると、このようなめがねは画像の観察者の感知にフリッ
カやかすみ(blurring)のような望ましくない視覚的な
加工をときどき加えてしまう。
【0004】他の知られた立体表示の方法は、観察者の
眼のそれぞれに対して別個のディスプレイを用いる。こ
の方法は本来、単一ディスプレイ・システムにおいて必
要とされる特殊なアイウェアに関連する多くのフリッカ
やかすみを除去する。他方で、2重ディスプレイ・シス
テムは別個ではあるが同時に起こる左右の画像を生成す
るのに必要なハードウェアを2重にするため、法外に高
価である。
【0005】例として米国特許番号第5488952号の「Ste
reoscopically Display Three Dimensional Ultrasound
Imaging」は、2つのディスプレイのみならず2つのデ
ィスプレイ・ドライバ、2つのグラフィックス・コント
ローラ、2つの画像コンピュータ、2つの画像メモリを
有するシステムを開示する。同様に、米国特許番号第54
93595号もまた、2つのディスプレイおよび2つの表示
プロセッサを有するシステムを開示する。これらのシス
テムの両方とも、ポリゴン(polygon、多角形)データ
が左と右の画像について独立的に生成され、2重の左と
右のハードウェアのパイプラインが別個にかつ同時に使
用され、左と右のポリゴンデータをラスタ処理して表示
する。よって、これらの設計は2重のフレーム・バッフ
ァおよびそれに見合う追加の費用を必要とする。
【0006】さらなる例は米国特許番号第5523886号のJ
ohnson-Williamsらの「Stereoscopic/Monoscopic Video
Display System」であり、2つの別個にアドレッシン
グ可能なフレームバッファおよび2つのビデオフォーマ
ット表示を有する。2つのフレームバッファのうちの1
つは左の画像に対応するラスタ処理されたピクセルデー
タを含み、もう1つのフレームバッファは右の画像に対
応するラスタ処理されたピクセルデータを含む。1つの
ビデオ・エンコーダは左右のピクセルデータを時分割マ
ルチプレクス方式でビデオフォーマットの信号に変換す
るのに使用される。2つのディスプレイ装置は、ビデオ
・エンコーダによる左と右の信号の出力を交互にするこ
とに同期して交互に使用可能と不可能になる。このシス
テムは2重のフレームバッファの費用を追加するだけで
なく、潜在的に画像にフリッカを加え、左と右の表示の
義務的なサイクルを交互にすることにより見る者に疲労
を起こさせる。代わってJohnson-Williamsは、「ビデオ
・エンコーダが必要な時に左のビューまたは右のビュー
を提供するのに十分な速さでビデオ信号のソースが1つ
のフレームバッファのデータを変更または交換する場
合」と記述し(コラム3、24から27行)、1つのフレー
ムバッファがこのようなシステムで使用されることがで
きることを提案している。よって1つのフレームバッフ
ァの実施形態はJohnson-Williamsにより教示され、左と
右のビューはフレームバッファにおいて交互にさせられ
る。このような解決方法は左と右の表示の潜在的なリフ
レッシュを50%ずつ減少させ、ふたたび潜在的にフリ
ッカの原因を起こし、見る者を疲れさせる。
【0007】別個のフレームバッファが左と右の画像を
保管するのに使用される解決方法の他の例が、シリコン
・グラフィックス社(Silicon Graphics Inc.、商標、ON
YX,CRIMSON)により販売された2つの製品に見つける
ことができる。繰り返すが、このような解決方法は左と
右のチャネルについての2重のフレームバッファのハー
ドウェアを必要とし、高価である。
【0008】
【発明が解決しようとする課題】本発明の目的は、1つ
のみのフレームバッファおよび1つの従来のグラフィッ
クス・パイプラインを利用するコンピュータ・グラフィ
ックス・システムから左右の立体画像を生成するための
システムと方法を提供する。
【0009】また、本発明の目的は、左と右のビューの
表示を交互にすることなく、またはビューを表示するデ
ィスプレイ装置の通常のリフレッシュ速度を下げること
なく、同時に起こりかつ連続的な両方の眼によるビュー
イング(viewing)を可能にすることである。
【0010】
【課題を解決するための手段】ある実施形態において
は、本発明は左右のビデオ・チャネルを生成するための
システムを含み、コンピュータ・グラフィックス・パイ
プラインの1つのみのフレームバッファ・メモリを使用
して立体表示装置を駆動する。ウィンドウ回路はフレー
ムバッファ・メモリ内の第1と第2のウィンドウを定義
するために提供される。第1と第2のウィンドウは、立
体画像の左と右のビューにそれぞれ対応するピクセルデ
ータを保管する。第1と第2のビデオ・エンコーダもま
た提供される。それぞれのビデオ・エンコーダ・システ
ムは、ピクセルデータの入力に応答してビデオフォーマ
ットの信号を出力するよう動作する。ステレオ出力シス
テムはフレームバッファ・メモリ、ウィンドウ回路、第
1と第2のビデオ・エンコーダ・システムに接続され
る。ステレオ出力システムは、第1のビデオ・エンコー
ダ・システムのピクセルデータ入力にフレームバッファ
・メモリ内の第1のウィンドウから読み込まれるピクセ
ルデータを与えるよう動作し、かつ第2のビデオ・エン
コーダ・システムのピクセルデータ入力にフレームバッ
ファ・メモリ内の第2のウィンドウから読み込まれるピ
クセルデータを与えるよう動作する。この方法では、第
1と第2のビデオ・エンコーダ・システムによる出力で
あるビデオフォーマット信号が、左右のビデオ・チャネ
ルを表す。
【0011】他の実施形態においては、本発明は左右の
ビデオ・チャネルを生成するための方法を含み、コンピ
ュータ・グラフィックス・パイプラインの1つのみのフ
レームバッファ・メモリを使用して立体表示装置を駆動
する。第1と第2のウィンドウはフレームバッファ・メ
モリ内に割り振られ、左と右の画像に対応するピクセル
データは第1と第2のウィンドウ内にそれぞれ保管され
る。又、位置およびサイズの情報がメモリ装置に保管さ
れる。位置およびサイズの情報は、第1と第2の割り振
られたウィンドウの位置とサイズに対応する。ピクセル
データがフレームバッファ・メモリから連続して読み出
されるので、フレームバッファ・メモリから読み出され
る時にピクセルの座標の追跡を維持するように、Xカウ
ントおよびYカウントが記録される。所与のピクセルに
ついてのXカウントおよびYカウントは、保管された位
置およびサイズの情報と比較される。この比較の結果に
基づいて、所与のピクセルが第1のウィンドウまたは第
2のウィンドウのどちらに対応するか、またはどちらの
ウィンドウにも対応しないかについて判断がなされる。
さらなる実施形態においては、所与のピクセルが第1の
ウィンドウに対応するときは、所与のピクセルに対応す
るピクセルデータが第1のビデオ・エンコーダへの出力
となる。また、所与のピクセルが第2のウィンドウに対
応するときは、所与のピクセルに対応するピクセルデー
タが第2のビデオ・エンコーダへの出力となる。所与の
ピクセルが第1および第2のウィンドウのどちらにも対
応しない場合は、所与のピクセルに対応するピクセルデ
ータは第1および第2のビデオ・エンコーダのどちらへ
の出力ともならない。
【0012】
【発明の実施の形態】図1は本発明の好ましい実施形態
によるコンピュータ・システムを示し、立体表示システ
ムを備える。コンピュータ・システム10は、CPU、
メモリ、ディスク・ドライブ、キーボードやマウスのよ
うな入力装置を有するワークステーション、パーソナル
・コンピュータ(PC)のような任意の通常のコンピュ
ータ・システムであることができる。コンピュータ・シ
ステム10は、バス14を介して任意のグラフィックス
処理システム12に接続される。最も上位機種のアプリ
ケーションにおいては、グラフィックス処理システム1
2が存在し、たとえば少なくとも1つの幾何学用のアク
セラレータおよび場合によってはテクスチャ・マッピン
グのハードウェアを含む。このようなアプリケーション
では、コンピュータ・システム10はポリゴンデータを
グラフィックス処理システム12に書き込む。グラフィ
ックス処理12はポリゴンデータをラスタ処理し、対応
するピクセルデータをフレームバッファ・メモリ16に
書き込む。下位機種のアプリケーションでは、コンピュ
ータ・システム10がピクセルデータを直接フレームバ
ッファ・メモリ16に書き込むことができる。好ましい
実施形態においては、フレームバッファ・メモリ16
は、1280x1024ピクセルまたは1600x1200ピクセルの解
像度に対応するデータを入れるほどに十分大きいが、よ
り大きいまたはより小さいメモリを、より高いまたはよ
り低い解像度を入れるのに使用することができる。D/
Aコンバーター(DACという)モジュール18は、フ
レームバッファ・メモリ16に保管されるピクセルデー
タを継続的に読み出し、そのデータを対応するアナログ
信号R、G、Bに変換する。RGB信号は水平および垂
直同期信号と一緒に使用され、従来の方法でRGBモニ
ター20を駆動する。グラフィックス処理システム1
2、フレームバッファ・メモリ16、DAC18、RG
Bモニター20は、一緒に1つのコンピュータ・グラフ
ィックスの「パイプライン」を構成する。
【0013】また、コンピュータ・システム10は、バ
ス14を介してウィンドウ回路22およびステレオ出力
システム24に接続される。ステレオ出力システム24
のピクセルデータ入力25はバス26を介して接続さ
れ、フレームバッファ・メモリ16から出てDAC18
へ行く途中でピクセルデータを受信する。ステレオ出力
システム24のピクセルデータ出力28、30は、示さ
れるように左と右のビデオ・エンコーダ32、34のピ
クセルデータ入力36、38に接続される。左と右のビ
デオ・エンコーダ32、34はビデオ信号出力40、4
2を有する。通常の立体表示装置44は、2つのビデオ
フォーマット表示46、48を含むことが好ましい。ビ
デオフォーマット表示46、48のそれぞれは、示され
るように左と右のビデオ・エンコーダ32、34の1つ
に接続される。同期信号は、50で示されるように左と
右のビデオ・エンコーダ32、34の間を通る。好まし
い実施形態においては、ウィンドウ回路22、ステレオ
出力システム24、DACモジュール18は、1つの集
積回路パッケージ60内に形成される。
【0014】1つのみのフレームバッファを有する従来
技術のシステムにおいては、コンピュータ・システム1
0およびグラフィックス処理システム12はフレームバ
ッファ・メモリ16を1度満たし、左の画像の1フレー
ムを書き込む。この左の画像フレームが表示されてか
ら、コンピュータ・システム10およびグラフィックス
処理システム12は再びフレームバッファ・メモリ16
を満たし、右の画像の1フレームを書き込む。この右の
画像フレームが表示された後で、処理が繰り返される。
しかし本発明の実施形態においては、コンピュータ・シ
ステム10およびグラフィックス処理システム12は、
1度フレームバッファ・メモリ16を満たし、左と右の
両方の画像の1フレームを書き込む。左の画像フレーム
はフレームバッファ・メモリ16のウィンドウ52に書
き込まれ、右の画像フレームはフレームバッファ・メモ
リ16のウィンドウ54に書き込まれる。フレームバッ
ファの全体の内容が表示されてから、処理が繰り返され
る。次にフレームバッファ・メモリ16を満たすとき
に、左の画像の次のフレームがウィンドウ52に書き込
まれ、右の画像の次のフレームがウィンドウ54に書き
込まれる。結果としてウィンドウ52および54の両方
が、56と58に示されるようにRGBモニター20に
表示される。よって、モニター20を見る観察者は同じ
画面上で同時に表示される左と右の両方の画像を見るこ
とができる。
【0015】RGBモニター20の表示のため順次に1
回につき1行フレームバッファ・メモリ16からピクセ
ルデータが読み出されるので、ステレオ出力システム2
4の第1の機能は、2つのウィンドウ52および54に
対応する各行のピクセルデータを選び出すことである。
ウィンドウ52に対応するピクセルデータはピクセルデ
ータ出力28に送られ、ウィンドウ54に対応するピク
セルデータはピクセルデータ出力30に送られる。この
方法で、ウィンドウ52の内容(左の画像)は常にビデ
オフォーマット表示48に表示され、ウィンドウ54の
内容(右の画像)は常にビデオフォーマット表示46に
表示される。よって、左と右の画像の両方がRGBモニ
ター20に同時に表示され、立体表示装置44を有する
観察者は左の眼で左の画像を見、右の眼で右の画像を見
る。さらに、立体表示の左右の画像についてのリフレッ
シュ速度が、従来技術のシステムのように50%ずつ減
少することもない。
【0016】上位機種の実施形態においては、第2のフ
レームバッファ・メモリ17を備えることにより2重の
バッファリングを用いることができる。このような実施
形態においては、ウィンドウ52および54が、フレー
ムバッファ・メモリ17に同類の対応するウィンドウを
有する。フレームバッファ・メモリ16のウィンドウ5
2、54に含まれる左と右の画像のフレームが表示され
ている間、次の左と右の画像フレームがフレームバッフ
ァ・メモリ17の同類の対応するウィンドウに描写され
ることができる。フレームバッファ・メモリ16の内容
の表示が完了すると、2つのフレームバッファ・メモリ
を通常の方法で交換(スワップ)することができ、これ
により次の左と右の画像フレームがウインドウ52、5
4に描写される間に、フレームバッファ・メモリ17の
内容を表示することができる。
【0017】通常RGBモニターには、フレームバッフ
ァ・メモリ16の内容が1度に1行順番に表示される。
しかし、ほとんどのビデオフォーマット表示装置が、行
がインターレースされた(interleced、飛び越された)
やり方で表示される。言い換えると、すべての偶数行が
表示されたあとにすべての奇数行が表示され、この処理
が繰り返される。ビデオフォーマット表示46、48が
インターレース・モードで機能すると、表示の行が順次
的の代わりにインターレースされたやり方(すなわち、
偶数行の後に奇数行)でビデオ・エンコーダ32、34
に送り込まれるように、ステレオ出力システム24の第
2の機能が左と右の画像に対応するピクセルデータの表
示の行を再調整する。ノン・インターレースからインタ
ーレースへの変換が必要とされる好ましい実施の形態
は、以下のように動作する。すなわち、フレームバッフ
ァ・メモリ16におけるピクセルデータのすべての走査
行のDACモジュール18による最初の完全な読み込み
がなされると、偶数行のみがステレオ出力システム24
により取り込まれ、これらの行の適切な部分がビデオ・
エンコーダ32、34に送られる。その後、フレームバ
ッファ・メモリ16におけるピクセルデータのすべての
走査行のDACモジュール18による次の完全な読み込
みにおいて、奇数行のみがステレオ出力システム24に
より取り込まれ、これらの行の適切な部分がビデオ・エ
ンコーダ32、34に送られ、この処理が繰り返され
る。他の実施形態では、より速いドット・クロックまた
は異なるビデオフォーマットを使用することにより、フ
レームバッファ・メモリ16のそれぞれの完全な走査の
偶数および奇数の両方の行がステレオ出力システム24
により取り込まれることができ、ビデオ・エンコーダ3
2、34に出力される。
【0018】本発明による1つのフレームバッファから
同時に左右の画像を生成するためのスケーリング(scal
ing)およびフリッカ防止の操作は絶対必要というわけ
ではないが、上位機種の実施形態においてはステレオ出
力システム24の第3の機能が、立体表示装置44に表
示されるべきピクセルデータにこのようなスケーリング
およびフリッカ防止の操作を実行する。インターレース
されていない(ノン・インターレースな)ピクセルデー
タを、偶数/奇数のインターレースされたフォーマット
に変換することについてと同様に、このようなスケーリ
ングおよびフリッカ防止の操作の実行についての好まし
い方法および装置が米国特許出願第08/626735号、1996
年4月2日「Video Interface System and Method」に記
述されており、ここで参照により取り入れる。
【0019】図2に示されるように、フレームバッファ
・メモリ16はn*mのピクセルを含み、最上左端が
(0,0)ピクセル、最下右端が(n,m)ピクセルで
ある。ウィンドウ52の位置は、その最上左端のピクセ
ルの座標により指定することができ、W1(x)、W1
(y)で表す。ウィンドウ54の位置は、その最上左端の
ピクセルの座標により指定することができ、W2(x)、
W2(y)で表す。ウィンドウ52、54のサイズは、そ
れぞれのxとyの範囲におけるピクセルの数により指定
することができる。
【0020】ステレオ出力システム24が、フレームバ
ッファ16から読み出される行のどのピクセルデータが
左と右の画像に対応するかを判断するという第1の機能
を達成するため、3つのレジスタがウィンドウ回路22
に提供される。図3に示されるように、ウィンドウ回路
22は、video_out_position_1レジスタ62、video_ou
t_position_2レジスタ64、video_out_sizeレジスタ6
6を含む。コンピュータ・システム10で実行するソフ
トウェアは、ステレオ出力システム24にウィンドウ5
2、54のサイズと位置を示すために、データをレジス
タ62、64、66に書き込む。具体的にいうと、W1_X
_POSITIONビット・フィールド、W2_X_POSITIONビット・
フィールドに保管される数が、それぞれウィンドウ5
2、54の最も左のピクセルについての列番号である。
同様に、W1_Y_POSITIONビット・フィールド、W2_Y_POSI
TIONビット・フィールドに保管される数が、それぞれウ
ィンドウ52、54における最も上のピクセルについて
の行番号である。好ましい実施形態においては、ウィン
ドウ52、54のサイズがともに同じである。よって、
1つのvideo_out_sizeレジスタ66のみが必要となる。
X_SIZEビット・フィールドに保管される数はウィンドウ
におけるピクセルの列数であり、Y_SIZEビット・フィー
ルドに保管される数はウィンドウにおけるピクセルの行
数である。他の実施形態において、ウィンドウ52と5
4のサイズまたはバランスが互いに異なることを望む場
合には、より多くのレジスタを備えることができる。こ
れらのレジスタに置かれるサイズの値は、任意のスケー
リングの操作が実行された後のウィンドウのサイズに対
応することが好ましい。2つのビデオの位置レジスタに
おける「e」ビットが、許可ビット(enable bits)であ
る。もしゼロなら、ステレオ出力システム24はビデオ
・エンコーダ32、34にいかなるピクセルデータも出
力しない。もし1なら、ステレオ出力システム24はビ
デオ・エンコーダ32、34にピクセルデータを出力す
ることができる。
【0021】ウィンドウサイズの所与の選択について
は、通常はただ1つの選択がウィンドウの寸法に適して
いる。これらの寸法は、NTSC、PAL、SECAM
のようなビデオフォーマット表示46、48を駆動する
のに使用されるべき特定のビデオフォーマットにより規
制される。さらに、xとyのスケーリング(scaling)を
利用する実施形態においては、画面46および48に適
合するウィンドウの画像を形づくる時にステレオ出力シ
ステム24により使用されるべき適切なxとyのスケー
リング・ファクタが、そのウィンドウのために選択され
たサイズと寸法により規制される。よって、たとえば
2:1のスケール・ファクタがxとyについて使用さ
れ、NTSCフォーマットがビデオ・エンコーダ32、
34の出力の際に望まれると、フレームバッファ・メモ
リ16のウィンドウ52、54の実際のサイズは1280x
960ピクセルであり、video_out_sizeレジスタ66に保
管されるxとyのサイズの値はX_SIZE=640、Y_SIZE=480
ピクセルである。
【0022】図4は、フレームバッファ・メモリ16を
出てDACモジュール18に入るときにクロック(cloc
k)されるピクセルデータのクロッキング(clocking)を追
跡するのに使用される好ましいカウンタのセットを示
す。ウィンドウ52については、xオフセット・カウン
タ400、yオフセット・カウンタ402、xサイズ・
カウンタ404、yサイズ・カウンタ406が提供され
る。ウィンドウ54については、xオフセット・カウン
タ408、yオフセット・カウンタ410、xサイズ・
カウンタ412、yサイズ・カウンタ414が提供され
る。操作では、xオフセット・カウンタ400はW1_X_P
OSITIONに対応するオフセット値でロードされ、yオフ
セット・カウンタ402はW1_Y_POSITIONに対応するオ
フセット値でロードされる。xサイズ・カウンタ404
はX_SIZEに対応する値でロードされ、yサイズ・カウン
タ406はY_SIZEに対応する値でロードされる。同様
に、xオフセット・カウンタ408は、W2_X_POSITION
に対応するオフセット値でロードされ、yオフセット・
カウンタ410はW2_Y_POSITIONに対応するオフセット
値でロードされる。xサイズ・カウンタ412はX_SIZE
に対応する値でロードされ、yサイズ・カウンタ414
はY_SIZEに対応する値でロードされる。
【0023】xオフセット・カウンタは行ベースにリセ
ットされ、フレームバッファ・メモリ16からクロック
されるそれぞれのピクセルについて1回ディクリメント
(decrement)される。yオフセット・カウンタはフレー
ムベースにリセットされ、フレームバッファ・メモリ1
6からクロックされるピクセルのそれぞれの行について
1回ディクリメントされる。減算および同等記号を含む
ブロックにより示されるように、カウンタのそれぞれは
比較機能を備えており、それぞれのカウントが達した時
に「done」信号を出力する(図では、タイミングを考慮
して出力が「early done」信号として示され、それぞれ
のカウントが達する1クロック前に出力が生成され
る)。以下に詳細を記述するように、「done」信号は、
バス26に現れるピクセルデータが、左の画像のウィン
ドウ52に対応するかどうか、右の画像のウィンドウ5
4に対応するかどうか、またはどちらにも対応しないか
どうかを判断するのに使用される。
【0024】図5はステレオ出力システム24およびビ
デオ・エンコーダ32、34の間の好ましいインターフ
ェースを示す。示されるように、ビデオ・エンコーダ3
2、34のそれぞれはフィールド・メモリ・バンク0お
よびフィールド・メモリ・バンク1を含む。各ビデオ・
エンコーダにおけるこれら2つのフィールド・メモリ・
バンクは、エンコーダに入力されるピクセルデータにつ
いてFIFOを構成する。インターレースされた表示フ
ォーマットについては、偶数の走査行がステレオ出力シ
ステム24によりFIFOに最初に書き込まれ、次に奇
数の走査行が続く(上に記述したように)。24ビット
のデータ・バスVO_DATA[23:0]が両方のビデオ
・エンコーダ32、34に接続される。同様に、リセッ
ト・ラインWRST_Nに加え、ライト・クロック(write cl
ock)WCK[0]およびWCK[1]が両方のエンコーダ
に接続される。WCK[0]はフィールド・メモリ・バン
ク0に対するライト・クロックであり、WCK[1]はフ
ィールド・メモリ・バンク1に対するライト・クロック
である。WRST_Nはすべてのフィールド・メモリに
おいてFIFOの最初の位置に書き込みポインタをリセ
ットする。WE_N[0]はビデオ・エンコーダ34にの
み接続され、WE_N[1]はビデオ・エンコーダ32に
のみ接続される。これらは、バスVO_DATAを通り
ビデオ・エンコーダ32、34にそれぞれ対応するフィ
ールド・メモリへのピクセルデータの書き込みを制御す
る許可信号(enable signals)である。VO_FIELD
信号は、どのフィールドがビデオ・エンコーダ34、3
2により現在表示されているのか、またどのフィールド
がステレオ出力システム24により使用されるのかを示
し、ビデオ・エンコーダ34、32にピクセルデータの
書き込みのタイミングを制御する(奇数行が表示されて
いる間に奇数行を書き込まないように、また偶数行が表
示されている間に偶数行を書き込まないように)。
【0025】次に続く説明のため、DACモジュール1
8によってフレームバッファ・メモリからピクセルが読
み出される時の速度を、「ドット・クロック」速度と呼
ぶ。実施形態において、ステレオ出力システム24によ
りピクセルがビデオ・エンコーダ32、34に送られる
時の速度(1回につき1つのビデオ・エンコーダへ書き
込む)は、ドット・クロック速度の1/4である。各行
からの偶数のピクセルがフィールド・メモリ・バンク0
に書き込まれ、奇数のピクセルはフィールド・メモリ・
バンク1に書き込まれる。これは、WCK[0]とWCK
[1]を互いに180度位相をずらすことにより(図6に
示す)、かつそれらの周波数をドット・クロックの周波
数の1/8に設定することにより達成される。この方法
では、フィールド・メモリ書き込みがドット・クロック
に合わせてペースを維持することができる。インターレ
ースされたビデオフォーマットについては、フレームバ
ッファ・メモリ16のそれぞれの走査の偶数または奇数
の行のみを取り込むことにより(上に記述したよう
に)、ドット・クロックとステレオ出力システム24の
ピクセル出力速度の速度差はほとんど問題を生じさせな
い。さらに、ウィンドウ52と54は通常x方向におい
てフレームバッファほど長くなく、またステレオ出力シ
ステムはウィンドウに対応するピクセルを出力しさえす
ればよいので、追加の「追いつく」時間をステレオ出力
システム24が利用することができる。最後に、バッフ
ァをステレオ出力システム24に使用して、残っている
速度差の問題を解決することができる。ある実施形態に
おいては、1024ピクセル(それぞれが関連する24ビッ
トのカラー情報を有する)までのバッファリングをする
ことができたFIFOバッファが提供された。
【0026】ステレオ出力システムのインターフェース
の詳細について上に記述したのとは別に、ビデオ・エン
コーダ32、34のそれぞれは通常の方法で実現するこ
ともでき、たとえばフィリップス・セミコンダクター社
(Philips Semiconductor,Inc.)により製造され販売され
たSAA7199Bデジタル・ビデオ・エンコーダ・チ
ップのような既製の構成要素に基づくことができる。図
1のバス50に示されるように、SAA7199Bチッ
プはスレーブ・モードを使用し、かつ1つのビデオ・エ
ンコーダからの同期出力を他のビデオ・エンコーダの同
期入力へ送り、互いに同期した動作を起こすことができ
る。これは、互いに同期するべき両方のビデオフォーマ
ット表示46と48においてリフレッシュ・サイクルを
引き起こすという点で好ましい。
【0027】ステレオ出力システム24の中の状態機構
および制御ブロックについては、図7から11を参照す
ることにより以下に詳細に記述する。
【0028】1.ビデオアウト制御ブロック(Video Out
Control Block) ビデオアウト制御ブロックは2つの状態機構、すなわち
フィールド・ペーシング制御状態機構(field pacing co
ntrol state machine)とフィールド・メモリ・ライト制
御状態機構(field memory write control state machin
e)から構成される。またビデオアウト制御ブロックは、
図7で示されるようなビデオアウト・カウンタを使用す
る。
【0029】フィールド・ペーシング制御状態機構 フィールド・ペーシング制御状態機構の機能は、エンコ
ーダ32、34へのピクセルデータの偶数または奇数行
の出力を制御することである。エンコーダが奇数フィー
ルドを表示しているとき、状態機構は偶数行がフィール
ド・メモリに書き込まれることができるという信号を送
り、この逆も同様である。データ書き込みのこのペース
を調整することは、表示される画像において加工したも
のを「引き裂くこと」を最小限にすることでなされる。
任意の適した論理メカニズムを、フィールド・ペーシン
グ制御状態機構を実現するのに使用することができる。
好ましい実施形態では、フィールド・ペーシング制御状
態機構は図8に示されるような状態図に従って実行され
る。図8に示されるような状態機構の状態遷移は、フレ
ームバッファ・メモリ16から読み出されるデータのそ
れぞれのフレームの頭の部分で生じる(すなわち、vbla
nk_nの正エッジ(posedge)で)。すべての他の状態機構
の状態遷移は、ドット・クロックに同期して生じる。状
態図に示される信号についての説明は以下の表1に示
す。
【0030】
【表1】
【0031】フィールド・メモリ・ライト制御状態機構 フィールド・メモリ・ライト制御状態機構の機能は、ラ
イト・クロックWCK[1:0]を生成することと、グロ
ーバルなライト・イネーブル信号WriteEnable_nを生成
することであり、WE_N[0]およびWE_N[1]を生
成するビデオアウト・イネーブル制御ブロックからのWi
ndowState信号でゲート制御される。任意の適した論理
メカニズムを、フィールド・メモリ・ライト制御状態機
構を実行するために使用することができる。好ましい実
施形態においては、フィールド・メモリ・ライト制御状
態機構は図9に示される状態図に従って実行される。状
態図に示される信号についての説明を表2に示す。
【0032】
【表2】
【0033】2.ビデオアウト・イネーブル制御ブロッ
ク(Video Out Enable Control Block) ビデオアウト・イネーブル制御ブロックの機能は、図5
に示されるような書き込み許可信号(write enable sign
als)を生成することである。任意の適した論理メカニズ
ムを、ビデオアウト・イネーブル制御ブロックを実行す
るのに使用することができる。好ましい実施形態におい
ては、図10および図11に示される2つの状態機構か
ら構成される。状態図に示される信号についての説明
は、以下の表3に示す。
【0034】
【表3】
【0035】3.ウィンドウ位置制御ブロック(Window
Position Control Block) ウィンドウ位置制御ブロックは図4に示されるカウンタ
信号を生成し、さらにカウンタのロードおよびディクリ
メントを制御する。任意の適した論理メカニズムを、以
下のVERILOGコードにしたがって実行することができる
(表4)。
【0036】
【表4】 //====================================================================== // カウンタのDone信号 //====================================================================== reg XOffsetDone; reg YOffsetDone; reg XSizeDone; reg YSizeDone; reg XOffsetDone1; reg YOffsetDone1; reg XSizeDone1; reg YSizeDone1; reg VidOutDone; reg EarlyVidOutDone; reg EarlyEarlyVidOutDone; reg VidOutTileDone; always @(negedge dot_clk_n) begin //=================================================================== // ウィンドウ0のカウンタ //=================================================================== if (dec_XOffsetCtr) XOffsetDone <= earlyXOffsetDone; else if (set_XOffsetCtr) XoffsetDone <= vop_x_zero; if (dec_YOffsetCtr) YOffsetDone <= earlyYOffsetDone; else if (set_YOffsetCtr) YOffsetDone <= vop_y_zero; if (dec_XSizeCtr) XSizeDone <= earlyXSizeDone; else if (set_XSizeCtr) XSizeDone <= vos_x_zero; if (dec_YSizeCtr) YSizeDone <= earlyYSizeDone; else if (set_YSizeCtr) YSizeDone <= vos_y_zero; //=================================================================== // ウィンドウ1のカウンタ //=================================================================== if (dec_XOffsetCtr1) XOffsetDone1 <= earlyXOffsetDone1; else if (set_XOffsetCtr1) XOffsetDone1 <= vop1_x_zero; if (dec_YOffsetCtr1) YOffsetDone1 <= earlyYOffsetDone1; else if (set_YOffsetCtr1) YOffsetDone1 <= vop1_y_zero; if (dec_XSizeCtr1) XSizeDone1 <= earlyXSizeDone1; else if (set_XSizeCtr1) XSizeDone1 <= vos_x_zero; if (dec_YSizeCtr1) YSizeDone1 <= earlyYSizeDone1; else if (set_YSizeCtr1) YSizeDone1 <= vos_y_zero; //=================================================================== // Video Out(ビデオ出力)カウンタ //=================================================================== if (st_reset_n == O) begin EarlyEarlyVidOutDone <= O; EarlyVidOutDone <= O; VidOutDone <= O; end else if (dec_VidOutCtr) begin EarlyEarlyVidOutDone <= EarlyEarlyEarlyVidOutDone; EarlyVidOutDone <= EarlyEarlyVidOutDone; VidOutDone <= EarlyVidOutDone; end else if (set_VidOutCtr) VidOutDone <= vos_x_zero; //=================================================================== // Video Out Tile Done //=================================================================== VidOutDoneTileDone <= VidOutDone | EarlyVidOutDone | EarlyEarlyVidOutDone | EarlyEarlyEarlyVidOutDone; end //====================================================================== // set_XOffsetCtr & dec_XOffsetCtrのコード化 //====================================================================== reg set_XOffsetCtr; reg dec_XOffsetCtr; always @(st_reset_n or pos_hsync_n or st_hblank_n or XOffsetDone or YOffsetDone or YSizeDone) begin if (st_reset_n == 0) begin set_XOffsetCtr = 1; dec_XOffsetCtr = 0; end //=================================================================== // hsync_nの正エッジでXOffsetをプレロード //=================================================================== else if (pos_hsync_n) begin set_XOffsetCtr = 1; dec XOffsetCtr = 0; end //=================================================================== // 「Videoがアクティブ」かつ「YOffset done」かつ「 XOffset not done」の時、 // XOffsetをディクリメント //=================================================================== else if (st_hblank_n && !XOffsetDone && YOffsetDone && !YSizeDone) begin set_XOffsetCtr = 0; dec_XOffsetCtr = 1; end else begin set_XOffsetCtr = 0; dec_XOffsetCtr = 0; end end //====================================================================== // set_YOffsetCtr & dec_YOffsetCtrのコード化 //====================================================================== reg set_YOffsetCtr; reg dec_YOffsetCtr; always @(st_reset_n or pos_vblank_n or st_vblank_n or neg_hblank_n or YOffsetDone) begin if (st_reset_n == 0) begin set_XOffsetCtr = 1; dec_YOffsetCtr = 0; end //=================================================================== // vblank_nの正エッジでYOffsetをプレロード //=================================================================== else if (pos_vblank_n) begin set_YOffsetCtr = 1; dec_YOffsetCtr = O; end //=================================================================== // 「videoがアクティブ」かつ「YOffset not done」かつ「hblank_nがネガティブ // ・エッジ」の時、YOffsetをディクリメント //=================================================================== else if (st_vblank_n && neg_hblank_n && !YOffsetDone) begin set_YOffsetCtr = O; dec_YOffsetCtr = 1; end else begin set_YOffsetCtr = O; dec_YOffsetCtr = O; end end //====================================================================== // set_XSizeCtr & dec_XSizeCtrのコード化 //====================================================================== reg set_XSizeCtr; reg dec_XSizeCtr; always @(st reset_n or pos_hsync_n or XFPixelValid or XSizeDone or vop_e ) begin if (st_reset_n == 0) begin set_XSizeCtr =1; dec_XSizeCtr =0; end //=================================================================== // hsync_nの正エッジでXSizeをプレロード //=================================================================== else if (pos_hsync_n) begin set XSizeCtr = 1; dec_XSizeCtr = 0; end //=================================================================== // XFilterがピクセルを出力するとき、XSizeをディクリメント //=================================================================== else if (XFPixelValid && !XSizeDone && vop_e) begin set_XSizeCtr = 0; dec_XSizeCtr = 1; end else begin set_XSizeCtr = 0: dec_XSizeCtr = 0; end end //====================================================================== // set_YSizeCtr & dec_YSizeCtrのコード化 //====================================================================== reg set_YSizeCtr; reg dec_YSizeCtr; always @(st_reset_n or pos_vblank_n or YFLineDone or YOffsetDone or YSizeDone or vop_e) begin if (st_reset_n == O) begin set_YSizeCtr = 1; dec_YSizeCtr = 0; end //=================================================================== // vblank_nの正エッジでYSizeをプレロード //=================================================================== else if (pos_vblank) begin set_YSizeCtr = 1; dec_YSizeCtr = 0; end //=================================================================== // YFilterが行を出力するとき、YSizeをディクリメント //=================================================================== else if (YFLineDone && YOffsetDone && !YSizeDone && vop_e) begin set_YSizeCtr = 0; dec_YSizeCtr = 1; end else begin set_YSizeCtr = 0; dec_YSizeCtr = 0; end end //====================================================================== // set_XOffsetCtr1 & dec_XOffsetCtr1のコード化 //====================================================================== reg set_XOffsetCtr1; reg dec_XOffsetCtr1; always @(st_reset_n or pos_hsync_n or st_hblank_n or xOffsetDone1 or YOffsetDone1 or YSizeDone1) begin if (st_reset_n == O) begin set_XOffsetCtr1 = 1; dec_xOffsetCtr1 = 0; end //=================================================================== // hsync_nの正エッジでXOffsetをプレロード //=================================================================== else if (pos_hsync_n) begin set_XOffsetCtr1 = 1; dec_XOffsetCtr1 = 0; end //=================================================================== // 「videoがアクティブ」かつ「YOffset done」かつ「XOffset not done」の時、 // XOffsetをディクリメント //=================================================================== else if (st_hblank_n && !XOffsetDone1 && YOffsetDone1 && !YSizeDone1) set_XOffsetCtr1 = 0; dec_YOffsetCtr1 = 1; end else begin set_XOffsetCtr1 = 0; dec_XOffsetCtr1 = 0; end end //====================================================================== // set_YOffsetCtr1 & dec_YOffsetCtr1のコード化 //====================================================================== reg set_YOffsetCtr1; reg dec_YOffsetCtr1; always @(st_reset_n or pos_vblank_n or st_vblank_n or neg_hblank_n or YOffsetDone1) begin if (st_reset_n == O) begin set_YOffsetCtr1 = 1; dec_YOffsetCtr1 = 0; end //=================================================================== // vblank_nの正エッジでYOffsetをプレロード //=================================================================== else if (pos_vblank_n) begin set_YOffsetCtr1 = 1; dec_YOffsetCtr1 = 0; end //=================================================================== // 「videoがアクティブ」かつ「YOffset not done」かつ「hblank_nがネガティブ // ・エッジ」の時、YOffsetをディクリメント //=================================================================== else if (st_vblank_n && neg_hblank_n && !YOffsetDone1) begin set_YOffsetCtr1 = O; dec_YOffsetCtr1 = 1; end else begin set_YOffsetCtr1 = O; dec_YOffsetCtr1 = O; end end //====================================================================== // set_XSizeCtr1 & dec_XSizeCtr1のコード化 //====================================================================== reg set_XSizeCtr1; reg dec_XSizeCtr1; always @(st_reset_n or pos_hsync_n or XFPixelValid or XSizeDone1 or vop1_e) begin if (st_reset_n == 0) begin set_XSizeCtr1 = 1; dec_XSizeCtr1 = 0; end //=================================================================== // hblank_nのネガティブ・エッジでXSizeをプレロード //=================================================================== else If (pos_hsync_n) begin set_XSizeCtr1 = dec_XSizeCtr1 = end //=================================================================== // XFilterがピクセルを出力する時、XSizeをディクリメント //=================================================================== else if (XFPixelValid && !XSizeDone1 && vop1_e) begin set_XSizeCtr1 = 0; dec_XsizeCtr1 = 1; end else begin set_XSizeCtr1 = 0; dec_XSizeCtr1 = 1; end end //====================================================================== // set_YSizeCtr1 & dec_YSizeCtr1のコード化 //====================================================================== reg set_YSizeCtr1; reg dec YSizeCtr1; always @(st_reset_n or pos_vblank_n or YFLineDone or YOffsetDone1 or YSiseDone1 or vop1_e) begin if (st_reset_n == 0) being set_YSizeCtr1 = 1; dec_YSizeCtr1 = 0; end //=================================================================== // vblank_nの正エッジでYSizeをプレロード //=================================================================== else if (pos_v_blank_n) begin set_YSizeCtr1 = 1; dec_YSizeCtr1 = 0; end //=================================================================== // YFilterが行を出力するとき、YSizeをディクリメント //=================================================================== else if (YFLineDone && YOffsetDone1 && !YSizeDone1 && vop1_e) begin set_YSizeCtr1 = O; dec_YSizeCtr1 = 1; end else begin set_YSizeCtr1 = 0; dec_YSizeCtr1 = 0; end end //====================================================================== // set_VidOutCtr_& dec_VidOutCtrのコード化 //====================================================================== reg set_VidOutCtr; reg dec_VidOutCtr; reg delayed_VideoOutReady; always @(negedge dot_clk_n) begin delayed_VideoOutReady <= videoOutReady; end always @(st_reset_n or videoOutReady or delayed_VideoOutReady or RequestVideoPixel or VidOutDone) begin if (st_reset_n == O) begin set_VidOutCtr = 1; dec_VidOutCtr = 0; end //=================================================================== // VideoOutReadyの立上りエッジで //=================================================================== else if (VideoOutReady && !delayed_VideoOutReady) begin set_VidOutCtr = 1; dec_VidOutCtr = 0; end //=================================================================== // ピクセルが読み出された時、カウントをディクリメント //=================================================================== else if (RequetVideoPixel && !VidOutDone) begin set_VidOutCtr = 0; dec_VidOutCtr = 1; end else begin set_VidOutCtr = 0; dec_VidOutCtr = 0; end end
【0037】本発明は例として次の実施態様を含む。 (1)コンピュータ・グラフィックス・パイプラインに
おいて1つのみのフレームバッファ・メモリ16を使用
して立体表示装置44を駆動する左右のビデオ・チャネ
ルを生成するための装置であって、立体画像の左右のビ
ューにそれぞれ対応するピクセルデータを保管するため
の第1および第2のウィンドウ52、54を前記フレー
ムバッファ・メモリ16内に定義するためのウィンドウ
回路22と、ピクセルデータ入力36、38およびビデ
オ信号出力40、42をそれぞれ有する第1および第2
のビデオ・エンコーダ・システム32、34であって、
該ピクセルデータ入力に与えられるピクセルデータに応
答して該ビデオ信号出力においてビデオフォーマット信
号をそれぞれ呈示する第1および第2のビデオ・エンコ
ーダ・システムと、前記フレームバッファ・メモリ1
6、前記ウィンドウ回路22、前記第1および第2のビ
デオ・エンコーダ・システム32、34に接続されるス
テレオ出力システム24であって、フレームバッファ・
メモリ16内の前記第1のウィンドウ52から読み出さ
れるピクセルデータを前記第1のビデオ・エンコーダ・
システム32のピクセルデータ入力36に与え、前記フ
レームバッファ・メモリ16内の前記第2のウィンドウ
54から読み出されるピクセルデータを前記第2のビデ
オ・エンコーダ・システム34のピクセルデータ入力3
8に与えるよう動作するステレオ出力システムと、前記
第1および第2のビデオ・エンコーダ・システム32、
34のビデオ信号出力40、42において呈示される前
記左右のビデオ・チャネルから成るビデオフォーマット
信号と、を含む装置。
【0038】(2)上記(1)の装置において、前記ウ
ィンドウ回路22は、前記フレームバッファ・メモリ1
6内の前記第1および第2のウィンドウ52、54の位
置をそれぞれ示すデータを保管するための第1および第
2のビデオ位置レジスタ62、64と、前記第1および
第2のウィンドウ52、54のサイズを示すデータを保
管するためのビデオサイズ・レジスタ66と、を含む。 (3)上記(1)の装置において、前記ステレオ出力シ
ステムは、前記フレームバッファ・メモリ16からピク
セルが読み出される時に該ピクセルのXとYの座標を追
跡するよう動作する少なくとも1つのカウンタ(400-41
4)を含む。
【0039】(4)上記(2)の装置において、前記第
1および第2のビデオ位置レジスタ62、64のそれぞ
れは、前記第1および第2のウィンドウそれぞれの最上
左端の座標に対応するXのオフセットの値およびYのオ
フセットの値を保管するよう動作し、前記ビデオサイズ
・レジスタ66は、前記第1および第2のウィンドウ5
2、54の列および行の数に対応するXのサイズの値お
よびYのサイズの値を保管するよう動作する。 (5)上記(4)の装置において、前記ステレオ出力シ
ステムは、前記フレームバッファ・メモリ16からピク
セルが読み出されるとき該ピクセルのXおよびYの座標
を追跡するよう動作する少なくとも1つのカウンタ(400
-414)を含み、前記ステレオ出力システムは、前記第1
および第2のビデオ位置レジスタ62、64および前記
ビデオサイズ・レジスタ66と、前記少なくとも1つの
カウンタ(400-414)の状態とを比較するよう動作し、こ
の比較に応答して前記第1および第2のビデオ・エンコ
ーダ・システム32、34への出力のためピクセルデー
タを選択する。
【0040】(6)コンピュータ・グラフィックス・パ
イプラインの1つのみのフレームバッファ・メモリ16
を使用して立体表示装置を駆動する左右のビデオ・チャ
ネルを生成する方法であって、前記フレームバッファ・
メモリ16内にピクセルデータを保管するためそれぞれ
のメモリ場所がXおよびYの位置の座標を有する左右の
ビデオ・チャネルを生成する方法は、前記フレームバッ
ファ・メモリ16内に第1および第2のウィンドウ5
2、54を割り振るステップと、前記第1および第2の
割り振られたウィンドウのサイズに対応する前記サイズ
の情報66、前記フレームバッファ・メモリ内に前記第
1および第2の割り振られたウィンドウの位置に対応す
る位置の情報62、64とを保管するステップと、前記
第1のウィンドウ52に左の画像に対応するピクセルデ
ータを書き込むステップと、前記第2のウィンドウ54
に右の画像に対応するピクセルデータを書き込むステッ
プと、前記フレームバッファ・メモリ16から連続的に
ピクセルデータを読み出すステップと、前記フレームバ
ッファ・メモリ16からピクセルが読み出されるときに
該ピクセルの座標に対応するXカウントおよびYカウン
トを維持するステップと、所与のピクセルについての前
記Xカウントおよび前記Yカウントと、前記位置および
サイズの情報62、64、66とを比較するステップ
と、前記比較するステップの結果に基づいて、前記所与
のピクセルが前記第1のウィンドウ52に対応するかど
うか、前記第2のウィンドウ54に対応するかどうか、
または前記第1および第2のウィンドウ52、54のど
ちらにも対応しないかどうかを判断するステップと、を
含む。
【0041】(7)上記(6)の方法において、比較す
るステップはさらに、前記判断するステップにおいて前
記所与のピクセルが前記第1のウィンドウ52に対応す
ると判断されるときは、前記所与のピクセルに対応する
ピクセルデータを第1のビデオ・エンコーダ32に出力
し、前記判断するステップにおいて前記所与のピクセル
が前記第2のウィンドウ54に対応すると判断されると
きは、前記所与のピクセルに対応するピクセルデータを
第2のビデオ・エンコーダ34に出力し、前記判断する
ステップにおいて前記所与のピクセルが前記第1および
第2のウィンドウ52、54のどちらにも対応しないと
判断されるときは、前記所与のピクセルに対応するピク
セルデータを第1および第2のビデオ・エンコーダ3
2、34のどちらにも出力しない。
【0042】
【発明の効果】本発明によれば、1つのみのフレームバ
ッファおよび1つの従来のグラフィックス・パイプライ
ンを利用するコンピュータ・グラフィックス・システム
から左右の立体画像を生成することができるという効果
を有する。
【0043】また、本発明によれば、左と右のビューの
表示を交互にすることなく、またはビューを表示するデ
ィスプレイ装置の通常のリフレッシュの速度を下げるこ
となく、両方の眼による同時に起こりかつ連続的な両方
の眼によるビューイング(viewing)を可能にすることが
できるという効果を有する。
【図面の簡単な説明】
【図1】本発明の好ましい実施形態による立体表示シス
テムを備えるコンピュータ・システムのブロック図。
【図2】図1のフレームバッファの好ましい内部の構造
を示すブロック図。
【図3】図1のウィンドウ回路の詳細を示すブロック
図。
【図4】図1のステレオ出力システム内に位置する好ま
しいカウンタのセットを示すブロック図。
【図5】図1のステレオ出力システムとビデオ・エンコ
ーダの間の好ましいインターフェースを示すブロック
図。
【図6】図5のインターフェースをさらに示すタイミン
グの図。
【図7】図1のステレオ出力システム内に位置する「vi
dout」カウンタを示すブロック図。
【図8】図1のステレオ出力システム内に位置する好ま
しいフィールド・ペーシング制御状態機構を示す状態
図。
【図9】図1のステレオ出力システム内に位置する好ま
しいフィールド・メモリ・ライト制御状態機構を示す状
態図。
【図10】図1のステレオ出力システム内に位置する好
ましいビデオアウト・イネーブル制御状態機構を示す状
態図。
【図11】信号WE_N[0]およびWE_N[1]が
生成される方法を示す論理図。
【符号の説明】
10 コンピュータ・システム 12 グラフィックス処理システム 16 フレームバッファ 18 DAC 22 ウィンドウ回路 24 ステレオ出力システム 28、30 ピクセルデータ出力 32、34 ビデオ・エンコーダ 36、38 ピクセルデータ入力 40、42 ビデオ信号出力
───────────────────────────────────────────────────── フロントページの続き (72)発明者 バイロン・エー・アルコーン アメリカ合衆国80525コロラド州フォー ト・コリンズ、マルーン・コート 2731

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】コンピュータ・グラフィックス・パイプラ
    インにおいて1つのみのフレームバッファ・メモリを使
    用して立体表示装置を駆動する左右のビデオ・チャネル
    を生成するための装置であって、 立体画像の左右のビューにそれぞれ対応するピクセルデ
    ータを保管するための第1および第2のウィンドウを前
    記フレームバッファ・メモリ内に定義するためのウィン
    ドウ回路と、 ピクセルデータ入力およびビデオ信号出力をそれぞれ有
    する第1および第2のビデオ・エンコーダ・システムで
    あって、該ピクセルデータ入力に与えられるピクセルデ
    ータに応答して、該ビデオ信号出力においてビデオフォ
    ーマット信号をそれぞれ呈示する第1および第2のビデ
    オ・エンコーダ・システムと、 前記フレームバッファ・メモリ、前記ウィンドウ回路、
    前記第1および第2のビデオ・エンコーダ・システムに
    接続されるステレオ出力システムであって、フレームバ
    ッファ・メモリ内の前記第1のウィンドウから読み出さ
    れるピクセルデータを前記第1のビデオ・エンコーダ・
    システムのピクセルデータ入力に与え、前記フレームバ
    ッファ・メモリ内の前記第2のウィンドウから読み出さ
    れるピクセルデータを前記第2のビデオ・エンコーダ・
    システムのピクセルデータ入力に与えるよう動作するス
    テレオ出力システムと、 前記第1および第2のビデオ・エンコーダ・システムの
    ビデオ信号出力において呈示される前記左右のビデオ・
    チャネルから成るビデオフォーマット信号と、 を含む左右のビデオ・チャネルを生成するための装置。
JP10116589A 1997-04-30 1998-04-27 左右のビデオ・チャネルを生成するための装置 Pending JPH117275A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US84635797A 1997-04-30 1997-04-30
US846,357 1997-04-30

Publications (1)

Publication Number Publication Date
JPH117275A true JPH117275A (ja) 1999-01-12

Family

ID=25297680

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10116589A Pending JPH117275A (ja) 1997-04-30 1998-04-27 左右のビデオ・チャネルを生成するための装置

Country Status (3)

Country Link
JP (1) JPH117275A (ja)
DE (1) DE19806547C2 (ja)
GB (1) GB2324939B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007528518A (ja) * 2003-12-19 2007-10-11 ティディヴィジョン コーポレイション エス.エー. デ シー.ヴィ. 3dビデオゲーム・システム
WO2012071072A1 (en) * 2010-11-23 2012-05-31 Circa3D, Llc Device for displaying 3d content on low frame-rate displays

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO308925B1 (no) 1999-03-15 2000-11-13 Dimension Technologies As FremgangsmÕte og apparat for stereoprojeksjon av bilder
KR20100002032A (ko) * 2008-06-24 2010-01-06 삼성전자주식회사 영상 생성 방법, 영상 처리 방법, 및 그 장치
CN102308589B (zh) * 2009-02-17 2014-07-30 松下电器产业株式会社 再现装置和再现方法
KR101085676B1 (ko) * 2010-04-21 2011-11-22 김성도 단안식 3d영상촬영장치 및 3d카메라

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5493595A (en) * 1982-02-24 1996-02-20 Schoolman Scientific Corp. Stereoscopically displayed three dimensional medical imaging
US5488952A (en) * 1982-02-24 1996-02-06 Schoolman Scientific Corp. Stereoscopically display three dimensional ultrasound imaging
CA1326082C (en) * 1989-09-06 1994-01-11 Peter D. Macdonald Full resolution stereoscopic display
US5523886A (en) * 1994-01-04 1996-06-04 Sega Of America, Inc. Stereoscopic/monoscopic video display system
US5572250A (en) * 1994-10-20 1996-11-05 Stereographics Corporation Universal electronic stereoscopic display
JPH09139957A (ja) * 1995-11-14 1997-05-27 Mitsubishi Electric Corp グラフィック表示装置
US5831638A (en) * 1996-03-08 1998-11-03 International Business Machines Corporation Graphics display system and method for providing internally timed time-varying properties of display attributes

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007528518A (ja) * 2003-12-19 2007-10-11 ティディヴィジョン コーポレイション エス.エー. デ シー.ヴィ. 3dビデオゲーム・システム
JP4841250B2 (ja) * 2003-12-19 2011-12-21 ティディヴィジョン コーポレイション エス.エー. デ シー.ヴィ. 3dビデオゲーム・システム
WO2012071072A1 (en) * 2010-11-23 2012-05-31 Circa3D, Llc Device for displaying 3d content on low frame-rate displays
WO2012071064A1 (en) * 2010-11-23 2012-05-31 Circa3D, Llc Formatting 3d content for low frame-rate displays
US8553072B2 (en) 2010-11-23 2013-10-08 Circa3D, Llc Blanking inter-frame transitions of a 3D signal

Also Published As

Publication number Publication date
DE19806547C2 (de) 2001-01-25
GB2324939A (en) 1998-11-04
GB2324939B (en) 2001-08-22
DE19806547A1 (de) 1998-11-05
GB9806180D0 (en) 1998-05-20

Similar Documents

Publication Publication Date Title
WO2017113951A1 (zh) 拼接显示系统及其显示方法
US6788309B1 (en) Method and apparatus for generating a video overlay
CN116453455B (zh) 像素复用方法、数据传输系统以及显示屏控制系统和方法
US5162779A (en) Point addressable cursor for stereo raster display
US6753872B2 (en) Rendering processing apparatus requiring less storage capacity for memory and method therefor
JP3262508B2 (ja) グラフィックス・ディスプレイ・サブシステム及び方法
WO2020199887A1 (zh) 多视点裸眼立体显示器、显示系统及像素组排布方法
JPH0557599B2 (ja)
CN116486738B (zh) 像素复用方法、数据传输系统以及显示屏控制系统和方法
JP2000004455A (ja) ディスプレイコントロ―ラ及び3次元ディスプレイ並びにクロスト―ク低減方法
JPH10504113A (ja) ビデオウィンドウのための可変ピクセルデプスおよびフォーマット
JP7504565B2 (ja) データ処理システム
CN116504179B (zh) 像素复用方法、数据传输系统以及显示屏控制系统和方法
US5880741A (en) Method and apparatus for transferring video data using mask data
US7050077B2 (en) Resolution conversion device and method, and information processing apparatus
TW200300497A (en) Back-end image transformation
JPH07113818B2 (ja) オペレータが選択した像部分の表示方法及び装置
EP0525986A2 (en) Apparatus for fast copying between frame buffers in a double buffered output display system
US20060203002A1 (en) Display controller enabling superposed display
JPH117275A (ja) 左右のビデオ・チャネルを生成するための装置
JP3384659B2 (ja) 縮小映像信号処理回路
JPH06180571A (ja) 画像処理装置
JP2004274485A (ja) 立体視画像生成装置
JP2510019B2 (ja) 画像表示方法および装置
CN112911268B (zh) 一种图像的显示方法及电子设备