JP5983550B2 - 3次元画像生成装置及び3次元画像生成方法 - Google Patents

3次元画像生成装置及び3次元画像生成方法 Download PDF

Info

Publication number
JP5983550B2
JP5983550B2 JP2013148510A JP2013148510A JP5983550B2 JP 5983550 B2 JP5983550 B2 JP 5983550B2 JP 2013148510 A JP2013148510 A JP 2013148510A JP 2013148510 A JP2013148510 A JP 2013148510A JP 5983550 B2 JP5983550 B2 JP 5983550B2
Authority
JP
Japan
Prior art keywords
objects
mesh
drawing command
vertex attribute
attribute conversion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013148510A
Other languages
English (en)
Other versions
JP2014130563A (ja
Inventor
和行 中田
和行 中田
健太郎 梶田
健太郎 梶田
壮樹 松本
壮樹 松本
巧 石川
巧 石川
雄介 井上
雄介 井上
サラルディ マッテオ
サラルディ マッテオ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2013148510A priority Critical patent/JP5983550B2/ja
Priority to KR1020157009410A priority patent/KR101658852B1/ko
Priority to DE112013005715.8T priority patent/DE112013005715T5/de
Priority to US14/646,906 priority patent/US9536343B2/en
Priority to CN201380060268.8A priority patent/CN104937639B/zh
Priority to PCT/JP2013/006514 priority patent/WO2014083776A1/ja
Publication of JP2014130563A publication Critical patent/JP2014130563A/ja
Application granted granted Critical
Publication of JP5983550B2 publication Critical patent/JP5983550B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、制御手段が描画コマンドを描画手段に転送することで、その描画コマンドにより指示されたオブジェクトに対して頂点属性変換を行って当該オブジェクトを描画する3次元画像生成装置、及び3次元画像生成方法に関する。
従来より、仮想3次元空間において管理されるオブジェクト(仮想物体)を計算によりコンピュータのスクリーン平面に投影して描画する3次元コンピュータグラフィックス(以下、3DCGと称する)の技術が供されている。3DCGでは多くの演算資源を必要とする。そのため、描画に関する一連の処理をCPU(Central Processing Unit)のみで行う構成ではなく、専用のハードウェア資源であるGPU(Graphics Processing Unit)を設けることで、描画に関する一連の処理をCPUとGPUとが連携して行う構成が一般的である(例えば特許文献1参照)。
特開2007−334739号公報
この種の3DCGでは、オブジェクトを描画する際には、CPUが1つのオブジェクト毎に描画コマンドをGPUに転送する。そして、GPUが描画コマンドにより指示されたオブジェクトに対して頂点属性変換を行い、その頂点属性変換を行ったオブジェクトを描画する。ところが、このように1つのオブジェクト毎に描画コマンドを転送する手法では、描画対象となるオブジェクト数(オブジェクトの数)が増加すると、GPUが描画コマンドの関数呼び出しのオーバーヘッドに費やす時間が線形的に増加し、描画速度が低下する。
このような描画速度が低下するという問題に対し、3次元画像の基礎となるグラフィックスデータを制作する過程において、オブジェクトを可能な限り連結しておく技術も存在する。しかしながら、動き(挙動)が同じオブジェクト同士では連結可能であるが、一方、動きが異なるオブジェクト同士では連結不可能であるという事情から、描画速度の低下を改善するには限度がある。又、グラフィックスデータを制作する過程が複雑化するという新たな問題も発生する。
本発明は、上記した事情に鑑みてなされたものであり、その目的は、3次元画像の基礎となるグラフィックスデータを制作する過程に何ら影響を与えることなく、描画速度を高めることができる3次元画像生成装置及び3次元画像生成方法を提供することにある。
請求項1に記載した発明によれば、制御手段は、3次元画像を構成するオブジェクトの描画を指示する描画コマンドを転送する。描画手段は、制御手段から描画コマンドを取得すると、その描画コマンドにより指示されたオブジェクトに対して頂点属性変換を行って当該オブジェクトを描画する。ここで、連結手段は、連結グループ内で最初に出現したオブジェクトのメッシュを連結代表のメッシュとし、前記連結グループ内で2番目以降に出現したオブジェクトのメッシュを連結メンバーのメッシュとし、前記連結メンバーのメッシュが前記連結代表へのポインタを参照することにより、予め規定されている連結条件を満たす複数のオブジェクトのメッシュを連結する。制御手段は、連結手段によりメッシュが連結された複数のオブジェクトに対して頂点属性変換を事前に行い、その頂点属性変換を行った複数のオブジェクトを纏めて1つのオブジェクトと見做して当該オブジェクトの描画を指示する描画コマンドを転送する。描画手段は、頂点属性変換を行った複数のオブジェクトを纏めて1つのオブジェクトと見做して当該オブジェクトの描画を指示する描画コマンドを制御手段から取得すると、その描画コマンドにより指示された1つのオブジェクトと見做された複数のオブジェクトを纏めて描画する。
即ち、制御手段において、1つのオブジェクト毎に描画コマンドを転送する従来の手法とは異なり、メッシュが連結された複数のオブジェクトに対して頂点属性変換を事前に行い、頂点属性変換を行った複数のオブジェクトを纏めて1つのオブジェクトと見做して当該オブジェクトの描画を指示する描画コマンドを転送するようにした。これにより、描画手段が描画コマンドの関数呼び出しのオーバーヘッドに費やす時間を抑えることができ、描画速度を高めることができる。この場合、3次元画像の基礎となるグラフィックスデータを制作する過程でオブジェクトを可能な限り連結する必要もないので、グラフィックスデータを制作する過程に何ら影響を与えることもない。
要するに、例えば比較的複雑な形状である頂点数(頂点の数)が相対的に多いオブジェクトを描画する際には、描画コマンドの関数呼び出しのオーバーヘッドに費やす時間が全体の処理時間(描画に関する一連の処理に費やす時間)に対して占める割合が相対的に小さいが、一方、比較的単純な形状である頂点数が相対的に少ないオブジェクトを描画する際には、描画コマンドの関数呼び出しのオーバーヘッドに費やす時間が全体の処理時間に対して占める割合が相対的に大きいので、頂点数が相対的に少ないオブジェクトを多量に描画する場合に効果的である。
本発明の一実施形態を示す機能ブロック図 シーングラフの構造を示す図 CPUが実行するトラバース処理を示すフローチャート CPUが実行する描画コマンド転送処理を示すフローチャート GPUが実行する描画処理を示すフローチャート グラフィックスパイプラインに沿って処理の流れを示す図 メッシュを連結する態様を示す図 描画時間を示す図 シミュレーションの結果及びCPUの負荷の測定結果を示す図 GPUの負荷の測定結果を示す図 実際の処理時間を示す図 連結グループに分類した態様を示す図 処理時間の測定結果を示す図
以下、本発明の一実施形態について、図面を参照して説明する。3次元画像生成装置1は、CPU(Central Processing Unit)2(制御手段、連結手段)と、GPU(Graphics Processing Unit)3(描画手段)と、RAM(Random Access Memory)4と、VRAM(Video RAM)5と、ROM(Read Only Memory)6とを有する。
ROM6は、グラフィックスデータ(3次元モデルデータ)を記憶している。グラフィックスデータは、3次元画像の基礎となるデータであり、3次元画像を構成する複数の要素データから構成される。CPU2は、ROM6からグラフィックスデータを読出し(取込み)、その読出したグラフィックスデータに基づいてシーングラフをRAM4上に構築する。シーングラフは、オブジェクトを階層的にグループ化したツリー構造である。シーングラフの各ノードには、オブジェクトの形状、表面属性、モデル変換(位置、姿勢、拡大、縮小)等に関する情報が含まれている。
尚、CPU2は、ハードディスク装置やCD−ROM等の外部記憶装置に記憶されているグラフィックスデータを用いる場合であれば、外部記憶装置から読出したグラフィックスデータに基づいてシーングラフをRAM4上に構築しても良い。又、CPU2は、ネットワーク上のサーバに記憶されているグラフィックスデータを用いる場合であれば、サーバから通信回線を介してダウンロードしたグラフィックスデータに基づいてシーングラフをRAM4上に構築しても良い。又、グラフィックスデータの一部がRAM4に記憶されていても良く、CPU2は、RAM4からグラフィックスデータを読出し、その読出したグラフィックスデータに基づいてシーングラフをRAM4上に構築しても良い。
CPU2は、シーングラフをRAM4上に構築すると、その構築したシーングラフに対して後述するトラバース処理を行う。CPU2は、トラバース処理においては、シーングラフに属する全てのオブジェクトを対象として後述する連結グループに含まれる(連結条件を満たす)か否かを判定する。CPU2は、連結グループに含まれないと判定したオブジェクトに対しては、そのオブジェクトの描画を指示する描画コマンドをGPU3に転送する。一方、CPU2は、連結グループに含まれると判定したオブジェクトに対しては、連結グループに含まれる複数のオブジェクトのメッシュを連結し、そのメッシュを連結した複数のオブジェクトに対して頂点属性変換を事前に(描画コマンドを転送する前に)行う。そして、CPU2は、その頂点属性変換を行った複数のオブジェクトを1つのオブジェクトと見做して当該オブジェクトの描画を指示する描画コマンドをGPU3に転送する。
GPU3は、CPU2から描画コマンドを取得すると、後述する描画処理を行う。GPU3は、描画処理においては、描画コマンドにより指示されたオブジェクトが、既に頂点属性変換が行われたオブジェクトであるか否かを判定する。GPU3は、描画コマンドにより指示されたオブジェクトに対して頂点属性変換を行い、その頂点属性変換を行ったオブジェクトを描画する。
GPU3は、オブジェクトを描画する際に、塗りつぶし及び画像表示を行う。GPU3は、塗りつぶしとして、2次元スクリーンの座標に投影されたオブジェクトの頂点の内部に存在する画素に対して画素値や明るさを計算すると共に、オブジェクト毎に奥行きも計算し、それらの計算結果を画像データとしてVRAM5に記憶する。又、GPU3は、画像表示として、VRAM5に記憶されている画像データを読出し、その読出した画像データをビデオ信号としてディスプレイ装置7に出力する。ディスプレイ装置7は、例えば3次元画像生成装置1が車両に適用される構成であれば、グラフィックスメータ等を表示する。グラフィックスメータは、インジケータ、指針、ダイアル、パネル、レーン、ターン・バイ・ターン(TBT)等の様々な情報を表示するメータである。グラフィックスメータに表示される情報は、描画対象となるオブジェクトが多量であるが、各オブジェクトは例えば長方形等の比較的単純な形状であり、1つずつのオブジェクトの頂点数が少ないという特徴がある。
図2はRAM4上に構築されるシーングラフの構造の一例を示している。図2は上記したグラフィックスメータのモデルを表現しており、メータがスピードメータ及びタコメータを有し、スピードメータが指針及び数字を有し、タコメータが文字、数字及び指針を有することを例示している。従来の手法では、CPU2は、メータ(1)、スピードメータ(2)、指針(3)、数字(4)、タコメータ(5)、文字(6)、数字(7)、指針(8)のオブジェクト毎に描画コマンドをGPU3に転送する。GPU3は、メータ(1)、スピードメータ(2)、指針(3)、数字(4)、タコメータ(5)、文字(6)、数字(7)、指針(8)の描画を指示する描画コマンドを順次取得すると、それぞれに対して頂点属性変換を順次行い、その頂点属性変換を行ったオブジェクトを順次描画する。
これに対して、本発明の手法では、予め連結条件を規定しておき、その規定した連結条件をCPU2に記憶させておく。CPU2において、連結条件を満たす複数のオブジェクトのメッシュを連結し、そのメッシュを連結した複数のオブジェクトに対して頂点属性変換を事前に(描画コマンドを転送する前に)行う。CPU2は、連結条件を満たすオブジェクトとして例えば数字(4)、文字(6)、数字(7)を1つの部品として見做し、それらのオブジェクトのメッシュを連結した場合であれば、そのメッシュを連結した複数のオブジェクトに対してそれぞれ頂点属性変換を行い、その後に、その頂点属性変換を行った複数のオブジェクトを1つのオブジェクトと見做して描画コマンドを転送する。GPU3は、メータ(1)、スピードメータ(2)、指針(3)、タコメータ(5)、指針(8)の描画を指示する描画コマンドを順次取得すると、それぞれに対して頂点属性変換を順次行い、その頂点属性変換を行ったオブジェクトを順次描画する。一方、GPU3は、数字及び文字(4,6,7)が1つの部品として見做されたオブジェクトの描画を指示する描画コマンドを取得すると、既にCPU2が頂点属性変換を行っているので、頂点属性変換を行うことなく描画する。本発明の手法では、1つのオブジェクト毎に描画コマンドを転送する従来の手法とは異なり、メッシュが連結された複数のオブジェクトに対して頂点属性変換を事前に行い、頂点属性変換を行った複数のオブジェクトを纏めて1つのオブジェクトと見做して当該オブジェクトの描画を指示する描画コマンドを転送することで、1つのオブジェクト毎に描画コマンドを転送する従来の手法とは異なり、従来の手法よりも描画手段が描画コマンドの関数呼び出しのオーバーヘッドに費やす時間を抑えることができ、描画速度を高めることができる(後述する図8参照)。
尚、オブジェクトのメッシュを連結する連結条件は以下の通りである。
(ア)同じマテリアル(質感)を参照しているオブジェクト同士のみを同じ連結グループとする。ここでいう質感とは、色、透明度、反射率、屈折率、凹凸等のオブジェクト表面の材質の設定を示し、具体的には、金属調の(金属のような)材質、ガラス調の(ガラスのような)材質、木目調の(木目のような)材質等である。
(イ)1つのオブジェクトは一度に1つの連結グループにのみ属する。
次に、上記した構成の作用について、図3から図13を参照して説明する。
本発明の手法では、CPU2はトラバース処理及び描画コマンド転送処理を行い、GPU3は描画処理を行う。トラバース処理は連結ステップ及び頂点属性変換ステップを含む。描画コマンド転送処理は描画コマンド転送ステップを含む。描画処理は描画ステップを含む。
CPU2は、トラバース処理を開始すると、トラバース先のオブジェクトを決定する(ステップS1)。次いで、CPU2は、その決定したトラバース先のオブジェクトが予め規定されている連結条件(同じマテリアルを参照しているか否かの条件)を満たす連結グループ内に含まれるオブジェクトであるか否かを判定する(ステップS2)。ここで、CPU2は、オブジェクトのメッシュが予め規定されている連結条件に合致し、連結グループ内に含まれるオブジェクトであると判定すると(ステップS2:YES)、その連結グループ内で最初に出現したオブジェクトであるか否かを判定する(ステップS3)。
CPU2は、その連結グループ内で最初に出現したオブジェクトであると判定すると(ステップS3:YES)、その連結グループの代表メッシュを描画対象メッシュ列に格納し(ステップS4)、頂点属性変換を行う(ステップS5〜S7)。一方、CPU2は、その連結グループ内で最初に出現したオブジェクトでない(2番目以降に出現したオブジェクトである)と判定すると(ステップS3:NO)、この場合も、頂点属性変換を行う(ステップS5〜S7)。CPU2は、頂点属性変換として、頂点変換を行い、頂点カラー/アルファ変換を行い、UV座標変換を行う。頂点変換とは、頂点の座標データを、移動、拡大、縮小、回転等して変換する処理である。頂点カラー/アルファ変換とは、オブジェクトに対して色、透明度を反映して変換する処理である。UV座標変換とは、3次元の平面に画像を貼り込むために画像位置と平面の頂点を対応付けて変換する処理である。
図6を参照して説明すると、図6では、メッシュ1が連結グループ内で最初に出現したオブジェクトのメッシュ、即ち、連結代表のメッシュである。又、メッシュ2及び3が連結グループ内で2番目以降に出現したオブジェクトのメッシュ、即ち、連結メンバー(連結代表以外)のメッシュである。この場合、連結代表であるメッシュ1のインデックス数(頂点数)は、連結後の数(ダミー頂点も考慮された数)となり、連結メンバーであるメッシュ2及び3のインデックス数は、自身のインデックス数となる。又、連結メンバーであるメッシュ2及び3は、連結代表へのポインタを参照することになり、その頂点属性配列及びインデックス配列が何れも「NULL」となる。即ち、CPU2は、図6では、メッシュ1〜3を連結することで、メッシュ1〜3を連結した3つのオブジェクトに対して頂点属性変換を纏めて行う。
次いで、CPU2は、このようにして連結グループ内に含まれる複数のオブジェクトに対して頂点属性変換を行った後に、可視性が「0」でないか否かのフラグを設定する(ステップS8)。そして、CPU2は、シーングラフ内の最後のオブジェクトであるか否かを判定し(ステップS9)、シーングラフ内の最後のオブジェクトでないと判定すると(ステップS9:NO)、ステップS1に戻り、ステップS1以降を繰返して行う。一方、CPU2は、シーングラフ内の最後のオブジェクトであると判定すると(ステップS9:YES)、トラバース処理を終了する。又、CPU2は、オブジェクトのメッシュが予め規定されている連結条件に合致することなく、連結グループ内に含まれないオブジェクトであると判定すると(ステップS2:NO)、シーングラフ内の最後のオブジェクトであるか否かを判定する(ステップS9)。
CPU2は、頂点属性変換を事前に行った(メッシュを連結した)オブジェクトを対象とし、描画コマンド転送処理を開始すると、個々の元メッシュ情報を参照し(ステップS11)、個々の元メッシュの可視性が「0」でないか否かを判定する(ステップS12)。CPU2は、個々の元メッシュの可視性が「0」でないと判定すると(ステップS12:YES)、描画用の一時連結頂点列に頂点をコピーし(ステップS13)、連結グループ内の最後の個々の元メッシュであるか否かを判定する(ステップS14)。一方、CPU2は、個々の元メッシュの可視性が「0」であると判定すると(ステップS12:NO)、描画用の一時連結頂点列に頂点をコピーすることなく、連結グループ内の最後の個々の元メッシュであるか否かを判定する(ステップS14)。
CPU2は、連結グループ内の最後の個々の元メッシュであると判定すると(ステップS14:YES)、頂点属性変換を事前に行ったオブジェクトの描画を指示する描画コマンドをGPU3に転送する(ステップS15)。又、CPU2は、連結グループ内の最後の個々の元メッシュでないと判定すると(ステップS14:NO)、ステップS11に戻り、ステップS11以降を繰返して行う。尚、CPU2は、頂点属性変換を行っていない(メッシュを連結しなかった)オブジェクトを対象としても、頂点属性変換を行っていないオブジェクトの描画を指示する描画コマンドをGPU3に転送する。
GPU3は、描画処理を開始すると、頂点属性変換として、頂点変換を行い、頂点カラー/アルファ変換を行い、UV座標変換を行う(ステップT1〜T3)。そして、GPU3は、その頂点属性変換を行ったオブジェクトを描画する(ステップT4)。尚、GPU3は、CPU2が頂点属性変換を未だ行っていないオブジェクトに対して頂点属性変換を行い、CPU2が頂点属性変換を事前に行ったオブジェクトに対しては結果的に頂点属性変換を行わない。
上記した一連の処理を、図7を参照して説明する。3次元コンピュータグラフィックスのパイプラインは、描画に必要なデータを用意するG(Generation)ステージ、描画の命令を発行するT(Traversal)ステージ、頂点属性変換を行うX(Transformation、Xformation)ステージ、オブジェクトの頂点の内部に存在する画素に対して画素値や明るさを計算するS(Scan conversion)ステージ、オブジェクトを描画するD(Display)ステージを含む。Gステージ及びTステージはCPU2が処理を行うステージであり、Xステージ、Sステージ及びDステージはGPU3が処理を行うステージである。
CPU2において、例えば指針11に対して「90°回転50%不透明」の描画の命令を発行し、リング12に対して「100%不透明」の描画の命令を発行し、車両に搭載されているカメラが撮影した車外の映像13に対して「100%不透明」の描画の命令を発行した場合を説明する。映像13は、例えばナイトビュー(近赤外線を照射し、ヘッドライトでは確認し難い歩行者や野生動物等を捕捉して表示する技術)や、バックビュー(駐車支援のための車両後方を撮影して表示する技術)の映像である。従来の手法では、CPU2は、それぞれのオブジェクトの描画の命令を発行すると、指針11の描画を指示する描画コマンド、リング12の描画を指示する描画コマンド、映像13の描画を指示する描画コマンドをGPU3に順次転送する。GPU3において、指針11の描画を指示する描画コマンド、リング12の描画を指示する描画コマンド、映像13の描画を指示する描画コマンドを順次取得すると、それぞれのオブジェクトに対して頂点属性変換を行い、その頂点属性変換を行ったオブジェクトを描画する。
これに対して、本発明の手法では、CPU2は、指針11とリング12が連結条件を満たすと判定すると、指針11のメッシュとリング12のメッシュを連結し、指針11に対する頂点属性変換とリング12に対する頂点属性変換を事前に行う。換言すると、CPU2は、指針11に対して頂点属性変換を行い、リング12に対して頂点属性変換を行うことで、指針11とリング12を1つのオブジェクトと見做して新たにオブジェクト「A」を作成する。そして、その新たに作成したオブジェクト「A」の描画を指示する描画コマンドをGPU3に転送する。
即ち、従来の手法では、GPU3において、指針11に対する頂点属性変換とリング12に対する頂点属性変換とを行っていたが、本発明の手法では、CPU2において、指針11に対する頂点属性変換とリング12に対する頂点属性変換とを行い、指針11とリング12を1つのオブジェクトと見做して新たにオブジェクト「A」を作成し、その新たに作成したオブジェクト「A」の描画を指示する描画コマンドを転送する。
図8は、本発明の手法により実現される性能改善の理論的モデルを示している。従来の手法では、GPU3において、1つのオブジェクトを描画するためにCPU2から描画コマンドを呼び出す毎に費やす時間(オーバーヘッド(Overhead))がかかり、描画コマンドを取得する毎に頂点属性変換を行い、オブジェクトの描画(メイン処理(Main process))を行う。これに対して、本発明の手法では、上記したように、CPU2において、連結条件を満たす複数のオブジェクトのメッシュの連結を特殊処理(Special process for mesh Concatenation)として行い、そのメッシュを連結した複数のオブジェクトに対して頂点属性変換を行う。図8では、CPU2が3つのオブジェクトのメッシュを連結した場合を例示しているが、上記した連結条件を満たせば、メッシュを連結するオブジェクト数は幾つであっても良い。
本発明の手法で行う頂点属性変換に要する処理時間は計算対象の頂点数に依存する。下記の演算式(1)及び(2)は理論モデルから導かれる頂点属性変換に要する処理時間を表す。「oh」は1オブジェクトあたりのオーバーへッド時間、「obj」はオブジェクト数、「v」は1オブジェクトあたりの頂点数である。簡単のために「v」の値はシーングラフ内の全てのオブジェクトで一定とする。オーバーヘッド時間は一定値であり、メイン処理及び特殊処理は「v」の1次関数であると想定する。「m」をメイン処理の傾きとし、「s」を特殊処理の傾きとする。換言すると、「m」はメイン処理の1頂点あたりの処理時間であり、「s」は特殊処理の1頂点あたりの処理時間である。本発明の手法を適用することで、2つのダミー頂点が連結グループ内の全てのオブジェクトの間に追加される。又、頂点数が偶数のオブジェクトに対して1つのダミー頂点が追加される。簡単のため、全てのオブジェクトの頂点数が偶数であると仮定すると、1オブジェクトあたり(v+3)個を処理する必要がある。
従来の手法による処理時間を「tbefore」とし、本発明の手法による処理時間を「tafter」とすると、それらの処理時間を、
before=(oh+m×v)×obj …(1)
after=oh+s(v+3)×obj+m(v+3)×obj …(2)
と表すことができる。
モデル内の全頂点数(v×objで表現される)は、本発明の手法を適用するか否かに拘らず一定と想定することができる。下記の演算式(3)及び(4)は演算式(1)及び(2)から導くことができ、結果として、従来の手法及び本発明の手法の双方の処理時間を1次関数で表すことができる。即ち、それらの処理時間を、
before=oh×obj+m(v×obj) …(3)
after=3(s+m)×obj+oh+(s+m)×v×obj …(4)
と表すことができる。
本発明の手法の処理時間が従来の手法の処理時間よりも短ければ、本発明の手法による効果があると言える。即ち、条件が下記の演算式(5)を満たせば、本発明の手法による効果があると言える。
obj≧(oh+s×v×obj)/{oh−3(s+m)} …(5)
発明者らは、性能特性が前述した理論的分析と等しいか否かを確認するために、実機で処理時間を測定した。頂点数が「4000」の3次元モデルを準備し、測定条件として、オブジェクト数を「1」、「10」、「100」、「125」、「200」、「250」、「500」、「1000」とし、オブジェクト構造をオブジェクト数と1オブジェクトあたりの頂点数の積が一定となるように調整した。従来の手法及び本発明の手法について、処理時間を測定し、CPU2の負荷とGPU3の負荷を測定した。長い方の時間が実際の処理時間である。又、演算式(3)及び(4)を用いたシミュレーションのためにoh、m、sを測定した。尚、後述する図9から図11等で「before」は従来の手法による結果を示し、「after」は本発明の手法による結果を示している。
図9は、シミュレーションの結果とCPU2の負荷の測定結果を示している。シミュレーションに用いたoh、m、sの値はそれぞれ0.16[ms]、0.00077[ms]、0.0035[ms]であり、これらは実機で測定した。図9に示す結果から、理論モデルが実際に測定された性能を適切に説明していると言える。演算式(5)から、今回使用した実機ではobj>97を満たせば、本発明の手法による効果があると言える。測定結果はオブジェクト数が約「100」を超えたところで本発明の手法による効果があることを示している。
理論モデルではGPU3の負荷を考慮していない。図10は、GPU3の負荷の測定結果を示している。GPU3の負荷の特性については更なる調査が必要ではあるが、今回の場合では、従来の手法で30[ms]であり、本発明の手法で35[ms]である。図11は、実際の処理時間(CPU2の負荷とGPU3の負荷のうち長いほうの時間)を示している。図11に示す結果から、オブジェクト数が「200」を超えると本発明の手法による効果があると言える。このように頂点数やオブジェクト数等の最適化の条件が揃えば、本発明の手法による効果があると言える。上記したようにグラフィックスメータは比較的単純な形状である(頂点数が少ない)オブジェクトが多く存在するので、最適化の条件が揃い易い。
以上に説明した本発明の手法を試作品に適用した効果の一例を示す。試作品はルネサスのSH7769、128MBのROM、256MBのRAM、DVGA(1280×480)12.3インチTFTディスプレイを搭載している。コンテンツは4ゲージ(スピードメータ、タコメータ、燃料計、水温計)、テルテール(警告灯)、タブメニュー、運転支援システム表示等である。この3次元モデルはオブジェクト数が「154」であり、頂点数が「14960」である。
複数の最適化手法の適用により、17.2[ms]の向上が見込まれたが十分ではない。本発明の手法により、今回の場合では図12に示すように154オブジェクト中の123オブジェクトを8グループに分類することができた。1オブジェクトあたりオーバーヘッドの時間(0.16[ms])分の処理時間の削減が見込まれるので、本発明の手法による効果は18.4[ms]((123−8)×0.16[ms])となり、合計で35.6[ms](17.2+18.4[ms])の処理時間の削減が見込まれる。効果を確認するため、従来の手法及び本発明の手法の描画の処理時間を測定した。表示条件は仕様上最も高負荷な条件とした。図13に示す結果から、GPU3の負荷に影響を与えずにCPU2の負荷を低下することができていると言える。滑らかな表示の実現のために高フレームレートが(特に動きの速いタコ指針表示に対して)望まれており、人間の視覚特性を考慮すると、少なくとも30[fps]の達成が求められる。30[fps]を達成するには、CPU2の負荷を33[ms]以内に抑える必要があり、本発明の手法は達成に寄与することができている。
以上に説明したように本実施形態によれば、3次元画像生成装置1において、CPU2は、予め規定されている連結条件を満たす複数のオブジェクトのメッシュを連結し、そのメッシュを連結した複数のオブジェクトに対して頂点属性変換を事前に行う。そして、CPU2は、頂点属性変換を行った複数のオブジェクトを纏めて1つのオブジェクトと見做して当該オブジェクトの描画を指示する描画コマンドをGPU3に転送する。GPU3は、CPU2から取得した描画コマンドにより指示された1つのオブジェクトと見做された複数のオブジェクトを纏めて描画する。これにより、GPU3が描画コマンドの関数呼び出しのオーバーヘッドに費やす時間を抑えることができ、描画速度を高めることができる。この場合、3次元画像の基礎となるグラフィックスデータを制作する過程でオブジェクトを可能な限り連結する必要もないので、グラフィックスデータを制作する過程に何ら影響を与えることもない。
又、連結条件として、同じマテリアルを参照しているオブジェクト同士のみを同じ連結グループとするようにしたので、同じマテリアルを参照しているか否かを判定基準とし、オブジェクトのメッシュを連結することができる。
本発明は、上記した実施形態にのみ限定されるものではなく、以下のように変形又は拡張することができる。
ディスプレイ装置7が車両のグラフィックスメータに限らず、車両に搭載されている他の表示機器であっても良い。又、車両のグラフィックスメータ等の表示機器に描画を行う構成に限らず、3次元シミュレーション、電子広告、娯楽等の車両とは関係ない分野に適用しても良い。
図面中、1は3次元画像生成装置、2はCPU(制御手段、連結手段)、3はGPU(描画手段)である。

Claims (4)

  1. 3次元画像を構成するオブジェクトの描画を指示する描画コマンドを転送する制御手段(2)と、前記制御手段から前記描画コマンドを取得すると、その描画コマンドにより指示されたオブジェクトに対して頂点属性変換を行って当該オブジェクトを描画する描画手段(3)と、を備えた3次元画像生成装置において、
    連結グループ内で最初に出現したオブジェクトのメッシュを連結代表のメッシュとし、前記連結グループ内で2番目以降に出現したオブジェクトのメッシュを連結メンバーのメッシュとし、前記連結メンバーのメッシュが前記連結代表へのポインタを参照することにより、予め規定されている連結条件を満たす複数のオブジェクトのメッシュを連結する連結手段(2)を備え、
    前記制御手段は、前記連結手段によりメッシュが連結された複数のオブジェクトに対して頂点属性変換を事前に行い、その頂点属性変換を行った複数のオブジェクトを纏めて1つのオブジェクトと見做して当該オブジェクトの描画を指示する描画コマンドを転送し、
    前記描画手段は、前記頂点属性変換を行った複数のオブジェクトを纏めて1つのオブジェクトと見做して当該オブジェクトの描画を指示する前記描画コマンドを前記制御手段から取得すると、その描画コマンドにより指示された1つのオブジェクトと見做された複数のオブジェクトを纏めて描画することを特徴とする3次元画像生成装置。
  2. 請求項1に記載した3次元画像生成装置において、
    前記連結手段(2)は、同じマテリアルを参照していることを前記連結条件とし、その連結条件を満たす複数のオブジェクトのメッシュを連結することを特徴とする3次元画像生成装置。
  3. 3次元画像を構成するオブジェクトの描画を指示する描画コマンドを制御手段(2)が描画手段(3)に転送することで、前記描画手段が前記描画コマンドにより指示されたオブジェクトに対して頂点属性変換を行って当該オブジェクトを描画し、3次元画像を生成する方法において、
    連結グループ内で最初に出現したオブジェクトのメッシュを連結代表のメッシュとし、前記連結グループ内で2番目以降に出現したオブジェクトのメッシュを連結メンバーのメッシュとし、前記連結メンバーのメッシュが前記連結代表へのポインタを参照することにより、予め規定されている連結条件を満たす複数のオブジェクトのメッシュを連結する連結ステップと、
    メッシュを連結した複数のオブジェクトに対して頂点属性変換を事前に行う頂点属性変換ステップと、
    その頂点属性変換を行った複数のオブジェクトを纏めて1つのオブジェクトと見做して当該オブジェクトの描画を指示する描画コマンドを転送する描画コマンド転送ステップと、
    前記頂点属性変換を行った複数のオブジェクトを纏めて1つのオブジェクトと見做して当該オブジェクトの描画を指示する前記描画コマンドにより指示された1つのオブジェクトと見做された複数のオブジェクトを纏めて描画する描画ステップと、を行うことを特徴とする3次元画像生成方法。
  4. 請求項3に記載した3次元画像生成方法において、
    前記連結ステップは、同じマテリアルを参照していることを前記連結条件とし、その連結条件を満たす複数のオブジェクトのメッシュを連結することを特徴とする3次元画像生成方法。
JP2013148510A 2012-11-30 2013-07-17 3次元画像生成装置及び3次元画像生成方法 Expired - Fee Related JP5983550B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2013148510A JP5983550B2 (ja) 2012-11-30 2013-07-17 3次元画像生成装置及び3次元画像生成方法
KR1020157009410A KR101658852B1 (ko) 2012-11-30 2013-11-05 3차원 화상 생성 장치 및 3차원 화상 생성 방법
DE112013005715.8T DE112013005715T5 (de) 2012-11-30 2013-11-05 3D-Bilderzeugungsvorrichtung und 3D-Bilderzeugungsverfahren
US14/646,906 US9536343B2 (en) 2012-11-30 2013-11-05 Three-dimensional image generation apparatus and three-dimensional image generation method
CN201380060268.8A CN104937639B (zh) 2012-11-30 2013-11-05 三维图像生成装置以及三维图像生成方法
PCT/JP2013/006514 WO2014083776A1 (ja) 2012-11-30 2013-11-05 3次元画像生成装置及び3次元画像生成方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012262679 2012-11-30
JP2012262679 2012-11-30
JP2013148510A JP5983550B2 (ja) 2012-11-30 2013-07-17 3次元画像生成装置及び3次元画像生成方法

Publications (2)

Publication Number Publication Date
JP2014130563A JP2014130563A (ja) 2014-07-10
JP5983550B2 true JP5983550B2 (ja) 2016-08-31

Family

ID=50827440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013148510A Expired - Fee Related JP5983550B2 (ja) 2012-11-30 2013-07-17 3次元画像生成装置及び3次元画像生成方法

Country Status (6)

Country Link
US (1) US9536343B2 (ja)
JP (1) JP5983550B2 (ja)
KR (1) KR101658852B1 (ja)
CN (1) CN104937639B (ja)
DE (1) DE112013005715T5 (ja)
WO (1) WO2014083776A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011112707B4 (de) * 2011-09-07 2020-11-05 Volkswagen Aktiengesellschaft Anzeigevorrichtung für ein Hybridfahrzeug und Verfahren zur Anzeige und Hybridfahrzeug
DE112017006527T5 (de) * 2017-01-27 2019-09-26 Mitsubishi Electric Corporation Bildzeichnungseinrichtung, Bildzeichnungsverfahren und Bildzeichnungsprogramm
CN113421337A (zh) * 2021-07-21 2021-09-21 北京臻观数智科技有限公司 一种提升模型渲染效率的方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6262737B1 (en) * 1998-01-30 2001-07-17 University Of Southern California 3D mesh compression and coding
US6847364B1 (en) * 1999-12-23 2005-01-25 Intel Corporation Methods and apparatus for creating three-dimensional motion illusion in a graphics processing system
US20010035873A1 (en) * 2000-04-20 2001-11-01 David Easter Method and system for deferred assignment of attributes in a computer graphics scene
WO2007100298A1 (en) * 2006-03-03 2007-09-07 Donya Research Ab Creation and rendering of hierarchical digital multimedia data
JP4847226B2 (ja) 2006-06-16 2011-12-28 株式会社トヨタIt開発センター 画像生成装置
US7750922B2 (en) * 2006-10-24 2010-07-06 Adobe Systems Incorporated Transparency group computation on a graphics processing unit
US7843456B2 (en) * 2007-06-29 2010-11-30 Microsoft Corporation Gradient domain editing of animated meshes
US8797337B1 (en) * 2009-07-02 2014-08-05 Google Inc. Graphics scenegraph rendering for web applications using native code modules
CN101655992B (zh) * 2009-09-15 2011-12-21 中国科学院软件研究所 一种三角网格模型的重建方法
US9529939B2 (en) * 2010-12-16 2016-12-27 Autodesk, Inc. Surfacing algorithm for designing and manufacturing 3D models
US20120162372A1 (en) * 2010-12-22 2012-06-28 Electronics And Telecommunications Research Institute Apparatus and method for converging reality and virtuality in a mobile environment
CN102360515B (zh) * 2011-10-19 2013-04-24 武汉大学 一种三维模型渐进网格数据组织方法

Also Published As

Publication number Publication date
WO2014083776A1 (ja) 2014-06-05
US20150325034A1 (en) 2015-11-12
CN104937639A (zh) 2015-09-23
JP2014130563A (ja) 2014-07-10
US9536343B2 (en) 2017-01-03
DE112013005715T5 (de) 2015-08-13
KR101658852B1 (ko) 2016-09-22
CN104937639B (zh) 2017-06-27
KR20150055020A (ko) 2015-05-20

Similar Documents

Publication Publication Date Title
JP4071422B2 (ja) モーションブラー画像描画方法及び描画装置
JP5168580B2 (ja) 運転模擬装置、広角カメラ映像模擬装置および画像変形合成装置
US8566736B1 (en) Visualization of value resolution for multidimensional parameterized data
JP5592011B2 (ja) マルチスケール3次元配向
CN102289845B (zh) 一种三维模型绘制方法以及装置
US9495767B2 (en) Indexed uniform styles for stroke rendering
CN103606184B (zh) 一种基于二维和三维一体化矢量渲染引擎的装置
CN104268911A (zh) 绘制地图中路线的方法和装置
CN105096368B (zh) 三维对象处理方法和相关装置
US8456470B2 (en) Lighting environment simulation system and method
KR101591427B1 (ko) 3차원 지형 영상 가시화에서의 적응형 렌더링 방법
CN103208225A (zh) 一种瓦片地图制作方法及***
JP5983550B2 (ja) 3次元画像生成装置及び3次元画像生成方法
CN104157000A (zh) 模型表面法线的计算方法
JP2015228021A (ja) マンマシンインターフェースのグラフィック表示用の文字列の処理技術
JP2738588B2 (ja) 立体モデル描画方法
CN102722902A (zh) 一种图形渲染流水线中光栅化阶段反走样的改进方法
CN111563963B (zh) 一种***气象模拟方法、智能终端及存储介质
CN116051786B (zh) 标准网格三维模型快速显示方法
CN113126944B (zh) 深度图的显示方法、显示装置、电子设备及存储介质
US20220084283A1 (en) Anti-aliasing two-dimensional vector graphics using a multi-vertex buffer
CN110969686A (zh) 一种提高三维字符数量的方法
CN111599011A (zh) 基于WebGL技术的电力***场景快速构建方法及***
JP3872056B2 (ja) 描画方法
CN113096209B (zh) 一种车载影像轨迹线的显示方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160510

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160718

R151 Written notification of patent or utility model registration

Ref document number: 5983550

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees