2017-06-03 10 views
2

私は画像圧縮技術を研究しており、オクタコアプロセッサを搭載したノートパソコンで解像度1920 * 1080の画像で100ミリ秒以内に小さな出力を生成できる最適なアルゴリズムを分析していますネットワークを介して送信する。LibWebPが画像圧縮に時間がかかりすぎる

私が撮影した時はかなり良いですが、JPGのための約30ミリ秒とカラフルな画像のためのPNGを使用して約70ミリ秒以内に私の出力画像を与えることをJPGまたはPNGの圧縮技術により、画像圧縮のためのGDI +とCxImageライブラリを使用していたが、私がより良い品質のために行くならば、圧縮されたデータサイズははるかに高いサイズです。

私はGoogleのWebP形式に出くわしました。 VC++でlibWebPを使って試しました。品質と圧縮率は本当に素晴らしいですが、撮影時間は私が予想したよりもはるかに高いです。アルファフィルタリングとアルファ圧縮にtrueを設定すると、300ミリ秒以上の時間と1秒以上の時間が必要です。ここで

は私のWebpConfig設定

m_webp_config.quality   = 50; 
    m_webp_config.alpha_quality  = 0; 
    m_webp_config.lossless   = false; 
    m_webp_config.method   = 3; 
    m_webp_config.alpha_compression = false; 
    m_webp_config.alpha_filtering = false; 
    m_webp_config.autofilter  = false; 
    m_webp_config.filter_sharpness = false; 
    m_webp_config.filter_strength = 0; 
    m_webp_config.filter_type  = 0; 
    m_webp_config.use_sharp_yuv  = false; 

されており、私は、コマンド・プロンプトまたはメモ帳をキャプチャするたびに、時々私は、問題は、テキストデータの多いこれらの画像であるが、同じことが真実ではないと思われる(++黒画像を取得します膨大な量のテキストを含むウェブページで)

WebPConfigに何か問題がありますか?それを最適化する方法はありますか?

多くのドキュメントやこれらの問題を私に教えてくれるフォーラムは見つかりませんでした。

ご協力いただければ幸いです。前もって感謝します。

答えて

1

可逆圧縮を試しますか?ロスレスよりも速いロスレスのモードがあります。

圧縮と解凍を制御している場合は、画像を256x256の正方形に分割し、圧縮して別々に送信します。こうすることで、計算を並列化するだけでなく、圧縮中に送信の一部をインターリーブすることもでき、圧縮計算の時間的な予算を簡単にすることができます。

「メソッド」の値を小さくすると、一般的にWebPの圧縮が高速になります。ロスレスでは、両方の方法と品質を減らす必要があり、同じことを複雑な方法で制御します。ロスレスの場合は、品質20と方法1を試してください(または、おそらく0メソッドもあります)。

+2

ありがとう@Jyrki Alakuijalaあなたの提案は実現可能なようです。画像を小さなものに分割し、圧縮ロジックを並列化しようとしました。良い結果を得る。 – Ram

関連する問題