Audio Recognition Using Two-Stage Hash Vector Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing audio recognition systems face inefficiencies in identifying music within audio streams that contain multiple layers of audio, such as sound effects, voiceovers, and distortions like equalization, tempo, and pitch changes, especially when dealing with large databases.
Innovation Solution
The system generates spectrograms from audio signals, calculates sample vectors from frequency bins, and uses a variable depth tree structure for exact match searches combined with secondary evaluations to identify matching audio content, allowing for efficient and accurate recognition even in noisy or distorted environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If standard near-neighbour search algorithms are used on large databases, then complete search coverage is achieved, but processing efficiency deteriorates significantly
Solution Approach 1:
The patent divides the search process into two distinct phases: a primary phase using hash table lookup for rapid candidate identification, and a secondary phase performing detailed fingerprint comparisons only on pre-selected candidates. This segmentation allows the system to achieve both high processing speed in the primary phase and high reliability in the secondary phase, resolving the contradiction between speed and accuracy.
Solution Approach 2:
The patent performs preliminary filtering using hash table lookup before conducting the computationally intensive fingerprint comparison. By pre-selecting candidate positions based on hash matches, the system reduces the search space dramatically, enabling fast processing while maintaining accurate identification through subsequent verification of candidates.
2Measurement precision
If full fingerprint comparisons are performed on all database entries, then identification accuracy is maximized, but computational complexity increases
Solution Approach 1:
The patent applies partial action by performing complete fingerprint comparisons only on a small subset of pre-selected candidate positions rather than all database entries. The hash table lookup identifies candidates with high probability, allowing the system to achieve accurate identification through partial comparisons, thereby reducing computational complexity while maintaining measurement precision.
3Productivity
If hash tables with 32-bit sub-fingerprints are used, then candidate pre-selection is efficient, but false matches increase in distorted environments
Solution Approach 1:
The patent uses the hash table as an intermediary tool for candidate pre-selection rather than as the final matching mechanism. The hash table efficiently narrows down candidates, but the actual identification reliability is ensured by subsequent full fingerprint comparisons. This intermediary approach allows the system to benefit from both the efficiency of hash lookup and the reliability of complete comparison.
Solution Approach 2:
The system employs feedback by using full fingerprint comparison results to verify and filter candidates identified by hash lookup. This feedback mechanism eliminates false matches that may arise from hash collisions or distortions, ensuring that only genuine matches are identified while maintaining search efficiency through the initial hash-based pre-selection.
Data Source
AI summary
Automatic recognition of sample media content is provided. A spectrogram is generated for successive time slices of audio signal. One or more sample hash vectors are generated for a time slice by calculating ratios of magnitudes of respective frequency bins from a column for the time slice. In a primary evaluation stage an exact match of bits of the sample hash vector is performed to entries in a look-up table to identify a group of one or more reference hash vectors. In a secondary evaluation stage a degree of similarity between the sample hash vector and each of the group of reference hash vectors is performed to identify any reference hash vectors that are candidates for matching the sample media content, each reference hash vector representing a time slice of reference media content.


