SlideShare une entreprise Scribd logo
1  sur  90
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
アイドル、スポーツのラ
イブ配信プラットホーム
「SHOWROOM」のVRラ
イブ配信における3Dカメ
ラの仕組みと運用につい
て
2017/8/31
株式会社ディー・エヌ・エー
システム&デザイン本部 技術開発室
小倉豪放 (Takeyuki Ogura)
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
資料掲載にあたっての変更点
 P11, P12, P13, P39, P54, P58, P60, P64, P73、P76, P77, P90に講演の際の
文言を追加
 P67, P74のまとめを挿入
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
About me:小倉豪放 (Takeyuki Ogura)
 Senior Engineer
⁃ プロトタイプ制作(アプリ、デバイス接続)
⁃ 専門分野:CG、GPU Computing
 Company
⁃ SEGA -> Microsoft -> Startup ->DeNA
 趣味
⁃ 読書
⁃ 旅行
⁃ 電子工作
 Hometown
⁃ 東京
3
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Created game titles( support / prototyping 含まない )
 Virtua Fighter 2 (Arcade)
⁃ User interface / advertizing
 Virtua Fighter 4 (Arcade)
⁃ 3D character motion library
⁃ Rendering effects
 Virtua Cop 2 (Arcade、Saturn)
⁃ Breakable obstacles
⁃ Physics engine
 Sonic the Fighters (Arcade)
⁃ Real-time character morphing
 Naomi Library (Dream Cast)
 Shenmue Ⅰ (Dream Cast)
 Shenmue Ⅱ (Dream Cast)
⁃ Motion library
⁃ Rendering library
⁃ Effects
 Ninety Nine Nights(Xbox360)
⁃ Optimization
 Aqua Forest(iOS)
 PHYZIOS Studio(iOS, PC)
 PHYZIOS Sculptor(iOS)
⁃ Rendering、UI
4
Credit Name:
Takeyuki Ogura or Goho Ogura
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
コミュニティ貢献活動
 CEDEC(Computer Entertainment Developers Conference)
⁃ コンピューター・エンターテイメント系カンファレンス
 CEDEC運営委員
• 業界ロードマップの提示
• 招待講演の手配
• 公募講演の審査員
• イベント企画 例:CEDEC CHALLENGE, VRNow!
 Host : CESA(Computer Entertainment Supplier’s Association)
⁃ 経産省系列の一般社団法人
規模 2016 2015 2014
セッション数 210 224 236
参加者総数 6768 6373 6564
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
360度3D動画の仕組み
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
360度動画の仕組み
7
丸めて中に入る
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DEMO:360度動画の仕組み
実機デモ
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DEMO:360度動画の仕組み
長方形を球へ変形させて、その中心部へ入る。
(球の外側の映像は反転していることに注意)
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DEMO:360度動画の仕組み
球を回転させると360度動画になる。
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
360度動画の仕組み
左目 右目
HMDのレンズ向けのディス
トーションが入る
360度
左右で同じ
映像では視
差がないた
め、立体に
見えない。
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
360度3D動画の仕組み:Equirecangular Top & Bottom
左目
右目
HMDのレンズ
向けのディス
トーションが
入る
左右で視差
のある映像
を用意する
ことで、立
体に見える。
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
360度3D動画の仕組み:Equirecangular Side by Side
左目
右目
180度
HMDのレンズ
向けのディス
トーションが
入る
左右で視差
のある映像
を用意する
ことで、立
体に見える。
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
PCでVRライブ配信カメラシステムを組む意味
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
PCでVRライブ配信カメラシステムを組む意味
 All in oneの3Dライブ配信対応カメラの選択肢は少ない
 コンテンツに適した機材へと組み替えられる
 標準フォーマットが使える
 別なアルゴリズムを挟める
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
①All in oneの3Dライブ配信対応カメラの選択肢は少ない
 プロフェッショナル(映画)
⁃ Jaunt ONE
⁃ Google Yi Halo
⁃ NOKIA OZO
 プロシューマー〜個人(動画、ライブ配信)
⁃ Insta360 Pro, Z CAM S1
 個人(動画、ライブ配信、静止画)
⁃ Insta360 One/Air/Nano, Giroptic iO, ION360 U
⁃ 360Fly 4K Pro
⁃ NIKON KeyMission 360, KODAK 4KVR360
⁃ RICOH THITA S, Sumsung Gear 360,
*太字はライブ配信対応
200-500万円
50万円
5万円
価格
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
最新のAll in oneの3Dライブ配信対応カメラでも近距離はカバーできない
カメラから10cm カメラから50cm
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
グラビア番組はカメラから10cm以内まで接近
ミスFLASH2017 7/24
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
【脱線】視差のある状況でスティッチングをするためには深度情報が必要
 Optical Flow
⁃ Optical Flowを使ったDepth Estimationが主流になりつつある
⁃ リアルタイムスティッチングには適応されていない
 Sparse estimation
⁃ Facebook x24, x6
⁃ 今年の終わりにリリース
⁃ ポジショントラッキング対応
(頭を振る程度)
Facebook 360, Facebook update, 20 April 2017, viewed 22 August 2017,
https://www.facebook.com/Facebook360/posts/1913021515582981
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
②コンテンツに適した機材へと組み替えられる
360 4K 2D:
一般的な360度
ライブ配信用途
180 4K 3D:
グラビアなど近距離
のコンテンツ用途
*本講演で話す範囲はこれ
360 4K 3D:
一般的な360度3D
ライブ配信用途
例:KODAK SP260 4K 複数台の組み替え
Back to Back Stereo Quad
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
③別なアルゴリズムを挟める
 映像は既にGPUにある
⁃ フィルタリング処理を適応しやすい
⁃ 方向別にマスクしたり、別の映像に切り替えることが可能
 ライブストリーミングの場合、後工程はエンコード
⁃ 重要でない方向の色数を減らし、圧縮効率を高めるなど
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
180度 4K 3D ライブ配信用カメラの制作方法
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Pros/Cons
 Pros
⁃ 至近距離(10cm)でも3D映像の撮影、ライブ配信が可能
⁃ アクションカメラベースなので割と酷使に耐えうる
 Cons
⁃ 機材が大型
⁃ 暗いところではノイズが多い
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
KODAK SP360 4Kは酷使に耐える
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
SHOWROOM VRで使うVRカメラは?
数万円
数百万円
SHOWROOMはこっち寄り
Ricoh Company, Ltd. RICHO THETA S.
https://theta360.com/ja/about/theta/s.html. (accessed 2017-08-22)
NOKIA. OZO+ PROFESSIONAL VIRTUAL REALITY CAMERA.
https://ozo.nokia.com/eu/ozo-professional-vr-camera/. (accessed 2017-08-22)
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
データの流れ
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
データの流れ:ライブ配信全体
PC
引用:
http://gopro.com
http://www.kolor.com/
http://www.video-stitch.com/
Media server
スマートフォン(クライアントアプリ)
HDMI
HDMI
internet
internetカメラ1
カメラ2
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
データの流れ:PC内部
HDMI
HDMI PCIe
PCIe
PCIe
配信ソフトウェア
internet
PCIe
GPU
PC
カメラ2
カメラ1 HDMI
①カメラ→キャプチャーボード→GPU
②GPU内部の処理
③GPU→キャプチャーボード
④キャプチャーボード→キャプチャーボード
キャプチャーボード
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
システムの実装
①カメラ→キャプチャーボード→GPU
HDMI
HDMI PCIe
PCIe
PCIe
配信ソフトウェア
internet
PCIe
GPU
PC
カメラ2
カメラ1 HDMI
キャプチャーボード
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
①カメラ→キャプチャーボード→GPU
 カメラ、全周魚眼レンズの組み合わせ具体例
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
【紹介】180度3D機材構成:定番
 カメラ:GoPro Hero 4 Black
 レンズ:iZugar MKX19
 リグ:よしみカメラ専用リグ
http://www.443c.com/
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
【紹介】180度3D機材構成:3D ステレオVR 完組みセット
http://www.entapano.com/jp/index.html
 カメラ:GoPro Hero 5
 リブケージ:Back-Bone M12
 レンズ:Entanya M12 220
 リグ:Entanya 3D Stereo Rig
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
【紹介】180度3D機材構成:4K MFT
 カメラ:Z Camera E1
 レンズ:iZugar MKX22
 リグ:よしみカメラ専用リグ
http://www.443c.com/
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
【紹介】180度3D機材構成:ハイエンド(年内リリース)
 カメラ:Sony α6500 - Panasonic
GH5
 マウント:E or MFT
 レンズ:Entaniya MFT 200
 リグ:Entaniya製リグ
http://www.entapano.com/jp/index.html
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
どんな機材を使っても明らかにすべきこと
 視野角
 射影方式
 解像度
 フレームレート
 ピクセルフォーマット
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
①カメラ→キャプチャーボード→GPU
 キャプチャーボードのSDKで対応する解像度とフレームレートとピクセル
フォーマットを表示
Supported video input display modes:
525i59.94 NTSC 720 x 486 29.97 FPS 8-bit YUV 10-bit YUV ------ ------ ------ ------ ------ ------ ------
625i50 PAL 720 x 576 25 FPS 8-bit YUV 10-bit YUV ------ ------ ------ ------ ------ ------ ------
1080p23.98 1920 x 1080 23.976 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
1080p24 1920 x 1080 24 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
1080p25 1920 x 1080 25 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
1080p29.97 1920 x 1080 29.97 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
1080p30 1920 x 1080 30 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
1080i50 1920 x 1080 25 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
1080i59.94 1920 x 1080 29.97 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
1080i60 1920 x 1080 30 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
1080p50 1920 x 1080 50 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
1080p59.94 1920 x 1080 59.9401 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
1080p60 1920 x 1080 60 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
720p50 1280 x 720 50 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB ------ ------ 10-bit RGBXLE 10-bit RGBX
720p59.94 1280 x 720 59.9401 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB ------ ------ 10-bit RGBXLE 10-bit RGBX
720p60 1280 x 720 60 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB ------ ------ 10-bit RGBXLE 10-bit RGBX
2K DCI 23.98p 2048 x 1080 23.976 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
2K DCI 24p 2048 x 1080 24 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
2K DCI 25p 2048 x 1080 25 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
2160p23.98 3840 x 2160 23.976 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
2160p24 3840 x 2160 24 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
2160p25 3840 x 2160 25 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
2160p29.97 3840 x 2160 29.97 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
2160p30 3840 x 2160 30 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
4K DCI 23.98p 4096 x 2160 23.976 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
4K DCI 24p 4096 x 2160 24 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
4K DCI 25p 4096 x 2160 25 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
①カメラ→キャプチャーボード→GPU
HDMI
HDMI PCIe
PCIe
配信ソフトウェア
internet
カメラ2
カメラ1
キャプチャーボード
 カメラ→キャプチャーボード→配信ソフトウェアで映像が認識できることを確認
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
①カメラ→キャプチャーボード→GPU
HDMI
HDMI PCIe
PCIe
PCIe
GPU
カメラ2
カメラ1
キャプチャーボード
 キャプチャーボードのSDKを使用してOpenGLで映像を表示
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
①カメラ→キャプチャーボード→GPU
 キャプチャーボードのSDKを使用してOpenGLで映像を表示
20FPS 30FPS
GeForce GTX960 Quadro P5000
いきなり落とし穴があります
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
NVIDIA GPU Direct for Video
NVIDA “NVIDIA GPU Direct for Video”. https://developer.nvidia.com/gpudirectforvideo#Developer (accessed 2017-08-19)
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
NVIDIA GPU Direct for Video
 NVIDIA GPU Direct for VideoをサポートするGPU
NVIDA “NVIDIA GPU Direct for Video”. https://developer.nvidia.com/gpudirectforvideo#Developer (accessed 2017-08-19)
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
NVIDIA GPU Direct for Video
 NVIDI GPU Direct for Videoをサポートするキャプチャーボード
OpenGL DIRECTX CUDA
AJA ◯ ◯
Blackmagic Design ◯ △
Bit flow ◯
Deltacast ◯
Delta Path ◯
DVS ◯
Matrox Active ◯ ◯ ◯
*自己調査
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ピクセルフォーマット
 キャプチャーボードのSDKを経由して得られるピクセルは圧縮がかかった状態
引用:Blackmagic Decklink SDK.pdf P361
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
GPUに来たらShaderでYUV422を解凍する
 該当部分のGLSL Shaderコード
float Y, Cb, Cr, r, g, b;
int true_width = textureSize(sampler, 0).x * 2;
if (fract(floor(texcoord.x * true_width + 0.5) / 2.0) > 0.0)
Y = texture2D(sampler, texcoord).a; // odd:Y1
else
Y = texture2D(sampler, texcoord).g; // even:Y0
Cb = texture2D(sampler, texcoord).b;
Cr = texture2D(sampler, texcoord).r;
// Y: Re-scaling [16..235] to [0..1] range
// C: Re-scaling [16..240] to [-0.5 .. + 0.5] range
Y = (Y * 256.0 - 16.0) / 219.0;
Cb = (Cb * 256.0 - 16.0) / 224.0 - 0.5;
Cr = (Cr * 256.0 - 16.0) / 224.0 - 0.5;
// Convert to RGB using Rec.709 conversion matrix (see eq 26.7 in Poynton 2003)
r = Y + 1.5748 * Cr;
g = Y - 0.1873 * Cb - 0.4681 * Cr;
b = Y + 1.8556 * Cb;
return vec3(r, g, b);
参考:Rec.709:https://en.wikipedia.org/wiki/Rec._709
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
GL_NEAREST GL_LINEAR
Texture filterはポイントサンプリングを使う
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
まとめ:システムの実装:①カメラ→キャプチャーボード→GPU
 円周魚眼レンズで重要なこと、視野角、射影方式
 カメラで重要なこと、解像度、フレームレート、ピクセルフォーマット
 キャプチャーボード→PCIe→GPUの転送速度に注意して選定する
 圧縮されたテクスチャーのTexture filterはポイントサンプリングを使う
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
システムの実装
②GPU内部の処理
HDMI
HDMI PCIe
PCIe
PCIe
配信ソフトウェア
internet
PCIe
GPU
PC
カメラ2
カメラ1 HDMI
キャプチャーボード
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
映像の流れ(登り):カメラ→PC→インターネット→メディアサーバー
円周魚眼レンズの生の映像
internetPC Equirectangular Top & Bottom
Equirectangular Side by Side
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
映像の流れ(下り):メディアサーバー→インターネット→クライアント
internet client
左目用の球 右目用の球
Equirectangular Top & Bottom
Equirectangular Side by Side
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
魚眼レンズの射影
O
0°
結像面
10°
20°
30°
50°
60°
70°
80°
10°
20°
30°
50°
60°
70°
80°
像高:y=f(θ)
レンズを通した映像 真横から見た図
地平線
空
渋谷の街
窓枠
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
魚眼レンズの射影方式
51
引用:http://fit-movingeye.jp/products/optics/consumer_optics/fi_series/fi_02.html
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
例:KODAK SP360 4K
 視野角: 206(EISあり)、235(EISなし)
 射影方式: 立体射影
• 像高=結像面でのレンズ中心からの(物理的な)距離
52
y = 2 f tan
q
2
(f:焦点距離)
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
映像(テクスチャー)の中の像高
ただし、我々が欲しいのは物理的
な像高ではなく、映像(テクス
チャー)の中心からのテクス
チャー座標における像高。つまり、
2f = 0.5 / tan( 103 / 2 )
とする
103°
1.0
0.5
y = 2 f tan
q
2
1.0
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
半球に視野角180度の情報を描いてゆく
y = 0.5 / tan( 103 / 2 ) tan
q
2
1.0
1.0
y
θ
正面からθ度に描くべきピクセルがテクスチャーのどこに
あるかわかるので、映像に歪みなく半球が描ける
上から見た図:
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
球のレンダリング
55
 該当部分のGLSL Shaderコード
float fTh = v_texcoord0.y * M_PI;
float fDe = v_texcoord0.x * 2.0 * M_PI;
float fR = sin( fTh );
vec3 vN;
vN.x = fR * sin( fDe );
vN.y = cos( fTh );
vN.z = fR * cos( fDe );
vec4 vN4 = u_mIT0 * vec4( vN, 1.0 );
vN = normalize( vN4.xyz );
// -Z -X to +X
float th2 = acos( vN.z );
vec3 vN0xy = vec3( vN.x, vN.y, 0.0 );
float lN0xy = length( vN0xy );
float ph2 = acos( vN.x / lN0xy );
if ( vN.y < 0.0 )
ph2 = 2.0 * M_PI - ph2;
float r_uv = u_fK * CAMERA_FUNC( ( M_PI - th2 )/CAMERA_FUNC_2 );
vec2 uv;
uv.x = 0.5 + r_uv / u_fAspctRatio * cos( -ph2 );
uv.y = 0.5 + r_uv * sin( -ph2 );
vec3 vRGB = texture2D( UYVYtex0, uv ).rgb;
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Equirectangular 180度 Side by Side
 球を長方形に展開する(参考:P8, 9, 10)
 左右のレンズに対して同様の作業を行い、並べる
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
Equirectangular 180度 Side by Side
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
光軸のズレの対処
 実際のカメラはマウントのわずかな
ズレなどにより平行に正面を向いて
いるとは限らない
 映像がズレた状態のまま処理をされ
ないように、ソフトウェアで修正す
る
ズレをTexture Matrixで吸収
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DEMO:光軸の調整
実機デモ
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
DEMO:光軸の調整
レンズ1緑、レンズ2赤で重ね合わせ、主に垂直方向のズレを修正するTexture Matrixを生成。
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
まとめ:システムの実装:②GPU内部の処理
 視野角、射影方式から計算して球にマッピングする。
 その球を展開してEquirectangularにする。
 光軸のズレはTexture matrixで修正する。
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
システムの実装
③GPU→キャプチャーボード
HDMI
HDMI PCIe
PCIe
PCIe
配信ソフトウェア
internet
PCIe
GPU
PC
カメラ2
カメラ1 HDMI
キャプチャーボード
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
PCI-Express
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
PCI-Express
HDMI
HDMI PCIe
PCIe
PCIe
PCIe
GPU
カメラ2
カメラ1 HDMI
キャプチャーボード
2160p30fps(YUV422):3840x2160x2x30 ≒ 0.5 (GB/s)
0.5(GB/s)
0.5(GB/s)
0.5(GB/s)
1.0(GB/s)
0.5(GB/s)
PCIe Gen1.1 x4
2.0(GB/s)/1.0(GB/s)
PCIe Gen1.1 x4
2.0(GB/s)/1.0(GB/s)
0.5(GB/s) PCIe Gen1.1 x4
2.0(GB/s)/1.0(GB/s)
PCIe Gen3 x16
64.0(GB/s)/32.0(GB/s)
キャパシティ実際
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
【脱線】動画の場合の2台のカメラの映像の同期
 GenLock同期をせずに動画撮影している場合、ある程度時間が経過すると2台
のカメラの速度の差が蓄積するため、タイムラインが微妙にズレる。
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
2台のカメラの映像の同期
 キャプチャーボードSDKのコールバック関数
⁃ HRESULT PlayoutDelegate::ScheduledFrameCompleted
(IDeckLinkVideoFrame* completedFrame,
BMDOutputFrameCompletionResult result)
ライブ配信の場合、同期を取らなくても誤差は蓄積しない
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
まとめ:システムの実装:③GPU→キャプチャーボード
 PCI-Expressを流れるデータ量を計算し、マザーボードのPCI-Expressの仕様と
照らし合わせ、キャパシティ内であることを確認する。
 PCI-ExpressはFull duplexである。
 ライブ配信の場合、複数台あるカメラの誤差はそれぞれ蓄積しないため、カメラ
同士互いに同期を取らなくても大丈夫。OpenGLのレンダリングとそれぞれのカ
メラだけ同期させておく。
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
システムの実装
④キャプチャーボード→キャプチャーボード
HDMI
HDMI PCIe
PCIe
PCIe
配信ソフトウェア
internet
PCIe
GPU
PC
カメラ2
カメラ1 HDMI
キャプチャーボード
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
データの流れ:PC内部
HDMI
HDMI PCIe
PCIe
PCIe
配信ソフトウェア
internet
PCIe
GPU
PC
カメラ2
カメラ1 HDMI
キャプチャーボード
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
配信ソフトウェアによるキャプチャーボードの認識
 OBSなどの配信ソフトウェアは、キャプチャーボードのOutputからのストリー
ミングを認識しない。このため、次のどちらかを行う
⁃ PCのアプリがエンコードしてRTMPで話す
⁃ もう1枚キャプチャーボードを用意して、PCのアプリのOutputのストリー
ミングをInputへパススルーする
70
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
実際のPCの背面
HDMI
input
output
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
実際の配信ソフトウェアOBSの画面
 3枚目のキャプチャーボードの映像を
認識
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
今の話はPCを2台に分けると理解しやすい
HDMI
HDMI PCIe
PCIe
internet
PCIe
GPU
カメラシステム用PC
カメラ2
カメラ1
キャプチャーボード
HDMI
外付け
キャプチャー
USB3.0
配信用PC
配信ソフトウェア
これ全体がカメラと思えば…
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
まとめ:システムの実装:④キャプチャーボード→キャプチャーボード
 Output用にキャプチャーボードをもう一枚使うか自分でエンコードする。
 配信ソフトウェアを使う場合は、Output用のキャプチャーボードの方で。
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
チート
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
上:これまで説明した方法 下:レンズの映像をそのまま送る
76
PC
HDMI
HDMI
カメラ1
カメラ2 Media server
internet internet
PC
HDMI
HDMI
カメラ1
カメラ2 Media server
internet internet
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
レンズの映像をそのまま送る
Pro
 PCのGPUが要らなくなる
 PCのキャプチャーボードが1枚要らなく
なる
 コスト安い
Con
 光軸のズレが修正できない
 カメラの種類ごとにアプリ側でレンズの
計算ロジックを変更する必要がある
 コンテンツがプラットホーム依存になる
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
レンズの映像をそのまま送る:CEDiLに詳細な資料があります
 CEDEC 2016:360度動画の基礎知識:魚眼レンズの歪曲補正とリアルタイム・
イメージ・スティッチングについて
⁃ http://cedil.cesa.or.jp/cedil_sessions/view/1525
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
運用
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
SHOWROOM VRで使うVRカメラは?
数万円
数百万円
SHOWROOMはこっち寄り
個人がVRライブ配信をすることを考慮し、エントリーレベルを意識
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
SHOWROM VR 使用カメラ(360度2D):RICOH Theta S
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
SHOWROM VR 使用カメラ(360度2D):GoPro Hero 4 Black + Entaniya
Fisheye M12 280
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
SHOWROM VR 使用カメラ(180度3D):KODAK SP360 4K
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
グラビア:目線合わせ1分
ミスFLASH2017
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
SHOWROM VR 使用カメラ(360度3D):Insta360 Pro
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
SHOWROOMスタジオの構図と視聴環境
梅酒の休肝日 2017/8/25
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
同じコンテンツをSHOWROOM VRで見た状態
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
今後
 机が広いスタジオ、外部ロケ
⁃ Insta360 Pro
 グラビア
⁃ KODAK SP360 4K Stereo
 その他
⁃ GoPro Hero 4 Black + Entaniya Fisheye M12 280
⁃ RICOH Theta S
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ありがとうございました
Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
謝辞
 忍頂寺 毅(知財)
 米山 輝ー(ミスFLASH2017番組プロデューサー)
 ミスFLASH2017

Contenu connexe

Tendances

オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
 

Tendances (20)

[DL輪読会]A System for General In-Hand Object Re-Orientation
[DL輪読会]A System for General In-Hand Object Re-Orientation[DL輪読会]A System for General In-Hand Object Re-Orientation
[DL輪読会]A System for General In-Hand Object Re-Orientation
 
画像キャプションと動作認識の最前線 〜データセットに注目して〜(第17回ステアラボ人工知能セミナー)
画像キャプションと動作認識の最前線 〜データセットに注目して〜(第17回ステアラボ人工知能セミナー)画像キャプションと動作認識の最前線 〜データセットに注目して〜(第17回ステアラボ人工知能セミナー)
画像キャプションと動作認識の最前線 〜データセットに注目して〜(第17回ステアラボ人工知能セミナー)
 
MRTK-Unreal(UX Tools) を利用した HoloLens 2 アプリ開発 | UNREAL FEST EXTREME 2020 WINTER
MRTK-Unreal(UX Tools) を利用した HoloLens 2 アプリ開発 | UNREAL FEST EXTREME 2020 WINTERMRTK-Unreal(UX Tools) を利用した HoloLens 2 アプリ開発 | UNREAL FEST EXTREME 2020 WINTER
MRTK-Unreal(UX Tools) を利用した HoloLens 2 アプリ開発 | UNREAL FEST EXTREME 2020 WINTER
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
【CEDEC2018】Scriptable Render Pipelineを使ってみよう【CEDEC2018】Scriptable Render Pipelineを使ってみよう
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
 
オープンソース SLAM の分類
オープンソース SLAM の分類オープンソース SLAM の分類
オープンソース SLAM の分類
 
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
 
OSS強化学習フレームワークの比較
OSS強化学習フレームワークの比較OSS強化学習フレームワークの比較
OSS強化学習フレームワークの比較
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision
[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision
[DL輪読会]Learning Transferable Visual Models From Natural Language Supervision
 
Visual slam
Visual slamVisual slam
Visual slam
 
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
 
【DL輪読会】Segment Anything
【DL輪読会】Segment Anything【DL輪読会】Segment Anything
【DL輪読会】Segment Anything
 
Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
 
これからの Vision & Language ~ Acadexit した4つの理由
これからの Vision & Language ~ Acadexit した4つの理由これからの Vision & Language ~ Acadexit した4つの理由
これからの Vision & Language ~ Acadexit した4つの理由
 
Deep Learning による視覚×言語融合の最前線
Deep Learning による視覚×言語融合の最前線Deep Learning による視覚×言語融合の最前線
Deep Learning による視覚×言語融合の最前線
 
【DL輪読会】Code as Policies: Language Model Programs for Embodied Control
【DL輪読会】Code as Policies: Language Model Programs for Embodied Control【DL輪読会】Code as Policies: Language Model Programs for Embodied Control
【DL輪読会】Code as Policies: Language Model Programs for Embodied Control
 
【DL輪読会】Language Conditioned Imitation Learning over Unstructured Data
【DL輪読会】Language Conditioned Imitation Learning over Unstructured Data【DL輪読会】Language Conditioned Imitation Learning over Unstructured Data
【DL輪読会】Language Conditioned Imitation Learning over Unstructured Data
 

Similaire à CEDEC2017 VR180 3D live streaming camera at "SHOWROOM" case

今だから聞きたい!Unity2017/18ユーザーのためのUnity2019 LTS基礎知識
今だから聞きたい!Unity2017/18ユーザーのためのUnity2019 LTS基礎知識 今だから聞きたい!Unity2017/18ユーザーのためのUnity2019 LTS基礎知識
今だから聞きたい!Unity2017/18ユーザーのためのUnity2019 LTS基礎知識
Unity Technologies Japan K.K.
 
AWS Webinar 20201224
AWS Webinar 20201224AWS Webinar 20201224
AWS Webinar 20201224
陽平 山口
 
GTMF 2015: 「音声再生遅延推測機能」正式リリース! ズレない!待たせない!快適なスマホゲームを実現する技術紹介 | 株式会社CRI・ミドルウェア
GTMF 2015: 「音声再生遅延推測機能」正式リリース! ズレない!待たせない!快適なスマホゲームを実現する技術紹介 | 株式会社CRI・ミドルウェアGTMF 2015: 「音声再生遅延推測機能」正式リリース! ズレない!待たせない!快適なスマホゲームを実現する技術紹介 | 株式会社CRI・ミドルウェア
GTMF 2015: 「音声再生遅延推測機能」正式リリース! ズレない!待たせない!快適なスマホゲームを実現する技術紹介 | 株式会社CRI・ミドルウェア
Game Tools & Middleware Forum
 

Similaire à CEDEC2017 VR180 3D live streaming camera at "SHOWROOM" case (20)

2015圧縮ゼミ
2015圧縮ゼミ2015圧縮ゼミ
2015圧縮ゼミ
 
DeNA TechCon2016 360VR Live Streaming
DeNA TechCon2016 360VR Live StreamingDeNA TechCon2016 360VR Live Streaming
DeNA TechCon2016 360VR Live Streaming
 
【Unite Tokyo 2018】ゲーム体験を共有する最新テクノロジ NVIDIA HighlightsとANSEL
【Unite Tokyo 2018】ゲーム体験を共有する最新テクノロジ NVIDIA HighlightsとANSEL【Unite Tokyo 2018】ゲーム体験を共有する最新テクノロジ NVIDIA HighlightsとANSEL
【Unite Tokyo 2018】ゲーム体験を共有する最新テクノロジ NVIDIA HighlightsとANSEL
 
1090: NVIDIA プロフェッショナルビジュアリゼーション
1090: NVIDIA プロフェッショナルビジュアリゼーション1090: NVIDIA プロフェッショナルビジュアリゼーション
1090: NVIDIA プロフェッショナルビジュアリゼーション
 
新型登場!! Surface Book 3 / Surface Go 2
新型登場!! Surface Book 3 / Surface Go 2新型登場!! Surface Book 3 / Surface Go 2
新型登場!! Surface Book 3 / Surface Go 2
 
はじめてのKinect for windows v2
はじめてのKinect for windows v2はじめてのKinect for windows v2
はじめてのKinect for windows v2
 
「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例
「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例
「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例
 
実行速度の最適化のあれこれ プラス おまけ
実行速度の最適化のあれこれ プラス おまけ  実行速度の最適化のあれこれ プラス おまけ
実行速度の最適化のあれこれ プラス おまけ
 
今だから聞きたい!Unity2017/18ユーザーのためのUnity2019 LTS基礎知識
今だから聞きたい!Unity2017/18ユーザーのためのUnity2019 LTS基礎知識 今だから聞きたい!Unity2017/18ユーザーのためのUnity2019 LTS基礎知識
今だから聞きたい!Unity2017/18ユーザーのためのUnity2019 LTS基礎知識
 
NetBSD/Zynq
NetBSD/ZynqNetBSD/Zynq
NetBSD/Zynq
 
20170421 tensor flowusergroup
20170421 tensor flowusergroup20170421 tensor flowusergroup
20170421 tensor flowusergroup
 
【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今【A-1】AIを支えるGPUコンピューティングの今
【A-1】AIを支えるGPUコンピューティングの今
 
AWS Webinar 20201224
AWS Webinar 20201224AWS Webinar 20201224
AWS Webinar 20201224
 
DeNA TechCon2019 How to implement live streaming client using Unity
DeNA TechCon2019 How to implement live streaming client using UnityDeNA TechCon2019 How to implement live streaming client using Unity
DeNA TechCon2019 How to implement live streaming client using Unity
 
20170726 py data.tokyo
20170726 py data.tokyo20170726 py data.tokyo
20170726 py data.tokyo
 
[E'spec]演出システム図 楽器フェア2014
[E'spec]演出システム図 楽器フェア2014[E'spec]演出システム図 楽器フェア2014
[E'spec]演出システム図 楽器フェア2014
 
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
 
FINAL FANTASY
 Record Keeper 演出データについて
FINAL FANTASY
 Record Keeper 演出データについてFINAL FANTASY
 Record Keeper 演出データについて
FINAL FANTASY
 Record Keeper 演出データについて
 
GTMF 2015: 「音声再生遅延推測機能」正式リリース! ズレない!待たせない!快適なスマホゲームを実現する技術紹介 | 株式会社CRI・ミドルウェア
GTMF 2015: 「音声再生遅延推測機能」正式リリース! ズレない!待たせない!快適なスマホゲームを実現する技術紹介 | 株式会社CRI・ミドルウェアGTMF 2015: 「音声再生遅延推測機能」正式リリース! ズレない!待たせない!快適なスマホゲームを実現する技術紹介 | 株式会社CRI・ミドルウェア
GTMF 2015: 「音声再生遅延推測機能」正式リリース! ズレない!待たせない!快適なスマホゲームを実現する技術紹介 | 株式会社CRI・ミドルウェア
 
Kinect入門
Kinect入門Kinect入門
Kinect入門
 

CEDEC2017 VR180 3D live streaming camera at "SHOWROOM" case

  • 1. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. アイドル、スポーツのラ イブ配信プラットホーム 「SHOWROOM」のVRラ イブ配信における3Dカメ ラの仕組みと運用につい て 2017/8/31 株式会社ディー・エヌ・エー システム&デザイン本部 技術開発室 小倉豪放 (Takeyuki Ogura)
  • 2. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 資料掲載にあたっての変更点  P11, P12, P13, P39, P54, P58, P60, P64, P73、P76, P77, P90に講演の際の 文言を追加  P67, P74のまとめを挿入
  • 3. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. About me:小倉豪放 (Takeyuki Ogura)  Senior Engineer ⁃ プロトタイプ制作(アプリ、デバイス接続) ⁃ 専門分野:CG、GPU Computing  Company ⁃ SEGA -> Microsoft -> Startup ->DeNA  趣味 ⁃ 読書 ⁃ 旅行 ⁃ 電子工作  Hometown ⁃ 東京 3
  • 4. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Created game titles( support / prototyping 含まない )  Virtua Fighter 2 (Arcade) ⁃ User interface / advertizing  Virtua Fighter 4 (Arcade) ⁃ 3D character motion library ⁃ Rendering effects  Virtua Cop 2 (Arcade、Saturn) ⁃ Breakable obstacles ⁃ Physics engine  Sonic the Fighters (Arcade) ⁃ Real-time character morphing  Naomi Library (Dream Cast)  Shenmue Ⅰ (Dream Cast)  Shenmue Ⅱ (Dream Cast) ⁃ Motion library ⁃ Rendering library ⁃ Effects  Ninety Nine Nights(Xbox360) ⁃ Optimization  Aqua Forest(iOS)  PHYZIOS Studio(iOS, PC)  PHYZIOS Sculptor(iOS) ⁃ Rendering、UI 4 Credit Name: Takeyuki Ogura or Goho Ogura
  • 5. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. コミュニティ貢献活動  CEDEC(Computer Entertainment Developers Conference) ⁃ コンピューター・エンターテイメント系カンファレンス  CEDEC運営委員 • 業界ロードマップの提示 • 招待講演の手配 • 公募講演の審査員 • イベント企画 例:CEDEC CHALLENGE, VRNow!  Host : CESA(Computer Entertainment Supplier’s Association) ⁃ 経産省系列の一般社団法人 規模 2016 2015 2014 セッション数 210 224 236 参加者総数 6768 6373 6564
  • 6. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 360度3D動画の仕組み
  • 7. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 360度動画の仕組み 7 丸めて中に入る
  • 8. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DEMO:360度動画の仕組み 実機デモ
  • 9. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DEMO:360度動画の仕組み 長方形を球へ変形させて、その中心部へ入る。 (球の外側の映像は反転していることに注意)
  • 10. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DEMO:360度動画の仕組み 球を回転させると360度動画になる。
  • 11. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 360度動画の仕組み 左目 右目 HMDのレンズ向けのディス トーションが入る 360度 左右で同じ 映像では視 差がないた め、立体に 見えない。
  • 12. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 360度3D動画の仕組み:Equirecangular Top & Bottom 左目 右目 HMDのレンズ 向けのディス トーションが 入る 左右で視差 のある映像 を用意する ことで、立 体に見える。
  • 13. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 360度3D動画の仕組み:Equirecangular Side by Side 左目 右目 180度 HMDのレンズ 向けのディス トーションが 入る 左右で視差 のある映像 を用意する ことで、立 体に見える。
  • 14. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. PCでVRライブ配信カメラシステムを組む意味
  • 15. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. PCでVRライブ配信カメラシステムを組む意味  All in oneの3Dライブ配信対応カメラの選択肢は少ない  コンテンツに適した機材へと組み替えられる  標準フォーマットが使える  別なアルゴリズムを挟める
  • 16. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ①All in oneの3Dライブ配信対応カメラの選択肢は少ない  プロフェッショナル(映画) ⁃ Jaunt ONE ⁃ Google Yi Halo ⁃ NOKIA OZO  プロシューマー〜個人(動画、ライブ配信) ⁃ Insta360 Pro, Z CAM S1  個人(動画、ライブ配信、静止画) ⁃ Insta360 One/Air/Nano, Giroptic iO, ION360 U ⁃ 360Fly 4K Pro ⁃ NIKON KeyMission 360, KODAK 4KVR360 ⁃ RICOH THITA S, Sumsung Gear 360, *太字はライブ配信対応 200-500万円 50万円 5万円 価格
  • 17. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 最新のAll in oneの3Dライブ配信対応カメラでも近距離はカバーできない カメラから10cm カメラから50cm
  • 18. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. グラビア番組はカメラから10cm以内まで接近 ミスFLASH2017 7/24
  • 19. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 【脱線】視差のある状況でスティッチングをするためには深度情報が必要  Optical Flow ⁃ Optical Flowを使ったDepth Estimationが主流になりつつある ⁃ リアルタイムスティッチングには適応されていない  Sparse estimation ⁃ Facebook x24, x6 ⁃ 今年の終わりにリリース ⁃ ポジショントラッキング対応 (頭を振る程度) Facebook 360, Facebook update, 20 April 2017, viewed 22 August 2017, https://www.facebook.com/Facebook360/posts/1913021515582981
  • 20. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ②コンテンツに適した機材へと組み替えられる 360 4K 2D: 一般的な360度 ライブ配信用途 180 4K 3D: グラビアなど近距離 のコンテンツ用途 *本講演で話す範囲はこれ 360 4K 3D: 一般的な360度3D ライブ配信用途 例:KODAK SP260 4K 複数台の組み替え Back to Back Stereo Quad
  • 21. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ③別なアルゴリズムを挟める  映像は既にGPUにある ⁃ フィルタリング処理を適応しやすい ⁃ 方向別にマスクしたり、別の映像に切り替えることが可能  ライブストリーミングの場合、後工程はエンコード ⁃ 重要でない方向の色数を減らし、圧縮効率を高めるなど
  • 22. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 180度 4K 3D ライブ配信用カメラの制作方法
  • 23. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Pros/Cons  Pros ⁃ 至近距離(10cm)でも3D映像の撮影、ライブ配信が可能 ⁃ アクションカメラベースなので割と酷使に耐えうる  Cons ⁃ 機材が大型 ⁃ 暗いところではノイズが多い
  • 24. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. KODAK SP360 4Kは酷使に耐える
  • 25. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. SHOWROOM VRで使うVRカメラは? 数万円 数百万円 SHOWROOMはこっち寄り Ricoh Company, Ltd. RICHO THETA S. https://theta360.com/ja/about/theta/s.html. (accessed 2017-08-22) NOKIA. OZO+ PROFESSIONAL VIRTUAL REALITY CAMERA. https://ozo.nokia.com/eu/ozo-professional-vr-camera/. (accessed 2017-08-22)
  • 26. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. データの流れ
  • 27. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. データの流れ:ライブ配信全体 PC 引用: http://gopro.com http://www.kolor.com/ http://www.video-stitch.com/ Media server スマートフォン(クライアントアプリ) HDMI HDMI internet internetカメラ1 カメラ2
  • 28. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. データの流れ:PC内部 HDMI HDMI PCIe PCIe PCIe 配信ソフトウェア internet PCIe GPU PC カメラ2 カメラ1 HDMI ①カメラ→キャプチャーボード→GPU ②GPU内部の処理 ③GPU→キャプチャーボード ④キャプチャーボード→キャプチャーボード キャプチャーボード
  • 29. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. システムの実装 ①カメラ→キャプチャーボード→GPU HDMI HDMI PCIe PCIe PCIe 配信ソフトウェア internet PCIe GPU PC カメラ2 カメラ1 HDMI キャプチャーボード
  • 30. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ①カメラ→キャプチャーボード→GPU  カメラ、全周魚眼レンズの組み合わせ具体例
  • 31. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 【紹介】180度3D機材構成:定番  カメラ:GoPro Hero 4 Black  レンズ:iZugar MKX19  リグ:よしみカメラ専用リグ http://www.443c.com/
  • 32. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 【紹介】180度3D機材構成:3D ステレオVR 完組みセット http://www.entapano.com/jp/index.html  カメラ:GoPro Hero 5  リブケージ:Back-Bone M12  レンズ:Entanya M12 220  リグ:Entanya 3D Stereo Rig
  • 33. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 【紹介】180度3D機材構成:4K MFT  カメラ:Z Camera E1  レンズ:iZugar MKX22  リグ:よしみカメラ専用リグ http://www.443c.com/
  • 34. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 【紹介】180度3D機材構成:ハイエンド(年内リリース)  カメラ:Sony α6500 - Panasonic GH5  マウント:E or MFT  レンズ:Entaniya MFT 200  リグ:Entaniya製リグ http://www.entapano.com/jp/index.html
  • 35. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. どんな機材を使っても明らかにすべきこと  視野角  射影方式  解像度  フレームレート  ピクセルフォーマット
  • 36. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ①カメラ→キャプチャーボード→GPU  キャプチャーボードのSDKで対応する解像度とフレームレートとピクセル フォーマットを表示 Supported video input display modes: 525i59.94 NTSC 720 x 486 29.97 FPS 8-bit YUV 10-bit YUV ------ ------ ------ ------ ------ ------ ------ 625i50 PAL 720 x 576 25 FPS 8-bit YUV 10-bit YUV ------ ------ ------ ------ ------ ------ ------ 1080p23.98 1920 x 1080 23.976 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 1080p24 1920 x 1080 24 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 1080p25 1920 x 1080 25 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 1080p29.97 1920 x 1080 29.97 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 1080p30 1920 x 1080 30 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 1080i50 1920 x 1080 25 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 1080i59.94 1920 x 1080 29.97 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 1080i60 1920 x 1080 30 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 1080p50 1920 x 1080 50 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 1080p59.94 1920 x 1080 59.9401 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 1080p60 1920 x 1080 60 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 720p50 1280 x 720 50 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB ------ ------ 10-bit RGBXLE 10-bit RGBX 720p59.94 1280 x 720 59.9401 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB ------ ------ 10-bit RGBXLE 10-bit RGBX 720p60 1280 x 720 60 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB ------ ------ 10-bit RGBXLE 10-bit RGBX 2K DCI 23.98p 2048 x 1080 23.976 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 2K DCI 24p 2048 x 1080 24 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 2K DCI 25p 2048 x 1080 25 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 2160p23.98 3840 x 2160 23.976 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 2160p24 3840 x 2160 24 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 2160p25 3840 x 2160 25 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 2160p29.97 3840 x 2160 29.97 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 2160p30 3840 x 2160 30 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 4K DCI 23.98p 4096 x 2160 23.976 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 4K DCI 24p 4096 x 2160 24 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX 4K DCI 25p 4096 x 2160 25 FPS 8-bit YUV 10-bit YUV 8-bit ARGB 8-bit BGRA 10-bit RGB 12-bit RGB 12-bit RGBLE 10-bit RGBXLE 10-bit RGBX
  • 37. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ①カメラ→キャプチャーボード→GPU HDMI HDMI PCIe PCIe 配信ソフトウェア internet カメラ2 カメラ1 キャプチャーボード  カメラ→キャプチャーボード→配信ソフトウェアで映像が認識できることを確認
  • 38. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ①カメラ→キャプチャーボード→GPU HDMI HDMI PCIe PCIe PCIe GPU カメラ2 カメラ1 キャプチャーボード  キャプチャーボードのSDKを使用してOpenGLで映像を表示
  • 39. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ①カメラ→キャプチャーボード→GPU  キャプチャーボードのSDKを使用してOpenGLで映像を表示 20FPS 30FPS GeForce GTX960 Quadro P5000 いきなり落とし穴があります
  • 40. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. NVIDIA GPU Direct for Video NVIDA “NVIDIA GPU Direct for Video”. https://developer.nvidia.com/gpudirectforvideo#Developer (accessed 2017-08-19)
  • 41. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. NVIDIA GPU Direct for Video  NVIDIA GPU Direct for VideoをサポートするGPU NVIDA “NVIDIA GPU Direct for Video”. https://developer.nvidia.com/gpudirectforvideo#Developer (accessed 2017-08-19)
  • 42. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. NVIDIA GPU Direct for Video  NVIDI GPU Direct for Videoをサポートするキャプチャーボード OpenGL DIRECTX CUDA AJA ◯ ◯ Blackmagic Design ◯ △ Bit flow ◯ Deltacast ◯ Delta Path ◯ DVS ◯ Matrox Active ◯ ◯ ◯ *自己調査
  • 43. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ピクセルフォーマット  キャプチャーボードのSDKを経由して得られるピクセルは圧縮がかかった状態 引用:Blackmagic Decklink SDK.pdf P361
  • 44. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. GPUに来たらShaderでYUV422を解凍する  該当部分のGLSL Shaderコード float Y, Cb, Cr, r, g, b; int true_width = textureSize(sampler, 0).x * 2; if (fract(floor(texcoord.x * true_width + 0.5) / 2.0) > 0.0) Y = texture2D(sampler, texcoord).a; // odd:Y1 else Y = texture2D(sampler, texcoord).g; // even:Y0 Cb = texture2D(sampler, texcoord).b; Cr = texture2D(sampler, texcoord).r; // Y: Re-scaling [16..235] to [0..1] range // C: Re-scaling [16..240] to [-0.5 .. + 0.5] range Y = (Y * 256.0 - 16.0) / 219.0; Cb = (Cb * 256.0 - 16.0) / 224.0 - 0.5; Cr = (Cr * 256.0 - 16.0) / 224.0 - 0.5; // Convert to RGB using Rec.709 conversion matrix (see eq 26.7 in Poynton 2003) r = Y + 1.5748 * Cr; g = Y - 0.1873 * Cb - 0.4681 * Cr; b = Y + 1.8556 * Cb; return vec3(r, g, b); 参考:Rec.709:https://en.wikipedia.org/wiki/Rec._709
  • 45. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. GL_NEAREST GL_LINEAR Texture filterはポイントサンプリングを使う
  • 46. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. まとめ:システムの実装:①カメラ→キャプチャーボード→GPU  円周魚眼レンズで重要なこと、視野角、射影方式  カメラで重要なこと、解像度、フレームレート、ピクセルフォーマット  キャプチャーボード→PCIe→GPUの転送速度に注意して選定する  圧縮されたテクスチャーのTexture filterはポイントサンプリングを使う
  • 47. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. システムの実装 ②GPU内部の処理 HDMI HDMI PCIe PCIe PCIe 配信ソフトウェア internet PCIe GPU PC カメラ2 カメラ1 HDMI キャプチャーボード
  • 48. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 映像の流れ(登り):カメラ→PC→インターネット→メディアサーバー 円周魚眼レンズの生の映像 internetPC Equirectangular Top & Bottom Equirectangular Side by Side
  • 49. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 映像の流れ(下り):メディアサーバー→インターネット→クライアント internet client 左目用の球 右目用の球 Equirectangular Top & Bottom Equirectangular Side by Side
  • 50. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 魚眼レンズの射影 O 0° 結像面 10° 20° 30° 50° 60° 70° 80° 10° 20° 30° 50° 60° 70° 80° 像高:y=f(θ) レンズを通した映像 真横から見た図 地平線 空 渋谷の街 窓枠
  • 51. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 魚眼レンズの射影方式 51 引用:http://fit-movingeye.jp/products/optics/consumer_optics/fi_series/fi_02.html
  • 52. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 例:KODAK SP360 4K  視野角: 206(EISあり)、235(EISなし)  射影方式: 立体射影 • 像高=結像面でのレンズ中心からの(物理的な)距離 52 y = 2 f tan q 2 (f:焦点距離)
  • 53. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 映像(テクスチャー)の中の像高 ただし、我々が欲しいのは物理的 な像高ではなく、映像(テクス チャー)の中心からのテクス チャー座標における像高。つまり、 2f = 0.5 / tan( 103 / 2 ) とする 103° 1.0 0.5 y = 2 f tan q 2 1.0
  • 54. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 半球に視野角180度の情報を描いてゆく y = 0.5 / tan( 103 / 2 ) tan q 2 1.0 1.0 y θ 正面からθ度に描くべきピクセルがテクスチャーのどこに あるかわかるので、映像に歪みなく半球が描ける 上から見た図:
  • 55. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 球のレンダリング 55  該当部分のGLSL Shaderコード float fTh = v_texcoord0.y * M_PI; float fDe = v_texcoord0.x * 2.0 * M_PI; float fR = sin( fTh ); vec3 vN; vN.x = fR * sin( fDe ); vN.y = cos( fTh ); vN.z = fR * cos( fDe ); vec4 vN4 = u_mIT0 * vec4( vN, 1.0 ); vN = normalize( vN4.xyz ); // -Z -X to +X float th2 = acos( vN.z ); vec3 vN0xy = vec3( vN.x, vN.y, 0.0 ); float lN0xy = length( vN0xy ); float ph2 = acos( vN.x / lN0xy ); if ( vN.y < 0.0 ) ph2 = 2.0 * M_PI - ph2; float r_uv = u_fK * CAMERA_FUNC( ( M_PI - th2 )/CAMERA_FUNC_2 ); vec2 uv; uv.x = 0.5 + r_uv / u_fAspctRatio * cos( -ph2 ); uv.y = 0.5 + r_uv * sin( -ph2 ); vec3 vRGB = texture2D( UYVYtex0, uv ).rgb;
  • 56. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Equirectangular 180度 Side by Side  球を長方形に展開する(参考:P8, 9, 10)  左右のレンズに対して同様の作業を行い、並べる
  • 57. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Equirectangular 180度 Side by Side
  • 58. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 光軸のズレの対処  実際のカメラはマウントのわずかな ズレなどにより平行に正面を向いて いるとは限らない  映像がズレた状態のまま処理をされ ないように、ソフトウェアで修正す る ズレをTexture Matrixで吸収
  • 59. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DEMO:光軸の調整 実機デモ
  • 60. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. DEMO:光軸の調整 レンズ1緑、レンズ2赤で重ね合わせ、主に垂直方向のズレを修正するTexture Matrixを生成。
  • 61. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. まとめ:システムの実装:②GPU内部の処理  視野角、射影方式から計算して球にマッピングする。  その球を展開してEquirectangularにする。  光軸のズレはTexture matrixで修正する。
  • 62. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. システムの実装 ③GPU→キャプチャーボード HDMI HDMI PCIe PCIe PCIe 配信ソフトウェア internet PCIe GPU PC カメラ2 カメラ1 HDMI キャプチャーボード
  • 63. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. PCI-Express
  • 64. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. PCI-Express HDMI HDMI PCIe PCIe PCIe PCIe GPU カメラ2 カメラ1 HDMI キャプチャーボード 2160p30fps(YUV422):3840x2160x2x30 ≒ 0.5 (GB/s) 0.5(GB/s) 0.5(GB/s) 0.5(GB/s) 1.0(GB/s) 0.5(GB/s) PCIe Gen1.1 x4 2.0(GB/s)/1.0(GB/s) PCIe Gen1.1 x4 2.0(GB/s)/1.0(GB/s) 0.5(GB/s) PCIe Gen1.1 x4 2.0(GB/s)/1.0(GB/s) PCIe Gen3 x16 64.0(GB/s)/32.0(GB/s) キャパシティ実際
  • 65. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 【脱線】動画の場合の2台のカメラの映像の同期  GenLock同期をせずに動画撮影している場合、ある程度時間が経過すると2台 のカメラの速度の差が蓄積するため、タイムラインが微妙にズレる。
  • 66. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 2台のカメラの映像の同期  キャプチャーボードSDKのコールバック関数 ⁃ HRESULT PlayoutDelegate::ScheduledFrameCompleted (IDeckLinkVideoFrame* completedFrame, BMDOutputFrameCompletionResult result) ライブ配信の場合、同期を取らなくても誤差は蓄積しない
  • 67. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. まとめ:システムの実装:③GPU→キャプチャーボード  PCI-Expressを流れるデータ量を計算し、マザーボードのPCI-Expressの仕様と 照らし合わせ、キャパシティ内であることを確認する。  PCI-ExpressはFull duplexである。  ライブ配信の場合、複数台あるカメラの誤差はそれぞれ蓄積しないため、カメラ 同士互いに同期を取らなくても大丈夫。OpenGLのレンダリングとそれぞれのカ メラだけ同期させておく。
  • 68. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. システムの実装 ④キャプチャーボード→キャプチャーボード HDMI HDMI PCIe PCIe PCIe 配信ソフトウェア internet PCIe GPU PC カメラ2 カメラ1 HDMI キャプチャーボード
  • 69. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. データの流れ:PC内部 HDMI HDMI PCIe PCIe PCIe 配信ソフトウェア internet PCIe GPU PC カメラ2 カメラ1 HDMI キャプチャーボード
  • 70. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 配信ソフトウェアによるキャプチャーボードの認識  OBSなどの配信ソフトウェアは、キャプチャーボードのOutputからのストリー ミングを認識しない。このため、次のどちらかを行う ⁃ PCのアプリがエンコードしてRTMPで話す ⁃ もう1枚キャプチャーボードを用意して、PCのアプリのOutputのストリー ミングをInputへパススルーする 70
  • 71. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 実際のPCの背面 HDMI input output
  • 72. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 実際の配信ソフトウェアOBSの画面  3枚目のキャプチャーボードの映像を 認識
  • 73. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 今の話はPCを2台に分けると理解しやすい HDMI HDMI PCIe PCIe internet PCIe GPU カメラシステム用PC カメラ2 カメラ1 キャプチャーボード HDMI 外付け キャプチャー USB3.0 配信用PC 配信ソフトウェア これ全体がカメラと思えば…
  • 74. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. まとめ:システムの実装:④キャプチャーボード→キャプチャーボード  Output用にキャプチャーボードをもう一枚使うか自分でエンコードする。  配信ソフトウェアを使う場合は、Output用のキャプチャーボードの方で。
  • 75. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. チート
  • 76. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 上:これまで説明した方法 下:レンズの映像をそのまま送る 76 PC HDMI HDMI カメラ1 カメラ2 Media server internet internet PC HDMI HDMI カメラ1 カメラ2 Media server internet internet
  • 77. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. レンズの映像をそのまま送る Pro  PCのGPUが要らなくなる  PCのキャプチャーボードが1枚要らなく なる  コスト安い Con  光軸のズレが修正できない  カメラの種類ごとにアプリ側でレンズの 計算ロジックを変更する必要がある  コンテンツがプラットホーム依存になる
  • 78. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. レンズの映像をそのまま送る:CEDiLに詳細な資料があります  CEDEC 2016:360度動画の基礎知識:魚眼レンズの歪曲補正とリアルタイム・ イメージ・スティッチングについて ⁃ http://cedil.cesa.or.jp/cedil_sessions/view/1525
  • 79. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 運用
  • 80. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. SHOWROOM VRで使うVRカメラは? 数万円 数百万円 SHOWROOMはこっち寄り 個人がVRライブ配信をすることを考慮し、エントリーレベルを意識
  • 81. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. SHOWROM VR 使用カメラ(360度2D):RICOH Theta S
  • 82. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. SHOWROM VR 使用カメラ(360度2D):GoPro Hero 4 Black + Entaniya Fisheye M12 280
  • 83. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. SHOWROM VR 使用カメラ(180度3D):KODAK SP360 4K
  • 84. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. グラビア:目線合わせ1分 ミスFLASH2017
  • 85. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. SHOWROM VR 使用カメラ(360度3D):Insta360 Pro
  • 86. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. SHOWROOMスタジオの構図と視聴環境 梅酒の休肝日 2017/8/25
  • 87. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 同じコンテンツをSHOWROOM VRで見た状態
  • 88. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 今後  机が広いスタジオ、外部ロケ ⁃ Insta360 Pro  グラビア ⁃ KODAK SP360 4K Stereo  その他 ⁃ GoPro Hero 4 Black + Entaniya Fisheye M12 280 ⁃ RICOH Theta S
  • 89. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ありがとうございました
  • 90. Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 謝辞  忍頂寺 毅(知財)  米山 輝ー(ミスFLASH2017番組プロデューサー)  ミスFLASH2017

Notes de l'éditeur

  1. 専門が コンピューターグラフィックス、 GPUコンピューティング どちらかというとプロダクト、サービスをつくるよりも、プロトをつくることをキャリアとしてきました あたらしいゲームハードが出る時はハードウェアもプロトから触るようなところ、といえば大体わかると、 ライブラリ整備、ハードの限界性能を試す、そういうことが多かった
  2. プロトタイプばかり制作しているが、制作もやっていて、がちで制作したものがこれら。 SEGAではアーケードの部署にいますが、コンシューマーの仕事もしています。 これは当時、ポリゴンを扱える部署がアーケードしかなかったため、あるいはアーケードのほうがノウハウがあっため、 Sonic the Fightersはセガで最初にポリゴンでSonicをやったタイトル
  3. CEDECの横浜の運営委員でして 2013-2016 2年エンジニアリング 2年ビジネス を担当 合計4年間 ほどやっています 経産省系列の社団法人
  4. Equirectangularの映像の比率=2:1 テクスチャーのWidthがHeightの2倍 ポリゴンの割り、SliceがStackの2倍 すると綺麗に正方形が並ぶようになる、 これを丸めて球を作る
  5. わかりやすいように、値段、性能を軸に並べる クラウドでレンダリング、30 分の映像を作るのに1日がかり 今年出てきたメジャーなものはほとんどライブ配信対応している ION360 U Galaxy S7/S8, iPhone7/7s MOTO 360 CameraはスマートフォンMoto Z2 Force専用
  6. Optical Flowは動画じゃないとダメ Sparse estimationは静止画でもできる、デモが静止画 https://www.facebook.com/Facebook360/posts/1913021515582981
  7. センサーサイズが大きいカメラではない スタジオの撮影は照明が強いため、ほとんど問題にならない
  8. https://theta360.com/ja/about/theta/s.html https://ozo.nokia.com/eu/ozo-professional-vr-camera/ 将来的にはユーザーがVRライブ配信を目指すため、可能なかぎりライトなカメラを使う方向を選ぶことにしている。
  9. カメラの映像をフレームを同期させることが重要 右目、左目の映像の時間が1フレームでもズレると違和感を感じる
  10. *本件のために、よしみ様からご提供頂いた画像
  11. *本件のために、よしみ様からご提供頂いた画像
  12. レンズ直径74mm 瞳孔間距離は縮まらない
  13. どんな機材を使おうが、 最終的に得られるのは円周魚眼の映像とその仕様
  14. まず一番最初に動かすキャプチャーボードのSDKになるはず。 解像度が高くなるとピクセルフォーマットの選択肢が少なくなる傾向あり キャプチャーボード 型
  15. 慣れていないと、 カメラとキャプチャーボードを繋げるだけで 以外と大騒ぎになります。 というかドキドキする。 PCの組み立てと同じで、 結構値段の高いもの、それぞれメーカーが違うもの同士を、特に動作の保証などない中で接続している。
  16. 次やることは キャプチャーボードのSDKを使用してOpenGLで映像を表示
  17. いきなり落とし穴がある
  18. キャプチャーボードの占有するシステムメモリ GPUの占有するシステムメモリ が別、CPUが転送を管理、余計なコピーが発生 キャプチャーボードの占有するシステムメモリ GPUの占有するシステムメモリ がほぼ共有
  19. QUADROの上位機種にしか対応していない 個人ユーザーはGeForceはよく使うが、BtoBのQuadroはよくわからない。
  20. キャプチャーボード側の Direct for VideoのDirectXサポートが弱い
  21. アクセスしているピクセルのU座標が2で割り切れるかどうか 一瞬はっとするが、 リトルエンディアンだから合ってる (Byte0の方からメモリに並んでる) 輝度は、 黒が(16, 16, 16) 白が(235, 235, 235) へ調整 色度は、16-240の間 128が真ん中 最後にRGBへ変換 http://w3.kcua.ac.jp/~fujiwara/iånfosci/colorspace/colorspace4.html
  22. これは当然ポイントサンプリングで行う Shaderコードに来る前にピクセルの情報が混ざらないようにする必要がある。 この後Equirectangularへの処理でテクスチャーフィルターは使うので、 最初にRGBに変換してしまうのがよい。正投影なのでポイントサンプリングでもジャギーは出ない。
  23. 映像の流れを整理する 今回は Side by Side
  24. クライアント側は貼ればいい じゃあ、カメラシステム側でEquirectangularにするには?
  25. 像を結ぶ面と書いて結像面 ここに映像が出来る 像高=image height 結像面の中心からの距離を 像高という 像高は入射角の関数となる y=f(th) 射影の種類によって関数が変わる
  26. そして射影の種類は4つ 実際に幾つか手持ちの魚眼レンズを見たが、 等立体角射影が多い SP360 立体角射影 Theta S 等立体角射影 Theta m15 立体射影 Entaniya250 等距離射影 Entaniya280 等立体角射影
  27. EISは手ブレ補正 手ブレ補正ありにしている fは焦点距離 レンズの下に来るのは本来センサー センサーの物理的な位置がここでわかる
  28. 視野角206の半分103度の時の像高が同心円の最外殻のデータ EISを切ると 視野角235になって一見お得な気分になるが、 しかし、解像度は変らない。 同じ解像度の中に0度-103度の情報を詰め込むか、 0度-117.5度の情報を詰め込むか、 ということになるため、 当然103度の方のが実質上の解像度が上がる。 EISオンにしている。
  29. 冒頭のデモでやった 長方形を球にすることの逆をやる 球じゃなくて半球を広げる これを左右のレンズに対して行う
  30. よく傾けると見えるみたいなことがある それは光軸がズレている状態
  31. PCIe上位互換 x16スロットにx4刺してOK フルデュープレックス ちなみにMAXでカメラ4台まで接続する。 それでもGPUの接続されたPCIeの帯域が広いので破綻しないことがわかる。
  32. ライブ配信の場合、同期を取らなくても誤差は蓄積しない
  33. これはなんでしょう?
  34. あと1枚のキャプチャーボード: 自分でエンコードするならば必要ない エンコードソフトウェアを使用する場合は、インプットから認識するために半ば仕方なくやっている。 エンコードソフトウェアを使用する利点は、映像の重ね合わせ、クロマキーなどの機能が使えること。 メリット
  35. カメラとPC全体がカメラだと思えばよい HDMIアウトプットがEquirectagular SideBySideになるカメラ 外付けのキャプチャーがカメラ用のPCの中に入った構成が先ほどの構成
  36. 対応カメラが増えるたびにアプリを更新しているのはキツイ
  37. https://theta360.com/ja/about/theta/s.html https://ozo.nokia.com/eu/ozo-professional-vr-camera/ Ricoh Company, Ltd. RICHO THETA S.  https://theta360.com/ja/about/theta/s.html. (accessed 2017-08-22) NOKIA. OZO+ PROFESSIONAL VIRTUAL REALITY CAMERA.  https://ozo.nokia.com/eu/ozo-professional-vr-camera/. (accessed 2017-08-22) 将来的にはユーザーがVRライブ配信を目指すため、可能なかぎりライトなカメラを使う方向を選んだ。 ただし、市販されているカメラでは不足する機能は自社開発を目指した。 オンラインストアの価格
  38. レンズ1つの場合360度全部をカバーすることはできないが、280度までカバーできる テーブルの上に置いたら1つで問題なかったりする。 単眼の場合、調整する項目も少なく、安定稼働している。
  39. 決して性能は抜群というわけではないのですが、 アクションカメラなので、かなり強くて使いやすいです
  40. 3Dライブ配信に変えてから、 池田ゆり 自身が考えたコンテンツ→正式採用
  41. これを購入して参入している業者も多いと思う。 Insta360 Oneっていうカメラがバズっていた。そこと同じ会社のもの。 正直ライブ配信をする人は大変な状況。ファームウェアがバグってHDMI接続はほぼ全滅 ャプチャーボードと配信ソフトウェアを使わないでRTMPで直接配信サーバーへ送れる。 Custom RTMP Serverの指定ができて、ちゃんとSHOWROOMでライブ配信もできる。 しかし、企業のLANに直接これを繋げるということに、ネットワーク管理者は抵抗を感じる。 これそのものを同じネットワーク内のPCから遠隔操作して、ライブ配信できるので、当たり前と言えば当たり前。 まだ、出たばかりで、使う状況などを十分考えられた製品とは言えない。
  42. スタジオの構図 演者の向かう方向が一方向 カメラの向かう方向が一方向
  43. レーダーが偏っている コンテンツの解像度1080p 4Kでライブ配信→iPhoneのメモリーが弱く、よく落ちる ユーザー視聴者数を減らさないために2Kに 3Dでみるとかなり荒いが、3Dになっている 2Dの方は事実上1080pの更に半分の解像度