(57)【特許請求の範囲】
【請求項１】
コンピューターによる実施方法であって：
プロセッサによって、二次元形状を表すための頂点の二次元セット上に画像要素の表示を作成する工程であって、頂点の二次元セット中の各頂点についてメトリック値が算出される、該工程と；
対応するメトリック値に基づき頂点の二次元セット中の各頂点に視覚特性を割り当てる工程と；そして
画像要素の三次元外観を提供するために、頂点の少なくとも２つの他の二次元セットからオフセットされている頂点の二次元セットに割り当てた視覚特性を示し、ここで、オフセットにより、頂点の二次元セットと頂点の２つの他の二次元セットは１つの軸に沿って分離されている、工程と、
を有する該方法。
【請求項２】
頂点の二次元セット上に画像要素の表示を作成する工程が、中央処理装置により提供される請求項１に記載のコンピューターによる実施方法。
【請求項３】
前記視覚特性を各頂点に割り当てる工程が画像処理装置により提供される請求項１に記載のコンピューターによる実施方法。
【請求項４】
前記視覚特性が不透明な視覚特性である請求項１に記載のコンピューターによる実施方法。
【請求項５】
前記視覚特性が透明な視覚特性を含む請求項１に記載のコンピューターによる実施方法。
【請求項６】
頂点の二次元セット中の各頂点がピクセルを表す請求項１に記載のコンピューターによる実施方法。
【請求項７】
前記メトリック値が、頂点の位置と画像要素の表示の境界との間の距離に基づく請求項１に記載のコンピューターによる実施方法。
【請求項８】
前記画像要素がテキスト要素である請求項１に記載のコンピューターによる実施方法。
【請求項９】
視覚特性を各頂点に割り当てる工程が、画像処理装置により実行されるシェーダー処理により提供される請求項１に記載のコンピューターによる実施方法。
【請求項１０】
二次元形状を表すための頂点の二次元セット上に画像要素の表示を作成するための計算装置を有するシステムであって、メトリック値が頂点の二次元セット中の各頂点について算出され、該計算装置が対応するメトリック値に基づき頂点の二次元セット中の各頂点に視覚特性を割り当てるように構成され、該計算装置はまた、三次元外観の画像要素を提供するために、頂点の少なくとも２つの他の二次元セットからオフセットされている頂点の二次元セットに割り当てられた視覚特性を示すように構成され、ここで、オフセットにより、頂点の二次元セットと頂点の２つの他の二次元セットは１つの軸に沿って分離されている、
該システム。
【請求項１１】
前記計算装置が、頂点の二次元セット上に画像要素の表示を作成するための中央処理装置を含む請求項１０に記載のシステム。
【請求項１２】
前記計算装置が各頂点に視覚特性を割り当てるための画像処理装置を含む請求項１０に記載のシステム。
【請求項１３】
前記視覚特性が不透明な視覚特性である請求項１０に記載のシステム。
【請求項１４】
前記視覚特性が透明な視覚特性を含む請求項１０に記載のシステム。
【請求項１５】
頂点の二次元セット中の各頂点がピクセルを表す請求項１０に記載のシステム。
【請求項１６】
前記メトリック値が頂点の位置と画像要素の表示の境界との間の距離に基づく請求項１０に記載のシステム。
【請求項１７】
前記画像要素がテキスト要素である請求項１０に記載のシステム。
【請求項１８】
前記計算装置が、各頂点に視覚特性を割り当てるためのシェーダー処理を実行する画像処理装置を含む請求項１０に記載のシステム。
【請求項１９】
１もしくは複数の処理装置により実行可能な指令を記憶するコンピューター可読媒体であって、そしてそのような実行で１もしくは複数の処理装置が：
二次元形状を表すための頂点の二次元セット上に画像要素の表示を作成し、ここでメトリック値が頂点の二次元セット中の各頂点について算出され；
対応するメトリック値に基づき、頂点の二次元セット中の各頂点に視覚特性を割り当て；そして
三次元外観の画像要素を提供するために、頂点の少なくとも２つの他の二次元セットからオフセットされている頂点の二次元セットに割り当てた視覚特性を示すこと、ここで、オフセットにより、頂点の二次元セットと頂点の２つの他の二次元セットは１つの軸に沿って分離されている、
を有する操作を行うようにする該コンピューター可読媒体。
【請求項２０】
頂点の二次元セット上に画像要素の表示を作成することが、中央処理装置により提供される請求項１９に記載のコンピューター可読媒体。
【請求項２１】
前記視覚特性を各頂点に割り当てることが画像処理装置により提供される請求項１９に記載のコンピューター可読媒体。
【請求項２２】
前記視覚特性が不透明な視覚特性である請求項１９に記載のコンピューター可読媒体。
【請求項２３】
前記視覚特性が透明な視覚特性を含む、請求項１９に記載のコンピューター可読媒体。
【請求項２４】
頂点の二次元セット中の各頂点がピクセルを表す請求項１９に記載のコンピューター可読媒体。
【請求項２５】
前記メトリック値が頂点の位置と画像要素の表示の境界との間の距離に基づく、請求項１９に記載のコンピューター可読媒体。
【請求項２６】
前記画像要素がテキスト要素である、請求項１９に記載のコンピューター可読媒体。
【請求項２７】
前記視覚特性を各頂点に割り当てることが、画像処理装置により実行されるシェーダー処理により提供される請求項１９に記載のコンピューター可読媒体。
【請求項２８】
記憶指令用のメモリーと；
二次元形状を表すための頂点の二次元セット上に画像要素の表示を作成するための指令を実行する第一プロセッサーであって、メトリック値が頂点の二次元セット中の各頂点について算出される、該プロセッサーと；および
対応するメトリック値に基づき、頂点の二次元セット中の各頂点に視覚特性を割り当てる第二プロセッサーと、
を備えた計算装置を有するシステムであって、該計算装置が三次元外観の図形要素を提供するために、頂点の少なくとも２つの他の二次元セットのスタック中に、頂点の二次元セットに割り当てた視覚特性を示すように構成され、ここで、スタックは１つの軸方向に沿って頂点の二次元セットと頂点の少なくとも２つの他の二次元セットを分離している、
該システム。
【請求項２９】
前記第一プロセッサーが中央処理装置である請求項２８に記載のシステム。
【請求項３０】
前記第二プロセッサーが画像処理装置である請求項２８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
背景
本記載は、テキスト、オブジェクトおよび他の種類の画像要素（ｇｒａｐｈｉｃａｌ  ｅｌｅｍｅｎｔ）を表示するための三次元グラフィックスの外観の作成に関する。
【背景技術】
【０００２】
例えば文書、コンピューターディスプレイそしてさらに映画館のスクリーン上等のような二次元表面上に三次元（３Ｄ）画像を表現する絶え間なく拡大する分野では、テキストおよび他の種類の画像を様々な応用に使用することができる。大きく、印象的な３Ｄテキストは、偶然の観察者の注目をメッセージの内容に引き付けるためしばしば広告に見い出すことができる。雑誌、新聞（および他の種類の定期刊行物）もまた、ウェブサイトおよびウェブページと共に３Ｄテキストを使用して、内容を強調しながら読者により興味深い視覚的体験を提供することが可能である。
【発明の概要】
【０００３】
要約
本明細書に記載するシステムおよび技術は、テキストの二次元表示をコンピューターで定義し、そして積重ねる（ｓｔａｃｋｉｎｇ）ことにより、三次元テキストおよび他の種類の画像要素の外観を効率的に作成することに関する。
【０００４】
一つの局面では、コンピューター実施方法には画像点の二次元セット上に画像要素の表示を作成することを含む。メトリック値（ｍｅｔｒｉｃ  ｖａｌｕｅ）が画像点の二次元セット中の各画像点について算出される。この方法はまた、対応するメトリック値に基づき、画像点の二次元セット中の各画像点に視覚特性を割り当てることを含む。この方法はまた、三次元外観の画像要素を提供するために、画像点の別の二次元セットからオフセットされている画像点の二次元セットに割り当てられる視覚特性を示すことを含む。
【０００５】
実装（ｉｍｐｌｅｍｅｎｔａｔｉｏｎｓ）には任意のまたはすべての以下の特徴を含むことができる。画像点の二次元セット上に画像要素の表示を作成することは、中央処理装置により提供され得る。視覚特性の各画像点への割り当ては、画像処理装置により提供され得る。視覚特性は不透明（ｏｐａｑｕｅ）な視覚特性、透明（ｔｒａｎｓｐａｒｅｎｔ）な視覚特性または他の種類の視覚特性でよい。画像点の二次元セットの各画像点はピクセルを表すことができる。メトリック値は、画像点の位置と画像要素の表示境界との間の距離に基づくことができる。画像要素はテキスト要素であることができる。視覚特性を各画像点に割り当てることは、画像処理装置により実行されるシェーダー処理（ｓｈａｄｅｒ  ｐｒｏｃｅｓｓ）により提供され得る。
【０００６】
別の局面では、システムは画像点の二次元セット上に画像要素の表示を作成するための計算装置を含む。メトリック値が画像点の二次元セット内の各画像点について算出される。計算装置は対応するメトリック値に基づき、画像点の二次元セット内の各画像点に視覚特性を割り当てるように構成される。また計算装置は三次元外観の画像要素を提供するために、画像点の他の二次元セットからオフセットされている画像点の二次元セットに割り当てた視覚特性を示すように構成される。
【０００７】
実装には任意のまたはすべての以下の特徴を含むことができる。計算装置は、画像点の二次元セット上に画像要素の表示を作成するための中央処理装置を含むことができる。計算装置は、各画像点への視覚特性の割り当てに関して画像処理装置を含むことができる。
視覚特性は不透明な視覚特性、透明な視覚特性または他の種類の視覚特性でよい。画像点の二次元セット中の各画像点はピクセルを表すことができる。メトリック値は、画像点の位置と画像要素の表示境界との間の距離に基づくことができる。画像要素はテキスト要素であることができる。計算装置は、視覚特性を各画像点に割り当てるためのシェーダー処理を実行する画像処理装置を含むことができる。
【０００８】
別の局面では、１もしくは複数のコンピューター可読媒体は、１もしくは複数の処理装置により実行可能な指令を記憶し、そしてそのような実行で１もしくは複数の処理装置が、画像点の二次元セット上に画像要素の表示を作成することを含む操作を行うようにする。メトリック値が画像点の二次元セット上の各画像点について算出される。操作はまた、対応するメトリック値に基づき、画像点の二次元セット上の各画像点に視覚特性を割り当てることを含む。操作はまた、三次元外観の画像要素を提供するために、別の画像点の二次元セットからオフセットされている画像点の二次元セットに割り当てた視覚特性を示すことを含む。
【０００９】
実装には任意のまたはすべての以下の特徴を含むことができる。画像点の二次元セット上に画像要素の表示を作成することは中央処理装置により提供され得る。視覚特性の各画像点への割り当ては、画像処理装置により提供され得る。視覚特性は不透明な視覚特性、透明な視覚特性または他の種類の視覚特性でよい。画像点の二次元セット中の各画像点はピクセルを表すことができる。メトリック値は、画像点の位置と画像要素の表示境界との間の距離に基づくことができる。画像要素はテキスト要素であることができる。各画像点への視覚特性の割り当ては、画像処理装置により実行されるシェーダー処理により提供され得る。
【００１０】
別の局面では、システムは記憶指令用のメモリーを含む計算装置を含む。計算装置はまた、画像点の二次元セット上に画像要素の表示を作成するための指令を実行する第一プロセッサーを含む。メトリック値が画像点の二次元セット中の各画像点について算出される。計算装置はまた、対応するメトリック値に基づき画像点の二次元セット中の各画像点に視覚特性を割り当てるための第二プロセッサーを含む。計算装置は、三次元外観の画像要素を提供するために、画像点の他の二次元セットのスタック（ｓｔａｃｋ）中に、画像点の二次元セットの割り当てた視覚特性を示すように構成されている。
【００１１】
実装には任意のまたはすべての以下の特徴を含むことができる。第一プロセッサーは中央処理装置または他の種類のプロセッサーでよい。第二プロセッサーは画像処理装置または他の種類のプロセッサーでよい。
【００１２】
これらのおよび他の局面および特徴、ならびにそれらの様々な組み合わせは、方法、装置、システム、機能を行うための手段、プログラム製品および他の様式で表され得る。
【００１３】
他の特徴および利点は明細書および請求の範囲から明白になるだろう。
【図面の簡単な説明】
【００１４】
【図１】図１は、三次元テキストを示すことができる様々なプラットフォームを具体的に説明する。
【図２】図２は、計算装置のディスプレイ上に三次元テキストの外観を提供する例を具体的に説明する。
【図３】図３は、三次元テキストの外観を提供する表示を作成するための計算装置の一部のブロック線図を具体的に説明する。
【図４（ａ）−５】図４（ａ）、４（ｂ）および５は、画像要素の三次元表示の外観を作成するために、画像要素の二次元表示の視覚特性を定めるための技術を具体的に説明する。
【図６】図６は、三次元表示の外観を作成するために、二次元表示を作成する操作の流れ図の一例である。
【図７】図７は、計算装置およびシステムのブロック線図である。
【発明を実施するための形態】
【００１５】
詳細な説明
図１を参照にして、様々な種類の計算装置およびプラットホームが、三次元（３Ｄ）グラフィックスのような異なるタイプの図形表示を計算し、そして提示するために使用することができる。例えば偶然の観察者の注目を引くために、ウェブサイト、ウェブページ、電子文書等は、種々のアプリケーションおよびコンテンツの表現（例えば広告、ゲーム、視覚警報等）に３Ｄテキストを含むことができる。一般には、３Ｄテキストは、それが三次元で現れて存在し、そして恐らく立体構造を有する外観を与えるように構築され、そして表示される。ほとんどの状況で、３Ｄテキストはテキスト文字（例えばファイルに保存されている）の２次元（２Ｄ）表示から作成され、そして三次元はテキストの文字の２Ｄ像を三次元に押し出すことにより作成される。計算資源が必要なので、そのような押し出し処理はオフラインで実行され、そして押され出したテキストは後に取り出し、そして使用するために保存される（画像として）。
【００１６】
コンピューター技術の持続的な開発と、絶え間なく拡大する電子機器市場により、より一層多くの機器が日常生活の一部となり、そして様々な種類のコンテンツ（テキストを含む）を利用者に示すために使用される。このように多くの個人がそのようなコンテンツのオンラインでのほとんどリアルタイムの表現に慣れるまでになった。例えば種々の計算装置（例えばラップトップコンピューター１００、携帯電話１０２等）は、いつも手の届く範囲にあり、そしてそのような表現を素早く提供することを期待される。しかしそのような押し出した３Ｄテキストを作成する試み、およびほぼリアルタイムのテキストのレンダリング（ｒｅｎｄｅｒｉｎｇ）は、計算的に困難になる可能性がある。例えばそのような表現を作成するために、２Ｄテキストは、テキストの２Ｄ形状を正確に表す頂点の１セットに減らされる必要があるかもしれない。次いで一般に頂点はテキストの３Ｄ構造を創造するために定められ、使用される。そのような操作の実行は計算的に効率的ではない。さらにそのような操作は、ディスプレイに出力することを意図する画像の制作を加速するために、メモリーに基づく操作（例えばメモリーの場所を操作し、そして変える）を迅速に行うように設計されている特化された回路構成（例えばグラフィック処理装置（ＧＰＵ））により実行されるには十分に適していないかもしれない。しかしそれらの機能性が３Ｄテキストの外観をほぼリアルタイムで表現するために利用できるように、計算装置（例えばラップトップ１００、携帯電話１０２）に組み込まれたそのようなＧＰＵ（および他の種類の特化された回路構成）により処理を開発そして実行することができる。例えば、テキストおよび他の種類の画像要素は、テキストの２Ｄ表示を作成し、そしてスタックするためのＧＰＵ技術を使用することにより３Ｄで示されることができるようになると思われる。２Ｄデータについての計算を行い、そして中央処理装置（ＣＰＵ）および／またはＧＰＵで計算され得る高くつく（ｃｏｓｔｌｙ）押出し計算を回避することにより、３ＤテキストはＧＰＵ技術を取り入れた装置により効率的に作成することができる。
【００１７】
図２を参照にして、３Ｄテキストの外観を提供するための２Ｄテキストの表示を使用した効率的に計算されたグラフィック表現を具体的に説明する。画像２００に示すように、
読者の注意を引くための３Ｄテキストを含む、例えば広告される製品がプラスの評価を受けた、広告の一部が示されている。画像２００により与えられる典型的な視野角および解像で、３Ｄテキストは立体の三次元構造に構成されると思われる（テキストの押し出し形に類似）。しかし精査すると（画像２０２に接近すると得られるような）、３Ｄテキストは実際には２Ｄテキストの４層、２０４、２０６、２０８、２１０から作成される。特に倍率の上昇に伴い、画像２０２はまた、４つの個々の２Ｄテキスト層を示すために視野角も上がる（標準の視野（ｖｉｅｗｉｎｇ  ｐｅｒｓｐｅｃｔｉｖｅ）から）。このように２Ｄテキスト層をスタックする（ｓｔａｃｋｉｎｇ）ことは、多くの角度および倍率で３Ｄテキストの外形を与えると同時に、個々の層を検出することができる。１もしくは複数の技術および方法を実施して個々の２Ｄ層の検出性を克服することができる。例えば２Ｄテキストのスタック中に追加の層を含めることができ、この層間の１もしくは複数の分離距離を下げる（またはアプリケーションおよび所望の外観によっては上げる）ことができる。異なる色、光源（１もしくは複数）の配置および他の因子およびパラメーターも調整することができる。
【００１８】
図３を参照にして、様々な種類の実装を画像要素の２Ｄ表示を作成し、そして表示するために使用して３Ｄ外観を与えることができる。例えばハードウェア、ソフトウェアおよびハードウェアとソフトウェアの組み合わせをそのような３Ｄ外観を示すために使用できる。図で具体的に説明する１つの例について、実装はＧＰＵおよびＣＰＵを含むアーキテクチャーに基づくことができる。そのような実装は１もしくは複数の種類のプラットフォームおよび計算装置（例えばコンピューターシステム、携帯電話、スマートフォン、タブレット型計算装置等）に組み込むことができる。この例では、テキストのような画像要素の２Ｄ表示の多層のスタック表示を作成するために、システム３００がＣＰＵ３０２およびＧＰＵ３０４を含む。一般に１層の２Ｄテキストが作成され、そして多層の場合にはスタック中に含まれる他の層を提供するために使用されることができる。この１層を作成するために、この配置ではＣＰＵ３０２が２Ｄ表示を表す画像点のセットの個々の画像点を定める操作を行う。一般に各画像点は、表示された画像の１つのアドレス可能な点を表示していると考えることができる。例えば画像点はピクセルまたは１つの頂点の一部（例えばフラグメントの頂点を持つ三角形要素）または完全な頂点（例えば拡大に基づく）でよい頂点フラグメントと考えることができる。一旦画像点の２Ｄセット上に表示されれば（例えば画像点の２Ｄグリッド）、ＣＰＵ３０２は画像点の位置が表示された画像要素内かまたは要素外かを決定するために、各画像点（例えばピクセル）についてメトリック値を算出することができる。一旦メトリック値が各画像点について算出されれば、ＧＰＵ３０４は対応する画像点（例えばピクセル）に割り当てるべき１もしくは複数の視覚特性をその値から効率的に決定することができる。例えば、予め定めた色が画像要素のジオメトリー（ｇｅｏｍｅｔｒｙ）内に位置すべきと定めた各ピクセルに割り当てられ、または画像要素の外側に位置すると定められれば、透明になるように割り当てられる（例えばアルファ値を割り当てられる）。一旦適切な色または透明度が各層のピクセルに割り当てられれば、この層のスタックは画像要素の３Ｄ形の外観を示すように構築することができる。
【００１９】
この特定の配置ではＣＰＵ３０２が、データストア３０６（例えばメモリー、記憶装置等）から１もしくは複数のフォントを表すデータを受信する。一般にフォントデータはテキスト文字（ｔｅｘｔｕａｌ  ｃｈａｒａｃｔｅｒｓ）を表すグリフ（ｇｌｙｐｈ）の２Ｄ形を表す外形の形式で提供される。受信したデータから、ＣＰＵ３０２はグリフ（または他の種類の画像要素）の２Ｄ画像を作成する。様々な種類の２Ｄ画像をＣＰＵ３０２により作成することができ、例えば画像はモノクローム（ビットマップ）、アンチエイリアス（グレースケール）または他の種類の画像であることができる。一旦作成されれば、グリフの２Ｄ画像は接続バス３１０によりＣＰＵ３０２により提供されるように一時的に保存される（例えばランダムアクセスメモリー３０８に）。次いでグリフ画像は２Ｄテクスチャ画像の形式でメモリー３１２に提供されることができる（ラベル付き頂点およびテク
スチャメモリー）。１もしくは複数の形式を使用してそのような２Ｄテクスチャ画像を定めることができ、例えば１つの画像が各グリフ、文字、テキストブロック等に提供され得る。
【００２０】
一旦２Ｄテクスチャ画像形式で保存されれば、ＣＰＵ３０２は画像点（例えばピクセル）のセット上に画像要素（例えばグリフ、文字、テキストブロック）を表すための（たとえばマッピング）データを引き出すことができる。画像要素を画像点上に表すために１もしくは複数の技術を実施することができる。例えば、図形要素の境界内に位置する各画像点および境界の外に位置する各画像点を同定するメトリック（ｍｅｔｒｉｃ）を定めることができる。一旦各画像点についてのメトリック値が分かれば、視覚特性を画像点に割り当てることができる。例えば画像要素（例えばグリフ）の内側に位置する画像点は不透明色に割り当て、一方、要素外に位置する画像点は透明となるように割り当てることができる（例えば後で下にスタックするピクセルが不明瞭にならないように）。
【００２１】
簡単に図４ａを参照にして、画像要素のジオメトリーに関して画像点のセット中の各画像点の位置を定めるための１つのメトリックを具体的に説明する。この例では、文字４００（例えば文字「Ａ」）が、画像点のセット上にマップされる（例えばピクセルの２Ｄグリッド）。ディスタンスフィールド（ｄｉｓｔａｎｃｅ  ｆｉｅｌｄ）と呼ぶこの距離に関して、各画像点と文字４００の外形との間の距離が決定される。例えば、各画像点４０２、４０４（見易くするためにかなり拡大して表されている）について、距離は画像点から文字４００の外形上の標準位置まで決定され、そして対応して線４０６、４０８が表される。文字の外形に対して内側または外側にある距離を識別するために、様々な規定が実施され得る。例えば外形内の画像点に関連する距離には正の値を割り当て、一方、外形の外側の画像点に関連する距離には負の値を割り当てることができる。一旦決定されれば、これらのメトリック値を使用して視覚特性を画像点（例えばピクセル）に割り当てることができる。
【００２２】
図３に戻り、この配置ではＣＰＵ３０２により計算されると、各画像点のメトリック値は頂点およびテクスチャメモリー３１２に記憶される。この視覚特性を画像点に適用し、そして２Ｄ表示層を作成するために、メモリー３１２に記憶されたデータが、ＧＰＵ３０４に提供される。例えばＧＰＵ３０４は受信した画像点のセットおよび関連する情報を複製して画像要素の複数の２Ｄ表示を作成することができる。簡単に図４ｂを参照にすると、２セットの画像点４１０、４１２がＧＰＵ３０４により別の画像点４１４のセットから複製されているように説明される（例えばメモリー３１２から引き出されて）。さらに複製された画像点４１０、４１２の各セットは、画像点４１４の初期のセットにより表される画像要素の２Ｄ表示を示す。図３に戻って、一旦層が作成されれば、ＧＰＵ３０４はさらに２Ｄ表示を示す準備の操作を実行することができる。例えばＧＰＵ３０４はスタックの形成に関連する特性を決定することができる。スタックに含める層の数を決定すると共に、ＧＰＵはまた均等であってもなくてもよいスタック層間の分離を定めることができる。ディスプレイ３１４上に写すための（例えば、電子文書、ウェブサイト、ウェブページ等の上にスタックを配置する）スタックの配置および方向付けは、ＧＰＵ３０４、ＣＰＵ３０２により、または両方の装置が調和して作動して決定することができる。例えば画像点の層は、一般に２Ｄ表示に直交する次元に沿ってスタックされる（例えばＺ−軸により決まる次元）。しかし異なるタイプのスタック（例えばわずかにひねったスタック、渦巻き状の層のスタックなど）のために、１もしくは複数の層が異なって配向することもできる。
【００２３】
表現する前に、ＧＰＵ３０４はまた、画像要素の２Ｄ表示を表示するために、適切な色を画像点（例えばピクセル）に割り当てるため、画像点およびメモリー３１２から引き出した関連情報（例えばメトリック値）も使用する。そのような色の割り当てを提供するた
めに、１もしくは複数の技術および方法がＧＰＵ３０４により実施され得る。例えばＧＰＵ３０４は各画像点に関連するメトリック値を再考し、そしてその値に基づく色を割り当てることができる。一つの配置では、画像点が画像要素の外形内に位置することを示すメトリック値（例えば正の値）の画像点について、ＧＰＵ３０４は画像要素（例えば文字「Ａ」）が背景から目立つように特定の色（例えば不透明色）を割り当てることができる。あるいは画像点が画像要素の外形の外に位置することを示すメトリック値（例えば負の値）の画像点について、ＧＰＵ３０４は画像点が透明に処理されるように割り当てることができる（例えばいかなるオブジェクトもこれらの画像点の色を制御することが可能なように割り当てられたアルファ値）。
【００２４】
さらに別の例では、ＧＰＵ３０４は移行領域（例えば画像要素の外形付近に位置する画像点について）を定めるために、視覚特性を割り当てることができる。簡単に図５を参照にすると、画像特性を配置することができる３つの領域に基づき、視覚特性の割り当て（例えば色の割り当て）を定める座標系５００が示される。特にｘ−軸５０２は画像点のメトリック値（例えば正の値は画像要素の外形内の画像点を表し、負の値は画像要素の外形外の画像点を表す、等）を表す。ｙ−軸５０４はメトリック値に基づき（例えば外形からの距離）、各画像点に割り当てられる視覚特性を表す。例えば外形の十分内側に位置する画像点（例えばｘ−軸５０２に沿って大きな正のメトリック値）について、不透明色が割り当てられる。同様に、外形から十分外側の画像点（例えばｘ−軸５０２に沿って大きな負のメトリック値）については、透明な視覚特性が割り当てられる。一般に画像要素の外形付近に位置する画像点について（例えばｘ−軸５０２に沿ってゼロに近いメトリック値）、混合色（不透明と透明の間）が（不透明と透明との間の移行を表す）線５０６により定められるように割り当てられる。視覚特性を割り当てる他の技術も一緒に使用すると、別の種類の視覚特性を割り当てることができる。例えば色を割り当てるのではなく、異なるパターンまたは他の画像の特徴を割り当てることができる。
【００２５】
図３に戻って、スタックで示す２Ｄ表示を準備するために、１もしくは複数の処理技術がＧＰＵ３０４により実施され得る。例えば各２Ｄ表示の画像点（例えばピクセル）に視覚特性（例えば不透明色、透明であることなど）を割り当てることと一緒に、スタック内の２Ｄ表示の位置に基づき、異なる配色スキームを実施することができる。例えば最上の２Ｄ表示の画像要素（例えばスタックの最上位で、観察者の最も近くに割り当てられる）は、前景部で相対的に目立つドミナントカラ―を割り当てることができる。下に位置する２Ｄ表示には（例えば、スタック中の位置、またはスタックの底面に割り当てられる）、優勢ではない（ｌｅｓｓ  ｄｏｍｉｎａｔｅ）１もしくは複数の色を割り当て、そして（最上位の層の）前景部の色を目立たせるためだけの色を与えることができる。例えば図４ｂで具体的に説明するように、画像要素（例えば文字「Ａ」）は暗い黒色で最も上の２Ｄ表示４１０に示されるが（スタックの最上に位置する）、より明るい灰色が２つの下の２Ｄ表示４１２、４１４の画像要素に使用される。
【００２６】
図３で具体的に説明するように、ディスプレイ３１４上に写すための２Ｄ表示を準備する機能性を提供するために、ＧＰＵ３０４はシェーダー３１６を含む。幾つかの配置では、シェーダー３１６は１組のソフトウェア指令と考えることができ、これはＧＰＵ３０４により実行されて比較的高度な柔軟性でレンダリング効果（ｒｅｎｄｅｒｉｎｇ  ｅｆｆｅｃｔ）を算出することができる。例えばシェーダー３１６を使用してＧＰＵ３０４をプログラムし、画像点（例えばピクセル）の効率的な操作特性（例えば、位置、色等）のための操作を行うことができる。このようにシェーダー３１６は、例えばＣＰＵ３０２により計算されるメトリック値（例えばディスタンスフィールド値）に基づき、画像点に対する視覚特性を効率的に決定し、そして割り当てることができる可能性がある。幾つかの配置では、さらに効率性を上げるために、複数のシェーダーを導入してもよい。例えばＧＰＵ３０４は、スタックされる各２Ｄ表示層を処理するために別のシェーダーを含むことが
できる。このように（例えばメモリー３１２から）ＧＰＵ３０４へ提供されている画像点のセットおよび対応する情報（例えばメトリック値）で、各対応するスタック層の２Ｄ表示が専用のシェーダーにより処理され得る。レンダリングに必要な時間（例えばＣＰＵにより）を下げると共に、必要なメモリーもまた下げることができる。さらに画像点および層化したスタックの操作により、計算資源は押出しに関係する計算（例えば３Ｄ構造要素を定め、構造要素間の接続を計算して３Ｄ構造を形成する、など）を行うことに比べて保存され得る。計算の必要性を下げ、そして効率を改善することにより、そのような層化したスタックは、１もしくは複数のＧＰＵによりほぼリアルタイムで比較的高いフレームレートで計算できる。
【００２７】
２Ｄ表示のそのような層化したスタックを実施することにより３Ｄ画像要素の外観を提供することは、様々な環境で使用することができる。例えば平らな表面、例えば電子文書、ウェブページ等の上に層化したスタックを形成すると共に、そのようなスタックは他の種類の表面での表示にも配置することができる。例えばスタックを分割し、かつ／または複数のスタックを作成することにより、スタックを曲面の部分に配置して、平らではない面上に波打つ１もしくは複数の画像要素（例えばバナーテキスト）の外観を提供することができる。このスタックおよび／またはスタックの層は、様々なアプリケーションにも調整できる。例えばスタックの高さ、層の数、層間の分離などを適切な外観の３Ｄイメージを提供するために調整することができる。別の例では、複数のスタックを一緒に使用して様々な視覚効果を与えることがでる。例えば（３Ｄディスプレイを作成するために）異なる図が異なる視点で提供されるように、わずかに異なって作成されたスタックを使用して立体的に見える像（例えば左目の視野および右目の視野で）を作成することができる。
【００２８】
図６を参照にして、流れ図６００は三次元の画像要素の外観（例えばグリフ、文字、テキスト等）を提供するために、二次元表示のスタックを作成するためのコンピューターシステムのような計算装置の操作を表す。そのような操作は一般に、１つの計算装置により実行されるが、操作の実行は複数の計算装置により実行してもよい。１つの場所で実行されると共に（例えば計算装置の場所で）、操作の実行は２以上の場所に分散してもよい。
【００２９】
計算装置の操作には画像点の二次元セット上に画像要素の表示を作成すること６０２を含むことができる。例えばレンダリングが三次元構造として現れるように（例えば電子文書中で）、特定のグリフまたは文字（例えば文字「Ａ」）の表示を作成することができる。また操作には、対応するメトリック値に基づき画像点の二次元セット中の各画像点に視覚特性を割り当てること６０４を含むことができる。例えばメトリック値（例えばディスタンスフィールド値）を、それぞれの画像点の位置に基づき各画像点について計算することができる。計算されたメトリック値から、色およびアルファ値を画像点に割り当てることができる。また操作には、別の画像点の二次元セットからオフセットされている画像点の二次元セットに割り当てた視覚特性を示すこと６０６も含むことができる。例えばこの視覚特性を使用して多層のスタックの中に１つの層を定めることができ、この定めた層は画像要素の２Ｄ表示を表す。
【００３０】
図７は、要素の３Ｄ構造の外観を提供するために、画像要素の２Ｄ表示のスタックを作成することに関連する操作を行うために使用し、そして実装することができる計算装置のブロック線図である。計算装置７００は種々の形式のデジタルコンピューター、画像処理装置および類似の種類の装置、例えばデジタルＴＶセット、セット−トップボックスおよびレシーバー（例えばケーブル、地上波、インターネットプロトコールテレビ（ＩＰＴＶ）等）、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタンツ、モバイル装置、例えば携帯電話、タブレット型計算装置、ポータブルゲーム機、ポータブルナビーゲーション装置、サーバー、ブレードサーバー、メインフレームおよび他の適切なコンピューターを表すことを意図する。
【００３１】
計算装置７００にはプロセッサー７０２、メモリー７０４、記憶装置７０６、メモリー７０４および高速拡張ポート７１０に接続する高速インターフェイス７０８、および低速バス７１４および記憶装置７０６に接続する低速インターフェイス７１２を含む。各コンポーネント７０２、７０４、７０６、７０８、７１０および７１２は種々のバスを使用して相互に連結され、そして共通の主回路基板に、あるいは適切に他の様式で搭載できる。処理装置７０２は計算装置７００内で実行するための指令を処理することができ、それらには高速インターフェイス７０８に繋がれたディスプレイ７１６のような外部の入／出力装置上にＧＵＩのグラフィック情報を表示するために、メモリー７０４に、または記憶装置７０６に保存された指令を含む。別の実装では、マルチプロセッサーおよび／または多重バスを複数のメモリーおよび複数種のメモリーと一緒に適切に使用することができる。また複数の計算装置７００を連結することができ、各装置が必要な操作の一部分を提供する（例えばサーバーバンク、ブレードサーバーの１グループ、または１つのマルチ−プロセッサーシステムとして）。
【００３２】
メモリー７０４は計算装置７００内の情報を保存する。１つの実装では、メモリー７０４はコンピューター可読媒体である。１つの実装では、メモリー７０４は揮発性メモリー装置（１もしくは複数）である。別の実装では、メモリー７０４は不揮発性メモリー装置（１もしくは複数）である。
【００３３】
記憶装置７０６は計算装置７００に大容量記憶を提供することができる。１つの実装では記憶装置７０６はコンピューター可読媒体である。様々な異なる実装において、記憶装置７０６はフロッピーディスク装置、ハードディスク装置、光学ディスク装置またはテープ装置、フラッシュメモリーまたは他の類似のソリッドステート記憶装置、あるいは記憶領域のネットワークの装置または他の構成を含む装置の配列であることができる。１つの実装では、コンピュータープログラムプロダクトが情報担体に明白に具現化される。このコンピュータープログラムプロダクトは、実行すると上記のような１もしくは複数の方法を行う指令を含む。この情報担体はコンピューター−または機械−可読媒体、例えばメモリー７０４、記憶装置７０６、プロセッサー７０２のメモリーなどである。
【００３４】
高速コントローラー７０８は、計算装置７００に関する帯域占有型（ｂａｎｄｗｉｄｔｈ−ｉｎｔｅｎｓｉｖｅ）操作を管理し、一方、低速コントローラー７１２はより低い帯域占有型操作を管理する。そのような役割の割り当ては単に例である。１つの実装では、高速コントローラー７０８がメモリー７０７、ディスプレイ７１６（例えばグラフィックプロセッサーまたはアクセラレーターを介して）、および高速拡張ポート７１０に繋がれ、これは種々の拡張カード（示さず）を受けることができる。その実装では、低速コントローラー７１２は記憶装置７０６および低速拡張ポート７１４に繋がれる。種々のコミニュケーションポート（例えばＵＳＢ、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）、イーサネット（Ｅｔｈｅｒｎｅｔ）、ワイヤレスイーサネット）を含むことができるこの低速拡張ポートは、キーボード、ポインティングデバイス、スキャナーのような１もしくは複数の入／出力装置に、またはスイッチまたはルーターのようなネットワーク装置に、例えばネットワークアダプターを介して連結することができる。
【００３５】
計算装置７００は、図面に示すような多くの異なる形式で実施され得る。例えば標準的なサーバー７２０として実施されるか、または１群のそのようなサーバーで複数回、実施され得る。またラックサーバーシステム７２４の一部としても実施され得る。さらにラップトップコンピューター７２２のようなパーソナルコンピューターで実施することもできる。あるいは計算装置７００からのコンポーネントをモバイル装置の他のコンポーネントと組み合わせることができる（示さず）。
【００３６】
本明細書に記載する主題の態様および機能的操作は、デジタル電子回路で、またはコンピューターソフトウェア、ファームウェアもしくはハードウェアで、本明細書に開示する構造およびそれらの構造的均等物、またはそれらの１もしくは複数の組み合わせを含めて実施することができる。本明細書に記載する主題の態様は、１もしくは複数のコンピュータープログラムプロダクトとして、すなわちデータ処理装置により、またはその操作を制御するために実行するコンピューター可読媒体にコードされたコンピュータープログラム指令の１もしくは複数のモジュールとして実行することができる。コンピューター可読媒体は、機械可読記憶装置、機械可読記憶基板、記憶装置、機械可読伝播信号を行う構成物、またはそれらの１もしくは複数の組み合わせであることができる。用語「データ処理装置」とはデータを処理するためのすべての装置、デバイスおよび機械を包含し、例としてプログラム可能なプロセッサー、コンピューターまたはマルチプロセッサーまたはコンピューターを含む。この装置にはハードウェアに加えて、問題のコンピュータープログラム用の実行環境を作るコード、例えばプロセッサーファームウェア、プロトコールスタック、データベース管理システム、操作システムまたはそれらの１もしくは複数の組み合わせを含むことができる。
【００３７】
コンピュータープログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプトまたはコードとしても知られている）は、コンパイル型またインタプリタ形式の言語を含む任意の形式のプログラム言語で書かれることができ、そしてスタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、または計算環境で使用するために適する他のユニットとして含む任意の形式に配置することができる。コンピュータープログラムはファイルシステムのファイルに必ずしも対応する必要はない。プログラムは、他のプログラムまたはデータ（例えばマークアップ言語文書に保存される１もしくは複数のスクリプト）を保持するファイルの一部に、問題のプログラムに特化した単一ファイルに、あるいはマルチプルコ−ディネイテッドファイル（ｍｕｌｔｉｐｌｅ  ｃｏｏｒｄｉｎａｔｅｄ  ｆｉｌｅ）（例えば１もしくは複数のモジュール、サブ−プログラム、またはコードの部分）を保持するファイルに保存することができる。計算プログラムは、１つのサイトに位置するか、または複数のサイトにわたって分散し、そして通信ネットワークにより相互に連結された１つのコンピューターまたはマルチコンピューターで実行されるように配置することができる。
【００３８】
本明細書に記載する工程および論理流れ図は、入力データを操作し、そして出力を作成することにより機能を行うための１もしくは複数のコンピュータープログラムを実行する１もしくは複数のプログラム可能なプロセッサーにより行うことができる。またこの工程および論理流れ図は、特別な目的の論理回路、例えばＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）、特化型処理装置（例えばＧＰＵ）等によっても行うことができ、そしてまた装置はそれらとして実装することができる。
【００３９】
コンピュータープログラムの実行に適切なプロセッサーは、例として汎用および特殊目的のマイクロプロセッサー、および任意の種類のデジタルコンピューターの任意の１もしくは複数のプロセッサーを含む。一般にプロセッサーは、読出し専用メモリーまたはランダムアクセスメモリーまたは両方からの指令およびデータを受信する。コンピューターの必須要素は指令を行うためのプロセッサー、および指令およびデータを保存するための１もしくは複数の記憶装置である。一般にコンピューターは、データを保存するための１もしくは複数の大容量記憶装置、例えば磁気、光磁気ディスクまたは光ディスクを含むか、またはそこからのデータを受信するか、またはデータをそこへ転送するか、またはその両方のために操作可能に繋がれる。しかしコンピューターはそのような装置を必要としない。さらにコンピューターは別の装置、例えば幾つか挙げるだけでも携帯電話、携帯情報端末（ＰＤＡ）、携帯オーディオプレイヤー、グローバルポジショニングシステム（ＧＰＳ
）受信機に埋め込まれる（ｅｍｂｅｄｄｅｄ）ことができる。コンピュータープログラム指令およびデータを保存するために適するコンピューター可読媒体は、すべての形態の不揮発性メモリー、媒体および記憶装置を含み、それらの例には半導体記憶装置、例えばＥＰＲＯＭ、ＥＥＰＲＯＭおよびフラッシュメモリー装置；磁気ディスク、例えば内蔵ハードディスクまたはリムーバブルディスク；光磁気ディスク；およびＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスクがある。プロセッサーおよびメモリーは特別目的の論理回路により補充できるか、またはそれに組み込まれることができる。
【００４０】
本明細書に記載する主題の態様は、例えばデータサーバーとしてのバックエンドコンポーネントを含むか、またはミドルウェアコンポーネント、例えばアプリケーションサーバーを含むか、またはフロントエンドコンポーネント、例えばグラフィカルユーザーインターフェイス、またはユーザーが本明細書に記載する主題の実装と相互作用できるウェブブラウザを有するクライアントのコンピューターを含むか、またはそのような１もしくは複数のバックエンド、ミドルウェアもしくはフロントエンドコンポーネントの任意の組み合わせを含むコンピューターシステムで実施することができる。このシステムのコンポーネントは、デジタルデータ通信の任意の形態または媒体、例えば通信ネットワークにより相互連結することができる。通信ネットワークの例には、ローカルエリアネットワーク（“ＬＡＮ”）およびワイドエリアネットワーク（“ＷＡＮ”）、例えばインターネットがある。
【００４１】
このコンピューターシステムはクライアントおよびサーバーを含むことができる。クライアントおよびサーバーは一般に互いに離れ、そして一般には通信ネットワークを介して情報交換する。クライアントとサーバーの関係は個々のコンピューターで実行し、そしてクライアント−サーバー関係を互いに有するコンピュータープログラムにより生じる。
【００４２】
本明細書には多くの仕様を含むが、これらは本発明の、または特許請求され得る範囲の限定と解釈すべきではなく、むしろ本発明の特定態様に対する特別な特徴の記載と解釈すべきである。別の態様の内容で本明細書に記載する特定の特徴も、１つの態様で組み合わせて実施できる。逆に１つの態様の内容で記載する様々な特徴は、多くの態様で別々に、または任意の適切な部分的組み合わせでも実施することができる。さらに特徴は特定の組み合わせで作用すると上記に記載することができ、そしてそのように最初は特許請求するが、特許請求する組み合わせからの１もしくは複数の特徴は場合により組み合わせから削除することができ、そして特許請求する組み合わせは部分的組み合わせまたは部分的組み合わせの変形を対象とすることができる。
【００４３】
同様に図面では操作を特定の順序で表すが、これは所望する結果に到達するためにそのような操作が示した特定の順序または連続的順序で行われること、あるいはすべての説明した操作が行われることを要求していると理解すべきではない。特定の状況では、マルチタスク動作および平行処理が有利かもしれない。さらに上記態様の様々なシステムのコンポーネントの分離は、そのような分離をすべての態様で要求すると理解されるべきではなく、そして記載したプログラムコンポーネントおよびシステムは一般に１つのソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージされ得ると理解すべきである。
【００４４】
このように本発明の特定態様を記載してきた。他の態様は以下の特許請求の範囲内にある。例えば特許請求の範囲で言及する動作は、異なる順序で行うことができ、それでも所望する結果を達成できる。
【図１】
0006027100.tif 000002
【図３】
0006027100.tif 000003
【図５】
0006027100.tif 000004
【図６】
0006027100.tif 000005
【図７】
0006027100.tif 000006
【図２】
0006027100.tif 000007
【図４】
0006027100.tif 000008