Schro Encoder Stages
From Diracvideo
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.
