Bit Rate Reduction
   HOME

TheInfoList



OR:

Bit Rate Reduction, or BRR, also called Bit Rate Reduced, is a name given to an audio compression method used on the
SPC700 The Super Nintendo Entertainment System (SNES), commonly shortened to Super NES or Super Nintendo, is a 16-bit home video game console developed by Nintendo that was released in 1990 in Japan and South Korea, 1991 in North America, 1992 in E ...
sound coprocessor used in the SNES, as well as the audio processors of the Philips CD-i, the
PlayStation is a video gaming brand that consists of five home video game consoles, two handhelds, a media center, and a smartphone, as well as an online service and multiple magazines. The brand is produced by Sony Interactive Entertainment, a divisi ...
, and the Apple Macintosh Quadra series. The method is a form of ADPCM. BRR compresses each consecutive sequence of sixteen 16-bit
PCM Pulse-code modulation (PCM) is a method used to digitally represent sampled analog signals. It is the standard form of digital audio in computers, compact discs, digital telephony and other digital audio applications. In a PCM stream, the amp ...
samples into a block of 9 bytes. From most to least significant, the first byte of each block consists of four bits indicating the ''range'' of the block (see below) which controls the size of steps between the 16 possible values such that minute changes can be recorded if the 16 values are closer together but minute changes are lost if the 16 values are far apart, two bits indicating the ''filter'' (see below), and two bits of control information for the SPC700. The remaining eight bytes consist of 16 signed 4-bit nibbles which correspond to the 16 samples, packed in a big-endian manner. As 32 bytes of input become 9 bytes of output, the BRR algorithm yields a 3.56:1 compression ratio.


Decompression algorithm

A nibble ''n'' in a block with filter f and range r should be decoded into a PCM sample s_t using the following second-order linear prediction equation: :s_t = 2^r n + k_1 s_ - k_2 s_ Here, s_ and s_ are the last-output and next-to-last-output PCM samples, respectively. The filter type f is translated into IIR prediction coefficients k using the following table: These calculations are all done in signed 16.16
fixed-point arithmetic In computing, fixed-point is a method of representing fractional (non-integer) numbers by storing a fixed number of digits of their fractional part. Dollar amounts, for example, are often stored with exactly two fractional digits, representi ...
. Or in words: * Filter 0 linearly decodes the r bit downquantized version of the samples. * Filter 1 adds an r bit downquantized version of the samples to a lowered previous input (delta pack or differential coding). * Filters 2 and 3 add an r bit downquantized version of the samples to the linear extrapolation from the last two samples (2nd order differential coding). The PlayStation APU and the Philips CD-i CDIC add another set of coefficients to the above and reorders them, for five unique of 8 filters total (these come from the Green Book and Yellow Book specifications): These calculations are all done in signed 16.16
fixed-point arithmetic In computing, fixed-point is a method of representing fractional (non-integer) numbers by storing a fixed number of digits of their fractional part. Dollar amounts, for example, are often stored with exactly two fractional digits, representi ...
.


References

{{Reflist
SPC 700 Documentation
* US Patent 4,685,115 eginnings of system which became BRR* US Patent 4,783,792 urther development toward BRR* US Patent 4,797,902 RR; example coefficients can be seen on page 21* US Patent 4,829,522 RR with error correction-aware interpolation for reading from a disc medium such as a MiniDisc; the final MiniDisc implementation did not use BRR] * US Patent 5,041,830 [BRR shifting/quantization] * US Patent 5,070,515 [BRR encoding/noise shaping; example coefficients can be seen on page 23] * US Patent 5,086,475 [BRR Looping, pitch/frequency detection for encoding] * US Patent 5,111,530 ather specific patent on the workings of the DSP in the SNES and PlayStation">SNES.html" ;"title="ather specific patent on the workings of the DSP in the SNES">ather specific patent on the workings of the DSP in the SNES and PlayStation APU] * US Patent 5,128,963 [a later patent on the system which became BRR] * US Patent 5,166,981 [Using LPC analysis for assisting in encoding BRR] * US Patent 5,303,374 [Predictive error generator for assisting in encoding BRR; coefficients can be seen on page 6] * US Patent 5,430,241 RR Looping, pitch/frequency detection for encoding, similar to 5,086,475* US Patent 5,519,166 RR Looping, pitch/frequency detection for encoding, continuation of 5,430,241* US Patent 5,978,492 RR in the context of CD-XA on Sony PlayStation">Sony.html" ;"title="RR in the context of CD-XA on Sony">RR in the context of CD-XA on Sony PlayStation ">Sony">RR in the context of CD-XA on Sony PlayStation">Sony.html" ;"title="RR in the context of CD-XA on Sony">RR in the context of CD-XA on Sony PlayStation Digital audio Super Nintendo Entertainment System