Avelune Video Candidate 0.0
Historical Avelune video architecture and coding experiments, retained for provenance and superseded by Draft Generation 1.
View authoritative source|
Warning
|
HISTORICAL / NON-NORMATIVE: superseded by the Draft Generation 1 |
Status: EXPERIMENTAL / NOT FROZEN
This document separates architectural requirements that are already intentional from disposable coding experiments.
Architectural invariants under evaluation
-
Frames have immutable frame IDs.
-
Every inter frame explicitly identifies its dependency frame IDs; no mutable semantic reference-slot array exists.
-
Dependencies never cross epoch boundaries.
-
Decoder resource requirements are bounded from syntax before large allocations.
-
Entropy state is restartable at independently decodable spatial regions.
-
Encoder search strategy is never part of the decoder contract.
-
Lossless coding must be a first-class valid mode, not a separately wrapped format.
Intended source representations
Candidate profiles are expected to cover integer 8/10/12-bit planes, monochrome, 4:2:0, 4:2:2, 4:4:4, RGB/GBR and optional alpha. Exact profile signaling is not frozen.
Candidate coding pipeline
The serious candidate architecture is:
partition -> prediction -> residual transform -> quantization -> entropy coding
-> inverse operations -> one reconstruction-filter stage
Planned tools are described in docs/architecture/codec-direction.adoc; they are not normative until experiments justify them.
Experiment 0 syntax
The first executable experiment intentionally uses a much smaller subset to test state and container assumptions:
-
8-bit planar YUV 4:2:0;
-
intra frames are linearly predicted sample-by-sample and encode prediction errors;
-
inter frames predict from the same-position sample in one explicitly named reference frame;
-
residuals are signed integers zig-zag mapped to unsigned values and encoded with bounded LEB128;
-
a quantizer step of one is mathematically lossless;
-
no spatial transform, motion search, filtering, chroma tools or entropy model is implied by this experiment.
A decoder implementing Experiment 0 is not evidence that the above mechanism belongs in Draft Generation 1. It exists to validate exact arithmetic, explicit reference dependencies, packetization and independent epochs.
Exact experiment reconstruction
For every sample:
prediction = intra_predictor(...) OR reference_sample
error = source - prediction
reconstructed = clamp(prediction + dequantized_error, 0, 255)
For lossless Experiment 0, dequantized_error == error and clipping MUST therefore recover the original sample exactly.