Abstract:
To calibrate a tracking system a computing device locates an object in one or more images taken by an optical sensor. The computing device determines environment colors included in the image, the environment colors being colors in the one or more images that are not emitted by the object. The computing device determines one or more trackable colors that, if assumed by the object, will enable the computing device to track the object.
Abstract:
A hand-held electronic device, method of operation and computer readable medium are disclosed. The device may include a case having one or more major surfaces. A visual display and a touch interface are disposed on at least one of the major surfaces. A processor is operably coupled to the display and touch interface. Instructions executable by the processor may be configured to a) present an image containing one or more active elements on the display; b) correlate one or more active portions of the touch interface to one or more corresponding active elements in the image; c) highlight a most recently activated active element on the display in response to a user interaction with a corresponding one of the active portions; and d) activate the most recently activated active element in response to a touch anywhere on the touch interface.
Abstract:
Simulating performance of a virtual camera operating inside a 3-D environment having scenes generated for motion pictures and video games including: tracking position and orientation of an object within a physical volume of space; placing the virtual camera within the virtual 3-D environment corresponding to the tracked position of the object within the physical volume of space; capturing shots within a field of view of the virtual camera, wherein the field of view of the virtual camera is measured in accordance with the tracked position and orientation of the object; and displaying the captured shots of the 3-D environment captured with the virtual camera.
Abstract:
A number of brightness samples are taken outside a shape to compensate for blooming of the shape in an image generated by a digital camera. The brightness of each of the samples is determined and averaged, and the size of the shape is adjusted based on the difference between the brightness of the shape and the average of the brightness samples.
Abstract:
Handling of multiple connections during NAT traversal for a node behind a symmetric NAT is disclosed. The likelihood of connection failure during symmetric NAT traversal may be reduced by serializing critical time windows after port prediction. Once port prediction has begun for a first connection, port prediction for a subsequent connection may be delayed until a connectivity check has begun for the first connection. This process may be repeated to handle NAT traversal for multiple simultaneous connections to different nodes.
Abstract:
Network bandwidth detection and distribution and prioritizing network traffic among two or more distinct channels of communication within a single application in a node configured to communicate with one or more other nodes over a network is disclosed. An available bandwidth may be detected for communication between the first node and a second node. A distribution may be determined for the available bandwidth among the two or more communication channels. A sending rate may be adjusted for data sent from the first node to the second node over one or more of the two or more communication channels in response to a detected change in the available bandwidth. For a particular time quantum, a bandwidth quantum may be distributed amongst two or more communication channels according to priorities associated with those channels.
Abstract:
Multi-threaded processing with reduced context switching is disclosed. Context switches may be avoided through the use of pre-emption notification, a pre-emption wait time attribute and a no-context-save yield.
Abstract:
A host device is provided to include a processor, a memory, and a peripheral device communication port. The processor and the memory are defined to collectively execute a computer application. The host device is defined to establish a communication channel for a datastream associated with the computer application as transmitted through the peripheral device communication port. A bluetooth host chip is connected within the host device to enable bluetooth communication with a bluetooth client chip in an external device outside the host device. The host device is further defined to enable connection of the bluetooth client chip to the communication channel for the datastream, such that the datastream can be monitored by the external device.
Abstract:
A method of moving objects in a graphical user interface, includes obtaining a video image of a user of the interface; displaying the video image on a display such that the video image is superposed with one or more objects displayed on the display; and moving one or more objects displayed on the display based on recognition of motions of the video image of the user. Recognition of motions of the video image may include recognition of motions of an image of the user's hand.
Abstract:
Broadcast messages are efficiently directed to nodes of an overlay network. Broadcast messages include an End ID parameter specifying the range of key values for nodes that should receive the broadcast message. Each node of an overlay network maintains a list of finger nodes and their respective key values. Upon receiving a broadcast message, a node assigns a finger node a new End ID value based upon the End ID value of the broadcast message or the key value of an adjacent finger node. The node compares a finger node's new End ID value with the finger node's key value to determine whether to forward the broadcast message to that finger node. A broadcast message forwarded to a finger node includes an End ID parameter equal to the new End ID value determined for the finger node. Nodes can aggregate response messages from its finger nodes.