JP2001134779A - 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置 - Google Patents

三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置

Info

Publication number
JP2001134779A
JP2001134779A JP2000289625A JP2000289625A JP2001134779A JP 2001134779 A JP2001134779 A JP 2001134779A JP 2000289625 A JP2000289625 A JP 2000289625A JP 2000289625 A JP2000289625 A JP 2000289625A JP 2001134779 A JP2001134779 A JP 2001134779A
Authority
JP
Japan
Prior art keywords
pixel
depth
filter
data corresponding
dimensional
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.)
Granted
Application number
JP2000289625A
Other languages
English (en)
Other versions
JP4349733B2 (ja
JP2001134779A5 (ja
Inventor
Yoshitaka Yasumoto
吉孝 安本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US09/468,109 external-priority patent/US6747642B1/en
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Publication of JP2001134779A publication Critical patent/JP2001134779A/ja
Publication of JP2001134779A5 publication Critical patent/JP2001134779A5/ja
Application granted granted Critical
Publication of JP4349733B2 publication Critical patent/JP4349733B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 【課題】 三次元ビデオグラフィックスシステムにお
いて、漫画的な輪郭線のような非写実的な効果の生成に
係る効率的な手法を提供する。 【解決手段】 深度(Z)値を用いて対象物の縁に位置
する画素を求め、これら画素にボーダーカラーを選択的
にブレンドして表示する。対象物の縁を求めるには、あ
る画素の深度値と、その周辺画素の深度値とを比較す
る。この距離値に基づいて、この画素のカラー値に所望
する境界線カラーをブレンドする。一例では、この距離
値は画素のアルファ値の演算に用いられ、その後画素カ
ラーにブレンドされた境界線カラーの量を調節するのに
用いられる。その他の例は、識別値を有する対象物の部
分を通常アルファ値が記憶されるフレームバッファに記
憶させる。この識別値は、境界線カラーを付与するため
の、対象物の部分の区切りを識別するのに用いられる

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、三次元コンピュー
タグラッフィクスに関し、より特定的には、非写実的な
三次元画像化に関する。さらに特定すれば、本発明は、
コンピュータによる三次元対象物の陰影上の線およびそ
の他その縁に見られる境界の生成・表示方法および装置
に関する。
【0002】
【従来の技術】コンピュータグラッフィックスに関する
研究の多くは、リアルな画像の生成に注目する傾向にあ
り、これまでかなりの成功を収めてきている。今では、
コンピュータの作り出す画像は非常にリアルなものとな
ってきており、写真と見分けることができないほどであ
る。たとえば、コンピュータによって作り出された特殊
効果による、非常に写実的で本物であるかのような恐
竜、異星人などを映画やテレビで見かけることも多い。
新人のパイロットが訓練を受けているコンピュータによ
るフライトシミュレータは、非常にリアルで、実際の飛
行状態をほぼ再現している。低価格な家庭用ビデオゲー
ムシステムにおいても、驚くべきレベルのリアリズムが
実現されており、ゲームのプレーヤは、たとえば、本物
のレースカーでトラックを走行しているような、雪や氷
に覆われたスロープをスキーで滑っているような、中世
の城の中を歩いているような錯覚を覚えるほどである。
大抵のゲームでは、このリアリズムによる錯覚がゲーム
プレイ体験を非常にすばらしいものにしている。
【0003】しかし、場合によってはリアルでない画像
の方が好ましいこともある。たとえば、対話型ビデオや
コンピュータゲームなどにおいて、現実の(または空想
上の)世界をリアルにシミュレートするのではなく、わ
ざと非現実的なパロディー調の漫画キャラクタが、たく
さん登場する漫画の世界を創造して表示すれば、娯楽的
価値を持たせることができる。例えば、このようなゲー
ムでは、動き、音声、および対話性をもたせながら、手
描きの漫画本を再現するように努めている。
【0004】このような三次元コンピュータシステムに
おいて、望ましい視覚効果の1つとしては、表示対象物
の陰影の線やその他その縁にみられる境界をはっきり
と、確かなものにすることである。このような境界線に
よって、ある種の画像は鮮明になる。たとえば、漫画キ
ャラクタの輪郭、風景の丘や山、壁の縁など、それぞれ
異なる面をユーザがよりはっきり区別しやすくなる。さ
らに、このような境界線によって、漫画家による手描き
であるかのような望ましい印象が生まれやすくなる。
【0005】
【発明が解決しようとする課題】ここで、キャラクタな
どの対象物の縁周りの境界線のような、リアルでない効
果を付与する方法の一つに、ある対象物を形成するポリ
ゴンの縁に隣接した別の対象物と区別するラインをはっ
きり示す方法がある。
【0006】しかし、別の対象物とのボーダをはっきり
示すと、画像処理が極めて複雑化する。その結果、リソ
ースの限られたシステムにおいて、この方法は画像生成
の遅延や効率の低下を招く。対話型三次元ゲームシステ
ムなどの低価格の三次元グラッフイックスシステムにお
いては、効率は極めて重要である。より効率のよい技術
を用いて視覚効果を生成する方が、乏しいシステムリソ
ースにかかる負担を軽減し、さらには、速度やその他の
性能にそれほど影響を及ぼすことなく、視覚効果を総合
的に向上させることができる。
【0007】
【課題を解決するための手段および発明の効果】本発明
は、家庭用ビデオゲームコンソールなどの、三次元グラ
フィックスシステムにおいて、陰影の線やその縁におけ
る境界線を表示するための効率的な技術を提供すること
によって、この問題を解決する。
【0008】第1の発明によれば、画像がフレームバッ
ファにおいて描画された後、境界線を生成する。本発明
では、フレームバッファに記憶された数値を用いて、対
象物の輪郭またはその他、縁にどの画素が位置している
かを求め、ボーダカラーをこれら画素に選択的にブレン
ドして表示する。
【0009】また、或る実施例によれば、輪郭の縁は、
ある画素の深度値とその周辺画素の深度値とを比較して
配置される。たとえば、「距離」値が或る画素の深度と
その周辺画素の深度との間の距離の絶対値を基に計算さ
れる。その後、この距離値を基に、望ましい境界線のカ
ラーがその画素のカラー値にブレンドされる。たとえ
ば、距離値は画素のアルファ値を計算するために用いら
れ、このアルファ値は画素のカラーにブレンドされるボ
ーダカラーの量を制御するのに用いられる。
【0010】別の例では、さらに深度変化を利用する。
たとえば、距離値と、画素深度の関数であるさらに設け
られた値とを基に画素のアルファ値を計算して、画素の
深度値によって変化したアルファ値を求める。この深度
によって変化させたアルファ値を基に、ボーダカラーを
画素カラーにブレンドする。
【0011】さらなる実施例では、対象物の輪郭上では
なく、漫画家が境界線を引くであろう或る内部の縁の上
に境界線を引く。例えば、漫画キャラクタが身体の前で
腕を曲げている状態を考える。この場合、漫画家は、キ
ャラクタの腕の輪郭の周りに境界線を引くと思われる。
たとえ、このキャラクタが、腕の輪郭の縁が全体の輪郭
の内部に位置するように胴体の前部で腕を曲げていて
も、である。本発明のさらなる特徴によれば、画像の画
素にはそれぞれ異なる識別値が割り当てられる。この識
別値は、典型的にはアルファ値のために用意されたフレ
ームバッファメモリ領域等に格納される。これらの識別
値は、境界線のある縁と、境界線が付与されない縁とを
識別するのに用いられる。
【0012】
【発明の実施の形態】以下、本発明における実施の形態
について、図面を参照しながら説明する。図1は、本発
明に係る、境界線を表示するための三次元ビデオグラフ
ィックスシステム1005の例を示す。
【0013】システム1005は、たとえば、ゲームコ
ントローラ1007および/または他の手入力装置から
の対話型リアルタイム入力に応答し、表示装置1009
(たとえば、家庭用カラーテレビ受像機、ビデオモニ
タ、または他のディスプレイなど)に映像表示を行う。
システム1005は、外部記憶媒体1011(たとえ
ば、交換可能なビデオゲームカートリッジ、CD−RO
M、または他の光ディスクなど)に記憶されたビデオゲ
ームプログラムなどのコンピュータプログラムの制御に
よって動作する。
【0014】本例においては、システム1005は、プ
ロセッサ1010,三次元グラフィックスコプロセッサ
1020およびメモリ1030を含む。プロセッサ10
10は、三次元グラフィックスコマンドをグラフィック
スコプロセッサ1020に与える。グラフィックスコプ
ロセッサ1020は、三次元グラフィックスコマンドに
従って、三次元の世界における二次元ビューをインタラ
クティブに生成する。たとえば、グラフィックスコプロ
セッサ1020は、ハードウェアによる三次元グラフィ
ックスパイプラインを含む。このパイプラインは、三次
元空間において規定されたポリゴンなどのグラフィック
スプリミティブを操作して、任意に選ばれた視点に基づ
く視野面に投影された三次元空間の二次元画像を表す画
素を生成する。本例において、ユーザは、ゲームコント
ローラ1007を用いて、リアルタイムでインタラクテ
ィブに視点を変更することができる。
【0015】グラフィックスコプロセッサ1020は、
生成した表示画素を、メモリ装置1030内のフレーム
バッファ1040に記憶する。フレームバッファ104
0は、カラーフレームバッファ1042と、深度(Z)
バッファ1044とを備える。本例において、カラーフ
レームバッファ1042は、赤、緑、青(RGB)のカ
ラー値の二次元アレイ、および対応するアルファ(A)
値を記憶する。記憶されたRGBカラー値と表示装置1
009上に表示される画素との間は一対一の関係であっ
てもよい。または、フレームバッファ1042は、副サ
ンプルを記憶してもよい。Zバッファ1044は、カラ
ーフレームバッファに記憶されている各画素または副画
素についての深度値(たとえば、視点に対するz方向の
距離)を記憶する。よく知られているように、Zバッフ
ァ1044は、グラッフィクスパイプラインが画像を
「構築」する際に、さまざまな目的に用いられる(たと
えば、見えない面の除去など)。
【0016】好ましい実施例において、カラーフレーム
バッファ1042および/またはzバッファ1044の
内容は、ボーダカラーを、カラーフレームバッファ42
に記憶されている画素カラー値に選択的にブレンドし
て、対象物の境界線を規定する役割も果たす。具体的に
は、システム1005は、画素フィルタ50を備えてい
ても良い。画素フィルタ50は、三次元グラフィックス
コプロセッサ1020によって描画される画像の画素値
を処理して、境界線カラーを表示する対象物の輪郭線、
および/または他の縁の上に選択的に付与する。好まし
い実施例における画素フィルタ50は、画像データがフ
レームバッファ1040または他の画素メモリにおいて
描画された後に、画素後処理の段階で動作する。たとえ
ば、画素フィルタ50は、グラフィックスコプロセッサ
からの画像データと、メモリ1030への画像データと
の結合処理中に、三次元グラフィックスコプロセッサ1
020で描画されてバッファされた画像データに、境界
線などの非写実的な画像要素を付与してもよい。
【0017】図2は、本発明を実施しうるインタラクテ
ィブ三次元コンピュータグラフィックスシステム100
5全体のより詳細な模式図である。システム1005
は、魅力的なステレオ音声を伴うインタラクティブ三次
元ビデオゲームを行うために用いることができる。光デ
ィスク1011などの適切な記憶媒体を光ディスク再生
装置1134に挿入することによって、いろいろなゲー
ムを行うことができる。ゲームを行う者は、手動コント
ローラ1007などの入力装置を操作することによっ
て、システム1005とリアルタイムに対話することが
できる。このコントローラ1007は、ジョイスティッ
ク、ボタン、スイッチ、キーボード、キーパッドなど、
さまざまな操作器が含まれる。
【0018】本例において、メインプロセッサ1010
が、手動コントローラ1007(および/または他の入
力装置)からの入力を受ける。メインプロセッサ101
0は、インタラクティブにこのようなユーザ入力に応答
し、たとえば外部記憶装置1011から提供される、ビ
デオゲームや他のグラフィックスプログラムを実行す
る。たとえば、メインプロセッサ1010は、衝突検出
や動画処理のほかにも、様々なリアルタイムでインタラ
クティブな制御機能を行うことが可能である。
【0019】メインプロセッサ1010は、三次元グラ
フィックスコマンドや音声コマンドを生成し、これらを
グラフィックスおよび音声コプロセッサ1020に送信
する。グラフィックスおよび音声コプロセッサ1020
は、これらのコマンドを処理して、魅力的な画像を表示
装置1009に表示し、ステレオ音声をステレオスピー
カ1137R、1137L、または適切な音声生成装置
において生成する。
【0020】システム1005は、TVエンコーダ11
40を含む。TVエンコーダは、画像信号をコプロセッ
サ1020から受信し、標準的な表示装置1009(た
とえば、コンピュータモニタや家庭用カラーテレビ受像
機)での表示に適するように合成ビデオ信号に変換す
る。また、システム1005は、オーディオコーデック
(圧縮器/伸長器)1138を含む。
【0021】オーディオコーデック1138は、デジタ
ル化された音声信号を圧縮/伸長する(さらに、デジタ
ルアナログ音声信号形式間の変換を行ってもよい)。オ
ーディオコーデック1138は、バッファ1141を介
して音声入力を受信し、コプロセッサ1020に送信す
る(コプロセッサ1020における処理には、コプロセ
ッサが生成する他の音声信号、および/または、光ディ
スク装置1134のストリーミング音声出力を介して受
信した他の音声信号とのミキシングなどがある)。
【0022】コプロセッサ1020は、音声関連情報を
音声タスク専用のメモリ1144に記憶させる。コプロ
セッサ1020は、処理後の音声出力信号をオーディオ
コーデック1138に与えて、圧縮および(たとえば、
バッファ増幅器1142Lおよび1142Rを介して)
アナログ信号への変換を行い、スピーカ1137Lおよ
び1137Rによって再生できるようにする。
【0023】コプロセッサ1020は、システム100
5内の様々な周辺機器と通信することができる。たとえ
ば、パラレルデジタルバス1146は、光ディスク装置
1134との通信に用いられてもよい。シリアル周辺バ
ス1148は、様々な周辺機器との通信に用いられても
よい。この周辺機器の例としては、ROMおよび/また
はリアルタイムクロック1150,モデム1152,フ
ラッシュメモリ1154などが挙げられる。さらなる外
部シリアルバス1156は、拡張メモリ1158(たと
えば、メモリカード)との通信に用いられてもよい。
【0024】図3は、コプロセッサ1020内の構成要
素例のブロック図である。コプロセッサ1020は、1
つの集積回路であって、三次元グラフィックスプロセッ
サ1107と、プロセッサインターフェース1108
と、メモリインターフェース1110と、オーディオデ
ィジタル信号プロセッサ(DSP)1162と、オーデ
ィオメモリインターフェース(I/F)1164と、オ
ーディオインターフェースおよびミキサ1166と、周
辺制御器1168と、表示制御器1128とを含む。
【0025】三次元グラフィックスプロセッサ1107
は、グラフィックス処理タスクを行い、オーディオディ
ジタル信号プロセッサ1162は、オーディオ処理タス
クを行う。表示制御器1128は、メモリ1030から
画像情報をアクセスして取り出し、表示装置1009に
表示するためにTVエンコーダ1140へ与える。オー
ディオインターフェースおよびミキサ1166は、オー
ディオコーデック1138とのインターフェースとな
り、発生源の異なる音声(たとえば、ディスク1011
からのストリーミングオーディオ入力、オーディオDS
P1162の出力、オーディオコーデック1138を介
して受信した外部オーディオ入力など)を混合すること
も可能である。プロセッサインターフェース1108
は、メインプロセッサ1010およびコプロセッサ10
20間のデータや制御に関するインターフェースとな
る。メモリインターフェース1110は、コプロセッサ
1020およびメモリ1030間のデータや制御に関す
るインターフェースとなる。本例において、メインプロ
セッサ1010は、プロセッサインターフェース110
8とコプロセッサ1020の一部であるメモリインター
フェース1110とを介して、メインメモリ1108に
アクセスする。周辺制御器1168は、コプロセッサ1
020および上述の様々な周辺機器(たとえば、光ディ
スク装置1134、コントローラ1007、ROMおよ
び/またはリアルタイムクロック1150、モデム11
52、フラッシュメモリ1154、およびメモリカード
1158)間のデータや制御に関するインターフェース
となる。オーディオメモリインターフェース1164
は、オーディオメモリ1144とのインターフェースを
提供する。
【0026】図4は、三次元グラフィックスプロセッサ
1107と、それに関連するコプロセッサ1020内の
構成要素のより詳細な図である。三次元グラフィックス
プロセッサ1107は、コマンドプロセッサ1114
と、三次元グラフィックスパイプライン1116とを含
む。メインプロセッサ1010は、グラフィックスデー
タのストリームをコマンドプロセッサ1114とやり取
りする。コマンドプロセッサ1114は、このような表
示コマンドを受信し、(メモリ1030から処理に必要
な追加のデータを取得して)解析を行い、三次元処理お
よび描画のために頂点コマンドのストリームをグラフィ
ックスパイプライン1116に与える。グラフィックス
パイプライン1116は、これらのコマンドに基づいた
三次元画像を生成する。処理後の画像情報は、メインメ
モリ1030に転送され、表示制御器1128によって
アクセスできるようにしてもよい。表示制御器1128
は、表示装置1009にパイプライン1116のフレー
ムバッファ出力を表示する。メモリ要求アービトレーシ
ョン回路130は、グラフィックスパイプライン111
6と、コマンドプロセッサ1114と、表示部128と
におけるメモリアクセスを調停する。
【0027】図4に示すように、グラフィックスパイプ
ライン1116は、変換部1118と、セットアップ/
ラスタライザ1120と、テクスチャ部1122と、テ
クスチャ環境部1124と、画素エンジン1126とを
含んでもよい。グラフィックスパイプライン1116に
おいて、変換部1118は、様々な三次元変換動作を行
い、さらに、照明効果やテクスチャ効果を行ってもよ
い。変換部1118の行う処理は、たとえば、頂点毎に
入力される形状のオブジェクト空間からスクリーン空間
への変換、入力されるテクスチャ座標の変換、射影テク
スチャ座標の計算、ポリゴンクリッピング、頂点毎の照
明度計算、バンプマッピングテクスチャ座標の生成など
がある。セットアップ/ラスタライザ1120は、セッ
トアップ部を含む。セットアップ部は、変換部1118
から頂点データを受信し、三角形のセットアップ情報を
複数のラスタライザに送信する。ラスタライザは、縁の
ラスタ化、テクスチャ座標のラスタ化、カラーのラスタ
化を行う。テクスチャ部1122は、テクスチャリング
に関連して様々なタスクを行う。このタスクには、マル
チテクスチャ処理、キャッシュ後のテクスチャ伸長処
理、テクスチャフィルタリング、浮き出しバンプマッピ
ング、射影テクスチャを用いた陰影付け、およびアルフ
ァ透明度および深度を用いたBLITなどがある。テク
スチャ部1122は、フィルタリングされたテクスチャ
値をテクスチャ環境部1124に出力する。テクスチャ
環境部1124は、ポリゴンカラーとテクスチャカラー
とをブレンドし、テクスチャフォグやその他の環境関連
機能を行う。画素エンジン1126は、zバッファリン
グやブレンドを行い、データを集積回路上のフレームバ
ッファメモリに記憶する。
【0028】図5に示すように、グラフィックスパイプ
ライン1116は、フレームバッファ情報を局所的に記
憶するDRAMメモリ1126aを搭載してもよい。集
積回路上のフレームバッファ1126aは、集積回路上
には備えられていないメインメモリ1030に定期的に
書き込まれ、集積回路上の表示部1128がアクセスで
きるようにする。たとえば、画素フィルタ50は、この
書き込み処理中に境界線などの輪郭を漫画に付与するよ
う動作する。グラフィックスパイプライン1116のフ
レームバッファ出力(最終的にはメインメモリ1030
に記憶される)は、表示部1128によってフレーム毎
に読み出される。表示部1128は、表示装置1009
における表示のために、ディジタルRGB画素値を提供
する。
【0029】上述したビデオゲームシステムの構成要素
の或るものは、上述の家庭用ビデオゲームコンソール構
成以外のものとして実現することも可能である。一般的
に、家庭用ビデオゲームソフトウェアは、特定の家庭用
ビデオゲームシステム上で実行されるように記述されて
いる。このビデオゲームソフトウェアは、異なるシステ
ムのハードウェアやソフトウェア構成を考慮に入れて、
その異なるシステムに「移植される」(変換される)こ
とも、場合によっては可能である。このような「移植」
には、ビデオゲームのソースコードにアクセスする必要
があることが多い。この他に、構成の異なるシステムに
おいてゲームソフトウェアを実行させるための方法とし
ては、第2のシステムに第1のシステムをエミュレート
させる方法がある。第2のシステムが第1のシステムの
ハードウェアおよびソフトウェア資源をうまくエミュレ
ートまたはシミュレートすることができれば、第2のシ
ステムはビデオゲームソフトウェアのバイナリで実行可
能な画像をうまく実行することができ、ゲームソフトウ
ェアのソースコードにアクセスする必要はなくなる。
【0030】家庭用ビデオゲームにおいて、エミュレー
タは、ゲームプログラム用のシステム、すなわちゲーム
プログラムを実行することができるように設計されてい
るシステムとは異なるシステムである。一例として、エ
ミュレータシステムは、ゲームソフトウェア用のシステ
ムのものとは異なるハードウェアおよび/またはソフト
ウェア構成(プラットフォーム)を提供する。エミュレ
ータシステムは、ゲームソフトウェア用のシステムのソ
フトウェアおよび/またはハードウェア構成要素を模倣
するソフトウェアおよび/またはハードウェア構成要素
を含む。たとえば、エミュレータシステムは、当該ゲー
ムソフトウェア用システムのハードウェアおよび/また
はファームウェアをシミュレートするソフトウェアエミ
ュレータプログラムを実行するパーソナルコンピュータ
などの汎用ディジタルコンピュータを備えてもよい。
【0031】エミュレータソフトウェアは、コンソール
を用いた図1ないし図4に示すような家庭用ビデオゲー
ムシステム用のゲームをパーソナルコンピュータやその
他の汎用ディジタルコンピュータ上で実行できるように
開発されてもよい。このような汎用ディジタルコンピュ
ータ(たとえば、IBMやマッキントッシュのパーソナ
ルコンピュータやその互換機)には、DirectXや
他の標準三次元グラフィックスコマンドアプリケーショ
ンプログラムインターフェース(API)に対応する三
次元グラフィックスパイプラインを提供する三次元グラ
フィックスカードを搭載しているものがある。また、サ
ウンドコマンドの標準セットに基づいて、高品質のステ
レオサウンドを提供するステレオサウンドカードを搭載
しているものもある。エミュレータソフトウェアを実行
するこのようなマルチメディアハードウェア搭載パーソ
ナルコンピュータは、専用の家庭用ビデオゲームコンソ
ールハードウェア構成におけるグラフィックス性能やサ
ウンド性能に近づくのに十分な性能を有することもあ
る。エミュレータソフトウェアは、パーソナルコンピュ
ータプラットフォーム上のハードウェア資源を制御し
て、家庭用ビデオゲームコンソールプラットフォームが
行う処理(このプラットフォームのためにゲームプログ
ラマはゲームソフトウェアを書いたのであるが)、三次
元グラフィックス、サウンド、周辺機器、および他の機
能をシミュレートする。
【0032】図6は、エミュレーション処理全体の一例
を示す。本エミュレーション処理の例は、ホストプラッ
トフォーム1201と、エミュレータ要素1303と、
ROMまたは光ディスク1305などの記憶媒体や他の
記憶装置上のバイナリ画像を実行可能なゲームソフトウ
ェアとを用いる。ホスト1201は、たとえばパーソナ
ルコンピュータや他の型のゲームコンソールのような汎
用または専用のディジタルコンピューティング装置であ
ってもよい。
【0033】エミュレータ1303は、ホストプラット
フォーム1201において実行されて、記憶媒体130
5からのコマンド、データおよび他の情報をホスト12
01によって処理可能な形式へリアルタイムで変換す
る。たとえば、エミュレータ1303は、図1ないし図
4に示すような家庭用ビデオゲームプラットフォーム用
のプログラム命令を取り出し、このプログラム命令をホ
スト1201が実行または処理できるような形式に変換
する。一例として、ゲームプログラムがZ−80、MI
PS、IBM PowerPCを用いたプラットフォー
ムまたは他の特定の処理装置上で実行されるように書か
れたものであって、かつホスト1201が異なる(たと
えば、インテル社)の処理装置を用いたパーソナルコン
ピュータである場合に、エミュレータ1303は、記憶
媒体1305から1つまたは一連のプログラム命令を取
り出し、1つまたはそれ以上のインテル社のプログラム
命令に変換する。
【0034】同様に、エミュレータ1303は、図3に
示すグラフィックスおよびオーディオコプロセッサによ
る処理用のグラフィックスコマンドやオーディオコマン
ドを取り出し、ホスト1201において利用可能なグラ
フィックスハードウェアおよび/またはソフトウェアな
らびにオーディオ処理資源が処理できるような形式に変
換する。一例として、エミュレータ1303は、このよ
うなコマンドを、ホスト1201の特定のグラフィック
スおよび/またはサウンドカードが(たとえば、標準の
DirectXやサウンドアプリケーションプログラム
インターフェース(API)を用いて)処理できるよう
なコマンドに変換してもよい。
【0035】上述のようなビデオゲームシステムの機能
の一部または全部を提供するために用いられるエミュレ
ータ1303は、エミュレータを用いて実行されるゲー
ム用の様々な選択肢や画面モードの選択を簡略化または
自動化するグラフィックユーザインターフェース(GU
I)を備えていてもよい。一例として、このようなエミ
ュレータ1303は、当該ビデオゲームソフトウェアが
元来想定していたホストプラットフォームに比して高い
機能性をさらに有していてもよい。
【0036】図7は、エミュレータ1303と共に用い
るのに適した、パーソナルコンピュータに基づくホスト
1201を示す。パーソナルコンピュータシステム12
01は、処理部1203と、システムメモリ1205と
を含む。システムバス1207は、システムメモリ12
05などの様々なシステム要素と、処理部1203とを
接続する。システムバス1207は、メモリバスまたは
メモリコントローラ、周辺バス、ローカルバスなど、数
種のバス構造(各々のバス構造には様々なバスアーキテ
クチャのうちのいずれかが用いられる)のいずれであっ
てもよい。
【0037】システムメモリ1207は、読み出し専用
メモリ(ROM)1252と、ランダムアクセスメモリ
(RAM)1254とを含む。ROM1252には、ベ
ーシック入出力システム(BIOS)1256が記憶さ
れており、これには、立ち上げ時などにパーソナルコン
ピュータシステム1201内の要素間の情報伝達を助け
る基本ルーチンが含まれている。
【0038】パーソナルコンピュータシステム1201
は、様々なドライブおよび関連するコンピュータが読み
出し可能な媒体をさらに含む。ハードディスクドライブ
1209は、(典型的には固定の)磁気ハードドライブ
1211に対して、読み出しや書き込みを行う。磁気デ
ィスクドライブ1213は、着脱可能な「フロッピー
(登録商標)」や他の磁気ディスク1215に対して、
読み出しや書き込みを行う。光ディスクドライブ121
7は、CD−ROMや他の光学媒体などの着脱可能な光
ディスク1219に対して読み出しを行い、構成によっ
ては書き込みも行う。ハードディスクドライブ120
9、磁気ディスクドライブ1213、および光ディスク
ドライブ1217は、それぞれ、ハードディスクドライ
ブインターフェース1221、磁気ディスクドライブイ
ンターフェース1223、および光ドライブインターフ
ェース1225によって、システムバス1207に接続
されている。これらドライブおよび関連するコンピュー
タが読み出し可能な媒体は、コンピュータが読み出し可
能な命令、データ構造、プログラムモジュール、ゲーム
プログラム、およびパーソナルコンピュータシステム1
201のための他のデータを不揮発的に記憶する。
【0039】また、他の構成においては、コンピュータ
がアクセス可能なデータを保存することができる、コン
ピュータが読み出し可能な他の媒体(たとえば、磁気カ
セット、フラッシュメモリカード、ディジタルビデオデ
ィスク、ベルヌーイ(bernoulli)カートリッ
ジ、ランダムアクセスメモリ(RAM)、読み出し専用
メモリ(ROM)など)が用いられてもよい。
【0040】エミュレータ1303を含む多くのプログ
ラムモジュールが、システムメモリ1205のハードデ
ィスク1211、着脱可能な磁気ディスク1215、光
ディスク1219および/またはROM1252および
/またはRAM1254に記憶されてもよい。このよう
なプログラムモジュールは、グラフィックスおよびサウ
ンドAPI、1つ以上のアプリケーションプログラム、
他のプログラムモジュール、プログラムデータ、および
ゲームデータを提供するオペレーティングシステムを含
んでもよい。ユーザは、キーボード1227やポインテ
ィングデバイス1229などの入力装置を用いて、パー
ソナルコンピュータシステム1201に対して、コマン
ドや情報を入力する。他の入力装置としては、マイクロ
フォン、ジョイスティック、ゲームコントローラ、衛星
放送用アンテナ、スキャナなどがある。このような入力
装置は、システムバス1207に接続しているシリアル
ポートインターフェース1231を介して、処理装置1
203に接続される場合が多いが、たとえばパラレルポ
ート、ゲームポート、ユニバーサルシリアルバス(US
B)などの他のインターフェースによって接続されても
よい。また、システムバス1207には、モニタ123
3や他の型の表示装置が、ビデオアダプタ1235など
のインターフェースを介して接続されている。
【0041】パーソナルコンピュータ1201は、イン
ターネットなどのワイドエリアネットワーク1152と
通信を行うためのモデム1154などの手段をさらに含
んでもよい。モデム1154は、内蔵でも外付けでもよ
く、シリアルポートインターフェース1231を介して
システムバス1207に接続される。パーソナルコンピ
ュータ1201は、ネットワークインターフェース11
56をさらに備えていてもよく、これによって遠隔計算
装置1150(たとえば、他のパーソナルコンピュー
タ)とローカルエリアネットワーク1158を介して通
信することができる(このような通信は、ワイドエリア
ネットワーク1152、または他の通信路、たとえばダ
イアルアップ方式や他の通信手段などを介して行われて
もよい)。パーソナルコンピュータシステム1201
は、典型的には、プリンタなどの標準周辺機器のような
他の周辺出力装置を含む。
【0042】たとえば、ビデオアダプタ1235は、三
次元グラフィックスパイプラインチップセットを含んで
もよい。このチップセットは、マイクロソフト社のDi
rectXのような標準三次元グラフィックスアプリケ
ーションプログラマインターフェースに基づいて出され
た三次元グラフィックスコマンドに応答して、三次元グ
ラフィックス描画を高速に行う。さらに、一連のステレ
オスピーカ1237が、システムバス1207に接続さ
れており、この接続は、バス1207によって与えられ
るサウンドコマンドに基づく高品質ステレオサウンド生
成に対応したハードウェアおよび内蔵ソフトウェアを提
供する従来の「サウンドカード」などのサウンド生成イ
ンターフェースを介して行われる。このようなハードウ
ェアの性能により、ホスト1201は、記憶媒体130
5に記憶されたビデオゲームを行うのに充分な速度のグ
ラフィックスおよびサウンド性能を提供することができ
る。
【0043】(本発明による非写実的な漫画的な輪郭線
処理法の例)本発明による漫画の輪郭線/境界線処理
は、ハードウエアおよび/またはソフトウエアで有利に
実行され得る。時間が充分にあると仮定すると、グラッ
フィクスコプロセッサ1020が画像をフレームバッフ
ァにおいて描画した後であってその画像が表示される前
に、プロセッサ1010は、フレームバッファ1040
にアクセスして画素後処理を行い、境界線カラーをカラ
ーフレームバッファ1042にブレンドする。あるい
は、グラフィックスコプロセッサ1020内にハードウ
エアおよび/またはソフトウエアを備えて、この機能を
行わせる。上述のように、コプロセッサ1020は、グ
ラッフィクスパイプライン内のアルファブレンディング
およびzバッファ演算回路などの既存のハードウエアサ
ポートを利用して、画素後処理/フィルタリングを行
い、対象物の縁周りに境界線を付与してもよい。あるい
は、プロセッサ1010および/または表示部1128
が、フレームバッファ1040の内容を基に画素フィル
タリング処理を行うこともできる。
【0044】コプロセッサ1020がこの画素後処理を
完了すると、変更された画素値はフレームバッファメモ
リ1030に書き戻される。このフレームバッファメモ
リ1030から、コプロセッサ内のビデオ生成回路によ
って内容がアクセスされて、表示装置1009上に映像
が生成される。あるいは、変更された値は他の場所へ
(たとえば、直接、表示装置1005へ)送られる。こ
の伝送効率を高めるために、フレームバッファ1040
のデータをダブルバッファしてもよく、DMAを使用し
てもよい。フレームバッファ1040が1ラインずつ読
み出され、かつ処理される場合、前に位置するラインの
Z値を保持するためにラインバッファを使用してもよ
い。
【0045】図8は、好ましい実施例に係る画素フィル
タリングルーチン100の一例を示すフローチャートで
あって、画素フィルタ50に対して画素後処理境界線を
行う。図8の画素フィルタルーチン100は、フレーム
バッファ1040(ブロック102)内に記憶された画
素[x][y]のそれぞれに対して行われる。この画素フィ
ルタ100は画素のカラー値(画素R[x][y]、画素G
[x][y]、画素B[x][y])を読み出し、さらに画素の
深度値(Z[x][y])を読み出す(ブロック104)。
加えて、この画素フィルタルーチン100は、画素[x]
[y]周辺にある画素の深度値も読み出す(同じくブロッ
ク104)。本例において、画素フィルタルーチン10
0は隣接画素2つの深度値を読み出す。つまり、x−y
アレイ内の所定の画素の「左」隣にある周辺画素におけ
る深度値Z[x][y]、およびx−yアレイ内の所定の画
素の真「下」にある周辺画素における深度値Z[x][y
−1]である。以上は、図9を参照のこと。フレームバ
ッファ1040が1ラインずつ読み出され、かつ処理さ
れた場合、ラインバッファは前に位置するラインのZ値
を保持するのに使用され得る。
【0046】画素フィルタルーチン100は、たとえば
以下のDz演算(ブロック106参照)によって、画素
[x][y]が対象物の縁であるかどうかを判別する、たと
えば、画素の深度値(Z[x][y])と1つ以上の周辺の
(本例においては隣接する)画素の深度値との差を判別
する。 DzDx = |Z[x][y]−Z[x−1][y]| DzDy = |Z[x][y]−Z[x][y−1]| Dz = max(DzDx,DzDy) 上記演算を行う際、画素フィルタ100は画素の深度
と、2つの隣接画素それぞれとの差を判別する、つまり
これらの差の絶対値をとり(ある対象物は別の対象に近
いか遠いかのどちらかであることを利用する)、得られ
た2つの絶対値のうち大きい方を選択する。この結果が
距離値Dzであって、ある画素がz方向において、ある
周辺画素からどれだけ離れているかをはかる値である。
この演算は、画素が対象物の縁上にあるかどうかをテス
トするために行われる。たとえば、画素が対象物の縁上
にある場合、Dzは一般に大きくなり(典型的に、周辺
画素はそれぞれ異なる深度を有しているため)、画素が
対象物の縁上にない場合は、Dzは一般に小さくなる
(周辺画素は深度が相似するためである)。
【0047】別の例においては、2つの周辺画素の距離
値の総計をとることで距離値Dzを演算することができ
る。たとえば、下式が例である。Dz = DzDx+
DzDyまた、その他の方法でも可能である(たとえ
ば、演算方法を変えたり、使用する周辺画素を変更した
り、または周辺画素数を変更するなど)。
【0048】本例における画素フィルタルーチン100
は、上述のように演算された距離値Dzに比例してカラ
ーを変化させる。たとえば、画素フィルタ100は、得
られた距離値Dzの係数をスケーリング/修正して変更
し、その結果得られた値をクランプして、たとえば以下
のような画素ブレンドファクタを成立させる(ブロック
108参照)。 アルファ = クランプ((スケール係数*Dz+ベー
ス係数),0,1) ここで、クランプは、クランプ(x,0,1)とした場
合において、xが0以下のときには0を返し、xが1以
上のときには1を返し、0<x<1のときにはxを返す
関数である。
【0049】スケール係数が正の値であると仮定する
と、得られたアルファ値はDzが大きいと大きくなり
(たとえば、ほぼ1、または1になるようにクランプさ
れる)、Dzが小さいとアルファ値も小さくなる(たと
えば、ほぼ0、または0になるようにクランプされ
る)。画素ブレンドファクタを成立させるには、方法は
問わない。たとえば、画素ブレンドファクタを演算する
別の方法を以下に示す。 グレイ = クランプ((Dz−係数A)*係数B,
0,1)
【0050】本例における画素フィルタ100は、ブレ
ンド処理(たとえば、アルファブレンディング)で得ら
れた画素ブレンド係数を用いて、選択的に所定の境界線
カラー(たとえばラインR、ラインG、ラインB)を、
カラーフレームバッファ1042から得られた画素のカ
ラー値(画素R[x][y]、画素G[x][y]、画素B[x]
[y])とブレンドする。このブレンドを行うための演算
の例は、以下の通りである。 新画素.R[x][y] = 旧画素.R[x][y]*(1−
アルファ)+ライン.R*アルファ 新画素.G[x][y] = 旧画素.R[x][y]*(1−
アルファ)+ライン.G*アルファ 新画素.B[x][y] = 旧画素.R[x][y]*(1−
アルファ)+ライン.B*アルファ これら演算に従って、ブレンドされた(「新」)画素カ
ラー値は、距離値Dzが小さいと、ほとんどの場合、初
期値になり、距離値Dzが大きいと境界線カラーにな
る。
【0051】上記のブレンド演算は、境界線カラーを黒
(たとえばライン.R=0、ライン.G=0、ライン.
B=0)に限定し、および/またはホワイトキャンバス
のカラー(ライン.R=255,ライン.G=255,
ライン.B=255)だけを用いることで簡略化が可能
である(たとえば、さらなる最適化のために行われ
る)。より最適化するためには、RGBカラーでないフ
ォーマット、たとえばYUV(この場合、境界線が鮮明
に見えるよう、確実に付与するために明るさYを制御す
る)などを用いる。
【0052】ブレンド後、ブレンドされた画素をバッフ
ァして表示装置1009(ブロック112)に表示す
る。たとえば、画素フィルタルーチン100を、フレー
ムバッファ1040内の画素すべてに対して行い、その
結果得られるブレンドされたフレームバッファの内容を
表示装置1009に表示する。
【0053】遠近処理は、場合によっては上記処理で得
られる結果に影響を及ぼす。図10に示すように、遠く
に画素PixA、近くに画素PixBがある場合につい
て考える。変換により、遠くにある画素PixAのDz
Dyは、近くにある画素PixBのDzDyよりも大き
くなる。この結果、未処理のDzDxおよびDzDy値
を用いた画像全体における、境界線の検知がさらに難し
くなる。この問題を克服するためには、Zレンジに応じ
てZ値に修正を加えるとよい。修正には、たとえばレン
ジ変換するため、以下のようにlog2(n)関数を用
いる。 DzDx=|log2(Z[x][y])−log2(Z
[x−1][y])| DzDy=|log2(Z[x][y])−log2(Z
[x][y−1])| プロセッサ1010に浮動小数点計算機能があり、Z値
が例えば以下のような浮動小数点フォーマットで記憶さ
れている場合、log2(n)関数の計算は非常に都合
がよい。 [3ビット指数][11ビット仮数]
【0054】図11は、図8に示すフローチャ−トを変
更して、このlog2(n)のレンジ変換式を加えたも
のである。
【0055】図12は、ブレンディングを制御するのに
用いられる、アルファ値の深度変調を行う後処理画素フ
ィルタ200のもう一つの例である。図12に示す、ブ
ロック204、206、および208は、図8(レンジ
修正が適用される場合は図11)に示す対応するブロッ
ク104、106、および108と同一である。図12
のブロック210は、ブロック208で計算された値、
および画素深度zの関数であるさらなる値の関数(たと
えば、積)としてアルファAを計算するために付加され
たものである。たとえば、 アルファ=アルファDz*アルファZ この結果得られたアルファ値、つまり図8のブロック2
10に関連して説明した、ブレンディングの制御(ブロ
ック212参照)に用いられるアルファ値も、画素の深
度に左右される。
【0056】図13ないし図18は、実現可能な、境界
線によるスクリーン効果を例示したものである。図13
は、境界線効果の無い、風景シーンの一例を示す。図1
4は、ホワイトキャンバスのカラーにブレンドされた結
果得られた境界線を示し、これにより、図13の風景シ
ーンに効果的な線とは何かを示す。図15は、図13の
風景に、黒の境界線をブレンドしたものである。
【0057】図16は、アドベンチャーゲームにおける
空想上の風景の一例を示す。図17は、ホワイトキャン
バスのカラーにブレンドした結果、得られた境界線を示
す。図18は、図16の風景に黒の境界線をブレンドし
たものである。上述のように、画素後処理フィルタ10
0は様々な方法で実現することができる。以下は、画素
後処理フィルタをコンピュータソースコードで実現した
一例である。 cfb_PixelProc_1: add sys0, cptr, cbuf_width sub sys1, sys0, cbuf_size lqv depth00[0], 0(sys0) lsv depth10[0], 32+14(zero) lqv depth10[2], 0(sys0) lqv depth01[0], 0(sys1) lqv color00[0], 0(cptr) sqv depth00[0], 0(sys1) sqv depth00[0], 32(zero) vnxor depth00, depth00, _0x7fff vnxor depth10, depth10, _0x7fff vnxor depth01, depth01, _0x7fff vsub depthDX, depth00, depth10 # X vsub depthDY, depth00, depth01 # Y vabs depthDX, depthDX, depthDX vabs depthDY, depthDY, depthDY vor color00, vzero, _0xffff vadd depthDX, depthDX, depthDY vadd depthDX, depthDX, Coeff_A vmudh depthDX, depthDX, Coeff_B vge depthDX, depthDX, _0x0000 vmud1 color0r, color00, _0x0020 vand color0g, color00, v0x07c0 vand color0b, color00, v0x003e vmulf color0r, color0r, depthDX vmulf color0g, color0g, depthDX vmulf color0b, color0b, depthDX vand color00, color0g, v0x07c0 vmadn color00, color0b, _0x0001 vmadn color00, color0r, v0x0800 vor color00, color00, _0x0001 addi cptr, cptr, 16 bne cptr,cptr_end, cfb_PixelProc_1 sqv color00[0], -16(cptr) jr return_sv nop
【0058】(漫画的な輪郭線処理のさらなる実施例)
演算方法によっては、上記境界線の応用アルゴリズムで
は、漫画的な輪郭線処理において、満足のいく結果が得
られないことがある。図19においてそのような例を示
す。図19における漫画キャラクタ300には、上記の
ように陰影の縁302に境界線が付与されている。図1
9から、この漫画キャラクタ300は右手、手首を有し
ており、腕を前部で曲げている様子がわかる。上記の手
法では、場合によって(キャラクタの腕が胴体部からど
れだけ離れているかによるが)、右の手、手首、および
腕の周りの縁は陰影の縁ではなく内部だと判断されるた
め、それらの箇所には境界線を付与しない。図19で
は、漫画的な輪郭線処理がキャラクタの陰影の縁302
だけに施された場合、漫画キャラクタ300が部分的に
消滅する、あるいはやや鮮明でなくなる様子を示す。と
ころが、ユーザは(塗り絵、手描きのアニメ漫画、およ
び/または漫画本などの記憶から)手、手首および腕が
はっきり示されるような境界線を期待している。
【0059】漫画キャラクタ300が手描きであるかの
ように見せるには、内部の縁304にも境界線を付すと
よい。本例においては、内部の縁は、キャラクタが自身
の前部で曲げている手、手首および腕を規定している。
図20では、このキャラクタ300の内部の縁304に
境界線が付与されている。この内部の縁304は、キャ
ラクタ300が腕を外に向けて延ばしている場合は輪郭
線の縁になるが、図20に示す腕の位置では内部の縁に
なる。
【0060】本発明に係る別の局面によれば、図20に
示すような内部の縁においては、漫画的な輪郭線処理は
自動的に行われる。つまり、対象物の部分によって、画
素にはそれぞれ異なる識別値が付与される。たとえば、
通常はアルファ情報をエンコードするのに用いられるフ
レームバッファ1040および/またはDRAM112
6a内に、ビット割り当てを行うことにより、この識別
値を指定する。この指定された識別値を用いて、その画
素の位置に境界線を付すかどうかを決定してもよい。た
とえば、ある画素の識別値と、その画素の近辺にある
(隣接した)画素の識別値とを比較する。これら2つの
画素の識別値間にある所定の関係が認められた場合、境
界線は付与されない。たとえば、識別値が同一の場合、
これら2つの画素は同一面上にあるため、境界線は付さ
ない。しかし、これら2つの画素の識別値が、別の所定
の関係にある場合は、境界線を付与する。
【0061】図21(A)〜(C)では一例を示す。図
21(A)は、3つの部分320、322および324
に大別される対象物319の斜視図である。図21
(B)は、同じ対象物319の平面図である。対象部分
320は四角形であり、対象部分322は円形であり、
対象部分324は円錐である。ここで、グラフィックス
アーチストが、円錐324が四角形320に視覚的に接
触するが、円形322には接触しない部分、または円形
が四角形に接触する部分に境界線330(図21(A)
参照)を引こうとしていると仮定する。この場合、四角
形320、円形322および円錐324内の画素は、そ
れぞれ異なる識別値でコーディングされる。たとえば、
四角形320内の画素は識別値「1」でコーディングさ
れ、円形322内の画素は識別値「2」でコーディング
され、さらに円錐324内の画素は識別値「3」でコー
ディングされる。図21(C)は、コーディング情報を
記憶するフレームバッファ1040および/または11
26aのアルファ部の一例を示す(斜線を付したセルが
境界線カラーを付与するセルである)。
【0062】画素後処理の段階においては、フレームバ
ッファ内の様々な識別値に対してテストを行う。隣接す
る画素のように同一の識別値を有する画素(このような
画素はすべて同一面上に存在する)に対しては、境界線
を付与しない。また、或る画素の識別値が隣接画素のそ
れと、ある基準を下回って異なっている場合は境界線を
付与しない(たとえば、画素kの識別値が画素k+1の
識別値から2以上違わない場合、境界線は付与しな
い)。しかし、ある画素の識別値が隣接画素のそれと、
ある基準を上回って異なっている場合は境界線を付与す
る(たとえば、画素kの識別値が画素k+1の識別値か
ら2以上違う場合、境界線を画素kに付与する)。
【0063】図22は、本実施例において、境界線を付
与するための画素後処理ルーチンの一例を示すフローチ
ャートである。ルーチン350は、ループ(ブロック3
52−362)を含み、このループはフレームバッファ
1040および/または1126aに記憶される画像に
おける画素[i][j]それぞれに対して行われる。上述の
ように、画像生成処理においては、フレームバッファで
画像を描画する際、通常はアルファ値を記憶するために
ビットが割り当てられているフレームバッファ内にある
対象物の部分毎に識別値を設定する。ルーチン350に
おいて、これらアルファ値(ここではID値)をテスト
して境界線を引くかどうかを決定する。本例において、
ルーチン350では、画素[i][j]のアルファ(ID)
値および隣接画素(たとえば、画素[i−1][j]および
画素[i][j−1])のアルファ(ID)値を検索する
(ブロック352)。その後、ルーチン352では、以
下の演算を行い(ブロック354)画素[i][j]のアル
ファ(ID)値と隣接画素のアルファ(ID)値との差
を求める。 diffX=|(アルファ[i][j]−アルファ[i−1]
[j])| diffY=|(アルファ[i][j]−アルファ[i][j
−1])|
【0064】その後ルーチン350では、演算して得ら
れた差の値、diffXとdiffYとをテストして、
どちらかが所定の差の値を超えているかどうかを判別す
る(たとえば任意に固定の、または1のようなプログラ
ム可能閾値)(ブロック356)。差の値のうち、少な
くとも1つが所定の差の値を超えている場合、ルーチン
350は画素[i][j]のカラーを境界線カラーに設定す
る(ブロック358)。これにより本例においては、ア
ルファスロープが−1から+1の場合、画素は同一面上
にあるとされる。ステップ352から358は、画像内
にある画素それぞれに対して順に行われる(ブロック3
60、362)。
【0065】ルーチン350の変形例として、対象物を
ある特別なアルファ識別値(たとえば0x00)でコー
ディングして、境界線を付与するために無視すべき対象
物内の画素を特定する(図23参照)。境界線が付与さ
れていない対象物をビットマップとして描画する際に有
用である(例えば、爆発のアニメーション等)。
【0066】図24は、上記ルーチン350を用いて、
図19および図20に示す対象物300にいかに効率良
く境界線を引くかを示す。本例において、対象物は部分
毎にそれぞれ異なるアルファ(ID)値でコーディング
されている。たとえば、対象物300は2本の腕311
a、311bおよび胴体309を備える。腕はそれぞれ
手313、手首部315、下腕部312、肘部308、
上腕部310、および肩部317を備える。これら部位
は、以下のようにそれぞれ異なるアルファIDでコーデ
ィングされる。 身体部 アルファID 左手313a 1 左手首315a 2 左下腕312a 3 左肘308a 4 左上腕310a 5 左肩317a 6 胴体309 7 右肩317b 8 右上腕310b 9 右肘311b 10 右下腕312b 11 右手首315b 12 右手313b 13 上記アルファIDコーディングの例によれば、ルーチン
350では、図24に太線で示されているような境界線
を引く。しかし、部位の区切り部分(点線で示す)には
境界線を引かない。
【0067】上記コーディングは、同じ対象物300の
部位の区切り部分に境界線を引くのにも用いることがで
きる。従来の塗り絵や手描きアニメ漫画などでは、この
ような区切り部分にも漫画的な輪郭線処理を施して、さ
らに関節を規定したり、筋肉の発達を想像させたりして
いる。図25(A)〜(C)では、キャラクタ300の
上腕310と下腕とをつなぐ関節308(つまり肘)を
特に示す。上記コーディングを用いて、図25(B)お
よび(C)に示すように、関節308を曲げることで上
腕310と312とが互いに隣接(接触)して位置した
場合、ルーチン350では(下腕310のアルファID
と、上腕312のアルファIDとの差が1より大きいか
どうかに基づいて)、部位310と312との間に境界
線セグメント316を付与する。
【0068】これにより、本発明は、三次元コンピュー
タグラフィックスにおいて、漫画的な輪郭線のような非
写実的な効果を付与するための効果的な手法を提供す
る。これら手法は、画素後処理の段階で(すなわち、三
次元グラフィックスパイプラインが画像をフレームバッ
ファにおいて描画されてから)用いられ、三次元グラフ
ィックスパイプラインによって与えられる以外の画素情
報を必要としない(すなわち、色、深度およびアルファ
画素情報)。このように、本発明における画素後処理の
手法は、フレームバッファ(たとえば、回路上のバッフ
ァの一部から回路外のバッファへ、エリアシングまたは
他の後処理動作)の「ダウンストリーム」で効果的に、
かつ効率良く行われ、これによって三次元グラフィック
スパイプラインまたはシステムの他の構成要素が実質的
に複雑化することもない。
【0069】本発明は、現在最も現実的で好ましい実施
例と思われるものに関連して説明されてきたが、本発明
は、開示された実施例に限定されるものではなく、様々
な変形例や均等な構成を含むことを想定していると解釈
される。
【図面の簡単な説明】
【図1】本発明を具体化するための三次元ビデオグラフ
ィックスシステムの例を示す図である。
【図2】本発明を実施しうるインタラクティブ三次元コ
ンピュータグラフィックスシステム1005全体のより
詳細な模式図である。
【図3】コプロセッサ1020内の構成要素例のブロッ
ク図である。
【図4】三次元グラフィックスプロセッサ1107と、
それに関連するコプロセッサ1020内の構成要素のよ
り詳細な図である。
【図5】本発明におけるスクリーン効果を例示的に示す
図である。
【図6】エミュレーション処理全体の一例を示した図で
ある。
【図7】エミュレータ1303と共に用いるのに適し
た、パーソナルコンピュータに基づくホストを示した図
である。
【図8】好ましい実施例に係る画素フィルタリングルー
チン100の一例を示すフローチャートである。
【図9】画素フィルタルーチン100が隣接画素2つの
深度値を読み出す例を示した模式図である。
【図10】遠くに画素PixA、近くに画素PixBが
ある場合の遠近処理を示した模式図である。
【図11】図8に示すフローチャ−トを変更して、lo
g2(n)のレンジ変換式を加えたフローチャートであ
る。
【図12】ブレンディングを制御するのに用いられる、
アルファ値の深度変調を行う後処理画素フィルタ200
の一例である。
【図13】境界線効果の無い、風景シーンの一例を示
す。
【図14】ホワイトキャンバスのカラーにブレンドされ
た結果得られた境界線を示す図である。
【図15】図13の風景に、黒の境界線をブレンドした
図である。
【図16】アドベンチャーゲームにおける空想上の風景
の一例を示した図である。
【図17】ホワイトキャンバスのカラーにブレンドした
結果、得られた境界線を示した図である。
【図18】図16の風景に黒の境界線をブレンドした図
である。
【図19】漫画的な輪郭線処理による漫画キャラクター
の一例を示す図である。
【図20】漫画的な輪郭線処理による漫画キャラクター
の別例を示す図である。
【図21】漫画的な輪郭線処理の境界線の箇所を特定す
るための対象物識別値を用いた、本発明のさらなる実施
形態を示す図である。
【図22】本実施例において、境界線を付与するための
画素後処理ルーチンの一例を示すフローチャートであ
る。
【図23】ルーチン350の変形例を示した模式図であ
る。
【図24】漫画的な輪郭線効果を得るために行う、対象
物識別値コーディングの一例を示す図である。
【図25】漫画的な輪郭線効果を得るために行う、対象
物識別値コーディングの別例を示す図である。
【符号の説明】
50 画素フィルタ 100 画素フィルタ 130 メモリ要求アービトレーション回路 200 後処理画素フィルタ 300 漫画キャラクタ 302 輪郭線の縁 304 内部の縁 308 肘部 309 胴体 310 上腕部 312 下腕部 313 手 315 手首部 316 境界線セグメント 317 肩部 330 境界線 1005 三次元ビデオグラフィックスシステム 1007 コントローラ 1009 表示装置 1010 プロセッサ 1011 記憶装置 1020 グラッフィクスコプロセッサ 1030 メモリ 1040 フレームバッファ 1042 カラーフレームバッファ 1044 深度フレームバッファ 1107 三次元グラフィックスプロセッサ 1108 プロセッサインターフェース 1110 メモリインターフェース 1114 コマンドプロセッサ 1116 グラフィックスパイプライン 1118 変換部 1120 ラスタライザ 1122 テクスチャ部 1124 テクスチャ環境部 1126 画素エンジン 1128 表示制御器 1134 外部記憶装置 1137R スピーカ 1137L スピーカ 1138 オーディオコーデック 1140 エンコーダ 1141 バッファ 1142R バッファ増幅器 1142L バッファ増幅器 1144 メモリ 1146 パラレルバス 1148 シリアル周辺バス 1150 リアルタイムクロック 1150 遠隔計算装置 1152 モデム 1154 フラッシュメモリ 1156 ネットワークインターフェース 1158 メモリカード 1162 オーディオディジタル信号プロセッサ 1164 オーディオメモリインターフェース 1166 ミキサ 1168 周辺制御器 1201 パーソナルコンピュータ 1203 処理部 1205 システムメモリ 1207 システムバス 1209 ハードディスクドライブ 1211 磁気ハードドライブ 1213 磁気ディスクドライブ 1215 磁気ディスク 1217 光ディスクドライブ 1219 光ディスク 1221 ハードディスクドライブインターフェース 1223 磁気ディスクドライブインターフェース 1225 光ドライブインターフェース 1227 キーボード 1229 ポインティングデバイス 1231 シリアルポートインターフェース 1233 モニタ 1235 ビデオアダプタ 1237 ステレオスピーカ 1239 サウンドカード 1252 ROM 1254 RAM 1303 エミュレータ 1305 光ディスク

Claims (67)

    【特許請求の範囲】
  1. 【請求項1】 対話型の三次元ホームビデオゲームシス
    テムであって、 ユーザによるリアルタイム操作入力が可能な、少なくと
    も1つの手動制御器と、 少なくとも1つの漫画キャラクタを表現する三次元デー
    タを記憶する記憶媒体と、 画像データを記憶するバッファメモリと、 前記バッファメモリに接続される三次元グラッフィクス
    パイプラインと、 前記バッファメモリに接続されるフィルタとを備え、 前記三次元グラッフィクスパイプラインは、少なくとも
    前記ユーザによるリアルタイム操作入力および前記漫画
    キャラクタを表現する前記三次元データに基づいて、前
    記漫画キャラクタに対応する画像データを前記バッファ
    メモリにおいて描画し、 前記フィルタは、漫画的な輪郭線処理機能を前記画像デ
    ータに適用して、自動的に前記漫画キャラクタの周囲に
    はっきりした境界線を引くことを特徴とする、三次元ホ
    ームビデオゲームシステム。
  2. 【請求項2】 前記グラフィクスパイプラインおよび前
    記バッファメモリは、1つの半導体基板上に配置され、 前記フィルタは、前記画素データを前記基板から外部装
    置への書き込み中に、画素データ上で動作することを特
    徴とする、請求項1に記載の三次元ホームビデオゲーム
    システム。
  3. 【請求項3】 前記画素データは、画素カラー値を含
    み、 前記フィルタは、前記画素カラーデータの代わりに境界
    線カラーを用いることを特徴とする、請求項1に記載の
    三次元ホームビデオゲームシステム。
  4. 【請求項4】 前記フィルタは、前記バッファメモリに
    記憶されている少なくとも1つの画素に対応するカラー
    データを、少なくとも前記画素に対応する前記深度デー
    タに部分的に基づいて選択的に変更する、請求項1に記
    載の三次元ホームビデオゲームシステム。
  5. 【請求項5】 前記フィルタは、前記バッファメモリに
    記憶されている少なくとも1つの画素に対応するカラー
    データを、少なくとも前記画素に対応するディザリング
    された前記深度データに部分的に基づいて選択的に変更
    することを特徴とする、請求項1に記載の三次元ホーム
    ビデオゲームシステム。
  6. 【請求項6】 前記フィルタは、前記画素に対応する深
    度データと、前記画素周辺に或る1つの画素に対応する
    深度データとの差を求め、これにより前記差が所定の閾
    値を上回った場合には、前記画素に対応する前記カラー
    データを変更することを特徴とする、請求項1に記載の
    三次元ホームビデオゲームシステム。
  7. 【請求項7】 前記フィルタは、前記バッファメモリに
    記憶されている対象部分の識別値に部分的に基づいて、
    前記カラーデータを選択的に変更することを特徴とす
    る、請求項1に記載の三次元ホームビデオゲームシステ
    ム。
  8. 【請求項8】 前記バッファメモリは、複数の画素に関
    連するアルファ値を記憶するように構成され、前記対象
    部分の識別値は、前記バッファメモリ内でアルファ値と
    して記憶されることを特徴とする、請求項7に記載の三
    次元ホームビデオゲームシステム。
  9. 【請求項9】 前記フィルタは、少なくとも1つの画素
    に対応する識別データと、前記画素周辺にある1つの画
    素に対応する識別データとの差を求め、これにより前記
    差が所定の閾値を上回った場合、前記画素に対応する前
    記カラーデータを変更することを特徴とする、請求項1
    に記載の三次元ホームビデオゲームシステム。
  10. 【請求項10】 前記フィルタは、前記バッファメモリ
    に記憶されるカラーデータをアルファブレンドすること
    を特徴とする、請求項1に記載の三次元ホームビデオゲ
    ームシステム。
  11. 【請求項11】 前記フィルタは、前記画素に対応する
    アルファ値を前記画素の深度に対応する値に設定するこ
    とにより、前記バッファメモリに記憶されるカラーデー
    タを選択的に変更することを特徴とする、請求項10に
    記載の三次元ホームビデオゲームシステム。
  12. 【請求項12】 前記フィルタは、少なくとも1つの画
    素に対応するアルファ値を、前記画素の深度と、その周
    辺の少なくとも1つの画素の深度との差に対応する値に
    設定することにより、前記バッファメモリに記憶される
    カラーデータを選択的に変更することを特徴とする、請
    求項11に記載の三次元ホームビデオゲームシステム。
  13. 【請求項13】 前記周辺画素は、隣接画素であること
    を特徴とする、請求項12に記載の三次元ホームビデオ
    ゲームシステム。
  14. 【請求項14】 前記画素は、前記画像においてP
    [x、y]であると指定され、 前記フィルタは、前記画素の深度をP[x−1、y]であ
    ると指定される第1画素と、P[x、y−1]であると指
    定される第2画素の深度と比較することを特徴とする、
    請求項1に記載の三次元ホームビデオゲームシステム。
  15. 【請求項15】 前記画素は、前記画像においてP
    [x、y]であると指定され、 前記フィルタは、前記画素の深度をP[x+1、y]であ
    ると指定される第1画素と、P[x、y+1]であると指
    定される第2画素の深度と比較することを特徴とする、
    請求項1に記載の三次元ホームビデオゲームシステム。
  16. 【請求項16】 前記フィルタは、前記画素の深度の第
    1対数関数と、少なくとも1つのその周辺画素の深度の
    第2対数関数との差を計算することを特徴とする、請求
    項1に記載の三次元ホームビデオゲームシステム。
  17. 【請求項17】 前記フィルタは、前記漫画的な輪郭線
    処理を行うアプリケーションにおいて深度変更を行うこ
    とを特徴とする、請求項1に記載の三次元ホームビデオ
    ゲームシステム。
  18. 【請求項18】 前記フィルタは、前記漫画的な輪郭線
    を遠近処理することを特徴とする、請求項1に記載の三
    次元ホームビデオゲームシステム。
  19. 【請求項19】 三次元画像の画素に対応するカラーお
    よび深度データを記憶する画素メモリを含むコンピュー
    タグラフィックスシステムにおいて、非写実的な視覚効
    果を生成する方法であって、 (a)前記画素メモリから、前記画素のうち少なくとも
    1つの画素に対して少なくとも前記カラーデータを読み
    出すステップと、 (b)前記画像に漫画的な輪郭線効果を付与するため
    に、前記カラーデータを選択的に変更するステップとを
    含む、方法。
  20. 【請求項20】 前記画素メモリは、グラフィックスチ
    ップ上に配置され、 前記読み出しステップは、前記グラフィックスチップか
    らの前記画像を書き込むステップである画素後処理中に
    行われることを特徴とする、請求項19に記載の方法。
  21. 【請求項21】 前記選択的に変更するステップは、境
    界線カラーデータを前記画素カラーデータで代用するこ
    とを特徴とする、請求項19に記載の方法。
  22. 【請求項22】 前記選択的に変更するステップは、前
    記画素に対応する前記深度データに部分的に基づいて行
    われることを特徴とする、請求項19に記載の方法。
  23. 【請求項23】 前記選択的に変更するステップは、前
    記画素に対応するディザリングされた前記深度データに
    少なくとも部分的に基づいて行われることを特徴とす
    る、請求項19に記載の方法。
  24. 【請求項24】 前記選択的に変更するステップは、前
    記画素に対応する深度データと、前記画素の少なくとも
    1つの隣接画素に対応する深度データとの差を求め、こ
    れにより前記差が所定の閾値を上回った場合には、前記
    画素に対応する前記カラーデータを変更することを特徴
    とする、請求項19に記載の方法。
  25. 【請求項25】 前記選択的に変更するステップは、前
    記画素メモリに記憶される対象部分の識別値に少なくと
    も部分的に基づいて行われることを特徴とする、請求項
    19に記載の方法。
  26. 【請求項26】 前記画素メモリは、複数の画素に関連
    するアルファ値を記憶するように構成され、 前記対象部分の識別値は、前記画素メモリ内でアルファ
    値として記憶されることを特徴とする、請求項25に記
    載の方法。
  27. 【請求項27】 前記選択的に変更するステップは、前
    記画素に対応する識別データと、前記画素に隣接する1
    つの画素に対応する識別データとの差を求め、これによ
    り前記差が所定の閾値を上回った場合には、前記画素に
    対応する前記カラーデータを変更することを特徴とす
    る、請求項19に記載の方法。
  28. 【請求項28】 前記選択的に変更するステップは、前
    記画素カラーデータに境界線を適用するため、アルファ
    ブレンディングを用いることを特徴とする、請求項19
    に記載の方法。
  29. 【請求項29】 前記選択的に変更するステップは、前
    記画素に対応するアルファ値を、前記画素の深度に対応
    する値に設定することを特徴とする、請求項28に記載
    の方法。
  30. 【請求項30】 前記選択的に変更するステップは、前
    記画素に対応するアルファ値を、前記画素の深度と少な
    くとも1つの周辺画素の深度との差に対応する値に設定
    することを特徴とする、請求項29に記載の方法。
  31. 【請求項31】 前記周辺画素は、隣接画素であること
    を特徴とする、請求項30に記載の方法。
  32. 【請求項32】 前記画素は、前記画像においてP
    [x、y]であると指定され、 前記選択的に変更するステップは、前記画素の深度を、
    P[x−1、y]であると指定される第1画素と、P
    [x、y−1]であると指定される第2画素の深度と比較
    することを特徴とする、請求項19に記載の方法。
  33. 【請求項33】 前記画素は、前記画像においてP
    [x、y]であると指定され、 前記選択的に変更するステップは、前記画素の深度を、
    P[x+1、y]であると指定される第1画素と、P
    [x、y+1]であると指定される第2画素の深度と比較
    することを特徴とする、請求項19に記載の方法。
  34. 【請求項34】 前記選択的に変更するステップは、前
    記画素の深度の第1対数関数と、少なくとも1つのその
    隣接画素の深度の第2対数関数との差を計算することを
    特徴とする、請求項19に記載の方法。
  35. 【請求項35】 コンピュータグラフィックスシステム
    であって、 前記三次元画像の画素に対応するカラーおよび深度デー
    タを記憶する画素メモリにおいて三次元画像を描画する
    グラフィックスエンジンと、 前記画素メモリに接続される画素フィルタとを備え、 前記画素フィルタは、前記画素メモリから前記画素のう
    ち少なくとも1つの画素に対して少なくとも前記カラー
    データを読み出し、前記カラーデータを選択的に変更し
    て前記画像に漫画的な輪郭線効果を付与する、コンピュ
    ータグラフィックスシステム。
  36. 【請求項36】 前記基板の外部に設けられる画素メモ
    リをさらに備え、 前記グラフィックスエンジンおよび前記画素メモリは、
    共通の基板上に配置され、 前記画素フィルタは、前記画像をさらなる前記画素メモ
    リに書き込むことを特徴とする、請求項35に記載のシ
    ステム。
  37. 【請求項37】 前記画素フィルタは、境界線カラー
    データを前記画素カラーデータで代用することを特徴と
    する、請求項35に記載のシステム。
  38. 【請求項38】 前記画素フィルタは、少なくとも前記
    画素に対応する前記深度データに部分的に基づいて、前
    記カラーデータを選択的に変更することを特徴とする、
    請求項35に記載のシステム。
  39. 【請求項39】 前記画素フィルタは、少なくとも前記
    画素に対応するディザリングされた前記深度データに部
    分的に基づいて、前記カラーデータを選択的に変更する
    ことを特徴とする、請求項35に記載のシステム。
  40. 【請求項40】 前記画素フィルタは、前記画素に対応
    する深度データと、前記画素の少なくとも1つの隣接画
    素に対応する深度データとの差を求め、これにより前記
    差が所定の閾値を上回った場合には、前記画素に対応す
    る前記カラーデータを変更することを特徴とする、請求
    項35に記載のシステム。
  41. 【請求項41】 前記画素フィルタは、前記画素メモリ
    に記憶される対象部分の識別値に少なくとも部分的に基
    づいて行われることを特徴とする、請求項35に記載の
    システム。
  42. 【請求項42】 前記画素メモリは、複数の画素に関連
    するアルファ値を記憶するように構成され、 前記対象部分の識別値は、前記画素メモリ内でアルファ
    値として記憶されることを特徴とする、請求項41に記
    載のシステム。
  43. 【請求項43】 前記画素フィルタは、前記画素に対応
    する識別データと、前記画素に隣接する1つの画素に対
    応する識別データとの差を求め、これにより前記差が所
    定の閾値を上回った場合には、前記画素に対応する前記
    カラーデータを変更することを特徴とする、請求項35
    に記載のシステム。
  44. 【請求項44】 前記画素フィルタは、アルファブレン
    ディングによって前記画素カラーデータを選択的に変更
    することを特徴とする、請求項35に記載のシステム。
  45. 【請求項45】 前記画素フィルタは、前記画素に対応
    するアルファ値を、前記画素の深度に対応する値に設定
    することで選択的に変更することを特徴とする、請求項
    44に記載のシステム。
  46. 【請求項46】 前記画素フィルタは、前記画素に対応
    するアルファ値を、前記画素の深度と少なくとも1つの
    周辺画素の深度との差に対応する値に設定することで選
    択的に変更することを特徴とする、請求項45に記載の
    システム。
  47. 【請求項47】 前記周辺画素は、隣接画素であること
    を特徴とする、請求項46に記載のシステム。
  48. 【請求項48】 前記画素は、前記画像においてP
    [x、y]であると指定され、 前記画素フィルタは、前記画素の深度を、P[x−1、
    y]であると指定される第1画素と、P[x、y−1]で
    あると指定される第2画素の深度と比較することを特徴
    とする、請求項35に記載のシステム。
  49. 【請求項49】 前記画素は、前記画像においてP
    [x、y]であると指定され、 前記画素フィルタは、前記画素の深度を、P[x+1、
    y]であると指定される第1画素と、P[x、y+1]で
    あると指定される第2画素の深度と比較することを特徴
    とする、請求項35に記載のシステム。
  50. 【請求項50】 前記画素フィルタは、前記画素の深度
    の第1対数関数と、少なくとも1つのその隣接画素の深
    度の第2対数関数との差を計算することを特徴とする、
    請求項35に記載のシステム。
  51. 【請求項51】 対話型三次元ホームビデオゲームシス
    テムであって、 ユーザによるリアルタイム操作入力が可能な、少なくと
    も1つの手動制御器と、 少なくとも1つの漫画キャラクタを表現する三次元デー
    タを記憶する記憶媒体と、 画像データを記憶するフレームバッファメモリと、 前記フレームバッファメモリに接続される三次元グラッ
    フィクスパイプラインと、 前記フレームバッファメモリに接続されるフィルタとを
    備え、 前記三次元グラッフィクスパイプラインは、少なくとも
    前記ユーザによるリアルタイム操作入力および前記漫画
    キャラクタを表現する前記三次元データに基づいて、前
    記漫画キャラクタに対応する画像データを前記フレーム
    バッファメモリにおいて描画し、 前記フィルタは、漫画的な輪郭線処理機能を前記画像デ
    ータに適用して、自動的に前記漫画キャラクタの周囲に
    はっきりした境界線を引くことを特徴とする、対話型三
    次元ホームビデオゲームシステム。
  52. 【請求項52】 前記基板外部に設けられるさらなる画
    素メモリを備え、 前記グラフィクスパイプラインおよび前記バッファメモ
    リは、共通の半導体基板上に配置され、 前記フィルタは、前記画像をさらなる前記画素メモリに
    書き込むことを特徴とする、請求項51に記載のホーム
    ビデオゲームシステム。
  53. 【請求項53】 前記フィルタは、前記画素カラーデー
    タの代わりに境界線カラーを用いることを特徴とする、
    請求項51に記載のシステム。
  54. 【請求項54】 前記フィルタは、前記バッファメモリ
    に記憶されている、少なくとも1つの画素に対応するカ
    ラーデータを、少なくとも前記画素に対応する前記深度
    データに部分的に基づいて選択的に変更することを特徴
    とする、請求項51に記載のシステム。
  55. 【請求項55】 前記フィルタは、前記フレームバッフ
    ァメモリに記憶されている、少なくとも1つの画素に対
    応するカラーデータを、少なくとも前記画素に対応する
    ディザリングされた前記深度データに部分的に基づいて
    選択的に変更することを特徴とする、請求項51に記載
    のシステム。
  56. 【請求項56】 前記フィルタは、前記画素に対応する
    深度データと、前記画素に隣接する少なくとも1つの画
    素に対応する深度データとの差を求め、これにより前記
    差が所定の閾値を上回った場合には、前記画素に対応す
    る前記カラーデータを変更することを特徴とする、請求
    項51に記載のシステム。
  57. 【請求項57】 前記フィルタは、前記フレームバッフ
    ァメモリに記憶されている対象部分の識別値に部分的に
    基づいて、前記カラーデータを選択的に変更することを
    特徴とする、請求項51に記載のシステム。
  58. 【請求項58】 前記フレームバッファメモリは、複数
    の画素に関連するアルファ値を記憶するように構成さ
    れ、前記対象部分の識別値は、前記フレームバッファメ
    モリ内でアルファ値として記憶されることを特徴とす
    る、請求項57に記載のシステム。
  59. 【請求項59】 前記フィルタは、少なくとも1つの画
    素に対応する識別データと、前記画素周辺にある1つの
    画素に対応する識別データとの差を求め、これにより前
    記差が所定の閾値を上回った場合には、前記画素に対応
    する前記カラーデータを変更することを特徴とする、請
    求項51に記載のシステム。
  60. 【請求項60】 前記フィルタは、前記フレームバッフ
    ァメモリに記憶されるカラーデータをアルファブレンド
    することを特徴とする、請求項51に記載の方法。
  61. 【請求項61】 前記フィルタは、前記画素に対応する
    アルファ値を前記画素の深度に対応する値に設定するこ
    とにより、前記フレームバッファメモリに記憶されるカ
    ラーデータを選択的に変更することを特徴とする、請求
    項60に記載のシステム。
  62. 【請求項62】 前記フィルタは、少なくとも1つの画
    素に対応するアルファ値を、前記画素の深度と、その周
    辺の少なくとも1つの画素の深度との差に対応する値に
    設定することにより、前記バッファメモリに記憶される
    カラーデータを選択的に変更することを特徴とする、請
    求項61に記載のシステム。
  63. 【請求項63】 前記周辺画素は、隣接画素であること
    を特徴とする、請求項62に記載のシステム。
  64. 【請求項64】 前記画素は、前記画像においてP
    [x、y]であると指定され、 前記画素フィルタは、前記画素の深度をP[x−1、y]
    であると指定される第1画素と、P[x、y−1]である
    と指定される第2画素の深度と比較することを特徴とす
    る、請求項51に記載のシステム。
  65. 【請求項65】 前記画素は、前記画像においてP
    [x、y]であると指定され、 前記画素フィルタは、前記画素の深度をP[x+1、y]
    であると指定される第1画素と、P[x、y+1]である
    と指定される第2画素の深度と比較することを特徴とす
    る、請求項51に記載のシステム。
  66. 【請求項66】 前記フィルタは、前記画素の深度の第
    1対数関数と、少なくとも1つのその隣接画素の深度の
    第2対数関数との差を計算することを特徴とする、請求
    項51に記載のシステム。
  67. 【請求項67】 対話型三次元ホームビデオゲームシス
    テムをエミュレートするエミュレータであって、 ユーザによるリアルタイム操作入力が可能な、少なくと
    も1つの手動制御器と、 少なくとも1つの漫画キャラクタを表現する三次元デー
    タを記憶する記憶媒体と、 画像データを記憶するフレームバッファメモリと、 前記フレームバッファメモリに接続される三次元グラッ
    フィクスパイプラインと、 前記フレームバッファメモリに接続されるフィルタとを
    備え、 前記三次元グラッフィクスパイプラインは、少なくとも
    前記ユーザによるリアルタイム操作入力および前記漫画
    キャラクタを表現する前記三次元データに基づいて、前
    記漫画キャラクタに対応する画像データを前記フレーム
    バッファにおいて描画し、 前記フィルタは漫画的な輪郭線処理機能を前記画像デー
    タに適用して、自動的に前記漫画キャラクタの周囲には
    っきりした境界線を引くことを特徴とする、エミュレー
    タ。
JP2000289625A 1999-09-24 2000-09-22 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置 Expired - Fee Related JP4349733B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15566099P 1999-09-24 1999-09-24
US60/155660 1999-12-21
US09/468109 1999-12-21
US09/468,109 US6747642B1 (en) 1999-01-29 1999-12-21 Method and apparatus for providing non-photorealistic cartoon outlining within a 3D videographics system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009130618A Division JP4672072B2 (ja) 1999-09-24 2009-05-29 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置

Publications (3)

Publication Number Publication Date
JP2001134779A true JP2001134779A (ja) 2001-05-18
JP2001134779A5 JP2001134779A5 (ja) 2007-08-23
JP4349733B2 JP4349733B2 (ja) 2009-10-21

Family

ID=26852501

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000289625A Expired - Fee Related JP4349733B2 (ja) 1999-09-24 2000-09-22 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置
JP2009130618A Expired - Lifetime JP4672072B2 (ja) 1999-09-24 2009-05-29 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2009130618A Expired - Lifetime JP4672072B2 (ja) 1999-09-24 2009-05-29 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置

Country Status (5)

Country Link
JP (2) JP4349733B2 (ja)
CN (1) CN1316723A (ja)
AU (1) AU5652700A (ja)
BR (1) BR0004415A (ja)
CA (1) CA2319279A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008302130A (ja) * 2007-06-11 2008-12-18 Nintendo Co Ltd 画像処理プログラムおよび画像処理装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7551322B2 (en) * 2004-06-29 2009-06-23 Intel Corporation Image edge filtering
US8253740B2 (en) * 2006-02-27 2012-08-28 Koninklijke Philips Electronics N.V. Method of rendering an output image on basis of an input image and a corresponding depth map
US7612783B2 (en) * 2006-05-08 2009-11-03 Ati Technologies Inc. Advanced anti-aliasing with multiple graphics processing units
JP4291384B2 (ja) 2007-08-23 2009-07-08 ファナック株式会社 数値制御装置に接続されたioユニットの断線と電源断の検出方法
CN101540055B (zh) * 2009-04-13 2011-05-04 浙江大学 面向在线实时应用的卡通风格化方法
JP4847572B2 (ja) * 2009-11-13 2011-12-28 株式会社コナミデジタルエンタテインメント 画像処理装置、画像処理装置の制御方法、及びプログラム
JP5439454B2 (ja) * 2011-10-21 2014-03-12 富士フイルム株式会社 電子コミック編集装置、方法及びプログラム
CN109741408A (zh) * 2018-11-23 2019-05-10 成都品果科技有限公司 一种图像及视频漫画效果实时渲染方法
CN111127614B (zh) * 2019-12-25 2023-07-21 上海米哈游天命科技有限公司 模型的描边处理方法、装置、存储介质及终端

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2603445B2 (ja) * 1994-11-10 1997-04-23 インターナショナル・ビジネス・マシーンズ・コーポレイション 髪画像適合方法及びコンピュータ・システム
JPH08279057A (ja) * 1995-04-05 1996-10-22 Hitachi Ltd 三次元図形の輪郭線および稜線強調表示装置
JP3721623B2 (ja) * 1995-12-29 2005-11-30 カシオ計算機株式会社 描画色変更方法、及び動画再生装置
JPH09311954A (ja) * 1996-05-22 1997-12-02 Hitachi Ltd 3次元図形表示システムおよび3次元図形の表示方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008302130A (ja) * 2007-06-11 2008-12-18 Nintendo Co Ltd 画像処理プログラムおよび画像処理装置
US9105114B2 (en) 2007-06-11 2015-08-11 Nintendo Co., Ltd. Storage medium storing image processing program and image processing apparatus

Also Published As

Publication number Publication date
JP4672072B2 (ja) 2011-04-20
JP4349733B2 (ja) 2009-10-21
AU5652700A (en) 2001-03-29
CA2319279A1 (en) 2001-03-24
JP2009199620A (ja) 2009-09-03
CN1316723A (zh) 2001-10-10
BR0004415A (pt) 2001-04-10

Similar Documents

Publication Publication Date Title
JP4672072B2 (ja) 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置
JP4698893B2 (ja) 改良されたフォグ効果を提供するための方法、グラフィックスシステム、およびプログラム
US6747642B1 (en) Method and apparatus for providing non-photorealistic cartoon outlining within a 3D videographics system
US6700586B1 (en) Low cost graphics with stitching processing hardware support for skeletal animation
JP4731028B2 (ja) グラフィクスシステム用再循環シェードツリーブレンダ
JP4691273B2 (ja) グラフィクス処理システムおよびエンボス型バンプマッピングを行う方法
US7061502B1 (en) Method and apparatus for providing logical combination of N alpha operations within a graphics system
JP2002074390A (ja) 低価格のグラフィックスシステムにおけるシャドウマッピング
US6914612B2 (en) Image drawing method, image drawing apparatus, recording medium, and program
US7479961B2 (en) Program, information storage medium, and image generation system
US6717575B2 (en) Image drawing method, image drawing apparatus, recording medium, and program
JP4804122B2 (ja) プログラム、テクスチャデータ構造、情報記憶媒体及び画像生成システム
JP4167358B2 (ja) 画像生成システム及び情報記憶媒体
EP1081654A2 (en) Method and apparatus for providing depth blur effects within a 3d videographics system
US7164421B2 (en) Image generation system, program, and information storage medium
EP1094421A2 (en) Method and apparatus for providing non-photorealistic cartoon outlining within a 3D videographics system
JP2001229403A (ja) ゲームシステム及び情報記憶媒体
JP4683760B2 (ja) 再構成可能なピクセルフォーマットを有する組み込みフレームバッファを有するグラフィックスシステム
JP3254195B2 (ja) 画像生成システム及び情報記憶媒体
JP4574058B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2001084390A (ja) 画像生成システム及び情報記憶媒体
JP4740476B2 (ja) グラフィックスシステム内におけるn個のアルファ演算の論理結合を提供する方法および装置
JP4740490B2 (ja) グラフィックスレンダリングシステムにおいて視覚的に重要なz成分の精度を最大化しz近傍クリッピングを回避するためのz近傍範囲におけるz値のクランピング
GB2432500A (en) Image generation using vertex and pixel processing sections
MXPA00009280A (en) Method and apparatus for providing non-photorealistic cartoon outlining within a 3d videographics system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060724

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090529

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: 20090623

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: 20090721

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4349733

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130731

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130731

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees