Η.264: Αναλύοντας το πρότυπο του μέλλοντος
Η ανάγκη για μετάδοση υψηλής ποιότητας video σε πραγματικό χρόνο, με παράλληλη μείωση του χώρου αποθήκευσης των αρχείων, οδήγησαν στη δημιουργία του προτύπου συμπίεσης H.264, που γνωρίζει ολοένα και μεγαλύτερη αποδοχή από τους κατασκευαστές συστημάτων CCTV.
Το Η.264 (γνωστό και ως MPEG-4 Part10/AVC) αναπτύχθηκε από την ομάδα JVT (Joint Video Team) που προέκυψε από τη συνεργασία της ομάδας VCEG (Video Coding Experts Group) της ΙΤU-T και της ομάδας που ανέπτυξε το πρότυπο MPEG. Το συγκεκριμένο πρότυπο περιλαμβάνει έναν αριθμό νέων χαρακτηριστικών, που του επιτρέπει να συμπιέζει το video περισσότερο αποτελεσματικά από τα προηγούμενα πρότυπα και να προσφέρει μεγαλύτερη ευελιξία για μεγάλο εύρος εφαρμογών, που χρησιμοποιούνται στα σύγχρονα δίκτυα τηλεπικοινωνιών.
Η συμπίεση είναι απαραίτητη, καθώς ένα ασυμπίεστο σήμα ψηφιακού video σύμφωνα με το πρότυπο CCIR601 είναι 158Mbps, δηλαδή περίπου 300 φορές τη χωρητικότητα μιας 512 ADSL σύνδεσης και επαρκεί για μία ώρα αποθήκευσης σε ένα σκληρό δίσκο χωρητικότητας 80GB. Η συμπίεση όπως είναι γνωστό, χρησιμοποιείται για να ελαττωθεί και να αφαιρεθεί η περιττή πληροφορία που υπάρχει σε ένα σήμα video, ώστε το αρχείο ενός ψηφιακού video να μπορεί να μεταδοθεί και να αποθηκευτεί με αποδοτικότερο τρόπο. Ένας αλγόριθμος εφαρμόζεται στην πηγή του σήματος video για να συμπιέσει την πληροφορία, ενώ ο αντίστροφος αλγόριθμος χρησιμοποιείται για την αποσυμπίεση της πληροφορίας, παράγοντας ένα σήμα video, το οποίο περιέχει την ίδια πληροφορία με το αρχικό σήμα. Το ζεύγος των αλγορίθμων ονομάζεται video codec (encoder/decoder). Το Η.264 λοιπόν, είναι ένα πρότυπο video codec.
Η πρόκληση όσον αφορά τα συστήματα IP video είναι να καταφέρουν να μοιράσουν υψηλής ποιότητας και μικρής καθυστέρησης ψηφιακό σήμα video, χρησιμοποιώντας μόνο το 50% – 75% από το συνολικά διαθέσιμο bandwidth και επιπλέον να εξοικονομούν ένα αντίστοιχο ποσοστό στο χώρο αποθήκευσης.
Χωρίς συμβιβασμούς στην ποιότητα εικόνας, ένας κωδικοποιητής Η.264 μπορεί να ελαττώσει το μέγεθος ενός αρχείου ψηφιακού video περισσότερο από 80% συγκρινόμενος με έναν κωδικοποιητή που χρησιμοποιεί το πρότυπο M-JPEG και περισσότερο από 50% συγκρινόμενος με έναν κωδικοποιητή που χρησιμοποιεί το πρότυπο MPEG-4 Part2. Έτσι, οι τελικοί χρήστες μπορούν να εξοικονομήσουν χρήματα ή να επιτύχουν υψηλότερη ποιότητα εικόνας, χρησιμοποιώντας μικρότερο bandwidth και λιγότερο αποθηκευτικό χώρο.
Με αυτήν την απόδοση αναμένεται ότι το πρότυπο Η.264 θα γίνει το πρότυπο συμπίεσης που θα προτιμάται από τους κατασκευαστές τα επόμενα χρόνια. Η τεχνολογία αυτή ήδη χρησιμοποιείται σε κινητά τηλέφωνα και ψηφιακά video players από τις μεγάλες εταιρείες τηλεπικοινωνιών, ενώ και οι εταιρείες που πραγματοποιούν αποθήκευση video σε πραγματικό χρόνο έχουν αρχίσει να το αποδέχονται. Όλες οι ενδείξεις οδηγούν στην υιοθέτησή του πολύ σύντομα και από τη βιομηχανία των συστημάτων επιτήρησης.
Τα αποτελέσματα από τους κωδικοποιητές που χρησιμοποιούν το ίδιο πρότυπο συμπίεσης μπορεί να διαφέρουν, επειδή ο σχεδιασμός ενός κωδικοποιητή μπορεί να επιλέγει για τη συγκεκριμένη εφαρμογή, διαφορετικό σύνολο εργαλείων από τα διαθέσιμα του προτύπου. Στο σημείο αυτό είναι σημαντικό να γίνει κατανοητή η διαφορά μεταξύ ενός προτύπου και της εφαρμογής του προτύπου. Αυτές οι δύο έννοιες είναι τελείως διαφορετικές μεταξύ τους.
Το Η.264 είναι ένα πρότυπο συμπίεσης το οποίο ορίζει τους κανόνες για τη σύνταξη μιας ροής δεδομένων (bitstream), με τους οποίους ένας αποκωδικοποιητής πρέπει να συμμορφώνεται ακριβώς, ώστε εφαρμόζοντας όλα τα απαραίτητα εργαλεία που ορίζονται από το πρότυπο να μπορέσει να αποκωδικοποιήσει τη ροή των δεδομένων. Αντίστροφα, ένας κωδικοποιητής μπορεί να εφαρμόσει ένα υποσύνολο από τους κανόνες που ορίζονται από το πρότυπο για τη δημιουργία μιας ροής δεδομένων.
Υπάρχουν 3 ειδών πλαίσια (frames):
- Ι (Intraframe). Κάθε πλαίσιο Ι αντιμετωπίζεται και κωδικοποιείται ξεχωριστά. Τα Ι πλαίσια είναι κωδικοποιημένα στο σύνολό τους και η αποκωδικοποίησή τους γίνεται χωρίς αναφορά σε κάποιο άλλο. Είναι τα μεγαλύτερα σε μήκος και λειτουργούν σαν σημεία χρονικής αναφοράς. Επιβάλλεται η μετάδοσή τους ανά τακτά χρονικά διαστήματα. Μπορούν να χρησιμοποιηθούν για λειτουργίες ταχείας προσπέλασης, όπως για παράδειγμα ενέργειες γρήγορης αναζήτησης στην αναπαραγωγή ψηφιακού video.
- P (Predicted frames). Είναι βασισμένα σε ένα προηγούμενο Ι ή Ρ πλαίσιο. Έχουν μεγαλύτερο ποσοστό συμπίεσης από τα Ι, άρα μικρότερο μέγεθος, αλλά είναι ευαίσθητα σε σφάλματα μετάδοσης εξαιτίας της πολύπλοκης εξάρτησής τους από προηγούμενα Ι ή Ρ πλαίσια αναφοράς.
- B (Bi-directional frames). Δημιουργούνται λαμβάνοντας υπόψη ένα προηγούμενο και ένα επόμενο πλαίσιο Ι και Ρ (ένα από κάθε είδος).
Χρησιμοποιούνται, γιατί πολλές φορές κάποιες πληροφορίες της εικόνας υπάρχουν σε επόμενα και όχι σε προηγούμενα πλαίσια. (π.χ. με το άνοιγμα μιας πόρτας, η πληροφορία τι υπάρχει πίσω από την πόρτα βρίσκεται στα επόμενα πλαίσια.)
Σχήμα 1. Τυπική ροή δεδομένων
Αφού τα Ρ κατασκευάζονται με βάση τα Ι και τα Β με βάση τα Ι και Ρ είναι προφανώς ότι τα Ι πρέπει να έχουν σταλεί πριν τα Ρ (σχήμα 1).
Tο Η.264 παρέχει ένα σύνολο αλγοριθμικών χαρακτηριστικών για καθορισμένες εφαρμογές (profile). Το πρότυπο διαθέτει επτά profiles που το καθένα αναφέρεται σε μια καθορισμένη κατηγορία εφαρμογών. Ένας κωδικοποιητής, ανάλογα με το profile Η.264 που έχει κατασκευαστεί, μπορεί να χρησιμοποιεί διαφόρων ειδών πλαίσια, όπως Ι, Β και Ρ. Οι ΙP κάμερες και οι κωδικοποιητές video χρησιμοποιούν πιο συχνά το baseline profile. To baseline profile χρησιμοποιεί μόνο Ι και Ρ πλαίσια, με αποτέλεσμα να επιτυγχάνεται χαμηλή καθυστέρηση, γεγονός που είναι ιδιαίτερα σημαντικό στα συστήματα PTZ, ώστε να αποκρίνονται στις εντολές που δέχονται σε πραγματικό χρόνο.
Το πρότυπο Η.264 διαθέτει έντεκα επίπεδα (levels) που οριοθετούν την απόδοση, το bandwidth και τις απαιτήσεις μνήμης. Κάθε επίπεδο ορίζει το ρυθμό δεδομένων (bit rate) και το ρυθμό κωδικοποίησης σε MB/s (ΜacroBlock/second) για ανάλυση εικόνας από QCIF έως HDTV και παραπάνω. Όσο υψηλότερη είναι η ανάλυση, τόσο μεγαλύτερο επίπεδο απαιτείται.
Ένα σύνολο διαφορετικών μεθόδων μπορεί να χρησιμοποιηθεί για να ελαττώσει το ρυθμό των δεδομένων από ένα πλαίσιο, καθώς και μεταξύ μιας διαδοχικής ακολουθίας πλαισίων. Σε ένα πλαίσιο, η μείωση των δεδομένων μπορεί να γίνει με την αφαίρεση της περιττής πληροφορίας. Μεταξύ μιας σειράς πλαισίων, αυτό μπορεί να επιτευχθεί με τη χρήση διαφόρων μεθόδων, όπως η διαφορική κωδικοποίηση ή η βασισμένη σε μπλοκ motion compensation.
Στη διαφορική κωδικοποίηση, ένα πλαίσιο συγκρίνεται με ένα πλαίσιο αναφοράς (Ι ή Ρ) και μόνο τα εικονοστοιχεία (pixels) που έχουν αλλάξει σε σχέση με το πλαίσιο αναφοράς κωδικοποιούνται. Όσο λιγότερα είναι τα κωδικοποιημένα εικονοστοιχεία, τόσο λιγότερη είναι και η πληροφορία που στέλνεται. Στα video με μικρό ποσοστό κίνησης, η διαφορική κωδικοποίηση δεν μειώνει σημαντικά το μέγεθος των δεδομένων. Τεχνικές όπως η motion compensation είναι περισσότερο αποδοτικές. Η motion compensation (σχήμα 2) είναι μια έξυπνη τεχνική για να προσεγγίσουμε την κίνηση ολόκληρου του σχήματος και των αντικειμένων που βρίσκονται σε αυτό. Η κίνηση περιγράφεται με κάποιες κωδικοποιημένες παραμέτρους, όπου τα εικονοστοιχεία σε ένα προβλέψιμο πλαίσιο (Ρ ή Β) προσεγγίζονται με τη «μετάφραση» επιλεγμένων εικονοστοιχείων του πλαισίου αναφοράς. Ο αλγόριθμος εξετάζει τις διαφορές μεταξύ των πλαισίων, αλλά αποθηκεύει την πληροφορία πρόβλεψης για τη θέση στην οποία θα βρεθεί το αντικείμενο στο μέλλον.
Σχήμα 2. Αρχή λειτουργίας της motion compensation
Ο πίνακας 1 δείχνει το αποτέλεσμα κωδικοποίησης της ίδιας ακολουθίας video χρησιμοποιώντας έναν Η.264 κωδικοποιητή με διαφορετικά εργαλεία.
Εργαλεία |
Ρυθμός δεδομένων (Kbps) |
Χρόνος Εκτέλεσης (σχετικός) |
Κωδικοποίηση μόνο Ι-πλαισίων |
2279 |
1 |
Κωδικοποίηση Ι και Ρ πλαισίων, αλλά χωρίς να γίνεται εκτίμηση κίνησης |
1055 |
1.5 |
Κωδικοποίηση Ι και Ρ πλαισίων με ανίχνευση +/-16, χρησιμοποιώντας έναν απλό αλγόριθμο ανίχνευσης |
453 |
14 |
Κωδικοποίηση Ι και Ρ πλαισίων με χρήση αλγορίθμου πλήρους ανίχνευσης με μεταβλητού μεγέθους μπλοκ motion compensation |
421 |
56 |
Πίνακας 1
*Πηγή: IndigoVision
Φαίνεται ξεκάθαρα ότι χρησιμοποιούνται περισσότερα εργαλεία και αλγόριθμοι για να επιτευχθεί μεγαλύτερη συμπίεση για την ίδια ποιότητα εικόνας. Επίσης είναι εμφανές ότι επιπλέον εργαλεία οδηγούν στην αύξηση της πολυπλοκότητας, που έχει άμεση σχέση με το χρόνο εκτέλεσης της εργασίας της κωδικοποίησης.
Ο σχεδιαστής του κωδικοποιητή μπορεί να χρησιμοποιήσει διάφορες εφαρμογές και αλγόριθμους που δεν ορίζονται από το πρότυπο. Αυτό έχει ως αποτέλεσμα κωδικοποιητές Η.264 από διαφορετικούς κατασκευαστές να παράγουν ροές video διαφορετικής ποιότητας, για τον ίδιο ρυθμό μετάδοσης.
Κατά συνέπεια, αυτό που ακούγεται ότι «το Η.264 προσφέρει καλύτερη ποιότητα video από το MPEG-2» είναι τελείως παραπλανητικό. Η αλήθεια είναι ότι «το Η.264 προσφέρει περισσότερους κανόνες για τη δημιουργία μιας ροής video και ένα ευρύτερο σύνολο εργαλείων από ό,τι ο MPEG-2 και με αυτόν τον τρόπο υπάρχει η δυνατότητα να δημιουργηθεί ένας ανώτερος κωδικοποιητής, που να παράγει υψηλότερη ποιότητα video για τον ίδιο ρυθμό δεδομένων ή να μπορεί να παράγει την ίδια ποιότητα αλλά σε χαμηλότερο ρυθμό από ό,τι ένας κωδικοποιητής MPEG-2».
Αυτό πρακτικά σημαίνει ότι δεν μπορεί να γίνει σύγκριση μεταξύ διαφορετικών προτύπων, αλλά ούτε και μεταξύ των διαφορετικών εφαρμογών του ίδιου προτύπου, χωρίς να ξέρουμε πώς ακριβώς έχει δημιουργηθεί ο κωδικοποιητής.
Στις εφαρμογές επιτήρησης εικόνας, το πρότυπο Η.264 χρησιμοποιείται στις περιπτώσεις όπου υπάρχει ανάγκη για υψηλούς ρυθμούς μετάδοσης εικόνας (25 fps είναι ο κανόνας) και ταυτόχρονα υψηλή ανάλυση(4CIF), όπως στα καζίνο, τους αυτοκινητόδρομους, τα αεροδρόμια κ.ά. Το Η.264 αναμένεται να επιταχύνει την αποδοχή των καμερών πολύ υψηλής ανάλυσης (κάμερες megapixel), όπου η συμπίεση μπορεί να ελαττώσει το μέγεθος των μεγάλων αρχείων και να παράγει υψηλούς ρυθμούς μετάδοσης, χωρίς να κάνει κανένα συμβιβασμό στην ποιότητα της εικόνας.
Όμως, ενώ το Η.264 κάνει εξοικονόμηση στο bandwidth του δικτύου και στο χώρο αποθήκευσης, απαιτεί περισσότερο εξελιγμένες ΙΡ κάμερες και υψηλής απόδοσης σταθμούς απεικόνισης, όπου το video αποκωδικοποιείται και απεικονίζεται.
Η δημιουργία του προτύπου Η.264 είναι ένα μεγάλο βήμα προς τα εμπρός για την τεχνολογία της συμπίεσης video. Προσφέρει τεχνικές, με δυνατότητες μεγαλύτερης ακρίβειας πρόβλεψης και βελτιωμένης ανθεκτικότητας στα σφάλματα, αυξάνοντας με τον τρόπο αυτό την απόδοση της συμπίεσης. Έτσι, παρέχει νέες προοπτικές για τη δημιουργία καλύτερων κωδικοποιητών video που δημιουργούν bitstream με υψηλότερη ποιότητα, υψηλότερους ρυθμούς ανανέωσης και υψηλότερες αναλύσεις σε σύγκριση με τα προγενέστερα πρότυπα – ή αντίστροφα, επιτυγχάνουν την ίδια ποιότητα video σε χαμηλότερους ρυθμούς δεδομένων.
Η επιτυχία του Η.264 ήταν ότι για πρώτη φορά οι ομάδες εργασίας των ITU, ISO και IEC εργάσθηκαν μαζί για την ανάπτυξη ενός κοινού προτύπου για συμπίεση video. Στο γεγονός αυτό οφείλεται και η ευελιξία του Η.264, που εφαρμόζεται σε διαφορετικά τεχνολογικά πεδία, όπως τα υψηλής ανάλυσης DVD, η τηλεόραση υψηλής ευκρίνειας, η αποθήκευση online video (YouTube), τα κινητά τηλέφωνα 3ης γενιάς κ.ά. Με την υποστήριξη πολλών κατασκευαστών που θα ικανοποιούν τις τεχνολογικές ανάγκες σε διάφορα πεδία εφαρμογών, το Η.264 αναμένεται να αντικαταστήσει τα πρότυπα συμπίεσης που χρησιμοποιούνται σήμερα.
Του Γιώργου Βελντέ
Φυσικός -Ραδιοηλεκτρολόγος