User input back channel for wireless displays
First Claim
1. A method of transmitting user input data from a wireless sink device to a wireless source device, the method comprising:
- receiving, by the wireless sink device from the wireless source device, video data comprising a plurality of frames of video data, wherein each frame of the plurality of frames of video data comprises a respective timestamp;
in response to a user input event, obtaining user input data by the wireless sink device while displaying the plurality of frames of video data, wherein the user input data comprises coordinate data that identifies a location associated with the user input event, wherein the location is a location in a frame of video data being displayed by the wireless sink device when the user input data was obtained;
responsive to obtaining the user input data, generating a data packet header comprising a timestamp field that specifies one of the respective timestamps, the one of the respective timestamps being a timestamp of the frame video data being displayed by the wireless sink device when the user input data was obtained;
responsive to obtaining the user input data and generating the data packet header, generating a data packet comprising the data packet header and payload data, wherein the payload data comprises the coordinate data; and
transmitting the data packet from the wireless sink device to the wireless source device via a user input back channel (UIBC).
2 Assignments
0 Petitions
Accused Products
Abstract
As part of a communication session, a wireless source device can transmit audio and video data to a wireless sink device, and the wireless sink device can transmit user inputs received at the wireless sink device back to the wireless source device. In this manner, a user of the wireless sink device can control the wireless source device and control the content that is being transmitted from the wireless source device to the wireless sink device. As part of transmitting user input to the source device, the sink device can generate a data packet with a data packet header that includes a timestamp flag indicating the presence of a timestamp field, and the source device can process the data packet based on a timestamp in the timestamp field.
350 Citations
64 Claims
-
1. A method of transmitting user input data from a wireless sink device to a wireless source device, the method comprising:
-
receiving, by the wireless sink device from the wireless source device, video data comprising a plurality of frames of video data, wherein each frame of the plurality of frames of video data comprises a respective timestamp; in response to a user input event, obtaining user input data by the wireless sink device while displaying the plurality of frames of video data, wherein the user input data comprises coordinate data that identifies a location associated with the user input event, wherein the location is a location in a frame of video data being displayed by the wireless sink device when the user input data was obtained; responsive to obtaining the user input data, generating a data packet header comprising a timestamp field that specifies one of the respective timestamps, the one of the respective timestamps being a timestamp of the frame video data being displayed by the wireless sink device when the user input data was obtained; responsive to obtaining the user input data and generating the data packet header, generating a data packet comprising the data packet header and payload data, wherein the payload data comprises the coordinate data; and transmitting the data packet from the wireless sink device to the wireless source device via a user input back channel (UIBC). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A wireless sink device configured to transmit user input data to a wireless source device, the wireless sink device comprising:
-
a receiver unit configured to receive video data comprising a plurality of frames of video data, wherein each frame of the plurality of frames of video data comprises a respective timestamp; a memory storing instructions; one or more processors configured to execute the instructions, wherein upon execution of the instructions the one or more processors cause the wireless sink device to; in response to a user input event, obtain user input data while displaying the frames of the video data received from the wireless source device, wherein the user input data comprises coordinate data that identifies a location associated with the user input event, wherein the location is a location in a frame of video data being displayed by the wireless sink device when the user input data was obtained; responsive to obtaining the user input data, generate a data packet header comprising a timestamp field that specifies one of the respective timestamps, the one of the respective timestamps being a timestamp of the frame of video data being displayed by the wireless sink device when the user input data was obtained; and
;responsive to obtaining the user input data and generating the data packet header, generate a data packet comprising the data packet header and payload data, wherein the payload data comprises the coordinate data; and a transmitter unit to transmit the data packet to the wireless source device via a user input back channel (UIBC). - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A non-transitory computer-readable storage medium storing instructions that upon execution by one or more processors cause the one or more processors to:
-
receive a plurality of frames of video data from a wireless source device, wherein each frame of the plurality of frames of video data comprises a respective timestamp; in response to a user input event, obtain user input data at a wireless sink device while causing the frames of the video data to be displayed, wherein the user input data comprises coordinate data that identifies a location associated with the user input event, wherein the location is a location in a frame of video data being displayed by the wireless sink device when the user input data was obtained; responsive to obtaining the user input data and generating the data packet header, generate a data packet header comprising a timestamp field that specifies one of the respective timestamps, the one of the respective timestamps being a timestamp of the frame of video data being displayed by the wireless sink device when the user input data was obtained; generate a data packet comprising the data packet header and payload data, wherein the payload data comprises the coordinate data; and transmit the data packet from the wireless sink device to the wireless source device via a user input back channel (UIBC).
-
-
28. A wireless sink device configured to transmit user input data to a wireless source device, the wireless sink device comprising:
-
means for receiving a plurality of frames of video data from the wireless source device, wherein each frame of the plurality of frames of video data comprises a respective timestamp; means for obtaining user input data, in response to a user input event, while displaying the frames of the video data, wherein the user input data comprises coordinate data that identifies a location associated with the user input event, wherein the location is a location in a frame of video data being displayed by the wireless sink device when the user input data was obtained; means for generating a data packet header responsive to obtaining the user input data, the data packet header comprising a timestamp field that specifies one of the respective timestamps, the one of the respective timestamps being a timestamp of the frame of video data being displayed by the wireless sink device when the user input data was obtained; means for generating a data packet responsive to obtaining the user input data and generating the data packet header, the data packet comprising the data packet header and payload data, wherein the payload data comprises the coordinate data; and means for transmitting the data packet from the wireless sink device to the wireless source device via a user input back channel (UIBC).
-
-
29. A method of receiving user input data from a wireless sink device by a wireless source device, the method comprising:
-
transmitting, by the wireless source device to the wireless sink device, video data comprising a plurality of frames of video data, wherein each frame of the plurality of frames of video data comprises a respective timestamp; receiving, by the wireless source device and from the wireless sink device via a user input back channel (UIBC), a data packet comprising a data packet header and payload data including the user input data, wherein the data packet header comprises a timestamp field that specifies one of the respective timestamps, the one of the respective timestamps being a timestamp of a frame of the video data being displayed by the wireless sink device when the user input data was obtained; based on the timestamp in the timestamp field, identifying the frame of the video data being displayed by the wireless sink device when the user input data was obtained; processing the data packet to determine coordinate data for the user input data; and processing, by the wireless source device, the coordinate data based on content of the frame of the video data being displayed by the wireless sink device when the user input data was obtained. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
-
-
46. A wireless source device configured to receive user input data from a wireless sink device, the wireless source device comprising:
-
a transmitter unit to transmit a plurality of frames of video data to the wireless sink device, wherein each frame of the plurality of frames of video data comprises a respective timestamp; a receiver unit to receive, from the wireless sink device via a user input back channel (UIBC), a data packet comprising a data packet header and payload data including the user input data, wherein the data packet header comprises a timestamp field that specifies one of the respective timestamps, the one of the respective timestamps being a timestamp of a frame from the plurality of frames of the video data being displayed by the wireless sink device when the user input data was obtained; a memory storing instructions; and one or more processors configured to execute the instructions, wherein upon execution of the instructions the one or more processors cause the wireless source device to; based on the timestamp in the timestamp field, identifying the frame of the video data being displayed by the wireless sink device when the user input data was obtained; processing the data packet to determine coordinate data for the user input data; and process the coordinate data based on content of the frame of the video data being displayed by the wireless sink device when the user input data was obtained. - View Dependent Claims (48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62)
-
-
47. The wireless source device 46, wherein the one or more processors further cause the wireless source device to:
-
generate the timestamp based on multimedia data; transmit, to the wireless sink device, the multimedia data and the timestamp, wherein the frame of video data comprises the multimedia data.
-
-
63. A non-transitory computer-readable storage medium storing instructions that upon execution by one or more processors cause the one or more processors to:
-
transmit a plurality of frames of video data to a wireless sink device, wherein each frame of the plurality of frames of video data comprises a respective timestamp; receive, from the wireless sink device via a user input back channel (UIBC), a data packet comprising a data packet header and payload data including the user input data, wherein the data packet header comprises a timestamp field that specifies one of the respective timestamps, the one of the respective timestamps being a timestamp of a frame from the plurality of frames of the video data being displayed by a wireless sink device when the user input data was obtained; based on the timestamp in the timestamp field, identifying the frame of the video data being displayed by the wireless sink device when the user input data was obtained; processing the data packet to determine coordinate data for the user input data; and process the coordinate data based on content of the frame of the video data being displayed by the wireless sink device when the user input data was obtained.
-
-
64. A wireless source device configured to receive user input data from a wireless sink device, the wireless source device comprising:
-
means for transmitting a plurality of frames of video data to the wireless sink device, wherein each frame of the plurality of frames of video data comprises a respective timestamp; means for receiving, by the wireless source device and from the wireless sink device via a user input back channel (UIBC), a data packet comprising a data packet header and payload data including user input data, wherein the data packet header comprises a timestamp field that specifies one of the respective timestamps, the one of the respective timestamps being a timestamp of a frame from the plurality of frames of the video data being displayed by the wireless sink device when the user input data was obtained; means for identifying the frame of the video data being displayed by the wireless sink device when the user input data was obtained based on the timestamp in the timestamp field; means for processing the data packet to determine coordinate data for the user input data; and means for processing the coordinate data based on content of the frame of the video data being displayed by the wireless sink device when the user input data was obtained.
-
Specification