Movement supporting method and apparatus

A movement supporting method includes the following steps: detecting a movement tempo of a user; determining whether a movement tempo detection value is within a target range; and outputting a warning when the movement tempo detection value is out of the target range.

CROSS REFERENCES TO RELATED APPLICATIONS

The present invention contains subject matter related to Japanese Patent Application JP 2005-331197 filed in the Japanese Patent Office on Nov. 16, 2005, the entire contents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to methods and apparatuses for supporting the movement of a user doing exercises or playing games.

2. Description of the Related Art

As people become more interested in becoming healthy and doing sports and make better use of leisure time, an increasing number of people are doing exercises including walking, jogging, various types of fitness programs, or various dances, or playing computer games or the like. Proposals have been made for methods and apparatuses for assisting or supporting doing such exercises or playing such games.

Specifically, a method of detecting the athletic strength of a test subject, which serves as an index of athletic performance of the test subject, by taking into consideration the test subject's comprehensive physical strength, and informing the test subject of the athletic strength is described in Japanese Unexamined Patent Application Publication No. 10-290854.

In Japanese Unexamined Patent Application Publication 2001-257746, a device for detecting vibrations made by walking and, on the basis of detected vibration information, computing the number of steps or the distance walked is described.

It is described in Japanese Unexamined Patent Application Publication No. 2002-272890 in which, when a user does a fitness program inside the house using a so-called “aero bike”, which is a fixed bicycle, a virtual environment is created where the user feels as if the user were riding the bicycle outdoors.

It is described in Japanese Unexamined Patent Application Publication No. 2005-156641 in which, when a user is walking while listening to music, the playback speed of the music is adjusted to the walking tempo of the user.

SUMMARY OF THE INVENTION

When a user walks or jogs for a training purpose instead of taking a stroll without any purpose, the user tries to move while keeping the movement tempo (movement rhythm), such as the walking tempo or the jogging (running) tempo, within a certain range. For example, the user may want to jog at a relatively faster tempo (rhythm).

However, the techniques described in the above-described patent documents fail in supporting the movement of the user so that the movement tempo is kept within a certain range. For example, the method described in Japanese Unexamined Patent Application Publication No. 2005-156641 makes the playback speed of music dependent on the walking tempo. With this method, it is difficult to guide the walking tempo of a user to be within a certain range.

It is therefore desirable to support the movement of a user doing exercises or playing games so that the movement tempo of the user is kept within a predetermined range.

A movement supporting method according to an embodiment of the present invention has the following steps: detecting a movement tempo of a user; determining whether a movement tempo detection value is within a target range; and outputting a warning when the movement tempo detection value is out of the target range.

A movement supporting apparatus according to another embodiment of the present invention includes the following elements: detection means for detecting a movement tempo of a user; determining means for determining whether a movement tempo detection value is within a target range; output means for playing content, outputting a sound or light, or generating a vibration; and control means for allowing the output means to output a warning when it is determined by the determining means that the movement tempo detection value is out of the target range.

With the movement supporting method or apparatus arranged as described above according to the embodiment of the present invention, in the case where a user does exercises including walking, jogging, various types of fitness programs, or various types of dances, or plays computer games or the like, when the movement tempo of the user becomes out of a target range, a warning is given to the user to inform the user that the movement tempo is out of the target range by changing a playback state of music being played, outputting a beep or light, or generating a vibration. Therefore, the user can easily change the movement tempo so that the movement tempo is within the target range again.

According to the embodiments of the present invention, the movement of a user doing exercises or playing games can be supported so that the movement tempo of the user is kept within a predetermined range.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

1. Example of System (FIGS. 1 and 2)

FIG. 1shows the connection configuration of a user terminal serving as an example of a movement supporting apparatus according to an embodiment of the present invention.

A user terminal10of this example includes a central processing unit (CPU)11. A read only memory (ROM)13in which various programs and data are written and a random-access memory (RAM)14in which programs and data are developed are connected to a bus12.

An internal storage device17is connected via an interface16to the bus12, and an external storage device19is connected via an interface18to the bus12. The internal storage device17is an internal hard disk or a semiconductor memory included in the user terminal10, and the external storage device19is a removable storage device such as a compact disk (CD), a digital versatile disk (DVD), or a memory card. Music data (song data), video data (image data), or the like is stored in the internal storage device17or the external storage device19.

Additionally, a key input unit22is connected via an interface21to the bus12. An audio output unit24is connected via an audio processor23to the bus12. A liquid crystal display (LCD)26is connected via a display controller25to the bus12. A light-emitting diode (LED) display unit28is connected via a drive circuit27to the bus12. A vibrator32is connected via a drive circuit31to the bus12.

The audio output unit24is a speaker or a headphone and outputs played-back music or a warning beep. The LCD26displays played-back video or a setting screen. The LED display unit28outputs a waning by turning on or flashing an LED. The vibrator32outputs a vibration warning.

A movement sensor35is additionally connected via a sensor output processor36to the bus12. The movement sensor35detects the physical movement of a user1, such as the movement of the legs, hands, head, and arms of the user1, the vertical and horizontal movement and the back-and-fourth movement of the body of the user1, or the like. Specifically, the movement sensor35is an acceleration sensor, a speed sensor, a gyroscope, a pedometer, or a video camera.

The sensor output processor36converts an output signal of the movement sensor35into a digital signal and processes and analyzes the digital signal to detect the movement tempo of the user1.

An acceleration sensor or the like serving as the movement sensor35may be included in or attached to the user terminal10, which is worn on the hip or carried by the user1. Alternatively, the movement sensor35may be a separate device from the user terminal10and attached to part of the body of the user1or the clothing of the user1, and the movement sensor35may transmit an output signal (movement detection signal) to the user terminal10using wireless or wired communication with the user terminal10.

To play back music or video, detect the movement tempo, and output a warning, the user terminal10of the example shown inFIG. 1functionally includes, as shown inFIG. 2, a content storage device41, a content playback processor42, a content output unit43, a movement tempo detector44, an in/out-of-range determining unit45, a controller46, a warning processor47, and a warning output unit48.

The content storage device41includes the internal storage device17or the external storage device19. The content playback processor42includes the audio processor23or the display controller25. The content output unit43includes the audio output unit24or the LCD26.

The movement tempo detector44includes the movement sensor35and the sensor output processor36. The in/out-of-range determining unit45determines whether the movement tempo detected by the movement tempo detector44is within a target range and includes the sensor output processor36, the CPU11, and the like. The controller46includes the CPU11, the ROM13, and the RAM14.

The warning processor47performs the processing to give a warning. The warning processor47includes the audio processor23or the display controller25when outputting a warning by changing the playback state of music or video or outputting a sound such as a beep. Alternatively, the warning processor47includes the drive circuit27when giving a warning by turning on or flashing the LED of the LED display unit28. Alternatively, the warning processor47includes the drive circuit31when outputting a warning in terms of a vibration made by the vibrator32.

The warning output unit48includes the audio output unit24or the LCD26when outputting a warning by changing the playback state of music or video or outputting a sound such as a beep. The warning output unit48includes the LED display unit28when outputting a warning by turning on or flashing the LED of the LED display unit28. The warning output unit48includes the vibrator32when outputting a warning in terms of a vibration made by the vibrator32.

In a content player such as the user terminal10of the example shown inFIG. 1, two operation modes are available, namely, a mode (movement supporting mode) where the movement supporting processing (warning output) is performed with the aforementioned configuration and a playback mode where no such processing is performed and content is played. The operation can be switched and selected between these two modes by the user1performing a switching operation.

FIG. 3Ashows a sensor output signal in the case where the user1is walking, that is, an exemplary output signal of the movement sensor35.

The sensor output signal in this case is such that a voltage V changes little by little within a short period of time and changes periodically in the entirety. This period indicates a walking tempo. The shorter the period, the faster the walking tempo. The longer the period, the slower the walking tempo.

The movement tempo detector44inFIG. 2detects a movement tempo of the user1from the sensor output signal using a method of computing an autocorrection function of the sensor output signal. If the sensor output signal is such as that shown inFIG. 3A, an autocorrection waveform thereof is shown inFIG. 3B, from which the movement tempo can be detected.

For example, if the walking period is 600 msec, one step involves 600 msec. This can be expressed as 100 steps per minute. This is converted into a musical tempo of 100 beats per minute (BPM) where one beat corresponds to a quarter note.FIGS. 3A and 3Bshow the case where the movement tempo (walking tempo) is 100 (100 steps per minute)

2-2. Setting of Target Tempo and Target Range (FIGS. 4, 5A, and5B)

A movement supporting method according to an embodiment of the present invention sets a target tempo (movement tempo target value) and a target range using the following methods.

A first method involves instructing a target tempo to the user terminal10when the user starts walking or jogging. For example, when the user wants to jog at a movement tempo of around 170, the user instructs the movement tempo “170” to the controller46of the user terminal10, which in turn sets the target tempo to 170.

A second method involves setting, when the user starts walking or jogging, a movement tempo upon the start of walking or jogging as a target tempo by the controller46of the user terminal10. For example, when the movement tempo detector44detects that the movement tempo upon the start of the user movement is 120, the controller46sets the target tempo to 120. The movement tempo upon the start of the movement is, for example, an average of several detection values.

A third method involves setting, when the user walks or jogs while listening to music with the user terminal10, a target tempo according to the tempo of the played-back music by the controller46of the user terminal10. For example, if the tempo of the played-back music is 98, the target tempo is set to 98. This is because, when the user walks or jogs while listening to music, it is likely that the user walks or jogs according to the music.

In this case, if the tempo of this piece of music is described as music appendix information, the tempo of this piece of music can be promptly detected from this information. However, if the tempo of the piece of music is not described as music appendix information, the controller46of the user terminal10can detect the tempo of the piece of music from music data of the played-back music for a predetermined duration from the beginning.

Additionally, the controller46of the user terminal10sets a target range on the basis of the target tempo, which is instructed by the user1or set by the determination made by the controller46.

FIG. 4shows an exemplary relationship between the target tempo and the target range. A curve3inFIG. 4indicates an exemplary change in the movement tempo detected by the movement tempo detector44, that is, a movement tempo detection value T, with respect to time.

As shown inFIG. 4, the target range is from (Ta+Tu) to (Ta−Td) where Ta is the target tempo (movement tempo target value), Tu is an upper allowable width, and Td is a lower allowable width. Therefore, (Ta+Tu) is an upper limit value (upper limit tempo), and (Ta−Td) is a lower limit value (lower limit tempo).

The upper allowable width Tu and the lower allowable width Td are, for example, constant regardless of the target tempo Ta. In this case, the upper allowable width Tu and the lower allowable width Td may be of the same width or of different widths instead.

Furthermore, in this case, instead of setting the upper allowable width Tu and the lower allowable width Td to fixed values in the user terminal10, the user1may instruct the upper allowable width Tu and the lower allowable width Td.

Alternatively, as shown inFIGS. 5A and 5B, the upper allowable width Tu and the lower allowable width Td may be proportional to the target tempo Ta.

That is, in this case, Tu=αTa, and Td=βTa where α and β are proportionality coefficients and are the same value or different values instead.

FIG. 5Ashows the case where the target tempo Ta is a relatively large value, e.g., 180, and the upper allowable width Tu and the lower allowable width Td are set to relatively large values.FIG. 5Bshows the case where the target tempo Ta is a relatively small value, e.g., 120, and the upper allowable width Tu and the lower allowable width Td are set to relatively small values.

In the case where the upper allowable width Tu and the lower allowable width Td are constant regardless of the target tempo Ta, the larger the target tempo Ta, the more difficult it is to maintain the actual movement tempo within the target range. This difficulty may be avoided by setting the upper allowable width Tu and the lower allowable width Td to be proportional to the target tempo Ta, as shown inFIGS. 5A and 5B.

In this case, the user may instruct the proportionality coefficients α and β to the user terminal10instead of setting the proportionality coefficients α and β to fixed values in the user terminal10.

2-3. Determination of Whether Movement Tempo is Within Target Range (FIGS. 4 and 6)

The in/out-of-range determining unit45shown inFIG. 2determines whether the movement tempo detection value T, which is output from the movement tempo detector44, is within the target range set in the above-described manner.

Referring toFIG. 4, the movement tempo detection value T changes with time, as indicated by the curve3. At time t1, the movement tempo detection value T exceeds the target range. At time t3, the movement tempo detection value T becomes within the target range again. At time t4, the movement tempo detection value T falls below the target range. At time t6, the movement tempo detection value T becomes within the target range again.

In this case, when the movement tempo detection value T becomes out of the target range at time t1or time t4, the user terminal10may promptly output a warning. For example, the user terminal10is configured to output a warning when the movement tempo detection value T has been out of the target range for a predetermined period of time Tc or longer, that is, at time t2and time t5in the case ofFIG. 4.

InFIG. 4, since warnings are output at time t2and time t4, the user notices that the movement tempo is out of a certain range (target range). Immediately after time t2, the user slows down the movement tempo. Immediately after time t5, the user speeds up the movement tempo. As a result, the movement tempo detection value T becomes within the target range at time t3and time t6. Therefore, periods P1and P4are periods during which the movement tempo detection value T is out of the target range.

Instead of outputting a warning when the movement tempo detection value T has been out of the target range for the predetermined period of time Tc or longer, the user terminal10may be configured to output a warning when the movement tempo detection value T is out of the target range at least N times in the recent M detections.

Specifically, it is shown inFIG. 4for convenience that the movement tempo detection value T is continuously obtained. Actually, however, the movement tempo is detected from the autocorrection waveform of the sensor output signal, as shown inFIGS. 3A and 3B. Therefore, the movement tempo detection value T is detected in samples, as shown inFIG. 6.

In a method shown inFIG. 6, M=5, and N=2, and a warning is output when the movement tempo detection value T is out of the target range twice or more in the recent five detections including S5, S6, S7, . . . , S22, S23, S24, . . . .

In the case ofFIG. 6, no warning is output at a time at which a detection value T7is obtained. When a detection value T9is obtained at time t9, the movement tempo detection value T is regarded as being apt to exceed the target range, and a warning is output. Similarly, no warning is output at a time at which a detection value T20is obtained. When a detection value T24is obtained at time t24, the movement tempo detection value T is regarded as being apt to fall below the target range, and a warning is output.

In the aforementioned method, M is an integer greater than or equal to three, and N is an integer greater than or equal to two and smaller than M.

Alternatively, a warning may be output when the average of the movement tempo detection values T obtained in a predetermined period of time (a predetermined number of detections) is out of the target range.

If a warning is promptly output when the movement tempo detection value T is out of the target range even once, a warning is output when the user is at a corner of the road and the movement tempo detection value T is out of the target range, which may be bothersome to the user. This problem may be avoided in the case shown inFIG. 4where a warning is output when the movement tempo detection value T has been continuously out of the target range for a predetermined period of time (a predetermined number of detections) or longer, in the case shown inFIG. 6where a warning is output when the movement tempo detection value T is out of the target range at least N times in the recent M detections, or in the case where a warning is output when the average of the movement tempo detection values T obtained in a predetermined period of time (a predetermined number of detections) is out of the target range.

FIG. 7is a flowchart of an exemplary movement supporting process performed by the user terminal10in the case where a user walks or jogs while listening to music played by the user terminal10.

The exemplary movement supporting process starts in response to an instruction from the user when the user starts walking or jogging. In step S51, the controller46sets the target tempo Ta. In step S52, the controller46sets the target range.

When the movement tempo upon the start of the movement of the user is set as the target tempo Ta, as has been described above, in step S51, the movement tempo upon the start of the movement is detected, and the detected tempo is set as the target tempo Ta.

When the movement tempo detection value T is within the target range, the flow proceeds from step S54to step S55. In step S55, the controller46controls the user terminal10to play music in a normal state. In step S56, the controller46determines whether to end the movement supporting process in response to a user instruction. If the controller46determines not to end the process, the flow returns to step S53, and the controller46allows the movement tempo detector44to continue detecting the movement tempo.

If it is determined in step S54that the movement tempo detection value T is out of the target range, in step S57, the controller46determines in this case whether this state has continued for a predetermined period of time. If this state has not continued for the predetermined period of time, in step S56, the controller46determines whether to end the movement supporting process. If the controller46determines not to end the process, the flow returns to step S53, and the controller46allows the movement tempo detector44to continue detecting the movement tempo.

In contrast, when it is determined in step S57that the movement tempo detection value T has been continuously out of the target range for the predetermined period of time, in step S58, the controller46outputs a warning by changing the playback state of music, as will be described below. That is, the controller46warns the user that the user is out of tempo. In step S56, the controller46determines whether to end the movement supporting process. If the controller46determines not to end the process, the flow returns to step S53, and the controller46allows the movement tempo detector44to continue detecting the movement tempo.

2-5. Types of Warnings

A warning, that is, a warning indicating that the movement is out of tempo, is output using the following methods.

Changing Playback State of Content

A first method is performed to output a warning by changing the playback state of content being played when music or video is played, that is, when a user exercises or plays while listening to music or watching video.

For example, when music is played as in the aforementioned example, the playback state of the music is changed. Specifically, the playback state of the music is changed in the following manners:(a) When the movement tempo exceeds the target range such as at time t2inFIG. 4or time t9inFIG. 6, the playback tempo of the music being played is increased much faster than the original tempo so that the user can be informed that the movement tempo exceeds the target range. When the movement tempo falls below the target range such as at time t5inFIG. 4or time t24inFIG. 6, the playback tempo of the music being played is reduced much slower than the original tempo so that the user can be informed that the movement tempo falls below the target range;(b) The music is played without a vocal part;(c) Only one of two stereo channels (left and right) is played;(d) The left and right channels are reversed and played;(e) The playback of the music is stopped; and(f) A different piece of music is played instead of the music being played.

When video (image) is played, the playback state of the video is changed. Specifically, the playback state of the video is changed in the following manners:(g) When the movement tempo exceeds the target range, the playback tempo of the video being played is increased much faster than the original tempo (the video is played fast) so that the user can be informed that the movement tempo exceeds the target range. When the movement tempo falls below the target range, the playback tempo of the video being played is reduced much slower than the original tempo (the video is played slowly) so that the user can be informed that the movement tempo falls below the target range;(h) The brightness, contrast, or saturation of the video being played is reduced, and the video is played;(i) The playback of the video is stopped; and(j) Another image, such as a still image, is played instead of the video being played.
Changing or Stopping Sound Output

A second method, which is applicable when music or video is played or not played, outputs a beep, a noise, or another sound, changes the frequency of a sound being output from that in the case of the target range, or stops output of a sound when the movement tempo exceeds or falls below the target range.

In this case, different beeps or noises may be output in the cases where the movement tempo exceeds and falls below the target range. Alternatively, the frequency of a sound being output may be changed in the cases where the movement tempo exceeds and falls below the target range.

Outputting or Changing Light or Stopping Light Output

A third method, which is applicable when music or video is played or not played, outputs light, changes a light output mode, or stops output of light when the movement tempo exceeds or falls below the target range.

Specifically, when the movement tempo exceeds or falls below the target range, the user terminal10of the example shown inFIG. 1performs the following:(k) The LED display unit28turns on or flashes the LED;(l) The LED of the LED display unit28, which has been turned on, is changed to flashing; or the LED display unit28whose LED has been turned on to emit light of a certain color is changed to emit light of a different color; and(m) The LED of the LED display unit28, which has been turned on, is turned off.
Generating, Changing, or Stopping Vibration

A fourth method, which is applicable when music or video is played or not played, generates a vibration, changes a vibration mode, or stops a vibration. The fourth method can be executed by the drive circuit31and the vibrator32in the user terminal10of the example shown inFIG. 1.