什么是S Frame,什么是N Frame

什么是S Frame,什么是N Frame - 电脑术语 - 电脑教程网

什么是S Frame,什么是N Frame

日期:2006-07-12   荐:

S Frame: S(GMC)-VOP MPEG-4 的正式名称叫做 VOP,不用 Frame。 VOP 是一个物件单位,MPEG-4 可以将画面上的每个物体(物件)切割出来,个别压缩, 由许多个 VOP 组成一个画面。 切割的形状可以不是矩形,而是任意形状。 这个功能目前 DivX 5, XviD 都没有做,VOP 就是一整个画面,所以 VOP 等于Frame。 S-VOP 代表 Sprite VOP,MPEG-4 可以将静态的背景画面单独切割出来,同一个场景, 好几个画面会用同一个背景,只是位置稍有移动(例如画面慢慢向右移),将背景切割出来, 把好几个画面的背景连接起来,做一次压缩,而不要每个画面都压缩一次,可以省 bitrate。 S(GMC)-VOP 当动态旗标和 GMC 旗标都 == 1 时,这个 VOP 叫做 S(GMC)-VOP, 也就是利用 GMC 做压缩的 VOP。由于它和静态的 Sprite VOP 不同,所以我们特别在 S 后面 加上 (GMC) 来标示,这是一个有用到动态 GMC 的 VOP。

什么是 GMC?以前有说过,S(GMC)-VOP 就等于 P-VOP,参考前一个画面压缩, 只是它可以参考的对象有两个,一个是原本的前一个画面,另一个是经过 warp 后的画面。 以上是正式名称,软件中直接简称为 S-Frame。 N Frame: Null Frame,空的 Frame,Frame 里面什么资料都没有,无法显示这个 Frame 的内容。 压缩的时候,有一定的 bitrate,如果前面的画面太难压缩,用掉太多 bit,到了这个画面时 bit 用光了,无法分配 bit 给这个画面使用,这时这个Frame 无法压缩,只好 drop 掉, 产生一个空的(Null) Frame。 播放时放到这个 Frame,软件会知道这里有一个 Frame 喔,但是压缩时没有数据给他, 所以没有内容可以显示,但是还是要请你等一等,等下一个播放时间点才能显示下一张画面, 不能直接跳掉喔,否则会影音不同步。 N Frame 太多代表 bitrate 不够用,有太多 Frame 没有 bit 可以压缩,只好 drop 掉, 软件会告诉你 Drop Frame 过多,这个文件压得不太好。

不过有例外的情况。 有时候为了特殊目的,我们会故意插入 Null Frame。 例如日本动画有一些是 24fps/30fps 混合,因为 AVI 只能有一种显示速率,如果做成 24fps, 30fps 的部分必须砍掉画面,砍成 24fps,画面会一顿一顿的不顺畅。 如果做成 30fps,24fps 的部分必须要重复画面来生成 30fps,画面也还是会顿。 做成 24fps 和 30fps 都不好,那怎么办? 这时只好取两者的最小公倍数 120fps,做成 120fps 24fps * 5 = 120fps 30fps * 4 = 120fps 原本

24fps      30fps插入 Null Frame1 x x x x 2 x x x x 3 x x x x 4 x x x x 5 x x x 6 x x x 7 x x x 8 x x x 9 x x x

变成 120fps,这样就可以保留所有的画面,又能很顺畅的播放。

这种档案用软件检查会告诉你有很多 Drop Frame,但是并不是做坏了,那些 Null Frame 是故意插进去的。你用 VirtualDub 检查,会发现 Drop Frame 出现得很有规律 (VirtualDub 会显示 [D] 代表 Drop Frame),每一张后面会有固定四或三个 Drop Frame。 看到 120fps 的文件便可以知道,其 Drop Frame 是故意插进去的。

(出处:http://www.sheup.com)




标签: