アマレコVR Ver2.3.2 背景透過EX Quest版
内容は Pico版と同じ です。
画像処理2ndシーズンはPico4中心で開発し、Quest版は最後に公開するつもりでしたが背景透過EXの反響が思いのほかあり うれしかったので急きょPico版を移植しました。
Quest1/2の白黒パススルーだと背景透過EXの処理の粗さが目立つ気がします。
また、Quest1だと60fpsを下回ります。
QuestProは買えなかったので、QuestProでどうなるか、そもそも使えるのか気になるところです。
1.更新内容
・アマレコVR Ver2.3.1 for Pico4と同じ
・メイン画面設定で位置設定等ができない不具合を修正
2.ダウンロード
・ アマレコVR Ver2.3.2 アルファ版 for Quest
・アマレコVRサーバー Ver2.21
アマレコVR Ver2.2.0 ベータ版 公開
内容はオンラインヘルプを用意しましたのでそちらを見てください。
先日公開したPico4版もほぼ同じ内容となっています(未実装部を除く)のでPico4版を使う場合もオンラインヘルプを参照してください。
アマレコVR Ver2.2.0 オンラインヘルプ
初めて利用される方は Ver2.0.0のオンラインヘルプも合わせて見てください。
1.更新内容
【主な更新内容】
・カメラパススルー機能 (Ver2.1.7)
・チャプタ機能
・画像表示機能
・ハンドジェスチャー機能
・マーカー機能強化
・シーク操作の強化
・曲面スクリーン
・アマレコVR Server Ver2.21
2.既存環境からの移行
アマレコVR Server Ver2.00からVer2.13のマーカーファイルやサムネイル画像を引き継ぐ場合は
既存環境からの移行 を参照してください。
3.アマレコVR Ver2.1.8 Pico4版を使っている場合
3.1.Ver2.1.8から更新された内容
【Ver2.1.8から更新された内容】
・画像ファイルを次々表示していると 違う画像が表示されることがあるのを修正
・画質調整画面の「クリア」と「タグ挿入」を修正
3.2.アマレコVR Server Ver2.21
先日公開したPico4版を利用されている方は サーバー側もわずかに更新されています。
【Ver2.20から更新された項目】
・フォルダにグループ番号が表示されてしまうのを修正
・チャプタフォルダに関連するファイルのファイル捜索を修正
・カタログ機能のレイアウトを調整
3.3.サーバーのアップデート
既にアマレコVR Server Ver2.20を使っている場合はAmaRecVRServer.exeとLayout220フォルダを上書きしてください。
Ver2.20とVer2.21の通信プロトコルは同じ(220)ですのでアマレコVRアプリのPico4版とQuest版 両方で使えます。
4.ダウンロード
・ アマレコVR Ver2.2.0 ベータ版
・ アマレコVRサーバー Ver2.21
アマレコVR Ver2.2.0概要

アマレコVR Ver2.2.0では 動画以外に画像ファイルと 音声ファイルに対応します。
画像の場合は本のように2画面で表示できます。また、プレイヤーも3つまで使えるため
動画、画像、BGMの再生を同時に利用できます。
ハンドジェスチャー機能

画像の場合は(Questのハンドトラッキング機能を使って)人差し指のジェスチャーだけでページをめくることができます。
VRコントローラーやマウスから手を放していても画像をどんどん変えることができるため便利です。
曲面スクリーン

スクリーンを湾曲させることができるようになります。曲率を設定できるため、360度曲げて自分の周りをぐるっと動画で囲むこともできます。
マーカー機能の強化

マーカー機能へ新たに単独マーカー8個が追加されます(シークバーの下のカラーキューブ)。範囲指定には使えませんが、ただの目印やシーク操作の際にスナップさせることができます。
また、マーカー関連の操作履歴機能も強化されアンドゥ、リドゥ自在となります。
シーク操作の強化

まだ動作が安定しないため暫定版となりますが、動画のシーク操作に関する設定が追加されます。
シークバーをドラッグしている間も随時再生位置を変更したり、サムネイルを表示することができます。

シークバーのサムネイル表示
最後に一番大事なチャプター機能

チャプター機能は非常に多機能なため説明するのは大変ですが 代表的な働きとして フォルダを一つのファイルのように扱うことができます。
2時間の動画作品だけど、30分ずつ4つのファイルに分かれていたり、100ページ、200ページあるマンガの画像ファイルなどを
作品毎に一つのフォルダへ入れて管理することができ ファイル画面がすっきりします。

青いフォルダアイコンが付いている「(4)bbb」は実際はフォルダですが、他のファイルと同じように名前順や日付順でリストに表示され クリックするだけで再生することができます。
この場合、フォルダの中に4つのmp4ファイルがあり それぞれ順番に再生されます。
アマレコVR Ver 2.2.0は 10月中の公開を目指しています。
Meta Quest Hand Tracking 2.0 ハントラ精度向上
Meta Questで60fpsの動画を再生した場合について
もともと大抵のGoやQuest用メディアプレイヤー系アプリでは秒間50枚程度の映像しか表示することができません。
私が知る限り、初期から完全な形で動画の再生ができていた(リフレッシュレートを60Hzにして、60fpsの動画を再生して1秒間に60枚映像を表示することができる)のはOculus Go版のOculus galleryだけです。
アプリ | 機種 | 備考 |
Oculus gallery | Go | 60Hz 60fps可 |
Oculus gallery | Quest | 72Hz 60fps (恐らく60Hz非対応) |
SkyBox | Quest | 50fps程度になってしまう 2020年10月あたりに60Hz 60fpsへ対応 |
AmaRecVR | Quest | 50fps程度になってしまう 2021年6月に60Hz 60fpsへ対応 |
Oculus Quest1発売当時 (2019年6月あたり)のQuest版Oculus galleryはおそらくリフレッシュレートが60Hzにできていないため、完全に滑らかな60fpsの再生とはなっていませんでした。
その後、おそらくQuest2が発売された2020年10月あたりにSkyBoxが60Hz、60fpsの再生に対応し、更に遅れた2021年6月にアマレコVR2が60Hz、60fpsに対応しました。
■ 50fps程度になってしまう原因
Oculus GoやQuestはスマホ用のOSであるAndroidがベースとなって開発されています。
また、動画を再生する際もAndroidの動画再生機能(現在はExoPlayerが主流)を使うのが一般的と思われます。
十分な性能のスマホを所有していないので未確認ではありますが、スマホであれば ExoPlayerとSurfaceViewを使って動画を再生することにより 簡単に良い結果が得られるものと思われます。
スマホではSurfaceViewにより上手くディスプレイ装置の動作に合わせたタイミング調整が行われると思われる
しかし、GoやQuestでは画面を表示する仕組みがAndroid用のスマホと異なり SurfaceViewが使えません。
そのため自動的に上手くやってもらえず、大抵の場合 動画再生機能の動作タイミングとディスプレイ装置のタイミングが合わず 表示されないフレームが発生してしまいます。
QuestではSurfaceViewが使えず 1リフレッシュ期間に2フレーム表示しようとしてしまうことがある
Oculus GoやQuestにおいて60Hz 60fpsで完全な再生をするには SurfaceViewに代わって アプリ側にタイミング調整の仕組みが必要となりますが、有名なassetのAVPro Ver1.11.5やOculus Integrationに含まれるプレイヤーアプリのサンプルではディスプレイ装置に合わせたタイミング調整が実装されていないため50fps程度の表示となってしまいます。
Android用のアプリ開発においてAVProはとても有力なassetと思われますので、Oculus GoやQuest用アプリでも多く使われていると思われます。
60fpsサンプル動画
30fpsサンプル動画
これを60Hz で再生すれば見た目で簡単に評価できると思います。
■ 60Hz 60fps以外にも
・60Hzで30fpsの動画を再生した際に きっちり2フレームずつ表示できるか
・72Hzで60fpsの動画を再生した際に 5フレーム表示した後 1フレーム休む と言った均等なフレーム割り当てができるか
・90Hzで60fpsの動画を150%で再生 早回しでもきれいに再生できるか
・60Hzで90fpsの動画を67%で再生 スロー再生でもきれいに再生できるか
・必ずタイミングはずれてくるので 10~20秒くらいに一度 意図的にフレームを飛ばしたり 重複させる処理が適切に行えているか
と言った評価ポイントがあります。
■ アマレコVRの最大fps
90Hz 90fpsまでは可能ですが、動画再生機能の上限が今のところ100fps弱なので120Hz 120fpsの再生はできません。
120Hz 60fpsでの再生は可能ですが 動いているものがぶれて見える(60Hzで 30fpsの動画を再生した場合と同じ印象)ため 60Hz 60fpsで再生した方が 見やすいです。
Meta Quest ファイルマネージャ系アプリを使ったアマレコVRのインストール
そこで、Meta QuestへAndroid用のファイルマネージャー系アプリを導入するとWi-Fiネットワーク経由でPC上のapkファイルをインストールすることができて とても便利です。

最初にファイルマネージャ系アプリをインストールするのにUSBケーブルやADBコマンドが必要ですが、一度ファイルマネージャ系アプリをインストールしてしまえば、USBケーブルやADBコマンド不要でMeta Quest内の操作によりアマレコVRをインストールしたりアップデートできるようになります。
1.ファイルマネージャ系アプリのapkファイルを入手する
(1) Androidスマホで公式サイトからファイルマネージャ系のアプリをインストールする
(2) スマホとPCをUSBケーブルで繋ぐ
(3) PCからADBコマンドを使ってファイルマネージャのapkファイルを抽出する
詳しいやり方は 「android apk adb 抽出」で検索してください。主な流れは次の様になります。
フィルマネージャアプリのパッケージ名を調べる
インストールされているアプリのパッケージ名一覧
adb.exe shell pm list package
ファイルマネージャプラスの場合
com.alphainventor.filemanager
がパッケージ名
抽出したいアプリのパスを調べる
adb.exe shell pm list packages -f | findstr <アプリのパッケージ名>
ファイルマネージャプラスの場合
adb.exe shell pm list packages -f | findstr com.alphainventor.filemanager
結果
package:/data/app/com.alphainventor.filemanager****/base.apk=com.alphainventor.filemanager
この場合のパスは /data/app/com.alphainventor.filemanager****/base.apk
apkを抽出する
adb.exe pull <パス>
ファイルマネージャプラスの場合
adb.exe pull /data/app/com.alphainventor.filemanager****/base.apk
抽出するとPC上にファイルマネージャのapkファイル(base.apk)が作成されます。
※ スマホのUSBデバッグを有効にし 適宜アクセス権を与える必要があります。
2.ファイルマネージャをMeta Questへインストールする
(1) PCとMeta QuestをUSBケーブルで繋ぐ
(2) PCからADBコマンドを使って1で抽出したファイルマネージャのapkをインストールする
adb.exe install -r base.apk
インストールしたファイルマネージャは提供元不明から起動できます。

※ Meta Questを開発者モードにし 適宜アクセス権を与える必要があります。
3.ファイルマネージャプラス

ファイルマネージャプラスでは[リモート]からSMBを使ってWindowsの共有フォルダへアクセスできます。

最初はインストールする権限がなく失敗しますが、設定を選択してインストール権限を有効にすると・・・

apkファイルを選択してインストールやアップデートができるようになります。

アマレコVR Ver2.1.7 アルファ7 画像処理完成版 公開
そのほかOculus SDKがハンドトラッキングへ対応したのでパススルー機能と同時に使えるようになりました。また、コメント欄で公開したクロマキー合成も含まれます。
いずれも、パススルー映像にVR動画の被写体を合成したり、VRonVRにより複数の動画を合成し、さらに自分の手を合成するといった 一歩踏み込んだミックスドリアリティ体験が可能となります。
— amaman (@amarectv)
VRonVRで2D動画を背景にして手前に被写体を合成する例
今までのアマレコVRではVR動画を背景にして手前に2D動画といった構成しかできず、2D動画のスクリーンを大きく表示することができませんでしたが(背景が隠れてしまう)、
VRonVRにより巨大な2D動画のスクリーンを背景に 手前にVR動画といった構成が可能になっています。
もちろん背景をVR動画、手前もVR動画も可能です。
そして、VR動画を手前に表示するのに重要となるのが VR動画の背景を透明にする仕組みです。この例ではRobust Video Mattingを使って背景を緑にした動画を作成し、アマレコVRのクロマキー合成を使っています。
Robust Video Matting程ではありませんが、簡易的に済ます場合はアマレコVRの背景透過処理を使うこともできます。
1.内容
【更新内容 アマレコVRアプリ】
・画像処理追加(背景透過、クロマキー合成、シルエットモード)
・ハンドトラッキング復活
・サブカメラ画面へ横型を追加
・内蔵ストレージの動画ファイルへアクセスできなくなっていたのを修正(Ver2.1.3から使えなくなっていた)
・サーバーはVer2.1.3から変更なし
・Oculus software v35が必要
【Ver2.1.5から画像処理の更新内容】
・基本的な性能向上(背景は消えやすく、被写体は消えにくくなりました)
・背景画像の作成に時間がかかるようになりました
・パフォーマンスが低下しました(Quest 1では 60fpsを下回る)
・設定項目追加(背景サンプリング時間、レンダリング解像度)
・クロマキー合成、シルエットモード追加
・背景透過処理へ メイン画面設定の透明度が反映されるようになりました
【既知の不具合】
・アプリ起動時などファイルリスト読込中に リスト内検索等をすると 操作不能に陥る
(リストの読み込みが終わるのを待ってから操作してください チャンネル部に読込件数が表示されている間は待つ)
・サーバー側でサムネイルの自動作成をすると アプリが止まってしまうことがある
(サムネイルの作成が終わってから使うようにする)
【Ver2.1.1 アルファ2と同じ内容】
・サブカメラ機能の映像ソースを選択する[CL]、[CR]は機能しません
・ハンドトラッキングに関する機能は使えません(Ver2.1.7から使えるようになりました)
・アマレコVRアプリによりサムネイル画像を作成すると白っぽい画像になってしまいます (Ver2.1.3で対応しました)
2.使い方
・ 次の記事と合わせて見てください。
Ver2.1.0 アルファ1
Ver2.1.1 アルファ2
Ver2.1.3 アルファ3
・アマレコVR自体の使い方は オンラインヘルプを見てください。
・ベータ版、アルファ1、アルファ2、アルファ3とは異なるアプリとしてインストールされます。
・アマレコVRサーバーはアルファ3と同じです。
【アマレコVR パススルー実験 アルファ版 まとめ】
Ver2.1.0 アルファ1 2021-09-03 パススルー実験版 (アルファ版)
Ver2.1.1 アルファ2 2021-10-07 パススルー実験版 リアルスケールになった
Ver2.1.2 アルファ3 2021-10-10 VRonVR試作版
Ver2.1.3 アルファ3 2021-11-15 VRonVR パススルーAPIが正式版になった 円周魚眼パラメータ サーバー更新
Ver2.1.4 アルファ4 2021-11-20 画像処理試作版
Ver2.1.5 アルファ5 2021-11-27 画像処理試作版
Ver2.1.6 アルファ6 2021-12-14 クロマキー合成テスト版(コメント欄で公開)
Ver2.1.7 アルファ7 2021-12-28 画像処理完成版 ハンドトラッキング復活 ほぼベータ版
2.1.画像処理
メイン画面設定の画像処理メニューから設定します。

※ メイン画面設定は頻繁に使う為 アマレコVR設定のボタン機能で[メイン画面設定を表示]を割り当てることをお勧めします。
■画像処理メニュー

・処理なし
画像処理を行いません。
・背景透過
画像処理により映像内の(動かない)背景部を透明にします。
・クロマキー合成
画像処理により指定した背景色を透明にします。
・背景バッファクリア
現在の画像処理の解析結果を破棄し、ゼロから構築しなおします。また、クロマキー合成の背景色をクリアします。
・シルエットモード
メイン画面の映像を単色で塗りつぶします。
メイン画面設定の透明度が反映されます。
エッジがクリアでないと 何が表示されているかわからないので、クロマキー合成か背景透過の輪郭解像度を1024にして使って下さい。
※ 色はサーバー側の設定ファイルで変更できます(後述)。
※ 画像処理を使うには アマレコVRアプリのプレイヤー設定でAmaRec Playerを選択してください。(初期値はAmaRec Playerなので通常はそのままでOKです)
AVProでは利用できません。
■背景透過
【画像処理:背景透過処理 概要】
動きの少ない部分(前のフレームからの変化が少ない領域)を検出し背景画像を作成します。
一度のサンプリングでは背景画像の信頼性が低いので数秒間解析を続けて信頼性の高まった背景画像と現在のフレームを比較して透明にします。
・背景画像と一致する領域は背景と判断し 透明にします
・一致しない領域は被写体と判断し 不透明にします
・信頼性の低い領域は常に 不透明となります
解析処理は常に行われ 家具の位置が変わったり、シーンチェンジすると背景画像もアップデートされます。
基本的に被写体が映った映像から背景画像を作成しますので
被写体と被写体の周辺領域については背景画像の信頼性が高まるまで時間がかかります。
そのため、被写体周辺の背景が表示されてしまったり、被写体が退いた後もしばらく背景が表示されることがあります。
また、動きの少ない被写体が背景と判断されてしまい、消えてしまう場合があります。
■前提条件
屋内の固定カメラで撮影されたVR映像であることが前提となります。
・背景が一切動かない (とにかくこれが大事、手振れなどもないこと)
・照明が安定している (ロウソクや太陽光などはNG)
・画質が安定していること (ノイズが多い、差分フレームとキーフレームの画質差が激しいなどはNG)
・被写体は基本的に1つ (複数の場合は 被写体と被写体の間が不透明になる 課題)
・被写体が丸っこいこと (でっぱりがあると その周辺は不透明になってしまいます 課題)
・被写体が適度に動くこと (数秒間 止まられると 背景と判断されて透明になってしまう)
■良い結果が期待できるケース
・背景がCGの映像 (クロマキー撮影し、CGの背景と合成された映像や 全てCGの映像)
・背景が真っ黒な映像 (多少背景が映ってしまっても 影っぽく自然に見える)
■背景透過メニュー

・ぼかし(時間)
過去のフレームと加算し映像をぼかす度合いを設定します。
ノイズや画質、照明の影響を軽減し安定した処理結果が期待できます。
数値が小さいと背景画像の作成に時間がかかるため、なかなか背景が透明になりません。
数値が大きいほど映像のノイズや不安定な照明、差分フレームとキーフレームの画質差などを軽減し背景の判定がやり易くなります。
逆に、被写体の動きの検出が難しくなるため 動きの少ない被写体も背景と誤判定され消え易くなってしまいます。
また、数値が大きいと 新しいフレームの影響が少なくなるため タイムラグが生じます。
・背景閾値
低いほど被写体に有利な判定になります。代わりに背景の判定が上手くできず透明になりません。
高いほど背景に有利な代わりに 被写体が誤判定され消えやすくなります。
・背景時間
3なら 3秒間変化が少ない領域を背景として拾います。
数値が低いほど 素早く背景画像を構築できますが、動きの少ない被写体も背景として拾ってしまいます。
数値を大きくすると 背景画像の構築に時間がかかる代わりに 被写体を拾い難くなります。
・解像度
処理結果(透明、不透明のマスクパターン)の解像度を選択します。
256は解像度が極めて低いため 輪郭を強くぼかして使います。
1024は解像度が高く輪郭をくっきり表示したい場合に使います。
※ 1024は処理に時間がかかるため 他の機能と併用すると60fpsを下回ります。
fpsの低下が目立つ場合は256を使って下さい。
【処理能力】
Oculus Quest 2で4K,60fpsのVR動画を視聴(サブプレイヤー、3rdプレイヤーは停止、パススルーON、画像処理の設定は初期値)
・背景透過 解像度1024 のみ 60fps以上
・背景透過 解像度1024 と アルファマップA 約54fps
・背景透過 解像度1024 アルファマップAとB併用 約48fps
※ Oculus Quest 1で4K,60fpsのVR動画を視聴する場合は背景透過 解像度256のみでも約48fpsとなります。
・輪郭ぼかし、 輪郭サイズ
処理結果(マスクパターン)の輪郭を調整します。お好みで調整してください。
■クロマキー合成

・背景色
透明にする背景色を指定します。
具体的には 画像処理により指定した色に属する画面内で多く使われている色を検出し、透明にします。
自動は色を指定せず画面内で最も多く使われている色を背景色とします。
そのため、赤い服を着た人がカメラへ近づいて画面全体が赤くなると背景色が赤と判断されてしまう場合があります。
※ Ver2.1.6の青緑は廃止しました。Robust Video Mattingの初期背景色は緑で使えます。
・背景閾値
背景色と近い色を透明にする際の閾値です。
低いと背景に影があった場合に 影が見えてしまいます。
高いと被写体の一部が透明になってしまいます。
・輪郭サイズ
輪郭処理を行う大きさを指定します。
輪郭部は背景色の成分を除いて半透明にします。
※ Ver2.1.6と比べ 透明度を上げて ほぼ透明にしました。
2.2.ハンドトラッキング
Oculus Questのハンドトラッキングが「OpenXR」に正式対応したのでパススルー機能とハンドトラッキング機能を同時に利用できるようになりました。
アマレコVRのハンドトラキング機能に関する基本的な使い方はオンラインヘルプを参照してください。
今回からハンドトラッキングメニューが追加され 手のグラフィックを選択できます。


・パススルー透過:透明、カラー
手の形で穴を開け後ろのパススルー映像を見えるようにします。
また、スクリーンオブジェクトと干渉します(メイン画面を触れる)。
カラーの場合は、手の形でパススルー映像を着色します。
・非透過 半透明:黒、青
メインスクリーン等の上に半透明で手を表示します。
スクリーンオブジェクトとは干渉しません(常に手前に表示されます)。
※ 各色はサーバー側の設定ファイルで変更できます(後述)。
【ハンドトラッキングとVR動画の視差】
VR(3D映像)の仕組み上、VR動画やハンドトラッキングの手の表示、パススルー映像それぞれに視差があります。
それぞれの視差が合わないと一緒に観ることができません(視野闘争、視差闘争)。
アマレコVRではメイン画面設定のステレオ調整で視差の調整が可能です。
私が視聴したVR映像ではステレオ調整を+30から+60あたりにすることで 30cmから50cmほど手を伸ばしたあたりで視差が合いました。
また、メインスクリーンのスケールを50程度(50cm先にスクリーンを配置)にすると、両手を前に伸ばしたあたりでハンドトラッキングの手とメインスクリーンが干渉します。
・ポジトラを ON (パススルー映像を使う場合はポジショントラッキングをONにします。)
・スケールを 50程度
・ステレオ調整を +30から+60程度 (VR映像の内容や 何センチ先で合わせるかで変わります。)
・ハンドトラッキングメニューで[パススルー透過:透明]または、[パススルー透過:カラー]を選択 非透過ではスクリーンオブジェクトと干渉しません。
3.その他
■サブカメラ画面へ横型を追加
16:9よりさらに横に広い視野の[横型]を追加しました。

■色設定
次の色はサーバー側の設定ファイル AmaRecVRServer.iniをメモ帳で編集して変更できます。
また、変更した後はアプリを再起動しなくても、選択項目を変更した際に再度設定値をサーバーから読み込みます。
・画像処理:シルエットモードの色
・ハンドトラッキングの色
【アマレコVRサーバー設定ファイル AmaRecVRServer.ini】
[ImageProcessing]
rw.param_silhouette_color_string=#0000FF7F
[HandTracking]
rw.color.0=#00000000
rw.color.1=r255g232b202a160
rw.color.2=#33333377
rw.color.3=#3333EE77
※ 10進数で指定する場合はr,g,b,aの後に各数値
※ 16進数で指定する場合は#の後にrgbaの順に数値
■背景透過処理へ 透明度が反映されるようになりました
画像処理を利用している場合も [メインスクリーンを半透明にする]をONにして、透明度を調整することができるようになりました。
半透明にすることでVRonVRの奥で再生している動画が見えなくなるのを防ぐことができます。
また、アルファマップAを使うと 視界の下半分にだけメイン画面を表示して、上半分へは表示しないなど メイン画面の表示範囲を制限することができます。
4.ダウンロード
・ アマレコVR Ver2.1.7 アルファ版7
・ アマレコVRサーバー Ver2.13
※ アマレコVRサーバーは更新なし
オンラインヘルプ Ver2.0.0
アマレコVR Ver2.1.5 アルファ5 背景透過試作版 第二弾 公開
画像処理を改善しレスポンスの向上と背景と判断する部分が増えました。

黒いT字の被写体に対し 赤い輪郭のマスクパターンを作成したいけど、緑の領域が加わっていたのが改善されます。
1.導入
アマレコVR Ver2.1.3 アルファ3を使っていることが前提です。
まだの人はアルファ3の記事も合わせて観てください。
今回はアルファ5としてインストールされます。
アルファ3、アルファ4とは別アプリとしてインストールされます。
2.使い方
メイン画面設定の[画像処理]メニューから[自動背景透過]を選択してください。
あとはメインプレイヤーで再生されている映像を自動で処理します。

※ アマレコVRアプリのプレイヤー設定でAmaRec Playerを選択してください。(初期値はAmaRec Playerなので通常はそのままでOKです)
AVProでは利用できません。
※ アルファ4を利用していた場合でも 画像処理の設定が初期値の[処理なし]に戻っています。再度、[自動背景透過]を選択してください。
■画像処理メニュー

[ぼかし(時間)]
過去のフレームと加算し映像をぼかす度合いを設定します。
数値が大きいほど映像のノイズや不安定な照明、差分フレームとキーフレームの画質差などを軽減し背景の判定がやりやすくなります。
逆に、被写体の動きの検出がし難くなるため 動きの少ない被写体も背景と誤判定され消えやすくなってしまいます。
また、数値が大きいと 新しいフレームの影響が少なくなるため タイムラグが生じます。
[背景閾値]
低いほど被写体に有利な判定になります。代わりに背景の判定が上手くできず消えにくくなります。
高いほど背景に有利な代わりに 被写体が誤判定され消えやすくなります。
[輪郭ぼかし]と[輪郭サイズ]
判定結果(マスクパターン)の輪郭を調整します。お好みで調整してください。
[背景バッファクリア]
現在の解析結果を破棄し、ゼロから構築しなおします。設定の変更が反映されない場合にクリアしてください。
3.画像処理概要
アルファ4の記事を観てください
4.ダウンロード
・ アマレコVR Ver2.1.5 試作版
・ アマレコVRサーバー Ver2.13
※ アマレコVRサーバーは更新なし
新しいバージョン アマレコVR Ver2.1.7が公開されています。
アマレコVR Ver2.1.3 アルファ3 VRonVR 公開
クロマキー合成については 指定した色を透明化する形で実装する予定でしたが クロマキー合成用のVR映像が一般的でないため見送ることにしました。
1.内容
【更新内容 アマレコVRアプリ】
・通信プロトコルを213へ変更
・Oculus Passthrough APIが正式版になりました
・VRonVR用の3rdプレイヤーを追加
・円周魚眼スクリーン用のパラメータを追加
・サブプレイヤー、3rdプレイヤーへも白黒オプションを追加
・上下反転オプションを追加
・ポジショントラッキングのON、OFFオプションを追加(初期状態OFF)
・PCマウスのボタン設定を拡張
・アルファマップの移動縦を変更(平面移動から回転へ変更)
・アルファマップを全球の前半分へ張り付けるように変更
・UI画面表示時に 向きリセットしないように変更
・アプリ側で作ったサムネイル画像が白くならないようにしました
・メイン画面設定の再生時ロードを廃止
・一時停止したまま 次の動画を再生したときのアイコン表示を修正
・マウス操作の際 ファイル画面のファイルリストで複数項目が選択できないことがあるのを修正
・サブ画面の表示/非表示が使えなかったのを修正
【更新内容 アマレコVRサーバー】
・ネットワークに関する設定を追加(最大ストリーム数、動画読込キャッシュ)
・動画読込キャッシュワーク変更
・検索処理で アルファベットの大文字と小文字を区別しないように変更
・検索処理で 半角スペースとアンダースコア、ハイフンを区別しないように変更
・通信プロトコル更新(213) 通信プロトコル200と上位互換
・アルファマップ追加
【既知の不具合】
・アプリ起動時などファイルリスト読込中に リスト内検索等をすると 操作不能に陥る
(リストの読み込みが終わるのを待ってから操作してください チャンネル部に読込件数が表示されている間は待つ)
・サーバー側でサムネイルの自動作成をすると アプリが止まってしまうことがある
(サムネイルの作成が終わってから使うようにする)
【Ver2.1.1 アルファ2と同じ内容】
・サブカメラ機能の映像ソースを選択する[CL]、[CR]は機能しません
・ハンドトラッキングに関する機能は使えません
・
・Oculus Quest 1でも利用可能です
・
2.使い方
・ Ver2.1.0 アルファ1、 Ver2.1.1 アルファ2の記事と合わせて見てください。
・アマレコVR自体の使い方は オンラインヘルプを見てください。
・ベータ版、アルファ1、アルファ2とは異なるアプリとしてインストールされます。
・Ver2.1.2 アルファ3 試作版がインストールされている場合は 同じアプリとして上書きされます。
・アマレコVRサーバーも更新されています。
※
Oculus software v34とアマレコVR Ver2.1.3からパススルー機能が正式版となりました。
ADBコマンドなしでパススルー機能を利用できます。
※アルファマップに関するファイルは今回からサーバー側に同梱しています。アプリには同梱されていません。アルファマップの内容は Ver2.11アルファ2に同梱していたものと同じです。
2.1.VRonVR
新しくVR動画(通常の2D動画も可)を再生するための3rdプレイヤーを追加しました。
メイン画面の右側のメニューで[3rd]を選択すると 3rdプレイヤーで動画を再生します。

【プレイヤー仕様】
メインプレイヤー:
VR動画、2D動画、3D動画
基本的には正面へ表示
滑らかな再生ができるAmaRec Player利用可
サブプレイヤー:
2D動画、3D動画
自由に配置(大きさ調整)可能
AVProのみ(欠落フレーム有り)
3rdプレイヤー:
VR動画、2D動画、3D動画
メインプレイヤーの映像と合成するのに使う
AVProのみ(欠落フレーム有り)
■映像の合成
メインプレイヤーと3rdプレイヤーの映像を メイン画面設定にあるアルファマップAで合成します。
アルファマップAの白い部分がメインプレイヤー、黒い部分が3rdプレイヤーの映像になります。
その結果とパススルー映像がアルファマップBで合成されます。

■3rdプレイヤーの操作
コンソール画面で3rdプレイヤーに関する操作ができます。

・プレイヤーの選択
・3rdプレイヤーの音量
・サブカメラの映像ソース選択 [CM]メインプレイヤーの映像、[C3]3rdプレイヤーの映像
・3rdプレイヤー用のスクリーンの向き調整
・3rdプレイヤー用のスクリーンのZ位置調整
・3rdプレイヤー用のスクリーンのステレオ調整
・[向き連動]をONにするとメイン画面の向き調整(メイン画面のチルトなど)と一緒に動くようになります。
・3rdプレイヤーの再生速度
・3rdプレイヤーのリピートモード
■ボタン機能
3rdプレイヤーに関するボタン機能が追加されています。

ホイール機能

■要求スペックと推奨環境
Oculus Quest 1でも動作はしますが、スペック的にQuest2でないと厳しいです。
Quest1は4K 60fpsの動画 1つで ほぼ限界に達します。
Quest2の場合は4KオーバーのVR動画も利用できますが、VRonVRで複数プレイヤーを使うとリソース不足でアプリケーションが強制終了される場合があります。
Quest2であっても複数プレイヤーを使う場合は 4K 60fpsのVR動画までの利用を推奨します。
また、アプリ側でサムネイルを自動生成したり、ファイル画面のサムネイル簡易再生等も加わるとリソース不足になる場合が出てきます。
自動生成はサーバー側で行うようにしてください。簡易再生にも制限を加えてください。
【Quest2で複数プレイヤーを使う場合の推奨環境】
・メインプレイヤー: 4K 60fps以内
・サブプレイヤー: FullHD 60fps以内
・3rdプレイヤー: 4K 60fps以内
・サムネイル簡易再生: 縦2160を超える動画を再生しない または [サムネイルプレイヤーを使う]をOFFにする (アプリの設定画面の サムネイル設定)

・サムネイル自動生成: サーバーの設定画面で [FFMPEGを使う]をON

■4ストリームに対応しました
Ver2.1.2 試作版では3ストリームまででしたが、Ver2.1.3から4ストリームに対応しました。
メインプレイヤー、サブプレイヤー、3rdプレイヤー、サムネイルプレイヤーを同時に利用できます。
【ストリーム仕様】
ストリーム1:メインプレイヤー
ストリーム2:サブプレイヤー
ストリーム3:3rdプレイヤー
ストリーム4:サムネイルプレイヤー
■その他
3rdプレイヤーはVRフォーマット等を手動で設定できません。ファイル名へタグを入れたり、画像サイズから自動判別できるように準備を徹底してください。
サブプレイヤーと3rdプレイヤーは現状AVProで再生するため欠落フレームが生じます。60fpsの動画でも50fps程度の再生となります。
2.2.円周魚眼パラメータ
アマレコVRは2019年ころの日本で出回っていた円周魚眼VR動画に(見た目で)合わせていましたが、
最近異なる円周魚眼動画があるようなのでパラメータで調整できるようにしました。

100は今まで通り
最近のものはスケールを75あたりにすると 歪みが少なく視聴できると思います。
また、200度の魚眼レンズで作成されたVR動画ではスケール-140、PosZ-40あたりでしょうか。
■円周魚眼パラメータ
・スケール
プラス側で調整するとXYZのスケールを調整します。
50ならXYZそれぞれ半分の大きさのスクリーン形状に映像を投影して視聴します。
マイナス側にすると Zスケールのみを調整します(スクリーン形状の厚みだけを調整します)。
-140なら 厚みが40%増します。
・PosZ
カメラとスクリーンの距離を調整します。
0が標準
50なら50cmカメラへ近づける
-50なら50cmカメラから遠くへ配置します。
・プリセット
円周魚眼パラメータメニューからプリセットを変更できます。
【円周魚眼パラメータ 初期プリセット】
プリセット1:スケール=-140、PosZ=-40 (200度魚眼レンズ)
プリセット2:スケール=75、PosZ=0 (最近の円周魚眼)
プリセット3:スケール=100、PosZ=0 (古い円周魚眼)
■タグ
スクリーン形状を指定する際の-screen[FishEye]へ円周魚眼パラメータを追加できます。
パラメータをいくつにしたらいいか分かってきたらファイル名へタグを入れて 使いこなしてください。
省略した場合はアプリ上で最後に手動設定した値となります。
画像サイズや比率から自動判定する場合も同様に円周魚眼パラメータを利用できます。
【例】
#tag "[魚]" "-layout[sbs] -screen[FishEye]"
#tag "[魚A]" "-layout[sbs] -screen[FishEye100]"
#tag "[魚B]" "-layout[sbs] -screen[FishEye75]"
#tag "[MKX200]" "-layout[sbs] -screen[FishEye-140pz-40]"
ファイル名に [魚] が含まれていたら 最後に手動設定したパラメータで 円周魚眼スクリーンを使います
ファイル名に [魚A] が含まれていたら 今まで通りの円周魚眼スクリーンを使います
ファイル名に [魚B] が含まれていたら 75%の円周魚眼スクリーンを使います
ファイル名に [MKX200] が含まれていたら 厚み140%の円周魚眼スクリーンを 40cm遠くへ配置します
3.その他
■ポジショントラッキングのON、OFFオプションを追加

基本的にVRとしてのポジショントラッキングは常に有効です。
メイン画面のポジショントラッキングをOFFにすると
ポジショントラッキングを行いつつ 映像を投影するスクリーンの位置とHMDの位置を一定に保つように動作します。
いままでは常にONの状態でしたが、今回からOFFにできるようになりました。
また、初期状態をOFFとしました。
VR映像を視聴する場合は HMDの位置がスクリーンの中心からずれることで映像が歪みますので 基本的にはポジショントラッキングをOFFにすることをお勧めします。
パススルー映像にスクリーンの位置を合わせたい場合は ポジショントラッキングをONにしてください。
■白黒オプション、上下反転オプション

プレイヤー毎に白黒(モノクローム化)や表示を上下反転できるようになりました。
■再生時ロードを廃止
メイン画面設定にあった 動画をメインプレイヤーで再生した際に メイン画面の位置をロードするかどうかのオプションを廃止しました。
代わりに、動画ファイルに位置指定タグがある場合はその位置へ(一時的に変更されます)、
タグが無い場合は最後に手動設定した位置へ(一時的に変更されていた場合は戻ります)となります。
同様に以下の項目において タグがある場合は一時的に変更され、タグが無い場合は最後に手動設定した状態に戻ります。
・スクリーン位置設定
・ステレオ設定
・YUVレンジ設定
・クロップ設定
・円周魚眼パラメータ
■PCマウスのボタン機能が拡張されています。

サイドボタンを押しながら 他のオプションボタンを押した場合へ機能を割り当てることができます。
4.サーバー
ネットワークに関する設定が追加されていますが、基本的にはそのまま使ってください。

・最大ストリーム数は4で使ってください。
・動画読込キャッシュ バッファサイズ
一度にストレージから読み込むバイト数。
小さく設定するとHDD等の場合にストレージの読み込み性能を発揮できません。
大きくすると 小回りが利かなくなり レスポンスが悪くなります。
通常1MBのまま利用してください。
・動画読込キャッシュ バッファ数
ストリーム毎に[バッファサイズ] x [バッファ数] 分のメモリを確保します。
バッファに空きがある場合は 先読みします。
先読みができていると 指定秒送りの際にストレージへのアクセスを省略できるため 僅かにレスポンスが向上するかもしれません。
2以上に設定してください。
・動画読込キャッシュ プロテクト
使い終わったバッファを先読みで上書きされないように保護するバッファ数。
バッファに残っていると 指定秒戻しの際にストレージへのアクセスを省略できるため 僅かにレスポンスが向上するかもしれません。
0以上に設定してください。
通常、プレイヤー側でストリーミング再生の為のバッファリングを行っていますので、その範囲内でシークする場合は(サーバー側のキャッシュと関係なく)素早く処理されます。
プレイヤー側のバッファリングから外れた場合に サーバー側のキャッシュが機能します。
【レスポンス】
実際に計測したわけではありませんが 感覚的なレスポンスは
(1) プレイヤーのバッファリング内でのシーク :レスポンス 0.1秒
(2) サーバーキャッシュにヒット :レスポンス 0.9秒
(3) サーバーキャッシュミス ストレージから読み込む :レスポンス 1.0秒
(1)が圧倒的に早いのに対し (2)と(3)の違いは僅かとおもわれますので 読み込みキャッシュの設定を増やしても体感できるほどの効果は期待できません。
【設定例】
・標準
サイズ:1MB
数:32個
プロテクト:8個
※ キャッシュワーク用に メモリーを約128MB使います。([バッファサイズ] x [バッファ数] x [ストリーム数])
・最小構成
サイズ:1MB
数:2個
プロテクト:0個
※ サーバー側のメモリーを節約したい場合、今まではこの設定
■導入
Ver2.1.1 アルファ2以降を使っている場合はAmaRecVRServer.exeだけ上書きしてください。
アルファ版を使っていない場合はAmaRecVRServer.exeeとalphamapフォルダをコピーしてください。
初めて使う場合はAmaRecVRServer213フォルダ内のファイル全てをコピーしてください。
■その他
Ver200と上位互換です。アマレコVRアプリ Ver2.0.0からVer2.1.3まで利用できます。
ネットワーク(動画読み込みキャッシュ)に関する設定の変更はサーバープログラムの再起動が必要です。
いままでアプリ側に含めていたアルファマップに関するファイルをサーバー側に同梱しています。内容はアプリ Ver2.1.1アルファ2に同梱したものと同じです。
検索処理で アルファベットの大文字と小文字を区別しないようになりました。
検索処理で 半角スペースとアンダースコア、ハイフンを区別しないようになりました。
5.ダウンロード
・ アマレコVR Ver2.1.3 アルファ3
・ アマレコVRサーバー Ver2.13
オンラインヘルプ Ver2.0.0
新しいバージョン アマレコVR Ver2.1.7が公開されています。
アマレコVR Ver2.1.2 VRonVR 試作版 公開
VRonVR機能がどんなものか体験してみて見てください。
※ アルファ2の導入が必要です。
先日の進捗を書いた時点でアルファ3のメインはクロマキー合成の予定でしたが、察しの通り 圧倒的なコンテンツ不足でほぼ出番はありません。そこで、アルファ2公開直前に思いついたのがVRonVRです。クロマキー合成もやるつもりですが アルファ3のメインはVRonVRにとって代わりました。
1.内容
新しくVR動画を再生するための3rdプレイヤーを追加しました。
メインプレイヤーと3rdプレイヤーの映像を(メイン画面設定にある)アルファマップAで合成します。
アルファマップAの白い部分がメインプレイヤー、黒い部分が3rdプレイヤーの映像になります。
その結果とパススルー映像がアルファマップBで合成されます。
メイン画面の右側のメニューへ 3rdプレイヤーに関する項目が追加されています。

コンソール画面へ 3rdプレイヤーに関する機能が追加されています。

ボタン機能へ 3rdプレイヤーに関する機能が追加されています。

ホイール機能

PCマウスのボタン機能が拡張されています。

2.注意事項
・全ての機能がちゃんと動くかどうか 確認は取れていません。
・アルファ2が使えていることが前提となります。アルファ2に含まれるアルファマップを導入してください。
・ アルファ1、アルファ2の記事も合わせて見てください。
・Oculus Quest 1でも動作はしますが、スペック的にQuest2でないと厳しいです。
Quest1は4K 60fpsの動画 1つで ほぼ限界に達します。
・新しいアプリとしてインストールされます。
・アマレコVRサーバーは更新なし。
・3rdプレイヤーはVRフォーマット等を手動で設定できません。ファイル名へタグを入れたり、画像サイズから自動判別できるように準備を徹底してください。
・サブプレイヤーと3rdプレイヤーは現状AVProで再生するため欠落フレームが生じます。
・サブプレイヤーとサムネイルプレイヤーを同時に使うことはできません。
自主的にサブプレイヤーを使わないか、または、カタログ機能を「リスト」にしてサムネイル機能を使わないようにしてください。
現在のアマレコVRサーバーは最大3ストリームまでしか対応していません。
次のように割り当てられます。
ストリーム1:メインプレイヤー
ストリーム2:サブプレイヤー、サムネイルプレイヤー兼用
ストリーム3:3rdプレイヤー
3.ダウンロード
・ アマレコVR Ver2.1.2 試作版
※ アルファ2の導入が必要です。
・ アマレコVRサーバー Ver2.00
※ アマレコVRサーバーは更新なし
新しいバージョン アマレコVR Ver2.1.7が公開されています。