IBP帧Word文档下载推荐.docx
《IBP帧Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《IBP帧Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
它将全帧图像信息进行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帧,以后的各帧就严格按规定顺序排列
222222222222222222222222222222222222222222222222222222222222222222222222222222
视频压缩中,每帧代表一幅静止的图像。
而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。
I帧表示关键帧,你可以理解为这一帧画面的完整保留;
解码时只需要本帧数据就可以完成(因为包含完整画面)
P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。
(也就是差别帧,P帧没有完整画面数据,只有与前一帧的画面差别的数据)
B帧是双向差别帧,也就是B帧记录的是本帧与前后帧的差别(具体比较复杂,有4种情况,但我这样说简单些,有兴趣可以看看我上面提供的资料),换言之,要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。
B帧压缩率高,但是解码时CPU会比较累~。
从上面的解释看,我们知道I和P的解码算法比较简单,资源占用也比较少,I只要自己完成就行了,P呢,也只需要解码器把前一个画面缓存一下,遇到P时就使用之前缓存的画面就好了,如果视频流只有I和P,解码器可以不管后面的数据,边读边解码,线性前进,大家很舒服。
但网络上的电影很多都采用了B帧,因为B帧记录的是前后帧的差别,比P帧能节约更多的空间,但这样一来,文件小了,解码器就麻烦了,因为在解码时,不仅要用之前缓存的画面,还要知道下一个I或者P的画面(也就是说要预读预解码),而且,B帧不能简单地丢掉,因为B帧其实也包含了画面信息,如果简单丢掉,并用之前的画面简单重复,就会造成画面卡(其实就是丢帧了),并且由于网络上的电影为了节约空间,往往使用相当多的B帧,B帧用的多,对不支持B帧的播放器就造成更大的困扰,画面也就越卡。
一般平均来说,I的压缩率是7(跟JPG差不多),P是20,B可以达到50,可见使用B帧能节省大量空间,节省出来的空间可以用来保存多一些I帧,这样在相同码率下,可以提供更好的画质。
3333333333333333333333333333333333333333333333333333333333333333333333333
B帧(Bframe)
B帧法是双向预测的帧间压缩算法。
当把一帧压缩成B帧时,它根据相邻的前一帧、本帧以及后一帧数据的不同点来压缩本帧,也即仅记录本帧与前后帧的差值。
只有采用B帧压缩才能达到200:
1的高压缩。
也就是说,有B帧的视频,是比较耗费CPU/图像处理器的
B帧在MPEG-4中有四种参考模式,如果是同时参考前后的画面压缩,则记录的是和(前画面pixel值后画面pixel值)/2的差值,也就是和「前后画面的平均」的差值。
所以记录的差值个数和P帧一样,只有一个,没有增加。
而因为B帧位于前后画面的中间,以「前后画面的平均」,也就是「前后画面的中间值」来作为预测数值(预测B帧的pixel数值为多少?
如果有误差,再记录差值),这样这个预测数值会比单独使用前一个画面来预测,更接近目前真正的B帧的数值,可想而知,如此所需要记录的差值就会很小甚至可以根本不用记录,所以便可以省下很多的bits,提高压缩率。
例如亮度变化->
IBP789
如果B只参考前一个画面压缩,则需记录差值1。
如果以(IP)/2压缩,则差值为0,不需记录差值。
(虽然要记录两个矢量,不过矢量也可以再做进一步预测压缩,总的来说,还是会比单独参考前一个画面压缩来得小很多)如果画面不是这样变化怎么办?
通常来讲画面都会是这样变化,如果不是这样变化我们就不使用B帧就算变化不是如此规则,换个方式想,B帧可以参考的画面还是比P帧多,再怎么找,也还是B帧可以找到误差更小的方块来使用的机率大(因为可以选择、参考的对象较多),所以B帧还是比P帧的压缩率来得高。
(而且高很多,差距非常大)
除了压缩率以外,B帧对画质的影响.....是有的,因为B帧这种参考前后画面的特性,等于有内插(interpolation)的效果,所以可以减少噪讯。
MPEG-4中的B帧,也是非常具有威力的,除了以前的三种参考模式,还有DirectMode,连矢量的纪录都省了。
虽然MPEG-4之中有4MV的功能,可以记录四个矢量,不过编码器在压缩的时候会判断,到底是使用4MV压出来的结果小,还是使用传统的方法压出来的结果小?
如果使用传统的方法压出来的结果小,便使用传统的方法记录,如果使用4MV压出来的结果小,才使用4MV来记录。
(ps.4MV不会用在backward预测)
您可以观察VirtualDub压缩时画面上显示的蓝线,您会发现蓝线和蓝线之间通常会有很短的蓝线插在中间,造成空隙,而且差距很大,这个就是夹在P之间的B在发挥压缩威力如果是用DivX5更明显,因为DivX5只能够使用IBPBPBPB...这种一个B接一个P的形式,所以画面上的蓝线就是「一长一短、一长一短」这样排列。
关键帧和过渡帧的联系与区别
1、两个关键帧的中间可以没有过渡帧(如逐帧动画),但过渡帧前后肯定有关键帧,因为过渡帧附属于关键帧;
2、关键帧可以修改该帧的内容,但过渡帧无法修改该帧内容。
3、关键帧中可以包含形状、剪辑、组等多种类型的元素或诸多元素,但过渡帧中对象只能是剪辑(影片剪辑、图形剪辑、按钮)或独立形状。
44444444444444444444444444444444444444444444444444444444444444444444444444
55555555555555555555555555555555555555555555555555555555555555555
在视频压缩中常需用到以下的一些基本概念:
(一)、有损和无损压缩:
在视频压缩中有损(Lossy)和无损(Lossless)的概念与静态图像中基本类似。
无损压缩也即压缩前和解压缩后的数据完全一致。
多数的无损压缩都采用RLE行程编码算法。
有损压缩意味着解压缩后的数据与压缩前的数据不一致。
在压缩的过程中要丢失一些人眼和人耳所不敏感的图像或音频信息,而且丢失的信息不可恢复。
几乎所有高压缩的算法都采用有损压缩,这样才能达到低数据率的目标。
丢失的数据率与压缩比有关,压缩比越小,丢失的数据越多,解压缩后的效果一般越差。
此外,某些有损压缩算法采用多次重复压缩的方式,这样还会引起额外的数据丢失。
(二)、帧内和帧间压缩:
帧内(Intraframe)压缩也称为空间压缩(Spatialcompression)。
当压缩一帧图像时,仅考虑本帧的数据而不考虑相邻帧之间的冗余信息,这实际上与静态图像压缩类似。
帧内一般采用有损压缩算法,由于帧内压缩时各个帧之间没有相互关系,所以压缩后的视频数据仍可以以帧为单位进行编辑。
帧内压缩一般达不到很高的压缩。
采用帧间(Interframe)压缩是基于许多视频或动画的连续前后两帧具有很大的相关性,或者说前后两帧信息变化很小的特点。
也即连续的视频其相邻帧之间具有冗余信息,根据这一特性,压缩相邻帧之间的冗余量就可以进一步提高压缩量,减小压缩比。
帧间压缩也称为时间压缩(Temporalcompression),它通过比较时间轴上不同帧之间的数据进行压缩。
帧间压缩一般是无损的。
帧差值(Framedifferencing)算法是一种典型的时间压缩法,它通过比较本帧与相邻帧之间的差异,仅记录本帧与其相邻帧的差值,这样可以大大减少数据量。
(三)、对称和不对称编码:
对称性(symmetric)是压缩编码的一个关键特征。
对称意味着压缩和解压缩占用相同的计算处理能力和时间,对称算法适合于实时压缩和传送视频,如视频会议应用就以采用对称的压缩编码算法为好。
而在电子出版和其它多媒体应用中,一般是把视频预先压缩处理好,尔后再播放,因此可以采用不对称(asymmetric)编码。
不对称或非对称意味着压缩时需要花费大量的处理能力和时间,而解压缩时则能较好地实时回放,也即以不同的速度进行压缩和解压缩。
一般地说,压缩一段视频的时间比回放(解压缩)该视频的时间要多得多。
例如,压缩一段三分钟的视频片断可能需要10多分钟的时间,而该片断实时回放时间只有三分钟。
(四)数字视频压缩说明
如果使用数字视频,需要考虑的一个重要因素是文件大小,因为数字视频文件往往会很大,这将占用大量硬盘空间。
解决这些问题的方法是压缩—让文件变小。
使用文本文件,大小问题就显得不那么重要了,因为这样的文件充满了“空格”,可以大幅度压缩—一个文本文件至少可以压缩90%,压缩率是相当高的(压缩率是指已压缩数据与未压缩数据之比值)。
其他类型的文件,如MPEG视频或JPEG照片几乎无法压缩,因为它们是用非常紧密的压缩格式制成的。
6666666666666666666666666666666666666666666666666666666666666666666
采样率,比特率,帧率,码率
2008-06-1212:
53
简单来讲,采样率和比特率就像是坐标轴上的横纵坐标。
横坐标的采样率表示了每秒钟的采样次数。
纵坐标的比特率表示了用数字量来量化模拟量的时候的精度。
采样率类似于动态影像的帧数,比如电影的采样率是24赫兹,PAL制式的采样率是25赫兹,NTSC制式的采样率是30赫兹。
当我们把采样到的一个个静止画面再以采样率同样的速度回放时,看到的就是连续的画面。
同样的道理,把以44.1kHZ采样率记录的CD以同样的速率播放时,就能听到连续的声音。
显然,这个采样率越高,听到的声音和看到的图像就越连贯。
当然,人的听觉和视觉器官能分辨的采样率是有限的,基本上高于44.1kHZ采样的声音,绝大部分人已经觉察不到其中的分别了。
而声音的位数就相当于画面的颜色数,表示每个取样的数据量,当然数据量越大,回放的声音越准确,不至于把开水壶的叫声和火车的鸣笛混淆。
同样的道理,对于画面来说就是更清晰和准确,不至于把血和西红柿酱混淆。
不过受人的器官的机能限制,16位的声音和24位的画面基本已经是普通人类的极限了,更高位数就只能靠仪器才能分辨出来了。
比如电话就是3kHZ取样的7位声音,而CD是44.1kHZ取样的16位声音,所以CD就比电话更清楚。
原本44.1K×
16×
2=1411.2Kbps
但是压扩技术在低位的时候,非线形特性近似于线形,故折线斜率可以认为不变,16段可以用13段折线来代替.所以可以认为只有13个量化单位,13段折线相当于A=87.6的A律压扩特性.具体的计算可以修改如下:
以电话为例,每秒3000次取样,每个取样是7比特,那么电话的比特率是21000。
而CD是每秒44100次取样,两个声道,每个取样是13位PCM编码,所以CD的比特率是44100*2*13=1146600,这个参数也被称为数据带宽,它和ADSL中的带宽是一个概念。
将码率除以8,就可以得到这个它的数据速率,1146600/8=143325,也就是说CD每秒的数据量大约是144KB,而一张CD的容量是74分等于4440秒,就是639360KB=640MB。
即刚好为一张cd的容量。
码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。
通俗一点的理解就是取样率,单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件,但是文件体积与取样率是成正比的,即码率高,视频文件的何种就大,反之则小.
帧率即每秒显示帧数,帧率表示图形处理器处理场时每秒钟能够更新的次数。
高的帧率可以得到更流畅、更逼真的动画。
一般来说30fps就是可以接受的,但是将性能提升至60fps则可以明显提升交互感和逼真感,但是一般来说超过75fps一般就不容易察觉到有明显的流畅度提升了。
码率和帧率不代表视频的播放速度,帧率的提高可使视频画面显得流畅,码率的提高可使画面更清晰,
以上是摘自网络上一些文章,个人感觉是比特率(码率)=采样率(帧率)×
采样位宽×
声道数
因此,比特率决定文件大小,即总信息量;
而采样率决定文件播放流畅程度;
位宽决定文件清晰程度。
许多格式转换软件都可以设置比特率和采样率,在比特率一定的情况下,采样率越高,越流畅但越不清晰。
以上是个人读了一些网络文摘和实际转换文件时的感悟,但本人不是内行,欢迎内行人士批评指正。
77777777777777777777777777777777777777777777777777777777777
关于I帧、P帧和B帧(转一篇维基百科上关于视频压缩的帧类型的说明)收藏
转一篇维基百科上关于视频压缩的帧类型的说明,暂时是英文的,以后我会翻译出来和大家共享。
hethreemajorpicturetypesfoundintypicalvideocompressiondesignsareIntracodedframes,Predictedpictures,andBi-directionalpredictivepictures.TheyarealsocommonlyreferredtoasIframes,Pframes,andBframes.
Invideocompressionformats,suchasinITU-TVCEGorISO/IECMPEGvideostandards,oftenonlythedifferencesbetweenpictureswillbeencoded.Forexample,inasceneinwhichapersonwalkspastastationarybackground,onlythemovingregionwillneedtoberepresented(eitherusingmotioncompensationorasimagedataorasacombinationofthetwo,dependingonwhichrepresentationrequiresfewerbitstoadequatelyrepresentthepicture).Thepartsofthescenethatarenotchangingneednotbesentrepeatedly.Contents
1Introductiontoframetypes
2Intracodedframes(orslicesorI-framesorKeyframes)
3Predictedframes(orslices)
4Bi-directionalpredictedframes(orslices)
5Seealso
6Externallinks
<
type="
text/javascript"
>
//if(window.showTocToggle){vartocShowText="
show"
;
vartocHideText="
hide"
showTocToggle();
}//
Introductiontoframetypes
Strictlyspeaking,thetermpictureisamoregeneraltermthanframe,asapicturecanbeeitheraframeorafield,whereaframeisessentiallyanimagecapturedatsomeinstantintimeandafieldisthesetofevery-otherlinethatwouldformanimageatsomeinstantintime.Whensendingvideoininterlaced-scanformat,thecodingofpicturesasindividualfieldsisoftenusedratherthanthecodingofcompleteframes.Informally,theterm"
frame"
isoftenusedwhentheactualintentisthemoregeneralterm"
picture"
.
Typically,picturesaresegmentedintomacroblocks,andindividualpredictiontypescanbeselectedonamacroblockbasisratherthanbeingthesamefortheentirepicture,asfollows:
Ipicturescancontainonlyintramacroblocks
Ppicturescancontaineitherintramacroblocksorpredictedmacroblocks
Bpicturescancontainintra,predicted,orbi-predictedmacroblocks
Furthermore,inthemostrecentvideocodecstandardH.264,thepicturecanbesegmentedintosmallerregionscalledslicesandinsteadofusingI,BandPpicturetypeselections,theencodercanchoosethepredictionstyledistinctlyoneachindividualslice.AlsoinH.264suggested:
SI-frames/slices(SwitchingI);
Facilitatesswitchingbetweencodedstreams;
containsSImacroblocks(aspecialtypeofintracodedmacroblock).
SP-frames/slices(SwitchingP);
containsPand/orImacroblocks
multi-framemotionestimation(upto16referenceframes,or32referencefields)
Multi-framemotionestimationwillallowincreasesinthequalityofthevideowhileallowingthesamecompressionratio.SI-SP-frames(definedforExtendedprofile)willallowforincreasesintheerrorresistance.Whensuchframesareusedalongwithasmartdecoder,itispossibletorecoverthebroadcaststreamsofdamagedDVDs.
Intracodedframes(orslicesorI-framesorKeyframes)
Arepicturescodedwithoutreferencetoanypicturesexceptthemselves.
Maybegeneratedbyanencodertocreatearandomaccesspo