VR HQ画質誕生秘話~こうして我々は国内最高画質VRストリーミング動画配信を成し遂げた~ @ xR Tech Tokyo #16

VR HQ画質誕生秘話~こうして我々は国内最高画質VRストリーミング動画配信を成し遂げた~ @ xR Tech Tokyo #16

13:25 - 13:55 30min Session III
DMMでのバーチャルの取り組み大公開スペシャル
合同会社DMM.com @pg_nokkii, @yanoshi

https://vrtokyo.connpass.com/event/129570/

F4793241992daf0be6df122689881509?s=128

Masahito Yano

June 23, 2019
Tweet

Transcript

  1. 1 合同会社DMM.com EC&デジタルコンテンツ本部 動画配信事業部 矢野完人( @yanoshi )

  2. こんにちは 2

  3. yanoshi といいます 3 xR Tech Tokyo 初参加 / 初登壇

  4. 普段は動画の配信基盤を 作ってます 4 弊社の売上を支えてるよ!

  5. のっきの発表エモかった! 5

  6. 6

  7. 7 2016年新卒入社 配属先: CTO室 動的画像リサイズエンジンのR&D 2016年当時

  8. 8 今!!! VR/3D/音声合成/ガジェット VRを含む動画配信基盤 二人共弊社のVRの中心に

  9. 9 そんな二人でxR Tech Tokyoで登壇!!!

  10. 良い話!!! 10

  11. クソエモい!!!!!!! 11

  12. 12 閑話休題

  13. 弊社動画サービスを 知っている人 13

  14. 弊社動画サービスを 使っている人 14

  15. 15

  16. 16 WARNING 注意事項 2018年3月、 DMM.comの成人向け事業(現 FANZA)は 株式会社デジタルコマース社に継承されました。 ただし、システムの開発や運用、一部の営業業務 はデジタルコマース社からDMM.comに委託されて おり、プラットフォームはDMM.comが継続して

    提供することで合意しております。
  17. 17 WARNING 注意事項 2018年3月、 DMM.comの成人向け事業(現 FANZA)は 株式会社デジタルコマース社に継承されました。 ただし、システムの開発や運用、一部の営業業務 はデジタルコマース社からDMM.comに委託されて おり、プラットフォームはDMM.comが継続して

    提供することで合意しております。
  18. 18 WARNING 注意事項 2018年3月、 DMM.comの成人向け事業(現 FANZA)は 株式会社デジタルコマース社に継承されました。 ただし、システムの開発や運用、一部の営業業務 はデジタルコマース社からDMM.comに委託されて おり、プラットフォームはDMM.comが継続して

    提供することで合意しております。 みんな覚えて帰ってね!
  19. 弊社がプラットフォームを提供する VR動画サービスを使っている人 19

  20. みんなVRがだいすきで よかった(ほっ) 20

  21. (まじかよ) 手が挙がらなかった時用のスライド 21

  22. そんなVR好きの皆さん 思い出してください 22

  23. 2015年 VR元年 23 2016年 VR元年 2017年 VR元年 2018年 VR元年 そして今年

    VR元年 毎年VR元年!
  24. 2015年 VR元年 24 2016年 VR元年 2017年 VR元年 2018年 VR元年 そして今年

    VR元年 毎年VR元年!
  25. 2015年 VR元年 25 2016年 VR元年 2017年 VR元年 2018年 VR元年 そして今年

    VR元年 毎年VR元年! きっとその人にとって 衝撃のあった年がVR元年
  26. 2015年 VR元年 26 2016年 VR元年 2017年 VR元年 2018年 VR元年 そして今年

    VR元年 毎年VR元年! 弊社にとっては2016年
  27. 2015年 VR元年 27 2016年 VR元年 2017年 VR元年 2018年 VR元年 そして今年

    VR元年 毎年VR元年! 弊社にとっては2016年 DMM VR動画リリース
  28. 28 • Gear VR / Android / iOS 向けでリリース •

    プレイステーション VRに対応! • Oculus Rift / HTC Vive に対応! • Windows MRに対応! 2016年 2017年 2018年 • Android での再生可能端末を増! • HQ画質リリース! 裾野を広げる VR元年! クオリティアップ
  29. 29 • Gear VR / Android / iOS 向けでリリース •

    プレイステーション VRに対応! • Oculus Rift / HTC Vive に対応! • Windows MRに対応! 2016年 2017年 2018年 • Android での再生可能端末を増! • HQ画質リリース! 売上 20億円 売上 40億円 裾野を広げる VR元年! クオリティアップ VR動画配信サービスでは世界最大売上高を誇る(多分)
  30. めでたい! 30

  31. でも苦労が絶えなかった 31

  32. Q. 「VR動画配信」にどんなイメージを持ちますか? 32 「普通の動画配信と同じでしょ?」 「結局動画なんだし、プレイヤーで再生させてるだけでしょ?」 「てかこれまでの基盤があれば簡単そう」 そうだと良かったなぁ...

  33. Q. 「VR動画配信」にどんなイメージを持ちますか? 33 「普通の動画配信と同じでしょ?」 「結局動画なんだし、プレイヤーで再生させてるだけでしょ?」 「てかこれまでの基盤があれば簡単そう」 そうだと良かったなぁ... ストア/プラットフォーム トラフィック レンダリングパフォーマンス

    ストレージ容量 SoC 『課題がいっぱい』
  34. 34 • Gear VR / Android / iOS 向けでリリース •

    プレイステーション VRに対応! • Oculus Rift / HTC Vive に対応! • Windows MRに対応! 2016年 2017年 2018年 • Android での再生可能端末を増! • HQ画質リリース! 売上 20億円 売上 40億円 裾野を広げる VR元年! クオリティアップ VR動画配信サービスでは世界最大売上高を誇る(多分) (。>﹏<。)
  35. ということで、今日は みんな大好き苦労話します! 35 (。>﹏<。)

  36. 36 合同会社DMM.com EC&デジタルコンテンツ本部 動画配信事業部 矢野完人( @yanoshi )

  37. 自己紹介 37

  38. 38

  39. What is HQ画質 39 60fps 4K超え 高画質なエンコード とってもきれいなVR動画

  40. What is HQ画質 40 60fps 4K超え 高画質なエンコード とってもきれいなVR動画 HQを成し遂げるために いくつもの課題があった

  41. 課題 41 60fps 4K超え 高画質なエンコード 課題1: そもそも素材が無い

  42. 42 課題1: そもそも素材が無い 弊社はプラットフォーマー コンテンツホルダーが HQに耐えうる素材を作ってくれないと配信できない!

  43. 43 課題1: そもそも素材が無い 1. 現実的な納品要件を作成 2. 営業努力 解決策

  44. 44 課題1: そもそも素材が無い PC VRを基準に4.5K以上の素材を 納品してもらっています

  45. 45 課題1: そもそも素材が無い PC VRを基準に4.5K以上の素材を 納品してもらっています 解像度 / フレームレートが 上がると編集が大変だから…

  46. 課題 46 高画質なエンコード 課題1: そもそも素材が無い 課題2: そもそも再生できない 60fps 4K超え 課題3:

    トラフィック増
  47. 47 課題2: そもそも再生できない これが本題と言っても良い

  48. 48 課題2: そもそも再生できない VR動画の仕組み 弊社の場合は「正距円筒図法」を利用

  49. 49 課題2: そもそも再生できない VR動画の仕組み 右目用 左目用 180度サイドバイサイドの場合はこんな感じ

  50. 50 課題2: そもそも再生できない VR動画の仕組み 右目用 左目用 約4000px 約2000px HQならこんな感じで60fps

  51. 51 課題2: そもそも再生できない VR動画の仕組み 右目用 左目用 約4000px 約2000px HQならこんな感じで60fps おわかり

    いただけただろうか?
  52. 52 課題2: そもそも再生できない VR動画の仕組み 右目用 左目用 約4000px 約2000px HQならこんな感じで60fps 解像度がクソ高い

  53. 53 課題2: そもそも再生できない VR動画の仕組み 右目用 左目用 約4000px 約2000px HQならこんな感じで60fps ソフトウェアデコードでは

    厳しい
  54. 54 課題2: そもそも再生できない VR動画の仕組み 右目用 左目用 約4000px 約2000px HQならこんな感じで60fps ハードウェアデコードでは

    大きな制限が
  55. 55 課題2: そもそも再生できない VR動画の仕組み 右目用 左目用 約4000px 約2000px HQならこんな感じで60fps スマホのSoCでは厳しい!

  56. 56 課題2: そもそも再生できない お客様の声 AQUOS sense2を使っているけど、対応端末に なっていないのは納得がいかない! Snapdragon 801とSnapdragon 450を比較すると

    計算性能に差なんてそんなに無いんじゃない!? 確かにCPU/GPUは差がないかもね!
  57. 57 課題2: そもそも再生できない お客様の声 AQUOS sense2を使っているけど、対応端末に なっていないのは納得がいかない! Snapdragon 801とSnapdragon 450を比較すると

    計算性能に差なんてそんなに無いんじゃない!? 確かにCPU/GPUは差がないかもね! デコーダーが弱いの!!! わかる???(白目)
  58. 58 課題2: そもそも再生できない スマホのSoCはスマホ用に作られている! 本来は4K超えの解像度をデコードする シチュエーションが無いはず! ハイエンドSoCでも4K超えのデコードは厳しい ローエンドなら2Kが以下略

  59. 59 課題2: そもそも再生できない 混沌とするデコーダ仕様 iPhone H.264: 4K 60fps Android H.264:

    Over4K 60fps (Snapdragon 8xx ) Oculus Go H.264: Over4K 60fps PC VR H.264: 4K 60fps / VP9: 8K 60fps PSVR H.264: 3.5K 60fps
  60. 60 課題2: そもそも再生できない 混沌とするデコーダ仕様 iPhone H.264: 4K 60fps Android H.264:

    Over4K 60fps (Snapdragon 8xx ) Oculus Go H.264: Over4K 60fps PC VR H.264: 4K 60fps / VP9: 8K 60fps PSVR H.264: 3.5K 60fps 大変だぁ…
  61. 61 課題2: そもそも再生できない 混沌とするデコーダ仕様 iPhone H.264: 4K 60fps Android H.264:

    Over4K 60fps (Snapdragon 8xx ) Oculus Go H.264: Over4K 60fps PC VR H.264: 4K 60fps / VP9: 8K 60fps PSVR H.264: 3.5K 60fps ユーザーに最高の動画を 届けたい
  62. 62 課題2: そもそも再生できない ストレージとエンコーダーの パワーで押し切る!!!! 解決策

  63. 63 課題2: そもそも再生できない iPhone H.264: 4K 60fps Android H.264: Over4K

    60fps (Snapdragon 8xx ) Oculus Go H.264: Over4K 60fps PC VR H.264: 4K 60fps / VP9: 8K 60fps PSVR H.264: 3.5K 60fps デバイスに最適なファイルを それぞれ用意します! 解決策
  64. 64 課題2: そもそも再生できない エンコーダ 素材 オブジェクト ストレージ いっぱい 作った エンコーダーを作成

    エンコード速度 0.0x ~ 0.x fps程度
  65. 65 課題2: そもそも再生できない エンコーダ 素材 オブジェクト ストレージ いっぱい 作った エンコーダーを作成

    エンコード速度 0.0x ~ 0.x fps程度 くっそ遅くてめっちゃ大変
  66. 66 課題2: そもそも再生できない オブジェクト ストレージ 配信 ミドルウェア キャッシュ サーバー MP4

    Wowza OpenResty iPhone Oculus Go PC VR PSVR Android 出し分け 配信情報管理 (st-api) 作った 配信情報管理 システムを作り
  67. 67 課題2: そもそも再生できない 再生可否判定 ライブラリ を作成 Android H.264のパケットを生成し再生可否判定 作った H.264のテストデータを生成し

    デコーダーに投げて デコード結果を エラーハンドリング
  68. 68 課題2: そもそも再生できない 再生可否判定 ライブラリ を作成 Android H.264のパケットを生成し再生可否判定 作った H.264のテストデータを生成し

    デコーダーに投げて デコード結果を エラーハンドリング 実は「通常画質」で大活躍 見れなかった1割のユーザーにVR動画届ける
  69. 69 課題2: そもそも再生できない 仕様書記載スペックを 超える再生を実現 エンコードパラメータチューニング PSVR H.264: 3.5K 4K

    60fps マルチスライスにしたりB-frame無くしたり
  70. 70 課題2: そもそも再生できない デバイスに最適なエンコード と 動的な出し分けを実現 解決策

  71. 課題 71 高画質なエンコード 課題1: そもそも素材が無い 課題2: そもそも再生できない 60fps 4K超え 課題3:

    トラフィック増
  72. 72 課題3: トラフィック増 ビットレートが増えた分 トラフィックも増加

  73. 73 課題3: トラフィック増 解決策 動的にオフロードする キャッシュアーキテクチャの実現

  74. 74 課題3: トラフィック増 解決策 オブジェクト ストレージ 配信 ミドルウェア キャッシュ サーバー

    MP4 Wowza OpenResty 配信アーキテクチャ概略図 ユーザー
  75. 75 課題3: トラフィック増 解決策 オブジェクト ストレージ 配信 ミドルウェア キャッシュ サーバー

    MP4 Wowza OpenResty コンテンツAの 視聴状況 ユーザー 少ない
  76. 76 課題3: トラフィック増 解決策 オブジェクト ストレージ 配信 ミドルウェア キャッシュ サーバー

    MP4 Wowza OpenResty コンテンツAの 視聴状況 ユーザー 少し多い
  77. 77 課題3: トラフィック増 解決策 オブジェクト ストレージ 配信 ミドルウェア MP4 Wowza

    コンテンツAの 視聴状況 ユーザー キャッシュ サーバー OpenResty 多い
  78. 78 課題3: トラフィック増 解決策 オブジェクト ストレージ 配信 ミドルウェア MP4 Wowza

    コンテンツAの 視聴状況 ユーザー キャッシュ サーバー OpenResty CDN とても多い 賢く動的にトラフィック制御 (VODST v.4)
  79. 79 課題3: トラフィック増 GWにピークトラフィックを無事更新 290Gbps

  80. 課題 80 高画質なエンコード 課題1: そもそも素材が無い 課題2: そもそも再生できない 60fps 4K超え 課題3:

    トラフィック増 無事解決!
  81. 苦労の結果HQ画質が実現 81 そんなこんなで 今のHQ画質があります

  82. 苦労の結果HQ画質が実現 82 エモいでしょ?

  83. 苦労の結果HQ画質が実現 83 エモいでしょ? 通信環境によるストリーミングの限界 アプリケーションのUI/UX 撮影環境の最適化 まだまだ課題はいっぱい WebVR等を利用したもっと簡単な視聴体験

  84. VRはまだまだ伸び代が!? 84 今最も再生総回数の多い作品は 実はVRだったり

  85. VRはまだまだ伸び代が!? 85 最も強いデバイスはスマホ

  86. これからも進化するよ! 86 VR動画のさらなる進化に ご期待下さい!

  87. 87 宣伝

  88. 88 基盤は無事エモい感じに なってきた

  89. 89 今度はアプリがエモくなるよ!

  90. 求む 90 弊事業部で Unityを利用した VR動画アプリケーション 内製化進行中! Unityエンジニア募集

  91. 求む 91 ちょびっと内緒の話 Unityエンジニア募集

  92. 求む 92 興味のある方は 懇親会 or @yanoshi まで やっていき Unityエンジニア募集

  93. 93 利用素材情報 "Twemoji" by Twitter, Inc and other contributors is

    licensed under CC-BY 4.0