Although video games and video game consoles are prevalent in many homes, game controllers, with their myriad of buttons and joysticks, are still intimidating and confusing to people that do not often play video games. For these people, using a game controller to interact with the game is an obstacle to enjoying it. Also, where the game is a dance game, often an additional controller is required in the form of a dance mat or dance pad. These dance mats have specific input sections (similar to buttons on a traditional controller) that react to pressure from the user's feet. But these mats take up a lot of space and are often single use controllers—they are used just for dance games and must be rolled up and stored when not in use.
To increase a user's feeling of immersion in the game, as well as to overcome the cumbersome nature of game controllers or dance mats for users not familiar with them, some game platforms forego the use of traditional controllers and use cameras instead. The cameras detect a user's physical movements, e.g., the waving of his arm or leg, and then interpret those movements as input to the video game. This can allow the user to use a more natural-feeling input mechanism he is already familiar with, namely the movement of his body, and removes the barrier-to-entry caused by the many-buttoned controller.
One example of a camera-based controller is the EYETOY camera developed by LOGITECH, of Newark, Calif., and used with the SONY PLAYSTATION 2 game console. The EYETOY, and similar cameras, typically include a camera and a microphone. The EYETOY sends a 640.times.480 pixel video stream to the PLAYSTATION, and the game executing on the PLAYSTATION parses the frames of the video, e.g., calculating gradations of color between pixels in the frame, to determine what in the camera's field-of-view is the user (“player”) and what is the background (“not player”). Then, differences in the stream over time are used to determine and recognize the user's movements, which in turn drive the user's interaction with the game console.
Other cameras used by game platforms include the DREAMEYE for the SEGA DREAMCAST, The PLAYSTATION EYE (a successor to the EYETOY) for SONY's PLAYSTATION 3, and the XBOX LIVE VISION for MICROSOFT's XBOX 360. These cameras all provide a typical single-input camera that can stream video or take still photographs, and some, such as the PLAYSTATION EYE, additionally provide a microphone for audio input.
Another example a camera-based controller is the KINECT manufactured by MICROSOFT CORPORATION, of Redmond, Wash. The KINECT provides an RGB camera, a depth sensor, a multi-array microphone, and software that processes the inputs from the camera, depth sensor, and microphone. Beneficially, KINECT software provides, based on the input, a three-dimensional skeleton that roughly maps to the user's body. Specifically, in addition to just determining a difference between “player” and “not player” like prior game cameras, KINECT determines what is the user's right hand, left hand, head, hip center, left knee, and right knee, etc. This skeleton is preserved as a user moves their body in the camera's field of view, allowing for the tracking of specific limbs. This skeleton framework, however, is the extent of what KINECT provides. Namely, no user interface is provided by KINECT, and users can still use a game controller to interact with a game or menu system.
Other systems, based on non-camera technologies, have also been developed that attempt to track a user's movements. For example, the NINTENDO WII provides players with an infrared transmitter “WII REMOTE” that the user holds in their hand. The WII remote is used as pointing device and has a built-in accelerometer to track changes in the WII remote's position. The WII remote is often paired with a “nunchuk” (which also has an accelerometer) that is held in the player's other hand, allowing the WII to, in a sense, track the movements—or at least changes in the movements—of the user's hands. Another technology based on a hand-held controller is SIXENSE.
High-end motion capture (“mocap”) systems have also been used to track a user's movements. Typically mocap systems involve the user wearing a body suit that has dozens of white spheres located at relevant locations. The mocap cameras detect these spheres and use them to infer positional information about the user's body. Mocap systems, however, are expensive and not practical for the average user.
The present disclosure relates generally to gesture-based video games and, more specifically, to dance video games based on positional input from a user.
In general, in an aspect, embodiments of the disclosed subject matter can provide a non-transitory computer readable medium storing computer readable instructions that, when executed by a computer, cause the computer to provide a first prompt to a first player to create and perform a dance move, receive information from a camera system reflecting a position of the first player in response to the first prompt, generate a target frame using the received information relating to the first player, provide a second prompt to a second player to perform the dance move created by the first player, receive information from the camera system reflecting a position of the second player in response to the second prompt, generate an input frame using the information relating to the second player, and compare the input frame to the target frame to determine a comparison value.
Embodiments of the disclosed subject matter can also provide one or more of the following features. The instructions further cause the computer to generate a score based on the comparison value. The instructions further cause the computer to generate an image representing a position of the first player after the first prompt, and provide the second prompt using the image. The instructions further cause the computer to provide additional prompts to the first player to perform multiple repetitions of the dance move, and receive information from the camera system reflecting positions of the first player during the multiple repetitions. The instructions further cause the computer to compare the positions of the first player during at least some of the multiple repetitions to determine an indication of similarity between the repetitions. The instructions further cause the computer to generate the target frame using a subset of the multiple repetitions. The subset includes a single repetition. The subset excludes a first one of the multiple repetitions. The instructions further cause the computer to provide a first portion of music while providing the first prompt, and generate the target frame as function of beats in the first portion of music. The instructions further cause the computer to provide a second portion of music while providing the second prompt, and generate the input frame as a function of the beats in the second portion of music. The first and the second portions of music are substantially similar. The instructions further cause the computer to display video feedback to the first player using at least some of the information from the camera system relating to the first player.
In general, in another aspect, embodiments of the disclosed subject matter can provide a method for use with a game console and a camera system, the method including providing, using an audiovisual system connected to the game console, a first prompt to a first player to create and perform a dance move, receiving at the game console information from the camera system reflecting a position of the first player in response to the first prompt, generating, using the game console, a target frame using the received information relating to the first player, providing, using the audiovisual system connected to the game console, a second prompt to a second player to perform the dance move created by the first player, receiving at the game console information from the camera system reflecting a position of the second player in response to the second prompt, generating, using the game console, an input frame using the information relating to the second player, and comparing, using the game console, the input frame to the target frame to determine a comparison value.
Embodiments of the disclosed subject matter can provide one or more of the following features. The method further includes generating a score based on the comparison value. The method further includes generating an image, using the game console, representing a position of the first player after the first prompt, and providing, using the audiovisual system connected to the game console, the second prompt using the image. The method further includes providing additional prompts to the first player to perform multiple repetitions of the dance move, and receiving at the game console information from the camera system reflecting positions of the first player during the multiple repetitions. The method further includes comparing, using the game console, the position of the first player during at least some of the multiple repetitions to determine an indication of similarity between the repetitions. The method further includes generating the target frame using a subset of the multiple repetitions. The subset includes a single repetition. The subset excludes a first one of the multiple repetitions. The method further includes providing, using the game console, a first portion of music while providing the first prompt, and generating the target frame as function of beats in the first portion of music. The method further includes providing, using the game console, a second portion of music while providing the second prompt, and generating the input frame as a function of the beats in the second portion of music. The first and the second portions of music are substantially similar. The method further includes displaying video feedback to the first player using at least some of the information from the camera system relating to the first player.
These and other capabilities of the disclosed subject matter, along with the invention itself, will be more fully understood after a review of the following figures, detailed description, and claims.
One embodiment of the present disclosure is based on the KINECT framework developed by MICROSOFT. As indicated in
Although the KINECT provides a framework for determining positional information of a user's body, it does not provide a means for grading a dance performance or teaching a user to dance. While in some embodiments, a camera-based system is used to determine positional information about the user's body in three dimensions to produce a skeleton model, in other embodiments, transducers attached to the user's body are used to detect the positions of the user's limbs and produce a skeleton model. Other embodiments use infrared pointing devices or other motion tracking peripherals. All that is required is a system than can parse movement in two dimensions to produce a skeleton model; adding dimension information from a third dimension, typically depth, simply makes the techniques described herein easier to implement due to the additional information provided to the system. In embodiments where the system is already provided a skeleton, such as the KINECT, relative body scale mapping is easier to accomplish.
Also shown in
As used herein, the terms “joint,” “bone,” and “skeleton” are intended to have the meaning one of skill in the art of motion capture and animation would ascribe to them. For example, a skeleton can comprise bones, but the number of bones and their positions are a function of the motion capture equipment and the animation rig and do not necessarily correlate to the number and positions of bones in a human skeleton. Similarly, a joint can be at the distal endpoint of a single bone (e.g., a fingertip or the head), and need not be at a point where two bones come together. An example of the KINECT skeleton is shown in
One of the benefits provided by the skeleton-based system is that the skeletal model can be used to calculate scale vectors based on two or more joints. This provides a spatially relative system, e.g., what is the positional distance from body part X to body part Y compared to the positional distance from body part X to body part Z, instead of an absolute coordinate system.
A “filter” as used herein, is in effect a test, e.g., is the user's right hand in a particular position at time tn? Although typically a producing a Boolean outcome, e.g., if the condition is true, the filter is satisfied and registers a success, and if not, then the filter is not satisfied. Filters can also output a contiguous score indicating the degree to which the condition is being satisfied spatially or temporally. Advantageously, multiple filters can be checked simultaneously, e.g., is the user's right hand in position x and is his left foot in position y? These filters can then be combined to determine if a user has successfully completed a pose. But pose-matching, in and of itself, is not a complete solution to scoring a sequence of dance moves.
Creating a Target Representation
The process can begin by using motion capture technology (known in the art as “mocap”) to create a three-dimensional model of a target performance of a dance or part of a dance. Motion capture is a recording of human actor which can be used by a computer to reproduce the actor's performance. When the mocap session is recorded, sensors at various points on the actor's body provide the recording computer with information such as joint and limb position data over time. In the case of a dance game, the mocap is typically a recording of a dancer performing a particular dance move, or series of movements that makes up a dance move, and in one implementation, the mocap is a recording of an entire dance routine for a song. The mocap performance becomes a representation of the dance in a form usable by the game system (e.g., a “target performance”). Beneficially, the positional information received during mocap is similar to the positional information received by a camera-based game system when a user is playing a game. This similarity can be exploited to grade a user on how well he is dancing at a particular time by comparing a user's performance (the input performance) to a keyframe of the target performance. Also beneficially, the mocap data can be used to drive on-screen animations of avatars, thus demonstrating to the user the exact movements he must perform to maximize his score.
At least one notable problem arises though that prevents a direct comparison between the user's performance and the target performance: because the user and the mocap actor could have different heights and appendage lengths, or have different body types, a direct comparison of positional information of the input performance and the target performance could result in the user scoring poorly, even if he is performing the moves correctly. For example, the actor in the target performance could have an arm fully extended which, based on the dimensions of the actor's body, positions the actor's wrist two and a half feet in front of his shoulder. The user's input, also reflecting a fully extended arm, could have the (shorter-in-stature) user's wrist positioned two feet in front of his shoulder. In a purely comparative system, the user has not satisfied a test of “is the user's wrist in the same position as the wrist of target performance actor?” because the user's wrist, even though his arm is fully extended, is still a half foot closer to the reference point, i.e., the shoulder. Therefore, it is advantageous to express both the target performance and the user's performance in the same frame of reference.
Normalizing the Input Performance and Target Performance
To create a consistent frame of reference, the mocap data, which can be expressed in its own representation (in some implementations even its own skeleton), and the user's input are both normalized, creating a normalized target performance and a normalized input performance. In some embodiments, normalization of each joint can be achieved by deriving unit vectors reflecting offsets of one specific joint relative to another specific joint.
In some embodiments, there can be four different player-normalized coordinate systems: left arm, right arm, left leg, and right leg. The left arm coordinate system's origin can be at the left shoulder, the up vector can be away from gravity (in KINECT, based on KINECT's accelerometer). The right vector can be from the left shoulder to the right shoulder, the forward vector can be the cross product of the up vector and the right vector. The right arm coordinate system can be just the mirror of this. The left leg coordinate system's origin can be the left hip, the up vector can be gravity, the right vector can be from the left hip to the right hip, and the forward vector is the cross product of the up vector and the right vector. The right leg coordinate system is the mirror of this.
As an example, referring to
There can be several options for normalizing joints that are not directly connected to an origin joint. Continuing the previous example with the shoulder 175 being the origin joint, the wrist's position could be normalized by determining the vector 197 from the shoulder 175 to the wrist joint 182, transforming the vector 197 from the skeleton's coordinate system into the left arm coordinate system, and dividing the resulting vector by the sum of the magnitude of the vector 185 from the shoulder to the elbow and the magnitude of the vector 190 from the elbow to the wrist. Alternatively, the vector 197 from the shoulder to the wrist could be determined, transformed, and divided by the magnitude of that vector 197. For legs, an ankle position could be based on foot position, transformed from the skeleton's coordinate system into the appropriate-side leg coordinate system, and divided by the sum of the magnitudes of the vector from the hip to the knee and from the knee to the ankle.
Typically, normalizing the target performance and the input performance yields positional information analogous to both, e.g., both have elbow position representations, both have wrist position representations, etc. Where data is not available in the mocap data or the user input for a particular joint though, in some embodiments, the game interpolates between two joints to create a “pseudo-joint” that maps to a joint in the other skeleton. For example, if the mocap skeleton has a left hip joint and a right hip joint, but a user skeleton only has a mid-pelvis joint, a mid-pelvis pseudo joint can be synthesized for the mocap skeleton at the midpoint of the two hip joints, and used in further normalization and scoring. Alternatively, pseudo-joints could be interpolated from both data sets/skeletons to map to a third idealized skeleton. Additionally, where the input camera system is a KINECT, adjustments can be typically made to conform the mocap skeleton to the KINECT skeleton, or vice versa, e.g., dropping the hips, adjusting the shoulder height, and others. In some embodiments, the game creates a “pseudo-joint” even when data is available in both the mocap data and the user input, in order to provide a reference point or measurement that is more stable than a joint in the existing skeleton.
Comparing the Input Performance to the Target Performance
In some embodiments, every “frame” of the input performance is compared with the corresponding frame of the target performance to produce a score for that frame. This strategy, however, does not allow the game to account for inaccuracies in the user's timing, such as dancing a move with perfect position but slightly late or early. In other embodiments, the invention addresses this issue by scoring each frame of the input performance against the corresponding frame of the target performance and a range of adjacent frames. The scoring process can incorporate positional and temporal score using a technique described below. For a given target frame, a score can be determined by finding the maximum score of all input frames scored against that target frame.
This approach, however, can be prohibitively expensive computation-wise on some game consoles. To alleviate this, in some embodiments, only a fraction of the input frames are compared with target frames (e.g., half of the input frames). The specific frames in the input performance that are chosen for comparison can be regularly spaced, or the frames can be chosen randomly with a probability matching that fraction.
This approach, however, does not capture the intent behind a dance move where certain intermediate poses are more important and the transition movements into or out of those poses are less important. In some embodiments, the input frames can be compared to the target frames most important to the dance itself.
In some embodiments, each frame of the target performance can be assigned a weight (e.g., in the range 0.0 to 1.0). As stated above, each target frame receives a score based on the maximum score of all input frames scored against that target frame. In these embodiments, that score can be multiplied by the weight to produce a weighted score for each target frame. The score for a move is determined by combining the weighted scores using a sum or average.
In some embodiments, each frame of the target performance can be assigned a weight (e.g., in the range 0.0 to 1.0) that is computed based on the target performance. The weight for a frame of the target performance may be computed based on any number of neighboring frames of the target performance. The computation can determines which target frames are the most important to the dance by detecting inflections in direction of parts of the target skeleton, or inflections in distance between parts of the target skeleton.
For example, the initial weight for a frame may be 0.0. A velocity vector can be computed for each joint in a target frame by subtracting its position in the previous frame from its position in the current frame. Whenever any joint's velocity experiences a derivative of zero with respect to time, along the x, y, or z axis in the camera-based coordinate system, or along the x, y, or z axis in the skeleton-based coordinate system (see below for a technique for computing a skeleton-based coordinate system), that frame's weight is increased. For example, if the weight of the target frame before considering the joint was w0, the new weight might be (1+w0)/2, or it may be set to a predetermined “one joint zero-derivative” value such as 0.5. If another joint's velocity simultaneously experiences a derivative of zero, the frame's weight is increased by substituting the previous weight into (1+w0)/2 again, or it may be set to a predetermined “two joint zero-derivative” value such as 0.75. Likewise, additional joints that experience simultaneous derivatives of zero make the current frame can have a higher weight using the formula or a lookup table that references number of contributing joints to a weight value between 0.0 and 1.0.
Although derivatives of joint positions can be used to determine the weight for a frame of the target performance, other measurements can also contribute to the weight. For example, distances between specific joints can be computed for each frame and tracked across frames, and zero-derivative measurements can contribute to the weight. For example, the distance between wrist joints may be measured for each frame. Frames in which the distance experiences a zero derivative would increase the frame's weight by substituting its previous weight into (1+w0)/2 or looking up a value from a table as above.
Other measurements can also contribute to the weight, such as zero-derivative measurements of the overall bounding rectangle of the skeleton along x, y, or z axes in a camera-centered coordinate system or x, y, or z axes in a skeleton-based coordinate system.
However the target weight is computed, the final weight assigned to each target frame can be used in the same way as described previously.
In some embodiments, a subset of the frames of the target performance can be marked as keyframes, each keyframe representing a specific frame in the target performance with which the input performance should be compared. The target performance—comprising an entire dance routine—can be aligned with a timeline, the performance being divided into moves, each move having a start time and an end time relative to the beginning of the dance, measured in units of measures/beats/ticks. Alternatively, each move can have a start time and a duration.
In some embodiments, frames of the target performance at regular intervals of beats (e.g., every tenth of a beat) or time (e.g., every tenth of a second) are marked as keyframes. Keyframes can be selected at a predetermined or fixed offset in beats or seconds from a beat boundary (e.g., exactly on the beat, and every tenth of a beat thereafter) or time boundary (e.g., starting at the beginning of the song, and every tenth of a second thereafter). In some configurations, the offset and interval can be selected without regard to the importance of the dance move.
All times and durations are typically measured in units of measures, beats, and ticks, but alternatively can be measured in units of seconds. Times can be measured relative to the beginning of the dance, but alternative reference points are possible, such as the end of the dance, the start of the previous move, the end of the previous move, or any other moment in time within the timeline.
Each keyframe can include a time offset relative to the beginning of the move. In addition to timing information, each keyframe can include weighting information. In some embodiments, a weight is provided for one or more keyframes in the target performance. In some configurations, the weight spans the range 0.0-1.0, and can be thought of as an indicator of how important the keyframe score is to the move overall, where 0.0 means “not important” and 1.0 means “very important.” To compute a final score for a frame of an input performance with respect to a frame of a target performance, the score for the frame of the input performance is multiplied by the weight associated with the keyframe of the target performance.
In some embodiments, each keyframe can include weighting information for x, y, and z axes relative to the camera (explained below). Additionally or alternatively, each keyframe can include weighting information for x, y, and z axes relative to the entire skeleton in the target performance, or weighting information for x, y, and z axes relative to each “body zone” (limb-centered coordinate systems) in the target performance (explained below). In one implementation, relaxing the scoring is achieved by unevenly weighting the contributions of the x, y, and z axes to the Euclidean distance measurement above, where x, y, and z are taken to be in the left arm coordinate systems, right arm coordinate system, left leg coordinate system, or left leg coordinate system.
In addition to weighting information for the axes, the keyframe can also include weights for different bone groups themselves to emphasize performing a particular motion, e.g., moving the user's arms during the “shopping cart,” or de-emphasizing other motions one, e.g., ignoring or forgiving poor leg position during “the shopping cart”. In some embodiments, a weight is provided for one or more joints within each keyframe in the target performance. In some configurations, the weight can span the range 0.0-1.0, and can be thought of as an indicator of how important the joint score is to the keyframe score, where 0.0 means “not important” and 1.0 means “very important.” To compute a score for a joint in a frame of an input performance with respect to the corresponding joint in a frame of a target performance, the score for the joint in the frame of the input performance can be multiplied by the weight associated with the joint within the keyframe of the target performance.
Keyframes can be placed wherever necessary on the timeline to capture the most important poses in the dance sequence. Often, keyframes are placed at eighth-note boundaries, but they may be spaced irregularly depending on the dance or move to be tested.
In some embodiments, the target performance can be expressed as mocap data associated with a Milo file. The Milo file can contain a timeline and allows for events, tags, or labels to trigger events in the game. Advantageously, the target performance can be aligned to the timeline. The Milo file is also typically associated with a music track, which is also aligned to the timeline. This allows the developer to assign events to certain portions of the music track. The Milo file also has instructional timelines for providing audio cues to the user (explained below). Another benefit of using the Milo file is the ability to mark parts of the timeline, and therefore parts of the target performance, as keyframes. Keyframes are placed at specific measures or beats on the timeline and represent times to test user input.
Comparing the input performance to the target performance input at a particular keyframe can be accomplished in several ways. In one embodiment, each keyframe has a time window associated with it, beginning before the keyframe and extending beyond it. The time window is typically symmetrical around the time of the keyframe, but may be adjusted for a longer intro if a move is difficult to get into or a longer outro if the move is harder to get out of. The time window is typically of a fixed width in seconds. Alternatively, the time window can be expressed as fixed width in a variable unit of time such as beats, so that the window expands and contracts as the dance tempo slows down or speeds up, respectively.
Allowing for Variation in Time
Referring to
Between an inner time window and an outer time window, e.g., in the range d−outer to d−inner and the range d+inner to d+outer, a score can still be given for performing the move, but the score for that performance is typically reduced as the temporal “distance” outside the inner window increases. Outside the outer windows, i.e., before d−outer outer and after d+outer, respectively, no score (or a score of zero) is typically given for performing the move because the user is too early or too late. The fall off function for the score during the periods of d−outer to d+inner and d+inner to d+outer is typically a variation of 1−x2. This yields a parabolic shape that starts from 0 and builds to 1 between d−outer and d−inner, and then falls from 1 to 0 between d+inner to d+outer. More specifically, in one embodiment, the scoring curve can be assembled piecewise:
Other variations are possible as well, e.g., a linear function, a constant, a parabolic function, a square-root, 1/x, 1/(xn) (e.g., inverse square, inverse cube, etc.), polynomial, exponential, logarithmic, hyperbolic, Gaussian, sine, cosine, tangent, or any combination or piecewise combination thereof.
Beneficially, in some embodiments, as shown in
Allowing for Variation in Position
As discussed above, the user's positional success can be determined based on comparing the normalized input performance to the normalized target performance. When comparing the input performance to a keyframe (again, preferably done for each sampling of the input performance), the aggregate distance can be taken between the two to determine how close the normalized input performance is to the normalized target performance of the keyframe. This can be done for the whole skeleton of the target performance or can be done on a limb by limb basis. Distances can be calculated as the Euclidean distance between the normalized input performance's joint position in the input frame and the normalized target performance's joint position in the keyframe.
For hips, hip velocity can be a vector from the hip position in the previous keyframe to the hip position in the current keyframe. The vector can be divided by the amount of time elapsed between the keyframes. To normalize the hip velocity, the velocity vector can then divided by the length of the spine. Then the resulting vector can then used for Euclidean comparison similar to that described with respect to arms and legs. Advantageously, dividing by the length of the spine normalizes the velocity measurement to account for the size of the user, e.g., a child needs to displace his hips a smaller amount than a taller adult, in order to receive the same score.
In some embodiments, the total skeleton score can be an aggregate (e.g., sum) of five different scores, i.e., left arm score, right arm score, left leg score, right leg score, and hip velocity score. These can be each made up of score calculations themselves for the individual joints and represent how well the user performed the move for each “body zone”. For example, the left arm score can be an aggregate of the wrist score and elbow score, and the leg score can be an aggregate of the knee score and ankle score. Beneficially, displacement of the body, measured by hip velocity, can also be incorporated into the score calculation. Also beneficially, contributions to the aggregate skeleton score by the aggregate body zone score can be weighted per keyframe to enhance the contribution from zones that are more important to executing the keyframe pose. For example, if the left arm is most important to a particular pose, the weight of its contribution to the score can be increased, or contributions of other body zones' scores can be decreased, or some combination thereof. Beneficially, contributions to aggregate body zone score by individual joint score may be weighted per keyframe, to enhance contribution from individual joint positions that are more important to executing the keyframe pose. For example, the elbow can be more important than the wrist for the “Funky Chicken” pose, so the weight of the elbow joint's score can be increased, or the weight of the wrist joint score can be decreased, or some combination thereof. Typically though, if a user's joint or body zone is in the correct position, the user will be given full credit for the correct position and the weight of that limb's contribution will not be decreased.
Referring now to
The score of an input from for a particular keyframe can be determined aggregating the positional score and the timing score. In some embodiments, the positional score for an input frame compared against a particular keyframe can then be multiplied by the timing score for that input frame to produce an overall score for the input frame for that keyframe. If the score for an particular input frame is greater than the score of any other input frame for a particular keyframe, i.e., that input frame is the “closest” to the keyframe in terms of the combination of weighted timing and position scores, that score can be the assigned score for that keyframe and is used to determine the player's overall score for the move. When the user has satisfied a certain percentage of the filters for the bar, e.g., 80%, the user can be considered to have successfully performed the entire move for that bar (because it is unlikely that a user will satisfy 100% of the filters). In implementations with graduated feedback (discussed below), completing 80% may be “Perfect,” 60% may be “Good,” 40% may be “Fair,” and 20% may be “Poor.”
Compensating for the Limits of the Camera and User
The techniques described herein can overcome one limitation of the user's ability to parse input presented on the display. Certain movements of the on-screen dancer along the z axis (into and out of the screen) are difficult for the user to parse precisely. For example, when the avatar's arm is held out directly in front of its body, and the wrist is then moved closer to or further from the avatar's body along the z axis, the degree of that motion is hard to see from the user's perspective. This is problematic for a dance game because the game may require the user to replicate this movement, and the user cannot easily judge the distance well enough to execute the movement well.
In some embodiments, this can be overcome by unevenly weighting the contributions of the x, y, and z axes to the Euclidean distance measurement above. This has the effect of “flattening” the error space in a dimension if that dimension is difficult to detect visually. This can typically be expressed as a front-to-back relaxing of the scoring along the z axis, because movements in a camera-based system towards the camera (forward) or away from the camera (back) are the ones being compensated for. The relaxation of scoring along an axis can be automatically provided by the invention by reducing the contribution along that axis by a coefficient in the Euclidean distance calculation. The developer may also specify, for a given keyframe, coefficients for one or more axis to reduce or enhance the contribution of error along that axis to the final score.
The techniques described herein can also overcome the limitation caused by occlusion that is inherent to any camera-based input. When a dance move requires one or more parts of the body to be moved behind other parts of the body, the occlusion of the joints makes it very difficult to determine their positions with accuracy. This is problematic because joints can be occluded in normal dance moves, such as when an arm goes behind the back, or when a move requires the user to turn sideways to the camera.
The techniques described herein can overcome a limitation with a user attempting to reproduce the target performance when the mocap for the target performance was executed by a professional dancer who is very flexible. This can be problematic because a professional dancer can place his body in positions that cannot be achieved by a casual user, and therefore the user cannot score well on the move. For example, a professional dancer can touch his elbows together behind his back, but it would be unfair to penalize a typical user for this lack of flexibility, so the scoring for these moves can be relaxed.
In some embodiments, relaxing the scoring can be achieved by unevenly weighting the contributions of the x, y, and z axes to the Euclidean distance measurement above, where x, y, and z are taken to be in the mocap performer's frame of reference. The frame of reference of the mocap skeleton is computed per-frame as a rotation about the z axis of the camera's frame of reference. The angle of rotation can be computed by finding the plane created by the shoulders and the center of the pelvis, finding the forward-facing normal, and rotating the frame of reference through the angle from the view plane normal to the forward-facing normal. Alternatively, the frame of reference of the mocap skeleton can be computed by starting with the plane created by both hips and the head.
In some embodiments, relaxing the scoring can be achieved by unevenly weighting the contributions of the x, y, and z axes to the Euclidean distance measurement above, where x, y, and z are taken to be in the left arm coordinate systems, right arm coordinate system, left leg coordinate system, or left leg coordinate system.
One the frame of reference has been rotated, relaxing scoring along an axis can have the effect of “flattening” the error space in a dimension. For example, if a move requires the elbows to be pulled back very far, relaxing scoring along the z axis in the frame of reference of the mocap performer will reduce the distance the elbows need to be pulled back in order to achieve a good score. The relaxation of scoring along an axis can be specified with the keyframe information as coefficients for the Euclidean distance calculation.
Beneficially, the game developer can manually weight certain moves to be more forgiving along any axis simply because a move is hard to perform.
In some embodiments, weighting can be based on the “confidence” that the camera system may provide for detecting a joint's position. For example, in some embodiments of the KINECT, the camera system can provide “tracked” positional information in the form of a position for a joint and a confidence level that the position is correct. When the joint is off-screen, the KINECT can also provides an “inferred” position. When a joint's position is inferred, e.g., when the joint is clipped or occluded, neighboring joints can be examined to better assess where the inferred joint is. For example, if an elbow is raised above the user's ear, there are only a few possible locations of the user's wrist, e.g., straight up above the elbow, down near the user's chin, or somewhere in between. In these scenarios, because the object of the game is to be fun, the maximum positional window, e.g., 0 to d+outer, can be widened so that the filtering is looser to allow for greater variation in positional differences. Additionally, the inner window of “perfect” position, zero to d+inner, can also be widened.
In some embodiments, the game can be suspended if too much of the skeleton is occluded or off-screen for more than a threshold amount of time, e.g., 10 seconds, or 6 beats, rather than continuing to reward the user for incorrect positioning.
To assist the user in completing moves correctly, per-limb feedback can be given to the user when performing a move. In some embodiments, if the user is not satisfying a filter for a limb, the game can render a red outline around the on-screen dancer's corresponding limb to demonstrate to the user where they need to make an adjustment. In some embodiments, the per-limb feedback is on the mirror-image limb from the limb that is not satisfying the filter. For example, if the user is satisfying the filter for both feet, the hips, and the left arm, but not satisfying the filter for the right arm, the game renders a red outline around the on-screen dancer's left arm. This can indicate to the user that his right arm is not correct, since the user is facing the on-screen dancer and mimicking the on-screen dancer in mirror image.
Other per-limb feedback is also possible. For example, in some embodiments, an indicator such as a “phantom” limb is drawn in the target location. Alternatively or additionally, an indicator can be anchored on the errant limb and its direction and length are based on the direction and degree of error in the user's limb position. For example, if the user's wrist is below the target location, the game can draw an arrow starting from where the user's wrist is located in the input performance and ending where the on-screen dancer's wrist is in the target performance. Alternatively, in embodiments where a representation of what the user is doing is displayed on-screen, the arrow can be drawn starting from the user representation's wrist. In some embodiments, the indicator persists until the user satisfies the filters for the target performance's arms. In some embodiments, the intensity, geometry, material, or color characteristic of the indicator may be changed based on the degree of error for that limb. For example, the color of the indicator may become a more saturated red if the error for a limb becomes greater. Other highlighting may also be used, as may verbal cues such as “get your <limbs> movin'” where <limbs> is any body zone that is not satisfying the filter.
In some embodiments, there can be an additional indicator showing how well the user is cumulatively satisfying all filters in a move, such as a ring of concentric circles under the on-screen dancer's feet. If the user has satisfied a certain percentage of the filters, e.g., 20%, the inner ring of circles is illuminated. When the user successfully performs the next threshold percentage of filters, e.g., 40%, the next set of rings is illuminated. This can be repeated such that when the user has successfully performed the entire move, the outermost set of rings is illuminated. A notable side effect is that as the user is satisfying filters, the ring grows under the on-screen dancer's feet. In some embodiments, the success indicator moves with the on-screen dancer, e.g., is based on the position of the mid-point of the pelvis of the skeleton of the target performance, so that the user does not have to look at a different part of the screen to determine how well he is performing. While described in terms of discrete rings, the effect can occur continuously. Also, other shapes or graphical effects may be used, e.g., a meter indicating how many filters are satisfied, and bigger and bigger explosions or fireworks may be displayed to indicate the user satisfying more and more filters. Beneficially, in some embodiments, a qualitative evaluation is also displayed, e.g., good!, great!, or awesome!
Beneficially, the setting of the game can react to changes in the user's performance. For example, as the user is satisfying filters, a crowd of spectators may begin to circle or gather near the on-screen dancer. Or the venue in which the on-screen dancer is performing may become brighter, more colorful, or transform into a more spectacular, stimulating, or elegant venue. Correspondingly, if the user is performing poorly, on screen crowds may dissolve and walk away or the venue may become darker, less colorful, or transform into a less spectacular, stimulating, or elegant venue. Changes in venue and setting can based on the consecutive number of moves completed, e.g., after five successful moves the venue and dancers on screen change to an “improved mode.” After ten successful moves the venue and dancers may change to a “more improved mode” and so forth. Changes in venue and setting can also be based on the overall score of the input performance, or on the overall score of the input performance as compared to an average performance.
Dance Training
In some embodiments, there can be a trainer mode to assist the user in learning a dance. In trainer mode, a dance move can be demonstrated using the on-screen dancer and audible cues and no score is kept. The user is then expected to mimic the on-screen dancer's movements. If the user performs the move correctly, an indicator can indicate he has performed the move correctly, the next move is demonstrated, and the user may continue practicing. If the user does not perform the move correctly, the move can be repeated and the user can keep trying to perform the move before he is allowed to continue.
When the user does not perform the movement correctly, additional instruction can be provided. In some embodiments, a verb timeline, normal_instructions, runs simultaneously with the target performance, and has multiple verb labels indicated on it. The verb labels refer to pre-recorded audio samples that have both waveform data and offsets. The offset indicates where the stress—or important accent—is located in the waveform data. For example, if the wave form data represents the spoken word “together,” the offset indicates the first “e” sound such that playback of “together” begins before the point of the verb label on the timeline and the playback of the “e” sound aligns with the point of the verb label on the timeline. This allows the developer to specify which point on the timeline a particular syllable of the audible cue falls on. As the target performance is displayed, the waveform data is played back according to the positions of the verb labels and the offsets to provide instruction to the user that is synchronized with the movement of the on-screen dancer.
In some embodiments, a second verb timeline, slow_instructions, runs simultaneously with the target performance and may have a different or more detailed set of verb labels indicated on it. These verb labels can also refer to pre-recorded audio samples with waveform data and offsets, similar to those described above. When the user cannot successfully perform a particular move after a threshold number of attempts, the game slows down and the slow_instructions timeline is used to provide additional, more detailed instruction to the user. For example, on the normal_instructions timeline, there can be a verb label that refers to an audio cue of “step and clap.” On the slow_instructions timeline, this may be represented by three labels, “left foot out,” “right foot together,” and “clap.” When the game is slowed down, rather than referencing verb labels on the normal_instructions timeline to trigger audio cues, the game references the verb labels on slow_instructions timeline. Beneficially, when the game is slowed down, there is enough time between body movements that the additional instructions can be played. In some embodiments, the slowed down audible cues are stored in a different file or a different audio track than the normal speed audible cues. When the user has successfully reproduced the move, the game can be sped back up and the normal_instructions timeline is used, or alternatively, the additional instructions are muted or not played.
Fitness Mode
In some embodiments, there can be a calorie counter displayed on the display during the dance game to encourage users to dance. As the user dances, the calorie counter can be incremented based on the Metabolic Equivalent of Task (“MET”, and generally equivalent to one kcal/kg/hour) value of what the user is doing. As an example, sitting on the couch has a MET value of 1. Dancing and most low impact aerobics have a MET value of approximately 5. High impact aerobics has a MET value of 7. To determine the MET for a frame of input skeleton data, the joint velocities for all joints on the user's input skeleton are summed. To determine a joint's velocity, the joint's position (in three dimensional space) in the previous frame can be subtracted from its position in the current frame. This yields a vector. The vector is divided by the elapsed time between the previous frame and the current frame. The length of the resulting vector can be the velocity of that joint.
Once the sum is determined, it can be exponentially smoothed to reduce transient noise. The result is a mapped to a MET scale of 1 to 7 with, in some embodiments, a sum of 0 mapping to 1 and a sum of 40 mapping to 7, with 1 representing no movement and 7 being a large or vigorous movement. Beneficially, any sum less than five can map to 1 to account for the noise inherent in the input. The mapping can be linear, piecewise linear, or any interpolation function. Using the MET value, and knowing the user's body weight (which can be input via a menu, or can be inferred based on the camera's input and a body/mass calculation), calories burned can be estimated.
METs can be converted to calories-consumed-per-second using the equation of (METs*body weight in kilograms)/seconds in an hour=calories/second. This value can then be displayed on the screen, or summed over time to produce a value displayed on the screen for total calories. The value for calories/second or total calories can be stored as a “high score” and, in some embodiments, can be used to increase or decrease the tempo of a song or the difficulty of a series of moves. Advantageously, this can allow the user to track total calories burned, average rate burned, and other statistics over time.
Reusing Elements of a Mocap Performance
In some embodiments of the dance game, the most difficult or complex target performance can be recorded as one linear mocap session and only parts of the recorded performance are used to simulate easier versions of the performance. For example, in
The easier routines can be created programmatically, e.g., the game determines how often to repeat a movement based on a difficulty value for the move, favoring easier moves for easier difficulty levels. The easier routines can also be authored by the game developer by creating an “easy” timeline and referencing the move labels on expert track. An example of this is the “easy” track in
Reusing moves can allow space savings on the storage medium (e.g., only one target performance needs to be stored) and it allows the game developer to later change the performances of the other difficulties after the game is released if it is later determined that the performance for a difficulty setting is too hard or too easy or is boring. Since the expert performance is linear, each A section in expert will typically be slightly different because the mocap actor likely did not have his limbs in the exact same position every time.
Examples of this are A′ and B′ where the skeletons are similar to A and B respectively, but the arm positions are slightly different. To make an easier difficulty target performance, the A move that is repeated in the easier difficulties can be A or it can be A′, or some combination. In some embodiments, a move that is repeated in an easier difficulty uses the most recent version of that move in the timeline. In some embodiments, a move that is repeated in an easier difficulty uses the earliest version of that move that appeared in the routine. Beneficially, the animations from the expert track can also be reused when creating the “easy” performance.
A sequence of moves for an easier routine can correspond to a sequence of moves in the original expert linear mocap such that a specific pattern of moves is present in both (although they may not correspond on the timeline). In this case, the sequence of moves can be copied from the expert performance into the desired position in the easier routine's timeline. But if a sequence of moves for an easier routine does not correspond to a sequence of moves in the original expert linear mocap, individual moves can be separately copied from the expert performance into the desired position in the easier routine's timeline. Beneficially, copying larger sequences of moves from the linear mocap produces sequences with fewer animation artifacts.
Animation Blending
When moves or sequences of moves are used in easier difficulties, the moves can abut other moves that were not adjacent in the linear mocap. The transitions in the move animations between these moves can be jarring, since the skeleton in the last frame of one move can be in a completely different pose than the first frame of the next move, which would produce a sudden, nonlinear animation. Animation blending can be used to transition smoothly from the end of one move to the beginning of the next move in the sequence, if the two moves were not adjacent in the linear mocap. Using the example above of an expert performance following the pattern of A, B, C, D, A, B, D, C, when creating the easier difficulty performance, there may be a pattern of A, A that is not part of the linear mocap. Animation blending can be used to transition from the end of the first A animation to the beginning of the same A animation to produce an A, A pattern. In one embodiment, the last beat of the move before an animation transition can be blended with the beat before the beginning of the next move. In the example of the A, A pattern, the last beat of the A move can be blended with the beat before the A move for the duration of one beat. Then the animation continues with the first beat of the second A move.
In some cases, the animation blending technique described above produces animations that are still jarring. This can be often due to the large differences between the pose at the end of one move and the pose at the beginning of the next move, that can't be overcome through simple blending. In these cases, the animation can appear to jerk from one position to another during the transition, or to move in a way that's physically impossible. In some embodiments, additional mocap is recorded to produce bridge animation segments. A bridge animation segment can be designed to make the transition between two other animations smooth. For example, using the example above, if the end of the A move was a very different pose than the beginning of the A move, a simple animation blend might produce a poor result. An A, A bridge animation segment can be recorded, wherein the actor would actually perform the transition from the end of the A move to the beginning of the A move. In one embodiment, the bridge animation segment is three beats long. The next-to-last beat of the first A move is blended with the first beat of the bridge animation segment in such a way that contribution from the bridge animation segment is interpolated linearly over the course of the beat from 0% to 100%. The second beat of the bridge animation segment can be played without blending, then the first beat of the second A move can be blended with the third beat of the bridge animation segment in such a way that the contribution from the bridge animation segment can be interpolated linearly over the course of the beat from 100% to 0%. The bridge animation segment can be any number of beats long, for example two beats, and the blending can also be done over the course of any number of beats, for example two beats. The interpolation can be done in a way that is not linear, such as parabolic, inverse-squared, etc.
In some embodiments, a table can be provided that is keyed by the start and end move labels associated with two animations that may abut. If a bridge animation segment is desired to produce a smooth transition between the associated animations, the table can contain an entry indicating the bridge animation segment that should be used. This table can be consulted for all pairs of animations that are displayed.
Beneficially, the move animations and the results of the animation blending, e.g., from A to A, or from prior move to first A or from second A to next move, can be used as the target performance, and can therefore be scored similarly to the normal gameplay performance. This provides a fluid game experience and rewards users that accurately mimic the dancer on the screen.
In a training mode, it is often desirable to isolate and repeat a move or series of moves, with a gap in between the repetitions. For example, when demonstrating the A move, it is useful for the game to count in the beat while the animation is in an idling state, then execute the move animation, then return to an idle animation. This can be accomplished in a way that is similar to the bridge animation segments described for gameplay above. In one embodiment, a three beat bridge animation segment of the transition from an idle state to the first beat of a move is recorded as mocap data. This can be blended with the idle animation and move animation as described above.
Prompting the User to Perform Dance Moves
In some embodiments, the user or player can be prompted or instructed to perform a series of dance moves. As used herein, the term “dance move” can refer to one or more motions or movements, a static pose, a series of poses, or any combination thereof. For example, a dance move can include body, limb, or joint movements, such as twisting an arm, lifting a leg, or moving the body. A dance move can also include holding the body or a portion of the body stationary or in a particular pose while moving only one limb. Additionally or alternatively, a dance move can include holding a body part or limb, e.g., the head or an arm, in a specified position while other parts of the body are in motion.
The player can be prompted or instructed to perform a series of dance moves by displaying icons indicative of the dance moves on the display. For example, one or more icons can be displayed to indicate the dance move the player should currently be performing, the dance moves that the player should perform in the future (i.e., upcoming dance moves), and dance moves that the player should have already performed. In some embodiments, the gameplay display includes specific regions, locations, or positions where icons are displayed. The term location will be used herein to describe these regions, locations, or positions, and so the terms are used interchangeably with respect to where an icon is displayed A location can be, for example, based on a fixed coordinate or a set of coordinates on the gameplay display or a coordinate in the space (e.g., 3-D or 2-D space) represented on the gameplay display. Naturally, a location is not limited to just a fixed coordinate on the display, and can include any other coordinate or set of coordinates within a specified distance from the fixed coordinate, e.g., the location can be an area on the screen bounded by a rectangle or circle or other shape.
In some embodiments, the locations on the display are associated with particular temporal reference points. Specifically, each location can conveys when the player should perform or have performed the dance moves represented by the icons displayed at that location. For example, the icon representing the dance move that the player should currently be performing is displayed at a particular fixed location or position on the display. As illustrated in
In the illustrated embodiment, the icon representing the current move is shown at a prominent location, such as at approximately the vertical midpoint of the display, to make it easier for the player to see the move. In
In some embodiments, one or more icons for the dance moves that the player should perform after the current dance move (e.g., the next, or “future,” dance moves) are displayed at one or more fixed or predetermined locations on the display. As illustrated in
As the song progresses, the location at which each icon is displayed can change. For example, the icon displayed at next move location 550 (indicating the next move) can be displayed at the current move location 535 at a time approximately when the player should perform that move. “Approximately” is used here to indicate that the changing of where the icon is displayed does not have to occur exactly with the time the player should perform the dance move. The icon representing the current dance move can be displayed in current move location 535 when the player is to start performing the dance move, slightly before the player is to start performing it, slightly after (e.g., in the case of video lag), etc. In some of these embodiments, when the icon displayed at next move location 550 is displayed or moved to current move location 535, the dance move icon for two moves ahead, displayed at future move location 555, can then displayed or moved to next move location 550. To a user, the movement of the icons from location to location may appear as a wheel of pictures that can be rotated at certain time intervals, e.g., every two beats, every four beats, or a mix of these. While the intervals associated with a dance move or an icon can be any number of beats or any length of time, it is important to note that the intervals last longer than one beat. Thus, the icon representing the move stays in a fixed location for the duration the interval, e.g., two beats, four beats, etc. This can be different than traditional dance or rhythm games where an indicator continually scrolls towards a timing bar and the user is expected to perform the move when the icon and the timing bar overlap. In one embodiment, each rotation moves a particular icon counterclockwise into a new location in time with the beginning of a new move. In some embodiments, moves may span multiple measures and the turnings of the wheel are not spaced evenly in time, but are based on when the next move is designated on the timeline.
In some embodiments, one or more icons for the dance moves for prior dance moves, i.e., moves that the player should have performed prior to the current dance move, are displayed at fixed or predetermined locations or positions on the display. As illustrated in
The icons displayed at current move location 535, next move location 550, previous move location 565, and any other locations are changed as the song progresses. In order to prompt or instruct a player to perform a series of dance moves, a first icon representing a first dance move can be displayed at current move location 535 to indicate that the player should perform the first dance move. At or about the time the player should begin performing a second dance move, a second icon representing the second dance move can be displayed at current move location 535 to indicate that the player should perform the second dance move.
Still referring to
Timeline 520 can include one or more time intervals (e.g., time intervals 545a-545d). In some embodiments, each time interval can be associated with a dance move. For example, time interval 545a is associated with the dance move “Hop Hop Break,” time interval 545b can also be associated with the dance move “Hop Hop Break,” time interval 545c is associated with “Arm Twist” for the right arm, and time interval 545d is associated with “Arm Twist” for the left arm. In some embodiments, the time interval can be when the on-screen dancer 540 will perform the associated dance move. Separate from the performance of the on screen dancer 540, in some embodiments, the time interval can be the interval when the player should perform the associated dance move. Furthermore, the time intervals associated with dance moves do not necessarily need to be contiguous. For example, a time interval may not be associated with a particular dance move and can be a free period, allowing the user to improvise a dance move, and there can be an icon indicating this freestyle period.
In some embodiments, the player can be prompted or instructed to perform a series of dance moves by displaying icons related to the dance moves based on the sequence that timeline 520 specifies. For example, an icon representing a dance move is displayed at current move location 535 to indicate that the player should perform the first dance move. In some embodiment, the icon representing the dance move is displayed at current move location 535 for the entire duration of the time interval associated with the dance move. In this example, an icon representing “Hop Hop Break” is displayed at current move location 535 for the duration of time interval 545a, and then an icon representing “Hop Hop Break” is displayed at current move location 535 for the duration of time interval 545b. Then an icon representing “Arm Twist” for the right arm is displayed at current move location 535 for the duration of time interval 545c, and then an icon representing “Arm Twist” for the left arm is displayed at current move location 535 for the duration of time interval 545d. Thus, for particular time intervals on timeline 520, there is an associated dance move, and an icon representing that dance move is displayed at current move location 535 during that time interval.
In some embodiments, the icon representing a dance move can be displayed at current move location 535 for a different interval of time than the interval of time associated with the dance move specified by the timeline. For example, the icon can be displayed at current move location 535 for a portion of the interval of time associated with the dance move (e.g., at the beginning) The icon can be displayed at current move location 535 for an interval of time that intersects the interval of time associated with the dance move, but is not identical to the time interval, e.g., the icon can be displayed at current move location 535 just before or after the beginning of the interval of time associated with the dance move.
In some embodiments, the time interval that an icon is displayed for corresponds to musical events. For example, during gameplay, the beginning of the interval can align with the downbeat of a measure. Additionally or alternatively, the time interval can align with the third beat of a measure. Alternatively, it can align with the second or fourth beat of a measure, on so on. These are just examples and the invention is not limited to aligning with any particular beat.
In some embodiments, the display of other icons, in addition to the icon representing the current dance move, are also based on the sequence timeline 520 specifies. One or more icons for the dance moves that the player should perform after the current dance move (i.e., the future dance moves) and/or one or more icons for the dance moves that the player should have performed prior to the current dance move (i.e., past dance moves) can be displayed. For example, an icon representing “Hop Hop Break” can be displayed at current move location 535, an icon representing “Arm Twist” for the right arm can be displayed at next move location 550, and an icon representing “Hop Hop Break” can be displayed at previous move location 565 for the duration of time interval 545b. Thus, as specified by timeline 520, an icon representing the dance move that the player should currently be performing, is displayed at current move location 535, an icon representing the next dance move can be displayed at next move location 550, and an icon representing the previous dance move is displayed at previous move location 565.
In some embodiments, the icon for the next dance move dance move can be translated, visually shifted, “flipped,” rotated, or moved from being displayed at next move location 550 to current move location 535. Similarly, the icon displayed at current move location 535 is translated, visually shifted, “flipped,” rotated, or moved to previous move location 565. “Translated” is used herein to describe changing the location that an icons is displayed, but any visual effect can be applied, such as moving, dragging, shifting, flipping (like the icon is a card on deck of cards), rotated, or other visual indicators of motion.
As an example, at or about the end of time interval 545a or the beginning of time interval 545b, the icon representing “Hop Hop” break that is displayed at current move location 535 can be translated to previous move location 565, indicating that the time for performance of that move has ended. The icon representing “Hop Hop break” that is displayed at next move location 550 is translated to current move location 535, indicating that the player should now perform that move. The icon representing “Arm Twist” for the right arm that is displayed at future move location 555 is translated to next move location 550, indicating that “Arm Twist” for the right arm will be the next dance move the player should perform.
In some embodiments, the translation can be animated by, for example, sliding the icon from its old position to its new position. As discussed above, the icon's size can also change, e.g., the icon can grow larger or shrink, based on whether it is being displayed at current move location 535 or another position or location. At the time of the translation, other graphics may also be displayed to draw the player's attention to the newly translated icon. For example, the icon may flash or change color.
An icon represents a dance move in various ways.
An icon can also show the name or a written description of the dance move it represents. For example, icon 600 includes the text 615, which is the name of the represented dance move “Hop Hop Break.” In
In some embodiments, an icon can include an animated depiction of the dance move. In these embodiments, the outline of the figure moves to show what the dance move looks like. In some embodiments though, only a portion of the body (e.g., arms), performs the movements made during the dance move. For example, if the legs are not an important part of the dance move and the player is supposed to simply stand in place, the animated icon may not move the legs and instead just animate the complicated arm and head movements.
Beneficially, in some embodiments, an icon can include an indication of one or more body parts whose role is important to the dance move that it represents. A body part that is important can be any portion of the body. For example, an important body part can be the torso (e.g., including the chest, arms, hands, and head) or the lower portion (e.g., including the waist, hips, one or both legs, one or both feet, etc.). The role of the body part can be the body part's position, velocity, direction of movement, or any combination thereof.
To indicate which portion of the body is important, in some embodiments the icons include visual markings on the outline or figure indicating the importance. For example, the important body part can be highlighted or drawn in a different color than the rest of the figure. In some embodiments, importance is indicated by filling in the depiction of the body part with a different color. Referring again to
As described throughout this specification, a player's performance of a dance move can be scored. In some embodiments, one or more attributes of an icon are changed based on the score calculated for the player's performance of the move represented by the icon. For example, the icon's color, brightness, background, or size can be changed based on the score. In some embodiments, after a move is performed, and the icon is moved to the previous move location 565, the icon's background color can be colored red for a poorly performed move, colored green for a move partially performed, or colored blue for a correctly performed move.
The exemplary method begins with providing a timeline (step 810). The timeline can includes one or more time intervals, and each time interval can be associated with a dance move. For example, in one embodiment, the timeline includes a first time interval associated with a first dance move, and a second time interval associated with a second dance move. The timeline and time intervals can be represented by any suitable data structures on media readable by the game platform, as is known in the art. For example, the timeline can be embodied as a list or array of time intervals in a game platform's memory, with each time interval including a value indicating its associated dance move. Typically a timeline is produced through an authoring system, such as the system shown in
Prior to a third time interval associated with the first dance move, a lookup can be performed (step 820) using the first dance move as the index. For example, referring to
After the memory lookup is performed, the icon representing the first dance move can be retrieved from memory (step 830). Icons can be bitmaps, compressed images, vector graphics, other image types known in the art, or animations. Retrieval of the icon from memory can involve retrieving the icon's data from an array of icons or from a database. As previously noted, an icon can include outlines of bodies in poses related to the a dance move, the name or a written description of the dance move it represents, and/or an indication of one or more body parts whose role is important to the dance move that it represents or an indication of any repetition, or any combination of these.
After the icon is determined, the icon representing the first dance move can be displayed at the current move location on the display during the third time interval (step 840). For example, referring again to
Next, prior to a fourth time interval associated with the second dance move, a lookup in memory using the second dance move is performed (step 850). For example, at a time prior to time interval 545c, a memory lookup can be performed based on the dance move “Arm Twist,” which is associated with time interval 545c. The lookup can identify the icon associated with the “Arm Twist” dance move. The memory lookup can be performed using techniques similar to those described with respect to step 820. After the memory lookup is performed, the icon representing the second dance move can be retrieved from memory (step 860).
Then, the icon representing the second dance move is displayed at the current move location on the display during the fourth time interval (step 870). For example, the icon for “Arm Twist” can be displayed at current move location 535 for the time interval 545c. This prompts the user to perform the dance move “Arm Twist.” In some embodiments, the icon representing the second dance move replaces the icon representing the first dance move at current move location 535. In some embodiments, the icon representing the second dance move is translated from another location on the display (e.g., next move location 550) to current move location 535 as previously described.
Determining an Active Player with Multiple Skeletons Available
When more than one player is within the field of view of the camera, it can be desirable to determine which player is the active player, and which player is the inactive player, for the purposes of shell navigation and gameplay.
For this discussion of determining the active player, it is useful to define two terms. A skeleton is considered “valid” if it is not sitting and it is facing the camera. Also, “queuing a skeleton for activation” means setting a timer to go off at particular time, at which point the active skeleton is set to be inactive and the queued skeleton is set to be active.
In some embodiments, queuing a skeleton for activation does not set a timer if that skeleton is already queued for activation. In some embodiments, queuing a skeleton for activation does not set a timer if any skeleton is already queued for activation. In some embodiments, the timer is always set for 1 second in the future.
In some embodiments, determining the active player begins when a frame of skeleton data is received by the system. In some embodiments, a frame of skeleton data can be received and processed every thirtieth of a second. In each frame, there may be any number of distinct skeletons in the skeleton data. At any time, one of the skeletons in the skeleton data is considered active, and the rest, if any, are considered inactive.
In some embodiments, if the active skeleton is behind—further from the camera than—an inactive skeleton, or the active skeleton is near the edge of the camera's view, then the system can search for an inactive skeleton to activate. In some embodiments, the active skeleton is considered near the edge of the camera's view if its centerline is in the left or right fifth of the camera's view. If there is an inactive skeleton nearer to the center of the camera's view than the active skeleton, the inactive skeleton can be queued for activation.
In some embodiments, if an inactive skeleton that is queued for activation is not present in the current frame, or is not valid, or is crossing its arms, or is behind the active skeleton, the queued activation of that skeleton is cancelled. In some of these embodiments, the queued activation of the inactive skeleton is not cancelled if the active skeleton is near the edge of the camera's view.
In some embodiments, if the active skeleton is not in the frame, or if the active skeleton is invalid, but there is at least one inactive skeleton, the system immediately activates one of the inactive skeletons.
In some embodiments, if an inactive skeleton's hand is raised and the active skeleton's hand is not raised, the inactive skeleton is queued for activation or scoring for dancing. Beneficially, this allows a user to express intent to control the shell or have their performance be the one that is graded by raising their hand.
Multi-Player Modes—Animation
A dance game can be more satisfying if it provides multi-player competitive or cooperative game modes. One difficulty that arises is that the original song and the choreography for the song may not be balanced such that two players can have equal opportunities to contribute to their competing or combined scores (for competitive and cooperative modes, respectively). In addition, the song may be too short to give either player sufficient opportunity to perform for a satisfying duration.
In some embodiments, a song and its choreography can be artificially extended by looping back to previous parts of the song to give multiple players an opportunity to dance the same section. Beneficially, this can provide the same potential scoring for all players in a multi-player mode. Although animation blending in this context is primarily intended for looping back to previous parts of a song, the mechanism applies equally well to any non-contiguous jump between points in the song, or jumps between jumps points in more than one song.
In some embodiments, a section that is to be repeated in multi-player mode can be indicated in a MIDI file, in a track called multiplayer_markers, aligned with the audio timeline. Alternatively, the markers can be located in the same MIDI track as other MIDI data, or can be indicated across multiple MIDI files, in respective tracks called multiplayer_markers, or can be located in the same MIDI track as other MIDI data, spread across multiple MIDI files. The section indicators can be special multiplayer text events, MP_START and MP_END. During gameplay, when the game time reaches the time of the MP_END text event the first time, the game time jumps to MP_START and the other player begins play. When the game time approaches the time of MP_END the second time, it continues without jumping.
In some embodiments, when the game jumps to a non-contiguous point in the song, for example to the point designated by MP_END, animation blending can be used, as described above for creating easier difficulties, to make the transition less jarring. For example, if it is determined that a single section should be repeated, the animation of the last beat of the section can be blended with the animation the beat before the beginning of the first beat of the section. The animation blending can take place over two beats, or it can extend over multiple beats. In all cases, the animation for the end of the section can be blended with the animation before the beginning of the section such that the blend begins with 100% contribution from the end of the section and ends with 100% contribution from before the beginning of the section. The interpolation can be linear, or can use any other interpolating function such as polynomial.
As in animation blending for easier difficulties, the blend from the end of a section to the beginning of the section can produce an unrealistic movement. In this case, bridge animation segments can be used, as discussed above regarding producing an easy difficulty.
Multi-Player Modes—Audio
Extending a song by looping back to previous sections can bring with it some inherent difficulties in animation. The techniques described herein can addresses these difficulties using animation blending and bridge animations. Non-contiguous jumps in the timeline of the song, or jumps between songs, also cause difficulties with continuity of the audio track. As with animation, the audio for the end of a section does not always merge smoothly into the audio for a section that is not adjacent in the song's timeline. Jarring discontinuities in the audio track can interfere with the users' enjoyment of multi-player modes. The techniques described herein can provide seamless audio track transition playback during multi-player modes to address this difficulty. For example, if the audio follows the sequence of sections A, B, C, it can be desirable in a multiplayer mode to loop from the end of the B section back to the beginning of the B section. The invention allows this extension to happen seamlessly.
In some embodiments, a section that is to be repeated in multi-player mode can be indicated in a MIDI file in a track called multiplayer_markers, with MP_START and MP_END text events, as described above. In the example above, an MP_START text event in the MIDI file would be aligned with the beginning of the B section, and an MP_END text event would be aligned with the end of the B section, indicating that the entire B section is to be repeated in multi-player mode. Alternatively, a section that is to be repeated in multi-player mode can be indicated across multiple MIDI files, in respective tracks called multiplayer_markers, or can be located in the same MIDI track as other MIDI data, spread across multiple MIDI file.
In some embodiments, when there will be a transition from one part of the song to a non-adjacent part of the song, the audio track for a period of time before the origin of the transition can be blended with the audio track for the same duration before the target of the transition, or the audio track for a period of time after the origin of the transition can be blended with the audio track for the same duration after the target of the transition, or some combination. This can be similar to how animations are blended when producing an easy difficulty. For example, one beat worth of audio before the MP_END event could be blended with one beat worth of audio before the MP_START event, then one beat worth of audio after the MP_END event could be blended with one beat worth of audio after the MP_START event. The blending can be done such that at the beginning of the blend, the contribution from the audio before the MP_END event is 100%, and at the end of the blend, the contribution of the audio from after MP_START is 100%. This can be a linear crossfade, or it can use any other interpolating function, such as polynomial.
In some cases, as with animation blending, the result of audio blending can still be jarring. This is often due to the discontinuity in the harmonic progression of the song when moving to a different place in the music, or presence or absence of vocal or instrument parts before or after the transition. In some embodiments, as with bridge animation segments, additional audio can be recorded to produce waveform data for a bridge audio segment. The bridge audio segment is designed to make the audio transition between two non-adjacent parts of the song sound smooth. Using the example above with sections A, B, and C, if the game will repeat section B, a bridge audio segment can be provided that smoothly transitions from the last part of section B into the first part of section B.
In one embodiment, the waveform data for bridge audio segments are included in one or more additional bridge audio tracks in the multi-track audio data, and the bridge audio tracks are muted unless non-sequential looping is taking place. However, each bridge audio segment could be located in its own file referenced by the game authoring, or all bridge audio segments could be located in a single file, and the offset and duration of each segment of bridge audio in the single file would be stored as unique text events in the MIDI file.
In some embodiments, all bridge audio segments are of a fixed duration in beats, with a fixed number of beats before the transition. In these embodiments, the original song audio can be played until a fixed amount of time in beats before the end of the transition. Then the original song audio track or tracks are muted, and the bridge audio segment can be played until the transition point. Then the “current time” can be moved to the target of the transition and the remainder of the bridge audio segment is played. At this point, the bridge audio track can be muted and the original song audio track or tracks are unmuted. For example, all bridge audio segments might be three beats long, with one beat before the transition. Using the example above with sections A, B, and C, if the game will repeat section B, a 3-beat-long bridge audio segment from the end of B to the beginning of B may be provided. One beat before end of B, the original audio tracks are muted and the B-to-B bridge audio segment is played. When the end of B is reached, the current time is moved to the beginning of B, and the bridge audio segment continues playing for two more beats. After two beats, the bridge audio track is muted and the original tracks are unmuted. Beneficially, aligning the audio and changing the current time in this way allows for a single, consistent timeline for audio playback, animation, and other aspects of gameplay. Alternatively, the current time may be changed at the end of the bridge audio segment's playback, and moved directly to two beats after the beginning of B section. This example discusses bridge audio segments that are all 3 beats long, which start playing one beat before the transition, but other embodiments may have bridge audio segments that are all longer or shorter, or that all begin earlier or later with respect to the transition.
In some embodiments, the song audio and bridge audio segments can be muted and unmuted, as described. Alternatively, the song audio and bridge audio segments can be mixed, such as by lowering the normal song audio volume to 10% and playing the bridge audio segment at 90%. It is also possible to cross-fade the song audio and bridge audio segments. For example, the last beat of the B section would start with 100% of the song audio and end with 100% of the bridge audio segment, then the bridge audio segment would play at 100%, then the second beat of the B section would start with 100% of the bridge audio segment and end with 100% of the second beat of the song audio. The interpolation can be linear, but it can also use any other interpolating function, such as polynomial.
In some embodiments, as described above, the bridge audio segments can be of a fixed duration in beats or seconds. In other embodiments, each bridge audio segments can be of different durations. Beneficially, the ability to specify bridge audio segments of different durations makes it easier to provide a musically seamless transition, using more time if necessary, to achieve the proper harmonic and orchestration transitions, and less if possible, so that the playback departs as little as possible from the original music.
In one embodiment, all the waveform data for bridge audio segments can be located on a single bridge audio track, bridge_audio, in the multi-track audio data file. The bridge audio waveform data for a given transition is divided into the sub-segment before the transition and the sub-segment after the transition. The sub-segment before the transition is positioned in the bridge_audio track so that it ends exactly at the transition point, corresponding to the MP_END text event in the associated MIDI file. The sub-segment after the transition is positioned in the bridge_audio track such that it begins exactly at the target of the transition, corresponding to the MP_START text event in the associated MIDI file.
In some embodiments, where the bridge audio segments are of a fixed duration, the beginning and end of the bridge audio segments is implicit in the fixed duration and the fixed amount of time before the transition, as described above.
In the preferred embodiment, the specification of the beginning and end of bridge audio segments is provided in a MIDI file, in the multiplayer_markers track, although the beginning and end of the bridge audio segments could be in their own MIDI track, or in their own MIDI file whose timeline is aligned with the audio timeline. In the multiplayer_markers track, special multiplayer text events, MP_BRIDGE_START and MP_BRIDGE_END, denote the beginning and end of a bridge audio segment. As the game is played in a multi-player mode, when an MP_BRIDGE_START text event can be encountered on the timeline of multiplayer_markers, the original audio track or tracks are muted and the bridge_audio track is unmuted. As described above, attenuation of the original track or crossfading with the bridge audio track can be used instead of muting and unmuting. Playback continues until the transition point itself, which can be indicated by the MP_END text event. At this point, the “current time” can be set to the target of the transition, marked by the MP_START text event, and the bridge audio track continues. When the MIDI MP_BRIDGE_END event is encountered, the original audio track or tracks are unmuted, and the bridge audio track is muted. Note that when the transition is backwards in time, the MP_BRIDGE_END event occurs earlier on the timeline than the MP_BRIDGE_START event, since the current time is modified between them. Beneficially, dividing the bridge audio segments and modifying the current time at the transition point as described allows there to be a single concept of current time for the audio, animation, and gameplay. In other embodiments, the current time can be modified only after the playback of the bridge audio segment is complete, and at that point it can be set to the location of MP_START plus the length of the second sub-segment of the bridge audio segment. As described above, a section that is to be repeated in multi-player mode also can be indicated across multiple MIDI files, in respective tracks called multiplayer_markers, or can be located in the same MIDI track as other MIDI data, spread across multiple MIDI file.
Dance-Off Competition
Multiple players can also participate in a “dance-off” where players compete against one another. For example, players can create dance moves that the other players try to recreate. The other players' attempts to recreate the original dance moves can be scored by the game platform. The process can repeat, where different players create dance moves for the other players to recreate. In effect, rather than comparing a player's performance to the mocap data of a professional dancer, one player's performance can be compared to another player's performance.
For example, a first player can create a dance move that is captured by the camera. The camera can then provide the captured data to the game platform. The game platform can use the data provided by the camera to create a model of the first player's dance move. A second player can then try to replicate the first player's dance move. The second player's attempt can be captured by the camera and provided to the game platform. The game platform can then compare the second player's recreation attempt to the model dance move created from the first player to provide feedback.
The game platform can perform this process using any of the information provided by the camera. For example, in order to generate the model dance move, the game platform can use the skeleton information, depth image information, and/or video camera information provided by the camera. Determining the position of the players is not limited to the use of a three-dimensional camera system using a full skeleton. For example, some embodiments can receive a two-dimensional picture of a player, extract an outline of the player, and shade it to create a “blob” which is then compared to a blob generated from another two-dimensional picture. Additionally or alternatively, instead of using, for example, all 20 joints of a typical skeleton, the game platform can also use a sub-set of important joints such as the head and hands. Additionally or alternatively, “blobs” of less than all of a player's body can also be used (e.g., blobs corresponding to a player's head and hands). Lastly, the camera may only provide a two-dimensional position of important joints such as just the head or the hands, and the game platform can use these joints or a subset thereof. Other configurations are possible.
How the model dance move is created by the game platform can vary between embodiments. For example, in some embodiments, the model of the dance move is a filter that can be created by prompting the first player to perform the same dance move multiple times. Each repetition of the dance move can be recorded by the camera, and corresponding skeletons and/or depth images can be provided to the game platform. The game platform can then compare the multiple skeletons and/or depth images and decide which skeletons and/or depth images to use to create the model filter.
Referring to
While the process 900 relates to a single first player creating an original dance move that a single second player attempts to recreate, some camera systems are able to track multiple players. Thus, in some embodiments, the process 900 can be configured such that a first team performs a dance move that a second team tries to replicate. Additionally, a single person can create a dance move that a group of people try to replicate. Each of the people involved in the competition can be at different geographical locations (e.g., on different and/or remote game consoles), though this is not required.
At stage 905, the game platform can prompt the first player to create and perform an original dance move. The game platform can prompt the first player to perform a dance move that lasts for a predetermined amount of time (e.g., 2 seconds), although this is not required. When the first player is prompted to perform the dance move, the game platform can provide corresponding music for the first player to dance to. The music can be selectable by any participating user and/or provided by the any user. For example, any of the game participants can choose a song or provide a song (e.g., using an external music source and/or downloading music). The game platform, however, is not required to provide music for the first player to dance to. Additionally, the tempo of the music and/or a corresponding countdown voiceover can be used to determine when the dance move should be performed. In some embodiments, a voiceover provided by the game can tell the first player when to start dancing, and the tempo of the music can determine the duration of the dance move. The prompt can be, for example, an audio prompt (e.g., a voiceover, music, etc.), and/or a visual prompt (e.g., a countdown on the screen).
At stage 910, the camera can capture the dance move performed by the first player and can provide information relating to the first player's performance to the game platform. For example, the camera can provide several pieces of information per frame (e.g., 15 or 30 frames per second) such as i) a skeletal representation of the first player that includes 20 three-dimensional joint coordinates, ii) a two-dimensional depth image whose pixel values are proportional to the distance from the camera of objects in the camera's field of view (e.g., a depth image as shown in
Additionally, the game platform can be configured to display the output from the camera on a display (e.g., the game platform can be configured to display the skeleton and/or depth image provided by the camera in real-time). For example, while the first player is trying to create a dance move, the game platform can provide visual feedback to the first player using the information captured by the camera. For example, the game platform can record the depth image information from the camera, cutout the first player's body, and present it on the screen as a plurality of voxels, with a cube at each pixel that is positioned in 3-D space at a distance corresponding to the depth image's value at that position (e.g, shown as 1405 in
Seeing a voxelized image from a prior repetition can be entertaining and even useful to players in order to help them repeat a dance move. However, there is typically a lag between the time the music comes out of the audio system and when the game platform receives information back from the camera system. This lag can lead to problems presenting the voxelized image to the player because the lag can cause the player to fall off the beat in successive repetitions. For example, assume there is a lag L between the time the game console emits a downbeat in the music and the time the data from the depth image for that downbeat moment arrives back at the console from the camera. For the second repetition, it can be useful to play back a “ghosted” voxelized version of the first repetition for the player to see. However, if the game console plays the voxelized image back from the time the music was emitted, the movements corresponding to the downbeat will typically be delayed by L with respect to the music. If the player tries to reproduce that voxelized image, the third voxelized playback will be at a lag of 2L. Gradually, the first player will fall off-sync with the music. Therefore, the game console can shift the playback of the voxelized image on subsequent repetitions earlier as a function of L to compensate for the lag. The amount of shift can be calculated and/or measured by, for example, i) sampling the audio from a microphone in KINECT and measuring how long it takes to have the audio sample make a round trip back to the game console, and/or ii) using known lag in the output and input paths of the game console.
At stage 915, the game platform can determine whether the first player has performed the dance move a predetermined number of times using, for example, a counter. While stage 915 determines whether the first player has performed the dance move four times, other numbers can be used. Having the first player repeat the same dance move multiple times can be beneficial to ensure that the first player is performing a dance move that is, in fact, repeatable by the second player. That is, if the first player is unable to repeat a dance move multiple times, it may be difficult or impossible for a second player to repeat it, defeating one purpose of the dance-off. If the predetermined number of repetitions has been performed/captured, the process 900 proceeds to stage 920. Otherwise, the process 900 proceeds to stage 905. The camera and game platform can be configured to receive information from the camera (e.g., corresponding skeleton and/or depth image information) during or after each repetition of the dance move. For example, after the first player completes four 2-second repetitions of a dance move, the game platform can have stored in memory four 2-second pieces of data from the camera representing the dance move. As referred to herein and in the claims, a “repetition” includes the first performance. That is, if a player performs a dance move four times, for purposes of this description, each performance is considered a “repetition” even though the first performance is not technically a “repeat” of something else.
At stage 920, the game platform can disregard the first repetition. The first repetition can be disregarded in order to give the first player a practice attempt at the dance move or to reduce anomalies. For example, the first repetition is typically a transition from idle (e.g., arms at the side). In such cases, movement of the player can be significantly different at the beginning of the move, compared to when a player is transitioning from the end of a repetition to the beginning of the next repetition.
This stage is optional, and the game platform may actually use the first repetition to build a model of the dance move.
At stage 925, the game platform can compare the second, third, and fourth repetitions of the dance move performed by the first player to determine a level or degree of similarity. The second, third, and fourth repetitions can be compared in order to determine whether the first player performs the same dance move in each of the three repetitions, since, typically, one goal of a dance-off is for the first player to perform a repeatable dance move. The game platform can perform the comparison by comparing the skeletons and/or depth image corresponding to the second, third, and fourth repetition to determine the degree of difference among the three (e.g., using methods similar to those described herein for scoring performances). For example, the second repetition can be compared to the third repetition, and the third repetition can be compared to the fourth repetition. Alternatively, the game platform can also compare the second, third, and fourth repetitions directly to one another or can select one of the repetitions to be the “canonical” performance, and compare the other repetitions to that one. Repetitions can be compared using the techniques described with respect to
Additionally, the process can give different frames within a repetition different weights when comparing input and target performances. For example, the weight of a particular frame can be determined based on the displacements of some or all of the joints of the player, compared to surrounding frames. It can be, for example, any linear combination of displacements from the joints. Different weights can also be applied by comparing the surrounding frames, and altering the weight whenever the position, displacement, and/or velocity is different among the repetitions. A specific example of this is if a player moves their hand quickly between one frame and the next in either the input or target frame. This can increase the weighting of that joint when comparing the input and target frames. Additionally and/or alternatively, the game platform could increase the weighting of the whole frame when comparing the input and target frames since there is a significant movement occurring.
At stage 930, the game platform can determine whether the second, third, and fourth performances of the dance move are similar enough to be considered a “repeatable” dance move. For example, the game platform can determine whether the degree of difference between the three performances is below a predetermined threshold. If the three dance performances are sufficiently similar, the process 900 proceeds to stage 935. Otherwise, the process 900 continues back to stage 905 to prompt the first player to reperform the dance move.
At stage 935, the game platform can create a model of (e.g., a model filter corresponding to) the dance move performed/created by the first player. For example, the model (e.g., model filter) can be similar and/or the same as that used in the target performance discussed above. In the process 900, the third repetition is used to create the model of the dance move, although this is not required. For example, the game platform can use other repetitions to create the model of the dance move (e.g., the first, second, or fourth repetition can be used to create the model). In addition, the game platform can also combine/average multiple performances in order to create a model of the dance move (e.g., a multi-sample filter can help model acceptable variance in position and timing of joints or groups of joints, to determine weights for the filter to compare the competitor's input performance). When the second player later tries to re-create the first player's dance move, the model of the first player's dance move can be used as a baseline from which the second player's attempt can be compared and scored. As part of stage 935, the game platform can also be configured to normalize the model of the dance move as described above.
In some embodiments, the game platform is configured (e.g., vis-à-vis computer source code) to create icons such as flashcards that can be used to instruct the second player how to perform the first player's dance move. As described more fully above (e.g., with respect to
Referring to
While process 1000 refers to analyzing and/or determining the player's position on successive groups of three consecutive beats, other configurations are possible. For example, the game platform can be configured to analyze the player's position on successive groups of six consecutive (or nonconsecutive) beats. In some embodiments, the size of the groups of the beats analyzed can be a function of the number of beats and/or length of time of a dance move, or a portion thereof (e.g., log2, linear, etc.). The game platform can be configured to generate icons for many successive groups of three beats in order to generate a complete set of icons for an entire dance routine (e.g., consisting of multiple dance moves). The icons can represent, for example, a static snapshot of the position of a player's body during one or more points in time during the dance move. Referring to
Additionally, the process 1000 can generate icons that include one or more body outlines. While an instructional icon typically includes a single outline representing the first player's body (e.g., as shown in
The process 1000 can analyze any of the four repetitions (e.g., the repetitions discussed above with respect to process 900) of the dance move performed by the first player or can analyze an averaged version of one or more of the four repetitions performed by the first player. Additionally, while the process 1000 discusses the creation of icons like those in
At stage 1005, the game platform identifies the beats in the music. This can done by the game console and/or provided by an authored (e.g., predefined) track associated with the music. For example, the game console can analyze the music that the first player is performing to in order to identify the beats of the music using a beat detection algorithm. Alternatively or additionally, the beat information can be provided to the game platform via an authored control track that is associated with the music (e.g., a piece of music can have a corresponding information/control track with metadata about the music such as location of beats, beats-per-minute, pitch, location of musically significant events, etc.). While “beats” are discussed with respect to the process 1000, the game platform can also be configured to analyze the music to identify other intervals as well (e.g., partial beats, beginning of a measure, beginning of a chorus portion).
At stage 1010, the game platform can determine the position of the first player at one or more beats in order to determine how to generate corresponding icons in later stages. For example, the game platform can select a set of three consecutive beats at which the position of the first player is determined by capturing skeleton data from the camera. For example, this can include sampling (e.g, capturing) a player's skeleton at the point in time associated with beats 1, 2, and 3 of one or more of the repetitions. This sampling can be done on different numbers of beats, and/or on non-consecutive beats as described herein. Optionally, per joint smoothing can be applied to the collected skeleton information.
At stage 1015, in a three consecutive beat example, the game platform can analyze the position of the first player's body at the first, second, and third beats using the skeleton data sampled at or near those specific times. Using this information, the game platform can decide which, if any, beats to generate a corresponding outline for. For example, the game platform can compare the position (e.g., the position of one or more joints of the player's skeleton in three-dimensional space) of the first player during the first and third beats, and if the positions are significantly different, the game platform can generate two outlines corresponding to positions of the first player on the first and third beats, respectively. If the positions of the first player during the first and third beats are similar, the game platform can compare the position of the first player during the second beat with one or more of the first and third beats. If the first player's position during the second beat is significantly different from the position during the first and/or third beats, the game platform can generate two outlines corresponding to the beats during which the first player's body position significantly differs (e.g., the first and/or third beats). In addition, the game platform can be configured to generate outlines for every beat, and selectively discard duplicative outlines by comparing the position of the first player during each of the respective beats. Lastly, if the first player's position on the first, second, and third beat are all similar, the game platform can generate a single outline. Typically, when two outlines are generated, the game platform places them onto a single icon.
Stated differently, i) if: the position of the first player on beats 1 and 3 are different, the game platform can generate a two-outline icon based on the position of the first player's body at beats 1 and 3, ii) else: if the first player's position on beats 1 and 2 are different, the game platform can generate a two-outline icon based on the first player's position at beats 1 and 2, iii) otherwise: if the first player's body position is substantially similar at beats 1, 2, and 3, the game platform can generate a single-outline flashcard. A specific example of this is as follows. Assume the first player is making a hitchhiker's thumb on the left, then the right, switching every beat. Beats 1 and 3 will likely look substantially similar, but beats 1 and 2, and 2 and 3 will likely look different. In this example, the game platform can generate a two-outline icon based on beats 1 and 2, or 2 and 3, respectively. If the first player switched thumbs every half-beat, then beats 1, 2, and 3 would probably look substantially similar so the game can generate a single-outline icon.
The comparison described above can be performed using, for example, the techniques described with respect to
At stage 1020, the flashcards can be generated in several manners such as avateering. For example, as described above, the game platform can determine which beats should have an outline in the final icon(s) (e.g., as described in stage 1015). The game can then use a sampled skeleton for that beat (or beats) to pose a character model for use in an icon. This can include mapping joints in the skeleton model to joints in a character model, and/or inferring positions of joints that exist in character and not in skeleton, or can just be a tautology if the character model is the same as the skeleton model. The game can render the character model into a 2-D image, at a predetermined scale and/or position corresponding to whether there will be 1 or 2 figures in the icon. In some embodiments, the character is a skinned 3-D model that is presented to look like a 2-D image using a toon shader.
At stage 1025, the game platform can determine if there are additional beats and/or dance moves to analyze. If yes, the process continues back to stage 1010. Otherwise, the process 1000 can end.
Referring to
At stage 1105, the first player's dance move is captured and validated as described above with respect to
At stage 1110, the game platform can generate icons as described above with respect to
At stage 1115, the game platform can prompt the second player to perform the first player's dance move. For example, the game platform can provide the same song, or portion of a song, that the first player performed the dance move to. For example, the game platform can loop the same portion of the song played for the first player. The game platform can also sequentially provide the icons that were generated during stage 1110 to the second player as a means of showing the second player how to perform the first player's dance move. The game platform can be configured to display the icons in such a manner that the second player is prompted to perform the first player's dance move at the same relative time in the song as the first player did (e.g., the performances can be synchronized). The second player can be prompted to perform the first player's dance move one or more times (e.g., to give the second player multiple attempts).
In addition (or alternatively) to providing the icons to the second player, the game platform can display a video representation of the first player's performance. For example, the skeleton, depth image, and/or traditional video that was captured for the first player's dance move can be played back to the second user. For example, the depth image provided by the camera can be recorded and processed by the game platform so that it generates a cutout of the players body. The cutout can be presented to the players on the screen as a plurality of voxels, with a cube at each pixel that is positioned in 3-D space at a distance corresponding to the depth image's value at that position (e.g, as shown in
At stage 1125, the game platform can compare the first and second player's performances to generate a score by, for example, comparing each input frame to one or more target frames (e.g., as discussed above). That is, stage 1125 can be repeated for each input frame of the second player's performance.
The game platform can compare and score the second player's performance using several different methods. For example, the filters described above can be used to analyze and score the second player's performance by treating the second player's performance as the input performance and treating the first players performance(s) as the target performance. As another example of a filter, the game platform can compare (e.g., using the model of the first player's performance) the second player's body characteristics in each frame with the first player's body characteristics each frame to calculate a score, as described above. For example, the game platform can: i) calculate the difference between the torso position of the first and second player, ii) calculate the difference between the position of one or more limbs of the first and second player, iii) calculate an angular displacement between connected body parts, and then compare that value for the first and second player, iv) calculate a speed of a specific body part, and then compare that value for the first and second player, v) calculate a direction of motion for a body part, and then compare that value for the first and second player, vi) calculate a velocity for a body part, and then compare that value for the first and second player (the velocity can also be scaled by its magnitude), and/or vii) calculate the displacement of a body part between variably timed beats in a song, and then compare that value for the first and second player.
The result of each of these comparisons can be a comparison value that is Boolean (e.g., the second player was within a predefined threshold of accuracy), and/or proportional indicating how close the second player's performance was to the first player. The second player's total score can be the result of a single comparison (e.g., the players' torso position) or can be the result of combining multiple comparison values (e.g., the players' torso, arm, and leg positions). Every frame of the second player's performance can receive a corresponding score, which can be combined (e.g., averaged) to determine a total score for the second player's performance. While the previous paragraph describes a one-to-one frame comparison between the players' performance, other configurations are possible. As another example, the game platform can compare each input frame of the second player's performance to multiple frames of the model of the first player's performance (referred herein as target frames and/or references frames) to create an averaged score. For example, referring also to
After the second player successfully (or unsuccessfully) attempts to recreate the first player's dance move the dance-off can continue, this time with the second player performing a dance move for the first player to repeat. This process can repeat back and forth with each of the players taking alternating turns creating dance moves for the other player to perform. In some embodiments, the game can also be configured such that whichever player earns the highest score gets the opportunity to create the next dance move. Additionally, while the foregoing has discussed that a second player attempts the first player's dance move, the game is not limited to two participants. For example, three different players can be prompted to perform the first player's dance move.
In some embodiments, once a predetermined number of rounds of the dance-off have been completed, and/or a predetermined number of valid dance moves have been danced, the game platform can combine multiple dance moves created by the players to create a longer dance routine for the players to recreate.
Additional Variations
The examples given herein of a user satisfying a filter by completing a series of moves can be adapted to satisfy a “mirror mode” as well, where the user provides input that mirrors the target performance, e.g., providing input using a right hand when the target performance uses a left hand, providing right leg input when the target performance uses a left leg, and so forth.
Additionally, where a target performance skeleton is provided, it can be generated beforehand, or can be generated during execution of the game based on the motion capture data.
An additional embodiment of the game includes a mode where a player is prompted to match a static dance move. For example, rather than having a player perform a dynamic dance move, the player can be prompted to hold a specific pose (e.g., the Heisman pose) for a predetermined amount of time. The game platform can generate several input frames of the player trying to hold the static pose over time and compare them to a target frame of the pose to determine how similar the two are. If a sufficient number of input frames over time match the target frame, the pose can be considered a success and the player can earn points for successfully completing a pose. This embodiment can also recognize a player successfully performing several static poses in succession to earn additional points.
In another embodiment of the game, two players can dance next to each other at the same time as music is played. Typically, in this embodiment, no icons or other prompting (other than the music) is provided to the players and the players are free to create their own dance moves. As the players dance, the game platform can analyze the movements of each of the players to score the players. For example, a player's score can be based on whether the player is dancing rhythmically, how fast a portion of the player's body is moving, how repetitive the dance move is, and other factors that are a function of the movement of the player. Rhythmicity of dancing can be determined by, for example, analyzing the movement of one or more joints in each player's skeleton over time. An aggregate measure of movement, for example, can be computed by adding together movement vectors for one or more joints, and computing the magnitude of the result. Techniques can then be used to extract a measure of periodicity (e.g., a measurement of a degree of periodicity for different frequencies) from the resulting measurements, and comparing them to the tempo of the music.
The players can be provided real-time feedback in the form of a voxelized image of themselves (e.g., as shown in
Although the embodiments described herein use dancing as an example, and the performance is typically accompanied by a song, the performance can also be movements that occur on a timeline with no musical accompaniment, e.g., a series of yoga poses, movements in a martial arts kata, or the like.
In some implementations, the mocap data can be mapped to a skeleton similar to that used to reflect the user's input. Thus, the mocap data is used to generate an ideal skeleton that represents a performance of the dance routine in a format that can be directly comparable to the skeleton representing the user's input. Then, during the game, as the user provides input, the user's skeleton is compared to the ideal skeleton, in effect normalizing the target input (the target performance) and actual inputs (the user's performance) to the same frame of reference, i.e., both performances are expressed in terms of the same skeleton-based technology.
In some embodiments, rather than matching position necessarily within a time window as described above, filter types are predefined and used to test user input. For example, proximity filters can test if a joint is in a particular position, or close to a particular other joint, e.g., “are the left wrist and right wrist less than, greater than, or within a delta of a certain distance of one another. Another filter is a displacement filter which can test if a joint has moved a certain distance between times t0 and tn. Another example is the angle filter, which tests if a joint is at a particular angle from the origin. One or more of these filters is then hand-inserted (or “authored”) into the timeline and bound to joints such that at a particular time, the condition is tested, e.g., “has the RIGHT WRIST moved from x0 to xn, since I began tracking it?” would be a displacement filter. If the user's wrist had, the filter would be satisfied. Yet another filter is an acceleration filter which can test if a joint or bone has accelerated or decelerated between times t0 and tn. An acceleration filter can also test whether the magnitude of the acceleration matches a predetermined value.
In these embodiments, multiple filters can be overlaid on the timeline, and tested, in effect, simultaneously. An overall score for the frame is determined based on contributions from all of the active filters during a given frame. The filters can output a Boolean, and the score is computed from those. Or—in some embodiments—the outputs are continuous, and the aggregate score is computed from those. Similar to the system described above, contributions from each active filter can be weighted differently in their contributions to the score. For Boolean filters, successfully completing 3 out of 5 filters gives the user a score of 0.6. In some implementations, each keyframe comparison gives a percentage credit for the move as a whole being correct. The user's score can be adjusted based on the aggregate score for a keyframe. Or the aggregate score for a keyframe may be quantized into groups, each group being compared to one or more thresholds, each group associated with a score that is added to the user's score. In any of these, if the user achieves a threshold score for a move, that is, if the user meets or exceeds the threshold, e.g., 80%, the user is considered to have successfully performed the move.
Other embodiments are within the scope and spirit of the invention.
In some embodiments, execution of game software limits the game platform 120 to a particular purpose, e.g., playing the particular game. In these scenarios, the game platform 120 combined with the software, in effect, becomes a particular machine while the software is executing. In some embodiments, though other tasks may be performed while the software is running, execution of the software still limits the game platform 120 and may negatively impact performance of the other tasks. While the game software is executing, the game platform directs output related to the execution of the game software to a display, thereby controlling the operation of the display. The game platform 120 also can receive inputs provided by one or more users, perform operations and calculations on those inputs, and direct the display to depict a representation of the inputs received and other data such as results from the operations and calculations, thereby transforming the input received from the users into a visual representation of the input and/or the visual representation of an effect caused by the user.
The above-described techniques can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The implementation can be as a computer program product, i.e., a computer program tangibly embodied in a machine-readable storage device, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, a game console, or multiple computers or game consoles. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or game console or on multiple computers or game consoles at one site or distributed across multiple sites and interconnected by a communication network.
Method steps can be performed by one or more programmable processors executing a computer or game program to perform functions of the invention by operating on input data and generating output. Method steps can also be performed by, and apparatus can be implemented as, a game platform such as a dedicated game console, e.g., PLAYSTATION 2, PLAYSTATION 3, or PSP manufactured by SONY CORPORATION of Tokyo, Japan; NINTENDO WII, NINTENDO DS, NINTENDO DSi, or NINTENDO DS LITE, manufactured by NINTENDO CORPORATION of Tokyo, Japan; or XBOX or XBOX 360 manufactured by MICROSOFT CORPORATION of Redmond, Wash. or special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit) or other specialized circuit. At a minimum, a “module” refers to portions of the computer or game program and the corresponding physical structure that executes the same. A “module” is not software per se.
Processors suitable for the execution of a computer program include, by way of example, special purpose microprocessors, and any one or more processors of any kind of digital computer or game console. Generally, a processor receives instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer or game console are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer or game console also includes, or can be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Data transmission and instructions can also occur over a communications network. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in special purpose logic circuitry.
To provide for interaction with a user, the above described techniques can be implemented on a computer or game console having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, a television, or an integrated display, e.g., the display of a PSP® or Nintendo DS. The display can in some instances also be an input device such as a touch screen. Other typical inputs include a camera-based system as described herein, simulated instruments, microphones, or game controllers. Alternatively input can be provided by a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer or game console. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, or auditory feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
The above described techniques can be implemented in a distributed computing system that includes a back-end component, e.g., as a data server, and/or a middleware component, e.g., an application server, and/or a front-end component, e.g., a client computer or game console having a graphical user interface through which a user can interact with an example implementation, or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet, and include both wired and wireless networks.
The computing/gaming system can include clients and servers or hosts. A client and server (or host) are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
The invention has been described in terms of particular embodiments. The alternatives described herein are examples for illustration only and not to limit the alternatives in any way. The steps of the invention can be performed in a different order and still achieve desirable results.
It is noted that one or more references are incorporated herein. To the extent that any of the incorporated material is inconsistent with the present disclosure, the present disclosure shall control. Furthermore, to the extent necessary, material incorporated by reference herein should be disregarded if necessary to preserve the validity of the claims.
Further, while the description above refers to the invention, the description may include more than one invention.
This application is a continuation-in-part of, and claims priority to U.S. patent application Ser. No. 13/250,322, filed Sep. 30, 2011 which is a continuation of, and claims priority to Ser. No. 13/158,050, filed Jun. 10, 2011, which is a continuation-in-part of, and claims priority to U.S. patent application Ser. No. 12/940,794, filed Nov. 5, 2010, which claims priority to U.S. Provisional Patent Application No. 61/354,073, filed Jun. 11, 2010, each of which is incorporated by reference herein in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
D211666 | MacGillavry | Jul 1968 | S |
3430530 | Fletcher | Mar 1969 | A |
3897711 | Elledge | Aug 1975 | A |
D245038 | Ebata et al. | Jul 1977 | S |
D247795 | Darrell | Apr 1978 | S |
4128037 | Montemurro | Dec 1978 | A |
D259785 | Kushida et al. | Jul 1981 | S |
4295406 | Smith | Oct 1981 | A |
D262017 | Frakes, Jr. | Nov 1981 | S |
D265821 | Okada et al. | Aug 1982 | S |
D266664 | Hoshino et al. | Oct 1982 | S |
D287521 | Obara | Dec 1986 | S |
4644495 | Crane | Feb 1987 | A |
4766541 | Bleich et al. | Aug 1988 | A |
4783812 | Kaneoka | Nov 1988 | A |
4794838 | Corrigau, III | Jan 1989 | A |
4843568 | Krueger et al. | Jun 1989 | A |
4890833 | Lantz et al. | Jan 1990 | A |
D310668 | Takada | Sep 1990 | S |
5074182 | Capps et al. | Dec 1991 | A |
5107443 | Smith et al. | Apr 1992 | A |
5107743 | Decker | Apr 1992 | A |
5109482 | Bohrman | Apr 1992 | A |
5140889 | Segan et al. | Aug 1992 | A |
5194683 | Tsumura et al. | Mar 1993 | A |
5208413 | Tsumura et al. | May 1993 | A |
5250745 | Tsumura | Oct 1993 | A |
5262765 | Tsumura et al. | Nov 1993 | A |
5287789 | Zimmerman | Feb 1994 | A |
D345554 | Dones | Mar 1994 | S |
5362049 | Hofer | Nov 1994 | A |
5368309 | Monroe et al. | Nov 1994 | A |
5393926 | Johnson | Feb 1995 | A |
5395123 | Kondo | Mar 1995 | A |
5398585 | Starr | Mar 1995 | A |
5399799 | Gabriel | Mar 1995 | A |
5434949 | Jeong | Jul 1995 | A |
5453570 | Umeda et al. | Sep 1995 | A |
5464946 | Lewis | Nov 1995 | A |
5471576 | Yee | Nov 1995 | A |
5482087 | Overbergh et al. | Jan 1996 | A |
5488196 | Zimmerman et al. | Jan 1996 | A |
5491297 | Johnson et al. | Feb 1996 | A |
5510573 | Cho et al. | Apr 1996 | A |
5513129 | Bolas et al. | Apr 1996 | A |
5524637 | Erickson | Jun 1996 | A |
5534917 | MacDougall | Jul 1996 | A |
5537528 | Takahashi et al. | Jul 1996 | A |
5553864 | Sitrick | Sep 1996 | A |
5557056 | Hong et al. | Sep 1996 | A |
5557057 | Starr | Sep 1996 | A |
5563358 | Zimmerman | Oct 1996 | A |
5565639 | Bae | Oct 1996 | A |
5567162 | Park | Oct 1996 | A |
5568275 | Norton et al. | Oct 1996 | A |
5574238 | Mencher | Nov 1996 | A |
5588096 | Sato et al. | Dec 1996 | A |
5613909 | Stelovsky | Mar 1997 | A |
5616078 | Oh | Apr 1997 | A |
5627335 | Rigopulos et al. | May 1997 | A |
5631433 | Iida et al. | May 1997 | A |
5634849 | Abecassis | Jun 1997 | A |
5663517 | Oppenheim | Sep 1997 | A |
5670729 | Miller et al. | Sep 1997 | A |
5681223 | Weinreich | Oct 1997 | A |
5689618 | Gasper et al. | Nov 1997 | A |
5693903 | Heidorn et al. | Dec 1997 | A |
5701511 | Smith | Dec 1997 | A |
D389216 | Isetani et al. | Jan 1998 | S |
5704836 | Norton et al. | Jan 1998 | A |
5711715 | Ringo et al. | Jan 1998 | A |
5715179 | Park | Feb 1998 | A |
5719344 | Pawate | Feb 1998 | A |
5723802 | Johnson et al. | Mar 1998 | A |
5734961 | Castille | Mar 1998 | A |
5739457 | Devecka | Apr 1998 | A |
5763804 | Rigopulos et al. | Jun 1998 | A |
5768396 | Sone | Jun 1998 | A |
5777251 | Hotta et al. | Jul 1998 | A |
5782692 | Stelovsky | Jul 1998 | A |
D398916 | Bernardi | Sep 1998 | S |
5804752 | Sone et al. | Sep 1998 | A |
D399887 | Schultz et al. | Oct 1998 | S |
D400196 | Cameron et al. | Oct 1998 | S |
5824933 | Gabriel | Oct 1998 | A |
5825427 | MacLeod | Oct 1998 | A |
5830065 | Sitrick | Nov 1998 | A |
5833469 | Ito et al. | Nov 1998 | A |
D403024 | Muraki et al. | Dec 1998 | S |
5861881 | Freeman et al. | Jan 1999 | A |
5874686 | Ghias et al. | Feb 1999 | A |
5880788 | Bregler | Mar 1999 | A |
5886275 | Kato et al. | Mar 1999 | A |
5889224 | Tanaka | Mar 1999 | A |
5906494 | Ogawa et al. | May 1999 | A |
D411258 | Isetani et al. | Jun 1999 | S |
5913727 | Ahdoot | Jun 1999 | A |
5915288 | Gabriel | Jun 1999 | A |
5915972 | Tada | Jun 1999 | A |
5915975 | McGrath | Jun 1999 | A |
5925843 | Miller et al. | Jul 1999 | A |
5953005 | Liu | Sep 1999 | A |
5953485 | Abecassis | Sep 1999 | A |
5969716 | Davis et al. | Oct 1999 | A |
5983280 | Hunt | Nov 1999 | A |
5990405 | Auten et al. | Nov 1999 | A |
5999173 | Ubillos | Dec 1999 | A |
6001013 | Ota | Dec 1999 | A |
6009457 | Moller | Dec 1999 | A |
6011212 | Rigopulos et al. | Jan 2000 | A |
6016380 | Norton | Jan 2000 | A |
6018121 | Devecka | Jan 2000 | A |
6032156 | Marcus | Feb 2000 | A |
6065042 | Reimer et al. | May 2000 | A |
6066792 | Sone | May 2000 | A |
6067126 | Alexander | May 2000 | A |
6067566 | Moline | May 2000 | A |
6072113 | Tohgi et al. | Jun 2000 | A |
6072480 | Gorbet et al. | Jun 2000 | A |
6073489 | French et al. | Jun 2000 | A |
6074215 | Tsurumi | Jun 2000 | A |
6075197 | Chan | Jun 2000 | A |
6077162 | Weiss | Jun 2000 | A |
6083009 | Kim et al. | Jul 2000 | A |
6091408 | Treibitz et al. | Jul 2000 | A |
6098458 | French et al. | Aug 2000 | A |
6118444 | Garmon et al. | Sep 2000 | A |
6121531 | Kato | Sep 2000 | A |
6137487 | Mantha | Oct 2000 | A |
6142870 | Wada et al. | Nov 2000 | A |
6150947 | Shima | Nov 2000 | A |
6162981 | Newcomer et al. | Dec 2000 | A |
6166314 | Weinstock et al. | Dec 2000 | A |
6177623 | Ooseki | Jan 2001 | B1 |
6182044 | Fong et al. | Jan 2001 | B1 |
6184899 | Akemann | Feb 2001 | B1 |
6191350 | Okulov et al. | Feb 2001 | B1 |
6191773 | Maruno et al. | Feb 2001 | B1 |
6206782 | Walker et al. | Mar 2001 | B1 |
6215411 | Gothard | Apr 2001 | B1 |
6224486 | Walker et al. | May 2001 | B1 |
6225547 | Toyama et al. | May 2001 | B1 |
6227968 | Suzuki et al. | May 2001 | B1 |
6227974 | Eilat et al. | May 2001 | B1 |
6243087 | Davis et al. | Jun 2001 | B1 |
6243092 | Okita et al. | Jun 2001 | B1 |
6252153 | Toyama | Jun 2001 | B1 |
6262724 | Crow et al. | Jul 2001 | B1 |
6263392 | McCauley | Jul 2001 | B1 |
6268557 | Devecka | Jul 2001 | B1 |
6283860 | Lyons et al. | Sep 2001 | B1 |
6287198 | McCauley | Sep 2001 | B1 |
6288727 | Akemann | Sep 2001 | B1 |
6292620 | Ohmori et al. | Sep 2001 | B1 |
6307576 | Rosenfeld | Oct 2001 | B1 |
6308565 | French et al. | Oct 2001 | B1 |
6309301 | Sano | Oct 2001 | B1 |
6319129 | Igarashi et al. | Nov 2001 | B1 |
6319130 | Ooseki et al. | Nov 2001 | B1 |
6320110 | Ishikawa et al. | Nov 2001 | B1 |
6326536 | Wang | Dec 2001 | B1 |
6329620 | Oishi et al. | Dec 2001 | B1 |
6337433 | Nishimoto | Jan 2002 | B1 |
6342665 | Okita et al. | Jan 2002 | B1 |
6347998 | Yoshitomi et al. | Feb 2002 | B1 |
6350942 | Thomson | Feb 2002 | B1 |
6352432 | Tsai et al. | Mar 2002 | B1 |
6353174 | Schmidt et al. | Mar 2002 | B1 |
D455792 | Isetani et al. | Apr 2002 | S |
6369313 | Devecka | Apr 2002 | B2 |
6379244 | Sagawa et al. | Apr 2002 | B1 |
6380474 | Taruguchi et al. | Apr 2002 | B2 |
6380950 | Montgomery et al. | Apr 2002 | B1 |
6384736 | Gothard | May 2002 | B1 |
6390923 | Yoshitomi et al. | May 2002 | B1 |
6392133 | Georges | May 2002 | B1 |
6407324 | Hulcher | Jun 2002 | B1 |
6410835 | Suzuki et al. | Jun 2002 | B2 |
6417432 | Downing | Jul 2002 | B1 |
6425822 | Hayashida et al. | Jul 2002 | B1 |
6425825 | Sitrick | Jul 2002 | B1 |
6425827 | Nimura | Jul 2002 | B1 |
6425828 | Walker et al. | Jul 2002 | B2 |
6429863 | LoPiccolo et al. | Aug 2002 | B1 |
6430997 | French et al. | Aug 2002 | B1 |
6437227 | Theimer | Aug 2002 | B1 |
6438611 | Hara et al. | Aug 2002 | B1 |
D462698 | Sturm | Sep 2002 | S |
6444887 | Hiraoka et al. | Sep 2002 | B1 |
6450886 | Oishi et al. | Sep 2002 | B1 |
6450888 | Takase et al. | Sep 2002 | B1 |
6461239 | Sagawa et al. | Oct 2002 | B1 |
6463205 | Aschbrenner et al. | Oct 2002 | B1 |
6464585 | Miyamoto et al. | Oct 2002 | B1 |
6468161 | Shimomura | Oct 2002 | B1 |
6471584 | Wada et al. | Oct 2002 | B1 |
6482087 | Egozy et al. | Nov 2002 | B1 |
6483018 | Mead | Nov 2002 | B2 |
6504089 | Negishi et al. | Jan 2003 | B1 |
6504990 | Abecassis | Jan 2003 | B1 |
6506969 | Baron | Jan 2003 | B1 |
6514083 | Kumar et al. | Feb 2003 | B1 |
6527639 | Suzuki | Mar 2003 | B2 |
6530834 | Kondo | Mar 2003 | B2 |
6530839 | Horio | Mar 2003 | B2 |
6535269 | Sherman et al. | Mar 2003 | B2 |
6540613 | Okubo et al. | Apr 2003 | B2 |
6541692 | Miller | Apr 2003 | B2 |
6542155 | Mifune et al. | Apr 2003 | B1 |
6542168 | Negishi et al. | Apr 2003 | B2 |
6544119 | Kubo et al. | Apr 2003 | B2 |
6544122 | Araki et al. | Apr 2003 | B2 |
6544125 | Horigami et al. | Apr 2003 | B2 |
6554706 | Kim | Apr 2003 | B2 |
6554711 | Kawasaki et al. | Apr 2003 | B1 |
6555737 | Miyaki et al. | Apr 2003 | B2 |
6570078 | Ludwig | May 2003 | B2 |
6577330 | Tsuda et al. | Jun 2003 | B1 |
6582235 | Tsai et al. | Jun 2003 | B1 |
6582309 | Higurashi et al. | Jun 2003 | B2 |
6589120 | Takahashi | Jul 2003 | B1 |
6597861 | Tozaki et al. | Jul 2003 | B1 |
6598074 | Moller et al. | Jul 2003 | B1 |
6599195 | Araki et al. | Jul 2003 | B1 |
6607446 | Shimomura et al. | Aug 2003 | B1 |
6608249 | Georges | Aug 2003 | B2 |
6609979 | Wada | Aug 2003 | B1 |
6611278 | Rosenfeld | Aug 2003 | B2 |
6612931 | Kojima et al. | Sep 2003 | B2 |
6613100 | Miller | Sep 2003 | B2 |
6618053 | Tanner | Sep 2003 | B1 |
6621503 | Ubillos | Sep 2003 | B1 |
6623358 | Harima | Sep 2003 | B2 |
6625388 | Winter et al. | Sep 2003 | B2 |
6629892 | Oe et al. | Oct 2003 | B2 |
6634886 | Oyama et al. | Oct 2003 | B2 |
6636238 | Amir et al. | Oct 2003 | B1 |
6636877 | Doleac et al. | Oct 2003 | B1 |
6638160 | Yoshitomi | Oct 2003 | B2 |
6645067 | Okita et al. | Nov 2003 | B1 |
6645076 | Sugai | Nov 2003 | B1 |
6645784 | Tayebati et al. | Nov 2003 | B2 |
6653545 | Redmann et al. | Nov 2003 | B2 |
6654863 | Nishio | Nov 2003 | B2 |
6661496 | Sherman et al. | Dec 2003 | B2 |
6663491 | Watabe et al. | Dec 2003 | B2 |
6666764 | Kudo | Dec 2003 | B1 |
6669563 | Kitami et al. | Dec 2003 | B1 |
6676523 | Kasai et al. | Jan 2004 | B1 |
6682424 | Yamauchi et al. | Jan 2004 | B2 |
6684480 | Conrad | Feb 2004 | B2 |
6685480 | Nishimoto et al. | Feb 2004 | B2 |
6695694 | Ishikawa et al. | Feb 2004 | B2 |
6697079 | Rose | Feb 2004 | B2 |
6710785 | Asai et al. | Mar 2004 | B1 |
6712692 | Basson et al. | Mar 2004 | B2 |
6725108 | Hall | Apr 2004 | B1 |
6727889 | Shaw | Apr 2004 | B2 |
6733382 | Oe et al. | May 2004 | B2 |
6738052 | Manke et al. | May 2004 | B1 |
6740802 | Browne, Jr. | May 2004 | B1 |
6740803 | Brinkman et al. | May 2004 | B2 |
6743099 | Yabe et al. | Jun 2004 | B2 |
6749432 | French et al. | Jun 2004 | B2 |
6749508 | Kohira et al. | Jun 2004 | B2 |
6750848 | Pryor | Jun 2004 | B1 |
6758753 | Nagata et al. | Jul 2004 | B1 |
6758756 | Horigami et al. | Jul 2004 | B1 |
6764399 | Nagata et al. | Jul 2004 | B2 |
6765590 | Watahiki et al. | Jul 2004 | B1 |
6765726 | French et al. | Jul 2004 | B2 |
6767282 | Matsuyama et al. | Jul 2004 | B2 |
6769689 | Shimomura et al. | Aug 2004 | B1 |
6786821 | Nobe et al. | Sep 2004 | B2 |
6788880 | Fuchigami et al. | Sep 2004 | B1 |
6801930 | Dionne et al. | Oct 2004 | B1 |
6802019 | Lauder | Oct 2004 | B1 |
6811491 | Levenberg et al. | Nov 2004 | B1 |
6821203 | Suga et al. | Nov 2004 | B2 |
6831220 | Varme | Dec 2004 | B2 |
6831656 | Kitao | Dec 2004 | B2 |
6835136 | Kitao | Dec 2004 | B2 |
6835887 | Devecka | Dec 2004 | B2 |
6838608 | Koike | Jan 2005 | B2 |
6843726 | Nomi et al. | Jan 2005 | B1 |
6850252 | Hoffberg | Feb 2005 | B1 |
6852034 | Nagata et al. | Feb 2005 | B2 |
6856923 | Jung | Feb 2005 | B2 |
6857960 | Okubo et al. | Feb 2005 | B2 |
D503407 | Kaku | Mar 2005 | S |
6860810 | Cannon et al. | Mar 2005 | B2 |
6876496 | French et al. | Apr 2005 | B2 |
6881148 | Yotsugi et al. | Apr 2005 | B2 |
6881887 | Berens | Apr 2005 | B2 |
6890262 | Oishi et al. | May 2005 | B2 |
6893343 | Suda et al. | May 2005 | B2 |
6894693 | Nash | May 2005 | B1 |
6898637 | Curtin | May 2005 | B2 |
6905413 | Terao et al. | Jun 2005 | B1 |
6909420 | Nicolas et al. | Jun 2005 | B1 |
6915488 | Omori et al. | Jul 2005 | B2 |
6921332 | Fukunaga et al. | Jul 2005 | B2 |
6924425 | Naples et al. | Aug 2005 | B2 |
6930235 | Sandborn et al. | Aug 2005 | B2 |
6930236 | Jung | Aug 2005 | B2 |
6949023 | Okubo et al. | Sep 2005 | B1 |
6953887 | Nagashima et al. | Oct 2005 | B2 |
6964610 | Yamauchi et al. | Nov 2005 | B2 |
6967275 | Ozick | Nov 2005 | B2 |
6976918 | Hosokawa | Dec 2005 | B2 |
6991542 | Asami et al. | Jan 2006 | B2 |
6995765 | Boudier | Feb 2006 | B2 |
6995869 | Onodera | Feb 2006 | B2 |
6998527 | Agnihotri | Feb 2006 | B2 |
7000200 | Martins | Feb 2006 | B1 |
7001272 | Yamashita et al. | Feb 2006 | B2 |
7010291 | Iwanaga | Mar 2006 | B2 |
D519569 | Kiyono et al. | Apr 2006 | S |
7022905 | Hinman et al. | Apr 2006 | B1 |
7027046 | Zhang | Apr 2006 | B2 |
7027124 | Foote et al. | Apr 2006 | B2 |
7030307 | Wedel | Apr 2006 | B2 |
7030311 | Brinkman et al. | Apr 2006 | B2 |
7037197 | Watanabe | May 2006 | B2 |
7038855 | French et al. | May 2006 | B2 |
7044856 | Suzuki | May 2006 | B2 |
7044857 | Klitsner et al. | May 2006 | B1 |
7047503 | Parrish et al. | May 2006 | B1 |
7064672 | Gothard | Jun 2006 | B2 |
7066818 | Ikeda | Jun 2006 | B2 |
7069296 | Moller et al. | Jun 2006 | B2 |
7070500 | Nomi et al. | Jul 2006 | B1 |
7071914 | Marks | Jul 2006 | B1 |
7074999 | Sitrick et al. | Jul 2006 | B2 |
7076052 | Yoshimura | Jul 2006 | B2 |
7079026 | Smith | Jul 2006 | B2 |
7079114 | Smith et al. | Jul 2006 | B1 |
7084855 | Kaku et al. | Aug 2006 | B2 |
7084888 | Takahama et al. | Aug 2006 | B2 |
7098392 | Sitrick et al. | Aug 2006 | B2 |
7098921 | Nash et al. | Aug 2006 | B2 |
7103873 | Tanner et al. | Sep 2006 | B2 |
7119268 | Futamase et al. | Oct 2006 | B2 |
7122751 | Anderson et al. | Oct 2006 | B1 |
7123272 | Moriyama | Oct 2006 | B2 |
7126607 | Emerson | Oct 2006 | B2 |
7128649 | Nobe et al. | Oct 2006 | B2 |
7129408 | Uehara | Oct 2006 | B2 |
7134876 | Hou | Nov 2006 | B2 |
7142807 | Lee | Nov 2006 | B2 |
7143353 | McGee et al. | Nov 2006 | B2 |
7145070 | Barry | Dec 2006 | B2 |
D535659 | Hally et al. | Jan 2007 | S |
7164075 | Tada | Jan 2007 | B2 |
7164076 | McHale et al. | Jan 2007 | B2 |
7169998 | Kondo et al. | Jan 2007 | B2 |
7170510 | Kawahara et al. | Jan 2007 | B2 |
7174510 | Salter | Feb 2007 | B2 |
7181636 | Kim et al. | Feb 2007 | B2 |
7189912 | Jung | Mar 2007 | B2 |
7192353 | Okubo | Mar 2007 | B2 |
7194676 | Fayan et al. | Mar 2007 | B2 |
7199298 | Funaki | Apr 2007 | B2 |
7199801 | Tsunashima et al. | Apr 2007 | B2 |
7201659 | Nakayama et al. | Apr 2007 | B2 |
7221852 | Iizuka et al. | May 2007 | B2 |
7223913 | Knapp et al. | May 2007 | B2 |
7227526 | Hildreth et al. | Jun 2007 | B2 |
7259357 | Walker | Aug 2007 | B2 |
7259971 | Allen et al. | Aug 2007 | B1 |
7263668 | Lentz | Aug 2007 | B1 |
7271329 | Franzblau | Sep 2007 | B2 |
7272780 | Abbott et al. | Sep 2007 | B2 |
7274803 | Sharma et al. | Sep 2007 | B1 |
7304232 | Nicholes | Dec 2007 | B1 |
7317812 | Krahnstoever et al. | Jan 2008 | B1 |
7320643 | Brosius et al. | Jan 2008 | B1 |
7323631 | Miyaki et al. | Jan 2008 | B2 |
7324165 | Shan et al. | Jan 2008 | B2 |
7336890 | Lu et al. | Feb 2008 | B2 |
7346472 | Moskowitz et al. | Mar 2008 | B1 |
7352359 | Zalewski et al. | Apr 2008 | B2 |
7352952 | Herberger et al. | Apr 2008 | B2 |
7359121 | French et al. | Apr 2008 | B2 |
7359617 | Ma | Apr 2008 | B2 |
D568659 | Ophardt et al. | May 2008 | S |
D568892 | Stabb et al. | May 2008 | S |
D569382 | Yow et al. | May 2008 | S |
7367887 | Watabe et al. | May 2008 | B2 |
7383508 | Toyama et al. | Jun 2008 | B2 |
7386782 | Comps et al. | Jun 2008 | B2 |
7391409 | Zalewski et al. | Jun 2008 | B2 |
7391874 | Semmes, Jr. et al. | Jun 2008 | B1 |
D572265 | Guimaraes et al. | Jul 2008 | S |
7398002 | Hsiao et al. | Jul 2008 | B2 |
7408106 | Weiner et al. | Aug 2008 | B2 |
7423213 | Sitrick | Sep 2008 | B2 |
7430360 | Abecassis | Sep 2008 | B2 |
7432810 | Menache et al. | Oct 2008 | B2 |
7435178 | Tam et al. | Oct 2008 | B1 |
7453035 | Evans et al. | Nov 2008 | B1 |
7458025 | Crow et al. | Nov 2008 | B2 |
7459324 | Ptasinski et al. | Dec 2008 | B1 |
7459624 | Schmidt et al. | Dec 2008 | B2 |
7462772 | Salter | Dec 2008 | B2 |
7480446 | Bhadkamkar et al. | Jan 2009 | B2 |
7480873 | Kawahara | Jan 2009 | B2 |
7488886 | Kemp | Feb 2009 | B2 |
D590407 | Watanabe et al. | Apr 2009 | S |
7521619 | Salter | Apr 2009 | B2 |
7528315 | Goodwin | May 2009 | B2 |
7530030 | Baudisch | May 2009 | B2 |
7536654 | Anthony et al. | May 2009 | B2 |
7538776 | Edwards et al. | May 2009 | B2 |
7546130 | Vance | Jun 2009 | B2 |
7559834 | York | Jul 2009 | B1 |
7559841 | Hashimoto | Jul 2009 | B2 |
7579543 | Haruyama et al. | Aug 2009 | B2 |
D599812 | Hirsch | Sep 2009 | S |
D599819 | Lew | Sep 2009 | S |
7582015 | Onoda et al. | Sep 2009 | B2 |
7587680 | Wada | Sep 2009 | B2 |
7589727 | Haeker | Sep 2009 | B2 |
7593618 | Xu et al. | Sep 2009 | B2 |
7599554 | Agnihotri et al. | Oct 2009 | B2 |
7605322 | Nakamura | Oct 2009 | B2 |
7612278 | Sitrick et al. | Nov 2009 | B2 |
7614011 | Karidis et al. | Nov 2009 | B2 |
7625284 | Kay et al. | Dec 2009 | B2 |
7628699 | Onoda et al. | Dec 2009 | B2 |
7640069 | Johnston | Dec 2009 | B1 |
D607892 | Murchie et al. | Jan 2010 | S |
7649134 | Kashioka | Jan 2010 | B2 |
D609715 | Chaudhri | Feb 2010 | S |
7660510 | Kawahara et al. | Feb 2010 | B2 |
7660700 | Moskowitz et al. | Feb 2010 | B2 |
7690017 | Stecyk et al. | Mar 2010 | B2 |
7692630 | Natsume et al. | Apr 2010 | B2 |
7714849 | Pryor | May 2010 | B2 |
7716572 | Beauregard et al. | May 2010 | B2 |
7722450 | Onoda et al. | May 2010 | B2 |
7747348 | Shim et al. | Jun 2010 | B2 |
D619598 | Maitlen et al. | Jul 2010 | S |
D619609 | Meziere | Jul 2010 | S |
7754961 | Yang et al. | Jul 2010 | B1 |
7758427 | Egozy | Jul 2010 | B2 |
7760908 | Curtner et al. | Jul 2010 | B2 |
7772480 | Brennan | Aug 2010 | B2 |
7774706 | Sakai | Aug 2010 | B2 |
7789741 | Fields et al. | Sep 2010 | B1 |
7791808 | French et al. | Sep 2010 | B2 |
7797641 | Karukka et al. | Sep 2010 | B2 |
D624932 | Chaudhri | Oct 2010 | S |
7806759 | McHale et al. | Oct 2010 | B2 |
7806764 | Brosnan et al. | Oct 2010 | B2 |
7814436 | Schrag et al. | Oct 2010 | B2 |
7818689 | Wada | Oct 2010 | B2 |
7823070 | Nelson et al. | Oct 2010 | B2 |
7829777 | Kyuma et al. | Nov 2010 | B2 |
7838755 | Taub et al. | Nov 2010 | B2 |
7840907 | Kikuchi et al. | Nov 2010 | B2 |
D628582 | Kurozumi et al. | Dec 2010 | S |
7853896 | Ok et al. | Dec 2010 | B2 |
7853897 | Ogawa et al. | Dec 2010 | B2 |
7865834 | van Os et al. | Jan 2011 | B1 |
7877690 | Margulis | Jan 2011 | B2 |
7881702 | Heyworth et al. | Feb 2011 | B2 |
7890867 | Margulis | Feb 2011 | B1 |
7893337 | Lenz | Feb 2011 | B2 |
7895617 | Pedlow, Jr. | Feb 2011 | B2 |
7899389 | Mangum | Mar 2011 | B2 |
7904814 | Errico et al. | Mar 2011 | B2 |
7917644 | Vedantham et al. | Mar 2011 | B2 |
7920931 | Van de Sluis et al. | Apr 2011 | B2 |
7923620 | Foster | Apr 2011 | B2 |
7928307 | Hetherington et al. | Apr 2011 | B2 |
7935880 | Stoddard et al. | May 2011 | B2 |
7949494 | Moskowitz et al. | May 2011 | B2 |
D640711 | Ng et al. | Jun 2011 | S |
D642192 | Arnold | Jul 2011 | S |
7973230 | Mahowald | Jul 2011 | B2 |
7979574 | Gillo et al. | Jul 2011 | B2 |
7980997 | Thukral et al. | Jul 2011 | B2 |
7982114 | Applewhite et al. | Jul 2011 | B2 |
8003872 | Lopiccolo et al. | Aug 2011 | B2 |
8010088 | Cheng | Aug 2011 | B2 |
8026435 | Stoddard et al. | Sep 2011 | B2 |
8057290 | Vance et al. | Nov 2011 | B2 |
8068605 | Holmberg | Nov 2011 | B2 |
D650802 | Jang et al. | Dec 2011 | S |
8074184 | Garside et al. | Dec 2011 | B2 |
8076564 | Applewhite | Dec 2011 | B2 |
8076574 | Irmer et al. | Dec 2011 | B2 |
8079901 | Brosius et al. | Dec 2011 | B2 |
8079907 | Egozy | Dec 2011 | B2 |
8080722 | Applewhite et al. | Dec 2011 | B2 |
D651608 | Allen et al. | Jan 2012 | S |
D651609 | Pearson et al. | Jan 2012 | S |
8122375 | Ito | Feb 2012 | B2 |
D658196 | Wood et al. | Apr 2012 | S |
D660861 | Lee et al. | May 2012 | S |
8176438 | Zaman et al. | May 2012 | B2 |
8176439 | Kamen et al. | May 2012 | B2 |
8198526 | Izen et al. | Jun 2012 | B2 |
8202161 | Leake et al. | Jun 2012 | B2 |
8205172 | Wong et al. | Jun 2012 | B2 |
8209606 | Ording | Jun 2012 | B2 |
8214175 | Moskowitz et al. | Jul 2012 | B2 |
8225227 | Headrick et al. | Jul 2012 | B2 |
8230360 | Ma et al. | Jul 2012 | B2 |
D664975 | Arnold | Aug 2012 | S |
8255831 | Araumi | Aug 2012 | B2 |
8261209 | Goto et al. | Sep 2012 | B2 |
8444464 | Boch et al. | May 2013 | B2 |
8449360 | Stoddard et al. | May 2013 | B2 |
20010004861 | Suzuki et al. | Jun 2001 | A1 |
20010007824 | Fukuda | Jul 2001 | A1 |
20010007829 | Suzuki | Jul 2001 | A1 |
20010008844 | Yamauchi et al. | Jul 2001 | A1 |
20010008846 | Yamauchi et al. | Jul 2001 | A1 |
20010012795 | Asami et al. | Aug 2001 | A1 |
20010014440 | Oyama et al. | Aug 2001 | A1 |
20010014620 | Nobe et al. | Aug 2001 | A1 |
20010014621 | Okubo et al. | Aug 2001 | A1 |
20010016510 | Ishikawa et al. | Aug 2001 | A1 |
20010023202 | Okubo | Sep 2001 | A1 |
20010024972 | Kitao | Sep 2001 | A1 |
20010030652 | Kitao | Oct 2001 | A1 |
20010031653 | Oe et al. | Oct 2001 | A1 |
20010033287 | Naegle et al. | Oct 2001 | A1 |
20010034014 | Nishimoto et al. | Oct 2001 | A1 |
20010035868 | Uehara et al. | Nov 2001 | A1 |
20010036861 | Uehara et al. | Nov 2001 | A1 |
20010037181 | Matsuura et al. | Nov 2001 | A1 |
20010039207 | Horigami et al. | Nov 2001 | A1 |
20010041615 | Kondo | Nov 2001 | A1 |
20020002411 | Higurashi et al. | Jan 2002 | A1 |
20020002900 | Cho | Jan 2002 | A1 |
20020004420 | Suga et al. | Jan 2002 | A1 |
20020005109 | Miller | Jan 2002 | A1 |
20020006819 | Kubo et al. | Jan 2002 | A1 |
20020006823 | Horio | Jan 2002 | A1 |
20020013166 | Yoshitomi | Jan 2002 | A1 |
20020016203 | Nagata et al. | Feb 2002 | A1 |
20020019258 | Kim et al. | Feb 2002 | A1 |
20020022520 | Oe et al. | Feb 2002 | A1 |
20020022522 | Yamada | Feb 2002 | A1 |
20020025841 | Nobe et al. | Feb 2002 | A1 |
20020025842 | Nobe et al. | Feb 2002 | A1 |
20020025853 | Kojima et al. | Feb 2002 | A1 |
20020027899 | Ikeda | Mar 2002 | A1 |
20020032054 | Hosoya | Mar 2002 | A1 |
20020041385 | Onodera | Apr 2002 | A1 |
20020052236 | Kohira et al. | May 2002 | A1 |
20020054127 | Omori et al. | May 2002 | A1 |
20020055383 | Onda et al. | May 2002 | A1 |
20020055386 | Yotsugi et al. | May 2002 | A1 |
20020061776 | Wada et al. | May 2002 | A1 |
20020065121 | Fukunaga et al. | May 2002 | A1 |
20020085833 | Miyauchi | Jul 2002 | A1 |
20020091455 | Williams | Jul 2002 | A1 |
20020091847 | Curtin | Jul 2002 | A1 |
20020094865 | Araki et al. | Jul 2002 | A1 |
20020094866 | Takeda et al. | Jul 2002 | A1 |
20020105229 | Tanaka et al. | Aug 2002 | A1 |
20020119811 | Yabe et al. | Aug 2002 | A1 |
20020128736 | Yoshida et al. | Sep 2002 | A1 |
20020142818 | Nakatsuka et al. | Oct 2002 | A1 |
20020142824 | Kazaoka et al. | Oct 2002 | A1 |
20020142827 | Aida et al. | Oct 2002 | A1 |
20020142834 | Sobue | Oct 2002 | A1 |
20020151337 | Yamashita et al. | Oct 2002 | A1 |
20020160823 | Watabe et al. | Oct 2002 | A1 |
20020160824 | Goto et al. | Oct 2002 | A1 |
20020169014 | Egozy et al. | Nov 2002 | A1 |
20020187835 | Nakayama et al. | Dec 2002 | A1 |
20020198045 | Okubo | Dec 2002 | A1 |
20030000364 | Deverich | Jan 2003 | A1 |
20030003431 | Maeda | Jan 2003 | A1 |
20030003991 | Kuraishi | Jan 2003 | A1 |
20030003992 | Furuya | Jan 2003 | A1 |
20030011620 | Moriyama | Jan 2003 | A1 |
20030014262 | Kim | Jan 2003 | A1 |
20030017872 | Oishi et al. | Jan 2003 | A1 |
20030028598 | Moller et al. | Feb 2003 | A1 |
20030032478 | Takahama et al. | Feb 2003 | A1 |
20030045334 | Hosokawa | Mar 2003 | A1 |
20030063115 | Kaku et al. | Apr 2003 | A1 |
20030069071 | Britt et al. | Apr 2003 | A1 |
20030070159 | Webb | Apr 2003 | A1 |
20030078086 | Matsuyama et al. | Apr 2003 | A1 |
20030078102 | Okita et al. | Apr 2003 | A1 |
20030099461 | Johnson | May 2003 | A1 |
20030104868 | Okita et al. | Jun 2003 | A1 |
20030109298 | Oishi et al. | Jun 2003 | A1 |
20030151628 | Salter | Aug 2003 | A1 |
20030164084 | Redmann et al. | Sep 2003 | A1 |
20030185041 | Takahashi et al. | Oct 2003 | A1 |
20030199317 | McCauley | Oct 2003 | A1 |
20030214498 | Gothard | Nov 2003 | A1 |
20030218626 | Greene | Nov 2003 | A1 |
20030232644 | Takahashi et al. | Dec 2003 | A1 |
20030232645 | Suda et al. | Dec 2003 | A1 |
20040005924 | Watabe et al. | Jan 2004 | A1 |
20040012540 | Treibitz et al. | Jan 2004 | A1 |
20040021684 | B. Millner | Feb 2004 | A1 |
20040043815 | Kaminkow | Mar 2004 | A1 |
20040054725 | Moller et al. | Mar 2004 | A1 |
20040063479 | Kimura | Apr 2004 | A1 |
20040063480 | Wang | Apr 2004 | A1 |
20040072620 | Nagata et al. | Apr 2004 | A1 |
20040077405 | Watanabe | Apr 2004 | A1 |
20040082380 | George et al. | Apr 2004 | A1 |
20040082386 | George et al. | Apr 2004 | A1 |
20040089139 | Georges et al. | May 2004 | A1 |
20040092303 | George et al. | May 2004 | A1 |
20040092304 | George et al. | May 2004 | A1 |
20040092305 | George et al. | May 2004 | A1 |
20040092306 | George et al. | May 2004 | A1 |
20040092307 | George et al. | May 2004 | A1 |
20040092313 | Saito et al. | May 2004 | A1 |
20040092314 | George et al. | May 2004 | A1 |
20040093354 | Xu et al. | May 2004 | A1 |
20040098582 | Mori | May 2004 | A1 |
20040109000 | Chosokabe | Jun 2004 | A1 |
20040113360 | George et al. | Jun 2004 | A1 |
20040116069 | Fadavi-Ardekani et al. | Jun 2004 | A1 |
20040116184 | George et al. | Jun 2004 | A1 |
20040116185 | George et al. | Jun 2004 | A1 |
20040123726 | Kato et al. | Jul 2004 | A1 |
20040127282 | Naobayashi | Jul 2004 | A1 |
20040127285 | Kavana | Jul 2004 | A1 |
20040127291 | George et al. | Jul 2004 | A1 |
20040132518 | Uehara et al. | Jul 2004 | A1 |
20040132531 | George et al. | Jul 2004 | A1 |
20040137984 | Salter | Jul 2004 | A1 |
20040147300 | Seelig et al. | Jul 2004 | A1 |
20040152514 | Kasai et al. | Aug 2004 | A1 |
20040154460 | Virolainen et al. | Aug 2004 | A1 |
20040181592 | Samra et al. | Sep 2004 | A1 |
20040184473 | Tavli et al. | Sep 2004 | A1 |
20040186720 | Kemmochi | Sep 2004 | A1 |
20040193413 | Wilson et al. | Sep 2004 | A1 |
20040204211 | Suzuki | Oct 2004 | A1 |
20040204238 | Aoki | Oct 2004 | A1 |
20040205204 | Chafe | Oct 2004 | A1 |
20040207774 | Gothard | Oct 2004 | A1 |
20040209673 | Shiraishi | Oct 2004 | A1 |
20040229685 | Smith et al. | Nov 2004 | A1 |
20040236543 | Stephens | Nov 2004 | A1 |
20040239678 | Tsunashima et al. | Dec 2004 | A1 |
20040240855 | Kagle | Dec 2004 | A1 |
20040243482 | Laut | Dec 2004 | A1 |
20040254016 | Shimazaki | Dec 2004 | A1 |
20040259631 | Katz et al. | Dec 2004 | A1 |
20040259632 | Crittenden et al. | Dec 2004 | A1 |
20040259644 | McCauley | Dec 2004 | A1 |
20050014554 | Walker et al. | Jan 2005 | A1 |
20050027381 | George et al. | Feb 2005 | A1 |
20050027383 | Nagata et al. | Feb 2005 | A1 |
20050045025 | Wells et al. | Mar 2005 | A1 |
20050049047 | Kitao | Mar 2005 | A1 |
20050054440 | Anderson et al. | Mar 2005 | A1 |
20050059480 | Soukup et al. | Mar 2005 | A1 |
20050060231 | Soukup et al. | Mar 2005 | A1 |
20050070349 | Kimura | Mar 2005 | A1 |
20050070359 | Rodriquez et al. | Mar 2005 | A1 |
20050073427 | Gothard | Apr 2005 | A1 |
20050075165 | George et al. | Apr 2005 | A1 |
20050082559 | Hasan Zaidi et al. | Apr 2005 | A1 |
20050101364 | Onoda et al. | May 2005 | A1 |
20050106546 | Strom | May 2005 | A1 |
20050108657 | Han | May 2005 | A1 |
20050115383 | Chang | Jun 2005 | A1 |
20050120865 | Tada | Jun 2005 | A1 |
20050120868 | Hinman et al. | Jun 2005 | A1 |
20050143174 | Goldman et al. | Jun 2005 | A1 |
20050159209 | Fiden et al. | Jul 2005 | A1 |
20050164779 | Okuniewicz | Jul 2005 | A1 |
20050181864 | Britt et al. | Aug 2005 | A1 |
20050215319 | Rigopulos et al. | Sep 2005 | A1 |
20050221892 | Takase | Oct 2005 | A1 |
20050227767 | Shimomura et al. | Oct 2005 | A1 |
20050229769 | Resnikoff | Oct 2005 | A1 |
20050235809 | Kageyama | Oct 2005 | A1 |
20050250565 | Nojiri et al. | Nov 2005 | A1 |
20050252362 | McHale et al. | Nov 2005 | A1 |
20050255923 | Aoki | Nov 2005 | A1 |
20060009282 | George et al. | Jan 2006 | A1 |
20060009979 | McHale et al. | Jan 2006 | A1 |
20060030382 | Okamura et al. | Feb 2006 | A1 |
20060032085 | Randall | Feb 2006 | A1 |
20060052161 | Soukup et al. | Mar 2006 | A1 |
20060052162 | Soukup et al. | Mar 2006 | A1 |
20060052163 | Aida | Mar 2006 | A1 |
20060052167 | Boddicker et al. | Mar 2006 | A1 |
20060052169 | Britt et al. | Mar 2006 | A1 |
20060058099 | Soukup et al. | Mar 2006 | A1 |
20060063573 | Ishikawa et al. | Mar 2006 | A1 |
20060135253 | George et al. | Jun 2006 | A1 |
20060152622 | Tan et al. | Jul 2006 | A1 |
20060166744 | Igarashi et al. | Jul 2006 | A1 |
20060189879 | Miyajima et al. | Aug 2006 | A1 |
20060204214 | Shah et al. | Sep 2006 | A1 |
20060247046 | Choi et al. | Nov 2006 | A1 |
20060266200 | Goodwin | Nov 2006 | A1 |
20060288842 | Sitrick et al. | Dec 2006 | A1 |
20070010329 | Craig et al. | Jan 2007 | A1 |
20070015570 | Pryzby | Jan 2007 | A1 |
20070015571 | Walker et al. | Jan 2007 | A1 |
20070026943 | Yoshimura | Feb 2007 | A1 |
20070059670 | Yates | Mar 2007 | A1 |
20070060312 | Dempsey et al. | Mar 2007 | A1 |
20070081562 | Ma | Apr 2007 | A1 |
20070088812 | Clark | Apr 2007 | A1 |
20070111802 | Ishihara et al. | May 2007 | A1 |
20070119292 | Nakamura | May 2007 | A1 |
20070126874 | Kake | Jun 2007 | A1 |
20070140510 | Redmann | Jun 2007 | A1 |
20070155494 | Wells et al. | Jul 2007 | A1 |
20070162497 | Pauws | Jul 2007 | A1 |
20070162850 | Adler et al. | Jul 2007 | A1 |
20070163427 | Rigopulos et al. | Jul 2007 | A1 |
20070163428 | Salter | Jul 2007 | A1 |
20070168415 | Matahira et al. | Jul 2007 | A1 |
20070175317 | Salter | Aug 2007 | A1 |
20070178973 | Camhi | Aug 2007 | A1 |
20070201815 | Griffin | Aug 2007 | A1 |
20070218444 | Konetski et al. | Sep 2007 | A1 |
20070226293 | Sakurada et al. | Sep 2007 | A1 |
20070232374 | Lopiccolo et al. | Oct 2007 | A1 |
20070234284 | Tanner et al. | Oct 2007 | A1 |
20070234885 | Schmidt et al. | Oct 2007 | A1 |
20070243915 | Egozy et al. | Oct 2007 | A1 |
20070245881 | Egozy et al. | Oct 2007 | A1 |
20070256540 | Salter | Nov 2007 | A1 |
20070256541 | McCauley | Nov 2007 | A1 |
20070260984 | Marks et al. | Nov 2007 | A1 |
20070265095 | Jonishi | Nov 2007 | A1 |
20070265098 | Shimada et al. | Nov 2007 | A1 |
20070270223 | Nonaka et al. | Nov 2007 | A1 |
20070273700 | Nash et al. | Nov 2007 | A1 |
20070297755 | Holt et al. | Dec 2007 | A1 |
20080001950 | Lin et al. | Jan 2008 | A1 |
20080009346 | Jessop et al. | Jan 2008 | A1 |
20080009347 | Radek | Jan 2008 | A1 |
20080026355 | Petef | Jan 2008 | A1 |
20080053295 | Goto et al. | Mar 2008 | A1 |
20080076497 | Kiskis et al. | Mar 2008 | A1 |
20080096654 | Mondesir et al. | Apr 2008 | A1 |
20080101762 | Kellock et al. | May 2008 | A1 |
20080102958 | Kitamura et al. | May 2008 | A1 |
20080113698 | Egozy | May 2008 | A1 |
20080113797 | Egozy | May 2008 | A1 |
20080115657 | Wakiyama | May 2008 | A1 |
20080125229 | Jonishi | May 2008 | A1 |
20080141181 | Ishigaki et al. | Jun 2008 | A1 |
20080143722 | Pagan | Jun 2008 | A1 |
20080146342 | Harvey et al. | Jun 2008 | A1 |
20080152191 | Fujimura et al. | Jun 2008 | A1 |
20080155421 | Ubillos et al. | Jun 2008 | A1 |
20080155474 | Duhig | Jun 2008 | A1 |
20080184870 | Toivola | Aug 2008 | A1 |
20080188305 | Yamazaki et al. | Aug 2008 | A1 |
20080191864 | Wolfson | Aug 2008 | A1 |
20080192736 | Jabri et al. | Aug 2008 | A1 |
20080194319 | Pryzby et al. | Aug 2008 | A1 |
20080200224 | Parks | Aug 2008 | A1 |
20080202321 | Goto et al. | Aug 2008 | A1 |
20080220864 | Brosius et al. | Sep 2008 | A1 |
20080222685 | McCarthy et al. | Sep 2008 | A1 |
20080234023 | Mullahkhel et al. | Sep 2008 | A1 |
20080268943 | Jacob | Oct 2008 | A1 |
20080273755 | Hildreth | Nov 2008 | A1 |
20080276175 | Kim et al. | Nov 2008 | A1 |
20080280680 | Dutilly et al. | Nov 2008 | A1 |
20080288866 | Spencer et al. | Nov 2008 | A1 |
20080289477 | Salter | Nov 2008 | A1 |
20080300053 | Muller | Dec 2008 | A1 |
20080311969 | Kay et al. | Dec 2008 | A1 |
20080311970 | Kay et al. | Dec 2008 | A1 |
20090010335 | Harrison et al. | Jan 2009 | A1 |
20090013253 | Laefer et al. | Jan 2009 | A1 |
20090015653 | Baek | Jan 2009 | A1 |
20090038467 | Brennan | Feb 2009 | A1 |
20090069096 | Nishimoto | Mar 2009 | A1 |
20090073117 | Tsurumi et al. | Mar 2009 | A1 |
20090075711 | Brosius et al. | Mar 2009 | A1 |
20090082078 | Schmidt et al. | Mar 2009 | A1 |
20090083281 | Sarig et al. | Mar 2009 | A1 |
20090088249 | Kay et al. | Apr 2009 | A1 |
20090098918 | Teasdale et al. | Apr 2009 | A1 |
20090100992 | Elion | Apr 2009 | A1 |
20090104956 | Kay et al. | Apr 2009 | A1 |
20090106667 | Lyle et al. | Apr 2009 | A1 |
20090122146 | Zalewski et al. | May 2009 | A1 |
20090135135 | Tsurumi | May 2009 | A1 |
20090158220 | Zalewski et al. | Jun 2009 | A1 |
20090165632 | Rigopulos et al. | Jul 2009 | A1 |
20090177742 | Rhoads et al. | Jul 2009 | A1 |
20090186698 | Ludden | Jul 2009 | A1 |
20090188371 | Chiu et al. | Jul 2009 | A1 |
20090189775 | Lashina et al. | Jul 2009 | A1 |
20090191932 | Chiu et al. | Jul 2009 | A1 |
20090197665 | Christensen | Aug 2009 | A1 |
20090215533 | Zalewski et al. | Aug 2009 | A1 |
20090217211 | Hildreth et al. | Aug 2009 | A1 |
20090222392 | Martin et al. | Sep 2009 | A1 |
20090222765 | Ekstrand | Sep 2009 | A1 |
20090228544 | Demers et al. | Sep 2009 | A1 |
20090231425 | Zalewski | Sep 2009 | A1 |
20090233714 | Toro | Sep 2009 | A1 |
20090241758 | Neubacker | Oct 2009 | A1 |
20090258686 | McCauley et al. | Oct 2009 | A1 |
20090258700 | Bright et al. | Oct 2009 | A1 |
20090258703 | Brunstetter | Oct 2009 | A1 |
20090260508 | Elion | Oct 2009 | A1 |
20090262118 | Arikan et al. | Oct 2009 | A1 |
20090265668 | Esser et al. | Oct 2009 | A1 |
20090278796 | Komazaki | Nov 2009 | A1 |
20090282335 | Alexandersson | Nov 2009 | A1 |
20090300676 | Harter, Jr. | Dec 2009 | A1 |
20090310027 | Fleming | Dec 2009 | A1 |
20090317783 | Noguchi | Dec 2009 | A1 |
20090318228 | Hughes | Dec 2009 | A1 |
20100009749 | Chrzanowski, Jr. et al. | Jan 2010 | A1 |
20100009750 | Egozy et al. | Jan 2010 | A1 |
20100029386 | Pitsch et al. | Feb 2010 | A1 |
20100035682 | Gentile et al. | Feb 2010 | A1 |
20100035688 | Picunko | Feb 2010 | A1 |
20100039378 | Yabe et al. | Feb 2010 | A1 |
20100041477 | Kay et al. | Feb 2010 | A1 |
20100062405 | Zboray et al. | Mar 2010 | A1 |
20100064238 | Ludwig | Mar 2010 | A1 |
20100080528 | Yen et al. | Apr 2010 | A1 |
20100087240 | Egozy et al. | Apr 2010 | A1 |
20100100848 | Ananian et al. | Apr 2010 | A1 |
20100113117 | Ku et al. | May 2010 | A1 |
20100118033 | Faria | May 2010 | A1 |
20100120470 | Kim et al. | May 2010 | A1 |
20100137049 | Epstein | Jun 2010 | A1 |
20100138785 | Uoi et al. | Jun 2010 | A1 |
20100144436 | Marks et al. | Jun 2010 | A1 |
20100151948 | Vance | Jun 2010 | A1 |
20100160038 | Youm et al. | Jun 2010 | A1 |
20100161432 | Kumanov et al. | Jun 2010 | A1 |
20100167823 | Winkler | Jul 2010 | A1 |
20100186579 | Schnitman | Jul 2010 | A1 |
20100192106 | Watanabe et al. | Jul 2010 | A1 |
20100199221 | Yeung et al. | Aug 2010 | A1 |
20100209003 | Toebes et al. | Aug 2010 | A1 |
20100216598 | Nicolas | Aug 2010 | A1 |
20100228740 | Cannistraro et al. | Sep 2010 | A1 |
20100231523 | Chou | Sep 2010 | A1 |
20100238182 | Geisner et al. | Sep 2010 | A1 |
20100245241 | Kim et al. | Sep 2010 | A1 |
20100247081 | Victoria Pons et al. | Sep 2010 | A1 |
20100255398 | Jacobson et al. | Oct 2010 | A1 |
20100255827 | Jordan et al. | Oct 2010 | A1 |
20100261146 | Kim | Oct 2010 | A1 |
20100265398 | Johnson et al. | Oct 2010 | A1 |
20100283723 | Konishi | Nov 2010 | A1 |
20100299405 | Socher et al. | Nov 2010 | A1 |
20100300264 | Foster | Dec 2010 | A1 |
20100300265 | Foster et al. | Dec 2010 | A1 |
20100300266 | Stoddard et al. | Dec 2010 | A1 |
20100300267 | Stoddard et al. | Dec 2010 | A1 |
20100300268 | Applewhite et al. | Dec 2010 | A1 |
20100300269 | Applewhite | Dec 2010 | A1 |
20100300270 | Applewhite et al. | Dec 2010 | A1 |
20100300272 | Scherf | Dec 2010 | A1 |
20100302155 | Sands et al. | Dec 2010 | A1 |
20100304810 | Stoddard | Dec 2010 | A1 |
20100304811 | Schmidt et al. | Dec 2010 | A1 |
20100304812 | Stoddard et al. | Dec 2010 | A1 |
20100304860 | Gault et al. | Dec 2010 | A1 |
20100304863 | Applewhite et al. | Dec 2010 | A1 |
20100304865 | Picunko et al. | Dec 2010 | A1 |
20100306655 | Mattingly et al. | Dec 2010 | A1 |
20100306713 | Geisner et al. | Dec 2010 | A1 |
20110010667 | Sakai et al. | Jan 2011 | A1 |
20110021273 | Buckley et al. | Jan 2011 | A1 |
20110028214 | Bright et al. | Feb 2011 | A1 |
20110039659 | Kim et al. | Feb 2011 | A1 |
20110047471 | Lord et al. | Feb 2011 | A1 |
20110066940 | Asghari Kamrani et al. | Mar 2011 | A1 |
20110083106 | Hamagishi | Apr 2011 | A1 |
20110083112 | Matsubara et al. | Apr 2011 | A1 |
20110098106 | He et al. | Apr 2011 | A1 |
20110098109 | Leake | Apr 2011 | A1 |
20110105206 | Rowe | May 2011 | A1 |
20110111580 | Aoyama et al. | May 2011 | A1 |
20110118621 | Chu | May 2011 | A1 |
20110140931 | Geurts et al. | Jun 2011 | A1 |
20110151974 | Deaguero | Jun 2011 | A1 |
20110151975 | Mori | Jun 2011 | A1 |
20110159938 | Umeda | Jun 2011 | A1 |
20110185309 | Challinor et al. | Jul 2011 | A1 |
20110195779 | Lau | Aug 2011 | A1 |
20110197740 | Chang et al. | Aug 2011 | A1 |
20110237324 | Clavin et al. | Sep 2011 | A1 |
20110238676 | Liu et al. | Sep 2011 | A1 |
20110251840 | Cook et al. | Oct 2011 | A1 |
20110256929 | Dubrofsky et al. | Oct 2011 | A1 |
20110257771 | Bennett et al. | Oct 2011 | A1 |
20110283236 | Beaumier et al. | Nov 2011 | A1 |
20110306396 | Flury et al. | Dec 2011 | A1 |
20110306397 | Fleming et al. | Dec 2011 | A1 |
20110306398 | Boch et al. | Dec 2011 | A1 |
20110312397 | Applewhite et al. | Dec 2011 | A1 |
20110312415 | Booth et al. | Dec 2011 | A1 |
20120013493 | Kato | Jan 2012 | A1 |
20120021833 | Boch et al. | Jan 2012 | A1 |
20120052942 | Esaki et al. | Mar 2012 | A1 |
20120052947 | Yun | Mar 2012 | A1 |
20120063617 | Ramos | Mar 2012 | A1 |
20120069131 | Abelow | Mar 2012 | A1 |
20120094730 | Egozy | Apr 2012 | A1 |
20120108305 | Akiyama et al. | May 2012 | A1 |
20120108334 | Tarama et al. | May 2012 | A1 |
20120143358 | Adams et al. | Jun 2012 | A1 |
20130132837 | Mead et al. | May 2013 | A1 |
Number | Date | Country |
---|---|---|
468071 | Jun 2010 | AT |
741239 | Apr 1999 | AU |
200194329 | Oct 2001 | AU |
2003285918 | May 2004 | AU |
2010229693 | Nov 2011 | AU |
2587415 | May 2005 | CA |
2609587 | Dec 2005 | CA |
2720723 | Nov 2009 | CA |
2757238 | Sep 2010 | CA |
2760210 | Dec 2010 | CA |
19716937 | Mar 1998 | DE |
6980491 | May 2002 | DE |
69726507 | Nov 2004 | DE |
69832379 | Aug 2006 | DE |
69739885 | Jul 2010 | DE |
0903169 | Mar 1999 | EP |
919267 | Jun 1999 | EP |
972550 | Jan 2000 | EP |
974382 | Jan 2000 | EP |
974954 | Jan 2000 | EP |
978301 | Feb 2000 | EP |
982055 | Mar 2000 | EP |
992928 | Apr 2000 | EP |
992929 | Apr 2000 | EP |
993847 | Apr 2000 | EP |
0997870 | May 2000 | EP |
1003130 | May 2000 | EP |
1022672 | Jul 2000 | EP |
1029565 | Aug 2000 | EP |
1029566 | Aug 2000 | EP |
1029570 | Aug 2000 | EP |
1029571 | Aug 2000 | EP |
1031363 | Aug 2000 | EP |
1031904 | Aug 2000 | EP |
1033157 | Sep 2000 | EP |
1033158 | Sep 2000 | EP |
1043745 | Oct 2000 | EP |
1043746 | Oct 2000 | EP |
1048330 | Nov 2000 | EP |
1061501 | Dec 2000 | EP |
1064974 | Jan 2001 | EP |
1064975 | Jan 2001 | EP |
1066866 | Jan 2001 | EP |
1079368 | Feb 2001 | EP |
1 081 680 | Mar 2001 | EP |
1081679 | Mar 2001 | EP |
1082981 | Mar 2001 | EP |
1082982 | Mar 2001 | EP |
1082983 | Mar 2001 | EP |
1088573 | Apr 2001 | EP |
1 096 468 | May 2001 | EP |
1114659 | Jul 2001 | EP |
1122703 | Aug 2001 | EP |
1125607 | Aug 2001 | EP |
1125613 | Aug 2001 | EP |
1127599 | Aug 2001 | EP |
1130569 | Sep 2001 | EP |
1132889 | Sep 2001 | EP |
1134723 | Sep 2001 | EP |
1136107 | Sep 2001 | EP |
1138357 | Oct 2001 | EP |
1139293 | Oct 2001 | EP |
1145744 | Oct 2001 | EP |
1145745 | Oct 2001 | EP |
1145748 | Oct 2001 | EP |
1145749 | Oct 2001 | EP |
1150276 | Oct 2001 | EP |
1151770 | Nov 2001 | EP |
1151773 | Nov 2001 | EP |
1157723 | Nov 2001 | EP |
1159992 | Dec 2001 | EP |
1160762 | Dec 2001 | EP |
1161974 | Dec 2001 | EP |
1 174 856 | Jan 2002 | EP |
1170041 | Jan 2002 | EP |
1178427 | Feb 2002 | EP |
1184061 | Mar 2002 | EP |
1187427 | Mar 2002 | EP |
1192976 | Apr 2002 | EP |
1195721 | Apr 2002 | EP |
1197947 | Apr 2002 | EP |
1199702 | Apr 2002 | EP |
1199703 | Apr 2002 | EP |
1 201 277 | May 2002 | EP |
1206950 | May 2002 | EP |
1208885 | May 2002 | EP |
1214959 | Jun 2002 | EP |
1220539 | Jul 2002 | EP |
1228794 | Aug 2002 | EP |
1245255 | Oct 2002 | EP |
1249260 | Oct 2002 | EP |
1258274 | Nov 2002 | EP |
1264622 | Dec 2002 | EP |
1270049 | Jan 2003 | EP |
1270050 | Jan 2003 | EP |
1271294 | Jan 2003 | EP |
1279425 | Jan 2003 | EP |
1287864 | Mar 2003 | EP |
1306112 | May 2003 | EP |
1413340 | Apr 2004 | EP |
000181482-0005 | Sep 2004 | EP |
1503365 | Feb 2005 | EP |
1533010 | May 2005 | EP |
1542132 | Jun 2005 | EP |
1552864 | Jul 2005 | EP |
1552865 | Jul 2005 | EP |
1569171 | Aug 2005 | EP |
1604711 | Dec 2005 | EP |
1609513 | Dec 2005 | EP |
1630746 | Mar 2006 | EP |
1666109 | Jun 2006 | EP |
1696385 | Aug 2006 | EP |
1699017 | Sep 2006 | EP |
1731204 | Dec 2006 | EP |
1743680 | Jan 2007 | EP |
1 758 387 | Feb 2007 | EP |
1 825 896 | Aug 2007 | EP |
000859418-0008 | Feb 2008 | EP |
000890447-0040 | Apr 2008 | EP |
000890447-0046 | Apr 2008 | EP |
2000190 | Dec 2008 | EP |
2001569 | Dec 2008 | EP |
2027577 | Feb 2009 | EP |
2206539 | Jul 2010 | EP |
2206540 | Jul 2010 | EP |
2301253 | Mar 2011 | EP |
2411101 | Feb 2012 | EP |
2494432 | Sep 2012 | EP |
200705530 | Jan 2009 | FI |
20096276 | Dec 2009 | FI |
2118809 | Nov 1983 | GB |
2425730 | Nov 2006 | GB |
2465918 | Jun 2010 | GB |
2471871 | Jan 2011 | GB |
1018021 | Oct 2002 | HK |
1023734 | Feb 2006 | HK |
IN01685CN201 | Jan 2012 | IT |
7185131 | Jul 1995 | JP |
3014386 | Aug 1995 | JP |
2552427 | Nov 1996 | JP |
11053563 | Feb 1999 | JP |
11128534 | May 1999 | JP |
11128535 | May 1999 | JP |
11151380 | Jun 1999 | JP |
11156054 | Jun 1999 | JP |
2922509 | Jul 1999 | JP |
11219443 | Aug 1999 | JP |
2951948 | Sep 1999 | JP |
2982147 | Nov 1999 | JP |
11313979 | Nov 1999 | JP |
3003851 | Jan 2000 | JP |
2000014931 | Jan 2000 | JP |
2000037490 | Feb 2000 | JP |
3017986 | Mar 2000 | JP |
3031676 | Apr 2000 | JP |
2000107447 | Apr 2000 | JP |
2000107458 | Apr 2000 | JP |
2000112485 | Apr 2000 | JP |
2000116938 | Apr 2000 | JP |
3053090 | Jun 2000 | JP |
2000157723 | Jun 2000 | JP |
3066528 | Jul 2000 | JP |
2000218046 | Aug 2000 | JP |
3088409 | Sep 2000 | JP |
2000237454 | Sep 2000 | JP |
2000237455 | Sep 2000 | JP |
2000245957 | Sep 2000 | JP |
2000245964 | Sep 2000 | JP |
2000245967 | Sep 2000 | JP |
2000250534 | Sep 2000 | JP |
2000288254 | Oct 2000 | JP |
2000293292 | Oct 2000 | JP |
2000293294 | Oct 2000 | JP |
2000300838 | Oct 2000 | JP |
2000300851 | Oct 2000 | JP |
2000308759 | Nov 2000 | JP |
2000317144 | Nov 2000 | JP |
2000325665 | Nov 2000 | JP |
2000350861 | Dec 2000 | JP |
2001000610 | Jan 2001 | JP |
2001009149 | Jan 2001 | JP |
2001009152 | Jan 2001 | JP |
2001009157 | Jan 2001 | JP |
2001046739 | Feb 2001 | JP |
2001062144 | Mar 2001 | JP |
2001070637 | Mar 2001 | JP |
2001070640 | Mar 2001 | JP |
2001070652 | Mar 2001 | JP |
2001075579 | Mar 2001 | JP |
2001096059 | Apr 2001 | JP |
2001096061 | Apr 2001 | JP |
2001129244 | May 2001 | JP |
2001145777 | May 2001 | JP |
2001145778 | May 2001 | JP |
3179769 | Jun 2001 | JP |
2001162049 | Jun 2001 | JP |
2001170352 | Jun 2001 | JP |
2001175254 | Jun 2001 | JP |
3187758 | Jul 2001 | JP |
2001190834 | Jul 2001 | JP |
2001190835 | Jul 2001 | JP |
2001190844 | Jul 2001 | JP |
2001198351 | Jul 2001 | JP |
2001198352 | Jul 2001 | JP |
2001198354 | Jul 2001 | JP |
3202733 | Aug 2001 | JP |
2001212369 | Aug 2001 | JP |
2001218980 | Aug 2001 | JP |
2001222280 | Aug 2001 | JP |
2001224850 | Aug 2001 | JP |
2001231904 | Aug 2001 | JP |
2001232059 | Aug 2001 | JP |
2001232062 | Aug 2001 | JP |
3204652 | Sep 2001 | JP |
2001252467 | Sep 2001 | JP |
2001259224 | Sep 2001 | JP |
2001269482 | Oct 2001 | JP |
2001273517 | Oct 2001 | JP |
2001293246 | Oct 2001 | JP |
2001293254 | Oct 2001 | JP |
2001293256 | Oct 2001 | JP |
2001299975 | Oct 2001 | JP |
2001312260 | Nov 2001 | JP |
2001312740 | Nov 2001 | JP |
2001314645 | Nov 2001 | JP |
2001321565 | Nov 2001 | JP |
2001344049 | Dec 2001 | JP |
2001353374 | Dec 2001 | JP |
3245139 | Jan 2002 | JP |
2002000936 | Jan 2002 | JP |
2002018123 | Jan 2002 | JP |
2002018134 | Jan 2002 | JP |
2002028368 | Jan 2002 | JP |
3258647 | Feb 2002 | JP |
3261110 | Feb 2002 | JP |
2002045567 | Feb 2002 | JP |
2002056340 | Feb 2002 | JP |
2002066127 | Mar 2002 | JP |
2002066128 | Mar 2002 | JP |
2002084292 | Mar 2002 | JP |
3270928 | Apr 2002 | JP |
2002116752 | Apr 2002 | JP |
2002140727 | May 2002 | JP |
2002143567 | May 2002 | JP |
2002153673 | May 2002 | JP |
3306021 | Jul 2002 | JP |
2002204426 | Jul 2002 | JP |
3310257 | Aug 2002 | JP |
3317686 | Aug 2002 | JP |
3317956 | Aug 2002 | JP |
2002224435 | Aug 2002 | JP |
2002239223 | Aug 2002 | JP |
2002239233 | Aug 2002 | JP |
3320700 | Sep 2002 | JP |
3321111 | Sep 2002 | JP |
2002263229 | Sep 2002 | JP |
3333773 | Oct 2002 | JP |
3338005 | Oct 2002 | JP |
2002282417 | Oct 2002 | JP |
2002282418 | Oct 2002 | JP |
2002292123 | Oct 2002 | JP |
2002292139 | Oct 2002 | JP |
2002301263 | Oct 2002 | JP |
3345591 | Nov 2002 | JP |
3345719 | Nov 2002 | JP |
2002325975 | Nov 2002 | JP |
3351780 | Dec 2002 | JP |
2002360937 | Dec 2002 | JP |
3361084 | Jan 2003 | JP |
3370313 | Jan 2003 | JP |
3371132 | Jan 2003 | JP |
2003000951 | Jan 2003 | JP |
2003010541 | Jan 2003 | JP |
2003010542 | Jan 2003 | JP |
2003019346 | Jan 2003 | JP |
2003030686 | Jan 2003 | JP |
2003058317 | Feb 2003 | JP |
3392833 | Mar 2003 | JP |
2003117233 | Apr 2003 | JP |
2003126548 | May 2003 | JP |
3417555 | Jun 2003 | JP |
3417918 | Jun 2003 | JP |
3420221 | Jun 2003 | JP |
2003175279 | Jun 2003 | JP |
3425548 | Jul 2003 | JP |
3425552 | Jul 2003 | JP |
3433918 | Aug 2003 | JP |
3439187 | Aug 2003 | JP |
2003236244 | Aug 2003 | JP |
3442730 | Sep 2003 | JP |
3448043 | Sep 2003 | JP |
2003256552 | Sep 2003 | JP |
3458090 | Oct 2003 | JP |
3470119 | Nov 2003 | JP |
2003334387 | Nov 2003 | JP |
3491759 | Jan 2004 | JP |
2004016315 | Jan 2004 | JP |
2004016388 | Jan 2004 | JP |
3496874 | Feb 2004 | JP |
3500379 | Feb 2004 | JP |
3500383 | Feb 2004 | JP |
2004033266 | Feb 2004 | JP |
2004097610 | Apr 2004 | JP |
2004105309 | Apr 2004 | JP |
2004121397 | Apr 2004 | JP |
3526302 | May 2004 | JP |
2004141261 | May 2004 | JP |
3534345 | Jun 2004 | JP |
2004164519 | Jun 2004 | JP |
2004166994 | Jun 2004 | JP |
3545755 | Jul 2004 | JP |
3545983 | Jul 2004 | JP |
3546206 | Jul 2004 | JP |
3547374 | Jul 2004 | JP |
2004192069 | Jul 2004 | JP |
2004201937 | Jul 2004 | JP |
3561456 | Sep 2004 | JP |
3566195 | Sep 2004 | JP |
3573288 | Oct 2004 | JP |
3576994 | Oct 2004 | JP |
3582716 | Oct 2004 | JP |
2004283249 | Oct 2004 | JP |
2004298469 | Oct 2004 | JP |
2004321245 | Nov 2004 | JP |
3597465 | Dec 2004 | JP |
2004337256 | Dec 2004 | JP |
3611807 | Jan 2005 | JP |
2005046445 | Feb 2005 | JP |
2005049913 | Feb 2005 | JP |
3626711 | Mar 2005 | JP |
3634273 | Mar 2005 | JP |
2005095440 | Apr 2005 | JP |
3656118 | Jun 2005 | JP |
3686906 | Aug 2005 | JP |
3699660 | Sep 2005 | JP |
2005261586 | Sep 2005 | JP |
3702269 | Oct 2005 | JP |
2005287830 | Oct 2005 | JP |
2005301578 | Oct 2005 | JP |
3715513 | Nov 2005 | JP |
2005319025 | Nov 2005 | JP |
3727275 | Dec 2005 | JP |
2006020758 | Jan 2006 | JP |
3753425 | Mar 2006 | JP |
2006075264 | Mar 2006 | JP |
2006116046 | May 2006 | JP |
2006116047 | May 2006 | JP |
2006192157 | Jul 2006 | JP |
3804939 | Aug 2006 | JP |
3816931 | Aug 2006 | JP |
3822887 | Sep 2006 | JP |
3831695 | Oct 2006 | JP |
3869175 | Jan 2007 | JP |
2007029589 | Feb 2007 | JP |
3890445 | Mar 2007 | JP |
2007504901 | Mar 2007 | JP |
2008018287 | Jan 2008 | JP |
2008168143 | Jul 2008 | JP |
2009531153 | Sep 2009 | JP |
2010509000 | Mar 2010 | JP |
20010027533 | Apr 2001 | KR |
20050047024 | May 2005 | KR |
2010146213 | May 2012 | RU |
173496 | Sep 2011 | SG |
340049 | Mar 2009 | TW |
200951764 | Dec 2009 | TW |
201006526 | Feb 2010 | TW |
322023 | Mar 2010 | TW |
201116318 | May 2011 | TW |
WO-9717598 | May 1997 | WO |
WO-9938588 | Aug 1999 | WO |
WO-0163592 | Aug 2001 | WO |
WO-0163592 | Aug 2001 | WO |
WO-0230535 | Apr 2002 | WO |
WO-2004002590 | Jan 2004 | WO |
WO-2004002594 | Jan 2004 | WO |
WO-2004024256 | Mar 2004 | WO |
WO-2004024263 | Mar 2004 | WO |
WO-2004027631 | Apr 2004 | WO |
WO-2004030779 | Apr 2004 | WO |
WO-2004039055 | May 2004 | WO |
WO-2004052483 | Jun 2004 | WO |
WO-2004053800 | Jun 2004 | WO |
WO-2004082786 | Sep 2004 | WO |
WO-2004087272 | Oct 2004 | WO |
WO-2004101093 | Nov 2004 | WO |
WO-2004107270 | Dec 2004 | WO |
WO-2005027062 | Mar 2005 | WO |
WO-2005027063 | Mar 2005 | WO |
WO-2005030354 | Apr 2005 | WO |
WO-2005039212 | Apr 2005 | WO |
WO-2005099842 | Oct 2005 | WO |
WO-2005107902 | Nov 2005 | WO |
WO-2005113096 | Dec 2005 | WO |
WO-2005114648 | Dec 2005 | WO |
WO-2006006274 | Jan 2006 | WO |
WO-2006075494 | Jul 2006 | WO |
WO-2007055522 | May 2007 | WO |
WO-2007070738 | Jun 2007 | WO |
WO-2007078639 | Jul 2007 | WO |
WO-2007111247 | Oct 2007 | WO |
WO-2007115299 | Oct 2007 | WO |
WO-2007130582 | Nov 2007 | WO |
WO-2008001088 | Jan 2008 | WO |
WO-2008145952 | Dec 2008 | WO |
WO-2009021124 | Feb 2009 | WO |
WO-2010018485 | Feb 2010 | WO |
WO-2010036989 | Apr 2010 | WO |
WO-2011067469 | Jun 2011 | WO |
WO-2011155958 | Dec 2011 | WO |
Entry |
---|
[Video] “E3 2010 Live Demo”, where Ubi talked about MJ:TE for Kinect (<http://www.gametrailers.com/video/e3-2010-michael-jackson/101449>). |
[Video] MJ the Experience Kinect: release Apr. 2011, http//www.youtube.com/watch?v=N7oyxHIP48A. |
[Video] ‘Don't Stop’ Gameplay Trailer: <http://www.gametrailers.com/video/dont-stop-michael-jackson/707336> (Nov. 10, 2010). |
[Video] ‘Ghosts’ Gameplay Trailer: <http://www.gametrailers.com/video/ghosts-gameplay-michael-jackson/706825> (Oct. 27, 2010). |
[Video] Dance Summit 2001: Bust a Groove (Released Nov. 2, 2000 for PS2); <http://www.youtube.com/watch?v=E8NjTGHYQcM>. |
[Video] Dancing With the Stars—Activision, Zoe Mode; <http://www.youtube.com/watch?v=C7zBVfEJ0gg> (Oct. 2007). |
[Video] Dancing with the Stars: We Dance—Activision, Zoe Mode; <http://www.youtube.com/watch?v=31G0b-CT8vs> (Oct. 2008). |
[Video] DDR Hottest Party; <http://www.youtube.com/watch?v=zk20hEzGmUY> (Sep. 2007). |
[Video] E3 2010 Live Demo <http://www.gametrailers.com/video/e3-2010-michael-jackson/101449>; (Jun. 14, 2010). |
[Video] Eyetoy Groove for PS2; <http://www.youtube.com/watch?v=c80aaOU—fuE> Apr. 2004. |
[Video] Gamescom '10—Billie Jean Demo <http://www.gametrailers.com/video/gc-10-michael-jackson/703294> (:58-1:13) (Aug. 20, 2010). |
[Video] Gamescom '10—Working Day and Night Demo <http://www.gametrailers.com/video/gc-10-michael-jackson/703295> (Aug. 20, 2010). |
[Video] Grease Dance—505 Games: release—Oct. 2011. http://www.youtube.com/watch?v=PaGBHSB2urg. |
[Video] Hannah Montana: Spotlight World Tour (Released Nov. 6, 2007 for Wii); <http://www.youtube.com/watch?v=WtyuU2NaL3Q>. |
[Video] Britney's Dance Beat (Released May 8, 2002 for PS2); <http://www.youtube.com/watch?v=-KR1dRGNX—w>. |
[Video] Dance Dance Revolution: Hottest Party 3 (Released Sep. 27, 2009 for Wii) <http://www.youtube.com/watch?v=zk20hEzGmUY>. |
[Video] Dance on Broadway—Ubisoft, Longtail Studios; <http://www.youtube.com/watch?v=eYaP-dT4z-M> (Jun. 6, 2010). |
[Video] Dance on Broadway: Jun. 2010 (http://youtu.be/Wi9Y5HHcvtY). |
[Video] Dancing with the Stars: Oct. 2007 (http://www.youtube.com/watch?v=8UChG2v5DI). |
Amplitude for Playstation. Retrieved from the Internet: www.target.com/gp/detail.hbnl/601-0682676-9911341?asin=B0000859TM&AFID. Retrieved on Feb. 22, 2005. 1 page. |
Amplitude Review by Ryan Davis. Retrieved from the Internet: www.gamespot.com/ps2/puzzle/ampli˜de /printable—6023980.html. Retrieved on Jun. 11, 2012. 4 pages. |
Amplitude. Retrieved from the Internet: www.gamesquestdirect.com/71171972582.htrnl. Retrieved on Jun. 8, 2012. 2 pages. |
Amplitude: Sony's Rocking Rhythm Game Outdoes Itself on All Fronts by Douglass C. Perry. Retrieved from the Internet: http://ps2.ign.com/articles/390/390620pl.thml. Retrieved on Jun. 8, 2012. 6 pages. |
Association of British Scrabble Players. “Rolling System” ABSP, http://www.absp.org.uk/results/ratings—detail.shtml. Retrieved May 25, 2011 (4 pages). |
Beat Planet Music (Import) Review by Christian Nutt. Retrieved from the Internet: www.gamespot.com/ps/ action/beatplanetmusiclprintable—2546762.html. Retrieved on Jun. 11, 2012. 3 pages. |
Beatmania IIDX 9 Style. Retrieved from the Internet: www.play-asia.com/paOS-13-71-8-iu.html. Retrieved on Feb. 22, 2005. 2 pages. |
Beatmania PlayStation Review from www.GamePro.com/sony/psx/games/reviews/89.shtml. Retrieved on Feb. 22, 2005. 1 page. |
Beatmania Review. Retrieved from the Internet: www.gamesarefun.com/gamesdb/review. h?reviewid=294. Retrieved on Jun. 11, 2012. 1 page. |
Beatmanla IIDX 7 Style. Retrieved from the Internet: www.lik-sang.com/Info.php?category=27&products id=4061. Retrieved on Feb. 22, 2005. 1 page. |
Beatnik Patent Sale Offering, Nov. 2008 (81 pp). |
Bishop, Sam; Frequency: If you decide to pick up this game, you better give up ont he idea of getting a full night of sleep. via www.ign.com [online], Nov. 26, 2001 [retrieved on Mar. 1, 2006]. Retrieved from the Internet <URL: http://ps2.ign.com/articles/166/166450p1.html>. Retrieved on Jun. 8, 2012. 8 pages. |
Boombox Icons, http://findicons.com/search/boombox, viewed on Jul. 31, 2012 copyright 2010 (1 page). |
Bust A Groove Review by Jeff Gerstmann. Retrieved from the Internet: www.gamespolcom/ps/puzzlelbusta groove/printable—2546923.html. Retrieved on Jun. 11, 2012. 9 pages. |
Bust A Groove. Retrieved from the Internet: www.buyritegames.com/product—information. asp?rc=frgl&number=PS-BUSTA2. Retrieved on Feb. 22, 2005. 1 page. |
Bust A Groove. Retrieved from the Internet: www.estarland.com/index.asp?page=Piaystation&cat=F&oroduct=6257&q. Retrieved on Jun. 11, 2012. 2 pages. |
Bust A Groove: 989 Studios Best Game of the Year is a Funky Dance Sim thars Got the Fever by Doug Peny. Retrieved from the Internet http://psx.com/articles/152/152308pl.html. Retrieved on Jun. 8, 2012. 5 pages. |
BVH File Specification, Character Studio, http:/lweb.archive.org/web/20060321075406/http:/lcharacterstudio. neUbvh file specification.htm, Mar. 21, 2006 (16 pages). |
Dance Dance Revolution Review by Andy Chien. Retrieved from the Internet www.gamingage.com/reviews /archive/old reviews/psx/ddr. Retrieved on Feb. 22, 2005. 3 pages. |
Dance Dance Revolution Review by Ryan Davis. Retrieved from the Internet www.gamespolcom/ps/puzzJe /dancedancerevolutionfprintable—2699724.html. Retrieved on Jun. 11, 2012. 9 pages. |
Dance Dance Revolution, Konami via wvvw.ign.com [online], Apr. 4, 2001 [retrieved on Mar. 1, 2006]. Retrieved from the Internet <URL: http://psx.ign.com/articles/161/161525p1.html>. Retrieved on Jun. 14, 2012. 7 pages. |
Dance Dance Revolution. Retrieved from the Internet: www.ebgames.com/ebxlproduct/224 789.asp. Retrieved on Feb. 22, 2005. 2 pages. |
Dave H, et al. StepMania Tutorial. Nov. 3, 2004. <http://web.archive.org/web/200411031145^/vww.stepmania.conVstepmania/wiki.php?pagename=Tutorial>. Retrieved on Jun. 19, 2012. 7 pages. |
Def Jam Vendetta Review by Alex Navarro. Retrieved from the Internet www.gamespot.com/ps2/actionf actionfdefjamvendetta/printable—6024297 .html. Retrieved on Jun. 11, 2012. 10 pages. |
Def Jam Vendetta. Retrieved from the Internet www.ebgames.com/ebx/product/232378.asp. Retrieved on Feb. 22, 2005. 2 pages. |
Def Jam Vendetta: Rapper's Delight or Fight-Night Fright? Smash Sumthin' and Find Out by Jon Robinson. Mar. 31, 2003. Retrieved from the Internet http://ps2.ign.com/articles/391/391713pl.html. Retrieved on Jun. 8, 2012, 6 pages. |
Digital Play: Reloaded. Opening Reception. Museum of the Moving Image. Mar. 19, 2005. <http://web.archive.Org/web/20050319060247/ http://www.movingimage.us/site/screenings/contenV2005/digital—play—reloaded.ht ml>. 1 page. |
Donkey Konga Review by Ryan Davis. Retrieved from the Internet: www.gamespot.com/gamecubelpuzzle/ donkeykonga/printable—6108977.html. Retrieved on Jun. 11, 2012. 11 pages. |
Donkey Konga. Retrieved from the Internet: www.ebgames.com/ebx/producV244024.asp. Retrieved on Jun. 11, 2012. 2 pages. |
Donkey Konga: Could a Game Featuring Donkey Kong and Mini-Bongos ever Fail? Our Ful Review by Juan Castro. Retrieved from the Internet: cube.ign.com/articles/550/550723p1.html. Retrieved on Jun. 8, 2012. 6 pages. |
DrumMana w/ Drum Set. Retrieved from the Internet www.estarland.com/index.asp?page=Playstation2&cat=RD&product=181268 &q. Retrieved on Jun. 11, 2012. 2 pages. |
DrumMania (Import) Review by Jeff Gerstmann. Retrieved from the Internet: www.gamespot.com/ps2/actionf drummania/prinlable—2546356.html. Retrieved on Jun. 11, 2012. 9 pages. |
DrumMania OST . Retrieved from the Internet www.lik-sang.corn/info/php?category=264&products id=4793. Retrieved on Feb. 22, 2005. 2 pages. |
DrumMania Review by Wynfwad. Retrieved from the Internet www.gamefaqs.com/console/ps2/review/ R56573.html. Retrieved on Jun. 11, 2012. 2 pages. |
ESRB Game Ratings: Game Rating & Descriptor Guide' via www.esrb.org[online], Retrived from the Internet: <URL: http:/Arvww.esrb.org/esrbratings—guide.asp#symbols>. Retrieved on Jun. 14, 2012. 3 pages. |
Eye Toy Groove with Camera (Playstation 2). Retrieved from the Internet www.jr.com/JRProductPage.process?Product Code=PS2+97400&JRSource=google. Retrieved on Feb. 22, 2005. 1 page. |
Eye Toy Groove with Eye Toy Camera PS2. Retrieved from the Internet: www.walmart.com/catalog/product.gsp?dest=9999999997&product id-2607013&s. Retrieved on Feb. 22, 2005. 1 page. |
Eye Toy: Groove—The Little Camera That Could comes Back with a Few New Tricks by Ed Lewis. Retrieved from the Internet: hti^y/ps2.ign.corn/artjcles/507/507854pl.html. Retrieved on Jun. 8, 2012. 8 pages. |
Eye Toy: Groove Review by Ryan Davis. Retrieved from the Internet: wvm.gamespot.com/ps2/puzzle/ eyetoygroove/printable—6094754.html. Retrieved on Jun. 11, 2012. 10 pages. |
Frequency—Pre-Played. Retrieved from the Internet www.ebgames.com/ebx/product/203370.asp. Retrieved on Feb. 22, 2005. 2 pages. |
Frequency PS2 Review from GamePro.com, written by Dan Electro on Nov. 26, 2001. Retrieved from the Internet: www.gamepro.com/ sony/ps2/games/reviews/18464.shtml. Retrieved on Jun. 11, 2012. 2 pages. |
Frequency PS2. Retrieved from the Internet: www.walmart.com/catalog/producLgsp7dests9999999997&product id=1635738&s. Retrieved on Feb. 22, 2005. 2 pages. |
Frequency Review by Ryan Davis. Retrieved from the Internet:www.gamespot.com/ps2/puzzle/frequency/ printable 2827476.html. Retrieved on Jun. 19, 2012. 9 pages. |
Get on Da Mic Overview by Matt Gonzales. Retrieved from the Internet www.gamechronides.com/reviews/ ps2/getondamic/body.htm. Retrieved on Jun. 11, 2012. 3 pages. |
Get on Da Mic Review by Jeff Gerstmann. Retrieved from the Internet wvw.gamespot.cx)rri/ps2/puzzle/getondamic/printable 6110242.html. Retrieved on Jun. 11, 2012. 10 pages. |
Get on Da Mic. Retrieved from the Internet: www.ebgames.com/ebx/product/245102.asp. Retrieved on Jun. 11, 2012. 2 pages. |
Gitaroo Man. Retrieved from the Internet www.estartand.com/index.asp?page=Piaystation2&cat=PZ&product=676&Q .. Retrieved on Jun. 14, 2012. 2 pages. |
Gitaroo-Man Review by David Smith. Retrieved from the Internet htt£-y^s2.ign.conVara'cles/354/ 354413pjLhtml. Retrieved on Jun. 11, 2012. 4 pages. |
Gitaroo-Man Review by Ryan Davis. Retrieved from the Internet: www.gamesrx)t.coiTi/ps2/puzzle/gitaroomart/printable 2847915.html. Retrieved on Jun. 19, 2012. 9 pages. |
Gitaroo-Man. Retrieved from the Internet vvvrw.buyritegames.com/productjnformation.asp?re=frgl&number=PS2-GITARO. Retrieved on Feb. 22, 2005. 1 page. |
Guitar Freaks (Import) Review by Sam Kennedy. Retrieved from the Internet: www.gamespot.com/pslaction/ guitarfreaks/printable—2545966.html. Retrieved on Jun. 11, 2012. 10 pages. |
Guitar Freaks Review by Wade Monnig. Retrieved from the Internet: www.gamesarefun.com/gamesdb/review. php? .reviewid=301. Retrieved on Jun. 11, 2012. 3 pages. |
Guitar Freaks Sony. Retrieved from the Internet www.gameexpress.com/product—detail.cfm.?UPC=SCPS45422. Retrieved on Feb. 22, 2005. 1 page. |
Guitar Freaks with Guitar. Retrieved from the Internet: www.buyritegames.com/product—informatIon.asp?rc=frgl&number=PSJ-GUilWG. Retrieved on Feb. 22, 2005. 1 page. |
Guitar Hero (video game)—Wikipedia, the free encyclopedia—(Publisher—RedOctane) Release Date Nov. 2005. 25 pages. |
Guitar Hero—Wikipedia, the free encyclopedia—Nov. 2005. http://en.wikipedia.org/w/index.php?title=guitaryhero&oldid=137778068. Retrieved on May 22, 2012. 5 pages. |
GuitarFreaks—Wikipedia, the free encyclopedia—(Publisher—Konami, Konami Digital Entertainment) Release Date 1998. Accessed on Mar. 19, 2009. 5 pages. |
International Search Report issued for PCT/US2010/054300, dated May 31, 2011 (5 pgs.). |
International Search Report, PCT/US2006/062287, Mailed on May 10, 2007. (2 pgs.). |
Ipodgames.com Tips. Dec. 4, 2004. <http://web.archive.org/web/ 20041204032612Awww.ipodgames.com/tips.html > (1 pg.). |
Karaoke Revolution Review by Jeff Gerstmann. Retrieved from the Internet www.gamespot.com/ps2/puzzle/ karaokerevolution/printable . . . 6081709.html. Retrieved on Jun. 14, 2012. 10 pages. |
Karaoke Revolution. Retrieved from the Internet: www.ebgames.com/ebxlproduct/24806.asp. Retrieved on Feb. 22, 2005. 2 pages. |
Karaoke Revolution: The Revolution will be Televised by Ed Lewis. Retrieved from the Internet: http://ps2.ign.com/articles/458/458064p1.html. Retrieved on Jun. 8, 2012. 7 pages. |
Kuwayama, Y. Trademarks & Symbols, vol. 2: Symbolical Designs, Van Nostrand Reinhold Company, (Nov. 4, 1980). 4 pages. |
Lohman, “Rockstar vs. Guitar Hero,” (The Rebel Yell). Nov. 13, 2008, accessed on Mar. 19, 2009. 5 pages. |
Mad Maestro!—Pre-Played. Retrieved from the Internet: www.ebgames.com/ebx/product/217604.asp. Retrieved on Feb. 22, 2005. 2 pages. |
Mad Maestro! by Ryan Davis. Retrieved from the Internet: www.gamespot.com/ps2/puzzle.madmaestro/ printable—2856821.html. Retrieved on Jun. 19, 2012. 9 pages. |
Mad Maestro: The First Orchestra-conducting Sim on US Soil—Is It All It Could Have Been? by David Smith. Retrieved from the Internet http://ps2.ign.com/articles/3551355561 p1.html. Retrieved on Jun. 8, 2012. 6 pages. |
Microsoft Office Online Clip Art, http://office.microsoft.com/en-us/clipart/results.aspx?Scope=MC,MM,MP,MS&PoleAssetID=MCJ04316180000&Querty=Icon s&CTT=6&Origin=EC01017435m (Feb. 21, 2007) (1 page). |
Microsoft PowerPoint Handbook, (1 page) (1992). |
Mojib Ribbon Playtest by Anoop Gantayat. Retrieved from the Internet: htto://os2.ion.com/articles/442/442204p1.html. Retrieved on Jun. 8, 2012. 4 pages. |
Mojib Ribbon—Review. Retrieved from the Internet: www.ntsc-uk.com/review.php?platform=ps2&game=MoiibRibbon. Retrieved on Jun. 14, 2012. 2 pages. |
Mojib Ribbon. Retrieved from the Internet: www.lik-sang.comIInfo.php?category=27&productsid=3805&PHPSESSID=b9eQca. Retrieved on Feb. 22, 2005. 1 page. |
Mojib Ribbon. Retrieved from the Internet: www.ncsxshop.com/cgi-bin/shop/SCPS. 11033.html. Retrieved on Jun. 14, 2012. 2 pages. |
NCSX.com; Game Synpopsys of Guitar Freaks and DrumMania Masterpiece Gold, with a date of Mar. 8, 2007, and with an Archive.org Wayback Machine Verified date of May 17, 2007, downloaded from http://web.archiv.org/web/20070517210234/http://www.ncsx.com/2007/030507/guitarfreaks—gold.htm (4 pages). |
Non-Final Office Action as issued by The United States Patent and Trademark Office for U.S. Appl. No. 12/474,899, dated Jan. 19, 2011, 7 pages. |
PaRappa the Rapper 2. Retrieved from the Internet:www.amazon.com/exec/obidos/tg/deteil/-/B00005UNWD/ 104-4695527-8827110. Retrieved on Feb. 22, 2005. 2 pages. |
PaRappa The Rapper Review by Jer Horwitz. Retrieved from the Internet: www.gamespot.com/pslpuzzlel parappatherapper/printable—2548866.html. Retrieved on Jun. 14, 2012. 9 pages. |
Parappa the Rapper. Retrieved from the Internet: wvvw.estarland.com/index.asp?page=Playstation&cat=F&product=6871&q. Retrieved on Jun. 11, 2012. 2 pages. |
Parappa The Rapper: PaRapper the Rapper Is finally here, but does it live up to the hype? by Adam Douglas. Retrieved from the Internet http://psx.ign.com/articlesl150/150490p1.html. Retrieved on Jun. 8, 2012. 2 pages. |
PopCap Games Site Review via www.download-free-games.com, retrieved on Mar. 3, 2006. Retrieved from the Internet <URL:http7Avww.download-free-games.com/reviews/popcap—games.htm>. 2 pages. |
Ramsey, A. Guitar Freaks and Drum Mania Masterpiece Gold FAQ v. 1.04, Apr. 2, 2007, downloaded from http://www.gamefaqs.com/console/ps2/file/937670/47326. 3 pages. |
RedOctane. “Guitar Hero 2 Manual” Activision Publishing, Inc. (2006) (13 pages). |
Rez PlayStation^. Retrieved from the internet: http://global.yesasia.com/en/PrdDept.aspx/ pjd-1002847668. Retrieved on Jun. 14, 2012. 1 page. |
Rez Review by Jeff Gerstmann. Retrieved from the Internet:www.qamespot.com/ps2/action/rez/printable 2838815.html. Retrieved on Jun. 11, 2012. 9 pages. |
Rez. Retrieved from the Internet: www.estarland.com/playstation2.product.5426.html. Retrieved on Jun. 14, 2012. 2 pages. |
Rez: You May Not Understand This Review. We May Not Either. But you should certainly play this game by.David Smith. Retrieved from the Internet: http://m.ign.com/articles/2002/01/09/rez. Retrieved on Jun. 11, 2012. 3 pages. |
SingStar Party (SingStar2) Bundle. Retrieved from the Internet: www.gameswarehouse.com.Au/longpage.asp?gameid=10329. Retrieved on Feb. 22, 2005. 2 pages. |
SingStar Party. Retrieved from the Internet: www.argos.co.uk/Webapp/wcs/stores/servlet/ProductDisplay?storeId=10001&langld. Retrieved on Feb. 22, 2005. 1 page. |
SingStar Review (PS2) by James Hamer-Mortonl. Retrieved from the Internet http://ps2.twomtown.net/en uk/articles/ art.print.php?id=5279. Retrieved on Jun. 11, 2012. 5 pages. |
SingStar Review by Luke Van Leuveren. Retrieved from the Internet http://palgn.com.aii/article.php7id-1282. Retrieved on Jun. 11, 2012. 5 pages. |
Space Channel 5 Special Edition Review by Brad Shoemaker. Retrieved from the Internet: www.gamespot.corn/ps2/puzzle/spacecriannel5pait2/printeble—6085137.h Retrieved on Jun. 11, 2012. 10 pages. |
Space Channel 5. Retrieved from the Internet: www.lik-sang.com/info.php?products—is=2050 &likref=fro—gle4. Retrieved on Feb. 22, 2005. 1 page. |
Space Channel 5: Description. Retrieved from the Internet: www.buyritegames.com/product—information.asp?rc=frgl&number=DC-SPACEC5. Retrieved on Feb. 22, 2005. 1 page. |
Space Channel 5: Special Edition by Jason Thompson. Retrieved from the Internet www.popmattere.corn/ mulumerJia/reviews/s/space-channel-5.shtml. Retrieved on Jun. 8, 2012. 2 pages. |
Taiko Drum Master Review by Justin Calvert. Retrieved from the Internet: www.gamespot.com/ps2 puzzie/taikodrummaster/printable—6111767.html. Retrieved on Jun. 14, 2012. 10 pages. |
Taiko Drum Master w/ Drum. Retrieved from the Internet: www.ebgames.com/ebx/product/244015.asp. Retrieved on Jun. 14, 2012. 2 pages. |
Taiko no Tatsujin. Retrieved from the Internet htlpy/games.channel.aol.com/review.adp?qameID-7569. Retrieved on Feb. 22, 2005. 3 pages. |
Thalmann, “L'animation par ordinateur” http://web.arch ive.org/web/20060421045510/http://vrlab.epfl.ch/{thalmann/CG/infog r.4.pdf>, Apr. 21, 2006 (52 pages). |
Vib Ribbon (PSX): Homepage, Screenshots by James Anthony. http://www.vib-ribbon.com/vibhtml/english/index.html. Retrieved on Jun. 14, 2012. 1 page. |
Vib-Ribbon (Import) Review by Jeff Gerstmann. Retrieved from the Internet: www.gamespot.com/ps /puzzle/vibribbon/printabte 2550100.html. Retrieved on Jun. 14, 2012. 9 pages. |
Vib-Ribbon. Retrieved from the Internet: www.ncsxshop.com/cgi-bin/shop/SCPS-45469.html. Retrieved on Feb. 22, 2005. 1 page. |
Video MJ the Experience Kinect: announce—Oct. 2010: (http://www.youtube.com/watch?v=xLbiPicu0MM). |
Video “Dance Online—Dance lessons gameplay” <http://www.youtube.com/watch?v=B4phOjfVNLk>. Last accessed on Nov. 8, 2012. |
Video <http://www.bing.com/videos/search?q=dance+instruction+game&mid=E69356CFA1B6719FF5C8E69356CFA1B6719FF5C8&view=detail&FORM=VIRE5> (uploaded Jul. 27, 2010). |
Video Alvin and The Chipmunks Chipwrecked—Majesco Sales: release—Nov. 2011 (http://www.youtube.com/watch?v=xKeW3CUt14A&feature=related). |
Video Dream Dance & Cheer (Released Sep. 13, 2009 for Wii) <http://www.youtube.com/watch?v=oi9vQjT1x5Q>. |
Video Just Dance—Ubisoft Paris; <http://www.youtube.com/watch?v=t7f22xQCEpY>; (Nov. 17, 2009). |
Video Just Dance 2—Ubisoft; <http://www.youtube.com/watch?v=kpaW9sM—M2Q> (Oct. 12, 2010). |
Video Just Dance 2: Oct. 2010 (http://youtu.be/2ChliUgqLtw). |
Video Just Dance: Nov. 2009 (http://youtu.be/rgBo-JnwYBw). |
Video Kidz Bop Dance Party! The Video Game (Released Sep. 14, 2010 on Wii) <http://www.youtube.com/watch?v=18VD9EvFdeM>. |
Video Let's Cheer—Take 2 Interactive: release—Nov. 2011; announce—Jun. 2011 (http://www.youtube.com/watch?v=uv1IMB1w2Dw&feature=related). |
Video MJ—Paris Week game demo—Oct. 29, 2010 http://www.dailymotion.com/video/xfg4oe—pgw-10-michael-jackson-experience-kinect—videogames?start=13#from=embed <http://www.dailymotion.com/video/xfg4oe—pgw-10-michael-jackson-experience-kinect—videogames?start=13>. |
Video MJ the Experience Wii: Nov. 2010 (http://www.youtube.com/watch?v=8ZA59JY8Y—w). |
Video MJ:TE Kinect from Aug. 19, 2010 at <http://www.youtube.com/watch?v=6AjGmSnN6gQ>; Michael Jackson The Experience Video Game—Kinect for Xbox 360—Gamescom 2010 HD. |
Video MJ:TE on Wii (Nov. 2010); <http://www.youtube.com/watch?v=gmIMNGWxgvo>. |
Video N.Y. Comic Con '10—Billie Jean Gameplay Demo: http://www.gametrailers.com/video/nycc-10-michael-jackson/706056. (Oct. 13, 2010). |
Video Tokyo Game Show '10—‘Every Step’ Trailer: http://www.gametrailers.com/video/tgs-10-michael-jackson/704548 (Sep. 15, 2010). |
Video Victorious: Time to Shine—D3 publishers: Dec. 22, 2011 (http://www.youtube.com/watch?v=ud690K02KGg&feature=fvst). |
Video We Cheer 2 (Released Nov. 3, 2009 for Wii). Retrieved from http://www.youtube.com/watch?v=-4oalxqnbll. |
Virginia Tech Multimedia Music Dictionary: “P: Phrase” Virginia Tech University, http://www.music.vt.edu/musicdictionary/textp/Phrase.html. Retrieved May 25, 2011 (7 pgs.). |
U.S. Appl. No. 12/913,493, filed Oct. 27, 2010 (69 pages). |
U.S. Appl. No. 29/393,964, filed Jun. 10, 2011 (2 pages). |
U.S. Appl. No. 29/393,967, filed Jun. 10, 2011 (2 pages). |
U.S. Appl. No. 29/393,968, filed Jun. 10, 2011 (2 pages). |
U.S. Appl. No. 29/393,970, filed Jun. 10, 2011 (2 pages). |
U.S. Appl. No. 29/393,973, filed Jun. 10, 2011 (2 pages). |
U.S. Appl. No. 29/393,975, filed Jun. 10, 2011 (2 pages). |
Video: Michael Jackson The Experience—Wii—Remember the Time Gameplay Reveal [North America]. Available at https://www.youtube.com/watch?v=1u2XUPUIThU, 3 pgs. (Nov. 19, 2010). |
Dancing with the Stars Game Manual, 1 pg. (Oct. 23, 2007). |
Dance Dance Dance Revolution Max, Game Manual, released in the US by Konami Corporation, Oct. 29, 2002 (2 pages). |
Taiko Drum Master Game Manual, Release Date Oct. 24, 2004 (18 pages). |
Number | Date | Country | |
---|---|---|---|
61354073 | Jun 2010 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13158050 | Jun 2011 | US |
Child | 13250322 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13250322 | Sep 2011 | US |
Child | 13828035 | US | |
Parent | 12940794 | Nov 2010 | US |
Child | 13158050 | US |