42
3D-HEVC Test Model Krzysztof Wegner

3D-HEVC Test Model

Embed Size (px)

Citation preview

Page 1: 3D-HEVC Test Model

3D-HEVC Test Model

Krzysztof Wegner

Page 2: 3D-HEVC Test Model

Cel i obszar użycia

• Zastosowania– wydajne przesłyłanie obrazu ruchomego na

potrzeby monitorów autostereoskopowych– przesyłanie obrazu stereoskopowego

• Kodowanie obrazu 3D w formacie MVD– sekwencje wizyjne– mapy głębi

Page 3: 3D-HEVC Test Model

Nomenklatura

• Tekstura• Mapa głębi• Wektor rozbieżności• Widok• CTC• disparity-compensated prediction (DCP), • motion-compensated prediction (MCP). • Access Unit – jednostka dostepu swobodnego

Page 4: 3D-HEVC Test Model
Page 5: 3D-HEVC Test Model

• Tekstura przez Głębią

Page 6: 3D-HEVC Test Model

Schemat kodera

Page 7: 3D-HEVC Test Model
Page 8: 3D-HEVC Test Model

Kodowanie widoku bazowego

• Widok bazowy kodowany zgodnie ze specyfikacją HEVC

• Strumień zgodny z HEVC

Page 9: 3D-HEVC Test Model

Kodowanie dodatkowych widoków

• Predykcja z kompensacją rozbieżności• Międzywidokowa predykcja wektorów ruchu• Międzywidokowa predykcja wektorów

rozbieżności• Międzywidokowa predykcja sygnału

resztkowego

• Nie zależy od kodowanej głębi

Page 10: 3D-HEVC Test Model

Predykcja z kompensacją rozbieżności

Page 11: 3D-HEVC Test Model

Predykcja z kompensacją rozbieżności

• Ograniczone tylko do bieżącej chwili czasowej (ta sama jednostka dostępu swobodnego)

• Obrazy z sąsiednich widoków wstawiane na koniec listy referencyjnej

Page 12: 3D-HEVC Test Model

Predykcja z kompensacją rozbieżności

• Możliwość zmiany kolejności obrazów na listach referencyjnych

• Wykorzystanie odpowiedniej składni HEVC(reference picture list modification )

Page 13: 3D-HEVC Test Model

Predykcja wektorów

• Wektory rozbieżności przewidywane tylko z bloków kodowanych z wykorzystaniem kompensacji rozbieżności

• Wektory ruchu przewidywane są tylko z bloków kodowanych z wykorzystaniem kompensacji ruchu

Page 14: 3D-HEVC Test Model

Predykcja wektorów

• Wykorzystanie istniejących mechanizmów– Zawansowany mechanizm predykcji wektorów

ruchu (AMVP)– Mechanizm dziedziczenia ruchu z sąsiednich

bloków (Merge Candidate)

Page 15: 3D-HEVC Test Model

Między-widokowa predykcjawektorów ruchu

Page 16: 3D-HEVC Test Model

Między-widokowa predykcjawektorów rozbieżności

• Cztery metody predykcji– Predykcja na podstawie zakodowanej mapy głębi– Predykcja na podstawie zgrubnej mapy głębi

estymowanej na podstawie zakodowanych wektorów ruchu i rozbieżności (depth map generator)

– Predykcja z sąsiadujących bloków

Page 17: 3D-HEVC Test Model

Predykcja na podstawiezakodowanej mapy głębi

• Mapa głębi wcześniej zakodowanych widoków jest przerzutowana (syntezowana) do bieżącego widoku

• Odsłonięcia uzupełniane informacją z tła – algorytmem wypełniania dziur / odsłonięć

• Maksymalna wartość głębi w danym bloku przeliczana jest na rozbieżność

Page 18: 3D-HEVC Test Model

Predykcja na podstawie zgrubnej mapy głębi

• Koder i dekoder tworzą mapę głębi na podstawie przesłanych wcześniej wektorów ruchu i rozbieżności.

• Zgrubna mapa głębi jest 4 razy mniejsza niż obraz (blokowa natura pola ruchu/rozbieżności)

• Zgrubna mapa głębi wykorzystywana jest następnie do predykcji wektora rozbieżnościw aktualnie kodowanym obrazie głębi

Page 19: 3D-HEVC Test Model

Predykcja na podstawie zgrubnej mapy głębi

Page 20: 3D-HEVC Test Model

Predykcja na podstawie zgrubnej mapy głębi

Page 21: 3D-HEVC Test Model

Predykcja na podstawie zgrubnej mapy głębi

Page 22: 3D-HEVC Test Model

Predykcja z sąsiadujących bloków

• Predykcja przestrzenna• Predykcja czasowa

Page 23: 3D-HEVC Test Model

Predykcja z sąsiadujących bloków

• Predykcja przestrzenna– Sąsiadujące bloki zgodnie z specyfikacją HEVC

Page 24: 3D-HEVC Test Model

Predykcja z sąsiadujących bloków

• Predykcja czasowa– Bloki co-located zgodnie z specyfikacją HEVC– Zarówno z obrazów z innych chwil czasowych, jak i

innych widoków

Page 25: 3D-HEVC Test Model

Predykcja z sąsiadujących bloków

• Predykcja wektorów ruchu z bloków kodowanych z kompensacją rozbieżności.(nested prediction)

V0 (independent view) V1 (dependent view)

Page 26: 3D-HEVC Test Model

Predykcja z sąsiadujących bloków

• Predykcja wektorów rozbieżności z bloków kodowanych z kompensacją ruchu.

• ????????????????????

Page 27: 3D-HEVC Test Model

Między-widokowa predykcjasygnału resztkowego

• Błąd predykcji jest przewidywany na podstawie błędu predykcji widoku bazowego

• Kompensację rozbieżności dokonuje się na podstawie mapy głębi (kodowanej lub przewidywanej)

Page 28: 3D-HEVC Test Model

Kodowanie map głębi

• Kompensacja ruchu z dokładnością punktową• Brak filtru usuwającego efekt blokowy

(deblokującego)• Brak filtru wienera (ALF)• Brak filtru SAO• Dodatkowe trybu kodowana oparte

o modelowanie bloku• Dziedziczenie wektorów ruchu i rozbieżności

z obrazu

Page 29: 3D-HEVC Test Model

Kodowanie map głębi

• Pomiar zniekształcenia mapy głębi na podstawie zniekształcenia syntezowanej mapy głębi (VSO)

• Ograniczenie podziału bloku na podstawie podziału obrazu (QuadTree limitation)

• Optional Encoder Control for Renderable Regions in Dependent Views

Page 30: 3D-HEVC Test Model

Tryby modelowania bloku głębi

• Głębia posiada ostre krawędzie i płaskie obszary które powinny zostać zachowane

• Podział bloku na 2 obszary o stałej wartości głębi• Różne sposoby sygnalizowania podziału bloku

– Wedgelet– Contourlet– Łańcuchowe kodowanie krawędzi

• Predykcja intra

Page 31: 3D-HEVC Test Model

Wedgelet

• Podział pliku na 2 części prostą linią• 8 trybów odpowiadających 8 możliwością

podziału bloku

Page 32: 3D-HEVC Test Model

Wedgelet

• Bezpośrednie sygnalizowanie trybu i położenia linii xs ye d

• Predykcja linii podziału z otaczających bloków

Page 33: 3D-HEVC Test Model

Wedgelet

• Predykcja trybu za pomocą segmentacji obrazu

Page 34: 3D-HEVC Test Model

Contourlet

• Predykcja podziału na podstawie segmentacji obrazu (progiem jest wartość średnia)

Page 35: 3D-HEVC Test Model

Łańcuchowe kodowanie krawędzi

• W bloku wykrywane są krawędzie które są większe niż próg, jeśli blok posiada tylko 1 taką krawędź tryb jest stosowany

: previous traverse : current traverse : reconstructed edge

0 ̊ 45 ̊ -45 ̊

135 ̊-90 ̊90 ̊ -135 ̊

Page 36: 3D-HEVC Test Model

Wartość głębi w segmentach

• Wartość głębi w segmentach Wedgelet’u i Contourlet’u jest kodowana predykcyjnie

• Liniowa kwantyzacja (krok uzależniony od QP)

Page 37: 3D-HEVC Test Model

Dziedziczenie wektorów ruchu i rozbieżności z obrazu

• Predykcja wektorów ruchu z odpowiadającego bloku obrazu.

• Dziedziczenie także podziałów jednostek kodowania• Wykorzystanie mechanizmu Merge

Page 38: 3D-HEVC Test Model

Pomiar zniekształcenia

• Zniekształcenie mapy głębi mierzone jest jako wartość SAD obrazu zsyntezowanego

Page 39: 3D-HEVC Test Model

Pomiar zniekształcenia

• Zamiast syntezować obraz dla każdego bloku• Zastosowanie przybliżenia w postaci

sD – oryginalny blok głębis᷉D – zrekonstruowany blok głębisT – zrekonstruowany blok obrazu

Page 40: 3D-HEVC Test Model

Pomiar zniekształcenia

• Ważona suma zniekształcenia mierzonego klasycznie i zniekształcenia obrazu syntezowanego

• Proporcje 10:1

Page 41: 3D-HEVC Test Model

Ograniczenie podziału drzewa

• Obraz zawiera więcej szczegółów niż odpowiadająca mu mapa głębi.

• Blok głębi nie powinien być podzielony bardziej niż odpowiadający mu blok obrazu

Page 42: 3D-HEVC Test Model

• Dziękuje za uwagę