Target Vector Search Using Reference Distances in Codebooks
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Measurement precision
If all candidate vectors are evaluated to find the target vector with smallest distance, then accuracy is improved, but computational complexity increases
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.
Data Source
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.


