FluxSmooth(int temporal_threshold, int spatial_threshold) |
autor: Ross Thomas |
temporal_threshold: sąsiednie piksele wewnątrz progu bieżącego piksela
zostaną zawarte w średniej. Jeśli ustawisz temporal_threshold=-1 to
spowodujesz wyłączenie czasowego odszumiania; domyślnie temporal_threshold=7
spatial_threshold: sąsiednie piksele wewnątrz progu bieżącego piksela
zostaną zawarte w średniej. Jeśli ustawisz spatial_threshold=-1, to
spowodujesz wyłączenie przestrzennego odszumiania; domyślnie spatial_threshold=7
Jedną z podstawowych własności szumu jest to iż jest on losowy. Natomiast
podstawową własnością ruch jest to iż on nie jest losowy. Takie założenie
przyjmuje filtr FluxSmooth, który analizuje każdy piksel i porównuje go z odpowiednim pikselem w poprzedniej i
następnej klatce. Wygładzanie występuje jeśli obie wartości klatek, poprzedzająca
bieżącą i następna, są większe lub jeśli obie wartości są mniejsze niż wartość bieżącej klatki.
Nazywam to "wahaniem" piksela oraz upodobniam to do zmazywania piksela
przez wartość średnią ze swoich sąsiednich pikseli. Domyślne robione jest
to metodą czasowo-przestrzenną, w tym, dla każdego wahania piksela
badanych jest osiem sąsiednich pikseli, co jest tak samo wydajne jak dwa sąsiednie
piksele w metodzie czasowej (wspomnianej powyżej: odpowiedni piksel z poprzedniej i następnej klatki). Jeśli wartość każdego piksela jest w
zasięgu określonego progu to są one brane pod uwagę przy wyliczaniu wartości
średniej, jeśli nie - to nie są.
Wydaje się, że filtr ten usuwa prawie cały szum z lekko zaszumionego materiału
(materiał z DVD) i większość szumu z bardzo zaszumionego materiału (materiał
przechwytywany z TV), podczas utrzymywania sporej ilości szczegółów.