U.S. Pat. No. 9,943,760
GAME CONSOLE AND GAMING OBJECT WITH MOTION PREDICTION MODELING AND METHODS FOR USE THEREWITH
AssigneeAVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD
Issue DateNovember 8, 2016
Illustrative Figure
Abstract
A game console includes a receiver that receives motion data in response to motion of a gaming object. A trajectory generation module generates trajectory data based on the motion data and based on a motion prediction model. A processor executes a gaming application based on the trajectory data to generate display data.
Description
DETAILED DESCRIPTION OF THE INVENTION FIG. 1is a schematic block diagram of an embodiment of a communication system in accordance with the present invention. In particular, a communication system is shown that includes a communication device10that communicates real-time data24and non-real-time data26wirelessly with one or more other devices such as base station18, non-real-time device20, real-time device22, and non-real-time and/or real-time device25. In addition, communication device10can also optionally communicate over a wireline connection with non-real-time device12, real-time device14and non-real-time and/or real-time device16. In an embodiment of the present invention the wireline connection28can be a wired connection that operates in accordance with one or more standard protocols, such as a universal serial bus (USB), Institute of Electrical and Electronics Engineers (IEEE) 488, IEEE 1394 (Firewire), Ethernet, small computer system interface (SCSI), serial or parallel advanced technology attachment (SATA or PATA), or other wired communication protocol, either standard or proprietary. The wireless connection can communicate in accordance with a wireless network protocol such as IEEE 802.11, Bluetooth, Ultra-Wideband (UWB), WIMAX, or other wireless network protocol, a wireless telephony data/voice protocol such as Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Enhanced Data Rates for Global Evolution (EDGE), Personal Communication Services (PCS), or other mobile wireless protocol, RFID of other RF tag protocol or other wireless communication protocol, either standard or proprietary. Further, the wireless communication path can include separate transmit and receive paths that use separate carrier frequencies and/or separate frequency channels. Alternatively, a single frequency or frequency channel can be used to bi-directionally communicate data to and from the communication device10. Communication device10can be a mobile phone such as a cellular telephone, a personal digital assistant, game device, personal computer, laptop computer, or other device that performs one or more functions that include communication of voice and/or data via wireline ...
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1is a schematic block diagram of an embodiment of a communication system in accordance with the present invention. In particular, a communication system is shown that includes a communication device10that communicates real-time data24and non-real-time data26wirelessly with one or more other devices such as base station18, non-real-time device20, real-time device22, and non-real-time and/or real-time device25. In addition, communication device10can also optionally communicate over a wireline connection with non-real-time device12, real-time device14and non-real-time and/or real-time device16.
In an embodiment of the present invention the wireline connection28can be a wired connection that operates in accordance with one or more standard protocols, such as a universal serial bus (USB), Institute of Electrical and Electronics Engineers (IEEE) 488, IEEE 1394 (Firewire), Ethernet, small computer system interface (SCSI), serial or parallel advanced technology attachment (SATA or PATA), or other wired communication protocol, either standard or proprietary. The wireless connection can communicate in accordance with a wireless network protocol such as IEEE 802.11, Bluetooth, Ultra-Wideband (UWB), WIMAX, or other wireless network protocol, a wireless telephony data/voice protocol such as Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Enhanced Data Rates for Global Evolution (EDGE), Personal Communication Services (PCS), or other mobile wireless protocol, RFID of other RF tag protocol or other wireless communication protocol, either standard or proprietary. Further, the wireless communication path can include separate transmit and receive paths that use separate carrier frequencies and/or separate frequency channels. Alternatively, a single frequency or frequency channel can be used to bi-directionally communicate data to and from the communication device10.
Communication device10can be a mobile phone such as a cellular telephone, a personal digital assistant, game device, personal computer, laptop computer, or other device that performs one or more functions that include communication of voice and/or data via wireline connection28and/or the wireless communication path. In an embodiment of the present invention, the real-time and non-real-time devices12,1416,18,20,22and25can be a game console, access points, personal computers, laptops, PDAs, mobile phones, such as cellular telephones, devices equipped with wireless local area network or Bluetooth transceivers, FM tuners, TV tuners, digital cameras, digital camcorders, or other devices that either produce, process or use audio, video signals or other data or communications.
In operation, the communication device includes one or more applications that include voice communications such as standard telephony applications, voice-over-Internet Protocol (VoIP) applications, local gaming, Internet gaming, email, instant messaging, multimedia messaging, web browsing, audio/video recording, audio/video playback, audio/video downloading, playing of streaming audio/video, office applications such as databases, spreadsheets, word processing, presentation creation and processing and other voice and data applications. In conjunction with these applications, the real-time data26includes telephony data, voice, audio, video, multimedia data, display data, motion data, for application such as telephony, gaming, or other applications. The non-real-time data24includes text messaging, email, web browsing, file uploading and downloading, authentication data, user preferences, and other data used in any of the application discussed above.
In an embodiment of the present invention, the communication device10includes an integrated circuit, such as an RF integrated circuit that includes one or more features or functions of the present invention. Such features and functions shall be described in greater detail in association withFIGS. 5-65that follow.
FIG. 2is a schematic block diagram of an embodiment of another communication system in accordance with the present invention. In particular,FIG. 2presents a communication system that includes many common elements ofFIG. 1that are referred to by common reference numerals. Communication device30is similar to communication device10and is capable of any of the applications, functions and features attributed to communication device10, as discussed in conjunction withFIG. 1. However, communication device30includes one or more separate wireless transceivers for communicating, contemporaneously, via two or more wireless communication protocols with data device32and/or data base station34via RF data40and voice base station36and/or voice device38via RF voice signals42.
FIG. 3presents a pictorial representation of a wireless network111in accordance with an embodiment of the present invention. The wireless network111includes an access point110that is coupled to packet switched backbone network101. The access point110manages communication flow over the wireless network111destined for and originating from each of communication devices121,123,117and127. Via the access point110, each of the communication devices121,123,117and127can access service provider network105and Internet103to, for example, surf web-sites, download audio and/or video programming, send and receive messages such as text messages, voice message and multimedia messages, access broadcast, stored or streaming audio, video or other multimedia content, play games, send and receive telephone calls, and perform any other activities, provided directly by access point110or indirectly through packet switched backbone network101.
One or more of the communication devices121,123,117and127, such as communication device117is a mobile device that can include the functionality of communication devices10or30. In particular, communication device125includes an RF integrated circuit (IC) optionally including a motion sensor such as an accelerometer, RFID tag, or on-chip gyrating circuit that generates motion parameters based on motion of the device including a velocity, velocity vector, acceleration (including deceleration) and/or other motion parameter. In addition, communication device117optionally includes a GPS receiver that generates GPS position data and/or GPS velocity data. The RF IC processes the optional GPS position data and GPS velocity data and the optional motion parameters to produce motion data113, such as position information and velocity information that identifies the location, velocity, orientation and/or direction of motion of the communication device117. The RF IC can use data from either the optional motion sensor or the GPS receiver or both to generate the motion data. If for instance the GPS receiver is running and receiving a strong signal, GPS position and velocity data can be used to generate the motion data113. If, however, the GPS receiver is starting up, has lost satellite reception, the device is transmitting or the GPS receiver is otherwise generating inaccurate data, either the optional motion sensor or an extrapolation of past data can be used to generate velocity information and can further generate position information from the last know position coordinates and/or velocity.
In addition, where high data rate motion data113is required for an application, for instance a gaming application where the communication device is used to communicate motion data to a game console or game server in conjunction with a local game or an online game, the GPS receiver can generate a reference position and the optional motion sensor can be used to generate motion vectors or other different position data at sample periods such as 10 msec, 20 msec, 50 msec, 100 msec, or some other data sample period.
The RF IC optionally generates outbound data that includes the motion data113and/or a flag or other data that indicates communication device117is a mobile device, generates an outbound RF signal from outbound data and transmits the outbound RF signal to a remote station, such as the access point110.
In operation, access point110can optionally change its own transmit and receive characteristics, based on the knowledge that communication device117is mobile, is in motion and/or based on information from a velocity vector or other motion data113that indicates that the communication device125is moving into closer range, is moving out of range, is moving close to a known source of interference, is moving into or away from an obstructed path, etc. Examples of transmit and receive characteristics include: transmit power levels; antenna configurations such as multi-input multi-output (MIMO) configuration, beam patterns, polarization patterns, diversity configurations, etc. to adapt the orientation and/or position of the communication device; protocol parameters and other transmit and receive characteristics of the access point.
In addition, access point110can generate optionally control data99to transmit to the communication device117and/or the communication devices121,123and127, to modify the transmit and receive characteristics of these devices. Further, in an embodiment of the present invention, access point110can generate a request to receive periodic motion data from the communication device117. Alternatively, communication device117can generate and transmit motion data on a regular and/or periodic basis or in response to changes in motion data113that compare unfavorably (such as to exceed) a motion change threshold, such as to inform the access point110when the communication device117starts, stops, changes speed and/or direction, etc.
For example, communication device117can indicate to access point110that it is a mobile device, and access point110can request that communication device117send periodic motion data113. If the access point110determines that the communication device117is moving out of range, it can increase its power level, and steer its antenna beam in the direction of the communication device117and command the communication device117to modify one or more if its transmit and/or receive parameters, to increase its power level, steer its antenna beam at the access point and/or to modify other antenna parameters to compensate for a possible lowering of signal to noise ratio, etc.
Further access point110can operate to manage the transmit and receive characteristics by the adjustment of the protocol or protocols used in communicating between the access point110and the client devices121,123,117and127and power levels inherent in and associated therewith. In one mode of operation, access point110can selectively adjust one or more protocol parameters, such as the packet length, data rate, forward error correction, error detection, coding scheme, data payload length, contention period, and back-off parameters used by access point110in communication with one or more of the client devices121,123,117and127, based on the analysis of the motion data113. In this fashion, the protocol parameters can be adapted to compensate for the motion of one or more communication devices, such as communication device117, to conserve power, increase throughput, and/or to minimize unnecessary transmission power utilization based on the conditions of the network.
For example, in the event that a mobile client device, such as communication device117is anticipated to have difficulty detecting transmissions from communication device123because it is moving out of range, access point110can modify the protocol parameters so that transmissions by communication device117include more aggressive error correcting codes, increased back-off times and/or smaller data payloads or packet length to increase the chances that a packet will be received in the event of contention by communication device123. In addition, decreasing the packet length can increase the frequency of acknowledgements transmitted by access point110. These acknowledgements can be transmitted at a power level sufficient to be heard by communication device123. With increased back-off times, communication device123has less opportunity to create a potential contention.
In a further mode of operation, access point110and communication devices121,123,117and127can operate using a plurality of different, and potentially complimentary, protocols having different protocol parameters. Access point110can likewise select a particular one of a plurality of protocols that suits the particular conditions present in the wireless network111, as determined based on an assessment of motion data113. For instance, an access point can select from 802.11(n), 802.11(g) or 802.11(b) protocols having different protocol parameters, data rates, etc., based on the particular protocol best suited to the current mobility status of communication devices121,123,117and127.
While the description above has focused on the control of transmit and receive characteristics of communication devices121,123,117and127based on control data115received from access point110, in an embodiment of the present invention, each of these communication devices can respond to its own motion data, such as motion data113, to control its transmit and receive characteristics, without intervention from the access point. For example, if the communication device117determines it is moving out of range, it can increase its power level, and steer its antenna beam in the direction of the access point110and/or modify other protocol parameters to compensate for a possible lowering of signal to noise ratio, etc.
In an embodiment of the present invention, the communication devices121,123,117and127adjusts the manner in which position information is determined based on whether or not the wireless transceiver is transmitting. In particular, potential interference caused by the transmission could corrupt the GPS data received during this period. The present invention adjusts the determination of position information during transceiver transmissions to compensate for the potential loss or corruption of current GPS position data by, for instance, de-weighting the current GPS position data and relying instead on position data that is estimated based on prior GPS position and/or velocity data or based on motion data generated by an optional motion sensor.
While motion data113has been discussed above primarily with respect to the control of communications in a communications application and for gaming such as local or Internet gaming, motion data113generated in such a fashion can further be used in support of other applications such as position and navigation services, location-based services, authentication services and other applications where the position, orientation or location of the communication device117is useful or required. Particular attention to the use of communication device117in a separate gaming mode of operation will be discussed in greater detail in conjunction withFIG. 26-44. Further details including several other methods and implementations will be discussed in conjunction withFIGS. 4-25that follow.
FIG. 4presents a pictorial representation of a wireless network in accordance with an embodiment of the present invention. In particular, communication device117is a wireless telephone device or other device that includes a wireless telephony transceiver and that, in a telephony mode of operation, is capable of placing a receiving conventional wireless telephone calls, voice over internet protocol telephone calls, communicating via a wireless telephony protocol such as cellular voice or data protocol such as GSM, GPRS, AMPS, UMTS, EDGE or other wireless telephony protocol that can be used to communicate with a network119, such as a wireless telephone or data network, the Internet or other network, via base station or access point118. In an embodiment of the present invention, communication device117includes a GPS receiver and generates position information that is used by communication device117and/or network119for location-based services, for placing emergency calls such as 911 (e911) calls.
In addition, the position information can be used by communication device110for adjusting transmit, receive and antenna characteristics based on the position or motion of communication device117, either by itself or based on information obtained from a base station/access point such as base station or access point118in a similar fashion to communication device117discussed in conjunction withFIG. 3. In an embodiment of the present invention, can optionally adjust the determination of position information during transceiver transmissions to compensate for the potential loss or corruption of current GPS position data by, for instance, de-weighting the current GPS position data and relying instead on position data that is estimated based on prior GPS position and/or velocity data or based on motion data generated by an optional motion sensor.
In addition, communication device117can be a dual mode or multi-mode device that can be used in a gaming mode of operation. In this mode, communication117uses one or more sensors, such as a microphone, button, joy-stick, thumb wheel, motion sensor, touch screen or photo sensor, for generating gaming data66in response to the actions of a user. In addition, the communication device117can us its wireless telephony transceiver to sends the gaming data66to a game device115in the gaming mode of operation.
For example, the game device115can be a game console, such as a home gaming console, set-top box, arcade game or other local game device that runs a game, such as a video game and generates display data, such as audio and/or video display data, that can be transferred to display device125for display. The display device can be a television, monitor, or display screen, with or without corresponding audio production equipment, that is either integrated in game device115or connected to game device115via a port such as a video, multimedia or graphics port. Communication device117can operate as a game controller, joystick, remote controller, simulated sword, simulated gun, or be a simulated helmet, a vest, a hat, shoes, socks, pants, shorts, gloves, racquet, paddle, bat, musical instrument, or other gaming object to produce gaming data66to interact with the game. Gaming data can be game commands and preferences, user selections, authentication data control data, motion data or other data associated with a user's access to, set-up, and operation of a game. In this fashion, a user can operate communication device117as a wireless telephone to place and receive telephone calls, surf the Web or download ringtones, etc. In addition, the user can operate communication device117in a gaming mode of operation to interact with one or more games provided by game device115.
In an embodiment of the present invention, the wireless telephony receiver of communication device117communicates directly with a compatible transceiver or receiver included in game device115. Given the proximity of these devices during normal gaming conditions, the wireless telephony transceiver of communication device117adjusts its transmit power to a low power state in the gaming mode of operation so that, when sending the gaming data66, the communication device117reduces possible interference with the base station or access point118and other devices and further operates with reduced power consumption. In one mode of operation, the wireless telephony receiver of game device115can likewise send other gaming data back to communication device117in conjunction with the set-up and operation of a game, the establishment of communication between the game device115and the communication device117, the authentication of a user of communication device117, etc. This other gaming data can further include display data for display on the display device of communication device117. When communicating signals or other gaming data back to communication device115, game device115can likewise operate in a low power state, either permanently or on a case-by-case basis, to avoid interference with the base station or access point118and other devices.
FIG. 5presents a pictorial block diagram representation of a communication device117in accordance with another embodiment of the present invention. In particular, an embodiment is shown that includes similar elements from the embodiment ofFIG. 4that are referred to by common reference numerals. As discussed in conjunction withFIG. 4, communication device117can operate in a telephony mode of operation and communicate with network, such as network119, via a base station or access point118. In addition, the wireless telephony transceiver of communication device117can, in a gaming mode of operation, send data to and/or receive data from the game device115.
In this embodiment, however, game device115is itself coupled to a network119via a narrow or broadband modem, network card or other interface that is capable of transceiving data with the network119on a wireless or wired basis. In this fashion, the game device115can operate in conjunction with communication device117to select gaming applications that are stored on network119either by downloading and executing these gaming applications or by executing these applications on a gaming server or other device coupled to network119. In this fashion, the user of communication device117and gaming device115can access a wider variety of games, receive game updates engage in multiplayer games, and execute gaming applications based on data received from network119.
In another mode of operation, game device115can obtain conditional access information via the network119. For instance, game device115can be located in an arcade or other public location where many users may access the game device. Users of communication devices, such as communication device117, can subscriber to a service, either for a limited period or on an on-going basis, that allows the user to access the game device115in order to play one or more games. During an initial exchange between communication device117and game device115gaming data66is provided to game device115that includes passwords, logon identifiers or other conditional access data that can be authenticated by game device115via network119prior to allowing the user of communication device117to play the game.
FIG. 6presents a pictorial block diagram representation of a communication device117in accordance with another embodiment of the present invention. In particular, an embodiment is shown that includes similar elements from the embodiments ofFIGS. 4-5that are referred to by common reference numerals. As discussed in conjunction withFIG. 4, communication device117can operate in a telephony mode of operation and communicate with network, such as network119, via a base station or access point118. In addition, the wireless telephony transceiver of communication device117can, in a gaming mode of operation, send gaming data to and/or receive data from the game device115.
In this embodiment, communication device117can further operate in a gaming mode of operation to send the gaming data66to the gaming device115by transmitting radio frequency signals via its wireless telephony transceiver to base station or access point118for communication with game device115over network119. In particular, in implementations where game device115either does not include its own wireless telephony receiver or transceiver or the communication device117is out of range of the wireless telephony transceiver or receiver of game device115, communication device117can nevertheless interact with the game device115to play a game.
As in the embodiment ofFIG. 5, game device115is itself coupled to a network119via a narrow or broadband modem, network card or other interface that is capable of transceiving data with the network119on a wireless or wired basis. In this fashion, the communication device117can interact with network119to access game device115. For example, during an initial exchange between communication device117and network119gaming data66is provided to network119to select a game device that is coupled to network119, such as game device115. The gaming data66can include passwords, logon identifiers or other conditional access data that can be authenticated by either network119or game device115prior to allowing the user of communication device117to play a game.
FIG. 7presents a pictorial block diagram representation of a communication device117in accordance with another embodiment of the present invention. In particular, an embodiment is shown that includes similar elements from the embodiments ofFIGS. 4-6that are referred to by common reference numerals. As discussed in conjunction withFIG. 4, communication device117can operate in a telephony mode of operation and communicate with network, such as network119, via a base station or access point118. However, in this embodiment, game device115′ is a game server or other device that is coupled to network119that runs a game, such as a video game and interacts with communication device117via gaming data66. In this embodiment, communication device117can further operate in a gaming mode of operation to send the gaming data66to the gaming device115by transmitting radio frequency signals via its wireless telephony transceiver to base station or access point118for communication with game device115over network119. Game device115′ further generates display data68, such as audio, video and/or multimedia display data, that can be transferred to back to the communication device117for display on the display device associated therewith.
As in the example presented in conjunction withFIG. 7, during an initial exchange between communication device117and network119, gaming data66is provided to network119to select a game device that is coupled to network119, such as game device115′. The gaming data66can include passwords, logon identifiers or other conditional access data that can be authenticated by either network119or game device115′ prior to allowing the user of communication device117to play a game.
FIG. 8presents a pictorial block diagram representation of a communication device117in accordance with another embodiment of the present invention. In particular, an embodiment is shown that includes similar elements from the embodiments ofFIGS. 4-6that are referred to by common reference numerals. In this embodiment, however, game device115′ generates the display data68for display on a device, such as personal computer129, that is separate from communication device117and is also capable of accessing game device115′ via base station or access point118via network119. While shown as a personal computer129, the other device can similarly be implemented via a home game console, network coupled television or monitor, arcade game device or other device having a compatible display device for displaying display data68and further for communicating with network119on a wired or wireless basis.
In this embodiment, an initial exchange can take place between either communication device117or personal computer129to access game device115′, to optionally authenticate the user, to set up the game and further to identify the communication device117as the source of gaming data66and the destination for other gaming data and the personal computer129as the destination for display data68.
FIG. 9is a schematic block diagram of an embodiment of an integrated circuit in accordance with the present invention. In particular, an RF integrated circuit (IC)50is shown that implements communication device10, such as communication device117in conjunction with actuator, microphone60, keypad/keyboard58, memory54, speaker62, display56, camera76, antenna interface52and wireline port64. In operation, RF IC50includes a multi-mode transceiver/GPS receiver73having RF and baseband modules for receiving GPS signals43and further a wireless telephony receiver for transmitting and receiving data RF real-time data26and non-real-time data24via an antenna interface52and antenna. The antenna can be a fixed antenna, a single-input single-output (SISO) antenna, a multi-input multi-output (MIMO) antenna, a diversity antenna system, an antenna array or other antenna configuration that optionally allows the beam shape, gain, polarization or other antenna parameters to be controlled.
As previously discussed, the multimode transceiver/GPS receiver73can operate in a telephony mode where the real-time data26and/or non-real-time data24include telephony data communicated with a telephony network. Multimode transceiver/GPS receiver73can further operate and in a gaming mode of operation where the real-time data26and/or non-real-time data24include gaming data66, display data68and other data. As will be discussed further multi-mode transceiver/GPS receiver73for receiving and processing GPS signals in conjunction with either the telephony mode of operation, the gaming mode of operation or further in a dedicated GPS mode of operation fur use of communication device10in GPS positioning, navigation or other services.
In addition, RF IC50includes input/output module71that includes the appropriate interfaces, drivers, encoders and decoders for communicating via the wireline connection28via wireline port64, an optional memory interface for communicating with off-chip memory54, a codec for encoding voice signals from microphone60into digital voice signals, a keypad/keyboard interface for generating data from keypad/keyboard58in response to the actions of a user, a display driver for driving display56, such as by rendering a color video signal, text, graphics, or other display data, and an audio driver such as an audio amplifier for driving speaker62and one or more other interfaces, such as for interfacing with the camera76or the other peripheral devices.
The actuator48can be a sensor such as a joy-stick or thumb wheel. Further the actuator48can include a photosensor that generates gaming data based on an optical signal from a video display such as a video display associated in game console115or separate video display that operates based on display data68. In this fashion, the optical signal can be used to generate data that represents position or orientation of the communication device10. For instance, the optic sensor used on communication device10can generate optical feedback to determine if the communication device is pointed at a particular object on the screen for games involving simulated guns, or objects whose orientation is important to the game and/or for use of the communication device10as a pointing device for selecting on-screen selections in conjunction with a user interface.
In operation, communication device10can generate gaming data, such as gaming data66in response to a user's interaction with microphone60, actuator48, keypad/keyboard58, to provide game commands and preferences, user selections, authentication data, control data or other data associated with a user's access to, set-up, and operation of a game.
Power management circuit (PMU)95includes one or more DC-DC converters, voltage regulators, current regulators or other power supplies for supplying the RF IC50and optionally the other components of communication device10and/or its peripheral devices with supply voltages and or currents (collectively power supply signals) that may be required to power these devices. Power management circuit95can operate from one or more batteries, line power, an inductive power received from a remote device, a piezoelectric source that generates power in response to motion of the integrated circuit and/or from other power sources, not shown. In particular, power management module can selectively supply power supply signals of different voltages, currents or current limits or with adjustable voltages, currents or current limits in response to power mode signals received from the RF IC50. While shown as an off-chip module, PMU95can alternatively be implemented as an on-chip circuit.
In addition, RF IC50and is coupled to a motion sensor175that generates motion signals in response to motion of the mobile communication device. The GPS receiver of multi-mode transceiver/GPS receiver73receives GPS signals and generates GPS position data based on these GPS signals. Motion data generation module55generates motion data based on the motion signals and/or the GPS position data that can be included in gaming data66in the gaming mode of operation, that can be used in support of the telephony and GPS modes of operation. Various implementations of motion data generation module including many optional functions and features are presented in conjunction withFIGS. 12-18and/orFIGS. 36-38or as otherwise described herein.
Motion sensor175can be implemented via one or more one, two or three-axis accelerometers or one or more on-chip gyrating circuits implemented with microelectromechanical systems (MEMS) technology to form a piezoelectric gyroscope, a vibrating wheel gyroscope, a tuning fork gyroscope, a hemispherical resonator gyroscope, or a rotating wheel gyroscope that responds to inertial forces, such as Coriolis acceleration or linear acceleration, in one, two or three axes to generate motion data, such as a velocity vector in one, two or three dimensions and/or one, two or three orientations.
While motion sensor175is shown as an off-chip component and motion data generation module55is shown as being implemented on-chip, either of these units can be implemented either on-chip or off-chip, depending on the implementation.
In operation, the multi-mode transceiver/GPS receiver73generates an outbound RF signal from outbound data and generates inbound data from an inbound RF signal. Further, processing module225is coupled to the motion sensor175, when included, and the dual mode transceiver/GPS receiver73, and processes position information, generates the outbound data that includes the position information or motion data, and receives the inbound data that optionally includes data from a remote access point/base station to modify transmit and/or receive parameters in response to the position information that was transmitted.
As discussed in conjunction withFIGS. 3 and 4, the communication device10, places and receives wireless calls through a wireless telephone network and/or a IP telephone system, via a base station, access point or other communication portal, operates through command by the processing module225to either respond directly to motion data, such as motion data113, it generates from motion sensor175and/or the GPS receiver to control the transmit and receive characteristics of transceiver73or to respond to control data, such as control data99received from an access point or other station to control the transmit and receive characteristics of transceiver73.
For example, if the communication device10determines it is moving out of range, it can increase its power level, and steer its antenna beam in the direction of the access point and/or modify other protocol parameters to compensate for a possible lowering of signal to noise ratio, modify its receiver sensitivity, etc. In addition, position information generated by GPS receiver and/or motion sensor175can be included in the outbound RF signal sent to a telephone network to support a 911 call such as an E911 emergency call.
In an embodiment of the present invention, the RF IC50is a system on a chip integrated circuit that includes at least one processing device. Such a processing device, for instance, processing module225, may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on operational instructions. The associated memory may be a single memory device or a plurality of memory devices that are either on-chip or off-chip such as memory54. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, and/or any device that stores digital information. Note that when the RF IC50implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the associated memory storing the corresponding operational instructions for this circuitry is embedded with the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry. Motion data generation module55, multi-mode transceiver/GPS receiver73, and I/O module71can be implemented via hardware, or software and/or firmware operating in conjunction with processing module225.
In further operation, the RF IC50executes operational instructions that implement one or more of the applications (real-time or non-real-time) attributed to communication devices10and117as discussed above and in conjunction withFIGS. 1-8.
FIG. 10is a schematic block diagram of another embodiment of an integrated circuit in accordance with the present invention. In particular,FIG. 10presents a communication device30that includes many common elements ofFIG. 9that are referred to by common reference numerals. RF IC70is similar to RF IC50and is capable of any of the applications, functions and features attributed to RF IC50. However, RF IC70includes a separate wireless transceiver75for transmitting and receiving RF data40and RF voice signals42, such as real-time data26and/or non-real-time data24and further a separate GPS receiver77for receiving GPS signals43.
In operation, the RF IC70executes operational instructions that implement one or more of the applications (real-time or non-real-time) attributed to communication devices10,30and117as discussed above and in conjunction withFIG. 1-9.
FIG. 11is a schematic block diagram of another embodiment of an integrated circuit in accordance with the present invention. In particular,FIG. 11presents a communication device30′ that includes many common elements ofFIG. 10that are referred to by common reference numerals. RF IC70′ is similar to RF IC70and is capable of any of the applications, functions and features attributed to RF ICs50and70as discussed in conjunction withFIGS. 1-10. However, RF IC70′ operates in conjunction with an off-chip GPS receiver77′ for receiving GPS signals43.
In operation, the RF IC70′ executes operational instructions that implement one or more of the applications (real-time or non-real-time) attributed to communication devices10,30, and117as discussed above and in conjunction withFIGS. 1-10.
FIG. 12is a schematic block diagram of a GPS receiver210used to generate position in accordance with an embodiment of the present invention. In this embodiment, GPS receiver210, such as GPS receiver77,77′ or multi-mode receiver73generates position information186that can be used by communication devices10,30,30′ and/or117to generate gaming data66and optionally to control its own operation and/or to send to remote devices such as access point110, a base station, telephone network or system, etc. for other purposes.
In particular, global positioning system (GPS) receiver210receives a GPS signal and that generates GPS position data212based on the GPS signal. GPS receiver210generates GPS position data and GPS data quality signal216. In operation, GPS receiver210is coupled to recover a plurality of coarse/acquisition (C/A) signals and a plurality of navigation messages from received GPS signals43. The GPS receiver210utilizes the C/A signals and the navigations messages to determine the position of the communication device.
In an embodiment of the present invention, motion data generation module55is implemented via sample and hold module180and weighting module184. While sample and hold module180and weighting module184are shown as discrete modules, in an embodiment of the present invention, these modules can also be implemented in hardware, software or firmware using a processor such as processing module225or other processing elements.
In particular, GPS receiver210generates one or more clock signals. The clock signal(s) may also be used by the GPS receiver210to determine the communication device's position. GPS receiver210determines a time delay for at least some of the plurality of C/A signals in accordance with the at least one clock signal. The GPS receiver calculates a distance to a corresponding plurality of satellites of the at least some of the plurality of C/A signals based on the time delays for the at least some of the plurality of C/A signals. In other words, for each GPS signal43received, which are received from different satellites, the GPS receiver210calculates a time delay with respect to each satellite that the communication device is receiving a GPS RF signal from, or a subset thereof. For instance, the GPS receiver210identifies each satellite's signal by its distinct C/A code pattern, then measures the time delay for each satellite. To do this, the receiver produces an identical C/A sequence using the same seed number as the satellite. By lining up the two sequences, the receiver can measure the delay and calculate the distance to the satellite, called the pseudorange. Note that overlapping pseudoranges may be represented as curves, which are modified to yield the probable position.
GPS receiver210can calculate the position of the corresponding plurality of satellites based on corresponding navigation messages of the plurality of navigation messages. For example, the GPS receiver210uses the orbital position data of the navigation message to calculate the satellite's position. The GPS receiver210can determine the location of the RF IC50,70or70′ (and therefore communication device10,30,30′ or117) based on the distance of the corresponding plurality of satellites and the position of the corresponding plurality of satellites. For instance, by knowing the position and the distance of a satellite, the GPS receiver210can determine its location to be somewhere on the surface of an imaginary sphere centered on that satellite and whose radius is the distance to it. When four satellites are measured simultaneously, the intersection of the four imaginary spheres reveals the location of the receiver. Often, these spheres will overlap slightly instead of meeting at one point, so the receiver will yield a mathematically most-probable position that can be output as GPS position data212. In addition, GPS receiver210can determine the amount of uncertainty in the calculation that is output as the GPS data quality216. In the event that the GPS receiver210loses lock or otherwise receives insufficient signal from enough satellites to generate a GPS of even minimal accuracy, a minimum value of the GPS data quality216can be assigned. A transmit indicator238is generated when a wireless transceiver section such as a wireless telephone receiver, wireless LAN transceiver or other wire transceiver transmits by generating an outbound RF signal from an outbound symbol stream. A minimum value of the GPS data quality216can also be assigned when the transmit indicator238is asserted, and the when the transmit indicator is deasserted, the calculated GPS data quality can be used as GPS data quality216.
It should be noted that the GPS data quality216can include a binary value that has a first value that indicates the quality of the GPS data is greater than some minimum quality and a second value that indicates that either the transmit indicator238has been asserted or that the data quality is otherwise below some minimum value due to poor signal strength, loss of satellite reception, etc. Further, the GPS data quality216can be a multi-valued signal, that includes separate indications of signal quality including multiple quality levels, with or without a separate transmission indication.
In operation, the GPS position data212is weighted with a first weighting factor when the wireless transceiver section is generating the outbound RF signal to produce first weighted GPS position data. In addition, the GPS position data is weighted with a second weighting factor when the wireless telephone transceiver section is not generating the outbound RF signal to produce second weighted GPS position data, wherein the first weighting factor is less than the second weighting factor. Position information186is generated based on at least one of the first and second weighted GPS position data.
In an embodiment, a sample and hold module180stores a prior value of the GPS position data212. When the transmit indicator238is deasserted and the GPS data quality216indicates an acceptable level of accuracy, weight module184weights the GPS position data212by a weighting factor that is one or substantially one and the output of the sample and hold module180is weighted by a weighting factor that is zero or substantially zero. In this case, the position information186is equal to or substantially the GPS position data212. When the transmit indicator238is asserted as reflected in a minimum value of GPS data quality216or other indication, the value of the prior GPS position data is held—frozen at the last value before the transmit indicator was asserted or the last position that is known to include accurate position data. The weight module184weights the GPS position data by a weighting factor that is zero or substantially zero and the output of the sample and hold module180is weighted by a weighting factor that is one or substantially one. In this case, the position information186is equal to or substantially the prior GPS position data value held by the sample and hold module180.
FIG. 13is a graphical representation of position information determined in accordance with an embodiment of the present invention. In particular, an example of position information186is shown on a graph, in map/Cartesian coordinates, of position information that progresses from times t1-t8, corresponding to sample times or other discrete intervals used to generate and/or update position information186. While the position information186is shown in two-dimensions, three-dimensional position data can likewise be generated.
The first three times t1-t3, position data is derived from GPS position data such as GPS position data212. In this example, transmit indicator238is asserted for times t4-t5. At time t4, the GPS position data may be unreliable or inaccurate. In response to the assertion of the transmit indicator238, the sample and hold module180holds the GPS position data212from time t3and the weighting module adjusts the weighting, so that the position information186for time t4, and for the remaining duration of the time that transmit indicator238is asserted t5is equal to the prior GPS position data at time t3. In this example, at time t6, the GPS data quality216reflects unacceptable data quality, for instance due to the time required for the GPS receiver210to recover from the dropout caused by transmission during the time period t4-t5. In this case, the sample and hold module180continues to holds the GPS position data212from time t3and the weighting module retains the weightings from time t4-t5and the position information186at time t6is also equal to the prior GPS position data at time t3. At time t7and t8, when the transmit indicator238is deasserted, and the GPS position data again becomes reliable, the GPS position data is used to generate the position information.
FIG. 14is a schematic block diagram of a GPS receiver210used to generate position in accordance with an embodiment of the present invention. In this embodiment, GPS receiver210, such as GPS receiver77,77′ or multi-mode receiver73generates position information186that can be used by communication devices10,30,30′ and/or117to generate gaming data66, to control its own operation or to otherwise send to remote devices such as access point110, a base station, telephone network or system, etc.
In particular, GPS velocity data is generated by difference module214based on the difference between successive samples of GPS position data212. This GPS velocity data is held by sample and hold module181and used to estimate future positions based on the last know position and the last know velocity in the case of a dropout caused by either the assertion of the transmit indicator238or an otherwise unacceptable GPS data quality216. In particular, in case of a dropout, prior GPS position data216is held by sample and hold module180and used as the initial condition for integrator190. Prior GPS velocity data held by sample and hold module181is integrated during a dropout to form estimated position data that is weighted with a 1 during a dropout, while the GPS position data is weighted zero to form position information192. After a dropout ceases and accurate GPS data212returns, the weighting module weights the GPS position data212with a 1 and the estimated position data with a zero to form position information192.
In an embodiment of the present invention, motion data generation module55is implemented via sample and hold modules180and181, difference module214, integrator190and weighting module184that can be implemented in hardware, software or firmware using a processor such as processing module225or other processing elements.
FIG. 15is a graphical representation of position information determined in accordance with an embodiment of the present invention. In particular, an example of position information192is shown on a graph, in map/Cartesian coordinates, of position information that progresses from times t1-t8, corresponding to sample times or other discrete intervals used to generate and/or update position information192. While the position information192is shown in two-dimensions, three-dimensional position data can likewise be generated.
The first three times, position data is derived from GPS position data such as GPS position data212. In this example, transmit indicator238is asserted for times t4-t5. At time t4, the GPS position data may be unreliable or inaccurate. In response to the assertion of the transmit indicator238, the sample and hold module180holds the GPS position data212from time t3and the sample and hold181holds the velocity at t3to form an estimated velocity vector. The integrator190generates estimated position data at times t4-t6based on the position and velocity at time at time t3. The weighting module adjusts the weighting for time t4, and for the remaining duration of the time that transmit indicator238is asserted and the dropout condition further persists, so that the estimated position data is weighted and the GPS position data212is deweighted in determining position information192. At time t7and t8, when the transmit indicator238is deasserted and the GPS position data again becomes reliable, the GPS position data212is used to generate the position information.
FIG. 16is a schematic block diagram of a gyrating circuit200and GPS receiver210used to generate position and velocity information in accordance with an embodiment of the present invention. In this embodiment, gyrating circuit200, such as motion sensor175and GPS receiver210, such as GPS receiver77,77′ or multi-mode receiver73cooperate to generate position information230and velocity information232that can be used by communication devices10,30,30′ and/or117to generate gaming data66, to control its own operation or otherwise to send to remote devices such as access point110, a base station, telephone network or system, etc.
In particular, an embodiment of motion data generation module55is shown where GPS receiver210generates GPS position data and GPS data quality signal216that includes or is otherwise based on transmit indicator238as previously discussed in conjunction withFIGS. 12-15. At the same time, gyrating circuit200generates a motion vector202that is integrated by integrator204based on an initial condition208that is either its own prior estimated position data206or the prior GPS position data212. By adding the motion vector202to the prior position, new estimated position data206can be generated.
In this embodiment, the GPS data quality216is compared with a value, such as quality threshold218that corresponds to a level of quality that is roughly on par with accuracy of position information that can be estimated using the gyrator circuit200. If the GPS data quality216compares favorably to the quality threshold, the position information230is selected by multiplexer222as the GPS position data212in response to the selection signal215from comparator217. When the GPS data quality216compares unfavorably to the quality threshold218, such as during a dropout condition and/or a time when transmit indicator238is asserted, the selection signal215from comparator217selects the position information230from the estimated position data206. The estimated position data206is initially generated from the prior (good) value of the GPS position data212(delayed by delay221) and the current motion vector202. If the dropout condition persists, the integrator204generates new estimated position data206based on the current motion vector202and the prior estimated position206, as selected by multiplexer220in response to selection signal215. While an integrator204is shown in this configuration, low-corner frequency low-pass filters, integrators with additional filtration and/or other filter configurations could likewise be employed. For instance, estimated position data206can be generated based on a filtered difference between current motion vector values and either past GPS position data212or past estimated position data206, to provide more accurate estimates, to reject noise and/or to otherwise smooth the estimated position data206.
In a similar fashion, velocity information232is generated either from the gyrating circuit200or from the GPS receiver210. In particular, when the GPS data quality216compares favorably to quality threshold218, velocity information232is selected from a difference module214that generates a velocity from the difference between successive values of the GPS position data212. If, however, the GPS data quality216compares unfavorably to the quality threshold218, the velocity information232is selected instead from the motion vector202.
While shown in a schematic block diagram as separate modules, the integrator204, difference module214, comparator217, and multiplexers220,222, and224can likewise be implemented as part of processing module225either in hardware, firmware or software.
FIG. 17is a graphical representation of position information determined in accordance with an embodiment of the present invention. In particular, position information230is shown that shows a graph, in map/Cartesian coordinates, of position information that progresses from times t1-t8, corresponding to sample times or other discrete intervals used to generate and/or update position information230. While the position information230is shown in two-dimensions, three-dimensional position data can likewise be generated.
The first three times, position data is derived from GPS position data such as GPS position data212. The velocity information, as shown for this interval, is GPS velocity data that is derived by the difference between the GPS position data. In this example, a GPS signal dropout covers times t4-t6due to poor signal quality, the assertion of transmit indicator238, etc. At time t4, the GPS position data may be unreliable or inaccurate, so the new position is estimated position data that is generated from the prior GPS position data at time t3, and updated by the current motion vector, such as motion vector202from the gyrating circuit. At times t5and t6, the GPS position data still may be unreliable or inaccurate, so the new position is estimated position data that is generated from the prior GPS position data (in this case prior estimated positions), updated by the current motion vector. At time t7and t8, when the GPS position data again becomes reliable, the GPS position data is used to generate the position information.
FIG. 18is a schematic block diagram of a gyrating circuit200and GPS receiver210used to generate position and velocity information in accordance with another embodiment of the present invention. In particular, an embodiment of motion data generation module55is shown that includes similar elements fromFIG. 17that are referred to by common reference numerals. In this embodiment, however, data from the gyrating circuit200and GPS receiver210are blended, based on the GPS data quality216. In particular, weighting modules240,242, and244are provided that form the position information230, the velocity information232and the initial condition208based on a weighted average of the GPS and gyrator produced values, wherein the weighting coefficients are dynamically chosen based on the GPS data quality216.
For instance, for the value of the GPS data quality216corresponding to the highest accuracy GPS data and the transmit indicator238is deasserted, the weighting coefficients can be chosen to maximize the weight of the GPS position212, and to minimize the weight of the estimated position data206in calculating the initial condition208and the position information230and further to maximize the weight of the GPS velocity data224, and to minimize the weight of the motion vector202in calculating the velocity information232. Further, for the value of the GPS data quality corresponding to the lowest accuracy GPS data (including a dropout condition, and/or a time when transmit indicator238is asserted), the weighting coefficients can be chosen to minimize the weight of the GPS position212, and to maximize the weight of the estimated position data206in calculating the initial condition208and the position information230and further to minimize the weight of the GPS velocity data224, and to maximize the weight of the motion vector202in calculating the velocity information232. Also, for intermediate values of the GPS data quality216, intermediate weighting values could be used that blend the GPS data with the data derived from the gyrating circuit to generate more robust estimates of these values.
FIG. 19is a schematic block diagram of an embodiment of RF transceiver135and GPS receiver187in accordance with the present invention. The RF transceiver135, such as transceiver75includes an RF transmitter139, and an RF receiver137. The RF receiver137includes a RF front end140, a down conversion module142and a receiver processing module144. The RF transmitter139includes a transmitter processing module146, an up conversion module148, and a radio transmitter front-end150.
As shown, the receiver and transmitter are each coupled to an antenna through an off-chip antenna interface171and a diplexer (duplexer)177, that couples the transmit signal155to the antenna to produce outbound RF signal170and couples inbound signal152to produce received signal153. Alternatively, a transmit/receive switch can be used in place of diplexer177. While a single antenna is represented, the receiver and transmitter may share a multiple antenna structure that includes two or more antennas. In another embodiment, the receiver and transmitter may share a multiple input multiple output (MIMO) antenna structure, diversity antenna structure, phased array or other controllable antenna structure that includes a plurality of antennas. Each of these antennas may be fixed, programmable, and antenna array or other antenna configuration. Also, the antenna structure of the wireless transceiver may depend on the particular standard(s) to which the wireless transceiver is compliant and the applications thereof.
In operation, the transmitter receives outbound data162that includes non-realtime data or real-time data including gaming data in a gaming mode of operation, from a host device, such as communication device10or other source via the transmitter processing module146. The transmitter processing module146processes the outbound data162in accordance with a particular wireless communication standard that can include a cellular data or voice protocol, a WLAN protocol, piconet protocol or other wireless protocol such as IEEE 802.11, Bluetooth, RFID, GSM, CDMA, et cetera) to produce baseband or low intermediate frequency (IF) transmit (TX) signals164that includes an outbound symbol stream that contains outbound data162. The baseband or low IF TX signals164may be digital baseband signals (e.g., have a zero IF) or digital low IF signals, where the low IF typically will be in a frequency range of one hundred kilohertz to a few megahertz. Note that the processing performed by the transmitter processing module146can include, but is not limited to, scrambling, encoding, puncturing, mapping, modulation, and/or digital baseband to IF conversion.
The up conversion module148includes a digital-to-analog conversion (DAC) module, a filtering and/or gain module, and a mixing section. The DAC module converts the baseband or low IF TX signals164from the digital domain to the analog domain. The filtering and/or gain module filters and/or adjusts the gain of the analog signals prior to providing it to the mixing section. The mixing section converts the analog baseband or low IF signals into up-converted signals166based on a transmitter local oscillation168.
The radio transmitter front end150includes a power amplifier and may also include a transmit filter module. The power amplifier amplifies the up-converted signals166to produce outbound RF signals170, which may be filtered by the transmitter filter module, if included. The antenna structure transmits the outbound RF signals170to a targeted device such as a RF tag, base station, an access point and/or another wireless communication device via an antenna interface171coupled to an antenna that provides impedance matching and optional bandpass filtration.
The receiver receives inbound RF signals152, that may include display data, other gaming data of other real-time or non-real-time data, via the antenna and off-chip antenna interface171that operates to process the inbound RF signal152into received signal153for the receiver front-end140. In general, antenna interface171provides impedance matching of antenna to the RF front-end140, optional bandpass filtration of the inbound RF signal152and optionally controls the configuration of the antenna in response to one or more control signals141generated by processing module225.
The down conversion module142includes a mixing section, an analog to digital conversion (ADC) module, and may also include a filtering and/or gain module. The mixing section converts the desired RF signal154into a down converted signal156that is based on a receiver local oscillation158, such as an analog baseband or low IF signal. The ADC module converts the analog baseband or low IF signal into a digital baseband or low IF signal. The filtering and/or gain module high pass and/or low pass filters the digital baseband or low IF signal to produce a baseband or low IF signal156that includes an inbound symbol stream. Note that the ordering of the ADC module and filtering and/or gain module may be switched, such that the filtering and/or gain module is an analog module.
The receiver processing module144processes the baseband or low IF signal156in accordance with a particular wireless communication standard that can include a cellular data or voice protocol, a WLAN protocol, piconet protocol or other wireless protocol such as IEEE 802.11, Bluetooth, RFID, GSM, CDMA, et cetera) to produce inbound data160that can include non-realtime data, realtime data and control data. The processing performed by the receiver processing module144can include, but is not limited to, digital intermediate frequency to baseband conversion, demodulation, demapping, depuncturing, decoding, and/or descrambling.
GPS receiver187, such as GPS receiver77, includes an RF front-end140′ and down conversion module142′ that operates in a similar fashion to the modules described in conjunction with RF receiver137, however, to receive and convert GPS RF signals143into a plurality of down converted GPS signals159. Note that the GPS RF signals143may be one or more of: an L1 band at 1575.42 MHz, which includes a mix of navigation messages, coarse-acquisition (C/A) codes, and/or encryption precision P(Y) codes; an L2 band at 1227.60 MHz, which includes P(Y) codes and may also include an L2C code; and/or an L5 band at 1176.45 MHz. Further note that the GPS RF signals143can include an RF signal from a plurality of satellites (e.g., up to 20 different GPS satellites RF signals may be received). GPS processing module144′ operates on the down converted signal159to generate GPS data163, such as GPS position data212and GPS data quality signal216and/or other GPS data.
Processing module225includes circuitry, software and/or firmware that generates transmit indicator238that is either used internally for supplied to GPS processing module144′, and motion data, such as motion data113, position information186,192,230, and/or velocity information232, from motion parameters161, such as motion vector202and GPS data163, such as GPS position data212. As previously described, processing module225optionally includes this motion data in outbound data162to be transmitted to a remote station such as access point110, base station, telephone network, etc. In an embodiment of the present invention, the processing module225includes circuitry as described in conjunction with previous embodiments and/or other hardware, software or firmware.
In addition, processing module225optionally includes circuitry, software and/or firmware that generates control signals141from either the motion data or control data, such as control data115, received in inbound data160from a remote station such as access point110. In operation, processing module225generates control signals141to modify the transmit and/or receiver parameters of the RF transceiver125such as the protocol parameters or protocols used by receiver processing module144and transmitter processing module146, antenna configurations used by antenna interface171to set the beam pattern, gain, polarization or other antenna configuration of the antenna, transmit power levels used by radio transmitter front-end150and receiver parameters, such as receiver sensitivity used by RF front-ends140and140′ of the RF receiver137and the GPS receiver187.
In an embodiment of the present invention, processing module225includes a look-up table, software algorithm, or circuitry that generates the desired control signals141based on the particular motion data or control data. In this fashion, the processing module225can operate adjust a receive parameter based on the receive control signal, such as a receiver sensitivity, a protocol selection, a data rate, a packet length, a data payload length, a coding parameter, a contention period, and/or a back-off parameter. Further, the processing module can operate to modify an in-air beamforming phase, a diversity antenna selection, an antenna gain, a polarization antenna selection, a multi-input multi-output (MIMO) antenna structure, and/or a single-input single-output (SISO) antenna structure of the antenna171. In addition, the processing module225can operate to adjust a transmit parameter such as a transmit power, a protocol selection, a data rate, a packet length, a data payload length, a coding parameter, a contention period, and a back-off parameter.
In addition, processing module225can optionally access a look-up table, algorithm, database or other data structure that includes a list or data sufficient to define one or more restricted areas where either the operation of the communication device10,30,30′, or117is prohibited or the communication device10,30,30′,117or125is not permitted to transmit. The restricted areas could correspond to hospitals, airplanes in the air, security areas or other restricted areas. When the position information corresponds to one of these restricted areas, the RF transceiver137or just the RF transmitter127could be disabled by processing module225via one or more control lines141in accordance with the corresponding restriction in place for this particular restricted area.
In an embodiment of the present invention, receiver processing module144, GPS processing module144′ and transmitter processing module146can be implemented via use of a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on operational instructions. The associated memory may be a single memory device or a plurality of memory devices that are either on-chip or off-chip such as memory54. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, and/or any device that stores digital information. Note that when these processing devices implement one or more of their functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the associated memory storing the corresponding operational instructions for this circuitry is embedded with the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.
While the processing module144, GPS processing module144′, transmitter processing module146, and processing module225are shown separately, it should be understood that these elements could be implemented separately, together through the operation of one or more shared processing devices or in combination of separate and shared processing.
FIG. 20is a schematic block diagram of an embodiment of RF transceiver135′ and with multi-mode receiver137′ in accordance with the present invention. In particular, RF transceiver135′ includes many similar elements of RF transceiver135that are referred to by common reference numerals. However, RF receiver137′ operates as a multi-mode device, combining the functionality of RF receiver137and GPS receiver187to produce inbound data/GPS data160″ as either inbound data160(in an either telephony mode or gaming mode) or GPS data163(in either telephony mode, gaming mode or GPS mode). In this fashion, RF front end140″ and down conversion module142″ can be configured based one of the control signals141to operate as either RF front end140and down conversion module142to receive and down convert inbound RF signal153or as RF front end140′ and down conversion module142′ to receive and convert inbound GPS signal143as described in conjunction withFIG. 10.
In addition, receiver processing module144″ further includes the functionality of receiver processing module144and additional GPS processing functionality of GPS processing module144′ to similarly operate based on the selected mode of operation.
FIG. 21is a side view of a pictorial representation of an integrated circuit package in accordance with an embodiment of the present invention. RF IC330, such as RF IC50or70, includes a gyrator die314with a gyrating circuit such as motion sensor175and an RF system on a chip (SoC) die312that includes the remaining elements of RF IC50,70or70′, a substrate306, and bonding pads318. This figure is not drawn to scale, rather it is meant to be a pictorial representation that illustrates the juxtaposition of the RF SoC die312, gyrator die314and the substrate306. RF SoC die312and gyrator die are coupled to one another and to respective ones of the bonding pads318using bonding wires, bonding pads and/or by other connections.
FIG. 22is a side view of a pictorial representation of an integrated circuit package in accordance with an embodiment of the present invention. RF IC332is similar to the configuration described in conjunction withFIG. 21is presented with similar elements referred to by common reference numerals. In particular, alternate stacked configuration is shown that stacks gyrator die314on top of RF SoC die312. In this configuration, RF SoC die312and gyrator die314can be coupled to one another using bonding wires, bonding pads, conductive vias and/or by other connections. This figure is also not drawn to scale.
FIG. 23is a side view of a pictorial representation of an integrated circuit package in accordance with an embodiment of the present invention. RF IC334is similar to the configuration described in conjunction withFIGS. 21 and 22with similar elements referred to by common reference numerals. In this particular configuration, motion sensor175is included on RF SoC die316that includes the remaining components or RF IC50,70or70′. This figure is also not drawn to scale.
FIG. 24is a side view of a pictorial representation of an integrated circuit package in accordance with the present invention. RF IC325, such as RF IC50,70or70′, includes a system on a chip (SoC) die300, a memory die302a substrate306, bonding pads308and gyrator304, such as motion sensor175. This figure is not drawn to scale. In particular, the RF IC325is integrated in a package with a top and a bottom having a plurality of bonding pads308to connect the RF IC325to a circuit board, and wherein the on-chip gyrator304is integrated along the bottom of the package. In an embodiment of the present invention, die302includes an on-chip memory and die300includes the processing module225and the remaining elements of RF IC50,70or70′. These dies are stacked and die bonding is employed to connect these two circuits and minimize the number of bonding pads, (balls) out to the package. Both SoC die300and memory die302are coupled to respective ones of the bonding pads308via bonding wires or other connections.
Gyrator304is coupled to the SoC die300, and/or the memory die302via conductive vias, bonding wires, bonding pads or by other connections. The positioning of the Gyrator on the bottom of the package in a flip chip configuration allows good heat dissipation of the gyrator304to a circuit board when the RF integrated circuit is installed.
FIG. 25is a bottom view of a pictorial representation of an integrated circuit package in accordance with the present invention. As shown, the bonding pads (balls)308are arrayed in an area of the bottom of the integrated circuit with an open center portion310and wherein the on-chip gyrator304is integrated in the open center portion. While a particular pattern and number of bonding pads308are shown, a greater or lesser number of bonding pads can likewise be employed with alternative configurations within the broad scope of the present invention.
While RF ICs325,330,332and334provide several possible implementations of RF ICs in accordance with the present invention, other circuits including other integrated circuit packages can be implemented including other stacked, in-line, surface mount and flip chip configurations.
FIG. 26is a schematic block diagram of an overhead view of an embodiment of a gaming system that includes a game console and a gaming object. A video display598is shown that can be coupled to game console600, such as game device115or115′, to display video generated by game console600in conjunction with the set-up and playing of the game and to provide other user interface functions of game console600. It should also be noted that game console600can include its own integrated video display that displays, either directly or via projection, video content in association with any of the functions described in conjunction with video display598.
The gaming system has an associated physical area in which the game console and the gaming object are located. The physical area may be a room, portion of a room, and/or any other space where the gaming object and game console are proximally co-located (e.g., airport terminal, at a gaming center, on an airplane, etc.). In the example shown the physical area includes desk592, chair594and couch596.
In an embodiment of the present invention, the gaming object610can be implemented using communication device117operating in the gaming mode of operation, or via another wireless game controller and/or any object used or worn by the player to facilitate play of a video game. For example, the gaming object610can, in the context of a game, simulate the actions of a sword, a gun, a helmet, a vest, a hat, shoes, socks, pants, shorts, gloves, a sporting good, such as a bat, racquet, paddle or other object. In this system, the game console600determines the positioning of the gaming object610within the physical area based on motion data transmitted to the game console600, such as position information, velocity information of other motion data included in gaming data66. Once the gaming object610's position is determined, the game console600tracks the motion of the gaming object to facilitate video game play. In this embodiment, the game console may determine the positioning of the gaming object610within a positioning tolerance (e.g., within a meter) at a positioning update rate (e.g., once every second or once every few seconds) and tracks the motion within a motion tracking tolerance (e.g., within a few millimeters) at a motion tracking update rate (e.g., once every 10-100 milliseconds) based on gaming data generated in response to the actions of a user in the form of position data. The gaming object610can include a joystick, touch pad, wheel, one or more buttons and/or other user interface devices that generates other gaming data66that includes other user data in response to the actions of a user that is further transmitted to the game console600as gaming data66.
In operation, the gaming object610and gaming console600communicate gaming data66via wireless transceivers such as the wireless telephony transceivers discussed in conjunction withFIG. 4.
FIG. 27is a schematic block diagram of a side view of an embodiment of a gaming system ofFIG. 1. In particular, a user606is represented schematically as holding a particular gaming object610in his or her hand or hands. Data599, such as gaming data66, is generated by the gaming object610and communicated via a wireless communication path with the game console600. The data599can include user selections, commands, motion data indicating the position, orientation, and/or motion of the gaming object610or other user data that is generated based on the actions of the user in conjunction with the playing, and set-up of a particular game, and/or the user's other interactions with the game console600.
Game console600includes an interface module632for coupling to the gaming object610. In particular, interface module632includes a transceiver630, such as a wireless telephony transceiver, for receiving data599, such as gaming data66, transmitted from gaming object610and for optionally transmitting other data599, such as display data68or other data back to gaming object610. Game console600further includes a memory624and processor622that are coupled to interface module632via a bus625.
Network interface627provides a coupling to a network, such as network119as discussed in conjunction withFIGS. 4-8. In particular, network interface itself can be used to transceive data such as gaming data66and/or display data68with the gaming object610or a remote display device, and further to communicate authentication data, download game applications, run remote game applications, etc.
In operation, processor622executes one or more routines such as an operating system, utilities, and one or more applications such as video game applications or other gaming applications that operate based on data599received from gaming object610, that generate data599for transmission to gaming object610, and that produce video information such as display data68. In addition, such video information can be converted to display signal via driver626, such as a signal generation module or other video processor for use by an integrated display device or a display device coupled to game console600via an optional display port, such as a video connector, component video port, S-video connector, parallel or serial video port, HDMI port or other video port.
Processor622can include a dedicated or shared processing device. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on operational instructions. The memory624can be a single memory device or a plurality of memory devices. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, and/or any device that stores digital information. Note that when the processor622implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory storing the corresponding operational instructions is embedded with the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry. While a particular bus architecture is shown, alternative bus architectures including architectures having two or more buses or direct connectivity between the various modules of game console600, can likewise be employed within the broad scope of the present invention.
FIG. 28is a schematic block diagram of an overhead view of another embodiment of a gaming system that includes a game console, a plurality of players and a plurality of gaming objects. In this instance, interface module632of game console600communicates data599and similar data599′, such as gaming data66and display data68, with both gaming object610and gaming object610′. In an embodiment of the present invention, game console600operates on a separate frequency for each device, however, other multiple access techniques can likewise be employed.
FIG. 29is a schematic block diagram of a side view of another embodiment of a gaming system that includes remote motion sensing devices that can be implemented in conjunction with a single user/player. In this embodiment, the gaming object611communicates with remote motion sensing devices640that can be embodied as a helmet, a shirt, pants, gloves, and socks, that incorporated in a wearable housing, that otherwise can be attached a user's body, or that otherwise can be coupled to track the motion of a portion of the user's body. Each of the remote motion sensing devices640generates motion signals that are sent to gaming object610for use in the generation of motion data via, for instance, a motion data generation module55. In this embodiment, the positioning of the remote motion sensing devices640can be determined within a positioning tolerance (e.g., within a meter) at a positioning update rate (e.g., once every second or once every few seconds) with the motion tracked within a motion tracking tolerance (e.g., within a few millimeters) at a motion tracking update rate (e.g., once every 10-100 milliseconds) within a position and motion tracking area that is range of a separate transceiver, such as an RFID transceiver, incorporated in gaming object610.
In one mode of operation, the gaming object610sends one or more RF signals on a continuous basis and reads the motion signals generated by each of the remote motion sensing devices640periodically (e.g., once every 10-100 milliseconds) to update the positioning of remote motion sensing devices640. In another mode of operation, the gaming object610sends one or more RF signals periodically (e.g., once every 10-100 milliseconds) and reads the motion signals generated by each of the remote motion sensing devices640only when required to update the positioning of the remote motion sensing devices640.
FIGS. 30-32are diagrams of an embodiment of a coordinate system of a localized physical area that may be used for a gaming system. In these figures an xyz origin is selected to be somewhere in the localized physical area and each point being tracked and/or used for positioning on the player and/or on the gaming object610is determined based on its Cartesian coordinates (e.g., x1, y1, z1). As the player and/or gaming object moves, the new position of the tracking and/or positioning points are determined in Cartesian coordinates with respect to the origin.
FIG. 33is a block diagram representation of a gaming system in accordance with an embodiment of the present invention that includes communication device117and at least one remote motion sensing device526, such as remote motion sensing devices640. Remote motion sensing device526includes a motion sensor520for generating motion signals522in response to the motion of a user, such as user606. Motion sensor520can include an on-chip gyrator or accelerometer or other position or motion sensing device along with other driver circuitry for generating motion signals522based on the actions of the user606.
Transceiver524sends the motion signals to communication device117. In an embodiment of the present invention, transceiver524can be implemented via a RFID tag that is coupled to receive an RF signal528initiated by communication device, such as a 60 GHz RF signal or other RF signal. In a similar fashion to a passive RFID tag, transceiver524converts energy from the RF signal528into a power signal for powering the transceiver524or all or some portion of the remote motion sensing device526. By the remote motion sensing device526deriving power, in whole or in part, based on RF signal528, the remote motion sensing device526can optionally be portable, small and light. Transceiver524conveys the motion signals522back to the communication device117by backscattering the RF signal528based on the motion signals522.
FIG. 34is a schematic block diagram of another embodiment of an integrated circuit in accordance with the present invention. In particular,FIG. 34presents a communication device10′, such as communication device117, that includes many common elements ofFIGS. 9-11that are referred to by common reference numerals. RF IC50′ is similar to RF IC50and is capable of any of the applications, functions and features attributed to RF ICs50and70as discussed in conjunction withFIGS. 1-10. However, RF IC70′ includes a receiver, such as an RFID reader or other receiver or transceiver79that receives motion signals, such as motion signals522carried by RF signal528from at least one remote motion sensing device526. In an embodiment of the present invention the antenna and antenna interface74′ can include an off-chip near field coil, however, an on-chip near-field coil can likewise be implemented.
In operation, motion data generation module55generates motion data based on the motion signals522, and optionally based further on GPS position data generated by multi-mode transceiver/GPS receiver73. For instance, motion data generation module55can generate motion data that is based on one or more motion vectors that are based on the motion signals and further based on a reference position based on the GPS position data.
This motion data can be transmitted to a game device, such as game device115,115′ or game console600when communication device10′ is in a gaming mode of operation. It should be noted that the transmitted motion data can further include motion data generated by motion data generation module55that represents the motion of communication device10′, based on GPS position data and/or data from motion sensor175.
While the transceiver79has been incorporated in RF IC50to form the design of RF IC50′, RF ICs70and70′ can be modified in a similar fashion to include transceiver79.
FIG. 35is a schematic block diagram of an embodiment of an RFID reader and an RFID tag. In particular, RFID reader705represents a particular implementation of transceiver79of communication device117. In addition, RFID tag735represents a particular implementation of transceiver526of remote motion sensing device526. As shown, RFID reader705includes a protocol processing module40, an encoding module542, an RF front-end546, a digitization module548, a predecoding module550and a decoding module552, all of which together form components of the RFID reader705. RFID705optionally includes a digital-to-analog converter (DAC)544.
The protocol processing module540is operably coupled to prepare data for encoding in accordance with a particular RFID standardized protocol. In an exemplary embodiment, the protocol processing module540is programmed with multiple RFID standardized protocols to enable the RFID reader705to communicate with any RFID tag, regardless of the particular protocol associated with the tag. In this embodiment, the protocol processing module540operates to program filters and other components of the encoding module542, decoding module552, pre-decoding module550and RF front end546in accordance with the particular RFID standardized protocol of the tag(s) currently communicating with the RFID reader705. However, if the remote motion sensing devices526each operate in accordance with a single protocol, and the RFID reader is not used by communication device117for other purposes, such as conditional access, payment transaction, etc., this flexibility can be omitted.
In operation, once the particular RFID standardized protocol has been selected for communication with one or more RFID tags, such as RFID tag735, the protocol processing module540generates and provides digital data to be communicated to the RFID tag735to the encoding module542for encoding in accordance with the selected RFID standardized protocol. This digital data can include commands to power up the RFID tag735, to read motion data or other commands or data used by the RFID tag in association with its operation. By way of example, but not limitation, the RFID protocols may include one or more line encoding schemes, such as Manchester encoding, FM0 encoding, FM1 encoding, etc. Thereafter, in the embodiment shown, the digitally encoded data is provided to the digital-to-analog converter544which converts the digitally encoded data into an analog signal. The RF front-end546modulates the analog signal to produce an RF signal at a particular carrier frequency that is transmitted via antenna560to one or more RFID tags, such as RF ID rag735. The antenna560can include a near-field coil that is either implemented on RFIC50′ or is located off-chip.
The RF front-end546further includes transmit blocking capabilities such that the energy of the transmitted RF signal does not substantially interfere with the receiving of a back-scattered or other RF signal received from one or more RFID tags via the antenna560. Upon receiving an RF signal from one or more RFID tags, the RF front-end546converts the received RF signal into a baseband signal. The digitization module548, which may be a limiting module or an analog-to-digital converter, converts the received baseband signal into a digital signal. The predecoding module550converts the digital signal into an encoded signal in accordance with the particular RFID protocol being utilized. The encoded data is provided to the decoding module552, which recaptures data, such as motion signals522therefrom in accordance with the particular encoding scheme of the selected RFID protocol. The protocol processing module540processes the recovered data to identify the object(s) associated with the RFID tag(s) and/or provides the recovered data to the processor225.
The processing module540may be a single processing device or a plurality of processing devices. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuitry and/or operational instructions. The processing module may have an associated memory element, which may be a single memory device, a plurality of memory devices, and/or embedded circuitry of the processing module. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information. Note that when the processing module540implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory element storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.
RFID tag735that includes a power generating circuit740, an oscillation module744, a processing module746, an oscillation calibration module748, a comparator750, an envelope detection module752, a capacitor C1, and a transistor T1. The oscillation module744, the processing module746, the oscillation calibration module748, the comparator750, and the envelope detection module752may be a single processing device or a plurality of processing devices. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuitry and/or operational instructions. One or more of the modules744,746,748,750,752may have an associated memory element, which may be a single memory device, a plurality of memory devices, and/or embedded circuitry of the module. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information. Note that when the modules744,746,748,750,752implement one or more of their functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory element storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.
In operation, the power generating circuit740generates a supply voltage (VDD) from a radio frequency (RF) signal that is received via antenna754. The power generating circuit740stores the supply voltage VDDin capacitor C1and provides it to modules744,746,748,750,752.
When the supply voltage VDDis present, the envelope detection module752determines an envelope of the RF signal, which includes a DC component corresponding to the supply voltage VDD. In one embodiment, the RF signal is an amplitude modulation signal, where the envelope of the RF signal includes transmitted data. The envelope detection module752provides an envelope signal to the comparator750. The comparator750compares the envelope signal with a threshold to produce a stream of recovered data.
The oscillation module744, which may be a ring oscillator, crystal oscillator, or timing circuit, generates one or more clock signals that have a rate corresponding to the rate of the RF signal in accordance with an oscillation feedback signal. For instance, if the RF signal is a 900 MHz signal, the rate of the clock signals will be n*900 MHz, where “n” is equal to or greater than 1.
The oscillation calibration module748produces the oscillation feedback signal from a clock signal of the one or more clock signals and the stream of recovered data. In general, the oscillation calibration module748compares the rate of the clock signal with the rate of the stream of recovered data. Based on this comparison, the oscillation calibration module748generates the oscillation feedback to indicate to the oscillation module744to maintain the current rate, speed up the current rate, or slow down the current rate.
The processing module746receives the stream of recovered data and a clock signal of the one or more clock signals. The processing module746interprets the stream of recovered data to determine a command or commands contained therein. The command may be to store data, update data, reply with stored data, verify command compliance, generate motion data that carries motion signals522from motion sensor520, send an acknowledgement, etc. If the command(s) requires a response, the processing module746provides a signal to the transistor T1at a rate corresponding to the RF signal. The signal toggles transistor T1on and off to generate an RF response signal that is transmitted via the antenna. In one embodiment, the RFID tag735utilizing a back-scattering RF communication. Note that the resistor R1functions to decouple the power generating circuit740from the received RF signals and the transmitted RF signals.
The RFID tag735may further include a current reference (not shown) that provides one or more reference, or bias, currents to the oscillation module744, the oscillation calibration module748, the envelope detection module752, and the comparator750. The bias current may be adjusted to provide a desired level of biasing for each of the modules744,748,750, and752.
FIG. 36is a diagram of another method for determining position and/or motion tracking that begins in step1300by determining a reference point within a coordinate system. The reference point may be the origin or any other point within the localized physical area. In particular, the reference point can be the location of the game console600, the location of the game object610at a particular time, such as a set-up time, or the location of one of a plurality of remote motion sensing devices526, however, other reference points can likewise be used.
The method continues in one or more branches. Along one branch, a vector with respect to the reference point is determined to indicate the player's initial position based on the reference point as shown in step1302. This branch continues by updating the player's position to track the player's motion based on user data as shown in step1304.
The other branch includes determining a vector with respect to the reference point for the gaming object610and/or the remote motion sensing devices526to establish their initial position as shown in step1306. This branch continues by updating the motion data to track the gaming object's or player's motion as shown in step1308. Note that the rate of tracking the motion of the player and/or gaming object may be done at a rate based on the video gaming being played and the expected speed of motion. Further note that a tracking rate of 10 milliseconds provides 0.1 mm accuracy in motion tracking.
FIG. 37is a diagram of another method for determining position and/or motion tracking that begins in step1310by determining the coordinates of the player's, or players', position in the physical area. The method then continues by determining the coordinates of a gaming object's initial position as shown in step1312. Note that the positioning of the gaming object may be used to determine the position of the player(s) if the gaming object is something worn by the player or is in close proximity to the player. Alternatively, the initial position of the player may be used to determine the initial position of the gaming object. Note that one or more of the plurality of positioning techniques described herein may be used to determine the position of the player and/or of the gaming object.
The method then proceeds by updating the coordinates of the player's, or players', position in the physical area to track the player's motion as shown in step1314. The method also continues by updating the coordinates of a gaming object's position to track its motion as shown in step1316. Note that the motion of the gaming object may be used to determine the motion of the player(s) if the gaming object is something worn by the player or is in close proximity to the player. Alternatively, the motion of the player may be used to determine the motion of the gaming object. Note that one or more of the plurality of motion techniques described herein may be used to determine the position of the player and/or of the gaming object.
While described in terms of a gaming object, such as gaming object610, the method above may likewise be employed to determine positions of the remote motion sensing devices526.
FIG. 38is a diagram of another method for determining position and/or motion tracking that begins in step1320by determining a reference point within the physical area in which the gaming object lays and/or in which the game system lays. The method then proceeds by determining a vector for a player's initial position with respect to a reference point of a coordinate system as shown in step1322. As an example, if the physical area is a room, a point in the room is selected as the origin and the coordinate system is applied to at least some of the room.
The method then continues by determining a vector of a gaming object610's initial position as shown in step1324. Note that the positioning of the gaming object may be used to determine the position of the player(s) if the gaming object610is something worn by the player or is in close proximity to the player. Alternatively, the initial position of the player may be used to determine the initial position of the gaming object610. Note that one or more of the plurality of positioning techniques described herein may be used to determine the position of the player and/or of the gaming object.
The method then proceeds by updating the vector of the player's, or players', position in the physical area to track the player's motion as shown in step1326. The method also continues by updating the vector of the gaming object's position to track its motion as shown in step1328. Note that the motion of the gaming object610may be used to determine the motion of the player(s) if the gaming object is something worn by the player or is in close proximity to the player. Alternatively, the motion of the player may be used to determine the motion of the gaming object610. Note that one or more of the plurality of motion techniques described herein may be used to determine the position of the player and/or of the gaming object.
While described in terms of a gaming object, such as gaming object610, the method above may likewise be employed to determine positions of the remote motion sensing devices526.
FIG. 39is a schematic block diagram of a side view of another embodiment of a gaming system in accordance with the present invention. A gaming object610′ is provided that can be implemented via gaming object610,611or communication device117or via another gaming object that generates motion data602and that wirelessly transmits the motion data602to a game console600′ over a wireless communication path. Game console600can be similar to game console600. The wireless communication path can be implemented in accordance with one or more wireless telephony transceivers that operate in accordance with a wireless telephony protocol, via RFID communication, or via other wireless communications.
In this embodiment, however, either the gaming object610′ or the game console600′ operates in accordance with a motion prediction model, for instance, that represents a biomechanical trajectory800of the user606or more specifically the user's body, during the playing of a game. The use of this motion prediction model can be used generate trajectory data that more accurately represents the motion of gaming object610′ or the body of user606with optionally less motion data602being communicated over the wireless communication path604.
FIG. 40is a block diagram representation of a gaming system in accordance with another embodiment of the present invention. In particular, a gaming system is shown that includes game console600′ and gaming object610′. Gaming object610′ includes one or more motion sensors616for generating motion data, such as motion data602in response to the actions of a user, such as user606. Motion sensor616can include an on-chip gyrator or accelerometer or other position or motion sensing device along with other driver circuitry for generating motion data602based on the actions of the user606.
Transceiver620wireless transmits the motion data602to the transceiver631of game console600′. Transceivers620and631can operate via a wireless telephony protocol when, for instance, gaming object610′ is implemented via communication device117. However, or wireless communication paths can likewise be used such as a Bluetooth communication interface or other short range communication path.
In an embodiment of the present invention an RFID communication path is employed where the transceiver620is coupled to receive an RF signal initiated by game console600′, such as a 60 GHz RF signal or other RF signal. In a similar fashion to a passive RFID tag, millimeter wave transceiver620converts energy from the RF signal into a power signal for powering the millimeter wave transceiver620or all or some portion of the gaming object610′. By the gaming object610′ deriving power, in whole or in part, based on RF signal, gaming object610′ can optionally be portable, small and light. In this embodiment, millimeter wave transceiver620conveys the motion data602back to the game console600′ by backscattering the RF signal based on motion data102.
Game console600′ includes an interface module632for coupling to the gaming object610′. In particular, interface module632includes a transceiver631or receiver that receives the motion data602. As discussed above, transceiver631can be a millimeter wave transceiver that transmits an RF signal for powering the gaming object610′. In this case, millimeter wave transceiver631demodulates the backscattering of the RF signal to recover the motion data602.
Similar to game console600, game console600′ includes a memory624and processor622that are coupled to interface module632via a bus625. While not expressly shown, game console600′ can further include a network interface, such as network interface627, that provides a coupling to a network, such as network119as discussed in conjunction withFIGS. 4-8. In particular, this network interface itself can be used to receive data such as motion data602or other gaming data, such as gaming data66from the gaming object610′, to send display data or other gaming data back to the gaming object610′ or a remote display device, and further to communicate authentication data, download game applications, run remote game applications, etc.
Game console600′ further includes a trajectory generation module625that generates trajectory data based on the motion data602and based on a motion prediction model provided by model generation module635. As discussed in conjunction withFIG. 39, the motion prediction model represents a biomechanical trajectory of a user of the gaming object610′ in accordance with a game.
In an embodiment of the present invention, the model generation module635generates the motion prediction model based on a game selection signal from processor622that indicates which, of a plurality of games, has been selected and that is being executed. For instance, in a motion prediction model can operate to provide one or more biomechanical trajectories that correspond to the game being played. The trajectory generation module625can generate trajectory data that “fits” the motion data602based on this trajectory.
Consider an example where user606is playing a bowling game. The gaming object610′ is placed in his or her hand and is swung to simulate the throwing of the bowling ball. The gaming object610′ generates motion data602based on the motion of gaming object610′ during the simulated throw and sends the motion data602to the game console600′. In this example, the motion prediction model can fit the motion data602to a trajectory that represents the user606throwing a bowling ball. In effect, the trajectory generation module625fits the model data602to one of a family of “bowling ball throw” trajectories having, for instance, different speeds, different angles, differing amounts of spin/curve. The trajectory model generation module625then generates the trajectory data based on either the selection of one of a discrete number of possible trajectories or the identification of particular trajectory parameters that describe a particular trajectory. The trajectory data can then be used by the processor622to generate a display signal628that shows the particular bowling ball throw on the screen and the resulting knocking down of pins (if any).
Consider a further example where user606is playing a tennis game. The gaming object610′ is placed in his or her hand and is swung to simulate the motion of the tennis racquet in stroking a tennis ball. The gaming object610′ generates motion data602based on the motion of gaming object610′ during the simulated motion and sends the motion data602to the game console600′. In this example, the motion prediction model can fit the motion data602to a trajectory that represents the user606hitting the ball. In effect, the trajectory generation module625fits the model data602to one of a family of “tennis swings” trajectories having, for instance, forehand shots, backhand shots, drop shots, overhead shots, serves, etc. having different speeds, different angles, differing amounts of spin/curve. The trajectory model generation module625then generates the trajectory data based on either the selection of one of a discrete number of possible trajectories and/or the identification of particular trajectory parameters that describe a particular trajectory. The trajectory data can then be used by the processor622to generate a display signal628that shows the particular tennis shots on the screen.
While described above in the context of bowling and tennis, the model generation module635can operate to generate motion prediction models with the respect to a wider range of games that involve simulated combat, dancing, other sports, racing and other game activities where the motion data602can be used to generate trajectory data that is used in the execution of the gaming application to simulate the motion of the user606. While the description above has focused on motion data602received from gaming object610′ derived from a single motion sensor616, a plurality of motion sensors could likewise be employed to simulate more complex motion. Further, motion data602can be received from a gaming object611that collects motion signals from a plurality of remote motion sensing devices640. In this fashion, more complex trajectories including multiple body parts of user606can be determined based on the motion data602to simulate a jump, throw, running, or other motion of the user's body in the context of one or more games.
In an embodiment of the present invention, the model generation module635generates a motion prediction model, such as a finite element model that corresponds to the position and/or motion of a plurality of body parts of user606. In this fashion, trajectory data of the arms, legs, hands, head, etc. of the user606can be determined by trajectory generation module625based on motion data602. In particular, motion data602corresponding to a plurality of remote motion sensing devices, such as remote motion sensing devices526associated with different portions of the body of user606, can be fit to the motion prediction model of a body to simulate complex motion of the body in the context of one or more games.
In operation, processor622executes one or more routines such as an operating system, utilities, and one or more applications such as video game applications or other gaming applications that operate based on the trajectory data and optionally other gaming data received from gaming object610′, that optionally generate other data for transmission back to the gaming object610′, and produce video information, further based on the trajectory data, such as display data that can be converted to display signal628via driver626. The driver626can be a signal generation module or other video processor for use by an integrated display device or a display device coupled to game console600′ via an optional display port, such as a video connector, component video port, S-video connector, parallel or serial video port, HDMI port or other video port.
Processor622can include a dedicated or shared processing device. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on operational instructions. The memory624can be a single memory device or a plurality of memory devices. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, and/or any device that stores digital information. Note that when the processor622implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory storing the corresponding operational instructions is embedded with the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry. While a particular bus architecture is shown, alternative bus architectures including architectures having two or more buses or direct connectivity between the various modules of game console600′, can likewise be employed within the broad scope of the present invention.
FIG. 41is a graphical representation of trajectory data determined in accordance with an embodiment of the present invention. In particular, example trajectory data904is presented that corresponds to a three-dimensional trajectory that is based on motion data902, such as motion data602from a single motion sensor. While the motion data902and trajectory data904are shown in the context of a Cartesian coordinate system, other coordinate systems can likewise be employed.
In this embodiment, trajectory generation module625generates the trajectory data904by interpolating the motion data902based on the motion prediction model. In this case, the motion prediction module can include a mathematical function such as a linear function, a trigonometric function, polynomial function of other function that is fit to the motion data902using a curve-fitting technique and used to interpolate trajectory data. In this fashion, motion data collected at lower resolution or a lower data rate can be used to generate trajectory data at a higher resolution or a higher data rate to simulate the motion of the user606in the context of a game.
For example, motion data902corresponding to a simulated golf swing can be collected from a gaming object, such as gaming object610,610′ or611, at a data rate of 10 samples per second. This motion data902can be fit to a mathematical function that represents the biomechanical trajectory of possible golf swings and used to generate interpolated trajectory data904at a higher data rate such as 50 samples per second for the rendering of a smooth golf swing when presented on a video display.
FIG. 42is a graphical representation of trajectory data determined in accordance with another embodiment of the present invention. In particular, example trajectory data908is presented that corresponds to a three-dimensional trajectory that is based on a model trajectory derived from motion data602from a single motion sensor. While the trajectory data908is shown in the context of a Cartesian coordinate system, other coordinate systems can likewise be employed.
In one example, the motion data602includes position data that is used by trajectory generation module625to select a best-fit model trajectory906of a finite number of possible trajectories generated by model generation module635. Considering again the case of a simulated golf swing, motion data can be collected from a gaming object, such as gaming object610,610′ or611, and compared to each of the finite number of possible trajectories generated by model generation module635corresponding to a finite number of possible golf swings. The motion data602can be compared to each possible trajectory to determine the model trajectory906that provides the best fit, such as best least squares fit, smallest absolute deviation or other best fit to the motion data602. Once the model trajectory906is determined, trajectory generation module625generates the trajectory data908in accordance with the selected model trajectory906.
In a further example, motion data602include a plurality of model parameters of the motion prediction model, such as polynomial coefficients of a polynomial trajectory, or other coefficients or model parameters of a mathematical function that describe the motion of one or more motion sensors. In this embodiment, trajectory generation module925generates the model trajectory906based on the model parameters included in the motion data602and, in turn, generates the trajectory data908based on the model trajectory.
FIG. 43is a graphical representation of trajectory data determined in accordance with another embodiment of the present invention. In particular, example trajectory data912is presented that corresponds to a three-dimensional trajectory that is based on differential motion data. In this example motion data602includes motion vectors910that describe the magnitude and direction of the motion. Trajectory generation module625generates a current position for the trajectory data912based on a prior position of the trajectory data912and further based on this differential motion data. While the motion vectors910and trajectory data912are shown in the context of a Cartesian coordinate system, other coordinate systems can likewise be employed.
FIG. 44is a schematic block diagram representation of a gaming system in accordance with another embodiment of the present invention. In particular, a gaming system, including gaming object609and game console607is presented that is similar to the gaming system presented in conjunction withFIG. 40where similar elements are referred to by common reference numerals. In this embodiment, however, the application of the motion prediction model is included in the gaming object609, such as communication device117or gaming object610or611.
Gaming object609includes a motion sensor616for generating motion signals in response to motion of the gaming object609. Motion data generation module645generates motion data603based on the motion signals and based on a motion prediction model supplied for instance by model generation module635. A transmitter or transceiver620is coupled to sends the motion data603to a game device607such as game console600or600′ or game device115or115′.
In this embodiment, the motion data generation module645, such as motion data generation module55, can generate motion data603, such as motion data602, motion data902and/or motion vectors910. For instance, the motion data603can include a plurality of model parameters of the motion prediction model. The motion prediction model can include a polynomial trajectory and the plurality of model parameters include a plurality of polynomial coefficients. The motion data603can include differential motion data. As discussed in conjunction withFIG. 40, model generation module635can generates the motion prediction model based on a game selection signal from processing module622′ or received from game device607that indicates the game.
In addition, model generation module can select a data rate for the motion data based on the game selection signal. For example, in a game where fast motion such as a golf swing is expected, a fast data rate can be selected for more frequent sampling of motion signals from motion sensor616. In other games, such as a chess game that simulates the motion of a user's hand to pick and place a chess piece, a slower data rate can be employed to, for instance, save bandwidth. One of a plurality of data rates or direct sampling rates can be selected based on the desired motion accuracy and the expected speed of motion for a particular game that has been selected.
Processor622′ can include a dedicated or shared processing device. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on operational instructions. The memory624′ can be a single memory device or a plurality of memory devices. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, and/or any device that stores digital information. Note that when the processor622′ implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory storing the corresponding operational instructions is embedded with the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry. While a particular bus architecture is shown with bus628′, alternative bus architectures including architectures having two or more buses or direct connectivity between the various modules of gaming object609′, can likewise be employed within the broad scope of the present invention.
FIG. 45is a schematic block diagram of a side view of another embodiment of a gaming system in accordance with the present invention. In this embodiment, a gaming object610″ communicates user data698to game console600″, such as game console600,600′, game device115or game device115′. The user data698can include authentication data, such as a password, user ID, device ID or other authenticating the for authenticating the user606to the game console600″ or to a service provided through game console600″. Further, the authentication data is usable by the game console600″ to set access privileges for the user in accordance with at least one game executed by the game console. In this fashion, a user can be identified as a subscriber or other authorized person to play a game, can be identified as the user606as above a minimum age to play an age restricted game, can be identified as having sufficient access privileges to play a game, a particular type of game or a game with a particular rating or range of ratings.
In an embodiment of the present invention, the user data698can also include product registration data for the user606in accordance with at least one game executed by the game console600″ so that the product registration data can automatically be supplied to game console600″ or a service provider coupled thereto via a network. In this fashion, the user's product information can be obtained each time a new game is initiated, without having to query the user606each time and without a potentially laborious process of reentering the product registration.
The user data698can further include personal preferences data for the user606such as security preferences or data, volume settings, graphics settings, experience levels, names, character selections, etc. that are either game parameters that are specific to a particular game or that are specific to the user's use of the game console600″.
In this fashion, the use of different gaming objects610″ with different users606can automatically result in the gaming experience to be customized based on the preferences of user606via the user data698. Similarly, a single gaming object610″ can store user data698corresponding to a plurality of users. A user606can select his or her user data698via an optional user interface provided by gaming object610″ for transmission to game console600″.
Gaming object610″ can be implemented within gaming object609,610,610′,611, or communication device117′. Gaming object610″ can be a game dedicated device such as a card, tag or game controller. Alternatively, gaming device610″ can be a personal device with non-gaming functionality such as a personal digital assistant, a mobile communication device, a jewelry item, a key chain, a flash drive, or other dongle device, or a digital camera. In either case the gaming object610″ can include a wearable housing that includes a strap, a clip or other device for attaching to the user's person or that itself is an article of clothing or jewelry such as a cap, a glove, a bracelet, a necklace, a ring or other object that can be worn by the user,
FIG. 46is a schematic block diagram representation of a gaming system in accordance with another embodiment of the present invention. In particular, a gaming system is shown that includes game console600″ and gaming object610″. Gaming object610includes a memory900for storing user data, such as user data698. Transceiver670is coupled to receive an RF signal608initiated by game console600″, such as a 60 GHz RF signal or other RF signal. In a similar fashion to a passive RFID tag, transceiver670converts energy from the RF signal608into a power signal for powering the transceiver670or all or some portion of the gaming object610″. By the gaming object610″ deriving power, in whole or in part, based on RF signal608, gaming object610″ can optionally be portable, small and light. Transceiver670conveys the user data698back to the game console600″ by backscattering the RF signal608based on user data698.
Game console600″ includes an interface module632for coupling to the gaming object610″. In particular, interface module632includes a transceiver680that transmits RF signal608for powering the gaming object610″. In operation, transceiver680demodulates the backscattering of the RF signal608to recover the user data698.
Game console600further includes a memory624and processor622that are coupled to interface module632via a bus625. In operation, processor622executes one or more routines such as an operating system, utilities, and one or more applications such as video game applications or other gaming applications that produce video information that is converted to display signal628via driver626. Processor622can include a dedicated or shared processing device. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on operational instructions. The memory624can be a single memory device or a plurality of memory devices. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, and/or any device that stores digital information. Note that when the processor622implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory storing the corresponding operational instructions is embedded with the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry. While a particular bus architecture is shown, alternative bus architectures including architectures having two or more buses or direct connectivity between the various modules of game console600, can likewise be employed within the broad scope of the present invention.
In an embodiment of the present invention, game console600″ further includes conditional access module682that authenticates the user based on authentication data included in the user data698and further can sets at least one access privilege for the user in accordance with the at least one game. In operation, the conditional access module682compares the user data698in a user database stored in memory624corresponding to the user606. When the user data698compares favorable to the data stored in the user database, the user606is authenticated and access privileges can be set based on the access privileges listed in the user database.
As discussed in conjunction withFIG. 45, the user data698can also include product registration data for the user606in accordance with at least one game executed by the game console600″ so that the product registration data can automatically be supplied to game console600″ or a service provider coupled thereto via a network. In this fashion, the user's product information can be obtained each time a new game is initiated, without having to query the user606each time and without a potentially laborious process of reentering the product registration.
The user data698can further include personal preferences data for the user606such as security preferences or data, volume settings, graphics settings, experience levels, names, character selections, etc. that are either game parameters that are specific to a particular game or that are specific to the user's use of the game console600″.
While not expressly shown, game console600′ can further include a network interface, such as network interface627, that provides a coupling to a network, such as network119as discussed in conjunction withFIGS. 4-8. In particular, this network can be used to communicate authentication data product registration data or user preferences data to a remote server in conjunction the provision of a local game or an on-line game delivered via game console600″.
FIG. 47is a schematic block diagram of an embodiment of an RFID reader and an RFID tag in accordance another embodiment of the present invention. In particular, RFID reader705represents a particular implementation of transceiver680. In addition, RFID tag735represents a particular implementation of transceiver670. As shown, RFID reader705includes a protocol processing module40, an encoding module542, an RF front-end546, a digitization module548, a predecoding module550and a decoding module552, all of which together form components of the RFID reader705. RFID705optionally includes a digital-to-analog converter (DAC)544.
The protocol processing module540is operably coupled to prepare data for encoding in accordance with a particular RFID standardized protocol. In an exemplary embodiment, the protocol processing module540is programmed with multiple RFID standardized protocols to enable the RFID reader705to communicate with any RFID tag, regardless of the particular protocol associated with the tag. In this embodiment, the protocol processing module540operates to program filters and other components of the encoding module542, decoding module552, pre-decoding module550and RF front end546in accordance with the particular RFID standardized protocol of the tag(s) currently communicating with the RFID reader705. However, if the remote motion sensing devices526each operate in accordance with a single protocol, and the RFID reader is not used by communication device117for other purposes, such as conditional access, payment transaction, etc., this flexibility can be omitted.
In operation, once the particular RFID standardized protocol has been selected for communication with one or more RFID tags, such as RFID tag735, the protocol processing module540generates and provides digital data to be communicated to the RFID tag735to the encoding module542for encoding in accordance with the selected RFID standardized protocol. This digital data can include commands to power up the RFID tag735, to read motion data or other commands or data used by the RFID tag in association with its operation. By way of example, but not limitation, the RFID protocols may include one or more line encoding schemes, such as Manchester encoding, FM0 encoding, FM1 encoding, etc. Thereafter, in the embodiment shown, the digitally encoded data is provided to the digital-to-analog converter544which converts the digitally encoded data into an analog signal. The RF front-end546modulates the analog signal to produce an RF signal at a particular carrier frequency that is transmitted via antenna560to one or more RFID tags, such as RF ID rag735. The antenna560can include a near-field coil.
The RF front-end546further includes transmit blocking capabilities such that the energy of the transmitted RF signal does not substantially interfere with the receiving of a back-scattered or other RF signal received from one or more RFID tags via the antenna560. Upon receiving an RF signal from one or more RFID tags, the RF front-end546converts the received RF signal into a baseband signal. The digitization module548, which may be a limiting module or an analog-to-digital converter, converts the received baseband signal into a digital signal. The predecoding module550converts the digital signal into an encoded signal in accordance with the particular RFID protocol being utilized. The encoded data is provided to the decoding module552, which recaptures data, such as user data698therefrom in accordance with the particular encoding scheme of the selected RFID protocol. The protocol processing module540processes the recovered data to identify the object(s) associated with the RFID tag(s) and/or provides the recovered data to the processor622for further processing.
The processing module540may be a single processing device or a plurality of processing devices. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuitry and/or operational instructions. The processing module may have an associated memory element, which may be a single memory device, a plurality of memory devices, and/or embedded circuitry of the processing module. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information. Note that when the processing module540implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory element storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.
RFID tag735that includes a power generating circuit740, an oscillation module744, a processing module746, an oscillation calibration module748, a comparator750, an envelope detection module752, a capacitor C1, and a transistor T1. The oscillation module744, the processing module746, the oscillation calibration module748, the comparator750, and the envelope detection module752may be a single processing device or a plurality of processing devices. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuitry and/or operational instructions. One or more of the modules744,746,748,750,752may have an associated memory element, which may be a single memory device, a plurality of memory devices, and/or embedded circuitry of the module. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information. Note that when the modules744,746,748,750,752implement one or more of their functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory element storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.
In operation, the power generating circuit740generates a supply voltage (VDD) from a radio frequency (RF) signal that is received via antenna754. The power generating circuit740stores the supply voltage VDDin capacitor C1and provides it to modules744,746,748,750,752.
When the supply voltage VDDis present, the envelope detection module752determines an envelope of the RF signal, which includes a DC component corresponding to the supply voltage VDD. In one embodiment, the RF signal is an amplitude modulation signal, where the envelope of the RF signal includes transmitted data. The envelope detection module752provides an envelope signal to the comparator750. The comparator750compares the envelope signal with a threshold to produce a stream of recovered data.
The oscillation module744, which may be a ring oscillator, crystal oscillator, or timing circuit, generates one or more clock signals that have a rate corresponding to the rate of the RF signal in accordance with an oscillation feedback signal. For instance, if the RF signal is a 900 MHz signal, the rate of the clock signals will be n*900 MHz, where “n” is equal to or greater than 1.
The oscillation calibration module748produces the oscillation feedback signal from a clock signal of the one or more clock signals and the stream of recovered data. In general, the oscillation calibration module748compares the rate of the clock signal with the rate of the stream of recovered data. Based on this comparison, the oscillation calibration module748generates the oscillation feedback to indicate to the oscillation module744to maintain the current rate, speed up the current rate, or slow down the current rate.
The processing module746receives the stream of recovered data and a clock signal of the one or more clock signals. The processing module746interprets the stream of recovered data to determine a command or commands contained therein. The command may be to store data, update data, reply with stored data, verify command compliance, retrieve user data698from memory900, send an acknowledgement, etc. If the command(s) requires a response, the processing module746provides a signal to the transistor T1at a rate corresponding to the RF signal. The signal toggles transistor T1on and off to generate an RF response signal that is transmitted via the antenna. In one embodiment, the RFID tag735utilizing a back-scattering RF communication. Note that the resistor R1functions to decouple the power generating circuit740from the received RF signals and the transmitted RF signals.
The RFID tag735may further include a current reference (not shown) that provides one or more reference, or bias, currents to the oscillation module744, the oscillation calibration module748, the envelope detection module752, and the comparator750. The bias current may be adjusted to provide a desired level of biasing for each of the modules744,748,750, and752.
FIG. 48is a flowchart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in conjunction withFIGS. 1-47. In step1000, motion data is received in response to motion of a gaming object. In step1002, trajectory data is generated based on the motion data and based on a motion prediction model. In step1004, a gaming application is executed based on the trajectory data to generate display data.
In an embodiment of the present invention, the motion prediction model represents a biomechanical trajectory of a user of the gaming object in accordance with a game. The trajectory data can be generated by interpolating the motion data based on the motion prediction model. The motion data can include a plurality of model parameters of the motion prediction model. The motion prediction model can include a polynomial trajectory and the plurality of model parameters can include a plurality of polynomial coefficients. The motion data can include differential motion data and the trajectory data can include a current position that is generated based on a prior position and further based on the differential motion data.
FIG. 49is a flowchart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in conjunction withFIGS. 1-48. In step1010, motion signals are generated in response to motion of the gaming object. In step1012, motion data is generated based on the motion signals and based on a motion prediction model. In step1014, the motion data is sent to a game device.
In an embodiment of the present invention, the motion prediction model represents a biomechanical trajectory of a user of the game controller in accordance with a game. The motion data can include a plurality of model parameters of the motion prediction model. The motion prediction model can include a polynomial trajectory and the plurality of model parameters can include a plurality of polynomial coefficients. Further, the motion data include differential motion data.
FIG. 50is a flowchart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in conjunction withFIGS. 1-49. In step1020, the motion prediction model is generated based on a game selection signal that indicates the game.
FIG. 51is a flowchart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in conjunction withFIGS. 1-50. In step1030, a data rate can be selected for the motion data based on a game selection signal.
FIG. 52is a flowchart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in conjunction withFIGS. 1-51. In step1040, user data is stored. In step1042, an RF signal is received from a game console. In step1044, the RF signal is converted into a power signal for powering a gaming object. In step1046, the RF signal is backscattered based on user data. In an embodiment of the present invention, the user data includes security data for the user in accordance with at least one on-line game executed by the game console.
FIG. 53is a flowchart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in conjunction withFIGS. 1-52. In step1050, the user data includes authentication data and a user is authenticated to the game console based on the authentication data.
FIG. 54is a flowchart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in conjunction withFIGS. 1-53. In step1060, access privileges are set for the user in accordance with at least one game executed by the game console, based on the authentication data.
FIG. 55is a flowchart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in conjunction withFIGS. 1-54. In step1070, the user data includes product registration data for the user in accordance with at least one game executed by the game console and a product is registered based on the product registration data.
FIG. 56is a flowchart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in conjunction withFIGS. 1-55. In step1080, the user data includes personal preferences data for the user and game parameters corresponding to at least one game executed by the game console are set based on the personal preferences data.
FIG. 57is a flowchart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in conjunction withFIGS. 1-56. In step1090, gaming data is generated in response to the actions of a user. In step1092, the gaming data is sent to a game device in a gaming mode of operation. In step1094, wireless telephony data is transceived with a wireless telephony network in a telephony mode of operation.
In an embodiment of the present invention the gaming device includes a home gaming console and step1092includes adjusting a transmit power to a low power state, sending the gaming data to the gaming device in accordance with a wireless telephony protocol, transmitting radio frequency signals directly to the gaming device, and/or transmitting radio frequency signals to a network coupled to the gaming device.
FIG. 58is a flowchart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in conjunction withFIGS. 1-57. In step1100, display data is received from the gaming device in the gaming mode of operation and the display data is displayed.
FIG. 59is a flowchart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in conjunction withFIGS. 1-58. In step1110, gaming data is received from a mobile communication device. In step1112, a gaming application is executed based on the gaming data to generate display data. In an embodiment of the present invention, the gaming data is received in accordance with a wireless telephony protocol and/or via a network.
FIG. 60is a flowchart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in conjunction withFIGS. 1-59. In step1120, the display data is transmitted to a display device via the network.
FIG. 61is a flowchart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in conjunction withFIGS. 1-60. In step11130, the display data is transmitted to the mobile communication device.
FIG. 62is a flowchart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in conjunction withFIGS. 1-61. In step1140, motion signals are generated in response to motion of the mobile communication device. In step1142, motion data are generated based on the motion signals. In step1144, the motion data are sent to a game device in a gaming mode of operation of the mobile communication device. In step1146, wireless telephony data are transceived with a wireless telephony network in a telephony mode of operation of the mobile communication device.
FIG. 63is a flowchart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in conjunction withFIGS. 1-62. In step1150, motion signals are received from at least one remote motion sensing device. In step1152, motion data are generated based on the motion signals. In step1154, the motion data are sent to a game device in a gaming mode of operation of the mobile communication device. In step1156, wireless telephony data are transceived with a wireless telephony network in a telephony mode of operation of the mobile communication device. In an embodiment of the present invention, the motion signals are received from a plurality of remote sensors at a plurality of corresponding locations.
FIG. 64is a flowchart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in conjunction withFIGS. 1-63. In step1160, a global positioning system (GPS) signal is received. In step1162, GPS position data is generated based on the GPS signal. In step1164, at least a portion of the GPS position data is sent to the game device in the gaming mode of operation.
FIG. 65is a flowchart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in conjunction withFIGS. 1-64. In step1160, a global positioning system (GPS) signal is received. In step1162, GPS position data is generated based on the GPS signal, and the motion data is generated based on the GPS position data. In an embodiment of the present invention, the motion data is generated based on a motion vector that is based on the motion signals and further based on a reference position based on the GPS position data.
As may be used herein, the terms “substantially” and “approximately” provides an industry-accepted tolerance for its corresponding term and/or relativity between items. Such an industry-accepted tolerance ranges from less than one percent to fifty percent and corresponds to, but is not limited to, component values, integrated circuit process variations, temperature variations, rise and fall times, and/or thermal noise. Such relativity between items ranges from a difference of a few percent to magnitude differences. As may also be used herein, the term(s) “coupled to” and/or “coupling” and/or includes direct coupling between items and/or indirect coupling between items via an intervening item (e.g., an item includes, but is not limited to, a component, an element, a circuit, and/or a module) where, for indirect coupling, the intervening item does not modify the information of a signal but may adjust its current level, voltage level, and/or power level. As may further be used herein, inferred coupling (i.e., where one element is coupled to another element by inference) includes direct and indirect coupling between two items in the same manner as “coupled to”. As may even further be used herein, the term “operable to” indicates that an item includes one or more of power connections, input(s), output(s), etc., to perform one or more its corresponding functions and may further include inferred coupling to one or more other items. As may still further be used herein, the term “associated with”, includes direct and/or indirect coupling of separate items and/or one item being embedded within another item. As may be used herein, the term “compares favorably”, indicates that a comparison between two or more items, signals, etc., provides a desired relationship. For example, when the desired relationship is that signal1has a greater magnitude than signal2, a favorable comparison may be achieved when the magnitude of signal1is greater than that of signal2or when the magnitude of signal2is less than that of signal1.
The present invention has also been described above with the aid of method steps illustrating the performance of specified functions and relationships thereof. The boundaries and sequence of these functional building blocks and method steps have been arbitrarily defined herein for convenience of description. Alternate boundaries and sequences can be defined so long as the specified functions and relationships are appropriately performed. Any such alternate boundaries or sequences are thus within the scope and spirit of the claimed invention.
The present invention has been described above with the aid of functional building blocks illustrating the performance of certain significant functions. The boundaries of these functional building blocks have been arbitrarily defined for convenience of description. Alternate boundaries could be defined as long as the certain significant functions are appropriately performed. Similarly, flow diagram blocks may also have been arbitrarily defined herein to illustrate certain significant functionality. To the extent used, the flow diagram block boundaries and sequence could have been defined otherwise and still perform the certain significant functionality. Such alternate definitions of both functional building blocks and flow diagram blocks and sequences are thus within the scope and spirit of the claimed invention. One of average skill in the art will also recognize that the functional building blocks, and other illustrative blocks, modules and components herein, can be implemented as illustrated or by discrete components, application specific integrated circuits, processors executing appropriate software and the like or any combination thereof.
Claims
- A game device comprising: trajectory generation circuitry configured to generate trajectory data based on motion data of a gaming object and based on a motion prediction model that determines a type of motion based on a game selection signal that indicates selection of one of a plurality of games, wherein the motion prediction model further determines a family of trajectories corresponding to the type of motion, and wherein the motion prediction model selects one trajectory of the family of trajectories that fits the motion data;and a processor, coupled to the trajectory generation circuitry, configured to execute a gaming application based on the game selection signal and the trajectory data to generate display data.
- The game device of claim 1 wherein the motion prediction model represents a biomechanical trajectory of a user of the gaming device in accordance with a game.
- The game device of claim 2 further comprising: model generation circuitry, coupled to the trajectory generation circuitry, configured to generate the motion prediction model based on a game selection signal that indicates the game.
- The game device of claim 1 wherein the trajectory generation circuitry generates the trajectory data by interpolating the motion data based on the motion prediction model.
- The game device of claim 1 wherein the motion data include a plurality of model parameters of the motion prediction model.
- The game device of claim 5 wherein the motion prediction model includes a polynomial trajectory and the plurality of model parameters include a plurality of polynomial coefficients.
- The game device of claim 1 wherein the motion data include differential motion data and wherein the trajectory generation circuitry generates a current position based on a prior position and further based on the differential motion data.
- A mobile communication device comprising: a motion sensor configured to generate motion signals in response to motion of the mobile communication device;motion data generation circuitry configured to generate motion data based on the motion signal of a gaming object and based on a motion prediction model that determines a type of motion based on a game selection signal that indicates selection of one of a plurality of games, wherein the motion prediction model further determines a family of trajectories corresponding to the type of motion, and wherein the motion prediction model selects one trajectory of the family of trajectories that fits the motion data;and a transmitter, coupled to the motion data generation circuitry, that sends the motion data to a game device.
- The mobile communication device of claim 8 wherein the motion sensor includes at least one of: an accelerometer, an RFID tag and an on-chip gyrator.
- The mobile communication device of claim 8 wherein the motion prediction model represents a biomechanical trajectory of a user of the mobile communication device in accordance with a game.
- The mobile communication device of claim 8 further comprising a wireless transceiver for communicating voice signals and data with a wireless network.
- The mobile communication device of claim 8 further comprising: a model generation module, coupled to the motion data generation module, that selects a data rate for the motion data based on the game selection signal.
- The mobile communication device of claim 8 wherein the motion data include a plurality of model parameters of the motion prediction model.
- The mobile communication device of claim 13 wherein the motion prediction model includes a polynomial trajectory and the plurality of model parameters include a plurality of polynomial coefficients.
- The mobile communication device of claim 8 wherein the motion data include differential motion data.
- A method comprising: generating motion data in response to motion of a gaming object;generating, via trajectory generation circuitry, trajectory data based on the motion data of the gaming object and based on a motion prediction model that determines a type of motion based on a game selection signal that indicates selection of one of a plurality of games, wherein the motion prediction model further determines a family of trajectories that correspond to that type of motion corresponding to the type of motion, and wherein the motion prediction model selects one trajectory of the family of trajectories that fits the motion data;and executing, via a processor, a gaming application based on the game selection signal and the trajectory data to generate display data.
- The method of claim 16 wherein the motion prediction model represents a biomechanical trajectory of a user of the gaming object in accordance with a game.
- The method of claim 16 wherein the trajectory data is generated by interpolating the motion data based on the motion prediction model.
- The method of claim 16 wherein the motion data includes a plurality of model parameters of the motion prediction model.
- The method of claim 19 wherein the motion prediction model includes a polynomial trajectory and the plurality of model parameters include a plurality of polynomial coefficients.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.