IP Library Granted Patent US 10,362,084
Granted Patent B2
US 10,362,084 · App. 16/016,992 · Granted Jul 23, 2019

System and method for optimizing a communication session between multiple terminals involving transcoding operations

Inventor: Stephane Coulombe (Brossard, CA)
H04L65/607H04L43/0876H04L65/4061H04L67/142H04L2012/5616
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 10,362,084
App. No.
16/016,992
Granted
Jul 23, 2019
Kind
B2
Abstract

System and method for optimizing a transcoding session between multiple terminals are disclosed. The method determines properties of the transcoding session, including a number of terminals participating in the transcoding session, media characteristics supported by each terminal, a measure of performance of the transcoding session to be optimized, and optionally a proportion of time involved in the transcoding session for each terminal. Then a cost function characterizing the measure of performance of the transcoding session and depending on the above properties of the transcoding session is built, followed by optimizing the cost function with respect to said measure of performance to determine an optimal measure of performance for the transcoding session and optimal values for the media characteristics for each terminal. In one embodiment, codecs used by multiple terminals and computational complexity of the transcoding session are optimized. A corresponding system for optimizing the transcoding session is also provided.

Claims (73)

1. A method for optimizing a transcoding session between two or more terminals, the transcoding session being for transcoding from a source codec to a plurality of destination codecs, the method comprising:

using at least one hardware processor for:

(a) determining properties of the transcoding session, comprising:

a number of terminals participating in the transcoding session;

one or more media characteristics supported by each terminal including a current set of source and destination codecs; and

a measure of performance of the transcoding session to be optimized;

(b) building a cost function for the measure of performance of the transcoding session and depending on said properties of the transcoding session;

(c) optimizing the cost function with respect to said measure of performance to determine an optimal set of source and destination codecs for the transcoding session based on the media characteristics for each respective terminal; and

(d) setting said optimal set of source and destination codecs for the transcoding session, thereby optimizing the transcoding session between the two or more terminals.

2. The method of claim 1 , further comprising providing transcoding resources to the transcoding session based on said optimal set of source and destination codecs.

3. The method of claim 1 , wherein the optimizing the cost function comprises minimizing or maximizing the cost function with respect to said measure of performance.

4. The method of claim 1 , wherein the building the cost function comprises:

determining a list of codecs supported by the transcoding session;

determining a plurality of sets of codecs wherein each set is a combination of the codecs in the list of codecs that are compatible with each terminal; and

determining a plurality of performance indexes for transcoding operations of transcoding from a source codec to a destination codec.

5. The method of claim 4 , wherein the optimizing the cost function further comprises:

computing a plurality of respective costs for each of the sets of codecs based on the properties of the transcoding session and the performance indexes; and

choosing the optimal set of source and destination codecs from the plurality of sets of codecs for the transcoding session based on a minimum of the computed plurality of respective costs.

6. The method of claim 5 , wherein computing the plurality of respective costs comprises computing a sum of the performance indexes of transcoding from the source codec to the destination codec.

7. The method of claim 1 , wherein the number of terminals participating in the transcoding session is three or more, the method further comprising:

upon terminals leaving or joining the transcoding session:

(i) determining properties of an updated transcoding session;

(ii) building an updated cost function characterizing the measure of performance of the updated transcoding session and depending on said properties of the updated transcoding session; and

(iii) optimizing the updated cost function with respect to said measure of performance to determine an updated optimal set of source and destination codecs for the updated transcoding session.

8. The method of claim 7 , further comprising:

(iv) obtaining the current set of source and destination codecs; and

(v) provided that the optimal set of source and destination codecs has changed from the current set of source and destination codecs:

(aa) updating the transcoding resources based on said updated optimal set of source and destination codecs;

(bb) updating the transcoding session based on said updated transcoding resources and said updated optimal set of source and destination codecs; and

(cc) storing the properties of the updated transcoding session including storing said updated optimal set of source and destination codecs as the current set of source and destination codecs.

9. The method of claim 1 , wherein said measure of performance is one or more of the following:

a computation complexity of the transcoding session;

a bandwidth usage of the transcoding session;

power consumed by a transcoding server used to perform the transcoding session;

a measure of performance of a central processing unit used to perform the transcoding session.

10. The method of claim 1 , wherein the building the cost function comprises building the cost function depending on respective proportions of media stream durations for said one or more terminals during which said one or more terminals send respective media streams to other terminals.

11. A system for optimizing a transcoding session between two or more terminals, the transcoding session being for transcoding from a source codec to a plurality of destination codecs, the system comprising:

a processor; and

a memory device, having computer readable instruction stored thereon for execution by the processor, causing the processor to:

(a) determine properties of the transcoding session, comprising:

a number of terminals participating in the transcoding session;

one or more media characteristics supported by each terminal including a current set of source and destination codecs; and

a measure of performance of the transcoding session to be optimized;

(b) build a cost function for the measure of performance of the transcoding session and depending on said properties of the transcoding session;

(c) optimize the cost function with respect to said measure of performance to determine an optimal set of source and destination codecs for the transcoding session based on the media characteristics for each respective terminal; and

(d) set said optimal set of source and destination codecs for the transcoding session, thereby optimizing the transcoding session between the two or more terminals.

12. The system of claim 11 , wherein the computer readable instructions further cause the processor to provide transcoding resources to the transcoding session based on said optimal set of source and destination codecs.

13. The system of claim 11 , wherein the computer readable instructions further cause the processor to minimize or maximize the cost function with respect to said measure of performance.

14. The system of claim 11 , wherein the computer readable instructions further cause the processor to:

determine a list of codecs supported by the transcoding session;

determine a plurality of sets of codecs wherein each set is a combination of the codecs in the list of codecs that are compatible with each terminal; and

determine a plurality performance indexes for transcoding operations of transcoding from a source codec to a destination codec.

15. The system of claim 14 , wherein the computer readable instructions further cause the processor to:

compute a plurality of respective costs for each of the sets of codecs based on the properties of the transcoding session and the plurality of performance indexes; and

choose the optimal set of source and destination codecs from the plurality of sets of codecs for the transcoding session based on a minimum of the computed plurality of respective costs.

16. The system of claim 15 , wherein the computer readable instructions further cause the processor to compute the plurality of respective costs comprising a sum of the performance indexes of transcoding from the source codec to the destination codec.

17. The system of claim 11 , wherein the number of terminals participating in the transcoding session is three or more and the computer readable instructions further cause the processor to:

upon terminals leaving or joining the transcoding session:

(i) determine updated properties of the transcoding session;

(ii) build an updated cost function characterizing the measure of performance of the transcoding session and depending on said updated properties of the transcoding session; and

(iii) optimize the updated cost function with respect to said measure of performance of the updated transcoding session to determine an updated optimal set of source and destination codecs.

18. The system of claim 17 , wherein the computer readable instructions further cause the processor to:

(iv) obtain the current set of source and destination codecs; and

(v) provided that the optimal set of source and destination codecs has changed from the current set of source and destination codecs:

(aa) update transcoding resources based on said updated optimal set of source and destination codecs;

(bb) update the transcoding session based on said updated transcoding resources and said updated optimal set of source and destination codecs; and

(cc) store the properties of the updated transcoding session including storing said updated optimal set of source and destination codecs as the current set of source and destination codecs.

19. The system of claim 11 , wherein said measure of performance is one or more of the following:

a computation complexity of the transcoding session;

a bandwidth usage of the transcoding session;

power consumed by a transcoding server used to perform the transcoding session;

a measure of performance of a central processing unit used to perform the transcoding session.

20. The system of claim 11 , wherein the cost function depends on respective proportions of media stream durations for said one or more terminals during which said one or more terminals send respective media streams to other terminals.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2021
From: VANTRIX CORPORATION
To: MASIMO CORPORATION
Reel/Frame 057394/0452 →
CHANGE OF COMPANY ADDRESS Recorded Nov 26, 2019
From: VANTRIX CORPORATION
To: VANTRIX CORPORATION
Reel/Frame 051136/0148 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2018
From: COULOMBE, STEPHANE
To: ECOLE DE TECHNOLOGIE SUPERIEURE
Reel/Frame 046191/0130 →
CHANGE OF ADDRESS Recorded Jun 25, 2018
From: VANTRIX CORPORATION
To: VANTRIX CORPORATION
Reel/Frame 046419/0746 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2018
From: ECOLE DE TECHNOLOGIE SUPERIEURE
To: VANTRIX CORPORATION
Reel/Frame 046422/0063 →
Continuity (4)
Continuation 15168174 · May 30, 2016
Continuation 14019409 · Sep 5, 2013
Provisional Application 61711701 · Oct 9, 2012
Related Publication 20180309814A1 · Oct 25, 2018
Cited By (1)
US 12,711,109