USPatent applicationPatented

Intelligent audio mixing among media playback and at least one other non-playback application

Granted 11 Oct 2011 · 2 office actions

Assignee: Apple Inc.

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Frank Zening Li, Aram Lindahl, Joseph Mark Williams · Examiner: Davetta Goins · AU 2614 · TC 2600

Life of the application

11 dated events
⤢ drag to zoom20062008201020122014201620182020202220242026ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

In operation of an electronics device, audio based on asynchronous events, such as game playing, is intelligently combined with audio output nominally generated in a predictive manner, such as resulting from media playback. For example, an overall audio output signal for the electronic device may be generated such that, for at least one of audio channels corresponding to predictive manner processing, the generated audio output for that channel included into the overall audio output signal is based at least in part on configuration information associated with a processed audio output signal for at least one of the audio channels corresponding to asynchronous events based processing. Thus, for example, the game audio processing may control how audio effects from the game are combined with audio effects from media playback.

Description

5 parts
›BACKGROUND

Portable electronic devices for media playback have been popular and are becoming ever more popular. For example, a very popular portable media player is the line of iPod® media players from Apple Computer, Inc. of Cupertino, Calif. In addition to media playback, the iPod® media players also provide game playing capabilities.

›SUMMARY

The inventors have realized that it is desirable to create an integrated media playback and game playing experience.

A method to operate an electronics device includes intelligently combining audio based on asynchronous events, such as game playing, with audio output nominally generated in a predictive manner, such as resulting from media playback. For example, an overall audio output signal for the electronic device may be generated such that, for at least one of audio channels corresponding to predictive manner processing, the generated audio output for that channel included into the overall audio output signal is based at least in part on configuration information associated with a processed audio output signal for at least one of the audio channels corresponding to asynchronous events based processing. Thus, for example, the game audio processing may control how audio effects from the game are combined with audio effects from media playback.

›BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an architecture diagram broadly illustrating an example of processing to operate an electronics device so as to intelligently combine audio based on asynchronous events, such as game playing, with audio output nominally generated in a predictive manner, such as resulting from media playback.

FIG. 2 is an architecture diagram similar to FIG. 1 , but the FIG. 2 diagram shows some greater detail of how the game audio processing may control how audio effects from the game are combined with audio effects from media playback.

FIG. 3 is a flowchart providing an overview of the processing described with reference to the FIGS. 1 and 2 architecture diagrams.

FIG. 4 is a flowchart that illustrates more detail on processing, within an arbitrary channel “X,” of loop and chain specifications of the sound effects.

›DETAILED DESCRIPTION · 1 of 2

In accordance with an aspect, a method is provided to operate an electronics device so as to intelligently combine audio based on asynchronous events, such as game playing, with audio output nominally generated in a predictive manner, such as resulting from media playback. For example, an overall audio output signal for the electronic device may be generated such that, for at least one of audio channels corresponding to predictive manner processing, the generated audio output for that channel included into the overall audio output signal is based at least in part on configuration information associated with a processed audio output signal for at least one of the audio channels corresponding to asynchronous events based processing. Thus, for example, the game audio processing may control how audio effects from the game are combined with audio effects from media playback.

FIG. 1 is an architecture diagram broadly illustrating an example of this processing. As shown in FIG. 1 , game playing processing 101 and media playback processing 103 are occurring, at least when considered at a macroscopic level, in parallel. For example, the media playback processing 103 may include playback of songs, such as is a commonly-known function of an iPod media player. In general, the media playback nominally occurs in a predictive manner and, while user interaction may affect the media playback audio (e.g., by a user activating a “fast forward” or other user interface item), the media playback nominally occurs in a predictive manner.

The game playing processing 101 may include processing of a game, typically including both video and audio output, in response to user input via user interface functionality of the portable media player. Meanwhile the game application 116 may operate to, among other things, provide game video to a display 112 of the portable media player 110 . The game application 116 is an example of non-media-playback processing. That is, the game video provided to the display 112 of the portable media player 110 is substantially responsive to game-playing actions of a user of the portable media player 110 . In this respect, the game video is not nominally generated in a predictive manner, as is the case with media playback processing.

Sound effects of the game playing processing 101 may be defined by a combination of “data” and “specification” portions, such as is denoted by reference numerals 104 ( 1 ) to 104 ( 4 ) in FIG. 1 . The “data” portion may be, for example, a pointer to a buffer or audio data, typically uncompressed data representing information of an audio signal. The specification may include information that characterizes the source audio data, such as the data format and amount. In one example, the sound effect data is processed to match the audio format for media playback.

The specification may further include desired output parameters for the sound effect, such as volume, pitch and left/right pan. In some examples, the desired output parameters may be modified manually (i.e., by a user via a user interface) or programmatically.

Furthermore, in some examples, a sound effect may be specified according to a loop parameter, which may specify a number of times to repeat the sound effect. For example, a loop parameter may specify one, N times, or forever.

In addition, a sound effect definition may be chained to one or more other sound effects definitions, with a specified pause between sound effects. A sequence of sound effects may be pre-constructed and substantially without application intervention after configuration. For example, one useful application of chained sound effects is to build phrases of speech.

Turning again to FIG. 1 , each sound effect undergoes channel processing 102 , according to the specified desired output parameters for that sound effect, in a separate channel. In FIG. 1 , the sound effect 104 ( 1 ) undergoes processing in channel 1 , and so on. The number of available channels may be configured at run-time. A sound effects mixer 106 takes the processed data of each channel and generates a mixed sound effect signal 107 . A combiner 108 combines the mixed sound effect signal 107 with the output of the music channel, generated as a result of processing a music signal 105 as part of normal media playback processing. The output of the combiner 108 is an output audio signal 110 that is a result of processing the sound effects definitions 104 , as a result of game playing processing 101 , and of processing the music signal 105 , as part of normal media playback processing.

By combining game playing and media playback experiences, the user experience is synergistically increased.

FIG. 2 is similar to FIG. 1 (with like reference numerals indicating like structure), but FIG. 2 shows some greater detail. In FIG. 2 , the sound effects 104 are shown as including indications of sound effects raw data 202 and indications of sound effects configuration data 204 . Furthermore, as also illustrated in FIG. 2 , a portion of the output of the sound effect mixer 106 is shown as being provided to a fader 206 . In this example, then, the game audio processing may control how audio effects from the game are combined with audio effects from media playback, by a fader 206 causing the music signal to be faded as “commanded” by a portion of the output of the sound effect mixer 106 . The thus-faded music signal combine by a combine block 208 with the output of the sound effects mixer 106 to generate the output audio signal 110 .

FIG. 3 is a flowchart providing an overview of the processing described with reference to the FIGS. 1 and 2 architecture diagrams. At step 302 , for each channel, unprocessed sound data is retrieved. At step 304 , the sound data for each channel is processed according to processing elements for the sound. While the FIGS. 1 and 2 architecture diagrams did not go into this level of detail, in some examples, separate processing elements are used in each channel (the channel processing 102 ) to, for example, perform digital rights management (DRM), decode the input signal, perform time scale modification (TSM), sample rate conversion (SRC), equalization (EQ) and effects processing (FX).

›DETAILED DESCRIPTION · 2 of 2

At step 306 , the processed sound effects for all channels are combined. At step 308 , the combined sound effects signal and media playback signal are combined, with the media playback signal being faded as appropriate based on mixing data associated with the sound effects.

FIG. 4 is another flowchart, and the FIG. 4 flowchart provides more detail on processing, within an arbitrary channel “X,” of loop and chain specifications of the sound effects. As mentioned above, a loop parameter may specify a number of times to repeat a sound effect and, also, a sound effect definition may be chained to one or more other sound effects definitions, with a specified pause between sound effects. At step 402 , the unprocessed signal data for the channel “X” is retrieved. At step 404 , the signal data is processed according to parameters for the channel “X” effect. At step 405 , the processed sound effect signal is provided for combining with other processed sound effect signals.

Reference numerals 406 , 408 and 410 indicate different processing paths. Path 406 is taken when a sound effect has an associated loop specification. At step 412 , the loop count is incremented. At step 414 , it is determined if the looped specification processing is finished. If so, then processing for the sound effect ends. Otherwise, processing returns to step 405 .

Path 410 is taken when the sound effect has an associated chain specification. At step 416 , the next specification in the chain is found, and then processing returns to step 402 to begin processing for the signal data of the next specification.

Path 408 is taken when the sound effect has neither an associated loop specification or an associated chain specification, and processing for the sound effect ends.

In some examples, it is determined to cause not include in the output audio signal 110 audio corresponding to one or more sound effects, even though the audio corresponding those one or more sound effects would nominally be included in the output audio signal 110 . For example, this may occur when there are more sound effect descriptors than can be played (or desirably played) simultaneously, based on processing or other capabilities. Channels are fixed, small resources—they may be considered to be available slots that are always present. The number of sound effect descriptors that can be created is not limited by the number of available channels. However, for a sound effect to be included in the output audio signal, that sound effect is attached to a channel. The number of channels can change at runtime but, typically, at least the maximum number of available channels is predetermined (e.g., at compile time).

The determination of which sounds effects to omit may be based on priorities. As another example, a least recently used (LRU) determination may be applied. In this way, for example, the sound effect started the longest ago is the first sound effect omitted based on a request for a new sound effect.

In accordance with one example, then, the following processing may be applied.

N sound effects are included in the output audio signal 110 (where N is 0 to max sounds allowed) A new sound effect is requested to be included in the output audio signal 110 . To be included in the output audio signal 110 , the sound effect is to be associated with a channel. There are two cases.

i. If N equals the maximum number of sounds allowed to be included in the output audio signal 110 , then the sound effect started the longest ago is caused to be omitted, and processing of the newly-requested sound effect is started on the same channel. ii. Otherwise, if N<the maximum number of sounds allowed to be included in the output audio signal 110 , then the newly-requested sound effect is processed on the next available channel

In one example, the sound effects mixer inquires of each channel 102 whether that channel is active. For example, this inquiry may occur at regular intervals. If a channel is determined to be not active (e.g., for some number of consecutive inquiries, the channel report being not active), then the channel may be made available to a newly-requested sound effect.

We have described how game audio processing may control how audio effects from non-media-playback processing (such as, for example, a game) are combined with audio effects from media playback, such that, for example, an audio experience pleasurable to the user may be provided.

The following applications are incorporated herein by reference in their entirety: U.S. patent application Ser. No. 11/530,807, filed concurrently herewith, entitled “TECHNIQUES FOR INTERACTIVE INPUT TO PORTABLE ELECTRONIC DEVICES,” (Atty Docket No. APL1P486/P4322US1); U.S. patent application Ser. No. 11/530,846, filed concurrently herewith, entitled “ALLOWING MEDIA AND GAMING ENVIRONMENTS TO EFFECTIVELY INTERACT AND/OR AFFECT EACH OTHER,”; and U.S. patent application Ser. No. 11/144,541, filed Jun. 3, 2005, entitled “TECHNIQUES FOR PRESENTING SOUND EFFECTS ON A PORTABLE MEDIA PLAYER,”.

Claims as granted

31 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

4 codes
IPC · International Patent Classification
Section A — Human necessities
  • A63F13/00
Section G — Physics
  • G06F17/00
USPC · US Patent Classification
700/94463/35

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJul 2006Jan 2007Jul 2007Jan 2008Jul 2008Jan 2009Jul 2009Jan 2010Jul 2010Jan 2011Jul 2011Jan 2012USPTOApplicantNon-final rejectionFinal rejection
USPTOApplicanthover for detail · click to open
Pendency
5.1 y
1,856 days filing → grant
Office actions
2
non-final + final
Responses
1
1 RCE
Interviews
3
examiner interview summaries
Examiner
Davetta Goins
art unit 2614 · TC 2600
Citations: 17 back · 2 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20062008201020122014201620182020202220242026Owner 2
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock