JP3910259B2 - Image processing apparatus and method, and rendering apparatus and method - Google Patents

Image processing apparatus and method, and rendering apparatus and method Download PDF

Info

Publication number
JP3910259B2
JP3910259B2 JP12669297A JP12669297A JP3910259B2 JP 3910259 B2 JP3910259 B2 JP 3910259B2 JP 12669297 A JP12669297 A JP 12669297A JP 12669297 A JP12669297 A JP 12669297A JP 3910259 B2 JP3910259 B2 JP 3910259B2
Authority
JP
Japan
Prior art keywords
pixel
pixels
value
image
square
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
Application number
JP12669297A
Other languages
Japanese (ja)
Other versions
JPH10320569A (en
Inventor
章男 大場
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP12669297A priority Critical patent/JP3910259B2/en
Publication of JPH10320569A publication Critical patent/JPH10320569A/en
Application granted granted Critical
Publication of JP3910259B2 publication Critical patent/JP3910259B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理装置および方法、並びにレンダリング装置および方法に関し、特に、より高品位の画像を表示することができるようにした画像処理装置および方法、並びにレンダリング装置および方法に関する。
【0002】
【従来の技術】
図16は、コンピュータゲーム装置におけるレンダリングの例を表している。この例においては、奥行き方向に伸びる床102上に、オブジェクト100とオブジェクト101が表示されている。オブジェクト100は、近い位置に配置され、オブジェクト101は、遠い位置に配置されている。
【0003】
床102を所定のテクスチャで表示するために、オリジナルテクスチャと、それを縮小したMIP-MAPテクスチャが予め用意されている。
【0004】
そして、例えば床102の遠方のポリゴンP11は、例えばMIP-MAPテクスチャの中の、所定の縮小率のテクスチャTEで表示される。また、床102の中間の位置に位置するポリゴンP12は、オリジナルテクスチャのテクスチャTFで表示される。床102の最も手前のポリゴンP13には、オリジナルテクスチャのうちの所定のテクスチャTGが所定の拡大率で拡大して表示される。
【0005】
このように、床102に所望のテクスチャを表示することで、リアルな画像とすることができる。
【0006】
【発明が解決しようとする課題】
ところで、テクスチャマッピングされたポリゴンは、オリジナルテクスチャより拡大されると、画質が劣化する課題があった。例えば、拡大処理を画素を大きくすることで行うと(ポイントサンプリングすると)、画像がモザイク状となる。また、拡大処理をバイリニア補間で行うと、補間のため画像がぼける課題があった。
【0007】
さらに、バイリニア補間の方がポイントサンプリングに較べて比較的良好の画像を得ることができるが、拡大処理は、より近景の画像ほど大きな拡大率で行われることになるため、近景ほどぼけた、コントラストの小さな画像となる。その結果、図16に示すように、近景に等倍のオブジェクト100が位置すると、このオブジェクト100は、テクスチャマッピングを利用していないため、鮮明な画像となっているのに対して、ほぼ同位置に位置する床102の画像が、ぼけた画像となってしまい、全体的に矛盾のある画像となり、見るものに違和感を与える結果となっていた。
【0008】
本発明はこのような状況に鑑みてなされたものであり、より高品位の画像を表示できるようにするものである。
【0009】
【課題を解決するための手段】
請求項1に記載の画像処理装置は、所定の基準となる第1の画素を設定する設定手段と、第1の画素に対応する第2乃至第4の画素を、第1の画素から水平方向、垂直方向、または斜め方向に、所定の距離だけ離れた位置に配置する配置手段と、第1乃至第4の画素から所定の距離だけ離れている所定の位置の他の画素を、第1乃至第4の画素と、距離から演算する演算手段とを備えることを特徴とする。
【0010】
請求項6に記載の画像処理方法は、所定の基準となる第1の画素を設定する設定ステップと、第1の画素に対応する第2乃至第4の画素を、第1の画素から水平方向、垂直方向、または斜め方向に、所定の距離だけ離れた位置に配置する配置ステップと、第1乃至第4の画素から所定の距離だけ離れている所定の位置の他の画素を、第1乃至第4の画素と、距離から演算する演算ステップとを備えることを特徴とする。
【0011】
請求項7に記載のレンダリング装置は、オリジナルのテクスチャを提供する第1の提供手段と、オリジナルのテクスチャを拡大した拡大テクスチャを修整する修整テクスチャを提供する第2の提供手段と、第1の提供手段の提供するオリジナルのテクスチャ、または第2の提供手段の提供する修整テクスチャを用いて、表示する画像のビットマップデータを描画する描画手段とを備えることを特徴とする。
【0012】
請求項11に記載のレンダリング方法は、オリジナルのテクスチャを提供する第1の提供ステップと、オリジナルのテクスチャを拡大した拡大テクスチャを修整する修整テクスチャを提供する第2の提供ステップと、第1の提供ステップの提供するオリジナルのテクスチャ、または第2の提供ステップの提供する修整テクスチャを用いて、表示する画像のビットマップデータを描画する描画ステップとを備えることを特徴とする。
【0013】
請求項1に記載の画像処理装置および請求項6に記載の画像処理方法においては、第1の画素に対応する第2乃至第4の画素が、第1の画素から水平方向、垂直方向、または斜め方向に、所定の距離だけ離れた位置に配置される。そして、第1乃至第4の画素から所定の距離だけ離れている所定の位置の他の画素が、第1乃至第4の画素と、それらとの距離から演算される。
【0014】
請求項7に記載のレンダリング装置および請求項11に記載のレンダリング方法においては、オリジナルのテクスチャまたは修整テクスチャを用いて、描画が行われる。
【0015】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態(但し一例)を付加して本発明の特徴を記述すると、次のようになる。但し勿論この記載は、各手段を記載したものに限定することを意味するものではない。
【0016】
請求項1に記載の画像処理装置は、所定の基準となる第1の画素を設定する設定手段(例えば図3のステップS1)と、第1の画素に対応する第2乃至第4の画素を、第1の画素から水平方向、垂直方向、または斜め方向に、所定の距離だけ離れた位置に配置する配置手段(例えば図3のステップS2)と、第1乃至第4の画素から所定の距離だけ離れている所定の位置の他の画素を、第1乃至第4の画素と、距離から演算する演算手段(例えば図3のステップS3)とを備えることを特徴とする。
【0017】
請求項4に記載の画像処理装置は、演算手段は、第5の画素に対応する第6または第7の画素を、第5の画素から水平方向に、所定の距離だけ離れた位置に配置する水平配置手段(例えば図3のステップS4)と、第1の画素、第4の画素、第5の画素、および第6の画素から、その中心に位置する第8の画素を演算するとともに、第2の画素、第3の画素、第5の画素、および第7の画素から、その中心に位置する第9の画素を演算する水平演算手段(例えば図3のステップS5)とをさらに備えることを特徴とする。
【0018】
請求項5に記載の画像処理装置は、演算手段は、第5の画素に対応する第10または第11の画素を、第5の画素から垂直方向に、所定の距離だけ離れた位置に配置する垂直配置手段(例えば図3のステップS6)と、第1の画素、第2の画素、第5の画素、および第10の画素から、その中心に位置する第12の画素を演算するとともに、第3の画素、第4の画素、第5の画素、および第11の画素から、その中心に位置する第13の画素を演算する垂直演算手段(例えば図3のステップS7)とをさらに備えることを特徴とする。
【0019】
請求項7に記載のレンダリング装置は、オリジナルのテクスチャを提供する第1の提供手段(例えば図12のテクスチャ領域72Bの領域72B2)と、オリジナルのテクスチャを拡大した拡大テクスチャを修整する修整テクスチャを提供する第2の提供手段(例えば図12のテクスチャ領域72Bの領域72B3)と、第1の提供手段の提供するオリジナルのテクスチャ、または第2の提供手段の提供する修整テクスチャを用いて、表示する画像のビットマップデータを描画する描画手段(例えば図2のグラフィックプロセッサ71)とを備えることを特徴とする。
【0020】
図1は、本発明の画像処理装置を応用したコンピュータゲーム装置の構成例を示すブロック図であり、このコンピュータゲーム装置は、3次元グラフィックス機能と動画再生機能とを備えている。
【0021】
このコンピュータゲーム装置は、メインバス10と、サブバス20とからなる2つのシステムバスを備える構成を有している。これらメインバス10と、サブバス20との間のデータのやり取りは、バスコントローラ30により制御される。
【0022】
そして、メインバス10には、メインCPU11、メインメモリ12、画像伸長デコード部13、前処理部14、描画処理部15、および、メインのDMAコントローラ16が接続されている。描画処理部15には、処理用メモリ17が接続されている。また、この描画処理部15は表示データ用のフレームバッファ(フレームメモリ)と、D/A変換回路を含み、この描画処理部15からのアナログビデオ信号がビデオ出力端子18に出力される。図示しないが、このビデオ出力端子18は、表示装置としての例えばCRTディスプレイに接続される。
【0023】
サブバス20には、サブCPU21、サブメモリ22、ブートROM23、サブのDMAコントローラ24、音声処理用プロセッサ25、入力部26、補助記憶装置部27、および、拡張用の通信インタフェース部28が接続されている。補助記憶装置部27は、この例ではCD-ROMデコーダ41とCD-ROMドライバ42を備える。ブートROM23には、ゲーム機としての立ち上げを行うためのプログラムが格納されている。また、音声処理用プロセッサ25に対しては、音声処理用メモリ25Mが接続されている。そして、この音声処理用プロセッサ25はD/A変換回路を備え、アナログ音声信号を音声出力端子29に出力する。
【0024】
そして、補助記憶装置部27は、CD-ROMドライバ42に装填されたCD-ROMディスク6に記録されているアプリケーションプログラム(例えばゲームのプログラム)やデータをデコードする。CD-ROMディスク6には、例えば離散コサイン変換(DCT)を用いたMPEG2方式により画像圧縮された動画や静止画の画像データや、ポリゴンを修飾するためのテクスチャ画像の画像データも記録されている。また、CD-ROMディスク6のアプリケーションプログラムには、ポリゴン描画命令が含まれている。
【0025】
入力部26は、コントロールパッド26A、ビデオ信号の入力端子26B、および、音声信号の入力端子26Cを備えるものである。
【0026】
メインCPU11は、メインバス10側の各部の管理および制御を行う。また、このメインCPU11は、物体を多数のポリゴンの集まりとして描画する場合の処理の一部を行う。メインCPU11は、1画面分の描画画像を生成するための描画命令列をメインメモリ12上に作成する。メインCPU11とメインバス10とのデータのやり取りは、データをパケット形式にしてパケット単位に行い、バースト転送を可能にしている。
【0027】
メインメモリ12は、動画や静止画の画像データに対しては、圧縮された画像データのメモリ領域と、伸長デコード処理された伸長画像データのメモリ領域とを備えている。また、メインメモリ12は、描画命令列などのグラフィックスデータのメモリ領域(これをパケットバッファという)を備える。このパケットバッファは、メインCPU11による描画命令列の設定と、描画命令列の描画処理部15への転送とに使用される。
【0028】
画像伸長デコード部13は、CD-ROMディスク6から再生され、メインメモリ12に転送された圧縮動画データやメインメモリ12上の圧縮されたテクスチャパターンデータの伸長処理を行うもので、この例では、MPEG2の画像圧縮方式を採用するので、それに対応したデコーダの構成を有している。
【0029】
この画像伸長デコード部13の出力段には、瞬時の、つまりほぼリアルタイムでの可逆圧縮/伸長が可能で、圧縮率が例えば1/4乃至1/2程度の瞬時圧縮部50が設けられている。また、この例の画像伸長デコード部13は、その出力画像データの出力形式として、画像データの各画素の値を再量子化して出力する第1の出力データ形式(以下、この第1の出力データ形式をダイレクトカラー形式という)と、前記各画素を、予め定められた限定された数の再現色の中の、当該画素の色が近似する色を示すインデックスデータに変換して出力する第2の出力データ形式(以下、この第2の出力データ形式をインデックスカラー形式という)とを、描画処理部15での処理に適合させて選択可能としている。
【0030】
描画処理部15は、メインメモリ12から転送されてくる描画命令を実行して、その結果をフレームメモリ(図2のVRAM72)に書き込む。フレームメモリから読み出された画像データは、D/A変換器を介してビデオ出力端子18に出力され、CRTなどの画像モニタ装置の画面に表示される。
【0031】
なお、描画処理部15は、メインメモリ12から受け取る画像データの出力形式がインデックスカラー形式の場合にあっては、各画素データをインデックスデータから対応する代表色データに変換する処理を行う。このために、描画処理部15は、インデックスデータと代表色データとの変換テーブルであるCLUT(Color
Look Up Table)を格納できるようにしている。
【0032】
前処理部14は、CPUを備えるプロセッサの構成とされるもので、メインCPU11の処理の一部を分担することができるようにするものである。例えばポリゴンデータを、表示のための2次元座標データに変換する処理も、この前処理部14が行う場合がある。
【0033】
そして、この例では、前処理部14とメインバス10との間に、瞬時圧縮部50による瞬時圧縮を解凍する瞬時解凍部60が設けられる。
【0034】
次に、このゲーム装置の基本的な処理について以下に、簡単に説明する。
【0035】
図1のコンピュータゲーム装置に電源が投入され、ゲーム装置本体1にCD-ROMディスク6が装填されると、ブートROM23の、ゲームを実行するためのいわゆる初期化処理をするためのプログラムが、サブCPU21により実行される。すると、CD-ROMディスク6の記録データが次のようにして取り込まれる。
【0036】
すなわち、補助記憶装置部27においては、CD-ROMディスク6から、圧縮画像データ、描画命令およびメインCPU11が実行するプログラムが、CD-ROMドライバ42、CD-ROMデコーダ41を介して読み出され、サブDMAコントローラ24によってサブメモリ22に一旦ロードされる。
【0037】
そして、このサブメモリ22に取り込まれたデータは、サブDMAコントローラ24およびバスコントローラ30、さらにはメインDMAコントローラ16によってメインメモリ12に転送される。なお、サブCPU21は、描画処理部15のフレームに対して直接的にアクセスできるように構成されており、このサブCPU21によっても表示画像内容の変更が、描画処理部15の制御とは離れて可能とされている。
【0038】
図2は、描画処理部15の基本的な構成例を表している。この描画処理部15は、グラフィックプロセッサ71、VRAM72、およびCRTコントローラ73より構成されている。グラフィックプロセッサ71は、図3のフローチャートを参照して後述するフラクタル生成アルゴリズムを実行するプログラムを内蔵している。VRAM72は、テクスチャ素材を記録する領域72A、生成されたテクスチャが描画される領域72B、図示せぬCRTに出力するビットマップデータが交互に描画される領域72C,72Dを有している。
【0039】
グラフィックプロセッサ71は、メインメモリ12からの描画命令を実行して、領域72Cまたは領域72Dに、交互にビットマップデータを描画する。領域72Cにビットマップデータが新たに書き込まれているとき、領域72Dに既に書き込まれているビットマップデータが読み出され、CRTコントローラ73からCRTに出力され、表示される。領域72Cへの描画が完了すると、今度は領域72Cからビットマップデータが読み出され、CRTコントローラ73を介して、CRTに出力され、表示される。そして、このとき、領域72Dに新たな画像が描画される。このように、領域72Cと領域72Dは、書き込みと読み出しの動作が交互に行われる。
【0040】
テクスチャ領域72Bには、図16に示した場合と同様に、オリジナルテクスチャとMIP-MAPテクスチャが記憶されており、適宜所定のものが読み出され、領域72Cまたは72Dに描画される。グラフィックプロセッサ71は、テクスチャを拡大する必要がある場合、内蔵するフラクタル生成アルゴリズムを用いて、フラクタルを生成し、テクスチャ素材領域72Aの所定の領域に記憶させる。
【0041】
次に、このアルゴリズムを図3を参照して説明する。最初にステップS1において、グラフィックプロセッサ71は、所定の画素データを初期値として設定する。また、このとき、フラクタル生成するテクスチャの大きさに対応する距離Lが初期設定される。
【0042】
次に、ステップS2に進み、グラフィックプロセッサ71は、所定の位置にラップラウンドイメージを設定する処理を行う。すなわち、図4(A)に示すように、ステップS1で設定した初期値の画素を画素1とするとき、水平方向に距離Lだけ離れた位置の画素2、垂直方向に距離Lだけ離れた位置の画素4、および画素2から距離Lだけ垂直方向に離れた位置(画素4から水平方向に距離Lだけ離れた位置)の画素3として、画素1の初期値と同一の値を設定する。
【0043】
次に、ステップS3に進み、ステップS2で設定した4つの画素(すなわち、画素1乃至画素4)から、その中心の画素の値を演算する。
【0044】
すなわち、図4(B)に示すように、画素1乃至画素4の中心に位置する画素5の値を演算する。この画素5の値hは、次式で表される。
h=(dt1+dt2+dt3+dt4)/4+q×RTD×hstep
【0045】
なお、上記式において、dt1乃至dt4は、画素1乃至画素4の値を意味し、qは、発生された乱数を表し、RTDは、21/2を表し、hstepは、距離(いまの場合、L/2)を表している。
【0046】
すなわち、画素5の値hは、画素1乃至画素4の平均値に揺らぎ成分を加算して生成されている。この揺らぎ成分は、−1.0から1.0の間の乱数qと、画素1乃至画素4から画素5までの距離RTD×hstep(21/2・L/2)に比例するように規定されている。これにより、自己相似性が実現され、フラクタル演算ができるようになされている。
【0047】
次に、ステップS4に進み、グラフィックプロセッサ71は、水平方向に対して、ラップラウンドイメージを設定する処理を実行する。すなわち、図4(C)に示すように、画素5から水平方向に距離Lだけ離れた位置の画素6、または画素7として、画素5と同一の値を設定する。
【0048】
次に、ステップS5に進み、新たな4点の中心に配置されている画素データをフラクタル演算する処理を実行する。すなわち、画素1、画素4、画素5、および画素6の中心に位置する画素8のデータが演算されるとともに、画素2、画素3、画素5、および画素7の中心に位置する画素9の画素値が求められる。
【0049】
この場合、例えば画素8の画素1、画素4、画素5、および画素6からの距離は、L/2であるため、次式から演算される。
h=(dt1+dt4+dt5+dt6)/4+q×hstep
【0050】
次に、ステップS6に進み、グラフィックプロセッサ71は、垂直方向に対して、ラップラウンドイメージを設定する。すなわち、図4(D)に示すように、画素5から垂直方向に距離Lだけ離れた位置の画素10または画素11に、画素5と同一の値の画素を設定する。
【0051】
次に、ステップS7に進み、新たに生成された4点の中心の画素データをフラクタル演算する処理が実行される。
【0052】
すなわち、図4(D)に示すように、画素1、画素2、画素5、および画素10の中心に位置する画素12の値と、画素3、画素4、画素5、および画素11の中心に位置する画素13の値が演算される。
【0053】
この場合における例えば画素12の値は、次式で演算される。
h=(dt1+dt2+dt5+dt10)/4+q×hstep
【0054】
次に、ステップS8に進み、全ての画素データを生成したか否かを判定し、まだ生成していない画素データが残っている場合には、ステップS2に戻り、同様の処理が繰り返し実行される。
【0055】
例えば、図4(D)に示すように、画素1乃至画素5、画素8、画素9、画素12、および画素13を生成した後、さらにより近接した位置の画素を求める場合には、例えば画素1、画素12、画素5、および画素8の4つの画素を選択し、その中心の画素を求め、さらに、水平方向、または垂直方向に中心の画素をラップラウンドして、新たな画素データを演算する。
【0056】
以上のような処理を必要な回数繰り返すことで、所定の大きさの拡大テクスチャを生成することができる。
【0057】
図5乃至図6は、以上のフラクタル生成アルゴリズムのより具体的なプログラムを表している。
【0058】
以上のようにして生成した単位のテクスチャを複数個配列して、より大きなテクスチャを構成したとしても、各単位のテクスチャとの境界部が視認されてしまうようなことがない。すなわち、図7に示すように、生成した1つの単位としてのテクスチャの4つの角の画素データは、いずれも同一(図7の表示例の場合、A)となっている。従って、これを上下左右方向に配列したとしても、各単位の境界部分に配置される画素データは、実質的に同一のデータであるから、その境界部が視認されるようなことがない。
【0059】
これに対して、図8に示すように、四隅に配置する画素を初期値と異なる値にすると、そのようにして生成された単位のテクスチャを複数個配列すると、各単位の境界部に配置される画素データがそれぞれ異なるものとなり、境界部が目立つものとなる。本願においては、上述したように、フラクタルパターンをサイクリックに生成するようにしたので、これが防止される。
【0060】
図9は、以上のようにして生成したサイクリックテクスチャをさらに合成して、新たなサイクリックテクスチャを生成する様子を示している。同図に示すように、テクスチャT1乃至T3が、単位のサイクリックテクスチャを複数個配列することで生成されている。テクスチャT4は、テクスチャT1とT3を合成して生成されている。テクスチャT5は、テクスチャT2とT3を合成して生成されており、また、テクスチャT6は、テクスチャT1乃至T3を合成して生成されている。
【0061】
なお、このような2以上のテクスチャを合成して1つのテクスチャを生成する場合、各テクスチャの位相をずらすことで、微妙に異なる多くの種類のテクスチャを生成することができる。
【0062】
なお、位相をずらす処理は、読み出しまたは書き込みアドレスをずらすことで実現することができる。
【0063】
図10の表示例においては、テクスチャT11が、テクスチャT1とテクスチャT3をそれぞれ異なる拡大率(縮小率)で合成して生成されている。同様に、テクスチャT12は、T2とT3を異なる拡大率(縮小率)で合成して生成され、テクスチャT13は、テクスチャT1乃至T3を、それぞれ異なる拡大率(縮小率)で合成することで、生成されている。このように、簡単なサイクリックパターンで、拡大率(縮小率)の最小公倍数の大きさのパターンを合成することができる。
【0064】
さらに、図11に示すように、サイクリックテクスチャT21とα値により制御された抜き型の画像T22とを合成して、合成テクスチャT23を生成するようにすると、より複雑なテクスチャパターンを合成することができる。
【0065】
なお、α=0の画素は、実質的に透明な画素を表し、α=1の画素は、透明でない画素を表している。
【0066】
以上のようにして、サイクリックテクスチャを生成すると、画像のモザイク模様あるいはボケを防止することができる。
【0067】
次に、拡大テクスチャをより細密化する方法について、図12を参照して説明する。
【0068】
すなわち、この場合、図12に示すように、VRAM72のテクスチャ領域72Bの領域72B2にオリジナルテクスチャを記憶させるとともに、領域72B1にMIP-MAPテクスチャを記憶させる。そして、上述した場合と同様にして、例えば床102の遠景のポリゴンP1は、対応する縮小率のテクスチャTAを用いて表現する。また、中景のポリゴンP2は、オリジナルテクスチャTBを用いて表現する。近景のポリゴンP3は、例えばオリジナルテクスチャTCを拡大して表現する。以上の処理は、従来における場合と同様であるが、拡大テクスチャをより細密化するために、さらに、拡大テクスチャについては次のような修整処理を施す。
【0069】
すなわち、テクスチャ領域72Bの領域72B3には、拡大用修整テクスチャが記憶される。拡大テクスチャには、その拡大率に応じて、その拡大用修整テクスチャがさらにブレンディングされる。例えば、ポリゴンP3には、対応する拡大率の拡大用修整テクスチャTDがブレンディングされる。
【0070】
拡大用修整テクスチャとしては、例えば図13に示すように、符号付きカラーデータで、平均値が0となるように変化するテクスチャが記憶されている。その結果、例えばポリゴンP3のテクスチャは、この拡大用修整テクスチャで修整(モジュレーション)されるため、より変化に富んだテクスチャとなる。但し、その変化の平均は0となっているため、隣接するポリゴンとの調和が図られ、1つのポリゴンだけが他のポリゴンから浮き出て見えるようなことが防止されている。
【0071】
このような効果を出すには、例えば図14に示すように、拡大用修整テクスチャを、加算用のカラーデータと減算用のカラーデータとで構成し、加算用のカラーデータと減算用のカラーデータの和が0となるようにしておいてもよい。
【0072】
あるいはまた、図15に示すように、通常、0と1の間の値であるαブレンディングにおけるαの値を、1以上の値をも取り入れるものとし、このαの値で拡大用修整テクスチャを規定するようにしてもよい。この場合においても、デスティネーションカラーの平均値がブレンディング前と同一になるようにαの値が設定される。すなわち、デスティネーションカラーの値をDsColorとするとき、次式に示すような内挿処理が行われる。
DsColor×α+ScColor×(1−α)
【0073】
なお、ScColorは、ソースカラーを表す。
【0074】
【発明の効果】
以上の如く、請求項1に記載の画像処理装置および請求項6に記載の画像処理方法によれば、第2乃至第4の画素を、第1の画素に対応して設定し、第1乃至第4の画素から所定の距離だけ離れている所定の位置の他の画素を、第1乃至第4の画素と、その距離から演算するようにしたので、生成した画像を配列した場合においても、その境目が見えない大きな画像をさらに生成することが可能となる。
【0075】
請求項7に記載のレンダリング装置および請求項11に記載のレンダリング方法によれば、拡大テクスチャを修整する修整テクスチャを用いて、ビットマップデータを描画するようにしたので、拡大テクスチャが他のオブジェクトとの画像とともに表示されたような場合において、違和感のある画像となるのを防止することができる。
【図面の簡単な説明】
【図1】本発明の画像処理装置を応用したコンピュータゲーム装置の構成例を示すブロック図である。
【図2】図1の描画処理部15の構成例を示すブロック図である。
【図3】図2の構成例の動作を説明するフローチャートである。
【図4】図3の処理を説明する図である。
【図5】フラクタル生成アルゴリズムを適用したプログラムの具体的例を示す図である。
【図6】フラクタル生成アルゴリズムを適用したプログラムの具体的例を示す図である。
【図7】テクスチャを複数個配列した状態を説明する図である。
【図8】テクスチャを複数個配列した状態を説明する図である。
【図9】テクスチャの合成を説明する図である。
【図10】テクスチャの合成を説明する図である。
【図11】テクスチャの合成を説明する図である。
【図12】拡大用修整テクスチャを説明する図である。
【図13】拡大用修整テクスチャを表現する例を示す図である。
【図14】拡大用修整テクスチャを表現する例を示す図である。
【図15】拡大用修整テクスチャを表現する例を示す図である。
【図16】従来のテクスチャマッピングを説明する図である。
【符号の説明】
11 メインCPU, 12 メインメモリ, 14 前処理部, 15 描画処理部, 71 グラフィックプロセッサ, 72 VRAM, 73 CRTコントローラ, 72A乃至72D 領域
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus and method, and a rendering apparatus and method, and more particularly, to an image processing apparatus and method, and a rendering apparatus and method capable of displaying a higher quality image.
[0002]
[Prior art]
FIG. 16 shows an example of rendering in a computer game device. In this example, an object 100 and an object 101 are displayed on a floor 102 extending in the depth direction. The object 100 is arranged at a close position, and the object 101 is arranged at a far position.
[0003]
In order to display the floor 102 with a predetermined texture, an original texture and a reduced MIP-MAP texture are prepared in advance.
[0004]
For example, a polygon P far from the floor 102 11 Is, for example, a texture T having a predetermined reduction ratio in a MIP-MAP texture. E Is displayed. In addition, the polygon P located at the middle position of the floor 102 12 Is the original texture T F Is displayed. Polygon P in front of floor 102 13 Includes a predetermined texture T of the original texture. G Are enlarged and displayed at a predetermined magnification.
[0005]
In this way, by displaying a desired texture on the floor 102, a realistic image can be obtained.
[0006]
[Problems to be solved by the invention]
By the way, when the texture-mapped polygon is enlarged from the original texture, the image quality deteriorates. For example, when the enlargement process is performed by enlarging the pixels (point sampling), the image has a mosaic shape. In addition, when enlargement processing is performed by bilinear interpolation, there is a problem that an image is blurred due to interpolation.
[0007]
Furthermore, bilinear interpolation can obtain a relatively good image compared to point sampling, but enlargement processing is performed at a larger enlargement ratio for a foreground image, so the contrast is more blurred for the foreground. It becomes a small image. As a result, as shown in FIG. 16, when the same-size object 100 is located in the foreground, this object 100 does not use texture mapping, and thus is a clear image. As a result, the image of the floor 102 located in the position becomes a blurred image, and the image is totally contradictory, giving a sense of incongruity to what is seen.
[0008]
The present invention has been made in view of such a situation, and makes it possible to display a higher quality image.
[0009]
[Means for Solving the Problems]
The image processing apparatus according to claim 1, wherein setting means for setting a first pixel serving as a predetermined reference and second to fourth pixels corresponding to the first pixel are arranged in a horizontal direction from the first pixel. The disposing means arranged at a position separated by a predetermined distance in the vertical direction or the oblique direction and the other pixels at a predetermined position separated from the first to fourth pixels by the first to fourth A fourth pixel and a calculation means for calculating from the distance are provided.
[0010]
The image processing method according to claim 6, wherein a setting step of setting a first pixel serving as a predetermined reference, and second to fourth pixels corresponding to the first pixel from the first pixel in the horizontal direction A disposing step of disposing a predetermined distance in a vertical direction or an oblique direction, and other pixels in a predetermined position separated by a predetermined distance from the first to fourth pixels. A fourth pixel and a calculation step for calculating from the distance are provided.
[0011]
The rendering apparatus according to claim 7, a first providing means for providing an original texture, a second providing means for providing a modified texture for modifying an enlarged texture obtained by enlarging the original texture, and a first provision And a drawing means for drawing bitmap data of an image to be displayed using the original texture provided by the means or the modified texture provided by the second providing means.
[0012]
The rendering method according to claim 11, wherein a first providing step for providing an original texture, a second providing step for providing a modified texture for modifying an enlarged texture obtained by enlarging the original texture, and a first providing And a drawing step of drawing bitmap data of an image to be displayed using the original texture provided by the step or the modified texture provided by the second providing step.
[0013]
In the image processing device according to claim 1 and the image processing method according to claim 6, the second to fourth pixels corresponding to the first pixel are arranged in a horizontal direction, a vertical direction, or from the first pixel, or It is arranged at a position separated by a predetermined distance in an oblique direction. Then, other pixels at predetermined positions that are separated from the first to fourth pixels by a predetermined distance are calculated from the first to fourth pixels and their distances.
[0014]
In the rendering device according to the seventh aspect and the rendering method according to the eleventh aspect, the drawing is performed using the original texture or the modified texture.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below, but in order to clarify the correspondence between each means of the invention described in the claims and the following embodiments, in parentheses after each means, The features of the present invention will be described with the corresponding embodiment (however, an example) added. However, of course, this description does not mean that each means is limited to the description.
[0016]
The image processing apparatus according to claim 1 includes setting means (for example, step S1 in FIG. 3) for setting a first pixel serving as a predetermined reference, and second to fourth pixels corresponding to the first pixel. An arrangement means (for example, step S2 in FIG. 3) arranged at a predetermined distance from the first pixel in a horizontal direction, a vertical direction, or an oblique direction, and a predetermined distance from the first to fourth pixels. It is characterized by comprising first to fourth pixels and other calculation means (for example, step S3 in FIG. 3) for calculating other pixels at predetermined positions separated by a distance.
[0017]
In the image processing apparatus according to claim 4, the computing unit arranges the sixth or seventh pixel corresponding to the fifth pixel at a position separated from the fifth pixel by a predetermined distance in the horizontal direction. From the horizontal arrangement means (for example, step S4 in FIG. 3) and the first pixel, the fourth pixel, the fifth pixel, and the sixth pixel, an eighth pixel located at the center is calculated, Horizontal calculation means (for example, step S5 in FIG. 3) for calculating a ninth pixel located in the center from the second pixel, the third pixel, the fifth pixel, and the seventh pixel; Features.
[0018]
In the image processing apparatus according to claim 5, the computing unit arranges the tenth or eleventh pixel corresponding to the fifth pixel at a position away from the fifth pixel by a predetermined distance in the vertical direction. Based on the vertical arrangement means (for example, step S6 in FIG. 3) and the first pixel, the second pixel, the fifth pixel, and the tenth pixel, the twelfth pixel located at the center is calculated, Vertical calculation means (for example, step S7 in FIG. 3) for calculating the thirteenth pixel located at the center from the three pixels, the fourth pixel, the fifth pixel, and the eleventh pixel. Features.
[0019]
The rendering device according to claim 7 is a first providing means for providing an original texture (for example, a region 72B of the texture region 72B in FIG. 12). 2 ) And second providing means for providing a modified texture that modifies the enlarged texture obtained by enlarging the original texture (for example, the region 72B of the texture region 72B of FIG. 12). Three ) And the original texture provided by the first providing means or the modified texture provided by the second providing means, and drawing means for drawing bitmap data of the image to be displayed (for example, the graphic processor 71 of FIG. 2). ).
[0020]
FIG. 1 is a block diagram showing a configuration example of a computer game apparatus to which the image processing apparatus of the present invention is applied. This computer game apparatus has a three-dimensional graphics function and a moving image reproduction function.
[0021]
This computer game apparatus has a configuration including two system buses including a main bus 10 and a sub bus 20. Data exchange between the main bus 10 and the sub bus 20 is controlled by the bus controller 30.
[0022]
A main CPU 11, a main memory 12, an image decompression decoding unit 13, a preprocessing unit 14, a drawing processing unit 15, and a main DMA controller 16 are connected to the main bus 10. A processing memory 17 is connected to the drawing processing unit 15. The drawing processing unit 15 includes a frame buffer (frame memory) for display data and a D / A conversion circuit, and an analog video signal from the drawing processing unit 15 is output to the video output terminal 18. Although not shown, the video output terminal 18 is connected to, for example, a CRT display as a display device.
[0023]
A sub CPU 21, a sub memory 22, a boot ROM 23, a sub DMA controller 24, a sound processing processor 25, an input unit 26, an auxiliary storage device unit 27, and an expansion communication interface unit 28 are connected to the sub bus 20. Yes. The auxiliary storage unit 27 includes a CD-ROM decoder 41 and a CD-ROM driver 42 in this example. The boot ROM 23 stores a program for starting up as a game machine. The voice processing memory 25M is connected to the voice processing processor 25. The audio processing processor 25 includes a D / A conversion circuit and outputs an analog audio signal to the audio output terminal 29.
[0024]
Then, the auxiliary storage device 27 decodes an application program (for example, a game program) and data recorded on the CD-ROM disc 6 loaded in the CD-ROM driver 42. The CD-ROM disc 6 also stores, for example, image data of moving images and still images compressed by the MPEG2 method using discrete cosine transform (DCT), and image data of texture images for modifying polygons. . The application program on the CD-ROM disk 6 includes a polygon drawing command.
[0025]
The input unit 26 includes a control pad 26A, a video signal input terminal 26B, and an audio signal input terminal 26C.
[0026]
The main CPU 11 manages and controls each unit on the main bus 10 side. In addition, the main CPU 11 performs a part of processing for drawing an object as a collection of a large number of polygons. The main CPU 11 creates a drawing command sequence on the main memory 12 for generating a drawing image for one screen. Data exchange between the main CPU 11 and the main bus 10 is performed in packet units by converting the data into a packet format, thereby enabling burst transfer.
[0027]
The main memory 12 includes a memory area for compressed image data and a memory area for decompressed image data subjected to decompression decoding processing for moving image and still image data. The main memory 12 includes a memory area for graphics data such as a drawing command sequence (this is called a packet buffer). This packet buffer is used for setting the drawing command sequence by the main CPU 11 and transferring the drawing command sequence to the drawing processing unit 15.
[0028]
The image decompression decoding unit 13 performs decompression processing of the compressed moving image data reproduced from the CD-ROM disk 6 and transferred to the main memory 12 and the texture pattern data compressed on the main memory 12, and in this example, Since the MPEG2 image compression method is adopted, the decoder has a configuration corresponding to it.
[0029]
The output stage of the image decompression decoding unit 13 is provided with an instantaneous compression unit 50 capable of instantaneous, that is, almost real-time reversible compression / decompression, and having a compression rate of, for example, about 1/4 to 1/2. . In addition, the image decompression decoding unit 13 of this example uses a first output data format (hereinafter referred to as the first output data) for requantizing and outputting the value of each pixel of the image data as the output format of the output image data. The format is referred to as a direct color format), and each of the pixels is converted into index data indicating a color that approximates the color of a predetermined number of reproduction colors and is output. An output data format (hereinafter, the second output data format is referred to as an index color format) can be selected in accordance with the processing in the drawing processing unit 15.
[0030]
The drawing processing unit 15 executes the drawing command transferred from the main memory 12 and writes the result in the frame memory (VRAM 72 in FIG. 2). The image data read from the frame memory is output to the video output terminal 18 via the D / A converter and displayed on the screen of an image monitor device such as a CRT.
[0031]
In addition, when the output format of the image data received from the main memory 12 is an index color format, the drawing processing unit 15 performs a process of converting each pixel data from the index data to corresponding representative color data. For this purpose, the drawing processing unit 15 performs CLUT (ColorUT), which is a conversion table between index data and representative color data.
Look Up Table) can be stored.
[0032]
The pre-processing unit 14 is configured as a processor including a CPU, and allows a part of processing of the main CPU 11 to be shared. For example, the pre-processing unit 14 may also perform processing for converting polygon data into two-dimensional coordinate data for display.
[0033]
In this example, an instantaneous decompression unit 60 that decompresses the instantaneous compression performed by the instantaneous compression unit 50 is provided between the preprocessing unit 14 and the main bus 10.
[0034]
Next, basic processing of this game apparatus will be briefly described below.
[0035]
When the computer game apparatus of FIG. 1 is turned on and the CD-ROM disk 6 is loaded in the game apparatus main body 1, a program for performing a so-called initialization process in the boot ROM 23 for executing the game is executed. It is executed by the CPU 21. Then, the recording data of the CD-ROM disc 6 is taken in as follows.
[0036]
That is, in the auxiliary storage unit 27, the compressed image data, the drawing command, and the program executed by the main CPU 11 are read from the CD-ROM disc 6 via the CD-ROM driver 42 and the CD-ROM decoder 41, Once loaded into the sub memory 22 by the sub DMA controller 24.
[0037]
The data fetched into the sub memory 22 is transferred to the main memory 12 by the sub DMA controller 24, the bus controller 30, and the main DMA controller 16. The sub CPU 21 is configured to be able to directly access the frame of the drawing processing unit 15, and the display image content can be changed by the sub CPU 21 apart from the control of the drawing processing unit 15. It is said that.
[0038]
FIG. 2 illustrates a basic configuration example of the drawing processing unit 15. The drawing processing unit 15 includes a graphic processor 71, a VRAM 72, and a CRT controller 73. The graphic processor 71 has a built-in program for executing a fractal generation algorithm which will be described later with reference to the flowchart of FIG. The VRAM 72 has an area 72A for recording a texture material, an area 72B for generating a generated texture, and areas 72C and 72D for alternately drawing bitmap data to be output to a CRT (not shown).
[0039]
The graphic processor 71 executes a drawing command from the main memory 12 and alternately draws bitmap data in the area 72C or 72D. When bitmap data is newly written in the area 72C, the bitmap data already written in the area 72D is read out, output from the CRT controller 73 to the CRT, and displayed. When the drawing to the area 72C is completed, the bitmap data is read from the area 72C and output to the CRT via the CRT controller 73 and displayed. At this time, a new image is drawn in the region 72D. As described above, the writing and reading operations are alternately performed in the region 72C and the region 72D.
[0040]
In the texture area 72B, as in the case shown in FIG. 16, the original texture and the MIP-MAP texture are stored, and predetermined ones are read out appropriately and drawn in the area 72C or 72D. When it is necessary to enlarge the texture, the graphic processor 71 uses a built-in fractal generation algorithm to generate a fractal and store it in a predetermined area of the texture material area 72A.
[0041]
Next, this algorithm will be described with reference to FIG. First, in step S1, the graphic processor 71 sets predetermined pixel data as an initial value. At this time, a distance L corresponding to the size of the texture to be fractal generated is initially set.
[0042]
In step S2, the graphic processor 71 performs a process of setting a wrap round image at a predetermined position. That is, as shown in FIG. 4A, when the pixel having the initial value set in step S1 is set as the pixel 1, the pixel 2 at a position separated by the distance L in the horizontal direction and the position separated by the distance L in the vertical direction. The same value as the initial value of the pixel 1 is set as the pixel 4 and the pixel 3 at a position away from the pixel 2 by the distance L in the vertical direction (position away from the pixel 4 by the distance L in the horizontal direction).
[0043]
Next, the process proceeds to step S3, and the value of the center pixel is calculated from the four pixels set in step S2 (that is, pixel 1 to pixel 4).
[0044]
That is, as shown in FIG. 4B, the value of the pixel 5 located at the center of the pixels 1 to 4 is calculated. The value h of the pixel 5 is expressed by the following equation.
h = (dt1 + dt2 + dt3 + dt4) / 4 + q × RTD × hstep
[0045]
In the above formula, dt1 to dt4 mean the values of the pixels 1 to 4, q represents a generated random number, and RTD is 2 1/2 Hstep represents the distance (in this case, L / 2).
[0046]
That is, the value h of the pixel 5 is generated by adding the fluctuation component to the average value of the pixels 1 to 4. This fluctuation component includes a random number q between −1.0 and 1.0 and a distance RTD × hstep (2 from pixel 1 to pixel 4 to pixel 5. 1/2 -It is specified to be proportional to L / 2). As a result, self-similarity is realized and fractal calculation can be performed.
[0047]
In step S4, the graphic processor 71 executes a process of setting a wrap round image in the horizontal direction. That is, as shown in FIG. 4C, the same value as that of the pixel 5 is set as the pixel 6 or the pixel 7 at a position separated from the pixel 5 by the distance L in the horizontal direction.
[0048]
Next, the process proceeds to step S5, and a process of performing a fractal operation on pixel data arranged at the center of four new points is executed. That is, the data of the pixel 8 located at the center of the pixel 1, the pixel 4, the pixel 5, and the pixel 6 is calculated, and the pixel 9 of the pixel 9 located at the center of the pixel 2, the pixel 3, the pixel 5, and the pixel 7 A value is determined.
[0049]
In this case, for example, the distance from the pixel 1, the pixel 4, the pixel 5, and the pixel 6 of the pixel 8 is L / 2, and is calculated from the following equation.
h = (dt1 + dt4 + dt5 + dt6) / 4 + q × hstep
[0050]
In step S6, the graphic processor 71 sets a wrap round image in the vertical direction. That is, as shown in FIG. 4D, a pixel having the same value as that of the pixel 5 is set in the pixel 10 or the pixel 11 at a position away from the pixel 5 by the distance L in the vertical direction.
[0051]
Next, the process proceeds to step S7, and a process of performing a fractal operation on the newly generated pixel data at the center of the four points is executed.
[0052]
That is, as shown in FIG. 4D, the value of the pixel 12 located at the center of the pixel 1, the pixel 2, the pixel 5, and the pixel 10 and the center of the pixel 3, the pixel 4, the pixel 5, and the pixel 11 are set. The value of the pixel 13 located is calculated.
[0053]
In this case, for example, the value of the pixel 12 is calculated by the following equation.
h = (dt1 + dt2 + dt5 + dt10) / 4 + q × hstep
[0054]
Next, the process proceeds to step S8, where it is determined whether or not all pixel data has been generated. If pixel data that has not yet been generated remains, the process returns to step S2 to repeat the same processing. .
[0055]
For example, as illustrated in FIG. 4D, when pixels 1 to 5, pixel 8, pixel 9, pixel 12, and pixel 13 are generated and a pixel at a closer position is obtained, for example, pixel Select four pixels, pixel 12, pixel 5, and pixel 8, find the center pixel, and wrap round the center pixel in the horizontal or vertical direction to calculate new pixel data To do.
[0056]
By repeating the above process as many times as necessary, an enlarged texture having a predetermined size can be generated.
[0057]
5 to 6 show a more specific program of the above fractal generation algorithm.
[0058]
Even when a plurality of textures of the unit generated as described above are arranged to form a larger texture, the boundary portion with the texture of each unit is not visually recognized. That is, as shown in FIG. 7, the pixel data of the four corners of the generated texture as one unit are all the same (A in the display example of FIG. 7). Accordingly, even if they are arranged in the vertical and horizontal directions, the pixel data arranged at the boundary portion of each unit is substantially the same data, so that the boundary portion is not visually recognized.
[0059]
On the other hand, as shown in FIG. 8, when the pixels arranged at the four corners are set to values different from the initial values, a plurality of textures of the units generated in this way are arranged at the boundary portion of each unit. The pixel data to be different are different, and the boundary portion becomes conspicuous. In the present application, as described above, since the fractal pattern is cyclically generated, this is prevented.
[0060]
FIG. 9 shows a state in which the cyclic texture generated as described above is further synthesized to generate a new cyclic texture. As shown in the figure, the texture T 1 Thru T Three Is generated by arranging a plurality of cyclic textures of the unit. Texture T Four Is texture T 1 And T Three It is generated by synthesizing. Texture T Five Is texture T 2 And T Three And the texture T 6 Is texture T 1 Thru T Three It is generated by synthesizing.
[0061]
When one texture is generated by synthesizing two or more such textures, many types of textures that are slightly different can be generated by shifting the phase of each texture.
[0062]
Note that the process of shifting the phase can be realized by shifting the read or write address.
[0063]
In the display example of FIG. 11 But texture T 1 And texture T Three Are generated at different enlargement ratios (reduction ratios). Similarly, texture T 12 T 2 And T Three Are generated at different enlargement ratios (reduction ratios), and the texture T 13 Is texture T 1 Thru T Three Are synthesized at different enlargement ratios (reduction ratios). In this way, a pattern having the size of the least common multiple of the enlargement ratio (reduction ratio) can be synthesized with a simple cyclic pattern.
[0064]
Furthermore, as shown in FIG. twenty one And the die image T controlled by the α value twenty two And composite texture T twenty three By generating, a more complex texture pattern can be synthesized.
[0065]
Note that a pixel with α = 0 represents a substantially transparent pixel, and a pixel with α = 1 represents a non-transparent pixel.
[0066]
When a cyclic texture is generated as described above, it is possible to prevent a mosaic pattern or blur of an image.
[0067]
Next, a method for making the enlarged texture finer will be described with reference to FIG.
[0068]
That is, in this case, as shown in FIG. 12, the area 72B of the texture area 72B of the VRAM 72 2 The original texture is stored in the area 72B. 1 To store the MIP-MAP texture. Then, in the same manner as described above, for example, the polygon P of the distant view of the floor 102 1 Is the texture T of the corresponding reduction ratio A Express using. In addition, the polygon P in the foreground 2 Is the original texture T B Express using. Foreground polygon P Three For example, the original texture T C Enlarging and expressing. The above processing is the same as in the conventional case, but in order to further refine the enlarged texture, the following modification processing is further performed on the enlarged texture.
[0069]
That is, the area 72B of the texture area 72B Three Is stored with a modified texture for enlargement. The enlarged texture is further blended with the enlarged texture according to the enlargement ratio. For example, polygon P Three Includes a modified texture T for enlargement of the corresponding enlargement ratio D Is blended.
[0070]
As the enlarged modified texture, for example, as shown in FIG. 13, a texture that is signed color data and changes so that the average value becomes 0 is stored. As a result, for example, polygon P Three Since the texture is modified (modulated) by the modified texture for enlargement, the texture becomes more varied. However, since the average of the changes is 0, harmony with adjacent polygons is achieved, and it is prevented that only one polygon appears to be lifted from another polygon.
[0071]
In order to obtain such an effect, for example, as shown in FIG. 14, the enlarged modified texture is composed of color data for addition and color data for subtraction, and color data for addition and color data for subtraction. You may make it the sum of 0 become zero.
[0072]
Alternatively, as shown in FIG. 15, the α value in α blending, which is usually a value between 0 and 1, is assumed to include one or more values, and the enlarged modified texture is defined by this α value. You may make it do. Also in this case, the value of α is set so that the average value of the destination color is the same as before blending. That is, when the destination color value is DsColor, an interpolation process as shown in the following equation is performed.
DsColor × α + ScColor × (1-α)
[0073]
Note that ScColor represents a source color.
[0074]
【The invention's effect】
As described above, according to the image processing device according to claim 1 and the image processing method according to claim 6, the second to fourth pixels are set corresponding to the first pixel, and the first to Since other pixels in a predetermined position that are separated from the fourth pixel by a predetermined distance are calculated from the first to fourth pixels and their distances, even when the generated images are arranged, It is possible to further generate a large image where the boundary is not visible.
[0075]
According to the rendering device according to claim 7 and the rendering method according to claim 11, since the bitmap data is drawn using the modified texture that modifies the enlarged texture, the enlarged texture is separated from other objects. In the case where the image is displayed together with this image, it can be prevented that the image becomes uncomfortable.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration example of a computer game device to which an image processing device of the present invention is applied.
FIG. 2 is a block diagram illustrating a configuration example of a drawing processing unit 15 in FIG.
FIG. 3 is a flowchart for explaining the operation of the configuration example of FIG. 2;
FIG. 4 is a diagram for explaining the processing of FIG. 3;
FIG. 5 is a diagram illustrating a specific example of a program to which a fractal generation algorithm is applied.
FIG. 6 is a diagram illustrating a specific example of a program to which a fractal generation algorithm is applied.
FIG. 7 is a diagram illustrating a state in which a plurality of textures are arranged.
FIG. 8 is a diagram illustrating a state in which a plurality of textures are arranged.
FIG. 9 is a diagram for explaining texture synthesis;
FIG. 10 is a diagram for explaining texture synthesis;
FIG. 11 is a diagram for explaining texture synthesis;
FIG. 12 is a diagram illustrating an enlarged modified texture.
FIG. 13 is a diagram illustrating an example of expressing a modified texture for enlargement.
FIG. 14 is a diagram illustrating an example of expressing a modified texture for enlargement.
FIG. 15 is a diagram illustrating an example of expressing a modified texture for enlargement.
FIG. 16 is a diagram illustrating conventional texture mapping.
[Explanation of symbols]
11 main CPU, 12 main memory, 14 pre-processing unit, 15 drawing processing unit, 71 graphic processor, 72 VRAM, 73 CRT controller, 72A to 72D area

Claims (3)

処理対象画像を構成する各画素に基づいて単位画像を生成し、前記単位画像を上下左右に配列することで前記処理対象画像を拡大する画像処理装置であって、
前記処理対象画像を構成する画素から、基準となり、前記単位画像を構成する第1の画素を設定する設定手段と、
前記第1の画素、および前記第1の画素の値と同じ値を有し、前記単位画像を構成する第2、第3、第4の画素を、正方形の各頂点に位置するように配置する配置手段と、
前記正方形の中心に、前記第1乃至第4の画素の値の平均値に揺らぎ成分を加味した値を有し、前記単位画像を構成する第5の画素を配置する演算手段と
を備え、
前記配置手段は、
さらに、前記第5の画素の値と同じ値を有する第6の画素を、前記第1、第4、第5の画素、および当該第6の画素とが正方形の各頂点に位置するように配置し、前記第5の画素の値と同じ値を有する第7の画素を、前記第2、第3、第5の画素、および当該第7の画素とが正方形の各頂点に位置するように配置し、
前記演算手段は、
さらに、前記第1、第4、第5、第6の画素を各頂点とする正方形の中心に、前記第1、第4、第5、第6の画素の値の平均値に揺らぎ成分を加味した値を有し、前記単位画像を構成する第8の画素を配置し、前記第2、第3、第5、第7の画素を各頂点とする正方形の中心に、前記第2、第3、第5、第7の画素の値の平均値に揺らぎ成分を加味した値を有し、前記単位画像を構成する第9の画素を配置すること
を特徴とする画像処理装置。
An image processing apparatus that generates a unit image based on each pixel constituting a processing target image and expands the processing target image by arranging the unit images vertically and horizontally,
Setting means for setting a first pixel constituting the unit image as a reference from the pixels constituting the processing target image;
The second pixel, the third pixel, and the fourth pixel that have the same value as the first pixel and the value of the first pixel and that constitute the unit image are arranged so as to be located at each vertex of the square. Positioning means;
The center of the square, has a first to a value obtained by adding a fluctuation component in the average of the values of the fourth pixel, e Bei and arithmetic means for arranging the fifth pixels constituting the unit image,
The arrangement means includes
Further, a sixth pixel having the same value as the value of the fifth pixel is arranged so that the first, fourth, and fifth pixels and the sixth pixel are located at each vertex of the square. The seventh pixel having the same value as the value of the fifth pixel is arranged so that the second, third, fifth pixel, and the seventh pixel are located at each vertex of the square. And
The computing means is
Further, a fluctuation component is added to the average value of the values of the first, fourth, fifth, and sixth pixels at the center of the square having the first, fourth, fifth, and sixth pixels as vertices. The second pixel is arranged at the center of a square having the second, third, fifth, and seventh pixels as vertices. And a ninth pixel constituting the unit image having a value obtained by adding a fluctuation component to the average value of the fifth and seventh pixel values.
An image processing apparatus.
処理対象画像を構成する各画素に基づいて単位画像を生成し、前記単位画像を上下左右に配列することで前記処理対象画像を拡大する画像処理装置であって、  An image processing apparatus that generates a unit image based on each pixel constituting a processing target image and expands the processing target image by arranging the unit images vertically and horizontally,
前記処理対象画像を構成する画素から、基準となり、前記単位画像を構成する第1の画素を設定する設定手段と、  Setting means for setting a first pixel constituting the unit image as a reference from the pixels constituting the processing target image;
前記第1の画素、および前記第1の画素の値と同じ値を有し、前記単位画像を構成する第2、第3、第4の画素を、正方形の各頂点に位置するように配置する配置手段と、  The second pixel, the third pixel, and the fourth pixel that have the same value as the first pixel and the value of the first pixel and that constitute the unit image are arranged so as to be located at each vertex of the square. Positioning means;
前記正方形の中心に、前記第1乃至第4の画素の値の平均値に揺らぎ成分を加味した値を有し、前記単位画像を構成する第5の画素を配置する演算手段と  Arithmetic means for arranging, at the center of the square, a fifth pixel constituting the unit image having a value obtained by adding a fluctuation component to the average value of the values of the first to fourth pixels.
を備え、  With
前記配置手段は、  The arrangement means includes
さらに、前記第5の画素の値と同じ値を有する第10の画素を、前記第1、第2、第5の画素、および当該第10の画素とが正方形の各頂点に位置するように配置し、前記第5の画素の値と同じ値を有する第11の画素を、前記第3、第4、第5の画素、および当該第11の画素とが正方形の各頂点に位置するように配置し、  Furthermore, the tenth pixel having the same value as the value of the fifth pixel is arranged so that the first, second, and fifth pixels and the tenth pixel are located at each vertex of the square. And the eleventh pixel having the same value as the value of the fifth pixel is arranged so that the third, fourth, fifth pixel and the eleventh pixel are located at each vertex of the square. And
前記演算手段は、  The computing means is
さらに、前記第1、第2、第5、第10の画素を各頂点とする正方形の中心に、前記第1、第2、第5、第10の画素の値の平均値に揺らぎ成分を加味した値を有し、前記単位画像を構成する第12の画素を配置し、前記第3、第4、第5、第11の画素を各頂点とする正方形の中心に、前記第3、第4、第5、第11の画素の値の平均値に揺らぎ成分を加味した値を有し、前記単位画像を構成する第13の画素を配置すること  Further, a fluctuation component is added to the average value of the values of the first, second, fifth, and tenth pixels at the center of a square having the first, second, fifth, and tenth pixels as vertices. A twelfth pixel constituting the unit image is arranged, and the third, fourth, and fourth pixels are arranged at the center of a square having the third, fourth, fifth, and eleventh pixels as vertices. A thirteenth pixel having a value obtained by adding a fluctuation component to the average value of the values of the fifth and eleventh pixels, and constituting the unit image.
を特徴とする画像処理装置。An image processing apparatus.
処理対象画像を構成する各画素に基づいて単位画像を生成し、前記単位画像を上下左右に配列することで前記処理対象画像を拡大する画像処理装置であって、  An image processing apparatus that generates a unit image based on each pixel constituting a processing target image and expands the processing target image by arranging the unit images vertically and horizontally,
前記処理対象画像を構成する画素から、基準となり、前記単位画像を構成する第1の画素を設定する設定手段と、  Setting means for setting a first pixel constituting the unit image as a reference from the pixels constituting the processing target image;
前記第1の画素、および前記第1の画素の値と同じ値を有し、前記単位画像を構成する第2、第3、第4の画素を、正方形の各頂点に位置するように配置する配置手段と、  The second pixel, the third pixel, and the fourth pixel that have the same value as the first pixel and the value of the first pixel and that constitute the unit image are arranged so as to be located at each vertex of the square. Positioning means;
前記正方形の中心に、前記第1乃至第4の画素の値の平均値に揺らぎ成分を加味した値を有し、前記単位画像を構成する第5の画素を配置する演算手段と  Arithmetic means for arranging, at the center of the square, a fifth pixel constituting the unit image having a value obtained by adding a fluctuation component to the average value of the values of the first to fourth pixels.
を備え、  With
前記配置手段は、  The arrangement means includes
さらに、前記第5の画素の値と同じ値を有する第6の画素を、前記第1、第4、第5の画素、および当該第6の画素とが正方形の各頂点に位置するように配置し、前記第5の画素の値と同じ値を有する第7の画素を、前記第2、第3、第5の画素、および当該第7の画素とが正方形の各頂点に位置するように配置するとともに、  Further, a sixth pixel having the same value as the value of the fifth pixel is arranged so that the first, fourth, and fifth pixels and the sixth pixel are located at each vertex of the square. The seventh pixel having the same value as the value of the fifth pixel is arranged so that the second, third, fifth pixel, and the seventh pixel are located at each vertex of the square. And
前記第5の画素の値と同じ値を有する第10の画素を、前記第1、第2、第5の画素、および当該第10の画素とが正方形の各頂点に位置するように配置し、前記第5の画素の値と同じ値を有する第11の画素を、前記第3、第4、第5の画素、および当該第11の画素とが正方形の各頂点に位置するように配置し、  A tenth pixel having the same value as the value of the fifth pixel is arranged so that the first, second, fifth pixel and the tenth pixel are located at each vertex of a square; An eleventh pixel having the same value as the value of the fifth pixel is arranged so that the third, fourth, fifth pixel, and the eleventh pixel are located at each vertex of a square,
前記演算手段は、  The computing means is
さらに、前記第1、第4、第5、第6の画素を各頂点とする正方形の中心に、前記第1、第4、第5、第6の画素の値の平均値に揺らぎ成分を加味した値を有し、前記単位画像を構成する第8の画素を配置し、前記第2、第3、第5、第7の画素を各頂点とする正方形の中心に、前記第2、第3、第5、第7の画素の値の平均値に揺らぎ成分を加味した値を有し、前記単位画像を構成する第9の画素を配置するとともに、  Further, a fluctuation component is added to the average value of the values of the first, fourth, fifth, and sixth pixels at the center of the square having the first, fourth, fifth, and sixth pixels as vertices. The second pixel is arranged at the center of a square having the second, third, fifth, and seventh pixels as vertices. , Having a value obtained by adding a fluctuation component to the average value of the values of the fifth and seventh pixels, and arranging the ninth pixel constituting the unit image,
前記第1、第2、第5、第10の画素を各頂点とする正方形の中心に、前記第1、第2、第5、第10の画素の値の平均値に揺らぎ成分を加味した値を有し、前記単位画像を構成する第12の画素を配置し、前記第3、第4、第5、第11の画素を各頂点とする正方形の中心に、前記第3、第4、第5、第11の画素の値の平均値に揺らぎ成分を加味した値を有し、前記単位画像を構成する第13の画素を配置すること  A value obtained by adding a fluctuation component to the average value of the values of the first, second, fifth, and tenth pixels at the center of a square having the first, second, fifth, and tenth pixels as vertices. The third pixel, the fourth pixel, the fifth pixel, the eleventh pixel, and the third pixel, the fourth pixel, the fifth pixel, and the eleventh pixel. 5. Arrange the thirteenth pixel that has a value in which the fluctuation component is added to the average value of the eleventh pixel values and that constitute the unit image.
を特徴とする画像処理装置。An image processing apparatus.
JP12669297A 1997-05-16 1997-05-16 Image processing apparatus and method, and rendering apparatus and method Expired - Fee Related JP3910259B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12669297A JP3910259B2 (en) 1997-05-16 1997-05-16 Image processing apparatus and method, and rendering apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12669297A JP3910259B2 (en) 1997-05-16 1997-05-16 Image processing apparatus and method, and rendering apparatus and method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006067648A Division JP4194605B2 (en) 2006-03-13 2006-03-13 Image processing apparatus and method, and rendering apparatus and method

Publications (2)

Publication Number Publication Date
JPH10320569A JPH10320569A (en) 1998-12-04
JP3910259B2 true JP3910259B2 (en) 2007-04-25

Family

ID=14941495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12669297A Expired - Fee Related JP3910259B2 (en) 1997-05-16 1997-05-16 Image processing apparatus and method, and rendering apparatus and method

Country Status (1)

Country Link
JP (1) JP3910259B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2000121253A (en) 1998-11-12 2002-07-27 Сони Компьютер Энтертейнмент Инк. (Jp) METHOD AND DEVICE FOR IMAGE FORMATION
GB0105103D0 (en) 2001-03-01 2001-04-18 Superscape Ltd Texturing method and Apparatus
JP4838230B2 (en) * 2007-12-11 2011-12-14 株式会社コナミデジタルエンタテインメント Image processing apparatus, image processing apparatus control method, and program
JP2011010922A (en) * 2009-07-03 2011-01-20 Daito Giken:Kk Game machine

Also Published As

Publication number Publication date
JPH10320569A (en) 1998-12-04

Similar Documents

Publication Publication Date Title
JP3578498B2 (en) Image information processing device
JP3725524B2 (en) Method for generating computer display image and computer processing system and graphics processor for generating image data
JP4719363B2 (en) Graphics system with copy-out conversion between internal frame buffer and main memory
JP4071422B2 (en) Motion blur image drawing method and drawing apparatus
US6069635A (en) Method of producing image data and associated recording medium
WO1999052077A1 (en) Image drawing device, image drawing method, and providing medium
JP3645024B2 (en) Drawing apparatus and drawing method
JP4917346B2 (en) Game image processing program and game image processing apparatus
US7212215B2 (en) Apparatus and method for rendering an antialiased image
US6339430B1 (en) Video game machine and method for changing texture of models
JP3770121B2 (en) Image processing device
JP2003091737A (en) Plotting processor, recording medium with plotting processing program recorded thereon, plotting processing program and plotting processing method
JP3910259B2 (en) Image processing apparatus and method, and rendering apparatus and method
JP2005077522A (en) Image processor and image processing method
JP3548642B2 (en) Image information generating apparatus and method, image information processing apparatus and method, and recording medium
JPH1139502A (en) Device and method for displaying image and recording medium
JPH11331700A (en) Image processing unit and image processing method
JP4683760B2 (en) Graphics system with embedded frame buffer having a reconfigurable pixel format
JP4194605B2 (en) Image processing apparatus and method, and rendering apparatus and method
JP3617960B2 (en) Three-dimensional game image processing program, three-dimensional game image processing method, and video game apparatus
JP3698747B2 (en) Image data generation method and image processing system
JP3971448B2 (en) Drawing apparatus and drawing method
JP3556517B2 (en) 3D image processing device
WO2021245875A1 (en) Image compositing device and image compositing method
JP2003067770A (en) Image generating device and image generating program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060313

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061003

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061102

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061130

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20061213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070124

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100202

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110202

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120202

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120202

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130202

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140202

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees