Candidate Code-Vector Generation for CELP Coding Complexity Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Higher bit rate Code Excited Linear Prediction (CELP) coding systems require higher computational complexity due to the need for error evaluation across a larger number of codebook entries in closed loop processing, which increases processing demands.

Innovation Solution

Generating candidate code-vectors through direct quantization of vectors formed using inverse weighting functions and evaluating weighted errors to produce a better overall code-vector, reducing computational complexity by pre-selecting initial codebook candidates and applying variable weights.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If error evaluation is performed across a larger number of codebook entries in closed loop processing, then coding accuracy is improved, but computational complexity increases

Engineering Contradiction:
Improvecoding accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The codebook search process is divided into two stages: a first search process that identifies an initial candidate code-vector, and a second search process that refines the selection from a limited set of candidate code-vectors based on the initial result. This segmentation reduces the computational burden by avoiding exhaustive search of all codebook entries while maintaining coding accuracy through iterative refinement.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first search process performs preliminary action by identifying an initial candidate code-vector before the second search process begins. This preliminary selection narrows down the search space significantly, allowing the second search to focus only on relevant candidate code-vectors, thereby reducing overall computational complexity while preserving measurement precision.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If direct quantization with inverse weighting functions is used, then computational complexity is reduced, but initial codebook candidate quality may be compromised

Engineering Contradiction:
Improvecomputational complexityVSAvoidcode-vector accuracy
Core Design Contradiction:
Device complexityVSManufacturing precision

Solution Approach 1:

The second search process uses feedback from the first search result to refine the code-vector selection. The initial candidate code-vector obtained through direct quantization serves as a starting point, and the second search iteratively improves upon it by evaluating weighted errors against the target signal, ensuring that code-vector accuracy is maintained or enhanced despite the simplified initial quantization approach.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The search process is made dynamic through the two-stage approach where the set of candidate code-vectors for the second search is determined based on the result of the first search. This dynamic adaptation allows the system to adjust the search strategy according to the characteristics of the input signal, optimizing both computational efficiency and code-vector accuracy.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9263053B2Method and apparatus for generating a candidate code-vector to code an informational signal
Publication Date: 2016.02.16 GOOGLE TECHNOLOGY HOLDINGS LLC
  • US9263053B2 patent drawing
  • US9263053B2 patent drawing
  • US9263053B2 patent drawing

AI summary

A method (1100) and apparatus (100) generate a candidate code-vector to code an information signal. The method can include producing (1110) a weighted target vector from an input signal. The method can include processing (1120) the weighted target vector through an inverse weighting function to create a residual domain target vector. The method can include performing (1130) a first search process on the residual domain target vector to obtain an initial fixed codebook code-vector. The method can include performing (1140) a second search process over a subset of possible codebook code-vectors for a low weighted-domain error to produce a final fixed codebook code-vector. The subset of possible codebook code-vectors can be based on the initial fixed codebook code-vector. The method can include generating (1150) a codeword representative of the final fixed codebook code-vector. The codeword can be for use by a decoder to generate an approximation of the input signal.