(57)【要約】【課題】オブジェクトの表示をより円滑に行うこと。【解決手段】画像処理装置に、仮想３次元空間上の所定の位置からの距離が第１の閾値以上の第１のオブジェクトに対し、第１の解像度の画素の値を示す第１のデータを、所定の記録媒体からメモリに読み込むステップと、前記第１のオブジェクトの前記距離が前記第１の閾値未満である場合、前記第１の解像度の画素の少なくとも一部を含む第２の解像度の画素の値のうち、前記第１のデータに含まれない画素の値を示す第２のデータを、前記所定の記録媒体から前記メモリに読み込むステップと、前記第１のデータ、及び前記第２のデータに基づいて、前記第２の解像度の画像を生成するステップと、生成した前記第２の解像度の画像を用いて、前記第１のオブジェクトを画面に表示するステップと、を実行させるプログラムが提供される。【選択図】図３
2019121237.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置に、
仮想３次元空間上の所定の位置からの距離が第１の閾値以上の第１のオブジェクトに対し、第１の解像度の画素の値を示す第１のデータを、所定の記録媒体からメモリに読み込むステップと、
前記第１のオブジェクトの前記距離が前記第１の閾値未満である場合、前記第１の解像度の画素の少なくとも一部を含む第２の解像度の画素の値のうち、前記第１のデータに含まれない画素の値を示す第２のデータを、前記所定の記録媒体から前記メモリに読み込むステップと、
前記第１のデータ、及び前記第２のデータに基づいて、前記第２の解像度の画像を生成するステップと、
生成した前記第２の解像度の画像を用いて、前記第１のオブジェクトを画面に表示するステップと、
を実行させるプログラム。
【請求項２】
前記所定の位置は、ユーザにより操作される第２のオブジェクトの位置、または前記仮想３次元空間上の前記ユーザの視点の位置である、
請求項１に記載のプログラム。
【請求項３】
前記第１のオブジェクトの前記距離が前記第１の閾値よりも小さい第２の閾値未満である場合、前記第２の解像度の画素の少なくとも一部を含む第３の解像度の画素の値のうち、前記第１のデータ及び前記第２のデータに含まれない画素の値を示す第３のデータを、前記所定の記録媒体から前記メモリに読み込むステップと、
前記第１のデータ、前記第２のデータ、及び前記第３のデータに基づいて、前記第３の解像度の画像を生成するステップと、
生成した前記第３の解像度の画像を用いて、前記第１のオブジェクトを表示するステップと、
を実行させる、請求項１または２に記載のプログラム。
【請求項４】
前記第１のオブジェクトの前記距離が前記第１の閾値以上に変化した場合、生成した前記第２の解像度の画像を用いて、前記第１の解像度の画像を生成するステップと、
生成した前記第１の解像度の画像を用いて、前記第１のオブジェクトを表示するステップと、
前記第２の解像度の画像を前記メモリから消去するステップと、
を実行させる、請求項１乃至３のいずれか一項に記載のプログラム。
【請求項５】
前記第２の解像度の画像に対応付けて、前記第２の解像度の画像を、前記第１のオブジェクトの表示に用いた時刻を記録するステップと、
前記メモリの空き容量が所定の閾値以下となった際、前記時刻が最も古い画像のデータを前記メモリから消去するステップと、
を実行させる、請求項１乃至４のいずれか一項に記載のプログラム。
【請求項６】
画像処理装置が、
仮想３次元空間上の所定の位置からの距離が第１の閾値以上の第１のオブジェクトに対し、第１の解像度の画素の値を示す第１のデータを、所定の記録媒体からメモリに読み込むステップと、
前記第１のオブジェクトの前記距離が前記第１の閾値未満である場合、前記第１の解像度の画素の少なくとも一部を含む第２の解像度の画素の値のうち、前記第１のデータに含まれない画素の値を示す第２のデータを、前記所定の記録媒体から前記メモリに読み込むステップと、
前記第１のデータ、及び前記第２のデータに基づいて、前記第２の解像度の画像を生成するステップと、
生成した前記第２の解像度の画像を用いて、前記第１のオブジェクトを画面に表示するステップと、
を実行する画像処理方法。
【請求項７】
仮想３次元空間上の所定の位置からの距離が第１の閾値以上の第１のオブジェクトに対し、第１の解像度の画素の値を示す第１のデータを、所定の記録媒体からメモリに読み込み、
前記第１のオブジェクトの前記距離が前記第１の閾値未満である場合、前記第１の解像度の画素の少なくとも一部を含む第２の解像度の画素の値のうち、前記第１のデータに含まれない画素の値を示す第２のデータを、前記所定の記録媒体から前記メモリに読み込む制御部と、
前記第１のデータ、及び前記第２のデータに基づいて、前記第２の解像度の画像を生成する生成部と、
生成した前記第２の解像度の画像を用いて、前記第１のオブジェクトを画面に表示する表示制御部と、
を有する画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、画像処理方法、及び画像処理装置に関する。
【背景技術】
【０００２】
従来、コンピュータゲームやシミュレーション等において、３次元コンピュータグラフィックスにより、ユーザ（プレイヤー）が操作するキャラクター等のオブジェクトを、仮想３次元空間上で移動できるように表示する技術が知られている。
【０００３】
この技術において、それぞれ異なる複数の解像度のテクスチャ画像等を、一つのオブジェクトに対して予め用意しておき、ユーザが操作するキャラクターの仮想３次元空間上の位置等からの距離に応じて、当該オブジェクトを表示するために用いるテクスチャ画像等の解像度を切り替える技術が知られている（例えば、特許文献１乃至３を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−２０２７１６号公報
【特許文献２】特許第５２９２１４６号公報
【特許文献３】特許第４５０２６７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術には、表示するオブジェクトの数が比較的多い等の場合、画像をメモリに読み込む処理に時間がかかる。そのため、ユーザの視点の位置が比較的急に変化した場合等において、当該位置からの距離が近くなったオブジェクトが、距離に応じた解像度で表示されるまでに時間がかかる場合があるという問題がある。
【０００６】
そこで、一側面では、オブジェクトの表示をより円滑に行える技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの案では、画像処理装置に、仮想３次元空間上の所定の位置からの距離が第１の閾値以上の第１のオブジェクトに対し、第１の解像度の画素の値を示す第１のデータを、所定の記録媒体からメモリに読み込むステップと、前記第１のオブジェクトの前記距離が前記第１の閾値未満である場合、前記第１の解像度の画素の少なくとも一部を含む第２の解像度の画素の値のうち、前記第１のデータに含まれない画素の値を示す第２のデータを、前記所定の記録媒体から前記メモリに読み込むステップと、前記第１のデータ、及び前記第２のデータに基づいて、前記第２の解像度の画像を生成するステップと、生成した前記第２の解像度の画像を用いて、前記第１のオブジェクトを画面に表示するステップと、を実行させるプログラムが提供される。
【発明の効果】
【０００８】
一側面によれば、オブジェクトの表示をより円滑に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る画像処理装置のハードウェア構成例を示す図である。
【図２】実施形態に係る画像処理装置の機能ブロック図である。
【図３】画像処理装置の処理の一例を示すフローチャートである。
【図４Ａ】基準位置からの距離に応じて用いられるテクスチャ画像の解像度について説明する図である。
【図４Ｂ】基準位置からの距離に応じて用いられるテクスチャ画像の解像度について説明する図である。
【図５Ａ】基準位置からの距離に応じたテクスチャ画像用のデータの一例について説明する図である。
【図５Ｂ】基準位置からの距離に応じたテクスチャ画像用のデータの一例について説明する図である。
【図６Ａ】仮想３次元空間の表示画面例について説明する図である。
【図６Ｂ】仮想３次元空間の表示画面例について説明する図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて本発明の実施形態を説明する。
【００１１】
＜ハードウェア構成＞
図１は、実施形態に係る画像処理装置１０のハードウェア構成例を示す図である。図１に示す画像処理装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、インタフェース装置１０５、表示装置１０６、及び入力装置１０７等を有する。
【００１２】
画像処理装置１０での処理を実現するゲームプログラムは、記録媒体１０１によって提供される。ゲームプログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、ゲームプログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、ゲームプログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたゲームプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１３】
メモリ装置１０３は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）、またはＳＲＡＭ（Static Random Access Memory）等のメモリであり、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って画像処理装置１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１０７は、コントローラ等、キーボード及びマウス等、またはタッチパネル及びボタン等で構成され、様々な操作指示を入力させるために用いられる。
【００１４】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、ブルーレイディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００１５】
＜機能構成＞
次に、図２を参照し、画像処理装置１０の機能構成について説明する。図２は、実施形態に係る画像処理装置１０の機能ブロック図である。
【００１６】
画像処理装置１０は、記憶部１１を有する。記憶部１１は、例えば、補助記憶装置１０２等を用いて実現される。記憶部１１は、３次元データ１１１等を記憶する。３次元データ１１１は、各オブジェクトの３次元モデルのデータであり、各オブジェクトのモデルのデータ、及びテクスチャ画像のデータ等を含むデータである。
【００１７】
また、画像処理装置１０は、受付部１２、制御部１３、生成部１４、及び表示制御部１５を有する。これら各部は、画像処理装置１０にインストールされた１以上のプログラムが、画像処理装置１０のＣＰＵ１０４に実行させる処理により実現される。
【００１８】
受付部１２は、プレイヤーキャラクターを仮想３次元空間上で移動させる等の操作をユーザから受け付ける。
【００１９】
制御部１３は、ゲームの進行等を制御する。また、制御部１３は、受付部１２により受け付けた操作等に応答して、仮想３次元空間上の所定の位置からの距離が所定の閾値以上のオブジェクトに対し、比較的低い解像度の画素の値を示す第１のデータを、記録媒体１０１、または補助記憶装置１０２からメモリ装置１０３に読み込む。ここで、所定の位置（以下で、「基準位置」とも称する。）は、例えば、仮想３次元空間上のプレイヤーキャラクターの位置または仮想３次元空間上のユーザの視点（仮想的なカメラ、仮想カメラ）の位置である。なお、制御部１３は、仮想カメラにより撮影される仮想３次元空間を、３次元コンピュータグラフィックスにより画面に表示する。
仮想カメラの位置は、例えば、プレイヤーキャラクターの中心位置から仮想３次元空間上で所定の距離離れた球面上の位置であり、ユーザの操作により当該球面上で移動されてもよい。また、当該所定の距離は、ユーザの操作により変更されてもよい。
【００２０】
また、制御部１３は、受付部１２により受け付けた操作等に応答して、仮想３次元空間上の所定の位置から当該オブジェクトまでの距離が所定の閾値となった場合、当該比較的低い解像度の画素の少なくとも一部を含む比較的高い解像度の画素の値のうち、第１のデータに含まれない画素の値を示す第２のデータを、記録媒体１０１、または補助記憶装置１０２からメモリ装置１０３に読み込む。
【００２１】
生成部１４は、メモリ装置１０３に記憶している比較的低い解像度のデータと、制御部１３により、補助記憶装置１０２等の記録媒体から読み取られた比較的高い解像度用の差分データとに基づいて、比較的高い解像度の画像を生成する。また、生成部１４は、メモリ装置１０３に記憶している比較的高い解像度のデータに基づいて、比較的低い解像度の画像を生成する。
【００２２】
表示制御部１５は、制御部１３からの指示に従い、生成部１４により生成された画像データを用いて、ゲームにおける画像を画面に表示させる。
【００２３】
＜処理＞
次に、図３乃至図６Ｂを参照して、画像処理装置１０の処理について説明する。図３は、画像処理装置１０の処理の一例を示すフローチャートである。図４Ａ、及び図４Ｂは、基準位置からの距離に応じて用いられるテクスチャ画像の解像度について説明する図である。図５Ａ、及び図５Ｂは、基準位置からの距離に応じたテクスチャ画像用のデータの一例について説明する図である。図６Ａ、及び図６Ｂは、仮想３次元空間の表示画面例について説明する図である。
【００２４】
以下では、オープンワールド（サンドボックス、フリーローミング）のゲームを例として説明する。オープンワールドのゲームでは、ユーザにより操作されるプレイヤーキャラクターの移動に応じて、プレイヤーキャラクターの周辺の地形、建造物、草木等の３次元データ等を読み込んで表示する。これにより、ユーザは、プレイヤーキャラクターを、比較的広大な仮想３次元空間上の世界において、マップの切り替え等がなされずにシームレスに動き回ることができる。
【００２５】
ステップＳ１において、制御部１３は、ユーザの操作等によりゲームが起動されると、３次元データ１１１等を含むゲームのデータを、補助記憶装置１０２または記録媒体１０１から読み込み、読み込んだデータと、読み込んだデータから生成部１４により生成されたテクスチャ画像とをメモリ装置１０３に記憶させる。
【００２６】
ここで、読み込んだデータには、仮想３次元空間上の各オブジェクトに対する、基準位置から当該各オブジェクトの位置までの距離に応じた解像度（ピクセル数）のテクスチャ画像を生成部１４により生成させるためのデータが含まれる。なお、仮想３次元空間上の各オブジェクトには、例えば、地形、建造物、草木、及びキャラクター等が含まれる。
【００２７】
ここで、例えば、プレイヤーキャラクター等の位置から遠方に位置する建造物や木等のオブジェクトは、画面に表示される画素のサイズが比較的小さい。そのため、当該オブジェクトに対し、画面に表示される画素よりも一定程度以上解像度が高いテクスチャ画像を用いてテクスチャマッピングをする場合、当該テクスチャ画像に含まれるデータのうちテクスチャマッピングに利用されないデータの割合が比較的高くなる。そこで、本実施形態では、図４Ａ、及び図４Ｂに示すような解像度のテクスチャ画像を用いることで、テクスチャマッピングに利用されないデータの割合を低減している。
【００２８】
図４Ａ、及び図４Ｂに示すように、制御部１３は、仮想３次元空間における基準位置からオブジェクトの位置までの距離に応じて、当該距離が小さくなる（プレイヤーキャラクター等がオブジェクトに近づく）に従って、より高い解像度のテクスチャ画像を用いて、オブジェクトの３次元モデルに対するテクスチャマッピングを実行させる。
【００２９】
図４Ａ、及び図４Ｂの例では、基準位置からオブジェクトの位置までの距離に応じて、以下のように５段階の解像度が規定されている。なお、解像度の段階は５に限定されない。
【００３０】
（１）図４Ａに示すように、基準位置４００からの距離が第１の閾値４０１以上のオブジェクト４１１に対して、Ｎ×Ｎ画素の解像度４２１（「第１の解像度」の一例。）が規定されている。ここで、Ｎは、例えば６４等でもよい。
【００３１】
（２）図４Ａに示すように、基準位置４００からの距離が、第１の閾値４０１よりも小さい第２の閾値４０２以上であり、かつ第１の閾値４０１未満のオブジェクト４１２に対して、２Ｎ×２Ｎ画素の解像度４２２（「第２の解像度」の一例。）が規定されている。
【００３２】
（３）図４Ｂに示すように、基準位置４００からの距離が、第２の閾値４０２よりも小さい第３の閾値４０３以上であり、かつ第２の閾値４０２未満のオブジェクト４１３に対して、４Ｎ×４Ｎ画素の解像度４２３（「第３の解像度」の一例。）が規定されている。なお、図４Ｂは、図４Ａにおける、基準位置４００からの距離が第２の閾値４０２よりも小さい範囲を拡大したものである。
【００３３】
（４）図４Ｂに示すように、基準位置４００からの距離が、第３の閾値４０３よりも小さい第４の閾値４０４以上であり、かつ第３の閾値４０３未満のオブジェクト４１４に対して、８Ｎ×８Ｎ画素の解像度４２４が規定されている。
【００３４】
（５）図４Ｂに示すように、基準位置４００からの距離が、第４の閾値４０４未満のオブジェクト４１５に対して、１６Ｎ×１６Ｎ画素の解像度４２５が規定されている。
【００３５】
なお、第１の閾値４０１の値、第２の閾値４０２の値、第３の閾値４０３の値、第４の閾値４０４の値は、それぞれ、第５の閾値４０５の値の１６倍、８倍、４倍、２倍としてもよい。
【００３６】
また、本実施形態では、図５Ａに示すように、補助記憶装置１０２または記録媒体１０１には、仮想３次元空間上の各オブジェクトのＩＤに対応付けて、以下のデータをそれぞれ含む３次元データ１１１が予め記録されている。
【００３７】
（１）基準位置４００からの距離が第１の閾値４０１以上のオブジェクト４１１に対して用いられるＮ×Ｎ画素の解像度４２１のテクスチャ画像を表す第１データ５０１（「第１のデータ」の一例。）。
【００３８】
（２）基準位置４００からの距離が、第１の閾値４０１よりも小さい第２の閾値４０２以上であり、かつ第１の閾値４０１未満のオブジェクト４１２に対して用いられる２Ｎ×２Ｎ画素の解像度４２２のテクスチャ画像のうち、第１データ５０１に含まれない部分の２Ｎ×２Ｎ−Ｎ×Ｎ画素の第２データ５０２（「第２のデータ」の一例。）。
【００３９】
（３）基準位置４００からの距離が、第２の閾値４０２よりも小さい第３の閾値４０３以上であり、かつ第２の閾値４０２未満のオブジェクト４１３に対して用いられる４Ｎ×４Ｎ画素の解像度４２３のテクスチャ画像のうち、第１データ５０１、及び第２データ５０２に含まれない部分の４Ｎ×４Ｎ−２Ｎ×２Ｎ−Ｎ×Ｎ画素の第３データ５０３（「第３のデータ」の一例。）。
【００４０】
（４）基準位置４００からの距離が、第３の閾値４０３よりも小さい第４の閾値４０４以上であり、かつ第３の閾値４０３未満のオブジェクト４１４に対して用いられる８Ｎ×８Ｎ画素の解像度４２４のテクスチャ画像のうち、第１データ５０１、第２データ５０２、及び第３データ５０３に含まれない部分の８Ｎ×８Ｎ−４Ｎ×４Ｎ−２Ｎ×２Ｎ−Ｎ×Ｎ画素の第４データ５０４。
【００４１】
（５）基準位置４００からの距離が、第４の閾値４０４未満のオブジェクト４１５に対して用いられる１６Ｎ×１６Ｎ画素の解像度４２５のテクスチャ画像のうち、第１データ５０１、第２データ５０２、第３データ５０３、及び第４データ５０４に含まれない部分の１６Ｎ×１６Ｎ−８Ｎ×８Ｎ−４Ｎ×４Ｎ−２Ｎ×２Ｎ−Ｎ×Ｎ画素の第５データ５０５。
【００４２】
図５Ｂの○で示すように、例えば、第１データ５０１は、１６Ｎ×１６Ｎが画素の解像度４２５のテクスチャ画像における、１６Ｎ−１画素間隔のデータである。
【００４３】
また、図５Ｂの●で示すように、第２データ５０２は、１６Ｎ×１６Ｎが画素の解像度４２５のテクスチャ画像における、８Ｎ−１画素間隔の画素のデータのうち、第１データ５０１に含まれない画素のデータである。
【００４４】
また、図５Ｂの△で示すように、第３データ５０３は、１６Ｎ×１６Ｎが画素の解像度４２５のテクスチャ画像における、４Ｎ−１画素間隔の画素のデータのうち、第１データ５０１、及び第２データ５０２に含まれない画素のデータである。
【００４５】
また、図５Ｂの▲で示すように、第４データ５０４は、１６Ｎ×１６Ｎが画素の解像度４２５のテクスチャ画像における、２Ｎ−１画素間隔の画素のデータのうち、第１データ５０１乃至第３データ５０３に含まれない画素のデータである。
【００４６】
また、図５Ｂの□で示すように、第５データ５０５は、１６Ｎ×１６Ｎが画素の解像度４２５のテクスチャ画像における画素のデータのうち、第１データ５０１乃至第４データ５０４に含まれない画素のデータである。
【００４７】
上述したステップＳ１の処理により、仮想３次元空間上の各オブジェクトについて、基準位置から当該各オブジェクトの位置までの距離に応じて、生成部１４により生成された、以下の（１）乃至（５）のいずれかのテクスチャ画像がメモリ装置１０３に記憶される。
（１）第１データ５０１のみに基づいて生成された解像度４２１のテクスチャ画像。
（２）第１データ５０１及び第２データ５０２に基づいて生成された解像度４２２のテクスチャ画像。
（３）第１データ５０１乃至第３データ５０３に基づいて生成された解像度４２３のテクスチャ画像。
（４）第１データ５０１乃至第４データ５０４に基づいて生成された解像度４２４のテクスチャ画像。
（５）第１データ５０１乃至第５データ５０５に基づいて生成された解像度４２５のテクスチャ画像。
【００４８】
続いて、制御部１３は、３次元コンピュータグラフィックスにより、メモリ装置１０３に記憶されたデータを用いて、仮想３次元空間上の各オブジェクトを表示制御部１５により画面に表示させる（ステップＳ２）。ここで、表示制御部１５により、図６Ａ、及び図６Ｂに示すような画像が表示される。図６Ａの例では、比較的近く位置する木のオブジェクト６０１、及び比較的遠くに位置する木のオブジェクト６０２等が表示されている。図６Ｂの例では、比較的近く位置する木のオブジェクト６１１、及び比較的遠くに位置する木のオブジェクト６１２等が表示されている。
【００４９】
ここで、制御部１３は、オブジェクト６０１、及びオブジェクト６１１については、それぞれ、各オブジェクトに対応付けられたデータのうち、第１データ５０１乃至第５データ５０５を用いて、１６Ｎ×１６Ｎ画素の解像度のテクスチャ画像を生成し、生成したテクスチャ画像を用いて表示させている。また、制御部１３は、オブジェクト６０２、及びオブジェクト６１２については、それぞれ、第１データ５０１乃至第４データ５０４を用いて、８Ｎ×８Ｎ画素の解像度のテクスチャ画像を生成し、生成したテクスチャ画像を用いて表示させている。
【００５０】
なお、制御部１３は、例えば、画像処理装置１０のＯＳ（Operating System）等のプログラムにより提供されるＡＰＩ（Application Programming Interface）により実現される表示制御部１５を用いて、テクスチャマッピングを実行させてもよい。例えば、テクスチャ画像、及びオブジェクトの３次元モデルのデータを当該ＡＰＩに入力すると、ＯＳ等のプログラムにより、当該オブジェクトが画面に表示される画素のサイズに応じたテクスチャマッピングがされてもよい。
【００５１】
続いて、受付部１２は、プレイヤーキャラクターを移動させる操作をユーザから受け付ける（ステップＳ３）。
【００５２】
続いて、制御部１３は、ユーザの操作に応答して、プレイヤーキャラクターを仮想３次元空間上で移動させる（ステップＳ４）。
【００５３】
続いて、制御部１３は、仮想３次元空間上の各オブジェクトのうち、画面に表示される各オブジェクトを判定する（ステップＳ５）。なお、制御部１３は、例えば、仮想３次元空間上のユーザの視点に対して、他のオブジェクトの影に隠れて見えない位置のオブジェクト、及びユーザの視界に入らない位置のオブジェクトに対しては、以下の処理を実行しなくてもよい。
【００５４】
続いて、制御部１３は、メモリ装置１０３に記憶されているテクスチャ画像を用いて、画面に表示される各オブジェクトを表示制御部１５により画面に表示させる（ステップＳ６）。これにより、例えば、プレイヤーキャラクターが、比較的長い距離を急に移動した場合でも、ステップＳ１にてゲームの起動時に読み込んでメモリ装置１０３に記憶されている最低解像度のテクスチャ画像を表す第１データ５０１を用いて、各オブジェクトが表示される。そのため、ユーザが、例えば、プレイヤーキャラクターが、以前に訪れたことがある街等に瞬時に移動できる機能を利用した場合であっても、距離に応じて規定されている解像度による画質よりも低いものの、瞬時に各オブジェクトを表示させておくことができる。
【００５５】
続いて、制御部１３は、画面に表示される各オブジェクトのうち、一のオブジェクトを、処理対象のオブジェクトとして選択する（ステップＳ７）。以下で、画面に表示される各オブジェクトのうちの任意の一つのオブジェクトを、「処理対象のオブジェクト」と称する。従って、以下の処理は、画面に表示される各オブジェクトに対してそれぞれ実行される。
【００５６】
続いて、制御部１３は、上述した基準位置から、処理対象のオブジェクトの位置までの仮想３次元空間上の距離を算出する（ステップＳ８）。
【００５７】
続いて、制御部１３は、算出した距離に応じて規定されている解像度（以下で「距離に応じた解像度」と称する。）が、処理対象のオブジェクトに対して現在メモリ装置１０３に記憶されている解像度（以下で「現在の解像度」と称する。）と同一であるか否かを判定する（ステップＳ９）。
【００５８】
距離に応じた解像度と現在の解像度が同一である場合（ステップＳ９でＹＥＳ）、後述するステップＳ１６の処理に進む。
【００５９】
距離に応じた解像度と現在の解像度が同一でない場合（ステップＳ９でＮＯ）、制御部１３は、距離に応じた解像度が、現在の解像度よりも高いか否かを判定する（ステップＳ１０）。
【００６０】
距離に応じた解像度が、現在の解像度よりも高い場合（ステップＳ１０でＹＥＳ）、制御部１３は、処理対象のオブジェクトに対する、距離に応じた解像度のテクスチャ画像のうち、現在メモリ装置１０３に記憶されていない部分の画像データ（差分データ）のみを、補助記憶装置１０２または記録媒体１０１から読み込む（ステップＳ１１）。
【００６１】
続いて、制御部１３は、読み込んだ差分データと、メモリ装置１０３に記憶されているデータとに基づいて、処理対象のオブジェクトに対する、距離に応じた解像度のテクスチャ画像を生成部１４により生成させてメモリ装置１０３に記憶する（ステップＳ１２）。
【００６２】
続いて、制御部１３は、メモリ装置１０３に記憶されているテクスチャ画像を用いて、処理対象のオブジェクトの表示を表示制御部１５により更新し（ステップＳ１３）、後述するステップＳ１６の処理に進む。
【００６３】
一方、距離に応じた解像度が、現在の解像度よりも高くない場合（ステップＳ１０でＮＯ）、制御部１３は、メモリ装置１０３に記憶されている処理対象のオブジェクトのテクスチャ画像（以下で「原画像データ」と称する。）に基づいて、距離に応じた解像度のテクスチャ画像を生成部１４により生成させてメモリ装置１０３に記憶する（ステップＳ１４）。
【００６４】
続いて、制御部１３は、原画像データをメモリ装置１０３から消去する（ステップＳ１５）。
【００６５】
続いて、制御部１３は、画面に表示される各オブジェクトのうち、処理対象のオブジェクトとして選択されていない未処理のオブジェクトがあるか否かを判定する（ステップＳ１６）。
【００６６】
未処理のオブジェクトがある場合（ステップＳ１６でＹＥＳ）、当該未処理のオブジェクトを処理対象のオブジェクトとして選択し（ステップＳ１７）、ステップＳ８の処理に進む。
【００６７】
未処理のオブジェクトがない場合（ステップＳ１６でＮＯ）、制御部１３は、ユーザの操作等により、ゲームを終了するか否かを判定する（ステップＳ１８）。ゲームを終了しない場合（ステップＳ１８でＮＯ）、ステップＳ３の処理に進む。ゲームを終了する場合（ステップＳ１８でＹＥＳ）、処理を終了する。
【００６８】
＜変形例＞
制御部１３は、ステップＳ１５で、距離に応じた解像度のテクスチャ画像を生成した際に、原画像データをメモリ装置１０３から消去する代わりに、メモリ装置１０３の空きが所定の閾値以下となった際に、原画像データをメモリ装置１０３から消去するようにしてもよい。そして、制御部１３は、原画像データをメモリ装置１０３に残っている場合は、ステップＳ１１乃至ステップＳ１２で、補助記憶装置１０２または記録媒体１０１からデータを読み込んで距離に応じた解像度のテクスチャ画像を生成する代わりに、当該原画像データを再利用してもよい。これにより、オブジェクトの表示をさらに円滑に行うことができる。
【００６９】
この場合、制御部１３は、例えば、原画像データに、当該原画像データが最後に表示のために利用された時刻（以下で「最終利用時刻」と称する。）を対応付けて記憶しておく。そして、制御部１３は、メモリ装置１０３の空き容量が所定の閾値以下となった際に、最終利用時刻が最も古い原画像データを、メモリ装置１０３から消去するようにしてもよい。この場合、例えば、２Ｎ×２Ｎ画素の解像度４２２、４Ｎ×４Ｎ画素の解像度４２３、８Ｎ×８Ｎ画素の解像度４２４、及び１６Ｎ×１６Ｎ画素の解像度４２５の各々に対して、メモリ装置１０３に記録可能な画像の数の上限値を予め制御部１３に設定しておく。そして、制御部１３は、一の解像度に対して記録している画像の数が、当該一の解像度に対して設定された上限値を超える場合、複数のオブジェクトに対する当該一の解像度の画像群のうち、最終利用時刻が最も古い画像のデータを、メモリ装置１０３から消去する。
【００７０】
＜効果＞
プレイヤーキャラクターが広大な仮想３次元空間上の世界を自由に移動できるオープンワールドのゲームでは、高い位置から一帯の風景を眺める場合等において、スケールの大きな映像表現が可能である。この場合、周辺の建物や木等のオブジェクトのみならず、遠くに位置するオブジェクトもできる限り表示することが臨場感の点で好ましい。
【００７１】
そのため、オープンワールドのゲームでは、個々の空間の端に到達したら別の空間に切り替えるようなオープンワールドではないゲームと比較して、メモリに読み込んでおくべきオブジェクト等のデータ量や、オブジェクトの表示等のための処理の負荷が大きい。
【００７２】
一方で、ゲーム装置のハードウェアの性能により、メモリサイズやＣＰＵ等の演算速度には上限がある。そのため、従来技術では、例えば、オープンワールドのゲーム等、表示するオブジェクトの数が多いこと等により処理負荷が比較的高い３次元コンピュータグラフィックスにおいて、表示させるオブジェクトの数を減らすなどの対応が必要になる。
【００７３】
一方、上述した実施形態によれば、仮想３次元空間上の所定の位置からの距離が閾値以上のオブジェクトに対し、第１の解像度の画素の値を示す第１のデータを、所定の記録媒体からメモリに読み込む。そして、当該第１のオブジェクトとの距離が当該閾値未満となった場合、第１の解像度の画素の少なくとも一部を含む第２の解像度の画素の値のうち、第１のデータに含まれない画素の値を示す第２のデータをメモリに読み込む。そして、第１のデータ、及び前記第２のデータに基づいて、第２の解像度の画像を生成し、生成した第２の解像度の画像を用いて、第１のオブジェクトを画面に表示する。
【００７４】
すなわち、上述した実施形態によれば、オブジェクトとの距離が近づいた際に、第２の解像度の画像のデータのうち、当該オブジェクトに対して既にメモリに読み込んでいる第１のデータとの差分である第２データのみをメモリに追加で読み込む。なお、ＨＤＤ等の補助記憶装置１０２、及びブルーレイディスク等の記録媒体１０１等の記録媒体からＣＰＵ１０４がデータを読み取る速度は、メモリからＣＰＵ１０４がデータを読み取る速度と比較してかなり遅い。そのため、上述した実施形態によれば、従来技術のように、オブジェクトとの距離が近づいた際に、第２の解像度の画像のデータ全体を記録媒体から読み取る処理と比較して、オブジェクトの表示をより円滑に行うことができる。
【００７５】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００７６】
画像処理装置１０の各機能部は、例えば１以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。また、画像処理装置１０は、ユーザの端末にゲームの画面を表示させる、オンラインゲーム用のサーバであってもよい。
【００７７】
なお、上述した実施形態では、オープンワールドのゲームを例として説明したが、開示の技術は、オープンワールド以外のゲーム、シミュレーション等の３次元コンピュータグラフィックスにおいて、仮想３次元空間上で所定のオブジェクトを他のオブジェクトの上に乗せる場合に適用できる。
【００７８】
なお、記録媒体１０１、及び補助記憶装置１０２は、それぞれ、「記録媒体」の一例である。また、メモリ装置１０３は、「メモリ」の一例である。
【符号の説明】
【００７９】
１０  画像処理装置
１１  記憶部
１１１  ３次元データ
１２  受付部
１３  制御部
１４  生成部
１５  表示制御部
【図１】
2019121237.tif 000003
【図２】
2019121237.tif 000004
【図３】
2019121237.tif 000005
【図４Ａ】
2019121237.tif 000006
【図４Ｂ】
2019121237.tif 000007
【図５Ａ】
2019121237.tif 000008
【図５Ｂ】
2019121237.tif 000009
【図６Ａ】
2019121237.tif 000010
【図６Ｂ】
2019121237.tif 000011