Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24...
TRANSCRIPT
1
p1Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Συµπίεση Δεδοµένων: Συµπίεση Ψηφιακού Βίντεο
Αλέξανδρος ΕλευθεριάδηςΑναπ. Καθηγητής & Marie Curie ChairΤµήµα Πληροφορικής και ΤηλεπικοινωνιώνΕθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών
[email protected], (210) 727-5210
p2Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Διεθνή Πρότυπα Αναλογικού Βίντεο
2
p3Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Progressive/Interlaced
p4Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Ασπρόµαυρο – Έγχρωµο Βίντεο
• Αναλογικό
• Ψηφιακό (CCIR-601)
3
p5Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Πρότυπα
• NTSC – National Television Stadards Committee– 1941 µονόχρωµο, 525 lines, 30 fps, 2:1 interlaced, 4:3 aspect ratio– 1950 έγχρωµο, 29.97 fps
• PAL – Phase Alternating Line– 1963 έγχρωµο, 625 lines,25 fps, 2:1 interlaced, 4:3 aspect ratio
p6Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Διαµόρφωση
• NTSC
• PAL
4
p7Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Ψηφιακό Βίντεο
• CCIR-601 / ITU-R BT.601– 720x525@60 (active 480)– 720x625@50 (active 576)2:1 interlace, 4:2:2
• Chroma Formats:4:2:2 CCIR-601 � 4:2:0 SIF
p8Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Άλλα Chroma Formats
5
p9Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
SIF – Source Interchange Format
• Ευρώπη: 360χ288@25 (µισές γραµµές των active)• Β. Αµερική: 360χ240@30
• Μετατροπή από CCIR-601 απαιτεί φιλτράρισµα (non-standard):– Luminance
– Chrominance (σηµ.: ζυγός αριθµός συντελεστών)
p10Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
CIF – Common Interchange Format
• Εφαρµογές videoconferencing• Μισό resolution σε σχέση µε CCIR-601, παίρνοντας το
µέγιστο αριθµό γραµµών (625) και µέγιστο ρυθµό εικόνων (30): 360χ288@30 (29.97)
• Υποδιαιρέσεις: QSIF, QCIF
6
p11Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
HDTV Formats
p12Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Formats Η/Υ
• Formats από υπολογιστές:– VGA 640x480– SVGA 800x600– XGA 1024x768– SXGA 1280x1024– UXGA 1600x1200
• Πρόθεµα ‘W’ για widescreen (π.χ. WXGA 1366x768)• Πρόθεµα ‘Q’για µισές διαστάσεις (π.χ. QVGA =
320x240)• Συχνότητα 60 Hz, 75 Hz, κτλ., progressive
7
p13Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Film
• 24 εικόνες/sec• Δειγµατοληψία µόνο χρονικά
• Μετατροπή σε NTSC/PAL δεν είναι απλή (telecine).
Παράδειγµα Film-to-NTSC: 3:2 pull-down– “3:2” - Πρόσθεσε ένα field σε κάθε δεύτερο frame (24x2.5=60)– “pull-down” -Αφού το NTSC έχει 59.94 fields/sec, επιβράδυνε τον ήχο κατά 0.1% για συγχρονισµό
p14Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Μέτρηση Ποιότητας σε Βίντεο
• Υποκειµενική – Subjective– Double-Stimulus Impairment Scale– Double-Stimulus Continuous Quality Scale– Single-Stimulus Continuous Quality Scale– Double-Stimulus Unknown Reference (2 γύροι, πρώτα για να βρεθεί το
reference)– κτλ.MOS, Mean Opinion Score
• Αντικειµενική – Objective– PSNR
– Μέση τιµή σε όλη την ακολουθία εικόνων (mean PSNR)– Συνήθως µόνο σε luma (Y-PSNR)
8
p15Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Καµπύλες R-D
• Παράδειγµα σύγκρισης
p16Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Bjontegaard Delta (2001)
• Ιδέα: κάνε 4 πειράµατα, προσάρµοσε δύο καµπύλες, και υπολόγισε το ολοκλήρωµα της διαφοράς => ένας αριθµός σύγκρισης για όλα τα bit rates
SNR = (a + b*bit + c*bit2)/(bit + d)
Πρoβλήµατα: • πόλοι σε µερικές περιπτώσεις• υπερίσχυση υψηλών bit rates
"Normal" RD-plot
25
26
27
28
29
30
31
32
33
34
35
0 500 1000 1500 2000 2500Bitrate
PSN
R (d
B)
Plot2Plot1
9
p17Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Bjontegaard Delta (2)
• Λύση: χρήση λογαριθµικής κλίµακας για το bit rate
• Απόσταση µεταξύ καθέτων γραµµών 100.05 = 1.122 (ή 12.2%). • Χρήση απλούστερου πολυωνύµου για παρεµβολή:
SNR = a + b*bit + c*bit2 + d*bit3
Log/Log plot
25
26
27
28
29
30
31
32
33
34
35
25 26 27 28 29 30 31 32 33 3410xlog(bitrate)
PSN
R (d
B)
Plot2Plot1Lim2Lim1Lim4Lim3
p18Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
• MPEG: Motion Pictures Experts Group– ISO/IEC JTC1/SC29/WG11
• VCEG: Video Coding Experts Group– ITU-T SG16/Q6
• H.264 Scalable Video Coding (SVC, 2007)H.265 High Efficiency Video Coding (HEVC, 2013)
Ιστορική Εξέλιξη (µέχρι 2004)
10
p19Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
0 100 200 300
28
30
32
34
36
38
40
Rate [kbit/s]
PSNR
[dB]Half-pel
motion compensation
(MPEG-1 1993
MPEG-2 1994)
Integer-pel
motion
compensation
(H.261, 1991)
Variable block s ize
(16x16 – 8x8)
(H.263, 1996) +
quarter-pel
motion compensation
(MPEG-4, 1998)
Variable block s ize
(16x16 – 4x4) +
quarter-pel +
multi-frame
motion compensation
(H.264/AVC, 2003)
Intraframe
DCT coding
(JPEG, 1990)
Bit-rate Reduction: 75%35
Foreman
10 Hz, QCIF
100 frames
Επιτεύγµατα στην Κωδικοποίηση Βίντεο
p20Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
“Codec Wars”
• http://www.appleinsider.com/articles/12/03/14/mozilla_considers_h264_video_support_after_googles_vp8_fails_to_gain_traction.html
• Diagram (next page): – http://photos.appleinsider.com/webm.h.264.002.jpg
11
p21Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
p22Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Επικρατέστεροι Κωδικοποιητές
• Με άδεια χρήσης:– H.264 (AVC & SVC)– H.265 (HEVC) – πρόβληµα µε royalties
• Open Source:– VP8 (WebRTC)– VP9 (YouTube, WebRTC)
• Στα σκαριά:– Alliance for Open Media (AV1), http://aomedia.org– Η.266
12
p23Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Ύλη
M. Ghanbari, Standard codecs: Image Compression to Advanced Video Coding, IEE, 2003, ISBN 0-85296-710-1
• Κεφάλαια 1 – History of Video Coding• Κεφάλαιο 2 – Video Basics• Κεφαλαιο 3 – Principles of Video Compression• Κεφάλαιο 4 – Subband and Wavelets εκτός• Κεφάλαιο 5
– JPEG – Baseline– JPEG2000 – εκτός
• Κεφάλαιο 6 – Η.261
p24Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Βασικές Αρχές Συµπίεσης
1. Ελαχιστοποίηση χωρικής πλεονασµατικότητας (spatial redundancy) – π.χ. transform coding
2. Ελαχιστοποίηση χρονικής πλεονασµατικότητας (temporal redundancy) – π.χ. motion compensated prediction
3. Κωδικοποίηση εντροπίας (entropy coding) – π.χ. Huffman coding
13
p25Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
DPCM
• Μεταξύ pixels αλλά και µεταξύ frames
p26Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Transform Coding
• Παράδειγµα
14
p27Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Discrete Cosine Transform
• Προσέγγιση του KLT• Κατανοµή σταθερών ώστε οι συντελεστές να είναι
µεταξύ -2047 και +2047
C(u)=sqrt(1/2) άν u=0, 1 διαφορετικά
• Mismatch Control– Μη τυποποιηµένη υλοποίηση συσσωρεύει σφάλµα στο δέκτη.– Προσθήκη ψευδοτυχαίου σήµατος το κρατάει µέσα σε όρια
p28Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Κβαντισµός (quantization)
• Με dead-zone (τυπικά για AC)
• Χωρίς (τυπικά για DC)
15
p29Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Motion Estimation
• Διαφορά διαδοχικών εικόνων χωρίς (a) και µε (b)εκτίµηση κίνησης
p30Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
• MSE
• MAE
Μοντέλο ME
16
p31Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
• Full-search, πολυπλοκότητα (2w+1)2 – 50-65�% συνολικής υπολογιστικής πολυπλοκότητας τυπικού κωδικοποιητή
• Παράδειγµα ταχύ αλγορίθµου – Cross-Search Algorithm (CSA), πολυπλοκότητα 5+4log2w
Τεχνικές ΜΕ
p32Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Ιεραρχική Εκτίµηση (Hierarchical ME)
• Ιδιαίτερα χρήσιµη σε scalable codecs
17
p33Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Κωδικοποίηση Εντροπίας
• Εντροπία
• Huffman & Arithmetic Coding
• Παράδειγµα Huffman:
p34Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Γενική Αρχιτεκτονική Κωδικοποιητή Βίντεο
• Interframe predictive encoder• Καλύπτει όλες τις γενιές κωδικοποιητών βίντεο!• Παρατηρήστε σύvδεση buffer-quantizer (rate control)
18
p35Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Αποκωδικοποιητής
p36Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
H.261
• “Video codec for audiovisual services at p x 64 kbit/s”• Κωδικοποίηση για µετάδοση από κανάλια ψηφιακής
τηλεφωνίας (64 kbit/s) – 1 ≤ p ≤ 30 Σηµείωση:30 κανάλια είναι η χωρητικότητα Ε1 γραµµής (µε 2 ακόµα κανάλια για framing/signaling)
• Διαθέσιµο: http://www.itu.int/rec/T-REC-H.261/en• Τρέχουσα έκδοση 3/93, 25 σελίδες• Θα το δούµε λεπτοµερώς, σελίδα-σελίδα.
19
p37Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Οργάνωση της εικόνας
p38Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Παρουσίαση από το κείµενο του Η.261
Οι διαφάνειες 6-14 (µέχρι την «Κωδικοποιητής» χρησιµοποιούνται επεξηγηµατικά για το κείµενο του Η.261)
20
p39Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Loop Filter
• a – αρχική, b – 256 Kbps (χωρίς loop filter)
• a – 128 Kbps, b – 64 Kbps (χωρίς loop filter)
p40Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Loop Filter (2)
• a – 128 Kbps, b – 64 Kbps (χωρίς loop filter)
• a – 128 Kbps, b – 64 Kbps (µε loop filter)
21
p41Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Loop Filter (3)
• {1/4, 1/2, 1/4} – 2D separable• Στα άκρα της εικόνας γίνεται {0, 1, 0}• Το βιβλίο έχει λάθος φίλτρα στα άκρα (Σχήµα 6.16):
p42Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
ΜΒ Addressing
22
p43Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Motion Vector
• Εύρος [-15, +15]• MVDs κωδικοποιούνται µε VLC διπλών τιµών• Predictor reset όταν:
– Αρχή γραµµής σε GOB– Μετά από skipped MB– Μετά από MB χωρίςMV
p44Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Block Addressing
• Coded Block Pattern (CBP), VLC-encoded
(25=16+8+1)
(6=4+2)
23
p45Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Κβαντισµός
• Intra DC - βήµα 8 (χωρίς dead zone)• Όλοι οι άλλοι – µεταβλητός (1-31) µε dead zone
Παραδείγµατα:
QUANT=1: 0, ±3, ±5, ±7, …QUANT=2: 0, ±5, ±9, ±13, …QUANT=3: 0, ±9, ±15, ±21, …
• Το βιβλίο έχει λάθος – δεν µεταδίδεται το Th (Κεφ. 6.4, Σχήµα 6.3)
p46Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Παράδειγµα Κωδικοποίησης Κβαντισµένων Συντελεστών DCT
• Σηµείωση: Λάθος βιβλίου - τα quantized values είναι κατά 1 µικρότερα(Η.261, σελ. 17, quant even)
QUANT=8
(κατωφλίωση)
24
p47Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Παράδειγµα 2-D VLC (“Claire”)
p48Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Κωδικοποιητής
• ΔΕΝ περιγράφεται από το πρότυπο• Δυνατότητα για διαφοροποίηση/καινοτοµία του
σχεδιαστή• Ανάπτυξη «εργαστηριακού» κωδικοποιητή που
χρησιµοποιείται κατά την ανάπτυξη του προτύπου:– Reference Model (RM) – H.261– Test Model (TM) – MPEG-2/H.262– Verification Model (VM) – MPEG-4– Test Model Near-term (TMN) – H.263– Joint Model (JM) – H.264– Joint Software Verification Model (JSVM) – H.264 SVC– HM (Test Model under Consideration – TMuC) - HEVC
25
p49Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
H.261 RM8 (1989)
• Απλός κωδικοποιητής που υλοποιεί βασικούς αλγορίθµους για coder control (για κάθε MB)
COMP - a comparator for deciding the inter/intra coding mode for an MB
Th - threshold, to extend the quantisation range
P - picture memory with motion compensated variable delay
F - loop filter
p - flag for inter/intra
t - flag for transmitted or not
q - quantisation index for transform coeffic ients
qz - quantiser indication
v - motion vector information
f - switching on/off of the loop filter
p50Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
RM8 Prediction
• Πρόβλεψη χωρίς MV• Πρόβλεψη µε MV:
– ME σε luma µόνο, full search (±15 pixels)
26
p51Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
RM8 MC/NO_MC Decision
• Σύγκριση µέσου σφάλµατος µε και χωρίς MC (άθροισµα απολύτων τιµών διαφορών, δια 16χ16=256 pixels)
• «Προτίµηση» σε NO_MC λόγω κόστους των MVs.
p52Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
RM8 Inter/Intra Decision
• Σύγκριση της διακύµανσης (variance) µεταξύ:– Intra– Inter (µε ή χωρίς MV)
• “Forced updating”: intra κάθε 132 εικόνες λόγω DCT mismatch
27
p53Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Κατηγορίες MB
p54Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
RM8 Rate Control
28
p55Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
RM8 Rate Control (2)
• Μέγεθος buffer Βmax= 6400p, όπου p από το px64• Κωδικοποίηση πρώτης I picture µε Qp=16• Χωρητικότητα buffer B αρχικοποιείται στο 50%• Προσαρµογή Qp σε κάθε GOB σύµφωνα µε:
• Σε περίπτωση:– Overflow – forced skipped MBs– Underflow – bit stuffing (filler data)
p56Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
H.264 AVC (Advanced Video Coding)
Σηµ.: Μερικές διαφάνειες και διαγράµµατα είναι από τον Thomas Wiegand, HHI
29
p57Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Standardization of H.264/AVC § 1993-1997: VCEG planning phaseH.26P ð H.263, H.26L ð H.264/AVC
§ August 1999: 1st test model (TML-1)
§ December 2001: Formation of Joint Video Team (JVT)between VCEGand MPEG ð joint project H.264/AVC
(similar to H.262/MPEG2 Video)
§ JVT Chairs: Gary Sullivan (Microsoft), Ajay Luthra (Motorola), and Thomas Wiegand (HHI)
§ ITU-T | ISO/IEC Approval: Spring 2003
§ ITU-T | ISO/IEC Approval of Fidelity Range Extensions: Autumn 2004
§ ITU-T | ISO/IEC Approval of Scalability Extension: July 2007
§ Initiation of Multi-view Video Extension: July 2006
p58Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Hybrid Video Coding Structure
Entropy
Coding
Scaling & Inv.
Transform
Motion-
Compensation
Control
Data
Quant.Transf. coeffs
Motion
Data
Intra/Inter
Coder
Control
Motion
Estimation
Transform/Scal./Quant.-
Input
Video
Signal
Split into
Macroblocks
16x16 pixels Intra-frame
Prediction
De-blocking
Filter
Output
Video
Signa
l
Decoder
30
p59Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Entropy
Coding
Scaling & Inv.
Transform
Motion-
Compensation
Control
Data
Quant.Transf. coeffs
Motion
Data
Intra/Inter
Coder
Control
Decoder
Motion
Estimation
Transform/Scal./Quant.-
Input
Video
Signal
Split into
Macroblocks
16x16 pixelsIntra-frame
Prediction
De-blocking
Filter
Output
Video
Signa
l
Motion Compensation Accuracy
Motion vector accuracy 1/4 (6-tap filter)
8x8
0
4x8
0 10 1
2 3
4x48x4
1
08x8Types
0
16x16
0 1
8x16
MBTypes
8x8
0 1
2 3
16x8
1
0
p60Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Multiple Reference Pictures and Generalized B Pictures
Current
Picture
4 Prior Decoded Pictures
as Reference
D = 2
1. Extend motion vector by reference
picture index D
2. Provide reference pictures at decoder
side
Flexible buffering of reference pictures generalizes B pictures:
• B pictures can be reference pictures (decoupling of concepts)
• Reference picture for a B picture can be any prior decoded picture
D = 4
D = 1
3. In case of bi-predictive coding (B
pictures): decode 2 sets of motion parameters
31
p61Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Entropy
Coding
Scaling & Inv. Transform
Motion-
Compensation
Control
DataQuant.
Transf. coeffs
Motion
Data
Intra/Inter
Coder
Control
Decoder
Motion
Estimation
Transform/Scal./Quant.-
Input
Video
Signal
Split into
Macroblocks
16x16 pixels Intra-frame
Prediction
De-blocking
Filter
Output
Video
Signal
Intra Prediction§ Directional spatial prediction
(9 types for luma, 1 chroma)
• e.g., Mode 3:
1
2
3456
7
8
0
Q A B C D E F G H
I a b c d
J e f g h
K i j k l
L m n o p
M
N
O
P
p62Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Entropy
Coding
Scaling & Inv. Transform
Motion-
Compensation
Control
DataQuant.
Transf. coeffs
Motion
Data
Intra/Inter
Coder
Control
Decoder
Motion
Estimation
Transform/Scal./Quant.-
Input
Video
Signal
Split into
Macroblocks
16x16 pixels Intra-frame
Prediction
De-blocking
Filter
Output
Video
Signal
Transform Coding
§ 4x4 Block Integer Transform
§ 8x8 Block Integer Transform
1 1 1 12 1 1 21 1 1 11 2 2 1
⎡ ⎤⎢ ⎥− −⎢ ⎥=⎢ ⎥− −⎢ ⎥
− −⎢ ⎥⎣ ⎦
H
1 1 1 1 1 1 1 1
12/8 10/8 6/8 3/8 -3/8 -6/8 -10/8 -12/8
1 1/2 -1/2 -1 -1 -1/2 1/2 1
10/8 -3/8 12/8 -6/8 6/8 -12/8 3/8 -10/8
1 -1 -1 1 1 -1 -1 1
6/8 -12/8 3/8 10/8 -10/8 -3/8 12/8 -6/8
1/2 -1 1 -1/2 -1/2 1 -1 1/2
3/8 -6/8 10/8 -12/8 12/8 -10/8 6/8 -3/8
H =
32
p63Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Entropy Coding
Entropy
Coding
Inv. Scal. & Transform
Motion-
Compensation
Control
DataQuant.
Transf. coeffs
Motion
Data
Intra/Inter
Coder
Control
Decoder
Motion
Estimation
Transform/Scal./Quant.-
Input
Video
Signal
Split into
Macroblocks
16x16 pixels Intra-frame
Prediction
De-blocking
Filter
Output
Video
Signal
p64Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Variable Length Coding
§ Exp-Golomb code is used universally for all symbols except for transform coefficients (Section 9.1)
33
p65Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Context-Adaptive VLC (CAVLC)
§ Context adaptive VLCs for coding of transform coefficients
• Contexts are built dependent on transform coefficients
• No end-of-block, but number of coefficients is decoded
• Coefficients are scanned backwards
p66Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Context-based Adaptive Binary Arithmetic Codes (CABAC)
§ Usage of adaptive probability models for most symbols
§ Exploiting symbol correlations by using contexts§ Restriction to binary arithmetic coding
• Simple and fast adaptation mechanism• Fast binary arithmetic codec based on table
look-ups and shifts only§ Average bit-rate saving over CAVLC 10-15% for
broadcast video
34
p67Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
H.264 SVC (Scalable Video Coding)
Σηµ.: Μερικές διαφάνειες και διαγράµµατα είναι από τον Thomas Wiegand, HHI
p68Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Scalable Video Coding (SVC) Principle
scene
SVC encoder
SVC decoder
SVC decoder
SVCdecoder
H.264/AVC decoder
128
kbit/s
256
kbit/s
512
kbit/s
1024
kbit/s
TV@
60 Hz
CIF@
30 Hz
CIF@
15 Hz
QCIF@
7,5 Hz
35
p69Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Scalability of Video - Modalities
• Temporal: change of frame rate
• Spatial: change of frame size
• Fidelity: change of quality (e.g. SNR)
30 Hz15 Hz
7.5 Hz
TVCIFQCIF
p70Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
I P P P P P P P P
B0 B0 B0 B0
TemporalScalability
B0 B0B1 B1 B1 B1
B0B1 B1B2 B2 B2 B2
Temporal Decomposition of Video N=1
I P P P P
N=2
I P P
N=4
I P
N=8
Cascaded QP assignment
I/P: best quality, B0: much worse quality than I/P,
B1: slightly worse quality than B0, …
Same QP for all pictures
31,4
31,6
31,8
32
32,2
32,4
32,6
32,8
33
33,2
1 2 4
Y-PSNR [dB]
8 16 32 64
Distance between two P pictures N
Video Coding Experiment with H.264/AVC:
Foreman, CIF 30Hz @ 132 kbit/s
36
p71Συµπίεση Δεδοµένων – Α. Ελευθεριάδης
Hierarchical MCP &
Intra prediction
Base layer
coding
texture
motion
SNR Scalability: Typical Encoding
MultiplexScalable
bit-stream
Inter-layer prediction:
• Intra
• Motion
• ResidualH.264/AVC-compatible
base layer bit-streamH.264/AVC MCP &
Intra prediction
Base layer
coding
texture
motionH.264/AVC compatible encoder
Hierarchical MCP &
Intra prediction
Base layer
coding
texture
motion
Inter-layer prediction:
• Intra
• Motion
• Residual