- Bit Rate Reduction
Bit Rate Reduction, or BRR, also called Bit Rate Reduced, is a name given toan audio compression method used on the
SPC700 sound coprocessor used in the SNES. The method is a form ofADPCM .BRR compresses each consecutive sequence of sixteen 16-bit PCM samples into a block of 9
byte s. From most to least significant, the first byte of each blockconsists of four bits indicating the "range" of the block (see below),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" in the following manner:
* If "f=0", "s=2r n".
* If "f=1", "s=2r n + (15/16) s′".
* If "f=2", "s=2r n + (61/32) s′ - (15/16) s″".
* If "f=3", "s=2r n + (115/64) s′ - (13/16) s″".Here, "s′" and "s″" are the last-output and next-to-last-output PCM samples, respectively. 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).References
* [http://emureview.ztnet.com/developerscorner/SoundCPU/spc.htm SPC 700 Documentation]
* [http://home.comcast.net/~brad.martin1/brr.txt The Bit Rate Reduction sound encoding scheme]
Wikimedia Foundation. 2010.