在 JPEG 压缩过程中生成 DCT 系数的标准方程是 DCT 公式,由下式给出:
我觉得这个实现很昂贵(慢),而且有更快的方法。这种更快地生成 DCT 系数的方法是否有明确的公式?
在 JPEG 压缩过程中生成 DCT 系数的标准方程是 DCT 公式,由下式给出:
我觉得这个实现很昂贵(慢),而且有更快的方法。这种更快地生成 DCT 系数的方法是否有明确的公式?
是的,这个通用版本很慢,确实很慢。那里有更快的近似值。
在 BinDCT 系列中可以找到最快的软件 DCT 转换。
它们只需要一些基本的添加和移位,因此速度非常快,但会牺牲一些精度。
一个很好的介绍:On the Process of Realizing the Best BinDCT Configuration for Image Compression(尤其是幻灯片 12)
MPEG4-AVC 等现代视频编解码器使用Hadamard 变换而不是 DCT 作为空间变换。
Hadamard 变换是一种精确的低复杂度变换,给出的结果类似于 DCT(它可以被认为是 DCT 的近似值),但不需要乘法。因此,HT 的实现速度非常快。