『クラウドレンダリング(Cloud Rendering)』技術を1から徹底解説!


この記事では昨今注目を集めている『クラウドレンダリング』について紹介します。

「クラウドレンダリングとは何か」「どのようなメリットがあるのか」「社会実装におけるボトルネックは何か」を詳細に説明するので、ぜひご一読ください。

クラウドレンダリングとは

クラウドレンダリングとは、PCやスマホなどのローカル端末内で行われる描画を含む主な処理を、全てクラウド上のサーバ(以下『レンダリングサーバ』と呼称します)で行う手法です。

クラウドレンダリングは、リモートレンダリングとも呼ばれます。

ローカル端末の描画処理(以下『ローカルレンダリング』と呼称します)はその端末に内蔵されているCPUやGPUで行われます。

そのため、描画の質や処理速度はCPU/GPUの性能に依存します。

しかし、クラウドレンダリングは描画処理等をレンダリングサーバで行い、その処理した映像をローカル端末で視聴するという手法のため、高性能なPCやスマホでなくともハイクオリティなコンテンツを体験できるようになります

クラウドレンダリングの4つのメリット

1.データサイズの大きいアプリや高精細な3Dモデルの描画が可能

クラウドレンダリングでは、処理性能が高いレンダリングサーバ(例えばNVIDIAのRTX8000のような強力なGPUを積んだサーバ)で描画処理を行うため、ローカル端末の性能を超えた高品質な描画が可能になります。

特にVR HMDやARグラスなどのウェアラブルデバイスは処理性能とデバイス重量のジレンマに苦しんでいるため、この点において重要な解決策となります

以下の動画は約4GBのVRアプリケーションをクラウドレンダリングしたVRデバイスのキャプチャです。ご覧の通り非常に高精細な描画を体験できます。

2.ユーザのアップデートの負担減少

ローカル端末のソフトウェアは更新がある度にアップデートを行う必要があります。

些細なことですが、確実にユーザのフラストレーションがたまる部分です。

一方、クラウドレンダリングではレンダリングサーバにソフトウェアがあり当然アップデートはクラウド上で行われるため、ユーザ側でアップデートを行う必要がなくなります

3.セキュリティ面の向上

例えば、ローカルレンダリングの場合、機密性の高い3Dモデルを表示させるにはなんらかの形で端末側のアプリケーションは3Dモデルにアクセスすることが必要になります。

一方で、クラウドレンダリングを用いた場合は、3Dモデルはレンダリングサーバ側にしかなく、あくまで端末側はレンダリングの結果を受け取るのみであり、機密性が担保されます。

これは、3Dモデルのセキュリティを向上することであり、製造業などの3Dモデルを外出しすることが困難な業界においては大きなメリットと言えるでしょう。

4.OS間・デバイス間の差異の減少

ローカルレンダリングの場合、OSやデバイスの性能の差異があるため、アプリケーション作成時に調整が必要でした。

一方、クラウドレンダリングでは、入力形式と出力形式が決まっていれば、ほとんどの処理はレンダリングサーバで行うため、違ったOSやデバイスに対してほぼ同一の開発で対応できます。

そのため、複数のOSやデバイスにまたがるサービス開発が容易になります

クラウドレンダリングの社会実装における留意事項

以上のように、多くのメリットがあるクラウドレンダリングですが、まだ普及しているとは言えません。

その理由は主に以下の2つが挙げられます。

1.レンダリングサーバの使用費用がかかる

アプリケーションの処理をレンダリングサーバで行っているため、レンダリングサーバの費用が追加でかかってしまいます。

2.接続環境(場所や接続方式など)による通信速度の差異がボトルネックになる

クラウドレンダリングでは、常にレンダリングサーバから描画情報を含む大きなデータを通信しているため、通信速度の影響を多分に受けます。

クラウドレンダリングで質の高い体験を実現するには、現在普及している4G環境でも不十分と言われています。

社会実装のボトルネック解消について

先述の通り、通信速度がクラウドレンダリングのボトルネックとなっていますが、現在5G通信やMECの広まりによりこの障害は解消されつつあります。

5G通信は高速大容量、高信頼・低遅延通信、多数同時接続を掲げた2021年現在普及しつつある次世代通信規格です。

またMECとは(Multi-Access Edge Computing)の略であり、5G通信の特徴をより上手く活用する技術として注目されています。

MECでは携帯事業者のネットワーク内部にエッジサーバと呼ばれるサーバを用意します。

そして、直接クラウドサーバに送られる通信をエッジサーバで処理することで、ネットワーク通信やサーバへの負荷を減らし、高速通信を実現させます。

このように通信速度を上げる技術は日々更新されており、それに伴いクラウドレンダリング使用の敷居は下がり、そのメリットをより享受できるようになってきています。

クラウドレンダリングの仕組みについて

ここからクラウドレンダリングの仕組みについて、CloudXRというNVIDIA社が提供するAR/VR向けのクラウドレンダリングサービスをもとに解説します。

まず、2つのデバイスとそれぞれに各アプリケーションを準備する必要があります。

  1. 描画処理等を行うレンダリングサーバ
    1. CloudXR Server用のSDK
    2. SteamVRアプリケーション
    3. OpenVR向けにビルドされたXRアプリケーション
  2. 視聴するXRデバイス(Oculus Quest2やHoloLensなど)
    1. CloudXR Clientアプリケーション

次に、レンダリングサーバのIPアドレスを XRデバイスに入力します。

これにより、レンダリングサーバと、レンダリングした映像を受け取るXR端末を接続する準備が整いました。

その後、以下の3つの手順を踏むことでデバイスで視聴を開始することが出来ます。

  1. レンダリングサーバでSteamVRを起動する。
  2. XRデバイスでCloudXR Clientを立ち上げる。
  3. レンダリングサーバでXRアプリケーションを起動する。

視聴時にはCloudXR ServerからCloudXR Clientへ映像・音声・Hapticsを、CloudXR ClientからCloudXR ServerへHead pose・コントローラーのインプット情報・QoS(映像の質をコントロールする情報)を通信しています。

クラウドレンダリング関連のさまざまな活用事例

AWS + CloudXR(AWS)

AWSのEC2 G4およびP3インスタンス上でCloudXRサービスを利用できるようになっており、質の高いクラウドレンダリング体験を体感できます。

既に他のAWSのサービスを使用したことがある場合は、使い勝手がわかっているため、導入しやすいという利点が挙げられます。

詳細はこちら

ドコモオープンイノベーションクラウド+ CloudXR(NTTドコモ)

NTTドコモのドコモオープンイノベーションクラウド(DOIC)では、5G通信に加え、前述したMECを用いたサービスをクラウドダイレクトを通じて提供してします。

MECを活用することで通信経路が短くなり、低遅延とキャリア網内での通信におけるセキュリティ向上が見込めます。

現在、DOICでは他にも遠隔作業支援ソリューションや顔認証入退管理ソリューション、超短遅延ライブ中継機、画像認識プラットフォームなどといったサービスが展開されており、これからも汎用性が高まっていくことが期待できます。

詳細はこちら

CloudXR以外の主なクラウドレンダリングサービス

Azure Remote Rendering

こちらはAzureが提供しているクラウドレンダリングサービスです。

Azure Remote Renderingでは前述のCloudXRを用いず、独自のアプローチで3Dモデルの描画処理をクラウドで行います。

Azure Remote Renderingはサーバ側の処理をAzureに任せていて、unity上でクラウドレンダリングする3Dオブジェクトを決定する形式をとります。

そのためオブジェクト単位でのクラウド処理の選択が可能です。

詳細はこちら

まとめ

ローカル端末の性能に依存せず高速で処理を可能にするクラウドレンダリングはユーザ、開発者を問わず多くの恩恵を与えます。

今日、通信速度の向上によってそのボトルネックは解決しつつあり、これからもAR、VRに限らず多くの分野でさらに注目されていく手法です。

ぜひ今から活用を検討してみてはいかがでしょうか。


この記事はいかがでしたか?
もし「参考になった」「面白かった」という場合は、応援シェアお願いします!

株式会社x garden CGO(Chief Growth Officer)
Unityエンジニアとして日々Unityと奮闘中
自他共に認めるゲーマー
Splatoon最高記録:世界6位(リグマペア)
ApexLegends最高記録:5連チャンピオン