Bit Rate Reduction


Bit Rate Reduction, or BRR, also called Bit Rate Reduced, is a name given to
an audio compression method used on the SPC700 sound coprocessor used in the SNES, as well as the audio processors of the Philips CD-i, the PlayStation, and the Apple Macintosh Quadra series. The method is a form of ADPCM.
BRR compresses each consecutive sequence of sixteen 16-bit PCM 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 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, 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 and range should be decoded into a PCM sample using the following second-order linear prediction equation:
Here, and are the last-output and next-to-last-output PCM samples, respectively. The filter type is translated into IIR prediction coefficients using the following table:
Filter fk1k2
000
115/160
261/3215/16
3115/6413/16

These calculations are all done in signed 16.16 fixed-point arithmetic.
Or in words:
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 :
Filter fk1k2
000
115/160
2115/6413/16
349/3255/64
461/3215/16

These calculations are all done in signed 16.16 fixed-point arithmetic.