Use of temporal context for encoding delta updates.
authorSuman Sunkara <sunkaras@google.com>
Thu, 23 Sep 2010 22:25:33 +0000 (18:25 -0400)
committerSuman Sunkara <sunkaras@google.com>
Thu, 11 Nov 2010 16:31:36 +0000 (11:31 -0500)
commitb9a18344cf8e5283928525c5ac0897ede79f9e57
tree487b21bb3564e91dcc970ca801b2feb99d9a6610
parent00cec8f9e9a921ad69f20e84f79235a23515b4dd
Use of temporal context for encoding delta updates.

- Used three probability approach for temporal context as follows:
P0 - probability of no change if both above and left not changed
P1 - probability of no change if one of above and left has changed
P2 - probability of no change if both above and left have changed

In addition, a 1 bit/frame has been used to decide whether to use temporal context or to encode directly.  The cost of using both the schemes is calculated ahead and the temporal_update flag is set if the cost of using temporal context is lower than encoding the segment ids directly.

This approach has given around 20% reduction in cost of bits needed to encode segmentation ids.

Change-Id: I44a5509599eded215ae5be9554314280d3d35405
vp8/common/blockd.h
vp8/decoder/decodemv.c
vp8/decoder/decodframe.c
vp8/decoder/demode.c
vp8/decoder/onyxd_if.c
vp8/decoder/onyxd_int.h
vp8/encoder/bitstream.c
vp8/encoder/encodeframe.c
vp8/encoder/onyx_if.c