aspose.info
PL

VP6 — plik wideo TrueMotion

Zaktualizowano

Czym jest plik VP6?

VP6 to format wideo z kompresją stratną, który został wprowadzony przez technologie On2 w maju 2003 roku. Jest częścią serii kodeków wideo opracowanych przez TrueMotion, w tym V3, V4 i V5. Format był krótko używany w dziedzinie nadawania, na przykład w raportach BBC i oprogramowaniu QuickLink. VP6 został zastąpiony przez VP7 Codec w styczniu 2005 roku z lepszą kompatybilnością kompresji.

Format pliku VP6

Pełne specyfikacje plików V6 nie są dostępne publicznie. On2 początkowo upublicznił specyfikacje, ale wkrótce stały się one niedostępne dla zwykłych użytkowników. Nieoficjalna dokumentacja formatu pliku VP6 jest dostępna na multimedia wiki, do której można się odnieść w celach informacyjnych dla programistów.

Makrobloki (MB)

Podobnie jak MPEG-2, MPEG-4 części 2 i 10, każda klatka wideo pliku VP6 składa się z tablicy makrobloków (MB) o wymiarach 16x16. Każdy MB może pracować w jednym z następujących trybów:

  • Wewnątrz MB
  • Inter MB, null MV, poprzednie odniesienie do ramki
  • Inter MB, różnicowy MV, odniesienie do poprzedniej ramki
  • Inter MB, cztery MV, odniesienie do poprzedniej klatki
  • Inter MB, MV 1, odniesienie do poprzedniej klatki
  • Inter MB, MV 2, odniesienie do poprzedniej klatki
  • Inter MB, null MV, odniesienie do ramki z zakładkami
  • Inter MB, różnicowy MV, odniesienie ramki z zakładkami
  • Inter MB, MV 1, odnośnik do ramki z zakładkami
  • Inter MB, MV 2, odnośnik do ramki z zakładkami

Nagłówek ramki

Nagłówek ramki VP6 jest pokazany poniżej, zgodnie z pakowaniem bitów typu big-endian.

SkładniaLiczba bitówTypSymantecs
tryb_klatki1Enum0x0 oznacza wewnątrzramkę
qp6Bez znakuDopuszczalny zakres parametrów kwantyzacji 0..63
znacznik1stała0=VP61/62, 1=VP60
if (tryb_klatki == 0) {0równa się INTRA_FRAME
wersja5stała6=VP60/61, 7=VP60 (sztuka elektroniczna), 8=VP62
wersja22Stała0=VP60, 3=VP61/62
przeplot1Booleantrue (1) oznacza, że zostanie użyty przeplot
if (znacznik==1 lub wersja2==0) {
przesunięcie16Bez znakuprzesunięcie bufora wtórnego (bajty względem początku bufora)
}
dim_y8NiepodpisanyWysokość makrobloku wideo
wymiar_x8NiepodpisanySzerokość makrobloku wideo
render_y8Bez znakuWyświetl wysokość wideo
render_x8Bez znakuWyświetl szerokość wideo
}inaczej{
if (znacznik==1 lub wersja2==0) {
przesunięcie16Bez znakuPrzesunięcie bufora pomocniczego (bajty względem początku bufora)
}
}

Bibliografia

Zobacz też