当社の独自技術である「XVL」。でもいまいちどんな技術かわからない、そんな方も多いのではないでしょうか。XVLについて、技術者の目線で、前編後編の2回に分けてご説明します。
目次
3Dデータって何?
ラティスを紹介するときの決まり文句として「超軽量3DデータフォーマットXVL」と言うものがあります。
ここで質問です。3Dデータとは何を指すのでしょうか。
一般論を話しても仕方が無いので、こう言い換えても良いでしょう。
「XVLは何を格納するフォーマットなのか」
まずは基本として、ここから始めたいと思います。
四種のデータ
XVLに限らず3Dデータフォーマットに格納されるデータは、大まかに以下の三種に分類できます。
形状 / shape
構造 / structure
属性 / attribute
これらに加えXVLでは
状態 / state
を保持していることが一つの特色と言えます。
これらのデータが一つのファイルに統合して収められていることがXVLアプリケーションの基盤であり、場合によっては競合する製品やフォーマットとの差異を決定づける要素になります。
そして、データの軽量化と言う視点で見たとき、それぞれの種類に適した手法・技術を用いることがデータフォーマットとしての優位性をもたらします。
各データ種別の特性
データ軽量化の具体的な内容は次回触れることとして、今回は各データ種別の特性を整理し、XVLにおいてデータ軽量化を目指すうえでの考え方を明らかにしたいと思います。
形状データの特性
形状データは3Dデータを特徴づける要素です。
ただし、形状データの性質や性能のみで3Dデータフォーマットの特徴が決定づけられるわけではない点に注意が必要です。
データの容量はその表現方法と精度に影響され、おおよそ以下の傾向があります。
どんな性能を重視し、どこを切り捨てるかに、フォーマットとしてのポリシーが現れると言えます。
構造データの特性
構造データはアプリケーションの機能に直結する要素です。
どのような内容の情報をどのような論理構造で保持するかが、
出来ること
使い勝手
性能
を大きく左右するため、実は形状データ以上に決定的な差異を生むことが多いと認識すべきです。
データの容量は主に、含まれる要素の数に依存しますが、扱う上でのパフォーマンスは論理構造とアルゴリズムの強い影響を受けます。
特に、同一の要素が複数回現れる場合に再利用(インスタンス化)する、複数要素間の共通部分を分離し共有する(リファレンス=オカレンスモデル)と言った、データの中身に着目した最適化が有効です。
属性データの特性
属性データは最も人間に利用される要素です。
単純に形状を眺める場合を除いて、3Dデータを利用する人の目的のほとんどは
自分が伝えたい属性情報を、正確かつ効率的に表現する
自分に必要な属性情報を、正確かつ効率的に読み取る
の二つであると言っても過言ではないでしょう。
属性データは何より正しい内容である(=正しく表現できる&正しく読み取れる)ことが求められ、更に形状や構造と関連付けて見られること、一覧出来ること、検索やソートといった参照する上での機能・性能が高いことが、アプリケーションとして重要です。
構造データと異なり内容の傾向が絞りにくいことから、一般的な情報処理的手法やアルゴリズムを適切に活用することが必要になってきます。
状態データの特性
XVLアプリケーションの強みとなっているのが、スナップショットに代表される状態データの使い勝手と性能です。
設計検証業務であれば確認箇所の指示、発見した問題の伝達に、帳票作成業務であれば絵作りに、作業指示業務では意図を伝える手段として、スナップショットや注釈ビューが徹底的に使い倒されています。
アニメーションもまた、時間経過を伴う状態の表現と見ることが出来ます。
状態データは、形状、構成、属性のすべてと関連を持っており、その保持の仕方もいろいろです。
データ軽量化と性能向上を両立させるために、ラティスならではのノウハウが詰め込まれていると言えるでしょう。
まとめ
今回は3Dデータの中身を大きく四種類に分類し、それぞれの特性とデータ軽量化にあたっての考え方を説明しました。
いよいよ次回は、各種データの軽量化の実際について解説していきたいと思います。