众所周知,JPEG解码过程如下所示:
我的问题是:对于不同JPEG图像的不同字符,上述哪个解码过程需要更多时间?
例如:
为了用噪声解码这种类型的图像,上述五个过程中哪一个需要相对更长的时间?
另一个例子:
对于两个质量不同的相同图像,在解码质量较高的图像时,上述五个过程中哪一个会花费更多时间?
答案 0 :(得分:0)
JPEG倾向于随大小(时间)线性压缩。影响解码时间的主要因素是您是使用顺序扫描还是逐行扫描。顺序地,每个组件被处理一次。在渐进式中,每个组件至少有2个,可能多达500个(但这可能是荒谬的)。
针对您的具体问题:
VLD - 可变长度解码,
这取决于您是执行此操作一次(顺序)还是多次执行此操作(渐进式)
ZZ - Zigzag扫描
容易做到。数组索引。
DQ - Dequantization
取决于你做了多少次。一次连续。它可以多次进行渐进式(但不一定要在屏幕上进行连续更新)。
IDCT - 反向离散余弦变换,
这很大程度上取决于所使用的算法,无论是使用缩放整数还是浮动,以及是否多次使用(使用渐进式JPEG可能(或可能不))
颜色转换(YUV到RGB)并重新排序。
你只需要这样做一次。但是,如果有抽样,则会变得更复杂。
换句话说,无论图像是什么,解码时间都是相同的。但是,解码时间取决于图像的编码方式。
我认为,只是因为有时间读取磁盘,较小的文件比较大的文件解码速度更快。数据越随机,文件越大。由于文件大小的原因,读取和显示大型BMP文件通常需要花费更多时间,而不是同一图像的JPEG。