|Publication number||US20070111796 A1|
|Application number||US 11/280,736|
|Publication date||May 17, 2007|
|Filing date||Nov 16, 2005|
|Priority date||Nov 16, 2005|
|Also published as||CN102137697A, CN102137697B, EP1960071A2, EP1960071A4, WO2007061542A2|
|Publication number||11280736, 280736, US 2007/0111796 A1, US 2007/111796 A1, US 20070111796 A1, US 20070111796A1, US 2007111796 A1, US 2007111796A1, US-A1-20070111796, US-A1-2007111796, US2007/0111796A1, US2007/111796A1, US20070111796 A1, US20070111796A1, US2007111796 A1, US2007111796A1|
|Inventors||Edward C. Giaimo, Richard Henry Irving, Shaheen Ashok Gandhi, Russell Glaser, Hugh Edward McLoone, Jon Marcus Randall Whitten|
|Original Assignee||Microsoft Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (5), Referenced by (26), Classifications (8), Legal Events (2)|
|External Links: USPTO, USPTO Assignment, Espacenet|
A portion of the disclosure of this patent document contains material, which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings hereto: CopyrightŪ 2005, Microsoft Corporation, All Rights Reserved.
This invention generally relates to the field of computing and gaming devices. The present invention is directed to associating peripheral devices that communicate to a console, controller or other computing device.
Online gaming has become a large part of the gaming experience. Initially, players could communicate via text, however texting during game play is difficult. Later, games allowed players to connect to each other or a centralized server to facilitate cooperation using audio-only devices, such as headsets. Now, many gamers use specially designed headsets for these purposes. Conventional headsets connect to the gaming consoles using, e.g., a headset or microphone jack or USB connector. Because of the wired connection to the controller or console, it is relatively easy to correlate the sounds to the particular gamer's play.
Gamers also enjoy using wireless controllers, which provide players with freedom of movement by wirelessly connecting the controller to the gaming console. Typically, the wireless controllers provide features such as vibration feedback, mini-joysticks, D-pad, pressure-sensitive buttons, etc. that players would find on wired controllers. In addition, the systems that connect wireless controllers to gaming consoles often allow multiple players to play at once on the console.
Conventionally, associating headset audio with game controllers is performed by plugging-in the wired headset to a jack in the wired or wireless controller. However, when the headset is wireless, due to the nature of wireless devices, there is no physical mechanism to associate the headset to a particular gamer's play or controller. However, due to nature of wireless devices, there is no physical mechanism to associate a wireless headset to a particular gamer's play or controller.
Systems and methods for associating a device to a peripheral that is communicating to a game console or computing device are disclosed herein. The peripheral is initially bound to a port of the game console or computing device. The peripheral binds to the game console or computing device via an automatic or user-initiated sequence and then correlated to the port assigned to the peripheral. Data that is associated with the peripheral is communicated to the device after being correlated. The game console (or computing device) and peripheral may also be associated based on a user profile.
A non-limiting example of the above is a wireless headset that is used by garners during game play. The headset may be associated with the gamer's controller such that game-related audio associated with the gamer's play is sent from the game console to headset. The gamer may also communicate with other garners using the headset.
Additional features and advantages will be made apparent from the following detailed description that proceeds with reference to the accompanying drawings.
The foregoing summary, as well as the following detailed description of preferred embodiments, is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, there is shown in the drawings exemplary constructions of the invention; however, the invention is not limited to the specific methods and instrumentalities disclosed. In the drawings:
A graphics processing unit (GPU) 108 and a video encoder/video codec (coder/decoder) 114 form a video processing pipeline for high speed and high resolution graphics processing. Data is carried from the graphics processing unit 108 to the video encoder/video codec 114 via a bus. The video processing pipeline outputs data to an A/V (audio/video) port 140 for transmission to a television or other display. A memory controller 110 is connected to the GPU 108 to facilitate processor access to various types of memory 112, such as, but not limited to, a RAM (Random Access Memory).
The multimedia console 100 includes an I/O controller 120, a system management controller 122, an audio processing unit 123, a network interface controller 124, a first USB host controller 126, a second USB controller 128 and a front panel I/O subassembly 130 that are preferably implemented on a module 118. The USB controllers 126 and 128 serve as hosts for peripheral controllers 142(1)-142(2), a wireless adapter 148, and an external memory device 146 (e.g., flash memory, external CD/DVD ROM drive, removable media, etc.). It is noted that additional USB controllers may be provided. The network interface 124 and/or wireless adapter 148 provide access to a network (e.g., the Internet, home network, etc.) and may be any of a wide variety of various wired or wireless adapter components including an Ethernet card, a modem, a Bluetooth module, a cable modem, and the like.
System memory 143 is provided to store application data that is loaded during the boot process. A media drive 144 is provided and may comprise a DVD/CD drive, hard drive, or other removable media drive, etc. The media drive 144 may be internal or external to the multimedia console 100. Application data may be accessed via the media drive 144 for execution, playback, etc. by the multimedia console 100. The media drive 144 is connected to the I/O controller 120 via a bus, such as a Serial ATA bus or other high speed connection (e.g., IEEE 1394).
The system management controller 122 provides a variety of service functions related to assuring availability of the multimedia console 100. The audio processing unit 123 and an audio codec 132 form a corresponding audio processing pipeline with high fidelity and stereo processing. Audio data is carried between the audio processing unit 123 and the audio codec 132 via a communication link. The audio processing pipeline outputs data to the A/V port 140 for reproduction by an external audio player or device having audio capabilities.
The front panel I/O subassembly 130 supports the functionality of the power button 150 and the eject button 152, as well as any LEDs (light emitting diodes) or other indicators exposed on the outer surface of the multimedia console 100. A system power supply module 136 provides power to the components of the multimedia console 100. A fan 138 cools the circuitry within the multimedia console 100.
The CPU 101, GPU 108, memory controller 110, and various other components within the multimedia console 100 are interconnected via one or more buses, including serial and parallel buses, a memory bus, a peripheral bus, and a processor or local bus using any of a variety of bus architectures. By way of example, such architectures can include a Peripheral Component Interconnects (PCI) bus, PCI-Express bus, etc.
When the multimedia console 100 is powered ON, application data may be loaded from the system memory 143 into memory 112 and/or caches 102, 104 and executed on the CPU 101. The application may present a graphical user interface that provides a consistent user experience when navigating to different media types available on the multimedia console 100. In operation, applications and/or other media contained within the media drive 144 may be launched or played from the media drive 144 to provide additional functionalities to the multimedia console 100.
The multimedia console 100 may be operated as a standalone system by simply connecting the system to a television or other display. In this standalone mode, the multimedia console 100 allows one or more users to interact with the system, watch movies, or listen to music. However, with the integration of broadband connectivity made available through the network interface 124 or the wireless adapter 148, the multimedia console 100 may further be operated as a participant in a larger network community.
When the multimedia console 100 is powered ON, a set amount of hardware resources are reserved for system use by the multimedia console operating system. These resources may include a reservation of memory (e.g., 16 MB), CPU and GPU cycles (e.g., 5%), networking bandwidth (e.g., 8 kbs), etc. Because these resources are reserved at system boot time, the reserved resources do not exist from the application's view.
In particular, the memory reservation preferably is large enough to contain the launch kernel, concurrent system applications and drivers. The CPU reservation is preferably constant such that if the reserved CPU usage is not used by the system applications, an idle thread will consume any unused cycles.
With regard to the GPU reservation, lightweight messages generated by system applications (e.g., popups) are displayed by using a GPU interrupt to schedule code to render popup into an overlay. The amount of memory required for an overlay depends on the overlay area size and the overlay preferably scales with screen resolution. Where a full user interface is used by the concurrent system application, it is preferable to use a resolution independent of application resolution. A scaler may be used to set this resolution such that the need to change frequency and cause a TV resynch is eliminated.
After the multimedia console 100 boots and system resources are reserved, concurrent system applications execute to provide system functionalities. The system functionalities are encapsulated in a set of system applications that execute within the reserved system resources described above. The operating system kernel identifies threads that are system application threads versus gaming application threads. The system applications are preferably scheduled to run on the CPU 101 at predetermined times and intervals in order to provide a consistent system resource view to the application. The scheduling is to minimize cache disruption for the gaming application running on the console.
When a concurrent system application requires audio, audio processing is scheduled asynchronously to the gaming application due to time sensitivity. A multimedia console application manager (described below) controls the gaming application audio level (e.g., mute, attenuate) when system applications are active.
Input devices (e.g., controllers 142(1) and 142(2)) are shared by gaming applications and system applications. The input devices are not reserved resources, but are to be switched between system applications and the gaming application such that each will have a focus of the device. The application manager preferably controls the switching of input stream, without the gaming application's knowledge, and a driver maintains state information regarding focus switches.
To support an environment where multiple consoles 100 and wireless controllers 154 may coexist, each controller is logically “bound” to a single console 100 so that a link is established with only that console 100. A controller 154 can not be bound to more than one console 100 at a time. Binding is the process by which a console 100 transmits information to a controller 154 that will enable that controller to establish a link with the console 100. Once “bound” to a console 100, the controller 154 attempts to establish a link with the console 100 to which it is bound whenever the controller 154 is turned on.
It is preferable that binding information is retained only in the controller. Binding is one to one with respect to the controller 154, but it is one to many with respect to the console 100. Binding, thus, persists on the controller 154 across battery discharge/charge cycles, until a new binding relationship is established. Establishing a binding relationship is attempted when a BIND button on the console and a BIND button on a wireless controller 154 are pressed within a predetermined period of time of each other. Successfully establishing a binding relationship is dependent on successfully establishing a radio communication link and executing a mutual verification algorithm.
The console is preferably powered up before pressing its BIND button. If a user initiates binding on a controller 154 that is currently connected to a console 100, the controller 154 drops the connection to the console 100 prior to attempting the binding process. As the binding process operates, a status notification screen may display binding and discovery process (e.g., binding . . . bound . . . discovered). Binding is a one to one event. In other words, pressing the binding button on the console 100 will bind one controller 154 at a time. To bind a second controller 154, the BIND button on the console 100 is pressed a second time. If binding is not successful within a predetermined time, the console 100 or controller 154 will automatically time out and return to a previous state such that the previous binding relationship is not lost.
There are four (or other) virtual controller ports on the console 100, referred to herein as “Vports.” The Vports represent the active game controllers connected to the console 100, either wired or wirelessly. The numbered Vports are automatically assigned to controllers in the order they are connected to the console 100. Each Vport is represented by a quadrant of the LED indicator 156 and the console indicator 158. “Discovery” is the process during which a wired or wireless game device is recognized by the console 100, assigned a Vport, and made available for game play.
Thus, the acts of “binding” and “discovery” are preferably two different acts. The act of binding is initiated by pressing the BIND buttons on the controller and console. Once bound, the controller will begin the discovery process, and if successful, will be assigned the first available Vport, which in this case is Vport 1 as described. If one to three controllers had previously been bound and discovered, then the next controller discovered would be assigned Vport 2, 3, 4, etc., respectively. If, a total number controllers equaling the total number of Vports were already discovered, then the binding process could still be performed, however no Vport would be available to assign, so the controller would not be assigned a Vport. However it would still be bound to the console and available to be discovered if one of the other controllers were either turned off or bound to a new console.
The radio 203 may be a Frequency Hopping Spread Spectrum (FHSS) radio operating at the 2.4 GHz frequency band that communicates data (e.g., audio, configuration, etc.) to the console 100. The MCU/DSP/CODEC 204 processes audio communication to and from the headset 200. Output audio is communicated via the DAC 208 to the speaker 216. Input audio is received by the microphone 218 and converted by the ADC 210 to digital information and passed to the MCU/DSP/CODEC 204 to the radio 203 for communication to the console 100.
The input device 214, which will be described in greater detail below with reference to
As noted above, the wireless headset 200 communicates directly to the console 100, rather than the controller 154. As such, the headset performs a binding/discovery similar to the controller 154. To accomplish this, the wireless headset 200 is associated with console and assigned a Vport. There are separate Vports for controller and voice device ports.
The user is then notified of the success of the association at step 228. The notification may be audible or visual. An audible confirmation of Vport assignment may be made by sending a sending a chime or tone to the headset. Personalized settings may be ignored/overridden in order to ensure the chime or tone is played on the headset. Visual notification may be made by a flashing LED (or other visual indicator 206) on the headset. If a single LED is provided on the headset, it may be flashed at a predetermined rate. If several LEDs are provided, an LED pattern may be flashed. It is preferable in the later scenario that that pattern be the same as the associated controller 154. Further, an on-screen display notification may be used. If the association is unsuccessful, a different set of notifications may be used than for successful associations.
However, if at step 224, there is more than one active controller 154, then the user is notified to selects a Vport to which the headset 200 is to be associated by the console 100. This notification may be performed through a visual on-screen display, audibly or visually on the headset 200 via the indicator 206. Referring now to
The visual indicator 206 may include LEDs, a seven segment display, etc. to convey to the user which Vport is selected on the headset 200. The use of the input device aids in resolving/avoiding conflicts between multiple headsets and a particular controller 154. Further, if multiple headsets are set to the same Vport, it is preferable that the first one to be discovered is assigned to the Vport. At step 232 the headset 200 is discovered and associated by the console 100 to the selected Vport. A notification of the successful association is provided at step 234. The notification may be similar to that noted above.
Alternatively, the process may be performed using an on-screen display. This may be desirable because the user may find using the on-screen display more familiar and convenient for configuring devices as the on-screen display is used to configure many options for game play. Referring now to
As another alternative, the user may power-up the wireless headset and presses the headset's bind button (steps 240 and 242). These two steps may be accomplished by a single press of a power button. The user presses a button on the controller and navigates to an Options screen (step 244). Next the user selects an “Assign wireless headset” button from the Options screen (step 252). The console initiates bind process with headset and associates headset to the Vport of the controller that initiated the process. The headset and/or on-screen display notify the user of a successful bind and association (step 250).
The above processes may be repeated for every user that wants to associate a wireless headset with their controller.
Thus, as described above, the console 100 manages the association of headsets to controllers. Headsets are bound to consoles, which allows the management of headsets and other peripherals to evolve over time as the console 100 can be upgraded with new features with relative ease. In addition, it is preferable that a one-to-one association is made between headsets and controllers.
In addition to the binding/discover notifications, a user may be notified if the Vport assignment is lost and/or re-associated. For example, the controller 100 association preferably should be persisted between power/sleep cycles of the console 100. However, the wireless controller discovery process may reassign Vports after a power cycle. This means a controller 154 associated with Vport3 before the power cycle may be associated with Vport1 after. The headset 200 will follow the controller 154 to Vport1.
The headset 200 originally associated with the controller 154 should follow the controller 154 to its newly assigned Vport. This may be accomplished through some headset identifier or preferably to a gamer profile used to associate a headset 200 to a controller 154. In later instance, when a gamer signs-in, the profile determines which headset 200 should be associated to the controller 154 via a unique identifier of the headset 200 associated with the gamer profile. The controller 154 is automatically assigned to a Vport at time of discovery and the headset 200 is then associated to that Vport, as noted above.
It is possible that a user may wish to use a wired headset during game play. When a wired headset is inserted to the headset jack on a controller, the wireless headset association will be dropped in favor of the wired headset. This is because it is assumed that the wired headset is being used because of a user preference and an accidental insertion of a wired headset is unlikely.
In addition to a control to select a Vport, the headset may include controls for power on/off, microphone mute, volume up/down, connect to console, etc. Indicators may be provided for battery level (e.g., LEDs or audible alert), headset ON, etc. A buzzer or other audible mechanism may be provided to locate a missing headset 200.
While the processes above have been described with reference to a wireless controller, it is noted they may equally apply to a wired controller to which a wireless headset is to be associated.
While the present invention has been described in connection with the preferred embodiments of the various Figs., it is to be understood that other similar embodiments may be used or modifications and additions may be made to the described embodiment for performing the same function of the present invention without deviating therefrom.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US7024501 *||Nov 18, 2002||Apr 4, 2006||Cypress Semiconductor Corp.||Method and apparatus for attaching USB peripherals to host ports|
|US7290072 *||Jun 11, 2003||Oct 30, 2007||Igt||Protocols and standards for USB peripheral communications|
|US20030003993 *||Jul 15, 2002||Jan 2, 2003||Leifer Alan E.||Wireless game control units|
|US20050169252 *||Jan 28, 2005||Aug 4, 2005||Andrew Riggs||Game controller including an integrated communicator|
|US20060262759 *||May 23, 2005||Nov 23, 2006||Microsoft Corporation||Separating control and data in wireless networks|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US8083592||Nov 10, 2010||Dec 27, 2011||Leap Forward Gaming||Apparatus and method for retrofitting candle devices on a gaming machine|
|US8088014||Nov 10, 2010||Jan 3, 2012||Leap Forward Gaming||Gaming device and method for wireless gaming system providing non-intrusive processes|
|US8224972 *||Mar 21, 2011||Jul 17, 2012||Apple Inc.||Invitation to bind to a device|
|US8241119||Nov 10, 2010||Aug 14, 2012||Leap Forward Gaming||Candle devices for gaming machines|
|US8282480||Dec 15, 2011||Oct 9, 2012||Leap Forward Gaming||Candle device for providing transaction verification on a gaming machine|
|US8317604||Nov 10, 2011||Nov 27, 2012||Leap Forward Gaming||Apparatus and method for retrofitting candle devices on a gaming machine|
|US8336697||Nov 10, 2010||Dec 25, 2012||Leap Forward Gaming||Device health monitoring for gaming machines|
|US8391258 *||Oct 18, 2007||Mar 5, 2013||Canon Kabushiki Kaisha||Communication parameter setting method, communicating apparatus, and managing apparatus for managing communication parameters|
|US8449393 *||Oct 26, 2010||May 28, 2013||Broadcom Corporation||Hand-held gaming device with configurable touch sensitive panel(s)|
|US8460091||Apr 13, 2011||Jun 11, 2013||Leap Forward Gaming||Remote power reset feature on a gaming machine|
|US8463182||Dec 24, 2009||Jun 11, 2013||Sony Computer Entertainment Inc.||Wireless device pairing and grouping methods|
|US8504699||Jul 16, 2012||Aug 6, 2013||Apple Inc.||Invitation to bind to a device|
|US8620213||Dec 24, 2009||Dec 31, 2013||Sony Computer Entertainment Inc.||Wireless device pairing methods|
|US8644888||Dec 12, 2012||Feb 4, 2014||Stealthwear, Inc.||Wireless headset switching system|
|US8793520||Jan 25, 2012||Jul 29, 2014||Apple Inc.||Power management of electronic devices based on charging location|
|US8918665||Sep 23, 2011||Dec 23, 2014||Wing Kong Low||Operating input device in low power mode with auxiliary sensor calibrated to main sensor|
|US8968086||Sep 13, 2013||Mar 3, 2015||Leap Forward Gaming, Inc.||Video processing and signal routing apparatus for providing picture in a picture capabilities on an electronic gaming machine|
|US9088425 *||Aug 17, 2006||Jul 21, 2015||Verizon Patent And Licensing Inc.||Method and apparatus for collaboration among individuals|
|US20070260687 *||Aug 17, 2006||Nov 8, 2007||Rao Alok S Raghunath||Method and apparatus for collaboration among individuals|
|US20110118028 *||Oct 26, 2010||May 19, 2011||Broadcom Corporation||Hand-held gaming device with configurable touch sensitive panel(s)|
|US20120144319 *||Jun 7, 2012||Razer (Asia-Pacific) Pte Ltd||Collaboration Management System|
|US20140011590 *||Sep 13, 2013||Jan 9, 2014||Steelseries Aps||Apparatus and method for managing peripheral device communications|
|EP2533132A1 *||Feb 2, 2011||Dec 12, 2012||Capcom Co., Ltd.||Computer, and recording medium|
|WO2011078926A1 *||Nov 18, 2010||Jun 30, 2011||Sony Computer Entertainment Inc.||Wireless device pairing methods|
|WO2011078927A1 *||Nov 18, 2010||Jun 30, 2011||Sony Computer Entertainment Inc.||Wireless device pairing and grouping methods|
|WO2013180942A1 *||May 13, 2013||Dec 5, 2013||Stealthwear, Inc.||Wireless headset switching system|
|Cooperative Classification||A63F13/02, A63F2300/6063, A63F2300/208, A63F2300/1031, A63F2300/1025|
|Jun 10, 2006||AS||Assignment|
Owner name: MICROSOFT CORPORATION,WASHINGTON
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GIAIMO, EDWARD C.;IRVING, RICHARD HENRY;GANDHI, SHAHEEN ASHOK;AND OTHERS;SIGNING DATES FROM 20051111 TO 20051114;REEL/FRAME:017760/0376
|Jan 15, 2015||AS||Assignment|
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0509
Effective date: 20141014