x garden Creator's blog

株式会社x gardenのクリエイターによるクリエイターのための技術ブログだよ😎 XRで一緒に働く(遊ぶ)新しい仲間、積極募集中〜!

Cloud Rendering 徹底解説 ~基礎からGTC2021の最新の動向まで

みなさんはじめまして!XR界の歌うまおじさん(自称)こと、ますおと申します。

自分は普段、x gardenという会社でXRの最新動向を追っているのですが、最近では特に Cloud Renderingという技術を専門でR&Dを行っております。

Cloud Renderingという単語をはじめて聞いた方もいらっしゃるかと思いますが、先日開催された2021年のGTC(NVIDIA社が毎年開催しているカンファレンスの総称)の中でもCloud Renderingは中心的なトピックの一つとして扱われており、ことXRという文脈においてその存在感は日々増すばかりです。

さて、前置きが長くなりましたがこの記事では、主に以下の3つのことについて扱います。

f:id:xgarde-creation:20210526152405j:plain

 

  1. NVIDIAのCloudXR SDKを題材にして理解するCloud Renderingの仕組み2021
  2. 2021年のGTCを通して見える、Cloud Renderingという技術の現状
  3. 2021年GTCのCloud Rendering関連全講演のまとめ

我ながらに一つの記事で扱うには盛り沢山過ぎる気もしますが、全力で欲張っていくスタイルでやらせて頂きたいと思います。どうぞお付き合いください。

1. NVIDIAのCloudXR SDKを題材にして理解するCloud Renderingの仕組み

TL;DR

Cloud Renderingとはネットワークを介した一連の描画処理のサーバーへの委譲 である。
最初に結論からいうと、Cloud Renderingとはネットワークを介した一連の描画処理のサーバーへの委譲であると言えます。

CloudXRとは何かを理解するには、そもそもマルチメディアデバイスにおいて、画像が見えるとはどういうことか? から話を話を始める必要があります。

TVにせよ、スマホにせよ、XRデバイスにせよ、僕らが普段目にするマルチメディアデバイスにおいて、画像を見るという機能(動画も画像の集合という意味では、広義の画像であると言えるでしょう)は、多少の差こそあれど、基本的には同じ原理で実現されています。ここではその共通の原理のことを「描画処理」と呼ぶことにしましょう。

「描画処理」とはすごくざっくり言うと、”自分の見たい絵をマルチメディアデバイス上のスクリーンに翻訳する作業”のことです。例えば、あなたがコンピュータの画面に四角形(=自分の見たい絵)を表示したいしましょう。少なくとも以下のような情報が必要そうです。

  • 四角形の色
  • 四角形の画面上での位置
  • 四角形の線の太さ

四角形を表示したいというたったこれだけの作業にも関わらず、色んな情報を処理することが必要になるのが分かります。

そして、実際にコンピューターの内部では、描画処理を行う中で上記のような”情報の翻訳”がされることで、初めて描画を行うことが可能になるのです。

さて、「描画処理」とは何かがざっくり分かったところで、話を元に戻します。XRという領域で扱うのは主に3次元の情報です。

先ほどの例では、 描きたいものは2次元でしたが、今度は”深さ”という次元が新たに入ってきます。これは明らかに描画処理が大変になりそうな気がしてきます。

そして、予想通り2次元とは比較にならないほど「描画処理」は大変になります。
そんな大変な作業を頭の大きさほどしかないXRデバイス上で行うのは、明らかに無茶があると言えるでしょう。

簡単な対象を表示したい場合はなんとかなるかもしれませんが、描きたいものが複雑になればなるほど、翻訳の必要な情報量は増えていくばかりです。さぁ、どうしたものか….
ここにきて、救世主のごとく現れてくるのが「 Cloud Rendering」というアイディアです。

f:id:xgarde-creation:20210526152405j:plain

そう、重い描画処理は明らかに強そうなサーバーさん達に委譲して、XRデバイス側は、その結果をネットワーク越しに受け取るようにすれば、良いわけです。

上記のように「Cloud Redering」というアイディア自体はとてもシンプルですが、いざ自分で実装を行うとなるととても大変であり、そこら辺をよしなに提供してくれているのが、NVIDIAの出しているCloudXR SDKです。

ざっくりした仕組みは下記のようになっています。

f:id:xgarde-creation:20210526155410p:plain

SDK本体に同梱されているドキュメントもしっかり書かれているので、動かしてみたいという場合にもそんなに問題なく動かせるのではないかなと思います。

注意すべきこととして以下の2点が挙げられるかと思います。

  1. 現在は、private betaでの提供になっているので、利用するためには申請をしてApproveが必要
  2. CloudXRはあくまで「Cloud Rendering」をNVIDIAなりに実装したプロトコルであるという理解。

特に2点目はアプリケーションを実際に開発してみると分かるのですが、どこまでがアプリケーションの責務で、SDK側の責務なのかが分からなくなりがちです。

その際には、あくまでCloud XR SDKはプロトコルを実装した受け口に過ぎないことを思い出すことが重要だと思います。


2. 2021年のGTCを通して見える、Cloud Renderingという技術の有用性

TL;DR

Cloud Renderingを利用するメリットは以下の4つに集約出来る。

  1. High polygonのレンダリング処理を可能にする
  2. Software updateを楽にする(端末側でアプリをアップデートさせる必要がない&Softwareのアップデート回数を増やせる)
  3. Security面の向上
  4. デバイス間の差異の吸収

Cloud Renderingの仕組みが大まかに分かったところで、GTC2021の総括がてら、Cloud Renderingと言う技術の有用性をここでは整理します。

なぜCloud Renderingを使うのか

様々なCloud Rendering関連講演がGTC2021でありましたが、総括すると、以下のような4点のメリットを享受するために、各社Cloud Renderingを試しているぜ!と言うことを手を変え、品を変え述べていたとまとめることが可能だと思います。

a. High polygonのレンダリング処理を可能にする

XRデバイスが日進月歩の進化を遂げているとはいえ、まだまだ3Dコンテンツを処理するには端末の処理能力が貧弱なケースが多々あります。

例えば、車の3DモデルをXRデバイスで表示することを考えると、端末側の処理能力がボトルネックになり、3Dモデルのポリゴン数をなくなく減らさざるを得ないと言ったことは十分に起こり得るでしょう。

Cloud Renderingはこのようなケースにおいて、力を発揮します。なんせレンダリング処理をリモートサーバー側で行うので、NVIDIAのRTX8000のような強力なGPUを積んだグラフィクスに特化したサーバーを利用することで、従来のXRデバイス単体では不可能であったような数千万ポリゴンのモデルを表示するといったことが可能になり、コンテンツの描画クオリティを上げることに寄与します。

b. Software updateを楽にする(端末側でアプリをアップデートさせる必要がない&Softwareのアップデート回数を増やせる)

パッと見では分からないけど、実際にソフトウェアの運用をしていく上で地味に大きなメリットだと言えるのが、コンテンツはリモートサーバー側に置かれているため、ユーザーの端末とは関係なくSoftware updateが可能になるという点です。

まさにかゆいところに手が届くというか、特にイテレーションを回すことで徐々にソフトウェアの機能を改善していくことが一般的な昨今の開発環境において、上記の点はそれだけでもCloud Renderingを利用したくなるほど魅力的に映るはずです。

c. Security面の向上

従来におけるXRコンテンツのデメリットとしてあげられるのが、Security面の話です。例えば機密性の高い3Dモデルを表示させるようなアプリを考えると、なんらかの形で端末側のアプリケーションは3Dモデルにアクセスをすることが必要になります。

対して、Cloud Renderingを用いた場合は、3Dモデルはサーバーサイドにしかなく、あくまで端末側はレンダリングの結果を受け取るのみであり、機密性が担保されます。これは、製造業などの3Dモデルを外出しすることが困難な業界においては大きなメリットと言えるでしょう。

さらにいうと、レンダリング処理がサーバーサイドで行われる副次的な効果として、どのコンテンツにどの端末からアクセス可能かというコンテンツに対する端末レベルでのアクセス制御が容易になります。こちらも見逃せないメリットです。

d. デバイス間の差異の吸収

XR業界に限った話ではないですが、デバイス間でコンテンツの開発環境が違うというのはよくあることです。(例えば、スマホでもAndroidとiOSでは開発言語が違う)
こういったデメリットをCloud Renderingでは、吸収出来ます。 NVIDIAが開発しているCloudXR SDKでは、デプロイされるコンテンツにsteamVRの形式を用いることで様々なデバイスに対応することを可能にしています。

コンテンツ製作者からすると、一つのフォーマットで色々なデバイス向けのコンテンツを制作できるのはとてもありがたい話で、メリットは大きいです。


3. 2021年GTCのCloud Rendering関連全講演のまとめ

このセクションでは、2021年GTCを見逃したぜ!あるいは、要点だけ知りたいという方々のために、Cloud Rendering関連全講演のポイントを個人的な感想と共にギュギュッと凝縮して、お届けします

a. CloudXR and XR Streaming 101

・Cloud Renderingという技術の基礎をもれなく解説
・個人的に面白かったのが、Cloud RenderingになってもXR特有の酔うという現象は依然としてあるので、その解決に MECを利用すると良いかもねという点。確かにと思った。

f:id:xgarde-creation:20210526160415p:plain

またAIとCloud Renderingを組み合わせたソリューションがあり得るという話は今後のCloud Renderingの技術進化の方向として見逃せません。

b. Collaborative Virtual Workspaces: Pop-Up XR Experiences with NVIDIA CloudXR

f:id:xgarde-creation:20210526160505p:plain

製造業におけるプロトタイピングのコストを下げたいという課題に対して、多人数での工場のアセンブリラインとその成果物確認をVR上で行えるアプリケーションを作成し、そのアプリケーションのレンダリング部分へCloud XRを応用した例の紹介です。

f:id:xgarde-creation:20210526160536p:plain

現状のCloudXR SDKは原則ソロプレイを想定されているので、上記のようなアーキテクチャー図はマルチプレイのアプリケーションを実現する上で非常に参考になります。

c. Making 3D Content Creation Fast and Easy for Creatives by using VR and ML

・MASTER PIECE STUDIOというツールの紹介
・3dコンテンツツールを使いこなせるクリエーターがまだまだ少ないという問題に対して、主に原因が2つあると言います。
課題❶:ツールが複雑
課題❷:高機能なPCが必要になる

f:id:xgarde-creation:20210526160644p:plain

まず課題❶.に対しては、3Dのコンテンツ作るんだから、VR空間で直感的に触れて、かゆいところはAIが良しなにやってくれるようにすることで解決を図っているようです。

課題❷に関しては、まだ対応がされていないが、将来的にCloudXR SDKを用いることで解決を図る予定のようです。

こういったコンテンツクリエーションツールにおいてもCloud Renderingの利用がオプションとしてあり得るというのが面白いなと個人的には感じました。

d. XR Streaming from 5G Mobile Edge Using AWS Wavelength and NVIDIA CloudXR SDK

f:id:xgarde-creation:20210526160740p:plain

AWSの5G × MECという文脈でのソリューションであるAWS Wavelengthというサービスの紹介とそのサービスでのCloud XR SDKの利用の話

f:id:xgarde-creation:20210526160757p:plain

  • Wavelengthというサービスが既存のEC2だったりの上に作られていて、AWSに慣れているユーザーであれば、違和感なく使えそうというあたりはさすがAWSといった感じ。
  • Wavelength上にCloudXRが利用可能なインスタンスを作成できるようなので、ここら辺は手軽にCloud RenderingをMEC環境で作るために将来的に利用されるといったユースケースは十分考えられそう。
e. How Volkswagen Group Uses NVIDIA CloudXR to deploy VR Applications

ハイクオリティなVRコンテンツへのアクセスの障壁を下げるためにCloudXRを用いたシステムを作ったというVolkswage groupの例. Build Netfilx of VRというスローガンが全てを物語る。

f:id:xgarde-creation:20210526160831p:plain

ポータルという管理画面が存在し、そこにVRコンテンツをアップロードし、端末からはそこにアクセスするだけでVRアプリケーションが利用可能になるというシステムなようで、VRアプリケーションの未来像を感じます。

f:id:xgarde-creation:20210526160849p:plain

  • VW groupでは、Cloud Renderingが今後10年間でVRコンテンツのデリバリー方法の60 ~ 80%を占めるようになるという試算をしているようで、今後も重点的に投資をしていく模様。
  • 製造業や建築といったHighポリゴンのCADを扱うような業界では、Cloud Renderingがデファクトスタンダードになっていく気配を感じました。
f. Autodesk VRED with NVIDIA CloudXR and Varjo XR3: Unparalleled XR Quality and Data Complexity

車のデザインレビューに利用できるアプリケーションにCloud Renderingを利用したという例

f:id:xgarde-creation:20210526161036p:plain

実際の環境光なども別途センサーを使って取得し、描画を行うことで上記の画像のようなどこからどう見ても現実の車にしか見えないようなクオリティーを実現しているらしい。
g. Industry 4.0 5G VR Digital Twin: BT Collaboration Using 5G Private Network with CloudXR Integrated with Siemens NX Delivery Process and Technology

  • こちらも製造業でのCloud Renderingの応用例で、3Dモデルの確認および作成にCloud Renderingを用いているようです。
  • 講演の中で言われていた ”XR for digital collaboration is a killer application”という言葉が非常に印象的でした。
h. Delivering Immersive AR/VR Experiences for Manufacturing and AEC Workflows over 5G and Wi-Fi

f:id:xgarde-creation:20210526161133p:plain

  • 出ました、またもや製造業向けのXRコラボレーションツールの例です。こちらはLenovo製
  • この領域はもうすでにレッドオーシャンになりかけてますね。。

まとめ

Cloud Renderingの説明から最新の事例の紹介まで鬼のように情報を詰め込んでみましたが、みなさんいかがだったでしょうか。XR業界の未来を左右する技術の一つであることが少しでも伝わったのであれば、幸いです。

最後になりますが、x gardenでは共にXRの未来を切り開く仲間を随時募集しています。少しでも興味を持たれた方は、気軽にSNSで自分にご連絡いただければと思います。まずはリモードでも良いので、熱く技術について語り合いましょう!