Event-based presentation and processing of content

Content is presented by media devices to a user. Described herein are techniques and systems for determining occurrence of one or more events at, or proximate to, the media device. Once an event is determined, one or more actions to modify presentation of the content may be initiated. The actions may include starting presentation of the content, stopping presentation of the content, applying noise mitigation techniques to the content, and so forth. The noise mitigation techniques may include modification of an intended signal from the content to produce a noise mitigation zone 118 proximate to, or encompassing, at least a portion of the user's head.

BACKGROUND

Content is presented to a user in a wide variety of situations on a variety of different types of media devices. The media devices may include tablets, smartphones, televisions, laptops, set-top boxes, portable media players, in-vehicle entertainment systems, desktop computers, and so forth.

During presentation, occurrence of various events may impact the user's experience in consuming the content. For example, the environment may be noisy, the user may have been distracted by another person, and so forth.

Certain implementations and embodiments will now be described more fully below with reference to the accompanying figures, in which various aspects are shown. However, various aspects may be implemented in many different forms and should not be construed as limited to the implementations set forth herein. Like numbers refer to like elements throughout.

DETAILED DESCRIPTION

Media devices such as tablets, smartphones, televisions, and so forth present a variety of content to users. This content may include audio, video, eBooks, applications, and so forth. A user experience while consuming the content may be adversely impacted by events occurring to the media device or in the environment around the media device. These events may include the user turning away from the media device to talk to another person, falling asleep while using the media device, presence of a noise source in the environment, and so forth.

Traditionally the user has manually responded to these events. For example, the user may turn up the volume to try and overcome the noise, or may manually stop presentation of a video before falling asleep. However, the manual actions may be cumbersome or unavailable.

Described in this disclosure are methods and devices for having the media device react automatically to events. The events may be described in terms of, and recognized by, particular inputs received from one or more input devices.

Occurrence of an event may be recognized by the media device. Events such as the user picking up the media device, turning away from the media device, talking with another person, presence of ambient noise, and so forth may be recognized by the media device. Occurrence of one or more events may be used to initiate actions which modify presentation of the content. For example, an event comprising the user turning their face away from the media device and speaking may result in an action of suspending content presentation. The user turning back to face the media device and ceasing to speak may be recognized as another event, and the corresponding action may be to rewind the content slightly and resume presentation. The event recognition and corresponding automatic action may improve the overall user experience by allowing the media device to interact more naturally with the user.

The events may be occurring in the environment around the media device. In one implementation, occurrence of an ambient noise event may result in activation of a noise mitigation module. The noise mitigation module is configure to modify an intended signal comprising audio output from the content to generate a noise mitigation zone which encompasses at least the ears of the user. The noise mitigation zone is based at least in part on the relative position between the user and the media device. An anti-noise signal based on input from a microphone and the position of the user's ears is generated. In one implementation the anti-noise signal is summed with the intended signal to produce an output signal for presentation. In another implementation the anti-noise signal is used to modify audio equalizer settings to process the intended signal, attenuating or amplifying particular frequencies.

With the noise mitigation active, the user perceives the audio of content and a perceived reduction in the noise. This may improve the user experience of consuming the content, with or without the use of headphones.

Illustrative System

FIG. 1is an illustrative system100for dynamic presentation and processing of content based on events. A user102is depicted using a media device104in both a front view and a side view. While a single user102is shown, more than one user102may be present.

The media device104is configured to present, store, manipulate, or otherwise participate in the consumption of content106. The media device104may include televisions, tablet computers, desktop computers, laptop computers, electronic book (“eBook”) readers, gaming consoles, set-top boxes, media players, in-vehicle entertainment systems, portable media players, smartphones, and so forth.

The content106may include audio, video, eBooks, applications, games, and so forth. The content106may be downloaded or streamed from a content provider to the media device104.

A content presentation module108is configured to present the content106using output devices on the media device104, or coupled to the media device104. This presentation may include producing audible output using one or more speakers110, one or more display devices, haptic output devices, and so forth. For example, in this illustration a pair of speakers110(1) and110(2) are depicted as mounted within, or affixed to, a chassis of the media device104. In other implementations additional speakers110may be externally located, such as in the case of a surround sound audio system. In one implementation, the speakers may be configured to direct the sound towards the user102. This directivity may be due to a physical structure or placement of the speakers110, due to application of beamforming techniques to output from multiple speakers110, or a combination thereof.

The media device104may include an event determination module112. The event determination module112is configured to receive input from one or more input devices and determine an occurrence of one or more events. This determination may include comparing the input with a previously stored event library. An event is an occurrence which is detectable by one or more input devices and which occurs at, or proximate to, the media device104. Events may include activities of the user102, such as looking at the media device104, setting down the media device104, talking to another person, falling asleep, and so forth. Events may also include other situations such as noise in the environment of the media device104which is above a threshold value. Events are discussed in more detail below with regard toFIG. 3.

The event determination module112may access the event library. The event library associates particular events with particular actions. The media device104may be configured such that upon occurrence of the determined event a particular action is initiated by the media device104. For example, the event of a user looking away from the media device104may be associated with the initiating a low power mode in the media device104.

As described above, one event which may be determined as occurring is the presence of noise in the environment. This may detract from the user experience of the user102by making it more difficult for the user102to hear audio associated with the content106. The event determination module112may be configured to determine such an ambient noise event and activate a noise mitigation module116. The noise mitigation module116is configured to use information about a position of the user102relative to the media device104to modify audio and form a noise mitigation zone118. The noise mitigation module116may use one or more microphones120to detect noise122. Based on the noise122and the relative position, an anti-noise signal is generated. The anti-noise signal is then used to generate an output signal which is emitted from the one or more speakers110. The output signal produces the noise mitigation zone118. These signals as discussed in more detail below with regard toFIG. 6.

In one implementation the position information used by the noise mitigation module116may include an ear-device distance124. The ear-device distance124may be determined using one or more input devices, such as a camera or infrared distance sensor. The media device104and the input devices are described below in more detail with regard toFIG. 2.

The ear-device distance124may be envisioned as extending from a point on a coronal plane126to a point on a device plane128. The coronal plane126is a reference plane which bisects a front half of the user from a back half, with the coronal plane126extending through the left and right ear canals of the user. The device plane128is a reference plane which may be described in some implementations by the two longest dimensions of the media device104.

The noise mitigation module116may use the ear-device distance124and other distances such as those described below with regard toFIG. 5to generate the anti-noise signal. The output signal, based at least in part on the anti-noise signal, produces the noise mitigation zone118proximate to, or encompassing, the ears of the user102. As a result, the user102experiences a perceived decrease in the noise122during presentation of the content106while the noise mitigation module116is active.

The modules may be executed on the media device104, or on one or more other devices. The other devices, such as a server, may be in communication with the media device104.

FIG. 2is a block diagram200of the media device104configured to dynamically present and process content106based at least in part on determined events. The media device104may include one or more processors202configured to execute one or more stored instructions. The processors202may comprise one or more cores. The media device104may include one or more input/output (“I/O”) interface(s)204to allow the processor202or other portions of the media device104to communicate with other devices. The I/O interfaces204may comprise inter-integrated circuit (“I2C”), serial peripheral interface bus (“SPI”), Universal Serial Bus (“USB”) as promulgated by the USB Implementers Forum, RS-232, one or more media device interfaces such as High Definition Multimedia Interface (“HDMI”) as promulgated by HDMI Licensing LLC, TOSLINK as promulgated by Toshiba Corp., analog video, analog audio, IEEE 1394 as promulgated by the Institute for Electrical and Electronics Engineers, and so forth.

The I/O interface(s)204may couple to one or more input devices206, output devices208, or both. The input devices206may include the one or more of the microphones120, buttons206(1), cameras206(2), light sensors206(3), ranging sensors206(4), motion sensors206(5), touch sensors206(6), temperature sensors206(7), or other devices206(S).

The buttons206(1) may include a single button, or a keyboard of physical buttons which are activated when the user102applies an incident force. In some implementations the buttons206(1) may be implemented as “soft” buttons, such as a particular area on a touch sensor206(6).

The cameras206(2) may include charge coupled devices (“CCDs”), complementary metal oxide (“CMOS”), or other devices to generate images in one or more of infrared, visible, or ultraviolet light. The light sensor206(3) may be configured to determine ambient lighting. For example, the light sensor206(3) may comprise a photocell, photodiode, photovoltaic junction, and so forth.

The cameras206(2) may be configured to determine gaze of the user. In one implementation an infrared illuminator and an infrared (“IR”) sensitive camera206(2) may be used to determine a direction that the user102is looking, relative to the media device104.

The ranging sensors206(4) are configured to provide distance information from the media device104to another object, such as the user102. The ranging sensors206(4) may include an optical time-of-flight device, stereoscopic ranging devices, ultrasonic time-of-flight device, proximity sensor either optical, capacitive, or acoustic, structured light system, and so forth. For example, the ranging sensors206(4) may be used to determine the ear-device distance124.

The motion sensors206(5) may be configured to determine one or more of linear motion, rotational motion, orientation, and so forth. The motion sensors206(5) may include microelectromechanical systems (“MEMS”) such as accelerometers, gyroscopes, and so forth. For example, the motion sensors206(5) may be able to detect the typical tremor motion of the user102holding the media device104, or the user102flipping the media device104over into a face-down orientation.

The touch sensors206(5) may include force sensitive resistors, capacitive sensors, optical sensors, acoustic sensors, and so forth. The touch sensors206(5) may be configured to determine a location of one or more touches.

The temperature sensor206(7) may be used to determine ambient temperature. The other sensors206(S) may include, but are not limited to, a clock, a timer, a human cardiac pulse detector, barometric sensor, galvanic skin resistance sensor, and so forth. In some embodiments, the input devices206, the output devices208, or both may be physically incorporated with the media device104or may be externally placed. As described above, the data from these input devices206may be used by the event determination module112to determine the occurrence of one or more events. Actions corresponding to these events may then be initiated.

In some implementations the input devices206may be part of an external device. For example, the media device104may comprise a set-top box with a remote control. The remote control may include one or more of the motion sensors206(5), touch sensors206(6), and so forth.

The media device104may also include one or more output devices208. These output devices may include one or more of the speakers110, display devices208(1), haptic devices208(2), or other output devices208(O). The one or more speakers110may include one or more speakers configured to generate sounds in particular ranges such as subwoofers, woofers, midrange, tweeters, super tweeters, and so forth. In some implements, output may be directed to particular speakers110.

The one or more display devices208(1) may include electrophoretic displays, liquid crystal displays, interferometric displays, cholesteric displays, light emitting diode displays, projection displays, and so forth.

The haptic devices208(2) are configured to generate haptic output which is perceived by the user102as sensation which is felt. For example, the haptic output may produce a sensation of a particular texture, physical displacement of a switch, vibration, texture, and so forth. The haptic devices208(2) may include, but are not limited to, piezoelectric devices, artificial muscle, and linear actuators.

The media device104may have one or more communication interfaces210. The communication interfaces210are configured to provide communications between the media device104and other devices, such as other media devices104, routers, access points, servers, and so forth. The communication interfaces210may be configured to couple to or form personal area networks (“PAN”), wired and wireless local area networks (“LANs”), wide area networks (“WANs”), and so forth. For example, Bluetooth, ZigBee, Ethernet, Wi-Fi, and so forth.

The media device104may also include one or more busses or other internal communications hardware or software that allow for the transfer of data between the various modules and components of the media device104.

As shown inFIG. 2, the media device104includes one or more memories212. The memory212comprises one or more computer-readable storage media (“CRSM”). The CRSM may be any one or more of an electronic storage medium, a magnetic storage medium, an optical storage medium, a quantum storage medium, a mechanical computer storage medium and so forth. The memory212provides storage of computer readable instructions, data structures, program modules and other data for the operation of the media device104.

The memory212may include at least one operating system (OS) module214. The OS module214is configured to manage hardware resource devices such as the I/O interfaces204, the I/O devices such as the input devices206and the output devices208, the communication interfaces210, and provide various services to applications or modules executing on the processors202. Also stored in the memory212may be one or more of the following modules. These modules may be executed as foreground applications, background tasks, daemons, and so forth.

A user interface module216is configured to provide a user interface to the user102using the output devices208and accept inputs received from the input devices206. The user interface may include one or more visual, audible, or haptic elements. For example, the user interface may be configured to provide a graphic user interface, an audible user interface, and so forth.

As described above inFIG. 1, the media device104may store in the memory212the content presentation module108. The content presentation module108is configured to present at least a portion of the content106. This presentation may use one or more of the output devices208, such as the one or more speakers110, the one or more displays208(1), the one or more haptic devices208(2), and so forth. The presentation of the content106may be modified based at least in part by the events determined by the event determination module112.

As also described above, the event determination module112is configured to receive input from the one or more input devices206and determine occurrence of one or more events. Based on these events, one or more actions may be initiated. The events corresponding actions are discussed in more detail below with regard toFIG. 3.

The noise mitigation module116is configured to generate the noise mitigation zone118by modifying the audio portion of the content106being presented to the user102. The noise mitigation module116is discussed in more detail below with regard toFIGS. 5-8.

Other modules may also be present. For example, a digital rights management module may provide support for presenting or processing content106which is protected using one or more digital rights management schemes.

The memory212may also include a datastore218to store information. The datastore218may use a flat file, database, linked list, tree, or other data structure to store the information. In some implementations the datastore218, or a portion of the datastore218, may be distributed across one or more other devices including servers, network attached storage devices and so forth.

Input data220comprising information acquired by the one or more input devices206may be stored in the datastore218. The input data220may include audio from the one or more microphones120, information indicative of particular button206(1) presses, images acquired by the one or more cameras206(2), and so forth. The input data220may be processed by the event determination module112and compared with an event library222to determine the occurrence of one or more events.

The event library222associates particular events with particular actions. For example, the event library222may associate the input data220indicating a decrease in ambient temperature and ambient light as indicating the occurrence of the event “sleep”. The event library222is discussed in more detail below with regard toFIG. 3.

The datastore218may store the content106. The content106may be stored either in its entirety or a portion. For example, the content106may be streamed from a server such that, at any given time, only a portion of the content106is stored within the memory212. The content106may include audio106(1), video106(2), eBooks106(3), applications106(4), or other106(T) information. For example, the content106may include particular haptic sensations.

FIG. 3is a schematic300of the event library222. The event library222comprises one or more events302. Occurrences of these events302are determined by analyzing the input data220from one or more input devices used304. The input data220may utilize sensor fusion, that is, the input from different sensors to determine the event302. For example, output from the light sensor206(3) may be coupled with images acquired by the camera206(2) to determine that room lights have been dimmed or extinguished and the user's102eyes are closed, indicating the event302of “user asleep” as occurred. The events302may include motion of the media device104, detection of the user102head facing towards or away from the media device104or a portion thereof, the user102gazing towards or away from the media device104or a portion thereof, ambient light below a threshold value, and so forth.

The events302may be associated with one or more actions306. These one or more actions306may be initiated or executed by the event determination module112or another module upon detection of the corresponding event302. For example, an ambient noise detected event302(1) may be determined based on input data220from the one or more microphones120. The media device104may, based on this event302(1), perform the action306(1) of activating the noise mitigation module116.

The event library222may include events302and actions306which are configured to control presentation of content106. The content106may be presented by the content presentation module108by playing or executing the content106. For example, audio content106(1) and video content106(2) may be played, particular pages of the eBook content106(3) may be presented or read aloud by a text-to-speech module, the application content106(4) may be executed by the one or more processors202, and so forth.

Presentation may be controlled by initiating or playing the content106to start presentation, pausing presentation, stopping or suspending presentation, and so forth. In some implementations, suspending presentation may include stopping or pausing presentation and placing the media device104into a low power mode. A point of presentation in the content106may be varied by moving forward or backward throughout the content106, such as with the use of a “fast forward”, “rewind”, or seek control.

The actions306may include use of these controls to change presentation. For example, a no face detected event302(5) may be based on image data acquired from the camera206(2). Upon determining the no face detected event302(5), the corresponding action306(5) of stopping presentation may be taken. For example, the event determination module112may send a notification to the content presentation module108to cease presentation of the content106. In another implementation, the no face detected event302(5) may have the corresponding action306(5) of generating a mark indicative of a position within the content106which corresponds to a time of occurrence of the event. For example, the user102walking away from the device may result in the generation and storage of a bookmark, storage of a frame reference, and so forth, which corresponds to the time during presentation of the content106when the user's102face disappeared from the view of the camera206(2). At a later time, the user102may then choose to resume presentation at the position within the content106which corresponded to the event of walking away, such as by selecting the particular bookmark.

Other events302may initiate actions306which resume presentation of the content106. For example, a tremor motion detected302(8) event may use the one or more motion sensors206(5) to receive input data220indicative of the normal tremors experienced by the user102when holding the media device104. These tremors may be due to involuntary muscle movements, cardiac activity, and so forth. Based on this input data220, the event determination module112determines the tremor motion detected302(8) and initiates a rewind and present content action306(8). Continuing the example, the event determination module112may send a notification to the content presentation module108to resume presentation of the content106at a slightly early point, such as ten seconds before a previous stop point of the content106.

The event library222may include events302and actions306which trigger or initiate other actions306. For example, a sleeping user302(13) event may result in an action306(13) of stopping presentation and having the media device104enter a low power mode. In other implementations the actions306may include providing a notification to other modules in the media device104or coupled to the media device104. For example, the event302of the media device104falling a particular distance may result in the action306of a notification being sent to a maintenance management server.

The event library222may be manually generated, such as by the user102or by another person. The user interface module216may provide a user interface allowing the user to define particular events302, the input devices used304or monitored, and designate the corresponding actions306.

The event library222may also be automatically generated. The event library222may be generated using machine learning techniques to analyze input data220and subsequent actions taken by the user102to build the associations in the event library222. For example, the event determination module112may determine that a correspondence exists between a time of occurrence of a decrease in ambient light level indicated by the light sensor206(3) and lack of input on the one or more touch sensors206(6) and subsequent user commands to rewind content to the time of occurrence. The first few times this happens, the content106may continue playing until it reaches an end. However, using the machine learning techniques, the event determination module112may learn that when the media device104has been set down and the room lights turned out, presentation of the content106is to be suspended until the user102returns.

In some implementations the event library222may be generated based on input from many media devices104. For example, the machine learning techniques may be used on input data220acquired from many media devices104to determine and build associations between common events302and actions306.

By determining the occurrence of events302, and taking corresponding actions306, the user experience may be improved. For example, during presentation of the content106the user102may set the media device104down and walk away. Detecting the event of the user102leaving, presentation of the content106is paused automatically. Upon the user102returning and picking up the media device104, the presentation may resume. Instead of requiring the user to interact with content controls such as buttons, the user's102own actions trigger the actions. As a result, the user102interaction with the device is made easier and more natural.

FIG. 4is a flow diagram400of a process of performing one or more actions altering presentation of the content106based on determination that one or more events302have occurred. This process may be implemented at least in part by the content presentation module108, the event determination module112, and so forth.

Block402accesses at least a portion of content106. For example, the content presentation module108may receive a stream of a portion of the content106from a server using the one or more communication interfaces210.

Block404receives input from the one or more input devices206. For example, the microphones120may receive the noise122. The amplitude or other characteristics of the noise122may be above a threshold value. In some implementations, the received input may omit input such as the user102activating one or more of the buttons206(1), the touch sensors206(6), or both.

Block406determines, based on the received input, occurrence of one or more events302. For example, based on the amplitude of the noise122being above the threshold value, the event determination module112may determine that an ambient noise detection event302(1) has occurred. As described above, several events302may occur simultaneously, or in close succession. For example, an ambient noise detection event302(1) and a vertical to horizontal transition302(2) may occur simultaneously. In another example, a distance event of the user102moving away302(3) may be detected. The user102moving away302(3) may be determined by the ranging sensors206(4) indicating that the distance between the user102and the media device104has exceeded a threshold value.

The event determination module112may determine occurrence of an event302by receiving data from a plurality of sensors and comparing the received data with previously stored data or profiles, such as described above with regard to the event library222. For example, based on this comparison, the determined events302may include determinations that the user102is asleep, the user102is awake, the user's102attention is away from the media device104, absence of the user102relative to the media device104, presence of more than one user102relative to the media device104, and so forth.

Block408, based on the one or more events302, performs one or more actions306. As described above, in some implementations these actions306may be associated with presentation of the content106, notification of other modules or devices, and so forth. For example, the actions306may include beginning presentation of the content106, suspending presentation of the content106, stopping presentation of the content106, rewinding the content106a predetermined amount and resuming presentation, decreasing or muting volume of the content106, initiating the active noise mitigation, and so forth. Continuing the example above, the user moving away302(3) event may initiate the action306(3) of suspending presentation of the content106.

In other implementations the actions306may be associated with operations other than presentation of the content106, such as changing the operating state of the media device104to enter a low power mode.

FIG. 5illustrates various distances500which may be used in calculating an anti-noise signal used by the noise mitigation module116to mitigate the user's102perception of the noise122.

The noise mitigation module116may use information about the position of the user102relative to the media device104, or the one or more speakers110coupled thereto, to configure an anti-noise signal which provides the noise mitigation zone118. In some implementations, the position of the user102, when proximate to the media device104, may be assumed to be in front of and facing the media device104. This assumption may be used to simplify generation of the noise mitigation zone118.

These distances may be used to determine time-of-flight between the one or more speakers110and the user's102ears to provide for timing or phase shifts in the anti-noise signal. These distances may include a speaker distance “SD” between two or more speakers110. In a media device104in which the speakers110are incorporated or coupled to a chassis, the speakers110may be within the device plane128, or may be within a plane which is coplanar to the device plane128. An ear distance “ED” between the outer ear canal openings of the user102as arranged within the coronal plane126is determined. The ED may be used to determine the width of the noise mitigation zone118.

Other positions may also be used to generate the noise mitigation zone118. These positions may include a right speaker110(2) to right ear distance DR1, a right speaker110(2) to left ear distance DR2, a left speaker110(1) to left ear distances DL1, a left speaker110(1) to right ear distance DL2. A distance and direction between the right ear and the noise122is designated ENR, while the distance and direction between the left ear and the noise122is designated ENL.

In some implementations the one or more speakers110may be external to the media device104. For example, the speakers110may be distributed around a space such as in an automobile or home theater. A calibration routine may be used to determine the relative position of the different speakers110. For example, reference signals may be sent to individual speakers110, emitted, and detected by a plurality of the microphones120to determine bearing and distance. In another implementation the cameras206(2) may be used to determine the position of the one or more speakers110.

In some implementations distances to centroids or designated points on the user102, the media device104, or both may be used. For example, instead of the distances DR1, DR2, DL1, and DL2extending from the speakers110to the respective out ears, a single centroid of the user's102head located at a midpoint between the ears may be used.

Other relative positions may also be determined and used in the generation of the noise mitigation zone118. For example, distance and direction between the microphones120and various points such as the noise122.

The relative positions including distance, direction, and so forth may be determined by the one or more input devices206. For example, a plurality of cameras206(2) may determine the distance and bearing of the user102relative to the device. Or the ranging sensors206(4) may be used to scan for and determine the presence and direction of objects. In some implementations, the bearing or direction of some distances may be assumed, and the distance only may be measured.

In some implementations the noise mitigation module116may be configured to generate a plurality of noise mitigation zones118each encompassing a different user102. In another implementation, a single larger noise mitigation zone118encompassing a plurality of users102may be generated.

FIG. 6illustrates signals600associated with the noise mitigation. A graph of an intended signal602from the content106is shown with time604indicated along the horizontal or X axis, while response606is indicated along the vertical or Y axis. The response606may be considered whether a compaction or rarefaction of the air would be generated by a speaker. The intended signal602comprises audio information provided by the content106.

A second graph illustrates a noise signal608, such as received by the microphones120from the noise source122. The noise signal608comprises noise which may be disruptive or distracting to the user102during presentation of the content106. For example, the noise signal608may be engine noise while the user102uses the media device104in an automobile. In some implementations the noise signal608may be received by a microphone120which is external to the media device104. Continuing the automotive example, a media device104without microphones120may connect wirelessly to a communication system within the automobile and use microphones in a hand-free speaker system to acquire the noise signal608. In yet another implementation, the noise signal608may be based on previously acquired knowledge of the environment. For example, information about interior noise characteristics of a particular make and model of automobile may be used in place of the noise signal608.

The noise mitigation module116, based at least in part on information about the position of the user102relative to the media device104, generates an anti-noise signal610. This anti-noise signal610may be configured to be about 180 degrees (pi radians) out of phase with the noise signal608. In some implementations the anti-noise signal610may be an inverted version of the noise signal608. The anti-noise signal610may be configured to introduce timing delays to particular portions of the intended signal602such that, upon arrival at the noise mitigation zone118, the resulting sound is close to an inverted-phase of the waves of the noise122.

The anti-noise signal610is configured to, when summed with the noise signal608in the noise mitigation zone118, result in destructive interference to the sound waves associated with the noise signal122. This destructive interference results in a reduction in the perceived amplitude of the noise122in the noise mitigation zone118.

By using the position information and simplifying assumptions of the user102in a two-dimensional space such as distance and bearing relative to the media device104, the processing used to generate the anti-noise signal610is simplified compared to that for the three-dimensional case. In some implementations, the situation may be further simplified by assuming the position of the user102is with a range of angles and distances relative to the speakers110. For example, the user102may be assumed to be somewhere within 30 degrees to the left or right of the surface of front surface of the media device104, and at a distance of between 1 foot and 4 feet. These assumptions may be used to constrain the processing further.

The anti-noise signal610is used to modify the intended signal602to produce an output signal612. In one implementation illustrated here, the output signal612may be produced by combining or summing the anti-noise signal610with an intended signal602from the content106.

In another implementation, the output signal612may be used to modify one or more equalizer settings while processing the intended signal602from the content106such that one or more particular frequency bands are attenuated or amplified. As used herein, the equalizer may include a graphic equalizer, parametric equalizer, and so forth. In one implementation, the equalizer settings may be implemented using one or more digital signal processors.

Once generated, the output signal612may be emitted by one or more of the speakers110. As described above, in some implementations the output signal612or portions thereof may be directed to available speakers110with particular capabilities, such as high frequency components to a tweeter. Once emitted, at least a portion of the emitted sound travels towards the user102. Based on the position of the user102relative to the speakers110, the output signal612produces a noise mitigation zone118, while the user102is still able to hear the audio portion of the content106. Using the techniques described, the noise mitigation zone118is generated using the same speakers110as those used to present the content106.

FIG. 7is a flow diagram700of a process of noise mitigation based on summing or otherwise combining the anti-noise signal610based on the user's102position relative to the media device104with the intended signal602to generate an output signal612. This process may be implemented at least in part by the content presentation module108, the event determination module112, the noise mitigation module116, and so forth.

Block702accesses at least a portion of content106. For example, the content presentation module108may open a content106file previously stored in the datastore218.

Block704determines a position of at least a portion of the user102relative to the one or more speakers110coupled to the media device104. This position may be expressed as distance, bearing, or distance and bearing from one or more of the speakers110. As described above, in one implementation the determination of the position may use the one or more cameras206(2) to acquire one or more images which are processed to determine distance, bearing, or both. This determination may be made by identifying a disparity in apparent position of one or more features in the one or more images. Correlation of this disparity may be used to determine distance, bearing, or both.

In other implementations, the position may be determined by tracking or locating 3D glasses, smartphones, tablets, watches, wristbands, necklaces, or other devices which may be worn or held by the user102. These devices may be active in that they emit a signal or passive in that they are interrogated by an external input.

The position may be specified relative to a particular datum or reference point in the media device104, such as a centroid of the device. The position may indicate the position of the user102in two or three dimensions. For example, two dimensional positioning may indicate a distance and angular bearing relative to the centroid. Three dimensional positioning may indicate the distance, angular bearing, and an azimuth/elevation relative to the centroid. In some implementations the position may be specified as a simplified two-dimensional situation, with the bearing fixed at a predetermined value and the distance being variable. This may simplify operation of the noise mitigation module116in generating the anti-noise signal610.

There may be some imprecision in the determination of the position of the user102. In this implementation, the determined position may be manually adjusted by the user102or may be configured to automatically “move”. Once the user102perceives the noise mitigation zone118as being properly placed, that position may be locked. In some implementations the locked position may be configured to track subsequent movements by the user102, compensating based on the manual input.

Block706detects the noise signal608. For example, the one or more microphones120may receive the sound of the engine noise while the media device104is in a running vehicle.

Block708generates the anti-noise610signal based on the determined position of the user102and the noise signal608. As described above, the anti-noise signal608is configured to generate the noise mitigation zone118proximate to, or encompassing at least a portion of, the head of the user102.

Block710generates the output signal612by summing or otherwise combining the anti-noise signal with the intended signal602from the content106. Block712emits the output signal612from the one or more speakers110. For example, the output signal612may be sent to the one or more speakers110for emission.

FIG. 8is a flow diagram800of a process of noise mitigation by generating an output signal612based at least in part on a distance between the user102and the media device104and the anti-noise signal610. In this process, the anti-noise signal610is used to modify of one or more audio equalizer settings.

Block802accesses at least a portion of content106. For example, the content presentation module108may receive a radio broadcast of the content106.

Block804determines a distance between at least a portion of the media device104and the user102based at least in part on data acquired by one or more input devices206. The one or more input devices206may include one or more distance determination devices such as the one or more cameras206(2), the ranging sensors206(4) such as the capacitive proximity sensors, time of flight optical or ultrasonic sensors, and so forth. For example, glasses which are worn by the user102to support presentation of 3D images may include a tag, emitter, and so forth which may be used to determine position, distance, or both between the user102and the speakers110.

Block806determines a noise event302comprising a noise signal608. The noise signal608may be detected by the one or more microphones120. For example, the microphones120may detect the engine noise from the vehicle in which the user102has the media device104.

Block808generates the anti-noise signal610based on the determined distance and the noise signal608. As described above, the anti-noise signal may be configured to produce destructive interference to at least a portion of the noise signal608at the noise mitigation zone118which is proximate to one or both ears of the user102. In another implementation, the anti-noise signal may be configured to incorporate the noise122into the presentation of the content106.

Block810, generates an output signal612based at least in part on the anti-noise signal608modifying one or more equalizer settings associated with presentation of the intended signal602of the content106. The equalizer settings modify the intended signal602by attenuating or amplifying a plurality of frequency bands. The intended signal602, now modified by the equalizer settings, is used to generate the output signal. In another implementation, the modification of the one or more equalizer settings may be made to a signal resulting from the sum or combination of the anti-noise signal608and the intended signal602, as discussed above with respect to block710ofFIG. 7.

Block812emits the output signal from the one or more speakers110. For example, the output signal612may be sent to the one or more speakers110for emission. As described above, within the noise mitigation zone118, the user102is able to hear the content106and perception of the noise122is reduced.

Those having ordinary skill in the art will readily recognize that certain steps or operations illustrated in in the figures above can be eliminated or taken in an alternate order. Moreover, the methods described above may be implemented as one or more software programs for a computer system and are encoded in a computer readable storage medium as instructions executable on one or more processors.

The computer readable storage medium can be any one of an electronic storage medium, a magnetic storage medium, an optical storage medium, a quantum storage medium and so forth. Separate instances of these programs can be executed on or distributed across separate computer systems. Thus, although certain steps have been described as being performed by certain devices, software programs, processes, or entities, this need not be the case and a variety of alternative implementations will be understood by those having ordinary skill in the art.

Additionally, those having ordinary skill in the art readily recognize that the techniques described above can be utilized in a variety of devices, environments and situations.

Although the present disclosure is written with respect to specific embodiments and implementations, various changes and modifications may be suggested to one skilled in the art and it is intended that the present disclosure encompass such changes and modifications that fall within the scope of the appended claims.