SlideShare a Scribd company logo
1 of 49
リアルタイムレンダリング
21章 仮想現実と拡張現実
Nattaon (postdoc@Mashita lab)
2021/10/27
“Reality is that which, when you stop believing in it, doesn't go away."
---Philip K. Dick
現実とは、信じるのを止めても、消え去らないものだ
1
目次
21.1 機器とシステムの概要
21.2 物理的要素
- 21.2.1 レイテンシー
- 21.2.2 光学
- 21.2.3 立体視
2
21.3 API とハードウェア
- 21.3.1 ステレオ レンダリング
- 21.3.2 中心窩レンダリング
21.4レンダリング テクニック
- 21.4.1 ジャダー
- 21.4.2 タイミング
21. 仮想現実(VR)と拡張現実(AR)
3
ハードウェアが主に
● 正確で快適なヘッドトラッキングセンサー
● 効果的な入力装置
○ 触覚フィードバック
○ 視線追跡制御
● 快適なヘッドギアと光学系
● 説得力のあるオーディオ
● 性能、快適さ、動きの自由度、価格、その他の因子のバランス調整
インタラクティブ レンダリング
● 最良のユーザー体験を与えるため、画像を修正して、光学系で表示する。
21.1 機器とシステムの概要
● ディスプレイ
ビデオシースルー型HMD 光学シースルー型HMD
2つのディスプレイ
を持つ
1つのディスプレイ
を半分に分け
4
21.1 機器とシステムの概要
5
● センサー/トラッキング:回転と位置を検出
IR camera
IR LEDs
IR laser lines
IR sensors
Marker-based outside-in
e.g. Oculus Rift CV1
Marker-based inside-out
e.g. HTC Vive
Markerless inside-out
e.g. Oculus Quest
wide fov
cameras
21.1 機器とシステムの概要
6
● HUD
● MR
● Vrvana Totem , Occipital Bridge
● Microsoft Hololens
● HPU
● Apple ARKit, Google ARCore
● Intel Project Alloy
● Google Daydream VR,
Qualcomm Snapdragon VR
目次
21.1 機器とシステムの概要
21.2 物理的要素
- 21.2.1 レイテンシー
- 21.2.2 光学
- 21.2.3 立体視
7
21.3 API とハードウェア
- 21.3.1 ステレオ レンダリング
- 21.3.2 中心窩レンダリング
21.4レンダリング テクニック
- 21.4.1 ジャダー
- 21.4.2 タイミング
21.2.1 レイテンシー
8
システム全体の動きから光子までのレイテンシー
頭を回して、その方向のビューが生成・表示されるまでの時間
∑ ~10ms
21.2.1 レイテンシー
9
● 通常のディスプレイモニター
○ インタラクティブ性と接続の感覚を壊して迷惑
● 拡張現実 (AR)と複合現実 (MR)
○ 仮想オブジェクトは現実世界に対して泳いだり浮かぶように見える
● 仮想現実 (VR)
○ 劇的な影響を作り出す。シミュレー ション酔 (Simulation sickness)
○ 汗、目まい、吐き気や、さらに悪い症状
○ この不快感を「切り抜ける」こと は不可能で、悪化するだけ
VR のシミュレーション酔い
10
● ユーザーの期待や知覚と、表示イメージが一致しないときに発生する。
○ 内耳の前庭系 (Vestibular system)
● 頭の動きと、正しく一致する表示イメージの時間差が小さいほど、よい体験になる
○ 15msは感知できない
○ 20msを超える時間差は間違いなく知覚でき、有害な影響がある
● Monitor display : マウスの動きから表示まで
○ ゲームは一般に50ms以上 (vsync/垂直同期有効)
○ 垂直同期無効で30ms
● VRシステムでは90FPSの表示レートが一般的で、11.1msのフレーム時間を与える
○ フレームをケーブル接続のディスプレイで走査するのに約11msかかる
○ たとえ1msでレンダー
○ 合計12msのレイテンシー
シミュレーション酔い/不快感を防く
11
● アプリケーション:
○ 視覚フロー(visual flow)の最小化
○ ユーザーが前進しているときに横を向かないように:(左右)
○ 階段を登らないように:(上下)
● 心理学的アプローチ
○ 環境音楽の再生
○ ユーザー鼻を表す仮想オブジェクトのレンダリング
○ 輝度の低い色
○ 暗いライティング
トラッキングポーズ・ポーズ
13
利用者の頭の向き(と位置)はカメラ行列の形成に使われる⇨レンダリングに必要
● フレー ムの最初に
○ 大まかなポーズの予測
○ キャラクターと環境中の要素の衝突検出などのシミュレーションを行うため
● レンダリングが始まる直前
○ より正確なポーズ予測を取り出し
○ カメラのビューの更新に使える
● イメージを表示する直前
○ より正確な別のポーズ予測を取り出し
○ よりユーザーの位置に一致するようにイメージを変形できる
● 後からの予測が全体的な体験を大きく改善できる
目次
21.1 機器とシステムの概要
21.2 物理的要素
- 21.2.1 レイテンシー
- 21.2.2 光学
- 21.2.3 立体視
14
21.3 API とハードウェア
- 21.3.1 ステレオ レンダリング
- 21.3.2 中心窩レンダリング
21.4レンダリング テクニック
- 21.4.1 ジャダー
- 21.4.2 タイミング
21.2.2 光学(Optics)
15
GPUが作り出すイメージを、目に正しく届くように、後処理で変形する。
VRシステムのレンズ
● 広い視野のイメージを表示
● 糸巻き型収差 (Pincushion distortion) を持つ。
レンダーする画像
● 樽型収差 (Barrel distortion)で変形する
● レンズを通して見た結果は
歪曲収差なし
21.2.2 光学(Optics)
生成したイメージを、樽型収差で変形することにより、
レンズの曲がる効果が打ち消される。
16
21.2.2 光学(Optics)
17
色収差(Chromatic aberration)
● レンズによってプリズムのように色の分離が生じる
● 逆の色分離を持つイメージを、生成することにより、補償できる
fresnel lens
変形したペアのイメージの端にオレンジの縁に見られる
21.2.2 光学(Optics)
18
ローリングディスプレイ
● 走査線(scan line)ごとに、受信後すぐに表示される。
● レイテンシーを最小化できる。
● 揺らぐイメージ(wobbly)と受け取られる
● コンポジターが、走査線のブロックを越えて予測した頭のポーズを補間
● 高速頭の回転で起きる揺れや、せん断のほとんどに対処する
● シーン中で動くオブジェクトを補正でない
グローバルディスプレイ
● 一度全部を受信してから、イメージが表示される
● 短いバーストにより除外される表示
● 有機発光ダイオード(OLED) ディスプレイ向け、90FPSの表示レート
目次
21.1 機器とシステムの概要
21.2 物理的要素
- 21.2.1 レイテンシー
- 21.2.2 光学
- 21.2.3 立体視
19
21.3 API とハードウェア
- 21.3.1 ステレオ レンダリング
- 21.3.2 中心窩レンダリング
21.4レンダリング テクニック
- 21.4.1 ジャダー
- 21.4.2 タイミング
21.2.3 立体視(Stereopsis)
20
● 2つの目を持つことによる奥行きを知覚できる
● 立体視は距離とともに弱まる
● 奥行きを知覚する他の手がかり(単眼でも動作する)
○ オブジェクトのサイズ
○ テクスチャー パターンの変化
○ 影
○ 相対的な動き(視差)
○ など
HMD上で表示するイメージは
目ごとに異なるビューでオフセットされる
21.2.3 立体視(Stereopsis)
21
調節要求(accommodative demand)
● 何かを焦点に持ち込むため、
目(レンズ)の大きさを調整する
● 瞳の大きさではない!(照明による)
● 遠く(7m+)を見る⇨レンズが伸びる
● 近くにあるものを見る⇨レンズが縮む
正面(半分)
側面
広く
薄い
狭く
厚い
21.2.3 立体視(Stereopsis)
22
輻湊要求(vergence demand)
● オブジェクトに焦点を合わせるため、目が内側を向く大きさ
調節収れん反射(accommodation-convergence reflex)
● 目がレンズの形を変えて一斉に内側を向き現象
収れん (convergence) 発散 (divergence)
遠くのオブジェクトを
見る視線は実質的に平行
21.2.3 立体視(Stereopsis)
23
ディスプレイ
● 調節要求は一定
● オブジェクトに焦点を合わせるときに、輻湊要求が変化する
● この不一致が目の緊張を引き起こす
● Oculus:バーチャルオブジェクトを、約0.75から3.5メートルの距離に置く
適応焦点 (Adaptive focus) や可変焦点 (Varifold)ディスプレイ
● ユーザーの目の動きに基づいて、知覚焦点距離を調整できる
● 研究開発中
ステレオ ペア
● 偏向レンズ、シャッ ター グラス、マルチビュー ディスプレイ オプティックスなど
が同じスクリーンから目に別々のイメージを提示する
21.2.3 立体視(Stereopsis)
瞳孔間距離(IPD : Interpupillary distance)
● 目と目の距離
● 52mm から78mm の範囲で、平均が 63.5mm (米国陸軍兵士の研究で)
● ユーザーのIPDを決定して調整し、イメージの品質と快適さを改善できる
● 目の分離距離を増す⇨行きの知覚を強められるが、目の緊張を引き起こす
● システムのAPIは、このIPDを含めた、カメラのモデルを制御する
24
目次
21.1 機器とシステムの概要
21.2 物理的要素
- 21.2.1 レイテンシー
- 21.2.2 光学
- 21.2.3 立体視
25
21.3 API とハードウェア
- 21.3.1 ステレオ レンダリング
- 21.3.2 中心窩レンダリング
21.4レンダリング テクニック
- 21.4.1 ジャダー
- 21.4.2 タイミング
21.3 APIs and Hardware
26
★必ずシステム プロバイダーが提供する VR ソフトウェア開発キット(SDK)
とアプリケーションプログラミング インターフェイス(API)を使ってください★
● 独自の変形シェーダーは、不快感の原因になるかも
● たくさんテストしないと分からない
● 性能を最適化・品質を維持する作業は、システムがやってくれる
このセクションは、様々な ベンダーのSDKとAPIが提供する支援機能を解説する。
21.3 APIs and Hardware
27
レンダーした3Dシーンのイメージをヘッドセットに送る処理
1.フレームが表示される時間 Ti を見積もる=レイテンシー
2.今のポーズをAPIに問い合わせる
3.時間 Ti のとき、SDKがポーズを計算し、目のカメラを設定する
4.予測が完璧なら、レイテンシーの影響が最小。
頭が予測した位置と向きに達した瞬間に、レンダーしたイメージが表示される。
ポーズ =
頭の向き & 位置(あれば)
21.3 APIs and Hardware
28
コンポジター (組み合わせ合成)
最も効率的
な方法
レイヤー1
レイヤー2
レイヤー3
合成 イメージ
補正措置を適用する
最終的な表示イメージ
Oculus方法
レイヤー1
レイヤー2
レイヤー3
変形したレイヤー1
変形したレイヤー2
変形したレイヤー3
補正
補正
補正
合成 最終的な表示イメージ
● 利点は各レイヤーの解像度で変形する ⇨ テキストの品質を改善できる
● 変形処理での再サンプリングとフィルタリングが
テキストの内容だけに焦点を合わせる
21.3 APIs and Hardware
29
ディスプレイ イメージ
● ユーザーが知覚する視野はほぼ円形、赤い四隅は検知されない。
● 隠し領域メッシュを、ステンシル バッファーに、前面にレンダーする
● HTC Vive上でfill rate を約17% 下げる ⇨ シェーディングが必要なピクセルが減る
APIが提供する
21.3 APIs and Hardware
30
HMDのレンズによる歪みを補償する(再マッピング)
● Ray castingは波長による補正を行えるが、非実用的
● レンダーしたイメージを テクスチャーとして扱い、後処理を実行する
● Pixel shaderでテクスチャー上の正確な位置を計算する
○ すべてのピクセルで変形の式を評価する ⇨ 高価
● テクスチャーを Triangle mesh に適用して、変形の式で修正するのが効率的
○ メッシュの変形は、色収差が補正されない
○ 色チャンネル(赤、緑、青)ごとに、イメージを変形する
○ Gridded mesh を表示イメージに適用 ⇨ 細長い三角形が表示されない
31
レンズ歪みを補償し、
表示する画像
レンダーされた画像
21.3 APIs and Hardware
32
HMDのレンズによる歪みを補償した
最終的な表示イメージのメッシュ
片目に48 x48の四辺形
間引かれたメッシュ。
最後の変形パスのコストを約15%減らせる。
21.3.1 ステレオ レンダリング
33
● 2つのビューのレンダリングのコスト ≠ 2倍 x 1つのビューのレンダリング
● シャドウ マップの生成、Simulation、Animationなどの要素は、ビューに依存しない
● Pixel shader 呼び出し&後処理効果は、解像度に依存する
● ビュー依存の頂点処理は倍になる (View-dependent vertex processing)
錐台カリング(Frustum culling)
● メッシュをGPUのパイプラインで送る前に行われる
● レンダリングの前に発生するので、両目の錐台を囲む1つの錐台が使える
● 予測カリングで視野に約5度を加える
21.3.1 ステレオ レンダリング
34
レンダーする手法
● 順に行うこと。1つのビュー ⇨ もう1つのビュー
● オブジェクトごとに2回ずつレンダー
● ビューごとにジオメトリーを複製
● インスタンス化を使う
● コマンドリストを作る
⇨Tile-based renderでViewとRender target
を頻繁に変えると、ひどい性能になる
⇨API draw call の数は倍になる
⇨ジオメトリースループットが3分の1以下になる
⇨各オブジェクトのジオメトリーを1つのdraw callで2回描く
⇨もう片方の目の変換にシフト、コマンドリストをリプレイ
ジオメトリーを2回+ パイプラインに送ることを回避する機能拡張
● OpenGL ES 3.0のマルチビュー
● AMDとNVIDIAのマルチGPU ソリューション
● NVIDIA のブロードキャスト
● 並列に動作する2つのGPUで、約30-35%のレンダリング高速化
21.3.1 ステレオ レンダリング
36
ステレオ ビューの視差
● 近くのモデルでは重要、遠くのオブジェクトでは無視できる
● 10mより近い不透明オブジェクトは、2つのステレオ カメラでレンダー
● 10mより速いものは、単眼カメラでレンダー
① ステレオ ビュー(近いもの)を最初に描く
② 遠いオブジェクトをステレオ ビューに合成
③ 透明なものは最後に各ビューにレンダー
オーバードローを最小化するため
背景(遠いオブジェクト)の位置は、
右画像と左画像があまり変わらない。
21.3.1 ステレオ レンダリング
37
21.3.1 ステレオ レンダリング
38
● イメージの変形により、中央ピクセルの密度のほうが高い
● ユーザーも画面の中央を向いている。
● 周辺部はあまり重要ない。
最初のレンダーイメージ 示用に変形したイメージ
21.3.1 ステレオ レンダリング
39
Eye’s view の周辺のピクセルを減らすテクニック
● マルチ解像度シェーディング(NVIDIA Maxwell architecture 2014年 以来サポート)
● 可変レートシェーディング(AMD)
● 3×3の区分に分割し、周辺の領域を低い解像度でレンダーする
21.3.1 ステレオ レンダリング
40
同時マルチ投影 (simultaneous multi-projection : SMP)
● NVIDIA Pascal architecture 2016年 以降(GTX1080)
● ジオメトリーを最大16の個別の投影× 2目の位置
● 最初の目の位置 + x axis offset = 2番目の目の位置
● 投影はそれぞれ独立に軸の周りで回転できる
HMDの曲面投影に対応
21.3.2 中心窩レンダリング (Foveated Rendering)
41
● 中心窩は、目の網膜の小さなくぼみ
● 色覚で最も高く
● 中心窩の中心から30度以降、視力は急速に低下
21.3.2 中心窩レンダリング (Foveated Rendering)
42
● 目が向けられた領域を高い解像度と品質でレンダーする
● 問題:サッカード、目の連続した急速な移動(900度/秒 ~ 10°/frame in 90FPS)
● 正確な Eye tracking が必要
目次
21.1 機器とシステムの概要
21.2 物理的要素
- 21.2.1 レイテンシー
- 21.2.2 光学
- 21.2.3 立体視
43
21.3 API とハードウェア
- 21.3.1 ステレオ レンダリング
- 21.3.2 中心窩レンダリング
21.4レンダリング テクニック
- 21.4.1 ジャダー
- 21.4.2 タイミング
21.4 レンダリング テクニック
44
● 固定画面、と見る人と一緒に動く画面の動作するテクニックが違う
● VR/ARビューが非常に重要
● フリッカー(点滅)、ストロボ ライト、高周波の テクスチャー ⇨シミュレーター酔い
21.4 レンダリング テクニック
45
● VRとARで、HUDの深度の矛盾の危険がある
● レイをキャストして、最も近いサーフェスの深度を求め、その深度の上にレンダー
● 目に近い深度でレンダーするように、HUDの内容を左右シフトしなければならない
モニターベースのゲームのHUDは
画面の前に固定する
21.4 レンダリング テクニック
46
バンプ(凹凸)マッピング
OK 法線マップ
● 遠くにある物体 近くで検査できない
● 細かいサーフェステクスチャ
NG 法線マップ
● 数cm以上のディテール
● 大きな幾何学的特徴を表す
21.4 レンダリング テクニック
47
● Billboards and imposters lack surface z-depth
○ can be unconvincing when viewed in stereo
○ volumetric techniques or meshes is more appropriate
● Skyboxes
● Tone mapping
● Screen-space ambient occlusion and reflection
● Post-processing effects such as bloom or flares
● Underwater or heat distortion effects
● Screen-space reflection
● Specular highlighting
Researchers have found that modifying this disparity can make
the images easier to fuse and be more convincing.
21.4.1 ジャダー (Judder/振り動かす)
48
● 完璧なトラッキングができても、レイテ ンシーの問題がある。
● HMDの更新レート 45ー120FPS 以内でイメージを生成する
GPU compositor display
画像をレンダー 画像を合わせて、ビュー変形
60 FPS の場合、1フレームは16.7ミリ秒以内にレンダー&変換!
● フレーム落ちは、目が動いているときに、ジャダーの知覚を高める
○ smear:ピクセルが数フレームの間に照明されるとき
○ strob:フレームの間に大きな変化がある
21.4.1 ジャダー (Judder/振り動かす)
49
レイテンシーとジャダー効果の最小化に役立つ手法
● タイムワープ:頭のポーズの回転を補償する
● スペースワープ:カメラと頭の移動+前のフレームを分析して、欠けたフレームを推
定
● 生成したイメージを、ユーザーの向きと位置に近付くように変形や修正を行う
a. フレーム落ちがない、頭の回転は一定
b. フレーム落ちがない、頭の回転がスローダウン
c. フレームが落ちる ⇨ もっと深刻
21.4.2 タイミング
● 品質を維持するための最もよいのは、フレーム落ちを避ける
● 表示の時点のユーザーの実際のポーズ、と予測されたポーズが異なる問題
● 遅延向きワープテクニック(Late orientation warping)< 0.5 ms
a. 普通にポーズを取得して、フレームを生成
b. フレー ムができたら、もう一度ポーズを取得
c. 取得したと予測ポーズと違ったら、フレームで回転ワープ(タイムワープ)
a. b.
c.
50
ポーズを取得
フレー ム
ができる
ポーズを
取得
タイムワープ
display refresh
rate を待つ
21.4.2 タイミング
51
CPUとGPUの作業は、
1フレーム以内
終わるように
frame#1 frame#2 frame#3 frame#4

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

21.仮想現実と拡張現実

  • 1. リアルタイムレンダリング 21章 仮想現実と拡張現実 Nattaon (postdoc@Mashita lab) 2021/10/27 “Reality is that which, when you stop believing in it, doesn't go away." ---Philip K. Dick 現実とは、信じるのを止めても、消え去らないものだ 1
  • 2. 目次 21.1 機器とシステムの概要 21.2 物理的要素 - 21.2.1 レイテンシー - 21.2.2 光学 - 21.2.3 立体視 2 21.3 API とハードウェア - 21.3.1 ステレオ レンダリング - 21.3.2 中心窩レンダリング 21.4レンダリング テクニック - 21.4.1 ジャダー - 21.4.2 タイミング
  • 3. 21. 仮想現実(VR)と拡張現実(AR) 3 ハードウェアが主に ● 正確で快適なヘッドトラッキングセンサー ● 効果的な入力装置 ○ 触覚フィードバック ○ 視線追跡制御 ● 快適なヘッドギアと光学系 ● 説得力のあるオーディオ ● 性能、快適さ、動きの自由度、価格、その他の因子のバランス調整 インタラクティブ レンダリング ● 最良のユーザー体験を与えるため、画像を修正して、光学系で表示する。
  • 4. 21.1 機器とシステムの概要 ● ディスプレイ ビデオシースルー型HMD 光学シースルー型HMD 2つのディスプレイ を持つ 1つのディスプレイ を半分に分け 4
  • 5. 21.1 機器とシステムの概要 5 ● センサー/トラッキング:回転と位置を検出 IR camera IR LEDs IR laser lines IR sensors Marker-based outside-in e.g. Oculus Rift CV1 Marker-based inside-out e.g. HTC Vive Markerless inside-out e.g. Oculus Quest wide fov cameras
  • 6. 21.1 機器とシステムの概要 6 ● HUD ● MR ● Vrvana Totem , Occipital Bridge ● Microsoft Hololens ● HPU ● Apple ARKit, Google ARCore ● Intel Project Alloy ● Google Daydream VR, Qualcomm Snapdragon VR
  • 7. 目次 21.1 機器とシステムの概要 21.2 物理的要素 - 21.2.1 レイテンシー - 21.2.2 光学 - 21.2.3 立体視 7 21.3 API とハードウェア - 21.3.1 ステレオ レンダリング - 21.3.2 中心窩レンダリング 21.4レンダリング テクニック - 21.4.1 ジャダー - 21.4.2 タイミング
  • 9. 21.2.1 レイテンシー 9 ● 通常のディスプレイモニター ○ インタラクティブ性と接続の感覚を壊して迷惑 ● 拡張現実 (AR)と複合現実 (MR) ○ 仮想オブジェクトは現実世界に対して泳いだり浮かぶように見える ● 仮想現実 (VR) ○ 劇的な影響を作り出す。シミュレー ション酔 (Simulation sickness) ○ 汗、目まい、吐き気や、さらに悪い症状 ○ この不快感を「切り抜ける」こと は不可能で、悪化するだけ
  • 10. VR のシミュレーション酔い 10 ● ユーザーの期待や知覚と、表示イメージが一致しないときに発生する。 ○ 内耳の前庭系 (Vestibular system) ● 頭の動きと、正しく一致する表示イメージの時間差が小さいほど、よい体験になる ○ 15msは感知できない ○ 20msを超える時間差は間違いなく知覚でき、有害な影響がある ● Monitor display : マウスの動きから表示まで ○ ゲームは一般に50ms以上 (vsync/垂直同期有効) ○ 垂直同期無効で30ms ● VRシステムでは90FPSの表示レートが一般的で、11.1msのフレーム時間を与える ○ フレームをケーブル接続のディスプレイで走査するのに約11msかかる ○ たとえ1msでレンダー ○ 合計12msのレイテンシー
  • 11. シミュレーション酔い/不快感を防く 11 ● アプリケーション: ○ 視覚フロー(visual flow)の最小化 ○ ユーザーが前進しているときに横を向かないように:(左右) ○ 階段を登らないように:(上下) ● 心理学的アプローチ ○ 環境音楽の再生 ○ ユーザー鼻を表す仮想オブジェクトのレンダリング ○ 輝度の低い色 ○ 暗いライティング
  • 12. トラッキングポーズ・ポーズ 13 利用者の頭の向き(と位置)はカメラ行列の形成に使われる⇨レンダリングに必要 ● フレー ムの最初に ○ 大まかなポーズの予測 ○ キャラクターと環境中の要素の衝突検出などのシミュレーションを行うため ● レンダリングが始まる直前 ○ より正確なポーズ予測を取り出し ○ カメラのビューの更新に使える ● イメージを表示する直前 ○ より正確な別のポーズ予測を取り出し ○ よりユーザーの位置に一致するようにイメージを変形できる ● 後からの予測が全体的な体験を大きく改善できる
  • 13. 目次 21.1 機器とシステムの概要 21.2 物理的要素 - 21.2.1 レイテンシー - 21.2.2 光学 - 21.2.3 立体視 14 21.3 API とハードウェア - 21.3.1 ステレオ レンダリング - 21.3.2 中心窩レンダリング 21.4レンダリング テクニック - 21.4.1 ジャダー - 21.4.2 タイミング
  • 14. 21.2.2 光学(Optics) 15 GPUが作り出すイメージを、目に正しく届くように、後処理で変形する。 VRシステムのレンズ ● 広い視野のイメージを表示 ● 糸巻き型収差 (Pincushion distortion) を持つ。 レンダーする画像 ● 樽型収差 (Barrel distortion)で変形する ● レンズを通して見た結果は 歪曲収差なし
  • 16. 21.2.2 光学(Optics) 17 色収差(Chromatic aberration) ● レンズによってプリズムのように色の分離が生じる ● 逆の色分離を持つイメージを、生成することにより、補償できる fresnel lens 変形したペアのイメージの端にオレンジの縁に見られる
  • 17. 21.2.2 光学(Optics) 18 ローリングディスプレイ ● 走査線(scan line)ごとに、受信後すぐに表示される。 ● レイテンシーを最小化できる。 ● 揺らぐイメージ(wobbly)と受け取られる ● コンポジターが、走査線のブロックを越えて予測した頭のポーズを補間 ● 高速頭の回転で起きる揺れや、せん断のほとんどに対処する ● シーン中で動くオブジェクトを補正でない グローバルディスプレイ ● 一度全部を受信してから、イメージが表示される ● 短いバーストにより除外される表示 ● 有機発光ダイオード(OLED) ディスプレイ向け、90FPSの表示レート
  • 18. 目次 21.1 機器とシステムの概要 21.2 物理的要素 - 21.2.1 レイテンシー - 21.2.2 光学 - 21.2.3 立体視 19 21.3 API とハードウェア - 21.3.1 ステレオ レンダリング - 21.3.2 中心窩レンダリング 21.4レンダリング テクニック - 21.4.1 ジャダー - 21.4.2 タイミング
  • 19. 21.2.3 立体視(Stereopsis) 20 ● 2つの目を持つことによる奥行きを知覚できる ● 立体視は距離とともに弱まる ● 奥行きを知覚する他の手がかり(単眼でも動作する) ○ オブジェクトのサイズ ○ テクスチャー パターンの変化 ○ 影 ○ 相対的な動き(視差) ○ など HMD上で表示するイメージは 目ごとに異なるビューでオフセットされる
  • 20. 21.2.3 立体視(Stereopsis) 21 調節要求(accommodative demand) ● 何かを焦点に持ち込むため、 目(レンズ)の大きさを調整する ● 瞳の大きさではない!(照明による) ● 遠く(7m+)を見る⇨レンズが伸びる ● 近くにあるものを見る⇨レンズが縮む 正面(半分) 側面 広く 薄い 狭く 厚い
  • 21. 21.2.3 立体視(Stereopsis) 22 輻湊要求(vergence demand) ● オブジェクトに焦点を合わせるため、目が内側を向く大きさ 調節収れん反射(accommodation-convergence reflex) ● 目がレンズの形を変えて一斉に内側を向き現象 収れん (convergence) 発散 (divergence) 遠くのオブジェクトを 見る視線は実質的に平行
  • 22. 21.2.3 立体視(Stereopsis) 23 ディスプレイ ● 調節要求は一定 ● オブジェクトに焦点を合わせるときに、輻湊要求が変化する ● この不一致が目の緊張を引き起こす ● Oculus:バーチャルオブジェクトを、約0.75から3.5メートルの距離に置く 適応焦点 (Adaptive focus) や可変焦点 (Varifold)ディスプレイ ● ユーザーの目の動きに基づいて、知覚焦点距離を調整できる ● 研究開発中 ステレオ ペア ● 偏向レンズ、シャッ ター グラス、マルチビュー ディスプレイ オプティックスなど が同じスクリーンから目に別々のイメージを提示する
  • 23. 21.2.3 立体視(Stereopsis) 瞳孔間距離(IPD : Interpupillary distance) ● 目と目の距離 ● 52mm から78mm の範囲で、平均が 63.5mm (米国陸軍兵士の研究で) ● ユーザーのIPDを決定して調整し、イメージの品質と快適さを改善できる ● 目の分離距離を増す⇨行きの知覚を強められるが、目の緊張を引き起こす ● システムのAPIは、このIPDを含めた、カメラのモデルを制御する 24
  • 24. 目次 21.1 機器とシステムの概要 21.2 物理的要素 - 21.2.1 レイテンシー - 21.2.2 光学 - 21.2.3 立体視 25 21.3 API とハードウェア - 21.3.1 ステレオ レンダリング - 21.3.2 中心窩レンダリング 21.4レンダリング テクニック - 21.4.1 ジャダー - 21.4.2 タイミング
  • 25. 21.3 APIs and Hardware 26 ★必ずシステム プロバイダーが提供する VR ソフトウェア開発キット(SDK) とアプリケーションプログラミング インターフェイス(API)を使ってください★ ● 独自の変形シェーダーは、不快感の原因になるかも ● たくさんテストしないと分からない ● 性能を最適化・品質を維持する作業は、システムがやってくれる このセクションは、様々な ベンダーのSDKとAPIが提供する支援機能を解説する。
  • 26. 21.3 APIs and Hardware 27 レンダーした3Dシーンのイメージをヘッドセットに送る処理 1.フレームが表示される時間 Ti を見積もる=レイテンシー 2.今のポーズをAPIに問い合わせる 3.時間 Ti のとき、SDKがポーズを計算し、目のカメラを設定する 4.予測が完璧なら、レイテンシーの影響が最小。 頭が予測した位置と向きに達した瞬間に、レンダーしたイメージが表示される。 ポーズ = 頭の向き & 位置(あれば)
  • 27. 21.3 APIs and Hardware 28 コンポジター (組み合わせ合成) 最も効率的 な方法 レイヤー1 レイヤー2 レイヤー3 合成 イメージ 補正措置を適用する 最終的な表示イメージ Oculus方法 レイヤー1 レイヤー2 レイヤー3 変形したレイヤー1 変形したレイヤー2 変形したレイヤー3 補正 補正 補正 合成 最終的な表示イメージ ● 利点は各レイヤーの解像度で変形する ⇨ テキストの品質を改善できる ● 変形処理での再サンプリングとフィルタリングが テキストの内容だけに焦点を合わせる
  • 28. 21.3 APIs and Hardware 29 ディスプレイ イメージ ● ユーザーが知覚する視野はほぼ円形、赤い四隅は検知されない。 ● 隠し領域メッシュを、ステンシル バッファーに、前面にレンダーする ● HTC Vive上でfill rate を約17% 下げる ⇨ シェーディングが必要なピクセルが減る APIが提供する
  • 29. 21.3 APIs and Hardware 30 HMDのレンズによる歪みを補償する(再マッピング) ● Ray castingは波長による補正を行えるが、非実用的 ● レンダーしたイメージを テクスチャーとして扱い、後処理を実行する ● Pixel shaderでテクスチャー上の正確な位置を計算する ○ すべてのピクセルで変形の式を評価する ⇨ 高価 ● テクスチャーを Triangle mesh に適用して、変形の式で修正するのが効率的 ○ メッシュの変形は、色収差が補正されない ○ 色チャンネル(赤、緑、青)ごとに、イメージを変形する ○ Gridded mesh を表示イメージに適用 ⇨ 細長い三角形が表示されない
  • 31. 21.3 APIs and Hardware 32 HMDのレンズによる歪みを補償した 最終的な表示イメージのメッシュ 片目に48 x48の四辺形 間引かれたメッシュ。 最後の変形パスのコストを約15%減らせる。
  • 32. 21.3.1 ステレオ レンダリング 33 ● 2つのビューのレンダリングのコスト ≠ 2倍 x 1つのビューのレンダリング ● シャドウ マップの生成、Simulation、Animationなどの要素は、ビューに依存しない ● Pixel shader 呼び出し&後処理効果は、解像度に依存する ● ビュー依存の頂点処理は倍になる (View-dependent vertex processing) 錐台カリング(Frustum culling) ● メッシュをGPUのパイプラインで送る前に行われる ● レンダリングの前に発生するので、両目の錐台を囲む1つの錐台が使える ● 予測カリングで視野に約5度を加える
  • 33. 21.3.1 ステレオ レンダリング 34 レンダーする手法 ● 順に行うこと。1つのビュー ⇨ もう1つのビュー ● オブジェクトごとに2回ずつレンダー ● ビューごとにジオメトリーを複製 ● インスタンス化を使う ● コマンドリストを作る ⇨Tile-based renderでViewとRender target を頻繁に変えると、ひどい性能になる ⇨API draw call の数は倍になる ⇨ジオメトリースループットが3分の1以下になる ⇨各オブジェクトのジオメトリーを1つのdraw callで2回描く ⇨もう片方の目の変換にシフト、コマンドリストをリプレイ ジオメトリーを2回+ パイプラインに送ることを回避する機能拡張 ● OpenGL ES 3.0のマルチビュー ● AMDとNVIDIAのマルチGPU ソリューション ● NVIDIA のブロードキャスト ● 並列に動作する2つのGPUで、約30-35%のレンダリング高速化
  • 34. 21.3.1 ステレオ レンダリング 36 ステレオ ビューの視差 ● 近くのモデルでは重要、遠くのオブジェクトでは無視できる ● 10mより近い不透明オブジェクトは、2つのステレオ カメラでレンダー ● 10mより速いものは、単眼カメラでレンダー ① ステレオ ビュー(近いもの)を最初に描く ② 遠いオブジェクトをステレオ ビューに合成 ③ 透明なものは最後に各ビューにレンダー オーバードローを最小化するため
  • 36. 21.3.1 ステレオ レンダリング 38 ● イメージの変形により、中央ピクセルの密度のほうが高い ● ユーザーも画面の中央を向いている。 ● 周辺部はあまり重要ない。 最初のレンダーイメージ 示用に変形したイメージ
  • 37. 21.3.1 ステレオ レンダリング 39 Eye’s view の周辺のピクセルを減らすテクニック ● マルチ解像度シェーディング(NVIDIA Maxwell architecture 2014年 以来サポート) ● 可変レートシェーディング(AMD) ● 3×3の区分に分割し、周辺の領域を低い解像度でレンダーする
  • 38. 21.3.1 ステレオ レンダリング 40 同時マルチ投影 (simultaneous multi-projection : SMP) ● NVIDIA Pascal architecture 2016年 以降(GTX1080) ● ジオメトリーを最大16の個別の投影× 2目の位置 ● 最初の目の位置 + x axis offset = 2番目の目の位置 ● 投影はそれぞれ独立に軸の周りで回転できる HMDの曲面投影に対応
  • 39. 21.3.2 中心窩レンダリング (Foveated Rendering) 41 ● 中心窩は、目の網膜の小さなくぼみ ● 色覚で最も高く ● 中心窩の中心から30度以降、視力は急速に低下
  • 40. 21.3.2 中心窩レンダリング (Foveated Rendering) 42 ● 目が向けられた領域を高い解像度と品質でレンダーする ● 問題:サッカード、目の連続した急速な移動(900度/秒 ~ 10°/frame in 90FPS) ● 正確な Eye tracking が必要
  • 41. 目次 21.1 機器とシステムの概要 21.2 物理的要素 - 21.2.1 レイテンシー - 21.2.2 光学 - 21.2.3 立体視 43 21.3 API とハードウェア - 21.3.1 ステレオ レンダリング - 21.3.2 中心窩レンダリング 21.4レンダリング テクニック - 21.4.1 ジャダー - 21.4.2 タイミング
  • 42. 21.4 レンダリング テクニック 44 ● 固定画面、と見る人と一緒に動く画面の動作するテクニックが違う ● VR/ARビューが非常に重要 ● フリッカー(点滅)、ストロボ ライト、高周波の テクスチャー ⇨シミュレーター酔い
  • 43. 21.4 レンダリング テクニック 45 ● VRとARで、HUDの深度の矛盾の危険がある ● レイをキャストして、最も近いサーフェスの深度を求め、その深度の上にレンダー ● 目に近い深度でレンダーするように、HUDの内容を左右シフトしなければならない モニターベースのゲームのHUDは 画面の前に固定する
  • 44. 21.4 レンダリング テクニック 46 バンプ(凹凸)マッピング OK 法線マップ ● 遠くにある物体 近くで検査できない ● 細かいサーフェステクスチャ NG 法線マップ ● 数cm以上のディテール ● 大きな幾何学的特徴を表す
  • 45. 21.4 レンダリング テクニック 47 ● Billboards and imposters lack surface z-depth ○ can be unconvincing when viewed in stereo ○ volumetric techniques or meshes is more appropriate ● Skyboxes ● Tone mapping ● Screen-space ambient occlusion and reflection ● Post-processing effects such as bloom or flares ● Underwater or heat distortion effects ● Screen-space reflection ● Specular highlighting Researchers have found that modifying this disparity can make the images easier to fuse and be more convincing.
  • 46. 21.4.1 ジャダー (Judder/振り動かす) 48 ● 完璧なトラッキングができても、レイテ ンシーの問題がある。 ● HMDの更新レート 45ー120FPS 以内でイメージを生成する GPU compositor display 画像をレンダー 画像を合わせて、ビュー変形 60 FPS の場合、1フレームは16.7ミリ秒以内にレンダー&変換! ● フレーム落ちは、目が動いているときに、ジャダーの知覚を高める ○ smear:ピクセルが数フレームの間に照明されるとき ○ strob:フレームの間に大きな変化がある
  • 47. 21.4.1 ジャダー (Judder/振り動かす) 49 レイテンシーとジャダー効果の最小化に役立つ手法 ● タイムワープ:頭のポーズの回転を補償する ● スペースワープ:カメラと頭の移動+前のフレームを分析して、欠けたフレームを推 定 ● 生成したイメージを、ユーザーの向きと位置に近付くように変形や修正を行う a. フレーム落ちがない、頭の回転は一定 b. フレーム落ちがない、頭の回転がスローダウン c. フレームが落ちる ⇨ もっと深刻
  • 48. 21.4.2 タイミング ● 品質を維持するための最もよいのは、フレーム落ちを避ける ● 表示の時点のユーザーの実際のポーズ、と予測されたポーズが異なる問題 ● 遅延向きワープテクニック(Late orientation warping)< 0.5 ms a. 普通にポーズを取得して、フレームを生成 b. フレー ムができたら、もう一度ポーズを取得 c. 取得したと予測ポーズと違ったら、フレームで回転ワープ(タイムワープ) a. b. c. 50 ポーズを取得 フレー ム ができる ポーズを 取得 タイムワープ display refresh rate を待つ

Editor's Notes

  1. https://cdn.mos.cms.futurecdn.net/iGfveNFF3qZzGe3gaXrNcK-480-80.jpg https://roadtovrlive-5ea0.kxcdn.com/wp-content/uploads/2013/05/inside-oculus-rift.jpg https://d3nevzfk7ii3be.cloudfront.net/igi/QRaQveDpKKcNvXrN.medium
  2. https://www.youtube.com/watch?v=J54dotTt7k0 https://www.youtube.com/watch?v=2jY3B_F3GZk
  3. https://commons.pratt.edu/virtualreality/history-background
  4. http://www.chioka.in/what-is-motion-to-photon-latency/
  5. https://www.youtube.com/watch?v=B7qrgrrHry0 http://www.anfoworld.com/Lens.html https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=1222 https://stanford.edu/class/ee267/lectures/lecture7.pdf
  6. 樽(たる)型収差(しゅうさ)
  7. https://www.google.com/url?sa=i&url=https%3A%2F%2Fforums.oculusvr.com%2Fcommunity%2Fdiscussion%2F28380%2Fchromatic-aberration&psig=AOvVaw2W9IyzzGT_CkVG4Y9szASR&ust=1635357639917000&source=images&cd=vfe&ved=0CAwQjhxqFwoTCPi06I7U6PMCFQAAAAAdAAAAABAP https://www.google.com/url?sa=i&url=https%3A%2F%2Fpaper.nweon.com%2F6654&psig=AOvVaw2W9IyzzGT_CkVG4Y9szASR&ust=1635357639917000&source=images&cd=vfe&ved=0CAwQjhxqFwoTCPi06I7U6PMCFQAAAAAdAAAAABAD
  8. https://pt.slideshare.net/j3di79/chapter-14-the-human-eye-lesson-3-the-2-mechanisms-of-the-eye-1-accommodation-and-2-pupil-reflex/4 https://www.alcon.co.jp/eye-health/eye-care-mechanism
  9. https://www.youtube.com/watch?v=iAHJjnwPwsk
  10. 中心窩 / ちゅうしんか / fovea https://www.moguravr.com/terms/index-h/terms-47447/
  11. https://research.nvidia.com/publication/2017-09_Latency-Requirements-for
  12. https://www.pinterest.com/pin/323485185705721319/
  13. https://www.youtube.com/watch?v=WvtEXMlQQtI
  14. Given the predicted pose for each eye, you generally render the scene to two separate targets. These targets are sent as textures to the SDK’s compositor. The compositor takes care of converting these images into a form best viewed on the headset.