IP Library Granted Patent US 12,250,340
Granted Patent B2
US 12,250,340 · App. 17/637,354 · Granted Mar 11, 2025

Systems and methods for improving audio quality using feedback control

Inventors: Michael Kovacevic (Waterloo, CA); Alexandru Gabriel Roman (Waterloo, CA)
Assignee: TEXTNOW, INC.
H04M3/2227H04M7/006
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,250,340
App. No.
17/637,354
Granted
Mar 11, 2025
Kind
B2
Abstract

An example communications system includes: a source device and a destination device; a Voice over Internet Protocol (VoIP) service, the VoIP service configured to support a voice call between the source device and the destination device over at least one of a wide-area IP network and a public-switched telephone network; wherein, for at least one leg in the voice call: an encoding device is configured to encode an analog audio stream to a digital audio stream according to one or more input parameters, the input parameters including variable input parameters; a receiving device is configured to send a quality indicator to the encoding device, the quality indicator representing the quality of the digital audio stream received at the receiving device; and the encoding device is configured to, at a feedback controller, determine updated variable input parameters for encoding a subsequent analog audio stream.

Claims (54)

1. A communications system comprising:

a source device and a destination device, each coupled to one or more of a wide-area internet protocol (IP) network, a public-switched telephone network;

a Voice over Internet Protocol (VoIP) service coupled to the wide-area IP network and the public-switched telephone network, the VoIP service configured to support a voice call between the source device and the destination device;

wherein, for at least one leg in the voice call:

an encoding device is configured to encode an analog audio stream to a digital audio stream according to one or more input parameters, the input parameters including variable input parameters;

a receiving device is configured to send a quality indicator to the encoding device, the quality indicator representing a quality of the digital audio stream received at the receiving device, wherein the receiving device is separate from the communication device; and

the encoding device is configured to, at a feedback controller, determine updated variable input parameters for encoding a subsequent analog audio stream.

2. The communications system of claim 1 , wherein the feedback controller comprises a proportional-integral-derivative controller configured to employ a proportional-integral-derivative control loop to determine the updated variable input parameters.

3. The communications system of claim 1 , wherein the feedback controller comprises, for each variable input parameter, a respective proportional-integral-derivative controller configured to employ a proportional-integral-derivative control loop to determine the updated variable input parameter.

4. The communications system of claim 1 , wherein the one leg is defined by the source device acting as the encoding device, and the VoIP service acting as the receiving device.

5. The communications system of claim 4 , wherein the VoIP service is further configured to transcode the digital audio stream for a second leg defined by the VoIP service acting as the encoding device and the destination device acting as the receiving device.

6. The communications system of claim 1 , wherein the one leg is defined by the VoIP service acting as the encoding device and the destination device acting as the receiving device.

7. The communications system of claim 1 , wherein the quality indicator includes one or more of: packet loss, latency, jitter, and a computed mean opinion score.

8. The communications system of claim 1 , wherein the variable input parameters include one or more of: bandwidth, bitrate, jitter buffer size, forward error correction, and packet loss concealment.

9. The communications system of claim 1 , wherein the encoding device is further configured to:

determine a network type for transmission of the digital audio stream; and

determine the updated variable input parameters further in consideration of the network type.

10. A communications device comprising:

an encoder configured to encode an analog audio stream to a digital audio stream according to one or more input parameters, the input parameters including variable input parameters;

a communications interface configured to send the digital audio stream to a receiving device, wherein the receiving device is separate from the communication device; and

a feedback controller configured to:

receive a quality indicator representing a quality of the digital audio stream received at the receiving device;

determine, based on the quality indicator, updated variable input parameters; and

provide the updated variable input parameters to the encoder.

11. The communications device of claim 10 , wherein the feedback controller comprises a proportional integral derivative controller.

12. The communications device of claim 10 , wherein the feedback controller comprises, for each variable input parameter, a respective proportional integral derivative controller.

13. The communications device of claim 10 , further comprising an audio receiver configured to receive the analog audio stream.

14. The communications device of claim 10 , wherein the communications interface is configured to receive an incoming digital audio stream; and

wherein the communications device further comprises a decoder configured to decode the incoming digital audio stream to generate the analog audio stream.

15. The communications device of claim 10 , wherein the feedback controller is further configured to:

receive a network indicator representing a network type for transmission of the digital audio stream; and

determine the updated variable input parameters further in consideration of the network indicator.

16. A method in a communications system, the method comprising:

encoding, at an encoding device, an analog audio stream to a digital audio stream according to one or more input parameters, the input parameters including initial variable input parameters;

sending the digital audio stream to a receiving device, wherein the receiving device is separate from the communication device;

receiving, at the encoding device, a quality indicator representing a quality of the digital audio stream received at the receiving device;

determining, based on the quality indicator, updated variable input parameters; and

providing the updated variable input parameters for encoding a subsequent analog audio stream.

17. The method of claim 16 , further comprising encoding, at the encoding device, the subsequent analog audio stream according to the updated variable input parameters.

18. The method of claim 16 , wherein determining the updated variable input parameters comprises:

obtaining a computed mean opinion score for the digital audio stream;

determining an error term based on the computed mean opinion score; and

computing each respective updated variable input parameter based on the error term.

19. The method of claim 18 , wherein computing each respective updated variable input parameter comprises:

computing a proportional term, an integral term, and a derivative term; and

summing the proportional term, the integral term, and the derivative term to compute the respective updated variable input parameter.

20. The method of claim 16 , further comprising:

detecting a network type;

retrieving coefficients corresponding to the network type; and

computing the initial variable input parameters based on the coefficients corresponding to the network type.

21. The method of claim 20 , further comprising:

detecting an updated network type;

retrieving further coefficients corresponding to the updated network type; and

computing the updated variable input parameters further based on the further coefficients corresponding to the updated network type.

Assignments (2)
SECURITY INTEREST Recorded Aug 29, 2025
From: TEXTNOW, INC.
To: JPMORGAN CHASE BANK, N.A., TORONTO BRANCH
Reel/Frame 072749/0610 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2022
From: KOVACEVIC, MICHAEL; ROMAN, ALEXANDRU GABRIEL
To: TEXTNOW, INC.
Reel/Frame 059628/0700 →
Continuity (2)
Provisional Application 62890768 · Aug 23, 2019
Related Publication 20220294898A1 · Sep 15, 2022
References Cited (8)
US 11937065B2 · Munoz · 2024 [cited by examiner]
US 20130091526A1 · Iyer · 2013 [cited by examiner]
US 20160110755A1 · Smirnov · 2016 [cited by examiner]
US 20170132199A1 · Vescovi et al. · 2017 [cited by applicant]
US 20200075032A1 · Joseph · 2020 [cited by examiner]
FR 2903836A1 · 2008 [cited by examiner]
Machine translated version of FR 2903836 (Year: 2008). [cited by examiner]
ScienceDirect, Digital Signal Processor, Signals and Systems using MATLAB (Third Edition), retrieved May 30, 2024 (Year: 2019). [cited by examiner]