τα στοιχεία επικοινωνίας μου
Ταχυδρομείο[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Σημείωση: Αναφερόμαστε στη Μέθοδο εκμάθησης Golden Circle (Τι είναι ο κανόνας Golden Circle; -> Model Golden Circle Rule, αυτό το άρθρο χρησιμοποιεί: γιατί-τι) για να μάθετε την κωδικοποίηση βίντεο ήχου H264. Αυτή η σειρά άρθρων εστιάζει στην κατανόηση του συστήματος γνώσης και των πρακτικών μεθόδων κωδικοποίησης βίντεο. Μάθετε πώς είναι, ξέρετε γιατί είναι έτσι. Ταυτόχρονα, δίνεται μεγαλύτερη έμφαση στην καθιέρωση συστημάτων γνώσης.
Για αυτό το άρθρο, μιλάμε κυρίως για τη διαδικασία συμπίεσης δεδομένων H.264 και σχετικές έννοιες. Η συμπίεση δεδομένων H.264 έχει μόνο έναν σκοπό, τη συμπίεση, τη συμπίεση και στη συνέχεια τη συμπίεση για τη μείωση του μεγέθους των δεδομένων βίντεο, διασφαλίζοντας παράλληλα την ποιότητα της εικόνας όσο το δυνατόν περισσότερο. Πριν λοιπόν μάθουμε τη συμπίεση δεδομένων H.264, πρέπει πρώτα να καταλάβουμε: Αν και υπάρχουν πολλές έννοιες και μέθοδοι που εμπλέκονται σε αυτή τη διαδικασία, όλες οι μέθοδοι και οι διαδικασίες είναι για αυτόν τον σκοπό: συμπίεση.
Η διαδικασία συμπίεσης δεδομένων του H.264 συνοψίζεται κυρίως στα ακόλουθα βασικά βήματα: διαίρεση μακρομπλόκ και διαίρεση υπο-μπλοκ -> ομαδοποίηση πλαισίων -> πρόβλεψη πλαισίου -> διακριτός μετασχηματισμός συνημιτόνου ακέραιου αριθμού (DCT) -> συμπίεση CABAC. Οι συγκεκριμένες οδηγίες επέκτασης είναι οι εξής.
Μπλοκ μακροεντολών: Μπορεί να γίνει κατανοητό ότι όταν το καρέ βίντεο αποστέλλεται στην προσωρινή μνήμη του κωδικοποιητή H264, ο κωδικοποιητής διαιρεί μπλοκ μακροεντολών σε κάθε εικόνα. Από προεπιλογή, η κωδικοποίηση H264 χρησιμοποιεί μια περιοχή 16Χ16 εικονοστοιχείων ως μακρομπλόκ (Το H265 χρησιμοποιεί μια περιοχή 64Χ64 εικονοστοιχείων Το αποτέλεσμα της διαίρεσης ενός καρέ του βίντεο σε μακρομπλόκ είναι το εξής:
Ταυτόχρονα, στην παραπάνω εικόνα, μπορούμε πραγματικά να διαιρέσουμε το μπλοκ μακροεντολών 16X16 pixel σε μικρότερα υπομπλοκ. Το μέγεθος του υπομπλοκ μπορεί να είναι 8X16、16X8、8X8、4X8、8X4、4X4 είναι πολύ ευέλικτο. Ο σκοπός της διαίρεσης του σε υπομπλοκ και πάλι είναι η καταγραφή αυτών των δεδομένων με πολύ μικρά δεδομένα. Αφού χωριστούν τα μακρομπλόκ, μπορούν να ομαδοποιηθούν όλες οι εικόνες στη μνήμη cache του κωδικοποιητή H264.
Η διαίρεση των μακρομπλόκ και των υπομπλοκ επιτρέπει στην κωδικοποίηση βίντεο να αναλύει και να επεξεργάζεται περιεχόμενο βίντεο με μεγαλύτερη ακρίβεια και να επιτυγχάνει πιο αποτελεσματική συμπίεση δεδομένων. Τα καρέ βίντεο χωρίζονται σε μακρομπλόκ μεγέθους 16x16 εικονοστοιχείων, τα οποία μπορούν περαιτέρω να χωριστούν σε μικρότερα μπλοκ όπως 8x8, 8x4, 4x8 κ.λπ. για να προσαρμόσουν την πολυπλοκότητα του περιεχομένου της εικόνας.
Η ομαδοποίηση πλαισίων (δομή GOP) ορίζεται πριν από την ενδοπρόβλεψη και την ενδοπρόβλεψη. Στη διαδικασία κωδικοποίησης βίντεο, η ρύθμιση της ομαδοποίησης καρέ είναι ένα από τα αρχικά βήματα, που καθορίζει την οργάνωση και τη σειρά κωδικοποίησης των καρέ βίντεο. Ο κύριος σκοπός της ομαδοποίησης πλαισίων είναι η μείωση του πλεονασμού δεδομένων. Ο πλεονασμός δεδομένων βίντεο χωρίζεται κυρίως σε δύο κατηγορίες:
Βήματα εκτέλεσης ομαδοποίησης πλαισίων H264:
Όταν ολοκληρωθεί η ομαδοποίηση, το πρόβλημα της συμπίεσης πρόβλεψης πλαισίου αρχίζει να λύνεται.
Αυτό το μέρος περιλαμβάνει κυρίως την πρόβλεψη εντός καρέ και την πρόβλεψη μεταξύ πλαισίων. Η πρόβλεψη εντός καρέ είναι η συμπίεση στατικών πλαισίων εικόνων, η πρόβλεψη της τιμής εικονοστοιχείων κάθε μακρομπλόκ μέσω 9 διαφορετικών λειτουργιών και, στη συνέχεια, ο υπολογισμός της υπολειπόμενης τιμής με την αρχική εικόνα. Και πρόβλεψη μεταξύ καρέ (εκτίμηση κίνησης και αντιστάθμιση κίνησης): Για καρέ P και καρέ Β, βρείτε το διάνυσμα κίνησης μεταξύ του προηγούμενου καρέ ή δύο καρέ μέσω εκτίμησης κίνησης, μετά εκτελέστε πρόβλεψη αντιστάθμισης κίνησης, δημιουργήστε μια προβλεπόμενη εικόνα και υπολογίστε το υπόλοιπο από το τρέχον πλαίσιο.
Σημείωση: Η σειρά ενδοπρόβλεψης και ενδοπρόβλεψης εξαρτάται από τον τύπο του κωδικοποιημένου πλαισίου και τη στρατηγική κωδικοποίησης. Σε μια υλοποίηση πραγματικού κωδικοποιητή βίντεο, αυτά τα βήματα αποτελούν μέρος της διαδικασίας κωδικοποίησης και αντιμετωπίζονται αυτόματα από τον κωδικοποιητή. Δεν χρειάζεται να είναι αυτός που το χειρίζεται πρώτος.
Συμπίεση πρόβλεψης εντός πλαισίου: λύνει το πρόβλημα του πλεονασμού χωρικών δεδομένων. Τα περιττά δεδομένα εναέριου χώρου αναφέρονται στο χρώμα, τη φωτεινότητα κ.λπ., τα οποία αφορούν κυρίως πληροφορίες που δεν είναι ευαίσθητες στο ανθρώπινο μάτι Η κωδικοποίηση συμπιέζεται με τη διαγραφή τους.Η αρχή που χρησιμοποιείται στην πρόβλεψη εντός καρέ είναι ότι το ανθρώπινο μάτι έχει έναν ορισμένο βαθμό αναγνώρισης εικόνων Είναι πολύ ευαίσθητο στη φωτεινότητα χαμηλής συχνότητας και λιγότερο ευαίσθητο στη φωτεινότητα υψηλής συχνότητας.(Μπορεί να γίνει κατανοητό ως μέγεθος μακρομπλόκ 16Χ16. Στο H264, άλλα δεδομένα προβλέπονται μέσω των κορυφαίων 16 εικονοστοιχείων και των αριστερών 16 εικονοστοιχείων, έτσι ώστε οι πληροφορίες αναπαράστασης εικονοστοιχείων που απαιτούν αρχικά 16*16=256 να μπορούν να μετατραπούν σε 16+ 16-1 = 31 pixel για την αναπαράσταση πληροφοριών)。
Συμπίεση πρόβλεψης μεταξύ πλαισίων (εκτίμηση κίνησης και αντιστάθμιση): λύνει το πρόβλημα του πλεονασμού δεδομένων τομέα χρόνου. Υπάρχουν πολλά καρέ στο βίντεο διατεταγμένα γραμμικά με χρονολογική σειρά Ο συσχετισμός μεταξύ των καρέ είναι πολύ ισχυρός, επομένως υπάρχουν πολλά δεδομένα που μπορούν να διαγραφούν μεταξύ των καρέ.Μετά τη συμπίεση, θα χωριστεί σε τρεις τύπους: πλαίσιο I, πλαίσιο P και πλαίσιο B.(Επεξήγηση: Αρχή εκτίμησης και αντιστάθμισης κίνησης: Ο κωδικοποιητής H264 πρώτα αφαιρεί δύο καρέ δεδομένων βίντεο από την κεφαλίδα του buffer στη σειρά και στη συνέχεια εκτελεί σάρωση μακρομπλόκ. Όταν διαπιστωθεί ότι υπάρχει ένα αντικείμενο σε μία από τις εικόνες, θα αναζητήσει την κοντινή θέση (στο παράθυρο αναζήτησης εάν το αντικείμενο βρεθεί σε άλλη εικόνα αυτή τη στιγμή, το διάνυσμα κίνησης του αντικειμένου μπορεί να υπολογιστεί Η παρακάτω εικόνα είναι η θέση της μπάλας του μπιλιάρδου).。
Για τα καρέ P και τα πλαίσια Β, η εκτίμηση κίνησης χρησιμοποιείται για την εύρεση του διανύσματος κίνησης μεταξύ του προηγούμενου καρέ ή δύο καρέ και στη συνέχεια εκτελείται η πρόβλεψη αντιστάθμισης κίνησης για τη δημιουργία μιας προβλεπόμενης εικόνας και υπολογίζεται το υπόλοιπο με το τρέχον πλαίσιο.
Αυτό το βήμα εκτελεί κυρίως μετασχηματισμό DCT στο υπόλειμμα πρόβλεψης, μετατρέπει τη χωρική συσχέτιση σε άσχετα δεδομένα στον τομέα συχνότητας και στη συνέχεια το κβαντοποιεί. Το DCT χρησιμοποιείται κυρίως για συμπίεση δεδομένων ή εικόνας, μετατρέποντας τη χωρική συσχέτιση σε άσχετα δεδομένα στον τομέα της συχνότητας και στη συνέχεια κβαντοποιώντας την.(Επεξήγηση: Ο μετασχηματισμός DCT μπορεί να συγκεντρώσει πιο σημαντικές πληροφορίες της εικόνας μαζί και ασήμαντες περιοχές και συντελεστές τομέα συχνότητας μπορούν να περικοπούν απευθείας)。
Περίληψη: Η ακολουθία συμπίεσης δεδομένων πλαισίου είναι να εκτελεστεί πρώτα συμπίεση μεταξύ πλαισίου και εντός πλαισίου και στη συνέχεια να πραγματοποιηθεί μετασχηματισμός DCT στα υπολειπόμενα δεδομένα για να αφαιρεθεί η συσχέτιση των δεδομένων και να συμπιεστούν περαιτέρω τα δεδομένα. Ως εξής:
Η συμπίεση CABAC είναι μια τεχνολογία συμπίεσης χωρίς απώλειες και μια μέθοδος κωδικοποίησης εντροπίας. Όταν το CABAC συμπιέζεται και κωδικοποιείται, τα δεδομένα υψηλής συχνότητας ορίζονται ως σύντομοι κώδικες και τα δεδομένα χαμηλής συχνότητας ορίζονται ως μεγάλοι κώδικες. Αυτή η μέθοδος είναι πιο αποτελεσματική από τη μέθοδο VLC. Η μέθοδος κωδικοποίησης εντροπίας CABAC (Context-Adaptive Binary Arithmetic Coding) χρησιμοποιείται για την περαιτέρω συμπίεση των κβαντισμένων συντελεστών για τη βελτίωση της απόδοσης συμπίεσης. Εδώ, τα δεδομένα που υποβλήθηκαν σε επεξεργασία στα προηγούμενα τέσσερα βήματα κωδικοποιούνται στην τελική ροή κώδικα χρησιμοποιώντας τον αλγόριθμο κωδικοποίησης. Τα τελικά συμπιεσμένα πλαίσια χωρίζονται σε: πλαίσια I, πλαίσια P και πλαίσια B. Αφού εκτελεστεί η μέθοδος συμπίεσης χωρίς απώλειες CABAC, λαμβάνεται η ροή κώδικα βίντεο.
Ο πλεονασμός χωρικών δεδομένων και ο χρονικός πλεονασμός δεδομένων είναι δύο βασικές έννοιες στη συμπίεση βίντεο. Περιγράφουν επαναλαμβανόμενες πληροφορίες εντός και μεταξύ των καρέ βίντεο αντίστοιχα.
Ερμηνεία Χωρικού Πλεονασμού:
Ερμηνεία του προσωρινού πλεονασμού:
Στη συμπίεση βίντεο H.264, τα υπολειπόμενα δεδομένα αναφέρονται στη διαφορά μεταξύ του αρχικού καρέ βίντεο και του προβλεπόμενου καρέ. Ταυτόχρονα, εάν θέλετε να έχετε μια βαθύτερη κατανόηση των υπολειπόμενων δεδομένων, πρέπει να κατανοήσετε τις ακόλουθες έννοιες, όπως φαίνεται παρακάτω:
προβλεπόμενο πλαίσιο : Κατά τη διαδικασία κωδικοποίησης βίντεο, η ενδοπρόβλεψη (Intra Prediction) ή η ενδοπρόβλεψη (Inter Prediction) θα χρησιμοποιηθεί για τη δημιουργία προβλεπόμενων καρέ. Η ενδοπρόβλεψη βασίζεται σε πληροφορίες εικονοστοιχείων του τρέχοντος πλαισίου, ενώ η ενδοπρόβλεψη βασίζεται σε πληροφορίες αντιστάθμισης κίνησης προηγούμενων ή επόμενων καρέ.
αρχικό πλαίσιο: Αναφέρεται στα αρχικά καρέ εικόνων που έχουν ληφθεί στην πραγματικότητα στη σειρά βίντεο.
Υπολειπόμενος υπολογισμός : Τα υπολειπόμενα δεδομένα υπολογίζονται αφαιρώντας το προβλεπόμενο πλαίσιο από το αρχικό πλαίσιο. Τα υπολειπόμενα δεδομένα αντιπροσωπεύουν τη διαφορά μεταξύ του προβλεπόμενου πλαισίου και του αρχικού πλαισίου.
Με βάση τις παραπάνω έννοιες, μπορούμε να κατανοήσουμε περαιτέρω τα χαρακτηριστικά των υπολειπόμενων δεδομένων:
Τα υπολειμματικά δεδομένα έχουν συνήθως υψηλή χωρική τυχαιότητα επειδή το πλαίσιο πρόβλεψης έχει αφαιρέσει τις περισσότερες από τις περιττές πληροφορίες. Αυτή η τυχαιότητα καθιστά τα υπολειμματικά δεδομένα κατάλληλα για περαιτέρω συμπίεση μέσω μετασχηματισμού και κβαντοποίησης.
Μετά την επεξεργασία των υπολειπόμενων δεδομένων με Ακέραιο Διακριτό Συνημιτονικό Μετασχηματισμό (IDCT) και κβαντοποίηση, η ποσότητα των δεδομένων μπορεί να μειωθεί σημαντικά. Ο μετασχηματισμός μετατρέπει τις δισδιάστατες χωρικές πληροφορίες του υπολειπόμενου σε πληροφορίες συχνότητας, ενώ η κβαντοποίηση μειώνει την ακρίβεια αυτών των συντελεστών και αφαιρεί λεπτομέρειες που είναι ανεπαίσθητες στο ανθρώπινο μάτι.
Ο σκοπός της κωδικοποίησης των υπολειπόμενων δεδομένων είναι η περαιτέρω μείωση του ρυθμού bit των δεδομένων βίντεο, διατηρώντας παράλληλα την ποιότητα της εικόνας όσο το δυνατόν περισσότερο. Ταυτόχρονα, η αποτελεσματική συμπίεση των υπολειπόμενων δεδομένων είναι ζωτικής σημασίας για την αποτελεσματικότητα της κωδικοποίησης H.264, επειδή επηρεάζει άμεσα την ποιότητα του κωδικοποιημένου βίντεο και το απαιτούμενο εύρος ζώνης αποθήκευσης ή μετάδοσης.
Η κωδικοποίηση εντροπίας είναι μια τεχνική συμπίεσης δεδομένων χωρίς απώλειες που βασίζεται στην έννοια της εντροπίας πληροφοριών και στοχεύει στην αναπαράσταση δεδομένων με όσο το δυνατόν λιγότερα bit. Η βασική ιδέα της κωδικοποίησης εντροπίας είναι να εκχωρηθούν λιγότερα bit σε σύμβολα που είναι πιο πιθανό να εμφανιστούν και να εκχωρηθούν περισσότερα bit σε σύμβολα που εμφανίζονται λιγότερο συχνά. Με αυτόν τον τρόπο, ο επιθυμητός χώρος αποθήκευσης ή το εύρος ζώνης μετάδοσης μειώνεται επειδή μειώνεται ο μέσος ρυθμός bit ολόκληρου του συνόλου δεδομένων.
Η κωδικοποίηση εντροπίας χρησιμοποιείται συχνά για κείμενο και ορισμένους συγκεκριμένους τύπους συμπίεσης δεδομένων και μπορεί να βελτιώσει σημαντικά την απόδοση συμπίεσης, ειδικά όταν τα δεδομένα έχουν μια σημαντικά ανομοιόμορφη κατανομή πιθανοτήτων. Στην κωδικοποίηση συμπίεσης βίντεο, οι μέθοδοι κωδικοποίησης εντροπίας που σχετίζονται περισσότερο με τη συμπίεση βίντεο περιλαμβάνουν κυρίως τα ακόλουθα:
Στη συμπίεση βίντεο, η κωδικοποίηση εντροπίας είναι το τελικό βήμα κωδικοποίησης που χρησιμοποιείται για την κωδικοποίηση των υπολειπόμενων δεδομένων μετά από ενδοπρόβλεψη και ενδοπρόβλεψη. Τα υπολειμματικά δεδομένα είναι η διαφορά μεταξύ των αρχικών δεδομένων και των προβλεπόμενων δεδομένων και συνήθως έχουν λιγότερη ενέργεια και πιο άνιση κατανομή πιθανοτήτων. Μέσω της κωδικοποίησης εντροπίας, ο ρυθμός bit αυτών των υπολειπόμενων δεδομένων μπορεί να μειωθεί περαιτέρω, επιτυγχάνοντας έτσι τον σκοπό της συμπίεσης δεδομένων βίντεο.