Πολυμέσα Συμπίεση δεδομένων Δρ. Γεώργιος Π. Παυλίδης
Συμπίεση Δεδομένων Περιεχόμενα Γνωστοίαλγόριθμοισυμπίεσης JPEG, Οικογένεια H.26x, H.32x Χρησιμοποίηση Εφαρμογές Εκμάθηση Σχεδίαση Διασύνδεση χρήστη Υπηρεσίες Ανάλυση περιεχομένου Έγγραφα Ασφάλεια... Συγχρονισμός Επικοινωνία ομάδας Βάσεις δεδομένων Προγραμματισμός Συστήματα Server Μέσων Λειτουργικά Συστήματα Επικοινωνία Οπτική αποθήκευση Ποιότητα υπηρεσιών Δίκτυα Βασικά Αρχιτεκτονική υπολογιστών Γραφικά & Εικόνες Συμπίεση Κίνηση Βίντεο Ήχος Πολυμέσα Γεώργιος Π. Παυλίδης 2/46
JPEG: Joint Photographic Expert Group Διεθνές πρότυπο (από το 1992) για ψηφιακή συμπίεση και κωδικοποίηση ακίνητων εικόνων πολλαπλών επιπέδων του γκρι ή έγχρωμων Βαθμός συμπίεσης 1:10 επιτυγχάνει ικανοποιητικά αποτελέσματα Διακρίνεται από γενικό σχήμα συμπίεσης ανεξάρτητο από Την ανάλυση της εικόνας Τον λόγο x προς y της εικόνας Την χρωματική αναπαράσταση Την πολυπλοκότητα της εικόνας και τα στατιστικά χαρακτηριστικά της καλά ορισμένο format ανταλλαγής συμπιεσμένων δεδομένων Υλοποίηση Σε λογισμικό Σε λογισμικό και υλικό Χρήση της παραλλαγής του MJPEG (motion JPEG) Για συμπίεση δεδομένων video Απλά αλληλουχία από εικόνες συμπιεσμένες κατά JPEG Πολυμέσα Γεώργιος Π. Παυλίδης 3/46
Πλεονεκτήματα Μικρές απαιτήσεις μνήμης Χαμηλή πολυπλοκότητα Αποδοτικότητα συμπίεσης Εκμετάλλευση μοντέλου ΑΣΟ Ευρωστία Μειονεκτήματα Μία ανάλυση εικόνας (μέγεθος) Μία ποιότητα εικόνας Όχι δυνατότητα εξ αρχής ορισμού του ρυθμού συμπίεσης Όχι συμπίεση δίχως απώλειες Όχι δυνατότητα τμηματικής συμπίεσης Όχι δυνατότητα ορισμού περιοχής ενδιαφέροντος Παραμορφώσεις κωδικοποίησης στις ακμές των τμημάτων Χαμηλή αντοχή στο θόρυβο Πολυμέσα Γεώργιος Π. Παυλίδης 4/46
Βήματα συμπίεσης Πολυμέσα Γεώργιος Π. Παυλίδης 5/46
Προετοιμασία εικόνας Επίπεδα 1<=Ν<=255 συνιστώσες C i δηλαδή ένα επίπεδο για κάθε χρώμα Ανάλυση pixel 8 ή 12 bit για κάθε pixel σε περιπτώσεις κωδικοποίησης με απώλειες 2 έως 16 bit για κάθε pixel σε περιπτώσεις κωδικοποίησης χωρίς απώλειες Πολυμέσα Γεώργιος Π. Παυλίδης 6/46
Προετοιμασία εικόνας Παράδειγμα 4:2:2 YUV 4:1:1 (ή 4:2:0) YUV YUV9 Y: Φωτεινότητα U,V: Χρωματικές διαφορές Πολυμέσα Γεώργιος Π. Παυλίδης 7/46
Προετοιμασία εικόνας Μη παρεμβαλλόμενη (non-interleaved) κωδικοποίηση Παρεμβαλλόμενη κωδικοποίηση Ελάχιστη Μονάδα Κωδικοποίησης (MCU Minimum Coded Unit) Συνδυασμός των διαπλεκόμενων μονάδων δεδομένων από τις διαφορετικές συνιστώσες Πολυμέσα Γεώργιος Π. Παυλίδης 8/46
Baseline κωδικοποίηση Υποστηρίζεται υποχρεωτικά σε όλες τις υλοποιήσεις JPEG Περιορίζεται σε κάποιες αναλύσεις Συνήθως χρησιμοποιούνται μόνο 3 επίπεδα με προκαθορισμένη χρωματική αναπαράσταση Βήματα σταδίου προετοιμασίας Ανάλυση pixel -> διαχωρισμός σε πολλαπλάσια των 8 bit Επιτυγχάνει διαχωρισμό της εικόνας σε 8x 8 μπλοκς (μονάδες δεδομένων) Zig-zag σάρωση Κωδικοποίηση εντροπίας Μετασχηματισμός DCT στην συμπίεση JPEG Αναπαράσταση κάθε 8 x 8 μπλοκ με άθροισμα από δισδιάστατες συναρτήσεις συνημιτόνων -> πεδίο συχνοτήτων Οι συναρτήσεις συνημιτόνων έχουν ανεξάρτητες συχνότητες στην οριζόντια και κάθετη διεύθυνση Πολυμέσα Γεώργιος Π. Παυλίδης 9/46
Baseline Πολυμέσα Γεώργιος Π. Παυλίδης 10/46
Baseline - προετοιμασία Διαχωρισμός ανά χρωματικό κανάλι Μετασχηματισμός χρωματικού χώρου Y U V R + 2G + = 4 = B G = R G B Y Cb Cr = 0,299 0,16875 0,5 0,587 0,33126 0,41869 0,114 R 0,5 G 0,08131 B Πολυμέσα Γεώργιος Π. Παυλίδης 11/46
Baseline προετοιμασία Διαχωρισμός σε ορθογώνια μη-επικαλυπτόμενα τμήματα των 8x8 pixels Μετατόπιση της δυναμικής περιοχής από [0,2 b -1] σε [-2 b-1,2 b-1-1], (b=bits/pixel) Για 8 bpp grayscale τιμές στο [0,255] [-128,127] Πολυμέσα Γεώργιος Π. Παυλίδης 12/46
Διακριτός Μετασχηματισμός Συνημιτόνων -Forward Discrete Cosine Transform (FDCT) Σε κάθε μπλοκ των 8 x 8 pixels F(u,v) = C(u) C(v) 7 7 2 2 x= 0 y= ( 2x + 1)uπ ( 2y + 1)vπ f(x,y) cos cos 0 16 16 C(w) = 1 1 2 για w= 0 για w= 1,2,..., n 1 Συναρτήσεις βάσεις DCT b ( u, v, x, y) x, y= 0,..., N 1 = (2x + 1) u C( u) C( v) cos 2N π (2y + 1) v π cos 2N Πολυμέσα Γεώργιος Π. Παυλίδης 13/46
Σε μορφή πίνακα μετασχηματισμού h c = h r = 0,3536 0,4904 0,4619 0,4157 0,3536 0,2778 0,1913 0,0975 0,3536 0,4157 0,1913-0,0975-0,3536-0,4904-0,4619-0,2778 0,3536 0,2778-0,1913-0,4904-0,3536 0,0975 0,4619 0,4157 0,3536 0,0975-0,4619-0,2778 0,3536 0,4157-0,1913-0,4904 0,3536-0,0975-0,4619 0,2778 0,3536-0,4157-0,1913 0,4904 0,3536-0,2778-0,1913 0,4904-0,3536-0,0975 0,4619-0,4157 0,3536-0,4157 0,1913 0,0975-0,3536 0,4904-0,4619 0,2778 0,3536-0,4904 0,4619-0,4157 0,3536-0,2778 0,1913-0,0975 Πολυμέσα Γεώργιος Π. Παυλίδης 14/46
Γιατί DCT και όχι DFT; Ο DCT δε δημιουργεί πλασματικές φασματικές συνιστώσες Στο DCT απαιτούνται υπολογισμοί μόνο με πραγματικούς αριθμούς, ενώ στο DFT οι υπολογισμοί εμπλέκουν μιγαδικούς αριθμούς Πολυμέσα Γεώργιος Π. Παυλίδης 15/46
Διακριτός Μετασχηματισμός Συνημιτόνων -Forward Discrete Cosine Transform (FDCT) Ένα Μπλοκ 8 x 8 μετασχηματίζεται σε 64 DCT συντελεστές 1 DC συντελεστής: το βασικό χρώμα της εικόνας (μέση τιμή) 63 AC συντελεστές: πολλοί κοντά στο μηδέν ή μηδενικοί Σπουδαιότητα συντελεστών DC ο πιο σπουδαίος AC λιγότερο σπουδαίοι Πολυμέσα Γεώργιος Π. Παυλίδης 16/46
Κβαντισμός DCT συντελεστών Χρήση πινάκων κβαντισμού Q(u,v) Αντιστοιχούν διαστήματα πραγματικών αριθμών σε έναν ακέραιο αριθμό ( 50 factor ) 6 ln( 2) 50 Q q * scale, scale = e Y = Y * IJG υλοποίηση q Y 16 12 14 14 = 18 24 49 72 11 12 13 17 22 35 64 92 10 14 16 22 37 55 78 95 16 19 24 29 56 64 87 98 24 26 40 51 68 81 103 112 40 58 57 87 109 104 121 100 51 60 69 80 103 113 120 103 61 55 56 62 77 92 101 99 Πολυμέσα Γεώργιος Π. Παυλίδης 17/46
Αποτέλεσμα του κβαντισμού Πολυμέσα Γεώργιος Π. Παυλίδης 18/46
Κωδικοποίηση εντροπίας στην συμπίεση JPEG DC συντελεστές Υπολογίζονται οι διαφορές Χρησιμοποιούνται οι διαφορές αντί για τους ίδιους τους συντελεστές 63 AC συντελεστές Διάταξη σε zigzag, γιατίοισυντελεστές στην κάτω δεξιά γωνία πολύ πιθανό να είναι μηδενικοί Κωδικοποίηση Huffman όλων των συντελεστών Ανάλογα με τη συχνότητα της κάθε τιμής Κωδικοποίηση μεταβλητού μήκους των μηδενικών Πολυμέσα Γεώργιος Π. Παυλίδης 19/46
Κωδικοποίηση Huffman δημιουργία ακολουθίας ενδιάμεσων συμβόλων AC DC ΜΗΚΟΣ πλήθος των συνεχόμενων μηδενικών συντελεστών που προηγούνται του τρέχοντος μη-μηδενικού συντελεστή (0 έως 15, 4 bits) ΜΕΓΕΘΟΣ πλήθος των bits που απαιτούνται για την κωδικοποίηση του ΠΛΑΤΟΥΣ (4 bits) ΠΛΑΤΟΣ είναι η τιμή του μη-μηδενικού συντελεστή AC και βρίσκεται στο διάστημα [-1024,1023] (10 bits) π.χ. 0,0,0,0,0,0,476 (6,9)(467) μετατροπή σε ακολουθία δυαδικών αριθμών μέσω χρήσης πινάκων αναφοράς Huffman Σύμβολο 1 VLC Σύμβολο 2 VLI π.χ. (1,4)(12) 111110110 (VLC) + 1100 (VLI) Πολυμέσα Γεώργιος Π. Παυλίδης 20/46
Πολυμέσα Γεώργιος Π. Παυλίδης 21/46
Αποκωδικοποίηση Αποκωδικοποιητής εντροπίας με χρήση των ίδιων πινάκων Huffman Μετατροπή σε συντελεστές DCT Αντιστροφή κβαντισμού F(u,v) = F (u,v)xq(u,v) q Αντίστροφος DCT f(x,y) = 1 4 7 7 u= 0 v= ( 2x + 1)uπ ( 2 y + 1)vπ C(u)C(v)F(u,v) cos cos 0 16 16 Πολυμέσα Γεώργιος Π. Παυλίδης 22/46
DC-level shifting: [0,2b-1] [-2b-1,2b-1-1] Forward DCT : C(u) C(v) F(u,v) = 7 7 2 2 x= 0 y= ( 2x + 1)uπ ( 2y + 1)vπ f(x,y) cos cos 0 16 16 Quantization : F(u,v) F q (u,v) = Round Q(u,v) zigzag scanning: Q Table specification: Q(u,v) DC - DPCM : DC(i) = DC( i) DC( i 1) User Huffman coding Arithmetic coding Πολυμέσα Γεώργιος Π. Παυλίδης 23/46
Εκτίμηση απόδοσης Λόγος Συμπίεσης (Compression Ratio, Cr) C r = Αρχικο Μεγεθος Δεδομενων Μεγεθος Συμπιεσμενων ΔΔεδομενω Εκτίμηση ποιότητας συμπιεσμένων δεδομένων Πληθος κωδικοποιημενων bits N b = Πληθος των pixels Εκτιμητής μέσων τετραγωνικών σφαλμάτων (RMSE) Εκτιμητής PSNR 1 RMSE = n B 2 B (2 1) 2 1 PSNR = 10log10 = 20log10 MSE RMSE n i= 1 ) ( I i I ) i 2 PSNR = ( PSNR + PSNR + PSNR ) 4 Y U V 6 Πολυμέσα Γεώργιος Π. Παυλίδης 24/46
Παράδειγμα κωδικοποίησης Πολυμέσα Γεώργιος Π. Παυλίδης 25/46
4 μορφές κωδικοποίησης JPEG (progressive) Πολυμέσα Γεώργιος Π. Παυλίδης 26/46
Expanded lossy/progressive DCT-based κωδικοποίηση (προοδευτική) Ανάλυση pixel 8 ως 12 bit Σειριακή προβολή εικόνας: από επάνω προς τα κάτω Καλός τρόπος για μικρές εικόνες και γρήγορη επεξεργασία Προοδευτική προβολή εικόνας Από μικρή σε μεγαλύτερη ανάλυση εικόνας Καλός τρόπος για μεγάλες και σύνθετες εικόνες Πολυμέσα Γεώργιος Π. Παυλίδης 27/46
Lossless κωδικοποίηση (χωρίς απώλειες) Προετοιμασία εικόνας σε επίπεδο pixels: 2 ως 16 bit ανά pixel Επεξεργασία εικόνας Επιλογή πρόβλεψης για κάθε pixel Κωδικοποίηση εντροπίας Όπως και στην περίπτωση της με απώλειες συμπίεσης Υπολογίζεται ο κώδικας της πρόβλεψης και της διαφοράς με την πραγματική τιμή Πολυμέσα Γεώργιος Π. Παυλίδης 28/46
Hierarchical (ιεραρχική) κωδικοποίηση Βήματα Κωδικοποίηση εικόνας σε αρκετές αναλύσεις Διαφορική κωδικοποίηση Αρχικά κωδικοποιείται στην χαμηλότερη ανάλυση εικόνα Α Μετά κωδικοποιείται σταδιακά με αυξημένη οριζόντια και κάθετη ανάλυση εικόνα Α Υπολογίζεται η διαφορά μεταξύ των δύο εικόνων Β = Α-Α Επαναλαμβάνεται η πιο πάνω διαδικασία για υψηλότερες αναλύσεις Χαρακτηριστικά Απαιτεί περισσότερη αποθήκευση και υψηλό ρυθμό δεδομένων Γρήγορη διαδικασία αποκωδικοποίησης Χρησιμοποιείται για βαθμωτά (scalable) δεδομένα video Πολυμέσα Γεώργιος Π. Παυλίδης 29/46
Πρότυπα Η.261 και ITU Η.261: κωδικοποιητής βίντεο για οπτικοακουστικές υπηρεσίες σε p x 64 kbit/s (p: πολλαπλάσια του) Για ISDN δίκτυα και υπηρεσίες πάνω από αυτά p=1,..,30 Τεχνικά θέματα Κωδικοποίηση/αποκωδικοποίηση πραγματικού χρόνου Μέγιστος χρόνος καθυστέρησης 150 ms Σταθερός ρυθμός δεδομένων Υλοποίηση σε υλικό (κυρίως) και λογισμικό Καθορισμένο format εικόνας Φωτεινότητα (Y) Χρωματικές Διαφορές (C b, C r ) Χρωματική ανάλυση όπως αυτή του CCIR 601 (4:1:1) Ανάλυση QCIF (Quarter Common Intermediate Format) υποχρεωτικά Υ: 176 x 144 pixel Στα 29.97 fps, περίπου 36.46 Mbps (ασυμπίεστα) δηλαδή 570 x 64 kbps Ιεραρχική δομή Μπλοκ 8 x 8 Macroblock: 4 Y μπλοκς, 1 Cr μπλοκ, 1 Cb μπλοκ Ομάδα μπλοκς: 3 x 11 macroblocks Εικόνα (QCIF: 3 GOBs, CIF: 12 GOBs) Πολυμέσα Γεώργιος Π. Παυλίδης 30/46
Πρότυπα Η.261 και ITU Ενδοπλαισιακή κωδικοποίηση (intraframe) Για τα frames ανάφοράς Εφαρμόζεται DCT μετασχηματισμός με τον ίδιο παράγοντα κβάντισης για όλες τις AC τιμές Διαπλαισιακή κωδικοποίηση (interframe) Εκτελείται εκτίμηση κίνησης με πλαίσιο αναφοράς το intraframe για τα interframes που το ακολουθούν Γίνεται αναζήτηση στο frame αναφοράς για όμοια macroblocks (16 x 16) Η θέση του όμοιου macroblock ορίζει το διάνυσμα κίνησης Η περιοχή αναζήτησης εξαρτάται από την υλοποίηση (Μέγιστη +/- 15 pixels) Στη συνέχεια χρησιμοποιείται διαφορική κωδικοποίηση Στο Η.261 τα intraframes είναι σπάνια για μείωση του απαιτούμενη εύρους ζώνης Η κύρια εφαρμογή είναι τα βιντεόφωνα Πολυμέσα Γεώργιος Π. Παυλίδης 31/46
Πρότυπα Η.261 και ITU Διαπλαισιακή κωδικοποίηση (intraframe) Αποτελέσματα Διαφορές ανάμεσα σε όμοια macroblocks Διάνυσμα κίνησης Διαφορά DCT αν μεγαλύτερη από κάποιο κατώφλι Καμία αλλαγή αν μικρότερη από το κατώφλι Διάνυσμα κίνησης Οι συνιστώσες κωδικοποιούνται δίνοντας κωδικολέξεις μεταβλητού μήκους Κβάντιση Γραμμική Προσαρμογή του μεγέθους του βήματος για την επίτευξη σταθερού ρυθμού δεδομένων Πολυμέσα Γεώργιος Π. Παυλίδης 32/46
Πρότυπο Η.263 Επέκταση του H.261 Μέγιστος ρυθμός δεδομένων: 2.5 x Η.261 Οι χαμηλότεροι ρυθμοί δεδομένων είναι κατάλληλες για δικτυακές συνδέσεις μέσω μόντεμ Διαφορές από τον H.261 Το διάνυσμα κίνησης μπορεί να δείχνει προς το μέλλον μελλοντικά interframes Προαιρετικά, εκτίμηση κίνησης με επικάλυψη Διανύσματα κίνησης μισού pel (στο μισό pixel) H JPEG κωδικοποίηση είναι αυτή που χρησιμοποιείται στην intraframe κωδικοποίηση Πολυμέσα Γεώργιος Π. Παυλίδης 33/46
Πρότυπο Η.320, Οικογένεια Η.32x Η.320 καθορίζει την κωδικοποίηση για τα βιντεό-τηλέφωνα πάνω από ISDN Η.310 Προσαρμόζει την MPEG-2 κωδικοποίηση για μετάδοση πάνω από B-ISDN δίκτυα (ΑΤΜ) Η.321 Ορίζει το videoconferencing τερματικό πάνω από B-ISDN δίκτυα Η.322 Προσαρμόζει το Η.320 για LANs εγγυημένου QoS (ISO-Ethernet) H.323 Για videoconferencing πάνω από μη εγγυημένου QoS LANs H.324 Τερματικό για χαμηλού ρυθμού μετάδοσης επικοινωνίες Πολυμέσα Γεώργιος Π. Παυλίδης 34/46
2000 Τυπική βασική δομή Πολυμέσα Γεώργιος Π. Παυλίδης 35/46
2000 Η δομή του κωδικοποιητή Αντιστρεπτός YUV ή Αναντιστρεπτός YCbCr Αντιστρεπτός Μ/Σ (5,3) ή Αναντιστρεπτός Μ/Σ Daubechies (9,7) Βαθμωτός ομοιόμορφος με κεντρική νεκρή ζώνη Αριθμητική κωδικοποίηση MQ-coder Πολυμέσα Γεώργιος Π. Παυλίδης 36/46
2000 Διακριτός Μετασχηματισμός Κυματιδίων (Discrete Wavelet Transform DWT) εφαρμόζεται σε ολόκληρη την εικόνα (όχι ασυνέχειες) οδηγεί εξ ορισμού σε αναπαραστάσεις πολλαπλών αναλύσεων χρήση φίλτρων DWT (αριθμητικής ακεραίων) συμπίεση με/χωρίς απώλειες οδηγεί σε αναπαραστάσεις της εικόνας σε διάφορες φασματικές ζώνες επιτρέπει την εφαρμογή διαφορετικού κβαντισμού σε καθεμιά σύμφωνα με το υιοθετημένο μοντέλο Πολυμέσα Γεώργιος Π. Παυλίδης 37/46
2000 Ο Δισδιάστατος DWT του JPEG2000 Διαδοχική εφαρμογή χαμηλοπερατού και υψηπερατού φίλτρου Είναι διαχωρίσιμος εφαρμόζεται πρώτα στη μία διάσταση (π.χ. Χ) και μετά στην άλλη Πολυμέσα Γεώργιος Π. Παυλίδης 38/46
2000 Δισδιάστατος DWT Πολυμέσα Γεώργιος Π. Παυλίδης 39/46
2000 Κβαντισμός στο JPEG2000 Ομοιόμορφος βαθμωτός κβαντιστής με νεκρή ζώνη Σημαντικότερες ιδιότητες Βέλτιστος από πλευράς ρυθμού-παραμόρφωσης Βέλτιστος από πλευράς ενσωμάτωσης (embedding) Εξασφαλίζεται προοδευτικότητα κατά ποιότητα Το βήμα κβαντισμού Δ b περιγράφεται από δύο bytes: μία mantissa μ b των 11-bit και ένα εκθετικό ε b των 5-bit και R b η δυναμική περιοχή Δ b = 2 R ε b b 1 + μb 11 2 ( u, v) = sign( y ( u, v) ) ( u, v) Πολυμέσα Γεώργιος Π. Παυλίδης 40/46 q b b y b Δ b
2000 Κωδικοποίηση εντροπίας Κωδικοποίηση 2 βημάτων (2-tier) Ανά δυαδικό επίπεδο Κωδικοποίηση σημαντικότητας Διαμόρφωση τελικού stream Πολυμέσα Γεώργιος Π. Παυλίδης 41/46
2000 Tier-2 coding: Διαμόρφωση τελικού bit-stream Μέγιστη ανάλυση & προκαθορισμένη Μικρότερη ανάλυση Κατανομή αντικ. ποιότητα & μέγιστη ποιότητα σε layers Μέγιστη ανάλυση Μεσαία ανάλυση Πλήρης & προκαθορισμένη & μέγιστη ποιότητα αποκατάσταση υποκειμ. ποιότητα Πολυμέσα Γεώργιος Π. Παυλίδης 42/46
2000 Προοδευτικότητα μετάδοσης στο JPEG2000 (LRCP, RLCP, RPCL, PCRL, CPRL) Πολυμέσα Γεώργιος Π. Παυλίδης 43/46
2000 Δυνατότητα ορισμού περιοχής ενδιαφέροντος (ROI) Πολυμέσα Γεώργιος Π. Παυλίδης 44/46
2000 Πλεονεκτήματα από τη χρήση του JPEG 2000 Ενσωματωμένη κωδικοποίηση (embedded coding) Αποδοτικότερη συμπίεση Δυνατότητα συμπίεσης είτε με είτε χωρίς απώλειες Προοδευτική μετάδοση Μικρές απαιτήσεις μνήμης και δυνατότητα παράλληληςυλοποίησης Δυνατότητα τυχαίας πρόσβασης και επεξεργασία στοχώροτωνσυντελεστώνμ/σ Ανθεκτικότητα στο θόρυβο μετάδοσης Δυνατότητα χειρισμού κατανεμημένης πληροφορίας Ανοικτή αρχιτεκτονική Πολυμέσα Γεώργιος Π. Παυλίδης 45/46
Σύγκριση JPEG-JPEG2000 JPEG2000 Πολυμέσα Γεώργιος Π. Παυλίδης 46/46