|
|
Line 1: |
Line 1: |
| == Constrained-Energy Fourier Transforms ==
| |
|
| |
|
| === Problems with current implementation and possible solutions ===
| |
|
| |
| ==== Overlapped FFT not critically sampled ====
| |
|
| |
| In the current implementation, we encode 4/3 times more samples than necessary because we use 256-point FFTs with 64 samples overlap.
| |
|
| |
| Ideas:
| |
| * Use an MDCT instead of the FFT
| |
| * Do extrapolation on the input and use a wider FFT. Then optimise the search only for the "real" samples
| |
|
| |
| ==== Non-harmonic signals (i.e. music) ====
| |
|
| |
| CEFT only works on speech because most of its coding efficiency is provided by the pitch predictor.
| |
|
| |
| Ideas:
| |
| * Sinusoidal prediction
| |
| * Use two (or more) pitch periods and choose one for each bin/band/whatever
| |
| * Use two (or more) pitch periods at the same time and use energy conservation to keep everything stable.
| |
|
| |
| ==== Sparse spectrum ====
| |
|
| |
| CEFT tends to have musical noise, especially at high frequency when there are very few bits/bin.
| |
|
| |
| Ideas:
| |
| * Use a "rotation matrix"
| |
| * Prediction from lower frequencies
| |
|
| |
| [[Category:Opus]]
| |