Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
mganeko
PDF, PPTX
1,252 views
Inside of 聖徳玉子 by O2
WebRTC Meetup Tokyo #12 の資料を代理で公開しています。 THETA x IoT デベロッパーズコンテスト向け作品の仕組みについての解説です。
Technology
◦
Read more
1
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 26
2
/ 26
3
/ 26
4
/ 26
5
/ 26
6
/ 26
7
/ 26
8
/ 26
9
/ 26
10
/ 26
11
/ 26
12
/ 26
13
/ 26
14
/ 26
15
/ 26
16
/ 26
17
/ 26
18
/ 26
19
/ 26
20
/ 26
21
/ 26
22
/ 26
23
/ 26
24
/ 26
25
/ 26
26
/ 26
More Related Content
PPTX
ヴィジュアルエフェクト初級者講座
by
RyousukeItai
PDF
㉒初期プロジェクトを改造!
by
Nishida Kansuke
PDF
Azure kinect DKハンズオン
by
Takashi Yoshinaga
PPTX
20190628 cognitive serviceshandson
by
Syota Yano
PPTX
関西MSP勉強会~Kinect編~ ハンズオン資料 Kinectで身長を計測しよう!
by
Yasutomo Imairi
PDF
【Unite 2017 Tokyo】DIYエフェクト実装: エンジニアレスでエフェクトを組み込める環境づくり
by
Unite2017Tokyo
PDF
A-Frameで始めるOculus Quest対応WebVR
by
Takashi Yoshinaga
PPTX
WebRTC SFU mediasoup sample
by
mganeko
ヴィジュアルエフェクト初級者講座
by
RyousukeItai
㉒初期プロジェクトを改造!
by
Nishida Kansuke
Azure kinect DKハンズオン
by
Takashi Yoshinaga
20190628 cognitive serviceshandson
by
Syota Yano
関西MSP勉強会~Kinect編~ ハンズオン資料 Kinectで身長を計測しよう!
by
Yasutomo Imairi
【Unite 2017 Tokyo】DIYエフェクト実装: エンジニアレスでエフェクトを組み込める環境づくり
by
Unite2017Tokyo
A-Frameで始めるOculus Quest対応WebVR
by
Takashi Yoshinaga
WebRTC SFU mediasoup sample
by
mganeko
Viewers also liked
PPTX
WebRTC Build MCU on browser
by
mganeko
PPTX
H.264で相互接続 - WebRTC Meetup Tokyo #10
by
goforbroke
PPTX
Nodeで操るKurentoメディアサーバー ( Kurento + WebRTC + Node.js )
by
mganeko
PPTX
ブラウザでWebRTC - iOSゲートウェイ作ってみた
by
mganeko
PDF
Iñaki Baz - VoIP2DAY 2016 | mediasoup: The programmable media server
by
VOIP2DAY
PPTX
voip2day 2016: mediasoup, powerful WebRTC SFU for Node.js
by
Iñaki Baz Castillo
PPTX
[ElastixWorld 2016] mediasoup: Powerful WebRTC SFU for Node.js
by
Iñaki Baz Castillo
ODP
Twipper発表資料(Twitter研究会用)
by
guest429949
KEY
WebSocket - May 2011
by
takanao ENODH
ZIP
WebSocketでデバイス間連携(第1回WebSocket勉強会)
by
Kanasansoft
PDF
ブラウザのハードウェア対応の未来を探る
by
ndruger
PPTX
進化するEdge+α
by
Saki Homma
PDF
Twitterからホットなキーワードを抽出する方法
by
beatinaniwa
PPTX
Social Media Soup Quotes
by
Joquetta Johnson
PDF
Webrtc-ORTC-JapanSharePointGroup
by
adachiyosuke
PDF
究極のゲーム用通信プロトコル “WebRTC”
by
Ryosuke Otsuya
PDF
Twitter
by
Fumi Yamazaki
PPTX
20161001 kdd勉強会
by
Masahiro Sato
PDF
KinectやRealSenseの概要とさまざまな使い方
by
Kaoru NAKAMURA
PDF
KDD2016勉強会 The Limits of Popularity-Based Recommendations, and the Role of So...
by
yyammt
WebRTC Build MCU on browser
by
mganeko
H.264で相互接続 - WebRTC Meetup Tokyo #10
by
goforbroke
Nodeで操るKurentoメディアサーバー ( Kurento + WebRTC + Node.js )
by
mganeko
ブラウザでWebRTC - iOSゲートウェイ作ってみた
by
mganeko
Iñaki Baz - VoIP2DAY 2016 | mediasoup: The programmable media server
by
VOIP2DAY
voip2day 2016: mediasoup, powerful WebRTC SFU for Node.js
by
Iñaki Baz Castillo
[ElastixWorld 2016] mediasoup: Powerful WebRTC SFU for Node.js
by
Iñaki Baz Castillo
Twipper発表資料(Twitter研究会用)
by
guest429949
WebSocket - May 2011
by
takanao ENODH
WebSocketでデバイス間連携(第1回WebSocket勉強会)
by
Kanasansoft
ブラウザのハードウェア対応の未来を探る
by
ndruger
進化するEdge+α
by
Saki Homma
Twitterからホットなキーワードを抽出する方法
by
beatinaniwa
Social Media Soup Quotes
by
Joquetta Johnson
Webrtc-ORTC-JapanSharePointGroup
by
adachiyosuke
究極のゲーム用通信プロトコル “WebRTC”
by
Ryosuke Otsuya
Twitter
by
Fumi Yamazaki
20161001 kdd勉強会
by
Masahiro Sato
KinectやRealSenseの概要とさまざまな使い方
by
Kaoru NAKAMURA
KDD2016勉強会 The Limits of Popularity-Based Recommendations, and the Role of So...
by
yyammt
Similar to Inside of 聖徳玉子 by O2
PDF
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
by
AdvancedTechNight
PDF
three.js はじめましょ
by
Hiroaki Okubo
PDF
スマホにおけるWebGL入門
by
Yohta Kanke
PDF
Tamabi media131118
by
Atsushi Tadokoro
PDF
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
by
Atsushi Tadokoro
PDF
UE4.17で入る新機能を一気に紹介・解説!
by
エピック・ゲームズ・ジャパン Epic Games Japan
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
by
AdvancedTechNight
three.js はじめましょ
by
Hiroaki Okubo
スマホにおけるWebGL入門
by
Yohta Kanke
Tamabi media131118
by
Atsushi Tadokoro
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
by
Atsushi Tadokoro
UE4.17で入る新機能を一気に紹介・解説!
by
エピック・ゲームズ・ジャパン Epic Games Japan
More from mganeko
PDF
Google Meet でもバーチャル背景を使いたい (WebRTC Meetup Online)
by
mganeko
PPTX
Amazon Kinesis Video Streams WebRTC 使ってみた
by
mganeko
PPTX
Build Node.js-WASM/WASI Tiny compiler with Node.js
by
mganeko
PPTX
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
by
mganeko
PPTX
Node.js x Headless Chrome for WeRTC MCU / Node.js x Chrome headless で、お手軽WebR...
by
mganeko
PPTX
Skywayのビデオチャットを録画しよう。そう、ブラウザでね
by
mganeko
PPTX
WebRTC mediasoup on raspberrypi3
by
mganeko
PPTX
WebRTC SFU Mediasoup Sample update
by
mganeko
PDF
Node.js with WebRTC DataChannel
by
mganeko
PPTX
PeerConnectionリレーとMediaRecorder
by
mganeko
PPTX
ここがつらいよWebRTC - WebRTC開発の落とし穴
by
mganeko
PPTX
Webrtc bootcamp handson
by
mganeko
PPTX
WebRTC multitrack / multistream
by
mganeko
PDF
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
by
mganeko
PDF
WebRTC multistream
by
mganeko
PPTX
Inside WebM
by
mganeko
PPTX
MediaRecorder と WebM で、オレオレ Live Streaming
by
mganeko
PPTX
Chromebook 「だけ」で WebRTCを動かそう
by
mganeko
PPTX
Infocom webrtc conference japan
by
mganeko
PPTX
WebRTC getStats - WebRTC Meetup Tokyo 5 LT
by
mganeko
Google Meet でもバーチャル背景を使いたい (WebRTC Meetup Online)
by
mganeko
Amazon Kinesis Video Streams WebRTC 使ってみた
by
mganeko
Build Node.js-WASM/WASI Tiny compiler with Node.js
by
mganeko
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
by
mganeko
Node.js x Headless Chrome for WeRTC MCU / Node.js x Chrome headless で、お手軽WebR...
by
mganeko
Skywayのビデオチャットを録画しよう。そう、ブラウザでね
by
mganeko
WebRTC mediasoup on raspberrypi3
by
mganeko
WebRTC SFU Mediasoup Sample update
by
mganeko
Node.js with WebRTC DataChannel
by
mganeko
PeerConnectionリレーとMediaRecorder
by
mganeko
ここがつらいよWebRTC - WebRTC開発の落とし穴
by
mganeko
Webrtc bootcamp handson
by
mganeko
WebRTC multitrack / multistream
by
mganeko
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
by
mganeko
WebRTC multistream
by
mganeko
Inside WebM
by
mganeko
MediaRecorder と WebM で、オレオレ Live Streaming
by
mganeko
Chromebook 「だけ」で WebRTCを動かそう
by
mganeko
Infocom webrtc conference japan
by
mganeko
WebRTC getStats - WebRTC Meetup Tokyo 5 LT
by
mganeko
Inside of 聖徳玉子 by O2
1.
Inside of 聖徳⽟玉⼦子 インフォコム技術企画室
⼤大津
2.
⾃自⼰己紹介 • ⼤大津 学(おおつ
まなぶ) – インフォコム技術企画室所属 – 部署の活動はVR、IoT、AIなどの 先端技術の研究、調査です • 前職はゲーム会社で開発してました Angry Birdsに⾊色々要素を増やしたゲーム
3.
聖徳⽟玉⼦子とは しゃべっている⼈人を⾃自動で表⽰示してくれる360°ビデオチャットアプリ
4.
デモ
5.
聖徳⽟玉⼦子構成 Dual-‐‑‒Fisheye SocketIO (WebSocket) Json Json 画⾯面の分割 WebSocket ⾳音の⽅方向 Stdout
6.
⾳音の⽅方向を定位し、 ログ出⼒力力 ⾳音の⽅方向をリアルタイムで処理理 標準⼊入⼒力力のログから ⾓角度度を抽出 WebSocket Client WebSocketで⾓角度度を送信 並列列処理理並列列処理理 ⾳音の⽅方向を⾓角度度に変換し、WebSocketで送信 リアルタイム処理理はGoの並列列処理理(Goroutine)で橋渡ししている 並列列処理理間でメッセージを送信 WebSocket Server package
websocket https://godoc.org/golang.org/x/net/websocket
7.
⾳音の⽅方向 製品名「たまご型マイクアレイ」 by システムインフロンティア ⾳音の⽅方向はハードウェアとソフトウェアで実現 8⽅方向にマイクが付いている 全⽅方位の⾳音を取得 マイクの配置には意味があり、 マイク毎に⾳音の到達時間が異異なる。 この遅延性を利利⽤用し、⽅方向を識識別する by ホンダ・リサーチ・インスティチュート・ジャパン ハード
ソフト http://hark.jp
8.
ハードウェアの認識識 USB Audio Class1.0に対応 ドライバを別途インストール不不要 HARKの付属ソフトウェアでは、認識識するとこのように表⽰示 AudacityのようなOSSでもマイクとして利利⽤用出来る
9.
HARKの主な機能 ⾳音源定位 各マイクに届いた⾳音から ⾳音の⽅方向を決める ⾳音源分離離 定位⽅方向の ⾳音を分離離する ⾳音声認識識 分離離⾳音声の認識識 かつどん 今回は⾳音源定位を利利⽤用 3つの主軸となる研究
10.
HARKの設定 • HARKの設定はブラウザから⾏行行う • ノードと呼ばれるパーツを配置し、 ネットワークの構成を⾏行行う 保存データは「ネットワークファイル」と呼ばれるファイルで管理理 HARK設定画⾯面 1.
マイク⼊入⼒力力 2. ⾼高速フーリエ変換 3. ⾳音源定位 4. ⾳音源トラッキング 5. 出⼒力力のインターバル 6. 定位位置の表⽰示 7. 定位位置の保存
11.
HARKの設定2 ネットワークファイルはXMLフォーマットで記述 今回はSourceTrackerのログを標準⼊入⼒力力に利利⽤用 <Node name="node_̲SourceTracker_̲1" type="SourceTracker"
x="410" y="310"> <Parameter name="THRESH" type="float" value="38.5" description=“…."/> <Parameter name="PAUSE_̲LENGTH" type="float" value="1200" description="…"/> <Parameter name="MIN_̲SRC_̲INTERVAL" type="float" value="20" description="…"/> <Parameter name="MIN_̲ID" type="int" value="0" description="…"/> <Parameter name="DEBUG" type="bool" value="true" description="…"/> </Node>
12.
SourceTracker ⾳音源にIDを付与し、同じ⾳音と判断すれば同じIDとして追跡する
13.
GoでHARKの標準出⼒力力を処理理 • GoからHARKのbatchflowコマンドを実⾏行行 cmd :=
exec.Command(“batchflow”, [ネットワークファイル]) stdout, err := cmd.StdoutPipe() if err != nil { log.Fatal(err) } if err := cmd.Start(); err != nil { log.Fatal(err) } in := bufio.NewScanner(stdout) for in.Scan() { s := in.Text() .... time: 198, ID: 0, x: 9.250000e-‐‑‒001 2.480000e-‐‑‒001 2.870000e-‐‑‒001, power: 3.869943e+001, ID: 1, x: 8.680000e-‐‑‒001 -‐‑‒4.050000e-‐‑‒001 2.870000e-‐‑‒001, power: 4.168919e+001, ax := strings.Split(val[1], " ") x0, _̲ := strconv.ParseFloat(ax[0], 64) x1, _̲ := strconv.ParseFloat(ax[1], 64) radian := math.Atan2(x1, x0) ラジアンは、アークタンジェント2で求めれる HARKからの標準出⼒力力 (SourceTrackerのログ) ↓HARKの起動コマンド
14.
聖徳⽟玉⼦子構成 Dual-‐‑‒Fisheye SocketIO (WebSocket) Json Json 画⾯面の分割 WebSocket ⾳音の⽅方向 Stdout
15.
ビデオソースの取り込み let viewer =
document.getElementById('viewer'); … navigator.mediaDevices.getUserMedia({video: true, audio: false}) .then(function (stream) { // success localStream = stream; viewer.firstChild.src = window.URL.createObjectURL(localStream); … WEBカメラからビデオソースの取り込み <div id="viewer"><video id="mainView" autoplay></video> ブラウザに⽤用意されたAPIをコールし、 ビデオタグに反映している
16.
映像をオブジェクトに描画 thetaview.js ※Ricoh提供のライブラリ https://raw.githubusercontent.com/ricohapi/video-‐‑‒streaming-‐‑‒sample-‐‑‒app/master/samples/common/thetaview.js <script
src="three.min.js"></script> <script src="thetaview.js"></script> class ThetaViewWrapper extends ThetaView { … } let viewer = document.getElementById('viewer'); let thetaview = new ThetaViewWrapper(); let canvasList = []; let localStream; navigator.mediaDevices.getUserMedia({video: true, audio: false}) .then(function (stream) { // success localStream = stream; thetaview.setContainer(viewer); viewer.firstChild.src = window.URL.createObjectURL(localStream); thetaview.start(viewer.firstChild); … メッシュオブジェクトに描画 映像の描画にはthree.jsとthetaview.jsを使⽤用 Dual-‐‑‒Fisheye 〜~ライブラリの中⾝身について解説〜~
17.
描画遷移 シーンと呼ばれる空間にオブジェクトを配置する シーンに配置オブジェクトの作成 3Dモデルの頂点マップに、 UVマップを配置し、テクスチャを貼りつける 画像参照: https://en.wikipedia.org/wiki/UV_̲mapping カメラの表⽰示領領域をレンダリング カメラはメッシュオブジェクトの内側に配置 ⼀一部を切切り出して投影
18.
オブジェクトの作成 ビデオソースをテクスチャに置き換えたマテリアルを作成 _̲createGeometryでは dual-‐‑‒fisheye⽤用の3Dモデルを作成。 計算で座標や⾯面を構成し、⾯面にUVを配置 this._̲mesh = new
THREE.Mesh(this._̲createGeometry(), this._̲createMaterial(videoDOM)); 画像参照: https://en.wikipedia.org/wiki/UV_̲mapping _̲createMaterial(video) { // video:DOM const texture = new THREE.VideoTexture(video); texture.minFilter = THREE.LinearFilter; texture.magFilter = THREE.LinearFilter; return new THREE.MeshBasicMaterial({ map: texture, side: THREE.BackSide, }); } Texture
19.
オブジェクトの作成 円形の映像を半球体に投影 Dual-‐‑‒Fisheye THETAの場合 this._̲mesh = new
THREE.Mesh(this._̲createGeometry(), this._̲createMaterial(videoDOM)); ビデオソースを引数にメッシュオブジェクトの⽣生成
20.
カメラの表⽰示領領域をレンダリング this._̲scene = new
THREE.Scene(); this._̲scene.add(this._̲mesh); const w = this._̲container.clientWidth; const h = this._̲container.clientHeight; this._̲camera = new THREE.PerspectiveCamera(75, w / h, 1, 1100); this._̲camera.target = new THREE.Vector3(0, 0, 0); シーンにメッシュオブジェクトを配置 カメラを配置 this._̲renderer = new THREE.WebGLRenderer({"canvas": canvas}); this._̲renderer.render(this._̲scene, this._̲camera); カメラの表⽰示領領域をレンダリング
21.
サブ画⾯面の描画 <body>
<div id="viewer"><video id="mainView" autoplay></video> <canvas id="subView1" class="subview" style="left: 0%"></canvas> <canvas id="subView2" class="subview" style="left: 25%"></canvas> <canvas id="subView3" class="subview" style="left: 50%"></canvas> <canvas id="subView4" class="subview" style="left: 75%"></canvas> </div> </body> ひとつのビデオソースを元にキャンバスに映像を投影 画⾯面分割のサンプルコードを⽤用意 https://gist.github.com/otmb/b2ee019a28e6d80dee141473ee22666e SubView1 〜~SubView4 〜~どのようにカスタムしているか〜~
22.
サブ画⾯面の描画 ひとつのシーン、ひとつのメッシュオブジェクトに対し、 複数のカメラで投影 this._̲subRenderer[i].render(this._̲scene, this._̲subCamera[i]); それぞれのキャンバスに描画 _̲addSubView(canvas) {
var i = this._̲canvasNum; const w = this._̲container.clientWidth; const h = this._̲container.clientHeight; this._̲subCamera[i] = new THREE.PerspectiveCamera(75, w / h, 1, 1100); this._̲subCamera[i].target = new THREE.Vector3(0, 0, 0); this._̲subRenderer[i] = new THREE.WebGLRenderer({"canvas": canvas}); this._̲canvasNum++; }
23.
⾓角度度の切切替 カメラのrotationの変更更で描画位置を変更更 this._̲subCamera[i].rotation.y = [⾓角度度];
24.
説明は以上になります
25.
Theta x IoT
デベロッパー コンテスト受賞 〇コンテスト受賞ページ http://award.contest.theta360.com/prize1.html 〇ソースコードダウンロードページ https://lab.infocom.co.jp/2016/08/theta.html
26.
以上。ご清聴ありがとうございました
Download