Pre-encoded Announcement Playback Eliminates Real-time Transcoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveadaptation to varying network conditionsVSAvoidnumber of transcoders required
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvesupport for multiple coding ratesVSAvoidcomputational cost
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

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

Inventive Principle:
Principle #26Copying

3Productivity

If numerous transcoders are deployed to support many receivers, then the system can handle more users, but the overall system cost increases

Engineering Contradiction:
Improvenumber of supported receiversVSAvoidsystem cost
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9398162B1Systems and methods for playing recorded announcements
Publication Date: 2016.07.19 RIBBON COMMUNICATIONS OPERATING CO INC
  • US9398162B1 patent drawing
  • US9398162B1 patent drawing
  • US9398162B1 patent drawing

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.