Download - Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

Transcript
Page 1: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

1

p1Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

Συµπίεση Δεδοµένων: Συµπίεση Ψηφιακού Βίντεο

Αλέξανδρος ΕλευθεριάδηςΑναπ. Καθηγητής & Marie Curie ChairΤµήµα Πληροφορικής και ΤηλεπικοινωνιώνΕθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών

[email protected], (210) 727-5210

p2Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

Διεθνή Πρότυπα Αναλογικού Βίντεο

Page 2: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

2

p3Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

Progressive/Interlaced

p4Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

Ασπρόµαυρο – Έγχρωµο Βίντεο

• Αναλογικό

• Ψηφιακό (CCIR-601)

Page 3: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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

Page 4: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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

Page 5: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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

Page 6: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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

Page 7: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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)

Page 8: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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

Page 9: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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)

Page 10: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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

Page 11: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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

Page 12: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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

Page 13: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

13

p25Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

DPCM

• Μεταξύ pixels αλλά και µεταξύ frames

p26Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

Transform Coding

• Παράδειγµα

Page 14: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

14

p27Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

Discrete Cosine Transform

• Προσέγγιση του KLT• Κατανοµή σταθερών ώστε οι συντελεστές να είναι

µεταξύ -2047 και +2047

C(u)=sqrt(1/2) άν u=0, 1 διαφορετικά

• Mismatch Control– Μη τυποποιηµένη υλοποίηση συσσωρεύει σφάλµα στο δέκτη.– Προσθήκη ψευδοτυχαίου σήµατος το κρατάει µέσα σε όρια

p28Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

Κβαντισµός (quantization)

• Με dead-zone (τυπικά για AC)

• Χωρίς (τυπικά για DC)

Page 15: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

15

p29Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

Motion Estimation

• Διαφορά διαδοχικών εικόνων χωρίς (a) και µε (b)εκτίµηση κίνησης

p30Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

• MSE

• MAE

Μοντέλο ME

Page 16: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

16

p31Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

• Full-search, πολυπλοκότητα (2w+1)2 – 50-65�% συνολικής υπολογιστικής πολυπλοκότητας τυπικού κωδικοποιητή

• Παράδειγµα ταχύ αλγορίθµου – Cross-Search Algorithm (CSA), πολυπλοκότητα 5+4log2w

Τεχνικές ΜΕ

p32Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

Ιεραρχική Εκτίµηση (Hierarchical ME)

• Ιδιαίτερα χρήσιµη σε scalable codecs

Page 17: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

17

p33Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

Κωδικοποίηση Εντροπίας

• Εντροπία

• Huffman & Arithmetic Coding

• Παράδειγµα Huffman:

p34Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

Γενική Αρχιτεκτονική Κωδικοποιητή Βίντεο

• Interframe predictive encoder• Καλύπτει όλες τις γενιές κωδικοποιητών βίντεο!• Παρατηρήστε σύvδεση buffer-quantizer (rate control)

Page 18: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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 σελίδες• Θα το δούµε λεπτοµερώς, σελίδα-σελίδα.

Page 19: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

19

p37Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

Οργάνωση της εικόνας

p38Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

Παρουσίαση από το κείµενο του Η.261

Οι διαφάνειες 6-14 (µέχρι την «Κωδικοποιητής» χρησιµοποιούνται επεξηγηµατικά για το κείµενο του Η.261)

Page 20: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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)

Page 21: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

21

p41Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

Loop Filter (3)

• {1/4, 1/2, 1/4} – 2D separable• Στα άκρα της εικόνας γίνεται {0, 1, 0}• Το βιβλίο έχει λάθος φίλτρα στα άκρα (Σχήµα 6.16):

p42Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

ΜΒ Addressing

Page 22: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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)

Page 23: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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

(κατωφλίωση)

Page 24: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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

Page 25: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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)

Page 26: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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

Page 27: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

27

p53Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

Κατηγορίες MB

p54Συµπίεση Δεδοµένων – Α. Ελευθεριάδης

RM8 Rate Control

Page 28: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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

Page 29: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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

Page 30: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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

Page 31: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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 =

Page 32: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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)

Page 33: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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

Page 34: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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

Page 35: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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

Page 36: Συµπίεση µένωνskara.di.uoa.gr/communication_systems/transparency... · • 24 εικόνες/sec • Δειγµατοληψία µόνο χρονικά • Μετατροπή

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