rfc9639v2.txt | rfc9639.txt | |||
---|---|---|---|---|
skipping to change at line 194 ¶ | skipping to change at line 194 ¶ | |||
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
Values expressed as u(n) represent an unsigned big-endian integer | Values expressed as u(n) represent an unsigned big-endian integer | |||
using n bits. Values expressed as s(n) represent a signed big-endian | using n bits. Values expressed as s(n) represent a signed big-endian | |||
integer using n bits, signed two's complement. Where necessary, n is | integer using n bits, signed two's complement. Where necessary, n is | |||
expressed as an equation using * (multiplication), / (division), + | expressed as an equation using * (multiplication), / (division), + | |||
(addition), or - (subtraction). An inclusive range of the number of | (addition), or - (subtraction). An inclusive range of the number of | |||
bits expressed is represented with an ellipsis, such as u(m...n). | bits expressed is represented with an ellipsis, such as u(m...n). | |||
All shifts mentioned in this document are arithmetic shifts. | ||||
While the FLAC format can store digital audio as well as other | While the FLAC format can store digital audio as well as other | |||
digital signals, this document uses terminology specific to digital | digital signals, this document uses terminology specific to digital | |||
audio. The use of more generic terminology was deemed less clear, so | audio. The use of more generic terminology was deemed less clear, so | |||
a reader interested in non-audio use of the FLAC format is expected | a reader interested in non-audio use of the FLAC format is expected | |||
to make the translation from audio-specific terms to more generic | to make the translation from audio-specific terms to more generic | |||
terminology. | terminology. | |||
3. Definitions | 3. Definitions | |||
*Lossless compression*: Reducing the amount of computer storage | *Lossless compression*: Reducing the amount of computer storage | |||
skipping to change at line 255 ¶ | skipping to change at line 257 ¶ | |||
based on past samples. FLAC uses such predictors to remove | based on past samples. FLAC uses such predictors to remove | |||
redundancy in a signal in order to be able to compress it. | redundancy in a signal in order to be able to compress it. | |||
*Linear predictor*: A predictor using linear prediction (see | *Linear predictor*: A predictor using linear prediction (see | |||
[LinearPrediction]). This is also called *linear predictive | [LinearPrediction]). This is also called *linear predictive | |||
coding (LPC)*. With a linear predictor, each prediction is a | coding (LPC)*. With a linear predictor, each prediction is a | |||
linear combination of past samples (hence the name). A linear | linear combination of past samples (hence the name). A linear | |||
predictor has a causal discrete-time finite impulse response (see | predictor has a causal discrete-time finite impulse response (see | |||
[FIR]). | [FIR]). | |||
*Muxing*: Short for multiplexing. Combining several streams or | ||||
files into a single stream or file. In the context of this | ||||
document, muxing specifically refers to embedding a FLAC stream in | ||||
a container as described in Section 10. | ||||
*Fixed predictor*: A linear predictor in which the model parameters | *Fixed predictor*: A linear predictor in which the model parameters | |||
are the same across all FLAC files and thus do not need to be | are the same across all FLAC files and thus do not need to be | |||
stored. | stored. | |||
*Predictor order*: The number of past samples that a predictor uses. | *Predictor order*: The number of past samples that a predictor uses. | |||
For example, a 4th order predictor uses the 4 samples directly | For example, a 4th order predictor uses the 4 samples directly | |||
preceding a certain sample to predict it. In FLAC, samples used | preceding a certain sample to predict it. In FLAC, samples used | |||
in a predictor are always consecutive and are always the samples | in a predictor are always consecutive and are always the samples | |||
directly before the sample that is being predicted. | directly before the sample that is being predicted. | |||
skipping to change at line 281 ¶ | skipping to change at line 278 ¶ | |||
subtracted from a subblock. If the predictor has been able to | subtracted from a subblock. If the predictor has been able to | |||
remove redundancy from the signal, the samples of the remaining | remove redundancy from the signal, the samples of the remaining | |||
signal (the *residual samples*) will have, on average, a numerical | signal (the *residual samples*) will have, on average, a numerical | |||
value closer to zero than the original signal. | value closer to zero than the original signal. | |||
*Rice code*: A variable-length code (see [VarLengthCode]). It uses | *Rice code*: A variable-length code (see [VarLengthCode]). It uses | |||
a short code for samples close to zero and a progressively longer | a short code for samples close to zero and a progressively longer | |||
code for samples further away from zero. This makes use of the | code for samples further away from zero. This makes use of the | |||
observation that residual samples are often close to zero. | observation that residual samples are often close to zero. | |||
*Muxing*: Short for multiplexing. Combining several streams or | ||||
files into a single stream or file. In the context of this | ||||
document, muxing specifically refers to embedding a FLAC stream in | ||||
a container as described in Section 10. | ||||
4. Conceptual Overview | 4. Conceptual Overview | |||
Similar to many other audio coders, a FLAC file is encoded following | Similar to many other audio coders, a FLAC file is encoded following | |||
the steps below. To decode a FLAC file, these steps are performed in | the steps below. To decode a FLAC file, these steps are performed in | |||
reverse order, i.e., from bottom to top. | reverse order, i.e., from bottom to top. | |||
1. *Blocking* (see Section 4.1). The input is split up into many | 1. *Blocking* (see Section 4.1). The input is split up into many | |||
contiguous blocks. | contiguous blocks. | |||
2. *Interchannel Decorrelation* (see Section 4.2). In the case of | 2. *Interchannel Decorrelation* (see Section 4.2). In the case of | |||
End of changes. 3 change blocks. | ||||
5 lines changed or deleted | 7 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |