JP5652037B2 - Simulated video generation device, method, and program - Google Patents
Simulated video generation device, method, and program Download PDFInfo
- Publication number
- JP5652037B2 JP5652037B2 JP2010172630A JP2010172630A JP5652037B2 JP 5652037 B2 JP5652037 B2 JP 5652037B2 JP 2010172630 A JP2010172630 A JP 2010172630A JP 2010172630 A JP2010172630 A JP 2010172630A JP 5652037 B2 JP5652037 B2 JP 5652037B2
- Authority
- JP
- Japan
- Prior art keywords
- video
- visual field
- field
- displayed
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Description
本発明は、ユーザ操作入力に応じて仮想空間の映像を表示するシミュレーション技術に関する。 The present invention relates to a simulation technique for displaying a video in a virtual space in response to a user operation input.
近年、コンピュータグラフィクスにより作り出された仮想世界を、ユーザがリアルタイムでウォークスルー、ドライブスルー、あるいはフライスルーすることのできる、リアルタイム映像シミュレーションの技術が開発されている。 In recent years, real-time video simulation technology has been developed that allows a user to walk through, drive through, or fly through a virtual world created by computer graphics in real time.
このようなリアルタイム映像シミュレーションにおいては、より映像のリアリティや臨場感を高めるために、より詳細に作り込まれた複雑なシーンを表現したいというニーズがある。例えば、3Dゲームにおいては、より緻密にモデリングされた世界を表現することが望まれる。しかし、仮想世界をコンピュータグラフィクスにより描画するための描画用計算機には性能の限界がある。その限界を超えた複雑さを持つシーンを描画しようとすると、映像の一つのフレームを描画するのにかかる時間が増大し、フレームレート(単位時間あたりの描画フレーム数)が低下して映像の動きの滑らかさが失われる。それと同時に、操作入力に対して映像が遅延することにより、仮想世界内を移動するユーザの感覚に大きな違和感が生じる。 In such real-time video simulation, there is a need to express complex scenes created in more detail in order to enhance the reality and realism of video. For example, in a 3D game, it is desired to express a more precisely modeled world. However, a drawing computer for drawing a virtual world by computer graphics has a limit in performance. If you try to draw a scene with a complexity that exceeds that limit, the time taken to draw one frame of the video will increase, and the frame rate (number of frames drawn per unit time) will decrease and the video will move. The smoothness is lost. At the same time, the video is delayed with respect to the operation input, which causes a great sense of discomfort for the user moving in the virtual world.
従来は、この違和感を防ぐために、描画用計算機が十分なフレームレートを維持できる限界を超えないように、データ削減作業を行ってシーンを単純化していた。つまり、単体の描画用計算機の性能の限界を超える複雑なシーンをそのまま描画することはできなかった。3Dゲームであれば、単体のゲーム機の描画性能の限界が仮想世界の表現の限界を決めていた。そのため、描画における時間遅れを改善するために、時間遅れによって生じる位置的な誤差を、画像を平行移動させて補正する方法が提案されている(例えば、特許文献1参照)。 Conventionally, in order to prevent this uncomfortable feeling, the scene has been simplified by performing data reduction work so as not to exceed the limit at which the drawing computer can maintain a sufficient frame rate. In other words, it was not possible to draw a complex scene that exceeded the performance limit of a single drawing computer. In the case of a 3D game, the limit of the drawing performance of a single game machine has determined the limit of expression in the virtual world. Therefore, in order to improve the time delay in drawing, a method of correcting a positional error caused by the time delay by translating the image has been proposed (see, for example, Patent Document 1).
しかしながら、上記従来の方法で画像を平行移動させると、移動後に未描画領域が発生する場合がある。時間遅れによる描画領域の誤差が大きい程、この未描画領域も大きくなる。これにより、新たに違和感が生じかねない。 However, when the image is translated by the conventional method, an undrawn area may occur after the movement. The larger the drawing area error due to time delay, the larger the undrawn area. This may cause a new feeling of strangeness.
本発明は、上記課題を鑑みてなされたものであり、シミュレーション映像の遅延による違和感を低減させることが目的とする。 The present invention has been made in view of the above problems, and an object thereof is to reduce a sense of incongruity due to a delay of a simulation video.
本願開示の模擬映像生成装置は、ユーザからの操作入力または時間経過に応じて、仮想世界を表すデータを更新し、仮想世界における表示すべき視野を計算するシミュレーション部と、第1の時刻に、前記シミュレーション部により計算された第1の表示すべき視野より広い視野である描画すべき視野を計算する描画視野算出部と、前記描画すべき視野に対応する第1の映像の生成を、前記仮想世界を表すデータを基に前記第1の時刻の直後に開始する映像生成部と、前記第1の映像の生成開始後の第2の時刻に前記シミュレーション部により計算された第2の表示すべき視野を用いて、前記第2の時刻の直後に、前記第1の映像を前記第2の表示すべき視野に対応する第2の映像に補正する映像補正部とを備え、前記描画視野算出部は、前記第1の時刻に、前記第2の時刻における前記第2の表示すべき視野を所定の方法で予測して計算し、前記描画すべき視野が前記第1の表示すべき視野および予測した前記第2の表示すべき視野を含んだ視野となるように、前記描画すべき視野の計算を行う。
The simulated video generation device disclosed in the present application updates data representing a virtual world according to an operation input from a user or the passage of time, and calculates a visual field to be displayed in the virtual world, and a first time, A drawing field calculation unit that calculates a field of view to be drawn which is a field of view wider than the first field of view calculated by the simulation unit; and generation of a first video corresponding to the field of view to be drawn A video generation unit that starts immediately after the first time based on data representing the world, and a second display calculated by the simulation unit at a second time after the start of generation of the first video An image correction unit that corrects the first image to a second image corresponding to the second field of view to be displayed immediately after the second time using a field of view; Before At the first time, the second visual field to be displayed at the second time is predicted and calculated by a predetermined method, and the visual field to be drawn is the first visual field to be displayed and the predicted first visual field. as the inclusive vision field of vision to be displayed of 2, the calculation of the visual field to be the drawing.
本願明細書の開示によれば、シミュレーション映像の遅延による違和感を低減させることができる。 According to the disclosure of the present specification, it is possible to reduce a sense of incongruity due to a delay of a simulation video.
以下、本発明の実施形態について図面を参照して具体的に説明する。 Embodiments of the present invention will be specifically described below with reference to the drawings.
(第1の実施形態)
[シミュレーション装置の構成例]
図1は、第1の実施形態にかかるシミュレーション装置(模擬映像生成装置)の構成の一例を示す機能ブロック図である。図1に示すシミュレーション装置10は、ユーザからの操作入力または時間経過に応じて、仮想世界(仮想空間)を表すデータを更新し、仮想世界の映像をコンピュータグラフィックスにより生成して表示する装置である。シミュレーション装置10は、仮想世界における物体の位置、形状等の仮想世界を表すデータと、ユーザの視点(カメラ)の位置、向き、画角等の視野を表すデータを用いて、コンピュータにより表示すべき仮想世界の映像を自動的に生成する機能を有する。なお、シミュレーションの対象や用途は特定のものに限定されない。
(First embodiment)
[Example configuration of simulation device]
FIG. 1 is a functional block diagram illustrating an example of a configuration of a simulation apparatus (simulated video generation apparatus) according to the first embodiment. A simulation apparatus 10 shown in FIG. 1 is an apparatus that updates data representing a virtual world (virtual space) in response to an operation input from a user or the passage of time, and generates and displays a video of the virtual world by computer graphics. is there. The simulation apparatus 10 should be displayed by a computer using data representing a virtual world such as the position and shape of an object in the virtual world and data representing a field of view such as the position, orientation, and angle of view of the user's viewpoint (camera). It has a function to automatically generate a video of the virtual world. Note that the simulation target and application are not limited to specific ones.
シミュレーション装置10は、描画視野算出部1、映像生成部2、映像補正部3、表示部4、シミュレーション部5および入力部6を備える。シミュレーション部5は、入力部6を介して受け付けたユーザからの操作入力または時間経過に応じて、仮想世界を表すデータを更新し、仮想世界における表示すべき視野を計算する。
The simulation apparatus 10 includes a drawing visual
ここで、表示すべき視野は、仮想世界におけるユーザまたはカメラの視野を特定するデータであり、表示すべき視野に含まれる仮想世界の映像がシミュレーション装置10により出力されることになる。表示すべき視野は、例えば、視点の位置、向き、画角および投影パラメータ等を含む。投影パラメータには、例えば、仮想空間の物体や背景等を投影する面を規定するパラメータが含まれる。 Here, the visual field to be displayed is data for specifying the visual field of the user or the camera in the virtual world, and a video of the virtual world included in the visual field to be displayed is output by the simulation apparatus 10. The visual field to be displayed includes, for example, the position, orientation, angle of view, projection parameter, and the like of the viewpoint. The projection parameter includes, for example, a parameter that defines a surface on which an object or background in the virtual space is projected.
仮想世界を表すデータは、例えば、仮想世界における物体や平面等のオブジェクトの形状データ(例えば、ポリゴンデータ)と位置、姿勢、色、テクスチャなどの属性データの集合とすることができる。 The data representing the virtual world can be, for example, a set of shape data (for example, polygon data) of an object such as an object or a plane in the virtual world and attribute data such as position, orientation, color, and texture.
例えば、ユーザが操作可能なハンドルやペダルを含む入力装置から入力部6を介して操作入力を受け付け、ユーザが仮想世界の車を運転するシミュレーションを実現する場合は、シミュレーション部5は、車の制御系や駆動系のデータを操作に応じて更新するシミュレーションを行って、仮想のドライバの視野を表示すべき視野として計算する。
For example, when an operation input is received via an input unit 6 from an input device including a handle and a pedal that can be operated by the user, and the user realizes a simulation of driving a vehicle in the virtual world, the
あるいは、ユーザ頭部の位置姿勢を測定するセンサの測定結果を、入力部6を介して受け付けて、仮想世界内での首振りを実現する場合であれば、シミュレーション部5は、実世界におけるユーザ頭部の位置姿勢の測定結果を、仮想世界の人物の頭部の動きに対応付ける計算を行い、仮想の人物の視野を表示すべき視野として求めることができる。
Alternatively, if the measurement result of the sensor that measures the position and orientation of the user's head is received via the input unit 6 and the swing in the virtual world is realized, the
なお、シミュ−ション部5は、ユーザからの操作入力を受け付けることなく、所定の周期で仮想世界のデータを自動的に更新してシミュレーションを実行することもできる。あるいは、他のシミュレーション装置の計算結果を、入力部6を介して受け付けてもよい。
In addition, the
描画視野算出部1は、前記表示すべき視野より広い視野である、描画すべき視野を計算する。描画すべき視野は、映像生成部2が生成する映像の視野を表すデータである。すなわち、描画視野算出部1は、シミュレーション部5が更新した表示すべき視野を基に、映像生成部2が生成する映像の視野を計算する。描画すべき視野も、表示すべき視野と同様に、例えば、視点の位置、向き、画角および投影パラメータ等を含むことができる。
The drawing visual
ここで計算される描画すべき視野は、映像生成部2において、この描画すべき視野の映像生成が開始された後の時点で更新される表示すべき視野が含まれうる範囲の視野であることが好ましい。そのため、描画視野算出部1は、例えば、映像生成時点の表示すべき視野よりも広い範囲の視野を描画すべき視野として計算することができる。この場合、描画視野算出部1は、例えば、描画すべき視野を、表示すべき視野に対して、どの方向にどの程度拡張するかを、過去に計算された表示すべき視野の履歴データや、映像生成にかかる時間等を基に、計算することができる。このように、描画視野算出部1が、前記表示すべき視野より広い視野である描画すべき視野を計算し、この描画すべき視野の映像を生成することにより、後述する生成後の映像補正において、映像の遅延による違和感を低減することが可能になる。
The visual field to be drawn calculated here is a visual field in a range in which the visual field to be displayed that is updated at the time after the video generation of the visual field to be drawn is started in the
描画視野算出部1は、一例として、シミュレーション部5によって計算された表示すべき視野の履歴に基づいて、映像の生成開始後に表示すべき視野となりうる範囲を計算し、当該範囲を含む視野を前記描画すべき視野とすることができる。このように、表示すべき視野の履歴に基づいて、映像生成開始後の表示すべき視野を正確に予測し、適切な描画すべき視野を求めることができる。
For example, the drawing visual
また、この構成に加えてまたは換えて、描画視野算出部1は、映像生成部2による映像の生成開始から映像の補正開始までにかかる時間の予測値を、映像の生成にかかった時間の履歴を用いて計算し、当該予測値に応じて、描画すべき視野の範囲を調整することもできる。これにより、映像生成開始後の表示すべき視野をより正確に予測し、より適切な描画すべき視野を求めることができる。
In addition to or instead of this configuration, the drawing visual
映像生成部2は、描画視野算出部1が算出した描画すべき視野の映像を、仮想世界を表すデータを基に生成する。本実施形態では、映像生成部2が、描画すべき視野を用いて仮想世界の映像を生成する際、映像の生成が開始された時点における表示すべき視野と描画すべき視野は、それぞれ表示視野保持部8と描画視野保持部7によって、生成される映像と関連付けて保持される。また、生成された映像は、映像補正部3へ送られる。この際、例えば、後述するように、映像生成部2と映像補正部3との間において、コーデックによる圧縮伸張やネットワークを経由して、映像が送られる構成であってもよい。
The
映像補正部3は、前記映像の生成開始後に計算された新たな表示すべき視野とを用いて、前記映像を、新たな表示すべき視野に対応する映像に補正する。表示部4は、映像補正部3によって補正された映像をユーザに対して提示する。
The
一例として、映像補正部3は、映像生成部2から生成された映像を入力し、その入力タイミングにおける表示すべき視野(第一の視野とする)をシミュレーション部5から受け取る。この第一の視野は、映像生成部2による映像の生成開始後にシミュレーション部5で計算された新たな表示すべき視野の一例である。映像補正部3は、さらに、入力した映像に関連付けられた表示すべき視野(第二の視野とする)と描画すべき視野(第三の視野とする)をそれぞれ表示視野保持部8と描画視野保持部7から読み出す。そして、これら三つの視野を用いて入力された映像の補正を行う。
As an example, the
第一の視野はこれから表示するべき視野である。第二、第三の視野は、映像生成開始時の視野であるから、映像の生成およびその他の必要な処理(例えば、通信、コーデック等)にかかった時間分だけ古い視野となる。映像補正部3は、これら古い視野(第二と第三の視野)の映像を補正することにより、これから表示するべき視野(第一の視野)についての近似映像を生成する。この補正は、例えば、映像の二次元的な平行移動、拡大縮小、回転などによって行うことができるが、これらに限定されるものではない。
The first field of view is the field of view to be displayed. Since the second and third visual fields are visual fields at the start of video generation, the visual fields are old for the time required for video generation and other necessary processing (for example, communication, codec, etc.). The
映像補正部3は、例えば、第三の視野(描画すべき視野)の映像のうち、この映像の生成開始後に計算された新たな第一の視野(新たな表示すべき視野)に対応する領域が表示映像となるように補正をすることができる。これにより、映像生成が視野の変化に対して遅延しても、視野の変化の対応するよう映像を補正することができる。また、第三の視野は第二の視野より広いので、第一の視野から見える範囲が第二の視野の範囲から逸脱する可能性が低くなり、補正によりさらなる違和感が発生するのが抑えられる。
The
より具体的には、映像補正部3は、第二の視野から第一の視野への変化の量および方向に応じて、生成された映像の表示位置を移動させる補正を実行することもできる。このように表示位置を移動させる補正により、簡単な処理で高速に補正をすることが可能になる。
More specifically, the
なお、第二の視野から第一の視野へ視野が変化すると、第一の視野から見える範囲が第二の視野の範囲から逸脱する。このように、第一の視野から見える範囲が第二の視野の範囲から逸脱している場合、第二の視野を描画した映像を補正すると未描画部分が発生する。そこで、本実施形態では、第二の視野を第一の視野の範囲が含まれるように調整した第三の視野(描画すべき視野)を描画視野算出部1において求め、映像生成部2では第三の視野の映像を生成する構成となっている。
Note that when the visual field changes from the second visual field to the first visual field, the range visible from the first visual field deviates from the range of the second visual field. As described above, when the range visible from the first visual field deviates from the range of the second visual field, an undrawn portion is generated when an image in which the second visual field is drawn is corrected. Therefore, in the present embodiment, the drawing
なお、第三の視野を求めるタイミングから見ると第一の視野は将来のものであるため、確実に第一の視野が含まれるように第三の視野を決定することは難しい。また、映像生成の負荷を抑える観点からは、第三の視野は極力狭くすることが望ましい。そこで、シミュレーション10が応用されるシミュレーションシステムの傾向などに基づいて、第二の視野を基準に第三の視野を算出する方法をあらかじめ決めておくことができる。例えば、ドライビングシミュレータのように視野が上下方向に動くことが少ないシステムにおいては、第二の視野の画角を主に横方向に拡張して第三の視野を求めるように決めておくことができる。さらに、視野の横方向の動きの最大値を見積もることにより、必要な横方向画角の拡張量も決めておくことができる。なお、第三の視野の、第二の視野に対する拡張方向および拡張量を、ユーザからの入力に基づいて更新することが可能な構成にすることもできる。 Note that since the first field of view is the future when viewed from the timing of obtaining the third field of view, it is difficult to determine the third field of view so that the first field of view is surely included. Further, from the viewpoint of suppressing the load of image generation, it is desirable to make the third field of view as narrow as possible. Therefore, based on the tendency of the simulation system to which the simulation 10 is applied, a method for calculating the third visual field based on the second visual field can be determined in advance. For example, in a system such as a driving simulator where the visual field rarely moves in the vertical direction, the field of view of the second visual field can be mainly expanded in the horizontal direction to determine the third visual field. . Further, by estimating the maximum value of the horizontal movement of the visual field, the necessary amount of expansion of the horizontal angle of view can be determined. In addition, it can also be set as the structure which can update the expansion direction and expansion amount with respect to a 2nd visual field of a 3rd visual field based on the input from a user.
また、第二の視野と第三の視野の関係を固定にした場合、実際に視野が動いた方向以外については描画が無駄になる可能性が高い。そこで、描画視野算出部1は、表示すべき視野(第一の視野または第二の視野)の履歴から、映像補正時点における表示すべき視野(第一の視野)を予測し、予測した視野を含むように第三の視野を求めることで、描画の無駄を抑えることができる。例えば、上記の視野の横方向の動きの最大値は、第一の視野の履歴および/または映像生成部2による映像生成時間の履歴を基に見積もることができる。
Further, when the relationship between the second visual field and the third visual field is fixed, there is a high possibility that the drawing is wasted except in the direction in which the visual field actually moves. Therefore, the drawing visual
[シミュレーション装置の変形例]
図2は、第1の実施形態にかかるシミュレーション装置(模擬映像生成装置)の構成の変形例を示す機能ブロック図である。図2において、図1と同じ機能ブロックには同じ番号を付している。図2に示すシミュレーション装置10aは、図1のシミュレーション装置10の構成に加えて、第二の映像生成部11と、合成部9をさらに備える。映像生成部11は、第一の映像生成部2による映像の生成開始後にシミュレーション部5で計算された新たな表示すべき視野を基に、当該新たな表示すべき視野における仮想世界の一部の映像を生成する。合成部9は、映像補正3により補正された映像と、第二の映像生成部11により生成された映像とを合成する。表示部4は、合成部9で合成された映像を出力する。
[Modification of simulation apparatus]
FIG. 2 is a functional block diagram illustrating a modified example of the configuration of the simulation apparatus (simulated video generation apparatus) according to the first embodiment. In FIG. 2, the same functional blocks as those in FIG. The
この構成により、仮想世界の映像を、補正を行う部分と行わない部分を分けて描画し、一方を補正した後に合成を行うことができる。そのため、仮想世界におけるユーザの視野(カメラ)の動きに対する変化度合いが異なる部分を含む映像に対して、変化度合いの高い部分のみ補正して、時間遅れによる違和感を低減することができる。 According to this configuration, it is possible to draw a virtual world image by dividing a portion to be corrected and a portion not to be corrected, and then combining after correcting one. For this reason, it is possible to correct only a portion having a high degree of change with respect to an image including a portion having a different change degree with respect to the motion of the user's field of view (camera) in the virtual world, thereby reducing a sense of incongruity due to time delay.
例えば、ドライビングシミュレータにおける自車の車体の映像は、カメラ(ドライバ視野)に対して外界の映像とは異なる動きをする。このように視野に対して異なる動きをする部分がある場合には、補正によって外界と一緒に車体の映像を補正により動かしてしまうと却って違和感が増すことがある。そのため、このような場合は、外界の部分の映像は、第一の映像生成部2で生成して、生成された映像を、映像補正部3が、映像生成後の表示すべき視野に対応するように補正することができる。そして、車体の部分の映像は、映像生成後の表示すべき視野に対応するように、第二の映像生成部11が生成することができる。
For example, the image of the vehicle body of the vehicle in the driving simulator moves differently from the image of the outside world with respect to the camera (driver view). When there is a portion that moves differently with respect to the field of view, the sense of incongruity may increase if the image of the vehicle body is moved together with the outside world by correction. Therefore, in such a case, the video of the external part is generated by the first
具体的には、シミュレーション部5は、上記図1の場合と同様に、入力部6で受けたユーザからの操作入力に応じて、仮想世界のデータを更新する。その結果、仮想世界内部における表示すべき視野の情報(例えば、位置、向き、画角、投影パラメータ等)も更新される。描画視野算出部1は、上記図1の場合と同様に、表示すべき視野を基に、第一の映像生成部2で描画すべき視野を計算する。
Specifically, the
第一の映像生成部2は、入力された描画すべき視野を用いて仮想世界のあらかじめ選択された一部の対象の映像を生成する。例えば、第一の映像生成部2は、メモリ等に予め記録された、対象とするオブジェクトを示すデータを参照し、映像を生成する対象の仮想世界におけるオブジェクトを選択することができる。生成された映像は、映像補正部3に送られる。
The first
第一の映像生成部2が映像の生成を開始した時点における表示すべき視野と描画すべき視野は、それぞれ表示視野保持部8と描画視野保持部7によって、生成される映像と関連付けて保持される。
The visual field to be displayed and the visual field to be drawn when the first
映像補正部3は第一の映像生成部2によって生成された映像を入力し、そのタイミングにおける表示すべき視野をシミュレーション部5から入力し、入力した映像に関連付けられた表示すべき視野と描画すべき視野をそれぞれ表示視野保持部8と描画視野保持部7から読み出す。そして、これら三つの視野を用いて入力された映像の補正を行い、補正した映像を合成部9に送る。補正は、上記図1の場合と同様にすることができる。
The
第二の映像生成部11は、表示すべき視野に応じて仮想世界のあらかじめ選択された一部の対象(補正の対象としないもの)の映像を生成し、合成部9に送る。この仮想世界において補正の対象としないものを特定するデータも、予めメモリ等に記録しておくことができる。第二の映像生成部11は、予め記録されたデータを参照して、仮想世界における映像を生成する対象を特定することができる。 The second video generation unit 11 generates a video of a part of objects selected in advance in the virtual world (those not to be corrected) according to the field of view to be displayed, and sends the video to the synthesis unit 9. Data for specifying what is not to be corrected in this virtual world can also be recorded in advance in a memory or the like. The second video generation unit 11 can specify a target for generating a video in the virtual world with reference to data recorded in advance.
合成部9は、映像補正部3、および第二の映像生成部11からの映像を合成し、表示部4に送る。合成は、例えば、二つの映像をあらかじめ決めておいた順番で重ね合わせることで行うことができる。それぞれの映像において、視野の中の対象が写っていない部分については透明としておいてもよい。
The combining unit 9 combines the images from the
上記のシミュレーション装置10、10aでは、現在の視野と映像生成の開始時点における視野についての情報を用いて、遅延時間分だけ古い映像を補正し、現在の視野についての近似映像を求める構成である。これにより、操作入力に対する映像の応答性を擬似的に向上し、遅れに起因する違和感を低減可能としている。さらに、映像生成時に表示すべき視野より広い描画視野を算出する構成なので、補正された近似映像でさらに違和感が生じることを抑えること可能になる。 The simulation apparatuses 10 and 10a are configured to correct an old image by a delay time and obtain an approximate image for the current visual field using information about the current visual field and the visual field at the start of image generation. Thereby, the responsiveness of the video with respect to the operation input is improved in a pseudo manner, and the uncomfortable feeling caused by the delay can be reduced. Furthermore, since the drawing visual field wider than the visual field to be displayed at the time of generating the video is calculated, it is possible to further suppress a sense of incongruity in the corrected approximate video.
シミュレーション装置10、10aは、例えば、パーソナルコンピュータやサーバマシン等の汎用コンピュータに所定のプログラムをインストールすることによって実現することができる。また、汎用コンピュータに限らず、例えば、携帯型ゲーム機端末、車載情報端末、携帯電話、PDA(Personal Digital Assistant)、家電製品等の電子機器に組み込まれたコンピュータによってシミュレーション装置10、10aが形成されてもよい。
The simulation apparatuses 10 and 10a can be realized by installing a predetermined program in a general-purpose computer such as a personal computer or a server machine, for example. In addition, the
また、シミュレーション装置10、10aの持つ機能を複数のコンピュータに分散させることで、複数のコンピュータでシミュレーション装置10、10aを構成することもできる。例えば、ネットワークを介して接続された複数の汎用コンピュータにシミュレーション装置10、10aの機能を分散させてよい。あるいは、バスで接続されたCPUとDSP(Digital Signal Processor)によって、シミュレーション装置10、10aを構成することもできる。
In addition, by distributing the functions of the
上記の描画視野算出部1、映像生成部2、映像補正部3、表示部4、シミュレーション部5、第一の映像生成部2、第二の映像生成部11、合成部9および入力部6の各機能は、CPUまたはDSP(Digital Signal Processor)等のプロセッサが所定のプログラムを実行することによって実現される。したがって、上記の各機能をコンピュータで実現するためのプログラムまたはそれを記録した記録媒体も本発明の一実施態様である。この記録媒体は、一時的でない(non−transitory)記録媒体であり、信号のように一時的な媒体は含まない。また、描画視野保持部7、表示視野保持部8およびその他必要なデータを記録する手段は、コンピュータの内蔵記憶装置(例えば、ROM、RAM等のメモリ)またはこのコンピュータからアクセス可能な記憶装置によって具現化される。これらのことは、下記第2の実施形態における各機能部についても同様である。
The drawing visual
[第2の実施形態]
図3は、第2の実施形態におけるシミュレーションシステムの構成例を示す機能ブロック図である。図3に示すシミュレーションシステムは、サーバ装置の一例であるシミュレータサーバ12(以下、単にサーバ12と称する)およびクライアント装置の一例であるシミュレータクライアント13(以下、単にクライアント13と称する)を含む。サーバ12とクライアント13は、互いに通信可能となっている。この通信は、有線通信のみに限らず、無線通信が含まれていてもよい。
[Second Embodiment]
FIG. 3 is a functional block diagram illustrating a configuration example of the simulation system according to the second embodiment. The simulation system shown in FIG. 3 includes a simulator server 12 (hereinafter simply referred to as server 12) that is an example of a server device and a simulator client 13 (hereinafter simply referred to as client 13) that is an example of a client device. The
サーバ12は、シミュレーション部5、描画視野算出部1、映像生成部2を備える。シミュレーション部5は、ユーザからの操作入力または時間経過に応じて、仮想世界を表すデータを更新し、仮想世界における表示すべき視野を計算する。視野算出部1は、前記表示すべき視野より広い視野である、描画すべき視野を計算する。映像生成部2は、描画すべき視野の映像を、仮想世界を表すデータを基に生成する。これら、シミュレーション部5、描画視野算出部1、映像生成部2の機能は、上記第1の実施形態と同様にすることができる。
The
サーバ12は、さらに、映像生成部2が生成した映像と、この映像の描画すべき視野の基となった表示すべき視野と、この映像の生成開始後に計算された新たな表示すべき視野とをクライアント13へ送信する送信部として、描画結果送信部18および視野送信部16を備える。
The
クライアント13は、サーバ12の送信部から送られてきた映像と、この映像の生成開始後に計算された新たな表示すべき視野とを用いて、この映像を、新たな表示すべき視野に対応する映像に補正する映像補正部3を備える。
The
このように、サーバ12に、シミュレーション部5、映像生成部2、送信部(描画結果送信部18および視野送信部16)を設け、クライアント13に映像補正部3を設ける構成により、シミュレーションの映像生成および通信による遅延を原因とする映像の違和感を低減することができる。その結果、サーバ12による複雑なシーンの描画や、素早いレスポンスを必要とするアプリケーションを、ネットワークを介してクライアント13から利用可能することが可能になる。
As described above, the
図3に示す構成のシミュレーションシステムは、例えば、複数のクライアントから入力をサーバ受け付けてシミュレーション結果をクライアントへ返す業務用のシミュレーション装置や、ネットワークゲームに用いることができる。シミュレーションの用途や対象は特に限定されない。 The simulation system having the configuration shown in FIG. 3 can be used in, for example, a business simulation apparatus that receives inputs from a plurality of clients and returns simulation results to the client, or a network game. The use and object of the simulation are not particularly limited.
[シミュレーションの例]
図3に示す例では、クライアント13が、ユーザから操作入力を受け付ける入力部6と、操作入力をサーバ12へ送信する操作入力送信部24を備える。
[Example of simulation]
In the example illustrated in FIG. 3, the
一例として、クライアント13にはハンドルやペダルなどに接続された入力部6と、ディスプレイ等の表示部4が備えられる。ユーザはディスプレイに表示される映像を見ながら、ハンドルなどの入力装置を操作し、仮想世界の中でドライビングを行うことができる。
As an example, the
クライアント13で入力された入力情報は、例えば、ネットワークを通じて送信され、サーバ12の操作入力受信部14で受信されてシミュレーション部5に送られる。入力情報はデータ量が小さいため、無視できる程度の小さな遅延で送ることができる。
The input information input by the
シミュレーション部5は、一例として、仮想世界を構成する道路や車両、街並み等オブジェクトのデータをシミュレーション用データとして保持する。シミュレーション用データは、例えば、サーバ12内蔵メモリまたはアクセス可能なメモリに記録される。シミュレーション部5は、入力情報に基づいて各オブジェクトの挙動についてのシミュレーションを行って、仮想世界を表すシミュレーション用データをリアルタイムに更新する。更新の結果、例えば、仮想世界のオブジェクトの位置・姿勢や属性(色・テクスチャなど)が変更される。シミュレーションは通常、映像生成に比べて軽い処理であり、例えば、数ミリ〜数十ミリ秒周期の高い頻度で実行される。
As an example, the
シミュレーションの結果、仮想世界を表示するのに用いられる視野の情報(例えば、位置、姿勢、画角、投影方法とそのパラメータ)が決定する。例えば、ドライビングシミュレータの場合、視野は通常、仮想の車の運転席に乗っている仮想のドライバの視点に固定されるので、車の位置や姿勢が更新されるとそれに応じて表示すべき視野も更新される。視点(カメラ)は必要に応じて、車の他の場所や他の車、あるいは路上のオブジェクトや建物など、任意の場所に置くことができる。 As a result of the simulation, information on the visual field (for example, position, orientation, angle of view, projection method and parameters thereof) used to display the virtual world is determined. For example, in the case of a driving simulator, the field of view is usually fixed to the viewpoint of the virtual driver in the driver's seat of the virtual car, so when the position and posture of the car are updated, the field of view to be displayed accordingly Updated. The viewpoint (camera) can be placed at any place such as another place of the car, another car, or an object or building on the road as required.
このようにして、シミュレーション部5が表示すべき視野を更新すると、描画視野算出部1が、表示すべき視野に基づいて映像生成部2で描画すべき視野を算出する。視野送信部16は、シミュレーション部5が表示すべき視野を更新する度に、リアルタイムで更新された表示すべき視野をクライアント13へ送信することが好ましい。これにより、クライアント13の映像補正部3が、古い映像を更新された新たな表示すべき視野に対応させる補正が可能になる。
Thus, when the visual field to be displayed by the
[並列描画の例]
映像生成部2は、図3に示すように、複数のフレームを並列に描画する複数の描画部を備える構成であってもよい。本実施形態では、一例として、映像生成部2は、並行して描画(映像生成)処理を実行することができる複数の描画部22a、22b、22cと、描画視野算出部1が算出した描画すべき視野を、これらの複数の描画部22a、22b、22cに渡して、描画すべき視野の映像を生成する処理を実行させる並列描画制御部21、複数の描画部22a、22b、22cそれぞれを監視し、それぞれで生成された映像を、表示すべき視野および描画すべき視野とともに受け取る並列描画統合部23とを含む。この構成により、例えば、並列に接続された描画部22a、22b、22cに順番にフレームを割り当てて時間差で並列に描画を行うことができる。いわゆる交互フレーム描画方式で描画することができる。
[Example of parallel drawing]
As shown in FIG. 3, the
具体的には、サーバ12の映像生成部2(並列描画部と称することもできる)は、下記のように、描画視野算出部1が求めた描画すべき視野に従って仮想世界の映像を生成する。例えば、映像のフレーム毎に描画部22a、22b、22cのいずれかを割り当てて並列に描画を実行することができる。これにより、高速に映像が生成される。各描画部22a、22b、22cは、メモリの描画データ(例えば、仮想世界を構成するオブジェクトのモデルデータやテクスチャデータ)に、シミュレーション部5から送られる仮想世界の更新情報を加味したものを用いて仮想世界の映像を生成することができる。このように、フレーム単位で描画部を割り当てる場合、単一の描画部で描画を行うのに比べて、単位時間当たりに生成できるフレーム数を描画部の数倍(図3に示す例では3倍)に向上することができる。すなわち、フレームレートは、用意した計算機(描画部)の台数倍にまで向上することができる。
Specifically, the video generation unit 2 (also referred to as a parallel drawing unit) of the
ただし、一つのフレームを描画するのにかかる時間は単一の場合と変わりがない。そのため、フレームレートは向上しても、表示すべき視野の情報が映像生成部2へ入力されてから映像が出力されるまでの遅延は単一の描画部の場合と変わらない。この遅延による影響は、描画視野算出部1およびクライアント13の映像補正部3を含む機能により低減することができる。
However, the time taken to draw one frame is the same as that for a single frame. Therefore, even if the frame rate is improved, the delay from the input of the visual field information to be displayed to the
並列描画制御部21は、各描画部22a、22b、22cの実行状態を監視する。前のフレームの描画が完了した描画部があれば、シミュレーション部5から仮想世界の更新情報と表示すべき視野とを受け取り、描画視野算出部1から描画すべき視野の情報を受け取ってその描画部に渡し、次の映像の生成を実行させる。これにより、全ての描画部が常に並行して映像の生成を行っている状態になる。各描画部は、受け取った表示すべき視野と描画すべき視野とを、映像生成を行っている間、記憶する。
The parallel drawing control unit 21 monitors the execution state of each
並列描画統合部23は、各描画部の実行状態を監視し、フレームの描画が完了した描画部があればその描画部から、描画されたフレームの映像と、表示すべき視野および描画すべき視野を受け取る。描画されたフレーム映像は、映像エンコーダ17に渡される。これにより、描画部22a、22b、22cそれぞれによって時間差をもって並列描画されたフレームの映像が順次映像エンコーダ17へ送られる。
The parallel drawing integration unit 23 monitors the execution state of each drawing unit, and if there is a drawing unit that has finished drawing the frame, the drawing unit displays the video of the drawn frame, the field of view to be displayed, and the field of view to be drawn. Receive. The drawn frame video is passed to the video encoder 17. As a result, the images of the frames drawn in parallel by the
なお、上記の映像生成部2においては、描画用計算機として3台の描画部を有しているが、描画用計算機の台数は、求められるピーク性能に合わせて変えることができる。しかし、描画用計算機の台数をピーク性能に合わせると、描画用計算機を含む装置全体が大規模化し、かつ、ピーク性能が不要な場合の無駄が大きくなる傾向にある。そのため、複数の描画用計算機をネットワーク経由で共有利用できる構成にすることができる。例えば、本実施形態のように、複数の描画部で並列処理された映像を外部へ送信し、送信した先で補正をする構成とすることで、並列構成の描画装置による複雑なシーンの描画を必要とするアプリケーションのネットワーク利用が可能になる。また、描画結果の映像をネットワーク経由でクライアントに伝送する際に、さらにコーデックや通信自体における遅延が加算される問題に対しても、本実施形態の構成により対処することができる。
The
[サーバ−クライアント間の通信]
映像生成部2で描画された映像は映像エンコーダ17に送られて圧縮され圧縮映像となる。圧縮映像は、描画結果送信部18において対応する視野情報(表示すべき視野および描画すべき視野)と関連付けられた上で、クライアント13へネットワークを通じて送信される。
[Server-client communication]
The video drawn by the
送信された圧縮映像と視野情報はクライアント13の描画結果受信部28によって受信される。映像は映像デコーダ27に送られて伸張される。表示すべき視野と描画すべき視野の視野情報は、映像補正部3へ送られる。映像の圧縮・伸張とネットワーク送信には、例えば、数十〜数百ミリ秒単位の時間を要する。
The transmitted compressed video and visual field information are received by the drawing
映像補正部3は、映像を受け取ると、その映像に対応する視野情報、すなわち映像生成開始時の表示すべき視野および描画すべき視野も受け取る。さらにその映像を受けたタイミングにおける新しい表示すべき視野を視野受信部26から受け取る。映像補正部3は、この新しい表示すべき視野を基に、映像の補正を行う。そのタイミング、すなわち映像補正直前時点における表示すべき視野は、シミュレーション部5から視野送信部16、視野受信部26を介して、ネットワーク経由で取得される。この表示すべき視野を示す視野情報はデータ量が小さいため、無視できる程度の小さな遅延で送ることができる。
When receiving the video, the
このように、本実施形態では、サーバ12は、クライアント13へ、生成された映像と、映像生成後に更新される可能性のある表示すべき視野とを、それぞれ独立してリアルタイムに送信する仕組みを備える。これにより、クライアント13において、映像生成後にシミュレーション部5で更新された表示すべき視野を用いて、映像を補正することができる。また、サーバ12において、表示すべき視野より広い描画すべき視野を計算し、描画すべき視野の映像を生成することで、クライアント13における補正で新たに違和感が生じることが抑えられる。次に、クライアント13における映像補正部3の補正処理と、サーバ12における描画すべき視野の計算の具体例について説明する。
As described above, in the present embodiment, the
[映像補正部3による補正処理の具体例]
例えば、ユーザが素早く右方向に視線を動かすことにより、仮想世界において、表示されるべき視野が素早く右にシフトした場合、表示される映像は即座に左方向に流れなければならない。しかし、映像の生成と伝送による遅延がある場合、映像は、視野の動きに対して少し遅れて左方向に流れる。この遅れが映像に対するユーザの違和感となり、VR(バーチャルリアリティ)酔いなどの原因にもなる。
[Specific Example of Correction Processing by Video Correction Unit 3]
For example, if the user quickly moves his / her line of sight to the right and the field of view to be displayed quickly shifts to the right in the virtual world, the displayed image must immediately flow to the left. However, when there is a delay due to the generation and transmission of the video, the video flows to the left with a slight delay with respect to the movement of the visual field. This delay makes the user feel uncomfortable with the video, and causes VR (virtual reality) sickness.
そこで、映像補正部3は、例えば、以下のように、映像の補正処理を実行することができる。映像補正部3は、描画の完了している少し古い映像に対し、現在分かっている視野の動きに合わせて二次元的に映像を動かすという補正を行うことができる。
Therefore, the
ここで、図4Aおよび図4Bを参照して映像の補正例を説明する。図4Aは、時刻t=TNおよび時刻t=TN-nにおける仮想世界の車の位置および視野の一例を示す図である。図4Bは、時刻t=TNにおける表示すべき視野の映像、および時刻t=TN-nにいて補正された映像の一例を示す図である。図4Aに示す例では、線D1と線D2の間が道路であり、道路の脇にはオブジェクトの一例である建物Cがある。車Kは、建物に対して斜め右方向へ進んでいる。車Kの視野は点線で示されており、この視野が表示すべき視野となる。ここでは、映像生成部2が、時刻TN-nにおける表示すべき視野に基づいて映像の生成を開始し、図4Bの上段に示す映像を生成する。その後、映像補正部3が時刻TNにおいて、この映像と、時刻TNにおける表示すべき視野を受け取って、補正を実行する。この例の場合、映像補正部3は、左方向への映像を平行移動する。このように、映像補正部3は、時刻TN-nにおける表示すべき視野から、時刻TNにおける表示すべき視野への視野の変化の量および方向に応じて、映像の表示領域を移動させることができる。このときの映像の移動方向および移動距離の計算例については後述する。
Here, an example of video correction will be described with reference to FIGS. 4A and 4B. FIG. 4A is a diagram illustrating an example of the position and field of view of a car in the virtual world at time t = T N and time t = T Nn . FIG. 4B is a diagram showing an example of a visual field image to be displayed at time t = T N and a video image corrected at time t = T Nn . In the example illustrated in FIG. 4A, a road is between the lines D1 and D2, and a building C, which is an example of an object, is located on the side of the road. The car K is proceeding diagonally to the right with respect to the building. The field of view of the car K is indicated by a dotted line, and this field of view is the field of view to be displayed. Here, the video production | generation part 2 starts the production | generation of an image | video based on the visual field which should be displayed in time TNn , and produces | generates the video shown in the upper stage of FIG. 4B. Thereafter, the
この映像の平行移動により、仮想世界での視線を右へ動かす操作入力に対し、見かけ上映像の遅延が隠蔽されて、映像が即座に応答して左方向へ流れる。そのため、応答性に関する違和感が大きく軽減される。なお、映像を平行移動しただけの補正の場合、映像の内容は本来あるべき映像と若干異なる。しかし、視野の動きが大きい場合には、映像の内容のズレよりも映像全体の動きのズレによる違和感の方が支配的であるため、このように映像を平行移動するだけの補正でも、違和感の低減効果を得ることができる。 Due to the parallel movement of the image, the delay of the image is apparently concealed with respect to the operation input for moving the line of sight in the virtual world to the right, and the image immediately responds and flows to the left. Therefore, the uncomfortable feeling related to responsiveness is greatly reduced. Note that in the case of correction only by translating the video, the content of the video is slightly different from the video that should be originally. However, when the field of view is large, the sense of incongruity due to the displacement of the entire image is more dominant than the difference in the content of the image. A reduction effect can be obtained.
映像補正の方法は視線方向の変化に応じた映像の平行移動に限らない。視点のさまざまな動き方に対応して、平行移動、拡大縮小、回転、アフィン変換などを行うこともできる。なお、映像補正によって新たに大きな遅延が発生しては意味がないので、映像の補正はなるべく簡便であることが望ましい。以下に、視野の変化に応じた映像補正の具体例を説明する。 The image correction method is not limited to the parallel movement of the image according to the change in the viewing direction. Corresponding to various viewpoint movements, translation, enlargement / reduction, rotation, affine transformation, etc. can be performed. Note that it is meaningless if a new large delay is caused by the video correction, so it is desirable that the video correction be as simple as possible. Hereinafter, a specific example of the image correction according to the change of the visual field will be described.
(視野回転に対応する映像補正)
ここで、描画結果受信部28から送られる表示すべき視野(古い視野)に対応する時刻(ここでは、一例として映像生成開始時の時刻)をTN-n、視野受信部26から送られる表示すべき視野(新しい視野)に対応する時刻をTNとする。時刻TNは、映像生成開始後の時刻であり、例えば、ほぼ現在時刻とすることができる。
(Image correction corresponding to visual field rotation)
Here, the time corresponding to the visual field (the old field) to be displayed is sent from the rendering result receiving unit 28 (in this case, the time at the image generation start as an example) to be displayed is sent to T Nn, from view receiver 26 Let T N be the time corresponding to the field of view (new field of view). The time T N is a time after the start of video generation, and can be almost the current time, for example.
視野の回転運動に着目すると、時刻TN-nおよび時刻TNにおける視野の視線方向ベクトル(視点から視野の中心へ向かうベクトル)の差を、TN-nにおける視点位置を基準にしたパン(垂直軸周りの左右回転)、ティルト(左右軸(水平軸)周りの上下回転)、ロール(視線方向ベクトル周りの回転)に分解することができる。それぞれの回転角度を、θpan、θtilt、θrollとする。 Focusing on the rotational movement of the field of view, the difference between times T Nn and time T field in the N line of sight vector (vector directed from the point of view to the center of the field of view), the pan relative to the viewpoint position in the T Nn (about the vertical axis Left and right rotation), tilt (up and down rotation around the left and right axis (horizontal axis)), and roll (rotation around the line-of-sight direction vector). Respective rotation angles are θ pan , θ tilt , and θ roll .
ここで、視野の横方向(水平方向)の画角をφfovH、映像の幅をWピクセルとし、視線方向ベクトルが水平方向にθpan回転した場合を考える。この場合、視野中心付近にあるオブジェクトは映像の中で、例えば、下記式(1)で表されるピクセル数DHだけ横方向に移動する。 Here, let us consider a case where the field angle in the horizontal direction (horizontal direction) of the field of view is φ fovH , the video width is W pixels, and the line-of-sight direction vector is rotated by θ pan in the horizontal direction. In this case, the object near the center of the visual field moves in the horizontal direction by the number of pixels D H represented by the following formula (1) in the video, for example.
同様に、視野の縦方向(垂直方向)の画角をφfovV、映像の高さをHピクセルとし、視線方向ベクトルが垂直方向にθtilt回転した場合を考える。この場合、視野中心付近にあるオブジェクトは映像の中で、下記式(2)で表されるピクセル数Dvだけ縦方向に移動する。 Similarly, let us consider a case where the field angle in the vertical direction (vertical direction) of the field of view is φ fovV , the height of the video is H pixels, and the line-of-sight direction vector is rotated by θ tilt in the vertical direction. In this case, the object in the vicinity field center is in the video, moves in the vertical direction by pixel number D v represented by the following formula (2).
上記の補正では、補正後の映像は、厳密には視野中心付近についてのみ正しく、それ以外の部分については近似となっている。この近似でも違和感を低減する効果が得られるが、より近似の精度を高めるためには、映像を平面への投影ではなく、円柱または球面への投影として捉えて処理を実行する方法がある。映像補正部3は、例えば、球面または円柱などの三次元空間における投影面に貼り付けられた画像を表すデータを、映像として受け取り、視野の変化に応じて補正した上で、球面の画像を平面に投影した映像を出力することができる。
In the above correction, the corrected image is strictly correct only in the vicinity of the center of the visual field, and is approximated in other portions. This approximation can also reduce the sense of incongruity, but in order to increase the accuracy of approximation, there is a method of executing processing by capturing an image as a projection on a cylinder or a sphere instead of on a plane. The
図6Aおよび図6Bは、映像を球面への投影として捉えて処理する場合の、時刻TNおよび時刻TNにおける視線方向ベクトルおよび視野と映像の関係、および映像の一例を示す図である。図6Aおよび図6Bにおいて、上側は、投影面に垂直な面における視線方向ベクトルおよび視野の例を示し、下側は、映像の例を示す。 6A and 6B are diagrams illustrating an example of a visual line direction vector at the time T N and the time T N , the relationship between the visual field and the video, and the video when the video is processed as a projection onto a spherical surface. 6A and 6B, the upper side shows an example of the line-of-sight direction vector and the visual field in a plane perpendicular to the projection plane, and the lower side shows an example of an image.
図6Aおよび図6Bに示す例では、映像補正部3は、平面上での平行移動ではなく、投影面である円柱面や球面上での映像を移動させる。図6Aに示す、円柱または球面などの三次元の投影面に貼り付けたTN-n時点の視野(2本の線S1で挟まれる範囲)の映像を、図6Bに示すように、TN時点の視野(2本の点線S2で挟まれる範囲)にあうように球面または円柱面上を移動させる。移動量は、TN-n時点の視線ベクトルとTN時点の視線ベクトルとの角度により決定することができる。あるいは、映像補正部3は、球面または円柱面に貼り付けられた映像のうち、映像生成後に更新された新たな表示すべき視野(例えばTN時点の視野)の範囲の映像を取り出して、補正後の映像として出力してもよい。
In the example illustrated in FIGS. 6A and 6B, the
球面または円柱面上の映像を平面の映像に変換する処理は、映像補正部3が実行してもよいし、映像補正部3の外部に設けられた専用プロセッサが実行してもよい。このように球面または円柱面上で移動後の映像を再度平面に投影することでTN時点の近似映像を生成することができる。
The processing for converting the image on the spherical or cylindrical surface into the image on the plane may be executed by the
なお、視野の回転がパンだけであれば投影面は円柱とすることができるが、ティルトやロールがあるなら球面で処理を行うことが好ましい。また、投影面は、球面または円柱面に限られず、例えば、立方体や直方体、その他の3次元空間における面であってもよい。このように、映像の変形処理を三次元で行うと計算負荷が高くなるが、例えば、昨今の標準的なグラフィクス用ハードウェアにおけるテクスチャマッピングの能力を活用すれば負荷を低減することができる。 If the field of view is only pan, the projection surface can be a cylinder, but if there is a tilt or roll, it is preferable to perform processing with a spherical surface. Further, the projection surface is not limited to a spherical surface or a cylindrical surface, and may be, for example, a cube, a rectangular parallelepiped, or a surface in another three-dimensional space. As described above, when the image transformation process is performed in three dimensions, the calculation load increases. For example, the load can be reduced by utilizing the texture mapping capability in recent standard graphics hardware.
(視野並進の補正)
視野が並進する場合(特に前後に移動する場合)には、視野が回転する場合に比べて、操作入力に対して映像が遅れていることはユーザに気付かれづらい。そのため、視野の回転についての補正を行うだけでも映像の違和感を低減する効果は得られる。
(Correction of visual field translation)
When the field of view translates (especially when moving forward and backward), it is difficult for the user to notice that the image is delayed with respect to the operation input compared to when the field of view rotates. Therefore, the effect of reducing the uncomfortable feeling of the video can be obtained only by correcting the rotation of the visual field.
視点位置の視線方向と同じ方向の移動すなわち、前後移動について映像の補正を行う場合には、映像補正部3は、映像の拡大縮小により補正を行うことができる。例えば、映像生成後の補正を開始する時刻TNで、映像生成開始の時刻TN-nよりも視点位置が視線方向前方へ進んでいた場合、映像補正部3は、その移動距離に応じて映像を拡大することができる。
In the case where the image is corrected for movement in the same direction as the line-of-sight direction of the viewpoint position, that is, back-and-forth movement, the
このときの拡大率は、奥行き方向(視線方向)のどの距離に着目するかに依存する。つまり、近くのオブジェクトに着目すればより拡大率を大きくすることが好ましく、逆に遠くに着目すれば拡大率を小さくすることが好ましい。このように、全ての距離のオブジェクトに対して正しい拡大率というものは存在しない。そのため、アプリケーションの特性に応じてもっとも違和感が少なくなるように、あらかじめ着目する距離(基準となる距離)を決め、メモリ等に記録しておくことができる。例えば、シミュ−ション装置がドライビングシミュレータであれば、仮想世界の視野前方において最も近い距離にある建物を基準(距離にして例えば十数メートル)にすることが考えられる。基準とする距離をD、視野の前方への移動距離をdとすると、拡大率Mは、例えば、下記式(3)を用いて計算できる。 The enlargement ratio at this time depends on which distance in the depth direction (line-of-sight direction) is focused. That is, it is preferable to increase the enlargement ratio when focusing on nearby objects, and conversely, it is preferable to decrease the expansion ratio when focusing on distant objects. Thus, there is no correct enlargement factor for all distance objects. For this reason, it is possible to determine a distance of interest (reference distance) in advance and record it in a memory or the like so as to minimize the sense of discomfort according to the characteristics of the application. For example, if the simulation device is a driving simulator, it is conceivable that the building at the closest distance in front of the visual field of the virtual world is used as a reference (distance is, for example, several tens of meters). Assuming that the reference distance is D and the moving distance to the front of the field of view is d, the enlargement ratio M can be calculated using the following equation (3), for example.
[描画視野算出の具体例]
上記のように映像補正によってTN時点の近似映像を生成すると、映像を移動した後に未描画領域が発生する場合がある。例えば、TN時点の視野の範囲が、TN-n時点の視野に基づいて決定された描画すべき視野の範囲を超えている場合、超えた領域については映像データが生成されていないので未描画領域となる。視線移動が大きい場合にはこの未描画領域も大きくなり、それが別の違和感を引き起こしかねない。また、補正によって表示されなくなる領域については、逆に描画が無駄になってしまう。
[Specific example of drawing field of view calculation]
As described above, when the approximate video at the time point T N is generated by video correction, an undrawn area may occur after the video is moved. For example, when the range of the visual field at the time point T N exceeds the visual field range to be drawn determined based on the visual field at the time point T Nn , video data is not generated for the exceeding region, and thus the undrawn region It becomes. When the line-of-sight movement is large, this undrawn area also becomes large, which may cause another sense of incongruity. On the other hand, the drawing that is not displayed by the correction is wasted.
例えば、図7Aは、映像生成の時点TN-nにおける表示すべき視野をそのまま描画し、TN時点の表示すべき視野を基に補正した場合の補正前後の映像例を示す図である。図7Aに示す例では、補正後の映像(下側の映像)は、視野の変化に応じて左へ平行移動しているため、右側が未描画領域Pとなっている。 そこで、第1および第2の実施形態では、描画視野算出部1を設けることにより、描画すべき視野の範囲を可変にしている。例えば、描画視野算出部1は、映像補正時点における表示すべき視野がなるべく含まれるように、映像生成時において描画すべき視野を計算し、映像生成部2に、その時点の表示すべき視野より余分に描画させることができる。これにより、補正によって映像が移動されても、余分に描画した分が新たに画面内に入ってくるため未描画領域が発生しにくくなる。また、補正によって不要になりそうな部分を描画しないよう制御することもできる。そのため、描画処理の無駄を減らすことができる。
For example, FIG. 7A is a diagram illustrating a video example before and after correction when the visual field to be displayed at the time T Nn of video generation is drawn as it is, and correction is performed based on the visual field to be displayed at the time T N. In the example shown in FIG. 7A, the corrected image (lower image) is translated to the left in accordance with the change in the field of view, so the right side is the undrawn region P. Therefore, in the first and second embodiments, the drawing
例えば、図7Bは、映像生成の時点TN-nにおける表示すべき視野を基にそれより広い描画すべき視野を計算してその視野の範囲を描画し、TN時点の表示すべき視野を基に補正した場合の補正前後の映像例を示す図である。図7Bに示す例では、補正後の映像(下側の映像)は、視野の変化に応じて左へ平行移動している。しかし、平行移動分をカバーする程度に、元の視野の範囲R1より広い範囲R2について描画しているので、未描画領域は発生していない。 For example, FIG. 7B calculates a wider field of view to be drawn based on the field of view to be displayed at the time T Nn of video generation, draws the range of the field of view, and based on the field of view to be displayed at the time T N. It is a figure which shows the example of a video before and after correction | amendment at the time of correct | amending. In the example shown in FIG. 7B, the corrected image (lower image) is translated to the left according to the change in the visual field. However, since the drawing is performed in the range R2 wider than the original visual field range R1 so as to cover the parallel movement, no undrawn region is generated.
描画視野算出部1において描画すべき視野を求めるタイミングにおいては、映像補正時点は将来にあたる。そのため、将来の補正時点における表示すべき視野が、いかなる場合でも確実に描画すべき視野に含まれるようにすることは困難である。そこで、シミュレータにおける視野移動の傾向に基づいて、描画開始時点における表示すべき視野を基に描画すべき視野を求めるためのデータを予め決めてメモリに記録しておくことができる。例えば、描画開始時点の表示すべき視野から描画すべき視野への拡張の方向と、拡張の程度を示すパラメータを予めメモリに記録しておくことができる。このパラメータを用いて、描画視野算出部1は、シミュレータの特性に応じた視野移動範囲を予測し、適切な描画範囲を設定することができる。例えば、ドライビングシミュレータにおいては一般に視野が横方向にのみ移動し、視野の上下移動は主に車の揺れによるものに限られる傾向がある。この傾向を考慮して、描画すべき視野は、表示すべき視野を主に横方向に拡張することによって求めることができる。例えば、描画視野算出部1は、拡張は横方向の画角を一定量増やすことによって行っても良いし、画面上で描画範囲を横方向に一定ピクセル数だけ拡げるようにして行っても良い。画角や描画範囲の拡張方向および拡張量は、予め記録しておくこともできる。予め記録される拡張量は、例えば、シミュレーション部5の計算結果から、視野の横方向の動きの最大値を見積もることで計算することができる。
At the timing for obtaining the visual field to be drawn in the drawing visual
(視野の予測)
描画の無駄を減らすためには、表示すべき視野がどの方向に移動するかを予測して、それが含まれて、かつ、なるべく狭くなるように描画すべき視野を求めることが望ましい。そのために、描画視野算出部1において、例えば、下記の処理により、映像補正が行われる時刻と、その映像補正の時刻における表示すべき視野とを予測することができる。
(Prediction of field of view)
In order to reduce the waste of drawing, it is desirable to predict in which direction the visual field to be displayed moves and to determine the visual field to be drawn so that it is included and is as narrow as possible. Therefore, the drawing visual
例えば、描画部22a、22b、22cでの映像生成にかった時間の履歴を記録しておき、描画視野算出部1が、それらを用いて予測計算を行って映像生成にかかる時間の予測値を計算することができる。次の映像補正が行われる時刻については、予測計算を行って求めた値に、映像の圧縮伸張と送受信にかかる時間と、現在時刻を加算することで求めることができる。予測計算としては、例えば、描画にかかった時間の履歴データを、線形関数や多項式関数を当てはめる方法がある。あるいは、描画にかかった時間の値の平均値を、予測値として計算することもできる。
For example, a history of time taken for video generation in the
映像補正時点での表示すべき視野については、表示すべき視野の履歴を記録しておき、それらの履歴を用いて予測計算を行い、上記で求めた映像補正の予測時刻における視野を求めることができる。表示すべき視野は、例えば、視点位置、視線ベクトル、視野角、投影パラメータ等の要素の組み合わせで定義することができる。そのため、表示すべき視野を決める要素の値の時系列データを履歴として記録することができる。予測計算としては、例えば、履歴に対して線形関数や多項式関数を当てはめる方法がある。また、表示すべき視野を決める各要素の値の平均値を、それぞれ予測値として計算することもできる。このように、視野は視点位置、視線ベクトル、視野角などの要素の組み合わせによって表すことができるので、それぞれの要素について個別に予測値を計算することもできる。 For the field of view to be displayed at the time of video correction, record the history of the field of view to be displayed, perform prediction calculation using those history, and obtain the field of view at the predicted time of the video correction obtained above. it can. The field of view to be displayed can be defined by a combination of elements such as a viewpoint position, a line-of-sight vector, a field angle, and a projection parameter. Therefore, time-series data of element values that determine the visual field to be displayed can be recorded as a history. As the prediction calculation, for example, there is a method of applying a linear function or a polynomial function to the history. In addition, the average value of each element value that determines the field of view to be displayed can be calculated as a predicted value. In this way, the visual field can be represented by a combination of elements such as a viewpoint position, a line-of-sight vector, and a visual field angle, so that a predicted value can be calculated individually for each element.
精度のよい予測が計算できるのは、ある程度時間的に長いスパンにおける視野の変化であり、短時間の素早い視野の動きを正確に予測することは難しい。従って、例えば、数秒間単位の大まかな動きに対しては、描画視野算出部1による視野の予測計算によって追従し、無駄の少ない描画すべき視野を設定することができる。1秒前後やそれ以下の素早い視野の動きに対しては、描画すべき視野の内部で映像補正を行えるよう、描画視野算出部が描画すべき視野を設定することによってレスポンス良く対応することができる。
Prediction with high accuracy can be calculated based on changes in the visual field in a span that is long to some extent, and it is difficult to accurately predict a quick visual field movement in a short time. Therefore, for example, it is possible to follow a rough movement in units of several seconds by predicting the visual field by the drawing visual
例えば、描画視野算出部1は、映像生成時の表示すべき視野を全ての方向に一定量拡張した視野に、過去の表示すべき視野の履歴を基に予測計算された視野を加えた範囲の視野を、描画すべき視野として算出することができる。このように、表示すべき視野を全ての方向に一定量拡張することで、短時間の素早い視野の動きをカバーし、かつ、履歴から予測される視野の範囲で、比較的長い時間の視野の動きをカバーすることができる。
For example, the drawing visual
なお、上記の補正処理および描画視野算出処理は、上記第1の実施形態にも適用することができる。 The correction process and the drawing visual field calculation process described above can also be applied to the first embodiment.
(補正を行う部分と行わない部分への分割)
表示すべき視野の中に、視点位置からの距離が大きく異なる複数のオブジェクトが含まれる場合、映像補正部3が、複数のオブジェクトを含む映像を一括して補正すると、映像中の複数のオブジェクト画像を同じ量だけ動かすことになる。その結果、却って違和感が増すことがある。例えば、ドライビングシミュレータにおいて、表示すべき視野の中に自車の車体(内装を含む)のように外界とは異なる動きをする部分が含まれる場合、映像の補正を行うと視野に対して車体や内装が外界と一体になって動いてしまう。その結果、却って違和感が増すことがある。
(Division into parts to be corrected and parts not to be performed)
When the visual field to be displayed includes a plurality of objects having greatly different distances from the viewpoint position, when the
そこで、表示すべき視野に含まれる仮想世界の一部のオブジェクトの映像を生成する映像生成部と、前記一部のオブジェクトとは視点からの距離が異なる他のオブジェクトの映像を生成する第二の映像生成部とを設けることができる。そして、映像生成部で生成された映像を補正した上で、第二の生成部で生成された映像と合成することができる。これにより、視点からの距離が異なるオブジェクトが含まれる映像であっても違和感を増すことなく、補正することができる。本実施形態では、一例として、サーバ12が映像生成部2を有し、クライアント13が第二の映像生成部の一例であるローカル描画部11aを有する構成となっている。
Therefore, a video generation unit that generates video of some objects in the virtual world included in the field of view to be displayed, and a second that generates video of other objects that are different in distance from the viewpoint from the some objects. And a video generation unit. Then, after correcting the video generated by the video generation unit, it can be combined with the video generated by the second generation unit. As a result, even an image including an object having a different distance from the viewpoint can be corrected without increasing a sense of incongruity. In the present embodiment, as an example, the
例えば、上記ドライビングシミュレータでは、外界と車体とを分けて描画し、補正を行った後に両者を合成することができる。図8は、仮想世界の複数のオブジェクトが分けて描画された後に合成される映像の例を示す図である。図8に示す例では、車体のオブジェクトを前景Zとして描画したフレームP2と、外界の建物を近景Kとし山を遠景(背景)Eとして描画したフレームP1とがそれぞれ独立して生成されている。フレームP1は、映像補正部3により補正された後、フレームP2と合成される。その結果、フレームP3が生成される。
For example, in the above driving simulator, it is possible to draw the outside world and the vehicle body separately and synthesize both after performing correction. FIG. 8 is a diagram illustrating an example of an image that is synthesized after a plurality of objects in the virtual world are drawn separately. In the example shown in FIG. 8, a frame P2 drawn with the vehicle body object as the foreground Z and a frame P1 drawn with the outside building as the foreground K and the mountain as the background (background) E are generated independently. The frame P1 is corrected by the
図8に示す例の場合、仮想世界の主体である外界をサーバ12側の描画部22で描画し、描画負担の小さい車体をクライアント13側のローカル描画部11aで描画することができる。このようにすると、サーバ12側の映像は遅延するので補正する必要があるが、クライアント13側の映像については映像生成にかかる時間が短く映像伝送による遅延の影響も少ないために補正する必要がない。
In the case of the example shown in FIG. 8, the outside world that is the subject of the virtual world can be drawn by the drawing unit 22 on the
本実施形態では、クライアント13に、ローカル描画部11aが設けられる。また、例えば、車体を描画するためのモデルデータやテクスチャデータを含むローカル描画データがクライアント13に記録される。なお、ローカル描画データはあらかじめクライアント13側に記録しておいてもよいし、サーバ12と接続した後で必要な分だけサーバ12からダウンロードしてもよい。シミュレーション部5によって更新されたオブジェクトの情報(位置、姿勢、属性など)は、サーバ12の映像生成部2と、クライアント13のローカル描画部11aへ送られる。一例として、映像生成部2へは、近景および遠景の映像を生成するための外界に関する情報が、ローカル描画部11aへは車体と内装を描画するための情報が送られることになる。ローカル描画部11aへ送られる更新情報は、更新情報送信部15および更新情報受信部25を通して送られる。更新情報は、例えば、ローカル描画部11aの描画対象のオブジェクトの属性のうち更新された属性を示すデータとすることができる。更新情報のデータサイズは、映像情報に比べて、送受信の遅延時間は無視できる程度である小さいことが好ましい。
In the present embodiment, the
ローカル描画部11aは、シミュレーション部5から、視野送信部16および視野受信部26を介して送られてきた最新の表示すべき視野と、更新情報送信部15、更新情報受信部25を介して送られてきたローカル描画データとを用いて映像生成を行う。そして、合成部9が、映像補正部3によって補正された映像と、ローカル描画部11aによって生成された映像とを重ね合わせて合成する。ローカル描画部11aは、描画を担当するオブジェクトが写っていない映像の領域(図8の例では、車体以外の領域)を透明としておくことにより、分担して描画した結果を重ね合わせることによって一つの映像に合成することができる。図8の例では、車体と、その向こう側に見える外界とが正しく合成される。
The
図8に示す車体と外界に分ける例のように、オブジェクトを前後に交わらないように分けられる場合には、合成部9による映像の合成は単純な重ね合わせでよい。しかし、車体の上に乗ってくるオブジェクトがある場合など、奥行き方向に重なりが出てくると、単純な重ね合わせによる合成では正しく合成できない場合が出てくる。その場合、合成部9は、それぞれの映像を描画する時に用いられたZバッファの内容を活用することで、正しい合成が可能になる。Zバッファは映像の奥行き方向の情報を記録するメモリ領域である。例えば、描画結果受信部28および更新情報受信部25は、それぞれの映像にZバッファの内容を付属させて受信し、合成部9では、各ピクセルのZバッファの値を比較して手前にある方のピクセルの色を採用しながら重ね合わせ合成を行うことができる。サーバ12側で描画した映像については、合成の前に、映像そのものと全く同じ補正をZバッファの内容についても行うことができる。これにより、単純な重ね合わせだけでは奥行き方向の位置関係を正しく表示できない場合でも、適切に映像を合成することができる。
As in the example of dividing the vehicle body and the outside shown in FIG. 8, when the objects are separated so as not to cross each other, the composition of the video by the composition unit 9 may be simple superposition. However, if there is an overlap in the depth direction, such as when there is an object riding on the vehicle body, there may be cases where the composition cannot be performed correctly by simple composition. In that case, the synthesizing unit 9 can correctly synthesize by utilizing the contents of the Z buffer used when drawing each video. The Z buffer is a memory area for recording information in the depth direction of video. For example, the drawing
なお、本実施形態における第二の映像生成の処理および合成処理の例は、上記第1の実施形態にも適用することができる。 Note that the example of the second video generation process and the synthesis process in the present embodiment can also be applied to the first embodiment.
[遅延の隠蔽]
図9は、図3に示すシミュレーションシステムの動作例を示す処理フロー図である。図9に示す例では、シミュレーション部5が、操作入力があった時点TN-4、TN-3、TN-2、TN-1、TNで仮想世界のオブジェクトデータの更新と、表示すべき視野の更新を実行する。なお、シミュレーション部5は操作入力のタイミングとは別に、一定周期で更新処理を実行してもよい。
[Concealment of delay]
FIG. 9 is a process flow diagram illustrating an operation example of the simulation system illustrated in FIG. 3. In the example illustrated in FIG. 9, the
例えば、時刻TN-4における更新処理(Op1)においてシミュレーション部5は、更新した表示すべき視野を描画視野算出部1へ通知する。描画視野算出部1は、シミュレーション部5から表示すべき視野を受けると、描画すべき視野の計算(Op2)を開始する。描画視野算出部1が計算した描画すべき視野は、描画部22aに渡され、描画部22aが描画すべき視野の映像を生成する(Op3)。生成された映像は、映像エンコーダ17による圧縮、描画結果送信部18によるクライアント13への送信、クライアント13の描画結果受信部28による受信、映像デコーダ27による伸長を経て(Op4)、映像補正部3へ渡される。映像補正部3は、映像を受けると、ほぼ同時に、Op5においてシミュレーション部5により時刻TNにおいて更新された最新の表示すべき視野も受け取る。映像補正部3は、最新の表示すべき視野の範囲が表示されるよう映像を補正する(Op6)。
For example, in the update process (Op1) at time T N-4 , the
図9に示す処理では、実際には、時刻TN-4におけるシミュレーション部5の更新処理開始から、映像補正部3による補正完了までの時間TD1だけ遅延が発生している。しかし、映像補正部3で補正された映像は、時刻TNにおいて更新された表示すべき視野の映像に近いものとなっている。そのため、補正後の映像を見たユーザが感じる遅延、すなわち見かけの遅延は、時刻TNから補正完了までの時間TD2になる。
In the process shown in FIG. 9, a delay is actually generated by a time TD1 from the start of the update process of the
このように、本実施形態では、映像の生成や転送にある程度の遅延があっても、ユーザの操作入力に対して映像が遅れずに応答しているように見せかけることができる。そのため、映像の遅延による違和感を大幅に低減することができる。これにより、例えば、並列描画を行う大規模なサーバで映像生成を行い、映像をクライアントからネットワークを介してリアルタイムで利用するシステムを構築することが可能になる。すなわち、高品質あるいは大量のデータを用いた映像生成が可能だが遅延が避けられないシミュレータにおいて、これまで困難であったリアルタイム・高レスポンスでのネットワークを介した利用が可能になる。 As described above, in this embodiment, even if there is a certain delay in the generation and transfer of the video, it is possible to make it appear that the video is responding to the user's operation input without delay. Therefore, it is possible to greatly reduce the uncomfortable feeling caused by the delay of the video. Thereby, for example, it is possible to construct a system in which video is generated by a large-scale server that performs parallel drawing and the video is used in real time from the client via the network. In other words, in a simulator that can generate video using high quality or a large amount of data, but delay is inevitable, it can be used over a network with real time and high response, which has been difficult until now.
例えば、仮想世界の映像生成をサーバコンピュータで行い、結果の映像を、ネットワークを通じてクライアントコンピュータへ転送する構成を採ることにより、高い描画性能や大量のデータをサーバコンピュータ側に集約することができるようになる。これにより、クライアントコンピュータに必要とされる性能が低減され、シミュレータを多数の利用者へ展開することが、コストや手間の面で容易になる。オンラインの3Dゲームであれば、各プレーヤの用意するコンピュータが安価で標準的な性能のものであっても、その性能を超えた高品質な映像を楽しめるようになる。 For example, it is possible to collect high rendering performance and a large amount of data on the server computer side by adopting a configuration in which video generation of the virtual world is performed by the server computer and the resulting video is transferred to the client computer through the network. Become. As a result, the performance required for the client computer is reduced, and it is easy in terms of cost and labor to deploy the simulator to a large number of users. If it is an online 3D game, even if the computer provided by each player is inexpensive and has a standard performance, it will be possible to enjoy high-quality video that exceeds that performance.
このようなネットワークを介して利用可能なシミュレータでは、サーバコンピュータが描画した映像を、フレームレートの低下を防ぐためにコーデックによる圧縮・伸張を行いつつネットワークを通じて伝送すると、ユーザの操作に対する映像の遅延を避けることができない。本実施形態によれば、この遅延を隠蔽し、出力の映像の違和感を低減することができる。そのため、操作に対する素早いレスポンスが必要なアプリケーションをネットワーク経由で利用することが可能になる。また、オンラインの3Dゲームについても、高品質な描画をサーバコンピュータで行い、クライアントで映像を表示する構成が実現できる。 In such a simulator that can be used via a network, if the video drawn by the server computer is transmitted through the network while being compressed / decompressed by a codec to prevent a decrease in the frame rate, a delay in the video with respect to the user's operation is avoided. I can't. According to the present embodiment, this delay can be concealed, and the uncomfortable feeling of the output video can be reduced. Therefore, an application that requires a quick response to an operation can be used via the network. For online 3D games, it is possible to realize a configuration in which high-quality drawing is performed by a server computer and video is displayed by a client.
[コンピュータ構成]
図3に示すシミュレーションシステムのサーバ12およびクライアント13は、それぞれ独立したコンピュータにより構成することができる。それぞれのコンピュータは、第1の実施形態と同様、汎用コンピュータであってもよいし、専用機でもよい。また、コンピュータは、CPUのほか、DSPのような画像処理専用プロセッサを含んでもよい。例えば、サーバ12の映像生成部2における描画部22a、22b、22cは、それぞれ3台の独立したプロセッサで構成することができる。
[Computer configuration]
The
また、シミュレーション部5、描画視野算出部1と、映像生成部2に、映像生成部2が生成した映像と、前記映像の前記描画すべき視野の基となった前記表示すべき視野と、前記映像の生成開始後に計算された新たな表示すべき視野とを、映像補正部3を有するクライアント装置へ送信する送信部を備えた模擬映像生成装置も本発明の実施形態に含まれる。
Further, the
さらに、シミュレーション部5を有するサーバ装置から、映像生成時の表示すべき視野より広い視野である描画すべき視野と、仮想世界を表すデータを基に生成された当該描画すべき視野の映像と、当該映像の生成開始後に計算された新たな表示すべき視野とを受信する受信部と、映像補正部3と、映像補正部3で補正された映像を表示する表示部4(出力部の一例)を備えた模擬映像表示装置も本発明の実施形態に含まれる。
Furthermore, from the server device having the
1 描画視野算出部
2 映像生成部
3 映像補正部
4 表示部
5 シミュレーション部
6 入力部
7 描画視野保持部
8 表示視野保持部
9 合成部
10、10a シミュレーション装置
11 第二の映像生成部
12 シミュレータサーバ(サーバ装置)
13 シミュレータクライアント(クライアント装置)
DESCRIPTION OF
13 Simulator client (client device)
Claims (11)
第1の時刻に、前記シミュレーション部により計算された第1の表示すべき視野より広い視野である描画すべき視野を計算する描画視野算出部と、
前記描画すべき視野に対応する第1の映像の生成を、前記仮想世界を表すデータを基に前記第1の時刻の直後に開始する映像生成部と、
前記第1の映像の生成開始後の第2の時刻に前記シミュレーション部により計算された第2の表示すべき視野を用いて、前記第2の時刻の直後に、前記第1の映像を前記第2の表示すべき視野に対応する第2の映像に補正する映像補正部とを備え、
前記描画視野算出部は、前記第1の時刻に、前記第2の時刻における前記第2の表示すべき視野を所定の方法で予測して計算し、前記描画すべき視野が前記第1の表示すべき視野および予測した前記第2の表示すべき視野を含んだ視野となるように、前記描画すべき視野の計算を行う
ことを特徴とする模擬映像生成装置。 A simulation unit that updates data representing a virtual world according to an operation input from a user or the passage of time, and calculates a visual field to be displayed in the virtual world;
A drawing field calculation unit that calculates a field of view to be drawn which is a field of view wider than the first field of view calculated by the simulation unit at a first time;
A video generation unit that starts generating the first video corresponding to the visual field to be drawn immediately after the first time based on the data representing the virtual world;
Using the second field of view to be displayed calculated by the simulation unit at a second time after the generation of the first video, the first video is displayed immediately after the second time. A video correction unit that corrects the second video corresponding to the field of view to be displayed,
The drawing visual field calculation unit predicts and calculates the second visual field to be displayed at the second time by a predetermined method at the first time, and the visual field to be drawn is the first display. as the inclusive vision field to should do field and predicted the second display field to be simulated image generating apparatus, characterized in that the calculation of the visual field to be the drawing.
前記映像補正部により補正された前記第2の映像と、前記第二の映像生成部により生成された前記第3の映像とを合成する合成部とをさらに備える、請求項1または2に記載の模擬映像生成装置。 A second video generation unit that generates a third video showing a part of the virtual world in the new field of view to be displayed based on the new field of view to be displayed calculated after the generation of the first video is started. When,
The said 2nd image | video corrected by the said image | video correction | amendment part and the synthetic | combination part which synthesize | combines the said 3rd image | video produced | generated by the said 2nd image | video production | generation part are further provided. Simulated video generation device.
前記サーバ装置は、
ユーザからの操作入力または時間経過に応じて、仮想世界を表すデータを更新し、仮想世界における表示すべき視野を計算するシミュレーション部と、
第1の時刻に、前記シミュレーション部により計算された第1の表示すべき視野より広い視野である描画すべき視野を計算する描画視野算出部と、
前記描画すべき視野に対応する第1の映像の生成を、前記仮想世界を表すデータを基に前記第1の時刻の直後に開始する映像生成部と、
前記第1の映像と、前記第1の映像の前記描画すべき視野の基となった前記第1の表示すべき視野と、前記第1の映像の生成開始後の第2の時刻に前記シミュレーション部により計算された第2の表示すべき視野とを前記クライアント装置へ前記第2の時刻の直後に送信する送信部と、を有し、
前記クライアント装置は、
前記映像の生成開始後に計算された前記受信した第2の表示すべき視野を用いて、前記受信した第1の映像を前記受信した第2の表示すべき視野に対応する第2の映像に補正する映像補正部を有し、
前記描画視野算出部は、前記第1の時刻に、前記第2の時刻における前記第2の表示すべき視野を所定の方法で予測して計算し、前記描画すべき視野が前記第1の表示すべき視野および予測した前記第2の表示すべき視野を含んだ視野となるように、前記描画すべき視野の計算を行う
ことを特徴とするシミュレーションシステム。 A simulation system including a server device and a client device,
The server device
A simulation unit that updates data representing a virtual world according to an operation input from a user or the passage of time, and calculates a visual field to be displayed in the virtual world;
A drawing field calculation unit that calculates a field of view to be drawn which is a field of view wider than the first field of view calculated by the simulation unit at a first time;
A video generation unit that starts generating the first video corresponding to the visual field to be drawn immediately after the first time based on the data representing the virtual world;
The first video, the first visual field to be displayed that is the basis of the visual field to be drawn of the first video, and the simulation at a second time after the start of the generation of the first video A transmission unit that transmits the second field of view to be displayed calculated by the unit to the client device immediately after the second time,
The client device is
Using the received second field of view to be displayed calculated after the start of generation of the image, the received first image is corrected to a second image corresponding to the received second field of view to be displayed. A video correction unit that
The drawing visual field calculation unit predicts and calculates the second visual field to be displayed at the second time by a predetermined method at the first time, and the visual field to be drawn is the first display. as the inclusive vision field to should do field and predicted the second display field to be a simulation system, characterized in that the calculation of the to be rendered field.
第1の時刻に、前記シミュレーション部により計算された第1の表示すべき視野より広い視野である描画すべき視野を計算する描画視野算出部と、
前記描画すべき視野に対応する第1の映像の生成を、前記仮想世界を表すデータを基に前記第1の時刻の直後に開始する映像生成部と、
前記第1の映像と、前記第1の映像の前記描画すべき視野の基となった前記第1の表示すべき視野と、前記第1の映像の生成開始後の第2の時刻に前記シミュレーション部により計算された前記第2の表示すべき視野とを、前記第1の映像を前記第2の表示すべき視野に対応する第2の映像に補正する映像補正部を有するクライアント装置へ前記第2の時刻の直後に送信する送信部とを備え、
前記描画視野算出部は、前記第1の時刻に、前記第2の時刻における前記第2の表示すべき視野を所定の方法で予測して計算し、前記描画すべき視野が前記第1の表示すべき視野および予測した前記第2の表示すべき視野を含んだ視野となるように、前記描画すべき視野の計算を行う
ことを特徴とする模擬映像生成装置。 A simulation unit that updates data representing a virtual world according to an operation input from a user or the passage of time, and calculates a visual field to be displayed in the virtual world;
A drawing field calculation unit that calculates a field of view to be drawn which is a field of view wider than the first field of view calculated by the simulation unit at a first time;
A video generation unit that starts generating the first video corresponding to the visual field to be drawn immediately after the first time based on the data representing the virtual world;
The first video, the first visual field to be displayed that is the basis of the visual field to be drawn of the first video, and the simulation at a second time after the start of the generation of the first video To the client device having a video correction unit that corrects the first visual field calculated by the unit to a second video corresponding to the second visual field to be displayed. A transmission unit that transmits immediately after the time of 2,
The drawing visual field calculation unit predicts and calculates the second visual field to be displayed at the second time by a predetermined method at the first time, and the visual field to be drawn is the first display. as the inclusive vision field to should do field and predicted the second display field to be simulated image generating apparatus, characterized in that the calculation of the visual field to be the drawing.
前記第1の映像の生成開始後の前記第2の時刻に計算された前記受信した第2の表示すべき視野を用いて、前記描画すべき視野に対応する前記第1の映像を前記第2の表示すべき視野に対応する第2の映像に補正する映像補正部と、
前記補正された映像を表示する出力部とを備え、
前記受信部は、前記第2の時刻の直後に、前記第1の時刻に前記シミュレーション部により所定の方法で予測された前記第2の表示すべき視野を受信し、
前記映像補正部は、前記第1の表示すべき視野および前記予測された前記第2の表示すべき視野を含んだ視野となるように前記シミュレーション部により前記第1の時刻に計算された前記描画すべき視野を基に、前記受信した第2の表示すべき視野を用いて、前記第1の映像を前記第2の映像に補正する
ことを特徴とする模擬映像表示装置。 Calculated by the simulation unit at a first time from a server device provided with a simulation unit that updates data representing the virtual world and calculates the visual field to be displayed in the virtual world according to an operation input from the user or the passage of time. A visual field to be drawn which is a wider visual field than the first visual field to be displayed, a first video corresponding to the visual field to be drawn generated based on data representing the virtual world, and the first A receiving unit that receives the second field of view to be displayed calculated by the simulation unit at a second time after the start of video generation;
Using the received second field of view to be displayed calculated at the second time after the start of generation of the first image, the first image corresponding to the field of view to be drawn is the second A video correction unit that corrects the second video corresponding to the field of view to be displayed;
An output unit for displaying the corrected video,
The receiving unit receives the second field of view to be displayed, which is predicted by the simulation unit at a first method at the first time immediately after the second time,
The image correction unit, the first of said calculated for the first time by the simulation unit such that the inclusive vision field of vision to be displayed and the predicted second display field of view to be A simulated video display device, wherein the first video is corrected to the second video using the received second visual field to be displayed based on the visual field to be drawn.
第1の時刻に、前記シミュレーション処理により計算された第1の表示すべき視野より広い視野である描画すべき視野を計算する描画視野算出処理と、
前記描画すべき視野に対応する第1の映像の生成を、前記仮想世界を表すデータを基に前記第1の時刻の直後に開始する映像生成処理と、
前記第1の映像の生成開始後の第2の時刻に前記シミュレーション処理により計算された第2の表示すべき視野を用いて、前記第2の時刻の直後に、前記第1の映像を前記第2の表示すべき視野に対応する第2の映像に補正する映像補正処理とをコンピュータに実行させ、
前記描画視野算出処理は、前記第1の時刻に、前記第2の時刻における前記第2の表示すべき視野を所定の方法で予測して計算し、前記描画すべき視野が前記第1の表示すべき視野および予測した前記第2の表示すべき視野を含んだ視野となるように、前記描画すべき視野の計算を行う
ことを特徴とする模擬映像生成プログラム。 A simulation process for updating the data representing the virtual world according to the operation input from the user or the passage of time, and calculating the visual field to be displayed in the virtual world,
A drawing visual field calculation process for calculating a visual field to be drawn which is a visual field wider than the first visual field to be displayed calculated by the simulation process at a first time;
Video generation processing for starting generation of the first video corresponding to the visual field to be drawn immediately after the first time based on the data representing the virtual world;
Using the second field of view to be displayed calculated by the simulation process at a second time after the start of generation of the first video, the first video is displayed immediately after the second time. And a video correction process for correcting the second video corresponding to the field of view to be displayed.
The drawing visual field calculation process predicts and calculates the second visual field to be displayed at the second time by a predetermined method at the first time, and the visual field to be drawn is the first display. as will be inclusive vision field to should do field and predicted the second display field to be simulated image generation program, characterized in that the calculation of the visual field to be the drawing.
プロセッサが、第1の時刻に、前記シミュレーション工程により計算された第1の表示すべき視野より広い視野である描画すべき視野を計算する描画視野算出工程と、
プロセッサが、前記描画すべき視野に対応する第1の映像の生成を、前記仮想世界を表すデータを基に前記第1の時刻の直後に開始する映像生成工程と、
プロセッサが、前記第1の映像の生成開始後の第2の時刻に前記シミュレーション工程により計算された第2の表示すべき視野を用いて、前記第2の時刻の直後に、前記第1の映像を前記第2の表示すべき視野に対応する第2の映像に補正する映像補正工程と含み、
前記描画視野算出工程は、前記第1の時刻に、前記第2の時刻における前記第2の表示すべき視野を所定の方法で予測して計算し、前記描画すべき視野が前記第1の表示すべき視野および予測した前記第2の表示すべき視野を含んだ視野となるように、前記描画すべき視野の計算を行う
ことを特徴とする模擬映像生成方法。
A simulation process in which a processor of a computer updates data representing a virtual world in response to an operation input from a user or the passage of time, and calculates a visual field to be displayed in the virtual world;
A drawing visual field calculation step in which the processor calculates a visual field to be drawn which is a visual field wider than the first visual field to be displayed calculated by the simulation step at a first time;
A video generation step in which a processor starts generating a first video corresponding to the visual field to be drawn immediately after the first time based on data representing the virtual world;
The processor uses the second field of view to be displayed calculated by the simulation process at a second time after the start of the generation of the first video, and immediately after the second time, the first video And a video correction step of correcting the second video corresponding to the field of view to be displayed,
The drawing visual field calculation step predicts and calculates the second visual field to be displayed at the second time by a predetermined method at the first time, and the visual field to be drawn is the first display. as the inclusive vision field to should do field and predicted the second display field to be simulated image generating method characterized in that the calculation of the to be rendered field.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010172630A JP5652037B2 (en) | 2010-07-30 | 2010-07-30 | Simulated video generation device, method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010172630A JP5652037B2 (en) | 2010-07-30 | 2010-07-30 | Simulated video generation device, method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012033038A JP2012033038A (en) | 2012-02-16 |
JP5652037B2 true JP5652037B2 (en) | 2015-01-14 |
Family
ID=45846359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010172630A Expired - Fee Related JP5652037B2 (en) | 2010-07-30 | 2010-07-30 | Simulated video generation device, method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5652037B2 (en) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5821745B2 (en) * | 2012-03-28 | 2015-11-24 | 富士通株式会社 | Simulation method, simulation apparatus, and simulation program |
JP6087603B2 (en) * | 2012-12-04 | 2017-03-01 | 三菱プレシジョン株式会社 | Image generation device |
CN105229719B (en) * | 2013-03-15 | 2018-04-27 | 奇跃公司 | Display system and method |
JP6353214B2 (en) | 2013-11-11 | 2018-07-04 | 株式会社ソニー・インタラクティブエンタテインメント | Image generating apparatus and image generating method |
JP6474278B2 (en) * | 2015-02-27 | 2019-02-27 | 株式会社ソニー・インタラクティブエンタテインメント | Image generation system, image generation method, program, and information storage medium |
JP2017215875A (en) * | 2016-06-01 | 2017-12-07 | 株式会社ソニー・インタラクティブエンタテインメント | Image generation device, image generation system, and image generation method |
JP2017228044A (en) | 2016-06-21 | 2017-12-28 | 株式会社ソニー・インタラクティブエンタテインメント | Image forming device, image generation system, and image generation method |
US10529063B2 (en) * | 2016-08-22 | 2020-01-07 | Magic Leap, Inc. | Virtual, augmented, and mixed reality systems and methods |
IL301071B2 (en) | 2016-08-26 | 2024-04-01 | Magic Leap Inc | Continuous time warp and binocular time warp for virtual and augmented reality display systems and methods |
US10410349B2 (en) * | 2017-03-27 | 2019-09-10 | Microsoft Technology Licensing, Llc | Selective application of reprojection processing on layer sub-regions for optimizing late stage reprojection power |
JP6944863B2 (en) | 2017-12-12 | 2021-10-06 | 株式会社ソニー・インタラクティブエンタテインメント | Image correction device, image correction method and program |
US11270673B2 (en) | 2018-05-28 | 2022-03-08 | Sony Interactive Entertainment Inc. | Image generation apparatus, image generation method, and program |
JP7156937B2 (en) | 2018-12-27 | 2022-10-19 | フォルシアクラリオン・エレクトロニクス株式会社 | Image processing device and image processing method |
JP7324935B2 (en) * | 2020-03-27 | 2023-08-10 | 株式会社安川電機 | ROBOT CONTROL SYSTEM, ROBOT CONTROL METHOD, AND ROBOT CONTROL PROGRAM |
WO2021199128A1 (en) * | 2020-03-30 | 2021-10-07 | 株式会社ソニー・インタラクティブエンタテインメント | Image data transfer device, image generation method and computer program |
US20230139216A1 (en) * | 2020-03-30 | 2023-05-04 | Sony Interactive Entertainment Inc. | Image display system, image processing device, and image display method |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05324799A (en) * | 1992-05-15 | 1993-12-07 | Hitachi Ltd | Method and device for virtual reality control |
JPH09190547A (en) * | 1996-01-11 | 1997-07-22 | Hitachi Ltd | Image compositing and display device and its method |
JPH11153987A (en) * | 1997-11-19 | 1999-06-08 | Olympus Optical Co Ltd | Graphic display device |
JP2004109994A (en) * | 2002-08-30 | 2004-04-08 | Olympus Corp | Head mounted image display system device and image processing method therefor |
JP2005309638A (en) * | 2004-04-20 | 2005-11-04 | Sony Corp | Server device, display device, display system, display method and its program |
JP5067935B2 (en) * | 2007-09-14 | 2012-11-07 | 有限会社メイキング | Simulation device |
-
2010
- 2010-07-30 JP JP2010172630A patent/JP5652037B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012033038A (en) | 2012-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5652037B2 (en) | Simulated video generation device, method, and program | |
JP6898430B2 (en) | Continuous Time Warping and Binocular Time Warping and Methods for Virtual Reality and Augmented Reality Display Systems | |
RU2638776C1 (en) | Image generating device and method | |
EP3760287A1 (en) | Method and device for generating video frames | |
US10410562B2 (en) | Image generating device and image generating method | |
JP4989417B2 (en) | Image display system, image display apparatus, control method therefor, and computer program | |
CN109479114A (en) | Light-field capture | |
JP7030010B2 (en) | Stereoscopic image depth compression device and stereoscopic image depth compression program | |
TWI653551B (en) | Method and program for transmitting and playing virtual reality image | |
CN114401414A (en) | Immersive live broadcast information display method and system and information push method | |
KR20170031676A (en) | Method and program for transmitting and playing virtual reality image | |
JP2003153263A (en) | Video display system and its method | |
KR101874111B1 (en) | Method and program for playing virtual reality image | |
CN111345037B (en) | Virtual reality image providing method and program using the same | |
JP7262973B2 (en) | Information processing device, information processing method and program | |
JP2017134775A (en) | Image processing apparatus, image processing method, and program | |
KR102192153B1 (en) | Method and program for providing virtual reality image | |
JP5229921B2 (en) | GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM | |
JP2020106655A (en) | Information processor, information processing method and program | |
JP7354186B2 (en) | Display control device, display control method, and display control program | |
EP4336459A1 (en) | Information processing device, information processing method, and program | |
WO2024004321A1 (en) | Image processing device, head-mounted display device, control method for image processing device, control method for head-mounted display device, and program | |
JP2011048545A (en) | Image synthesizing device and program | |
JP2020071394A (en) | Information processing device, information processing method, and program | |
KR20180101282A (en) | Method and program for playing virtual reality image |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130604 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20130701 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20130702 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140310 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140408 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140606 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140722 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140908 |
|
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: 20141021 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141103 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5652037 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |