提到High Profile H.264解码许多人并不了解,那么到底什么是High Profile H.264解码?其应用效果又是如何呢?

 作为行业标准,H.264编码体系定义了4种不同的Profile(类):
  • Baseline(基线类) 提供I/P帧,仅支持progressive(逐行扫描)和CAVLC;
  • Main(主要类) 提供I/P/B/SP/SI帧,仅支持progressive(逐行扫描)和CAVLC;
  • Extended(扩展类) 提供I/P/B帧,支持progressive(逐行扫描)和interlaced(隔行扫描),提供CAVLC或CABAC;
  • High Profile(高端类)(它们各自下分成许多个层): (也就是FRExt)在Main Profile基础上新增:8x8 intra prediction(8x8 帧内预测), custom quant(自定义量化), lossless video coding(无损视频编码), 更多的yuv格式(4:4:4...);
  H.264 在高清中具有最小体积。在同等图像质量下,采用H.264技术压缩后的数据量只有MPEG2的1/8,MPEG4的1/3,相对Xvid、 Divx等属于MPEG4编码而言,其体积优势明显,在互联网上,H.264资源处在爆发趋势。而High Profile是H.264解码中的高端类型,拥有最完善的支持程度、最优秀的特性,可以说是高清视频编码中的劳斯莱斯,只有征服了这个优秀的编码,MP4才能将H.264完全掌控,也才能充分享受到高清视频带来的视觉震撼,意义非凡。
 
针对当前高清是视频会议行业的主流发展趋势,而目前高清普及的主要阻力之一就是带宽的限制。而High Profile H.264技术在同等视频质量的情况下可节省50%的带宽,为客户节省大量的网络带宽成本。据业内专家介绍,此次H.264 High Profile的推出是视频技术的一个巨大进步,其意义不亚于2003年从H.263向H.264过渡的价值。它将为目前正在推广的高清视频通信应用扫清了令人头疼的网络带宽障碍,不仅如此,这些变化对于包括CIF、标清等品质的视频通信应用也同样适用。
 
Profiles(English)

The standard includes the following seven sets of capabilities, which are referred to as profiles, targeting specific classes of applications:

  • Baseline Profile (BP): Primarily for lower-cost applications with limited computing resources, this profile is used widely in videoconferencing and mobile applications.
  • Main Profile (MP): Originally intended as the mainstream consumer profile for broadcast and storage applications, the importance of this profile faded when the High profile was developed for those applications.
  • Extended Profile (XP): Intended as the streaming video profile, this profile has relatively high compression capability and some extra tricks for robustness to data losses and server stream switching.
  • High Profile (HiP): The primary profile for broadcast and disc storage applications, particularly for high-definition television applications (this is the profile adopted into HD DVD and Blu-ray Disc, for example).
  • High 10 Profile (Hi10P): Going beyond today's mainstream consumer product capabilities, this profile builds on top of the High Profile—adding support for up to 10 bits per sample of decoded picture precision.
  • High 4:2:2 Profile (Hi422P): Primarily targeting professional applications that use interlaced video, this profile builds on top of the High 10 Profile—adding support for the 4:2:2 chroma subsampling format while using up to 10 bits per sample of decoded picture precision.
  • High 4:4:4 Predictive Profile (Hi444PP): This profile builds on top of the High 4:2:2 Profile—supporting up to 4:4:4 chroma sampling, up to 14 bits per sample, and additionally supporting efficient lossless region coding and the coding of each picture as three separate color planes.

In addition, the standard contains four additional all-Intra profiles, which are defined as simple subsets of other corresponding profiles. These are mostly for professional (e.g., camera and editing system) applications:

  • High 10 Intra Profile: The High 10 Profile constrained to all-Intra use.
  • High 4:2:2 Intra Profile: The High 4:2:2 Profile constrained to all-Intra use.
  • High 4:4:4 Intra Profile: The High 4:4:4 Profile constrained to all-Intra use.
  • CAVLC 4:4:4 Intra Profile: The High 4:4:4 Profile constrained to all-Intra use and to CAVLC entropy coding (i.e., not supporting CABAC).

As a result of the Scalable Video Coding extension, the standard contains three additional scalable profiles, which are defined as a combination of the H.264/AVC profile for the base layer (2nd word in scalable profile name) and tools that achieve the scalable extension:

  • Scalable Baseline Profile: Primarily targeting video conferencing, mobile, and surveillance applications, this profile builds on top of a constrained version of the H.264/AVC Baseline profile to which the base layer (a subset of the bitstream) must conform. For the scalability tools, a subset of the available tools is enabled.
  • Scalable High Profile: Primarily targeting broadcast and streaming applications, this profile builds on top of the H.264/AVC High Profile to which the base layer must conform.
  • Scalable High Intra Profile: Primarily targeting production applications, this profile is the Scalable High Profile constrained to all-Intra use.
  Baseline Extended Main High High 10 High 4:2:2 High 4:4:4

Predictive

I and P Slices Yes Yes Yes Yes Yes Yes Yes
B Slices No Yes Yes Yes Yes Yes Yes
SI and SP Slices No Yes No No No No No
Multiple Reference Frames Yes Yes Yes Yes Yes Yes Yes
In-Loop Deblocking Filter Yes Yes Yes Yes Yes Yes Yes
CAVLC Entropy Coding Yes Yes Yes Yes Yes Yes Yes
CABAC Entropy Coding No No Yes Yes Yes Yes Yes
Flexible Macroblock Ordering (FMO) Yes Yes No No No No No
Arbitrary Slice Ordering (ASO) Yes Yes No No No No No
Redundant Slices (RS) Yes Yes No No No No No
Data Partitioning No Yes No No No No No
Interlaced Coding (PicAFF, MBAFF) No Yes Yes Yes Yes Yes Yes
4:2:0 Chroma Format Yes Yes Yes Yes Yes Yes Yes
Monochrome Video Format (4:0:0) No No No Yes Yes Yes Yes
4:2:2 Chroma Format No No No No No Yes Yes
4:4:4 Chroma Format No No No No No No Yes
8 Bit Sample Depth Yes Yes Yes Yes Yes Yes Yes
9 and 10 Bit Sample Depth No No No No Yes Yes Yes
11 to 14 Bit Sample Depth No No No No No No Yes
8x8 vs. 4x4 Transform Adaptivity No No No Yes Yes Yes Yes
Quantization Scaling Matrices No No No Yes Yes Yes Yes
Separate Cb and Cr QP control No No No Yes Yes Yes Yes
Separate Color Plane Coding No No No No No No Yes
Predictive Lossless Coding No No No No No No Yes
  Baseline Extended Main High High 10 High 4:2:2 High 4:4:4

Predictive

H.264 Profile的更多相关文章

  1. H.264 Profile、Level、Encoder三张简图 (fps = AVCodecContext->time_base.den / AVCodecContext->time_base.num)

    H.264 Profiles Profiles are sets of capabilities. If your black box only supports the Baseline profi ...

  2. x264 - 高品质 H.264 编码器

    转自:http://www.5i01.cn/topicdetail.php?f=510&t=3735840&r=18&last=48592660 H.264 / MPEG-4 ...

  3. iOS VideoToolbox硬编H.265(HEVC)H.264(AVC):1 概述

    本文档尝试用Video Toolbox进行H.265(HEVC)硬件编码,视频源为iPhone后置摄像头.去年做完硬解H.264,没做编码,技能上感觉有些缺失.正好刚才发现CMFormatDescri ...

  4. H.264编码profile & level控制

    背景知识 先科普一下profile&level.(这里讨论最常用的H264) H.264有四种画质级别,分别是baseline, extended, main, high:  1.Baseli ...

  5. (转载)H.264码流的RTP封包说明

    H.264的NALU,RTP封包说明(转自牛人) 2010-06-30 16:28 H.264 RTP payload 格式 H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) ...

  6. 获得H.264视频分辨率的方法

    转自:http://www.cnblogs.com/likwo/p/3531241.html 在使用ffmpeg解码播放TS流的时候(例如之前写过的UDP组播流),在连接时往往需要耗费大量时间.经过d ...

  7. H.264 基础及 RTP 封包详解

    转自:http://my.oschina.net/u/1431835/blog/393315 一. h264基础概念 1.NAL.Slice与frame意思及相互关系 1 frame的数据可以分为多个 ...

  8. 【转】实现RTP协议的H.264视频传输系统

    1.  引言       随着信息产业的发展,人们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频,并越来越强调获取资源的实时性和互动性.但人们又面临着另外一种不可避免的尴尬,就是在网络上看到生动 ...

  9. iOS VideoToolbox硬编H.265(HEVC)H.264(AVC):2 H264数据写入文件

    本文档为iOS VideoToolbox硬编H.265(HEVC)H.264(AVC):1 概述续篇,主要描述: CMSampleBufferRef读取实际数据 序列参数集(Sequence Para ...

随机推荐

  1. Android 使用 Gradle 多渠道打包

    安卓开发完毕.对于一个开放应用而言,我们须要公布到不同的应用市场,同一时候我们也须要统计不同市场的用户下载量. (通过启动应用后获取不同市场apk中的不同值来区分) 以下用一个详细的实例来说明: 1. ...

  2. PHP面向对象之接口 (interface)

    1.使用接口,接口中指定了某个类必须实现的某些方法,这些方法都是空的(不需要定义这些方法的具体内容) 2. 要实现一个接口用关键字implements,类中必须包含接口中所有的方法,否则会出现一个致命 ...

  3. UIImagePickerController 视频录制操作,视频大小,时间长度

    一:使用 iOS 系统 UIImagePickerController 获取视频大小 获取视频长度 - (void)viewDidLoad { [super viewDidLoad]; // Do a ...

  4. angular -- $resource 用法

    安装 ngResource模块是一个可选的angularjs模块,如果需要使用,我们要单独引用js <script type="text/javascript" src=&q ...

  5. vi语法高亮,自动缩进(转)

    编辑.vimrc 这样文件在其中加入如下两行就可以了,此法对#号提示符下的操作无效. let &termencoding=&encodingset fileencodings=utf- ...

  6. j2ee高并发时使用全局变量需要注意的问题

    原文:https://blog.csdn.net/jston_learn/article/details/21617311 开发中,全局变量的使用很频繁,但对于多线程的访问,使用全局变量需要注意的地方 ...

  7. Android 4.4KitKat AudioTrack 流程分析

    Android Audio 系统的主要内容: AudioManager:这个主要是用来管理Audio系统的,需要考虑整个系统上声音的策略问题,例如来电话铃声,短信铃声等,主要是策略上的问题. Audi ...

  8. Entity Framework Code First使用者的福音 --- EF Power Tool使用记之一(转载)

    好像蛮长时间没有新文章带给大家了.前几天出差再加上忙着公司里的活儿,几乎都没时间上博客园了.今天正好有些时间,为大家简单介绍EF产品组新发布的一个牛逼的小工具——EF Power Tool(翻译的话, ...

  9. MVC & Entity Framework(2)- controller、Models单独DLL

    继上一篇MVC & Entity Framework(1)- 开发环境之后,已经很久没更新了.接下来记录一下怎么把MVC中的controller单独拆为一个类库,然后在web项目中引用.另外, ...

  10. 0055 <mvc:default-servlet-handler />不能同时访问静态资源和动态资源的问题

    刚才在折腾的时候,发现applicationContext.xml中配置了<mvc:default-servlet-handler />后,能访问静态资源,却不能访问动态资源了:注释掉之后 ...