(57)【要約】【課題】映写面のずれや歪みを補正した大型のコンピューター表示を生成するシステムを提供すること。【解決手段】グラフィカルユーザーインターフェイスにより生成された仮想デスクトップのウィンドウの内容をOpenGL場面に配置するステップと、OpenGL場面を第1図形処理装置（ＧＰＵ）のバッファーに描画し、第1ＧＰＵのバッファーにおける内容の第1部分を第1表示装置に提供するステップと、第1ＧＰＵのバッファーにおける内容の第2部分を第2ＧＰＵのバッファーにコピーし、第2ＧＰＵのバッファーにおける内容を第2表示装置に提供するステップとによって、第1および第2表示装置は合わせて仮想デスクトップの単一の合成表示を作り出す。【選択図】図１
2010224535.tif 000002
【特許請求の範囲】
【請求項１】
コンピューター読み取り可能な記憶媒体であって、
グラフィカルユーザーインターフェイスにより生成された仮想デスクトップのウィンド
ウの内容をOpenGL場面に配置するステップと、
前記OpenGL場面を第1図形処理装置のバッファーに描画するステップと、
前記第1図形処理装置のバッファーにおける内容の第1部分を第1表示装置に提供するス
テップと、
前記第1図形処理装置のバッファーにおける内容の第2部分を第2図形処理装置のバッフ
ァーにコピーするステップと、
前記第2図形処理装置のバッファーにおける内容を第2表示装置に提供するステップとを
有する方法を実施するためにコンピューターにより実行可能な命令を具現するコンピュー
ター読み取り可能な記憶媒体において、
前記第1および第2表示装置は合わせて仮想デスクトップの単一の合成表示を作り出すコ
ンピューター読み取り可能な記憶媒体。
【請求項２】
前記グラフィカルユーザーインターフェイスにより生成された仮想デスクトップのウィ
ンドウの内容をOpenGL場面に配置するステップは、
前記ウィンドウを出力モードに置くステップであって、前記ウィンドウは出力モードに
置かれると更新を提供するステップと、
前記ウィンドウの更新を前記OpenGL場面にコピーするステップとを有する請求項1に記
載のコンピューター読み取り可能な記憶媒体。
【請求項３】
前記ウィンドウの更新を前記OpenGL場面にコピーするステップは、
前記ウィンドウの更新をOpenGLテクスチャーに転換するステップと、
前記OpenGLテクスチャーを前記OpenGL場面における形状に描画するステップとを有する
請求項2に記載のコンピューター読み取り可能な記憶媒体。
【請求項４】
前記OpenGL場面を第1図形処理装置のバッファーに描画するステップは、
前記OpenGL場面をOpenGLフレームバッファーオブジェクトに描画するステップ 
を有する請求項1に記載のコンピューター読み取り可能な記憶媒体。
【請求項５】
前記第1図形処理装置のバッファーにおける内容の第2部分を第2図形処理装置のバッフ
ァーにコピーするステップは、
前記第2部分をピクセルバッファーオブジェクトに配置するステップと、
前記ピクセルバッファーオブジェクトの直接メモリーアクセス転送を実施するステップ
とを有する請求項1に記載のコンピューター読み取り可能な記憶媒体。
【請求項６】
前記合成表示の望まれるサイズに従い前記仮想デスクトップのサイズを選択するステッ
プをさらに有する請求項1に記載のコンピューター読み取り可能な記憶媒体。
【請求項７】
前記第1表示装置は少なくとも1台の第1プロジェクターを有し、
前記第2表示装置は少なくとも1台の第2プロジェクターを有し、
前記第1図形処理装置のバッファーにおける内容の第1部分を第1表示装置に提供するス
テップは、前記第1部分を歪めるステップを有し、
前記第2図形処理装置のバッファーにおける内容を第2表示装置に提供するステップは、
第2図形処理装置における内容を歪めるステップを有する請求項１に記載のコンピュータ
ー読み取り可能な記憶媒体。
【請求項８】
前記第1図形処理装置のバッファーにおける内容の第3部分を第3表示装置に提供するス
テップと、
前記第2図形処理装置のバッファーにおける内容の一部分を第4表示装置に提供するステ
ップとをさらに有し、
前記第1、第2、第3、および第4表示装置は前記仮想デスクトップの単一の合成表示を作
り上げる請求項1に記載のコンピューター読み取り可能な記憶媒体。
【請求項９】
グラフィカルユーザーインターフェイスにより生成された仮想デスクトップにおけるウ
ィンドウの内容をOpenGL場面に配置するよう適応されるウィンドウモジュールと、
前記OpenGL場面を第1図形処理装置のバッファーに描画するよう適応される描画モジュ
ールと、
前記第1図形処理装置のバッファーにおける内容の第1部分を第1表示装置に提供するよ
う適応される第1表示モジュールと、
前記第1図形処理装置のバッファーにおける内容の第2部分を第2図形処理装置のバッフ
ァーにコピーするよう適応されるコピーモジュールと、
前記第2図形処理装置のバッファーにおける内容を第2表示装置に提供するよう適応され
る第2表示モジュールとを有し、
前記第1および第2表示装置は併せて仮想デスクトップの単一の合成表示を作り上げる画
像処理装置。
【請求項１０】
前記ウィンドウモジュールは、
前記ウィンドウを出力モードに置くよう適応されるモードモジュールであって、前記ウ
ィンドウは前記出力モードに置かれると更新を提供するモードモジュールと、
前記ウィンドウの更新を前記OpenGL場面に配置するよう適応される更新モジュールとを
有する請求項9に記載の画像処理装置。
【請求項１１】
前記描画モジュールはさらに、前記ウィンドウの更新をOpenGLテクスチャーに転換する
よう適応されるとともに、前記OpenGLテクスチャーを前記OpenGL場面における形状に描画
するよう適応される請求項１０に記載の画像処理装置。
【請求項１２】
前記描画モジュールはさらに前記OpenGL場面を前記第1図形処理装置のバッファーにお
けるOpenGLフレームバッファーオブジェクトに描画するよう適応される請求項９に記載の
画像処理装置。
【請求項１３】
前記コピーモジュールはさらに、前記第2部分をピクセルバッファーオブジェクトに配
置するよう適応されるとともに、前記ピクセルバッファーオブジェクトの直接メモリーア
クセス転送を実施するよう適応される請求項９に記載の画像処理装置。
【請求項１４】
前記合成表示の望まれるサイズに従い前記仮想デスクトップのサイズを選択するよう適
応されるサイズモジュールをさらに有する請求項９に記載の画像処理装置。
【請求項１５】
前記第1表示装置は少なくとも1台の第1プロジェクターを有し、
前記第2表示装置は少なくとも1台の第2プロジェクターを有し、
前記第1図形処理装置はさらに前記第1部分を歪めるよう適応され、
前記第2図形処理装置はさらに前記第2図形処理装置のバッファーにおける内容を歪める
よう適応される請求項９に記載の画像処理装置。
【請求項１６】
前記第1表示モジュールはさらに前記第1図形処理装置のバッファーにおける内容の第3
部分を第3表示装置に提供するよう適応され、
前記第2表示モジュールはさらに前記第2図形処理装置のバッファーにおける内容の一部
分を第4表示装置に提供するよう適応され、
前記第1、第2、第3、および第4表示装置は併せて前記仮想デスクトップの単一の合成表
示を作り上げる請求項９に記載の画像処理装置。
【請求項１７】
グラフィカルユーザーインターフェイスにより生成された仮想デスクトップのウィンド
ウの内容をOpenGL場面に配置するステップと、
前記OpenGL場面を第1図形処理装置のバッファーに描画するステップと、
前記第1図形処理装置のバッファーにおける内容の第1部分を第1表示装置に提供するス
テップと、
前記第1図形処理装置のバッファーにおける内容の第2部分を第2図形処理装置のバッフ
ァーにコピーするステップと、
前記第2図形処理装置のバッファーにおける内容を第2表示装置に提供するステップとを
有し、
前記第1および第2表示装置は合わせて仮想デスクトップの単一の合成表示を作り出す画
像処理方法。
【請求項１８】
前記グラフィカルユーザーインターフェイスにより生成された仮想デスクトップのウィ
ンドウの内容をOpenGL場面に配置するステップは、
前記ウィンドウを出力モードに置くステップであって、前記ウィンドウは出力モードに
置かれると更新を提供するステップと、
前記ウィンドウの更新を前記OpenGL場面にコピーするステップとを有する請求項１７に
記載の画像処理方法。
【請求項１９】
前記ウィンドウの更新をOpenGL場面にコピーするステップは、
前記ウィンドウの更新をOpenGLテクスチャーに転換するステップと、
前記OpenGLテクスチャーを前記OpenGL場面における形状に描画するステップと
を有する請求項18に記載の画像処理方法。
【請求項２０】
前記OpenGL場面を第１図形処理装置のバッファーに描画するステップは、前記OpenGL場
面をOpenGLフレームバッファーオブジェクトに描画するステップを有する請求項17に記載
の画像処理方法。
【請求項２１】
前記第1図形処理装置のバッファーにおける内容の第2部分を第2図形処理装置のバッフ
ァーにコピーするステップは、
前記第2部分をピクセルバッファーオブジェクトに配置するステップと、
前記ピクセルバッファーオブジェクトの直接メモリーアクセス転送を実施するステップ
とを有する請求項17に記載の画像処理方法。
【請求項２２】
前記合成表示の望まれるサイズに従い前記仮想デスクトップのサイズを選択するステッ
プをさらに有する請求項１７に記載の画像処理方法。
【請求項２３】
前記第1表示装置は少なくとも1台の第1プロジェクターを有し、
前記第2表示装置は少なくとも1台の第2プロジェクターを有し、
前記第1図形処理装置のバッファーにおける内容の第1部分を第1プロジェクターに提供
するステップは、前記第1部分を歪めるステップを有し、
前記第2図形処理装置のバッファーにおける内容を第2プロジェクターに提供するステッ
プは、前記第2図形処理装置のバッファーにおける内容を歪めるステップを有する請求項
１７に記載の画像処理方法。
【請求項２４】
前記第1図形処理装置のバッファーにおける内容の第3部分を第3表示装置に提供するス
テップと、
前記第2図形処理装置のバッファーにおける内容の一部分を第4表示装置に提供するステ
ップとをさらに有し、
前記第1、第2、第3、および第4表示装置は併せて前記仮想デスクトップの単一の合成表
示を作り上げる請求項１７に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は全般的にコンピューター表示手法に関わる。より具体的に、本開示は複数の独
立した表示装置上における仮想デスクトップの表示に関わる。
【背景技術】
【０００２】
大型のコンピューター表示を生成するために複数の表示装置を用いることは今や一般的
である。例えば、仮想デスクトップは複数のモニターにかかることができ、それにより単
一のモニターが提供し得るより大型の表示を作る。別のますます人気が高まっている手法
は複数のプロジェクターを用いて大型の合成投影を生成することである。プロジェクター
の場合、複数のモニターの場合には呈示されない2つの問題が呈示される。第1に、映写面
に対するプロジェクターのずれは台形像効果や他の歪みを引き起こす。第2にプロジェク
ターの互いのずれは投影間に重なりをもたらし、これは重ならない部分より明るく見える
。
【０００３】
手動によるプロジェクターの位置合わせは時間がかかり、退屈である。従って映写の前
に画像データを操作することによりこれらのずれを補正するコンピューター手法が開発さ
れ、手動によるプロジェクターの位置合わせの必要を取り除いている（例えば特許文献１
参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２００８／２３１５４６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
これら手法の1つの部類によると、歪み行列が画像データに適用され、歪み行列はずれ
を補う。しかし、これらの手法はコンピューターソフトウェア環境内において高レベルで
実装されているので、望ましくない低速度で実行される。
【課題を解決するための手段】
【０００６】
本発明のコンピューター読み取り可能な記憶媒体は、
グラフィカルユーザーインターフェイスにより生成された仮想デスクトップのウィンド
ウの内容をOpenGL場面に配置するステップと、
前記OpenGL場面を第1図形処理装置のバッファーに描画するステップと、
前記第1図形処理装置のバッファーにおける内容の第1部分を第1表示装置に提供するス
テップと、
前記第1図形処理装置のバッファーにおける内容の第2部分を第2図形処理装置のバッフ
ァーにコピーするステップと、
前記第2図形処理装置のバッファーにおける内容を第2表示装置に提供するステップとを
有する方法を実施するためにコンピューターにより実行可能な命令を具現するコンピュー
ター読み取り可能な記憶媒体において、
前記第1および第2表示装置は合わせて仮想デスクトップの単一の合成表示を作り出すこ
とを特徴とする。
【０００７】
また、本発明のコンピューター読み取り可能な記憶媒体において、前記グラフィカルユ
ーザーインターフェイスにより生成された仮想デスクトップのウィンドウの内容をOpenGL
場面に配置するステップは、
前記ウィンドウを出力モードに置くステップであって、前記ウィンドウは出力モードに
置かれると更新を提供するステップと、
前記ウィンドウの更新を前記OpenGL場面にコピーするステップとを有することを特徴と
する。
【０００８】
また、本発明のコンピューター読み取り可能な記憶媒体において、前記ウィンドウの更
新を前記OpenGL場面にコピーするステップは、
前記ウィンドウの更新をOpenGLテクスチャーに転換するステップと、
前記OpenGLテクスチャーを前記OpenGL場面における形状に描画するステップとを有する
。
【０００９】
また、本発明のコンピューター読み取り可能な記憶媒体において、前記OpenGL場面を第
1図形処理装置のバッファーに描画するステップは、
前記OpenGL場面をOpenGLフレームバッファーオブジェクトに描画するステップ
を有することを特徴とする。
【００１０】
また、本発明のコンピューター読み取り可能な記憶媒体において、前記第1図形処理装
置のバッファーにおける内容の第2部分を第2図形処理装置のバッファーにコピーするステ
ップは、
前記第2部分をピクセルバッファーオブジェクトに配置するステップと、
前記ピクセルバッファーオブジェクトの直接メモリーアクセス転送を実施するステップ
とを有することを特徴とする。
【００１１】
また、本発明のコンピューター読み取り可能な記憶媒体において、前記合成表示の望ま
れるサイズに従い前記仮想デスクトップのサイズを選択するステップをさらに有すること
を特徴とする。
【００１２】
また、本発明のコンピューター読み取り可能な記憶媒体において、前記第1表示装置は
少なくとも1台の第1プロジェクターを有し、
前記第2表示装置は少なくとも1台の第2プロジェクターを有し、
前記第1図形処理装置のバッファーにおける内容の第1部分を第1表示装置に提供するス
テップは、前記第1部分を歪めるステップを有し、
前記第2図形処理装置のバッファーにおける内容を第2表示装置に提供するステップは、
第2図形処理装置における内容を歪めるステップを有することを特徴とする。
【００１３】
また、本発明のコンピューター読み取り可能な記憶媒体において、前記第1図形処理装
置のバッファーにおける内容の第3部分を第3表示装置に提供するステップと、
前記第2図形処理装置のバッファーにおける内容の一部分を第4表示装置に提供するステ
ップとをさらに有し、
前記第1、第2、第3、および第4表示装置は前記仮想デスクトップの単一の合成表示を作
り上げてもよい。
【００１４】
一方本発明の画像処理装置は、
グラフィカルユーザーインターフェイスにより生成された仮想デスクトップにおけるウ
ィンドウの内容をOpenGL場面に配置するよう適応されるウィンドウモジュールと、
前記OpenGL場面を第1図形処理装置のバッファーに描画するよう適応される描画モジュ
ールと、
前記第1図形処理装置のバッファーにおける内容の第1部分を第1表示装置に提供するよ
う適応される第1表示モジュールと、
前記第1図形処理装置のバッファーにおける内容の第2部分を第2図形処理装置のバッフ
ァーにコピーするよう適応されるコピーモジュールと、
前記第2図形処理装置のバッファーにおける内容を第2表示装置に提供するよう適応され
る第2表示モジュールとを有し、
前記第1および第2表示装置は併せて仮想デスクトップの単一の合成表示を作り上げるこ
とを特徴とする。
【００１５】
また、本発明の画像処理装置において、前記ウィンドウモジュールは、
前記ウィンドウを出力モードに置くよう適応されるモードモジュールであって、前記ウ
ィンドウは前記出力モードに置かれると更新を提供するモードモジュールと、
前記ウィンドウの更新を前記OpenGL場面に配置するよう適応される更新モジュールとを
有することを特徴とする。
【００１６】
また、本発明の画像処理装置において、前記描画モジュールはさらに、前記ウィンドウ
の更新をOpenGLテクスチャーに転換するよう適応されるとともに、前記OpenGLテクスチャ
ーを前記OpenGL場面における形状に描画するよう適応されることを特徴とする。
【００１７】
また、本発明の画像処理装置において、前記描画モジュールはさらに前記OpenGL場面を
前記第1図形処理装置のバッファーにおけるOpenGLフレームバッファーオブジェクトに描
画するよう適応されることを特徴とする。
【００１８】
また、本発明の画像処理装置において、前記コピーモジュールはさらに、前記第2部分
をピクセルバッファーオブジェクトに配置するよう適応されるとともに、前記ピクセルバ
ッファーオブジェクトの直接メモリーアクセス転送を実施するよう適応されることを特徴
とする。
【００１９】
また、本発明の画像処理装置において、前記合成表示の望まれるサイズに従い前記仮想
デスクトップのサイズを選択するよう適応されるサイズモジュールをさらに有することを
特徴とする。
【００２０】
また、本発明の画像処理装置において、前記第1表示装置は少なくとも1台の第1プロジ
ェクターを有し、
前記第2表示装置は少なくとも1台の第2プロジェクターを有し、
前記第1図形処理装置はさらに前記第1部分を歪めるよう適応され、
前記第2図形処理装置はさらに前記第2図形処理装置のバッファーにおける内容を歪める
よう適応されることを特徴とする。
【００２１】
また、本発明の画像処理装置において、前記第1表示モジュールはさらに前記第1図形処
理装置のバッファーにおける内容の第3部分を第3表示装置に提供するよう適応され、
前記第2表示モジュールはさらに前記第2図形処理装置のバッファーにおける内容の一部
分を第4表示装置に提供するよう適応され、
前記第1、第2、第3、および第4表示装置は併せて前記仮想デスクトップの単一の合成表
示を作り上げることを特徴とする。
【００２２】
一方、本発明の画像処理方法は、
グラフィカルユーザーインターフェイスにより生成された仮想デスクトップのウィンド
ウの内容をOpenGL場面に配置するステップと、
前記OpenGL場面を第1図形処理装置のバッファーに描画するステップと、
前記第1図形処理装置のバッファーにおける内容の第1部分を第1表示装置に提供するス
テップと、
前記第1図形処理装置のバッファーにおける内容の第2部分を第2図形処理装置のバッフ
ァーにコピーするステップと、
前記第2図形処理装置のバッファーにおける内容を第2表示装置に提供するステップとを
有し、
前記第1および第2表示装置は合わせて仮想デスクトップの単一の合成表示を作り出すこ
とを特徴とする。
【００２３】
また、本発明の画像処理方法において、前記グラフィカルユーザーインターフェイスに
より生成された仮想デスクトップのウィンドウの内容をOpenGL場面に配置するステップは
、
前記ウィンドウを出力モードに置くステップであって、前記ウィンドウは出力モードに
置かれると更新を提供するステップと、
前記ウィンドウの更新を前記OpenGL場面にコピーするステップとを有することを特徴と
する。
【００２４】
また、本発明の画像処理方法において、前記ウィンドウの更新をOpenGL場面にコピーす
るステップは、
前記ウィンドウの更新をOpenGLテクスチャーに転換するステップと、
前記OpenGLテクスチャーを前記OpenGL場面における形状に描画するステップと
を有することを特徴とする。
【００２５】
また、本発明の画像処理方法において、前記OpenGL場面を第１図形処理装置のバッファ
ーに描画するステップは、前記OpenGL場面をOpenGLフレームバッファーオブジェクトに描
画するステップを有することを特徴とする。
【００２６】
また、本発明の画像処理方法において、前記第1図形処理装置のバッファーにおける内
容の第2部分を第2図形処理装置のバッファーにコピーするステップは、
前記第2部分をピクセルバッファーオブジェクトに配置するステップと、
前記ピクセルバッファーオブジェクトの直接メモリーアクセス転送を実施するステップ
とを有することを特徴とする。
【００２７】
また、本発明の画像処理方法において、前記合成表示の望まれるサイズに従い前記仮想
デスクトップのサイズを選択するステップをさらに有することを特徴とする。
【００２８】
また、本発明の画像処理方法において、前記第1表示装置は少なくとも1台の第1プロジ
ェクターを有し、
前記第2表示装置は少なくとも1台の第2プロジェクターを有し、
前記第1図形処理装置のバッファーにおける内容の第1部分を第1プロジェクターに提供
するステップは、前記第1部分を歪めるステップを有し、
前記第2図形処理装置のバッファーにおける内容を第2プロジェクターに提供するステッ
プは、前記第2図形処理装置のバッファーにおける内容を歪めるステップを有することを
特徴とする。
【００２９】
また、本発明の画像処理方法において、前記第1図形処理装置のバッファーにおける内
容の第3部分を第3表示装置に提供するステップと、
前記第2図形処理装置のバッファーにおける内容の一部分を第4表示装置に提供するステ
ップとをさらに有し、
前記第1、第2、第3、および第4表示装置は併せて前記仮想デスクトップの単一の合成表
示を作り上げることを特徴とする。
【図面の簡単な説明】
【００３０】
【図１】いくつかの実施形態によるコンピューター投影システムの概要を示す図である。
【図２】いくつかの実施形態による、図1のコンピューター投影システムの機能的ブロック図である。
【図３】いくつかの実施形態による、図1および図2のコンピューター投影システムのプロセスを示す図である。
【図４】いくつかの実施形態による、4台のプロジェクターを有する図1のコンピューター投影システムの概要を示す図である。
【発明を実施するための形態】
【００３１】
1つ以上の実施の詳細が添付図面および下記の説明において記述される。他の特徴は説
明と図面、およびクレームから明らかになろう。
本明細書で用いられる各参考数字の先頭桁はその参考数字が最初に現れる図面の番号を
示す。
【００３２】
本発明の実施形態は複数の独立した表示装置上において仮想デスクトップの効率的な表
示を提供する。本発明の実施形態によると、コンピューターアプリケーションはコンピュ
ーターにおける複数のビデオカードの図形処理装置（ＧＰＵ）内で実施することができ、
それによりアプリケーションが実行できる速度を劇的に速めることができる。一実施形態
によると、グラフィカルユーザーインターフェイスにより生成された仮想デスクトップに
おける少なくとも1つのウィンドウの出力がOpenGL場面に配置される。OpenGL場面は次に
第1ＧＰＵのバッファーに描画される。第1ＧＰＵのバッファーにおける内容の第1部分が
例えば1つ以上のプロジェクターなど少なくとも1台の第1表示装置に提供される。第1ＧＰ
Ｕのバッファーにおける内容の第2部分は第2ＧＰＵのバッファーにコピーされる。第2Ｇ
ＰＵのバッファーにおける内容は少なくとも1台の第2表示装置に提供される。表示装置は
併せて仮想デスクトップの単一の合成表示を作り上げる。
【００３３】
図1はいくつかの実施形態によるコンピューター投影システム100の概要を示す。説明さ
れる実施形態において、コンピューター投影システム100の要素1つの配列で呈示されるが
、他の実施形態は他の配列を特徴することができ、関連技術における当業者にとっては本
明細書において提供される開示および教示に基づき明らかであろう。例えば、コンピュー
ター投影システム100の要素はハードウェア、ソフトウェア、またはその組み合わせにお
いて実施されることができる。さらに、表示装置はプロジェクターに限定されることなく
、モニター等々など他の表示装置を含むことができる。
【００３４】
図1を参照すると、コンピューター投影システム100はコンピューター102ならびにプロ
ジェクター104（104A，104B）を含む。コンピューター102は標準の汎用コンピューター、
特殊用途コンピューター、等々、として実施されることができる。プロジェクター104は
市販の装置として実施されることができる。
【００３５】
コンピューター102は処理モジュール106、記憶モジュール108、および2つのビデオカー
ド110（110A，110B）を含む。これらの要素は1つ以上のコンピューターバスとしてのバス
112で通信する。ビデオカード110Aは図形処理装置（ＧＰＵ）114A、表示モジュール116A
、およびバッファー118Aを含む。ビデオカード110BはＧＰＵ114B、表示モジュール116B、
およびバッファー118Bを含む。ビデオカード110は市販の装置として実施されることがで
きる。
【００３６】
本明細書で用いられる場合、「モジュール」の用語はハードウェア、ソフトウェア、ま
たはその任意の組み合わせを指す。本明細書で説明されるモジュールは任意の標準汎用コ
ンピューター上で実施することができ、または特殊装置として実施されることもできる。
【００３７】
稼動の際、処理モジュール106は記憶モジュール108に記憶され得るデータおよび／また
は命令をバス112でビデオカード110に提供する。データおよび／または命令に応答して、
ＧＰＵ114はバッファー118において画像を生成し、これらは表示モジュール116によりプ
ロジェクター104に提供される。プロジェクター104Aおよび104Bは各々の投影120Aおよび1
20Bを表示面に投影する。投影120Aおよび120Bは併せて単一の合成表示122を形成する。例
えば表示122は以下に説明するように、コンピューター102により生成された仮想デスクト
ップを表すことができる。投影120は重なり領域124において重なることが特記される。
【００３８】
図2はいくつかの実施形態による、図1のコンピューター投影システム100の機能的ブロ
ック図を示す。図2を参照すると、コンピューター投影システム100はサイズモジュール20
2、グラフィカルユーザーインターフェイス（ＧＵＩ）モジュール204、ウィンドウモジュ
ール206、描画モジュール208、およびコピーモジュール210を含む。ウィンドウモジュー
ル206はモードモジュール212および更新モジュール214を含む。図2にはさらにＧＰＵ114
、バッファー118、および表示モジュール116を含むビデオカード110が示される。
【００３９】
図3はいくつかの実施形態による、図1および2のコンピューター投影システム100のプロ
セス300を示す。説明される実施形態においてプロセス300の要素は1つの配列で呈示され
るが、他の実施形態は他の配列を特徴とすることができ、関連技術の当業者にとっては本
明細書で提供される開示および教示に基づき明らかであろう。例えば、さまざまな実施形
態においてプロセスの工程のいくつかまたはすべてが異なる順序で、同時に、等々、実行
されることができる。
【００４０】
図3を参照すると、サイズモジュール202は合成表示122の望まれるサイズに従い仮想デ
スクトップのサイズ220を選択する（工程302）。一般的に、サイズ220は解像度により規
定され、例えば歪め、マスキング、および類似した操作を可能にするために合成表示122
の望まれるサイズより多少大きくなるよう選択される。In response，ＧＵＩモジュール2
04は応答して望まれるサイズ220を有し、1つ以上のウィンドウを含む仮想デスクトップ22
2を生成する（工程304）。ＧＵＩモジュール204はX Window System（登録商標）等々とし
て実施されることができる。
【００４１】
単に仮想デスクトップ222を全体として得る代わりに、本発明の実施形態は仮想デスク
トップ222内の各ウィンドウを個々に得たうえ、ウィンドウを組み合わせて仮想デスクト
ップ222を再現する。説明を明確にするために、このようなウィンドウの内1つの処理を説
明する。他のウィンドウは同様の方法で扱われる。デスクトップの背景は同様の方法で得
られ、またはOpenGL等々のグラフィックスライブラリーを用いて再現できる。
【００４２】
再度図2および3を参照すると、ウィンドウモジュール206はウィンドウの内容をOpenGL
場面224に配置する（工程306）。とりわけ、モードモジュール206はウィンドウを出力モ
ードに置く。ウィンドウは出力モードに置かれるとウィンドウモジュール206に更新を提
供する。例えば、X Windowsは合成ウィンドウモードを提供し、これによりウィンドウは
ピックスマップの形でアプリケーションに更新を提供する。更新モジュール214はウィン
ドウの更新をOpenGL場面224に配置する。
【００４３】
描画モジュール208はOpenGL場面224をＧＰＵ114Aのバッファー118Aに描画する（工程30
8）。例えば、描画モジュール208はウィンドウの更新をOpenGLテクスチャーに転換し、Op
enGLテクスチャーをOpenGL場面224における長方形などの形状に描画し、OpenGL場面224を
ＧＰＵ114Aのバッファー118AにおけるOpenGLフレームバッファーオブジェクトに描画する
。
【００４４】
仮想デスクトップ222の他のウィンドウは同様の方法で扱われ、それにより仮想デスク
トップ222をＧＰＵ114Aのバッファー118Aに再現する。この時点でタスクは再現された仮
想デスクトップ222の適切な部分を各プロジェクター104に提供することである。必要なデ
ータは既にプロジェクター104Aに接続されたビデオカード110Aのバッファー218に存在し
ているので、表示モジュール216Aはバッファー218Aにおける内容の適切な部分をプロジェ
クター104Aに提供する（工程310）。
【００４５】
再現された仮想デスクトップ222の残りのプロジェクター104Bに提供するために、バッ
ファー218Aにおける内容の適切な部分をまず同プロジェクター104Bに接続されたビデオカ
ード110Bに提供しなければならない。この転送を達成するために、コピーモジュール210
はＧＰＵ114Aのバッファー118Aにおける内容の適切な部分をＧＰＵ114Bのバッファー118B
にコピーする（工程312）。コピーモジュールはこの部分をピクセルバッファーオブジェ
クトに配置することが好ましく、これにより直接メモリーアクセス（ＤＭＳ）が利用可能
な場合ＤＭＳを用いて転送が可能になる。一旦ＧＰＵ114Bのバッファー118Bにデータの転
送が完了すると、表示モジュール216Bはバッファー218Bの内容をプロジェクター104Bに提
供する（工程314）。
【００４６】
歪めはモニターなどの表示装置に必要ないが、プロジェクターに対して歪めは通常必要
である。従って、プロジェクター104に提供するまえにデータを歪めることが好ましい。
特に、歪めはＧＰＵ114により再現された仮想デスクトップ222に適用することができる。
歪めは各プロジェクター104に対し別個の歪み行列を適用することにより実施できる。例
えば、歪めはフラグメントシェーディングの際OpenGLにより実施することができる。
【００４７】
現在の多くのビデオカードは複数の表示装置を駆動することができる。一般的な実施は
各ビデオカードに2台の表示装置を駆動させることである。図4はいくつかの実施形態によ
る、4台のプロジェクターを使った図1におけるコンピューター投影システムの概要を示す
。図4を参照すると、ビデオカード110Aは2台のプロジェクター104Aおよび104Cを駆動する
一方、ビデオカード110Bは2台のプロジェクター104Bおよび104Dを駆動する。
【００４８】
稼動の際、処理モジュール106は記憶モジュールに記憶し得るデータおよび／または命
令をバス112経由でビデオカード110に提供する。データおよび／または命令に応答してＧ
ＰＵ114はバッファー118に画像を生成し、これらは表示モジュール116によりプロジェク
ター104に提供される。プロジェクター104A〜104Dは各々投影120A〜120Dを表示面に投影
する。投影120A〜120Dは併せて単一の合成表示422を形成する。例えば表示422は以下に説
明するように、コンピューター102により生成された仮想デスクトップを表すことができ
る。投影120は重なり領域124A〜124Cにおいて重なることが特記される。
【００４９】
図4のプロジェクター4台のシステムにおいて、仮想デスクトップ222は表示422のサイズ
に従い大きさが決められ、例えば上記に説明されたようにプロジェクター104Aに接続され
たビデオカード110Aのバッファー118において再現される。表示モジュール116Aはバッフ
ァー118Aにおける内容の適切な部分をプロジェクター104Aおよび104Cに提供する。
【００５０】
再現された仮想デスクトップ222の残りをプロジェクター104Bおよび104Dに提供するた
めに、例えば上記に説明されたようにバッファー218Aにおける適切な部分がＧＰＵ114Bの
バッファー118Bにコピーされる。一旦ＧＰＵ114Bのバッファー118Bにデータの転送が完了
すると、表示モジュール216Bはバッファー218Bの適切な部分をプロジェクター104Bおよび
104Dに提供する。
【００５１】
ＧＰＵ114により再現された仮想デスクトップ222に歪めを適用することができる。歪め
は各プロジェクター104に対し別個の歪み行列を適用することにより実施できる。例えば
、歪めはフラグメントシェーディングの際OpenGLにより実施することができる。
【００５２】
上述のように、いくつかの実施はX Windowsを用いる。これらの実施において、X Windo
wsサーバーがデスクトップを投影表示122のサイズに合わせて描画するように、デスクト
ップは仮想デスクトップモードに置かれる。この方法によりウィンドウ処理を通常のよう
に進めることができる。例えば、ウィンドウ管理、ウィンドウの重ね、およびアイコンは
すべて通常のX Windows方法により扱われる。
しかし、いくつかのX Windowsの実施において、X Windowsサーバーはマウスをハードウ
ェアカーソルとして提供する。幸いに、X Windowsはハードウェアカーソルを停止する機
能およびカーソルの形状を得る拡張子を提供している。これによりウィンドウマネージャ
ーは一般的なマウスカーソルではなく適切なものを表示することができる。
【００５３】
加えて、マウスポインターは主表示にロックされている。マウスが仮想表示を動かすと
、主表示ウィンドウはマウスポインターを含む仮想表示の部分で更新される。必要として
いるのはこれではない。必要とするのは投影された表示のより大型のビュー内に合ったデ
スクトップの部分を表示することである。これは投影された大型ビューに合った正しいビ
ューを表示することにより達成できる。その結果、基底のウィンドウ構造は表示とマウス
ポインターとの1対1のマッピングを有さなくなる。マウスのインタラクションを基底の表
示における正しい部分にマップするためにあるマッピングは維持される。
【００５４】
本発明の実施形態は複数のプロジェクターを用いて大型の合成表示を作り上げることに
限定されない。いくつかの実施形態は複数のプロジェクターを用いて表示面の同じ部分を
照らすことにより「超高輝度」の表示を作り出すことに向けられる。例えば、図4におけ
るプロジェクター4台のシステムを変更して4台の追加プロジェクターを含むようにし、同
じ表示面を照らすことにより合成表示のサイズを変えることなく明るさを高めることがで
きる。
【００５５】
さまざまな実施形態は電子回路、またはコンピューターハードウェア、ファームウェア
、ソフトウェア、またはこれらの組み合わせとして実施することができる。装置は機械読
み取り可能な記憶装置に有形的に具現されるコンピュータープログラムとして実施され、
プログラマブルプロセッサーにより実行されることができる。また方法工程は命令のプロ
グラムを実行するプログラマブルプロセッサーが入力データを操作して出力を生成するこ
とにより実施することができる。実施形態はデータ記憶システムからデータおよび命令を
受信し、そこへデータおよび命令を伝送するよう連結される少なくとも1つのプログラマ
ブルプロセッサー、少なくとも1つの入力装置、および少なくとも1つの出力装置を含むプ
ログラマブルシステム上で実行可能な1つ以上のコンピュータープログラムにおいて有利
に実施することができる。各コンピュータープログラムはハイレベルの手順型言語もしく
はオブジェクト指向のプログラミング言語、または望ましい場合アッセンブリもしくは機
械言語において実施することができる。またいずれにせよ、言語はコンパイラー型または
インタープリター型言語であることができる。適するプロセッサーは例として汎用および
特殊用途のマイクロプロセッサー双方を含む。一般的に、プロセッサーは命令およびデー
タを読み取り専用メモリーおよび／またはランダムアクセスメモリーから受信する。一般
的にコンピューターはデータファイルを記憶する1つ以上の大容量記憶装置を含む。この
ような装置は内蔵されたハードディスクやリムーバブルディスクなど磁気ディスク、光磁
気ディスク、および光ディスクを含む。コンピュータープログラム命令およびデータを有
形的に具現するのに適した記憶装置は例としてEPROM、EEPROM、およびフラッシュメモリ
ー装置などの半導体メモリー装置、内蔵されたハードディスクおよびリムーバブルディス
クなどの磁気ディスク、光磁気ディスクおよびCD−ROMディスクを含むあらゆる形の不揮
発性メモリーを含む。前述のいずれもASIC（特定用途向け集積回路）により補充され、ま
たはそれに組み込まれることができる。
【００５６】
いくつかの実施形態が説明された。しかし本開示の精神および範囲から逸脱することな
く各種の変更をなし得ることが理解されよう。従って、他の実施形態は続くクレームの範
囲内にある。
【符号の説明】
【００５７】
１００  コンピューター投影システム、１０２  コンピューター、１０４  プロジェク
ター、１０６  処理モジュール、１０８  記憶モジュール、１１０  ビデオカード、１１
４  図形処理装置、１１６  表示モジュール、１１８  バッファー、１２０  投影、１２
２  合成表示、１２４  重なり領域。
【図１】
2010224535.tif 000003
【図２】
2010224535.tif 000004
【図３】
2010224535.tif 000005
【図４】
2010224535.tif 000006