Schro Encoder Stages

From Diracvideo

Jump to: navigation, search

Schroedinger divides encoding of pictures into several stages, which in some cases can be performed in parallel on different CPUs. Individual stages do not make any global decision making or rely on any global variables. Decisions about a picture and modifications of global variables are done in between stages with the global lock held.

Contents

[edit] Stage: Analysis

Performs any analysis that doesn't require any decisions. Includes:

* prefiltering
* downsampling
* scene change measurement

After this stage, pictures are assigned a GOP structure.

[edit] Rough Motion Estimation

Requires: GOP structure

Creates a rough motion vector field, based on the original (not reconstructed) reference pictures.

[edit] Pel Motion Estimation

Creates a SchroMotion object that is pel-accurate.

[edit] Subpel Motion Estimation

Creates a SchroMotion object that is sub-pel accurate.

[edit] Mode Decision

Requires: reconstructed reference pictures

* Collects blocks into superblocks.
* Renders SchroMotion field.
* Creates residual frame
* Performs wavelet transform on residual

[edit] Encode

Requires: quantization factors

Encodes the picture into a Dirac bitstream.

[edit] Reconstruct

Performs inverse wavelet transform on dequantized data and reconstructs picture.

[edit] Postanalyse

Calculates MSE and other quality measurements. Upsamples reconstructed frame for reference pictures.

Personal tools