aspose.info
EL

VP6 - Αρχείο βίντεο TrueMotion

Ενημερώθηκε

Τι είναι ένα αρχείο VP6;

Το VP6 είναι μια μορφή βίντεο συμπίεσης με απώλειες που εισήχθη από τις τεχνολογίες On2 τον Μάιο του 2003. Είναι μέρος μιας σειράς κωδικοποιητών βίντεο που αναπτύχθηκαν από την TrueMotion, συμπεριλαμβανομένων των V3, V4 και V5. Η μορφή χρησιμοποιήθηκε σύντομα στον τομέα της μετάδοσης, όπως με αναφορές του BBC και το λογισμικό QuickLink. Το VP6 διαδέχθηκε το VP7 Codec τον Ιανουάριο του 2005 με καλύτερη συμβατότητα συμπίεσης.

Μορφή αρχείου VP6

Οι πλήρεις προδιαγραφές για τα αρχεία V6 δεν είναι διαθέσιμες δημόσια. Το On2 δημοσίευσε τις προδιαγραφές αρχικά, αλλά σύντομα αυτές έγιναν μη διαθέσιμες για τους γενικούς χρήστες. Μια ανεπίσημη τεκμηρίωση της μορφής αρχείου VP6 είναι διαθέσιμη στο multimedia wiki που μπορεί να παραπεμφθεί για αναφορά προγραμματιστή.

Μακρομπλόκ (MB)

Παρόμοια με τα μέρη 2 και 10 των MPEG-2, MPEG-4, κάθε καρέ βίντεο ενός αρχείου 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 είναι όπως φαίνεται παρακάτω και ακολουθεί το πακέτο bit big-endian.

ΣύνταξηΑριθμός bitΤύποςSymantecs
frame_mode1Enum0x0 σημαίνει ένα εσωτερικό πλαίσιο
qp6ΑνυπόγραφοΠαράμετρος κβαντισμού έγκυρο εύρος 0..63
δείκτης1Σταθερά0=VP61/62, 1=VP60
αν (λειτουργία_πλαισίου == 0) {0ισούται με INTRA_FRAME
έκδοση5Σταθερά6=VP60/61, 7=VP60(Electronic Arts), 8=VP62
έκδοση22Σταθερά0=VP60, 3=VP61/62
διαπλοκή1Booleantrue (1) σημαίνει ότι θα χρησιμοποιηθεί το interlace
if (δείκτης==1 ή έκδοση2==0) {
offset16Ανυπόγραφομετατόπιση δευτερεύοντος buffer (bytes που σχετίζονται με την έναρξη του buffer)
}
dim_y8ΑνυπόγραφοΎψος μακρομπλόκ βίντεο
dim_x8ΑνυπόγραφοΠλάτος μακρομπλόκ του βίντεο
render_y8ΑνυπόγραφοΎψος εμφάνισης βίντεο
render_x8ΑνυπόγραφοΠλάτος εμφάνισης βίντεο
}άλλο{
if (δείκτης==1 ή έκδοση2==0) {
offset16ΑνυπόγραφοΜετατόπιση δευτερεύοντος buffer (byte που σχετίζονται με την έναρξη του buffer)
}
}

βιβλιογραφικές αναφορές

Δείτε επίσης