-->
为五月的纽约流媒体保留座位吧. Register Now!

Cracking the H.264 Codec

Article Featured Image
Article Featured Image

H.264无疑是最热门的编解码器, 但是,存在固有的市场力量,使生成满足目标播放设备或播放器需求的文件复杂化. 这些包括有多个H的事实.264编解码器可用,每个编解码器具有不同的可配置参数,并且每个H.264编码工具显示了一组自定义的压缩选项.

所以,下面是我的尝试:一个由三部分组成的神谕. 首先,我会告诉你你需要知道的关于H的事情.264本身,然后我来描述H.264播放环境,最后是编码器.

The H.264 Standard
Briefly, H.264是一种视频压缩标准,称为MPEG-4 Part 10, 或MPEG-4 AVC(用于高级视频编码). 它是由ITU-T视频编码专家组(VCEG)和ISO/IEC运动图像专家组(MPEG)联合颁布的标准。, 它得到了两个组织的全力支持, 提供大量的营销动力.

H.264的音频伙伴是AAC(用于高级音频编码), 它取代了MP3,在技术上被称为MPEG-4 Part 3. Both H.264和AAC在技术上是MPEG-4编解码器——尽管用它们的具体名称来称呼它们更准确——兼容的比特流应该符合MPEG-4规范第14部分的要求. 因为音频方面除了数据速率之外几乎没有其他选择, 我将主要关注视频方面.

根据第14部分,包含音频和视频的MPEG-4文件,包括带有H.264/AAC, should use the .Mp4扩展,而音频文件应使用 .M4a和视频文件只能使用 .m4v. 不同的供应商采用了一系列的扩展,这些扩展被他们的专有播放器所识别, such as Apple with .m4p文件使用FairPlay数字版权管理和 .m4r for iPhone ringtones. Mobile phones use the .3gp and .3g2扩展,但我不会在本文中讨论针对移动电话的生产.

Like MPEG-2, H.264 uses three types of frames, 即每组图片(GOP)由I-组成, B-, and P-frames, i帧(如DV中使用的基于dct的压缩)和B帧和p帧引用其他帧中的冗余来增加压缩.

Interestingly, when H.264的开发始于1998年初,该项目被称为H.它的目标是将现有编解码器的效率提高一倍,包括MPEG-2. 这意味着同样的质量,但比特率是H的一半.264在大多数应用中都能很好地实现.

同样有趣的是,像大多数视频编码标准一样,H.264实际上只标准化了“中央解码器”,这样当给定一个符合标准约束的编码比特流时,每个符合标准的解码器都会产生类似的输出,一篇名为《H.264/AVC视频编码标准”出版于 IEEE视频技术电路与系统汇刊 (ITCSVT). 基本上,这意味着没有标准化的H.264编码器,事实上,H.264编码供应商可以利用一系列不同的技术来优化视频质量,只要比特流在目标播放器上播放. 这是H.264编码接口在不同的工具之间差别很大.

Profiles and Levels
To make H.264与一系列设备相关,该标准包含配置文件和级别. Briefly, 配置文件定义了一组编码工具或算法,这些工具或算法可用于生成符合标准的比特流, 而级别则对位流的某些关键参数进行约束,,根据ITCSVT的文章. To explain, 配置文件定义了在对文件进行编码时可以或不可以使用的特定编码技术(例如b帧)。, 而级别则定义了诸如最大分辨率和数据速率之类的细节.

H.264包含七个配置文件,下面的分类来自维基百科(http://en).wikipedia.org/wiki/H264):

Streaming Covers
Free
for qualified subscribers
Subscribe Now Current Issue Past Issues
提及的公司及供应商