Set up Wiener variance for macroblocks in a frame
authorJingning Han <jingning@google.com>
Tue, 5 Mar 2019 18:45:16 +0000 (10:45 -0800)
committerJingning Han <jingning@google.com>
Wed, 13 Mar 2019 05:23:15 +0000 (22:23 -0700)
commitff36b9c78b8a069978c7ba57c31a8b63fbf8b599
treeb007eef5b2dc2e9ce9ed604215ce5222cc494e3a
parentc72dc3963e5a2d96709669d0471158f8b1a60d9e
Set up Wiener variance for macroblocks in a frame

This commit introduces a Wiener variance term. For each block in
the source frame, we first estimate its film grain noise level
using median filter in the transform domain. Each transform
coefficient is then processed using Wiener filter to account for
the impact on the energy level due to film grain noise. The result
leads to a second moment of the denoised signal.

Change-Id: Ibce7cb1b0cb8fe1aba807d95289712271d576948
vp9/encoder/vp9_encoder.c
vp9/encoder/vp9_encoder.h
vp9/encoder/vp9_speed_features.c
vp9/encoder/vp9_speed_features.h