aspose.info
BG

VP6 – видео файл TrueMotion

Обновено

Какво е VP6 файл?

VP6 е видео формат за компресия със загуба, който беше въведен от технологиите On2 през май 2003 г. Той е част от серия от видео кодеци, разработени от TrueMotion, включително V3, V4 и V5. Форматът беше използван скоро в областта на излъчването, като например с репортажи на BBC и софтуер QuickLink. VP6 беше наследен от VP7 Codec през януари 2005 г. с по-добра съвместимост на компресията.

VP6 файлов формат

Пълните спецификации за V6 файлове не са публично достъпни. On2 първоначално направи спецификациите публични, но скоро те бяха направени недостъпни за обикновените потребители. Неофициална документация за файловия формат VP6 е налична в мултимедийна уики, която може да се използва за справка от разработчиците.

Макроблокове (MB)

Подобно на MPEG-2, MPEG-4 части 2 и 10, всеки видеокадър на VP6 файл е съставен от масив от 16x16 макроблокове (MB). Всеки MB може да бъде в един от следните режими:

  • Вътрешен MB
  • Inter MB, null MV, препратка към предишен кадър
  • Inter MB, диференциално MV, препратка към предишен кадър
  • Inter MB, четири MVs, препратка към предишен кадър
  • Inter MB, MV 1, препратка към предишен кадър
  • Inter MB, MV 2, препратка към предишен кадър
  • Inter MB, null MV, препратка към рамка с отметка
  • Inter MB, диференциално MV, референтна рамка с отметка
  • Inter MB, MV 1, препратка към рамка с отметка
  • Inter MB, MV 2, препратка към рамка с отметки

Заглавка на рамка

Заглавната част на рамката на VP6 е както е показано по-долу, която следва пакетирането на битове в посока big-endian.

СинтаксисБрой битовеТипSymantecs
frame_mode1Enum0x0 означава вътрешен кадър
qp6НеподписанВалиден диапазон на параметъра за квантуване 0..63
маркер1Константа0=VP61/62, 1=VP60
ако (frame_mode == 0) {0е равно на INTRA_FRAME
версия5Константа6=VP60/61, 7=VP60(Electronic Arts), 8=VP62
версия22Константа0=VP60, 3=VP61/62
преплитане1Booleantrue (1) означава, че ще се използва преплитане
ако (маркер==1 или версия2==0) {
отместване16Неподписанотместване на вторичния буфер (байтове, свързани с началото на буфера)
}
dim_y8НеподписаноВисочина на макроблока на видео
dim_x8НеподписаноШирина на макроблок на видео
render_y8НеподписанВисочина на показване на видео
render_x8НеподписанПоказване на ширина на видео
}друго{
ако (маркер==1 или версия2==0) {
отместване16без знакотместване на вторичен буфер (байтове, свързани с началото на буфера)
}
}

Препратки

Вижте също