视频压缩I,B,P帧的区别及特点
- 格式:docx
- 大小:15.69 KB
- 文档页数:1
ffmpeg gop参数FFmpeg中的GOP参数指的是GroupofPictures,也就是一组图像的帧,是视频编码中的一个重要参数。
GOP参数的设置可以影响视频的压缩质量和文件大小。
下面介绍FFmpeg中的GOP参数及其作用。
1.关键帧间隔(I帧间隔)关键帧是视频编码中的重要帧,也就是I帧。
设置关键帧的间隔可以影响视频的压缩质量和文件大小。
一般来说,关键帧间隔越长,则视频压缩比例越高,文件大小越小,但是视频解码时的画质会下降。
如果关键帧间隔设置过短,会增加I帧的数量,从而导致文件大小增加。
FFmpeg中设置GOP参数的命令为:-g [num]其中,[num]表示关键帧间隔,单位为帧数。
默认值为12帧。
2.参考帧间隔(P帧间隔)参考帧是视频编码中的一种帧,也就是P帧。
P帧是根据前面一帧的预测信息编码的,可以减小文件大小。
设置参考帧的间隔可以影响视频压缩质量和文件大小。
一般来说,参考帧间隔越长,则文件大小越小,但是视频解码时的画质会下降。
如果参考帧间隔设置过短,会增加P帧的数量,从而导致文件大小增加。
FFmpeg中设置GOP参数的命令为:-refs [num]其中,[num]表示参考帧的数量,默认值为1。
3.双向预测帧间隔(B帧间隔)双向预测帧是视频编码中的一种帧,也就是B帧。
B帧是根据前后两帧的预测信息编码的,可以更好地压缩视频。
设置双向预测帧的间隔可以影响视频压缩质量和文件大小。
一般来说,双向预测帧间隔越长,则视频压缩比例越高,文件大小越小,但是视频解码时的画质会下降。
如果双向预测帧间隔设置过短,会增加B帧的数量,从而导致文件大小增加。
FFmpeg中设置GOP参数的命令为:-bf [num]其中,[num]表示双向预测帧间隔,默认值为2帧。
总的来说,设置适当的GOP参数可以在保证视频画质的情况下,达到较好的压缩效果。
不同的视频需要根据实际情况来设置不同的GOP参数。
1. MPEG-1的图像格式在MPEG-1中信源输入格式(SIF)为2:1:0格式。
2. MPEG-1的SIF参数(704/2=352)3.讨论①MPEG-1的清晰度240线取决于其亮度信号的采样频率(6.75 M时的图像信号为3 M,3×80=240)②PAL制与NTSC制码率相同,均为:30.4128 Mb/sPAL制1帧图像=352×288+176×144×2=152064像素NTSC制1帧图像=352×240+176×120×2=126720像素PAL制和NTSC制的像素速率相等,且为:152064×25 = 126720×30 = 3.8016兆像素/s使用8位量化后,则码率为:3.8016×8 = 30.4128 Mb/s4. MPEG-1应用VCDMPEG压缩中的 I、B、P帧(1) MPEG-1压缩的基本思想:同时采用降低图像标准、帧内压缩和帧间压缩。
(2) 时间相关性的统计分析:统计的结果表明,在间隔1~2帧的图像中,各像素只有10%以下的点,其亮度差值变化超过2%,而色度差值的变化只有1%以下。
采用的压缩方法:分组:把几帧图像分为一组(GOP),为防止运动变化,帧数不宜取多。
图帧组GOP①定义帧:将每组内各帧图像定义为三种类型,即I帧、B帧和P帧。
②预测帧:以I帧做为基础帧,以I帧预测P帧,再由I帧和P帧预测B帧。
③数据传输:最后将I帧数据与预测的差值信息进行存储和传输。
I帧:帧内编码帧I1.帧特点:①它是一个全帧压缩编码帧。
它将全帧图像信息进行JPEG压缩编码及传输。
②解码时仅用I帧的数据就可重构完整图像。
[宽网多媒体资料: MPEG压缩中的I、B、P帧---武汉宽网宽网多媒体技术宽网论坛]③I帧描述了图像背景和运动主体的详情。
④I帧不需要参考其他画面而生成。
⑤I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量)。
i帧和p帧的关系在视频编码中,i帧和p帧是两种常用的帧类型。
它们之间存在着密切的关系,相互配合,共同构成了视频的完整画面。
本文将就i帧和p帧的关系展开探讨。
一、i帧和p帧的定义和特点i帧(intra frame)即帧内编码帧,也被称为关键帧。
它是视频序列中的某一帧,它的压缩仅依靠自身的数据进行,与其他帧之间没有关联。
i帧是视频的起始帧,也是解码器恢复视频的起点。
每个i 帧都是一个完整的画面,包含了丰富的空间信息,因此它的文件大小通常较大。
p帧(predictive frame)即帧间预测编码帧。
它是根据前一帧(一般为i帧或p帧)进行差异编码,通过预测和补偿来实现数据的压缩。
p帧只存储了发生变化的像素信息,因此文件大小相对较小。
p帧通过参考前一帧的像素信息来进行解码,从而恢复出完整的画面。
二、i帧和p帧的关系i帧和p帧是视频编码中的两个重要概念,它们之间存在着密切的关系。
在视频序列中,通常会以i帧为起点,后续的p帧通过对前一帧的预测和补偿来实现数据的压缩。
具体而言,p帧通过对前一帧进行运动估计和运动补偿,找出两帧之间的差异,并只存储这些差异。
这样一来,视频序列中的连续帧之间的差异就被有效地减小了,从而实现了更高效的压缩。
在解码时,解码器首先解码i帧,然后根据i帧的信息进行p帧的解码。
由于p帧仅存储了差异信息,因此解码时需要结合参考帧进行像素的恢复。
解码器会根据前一帧的像素信息和p帧的差异信息进行像素的重构,从而还原出完整的画面。
通过不断地参考前一帧的信息,p帧可以实现对整个视频序列的高效压缩和解码。
三、i帧和p帧的应用i帧和p帧的应用广泛存在于各种视频编码标准中,如H.264、H.265等。
在实际应用中,编码器会根据视频的特点和要求,合理地选择i帧和p帧的间隔和数量,以实现更好的压缩效果和视频质量。
通常情况下,i帧的间隔较长,而p帧的间隔较短,以保证视频的连续性和流畅性。
i帧和p帧的应用也在实时视频传输中具有重要意义。
gop序列的起始帧I帧是GOP序列中的关键帧,也被称为内部编码帧。
它是视频序列中的一个完整图像,不依赖于其他帧的信息。
因此,I帧的压缩比较低,但图像质量较高。
在视频播放时,每个GOP的第一个帧都是I帧,它可以作为随机访问的参考点,用户可以通过选择I帧来快速定位视频的某个位置。
P帧是预测编码帧,它依赖于前面的I帧或P帧进行编码。
P帧通过对前面帧的运动估计和差分编码实现压缩,从而减少了数据量。
P 帧的图像质量相对较低,但是压缩比较高,可以减少存储空间和传输带宽。
P帧的一个重要特性是它可以在解码时通过参考前面的帧进行恢复,从而实现视频序列的连续播放。
B帧是双向预测编码帧,它既依赖于前面的帧,也依赖于后面的帧。
B帧通过对前后帧的运动估计和差分编码实现压缩。
由于B帧可以参考前后两个位置的帧进行编码,所以它的压缩比较高。
然而,由于B帧的解码需要参考后面的帧,所以在实时传输和视频通话等场景中,B帧的使用会增加延迟。
在实际的视频编码中,GOP序列的长度是可以调节的。
较长的GOP 序列可以提高编码效率,减少码率和存储空间的消耗,但会增加解码的延迟。
较短的GOP序列可以减少延迟,但会增加编码的复杂度和码率的波动。
除了I帧、P帧和B帧之外,GOP序列还包括一些辅助帧,如SP帧和SI帧。
SP帧是指在两个I帧之间的P帧,它可以作为随机访问点的参考。
SI帧是指在两个I帧之间的I帧,它可以提供额外的图像信息,以提高压缩效果。
在视频编码中,GOP序列的设计和选择是一个权衡和优化的过程。
根据不同的应用场景和要求,可以选择不同的GOP序列结构和长度。
在实时传输和视频通话等场景中,通常采用较短的GOP序列,以减少延迟。
而在视频存储和网络传输等场景中,通常采用较长的GOP 序列,以提高压缩效率和节省存储空间。
GOP序列是视频编码中常用的一种压缩格式,它由一系列相互关联的帧组成。
其中,I帧是关键帧,P帧是预测编码帧,B帧是双向预测编码帧。
视频压缩的各种格式在MPEG-1MPEG视频压缩编码后包括三种元素:I帧(I-frames)、P帧(P-frames)和B帧(B-frames)。
在MPEG编码的过程中,部分视频帧序列压缩成为I帧;部分压缩成P帧;还有部分压缩成B帧。
I帧法是帧内压缩法,也称为“关键帧”压缩法。
I帧法是基于离散余弦变换DCT(Discrete Cosine Transform )的压缩技术,这种算法与JPEG压缩算法类似。
采用I帧压缩可达到1/6的压缩比而无明显的压缩痕迹。
在保证图像质量的前提下实现高压缩的压缩算法,仅靠帧内压缩是不能实现的,MPEG采用了帧间和帧内相结合的压缩算法。
P帧法是一种前向预测算法,它考虑相邻帧之间的相同信息或数据,也即考虑运动的特性进行帧间压缩。
P帧法是根据本帧与相邻的前一帧(I帧或P帧)的不同点来压缩本帧数据。
采取P帧和I帧联合压缩的方法可达到更高的压缩且无明显的压缩痕迹。
然而,只有采用B帧压缩才能达到200:1的高压缩。
B帧法是双向预测的帧间压缩算法。
当把一帧压缩成B帧时,它根据相邻的前一帧、本帧以及后一帧数据的不同点来压缩本帧,也即仅记录本帧与前后帧的差值。
B帧数据只有I帧数据的百分之十五、P帧数据的百分之五十以下。
MPEG标准采用类似4:2:2的采用格式,压缩后亮度信号的分辨率为352×240,两个色度信号分辨率均为176×120,这两种不同分辨率信息的帧率都是每秒30帧。
其编码的基本方法是在单位时间内,首先采集并压缩第一帧的图像为I帧。
然后对于其后的各帧,在对单帧图像进行有效压缩的基础上,只存储其相对于前后帧发生变化的部分。
帧间压缩的过程中也常间隔采用帧内压缩法,由于帧内(关键帧)的压缩不基于前一帧,一般每隔15帧设一关键帧,这样可以减少相关前一帧压缩的误差积累。
MPEG编码器首先要决定压缩当前帧为I帧或P帧或B 帧,然后采用相应的算法对其进行压缩。
一个视频序列经MPEG全编码压缩后可能的格式为:IBBPBBPBBPBBPBBIBBPBBPBBPBBPBBI......压缩成B帧或P帧要比压缩成I帧需要多得多的计算处理时间。
视频编码之I帧率、P帧、B帧1. 视频传输原理视频是利用人眼视觉暂留的原理,通过播放一系列的图片,使人眼产生运动的感觉。
单纯传输视频画面,视频量非常大,对现有的网络和存储来说是不可接受的。
为了能够使视频便于传输和存储,人们发现视频有大量重复的信息,如果将重复信息在发送端去掉,在接收端恢复出来,这样就大大减少了视频数据的文件,因此有 了H.264视频压缩标准。
在H.264压缩标准中I帧、P帧、B帧用于表示传输的视频画面。
1、I帧I帧又称帧内编码帧,是一种自带全部信息的独立帧,无需参考其他图像便可独立进行解码,可以简单理解为一张静态画面。
视频序列中的第一个帧始终都是I帧,因为它是关键帧。
2、P帧P帧又称帧间预测编码帧,需要参考前面的I帧才能进行编码。
表示的是当前帧画面与前一帧(前一帧可能是I帧也可能是P帧)的差别。
解码时需要用之 前缓存的画面叠加上本帧定义的差别,生成最终画面。
与I 帧相比,P帧通常占用更少的数据位,但不足是,由于P帧对前面的P和I参考帧有着复杂的依耐性,因 此对传输错误非常敏感。
3、B帧B帧又称双向预测编码帧,也就是B帧记录的是本帧与前后帧的差别。
也就是说要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。
B帧压缩率高,但是对解码性能要求较高。
总结:I帧只需考虑本帧;P帧记录的是与前一帧的差别;B帧记录的是前一帧及后一帧的差别,能节约更多的空间,视频文件小了,但相对来说解码的时候就比较麻烦。
因为在解码时,不仅要用之前缓存的画面,而且要知道下一个I或者P的画面,对于不支持B帧解码的播放器容易卡顿。
视频监控系统中预览的视频画面是实时的,对画面的流畅性要求较高。
采用I帧、P帧进行视频传输可以提高网络的适应能力,且能降低解码成本所以现阶段的视频解码都只采用I帧和P帧进行传输。
海康摄像机编码,I帧间隔是50,含49个P帧。
帧的类型逐字稿I帧I帧是视频编码中的一种关键帧,即独立帧。
在压缩视频时,编码器会根据前一帧或几帧的信息对当前帧进行预测,然后只编码预测误差。
这样可以减少视频数据量,但是如果一直使用预测编码,误差会逐渐累积,导致画面质量下降。
为了避免这种情况,编码器会定期插入I帧。
I帧是完整的图像帧,不依赖于前面的帧,只编码当前帧的信息。
因此,I帧在解码时可以独立显示,不需要依赖其他帧。
由于I帧的数据量较大,视频中I帧的间隔时间越长,数据量就会越小。
但是如果I帧间隔时间过长,画面质量会下降,因为预测误差会逐渐累积,导致画面失真。
P帧P帧是视频编码中的预测帧。
P帧不是完整的图像帧,而是通过参考前一帧(I帧或P帧)来进行预测编码。
P帧只编码当前帧与参考帧的差异,因此数据量比I帧小。
P帧的编码方式是通过运动估计来实现的。
编码器会将当前帧与参考帧进行比较,找到最相似的部分,并计算它们之间的差异。
然后,编码器只编码这些差异。
这样可以大大减少视频数据量,提高压缩效率。
B帧B帧是视频编码中的双向预测帧。
B帧不仅参考前一帧(I帧或P 帧),还参考后一帧(P帧或I帧)。
B帧通过对前后两帧的预测来进行编码,数据量比P帧还要小。
B帧的编码方式是先找到前一帧和后一帧中最相似的部分,计算它们之间的差异。
然后,编码器再根据这个差异来预测当前帧的信息。
这样可以减少数据量,提高压缩效率。
总结在视频编码中,I帧是完整的图像帧,不依赖于其他帧;P帧是参考前一帧进行预测编码;B帧是参考前后两帧进行双向预测编码。
这三种帧类型在视频编码中相互配合,实现高效的视频压缩和传输。
标准帧和扩展帧的区别标准帧和扩展帧是视频编码中的重要概念,它们在视频的压缩和传输中起着至关重要的作用。
标准帧和扩展帧之间有着一些显著的区别,本文将对它们进行详细的介绍和比较。
首先,我们来看一下标准帧。
标准帧是视频编码中最基本的帧类型,也称为I帧(Intra Frame)。
每个标准帧都是独立的,它包含了完整的图像信息,不依赖于其他帧的信息。
在视频播放时,解码器可以直接解析和显示标准帧,因此它们在视频的快速定位和随机访问中起着重要作用。
标准帧通常用于视频的起始部分、镜头切换和画面变化较大的场景中。
接下来,我们来介绍一下扩展帧。
扩展帧是视频编码中的一种补充帧类型,它包括P帧(Predicted Frame)和B帧(Bidirectional Predicted Frame)。
P帧通过对前向参考帧进行运动补偿来预测当前帧的内容,而B帧则同时利用前后两个参考帧进行预测。
由于扩展帧的编码方式与前后帧相关联,因此它们在解码时需要依赖于其他帧的信息。
扩展帧通常用于视频中连续的运动图像和相似画面的编码中,能够有效地减小视频的码率,提高压缩效率。
在实际的视频编码中,标准帧和扩展帧通常是交替出现的。
编码器会根据视频内容的特点和压缩效率的要求来选择合适的帧类型进行编码。
在视频的序列头部和镜头切换等场景中,通常会使用标准帧进行编码,以保证视频的快速定位和高质量的解码。
而在视频的连续运动图像和相似画面中,编码器会倾向于使用扩展帧进行编码,以实现更高的压缩比和更小的码率。
总的来说,标准帧和扩展帧在视频编码中各有其重要作用。
标准帧独立性强,适用于视频的快速定位和随机访问;而扩展帧能够通过运动补偿和帧间预测来实现高效的压缩和传输。
在实际的视频编码和传输过程中,合理地组织和利用这两种帧类型,能够有效地提高视频的压缩效率和传输质量,为用户带来更好的观看体验。
综上所述,标准帧和扩展帧在视频编码中各有其独特的作用和优势,它们的合理组织和应用能够为视频的压缩和传输带来巨大的好处。
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.264/AVC。
H.264/AVC是一种先进的视频压缩标准,它采用了先进的视频编码技术,能够在保持较高视频质量的同时,将视频文件的大小减小到较小的程度。
H.264/AVC广泛应用于数字电视、高清视频、蓝光光盘等领域。
它具有良好的压缩效率和广泛的兼容性,是目前应用最为广泛的视频压缩标准之一。
二、H.265/HEVC。
H.265/HEVC是H.264/AVC的升级版,它在保持较高视频质量的基础上,进一步提高了压缩效率。
H.265/HEVC能够将视频文件的大小减小到更小的程度,因此在4K、8K超高清视频领域得到了广泛的应用。
然而,由于H.265/HEVC的编码复杂度较高,因此在一些低端设备上可能无法很好地支持。
三、VP9。
VP9是由Google开发的一种开放式视频压缩标准,它采用了先进的编码技术,能够在保持较高视频质量的同时,将视频文件的大小减小到较小的程度。
VP9广泛应用于在线视频领域,如YouTube等视频网站。
由于VP9是一种开放式标准,因此在一些开源项目中得到了广泛的应用。
四、AV1。
AV1是由Alliance for Open Media组织开发的一种开放式视频压缩标准,它采用了先进的编码技术,能够在保持较高视频质量的同时,将视频文件的大小减小到较小的程度。
AV1具有良好的压缩效率和广泛的兼容性,是未来发展的方向之一。
然而,由于AV1的编码复杂度较高,因此在一些低端设备上可能无法很好地支持。
在选择视频压缩标准时,需要根据具体的应用场景和需求来进行选择。
若是在数字电视、高清视频等领域,H.264/AVC可能是一个不错的选择;若是在4K、8K超高清视频领域,H.265/HEVC可能更为适合;若是在在线视频领域,VP9可能是一个不错的选择;而未来的发展方向则可能是AV1。
I,P,B帧和PTS,DTS的关系基本概念:I frame :帧内编码帧又称intra picture,I 帧通常是每个GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象。
I帧可以看成是一个图像经过压缩后的产物。
P frame: 前向预测编码帧又称predictive-frame,通过充分将低于图像序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图像,也叫预测帧;B frame: 双向预测内插编码帧又称bi-directional interpolated prediction frame,既考虑与源图像序列前面已编码帧,也顾及源图像序列后面已编码帧之间的时间冗余信息来压缩传输数据量的编码图像,也叫双向预测帧;PTS:Presentation Time Stamp。
PTS主要用于度量解码后的视频帧什么时候被显示出来DTS:Decode Time Stamp。
DTS主要是标识读入内存中的bit流在什么时候开始送入解码器中进行解码。
在没有B帧存在的情况下DTS的顺序和PTS的顺序应该是一样的。
IPB帧的不同:I frame:自身可以通过视频解压算法解压成一张单独的完整的图片。
P frame:需要参考其前面的一个I frame 或者B frame来生成一张完整的图片。
B frame:则要参考其前一个I或者P帧及其后面的一个P帧来生成一张完整的图片。
两个I frame之间形成一个GOP,在x264中同时可以通过参数来设定bf的大小,即:I 和p或者两个P之间B的数量。
通过上述基本可以说明如果有B frame 存在的情况下一个GOP的最后一个frame一定是P.DTS和PTS的不同:DTS主要用于视频的解码,在解码阶段使用.PTS主要用于视频的同步和输出.在display的时候使用.在没有B frame的情况下.DTS和PTS的输出顺序是一样的.。
111111111111111111111111111111111111111111111111111111111111111111111111111111 MPEG压缩中的I、B、P帧首先,MPEG-1压缩的基本思想:帧内压缩和帧间压缩。
其次,时间相关性的统计分析:统计的结果表明,在间隔1~2帧的图像中,各像素只有10%以下的点,其亮度差值变化超过2%,而色度差值的变化只有1%以下。
采用的压缩方法: 分组:把几帧图像分为一组(GOP),为防止运动变化,帧数不宜取多。
1.定义帧:将每组内各帧图像定义为三种类型,即I帧、B帧和P帧;2.预测帧:以I帧做为基础帧,以I帧预测P帧,再由I帧和P帧预测B帧;3.数据传输:最后将I帧数据与预测的差值信息进行存储和传输。
I帧:帧内编码帧I帧特点:1.它是一个全帧压缩编码帧。
它将全帧图像信息进行JPEG压缩编码及传输;2.解码时仅用I帧的数据就可重构完整图像;3.I帧描述了图像背景和运动主体的详情;4.I帧不需要参考其他画面而生成;5.I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量);6.I帧是帧组GOP的基础帧(第一帧),在一组中只有一个I帧;7.I帧不需要考虑运动矢量;8.I帧所占数据的信息量比较大。
P帧:前向预测编码帧。
P帧的预测与重构:P帧是以I帧为参考帧,在I帧中找出P帧“某点”的预测值和运动矢量,取预测差值和运动矢量一起传送。
在接收端根据运动矢量从I帧中找出P帧“某点”的预测值并与差值相加以得到P帧“某点”样值,从而可得到完整的P帧。
P帧特点:1.P帧是I帧后面相隔1~2帧的编码帧;2.P帧采用运动补偿的方法传送它与前面的I或P帧的差值及运动矢量(预测误差);3.解码时必须将I帧中的预测值与预测误差求和后才能重构完整的P帧图像;4.P帧属于前向预测的帧间编码。
它只参考前面最靠近它的I帧或P帧;5.P帧可以是其后面P帧的参考帧,也可以是其前后的B帧的参考帧;6.由于P帧是参考帧,它可能造成解码错误的扩散;7.由于是差值传送,P帧的压缩比较高。
MPEG图像编码包含3个成分I帧,P帧和B帧在视频应用中,经常都需要对视频进行压缩编码处理,而MPEG则是应用非常广泛的一种视频压缩格式。
出于以下两个原因,视频图像卡必须压缩。
第一,传输数字图像所需的带宽远窄于未压缩图像,例如,NTSC图像以大约640*480的分率,24bits/象素,每秒30帧的质量传输时,其数据率达28Mbytes/秒或221 Mbytes/秒,此外,NTSC声音信号还要使此未压缩图像的比特率再增加一些,然而单速CD-ROM(1X)驱动器只能以1.2Mbits的速率传输数据。
第二,以28Mbytes/秒的速率,15秒的未压缩图像将占用420 Mbytes的内存空间,这对于大多数只能处理小图像贴片的台式机来说都是不可接受的。
当今图像加入电子信关键问题是压缩方式。
有几种不同的压缩方式,但MPEG是最有市场潜力的压缩方式。
MPEG的历史和优点MPEG(即Moving Picture Experts Group移动图像专家小组),是ISO11172国际标准。
MPEG-1和MPEG-2特别重要。
用于加速CD-ROM中图像传输。
它的目的是把221Mbit/秒的NTSC图像流压缩到1.2Mbits/秒,压缩率为200:1。
这是图像压缩的工业认可标准。
MPEG-2用于宽带传输的图像,图像质量达到电视广播甚至HDTV的标准,和MPEG-1相比,MPEG-2支持更广的分率和比特率范围,将成为数字图像磁盘(DVD)和数字电视广播的压缩方式。
这些市场将和计算机市场交织在一起,从而使MPEG-2成为计算机的一种重要的图像压缩标准。
这一点非常重要,因为将MPEG-1的比特流解压缩时需要用到MPEG-2的解压缩器。
MPEG如何工作MPEG-1的特点是它是一种粗量化,非平衡编码。
粗量化意味着为达到低比特率,一些图像和伴音信息将丢失,通常这些信息是人眼和人耳最不敏感的信息,因此即使以1XCD-ROM的速率压缩也能达到VHS的图像质量和高保真立体声印象的效果。
MPEG压缩中的 I、B、P帧首先,MPEG-1压缩的基本思想:帧内压缩和帧间压缩。
其次,时间相关性的统计分析:统计的结果表明,在间隔1~2帧的图像中,各像素只有10%以下的点,其亮度差值变化超过2%,而色度差值的变化只有1%以下。
采用的压缩方法: 分组:把几帧图像分为一组(GOP),为防止运动变化,帧数不宜取多。
1.定义帧:将每组内各帧图像定义为三种类型,即I帧、B帧和P帧;2.预测帧:以I帧做为基础帧,以I帧预测P帧,再由I帧和P帧预测B帧;3.数据传输:最后将I帧数据与预测的差值信息进行存储和传输。
I帧:帧内编码帧I帧特点:1.它是一个全帧压缩编码帧。
它将全帧图像信息进行JPEG压缩编码及传输;2.解码时仅用I帧的数据就可重构完整图像;3.I帧描述了图像背景和运动主体的详情;4.I帧不需要参考其他画面而生成;5.I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量);6.I帧是帧组GOP的基础帧(第一帧),在一组中只有一个I帧;7.I帧不需要考虑运动矢量;8.I帧所占数据的信息量比较大。
P帧:前向预测编码帧。
P帧的预测与重构:P帧是以I帧为参考帧,在I帧中找出P帧“某点”的预测值和运动矢量,取预测差值和运动矢量一起传送。
在接收端根据运动矢量从I帧中找出P帧“某点”的预测值并与差值相加以得到P帧“某点”样值,从而可得到完整的P帧。
P帧特点:1.P帧是I帧后面相隔1~2帧的编码帧;2.P帧采用运动补偿的方法传送它与前面的I或P帧的差值及运动矢量(预测误差);3.解码时必须将I帧中的预测值与预测误差求和后才能重构完整的P帧图像;4.P帧属于前向预测的帧间编码。
它只参考前面最靠近它的I帧或P帧;5.P帧可以是其后面P帧的参考帧,也可以是其前后的B帧的参考帧;6.由于P帧是参考帧,它可能造成解码错误的扩散;7.由于是差值传送,P帧的压缩比较高。
B帧:双向预测内插编码帧。
B帧的预测与重构B帧以前面的I或P帧和后面的P帧为参考帧,“找出”B帧“某点”的预测值和两个运动矢量,并取预测差值和运动矢量传送。
MPEG压缩中的 I、B、P帧首先,MPEG-1压缩的基本思想:帧内压缩和帧间压缩。
其次,时间相关性的统计分析:统计的结果表明,在间隔1~2帧的图像中,各像素只有10%以下的点,其亮度差值变化超过2%,而色度差值的变化只有1%以下。
采用的压缩方法: 分组:把几帧图像分为一组(GOP),为防止运动变化,帧数不宜取多。
1.定义帧:将每组内各帧图像定义为三种类型,即I帧、B帧和P帧;2.预测帧:以I帧做为基础帧,以I帧预测P帧,再由I帧和P帧预测B帧;3.数据传输:最后将I帧数据与预测的差值信息进行存储和传输。
I帧:帧内编码帧I帧特点:1.它是一个全帧压缩编码帧。
它将全帧图像信息进行JPEG压缩编码及传输;2.解码时仅用I帧的数据就可重构完整图像;3.I帧描述了图像背景和运动主体的详情;4.I帧不需要参考其他画面而生成;5.I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量);6.I帧是帧组GOP的基础帧(第一帧),在一组中只有一个I帧;7.I帧不需要考虑运动矢量;8.I帧所占数据的信息量比较大。
P帧:前向预测编码帧。
P帧的预测与重构:P帧是以I帧为参考帧,在I帧中找出P帧“某点”的预测值和运动矢量,取预测差值和运动矢量一起传送。
在接收端根据运动矢量从I帧中找出P帧“某点”的预测值并与差值相加以得到P帧“某点”样值,从而可得到完整的P帧。
P帧特点:1.P帧是I帧后面相隔1~2帧的编码帧;2.P帧采用运动补偿的方法传送它与前面的I或P帧的差值及运动矢量(预测误差);3.解码时必须将I帧中的预测值与预测误差求和后才能重构完整的P帧图像;4.P帧属于前向预测的帧间编码。
它只参考前面最靠近它的I帧或P帧;5.P帧可以是其后面P帧的参考帧,也可以是其前后的B帧的参考帧;6.由于P帧是参考帧,它可能造成解码错误的扩散;7.由于是差值传送,P帧的压缩比较高。
B帧:双向预测内插编码帧。
B帧的预测与重构B帧以前面的I或P帧和后面的P帧为参考帧,“找出”B帧“某点”的预测值和两个运动矢量,并取预测差值和运动矢量传送。
MPEG图像中的I帧,P帧和B帧MPEG图像编码包含3个成分:I帧,P帧和B帧。
MPEG编码过程中,一些图像压缩成I帧,一些压缩成P帧,另一些压缩成B帧。
I 帧压缩可以得到6;1的压缩比而不产生任何可觉察的模糊现象。
I帧压缩的同时使用P帧压缩,可以达到更高的压缩比而无可觉察的模糊现象。
B帧压缩可以达到200:1的压缩比,其文件尺寸一般为I帧压缩尺寸的15%,不到P帧压缩尺寸的一半。
I帧压缩去掉图像的空间冗余度,P帧和B帧去掉时间冗余度,下文将进一步解释。
I帧压缩采用基准帧模式,只提供帧内压缩,即把帧图像压缩到I 帧时,仅仅考虑了帧内的图像。
I帧压缩不能除去帧间冗余度。
帧内压缩基于离散余弦变换(DCT),类似于JPEG和H.261图像中使用DCT 的压缩标准。
P帧采用预测编码,利用相邻帧的一般统计信息进行预测。
也就是说,它考虑运动特性,提供帧间编码。
P帧预测当前帧与前面最近的I 帧或P帧的差别。
B帧为双向帧间编码。
它从前面和后面的I帧或P帧中提取数据。
B帧基于当前帧与前一帧和后一帧图像之间的差别进行压缩。
MEPG数据流开始时对CCIR-601规定的SIF分辨率的未压缩数字图像进行抽样。
SIF分辨率,对于NTSC制,就是亮度信号为352*240各像素,每个色度信号都为176*120个象素。
各信号都是每秒30帧。
MPEG压缩器决定了当前帧以I帧,P帧还是B帧。
帧确定之后就采用DCT变换,对结果进行量化,舍入,行程编码即变长编码。
编码后的典型图像帧序为:IBBPBBPBBPBBIBBPBBPBBPBBI…B帧和P帧要求计算机有更强的功能。
有些压缩器不能产生B帧或者连P帧也不能产生,则图像的压缩结果将有很明显的间断。
I帧(I frame)——帧内解码图像在MPEG编码的过程中,部分视频帧序列压缩成为I帧;部分压缩成P帧;还有部分压缩成B帧。
I帧法是帧内压缩法,也称为“关键帧”压缩法。
I帧法是基于离散余弦变换DCT(Discrete Cosine Transform)的压缩技术,这种算法与JPEG压缩算法类似。
采用I帧压缩可达到1/6的压缩比而无明显的压缩痕迹。
B帧(B frame)——双向帧间解码图像基本概念B帧法是双向预测的帧间压缩算法。
当把一帧压缩成B帧时,它根据相邻的前一帧、本帧以及后一帧数据的不同点来压缩本帧,也即仅记录本帧与前后帧的差值。
只有采用B帧压缩才能达到200:1的高压缩。
B帧的模式B 帧在 MPEG-4 中有四种参考模式,如果是同时参考前后的画面压缩,则记录的是和 (前画面pixel 值后画面 pixel 值)/2 的差值,也就是和「前后画面的平均」的差值。
所以记录的差值个数和 P 帧一样,只有一个,没有增加。
而因为 B 帧位于前后画面的中间,以「前后画面的平均」,也就是「前后画面的中间值」来作为预测数值(预测 B 帧的 pixel 数值为多少?如果有误差,再记录差值),这样这个预测数值会比单独使用前一个画面来预测,更接近目前真正的 B 帧的数值,可想而知,如此所需要记录的差值就会很小甚至可以根本不用记录,所以便可以省下很多的 bits,提高压缩率。
例如亮度变化 -> I B P 7 8 9如果 B 只参考前一个画面压缩,则需记录差值 1。
如果以 (I P)/2 压缩,则差值为 0,不需记录差值。
(虽然要记录两个矢量,不过矢量也可以再做进一步预测压缩,总的来说,还是会比单独参考前一个画面压缩来得小很多)如果画面不是这样变化怎么办?通常来讲画面都会是这样变化,如果不是这样变化我们就不使用 B 帧就算变化不是如此规则,换个方式想,B 帧可以参考的画面还是比 P 帧多,再怎么找,也还是 B 帧可以找到误差更小的方块来使用的机率大(因为可以选择、参考的对象较多),所以 B 帧还是比 P 帧的压缩率来得高。
视频压缩I,B,P帧的区别及特点
MPEG-1压缩的基本思想:帧内压缩和帧间压缩。
其次,时间相关性的统计分析:统计的结果表明,在间隔1~2帧的图像中,各像素只有10%以下的点,其亮度差值变化超过2%,而色度差值的变化只有1%以下。
采用的压缩方法: 分组:把几帧图像分为一组(GOP),为防止运动变化,帧数不宜取多。
1.定义帧:将每组内各帧图像定义为三种类型,即I帧、B帧和P帧;
2.预测帧:以I帧做为基础帧,以I帧预测P帧,再由I帧和P帧预测B帧;
3.数据传输:最后将I帧数据与预测的差值信息进行存储和传输。
I帧:帧内编码帧
I帧特点:
1.它是一个全帧压缩编码帧。
它将全帧图像信息进行JPEG压缩编码及传输;
2.解码时仅用I帧的数据就可重构完整图像;
3.I帧描述了图像背景和运动主体的详情;
4.I帧不需要参考其他画面而生成;
5.I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量);
6.I帧是帧组GOP的基础帧(第一帧),在一组中只有一个I帧;
7.I帧不需要考虑运动矢量;
8.I帧所占数据的信息量比较大。
P帧:前向预测编码帧。
P帧的预测与重构:P帧是以I帧为参考帧,在I帧中找出P帧“某点”的预测值和运动矢量,取预测差值和运动矢量一起传送。
在接收端根据运动矢量从I帧中找出P帧“某点”的预测值并与差值相加以得到P帧“某点”样值,从而可得到完整的P帧。
P帧特点:
1.P帧是I帧后面相隔1~2帧的编码帧;
2.P帧采用运动补偿的方法传送它与前面的I或P帧的差值及运动矢量(预测误差);
3.解码时必须将I帧中的预测值与预测误差求和后才能重构完整的P帧图像;
4.P帧属于前向预测的帧间编码。
它只参考前面最靠近它的I帧或P帧;
5.P帧可以是其后面P帧的参考帧,也可以是其前后的B帧的参考帧;
6.由于P帧是参考帧,它可能造成解码错误的扩散;
7.由于是差值传送,P帧的压缩比较高。
B帧:双向预测内插编码帧。
B帧的预测与重构
B帧以前面的I或P帧和后面的P帧为参考帧,“找出”B帧“某点”的预测值和两个运动矢量,并取预测差值和运动矢量传送。
接收端根据运动矢量在两个参考帧中“找出(算出)”预测值并与差值求和,得到B帧“某点”样值,从而可得到完整的B帧。
B帧特点
1.B帧是由前面的I或P帧和后面的P帧来进行预测的;
2.B帧传送的是它与前面的I或P帧和后面的P帧之间的预测误差及运动矢量;
3.B帧是双向预测编码帧;
4.B帧压缩比最高,因为它只反映丙参考帧间运动主体的变化情况,预测比较准确;
5.B帧不是参考帧,不会造成解码错误的扩散。
注:I、B、P各帧是根据压缩算法的需要,是人为定义的,它们都是实实在在的物理帧,至于图像中的哪一帧是I帧,是随机的,一但确定了I帧,以后的各帧就严格按规定顺序排列。
新濠天娱乐场。