(57)【要約】【課題】標準的な三次元グラフィックスパイプライン（７０）を使用した、二次元画素アレイの操作を可能にする。【解決手段】この方法は、二次元イメージのワイヤーメッシュを形成するステップを含む。このワイヤーメッシュは、一組の三角形であって、三角形のすべての頂点及び側面が、ｘ、ｙ、ｚ座標空間における同じ平面上に位置するような一組の三角形を含む。二次元イメージは、次に、そのメッシュ中にマッピングされる。結果として得られるオブジェクトの表現は、三次元表現が三次元グラフィックスパイプラインによって操作されるのと同じ方法で、操作することができる。【選択図】図３
2011170881.tif 000002
【特許請求の範囲】
【請求項１】
二次元イメージのデジタル表現を提供するステップと、
幾何学的表面のモデルを提供するステップと、
前記デジタル表現を前記幾何学的表面の前記モデルに結合させるステップと、
表示されることになるイメージに対応する画素のアレイを生成するステップと、
表示されることになるイメージに対応する画素のアレイを生成するステップであって、表示されることになる当該イメージは前記幾何学的表面に張り付けられた前記二次元イメージを含むような前記ステップと、を有することを特徴とする方法。
【請求項２】
ディスプレイデバイス上に表示されることになる前記イメージを表示させるステップを更に含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記結合させるステップの間、前記幾何学的表面は、実質的に平らであることを特徴とする請求項１に記載の方法。
【請求項４】
画素の前記アレイを生成する前記ステップの前に、前記幾何学的表面を変更し、それが実質的に平らではないようにし、それによって前記表示されるイメージは実質的に平らには見えないようにするステップを更に含むことを特徴とする請求項３に記載の方法。
【請求項５】
表示されることになる前記イメージを、ゆがめること、大きさ変更すること、融解すること、及び回転させることの内の１つを含むデジタル操作処理を実行するステップを更に有することを特徴とする請求項２に記載の方法。
【請求項６】
ワールド座標系における前記幾何学的表面の配置及び位置を確立するステップを更に有し、
画素の前記アレイを生成するステップは、前記ワールド座標系における前記幾何学的表面の配置及び位置を考慮することを特徴とする請求項２に記載の方法。
【請求項７】
前記幾何学的表面は、一組の多角形を含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記幾何学的表面は、陰関数の技術によって画定されることを特徴とする請求項１に記載の方法。
【請求項９】
生成する前記ステップは、三次元グラフィックスパイプラインを使用して実行されることを特徴とする請求項１に記載の方法。
【請求項１０】
前記二次元イメージの前記表現は、ビデオイメージから取得されることを特徴とする請求項１に記載の方法。
【請求項１１】
二次元イメージのデジタル表現を記憶するための第１のメモリと、
幾何学的表面のモデルを記憶するための第２のメモリと、
表示されることになるオブジェクトの配置及び方向を表現するワールド座標系を記憶するための第３のメモリと、
前記幾何学的表面の前記モデルを前記二次元イメージに結合させ、表示されることになるイメージに対応する画素アレイを生成するためのグラフィックス三次元パイプラインであって、前記イメージを生成する前記ステップは、前記二次元イメージに従ってテクスチャが張り付けられた前記幾何学的表面に少なくとも部分的に基づいており、前記イメージは前記ワールド座標系に従って方向づけられ、位置させられる、そのようなグラフィックス三次元パイプラインと、を有することを特徴とする構造。
【請求項１２】
表示されることになる前記イメージを表示するためのディスプレイを更に有することを特徴とする請求項１１に記載の構造。
【請求項１３】
前記幾何学的表面は、実質的に平らであることを特徴とする請求項１１に記載の構造。
【請求項１４】
前記グラフィックスパイプラインは、表示されることになる前記イメージが前記幾何学的表面を実質的に平らには表現しないように、前記実質的に平らな幾何学的表面の操作を可能にすることを特徴とする請求項１３に記載の構造。
【請求項１５】
前記第１、第２及び第３のメモリは、同じメモリデバイス内の位置の異なる組を含むことを特徴とする請求項１１に記載の構造。
【請求項１６】
イメージを三次元グラフィックスパイプラインに提供するステップと、
幾何学的表面を前記三次元グラフィックスパイプラインに提供するステップと、
前記イメージの少なくとも一部を前記幾何学的表面に結合させることに基づいて画素アレイを生成するステップと、を有することを特徴とする方法。
【請求項１７】
前記イメージは、ビデオイメージであることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記幾何学的表面が前記ビデオイメージに結合させられるときに、前記幾何学的表面は平らな幾何学的表面であることを特徴とする請求項１７に記載の方法。
【請求項１９】
二次元イメージを三次元グラフィックスパイプラインに提供するステップと、
実質的に平らな幾何学的表面を前記三次元グラフィックスパイプラインに提供するステップと、
前記二次元イメージの少なくとも一部を前記平らな幾何学的表面に結合させることに基づいて画素アレイを生成するステップと、を有することを特徴とする方法。
【請求項２０】
前記二次元イメージを前記幾何学的表面に結合させ、その後に当該幾何学的表面を該幾何学的表面が実質的に平らではなくなるように変更するステップを有することを特徴とする請求項１９に記載の方法。
【請求項２１】
前記二次元イメージは、デジタル化された写真であることを特徴とする請求項１又は１９に記載の方法。
【請求項２２】
前記二次元イメージは、ビデオ・クリップからのものであることを特徴とする請求項１又は１９に記載の方法。
【請求項２３】
前記二次元イメージは、三次元オブジェクトの二次元イメージであることを特徴とする請求項１又は１９に記載の方法。
【請求項２４】
ビデオイメージのソースと、
当該ビデオイメージを受信し、及び、該ビデオイメージを幾何学的表面に結合させ、前記ビデオイメージの少なくとも一部の前記幾何学的表面への結合に基づいて画素アレイを生成することによって該ビデオイメージを処理する三次元グラフィックスパイプラインと、を有することを特徴とする構造。
【請求項２５】
二次元イメージの表現を含むメモリと、
幾何学的表面を含むメモリと、
前記二次元イメージを前記幾何学的表面に結合させ、前記結合された二次元イメージに対応する画素アレイを生成する三次元グラフィックスパイプラインと、を有することを特徴とする構造。
【請求項２６】
前記幾何学的表面は実質的に平らであることを特徴とする請求項２５に記載の構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル・イメージ／ビデオの操作に関する。
【背景技術】
【０００２】
イメージ／ビデオの編集の処理の間、例えば、イメージを画面のある部分から他の部分に移動させること、イメージを回転させること、イメージを拡大すること、又はイメージを縮小することによって、ビデオイメージの部分又は全部が変更される。他のよくある操作には、イメージをゆがめること（すなわち、三次元でイメージを変形させること）、イメージの部分を拡大すること、イメージへの円柱面、球面、双曲線、若しくは放物線の変形（例えば、二次元イメージが、円柱面、球面、双曲線状の面、又は放物線状の面の周囲に沿って曲がったりゆがんで見えるようにすることなど）、イメージを融解することなどが含まれる。
【０００３】
しばしば、操作されるイメージは、画素のアレイの形態である。言い換えると、イメージはデータ値のアレイとして記憶され、それぞれの値はイメージの小さい領域の色及び明るさに対応している。上述のビデオイメージの操作を実行するとき、典型的には、イメージのどの画素も変換するために計算が実行される。例えば、イメージのそれぞれの画素について、ビデオ画面上のその画素のための新しい位置を決定するために計算が実行される。大きいイメージは、何百万もの画素を含むことがある。更に、イメージのストリーム（例えば、ビデオイメージの場合のような）の場合については、毎秒何十ものフレームを変換しなくてはならない。このように、多く何百万もの画素を、それぞれの変換のために非常に短い時間で、分析し、変更しなくてはならない場合がある。そのような変換のためには、多数の画素を短い時間で変換できるように、非常に大きいＣＰＵリソースか、専用のハードウェアが必要になる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
二次元イメージを編集及び／又は操作するための方法を提供することが望まれる。これは、例えばビデオイメージなどのイメージのストリームのような、毎秒多くのフレームの二次元イメージを編集及び／又は操作することができるために、特に望まれる。この目的専用の高価で高度なハードウェアを構成する必要なしに、迅速かつ効率的にこれらの操作を実行することができることが望まれる。
【課題を解決するための手段】
【０００５】
我々の発明に従った方法は、二次元イメージを三次元空間中に変換するステップ及びそのイメージを操作するために三次元グラフィックスパイプラインを使用するステップを含む。この方法は、ＣＰＵのリソースを開放し、イメージの操作を実行するために必要な時間の量を減少させ、新しい特有の効果を可能にする。
【０００６】
我々の発明の１つの実施形態では、イメージは画素のアレイの形態で得られる。これは、例えばイメージをデジタル化することによって実行することができる。次に、三次元グラフィックスパイプラインを使用して、これらのイメージを三次元空間中に「変換(transform)」する。グラフィックスパイプラインは、ソフトウェア又はハードウェア（例えば、三次元ハードウェアアクセラレータ）で、完全に又は部分的に実施することができる。
【０００７】
画素のアレイを三次元空間中に変換する方法はいくつかある。典型的には、三次元パイプラインは、それぞれのイメージの表面領域(image surface region)に三次元座標系の位置が割り当てられているような、一組のイメージの表面領域を画定する。しかし、我々の発明の１つの実施形態の場合では、すべての表面領域は同じ平面上にある。１つの実施形態では、表面領域は、すべて、それぞれの三角形がｘ、ｙ及びｚ座標によって位置を割り当てられた点の一組によって画定されるような三角形などの多角形である。（すべての座標は、すべて同じ平面中に位置するようにされている。）しかし、表面領域は、他のグラフィックス技術を使用しても画定することができる。例えば、表面領域又は全体の表面は、空間中の画素（表面領域）の位置が数学的方程式によって画定されるような、「陰関数の(implicit)」技術を使用して画定することができる。
【０００８】
表面領域の組が作り出された後、二次元の画素アレイのイメージをその表面領域の組の上にマッピングする。言い換えれば、二次元イメージの画面(picture)の一部を表面領域のそれぞれに「結合(bind)」させる。このステップを実行した後、所望のイメージ及び／又はビデオの編集を実行するために作り出したイメージを操作するために三次元グラフィックスパイプラインを使用する。
【０００９】
我々は、この技術が多くの二次元イメージを迅速に処理するために極めて効率的であることを発見した。例えばこの技術は、典型的には毎秒５９．９４フレームであって、それぞれのフレームが大きい画素アレイに対応するようなフレームを含むビデオイメージストリームを処理するために使用することができる。この技術は、例えばデジタルスキャナ、カメラ、インターネットからダウンロードされたイメージファイル二次元イメージ、又はその他のソースのような、他のソースからの二次元イメージを操作するために使用することができる。
【００１０】
１つの実施形態では、現在存在する既製の三次元パイプライン及び／又は三次元強化型プロセッサ(3D enhanced processor)が、この処理を実行するために使用される。このように、我々は、最初から専用の処理ソフトウェア及び／又はハードウェアを構成する必要が無い、二次元イメージを操作するための新しく低廉な方法を発見した。
【００１１】
我々は三次元グラフィックスパイプラインを新規な方法で使用することが理解されるであろう。以前は、グラフィックスパイプラインは、幾何学的なオブジェクトに特定の外観を与えるための方法として、そのようなオブジェクトの組を含む新しい仮想的な環境を作り出すために、テクスチャ(texture)を幾何学的なオブジェクト上にマッピングするために使用された。これは、新しい仮想的なイメージを作り出すために、テクスチャ及び幾何学的配列(geometry)をグラフィックスパイプラインに提供することによって実行された。これは、イメージを変換し編集するために幾何学的配列を使用することとは対照的である。
【００１２】
我々の発明に従った方法の間に、我々は、三次元イメージを生成するために、イメージ及び幾何学的配列を三次元グラフィックスパイプラインに適用する。次に我々は、そのイメージを新規な方法で変換又は操作するために三次元グラフィックスパイプラインを使用する。
【００１３】
イメージは、いくつかのテクスチャにおけるように、何度も反復されるパターン中の単なるセルではなく、ほとんど知覚できないような大きさのイメージでもない。イメージを構成する処理の間にテクスチャを表面に単に張り付けるのではなく、我々は、イメージを三次元空間中に配置するために、イメージを幾何学的表面に張り付ける。そのイメージは、三次元オブジェクトの二次元の表現であってもよい。
【図面の簡単な説明】
【００１４】
【図１Ａ】三次元グラフィックスパイプラインの動作を示す図である。
【図１Ｂ】三次元グラフィックスパイプラインの動作を示す図である。
【図１Ｃ】三次元グラフィックスパイプラインの動作を示す図である。
【図１Ｄ】三次元グラフィックスパイプラインの動作を示す図である。
【図１Ｅ】三次元グラフィックスパイプラインの動作を示す図である。
【図２Ａ】我々の発明に従った方法を使用する二次元イメージの操作を表わす図である。
【図２Ｂ】我々の発明に従った方法を使用する二次元イメージの操作を表わす図である。
【図３】我々の発明に従った三次元グラフィックスパイプラインを有するグラフィックスコントローラに結合したパーソナルコンピュータ(PC)の簡略なブロックダイヤグラムである。
【発明を実施するための形態】
【００１５】
上述のように、我々の発明に従った方法は、ビデオイメージストリームを含むデジタルイメージの操作を容易にするために新規な方法で三次元グラフィックスパイプラインを使用することを含む。我々は、最初に、三次元グラフィックスパイプラインは通常どのように使用されるかを説明していく。その後、我々は、我々の発明に従った方法の間でのそれの使用を説明していく。
【００１６】
三次元グラフィックスパイプライン
本発明において言及される三次元グラフィックスパイプラインは、アクセラレータとして知られるハードウェア要素と、時々ドライバと称されるものもあるソフトウェアとの組合わせによって実施することができる。ハードウェアとソフトウェアの間の区切りは、システム中の使用されるＣＰＵ及びグラフィックスカードによって変化するが、全体のシステムが以下に述べる方法のステップを実行する。パイプラインのタスクのある部分は、ハードウェアより安価であるソフトウェアによって実行することができるが、現在では一般的にハードウェアによる解決法より低速である。以下に説明されるステップを実行するハードウェア及びソフトウェアは、そのような特定の区切りに関係なく、単にパイプラインと称する。
【００１７】
以下は、三次元グラフィックスパイプラインの簡単で一般的な説明である。それは、いずれか特定の製品（例えば、本発明において後で言及される製品）を説明するものではない。反対に、以下の説明は、読者の理解を助けるための三次元グラフィックスパイプラインの単なる一般的な説明である。
【００１８】
現在、三次元グラフィックスパイプラインを使用して作り出されたグラフィックスオブジェクトは、一組の幾何学的表面として記述される。グラフィックスパイプラインで幾何学的表面を構成する１つの方法は、「プリミティブ(primitive)」の「メッシュ(mesh)」を作り出すことである。「プリミティブ」は、一組の頂点によって画定することができる小さい幾何学的表面である。例えば、プリミティブは、それの角の位置（ｘ、ｙ及びｚ座標空間）すなわち頂点によってパイプライン内で画定される多角形（例えば、三角形、四辺形など）とすることができる。一組のいくつかのプリミティブは、より大きい三次元の表面を画定するために使用される。
【００１９】
多角形のようなプリミティブを使用する代わりに、他の方法で、例えば数学的方程式によって画定される幾何学的表面領域を処理することができるグラフィックスパイプラインもある。幾何学的表面を画定するこの技術は、「陰関数（implicit）」と呼ばれている。以下に説明するように、そのような表面領域を画定するための両方の技術を、我々の発明に従った方法を実行するために使用することができる。
【００２０】
説明を明確にする目的で、我々は最初に、三角形のプリミティブを使用して幾何学的表面領域を処理するグラフィックスパイプラインの説明をする。他のタイプのグラフィックパイプラインは、その後に説明することになる。
【００２１】
この最初の例では、三次元グラフィックスパイプラインは、二次元画素アレイ（典型的には「テクスチャ・マップ」と呼ばれる）から、オブジェクトの三次元イメージを構成する。図１Ａは、一組の「テクスチャ」の二次元イメージ２を示す。（以下に説明するように、このテクスチャ・マップは、オブジェクト−この例では家のイメージを作り出すために使用される。イメージ２は、れんがの外観を有する部分２ａ、屋根板の外観を有する部分２ｂ、戸の外観を有する部分２ｃ、窓の外観を有する部分２ｄを含む。）二次元イメージ２は、画素のアレイの形態でデジタルメモリ中に記憶される。メモリ中のそれぞれの位置は、画素に対応する色、彩度、及び明るさを示すデータの１つ以上のワードである画素を記憶する。アレイ内の画素の位置は、典型的にはｕ、ｖ座標（あるビデオ信号を記述するために使用されるＹ、Ｕ及びＶ信号の名前と混同すべきではない）と呼ばれる。（ｕ、ｖ座標は、デカルト座標系のｘ、ｙ座標と同様である。図１Ａでは、画素アレイは、ｎ及びｍを整数として、ｎ×ｍアレイである。）
上述のように、図１Ａは画素アレイを表わす。物理的には、そのアレイはメモリ中にロードされたデータから構成される。
【００２２】
処理における次のステップは、幾何学的表面を提供又は準備することである。この例では、幾何学的表面は、三次元空間中のプリミティブ５のメッシュ４の形態である（図１Ｂ）。図１Ｂの場合、プリミティブは三角形であるが、他のタイプの多角形を使用することもできる。プリミティブのメッシュは、三次元空間でのオブジェクトＯの三次元形状（図１Ｂの場合、家の形状）を表わす。メッシュ４内のそれぞれの三角形のそれぞれの頂点の位置は、オブジェクトに関連して、ｘ、ｙ及びｚのデカルト座標の形態でメモリ中に記憶される。これらの座標は、モデル座標（「ＭＣ(model coordinate)」）と呼ばれることがある。そのようなメッシュを準備する処理は周知であり、ロッキード・マーチン・コーポレーション(Lockheed Martin Corporation)によって１９９６年に出版されたリアル３Ｄ(Real 3D)や、ニュー・ライダース・パブリッシング(New Riders Publishing)によって１９９７年に出版されたダイレクト３Ｄ(Direct 3D)のような標準的なグラフィックスライブラリに記載されている。
【００２３】
図１Ｂのメッシュは、そのようには表示されない。そうではなく、図１Ｂのメッシュは、デジタルメモリ中に記憶されているものの表現である。詳しくは、ｘ、ｙ及びｚ座標によって、メモリはメッシュ４内のそれぞれの頂点の位置を記憶する。
【００２４】
次のステップは、図１Ａの二次元テクスチャ・マップを図１Ｂのメッシュ４上にマッピングする、すなわち「結合(bind)」させることである。これは、それぞれの三角形の頂点をテクスチャ・マップ中の位置にマッピングすることによって実行される。実際には、メッシュ４のそれぞれの頂点を、図１Ａのテクスチャ・マップ中の特定の点（画素）のｕ、ｖ座標に関連付ける、データ点(data point)のリストが準備される。（頂点がそこに結合するような、テクスチャ・マップ中の位置は、「制御点(control point)」と呼ばれることがある。）
この部分の処理は、生地を選び、布張りをされているソファの角に釘を用いてその生地を取り付ける椅子張り職人（釘は制御点のようなものである）におおよそ類似している。次に椅子張り職人は、彼の弟子にソファへの生地の取り付けを終わらせるように言う。この場合、三次元グラフィックスパイプラインは、弟子の代わりにその仕事を終わらせる。
【００２５】
図１Ａ及び１Ｂは、１つのテクスチャ・マップ（図１Ａ）が１つのオブジェクトＯを表わす１つのメッシュ４上にマッピングされる処理を表現する。グラフィックスパイプラインは、１つ又はいくつかのテクスチャ・マップを、同じ又はいくつかの異なるオブジェクト上にマッピングすることができるし、またそうすることが多い。
【００２６】
処理の次のステップは、表示されることになる種々のオブジェクトの「ワールド座標モデル(world coordinate model)」を確立することである。これには、表示されることになるそれぞれのオブジェクトについての位置及び方向を確立することが必要になる。例えば、見られることになる２つのオブジェクト、四面体Ｔと立方体Ｃ（図１Ｃ）とがあると仮定する。処理のこのステップの間、パイプラインは立方体Ｃはある方向に向くように、ある基準のフレームに関して部分的に四面体Ｔの前に位置するように命令される。図１Ｃの構造それ自身が表示されていないことは前述の通りである。しかし、グラフィックスパイプラインは、オブジェクトの位置及び方向のパラメータに従って、モデルの座標の処理を行えるようにする。
【００２７】
次のステップは、基準のフレームを選択することである。例えば、「見る人(viewer)」がワールド座標モデル（例えば、図１Ｄの位置Ｐ）の角に対応する位置からオブジェクトを観察したいと決めるかもしれない。このように、仮想の視点、見る方向及び開き口(aperture)が選択される。「見る人」に関連するパラメータは、画面座標（ＳＣ）(screen coordinate）系を画定する。更に、見る人は、位置Ｌに配置された光源によってこれらのオブジェクトを観察するかもしれない。グラフィックスパイプラインは、ワールド座標データを、位置Ｐの観察者によって知覚されるであろうイメージ（例えば、図１Ｄのイメージ）をコンピュータ画面に表示させる画面座標データへと処理するための他の処理パイプを構成することになる。言い換えれば、コンピュータ画面は、見る人が位置Ｐに立っており、かつ光源が位置Ｌにある場合に、見る人によって観察されることになるように、四面体Ｔ及び立方体Ｃのイメージを提供することになる。このイメージは、最初はフレームバッファ中の画素アレイとして提供され、次にコンピュータ画面に表示されることになる。フレームバッファ中のイメージは、パイプライン中にプログラムされた仕様に従って、典型的には約毎秒５０から１２０回で、リフレッシュすなわち再生成される。パイプラインを最適化したり、立方体Ｃの見る人の方を向いていない裏側のようなオブジェクトの見えない部分を処理する時間を最少にしたりするための多くの異なる方法がある。そのようなものの詳細は、当業者に周知であり、ここでは詳細には議論しない。
【００２８】
画素アレイを構成し、それをフレームバッファ中に提供する上述の処理の間に、パイプラインは、ａ）メッシュ４の頂点に「結合(tack)」するテクスチャ・マップ２の部分を取ってきて（そして、そのためそれぞれの三角形の上で広げられる）、ｂ）どのように、またどこに、見る人に関しての三角形の方向及び光源の位置が与えられたテクスチャ・マップのその部分が現されるべきかを決定し、そしてｃ）フレームバッファ中に記憶させるために、適当なビットマップ画素アレイを構成する。このフレームバッファの内容は、次にコンピュータ画面上のイメージとして表示される。
【００２９】
その後、三次元グラフィックスアクセラレータは、表示されたオブジェクトを所望の方法で操作することを可能にする。例えば、四面体Ｔのイメージを４５°回転させたい場合（図１Ｅ）、三次元グラフィックスアクセラレータは、この操作を簡単にする。四面体Ｔについての新しい位置及び方向を示す、グラフィックスパイプラインのためのワールド座標モデルにおける新しいパラメータの組を提供することによって実行される。これが起きた後、グラフィックスパイプラインがフレームバッファ中に記憶されるイメージを再生成し、その次に再生成されたイメージが四面体Ｔのこの回転を反映することになる。
【００３０】
同様に、見る人が位置Ｐの彼の場所から１０歩前に歩いたとした場合に彼に見えることになるものを表示しようとすることを考える。グラフィックスパイプラインがイメージを再生成した次に、それは、そのような見る人にとって見えるようなものに対応する他の画素アレイを生成し、フレームバッファ中に記憶することになり、そしてこの画素アレイはコンピュータ画面上の他のイメージとして提供される。
【００３１】
このように、グラフィックスパイプラインは、ゲームプレーヤがオブジェクトの組を通り過ぎて歩き回ったいたとしたなら彼に見えることになるものをシミュレートすることが望まれるようなビデオゲームなどのアプリケーションにおいて極めて有用であることが分かる。
【００３２】
上述のように、陰関数の技術(implicit technique)を使用して幾何学的表面のモデルを作り出すグラフィックスパイプラインがある。これらの表面は、位置座標の関数、すなわちｆ（ｘ，ｙ，ｚ）としてしばしば記述され、またいくつかの頂点を含むこともできる。制御点及びそのような表面に関連する追加の方程式は、デジタルの画素アレイ（例えば、図１Ａで示されるようなアレイ）を陰関数的に画定される表面に結合させるために使用され、そしてその処理は上述のように進行する。大きな違いは、頂点を有するプリミティブによって表面領域を画定する代わりに、表面領域は数学的方程式によって画定されることである。
【００３３】
二次元イメージの操作
我々の発明に従った処理は、二次元デジタルイメージ（例えば、図２Ａのイメージ１０）を取得するステップから開始される。このステップは、例えば、写真又は他の画像のようなイメージを通常のデジタルスキャナを使用してスキャナ入力することによって実行することができる。デジタルイメージは、普通のデジタルカメラからも取得することができる。イメージは、例えば、基本的には二次元イメージの高速な連続である、ライブの又は記録されたビデオストリームからのデジタルビデオイメージからも構成されることができる。しかし、どのような他の二次元デジタルイメージも使用することができる。上述のように、デジタルイメージは、典型的には、デジタル値のアレイとしてメモリ中に記憶される。１つの実施形態では、デジタル値は、例えばＭＰＥＧ１又はＭＰＥＧ２又は他のフォーマットのような圧縮技術を使用する、圧縮形態である。圧縮されたデジタル値の場合、処理の前にそれらは圧縮解除されなければならない。スキャナ入力されたイメージ、又はケーブルテレビ、アンテナ、カメラなどの任意のソースからのデジタル化されたイメージを使用することもできる。
【００３４】
上述のように、ビデオイメージの場合については、毎秒何百万もの画素を含む毎秒何十ものフレームを処理しなくてはならない。我々は、標準的なグラフィックスパイプラインを、ビデオイメージを処理できるほど十分に速く、データのフレームを処理するために使用することができることを発見した。
【００３５】
例えば、半導体メモリ（ＳＲＡＭ、ＤＲＡＭ又は他の半導体メモリ）、磁気メモリ（例えば、ハードディスク、フレキシブルディスク、磁気テープ、または光磁気ディスク）、または他のタイプのメモリデバイス（例えば、光ディスク）のような、任意のタイプのメモリを、デジタル二次元イメージを記憶するために使用することができる。記憶されるイメージに対応する画素を、ＲＧＢ値（例えば画素の色の赤、緑及び青の成分の強さ）、ＹＵＶ値又は他の値によって記憶することができる。（ＹＵＶ値については、Ｙは画素値の強度すなわち明るさに対応し、Ｕは色に対応し、そしてＶは彩度に対応する。）画素値は他の方法でもコード化することができる。状況によって、さらなる処理の前に変換が必要になるかもしれない。
【００３６】
次に、三次元グラフィックスパイプラインをセットアップする。これは、供給されることになるデータに対して行われることになることに関して三次元グラフィックスパイプラインに命令を与えることによって実施される。グラフィックスパイプラインそれ自身をセットアップすることは、例えば、マイクロソフト・ダイレイクト(Microsoft Direct)３Ｄ  ＳＤＫ(software developer kit)又はダイレクト３Ｄ(Direct 3D)に記載されているように、技術上周知である。
【００３７】
その後、平面の(planar)幾何学的表面のコンピュータモデルが生成される。このコンピュータモデルは、例えば三角形のような多角形のようなプリミティブの組を含むことができる。他の実施形態では、コンピュータモデルは、平らな(flat)幾何学的表面の陰関数記述(implicit description)を含むことができる。この陰関数記述は、上述のように、典型的には数学的関数（例えば、ｘ、ｙ及びｚの関数）である。
【００３８】
平面の幾何学的表面がプリミティブのメッシュを含むような場合については、プリミティブの数及び形状、及びプリミティブのタイプを変えることができる。図２Ｂは、我々の発明に従った方法を実行するために使用することができるメッシュ１２を示す。メッシュ１２は、上述のメッシュ４と似ている。しかし、メッシュ４と違って、メッシュ１２のすべての頂点は同じ平面上（又はほぼ同じ平面上）にある。１つの実施形態では、メッシュ１２は、ビデオイメージを処理することを許容し得るであろう、約５０００個の三角形を含む。もちろん、他の数のプリミティブを使用することもできよう。
【００３９】
平面の幾何学的表面（例えばメッシュ１２）を構成した後、イメージ１０は平らな幾何学的表面上にマッピングされ、結合される。これは以下の方法で実行される。平らな幾何学的表面がメッシュ１２のようなメッシュであるような場合については、平らな幾何学的表面のそれぞれの頂点（例えば三角形の頂点）は、イメージの画素の位置（すなわち制御点）に関連付けられている。このような、それぞれの制御点は、画素に対応するテクスチャ座標（ｕ，ｖ）に関連付けられる。それぞれの頂点及びそれに関連するｕ，ｖテクスチャ空間座標を記載するデータのテーブルがセットアップされる。これは「結合(binding)」と呼ばれる。（カーメン(Kamen)による、ＩＥＥＥコンピュータ・ソサエティ(Computer Society)の、ＩＥＥＥコンピュータ・グラフィックス・アンド・アプリケーションズ(Computer Graphics and Applications)、１９９７年１〜２月、１７巻第１号を参照する。）平らな幾何学的平面を画定するために陰関数の技術が使用されるような場合については、陰関数的に画定された表面内の制御点は、上述の三角形に類似した方法で、画素アレイ座標空間に結合させられる。
【００４０】
イメージ１０がメッシュ１２にマッピングされた後、ワールド座標を操作することによって、オブジェクトを操作することができる。ワールド座標は、ｘ、ｙ、ｚ空間中のどこにその平面が現れることになるのか、及びその方向はどのようになるのか（すなわち、見る人に関して、どのような角度を保持すべきであるか）を記述する。更に、オブジェクトについての画面座標を変更することができる。その結果、二次元イメージが最終的に準備されるとき、所望の操作を反映するような方法でそれを準備することができる。例えば、それは、任意の軸の回りで回転させることや、拡大することや、縮小することなどができる。
【００４１】
ワールド座標モデル及び画面座標モデルを確立した後、パイプラインは、出力フレームバッファ（ＯＦＢ）(output frame buffer)中に、操作されたテクスチャによるメッシュ１２を表わす画素を含む画素のアレイを準備する。ＯＦＢ中の画素のアレイは、ＣＲＴ又は他のタイプの画面上に表示される。
【００４２】
例えば、ワールド座標パラメータを変更すること、任意の軸（画面に垂直な又は画面の平面中の軸を含む）に関してビデオイメージを傾斜させるようにパイプラインに指示することによってビデオイメージを操作することができる。このように、パイプラインがＯＦＢ中に画素アレイを再生成するとき、再生成されたビデオイメージは、選択された軸に関して傾斜して見えることになる。パイプラインは、使用されるシステムに従ったあらかじめプログラムされた速度(rate)でイメージを再生成することになるため、ライブビデオは、ライブビデオとして見えることになる。それは、新しい画素アレイが生成されるたびに、入力ビデオフレームバッファを含むテクスチャ・マップは再び読み出され、パイプラインを通過させられるからである。テクスチャ・マッピング処理は、画素補間の機能も含むため、自動的な解像度適応も起きる。
【００４３】
イメージがマッピングされた頂点を移動させることによって、イメージを曲げたりゆがめたりすることができる。このように、図２Ｂの平らな幾何学的平面を変更し、それによってイメージをゆがめることができる。パイプラインがフレームバッファ中で画素アレイを再生成するとき、イメージはゆがめられたように見えることになる。
【００４４】
メッシュ１０が円柱になるように頂点を移動させることができる。パイプラインがフレームバッファ中で画素アレイを再生成するとき、イメージは円筒の回りでゆがめられたように見えることになる。（もちろん、メッシュ１０は、他の形状に変更することができ、そしてイメージは当該他の形状の回りでゆがめられたように見えることになるであろう。）これらの変更は、イメージが徐々に折り込まれていたような又はゆがめられていたような印象を見る人に生じさせるであろう。
【００４５】
頂点をお互いから離したり近づけたりすること、あるいはワールド座標システムでイメージを見る人に近づけたり遠ざけたりすることによって、又はワールド座標変換へとモデル座標を再パラメータ化することによって、イメージを拡大したり縮小したりすることができるであろう。
【００４６】
頂点を異なる速度で落下させることによって、イメージを「融解(melt)」させることができるであろう。
【００４７】
可能な三次元操作の数は、それらをすべて試そうとするユーザのエネルギーによって制限されるだけである。
【００４８】
我々の発明に従った方法の実施形態を実行するためのハードウェア及びソフトウェア
我々の発明の１つの実施形態は、以下を有するＰＣを使用することによって実行することができる：
１．例えばインテル(Intel)（登録商標）によって製造されるセレロン(Celeron)（登録商標）又はペンティアム(Pentium)（登録商標）、例えばＡＭＤ(Advanced Micro Devices)（登録商標）によって製造されるＫ６（登録商標）プロセッサのようなＣＰＵ。
２．３２ＭＢ以上のメモリ。
３．三次元ＨＷ（ハードウェア）アダプタ。これは、現在市場で入手可能なグラフィックスカードの１つのタイプである。三次元ＨＷアダプタは、４ＭＢ（好適には８ＭＢ）のメモリ及びＡＧＰ(advanced graphics port)インターフェースを有しているべきである。（ＡＧＰインターフェースは、技術上周知のバス標準の１つのタイプである。）他には、周辺機器接続インターフェース（「ＰＣＩ(peripheral connection interface)」）を、ＡＧＰの代わりに使用することができる。ＰＣＩは、技術上周知のバス標準の１つのタイプである。適当な三次元ＨＷアダプタの例には、Ｒｉｖａから入手可能なＴＮＴ−２、ＡＴＩ  Ｒａｇｅ  １２８、Ｍａｔｒｏｘ  Ｇ４００、Ｔｒｉｄｅｎｔ  Ｂｌａｄｅ  ３Ｄ及びＳ３  Ｓａｖａｇｅが含まれる。
４．オペレーティング・システムは、Ｗｉｎｄｏｗｓ９５（登録商標）、Ｗｉｎｄｏｗｓ９８（登録商標）、Ｗｉｎ２０００（登録商標）、又はｄｉｒｅｃｔ  ３Ｄをサポートする他のオペレーティング・システムであればよい。Ｗｉｎｄｏｗｓ（登録商標）オペレーティング・システムは、Ｄｉｒｅｃｔ  Ｘ  ｆｏｒ  Ｗｉｎｄｏｗｓ（登録商標）と呼ばれる標準化されたプラットフォームを含んでいる。
【００４９】
１つの実施形態では、ユーザは、Ｄｉｒｅｃｔ  ３Ｄ  ｗｉｎｄｏｗｓ（登録商標）の環境で、平らな幾何学的表面（例えば、三角形のメッシュ）を構成する。次に命令のセットがグラフィックスパイプラインに与えられ、それによってレンダリング処理が完了させられる。しかし他の環境では、ＰＣは、グラフィックスカードの製造者によって提供されるソフトウェアインターフェースを使用して直接ハードウェアのアクセラレータにアクセスすることを可能にするバイパス機構を含む。
【００５０】
図３は、我々の発明に従った方法を実行するためのコンピュータシステム５０のブロック図である。図３を参照すると、システム５０は、例えばペンティアムII（登録商標）クラスのＣＰＵのような、キャッシュメモリ５２ａ、コア５２ｂ、及びコア５２ｂとキャッシュ５２ａの間の通信を容易にするための内部バス５２ｃを含むＣＰＵ５２を含む。コア５２ｂは、ＣＰＵバス５４を経由してシステムコントローラ５６と通信する。システムコントローラ５６は、メモリバス６０を経由してシステムメモリ５８と通信する。システムメモリ５８は、システムメモリプログラムを含む第１の部分５８ａと、上述のようなテクスチャ・マップを記憶する第２の部分５８ｂを含む。
【００５１】
システム５０には、システムコントローラ５６と、Ｉ／Ｏデバイス６４、６６及びディスクドライブ６８との間の通信を容易にするためのＰＣＩバス６２も含まれる。１つの実施形態では、Ｉ／Ｏデバイス６６は、ドライバを有するビデオ・キャプチャ・カードである。ビデオ・キャプチャ・カードからのデータは、ＤＭＡ(direct memory access)又はＣＰＵ５２のいずれかによって、典型的にはメインメモリ５８内のフレームバッファ中にロードされる。しかし、フレームバッファは、システム５０内の他のメモリ中にあってもよい。
【００５２】
システム５０は、三次元アクセラレータを含むＡＧＰグラフィックスコントローラ７０も含む。１つの実施形態では、ＡＧＰグラフィックスコントローラ７０は、ＡＧＰバス７２を経由してシステムコントローラ５６と通信する。他の実施形態では、ＡＧＰグラフィックスコントローラ７０は、ＰＣＩバス６２を経由してシステムコントローラ５６と通信することができる（例えば、図３の想像線で示されるように）。
【００５３】
グラフィックスコントローラ７０は、ビデオディスプレイユニット７６上に表示されることになる画素アレイを生成し記憶するために、それ自身のローカルメモリ７４を使用する。
【００５４】
システム５０は、我々の発明に従った方法を実行するシステムの一例に過ぎないことを強調しておく。他のハードウェアも使用することができる。
【００５５】
発明の応用
我々の発明について多くの応用がある。例えば、我々の発明に従った方法は、テレビジョン・イメージのようなイメージストリームを操作するために使用することができる。ビデオイメージは北アメリカでは毎秒約６０フレームの速度の連続するフレームを含んでいるため、我々の発明の方法は特に適している。例えば、ＮＴＳＣの場合、毎秒約９．１Ｍバイトのスループットが必要とされる。（ＮＴＳＣは、「North American Television Standard for Color」の略語である。それは、北アメリカでテレビジョン信号のために使用される標準である。）
我々の発明のための他の用途は、異なるビデオイメージ又は他のイメージの部分を、ＰＣ画面のような画面異なる部分の上に移動させ、傾斜させることである。イメージを、例えば多面体（例えば、立方体）の面上に現れるように変換することができる。コンピュータディスプレイ上の適当なアイコンをクリックすることによって、その多面体の種々の面上の異なるイメージを見るために、その多面体を回転させることができるであろう。その多面体は、新しいタイプのコンピュータのメニュの選択任意な表示として使用することができるであろう。
【００５６】
我々の発明に従って提供される操作されたイメージは、例えば、テレビジョン画面、ビデオプロジェクタ、ＨＤＴＶモニタ、又はＰＣ画面のような、任意の適当な出力デバイスに供給することができるであろう。我々の発明に従って操作されるイメージは、例えば、アナログ又はデジタルのビデオ入力、ケーブルテレビ入力、衛星放送入力、インターネット、デジタルスキャナ、デジタルカメラ、又は多くの他のソースのような、多くのソースの中のいずれからも取得することで切るであろう。（アナログ入力の場合、最初にイメージをデジタル化するであろう。）
【００５７】
本発明は、特定の実施形態に関して説明してきたが、当業者は、本発明の精神及び範囲から逸脱することなく、形態及び詳細について変更を行うことができることを理解するであろう。例えば、本発明は、二次元イメージを、正確な平面である表面ではなく、ほぼ平面である表面上にマッピングするために使用することができる。従って、すべてのそのような変更は、本発明内から生じるものである。
【図１Ａ】
2011170881.tif 000003
【図１Ｂ】
2011170881.tif 000004
【図１Ｃ】
2011170881.tif 000005
【図１Ｄ】
2011170881.tif 000006
【図１Ｅ】
2011170881.tif 000007
【図２Ａ】
2011170881.tif 000008
【図２Ｂ】
2011170881.tif 000009
【図３】
2011170881.tif 000010
【手続補正書】
【提出日】平成23年5月27日(2011.5.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デジタルイメージを操作する方法であって、前記方法は、
複数の入力画素アレイを三次元（３Ｄ）グラフィックスパイプラインに提供するステップであって、それぞれの入力画素アレイは二次元（２Ｄ）イメージを表現するステップと、
あらかじめプログラムされた速度で複数の出力画素アレイを生成するステップと、を含み、それぞれの出力画素アレイは、
ワールド座標系によって定義される平面の幾何学的表面を構成するステップ、
前記複数の入力画素アレイの１つを前記幾何学的表面に前記３Ｄグラフィックスパイプラインを使用して結合するステップ、
前記ワールド座標系において基準のフレームを定義するステップ、
前記幾何学的表面の前記ワールド座標を操作することによって前記３Ｄグラフィックスパイプラインを使用して操作された入力画素アレイを形成するステップ、及び
前記出力画素アレイを形成するステップであって、前記出力画素アレイは、前記基準のフレーム内で前記操作された入力画素アレイの外観を反映した２Ｄイメージを表現するものであるステップ、によって生成されるものであり、
前記複数の出力画素アレイを連続して表示するステップ、をさらに含む方法。
【請求項２】
前記複数の入力画素アレイはビデオイメージのフレームである請求項１に記載の方法。
【請求項３】
前記複数の出力画素アレイを生成する前記あらかじめプログラムされた速度は毎秒５０から１２０回である請求項１に記載の方法。
【請求項４】
前記複数の出力画素アレイを生成する前記あらかじめプログラムされた速度は前記ビデオイメージのフレームの連続の速度である請求項２に記載の方法。
【請求項５】
前記平面の幾何学的表面はプリミティブのメッシュで構成されている請求項１に記載の方法。
【請求項６】
前記平面の幾何学的表面は陰関数技術を使用して定義される請求項１に記載の方法。
【請求項７】
前記複数の出力画素アレイはパーソナルコンピュータの画面に表示される請求項１に記載の方法。
【請求項８】
前記複数の出力画素アレイをコンピュータメニュの選択任意な表示に組み入れるステップをさらに含む請求項７に記載の方法。
【請求項９】
前記コンピュータメニュの選択任意な表示は多面体を含み、前記出力画素アレイの連続は前記多面体の面上に表示される請求項８に記載の方法。
【請求項１０】
前記複数の出力画素アレイが連続して表示されるとき、前記表示が前記複数の出力画素アレイの連続がだんだんとワープさせられている印象を与えるように、前記複数の入力画素アレイからそれぞれの入力画素アレイを操作するステップをさらに含む請求項１に記載の方法。
【請求項１１】
前記複数の出力画素アレイが連続して表示されるとき、前記表示が前記複数の出力画素アレイの連続が前記基準のフレームに関して移動している印象を与えるように、前記複数の入力画素アレイからそれぞれの入力画素アレイを操作するステップをさらに含む請求項１に記載の方法。
【請求項１２】
デジタルイメージを操作する装置であって、前記装置は、
複数の入力画素アレイであって、それぞれの入力画素アレイは二次元（２Ｄ）イメージを表現する複数の入力画素アレイ、及びワールド座標系によって定義される平面の幾何学的表面のモデル、を記憶するメモリと、
三次元（３Ｄ）グラフィックスパイプラインと、
中央処理ユニットと、
ビデオ表示ユニットと、を含み、前記中央処理ユニットは、
あらかじめプログラムされた速度で複数の出力画素アレイを生成し、それぞれの出力画素アレイは、
前記複数の入力画素アレイの１つを前記幾何学的表面に前記３Ｄグラフィックスパイプラインを使用して結合するステップ、
ワールド座標系によって定義される平面の幾何学的表面を構成するステップ、
前記複数の入力画素アレイの１つを前記幾何学的表面に前記３Ｄグラフィックスパイプラインを使用して結合するステップ、
前記ワールド座標系において基準のフレームを定義するステップ、
前記幾何学的表面の前記ワールド座標を操作することによって前記３Ｄグラフィックスパイプラインを使用して操作された入力画素アレイを形成するステップ、及び
前記出力画素アレイを形成するステップであって、前記出力画素アレイは、前記基準のフレーム内で前記操作された入力画素アレイの外観を反映した２Ｄイメージを表現するものであるステップ、によって生成されるものであり、
前記複数の出力画素アレイは、前記ビデオ表示ユニット上で連続して表示されるものである、装置。
【請求項１３】
前記複数の入力画素アレイはビデオイメージのフレームである請求項１２に記載の装置。
【請求項１４】
前記複数の出力画素アレイを生成する前記あらかじめプログラムされた速度は毎秒５０から１２０回である請求項１２に記載の装置。
【請求項１５】
前記複数の出力画素アレイを生成する前記あらかじめプログラムされた速度は前記ビデオイメージのフレームの連続の速度である請求項１３に記載の装置。
【請求項１６】
前記ビデオ表示ユニットは、パーソナルコンピュータの画面である請求項１２に記載の装置。
【請求項１７】
前記複数の出力画素アレイをコンピュータメニュの選択任意な表示に組み入れるステップをさらに含む請求項１６に記載の装置。
【請求項１８】
前記ビデオ表示ユニットは、テレビジョンの画面である請求項１２に記載の装置。
【請求項１９】
前記複数の出力画素アレイが連続して表示されるとき、前記表示が前記複数の出力画素アレイの連続がだんだんとワープさせられている印象を与えるように、前記複数の入力画素アレイからそれぞれの入力画素アレイを操作するステップをさらに含む請求項１２に記載の装置。
【請求項２０】
前記複数の出力画素アレイが連続して表示されるとき、前記表示が前記複数の出力画素アレイの連続が前記基準のフレームに関して移動している印象を与えるように、前記複数の入力画素アレイからそれぞれの入力画素アレイを操作するステップをさらに含む請求項１２に記載の装置。