![]() |
1
1
DCT和IDCT之间的唯一区别是考虑了系数。 您应该将代码中的第46行替换为
其中,ck和cl按第24-34行计算,但k和l 并在第49行中抑制ci*cj 顺便说一下,这个Java代码是非常低效的。预先计算math.sqrt(2)、math.sqrt(n)并将cosine放到一个表中,它至少快3倍。 |
![]() |
2
0
你的求和是做矩阵乘法。将8x8数据矩阵乘以8x8 DCT矩阵。 DCT矩阵是正交的,所以它的逆矩阵是转置矩阵。 因此,您应该能够通过交换u和v来反转。 |