IP Library Granted Patent US 9,585,062
Granted Patent B2
US 9,585,062 · App. 13/439,352 · Granted Feb 28, 2017

System and method for implementation of dynamic encoding rates for mobile devices

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 9,585,062
App. No.
13/439,352
Granted
Feb 28, 2017
Kind
B2
Abstract

There is disclosed a system and method for transmission of data signals from a mobile device to a network. In an embodiment, the method comprises encoding video data at a first encoding rate into a plurality of video frames using a first encoding module; encoding video data at a second encoding rate into a plurality of video frames using a second encoding module; detecting a change in the availability of wireless bandwidth in the network; and switching a selector to retrieve frames from either the first encoding module or the second encoding module for transmission in dependence upon the available wireless bandwidth. The encoding rate of whichever one of the first encoding module and the second encoding module is currently not selected is successively increased or decreased, and a selector is switched to retrieve frames from either the first encoding module or the second encoding module.

Claims (147)

1. A method of transmission of data signals from a mobile device to a network comprising:

encoding video data at a first encoding rate into a plurality of video frames using a first encoder;

concurrently with the encoding using the first encoder, encoding the video data at a second encoding rate into a plurality of video frames using a second encoder;

retrieving frames encoded by the first encoder;

delivering the retrieved frames encoded by the first encoder for transmission over a network interface;

detecting an availability of wireless bandwidth in the network;

switching to retrieve frames encoded by the second encoder in response to the availability of wireless bandwidth in the network; and

delivering the retrieved frames encoded by the second encoder over the same network interface.

2. The method of claim 1 , further comprising:

alternating, at successively increasing or decreasing encoding rates in a stair-step manner until a failure is detected in a channel feedback from the network, between retrieving of frames encoded by the first encoder and retrieving frames encoded by the second encoder wherein the alternating includes:

upon switching to retrieve frames encoded by the second encoder:

detecting for the failure in the channel feedback from the network, wherein when no failure is detected:

shutting down the encoding by the first encoder;

re-initiating encoding of the video data by the first encoder, at an increased or decreased encoding rate compared to the current encoding rate of the second encoder, into a plurality of video frames; and

switching to retrieve frames encoded by the first encoder.

3. The method of claim 1 , further comprising transmitting the delivered frames encoded by either the first encoder or the second encoder utilizing a transmitter wirelessly connected to the network.

4. The method of claim 1 , wherein the availability of wireless bandwidth in the network is detected via a transmitter.

5. The method of claim 1 , wherein the switching to retrieve frames encoded by the second encoder comprises:

applying timestamps to the video data, whereby the timestamps are applied to the plurality of video frames encoded by the first encoder and to the plurality of video frames encoded by the second encoder;

retrieving frames encoded by the first and second encoders;

comparing the timestamps of the frames retrieved from the first encoder and the timestamps of the frames retrieved from the second encoder to establish a transition frame;

delivering the frames retrieved from the first encoder until the transition frame is reached; and

delivering the frames retrieved from the second encoder starting at the transition frame, such that there is a seamless transition between the delivery of the frames encoded by the first encoder and the delivery of the frames encoded by the second encoder without dropping a frame.

6. A system for transmission of data signals from a mobile device to a network comprising:

a first encoder for encoding video data at a first encoding rate into a plurality of video frames;

a second encoder for encoding, concurrently with the first encoder, the video data at a second encoding rate into a plurality of video frames;

a controller configured to:

retrieve frames encoded by the first encoder;

deliver the retrieved frames encoded by the first encoder for transmission over a network interface;

detect an availability of wireless bandwidth in the network;

switch a selector to retrieve frames encoded by the second encoder in response to the availability of wireless bandwidth in the network; and

deliver the retrieved frames encoded by the second encoder for transmission over the same network interface.

7. The system of claim 6 , wherein the first encoder and the second encoder are configured encoding at a plurality of encoding rates; and

the controller is configured to:

detect for a failure in a channel feedback from the network;

alternate the selector to retrieve frames, at successively increasing or decreasing encoding rates in a stair-step manner until the failure is detected, between the frames encoded by the first encoder and the frames encoded by the second encoder for transmission in response to the availability of wireless bandwidth in the network, wherein the alternating comprises:

upon switching the selector to retrieve frames encoded by the second encoder and when no failure is detected:

shutting down the encoding by the first encoder;

re-initiating encoding of the video data by the first encoder, at an increased or decreased encoding rate compared to the current encoding rate of the second encoder, into a plurality of video frames; and

switching the selector to retrieve frames encoded by the first encoder.

8. The system of claim 6 , further comprising a transmitter for transmitting the frames encoded by either the first encoder or the second encoder, the transmitter wirelessly connected to the network.

9. The system of claim 8 , wherein the transmitter is adapted to detect the availability of wireless bandwidth in the network.

10. The system of claim 6 , wherein the controller is configured to:

apply timestamps to the video data, whereby the timestamps are applied to the plurality of video frames encoded by the first encoder and to the plurality of video frames encoded by the second encoder; and

switch the selector to:

retrieve frames encoded by

the first and second encoders;

compare the timestamps of the retrieved frames encoded by the first encoder and the retrieved frames encoded by the second encoder to establish a transition frame;

deliver the frames retrieved from the first encoder until the transition frame is reached; and

deliver the frames retrieved from the second encoder starting at the transition frame, such that there a seamless transition between is a seamless transition between the delivery of the frames encoded by the first encoder and the delivery of the frames encoded by the second encoder without dropping a frame.

11. A computer readable medium storing computer code that when executed on a mobile device configures the device to perform a method of transmission of data signals from the mobile device to a network, the computer readable medium comprising:

code for encoding video data at a first encoding rate into a plurality of video frames using a first encoder;

code for concurrently with the encoding using the first encoder, encoding the video data at a second encoding rate into a plurality of video frames using a second encoder;

code for retrieving frames encoded by the first encoder;

code for delivering the retrieved frames encoded by the first encoder for transmission over a network interface;

code for detecting an availability of wireless bandwidth in the network;

code for switching to retrieve frames encoder the second encoder in response to the availability of wireless bandwidth in the network; and

code for delivering the retrieved frames encoded by the second encoder over the same network interface.

12. The computer readable medium of claim 11 , further comprising:

code for detecting a failure in a channel feedback from the network;

code for alternating, at successively increasing or decreasing encoding rates in a stair-step manner until the failure is detected in the channel feedback from the network, between retrieving of frames encoded by the first encoder and retrieving frames encoded by the second encoder, wherein the alternating includes:

upon switching to retrieve frames encoded by the second encoder and when no failure is detected:

shutting down the encoding by the first encoder;

re-initiating encoding of the video data by the first encoder, at an increased or decreased encoding rate compared to the current encoding rate of the second encoder, into a plurality of video frames; and

switching to retrieve frames encoded by the first encoder.

13. The computer readable medium of claim 11 , further comprising code for transmitting the delivered frames encoded utilizing a transmitter wirelessly connected to the network.

14. The computer readable medium of claim 11 , further comprising code for detecting the availability of wireless bandwidth in the network via a transmitter.

15. A method of transmission of data signals from a mobile device to a network comprising:

applying a first transmission session parameter value so as to define a first set of video frames using a first encoder;

applying a second transmission parameter value so as to define a concurrent second set of video frames using a second encoder;

detecting an availability of wireless bandwidth in the network; and

switching a selector to selectively retrieve frames encoded by either the first encoder or the second encoder for transmission in response to the available wireless bandwidth.

16. The method of claim 15 , wherein the transmission parameter value consists of frame rate, resolution and/or aspect ratio.

17. The method of claim 2 , further comprising:

upon switching to retrieve frames encoded by the first encoder:

detecting for the failure in the channel feedback from the network, wherein when no failure is detected:

shutting down the encoding by the second encoder;

re-initiating encoding of the video data by the second encoder, at an increased or decreased encoding rate compared to the current encoding rate of the first encoder, into a plurality of video frames; and

switching to retrieve frames encoded by the second encoder.

18. The method of claim 2 , wherein prior to the start of encoding, an approximate stable bandwidth for the connection is unknown; and the method further comprises:

determining the approximate stable bandwidth for the connection based at least on when the failure arising from the alternation of the encoding rates in the stair-step manner is detected.

19. The system of claim 6 , wherein the first encoder and the second encoder are configured encoding at a plurality of encoding rates; and

the controller is configured to:

detect for a failure in a channel feedback from the network;

alternate the selector to retrieve frames, at successively decreasing encoding rates in a stair-step manner until no failure is detected, between the frames encoded by the first encoder and the frames encoded by the second encoder for transmission in response to the availability of wireless bandwidth in the network, wherein the alternating comprises:

upon switching the selector to retrieve frames encoded by the second encoder and when the failure is detected:

shutting down the encoding by the first encoder;

re-initiating encoding of the video data by the first encoder, at a decreased encoding rate compared to the current encoding rate of the second encoder, into a plurality of video frames; and

switching the selector to retrieve frames encoded by the first encoder; and

upon switching to retrieve frames encoded by the first encoder and when the failure is detected:

shutting down the encoding by the second encoder;

re-initiating encoding of the video data by the second encoder, at a decreased encoding rate compared to the current encoding rate of the first encoder, into a plurality of video frames; and

switching to retrieve frames encoded by the second encoder.

20. The system of claim 6 , wherein the first encoder and the second encoder are configured encoding at a plurality of encoding rates; and

the controller is configured to:

detect for a failure in a channel feedback from the network;

alternate the selector to retrieve frames, at successively increasing or decreasing encoding rates in a stair-step manner until the failure is detected or no failure is detected, between the frames encoded by the first encoder and the frames encoded by the second encoder for transmission in response to the availability of wireless bandwidth in the network, wherein the alternating comprises:

upon switching the selector to retrieve frames encoded by the second encoder,

when no failure is detected:

shutting down the encoding by the first encoder;

re-initiating encoding of the video data by the first encoder, at an increased encoding rate compared to the current encoding rate of the second encoder, into a plurality of video frames; and

switching the selector to retrieve frames encoded by the first encoder; and

when the failure is detected:

shutting down the encoding by the first encoder;

re-initiating encoding of the video data by the first encoder, at a decreased encoding rate compared to the current encoding rate of the second encoder, into a plurality of video frames; and

switching the selector to retrieve frames encoded by the first encoder; and

upon switching to retrieve frames encoded by the first encoder,

when no failure is detected:

shutting down the encoding by the second encoder;

re-initiating encoding of the video data by the second encoder, at an increased encoding rate compared to the current encoding rate of the first encoder, into a plurality of video frames; and

switching to retrieve frames encoded by the second encoder; and

when the failure is detected:

shutting down the encoding by the second encoder;

re-initiating encoding of the video data by the second encoder, at a decreased encoding rate compared to the current encoding rate of the first encoder, into a plurality of video frames; and

switching to retrieve frames encoded by the second encoder.

21. The computer readable medium of claim 11 , further comprising:

code for detecting a failure is detected in a channel feedback from the network

code for alternating, at successively decreasing encoding rates in a stair-step manner until no failure is detected, between retrieving of frames encoded by the first encoder and retrieving frames encoded by the second encoder, wherein the alternating includes:

upon switching to retrieve frames encoded by the second encoder and when the failure is detected:

shutting down the encoding by the first encoder;

re-initiating encoding of the video data by the first encoder, at an decreased encoding rate compared to the current encoding rate of the second encoder, into a plurality of video frames; and

switching to retrieve frames encoded by the first encoder; and

upon switching to retrieve frames encoded by the first encoder and when the failure is detected:

shutting down the encoding by the second encoder;

re-initiating encoding of the video data by the second encoder, at an decreased encoding rate compared to the current encoding rate of the first encoder, into a plurality of video frames; and

switching to retrieve frames encoded by the second encoder.

22. The computer readable medium of claim 11 , further comprising:

code for detecting a failure in a channel feedback from the network; and

code for alternating, at successively increasing or decreasing encoding rates in a stair-step manner until a failure is detected or no failure is detected in the channel feedback from the network, between retrieving of frames encoded by the first encoder and retrieving frames encoded by the second encoder, wherein the alternating includes:

upon switching to retrieve frames encoded by the second encoder:

when no failure is detected:

shutting down the encoding by the first encoder;

re-initiating encoding of the video data by the first encoder, at an increased encoding rate compared to the current encoding rate of the second encoder, into a plurality of video frames; and

switching to retrieve frames encoded by the first encoder; and

when the failure is detected:

shutting down the encoding by the first encoder;

re-initiating encoding of the video data by the first encoder, at an decreased encoding rate compared to the current encoding rate of the second encoder, into a plurality of video frames; and

switching to retrieve frames encoded by the first encoder; and

upon switching to retrieve frames encoded by the first encoder:

when no failure is detected:

shutting down the encoding by the second encoder;

re-initiating encoding of the video data by the second encoder, at an increased encoding rate compared to the current encoding rate of the first encoder, into a plurality of video frames; and

switching to retrieve frames encoded by the second encoder; and

when the failure is detected:

shutting down the encoding by the second encoder;

re-initiating encoding of the video data by the second encoder, at an decreased encoding rate compared to the current encoding rate of the first encoder, into a plurality of video frames; and

switching to retrieve frames encoded by the second encoder.

Assignments (13)
SECURITY INTEREST Recorded Jan 6, 2026
From: DEJERO LABS INC.
To: MULTIPLIER GROWTH PARTNERS, LP, AS ADMINISTRATIVE AGENT
Reel/Frame 074213/0282 →
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2025
From: RUNWAY GROWTH FINANCE CORP.
To: DEJERO LABS INC.
Reel/Frame 072980/0220 →
SECURITY INTEREST Recorded Jan 11, 2022
From: DEJERO LABS INC.
To: RUNWAY GROWTH FINANCE CORP.
Reel/Frame 058613/0966 →
RELEASE OF SECURITY INTEREST Recorded Jan 26, 2021
From: RUNWAY GROWTH CREDIT FUND INC.
To: DEJERO LABS INC.
Reel/Frame 055026/0539 →
SECURITY INTEREST Recorded Jan 4, 2021
From: DEJERO LABS INC.
To: COMERICA BANK
Reel/Frame 054802/0177 →
RELEASE OF SECURITY INTEREST Recorded Dec 24, 2020
From: CANADIAN IMPERIAL BANK OF COMMERCE
To: DEJERO LABS INC.
Reel/Frame 054846/0796 →
RELEASE OF SECURITY INTEREST Recorded Jun 14, 2019
From: DEJERO LABS INC.
To: RUNWAY GROWTH CREDIT FUND INC.
Reel/Frame 049475/0967 →
SECURITY INTEREST Recorded Jun 11, 2019
From: DEJERO LABS INC.
To: RUNWAY GROWTH CREDIT FUND INC.
Reel/Frame 049428/0137 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTERESTS Recorded Jan 9, 2018
From: WF FUND V LIMITED PARTNERSHIP, C/O/B/ AS WELLINGTON FINANCIAL LP AND WELLINGTON FINANCIAL FUND V
To: CANADIAN IMPERIAL BANK OF COMMERCE
Reel/Frame 045028/0880 →
SECURITY INTEREST Recorded Jun 13, 2017
From: DEJERO LABS INC.
To: WF FUND V LIMITED PARTNERSHIP, C/O/B AS WELLINGTON FINANCIAL LP AND WELLINGTON FINANCIAL FUND V
Reel/Frame 042687/0003 →
RELEASE OF SECURITY INTEREST Recorded Jun 13, 2017
From: SILICON VALLEY BANK
To: DEJERO LABS INC.
Reel/Frame 042776/0259 →
RELEASE OF SECURITY INTEREST Recorded Feb 3, 2017
From: WESTERN ONTARIO COMMUNITY FUTURES DEVELOPMENT CORPORATION
To: DEJERO LABS INC.
Reel/Frame 041172/0004 →
SECURITY INTEREST Recorded Aug 15, 2014
From: DEJERO LABS INC.; DEJERO INC.
To: WESTERN ONTARIO COMMUNITY FUTURES DEVELOPMENT CORPORATION
Reel/Frame 033549/0535 →