`
jubincn
  • 浏览: 242523 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
文章分类
社区版块
存档分类
最新评论

H.264学习历程

 
阅读更多

原文:bbs.chinavideo.org/viewthread.php?tid=988

注:此文为对原文的摘抄


现在自己对学习H.264也有了一些自己的想法,所以写出来和大家一起探讨:

1、第一个阶段:
学习H.264,首先要把最基本最必要的资料拿在手里,内容包括:标准文档(即 ITU 协议)、测试模型(即 ITU 提供的编解码器源代码)、经典文章(即后面提到的文章)。怎么使用这些资料呢?首先看里面的《H.264_MPEG-4 Part 10 White Paper》,看完之后再看《Video coding using the H.264 MPEG-4 AVC compression standard》和《H.264 And MPEG-4 Video Compression》,然后可以抽空看《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 做了介绍,前面的文章都没有涉及该档次。这个阶段可以辅助多看点综述类的文章,加强对 H.264 的初步了解。

2、第二阶段:
然后你就可以看代码了。这个时候你最常用的工具就是标准文档和测试模型。看代码也有讲究。并不是像我开始那样看得那么仔细,结果后来才知道远没有这个必要。正如peter李说的:看代码也要先从整体框架入手。先搞懂H.264的整体框架在代码里是怎么分布的,一个功能模块的前伸模块和后继模块是什么。也就是搞清楚整个代码流程。这个阶段对标准文档的使用可能很少。如果你使用的测试模型是JM,那么有一个好处:JVT提供了该参考源代码的说明书——H.264_MPEG-4 AVC Reference Software Manual(最新版本是JVT-X072),对编解码的所有参数做了详细介绍。另外JVT还提供了参考源代码编码器手册JVTO079,对参考源代码中编码算法做了详细阐述(ITU协议其实也就是解码器手册)。

3、第三阶段:
然后你找到一个自己感兴趣的切入点,开始以此为中心研究这个问题。你研究问题的时候应该是联系测试模型来研究,这个时候你就需要仔细看代码中对这个问题的实现了。这个阶段我绝对支持你一行行代码跟踪,一个参数一个参数地跟踪。而代码中不懂的地方可能需要查标准。这时你再来看标准文档就有了针对性。也因为能将标准文档和代码对应起来,从而看标准文档也不觉得有太大困难,也能明白标准文档说的是什么问题,在测试模型中是如何通过代码实现的。在这个阶段中,会牵连到很多H.264的相关知识,这样通过以点带线,以线带面。你会对H.264的内容认识越来越多。而你也就找到了自己的方向,最终走上了缔造中国人的H.264的光辉大道,呵呵~~~

==========【注意事项】==========
1、切忌将代码和标准文档独立开看,否则,你的困难会很大(当然可能是因为我太笨了,对于“甜菜”的你可能无论怎样都能应用自如。呵呵~~~)。
2、对于刚开始接触H.264的人,切忌直接看代码和标准,哪怕是将标准和代码结合起来看,你也会不太顺利。换句话说:在没有了解H.264整体框架之前,你最好什么都不要做。
3、你千万不要觉得自己参加讨论,以及帮助别人找答案(当然是在你觉得别人问的问题你似曾相识的时候)是一个浪费时间的过程。因为你参加讨论,特别是你帮别人找答案的时候,很多你似是而非的问题却能够得到一个更深刻的认识。
4、学问,学问,即要问也要学。不要养成自己的依赖思想。其实你在自己查资料的过程中,也会学到很多东西。比如会知道某个问题在哪篇文章里能找到答案,或者收集到更多相关问题的有价值的文章……而且自己查到的到底比别人告诉的印象深刻。
5、读代码要讲究方法。代码中有很多变量,不要一开始就去看头文件,想把里面所有变量都弄清楚是什么。直接从 main 函数开始读 c 文件就可以了。遇到不懂的变量再去查头文件,如果头文件里没有说明,自己又理解不了的再去问其他人——不要一开始就养成依赖性。
6、使用 JM 的 TX 如果不需要研究高清,那么建议用 JM86。高版本为了支持高清,把很多原本容易理解的地方修改得晦涩难懂了,增加了理解代码的困难。

PS :我所知道的三本讲H264的中文书籍
1、《H.264和MPEG-4视频压缩》:欧阳合(我看的英文原版,翻译过来的应该也不错)
2、《新一代视频压缩编码标准—H.264/AVC》:毕厚杰(书中有较多错误,但仍然值得买,建议只做参考)
3、《小波编码与网络视频传输》:沈兰荪,卓力 (个人觉得不错,有关于 high profile 的介绍)

分享到:
评论

相关推荐

    H.264/avc经典教程

    《H.264/AVC经典教程》是一本非常有价值的书籍,不仅适合初学者入门学习H.264视频压缩技术,也适合已经有一定基础的读者深入了解其内部原理和技术细节。通过阅读本书,读者可以掌握H.264的核心概念和技术要点,为...

    H.264相关文档

    1. **我的H.264学习历程.doc**:这可能是作者个人学习H.264的笔记或经验分享,可能包含了学习路径、遇到的问题和解决方案,对于初学者来说是一份宝贵的参考资料。 2. **中文版白皮书H.264MPEG4_Part_10_White_Paper...

    Halsted.Press.H.264.And.MPEG-4.Video (翻译软件英译中)

    第四章重点讲述了MPEG-4和H.264标准的制定、发展历程,以及两者之间的差异。MPEG-4 Visual/Part 2标准主要关注对象级编码,而H.264/MPEG-4 Part 10更侧重于高效能的编码效率,特别是在高压缩比下仍能保持高画质。...

    h.264学习文档(5个文档)

    - **Sullivan, Topiwala, and Luthra**的研究提供了H.264/AVC的发展历程和技术细节,这对于理解标准的历史背景和技术演进非常有帮助。 - **Wiegand**的资料深入介绍了H.264/AVC的技术特点和实现方法,适合想要深入...

    H.264 SVC学习报告

    ### H.264 SVC 学习报告:关键技术与应用场景 #### 可分级视频编码 (SVC) 的必要性 随着互联网技术的发展以及多媒体设备的普及,人们对视频内容的需求日益多样化。不同网络环境下的视频传输面临着诸多挑战,尤其是...

    《H[1].264+and+MPEG-4+视频压缩》英文版.pdf

    全书内容涵盖了视频压缩的基本概念、H.264和MPEG-4编码器的设计、解码器的工作原理、标准的发展历程以及未来趋势。此外,书中还提供了大量的图表、示例和实践指导,帮助读者更好地理解和掌握视频压缩技术。 总之,...

    H264学习资料(中英文)

    最后,文本文件《我的H.264学习历程.txt》记录了一位学习者的成长路径,其中可能包含了一些实用的学习心得和技巧,对于正在学习H264的人来说,可以提供借鉴和启示。 总的来说,这个压缩包提供的资料涵盖了H264的...

    H.264资料JVT-G050r1

    通过深入学习这份资料,开发者可以更好地理解和应用H.264技术,实现高效、高质量的视频编码解决方案。 总之,H.264/MPEG-4 AVC作为现代视频编码的基石,其背后的理论和技术细节值得每一个从事视频处理和传输的人...

    por.rar_H.264_audience6mc_界面编程

    描述中提到“264的源码,针对最新的h,264标准,值得一看,还可以”,这暗示了这个项目包含的是H.264视频编解码器的源代码,它遵循了最新的H.264标准,对于开发者来说具有一定的学习和参考价值。 基于标签“h.264”,...

    嵌入式系统/ARM技术中的H.264视频编码基本知识

    于是视频新标准H.264由IEO/IEC和ITU-T两大国际标准化组织联手制定了,来解决这些问题。  H.261是最早出现的视频编码建议,目的是规范ISDN网上的会议电视和可视电话应用中的视频编码技术。它采用的算法结合

    H.323_协议学习资料

    #### 三、H.323协议特点与发展历程 H.323协议具有以下几个显著特点: 1. **应用层协议**:H.323是位于应用层的协议,这意味着它可以独立于下层的传输协议工作。 2. **基于ASN.1的消息编码**:使用抽象语法表示法...

    h264英文标准(我添加了目录,用起来超方便)

    #### 五、H.264标准的发展历程 2008年的版本相比早期版本有了显著改进,特别是增加了附录G部分,定义了可分级传输特性,这意味着可以根据不同的网络条件或设备能力动态调整视频质量。此外,该版本还修正了一些已知...

    ITU-T的H.263中文版

    更新的视频编码标准如H.264/AVC、H.265/HEVC和现在的AV1等已经提供了更高的编码效率,但H.263仍然在一些老系统和低带宽环境中得到应用,它的设计理念和关键技术对于理解现代视频编码技术的发展历程至关重要。...

    x264-060805.rar_h264_x264 decoder_x264-060805_x264.zip_解码

    X264是开源项目,实现了H.264标准的编码算法,以其高效、高质量的编码性能著称,是实现H.264编码的典型代表。 二、X264编码原理 X264采用了基于块的运动补偿和离散余弦变换(DCT)相结合的编码策略,以减少视频...

    视频编码H264-H265-H266编译全部资源.rar

    标题中的“视频编码H264-H265-H266编译全部...从源代码到编译工具,再到编译教程和测试素材,覆盖了从H.264到H.266的完整发展历程,对于开发者、研究人员或是对视频编码技术感兴趣的人来说,是一份极其宝贵的学习材料。

    x264-20060614源码.rar

    在研究这个版本的x264源码时,开发者可以深入了解H.264编码流程的每一个细节,学习如何优化编码算法,以及如何在有限的计算资源下实现更高的编码效率。此外,源码中的注释和设计思路也是理解x264编码器工作原理的...

    《JVET H.266编码技术&JEM;编码平台关键技术整理分析》

    同时,压缩包中的参考文献提供了丰富的理论和技术背景,帮助读者深入了解H.266标准的发展历程和技术细节。 总之,《JVET H.266编码技术&JEM;编码平台关键技术整理分析》这份文档是研究和理解H.266编码标准及其开发...

Global site tag (gtag.js) - Google Analytics