## ZigZag 与 反ZigZag编码 原

t
tigerBin

``````// ZigZag编码表，以空间换时间，实现简单
int ZigZagTable[64] =
{
0,  1,  8, 16,  9,  2,  3, 10,
17, 24, 32, 25, 18, 11,  4,  5,
12, 19, 26, 33, 40, 48, 41, 34,
27, 20, 13,  6,  7, 14, 21, 28,
35, 42, 49, 56, 57, 50, 43, 36,
29, 22, 15, 23, 30, 37, 44, 51,
58, 59, 52, 45, 38, 31, 39, 46,
53, 60, 61, 54, 47, 55, 62, 63
};``````

``````// 反ZigZag编码表
UnZigZagTable[64] =
{
0,  1,  5,  6, 14, 15, 27, 28,
2,  4,  7, 13, 16, 26, 29, 42,
3,  8, 12, 17, 25, 30, 41, 43,
9, 11, 18, 24, 31, 40, 44, 53,
10, 19, 23, 32, 39, 45, 52, 54,
20, 22, 33, 38, 46, 41, 55, 60,
21, 34, 37, 47, 50, 56, 59, 61,
35, 36, 48, 49, 57, 58, 62, 63
};``````

Code：

``````void ZigZag(int mtx[64], int out[64])
{
for (int i = 0; i < 64; i++)
out[i] = mtx[ ZigZagTable[i] ];
}

void UnZigZag(int mtx[64], int out[64])
{
for (int i = 0; i < 64; i++)
out[i] = mtx[ UnZigZagTable[i] ];
}``````

ZigZag编码后，可以用 UnZigZag反编码

``````// 先 ZigZag, 后 UnZigZag
ZigZag(mtx, out);
UnZigZag(out, mtx);

// 先 UnZigZag, 后 ZigZag
UnZigZag(mtx, out);
ZigZag(out, mtx);

//上面两组操作等价``````

t

### tigerBin

1 DCT变换 经过DCT变换，实现了频率的集中。 2量化 经过量化，我们对DCT变换后的系数进行以QP=28的量化，此时得到了一些左上角集中了非零值的系数矩阵。 3 ZigZag扫描 ZigZag扫描，将二维的系...

mmlf
2018/02/07
0
0

mmlf
2018/02/05
0
0
[leetcode] ZigZag Conversion

The string"PAYPALISHIRING"is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility) P A H ......

jdflyfly
2014/06/24
0
0

（接上文《架构设计：系统间通信（11）——RPC实例Apache Thrift 上篇》） 3、Aapche Thrift详解 在《架构设计：系统间通信（10）——RPC的基本概念》一文中，我专门介绍了一款RPC规范的具体...

2016/01/29
38
0
Leetcode_6. Zigzag convertion

6. Zigzag convertion 对输入的字符串做锯齿形变换，并输出新的字符串，所谓zigzag变化如下图所示。 将"ABCDEFGHIJKL"做4行的锯齿变换，新的字符串为：AGBFHLCEIKDJ" 实现一个根据输入字符串...

gexin1023
2018/06/28
0
0

Git代码防丢指南

joymufeng
23分钟前
2
0

16. chown命令 chown 用来更改一个文件或者目录的所有者护着所属组 -R 级联更改一个目录下所有的目录和文件 chown user1:users 1.txtchown user1.users 1.tx useradd 添加用户的命令 user...

miko0089
33分钟前
1
0

wiki上的描述 Encapsulate a request as an object, thereby allowing for the parameterization of clients with different requests, and the queuing or logging of requests. It also al......

34分钟前
1
0
Optional类的简单了解

import java.util.Optional;/** * @author hanliwei */public class OptionalTest { /** * Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返...

wind2012
43分钟前
1
0

51分钟前
1
0