Suche senden
Hochladen
「マンガテレビ」の作り方
•
Als PPTX, PDF herunterladen
•
17 gefällt mir
•
2,573 views
Kensaku Komatsu
Folgen
第41回HTML5とか勉強会で講演した「マンガテレビ」の作り方。WebSpeech APIとかheadtrackr.jsとか
Weniger lesen
Mehr lesen
Technologie
Design
Melden
Teilen
Melden
Teilen
1 von 28
Jetzt herunterladen
Empfohlen
日曜数学20連発 - サイエンスアゴラ2016 #日曜数学会
日曜数学20連発 - サイエンスアゴラ2016 #日曜数学会
Junpei Tsuji
Adeverinta salariat pentru medicul de familie – model 2014
Adeverinta salariat pentru medicul de familie – model 2014
contabun
Webによるデバイスを用いた
Webによるデバイスを用いた
Kensaku Komatsu
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
Fixstars Corporation
メンテできないコードをメンテする技術
メンテできないコードをメンテする技術
Tomoya Ishida
[Cloud OnAir] 「じゃんけんマシン」で学ぶ機械学習とスマート IoT 2018年12月6日 放送
[Cloud OnAir] 「じゃんけんマシン」で学ぶ機械学習とスマート IoT 2018年12月6日 放送
Google Cloud Platform - Japan
PL/CUDA - GPU Accelerated In-Database Analytics
PL/CUDA - GPU Accelerated In-Database Analytics
Kohei KaiGai
PBL1-v1-009j.pptx
PBL1-v1-009j.pptx
NAIST
Empfohlen
日曜数学20連発 - サイエンスアゴラ2016 #日曜数学会
日曜数学20連発 - サイエンスアゴラ2016 #日曜数学会
Junpei Tsuji
Adeverinta salariat pentru medicul de familie – model 2014
Adeverinta salariat pentru medicul de familie – model 2014
contabun
Webによるデバイスを用いた
Webによるデバイスを用いた
Kensaku Komatsu
Halide による画像処理プログラミング入門
Halide による画像処理プログラミング入門
Fixstars Corporation
メンテできないコードをメンテする技術
メンテできないコードをメンテする技術
Tomoya Ishida
[Cloud OnAir] 「じゃんけんマシン」で学ぶ機械学習とスマート IoT 2018年12月6日 放送
[Cloud OnAir] 「じゃんけんマシン」で学ぶ機械学習とスマート IoT 2018年12月6日 放送
Google Cloud Platform - Japan
PL/CUDA - GPU Accelerated In-Database Analytics
PL/CUDA - GPU Accelerated In-Database Analytics
Kohei KaiGai
PBL1-v1-009j.pptx
PBL1-v1-009j.pptx
NAIST
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
Ryo Sakamoto
x86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNT
takesako
ブラウザレンダリング 最適化テクニック
ブラウザレンダリング 最適化テクニック
クラスメソッド株式会社
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
Yosuke Onoue
動的計画法の並列化
動的計画法の並列化
Proktmr
C++0x in programming competition
C++0x in programming competition
yak1ex
Media processing with serverless architecture
Media processing with serverless architecture
Kensaku Komatsu
Boxdev lt-09082016
Boxdev lt-09082016
Kensaku Komatsu
a pattern for PWA, PRPL
a pattern for PWA, PRPL
Kensaku Komatsu
Full Matrix Auto Test Framework for WebRTC
Full Matrix Auto Test Framework for WebRTC
Kensaku Komatsu
WebRTC 101
WebRTC 101
Kensaku Komatsu
04122016 web rtc_globalsummit
04122016 web rtc_globalsummit
Kensaku Komatsu
02172016 web rtc_conf_komasshu
02172016 web rtc_conf_komasshu
Kensaku Komatsu
SkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaS
Kensaku Komatsu
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
Kensaku Komatsu
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
Kensaku Komatsu
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
Kensaku Komatsu
FirefoxでgetStats()
FirefoxでgetStats()
Kensaku Komatsu
14th apr2015 リックテレコ勉強会
14th apr2015 リックテレコ勉強会
Kensaku Komatsu
WebRTCが拓く新たなWebビジネスの世界
WebRTCが拓く新たなWebビジネスの世界
Kensaku Komatsu
Web of Thingsの現状とWebRTC活用の可能性
Web of Thingsの現状とWebRTC活用の可能性
Kensaku Komatsu
25th nov2014 52thhtml5j
25th nov2014 52thhtml5j
Kensaku Komatsu
Weitere ähnliche Inhalte
Ähnlich wie 「マンガテレビ」の作り方
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
Ryo Sakamoto
x86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNT
takesako
ブラウザレンダリング 最適化テクニック
ブラウザレンダリング 最適化テクニック
クラスメソッド株式会社
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
Yosuke Onoue
動的計画法の並列化
動的計画法の並列化
Proktmr
C++0x in programming competition
C++0x in programming competition
yak1ex
Ähnlich wie 「マンガテレビ」の作り方
(6)
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
x86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNT
ブラウザレンダリング 最適化テクニック
ブラウザレンダリング 最適化テクニック
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
動的計画法の並列化
動的計画法の並列化
C++0x in programming competition
C++0x in programming competition
Mehr von Kensaku Komatsu
Media processing with serverless architecture
Media processing with serverless architecture
Kensaku Komatsu
Boxdev lt-09082016
Boxdev lt-09082016
Kensaku Komatsu
a pattern for PWA, PRPL
a pattern for PWA, PRPL
Kensaku Komatsu
Full Matrix Auto Test Framework for WebRTC
Full Matrix Auto Test Framework for WebRTC
Kensaku Komatsu
WebRTC 101
WebRTC 101
Kensaku Komatsu
04122016 web rtc_globalsummit
04122016 web rtc_globalsummit
Kensaku Komatsu
02172016 web rtc_conf_komasshu
02172016 web rtc_conf_komasshu
Kensaku Komatsu
SkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaS
Kensaku Komatsu
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
Kensaku Komatsu
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
Kensaku Komatsu
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
Kensaku Komatsu
FirefoxでgetStats()
FirefoxでgetStats()
Kensaku Komatsu
14th apr2015 リックテレコ勉強会
14th apr2015 リックテレコ勉強会
Kensaku Komatsu
WebRTCが拓く新たなWebビジネスの世界
WebRTCが拓く新たなWebビジネスの世界
Kensaku Komatsu
Web of Thingsの現状とWebRTC活用の可能性
Web of Thingsの現状とWebRTC活用の可能性
Kensaku Komatsu
25th nov2014 52thhtml5j
25th nov2014 52thhtml5j
Kensaku Komatsu
知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたち
Kensaku Komatsu
WebRTCにより可視化されるリアルタイムクラウド。求められるAPI
WebRTCにより可視化されるリアルタイムクラウド。求められるAPI
Kensaku Komatsu
エフサミ2014 web rtcの傾向と対策
エフサミ2014 web rtcの傾向と対策
Kensaku Komatsu
HTML5 Night 2014 Web x Network Technology ( WebRTC )
HTML5 Night 2014 Web x Network Technology ( WebRTC )
Kensaku Komatsu
Mehr von Kensaku Komatsu
(20)
Media processing with serverless architecture
Media processing with serverless architecture
Boxdev lt-09082016
Boxdev lt-09082016
a pattern for PWA, PRPL
a pattern for PWA, PRPL
Full Matrix Auto Test Framework for WebRTC
Full Matrix Auto Test Framework for WebRTC
WebRTC 101
WebRTC 101
04122016 web rtc_globalsummit
04122016 web rtc_globalsummit
02172016 web rtc_conf_komasshu
02172016 web rtc_conf_komasshu
SkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaS
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
FirefoxでgetStats()
FirefoxでgetStats()
14th apr2015 リックテレコ勉強会
14th apr2015 リックテレコ勉強会
WebRTCが拓く新たなWebビジネスの世界
WebRTCが拓く新たなWebビジネスの世界
Web of Thingsの現状とWebRTC活用の可能性
Web of Thingsの現状とWebRTC活用の可能性
25th nov2014 52thhtml5j
25th nov2014 52thhtml5j
知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたち
WebRTCにより可視化されるリアルタイムクラウド。求められるAPI
WebRTCにより可視化されるリアルタイムクラウド。求められるAPI
エフサミ2014 web rtcの傾向と対策
エフサミ2014 web rtcの傾向と対策
HTML5 Night 2014 Web x Network Technology ( WebRTC )
HTML5 Night 2014 Web x Network Technology ( WebRTC )
Kürzlich hochgeladen
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Kürzlich hochgeladen
(11)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
「マンガテレビ」の作り方
1.
http://goo.gl/O2YkkJ 「マンガテレビ」の 作り方 第41回 HTML5とか勉強会 2013.8.26 こまつけんさく
2.
http://goo.gl/O2YkkJ 自己紹介 こまつけんさく NTTコミュニケーションズ
最新Web技術の研究開発 html5j スタッフ Google Developers Expert (HTML5) Microsoft Valuable Professional (IE)
3.
http://goo.gl/O2YkkJ 「マンガテレビ」? https://app.html5experts.jp/manga/
4.
http://goo.gl/O2YkkJ いわゆる「リスペクト」です ( ー`дー´)キリッ
5.
http://goo.gl/O2YkkJ 開発のきっかけ http://www.kakkoii.tv/events/20130726/index.html
6.
http://goo.gl/O2YkkJ HTML5 Experts Night on
8/23@MTL http://html5experts.jp/yusuke-naka/1698/
7.
http://goo.gl/O2YkkJ 開発メンバー
8.
http://goo.gl/O2YkkJ What is 機能
9.
http://goo.gl/O2YkkJ マンガ化
10.
http://goo.gl/O2YkkJ 音声コマンド、ふきだし、エ フェクト
11.
http://goo.gl/O2YkkJ リアルタイムフィードバック
12.
http://goo.gl/O2YkkJ How to 実装 マンガ化 WebSpeech
API Headtrackr.js
13.
http://goo.gl/O2YkkJ マンガ化 1. getUserMedia()でビデオ取得 2. CanvasPixelArray
取得 3. フィルター処理
14.
http://goo.gl/O2YkkJ マンガ化 (1/3) getUserMedia() navigator.webkitGetUserMedia({video: true,
audio: false}, function(stream){ var url = window.webkitURL.createObjectURL(stream); $v_[0].src = url; $v_[0].play(); });
15.
http://goo.gl/O2YkkJ マンガ化(2/3) CanvasPixelArray取得 var imgData =
ctx.getImageData(0, 0, 640, 480); 3 1 2 4 imgData = [ 255, 0, 0, 255, // 1 (R, G, B, α) 0, 255, 0, 255, // 2 (R, G, B, α) 0, 0, 255, 255, // 3 (R, G, B, α) 255, 255, 0, 255 // 4 (R, G, B, α) ];
16.
http://goo.gl/O2YkkJ マンガ化(3/3) フィルター処理 階調化とエッジ中抽出の組み合わせ エッジ抽出 階調化 (三階調) 合成 参考)http://www.slideshare.net/masayukimaekawa/java-script-14727253
17.
http://goo.gl/O2YkkJ Code for(var y =
1; y < height-1; y++){ for(var x = 1; x < width-1; x++){ c = y * width + x; i = c << 2; // 周辺ピクセル tmp = (c - width) << 2; a0 = (dotList[tmp] + dotList[tmp+1] + dotList[tmp + 2]) & FILTER; tmp = (c - 1) << 2; a1 = (dotList[tmp] + dotList[tmp+1] + dotList[tmp + 2]) & FILTER; tmp = (c + 1) << 2; a2 = (dotList[tmp] + dotList[tmp+1] + dotList[tmp + 2]) & FILTER; tmp = (c + width) << 2; a3 = (dotList[tmp] + dotList[tmp+1] + dotList[tmp + 2]) & FILTER; // グレー値 gray = (dotList[i] + dotList[i+1] + dotList[i + 2] ); if((a0 + a1 + a2+ a3) < ((gray & FILTER) << 2)) { // エッジ化 img_toon.data[i] = 0; img_toon.data[i+1] = 0; img_toon.data[i+2] = 0; } else { // 階調化 if( gray < DARK ) { gra = 0; } else if( gray > BLIGHT ) { gra = 255; } else { gra = 1; } // スクリーントーン if( gra == 1 ) { dx_ = (x & 0x03); dy_ = (y & 0x03) if( (!dx_ && !dy_) || (dx_ == 2) && (dy_ == 2)){ gra = 0; } else { gra = 255; } }; img_toon.data[i] = gra; img_toon.data[i+1] = gra; img_toon.data[i+2] = gra; } img_toon.data[i+3] = 0xff; //img.data[i + 3]; } } 30万回のループ処理です。。。
18.
http://goo.gl/O2YkkJ WebSpeech API var rec
= new webkitSpeechRecognition(); rec.start(); rec.onresult = function(event) { // event.results に認識結果が格納 } 音声認識API W3Cでドラフトにもなっていない。Chromeのみ実装 認識は、Googleさんが頑張っています
19.
http://goo.gl/O2YkkJ 意外に重要 httpsじゃないと、途中でも、これ出ちゃう・・・
20.
http://goo.gl/O2YkkJ Headtrackr.js OepraのAudunさんが開発した顔検出ライブラリ Face.jsより高速で動く(MBPで30fpsぐらい) var
htracker = new headtrackr.Tracker(); htracker.init($("video")[0], $("canvas")[0]); htracker.start(); document.addEventListener("facetrackingEvent", function( ev ) { // ev.width : 幅, ev.height : 高さ, ev.x : 中心(x), ev.y : 中心 (y) });
21.
http://goo.gl/O2YkkJ ここまでの内容 http://html5experts.jp/komasshu/1649/
22.
http://goo.gl/O2YkkJ How to 向上 performance
23.
http://goo.gl/O2YkkJ 高速化の ポイント for(var y =
1; y < height-1; y++){ for(var x = 1; x < width-1; x++){ c = y * width + x; i = c << 2; // 周辺ピクセル tmp = (c - width) << 2; a0 = (dotList[tmp] + dotList[tmp+1] + dotList[tmp + 2]) & FILTER; tmp = (c - 1) << 2; a1 = (dotList[tmp] + dotList[tmp+1] + dotList[tmp + 2]) & FILTER; tmp = (c + 1) << 2; a2 = (dotList[tmp] + dotList[tmp+1] + dotList[tmp + 2]) & FILTER; tmp = (c + width) << 2; a3 = (dotList[tmp] + dotList[tmp+1] + dotList[tmp + 2]) & FILTER; // グレー値 gray = (dotList[i] + dotList[i+1] + dotList[i + 2] ); if((a0 + a1 + a2+ a3) < ((gray & FILTER) << 2)) { // エッジ化 img_toon.data[i] = 0; img_toon.data[i+1] = 0; img_toon.data[i+2] = 0; } else { // 階調化 if( gray < DARK ) { gra = 0; } else if( gray > BLIGHT ) { gra = 255; } else { gra = 1; } // スクリーントーン if( gra == 1 ) { dx_ = (x & 0x03); dy_ = (y & 0x03) if( (!dx_ && !dy_) || (dx_ == 2) && (dy_ == 2)){ gra = 0; } else { gra = 255; } }; img_toon.data[i] = gra; img_toon.data[i+1] = gra; img_toon.data[i+2] = gra; } img_toon.data[i+3] = 0xff; //img.data[i + 3]; } }
24.
http://goo.gl/O2YkkJ 目標 マンガ化フィルター処理を 60
fps @ MBPで!! 1回あたりの処理は、大体10msec以下に抑える必要 がある 1000 [msec] / 60 = (約)16 msec ループ1回あたりの処理は、30 nano-sec以下が目標 10 msec / 300,000
25.
http://goo.gl/O2YkkJ パフォーマンスチェック
26.
http://goo.gl/O2YkkJ 結論 関数呼び出しは減らそう プロパティ参照は無くそう
演算処理はなるべく減らそう ビットシフトは、若干早くなる (でも、なんか頭が良くなった気がする) parseInt(“1”) < “1”|0 InternetExplorerを除く
27.
http://goo.gl/O2YkkJ パフォーマンスチューニング はエコ!!
28.
http://goo.gl/O2YkkJ Thank you!! @komasshu
Jetzt herunterladen