(57)【要約】      （修正有）【課題】ピクセルに対するピクセル値が、記憶しているテクセル値から生成され、そのピクセルを生成したピクセル値に応じて表示させる。【解決手段】ピクセルが、第１のテクセル基準値、第２のテクセル基準値、および第１のテクセル基準値、第２のテクセル基準値およびそれにより１つのテクセル・ブロックを表すための第３のテクセル基準値の３個からなる集合にテクセルをマッピングするために動作するテクセル値を記憶することによりテクスチャリングされる。他の実施形態の場合には、あるピクセルに対する第１のミップマップ値が、一組の最も近い隣接するテクセルに対する検索したテクセル値から二線補間される。ピクセルに対する第２のミップマップ値は、一組の最も近い隣接するテクセルに対する検索したテクセル値を平均することによって生成される。ピクセルに対するピクセル値は、第１および第２のミップマップ値の間で補間を行うことにより生成される。【選択図】図９
2010102729.tif 000002
【特許請求の範囲】
【請求項１】
ピクセルをテクスチャリングするための方法であって、
複数の重複するテクセル・ブロックのそれぞれの一つに対するマッピングを行う、複数のテクセル基準値及びテクセル・マッピング値を記憶するステップと、
前記記憶されたテクセル基準値及びマッピング値から、前記ピクセルに対するピクセル値を発生させるステップと、
前記発生したピクセル値に応答し、前記ピクセルを表示するステップと、
を有する方法。
【請求項２】
前記記憶されたテクセル基準値及びテクセル・マッピング値から前記ピクセルに対するピクセル値を発生するステップは、テクセルの重複する複数のブロックのうちの、最も近い隣接する一組のテクセルに対するピクセル値を発生させるステップを有し、
前記テクセル・ブロックは、前記ピクセル・マップ中のいずれかのピクセルに対するピクセル値の発生が一つ以上のブロックに対するテクセル値とテクセルマッピング値を必要とするように重複している、請求項１に記載の方法。
【請求項３】
前記記憶されたテクセル基準値及びテクセル・マッピング値から前記ピクセルに対するピクセル値を発生するステップは、テクセルの重複する複数のブロックのうちの、最も近い隣接する一組のテクセルに対するピクセル値を発生させるステップを有し、
前記テクセル・ブロックは、前記ピクセル・マップ中のいずれかのピクセルに対するピクセル値の発生が二つ以上のブロックに対するテクセル値とテクセルマッピング値を必要とするように重複している、請求項１に記載の方法。
【請求項４】
前記テクセルのブロックが二つの直交方向中で重なっている、請求項１に記載の方法。
【請求項５】
前記テクセルのブロックが一つの方向だけで重なっている、請求項１に記載の方法。
【請求項６】
前記ピクセルに対するピクセル値の発生は：
前記記憶されたテクセル基準値及びテクセル・マッピング値を少なくとも一つのテクセル・ブロックについて処理し、前記ピクセルに対する最も近い隣接する一組のテクセルについてのテクセル値を求めるステップと、
前記最も近い隣接する一組のテクセルに対する前記テクセル値から、前記ピクセルについての第一のミップマップ値を二線補間するステップと、
前記最も近い隣接する一組のテクセルについてのテクセル値を平均して、第二のミップマップ値を発生させるステップと、そして
前記第一及び第二のミップマップ値を補間して、前記ピクセルに対するピクセル値を求めるステップと、から成る、請求項１に記載の方法。
【請求項７】
ディスプレイと、
複数の重複するテクセル・ブロックのそれぞれの一つに対するマッピングを行う、複数のテクセル基準値及びテクセル・マッピング値を記憶する手段と、
前記記憶されたテクセル基準値及びマッピング値から、前記ピクセルに対するピクセル値を発生させる手段（８２０）と、
前記発生したピクセル値に応答し、前記ピクセルをディスプレイ上に表示する手段と、
を有する装置。
【請求項８】
前記記憶する手段、ピクセル値を発生させる手段及び表示する手段は、無線端末で実施される、請求項７に記載の装置。
【請求項９】
ピクセルをテクスチャリングするためのコンピュータ・プログラム製品であって、当該コンピュータ・プログラム製品はコンピュータ読み取り可能なプログラム記憶媒体に記憶されたコンピュータ読み取り可能なプログラム・コードから成り：
複数の重複するテクセル・ブロックのそれぞれの一つに対するマッピングを行う、複数のテクセル基準値及びテクセル・マッピング値を記憶するように構成されたプログラム・コードと、
前記記憶されたテクセル基準値及びマッピング値から、前記ピクセルに対するピクセル値を発生させるように構成されたプログラム・コードと、
前記発生したピクセル値に応答し、前記ピクセルをディスプレイに表示させるように構成されたコードと、
を有するコンピュータ・プログラム製品。
【請求項１０】
前記ピクセルに対するピクセル値を発生するように構成されたプログラム・コードは：
前記記憶されたテクセル基準値及びテクセル・マッピング値を少なくとも一つのテクセル・ブロックについて処理し、前記ピクセルに対する最も近い隣接する一組のテクセルについてのテクセル値を求めるように構成されたプログラム・コードと、
前記最も近い隣接する一組のテクセルに対する前記テクセル値から、前記ピクセルについての第一のミップマップ値を二線補間するように構成されたプログラム・コードと、
前記最も近い隣接する一組のテクセルについてのテクセル値を平均して、第二のミップマップ値を発生させるように構成されたプログラム・コードと、そして
前記第一及び第二のミップマップ値を補間して、前記ピクセルに対するピクセル値を求めるように構成されたプログラム・コードと、
から成る、請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２００２年１２月２０日付けの「テクスチャ圧縮、ブロック重なりおよび／またはテクスチャ・フィルタリングを使用するグラフィックス・テクスチャ処理方法、装置およびコンピュータ・プログラム製品」（Ｇｒａｐｈｉｃｓ  Ｔｅｘｔｕｒｅ  Ｐｒｏｃｅｓｓｉｎｇ  Ｍｅｔｈｏｄｓ，Ａｐｐａｒａｔｕｓ  ａｎｄ  Ｃｏｍｐｕｔｅｒ  Ｐｒｏｇｒａｍ  Ｐｒｏｄｕｃｔｓ  Ｕｓｉｎｇ  Ｔｅｘｔｕｒｅ  Ｃｏｍｐｒｅｓｓｉｏｎ，Ｂｌｏｃｋ  Ｏｖｅｒｌａｐｐｉｎｇ  ａｎｄ／ｏｒ  Ｔｅｘｔｕｒｅ  Ｆｉｌｔｅｒｉｎｇ）という名称の、Ａｋｅｎｉｎｅ−Ｍｏｅｌｌｅｒ他の米国特許出願第１０／３２６，８４９号の優先権を主張し、また２００２年６月７日付けの「ＰＯＯＭＡテクスチャ・フィルタリング・システム」（ＰＯＯＭＡ  Ｔｅｘｔｕｒｅ  Ｆｉｌｔｅｒｉｎｇ  Ｓｙｓｔｅｍ）という名称のＡｋｅｎｉｎｅ−Ｍｏｅｌｌｅｒ他の米国仮特許出願第６０／３８７，０４９号の利益を主張する。上記特許は、参照によりその全体を本明細書に組み込むものとする。
【０００２】
本発明は、コンピュータ・グラフィックスに関し、特にグラフィックス・テクスチャ処理方法、装置およびコンピュータ・プログラム製品に関する。
【背景技術】
【０００３】
三次元グラフィックスのリアルタイム・レンダリングは、ゲーム、マンマシン・インタフェース、メッセージ通信およびｍ−ｃｏｍｍｅｒｃｅ（移動商取引）を含む、移動端末における多数の興味をそそる用途を有する。三次元レンダリングは、計算上高価なタスクであるので、多くの場合、十分な性能を実現するには専用のハードウェアを構築しなければならない。それ故、このハードウェア・アーキテクチャの複雑さおよび帯域幅の使用を低減するための画期的な方法は非常に重要なものである。
【０００４】
リアルタイム・レンダリングでの現実性のレベルを高める１つの標準的な方法は、表面にテクスチャを適用する方法である。このことは、環境マッピング、バンプ・マッピング、自動テクスチャ座標生成を通してのテクスチャリング、投影をベースとするテクスチャリング等を含む種々の方法で行うことができる。テクスチャを使用する種々の方法のすべてに共通しているのは、エイリアシングの問題を低減するために高品質のテクスチャ・フィルタリングが必要になる場合があるということである。エイリアシングは、視聴者に対して、特に動的シーンの場合、非常に混乱を生じる場合がある。
【０００５】
ハードウェア内で実施するテクスチャ・フィルタリングのために通常使用するスキームは、ミップマッピングであり、三線ミップマッピングの形の場合には、このスキームは、比較的高品質のフィルタリングを行う。欠点は、過度のぼけが発生する場合があることである。しかし、このぼけはエイリアシングよりは好ましい場合があることに留意されるべきである。ミップマッピングについては、例えば、Ｌａｎｃｅ  Ｗｉｌｌｉａｍｓが、「角錐パラメトリックス」（Ｐｙｒａｍｉｄａｌ  Ｐａｒａｍｅｔｒｉｃｓ）（１９８３年７月発行のコンピュータ・グラフィック、ＳＩＧＧＲＡＰＨ’８３議事録１〜１１ページ）で論じている。その全文は参照により本明細書に組み込むものとする。
【０００６】
三線ミップマッピングは、使用する１つのカラーにフィルタリングされる８つのテクセルを必要とする。そのため、最悪の場合には、フィルタリングしたカラーを入手する前に、８つのメモリ読出しを必要とする場合がある。先取り（ｐｒｅｆｅｔｃｈｉｎｇ）を含むテクスチャ・キャッシュは、この問題を隠すことができるが、ハードウェアでこのような技術を実行すると高くつく場合がある。
【０００７】
異方性フィルタリング・スキームは、例えば、いくつかの三線ミップマッピング・サンプルをフィルタリングすることにより、過度のぼやけ（ｏｖｅｒｂｌｕｒｒｉｎｇ）を低減または除去することができる。究極の目標は、これらのものが一緒に、テクスチャ空間にピクセルを投影することにより得られる四辺形を完全にカバーすることである。品質を向上させている間に、多数メモリの読出しが非常に増大する場合がある。通常その数は、６〜１２８テクセル読出しになる。
【０００８】
下記の参照文献、すなわち、２００２年６月発行のＡｋｅｎｉｎｅ−Ｍｏｅｌｌｅｒ、Ｔｏｍａｓ、およびＥｒｉｃ  Ｈａｉｎｅｓの「リアルタイム・レンダリング」（Ｒｅａｌ−Ｔｉｍｅ  Ｒｅｎｄｅｒｉｎｇ）、第２版；１９９６年８月発行のＢｅｅｒｓ、Ａｎｄｒｅｗ  Ｃ．、Ｍａｎｅｅｓｈ  Ａｇｒａｗａｌａ、およびＮａｖｉｎ  Ｃｈａｄｄｈａの「圧縮テクスチャからのレンダリング」（Ｒｅｎｄｅｒｉｎｇ  ｆｒｏｍ  Ｃｏｍｐｒｅｓｓｅｄ  Ｔｅｘｔｕｒｅｓ）、コンピュータ・グラフィックス（ＳＩＧＧＲＡＰＨ  ９６議事録）３７３〜３７８ページ；２００１年発行のＢｅｈｒｅｎｓ、Ｕｗｅの「テクスチャ・フィルタリングのための平均面積表」（Ａｖｅｒａｇｅｄ  Ａｒｅａ  Ｔａｂｌｅｓ  ｆｏｒ  Ｔｅｘｔｕｒｅ  Ｆｉｌｔｅｒｉｎｇ）、ＳＩＧＧＲＡＰＨ  ２００１会議抜粋およびアプリケーション、１５０ページ；１９８４年７月発行のＣｒｏｗ、Ｆｒａｎｋｌｉｎ  Ｃ．の「テクスチャ・マッピングのための合計面積表」（Ｓｕｍｍｅｄ−Ａｒｅａ  Ｔａｂｌｅｓ  ｆｏｒ  Ｔｅｘｔｕｒｅ  Ｍａｐｐｉｎｇ）、コンピュータ・グラフィックス（ＳＩＧＧＲＡＰＨ’８４議事録）２０７〜２１２ページ；１９９８年８月発行のＭｃＣａｂｅ、Ｄａｎ、およびＪｏｈｎ  Ｂｒｏｔｈｅｒｓの「ダイレクトＸ６テクスチャ・マップ圧縮」（ＤｉｒｅｃｔＸ  ６  Ｔｅｘｔｕｒｅ  Ｍａｐ  Ｃｏｍｐｒｅｓｓｉｏｎ）、Ｇａｍｅ  Ｄｅｖｅｌｏｐｅｒ  Ｍａｇａｚｉｎｅ５巻、８号、４２〜４６ページ；および１９８３年７月発行のＷｉｌｌｉａｍｓ、Ｌａｎｃｅの「角錐パラメトリックス」（Ｐｙｒａｍｉｄａｌ  Ｐａｒａｍｅｔｒｉｃｓ）、コンピュータ・グラフィックス（ＳＩＧＧＲＡＰＨ’８３議事録）１〜１１ページが、レンダリング、テクスチャ・フィルタリング、テクスチャ・マッピングおよび／またはパラメトリックスの種々の面について論じている。これらの参照文献の内容の全文は参照により本明細書に組み込むものとする。
【０００９】
移動体プラットフォームの場合、メモリ・アクセスが非常に高価なものになる場合がある。標準コンピュータ・グラフィックス・アーキテクチャ上においては、メモリ・アクセスの２／３以上は、テクスチャリングによるものである場合がある。例えば、三線ミップマッピングの例の場合には、テクスチャリングは、８回のメモリ・アクセスを必要とする場合があり、一方、ラスタライザの残りは、他の３つのメモリ・アクセス（ｚ読出し、ｚ書込み、およびカラー・バッファ書込み）を必要とする場合がある。ピクセル毎に１１回のメモリ・アクセスを使用した場合には、妥当な性能を入手するためにクロック周波数を非常に高くしなければならない場合がある。クロック速度が速いと、多くの電力を必要とする場合があり、移動プラットフォームに適さない場合がある。それ故、テクスチャリングのために必要な多数のメモリ・アクセスを低減する一方で、ミップマッピングに類似のテクスチャ品質を維持することは望ましいことである。
【００１０】
テクスチャ圧縮は、グラフィックス・ハードウェアで帯域幅を節約するためによく使用される手段である。このアイデアは、メモリ内に圧縮フォーマットで記憶しているテクスチャを含んでいる場合があるテクセル値、そしてそうすることにより、テクスチャをバスを通して送る場合に必要な帯域幅を低減することができるというものである。データが目的地に到着すると、ハードウェア機構は、テクセル・データを解凍することができる。
【００１１】
先駆者的業績については、Ａｎｄｒｅｗ  Ｃ．Ｂｅｅｒｓ他が、「圧縮テクスチャからのレンダリング」（Ｒｅｎｄｅｒｉｎｇ  ｆｒｏｍ  Ｃｏｍｐｒｅｓｓｅｄ  Ｔｅｘｔｕｒｅｓ）、（１９９６年８月発行のコンピュータ・グラフィックス、ＳＩＧＧＲＡＰＨ９６議事録３７３〜３７８ページ）で論じている。その内容の全文は参照により本明細書に組み込むものとする。Ｂｅｅｒｓ他は、ベクトル量子化の使用、および多数の画像によるベクトル・セットのトレーニングについて論じている。一般に使用されるスキームはＳ３ＴＣと呼ばれる。
【発明の概要】
【課題を解決するための手段】
【００１２】
本発明のいくつかの実施形態によれば、第１のテクセル基準値、第２のテクセル基準値、および上記第１のテクセル基準値、上記第２のテクセル基準値およびそれによりテクセル・ブロックを表すための第３のテクセル基準値の３個からなる集合にテクセルをマッピングするために動作するテクセル値を記憶することによりピクセルがテクスチャリングされる。そのピクセルに対するピクセル値は、記憶しているピクセル値から生成され、そのピクセルは生成したピクセル値に応じて表示される。第３のテクセル基準値は、第１および第２のテクセル基準値により数学的に決定することができる。例えば、第３のテクセル基準値は、第１および第２のテクセル基準値の算術平均を表すことができる。テクセル値は、例えば、ＲＧＢカラー値、グレー・スケール値または他のグラフィックス表現を含むことができる。
【００１３】
本発明の他の実施形態の場合には、複数の各テクセル基準値およびそれにマッピングするテクセル値は、複数の重なっている各テクセル・ブロックのために記憶される。ある実施形態の場合には、１つのピクセル・マップ内のピクセルに対するピクセル値は、複数の重なっているテクセル・ブロック内の最も近くに隣接するテクセルのセットに対する記憶しているテクセル値から生成することができる。この場合、テクセル・ブロックは、ピクセル・マップ内の任意のピクセルに対するカラー値を発生するのに、たった１つのテクセル・ブロックに対して記憶しているテクセル値を必要とするように重なる。他の実施形態の場合には、ピクセル値は、複数の重なっているテクセル・ブロック内の最も近くに隣接するテクセルのセットに対して記憶しているテクセル値から、１つのピクセル・マップ内のピクセルに対して生成することができる。この場合、テクセル・ブロックは、ピクセル・マップ内の任意のピクセルに対する１つのカラー値を発生するのに、たった２つのテクセル・ブロックに対して記憶しているテクセル値を必要とするように重なる。
【００１４】
本発明のさらに他の実施形態の場合には、１つのピクセルに対する第１のミップマップ値は、一組の最も近くに隣接するテクセルに対して検索したテクセル値から二線補間される。上記ピクセルに対する第２のミップマップ値は、上記一組の最も近くに隣接するテクセルに対して検索したテクセル値を平均することにより生成される。上記ピクセルに対するピクセル値は、第１および第２のミップマップ値の間で補間を行うことにより生成される。
【００１５】
本発明によるテクスチャ圧縮、ブロック重なりおよびテクスチャ・フィルタリング技術は、個々におよび／または組合わせて使用することができる。本発明は、方法、装置、およびコンピュータ・プログラム製品として実施することができる。例えば、本発明は、無線端末、携帯情報端末（ＰＤＡ）等のようなハンドヘルド・デバイスで有利に使用することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明のある実施形態によるテクセル・ブロックの記憶表現である。
【図２】本発明の他の実施形態による例示としての三元テクセル値マッピングである。
【図３】例示としてのピクセル／テクセルの関係を示す。
【図４】本発明のある実施形態による重なっているテクセル・ブロック配置を示す。
【図５】本発明のある実施形態による例示としての一組の最も近い隣接するテクセルを示す。
【図６】本発明のある実施形態によるテクセル処理を行うように構成された無線端末である。
【図７】本発明の他の実施形態による例示としてのテクスチャ処理動作を示すフローチャートである。
【図８】本発明を実施することができる無線端末を示す外観図である。
【図９】図８に示す無線端末のプロセッサおよびメモリにより実施可能な、本発明のある実施形態による例示としてのテクスチャ処理動作を示すフローチャートである。
【発明を実施するための形態】
【００１７】
本発明の例示としての実施形態を示す添付の図面を参照しながら、本発明についてさらに詳細に説明する。これらの実施形態は、この用途を完全にまた完璧にするためのものである。図面全体を通して、類似の番号は類似の要素を示す。
本明細書に記載する本発明の種々の実施形態によれば、使用帯域幅を有意に低減することができるテクスチャ・フィルタリングに対する新規なアプローチが実行される。本発明の種々の態様は下記のものを含むことができる。
テクスチャ圧縮、および／または
テクスチャ・ブロック重なり、および／または
テクスチャ・フィルタリング。
【００１８】
これら３つの態様は、プア・マンのテクスチャ・フィルタリング・システム（ＰＯＯＭＡ）を提供するために本発明の実施形態により結合することができる。最初に、このようなシステムの例示としての実施形態を簡単に説明し、その後で本発明のいくつかの態様の構成方法についてより詳細に説明する。
【００１９】
本発明のある実施形態の場合には、テクスチャ画像を小さなブロック（例えば、３×２テクセル）に分割することができ、テクスチャ圧縮を、通常下限が１つの３２ビットのメモリ読出しであるこのようなブロックを取り出すために必要なメモリ帯域幅を低減するために使用することができる。次のステップで、あるテクスチャ重なりは、結局は、４つの隣接する各テクセル・グループが、いつでも複数のブロックのうちの１つに完全に含まれるように、複数のブロックを重ねることになる。これにより、１回のメモリ・アクセスにより二線フィルタリングを行うことができる。本明細書に記載するテクスチャ・フィルタリングは、ピクセルのカラーを入手するために、４つのテクセルをフィルタリングするための方法を提供する。ミップマッピングの場合のように、４つのピクセルに対する二線フィルタリングは、底部ミップマップ・レベルで使用することができる。しかし、上のミップマップ・レベルからテクセルを取り出す代わりに、４つの最近読み出したテクセルの平均が計算され、その値が代わりに使用される。この結果は、最も近い隣接ミップマッピングを使用した場合よりも、非常に優れたテクスチャリングを供給することができ、三線ミップマッピングとほぼ同じよい結果をもたらすことができる。そのコストは、最も近い隣接ミップマッピング（低品質）の場合に２であり、三線ミップマッピング（高品質）の場合に８であるのと比較した場合、フィルタリングしたカラー当たり１つの３２ビット・メモリ読出しにしか過ぎない。
【００２０】
Ａ．テクスチャ圧縮
本明細書に記載する本発明の実施形態によるテクスチャ圧縮デコーダのいくつかの態様は、ただ１つの３２ビット・メモリ転送で全ブロックを読み出すことができるように修正した、広く使用されているＳ３ＴＣスキームに類似していてもよい。３２ビット・アーキテクチャの例の場合には、下記の修正の中の１つまたは組合わせを使用することにより、１ブロック／メモリ転送比を実行することができる。
【００２１】
ブロック・サイズは、例えば、２×３ピクセルのようにかなり小さい、
３つのカラー（２つの基準カラーとその間の１つのカラー）が、４つのカラーの代わりに使用される、
基準カラーは、１６ビットの代わりにカラー当たり１１ビットでコード化される、および／または
３つのカラーは、（２進表現とは反対の）三元表現でコード化される。
これらの修正により、１回の３２ビット・メモリ転送（４バイト）で全ブロックを読み出すことができる。
【００２２】
２×３テクセル・ブロックは、図１に示すように、データ要素１００により表すことができる。図１の場合、ｒＬ、ｇＬおよびｂＬは、第１の基準カラーの赤、緑および青の成分を表す。この場合、「Ｌ」は「左」を表す。同様に、ｒＲ、ｇＲおよびｂＲは、第２の基準カラーを表す。この場合、「Ｒ」は「右」を表す。これらの２つのカラーから、ＲおよびＬの算術平均をとることにより、「中間の」基準カラーが生成される。この新しい基準カラーは、「中間」の意味で「Ｍ」と呼ばれる。ＲおよびＬは、４＋４＋３ビットに記憶することができ、５＋５＋４ビットはＭを表すために使用できることに留意されたい。
【００２３】
さらに、図１内のｘがついているビットは、ブロック内のテクセルの３つのカラーを表す。例えば、ｘからそのカラーを入手するために一番上の３つのテクセルを選択することができ、一番下のテクセルはｙで制御される。ｘおよびｙの両方は、表１によりＬ、ＭおよびＲの３つからなる集合にマッピングされる。
【表１】
2010102729.tif 000003
【００２４】
例えば、ｘ＝２３（１０１１１）であり、ｙ＝０（０００００）である場合には、ブロック２００は図２に示すように復号される。この場合、一番上の左のピクセルは、「右の」基準値をとり、次のピクセルは、「中央の」値をとる。以下同じ。２７〜３１の範囲は使用されない。通常、一番上の（ｌｏｇ（３＾ｋ）／ｌｏｇ（２））ビットによりｋ個の３つからなる集合をコード化することができる。また、そうすることにより、１回だけの３２ビット・メモリ転送で、２×３＝６テクセル値を読み出すことができる。ピクセル当たり２バイトの場合と比較すると、圧縮比は２×４：６×４、すなわち、１：３である。テクスチャが拡大された場合、次のピクセルが同じブロックをアドレス指定する機会がどちらかといえば大きいことに留意されたい。それ故、そのピクセルをテクスチャリングするには、ゼロ・メモリ転送が必要になる場合がある。
【００２５】
Ｂ．テクスチャ・ブロック重なり
従来の二線補間を行う場合、テクスチャ・マップ内のサンプル点に最も近い４つのテクセルが必要になる場合がある。例えば、図３に示すように、ピクセルがグレー・エリア３１０内に位置する場合には、複数の最も近くに隣接するテクセル・カラー値の中の４つすべてが同じブロック内に位置していて、たった１回のメモリ転送で十分である。しかし、ほとんどの場合、すべての最も近くに隣接するテクセルを入手するためには、最大４つのブロックを取り出す必要がある場合がある。
【００２６】
図４は、二線補間のための追加の読出しを避けるために、本発明のある実施形態による重なり方法で複数のブロックをレイアウトする方法を示す。それ故、実線で示すブロック４００ａは、（右の）四角な鎖線で示すブロック４００ｂ、および（下の）円形鎖線で示すブロック４００ｃの両方に重なる。このようにして、いつでも、あるピクセルの４つのすべての隣接するテクセルを含む１つのブロックを発見することができる。それ故、４つの隣接するテクセルをたった１回のメモリ取り出しでレイアウトすることができる。
【００２７】
このレイアウトは、データをｘ方向に１．５倍拡張し、ｙ方向に２倍拡張することにより行うことができる。しかし、テクスチャ圧縮の圧縮比は３：１であるので、テクスチャ圧縮もテクスチャ重なりも使用しない場合には、同じメモリ要件で終了する。
【００２８】
重なりを１つの方向だけに限定することができる。例えば、ｘ方向だけに重なることにより、データは１．５倍だけ拡張される。（圧縮を含めて、全記憶容量は元の０．５だけである。）それ故、このケースの５０％の場合、４つのすべてのピクセルは、このブロック内に位置する。残りのケースの場合には、他のブロックも読み出さなければならない。表２は、必要なメモリ要件および必要な平均帯域幅を示す。
【表２】
2010102729.tif 000004
【００２９】
Ｃ．テクスチャ・フィルタリング
ピクセルの４つの隣接するテクセルを取り出した場合には、テクスチャリングをスタートすることができる。図５に示すように、４つの最も近い隣接するテクセルをＡ、Ｂ、ＣおよびＤで表示した場合、Ａ、Ｂ、ＣおよびＤ上で二線補間を使用することにより、第１の低いレベルのミップマップ値Ｑを入手することができる。Ａ、Ｂ、ＣおよびＤを平均することにより、第２の上のレベルのミップマップ値Ｐを入手することができる。下および上のミップマップ・レベルへのそのピクセルの近接度により、そのピクセルに対する１つの値を決定するために、第１および第２のミップマップ値ＱおよびＰの間で、線形補間を実行することができる。
【００３０】
Ａ、Ｂ、ＣおよびＤがテクセル・マップ内の偶数位置に位置する場合には、Ｐはミップマップ階層内の対応するテクセルであることに留意されたい。この場合、結果は下のミップマップ・レベルの二線補間の使用の場合と等しく、高いミップマップ・レベルの最も近い隣接補間である。しかし、Ａ、Ｂ、ＣおよびＤが偶数位置に位置していない場合には、高いミップマップ・レベルの最も近くに隣接するテクセルだけを使用した場合よりももっと正確な１つの値を入手することができる。それ故、性能は、下のレベルにおいては二線補間を使用した場合よりも改善され、上のレベルにおいては最も近くに隣接するテクセルを使用した場合よりも改善される。
【００３１】
場合により、上記ＰＯＯＭＡテクスチャ・フィルタリングの結果は、三線フィルタリングよりもよく見える場合がある。何故なら、過度のぼやけがそれほどひどくないからである。このテクスチャ・フィルタリングは、テクスチャ圧縮およびテクスチャ・ブロック重なりとは別に、メモリ転送の回数を半分にすることができることに留意されたい。
【００３２】
本発明を種々の態様によれば、複数のテクセルの表現でビットを入手する機能は、４つのレベルではなく３つのレベル（Ｌ、ＭおよびＲ）を使用して供給することができる。三元表現は、４つのレベルを使用する場合に必要となることがある、２＊ｋビットの代わりに、ｋ個のテクセルに対する一番上の（ｌｏｇ（３＾ｋ）／ｌｏｇ（２））ビットを使用するだけである。これによりブロック当たりの圧縮効率を増大することができる。他の態様によれば、重なっている複数のブロックを使用すると、ピクセルをピクセル当たり１回の３２ビット・メモリ・アクセスするために、アクセスしなければならないブロックの平均数を低減することができる。さらに他の態様によれば、ピクセル・カラーを生成するために、４つの隣接するピクセルのフィルタリングを使用することができる。このことは、三線ミップマッピングの場合のように２つのミップマップ・レベルを使用する代わりに、１つのミップマップ・レベルだけを、ピクセル当たりアクセスしさえすればよく、それによりメモリ・アクセスの数を半分にする必要があることを意味する。これらの機能は、種々の組合わせでおよび／または別々に使用することができることを理解することができるだろう。
【００３３】
Ｄ．例示としての実施態様
本明細書内の図６および図７は、本発明のある実施形態による例示としての装置および動作を示す図面である。これらの図面に示す動作、およびその組合わせは、無線通信システムまたは無線端末の構成要素に内蔵されている回路のような１つまたはそれ以上の電子回路により実施できることを理解できるだろう。また、通常、これらの図面に示す動作およびその組合わせは、１つまたはそれ以上の個々の電子構成要素、１つまたはそれ以上の集積回路（ＩＣ）、１つまたはそれ以上の特定用途向け集積回路（ＡＳＩＣ）、および特定用途向け回路モジュールのような１つまたはそれ以上の電子回路で実施可能であることが理解できるであろう。またコンピュータまたは他のプログラマブル・データ処理装置上で実行する命令が、電子回路や指定の動作を実施する他の手段を形成するように機械を形成するマイクロプロセッサやデジタル信号プロセッサ（ＤＳＰ）のようなコンピュータまたは他のデータ処理装置により実行可能なコンピュータ・プログラム命令により実施可能であることも理解できるだろう。コンピュータ・プログラム命令は、また、指定の動作を含むコンピュータが実施したプロセスを生成するために、コンピュータまたは他のプログラマブル装置に一連の行動を実行させるために、１つまたはそれ以上のコンピュータまたは他のデータ処理装置上で実行することもできる。
【００３４】
コンピュータ・プログラム命令は、また、コンピュータ可読記憶媒体でコンピュータ・プログラム製品の形で、すなわち命令実行システムでまたは命令実行システムに関連して使用するために、上記媒体で実施したコンピュータ可読プログラム・コードとしても実施することができる。コンピュータ可読記憶媒体は、磁気または光ディスクまたは集積回路メモリ・デバイスのような電子、磁気、光学的または他の記憶媒体を含むことができるが、含むことができるものはこれらに限定されない。例えば、コンピュータ・プログラム命令は、無線通信装置の構成要素が内蔵しているメモリ内、および／または上記メモリをプログラムするために動作することができる記憶媒体内で実施することができる。それ故、図６および図７の略図のブロックは、電子回路および指定の動作を実行する他の装置をサポートし、指定の動作および指定の動作を実行するように構成されているコンピュータ・プログラム製品を実行するために動作する。
【００３５】
図８は、本発明を実施することができる無線端末６００を示す。端末６００は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）またはグラフィックス・プロセッサのようなデータ・プロセッサ６２０により制御されるディスプレイ６１０および関連するメモリ６３０を含む。図面においてはプロセッサ６２０で実施されるテクスチャ・プロセッサ回路６２２は、メモリ６３０内で、またはメモリ６３０からテクセル・ブロック情報を記憶し、検索する。図面においてはプロセッサ６２０で実施されるディスプレイ生成回路６２４は、テクスチャ・プロセッサ回路６２２に応じてディスプレイ６１０を制御する。テクスチャ・プロセッサ回路６２２は、本明細書に記載するテクスチャ圧縮、ブロック重なり、およびテクスチャ・フィルタリング技術を実行するように構成することができる。
【００３６】
図８の装置は例示のためのものであり、本発明は多数の他の形の中の任意のもので実施可能であることを理解できるだろう。例えば、本発明は、デスクトップＰＣおよびワーク・ステーション、ラップトップ、ノートブック、タブレットおよび他のポータブル・コンピュータ、携帯情報端末（ＰＤＡ）、および電子ブック・リーダおよび他のポータブル・グラフィックス・デバイスを含むがこれらに限定されないグラフィックス表示を生成する他のタイプのデバイスでの用途にも同様に適応できる。さらに、図６のグラフィックス処理アーキテクチャは単に例示としてのものであって、グラフィック表示を生成するための特殊目的専用グラフィックス・ハードウェアを使用するアーキテクチャのような種々のアーキテクチャも本発明と一緒に使用可能であることを理解できるだろう。本発明の種々の実施形態によれば、本明細書に記載するテクスチャ圧縮、テクセル・ブロック配置およびテクスチャ・フィルタリングは、個々にまたは組合わせて使用することができ、およびこれらの動作を図６の無線端末６００内に示すものを含む多数の異なるグラフィックス処理環境のうちの任意の環境内で適用することができる。
【００３７】
図９は、例えば、図８の無線端末のプロセッサ６２０およびメモリ６３０により実施可能な、本発明のある実施形態による例示としてのテクスチャ処理動作を示す。各データ要素（例えば、すでに説明したようにＲＧＢカラー情報を含む３２ビット語）は、複数の重なっているテクセル・ブロックのそれぞれに対して記憶される（ブロック７１０）。各データ要素は、第１および第２のテクセル基準値およびこのブロック内の複数のテクセルに対する１つまたはそれ以上のテクセル値を含む。この場合、上記の１つまたはそれ以上のテクセル値は、複数のテクセルを第１および第２のテクセル基準値、および例えば第１および第２のテクセル基準値の算術平均として、第１および第２の基準値により決定される第３のテクセル基準値の３つからなる集合にマッピングする。テクセル値は、ＲＧＢカラー値、グレー・スケール値、および／またはグラフィックス・アプリケーションで共有に使用される他の表現形式を含むことができるが、含むことができるものはこれらに限定されないことを理解できるだろう。
【００３８】
ピクセルのテクスチャリングは、例えば、そのピクセルに対する最も近い４つの隣接するテクセルのような最も近くに隣接するテクセルを含む１つのテクセル・ブロックまたは複数のテクセル・ブロックに関連する１つのデータ要素または複数のデータ要素の検索によりスタートする（ブロック７２０）。検索したデータ要素のテクセル値は、次に、テクセル基準値の３つからなる集合にマッピングされる（ブロック７３０）。第１のミップマップ値は、最も近くに隣接するテクセルに対するテクセル値から二線補間され（ブロック７４０）、第２のミップマップ値は、最も近くに隣接するテクセルのテクセル値の平均から生成される（ブロック７５０）。そのピクセルに対するピクセル値は、第１および第２のミップマップ値から線形補間され（ブロック７６０）、生成したピクセル値は、ピクセルを表示するために使用される（ブロック７７０）。
【００３９】
図９は、本発明の新規なテクスチャ圧縮、重なっているテクセル・ブロック配置、およびテクスチャ・フィルタリング技術を組合わせた使用方法を示しているが、従来技術と組合わせたこれらの技術のサブセットの使用も本発明の範囲内に含まれることを理解できるだろう。例えば、本発明の新規なテクスチャ圧縮技術は、従来の重なっていないテクセル・ブロック配置および従来の二線、三線または他のテクスチャ・フィルタリング技術と一緒に使用できる。同様に、従来のテクスチャ記憶および／または圧縮および従来のテクスチャ・フィルタリング技術も、本発明の新規なテクセル・ブロック配置と一緒に使用できる。最後に、従来のテクスチャ記憶および／または圧縮技術および従来のテクセル・ブロック配置を、本発明の新規なテクスチャ・フィルタリング技術と一緒に使用できる。
【００４０】
図面および明細書で開示したのは、本発明の例示としての実施形態である。特定の用語を使用しているが、これらの用語は一般的な意味で、説明のためだけに使用したものであって、本発明を制限するものではない。
【図１】
2010102729.tif 000005
【図２】
2010102729.tif 000006
【図３】
2010102729.tif 000007
【図４】
2010102729.tif 000008
【図５】
2010102729.tif 000009
【図６】
2010102729.tif 000010
【図７】
2010102729.tif 000011
【図８】
2010102729.tif 000012
【図９】
2010102729.tif 000013