IP Library Granted Patent US 9,652,192
Granted Patent B2
US 9,652,192 · App. 14/162,215 · Granted May 16, 2017

Connectionless transport for user input control for wireless display devices

Inventors: Phanikumar Kanakadurga Bhamidipati (San Diego, CA); Xiaolong Huang (San Jose, CA); Vijayalakshmi Rajasundaram Raveendran (San Diego, CA)
Assignee: QUALCOMM Incorporated
G06F3/14H04L65/1059H04L65/4084H04L65/4092H04L65/602H04L65/608H04N21/42207H04N21/43637
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,652,192
App. No.
14/162,215
Granted
May 16, 2017
Kind
B2
Abstract

A sink device in a Wireless Display (WD) system may establish a user input device control communication channel between a source device and sink device in a WD system to allow the sink device to send device control inputs to the source device. The user input device control communication channel may include a reverse channel architecture referred to as the Wi-Fi User Input Back Channel (UIBC) that has been modified to transport one or more additional input types over UDP. For example, UIBC may be extended to transport voice input and VNC input types.

Claims (107)

1. A method of receiving user input data, the method comprising:

transmitting a user input back channel (UIBC) parameter message, wherein the UIBC parameter message specifies a Virtual Network Computing (VNC) input type; and

receiving user input data in a UIBC message according to the specified VNC input type,

wherein the UIBC message includes a Generic Input Message comprising a Generic Input Type identifier field that specifies the VNC input type and a Describe field that includes:

VNC KeyEvent data for a key event made with respect to a VNC display displayed by a display for a sink device and the user input data in the UIBC message comprises a VNC KeyEvent message comprising a message-type field, a down-flag field describing whether the key is pressed or released, a padding field, and a key field describing the keyboard key pressed, if the Generic Input Type identifier field specifies a VNC KeyEvent input type, and

VNC PointerEvent data for a pointer event made with respect to the VNC display displayed by the display for the sink device and the user input data in the UIBC message comprises a VNC PointerEvent message comprising the message-type field, a button-mask field indicating a state of one or more pointer buttons, an x-position field, and a y-position field, if the Generic Input Type identifier field specifies a VNC PointerEvent input type.

2. The method of claim 1 , wherein the VNC input type is one of a VNC KeyEvent input type and a VNC PointerEvent input type.

3. The method of claim 1 , wherein the UIBC parameter message comprises a Real-Time Streaming Protocol (RTSP) SET_PARAMETER request message.

4. The method of claim 1 ,

wherein the UIBC parameter message comprises a Real-Time Streaming Protocol (RTSP) control message that identifies a User Datagram Protocol (UDP) port, and

wherein receiving the user input data comprises receiving the user input data using the identified UDP port.

5. The method of claim 1 , wherein the user input back channel (UIBC) parameter message conforms to a Wi-Fi Display (WFD) standard, the method further comprising:

establishing a connection using a communications protocol based on the WFD standard.

6. A method of transmitting user input data, the method comprising:

receiving a user input back channel (UIBC) parameter message, wherein the UIBC parameter message specifies a Virtual Network Computing (VNC) input type; and

transmitting user input data according to the specified the VNC input type,

wherein the UIBC message includes a Generic Input Message comprising a Generic Input Type identifier field that specifies the VNC input type and a Describe field that includes:

VNC KeyEvent data for a key event made with respect to a VNC display displayed by a display for a sink device and the user input data in the UIBC message comprises a VNC KeyEvent message comprising a message-type field, a down-flag field describing whether the key is pressed or released, a padding field, and a key field describing the keyboard key pressed, if the Generic Input Type identifier field specifies a VNC KeyEvent input type, and

VNC PointerEvent data for a pointer event made with respect to the VNC display displayed by the display for the sink device and the user input data in the UIBC message comprises a VNC PointerEvent message comprising the message-type field, a button-mask field indicating a state of one or more pointer buttons, an x-position field, and a y-position field, if the Generic Input Type identifier field specifies a VNC PointerEvent input type.

7. The method of claim 6 , wherein the VNC input type is one of a VNC KeyEvent input type and a VNC PointerEvent input type.

8. The method of claim 6 , wherein the UIBC parameter message comprises a Real-Time Streaming Protocol (RTSP) SET_PARAMETER request message.

9. The method of claim 6 ,

wherein the UIBC parameter message comprises a Real-Time Streaming Protocol (RTSP) control message that identifies a User Datagram Protocol (UDP) port, and

wherein transmitting the user input data comprises transmitting the user input data using the identified UDP port.

10. The method of claim 6 , wherein the user input back channel (UIBC) parameter message conforms to a Wi-Fi Display (WFD) standard, the method further comprising:

establishing a connection using a communications protocol based on the WFD standard.

11. A source device comprising:

a processor;

means for transmitting a user input back channel (UIBC) parameter message, wherein the UIBC parameter message specifies a Virtual Network Computing (VNC) input type; and

means for receiving user input data in a UIBC message according to the specified VNC input type,

wherein the UIBC message includes a Generic Input Message comprising a Generic Input Type identifier field that specifies the VNC input type and a Describe field that includes:

VNC KeyEvent data for a key event made with respect to a VNC display displayed by a display for a sink device and the user input data in the UIBC message comprises a VNC KeyEvent message comprising a message-type field, a down-flag field describing whether the key is pressed or released, a padding field, and a key field describing the keyboard key pressed, if the Generic Input Type identifier field specifies a VNC KeyEvent input type, and

VNC PointerEvent data for a pointer event made with respect to the VNC display displayed by the display for the sink device and the user input data in the UIBC message comprises a VNC PointerEvent message comprising the message-type field, a button-mask field indicating a state of one or more pointer buttons, an x-position field, and a y-position field, if the Generic Input Type identifier field specifies a VNC PointerEvent input type.

12. The source device of claim 11 , wherein the VNC input type is one of a VNC KeyEvent input type and a VNC PointerEvent input type.

13. The source device of claim 11 , wherein the UIBC parameter message comprises a Real-Time Streaming Protocol (RTSP) SET_PARAMETER request message.

14. The source device of claim 11 ,

wherein the UIBC parameter message comprises a Real-Time Streaming Protocol (RTSP) control message that identifies a User Datagram Protocol (UDP) port, and

wherein the means for receiving the user input data comprises means for receiving the user input data using the identified UDP port.

15. The source device of claim 11 , wherein the user input back channel (UIBC) parameter message conforms to a Wi-Fi Display (WFD) standard, and further comprising:

means for establishing a connection using a communications protocol based on the WFD standard.

16. A sink device comprising: a processor;

means for receiving a user input back channel (UIBC) parameter message, wherein the UIBC parameter message specifies a Virtual Network Computing (VNC) input type; and

means for transmitting user input data according to the specified VNC input type,

wherein the UIBC message includes a Generic Input Message comprising a Generic Input Type identifier field that specifies the VNC input type and a Describe field that includes:

VNC KeyEvent data for a key event made with respect to a VNC display displayed by a display for a sink device and the user input data in the UIBC message comprises a VNC KeyEvent message comprising a message-type field, a down-flag field describing whether the key is pressed or released, a padding field, and a key field describing the keyboard key pressed, if the Generic Input Type identifier field specifies a VNC KeyEvent input type, and

VNC PointerEvent data for a pointer event made with respect to the VNC display displayed by the display for the sink device and the user input data in the UIBC message comprises a VNC PointerEvent message comprising the message-type field, a button-mask field indicating a state of one or more pointer buttons, an x-position field, and a y-position field, if the Generic Input Type identifier field specifies a VNC PointerEvent input type.

17. The sink device of claim 16 , wherein the VNC input type is one of a VNC KeyEvent input type and a VNC PointerEvent input type.

18. The sink device of claim 16 , wherein the UIBC parameter message comprises a Real-Time Streaming Protocol (RTSP) SET_PARAMETER request message.

19. The sink device of claim 16 ,

wherein the UIBC parameter message comprises a Real-Time Streaming Protocol (RTSP) control message that identifies a User Datagram Protocol (UDP) port, and

wherein the means for transmitting the user input data comprises means for transmitting the user input data using the identified UDP port.

20. The sink device of claim 16 , wherein the user input back channel (UIBC) parameter message conforms to a Wi-Fi Display (WFD) standard, and further comprising:

means for establishing a connection using a communications protocol based on the WFD standard.

21. A source device comprising one or more processors, wherein the one or more processors are configured to:

transmit a user input back channel (UIBC) parameter message, wherein the UIBC parameter message specifies a Virtual Network Computing (VNC) input type; and

receive user input data in a UIBC message according to the specified VNC input type,

wherein the UIBC message includes a Generic Input Message comprising a Generic Input Type identifier field that specifies the VNC input type and a Describe field that includes:

VNC KeyEvent data for a key event made with respect to a VNC display displayed by a display for a sink device and the user input data in the UIBC message comprises a VNC KeyEvent message comprising a message-type field, a down-flag field describing whether the key is pressed or released, a padding field, and a key field describing the keyboard key pressed, if the Generic Input Type identifier field specifies a VNC KeyEvent input type, and

VNC PointerEvent data for a pointer event made with respect to the VNC display displayed by the display for the sink device and the user input data in the UIBC message comprises a VNC PointerEvent message comprising the message-type field, a button-mask field indicating a state of one or more pointer buttons, an x-position field, and a y-position field, if the Generic Input Type identifier field specifies a VNC PointerEvent input type.

22. The source device of claim 21 , wherein the VNC input type is one of a VNC KeyEvent input type and a VNC PointerEvent input type.

23. The source device of claim 21 , wherein the UIBC parameter message comprises a Real-Time Streaming Protocol (RTSP) SET_PARAMETER request message.

24. The source device of claim 21 ,

wherein the UIBC parameter message comprises a Real-Time Streaming Protocol (RTSP) control message that identifies a User Datagram Protocol (UDP) port, and

wherein to receive the user input data the processors are further configured to receive the user input data using the identified UDP port.

25. The source device of claim 21 ,

wherein the user input back channel (UIBC) parameter message conforms to a Wi-Fi Display (WFD) standard, and

wherein the processors are further configured to establish a connection using a communications protocol based on the WFD standard.

26. A sink device comprising one or more processors, wherein the one or more processors are configured to:

receive a user input back channel (UIBC) parameter message, wherein the UIBC parameter message specifies a Virtual Network Computing (VNC) input type; and

transmit user input data according to the specified VNC input type,

wherein the UIBC message includes a Generic Input Message comprising a Generic Input Type identifier field that specifies the VNC input type and a Describe field that includes:

VNC KeyEvent data for a key event made with respect to a VNC display displayed by a display for a sink device and the user input data in the UIBC message comprises a VNC KeyEvent message comprising a message-type field, a down-flag field describing whether the key is pressed or released, a padding field, and a key field describing the keyboard key pressed, if the Generic Input Type identifier field specifies a VNC KeyEvent input type, and

VNC PointerEvent data for a pointer event made with respect to the VNC display displayed by the display for the sink device and the user input data in the UIBC message comprises a VNC PointerEvent message comprising the message-type field, a button-mask field indicating a state of one or more pointer buttons, an x-position field, and a y-position field, if the Generic Input Type identifier field specifies a VNC PointerEvent input type.

27. The sink device of claim 26 , wherein the VNC input type is one of a VNC KeyEvent input type and a VNC PointerEvent input type.

28. The sink device of claim 26 , wherein the UIBC parameter message comprises a Real-Time Streaming Protocol (RTSP) SET_PARAMETER request message.

29. The sink device of claim 26 ,

wherein the UIBC parameter message comprises a Real-Time Streaming Protocol (RTSP) control message that identifies a User Datagram Protocol (UDP) port, and

wherein the processors are further configured to transmit the user input data by transmitting the user input data using the identified UDP port.

30. The sink device of claim 26 , wherein the user input back channel (UIBC) parameter message conforms to a Wi-Fi Display (WFD) standard, and

wherein the processors are further configured to establish a connection using a communications protocol based on the WFD standard.

31. A non-transitory computer-readable storage medium comprising instructions stored thereon that, when executed, configure one or more processors to:

transmit a user input back channel (UIBC) parameter message, wherein the UIBC parameter message specifies a Virtual Network Computing (VNC) input type; and

receive user input data in a UIBC message according to the specified VNC input type, wherein the UIBC message includes a Generic Input Message comprising a Generic Input Type identifier field that specifies the VNC input type and a Describe field that includes:

VNC KeyEvent data for a key event made with respect to a VNC display displayed by a display for a sink device and the user input data in the UIBC message comprises a VNC KeyEvent message comprising a message-type field, a down-flag field describing whether the key is pressed or released, a padding field, and a key field describing the keyboard key pressed, if the Generic Input Type identifier field specifies a VNC KeyEvent input type, and

VNC PointerEvent data for a pointer event made with respect to the VNC display displayed by the display for the sink device and the user input data in the UIBC message comprises a VNC PointerEvent message comprising the message-type field, a button-mask field indicating a state of one or more pointer buttons, an x-position field, and a y-position field, if the Generic Input Type identifier field specifies a VNC PointerEvent input type.

32. The non-transitory computer-readable storage medium of claim 31 , wherein the VNC input type is one of a VNC KeyEvent input type and a VNC PointerEvent input type.

33. The non-transitory computer-readable storage medium of claim 31 , wherein the UIBC parameter message comprises a Real-Time Streaming Protocol (RTSP) SET_PARAMETER request message.

34. The non-transitory computer-readable storage medium of claim 31 ,

wherein the UIBC parameter message comprises a Real-Time Streaming Protocol (RTSP) control message that identifies a User Datagram Protocol (UDP) port, and

wherein to receive the user input data the instructions further configure the one or more processors to receive the user input data using the identified UDP port.

35. The non-transitory computer-readable storage medium of claim 31 ,

wherein the user input back channel (UIBC) parameter message conforms to a Wi-Fi Display (WFD) standard, and

wherein the instructions further configure the one or more processors to establish a connection using a communications protocol based on the WFD standard.

36. A non-transitory computer-readable storage medium comprising instructions stored thereon that, when executed, configure one or more processors to:

receive a user input back channel (UIBC) parameter message, wherein the UIBC parameter message specifies a Virtual Network Computing (VNC) input type; and

transmit user input data according to the specified VNC input type,

wherein the UIBC message includes a Generic Input Message comprising a Generic Input Type identifier field that specifies the VNC input type and a Describe field that includes:

VNC KeyEvent data for a key event made with respect to a VNC display displayed by a display for a sink device and the user input data in the UIBC message comprises a VNC KeyEvent message comprising a message-type field, a down-flag field describing whether the key is pressed or released, a padding field, and a key field describing the keyboard key pressed, if the Generic Input Type identifier field specifies a VNC KeyEvent input type, and

VNC PointerEvent data for a pointer event made with respect to the VNC display displayed by the display for the sink device and the user input data in the UIBC message comprises a VNC PointerEvent message comprising the message-type field, a button-mask field indicating a state of one or more pointer buttons, an x-position field, and a y-position field, if the Generic Input Type identifier field specifies a VNC PointerEvent input type.

37. The non-transitory computer-readable storage medium of claim 36 , wherein the VNC input type is one of a VNC KeyEvent input type and a VNC PointerEvent input type.

38. The non-transitory computer-readable storage medium of claim 36 , wherein the UIBC parameter message comprises a Real-Time Streaming Protocol (RTSP) SET_PARAMETER request message.

39. The non-transitory computer-readable storage medium of claim 36 ,

wherein the UIBC parameter message comprises a Real-Time Streaming Protocol (RTSP) control message that identifies a User Datagram Protocol (UDP) port, and

wherein to transmit the user input data the instructions further configure the one or more processors to transmit the user input data using the identified UDP port.

40. The non-transitory computer-readable storage medium of claim 36 ,

wherein the user input back channel (UIBC) parameter message conforms to a Wi-Fi Display (WFD) standard, and

wherein the instructions further configure the one or more processors to establish a connection using a communications protocol based on the WFD standard.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2014
From: BHAMIDIPATI, PHANIKUMAR KANAKADURGA; HUANG, XIAOLONG; RAVEENDRAN, VIJAYALAKSHMI RAJASUNDARAM
To: QUALCOMM INCORPORATED
Reel/Frame 032203/0663 →
Continuity (3)
Provisional Application 61757010 · Jan 25, 2013
Provisional Application 61757414 · Jan 28, 2013
Related Publication 20140210693A1 · Jul 31, 2014