H.264有四种profile,对应四种H264画质级别。每个profile支持一组特定的编码功能,并支持一类特定的应用,分别是BP、EP、MP、HP:
1. BP-Baseline Profile
基本画质,支持I/P帧,无B帧。只支持无交错(Progressive)和CAVLC
主要用于可视电话、会议电视、无线通信等实时视频通信。
2. EP-Extended Profile
进阶画质,支持I/B/P/SP/SI帧。只支持无交错(Progressive)和CAVLC
主要用于流媒体服务。
3. MP-Main Profile
主流画质,支持I/B/P。只是无交错(Progressive)和交错(Interlaced),支持CAVLC和CABAC。
主要用于电视广播和视频存储。
4. HP-High profile
高级画质, 在mainProfile的基础上增加了8x8内部预测、自定义量化、 无损视频编码和更多的YUV格式。
H.264 FRExt(即:FidelityRange Extensions)扩展部分(Amendment),包括High profile(HP)、High10 profile(Hi10P)、High 4:2:2 profile(Hi422P)、High4:4:4 profile(Hi444P)4个profile。H.264 Baseline profile、Extended profile和Main profile都是针对8位样本数据、4:2:0格式的视频序列,FRExt将其扩展到8~12位样本数据,视频格式可以为4:2:0、4:2:2、4:4:4,设立了High profile(HP)、High 10profile(Hi10P)、High 4:2:2 profile(Hi422P)、High 4:4:4 profile(Hi444P) 4个profile,这4个profile都以Main profile为基础。在相同配置情况下,Highprofile(HP)可以比Mainprofile(MP)节省10%的码流量,比MPEG-2 MP节省60%的码流量,具有更好的编码性能。
各种不同的Profile的Feature比较:
h264 level
每个profile 都规定了一个算法特征和限制的子集,任何遵守某个profile 的解码器都应该支持与其相应的子集。
每个level都规定了一组对标准中语法成员(syntax element)所采用的各种参数值的限制。在给定的profile下,level通常与解码器的处理能力和内存容量相对应。每一个档次设置不同的参数(如取样速率、图像尺寸、编码比特率等),得到对应的编解码器性能的不同level。
几种h.264 software encoder