Target Vector Search Using Reference Distances in Codebooks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current speech and audio codecs require significant memory and computational resources for encoding, which is a challenge for mobile devices, as they aim to reduce complexity while maintaining coding efficiency.

Innovation Solution

A method is introduced to identify target vectors from candidate vectors associated with codebooks, where the target vectors have the smallest distances to a sorted representation of an input vector, by checking distances with a reference vector and computing only if necessary, thereby reducing computational complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If codebook-based encoding is used in speech and audio codecs, then coding efficiency is improved, but memory and computational complexity increase

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

Solution Approach 1:

The codebook is divided into multiple classes (e.g., unsorted class and sorted classes), where each class handles specific types of input vectors. This segmentation allows the encoder to quickly determine which class to use based on the input vector characteristics, avoiding exhaustive search across the entire codebook and thereby reducing computational complexity while maintaining coding efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Candidate vectors are pre-sorted and organized into structured classes before encoding operations. The unsorted class contains vectors sorted in one order, while sorted classes contain vectors sorted in different orders. This preliminary organization enables the encoder to directly compare input vectors with pre-organized classes without performing full sorting operations during encoding, significantly reducing real-time computational burden.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If structured codebooks with leader classes are used, then memory requirements are reduced, but finding the nearest neighbor code vector becomes more complex

Engineering Contradiction:
Improvememory requirementsVSAvoidalgorithm complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

Different classes of candidate vectors are organized with different sorting properties (unsorted class vs. sorted classes). The encoder selects the appropriate class based on the local characteristics of the input vector, such as whether the input vector is sorted or unsorted. This local adaptation allows efficient nearest neighbor search by comparing the input vector only within the relevant class, reducing algorithmic complexity while maintaining reduced memory requirements.

Inventive Principle:
Principle #3Local quality

3Measurement precision

If all candidate vectors are evaluated to find the target vector with smallest distance, then accuracy is improved, but computational complexity increases

Engineering Contradiction:
Improvedistance calculation accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The set of candidate vectors is segmented into multiple classes based on sorting characteristics. The encoder evaluates distances only within the relevant class (unsorted class for unsorted inputs, sorted classes for sorted inputs), rather than evaluating all candidate vectors. This segmentation maintains accuracy by ensuring the correct class is searched, while reducing computational complexity by limiting the search space to only the necessary class.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9196255B2Low complexity target vector identification
Publication Date: 2015.11.24 NOKIA TECHNOLOGIES OY
  • US9196255B2 patent drawing
  • US9196255B2 patent drawing
  • US9196255B2 patent drawing

AI summary

It is inter alia disclosed to identify one or more target vectors from a plurality of candidate vectors, each candidate vector having sorted elements and being associated with a respective class of one or more code vectors of a codebook and at least one of the candidate vectors being associated with a respective class of two or more code vectors that comprise the respective candidate vector and at least one code vector obtainable from the respective candidate vector by one of permutation and signed permutation, the target vectors having, among all candidate vectors of the plurality of candidate vectors, smallest distances towards a at least sorted representation of an input vector. The identifying comprises checking, for a candidate vector of the plurality of candidate vectors, at least based on a distance between the candidate vector and a reference vector and on a distance between the reference vector and the at least sorted representation of the input vector, if a distance between the at least sorted representation of the input vector and the candidate vector is larger than a distance between the at least sorted representation of the input vector and the reference vector. The identifying further comprises computing, for the candidate vector, the distance between the at least sorted representation of the input vector and the candidate vector only if the checking yields a negative result.