Texture Synthesizer

How the synthesizer works.
For every texture region in each of the middle frames, the texture analyzer
looked for similar textures in both reference frames. The corresponding area (if
it can be found in at least one of the reference frames) was then mapped
into the segmented texture region based on a global motion model. When a B frame
contained identified synthesizable texture regions, the corresponding
segmentation masks, motion parameters as well as the control flag to indicate
which reference frame was used were transmitted as side information to the
decoder. All macroblocks belonging to a synthesizable texture region were
handled as skipped macroblocks in the H.264/AVC reference software. Hence, all
parameters and variables used for decoding the macroblocks inside the slice, in
decoder order, were set as specified for skipped macroblocks. After all
macroblocks of a current frame were completely decoded, texture synthesis was
performed in which macroblocks belonging to a synthesizable texture region were
replaced with the textures identified in the corresponding reference frame.
