Κεφάλαιο 2 – Ανάλυση Προτύπων H.264

2.1 – Το H.264  Επισκόπηση

 

Το H.264/MPEG4 Part 10 ή αλλιώς AVC (Advanced Video Coding) αποτελεί ένα αρκετά διαδεδομένο πρότυπο συμπίεσης κινούμενης εικόνας. Ο τελικός σχεδιασμός του προτύπου αυτού ολοκληρώθηκε τον Μάη του 2003. Αποτελεί ένα πρότυπο κωδικοποίησης λαμβάνοντας υπόψιν την διανυσματική κίνηση των μπλοκ εικονοστοιχείων και αναπτύχθηκε από την ITU-T (VCEG) μαζί με την επιτροπή ISO/IEC (MPEG). Αποτελεί προϊόν συνεργασίας γνωστό σαν ομάδα Joint Video Team (JVT). Το ITU-T H.264 πρότυπο και το ISO/IEC  MPEG-4 AVC αναπτύσσονται και εξελίσσονται παράλληλα έτσι ώστε να διατηρούν μια συνεκτικότητα στην τεχνική τους τεκμηρίωση. Το H.264 χρησιμοποιείται σε εφαρμογές όπως οι οπτικοί δίσκοι Blue-ray, δικτυακό video Youtube, καθώς και σε χρήσεις όπως iTunes, DVB επίγειες ή δορυφορικές μεταδόσεις εικόνας, καλωδιακή τηλεόραση ή σε ζωντανές τηλεσυνδιασκέψεις εικόνας .

 

Ο αρχική σκοπιμότητα του προτύπου Η.264 ήταν να καταφέρει να δημιουργηθεί ένα πρότυπο ικανό να παρέχει καλή ποιότητα εικόνας σε σχετικά χαμηλούς ρυθμούς μετάδοσης δεδομένων σε σχέση με παλαιότερα πρότυπα, χωρίς την αύξηση της πολυπλοκότητας του σχεδιασμού, το οποίο θα  το καθηστούσε μη πρακτικό ή υπερβολικά ακριβό κατά την υλοποίηση του. Ένας επιπρόσθετος στόχος ήταν να παρέχει αρκετή ευελιξία ώστε να είναι πρακτικά εφαρμόσιμο σε πληθώρα εφαρμογών, κάθε φορά σε διαφορά δίκτυα ή συστήματα, συμπεριλαμβανομένου χαμηλών και υψηλών ρυθμών μετάδοσης ή ανάλυσης εικόνας, εκπομπές, αποθήκευση DVD, RTP/IP δικτυα καθώς και πολυμεσικά τηλεφωνικά συστήματα τύπου ITU-T. Το H.264 μπορεί να θεωρηθεί έως μια “οικογένεια προτύπων”, τα μέλη των οποίων είναι τα προφίλ που θα περιγραφούν παρακάτω. Ένας συγκεκριμένος αποκωδικοποιητής, αποκωδικοποιεί τουλάχιστον ένα, αλλά όχι απαραίτητα όλα από τα προφίλ. Τα επιμέρους χαρακτηριστικά ένος αποκωδικοποιητή περιγράφουν πια προφίλ μπορούν να αποκωδικοποιηθούν.

 

Το όνομα του H.264 ακολουθεί την σειρά ονομασίας της επιτροπής ITU-T, όπου το πρότυπο είναι μέλος της οικογένειας προτύπων H.26x VCEG κινούμενης εικόνας: το όνομα MPEG-4 AVC συσχετίζετε με την επιτροπή ISO/IEC MPEG, όπου αποτελεί το 10ο κομμάτι της. Το Η.264 αναπτύχθηκε σε συνεργασία με το VCEG και MPEG, μετά από πρώιμη ανάπτυξη στην επιτροπή ITU-T καθώς και στο VCEG project με ονομασία Η.26L. Έτσι λοιπόν συνηθίζεται να αναφέρεται σαν H.264/AVC, H.264/MPEG-4 AVC ή MPEG-4/H.264 AVC, ώστε να επισημάνει την κοινή τους αρχική τους ανάπτυξη. Το όνομα H.26L αναφέρεται στο ITU-T κομμάτι ανάπτυξης του αλλά παρόλα αυτά συναντιέται σπάνια.

 

Η προτυποποίηση του H.264/AV όπου ολοκληρώθηκε στον Μάη του 2003 όπως προαναφέραμε, το αρχικό πλάνο επέκτασης του προτύπου JVT ανέπτυξε τις Επεκτάσεις Μεταβαλλόμενης Πιστότητας (Fidelity Range Extensions (FRExt)). Αυτές οι επεκτάσεις επέτρεπαν υψηλότερη ποιότητα εικόνας υποστηρίζοντας λήψη ψηφιακών δειγμάτων αυξημένου βάθους (increased sample bit depth precision) καθώς και λήψη χρωματικών δειγμάτων υψηλότερης ανάλυσης (higher-resolution color information). Οι τεχνικές δειγματοληψίας αυτές είναι γνωστές σαν Y’CbCr 4:2:2 (=YUV 4:2:2) και Y’CbCr 4:4:4. Πολλά επιπλέον χαρακτηριστικά συμπεριλήφθηκαν στο Fidelity Range Extensions project όπως προσαρμοσμένη αλλαγή μεταξύ 4×4 και 8×8 μετασχητισμό ακαιρέων, πίνακες μεταβαλλόμενου βάρους κβαντοποίησης, βάση οπτικής αντίληψης του κωδικοποιητή (encoder-specified perceptual-based quantization weighting matrices), αποδοτική κωδικοποίηση εικόνας καθώς και υποστήριξη επιπλέον χρωματικών πεδίων. Η ολοκλήρωση του σχεδιασμού πάνω στις επεκτάσεις μεταβαλλόμενης πιστότητας ολοκληρώθηκε τον Ιούλη του 2004 και η τεκμηρίωση της τον Σεπτέμβρη του 2004. Οι επιπλέον επεκτάσεις του προτύπου που συμπεριλήφθηκαν αρχικά στόχευαν κυρίως σε επαγγελματικές εφαρμογές, υποστηρίζοντας επιπλέον παλέτες χρωμάτων και ορίζοντας επιπρόσθετες αναλογίες εικόνας με την χρήση δύο ακόμη είδη πληροφορίας μορφοποίησης εικόνας “supplemental enhancement information” (post-filter hint and tone mapping) και υποβαθμίζοντας τα αρχικά FRExt προφιλ στα οποία εκδηλώθηκε η ανάγκη στην αγορά να σχεδιαστούν διαφορετικά.

 

Ένα κύριο χαρακτηριστικό που συμπεριλήφθηκε ήταν η κλιμακούμενη κωδικοποίηση κινούμενης εικόνας (Scalable Video Coding). Περιλαμβάνεται στο Annex G του H.264/AVC, το SVC επιτρεπει την κατασκευή ροών δεδομένων που εμπεριέχουν υποροές που οποίες υπακούν στα χαρακτηριστικά του προτύπου Οι επεκτάσεις αυτές συμπεριηφηκαν μετέπειτα τον Νοεμβρη του 2007. Το αμεσως επομενο χαρακτηριστικο που συμπεριλήφθηκαν ήταν το πρότυπο της κωδικοποίησης πολλαπλής απεικονησης (Multiview Video Coding MVC). Περιληφθηκε στο Annex H και επιτρεπει στην κωδικοποιηση ροων δεδομενων που αναπαριστουν πανω απο μια ληψεις σε μια συγκεκριμενη σκηνη. Ένα σημαντικο παραδειγμα εφαρμογης της τεχνικης αυτης είναι η κωδικοποίηση μιας στερεοσκοπικής 3D απεικόνισης. Δυο προφιλ αναπτυχθηκαν στην αναπτυξη το MVC: το ένα υποστηριζει πολλαπλές γωνιες ληψης και το αλλο αναπτυχθηκε ειδικα για την προβολη στερεοσκοπικου video. Οι επεκτασεις αυτες ολοκληρωθηκαν τον Νοέμβρη του 2009.

 

Σχ.1 – Πίνακας σύγκρισης του H.264/AVC (MPEG-4) με άλλα δημοφιλή πρότυπα κωδικοποίησης video

 

2.2 – Εφαρμογές του H.264

 

Το πρότυπο κινουμενης εικόνας H.264, συνανταται σε πληθωρα εφαρμογων που καλυπτουν όλες τις κατηγοριες συμπιεσμενου video, απο πολυ χαμηλα bitrate σε μεταδωσεις μεσω Internet μεχρι και τηλεοπτικες προβολες υψηλης πιστοτητας (HDTV), σε εφαρμογες ψηφιακου οικιακου σινεμα με σχεδον μη απωλεστικες κωδικοποιησεις. Με την χρηση του H.264, τα οφελη στην μειωση του μεγεθους του τελικου αρχειου ειναι της ταξης του 50% και ανω. Για παραδειγμα έχει αναφερθει οτι με την χρηση του H.264 έχουμε την ιδια τελικη ποιοτητα εικονας σε δορυφορικες μεταδωσεις σε σχεση με υλοποιησεις σε MPEG-2 με τον μισο ογκο δεδομενων στην ζευξη. Οι παρουσες εφαρμογες MPEG-2 λειτουργουν περιπου στα 3.5Mbit/s καθως το H.264 μολις στα 1.5 Mbit/s. Για την διασφαληση της συμβατοτητας και της απροσκοπτης υοθετησης του H.264/AVC, πολλά πακετα προτυπων έχουν ενσωματωσει τα σχετικα χαρακτηριστικα ώστε οι χρηστες τους να μπορουν χρησιμοποιησουν το H.264/AVC.

 

Οι οπτικοί δίσκου Blue-ray καθώς και οι HD DVD που αποσυρθηκαν εν τελη κανουν χρηση του H.264/AVC High Profile, ένα απο τα 3 συνιστωμενα προτυπα συμπίεσης. Η Sony έχει κανει και αυτη χρηση του φορμα αυτου στο  Memory Stick Video format. Η επιτροπη που ανεπτυξε τo προτυπο για τις επιγιες ψηφιακες μεταδωσεις (DVB) ενεκρινε την χρηση του H.264/AVC για την εκμπομπη τηλεοπτικου σήματους στα τελη του 2004. Επιπλεον η αντιστοιχη επιτροπη επιγειας ψηφιακης τηλεορασης στις ΗΠΑ (ATSC) υοθετησε και αυτη την χρηση του παραπανω προτυπου τον Ιουλη το 2008 παρολο που το προτυπο δεν εχει γινει πληρως συμβατό με τις παρουσες μεταδωσεις της επιτροπης αυτης. Ακόμη έχει εγκριθεί για χρηση στο video μεσω δικτου κινητης τηλεφωνίας  ATSC-M/H (Mobile/Handheld) αξιοποιωντας το AVC και SVC κομμάτι του H.264.

 

To AVCHD αποτελεί ένα πρότυπο εγγραφής video υψηλής πιστότητας σχεδιασμένο απο την Sony και Panasonic καθώς κάνει χρήση του H.264 (ακολουθεί το πρότυπο αυτό κάνοντας χρήση

επιπλέον χαρακτηριστικών). Οι τεχνολογίες κλειστών κυκλωμάτων τηλεόρασης CCTV έχουν ενσωματώσει το πρότυπο σε πληθώρα προϊόντων. Πριν την εφαρμογή του παραπάνω προτύπου, οι τεχνολογίες συμπίεσης που χρησιμοποιώντας στην αγορά των φορητών βιντεοκαμερών DVR’s είχαν γενικά περιορισμένες δυνατότητες συμπίεσης. Με την υοθέτηση του προτύπου συμπίεσης H.264 στις εφαρμογές κλειστών κυκλωμάτων παρακολούθησης, η τελική ποιότητα του  video βελτιώθηκε αισθητά. Στις αρχές του 2008, ορισμένες εταιρίες του χώρου προωθούσαν τις τεχνολογίες που προσφέρει το πρότυπο H.264 εως εφαρμογές video υψηλής πιστότητας.

 

2.3 – Κατοχύρωση Αδειών Λογισμικού H.264

 

Σε χώρες όπου οι πατέντες λογισμικού είναι σε ισχύ, οι κατασκευαστές καθώς και οι εμπορικοί χρήστες που χρησιμοποιούν το H.264/AVC εξυπακούεται να πληρώνουν κάποιο χρηματικό ποσό για την χρήση των δικαιωμάτων πνευματικής ιδιοκτησίας που αναφέρεται στην συγκεκριμένη τεχνολογία. Αυτό αφορά επίσης και το Baseline Profile. Ένας ιδιωτικός οργανισμός εννονόματι MPEG LA, οποίος δεν συσχετίζεται με την επιτροπή προτυποποίησης του MPEG, χορηγεί τις άδειες λογισμικού που σχετίζονται με το πρότυπο αυτό καθώς και αυτές που αφορούν συστήματα  MPEG-2 Part 1, MPEG-2 Part 2 Video, MPEG-4 Part 2 Video καθώς και άλλες αντίστοιχες τεχνολογίες. Η τελευταία US MPEG LA πατέντα λογισμικού για το H.264 δεν προβλέπεται να λήξει πριν το 2028.

 

Στις 26 Αυγούστου, 2010 η επιτροπή MPEG LA ανακοίνωσε ότι το video κωδικοποιημένο με την χρήση του H.264 για χρήση στο διαδίκτυο δεν πρόσκειται σε χρεώσεις δικαιωμάτων πνευματικής ιδιοκτησίας όσο αναφορά τους τελικούς χρήστες. Όλα τα υπόλοιπα δικαιώματα ισχύουν κανονικά όπως εκείνα που αφορούν προϊόντα που κωδικοποιούν ή αποκωδικοποιούν το H.264 video. Οι όροι χρήσης ανανεώνονται ανά διαστήματα 5 χρόνων.

 

Το 2005 η Qualcomm, ή οποία κατοχύρωσε τις πατέντες U.S. Patent 5,452,104 και U.S. Patent 5,576,767 μήνυσε την Broadcom, κατηγορώντας την για παραβίαση τους, δημιουργώντας προϊόντα που ήταν συμβατά με το πρότυπο συμπίεσης video H.264. Το 2007 το περιφερικό δικαστήριο  διαπίστωσε οτι οι πατέντες δεν ήταν δυνατό να λάβουν ισχύ διότι η Qualcomm απέτυχε να τις δημοσιοποιήσει στο JVT πριν την έκδοση του προ

 

In 2005, Qualcomm, which was the assignee of U.S. Patent 5,452,104 and U.S. Patent 5,576,767 sued Broadcom in US District Court, alleging that Broadcom infringed the two patents by making products that were compliant with the H.264 video compression standard. In 2007, the District Court found that the patents were unenforceable because Qualcomm had failed to disclose them to the JVT prior to the release of the H.264 standard in May 2003. In December 2008, the US Court of Appeals for the Federal Circuit affirmed the District Court’s order that the patents be unenforceable but remanded to the District Court with instructions to limit the scope of unenforceability to H.264 compliant products.[

 

2.4 – Χαρακτηριστικά Προτύπου H.264

 

To H.264/AVC/MPEG-4 Part 10 εμπεριέχει πληθώρα νέων χαρακτηριστικών που επιτρέπουν στην αποτελεσματικότερη συμπίεση σε σχέση με παλαιότερα πρότυπα και παρέχουν ευελιξία στην εφαρμογή σε μια ευρεία γκάμα δικτυακών περιβαλλόντων.  Συγκεκριμένα, μερικά απο τα βασικά αυτά χαρακτηριστικά είναι τα ακόλουθα:

 

2.4.1 – Τεχνικές συσχέτισης πολλών διαδοχικών καρέ ενός video

 

  • Η χρήση εικόνων που έχουν κωδικοποιηθεί ήδη σαν αναφορές, με πολύ αποδοτικότερο τρόπο σε σχέση με τα παλαιότερα πρότυπα, επιτρέπουν μέχρι και 16 καρέ (frames) αναφοράς (ή 32 πεδία αναφοράς, στην περίπτωση προοδευτικής κωδικοποίησης). Η τεχνική αυτή επιτρέπει συνήθως μικρές βελτιώσεις του εξερχόμενου όγκου δεδομένων και στην ποιότητα στις πιο πολλές σκηνές. Σε συγκεκριμένα όμως ήδη σκηνών, όπως αυτές με επαναλαμβανόμενη κίνηση ή πλάνα μπρος-πίσω ή σε ακάλυπτους χώρους σκηνικών , επιτρέπει την σημαντική μείωση του όγκου δεδομένων διατηρώντας παράλληλα την ποιότητα εικόνας σε ικανοποιητικά επίπεδα.
  • Απόδοση κίνησης με χρήση μπλοκ κλιμακούμενου μεγέθους (Variable block-size motion compensation (VBSMC)). Τα μπλοκ αυτά μπορεί να έχουν μεγεθος 16×16 ή ακόμη και 4×4,  κάνοντας δυνατή την ακριβής κατάτμηση της κινούμενων τμημάτων. Τα μπλοκ φωτινότητας που υποστηρίζονται είναι τα μπλοκ 16×16, 16×8, 8×16, 8×8, 4×8 και 4×4, όπου συνδιαζόμενα μεταξύ τους μπορούν να αποτελέσουν ένα μακρομλοκ (macroblock). Το μέγεθος των μπλοκ χρωματικής πρόβλεψης είναι σε αντιστοιχία με την χρωματική δειγματοληψία που εφαρμόζεται κάθε φορά.
  • Η δυνατότητα χρήση πολλαπλών διανυσμάτων κίνησης ανά μακρομπλοκ (ένα ή δυο ανα τμήματα) με μέγιστο τα 32 σε περίπτωση που ένα Β απο αυτό δομείται με 16 τμήματα 4×4. Το διάνυσμα κίνησης για κάθε 8×8 ή μεγαλύτερης τμηματική περιοχής μπορεί να αντιστοιχίζεται σε διαφορετικές εικόνες κάθε φορά.
  • Η δυνατότητα χρήσης οποιουδήποτε είδους μακρομπλοκ στα B-frames, συμπεριλαμβανομένου Ι-macroblock, έχοντας σαν αποτέλεσμα την αποδοτικότερη κωδικοποίηση όταν γίνεται χρήση B-frames. Αυτό το χαρακτηριστικό δεν συμπεριλήφθηκε στο MPEG-4 ASP.
  • Η ακρίβεια 1/4 εικονοστοιχείου (quarter pixel) για ορισμό κίνησης, κάνοντας δυνατή την ακριβής περιγραφή της κίνησης συγκεκριμένων περιοχών. Όσο αναφορά την χρωματική πληροφορία η ανάλυση έχει κοπεί στο μισό οριζοντίως και καθέτως, έτσι λοιπόν ο χρωματικός ορισμός κίνησης κάνει χρήση μόνο το 1/8 των μονάδων πλέγματος χρωματικών εικονοστοιχείων (chroma pixel grid units)
  • Πρόβλεψη μεταβλητού βάρους, επιτρέποντας στον κωδικοποιητή να ορίζει την χρήση κλίμακας και αντιστοιχίας όταν εφαρμόζει τον ορισμό κίνησης, παρέχοντας σημαντική βελτίωση στην απόδοση σε ειδικές περιπτώσεις, όπως στην μετάβαση της εικόνας σε μαύρο φόντο ή αντίστροφα. Η τεχνική αυτή περιλαμβάνει την αυστηρή συσχέτιση βαρών για τα B-frames καθώς και για τα P-frames.

 

2.4.2 – Τμηματική πρόβλεψη από τις άκρες των γειτονικών μπλοκ για δια-κωδικοποίηση, αντι για πρόβλεψη “DC” που συναντιέται στο MPEG-2 Part 2 και στον μετασχηματισμό αποδοτικής πρόβλεψης του H.263v2 και MPEG-4 part 2. Αυτός περιλαμβάνει τμηματική πρόβλεψη φωτεινότητας με χρήση μπλοκ μεγέθους 16×16, 8×8, και 4×4 (όπου ένας είδος κάθε φορά μπορεί να χρησιμοποιηθεί σε κάθε macroblock).

 

2.4.3 – Τεχνικές μη-απωλεστικής κωδικοποίησης macroblock.

 

  • Λειτουργία μη-απωλεστικής απεικόνησης “PCM Macroblock” στην οποία τα δείγματα δεδομένων video αναπαρίστανται απευθείας, επιτρέποντας την τέλεια απεικόνηση συγκεκριμένων περιοχών και επιτρέποντας την θέσπιση ενός αυστηρού ορίου στην ποσότητα των κωδικοποιημένων δεδομένων του κάθε macroblock.
  • Λειτουργία προσαρμοσμένης αναπαράστασης μη-απωλεστικών macroblock, επιτρέποντας την βέλτιστη αναπαράσταση συγκεκριμένων περιοχών ενώ γίνεται φυσιολογικά με χρήση αρκετών λιγότερων δεδομένων σε σχέση με την λειτουργία PCM

 

2.4.4 – Ευέλικτες τεχνικές πεπλεγμένης σάρωσης (Flexible interlaced-scan video coding):

 

  • Προσαρμοσμένη κωδικοποιήση συνόλου μπλοκ (macroblcok) (MBAFF). Με την χρήση δομής ζευγών macroblock εώς εικόνες κωδοποιημένες σαν καρέ, επιτρέποντας τα 16×16 σε τομείς πεδίου (σε σύγκριση με το MPEG-2, όπου οι τομείς πεδίων κωδικοποιούνται σαν καρέ, καταλήγουν στην επεξργασία μισών macroblock 16×8)
  • Η τεχνική “Picture-adaptive frame-field coding” (PAFF or PicAFF) επιτρέπει στην ελεύθερη επιλογή διαφοερτικών εικόνων κωδικοποιημένες σαν ολόκληρα καρέ, όπου και τα δύο πεδία συνδιάζονται για να κωδικοποιηθούν μαζί ή σαν ξεχωριστά μοναδικά πεδία (fields).

 

2.4.5 – Νέες τεχνικές σχεδιαστικού μετασχηματισμού (transform design features):

 

 

  • Χρήση ενός απόλυτα αντιστοιχίσημου ακεραίου 4×4 τμηματικού μετασχηματισμού μπλοκ, που επιτρέπει την ακριβή τοποθέτηση σημάτων διαφοροποίησης (residual signals). Η τεχνική αυτή είναι ενοιολογικά παρόμοια με το γνωστό DCT design, απλουστευμένο μεν έτσι ώστε να παρέχει αποκωδικοποίηση ακριβίας.
  • Χρήση ενός απόλυτα αντιστοιχήσιμου ακεραίου 8×8 τμηματικού μετασχηματισμού block, επιτρέποντας την αποδοτικότερη συμπίεση συσχετισμένων περιοχών σε σύγκριση με τον μετασχηματισμό 4×4. Η τεχνική αυτή είναι επίσης όμοια με το DCT Design, σε πιο απλή μορφή έτσι ώστε να επιτυγχάνεται ακρίβια.
  • Προσαρμοσμένη επιλογή κωδικοποιητή ανάμεσα στον μετασχηματισμό 4×4 και 8×8 μεγέθους μπλοκ για την μετασχηματισμού ακεραίων.

 

  • Ένας δευτερεύον “Hadamard transform” που εκτελείται στους συντελεστές του “DC”, του  κυρίως τμηματικού μετασχηματισμού που εκτελούνται στους χρωματικούς συντελεστές DC (καθώς και φωτεινότητας σε ειδικές περιπτώσεις) έτσι ώστε να επιτυγχάνεται αποδοτικότερη συμπίεση σε λείες περιοχές

 

2.4.6 – Τεχνική κβαντισμένου σχεδιασμού (quantization design):

 

  • Λογαριθμικά βήματα ελέγχου μεγέθους για ευκολότερη διαχείριση ρυθμού δεδομένων απο τους κωδικοποιητές και κλιμάκωση αντίστροφου κβαντισμού (inverse-quantization scaling)
  • Κβαντισμός προσαρμοσμένης συχνότητας κλιμάκωσης πινάκων (Frequency-customized quantization scaling matrices) που επιλέγονται από τον κωδικοποιητή για βελτιστοποίηση κβαντισμού βασισμένου σε κριτήρια αντίληψης (perceptual-based quantization optimization)

 

Σχήμα 1 – Αναπαράσταση βημάτων αποκωδικοποίησης / κωδικοποίησης του H.264

 

2.5 – Προφίλ του Προτύπου H.264

 

Το πρότυπο H.264 ορίζει 17 σύνολα χαρακτηριστικών, τα οποία συνηθως συναντώνται εως προφιλ (profiles) και στοχεύουν κυριώς σε συγκεκριμένες κατηγορίες εφαρμογών:

 

Constrained Baseline Profile (CBP): Αρχικά αναυπτύχθηκε για εφαρμογές χαμηλού κόστους όπως τηλεσυνδιασκέψεις και χρήση σε κινητές επικοινωνίες. Αντιστοιχεί στο υποσύνολο των χαρακτηριστικών που είναι κοινά μεταξύ των προφιλ Baseline, Main, και High Profile που περιγράφονται παρακάτω.

 

Baseline Profile (BP): Το προφιλ αυτό στοχεύει επίσης σε εφαρμογές χαμηλού κόστους που απαιτούν επιπλέον ευρωστία απώλεια δεδομένων και γίνεται χρήση και αυτού σε κινητές εφαρμογές και τηλεσυνδιασκέψεις. Αυτό το προφίλ περιλαμβάνει όλα τα χαρακτηριστικά που υποστηρίζονται στο Constrained Baseline Profile, με επιπλέον 3 χαρακτηριστικά που μπορούν να μειώσουν την ευρωστία δεδομένων (robustness) (ή άλλες απαιτήσεις όπως εφαρμογές video με χαμηλό χρόνο καθυστέρησης και πλοήγηση πολλαπλών σημείων). Η σημαντηκότητα του προφιλ αυτού έχει μειωθεί μετά τον ορισμό του Constrained Baseline Profile το 2009. Όλες η ροές δεδομένων του Constrained Baseline Profile θεωρούνται και αυτές ροές του Baseline Profile καθώς μοιράζονται την ίδια τιμή κωδικού αναγνωρίσης

 

Main Profile (MP): Το προφιλ αυτό χρησιμοποιείται κυρίως σε εφαρμογές ψηφιακών τηλεοπτικών μεταδόσεων (DVB) με χρήση του φορμά MPEG-4 όπως αυτό ορίζεται στο πρύτυπο DVB. Ωστόσο δεν χρησιμοποιείται συνήθως σε μεταδόσεις τηλεόρασης υψηλής ευκρίνειας (HDTV), καθώς αναπτύχθηκε μετέπειτα το High Profile το 2004 για χρήση στις περιπτώσεις εφαρμογών σαν αυτή.

 

Extended Profile (XP): Προορίζεται για χρήση σε εφαρμογές δικτυακού video, καθώς το προφιλ αυτό έχει δυνατήτες υψηλής συμπίεσης και ορισμένα επιπλεόν χαρακτηριστικά για απώλεια δεδομένων, αναξιοπιστία καναλιού μετάδοσης καθώς και σε περίπτωση εναλλαγής των πηγών στους παροχείς video.  

 

High Profile (HiP): Το βασικό προφιλ για εφαρμογές μεταδόσεων και οπτικών δίσκων, συγκεκριμένα για τηλεοπτικά προγράματα υψηλής ευκρίνιας (HDTV) (π.χ. το πορφιλ αυτο υοθετήθηκε από to φορματ οπτικών δίσκων Blue-ray και το πρότυπο DVB για τηλεοπτικές μεταδόσεις υψηλής ευκρίνιας)

 

High 10 Profile (Hi10P): Το προφιλ αυτό υπερβαίνει τις δυνατότες των εμπορικών συσκευών αναπαραγωγής, χτίζοντας πάνω στο ήδη υπάρχον High Profile, δίνοντας επιπλέον υποστήριξη για χρήση δειγμάτων των 10bit που αναπαριστά την ακρίβεια αποκωδικοποίησης της εικόνας.

 

High 4:2:2 Profile (Hi422P): Αρχικά στόχευε στην χρήση για επαγγελματικές εφαρμογές που χρησιμοποιούσουν πεπλεγμένο video, χτίζοντας πάνω στο ήδη υπάρχον High 10 Profile, υποστηρίζοντας το φορμάτ χρωματικής δειγματοληψίας 4:2:2  ενώ παράλληλα κάνει επίσης χρήση 10bit δειγμάτων ακρίβιας αποκωδικοποιημένης εικόνας.

 

High 4:4:4 Predictive Profile (Hi444PP): Το προφίλ αυτό δομείται στο προαναφερθέν Hi422P προφιλ, υποστηρίζονυας 4:4:4 χρωματική δειγματοληψία, μεχρι και 14 bit ανα δείγμα, επιπλέον υποστηρίζοντας αρκετά αποδοτικές μη-απωλεστικές κωδικοποιήσεις περιοχής καθώς και κωδικοποίηση της εικόνας σαν 3 ξεχωριστές χρωματικούς πίνακες.

 

Για χρήση ψηφιακές φορητών καμερών, επεξεργασία, μονταζ καθώς και επαγγελματικές εφαρμογές, το πρότυπο H.264 εμπεριέχει τέσσερα επιπλέον υπο-προφιλ, οπου χαρακτηρζίονται σαν υποσύνολα των αντίστοιχων βασικών προφιλ:

 

High 10 Intra Profile: Το High 10 Profile περιορίζεται για εσωτερική χρήση (constrained to all-Intra use).

 

High 4:2:2 Intra Profile: Το High 4:2:2 Profile περιορίζεται για εσωτερική χρήση (constrained to all-Intra use).

 

High 4:4:4 Intra Profile: Το High 4:4:4 Profile περιορίζεται για εσωτερική χρήση (constrained to all-Intra use).

 

CAVLC 4:4:4 Intra Profile: Το High 4:4:4 Profile περιορίζεται για εσωτερική χρήση και την CAVLC κωδικοποίηση εντροπίας (π.χ. δεν υποστηρίζει CABAC).

 

Σαν αποτέλεσμα της κλιμακωτης κωδικοποίησης video (Scalable Video Decoding SVC), το πρότυπο εμπεριέχει τρία επιτπλέον προφιλ κλιμάκωσης, το ποία ορίζονται σαν συνδιασμό του H.264/AVC για το κυριώς επίπεδο (τα οποία αναγνωρίζονται μέσω του 2ου γράμματος στο όνομα του προφιλ) καθώς και το σύνολο το εργαλείων που επιτυγχάνουν την κλιμάκωση αυτη καθεαυτή όπως αναφέρονται παρακάτω:

 

Scalable Baseline Profile: Αρχικά στόχευε κυιρώς σε χρήση τηλεσυνδιασκέψεων, κινητών επικοινωνίων και συστήματα παρακολούθησης, το προφιλ αυτό χτίστηκε πάνω στην περιορισμένη έκδοση του H.264/AVC High Profile όπου το πρότυπο αυτό πρέπει να ακολουθεί.

 

Scalable High Intra Profile: Σχεδιάστηκε για χρήση κυρίως σε εμπορικές εφαρμογές προϊόντων και το προφίλ αυτό αποτελεί το προαναφερθέν  Scalable Baseline Profile για κάθε ειδική χρήση

 

Σαν άποτέλεσμα της ανάπτυξης του προτύπου κωδικοποίησης video πολλαπλών λήψεων (Multiview Video Coding MVC), αυτό εμπεριέχει δύο επιμέρους υπο-προφίλ:

 

Stereo High Profile: Το προφίλ αυτό στοχεύει κυρίως σε εφαρμογές στερεοσκοπικής τρισδιάστατης απεικόνισης (Stereoscopic 3D Video) και συνδυάζει τα εργαλεία που παρέχει το High Profile καθώς επίσης και την ικανότητα πρόβλεψης των επιμέρους λήψεων που παρέχει το πρότυπο MVC

 

Multiview High Profile: Το προφίλ αυτό υποστηρίζει δύο ή περισσοτέρων επιπλέον γωνιών λήψης κάνοντας χρήση της χρονικής πρόβλεψης εικόνας καθώς και την πρόβλεψης πλάνου λήψεως του MVC. Το μειονέκτημα της είναι ότι δεν υποστηρίζει εικόνες πεδίου και κωδικοποίηση macroblock-adaptive frame-field.

 

Πίνακας 2 – Τεχνικές που χρησιμοποιεί κάθε επιμέρους προφίλ του H.264

2.6 – Επίπεδα (Levels)

Σαν όρος που έχει χρησιμοποιηθεί κατά την ανάπτυξη του προτύπου, το “επίπεδο” (level) αποτελεί ένα σύνολο περιορισμών που περιγράφουν την ελάχιστη απαίτηση απόδοσης της αποκωδικοποίησης που εκτελεί ένα συγκεκριμένο προφίλ. Για παράδειγμα το επίπεδο υποστήριξης σε ένα προφίλ θα καθορίσει την μέγιστη ανάλυση εικόνας, ρυθμό καρέ (frame rate), και έναν ρυθμό μετάδοσης που δύναται να χρησιμοποιήσει ο αποκωδικοποιητής Όταν αυτός υπακούει σε ένα συγκεκριμένο επίπεδο των χαρακτηριστικών αυτών θεωρούμε ότι είναι επίσης σε θέση να αποκωδικοποιήσει ροές δεδομένων (bitstreams) του επιπέδου αυτού και όλων των χαμηλότερων επιπέδων.

 

2.7 – Προσωρινή Αποθήκευση Δεδομένων Εικόνας (Decoded Picture Buffering)

Εικόνες που έχουν αποκωδικοποιηθεί πρωτίστως από το πρότυπο H.264/AVC χρησιμοποιούνται για την πρόβλεψη δειγμάτων σε άλλες εικόνες. Αυτό επιτρέπει στον κωδικοποιητή να κάνει εύστοχες αποφάσεις όσο αναφορά τον καλύτερο τρόπο κωδικοποίησης μιας εικόνας. Στον αποκωδικοποιητή, οι εικόνες αυτές αποθηκεύονται σε μια εικονική προσωρνή μνήμη (virtual decoded picture buffer (DPB)). Η μέγιστη χωριτικότητα του DPB αποτελείται απο την μέγιστο αριθμό καρέ (ή ζευγάρια πεδίων), όπως φαίνονται στον παραπάνω πίνακα στην δεξία στήλη. Μπορούμε να τα υπολογίσσουμε με την παρακάτω σχέση:

 

Min(Floor(MaxDpbMbs / (PicWidthInMbs * FrameHeightInMbs)), 16)

 

Το μέγεθος MaxDpbMbs αποτελεί μια σταθερά που παρέχεται απο τον παρακάτω πίνακα συναρτήσει βαθμωτών τιμών. Τα PicWidthlnMbs και το FrameHeightlnMbs αντιπροσωπεύουν το πλάτος και μήκος του κάθε καρέ του ακοκωδικοποιημένου video, εκφρασμένο σε μονάδες macroblcok (με στρογγυλοποιήση σε ακέραιες τιμές, υπολόγισμός περικοπής εικόνας (cropping) καθώς και ταίριασμα macroblock όταν υπάρχει ανάγκη). Η παραπάνω σχέση περιγράφεται στα τμήματα A.3.1.h και Α.3.2.f της 2009 έκδοσης του προτύπου αυτού.

Επίπεδο 1 1b 1.1 1.2 1.3 2 2.1 2.2 3 3.1 3.2 4 4.1 4.2 5 5.1
MaxDpbMbs

 

Για παράδειγμα, για την τηλεόραση υψηλής ευκρίνιας (HDTV) αποτελείται απο 1920 δείγματα  οριζοντίως (PicWidthlnMbs = 120) και 1080 καθέτως (FrameHightilnMbs = 68), ένας κωδικοποιητής επιπέδου 4 έχει μέγιστη DPB  αποθηκευτική ικανότητα Floor (32768/(120*68)) = 4 καρέ (ή 8 πεδία) όταν γίνεται κωδικοποίηση με την μικρότερη παράμετρο περικοπής (cropping). Έτσι λοιπόν, η τιμή 4 στις παρενθέσεις στην δεξιά στήλη του πίνακα στο επίπεδο 4, αναφέρεται στην 1920×1080 ανάλυση εικόνας.

 

Είναι σημαντικό να υπογραμμίσουμε ότι η παρούσα εικόνας που αποκωδικοποιείται δεν συμπεριλαμβάνεται στον υπολογισμό πληρότητας DPB (εκτός και εάν ο κωδικοποιητής υποδεικνύει την αποθήκευση του σαν αναφορά για την αποκωδικοποίηση άλλων εικόνων ή για προβολή με καθυστέρηση).  Έτσι λοιπόν είναι αναγκαίο ο αποκωδικοποιητής να έχει αρκετή μνήμη έτσι ώστε να διαχειρίζεται τουλάχιστον ένα καρέ (τουλάχιστον) ή περισσότερα από την μέγιστη χωρητικότητα του DPB όπως υπολογίσθηκε παραπάνω.

 

2.8 – Εκδόσεις

 

Οι εκδόσεις του προτύπου H.264/AVC περιλαμβάνουν τις ακόλουθες ολοκληρωμένες αναθεωρήσεις, διορθώσεις και τροποποιήσεις (οι ημερομηνίες είναι τελικές για την ITU-T, καθώς οι ημερομηνίες της τελική επικύρωση εως “Διεθνές Προτύπου” σύμφωνα με την ISO/IEC διαφέρουν και συνήθως γίνονται λίγο καιρό μετά στις πιο πολλές περιπτώσεις). Κάθε έκδοση αναφέρεται στις αλλαγές που γίναν συναρτήσι της προηγούμενης έκδοσης. Οι γραμμοσκιασμένες εκδόσεις (versions) έχουν εκδοθεί ήδη (ή ενδέχεται να εκδοθούν):

 

  • Version 1: (Μάιος 2003) Η πρώτη έκδοση του H.264/AVC που εκδόθηκε εμπεριέχοντας τα προφιλ Baseline, Extended, και Main.
  • Version 2: (Μάιος 2004) Διορθωτική έκδοση που εμπεριέχει μικρές βελτιώσεις.
  • Version 3: (Μάιος 2005) Βασική προσθήκη στο H.264/AVC που αποτελείται απο βασικές βελτιώσεις παρέχοντας τα Fidelity Range Extensions (FRExt) τα οποία εμπεριέχουν τα προφιλ High, High 10, High 4:2:2, και High 4:4:4
  • Version 4: (Σεπτέμβριος 2005) Διορθωτική έκδοση που αποτελείται απο μικρές αλλαγές βάζοντας προσθέτοντας τρεις δείκτες αναλογίας εικόνας (aspect ratio indicators)
  • Version 5: (Ιούνιος 2006) Βελτιωτική έκδοση που περιλαμβάνει την αφαίρεση του προφιλ High 4:4:4
  • Version 6: (Ιούνιος 2006) Βελτιωτική έκδοση που περιλαμβάνει επεκτάσεις όπως υποστήριξη εκτεταμένης γκάμας κωδικοποίησης (extended-gamut color space support) μαζί με τα προαναφερθέν aspect ratio indicators κατα την ISO/IEC.
  • Version 7: (Απρίλιος 2007) Βελτιωτική έκδοση που αναφέρεται στην προσθήκη των προφιλ High 4:4:4 Predictive καθώς και τέσσερα επιπλέον Intra-only προφιλ (High 10 Intra, High 4:2:2 Intra, High 4:4:4 Intra και CAVLC 4:4:4 Intra).
  • Version 8: (Νοέμβρης 2007) Έκδοση βασικής προσθήκης στο H.264/AVC εμπεριέχοντας την  βελτιωτική έκδοση για το Scalable Video Coding (SVC) περιλαμβάνοντας τα προφιλ Scalable Baseline, Scalable High καθώς και το Scalable High Intra.
  • Version 9: (Ιανουάριος 2009) Διορθωτική έκδοση που περιλαμβάνει ορισμένες μικρές αλλαγές.
  • Version 10: (Μάρτιος 2009) Έκδοση βασικής προσθήκης που περιλμβάνει τον ορισμό ενός νέου προφιλ (το Constrained Baseline profile) με μόνο ένα υποσύνολο δυνατοτήτων που υποστηρίζονται σε προηγούμενα αντίστοιχα προφιλ.
  • Version 11: (Μάρτιος 2009) Έκδοση βασικής προσθήκης στο H.264/AVC που περιλαμβάνει την διορθωτική έκδοση όσο αναφορά το Multiview Video Coding (MVC) extension, με επιπλεόν το Multiview High προφιλ.
  • Version 12: (Μάρτιος 2010) Έκδοση βασικής προσθήκης που περιλμβάνει τον ορισμό ενός νέου MVC profile (το Stereo High profile) για κωδικοποίηση video με δύο γωνίες λήψης, με υποστήριξη εργαλείων για πεπλεγμένη κωδικοποίηση και ορίζοντας ένα επιπλεόν μύνημα SEI (η πληροφορία συσχέτισης των καρέ / frame packing arrangement SEI message).
  • Version 13: (Μάρτιος 2010) Διορθωτική έκδοση που περιλαμβάνει ορισμένες μικρές αλλαγές.

 

2.9 – Απο/κωδικοποιητές προτύπου H.264

 

Οι υλοποιήσεις του AVC/H.264  είναι ήδη διαθέσιμες όπως φαίνονται παρακάτω ονομαστικά: x264, Nero, Apple, Sorenson, Elecard, Moonlight, VSS, mpegable, Envivio, Hdot264 (binary), DSPR, JM (reference software) (binary), ffmpeg, Philips, FastVDO, Skal, Sony καθώς και αρκετές ακόμη.

 

Κωδικοποιητές:

 

  • x264: Ο πρώτος δημόσια διαθέσιμος που εμπεριείχε τον High Profile encoder, ανοιχτής φιλοσοφίας (GPL), διαθέσιμος για VFW: Το x264vfw, ffdshow (επέκταση .avi), σύνταξη εντολής: x264cli (επεκτάσεις .mp4, .mkv, raw), mencoder (επεκτάσεις raw, .avi) (Doom9’s MeGUI) ή ffmpeg x264 που υποστηρίζει 2pass, CABAC, Loop, πολλαπλά B-Frames, B-References, πολλαπλά Reference Frames, 4×4 P-Frame, 8×8 B-Frame Blocksizes, anamorphic signalling and High Profile: 8×8 dct and intra prediction, lossless and custom quant matrices
  • NeroDigital AVC: χρησιμοποιείται στο Nero Recode2 με επεκτάση .mp4 . Η υλοποίηση αυτή υποστηρίζει 2pass, CABAC, (adaptive) Loop, πολλαπλά B-Frames, πολλαπλά Reference Frames, σταθμισμένη πρόβλεψη (weighted prediction), 8×8 P-Frame Blocksizes, 16×16 B-Frame Blocksizes, Adaptive Quant. (Psy High)
  • Sorenson: χρησιμοποιείται στο Sorenson Squeeze 4 με επέκταση .mp4. Υποστηρίζει 2pass, max 2 B-Frames, B-References, Loop και multiple Slices
  • Apple: χρησιμοποιείται στο Quicktime 7 με επέκταση.mp4, .3gp και .mov. Υποστηρίζει 2pass, max 1 B-frame, Loop (0,0), P8x8,B8x8,I4x4, Adapt. Quant, 5 Slices, χωρίς CABAC, χωρίς Weighted Pred., χωρίς multi Ref.
  • JM: Το λογισμκό AVC Reference προσφέρει στην έκδοση v9.3 Main και High Profile. Υποστηρίζει  B/SP-Frames, CABAC, Loop Filter, 4×4 Blocksizes, πολλαπλά Reference Frames, Adaptive Quant, Error Resilience, RDO, Lossless Coding, Custom Quants, Rate Control.
  • Hdot264: ανοιχτού λογισμικού (GPL) της έκδοσης VFW του λογισμικού τεκμηρίωσης του doom9 μέλος charact3r, το οποίο βασίζεται στο ήδη παλιό reference (JM 4.0c)
  • VSS: δωρεάν δοκιμαστική έκδοση του κωδικοποιητής VFW (5 μέρες ελεύθερης χρήσης), βασισμένο στον κωδικοποιητή αναφοράς.
  • Elecard: Χρησιμοποιείται στον Elecard Mobile Converter, με επέκταση .mp4 και στον κωδικοποητή MainConcept’s v2, με επέκταση .264 και .mpg PS/TS

 

Δημόσια μη διαθέσιμοι πλέον:

 

 

  • Moonlight: Χρησιμοποιείται στον OneClick Compressor v1.1 και PowerEncoder της Cyberlink, επέκταση .mpg . Το Moonlight υποστηρίζει 1pass (VBR/CBR/Fixed Quants), CABAC, Loop, 2 B-Frames, 8×8 P-Frame Sizes, Adapt. Quant, PAR, Interlacing
  • MainConcept: Γινόνταν χρήση του στην v1 encoder (προσθέτει υδατογράφημα), επέκταση .264 και .mpg. Υποστηρίζει 1pass (CBR/VBR/fixed Quants), P-Frame Reorder, CABAC, Loop, Multiple B-Vops, Multiple Ref, 4×4 P-Frame Sizes, PAR, RDO
  • mpegable: Ήταν διαθέσιμος δημόσια στο παρελθόν με την επωνυμία VFW Encoder. Δεν μπορεί να χειριστεί όμως το YV12. Ο mpegable υποστηρίζει 1pass (fixed quants) κάνει χρήση των P-Frames μόνο, 8×8 P-Frame Blocksizes, CAVLC, Loop
  • Envivio: Χρησιμοποιείται στον 4Coder, επέκταση .mp4

 

 

Αποκωδικοποιητές:

 

 

  • ffmpeg: Ανοιχτού κώδικα (LGPL), χρησιμοποιήθηκε στο ffdshow (VFW και αποκωδικοποιητή DShow), mplayer και VideoLAN. Υποστηρίζει B-Frames, B-References, CABAC, Loop, Weighted Prediction and High Profile (8×8 dct and intra prediction, lossless)
  • CoreAVC
  • Apple: Αποκωδικοποίηση AVC με χρήση του Quicktime 7, υποστηρίζει .mp4/.mov . Συνήθως έχει αργές επιδόσεις. Υποστηρίζει μόνο ένα B-Frame, CABAC, Loop όχι όμως μικτές αναφορές (mixed references), όχι πολλαπλά B-frames και interlacing.
  • NeroDigital AVC: Ο αποκωδικποιητής DShow και .mp4 Parser συναντώνται στο Recode2 και υποστηρίζει τα Main and High Profile.
  • VSS: Η δοκιμαστική έκδοση του VFW Decoder (περιοσμό χρήσης 5 ημερών) και ο DShow Decoder (περιοσμό χρήσης 5 ημερών). Το VSS DShow υποστηρίζει επεκτάσεις .avi (with VSSH και H264 fourcc), CABAC, Loop, B-Frames.
  • Elecard: Διαθέσιμο στον Elecard’s MPEG Player και κωδικοποιητή MainConcept’s v2.
  • Envivio: Διαθέσιμο με περιορισμούς, ο αποκωδικοποιητής AVC DShow ονομάζεται EnvivioTV, χειρίζεται το AVC στο .mp4 (μετά την έκδοση 2.0).
  • Philips: DShow AVC αποκωδικοποιητές είναι ελεύθερα διαθέσιμοι στον AVC Alliance player (χειρίζεται μόνο αυτούσιο AVC).
  • FastVDO: Με περιορισμό χρόνου (5 δυετερολέπτων) ο αποκωδικοποιητής High Profile DShow δεν είναι πλέον δημοσίως διαθέσιμος.
  • Moonlight: DShow decoder/Parser χειρίζεται το AVC στο .mpg, .mp4 και .264 που είναι διαθέσιμο στον Moonlight’s MPEG Player v3.0 και υποστηρίζει τα Main and High Profile
  • MainConcept: Η αρχική v1 έκδοση διέθεται δωρεάν τον αποκωδικποιτή DShow AVC (εμφανίζει υδατογράφημα) και Parser handling AVC στο .mpg PS/TS.
  • mpegable: Διέθετε για περιορισμένο διάστημα έναν δωρεάν αποκωδικοποιτή VFW (με εφαρμοργή και στο DShow), υποστηρίζει και .avi (με DAVC fourcc).
  • Basic AVC Decoder: Στην C, για χρήση σε ακαδημαική εργασία
  • Pegasus: Όχι και τόσο συμβατός αποκωδικοποιητής DShow AVC

 

 

2.10 – Απο/Κωδικποίηση βασισμένο στο υλικό (Hardware-based)

Γενικά η απο/κωδικοποιήση του ένος video σε μορφή H.264 απαιτεί ένα σημαντικό πόσο επεξεργαστικής ισχύος, οι υλοποιήσεις λογισμικού οι οιποίες εκτελούνται σε επεξεργαστική γενικής χρήσης είναι γενικά αργές, ειδικά όταν έχουμε να κάνουμε με video υψηλής πιστότητας (HD). Για την μείωση δέσμευσης του επεξεργαστή ή για κωδικοποίηση πραγματικού χρόνου, υπάρχει ανάγκη χρήσης ειδικευμένου hardware, είτε για τον αποδοτική ολοκλήρωση της διαδικασίας τους απο/κωδικοποίησης είτε για την επιβοηθούμενη επιτάχυνση σε ένα περιβάλον ελεγχόμενο απο τον επεξεργαστή (CPU-controlled environment).

 

Για την κωδικοποίηση video H.264 μπορούμε να κάνουμε χρήση ένος κυκλώματος ASIC ή FPGA. Το FPGA αποτελεί ένα κύκλωμα γενικής χρήσης και για την χρήση του έως ειδικευμένου κωδικοποιητή H.264 ο κατασκευαστής πρέπει να το παραμετροποίησει για την εκάστοτε εφαρμογή. Ένας κωδικοποιητής πλήρους ανάλυσης (fullHD H.264 encoder) μπορεί κάλλιστα να υλοποιηθεί σε ένα χαμηλού κόστους κυκλώματος FPGA το 2009 (High profile, level 4.1, 1080p, 30fps). Οι κωδικοκποιητές με δυνατότητα χρήσης στο H.264 video είναι κυκλώματα  ASIC τα οποία είναι διαθέσμιμα απο πολλές εταιρίες, ενώ τα πνευματικά δικαιώματα του βασικού τους σχεδιασμού προσαρτώνται σε μονο ορισμένες απο αυτές. Σε αρκετές περιπτώσεις οι κατασκευαστές προσφέρουν προϊοντα με συνδυασμό κυκλωμάτων FPGA και ASIC

 


Source: Quantaofnoise

Leave a Reply

Your email address will not be published. Required fields are marked *