System and Method for Transmitting Video and User Interface Elements
First Claim
1. A method for offloading decoding of encoded video data from a computer system executing a video player application playing the encoded video data to a remote display terminal, wherein the video player application is configured to decode the encoded video data and composite a graphical overlay onto the decoded video data and wherein pixels of the graphical overlay comprise alpha transparency values, the method comprising:
- intercepting a video decoding function call from the video player application requesting graphics hardware assistance from the computer system to decode the encoded video data;
providing replacement video data to the video player application rather than a decoded version of the encoded video data in response to the video decoding function call;
receiving composite video data composited by the video player application, wherein the composite video data comprises the provided replacement video data and the graphical overlay;
extracting the graphical overlay from the received composite video data by subtracting the replacement video data from the composite video data; and
transmitting the encoded video data and the extracted graphical overlay to the remote display terminal, wherein the remote display terminal decodes the encoded video data and composites the graphical overlay onto the decoded video data to generate a final composite video data for display.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for offloading decoding of encoded video data from a computer system executing a video player application playing the encoded video data to a remote display terminal still enables the video player application to overlay transparent or semi-transparent graphical elements, such elements, such as user interface controls, onto the video, despite not having access to decoded video data. A video decoding function call from the video player application is intercepted and replacement video data is provided to the video player application rather than a decoded version of the encoded video data. The video player application is thereby able to overlay graphical elements onto the replacement video data to create composite video from which the graphical elements are then able to be subsequently extracted and transmitted with the encoded video data to remote display terminal, which decodes the video data and overlays the graphical elements for display.
93 Citations
20 Claims
-
1. A method for offloading decoding of encoded video data from a computer system executing a video player application playing the encoded video data to a remote display terminal, wherein the video player application is configured to decode the encoded video data and composite a graphical overlay onto the decoded video data and wherein pixels of the graphical overlay comprise alpha transparency values, the method comprising:
-
intercepting a video decoding function call from the video player application requesting graphics hardware assistance from the computer system to decode the encoded video data; providing replacement video data to the video player application rather than a decoded version of the encoded video data in response to the video decoding function call; receiving composite video data composited by the video player application, wherein the composite video data comprises the provided replacement video data and the graphical overlay; extracting the graphical overlay from the received composite video data by subtracting the replacement video data from the composite video data; and transmitting the encoded video data and the extracted graphical overlay to the remote display terminal, wherein the remote display terminal decodes the encoded video data and composites the graphical overlay onto the decoded video data to generate a final composite video data for display. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer system configured to offload decoding of encoded video data from a video player application on the computer system playing the encoded video data to a remote display terminal, wherein the video player application is configured to decode the encoded video data and composite a graphical overlay onto the decoded video data and wherein pixels of the graphical overlay comprise alpha transparency values, the computer system comprising a processor configured to perform the steps of:
-
intercepting a video decoding function call from the video player application requesting graphics hardware assistance from the computer system to decode the encoded video data; providing replacement video data to the video player application rather than a decoded version of the encoded video data in response to the video decoding function call; receiving composite video data composited by the video player application, wherein the composite video data comprises the provided replacement video data and the graphical overlay; extracting the graphical overlay from the received composite video data by subtracting the replacement video data from the composite video data; and transmitting the encoded video data and the extracted graphical overlay to the remote display terminal, wherein the remote display terminal decodes the encoded video data and composites the graphical overlay onto the decoded video data to generate a final composite video data for display. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable storage medium including instructions that, when executed by a processor of a computer system offloads decoding of encoded video data from a video player application in the computer system playing the encoded video data to a remote display terminal, wherein the video player application is configured to decode the encoded video data and composite a graphical overlay onto the decoded video data and wherein pixels of the graphical overlay comprise alpha transparency values, by performing the steps of:
-
intercepting a video decoding function call from the video player application requesting graphics hardware assistance from the computer system to decode the encoded video data; providing replacement video data to the video player application rather than a decoded version of the encoded video data in response to the video decoding function call; receiving composite video data composited by the video player application, wherein the composite video data comprises the provided replacement video data and the graphical overlay; extracting the graphical overlay from the received composite video data by subtracting the replacement video data from the composite video data; and transmitting the encoded video data and the extracted graphical overlay to the remote display terminal, wherein the remote display terminal decodes the encoded video data and composites the graphical overlay onto the decoded video data to generate a final composite video data for display. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification