LibWebP 的图像压缩时间过长
LibWebP is taking too much time for image compression
我正在研究图像压缩技术,并分析可以在 100 毫秒或更短时间内为分辨率为 1920 * 1080 的笔记本电脑上的分辨率为 1920 * 1080 的图像产生更小输出的最佳算法,以便通过网络传输。
我一直在使用 GDI+ 和 CxImage 库进行图像压缩,通过 JPG 或 PNG 压缩技术,JPG 在大约 30 毫秒内输出图像,使用 PNG 彩色图像在大约 70 毫秒内输出图像,所用时间非常好但是如果我追求更好的质量,压缩数据的大小会大得多。
然后我遇到了 google 的 WebP 格式。我尝试将 libWebP 与 VC++ 结合使用。质量和压缩率真的很棒,但花费的时间比我预期的要长得多。如果alpha过滤和alpha压缩都设置为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 有什么问题吗?有什么办法可以优化吗?
我没有找到很多文档和任何论坛可以让我对这些问题有所了解。
如有任何帮助,我们将不胜感激。提前致谢。
试试无损压缩?可以有比有损模式更快的无损模式。
如果您能控制压缩和解压,请将图像拆分为 256x256 的正方形,然后分别压缩和发送。这样您不仅可以并行计算,还可以在压缩期间交错进行一些传输,这可以简化压缩计算的时间预算。
如果减小 'method' 值,您通常会发现 WebP 压缩速度更快。对于无损,您需要同时降低方法和质量,它们以复杂的方式控制同一件事。无损的,试试质量20和方法1(或者也有0方法,不记得了)。
我正在研究图像压缩技术,并分析可以在 100 毫秒或更短时间内为分辨率为 1920 * 1080 的笔记本电脑上的分辨率为 1920 * 1080 的图像产生更小输出的最佳算法,以便通过网络传输。
我一直在使用 GDI+ 和 CxImage 库进行图像压缩,通过 JPG 或 PNG 压缩技术,JPG 在大约 30 毫秒内输出图像,使用 PNG 彩色图像在大约 70 毫秒内输出图像,所用时间非常好但是如果我追求更好的质量,压缩数据的大小会大得多。
然后我遇到了 google 的 WebP 格式。我尝试将 libWebP 与 VC++ 结合使用。质量和压缩率真的很棒,但花费的时间比我预期的要长得多。如果alpha过滤和alpha压缩都设置为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 有什么问题吗?有什么办法可以优化吗?
我没有找到很多文档和任何论坛可以让我对这些问题有所了解。
如有任何帮助,我们将不胜感激。提前致谢。
试试无损压缩?可以有比有损模式更快的无损模式。
如果您能控制压缩和解压,请将图像拆分为 256x256 的正方形,然后分别压缩和发送。这样您不仅可以并行计算,还可以在压缩期间交错进行一些传输,这可以简化压缩计算的时间预算。
如果减小 'method' 值,您通常会发现 WebP 压缩速度更快。对于无损,您需要同时降低方法和质量,它们以复杂的方式控制同一件事。无损的,试试质量20和方法1(或者也有0方法,不记得了)。