H.264编码技术基本知识
- 格式:doc
- 大小:39.50 KB
- 文档页数:4
H264基本概念之宏块、片和片组
这几个概念对比音频信号处理可是全新的,下面简要介绍一下定义和作用:
1、宏块(Macro Block):一个编码图像首先要划分成多个块(4x4 像素)才能进行处理,显然宏块应该是整数个块组成,通常宏块大小为16x16个像素。
宏块分为I、P、B宏块,I宏块只能利用当前片中已解码的像素作为参考进行帧内预测;P宏块可以利用前面已解码的图像作为参考图像进行帧内预测;B宏块则是利用前后向的参考图形进行帧内预测;
以下是宏块的句法单元,来自参考文献2
2、片(Slice):一帧视频图像可编码成一个或者多个片,每片包含整数个宏块,即每片至少一个宏块,最多时包含整个图像的宏块。
片的目的:为了限制误码的扩散和传输,使编码片相互间保持独立。
片共有5种类型:I片(只包含I宏块)、P片(P和I宏块)、B 片(B和I宏块)、SP片(用于不同编码流之间的切换)和SI片(特殊类型的编码宏块)。
以下是片的句法结构:片头规定了片的类型、属于哪个图像、有关的参考图像等;片的数据包含了一系列宏块和不编码数据。
3、片组是一个编码图像中若干宏块的一个子集,包含一个或若干个片。
一般一个片组中,每片的宏块是按扫描次序进行编码的,除非使用任意片次序(Arbitrary Slice Order, ASO)一个编码帧中的片之后可以跟随任一解码图像的片。
另外一种片组,灵活宏块次序(Flexible Macroblock Ordering, FMO)用灵活的方法,把编码的宏块宏块映射到相应的片组中,见下图:
参考文献:
1、新一代视频压缩编码标准;
2、H264 and MPEG-4 video compression。
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主要用于编码预测模式和其他语法元素。
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文 / 摘要:H.264是国际电联最新通过的新一代甚低码率视频编码标准。
本文旨在阐述H.264视频编码标准的关键技术,并介绍了其在视频会议中的应用。
关键词:H.264 视频编码多帧预测视频会议一、引言ITU-T和ISO/IEC JTC1是目前国际上制定视频编码标准的正式组织,ITU-T的标准称之为建议,并命名为H.26x 系列,比如H.261、H.263等。
ISO/IEC的标准称为MPEG-x,比如MPEG-1、MPEG-2、MPEG-4等。
H.26x系列标准主要用于实时视频通信,比如视频会议、可视电话等;MPEG系列标准主要用于视频存储(DVD) 、视频广播和视频流媒体(如基于Internet、 DSL的视频,无线视频等等)。
除了联合开发H.262/MPEG-2标准外,大多数情况下,这两个组织独立制定相关标准。
自1997年,ITU-T VCEG与ISO/IEC MPEG再次合作,成立了Joint Video Team (JVT),致力于开发新一代的视频编码标准H.264。
1998年1月,开始草案征集;1999年9月,完成了第一个草案;2001年5月,制定了其测试模式TML-8;2002年6月,JVT第5次会议通过了H.264的FCD板;2002年12月,ITU-T 在日本的会议上正式通过了H.264标准,并于2003年5月正式公布了该标准。
国际电信联盟将该系统命名为H.264/AVC,国际标准化组织和国际电工委员会将其称为14496-10/MPEG-4 AVC。
二、H.264标准概述H.264和以前的标准一样,也是DPCM加变换编码的混合编码模式。
但它采用“回归基本”的简洁设计,不用众多的选项,获得比H.263++好得多的压缩性能;加强了对各种信道的适应能力,采用“网络友好”的结构和语法,有利于对误码和丢包的处理;应用目标范围较宽,以满足不同速率、不同解析度以及不同传输(存储)场合的需求。
H.264编码技术简介摘要:本文介绍了H.264编码基本概况,技术特点,并与其他标准进行了比较。
简单介绍了H.264视频编码标准的几个关键技术,并针对目前H.264在监控领域的应用做了讲解。
目录摘要: (1)一.引言 (2)二. H.264视频编码基本概况 (2)2.1 什么是H.264编码? (2)2.2 720P H.264高清成市场主流 (2)2.3 H.264 视频编码标准状况 (2)2.4 H.264 视频编码技术先进性 (3)2.5 H.264的核心竞争力是什么? (5)2.6 Main Profile (6)三、H.264与其他标准的比较 (6)3.1H.264与其他标准的比较 (6)3.2 H.264的技术特点 (8)3.2.1 分层设计 (8)3.2.2 高精度、多模式运动设计 (8)3.2.3 帧内预测功能 (8)3.2.4 4×4块的整数变换 (8)3.2.5 统一的VLC (8)3.3 H.264的主要特点 (9)四、关键技术 (10)五、H.264在监控的应用 (12)5.1 TOYA SDVR 7IV 系统简介 (12)5.2 TOYA SDVR 7IV 系统主要特点 (12)5.3 主要技术规格 (13)5.4 系统功能 (13)5.5 TOYA SDVR 7IV系统应用 (13)六、H.264的总体优缺点 (14)七、小结 (15)八、参考文献 (16)一.引言随着社会的不断进步和多媒体信息技术的发展,人们对信息的需求越来越丰富,方便、快捷、灵活地通过语音、数据、图像与视频等方式进行多媒体通信已成不可或缺的工具。
其中视觉信息给人们直观、生动的形象,因此图像与视频的传输更受到广泛的关注。
然而,视频数据具有庞大的数据量,以普通的25帧每秒,CIF格式(分辨率为352×288)的视频图像为例,一秒钟的原始视频数据速率高达3.8M字节。
不对视频信号进行压缩根本无法实时传输如此庞大的数据量,因此,视频压缩技术成为研究热点。
【知识点】H264,H265硬件编解码基础及码流分析前⾔⾳视频开发需要你懂得⾳视频中⼀些基本概念,针对编解码⽽⾔,我们必须提前懂得编解码器的⼀些特性,码流的结构,码流中⼀些重要信息如sps,pps,vps,start code以及基本的⼯作原理,⽽⼤多同学都只是⼀知半解,所以导致代码中的部分内容虽可以简单理解却不知其意,所以,在这⾥总结出了当前主流的H.264,H.265编码相关的原理,以供学习.1. 概览1.1. 为什么要编码众所周知,视频数据原始体积是巨⼤的,以720P 30fps的视频为例,⼀个像素⼤约3个字节,如下所得,每秒钟产⽣87MB,这样计算可得⼀分钟就将产⽣5.22GB。
数据量/每秒=1280*720*33*3/1024/1024=87MB因此,像这样体积重⼤的视频是⽆法在⽹络中直接传输的.⽽视频编码技术也就因运⽽⽣.关于视频编码原理的技术可以参考本⼈其他⽂章,这⾥不做过多描述.1.2. 编码技术经过很多年的开发迭代,已经有很多⼤⽜实现了视频编码技术,其中最主流的有H.264编码,以及新⼀代的H.265编码,⾕歌也开发了VP8,VP9编码技术.对移动端⽽⾔,苹果内部已经实现了如H.264,H.265编码,我们需要使⽤苹果提供的VideoToolbox框架来实现它.1.3. 编码分类软件编码(简称软编):使⽤CPU进⾏编码。
硬件编码(简称硬编):不使⽤CPU进⾏编码,使⽤显卡GPU,专⽤的DSP、FPGA、ASIC芯⽚等硬件进⾏编码。
优缺点软编:实现直接、简单,参数调整⽅便,升级易,但CPU负载重,性能较硬编码低,低码率下质量通常⽐硬编码要好⼀点。
硬编:性能⾼,低码率下通常质量低于硬编码器,但部分产品在GPU硬件平台移植了优秀的软编码算法(如X264)的,质量基本等同于软编码。
iOS系统中的硬编码苹果在iOS 8.0系统之前,没有开放系统的硬件编码解码功能,不过Mac OS系统⼀直有,被称为Video ToolBox的框架来处理硬件的编码和解码,终于在iOS 8.0后,苹果将该框架引⼊iOS系统。
视频编解码中的H.264压缩技术视频编解码技术是修炼黑科技不可以绕过的坎,而H.264压缩技术则是其中最为重要的一环。
本文将从什么是H.264开始,逐步深入地介绍它的原理、优点、应用以及未来发展趋势。
一、H.264是什么H.264是一种视频编解码标准,也被称为AVC (Advanced Video Coding)。
由国际电信联盟-电信标准部门(ITUT)和国际标准组织(ISO)联合制定,被广泛应用于数字电视、蓝光光盘、网络视频传输以及移动设备等领域。
二、H.264的原理视频编解码器将原始视频数据编码成文件以便传输或存储,然后解码器将文件还原成原始视频数据。
H.264压缩技术的原理即是在传输或存储视频数据前通过对视频数据进行压缩,以减少传输或存储的带宽和容量,节省空间和成本。
H.264压缩技术的原理在于,利用该技术对视频数据进行逐帧压缩,减少冗余信息,把每一帧视频分割成一些较小的块,并逐个压缩这些块。
在编码时,H.264使用多种技术来减少数据的冗余,例如帧内预测、帧间预测、运动估计等方法。
还可以通过多帧平均来消除噪声,使画面更加清晰,同时保留细节。
三、H.264的优点1. 较高的压缩比例H.264压缩技术相对于先前的技术,具有更高的压缩比率,相同分辨率的视频可以在更小的带宽和存储空间下传输或存储,大大降低了传输和存储成本。
2. 更高的视频品质H.264压缩技术采用多种编码技巧来减少数据冗余,同时压缩视频时也能保证相对较高的视频品质。
经过H.264编码的视频,画面更加清晰,效果更加逼真。
3. 更多的应用场景由于H.264压缩技术具有较高的压缩比、优秀的视频品质以及可广泛适用于不同领域的特点,因此H.264在数字广播、数字视频录像机、视频会议、互联网视频等多个领域广泛应用。
四、H.264的应用1. 数字电视在数字电视领域,H.264已成为主流的视频编解码标准。
采用H.264压缩技术的数字电视信号,可以在有限的带宽下传输。
H264编码原理以及I帧、B和P帧详解,H264码流结构分析H264码流结构分析/chenchong_219/article/details/379905411、码流总体结构:h264的功能分为两层,视频编码层(VCL)和⽹络提取层(NAL)。
H.264 的编码视频序列包括⼀系列的NAL 单元,每个NAL 单元包含⼀个RBSP。
⼀个原始的H.264 NALU 单元常由 [StartCode] [NALU Header] [NALU Payload] 三部分组成,其中 Start Code ⽤于标⽰这是⼀个NALU 单元的开始,必须是"00 00 00 01" 或"0000 01"。
其中RBPS有分为⼏种类型:NAL的解码单元的流程如下:2、 NAL Header:占⼀个字节,由三部分组成forbidden_bit(1bit),nal_reference_bit(2bits)(优先级),nal_unit_type(5bits)(类型)。
forbidden_bit:禁⽌位。
nal_reference_bit:当前NAL的优先级,值越⼤,该NAL越重要。
nal_unit_type :NAL类型。
参见下表⼏个例⼦:3、 ffmpeg解析H264流程分析这是⼀段实际的码流在上⾯的图⽚中,共有三个起始码:0x00 0000 01const uint8_t*ff_h264_decode_nal(H264Context*h, const uint8_t *src,int *dst_length, int*consumed, int length)中分析过程为:h->nal_ref_idc= src[0] >> 5;h->nal_unit_type= src[0] & 0x1F;此处src[0]即为06,写成⼆进制位0000 0110,则h->nal_ref_idc = 0,h->nal_unit_type = 6可以判断这个NALU类型为SEI,重要性优先级为0。
前言:目前很多摄像机采用了H.265的编码标准,H.264编码的摄像机逐渐减少,为什么H.265会流行?H.264和H.265有何不同?正文:一、什么是H.265H.265是ITU-TVCEG继H.264之后所制定的新的视频编码标准。
H.265标准围绕着现有的视频编码标准H.264,保留原来的某些技术,同时对一些相关的技术加以改进。
新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。
具体的研究内容包括:提高压缩效率、提高鲁棒性和错误恢复能力、减少实时的时延、减少信道获取时间和随机接入时延、降低复杂度等。
H264由于算法优化,可以低于1Mbps的速度实现标清数字图像传送;H265则可以实现利用1~2Mbps的传输速度传送720P(分辨率1280*720)普通高清音视频传送。
H.265旨在在有限带宽下传输更高质量的网络视频,仅需原先的一半带宽即可播放相同质量的视频。
这也意味着,我们的智能手机、平板机等移动设备将能够直接在线播放1080p的全高清视频。
H.265标准也同时支持4K(4096×2160)和8K(8192×4320)超高清视频。
可以说,H.265标准让网络视频跟上了显示屏“高分辨率化”的脚步。
二、什么是H.264H.264,同时也是MPEG-4第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。
这个标准通常被称之为H.264/AVC(或者AVC/H.264或者H.264/MPEG-4AVC或MPEG-4/H.264 AVC)而明确的说明它两方面的开发者。
H.264最大的优势是具有很高的数据压缩比率,在同等图像质量的条件下,H.264的压缩比是MPEG-2的2倍以上,是MPEG-4的1.5~2倍。
举个例子,原始文件的大小如果为88GB,采用MPEG-2压缩标准压缩后变成3.5GB,压缩比为25∶1,而采用H.264压缩标准压缩后变为879MB,从88GB到879MB,H.264的压缩比达到惊人的102∶1。
H.264编码技术基本知识一、视频编码技术的发展历程视频编码技术基本是由ISO/IEC制定的MPEG-x和ITU-T制定的H.26x两大系列视频编码国际标准的推出。
从H.261视频编码建议,到H.262/3、MPEG-1/2/4等都有一个共同的不断追求的目标,即在尽可能低的码率(或存储容量)下获得尽可能好的图像质量。
而且,随着市场对图像传输需求的增加,如何适应不同信道传输特性的问题也日益显现出来。
于是IEO/IEC和ITU-T两大国际标准化组织联手制定了视频新标准H.264来解决这些问题。
H.261是最早出现的视频编码建议,目的是规范ISDN网上的会议电视和可视电话应用中的视频编码技术。
它采用的算法结合了可减少时间冗余的帧间预测和可减少空间冗余的DCT变换的混合编码方法。
和ISDN信道相匹配,其输出码率是p×64kbit/s。
p取值较小时,只能传清晰度不太高的图像,适合于面对面的电视电话;p取值较大时(如p>6),可以传输清晰度较好的会议电视图像。
H.263 建议的是低码率图像压缩标准,在技术上是H.261的改进和扩充,支持码率小于64kbit/s的应用。
但实质上H.263以及后来的H.263+和H.263++已发展成支持全码率应用的建议,从它支持众多的图像格式这一点就可看出,如Sub-QCIF、QCIF、CIF、4CIF甚至16CIF等格式。
MPEG-1标准的码率为1.2Mbit/s左右,可提供30帧CIF(352×288)质量的图像,是为CD-ROM光盘的视频存储和播放所制定的。
MPEG-l标准视频编码部分的基本算法与H.261/H.263相似,也采用运动补偿的帧间预测、二维DCT、VLC游程编码等措施。
此外还引入了帧内帧(I)、预测帧(P)、双向预测帧(B)和直流帧(D)等概念,进一步提高了编码效率。
在MPEG-1的基础上,MPEG-2标准在提高图像分辨率、兼容数字电视等方面做了一些改进,例如它的运动矢量的精度为半像素;在编码运算中(如运动估计和DCT)区分"帧"和"场";引入了编码的可分级性技术,如空间可分级性、时间可分级性和信噪比可分级性等。
近年推出的MPEG-4标准引入了基于视听对象(AVO:Audio-Visual Object)的编码,大大提高了视频通信的交互能力和编码效率。
MPEG-4中还采用了一些新的技术,如形状编码、自适应DCT、任意形状视频对象编码等。
但是MPEG-4的基本视频编码器还是属于和H.263相似的一类混合编码器。
总之,H.261建议是视频编码的经典之作,H.263是其发展,并将逐步在实际上取而代之,主要应用于通信方面,但H.263众多的选项往往令使用者无所适从。
MPEG系列标准从针对存储媒体的应用发展到适应传输媒体的应用,其核心视频编码的基本框架是和H.261一致的,其中引人注目的MPEG-4的"基于对象的编码"部分由于尚有技术障碍,目前还难以普遍应用。
因此,在此基础上发展起来的新的视频编码建议H.264克服了两者的弱点,在混合编码的框架下引入了新的编码方式,提高了编码效率,面向实际应用。
同时,它是两大国际标准化组织的共同制定的,其应用前景应是不言而喻的。
二、H.264介绍H.264是ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像编码专家组)的联合视频组(JVT:joint video team)开发的一个新的数字视频编码标准,它既是ITU-T 的H.264,又是ISO/IEC的MPEG-4的第10 部分。
1998年1月份开始草案征集,1999年9月,完成第一个草案,2001年5月制定了其测试模式TML-8,2002年6月的JVT第5次会议通过了H.264的FCD板。
2003年3月正式发布。
H.264和以前的标准一样,也是DPCM加变换编码的混合编码模式。
但它采用"回归基本"的简洁设计,不用众多的选项,获得比H.263++好得多的压缩性能;加强了对各种信道的适应能力,采用"网络友好"的结构和语法,有利于对误码和丢包的处理;应用目标范围较宽,以满足不同速率、不同解析度以及不同传输(存储)场合的需求;它的基本系统是开放的,使用无需版权。
在技术上,H.264标准中有多个闪光之处,如统一的VLC符号编码,高精度、多模式的位移估计,基于4×4块的整数变换、分层的编码语法等。
这些措施使得H.264算法具有很的高编码效率,在相同的重建图像质量下,能够比H.263节约50%左右的码率。
H.264的码流结构网络适应性强,增加了差错恢复能力,能够很好地适应IP和无线网络的应用。
三、H.264的技术亮点1、分层设计H.264的算法在概念上可以分为两层:视频编码层(VCL:Video Coding Layer)负责高效的视频内容表示,网络提取层(NAL:Network Abstraction Layer)负责以网络所要求的恰当的方式对数据进行打包和传送。
在VCL和NAL之间定义了一个基于分组方式的接口,打包和相应的信令属于NAL的一部分。
这样,高编码效率和网络友好性的任务分别由VCL 和NAL来完成。
VCL层包括基于块的运动补偿混合编码和一些新特性。
与前面的视频编码标准一样,H.264没有把前处理和后处理等功能包括在草案中,这样可以增加标准的灵活性。
NAL负责使用下层网络的分段格式来封装数据,包括组帧、逻辑信道的信令、定时信息的利用或序列结束信号等。
例如,NAL支持视频在电路交换信道上的传输格式,支持视频在Internet上利用RTP/UDP/IP传输的格式。
NAL包括自己的头部信息、段结构信息和实际载荷信息,即上层的VCL数据。
(如果采用数据分割技术,数据可能由几个部分组成)。
2、高精度、多模式运动估计H.264支持1/4或1/8像素精度的运动矢量。
在1/4像素精度时可使用6抽头滤波器来减少高频噪声,对于1/8像素精度的运动矢量,可使用更为复杂的8抽头的滤波器。
在进行运动估计时,编码器还可选择"增强"内插滤波器来提高预测的效果。
在H.264的运动预测中,一个宏块(MB)可以按图2被分为不同的子块,形成7种不同模式的块尺寸。
这种多模式的灵活和细致的划分,更切合图像中实际运动物体的形状,大大提高了运动估计的精确程度。
在这种方式下,在每个宏块中可以包含有1、2、4、8或16个运动矢量。
在H.264中,允许编码器使用多于一帧的先前帧用于运动估计,这就是所谓的多帧参考技术。
例如2帧或3帧刚刚编码好的参考帧,编码器将选择对每个目标宏块能给出更好的预测帧,并为每一宏块指示是哪一帧被用于预测。
3、4×4块的整数变换H.264与先前的标准相似,对残差采用基于块的变换编码,但变换是整数操作而不是实数运算,其过程和DCT基本相似。
这种方法的优点在于:在编码器中和解码器中允许精度相同的变换和反变换,便于使用简单的定点运算方式。
也就是说,这里没有"反变换误差"。
变换的单位是4×4块,而不是以往常用的8×8块。
由于用于变换块的尺寸缩小,运动物体的划分更精确,这样,不但变换计算量比较小,而且在运动物体边缘处的衔接误差也大为减小。
为了使小尺寸块的变换方式对图像中较大面积的平滑区域不产生块之间的灰度差异,可对帧内宏块亮度数据的16个4×4块的DC系数(每个小块一个,共16个)进行第二次4×4块的变换,对色度数据的4个4×4块的DC系数(每个小块一个,共4个)进行2×2块的变换。
H.264为了提高码率控制的能力,量化步长的变化的幅度控制在12.5%左右,而不是以不变的增幅变化。
变换系数幅度的归一化被放在反量化过程中处理以减少计算的复杂性。
为了强调彩色的逼真性,对色度系数采用了较小量化步长。
4、统一的VLCH.264中熵编码有两种方法,一种是对所有的待编码的符号采用统一的VLC(UVLC :Universal VLC),另一种是采用内容自适应的二进制算术编码(CABAC:Context-Adaptive Binary Arithmetic Coding)。
CABAC是可选项,其编码性能比UVLC稍好,但计算复杂度也高。
UVLC使用一个长度无限的码字集,设计结构非常有规则,用相同的码表可以对不同的对象进行编码。
这种方法很容易产生一个码字,而解码器也很容易地识别码字的前缀,UVLC在发生比特错误时能快速获得重同步。
5、帧内预测在先前的H.26x系列和MPEG-x系列标准中,都是采用的帧间预测的方式。
在H.264中,当编码Intra图像时可用帧内预测。
对于每个4×4块(除了边缘块特别处置以外),每个像素都可用17个最接近的先前已编码的像素的不同加权和(有的权值可为0)来预测,即此像素所在块的左上角的17个像素。
显然,这种帧内预测不是在时间上,而是在空间域上进行的预测编码算法,可以除去相邻块之间的空间冗余度,取得更为有效的压缩。
4×4方块中a、b、...、p为16 个待预测的像素点,而A、B、...、P是已编码的像素。
如m点的值可以由(J+2K+L+2)/ 4 式来预测,也可以由(A+B+C+D+I+J+K+L)/ 8 式来预测,等等。
按照所选取的预测参考的点不同,亮度共有9类不同的模式,但色度的帧内预测只有1类模式。
6、面向IP和无线环境H.264 草案中包含了用于差错消除的工具,便于压缩视频在误码、丢包多发环境中传输,如移动信道或IP信道中传输的健壮性。
为了抵御传输差错,H.264视频流中的时间同步可以通过采用帧内图像刷新来完成,空间同步由条结构编码(slice structured coding)来支持。
同时为了便于误码以后的再同步,在一幅图像的视频数据中还提供了一定的重同步点。
另外,帧内宏块刷新和多参考宏块允许编码器在决定宏块模式的时候不仅可以考虑编码效率,还可以考虑传输信道的特性。
除了利用量化步长的改变来适应信道码率外,在H.264中,还常利用数据分割的方法来应对信道码率的变化。
从总体上说,数据分割的概念就是在编码器中生成具有不同优先级的视频数据以支持网络中的服务质量QoS。
例如采用基于语法的数据分割(syntax-based data partitioning)方法,将每帧数据的按其重要性分为几部分,这样允许在缓冲区溢出时丢弃不太重要的信息。
还可以采用类似的时间数据分割(temporal data partitioning)方法,通过在P帧和B帧中使用多个参考帧来完成。
在无线通信的应用中,我们可以通过改变每一帧的量化精度或空间/时间分辨率来支持无线信道的大比特率变化。