H.264编解码

H.264是由ITU-T(ITU Telecommunication Standardization Sector,国际电信联盟远程通信标准化组)视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。

  ITU-T的H.264标准和ISO/IECMPEG-4第10部分(正式名称是ISO/IEC 14496-10)在编解码技术上是相同的,这种编解码技术也被称为AVC,即高级视频编码(Advanced Video Coding)。该标准第一版的最终草案(FD)已于2003年5月完成。

  H.264是ITU-T以H.26x系列为名称命名的标准之一,同时AVC是ISO/IEC MPEG一方的称呼。

  H.264/AVC项目最初的目标是希望新的编解码器能够在比相对以前的视频标准(比如MPEG-2或者H.263)低很多的码率下(比如说,一半或者更少)提供很好的视频质量;同时,并不增加很多复杂的编码工具,使得硬件难以实现。

  另外一个目标是可适应性,即该编解码器能够在一个很广的范围内使用(比如说,即包含高码率也包含低码率,以及不同的视频分辨率),并且能在各种网络和系统上(比如组播,DVD存储,RTP/IP包网络,ITU-T多媒体电话系统)工作。

  H.264/AVC的新特征

  1、多参考帧的运动补偿。比起以前的视频编码标准,H.264/AVC以更灵活的方式使用已编码的更多帧来作为参考帧。在某些情况下,可以使用最多32个参考帧(在以前的标准里面,参考帧的数目不是1就是对B帧来说的2)。该特性对大多数场景序列都可以带来一定的码率降低或者质量提高,对某些类型的场景序列,例如快速重复的闪光,反复的剪切或者背景遮挡的情况,它能很显著的降低编码的码率。

  2、变块尺寸运动补偿。可使用最大16x16至最小4x4的块来进行运动估计与运动补偿,能够对图像序列中的运动区域进行更精确的分割。

  3、为了减少锯齿并得到更锐化的图像,采用六抽头的滤波器来产生二分之一像素的亮度分量预测值。

  4、宏块对结构允许场模式中采用16x16的宏块(相对于MPEG-2中的16x8)。

  5、1/4像素精度的运动补偿能够提供更高精度的运动块预测,由于色度通常是亮度抽样的1/2,这时

  运动补偿的精度就达到了1/8像素精度。

  6、加权的运动预测,指在运动补偿时可以使用增加权重和偏移的办法。它能在一些特殊的场合,如淡入、淡出、淡出而后淡入等情况提供相当大的编码增益。

  7、使用了一个环内的除块效应滤波器,能够减轻普遍存在于其他基于离散余弦变换(DCT)的视频编解码器的块效应。

  8、一个匹配的整数4x4变换(类似于离散余弦变换的设计),同样在高精度拓展 中,采用整数8x8变换,并能在4x4变换和8x8变换中进行自适应的选择。

  9、在第一次4x4变换后,对DC系数(色度的DC系数和某种特殊状况的亮度DC系数)再进行一次Hadamard变换,使得在平滑区域得到更好的压缩效果。

  10、利用临近块的边界像素的Intra空间预测(比曾在MPEG-2视频部分使用的直流系数预测和在H.263+和MPEG-4视频部分使用的变换系数预测的效果要好)。

  11、基于上下文的二元算数编码 (CABAC),它能够灵活的将各种语法元素,在已知相应上下文概率分布的状况下进行更有效的无损熵编码。

  12、基于上下文的变长编码 (CAVLC),用于对量化后的变化系数进行编码。比起CABAC它的复杂度相对较低,压缩比不高,但是比起以前的视频编码标准所使用的熵编码方案,它又是相当有效的。

  13、对既不是用CABAC也不是用CAVLC的语法元素,使用指数哥伦布码(Exponential-Golomb)(Exp-Golomb)熵编码方案,进行编码。

  14、使用一个网络抽象层 (NAL),使得相同的视频语法可以适用于多种网络环境中;并且使用了序列参数集(SPSs)和图像参数集(PPSs)来提供更高的强健性(robustness)和灵活性。

  15、切换条带(Switching slices,包括SP和SI两种),它使得编码器能够指令解码器跳转到一个正在处理的视频码流,用来解决视频码流码率切换和"窍门模式"(Trick mode)操作。当解码器利用SP/SI条带跳转到一个视频码流中间时,除非之后的解码帧引用切换帧之前的图像作为参考帧,它都可以得到完全一致的解码重建图像。

  16、灵活的宏块排列模式(FMO for Flexible macroblock ordering,也被称为条带组slice groups技术)和任意条带排列(ASO for arbitrary slice ordering)模式,用来更改图像编码的最基本单位-宏块的编码顺序。它能够用来提高有绕信道下码流的鲁棒性(robustness)以及一些其它的目的。

  17、数据分区(DP for Data partitioning),能够将重要程度不同的语法元素分开打包传输,并使用非平等数据保护(UEP for unequal error protection)等

  技术来改善视频码流对抗信道误码/丢包的鲁棒性(Robustness).

  18、冗余条带(RS for Redundant Slices),同样是一个提高码流鲁棒性的技术。编码器利用该技术可以发送图象某区域(或者全部)的另一个编码表示(通常是较低分辨率的编码码流)使得当主表示发生错误或者丢失的时候能够用冗余的第二个编码表示来解码。

  19、使用了一个自动的字节码流打包方法,避免了码流中出现与开始码重复的码字。开始码是码流中用于随机访问和重建同步的码字。

  20、补充增强信息(SEI for Supplemental Enhancement Information)和视频可用信息(VUI for Video Usability Information)增加了向视频码流中加入信息的办法,为各种应用提供了用途。

  21、辅助图层(Auxiliary pictures), 可以用来实现某些特殊的功能,例如alpha复合(alpha compositing)。

  22、帧编号,使用该功能支持创建一个视频序列的子序列,可用来支持实现时域的可伸缩性,还支持对丢失的整帧图像进行检测和隐藏(丢失可能是由于网络丢包或者信道误码造成的)。

  23、图像顺序计数,使用该功能使得各帧图像的顺序和解码图像的像素值与时间信息无关,即使用一个单独的系统对时间信息进行传输、控制、更改,从而不影响解码图像的像素值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456044.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web开发基础

-------------------siwuxie095 HTML HTML 即 HyperText Markup Language,超文本标记语言 由服务器返回,浏览器呈现 服务器 即 HTTP 服务器,如:Apache、Nginx、Tomcat 一段 HTML 代码,可以是存放在 HTTP 服务器上的一个…

飞信即将归来:移动企业IM面临的三大难题

企业即时通讯(以下称“企业IM” ) 激战正酣,中国移动也有意搅局。中国移动方面日前向北京商报记者透露,中国移动的IM产品将于下月正式上线,此次中国移动拿出的是淡出人们视线许久的飞信。由于传统通信业务持续下滑,正在蓬勃发展的…

【FFmpeg】Win10环境下安装FFmpeg(实现视频音频提取裁剪等)

FFmpeg概述 在语音识别领域内,如何识别准确识别语音的第一步就是要将从音频文件中提取相关语音特征。同时对于各大语音接口如百度对于音频文件格式要求高,但是对于实际情况下,我们不可能都能拿到WAV文件,因此必须将首先将各种格式…

H.264

百科名片 H.264,同时也是MPEG-4第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视…

个人财务管理系统有源码怎么用_微信里的客户怎么管理?用鱼汛微信管理系统...

鱼汛工作手机是一款[1]销售微信管理系统,具有微信分析、电话分析、客户分析、绩效分析、安全管控、使用管控等六大功能,真正实现安全,高效,可管理!鱼汛手机能为企业带来什么价值?随着沟通方式的变革&#x…

另一个分区工具:GNU 的 parted(转)

利用 GNU 的 parted 进行分割行为 虽然你可以使用 fdisk 很快速的将你的分割槽切割妥当,不过 fdisk 却无法支持到高于 2TB 以上的分割槽! 此时就得需要 parted 来处理了。不要觉得 2TB 你用不着! 2009 年的现在已经有单颗硬盘高达 2TB 的容量…

《简明电路分析》——导读

本节书摘来自华章社区《简明电路分析》一书中的目录,作者钟洪声 吴 涛 孙利佳,更多章节内容可以访问云栖社区“华章社区”公众号查看 目 录 前  言教学建议第一部分 电阻电路分析第1章 电路基本约束关系 1.1 电路与电路模型 1.2 电学主要参数…

【深度学习】Tensorflow的基本操作

图 TensorFlow程序通常被组织成一个构建阶段和一个执行阶段. 在构建阶段, op的执行步骤被描述成一个图. 在执行阶段, 使用会话执行执行图中的op。我们来构建一个简单的计算图。每个节点采用零个或多个张量作为输入,并产生张量作为输出。一种类型的节点是一个常数。…

unity塔防游戏怪物转向_Unity官方新手游戏项目推荐合集

Unity官方新手游戏项目推荐合集今天给同学们介绍一些Unity官方发布过的一些游戏项目,这些项目都简化了游戏开发的入门学习过程,可以快速地制作出游戏,适合新手入门体验,下面就带同学们看一看:Unity Playground图片来源…

【BZOJ 4169】 4169: Lmc的游戏 (树形DP)

4169: Lmc的游戏 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 44 Solved: 25Description RHL有一天看到lmc在玩一个游戏。"愚蠢的人类哟,what are you doing",RHL说。"我在玩一个游戏。现在这里有一个有n个结点的有根树&#xff0…

python中的string模块

String模块 ascii_letters 获取所有ascii码中字母字符的字符串(包含大写和小写)ascii_uppercase 获取所有ascii码中的大写英文字母ascii_lowercase 获取所有ascii码中的小写英文字母digits 获取所有的10进制数字字符octdigits 获取所有的8进制数字字…

《电路分析导论(原书第12版)》一1.2.2 真空电子时代

本节书摘来华章计算机《电路分析导论(原书第12版)》一书中的第1章 ,第1.2.2节,(美) Robert L.Boylestad 著 陈希有 张新燕 李冠林 等译更多章节内容可以访问云栖社区“华章计算机”公众号查看。 1.2.2 …

【深度学习】Tensorflow完成线性回归对比机器学习LinearRegression()

首先构建一个线性的点状图 import warnings warnings.filterwarnings(ignore) import numpy as np import matplotlib.pyplot as plt %matplotlib inline from sklearn.linear_model import LinearRegression import tensorflow as tf X np.linspace(2,12,50).reshape(-1,1)w…

ajax同步和异步的区别_同步电机和异步电机区别

电工之家:www.dgzj.com QQ群:2179090关注电工之家官方微信公众号“电工之家”,收获更多经验知识。同步电机和异步电机之间从区别就在于转子内的励磁电流,同步电机的转子励磁电流来自外界直流电源,转速恒定只与电机定…

vue实例

1.构造器 1.1.每个 Vue.js 应用都是通过构造函数 Vue 创建一个 Vue 的根实例 启动的: 1.2.在实例化 Vue 时,需要传入一个选项对象,它可以包含数据、模板、挂载元素、方法、生命周期钩子等选项。 1.3.可以扩展 Vue 构造器,从而用预…

MPEG4 H.264学习笔记之三 ------ 熵编码

3.5 熵编码熵编码把一系列用来表示视频序列的元素符号转变为一个用来传输或是存储的压缩码流.输入的符号可能包括量化的变换系数(像上面所说的运行级或零树),运动向量(对于每个运动补偿块的向量值x和y),标记(在序列中用来表示重同步位的点),头(宏块头,图象头,序列的头等)以及附…

python中的数学模块

数学模块 引入模块:import math 注意: 使用某个模块下的函数,必须先引入这个模块,否则无法正常使用。 ceil() 向上取整操作 格式:math.ceil(数值) 返回值:整型floor() 向下取整操作 格式:math.floor(数值…

公共交通WiFi末路?公交WiFi重挫 地铁WiFi承受盈利压力

之前,公交WiFi运营方16WiFi因收支严重失衡宣布暂时关闭在11个城市的公交WiFi运营,这引发了业内对公共WiFi企业生存状态的关注。 在公共WiFi领域,除了公交WiFi,另一重要市场就是地铁WiFi。作为目前国内规模最大的地铁WiFi运营方&am…

解决:TypeError: Value passed to parameter 'a' has DataType int64 not in list of allowed values: float1

报错: TypeError: Value passed to parameter a has DataType int64 not in list of allowed values: float16, float32, float64, int32, complex64, complex128原因 1.4.0版本 默认int64 代码内容: 改正 定义符合 格式

买电脑主要看什么配置_我的专业要买什么配置电脑可以用到毕业?

电脑是现代生活中不可缺少的工具智能手机的更新让许多轻量工作可以在手机上完成但复杂的文档办公、大型的音视频编辑专业的数据处理等等还是离不开电脑的操作高考结束后许多同学做的第一件事是买新手机、新电脑有的为了考后放松玩游戏有的出于兴趣学习新技能也有的同学还在考虑…