Συστήµατα και Βάσεις Πολυµέσων Δρ. Μαρία Κοζύρη Τµήµα Πληροφορικής Πανεπιστήµιο Θεσσαλίας
Ενότητα : Μετασχηµατισµός/Κβαντοποίηση Δρ. Μαρία Κοζύρη Συστήµατα & Βάσεις Πολυµέσων Ενότητα 2
Διαδικαστικά Παράδοση: Πέµπτη 5:00-8:00 Διδάσκων: Δρ. Μαρία Κοζύρη Ώρες Γραφείου: Πέµπτη 2:00-3:00 E-mail: mkoziri@uth.gr Σελίδα Μαθήµατος: http://eclass.uth.gr/eclass/courses/infs48/ Δρ. Μαρία Κοζύρη Συστήµατα και Βάσεις Πολυµέσων Ενότητα 3
Στόχοι Αντικείµενο Μαθήµατος Το µάθηµα καλύπτει το εξειδικευµένο αντικείµενο της συµπίεσης δεδοµένων βίντεο και επεκτείνεται σε τρία επίπεδα παρουσίαση της θεωρίας, ανάλυση των σχετικών αλγορίθµων και την εφαρµογή τους τόσο σε λογισµικό όσο και σε υλικό. Δρ. Μαρία Κοζύρη Συστήµατα & Βάσεις Πολυµέσων Ενότητα 4
MPEG Encoder Δρ. Μαρία Κοζύρη Συστήµατα & Βάσεις Πολυµέσων Ενότητα 5
MPEG Decoder Δρ. Μαρία Κοζύρη Συστήµατα & Βάσεις Πολυµέσων Ενότητα 6
RAW Video files Most common raw video files:.yuv Different yuv formats (i.e. YUV4:2:0, 4:2:2, 4:4:4) Δρ. Μαρία Κοζύρη Συστήµατα & Βάσεις Πολυµέσων Ενότητα 7
Μετασχηµατισµός Σκοπός είναι η αποσυσχέτιση (de-correlation) του σήµατος Μετασχηµατίζουµε το σήµα από το πεδίο του χρόνου (ήχος) ή το πεδίο των pixels (εικόνα/βίντεο) στο πεδίο «συχνοτήτων», παράγοντας για κάθε Ν δείγµατα του αρχικού σήµατος Ν συντελεστές µετασχηµατισµού. Πλήρως αντιστρεπτή διαδικασία. Δρ. Μαρία Κοζύρη Συστήµατα & Βάσεις Πολυµέσων Ενότητα 8
Μετασχηµατισµός Διακριτοί µετασχηµατισµοί: πολλαπλασιασµός πίνακα επί διάνυσµα. Ευθύς µετασχηµατισµός: y = Tx Αντίστροφος µετασχηµατισµός: x = T %& y Ο πίνακας του µετασχηµατισµού Τ έχει διαστάσεις ΝxΝ και συνήθως τις ακόλουθες ιδιότητες T = T %& = T ) Δρ. Μαρία Κοζύρη Συστήµατα & Βάσεις Πολυµέσων Ενότητα 9
Μετασχηµατισµός Ισχύει η αρχή διατηρήσης της ενέργειας (Parseval s Theorem): x = y Αλλά η κατανοµή ενέργειας είναι πολύ διαφορετική µεταξύ του αρχικού σήµατος και των συντελεστών του µετασχηµατισµού: «κέρδος µετασχηµατισµού» Δρ. Μαρία Κοζύρη Συστήµατα & Βάσεις Πολυµέσων Ενότητα 0
DCT Transform Forward DCT (FDCT): Y = AXA / Inverse DCT (IDCT): X = A / YA Α είναι ο πίνακας µετασχηµατισµού µε στοιχεία: A 0 = C 0 cos 67& 08 69, όπου C 0 = & 9 (i = 0), C 0 = 6 9 (i > 0) Δρ. Μαρία Κοζύρη Συστήµατα & Βάσεις Πολυµέσων Ενότητα
DCT Transform Άρα: Y BC = C B C C 9%& 9%& X 0 cos 0EF CEF EF X 0 = 9%& 9%& C B C C Y BC cos BEF 67& C8 69 67& C8 69 cos cos 607& B8 69 607& B8 69 Δρ. Μαρία Κοζύρη Συστήµατα & Βάσεις Πολυµέσων Ενότητα 2
4x4 DCT Transform 2 cos (0) 2 cos (0) 2 cos (0) cos (0) 2 ( π ) ( ) ( ) ( ) 3π 5π 7π 2 cos 8 2 cos 8 2 cos 8 2 cos 8 A = ( ) ( ) ( ) ( ) 2π 6π 0π 4π 2 cos 8 2 cos 8 2 cos 8 2 cos 8 ( ) ( ) ( ) ( ) 3π 9π 5π 2π 2 cos 8 2 cos 8 2 cos 8 2 cos 8 Επειδή όµως το συνηµίτονο είναι συµµετρικό και επαναλαµβάνεται κάθε 2π, έχουµε ότι: 3
4x4 DCT Transform or A = 2 ( π ) 2 cos 8 2 cos 2 ( ) 3π 8 2 ( ) 3π 2 cos 8 2 ( π ) 2 cos 8 2 ( ) 3π 2 cos 8 2 ( π ) 2 cos 8 2 ( π ) 2 cos 8 2 ( ) 3π 2 cos 8 A = Evaluating the cosines gives: a a a a b c c b a a a a c b b c a = 2 ( π ) where b = 2 cos 8 ( ) 3π c = 2 cos 8 4
4x4 DCT Transform (Example) 4x4 input block X 5 8 0 9 8 4 2 0 4 9 6 5 7 Δρ. Μαρία Κοζύρη Συστήµατα & Βάσεις Πολυµέσων Ενότητα 5
4x4 DCT Transform (Example) Y =AX 7 7.5 9 6.5-6.98 2.725-6.467 4.25 7-0.5 4 0.5-9.05 2.660 2.679-4.44 Δρ. Μαρία Κοζύρη Συστήµατα & Βάσεις Πολυµέσων Ενότητα 6
Y=Y A T =AXA T 4x4 DCT Transform (Example) 35-0.079 -.5.5-3.299-4.768 0.443-9.00 5.5 3.029 2 4.699-4.045-3.00-9.384 -.232 Δρ. Μαρία Κοζύρη Συστήµατα & Βάσεις Πολυµέσων Ενότητα 7
Homework. Να χωρίσετε το πρώτο καρε του αρχείου foreman_qcif.yuv (yuv 4:2:0) σε υποπίνακες 4x4 (µόνο για τα Y στοιχεία του καρέ). 2. Στη συνέχεια να εφαρµόσετε το διακριτο µετασχηµατισµο DCT και να υπολογίσετε την ενέργεια των 6 συντελεστών για ολόκληρη την εικόνα. 3. Να επαναλάβετε το βήµα 2 για την προσέγγιση του DCT που χρησιµοποιείται στο Η.264 και περιγράφεται στο βιβλίο Iain E. G, Richardson, H.264 and MPEG-4 Video Compression σελ. 87-90 Δρ. Μαρία Κοζύρη Συστήµατα & Βάσεις Πολυµέσων Ενότητα 8
Υπόδειξη Για να βρείτε την ενέργεια, υψώστε στο τετράγωνο τον συντελεστή σε µια συγκεκριµένη θέση σε κάθε block και αθροίστε αυτές τις τιµές για όλα τα blocks. Στη συνέχεια διαιρέστε µε το πλήθος των blocks για να βρείτε τη µέση τιµή. Παράδοση: Πέµπτη /2 Δρ. Μαρία Κοζύρη Συστήµατα & Βάσεις Πολυµέσων Ενότητα 9