JP4817792B2 - テクスチャベースのピクセルパッキング - Google Patents
テクスチャベースのピクセルパッキング Download PDFInfo
- Publication number
- JP4817792B2 JP4817792B2 JP2005299093A JP2005299093A JP4817792B2 JP 4817792 B2 JP4817792 B2 JP 4817792B2 JP 2005299093 A JP2005299093 A JP 2005299093A JP 2005299093 A JP2005299093 A JP 2005299093A JP 4817792 B2 JP4817792 B2 JP 4817792B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- computer
- pixel
- bits
- texture
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Generation (AREA)
Description
本明細書で説明される方法およびシステムは、テキスト、記号、および他のグリフをレンダリングする際に使用されるフォントテクスチャを表すために使用されるビットマップをパックおよびアンパックすることができる。アプリケーションはこうした技法を使用して、アプリケーションを実行中のハードウェアによって提供されるメモリリソースに過度の負担をかけることなく、非常に大きなサイズのグリフセットを提供することができる。例えばいくつかの実施形態では、フォントパッキングツールは1ピクセル当たり16ビットのフォントビットマップを(スクリーンまたは他のディスプレイデバイス上に表示するための1つの出力ピクセルを生成するために使用される情報を含むソースピクセルと共に)1ピクセル当たり4ビットに圧縮する。他の実施形態では、フォントパッキングツールは1ピクセル当たり8ビットのフォントビットマップを1ピクセル当たり2ビットに圧縮する。さらに他の実施形態では、フォントパッキングツールは1ピクセル当たり8ビットのフォントビットマップを1ピクセル当たり1ビットに圧縮する。この方法およびシステムは、従来のピクセルシェーダを含むグラフィックス処理ユニットを介して、圧縮されたフォントビットマップをアンパックすることもできる。
図2および以下の説明では、本発明が実施可能な代表的環境について簡単に概要を述べる。必須ではないが、本発明の諸態様は、汎用コンピュータ(例えばサーバコンピュータ、無線デバイス、またはパーソナル/ラップトップコンピュータ)によって実行されるルーチンなどのコンピュータ実行可能命令との関連において説明される。関連技術業者であれば、本発明が他の通信、データ処理、または、インターネットアプライアンス、ハンドヘルドデバイス(携帯情報端末(PDA)を含む)、ウェアラブルコンピュータ、あらゆる種類のセルラー式電話または移動電話、埋込み型コンピュータ(車両に結合された物を含む)、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電化製品、セットトップボックス、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、およびその他を含む、コンピュータシステム構成で実施可能であることを理解されよう。実際には、「コンピュータ」、「ホスト」、および「ホストコンピュータ」という用語は一般に同義的に使用され、上記のデバイスおよびシステムのうちのいずれか、ならびに任意のデータプロセッサを指すものでる。
(1)1ピクセル当たり16ビットから1ピクセル当たり4ビットへの圧縮
図3〜6は、アンチエイリアシング、ドロップシャドウイング、およびアウトライニングなどの機能を依然として保持しながら、4ビットに圧縮可能なピクセルを有するフォントテクスチャを、パッキングおよびアンパッキングするための技法に対応する。一般に、1ピクセル当たり16ビットのテクスチャは、カラフルなテキストを有する、および/またはカスタム描画機能をフォント(例えば矢印、グラフィックスなど)に埋め込む、アプリケーションに使用される。こうしたテクスチャは様々なフォーマットを使用して構成することができる。こうしたフォーマットの一例が、ピクセルの各チャネル(例えば赤、緑、青、アルファ)に4ビットが割り当てられた、MicrosoftのDirectX 8クラスハードウェアが提供するフォーマットである。このフォーマットは赤に独立した16の値、緑に16、というようにすることが可能であり、アーティストの色付けイメージを含むほとんどのカラーイメージに十分である。
図7〜10は、アンチエイリアシングなどの機能を依然として保持しながら、わずか2ビットに圧縮可能なピクセルを有するフォントをパッキングおよびアンパッキングするための技法に対応する。図7は、こうしたフォントを含むテクスチャビットマップ700の一例を示す。このフォーマットで構成されたテクスチャの場合、あらゆるピクセルのカラー値を白にすることができる。アンチエイリアシング効果を可能にするために、各グリフの外側に近い白のピクセルに透明値を割り当てることが可能であり、その結果こうしたピクセルがカラーの背景にフェードインして見える。
10:RGB=白、アルファ=66%不透明
01:RGB=白、アルファ=33%不透明
00:RGB=白、アルファ=0%(透明)
(例えばビット単位演算を実行するパッキングツールを使用して)上記のフォーマットにパックされるテクスチャビットマップは、その後アプリケーション(例えばビデオゲームアプリケーション)で使用することができる。図8は、1ピクセル当たり2ビットの圧縮済みテクスチャビットマップ800の表示例を提供する。
一部のアプリケーションでは、メモリの使用量を減らすために可能なあらゆる手段を講じることが望ましい。こうしたケースでは、(依然として8,000+文字フォントをサポートしながら)1ピクセル当たり8ビットのフォントを1ピクセル当たり1ビットにパッキングするための技法は、アンチエイリアシングのサポートが容易でないという欠点があり得るにもかかわらず、かなりの利点を与えることができる。
文脈上明確に必要としない限り、「有する」「有している」などの単語は、説明および特許請求の範囲全体を通じて排他的または網羅的な意味と対立する包含的な意味、すなわち「含むが限定されない」という意味であると解釈される。さらに、「本明細書で」、「上記」、「下記」および同様の趣旨の単語は、本明細書で使用される場合、本明細書のいずれかの特定部分ではなく本明細書全体を指すものとする。特許請求の範囲が2つまたはそれ以上のリストを参照する際に「または」という単語を使用する場合、この単語は、リスト内の項目のいずれか、リスト内の項目のすべて、およびリスト内の項目のいずれかの組合せ、という単語の解釈のすべてをカバーする。
204 データストア
206 メモリ
208 オーディオ/ビデオポート
210 イーサネット(登録商標)ポート
212 電源ポート
214 コントローラポート
218 ゲームアプリケーション
220 ピクセルシェーダ
222 ゲーム設計システム
224 パッキングツール
226 パック済みテクスチャ
Claims (5)
- 2次元空間での表示用の3次元グラフィックスをレンダリングするために使用されるテクスチャに、テキスト記号を格納するために使用されるビット数を減らすための、コンピュータにより実行される方法であって、
前記コンピュータが、テキスト記号を含む未圧縮のテクスチャビットマップを受け取るステップであって、前記未圧縮のテクスチャビットマップは1ピクセル当たり16ビットのフォーマットを有するピクセルを使用する、受け取るステップと、
前記コンピュータが、前記未圧縮のテクスチャビットマップを圧縮されたテクスチャビットマップにパックするステップであって、該パックするステップは、
前記コンピュータが、前記未圧縮のテクスチャビットマップに含まれた各テキスト記号が、事前に色付けされたあるいはカスタムのテキスト記号であるか否か判定するステップと、
前記コンピュータが、前記各テキスト記号が事前に色付けされたあるいはカスタムのテキスト記号である場合、前記各テキスト記号を、圧縮されたテクスチャビットマップに埋め込み、かつ、該各テキスト記号がパックされていないことを示すフラグをセットするステップと、
前記コンピュータが、前記各テキスト記号が事前に色付けされたあるいはカスタムのピクセルでない場合、前記各テキスト記号に含まれる各ピクセルのRGB値のすべてが黒または透明を表すゼロに等しいか否か判定するステップと、
前記コンピュータが、前記各ピクセルのRGB値のすべてがゼロに等しい場合、第1の4ビットを発生し、該第1の4ビットが、0に設定された第1のビットと、アルファ値に設定された第2ないし第4のビットとを含む、ステップと、
前記コンピュータが、前記各ピクセルのRGB値のすべてがゼロに等しくない場合、第2の4ビットを発生し、該第2の4ビットが、1に設定された第1のビットと、前記RGB値にしたがって設定された第2ないし第4のビットとを含む、ステップと、
を含む、パックするステップと、
を含み、これにより、前記各テキスト記号の前記圧縮されたテクスチャビットマップは、前記各テキスト記号が事前に色付けされたあるいはカスタムのテキスト記号である場合には該各テキスト記号を表す未圧縮のテクスチャビットマップと前記フラグを含み、事前に色付けされたあるいはカスタムのテキスト記号でない場合には該各テキスト記号に含まれる各ピクセルについて前記第1または第2の4ビットを含む、
方法。 - 請求項1記載の方法をコンピュータに実行させるコンピュータ実行可能命令を格納したコンピュータ読み取り可能記憶媒体。
- テキスト記号の圧縮されたテクスチャビットマップをアンパッキングするための、コンピュータにより実行される方法であって、前記圧縮されたテクスチャビットマップは、各テキスト記号が事前に色付けされたあるいはカスタムのテキスト記号である場合には該各テキスト記号を表す未圧縮のテクスチャビットマップと、該各テキスト記号がパックされていないことを示すようにセットされたフラグを含み、事前に色付けされたあるいはカスタムのテキスト記号でない場合には該各テキスト記号に含まれる各ピクセルについて4ビット・データを含み、前記未圧縮のテクスチャビットマップは、ピクセル当たり16ビットのフォーマットを有するピクセルを使用し、前記方法が、
前記コンピュータが、前記圧縮されたテクスチャビットマップからの各16ビット・データを取り出すステップと、
前記コンピュータが、前記各16ビット・データからアンパッキングしたテクスチャビットマップを発生するステップであって、該ステップが、
前記コンピュータが、前記各16ビット・データに対応するフラグをテストして、前記各16ビット・データが、事前に色付けされたあるいはカスタムのテキスト記号でないかどうか判定するステップと、
前記コンピュータが、前記前記各16ビット・データが、事前に色付けされたあるいはカスタムのテキスト記号でないと判定した場合、
前記コンピュータが、前記各16ビット・データを4つのチャネルに分離するステップであって、各前記チャネルが4ビットを含む、ステップと、
前記コンピュータが、各前記チャネルの第1のビットが、黒または透明を示す値に設定されているか否か判定するステップと、
前記コンピュータが、前記第1のビットが黒または透明を示す値に設定されている場合、該各チャネルのRGB値をゼロに設定し、かつ該各チャネルの4ビットのうちの第2〜第4ビットにしたがってアルファ値を設定するステップと、
前記コンピュータが、前記第1のビットが黒または透明を示す値に設定されていない場合、該各チャネルの4ビットのうちの第2〜第4ビットにしたがってRGB値を設定するステップと、
を実行するステップと、
を含む、アンパッキングしたテクスチャビットマップを発生するステップと、
を含む、方法。 - 請求項3記載の方法であって、前記コンピュータが、前記各16ビット・データが、事前に色付けされたあるいはカスタムのテキスト記号である場合には、該各16ビット・データをアンパッキングしたテクスチャビットマップに出力する、方法。
- 請求項3または4のいずれかに記載の方法をコンピュータに実行させるコンピュータ実行可能命令を格納したコンピュータ読み取り可能記憶媒体。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/979,962 US7532221B2 (en) | 2004-11-02 | 2004-11-02 | Texture-based packing, such as for packing 16-bit pixels into four bits |
US10/979,963 US7643032B2 (en) | 2004-11-02 | 2004-11-02 | Texture-based packing, such as for packing 8-bit pixels into two bits |
US10/979,962 | 2004-11-02 | ||
US10/979,963 | 2004-11-02 | ||
US10/980,404 US7358975B2 (en) | 2004-11-02 | 2004-11-02 | Texture-based packing, such as for packing 8-bit pixels into one bit |
US10/980,404 | 2004-11-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006134309A JP2006134309A (ja) | 2006-05-25 |
JP4817792B2 true JP4817792B2 (ja) | 2011-11-16 |
Family
ID=36727755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005299093A Expired - Fee Related JP4817792B2 (ja) | 2004-11-02 | 2005-10-13 | テクスチャベースのピクセルパッキング |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4817792B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7890747B2 (en) * | 2006-07-06 | 2011-02-15 | Accenture Global Services Limited | Display of decrypted data by a graphics processing unit |
CN113935891B (zh) * | 2021-09-09 | 2022-08-26 | 完美世界(北京)软件科技发展有限公司 | 像素风格的场景渲染方法、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3770422B2 (ja) * | 1996-06-27 | 2006-04-26 | ソニー株式会社 | 画像生成装置および方法並びにデータ圧縮方法 |
JP4182575B2 (ja) * | 1998-11-09 | 2008-11-19 | ソニー株式会社 | 記憶装置および画像データ処理装置 |
JP4683760B2 (ja) * | 2000-08-23 | 2011-05-18 | 任天堂株式会社 | 再構成可能なピクセルフォーマットを有する組み込みフレームバッファを有するグラフィックスシステム |
US6999100B1 (en) * | 2000-08-23 | 2006-02-14 | Nintendo Co., Ltd. | Method and apparatus for anti-aliasing in a graphics system |
JP3848101B2 (ja) * | 2001-05-17 | 2006-11-22 | シャープ株式会社 | 画像処理装置および画像処理方法ならびに画像処理プログラム |
-
2005
- 2005-10-13 JP JP2005299093A patent/JP4817792B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006134309A (ja) | 2006-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1770205B (zh) | 基于纹理的像素打包 | |
US7358975B2 (en) | Texture-based packing, such as for packing 8-bit pixels into one bit | |
US8704830B2 (en) | System and method for path rendering with multiple stencil samples per color sample | |
KR102275712B1 (ko) | 렌더링 방법, 렌더링 장치 및 전자 장치 | |
US10331448B2 (en) | Graphics processing apparatus and method of processing texture in graphics pipeline | |
US20050093873A1 (en) | Apparatus for compressing data in a bit stream or bit pattern | |
US9159114B2 (en) | Texture decompression for graphics processors | |
US8139075B2 (en) | Color packing glyph textures with a processor | |
KR20180055446A (ko) | 타일 기반 렌더링 방법 및 장치 | |
JP2010514310A (ja) | 画像の圧縮及び/又は復元 | |
EP1980998A2 (en) | Programmable graphics processing element | |
KR102646818B1 (ko) | 그래픽스 파이프라인에서의 인덱스들의 압축 및 압축 해제 | |
KR101812825B1 (ko) | 텍스트 렌더링을 위한 룩업 테이블 | |
US7532221B2 (en) | Texture-based packing, such as for packing 16-bit pixels into four bits | |
CN106575428B (zh) | 图形处理单元中的高阶滤波 | |
US10262391B2 (en) | Graphics processing devices and graphics processing methods | |
US20180097527A1 (en) | 32-bit hdr pixel format with optimum precision | |
JP4817792B2 (ja) | テクスチャベースのピクセルパッキング | |
KR20180037839A (ko) | 그래픽스 프로세싱 장치 및 인스트럭션의 실행 방법 | |
US20130063475A1 (en) | System and method for text rendering | |
US6819320B2 (en) | Reading or writing a non-super sampled image into a super sampled buffer | |
JP2010113548A (ja) | グラフィックス装置 | |
JP3538826B2 (ja) | 演算回路および演算方法 | |
KR20180117835A (ko) | 이미지를 렌더링하는 방법 | |
JP2015049707A (ja) | ハイダイナミックレンジレンダリング方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081014 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090903 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20091008 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110207 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110506 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110511 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110603 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110608 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110707 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110801 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110830 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140909 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |