Senone Scoring for Concurrent Speech Streams
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Speech recognition systems face significant memory and computational resource constraints, particularly in server environments, due to the need to process large vocabularies with tens of thousands of words and thousands of senones, which affects processing speed and efficiency, especially in real-time applications.
Innovation Solution
The implementation of an acoustic processing acceleration device that includes an acoustic model, a controller, and multiple senone scoring units (SSUs), allowing for single memory access to calculate senone scores for multiple feature vectors, thereby reducing memory bottlenecks and enhancing processing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If speech recognition systems process large vocabularies with tens of thousands of words and thousands of senones, then recognition accuracy is improved, but memory resource consumption and processing time increase significantly
Solution Approach 1:
The acoustic model is segmented into multiple senone scoring units (SSUs), each responsible for scoring specific senones. This segmentation allows parallel processing of multiple senones simultaneously, reducing the sequential memory access burden while maintaining comprehensive vocabulary coverage for accurate recognition.
Solution Approach 2:
The patent transitions from sequential processing to parallel processing by introducing multiple SSUs that operate simultaneously. This dimensional change from single-threaded to multi-threaded architecture enables the system to handle large vocabularies without proportionally increasing memory consumption, as multiple senones are scored in parallel rather than sequentially.
2Productivity
If speech recognition systems use large memory arrays to store data from multiple frames, then processing capability is improved, but processing speed decreases and power consumption increases
Solution Approach 1:
The memory access operation is segmented into multiple simultaneous accesses by different SSUs. Instead of one large sequential memory access, multiple smaller parallel accesses occur concurrently, reducing the time penalty associated with large memory arrays while maintaining the capability to store and process data from multiple frames.
Solution Approach 2:
Multiple SSUs operate continuously and in parallel, each performing memory accesses and senone scoring operations without idle time. This continuous parallel processing eliminates bottlenecks associated with sequential memory access, maintaining high processing capability while improving overall processing speed.
3Ease of operation
If centralized servers process speech recognition computations, then resource constraints on user devices are reduced, but memory bandwidth becomes a significant bottleneck in the server environment
Solution Approach 1:
The memory bandwidth bottleneck is segmented into multiple parallel memory access operations handled by different SSUs. Each SSU performs smaller, concurrent memory accesses rather than a single large sequential access, effectively distributing the memory bandwidth demand and reducing the bottleneck impact on overall processing throughput.
Solution Approach 2:
The patent resolves the memory bandwidth constraint by transitioning from sequential to parallel memory access patterns. This dimensional change enables multiple senones to be scored simultaneously with concurrent memory accesses, increasing the effective memory bandwidth utilization and eliminating the bottleneck that would otherwise limit server-based speech recognition processing.
Data Source
AI summary
Embodiments of the present invention include an apparatus, method, and system for calculating senone scores for multiple concurrent input speech streams. The method can include the following: receiving one or more feature vectors from one or more input streams; accessing the acoustic model one senone at a time; and calculating separate senone scores corresponding to each incoming feature vector. The calculation uses a single read access to the acoustic model for a single senone and calculates a set of separate senone scores for the one or more feature vectors, before proceeding to the next senone in the acoustic model.


