前のトピックを表示 :: 次のトピックを表示 |
投稿者 |
メッセージ |
前田
登録日: 2004.09.01 記事: 2759 所在地: Miyazai JAPAN (E131.4, N31.8)
|
日時: Sun Feb 03, 2019 10:51 am 記事の件名: フレーム落ちについて |
|
|
SonotaCoさんへ
前田です。
UFOCaptureHDの%fやその後の機能についてです。
この表示で、ビデオ記録のフレーム落ちを検出できるということで表示させていました。
久しぶりにフレーム落ちがあったので、チェックしてみたのですが、
Analyzerのコマ送りで、モニタ画面上で〔 〕内の表示は一定で特に2倍になりませんでした。
win10でUFOCHDv4.272,UFOAnalzerv2.42、カメラはDMK33GX178ecsで19FPS なので、〔 〕内は 53?55の値となっています。
添付画像と数値は、UFOAnalyzerでフレーム送りした時の画面に記録されている5桁のフレーム番号です。
表はAnalyze logの一部で fno 19?20のところで、フレーム落ちがあったのに気が付かずに速度が2倍に計算されているのではないかと、想像しました。
UFOCapture側で絶対時刻(パソコンの時計の意味)のようなものをチェックしてフレーム間の時間を記録して、
それをUFOAnalyzerへ渡して、フレーム落ちを検出しているのかと想像していたのですが、フレーム落ちがあった時の動作はこれでよいのですか。 |
|
トップに戻る |
|
|
SonotaCo Site Admin
登録日: 2004.08.07 記事: 12669 所在地: 139.67E 35.65N
|
日時: Wed Feb 20, 2019 5:30 pm 記事の件名: Re: フレーム落ちについて |
|
|
前田 wrote: | SonotaCoさんへ
前田です。
UFOCaptureHDの%fやその後の機能についてです。
この表示で、ビデオ記録のフレーム落ちを検出できるということで表示させていました。
久しぶりにフレーム落ちがあったので、チェックしてみたのですが、
Analyzerのコマ送りで、モニタ画面上で〔 〕内の表示は一定で特に2倍になりませんでした。
win10でUFOCHDv4.272,UFOAnalzerv2.42、カメラはDMK33GX178ecsで19FPS なので、〔 〕内は 53?55の値となっています。
添付画像と数値は、UFOAnalyzerでフレーム送りした時の画面に記録されている5桁のフレーム番号です。
表はAnalyze logの一部で fno 19?20のところで、フレーム落ちがあったのに気が付かずに速度が2倍に計算されているのではないかと、想像しました。
UFOCapture側で絶対時刻(パソコンの時計の意味)のようなものをチェックしてフレーム間の時間を記録して、
それをUFOAnalyzerへ渡して、フレーム落ちを検出しているのかと想像していたのですが、フレーム落ちがあった時の動作はこれでよいのですか。 |
すみません 見落としていたようで、回答が遅れてしまいました。一度回答したような気になっていました。
%f はシステムの100nsec単位の絶対時刻の時計を使って フレームがUFOCaptureのモジュールに配信された時刻の差分ととっています。
したがって、長期間を調べれば、フレームドロップがあればわかる筈です。
しかしながら、デバイスドライバでフレーム抜けが発生しても未処理のフレームが溜まっていてUFOCaptureに正規よりわずかに長い間隔で次のフレームがUFOCaptureに渡されると 短期的にはそれをフレームドロップと認識できないケースが発生する可能性があると思います。
対象の移動角速度の急激な変化を検出してこれをフレームドロップとして検出して補正する方法は継続時間が長い流星では実現できる可能性はありますが、記録される流星の大半は非常に短いもので、抜けたのかどうかの判定はかなり難しそうで、間違う可能性も高いと思うので、その実現は二の足を踏んでしまいます。
というわけで、是非フレームドロップの発生しないような十分な環境の用意をお願いします。
-----------
少し追記しておくと、 フレームドロップ検出が難しいそもそもの原因はUFOCaptureなどのアプリケーションの処理は非同期で、
OSがスレッドに実行権を与えたタイミングでしか動作できず、それがいつになるかわからない点にあります。 最大2秒ほど処理が待たされることもあります。
UFOCaptureでは与えられたフレームの書き込みが次のフレームが来るまでに間に合わない場合はこれをフレームドロップとして UA2に引き渡しています。しかし、そもそも来るフレームが抜けていてもそれは簡単にはわからないわけです。
つまりフレームドロップには 2種類あって、UFOCaptureの処理や書き込みが間に合わないケースと UFOCaptureに来る以前に カメラやデバイスドライバで抜けてしまうケースがあり、後者は現在まったく検出されていないというわけです。
昔、29.97fpsのカメラ信号を30.00fpsのキャプチャデバイスで処理する系があり、これは誤差がたまって 1秒に1度程度定期的にフレームドロップしていました。
また、昔のHDDで ヘッド位置自己調整のため、時々1.5秒ほど 書き込みを受け付けない機種がありましたが、それでもUFOCaptureではちゃんと連続して書き込めたことがありました。しかしながら動かないアプリも多く、そのために 時々休憩することのないHDDがマルチメディアの連続書き込み用として区別されて発売されていました。 |
|
トップに戻る |
|
|
|