H264编码器评测_经典
- 格式:doc
- 大小:75.00 KB
- 文档页数:7
h.264详解:什么是H.264编码H.264是什么格式2009-04-24 12:53一、H.264与其他标准的比较1.1在画质上H.264概述随着市场的需求,在尽可能低的存储情况下获得好的图像质量和低带宽图像快速传输已成为视频压缩的两大难题。
为此IEO/IEC/和ITU-T两大国际标准化组织联手制定了新一代视频压缩标准H.264。
1.2在编码上H.264和以前的标准一样,也是DPCM加变换编码的混合编码模式。
但它采用“回归基本”的简洁设计,不用众多的选项,获得比MEPG-4好得多的压缩性能;H.264加强了对各种信道的适应能力,采用“网络友好”的结构和语法,有利于对误友和丢包的处理;H.264应用目标范围较宽,可以满足不同速率、不同解析度以及不同传输(存储)场合的需求。
1.3在技术上H.264标准中有多个闪光之处,如统一的VLC符号编码,高精度、多模式的位移估计,基于4块的整数变换、分层的编码语法等。
这些措施使得H.264得算法具有很高的编码效率,在相同的重建图像质量下,能够比H.263节约50%左右的码率。
H.264的码流结构网络适应性强,增加了差错恢复能力,能够很好地适应IP和无线网络的应用。
1.4在传输上H.264能以较低的数据速率传送基于联网协议(IP)的视频流,在视频质量、压缩效率和数据包恢复丢失等方面,超越了现有的MPEG-2、MPEG-4和H.26x视频通讯标准,更适合窄带传输。
1.5在算法上MPEG-1标准视频编码部分的基本得法与H.261/H.263相似,也采用运动补偿的帧间预测、二维DCT、VLC游程编码等措施。
此外还引入了帧内帧(I)、预测帧(P)、双向预测帧(B)和直流帧(D)等概念,进一步提高了编码效率。
在MPEG-1的基础上,MPEG-2标准在提高图像分辨率、兼容数字电视等方面做了一些改进,例如它的运动适量的精度为半像素;在编码运算中(如运动估计和DCT)区分“帧”和“场”;引入了编码的可分级性技术,如空间可分级性、时间可分级性和信噪比可分级性等。
H264编解码协议详解H.264编解码协议,也被称为AVC(Advanced Video Coding),是一种广泛应用于视频压缩的标准。
它是一种基于帧的压缩算法,可以将高质量的视频数据以较低的比特率传输和存储。
以下是H.264编解码协议的详细解释:1.压缩结构H.264使用了多种技术来实现高效率的视频压缩。
它使用了预测编码、变换编码和熵编码等多种技术。
预测编码通过利用帧间和帧内的冗余性,对视频进行空间和时间上的预测。
变换编码则通过对预测误差进行离散余弦变换(DCT),在频域上进行编码。
最后,熵编码使用了熵编码表将变换后的数据进行进一步的压缩。
2.帧结构H264将视频数据划分为一系列的帧,每个帧包含了许多宏块(macroblock)。
其中,关键帧(I帧)是完全独立的帧,它包含了视频的全局信息。
预测帧(P帧)和双向预测帧(B帧)则通过对前一帧和前后一帧进行预测来进行编码。
P帧只依赖前一帧,而B帧则依赖前后两帧。
这种结构可以进一步提高视频压缩的效率。
3.量化参数H.264使用量化参数对预测误差进行编码。
量化参数决定了每个预测误差值的精度,较大的量化参数会导致更高的压缩率,但也会导致较大的失真。
编码器和解码器可以通过动态调整量化参数来平衡压缩率和失真。
4.帧间预测帧间预测是H.264压缩的核心技术之一、它通过对前后帧的像素进行比较,预测当前帧的像素值。
如果在帧间没有大的运动,那么预测误差就会较小,从而达到更好的压缩效果。
帧间预测有多种模式,包括帧间直接模式(inter-direct mode)、帧间双向模式(inter-bidirect mode)和帧间skip模式(inter-skip mode)等。
5.熵编码H.264使用了基于上下文的自适应变长编码(CAVLC)和基于上下文的自适应二进制算术编码(CABAC)两种熵编码技术。
CAVLC主要用于编码量化系数和运动矢量等数据,而CABAC主要用于编码预测模式和其他语法元素。
H264CODEC芯片MB86H55介绍H264CODEC芯片MB86H55是一款高级视频编码器芯片,由日本广岛松下公司(Panasonic)设计和制造。
该芯片采用了最先进的H.264视频压缩标准,可实现高质量的视频压缩和编码。
它由视频编码器和解码器两部分组成,可广泛应用于多媒体设备,如数字电视、网络视频、高清摄像机、视频会议系统等。
MB86H55芯片具有较高的性能和可靠性,采用了广岛松下公司领先的集成电路技术。
它支持多种视频分辨率和编码速度,包括高清720p和1080p分辨率,并且具有流畅的视频播放和低功耗特性。
它还内置了丰富的视频处理功能,如动态范围控制、图像增强和噪声抑制等,可提供更好的视频质量和观看体验。
MB86H55芯片具有多种接口和功能,可以与其他设备和系统集成。
它支持主流的数字视频和音频接口,如HDMI、DVI和DisplayPort,并且兼容各种存储介质,如SD卡和USB存储设备。
此外,它还支持以太网连接和无线网络,可实现多种数据传输方式和网络功能。
它还具有强大的图像处理和编码功能,可实现多种音频和视频格式的编码和解码。
MB86H55芯片的设计和制造具有高度的可靠性和稳定性。
它采用了先进的半导体工艺和封装技术,具有良好的散热和抗干扰能力,可确保芯片的长期稳定工作。
此外,它还具有低功耗设计,可降低设备的能耗和热量,延长设备的使用寿命。
总而言之,H264CODEC芯片MB86H55是一款性能强大、功能丰富、稳定可靠的视频编码器芯片。
它具有高清视频压缩和编码能力,支持多种视频分辨率和编码速度,具有流畅的视频播放和低功耗特性。
它还具有多种接口和功能,可与其他设备和系统集成,并具有高度的可靠性和稳定性。
它适用于多种多媒体设备和应用,为用户提供出色的视听体验。
视频编解码标准的性能评估与比较分析随着视频应用的广泛应用,视频编解码标准越来越重要。
视频编解码标准是指将采集的视频信号编码成数字信号来保存和传输,这是视频应用的基础。
目前市场上真正有影响力的编解码标准主要有 H.264、H.265、VP9 等,本文将会从性能评估和比较分析两个方面来探讨这几种编解码标准。
1. 性能评估性能评估是评价视频编解码标准优劣的重要指标,主要从以下四个方面来评估:1.1 压缩率压缩率指的是视频编码前和编码后的比特率之比,一般情况下压缩率越大,图像质量损失越小,传输速度越快。
目前来看,H.265 比早期的 H.264 在压缩率方面有显著提升,而 VP9 的压缩效率比 H.265 还高。
1.2 画质画质评测是衡量视频编解码标准优劣的关键因素之一。
画质受多种因素影响,例如分辨率、码率、编码器、解码器等等,而细致的比较需要全面的测试。
一般情况下,在相同码率下,H.265 的画质优于 H.264,而 VP9 在低码率情况下画质表现更优。
1.3 速度速度是评价视频编解码标准优劣的又一个关键因素。
视频编码器的处理速度直接影响了用户体验。
从编码速度方面来看,VP9 比 H.265 快,而 H.264 的速度则取决于硬件和软件优化情况。
1.4 兼容性视频编解码标准的兼容性指的是标准能否被广泛接受。
目前来看,H.264 是最为广泛的应用。
VP9 也被越来越多的厂商支持,而 H.265 还相对不够成熟,兼容性不如前两种标准。
2. 比较分析接下来我们从几方面对 H.264、H.265、VP9 进行比较分析。
2.1 应用领域H.264 是目前最为广泛使用的视频编解码标准,应用领域广泛。
H.265 和 VP9 则更多应用于高清视频和 4K 视频的压缩。
而在目前来看 H.265 更适合于手机、VR 等应用领域。
2.2 采用厂商H.264 是由德国 Telenor、英特尔、日本 NTT 东芝等公司共同开发。
三种H264开源编码的比较Outline1、三大开源编码器介绍2、实验条件3、实验结果4、实验结论plus:增加t264 high quality mode的实验结果note: 新增内容设置为黄色底纹,以示区别;文中t264表示t264 fast mode,t264表示t264 high quality mode。
一、三大开源编码器介绍1、JMH.264的官方测试源码,由德国hhi研究所负责开发。
特点:实现了264所有的特性,由于是官方的测试源码,所以学术研究的算法都是在JM基础上实现并和JM进行比较。
但其程序结构冗长,只考虑引入各种新特性以提高编码性能,忽视了编码复杂度,其编码复杂度极高,不宜实用。
开发起始时间:2002.22、X264网上自由组织联合开发的兼容264标准码流的编码器,创始人是一个法国人。
X264在网上的口碑极佳。
特点:注重实用。
和JM相比,在不明显降低编码性能的前提下,努力降低编码的计算复杂度,故X264摈弃了264中一些对编码性能贡献微笑但计算复杂度极高的新特性,如多参考帧、帧间预测中不必要的块模式、CABAC等。
开发起始时间:2004.63、T264中国视频编码自由组织联合开发的264编解码器,编码器编码输出标准的264码流,解码器只能解T264编码器生成的码流。
特点:和X264的出发点相似,并吸收了JM、X264、XVID的优点。
开发起始时间:2004.10二、实验条件1、测试序列选用原则:a、不同分辨率qcif和cifb、不同纹理复杂程度c、不同运动剧烈程度选用的测试序列:格式序列名称特点编码帧数Foreman纹理复杂度一般运动剧烈:画面人物和镜头均运动,并涉及到场景切换350Silent背景纹理复杂度极高头肩序列150QcifMiss_am背景纹理不明显头肩序列150Foreman如前述350CifMobile纹理复杂度极高运动形式丰富——画面有多个运动物体,但各运动物体运动方向规则且平缓,镜头也在移动250Mother and daughter背景简单画面人物运动幅度不大150Note: 编码帧数的选取原则:采用的帧数和运动剧烈程度成正比关系,因为对于运动不大剧烈的序列,较少的帧数就可以反映该序列的特点。
H.264 软硬编码器画质量化分析评测H.264 软/硬编码器画质量化分析评测发表于2012-10-08 16:50:17 | 原创| /硬派网| 作者陈寅初| 责编陈寅初第1页:前言——视频压缩无处不在H.264 或者说MPEG-4 AVC 是目前使用最广泛的高清视频编码标准,和上一代MPEG-2、h.263/MPEG-4 Part4 相比,它的压缩率大为提高,例如和MPEG-2 相比,同样的压缩后画面品质,h.264 的码率通常只需要一半,这意味着存储空间和网络传输时间/带宽大为节省。
h.264 是由ITU-T Study Group 16 (VCEG) 和ISO/IEC JTC 1 SC 29 / WG 11 (MPEG)这两个组织共同合作制定的,除了提供相应的技术文档外,他们还为业界提供了一个名为JM Software 的h.264 参考版编码/解码器,不过这个JM Software 只是一个学术上的参考化实作(例如其他h.264 编码器弄出来的视频流必须能被这个JM Software 中的解码器正常解码出来),并非一个实用化的产品,所以无论是性能还是压缩效果都比较一般,更多的只是证明h.264 是可行的。
h.264 虽然拥有诸多出色的特质,受到大家的欢迎,但是它存在的授权金问题倒是让不少厂商望而却步。
直到2010 年面对WebM 等新标准竞争和一些口头威胁,MPEG 才正式宣布永远免收基于Internet 的最终用户视频授权金,至此以后各个视频网站终于开始广泛接纳h.264 作为最主要的网络视频编码标准。
对于许多人来说,视频编码或者说视频转码其实是息息相关的,视频聊天、网络视频共享无不和视频编码有关,当然这其中视频编码的动作可能会被软件巧妙的掩盖起来,让你不容易察觉。
在2000 年科网股爆煲之前,就有不少网站开始大力推动网络视频,这时期的实时播放网络视频质量极差,很多时候只能看到人影晃动,连眼耳口鼻都分不清楚,体验极差。
H264编码原理详解前言•在日常生活中我们知道,电脑中的视频文件先要通过视频采集设备对物体进行采集,然后通过编码核心部件得到mp4,rmvb等格式进行保存。
有没有可能不经过上述核心编码部件采集之后直接进行显示呢?答案是可以的。
那为什么还要进行编码呢?答案是原始采集到的视频数据为YUV格式,这种格式不经过处理的话特别大,对于网络传输和永久保存非常不利,为了解决这个问题,就需要对原原始的视频数据进行压缩处理。
而H264则是目前一种流传广泛,成熟的视频压缩算法。
•先来看一个例子在学习H.264编码之前,我们先了解一下在手机相机拍摄视频的过程,如果Camera采集的YUV图像不做任何处理进行传输,那么每秒钟需要传输的数据量是多少?Camera采集的YUV图像通常为YUV420,根据YUV420的采样结构,YUV图像中的一个像素中Y、U、V分量所占比例为1:1/4:1/4,而一个Y分量占1个字节,也就是说对于YUV图像,它的一个像素的大小为(1+1/4+1/4)Y=3/2个字节。
如果直播时的帧率设置为30fps,当分辨率为1280x720,那么每秒需要传输的数据量为1280720(像素)30(帧)3/2(字节)=39.5MB;当分辨率为1920x720,那么每秒需要传输的数据量接近60MB,这对于手机的存储空间有很大考验,因此,我们就必须在拍摄形成视频文件保存在本地之前对采集的视频数据进行压缩编码。
H26X简介H261•目前国际上制定视频编解码技术的组织有两个,一个是“国际电联(ITU-T)”,它制定的标准有H.261、H.263、H.263+等,另一个是“国际标准化组织(ISO)”它制定的标准有MPEG-1、MPEG-2、MPEG-4等。
•H.261是1990年ITU-T制定的一个视频编码标准,属于视频编解码器。
设计的目的是能够在带宽为64kbps的倍数的综合业务数字网(ISDN forIntegrated Services Digital Network)上质量可接受的视频信号。
H.264的三种开源编码器比较Outline1、三大开源编码器介绍2、实验条件3、实验结果4、实验结论plus:增加t264 high quality mode的实验结果note: 新增内容设置为黄色底纹,以示区别;文中t264表示t264 fast mode,t264表示 t264 high quality mode。
一、三大开源编码器介绍1、JMH.264的官方测试源码,由德国hhi研究所负责开发。
特点:实现了264所有的特性,由于是官方的测试源码,所以学术研究的算法都是在JM基础上实现并和JM进行比较。
但其程序结构冗长,只考虑引入各种新特性以提高编码性能,忽视了编码复杂度,其编码复杂度极高,不宜实用。
开发起始时间:2002.22、X264网上自由组织联合开发的兼容264标准码流的编码器,创始人是一个法国人。
X264在网上的口碑极佳。
特点:注重实用。
和JM相比,在不明显降低编码性能的前提下,努力降低编码的计算复杂度,故X264摈弃了264中一些对编码性能贡献微笑但计算复杂度极高的新特性,如多参考帧、帧间预测中不必要的块模式、CABAC等。
开发起始时间:2004.63、T264中国视频编码自由组织联合开发的264编解码器,编码器编码输出标准的264码流,解码器只能解T264编码器生成的码流。
特点:和X264的出发点相似,并吸收了JM、X264、XVID的优点。
开发起始时间:2004.10二、实验条件1、测试序列选用原则:a、不同分辨率 qcif和cifb、不同纹理复杂程度c、不同运动剧烈程度选用的测试序列:Note: 编码帧数的选取原则:采用的帧数和运动剧烈程度成正比关系,因为对于运动不大剧烈的序列,较少的帧数就可以反映该序列的特点。
note: 所有测试序列帧率:30fps2、实验环境CPU: Intel P4 2.4GRAM: 512 DDROS: windows 2000 professional3、编码器版本JM: JM86(选用的原因:90之后的版本主要是针对高保真的视频,不适合本文的测试序列),VC71编译X264: 2005.06.16版本,VC6编译T264: 0.14版本,VC71编译note: 三个编码器生成的都是release版本,通常release版本的执行速度比debug版本的执行速度快。
10款视频转码软件的H264低码率高画质转码评测10款视频转码软件的H264低码率高画质转码评测最近买了台新手机,该手机支持硬解H264视频。
于是我想把一些视频转为H264格式,放在手机上观看。
第一、因手机存储空间较少,希望视频文件小,所以码率一般设置的比较低。
第二、流行视频在电脑上看看就可以了,只有经典视频才会存放在手机上多次观看,所以画质也很重要。
一、需求需求细则——1.封装格式:mp4。
2.视频编码:H.264(ITU-T命名),或叫MPEG-4 AVC(ISO/IEC命名)。
最好使用x264编码器,因为它在低码率下表现较好。
3.AVC Profile(AVC配置):Main(主流)。
因其支持CABAC 编码与B帧,CABAC(Context-based Adaptive Binary Arithmetic Coding,基于上下文自适应的二进制算术编码)能有效提高画质但降低编码速度,支持B帧则可以提高压缩比与画质。
大多数设备支持Main Profile。
4.AVC Level(AVC级别):3.1。
大多数设备支持3.1。
(我对AVC Level不太熟悉,求教)5.视频码率:低。
电影压512Kbps,动画压384Kbps。
6.多遍编码模式:2遍,最好能支持3遍。
多遍编码能有效的提高低码率下的画质。
7.视频尺寸:自动。
保持原始分辨率。
8.视频帧率:自动。
保持原始帧率。
最好能支持智能调整——当发现高于预定帧率时就降低,否则沿用原始帧率。
9.运动估计算法:Uneven Multi-Hexagon(混合菱形)。
混合菱形搜索的覆盖较广,且速度还不错。
如果视频较短且时间充裕的话,用穷尽(Exhaustive)搜索也不错。
10.子像素优化:8(RD refinement on I/P frames:进行I、P帧运动矢量及块内部的速率失真最优化)。
因画质与速度的平衡考虑。
11.音频编码:HE-AAC(High-Efficiency Advanced Audio Coding) v2。
H.264开源编码器评测2003年5月,当H.264编码标准草案发布时,很多人都觉得H.264太复杂,不宜实用。
眨眼间3年过去了,以往的论断、疑惑被如今的现实冲洗的干干净净。
随着硬件性能的提高和视频编码工作者对H.264的不断优化,如今的H.264已完全实用,最新的达芬奇芯片上能实现D1分辨率(720*480)视频的实时编码,而对于解码,普通的PC机就能实现x264编码的DVDrip电影的流畅播放。
纵观过去的三年,有多少人对H.264倾注了热情和汗水才换来今天的成绩,而那些H.264的开源项目以及参与这些项目的开发者自然是功不可没。
本文评测的是作者接触过的H.264开源解码器,包括:JM decoder, T264 decoder, x264 decoder, ffmpeg libavcodec, Intel IPP simple player。
评测的内容有:对H.264特性的支持、解码速度以及二次开发难易程度。
一、H.264开源解码器介绍1、JM decoderJM decoder是H.264的官方源码,通常也称为校验模型。
其特点是支持特性好,实用性差。
本文选用的程序是JM86,不支持high profile,因为本文不对high profile部分进行实验比较。
NOTE: JM一直没有做实用化方面的努力,所以其解码速度代表的是2003年的水平。
2、T264 decoderT264是国内的开源项目,T264 decoder的程序做过汇编优化,速度还可以,但只能解T264本身的码流。
作者对T264 decoder version 0.14(2005-3-29)作了修改,支持baseline的解码。
3、x264 decoderx264本没有decoder,但其包含decoder的部分函数雏形,猜想作者在一开始时是准备实现decoder,后来可能是因为有了ffmpeg,就放弃了这个想法(纯粹属于猜测,呵呵)。
x264-⾼品质H.264编码器H.264 / MPEG-4 AVC 是优秀的视讯编码格式就⽬前已成熟的视讯编码格式⽽⾔,H.264的压缩率是最佳的。
压缩率极⾼,可以只⽤很低 bitrate 提供堪⽤画质。
⽽ x264 为免费开放原始码的 H.264 / MPEG-4 AVC 编码器,是⽬前编码效率最⾼的开放原始码 H.264 编码器。
此⽂只是基础知识,说明只是⼤略⽽已。
H.264:x264: 、索引:#1F: 下载、基本参数设定#2F: GUI - 图形接⼝⼯具接⼝介绍#3F: CLI - 命令列接⼝使⽤教学#4F: CLI - FFmpeg with libx264#5F: 其他 x264 (CLI) 编译版#6F: 常见设备的相容编码参数H.264 ProfilesBaseline Profile (BP)主要⽤于低成本应⽤,对播放设备的性能要求不⾼,此 profile 常见⽤于早期性能较低的⾏动设备 (如 Apple iPod)。
现今⾏动设备性能⽐起以前强⼤许多,此 profile 已经没有什么必要性了。
Main Profile (MP)此 profile 原本是⽤于 SD 分辨率数码电视⼴播,虽然没有实⾏,然⽽被⽤于 HD 分辨率的电视⼴播。
在 2004 年 High Profile 被开发之后,此 profile 已经没有什么必要性了。
早期的⾼性能⾏动播放设备(如 Sony PSP),也是使⽤此 profile。
High Profile (HiP)⽬前使⽤最⼴泛的 profile,由其是 HD 分辨率电视应⽤ (如 Blu-ray / AVCHD 光盘储存、游戏机等电视多媒体播放器、HDTV DVB ⼴播服务)。
现今的⾏动播放设备都可以流畅播放⽤此 profile 的 SD 分辨率影⽚,中阶等级可以上 720p 分辨率,⾼阶甚⾄可上 FullHD (软解可能会有点吃⼒,硬解完全没问题)。
ffmpeg中h264编码效率测试方案v1.0
1.测试目的:
此次测试主要针对合同指标对H264提出的编码要求进行。
合同指标要求:移植到众核CPU的X264软件:要求能够稳定运行,单片众核CPU上实现至少4路1920x1080@25fps视频实时编码。
2.测试方案:
1、选择2个1920x1080分辨率,25fps的视频片源;
2、采用ffmpeg的转码工具,实现对视频片源的解码后采用x264进行编码。
编码参数设置为1920x1080分辨率。
3、在ffmpeg中添加统计代码:在x264的编码器外计算运行时间,将编码器调用之后时间减去编码器调用之前时间,作为单帧编码时间;
4、计算编码效率,即每秒能编码多少帧,根据单帧编码时间进行计算;
5、在转码过程中记录CPU运行的百分比;
6、将统计结果填入下表。
序列、图像(存储单元)、宏块、像素一个序列的第一个图像叫做IDR 图像(立即刷新图像),IDR 图像都是I 帧图像。
H.264 引入IDR 图像是为了解码的重同步,当解码器解码到IDR 图像时,立即将参考帧队列清空,将已解码的数据全部输出或抛弃,重新查找参数集,开始一个新的序列。
●I帧(帧内编码帧)是一种自带全部信息的独立帧,无需参考其它图像便可独立进行解码。
视频序列中的第一个帧始终都是I帧。
I帧可以用来实现快进、快退以及其它随机访问功能。
如果新的客户端将参与查看视频流,编码器将以相同的时间间隔或者根据要求自动插入I帧。
I帧的缺点在于它们会占用更多的数据位,但I帧不会产生可觉察的模糊现象。
●P帧(帧间预测编码帧)需要参考前面的I帧和/或P帧的不同部分才能进行编码。
与I帧相比,P帧通常占用更少的数据位,但其缺点是,由于P帧对前面的P和I参考帧有着复杂的依赖性,因此对传输错误非常敏感。
●B帧(双向预测编码帧)需要同时以前面的帧和后面的帧作为参考帧。
不是参考帧,不会造成解码错误的扩散。
运算比较复杂,CPU占用较高。
I、B、P各帧是根据压缩算法的需要人为定义的,它们都是实实在在的物理帧。
一般来说,I帧的压缩率是7(跟JPG差不多),P帧是20,B帧可以达到50。
网络打包、网络抽象层单元(NALU)、片NALU的网络打包:(1) 额外开销要少,使MTU尺寸在100~64k字节范围都可以;(2) 不用对包内的数据解码就可以判别该包的重要性;(3) 载荷规范应当保证不用解码就可识别由于其他的比特丢失而造成的包不可解码;(4) 支持将NALU分割成多个RTP包;(5) 支持将多个NALU汇集在一个RTP包中。
●灵活宏块次序(FMO) 可以通过设置宏块次序映射表(MBAmap)来任意地指配宏块到不同的片组,FMO模式打乱了原宏块顺序,降低了编码效率,增加了时延,但增强了抗误码性能。
划分图像的模式各种各样,主要的有棋盘模式、矩形模式等。
H.264可扩展视频编解码器(SVC)应用详解可扩展视频编解码器已经被开发了许多年。
广播行业严格地受到业已建立的各种标准的控制,因此在采用这一技术上一直反应迟缓。
处理器、传感器以及显示技术的进步正在点爆各种视频应用。
互联网以及IP技术正无缝地把视频伺服至更为不同和远程的由显示设备构成的社群。
可扩展视频编解码器——如H.264 SVC 满足了许多这些系统的需求,并且它们可能促使视频被广泛采纳为通信媒介的催化剂。
编解码器被用于压缩视频,以减小传输视频流所需要的带宽,或者,降低把视频文件存档所需要的存储空间。
这种压缩的代价就是增大计算要求:压缩比越高,对计算能力的要求就越高。
在带宽与计算要求之间做出折中,对于定义承载编码视频流所需要的最小信道带宽以及编码设备的最小指标均有影响。
在传统的像广播电视机这样的视频系统中,解码器的最小规范(在机顶盒的情形下)易于被定义。
然而,目前视频被越来越多地由各种各样的应用所采用,相应地,有各种各样的客户设备,这些设备包括从计算机观看互联网视频,到便携式数字助理(PDA)以及小巧的蜂窝电话。
针对这些设备的视频流必需是不同的。
为了更好地兼容特定的观看设备以及信道带宽,必须采用不同的设置对视频流多次编码。
每一个设置的组合必须向用户产生一个满足视频流传输所需带宽的视频流以及对观看设备进行解码的能力。
如果原始解压视频流不可用,那么,编码视频流必须首先被解码,然后采用新的设置进行解码。
这种做法是十分昂贵的。
在理想的情形下,视频仅仅以高效率的编解码器被编码一次。
如果经过解码的话,得到的视频流会产生全分辨率的视频。
此外,在理想的情形下,如果较低分辨率或带宽的视频流需要被进一步延伸至网络之中,以锁定较低性能的设备,那么,可以不必采取附加的处理,就能够发送一小部分的编码视频。
这种较小的视频流便于解码并产生较低分辨率的视频。
以这种方式,编码视频流自身就能够适应它需要经过的信道带宽以及目标设备的性能。
H.264高清编码器概述MPEG-4 AVC/H.264高清编码器是一款专业的高清音视频编码产品。
该产品支持几乎所有模拟及数字音视频输入接口,包括CVBS、YPbPr、SD/HD-SDI、HDMI视频输入接口、平衡/非平衡模拟音频及AES/EBU、HDMI、SD/HD-SDI嵌入音频输入接口。
该设备可对标清及高清的音视频进行编码,支持MPEG-4 AVC/H.264编码格式,具有极高的编码压缩效率及极佳的视频质量,可广泛应用于各种数字电视播出系统中。
主要特性∙支持H.264/AVC High Profile Level 4.0及H.264/AVC High Profile Level 3.0编码,先进的视频预处理算法∙音频编码支持MPEG1 Audio Layer 2∙支持CVBS、S-Video、YPbPr模拟视频输入∙支持HDMI,HD/SD-SDI数字视频输入∙支持平衡及非平衡模拟音频输入∙支持 AES/EBU、HDMI、HD/SD-SDI数字音频输入∙支持 PAL、NTSC标清视频格式∙支持高清720P、1080I视频格式∙支持IP输出TS,UDP协议,单播及多播∙支持液晶&按键操作支持网络管理(NMS)技术指标 CVBS ,BNC 接口S-VideoYPbPr ,BNC 接口 HD/SD-SDI ,BNC 接口 视频HDMI平衡立体声音频,XLR 接头非平衡立体声音频,BNC 接头AES / EBU 数字音频,XLR 接头输入 音频 HD/SD-SDI 内嵌音频1920×1080_60i1920×1080_50i1280×720_60p1280×720_50p720×480_60i(NTSC)分辨率 720×576_50i(PAL)编码H.264/AVC High Profile Level 4.0(高清) H.264/AVC High Profile Level 3.0(标清)码率0.8Mbps~20Mbps 码率控制CBR/VBR GOP 类型IBBP 视频视频预处理去隔行,噪声抑制,锐化 编码MPEG-1 Layer 2 采样率48KHz 采样精度24 bit 音频 码率64Kb/s~384Kb/s 2路 ASI 输出,BNC 接口 TS 输出 IP 输出单节目流,UDP 协议,10/100M 网口,支持单播及多播支持液晶&按键操作,网络管理(NMS),中英文操作界面系统 可通过网络进行软件升级尺寸(宽x 长x 高)482mm×455mm×44.5mm 重量6kg 温度范围0~45℃(工作),-20~80℃(存储) 电源AC 110V±10%,50/60Hz 或AC 220V±10%,50/60Hz 通用 功耗17.6W。
H264标准的主要特点如下:1.更高的编码效率:同H.263等标准的特率效率相比,能够平均节省大于50%的码率。
2.高质量的视频画面:H.264能够在低码率情况下提供高质量的视频图像,在较低带宽上提供高质量的图像传输是H.264的应用亮点。
3.提高网络适应能力:H.264可以工作在实时通信应用(如视频会议)低延时模式下,也可以工作在没有延时的视频存储或视频流服务器中。
4.采用混合编码结构:同H.263相同,H.264也使用采用DCT变换编码加DPCM的差分编码的混合编码结构,还增加了如多模式运动估计、帧内预测、多帧预测、基于内容的变长编码、4x4二维整数变换等新的编码方式,提高了编码效率。
5.H.264的编码选项较少:在H.263中编码时往往需要设置相当多选项,增加了编码的难度,而H.264做到了力求简洁的“回归基本”,降低了编码时复杂度。
6.H.264可以应用在不同场合:H.264可以根据不同的环境使用不同的传输和播放速率,并且提供了丰富的错误处理工具,可以很好的控制或消除丢包和误码。
7.错误恢复功能:H.264提供了解决网络传输包丢失的问题的工具,适用于在高误码率传输的无线网络中传输视频数据。
8.较高的复杂度:264性能的改进是以增加复杂性为代价而获得的。
据估计,H.264编码的计算复杂度大约相当于H.263的3倍,解码复杂度大约相当于H.263的2倍。
H.264标准的关键技术1.帧内预测编码帧内编码用来缩减图像的空间冗余。
为了提高H.264帧内编码的效率,在给定帧中充分利用相邻宏块的空间相关性,相邻的宏块通常含有相似的属性。
因此,在对一给定宏块编码时,首先可以根据周围的宏块预测(典型的是根据左上角的宏块,因为此宏块已经被编码处理),然后对预测值与实际值的差值进行编码,这样,相对于直接对该帧编码而言,可以大大减小码率。
H.264提供6种模式进行4×4像素宏块预测,包括1种直流预测和5种方向预测,如图2所示。
H.264压缩性能和应用分析摘要:随着ITU-T、MPEG标准组织分别批准了H.264标准,具有较好压缩性能的H.264标准得到了业界的广泛关注,其应用前景非常广阔。
本文主要介绍、分析H.264标准的压缩性能比较和应用情况。
关键词:视频压缩,H.264,MPEG。
1 概述视频压缩国际标准主要有由ITU-T制定的H.261、H.262、H.263、H.264和由MPEG制定的MPEG-1、MPEG-2、MPEG-4,其中H.262/MPEG-2和H.264/MPEG-4 A VC由ITU-T与MPEG联合制定,如图1所示。
图1 视频压缩标准H.26X和MPEG-X视频压缩系列标准H.26X主要用于视频通信应用中,例如,基于ISDN网络的H.320框架标准的视频标准为H.261、H.262和H.263,基于LAN网络的H.323和基于PSTN网络H.324框架标准中的视频标准为H.261和H.263。
视频压缩系列标准MPEG X主要用于视频存储播放应用中,例如,VCD中的视频压缩标准为MPEG-1,DVD中的视频压缩标准为MPEG-2。
MPEG-4和H.264标准则可以广泛应用于多种领域中,MPEG-4标准已在无线视频通信和流媒体应用中得到采用,由于H.264在压缩性能方面所具有的优势,H.264将会在实时视频通信、广播电视、视频存储播放等领域中得到应用。
本文将主要介绍、分析H.264标准的压缩性能比较和应用情况。
注:实际上,H.264在MPEG中称为MPEG-4 AVC,也就是通称的MPEG-4的Part 10,也就是说只有明确说MPEG-4 AVC或MPEG-4 Part10才是H.264。
通常称呼的MPEG4指的是MPEG-4 Part2,下面文档中,如果不特别声明,MPEG-4就是指MPEG-4 Part22 H.264压缩性能与以前的视频压缩标准H.261、H.263、MPEG-1、MPEG-2、MPEG-4类似,H.264也是采用帧间预测和帧内变换的混合编码方法来消除或减少图象中的信息冗余性,其视频编码层VCL(Video Coding Layer)编码框图如图2所示。
再战高清之巅——NVIDIA H.264硬件解码测试Acwell
【期刊名称】《电脑自做》
【年(卷),期】2006(000)004
【摘要】一.测试前言在今年的一月刊.我们曾经作过四家显卡在高清节且即HDTV回放时测试。
测试的重点集中在CPU占用率上。
由于目前HDTV片源达到了720p或者1080p这样的高精度.解码时对于CPU负担相对较大。
比较H.264,WMV—HD和MPEG2三种编码格式的文件来说.H.264最有可能成为今后蓝光以及HD—DVD支持的高清电影编码格式.而这是因为H.264拥有更好的压缩算法、压缩比率以及相对更好的画质。
因此.H.264也是这几种高清格式中CPU占用率最高的.解码1080pH.264影片对干目前主流的PC平台甚至有些不堪重负。
【总页数】4页(P27-30)
【作者】Acwell
【作者单位】无
【正文语种】中文
【中图分类】TP334.7
【相关文献】
1.H.264高清视频解码器中参考数据的获取及其硬件实现 [J], 战诗苗;刘声雷;黄晁
2.使用两套Slice解码器的H.264硬件解码器设计 [J], 王晓亮;周开伦;林涛
3.Nvidia高清视频处理器支持H.264硬件加速 [J], 无
4.NVIDIA再次强化显卡视频回放加速性能Forceware84.21实测H.264硬件解码[J], 柏拉力司
5.NVIDIA再次强化显卡视频回放加速性能 Forceware 84.21实测H.264硬件解码 [J], 柏拉力司
因版权原因,仅展示原文概要,查看原文内容请购买。
[转]H.264开源编码器评测-Peter Lee
(2010-04-25 09:57:53)
转载
[Peter Lee]
2003年5月,当H.264编码标准草案发布时,很多人都觉得H.264太复杂,不宜实用。
眨眼间3年过去了,以往的论断、疑惑被如今的现实冲洗的干干净净。
随着硬件性能的提高和视频编码工作者对H.264的不断优化,如今的H.264已完全实用,最新的达芬奇芯片上能实现D1分辨率(720*480)视频的实时编码,而对于解码,普通的PC机就能实现x264编码的DVDrip电影的流畅播放。
纵观过去的三年,有多少人对H.264倾注了热情和汗水才换来今天的成绩,而那些H.264的开源项目以及参与这些项目的开发者自然是功不可没。
本文评测的是作者接触过的H.264开源解码器,包括:JM decoder, T264 decoder, x264 decoder, ffmpeg libavcodec, Intel IPP simple player。
评测的内容有:对H.264特性的支持、解码速度以及二次开发难易程度。
一、H.264开源解码器介绍
1、JM decoder
JM decoder是H.264的官方源码,通常也称为校验模型。
其特点是支持特性好,实用性差。
本文选用的程序是JM86,不支持high profile,因为本文不对high profile部分进行实验比较。
NOTE: JM一直没有做实用化方面的努力,所以其解码速度代表的是2003年的水平。
2、T264 decoder
T264是国内的开源项目,T264 decoder的程序做过汇编优化,速度还可以,但只能解T264本身的码流。
作者对T264 decoder version 0.14(2005-3-29)作了修改,支持baseline的解码。
3、x264 decoder
x264本没有decoder,但其包含decoder的部分函数雏形,猜想作者在一开始时是准备实现decoder,后来可能是因为有了ffmpeg,就放弃了这个想法(纯粹属于猜测,呵呵)。
本文的x264 decoder是作者在x264 svn check out 2005.12.26的基础上实现的,支持baseline的解码。
4、ffmpeg libavcodec
ffmpeg是一个大项目,它包含各种音视频标准的codec,还支持各类file format (.avi, .mp4, .mkv and etc)的parsing。
所以,很多开源项目都有直接或间接地采用了ffmpeg,如mplayer播放器就是直接采用了ffmpeg,而mpc播放器则是先采用了ffdshow filter,而ffdshow又采用了ffmpeg。
ffmpeg是一个非常棒的音视频编解码库,支持的标准非常全,而且编解码速度也很快。
本文实验采用的是cvs check out 2006.02.20的版本,作者对其中的apiexample demo进行了简单的修改,用于解码h.264码流
5、Intel IPP simple player
Intel的IPP库,全称为Integrated Performance Primitives,在Intel的各种处理器平台(IA-32, Itanium, xscale and etc)上实现了信号处理常用算法、常用数学运算及音视频编解码算法等等。
IPP给我的第一感觉是,在Intel的处理器平台上,它实现的各种算法应该是最快的,至于实际结果如何,待等到实验比较后见分晓。
本文采用的IPP库版本为IA32 5.1.017 评估版
Intel IPP simple player是用于播放各种音视频文件的简单播放器,用c++实用,具体算法调用IPP库来实现。
本文采用的simple player版本是5.0.017
二、对于H.264特性的支持
1、JM86 decoder
support baseline, extended, main profile
2、T264 decoder
baseline
3、x264 decodeer
baseline
4、ffmpeg libavcodec
support baseline, main profile, high profile except the feature: paff, mbaff…
5、Intel IPP simple player
support baseline and main profile
三、评测条件
1、所用测试序列
表1 所用测试序列
2、编码参数
编码程序:x264 svn check out 2006.05.06
参数设置示例:x264enc --frames 300 --no-cabac --qp 26 -o test.264 foreman.cif 352x288(相当于baseline)
量化步长:26和36
2、环境
CPU: Pentium4 2.4GHz, RAM: DDR 512M
OS: windows2000 professional+sp4
3、解码器程序编译环境
JM86 decoder: vc71 release
T264 decoder: vc71 release
x264 decodeer: vc71 release
ffmpeg libavcodec: MinGW
Intel IPP simple player: vc71 release + directX 9.0c sdk
4、解码参数设置
不保存重建序列(note: 是否保存重建序列对于解码速度的影响很大)
四、解码速度比较结果
待补充完整。
2 解码速度比较(单位:fps)
表
【note】
t264的解码程序能解jm baseline的码流,但无法解上面x264生成的码流,故无法给出实验结果。
但通过对自身t264 fast mode码流的解码速度进行统计,t264 decoder和x264 decoder,解码速度降低40%左右。
Intel IPP simple player在我的电脑上编译未成功,在其它成功编译的电脑(xp 系统,directx, , IPP均安装于C盘)上进行简单测试,其解码速度和ffmpeg的解码速度相比,降低10%左右。
【简单结论】
解码速度:ffmpeg > IPP simple player > x264 decoder > t264 decoder > jm86 decoder
以ffmpeg的编码速度为基准,假设为100fps,则:
IPP simple player:90fps
x264 decoder:50fps
t264 decoder:30fps
jm86 decoder:3fps
五、程序开发上的比较
我估计阅读本文的大部分读者都是搞开发的,因此,阅读过程中自然会思考如何在程序开发上借鉴或者采用以上开源的H.264解码器,下面就针对程序开发上的难易、适用场合等作个比较。
1、JM86 decoder
适合写paper群体
2、T264 decoder
3、x264 decodeer
两者代码非常相似,所以就合在一起讲了。
这两个源码的程序结构都比较清晰,支持vc和gcc的编译环境,但对H.264的特性支持不好,解码速度和ffmpeg
相比,还有差距。
4、ffmpeg libavcodec
程序结构比较差,H.264解码的代码基本上在h264.c一个文件中,这个文件有8000多行,不利于阅读。
编译环境为gcc或MinGW,移植到vc下比较难(我尝试过)。
解码速度快(BTW: 通过doom9论坛了解到,目前最快的h.264解码器是CoreAVC decoder,比ffmpeg快50%左右)。
对于H.264特性的支持好。
5、Intel IPP simple player
分两个方面讲:
(a)IPP库
我觉得是非常棒的,但实现的是H.264解码(IPP中也有H.264编码)的一些关键函数,如deblock,dct,插值补偿等,不能直接拿来用。
其它的缺点:IPP库是商业软件,要money的,而且只支持Intel平台
(b)simple player
开源,用c++写的,而且是directshow编程,也就是说只支持windows平台。
其解码速度比ffmpeg慢10%左右,我觉得原因不在于IPP库,而是simple player 的代码不够完善。
谨以本文对所有参与过H.264开源项目的开发者致以滔滔江水连绵不绝的敬意之情。