每秒30公里桢,两分钟需要多少空间

50807人阅读
Computer Vision(101)
视频压缩中,每帧代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中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是20,B可以达到50,可见使用B帧能节省大量空间,节省出来的空间可以用来保存多一些I帧,这样在相同码率下,可以提供更好的画质。
下面举例说明:
在如上图中,GOP (Group&of Pictures)长度为13,S0~S7 表示 8个视点,T0~T12 为 GOP的 13个时刻。每个 GOP包含帧数为视点数 GOP 长度的乘积。在该图中一个 GOP 中,包含94 个 B帧。B 帧占一个 GOP 总帧数的 90.38%。GOP 越长,B 帧所占比例更高,编码的率失真性能越高。下图测试序列 Race1
在不同 GOP 下的率失真性能对比。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:5695689次
积分:45711
积分:45711
排名:第50名
原创:482篇
转载:36篇
评论:4362条
百度深度学习实验室RD,关注计算机视觉,机器学习,算法研究,人工智能, 移动互联网等学科和产业,希望结识更多同道中人。
新浪微博:
(1)(1)(1)(4)(3)(1)(7)(7)(2)(1)(1)(9)(1)(1)(5)(2)(1)(3)(4)(6)(6)(5)(4)(1)(1)(1)(6)(1)(2)(7)(6)(7)(11)(20)(12)(23)(29)(37)(37)(6)(24)(6)(1)(1)(2)(2)(1)(7)(23)(20)(32)(17)(5)(22)(58)(8)(8)720p(,30帧/秒)录制1分钟需要多少内存?????_百度知道60帧视频与30的相比耗用内存吗?_百度知道主题 : PNG序列帧图片数太多,导致内存占据太大,如何优化?
级别: 新手上路
可可豆: 12 CB
威望: 12 点
在线时间: 3(时)
发自: Web Page
PNG序列帧图片数太多,导致内存占据太大,如何优化?&&&
由于,主角从3D出序列帧图片,技能又很多,而且使用了比较细腻的图片数量,一套下来,COCOS文件超过5MB,输出后,生产了许多PNG 剪裁图导致,内存占据过多请问,如何优化?
级别: 新手上路
UID: 310862
可可豆: 65 CB
威望: 58 点
在线时间: 184(时)
发自: Web Page
骨骼动画在CPU和内存之间权衡下
级别: 风云使者
UID: 183396
发帖: 4878
可可豆: 5739 CB
威望: 5902 点
在线时间: 1806(时)
发自: Web Page
回 楼主(haozing) 的帖子
如果对于画质要求很高,那么可以尝试使用pvr等更优秀的纹理优化,如果是要求较低,可以考虑使用骨骼动画,能大幅度减少纹理占用。
请勿再给我发私信啦~~
级别: 新手上路
可可豆: 59 CB
威望: 59 点
在线时间: 296(时)
发自: Web Page
加载纹理之前,尝试降低一下色深: Texture2D::setDefaultAlphaPixelFormat(...比如 RGBA4444 ),如果出来的图效果可以接受,你会发现,可能比默认的 AUTO 或 RGBA8888 省掉一半内存
级别: 新手上路
可可豆: 12 CB
威望: 12 点
在线时间: 3(时)
发自: Web Page
谢谢,各位的帮助。。因为是动作游戏,所以暂时不考虑骨骼动画。
级别: 新手上路
UID: 282242
可可豆: 175 CB
威望: 151 点
在线时间: 184(时)
发自: Web Page
回 4楼(haozing) 的帖子
动作 动画,不更应该使用骨骼动画吗?
级别: 新手上路
UID: 310609
可可豆: 232 CB
威望: 207 点
在线时间: 206(时)
发自: Web Page
回 楼主(haozing) 的帖子
请问序列帧5M就算大了吗?大概占多少内存
级别: 新手上路
可可豆: 48 CB
威望: 48 点
在线时间: 78(时)
发自: Web Page
回 3楼(liangx) 的帖子
这个方式在android机器上也行?
级别: 新手上路
UID: 323614
可可豆: 54 CB
威望: 36 点
在线时间: 3(时)
发自: Web Page
回 5楼(faweideniu) 的帖子
谁说的。。。。用骨骼1是省资源 2是偷懒。序列帧才是王道。骨骼动画比序列帧效果差很多。
关注本帖(如果有新回复会站内信通知您)
论坛技术问题应该发布到? 正确答案:CocoaChina问答
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版}

我要回帖

更多关于 30米每秒 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信