# Patent

## Title
Shake responsive portable media player

## Abstract

An apparatus, method and computer program product are provided which establishes a user interface for portable media players in which a user can mix, shuffle, randomize, or otherwise alter the selection and/or ordering of media items stored within and/or played by the portable media player by simply shaking the portable media player in a characteristic manner. It is a common human metaphor to mix the contents of a physical object, like a bottle of salad dressing or a carton of orange juice, by physically shaking the object. The various embodiments leverage this common and well known human activity by enabling a user to “mix” media items through a characteristic shaking motion as a type of user interface. This capability enables a user to have a portable media player automatically shuffle the order of songs stored within a play arrangement by shaking the portable media player using a characteristic shaking motion. The portable media player includes a motion sensor coupled to a processor, a control program to monitor signals output from the motion sensor and to interpret characteristic shaking motions for causing one or more changes to be made to a current play arrangement.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a non-provisional application claiming benefit and priority under 35 U.S.C. § 119(e) from applicant's U.S. provisional application Ser. No. 60/739,313, filed on Nov. 23, 2005 to a common assignee and the instant inventor;
this application is also a continuation in part of co-pending U.S. patent application Ser. Nos. 11/461,375 filed on Jul. 31, 2006; Ser. No. 11/267,079 filed on Nov. 3, 2005; Ser. No. 11/246,050 filed on Oct. 7, 2005; Ser. No. 11/466,381 filed on Aug. 22, 2006; Ser. No. 11/285,534 filed on Nov. 22, 2005; and Ser. No. 11/427,320 filed on Jun. 28, 2006, all to a common assignee and the instant inventor; all of the aforementioned patents applications are hereby incorporated by reference in their entirety.


FEDERALLY SPONSORED RESEARCH AND DEVELOPMENT
Not Applicable
REFERENCE TO A MICROFICHE APPENDIX
Not Applicable
FIELD OF INVENTION
The present inventive embodiments relates generally to automated selection and arrangement of media items, and more specifically to an apparatus, method and computer program product for automatically selecting, and playing of a media item in dependence on a characteristic shaking motion.
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 iPodTM 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 portable 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 Apple Computer, Inc., patent application, US 2004/0224638 A1, Ser. No. 10/423,490 to Fadell, et al., 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.
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 MP3, AVI, WAV, MPG, QT, WMA, AIFF, AU, RAM, RA, MOV, MIDI, etc. In the relevant art, portable media players enable users to select media items either manually from memory and/or provide user configurable playlists by which media items may be selected automatically from the memory and outputted to the user.
However, the user may wish that this playlist selection be accomplished automatically based upon a randomized and/or semi-randomized routine that is performed by the processor of the portable media player. In addition, a simple, intuitive and non-intrusive mechanism for rearranging and/or changing of the automatically selected media items is lacking in the relevant art. Therefore, what is needed is a convenient, natural, fun, and satisfying mechanism that allows a user to indicate his or her desire that the portable media player, using a random or semi-random routines, to automatically select and output new media items, automatically re-order the media items in a play list stored in memory, and/or automatically populate or re-populate a play list with changed media items selected from memory.
Furthermore, a convenient, natural, fun, and satisfying user interface method and apparatus that allows a user to indicate a desired level or magnitude of the randomization and/or re-ordering and/or re-populating process to be performed by the portable media player.
SUMMARY
The various embodiments described herein address the limitations in the relevant art and provides mechanisms which allows a user to indicate a desired level or magnitude of randomization, re-ordering and/or re-populating of a play arrangement on a portable media player in dependence on detected characteristic shaking motions. In an exemplary apparatus embodiment, a shake responsive portable media player is provided. The portable media player comprises a processor; a memory functionally coupled to the processor; a motion sensor functionally coupled to the processor and configured to detect shaking motions imparted on the portable media player by a user; and a control program operatively loaded into the memory coupled to the processor. The control programs including instructions executable by the processor to; identify deliberately imparted characteristic shaking motions from the detected shaking motions; and change a play arrangement in dependence on the identified characteristic shaking motions.
In a first related exemplary apparatus embodiment, the motion sensor is an accelerometer.
In a second related exemplary apparatus embodiment, the characteristic shaking motions is identified by the control program based at least in part on one or more of; frequency, magnitude, time duration, and any combination thereof.
In a third related exemplary apparatus embodiment, the control program further includes instructions executable by the processor to determine if the detected characteristic shaking motion exceeds one or more; a predefined magnitude threshold, a predefined time duration threshold and a combination thereof.
In a fourth related exemplary apparatus embodiment, the play arrangement is one or more of; a predefined playlist of media items, a randomly generated playlist of media items, and at least one randomly selected media item.
In a fifth related exemplary apparatus embodiment, the change in the play arrangement is one or more of; shuffling an order of media items in the predefined playlist, generating another randomized playlist of media items, randomly selecting another media item for play and any combination thereof.
In a sixth related exemplary apparatus embodiment, an extent of the change in the play arrangement is dependent at least in part upon a duration of the characteristic shaking motions.
In a seventh related exemplary apparatus embodiment, the extent of the change in the play arrangement is dependent upon a magnitude of the characteristic shaking motions.
In an eighth related exemplary apparatus embodiment, the media items are musical media files.
In a ninth related exemplary apparatus embodiment, the characteristic shaking motions is identified based at least in part upon an amplitude of the detected shaking motions that falls within a predefined bounds for more than a minimum time duration.
In a tenth related exemplary apparatus embodiment, the random selection of the media item is completed after a cessation of the identified characteristic shaking motions.
In an eleventh related exemplary apparatus embodiment, play of the randomly selected media item occurs after cessation of the identified characteristic shaking motions.
In a twelfth related exemplary apparatus embodiment, the control program further includes instructions executable by the processor to output a human cognizable representation concurrent with the change in the play arrangement.
In a thirteenth related exemplary apparatus embodiment, the human cognizable representation is one or more of; a characteristic sound, a characteristic visual display and any combination thereof.
In a fourteenth related exemplary apparatus embodiment, the media item is a representation of one or more of; a song, a cartoon, an axiom, a saying, a fact, a joke, a puzzle and a trivia question.
In an exemplary methodic embodiment, a shake responsive portable media player is provided. The method comprising: functionally coupling a motion sensor to a processor associated with the portable media player; configuring the motion sensor to detect shaking motions imparted on the portable media player by a user; and operatively loading into a memory coupled to the processor, a control program including instructions executable by the processor for identifying deliberately imparted characteristic shaking motions from the detected shaking motions and for changing a play arrangement in dependence on the identified characteristic shaking motions.
In a first related exemplary methodic embodiment, the control program further includes instructions executable by the processor for determining if the detected shaking motions exceeds one or more of; a predefined magnitude threshold, a predefined time duration threshold and any combination thereof.
In a second related exemplary methodic embodiment, changing a play arrangement includes one or more of; shuffling an order of media items in a predefined playlist, generating another randomized playlist of media items, randomly selecting another media item for play and any combination thereof.
In a third related exemplary methodic embodiment, the control program further includes instructions executable by the processor for varying an extent of the change in the play arrangement in at least partial dependence on a duration of the identified characteristic shaking motions.
In a fourth related exemplary methodic embodiment, the control program further including instructions executable by the processor for varying the extent of the change in the play arrangement in further dependence on a magnitude of the identified characteristic shaking motions.
In a fifth related exemplary methodic embodiment, randomly selecting the media item may be performed after a cessation of the identified characteristic shaking motions.
In a sixth related exemplary methodic embodiment, the control program further including instructions executable by the processor for playing the randomly selected media item after cessation of identified characteristic shaking motions.
In a seventh related exemplary methodic embodiment, the control program further including instructions executable by the processor for outputting a human cognizable representation concurrently with changing the play arrangement.
In an eighth related exemplary methodic embodiment, the human cognizable representation includes one or more of; a characteristic sound, a characteristic visual display and any combination thereof.
In an exemplary computer program product (CPP) embodiment, a computer program embodied in a tangible form is provided. The program comprises instructions executable by a processor associated with the portable media player to change a play arrangement in dependence identified characteristic shaking motions determined from shaking motions detected by a motion sensor coupled to the processor.
In first related exemplary CPP embodiment, further instructions executable by the processor are provided for identifying the characteristic shaking motions based at least in part upon the detected shaking motions exceeding one or more of; a predefined magnitude threshold, a predefined time duration threshold, and a combination thereof.
In a second related exemplary CPP embodiment, the change in the play arrangement includes one or more of; shuffling an order of media items in a predefined playlist, generating another randomized playlist of media items, randomly selecting another media item for play and any combination thereof.
In a third related exemplary CPP embodiment, further instructions executable by the processor are provided for varying an extent of the change in the play arrangement in at least partial dependence on a duration of a detected characteristic shaking motion.
In a fourth related exemplary CPP embodiment, further instructions executable by the processor are provided for varying the extent of the change in the play arrangement in further dependence on a magnitude of a detected characteristic shaking motion.
In a fifth related exemplary CPP embodiment, the tangible form includes one or more of; a logical media, a magnetic media and an optical media.
The various exemplary apparatus, methodic and computer program product embodiments described above are provided in related numeric embodiments for convenience only. No limitation to the various exemplary embodiments disclosed is intended.



BRIEF DESCRIPTION OF DRAWINGS
The features and advantages of the various embodiments will become apparent from the following detailed description when considered in conjunction with the accompanying drawings. Where possible, the same reference numerals and characters are used to denote like features, elements, components or portions of the various inventive embodiments. It is intended that changes and modifications can be made to the described embodiment without departing from the true scope and spirit of the subject inventive embodiments as defined in the claims.
FIG. 1—depicts a generalized and exemplary block diagram of a portable media player.
FIG. 2—depicts an exemplary signal trace of a motion sensor.
FIG. 3—depicts a generalized and exemplary diagram of an embodiment of the portable media player.
FIG. 4—depicts an exemplary functional diagram of a control program.
FIG. 4A—depicts another exemplary functional diagram of the control program.
FIG. 5—depicts an exemplary process flow chart of the various embodiments.



DETAILED DESCRIPTION
The various exemplary embodiments described herein provide an apparatus, method and computer program product which automatically selects and plays a media item on a portable media player and/or automatically orders the media items within a playlist upon a portable media player and/or automatically populates the media files within a play list upon a portable media player in response to a user imparting a physical shaking motion upon the casing of the portable media player.
The physical shaking of an object is a common human metaphor to mix the contents of the physical object; for example, shaking a bottle of salad dressing or a carton of orange juice. The various embodiments described herein, leverages this common and well known human activity by enabling a user to “mix” media items contained in the portable media player using the characteristic shaking motion. It is because shaking physical objects is so well known in the physical world that a unique user interface may be provided which allows for the natural and intuitive mixing of the media items.
Where necessary, computer programs, algorithms and routines are envisioned to be programmed in a high level language object oriented language, for example JavaTM C++, C#, CORBA or Visual BasicTM.
Referring to FIG. 1, a generalized block diagram of a portable media player 100 is depicted. 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 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 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 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, may for example, display personal photographs access from memory 10 of the portable media player. The display 25 may also, for example, display textual playlists of musical media or other media items upon the portable media player 100. The display 25 may also, for example, display menus for interacting with software and/or firmware installed of the portable media player 100.
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 30 may be used to store a plurality of media items, including but not limited to a digital songs, images, photographs, jokes, multi-media presentations, a trivia questions, famous sayings, and/or cartoons images. The secondary memory 30 may also be referred to as a datastore 30.
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 (CD, DVD).
A communications interface 55 subsystem is provided which allows for standardized electrical connection of peripheral devices to the communications infrastructure 90 including, serial, parallel, USB, FirewireTM and network connectivity 85 using a transceiver 80.
The transceiver 80 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.
For networking, the transceiver 80 is envisioned to be of a radio frequency type normally associated with computer networks for example, wireless computer networks based on BlueToothTM 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 are envisioned for implementation of the various embodiments. In a third alternative embodiment, the transceiver 80 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 potentiometer 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.
For purposes of this specification, the term user interface 60 includes the hardware, firmware and operating software by which a user interacts with the portable media player 100 and the means by which the portable media player 100 conveys information to the user and may include a touch sensitive screen associated with the display 25.
In an embodiment, the user interface 60 may also be coupled to a specialized shake interface 70 which acts in concert with the user interface 60. In an alternate embodiment, the shake interface 70 operates independently of the more traditional user interface 60.
The motion sensor interface 70 may monitor interactions with in conjunction 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 shake interface 70 is configured to receive signals from an operatively coupled motion sensor 75 and is operatively coupled to the communications infrastructure 90. The shake interface 70 may be configured to support one or more motion sensors 75 for detecting various kinds of deliberately imparted characteristic shaking motions on the portable media player 100. The motion sensor 75 may be disposed on a common circuit board which maintains the processor 5 or may be integrated into a case which encompasses the electronics associated with the portable media player 100. The shake interface 70 may include analog to digital conversion circuitry, signal conditioning circuitry, and/or anti-coincidence circuitry.
The motion sensor 75 is configured to detect when a user deliberately imparts a characteristic shake motion upon the portable media player 100 by shaking the device back and forth in his or her hand. Various characteristic shaking motions may be performed which allows for differentiation of the type of interaction with the portable media player 100 the user is seeking. For example, a defined series of shakes may be used to shuffle a current playlist. Alternately, a more rapid shaking motion (i.e., higher shaking frequency) may be used to cause a completely new playlist to be automatically generated by the portable media player 100. Other characteristic shaking motions are envisioned which may be defined by several parameters including frequency, magnitude, duration and number of motion events (shakes.) The characteristic shaking motions are performed in a manner roughly equivalent to how a user would shake a bottle of salad dressing to mix the bottle's contents.
A variety of motion sensor 75 elements may be employed to detect characteristic shaking motions imparted by the hand of a user upon the casing of a portable media player. However, for cost, size and power consumption considerations, a miniature accelerometer is preferred. For example, Analog Devices, Inc. manufactures many integrated Micro Electro Mechanical SystemTM accelerometers suitable for the various embodiments described herein. Information regarding the iMEMSTM accelerometers may be downloaded from the URL www.analog.com.
One or more accelerometer 75 may be oriented to detect accelerations in one or more degrees of freedom. A multi-axis accelerometer 75 may be used. In a simple embodiment, a single axis accelerometer 75 is employed; the axis of detection of the accelerometer being preferably oriented along the lengthwise axis of the portable media player 100. In this way, the accelerometer 75 is configured to detect motions imparted upon the portable media player by a user shaking it back and forth along its lengthwise axis.
An audio subsystem 85 is provided and electrically coupled to the communications infrastructure 90. The audio subsystem 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. One skilled in the art will appreciate that the above cited list of file formats is not intended to be all inclusive.
Connection of the microphone 95A and/or headphones 95B includes both traditional cable and wireless arrangements such as BlueToothTM are known in the relevant art. In addition, the audio subsystem 85 is envisioned to optionally include features such as graphic equalization, volume, balance, fading, base and treble controls, surround sound emulation, and noise reduction.
The portable media player 100 includes an operating system, the necessary hardware, software, and/or firmware drivers necessary to fully utilize the devices coupled to the communications infrastructure 90, media playback and recording applications and at least one control program 400 (FIG. 4) operatively loaded into the main memory 10. The control program 400 may perform multiple functions, for example perform the automatic selection of media items from a plurality of media items stored in datastore 30. The control program 400 may also, for example, perform the automatic population of play lists and/or the automatic re-ordering of play lists. The control program 400 also processes playlists, playing songs and/or displaying images in accordance with the sequential requirements of one or more playlists stored in memory. In some embodiments the playlists may be downloaded from external sources over the network 85. The control program 400 may be configured to control such downloading processes. The control program 400 also manages the downloading of new media items into the datastore 30 of the portable media player 100.
The control program 400 may also be configured to perform the various embodiments described herein. For example, the control program 400 is operative to monitor the shake interface 70 by reading the associated motion sensor 75 and storing data from the motion sensor 75 in memory 10 over time. The control program 400 may also read data from the timing circuit 15. The control program 400 processes the time varying signals provided by the motion sensor 75 (which is often an accelerometer) and determines based upon the time varying characteristics of the sensor signals whether or not the user has imparted characteristic shaking motions upon the portable media player 100.
One skilled in the art will appreciate that references to the 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.
The control program 400 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. A detailed discussions of the at least one control program 240 that performs predictive functions are provided in U.S. patent application Ser. No. 11/267,079 filed on Nov. 3, 2005 to the instant inventor and a common assignee is herein incorporated by reference in its entirety. Optionally, the portable media player 100 is envisioned to 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.)
FIG. 2 provides an exemplary signal trace of an accelerometer arranged as a motion sensor 75 suitable for use in the various envisioned embodiments. This particular type of motion sensor 75 provides an analog voltage output signal which varies as a function of the acceleration(s) that the motion sensor is experiencing. For this particular device, a steady state voltage signal of 2000 millivolts (mV) is output from the motion sensor 75 when no accelerations are being detected. When undergoing either a positive or negative acceleration is presented, the voltage output from the accelerometer increases or decreases as functions of the magnitude of accelerations M+,M− 205A,B being experienced. When sampled over a time domain t 210, various motion dependent parameters may be determined which are useful as an alternative user interface.
In general, a characteristic shaking motion 205 may be identified from the time-varying motion sensor data based at least in part upon the presence of a roughly cyclic signal profile that falls within certain bounds and/or exceeds certain limits. Such bounds and/or limits may include frequency parameters, magnitude parameters, count parameters, and/or timing parameters. As shown by the time-varying motion sensor signal of FIG. 2, a characteristic shaking motion 205 manually imparted by a user generally includes a set of repeated acceleration impulses N1, N2, N3 220 A,B,C, each corresponding with a single manual shake event imparted by the user. Because a characteristic shaking motion 205 imparted manually by a user will generally include a plurality of shake events, each being imparted within a certain magnitude range and collectively being imparted within certain timing and/or frequency characteristics, a characteristic shaking motion 205 may be identified based upon the count, magnitude, timing, and/or frequency of the acceleration impulses present in the motion sensor data.
More specifically, a characteristic shaking motion 205 may be identified based upon the presence of impulse events that exceed a certain magnitude limits, meet certain frequency bounds, meet certain temporal spacing requirements, and/or contain a count of impulses that falls within certain numerical bounds. Thus, an analysis of the time-varying acceleration profile of motion data may be performed to determine if a characteristic shaking motion 205 has in fact been imparted by the user upon the portable media player 100 based upon magnitude, frequency, timing, and/or count characteristics. In general, this analysis includes an identification of impulse events and a determination as to whether the magnitude of impulse events, frequency of impulse events, temporal spacing of impulse events, and/or numerical count of impulse events meet certain bounds and/or exceed certain limits.
Referring back to FIG. 2, a characteristic shaking frequency f 215 may be determined from the frequencies f1, f2 215A,B measured between subsequent acceleration impulses N1, N2, N3 220A,B,C and may be used to identify a characteristic shaking motion 205 and/or to differentiate one characteristic shaking motion 205 from another. A cumulative number of peak acceleration impulses N1, N2, N3 220A,B,C may be counted to identify a characteristic shaking motion and/or to differentiate one characteristic shaking motion 205 from another. The time intervals t1, t2 210A,B between the peak acceleration impulses N1, N2, N3 220A,B,C may further be used to identify a characteristic shaking motion 205 and/or to differentiate one characteristic shaking motion 205 from another and/or determine the characteristic shaking frequency f 215. Lastly, the meeting or exceeding of defined magnitude thresholds M+, M− 205A,B by acceleration impulses N1, N2, N3 220A,B,C may likewise be used to identify a characteristic shaking motion 205 and/or to differentiate one characteristic shaking motion 205 from another.
In addition, one or more of these various motion dependent parameters may be used to control a function associated with the operation of the portable media player 100. More specifically, the detected magnitude of impulse events, the detected frequency of impulse events, the detected count of repeated impulse events, and/or the detected timing of impulse events may be used, at least in part, to control a function associated with the operation of the portable media player 100. Even more specifically, the detected magnitude of impulse events, the detected frequency of impulse events, the detected count of repeated impulse events, and/or the detected timing of impulse events may be used, at least in part, to control the extent of randomization, re-ordering and/or re-populating of a playlist or other play arrangement on the portable media player 100.
Additionally, the various motion dependent parameters may be determined in multiple geometric axes 325 (FIG. 3) which may useful for discriminating against unintentional accelerations detected by the motion sensor 75 from being processed by the processor 5. In addition, ambient accelerations imparted due to the constant force of gravity and/or due to a moving reference frame of the user may be filtered from or otherwise differentiated from the shaking motion signal data using traditional signal processing techniques.
With respect to the identification of a single impulse event N1, N2, or N3 220A,B,C, such an event can generally be identified as a rapidly changing acceleration signal that exceeds a certain upper threshold M+ 205A and exceeds a certain lower threshold M− 205B, and does both within a certain small time period Δt. The value used for M+, M−, and Δt may vary and are generally selected based upon the size and weight of the portable media player itself and the characteristics of the accelerometer employed. For the system that generated the signal profile shown in FIG. 2, Δt was defined as 100 milliseconds, although smaller values may be used for greater impulse event discrimination. An upper threshold M+ 205A is approximately 3000 mV; the lower threshold M− 205B is approximately 1000 mV.
As the acceleration signals of FIG. 2 are processed, there are no characteristic shaking motion events detected by the control program until the time profile reaches approximately 1400 milliseconds in time t 210. At this time, a positive voltage transient exceeds the upper threshold M+ 205A. This voltage transient corresponds with a user moving the portable media player 100 with sufficient force to exceed the upper threshold M+ 205A of acceleration; a negative voltage transient which exceeds the lower threshold M− 205B immediately following the positive voltage transient. This corresponds with the user moving the portable media player 100 with sufficient force to exceed the lower threshold M− 205B. Both thresholds are crossed within a time span of approximately 100 milliseconds (i.e. within the limits of the defined Δt). This means that the user imparted a sufficient acceleration upon the portable media player in a first direction to exceed positive threshold M+ 205A and then immediately reversed direction and within the required Δt time period, imparted a sufficient acceleration upon the portable media player in the reverse direction to exceed negative threshold M− 205B.
As such, the control program 400, may determine that the voltage transients exceeded both the positive M+ 205A and negative thresholds M− 205B within certain predefined time duration (e.g. 100 milliseconds), to elucidate that a characteristic shake motion 205 impulse event has occurred. The control program 400 may further process the data, identifying subsequent impulse events N2, N3, . . . Nn, in a similar manner. The control program 400 may then determine from the count of sequential impulse events, the frequency of sequential impulse events, and/or the timing of sequential impulse events, if particular characteristic shaking motions have occurred. In addition, count, frequency, and/or timing characteristics may be quantified for use in controlling the extent of certain media player actions.
It should be noted that while positive threshold M+ 205A and negative threshold M− 205B are shown in FIG. 2 to be equally distant from the nominal no-acceleration signal profile, this need not be the case in all embodiments. In some embodiments a larger threshold may be employed in one direction as compared to the opposite direction. In fact, this is often desired because a human user generally imparts greater acceleration upon an object he is shaking when extending arm muscles as compared to when flexing arm muscles during a reciprocating characteristic shaking motion.
In some embodiments, a sequence of shake events may be specifically required by the control program 400 in order for a user to indicate a particular user interface intention to the portable media player 100. For example, the control program 400 may be configured to determine that a deliberate shaking motion has been imparted by the user only if a particular sequence of characteristic shake impulses N1, N2, N3 220A,B,C events are detected in the sensor signals. For example, in some embodiments, the N1, N2, N3 220A,B,C is configured to determine that the user is deliberately shaking the portable media player if three or more characteristic single-shake acceleration impulses are detected in sequence within the acceleration data, each single-shake acceleration profile being separated by a certain minimum amount of time (for example 250 milliseconds) t1, t2 210A,B, and all three of the single-shake acceleration profiles being imparted upon the portable media player 100 within a certain maximum amount of time (e.g., 2000 milliseconds), each of the three characteristic single-shake acceleration impulses N1, N2, N3 220A,B,C indicating a deliberate user shake as a result of exceeding the positive M+205A and negative acceleration threshold M− 205B.
Referring to FIG. 3, the various embodiments, leverages an intuitive shaking metaphor and establishes a unique user interface for a portable media player 100 in which a user can select, re-order, scramble, randomize, and/or otherwise alter the selection and/or ordering of media items stored within a play arrangement and/or played by the portable media player 100 by physically shaking the portable media player 100 in a characteristic and repeatable manner.
In an exemplary embodiment of a portable media player 100 equipped with an accelerometer type motion sensor 75 is depicted. Deliberate accelerations 205 imparted on the portable media player cause a control program 400 (FIG. 4) to change an existing play arrangement related to either a planned playlist or a currently play media item. In an embodiment, execution of the control program 400 is accompanied by a whimsical image 305 outputted to the display 25 and/or an audible sound 310 which provides feedback to the user that a change to the existing play arrangement has been initiated. In some embodiments the image displayed may represent a mixing action, emulating the look of objects being shaken and mixed upon the screen. This exemplary embodiment of the portable media player 100 includes a display 25, a finger manipulatable user interface 60 and an external connectivity port which is coupled to the communications interface 55. As previously discussed, the motion sensor 75 may provided with multi-axis 325 detection capabilities as may be envisioned for the various embodiments.
In some embodiments, a “shuffling music sound” may be provided to the user during and optionally soon following the characteristic shaking motion to indicate that the media items are being randomized. This shuffling music sound may be, for example, a sequence of very short clips of songs played in rapid succession to indicate figuratively that songs are being shuffled in memory. The media clips may be, for example, 100 to 500 ms long and played in sequence during the characteristic shaking motion 205 and for a duration following the shaking motion that lasts for example, 1500 ms.
Upon completion of the change in the play arrangement, a particular media item may be automatically selected from the datastore 30 and automatically played to the user in its entirety (unless interrupted by another characteristic shaking motion 205 of the user). In this way, a user may cause his or her media player to automatically select and play a media item in response to his or her characteristic shaking motion of the portable media player 100 itself. This is often more convenient, more intuitive, and more fun than a traditional method of engaging a finger manipulated button or control. It can also be performed without looking at the portable media player 100 to find a particular interface control element, and thus can be done with less sensory distraction or concentration than traditional methods.
In an alternate embodiment, the portable media player 100 is configured to automatically shuffle, re-order, re-populate, or otherwise re-arrange a planned playlist or other planned play arrangement of a plurality of media files stored within the portable media player 100 in response to a characteristic shaking motion 205. Such alteration of the planned play arrangement maybe performed in conjunction with the visual display of mixing imagery and/or audio play of a shuffling sound to accentuate the shaking and mixing metaphor for the user.
In an alternate embodiment, the portable media player 100 is configured to automatically select an image media file (for example a personal photograph from a stored album of photographs) from a plurality of available media items from the datastore 30 of the portable media player 100 and automatically display the image upon the display 25 of the portable media player 100 in response to a characteristic shaking motion. Thus to a user the act of shaking the portable media player feels as if he or she is shuffling the images within the portable media player 100 and having a randomly selected image be selected and displayed. Again this is a fun, intuitive, and convenient method of user interaction as compared to traditional methods
In an analogous embodiment, a “shuffling image display” may be provided in which a series of quickly flashed images are outputted to the display 25; each of the quickly flashed images being selected from the datastore 30 as if being shuffled in real time. The quickly flashed images may be displayed, for example, for 100 to 500 ms each and displayed in rapid sequence during the characteristic shaking motion and for a short duration following the shaking motion that lasts, for example 2000 ms. The flashing imagines may gradually decelerate after the shaking motion has ceased. Upon completion of the change in the play arrangement, a single image may be selected and outputted to the display 25. This provides the user with an intuitive visual indication that the media mixing process is underway.
FIG. 4 provides an exemplary operational block diagram illustrating the functionality of the control program 400. In an embodiment, a motion sensor 75 detects motion signals in response to user imparted motion 205 on the portable media player 100. The motion signals are processed by the processor 5 using the control program 400 to determine if the detected motions signals are characteristic of a deliberate manual shaking motion user interaction with the portable media player 100. In an embodiment, an initial play arrangement 405 may have no predetermined media items selected for a play arrangement, for example a playlist.
In an embodiment, a default play arrangement 405 containing blank entries b or and or lacking cross references to the media items A-Z maintained in the datastore 30. A characteristic shaking motion may be used to populate the play arrangement 410 for example in an alphabetical order by either retrieving the actual media items A-I maintained in the datastore 30 or creating a cross referenced playlist which allows the retrieval of a particular media item in a queue as the playlist advances through a play arrangement.
If the user desires to shuffle the originally assigned media items of the existing play arrangement 410, the user may provide another characteristic shaking motion which shuffles the original selection A-I in a modified order to form another play arrangement 415. Alternately, the user may desire alternate media items to be selected from the entire pool of available media items A-Z maintained by the datastore 30. In this embodiment, the user may provide another characteristic shaking motion 205 which provides automatic selection of alternate media items to replace some or all of the media items in the current play arrangement, thus producing a different play arrangement 420. In this way, embodiments may be configured to enable a user to cause the portable media player to re-order and/or re-populate a planned play arrangement in response to a characteristic shaking motion 205 imparted by the user. Such re-ordering and/or re-population may be performed using a random and/or semi-random selection process.
The various play arrangements 405, 410, 415, 420 enables a user to have a portable media player 100 automatically select media items from a datastore 30,B,C,D and populate a play arrangement using the automatically selected media items in response to the characteristic shaking motion 205 of the portable media player 100 by the user.
In various embodiments, the number of randomly selected media items; the extent of the randomization accomplished; and/or a randomization seed value used in changing the play arrangement may be dependent upon the magnitude and/or duration of the characteristic shaking motions 205 imparted by the user. In this way, a user may shake the portable media player 100 for a longer period of time in order to cause a more extensive change to a planned play arrangement, thereby providing a fun and intuitive interaction for the user.
The above described embodiments are advantageous where a user does not wish to shake the portable media player 100 every time he or she desires a new randomly selected song (or other media item) to be played. Instead, the user may desire that portable media player 100 automatically creates a play arrangement 410 of a plurality of future media items to be played each time the user performs the characteristic shaking motion 205. To accommodate such a user desire, the control program 400 may be configured to generate and/or modify a listing of planned media items each time the user characteristically shakes the portable media player 100.
The resulting play arrangement 410, 415, 420 indicates the media items and play sequence that will be followed for a period of time in the future. The portable media player 100 will begin playing the first media item in the play arrangement 410 and when it is complete, will continue to the next media item in the play arrangement 410.
Play of the selected media items will continue until all the media items in the play arrangement 410 are played; or until the user provides another characteristic shaking motion of the portable media player 100, causing the control program 400 to cease playing the current play arrangement 410 and to generate a new play arrangement 415 and/or modify the existing play arrangement 420. In many embodiments, control program 400 outputs the current play arrangement to the display 25 of the portable media player 100 so the user can optionally view this planned sequence of media items.
In various embodiments, the user may combine a characteristic shaking motion with a button press 60A,B as a means of specifying a specific desired user intent and corresponding portable media player action. For example, a user may characteristically shake the portable media player 100 while simultaneously depressing a particular button 60A to specify a particular command. The system upon detecting the characteristic shaking motion 205 in combination with the specific detected button press 60A may respond accordingly by taking a particular action. The particular action may include selecting a play arrangement 410 from the datastore 30, re-ordering a play arrangement of media items 415; and/or repopulating a play arrangement of media items 420.
Referring to FIG. 4A, an operational block diagram illustrating an alternate embodiment of the functionality of the control program 400 is depicted. In this embodiment, a motion sensor 75 detects motion signals in response to user imparted manual shaking motions 205 on the portable media player 100. The motion signals are processed by the processor 5 using the control program 400 as before to determine if the detected motions signals are characteristic of a deliberate manual shaking motion user interaction with the portable media player 100. In this embodiment, an initial media item selection 425 may be required by providing the characteristic shaking motion 205 to establish an initially selected media item 430 retrieved from the datastore 30. If the user desires to change the initially selected media item 430, the user may perform another characteristic shaking motion 205 upon the portable media player 100; causing the control program 400 to cease playing the current media item 430 and randomly selecting a different media item 435 from the datastore 30; and will begin playing the newly selected media item 435. Thus the user by simply shaking the portable media player may cause the control program 400 to automatically replace the currently playing media 435 item with a new automatically selected media item 440 from the datastore 30. In a common embodiment, the newly selected media item is not played until after the user has ceased the characteristic shaking motion 205 and not during the shaking motion itself. This provides a fun and intuitive user interface metaphor where the shaking motion is perceived as causing a physical mixing of the media items, the new media item not being played until the physical mixing process has been completed. In some such embodiments an image or sound indicative of mixing is output during the shaking motion and upon completion of the shaking motion, the new media item begins play.
Because a user can interrupt the play of a media item and cause the selection of a new media item by physically shaking the portable media player 100, the various embodiments provides a fun and intuitive method by which a user can quickly sample a variety of automatically selected media items by simply shaking and listening, shaking and listening, until a desirable media items plays.
The media items 450 may include digital representations of musical media, multi-media, visual media, text items, database records, cartoons, axiom, saying, facts, poems, puzzles, trivia, horoscopes, famous quotes, etc.
FIG. 5 depicts an exemplary process flow chart for implementing one or more of the various embodiments. The process is initiated 500 by periodically reading a motion sensor 505 coupled to a processor associated with a portable media player. A control program reads the signals provided by the motion sensor, and based on one or more of a frequency, magnitude, time duration, impulse count, and/or other predefined representations thereof 510 determines if characteristic shake motions (CSM) have been identified 515. If CSM have not been identified 515, the control program continues to monitor the motion sensor to identify CSM 505. If CSM have been identified 515, the control program then determines if the identified CSM have ended 525.
If the identified CSM have not ended 525, the control program continues to monitor the motion sensor for CSM signals 505 until the identified CSM have ended 525. In certain embodiments, the control program may perform certain actions during the CSM, for example playing a representative mixing sound and/or displaying a representative mixing image. In certain embodiments a currently playing media item may be ceased during the shaking motion and/or during the playing of a representative mixing sound and/or displaying a representative mixing image. Thus, in certain embodiments, the control program causes a human cognizable representation to be outputted from the portable media player during the shaking motion, the human cognizable representation including one or more visual images, audible sounds and a combination thereof that are figuratively representative of the media mixing process.
In an optional process element, the control program further identifies the intended function linked to the identified CSM 530 in dependence on one or more of the on one or more of a frequency, magnitude, time duration, count, and/or predefined representations thereof 510.
In another optional process element, the control program determines in dependence on the one or more of the frequency, magnitude, time duration, count, and/or predefined representations thereof 510, the extent of change in the current play arrangement 535.
The control program then causes the current play of a media item associated with the current play arrangement to cease playing 540 and changes the play arrangement 545 by one or more of shuffling media items in the current play arrangement, automatically generating a new play arrangement of media items, and/or automatically selecting a new media item for play 550. The automatic generation and/or automatic selection may be performed using a random or semi-random selection process.
In another optional embodiment, the control program causes a human cognizable representation to be outputted from the portable media player 555. The human cognizable representation may include one or more visual images, audible sounds and a combination thereof 560. Such images and/or sounds are preferably selected to be figuratively representative of the media mixing process.
Once generation of the new play arrangement has been completed, the new play arrangement begins play 565 and the control program continues to read the motion sensor for CSM signals 505.
The foregoing described exemplary embodiments are provided as illustrations and descriptions. They are not intended to limit the inventive scope to any precise form described. In particular, it is contemplated that functional implementation of the control program described herein may be implemented equivalently in hardware, software, firmware, and/or other available functional components or building blocks. Other variations and embodiments are possible in light of above teachings, and it is not intended that this Detailed Description limit the scope of inventive embodiments, but rather by the Claims following herein.

## Claims

1. A shake responsive portable media player comprising:
a processor;
a memory functionally coupled to the processor;
a motion sensor functionally coupled to the processor and configured to detect shaking motions imparted on the portable media player by a user; and
a control program operatively loaded into the memory including instructions executable by the processor to identify deliberately imparted characteristic shaking motions from the detected shaking motions and to change a play arrangement in dependence on the identified characteristic shaking motions,
wherein the play arrangement comprises an element selected from a group consisting essentially of a predefined playlist of media items, a randomly generated playlist of media items, and at least one randomly selected media item, and
wherein the change in the play arrangement comprises at least one action selected from a group consisting essentially of shuffling an order of media items in the predefined playlist, generating another randomized playlist of media items, and randomly selecting another media item for play.

2. The shake responsive portable media player according to claim 1 wherein the motion sensor is an accelerometer.

3. The shake responsive portable media player according to claim 1, wherein the characteristic shaking motions are identified by the control program based on at least one parameter selected from a group consisting essentially of a frequency, a magnitude, a time duration, and a count of detected events.

4. The shake responsive portable media player according to claim 1, wherein the control program further includes instructions executable by the processor to determine if the detected characteristic shaking motion exceeds at least one parameter selected from a group consisting essentially of a predefined magnitude threshold and a predefined time duration threshold.

5. The shake responsive portable media player according to claim 1 wherein an extent of the change in the play arrangement is dependent at least in part upon a duration of the characteristic shaking motions.

6. The shake responsive portable media player according to claim 1 wherein an extent of the change in the play arrangement is dependent upon a magnitude of the characteristic shaking motions.

7. The shake responsive portable media player according to claim 1, wherein the media items are musical media files.

8. The shake responsive portable media player according to claim l, wherein the characteristic shaking motions are identified based at least in part upon an amplitude of the detected shaking motions that falls within a predefined bounds for more than a minimum time duration.

9. The shake responsive portable media player according to claim 1, wherein the random selection of the media item is completed after a cessation of the identified characteristic shaking motions.

10. The shake responsive portable media player according to claim 1, wherein play of the randomly selected media item occurs after cessation of the identified characteristic shaking motions.

11. The shake responsive portable media player according to claim 1 wherein the control program further includes instructions executable by the processor to output a human cognizable representation concurrent with the change in the play arrangement.

12. The shake responsive media player according to claim 11, wherein the human cognizable representation comprises at least one element selected from a group consisting essentially of a characteristic sound and a characteristic visual display.

13. The shake responsive media player according to claim 1, wherein the media item comprises a representation selected from a group consisting of a song, a cartoon, an axiom, a saying, a fact, a joke, a puzzle, and a trivia question.

14. A method for providing a shake responsive portable media player comprising:
functionally coupling a motion sensor to a processor associated with the portable media player; configuring the motion sensor to detect shaking motions imparted on the portable media player by a user; and
operatively loading into a memory coupled to the processor a control program including instructions executable by the processor for identifying deliberately imparted characteristic shaking motions from the detected shaking motions and for changing a play arrangement in dependence on the identified characteristic shaking motions,
wherein changing a play arrangement comprises at least one step selected from a group consisting essentially of shuffling an order of media items in a predefined playlist, generating a new randomized playlist of media items, and randomly selecting a new media item for play, and
wherein the control program further includes instructions executable by the processor for playing the randomly selected media item after cessation of identified characteristic shaking motions.

15. The method according to claim 14 wherein the control program further includes instructions executable by the processor for determining if the detected shaking motions exceed at least one parameter selected from a group consisting essentially of a predefined magnitude threshold, a predefined time duration threshold, and a predetermined event count threshold.

16. The method according to claim 14 wherein the control program further includes instructions executable by the processor for varying an extent of the change in the play arrangement in at least partial dependence on a duration of the identified characteristic shaking motions.

17. The method according to claim 16, wherein the control program further includes instructions executable by the processor for varying the extent of the change in the play arrangement in further dependence on a magnitude of the identified characteristic shaking motions.

18. The method according to claim 14, wherein randomly selecting the media item is performed after a cessation of the identified characteristic shaking motions.

19. The method according to claim 14, wherein the control program further includes instructions executable by the processor for outputting a human cognizable representation concurrently with changing the play arrangement.

20. The method according to claim 19 wherein the human cognizable representation comprises at least one element selected from a group consisting essentially of a characteristic sound and a characteristic visual.

21. A computer program product embodied in a tangible form comprising instructions executable by a processor associated with the portable media player to change a play arrangement of media items in dependence on identified characteristic shaking motions determined from shaking motions detected by a motion sensor coupled to the processor,
wherein the play arrangement comprises an element selected from a group consisting essentially of a predefined playlist of media items, a randomly generated playlist of media items, and at least one randomly selected media item, and
wherein the change in the play arrangement comprises at least one action selected from a group consisting essentially of shuffling an order of media items in a predefined playlist, generating a new randomized playlist of media items, and randomly selecting a new media item for play.

22. The computer program product according to claim 21, further including instructions executable by the processor for identifying the characteristic shaking motions based upon the detected shaking motions exceeding at least one parameter selected from a group consisting of a predefined magnitude threshold, a predefined time duration threshold, and a predetermined event count threshold.

23. The computer program product according to claim 21 further including instructions executable by the processor for varying an extent of the change in the play arrangement in at least partial dependence on a duration of a detected characteristic shaking motion.

24. The computer program product according to claim 23 further including instructions executable by the processor for varying the extent of the change in the play arrangement in further dependence on a magnitude of a detected characteristic shaking motion.

25. The computer program product according to claim 21, wherein the tangible form comprises an element selected from a group consisting of a logical media, a magnetic media, and an optical media.