3 ms·
Are there any lossless compression algorithms that use autocorrelation to reduce the bit depth on repeated cycles? For example a human voice sustaining a note m
by AshleysBrain 12y ago
Are there any lossless compression algorithms that use autocorrelation to reduce the bit depth on repeated cycles? For example a human voice sustaining a note may have similar cycles, but with enough low-level noise-like variations that traditional deflate-type compression does not help much. However if an algorithm could spot that the second cycle only has small differences to the first cycle, perhaps it could encode the second cycle as a diff to the first cycle. Since the second cycle differences are likely to be small, the bit depth could be reduced (e.g. to 2-3 bits). Then the third cycle could also be encoded as a diff of the second, so even a gradually changing volume can be encoded with a very low bit rate throughout while ending up significantly different from the first cycle.
Has that been tried before? Would be willing to spend a few evenings hacking on this myself.
- deleted 12y ago[deleted]
- jacquesm 12y agoYou could make a spectrum first to determine which candidate frequencies to do the wave form subtraction with, the problem is that the waves are typically not sinusoidal in shape. So you're going to have to take a fairly narrow band-pass filter for the dominant frequency, take the output of that filter, subtract it from the input signal and repeat this until you're left with just a bit of noise. Then you need to compress each of those individually.
- thrownaway2424 12y agoFLAC works by finding a well-fitting polynomial function and Rice-encoding the residuals, which isn't very different from what you described.