JP2015225382A - Drawing system, drawing device, calculation device, drawing program, and drawing processor board - Google Patents

Drawing system, drawing device, calculation device, drawing program, and drawing processor board Download PDF

Info

Publication number
JP2015225382A
JP2015225382A JP2014108153A JP2014108153A JP2015225382A JP 2015225382 A JP2015225382 A JP 2015225382A JP 2014108153 A JP2014108153 A JP 2014108153A JP 2014108153 A JP2014108153 A JP 2014108153A JP 2015225382 A JP2015225382 A JP 2015225382A
Authority
JP
Japan
Prior art keywords
speed
low
speed drawing
result
processing
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
JP2014108153A
Other languages
Japanese (ja)
Other versions
JP6379673B2 (en
Inventor
晃彦 森榮
Akihiko Morie
晃彦 森榮
直矢 ▲柳▼澤
直矢 ▲柳▼澤
Naoya Yanagisawa
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.)
Toppan Inc
Original Assignee
Toppan Printing 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
Application filed by Toppan Printing Co Ltd filed Critical Toppan Printing Co Ltd
Priority to JP2014108153A priority Critical patent/JP6379673B2/en
Publication of JP2015225382A publication Critical patent/JP2015225382A/en
Application granted granted Critical
Publication of JP6379673B2 publication Critical patent/JP6379673B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a drawing system, a drawing device, a calculation device, a drawing program, and a drawing processor board for artificially synchronizing a high-load process for which real-time processing is difficult to a low-load process in a drawing process.SOLUTION: The drawing system comprises: calculation means for obtaining the amount of movement in a virtual space between a first high-speed drawing result obtained by a high-speed drawing process in which drawing is made at a time most recent to the drawing completion time of a first low-speed drawing result obtained by a low-speed drawing process, and a second high-speed drawing result obtained by a high-speed drawing process for drawing immediately after that; prediction means for obtaining, from the first low-speed drawing result and the amount of movement, a second low-speed drawing result, as a predicted low-speed drawing result, that is predicted to be obtained by the low-speed drawing process corresponding to the time most recent to the drawing completion time of the second high-speed drawing result; and display output means for outputting a first display image on the basis of the first low-speed drawing result and the first high-speed drawing result and then outputting a second display image on the basis of the predicted low-speed drawing result and the second high-speed drawing result.

Description

本発明は、コンピュータグラフィックス(CG)において、計算量が膨大な描画手段を実時間で実行するための描画システムに関する。   The present invention relates to a drawing system for executing drawing means having a large amount of calculation in real time in computer graphics (CG).

パーソナルコンピューター(PC)やタブレット端末などの計算装置の高性能化に伴い、CGの描画手段における計算は複雑なものが増え、計算量も膨大になっている。近年では、高性能なサーバー装置で描画処理を行い、表示装置を持つクライアント装置に画像を送信することで、高性能でない機器でも高品質な画像を見ることが出来るシステムなども増えている。   With the increase in performance of computing devices such as personal computers (PCs) and tablet terminals, the computation in the CG drawing means has increased in complexity and the amount of computation has become enormous. In recent years, an increasing number of systems are capable of performing high-quality server devices to perform drawing processing and transmitting images to a client device having a display device, so that high-quality images can be viewed even by non-high-performance devices.

特許文献1に記載されているように、ネットワークを通してサーバー装置からクライアント装置に描画した映像を転送するようなシステムにおいて、クライアント装置の描画性能に依存せずに、高品質なCG映像を提供するため、サーバー装置で描画の処理を行い、クライアント端末に画面を提供するという方法も存在している。   As described in Patent Document 1, in a system that transfers video drawn from a server device to a client device via a network, to provide high-quality CG video without depending on the drawing performance of the client device. There is also a method in which drawing processing is performed on the server device and a screen is provided to the client terminal.

特開2013−99494号公報JP 2013-99494 A

SCHERZER, D., YANG, L., MATTAUSCH, O., NEHAB, D., SANDER, P. V., WIMMER, M., and EISEMANN, E., 2011, "A survey on temporal coherence methods in real-time rendering," In Euro graphics State of the Art Reports. (3.2 Forward reprojection)SCHERZER, D., YANG, L., MATTAUSCH, O., NEHAB, D., SANDER, PV, WIMMER, M., and EISEMANN, E., 2011, "A survey on temporal coherence methods in real-time rendering, "In Euro graphics State of the Art Reports. (3.2 Forward reprojection)

上記特許文献1のように、サーバー装置などの高い処理能力のある計算装置に、描画処理の高負荷な部分を負担させることで、クライアント装置にかかる計算負荷を減らすことが出来、クライアント端末の描画性能に依存せずに高品質な画像を描画出来るようになるが、サーバー装置の描画性能によっては利用できない描画手段が存在する。
例えば、仮想空間内における光の反射の振る舞いを正確に扱うグローバルイルミネーションのような計算量が膨大な描画手段も、高性能な計算装置であれば比較的早く計算出来るようにはなっているが、リアルタイム(リアルタイム:ここでは、鑑賞者が不快と感じない程度の描画間隔、例えば1秒間に30〜60回描画を行う程度の描画の間隔を示す表現として用いる。以降に記述される部分についても同様とする。)で行う事が出来ない。
As in the above-mentioned Patent Document 1, by making a computing device with high processing capacity such as a server device bear a high load part of drawing processing, the computing load on the client device can be reduced, and drawing of the client terminal Although it becomes possible to draw a high-quality image without depending on performance, there is a drawing means that cannot be used depending on the drawing performance of the server device.
For example, drawing means with a large amount of calculation such as global illumination that accurately handle the reflection behavior of light in the virtual space can be calculated relatively quickly with a high-performance computing device. Real-time (real-time: Here, it is used as an expression indicating a drawing interval at which the viewer does not feel uncomfortable, for example, a drawing interval at which drawing is performed 30 to 60 times per second. )) Can not be done.

上記のように、計算負荷の高い描画手段を用いて描画を行う際に、サーバー装置で計算負荷の高い処理を行った場合、サーバー装置の描画の間隔がクライアント装置で求められる描画の間隔に追いつかず、結果としてクライアント装置の描画更新に遅れが生じてしまう。
例えば図2に示すように、サーバー装置での描画タイミングがS100〜S300、クライアント装置での描画タイミングがC100〜C900となる場合、S100とC100で同時に描画結果が生成された後、S200とC500までの間、クライアント装置のC200〜C400ではサーバー装置では描画処理が続いているため、クライアント装置と同じ描画タイミングで描画結果を生成する事が出来ない。
仮にクライアント装置の描画の間隔が30FPS(FPS:1秒間に行われる描画の回数)、サーバー装置の描画の間隔が10FPSの場合、サーバー装置で1フレーム(フレーム:ここでは、描画の間隔のうちの1回分の事を意味する。以降に記述される部分についても同様とする。)描画される間に、クライアント装置では3フレーム分描画され、差が発生する。その結果、必要な画像が揃わずに遅い描画間隔に合わせる必要があり、クライアント装置の描画間隔も10FPSになるという問題が発生する。
As described above, when drawing is performed using a drawing means having a high calculation load, if the server device performs processing with a high calculation load, the drawing interval of the server device catches up with the drawing interval required by the client device. As a result, the drawing update of the client device is delayed.
For example, as shown in FIG. 2, when the drawing timing at the server device is S100 to S300 and the drawing timing at the client device is C100 to C900, the drawing result is generated at S100 and C100 at the same time, and then until S200 and C500. In the meantime, in the client devices C200 to C400, since the drawing process is continued in the server device, the drawing result cannot be generated at the same drawing timing as the client device.
If the drawing interval of the client device is 30 FPS (FPS: the number of drawing operations performed per second) and the drawing interval of the server device is 10 FPS, one frame (frame: in this case, of the drawing intervals) (This also applies to the portion described later.) During drawing, the client device draws 3 frames, and a difference occurs. As a result, there is a problem that it is necessary to adjust the drawing interval of the client apparatus to 10 FPS because the necessary images are not prepared and to be adjusted to a slow drawing interval.

本発明の目的は、描画処理を負荷の高い描画処理と負荷の低い描画処理に分担させた際に、負荷の高い描画処理としてリアルタイムに描画することの出来ない計算量が膨大な描画手段を用いても擬似的にリアルタイムに表示させる技術を提供することである。   An object of the present invention is to use a drawing means having a huge amount of calculation that cannot be drawn in real time as a high-load drawing process when the drawing process is divided into a high-load drawing process and a low-load drawing process. However, it is to provide a technique for displaying in real time in a pseudo manner.

上記課題を解決するために、本発明の一局面は、仮想空間の画面を描画する描画システムであって、高速な描画処理と低速な描画処理とを実行する描画手段と、低速な描画処理で求めた第1の低速描画結果の描画完了時刻の直近の時刻で描画された高速な描画処理で求めた第1の高速描画結果と、第1の高速描画結果の直後の描画のために高速な描画処理で求めた第2の高速描画結果との間の仮想空間における移動量を求める計算手段と、第1の低速描画結果と移動量とから、第2の高速描画結果の描画完了時刻の直近の時刻に対応する、低速な描画処理によって求められるであろう第2の低速描画結果を、予測低速描画結果として当該時刻までに予測して求める予測手段と、第1の低速描画結果と第1の高速描画結果とに基づいて第1の表示画像を出力した後に、予測低速描画結果と第2の高速描画結果とに基づいて第2の表示画像を出力する表示出力手段とを備える。   In order to solve the above problems, one aspect of the present invention is a drawing system that draws a screen in a virtual space, and includes drawing means that performs high-speed drawing processing and low-speed drawing processing, and low-speed drawing processing. The first high-speed drawing result obtained by the high-speed drawing process drawn at the time closest to the drawing completion time of the obtained first low-speed drawing result and the drawing immediately after the first high-speed drawing result are performed at high speed. The calculation means for obtaining the movement amount in the virtual space between the second high-speed drawing result obtained by the drawing process and the drawing completion time of the second high-speed drawing result closest from the first low-speed drawing result and the movement amount The second low-speed drawing result that will be obtained by the low-speed drawing process corresponding to the time of the time, and the prediction means for obtaining the predicted low-speed drawing result by the time, the first low-speed drawing result and the first The first table based on the high-speed drawing results After outputting the image, and a display output means for outputting a second display image based on the result of the prediction slow rendering result and a second high-speed drawing.

また、本発明の他の局面は、上述の描画システムを構成する描画装置であって、低速な描画処理を実行する1つ以上の第1の計算装置と、第1の装置とネットワークを介して接続され、高速な描画処理を実行する1つ以上の第2の計算装置とを、少なくとも含む。   Another aspect of the present invention is a drawing apparatus that constitutes the above-described drawing system, and includes one or more first calculation apparatuses that execute low-speed drawing processing, the first apparatus, and a network. And at least one or more second computing devices that are connected and execute high-speed drawing processing.

また、本発明の他の局面は、上述の描画システムを構成する計算装置であって、低速な描画処理を実行する1つ以上の第1の描画プロセッサと、高速な描画処理を実行する1つ以上の第2の描画プロセッサとを少なくとも搭載する。   Another aspect of the present invention is a computing device that constitutes the above-described drawing system, and includes one or more first drawing processors that execute low-speed drawing processing and one that executes high-speed drawing processing. At least the second drawing processor described above is mounted.

また、本発明の他の局面は、上述の描画手段、計算手段、予測手段、および表示出力手段として、1つのコンピュータを機能させ、あるいは2つ以上のコンピュータを連携機能させる、描画プログラムである。   Another aspect of the present invention is a drawing program that causes one computer to function or two or more computers to function in cooperation as the above-described drawing means, calculation means, prediction means, and display output means.

また、本発明の他の局面は、上述の描画手段、計算手段、予測手段、および表示出力手段の機能を集積した、描画プロセッサ基盤である。   Another aspect of the present invention is a drawing processor base in which the functions of the above-described drawing means, calculation means, prediction means, and display output means are integrated.

本発明によって、本来リアルタイムで描画する事の出来ないような計算量が膨大な描画手段を用いても、擬似的にリアルタイムで描画する事が出来る。   According to the present invention, even if a drawing means having an enormous amount of calculation that cannot be drawn in real time can be used, it can be drawn in real time in a pseudo manner.

実施形態に関わる描画システムの構成例の説明図Explanatory drawing of the example of a structure of the drawing system in connection with embodiment 図1に示すサーバー装置(100)とクライアント装置(200)の描画間隔が異なる場合の課題についての説明図Explanatory drawing about the subject when the drawing interval of the server apparatus (100) and client apparatus (200) shown in FIG. 1 differs. 図1に示すクライアント装置(200)において表示装置に表示される1フレームが描画されるまでの処理の詳細を説明するフローチャートThe flowchart explaining the detail of a process until one frame displayed on a display apparatus is drawn in the client apparatus (200) shown in FIG. 図1に示すサーバー装置(100)において表示装置に表示される1フレームが描画されるまでの処理の詳細を説明するフローチャートThe flowchart explaining the detail of a process until one frame displayed on a display apparatus is drawn in the server apparatus (100) shown in FIG. 図2に示す課題の解決のため、サーバー装置(100)描画間隔をクライアント装置(200)の描画間隔に一致させる手法についての説明図2 is a diagram illustrating a method for matching the drawing interval of the server device (100) with the drawing interval of the client device (200) in order to solve the problem illustrated in FIG.

本発明の実施形態について、以下に例示的な詳細を、図1を参照し説明する。以下に挙げる実施形態は、本発明の本質的な特徴を特定することを意図しておらず、特許請求の範囲を決定することも意図されていない。   Exemplary embodiments of the present invention are described below with reference to FIG. The embodiments listed below are not intended to identify essential features of the invention, nor are they intended to determine the scope of the claims.

図1は、本発明の実施形態に関わる描画システムを、2台の計算装置で構築するシステム構成図である。本実施形態では、高性能なサーバー装置(100)と表示装置を持ったクライアント装置(200)とが、ネットワーク(300)を介して接続されている。表示装置に表示する画像の描画処理については、サーバー装置(100)とクライアント装置(200)とで処理を分担して行い、その内のサーバ装置(200)は負荷の高い描画処理を行い、クライアント装置(200)では、リアルタイムに描画計算が出来るように負荷の低い処理を行う。   FIG. 1 is a system configuration diagram in which a drawing system according to an embodiment of the present invention is constructed by two computing devices. In this embodiment, a high-performance server device (100) and a client device (200) having a display device are connected via a network (300). The drawing processing of the image displayed on the display device is performed by the server device (100) and the client device (200), and the server device (200) among them performs the drawing processing with a high load, and the client device (200) The apparatus (200) performs processing with a low load so that drawing calculation can be performed in real time.

クライアント装置(200)は、例えば、デスクトップPC、ノートPC、スマートフォン、タブレット端末などの既存の計算装置で有り得る。クライアント装置(200)は、最低限CGのインターフェイス規格であるOpenGL等に代表される規格仕様に則ったCGの描画が行える性能を有するものとする。また、高性能な計算サーバー(100)は、例えば、ワークステーション、サーバー・クラスター、メインフレーム、クラウドサーバーなどの既存の高性能PC及びサーバー装置(100)で有り得る。クライアント装置(200)、サーバー装置(100)はいずれも、2台以上あってもよい。   The client device (200) can be an existing computing device such as a desktop PC, a notebook PC, a smartphone, or a tablet terminal. It is assumed that the client device (200) has a performance capable of drawing CG in accordance with standard specifications represented by OpenGL or the like which is a CG interface standard at a minimum. The high-performance computing server (100) may be an existing high-performance PC and server device (100) such as a workstation, a server cluster, a mainframe, and a cloud server. There may be two or more client devices (200) and server devices (100).

なお、上記ではクライアント・サーバー型のシステム構成での処理形態を挙げたが、サーバー装置を用いず、クライアント装置1台のみで同様の処理を行うことも当然可能である。例えば、クライアント装置内にグラフィックボード等の描画計算用チップを複数搭載させ、描画計算用チップごとに負荷の高い描画処理と負荷の低い描画処理を分担させる方法が挙げられる。   In the above description, the processing form in the client-server type system configuration has been described. However, it is naturally possible to perform the same processing with only one client device without using the server device. For example, there is a method in which a plurality of drawing calculation chips such as a graphic board are mounted in the client device, and each drawing calculation chip shares a drawing process with a high load and a drawing process with a low load.

以下、本発明の実施例について、例示的な詳細を図3および図4を参照し説明する。図3および図4はそれぞれ、クライアント装置(200)とサーバー装置(100)において、表示装置に表示される1フレームが描画されるまでの処理を説明したものである。図3および図4の処理は、表示装置に表示されたシーン(シーン:ここでは、画面に表示されている仮想3次元空間全体のことを意味する。以降に記述される部分についても同様とする。)の配置や状態の変化が終了するまで繰り返される。
なお、以下に挙げる実施例は、描画を行うための手法の例であり、これに限定されるものではない。
Hereinafter, exemplary details of the present invention will be described with reference to FIGS. 3 and 4. FIG. FIG. 3 and FIG. 4 respectively explain processing until one frame displayed on the display device is drawn in the client device (200) and the server device (100). The processing in FIGS. 3 and 4 is the scene displayed on the display device (scene: here means the entire virtual three-dimensional space displayed on the screen. The same applies to the parts described hereinafter. .) Is repeated until the change of arrangement and state is completed.
In addition, the Example given below is an example of the technique for performing drawing, and is not limited to this.

まず、クライアント装置(200)の処理を説明する。F101では、クライアント装置(200)が鑑賞者によって操作され、クライアント装置(200)の表示装置に表示されたシーンの変化を与える操作が発生した時、処理を開始する。この時、シーンの変化を与える操作とは光源の明るさ・位置の変更、物体の位置の変更、カメラ位置の変更といった操作である。この時、この内のいずれか、または複数の操作がなされ、表示されているシーンを変化させる必要が出た場合に、F102のステップに移動する。
なお、クライアント装置(200)では、鑑賞者からの操作を受けるまでの間、待機しながら表示画面の更新を繰り返す。
First, the processing of the client device (200) will be described. In F101, when the client device (200) is operated by the viewer and an operation for changing the scene displayed on the display device of the client device (200) occurs, the processing is started. At this time, the operation for changing the scene includes operations such as changing the brightness and position of the light source, changing the position of the object, and changing the camera position. At this time, when one or a plurality of operations are performed and it is necessary to change the displayed scene, the process moves to step F102.
In the client device (200), the display screen is repeatedly updated while waiting until an operation from the viewer is received.

F102では、表示装置に表示されたシーンを更新する情報としてF101で受けた操作情報を元に、シーンの情報に変化(光源の座標を移動させる・物体の座標を移動させる等)をかけるためのジオメトリ情報(光の位置・物体の位置等)の更新を行う。   In F102, based on the operation information received in F101 as information for updating the scene displayed on the display device, the scene information is changed (such as moving the coordinates of the light source or moving the coordinates of the object). Update geometry information (light position, object position, etc.).

F103では、変化したシーンの描画を行うため、クライアント装置(200)からサーバー装置(100)に対して、画像生成の命令を送信する。この際、光源・物体・カメラのシーン更新情報を一緒に送信する。(送信された情報は、サーバー装置(100)のF201のステップで受け取られる。)   In F103, in order to draw the changed scene, an image generation command is transmitted from the client device (200) to the server device (100). At this time, the scene update information of the light source / object / camera is transmitted together. (The transmitted information is received in step F201 of the server apparatus (100).)

F104では、サーバー装置(100)からネットワーク(300)を通じて送信された、シーン内の光の多重反射の振る舞いを計算で表現し、物体に当たる光の明るさを描き出したライトマップテクスチャのデータを受信する。   In F104, the behavior of multiple reflections of light in the scene transmitted from the server apparatus (100) through the network (300) is expressed by calculation, and light map texture data depicting the brightness of light hitting an object is received. .

F105では、F104で受け取ったライトマップテクスチャを利用して、表示装置に表示されていた画面の次のフレームとなる画像の描画(物体の描画や陰影の計算など)を行い、表示装置の画面を更新する。   In F105, using the light map texture received in F104, the image that becomes the next frame of the screen displayed on the display device is drawn (object drawing, shadow calculation, etc.), and the display device screen is displayed. Update.

F106では、表示装置に表示される1フレーム分の描画処理を終了する。(表示装置に表示されたシーンの変化が終了していない場合、F101のステップに戻り次フレームの描画処理を開始し、シーンの変化が終了するまでこの処理を繰り返す。)   In F106, the drawing process for one frame displayed on the display device is terminated. (If the change of the scene displayed on the display device has not been completed, the process returns to step F101 to start the drawing process for the next frame, and this process is repeated until the change of the scene is completed.)

次に、サーバー装置(100)の処理について説明する。サーバー装置(100)では、現在のフレームで利用するライトマップテクスチャを予測して生成する計算負荷の低い予測生成処理(F200)と、高負荷な多重反射の計算処理でライトマップテクスチャを生成する計算負荷の高い描画処理(F220)の二つの処理が同時に処理される。
なお、F222でライトマップテクスチャを生成する際、シーン全体の反射計算を行うと、計算が非常に膨大になってしまうため、表示装置に表示される範囲(スクリーンスペース)での計算のみ行うこととする。
Next, processing of the server device (100) will be described. In the server apparatus (100), a calculation process for generating a light map texture by a low calculation load prediction generation process (F200) for predicting and generating a light map texture used in the current frame and a high load multiple reflection calculation process. Two processes of a high-load drawing process (F220) are processed simultaneously.
Note that when the light map texture is generated in F222, if the reflection calculation of the entire scene is performed, the calculation becomes very large. Therefore, only the calculation in the range (screen space) displayed on the display device is performed. To do.

まず、F201では、クライアント装置(200)で、表示装置に表示されているシーンに変化を与える処理が発生しF103のステップで送られた画像生成命令とシーン更新情報を受信した時、処理を開始する。
なお、サーバー装置(100)ではF200の処理もF220の処理も、クライアント装置(200)から画像生成命令を受け取るまで、待機し続ける。
First, in F201, processing is started when the client device (200) generates a change in the scene displayed on the display device and receives the image generation command and the scene update information sent in step F103. To do.
In the server apparatus (100), the processes of F200 and F220 continue to wait until an image generation command is received from the client apparatus (200).

F202では、クライアント装置(200)から受け取ったシーン更新情報から、低コストなシーンを生成(陰影の計算等をしない最低限の処理で、クライアント装置(200)と同等の描画間隔で描画を行う。)する(高速な描画処理)。ここで生成された画像は、F203で利用される。   In F202, a low-cost scene is generated from the scene update information received from the client device (200) (drawing is performed at a drawing interval equivalent to that of the client device (200) with minimum processing that does not calculate shadows or the like). (High-speed drawing processing). The image generated here is used in F203.

F203では、F202で生成された低コストシーンの画像と、一つ前のフレームで描画された低コストシーンの画像から、一つ前のフレームと比較してシーンの描画範囲にどれだけの移動量があったかの計算を行う。
なお、ここで計算されたフレームの移動量は、F203で現在のフレームのライトマップテクスチャを予測するのに利用される。
In F203, from the low-cost scene image generated in F202 and the low-cost scene image drawn in the previous frame, how much the moving amount is within the drawing range of the scene compared to the previous frame Calculate if there was.
Note that the amount of movement of the frame calculated here is used to predict the light map texture of the current frame in F203.

F204では、F203で計算されたフレームの移動量と、一つ前のフレームにおいてF222で生成された、またはF204で生成されたライトマップテクスチャから、現在のフレームで描画するライトマップテクスチャを予測して生成する。
描画フレームレートについて、クライアント装置(200)で行われる描画処理はリアルタイムで描画計算出来る処理としているため、サーバー装置(100)での描画フレームレートはクライアント装置(200)でのフレームレートと比較して、遅れが発生する。サーバー装置(100)の描画フレームレートを、クライアント装置(200)の描画フレームレートにあわせるには、図5に示すように、サーバー装置(100)で次のフレームを描画するまでの間、クライアント装置(200)で描画されるフレームと同じタイミングのフレームでライトマップテクスチャを生成する必要がある。
In F204, the light map texture to be drawn in the current frame is predicted from the movement amount of the frame calculated in F203 and the light map texture generated in F222 in the previous frame or generated in F204. Generate.
Regarding the drawing frame rate, the drawing process performed in the client apparatus (200) is a process that can perform drawing calculation in real time. Therefore, the drawing frame rate in the server apparatus (100) is compared with the frame rate in the client apparatus (200). A delay occurs. In order to match the drawing frame rate of the server apparatus (100) with the drawing frame rate of the client apparatus (200), as shown in FIG. 5, the client apparatus until the next frame is drawn by the server apparatus (100). It is necessary to generate a light map texture with a frame at the same timing as the frame drawn in (200).

非特許文献1では、現在のフレームで描画された画像と、前フレームで描画された画像とを比較し、描画されたシーン全体の移動量を計算し、前フレームで描画された陰影情報等の画像から、現在のフレームに必要な陰影情報等の画像を予測して生成する方法が挙げられている。図5に示すように非特許文献1と同様、サーバー装置(100)でクライアント装置(200)の描画タイミングと同じ、L010〜L090の描画タイミングで、低コストシーン画像を描画し、現在のフレームの低コストシーン画像と前フレームの低コストシーン画像との比較から移動量を計算し、S100〜S300の間でクライアント装置(200)の描画タイミングと同様のタイミングで描画をする事の出来ない間のライトマップテクスチャを予測して生成すればよい。
例えば、図5のC600の描画タイミングに合わせるためにS201のフレームで描画するライトマップテクスチャを生成する場合、L050で描画された低コストシーン画像とL060で描画された低コストシーン画像を比較し、描画された低コストシーン内の移動量を計算し、S200で描画されたライトマップテクスチャから、非特許文献1の手法に則ってS201のタイミングで移動していると考えられる光や影を予測し、ライトマップテクスチャを生成する。その先も同様に、L060で描画された低コストシーン画像とL070で描画された低コストシーン画像のシーン内の移動量から、S201で生成されたライトマップテクスチャを元にS202のフレームでのライトマップテクスチャを生成する。S200で描画されてから、S300で描画されるまでの間を上記のように予測して生成していくことで、サーバー装置(100)の描画タイミングを、クライアント装置(200)の描画タイミングと擬似的に合わせる事が出来る。
In Non-Patent Document 1, the image drawn in the current frame is compared with the image drawn in the previous frame, the movement amount of the entire drawn scene is calculated, and the shadow information drawn in the previous frame, etc. There is a method of predicting and generating an image such as shadow information necessary for the current frame from an image. As shown in FIG. 5, as in Non-Patent Document 1, the server apparatus (100) renders a low-cost scene image at the rendering timing of L010 to L090, which is the same as the rendering timing of the client apparatus (200), and The amount of movement is calculated from the comparison between the low-cost scene image and the low-cost scene image of the previous frame, and during the period from S100 to S300 that cannot be drawn at the same timing as the drawing timing of the client device (200) A light map texture may be predicted and generated.
For example, when generating a light map texture to be drawn in the frame of S201 to match the drawing timing of C600 in FIG. 5, the low-cost scene image drawn in L050 is compared with the low-cost scene image drawn in L060, The amount of movement in the rendered low-cost scene is calculated, and the light and shadow that are considered to have moved at the timing of S201 according to the method of Non-Patent Document 1 are predicted from the light map texture drawn in S200. Generate a lightmap texture. Similarly, from the amount of movement in the scene of the low-cost scene image drawn in L060 and the low-cost scene image drawn in L070, the light in the frame of S202 is based on the light map texture generated in S201. Generate a map texture. By generating and predicting as described above from the rendering in S200 to the rendering in S300, the rendering timing of the server device (100) is simulated with the rendering timing of the client device (200). Can be matched.

なお、F101でカメラ位置が移動していた場合、表示装置に表示される範囲より外の情報が必要になる可能性がある。その場合、F302で予測されるライトマップテクスチャを生成する際に、前フレームで描画されたライトマップテクスチャの範囲外の情報が必要となり、ライトマップテクスチャが生成出来なくなる可能性がある。そのため、F101でカメラ位置が移動した場合においては、F204で生成するライトマップテクスチャとF302で生成するライトマップテクスチャの範囲をスクリーンスペースよりも大きい範囲で描画・生成することで、対応可能となる。   If the camera position has been moved in F101, information outside the range displayed on the display device may be required. In that case, when generating the light map texture predicted in F302, information outside the range of the light map texture drawn in the previous frame is necessary, and there is a possibility that the light map texture cannot be generated. For this reason, when the camera position is moved in F101, it is possible to cope by drawing and generating the range of the light map texture generated in F204 and the range of the light map texture generated in F302 in a range larger than the screen space.

F205では、F204かF222で生成されたライトマップテクスチャをクライアント装置(200)に送信する。(送信されたライトマップテクスチャは、サーバー装置(100)のF104のステップで受け取られる。)   In F205, the light map texture generated in F204 or F222 is transmitted to the client apparatus (200). (The transmitted light map texture is received in step F104 of the server apparatus (100).)

F206では、クライアント装置(200)の表示装置に表示される1フレーム分の描画でライティングに利用されるライトマップテクスチャの描画処理を終了する。(表示装置に表示されたシーンの変化が終了しておらず、画像生成命令が送信された場合、F201のステップからライトマップテクスチャの描画処理を再び行い、シーンの変化が終了するまでこの処理を繰り返す。)   In F206, the drawing process of the light map texture used for lighting is finished by drawing for one frame displayed on the display device of the client device (200). (If the change in the scene displayed on the display device has not been completed and an image generation command has been sent, the light map texture drawing process is performed again from step F201, and this process is continued until the change in the scene is completed. repeat.)

F211では、F220の処理でライティング計算が続いているか、完了しているかを判断し、ライティング計算の最中であればF203のステップに、ライティングの計算が完了していれば、F223のステップに移動する。   In F211, it is determined whether the lighting calculation is continued or completed in the process of F220. If the lighting calculation is in progress, the process moves to step F203. If the lighting calculation is completed, the process moves to step F223. To do.

F221では、F223の処理で計算結果の送信後、次フレームのライティング計算を開始する。   In F221, after the calculation result is transmitted in the process of F223, the lighting calculation of the next frame is started.

F222では、クライアント装置(200)から受け取った、光源・物体・カメラのシーン更新情報から、シーンに影響を与える多重反射する光の拡散反射や鏡面反射の振る舞いを計算し、テクスチャ画像に格納することで、ライトマップテクスチャを生成する(低速な描画処理)。ここでの処理はクライアント装置(200)の1フレームで実行される処理が終了するまでの間に終了しない高負荷な描画処理が行われるため、クライアント装置(200)の1フレームの処理時間に合わせる目的で、F200の処理とは同時並行で実行される。(F220の処理で生成が出来ない分のフレームの画像を、F200の処理で生成をすることで、クライアント装置(200)の描画タイミングと合わせる。)
なお、ここで生成されたライトマップテクスチャは、クライアント装置(200)に送信されるだけでなく、F204で現在のフレームのライトマップテクスチャを生成するのにも利用される。
In F222, from the scene update information of the light source / object / camera received from the client device (200), the behavior of diffuse reflection and specular reflection of the multi-reflecting light affecting the scene is calculated and stored in the texture image. Then, a light map texture is generated (slow drawing process). Since the processing here is a high-load drawing process that does not end before the processing executed in one frame of the client device (200) ends, it matches the processing time of one frame in the client device (200) For the purpose, it is executed concurrently with the processing of F200. (Images of frames that cannot be generated by the process of F220 are generated by the process of F200, so that the drawing timing of the client apparatus (200) is matched.)
The light map texture generated here is not only transmitted to the client apparatus (200) but also used to generate a light map texture of the current frame in F204.

F223では、F221から画像生成命令を受け取ってから、F222で生成された計算結果をF205のステップに移動し、クライアント装置(200)に送信する。その後、F221のステップでライティング計算を再度開始させる。(表示装置に表示されたシーンの変化が終了するまで、F221のステップからライトマップテクスチャの描画処理を繰り返す。シーンの変化が無く、画像生成命令が来ない場合、F220の処理は画像生成命令が出るまで待機する。)   In F223, after receiving the image generation command from F221, the calculation result generated in F222 is moved to the step of F205 and transmitted to the client apparatus (200). Thereafter, the lighting calculation is started again in step F221. (The light map texture drawing process is repeated from the step of F221 until the change of the scene displayed on the display device is completed. If there is no change of the scene and no image generation command is received, the processing of F220 Wait until you get out.)

以上のように、描画処理を分担出来る複数のステップに分かれた描画手段と、次に描画される画像を予測して生成する手法を組み合わせることで、本来リアルタイムで描画する事の出来ない描画手段を利用して、高負荷な演算処理を行えないような計算装置でも擬似的にリアルタイムで描画する事が可能となる。なお、上述した各機能、処理内容の一部または全部は、1つ以上のプロセッサをそれぞれ備えた1つ以上のコンピュータにプログラムによって実行させることが可能であり、あるいは、描画プロセッサを含む回路基盤に集積することも可能である。また、本発明は、CG画像の描画におけるライトマップテクスチャの生成だけでなく、多様な演算処理にも適宜適用できる。   As described above, by combining the drawing means divided into a plurality of steps that can share the drawing process and the technique for predicting and generating the next drawn image, the drawing means that cannot be drawn in real time can be obtained. By using this, even a computing device that cannot perform high-load calculation processing can perform pseudo-real-time drawing. Note that some or all of the functions and processing contents described above can be executed by a program on one or more computers each having one or more processors, or on a circuit board including a drawing processor. It is also possible to accumulate. Further, the present invention can be appropriately applied not only to the generation of a light map texture in drawing a CG image but also to various arithmetic processes.

本発明は、CG画像を表示するパーソナルコンピューター(PC)やタブレット端末などの計算装置に有用である。   The present invention is useful for a calculation device such as a personal computer (PC) or a tablet terminal that displays a CG image.

100 サーバー装置
200 クライアント装置
300 ネットワーク
S100〜S300 サーバー装置の描画タイミング
C100〜C900 クライアント装置の描画タイミング
F101 クライアント装置の処理
F102 状態の更新
F103 描画命令と更新情報の送信
F104 ライトマップテクスチャの受信
F105 フレームの描画と表示画面の更新
F106 クライアント装置の処理の終了
F200 サーバー装置での現在のフレームのライトマップテクスチャ予測生成処理
F201 描画命令と更新情報の受信
F202 低コストシーンの生成
F203 フレームの移動量計算
F204 現在のフレーム用ライトマップテクスチャの予測・生成
F205 ライトマップテクスチャの送信
F206 現在のフレームのライトマップテクスチャ予測生成処理の終了
F211 ライティング計算完了の是非
F220 サーバー装置での高負荷な多重反射の計算処理
F221 次フレームのライティング計算の開始
F222 ライティング計算
F223 計算結果の送信
L010〜L090 低コストシーン画像の描画タイミング
S101〜103、S201〜S203 予測して生成されるライトマップテクスチャの生成タイミング
DESCRIPTION OF SYMBOLS 100 Server apparatus 200 Client apparatus 300 Network S100-S300 Server apparatus drawing timing C100-C900 Client apparatus drawing timing F101 Client apparatus processing F102 State update F103 Drawing command and update information transmission F104 Light map texture reception F105 Frame Drawing and update of display screen F106 End of processing of client device F200 Light map texture prediction generation processing of current frame in server device F201 Reception of drawing command and update information F202 Generation of low-cost scene F203 Calculation of moving amount of frame F204 Current Prediction / generation of lightmap texture for frame F205 Transmission of lightmap texture F206 Lightmap texture of current frame Completion of prediction generation processing F211 Completion of lighting calculation F220 Calculation processing of high-load multiple reflection in the server device F221 Start of lighting calculation of the next frame F222 Lighting calculation F223 Transmission of calculation results L010 to L090 Drawing of low-cost scene image Timing S101-103, S201-S203 Light map texture generation timing generated by prediction

Claims (5)

仮想空間の画面を描画する描画システムであって、高速な描画処理と低速な描画処理とを実行する描画手段と、
前記低速な描画処理で求めた第1の低速描画結果の描画完了時刻の直近の時刻で描画された前記高速な描画処理で求めた第1の高速描画結果と、前記第1の高速描画結果の直後の描画のために前記高速な描画処理で求めた第2の高速描画結果との間の前記仮想空間における移動量を求める計算手段と、
前記第1の低速描画結果と前記移動量とから、前記第2の高速描画結果の描画完了時刻の直近の時刻に対応する、前記低速な描画処理によって求められるであろう第2の低速描画結果を、予測低速描画結果として当該時刻までに予測して求める予測手段と、
前記第1の低速描画結果と前記第1の高速描画結果とに基づいて第1の表示画像を出力した後に、前記予測低速描画結果と前記第2の高速描画結果とに基づいて第2の表示画像を出力する表示出力手段とを備える、描画システム。
A drawing system for drawing a screen in a virtual space, wherein drawing means for executing high-speed drawing processing and low-speed drawing processing;
A first high-speed drawing result obtained by the high-speed drawing process drawn at a time closest to a drawing completion time of the first low-speed drawing result obtained by the low-speed drawing process, and the first high-speed drawing result Calculation means for obtaining a movement amount in the virtual space between the second high-speed drawing result obtained by the high-speed drawing processing for the next drawing;
From the first low-speed drawing result and the movement amount, the second low-speed drawing result that will be obtained by the low-speed drawing processing corresponding to the time closest to the drawing completion time of the second high-speed drawing result. Predicting means for predicting by the time as a predicted low-speed drawing result,
After outputting a first display image based on the first low-speed drawing result and the first high-speed drawing result, a second display is performed based on the predicted low-speed drawing result and the second high-speed drawing result. A drawing system comprising display output means for outputting an image.
請求項1に記載の描画システムを構成する描画装置であって、
前記低速な描画処理を実行する1つ以上の第1の計算装置と、
前記第1の装置とネットワークを介して接続され、前記高速な描画処理を実行する1つ以上の第2の計算装置とを、少なくとも含む、描画装置。
A drawing apparatus constituting the drawing system according to claim 1,
One or more first computing devices for executing the low-speed drawing process;
A drawing apparatus comprising at least one or more second computing devices connected to the first device via a network and executing the high-speed drawing processing.
請求項1に記載の描画システムを構成する計算装置であって、
前記低速な描画処理を実行する1つ以上の第1の描画プロセッサと、
前記高速な描画処理を実行する1つ以上の第2の描画プロセッサとを少なくとも搭載する、計算装置。
A computing device constituting the drawing system according to claim 1,
One or more first rendering processors that perform the slow rendering process;
A computing device including at least one or more second drawing processors that execute the high-speed drawing processing.
請求項1に記載の描画手段、計算手段、予測手段、および表示出力手段として、1つのコンピュータを機能させ、あるいは2つ以上のコンピュータを連携機能させる、描画プログラム。   A drawing program that causes one computer to function or two or more computers to function in cooperation as the drawing means, calculation means, prediction means, and display output means according to claim 1. 請求項1に記載の描画手段、計算手段、予測手段、および表示出力手段の機能を集積した、描画プロセッサ基盤。   A drawing processor base in which the functions of the drawing means, calculation means, prediction means, and display output means according to claim 1 are integrated.
JP2014108153A 2014-05-26 2014-05-26 Drawing system, drawing device, computing device, drawing program, and drawing processor base Active JP6379673B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014108153A JP6379673B2 (en) 2014-05-26 2014-05-26 Drawing system, drawing device, computing device, drawing program, and drawing processor base

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014108153A JP6379673B2 (en) 2014-05-26 2014-05-26 Drawing system, drawing device, computing device, drawing program, and drawing processor base

Publications (2)

Publication Number Publication Date
JP2015225382A true JP2015225382A (en) 2015-12-14
JP6379673B2 JP6379673B2 (en) 2018-08-29

Family

ID=54842104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014108153A Active JP6379673B2 (en) 2014-05-26 2014-05-26 Drawing system, drawing device, computing device, drawing program, and drawing processor base

Country Status (1)

Country Link
JP (1) JP6379673B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011209865A (en) * 2010-03-29 2011-10-20 Namco Bandai Games Inc Program, information storage medium, and image creation system
JP2013041568A (en) * 2011-08-17 2013-02-28 Square Enix Holdings Co Ltd Animation distribution server, animation reproduction device, control method, program, and recording medium
JP2013099494A (en) * 2011-11-07 2013-05-23 Square Enix Holdings Co Ltd Rendering system, rendering server, control method thereof, program, and recording medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011209865A (en) * 2010-03-29 2011-10-20 Namco Bandai Games Inc Program, information storage medium, and image creation system
JP2013041568A (en) * 2011-08-17 2013-02-28 Square Enix Holdings Co Ltd Animation distribution server, animation reproduction device, control method, program, and recording medium
JP2013099494A (en) * 2011-11-07 2013-05-23 Square Enix Holdings Co Ltd Rendering system, rendering server, control method thereof, program, and recording medium

Also Published As

Publication number Publication date
JP6379673B2 (en) 2018-08-29

Similar Documents

Publication Publication Date Title
US10614549B2 (en) Varying effective resolution by screen location by changing active color sample count within multiple render targets
US9652880B2 (en) 2D animation from a 3D mesh
CN110717963B (en) Mixed rendering display method, system and storage medium of replaceable model based on WebGL
JP4938850B2 (en) Graphic processing unit with extended vertex cache
JP6467062B2 (en) Backward compatibility using spoof clock and fine grain frequency control
JP2022528432A (en) Hybrid rendering
TW201530489A (en) CROWD-SOURCED video rendering system
WO2021204296A1 (en) Remote display method for three-dimensional model, first terminal, electronic device and storage medium
TWI596569B (en) Facilitating dynamic and efficient pre-launch clipping for partially-obscured graphics images on computing devices
WO2017082973A2 (en) Facilitating efficeint centralized rendering of viewpoint-agnostic graphics workloads at computing devices
CN114494328B (en) Image display method, device, electronic equipment and storage medium
WO2020192608A1 (en) Graphics rendering method and apparatus, and computer readable storage medium
US20230298265A1 (en) Dynamic fluid effect processing method and apparatus, and electronic device and readable medium
WO2021249358A1 (en) Rendering method, device and system
WO2024109646A1 (en) Image rendering method and apparatus, device, and storage medium
US11302054B2 (en) Varying effective resolution by screen location by changing active color sample count within multiple render targets
TWI474280B (en) System and method for improving throughput of a graphics processing unit
US10754498B2 (en) Hybrid image rendering system
CN109672931B (en) Method and apparatus for processing video frames
JP6379673B2 (en) Drawing system, drawing device, computing device, drawing program, and drawing processor base
CN115861510A (en) Object rendering method, device, electronic equipment, storage medium and program product
CN115601524A (en) Crushing model generation method and device, electronic equipment and storage medium
CN112930556A (en) System and method for integrating third party geometry for visualization of large data sets
CN117523062B (en) Method, device, equipment and storage medium for previewing illumination effect
WO2022135050A1 (en) Rendering method, device, and system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170420

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180614

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180716

R150 Certificate of patent or registration of utility model

Ref document number: 6379673

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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