SmoothD
(clip clip, int quant, int
num_shift, int adaptive_shift, int zero_weight)
default: SmoothD(3, 4, 0, 1) or SmoothD()
Version 0.0.7 October 23th, 2004
Copyright (C) 2004 Tobias
Bergmann.
contact: tobias.bergmann at bergdichter.de
SmoothD
filters the input stream by repeated
application of a DCT-quant-iDCT on shifted copies of each frame. By
doing so it reduces blocks while keeping high frequency detail
intact.
Ideally it should be used with exactly the same quant
matrix as the stream was produced with. In order to keep the list of
parameters small and usage simple Didée's 6-of-9 matrix is
used. This matrix offers very light filtering at low quants.
Parameters (range in brackets; default in bold):
quant (1..3..31): This parameter specifies the quantizer value used. A higher value means stronger filtering. It should be set according to the quality of the stream. The value should be chosen to match the stream quality with an (imaginary) Didée's 6-of-9 constant quant encode.
num_shift (1..4..8): Specifies the number of shifted versions used for filtering. A higher value is both more accurate and time consuming.
adaptive_shift (0, 1): Selects if adaptive shifting is used. Zero means off. Adaptive shifting varies num_shift depending on quant.
zero_weight (1..8): Defines relative weight of non-shifted original. A higher value counteracts filtering but keeps more detail.
Default values are used if omitted in function call.
The original idea stems from a 2001 master thesis at University of Dallas. It was later published as a paper by A. Nosratinia.
A. Nosratinia, Enhancement of JPEG-Compressed images by re-application of JPEG, Journal of VLSI Signal Processing, vol. 27, pp. 69-79, 2001.
V0.0.7 , October 24th, 2004
Preview release
DCT not used -> Filter broken
Doesn't really filter: Flat8 is used instead of 6-of-9
Doesn't process U und V plane
requires YV12
adaptive_shift not yet implemented