Algorithms and advanced methods for video coding in large scale systems
Authors: Παπαδόπουλος Παναγιώτης 
Published: September 2021

Η νέα εποχή με κάμερες και τηλεοράσεις υψηλής, 4K και 8K (UHD), ανάλυσης προέκυψε από τις ολοένα αυξανόμενες απαιτήσεις για υψηλότερης ανάλυσης βίντεο. Το βίντεο είναι μακράν το "μεγαλύτερο" Big Data, οδηγώντας σε εκτεταμένη χρήση του δικτύου και σε σημαντικά μεγάλη δέσμευση της χωρητικότητας αποθήκευσης. Για την αντιμετώπιση αυτής της κατάστασης, η συμπίεση βίντεο αποτελεί ενεργό πεδίο μελέτης εδώ και πολλά χρόνια και παράγοντας τεράστιου εμπορικού ενδιαφέροντος. Ένα από τα πιο επιτυχημένα και ευρέως χρησιμοποιούμενα πρότυπα κωδικοποίησης βίντεο είναι το H.264/AVC. Ενώ το H.264/AVC είναι αρκετά επιτυχημένο, οι αδυναμίες και οι περιορισμοί του στην αντιμετώπιση των αναλύσεων UHD έγιναν εμφανείς σχετικά νωρίς. Για αυτόν τον λόγο, ξεκίνησαν νέα πρότυπα κωδικοποίησης βίντεο ως διάδοχοι του H.264/AVC. Τα πιο επιφανή παραδείγματα των προτύπων κωδικοποίησης βίντεο νέας γενιάς είναι το High Efficiency Video Coding (HEVC), το AV1 που ολοκληρώθηκε πρόσφατα και το τώρα αναπτυσσόμενο Versatile Video Coding (VVC). Κάθε ένα από τα νέα πρότυπα κωδικοποίησης βίντεο σχεδιάστηκε με πρωταρχικό στόχο να ξεπεράσει τα προηγούμενα πρότυπα καλύπτοντας τις υπάρχουσες ανάγκες που έχουν προκύψει. Επομένως, κάθε νέο πρότυπο εισήγαγε νέα εργαλεία κωδικοποίησης που αυξάνουν την υπολογιστική πολυπλοκότητα τόσο στην πλευρά του κωδικοποιητή όσο και σε αυτήν του αποκωδικοποιητή. Επίσης υπήρξε συμβιβασμός μεταξύ πολυπλοκότητας και αποτελεσματικότητας συμπίεσης στα στάδια σχεδιασμού του κάθε προτύπου. Τόσο οι απαιτήσεις υψηλής ανάλυσης όσο και η αυξημένη υπολογιστική πολυπλοκότητα των προτύπων κωδικοποίησης βίντεο, οδηγούν σε χρονοβόρες εργασίες και απαιτούν σημαντικούς πόρους ενός υπολογιστικού συστήματος. Η αξιοποίηση των υψηλών υπολογιστικών απαιτήσεων γίνεται με την εκμετάλλευση του παραλληλισμού σε διάφορα επίπεδα. Σε αυτήν τη διατριβή αντιμετωπίζουμε και τις δύο από τις προαναφερθείσες πτυχές, δηλαδή την αξιοποίηση των υπολογιστικών πόρων μέσω του παραλληλισμού και την πιθανή μείωση της κατανάλωσης πόρων σε συστήματα μεγάλης κλίμακας. Όσον αφορά την πρώτη πτυχή (παραλληλισμός), εστιάζουμε σε επίπεδο μπλοκ, coarse grain παράλληλες προσεγγίσεις, οι οποίες χωρίζουν μια εικόνα σε ομάδες από μπλοκ και θεωρούν κάθε ομάδα ως ανεξάρτητη εργασία. Συγκεκριμένα στη μέθοδο τμηματοποίησης που ονομάζεται tile partitioning, θεωρείται ότι μία εικόνα χωρίζεται σε οριζόντιες και κατακόρυφες ζώνες τα σημεία τομής των οποίων σχηματίζουν τα επωνομαζόμενα tiles. Προτείνουμε και αξιολογούμε αλγόριθμους που ορίζουν την τμηματοποίηση των tiles χρησιμοποιώντας διάφορα σενάρια με σκοπό την εξισορρόπηση του φόρτου που προκύπτει στους επεξεργαστές. Όσον αφορά τη μείωση της κατανάλωσης των πόρων σε υψηλής κλίμακας συστήματα, η μεγαλύτερη συμπίεση που επιτυγχάνεται από το HEVC σε σύγκριση με το H.264/AVC είναι ο βασικός παράγοντας που επιλέχθηκε η χρήση του. Επίσης αντιμετωπίζουμε ζητήματα που σχετίζονται με τη διακωδικοποίηση (transcoding) μεταξύ του H.264/AVC και του HEVC. Ως προς αυτή την κατεύθυνση εξετάζονται δύο μονοπάτια. Στο πρώτο προτείνουμε μια μέθοδο για την εκτίμηση περιοχών υψηλής πολυπλοκότητας μέσα σε μία εικόνα, βάσει των πληροφοριών που μπορούν να εξαχθούν από το προηγούμενο πρότυπο (H.264/AVC). Αυτές οι πληροφορίες είναι σημαντικές στην περίπτωση ενός παράλληλου transcoder, καθώς μπορούν να χρησιμοποιηθούν για την αποτελεσματική εξισορρόπηση του φόρτου εργασίας των επεξεργαστών. Στο δεύτερο μονοπάτι αντιμετωπίζουμε το πρόβλημα του προγραμματισμού διεργασιών διακωδικοποίησης σε μαζική κλίμακα, ώστε να μεγιστοποιήσουμε τα οφέλη των δεσμευμένων υπολογιστικών πόρων, ελαχιστοποιώντας ταυτόχρονα το λειτουργικό τους κόστος.