IP Library Granted Patent US 10,115,174
Granted Patent B2
US 10,115,174 · App. 14/034,923 · Granted Oct 30, 2018

System and method for forwarding an application user interface

Inventors: Danny Thomas Dodge (Ottawa, CA); Etienne Belanger (Kanata, CA); Jason Robert Mawdsley (Ottawa, CA)
Assignee: 2236008 Ontario Inc.
G06T1/20G06F9/4445G06F9/452G06F9/4856
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,115,174
App. No.
14/034,923
Granted
Oct 30, 2018
Kind
B2
Abstract

A system and method for forwarding an application user interface from a first computing platform to a second computing platform. The application user interface is generated using source content. The application user interface is encoded into two or more encoded content streams where the two or more encoded content streams contain source content representable as the application user interface and composition metadata associated with the application user interface. The two or more encoded content stream are sent to the second computing platform. The two or more encoded content streams may be received at the second computing platform where the two or more encoded content streams contain information decodable and reproducible as the application user interface.

Claims (43)

1. A method for forwarding application user interfaces, the method comprising:

generating a first source content that represents a first application user interface on a first computing platform;

generating a second source content that represents a second application user interface on the first computing platform;

encoding the first application user interface and the second application user interface independently into two or more encoded content streams on the first computing platform where the two or more encoded content streams contain composition metadata and information reproducible as a composite application user interface where the composition metadata includes information for compositing graphics content from the two or more encoded content streams for concurrent representation in a display; and

sending the two or more encoded content streams from the first computing platform to a second computing platform on which the two or more encoded content streams are decodable into two or more decoded independent content streams from which the composite application user interface is compositable based on the composition metadata, the two or more encoded content streams comprising commands based on a graphics API for rendering graphical images accelerated by a GPU (Graphics Processing Unit), where the composite application user interface enables a user to send a command to the first computing platform through an input received on the second computing platform, where the second computing platform includes the GPU capable of rendering the composite application user interface including the graphics content based on the commands and the composition metadata from the two or more encoded content streams to the user.

2. The method of claim 1 , where the composition metadata controls rendered appearance and placement of the first application user interface rendered on the second computing platform.

3. The method of claim 1 , where encoding the first application user interface and the second application user interface into the two or more encoded content streams includes encoding transport metadata and encoding content of the first application user interface or the second application user interface.

4. The method of claim 3 , where the transport metadata includes any one or more of: initialization instructions, synchronization information, timing information, error correction codes and retransmission requests.

5. The method of claim 3 , where the encoding comprises applying data compression to content of the first application user interface.

6. The method of claim 1 , further comprising generating the first application user interface on the first computing platform by rendering graphics, or processing video and processing the composition metadata.

7. The method of claim 1 , further comprising:

rendering a local application user interface on the first computing platform;

rendering the first application user interface; and

compositing the rendered local application user interface and the rendered first application user interface on the first computing platform.

8. The method of claim 1 ,

where the second application user interface determines how the second computing platform combines the first application user interface and the second application user interface into a single image to render an appearance that the first application user interface and the second application user interface are part of a same scene.

9. A system for forwarding application user interfaces, the system comprising:

a first hardware generator configured to generate a first source content on a first computing platform usable to render a first application user interface;

a second hardware generator configured to generate a second source content on the first computing platform usable to render a second application user interface;

a first hardware encoder and a second hardware encoder configured to encode the first application user interface and the second application user interface respectively into two or more encoded content streams on the first computing platform where the two or more encoded content streams contain composition metadata and information reproducible as a composite application user interface, where the composition metadata includes information for compositing graphics content from the two or more encoded content streams into the composite application user interface; and

a transmitter configured to send the two or more encoded content streams from the first computing platform to a second computing platform in response to user input with the first computing platform, where the two or more encoded content streams are decodable into two or more decoded independent content streams on the second computing platform, and the composite application user interface is compositable from the two or more decoded independent content streams based on the composition metadata, the two or more encoded content streams comprising commands based on a graphics API for rendering graphical images accelerated by a GPU (Graphics Processing Unit),

where the application user interface comprises a program with which a user interacts, and

where the second computing platform includes the GPU capable of rendering the composite application user interface including the graphics content based on the commands and the composition metadata from the two or more encoded content streams to the user.

10. The system of claim 9 , where the composition metadata controls placement and view of the first application user interface and specifies a viewport of the first application user interface.

11. The system of claim 9 , where the composition metadata includes data controlling display of the first application user interface and a volume level of audio content.

12. The system of claim 9 , where encoding the first application user interface and the second application user interface into the two or more encoded content streams includes encoding transport metadata and encoding content of the first application user interface.

13. The system of claim 12 , where the transport metadata includes any one or more of: initialization instructions, synchronization information, timing information, error correction codes and retransmission requests.

14. The system of claim 12 , where the first hardware encoder is further configured to apply data compression to content of the first application user interface.

15. The system of claim 9 , where the first application user interface is generatable by rendering graphics, processing video, processing audio, or synchronizing the two or more encoded content streams for the second computing platform and processing the composition metadata.

16. The system of claim 9 , further comprising:

a renderer configured to render a local application user interface;

a renderer configured to render the first application user interface; and

a compositor configured to composite the rendered local application user interface and the rendered first application user interface.

17. The system of claim 9 ,

where the transmitter includes a first transmitter and a second transmitter to send respective streams of the two or more encoded content streams to the second computing platform;

where the second application user interface determines how the second computing platform combines the first application user interface and the second application user interface into a single image to render an appearance that the first application user interface and the second application user interface are part of one scene.

18. A non-transitory computer readable medium comprising:

computer instructions that are executable to generate a first source content that represents a first application user interface on a first computing platform;

computer instructions that are executable to generate a second source content that represents a second application user interface on the first computing platform;

computer instructions that are executable to encode the first application user interface and the second application user interface independently into two or more encoded content streams on the first computing platform where the two or more encoded content streams contain composition metadata and information reproducible as a composite application user interface, where the composition metadata includes information for compositing graphics content from the two or more encoded content streams into the composite application user interface; and

computer instructions that are executable to cause transmission of the two or more encoded content streams from the first computing platform to a second computing platform where the two or more encoded content streams are decodable into two or more decoded independent content streams on the second computing platform, and the composite application user interface is compositable from the two or more decoded independent content streams based on the composition metadata, the two or more encoded content streams comprising commands based on a graphics API for rendering graphical images accelerated by a GPU (Graphics Processing Unit)

where the composite application user interface enables a user to send a command to the first computing platform through an input received on the second computing platform, and

where the second computing platform includes the GPU capable of rendering the composite application user interface including the graphics content based on the commands and the composition metadata from the two or more encoded content streams to the user.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2020
From: 2236008 ONTARIO INC.
To: BLACKBERRY LIMITED
Reel/Frame 053313/0315 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2014
From: DODGE, DANNY THOMAS; BELANGER, ETIENNE; MAWDSLEY, JASON ROBERT
To: QNX SOFTWARE SYSTEMS LIMITED
Reel/Frame 033740/0833 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2014
From: 8758271 CANADA INC.
To: 2236008 ONTARIO INC.
Reel/Frame 032607/0674 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2014
From: QNX SOFTWARE SYSTEMS LIMITED
To: 8758271 CANADA INC.
Reel/Frame 032607/0943 →
Continuity (1)
Related Publication 20150084971A1 · Mar 26, 2015