Title:
JUMP AND BOB INTERFACE FOR HANDHELD MEDIA PLAYER DEVICES
Kind Code:
A1


Abstract:
A system and method is provided for implementing a portable media player that enables rhythmic exercise games to be performed by the user. In one embodiment a user may bob and/or jump along with a playing musical media file and be awarded points based upon the number, rate, magnitude, frequency of the bobbing and/or jumping. In another embodiment a user may bob and/or jump along with a playing musical media file and be awarded points based upon a level of rhythmic synchronicity with the playing musical media file. In this way a user may listen to music, while bobbing and/or jumping along with the music, and have an aerobic exercise gaming experience.



Inventors:
Rosenberg, Louis B. (Pismo Beach, CA, US)
Application Number:
11/749137
Publication Date:
09/13/2007
Filing Date:
05/15/2007
Assignee:
OUTLAND RESEARCH, LLC (Post Office Box 3537, Pismo Beach, CA, US)
Primary Class:
Other Classes:
463/39
International Classes:
A63F9/24
View Patent Images:



Primary Examiner:
VO, PETER DUNG BA
Attorney, Agent or Firm:
SINSHEIMER JUHNKE LEBENS & MCIVOR, LLP (1010 PEACH STREET P.O. BOX 31, SAN LUIS OBISPO, CA, 93406, US)
Claims:
What is claimed is:

1. A system for implementing a jump and bob rhythm game, comprising: a motion sensor that detects motions imparted by a user on a portable media player device and generates a corresponding motion signal; and a portable media player device to play a musical audio file to a user, receive the corresponding motion signal, and moderate an exercise game, the exercise game awarding points to the user based at least in part upon a determined level of rhythmic synchronicity between the user motions imparted upon the portable media player and play of a musical audio file, wherein the portable media player device is also operative to output a game score to the user in at least one of a visual and audio format.

2. The system of claim 1, further comprising awarding the points of the game score based also on at least one of a magnitude of the detected motions, and number of the detected motions.

3. The system of claim 1, wherein the motion sensor comprises an accelerometer.

4. The system of claim 1, wherein the motions comprises at least one of a jump and a bob.

5. The system of claim 1, further comprising awarding the points based also on at least one of a number, frequency, and rate of detected characteristic bob motions.

6. The system of claim 5, wherein each of the detected characteristic bob motions comprise a physical motion by which the user is standing and flexes or extends the user's knees in rapid succession, raising and lowering the user's center of mass while maintaining foot contact with a surface.

7. The system of claim 1, further comprising awarding the points based also on at least one of a number, frequency, and rate of detected characteristic jump motions.

8. The system of claim 7, wherein each of the detected characteristic jump motions comprise a physical motion by which the user extends the user's legs with sufficient force and speed to temporarily lift the user's body off of a surface.

9. The system of claim 1, wherein the motion sensor is integrated within the portable media player device.

10. The system of claim 1, wherein the motion sensor is in communication with the portable media player device.

11. The system of claim 4, wherein the portable media player device is adapted to determine whether the motion comprises at least one of the jump and the bob by detecting a characteristic profile within the corresponding motion signal.

12. The system of claim 1, wherein the portable media player is adapted to generate and play output musical instrument sounds in response to at least one of a detected bob motion and a detected jump motion imparted by the user upon the portable media player.

13. The system of claim 12, wherein the portable media player is adapted to generate and play a sound of a first musical instrument in response to a detected bob motion imparted by the user upon the portable media player and is adapted to generate and play a sound of a second musical instrument in response to a detected jump motion imparted by the user upon the portable media player.

14. The system of claim 1, wherein the portable media player is configured to repeatedly output a substantially current score to the user in verbal form as an audio signal that is played in combination with the play of the musical audio file.

15. The system of claim 1 wherein the portable media player is configured to store in memory a plurality of musical audio files, and store, in relational association with each of the plurality of musical audio files, a score generated by the user when playing the rhythm game using that musical audio file.

16. A method for implementing a jump and bob rhythm game, comprising: playing a musical audio file to a user using a portable media player; detecting physical motions of the portable media player with a motion sensor that generates motion signals in response to user imparted motions of the portable media player; and moderating an exercise game, the exercise game awarding points to the user based at least in part upon a determined level of rhythmic synchronicity between the user imparted motions of the portable media player and play of the musical audio file, wherein the portable media player is also operative to output a game score the user in at least one of a visual and audio format.

17. The method of claim 16, wherein awarding the points of the game score is further based on at least one of a magnitude of the detected motions, and number of the detected motions.

18. The method of claim 16, wherein the motions comprise at least one of a jump and a bob.

19. The method of claim 18, wherein the jump comprises a physical motion by which the user extends the user's legs with sufficient force and speed to temporarily lift the user's body off of a surface.

20. The method of claim 18, wherein the bob comprises a physical motion by which the user is standing and flexes or extends the user's knees in rapid succession, raising and lower the user's center of mass while maintaining foot contact with a surface.

21. The method of claim 18, wherein the moderating the rhythm game comprises determining whether the physical motions comprise at least one of the jump and the bob by detecting a characteristic profile within the corresponding motion signals.

22. The method of claim 18, further comprising awarding the points based also on at least one of a number, frequency, and rate of detected characteristic bob motions.

23. The method of claim 18, further comprising awarding the points based also on at least one of a number, frequency, and rate of detected characteristic jump motions.

24. The method of claim 16, wherein the portable media player is adapted to generate and play output musical instrument sounds in response to at least one of a detected bob motion and a detected jump motion imparted by the user upon the portable media player.

25. The method of claim 24, wherein the portable media player is adapted to generate and play a sound of a first musical instrument in response to a detected bob motion imparted by the user upon the portable media player and is adapted to generate and play a sound of a second musical instrument in response to a detected jump motion imparted by the user upon the portable media player.

26. The method of claim 24, wherein the portable media player is configured to repeatedly output a substantially current score to the user in verbal form as an audio signal that is played in combination with the playing musical audio file.

27. The method of claim 24, wherein the portable media player is configured to store in memory a plurality of musical audio files, and store in relational association with each of the plurality of musical audio files, a score generated by the user when playing the rhythm game using that musical audio file.

28. A portable media player for playing music and implementing a jump and bob rhythm game, comprising: a user affixable portion for affixing to the body of a user; a motion sensor that detects motions imparted by the user and generates a corresponding motion signal; a speaker to emit sounds corresponding to a played musical audio file; and a processor to play the musical audio file to a user, receive the corresponding motion signal, and moderate an exercise game, the exercise game awarding points to the user based at least in part upon a determined level of rhythmic synchronicity between the user motions and the play of the musical audio file, the portable media player also operative to output a game score the user in at least one of a visual and audio format.

29. The portable media player of claim 28, wherein the processor is adapted to determine whether the motions comprise at least one of a jump motion and a bob motion of the user.

30. The portable media player of claim 29, wherein the processor awards the points based also on at least one of a number, frequency, and rate of detected characteristic bob motions.

31. The portable media player of claim 29, wherein the processor awards the points based also on at least one of a number, frequency, and rate of detected characteristic jump motions.

32. The portable media player of claim 28 wherein the portable media player is adapted to generate and play output musical instrument sounds in response to at least one of a detected bob motion and a detected jump motion imparted by the user.

33. The portable media player of claim 32 wherein the portable media player is adapted to generate and play a sound of a first musical instrument in response to a detected bob motion and is adapted to generate and play a sound of a second musical instrument in response to a detected jump motion.

34. The portable media player of claim 28 wherein the portable media player is configured to repeatedly output a substantially current score to the user during a period of the rhythm game.

35. A portable media player for playing music and implementing a jump and bob exercise game, comprising: a user affixable portion for affixing to the body of a user; a motion sensor that detects motions imparted by the user and generates a corresponding motion signal; a speaker to emit sounds corresponding to a played musical audio file; a processor to play the musical audio file to a user, receive the corresponding motion signals, and moderate an exercise game, the exercise game awarding points to the user based at least in part upon at least one of a number, frequency, and rate of detected characteristic bob motions imparted by the user, wherein the portable media player is also operative to output a game score the user in at least one of a visual and audio format.

36. The portable media player of claim 35, wherein the points are awarded based also upon a determined magnitude of each of a plurality of detected bob motions.

37. The portable media player of claim 35, wherein the points are awarded based also upon a determined level of rhythmic synchronicity between a plurality of detected bob motions and the playing musical content of the musical audio file.

38. A portable media player for playing music and implementing a jump and bob exercise game, comprising: a user affixable portion for affixing to the body of a user; a motion sensor that detects motions imparted by the user and generates a corresponding motion signal; a speaker to emit sounds corresponding to a played musical audio file; a processor to play the musical audio file to a user, receive the corresponding motion signals, and moderate an exercise game, the exercise game awarding points to the user based at least in part upon at least one of a number, frequency, and rate of detected characteristic jump motions imparted by the user, wherein the portable media player is also operative to output a game score the user in at least one of a visual and audio format.

39. The portable media player of claim 38, wherein the points are awarded based also upon a determined magnitude of each of a plurality of detected jump motions.

40. The portable media player of claim 38, wherein the points are awarded based also upon a determined level of rhythmic synchronicity between a plurality of detected jump motions and the playing musical content of the musical audio file.

41. The portable media player of claim 39, wherein the magnitude of a detected jump is determined at least in part upon an determined airtime for the jump.

Description:

RELATED APPLICATION DATA

This application claims priority to provisional application Ser. No. 60/814,981, filed Jun. 19, 2006, the disclosure of which is hereby incorporated by reference herein in its entirety; this application is a continuation-in-part and claims benefit and priority to the applicant's co-pending non-provisional patent application Ser. No. 11/298,434 entitled “Device, System, and Method for Outdoor Computer Gaming,” filed on Dec. 9, 2005, which claims priority to provisional patent application Ser. No. 60/648,157, filed on Jan. 28, 2005, the disclosures of which are hereby incorporated by reference in their entirety; this application is a continuation-in-part and claims benefit and priority to the applicant's co-pending non-provisional patent application Ser. No. 11/367,178, entitled “Ambulatory Based Human-Computer Interface,” filed on Mar. 2, 2006, which claims priority to provisional patent application Ser. No. 60/683,020, filed on May 19, 2005, the disclosures of which are hereby incorporated by reference in their entirety; this application is a continuation-in-part and claims benefit and priority to the applicant's co-pending non-provisional patent application Ser. No. 11/555,784, entitled “Shake-Jamming Interface for Handheld Media Players,” filed on Nov. 2, 2006, which claims priority to provisional patent application Ser. No. 60/751,267 filed on Dec. 16, 2005, the disclosures of which are hereby incorporated by reference in their entirety; this application is a continuation-in-part and claims benefit and priority to the applicant's co-pending non-provisional patent application Ser. No. 11/427,320, entitled “Gait Responsive Portable Media Player,” filed on Jun. 28, 2006, which claims priority to provisional patent application Ser. No. 60/765,856, filed on Feb. 7, 2006, the disclosures of which are hereby incorporated by reference in their entirety; this application also claims priority to provisional patent application Ser. No. 60/815,655, filed on Jun. 21, 2006, the disclosure of which is hereby incorporated by reference in its entirety.

FIELD OF THE APPLICATION

The present invention relates generally to portable media players and exercise based gaming devices and, more specifically, to a jumping and bobbing based aerobic exercise experience and game application enabled upon portable media players that also play music.

BACKGROUND

Electronic Media Players have become popular personal entertainment devices due to their highly portable nature and interconnectivity with existing computer networks, for example the Internet. The accessibility and simplicity in downloading music and other electronic media continues to fuel the popularity of these devices as is exemplified by Apple Computer, Inc.'s highly successful iPod™ portable media player. Recent models also allow for the storage and display of personal photos allowing users to carry about a photo album stored in memory of the media player. Other manufacturers have competing Media Players offering various functionalities and file playing compatibilities in an effort to differentiate their products in the marketplace.

As discussed in U.S. Patent Application Publication No. 2004/0224638, Ser. No. 10/423,490 to Fadell, et al., assigned to Apple Computer, Inc., the disclosure of which is herein incorporated by reference in its entirety, an increasing number of consumer products are incorporating circuitry to play musical media files and other electronic media. Additional embodiments of media players are disclosed in the current applicant's co-pending U.S. patent application Ser. No. 11/267,079, filed Nov. 3, 2005, as well as the applicant's co-pending U.S. Provisional Application Ser. Nos. 60/648,197, filed on Jan. 27, 2005; 60/665,291, filed on Mar. 26, 2005; 60/651,771, filed on Feb. 9, 2005; and 60/756,856, filed on Feb. 7, 2006. The aforementioned provisional and non-provisional patent applications are all hereby incorporated by reference in their entirety.

For example, many portable electronic devices such as cellular telephones and personal digital assistants (PDAs) include the ability to play electronic musical media in many of the most commonly available file formats including Moving Picture Experts Group-1 (“MPEG-1”) Audio Layer 3 (“MP3”), Audio Video Interleave (“AVI”), Waveform audio format (“WAV”), Moving Picture Experts Group (“MPG”), Quicktime (“QT”), Windows™ Media Audio (“WMA”), Audio Interchange File Format (“AIFF”), Audio (“AU”), Real Audio Media (“RAM”), Real Audio (“RA”), Movie files (“MOV”), Musical Instrument Digital Interface (“MIDI”), among others.

In the relevant art, portable media players enable users to listen to music as digital audio files and/or as part of digital video files, selecting media items from memory and playing the media files such that the audio content can be listened to through headphone or speakers. Such listening activities however are passive, relegating the user to being a listener of the music content but does not allow the user to coordinate his or her physical motions with the music in a computer moderated way that quantifies actions and awards a score.

SUMMARY

Embodiments of the present invention comprise methods, apparatus, and computer program products that enable aerobic exercise rhythm games to be played upon portable media player devices that play music to users. Embodiments of the present invention comprise an accelerometer and/or other similar motion sensor device integrated into and/or physically connected to a portable media player device such that it detects motions imparted by the user upon the portable media player as the user bobs and jumps. As defined herein, a “bob” is a bodily motion in which a standing user flexes and extends his or her knees in rapid succession, thereby raising and lowering his or her center of mass without losing physical foot contact with the ground. As defined herein a “jump” is a bodily motion in which a standing user extends his legs with enough force and speed to lift his body off the ground for a momentary period of time. As the user bobs and/or jumps, thereby moving the media player device up and down, the sensor and supporting hardware and/or software of embodiments of the present invention determine the rhythm at which the user performs the bobs and jumps as well as the magnitude of each bob and/or jump.

Embodiments of the present invention are further operative to award points to the user for the magnitude of the bobs and/or jumps performed, the number of bobs and/or jumps performed, and/or the synchronicity of the rhythm of the bobs and/or jumps performed with an audible rhythm present within a current playing media file. In addition, embodiments of the present invention are operative to monitor the sequence of bobs and jumps performed by the user and award points accordingly. In this way a user may listen to a musical media file, bobbing and jumping to the rhythm of the music and be awarded assessment points for the magnitude, number, sequence, and/or synchronicity of the physically motions performed by the user concurrently with a playing musical file played by the media player. In some embodiments extra points are awarded for syncopation, accents, and/or other complex motions imparted in rhythm with the playing music. In this way, embodiments of the present invention add an entertaining aerobic physical activity to the ordinarily passive experience of listening to music with a portable media player. In addition, some embodiments of the present invention may be configured to generate musical sounds, such as percussion instrument sounds, in response to user bobs and/or jumps, the musical sounds being played through a portable media player in audio combination with the playing music file.

A media player system according to the present invention includes an accelerometer or other similar motion sensing device for collecting data representative of user bobbing and/or jumping actions. The media player also includes software for processing the sensor data, determining if a characteristic bobbing and/or jumping action was imparted by the user, assessing the rhythm characteristics of the bobbing and/or jumping, comparing the rhythm characteristics of the bobbing and/or jumping with one or more rhythm characteristics associated with a currently playing media file, and, in response to the assessments and/or comparisons, awards scoring values to the user. In addition, in some embodiments of the present invention the software also is operative in response to a detected characteristic bobbing and/or jumping action, to play computer generated instrument sounds, in sonic combination with a musical piece being played from memory of the portable media player.

In some embodiments, the greater the magnitude of the detected bobbing and/or jumping actions imparted by the user, the greater a score increment value awarded to the user. In some embodiments, the larger the number of the detected bobbing and/or jumping actions imparted by the user, the greater the score awarded to the user.

According to some embodiments, the longer duration of the detected bobbing and/or jumping actions imparted by the user, the greater the score awarded to the user. In some embodiments, the greater the air-time detected during a detected jumping action imparted by the user, the greater a score increment value awarded to the user.

In some embodiments, the greater synchronicity between the detected rhythm present in a sequence of detected bobs and/or jump actions and the rhythm present within a currently playing musical file, the greater a score increment value awarded to the user. According to some embodiments, the longer the duration of maintained substantial synchronicity between the detected rhythm present in a sequence of detected bobs and/or jump actions and the rhythm present within a currently playing musical file, the greater a score increment value awarded to the user.

In some embodiments the “synchronicity” means that the bobs and/or jumps fall substantially at the same moment in time as primary beats present within the currently playing musical file. According to some such embodiments, the shorter the time difference between a detected bob and/or jump and a determined primary beat in the musical media file, the greater the score increment value awarded to the user.

In some embodiments the “synchronicity” means that sequential bobs and/or jumps fall substantially at the same time interval between them as the time interval between primary beats present within the currently playing musical file. In some such embodiments, the shorter the time difference between a detected bob and/or jump time interval and a time interval between primary beats in the musical media file, the greater the score increment value awarded to the user.

According to some embodiments the “synchronicity” is a combination of both the aforementioned moment in time assessment and time interval assessment above. For example, the shorter the time difference between a detected bob and/or jump time interval and a time interval between primary beats in the musical media file, the greater the score increment value awarded to the user. Furthermore, the greater the correspondence in time between the bob and jump events and the primary beat events, the even greater the score increment value awarded to the user.

In some embodiments the primary beat present within a currently playing media file is determined based upon a data segment relationally associated with the media file. For example, a data segment indicating the number of Beats Per Minute (or BPM) of the media file may be used to determine the rate of the primary beat. In addition, a time stamp, time flag, or other synchronizing data point may be used to indicate when in time the beat sequence began. In some such embodiments a primary beat present within a currently playing media file is determined based upon a time varying rhythm file that is associated with and/or integrated within the currently playing music media file.

According to some such embodiments, a primary beat present within a currently playing media file is determined by an assessment of the musical content of the musical file through a signal processing routine. In one such embodiment the detected presence of a base drum sound above a certain intensity magnitude is used to determine a primary beat of the musical media piece. In other such embodiments a primary beat present within a currently playing media file is determined by detection of the presence of a snare drum sound above a certain intensity magnitude.

In some embodiments, the presence of a particular sequence of bobs and jumps are used in determining a score increment value awarded to the user. According to some embodiments, the ratio of bobs to jumps is used in determining a score increment value awarded to the user. In some such embodiments the greater the proportion of jumps the higher the score.

In some embodiments, a musical sound is played by the media player in response to a detected bob and/or jump, in audio combination with the currently playing media file. In some such embodiments the volume and/or duration of the sound is determined at least in part upon a magnitude of the bob and/or jump. In some such embodiments the volume and/or duration of the sound is determined based at least in part upon an air-time of a detected jump. In some embodiments a different musical instrument sound is selected based upon whether the imparted action was determined to be a bob or a jump.

According to some embodiments of the present invention, an accelerometer is affixed within the casing of the portable media player, the accelerometer providing acceleration data representing accelerations imparted upon the portable media player itself. In some embodiments the software of the present invention is configured to recognize a profile of acceleration data collected over a period of time indicative of a user bobbing and/or jumping when the portable media player is affixed to his or her waist or held within his or her pocket. This acceleration profile can be recognized as accelerations above a certain threshold and/or changing direction within certain timing characteristics. A positive and negative threshold may be set such that the acceleration value must exceed both the positive and negative thresholds within a certain time period for the deliberate user bobbing and/or jumping to be determined. The acceleration data exceeding the positive and negative threshold within a certain amount of time may be used to determine that the user has imparted a single up-down bob or jump upon the portable media player.

As described herein a profile of acceleration collected over a period of time that is indicative of the user imparting a single bob upon the portable media players is referred to as a “characteristic bob acceleration profile.” As described herein a profile of acceleration collected over a period of time that is indicative of the user imparting a single jump upon the portable media players is referred to as a “characteristic jump acceleration profile.” In general, a characteristic bob acceleration profile can be easily distinguished from a characteristic jump acceleration profile of the present invention by virtue of (a) a jump acceleration profile is generally of higher magnitude, and/or (b) a jump acceleration profile will have vertical acceleration values reading approximately 0 g's when the jumper is in the air. Thus while the acceleration profile of a bob may include quick transitions through 0 g's of vertical acceleration, only acceleration profiles of a jump will show extended periods of approximately 0 g's of vertical acceleration, such extended periods corresponding to the time during which the user is airborne and thus not contacting the ground. Thus, by detecting an extended air-time such as, for example, of more than 150 milliseconds, a jump may be distinguished from a bob by the routines of the present invention. Furthermore, the longer the air-time detected in a jump, the higher it may be inferred that the user jumped. Thus, by detecting the air-time based upon the vertical acceleration readings, embodiments of the present invention may distinguish between bobs and jumps and may quantify the relative and/or approximate height of the jump.

According to some embodiments of the present invention, methods are provided for storing historical scores of user performance upon the memory of the portable media player. In some such embodiments, scores may be stored in relational association to the particular song or songs listened to by the user while performing the bobbing and jumping exercise activity. In this way a user may store his or her performance scores for bobbing and jumping exercise activity with respect to particular songs. In some embodiments a user may store his or her performance scores for bobbing and jumping exercise activity with respect to particular playlists of songs. Thus, embodiments of the present invention provide unique methods of storing user performance assessments of exercise activity in relational association with the particular song or series of songs listened to during the exercise activity. In this way a user can listen to the same songs over numerous sessions and compare performance changes over time.

Thus, embodiments of the present invention are configured to enable a portable media player to detect, distinguish, and quantify bobs and jumps performed by a user when performing an aerobic exercise activity while listening to music from the media player. In this way, the methods, apparatus, and computer program products of embodiments of the present invention enable a user to be awarded a score based upon the number, magnitude, and/or sequence of bobs and jumps performed while listening to a musical piece. In addition, embodiments of the present invention enable a user to be awarded a score based upon the synchronicity of the timing of the bobs and jumps with primary rhythm elements of the musical piece being played.

The above summary of the present invention is not intended to represent each embodiment or every aspect of the present invention. The detailed description and figures will describe many of the embodiments and aspects of the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects, features and advantages of the present embodiments will be more apparent from the following more particular description thereof, presented in conjunction with the following drawings wherein:

FIG. 1 illustrates a generalized block diagram of a portable media player according to at least one embodiment of the invention;

FIG. 2 illustrates a portable media player equipped with an accelerometer internal to the casing according to at least one embodiment of the invention;

FIG. 3 illustrates an example embodiment of how a media player may be worn or otherwise affixed to the body of a user such that it can detect the bobbing and jumping motions described herein according to at least one embodiment of the invention;

FIG. 4 illustrates time varying acceleration data, from an accelerometer sensor, representing accelerations imparted by the user during bobbing and/or jumping actions according to at least one embodiment of the invention; and

FIG. 5 illustrates an example flow chart for an example bob and jump responsive media player exercise rhythm game routine according to at least one embodiment of the invention.

Corresponding reference characters indicate corresponding components throughout the several views of the drawings. Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of various embodiments of the present invention. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments of the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention are directed to methods, apparatus, and computer program products that enable aerobic exercise rhythm games to be played upon portable media player devices. The embodiments comprise an accelerometer and/or other similar motion sensor device integrated into and/or physically connected to a portable media player device such that it detects motions imparted by the user upon the portable media player. As the user bobs and/or jumps his body up and down, thereby moving the media player device, the sensor and supporting hardware and/or software of embodiments of the present invention determine the rhythm at which the user performs the bobs and jumps as well as the magnitude of each bob and/or jump. The embodiments of the present invention are further operative to award points to the user for the magnitude of the bobs and/or jumps, the number of bobs and/or jumps, and/or the synchronicity of the rhythm of the bobs and/or jumps with an audible rhythm present within a current playing media file. In addition, the embodiments are also operative to monitor the sequence of bobs and jumps and award points accordingly. In this way a user may listen to a musical media file, bobbing and jumping to the rhythm of the music and be awarded points for the magnitude, number, sequence, and/or synchronicity of the physically motions performed by the user concurrently with a playing musical file played by the media player. In some embodiments extra points are awarded for syncopation, accents, and/or other complex motions imparted in rhythm with the playing music. In this way, the embodiments of the present invention add an entertaining physical activity to the ordinarily passive experience of listening to music with a portable media player. In addition, some embodiments of the present invention are configured to generate musical sounds in response to user bobs and/or jumps, the musical instrument sounds being played through a portable media player in audio combination with the playing music file.

Embodiments of the present invention turn a portable media player into a bob and jump detecting user interface through which a user can not only listen to music, but also bob and jump along with the music and have the media player quantify his or her physical actions and award a score based upon his or her physical actions. More specifically, embodiments of the present invention enable a user to physically jar the casing of the portable media player by bobbing and jumping his or her body as he or she listens to musical sounds, the timing and magnitude of the jarring imparted by the user affecting the assessment and scoring provided to the user. Some embodiments of the present invention also enable a user to generate musical sounds of rhythmic accompaniment such as drum sounds, tambourine sounds, and/or bell sounds, by manually bobbing and/or jumping along with the music. Thus, embodiments of the present invention address the needs of the prior art by providing a unique user interface method and apparatus that encourages an aerobic exercise experience by quantifying performance and assigning a score to a user as he or she bobs and/or jumps along with the music played by the media player.

As defined herein, a “bob” is a bodily motion in which a standing user flexes and extends his or her knees in rapid succession, thereby raising and lowering his or her center of mass without losing physical foot contact with the ground. As defined herein a “jump” is a bodily motion in which a standing user extends his legs with enough force and speed to lift his body off the ground for a momentary period of time. Thus, a bob and a jump are both physical motions in which a standing user raises and lowers his or her center of mass, the bob being a motion in which the user maintains foot-contact with the ground, the jump being a motion in which the user loses foot-contact with the ground. “Foot-contact” is understood that the actual contact may be through intervening members such as a shoe and sock. As defined herein, an aerobic exercise activity may be one in which a user performs an extended series of bobs and jumps, alone or in combination with arm motions and/or other body motions such as arm lifts and torso twists, thereby getting muscular and cardiovascular exercise.

Embodiments of the present invention comprise methods, apparatus, and computer program products that enable aerobic exercise rhythm games to be played upon portable media player devices that also play music to users. Embodiments of the present invention also comprise an accelerometer and/or other similar motion sensor device integrated into and/or physically connected to a portable media player device such that it detects motions imparted by the user upon the portable media player as the user bobs and jumps. As the user bobs and/or jumps, thereby moving the media player device up and down, the sensor and supporting hardware and/or software of the present invention determines the rhythm at which the user performs the bobs and jumps as well as the magnitude of each bob and/or jump. The embodiments are further operative to award points to the user for the magnitude of the bobs and/or jumps performed, the number of bobs and/or jumps performed, and/or the synchronicity of the rhythm of the bobs and/or jumps performed with an audible rhythm present within a current playing media file. In addition, embodiments of the present invention are operative to monitor the sequence of bobs and jumps performed by the user and award points accordingly. In this way a user may listen to a musical media file, bobbing and jumping to the rhythm of the music and be awarded assessment points for the magnitude, number, sequence, and/or synchronicity of the physically motions performed by the user concurrently with a playing musical file played by the media player. In some embodiments extra points are awarded for syncopation, accents, and/or other complex motions imparted in rhythm with the playing music. In this way, embodiments of the present invention add an entertaining aerobic physical activity to the ordinarily passive experience of listening to music with a portable media player. In addition, some embodiments of the present invention may be configured to generate musical sounds, such as percussion instrument sounds, in response to user bobs and/or jumps, the musical sounds being played through a portable media player in audio combination with the playing music file.

A wide variety of musical instrument sounds may be produced electronically by the media player (either algorithmically, based upon digital sound samples stored in memory, or a combination of the two), in response to user bobbing and/or jumping. For example, drums, bells, and tambourines are may be played in response to user bobbing and/or jumping, the timing and magnitude of the bobbing and/or jumping actions affecting the musical output. For example, bobbing and/or jumping actions imparted by the user may detected and used by software routines to trigger and control drum strike sounds, cymbal strike sounds, and other percussion sounds, the timing and magnitude of the simulated sounds being dependent upon the timing and magnitude of the imparted jumping and/or bobbing action on the portable media player. Thus, by using embodiments of the present invention, a user can play a simulated tambourine, bell, snare drum, or other instrument along with a musical piece that he or she is listening to upon his or her media player, the simulated instruments sounds being generated with a timing, volume, and sound quality that is dependent upon the timing and magnitude of the bobbing and/or jumping action imparted by the user upon the casing of the portable media player. In some such embodiments a different musical sound is mapped to a bob action of the user as compared to the musical sound mapped to a jump action of the user.

The media player system of embodiments of the preset invention includes an accelerometer or other similar motion sensing device for collecting data representative of user bobbing and/or jumping actions. The media player also includes software for processing the sensor data, determining if a characteristic bobbing and/or jumping action was imparted by the user, assessing the rhythm characteristics of the bobbing and/or jumping, comparing the rhythm characteristics of the bobbing and/or jumping with one or more rhythm characteristics associated with a currently playing media file, and in response to the assessments and/or comparisons, awards scoring values to the user. In general, such functions are controlled by control software running upon a processor of the portable media player. Where necessary, computer programs, algorithms and routines are envisioned to be programmed in a high level language object oriented language, for example Java™ C++, C#, or Visual Basic™.

FIG. 1 illustrates a generalized block diagram of a portable media player 100 according to at least one embodiment of the invention. The portable media player 100 includes a communications infrastructure 90 used to transfer data, memory addresses where data items are to be found and control signals among the various components and subsystems associated with the portable media player 100. A central processor 5 is provided to interpret and execute logical instructions stored in the main memory 10. The main memory 10 is the primary general purpose storage area for instructions and data to be processed by the central processor 5. The main memory 10 is used in its broadest sense and includes RAM, EEPROM and ROM. A timing circuit 15 is provided to coordinate activities within the portable media player in near real time and to make time-based assessments of sensor data collected by sensors on board (or interfaced to) the portable media player. The central processor 5, main memory 10 and timing circuit 15 are directly coupled to the communications infrastructure 90.

A display interface 20 is provided to drive a display 25 associated with the portable media player 100. The display interface 20 is electrically coupled to the communications infrastructure 90 and provides signals to the display 25 for visually outputting both graphics and alphanumeric characters. The display interface 20 may for example, display personal photographs access from memory of the portable media player. The display interface 20 may also, for example, display textual play lists of songs or other media items upon the portable media player. The display interface 20 may further, for example, display user interface controls and/or menus for interacting with the software of the portable media player. The display interface 20 may also, for example, provide a menu of available simulated instruments from which a user may select through graphical user interface options.

The display interface 20 may include a dedicated graphics processor and memory to support the displaying of graphics intensive media. The display 25 may be of any type (e.g., cathode ray tube, gas plasma) but in most circumstances will usually be a solid state device such as liquid crystal display.

A secondary memory subsystem 30 is provided which houses retrievable storage units such as a hard disk drive 35, a removable storage drive 40, an optional logical media storage drive 45 and an optional removal storage unit 50. One skilled in the art will appreciate that the hard drive 35 may be replaced with flash memory. The secondary memory may be used to store a plurality of media files, including but not limited to a plurality of digital songs. The removable storage drive 40 may be a replaceable hard drive, optical media storage drive or a solid state flash RAM device. The logical media storage drive 45 may include a flash RAM device, an EEPROM encoded with playable media, or optical storage media (e.g., CD or DVD). The removable storage unit 50 may be logical, optical or of an electromechanical (hard disk) design.

A communications interface 55 subsystem is provided which allows for standardized electrical connection of peripheral devices to the communications infrastructure 90 including, serial, parallel, Universal Serial Bus (“USB”), and Firewire™ connectivity. For example, a user interface 60 and a transceiver 65 are electrically coupled to the communications infrastructure 90 via the communications interface 55. The term “user interface” 60, as used herein, includes the hardware and operating software by which a user interacts with the portable media player 100 and the means by which the portable media player conveys information to the user and may include the display 25.

The transceiver 65 facilitates the remote exchange of data and synchronizing signals between the portable media player 100 and other devices in processing communications 85 with the portable media player 100. The other devices may include a remote sensor such as an accelerometer that is affixed to a particular body part of the user such as a limb, foot, hand, or head. The other devices may also include a portable media player of another user. Such communication with other devices may be used to enable multi-user rhythm gaming applications in which a plurality of users perform the bobbing and jumping together, data being exchanged between their media player devices to coordinate individual and/or joint scores.

The transceiver 65 may be of a radio frequency type normally associated with computer networks for example, wireless computer networks based on BlueTooth™ or the various IEEE standards 802.11x, where x denotes the various present and evolving wireless computing standards, for example WiMax 802.16 and WRANG 802.22. Alternately, digital cellular communications formats compatible with for example GSM, 3G and evolving cellular communications standards. Both peer-to-peer (“PPP”) and client-server models may also be utilized for implementation of the invention. In a third alternative embodiment, the transceiver 65 may include hybrids of computer communications standards, cellular standards and evolving satellite radio standards.

The user interface 60 employed on the portable media play 100 may include a pointing device (not shown) such as a mouse, thumbwheel or track ball, an optional touch screen (not shown); one or more push-button switches 60A, 60B; one or more sliding or circular rheostat controls (not shown) and one or more switches (not shown.) The user interface 60 provides interrupt signals to the processor 5 that may be used to interpret user interactions with the portable media player 100 and may be used in conjunction with the display 25. The user interface may also include one or more tactile feedback units (not shown) for providing tactile sensations to the user.

The user interface may also includes a specialized bob and jump interface unique to the present invention, the bob and jump interface being operative to detect if and when a user imparts a bob or jump motion upon the casing of the portable media player by physically moving his or her body in a characteristic up and down motion. The bob and jump interface generally includes one or more sensors 75 for detecting a up and down action imparted by the user upon the casing of the portable computing device. The sensors are supported by a sensor interface 70 which allows one or more sensors 75 to be operatively coupled to the communications infrastructure 90. The sensor interface 70 may monitor interactions with the user interface 60. For example, the sensor interface 70 may be used to monitor a user's interaction with the one or more push-button switches 60A, 60B. An interrupt circuit may be incorporated into the hardware supporting the communications infrastructure 90.

The sensors 75 for use in the bob and jump interface are generally installed within the case (not shown) housing the portable media player 100. The sensors generally include one or more devices for detecting a characteristic force and/or motion and/or acceleration imparted upon the casing of the portable media player 100 as a result of the user bobbing and/or jumping when the media player is affixed to the user. The most common sensor to be used in the bob and jump interface is an accelerometer. The accelerometer is operative to detect accelerations imparted by the user upon the casing of the portable media player. The accelerometer may be oriented to detect accelerations in one or more degrees of freedom. A multi-axis accelerometer may be used. In some embodiments, a single axis accelerometer is employed, with the axis of detection of the accelerometer being oriented along the lengthwise axis of the portable media player.

FIG. 2 illustrates a portable media player 200 equipped with an accelerometer 201 internal to the casing according to at least one embodiment of the invention. The accelerometer 201 is indicated by the dotted rectangle. The sensing axis of the accelerometer 201 is orientated to detect accelerations imparted by the user along the lengthwise axis of the media player. This sensing axis is indicated by arrow 202 in the FIG. Thus, when a user affixes the media player to his belt, torso, shirt, or other portion of his body such that it oriented upright when the user is in a normal standing position, the accelerometer 201 will be substantially oriented to detect up-down bobbing and/or jumping motions of the user. Thus, a user who bobs and/or jumps will impart accelerations on the media player in an up-down direction, the accelerations imparted in a direction roughly along the axis indicated by arrow 202. Such up down motions will impart accelerations upon the media player that are detected by sensor 201. The data from the sensor may be processed by software running upon the media player to determine if it meets certain characteristic profile requires. It should be noted that in some embodiments other sensing directions may be employed (for example, a multi-axis acceleration direction). In this way the sensor data may be processed to determine if characteristic bobbing or jumping motions have been performed by the user, as well as the magnitude and/or timing of the bobbing and/or jumping motions.

Referring back to FIG. 1, an audio subsystem 85 is provided and electrically coupled to the communications infrastructure 90. The audio subsystem 85 provides for the playback and recording of digital media, for example, multi or multimedia encoded in any of the exemplary formats MP3, AVI, WAV, MPG, QT, WMA, AIFF, AU, RAM, RA, MOV, MIDI, etc. The audio subsystem includes a microphone input port 95A for input of voice commands and a headphone, headset, ear buds or speaker output 95B. Connection of the microphone 95A and/or headphones 95B includes both traditional cable and wireless arrangements such as BlueTooth™ are known in the relevant art. As referred to herein, “media” refers to video, audio, streaming and any combination thereof.

In addition, the audio subsystem may optionally include features such as graphic equalization, volume, balance, fading, base and treble controls, surround sound emulation, and noise reduction. One skilled in the art will readily appreciate that the above cited list of file formats is not intended to be all inclusive.

The portable media player 100 includes an operating system, the necessary hardware and software drivers necessary to fully utilize the devices coupled to the communications infrastructure 90, media playback and recording applications and at least one control program 240 operatively loaded into the main memory 10. The control program may perform multiple functions, for example perform the automatic selection of media items from a plurality of media items stored in memory. The control program may also, for example, perform the automatic population of play lists and/or the automatic re-ordering of play lists. The control program also processes play lists, playing songs and/or displaying images in accordance with the sequential requirements of one or more play lists stored in memory. In some embodiments the play lists are downloaded from external sources. The control program manages such downloading processes. The control program also manages the downloading of new media items into the memory of the portable media player.

The control program is also operative to perform unique functions specific to this invention along with above selection and playing of music media. For example, the control program is operative to monitor the bob and jump interface by reading the associated sensor 75 and storing data from the sensor in memory over time. An example of such sensor data is shown graphically in FIG. 4 herein, the example sensor data depicting a sequence of characteristic bob and jump acceleration profiles imparted by a user upon a sensored portable media player or a sensored peripheral thereof. The control program may also read data from timing circuit 15. The control program processes the time varying profile of sensor data from sensor 75 (which is often an accelerometer) and determines based upon the time varying characteristics of the sensor data whether or not the user has imparted a characteristic bobbing or jumping action upon the portable media player. If so, the control program according to embodiments of the present invention is operative to determine if the bobbing and/or jumping motion was performed with substantial synchronicity with a currently playing media file. The synchronicity may be determined based upon the time proximity between an imparted bob and/or jump motion and a primary beat present within the audio output stream. The synchronicity may also or alternately be determined based upon the time interval between subsequent bob's and/or jumps as compared to the time interval between sequential primary beats within the audio output stream. The control program may also assess the peak magnitude and/or time duration of each bob and/or jump action imparted by the user. The control program may also determine the air-time of jump actions imparted by the user. Based upon the synchronicity determinations and/or magnitude determinations and/or duration determinations and/or air time determinations, embodiments of the present invention are operative to compute and/or increment an assessment score for the user. The score may also be determined based upon the detected sequence of bobs and/or jumps, the detected duration of bob's and/or jumps, and/or the detected duration of successful synchronicity of the bobs and/or jumps with the music. In this way, the embodiments of the present invention enable the user to listen to a musical media file and engage in an aerobic bobbing and jumping activity, being assigned a score based upon the performance of the bobbing and jumping activity along with the music.

The control program of embodiments of the present invention may also be operative to generate and play the sound of a simulated instrument to the user, the sound being produced in response to and in temporal coordination with bob or jump motions imparted by the user. In this way, the user is given the sense that he or she is controlling a real physical musical instrument that produces sounds in response to and in temporal coordination with physical bobbing and/or jumping. In many embodiments the timing and/or volume of each generated sound produced by the control program is produced at least partially based upon the timing and magnitude of detected bob or jump motions by the sensor on the portable media player. In some such embodiments, the longer the air time of a jump, the louder and/or longer duration the musical sound. In some such embodiments, different musical instrument sounds are generated in response to a bob as compared to in response to a jump. In many preferred embodiments the onset of the generated musical sound is produced with a timing such that it corresponds with the approximate moment that a user lands from a jump or the approximate moment a user's bob reaches the lowest point in a bobbing down-up motion.

In some embodiments a plurality of users may engage in a collaborative exercise rhythm gaming experience, each of their portable media players being assigned a different instrument sound such that the plurality of users are provided with a combined music experience produced by the musical sounds generated in response to the motions imparted upon the plurality of media players. In this way a group of users may produce a complex musical experience based upon their combined bobbing and jumping actions, the complex musical experience being provided to each of the users by their own portable media player.

References to the at least one control program 240 may be made in both singular and plural form. No limitation is intended by such grammatical usage as one skilled in the art will appreciate that multiple programs, objects, subprograms routines, algorithms, applets, contexts, etc. may be implemented programmatically to implement the various embodiments of the invention.

The control program may also perform predictive functions, automatically selecting media items for the user that are statistically likely for the user to be in the mood for at a given time. Detailed discussions of the at least one control program 240 that performs predictive functions are provided in U.S. Provisional Application Ser. No. 60/651,771 filed on Feb. 9, 2005, and U.S. patent application Ser. No. 11/267,079, filed on Nov. 3, 2005 to the instant inventor. The disclosures of both patent applications are herein incorporated by reference in their entirety. The portable media player 100 may optionally include at least one remote authentication application, one or more cryptography applications capable of performing symmetric and asymmetric cryptographic functions, and secure messaging software (not shown.)

The control program may also perform music audio content analysis by which a primary beat and/or rhythm of a playing musical media file is determined from the audio content. A discussions of the at least one control program 240 that performs such an analysis is provided in U.S. Provisional Application Ser. No. 60/665,291, filed on Mar. 26, 2005 to the instant inventor, the disclosure of which is herein incorporated by reference in its entirety. The information is also incorporated by reference into parent U.S. patent application Ser. No. 11/267,079, filed Nov. 3, 2005, the disclosure of which is also hereby incorporated by reference. As described in the aforementioned patent applications, tempo can be derived by analyzing the music data profile and identifying a characteristic rhythm rate, thereby indicating a most salient primary tempo for the music piece or a particular portion of a musical piece. Such techniques, generally referred to as “audio tempo extraction” are known the art. For example, the 2004 paper entitled “Deviations from the resonance theory of tempo induction”, published at the Conference on Interdisciplinary Musicology, by McKinney and Moelants, describes such a method and is hereby incorporated by reference. Another example, the 2004 paper entitled “Extracting The Perceptual Tempo From Music” by McKinney and Moelands published at ISMIR 2004 5th International Conference on Music Information Retrieval, also describes such methods of automatic audio tempo extraction and is hereby incorporated by reference.

It should be noted that in some embodiments of the present invention, the user may select the simulated instrument that he or she will play in accompaniment with a particular playing media file. In other embodiments, the control program automatically selects an appropriate simulated accompaniment instrument based upon a stored relational association with the media file or with the currently selected rhythm game. For example, a media file or rhythm game may be relationally associated with a tambourine. In such a case the control program may automatically select a tambourine as the simulated instrument for use in the aerobic bobbing and jumping exercise gaming session.

It should also be noted that the software of the present invention is operative to mix in software and/or hardware the audio signal produced in response to playing a media file (i.e., a song) from memory and the audio signal produced by the simulated instrument sound generation routines such that a user may listen to a combined audio signal that includes both the media file (i.e., the song) and the user's jump and bob induced accompaniment sounds. In some such embodiments the user may set configuration parameters upon the user interface of the media player that sets the relative volume of the media file signal and the jump and bob based accompaniment signal. In some embodiments the user may also adjust the left-right balance of the jump and bob based accompaniment instrument audio signal, placing the sound within the perceived left-right audio space.

FIG. 3 illustrates an example embodiment of how a media player may be worn or otherwise affixed to the body of a user such that it can detect the bobbing and jumping motions described herein according to at least one embodiment of the invention. As shown, a media player 200 is worn upon the belt 301 of a user 300. In this particular example the media player is similar to that shown in FIG. 2 with an accelerometer sensor 201 integrated within it and oriented such that it can detect accelerations induced along the up-down axis of the media player when held in an upright position. Thus, the media player 200 is affixed to belt 200 in an upright position as shown in FIG. 3. That said, alternate sensor orientations and alternate body affixing orientations may be used so long as they correspond in a way such that the accelerometer or other motion sensor is orientated such that it can detect up-down motions of the user with respect to the real physical world. Thus, as shown, media player 200 is equipped with an internal accelerometer oriented such that when affixed to the user's belt as shown, the sensor detects accelerations in the upward (398) and downward (399) directions.

It should be noted than in some embodiments the sensor is external to the media player and communicates with the media player by a wireless link such as Bluetooth. For example, the sensor may be oriented similarly as shown in FIGS. 2 and 3, but may be a separate unit that is integrated directly into belt 301, or an alternate piece of clothing worn by the user. In these ways when user 300 bobs up and down and/or jumps up and down, an accelerometer signal is detected and stored with a time varying profile similar to that which is shown by example in FIG. 4.

FIG. 4 illustrates time varying acceleration data, from an accelerometer sensor, representing accelerations imparted by the user during bobbing and/or jumping actions according to at least one embodiment of the invention. In such embodiments the software of the present invention is configured to recognize a profile of acceleration data collected over a period of time indicative of a user bobbing and/or jumping while listening to music from the media player. As described herein, bobbing and jumping induces characteristic acceleration profiles which distinguish them from other actions taken by the user as well as distinguish them from each other.

In general, when a user is just standing still the acceleration captured by the accelerometer reads 1 g as shown in FIG. 4 at arrow 405. This 1 g reading is the acceleration induced by the earth's gravitational field and is reported typically 1 g, as 9.8 meters per second squared, or as 32.2 feet per second squared. As shown, the data may include some low level fluctuations when the user is standing substantially still as a result of signal noise and/or subtle body motions, but is generally substantially near to 1 g when a user is standing or otherwise not moving with substantially accelerations in the up-down direction. This is because when standing on the ground the user's body is imparting a 1 g acceleration upon the media player to prevent it from falling to the earth under the influence of gravity.

When the user performs a down-up bobbing motion, he or she induces a characteristic acceleration profile such that when the user flexes his or her knees and moves downward, the acceleration level drops below the nominal 1 g reading. The acceleration generally approaches 0 g's and then reverses direction as the user extends his or her knees and begins moving back upward in the bobbing motion. Because the user is now accelerating upward away from the earth, he or she must quickly overcome the 1 g acceleration induced by the earths gravity to bob upward. Thus the acceleration profile of the upward portion of the bob includes a rapid sharp spike in acceleration. This acceleration spike generally exceeds 1 g, usually exceeds 2 g's, and may even exceed 3 or 4 g's depending upon the vigor of the upward bob. As the user completes the upward bobbing motion and relaxes his knees (or begins a next bobbing cycle), the acceleration profile of a characteristic bob drops from the upper spike level towards 1 g. If the user begins a next bob it will generally drop back down towards 0 gs as the cycle repeats. An example of such a characteristic bobbing motion is shown in FIG. 4 during the time period identified by bracket 415. As shown during time period 415, a characteristic down-up bob motion includes the acceleration dropping towards 0 g's, momentarily reaching approximately 0 g's, spiking up towards 3 g's, and then dropping back down towards 0 g's as the cycle repeats for a next bobbing motion. In this way the acceleration profile shown during time period 410 of FIG. 4 represents a series of repeated bobbing motions of a user. During time period 410, seven bobbing motions are recorded, each with a similar characteristic acceleration profile similar to that shown by bracket 415.

Thus the routines of the present invention may be configured to detect and determine the user's performance of a bobbing motion by assessing the acceleration profile and determining if a characteristic signal is present. In some embodiments a pattern matching technique may be used to determine of the acceleration signal is similar to the known pattern of bobbing motion. In other embodiments simple timing and level thresholds may be used. For example, if the acceleration signal approaches 0 and then rises to above 1.5 g's within a certain time period, without exceeding 4.5 g's, it may be determined that a bob motion was performed by the user. In addition, because a bob motion requires that the user does not leave contact with the ground, the momentary reaching of 0 g's (as compared to an extended period of 0 g's) may be used to distinguish a bob motion from a jump motion. Thus the routines of the present invention may process the time varying signal during time period 410 and determine based upon the profile, magnitudes, and/or timing of the signal, that the user performed a series of 7 bobs. In addition, the timing between each cycle may be used to determine a characteristic rate of the bob actions. In addition, the time at which the spikes occur of each bob motion may be used to determine the specific moment in time at which each bob was performed. In some embodiments the moment in time is documented as the time when the signal most closely reached 0 g's. Either way, so long as a consistent portion of the characteristic cycle is used, a time stamp may be associated with each bobbing motion indicating when in time the bob motion was cause enacted by the user. In addition a time duration for the bob may be derived indicating how long it took to complete. The time duration is generally the length of time required to complete one cycle of the characteristic bob acceleration profile. In addition a magnitude of each bob motion may be derived. The magnitude is generally documented based upon the max height of the acceleration spike recorded or as the average acceleration recorded during the spike portion of the profile.

When the user performs a jumping motion, he or she induces a characteristic acceleration profile such that when the user flexes his or her knees in preparation for the jump, the acceleration level drops below the nominal 1 g reading. The acceleration generally approaches 0 g's and then reverses direction as the user extends his or her knees and begins thrusting upward in the jumping action. Because the user is now accelerating upward away from the earth, he or she must quickly overcome the 1 g acceleration induced by the earths gravity to bob upward. Thus the acceleration profile of the upward portion of the jump includes a rapid sharp spike in acceleration. This acceleration spike always exceeds 1 g, generally exceeds 5 g's, and may exceed 6 or 7 g's depending upon the vigor of the upward jump. Such a rapid spike is shown in FIG. 4 by the spike at the left edge of bracket 420. Once the user jumps hard enough to become airborne, the acceleration quickly drops to 0 for the user is now in freefall. The period of freefall, referred to herein as airtime, is a portion of time when the user is in the air and the vertical acceleration readings are substantially at or near 0 g's. Such an airtime period is depicted in FIG. 4 by arrow 425. When the user lands back on the ground, a sudden and intense acceleration is imparted by his or her feet upon the ground to slow his or her decent. This causes another sharp upward spike in the acceleration profile as shown by the spike at the right edge of bracket 420. As the user completes the jump motion and relaxes his knees (or begins a next bobbing cycle), the acceleration profile of a characteristic bob drops from the upper spike level towards 1 g. If the user begins a next bob or jump it will generally drop back down towards 0 gs as the cycle repeats.

An example of such a characteristic jumping motion is shown in FIG. 4 during the time period identified approximately by bracket 420. As shown during time period 420, a characteristic jump motion includes a first acceleration spike (i.e., the launch of the jump) followed by a second acceleration spike (i.e., the landing of the jump), with an intervening period between which is generally representative of the airtime of the jump. Because the harder the jump the longer the user will stay in the air, the duration of the airtime of the jump (i.e., the length of time between the launch spike and the landing spike) is a good indicator of the vigor of the jump. It is also a good indicator of the relative height of the jump. Because the acceleration generally lingers at or around 0 g's during much of the airtime period of the jump, the presence of an extended period of 0 g's is one way to help distinguish a jump from two successive bobs. Another way is that a jump generally includes higher accelerations than a bob. In general a jump may be determined by detecting spikes that exceed a particular magnitude. For example, for the embodiment used to collect the data of FIG. 4, a user bob never exceeds 4.5 g's while a user jump always exceeds 4.5 g's. Thus a threshold line of 4.5 g's, as shown by arrow 404, may be used to determine a bob from a jump. If the acceleration profile spike exceeds 4.5 g's, it may be determined by the routines of the present invention that it is a jump.

Thus the routines of the present invention may be configured to detect and determine the user's performance of a vertical jumping motion by assessing the acceleration profile and determining if a characteristic signal profile is present. In some embodiments a pattern matching technique may be used to determine of the acceleration signal is similar to the known pattern of jumping motions. In other embodiments simple timing and level thresholds may be used. For example, if the acceleration signal approaches 0 and then rises to above 4.5 g's within a certain time period, it may be determined that a jump motion was performed by the user. In addition, because a jump motion requires that the user does leave contact with the ground, the detection of an extended period of 0 g's may be used to distinguish a jump motion from a bob motion. Thus, the routines of the present invention may process the time varying signal during time period 420 and determine based upon the profile, magnitudes, and/or timing of the signal, that the user performed a jump. In addition, the timing between the launch spike and the landing spike may be used to determine a height and/or vigor estimate for the jump. In addition, if a series of characteristic jump and/or bobs are performed, the timing between the jump and/or bobs may be used to assess a characteristic rate of the jumping and/or bobbing actions. In addition, the time at which the launch spikes occur of each jump motion may be used to determine the specific moment in time at which each jump was performed. In some embodiments the time at which the landing spikes occur of each jump motion may be used to determine the specific moment in time at which each jump was performed. Either way, so long as a consistent portion of the characteristic cycle is used, a time stamp may be associated with each jumping motion indicating when in time the jump motion was cause enacted by the user. In addition a time duration for the jump may be derived indicating how long it took to complete. The time duration is generally the length of time required to complete one cycle of the characteristic jump acceleration profile. In addition a magnitude of each jump motion may be derived. The magnitude may be computed as a function of the max height of one or both acceleration spikes and/or the time duration between them.

As described herein a profile of acceleration collected over a period of time that is indicative of the user imparting a single bob upon the portable media players is referred to herein as a characteristic bob acceleration profile. As described herein a profile of acceleration collected over a period of time that is indicative of the user imparting a single jump upon the portable media players is referred to herein as a characteristic jump acceleration profile. Thus, embodiments of the present invention may be configured to determine the timing, magnitude, and rate of a series of consecutive characteristic bob acceleration profiles and/or characteristic jump acceleration profiles. In addition, for jump an airtime assessment may also be performed.

Thus the methods and apparatus of such embodiments of the present invention enable the software of the embodiments, in combination with the sensor hardware, to determine if and when a user deliberately imparts a physical bobbing and/or jumping action while listening to music from the portable media player. Using such determinations, the embodiments of the present invention may determine the number, rate, magnitude, and timing of the bobbing and jumping motions. Using such determinations embodiments of the present invention determine if the bobbing and/or jumping actions are performed in substantial synchronicity with musical rhythm content (i.e., the primary beat) of the currently playing musical file. Based upon such assessments, embodiments of the present invention assign and/or increment a score maintained for the user. In this way a user may bob and jump to the rhythm of the playing musical media file and may be awarded a score based upon the number, pattern, vigor, and/or synchronicity of the bobs and jumps.

In some embodiments, the greater the magnitude of the detected bobbing and/or jumping actions imparted by the user, the greater a score increment value awarded to the user. For example, in some embodiments the score increment is scaled upward based upon the detected magnitude of the bobbing and/or jumping events, a larger bob or jump earning a larger score increment. In this way a user may earn a higher score by performing more vigorous bobs and/or jumps along with the music. This provides an incentive to the user to perform more vigorous exercise while listening to the music.

In some embodiments, the larger the number of the detected bobbing and/or jumping actions imparted by the user, the greater the score and/or score increment awarded to the user. For example, in some embodiments the score increment is scaled upward based upon the detected number of the bobbing and/or jumping events, a larger number bob or jump events occurring within a certain time period, the larger score increments awarded for each bob and/or jump. In this way a user may earn a higher score by performing repeated bobs and/or jumps along with the music for a longer period of time. This makes sense because it becomes harder to perform the bob and jumps after a large number have already been performed. This also provides an incentive to the user to perform keep performing exercise while listening to the music.

In some embodiments, the longer duration of the detected bobbing and/or jumping actions imparted by the user, the greater the score awarded to the user. For example, in some embodiments the score increment is scaled upward based upon the time duration during which the user has been performing repeated bobbing and/or jumping events, the larger the time duration, the larger score increments awarded for each bob and/or jump. In this way a user may earn a higher score by performing repeated bobs and/or jumps along with the music for a longer period of time. This makes sense because it becomes harder to perform the bob and jumps after a large number have already been performed. This also provides an incentive to the user to perform keep performing exercise for an extended period while listening to the music.

In some embodiments, the greater the air-time detected during a detected jumping action imparted by the user, the greater a score increment value awarded to the user. For example, in some embodiments the score increment is scaled upward based upon the longer the airtime of a jump event. In this way a user may earn a higher score by performing higher jumps along with the music. This provides an incentive to the user to perform vigorous exercise while listening to the music.

In some embodiments, the greater synchronicity between the detected rhythm present in a sequence of detected bobs and/or jump actions and the rhythm present within a currently playing musical file, the greater a score increment value awarded to the user. In some such embodiments the points are awarded for synchronicity on an event-by-event basis, based upon how well each bob or jump is coordinated with a rhythmic beat within the music. In some embodiments, the points are awarded for synchronicity based upon coordination with the rhythmic beats of the music over a period of time. For example, the longer the duration of maintained substantial synchronicity between the detected rhythm present in a sequence of detected bobs and/or jump actions and the rhythm present within a currently playing musical file, the greater a score increment value awarded to the user.

In some embodiments the “synchronicity” means that the bobs and/or jumps fall substantially at the same moment in time as primary beats present within the currently playing musical file. In some such embodiments, the shorter the time difference between a detected bob and/or jump and a determined primary beat in the musical media file, the greater the score increment value awarded to the user. In some such embodiments a particular portion of a bob and/or jump is used to represent the bob or jump event. For example, in a bob the peak downward acceleration caused when bending the knees is used as the portion of the bob event that must be synchronized with the musical beat event to be awarded maximal points. Similarly, for example, in a jump event the peak acceleration spike caused when landing from the jump is used as the portion of the jump event that must be synchronized with the musical event to be awarded maximal points.

Thus, in some preferred embodiments synchronicity means that the peak downward knee bend of a bob and/or the landing acceleration spike of a jump fall substantially at the same moment in time as primary beats present within the currently playing musical file. In some such embodiments, the shorter the time difference between the events and a determined primary beat in the musical media file, the greater the score increment value awarded to the user.

In some embodiments the “synchronicity” means that sequential bobs and/or jumps fall substantially at the same time interval between them as the time interval between primary beats present within the currently playing musical file. In some such embodiments, the shorter the time difference between a detected bob and/or jump time interval and a time interval between primary beats in the musical media file, the greater the score increment value awarded to the user. The time interval between sequential bobs and/or jumps may be determined by the present invention by finding the wavelength of the substantially cyclic waveform in the time varying acceleration profile and/or by determining the time delay between repeating cyclic portions of the time varying acceleration profile.

In some embodiments the “synchronicity” is a combination of both the aforementioned moment in time assessment and time interval assessment above. For example, the shorter the time difference between a detected bob and/or jump time interval and a time interval between primary beats in the musical media file, the greater the score increment value awarded to the user. Furthermore, the greater the correspondence in time between the bob and jump events and the primary beat events, the even greater the score increment value awarded to the user. Thus, if a user is bobbing and/or jumping to the music, he or she may be awarded points based upon two factors—first, points will be awarded based upon how well the rate of bobbing and/or jumping matches the rhythmic rate of the primary beats within the currently playing music. Second, points will be awarded based upon how short the time delay is between each bob and/or jump event and the closest primary beat occurring within the currently playing music.

In some embodiments of the present invention, synchronicity may be based upon either the primary beat present in the music or a rate that is (a) a small whole number multiple of the primary beat present in the music; or is (b) a small whole number fraction of the primary beat present in the music. This is because a song may have a beat that is too slow or two fast for the user's exercise regime. For a very slow musical rhythm, the user may choose to achieve synchronicity by, for example, bobbing twice for each musical beat. Similarly for a very fast musical rhythm, the user may choose to achieve synchronicity by, for example, bobbing upon every other musical beat. In this way synchronicity may be achieved if the rate of bobbing and/or jumping is determined to be double the primary rhythmic rate of the musical beat or is determined to be half the primary rhythmic rate of the musical beat. In some embodiments a penalty is subtracted from the score or score increment if the user is bobbing or jumping at a whole number fraction of the primary beat because it represents a less vigorous exercise.

In some embodiments the primary beat present within a currently playing media file is determined based upon a data segment relationally associated with the media file. For example, a data segment indicating the number of Beats Per Minute (or “BPM”) of the media file may be used to determine the rate of the primary beat. Such a data segment may be stored local within the memory of the media player in advance or may be accessed from an external server that links music media files with the BPM for that file. In addition a time stamp, time flag, or other synchronizing data point may be used to indicate when in time the beat sequence began. In some such embodiments a primary beat present within a currently playing media file is determined based upon a time varying rhythm file that is associated with and/or integrated within the currently playing music media file.

In some such embodiments a primary beat present within a currently playing media file is determined by an assessment of the musical content of the musical file through a signal processing routine. In one such embodiment the detected presence of a base drum sound above a certain intensity magnitude is used to determine a primary beat of the musical media piece. In other such embodiments a primary beat present within a currently playing media file is determined by detection of the presence of a snare drum sound above a certain intensity magnitude. For example, tempo can be derived by analyzing the music data profile and identifying a characteristic rhythm rate, thereby indicating a most salient primary tempo for the music piece or a particular portion of a musical piece. Such techniques, generally referred to as “audio tempo extraction,” are known the art. For example, the 2004 paper entitled “Deviations from the resonance theory of tempo induction”, published at the Conference on Interdisciplinary Musicology, by McKinney and Moelants, describes such a method and is hereby incorporated by reference. Another example, the 2004 paper entitled “Extracting The Perceptual Tempo From Music” by McKinney and Moelands published at ISMIR 2004 5th International Conference on Music Information Retrieval, also describes such methods of automatic audio tempo extraction and is hereby incorporated by reference.

In some embodiments, the presence of a particular sequence of bobs and jumps are used in determining a score increment value awarded to the user. For example, the user may be instructed to perform a sequence such as bob-bob-bob-jump while exercising to the music. In such an embodiment the user's score may be based, at least in part, upon his or her success in performing the required sequence. In some embodiments the sequence may further be required to be appropriately synchronized with the music, the bobs and jumps falling in a certain way with respect to the currently playing musical content. In some embodiments the sequence may further require a particular sequence of bobs and/or jumps of certain relative magnitudes, for example the sequence: small-bob, small-bob, small-bob, big-bob. Such a sequence can be determined by assessing the relative magnitudes of the characteristic acceleration profiles of each of the detected bobs. Similar sequencing of relative sizes of jump events may also be employed by the present invention as part of the scoring metric. In this way, embodiments of the present invention may require the user to perform certain sequences of bobs and jump events based both upon the sequence of interspersed bobs and jumps as well as (or alternately) the sequence of interspersed larger and smaller relative bobs or jumps. In some such embodiments a larger magnitude bob (or jump) may be required upon every forth primary musical beat.

In some embodiments the user may be instructed to perform primarily jump actions only when a particular event happens within a musical piece such as a particular cymbal crash, song lyric, musical riff, or refrain. In such an embodiment the user's score may be based, at least in part, upon his or her success in performing the jump action at the correct time with respect to the music. In some embodiments, the ratio of bobs to jumps is used in determining a score increment value awarded to the user. In some such embodiments the greater the proportion of jumps the higher the score.

In some embodiments, a musical sound is played by the media player in response to a detected bob and/or jump, in audio combination with the currently playing media file. In some such embodiments the volume and/or duration of the sound is determined at least in part upon a magnitude of the bob and/or jump. In some such embodiments the volume and/or duration of the sound is determined based at least in part upon an air-time of a detected jump. In some embodiments a different musical instrument sound is selected based upon whether the imparted action was determined to be a bob or a jump.

FIG. 5 illustrates an example flow chart for an example bob and jump responsive media player exercise rhythm game routine according to at least one embodiment of the invention. The process begins at step 500 and may run in parallel with other routines, for example the routines for accessing and playing media files to the user. The routine progresses to step 501 wherein the processor of the media player reads one or more sensors on board the media player or in communication with the media player. The sensors are worn and/or are affixed to the body of the user with a configuration and orientation such that they can record signals responsive to bobbing and jumping actions of the user. As described previously the sensors may include an accelerometer that provides acceleration data. In step 502, the time varying profile of sensor data is assessed to determine if the user imparted a characteristic bobbing or jumping motion. If not, the program flows back to step 501 as shown in the figure. If yes, the program flows to step 503 as shown in the figure wherein the characteristic profile is determined to be a jump or not. If not, it must be a bob, and the program progresses to 504, if yes it is a jump and proceeds to 505.

At 504 the characteristic bob event data profile is further assessed for magnitude, timing, duration, and other bob-related event assessments. At 504 a bob counter is also incremented, counting the total number of bobs performed during a particular exercise period. In some embodiments a count is performed for the currently playing song. If the embodiment is one in which simulated musical sounds are output in response to detected bob events, a simulated musical sound may be output at 504 in audio combination with the playing musical file. The bob responsive musical sound may be output with a sound quality that is dependent at least in part upon the detected magnitude and/or duration of the detected bob event. In some embodiments the onset of the musical sound is output in substantial perceptual synchronicity with the peak downward portion of a detected bob event.

At 505 the characteristic jump data event data profile is further assessed for airtime, magnitude, duration, timing, and/or other jump specific event assessments. If the embodiment is one in which simulated musical sounds are output in response to detected jump events, a simulated musical sound may be output at 505 in audio combination with the playing musical file. The jump responsive musical sound may be output with a sound quality that is dependent at least in part upon the detected magnitude and/or duration and/or airtime of the detected jump event. In many embodiments the onset of the sound is output in substantial perceptual synchronicity with the landing of the detected jump event. To achieve such synchronicity the jump event may be determined prior to the landing based upon the launch and airtime portions of the sensor profile. In other embodiments the sound is output so soon after the landing, the delay is not perceptually noticeable to a user.

After 505, the process proceeds to 506 wherein a jump counter is incremented, counting the total number of jumps performed during a particular exercise period. In some embodiments a count is performed for the currently playing song.

A simulated instrument sound may be generated in a variety of ways known to the art of computer music and electronic sound generation. For example, the sound may be produced based upon a digitized sample accessed from memory and modified based upon software parameters, the parameters derived at least in part based upon detected characteristics in the user bobbing or jumping motion data. Alternately, the simulated instrument sound may be produced based upon a stored algorithm or routine, the algorithm or routine parameterized with values that are derived at least in part based upon detected characteristics in the user bobbing or jumping motion data. In one particular embodiment, the simulated instrument sound is produced based upon a physically based simulation model of a real musical instrument, the external input to the physically based simulation model being derived at least in part upon detected characteristics in the user bobbing or jumping motion data. Note, in some embodiments the simulated instrument sound is also dependent upon a selected instrument type that was selected by the user through a configuration interface.

From 504 or 506 the process proceeds to 510 wherein the timing of the detected bob or jump actions are compared to the timing of rhythm events in the currently playing musical media file for a synchronicity assessment. As discussed above, the rhythm of beat events within the currently playing music may be accessed from a data file that is relationally associated with the musical content file and/or integrated with the musical content file or may be determined by processing the actual musical content using a signal processing analysis. As also discussed above, the synchronicity assessment may be based upon a moment in time assessment, a time interval assessment, or a combination of the two aforementioned assessment methods. Either way, the timing of the bob and/or jump events are processed with respect to the currently playing music to determine how well the user is performing the bob and/or jump events with respect the primary musical beats being played by the media player as part of the currently playing musical file. Based upon this assessment, the process proceeds to 520 wherein a score increment is determined. The score increment may be based entirely upon the synchronicity assessment or may be based at least in part upon the magnitude, duration, sequence, and/or number, of bob and/or jump events as described previously.

As an example, the currently playing musical file may be relationally associated with a rhythm variable indicating that it the primary musical beat is 69 beats per minute (or 69 BPM). In addition, the aforementioned analysis of the bob and jump events being imparted by the user may indicate that he or she is now currently bobbing at a rate of 66 bobs per minute. Such an assessment may be determined by counting the number of bobs that have been identified by the sensor analysis routines within the last 10 seconds. For example, if a count of 11 bobs was determined by the routines of the present invention to have occurred within the previous 10 seconds, it may be computed that the user is currently bobbing at a rate of approximately 66 bobs per minute. Thus the 66 bob per minute rate of the user is compared with the 69 BPM rate of the musical media file. A performance assessment is then made by the routines of the present invention, the performance assessment determining that the user is currently bobbing at a rate that is within 5% of the correct beat rate of the music. A score may then be determined for the user based upon this assessment. In this example, the user is awarded 10 points for the last 10 seconds worth of bobbing. If the user was performing bobs at a rate of 68 bobs per minute, which is even closer to the proper BPM of the music, a higher score would be assessed and added to the running score total for the user—for example, 20 points for the last ten seconds worth of bobbing. If the user was performing bobs at the correct rate of 69 bobs per minute, an even higher score of 30 points may be added. Thus, in this particular embodiment the user earns points over time, the points earned being dependent upon the degree of synchronicity with the music maintained during that period of time. In some embodiments the score may be dependent upon additional factors as well, such as the magnitudes of the bobs and/or the time correspondence between each bob and the actual primary beat events within the music. Such scoring methods have been described above.

Once a score increment is determined, the process proceeds to step 530 wherein a running score for the user is incremented by the determined score increment amount. In this way the user earns a score based upon how he or she bobs and/or jumps along with the playing musical file. In general the main loop of the process of FIG. 5 repeats very quickly such that the assessments and score increments can occur in substantial real time with the playing of the music. In addition, other sub-processes and sub-variables may be stored to determine events that transcend single loop iterations such as patterns, sequences, and/or durations of repeated jumps and/or bobs. A wide variety of alternate program flow embodiments may also be used to enable the bob and jump responsive media player system disclosed herein.

Embodiments of the present invention are also operative to display a current score and/or a final score to the user, either upon a graphical screen or as an audio message displayed through the headphones (or other audio output components) of the present invention. In some embodiments, current score totals are announced audible at regular intervals during the exercise session, indicating to the user how he or she is doing. In some embodiments a history of assessment scores are stored in memory upon the portable media player so that the user can assess his or her performance progress over time. In this way as a user can review historical data to determine if he or she is able to perform more vigorous bobbing and jumping sessions, and/or perform in better synchronization with the music, than in previous exercise gaming sessions. In some embodiments separate scores are maintained for the user with respect to exercise vigor and musical synchronicity. In some such embodiments an exercise vigor score is computed based upon the number of bobs and/or jumps in combination with the magnitudes of bobs and/or jumps performed. In some such embodiments an exercise vigor score is computed based upon the duration of time during which bobs and/or jumps are performed in combination with the rate and magnitudes of bobs and/or jumps performed. In some embodiments a user's performance scores are maintained in memory of the portable media player as a historical record with respect to particular musical files. Thus a user may review his or her historical exercise scores for each of a plurality of different musical songs. In some embodiments a user's performance score are maintained in memory of the portable media player as a historical record with respect to particular playlist of musical files. Thus a user may review his or her historical exercise scores for each of a plurality of different playlists of musical songs. In this way a user may compose a playlist of certain songs and exercise regularly to that playlist, maintaining a historical record of exercise scores for that particular playlist of songs. In this way the music playing and playlist running features of a traditional media player are used in combination with the bobbing and jumping detection features and exercise assessment and scoring features of the present invention to provide a unique combined media/exercise experience for users.

In certain unique embodiments a motion sensor may also be incorporated within a tossable object that may be caught and/or thrown by a user in rhythmic synchonicitity with a musical media file that is played to the user by the media player device. In such embodiments, a gaming score may be generated based at least in part upon the magnitude, number, and/or rhythmic synchronicity of the throws and/or catches of the tossable gaming object, during the play of the musical media file to the user. In some such embodiments, the tossable gaming object communicates motion signals to the media player device over a wireless communication link. Details of such tossable object embodiments are disclosed in the aforementioned U.S. provisional patent application Ser. No. 60/815,655, the disclosure of which has been incorporated herein by reference in its entirely.

In certain embodiments the media player may be configured to compute an estimated number of calories burned by the user during a gaming session as a result of the bobbing and jumping activities detected. In some such embodiments the gaming session is the duration of a single song that is played to the user. In some such embodiments the gaming session is the duration of multiple songs played to the user. In some such embodiments estimated total number of calories burned by the user is computed using a heuristic that allocates a certain number of calories for each bob performed by the user during the gaming session and a certain number of calories for each jump performed by the user during the gaming session. In some such embodiments the heuristic employs an estimated and/or entered weight value for the user, the greater the weight of the user, the more calories expended for each bob and jump performed. In some embodiments the heuristic scales the calories burned per bob based upon a determined magnitude of the bob. In some embodiments the heuristic scales the calories burned per jump based upon a determined magnitude of the jump. In some such embodiments the magnitude is based at least in part upon the shape of the acceleration profile for each bob and/or jump. In some such embodiments the magnitude is based at least in part upon an airtime for each jump. In this way a user who bobs and jumps along with a song played by the portable media player may be provided with a gaming score, as described in previous paragraphs above, as well as may be provided with an estimated indication of calories burned during the gaming session.

While the present invention is described in terms of bobs and jumps that may be performed by a user while standing in place, the hardware, software, and methods disclosed herein may be used in determining bobbing and jumping motions of a user while doing activities other than standing in place—for example while walking, dancing, or otherwise moving about. Because the sensor configurations disclosed herein are such that they detect vertical motions of the user in assessing characteristic bob and jump sensor profiles, typical horizontal motions of a user during bobs and/or jumps generally do not significantly affect the vertical sensor readings and/or the vertical component of sensor readings. Thus bobs and jumps may be determined as described herein.

While the present invention is described in terms of bobs and jumps that may be performed with two legs simultaneously, the hardware, software, and methods disclosed herein may be used in determining single leg bobbing and jumping motions of a user. Thus a user may bob on one leg, or jump up and down on one leg (i.e. hop) and the methods, apparatus, and computer program products described herein are still operative to determine characteristic bobbing and/or jumping motions. Thus the present invention is not necessarily dependent upon the number of legs used and/or the existence or absence of a horizontal motion component to function properly in detecting vertical bob and/or jump motions of a user, determining synchronicity with a playing musical file, and awarding scores appropriately.

This invention has been described in detail with reference to various embodiments. It should be appreciated that the specific embodiments described are merely illustrative of the principles underlying the inventive concept. It is therefore contemplated that various modifications of the disclosed embodiments will, without departing from the spirit and scope of the invention, be apparent to persons of ordinary skill in the art.

The foregoing described embodiments of the invention are provided as illustrations and descriptions. They are not intended to limit the invention to the precise forms described. In particular, it is contemplated that functional implementation of the invention described herein may be implemented equivalently in hardware, software, firmware, and/or other available functional components or building blocks.

Other embodiments, combinations and modifications of this invention will occur readily to those of ordinary skill in the art in view of these teachings. Therefore, this invention is not to be limited to the specific embodiments described or the specific figures provided. This invention has been described in detail with reference to various embodiments. Not all features are required of all embodiments. It should also be appreciated that the specific embodiments described are merely illustrative of the principles underlying the inventive concept. It is therefore contemplated that various modifications of the disclosed embodiments will, without departing from the spirit and scope of the invention, be apparent to persons of ordinary skill in the art. Numerous modifications and variations could be made thereto by those skilled in the art without departing from the scope of the invention set forth in the claims.