在编解码中,变换是最重要的一步,从开始的模拟离散变换,到现在国际和中国标准中的整数变换,变换取的压缩是最重要的,在 DV等其他编解码中,只使用变换进行压缩,
下面对H264 和AVS使用的变换矩阵进行比较,看看谁好。
A8x8 =
0.707107 0.707107 0.707107 0.707107 0.707107 0.707107 0.707107 0.707107
0.980785 0.831470 0.555570 0.195090 -0.195090 -0.555570 -0.831470 -0.980785
0.923880 0.382683 -0.382683 -0.923880 -0.923880 -0.382684 0.382683 0.923879
0.831470 -0.195090 -0.980785 -0.555570 0.555570 0.980785 0.195090 -0.831470
0.707107 -0.707107 -0.707107 0.707107 0.707107 -0.707107 -0.707107 0.707107
0.555570 -0.980785 0.195090 0.831470 -0.831470 -0.195091 0.980785 -0.555570
0.382683 -0.923880 0.923879 -0.382683 -0.382684 0.923880 -0.923879 0.382683
0.195090 -0.555570 0.831470 -0.980785 0.980785 -0.831469 0.555570 -0.195090
这是8x8的系数矩阵,也就是说,我们要尽量的接近A8x8 的数据,进行变换,反变换时才最好,最接近原始数据。这就是标准数据,其他制定的标准必须与它接近才好。
将上面标准矩阵放大11.31370499797倍:结果为:
A'8x8 =
7.999998 7.999997 7.99999 7.99999 7.999998 7.999996 7.999999 7.99999
11.096315 9.407002 6.28555 2.20719 -2.20719 -6.285557 -9.407002 -11.09631
10.452501 4.329568 -4.32956 -10.4525 -10.4525 -4.329568 4.329567 10.452
9.407002 -2.207194 -11.0963 -6.28555 6.285557 11.096316 2.20719 -9.407001
7.999998 -7.999997 -7.99999 7.99999 7.99999 -7.99999 -7.999999 7.999996
6.285558 -11.096315 2.20719 9.40700 -9.407001 -2.207196 11.09631 -6.2855
4.329568 -10.452501 10.452 -4.32956 -4.329569 10.452501 -10.452499 4.3295
2.207195 -6.285558 9.40700 -11.0963 11.0963 - 9.4070 6.285555 -2.207190
H 264 A8x8 =
8 8 8 8 8 8 8 8
12 10 6 3 -3 -6 -10 -12
8 4 -4 -8 -8 -4 4 8
10 -3 -12 -6 6 12 3 10
8 -8 -8 8 8 -8 -8 8
6 -12 3 10 10 -3 12 -6
4 -8 8 -4 -4 8 -8 4
3 -6 10 -12 12 -10 6 -3
AVS A8x8 =
8 8 8 8 8 8 8 8
10 9 6 2 -2 -6 -9 -10
10 4 -4 -10 -10 -4 4 10
9 -2 -10 -6 6 10 2 -9
8 -8 -8 8 8 -8 -8 8
6 -10 2 9 -9 -2 10 -6
4 -10 10 -4 -4 10 -10 4
2 -6 9 -10 -10 -9 6 -2
根据上面提出的比较标准,大家可以使用程序算一下,并与A'8x8 进行比较,结果avs好点。