php网站源码带后台,深圳高端网站建设怎么样,做网站的预算表,wordpress 504From: http://blog.csdn.net/abcjennifer/article/details/6577934 视频压缩中#xff0c;每帧代表一幅静止的图像。而在实际压缩时#xff0c;会采取各种算法减少数据的容量#xff0c;其中IPB就是最常见的。 简单地说#xff0c;I帧是关键帧#xff0c;属于帧内压缩。…From: http://blog.csdn.net/abcjennifer/article/details/6577934 视频压缩中每帧代表一幅静止的图像。而在实际压缩时会采取各种算法减少数据的容量其中IPB就是最常见的。 简单地说I帧是关键帧属于帧内压缩。就是和AVI的压缩是一样的。 P是向前搜索的意思。B是双向搜索。他们都是基于I帧来压缩数据。 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是20B可以达到50可见使用B帧能节省大量空间节省出来的空间可以用来保存多一些I帧这样在相同码率下可以提供更好的画质。 下面举例说明 在如上图中GOP (Group of Pictures)长度为13S0~S7 表示 8个视点T0~T12 为 GOP的 13个时刻。每个 GOP包含帧数为视点数 GOP 长度的乘积。在该图中一个 GOP 中包含94 个 B帧。B 帧占一个 GOP 总帧数的 90.38%。GOP 越长B 帧所占比例更高编码的率失真性能越高。下图测试序列 Race1 在不同 GOP 下的率失真性能对比。