インテル® oneAPI レンダリング・ツールキット — 『アベンジャーズ/エンドゲーム』から自動車業界まで

同カテゴリーの次の記事

インテル® oneAPI 最新バージョン 2022 リリース記念セミナーおよびキャンペーンのご案内

この記事は、TFiR に公開されている「oneAPI Rendering Toolkit — From Avengers: Endgame To Automotive Industry」の日本語参考訳です。原文の著者の許可を得て iSUS で翻訳したものです。


ゲスト: インテル コーポレーション Jim Jeffers (英語)
番組: Let’s Talk

今回の「TFiR Let’s Talk」では、インテル コーポレーションのアドバンスト・レンダリング & ビジュアライゼーション部門シニア主席エンジニア兼シニア・ディレクターの Jim Jeffers 氏とともに、オープンソースのインテル® oneAPI レンダリング・ツールキット (英語) と、それが『アベンジャーズ/エンドゲーム』のような大作の制作だけでなく、自動車などほかの業界でどのように利用されているかを紹介します。


以下は、上記のビデオの日本語参考訳です。

Swapnil Bhartiya: 皆さん、こんにちは。司会の Swapnil Bhartiya です。Let’s Talk へようこそ。本日は、インテル® oneAPI レンダリング・ツールキット (英語) について、インテル コーポレーションのアドバンスト・レンダリング & ビジュアライゼーション部門シニア主席エンジニア兼シニア・ディレクターの Jim Jeffers 氏とともにお話したいと思います。業界全体のイニシアチブである oneAPI イニシアチブについて、より広い観点から少しお話いただけますか?

Jim Jeffers: oneAPI イニシアチブは、オープンソースのオープン API です。そのため、oneAPI と呼ばれています。oneAPI のライブラリー、コンポーネント、そして使用モデルはクロスアーキテクチャーに対応しており、インテルだけでなく、すべてのベンダーのすべてのプラットフォーム、つまり CPU、GPU、FPGA、そしてネットワーク・プロセシング・ユニットで利用できます。これは、一朝一夕にできるものではありません。インテルは数年前からこの取り組みを進めており、「単一のコードベースをどこでも実行できるようにする」ことを目的としています。

oneAPI は完全にオープンソースです。コンパイラーもオープンソースです。データ並列 C++ (英語) コンパイラーは、CPU、GPU、FPGA からより高い並列性を引き出します。oneAPI は、クロスアーキテクチャーのツールとライブラリーを含む単一の開発ツールチェーンでこれを実現します。このイニシアチブには、AMD や NVIDIA など、多くのベンダーの協力が必要ですが、インテルが主導しているため競合他社から賛同を得ることは容易ではありません。oneAPI がいかにオープンであるかを示す一例として、Apple の M1 ARM ベースのデバイスは、インテル® oneAPI レンダリング・ツールキットのほぼすべてのライブラリーを実行できます。これはすでに検証済みです。インテルでは、Apple やほかの製品がこのイニシアチブの利点を得られるように支援しています。クロスベンダー、クロスアーキテクチャー、オープンツール、オープン要素のこのイニシアチブを、インテルでは日々、自社製品にも適用しています。そして、開発者の負担を軽減するため、この取り組みに参加するほかの企業を支援しています。「製品のベンダーを検出して、それに応じて異なるコードを記述しなければならない」という開発者の最大の不満を oneAPI は解決しようとしています。

Swapnil Bhartiya: インテル® oneAPI レンダリング・ツールキットについて教えてください。

Jim Jeffers: インテル® oneAPI レンダリング・ツールキットは、レンダリング向けに最適化されたライブラリー群です。ライブラリーの数は増え続けており、最も有名なものは、登場から 10 年以上経つインテル® Embree (英語) レイトレーシング・カーネル・ライブラリーです。これは、インテル® oneAPI レンダリング・ツールキットに含まれるライブラリー群の中核であり、ほかのライブラリーはレイトレーシングや、光の物理学とそのメカニズムを利用して仮想 3D 世界をフォトリアリスティックにレンダリングする PBR (物理ベース・レンダリング) に関連しています。インテル® Embree は、映画業界への多大な貢献を評価され、2020 年にアカデミー技術功労賞を受賞しました。インテル® Embree はオープンソース・プロジェクトであり、誰でもインテル® Embree のコードを見ることができます。これは、最適化された高速レンダリングと、豊富な機能を駆使した最高の忠実度を実現することを目的としているためです。

ここ数年で注目を集めるようになったライブラリーは、AI ベースのノイズ除去であるインテル® Open Image Denoise (英語) です。これもオープンソース・プロジェクトです。インテルがほとんどのコードを開発していますが、最高のパフォーマンスと品質を備えたコンポーネントを提供することを目指して、提案や意見も受け付けています。インテル® Open Image Denoise は、AI ベースのメカニズムを使用して、レンダリングのレイトレーシング固有のノイズをフィルターします。これにより、本物の写真のようなイメージを作ることができます。完全に収束したフォトリアリスティックなイメージは、3D モデルや複雑さにもよりますが、CPU や GPU へのレンダリングに数時間を要します。しかし、インテル® Open Image Denoise のように高品質なノイズ除去機能を利用することで、高速にレンダリングできます。

映画では、さらに長い時間を要します。これは、レイトレースされたイメージは、より綿密に計算すればするほど、目で見る光の物理特性に近くなるからです。インテル® Embree でジオメトリック・レンダリングを行い、インテル® Open Image Denoise で AI または DL ベースのノイズ除去アルゴリズムを使用したノイズ除去を行うことで、業界最高の品質が得られます。この品質については、ブログで説明します。

インテル® oneAPI レンダリング・ツールキットには、ボリューム・メトリック・レンダリングを行うインテル® オープン・ボリューム・カーネル・ライブラリー (インテル® Open VKL) (英語) も含まれています。リリースから 1 年以上経ったこの製品は、パートナー各社との協力により、完全な機能を備え、ボリューム・レンダリングの Embree と呼べるまでになりました。

ボリューム・レンダリングは、ピクセルやオブジェクトの空間が 3D キューブになっている場合に有効です。特に、映画で多用されていますが、科学的なビジュアライゼーションにも使われています。映画の爆発シーンは、実際には幾何学的なオブジェクトではありません。霧の雲のようなもので、これをリアルに見せるため、ボリューム・レンダリングが重要な役割を果たします。ボリューム・レンダリングはさまざまな分野で使用されています。そのため、インテル® oneAPI レンダリング・ツールキットにはインテル® Open VKL が含まれています。

そして、個々のライブラリーを使いやすくまとめたインテル® OSPRay (英語) があります。インテル® OSPRay は、インテル® Embree、インテル® Open Image Denoise、インテル® Open VKL ライブラリーを使用するレンダリング・インフラストラクチャーを提供します。これにより、グラフィックス・プログラマーは、従来の高レベルの API を利用できます。

これが、インテル® oneAPI レンダリング・ツールキットの 4 つの主要ライブラリーです。このほかにも、インテル® OSPRay Studio と Hydra API 用のインテル® OSPRay プラグインがあります。Hydra は、Universal Scene Description (USD) (英語) と呼ばれるオープンソース・プロジェクトの中で Pixar が定義した API で、業界で幅広く普及しています。これにより、複数のスタジオの同じフォーマットのデータから映画を制作することができます。今日の映画は、制作会社が Pixar とクレジットされていても、実際にはおそらく 20 社以上が制作にかかわっています。USD は、この共同作業を容易にします。Hydra API 用のインテル® OSPRay プラグインは、業界を支援するためのものです。

最後に、レイトレーシングが使われている分野、そして当社の製品が使われている分野は広範に及びます。インテルでは、大きく 4 つの分野に分けています。1 つは、映画、スタジオ、メディア、エンターテインメントです。残りは、サイエンティフィック・ビジュアライゼーション、ハイパフォーマンス・コンピューティング、ハイスケール・ビジュアライゼーション、そしてプロダクトデザインと建築デザイン (建築エンジニアリングと呼ばれることもあります) です。

Swapnil Bhartiya: すでに多くの業界で、ブラックボックスやプロプライエタリーなテクノロジーから、オープンソースのハードウェアやソフトウェアへの移行が進んでいます。通信事業者やエネルギー分野も、同じような移行や変革を遂げています。映画スタジオではどのような変革が起きているのでしょうか?

Jim Jeffers: 特に、映画業界ではそうですが、ほかの業界でも同様の動きが見られます。5 ~ 10 年前は、誰もが独自のレンダリングを行っていました。しかし、それらはハードウェアのパフォーマンスを引き出せていませんでした。主人公をアニメではなく、本物のキャラクターのように見せる 3D 処理やレイトレーシング、その他の処理を行うため、プロセッサーに多額の費用をかけており、費用は劇的に増加し続けました。同時に、消費者の現実的に見えることに対する期待は非常に高く、実在するものでなくても現実的に見えることが要求されます。

この 2 つの課題に対応するには、コストを下げるか、収益を上げるかのいずれかを選択する必要がありますが、どちらも重要です。映画スタジオがオープンソースへ移行した主な理由は 2 つあります。業界全体で取り組む必要があり、Pixar や DreamWorks など、各スタジオの作風や外観には影響を与えないためです。このような理由からインテル® Embree は支持されました。映画スタジオにとって、作風や外観からどのスタジオが制作したものか分かることは重要です。

一方で、映画スタジオは、年間により多くの映画を公開するか、制作費用を抑える必要があります。コンピューター・ハードウェアへの低レベルのアクセスに関しては、映画スタジオよりもインテルや一部の競合他社のほうがハードウェアをよく理解しており、新しいプロセッサーを購入してそれを活用したほうが、より迅速にハードウェアの能力を引き出せます。インテルのソフトウェアはハードウェアの能力を最大限に発揮できるようにチューニングされています。インテルだけでなく、他社もオープンソース取り組んでいます。技術の結集は業界を超えて行われ、競争上の差別化がない分野ではオープンソースは爆発的に普及します。

インテルのオープンソースでは、レイトレーシングのエキスパートが開発したレイヤーや処理要素を利用できます。例えば、OpenColorIO (英語) があります。映画のカラー映像は同じように見えたほうが良いでしょう。複数の担当者が共同で映画を制作している場合、OpenColorIO を使用することで、浮動小数点空間の連続体である最終結果の色を希望通りのものにすることができます。ある担当者がシーンを制作し、別の担当者がそのシーンで作業する場合、色が一致しないことがあります。OpenColorIO はこの問題を解決します。インテルでは、ボリューム・レンダリングを行う OpenVDB (英語) を OpenVKL (英語) でサポートしています。繰り返しになりますが、オープンな環境が業界スタンダードになりつつあります。

オープンソースには、先見の明のある技術者がコードを提供し、それをほかの人々が利用するという、もう 1 つの側面があります。これはメリットでもあり、デメリットでもあります。コミュニティー・プロジェクトとして管理されなければ、それはほかの人に利用されることなく、忘れ去られてしまいます。

オープンソースは重要です。しかし、カスタマイズされたアプリケーションや商用アプリケーションが重要でないということではありません。現在は、商用とオープンソースが混在しており、基盤となるオープンソースが爆発的に増えているのです。

Swapnil Bhartiya: レンダリングについてもう少し詳しくお話ししましょう。映画業界以外でも使用されていますが、どのような分野で使用されており、oneAPI はどのような役割を果たしているのでしょうか?

Jim Jeffers: 例えば、自動車業界で使用されています。インテルは、Volkswagen グループのテクノロジーの最先鋒の 1 つである Bentley Motors と緊密なパートナーシップを築いています。自動車には、さまざまなレベルのユースケースがあります。まず最初に設計です。そして、その設計を、人々の購買意欲を高めたり、購入を検討している車の情報が得られるように (例えば、どのような色があるかなど) 市場に反映します。顧客に柔軟性を提供するには、魅力的でありながら、現実的かつ物理的な方法で CM 用の 3D 映像を効率良く制作する必要があります。

別のユースケースとして自動運転があります。全く異なるレンダリング・メカニズムで車が安全に走行することを検証します。AI が十分に賢いことを証明するため、実世界のカメラをエミュレートするプロジェクトや、LiDAR など、将来の自律走行車を実際に走らせるために必要な高精度で正しい物理的な根拠があります。Tesla だったと思いますが、5 年ぐらい前に聞いた話では、ソフトウェアを機能させるためには 150,000 マイル分の走行データが必要になるそうです。それは経済的に実現困難ですが、コンピューターが現実世界のデータを入力し、それをランダム化することができれば、鳥が飛んできたり、子供のボールが消えたり、目の前に大きな白いトラックが現れたり…ということが可能になります。自動車には、非常に興味深い用途があり、実際にインテルも積極的に関わっています。

Swapnil Bhartiya: 映画業界の例に戻りましょう。インテルのレンダリング技術や oneAPI をどのように活用しているのでしょうか?

Jim Jeffers: 一般にはあまり知られていませんが、映画のレンダリングはハイパフォーマンス・コンピューティングです。Pixar や DreamWorks は、スーパーコンピューターと同等のクラウド上やオンプレミスのレンダーファームを使用しています。インテルの最適化されたソフトウェアと彼らのスマート・レンダリングやルック & フィール・ソフトウェアを組み合わせることで、映画の配信を最適化し、従来の 2 倍の速度でレンダリングできるようになります。映画のレンダリングには何時間もかかるため、10% 向上できれば費用対効果があります。

興味深いことに、インテルのコードはレンダーファームのどこでも動作します。インテル® Embree、インテル® OpenVKL、またはインテル® Open Image Denoise を 24 時間 365 日稼働している場合、これらのコードが 50 ~ 80% の割合で実行されています。なぜなら、インテルのコードの中ですべての計算が行われているからです。そして、その結果を基にシェーディングやピクセルの配信が行われます。oneAPI の主な用途の 1 つであり、利点の 1 つでもあることは、どのような計算プラットフォームでも常に機能する柔軟性です。インテルの最新のコードを統合するだけで、すべての計算が行われ、迅速に視覚効果が得られます。

Swapnil Bhartiya: 本日は、インテル コーポレーションの Jim Jeffers 氏に oneAPI ツールキットや映画業界でのユースケースだけでなく、自動車業界のユースケースについてもお話いただきました。今度は、oneAPI だけでなく、ほかのオープンソースを含むプロジェクトについてもお話を伺えればと思います。本日はありがとうございました。

Jim Jeffers: ありがとうございました。皆さん、またの機会にお会いしましょう。

関連記事