多媒体开发之---开源库ffmeg的log之子解析

z子余弦变换

 

用了ffmeg快两年了,对其中的log甚是感兴趣,今天在做8148项目是,解读h264结构,看了《毕-新一代视频压缩编码标准h246》 ,在第六章中的重排序里面看到了好熟悉的4x4矩阵zig-zag扫描(帧模式),就联想到了ffmpeg。

原来:

(1)、zig-zag:

Zig-Zag,量化系数的Z行排序。为了保证低频分量先出现,高频分量后出现,以增加行程中连续“0”的个数,这63元素采用了“之”字型(Zig-Zag)的排序方法。

http://www.baike.com/wiki/Zig-Zag

(2)、原来h264、jpeg压缩采用zig-zag对DCT矩阵进行编码,这个图示意输入的矩阵,黑点是矩阵的元素,现在需要输出个数组,按照箭头所指的顺序把矩阵元素重新排列。

http://zhidao.baidu.com/link?url=n2kG1II06sQJnkjpKseMQZIrUUEqmtsv4BD50sGnAOenDmOKXxkQiA0h59-Xi37g9Rjx-ys3ByxXHS7ppGZ81q

输入是zig-zag绕行排列的矩阵,输出是一维数组 ,可以编程看到效果:

static int Zig_Zag【8】【8】={
                {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,37,40,44,53},
                {10,19,23,32,39,45,52,54},
                {20,22,33,38,46,51,55,60},
                {21,34,37,47,50,56,59,61},
                {35,36,48,49,57,58,62,63}
                                        };

posted @ 2014-08-28 16:30  midu  阅读(253)  评论(0编辑  收藏  举报