2

ネットワーク経由で画面の更新 (画像タイル) を送信するだけの、ある種のリモート スクリーンキャスト (VNC に似た) クライアント/サーバー ソフトウェアを C++ (Windows プラットフォーム) で実装し始めています。

画面はブロックに分割され、各タイルはネットワーク経由で送信する前に JPEG に圧縮されます (おそらく libjpeg-turbo を使用します)。したがって、私の質問は、これらの (既に JPEG 圧縮された) タイルに対して、たとえば zlib を使用して、別の圧縮レイヤー (ロスレス) を実装するのは良いことでしょうか?

JPEG ファイルは既に圧縮されているため、zlib は帯域幅に関して大幅な改善をもたらさないと感じています。テスト目的のためだけに追加の圧縮レイヤーを実装するための時間とお金の投資をこれ以上避けたいので、あなたの提案を聞きたいです。

PS: 余談ですが、タイルを JPEG にエンコードする以外に良い方法はありますか? おそらくすぐに可逆圧縮?上記の手法 (画面をタイルに分割する => 更新されたタイルを選択する => JPEG に圧縮する => ネットワーク経由で送信する) は、そのようなソフトウェアを実装するための良い方法ですか?

どんな種類の入力でも大歓迎です!

4

2 に答える 2

2

絶対に不要です。

より良いオプションは、両方の方法を使用することです。ブロック内の色を数え、いくつかの色には zlib/rle/etc を使用し、多くの色には jpeg を使用します。それが非常に基本的なアプローチです。VNC の Remote Framebuffer Protocol を参照することをお勧めします。

于 2011-06-07T18:02:15.110 に答える