X-post from Monkey's Board(no response):
Is anyone aware of a subband lossless encoder, or a lossless encoder using subband predictors? From what I’ve heard of Monkey’s Audio, it seems that the influence of its predictor is scaled according to past performance(adaptive predictors). The problem is while some components of a signal might be easily compressible, if any harder to predict components have high levels, they ruin the compression of the signal as a whole. A solution might be to split the signal(or the signal entering the predictor) into subbands by downsampling(or in case of the predictor, simple filtering). The easily compressible components would no longer be destroyed by other hard to compress components.
I present two possible implementations. The first is a true subband encoder, but most likely will not increase the compression ratio by much, if at all. It is only here as an example. The second uses a subband predictor, and may successfully increase compression ratios.
The incoming signal is split into multiple subbands by an FIR filter, and downsampling. Each subband is compressed completely separately, until the output of each compressor is multiplexed into the output stream. While this works in lossy compressors well, a lossless compressor must use very simple filters in order for the decompressor to reconstruct the original signal perfectly. In fact, it probably won’t be easy to split the signal into more than 4 bands. The only advantage is since the subbands are processed completely separately, it may be slightly easier on the entropy encoder. If there is ANY compression gain with this method, it probably won’t be much.
In this approach, the predictor is decomposed into multiple predictors, one for each band. The signal passes as a whole throughout the rest of the compressor. When the compressor receives a “block” of a signal, it is run through an FFT, and attempts to identify the main signal components. An FIR filter is generated to feed a separate predictor for each main component. Since the signal is processed as a whole throughout the rest of the compressor, some bands can be left out, bands can overlap, the whole signal can be fed into a predictor in addition to the subband predictors, etc. The encoder can do whatever it really wants. The adaptive predictors will decide if the component they are fed are easily comprisable or not. The output of all the predictors is added together, and compression proceeds as normal.
Is anyone aware of a subband lossless encoder, or a lossless encoder using subband predictors?
I am not to familiar with using subband audio coding for lossless compressors, just lossy. I was searching around the NEC Research Index and I found some research documentation that you might be able to look over to give you some idea to maybe expand upon the two possible implementations that you have carefully came up with. The Research Paper is presented here I hope it helps.