3D-HEVC Test Model

Post on 11-Apr-2017

73 views 1 download

Transcript of 3D-HEVC Test Model

3D-HEVC Test Model

Krzysztof Wegner

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

Nomenklatura

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

• Tekstura przez Głębią

Schemat kodera

Kodowanie widoku bazowego

• Widok bazowy kodowany zgodnie ze specyfikacją HEVC

• Strumień zgodny z HEVC

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

Predykcja z kompensacją rozbieżności

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

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 )

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

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)

Między-widokowa predykcjawektorów ruchu

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

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ść

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

Predykcja na podstawie zgrubnej mapy głębi

Predykcja na podstawie zgrubnej mapy głębi

Predykcja na podstawie zgrubnej mapy głębi

Predykcja z sąsiadujących bloków

• Predykcja przestrzenna• Predykcja czasowa

Predykcja z sąsiadujących bloków

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

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

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)

Predykcja z sąsiadujących bloków

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

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

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)

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

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

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

Wedgelet

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

podziału bloku

Wedgelet

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

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

Wedgelet

• Predykcja trybu za pomocą segmentacji obrazu

Contourlet

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

Ł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 ̊

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)

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

Pomiar zniekształcenia

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

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

Pomiar zniekształcenia

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

• Proporcje 10:1

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

• Dziękuje za uwagę