Upload
krzysztof-wegner
View
73
Download
1
Embed Size (px)
Citation preview
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ę