Generating and implementing a communication protocol and interface for high data rate signal transfer
First Claim
1. A digital data interface for transferring digital presentation data at a high rate between a host device and a client device over a communication path comprising:
- a plurality of packet structures linked together to form a communication protocol for communicating a pre-selected set of digital control and presentation data between a host and a client over said communication path; and
at least one link controller residing in said host device coupled to said client through said communications path, being configured to generate, transmit, and receive packets forming said communications protocol, and to form digital presentation data into one or more types of data packets.
1 Assignment
0 Petitions
Accused Products
Abstract
A data Interface for transferring digital data between a host and a client over a communication path using packet structures linked together to form a communication protocol for communicating a pre-selected set of digital control and presentation data. The signal protocol is used by link controllers configured to generate, transmit, and receive packets forming the communications protocol, and to form digital data into one or more types of data packets, with at least one residing in the host device and being coupled to the client through the communications path. The interface provides a cost-effective, low power, bi-directional, high-speed data transfer mechanism over a short-range “serial” type data link, which lends itself to implementation with miniature connectors and thin flexible cables which are especially useful in connecting display elements such as wearable micro-displays to portable computers and wireless communication devices.
209 Citations
107 Claims
-
1. A digital data interface for transferring digital presentation data at a high rate between a host device and a client device over a communication path comprising:
-
a plurality of packet structures linked together to form a communication protocol for communicating a pre-selected set of digital control and presentation data between a host and a client over said communication path; and
at least one link controller residing in said host device coupled to said client through said communications path, being configured to generate, transmit, and receive packets forming said communications protocol, and to form digital presentation data into one or more types of data packets. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
a plurality of transfer modes, each allowing the transfer of different maximum numbers of bits of data in parallel over a given time period, with each mode selectable by negotiation between said host and client link drivers; and
wherein said transfer modes are dynamically adjustable between said modes during transfer of data.
-
-
4. The interface of claim 1 wherein said link controller is a host link controller and further comprising at least one client link controller residing in said client device coupled to said host through said communications path, being configured to generate, transmit, and receive packets forming said communications protocol, and to form digital presentation data into one or more types of data packets.
-
5. The interface of claim 4 wherein said host link controller comprises one or more differential line drivers;
- and said client link controller comprises one or more differential line receivers coupled to said communication path.
-
6. The interface of claim 1 wherein the host link controller requests display capabilities information from the client device so as to determine what type of data and data rates said client device is capable of accommodating through said interface.
-
7. The interface of claim 6 wherein a client link controller communicates display or presentation capabilities to said host link controller using at least one Display Capability Packet.
-
8. The interface of claim 1 wherein said host device comprises a portable computer having a wireless modem disposed therein.
-
9. The interface of claim 8 wherein said portable video display comprises a micro-display device.
-
10. The interface of claim 1 further comprising a Sub-frame Header Packet positioned at the beginning of transfers of packets from said host.
-
11. The interface of claim 1 further comprising bi-directional transfer of information between said host and client over said communications link.
-
12. The interface of claim 1 further comprising one or more Video Stream Packets for video type data, and Audio Stream Packets for audio type data for transferring data from said host to said client over a forward link for presentation to a client user.
-
13. The interface of claim 1 further comprising one or more Reverse Link Encapsulation Packets for said client to transfer data to said host.
-
14. The interface of claim 1 wherein said communication path comprises a cable having a series of four or more conductors and a shield.
-
15. The interface of claim 1 wherein said host link controllers comprises a USB data interface operating as a part of said communications path.
-
16. The interface of claim 1 wherein said host device comprises a wireless communications device.
-
17. The interface of claim 1 wherein said client device comprises a portable video display.
-
18. The interface of claim 1 wherein said client device comprises a portable audio presentation system.
-
19. The interface of claim 1 wherein said host comprises means for storing multimedia data to be transferred to said client device.
-
20. The interface of claim 1 wherein said packets each comprise a packet length field, one or more packet data fields, and a cyclic redundancy check field.
-
21. The interface of claim 1 further comprising a plurality of packets usable to transfer video information chosen from the group of Color Map, Bit Block Transfer, Bitmap Area Fill, Bitmap Pattern Fill, and Transparent Color Enable type packets.
-
22. The interface of claim 1 further comprising Filler type packets generated by said host to occupy periods of forward link transmission that do not have data.
-
23. The interface of claim 1 further comprising User-Defined Stream type packets for transferring interface-user defined data.
-
24. The interface of claim 1 further comprising Keyboard Data and Pointing Device Data type packets for transferring data to or from user input devices associated with said client device.
-
25. The interface of claim 1 further comprising a Link Shutdown type packet for transmission by said host to said client to terminate the transfer of data in either direction over said communication path.
-
26. A method of transferring digital data at a high rate between a host device and a client device over a communication path for presentation to a user, comprising:
-
generating one or more of a plurality of pre-defined packet structures and linking them together to form a pre-defined communication protocol;
communicating a pre-selected set of digital control and presentation data between said host and said client devices over said communication path using said communication protocol;
coupling at least one host link controller residing in said host device to said client device through said communications path, the host link controller being configured to generate, transmit, and receive packets forming said communications protocol, and to form digital presentation data into one or more types of data packets; and
transferring data in the form of packets over said communications path using said link controllers. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
negotiating between said host and client link drivers the use of one of a plurality of transfer modes in each direction, each allowing the transfer of different maximum numbers of bits of data in parallel over a given time period; and
dynamically adjusting between said transfer modes during transfer of data.
-
-
29. The method of claim 26 further comprising at least one client link controller residing in said client device coupled to said host device through said communications path, being configured to generate, transmit, and receive packets forming said communications protocol, and to form digital presentation data into one or more types of data packets.
-
30. The method of claim 29 wherein said host link controller comprises one or more differential line drivers;
- and said client link controller comprises one or more differential line receivers coupled to said communication path.
-
31. The method of claim 26 further comprising requesting display capabilities information from the client by a host link controller so as to determine what type of data and data rates said client is capable of accommodating through said interface.
-
32. The method of claim 31 further comprising communicating display or presentation capabilities from a client link controller to said host link controller using at least one Display Capability type packet.
-
33. The method of claim 26 wherein said client device comprises a portable video display.
-
34. The method of claim 33 wherein said portable video display comprises a micro-display device.
-
35. The method of claim 26 further comprising commencing transfer of packets from said host with a Sub-frame Header type packet.
-
36. The method of claim 26 further comprising transferring information between said host and client bi-directionally over said communications link.
-
37. The method of claim 26 further comprising transferring data from said host to said client for presentation to a client user using one or more Video Stream type packets for video type data, and Audio Stream type packets for audio type data.
-
38. The method of claim 26 further comprising transferring data from said client to said host using one or more Reverse Link Encapsulation type packets.
-
39. The method of claim 26 wherein said communication path comprises a cable having a series of four or more conductors and a shield.
-
40. The method of claim 26 further comprising operating a USB data interface by each of said link controllers as a part of said communication path.
-
41. The method of claim 26 wherein said host comprises a wireless communications device.
-
42. The method of claim 26 wherein said host comprises a portable computer having a wireless modem disposed therein.
-
43. The method of claim 26 wherein said client device comprises a portable audio presentation system.
-
44. The method of claim 26 further comprising storing multimedia data to be transferred to said client device at said host.
-
45. The method of claim 26 wherein said packets each comprise a packet length field, one or more packet data fields, and a cyclic redundancy check field.
-
46. The method of claim 26 further comprising using one or more of a plurality of packets to transfer video information chosen from the group of Color Map, Bit Block Transfer, Bitmap Area Fill, Bitmap Pattern Fill, and Transparent Color Enable type packets.
-
47. The method of claim 26 further comprising generating Filler type packets by said host to occupy periods of forward link transmission that do not have data.
-
48. The method of claim 26 further comprising transferring interface-user defined data using User-Defined Stream type packets.
-
49. The method of claim 26 further comprising transferring data to or from user input devices associated with said client device using Keyboard Data and Pointing Device Data type packets.
-
50. The method of claim 26 further comprising terminating the transfer of data in either direction over said communication path using a Link Shutdown type packet for transmission by said host to said client.
-
51. Apparatus for transferring digital data at a high rate between a host device and a client device over a communication path for presentation,to a user, comprising:
-
at least one host link controller disposed in said host device for generating one or more of a plurality of pre-defined packet structures and linking them together to form a pre-defined communication protocol, and for communicating a pre-selected set of digital control and presentation data between said host and said client devices over said communication path using said communication protocol;
at least one client controller disposed in said client device and coupled to said host link controller through said communications path; and
each link controller being configured to generate, transmit, and receive packets forming said communications protocol, and to form digital presentation data into one or more types of data packets. - View Dependent Claims (52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79)
-
-
80. Apparatus for transferring digital data at a high rate between a host device and a client device over a communication path for presentation to a user, comprising:
-
means for generating one or more of a plurality of pre-defined packet structures and linking them together to form a pre-defined communication protocol;
means for communicating a pre-selected set of digital control and presentation data between said host and said client devices over said communication path using said communication protocol;
means for coupling at least two link controllers together through said communications path, one in each of said host and client and each being configured to generate, transmit, and receive packets forming said communications protocol, and to form digital presentation data into one or more types of data packets; and
means for transferring data in the form of packets over said communications path using said link controllers. - View Dependent Claims (81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104)
means for negotiating between said host and client link drivers the use of one of a plurality of transfer modes in each direction, each allowing the transfer of different maximum numbers of bits of data in parallel over a given time period; and
means for dynamically adjusting between said transfer modes during transfer of data.
-
-
83. The apparatus of claim 80 wherein one link controller comprises a host controller coupled to said host device, and the second link controller comprises a client receiver coupled to said client device.
-
84. The apparatus of claim 83 wherein said host controller comprises one or more differential line drivers;
- and said client receiver comprises one or more differential line receivers coupled to said communication path.
-
85. The apparatus of claim 80 further comprising means for requesting display capabilities information from the client by a host link controller so as to determine what type of data and data rates said client is capable of accommodating through said interface.
-
86. The apparatus of claim 85 further comprising means for communicating display or presentation capabilities from a client link controller to said host link controller using at least one Display Capability type packet.
-
87. The apparatus of claim 80 wherein said client device comprises a portable video display.
-
88. The apparatus of claim 87 wherein said portable video display comprises a micro-display device.
-
89. The apparatus of claim 80 further comprising means for commencing transfer of packets from said host with a Sub-frame Header type packet.
-
90. The apparatus of claim 80 further comprising means for transferring information between said host and client bi-directionally over said communications link.
-
91. The apparatus of claim 80 further comprising means for transferring data from said host to said client for presentation to a client user using one or more Video Stream type packets for video type data, and Audio Stream type packets for audio type data.
-
92. The apparatus of claim 80 further comprising means for transferring data from said client to said host using one or more Reverse Link Encapsulation type packets.
-
93. The apparatus of claim 80 wherein said communication path comprises a cable having a series of four or more conductors and a shield.
-
94. The apparatus of claim 80 further comprising means for operating a USB data interface by each of said link controllers as a part of said communication path.
-
95. The apparatus of claim 80 wherein said host comprises a wireless communications device.
-
96. The apparatus of claim 80 wherein said host comprises a portable computer having a wireless modem disposed therein.
-
97. The apparatus of claim 80 wherein said client device comprises a portable audio presentation system.
-
98. The apparatus of claim 80 further comprising means for storing multimedia data to be transferred to said client device at said host.
-
99. The apparatus of claim 80 wherein said packets each comprise a packet length field, one or more packet data fields, and a cyclic redundancy check field.
-
100. The apparatus of claim 80 further comprising means for using one or more of a plurality of packets to transfer video information chosen from the group of Color Map, Bit Block Transfer, Bitmap Area Fill, Bitmap Pattern Fill, and Transparent Color Enable type packets.
-
101. The apparatus of claim 80 further comprising means for generating Filler type packets by said host to occupy periods of forward link transmission that do not have data.
-
102. The apparatus of claim 80 further comprising means for transferring interface-user defined data using User-Defined Stream type packets.
-
103. The apparatus of claim 80 further comprising means for transferring data to or from user input devices associated with said client device using Keyboard Data and Pointing Device Data type packets.
-
104. The apparatus of claim 80 further comprising means for terminating the transfer of data in either direction over said communication path using a Link Shutdown type packet for transmission by said host to said client.
-
105. For use in an electronic system for transferring digital data at a high rate between a host device and a client device over a communication path for presentation to a user, a computer program product comprising:
-
a computer usable medium having computer readable program code means embodied in said medium for causing an application program to execute on the computer system, said computer readable program code means comprising;
a computer readable first program code means for causing the computer system to generate one or more of a plurality of pre-defined packet structures and link them together to form a pre-defined communication protocol;
a computer readable second program code means for causing the computer system to communicate a pre-selected set of digital control and presentation data between said host and said client devices over said communication path using said communication protocol;
a computer readable third program code means for causing the computer system to couple at least one host link controller disposed in said host device to at least one client controller disposed in said client device through said communications path, the link controllers being configured to generate, transmit, and receive packets forming said communications protocol, and to form digital presentation data into one or more types of data packets; and
a computer readable fourth program code means for causing the computer system to transfer data in the form of packets over said communications path using said link controllers.
-
-
106. A processor for use in an electronic system for transferring digital data at a high rate between a host device and a client device over a communication path, the processor configured to generate one or more of a plurality of pre-defined packet structures and link them together to form a pre-defined communication protocol;
- to form digital presentation data into one or more types of data packets;
communicate a pre-selected set of digital control and presentation data between said host and said client devices over said communication path using said communication protocol; and
transfer data in the form of packets over said communications path.
- to form digital presentation data into one or more types of data packets;
-
107. A state machine for use in obtaining synchronization in an electronic system transferring digital data at a high rate between a host device and a client device over a communication path, the state machine configured to have at least one Async Frames State synchronization state, at least two Acquiring Sync States synchronization states, and at least three In-Sync States synchronization states.
Specification