A method of managing latency in a system for tracking movement of an object includes providing a request-and-response mechanism for transferring tracking data across a communications link. In one embodiment, the object for which movement is to be tracked is a human head and the system is a virtual reality system. Packets of the tracking data may be generated using a conventional sensor processing technology, but the packets are transferred via the communications link to an image processing capability, such as that of a host computer. The packets are generated at a fixed sample rate that is asynchronous with respect to the processing requirements of the host computer. When the host computer is available for fresh tracking data, a packet-transfer request is transmitted to the source of the packet. Latency can be reduced by enabling the source of the packets to anticipate reception of a packet-transfer request. Thus, any incoming signal to the source is prematurely interpreted as a packet-transfer request. Appropriate actions are executed, if the interpretation is subsequently determined to be inaccurate. As a technique for reducing variability of latency, each transfer of a packet is preceded by a determination of whether to transmit a presently available packet or a next available packet. If a request is received momentarily before the next available packet is accessible, the presently available packet may be identified as stale, and the next packet may be transmitted when available.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of tracking movement of an object comprising steps of: generating packets of tracking data indicative of positions of said object; transferring a packet of said tracking data via a data link as a conditioned response to receiving a packet-transfer request; receiving transferred packets of said tracking data at an output end of said data link; processing said transferred packets such that said movement of said object is tracked by operations of said processing; and triggering said packet-transfer requests in response to said processing such that said packets are transferred via said data link in accordance with processing requirements at said output end of said data link.
2. The method of claim 1 wherein said step of generating said packets occurs at a substantially fixed sampling rate and wherein said step of processing includes accessing said transferred packets at a speed less than said sampling rate, said packets being transferred via said data link in a pattern determined by said speed of accessing said transferred packets.
3. The method of claim 2 wherein said step of triggering said packet-transfer requests includes transmitting said packet-transfer requests over said data link in a direction opposite to a flow of said packets.
4. The method of claim 2 further comprising a step of selecting between a presently available packet and a next available packet upon detecting that a packet-transfer request has been triggered, said selection being at least partially based on a length of a time interval between detecting said packet-transfer request and generation of said next available packet.
5. The method of claim 1 wherein said step of processing includes generating image information regarding said object such that said movement of said object is displayed in substantially real time.
6. The method of claim 5 further comprising a step of forming a three-dimensional rendering of said object and said movement based on said step of processing said transferred packets.
7. The method of claim 1 further comprising a step of anticipating reception of one of said packet-transfer requests upon detecting an edge of an incoming signal at an end of said data link opposite to said output end, said step of transferring a packet being initiated in response to said anticipating, thereby providing a low latency with respect to responding to said packet-transfer requests.
8. The method of claim 1 wherein said step of generating packets includes detecting the position of a human head and forming said packets to include information indicative of said position, said human head being said object.
9. A method of managing latency in a system for tracking movement of an object comprising steps of: forming signals of tracking data at a generally fixed processing rate, said tracking data being specific to said object, including forming said signals using tracking circuitry that is in communication with image processing circuitry via a data link, said image processing circuitry having an irregular processing rate with respect to requiring fresh tracking data; at a first end of said data link common with said tracking circuitry, detecting when said image processing circuitry is available for processing fresh tracking data including receiving a request for fresh tracking data via said data link and anticipating receptions of said requests upon detecting incoming signals at said first end of said data link, said availability having an irregularity that is at least partially based upon said irregular processing rate of said image processing circuitry; and in response to detecting that said image processing circuitry is available for processing fresh tracking data, transmitting tracking data to said image processing circuitry via said data link, said step of transmitting data being triggered by each anticipation of a reception of one of said requests.
10. The method of claim 9 wherein said step of transmitting tracking data includes transferring a packet of fresh tracking data for each request received at said first end of said data link.
11. The method of claim 10 further comprising processing said fresh tracking data at said image processing circuitry to generate image data representative of movement of said object, said object being a body part of a human.
12. A tracking system comprising: sensing means coupled to an object of interest for generating packets of tracking data indicative of positions of said object, said sensing means having a substantially fixed data generation rate; signal processing circuitry for determining image information from said tracking data during a tracking operation; and a data link connecting said sensing means to said signal processing circuitry, said signal processing circuitry being cooperatively configured with said sensing means such that said signal processing circuitry transmits requests to said sensing means for said packets during said tracking operation, said sensing means being responsive to said requests for said packets, said requests being transmitted according to processing requirements of said signal processing circuitry and being transmitted such that a data supply rate from said sensing means to said data link is less than said data generation rate.
13. The tracking system of claim 12 wherein said sensing means includes a sensor connected to a body part of a human, said body part being said object of interest.
14. The tracking system of claim 12 wherein said sensing means is configured to select between transmitting a presently available packet and a next available packet upon receiving each said request, each said selection being based on a length of a time interval between receiving one of said requests and the generation of said next available packet.
15. The tracking system of claim 12 wherein said sensing means is configured to initiate transmission of one of said packets upon detecting reception of a signal via said data link, thereby anticipating that said signal is one of said requests.
16. The tracking system of claim 12 further comprising a video display means operatively associated with said signal processing circuitry to display movement of said object based on said image information.
17. The tracking system of claim 16 wherein said sensing means is enabled to embed angular information into said tracking data, said signal processing circuitry and video display being cooperative with said sensing means to define a virtual reality system.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
June 22, 1999
May 22, 2001
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.