0

スマート カメラのエンコード パフォーマンス (MPEG-4 および MJPEG) をテストしています。アプリケーションがカメラから画像をキャプチャし、それらを目的のエンコード形式にエンコードするエンコードを実行するために、OpenCV/FFMPEG でアプリケーションを作成しました。ベンチマークでは、MJPEG エンコーディングは MPEG-4 エンコーディングよりもはるかに時間がかかることがわかりました。私はそれが逆であることを期待していました。1 つのフレームを MPEG-4 にエンコードするには約 31 ミリ秒かかりますが、MJPEG にエンコードするには約 80 ミリ秒かかります。MJPEG は、MPEG-4 に比べて本当に時間がかかるのですか?

4

1 に答える 1

1

基本的にフレーム間圧縮がないため、理論的には MJPeg の方が高速です。

ただし、MPEG-4 を高速化する方法はいくつかあります。考慮すべきいくつかの要因を次に示します。

  • MPEG-4 は、実際には「パート 2」または「パート 10」の 2 つの異なる形式にすることができ、パート 2 の方がはるかに高速です。詳細については、http: //en.wikipedia.org/wiki/MPEG-4_Part_2を参照して ください。

  • エンコーダの設定によって、桁違いの
    違いが生じる可能性があります。特定の形式の高速設定は、低速設定の同じ形式よりも 10 倍以上
    高速になる場合があります (速度と品質の
    トレードオフ)。

  • MPEG-4 のエンコーダーは、地球上で最も最適化されたコードの一部です。彼らはまだアセンブリ言語を多用しています。実際には、あまり最適化されていない別の形式よりも簡単に高速になる可能性があります。

  • IO が遅い場合 (ネットワーク、ハード ドライブ)、結果が歪む可能性があります。
    たとえば、圧縮なしが最速ですよね?ただし、大きなファイルを書き込むには時間がかかります。

したがって、実際には、MJPEG はこれらの理由やその他のエッジ ケースにより遅くなる可能性があります。

于 2011-08-14T17:21:13.177 に答える