WO2016023169A1 - Methods and apparatus for motion control of a media player - Google Patents

Methods and apparatus for motion control of a media player Download PDF

Info

Publication number
WO2016023169A1
WO2016023169A1 PCT/CN2014/084203 CN2014084203W WO2016023169A1 WO 2016023169 A1 WO2016023169 A1 WO 2016023169A1 CN 2014084203 W CN2014084203 W CN 2014084203W WO 2016023169 A1 WO2016023169 A1 WO 2016023169A1
Authority
WO
WIPO (PCT)
Prior art keywords
media player
motion
audio file
data
moving
Prior art date
Application number
PCT/CN2014/084203
Other languages
French (fr)
Inventor
Shaopeng SONG
Kaibin WU
Shengbo HUANG
Lei Li
Ran XIE
Original Assignee
Shenzhen Sugr Technology Limited Company
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Sugr Technology Limited Company filed Critical Shenzhen Sugr Technology Limited Company
Priority to PCT/CN2014/084203 priority Critical patent/WO2016023169A1/en
Publication of WO2016023169A1 publication Critical patent/WO2016023169A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures

Definitions

  • the present disclosure is directed to playback of audio and/or video content using an electronic media player device and, more particularly to methods and apparatus for controlling such playback.
  • buttons or touch interfaces Some known media players are equipped with buttons or touch interfaces. Typically, a user desiring to operate the media player to, for example, pause or skip a media track, the user must find a corresponding button and press it in order to initiate the action. In many respects using buttons is not an intuitive or natural way of controlling a media player device. For example, when buttons and/or touch icons are used for a media player, the user must look at the media player and locate which area to touch in order to operate the media player. Unfortunately, the effective area through which the media player may be controlled is generally relatively small. Accordingly, a need exists for a solution which allows for faster, more intuitive control over media players.
  • a user may control a media player without having to look at the device and without having to be visually distracted from their surrounding environment.
  • the user may move the media player, such as by performing predefined gestures, in order to induce the media player to perform desired operations with respect to audio or other media files stored on or otherwise rendered by the media player (e.g., pausing, playing, skipping, and randomizing the playback of such files).
  • the user may also configure the media player to perform desired or a plurality of operations in response to customized gestures defined by the user.
  • the disclosure relates to a motion-sensing method used to control a portable media player.
  • the method includes detecting motion of the media player and determining a motion type associated with the motion of the media player.
  • the method further includes determining a media player operation corresponding to the motion type, the media player operation being one of a plurality of media player operations respectively corresponding to a plurality of motion types.
  • An instruction is then generated in order to cause the media player to perform the media player operation.
  • the disclosure also pertains to a motion-controlled media player apparatus which includes a motion-sensing module configured to produce motion data in response to motion of the media player.
  • a main controller module of the media player apparatus is configured to: calculate, based upon the motion data, a motion type associated with the motion of the media player; determine a media player operation corresponding to the motion type, the media player operation being one of a plurality of media player operations respectively corresponding to a plurality of motion types; and generate an instruction causing the media player to perform the media player operation.
  • the disclosure is directed to a method for controlling a portable media player.
  • the method includes generating motion data in response to motion of the portable media player and calculating an average position based on the motion data.
  • the method further includes comparing the average position to a standard media player position and determining a motion type based upon a comparison between the average position and the standard media player position.
  • a media player operation corresponding to the motion type may then be determined and an instruction generated in order to cause the media player to perform the media player operation.
  • FIG. 1 is a logic flow diagram representative of operation of a media player, according to an embodiment.
  • FIG. 2 is a logic flow diagram representative of operation of a media player, according to an embodiment.
  • FIG. 3 is a logic flow diagram representative of operation of a media player, according to an embodiment.
  • FIG. 3 is a system block diagram of a media player, according to an embodiment.
  • FIG. 4 is a system block diagram of a media player, according to an embodiment.
  • FIG. 5 is a system block diagram of a media player, according to an embodiment. Detailed Description of the Drawings
  • FIGURE 1 is a logic flow diagram representative of exemplary operation of an embodiment of a media player.
  • a user may utilize a media player to listen to or play music.
  • a media player may be realized as a wireless audio player configured with Wi-Fi or Bluetooth wireless modules to connect to an external source and/or a plurality of external sources, in order to obtain audio data.
  • the wireless audio player may play local disk files, files stored on TF, SD, and/or SDHC cards, audio files streamed from internet sources, audio files streamed from a local device over Bluetooth and/or a like protocol, and/or the like.
  • the player may detect motions used with the media player 102, determine a motion type based on the detected motions 104, and use the motion to determine how to control playback behavior on the media player 106.
  • motions may be detected via accelerometer module and/or gyroscope module data (e.g., including but not limited to data from LIS3DH accelerometers from ST microelectronics, and/or the like).
  • the data may be presented as a series of position points on a three- dimensional plane represented as [x,y,z], wherein x may correspond to horizontal movement, y may correspond to vertical movement, and z may correspond to forward and/or backward movement, and/or the like.
  • the position data may be collected in programmable intervals, e.g., every microsecond, every second, and/or the like.
  • the media player may obtain the accelerometer data during pre-determined intervals 202 (e.g., every 10 milliseconds, and/or the like), may filter the accelerometer data to determine a time domain data average (e.g., performing a low-pass filter over the accelerometer data) 204, and may match the filtered accelerometer data to a media player action 206 that the media player can use to perform a task (e.g., play, skip, and/or pause an audio file, skip to a random audio file, change audio files and/or channels currently being played, and/or the like).
  • a task e.g., play, skip, and/or pause an audio file, skip to a random audio file, change audio files and/or channels currently being played, and/or the like.
  • the media player may obtain a stream of motion data points, e.g., from an accelerometer module, a gyroscope module, and/or another module configured to obtain motion data 302.
  • the media player (e.g., via a main controller and/or another module configured to process the motion data) may calculate an average motion data position from the stream of motion data points 304, e.g., via calculating an average value for each axis of the data points (e.g., the average x, y, and z values).
  • the media player may determine whether the average values fall within a threshold for the motion type.
  • the media player may first check to determine whether the x-value of the average position falls within a threshold and/or range expected for an x-value for the motion type 308. The media player may then check to determine whether the y-value of the average position 314 and the z- value of the average position 316 fall within thresholds and/or ranges expected for those axes. If all of the values in the average position fall within the thresholds and/or ranges for a particular motion type, the media player may determine that the particular motion type corresponds to the motion data provided 318, and may match the motion type to a media player action 320, e.g., playing, pausing, skipping, and/or otherwise interacting with audio files, playlists, channels, and/or the like. Once the media player knows which media player action corresponds to the motion type, the media player may perform the matched media player action 322.
  • a media player action 320 e.g., playing, pausing, skipping, and/or otherwise interacting with audio files, playlists, channels, and/or
  • the media player may determine if there are any further motion types which have not been checked 310, and may repeat the process with the next motion type. If all motion types have been checked, the media player may determine that a motion type cannot be determined, and/or may determine that the user has performed an invalid motion 312. The media player may notify the user to indicate that the motion type could not be determined (e.g., the motion was invalid), and may prompt the user to retry the gesture the user had attempted to perform.
  • a media player may include a main controller module 402 and a motion sensing module 412.
  • the motion sensing module 412 may be configured to detect media player motion.
  • the main controller module 402 may receive motion sensing data from the media player's accelerometer, gyroscope, and/or like motion sensing devices and may determine a type of motion performed with the media player.
  • the media player may determine which type of motion has occurred via comparing the motion sensing data against standard (e.g., a rest) position data, and using the difference between the motion sensing data and the standard position data to determine how the media device has moved.
  • standard e.g., a rest
  • the motion sensing data may contain a plurality of position data points; in such implementations, the main controller 402 may determine the average data point for each dimension of the data (e.g., may determine the average x value, the average y value, and the average z value, and/or the like), and compare the calculated average values to the standard position data. If the average values fall within a specified threshold of the standard position data, the main controller 402 may be able to determine that a particular movement has been made.
  • the main controller 402 may determine, for each plane (e.g., the XZ plane, and/or the like) if the values for x, y, and z fall below a maximum threshold values for each axis, and if the values for x, y, and z each fall above a minimum threshold value for each axis. For some planes, the average values may fall outside the specified thresholds; for a particular plane, the average values may fall within the specified thresholds. A motion value may be able to be derived based on which plane the average values fall within the specified thresholds. Depending on the type of motion performed, the main controller module 402 may then determine how to control the media player.
  • each plane e.g., the XZ plane, and/or the like
  • the main controller module 402 may determine how to control the media player.
  • motion types may include (but are not limited to) turn left, turn right, turn forward, turn backward, and random shaking.
  • actions that may be performed based on the motion types may include (but are not limited to) previous track, next track, pause, resume, and random play.
  • the media player may pre-define rules in order to determine how to translate motion types and/or a combination of motion types into actions.
  • a user may be able to add custom motions and/or actions to the media player in order to allow for more freedom of control over the media player.
  • the user may be able to select an existing action, select an option to create a custom motion for the action, and may be asked to repeat the motion (e.g., the user may be asked to repeat the gesture three times and/or a like number of times) such that the media player may generate a motion model and/or otherwise determine how to interpret and remember the motion for future use.
  • a user may easily control media playing using motion controls. Compared to traditional button or touch interfaces, using motion controls is believed to be easier.
  • the media player performs the operations indicated below upon detection of the corresponding motion types: the media player moves to a previous audio file when the motion type is a left turn of a magnitude between 20 and 45 degrees;
  • the media player moves to a next audio file when the motion type is a right turn of a magnitude between 20 and 45 degrees;
  • the media player moves to a previous channel when the motion type is a left turn of a magnitude between 60 and 90 degrees;
  • the media player moves to a next channel when the motion type is a right turn of a magnitude between 60 and 90 degrees;
  • the media player pauses an audio file when the motion type is a backward turn
  • the media player plays an audio file when the motion type is a forward turn
  • the media player skips to a random audio file (e.g., any audio file stored within the media player other than the currently selected file) when the motion type is a shake;
  • a random audio file e.g., any audio file stored within the media player other than the currently selected file
  • the main controller module 402 may comprise at least a processor 406, a wireless communication module 404 operatively coupled to processor 406, and memory 414 which stores audio data and which is also operatively coupled to the processor 406.
  • the wireless communication module 404 may be a WIFI or Bluetooth module, and/or another type of communication module.
  • the Wi-Fi and/or Bluetooth module may be integrated with the main controller 402.
  • the main controller 402 may comprise a processor 406, a Wi-Fi module, memory 408, an audio codec 410, external data storage 414 and a microphone.
  • the Wi-Fi module may be operatively coupled with the processor 406, and the processor may use the Wi-Fi module to download audio data from external data sources.
  • the processor 406 and Wi-Fi module may be integrated into one chip.
  • the memory 414 may be operatively coupled to the processor 406, allowing for audio data from the Wi-Fi module to be stored on the memory.
  • the processor 406 may be an ARM or MIPS processor, or may be a collection of micro-controllers.
  • the memory 414 may be Flash memory, or may be a Flash memory card or memory chip, and/or other types of memory (e.g. RAM and/or the like).
  • the processor 406 may connect to the Wi-Fi module with Serial, SDIO, USB and/or other interfaces.
  • the processor may connect to the memory 414 with a standard memory interface, e.g., DDR2, DDR3, and/or the like.
  • the audio codec module 410 may be connected to the processor 406 with a digital audio interface.
  • the audio codec module may receive microphone analog signals and translate the analog signals into digital signals.
  • the audio codec module may be a stand-alone chip or may be integrated into the processor 406.
  • the media player may also include a speaker or speakers 416.
  • the speaker 416 may be connected to the audio codec module.
  • the media player may contain a battery 418, which may serve as a power source to the media player.
  • a smart device may transfer Wi-Fi SSID and/or password information through a specific application for use by the media player.
  • the smart device may be a smart phone, tablet (e.g., Apple iPad or Microsoft Surface), and/or other mobile devices.
  • the media player may receive the Wi-Fi SSID and password signal from the application to the player, decode it, and configure its Wi-Fi module based on the data in the signal.
  • the smart device may play specific sounds through its speaker, the sound comprising at least Wi-Fi SSID and password information.
  • the player may receive the sound and decode Wi-Fi SSID and password based on the sound. Then the player may configure its Wi-Fi module to access the wireless network.
  • an application may be installed on the smart device so that a user can control the media player to play specific audio files and/or data from external network sources.
  • the application may also generate and/or play the specific sound for conveying the Wi-Fi SSID and password settings.
  • the application may also control the media player in order to play, pause, download, and/or remove audio files stored on the media player.
  • the application may play specific frequency modulated sounds, which may contain Wi-Fi SSID and password data.
  • the media player may invoke the processor 406 for decoding the sound signal from the microphone, and may then configure the Wi-Fi module with the decoded SSID and password. More information about this process may be found in the concurrently-filed application serial no. , filed and entitled "METHODS AND APPARATUS FOR USING AUDIO TO DETECT WIRELESS NETWORK SETTINGS FOR A WIFI AUDIO PLAYER.”
  • the processor 406 may then download audio data from external network sources and store the data in the memory 414.
  • the smart device and application may allow the media player to download audio data from external network sources, e.g., audio files from local devices, audio files from Spotify music services, and/or the like.
  • the media player may use the user's account information to access the user's personal favorites, playlists, and/or the like; in some implementations the external network source may provide a default playlist and/or a default set of audio files if no account information is provided.
  • the processor 406 may download the music and store it in the memory 414.
  • the media player When the media player is connected to a wireless network (for example, when a Wi-Fi network is available), the media player automatically downloads audio file data based on user selections of audio files to download to the media player.
  • the media player may output sound using at least two mechanisms: in some implementations, a speaker and an audio amplifier may be operatively coupled to an audio codec module.
  • the audio codec module may be operatively coupled to the processor 406.
  • the media player may have a housing cover, and the stated processor 406, a microphone, memory 414, a Wi-Fi module and a Printed Circuit Board (e.g., PCB) may reside within the housing cover.
  • the housing cover may have a hole directly above the microphone, in order to allow sound to pass into the microphone.
  • the media player may also comprise a battery and power source circuits. When a batter is not present, the media player may be powered by external power source.
  • the Wi-Fi SSID and password may be stored in the memory 414, and may refer to this authentication information during subsequent sessions. After initial network configuration is performed, the media player may automatically connect to any of the Wi-Fi networks that have been stored in memory.
  • the media player may connect with a Bluetooth host device which supports A2DP protocol, and/or a like protocol.
  • a media player may comprise both a motion sensing module 512 and a touch-sensing module 520.
  • the touch-sensing module may detect if there is touch activity on the media player (e.g., if the user has inputted commands via a touch interface, and/or the like).
  • the main control module 502 may detect touch or key button activity.
  • the touch activity may control playback. If in pre-defined duration the player does not detect any button or touch activity, it turns to sleep mode (low power or shut down).
  • the media player may prioritize touch and/or key button activity over motion control data.
  • the media player may also have a wireless communication module 504, a processor 506, internal memory 508, an audio codec 510, an external memory 514, a speaker or set of speakers 516, and/or a battery 518.
  • these components may work in a manner similar to the corresponding components in FIGURE 4.
  • the media player touch area may be capable of sensing single touch, double touches, long hold activities, swipes, and/or like gesture and/or action input.
  • the media player may then initiate playback actions such as pause, resume and skip to next audio file, based on the type of touch input received.
  • the systems and apparatus described herein include means for performing various functions as described herein.
  • the aforementioned means may be a processor or processors and associated memory in which embodiments reside, and which are configured to perform the functions recited by the aforementioned means.
  • the aforementioned means may be, for example, processor and/or memory modules or apparatus residing in modems to perform the functions described herein.
  • the aforementioned means may be a module or apparatus configured to perform the functions recited by the aforementioned means, such as an application program and/or plug-in to an application program.
  • the functions, methods and processes described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or encoded as one or more instructions or code on a computer-readable medium.
  • the software may include an application program and/or a plug-in for use with an application program.
  • the application program may be, for example, a media player such as Windows Media Player.
  • Computer-readable media includes computer storage media.
  • Storage media may be any available media that can be accessed by a computer.
  • such computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
  • Disk and disc includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu- ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above can also be included within the scope of computer- readable media.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • a general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine.
  • a processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
  • a software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
  • An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium.
  • the storage medium may be integral to the processor.
  • the processor and the storage medium may reside in an ASIC.
  • the ASIC may reside in a user terminal.
  • the processor and the storage medium may reside as discrete components in a user terminal.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

A motion-controlled portable media player and a motion-sensing method used to control a portable media player. The method includes detecting motion of the media player and determining a motion type associated with the motion of the media player. The method further includes determining a media player operation corresponding to the motion type, the media player operation being one of a plurality of media player operations respectively corresponding to a plurality of motion types. An instruction is then generated in order to cause the media player to perform the media player operation.

Description

METHODS AND APPARATUS FOR MOTION CONTROL OF A MEDIA PLAYER
Field
The present disclosure is directed to playback of audio and/or video content using an electronic media player device and, more particularly to methods and apparatus for controlling such playback.
Background
Some known media players are equipped with buttons or touch interfaces. Typically, a user desiring to operate the media player to, for example, pause or skip a media track, the user must find a corresponding button and press it in order to initiate the action. In many respects using buttons is not an intuitive or natural way of controlling a media player device. For example, when buttons and/or touch icons are used for a media player, the user must look at the media player and locate which area to touch in order to operate the media player. Unfortunately, the effective area through which the media player may be controlled is generally relatively small. Accordingly, a need exists for a solution which allows for faster, more intuitive control over media players.
Summary
Using the proposed method, a user may control a media player without having to look at the device and without having to be visually distracted from their surrounding environment. The user may move the media player, such as by performing predefined gestures, in order to induce the media player to perform desired operations with respect to audio or other media files stored on or otherwise rendered by the media player (e.g., pausing, playing, skipping, and randomizing the playback of such files). The user may also configure the media player to perform desired or a plurality of operations in response to customized gestures defined by the user.
In one aspect the disclosure relates to a motion-sensing method used to control a portable media player. The method includes detecting motion of the media player and determining a motion type associated with the motion of the media player. The method further includes determining a media player operation corresponding to the motion type, the media player operation being one of a plurality of media player operations respectively corresponding to a plurality of motion types. An instruction is then generated in order to cause the media player to perform the media player operation.
The disclosure also pertains to a motion-controlled media player apparatus which includes a motion-sensing module configured to produce motion data in response to motion of the media player. A main controller module of the media player apparatus is configured to: calculate, based upon the motion data, a motion type associated with the motion of the media player; determine a media player operation corresponding to the motion type, the media player operation being one of a plurality of media player operations respectively corresponding to a plurality of motion types; and generate an instruction causing the media player to perform the media player operation.
In another aspect the disclosure is directed to a method for controlling a portable media player. The method includes generating motion data in response to motion of the portable media player and calculating an average position based on the motion data. The method further includes comparing the average position to a standard media player position and determining a motion type based upon a comparison between the average position and the standard media player position. A media player operation corresponding to the motion type may then be determined and an instruction generated in order to cause the media player to perform the media player operation.
Brief Description of the Drawings
FIG. 1 is a logic flow diagram representative of operation of a media player, according to an embodiment.
FIG. 2 is a logic flow diagram representative of operation of a media player, according to an embodiment.
FIG. 3 is a logic flow diagram representative of operation of a media player, according to an embodiment.
FIG. 3 is a system block diagram of a media player, according to an embodiment.
FIG. 4 is a system block diagram of a media player, according to an embodiment.
FIG. 5 is a system block diagram of a media player, according to an embodiment. Detailed Description of the Drawings
Attention is directed to FIGURE 1 , which is a logic flow diagram representative of exemplary operation of an embodiment of a media player. In some implementations, a user may utilize a media player to listen to or play music. A media player may be realized as a wireless audio player configured with Wi-Fi or Bluetooth wireless modules to connect to an external source and/or a plurality of external sources, in order to obtain audio data. In some implementations the wireless audio player may play local disk files, files stored on TF, SD, and/or SDHC cards, audio files streamed from internet sources, audio files streamed from a local device over Bluetooth and/or a like protocol, and/or the like. In some implementations, the player may detect motions used with the media player 102, determine a motion type based on the detected motions 104, and use the motion to determine how to control playback behavior on the media player 106.
In some implementations, motions (e.g., gestures performed by the user with the media player) may be detected via accelerometer module and/or gyroscope module data (e.g., including but not limited to data from LIS3DH accelerometers from ST microelectronics, and/or the like). The data may be presented as a series of position points on a three- dimensional plane represented as [x,y,z], wherein x may correspond to horizontal movement, y may correspond to vertical movement, and z may correspond to forward and/or backward movement, and/or the like. The position data may be collected in programmable intervals, e.g., every microsecond, every second, and/or the like.
Referring to FIGURE 2, in some implementations the media player may obtain the accelerometer data during pre-determined intervals 202 (e.g., every 10 milliseconds, and/or the like), may filter the accelerometer data to determine a time domain data average (e.g., performing a low-pass filter over the accelerometer data) 204, and may match the filtered accelerometer data to a media player action 206 that the media player can use to perform a task (e.g., play, skip, and/or pause an audio file, skip to a random audio file, change audio files and/or channels currently being played, and/or the like).
Referring to FIGURE 3, the media player may obtain a stream of motion data points, e.g., from an accelerometer module, a gyroscope module, and/or another module configured to obtain motion data 302. The media player (e.g., via a main controller and/or another module configured to process the motion data) may calculate an average motion data position from the stream of motion data points 304, e.g., via calculating an average value for each axis of the data points (e.g., the average x, y, and z values). For each type of motion that the motion data may correspond to 306, the media player may determine whether the average values fall within a threshold for the motion type. For example, the media player may first check to determine whether the x-value of the average position falls within a threshold and/or range expected for an x-value for the motion type 308. The media player may then check to determine whether the y-value of the average position 314 and the z- value of the average position 316 fall within thresholds and/or ranges expected for those axes. If all of the values in the average position fall within the thresholds and/or ranges for a particular motion type, the media player may determine that the particular motion type corresponds to the motion data provided 318, and may match the motion type to a media player action 320, e.g., playing, pausing, skipping, and/or otherwise interacting with audio files, playlists, channels, and/or the like. Once the media player knows which media player action corresponds to the motion type, the media player may perform the matched media player action 322.
If the x, y, or z- values of the average position do not fall within the threshold and/or range for the motion type, the media player may determine if there are any further motion types which have not been checked 310, and may repeat the process with the next motion type. If all motion types have been checked, the media player may determine that a motion type cannot be determined, and/or may determine that the user has performed an invalid motion 312. The media player may notify the user to indicate that the motion type could not be determined (e.g., the motion was invalid), and may prompt the user to retry the gesture the user had attempted to perform.
In some implementations, referring to FIGURE 4, a media player may include a main controller module 402 and a motion sensing module 412. The motion sensing module 412 may be configured to detect media player motion. The main controller module 402 may receive motion sensing data from the media player's accelerometer, gyroscope, and/or like motion sensing devices and may determine a type of motion performed with the media player. In some implementations, the media player may determine which type of motion has occurred via comparing the motion sensing data against standard (e.g., a rest) position data, and using the difference between the motion sensing data and the standard position data to determine how the media device has moved. In some implementations, the motion sensing data may contain a plurality of position data points; in such implementations, the main controller 402 may determine the average data point for each dimension of the data (e.g., may determine the average x value, the average y value, and the average z value, and/or the like), and compare the calculated average values to the standard position data. If the average values fall within a specified threshold of the standard position data, the main controller 402 may be able to determine that a particular movement has been made. For example, the main controller 402 may determine, for each plane (e.g., the XZ plane, and/or the like) if the values for x, y, and z fall below a maximum threshold values for each axis, and if the values for x, y, and z each fall above a minimum threshold value for each axis. For some planes, the average values may fall outside the specified thresholds; for a particular plane, the average values may fall within the specified thresholds. A motion value may be able to be derived based on which plane the average values fall within the specified thresholds. Depending on the type of motion performed, the main controller module 402 may then determine how to control the media player.
In some implementations, motion types may include (but are not limited to) turn left, turn right, turn forward, turn backward, and random shaking. In some implementations, actions that may be performed based on the motion types may include (but are not limited to) previous track, next track, pause, resume, and random play. The media player may pre-define rules in order to determine how to translate motion types and/or a combination of motion types into actions. In some implementations, a user may be able to add custom motions and/or actions to the media player in order to allow for more freedom of control over the media player. For example, in some implementations the user may be able to select an existing action, select an option to create a custom motion for the action, and may be asked to repeat the motion (e.g., the user may be asked to repeat the gesture three times and/or a like number of times) such that the media player may generate a motion model and/or otherwise determine how to interpret and remember the motion for future use.
Based on the above implementation, a user may easily control media playing using motion controls. Compared to traditional button or touch interfaces, using motion controls is believed to be easier.
In an exemplary embodiment the media player performs the operations indicated below upon detection of the corresponding motion types: the media player moves to a previous audio file when the motion type is a left turn of a magnitude between 20 and 45 degrees;
the media player moves to a next audio file when the motion type is a right turn of a magnitude between 20 and 45 degrees;
the media player moves to a previous channel when the motion type is a left turn of a magnitude between 60 and 90 degrees;
the media player moves to a next channel when the motion type is a right turn of a magnitude between 60 and 90 degrees;
the media player pauses an audio file when the motion type is a backward turn;
the media player plays an audio file when the motion type is a forward turn;
the media player skips to a random audio file (e.g., any audio file stored within the media player other than the currently selected file) when the motion type is a shake;
In some implementations, the main controller module 402 may comprise at least a processor 406, a wireless communication module 404 operatively coupled to processor 406, and memory 414 which stores audio data and which is also operatively coupled to the processor 406. The wireless communication module 404 may be a WIFI or Bluetooth module, and/or another type of communication module. In some implementations the Wi-Fi and/or Bluetooth module may be integrated with the main controller 402.
If the media player uses a Wi-Fi module, the main controller 402 may comprise a processor 406, a Wi-Fi module, memory 408, an audio codec 410, external data storage 414 and a microphone. The Wi-Fi module may be operatively coupled with the processor 406, and the processor may use the Wi-Fi module to download audio data from external data sources. In some implementations the processor 406 and Wi-Fi module may be integrated into one chip. The memory 414 may be operatively coupled to the processor 406, allowing for audio data from the Wi-Fi module to be stored on the memory. The processor 406 may be an ARM or MIPS processor, or may be a collection of micro-controllers. The memory 414 may be Flash memory, or may be a Flash memory card or memory chip, and/or other types of memory (e.g. RAM and/or the like). The processor 406 may connect to the Wi-Fi module with Serial, SDIO, USB and/or other interfaces. The processor may connect to the memory 414 with a standard memory interface, e.g., DDR2, DDR3, and/or the like. The audio codec module 410 may be connected to the processor 406 with a digital audio interface. The audio codec module may receive microphone analog signals and translate the analog signals into digital signals. The audio codec module may be a stand-alone chip or may be integrated into the processor 406.
The media player may also include a speaker or speakers 416. The speaker 416 may be connected to the audio codec module.
If necessary (e.g., if the player is not equipped with an external power adapter, and/or the like), the media player may contain a battery 418, which may serve as a power source to the media player.
In some implementations, a smart device may transfer Wi-Fi SSID and/or password information through a specific application for use by the media player. In some implementations the smart device may be a smart phone, tablet (e.g., Apple iPad or Microsoft Surface), and/or other mobile devices. The media player may receive the Wi-Fi SSID and password signal from the application to the player, decode it, and configure its Wi-Fi module based on the data in the signal.
As one of the possible implementations, the smart device may play specific sounds through its speaker, the sound comprising at least Wi-Fi SSID and password information. The player may receive the sound and decode Wi-Fi SSID and password based on the sound. Then the player may configure its Wi-Fi module to access the wireless network. In some implementations, an application may be installed on the smart device so that a user can control the media player to play specific audio files and/or data from external network sources. In some implementations, the application may also generate and/or play the specific sound for conveying the Wi-Fi SSID and password settings. The application may also control the media player in order to play, pause, download, and/or remove audio files stored on the media player.
More specifically, the application may play specific frequency modulated sounds, which may contain Wi-Fi SSID and password data. The media player may invoke the processor 406 for decoding the sound signal from the microphone, and may then configure the Wi-Fi module with the decoded SSID and password. More information about this process may be found in the concurrently-filed application serial no. , filed and entitled "METHODS AND APPARATUS FOR USING AUDIO TO DETECT WIRELESS NETWORK SETTINGS FOR A WIFI AUDIO PLAYER." The processor 406 may then download audio data from external network sources and store the data in the memory 414. The smart device and application may allow the media player to download audio data from external network sources, e.g., audio files from local devices, audio files from Spotify music services, and/or the like. In some implementations, the media player may use the user's account information to access the user's personal favorites, playlists, and/or the like; in some implementations the external network source may provide a default playlist and/or a default set of audio files if no account information is provided. The processor 406 may download the music and store it in the memory 414. When the media player is connected to a wireless network (for example, when a Wi-Fi network is available), the media player automatically downloads audio file data based on user selections of audio files to download to the media player. When the player is not within any Wi-Fi network, the user may listen to the downloaded audio files. The user, therefore, may not need to manually copy any audio files to the media player. The media player may output sound using at least two mechanisms: in some implementations, a speaker and an audio amplifier may be operatively coupled to an audio codec module. The audio codec module may be operatively coupled to the processor 406. The media player may have a housing cover, and the stated processor 406, a microphone, memory 414, a Wi-Fi module and a Printed Circuit Board (e.g., PCB) may reside within the housing cover. The housing cover may have a hole directly above the microphone, in order to allow sound to pass into the microphone.
If necessary, the media player may also comprise a battery and power source circuits. When a batter is not present, the media player may be powered by external power source.
In some implementations, the Wi-Fi SSID and password may be stored in the memory 414, and may refer to this authentication information during subsequent sessions. After initial network configuration is performed, the media player may automatically connect to any of the Wi-Fi networks that have been stored in memory.
In some implementations, if the media player utilizes a Bluetooth module to connect to another device hosting audio files and/or the like, the media player may connect with a Bluetooth host device which supports A2DP protocol, and/or a like protocol.
As illustrated in FIGURE 5, a media player, in other implementations, may comprise both a motion sensing module 512 and a touch-sensing module 520. The touch-sensing module may detect if there is touch activity on the media player (e.g., if the user has inputted commands via a touch interface, and/or the like). The main control module 502 may detect touch or key button activity. The touch activity may control playback. If in pre-defined duration the player does not detect any button or touch activity, it turns to sleep mode (low power or shut down). In some implementations the media player may prioritize touch and/or key button activity over motion control data. In some implementations the media player may also have a wireless communication module 504, a processor 506, internal memory 508, an audio codec 510, an external memory 514, a speaker or set of speakers 516, and/or a battery 518. In some implementations these components may work in a manner similar to the corresponding components in FIGURE 4.
Taking touch sensing as example, the media player touch area may be capable of sensing single touch, double touches, long hold activities, swipes, and/or like gesture and/or action input. The media player may then initiate playback actions such as pause, resume and skip to next audio file, based on the type of touch input received.
In some configurations, the systems and apparatus described herein include means for performing various functions as described herein. In one aspect, the aforementioned means may be a processor or processors and associated memory in which embodiments reside, and which are configured to perform the functions recited by the aforementioned means. The aforementioned means may be, for example, processor and/or memory modules or apparatus residing in modems to perform the functions described herein. In another aspect, the aforementioned means may be a module or apparatus configured to perform the functions recited by the aforementioned means, such as an application program and/or plug-in to an application program.
In one or more exemplary embodiments, the functions, methods and processes described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or encoded as one or more instructions or code on a computer-readable medium. The software may include an application program and/or a plug-in for use with an application program. The application program may be, for example, a media player such as Windows Media Player.
Computer-readable media includes computer storage media. Storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu- ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above can also be included within the scope of computer- readable media.
It is understood that the specific order or hierarchy of steps or stages in the processes and methods disclosed are examples of exemplary approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the processes may be rearranged while remaining within the scope of the present disclosure. The illustrated processes present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented.
Those of skill in the art would understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosure.
The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The steps or stages of a method, process or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
The scope of the invention is not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the description herein, wherein reference to an element in the singular is not intended to mean "one and only one" unless specifically so stated, but rather "one or more." Unless specifically stated otherwise, the term "some" refers to one or more. A phrase referring to "at least one of a list of items refers to any combination of those items, including single members. As an example, "at least one of: a, b, or c" is intended to cover: a; b; c; a and b; a and c; b and c; and a, b and c.
The previous description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects without departing from the spirit or scope of the disclosure. Thus, the disclosure is not intended to be limited to the aspects shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

CLAIMS What is claimed is:
1. A motion-sensing method used to control a portable media player, the method comprising: detecting motion of the media player;
determining a motion type associated with the motion of the media player;
determining a media player operation corresponding to the motion type, the media player operation being one of a plurality of media player operations respectively corresponding to a plurality of motion types; and
generating an instruction causing the media player to perform the media player operation.
2. The method of claim 1 wherein the determining a motion type includes filtering motion data produced by a motion sensor of the portable media player in order to calculate average values of motion with respect to one or more spatial axes.
3. The method of claim 2 wherein the determining a motion type includes determining that the average values are included within one or more ranges expected for the motion type.
4. The method of claim 1 wherein the determining a motion type includes:
generating an average position based on motion data produced by a motion sensor of the portable media player; and
comparing the average position to a standard media player position.
5. The method of claim 4, wherein the motion data includes a set of data points distributed within a three-dimensional volume.
6. The method of claim 1, wherein the motion type is one of a turn left, a turn right, a forward motion, a backward motion, and a shake of the media player.
7. The method of claim 1, wherein the media player operation is one of moving to a previous audio file, moving to a next audio file, moving to a previous channel, moving to a next channel, pausing a currently-selected audio file, playing the currently-selected audio file, and randomly playing an audio file.
8. A motion-controlled media player apparatus, the apparatus comprising:
a motion-sensing module configured to produce motion data in response to motion of the media player;
a main controller module configured to: calculate, based upon the motion data, a motion type associated with the motion of the media player;
determine a media player operation corresponding to the motion type, the media player operation being one of a plurality of media player operations respectively corresponding to a plurality of motion types; and
generate an instruction causing the media player to perform the media player operation.
9. The media player apparatus of claim 8 wherein the main controller is further configured to:
generate an average position based on motion data produced by a motion sensor of the portable media player; and
compare the average position to a standard media player position.
10. The media player apparatus of claim 9, wherein the motion data includes a set of data points distributed within a three-dimensional volume.
11. The media player apparatus of claim 8, wherein the motion type is one of a turn left, a turn right, a forward motion, a backward motion, and a shake of the media player.
12. The media player apparatus of claim 8, wherein the media player operation is one of moving to a previous audio file, moving to a next audio file, moving to a previous channel, moving to a next channel, pausing a currently-selected audio file, playing the currently-selected audio file, and randomly playing an audio file.
13. A method for controlling a portable media player, the method comprising:
generating motion data in response to motion of the portable media player;
calculating an average position based on the motion data;
comparing the average position to a standard media player position;
determining a motion type based upon a comparison between the average position and the standard media player position;
determining a media player operation corresponding to the motion type; and
generating an instruction causing the media player to perform the media player operation.
14. The method of claim 13, wherein the motion data corresponds to a gesture a user performs using the media player.
15. The method of claim 13, wherein the motion data includes a set of data points distributed in a three-dimensional volume.
16. The method of claim 15, wherein the calculating includes calculating an average data point in the set of data points.
17. The method of claim 13, wherein the motion type is one of a turn left, a turn right, a forward motion, a backward motion, and a shake.
18. The method of claim 13 wherein the media player operation is one of moving to a previous audio file, moving to a next audio file, moving to a previous channel, moving to a next channel, pausing a currently-selected audio file, playing the currently-selected audio file, and randomly playing an audio file.
PCT/CN2014/084203 2014-08-12 2014-08-12 Methods and apparatus for motion control of a media player WO2016023169A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/084203 WO2016023169A1 (en) 2014-08-12 2014-08-12 Methods and apparatus for motion control of a media player

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/084203 WO2016023169A1 (en) 2014-08-12 2014-08-12 Methods and apparatus for motion control of a media player

Publications (1)

Publication Number Publication Date
WO2016023169A1 true WO2016023169A1 (en) 2016-02-18

Family

ID=55303774

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/084203 WO2016023169A1 (en) 2014-08-12 2014-08-12 Methods and apparatus for motion control of a media player

Country Status (1)

Country Link
WO (1) WO2016023169A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090088204A1 (en) * 2007-10-01 2009-04-02 Apple Inc. Movement-based interfaces for personal media device
CN102915184A (en) * 2012-09-18 2013-02-06 百度在线网络技术(北京)有限公司 Interaction control method and device for mobile terminal and mobile terminal
CN103677986A (en) * 2013-11-21 2014-03-26 小米科技有限责任公司 Application program suspending method and device and terminal

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090088204A1 (en) * 2007-10-01 2009-04-02 Apple Inc. Movement-based interfaces for personal media device
CN102915184A (en) * 2012-09-18 2013-02-06 百度在线网络技术(北京)有限公司 Interaction control method and device for mobile terminal and mobile terminal
CN103677986A (en) * 2013-11-21 2014-03-26 小米科技有限责任公司 Application program suspending method and device and terminal

Similar Documents

Publication Publication Date Title
US11942085B1 (en) Naming devices via voice commands
JP6265401B2 (en) Method and terminal for playing media
EP2428958B1 (en) Electronic equipment with shuffle operation
US10127906B1 (en) Naming devices via voice commands
CN109393565A (en) Electronic cigarette control method, device and electronic cigarette
JPWO2015198488A1 (en) Electronic device, method and program
CN105827825A (en) Audio data processing method and mobile terminal
CN103631375B (en) According to the method and apparatus of the Situation Awareness control oscillation intensity in electronic equipment
CN104090708A (en) Control method and device for portable intelligent terminal
CN106873869A (en) A kind of control method and device of music
WO2016150190A1 (en) Audio playing control method and apparatus, and loudspeaker box
CN103888605A (en) Information processing method and electronic device
CN111338594A (en) Input control using fingerprints
KR20120004569A (en) Apparatus and method of interface for mobile device, and recording medium for the same
WO2016023169A1 (en) Methods and apparatus for motion control of a media player
US20130135190A1 (en) Electronic device, storage medium, and method for executing multiple functions of physical button of the electronic device
CN104808812A (en) Information processing method and device
JP6213879B2 (en) Information processing apparatus and control method
CN107272895A (en) A kind of control method and device of music
US20180267618A1 (en) Method for gesture based human-machine interaction, portable electronic device and gesture based human-machine interface system
KR100677580B1 (en) Mobile music reproducing apparatus with motion detection sensor and music reproducing method using the same
CN104199634A (en) Information processing method and electronic equipment
EP2994807B1 (en) Device apparatus cooperation via apparatus profile
CN105741830B (en) Audio synthesis method and device
EP3742271B1 (en) A control element

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14899766

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14899766

Country of ref document: EP

Kind code of ref document: A1