0

私が抱えているプロジェクトに取り組んでいる間、私は奇妙な認識を持っています。

解像度 480x640 で合計 30'720 ピクセルの画像をストリーミングするストリーミング ソリューションを作成しました。すべてのピクセルには 32 ビットのデータが含まれており、私の計算では、これはすべてのフレームの合計が 1.2 MB のデータになることを意味し、合計で 30 fps になることを意味します。 36MB/s 回線に。

私の質問に対して、ストリーミング ソリューションは f.ex 2mbit/s 回線で 30fps をどのようにストリーミングしますか?

おそらく同じ質問を使用して、解像度が 480x640 の jpg 画像が 100KB 未満を占める方法を説明できると思います。

4

2 に答える 2

1

圧縮はあなたの友達です。

あなたのソリューションの詳細はわかりませんが、いくつかの仮定を立てることができます。

まず、各フレームをフル フレームとして送信する場合でも、圧縮する必要があります。可逆圧縮でもかなりの圧縮率が得られるはずですが、不可逆圧縮 (jpg など) を使用すると、さらに多くの圧縮率が得られます。

しかし、それだけではありません。優れたビデオ コーデックであれば、圧縮率も大幅に向上するはずです。フレーム間で変化しない画像の部分はまったく送信する必要がなく、他の部分も適切に圧縮できます (使用された圧縮についてはあまり詳しく知りませんが、多くのことが行われています圧縮します)。

これはすべて、フレームごとに完全な 32 ビット ビットマップを送信するよりも大幅に節約できます。

于 2013-01-08T20:15:09.743 に答える
0

圧縮は非常に幅広いトピックです。アイデアを得るために、画像圧縮に関するウィキペディアのページを読んでみてください

あなたの問題に対する非常に基本的な解決策として、私は個人的に最初のフレームをjpegでエンコードし、次に2つの連続するフレームの違いをjpegでエンコードします。

jpeg圧縮の場合、自分で実装する必要なしに、機能を提供する多くのライブラリがあります。

品質にそれほど関心がない場合は、ビデオをサブサンプリングすることもできます。たとえば、解像度240*320のフレームを取得します。

于 2013-01-09T13:40:10.323 に答える