一种基于VP8编码的Webp图片压缩格式研究

时间:2013-01-30来源:网络

[m,n]=size(x);

z=0;

for i=1:m

for j=1:n

z=z+(x(i,j)-y(i,j)).^2;

end

end

z=z/(m*n);

SSIM的MATLAB代码如下:

% im1 Original image

% im2 Reconstructed image

% ssim Structural Similarity Index

function [mssim, ssim_map]=ssim(img1, img2, K, window, L)

img1=imread('');

img2=imread('');

if (size(img1) ~=size(img2))

ssim_index=-Inf;

ssim_map=-Inf;

return;

end

[M N]=size(img1);

if (nargin==2)

if ((M11) | (N11))

ssim_index=-Inf;

ssim_map=-Inf;

return

end

window=fspecial('gaussian', 11, 1.5);

K(1)=0.01;% default settings

K(2)=0.03;

L=255;

end

if (nargin==3)

if ((M11) | (N11))

ssim_index=-Inf;

ssim_map=-Inf;

return

end

window=fspecial('gaussian', 11, 1.5);

L=255;

if (length(K)==2)

if (K(1)0 | K(2)0)

ssim_index=-Inf;

ssim_map=-Inf;

return;

end

else

ssim_index=-Inf;

ssim_map=-Inf;

return;

end

end

测试使用图片为800×600像素的PNG图片,转换成Webp(需要安装WebpCodec才能显示)和JPEG后显示如图4所示。通过MATLAB计算,测试数据对比如表1所列。

图4 三种格式的截图对比

表1 测试数据对比

通过分析可看出JPEG具有比Webp略好的图像压缩质量,但是Webp在画质上的损失换来了压缩率的极大提升。通过高压缩的FFmpeg编码,虽然获得了极高的压缩比,但图像质量损失严重。

3.2 验证图片格式转换后压缩率和压缩质量

FFmpeg是一个开源免费跨平台的视频和音频流及图片编码方案,它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec。Libwebp是Google公司编写的转换其他格式图片为Webp格式的编解码器。测试用图片为800×600像素的PNG图片,利用FFmpeg和Libwebp转换工具在DOS环境下输入如下格式转换命令:

ffmpeg i myfile.png psnr target out.jpg

cwebp.exe tool to encode an image file (e.g. JPEG or PNG) into WebP

可以将测试用PNG图片转换成JPEG和Webp格式,经验证转换工具的测试结果与编程测试结果基本相同。

结语

通过研究发现Webp格式图片的压缩质量略低于JPEG格式图片,可能是由于没有成熟的编解码器的原因。但是在损失了画质的基础上,Webp格式图片的压缩率大为提升,优于JPEG格式。经过测试分析表明,人眼基本无法分辨出Webp格式画质损失,故而在带宽需求极为紧张的时代,Webp格式具有很好的发展前景。

1 2

关键词: 压缩 格式 研究 图片 Webp VP8 编码 基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版