Τι είναι τα video codecs, που χρησιμοποιούνται και με ποιο τρόπο είναι ένα μεγάλο θέμα που έχει και πολλές τεχνικές προεκτάσεις και συγκεχυμένη ορολογία. Σε αυτό το άρθρο θα προσπαθήσουμε να εξηγήσουμε με απλό και κατανοητό τρόπο όλα τα είδη των υπαρχόντων video codecs...
...τα χαρακτηριστικά τους καθώς και να αποσαφηνίσουμε την χρήση τους στο ποιος codec είναι κατάλληλος για την κάθε δουλειά. Καταρχάς να ξεκινήσουμε εξηγώντας το σχεδόν αυτονόητο: κάθε διαφορετικό Video Codec είναι και μια διαφορετική μέθοδος-πρότυπο συμπίεσης/ αναπαραγωγής του Video υλικού που έχουμε. Ωστόσο πριν προχωρήσουμε στα codecs θα χρειαστεί να δούμε λίγο και την θεωρία.
Πως και που βλέπουμε τα βίντεο που έχουμε ή δημιουργούμε
Καταρχάς θα πρέπει να αποσαφηνίσουμε τις διαφορές ανάμεσα στην τηλεόραση που χρησιμοποιούμε πιο συχνά για να βλέπουμε τα βίντεο μας και την οθόνη του υπολογιστή. Παρόλο που για αρκετό κόσμο φαίνεται να είναι το ίδιο, ωστόσο υπάρχουν βασικές διαφορές που συντελούν στο να προσλαμβάνουμε διαφορετική εμπειρία για κάθε ένα εκ τω δυο μέσων από το αναπαραγόμενο βίντεο. Η οθόνη του υπολογιστή κάνει χρήση της τεχνολογίας Component Video Digital όπου η εικόνα δημιουργείται με την σύμπλεξη τριών καναλιών R, G, B των τριών βασικών χρωμάτων όπως ήδη γνωρίζουμε. Οι οθόνες των υπολογιστών μπορούν να απεικονίσουν εκατομμύρια χρώματα. Η τηλεόραση από την άλλη μεριά χρησιμοποιεί τα κανάλια Y, Cr, Cb και μια παλέτα χρωμάτων. Αν λοιπόν δημιουργήσετε ένα βίντεο που περιλαμβάνει χρώματα που δεν μπορεί να απεικονίσει η τηλεόραση πολύ απλά δεν θα μπορέσουν να απεικονισθούν. Το πρόβλημα αυτό λύνουν τα φίλτρα που αναλαμβάνουν την «μετάφραση» των επιπλέον χρωμάτων στο χρωματικό εύρος της τηλεόρασης. Για παράδειγμα, η έξοδος για την TV (TV-out) της κάρτας γραφικών σας κάνει αυτή ακριβώς την δουλειά. Προσαρμόζει το ψηφιακό σήμα ώστε να μπορεί να αναπαραχθεί από την αναλογική τηλεοπτική συσκευή (ή το αντίστροφο).
Απεικόνιση σε οθόνη υπολογιστή και τηλεόραση
Η τηλεόραση απεικονίζει την εικόνα με διαφορετικό τρόπο από ότι μια οθόνη υπολογιστή. Η τεχνική (Interlace) που χρησιμοποιεί η τηλεόραση δουλεύει με τον εξής τρόπο: στην τηλεόραση η εικόνα δημιουργείται από δυο πεδία τα οποία σχηματίζονται από δυο είδη γραμμών (ζυγές και μονές). Πρώτα εμφανίζονται οι μονές γραμμές (1ο πεδίο) και εν συνεχεία οι ζυγές (2ο πεδίο). Δυο πεδία μαζί σχηματίζουν ένα frame. Η τηλεόραση μπορεί να απεικονίσει 30 frames ανά δευτερόλεπτο. Η οθόνη του υπολογιστή από την άλλη μεριά δεν απεικονίζει πεδία αλλά χρησιμοποιεί την μέθοδο «σταδιακής σάρωσης γραμμών». Η οθόνη σαρώνεται γραμμικά από πάνω προς τα κάτω και κάθε frame απεικονίζεται 30 φορές ανά δευτερόλεπτο (Sequential Scanning, progressive scan ή non-interlaced scan). Το μειονέκτημα της οθόνης του υπολογιστή είναι ότι έχει το μισό frame rate (η ταχύτητα, ο ρυθμός ανά λεπτό με την οποία δημιουργούνται τα frames). Αυτό έχει ως αποτέλεσμα το «σπάσιμο» της απεικόνισης σε πιο αργό ρυθμό. Φυσικά, η τεχνολογία μας έχει επιτρέψει να αποφύγουμε αυτό το πρόβλημα με το διπλασιασμό του frame rate (σε παλαιότερες εποχές η οθόνη τρεμόπαιζε (flickering) σε αυτή την περίπτωση). Στην Ελλάδα χρησιμοποιούμε το σύστημα PAL (θα το βρείτε και ως PAL B,G,H) το οποίο μπορεί να απεικονίσει 50 πεδία ανά δευτερόλεπτο και 625 γραμμές.
Διαφορές streaming video και downloading
Το streaming ορίζεται ως η μετάδοση βίντεο σε πραγματικό χρόνο και η άμεση αναπαραγωγή του χωρίς να χρειαστεί να το αποθηκεύσετε πουθενά. Χρησιμοποιείται βεβαίως ένας προσωρινός χώρος αποθήκευσης (buffer) για ένα μέρος του αρχείου (συνήθως 1-5 λεπτά) ώστε η αναπαραγωγή να γίνεται ομαλά και να μην υπάρχει καθυστέρηση. Το Downloading από την άλλη είναι το κατέβασμα του αρχείου στον υπολογιστή και η αναπαραγωγή του, η εγγραφή του σε κάποιο μέσο (πχ. DVD), ή η επεξεργασία του σε δεύτερο χρόνο κατά απαίτηση του χρήστη. Σε αυτή την περίπτωση η καθυστέρηση είναι ίση με τον χρόνο που απαιτείται για το κατέβασμα του αρχείου και εξαρτάται προφανώς και από το διαθέσιμο εύρος ζώνης (bandwidth).
Τα πρότυπα συμπίεσης video
Με όλα όσα αναφέραμε στα παραπάνω μπορεί πλέον να γίνει κατανοητός ο σκοπός για τον οποίο χρησιμοποιούμε codecs (COder/DECoder). Ανάλογα λοιπόν με το τι θέλουμε να φτιάξουμε και κυρίως σε τι μέσα θα το αναπαράγουμε επιλέγουμε και την αντίστοιχη λύση η οποία θα μας καθορίσει παράλληλα και τις προδιαγραφές ποιότητας. Για παράδειγμα αν έχετε μεγάλο bandwidth διαθέσιμο τότε δεν υπάρχει λόγος να συμπιέσετε υπερβολικά το βίντεο σας και το MPEG-2 θα σας ήταν αρκετό. Αν ωστόσο το bandwidth είναι μικρό αλλά το βίντεο πρέπει να μεταδοθεί σωστά, θα πρέπει να το συμπιέσετε περισσότερο, χρησιμοποιώντας το MPEG-4 σε αυτή την περίπτωση. Σε τελική ανάλυση η εφαρμογή που χρειάζεται το σήμα video είναι αυτή που θα καθορίσει και την προδιαγραφή της ποιότητας του.
Η.261 (Τηλεφωνία με Video)
Πρότυπο για συμπίεση βίντεο με στόχο τη μεταφορά του μέσω γραμμών χαμηλού εύρους ζώνης, όπως για παράδειγμα των ISDN γραμμών των 64 kbps. Απαιτεί bandwidth από 64kbps έως 2.0 Mbps και έχει λόγο συμπίεσης 24:1.
H.263 (Τηλεδιασκέψεις)
Βασίζεται στο H.261 αλλά έχει σχεδιαστεί για μετάδοση μέσω του πρωτοκόλλου IP.
H.264 (MPEG 4 Part 10)
Πρότυπο για υψηλή ποιότητα streaming και video on demand. Μπορεί να χρησιμοποιηθεί και μέσω του πρωτοκόλλου IP (πχ. Internet).
AVCHD ( Advanced Video Codec High Definition)
Το νεότερο codec της αγοράς. Βασίζεται στο H.264. Είναι ανταγωνιστικό πρότυπο του HDV και του MiniDV. Ο λόγος συμπίεσης είναι μεταβλητός και ανάλογος των frames και της πολυπλοκότητας του βίντεο που θα κωδικοποιηθεί.
Real Media (Real Video)
Πρότυπο για streaming και video on demand μέσω του πρωτοκόλλου IP με διάφορους υποστηριζόμενους ρυθμούς μετάδοσης (διαθέσιμου bandwidth) αναλόγων των αναγκών.
MJPEG (Motion JPEG) (Video CD)
Πρότυπο συμπίεσης στο οποίο τα frames ενός βίντεο συμπιέζονται με την τεχνική JPEG (ως ανεξάρτητες εικόνες). Απαιτεί bandwidth από 1.0 έως 10.0 Mbps και έχει λόγο συμπίεσης 7-27:1.
MPEG 1 (Moving Pictures Expert Group)
Πρότυπο για αποθήκευση βίντεο ποιότητας VHS σε CD-ROM. Απαιτεί bandwidth από 1.2 έως 2 Mbps και έχει λόγο συμπίεσης 100:1 (το κλασικό VCD οπού η ανάλυση του για το PAL φτάνει τα 352x288).
MPEG-2 ή H.262
Πρότυπο για αποθήκευση βίντεο ποιότητας DV (αλλά και HDTV) σε DVD-ROM. Χρησιμοποιείται επίσης για τηλεοπτική μετάδοση ψηφιακού βίντεο, όπως είναι για παράδειγμα τα δορυφορικά κανάλια. Απαιτεί bandwidth από 4.0 έως 60Mbps και έχει λόγο συμπίεσης 30-100:1 (η ανάλυση ενός DVD είναι 720x576 και ο ήχος του 48khz). Το MPEG-2 χρησιμοποιείται και στην εξέλιξη του απλού vcd σε sVCD (super Video CD) με ανάλυση 480x576 για το PAL.
MPEG-4
Σχεδιάστηκε για να επιτρέπει εκτός από συμπίεση και διαχείριση των αρχείων (πχ. κατηγοριοποίηση, ανάκληση με βάση το περιεχόμενο, πλοήγηση, κλπ). Απαιτεί bandwidth από 4.8Kbps έως 64Κbps.
Nero Digital
Δημοφιλές πρότυπο που έχει αναπτυχθεί από την Nero. Υψηλής ποιότητας Codec (μπορεί να επανασυμπιέσει ένα full DVD 9GB σε ένα 4.7 χωρίς απώλεια στην ποιότητα!) που προτιμούν πολλές εταιρείες hardware που το ενσωματώνουν στα ήδη στα προιόντα τους (περιλαμβάνεται επίσης και σε κινητά τηλέφωνα). Το Nero Digital βασίζεται στο MPEG-4 ISO. Υποστηρίζει πολλά προφίλ (κινητά τηλέφωνα, PDAs, επιτραπέζιες συσκευές αναπαραγωγής και HDTV) ενώ μπορεί να ενσωματώσει και ήχο AAC (2.0 αλλά και 5.1). Απαιτεί bandwidth από 16 kb/s to 4 Mb/s, ή και μεταβλητό bit rate αναλόγως των αναγκών.
Sorensen Video Codec Version 3
Κλειστό πρότυπο (proprietary) το οποίο χρησιμοποιείται κυρίως από την Apple στο QuickTime και στο Flash της Macromedia (SWF). Υψηλής ποιότητας codec με μεταβλητό λόγο συμπίεσης.
On2. TrueMotion VP3.2
Μπορεί το όνομα να μην σας λεει και πολλά ωστόσο είναι ένας από τους πλέον ισχυρούς codec υποστηριζόμενο από τους Macromedia Flash, Skype, Muvee, iFilm, Intel, Texas Instruments, Sony, ABC News, BBC κ.α. Είναι κλειστό πρότυπο (proprietary) αλλά μέρος του διατίθεται και ως Public Domain με το όνομα Theora.