aspose.info
ZH

VP6 - TrueMotion 视频文件

更新于

什么是 VP6 文件?

VP6 是 On2 技术于 2003 年 5 月推出的一种有损压缩视频格式。它是 TrueMotion 开发的 V3、V4 和 V5 系列视频编解码器的一部分。该格式很快被用于广播领域,例如 BBC 报道和 QuickLink 软件。 VP6 在 2005 年 1 月被 VP7 Codec 取代,具有更好的压缩兼容性。

VP6 文件格式

V6 文件的完整规范不公开。 On2 最初公开了这些规范,但很快这些规范就对普通用户不可用。 VP6 文件格式的非官方文档可在 multimedia wiki 获得,可供开发人员参考。

宏块 (MB)

与 MPEG-2、MPEG-4 第 2 部分和第 10 部分类似,VP6 文件的每个视频帧都由 16x16 宏块 (MB) 阵列组成。每个 MB 可以处于以下模式之一:

  • 内部 MB
  • Inter MB,null MV,前一帧参考
  • Inter MB,差分 MV,前一帧参考
  • Inter MB,四个 MV,前一帧参考
  • Inter MB, MV 1, 前一帧参考
  • Inter MB, MV 2, 前一帧参考
  • Inter MB,null MV,带书签的帧参考
  • Inter MB,差分 MV,带书签的帧参考
  • Inter MB,MV 1,带书签的帧参考
  • Inter MB,MV 2,带书签的帧参考

帧头

VP6 的帧头如下图所示,紧跟在大端位封装之后。

语法位数类型Symantecs
frame_mode1Enum0x0 表示帧内
qp6无符号量化参数有效范围 0..63
标记1常数0=VP61/62, 1=VP60
if (frame_mode == 0) {0等于 INTRA_FRAME
版本5常数6=VP60/61, 7=VP60(电子艺术), 8=VP62
版本22常数0=VP60, 3=VP61/62
交错1布尔值true (1) 表示将使用隔行扫描
if (marker==1 or version2==0) {
偏移量16无符号辅助缓冲区偏移量(与缓冲区开始相关的字节)
}
dim_y8未签名视频的宏块高度
dim_x8未签名视频宏块宽度
render_y8无符号视频的显示高度
render_x8无符号视频的显示宽度
}其他{
if (marker==1 or version2==0) {
offset16无符号辅助缓冲区偏移(与缓冲区开始相关的字节)
}
}

参考

另请参阅