Pre-encoded Announcement Playback Eliminates Real-time Transcoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The high computational cost of real-time transcoding in Voice over Internet Protocol (VOIP) systems for adaptive multi-rate (AMR) encoded announcements requires numerous transcoders, making it expensive to support a large number of receivers.
Innovation Solution
A system that plays back AMR encoded announcements without using transcoders by storing multiple versions of the announcement message in memory buffers at different coding rates, allowing for seamless playback rate changes requested by user devices, using a scheduler and announcement player to manage the playback from a linked list of memory buffers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If real-time transcoding is used to convert AMR encoded announcements to different rates, then the system can adapt to varying network conditions and user device requirements, but the computational cost increases significantly requiring numerous transcoders
Solution Approach 1:
The system pre-encodes announcement messages at multiple AMR rates (e.g., 4.75k, 6.6k, 8k, 12.2k, 14k, 16k bits per second) and stores them in memory buffers before playback. When a user device requests a specific coding rate, the system retrieves the pre-encoded version from memory rather than performing real-time transcoding, thereby eliminating the need for numerous transcoder processes while maintaining adaptability to different network conditions
2Adaptability or versatility
If real-time transcoding is performed, then the system can meet diverse coding rate requirements of user devices, but the computational resources and cost increase
Solution Approach 1:
Instead of creating multiple transcoder instances that perform real-time conversion, the system creates multiple copies of the same announcement message encoded at different rates in advance. These pre-encoded copies are stored in memory buffers and retrieved as needed, eliminating the computational burden of real-time transcoding while maintaining the ability to serve diverse coding rate requirements
3Productivity
If numerous transcoders are deployed to support many receivers, then the system can handle more users, but the overall system cost increases
Solution Approach 1:
The system uses a single transcoder process that operates on demand rather than maintaining numerous transcoder instances. When a user device requests a specific coding rate, the system uses the pre-encoded versions stored in memory buffers, allowing the same transcoder to serve multiple users without requiring proportional increases in transcoder resources, thereby reducing overall system cost while maintaining high user capacity
Data Source
AI summary
The invention features a computer-implemented method for playing back an announcement message to a user device. The method includes initiating, by a computing device, an announcement session in response to a user device establishing communication with the computing device and determining, by the computing device, the announcement message to be played back to the user device. The method includes loading, by the computing device, into a queue associated with the announcement session, a descriptor referencing a memory buffer on the computing device. The memory buffer includes a plurality of memory partitions, each memory partition storing at least one portion of the announcement message encoded at a different rate. The method includes the computing device scheduling play back of the announcement message, playing the announcement message to the user device at a first rate and receiving a request from the user device for playback at a second rate.


