分三个阶段学习
1、第一个阶段:
学习H.264,首先要把最基本最必要的资料拿在手里。这些资料我都放在群共享的《H
.264学习必备》(这是我自己打的一个压缩包,内容包括:标准文档+测试模型+经典文章
,现在的名字改为“H.264学习指南”了)里了。怎么使用《H.264学习必备》呢?首先看
里面的《H.264_MPEG-4 Part 10 White Paper》,看完之后再看《Video coding using t
he H.264 MPEG-4 AVC compression standard》和《Halsted.Press.H.264.And.MPEG-4.V
ideo.Compression.Video.Coding.For.Next.Generation.Multimedia.eBook-LiB》,然后
可以抽空看《Overview of the H.264_AVC Video Coding Standard.pdf》。前三篇文章看
完后,你应该对H.264的整体框架有个比较深入的了解了。这个时间可能只需要花费你三周
左右的时间(对于我这样的笨蛋好像是要这么长时间的。如果你碰巧用了比这个时间还长
的时间,那并不说明你比我更笨,只能说明你肯定天天陪MM聊天去了。呵呵~~~),最后一
篇文章是《Overview and Introduction to the Fidelity Range Extensions》,该文的
价值主要在于对H.264的第四个档次 high profile 做了介绍,前面的文章都没有涉及该档
次。
2、第二阶段:
然后你就可以看代码了。这个时候你最常用的工具就是《H.264学习必备》里的标准文
档和测试模型。看代码也有讲究。并不是像我开始那样看得那么仔细,结果后来才知道远
没有这个必要。正如peter李说的:看代码也要先从整体框架入手。先搞懂H.264的整体框
架在代码里是怎么分布的,一个功能模块的前伸模块和后继模块是什么。也就是搞清楚整
个代码流程。这个阶段对标准文档的使用可能很少。如果你使用的测试模型是JM,那么有
一个好处:JVT的会议文件JVT-N008r1里面对编解码的所有参数做了详细介绍,这个文件对
大家很有用处,建议大家找到它。JVT-N008r1是这个文件的档案号,而该文件的标题是:
H.264_MPEG-4 AVC Reference Software Manual
3、第三阶段:
然后你找到一个自己感兴趣的切入点,开始以此为中心研究这个问题。你研究问题的
时候应该是联系测试模型来研究,这个时候你就需要仔细看代码中对这个问题的实现了。
这个阶段我绝对支持你一行行代码跟踪,一个参数一个参数地跟踪。而代码中不懂的地方
可能需要查标准。这时你再来看标准文档就有了针对性。也因为能将标准文档和代码对应
起来,从而看标准文档也不觉得有太大困难,也能明白标准文档说的是什么问题,在测试
模型中是如何通过代码实现的。在这个阶段中,会牵连到很多H.264的相关知识,这样通过
以点带线,以线带面。你会对H.264的内容认识越来越多。而你也就找到了自己的方向,最
终走上了缔造中国人的H.264的光辉大道,呵呵~~~
==========【注意事项】==========
1、切忌将代码和标准文档独立开看,否则,你的困难会很大(当然可能是因为我太笨了,
对于“甜菜”的你可能无论怎样都能应用自如。呵呵~~~)。
2、对于刚开始接触H.264的人,切忌直接看代码和标准,哪怕是将标准和代码结合起来看
,你也会不太顺利。换句话说:在没有了解H.264整体框架之前,你最好什么都不要做。
3、你千万不要觉得自己参加讨论,以及帮助别人找答案(当然是在你觉得别人问的问题你
似曾相识的时候)是一个浪费时间的过程。因为你参加讨论,特别是你帮别人找答案的时
候,很多你似是而非的问题却能够得到一个更深刻的认识。
4、学问,学问,即要问也要学。不要养成自己的依赖思想。其实你在自己查资料的过程中
,也会学到很多东西。比如会知道某个问题在哪篇文章里能找到答案,或者收集到更多相
关问题的有价值的文章……而且自己查到的到底比别人告诉的印象深刻。
5、读代码要讲究方法。码中有很多变量,不要一开始就去看头文件,想把里面所有变量都
弄清楚是什么
直接从 main 函数开始读 c 文件就可以了。遇到不懂的变量再去查头文件,如果头文件里
没有说明,自己又理解不了的问其他人——不要养成依赖性。
PS :我所知道的三本讲H264的中文书籍
1、《H.264和MPEG-4视频压缩》:欧阳合(我看的英文原版,翻译过来的应该也不错)
2、《新一代视频压缩编码标准—H.264/AVC》:毕厚杰(书中有较多错误,但仍然值得买
,建议只做参考)
3、《小波编码与网络视频传输》:沈兰荪,卓力 (个人觉得不错,有关于 high profil
e 的介绍)
阅读(1340) | 评论(0) | 转发(0) |