IP Library Granted Patent US 10,009,402
Granted Patent B2
US 10,009,402 · App. 15/168,174 · Granted Jun 26, 2018

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

Inventor: Stéphane Coulombe (Brossard, CA)
Assignee: VANTRIX CORPORATION
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,009,402
App. No.
15/168,174
Granted
Jun 26, 2018
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 (77)

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 characterizing 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) establishing transcoding resources for the transcoding session based on said optimal set of source and destination codecs, thereby optimizing the transcoding session between the two or more terminals.

2. The method of claim 1 , further comprising:

(e) initiating the transcoding session based on said established transcoding resources and said optimal set of source and destination codecs; and

(f) storing the properties of the transcoding session in a session data repository stored in a memory device, including storing said optimal set of source and destination codecs as the current 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) retrieving a current set of source and destination codecs from a session data repository; and

(iv) 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 in the session data repository 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 characterizing 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) establish transcoding resources for the transcoding session based on said optimal set of source and destination codecs, 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:

(e) initiate the transcoding session based on said established transcoding resources and said optimal set of source and destination codecs; and

(f) store the properties of the transcoding session in a session data repository stored in the memory device including storing said optimal set of source and destination codecs as the current 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 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.

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) retrieve a current set of source and destination codecs from the session data repository; and

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

(aa) update the 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 in a session data repository 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 16 , 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.

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 →
CHANGE OF ADDRESS Recorded Mar 1, 2017
From: VANTRIX CORPORATION
To: VANTRIX CORPORATION
Reel/Frame 041845/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2016
From: COULOMBE, STEPHANE
To: ECOLE DE TECHNOLOGIE SUPERIEURE
Reel/Frame 038744/0214 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2016
From: ECOLE DE TECHNOLOGIE SUPERIEURE
To: VANTRIX CORPORATION
Reel/Frame 038847/0240 →
Continuity (2)
Provisional Application 61711701 · Oct 9, 2012
Related Publication 20160277471A1 · Sep 22, 2016