A Novel Video Coding Framework Using a Self-Adaptive Dictionary
In this paper, we propose to use a self-adaptive redundant dictionary, consisting of all possible inter and intra prediction candidates, to directly represent the frame blocks in a video sequence. The self-adaptive dictionary generalizes the conventional predictive coding approach by allowing adaptive linear combinations of prediction candidates, which is solved by an rate-distortion aware L0-norm minimization problem using orthogonal least squares (OLS). To overcome the inefficiency in quantizing and coding coefficients corresponding to correlated chosen atoms, we orthonormalize the chosen atoms recursively as part of OLS process. We further propose a two-stage video coding framework, in which a second stage codes the residual from the chosen atoms using a modified discrete cosine transform (DCT) dictionary that is adaptively orthonormalized with respect to the subspace spanned by the first stage atoms. To determine the transition from the first stage to the second stage, we propose a rate-distortion (RD) aware adaptive switching algorithm. The proposed framework is further extended to accommodate variable block sizes (<inline-formula> <tex-math notation="LaTeX">$16\times 16$ </tex-math></inline-formula>, <inline-formula> <tex-math notation="LaTeX">$8\times 8$ </tex-math></inline-formula>, and <inline-formula> <tex-math notation="LaTeX">$4\times 4$ </tex-math></inline-formula>), and the partition mode is derived by a fast partition mode decision algorithm. A context-adaptive binary arithmetic entropy coder is designed to code the symbols of the proposed coding framework. The proposed coder shows competitive, and in some cases better RD performance, compared with the HEVC video coding standard for P-frames.